NVM Express (NVMe) is also known as Non-Volatile Memory Host Controller Interface Specification (NVMHCIS).
It allows host hardware to communicate with non-volatile memory.
It is an open device interface that is used to access a computer’s non-volatile storage media which is typically attached via the PCI Express bus.
Non-volatile memory is usually flash memory that can come in a few forms including SSDs (solid-state drives), PCIe (PCI Express) add-in cards, and M.2 cards.
This logical device interface was created to leverage low latency and internal parallelism of SSDs (solid-state storage devices).
The NVMe is stored in a chip that is co-located with the storage media.
The NVMe assists the SSD to reach maximum parallelism within modern SSDs which allows you to reduce i/O overhead and optimizes performance. It makes SSDs much more scalable than legacy interfaces.
The NVMe architecture delivers a new high performance queuing mechanism. Queues are mapped to CPU cores delivering scalable performance. The NVMe interface significantly reduces the number of memory-mapped input/output commands.
The NVMe specification even contains host-to-device protocol for SSD commands through an operating system for: read, write, flush, TRIM, firmware management, temperature, errors and others.