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 across all LBAs 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 50K IOPS for better visualization of differences between drives.

The high level testing methodology remains unchanged from our S3700 review. Unlike in previous reviews however, I did vary the percentage of the drive that I filled/tested depending on the amount of spare area I was trying to simulate. The buttons are labeled with the advertised user capacity had the SSD vendor decided to use that specific amount of spare area. If you want to replicate this on your own all you need to do is create a partition smaller than the total capacity of the drive and leave the remaining space unused to simulate a larger amount of spare area. The partitioning step isn't absolutely necessary in every case but it's an easy way to make sure you never exceed your allocated spare area. It's a good idea to do this from the start (e.g. secure erase, partition, then install Windows), but if you are working backwards you can always create the spare area partition, format it to TRIM it, then delete the partition. Finally, this method of creating spare area works on the drives we've tested here but not all controllers may behave the same way.

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

  Intel SSD DC S3500 480GB Intel SSD DC S3700 200GB Seagate 600 Pro 400GB
Default

While it's not quite as pretty of a curve as what we saw with the S3700, the two drives are clearly related. Intel's SSD DC S3500 delivers incredibly predictable performance. The biggest take away is that Intel is able to still deliver good performance consistency even with much less NAND spare area than on the S3700. Architecture enables what we see here, not just spare area.

  Intel SSD DC S3500 480GB Intel SSD DC S3700 200GB Seagate 600 Pro 400GB
Default

Remember this predictable little pattern? The periodic dips in performance are Intel's defrag/GC routines operating at regular (and frequent) intervals. You'll also notice the slight upward trend here; the S3500 is looking to improve its performance over time, even under heavy load, without sacrificing consistency.

  Intel SSD DC S3500 480GB Intel SSD DC S3700 200GB Seagate 600 Pro 400GB
Default

This zoomed in view really gives us great perspective as to what's going on. I included comparable data from other drives in the S3700 review, but the size/scales of those charts made inclusion here not possible in short form.

The Drives & Architecture Random & Sequential IO Performance
Comments Locked

54 Comments

View All Comments

  • oyabun - Wednesday, June 12, 2013 - link

    I made the same observation, the Samsung has at a minimum the performance of the Intel drive and then skyrockets.
  • cheeselover - Wednesday, June 12, 2013 - link

    umm... isn't it the other way around? 600pro already has overprovisioning at 28% and s3500 has it at 9%.
  • btb - Wednesday, June 12, 2013 - link

    No Windows 8 Secure boot support?
  • btb - Wednesday, June 12, 2013 - link

    oops typo, meant Microsoft eDrive support
  • lyeoh - Wednesday, June 12, 2013 - link

    Anand, do you have IOPs/latency over time graphs for random reads as well? Or are random reads quite stable and we can derive them from the 4KB random read IO meter scores? I notice the sandforce drives seem to find random reads harder, so I'm wondering if there are any latency spikes for various drives.
  • lucasbakker - Wednesday, June 12, 2013 - link

    What about Capacitors on this controller? Why is it that nowadays in reviews I don't see any mention anymore about supercapacitors and data loss when losing power.
  • ShieTar - Wednesday, June 12, 2013 - link

    Well, those are enterprise drives, Intel probably assumes that their customers will implement their own emergency power plans in their data centers, so the drives itself don't have to.
    And on consumer drives, the potential data loss of a power outage are rather acceptable for most people. I've personally experienced one real power outage and one blown fuse over the next 25 years, so that's not really a relevant scenario for my PC buying decisions.
  • lucasbakker - Wednesday, June 12, 2013 - link

    It used to be a big issue in reviews. For databases a capacitor can be pretty important, even when taking emergency power setups in mind. Furthermore, I guess that with laptops sudden power drops are a little bit more common.
  • thomas-hrb - Wednesday, June 12, 2013 - link

    Somehow I don't see this making it into too many laptops, and enterprise SAN's etc have power failure protection. I think that it is just a feature that was in the S3700 that they did not disable in this unit, it all helps with the prosumer targeting.
  • zanon - Wednesday, June 12, 2013 - link

    Um, Anand? Why no mention of your own research showing how key over provisioning was and the immense difference it could make in performance consistency? The S3500 is significantly more expensive then other prosumer drives like the 840 Pro, Corsair Neutron, etc., and by "significant" I mean the magical "25%". That means that someone could instead choose to get another drive (or multiple other drives) and then assign 25% spare area for each, at which point from your own tests it looks like the S3500 gets SLAUGHTERED.

    Please do not throw softballs to Intel, they are big boys and can and should be expected to produce competitive, top tier stuff with no asterisks. If for some reason the far higher IOPS with better consistency produced by drives like the Corsair aren't worth the same as the Intel drive, please explain why. If there are other special features being factored in, please mention them. But even for a brief, high level overview this didn't feel like it set the proper context. You spent a great deal of time testing and discussing this stuff in the past, so to suddenly have it vanish from the conversation feels pretty weird.

Log in

Don't have an account? Sign up now