Flash Memory Controller Stability-Based Garbage Collection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Flash memory devices face challenges in managing data stability and reducing write amplification due to the lack of efficient methods for identifying and grouping data blocks based on their usage patterns, leading to inefficient garbage collection and reduced lifespan.

Innovation Solution

A controller and method that determine the stability level of data blocks in a flash memory apparatus using reference counts and storage time, allowing for the grouping of blocks with similar stability levels for optimized data management and reduced write amplification during garbage collection.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If traditional garbage collection is performed on flash memory devices, then idle blocks can be generated, but write amplification increases and device lifespan decreases due to moving large amounts of valid data

Engineering Contradiction:
Improveamount of valid data to be movedVSAvoidflash memory device lifespan
Core Design Contradiction:
Quantity of substanceVSReliability

Solution Approach 1:

The system performs preliminary classification of data blocks into stable and unstable categories before garbage collection based on reference counts and storage time. This preliminary action allows the garbage collection process to selectively move only unstable data blocks, avoiding the movement of stable valid data blocks that would otherwise be unnecessarily relocated, thereby reducing write amplification and extending device lifespan.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent applies different treatment strategies to different types of data blocks based on their stability characteristics. Stable data blocks (with high reference counts or long storage time) are identified and protected from unnecessary movement, while unstable data blocks are prioritized for relocation. This local differentiation optimizes the garbage collection process by focusing resources only where needed.

Inventive Principle:
Principle #3Local quality

2Productivity

If data blocks are not classified by stability, then garbage collection can be performed quickly, but the efficiency of idle block generation is low due to high write amplification

Engineering Contradiction:
Improvegarbage collection efficiencyVSAvoidwrite amplification
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The system pre-calculates and stores stability metrics (reference counts and storage time) for each data block before garbage collection is needed. This preliminary assessment enables the garbage collection process to quickly identify unstable blocks without performing complex analysis during the actual collection operation, thus maintaining high efficiency while reducing write amplification.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces new parameters (reference count and storage time) to characterize data block stability, and uses these parameters to guide the garbage collection process. By changing the selection criterion from arbitrary or random block selection to stability-based selection, the system achieves both high productivity in garbage collection and reduced write amplification.

Inventive Principle:
Principle #35Parameter changes

3Ease of operation

If all data blocks are treated equally during storage management, then the system is simple to operate, but data block stability cannot be optimized leading to increased write amplification

Engineering Contradiction:
Improvedata management complexityVSAvoidwrite amplification
Core Design Contradiction:
Ease of operationVSLoss of energy

Solution Approach 1:

The system automatically tracks and updates reference counts and storage time for each data block without requiring manual intervention. The controller autonomously performs stability assessment and uses this information to guide garbage collection decisions, making the advanced stability-based management transparent to users while achieving reduced write amplification.

Inventive Principle:
Principle #25Self-service

Data Source

PatentEP3059679B1Controller, flash memory device, method for identifying data block stability and method for storing data on flash memory device
Publication Date: 2018.08.22 HUAWEI TECH CO LTD
  • EP3059679B1 patent drawingFigure 1
  • EP3059679B1 patent drawingFigure 2
  • EP3059679B1 patent drawingFigure 3A

AI summary

Embodiments of the present invention provide a controller, including a processor, a cache, and a communications interface, where: the controller is configured to read information about a first data block from the cache; determine a stability level of the first data block according to a reference count of the first data block, a length of a period of time when the first data block is stored in a flash memory apparatus, and a mapping relationship among a reference count of a data block, a length of a period of time when the data block is stored in a flash memory apparatus, and a stability level, where the stability level is used to indicate stability of the data block; and send a logical address of the first data block and the stability level of the first data block to the flash memory apparatus through the communications interface, so that the flash memory apparatus stores data blocks having a same stability level together.