Flash Memory Controller Error Bit Scanning and Block Update

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Flash memory devices, such as NAND Flash, face challenges in error correction beyond a certain threshold, leading to incomplete data recovery during read operations, as current encoding and decoding methods cannot correct all errors, especially when the number of errors exceeds a predetermined limit.

Innovation Solution

A data maintenance method for flash memory devices that involves a controller performing read operations, scanning for error bit numbers, and updating blocks with error bit numbers exceeding a threshold, thereby refreshing or retiring data to maintain data integrity and prevent errors from accumulating.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If encoding and decoding process is used to correct error data, then most error data can be corrected, but some error data cannot be corrected completely when the number of errors exceeds a threshold

Engineering Contradiction:
Improveerror correction capabilityVSAvoiduncorrected error data
Core Design Contradiction:
ReliabilityVSLoss of information

Solution Approach 1:

The patent performs preliminary scanning and error detection during read operations to identify blocks with high error bit numbers before they become uncorrectable. By proactively detecting and marking problematic blocks, the system can take preventive actions (such as avoiding further reads or initiating recovery procedures) before the error count exceeds the correction threshold, thus preventing information loss that would otherwise occur.

Inventive Principle:
Principle #10Preliminary action

2Speed

If continuous read operations are performed on flash memory blocks, then data access speed is maintained, but error bits accumulate and exceed correction capability

Engineering Contradiction:
Improvedata access speedVSAvoiderror correction capability
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The patent implements a feedback mechanism where the controller continuously monitors error bit numbers during read operations. When the error bit number of a block exceeds a predetermined threshold, the controller receives feedback and adjusts its behavior by avoiding further reads from that block or initiating recovery procedures. This closed-loop control prevents error accumulation while maintaining overall system reliability and data access performance.

Inventive Principle:
Principle #23Feedback

3Reliability

If error threshold is set low to prevent data loss, then data integrity is maintained, but more blocks need to be updated and retired reducing device lifespan

Engineering Contradiction:
Improvedata integrityVSAvoiddevice lifespan
Core Design Contradiction:
ReliabilityVSDuration of action of stationary object

Solution Approach 1:

The patent dynamically adjusts the error threshold parameter based on block characteristics and usage patterns. Rather than using a fixed low threshold that would cause premature retirement, the system monitors actual error accumulation rates and adapts the threshold accordingly. This allows the system to maintain data integrity for blocks that are still reliable while extending the usable life of the device by avoiding unnecessary updates and retirements.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS10379924B2Data storage device and data maintenance method thereof
Publication Date: 2019.08.13 SILICON MOTION INC
  • US10379924B2 patent drawing
  • US10379924B2 patent drawing
  • US10379924B2 patent drawing

AI summary

A data storage device including a flash memory and a controller. The controller performs a first read operation on the pages of a first block of a first block group, and performs a maintenance process to determine whether the first group read count of the first block group is greater than a read threshold when the first read operation is finished. The controller scans the blocks of the first block group to obtain a plurality of first error bit numbers when the first group read count is greater than the read threshold, and updates the block corresponding to the first error bit number that is greater than an error-bit threshold.