NAND Flash Product-Code Decoding With Iterative Soft RAID Recovery

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Memory systems face challenges in recovering data from failed memory units due to limited error correction capabilities, as adding redundancy becomes computationally and spatially expensive as the number of errors increases.

Innovation Solution

Implementing a soft RAID system to encode and decode product codes, which uses existing hardware to maximize data recovery success rates by iteratively processing failed codewords with soft information and updating parity data accordingly.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If redundant bits are added to ECC scheme to increase error correction capability, then data recovery capability is improved, but computational cost and spatial requirements increase

Engineering Contradiction:
Improvedata recovery capabilityVSAvoidcomputational cost and spatial requirements
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent segments the error correction process into multiple decoding iterations, where each iteration attempts to decode a portion of the data using the existing ECC code. Failed codewords are identified and re-attempted in subsequent iterations with updated soft information, allowing the system to handle more errors than the base ECC code alone would permit without adding redundant bits.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs preliminary decoding attempts on all codewords before final data recovery. By identifying failed codewords early and maintaining soft information from initial decoding attempts, the system prepares for subsequent iterative recovery operations, enabling more robust error correction without increasing the base redundancy.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If iterative decoding with soft information is implemented, then data recovery success rate is improved, but decoding complexity increases

Engineering Contradiction:
Improvedata recovery success rateVSAvoiddecoding complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent implements dynamic soft information updating during iterative decoding. The soft information (LLR values) is refined in each iteration based on the product code structure and previously decoded data, allowing the decoder to adaptively improve its error correction capability. This dynamic approach increases recovery success rates while managing complexity through iterative refinement rather than static complex algorithms.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system employs feedback mechanisms where decoding results from each iteration are fed back into the decoding process. Successful decodings provide feedback that updates soft information for remaining failed codewords, creating a feedback loop that progressively improves decoding accuracy. This feedback-driven approach enhances recovery success rates while maintaining manageable complexity through incremental improvements.

Inventive Principle:
Principle #23Feedback

3Reliability

If maximum redundancy is used in ECC to handle multiple failures, then reliability is improved, but storage capacity is reduced

Engineering Contradiction:
Improveerror correction capabilityVSAvoidstorage capacity
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent changes the operational parameters of the ECC system by introducing iterative decoding with soft information updates. Instead of increasing the number of redundant bits, the system modifies the decoding process parameters (number of iterations, soft information refinement) to achieve enhanced error correction capability. This allows the same redundancy to handle more errors effectively, preserving storage capacity while improving reliability.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS10587288B1Systems and methods for iterative coding of product codes in nand FLASH controllers
Publication Date: 2020.03.10 MARVELL ASIA PTE LTD
  • US10587288B1 patent drawing
  • US10587288B1 patent drawing
  • US10587288B1 patent drawing

AI summary

Systems and methods for decoding a product code is provided. The system comprises a media, a first buffer, a second buffer, and a decoder. The media stores a plurality of codewords of a first code of the product code. The first buffer temporarily stores at least one codeword that has failed to be decoded. The second buffer temporarily stores soft information to be used in decoding. The decoder is configured to decode the plurality of codewords, determine if a first count of the at least one failed codeword exceeds a designed maximum number of codewords recoverable using the decoding method. In response to determining that the first count does not exceed the predefined threshold, the decoder iteratively process each failed codeword of the at least one failed codeword with the soft information, and attempt to decode at least one of each failed codeword that has been iteratively processed.