NVMe consortium polishes its specs to support computational storage

Tech to shift storage to compute has so far failed to catch on in a big way

Updated The NVM Express consortium has updated its specifications by adding a Computational Storage Feature, creating a standardized way for applications to talk to storage devices that include some processing capability.

NVM Express (the organization) oversees the NVMe specifications for using solid state drives (SSDs) via a host computer's PCIe bus, and the Computational Storage Feature extends these to support NVMe computational storage devices.

This support includes two new NVMe command sets: one for Computational Programs and another for Subsystem Local Memory commands. Both are now available for download from the NVM Express website.

The command set for Computational Programs enables NVMe devices to operate on data located in the NVM subsystem, using commands to manage computation on the device.

Meanwhile, Subsystem Local Memory commands allow the local memory in an NVM subsystem to be accessed via NVMe I/O commands. Commands are also implemented for reading, writing and copying user data to memory on the device itself.

Computational storage covers architectures in which compute is more tightly coupled with storage. Typically, this is intended to reduce data movement by having processing capability embedded into a storage device such as an SSD. The result should be faster response times for latency-critical applications such as databases and AI processing.

"NVM Express Computational Storage is part of our efforts to help enterprises and hyperscale datacenters meet the ever-evolving demands of the storage industry," Bill Martin, NVMe Computational Storage Task Group co-chair said in a statement sent to The Reg. Martin is also principal engineer for SSD IO Standards at Samsung Electronics.

"Computational Storage is a standardized approach that enables an open, interoperable ecosystem. By offloading compute to the device, we anticipate that these industries will experience reduced total cost of ownership and overall performance boosts," he added.

Samsung is one vendor that manufactures computational storage drives, which it calls SmartSSDs.

In a blog co-authored with Intel Storage Software Architect Kim Malone, Martin explained how the increasing size of data sets has led to performance bottlenecks caused by greater network bandwidth usage, host memory and CPU utilization, and computational storage allows NVMe devices to address this by offloading processing of data from the host.

"By reducing the number of data transfers necessary for computation, systems can experience faster response times for critical data applications," the blog states.

"Furthermore, by shifting the compute to an NVMe device, Computational Storage frees up fabric utilization across the entire system, delivering reduced TCO for datacenter environments," it claims.

However, as our partner site Blocks & Files detailed recently, computational storage has so far failed to see much market adoption. One reason for this is that the compute power embedded in the storage device is lightweight by comparison with that of the system's host processor, typically an FPGA or just a handful of Arm cores.

Typical applications for computational storage SSDs have tended to focus on offloading compression and decompression, erasure coding, and accelerating key-value operations in applications such as databases.

It also isn't clear how the new NVM Express support fits with the Computational Storage Architecture and Programming Model, already defined by the Storage Networking Industry Association (SNIA).

SNIA delivered version 1.0 of these specifications not much more than a year ago. The document defines concepts and aims to provide a common programming model for applications to discover and use any computational storage resources attached to a computer system. ®

Updated to add:

NVM Express clarified to The Reg that the SNIA developed an architectural model for any transport to use, making the distinction that the newer spec is "the Computational Storage Architecture and Programming Model. SNIA also developed the Computational Storage API. While the NVMe standards use some different terminology, they follow the architecture in the SNIA specification and the SNIA Computational Storage API was developed specifically to work with the NVMe Computational Programs Command Set and Subsystem Local Memory Command Set."

More about


Send us news

Other stories you might like