CLDPC Codeword Segmentation for Fast Random Reads in Storage
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing error correction coding techniques for storage devices face challenges in balancing high error correction capability with decoding throughput and data storage density, particularly when dealing with non-sequential data access and varying write and read unit sizes, leading to inefficiencies and potential data loss due to uncorrectable errors.
Innovation Solution
The implementation of convolutional low-density parity-check (CLDPC) codes, which utilize a parity check matrix with multiple copies of a sub-matrix and a terminating portion to enhance encodeability and decoding throughput, allowing for parallel windowed decoding processes and error correction information at specific check points to manage errors effectively.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a relatively large amount of redundancy information is used to increase error correction capability, then error correction capability is improved, but data decoding throughput may be affected due to additional computations
Solution Approach 1:
The parity check matrix is divided into multiple sub-matrices, allowing the decoding process to be segmented into parallel operations on smaller data units, thereby maintaining high error correction capability while improving decoding throughput
Solution Approach 2:
The patent transitions from traditional scalar decoding to vector-based parallel decoding by organizing redundancy information in a multi-dimensional matrix structure, enabling simultaneous processing of multiple data units
2Reliability
If the write unit size is larger than the read unit size (e.g., 16 kB write vs. 1 kB read), then error correction capability is improved for sequential writes, but random read performance deteriorates when reading smaller data units
Solution Approach 1:
The large write unit is segmented into multiple independently decodable sub-units, allowing random reads to access and decode only the required smaller portions without reading or decoding the entire write unit, thus improving random read performance while maintaining error correction capability
Solution Approach 2:
The decoding process is made dynamic and adaptive, where the decoder can selectively process only the necessary sub-units based on the read request size, rather than always decoding the entire write unit
3Reliability
If more linear equations are added to generate additional redundancy information, then error correction capability is improved, but encoding and decoding operations become more complicated
Solution Approach 1:
The system uses multiple copies of a base sub-matrix to construct the full parity check matrix, which provides sufficient redundancy for error correction while keeping the base sub-matrix simple and the overall structure regular and manageable
Solution Approach 2:
Instead of creating complex unique equations for each data unit, the patent uses replicated copies of a standardized sub-matrix pattern, simplifying both encoding and decoding operations while maintaining adequate error correction capability through the replicated redundancy structure
Data Source
AI summary
In an illustrative example, an apparatus includes a controller and a memory that is configured to store a codeword of a convolutional low-density parity-check (CLDPC) code. The codeword has a first size and includes multiple portions that are independently decodable and that have a second size. The controller includes a CLDPC encoder configured to encode the codeword and a CLDPC decoder configured to decode the codeword or a portion of the codeword.


