NVMe is a term for faster storage designed for non-volatile memory (NVM) technologies. But what does it mean, and how do we break through the alphabet soup?
NVMe relates to NVM Express, an industry standard for using Non-Volatile Memory (e.g., NAND memory) in a Solid State Drive (SSD). NVMe standardizes the interface from the storage driver to the SSD, including command set and features (e.g., power management). The standard enables native OS drivers in Windows*, Linux*, and VMware* to provide a seamless user experience. The standard was defined from the ground up for NVM, so it is capable of much higher IOPs and lower latency than legacy storage standards (SATA, SAS) that were designed for hard drives. NVMe first shipped in servers in the second half of 2014, and has just launched in client systems in April of 2015. The starting point for the standards specification, and resources on the standardization effort for NVMe is at www.nvmexpress.org. The specification can be found at http://nvmexpress.org/specifications/.
So now you know the difference between, NVM (the media inside of an SSD), and NVMe (the standard enabling high performance SSDs). The majority of SSDs in the market today support the legacy storage standards, SATA and SAS. To take full advantage of today’s SSDs, you need NVMe. SATA is bottlenecked at 600 MB/s and ~ 100K IOPs maximum. NVMe brings today almost 3 GB/s of read bandwidth and ~ 500K IOPs with NAND media technology. And NVM memory companies are innovating with different types of NVM, as was recently seen in the announcement for 3D NAND, a whole new class of NVM. This means for any new platform, you need to design in support for NVM Express.
You sometimes see drives, including the Intel P3700, intermingle acronyms, as either a PCIe or NVMe drive, or another mouthful: NVMe PCIe Solid State Drive. Why is that? Well part of it is newness of terms, and to provide a reference to the class of drives that came before NVMe SSDs, which were called PCIe SSDs. The Intel P3700 and all future Intel NVMe drives can be attached directly to the CPU through PCI Express (without an intervening host bus adapter). PCI Express is the hardware interface and NVMe standardizes the software, commands, and features for SSDs on top of the PCIe hardware bus. All future Intel drives on PCIe will be NVMe. We expect the entire industry to move away from proprietary implementations and embrace the NVMe standard for PCIe SSDs.
The switch to NVMe is coming from SSD vendors. Two Data Center SSD market leaders, already provide production NVMe drives, and there is dedication within the industry to see a lot more offerings of NVMe SSDs. That helps you, the end users, because NVMe standards in your server platform guarantees the interoperability, choice, and performance you desire.
To help cement this topic a bit more here are two excellent NVMe video blogs: