Version-Based Translation Layer for Flash Memory Program Disturb
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
3Reliability
If valid/invalid flag is programmed to invalidate data, then data can be marked as invalid, but program disturb affects surrounding memory cells
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.
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.
Data Source
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.


