Performance Consistency

We've been looking at performance consistency since the Intel SSD DC S3700 review in late 2012 and it has become one of the cornerstones of our SSD reviews. Back in the days many SSD vendors were only focusing on high peak performance, which unfortunately came at the cost of sustained performance. In other words, the drives would push high IOPS in certain synthetic scenarios to provide nice marketing numbers, but as soon as you pushed the drive for more than a few minutes you could easily run into hiccups caused by poor performance consistency.

Once we started exploring IO consistency, nearly all SSD manufacturers made a move to improve consistency and for the 2015 suite, I haven't made any significant changes to the methodology we use to test IO consistency. The biggest change is the move from VDBench to Iometer 1.1.0 as the benchmarking software and I've also extended the test from 2000 seconds to a full hour to ensure that all drives hit steady-state during the test.

For better readability, I now provide bar graphs with the first one being an average IOPS of the last 400 seconds and the second graph displaying the standard deviation during the same period. Average IOPS provides a quick look into overall performance, but it can easily hide bad consistency, so looking at standard deviation is necessary for a complete look into consistency.

I'm still providing the same scatter graphs too, of course. However, I decided to dump the logarithmic graphs and go linear-only since logarithmic graphs aren't as accurate and can be hard to interpret for those who aren't familiar with them. I provide two graphs: one that includes the whole duration of the test and another that focuses on the last 400 seconds of the test to get a better scope into steady-state performance.

Steady-State 4KB Random Write Performance

Steady-state performance isn't mind blowing, although it's a little unfair to compare the 256GB SM951-NVMe against a 512GB SM951-AHCI because available NAND throughput can play a major role in steady-state performance with a properly designed controller and firmware.

Steady-State 4KB Random Write Consistency

The mediocre steady-state performance is replaced by outstanding consistency, though. During the last 400 seconds, the SM951-NVMe has standard deviation of only 1.12, whereas the next drives are in the order of hundreds with many drives surpassing 1,000.

Samsung SM951 NVMe

As there's practically no variation in performance, the graph is just a straight line after the initial cliff. There are zero up and down swings, which is something I've yet to see even in an enterprise SSD. Samsung has always done well in IO consistency, but in all honesty the SM951-NVMe sets a new bar for consistency. On the downside, I would rather take some variation with higher performance because especially for client workloads such level of consistency isn't really needed, but increased performance can always help with intensive IO workloads. Nevertheless, I'm very happy with the direction Samsung is taking because we still see some controller vendors not paying enough attention to consistency, but it's clearly a high priority for Samsung.

Unfortunately I couldn't run any tests with added over-provisioning because the hdparm commands I use for limiting the capacity do not work with NVMe drives. There are similar commands for NVMe drives too, but for now there is no publicly available utility for issuing those commands.

Samsung SM951 NVMe
Thermal Throttling Revisited AnandTech Storage Bench - The Destroyer
Comments Locked


View All Comments

  • bill.rookard - Thursday, June 25, 2015 - link

    CentOS (Actually, RH6.5 and newer) are supposed to have in the box storage drivers for NVME. It apparently doesn't follow the same naming convention (/dev/sdx) since it doesn't utilize the SCSI protocols, but the NVME protocols.

    So - to check before you buy?

    #modinfo nvme - should list if your kernel has built in nvme support.

    if you have a drive in, check if an nvme drive is in there and is recognized

    #lspci | grep nvme
  • SofS - Thursday, June 25, 2015 - link

    Indeed, but my point was about their quality and how they compare between each other.
  • der - Thursday, June 25, 2015 - link

    10th comment!
  • bernstein - Thursday, June 25, 2015 - link

    i guess the 1tb 840 msata had either too slim margins or wasn't popular enough...
    still waiting for a 1tb M2 NVMe drive...
  • foxtrot1_1 - Thursday, June 25, 2015 - link

    See you in December 2016, then.
  • bernstein - Friday, June 26, 2015 - link

    obviously i was wrong since there also is an 1tb msata 850 evo.... now i am very curious as to why samsung doesn't have a 1tb M2 ssd!!!
  • Kristian Vättö - Friday, June 26, 2015 - link

    Because all the PCIe drives use MLC NAND, which is a lower capacity die.
  • kspirit - Thursday, June 25, 2015 - link

    The connector looks the same as that on the old SATA SSDs found in most laptops. I've got a 2280 sized Intel 1500 SSD in my HP Folio (Haswell). Would this give me PCIe speeds?
  • foxtrot1_1 - Thursday, June 25, 2015 - link

  • Metaluna - Thursday, June 25, 2015 - link

    Depends on whether HP hooked up the PCIe lanes on their M.2 connector, which I wouldn't assume without checking into it. The BIOS also needs to have NVMe support. In the most common configurations (i.e. the "B" and "M" keyings), M.2 is required to carry both SATA and 2-4 PCIe lanes, but some motherboard vendors routinely violate this and leave out one or the other. Asus drops the SATA on some of their higher-end Z97 motherboards, for example, so you can't rule out that someone else may have made the opposite tradeoff.

Log in

Don't have an account? Sign up now