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 we take a freshly secure erased SSD and fill it with sequential data. This ensures that all user accessible LBAs have data associated with them. Next we kick off a 4KB random write workload across all LBAs at a queue depth of 32 using incompressible data. We run the test for just over half an hour, nowhere near what we run our steady state tests for but enough to give a good look at drive behavior once all spare area fills up.

We record instantaneous IOPS every second for the duration of the test and then plot IOPS vs. time and generate 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, we vary the percentage of the drive that gets filled/tested depending on the amount of spare area we're 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 are guaranteed to 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 530 240GB Intel SSD 335 240GB Corsair Neutron 240GB Samsung SSD 840 EVO 250GB Samsung SSD 840 Pro 256GB
Default
25% OP -

Even though the SF-2281 is over two and a half years old, its performance consistency is still impressive. Compared to the SSD 335, there's been quite significant improvement as it takes nearly double the time for SSD 530 to enter steady-state. Increasing the over-provisioning doesn't seem to have a major impact on performance, which is odd. On one hand it's a good thing as you can fill the SSD 530 without worrying that its performance will degrade but on the other hand, the steady-state performance could be better. For example the Corsair Neutron beats the SSD 530 by a fairly big margin with 25% over-provisioning.

  Intel SSD 530 240GB Intel SSD 335 240GB Corsair Neutron 240GB Samsung SSD 840 EVO 250GB Samsung SSD 840 Pro 256GB
Default
25% OP -

 

  Intel SSD 530 240GB Intel SSD 335 240GB Corsair Neutron 240GB Samsung SSD 840 EVO 250GB Samsung SSD 840 Pro 256GB
Default
25% OP -

TRIM Validation

To test TRIM, I filled the drive with incompressible sequential data and proceeded with 60 minutes of incompressible 4KB random writes at queue depth of 32. I measured performance after the torture as well as after a single TRIM pass with AS-SSD since it uses incompressible data and hence suits for this purpose.

Intel SSD 530 Resiliency - AS-SSD Incompressible Sequential Write
  Clean After Torture (60 min) After TRIM
Intel SSD 530 240GB 315.1MB/s 183.3MB/s 193.3MB/s

SandForce's TRIM has never been fully functional when the drive is pushed into a corner with incompressible writes and the SSD 530 doesn't bring any change to that. This is really a big problem with SandForce drives if you're going to store lots of incompressible data (such as MP3s, H.264 videos and other highly compressed formats) because sequential speeds may suffer even more in the long run. As an OS drive the SSD 530 will do just fine since it won't be full of incompressible data, but I would recommend buying something non-SandForce if the main use will be storage of incompressible data. Hopefully SandForce's third generation controller will bring a fix to this.

Introduction, The Drive & The Test AnandTech Storage Bench 2013
Comments Locked

60 Comments

View All Comments

  • dynamited - Friday, November 15, 2013 - link

    I count seven asus motherboards with mPCIE, not one, at newegg. Regarding 6bps sata saturated, just run with RAID 0, is that hard to figure out how to do?
  • ExodusC - Friday, November 15, 2013 - link

    I don't think TRIM commands can be passed through to SSDs running in RAID 0. At one point the Intel storage drivers supported this, but I heard that this had been pulled. I can't find any documentation on this.

    Additionally, even though SSDs are fairly reliable, adding another drive simply adds another point for failure.
  • Wetworkz - Friday, November 15, 2013 - link

    You CAN pass TRIM commands through to SSDs running in Raid 0 on Intel hardware. It has NOT been pulled. You need to have the latest Intel Toolbox in combination with the latest RST drivers installed. I just TRIMMED both my arrays a couple days ago.
  • ExodusC - Friday, November 15, 2013 - link

    Out of curiosity, is that an automated process, or does it require manual TRIM through the Intel SSD Toolbox? What RAID levels are supported?

    I also wonder about the compressibility of striped data and if there is any effect there.
  • Samus - Friday, November 15, 2013 - link

    I pass TRIM to my RAID 0 Samsung 840 RAID through the Windows 8 defrag on my H87 chipset. Performance tests prove it works. Unfortunately if I have the IRST software installed the drives are downgraded to SATA 3Gbps. I tried different cables and everything. Uninstalling the IRST software after making the RAID 0 restores them to 6Gbps...
  • DMCalloway - Friday, November 15, 2013 - link

    It was my understanding that TRIM worked in RAID 0 with the newer RST drivers, but only on Intel 7 series chipsets and newer. I do like Intel products but this is one thing they shafted us on.
  • Wetworkz - Saturday, November 16, 2013 - link

    I just TRIMMED both my arrays a few days ago and one array was on an Intel 6 series chipset. I know that series 6 was not previously supported but I was able to initiate TRIM on the array with the newest Intel Toolbox and the newest RST drivers for the first time the other day. I cannot confirm this is officially supported behavior but I was able to do it with the newest drivers. I would give it a try if you have a series 6 board.
  • 'nar - Monday, November 18, 2013 - link

    I don't really care about TRIM. Garbage Collection works better anyway, especially on SandForce drives.
  • extide - Friday, November 15, 2013 - link

    mPCIE is not the same as M.2
  • dynamited - Friday, November 15, 2013 - link

    I believe they are calling it "mPCIe Combo Card" which actually has two connects to one on the motherboard.

Log in

Don't have an account? Sign up now