Flash Memory Read Retry Control Using Error Polynomial Screening

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional flash memory controllers face performance degradation due to the need for repeated data read retries when error bits exceed the correction capability of error correction coding, leading to prolonged access times and reduced system efficiency.

Innovation Solution

A flash memory controller with a reading circuit, detecting circuit, and decoding circuit that performs error detection and calculates an error polynomial to determine if a read retry is necessary, allowing for early data read retry using different sense voltages to avoid extensive decoding operations when error correction is unlikely.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If conventional error correction decoding is performed on data with excessive error bits, then decoding accuracy is maintained, but access time is significantly prolonged due to repeated read retry operations

Engineering Contradiction:
Improvedecoding accuracyVSAvoidaccess time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent performs preliminary error detection and error polynomial calculation immediately after reading data from flash memory, before attempting full decoding. This preliminary action identifies data with excessive error bits early, allowing the system to skip unnecessary decoding operations and retry reads proactively, thereby resolving the contradiction between maintaining decoding accuracy and reducing access time

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements a feedback mechanism where the error detection circuit continuously monitors decoded data quality. When error bits exceed the correction capability, the feedback triggers an immediate read retry operation. This closed-loop feedback system dynamically adjusts the decoding process based on real-time error conditions, preventing time waste on irrecoverable data while maintaining high decoding accuracy for correctable errors

Inventive Principle:
Principle #23Feedback

2Reliability

If full decoding operation is performed on all read data, then decoding completeness is ensured, but system resource consumption increases due to unnecessary decoding of data with uncorrectable errors

Engineering Contradiction:
Improvedecoding completenessVSAvoidsystem resource consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The patent extracts and performs only the essential error detection and error polynomial calculation steps from the full decoding process. By separating these preliminary checks from the complete decoding operation, the system can identify and discard data with excessive errors without performing resource-intensive full decoding, thus maintaining decoding completeness for valid data while reducing overall system resource consumption

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent applies partial decoding action by performing only the necessary error detection and polynomial calculation steps before deciding whether to proceed with full decoding. This partial action approach avoids the excessive resource consumption of complete decoding on all data while ensuring that data requiring correction receives the full decoding treatment needed for reliable recovery

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS8850284B2Flash memory controller and data reading method
Publication Date: 2014.09.30 SILICON MOTION INC
  • US8850284B2 patent drawing
  • US8850284B2 patent drawing
  • US8850284B2 patent drawing

AI summary

A data reading method is provided. The data reading method includes: utilizing a first sense voltage to read a data unit from a flash memory block; performing an error detection operation on the data unit and calculating an error polynomial according to a detection result; and determining whether the error polynomial conforms to a predetermined condition and deciding whether to perform read retry on the data unit according to a determining result.