Memory Error Correction Using Iterative LDPC and RS Decoding

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing memory systems face inefficiencies in error correction due to the sequential processing of inner and outer error correction codes, leading to prolonged correction times and reduced reliability.

Innovation Solution

A memory system employing an iterative correction method that combines LDPC and RS codes, where a C1 code performs initial corrections, generates a syndrome for a set of C2 frames, and then performs a C2 correction using this syndrome, leveraging the linearity of the C2 code to update syndromes during the process, thereby simplifying error correction and improving reliability.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If sequential error correction using C1 code and C2 code is performed, then error correction capability is improved, but correction processing time becomes long

Engineering Contradiction:
Improveerror correction capabilityVSAvoidcorrection processing time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent combines C1 and C2 error correction operations into a unified iterative correction process. The correction unit performs both C1 correction on individual frames and C2 correction on sets of frames within the same processing cycle, merging previously sequential operations into a combined parallel process that reduces total correction time while maintaining enhanced error correction capability.

Inventive Principle:
Principle #5Merging (Combining)

2Productivity

If iterative correction is performed without re-reading data, then productivity is improved, but device complexity increases

Engineering Contradiction:
Improvecorrection processing efficiencyVSAvoidfirmware complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements preliminary action by pre-fetching and storing multiple frames in the correction unit before correction processing begins. This allows the iterative C1 and C2 correction operations to proceed using already-loaded data in memory, eliminating the need for re-reading from non-volatile memory during iteration and enabling continuous processing without additional I/O operations.

Inventive Principle:
Principle #10Preliminary action

3Measurement precision

If C2 syndrome generation is performed for all frames including corrected ones, then measurement precision is improved, but loss of substance increases

Engineering Contradiction:
Improveerror detection accuracyVSAvoidprocessing overhead
Core Design Contradiction:
Measurement precisionVSLoss of substance

Solution Approach 1:

The patent applies local quality by differentiating the correction process into two streams: frames that require C2 correction have their syndromes generated and processed, while frames already corrected by C1 are excluded from C2 syndrome generation. This selective approach maintains measurement precision for frames that need it while avoiding unnecessary processing overhead for frames that are already correct.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS11515896B2Memory system
Publication Date: 2022.11.29 KIOXIA CORP
  • US11515896B2 patent drawing
  • US11515896B2 patent drawing
  • US11515896B2 patent drawing

AI summary

A memory system includes a non-volatile memory and a controller. The controller is configured to perform iterative correction on a plurality of frames of data read from the non-volatile memory. The iterative correction includes performing a first error correction on each of the frames including a first frame having errors not correctable by the first error correction, generating a syndrome on a set of second frames that include the first frame, performing a second error correction on the second frames using the syndrome, and performing a third error correction on the first frame. Each of the frames includes user data and first parity data used in the first error correction, the first parity data of the first frame also being used in the third error correction.