Flash Memory Controller with Adaptive Punctured Error Correction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

NAND flash memory devices face challenges in efficiently managing error correction and storage density due to limitations in existing error correction codes, which can lead to uncorrectable errors and reduced storage reliability as the memory wears out.

Innovation Solution

Implementing a rate-compatible convolutional code system that dynamically adjusts the code rate by puncturing convolutionally encoded data, allowing for varying levels of error correction redundancy and storage efficiency through an inner and outer concatenated error correction code scheme.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If block codes with fixed error correction capability are used, then error correction reliability is maintained within limits, but storage density and service life are reduced when memory wears out and errors exceed correction capability

Engineering Contradiction:
Improveerror correction reliabilityVSAvoidservice life
Core Design Contradiction:
ReliabilityVSDuration of action of stationary object

Solution Approach 1:

The patent implements dynamic error correction by transitioning from fixed block codes to rate-compatible convolutional codes that can adapt their code rate in real-time. The system monitors memory wear and error patterns, then dynamically adjusts the code rate to maintain optimal error correction capability throughout the memory's service life, extending usable lifespan while preserving reliability.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes the code rate parameter of the error correction code based on memory wear level and error characteristics. By varying the code rate dynamically rather than using a fixed rate, the system optimizes the balance between error correction capability and storage efficiency at different stages of memory degradation.

Inventive Principle:
Principle #35Parameter changes

2Reliability

If higher error correction redundancy is used, then data integrity is improved, but storage density and effective capacity are reduced

Engineering Contradiction:
Improvedata integrityVSAvoidstorage density
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The system dynamically adjusts the amount of redundancy inserted into stored data by varying the code rate of convolutional codes. When memory is healthy, lower redundancy is used to maximize storage density. As wear increases or error rates rise, the system automatically increases redundancy to maintain data integrity, optimizing the trade-off between storage capacity and reliability under different operating conditions.

Inventive Principle:
Principle #15Dynamics

3Device complexity

If fixed code rate error correction is implemented, then implementation simplicity is maintained, but adaptability to varying error conditions and memory wear is limited

Engineering Contradiction:
Improveimplementation complexityVSAvoidadaptability to error conditions
Core Design Contradiction:
Device complexityVSAdaptability or versatility

Solution Approach 1:

The patent implements a dynamic code rate selection mechanism that adapts to varying error conditions and memory wear levels. The system monitors error patterns and wear status, then selects appropriate code rates from a set of rate-compatible convolutional codes, providing adaptability while maintaining relatively simple implementation through standardized code structures.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes the code rate parameter based on detected error conditions and wear levels, allowing the same error correction framework to handle diverse scenarios from early-stage memory with low errors to worn memory with high error rates, significantly improving adaptability without requiring completely different correction schemes.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS8966352B2Memory controller supporting rate-compatible punctured codes and supporting block codes
Publication Date: 2015.02.24 MICRON TECHNOLOGY INC
  • US8966352B2 patent drawing
  • US8966352B2 patent drawing
  • US8966352B2 patent drawing

AI summary

Apparatus and methods store data in a non-volatile solid state memory device according to a rate-compatible code, such as a rate-compatible convolutional code (RPCC). An example of such a memory device is a flash memory device. Data can initially be block encoded for error correction and detection. The block-coded data can be further convolutionally encoded. Convolutional-coded data can be punctured and stored in the memory device. The puncturing decreases the amount of memory used to store the data. Depending on conditions, the amount of puncturing can vary from no puncturing to a relatively high amount of puncturing to vary the amount of additional error correction provided and memory used. The punctured data can be decoded when data is to be read from the memory device.