What NVMe is

Contributors netapp-ivanad

The nonvolatile memory express (NVMe) protocol is a transport protocol used for accessing nonvolatile storage media.

NVMe over Fabrics (NVMeoF) is a specification-defined extension to NVMe that enables NVMe-based communication over connections other than PCIe. This interface allows for external storage enclosures to be connected to a server.

NVMe is designed to provide efficient access to storage devices built with non-volatile memory, from flash technology to higher performing, persistent memory technologies. As such, it does not have the same limitations as storage protocols designed for hard disk drives. Flash and solid state devices (SSDs) are a type of non-volatile memory (NVM). NVM is a type of memory that keeps its content during a power outage. NVMe is a way that you can access that memory.

The benefits of NVMe include increased speeds, productivity, throughput, and capacity for data transfer. Specific characteristics include the following:

  • NVMe is designed to have up to 64 thousand queues.

    Each queue in turn can have up to 64 thousand concurrent commands.

  • NVMe is supported by multiple hardware and software vendors

  • NMVe is more productive with Flash technologies enabling faster response times

  • NVMe allows for multiple data requests for each “request” sent to the SSD.

    NVMe takes less time to decode a “request” and does not require thread locking in a multithreaded program.

  • NVMe supports functionality that prevents bottlenecking at the CPU level and enables massive scalability as systems expand