Flash Memory Partial Garbage Collection via Virtual Block Segmentation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Efficiently performing garbage collection in non-volatile memory data storage devices without degrading system resource efficiency as storage capacity increases, due to complex physical block structures.
Innovation Solution
A data storage device with a flash memory and microcontroller that selects source and destination blocks, divides blocks into virtual blocks, and uses a check map to efficiently copy valid data from source blocks to destination blocks, reducing repeated access to mapping tables and improving garbage collection efficiency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a full garbage collection operation is performed on entire source blocks, then all valid data can be recovered and blocks can be reused, but system resources are heavily consumed and performance degrades
Solution Approach 1:
The patent divides a source block into multiple virtual blocks based on valid data distribution. Instead of treating the entire source block as one unit, the microcontroller segments it into smaller virtual blocks (e.g., first virtual block with valid data in first through fourth pages, second virtual block with valid data in fifth through eighth pages). This segmentation allows selective garbage collection on only the necessary portions, reducing overall operation time and resource consumption while maintaining data recovery completeness.
2Measurement precision
If mapping tables are accessed repeatedly during garbage collection to verify data validity, then accurate data identification is achieved, but access time increases and efficiency decreases
Solution Approach 1:
The patent implements a preliminary action by creating a check map before the actual garbage collection operation. The microcontroller traverses the logical-to-physical mapping table once to populate the check map with validity information for each page in the source block. During subsequent garbage collection, the system references this pre-computed check map instead of repeatedly accessing the mapping table, significantly reducing access time while maintaining accurate data validity identification.
Solution Approach 2:
The patent creates a copy of the mapping table information in the form of a check map. This check map is a simplified data structure that contains only the essential validity information needed for garbage collection. By copying and storing this information in advance, the system eliminates the need for repeated mapping table accesses during the garbage collection process, thereby reducing time loss while preserving identification accuracy.
3Ease of operation
If the entire source block is processed as one unit during garbage collection, then simplicity is maintained, but efficiency decreases when only partial data needs migration
Solution Approach 1:
The patent segments the source block into multiple virtual blocks based on the distribution of valid data. Each virtual block contains a contiguous range of pages with valid data. This segmentation allows the garbage collection process to operate on smaller, more manageable units rather than processing the entire source block as one large unit, thereby improving efficiency while maintaining operational simplicity through automated segmentation logic.
Solution Approach 2:
The patent applies partial action by performing garbage collection only on the portions of the source block that contain valid data needing migration. Instead of unnecessarily processing the entire source block, the system identifies and processes only the relevant virtual blocks. This partial approach improves efficiency by avoiding redundant operations on pages that don't require migration, while the automated virtual block creation maintains ease of operation.
Data Source
AI summary
A data storage device is provided. The data storage device includes: a flash memory and a microcontroller. The flash memory includes a plurality of physical blocks. The microcontroller selects one source block and one destination block from the plurality of physical blocks, and performs a garbage collection operation according to a check map corresponding to the selected source block to copy data stored in one or more valid physical addresses of the source block to the selected destination block.


