Memory Control Circuit Early Decode Stop

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The increasing memory capacity of rewritable non-volatile memory modules, such as NAND flash memory, leads to a significant increase in the time required for data decoding, which affects decoding efficiency.

Innovation Solution

A data managing method for rewritable non-volatile memory modules that involves receiving a reading command, reading a data stream including user data, error detecting code, and error correcting code, performing a decoding procedure using the error detecting code and error bit location, and stopping the procedure when the data is correctly decoded, thereby accelerating the decoding process.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If error correcting code is used to improve data reliability, then data reliability is improved, but decoding time is increased

Engineering Contradiction:
Improvedata reliabilityVSAvoiddecoding time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent applies preliminary action by performing error detection before error correction. The error detecting code is decoded first to determine if errors exist in the user data, and only if errors are detected does the system proceed to decode the error correcting code. This preliminary detection step prevents unnecessary error correction operations, thereby reducing overall decoding time while maintaining data reliability.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements partial action by selectively performing only the necessary decoding operations. Instead of always performing full error correction decoding, the system performs partial decoding (error detection only) when no errors are present, and only performs full error correction decoding when errors are actually detected. This partial approach reduces unnecessary computational overhead and decreases average decoding time.

Inventive Principle:
Principle #16Partial or excessive action

2Reliability

If conventional BCH algorithm is used for error correction, then data reliability is improved, but decoding efficiency is decreased

Engineering Contradiction:
Improvedata reliabilityVSAvoiddecoding efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent uses preliminary action by implementing error detection before error correction. The error detecting code is decoded first to check for errors, and only when errors are detected does the system proceed to the more time-consuming error correcting code decoding. This preliminary check prevents unnecessary error correction operations, thereby improving decoding efficiency while maintaining data reliability through the BCH algorithm when needed.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent applies partial action by performing only the necessary decoding operations. Instead of always executing the full BCH error correction algorithm, the system performs partial decoding (error detection only) when the error detecting code indicates no errors, and only executes full error correction when errors are present. This selective approach significantly improves decoding efficiency while preserving the reliability benefits of the BCH algorithm.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS9431132B2Data managing method, memory control circuit unit and memory storage apparatus
Publication Date: 2016.08.30 PHISON ELECTRONICS
  • US9431132B2 patent drawing
  • US9431132B2 patent drawing
  • US9431132B2 patent drawing

AI summary

A data managing method, and a memory control circuit unit and a memory storage apparatus using the same are provided. The data managing method including: reading a first data stream from a first physical erasing unit according to a first reading command, wherein the first data stream includes first user data, a first error correcting code and a first error detecting code. The method also includes: using the first error correcting code and error detecting code to decode the first user data and determining whether the first user data is decoded successfully. The method further includes: if the first user data is decoded successfully, transmitting corrected user data obtained by correctly decoding the first user data to the host system in response to the first reading command.