Variable ECC Code Rate for NVMe KV Pair Data Entropy
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing key value (KV) data storage devices face challenges in optimizing error correction code (ECC) for variable lengths of KV pair data, leading to high resource and bandwidth requirements for decoding large amounts of data.
Innovation Solution
A data storage device with a controller that determines the entropy value of KV pair data, selects an appropriate ECC code rate, and encodes the data using this rate, allowing for aggregation and efficient programming to a codeword, thereby optimizing ECC for variable lengths.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Device complexity
If a fixed ECC code rate is used for all KV pair data, then the encoding process is simple, but the decoding requires large amounts of resources and bandwidth due to variable data lengths
Solution Approach 1:
The patent implements dynamic ECC code rate selection based on the entropy of KV pair data. The controller determines the entropy value of the KV pair data and selects an appropriate ECC code rate from multiple available rates, allowing the system to adapt the encoding strength to the actual data characteristics rather than using a fixed code rate for all data
Solution Approach 2:
The system changes the ECC code rate parameter based on the entropy measurement of the input data. By measuring entropy and selecting different code rates accordingly, the system optimizes the balance between encoding simplicity and decoding efficiency for variable-length KV pair data
2Reliability
If a high ECC code rate is used to ensure error correction capability, then data reliability is improved, but the amount of parity data increases reducing storage space
Solution Approach 1:
The system dynamically adjusts the ECC code rate parameter based on the entropy of the KV pair data. For data with lower entropy (more predictable patterns), a lower code rate is selected, reducing the amount of parity data required. For data with higher entropy (more random patterns), a higher code rate is selected to maintain error correction capability. This adaptive approach optimizes the balance between reliability and storage space utilization
3Adaptability or versatility
If variable length KV pair data is stored, then data flexibility and performance are improved, but the amount of data increases requiring more resources for decoding
Solution Approach 1:
The system implements dynamic adaptation to variable-length KV pair data by measuring the entropy of each data set and selecting an appropriate ECC code rate. This dynamic approach allows the system to handle variable data lengths efficiently by adjusting the encoding parameters to match the actual data characteristics, reducing the computational resources required for decoding compared to using a fixed high code rate for all data
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, determine an entropy value of the received KV pair data, select an error correction code (ECC) code rate based on the determined entropy value, and program the KV pair data to a codeword (CW). The KV pair data includes a key and a value. The programming includes encoding the KV pair data using the selected ECC code rate. The controller is further configured to aggregate a portion of another KV pair data and the KV pair data and program the aggregated KV pair data to the CW using a selected ECC code rate.


