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

52,123

Solution 1

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.

Solution 2

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

Solution 3

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

Solution 4

PCIe SATA expansion card does not necessarily mean Port Multiplier. To put it differently, a PCIe SATA expansion card is a PCIe card, that adds another (typically AHCI) host controller that provides SATA connectors, just like the AHCI controller on the mainboard. In the olden days, these were added to systems with only IDE controllers, and nowadays for devices that have too few SATA ports.

Port Multipliers are a totally different thing, you can think of them like USB hubs. One connector goes in, and many connectors go out. They all have to share the upstream bandwidth, while PCIe SATA expansion cards have the full bandwidth on each port.

Port Multipliers are not necessarily in the PCIe expansion form factor, but there are different models that fit in a 3.5″ slot. The ones that fit in a PCIe slot usually do only mechanically, as they will have not electrical contacts to the slot.

Solution 5

SHORT & SIMPLE

Forget "port multipliers" Your ASRock H61M-HVS mainboard has ONE pci-Express socket of type "1x"; it is white plastic.

SEARCH ENGINE WORDS: pci Express SATA Controller card

A typical 1x slot can provide a pair of SATA drive interfaces.

Plug such a card in & secure its backplate with a bolt. Put new/next hard disk in a bay & secure. Connect data cable; card to drive. Connect power to drive. Turn on system. If that drive does not already contain your extensive hoards of animated GIFs, then just partition & format, and it soon will.

DETAIL

A modern motherboard should have at least one little PCI Express "x1" slot. POWER DOWN. PROTECT AGAINST STATIC. Open your system box, and see if your x1 slot is available (not already occupied).

The common, cheap PCI-E-to-SATA controller card is also known as "pci-E SATA HBA") and will be priced from $20 &up; e.g: StarTech has one around us$35; they tend to re-label common generic designs; maybe worth extra buck or two among low-end cards.

These cards likely do NOT come with SATA data cables. Get some.

Your box's power supply should provide SATA-power feeds. If you need to use a Y-adaptor cable to split-out power for these extra SATA drives, try to budget for splitting from SATA-power. Otherwise, a Y-cable splitting out from ancient 4-pin-Molex -to- SATA drive power is adequate and cheapest.

Some (other) mbrds offer an x4 slot; a tad longer than x1. An x4 slot can handle 8 additional drives, using a HBA-type pci-E card.

A hard drive's deepest power draw is at spin-up; modern drives hardly take much juice at all any more; don't worry about your power supply if adding only two or four more drives.

