What is NVMe?

NVM Express (NVMe™) is the standard host controller interface for systems using PCI Express (PCIe) based Solid State Drives (SSDs). With the participation of over 120 member companies in NVM Express®. NVMe is architected from the ground up for PCIe SSDs to be efficient, scalable, and manageable, and is also ideal for hyper-converged infrastructure storage.

The first NVMe specification was published in 2011. Since then, there have been three NVMe specifications published with multiple revisions: NVMe, NVMe Management Interface (NVMe-MI™) and NVMe over Fabrics (NVMe-oF™).

The NVM Express base specification defines an interface that provides optimized command submission and completion paths. The interface supports parallel operations with up to 64k I/O Queues and up to 64k outstanding commands per I/O Queue. The interface scales for multi-core CPUs, with few clock cycles needed per I/O operation. The specification also includes end-to-end data protection, enhanced error reporting, and virtualization support.

The NVM Express Management Interface is the command set for in-band and out-of-band management of NVMe storage systems. These management functions include, but are not limited to, discovering, monitoring, and updating firmware on SSDs. NVMe-MI provides an industry-standard way to manage NVMe drives and devices.

The NVMe over Fabrics specification defines a protocol interface and related extensions that enable the NVMe commands to be transmitted over other interconnects, including RDMA, Fibre Channel, and TCP. NVMe-oF extends the NVMe deployment from local host to remote host(s) for a scale-out NVMe storage system.

These specifications are continuously evolving to new revisions to provide more features and functionalities to support increasing demand for NVMe based storage solutions.


Learn more about fundamental storage networking topics: