LDPC Decoder Threshold Grouping for Flash Read Reliability
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In non-volatile flash memory devices, as the number of bits programmed in each memory cell increases, reliability decreases and read failure rates rise due to overlapping threshold voltage distributions, leading to errors in data reading.
Innovation Solution
A Low Density Parity Check (LDPC) decoder is developed with an improved error correction capability and speed by variably selecting a flipping function threshold value with reduced alignment complexity, using a method that assigns symbol values to variable nodes, performs syndrome checking, calculates flipping function values, divides them into groups, and determines a threshold value based on group maximum values for selective flipping.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If multi-bit data is programmed in each memory cell to increase storage capacity, then data storage capacity increases, but reliability decreases and read failure rate increases due to overlapping threshold voltage distributions
Solution Approach 1:
The patent changes the parameter of threshold voltage by applying different read voltages to distinguish between overlapping threshold voltage distributions of multi-bit memory cells. By using multiple read voltages and comparing results, the system can accurately determine the stored data state even when threshold voltage distributions overlap, thereby maintaining high storage capacity while improving read reliability.
2Ease of operation
If a fixed flipping function threshold value is used in LDPC decoding, then the decoding process is simple, but error correction capability is insufficient for varying error patterns
Solution Approach 1:
The patent dynamically adjusts the flipping function threshold value during the LDPC decoding process based on the current error pattern and decoding progress. Instead of using a fixed threshold, the system adapts the threshold value iteratively, allowing the decoder to effectively handle various error patterns and improve error correction capability while maintaining reasonable operational complexity.
3Reliability
If the flipping function threshold value is precisely optimized for maximum error correction, then error correction capability improves, but computational complexity and alignment requirements increase
Solution Approach 1:
The patent changes the threshold value parameter dynamically during decoding rather than requiring precise pre-optimization. This approach achieves good error correction capability without the need for complex alignment procedures, as the threshold adapts to the actual error patterns encountered during decoding.
Solution Approach 2:
The decoding system performs self-adjustment of the threshold value based on feedback from the decoding process itself. The system automatically adapts the threshold without requiring external optimization or complex alignment, enabling it to achieve high error correction capability with reduced computational complexity.
4Measurement precision
If iterative decoding with multiple read operations is performed to correct errors from overlapping threshold distributions, then read accuracy improves, but reading time increases
Solution Approach 1:
The patent performs preliminary error correction using the LDPC decoder with adaptive threshold adjustment before final data output. By preparing and correcting errors in advance during the decoding process, the system achieves high read accuracy without requiring multiple iterative read operations, thereby reducing the overall reading time.
Data Source
AI summary
A method for operating a Low Density Parity Check (LDPC) decoder includes assigning each symbol of a codeword as a variable node value for each of a plurality of variable nodes, performing syndrome checking on each check node based on a parity check matrix, calculating flipping function values of the variable nodes based on syndrome values of check nodes and a flipping function, dividing the flipping function values into a plurality of groups, determining a flipping function threshold value based on a group maximum value of a group among the groups, and selectively flipping a variable node value based on a comparison result of a flipping function value of corresponding variable node and the determined flipping function threshold value.


