128 KB Sequential Performance

SSD manufacturers often want to stress random performance because it's a clear case where they decimate hard drive manufacturers. Sequential performance is a little different, but still represents an important aspect of performance to examine. Think about how you read and write data.

But how pervasive is sequential performance for the average user? Take a look at the graph below; it shows the distribution of all the seek distances from one of our traces.

The first thing you'll notice is that there's a preponderance of activity zero sectors away, which means that my trace is made mostly of back-to-back requests, or sequential I/O. If the trace was 100% random, none of the accesses should be zero sectors away. But that's the opposite of what we're seeing here. Why is this?

Much of what you read and write to your storage on a day-to-day basis is random in nature. But over the course of days and weeks, the read-modify-erase-write cycle has a significant effect on the sequential and random I/O balance. Remember that SSDs have this dynamic where writing occurs at the page level, but erasing has to occur at the block level (blocks are made up of multiple pages). This is where garbage collection comes into play.

When you write random data, the block containing that data is going to accumulate invalid pages as you delete information, and if you have a block with a lot of pages that need to be moved, the SSD controller rewrites them sequentially. So, when you read back that information, you do so sequentially, even though it was originally written randomly. Eventually, over time, you see random reads turn into sequential reads. Note that this isn't a wholesale transition. How much of a migration depends on firmware and the SSD controller's architecture.

When you're dealing with sequential transfers, 128 KB is ultimately the most important transfer size. It is to sequential measurements what 4 KB blocks are to random performance.

In sequential transfers, the RevoDrive 3 X2 reigns king. It simply smokes the competition. We talking about more than 500 MB/s in both read and writes. Its closest competitors are at least 175 MB/s behind. That's an amazing 35% difference.

Before you're completely shocked by the low scores, remember that we're testing steady state performance. This changes the behaviour of the SSD. Remember also that OCZ's drives centre on SandForce controllers, which are architected to achieve their best possible performance when they're operating on compressible data. In the real world, that's actually a pretty realistic expectation. Completely random/incompressible data is fairly rare. It includes stuff like encrypted, precompressed files or encoded video data.