NVMe Gets Refactored
The non-volatile memory express (NVMe) specifications are getting restructured.
While maintaining backward compatibility with previous generations, NVMe 2.0 allows for faster and simpler development in what has become an increasingly diverse device environment that has expanded to include hard disk drives (HDDs). NVM Express president Amber Huffman said rearchitecting NVMe is all about meeting the evolving demands of the future of storage. It also encourages the development of independent command sets such as Zoned Namespaces (ZNS) and key value (KV) as well as enabling support for the various underlying transport protocols common to NVMe and NVMe-of Is Ready to Go the Distance.
What started out as a working group is now a full-fledged organization that maintains a library of specifications that comprises multiple documents including the base specification, as well as command set, transport, and management interface specifications. The NVMe device ecosystem spans enterprise and client solid-state drives (SSDs), removable cards, compute accelerators, and hard disk drives (HDDs).
Among the many updates to NVMe in version 2.0 is the ZNS specification, which provides a zoned storage device interface that enables the SSD and host to collaborate on data placement by permitting data to be aligned to the physical media of the SSD. This has the effect of improving overall device performance and cost while increasing the media capacity that can be made available to the host. Technical Work Group chair Peter Onufry said that as new command sets have been added to NVMe, different types of namespaces were required. The ZNS feature in NVMe 2.0 allows for an architecture that supports multiple command sets.
Samsung Electronics recently introduced its new enterprise SSD featuring ZNS technology, which leverages the specification to maximize available user capacity and offers an extended lifespan in storage servers, data centers, and cloud environments. Because ZNS allows data to be grouped based on their usage and access frequency — and stored sequentially in independent zones within an SSD — the drive’s write amplification factor (WAF) is lowered. By significantly reducing the number of write operations, the more efficient the SSD and the longer it will last — as much as four times longer than conventional SSDs, according to Samsung, making it a more sustainable, greener option for server infrastructures.
Further adding to the longevity of SSDs in NVMe 2.0 is the Endurance Group Management feature, which enables media to be configured into Endurance Groups by exposing granularity of access to the SSD and improving control. “What Endurance Group Management does is it allows you to create multiple pools of NVM and then create namespaces out of those pools,” said Onufry. Blocks of NAND storage could be placed in SLC or TCL mode, for example.
Another significant feature in NVMe 2.0 is the KV Command Set, which provides access to data on an NVMe SSD controller using a key rather than a block address. This enables applications to directly communicate with the drive using key-value pairs and eliminates the overhead of translation tables between keys and logical blocks.
NVMe 2.0 enables support for HDD with updates to features, management capabilities, and other enhancements required for HDD support – including the ability to extract reliability information out of the drive. “When we created NVMe, we were really targeting NVM,” said Onufry. “It wasn’t just NAND at that time, but we never imagined that people would want to hook up hard drives to NVMe.” As SCSI gets left behind in favor of PCIe or NVMe, there needs to be a way to continue to accommodate hard drives, he said.
While all these features and the many others in NVMe 2.0 may seem overwhelming, the base specification has been refactored for simplicity, said Huffman, so that it doesn’t become too complex so when a change is made, there’s no worry about not understanding how it affects the other pieces. “If you care about key value or you care about endurance groups, you can pick up those relevant pieces.”
Part of the refactoring was to pull out elements such as transport and commands, she said. This reflects that PCIe is no longer the only transport with the addition of TCP and RDMA. Similarly, so are the command sets with the addition of KV when originally there was just the block command set. Abstracting out these specifications enables users to build the device they want. At the same time, NVMe-oF, which was first introduced separately in May 2016, is now part of the base specification.
Onufry said pulling out things from the base specification allows for continued innovation and makes it easier for users building devices to focus on the features that matter to them without having to worry about the implications of other features. If one feature doesn’t fully take off, he said, the overall NVMe specifications aren’t bogged down by it. “We’re trying to cleanly partition it.”
— Gary Hilson is a general contributing editor with a focus on memory and flash technologies for EE Times.
CXL Protocol Adds Capabilities over PCIe