LDPC ECC Switching Using Failure Probability in NAND Controllers

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

NAND flash controllers face challenges in accurately determining when to switch from weaker to stronger error correction codes (ECCs) due to the variable error correction capabilities of low density parity check (LDPC) codes, which can result in premature or delayed switching, leading to uncorrectable errors.

Innovation Solution

Implementing an error correction code selection circuit that uses reliability statistics and distribution properties of ECCs to predict uncorrectable error correction code (UECC) failure rates and switch from weaker to stronger LDPC codes before actual failures occur, utilizing an offline characterization method and look-up table to control UECC failure rates within specified limits.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If real-time testing of UECC failure rate is implemented to determine when to switch from weaker to stronger LDPC codes, then the accuracy of ECC switching decision is improved, but the system complexity and cost increase

Engineering Contradiction:
ImproveECC switching decision accuracyVSAvoidsystem complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent performs offline characterization of LDPC codes to pre-determine the number of errors that cause first-time UECC failures across different P/E cycles. These results are stored in a look-up table, eliminating the need for real-time testing during actual operation. The controller simply queries the pre-computed table based on current P/E cycle count and observed error counts to make switching decisions.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent creates a simplified model by copying the essential characteristics of LDPC code performance into a look-up table. Instead of implementing complex real-time testing and analysis mechanisms, the system uses a pre-computed representation of UECC failure patterns that can be quickly queried and applied during operation.

Inventive Principle:
Principle #26Copying

2Productivity

If switching to a stronger LDPC code is delayed to avoid premature switching, then weaker codes can be used longer reducing overhead, but the risk of uncorrectable errors increases

Engineering Contradiction:
Improvestorage efficiencyVSAvoiddata integrity
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent implements a feedback mechanism where the controller continuously monitors the number of errors corrected by the current LDPC code and compares this against the look-up table thresholds. When the error count approaches the pre-determined UECC failure point, the system automatically triggers a switch to a stronger code, ensuring reliability while optimizing storage efficiency.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The patent changes the operating parameters of the ECC system by dynamically switching between different LDPC codes with varying error correction capabilities. The look-up table provides pre-calculated switching points that optimize the balance between using weaker codes for storage efficiency and stronger codes for data integrity based on the actual error conditions observed.

Inventive Principle:
Principle #35Parameter changes

3Reliability

If switching from weaker to stronger LDPC codes occurs too early, then UECC failures are avoided, but storage efficiency decreases due to unnecessary use of stronger codes

Engineering Contradiction:
Improveerror correction reliabilityVSAvoidstorage efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent performs preliminary analysis offline to determine the exact error counts at which UECC failures occur for each LDPC code across different P/E cycles. This pre-computed knowledge is stored in the look-up table, enabling the controller to switch codes at the precise optimal moment - just before UECC failures would occur - thereby avoiding both premature and delayed switching.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements a dynamic ECC switching strategy where the optimal switching point is not fixed but adapts based on the actual error conditions and P/E cycle count. The look-up table provides dynamic thresholds that reflect the actual performance characteristics of LDPC codes under different aging conditions, enabling optimal switching decisions that balance reliability and storage efficiency.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS9419655B2Error correction code (ECC) selection using probability density functions of error correction capability in storage controllers with multiple error correction codes
Publication Date: 2016.08.16 SEAGATE TECH LLC
  • US9419655B2 patent drawing
  • US9419655B2 patent drawing
  • US9419655B2 patent drawing

AI summary

An apparatus includes an error correction code circuit and an error correction code selection circuit. The error correction code circuit may be configured to encode and decode data using any of a plurality of error correction codes. The error correction code selection circuit may be configured to control which of the plurality of error correction codes is used by the error correction code circuit to encode and decode data responsive to one or more reliability statistics and predetermined data characterizing distribution properties of each of the plurality of error correction codes.