How do PCIe to SATA expansion cards work, and does my PC support them?

There are four basic "levels" of adding more SATA ports:

  • A USB-SATA adapter is cheap and easy, and quite fast with modern UASP (USB-attached-SCSI) support. However, they may not be good long-term as many of them do not support TRIM and cheaper (3.0/3.1gen1, 5 Gbps) ones are still slightly slower than internal SATA 3.0 (6 Gbps). Additionally, you end up sharing USB bandwidth if you have multiple drives. The simpler ones only support 2.5" drives as they do not provide 12V power. These contain a built-in SATA controller; some docks support multiple ports/drives.

  • A SATA Port Multiplier is possibly the cheapest option, and effectively shares the bandwidth from a single upstream SATA port. These are not always supported and I would generally discourage using them unless absolutely necessary (i.e. the other options are unsuitable). Unless you can find documentation (often in the SATA controller's spec sheet) and preferably also empirical evidence of support, you're better off avoiding port multipliers. These use (extend) the onboard controller.

  • A SATA HBA, also known as a "SATA PCIe card", is a reasonable option for adding small numbers of additional ports. These add an extra SATA controller via PCIe, and do not interact with the onboard controller. Some also offer "RAID" but it's usually just a form of fakeRAID and you're better off using pure software RAID. Look up the SATA controller model for more details. These are typically available in PCIe x1 lane and up.

  • The hardcore option is a SAS HBA. These are generally designed for enterprisey uses and are typically more robust than SATA HBAs. You may need a specialised cable, but you should be able to connect SATA drives with no issues. These additionally support SAS port multipliers, which are more reliable and better supported than their SATA counterparts. Again, look at the controller model for details (and be aware that many server OEMs rebadge them). Many also come with RAID (often hardware RAID) support. These tend to be PCIe x4/x8 and up.

Generally, for internal expansion, you're looking at either of the last two, in the form of a PCIe card. Plain SATA is usually cheaper, but if you cannot find one matching your needs (many ports, 6 Gbps speeds, etc.) it may be worthwhile to look at a SAS one, many of which are available second-hand on your favorite auction sites as companies replace older equipment. Keep in mind the cabling differences and PCIe lane requirements.

I've recently been looking into getting a PCIe to SATA expansion card, otherwise known as a port multiplier, because I no longer have any free SATA ports on my system, but I'm confused about how exactly these cards work and how I can determine whether my PC will support them.

Your motherboard supports PCIe SATA expansion cards. Adding additional SATA ports, through an expansion card connected to a PCIe lane, only adds an additional SATA controller to the system. However, in order to boot from any disk connected to a PCIe SATA expansion card, it must specifically indicate that is supported.

I've recently been looking into getting a PCIe-SATA expansion card, otherwise known as a port multiplier because I no longer have any free SATA ports on my system, but I'm confused about how exactly these cards work and how I can determine whether my PC will support them.

PCIe-SATA is often referred to as SATA Express (SATAe), which of course, is an actual standard itself. Which should not be confused with eSATA, which is a different standard, to provide an interface for external SATA devices.

Elsewhere I've seen it implied that this means support comes down to the motherboard and whether the SATA controller on the motherboard supports such expansion cards.

Like other SATA features, like hot-swappable, support has to be supported by the SATA controller in addition to the device itself. PCIe SATA expansion cards have their own SATA controller and are not limited by the SATA controller on the motherboard itself.

However, port multipliers like the following work by connecting to the PCIe port directly - why then would the card be subject to the motherboard's own implementation of SATA? Am I fundamentally misunderstanding how this technology works?

Support would be subject to the expansion card's SATA controller, not the motherboard's SATA controller, any limitation of the motherboard's SATA controller would not be applicable to the expansion card.

If support for SATA port multipliers does boil down to the motherboard, how can I determine whether my motherboard supports them? My motherboard is an ASRock H61M-HVS and supports SATA 2.0 (3GB/s), but searching the manual for "multiplier" doesn't return any results.

The expansion card you linked to is NOT a SATA port multipler, it does not allow a single SATA port, to connect to multiple SATA devices. However, those devices do exist and would require SATA data (connected to the motherboard) and power cables (connected to the PSU) which allows you to connect 5 SATA devices to the card.

enter image description here

Since you say in your comment: "I'm looking for extra SATA ports because I've run out of them on my motherboard.":

One solution to this, would be to use a Sata Host Bus Adapter, which will expand your possible number of drives. There are many types of these, ranging from 2 ports upwards 16 on a single 8 lane card.

IT vs IR mode:

If selecting a HBA card, you need to be aware of the two different modes. You want to have your HBA card in Initiator Target Mode (IT), which basically says that the card will passthru any drives and present them to the operating system directly (no raid hardware used), this is beneficial because the firmware usually is faster, and you get more control over the individual drives in software (your operating system/disk software will handle the drives). Moreover, having a "dumb" controller like this, you ensure that the software you use will see everything the drives are doing.

IR mode basically means that the card has a firmware that employ RAID functionality on-card. This is risky since swapping out the raid card if it breaks, is far from a trivial task.

Assuming that you do not have a i5-3350P CPU (which doesn't have internal graphics), you can use the PCIE 16 lanes for your HBA card. But if you do have that, you need to use a discrete gfx card and you need to use the PCIE 1x port. You have less options here, but a good start is to read about the ST-labs A390 card

Further reading

Flashing HBA cards from IR to IT

Here are some names of manufacturers and their best offerings in my honest opinion LSI was bought by Avago, which was bought by Broadcom:

LSI MegaRaid

LSI 9201-16i (I have one of these, pricey but very good)

LSI 9220-8i (I have one of these, pricey but very good)

IBM M1015 (This card can be crossflashed to LSI 9211-8i-IT and is considered a good enthusiast card.)

JMicron JMB363

Silicon Image Sil3512