GPC Soft Decoder Using Chase Decoding for Stuck Error Correction
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Soft decoding of generalized product codes (GPCs) has not received sufficient attention, resulting in a performance gap compared to channel capacity, and existing soft decoders for conventional product codes are inefficient for GPCs, particularly in NAND flash storage applications where high read throughput and low latency are crucial.
Innovation Solution
An iterative decoding apparatus and method that uses Chase decoding on constituent codewords and parity-on-parity (POP) codewords, along with an error location estimate (ELE) block, and XOR blocks formed by exclusive OR operations, incorporating miscorrection avoidance thresholding (MAT) to enhance decoding efficiency and accuracy.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If existing soft decoders for conventional product codes are used for GPC, then decoding can be performed, but decoding performance is insufficient and far from channel capacity
Solution Approach 1:
The decoder is segmented into multiple independent components: Chase decoding units for constituent codewords, POP decoding units for parity-on-parity codewords, error location estimation blocks, and XOR block processing units. Each segment processes specific portions of the code independently and simultaneously, enabling parallel operation that improves both decoding performance and read throughput.
Solution Approach 2:
The decoder performs preliminary hard decoding to obtain initial error location estimates before proceeding to soft decoding. This preliminary action provides a foundation for the subsequent Chase decoding process, enabling more efficient error correction by focusing computational resources on likely error locations rather than exhaustive searching.
2Measurement precision
If iterative decoding with Chase decoding and error location estimation is used, then decoding accuracy improves, but decoding complexity increases
Solution Approach 1:
Error location estimation blocks serve as intermediaries between the Chase decoding units and the main decoding logic. These blocks process syndromes and reliability information to generate probable error locations, which then guide the flipping operations in Chase decoding. This intermediary layer simplifies the overall control logic while maintaining high error location accuracy.
Solution Approach 2:
The patent replaces exhaustive mechanical searching for error locations with probabilistic error location estimation based on syndrome analysis and reliability metrics. Instead of trying all possible error patterns, the system uses mathematical relationships in the syndromes to directly estimate error locations, significantly reducing computational complexity while maintaining precision.
3Productivity
If hard decision decoding is used to improve read throughput, then decoding speed increases, but the ability to correct errors deteriorates
Solution Approach 1:
The decoder merges hard decision decoding and soft decision decoding into a unified iterative framework. Hard decoding provides quick initial results and error location estimates, while soft decoding using Chase algorithms with reliability information provides enhanced error correction. The combination of both approaches in an iterative manner achieves both high speed and high reliability.
Solution Approach 2:
The iterative decoding structure ensures continuous refinement of the decoded result. Each iteration builds upon the previous one, with hard decoding providing immediate corrections and soft decoding progressively improving error correction. This continuous action maintains high throughput while progressively enhancing error correction capability until convergence or maximum iterations are reached.
Data Source
AI summary
A memory device includes a memory array, a processor, and a decoding apparatus. The processor is coupled to the memory array and configured to read encoded data from the memory array. The encoded data includes a plurality of data blocks and each data block is included in two or more data codewords. Further, data codewords belonging to a same pair of data codewords share a common data block. The decoding apparatus is configured to iteratively decode data codewords using hard decoding and soft decoding, and to correct stuck errors by identifying failed data blocks based on shared blocks between failed data codewords.


