Non-Volatile Memory Express (or NVMe in short) was introduced a decade ago as a communication protocol between host software and non-volatile memory. Today, it is the industry standard when it comes to Solid State Drives (SSDs). NVM Express recently launched the specifications of NVMe version 2 (NVMe 2.0 in short).
Its specifications have been restructured to facilitate easy and rapid implementation of NVMe solutions across the growing NVMe device environment. Interestingly, the environment now includes Hard Disk Drives as well.
NVMe 2.0 key features:
Zone Namespaces (ZNS)
It is a software interface that is different from the traditional block models that got inherited down to SSD from older storage devices.
NVMe Zone Namespace inherits Read, Write, and Flush commands from NVM Command Set. Here, the data block location (Logical Block Addressing) is divided into zones of fixed sizes. These zone sizes are configurable, and data can only be written sequentially. Storage Vendors can decide on zone mapping and erasing block schemes.
ZNS improves the overall performance of the device, while also reducing the cost. By allowing the device and the host to work together, it simplifies the process of data placement. In addition, more media capacity is available to the host.
Key Value
It defines the communication between the host and the storage device at the register level. This specification defines the functionality of the Key Value Command set, which the controller implements.
The size of a Key Value pair depends on the size of the key and the value. The software communicates directly with the drive using these KV pairs. The process does not require a block address. As a result, there is no need for translation tables between keys and storage blocks.
- Also Read:
Endurance Group Management
NVMe has now added new capacity management features to the Endurance Groups. These groups help manage storage pools larger than namespace.
Endurance Groups can be created and deleted. With NVME 2.0 specifications, they can even be allocated media units. This represents the granularity of data accessibility on SSD and helps improve control.
NVME 2.0 support for HDDs
Finally, the NVMe protocol is expanding to the Hard Disk Drives (HDD) as well. NVMe 2.0 specifications define features, management capabilities, and other improvements for HDDs. It may sound odd for NVMe to support HDD when most common Hard Disks cannot fully utilize the 600 MB/s throughputs of the SATA 3 interface.
However, we have seen technological advancement in recent times that has increased the speeds of Hard Disks quite significantly. For instance, the new Seagate Mach.2 boasts a transfer speed of up to 524 MB/s. Who knows, maybe Hard Disks will get fast enough to compete with SSDs in the future.
On the other hand, this also means that manufacturers can choose NVMe, and avoid SATA altogether. If successful, this could help reduce confusion about different drive interfaces among consumers. While this may or may not be the case in the future, this unification of storage standards could help NVMe over Fabrics (NVMe-oF) down the line.
Extended CRC Mechanism
NVMe 2.0 extends its Cyclic Redundancy Check Mechanism (CRC) to accommodate 32- and 64-bits keywords. Initially, it was limited to just 16 bits. Since CRC works by having a keyword divide the actual transfer message and tallying the remainders at the two ends, using larger keywords reduces the errors going unnoticed.
Command Group Control
Command Group Control is a security feature that prevents unintended changes to a system. These changes could be unintentional or could originate from malicious software. This is somehow similar to the already existing Namespace Write Protection.
The Common Group Control allows normal read and write operation, but bars any admin commands that can modify the drive’s configuration. After the setup, the feature will only stop when explicitly unlocked or in case of a power cycle.
NVME 2.0: Backward Compatibility
NVMe 2.0 is backward compatible. It means that SSD based on the new specification will work with present-day motherboards and drives.
- Meanwhile, check out our gaming PC build for under $1,000.