H2F Mapping Sub-Tables for Flash Memory Garbage Collection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Flash memory devices face performance degradation due to inefficient garbage collection processes, which fail to optimize the release of source blocks, leading to suboptimal storage efficiency.

Innovation Solution

A method for garbage collection in flash memory devices involving sorting data blocks by valid page counts, selecting source blocks, and reprogramming user data using host-address to flash-address mapping sub-tables to efficiently transfer valid data to destination blocks, thereby enabling the release of source blocks for new data storage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If traditional garbage collection processes are used in flash memory devices, then the basic function of reclaiming space is achieved, but the release efficiency of source blocks is suboptimal leading to performance degradation

Engineering Contradiction:
Improvegarbage collection release efficiencyVSAvoidoverall device performance
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent segments source blocks into two types: first-type SBLKs containing valid pages that must be preserved, and second-type SBLKs containing only invalid pages that can be immediately released. This segmentation allows the garbage collection process to selectively erase second-type blocks without migrating data, while preserving first-type blocks, thereby improving release efficiency and preventing performance degradation.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies different treatment strategies to different parts of the source blocks based on their content. First-type SBLKs receive data migration treatment to preserve valid data, while second-type SBLKs receive immediate erasure. This localized quality approach optimizes the garbage collection process by applying the most efficient operation to each block type, improving overall release efficiency.

Inventive Principle:
Principle #3Local quality

2Quantity of substance

If source blocks are released faster to improve storage efficiency, then more space becomes available for new data, but the complexity of managing valid and invalid pages increases

Engineering Contradiction:
Improveavailable storage spaceVSAvoidgarbage collection management complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The patent performs preliminary classification of source blocks into first-type and second-type before the garbage collection process. By pre-identifying which blocks contain valid pages and which contain only invalid pages, the system simplifies subsequent management operations. This preliminary action reduces the complexity of real-time decision-making during garbage collection while maximizing the release of available storage space.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The garbage collection system automatically identifies and classifies source blocks based on their valid page content without requiring complex external intervention. The flash memory device self-manages the differentiation between first-type and second-type SBLKs using internal validation information, reducing management complexity while efficiently releasing storage space.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS12405886B2Method and non-transitory computer-readable storage medium and apparatus for garbage collection with determined host-address to flash-address mapping (H2F) sub-tables in flash memory device
Publication Date: 2025.09.02 SILICON MOTION INC
  • US12405886B2 patent drawing
  • US12405886B2 patent drawing
  • US12405886B2 patent drawing

AI summary

The invention introduces a method for garbage collection (GC) in a flash memory device, performed by a processing unit, includes: finding a source block (SBLK) associated with a hit accumulated valid page count (VPC) that is the first one exceeding a total number of physical pages in one destination block (DBLK); labeling the found SBLK and its subsequent SBLKs as first-type SBLKs; labeling the other SBLKs as second-type SBLKs; obtaining Host-address To Flash-address mapping (H2F) sub-tables corresponding to valid pages stored in the second-type SBLKs; in the scanning for each H2F sub-table, detecting valid pages stored in the first-type and the second-type SBLKs, and appending records into a GC table for the valid pages; and reprogramming user data of a designated physical page in a designated first-type or second-type SBLK into a designated physical page in the DBLK according to each record in the GC table.