SNIA spec moves storage operations from the host CPU to the SSD.
TORONTO — Samsung Electronics Co., Ltd., is one of the first companies out of the gate with an SSD prototype based on a new open standard for a key value application programming interface (KV API).
The API was recently approved by the Storage Networking Industry Association (SNIA) and selected as a Best of Show Industry Standards winner in the Most Innovative Flash Memory Technology Awards at the 2019 Flash Memory Summit. The KV specification offers many potential benefits, but most significantly, a KV SSD moves resource-draining storage operations from the host CPU to the SSD itself rather than operating as a block device.
SNIA’s KV API standard was developed in response to growing concern that as the speed of SSDs further increases, system-level performance was reaching the point of saturation, allowing relatively few SSDs to be optimally interlinked. As the performance of SSDs continues to improve, the situation is expected to worsen when ever-increasing loads are placed on the CPU to manage block operations.
Samsung sees KV SSD technology as likely being the most cost-efficient for use with many storage appliances and IT systems and is already working with several software and hardware vendors to build an ecosystem, including Datrium FairCom, MinIO, Nexenta by DDN, Pliops, and Zettar.
Young Paik, senior director of product planning at Samsung Semiconductor, Inc., said the company’s KV prototype was developed to address the increasingly important limitations to a standard block interface, including a heavy load on the host for simple block operations, challenges in sharing across multiple compute models, and complex code requirements for functions that were much more easily done in storage. He said that even with upcoming technologies, such as PCIe Gen 5 and NVMe over Fabric (NVMEeoF), these problems will intensify.
Samsung’s KV Stack is a combination of KV SSD and the corresponding host software such as device drivers and associated libraries. (Source: Samsung)
Samsung’s implementation of the API requires modifications to the NVMe protocol. “Currently, this is handled through vendor-specific commands, but the changes are being implemented in the NVMe standard itself, through SNIA’s Technical Working Group,” said Paik. “The implementation of KV SSD technology is entirely up to the vendor, but the differentiation and the resulting benefits can be quite considerable.” Early candidates for KV SSD technology include databases and storage appliances, with vendors already making changes to their software to take advantage of the specification, he said.
Bill Martin, SNIA technical council co-chair, said that regardless of vendor implementation, KV is designed to be lighter weight than object storage because there are things SSD no longer needs to do, such as all the search capabilities and extensibility that object storage has. “It’s something that hopefully costs less from a drive standpoint and is also easier to standardize.”
The goal, he said, is to provide access to storage that doesn’t need translation to the traditional block storage architecture since you’re already doing translation in the FTL layer. It avoids one layer of translation and translates the block address to a physical address. “You are removing some of the computation that has to be done on the host [in order] to do the translation and the storage on the host [in order] to store a translation table.” Martin said a typical scenario that highlights the benefit of KV is any sort of database application information that is being stored in such a way as to improve the performance of a database application. “It’s not the end all, but it is a step in that direction in terms of providing storage that the host can use for databases, whether it’s a RocksDB or any of the databases that really do store things as a key value pair, not on a block address boundary.”
SNIA’s KV API is complete with some tweaks to be made by the end of this year, said Martin, and the standards will be available by early next year. Samsung’s KV SSD prototype is available now for companies looking at developing application software using a standardized next-generation model.