What NVMe is
The nonvolatile memory express (NVMe) protocol is a transport protocol used for accessing nonvolatile storage media. This interface is used when the storage devices reside in the same physical enclosure as the host operating system or application and can be directly connected by PCIe, such as in servers or laptop computers.
NVMe is the standardized interface for applications to communicate with nonvolatile memory data storage using a PCI express (PCIe) connection.
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, either directly or through a switch, while still using NVMe as the fundamental communication mechanism.
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.
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