NVMe is a host controller interface and storage protocol designed to speed the transfer of data between a host computer and a target SSD over a computer's PCIe bus. Advantages of NVMe PCIe SSDs over SAS and SATA SSDs include higher performance, parallel I/O, lower latency and potentially reduced power consumption.
The streamlined NVMe command set requires fewer than half the number of CPU instructions to process an I/O request than the SCSI command set does with SAS and the ATA command set needs for SATA. NVMe supports 64,000 commands in a single message queue and up to 64,000 queues, in contrast to a SAS device's support for up to 256 commands and SATA's support of up to 32 commands per queue.
The NVM Express Work Group published the first version of the NVMe specification in March 2011. NVMe 1.1, which was released in October 2012, added capabilities such as multipath I/O and namespace sharing. Improvements that followed with NVMe 1.2 in November 2014 included enhanced power management and the ability to do live firmware updates. The NVM Express Work Group incorporated in March 2014 and is now known as NVM Express Inc. The nonprofit organization has more than 100 member technology companies.
NVMe PCIe SSDs can support different types of non-volatile memory, including NAND flash and the 3D XPoint technology developed by Intel and Micron. Application workloads that could benefit from the level of performance that NVMe can provide include high-transaction databases and big data analytics.
In November 2015, the NVM Express organization published the first version of the NVM Express Management Interface specification to provide a command and feature set to enable IT managers to administer NVMe PCIe SSDs and systems. Capabilities include health and temperature status polling and firmware, namespace and security management.
The industry consortium that designed NVMe also developed an NVMe over Fabrics (NVMe-oF) specification to extend the latency and performance benefits of NVMe across network fabrics that enterprises use to connect servers and storage systems. NVMe-oF is based on the NVMe specification.
NVMe Express Inc. published the first version of NVMe-oF in June 2016. Fabric transports under development include NVMe-oF using RDMA for Ethernet and InfiniBand networks and NVMe-oF mapped to Fibre Channel.