Flash Memory Block Migration for Data Integrity

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

MLC Flash memories experience data loss and performance degradation due to long-term use, leading to unstable characteristics and potential loss of user data.

Innovation Solution

A method for accessing Flash memory that involves selectively programming pages, monitoring error bits, and proactively moving blocks when error bits exceed a predetermined value, using a controller with a microprocessor and ROM to execute program code and manage data access, thereby preventing data loss and maintaining performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If MLC Flash memory is used to increase storage density and reduce cost, then storage capacity and cost-effectiveness are improved, but data stability and reliability deteriorate due to quality degradation from long-term use

Engineering Contradiction:
Improvestorage capacityVSAvoiddata stability
Core Design Contradiction:
Quantity of substanceVSReliability

Solution Approach 1:

The patent applies preliminary action by proactively moving blocks that show early signs of degradation (error bits reaching a threshold) before they completely fail. The controller continuously monitors error bits in each block and performs block moving operations in advance, preventing data loss before it occurs. This proactive approach resolves the contradiction by maintaining reliability through early intervention while preserving the high storage capacity of MLC Flash memory.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If block moving operations are performed frequently to maintain data integrity, then data loss prevention is improved, but write amplification and performance overhead increase

Engineering Contradiction:
Improvedata integrityVSAvoidwrite amplification
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent implements feedback by continuously monitoring the number of error bits in each block and using this information to trigger block moving operations only when necessary. The controller reads error bit counts, compares them against a threshold, and performs block moving only when the threshold is exceeded. This feedback-based approach resolves the contradiction by maintaining data integrity through targeted interventions while minimizing unnecessary write operations and associated performance overhead.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The patent applies parameter changes by dynamically adjusting the block status based on error bit thresholds. Instead of moving all blocks periodically, the system changes the operational parameters (block status, error bit count) and triggers moves only when specific parameter thresholds are exceeded. This resolves the contradiction by maintaining data integrity through parameter-based decision making while reducing overall write amplification.

Inventive Principle:
Principle #35Parameter changes

3Reliability

If error threshold is set low to ensure data safety, then data loss prevention is improved, but unnecessary block moves increase reducing performance

Engineering Contradiction:
Improvedata safetyVSAvoidperformance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent applies partial action by setting an error threshold that triggers block moving only when error bits reach a specific level, rather than moving blocks at every sign of degradation. This threshold-based approach provides a balanced level of data protection while avoiding excessive block moves. The system performs just enough action (moving blocks when error bits reach the threshold) to ensure data safety without the performance penalty of overly frequent operations.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS7979737B2Method for accessing a Flash memory, and associated memory device and controller thereof
Publication Date: 2011.07.12 SILICON MOTION INC
  • US7979737B2 patent drawing
  • US7979737B2 patent drawing
  • US7979737B2 patent drawing

AI summary

A method for accessing a Flash memory including a plurality of blocks includes: selectively programming a page in a first block of the blocks; when a status of the Flash memory is abnormal, determining whether a number of error bits is less than a predetermined value; and when the number of error bits is not less than the predetermined value, moving the first block. An associated memory device and a controller thereof are also provided, where the controller includes: a read only memory (ROM) arranged to store a program code; and a microprocessor arranged to execute the program code to control the access to the Flash memory. In addition, when the number of error bits is not less than the predetermined value, the controller that executes the program code by utilizing the microprocessor moves the first block.