Non-Volatile Memory Block Management via Cold Hot Data Classification

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

MLC flash memory devices face issues with rapid erase count increases in certain data blocks during wear leveling, leading to premature degradation and performance deterioration, necessitating improved block management strategies.

Innovation Solution

A method for block management in non-volatile memory devices that classifies blank blocks into cold and hot groups based on erase counts and data into cold and hot groups based on access probabilities, selectively writing data into appropriate blocks to distribute usage evenly and prevent premature block degradation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If wear leveling process is implemented to distribute data across blocks, then data access balance is improved, but erase count of certain blocks increases rapidly causing premature block degradation

Engineering Contradiction:
Improveblock lifespanVSAvoiderase count
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments blank blocks into two distinct groups: cold blank blocks (first group) with lower erase counts and hot blank blocks (second group) with higher erase counts. This segmentation allows differential management strategies to be applied to each group, preventing any single block from experiencing excessive erase operations that would lead to premature degradation.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies different quality characteristics to different blocks based on their erase count history. Cold blocks are designated for data that requires frequent rewrites, while hot blocks are used for data with lower rewrite requirements. This local differentiation optimizes the usage pattern of each block according to its wear state, extending overall system reliability.

Inventive Principle:
Principle #3Local quality

2Speed

If data is written frequently to maintain access performance, then access speed is improved, but block degradation accelerates due to increased erase operations

Engineering Contradiction:
Improvedata access speedVSAvoidblock lifespan
Core Design Contradiction:
SpeedVSDuration of action of stationary object

Solution Approach 1:

The patent performs preliminary classification of blank blocks into cold and hot groups before data is written. By pre-designating cold blocks for frequent write operations and hot blocks for less frequent writes, the system prepares the storage structure in advance to handle varying access patterns without causing excessive wear on any single block during actual data operations.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces dynamic block management where the classification of blocks as cold or hot is not static but can change based on erase count thresholds. This dynamic adjustment allows the system to adapt to changing wear patterns and access requirements, optimizing both performance and longevity throughout the device's operational lifetime.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS11403018B2Method and apparatus for performing block management regarding non-volatile memory
Publication Date: 2022.08.02 SILICON MOTION INC
  • US11403018B2 patent drawing
  • US11403018B2 patent drawing
  • US11403018B2 patent drawing

AI summary

A method and apparatus for performing block management regarding a non-volatile memory are provided. The method includes: determining whether a first blank block belongs to a cold block group or a hot block group according to an erase count of the first blank block; in response to the first blank block belonging to the cold block group, selecting the first blank block from a plurality of blank blocks as a target block, for performing data writing; according to at least one characteristic parameter regarding first data to be written, determining whether the first data belongs to a cold data group or a hot data group; and in response to the first data belonging to the hot data group, writing the first data into the first blank block to use the first blank block as a data block of the first data.