OCZ Agility 4 (256GB) Review
by Kristian Vättö on September 1, 2012 1:00 PM ESTRandom 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 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).
We perform three concurrent IOs and run the test for 3 minutes. The results reported are in average MB/s over the entire time. We use both standard pseudo randomly generated data for each write as well as fully random data to show you both the maximum and minimum performance offered by SandForce based drives in these tests. The average performance of SF drives will likely be somewhere in between the two values for each drive you see in the graphs. For an understanding of why this matters, read our original SandForce article.
The performance difference between synchronous and asynchronous NAND is pretty clear here. At queue depth of 1, 4KB random reads are heavily dependent on the speed of NAND. Queue depth of 1 means that only one I/O request is sent at a time, which means the controller can only read from one NAND at a time (write combining helps work around this issue). Increasing queue depth allows the controller to read from multiple NAND dies at the same time, which leads to better performance especially when dealing with slower NAND (you can always hide latency with parallelism). Our 4KB random read test happens at queue depth of 3, which gives the Agility 4 some breathing room but it's still enough to show the difference between asynchronous and synchronous NAND.
Note that with bigger transfers, this is not as big issue because they are usually broken into smaller pieces and striped across multiple NAND dies, again allowing the controller to utilize multiple NAND dies simultaneously. Obviously, you need a fast controller and firmware to really notice the impact of slower NAND, which is exactly what the Everest 2 is.
Random write performance isn't impacted as much by the slower NAND, not even at queue depth of 1. When reading data from an SSD, the data has to be fetched from the actual NAND, which can create a bottleneck with slower NAND. Write IOs, on the other hand, can be cached to much faster DRAM before written to NAND. Today's SSDs have fairly big caches so the NAND will have plenty of time to catch up. Of course, ultimately you will hit a wall and the NAND becomes a bottleneck. After our 20 minute torture session (4KB random writes at queue depth of 32 and 100% LBA space ran on a full drive), the Agility 4 was writing at 19.1MB/s, while 256GB Vertex 4 was chugging along at 28.4MB/s.
Sequential Read/Write Speed
To measure sequential performance we ran a one minute long 128KB sequential test over the entire span of the drive at a queue depth of 1. The results reported are in average MB/s over the entire test length.
Sequential read performance is slower compared to Vertex 4 so we are definitely being limited by NAND here.
Sequential write speed is in fact on-par with Vertex 4. The bottleneck is obviously something else than NAND because quite a few drives are hitting the same speeds. We're likely running into the limits of how much parallelism you can extract from a low queue depth 128KB sequential transfer.
41 Comments
View All Comments
SerafinaWeathers - Monday, February 8, 2016 - link
Good analysis , Coincidentally , if people is looking for a service to merge PDF or PNG files , I encountered a service here Alto-Merge.