Flash Memory Mapping Table Wear Reduction via Block Segmentation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Flash memory devices face wear issues due to limited erasure and programming cycles, and existing solutions are not robust against power interruptions during mapping table updates, leading to time-consuming tag-based reconstruction.

Innovation Solution

A memory device that stores successive versions of pointing information in multiple blocks, allowing for rapid recovery of the mapping table after power interruptions by identifying the last version from a predefined subset of blocks, reducing the need for extensive reconstruction and minimizing wear.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If the mapping table is stored in a single block in flash memory, then the device structure is simple, but the device is vulnerable to power interruptions during updates causing time-consuming reconstruction

Engineering Contradiction:
Improvemapping table storage structureVSAvoidrobustness against power interruptions
Core Design Contradiction:
Device complexityVSReliability

Solution Approach 1:

The mapping table storage is segmented into multiple blocks (first block and second block) rather than using a single block. This segmentation allows the system to distribute the mapping table across multiple storage locations, enabling recovery from power interruptions by checking which block contains the valid mapping table, thus improving reliability without significantly increasing complexity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Different blocks are assigned different roles in the mapping table storage system. The first block and second block have distinct functions - one serves as the primary storage while the other serves as backup or update storage. This local differentiation allows the system to maintain simplicity overall while providing robustness at critical points through specialized block assignments.

Inventive Principle:
Principle #3Local quality

2Reliability

If successive versions of the mapping table are stored in multiple blocks, then the device is robust against power interruptions, but the device complexity increases

Engineering Contradiction:
Improverobustness against power interruptionsVSAvoidmapping table storage structure
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The mapping table is divided into successive versions stored in different blocks. Each block contains a specific version of the mapping table, allowing the system to recover by identifying which block contains the latest valid version. This segmentation approach manages complexity by organizing data in a systematic, versioned manner across blocks.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs preliminary actions by pre-storing successive versions of the mapping table in different blocks before any interruption can occur. This preparatory storage of multiple versions ensures that if a power interruption occurs during an update, the system can recover using the previously stored valid version without requiring complex reconstruction procedures.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If the mapping table is reconstructed using tags after power interruption, then the device can recover from interruptions, but the recovery time is excessive

Engineering Contradiction:
Improverecovery capabilityVSAvoidrecovery time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The mapping table is preliminarily stored in multiple blocks with successive versions before any interruption occurs. This pre-stored structure eliminates the need for time-consuming tag-based reconstruction after power interruptions, as the system can directly retrieve the valid mapping table from the appropriate block, thus reducing recovery time while maintaining reliability.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

Instead of reconstructing the mapping table from tags after an interruption, the system uses pre-copied versions of the mapping table that are already stored in multiple blocks. This copying approach allows immediate recovery by selecting the valid copied version, avoiding the time-consuming reconstruction process entirely.

Inventive Principle:
Principle #26Copying

4Reliability

If frequent erasing and programming of the same physical block occurs, then the mapping functionality is maintained, but the flash memory device wears out quickly

Engineering Contradiction:
Improvemapping functionalityVSAvoiddevice lifespan
Core Design Contradiction:
ReliabilityVSDuration of action of stationary object

Solution Approach 1:

The mapping table storage is segmented across multiple blocks rather than concentrated in a single block. This segmentation distributes the erasing and programming operations across different blocks, preventing any single block from being overused and thus extending the overall device lifespan while maintaining mapping functionality.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system combines multiple blocks into a unified mapping table storage system where successive versions are distributed across blocks. This merging approach allows the system to maintain mapping functionality while spreading wear across multiple blocks, thereby extending the duration of device operation before any single block reaches its wear limit.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS9213627B2Non-volatile memory with block erasable locations
Publication Date: 2015.12.15 NXP BV
  • US9213627B2 patent drawing
  • US9213627B2 patent drawing
  • US9213627B2 patent drawing

AI summary

A main memory (10) comprises a plurality of physical blocks of memory locations. The main memory (10) supports erasing of at least a physical block at a time. Pointer information is stored in a subset (40, 42) of the blocks for use to identify respective ones of the physical blocks that are assigned to respective functions. Successive versions of the pointing information are stored at mutually different memory locations initially in a first block (40) in the subset (40, 42). A subsequent version of the pointing information that is more recent than the successive versions is stored in a second block (42) of the subset (40, 42) at least after the first block (40) has been filled. The first block (40) is erased after storing the subsequent version. On start up of the main memory the pointing information is recovered by testing which of the blocks of the subset (40, 42) contains a most recent version of the pointing information.