Expansion of NVMe Support Signals Growth

May. 6. 2014

Recent weeks have yielded several developments that signal increasing support for NVMe. Product announcements, OS support, and test-community support are all signs of growth for NVMe, the interface protocol for non-volatile memory (NVM)-based storage technology aimed at enabling the full potential of PCI Express SSDs.

End users have been anticipating NVMe storage since the 2012 release of the NVMe 1.1 specification. Dell recently announced that PowerEdge R920 server would have support for up to 8 1.6 TB NVMe drives. Specifically, those are 2.5” SFF-8639 form factor SSDs from Samsung. Dell and Samsung were early promoters of the NVMe Express Organization (formerly NVM Express Working Group) so it's not surprising to see this product announcement among the first NVMe products being commercially available.

An additional sign of increasing adoption and growth for NVMe is greater operating system support. Early on, only a few reference drivers were available, and these had to be digitally signed (if Windows) or compiled into the kernel (Linux). Those early steps paved the way for greater support today.

Currently "inbox" NVMe support can be found in the latest releases of Ubuntu, FreeBSD, RHEL, Windows 8.1, and Windows Server 2012 R2. Additionally, NVMe support can be added to Windows 7 and Windows Server 2012 with the open-source OFA NVMe driver.

NVMe can be implemented in a variety of form factors. The traditional CEM add-in card, the SFF-8639 disk drive form, will be common in enterprise applications. Thankfully these same drivers will work over different form factors (CEM, SFF8639, M.2) since they all rely on the established PCIe stack.

One “OS” whose support is critical for NVMe is UEFI. Not an OS per se, but important if you want to install an OS to and boot from an NVMe device. (We'll address this in my next post.)

Finally, we're seeing greater support for NVMe and PCIe storage in the test community. As evidence of this, see SFF-8639 to PCIe CEM adapter modules (SA-AD-x439) from serial cables. This module allows for connecting an SFF-8639 SSD to a CEM connector in a PC or server.

Why would anyone want to do that? From the perspective of early interop testing, I know that it's very useful to be able to connect an SSD to a variety of PCIe root complexes to ensure interoperability, but here's the problem: there aren't many PCIe hosts out there with SFF-8639 support. This fixture fills that gap. These are the sort of "widgets" that can make life easier on the test bench, and it's another sign that the NVMe industry is poised to grow.