Performance: Good to very good (faster than Hashim's ASRock!)

Reliability: Good; don't touch tiny gold contact (slot) "fingers" with your fingers. Clean contact fingers only gently with solvent & lint-free cloth.

COMPATIBILITY:

Win(ver.X): card package will supply media or a weblink for driver

Linux/BSD: Generally good support. Try to find out whose SATA controller ASIC ("chip") is being integrated in candidate card, and which model chip, then (example) search: Linux support LSI

Most of these chips bring their own silicon-level RAID options. Under Linux/BSD, software RAID should work fine thru these.

HASHIM PLEASE NOTE: For win(ver.X) that ASRock mbrd's BIOS/SATA has a 3gig ceiling; see product website for "unlocker".

A modern pci-E x1 Sata Controller in your ASRock will suffer no such ceiling, and will not be limited like mbrd's integrated SATA.

Share:
52,123
Hashim Aziz
Author by

Hashim Aziz

Updated on September 18, 2022

Comments

  • Hashim Aziz
    Hashim Aziz over 1 year

    I've recently been looking into getting a PCIe to SATA expansion card, which I think is otherwise known as a port multiplier (which was the first result in Google when I searched for such an adapter). I need one 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.

    According to the above-linked Wikipedia page:

    Many common controllers do not support this feature, as it is not a requirement for a SATA controller.

    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.

    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?

    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.

    • Admin
      Admin over 5 years
      "Port multiplier" allows connecting many SATA devices to one SATA controller and has nothing to do with PCIe. The card on the wikipedia picture only looks like PCIe. It could be a box, but it'd be hard to install inside a computer.
  • tvdo
    tvdo over 5 years
    I don't know why it was downvoted, but +1 for mentioning the term. You could have more detail though.
  • Baptiste Candellier
    Baptiste Candellier over 5 years
    What's the technical difference between a SATA HBA and an SAS HBA? From your description it sounds like it's the same thing, just more expensive and robust.
  • James T
    James T over 5 years
    @BaptisteCandellier one speaks SATA and one speaks SAS, the latter of which is compatible with things that speak SATA. SATA is generally used in the consumer market and SAS is generally used in the enterprise/server markets, so SATA HBAs tend to be cheaper made and cheaper to buy, but less reliable, and SAS HBAs tend to be significantly better made and significantly more reliable, but also significantly more expensive.
  • tvdo
    tvdo over 5 years
    To add to what @JamesTrotter said, it's pretty easy to buy a SAS HBA second hand (eBay, etc.) pretty cheap as businesses replace older servers. And there aren't many known brands of SATA HBAs; there's not much of a market for them with good modern onboard controllers, so it's just a couple of off-brand cheapies.
  • J...
    J... over 5 years
    I don't think I'd advocate anyone spending $$$ for an SAS card to put into a six year old consumer desktop fixer-upper (with the cheapest budget chipset of its generation) without a very good reason. "I'd just like a bit more storage" is not such a reason.
  • FreeMan
    FreeMan over 5 years
    @J... if you buy a new SAS HBA, you're spending $$$$+. If you hit up eBay, you can buy a used one and spend $ or $$. The SAS->SATA breakout cables are far more $ than a standard SATA cable, but still very cheap in comparison to what you save buying used. I picked up a used one with support for 8 drives for my home server about a year ago and have been nothing but pleased. Of course, YMMV, buying used has its risks, caveat emptor, etc.
  • J...
    J... over 5 years
    @FreeMan But it's going into a seven year old mainboard that was $60 when it was new. This is as budget as budget gets for a PC. Personally, I wouldn't bother with anything more than finding the cheapest possible SATA card to go in there. The added value of chasing down an SAS card, specifically, is just not there. At all. It's an H61 chipset board - it doesn't even support Intel RST.
  • tvdo
    tvdo over 5 years
    @J... While the discussion is useful, I'll keep the answer as it is to describe the expansion options in general. Whether one option is better than another depends entirely on the budget and needs of the person reading and the current market. That said, the last time I looked, if you need more than 4 ports (especially 6 Gbps ports, more common/useful now with SSDs) second-hand SAS cards are actually cheaper than the SATA ones. I won't say they should upgrade the rest of the computer: a budget Sandy Bridge box works fine as a NAS and they may prefer to spend on storage rather than a new mobo.
  • FreeMan
    FreeMan over 5 years
    @J... valid points, but it's the OPs money to spend. My server was originally running off a 5-6 yo machine with all the SATA PCIe cards I could cram into it until I finally ran out of PCIe slots & HD bays. It all depends on the end use - my point is simply to not throw out the idea because a new card is very expensive, used ones are reasonable. Also, the card will move to a new machine and could be the first step in an upgrade process.
  • J...
    J... over 5 years
    @FreeMan I agree that generally it's a great option in a lot of cases. I'd just be wary about sending OP in the wrong direction in this specific case. Buying used pulls isn't without its risks or hassles and OP here doesn't even have a free full-size PCIe slot (assuming they have a gfx card in the main slot) so it further complicates the eBay adventure hunting down an SAS card that fits in an x1 slot (x4 cards are much more common).
  • Austin Hemmelgarn
    Austin Hemmelgarn over 5 years
    @JamesTrotter Strictly speaking one speaks ATA and one speaks SCSI. SATA and SAS are the physical layer, the primary difference is the command set they're encapsulating.
  • davidbak
    davidbak over 5 years
    One question I have about the SAS HBAs - when I've looked at them it looks like one SAS connector when used with an SAS->SATA cable supports multiple SATA drives - is it the case that that again is sharing bandwidth (like the SATA port multiplier case) or is it that each SATA drive on a single SAS connector with such a cable gets its full bandwidth?
  • K7AAY
    K7AAY over 5 years
    OP asked "If support for SATA port multipliers does boil down to the motherboard, how can I determine whether my motherboard supports them?" and your answer does not tell him how to make that determination. Also, specific hardware recommendations are out of bounds here.
  • tvdo
    tvdo over 5 years
    @davidbak It depends on how many lanes the SAS side of the connector is using. Each lane is capable of the full speed (depends on which SAS version). A SFF-8484 connector should give you 4 lanes, each at (SAS-1) 3 Gbps or (SAS-2) 6 Gbps (or higher with SAS-3+). But if you use SAS expanders then you would only get the full link speed up to the nearest expander, and the expander downstream lanes would share upstream lanes - conceptually similar to a SATA port multiplier, with better execution (smarter protocols).
  • forest
    forest over 5 years
    Another thing to remember: When using a USB adapter, at least for anything earlier than xHCI, will allow any other devices on the USB bus to sniff traffic being written to the external drive, since the USB 2.0 protocol is half-duplex broadcast. This doesn't apply to 3.0 since that is a dual-simplex unicast protocol. There's a relevant post at security.stackexchange.com/q/37927/165253.
  • Hashim Aziz
    Hashim Aziz over 5 years
    This is a brilliant answer that gives me exactly the kind of high-level overview that I often need to make sense of things. The only criticism I have is that I'm still a little unclear on which of these 4 the product I linked to in my question actually is - it seems to me like it could be either 1 or 2, and I'm not entirely sure clear I'd be able to tell the difference between the two out in the wild if the products were badly labelled like many cheaply-made electronics are. An example of a real product for at least the first three items would fill in that gap and make this a perfect answer.
  • Hashim Aziz
    Hashim Aziz over 5 years
    As for the SAS option, I really don't see myself needing it. I don't have a graphics card in this system so have an entire x16 PCIe 2.0 port available (3.0 actually, but apparently limited to 2.0 due to Sandy Bridge), but my priority is keeping my budget as low as possible as I'm on a low income. I'm only looking to hook up one more SATA drive with the expansion card, and never any more than two.
  • tvdo
    tvdo over 5 years
    @Hashim To be honest, I'd never seen port multipliers in card form until your question (and Ramhound's answer) so I don't feel like I can accurately state differences. However, I'd guess that port multipliers never have actual contacts for the PCIe slot (now that I've said that, there's going to be a card that uses the slot for power to prove me wrong). A giveaway is that a port multiplier must connect to an existing SATA port, so anything with only 2 connectors cannot be one. With 3+, you're just going to have to read the description. It's better to buy a card that identifies the controller.
  • Hashim Aziz
    Hashim Aziz over 5 years
    Sorry, I meant to say 1 or 3 rather than 1 or 2. I think it seems likely that it’s not a port multiplier at this stage, but the differences between 1 and 3 seem less clear.
  • tvdo
    tvdo over 5 years
    @Hashim Oh. 1 connects via a USB port and generally isn't in card form. It's the only option that has a USB plug (or port w/ cable) somewhere. 2 is rare, see previous comment. 3 is fairly common and comes as a PCIe card (with contacts!) and SATA ports. 4 will almost always say SAS somewhere.
  • Hashim Aziz
    Hashim Aziz over 5 years
    @Bob Ah so the products I’ve been looking at - and the ones I need - are HBAs. Thanks again!