Results: Random Performance
We turn to Iometer as our synthetic metric of choice for testing 4 KB random performance. Technically, "random" translates to a consecutive access that occurs more than one sector away. On a mechanical hard disk, this can lead to significant latencies that hammer performance. Spinning media simply handles sequential accesses much better than random ones, since the heads don't have to be physically repositioned. With SSDs, the random/sequential access distinction is much less relevant. Data are put wherever the controller wants it, so the idea that the operating system sees one piece of information next to another is mostly just an illusion.
4 KB Random Reads
Testing the performance of SSDs often emphasizes 4 KB random reads, and for good reason. Most system accesses are both small and random. Moreover, read performance is arguably more important than writes when you're talking about typical client workloads.
It's pretty rare to see more than 100,000 IOPS in a 4 KB random read test. And the M5 Pro running Plextor's Xtreme-branded firmware falls just short. The 256 GB M6e sneaks past that barrier at a queue depth of 32, though.
Separately, it's notable that Crucial's SATA 6Gb/s M550 at 1 TB also posts 100,000 IOPS. A conversion to MB/s would show this test to be device-limited, and not held back by its interface, which is why both Plextor drives come so close to each other.
4 KB Random Writes
Random write performance is also important. Early SSDs didn't do well in this discipline, seizing up even in light workloads. Newer SSDs wield more than 100x the performance of drives from 2007, though we also recognize that there's a point of diminishing returns in desktop environments.
We're still dealing with small, random transfers, so this metric cannot illustrate the benefit of PCI Express' faster pipe. But there's a performance difference to explain, and I'd suggest the difference comes down to drivers. Why software? Well, the M5 Pro is SATA-attached, meaning Intel's Rapid Storage Technology driver controls it. The M6e isn't a SATA device, though it still employs AHCI and leans on Microsoft's built-in AHCI drivers. In Windows 7, that's MSACHI.sys. We've seen those two drivers throw off our storage scores in the System Builder Marathon many, many times.
Here's a break-down of the maximum observed 4 KB sequential read and write performance with Iometer. The order the drives appear in our chart is determined by maximum combined read and write performance.
Plextor's M6e earns top honors. No other drive can match its combined maximum read and write transactional 4 KB performance. The margin of victory isn't large, though. PCI Express nets this SSD a big win in large-block sequential transfers. Lots of overhead limits the benefit of more headroom in random reads and writes, though.
The M.2-based M6e and A110 are both held back in our random performance benchmark, and we believe the culprit is AHCI. When the SSD-only NVMe standard takes off, then watch out. We're going to see big reductions in latency and improved random transfers.
Why does SanDisk's A110 fall so far relative to the competition? It might have shown better, except that its emulated SLC-like caching algorithm is swamped by random writes. We test with 16 GB LBA spaces (meaning random data gets sprinkled over 16 GB worth of addresses), hampering the caching mechanism. Tuned more for real-world storage workloads, the A110 exhibits lower results in synthetic random write metrics to larger address spaces. Had I tested just 8 GB, we'd see significantly better numbers.