Onboard SATA vs. PCI-e SATA

LM3

[H]ard|Gawd
Joined
Mar 21, 2004
Messages
1,928
What are the advantages and disadvantages in using a PCI-e SATA card versus having it on the motherboard? I don't plan on doing RAID.
 
Top of my head, the only reasons to get a PCIe SATA card are:
- You need a real hardware RAID device (which you stated you don't).
- The mainboard doesn't have enough SATA ports to support the number of needed storage devices.
- The mainboard only has SATA2 and you want to install a SSD. A SATA3 card will allow the drive to transfer data to/from a SSD much faster.

If you plan to get a card to support a SSD make sure it's bootable.
 
If you are looking for the faster performance that SATA3 provides be very careful regarding which PCI-e card you buy. The inexpensive cards are SATA3 but have only one PCI-e lane, resulting in no improvement in performance compared to on board SATA2 interfaces. Be certain to buy a x 2 or x 4 card (that is, one that uses either 2 or 4 PCI-e lanes).
 
If it's for hard drives you can get one of the cheap cards, try to get one that you can find info/drivers on, though. I have an Asrock SATA3 that works fine, and several Marvell eSATA2 that are good too.
 
Last edited:
If it's for hard drives you can get one of the cheap cards, try to get one that you can find info/drivers on, though. If have an Asrock SATA3 that works fine, and several Marvell eSATA2 that are good too.

Can you recommend for (or against) specific models here?
 
If you are looking for the faster performance that SATA3 provides be very careful regarding which PCI-e card you buy. The inexpensive cards are SATA3 but have only one PCI-e lane, resulting in no improvement in performance compared to on board SATA2 interfaces. Be certain to buy a x 2 or x 4 card (that is, one that uses either 2 or 4 PCI-e lanes).

If the card is PCIe 3.0 then it will have 985MB/s per lane which is faster than SATA3.

Even PCIe 2.0 is 500MB/s per lane which is in between SATA2 and SATA3.
 
Top of my head, the only reasons to get a PCIe SATA card are:
- You need a real hardware RAID device (which you stated you don't).
- The mainboard doesn't have enough SATA ports to support the number of needed storage devices.
- The mainboard only has SATA2 and you want to install a SSD. A SATA3 card will allow the drive to transfer data to/from a SSD much faster.

If you plan to get a card to support a SSD make sure it's bootable.

3rd point is irrelevant for general OS usage, but you don't really want to put an OS on a PCI-E SATA card anyways.
 
Can you recommend for (or against) specific models here?

A good and cheap option is the IBM M1015 for ~60$ on ebay. It's made by LSI model 9240-8i (250$) and there is lots of info here on that card or at servethehome.

You need a pcie 8x slot available.

If you can put down a little more money (130$), IBM M5015 for the onboard cache and option for a battery pack.
 
If the card is PCIe 3.0 then it will have 985MB/s per lane which is faster than SATA3.

Even PCIe 2.0 is 500MB/s per lane which is in between SATA2 and SATA3.

PCI-e 2.0 is 250MB in each direction. A more detailed description is found here: http://www.tested.com/tech/457440-theoretical-vs-actual-bandwidth-pci-express-and-thunderbolt/

I have tested at least 5 PCI-e 2.0 SATA expansion cards with various SSDs and have not found any single lane cards that are capable of writing more than ~250MB/sec. Two lane cards generally get to 500MB/sec write speeds.
 
I currently have a Silicon Image SiI 3132 SoftRaid 5 Controller on a MSI H77MA-G43 motherboard. I have 1 SATA3 and 3 SATA2 hard drives plus 2 optical SATA drives attached to the motherboard. I have one SATA2 drive attached to the card.
 
PCI-e 2.0 is 250MB in each direction. A more detailed description is found here: http://www.tested.com/tech/457440-theoretical-vs-actual-bandwidth-pci-express-and-thunderbolt/

I have tested at least 5 PCI-e 2.0 SATA expansion cards with various SSDs and have not found any single lane cards that are capable of writing more than ~250MB/sec. Two lane cards generally get to 500MB/sec write speeds.


From your link:

After overhead, the maximum per-lane data rate of PCIe 1.0 is eighty percent of 2.5GT/s. That gives us two gigabits per second, or 250MB/s (remember, eight bits to a byte). The PCIe interface is bidirectional, so that's 250MB/s in each direction, per lane. PCIe 2.0 doubles the per-lane throughput to 5GT/s, which gives us 500MB/s of actual data transfer per lane.

PCIe 1.0 which nothing I've seen in years uses is 250MB/s each direction. PCIe 2.0 is 500MB/s. PCIe 3.0 is 985MB/s. PCIe 4.0 then is 1969MB/s per lane in each direction.

My original point still stands.

I get over 400MB/s on my SSD on this one: http://www.amazon.com/Express-Adapter-Converter-ASMEDIA-ASM1061/dp/B008BZAVVE

The PCIe bandwidth is there, it just depends on how well the card is built and if it can actually utilize it all properly. I don't know how well I would trust Sil or Marvell to get there which is why I went with the ASM1061.
 
Last edited:
As an Amazon Associate, HardForum may earn from qualifying purchases.
3rd point is irrelevant for general OS usage, but you don't really want to put an OS on a PCI-E SATA card anyways.

Assuming a boot-capable card there's no problem with booting from a drive hanging off of one.

Typically, yeah, for a given SATA standard it's preferred to use the mainboard's SATA ports because they're often faster. However, if you have a SSD for the OS and your choice is SATA2 on the mainboard or SATA3 on a PCIe HBA, you're better off connecting it to the latter.
 
I'm not sure where some of the information is coming from but in my experience the access time between an HBA and the intel SATA ports is pretty much nil (my own tests showed a 10% difference in favor of the HBA - running a basic marvel controller on a single PCIe 2.0 lane but the access times are so low I doubt it would be noticeable by mere mortals)

Before SATA it was well known and accepted by enthusiasts that an HBA was faster than an integrated controller. In large part due to the dedicated controller (and in some cases additional cache).

I suspect that the Intel SATA ports offload some duties to the CPU, it is also built in to the chipset which conducts many other functions but an HBA only has essentially one function.

Before anyone continues spouting BS about "don't run your OS off one" or "the intel controller has lower access times" how about you back it up with real evidence, until then I reserve judgement.
 
I just found this (very brief) article which kind of proves my point.

Marvell SATA-6G SSD Performance vs Intel ICH10

Intel's ICH10 and driver create a ram disk type buffer to boost disk performance, this can only be implemented in software which means some CPU overhead. The Marvel controller fares rather poorly in comparison because it does not implement anything like that.

Any decent HBA will have much higher IOPS even without cache, the LSI 9211 I have can achieve much higher IOPS than the ICH10, I've seen 100k IOPS and 1500MB/s with a 6 disk SSD array, the specs list 275k IOPS!
 
Any decent HBA will have much higher IOPS even without cache, the LSI 9211 I have can achieve much higher IOPS than the ICH10, I've seen 100k IOPS and 1500MB/s with a 6 disk SSD array, the specs list 275k IOPS!

Is this result with an LSI 9211 or the ICH10?
 
get a dell perc5i card and grab a northbridge with fan and epoxy it on there. works awesome. the perc5i cards are like $30 on the ebay.
Limited to 2TB drives though. Same with the PERC6 series. Need to get an H700 or newer to get 3 and 4TB support.
 
Limited to 2TB drives though. Same with the PERC6 series. Need to get an H700 or newer to get 3 and 4TB support.

They also suck for RAID 5 recovery, lose a disk and you can count on losing the array in short order. I lost many TB of data before I decided to upgrade, have had zero trouble with my current setup.
 
The PCIe bandwidth is there, it just depends on how well the card is built and if it can actually utilize it all properly. I don't know how well I would trust Sil or Marvell to get there which is why I went with the ASM1061.

Second the ASM1061 recommendation if you want a cheap two port controller for 2 spinning disks or a single SSD. They also do command based switching for port multiplication.

LSI HBAs make sense if you need that many ports.
 
Back
Top