Host-Grouped KV SSD Data Management for Simplified Garbage Collection

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
ImproveKV grouping functionalityVSAvoidretrieval performance
Core Design Contradiction:
Ease of operationVSProductivity

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.

Inventive Principle:
Principle #13The other way round (Inversion)

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

Engineering Contradiction:
Improveretrieval performanceVSAvoidhost involvement requirement
Core Design Contradiction:
ProductivityVSDevice complexity

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.

Inventive Principle:
Principle #25Self-service

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

Engineering Contradiction:
Improvedata management efficiencyVSAvoidcontroller sorting logic
Core Design Contradiction:
ProductivityVSDevice complexity

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.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS20250117152A1Key-group based data management in KV SSD
Publication Date: 2025.04.10 SANDISK TECHNOLOGIES LLC
  • US20250117152A1 patent drawing
  • US20250117152A1 patent drawing
  • US20250117152A1 patent drawing

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.