Performance Consistency

In our Intel SSD DC S3700 review Anand 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 40K 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.

 

Impact of Spare Area
  Kingston SSDNow V300 240GB Intel SSD DC S3700 200GB Intel SSD 335 240GB Corsair Neutron 240GB OCZ Vector 256GB Samsung SSD 840 Pro 256GB

Default

25% Spare Area - -

IO consistency has always been good in SandForce based SSDs. The V300 actually behaves a bit differently from Intel SSD 335 as it takes longer for it to enter steady-state (1400s vs 800s) but on the other hand, the IOPS also drops more in steady-state compared to Intel. For consumer workloads, I believe pushing the steady-state back might not be a bad idea because it's unlikely that the SSD will even reach steady-state, so you'll get better performance at the state where the SSD will be used in. 

Impact of Spare Area
  Kingston SSDNow V300 240GB Intel SSD DC S3700 200GB Intel SSD 335 240GB Corsair Neutron 240GB OCZ Vector 256GB Samsung SSD 840 Pro 256GB
Default
25% Spare Area - -

The difference between V300 and SSD 335 is quite dramatic here. The IOPS of V300 drops to near zero in the worst cases, whereas for the SSD 335 it stays at over 7K at all times. What's surprising is that giving the V300 more OP doesn't actually help at all. I'm not sure why that's happening but SandForce has always behaved weirdly when it comes to steady-state due to the compression. 

Impact of Spare Area
  Kingston SSDNow V300 240GB Intel SSD DC S3700 200GB Intel SSD 335 240GB Corsair Neutron 240GB OCZ Vector 256GB Samsung SSD 840 Pro 256GB
Default
25% Spare Area - -

 

Performance vs. Transfer Size AnandTech Storage Bench 2011
Comments Locked

43 Comments

View All Comments

  • eddieobscurant - Saturday, May 4, 2013 - link

    I think kingston is using very low quality nand for the v300 series. The 128gb model only has 64tb tbw before reaches endurance limits and the 256gb only 128tb according to their official pdf datasheet. http://www.kingston.com/datasheets/sv300s3_us.pdf That would mean around 500 p/e. Samsung tlc drives have at least 1000 p/e. Could you please ask kingston about this?
  • Kristian Vättö - Saturday, May 4, 2013 - link

    That's most likely with a random write centric workload. E.g. Crucial M500 is rated at 72TB and Samsung SSD 840 Pro at 73TB, but the workloads for the figure mainly consist of small random writes. Let me send Kingston an email and ask about the exact workload so we'll know better.
  • eddieobscurant - Saturday, May 4, 2013 - link

    thanks, could you also ask if the warranty is voided if someone exceeds this limit?
  • Diagrafeas - Monday, May 6, 2013 - link

    Could you ask the about the firware updates, because 506 isn't working as it should.
    Could give the option to flash 505 or a fixed 507...
  • Kristian Vättö - Monday, May 6, 2013 - link

    I'll ask about that too. Already sent an email about the endurance so I'll ask about the firmwares when Kingston replies.
  • eddieobscurant - Tuesday, May 14, 2013 - link

    Did you get any reply from kingston?
  • Kristian Vättö - Friday, May 17, 2013 - link

    I got a reply that they'll check and get back to me, but they haven't done that yet. You may want to drop me an email (kristian@anandtech.com) so I can reach to you directly when I receive an answer.
  • Davidjan - Saturday, May 4, 2013 - link

    Really cool! Storage will not be a problem on Android phones and tablets. Use this to add storage http://www.kickstarter.com/projects/andyfei/mini-m...
    Just check it out, last 15 hours to go to get it.
  • Davidjan - Saturday, May 4, 2013 - link

    http://www.kickstarter.com/projects/andyfei/mini-m...
  • spooky2th - Sunday, May 5, 2013 - link

    I've had a Kingston 240GB HyperX 3K since Aug. 2012. And it is fantastic as far as I'm concerned. Even with Vista Home Premium, 64Bit. No trim support in Vista so I have to manually optimize the SSD every week or 2. Optimizing the SSD only takes a minute. Other than that, I am a very happy camper.

Log in

Don't have an account? Sign up now