NVM Express, Inc. has announced what it calls a rearchitected NVMe 2.0 library of specifications. The organisation sees this as a major upgrade, hence the move from NVMe 1.4 to 2.0, rather than stopping off at 1.5 or the like. Digging deeper into the reasoning for the major version change, the new spec includes "groundbreaking new features and structural specification updates [to]enable the future flash technology ecosystem". In other words, the ways the tech industry were using NVMe 1.4 outgrew the confines of the spec, and its uses have evolved well beyond simple storage, so we have a major rearchitected spec today. However, please be assured that NVMe 2.0 is backwards compatible.
"NVMe technology has unified client, cloud and enterprise storage around a common command set and architecture," observed NVM Express president, Amber Huffman. "Our Technical Work Group has worked diligently to optimize the features of the NVMe 2.0 specifications for diverse market segments, allowing for emerging use cases and opening new NVMe device types." We also heard that the new NVMe 2.0 architecture is designed for future SSD development and form factors – with an eye on hyperscale and enterprise computing. It is foreseen that NVMe 2.0 devices will comfortably facilitate enterprise and client solid state drives (SSDs), removable cards, compute accelerators and HDDs.
The key features, and attractions, of NVMe 2.0 are officially summarised in the following bullet points:
- The ZNS specification provides a zoned storage device interface that allows the SSD and host to collaborate on data placement. ZNS permits data to be aligned to the physical media of the SSD, improving overall device performance and cost while increasing the media capacity that can be made available to the host.
- The KV Command Set provides access to data on an NVMe SSD controller using a key rather than a block address. KV allows applications to directly communicate with the drive using key-value pairs, avoiding the overhead of translation tables between keys and logical blocks.
- Namespace Types provides a mechanism to allow an NVMe SSD controller to support the different command sets that are defined as part of the NVMe 2.0 release as well as a path for future command sets.
- NVMe Endurance Group Management enables media to be configured into Endurance Groups, exposing granularity of access to the SSD and improving control.
- Rotational Media support enables support for HDD on NVMe technology with updates to features, management capabilities and other enhancements required for HDD support.
- Multiple Controller Firmware Update defines behavior for firmware updates on complex systems with multiple controllers.
- Shutdown enhancements enable showdown control from enclosure management for simplified management of many drives at once.
- Simple Copy Command copies data from one namespace in the drive, offloading the copy operations from multiple source LBAs to a single destination LBA.
- 32/64 bit CRC expands the protection information and data protection to 32 and 64 bit allowing for new types of meta data use cases.
- Command Group Control prevents unintended changes after a system is provisioned and protects the system from unintentional or malicious changes.
The full NVMe 2.0 library of specifications is available for your perusal now.