Memory Controller Wear Leveling by Data Hotness and Program/Erase History

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing wear leveling mechanisms in memory storage devices fail to effectively balance program/erase counts, leading to reduced device lifetime and increased write amplification due to changes in user data usage patterns, as they do not adequately account for the dynamic nature of data hotness and coldness.

Innovation Solution

A data storing method and memory controller that considers both program/erase counts and period values to determine data cold and hot degrees, enabling accurate selection of physical erasing units for wear leveling, thereby optimizing the wear leveling mechanism.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional wear leveling mechanism is used to move cold data to high program/erase count physical erasing units, then the usage counts of physical erasing units are balanced, but the lifetime of memory storage device is reduced when data usage patterns change dynamically

Engineering Contradiction:
Improvelifetime of memory storage deviceVSAvoidadaptability to dynamic data usage patterns
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent implements dynamic wear leveling by continuously monitoring data access patterns and adjusting wear leveling decisions in real-time. The system transitions from static wear leveling based solely on program/erase counts to a dynamic mechanism that adapts to changing data hotness and coldness, thereby improving reliability under dynamic usage patterns without sacrificing adaptability

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent introduces feedback mechanisms that monitor data access patterns, read/write frequencies, and program/erase counts continuously. This feedback information is used to dynamically adjust wear leveling operations, ensuring that the system responds appropriately to changing data usage patterns and prevents premature wear of physical erasing units

Inventive Principle:
Principle #23Feedback

2Reliability

If wear leveling operations are performed frequently to balance program/erase counts, then the balance between physical erasing units is improved, but the write amplification factor increases

Engineering Contradiction:
Improvebalance of program/erase countsVSAvoidwrite amplification factor
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The patent applies partial wear leveling by selectively performing wear leveling operations only on data blocks that meet specific criteria (e.g., truly cold data with low access probability). Instead of moving all cold data uniformly, the system performs partial operations based on access pattern analysis, thereby achieving sufficient balance while minimizing unnecessary write operations and reducing write amplification

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The patent changes the parameters used for wear leveling decisions from static program/erase counts alone to a combination of dynamic parameters including read frequency, write frequency, access patterns, and time-based metrics. This parameter transformation enables more intelligent selection of candidate blocks for wear leveling, reducing the number of operations needed to achieve balance

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS12443347B2Data storing method, memory storage device and memory controller
Publication Date: 2025.10.14 HEFEI CORE STORAGE ELECTRONICS LTD
  • US12443347B2 patent drawing
  • US12443347B2 patent drawing
  • US12443347B2 patent drawing

AI summary

A data storing method, a memory storage device, and a memory controller are provided. The method includes: obtaining a plurality of program/erase counts and a plurality of program/erase period values of a plurality of physical erasing units in a storage area; calculating a plurality of data cold and hot degrees according to the plurality of program/erase counts and the plurality of program/erase period values; selecting a first physical erasing unit according to the plurality of data cold and hot degrees, and selecting a second physical erasing unit according to the plurality of data cold and hot degrees; and writing data stored in the first physical erasing unit to the second physical erasing unit.