NVMe

Share This
Categories: Storage

NVMe (non-volatile memory express) is a host controller interface and storage protocol created to accelerate the transfer of data between enterprise and client systems and solid-state drives (SSDs) over a computer’s high-speed Peripheral Component Interconnect Express (PCIe) bus.

The NVMe specification defines a register interface, command set and collection of features for PCIe-based SSDs with the goals of high performance and interoperability across a broad range of NVM subsystems. The NVMe specification does not stipulate the ultimate usage model, such as solid-state storage, main memory, cache memory or backup memory.

NVMe provides an alternative to the Small Computer System Interface (SCSI) standard and the Advanced Technology Attachment (ATA) standard for connecting and transmitting data between a host system and a peripheral target storage device. The ATA command set in use with Serial ATA (SATA) SSDs and the SCSI command set for Serial Attached SCSI (SAS) SSDs were developed at a time when hard disk drives (HDDs) and tape were the primary storage media. NVMe was designed for use with faster media.

The main benefits of NVMe-based PCIe SSDs over SAS-based and SATA-based SSDs are reduced latency in the host software stack, higher input/output operations per second (IOPS), and potentially lower power consumption, depending on the form factor and the number of PCIe lanes in use.