NVM Express is the next step toward all-flash arrays delivering ever-faster performance. Using NVMe, all-flash...
arrays can provide hundreds of thousands or even millions of IOPS backed by microsecond response times.
But NVMe and its complementary partner NVMe over Fabrics (NVMe-oF) are new and relatively immature, and NVMe performance improvements depend on the all-flash array architecture selected. Conventional all-flash arrays that offer NVMe will deliver as much as a 20% performance improvement, though a few NVMe models from emerging all-flash array providers are expected to deliver 10 or more times the performance of current technology.
20% more NVMe performance with minimal risk
As we near the end of 2018, the number of enterprise all-flash arrays that support NVMe remains a small percentage of the overall storage market. Research firm DCIG found in its 2018 evaluation of more than 100 all-flash arrays that less than 20% percent support connectivity to SSDs with NVMe interfaces.
NVMe support is still nascent in the all-flash array market because applications using NVMe storage arrays will see relatively small performance gains. Conventional all-flash arrays use two or more controllers to connect to back end SSDs using NVMe. These controllers then aggregate, manage and present these SSDs as storage volumes to network-attached hosts.
By selecting all-flash arrays that support NVMe SSDs on their back end, enterprises may see as much as a 20% improvement in application performance compared with all-flash arrays that use SATA- or SAS-attached SSDs. Hosts will still connect to these NVMe-enabled all-flash arrays over standard Fibre Channel (FC) or Ethernet networks. This approach makes it easy for organizations to introduce the performance benefits that NVMe SSDs offer with minimal risk to their environment.
A 20% performance increase is noteworthy, but applications attached to all-flash arrays using NVMe SSDs can theoretically see much greater performance improvements -- as much as 10 times over all-flash arrays using SAS- and SATA-attached SSDs.
This NVMe performance disparity stems from the fact that existing all-flash array controller architectures fail to unlock the full performance benefits that NVMe SSDs offer. One of the original intents of array controllers was to accelerate the performance of HDDs. Using NVMe SSDs, the controllers get in the way. To unleash the performance of NVMe SSDs, array controllers as well as the storage networking protocols that hosts use to communicate with all-flash arrays must evolve.
Going all in on NVMe
To obtain the full performance boost that NVMe SSDs offer in all-flash arrays, enterprises must use ones that offer end-to-end NVMe connectivity. These all-flash arrays provide front-end NVMe-oF connectivity to hosts via FC and Ethernet networks and back-end connectivity to NVMe SSDs. This design frees hosts to talk directly to the NVMe SSDs using the native NVMe protocol and send native NVMe commands over Ethernet and FC storage networks that pass through the all-flash array's controllers.
Using this approach, all-flash array providers such as Pavilion Data report that applications can theoretically achieve sub-200 microsecond latencies, more than 100 GBs of throughput and tens of millions of IOPS. Enterprises using machine learning, predictive analytics and video processing are likely to need this level of NVMe performance.
But be forewarned, there are risks and limitations related to this approach. Pavilion Data, for instance, delivers data management services with minimal latency -- single digit microseconds -- using controllers that more closely resemble line cards found in Cisco Ethernet switches. This approach represents a deviation from previous generations of array controller architectures.
Companies must also, by necessity, limit the breadth of the NVMe deployment in their environment. NVMe-oF drivers for operating systems are only available for the latest versions of Linux, such as Red Hat Enterprise Linux 7.4 or later, and possibly from the all-flash array provider. More notably, NVMe-oF drivers aren't yet available from major operating system providers such as Microsoft and VMware.
Wait a bit for composable infrastructure
Companies can get some performance benefits now by using all-flash arrays that support NVMe SSDs on their back end or a greater performance boost with an end-to-end NVMe approach. But most enterprises will find they get more flexibility, performance and bang for their buck by waiting a year or two before aggressively adopting the NVMe storage array approach. An all-flash array architecture soon to be available from all-flash providers such as Kaminario and Tegile decouples the all-flash array controller from back-end NVMe SSDs to create a composable infrastructure.
Using this architecture, applications can choose between an all-flash array's data management features and its performance characteristics. If an application needs the performance boost that NVMe SSDs provide but also needs the data management features found in array controllers, such as LUN management, snapshots and replication, it can access the NVMe SSDs through the array controllers and get both data management and an increase in performance.
However, if an application needs the full NVMe performance boost that the all-flash array's NVMe SSDs provide, it can bypass the all-flash array controller and directly access the array's NVMe SSDs via NVMe-oF.