Key-Value Store Memory System Metadata Management
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional memory systems face performance issues with metadata management, including deteriorated file access performance, increased CPU load, and increased bus traffic, due to the need for repetitive metadata file access and software-based metadata processing in key-value stores implemented on SSDs.
Innovation Solution
A memory system with a key-value store architecture that separates metadata into a metadata table within a first memory block, allowing for efficient storage and retrieval of key-value data using a hash generator and address management circuit, enabling direct access and minimizing collisions, and optionally utilizing a hardware CAM for high-speed searches.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If metadata is stored as a file in conventional SSD and accessed through host system, then the system can handle large metadata, but the file access performance deteriorates due to multiple access operations
Solution Approach 1:
The patent segments the metadata storage into two distinct parts: a file-based storage for large metadata capacity and a table-based key-value store for fast access. The metadata table stores key-value pairs in a structured format that enables direct access, while the file system handles bulk storage. This segmentation allows the system to simultaneously achieve large metadata capacity and high access performance by routing different types of access requests to appropriate storage mechanisms.
Solution Approach 2:
The patent introduces a metadata table as an intermediary structure between the host system and the file-based metadata storage. This metadata table acts as a cache or index that stores frequently accessed metadata in a key-value format, allowing the host system to access metadata through the table rather than performing multiple file read operations. The intermediary table translates key-based requests into efficient storage access patterns.
2Adaptability or versatility
If metadata management is performed by CPU using software algorithms, then the system is flexible, but the CPU load increases
Solution Approach 1:
The patent replaces the software-based CPU metadata management with a hardware-based key-value store mechanism. The metadata table is implemented as a dedicated hardware structure that performs key-value lookups, insertions, and deletions through hardware logic rather than software algorithms. This substitution transfers the computational burden from the CPU to specialized hardware, maintaining flexibility through programmable hardware while significantly reducing CPU load and energy consumption.
Solution Approach 2:
The metadata table is designed to autonomously manage key-value operations without requiring continuous CPU intervention. The hardware structure automatically handles key matching, value retrieval, and storage updates through built-in logic circuits. This self-service capability allows the metadata management system to operate independently of the main CPU, reducing overall system load while maintaining adaptability through configurable hardware parameters.
3Productivity
If metadata files are repeatedly read and collated, then comprehensive metadata can be processed, but the bus traffic increases
Solution Approach 1:
The patent implements preliminary action by pre-organizing metadata into a key-value table structure before access operations occur. The metadata table is populated with key-value pairs in advance, creating an indexed structure that enables direct access without requiring repeated reading and collation of raw metadata files. This preliminary organization eliminates the need for multiple bus transactions during runtime, as the hardware can directly retrieve values based on keys without intermediate processing steps that would generate additional bus traffic.
Data Source
AI summary
According to one embodiment, a memory system including a key-value store containing key-value data as a pair of a key and a value corresponding to the key, includes an interface, a memory block, an address acquisition circuit and a controller. The interface receives a data write/read request or a request based on the key-value store. The memory block has a data area for storing data and a metadata table containing the key-value data. The address acquisition circuit acquires an address in response to input of the key. The controller executes the data write/read request for the memory block, and outputs the address acquired to the memory block and executes the request based on the key-value store. The controller outputs the value corresponding to the key via the interface.


