Tuesday, November 15, 2022
A decade ago, a flash-based solid-state drive (SSD) was pricey and precious—reserved for “hot data” that needed fast access, all the while keeping track of how many writes the storage media could handle before it wore out. Today, the endurance of NAND flash—now 3D—is rarely a concern, and the now-very-mature Non-Volatile Memory express protocol (NVMe) has unlocked the full capabilities of SSDs. There’s also no shortage of form factors serving different purposes in a wide array of use cases.
3D NAND flash–based SSDs are no longer just a place to store data for fast access. Coupled with DRAM, they’re now the primary storage for many devices, including some laptops. Thanks to advances in controller technology, firmware and software can do a lot more on their own at a time when data is growing exponentially through artificial intelligence (AI)- and machine learning (ML)-driven workloads.
The advances in SSDs can be credited to both big and small vendors who are responding to market demands for sleeker form factors and devices that can handle extreme environments to operate in edge computing environments, including industrial settings and within the modern vehicle. And while faster interfaces such as NVMe and the rapidly maturing Compute Express Link (CXL) protocol will allow for data to be moved to and from SSDs faster than ever, there’s a shift toward SSDs doing more on their own.
Samsung Electronics recently unveiled the second generation of its high-performance SmartSSD—proprietary computational storage that incorporates data-processing functionality within the device. Rather than transferring all data between the CPU, GPU, and RAM, the SmartSSD can process data directly to help eliminate the bottlenecks that often occur when moving data between storage devices and CPUs. Aside from dramatically improving system performance, this allows for much higher energy efficiency because moving data demands a great deal of power: Samsung touts a reduction in energy consumption as much as 70%.
Samsung’s SmartSSD is an example of how the company is focused on delivering SSDs that exceed what a hard drive can do for storage, the company told EE Times. NVMe plays a critical role because it eliminates performance bottlenecks in the CPU interface, which maximizes NAND parallelism and improves random read and write speeds.
The company sees demand for “smarter” features in SSDs from customers who work with data-intensive applications that have more complex workloads, such as big data analysis, AI and ML, and security, and the computational storage capabilities of its SmartSSDs address the needs of these workloads.
For AI/ML workloads in particular, Samsung simultaneously introduced its “memory-semantic SSD” that combines the benefits of storage and DRAM memory. By leveraging the CXL interconnect technology and a built-in DRAM cache, the company said, these SSDs achieve as much as a 20× improvement in both random read speed and latency when used in AI and ML applications—and are ideal for workloads that need to process smaller datasets faster.
Samsung expects CXL to become the next key interface technology in SSDs after first being used in the persistent memory segment, as well as in high-capacity memory required in AI/ML applications and then gradually expanding to the general SSD market.
What CXL protocol and computational storage have in common is they both make data movement more efficient. A smarter SSD with computational storage means the data doesn’t have be moved anywhere; a workload can be done on the drive.
CXL has rapidly gained momentum since its inception, while the current applications for computational storage are limited for now and include compression, video transcoding, database acceleration, and edge computing.
Standards only just released
For computational storage to take off, it needs to be standardized. SNIA’s Computational Storage Architecture and Programming Model was only just recently approved by its membership and released as an approved standard. Version 1.0 defines the capabilities and actions that can be implemented across the interface between computational storage devices, including processors, drives, and storage arrays.
In an interview with EE Times, Jason Molgaard, chair of SNIA’s computational storage technical working group, said that more than 50 companies are collaborating on the standard, which got started at the 2018 Flash Memory Summit.
One of the focuses besides the standard for SNIA is the security aspect. “We’re essentially opening up these new attack surfaces, and we don’t want to have a product that’s vulnerable,” Molgaard said.
The standard also intersects with NVMe and CXL while being agnostic to those transports and compatible with Serial-Attached SCSI (SAS) or Serial Advanced Technology Attachment (SATA), and there’s nothing preventing computational storage from being done with spinning-disk hard drive, Molgaard said. “We’re leaving that open to those other organizations to decide. NVMe is a very logical first interface for computational storage, but it doesn’t mean it’s the only one.”
SNIA’s efforts on computational storage are twofold: There’s an architecture and programming model, Molgaard said, with the former being the priority. The latter may need more time to finalize the application programming interface (API) to align with NVMe. For now, SNIA has defined three different architectures: a computational storage processor, a computational storage drive, and a computational storage array. The processor doesn’t have storage, but it interacts with storage.
The computational storage drive is the “poster child” for computational storage. Samsung’s SmartSSD is a good example, he said, because it’s able to perform operations on data directly in the drive. While CXL optimizes data movement, computational storage allows the data to stay put, although in the bigger picture, computational storage in a larger system could work alongside CXL.
The impetus for both CXL and computational storage is driven in large part by the growing volumes of data that are being ingested and processed, and one of the most basic and useful workloads for smarter SSDs with computational storage capabilities would be filtering, Molgaard said. “A ton of data gets written into our storage, but some of it’s irrelevant—either irrelevant for a specific application, or it’s just irrelevant in general.”
Parameters could be established to decide what data needs to be pulled from a database or even store there at all. “You can reduce the dataset down, so you don’t have to transmit nearly as much,” he said.
This type of filtering is of interest to hyperscalers, as well as large online retailers, because they can reduce datasets down to just items of interest. “Only those items of interest need to be transmitted to the host where you likely have a higher-performance CPU that can actually do some of the final number crunching on the data,” Molgaard said.
Computational storage provides flexibility because it accommodates different types of data manipulation, including compression algorithms, encryption, or deduplication—just about any transformation of data. “Why move it to the host to do the operation and then move it back when you can just perform it right there on the drive?” he asked.
Simplicity will drive adoption
Computational storage and smart SSDs in general could allow for more autonomous storage, Molgaard said. “You give it more of a high-level objective, and the drive just goes off on its own and reports back after it’s done a significant amount of work.”
Being able to do computations locally is not the only hallmark of a smart SSD: Although endurance is less of a concern thanks to advances in NAND flash, firmware, and controller technology, there’s still room for improvement, said J.B. Baker, vice president of marketing and product management at ScaleFlux. Endurance remains quite relevant for some workloads, as well as improving the effective capacity per gigabyte of flash, he told EE Times. Even more so, the company’s focus is about making new SSD capabilities easy to adopt.
As a younger company founded in in 2014, ScaleFlux is on its third generation of its smart SSD, with samples just beginning to ship to customers. Baker said ScaleFlux integrates everything into a single chip that includes compute engines, flash management, and memory interface. This reduces the cost and the power associated with delivering the compute functionality.
It goes without saying that everyone is dealing with tremendous data growth, he said, but the need for smarter SSDs is just as much about addressing complexity that goes along with that growth and various workloads.
IT operations people procuring drives for their infrastructure don’t have the budget and time to manage complexity; they must be able to plug things in and have them work to cover ever-growing service-level agreements and growing amounts of data and processing. “It’s got to be simple,” said Baker, acknowledging that ScaleFlux’s early computational storage drives failed the simplicity test and the second generation was improved.
With the third iteration, the company “nailed it” because a better SSD isn’t just smart; it’s simpler, he said. For ScaleFlux customers, he said that means not having to change their applications or install new software. “You plug this thing in where you’re already using NVMe SSDs or plan to use them.”
Baker said applications run faster, latency is reduced, and flash capacity is maximized, without programming or FPGA RTL skills. What ScaleFlux has added above what functions an NVMe SSD provides is “transparent compression,” which is automatic without a user or administrator having to do anything to make it happen. “Being able to store more data per gigabyte of flash reach reduces your cost of the flash.”
Customers usually turn to flash SSDs because hard drives can’t meet the application demand, even though they’re cheaper, but the goal may be not only getting 5× as many transactions out of the server but also delivering the transaction load more consistently, he said. That is something a smart SSD with on-board computational capabilities can enable.
Like CXL, computational storage promises to reduce the amount of data movement for any given workload, but there are limitations because right now, it doesn’t always make sense to put general-purpose programming down into the drive.
“We’re still in the early stages of that reduction in data movement,” Baker said. For now, the use cases for computational storage in SSDs are being driven by exponential data growth and include workloads where “hot data” needs to be on flash to be worked on. Fraud detection is a good example. Otherwise, computational storage makes sense where there are opportunities to offload functions from the CPU that are slowing things down and could be done better in hardware engine.
By making smarter yet simple SSDs, ScaleFlux is looking to make computational storage more mainstream without necessarily emphasizing the term upfront because people are often concerned about adopting new technology, Baker said. “We’ve tried to make it as drop-dead simple and easy as possible such that you can’t afford not to do it.”
Copyright © 2023 CST, Inc. All Rights Reserved