Final Words

In terms of performance, the NVMe version of the SM951 offers an upgrade over its AHCI sibling. The average data rate (i.e. large IO performance) isn't dramatically better compared to the AHCI version, but when it comes to small IO latency the SM951 and NVMe in general show their might. Typically the NVMe version offers about 10-20% improvement in average latency over the AHCI version, which is a healthy boost in performance given that the two utilize identical hardware.

It's obvious that the SM951-NVMe has been designed for mainstream client workloads. In our Heavy and Light traces it sets new records, but in the most IO intensive The Destroyer trace the SM951-NVMe is outperformed by the SSD 750. While Intel specifically built a client-oriented firmware for the SSD 750, the company made it clear that it focused on sustained random IO performance rather than high peak throughput, and the tradeoff pays off as long as the IO workload is intensive enough (think multiple VMs for instance). Another area where the SSD 750 beats the SM951-NVMe by a substantial margin is steady-state performance, which contributes heavily to The Destroyer benchmark since the trace effectively puts the drive into steady-state.

Speaking of steady-state performance, there are two things I was specifically happy to see in the SM951-NVMe. The first one is the unbelievable IO consistency, which isn't that significant for a client drive but if Samsung can pull off something equivalent (with higher performance, of course) in the enterprise space, then I'll be excited. It never hurts to have that level of consistency in a client drive either, but the it just isn't used to its full potential since client SSDs and workloads are more about peak than sustained performance, which is the opposite of enterprise workloads.

The second part is low queue depth random read performance. This is the area where we haven't seen much improvement in the past few years because ultimately the bottlenecks have been AHCI overhead and NAND latency. Fixing the latter requires a new type of non-volatile memory (e.g. ReRAM, MRAM or NRAM) with significantly lower read latency, but that isn't on the horizon until around 2020. In the mean time, the only way to improve random read latency is to cut the driver stack overhead, which is exactly the purpose of NVMe. The reason why I'm so excited about low queue depth random read performance is the fact that they account for a large of the total IOs in typical client workloads (especially the less intensive ones), so any improvement will translate to better user experience and performance, which is ultimately what a consumer is looking for.

Despite all this, I have to admit that I walk away a little disappointed. A 10-20% performance improvement isn't marginal, but after all the hype about NVMe I was expecting a little more. I have a strong feeling that NVMe is capable of much more, but the technology needs time to mature. From what I have talked to SSD OEMs, the generic NVMe driver that Microsoft includes in Windows 8.1 has some severe shortcomings, which is why nearly everyone has their own custom driver at least for now. I think Samsung and the SM951-NVMe desperately need that to unleash the full potential of the drive and I sure hope that the retail version of the drive will feature one.

All in all, the SSD 750 remains as the best option for very IO intensive workloads, but for a more typical enthusiast the SM951-NVMe provides better performance, although not substantially better than the AHCI version. If you need an SSD today, I wouldn't wait for the NVMe version because the availability is a mystery to all and you may end up waiting possibly months. Nevertheless, if the SM951-NVMe was easily available and reasonably priced, I would give it our "Recommended by AnandTech" award, but for now one can only drool after it.

ATTO & AS-SSD
Comments Locked

74 Comments

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

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