Key Value Data Storage Device Tiered Classification
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Key value (KV) pair data storage in data storage devices like solid state drives (SSDs) faces inefficiencies due to varying value lengths not matching optimized Flash Management Unit (FMU) sizes, leading to space loss and data fragmentation, which impacts random read performance.
Innovation Solution
A data storage device with a controller that classifies KV pair data into tiers based on performance requirements and length, using KV pair data with lower performance requirements as padding data to optimize alignment and reduce fragmentation.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If KV pair data is stored in increments of bytes with variable length values, then storage flexibility is improved, but space utilization deteriorates due to misalignment with FMU boundaries
Solution Approach 1:
The patent applies local quality by differentiating treatment of KV pair data based on its characteristics. Hot data (frequently accessed) is aligned to FMU boundaries for optimal performance, while cold data (infrequently accessed) is packed efficiently without alignment constraints. This localized differentiation resolves the contradiction by optimizing each region according to its specific access patterns and requirements.
Solution Approach 2:
The patent segments KV pair data into hot and cold categories based on access frequency. This segmentation allows the system to apply different storage strategies: aligned storage for hot data and packed storage for cold data. By dividing the storage space into functionally different regions, the system achieves both flexibility and high space utilization.
2Speed
If KV pair data is aligned to FMU boundaries, then random read performance is improved, but storage space is lost due to padding requirements
Solution Approach 1:
The patent implements dynamic storage allocation where the alignment strategy changes based on data characteristics. Frequently accessed KV pairs are dynamically allocated aligned spaces to maximize read performance, while infrequently accessed pairs are dynamically packed into available spaces. This dynamic adaptation resolves the contradiction by applying alignment only where it provides performance benefit.
Solution Approach 2:
The patent changes the storage parameter (alignment vs. packing) based on the access frequency parameter of the KV pair data. By monitoring and responding to access patterns, the system adjusts the storage strategy for each KV pair, achieving high random read performance for hot data while minimizing space loss for cold data through packing.
3Adaptability or versatility
If KV pair data with varying lengths is stored, then data versatility is improved, but data fragmentation occurs impacting random read performance
Solution Approach 1:
The patent segments the storage space into aligned regions for hot data and packed regions for cold data. This segmentation prevents fragmentation from affecting random read performance because hot data, which requires consistent access patterns, is isolated in aligned regions. The packed regions can accommodate variable-length data without impacting the stability of hot data access.
Solution Approach 2:
The patent introduces an intermediary classification mechanism that categorizes KV pair data into hot and cold based on access frequency. This intermediary layer mediates between the conflicting requirements of data versatility and fragmentation prevention by routing different types of data to appropriate storage regions with suitable characteristics.
Data Source
AI summary
A data storage device includes a memory device and a controller coupled to the memory device. The controller is configured to receive key value (KV) pair data from a host device, where the KV pair data includes a key and a value, determine whether the KV pair data corresponds to a first tier or a second tier, where the second tier has a lower performance requirement than the first tier, and program the value of the KV pair data as padding data when the KV pair data corresponds to the second tier. The determining is based on a received hint of the KV pair data, a relative performance of the KV pair data, and a length of the KV pair data. The controller is configured reclassify the KV pair data based on a read frequency of the KV pair data.


