Key Value Data Storage Device Dynamic Container Aggregation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Key value (KV) data storage devices face inefficiencies in storage utilization due to variable value lengths not matching optimized flash management unit (FMU) sizes, leading to suboptimal storage space usage and performance impacts from padding and data splitting.

Innovation Solution

A data storage device with a controller that receives KV pair data, matches and aggregates it based on utilization parameters of storage containers, optimizing storage by grouping KV formats to maximize container utilization and minimize padding.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If KV pair data is stored in fixed-size FMU or page increments, then storage space utilization is improved, but read performance deteriorates and padding is required when value length does not match container size

Engineering Contradiction:
Improvestorage space utilizationVSAvoidread performance
Core Design Contradiction:
Quantity of substanceVSReliability

Solution Approach 1:

The patent segments KV pair data into variable-length containers that can be dynamically sized to match the actual data size, rather than forcing all data into fixed-size FMU or page structures. This segmentation allows each KV pair to be stored in a container that precisely fits its size requirements, eliminating padding while maintaining efficient read operations through proper indexing of container locations.

Inventive Principle:
Principle #1Segmentation

2Quantity of substance

If multiple KV pair data are aggregated in the same FMU or page, then storage space utilization is improved, but read performance deteriorates due to data splitting across containers

Engineering Contradiction:
Improvestorage space utilizationVSAvoidread performance
Core Design Contradiction:
Quantity of substanceVSSpeed

Solution Approach 1:

The patent implements dynamic container allocation where the storage structure adapts to the actual size and aggregation needs of KV pair data. Instead of static fixed-size FMU or page structures, the system dynamically creates containers that can hold one or multiple KV pairs based on their combined size, allowing flexible aggregation without performance penalties from data splitting.

Inventive Principle:
Principle #15Dynamics

3Quantity of substance

If padding is added to fill FMU or page to capacity, then storage space utilization is improved, but valuable storage space is wasted on non-relevant data

Engineering Contradiction:
Improvestorage space utilizationVSAvoidwasted storage space
Core Design Contradiction:
Quantity of substanceVSLoss of substance

Solution Approach 1:

The patent changes the size parameter of storage containers from fixed (FMU or page size) to variable, allowing containers to be sized exactly to accommodate the KV pair data they contain. This parameter change eliminates the need for padding while maintaining efficient storage density, as each container's size dynamically matches the actual data size without wasting space on non-relevant padding bytes.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS11853564B1Key value data storage device with improved utilization for short key value pairs
Publication Date: 2023.12.26 SANDISK TECHNOLOGIES LLC
  • US11853564B1 patent drawing
  • US11853564B1 patent drawing
  • US11853564B1 patent drawing

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, store the received KV pair data in an intermediate storage location, match the received KV pair data to another one or more KV pair data stored in the intermediate storage location, where the matching is based on a utilization parameter of a storage container of the memory device, aggregate the matched received KV pair data and the another one or more KV pair data stored in the intermediate storage location, and program the aggregated KV pair data to the memory device.