Flash Memory Wear-Leveling via Hot List and Bitmap Redistribution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current wear-leveling techniques for flash memory devices are inefficient, leading to uneven erase counts across memory blocks, which reduces the lifespan of the device and can result in unreliable data storage due to excessive use of certain blocks.

Innovation Solution

A flash memory device with a wear-leveling mechanism utilizing a hot list, bitmap, and source pointer to identify and redistribute data from blocks with high erase counts, ensuring even usage and extending the device's lifespan.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional wear-leveling techniques are used, then the erase count distribution is improved, but the device complexity and operational overhead increase

Engineering Contradiction:
Improveerase count distributionVSAvoidwear-leveling mechanism complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent segments the wear-leveling mechanism into distinct functional components: a hot list for tracking frequently accessed logical block addresses, a bitmap for tracking physical block states, and a source pointer for identifying data movement origins. This segmentation allows each component to handle specific aspects of wear-leveling independently, improving manageability and reducing overall system complexity while maintaining effective erase count distribution

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements preliminary action by proactively identifying blocks with high erase counts using the hot list and bitmap before degradation occurs. The source pointer pre-identifies source blocks for potential data migration, allowing the system to perform wear-leveling operations before critical wear thresholds are reached, thereby preventing reliability issues while managing complexity through early intervention

Inventive Principle:
Principle #10Preliminary action

2Reliability

If static wear-leveling operation is executed frequently, then the erase count uniformity is improved, but the loss of time and operational efficiency deteriorate

Engineering Contradiction:
Improveerase count uniformityVSAvoidwear-leveling operation time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent implements dynamic wear-leveling by continuously monitoring the hot list of recently accessed logical block addresses and the bitmap of physical block states. The system dynamically identifies source blocks using the source pointer and selectively migrates data only when high erase count blocks are detected, rather than performing fixed periodic operations. This dynamic approach maintains erase count uniformity while minimizing unnecessary data movement and time loss

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The wear-leveling mechanism serves itself by using the hot list and bitmap to automatically identify which blocks require attention. The source pointer self-updates to point to appropriate source blocks based on current system state, enabling the system to perform wear-leveling operations autonomously without external intervention, thereby reducing operational overhead and time loss while maintaining uniformity

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS8103821B2Flash memory device with wear-leveling mechanism and controlling method thereof
Publication Date: 2012.01.24 ADATA TECHNOLOGY CO LTD
  • US8103821B2 patent drawing
  • US8103821B2 patent drawing
  • US8103821B2 patent drawing

AI summary

A flash memory device with a wear-leveling mechanism includes at least one flash memory, a hot list, a bitmap, a source pointer, and a controller. The controller obtains a physical memory block with high erase count through the hot list, an erase count of the physical memory block, and an overall average erase count of the flash memory device. The controller further finds out a physical memory block which stores static data through managing the bitmap and the source pointer. The controller moves the static data to the physical memory block with high erase count, and releases the physical memory block which stores the static data to avoid the physical memory block with high erase count being worn down increasingly more seriously.