0

I'm looking for a PCIe-based SATA card, to add more internal SATA-III ports. While a great many of them exist, most are based on an old Marvell series of controllers or the equivalent ASMedia (ASM1061?) controller, which only support PCIe 2.0. Due to a lack of motherboard PCIe slots, and a desire to maximise speed with minimal lanes taken, I would like a card that at least supports PCIe 3.0 transfer speeds.

I do not need a specific card suggestion (while one would be nice), if I can get a controller model I can chase down further. New and second-hand are both fine.


Hard requirements:

  • Must be PCIe v3.0 or higher, i.e. at least 8 GT/s per lane.
  • Must support SATA-III (6 Gbit/s) (probably a given if it meets the PCIe requirement).
  • Ports should be standard internal SATA (or SAS with the appropriate cable) ports. M.2 and eSATA are unnecessary.
  • TRIM support for SSDs (this can probably be assumed in any modern controller).

Soft requirements, descending order of importance:

  • As few PCIe lanes as possible. x4 is acceptable. x2 is better. x1 is great.
  • As many ports as possible. 2 is enough, but more is better.

Optional, nice-to-have:

  • SAS support.

Unimportant:

  • M.2, eSATA.
  • RAID. I'm not going to do hardware raid.
  • Caching. See: no RAID.

Budget: soft cap of $200, though I'm open to higher if necessary

  • FYI...TRIM support is not dependent on the controller - it's dependent on the drive as it's a subset of the ATA command set. Meaning your OS and your drive need to support it. – Digital Boffin Apr 12 '19 at 12:32
  • @DigitalBoffin That's what I'd thought, but I've run into enough USB <=> UASP <=> SATA controllers, many of which do not support TRIM, that I felt the need to be explicit. Also, IIRC there are some RAID controllers that don't support TRIM (though maybe they do in JBOD mode). – Bob Apr 12 '19 at 13:43
  • That’s the USB controller only supporting a subset of the ATA commands. – Digital Boffin Apr 12 '19 at 13:47
1

Unfortunately, there seems to be a lack of higher-bandwidth SATA controllers. The closest I can find are PCIe 2.0 x2, which is available on some StarTech cards. They are based on the Marvell 88SE9220/88SE9230/88SE9235 controllers.


Given the lack of SATA options, the next best avenue is a SAS HBA, which supports SATA drives when the appropriate cable is used. Here, there are a great many options. This reddit comment (archived) is a useful introduction to SAS.


Unfortunately, while some low-lane SAS HBAs exist (seems to be mostly under the RocketRAID brand, with questionable reviews), the majority are at least x8. Luckily, these cards are electrically compatible with fewer lanes, and the physical fit can be solved in one of several ways:

  • Some motherboards have physical x16 slots with x4 (or fewer) electrical connections. The card should just work in one of these. Other boards have open-ended slots for this purpose.
  • It's possible to modify either the slot or board to fit longer cards/in shorter slots. This usually involves a file or power tools.
  • PCIe riser cards can be used to relocate the slot to a different position in the case while also adapting a slot to a physically longer one.

LSI (now Avago, now Broadcom) seems to be the easiest option, especially if second-hand is acceptable, as these are often decommissioned from servers. There is a list of various models, along with a spreadsheet and glossary.

For the specific purpose of a card that supports PCIe 3.0, the following options are suitable (non-RAID options picked for simplicity and price):

  • SAS2308 controller, 6Gbps SAS/SATA, PCIe 3.0 supporting x8, x4 or x1
    • LSI (Avago) SAS 9207-8i card
    • IBM N2115 card
    • HP H220 card
  • SAS3008 controller, 12Gbps SAS/6Gbps SATA, PCIe 3.0 supporting x8, x4, x2 or x1
    • LSI (Avago) SAS 9300-8i card
    • IBM N2215 card
    • IBM M1215 (RAID) card
    • Dell PERC H330 card

These cards can then be coupled with a SFF-8643 (not the older SFF-8087) to SATA cable, and can connect up to 8 drives without expanders.

Note that the SAS2308 controller apparently does not support x2 and will probably drop to x1 mode when given a x2 slot.

The non-LSI-branded cards (especially the IBM ones) can sometimes be flashed with LSI non-RAID ("IT mode") firmware for simplicity; there are many guides available for doing so.

| improve this answer | |
  • 1
    My personal pick was a M1215 (SAS3008) flashed to LSI IT-mode firmware. It works well for my purposes. At time of writing, the card was about 100 AUD (second-hand) and the cables cost 10 AUD each (4 SATA connectors/drives per cable). – Bob Apr 18 '19 at 17:18

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.