Memory ECC Decoder Switching Based on Dynamic Bit Error Estimation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Flash memory devices face performance issues due to errors caused by noise and interference during programming and read operations, leading to reduced throughput and speed, as conventional error correction systems often compromise on throughput to enhance error correction capability.

Innovation Solution

A memory device with multiple decoders of varying speed and error correction capabilities is used, where a controller dynamically selects the appropriate decoder based on the probability and magnitude of error in a code word, optimizing decoding operations to minimize resource usage and maximize performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If conventional error correction systems use high error correction capability, then reliability is improved, but productivity deteriorates due to reduced throughput

Engineering Contradiction:
Improveerror correction capabilityVSAvoidthroughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system dynamically selects decoders based on the actual error conditions of each code word. Instead of using a fixed high-capability decoder for all cases, the controller adapts the decoding strategy in real-time by evaluating metrics such as bit flip counts and syndrome patterns, then selecting the most appropriate decoder from multiple options with varying capabilities.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes operational parameters by selecting different decoders with varying error correction capabilities based on the specific error conditions detected. When errors are minimal, a lower-capability decoder is selected; when errors are severe, a higher-capability decoder is activated, thus optimizing the balance between reliability and throughput for each specific case.

Inventive Principle:
Principle #35Parameter changes

2Reliability

If high error correction capability is used, then reliability is improved, but loss of time increases due to computational complexity

Engineering Contradiction:
Improveerror correction capabilityVSAvoiddecoding latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system dynamically adjusts decoding resources based on actual error conditions. By evaluating metrics such as the number of bit flips and syndrome patterns, the controller selects decoders with appropriate complexity levels, avoiding the use of high-complexity decoders when they are not needed, thus reducing average decoding latency while maintaining reliability when required.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system applies partial error correction action by selecting decoders with capabilities matched to the actual error severity. Instead of always applying full-error-correction capability, the system uses just enough correction power for each specific case, avoiding unnecessary computational overhead and time loss.

Inventive Principle:
Principle #16Partial or excessive action

3Adaptability or versatility

If multiple decoders with varying capabilities are used, then adaptability is improved, but device complexity increases

Engineering Contradiction:
Improvedecoder selection flexibilityVSAvoidnumber of decoders
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The system segments the error correction function into multiple specialized decoders, each optimized for specific error conditions. This segmentation allows the system to handle different error types and severities with appropriately specialized components, improving adaptability while keeping each individual decoder relatively simple.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The controller acts as an intermediary that manages the complexity of having multiple decoders. It evaluates error metrics and selects the appropriate decoder, thereby shielding the rest of the system from the complexity of managing multiple decoding algorithms while still benefiting from their combined capabilities.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Productivity

If dynamic decoder selection is implemented, then productivity is improved through reduced redundant operations, but device complexity increases due to controller requirements

Engineering Contradiction:
ImprovethroughputVSAvoidcontroller complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The controller performs preliminary evaluation of error metrics (such as bit flip counts and syndrome patterns) before selecting a decoder. This preliminary action allows the system to make informed decisions about decoder selection, avoiding redundant decoding operations and improving throughput while keeping the controller's complexity manageable through structured evaluation criteria.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS12009840B2Systems and methods of decoding error correction code of a memory device with dynamic bit error estimation
Publication Date: 2024.06.11 KIOXIA CORP
  • US12009840B2 patent drawing
  • US12009840B2 patent drawing
  • US12009840B2 patent drawing

AI summary

A method, of decoding error correction code of a memory device with dynamic bit error estimation, can include generating at least one metric corresponding to one or more syndromes associated with a code word, the code word comprising an error correction code of a memory device, decoding the code word by a first decoder integrated with the memory device, in response to a determination that the metric satisfies a threshold associated with the syndromes, the first decoder having a first execution property, and decoding the code word by a second decoder integrated with the memory device, in response to a determination that the metric does not satisfy the threshold associated with the syndromes, the second decoder having a second execution property distinct from the first execution property, or in response to a determination that the metric satisfies the threshold associated with the syndromes, and in response to a determination to perform further decoding.