Non-volatile memory express (NVMe), also known as Non-volatile memory host controller interface (NVMHCI), is a device interface specification which enables a solid-state drive (SSD) to effectively utilize a high-speed peripheral component interconnect express (PCIe) bus in a computer. This communications interface/protocol is developed by a consortium of vendors including Intel, Dell, Samsung, Sandisk, and Seagate. NVMe is a new server storage I/O access method and protocol for fast access to NVM based storage and memory technologies.
Key features of NVMe include – lower latency due to improving drivers and increased queue sizes, reduced CPU usage, bandwidth improvements, higher I/O activity rates, and multiple packaging options, deployment scenarios and configuration options.
Conventionally, SSDs utilized buses such as SATA, SAS or Fiber Channel to interface with rest of the computer system. With SSDs becoming available in mass markets, SATA became the typical way for interfacing SSDs with personal computers. However, as SATA was designed primarily for interfacing with hard disk drives (HDDs), it became impossible for SSDs that improved in speed over the years.
This became a big bottleneck for the high end SSDs. Initially these high-end SSDs utilized PCIe bus, but used non-standard specification interfaces. Later NVMe was established to standardize the interface/protocol by which PCIe FLASH were being accessed.
Presently, NVMe interface supports various operating systems including Chrome OS, DragonFly BSD, Free BSD, Haiku, Illumos, iOS, Linux, NetBSD, Open BSD, OS X, Solaris, VMware and Windows.
Increasing adoption is being witnessed for NVMe interface as next-generation data intensive workloads are utilizing low latency NVMe flash-based storage to cater to rising user demand. Moreover, NVMe interface is designed from the ground up, capitalizing on the low latency and parallelism of PCIe SSDs, and harmonizing with the parallelism of contemporary CPUs, platforms and applications. These features makes it preferable over Advanced Host Controller Interface (AHCI), which faces several problems when used with SSDs connected through the PCIe bus.
Continuous developments are under progress on point-to-point communication (PCIe, RDMA- technologies such as RoCE and iWARP), as well as for Fabrics (InfiniBand-, Ethernet- and Fibre Channel-based, including FCoE).
The NVMe specification introduced by the Non-Volatile Memory Host Controller Interface (NVMHCI) Work Group, which included over 90 companies from the technology industry. However, in March 2014, the group incorporated to become NVM Express, Inc. Presently, the group owns and maintain the specifications, and promotes awareness regarding adoption of NVMe.
In December 2015, QLogic and Brocade Communications Systems, Inc. introduced NVMe over fabrics solution using fiber channel as the fabric.
In September 2016, CompactFlash Association (CFA) launched the CFexpress, a new removable memory card specification based on PCIe and NVMe
With the concept of NVMe being both evolutionary and of sufficient value, number of technology vendors are expected to bring NVMe products to market over the next years.