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

  Crucial M500 960GB Samsung SSD 840 EVO 1TB Samsung SSD 840 EVO 250GB SanDisk Extreme II 480GB Samsung SSD 840 Pro 256GB
Default

Thanks to the EVO's higher default over provisioning, you actually get better consistency out of the EVO than the 840 Pro out of the box. Granted you can get similar behavior out of the Pro if you simply don't use all of the drive. The big comparison is against Crucial's M500, where the EVO does a bit better. SanDisk's Extreme II however remains the better performer from an IO consistency perspective.

  Crucial M500 960GB Samsung SSD 840 EVO 1TB Samsung SSD 840 EVO 250GB SanDisk Extreme II 480GB Samsung SSD 840 Pro 256GB
Default

 

  Crucial M500 960GB Samsung SSD 840 EVO 1TB Samsung SSD 840 EVO 250GB SanDisk Extreme II 480GB Samsung SSD 840 Pro 256GB
Default

Zooming in we see very controlled and frequent GC patterns on the 1TB drive, something we don't see in the 840 Pro. The 250GB drive looks a bit more like a clustered random distribution of IOs, but minimum performance is still much better than on the standard OP 840 Pro.

TRIM Validation

Our performance consistency test actually replaces our traditional TRIM test in terms of looking at worst case scenario performance, but I wanted to confirm that TRIM was functioning properly on the EVO so I dusted off our old test for another go. The test procedure remains unchanged: fill the drive with sequential data, run a 4KB random write test (QD32, 100% LBA range) for a period of time (30 minutes in this case) and use HDTach to visualize the impact on write performance:

Minimum performance drops down to around 30MB/s, eugh. Although the EVO can be reasonably consistent, you'll still want to leave some free space on the drive to ensure that performance always stays high (I recommend 15 - 25% if possible).

A single TRIM pass (quick format under Windows 7) fully restores performance as expected:

The short period of time at 400MB/s is just TurboWrite doing its thing.

RAPID: PCIe-like Performance from a SATA SSD AnandTech Storage Bench 2013
Comments Locked

137 Comments

View All Comments

  • B0GiE-uk- - Thursday, July 25, 2013 - link

    Seeing as this drive is similar to the 840 basic, it will be interesting to see the performance of the 840 Pro with the rapid software enabled. Has the potential to be faster than the EVO. I have heard that the rapid software will be backwards compatible.
  • sheh - Thursday, July 25, 2013 - link

    Caching speed is based on RAM, flushing speed on drive. I don't think there will be any surprises.
  • Heavensrevenge - Thursday, July 25, 2013 - link

    Finally were seeing transition to RAM caches, it's nice a RAM disk is being utilized and I hope the trend continues so that HDD/SDD can actually be taken out of the storage hierarchy for the OS & operating memory and have EVERYTHING reside in a non-volatile RAM space together for CRAZY increases in perf since HDD's in a way are a side-effect of old memory's being so small there had to be a drive backing the RAM. But of course we need traditional storage for actual storage purposes afterwards. But I'll hope for a migration of RAM towards a similarly fast combination of RAM+Drive being the main root drive built right onto the motherboards in a stick-like way within 10 years to cause a nice little computing revolution via re-architecting the classical storage hierarchy that's now, I believe, is quite possible and reasonable.
  • DanNeely - Thursday, July 25, 2013 - link

    Modern OSes have been doing ram cache for years. Samsung is able to "cheat" with rapid because they've got a much better view of what the drive is doing internally to optimize for it (even if the data isn't normally exposed via standard APIs). Eventually OS authors will catch up and have SSD optimized caches instead of HDD optimized ones and it will again be a moot point.
  • Jaybus - Thursday, July 25, 2013 - link

    Yes. It is doing the same thing as the O/S cache, but using a different algorithm to decide which blocks to cache, one that is tailored to SSD. So the O/S is very likely to adapt something similar in future.

    What is more interesting is TurboWrite. If you consider the on board DRAM a L1 cache, then TW implements a more-or-less L2 cache in NAND by using some of the NAND array in SLC mode instead of TLC mode. In addition to greater endurance, SLC mode allows much faster P/E cycles than TLC (or MLC). And unlike the DRAM cache, the SLC-mode NAND cache is not susceptible to power failure data loss. It still is not nearly as fast as DRAM, so the L1 DRAM cache is still needed. Encryption would kill performance without DRAM. But because data can be moved from DRAM cache to SLC cache more quickly, it frees up DRAM at a faster rate and increases throughput. So unless writing an awfully lot of data continuously, you essentially get SLC performance from a TLC drive. That is the EVO (lutionary) thing about this drive, much more so than RAPID software.
  • Heavensrevenge - Thursday, July 25, 2013 - link

    Heh yes of course, I mean removing the "hard drive/solid state drive" out of the storage hierarchy completely and putting all OS and cache data into non-volatile silicon where the ram sits today, making all operations go as fast as ramdisk speed, not just have it there as a way to hide latency. like boot from the modules plugged directly into the motherboard and everything :) THATS what I'd love to see, 1-2GB/s 4K read & write speeds all-around not just for special use cases, All because the fab process is becoming small enough o fit the amount of data there we can actually re id f that part of the storage hierarchy if you know what I mean.
  • Spunjji - Friday, July 26, 2013 - link

    I think there's always going to be a space for slower, more density-efficient storage in any sensible storage hierarchy. I think what you're looking forwards to is MRAM / PRAM, though. :)
  • Heavensrevenge - Saturday, July 27, 2013 - link

    MRAM or any NVRAM is basically the concept I was wanting :) Thank you for the reference!!
    The day/year/decade that type of memory become our RAM & OS/Boot drive replacement in the storage hierarchy will be the one of the best times in modern computing history.
    Honestly all HDD/SDD manufactures should stop wasting their R&D on this type of crap even though SSD's are a wonderful "now" solution to the problem and I'll still recommend them for the time being.
    The sooner that type of memory is our primary 1st level storage directly addressable from the CPU the better our modern world of computing will become and begin evolving again.
  • MrSpadge - Saturday, July 27, 2013 - link

    I don't think Samsung is doing anything better here, or working some SSD-magic. They're just being much more agressive with caching than Win dares to be.
  • Touche - Thursday, July 25, 2013 - link

    I don't think your tests are representative of most people's usage, especially for these drives. TurboWrite should prove to be a much better asset for most, so the drive's performance is actually quite better than this review indicates.

Log in

Don't have an account? Sign up now