BACKGROUND IMAGE: iSTOCK/GETTY IMAGES
Nonvolatile memory express is a storage protocol designed specifically for memory-based storage, enabling technologies...
like flash to reach their full potential. Since NVMe technology is a change to infrastructure, it would likely take years for a data center to take advantage of it fully. But with each incremental step forward, organizations will see performance improvements.
NVMe is an industry standard that replaces the SCSI storage protocol. It supports thousands more simultaneous commands than SCSI can, and it can more deeply queue those commands. The primary benefit of NVMe technology is more responsive storage thanks to lower latency. It also uses Peripheral Component Interconnect Express (PCIe) as the primary storage interconnect.
NVMe is available as a drive interconnect and as a network protocol, thanks to NVMe over Fabrics (NVMe-oF). The network version enables Ethernet and Fibre Channel (FC) networks to transport data at speeds similar to locally attached storage.
The data center journey to NVMe will be multistep, with each step driven by practical need, as well as the speed at which NVMe technology can mature.
NVMe-based all-flash arrays
The first step to transitioning to NVMe in the data center is using all-flash arrays in which the drives inside the system are NVMe-attached. Externally, however, there are no significant changes to the system. Connectivity to the storage network and the rest of the environment is still the same: traditional Ethernet and/or FC. Even hyper-converged systems that use server-based NVMe drives will still interconnect their nodes via traditional Ethernet. The good news is that inserting an NVMe-based all-flash array into the storage infrastructure is seamless. The bad news is that it doesn't take full advantage of everything NVMe technology has to offer.
What is the payoff of NVMe in the all-flash array if data has to use traditional protocols coming in and leaving the storage system? The reality is that the storage system becomes a choke point for performance, especially in a shared storage environment. The internals of an all-flash array are an ecosystem themselves. There is storage software that uses the storage system's CPU to receive, act on and store data. The flash drives have to manipulate data to ensure it is stored correctly and efficiently. The software has to use the CPUs once again to find and send data back to the requesting user or application.
There is a network interconnecting the communication among software, CPU and storage. With all data sent to and from this system, the quicker data can traverse the internals of the system, the better overall performance will be.
Until NVMe burst onto the scene, the internal network in most all-flash arrays was SAS. Now, it is quickly becoming NVMe. SAS is a slower connection and has to deal with the SCSI protocol inefficiencies. NVMe is faster in terms of connectivity and more efficient in how much data it can operate on at any given point in time.
NVMe-based scale-out storage
NVMe-oF is still in its early days. While it works, it is still fragile, and interoperability leaves a lot to be desired. This instability is why the first step to an NVMe data center is all-flash arrays with NVMe internal storage but external traditional networking. NVMe-oF does work; vendors just have to keep tight control over the components to eliminate problems. The need for a controlled network deployment makes NVMe-based scale-out storage an ideal second step for the NVMe transition.
Scale-out storage creates a cluster of servers (nodes) -- each with their own internal storage. It aggregates the storage from each of the nodes into a single virtual pool of storage. The network that interconnects these nodes is typically traditional Ethernet using IP. The internode communication is intensive, especially with the addition of more nodes. NVMe-oF is a more ideal interconnect thanks to its high performance and low latency. It should enable scaling to more nodes with better overall performance.
The next step to t