Computational storage specs hit v1.0 after 4 years of work
Emerging field now has baseline definitions for vendors to work with
The Storage Networking Industry Association (SNIA) has at last published version 1.0 of its Computational Storage Architecture and Programming Model, the specs meant to help develop the new performance-boosting tech by providing interoperability between different vendors.
A new direction in computing
Computational storage covers hardware and software architectures in which compute is more tightly coupled with storage at the system and drive level, partly driven by trends such as the growing volumes of data that organizations find themselves dealing with.
A typical implementation might be an SSD with some embedded compute capability, which might vary from an FGPA designed to offload compression, encryption, and erasure coding from the host CPU, to an Arm CPU capable of running Linux and custom code. However, there are other architectures that count as computational storage.
Some recently announced computational storage products covered by our sister site Blocks & Files include SSDs from ScaleFlux and Samsung.
These specifications have been a long time coming, with SNIA forming the Computational Storage Technical Work Group (TWG) in 2018 to look at establishing some common standards for the emerging computational storage field.
Availability of the new specifications was announced on SNIA's Compute, Memory, and Storage Initiative (CMSI) blog, and these can be downloaded as a PDF from the SNIA website.
According to SNIA, the 1.0 designation indicates that the trade association's membership has voted to approve the Computational Storage Architecture and Programming Model as an official SNIA specification that vendors can now work with.
The specs are expected to be useful for hardware developers building their own computational storage systems, as well as software architects, programmers, and other users to understand the definitions and common framework that the architecture describes for computational storage.
- AI chip adds artificial neurons to resistive RAM for use in wearables, drones
- Flash memory vendors unveil PCIe 5.0 SSDs, latest spec for CXL interconnect tech
- SK hynix and Los Alamos Labs to demo key-value store accelerating SSD
- BAE scores $699 million contract to support US Army supercomputers
One of the reasons for SNIA drawing up the specifications was to define common terminology across the ecosystem, and to define a discovery process flow for systems to find and interface with any computational storage resources they might have connected. In the SNIA blog, Computational Storage Special Interest Group chair David McIntyre said that it is an "interesting time" for compute, storage, and networking as the three are beginning to merge and support each other.
"The 1.0 Model has a nice baseline on definitions – before this there were none, but now we have Computational Storage Devices (CSxes), Computational Storage Processors (CSPs), Computational Storage Drives (CSDs), and Computational Storage Arrays (CSAs), and more," he said.
Definitions also help to educate and ground the ecosystems and the engineering community, he added, and how to characterize vendor solutions into the separate categories.
According to Computational Storage Architecture and Programming Model editor Bill Martin, the TWG is developing a Computational Storage API that will utilize the Model. This will provide an API through which vendors will be able to provide a library that maps to their particular protocol, which would include the NVMe protocol layer.
The NVM Express consortium is also continuing development efforts on computational storage programs that will provide a mechanism to implement the SNIA Architecture and Programming Model.
Looking beyond NVMe, SNIA said that CXL will be the next generation transport for both storage and memory devices, and a key feature of the SNIA Architecture and Programming Model is that it can apply to CXL, Ethernet, or other transports as it does not dictate the transport layer used to talk to the Computational Storage Devices (CSxes). ®