Systems and methods for a cross-layer key-value store with a computational storage device
Inventors
Bikonda, Naga Sanjana • Kim, Wookhee • Ramanathan, Madhava Krishnan • MIN, Changwoo • MARAM, Vishwanath
Assignees
Samsung Electronics Co Ltd • Virginia Tech Intellectual Properties Inc • Virginia Polytechnic Institute and State University
Interested in licensing this patent?
MTEC can help explore whether this patent might be available for licensing for your application.
Abstract
Provided is a method of data storage, the method including receiving, at a host of a key-value store, a request to access a data node stored on a storage device of the key-value store, locating an address corresponding to the data node in a host cache on the host, and determining that the data node is in a kernel cache on the storage device.
Core Innovation
A cross-layer key-value store uses a host control plane and a data layer on a storage device to handle access to data nodes. The host receives data-node access requests and locates a data-node address in a host cache, then determines whether the data node is in a kernel cache on the storage device based on a location of metadata associated with the data node stored in the host cache.
The host and storage device cooperate to update metadata for crash consistency by linking a data node to an extension node and by maintaining version indicators for both nodes. Metadata of the data node is updated to point to an extension node, with the data node and the extension node indicating a same first version indicator, and metadata of the data node and metadata of the extension node is updated to indicate a same second version indicator.
The system supports variable-length key-value via extension nodes allocated when a data node lacks available space to accommodate a key. Extension nodes are allocated by a slab allocator, and the host cache maps metadata to kernel cache locations including mirrored cache offsets. The architecture includes a search layer and a data layer, with a tree structure in the search layer and a host-side cache hash table together with a kernel cache stored as a 1D kernel cache in a common memory area.
Claims Coverage
The provided independent claims are clm-00001, clm-00010, and clm-00016. Across these independent claims, the inventive features focus on host-cache metadata mapping to kernel-cache data-node locations, updating metadata to point from a data node to an extension node while maintaining two version indicators, and processing these operations on a storage device with a kernel cache in a common memory area.
Access request with host-cache metadata mapping to kernel cache location
Receiving, at a host of a key-value store, a request to access a data node stored on a storage device; locating an address corresponding to the data node in a host cache; determining that the data node is in a kernel cache on the storage device based on a location of metadata associated with the data node stored in the host cache.
Metadata update linking data node to extension node with first and second version indicators
Updating metadata of the data node to point to an extension node, the data node and the extension node indicating a same first version indicator; and updating metadata of the data node and the metadata of the extension node to indicate a same second version indicator.
Storage device processing with kernel-cache read and metadata updates for linked extension node
A processing circuit configured to process a request to access a data node stored on the storage device by reading the data node from an entry of a kernel cache on a common memory area; and update the data node and an extension node linked to the data node, the data node having a capacity, wherein the extension node receives data that exceeds the capacity, the data node and the extension node indicating a same first version indicator; and update metadata of the data node and metadata of the extension node to indicate a same second version indicator.
The independent claims collectively cover a host-storage-device key-value store where host-cache metadata locations are used to determine kernel-cache data-node presence, followed by metadata updates that link a data node to an extension node while maintaining first and second version indicators. The storage device is further defined as processing access requests by reading data nodes from kernel-cache entries in a common memory area and updating both the data node and the linked extension node based on capacity and version-indicator metadata updates.
Stated Advantages
Reduced bottlenecks.
Lower latency.
Reduced network traffic.
Simplified crash consistency.
Documented Applications
No documented applications found
Interested in licensing this patent?