PCIe SSD Faceoff: Samsung XP941 (128GB & 256GB) and OCZ RevoDrive 350 (480GB) Testedby Kristian Vättö on September 5, 2014 3:00 PM EST
Performance consistency tells us a lot about the architecture of these SSDs and how they handle internal defragmentation. The reason we do not have consistent IO latency with SSDs is because inevitably all controllers have to do some amount of defragmentation or garbage collection in order to continue operating at high speeds. When and how an SSD decides to run its defrag or cleanup routines directly impacts the user experience as inconsistent performance results in application slowdowns.
To test IO consistency, we fill a secure erased SSD with sequential data to ensure that all user accessible LBAs have data associated with them. Next we kick off a 4KB random write workload across all LBAs at a queue depth of 32 using incompressible data. The test is run for just over half an hour and we record instantaneous IOPS every second.
We are also testing drives with added over-provisioning by limiting the LBA range. This gives us a look into the drive’s behavior with varying levels of empty space, which is frankly a more realistic approach for client workloads.
Each of the three graphs has its own purpose. The first one is of the whole duration of the test in log scale. The second and third one zoom into the beginning of steady-state operation (t=1400s) but on different scales: the second one uses log scale for easy comparison whereas the third one uses linear scale for better visualization of differences between drives. Click the dropdown selections below each graph to switch the source data.
For more detailed description of the test and why performance consistency matters, read our original Intel SSD DC S3700 article.
The 256GB XP941 shows similar behavior as the 512GB model but with slightly lower performance. While the 512GB XP941 manages about 5,000 IOPS in steady-state, the 256GB model drops to ~3,000 IOPS. It is worth noting that the 256GB 850 Pro does over twice that, and while some of that can be firmware/controller related, most of the difference is coming from V-NAND and its lower program and erase latencies. The low-ish performance can be fixed by adding over-provisioning, though, as with 25% over-provisioning the 256GB XP941 goes above 20,000 IOPS (although the 512GB model is still quite a bit faster).
The RevoDrive, on the other hand, is a rather unique case. Since it has multiple controllers in parallel, the performance exceeds 100,000 IOPS at first, which is why I had to increase the scale of its graphs. Even after the initial burst the RevoDrive continues at nearly 100,000 IOPS, although at about 1,200 seconds that comes to an end. Taking that long to reach steady-state is rather common for SandForce based drives, but when the controller hits the wall, it hits it hard.
After 1,200 seconds, the RevoDrive's IOs are scattered all over the place. There are still plenty happening at close to 100,000 IOPS and most stay above 10,000, but with such high variation I would not call the RevoDrive very consistent. It is better than a single drive for sure, but I think OCZ's RAID firmware is causing some inconsistency and with the potential of four controllers, I would like to see higher consistency in performance. The fact that increasing over-provisioning does not help with the consistency supports the theory that the RAID firmware is the cause.
I already tested TRIM with the 512GB XP941 and found it to be functional under Windows 8.1 (but not with Windows 7), so it is safe to assume that this applies to the rest of the XP941 lineup as well.
As for the RevoDrive, I turned to our regular TRIM test suite for SandForce drives. First I filled the drive with incompressible sequential data, which was followed by 30 minutes of incompressible 4KB random writes (QD32). To measure performance before and after TRIM, I ran a one-minute incompressible 128KB sequential write pass.
|Iometer Incompressible 128KB Sequential Write|
|OCZ RevoDrive 350 480GB||447.1MB/s||157.1MB/s||306.4MB/s|
Typical to SandForce SSDs, TRIM recovers some of the performance but does not return the drive back to its clean state. The good news here is that the drive does receive the TRIM command, which is something that not all PCIe and RAID solutions currently support.