The computational storage SSD doesn't seem to be progressing along the path early advocates expected. Although these companies promoted the architecture's use as a programmable device, it seems stronger growth is coming from a different application.
Some of the early players have exited the business, while others have survived. Meanwhile, fixed-function devices, which are not programmable by the user, successfully employ the basic architecture of computational storage. They offer better performance or highly useful functions to companies open to using a nonstandard storage device.
The thinking behind computational storage
Computational storage is a relatively simple idea. All SSDs incorporate controllers. What if admins used a part of that controller's computational power to do more than simply manage the SSD's internal operation? SSDs lose their enormous internal bandwidth whenever data transfers through the SSD's I/O channel. By moving some computing functions inside the SSD, that huge bandwidth can help perform lightning-fast operations.
In addition, anything the computational storage SSD does internally lightens the server's workload and reduces network traffic. The new form of SSD brings a solid speed benefit, but if the system has constraints in both network bandwidth and computational resources, such a drive brings disproportional improvements.
Computational storage devices have two basic uses. Users can program some devices, like a server, to perform any function they want. Other fixed-function devices look like standard storage, but they can offload a simply described but data-intensive task that brings significant benefits to the host. Such tasks include video compression or encryption.
A growing pool of fixed-function computational storage SSDs are on the market.
IBM's FlashCore Module is the basis for its storage systems, like the FlashSystem 7300 or FlashSystem 9200. The company's third-generation FlashCore Module is an SSD with internal compression and decompression, tasks that software often performs.
The same SSD also helps with ransomware since ransomware encrypts the data. The FlashCore Module compares the old data in the SSD to the new data to determine whether this encryption is successful. IBM says it intelligently uses some of the system's RAID resources and does not affect performance.
In a different approach to the ransomware problem, Flexxon has developed an SSD that monitors disk access patterns as it watches for malware attacks. Flexxon explains it can detect most malware through an analysis of read/write patterns without the need for signatures.
Samsung has introduced an SSD platform with Xilinx called SmartSSD that provides the ability to produce several computational storage designs. A company called Nimbix uses SmartSSD in its Nimbix Cloud to run Apache Spark queries as much as six times faster than on a standard SSD.
Samsung has used the SmartSSD platform for one of its own SSDs to support key-value disk management. While few might think of key-value storage as computational storage, the function is growing in popularity and requires the use of internal SSD intelligence to manage. The company has also demonstrated a proof-of-concept SSD, not based on the SmartSSD platform, that includes a sophisticated neural network chip that does AI preprocessing.
Netint, a company with products for video processing, sells its Codensity D400 Series of SSDs, which perform video compression internally.
In the general-purpose arena, some devices are programmed somewhat like a standard server to perform the custom data manipulation the customer wants. These are more the kind of computational storage SSD most users know. The Storage Networking Industry Association (SNIA) has standardized these devices into three basic types:
- Computational storage drive. Similar to an SSD but with the addition of internal computation elements.
- Computational storage processor. Close to one or more SSDs but is external to the SSDs themselves.
- Computational storage array. A system based on a computational storage processor and one or more plain SSDs or computational storage drives.
Certain companies were early leaders in this market and devoted significant effort to foster the adoption of the general-purpose computational storage SSD.
ScaleFlux produces two computational storage drives: both of which are programmable, the Computational Storage Device 3000 and the CSD 2000. The vendor positions these products as the only PCIe SSDs to offer data-path compression and decompression, while also working as general-purpose computational storage devices.
The company's initial design, the CSD 2000, is based on a field-programmable gate array. This approach gave the company a faster time to market than if it used an application-specific integrated circuit (ASIC) but burdens it with a somewhat higher cost. The newer CSD 3000 uses a proprietary ASIC. The company counts Chinese internet giant Alibaba as one of its leading customers. Its devices have also been demonstrated in Ampere Computing systems.
NGD, formerly Next Generation Devices, was also an early manufacturer of computational storage drives. Its Newport line used an onboard ASIC and Arm cores to process data stored within the drive.
NGD also was an early driver of SNIA computational storage standards, devoting considerable energy to this effort. But, over the past year, the company's founders have left.
Eideticom produces a computational storage processor with various form factors -- U.2, PCIe add-in card, and Enterprise and Data Center SSD Form Factor -- by partners AMD and BittWare. The device attaches to local NVMe SSDs to create a managed array with computation capabilities.
The Eideticom processor has been deployed at the Los Alamos National Laboratory, home of the Trinity supercomputer, where the organization used it as a compression engine to reduce storage costs by 50% and power consumption by 60% compared to the original system.
NVXL was spun out of an early manufacturer of SSDs, BiTMICRO, to produce computational storage drives. NVXL seems to have vanished without ever having introduced a product. Its website and BiTMICRO's site have been deactivated.
All prior SSDs have been interchangeable. SSD purchasers are accustomed to looking at SSDs from many vendors and choosing the one that offers the best performance for the price. This ability is lost with computational storage.
Industry standards bodies, including SNIA, have put considerable work into resolving this issue and creating standards that bring a level of conformity to the market. Still, each vendor's approach is different enough that interchangeability is still some way off, limiting the use of this technology to applications that are less sensitive to being sole-sourced.
The need to revise software to take advantage of the product is another issue that often stands in the way of computational storage SSD acceptance in the market. Computational storage yields improvements in performance. However, the improvements require untangling proven software to convert certain portions of the code to make them command the device to do the work instead of the server. This adds difficulty and prevents the devices from using standard, off-the-shelf programs. Modifying the code also opens a door to new bugs, which few companies are willing to risk.
It appears that computational storage will continue to do well in fixed-function devices, while general-purpose computational storage devices will experience considerably slower acceptance.