NVM Express, Inc. recently announced the release of the NVM Express® (NVMe®) 2.0 family of specifications. The NVMe 2.0 specifications were restructured to: enable faster and simpler development of NVMe solutions, and to support the increasingly diverse NVMe device environment. The extensibility of the specifications encourages the ongoing enhancements of independent command sets like Zoned Namespaces (ZNS) and Key Value while enabling support of the various underlying transport protocols common to NVMe and NVMe® over Fabrics (NVMe-oF™) technologies.
In addition to these exciting new features, the release of the NVMe 2.0 specifications includes sequestered technical proposal or TP (not that kind of TP) zip files for NVMe-MI 1.1, NVMe 1.4, and NVMe-oF 1.1 specifications. The previous specifications are now all packaged with significantly more TPs inside.
An Overview of the New TPs
To facilitate the development of the refactored NVMe 2.0 family of specifications, the public release of some NVMe, NVMe-oF, and NVMe-MI technical proposals were delayed (or sequestered). With the release of the NVMe 2.0 family of specifications, NVM Express is pleased to announce that those TPs are now published publicly. The respective TP Zip files of NVMe-MI 1.1, NVMe 1.4, and NVMe-oF 1.1 specifications now include all existing ratified TPs. Apart from TP4097, all these TPs have been integrated into the NVMe 2.0 family of specifications. A TP4097a that is applicable to NVMe 2.0 specification will be released soon. View the updated TPs in the Developers section of the website.
New NVMe 2.0 Specification Features
In addition to releasing sequestered technical proposals from previous specifications, the NVMe 2.0 family of specifications include critical new features like Zoned Namespaces (ZNS), Key Value and Endurance Group Management.
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, which improves the overall performance and cost while also increasing the capacity that can be made available to the host.
The NVMe Key Value (NVMe-KV) Command Set provides access to data on an NVMe SSD namespace using a key as opposed to a logical block addresses. The NVMe-KV command set allows users to access a variable sized value (e.g., an object) using a key without the overhead of the host maintaining a translation table that defines an object as a sequence of logical block addresses.
Rotational media support has been added to enable use of NVM Express by Hard Disk Drives (HDDs). This includes updates to features, management capabilities and other enhancements required for HDD support.
NVMe Endurance Group Management enables media to be configured into Endurance Groups and NVM Sets. This exposes granularity of access to the SSD and improved control.
The NVMe 2.0 specifications also maintain backwards compatibility with previous NVMe architecture generations.
Key NVMe 2.0 Features:
- 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 with updates to features, management capabilities and other enhancements required for HDD support.
- Multiple Controller Firmware Update defines behavior for firmware update on complex systems with multiple controllers.
- Shutdown enhancements enables 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.
- NVMe 2.0 specifications maintain backwards compatibility with previous NVMe generations.