Punctured Bit LLR Estimation for NAND ECC Decoding

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing ECC decoding solutions for memory devices face performance degradation due to arbitrarily setting initial values for punctured bits in codewords, leading to increased errors during decoding.

Innovation Solution

A memory controller and method that determine soft information for punctured bits by calculating error probability values and log likelihood ratios (LLR) based on check nodes and variable degrees, improving decoding performance by providing reliable bit estimations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If hard estimation values are used for punctured bits, then decoding complexity is reduced, but decoding performance deteriorates due to increased errors

Engineering Contradiction:
Improvedecoding complexityVSAvoiddecoding performance
Core Design Contradiction:
Device complexityVSReliability

Solution Approach 1:

The patent changes the parameter representation from hard values (0 or 1) to soft information (LLR values with magnitude and sign). This allows the decoder to work with probability information rather than definitive values, improving reliability while maintaining compatibility with existing decoding algorithms through parameter transformation

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent introduces an intermediary processing stage that generates soft information for punctured bits based on check node error probabilities. This intermediary layer translates between the punctured codeword and the decoder, providing reliable bit estimates without requiring the decoder itself to be fundamentally different

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If soft information calculation is implemented for punctured bits, then decoding performance is improved, but computational complexity increases

Engineering Contradiction:
Improvedecoding performanceVSAvoidcomputational complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent performs preliminary calculation of error probabilities for check nodes before the main decoding process. By pre-computing these probabilities and using them to generate soft information for punctured bits, the system reduces the computational burden during the actual decoding phase while maintaining performance improvements

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent applies soft information calculation selectively to only the punctured bits rather than all bits in the codeword. This partial application provides the necessary performance improvement for the affected bits while avoiding the excessive computational complexity that would result from applying the same process to every bit

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS11455208B2Soft information for punctured bit estimation in a data storage device
Publication Date: 2022.09.27 SANDISK TECHNOLOGIES LLC
  • US11455208B2 patent drawing
  • US11455208B2 patent drawing
  • US11455208B2 patent drawing

AI summary

A memory controller including, in one implementation, a memory interface and a control circuit. The memory interface is configured to receive a punctured codeword read from a non-volatile memory. The control circuit is configured to determine error probability values for a plurality of check nodes associated with a punctured bit included in the punctured codeword. The control circuit is also configured to determine an error probability value for the punctured bit based on the error probability values for the plurality of check nodes associated with the punctured bit and a variable degree associated with the punctured bit. The control circuit is further configured to determine a log likelihood ratio (LLR) value for the punctured bit based on the error probability value for the punctured bit. The control circuit is also configured to decode the punctured codeword using the LLR value for the punctured bit.