Flash Memory Recovery Using Weak-Region Detection After Power Loss

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Flash memory controllers face challenges in efficiently determining valid data in a super block after an abnormal power-off event, as the data writing progress of each block within the super block is different, leading to inefficiencies in data management and utilization.

Innovation Solution

A method is introduced to determine the last successfully read page of each block in a super block by using a binary search and error correction techniques, followed by identifying a data weak region and moving data from this region to other areas or another super block, ensuring efficient data management post-power recovery.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the flash memory controller performs garbage collection on the entire super block after abnormal power-off, then data validity can be ensured, but the operation time and system recovery time increase significantly

Engineering Contradiction:
Improvedata validityVSAvoidsystem recovery time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent segments the super block into multiple blocks and further divides each block into multiple pages. Instead of checking the entire super block, the controller only needs to check pages from the last successfully written block onwards. This segmentation allows the system to focus validation efforts only on potentially affected regions, dramatically reducing recovery time while maintaining data validity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements preliminary actions by maintaining write progress markers and block status information during normal operation. When abnormal power-off occurs, the controller can quickly determine which blocks were partially written and only validate those specific blocks, rather than re-validating the entire super block. This preliminary tracking enables efficient post-recovery validation.

Inventive Principle:
Principle #10Preliminary action

2Measurement precision

If the flash memory controller checks all blocks in the super block to determine valid data, then data accuracy is ensured, but the complexity of the control algorithm increases

Engineering Contradiction:
Improvedata accuracyVSAvoidcontrol algorithm complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent divides the super block into multiple blocks and tracks write progress at the block level. The controller only needs to examine blocks that were partially written or are at the boundary of write operations, rather than analyzing all blocks in the super block. This segmentation simplifies the control algorithm while maintaining accurate data validation.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies local quality by focusing validation resources on specific regions (blocks and pages) that are likely to contain invalid data, rather than uniformly checking all blocks. The controller identifies and validates only the local regions affected by the abnormal power-off, reducing algorithmic complexity while ensuring data accuracy where it matters most.

Inventive Principle:
Principle #3Local quality

3Reliability

If the flash memory controller moves all data from the super block after abnormal power-off, then data integrity is ensured, but the data writing speed and productivity decrease

Engineering Contradiction:
Improvedata integrityVSAvoiddata writing speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the super block into multiple blocks and identifies only the specific blocks that contain potentially invalid data. The garbage collection operation is performed only on these identified blocks rather than the entire super block, preserving data integrity while minimizing the impact on writing speed and overall productivity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies partial action by performing garbage collection only on the necessary portion of the super block (blocks with potential invalid data) rather than the entire super block. This selective approach ensures data integrity for affected regions while avoiding unnecessary data movement operations that would reduce writing speed and productivity.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS12566664B2Method for controlling flash memory module and associated flash memory controller and memory device
Publication Date: 2026.03.03 SILICON MOTION INC
  • US12566664B2 patent drawing
  • US12566664B2 patent drawing
  • US12566664B2 patent drawing

AI summary

The present invention provides a method for controlling a flash memory module. The method includes the steps of: after the flash memory module is powered on, determining whether the flash memory module encountered an abnormal power failure before the flash memory module is powered on; if the flash memory module encounters the abnormal power failure before the flash memory module is powered on, determining a last super block written by the flash memory module before powering on, where the super block includes multiple first blocks; determining a last rewritten page of the super block; determining a check range of the super block according to the last written page of the super block; determining a data weak region of the super block by reading the pages of the check range; and moving data in the weak data region to other regions of the super block or to another super block.