TL;DR: Be careful which PCI Express slot you use for your SATA-3 controller card. Performance difference could be 2x.
I built my current home PC in 2010. 4 years later I upgraded it with Samsung 840 EVO 256GB SSD. My ASUS P6TD Deluxe motherboard only supports SATA-2, which peaks out around 250MB/S, way below 500MB/S that SSD can handle. To address this bottleneck, I bought a cheap PCI Express controller card with Marvell 88SE9123 chip. I installed this card in the bottom PCI Express slot, connected SSD and forgot about it. Recently, however, I learned about a free software for benchmarking storage devices: Crystal Disk Mark. And boy oh boy, did my SSD performance suck:
I tought may be Windows 10 x64 default driver isn’t all that great, so I wanted to try vendor drivers. Marvell cares so little about this chip, it doesn’t even provide drivers on it’s own support site. I got Marvell 1.2.0.1047-WHQL OEM driver from the awesome french site Station-Drivers. It made performance slightly worse:
I reverted driver back to Microsoft.
At this point it hit me: what if the slot I’m using is not the highest performing one? Moving controller card one slot up, to PCI Express slot that would normally be used with a second CrossFire/SLI videocard, improved performance dramatically:
I may try another SATA-3 controller card with a different chipset, like Asmedia ASM1061.
Nope, it looks like ASM1061 tops out at 380MB/S in sequential reads.
With controller in a new PCIE slot, I decided to try latest Marvell OEM drivers 1.2.0.1048_WIN10_WHQL from Station-Drivers:
Sequential reads/writes are a bit slower when with default Microsoft Windows 10 x64 drivers, but random 4k reads/writes are faster.