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 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.

Desktop Iometer - 4KB Random Read (4K Aligned)

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.

Desktop Iometer - 4KB Random Write (4K Aligned) - 8GB LBA Space

Desktop Iometer - 4KB Random Write (8GB LBA Space QD=32)

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.

Desktop Iometer - 128KB Sequential Read (4K Aligned)

Sequential read performance is slower compared to Vertex 4 so we are definitely being limited by NAND here.

Desktop Iometer - 128KB Sequential Write (4K Aligned)

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.

The Agility 4 and Test Setup AS-SSD Incompressible Sequential Performance
Comments Locked

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.

Log in

Don't have an account? Sign up now