The SSD Diaries: Crucial's RealSSD C300by Anand Lal Shimpi on July 13, 2010 12:39 AM EST
Random Read/Write Speed
The four corners of SSD performance are as follows: random read, random write, sequential read and sequential write speed. Random accesses are generally small in size, while sequential accesses tend to be larger and thus we have the four Iometer tests we use in all of our reviews.
Our first test reads/writes 4KB in a completely random pattern over an 8GB space of the drive to simulate the sort of random access that you'd see on an OS drive (even this is more stressful than a normal desktop user would see). I perform three concurrent IOs and run the test for 3 minutes. The results reported are in average MB/s over the entire time.
The C300 offers by far the best random read performance of any SSD we’ve tested. This applies to both the 256GB and 128GB versions of the C300, and while operating on a 3Gbps SATA controller. There’s a roughly 38% performance advantage over the SandForce based OCZ Vertex 2 and Intel X25-M G2. There's hardly any benefit to moving to a 6Gbps controller here as the transfer rates don't even saturate 1.5Gbps SATA.
Random write speed is similarly high, but not quite as dominant. Intel’s X25-M G2 simply shows its age here. You must keep in mind that the G2 was a mild update to the original X25-M, an architecture that was designed back in 2006 - 2007 and first sold in 2008. The X25-M G2 is simply an old architecture by today’s standards. While it makes a great value SSD, there should be no surprise that a C300 is over twice as fast in our 4KB random write test.
It’s the SandForce comparison that’s less cut and dry. By default Iometer uses data that is highly repetitive in nature. While our random test writes data to random addresses, the contents of the data itself isn’t random. The Vertex 2’s SF-1200 controller recognizes the obvious pattern in the data and just doesn’t write most of it to the drive. This is the best case scenario for the SandForce controller architecture. Now it’s absolutely a realistic workload, but not always likely.
Using a custom build of Iometer we are able to write completely random data to the drive. This data can’t be compressed and effectively defeats SandForce’s write amplification reduction algorithm. I’d argue that this scenario is even less likely than one where the data is nearly infinitely compressible, at least for a desktop user. SandForce claims that an install of Windows 7 + Office 2007 requires less than half the writes on one of its drives compared to a traditional SSD.
The point here is that while I can present performance in both cases, the real world write performance of the Vertex 2 and other SandForce drives will be somewhere in between the two numbers you see represented in the chart above. And compared to the 128GB C300, I’d say it’s likely that the Vertex 2 has the advantage in 4K random write performance. The 256GB drive improves performance enough where I’d be comfortable saying it’s probably a tossup between the two.
The 6Gbps performance is an odd story to tell here. The 128GB drive actually performs the same regardless of whether or not it's on our 6Gbps controller, however the 256GB drive takes a performance hit going to the 6Gbps controller (HighPoint Rocket 620, using the Marvell 88SE9128 controller similar to many motherboards). This is purely a fault of the controller and unfortunately one of the tradeoffs you'll have to make with the move to 6Gbps. It's very difficult to beat Intel's own SATA controller.
Many of you have asked for random write performance at higher queue depths. What I have below is our 4KB random write test performed at a queue depth of 32 instead of 3. While the vast majority of desktop usage models experience queue depths of 0 - 5, higher depths are possible in heavy I/O workloads:
While the 128GB C300 is slower than the 100GB Vertex 2, the 256GB version hangs with the SandForce posterchild. If you need the capacity, the 256GB C300 is easily a good performer even at high queue depths.