What Is NVMe?
With all of the NVMe talk over the last few months, perhaps you're wondering what all of the fuss is about.
Non-Volatile Memory Express, or NVMe, is a new specification optimized for NAND flash and next-generation solid-state storage technologies. Over the course of several years, CPU and DRAM speeds have increased. But mechanical hard drives and the interface to them have stayed stagnant. NVMe was designed to shrink the gap between fast DRAM and the storage feeding data to the system.
Several companies are involved in the NVMe initiative. In this review, we're focusing on Intel and its SSD 750 SSD. However, the interface on which this product rides was co-developed by several companies. Many of them already have NVMe products in the wild, though most exist in the enterprise segment.
The technology has already spread across several several different platforms. Most will use Intel's SSD 750 in Windows (8.1 already has a native NVMe driver). I've tested Intel's NVMe-capable products with Microsoft's native drive and Intel's own software, and found the Intel driver superior in performance. The company also has a SSD 750 driver for Windows 7.
When Intel introduced its Sandy Bridge architecture, DDR3-1600 was prevalent. Haswell-E with DDR4 moved mainstream DRAM transfer rates t 2400 MT/s with enthusiast-oriented kits in the 3000 MT/s range. Between those points in time, hard drive performance stayed in the 150 and 200 MB/s range for sequential operations. SSDs using the AHCI command set helped close the gap. However, the limits of SATA, an interface designed for mechanical disks, quickly limited growth for future products.
The Intel SSD 750 falls into the add-in card category, though Intel also released it in 2.5" trim with a SFF-8639 connector. The 18-channel controller was never designed for use in SATA Express (SATAe) or M.2 form factors.
Some enthusiasts are disappointed in the lack of SATA Express products available today. But different strokes for different folks, right? At this time, SATAe with two lanes of PCIe 2.0 (or 1000 MB/s) is already too slow for high-performance SSDs. I wouldn't be surprised if the first SATAe product to enter the market is not an SSD at all. Western Digital has already made good progress on a hybrid drive that employs SATAe.
These form factors are accompanied by specifications beyond just their connector types. Power consumption and cooling capacity are important considerations, too. A M.2 SSD that is roughly the width, depth and thickness of a stick of gum can't dissipate the same amount of heat as a HHHL PCIe card with a big heat sink. The Intel SSD 750 SSD is rated for up to 25W. M.2 SSDs are limited to less than 10.
The 2.5" implementation of the SSD 750 uses a SFF-8639 connector. On the other end of the interface cable is a mini-SAS HD connector, which was introduced with SAS 12Gb/s RAID controllers and HBAs as a way to shrink the footprint on the card and increase signal integrity.
SATA brought necessary changes to improve rotating media, but was never designed for the speed of flash. The first SATA 6Gb/s SSD was already limited by the interface in sequential workloads. The command set was intended for storage devices with higher measured latency. NVMe with a direct link to the CPU via the PCIe bus reduces both physical and underlying communication latency.
The command set reduces latency by decreasing the size of the commands and the number required to complete an I/O operation. Essentially, you have less data flowing back and forth on the back end. This frees bandwidth and CPU overhead at the same time.
One of the more interesting aspects of NVMe is its new queue depth limits. SATA supports one command with 32 queues at a time. NVMe supports 64,000 commands with up to 64,000 queues at a time. Your client workload will never get anywhere near that ceiling; meanwhile, multitasking performance should increase right out of the box.
NVMe also supports commands from more than one processor core at a time and prioritizes the requests. This is another feature that will benefit enterprise workloads more than the client space.
For client users, NVMe means lower latency. This leads to a better user experience and overall level of satisfaction from your PC.
Later this year, consumer NVMe devices built for mobile platforms like Ultrabooks and even tablets will increase battery life. The new specifications are autonomous with the storage device in control of stepping down to lower power states.
NVMe is already up to revision 1.1, but the group is working to further optimize the command set for future use.
Non-volatile memory isn't limited to the NAND flash we have today. NVMe will eventually pair with other storage technologies. 3D NAND will last us for several more product generations, but new technologies are already in development to replace it.