NVMe is a protocol designed specifically for memory based storage technologies like flash drives. The new industry standard protocol is seeing rapid adoption among vendors meaning the data center may see these solutions become mainstream before the end of the year. But most of the work with NVMe has been to replace SCSI drives and connections with NVMe drives and connections. Full realization of flash performance will come after this retrofit phase is complete and vendors start to innovate with NVMe as the foundation.
The State of the Retrofit
The initial steps into NVMe are to taking existing serial attached SCSI (SAS) SSD drives and replace the connections on those drives with a PCIe-based NVMe connection. The performance gain is all internal to the storage system. The storage software benefits from a CPU that has direct, high speed access to the flash drives and the CPU can send a high number of IO commands to it.
This internal optimization does lead to a performance improvement that the users and applications attached to the NVMe based storage system should feel. But it is only a first step.
The next step for NVMe is to go beyond the box with external connectivity thanks to NVMe over Fabrics (NVMe-F). NVMe-F will enable the same, efficient, high speed interaction with NVMe-based drives that the internal network enjoys. An obvious use case for NVMe-F is for connecting the physical servers to the NVMe array. Once again, though, this use of NVMe, while very beneficial, is a retrofit, replacing an old way of doing things with a new way.
NVMe’s Big Step
The big step for NVMe and NVMe-F is when the protocol is used to deliver new and innovative products and features. For example NVMe-F can be used as the networking interconnect in a scale-out storage cluster. Scale-out systems have to date used traditional protocols for their interconnect and as these systems scaled there is the potential for a bottleneck as the cluster is overcome with internode communication. NVMe-F’s efficiency greatly lowers the chance of this bottleneck ever occurring.
Beyond scale-out optimization, the efficiency of NVMe enables better and more granular control over the allocation of storage resources to attaching physical hosts. NVMe can enable vendors to carve out virtual arrays, subdividing available resources to specific hosts.
This virtual array capability is an advanced form of Quality of Service (QoS). The problem with QoS is that attempts to manage the allocation of a shared set of resources. A virtual array like technology sub-divides actual array resources and dedicates those resources to that virtual array creating a more consistent performance experience for the applications that use it.
In a very short time NVMe will be the dominate flash protocol, but like most new technologies the first steps will be more of a retrofit or upgrade than innovations. Certainly the performance boost that the retrofits bring will be appreciated by organizations and IT. But the big step for NVMe and flash will come as vendors start to bring new capabilities like massively scalable storage clusters and virtual flash arrays to market, features that are only possible thanks to the efficiency of NVMe and the now unchained performance of flash storage.
To learn more about NVMe and how to get more that a retrofit from it, join us for our on demand webinar “NVMe, NVMe over Fabrics and Beyond” and learn:
- What is NVMe?
- What is NVMe over Fabrics?
- What to expect from NVMe and when should you switch?
- How to go BEYOND NVMe to tap into the full potential of memory based storage
The low latency protocols for cluster communication were engineered about 20 years ago, including RDMA which is the networking over which NVMe is layered to get NVMe over fabric. Microsoft also now uses RDMA extensively between servers.
The next generation of storage past NVMe will be some variant of the application doing reads and writes of shared storage itself. This will take the read and write operations we are familiar with for storage (say accessing files or objects) and run them near the speed of accessing in-memory data structures. Because storage only absorbs one new protocol per decade, and NVMe is this decade’s, this will for the most part be a 2020’s thing…although SNIA very much has a head start on some of the “interesting” aspects of bringing this 100x performance improvement to volume use.