MLC Flash Memory Data Recovery via Preliminary Copying

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional multi-level cell (MLC) flash memory devices suffer from data loss during power off events during program cycles, particularly affecting paired pages, leading to significant data integrity issues.

Innovation Solution

A program method that copies data from a page to non-volatile memory before programming a paired page and a data recovery method that moves data to a clean block and programs backup data in case of program failure, ensuring data recovery even in the event of power loss.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If data is copied to non-volatile memory before programming paired pages, then data reliability is improved, but device complexity increases

Engineering Contradiction:
Improvedata reliabilityVSAvoiddevice complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent applies preliminary action by copying data from pages to a non-volatile memory region before programming the paired pages. This preparatory step ensures that if power is lost during the programming process, the original data can be recovered from the non-volatile memory, thus preventing data loss while maintaining a relatively simple device architecture.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If data recovery procedures are implemented, then data loss prevention is improved, but processing time increases

Engineering Contradiction:
Improvedata loss preventionVSAvoidprocessing time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The recovery procedure is prepared in advance by maintaining a non-volatile memory region that continuously holds copies of page data. When power is restored after a failure, the system can quickly detect which paired pages failed to program and recover their data from the pre-stored non-volatile memory, avoiding time-consuming data reconstruction processes.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system performs self-service by automatically detecting program failures and recovering data without requiring external intervention. The controller monitors programming operations, identifies failed paired pages, and autonomously recovers data from the non-volatile memory region, reducing the time users need to wait for manual recovery procedures.

Inventive Principle:
Principle #25Self-service

3Reliability

If non-volatile memory is used for data copying, then data integrity is improved, but memory capacity is reduced

Engineering Contradiction:
Improvedata integrityVSAvoidmemory capacity
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent extracts a specific portion of the flash memory to function as a non-volatile memory region dedicated to storing backup copies of page data. By separating this protective function from the main storage area, the system ensures data integrity for the extracted region while preserving the overall memory capacity for user data.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent applies local quality by designating specific regions within the flash memory with different functions: the non-volatile memory region maintains high data integrity for backup purposes, while the remaining memory capacity is optimized for general storage. This localized differentiation allows each region to excel at its specific function without compromising the other.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS9152557B2Program method, data recovery method, and flash memory using the same
Publication Date: 2015.10.06 MACRONIX INTERNATIONAL CO LTD
  • US9152557B2 patent drawing
  • US9152557B2 patent drawing
  • US9152557B2 patent drawing

AI summary

A program method for a multi-level cell (MLC) flash memory is provided. The memory array includes a plurality of pages and a plurality of paired pages, which correspond to the respective pages. The program method includes the following steps. Firstly, a program address command is obtained. Next, whether the program address command corresponding to any one of the paired pages is determined. When the program address command corresponds to a first paired page, which corresponds to a first page among the pages, among the paired pages, data stored in the first page to a non-volatile memory are copied. After that, the first paired page is programmed.