With the traditional spinning-disk hard drive going the way of vinyl, tape cassettes and even the compact disc, NVMe flash storage is set to take over as the enterprise storage format of choice – at least for performance-hungry operations.
NVMe (non-volatile memory express) is a storage protocol and host controller interface designed to speed up data transfer between systems and solid-state drives (SSDs). This is done over a high-speed peripheral component interconnect express (PCIe) bus.
The NVM Express Workgroup, which includes suppliers such as Samsung, Sandisk, Dell, Intel and Seagate, developed NVMe to enable SSDs to operate more like the memory it is, rather than the hard drive it emulates.
The protocol is optimised for NAND flash and next-generation solid-state storage. The upshot of this is that computers become much faster in operation.
As process and memory speeds have become quicker, drives and interfaces have not kept up. This is why it was developed to bridge the gap between fast memory and slow storage.
The benefits of NVMe
Not only does NVMe offer faster access to data, it also consumes less power. This makes it cheaper for enterprises that want to reduce costs, and for mobile devices, it means longer battery life.
Compared to spinning platters in a traditional hard drive, NVMe decreases latency and increases IOPS (input/output per second). NVMe has access speeds up to 100x faster than a traditional hard disk drive.
With the increased bandwidth and inbuilt parallelism of NVMe, such storage can enable multiple cores to execute write and read operations at the same time.
Data is stored in flash memory with no moving parts. This means the chance of a disastrous failure is very low. No moving parts also means that NVMe drives do not make noise or vibrate.
Getting the right NVMe for your enterprise
NVMe can be found in a variety of formats and devices for the enterprise.
Individual drives: For individual systems, a big benefit of NVMe is to be able to boot from it. Most suppliers are moving away from BIOS (and BIOS support for NVMe is rare), so it is newer systems that will make the most of the technology.
NVMe-capable arrays: All-flash arrays with end-to-end NVMe connectivity can boost performance massively. A few racks of NVMe all-flash storage can replace multiple racks of traditional hard-disk drives, and free up space for more storage as well as decrease the cost of power and cooling.
The key NVMe vendors
Leading enterprise suppliers now market all-flash systems that can replace SAS and SATA SSDs with PCIe-connected NVMe flash drives. Dell EMC, HPE, Nimble Storage, IBM, NetApp and Pure Storage all ship all-flash arrays with NVMe.
Key NVMe media performance characteristics
NVMe storage is much faster than SATA-based flash and even faster than a traditional spinning-platter hard drive.
A hard drive can have spin speeds of up to 7,200rpm, so there is a limit to how fast data can be read. There is also latency because the head needs to physically move to where the data is stored. Most up-to-date hard drives use SATA III, which enable the fastest possible data transfers for HDD.
Solid-state drives generally use flash, but connect using SATA or SAS (serial attached SCSI). SATA has a throughput limit of 6Gbps, while SAS has a limit of 12Gbps. This imposes a bottleneck on performance because the flash media can operate much faster than the connection technology.
Meanwhile, NVMe uses PCIe to transfer data between the processor and the SSD. PCIe 3.0, released in 2010, offers 1Gbps per lane (bi-directional). You can have one, four, eight or 16 lanes in a single PCIe slot, represented as x1, x4, x8 or x16.
SATA and SAS HDDs and SSDs have only one command queue and can send 32 commands per queue (a SAS queue can contain up to 256). Compare this with NVMe, which has 64,000 command queues and can send 64,000 commands per queue.
NVMe form factors include add-in cards, U.2 2.5in and M.2 SSD devices.
What does NVMe-over-fabrics bring to the party?
Although NVMe is great for directly-attached storage, when it comes to storage networks, something else is needed.
This is NVMe-over-fabrics (NVMf). The protocol, first published in June 2016, is used to transfer NVMe storage commands between client nodes over InfiniBand or Ethernet networks using remote direct memory access (RDMA) to the target nodes. There is also NVMe-over-fabrics using Fibre Channel (FC-NVMe).
About 90% of the NVMe-over-fabrics protocol is the same as the local NVMe protocol. The main difference between NVMe and NVMf is in how the protocols handle commands and responses between the host and the storage subsystem.
Whereas local NVMe commands and responses are mapped to shared memory in a host over the PCIe interface, an NVMe fabric message transport is constructed to encapsulate NVMe commands and responses into a message-based system.
NVMe use cases
Storage that uses NVMe is well suited to the following use cases.
Relational databases: NVMe has fast become the go-to choice for companies that use intensive relational databases. The enhanced performance of NVMe flash storage systems decreases the number of physical servers and licences (databases) needed.
AI: Systems used for machine learning and artificial intelligence use GPUs, field-programmable gate arrays and application-specific integrated circuits. This means data is processed much faster than before. Also, the datasets used to train such systems have increased in size. As NVMe offers vastly more bandwidth and lower latency than SAS and SATA, it enables extreme performance for serious workloads.
High-performance computing: SSDs using NVMe can be used in high-performance computing applications such as high-frequency trading, where the low latency of the technology is critical. Cutting down the time a processor waits to read data from storage can result in faster calculations.