Performance Consistency

In our Intel SSD DC S3700 review I introduced a new method of characterizing performance: looking at the latency of individual operations over time. The S3700 promised a level of performance consistency that was unmatched in the industry, and as a result needed some additional testing to show that. The reason we don't 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 and cleanup routines directly impacts the user experience. Frequent (borderline aggressive) cleanup generally results in more stable performance, while delaying that can result in higher peak performance at the expense of much lower worst case performance. The graphs below tell us a lot about the architecture of these SSDs and how they handle internal defragmentation.

To generate the data below I took a freshly secure erased SSD and filled it with sequential data. This ensures that all user accessible LBAs have data associated with them. Next I kicked off a 4KB random write workload at a queue depth of 32 using incompressible data. I ran the test for just over half an hour, no where near what we run our steady state tests for but enough to give me a good look at drive behavior once all spare area filled up.

I recorded instantaneous IOPS every second for the duration of the test. I then plotted IOPS vs. time and generated the scatter plots below. Each set of graphs features the same scale. The first two sets use a log scale for easy comparison, while the last set of graphs uses a linear scale that tops out at 40K IOPS for better visualization of differences between drives.

The first set of graphs shows the performance data over the entire 2000 second test period. In these charts you'll notice an early period of very high performance followed by a sharp dropoff. What you're seeing in that case is the drive alllocating new blocks from its spare area, then eventually using up all free blocks and having to perform a read-modify-write for all subsequent writes (write amplification goes up, performance goes down).

The second set of graphs zooms in to the beginning of steady state operation for the drive (t=1400s). The third set also looks at the beginning of steady state operation but on a linear performance scale. Click the buttons below each graph to switch source data.


              

Here we see a lot of the code re-use between the Vector and Vertex 4 firmware. Vector performs like a faster Vertex 4, with all of its datapoints shifted up in the graph. The distribution of performance is a bit tighter than on the Vertex 4 and performance is definitely more consistent than the 840 Pro. The S3700 is obviously in a league of its own here, but I do hope that over time we'll see similarly consistent drives from other vendors.

The next set of charts look at the steady state (for most drives) portion of the curve. Here we'll get some better visibility into how everyone will perform over the long run.


              

The source data is the same, we're just focusing on a different part of the graph. Here the Vector actually looks pretty good compared to all non-S3700 drives. In this case the Vector's performance distribution looks a lot like SandForce. There's a clear advantage again over the 840 Pro and Vertex 4.

The final set of graphs abandons the log scale entirely and just looks at a linear scale that tops out at 40K IOPS. We're also only looking at steady state (or close to it) performance here:


              

If we look at the tail end of the graph with a linear scale, we get a taste of the of just how varied IO latency can be with most of these drives. Vector looks much more spread out than the Vertex 4, but that's largely a function of the fact that its performance is just so much higher without an equivalent increase in aggressive defrag/GC routines. The 840 Pro generally manages lower performance in this worst case scenario. The SandForce based Intel SSD 330 shows a wide range of IO latencies but overall performance is much better. Had SandForce not been plagued by so many poorly handled reliability issues it might have been a better received option today.

From an IO consistency perspective, the Vector looks a lot like a better Vertex 4 or 840 Pro. Architecturally I wouldn't be too surprised if OCZ's method of NAND mapping and flash management wasn't very similar to Samsung's, which isn't a bad thing at all. I would like to see more emphasis placed on S3700-style IO consistency though. I do firmly believe that the first company to deliver IO consistency for the client space will reap serious rewards.

Performance vs. Transfer Size AnandTech Storage Bench 2011
Comments Locked

151 Comments

View All Comments

  • Death666Angel - Friday, November 30, 2012 - link

    In one of the podcasts (E10?) Anand talks about how SF controllers have less issues with these IO latency worst case scenarios. So it's not necessarily an Intel feature, but a SF feature and the graph might look the same with a Vertex 3 etc.
    Also, it may behave differently if it were filled with different sequential data at the start of the test and if the test were to run longer. I wouldn't draw such a positive conclusion from the test Anand has done there. :)
  • jonjonjonj - Thursday, November 29, 2012 - link

    did they have to name their 2 drives Vector and Vertex? they couldnt have picked 2 names that looked more alike if they tried. i have to image this was done on purpose for some reason that i can think of. now that ocz has its own controller are they retiring the vertex or will they just use barefoot controllers in vertex ssd's going forward?
  • deltatux - Sunday, December 2, 2012 - link

    While it is great that the OCZ Vector is able to compete with the Samsung SSDs in terms of performance, but OCZ's past reliability records have been iffy at most, they fail prematurely and RMA rates have been quite high. I've known countless people suffering issues with OCZ drives.

    I'll wait for a bit before recommending OCZ drives to anyone again due to reliability issues if the OCZ Vector can meet the reliability of Corsair, Intel or Samsung drives. Until then, I'll keep recommending Samsung drives as they exceed in performance and reliability than most manufacturers.
  • rob.laur - Sunday, December 2, 2012 - link

    If you check the review of the Vector on the hardwarecanucks website, page 11 you will see the Vector AND Vertex crush every other drive listed when filled with over 50% capacity. This is probably the most important bench to judge SSD performance by.

    "While the Vector 256GB may not have topped our charts when empty, it actually blasted ahead of every other drive available when there was actual data housed on it. To us, that’s even more important than initial performance since no one keeps their brand new drive completely empty. "
  • jwilliams4200 - Sunday, December 2, 2012 - link

    If you are talking about this:

    http://www.hardwarecanucks.com/forum/hardware-canu...

    you will note that the Samsung 840 Pro is conspicuously absent from the list, so we do not know how the Vector fares against its most difficult competitor.
  • rob.laur - Sunday, December 2, 2012 - link

    you are right and I wish they did include the 840 Pro but they didn't. Point is compared to all those other SSDs/Controllers, the BF3 clearly outperforms everything in the real world with actual data on the drive. The 840 Pro uses faster nand than the Vector yet both drives are pretty much equal. The toshiba toggle version of Vector cant come soon enough!
  • jwilliams4200 - Monday, December 3, 2012 - link

    The Samsung 840 Pro is significantly faster (about 33%) than the Vector for 4KiB QD1 random reads. This is an important metric, since small random reads are the slowest operation on a drive, and if you are going to take just one figure of merit for an SSD, that is a good one.
  • rob.laur - Monday, December 3, 2012 - link

    well according to most sites, the Vector beats it on writes and in mixed read/write environments especially with heavy use. Not to mention the 840 takes a long time to gets its performance back after getting hammered hard whereas the Vector recovers very quickly.
  • jwilliams4200 - Monday, December 3, 2012 - link

    First of all, the type of heavy writes I believe you are referring to are a very uncommon workload for most home users, even enthusiasts. Reads are much more common.

    Second, I have seen only one credible study of Vector use with heavy writes, and the Samsung 840 Pro does a better than the Vector with steady-state, heavy writes:

    http://www.anandtech.com/show/6363/ocz-vector-revi...

    I have seen nothing to suggest the Vector recovers more quickly. If anything, there is circumstantial evidence that the Vector has delayed recovery after heavy writes (assuming the Vector is similar to the Vertex 4) due to the Vector's quirky "storage mode" type behavior:

    http://www.tomshardware.com/reviews/vertex-4-firmw...
  • jwilliams4200 - Monday, December 3, 2012 - link

    My first link was meant to go to storagereview:

    http://www.storagereview.com/ocz_vector_ssd_review

Log in

Don't have an account? Sign up now