Nonvolatile Memory Express or NVMe a brand new storage access and transport protocol for solid state drives or SSDs and flash drives, it allows to access high levels of throughput to communicate with memory, reducing input and output overhead and increasing read and write performance at drastically lower latency.
NVMe is a transfer protocol for fast connections between host computers and flash memory. It works like this:
Utilizing submission queues and doorbell registers, the host writes I/O commands and sends ready signals. The I/O commands are retrieved, executed, and completion queues and an interrupt are sent back to the host by the NVMe controller. The door register is reset and the host records the completion queues.
Consequently, NVMe’s overhead is significantly lower than that of conventional protocols like SAS and SATA. Additionally, it is optimized for non-uniform memory access (NUMA), making it possible to efficiently manage queues across multiple CPU cores.
In a nutshell, the NVMe specification takes advantage of NVMe’s rapid, parallel data paths without incurring the usual costs of translating NVMe commands.