Flash Memory In-Place Refresh via Backup Mapping

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

As memory technologies scale in size and density, they face challenges with tighter margins for data sensing and increased data loss due to disturbances from high-speed accesses and environmental factors, where complex wear leveling programs are not available, leading to uncorrectable errors in memory blocks.

Innovation Solution

A memory device with a refresh mapping table and controller that executes a refresh operation by storing a backup copy of data from a risky memory block to a backup block, mapping the refresh block address to the backup block, refreshing the addressed memory block using the backup data, and resetting the entry upon completion, ensuring data integrity and recovery upon power-on.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If memory technology scales in size and density, then memory capacity increases, but data sensing margins become tighter and data loss increases

Engineering Contradiction:
Improvememory capacityVSAvoiddata sensing margin
Core Design Contradiction:
Quantity of substanceVSReliability

Solution Approach 1:

The system performs preliminary actions by creating backup copies of data in backup blocks before the original data becomes corrupted. The refresh mapping table pre-identifies risky memory blocks that need refresh operations, allowing proactive data preservation rather than reactive recovery.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

Backup blocks serve as intermediary storage elements that hold copies of data from risky memory blocks. The refresh mapping table acts as an intermediary data structure that maps relationships between original blocks and their backups, enabling data recovery without direct access to corrupted cells.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If complex wear leveling programs are implemented, then memory block wear is managed, but device complexity increases

Engineering Contradiction:
Improvememory block wear managementVSAvoidwear leveling program complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The invention extracts the essential wear management function from complex wear leveling programs by implementing a simplified refresh mechanism using backup blocks and a refresh mapping table. This extraction focuses only on the critical aspect of data preservation without the overhead of full wear leveling complexity.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The refresh mapping table uses simple, easily manageable data structures that can be quickly updated and reset. The mapping table entries are inexpensive to maintain and can be rapidly refreshed without the computational burden of complex wear leveling algorithms.

Inventive Principle:
Principle #27Cheap short-living objects (Disposable)

3Reliability

If refresh operations are performed on risky memory blocks, then data integrity is maintained, but operation time increases

Engineering Contradiction:
Improvedata integrityVSAvoidrefresh operation time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

Backup copies are created in advance before data corruption occurs. The refresh mapping table identifies and prepares backup blocks beforehand, so when a refresh is needed, the data is already available and ready to be copied back, minimizing the actual refresh operation time.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system uses simple copy operations to transfer data between original memory blocks and backup blocks. This copying mechanism is faster and more efficient than complex data reconstruction or error correction processes, reducing the time penalty of refresh operations.

Inventive Principle:
Principle #26Copying

4Reliability

If backup blocks are maintained for all memory blocks, then data recovery capability improves, but memory space utilization decreases

Engineering Contradiction:
Improvedata recovery capabilityVSAvoidmemory space utilization
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

Instead of providing backup blocks for all memory blocks uniformly, the system applies backup storage selectively only to risky memory blocks identified by the refresh mapping table. This local approach ensures data recovery capability where needed while preserving memory space utilization in healthy blocks.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The system dynamically changes the state of memory blocks by marking them as risky or healthy based on wear indicators and error rates. This parameter-based classification allows the refresh mechanism to adapt memory space allocation dynamically, maintaining backups only when necessary.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS11087858B1In-place refresh operation in flash memory
Publication Date: 2021.08.10 MACRONIX INTERNATIONAL CO LTD
  • US11087858B1 patent drawing
  • US11087858B1 patent drawing
  • US11087858B1 patent drawing

AI summary

A memory device comprises, on an integrated circuit or multi-chip module, a memory including a plurality of memory blocks, a controller, and a refresh mapping table in non-volatile memory accessible by the controller. The controller is coupled to the memory to execute commands with addresses to access addressed memory blocks in the plurality of memory blocks. The refresh mapping table has one or more entries, an entry in the refresh mapping table mapping of an address identifying an addressed memory block set for refresh to a backup block address. The controller is responsive to a refresh command sequence with a refresh block address to execute a refresh operation, and is configured to restore mapping of the refresh block address to the backup block address upon power-on of the device, to scan the refresh mapping table for a set entry, and to register the set entry in the refresh mapping table.