Sometimes, instead of evolving slowly, technology takes a giant leap forward. When this happens for one part of IT, everything else effectively becomes a bottleneck, and further changes must take place to bring the rest of the IT environment up to the new standard of performance.

This has happened recently with storage. After flash storage spent years being reserved for special use cases, pricing has come down enough for the technology to effectively replace hard disk drives as the norm. However, for a time, flash arrays operated on SCSI (pronounced “skuzzy”), a protocol developed for traditional storage. As a result, flash storage was hamstrung, unable to perform at its full potential.

Happily, a new protocol has emerged: Non-Volatile Memory Express, or NVMe.

What Is NVMe?

NVMe is a protocol developed specifically for flash storage. It was designed to be much more efficient, supporting a higher degree of parallelism than is possible with SCSI-based systems. Think of a SCSI-based storage array as a library information desk with a single librarian to answer questions; no matter how fast the librarian is, he or she can answer only one question at a time. Now, think of the same information desk, but staffed by thousands of librarians — that’s NVMe, able to support 64,000 commands in a single message queue. By eliminating the “line” of requests for information, NVMe-based systems can dramatically improve performance.

What Do I Need to Do Now?

A lot of marketing material is being written about how NVMe is a game changer that organizations should race to adopt. For certain use cases, that might be true, but really, most organizations will end up adopting NVMe-based flash storage by default as the solution becomes the industry standard. The performance improvements made possible by NVMe-based flash, and the constant downward push of prices, make that inevitable.

Already, many consumer laptops are being produced with NVMe-based flash storage. And most major storage vendors were producing flash arrays that run on the NVMe protocol by 2018.

What About Fabrics?

Fabric is one area in which some organizations need to be aggressive in their adoption. NVMe over Fabric (NVMe-oF) refers to a still-emerging standard that enables the NVMe protocol to flow over a Fibre Channel network, allowing servers to communicate with storage using the NVMe protocol from end to end — including the server operating system, server hypervisor, network adapter cards, storage OS and storage drives.

NVMe over Fabric can help push application response times down to microseconds, accommodating use cases that depend on near real-time information access. These use cases include artificial intelligence, machine learning and Internet of Things. Organizations that invest in these areas should actively explore NVMe-oF.

What Happens Going Forward?

The emergence of NVMe — especially, NVMe-oF — has the potential to create an unprecedented situation in the IT world. For the first time, the network may become the most prominent bottleneck in the enterprise. Even the first generations of NVMe-based hyperconverged infrastructure, for example, will likely require 25-gigabit-per-second Ethernet, a capacity that might seem shocking to network managers who currently have plenty of extra bandwidth on their 10Gbps (or perhaps even 1Gbps) networks. Over time, NVMe-based flash may require 50Gbps and 100Gbps Ethernet links, with 400Gbps Ethernet uplinks.

Looking at these capacity numbers, it’s clear that talk about NVMe being a game changer is warranted. Most organizations have time to make major decisions and plan out network upgrades, but one thing is certain: No matter what they decide, most enterprises are likely to have NVMe-based flash storage running in their data centers soon enough.

Want to know more about storage options that can optimize your data center? Visit CDW’s Data Storage page.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>