NVMe (Non-Volatile Memory Express) is a protocol designed to use the PCI Express (PCIe) bus to connect SSD (solid-state drive) storage to servers or CPUs. NVMe was created by a consortium of large IT providers in 2008 to provide improved speed and performance.
Older storage connection interfaces such as serial attached SCSI (SAS) and Serial Advanced Technology Attachment (SATA) cause bottlenecks in today's networks because they were designed for use with much slower HDDs and tape-based memory.
NVMe is designed to take advantage of solid state drive (SSD) memory's greater speed and better support for parallelism.
NVMe achieves its speed in several ways:
NVMe-based PCIe SSDs are more expensive than SATA and SAS options and may use more power. It's important to decide if the business's needs warrant the extra cost. Unless applications are data-heavy, or perform in settings where every microsecond counts, the business may not benefit from the expense.
The SCSI Trade Association claims that the most recent SATA-based SSD interfaces have some advantages over NVMe: easier scalability and reliable failover protections.
Another key point: NVMe is compatible only with SSD. If the business has larger capacity drives only available as HDDs still in use, or wants to be able to add them easily in the future, it will still have to use SATA or SAS, which are compatible with any type of media.
NVMe is not intended to make the older interfaces obsolete. Going forward, NVMe, SATA, and even SAS will make up a suite of options to choose from based on cost, processing needs, and power consumption.
NVMe compatibility is built into almost all server and workstation products. The decision is whether to purchase NVMe-compatible SSD memory, which comes in a variety of form factors for installation into servers and other hardware, including the familiar M.2 as well as some new NVMe-only sizes.
NVMe technology has found its way into consumer-grade products as well in the form of external hard drives and plug-and-play memory for CPUs. Through wider adoption and economies of scale, NVMe is expected to eventually become the most cost-effective option for memory.
NVMe-oF (non-volatile memory express over fabrics) is a separate NVMe protocol developed to bring NVMe benefits to memory accessed over network fabric such as Ethernet, InfiniBand, or Fibre Channel.
The two standards are very similar. NVMe-oF is expected to match NVMe's performance with only a marginal increase in latency.
NVMe-MI (non-volatile memory express management interface) was introduced in 2019 to provide architecture and command sets to use in discovery, monitoring, configuration, and updating of NVMe operating environments. NVMe-MI is an industry standard for memory both in band (through the OS) and out of band (through a baseboard controller).
In certain data-heavy or mission-critical situations, NVMe's advantages allow businesses to leverage the potential of multicore CPUs and gigabytes of flash memory. Reading and writing from memory is a constant process, which means NVMe can improve overall network performance, meeting business goals more rapidly and boosting productivity.
NVMe's non-vendor specificity provides easier, more rapid scaling, as systems can be set up without configuring various drivers.
NVMe's sanitize operations modify all data on a volume to make recovery impossible from any cache, non-volatile media, or controller memory. This step is helpful when hardware is being retired or repurposed. Sanitize can mean overwriting, low-level block-erasing on NAND media, or crypto erase, which will reset an encryption key.