Version-Based Translation Layer for Flash Memory Program Disturb

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In non-volatile memory devices, particularly Flash memory, the process of data update leads to program disturb issues due to the need to invalidate data blocks, which can affect surrounding memory cells and cause data reliability problems, especially in NAND architecture arrays with closely spaced cells.

Innovation Solution

Implementing a versioning system where a version number is stored in each erase block, data block, sector, or cluster, allowing the determination of the currently valid data by locating the highest version number, thus avoiding the need to invalidate old data by programming a valid/invalid flag and reducing program disturb risks.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If data is updated in non-volatile memory by copying to new location and invalidating old data, then data integrity is maintained, but program disturb occurs in surrounding memory cells

Engineering Contradiction:
Improvedata integrityVSAvoidprogram disturb
Core Design Contradiction:
ReliabilityVSObject-affected harmful factors

Solution Approach 1:

The patent extracts the invalidation operation from the data update process. Instead of invalidating data as part of the update sequence, the system uses version numbers to track valid data without requiring invalidation operations, thereby removing the source of program disturb while maintaining data integrity through version-based identification.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent inverts the traditional update approach by not using invalidation flags to mark old data. Instead, it uses version numbers to positively identify valid data, eliminating the need for harmful invalidation operations and their associated program disturb effects in surrounding cells.

Inventive Principle:
Principle #13The other way round (Inversion)

2Ease of operation

If block erase operation is performed to update Flash memory, then data can be rewritten, but the process is time-consuming and affects surrounding sectors

Engineering Contradiction:
Improvedata rewrite capabilityVSAvoidupdate time
Core Design Contradiction:
Ease of operationVSLoss of time

Solution Approach 1:

The patent extracts the time-consuming block erase operation from the data update process. By using version numbers to identify valid data without invalidation, the system eliminates the need for block erase operations, enabling direct updates without the time penalty and surrounding sector effects of erase operations.

Inventive Principle:
Principle #2Taking out (Extraction)

3Reliability

If valid/invalid flag is programmed to invalidate data, then data can be marked as invalid, but program disturb affects surrounding memory cells

Engineering Contradiction:
Improvedata validity trackingVSAvoidprogram disturb
Core Design Contradiction:
ReliabilityVSObject-affected harmful factors

Solution Approach 1:

The patent extracts and removes the valid/invalid flag mechanism from the system. Instead of using flags that cause program disturb, it employs version numbers that track data validity without requiring programming operations that would disturb surrounding memory cells.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent uses version numbers as a copy of data validity information. Rather than programming invalidation flags directly into memory (which causes disturb), the system maintains version number copies that identify valid data, avoiding the harmful programming operation while preserving validity tracking capability.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS7752381B2Version based non-volatile memory translation layer
Publication Date: 2010.07.06 MICRON TECHNOLOGY INC
  • US7752381B2 patent drawing
  • US7752381B2 patent drawing
  • US7752381B2 patent drawing

AI summary

A non-volatile memory and erase block/data block/sector/cluster update and address translation scheme utilizing a version number is detailed that enhances data updating and helps reduce program disturb of the memory cells of the non-volatile memory device. The various embodiments utilize a version number associated with each erase block, data block, sector, and/or cluster. This allows for determination of currently valid data block, sector and/or cluster associated with the logical ID of the data grouping by locating the most recent version associated with the logical ID. With this approach, old data need not be invalidated by programming a valid/invalid flag, avoiding the risk of program disturb in the surrounding data rows.