Host-Grouped KV SSD Data Management for Simplified Garbage Collection
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current key-value (KV) systems in solid state drives (SSDs) face challenges in efficiently managing key-groups, leading to difficulties in garbage collection and retrieval performance.
Innovation Solution
The proposed solution involves using host-provided information for grouping KVs instead of relying on trees, allowing the controller to sort KVs based on size, length, type, etc., and utilizing independent backend logic for data management, which includes data routing, parity management, block management, and proactive data retrieval.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If trees are used to group key values based on KV information, then KV grouping functionality is provided, but garbage collection becomes difficult and retrieval performance decreases
Solution Approach 1:
Instead of using traditional tree-based grouping structures, the patent inverts the approach by using host-provided grouping information and implementing a flat, location-based grouping mechanism. The controller receives grouping information from the host and directly maps KVs to storage locations based on this information, eliminating the need for complex tree traversal and improving both garbage collection ease and retrieval performance.
2Productivity
If host-provided information is used for grouping KVs, then retrieval performance increases and garbage collection is simplified, but the system requires additional host involvement
Solution Approach 1:
The host serves itself by providing the grouping information that it needs for efficient data management. The host identifies which KVs should be grouped together and provides this grouping information to the controller, which then uses it for storage optimization. This self-service approach allows the host to maintain control over its data organization without requiring complex controller-side grouping logic.
3Productivity
If KVs are sorted by size, length, or type in groups, then data management efficiency improves, but the controller requires additional sorting and classification logic
Solution Approach 1:
The host performs preliminary sorting and classification of KVs before sending them to the controller. The host organizes KVs into groups based on their size, length, or type characteristics and provides this pre-organized grouping information to the controller. This preliminary action eliminates the need for complex sorting logic in the controller, as the grouping structure is already established by the host.
Data Source
AI summary
Instead of using trees to group key values (KV) based on KV information, use host provided information for grouping KVs. In the cases where the host provides KV information, the host determines how to group the information. The controller will then use the KV information to store the KV information in a group. The KVs can be sorted in the group by either size, length, type, etc. of the KV received from the host. Independent backend logic, such as data routing management, parity management, block management, and proactive data retrieval, is used to group KV information. Grouping the KV information using the independent backend logic will make garbage collection (GC) less difficult and increase retrieval performance due to the grouping of the KVs.


