Memory Block Wear Leveling Using Hot and Cold Data

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing memory systems face performance degradation due to uneven wear across blocks caused by writing cold data to relatively young blocks, leading to imbalanced program-erase cycle counts and premature wear-out of some blocks.

Innovation Solution

Implement wear leveling techniques that consider both the age of memory blocks and the characteristics of the data being written, such as classifying data as hot or cold, to distribute writes more evenly across blocks, using sub-pools for hot and cold data.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If cold data is written to relatively young blocks, then write operations can be performed quickly, but program-erase cycle counts become imbalanced causing premature wear-out

Engineering Contradiction:
Improvewrite operation speedVSAvoidblock lifespan
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent applies local quality by differentiating treatment for different types of data. Hot data (frequently accessed) is written to younger blocks with better performance characteristics, while cold data (infrequently accessed) is written to older blocks that are closer to wear-out. This localized optimization ensures that blocks experiencing the most wear are used for data that doesn't require fast access, thereby balancing the program-erase cycle distribution across all blocks and extending overall system reliability while maintaining write performance.

Inventive Principle:
Principle #3Local quality

2Reliability

If wear leveling is implemented without considering data characteristics, then block wear is balanced, but performance degrades due to frequent access patterns not being optimized

Engineering Contradiction:
Improvewear distributionVSAvoidaccess performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent changes the parameter of block selection by introducing data characteristic classification (hot vs. cold data). Instead of using a single wear-leveling metric, the system adjusts the selection criteria based on data access patterns. Hot data is directed to blocks with younger ages and better performance, while cold data is directed to blocks with higher wear counts. This parameter change enables the system to simultaneously optimize both wear distribution and access performance by dynamically adjusting block allocation based on multiple factors.

Inventive Principle:
Principle #35Parameter changes

3Speed

If young blocks are used for all writes, then write operations are fast, but some blocks wear out prematurely due to imbalanced program-erase cycles

Engineering Contradiction:
Improvewrite speedVSAvoidblock endurance
Core Design Contradiction:
SpeedVSDuration of action of stationary object

Solution Approach 1:

The patent applies inversion by reversing the conventional wisdom that always directs writes to the youngest blocks. Instead, it inverts the approach for cold data by deliberately directing writes to older blocks that are closer to their wear-out threshold. This inversion strategy ensures that blocks with limited remaining endurance are used for data that won't be accessed frequently, while younger blocks retain their endurance for hot data requiring fast access, thereby balancing the program-erase cycle distribution and extending overall system lifespan.

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

Data Source

PatentUS12481583B2Wear leveling techniques using data characteristics
Publication Date: 2025.11.25 MICRON TECHNOLOGY INC
  • US12481583B2 patent drawing
  • US12481583B2 patent drawing
  • US12481583B2 patent drawing

AI summary

Methods, systems, and devices for wear leveling techniques using data characteristics are described. The described techniques provide for wear leveling across blocks of a memory system. A controller of the memory system may include additional criteria for determining a destination block for an operation, which may include a characteristic of data associated with the operation. The controller may select a destination block according to both an age of the block and the characteristic of the data. For example, the controller may select a relatively young block for data having a first characteristic and may select a relatively old block for data having a second characteristic. In some cases, the controller may partition free blocks into sub-pools based on an average age of virtual blocks (VBs) associated with each free block.