Flash Memory Data Read Method Using Predetermined Information for Error Correction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Flash memory systems face challenges in accurately reading data due to error bits, as existing methods rely on a single read voltage threshold, which can lead to incorrect data retrieval when error correction is not successful.

Innovation Solution

A data read method for flash memory that involves adjusting the read voltage and using error correction codes to correct error bits, where predetermined information is used to amend data and error correction codes, allowing for multiple error correction processes to ensure accurate data retrieval.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a single read voltage threshold is used for data retrieval, then the reading process is simple and fast, but error bits occur leading to incorrect data retrieval

Engineering Contradiction:
Improvedata retrieval accuracyVSAvoiderror correction process complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent applies preliminary action by pre-calculating and storing multiple read voltage thresholds before data retrieval. When reading data, the system first attempts correction using the first read voltage threshold, and if errors remain, automatically proceeds to subsequent thresholds without requiring complex real-time decision-making. This pre-prepared multi-threshold approach resolves the contradiction by enabling accurate error correction while maintaining a relatively simple execution process.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements parameter changes by dynamically adjusting the read voltage threshold based on error detection results. The system changes from a fixed single-threshold approach to a variable multi-threshold approach, where the read voltage parameter is modified according to the error correction needs. This resolves the contradiction by improving data retrieval accuracy through parameter adaptation while keeping the complexity manageable through systematic voltage threshold management.

Inventive Principle:
Principle #35Parameter changes

2Reliability

If multiple error correction processes are implemented, then data integrity is improved, but reading time and processing complexity increase

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

Solution Approach 1:

The patent applies partial action by implementing a staged error correction approach where not all correction processes are executed for every data read operation. The system performs correction using the first read voltage threshold, and only proceeds to subsequent thresholds if errors are detected. This selective execution of correction processes improves data integrity while minimizing unnecessary processing time, resolving the contradiction between reliability and time loss.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The patent implements feedback mechanisms by continuously monitoring error correction results and using this information to determine whether to proceed to the next read voltage threshold. The error detection outcome feeds back into the correction process decision-making, allowing the system to adaptively execute only the necessary correction steps. This feedback-driven approach ensures data integrity while optimizing reading time by avoiding redundant correction processes.

Inventive Principle:
Principle #23Feedback

3Measurement precision

If read voltage is adjusted to correct error bits, then data accuracy improves, but the reading process becomes more complex

Engineering Contradiction:
Improvedata reading accuracyVSAvoidreading process simplicity
Core Design Contradiction:
Measurement precisionVSEase of operation

Solution Approach 1:

The patent applies segmentation by dividing the error correction process into distinct stages, each corresponding to a specific read voltage threshold. The correction process is segmented into multiple independent correction attempts, where each segment uses a predetermined voltage threshold. This segmented approach improves data reading accuracy by systematically addressing different error types while maintaining operational simplicity through clear process separation.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements parameter changes by systematically varying the read voltage threshold parameter across different correction stages. Each stage uses a predetermined voltage threshold parameter that is changed based on the error correction needs. This parameter change strategy improves measurement precision by adapting the read voltage to different error conditions while maintaining ease of operation through systematic parameter management.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS9570162B2Data read method for flash memory
Publication Date: 2017.02.14 SILICON MOTION INC
  • US9570162B2 patent drawing
  • US9570162B2 patent drawing
  • US9570162B2 patent drawing

AI summary

The invention provides a data read method. In one embodiment, a flash memory comprises a plurality of pages, and predetermined information is written into each of the pages of the flash memory. First, a target address of the flash memory is read according to a source read voltage to obtain source data and a source error correction code. When error bits of the source data cannot be corrected according to the source error correction code, the predetermined information corresponding to the source data is read from the flash memory according to the source read voltage to obtain correction information. The source data and the source error correction code are then amended according to the difference between the predetermined information and the correction information to obtain an amended data and an amended error correction code. Error bits of the amended data are then corrected according to the amended error correction code.