Non-Volatile Memory Express, or NVMe, is quickly becoming the go-to solution for high-performance enterprise storage. NVMe drives provide far greater storage performance than other storage bus architectures such as SATA because they completely bypass the SATA bus and communicate directly with the CPU. Now that NVMe has become a mature, mainstream technology, some organizations are beginning to turn their attention to NVMe storage management. That’s where the NVMe-MI standard comes into play.
NVMe-MI is an acronym for Non-Volatile Memory Express Management Interface. NVMe-MI doesn’t refer to a specific management tool, but rather is a standard for managing NVMe devices.
The NVMe-MI standard defines both a command set and a management architecture. This will allow for both in-band and out-of-band management of NVMe devices. The term "in-band management" refers to management tasks that are performed at the operating system level, while "out-of-band management" allows the system to be managed at a lower level, independently of the operating system. Today, many server hardware vendors enable out-of-band server management through an interface such as a baseboard management controller.
NVMe-MI allows management tools to discover NVMe storage devices and learn about their capabilities. What I find more interesting, however, is that NVMe-MI will allow for the management of an entire NVMe-based storage enclosure, not just the drives themselves. For example, the standard will allow for the monitoring of supporting hardware such as the enclosure’s power supply and its fans.
The really interesting thing about the NVMe-MI standard is that it is designed to be technology-agnostic. To put this into perspective, consider for a moment the current state of Wi-Fi. All manner of devices are Wi-Fi enabled. It doesn’t really matter who manufactures the device or what chips are used in the Wi-Fi adapter. Wi-Fi connectivity works because all devices adhere to a specific standard. That is similar to the way that the NVMe-MI standard works. It sets up specifications that define what a hardware manufacturer must do for its devices to be NVMe-MI-compliant, but the hardware’s actual form and function is up to the manufacturer.
To provide you with a more concrete example, consider that there are certain functions that all NVMe devices perform. Some of these functions include wear leveling for NAND cells, block erasures and relocation of data from a worn cell to a new cell. The NVMe-MI specification doesn’t tell manufacturers how to perform these functions. It merely provides a standardized way for devices to report on such functions.
Just as the NVMe-MI standard does not dictate to hardware manufacturers how they must accomplish storage maintenance tasks, the standard does not include its own management interface. Instead, NVMe-MI gives software vendors a way of examining NVMe hardware. An operating system vendor might, for example, use the NVMe-MI standard to create a universal device driver for NVMe storage devices. Similarly, a vendor that creates enterprise management tools might leverage the NVMe-MI standard in an effort to provide reporting and alerting capabilities for NVMe hardware.
While the NVMe-MI standard will obviously be appealing to software companies, it is IT professionals who will ultimately benefit the most from this standard. The most obvious benefit will be improved monitoring for NVMe devices. This is important because it will allow IT pros to be more proactive when it comes to storage management. A management tool might, for example, be able to alert the IT staff when it is time to replace an NVMe device. This would enable companies to refresh only the devices that are worn out, instead of undergoing scheduled storage refreshes. It also means that the chances of an unanticipated disk failure are greatly reduced.
Granted, there are already utilities that can perform wear monitoring for flash storage devices, but as the NMVe-MI standard takes hold, it will allow for vendor-neutral storage monitoring. A single monitoring tool may be able to monitor a collection of NVMe hardware from a variety of vendors, and provide statistics and alerts is a consistent manner through a single-pane-of-glass interface.