Block Grouping for SSD Garbage Collection Efficiency
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The conventional method of garbage collection in solid state drives is inefficient due to the time-consuming process of sequentially checking and selecting blocks with low valid data counts for garbage collection, leading to reduced writable space in flash memory.
Innovation Solution
A block grouping method that establishes a link list to classify blocks by valid data counts, updating the list based on changes, and selecting blocks for garbage collection based on this grouping to enhance efficiency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If sequential checking of blocks is performed to select blocks with low valid data counts for garbage collection, then blocks can be identified for garbage collection, but the time required for garbage collection increases significantly
Solution Approach 1:
The patent applies preliminary action by pre-classifying blocks into multiple groups based on their valid data counts before garbage collection is needed. Blocks are sorted and divided into groups (e.g., first group with highest valid data counts, second group with lower valid data counts, etc.), so that when garbage collection is required, the controller can directly select from pre-organized groups rather than performing sequential checking of all blocks, thereby significantly reducing garbage collection time while maintaining accurate block selection
Solution Approach 2:
The patent applies segmentation by dividing the complete block set into multiple discrete groups based on valid data count thresholds. Each group contains blocks with similar characteristics (valid data counts within specific ranges), allowing the garbage collection process to focus on specific segments (groups) rather than processing all blocks uniformly, thus reducing the time required while ensuring accurate identification of blocks needing garbage collection
2Reliability
If blocks with invalid data are not erased, then valid data can be retained, but the writable space of flash memory is gradually reduced
Solution Approach 1:
The patent applies feedback by continuously monitoring the valid data counts of blocks and using this information to determine when and which blocks should be subjected to garbage collection. The controller receives feedback about block status (valid data counts), processes this information to identify blocks needing garbage collection, and executes garbage collection on appropriate blocks, thereby maintaining writable space while preserving valid data through informed, feedback-driven decisions
Solution Approach 2:
The patent applies parameter changes by using valid data count as a dynamic parameter to determine garbage collection timing and target selection. Instead of using fixed thresholds or sequential checking, the system changes the parameter of valid data count to classify blocks into different groups, allowing flexible adaptation to varying data patterns and enabling optimized garbage collection that maintains writable space while preserving valid data
Data Source
AI summary
A block grouping method includes the following steps. Firstly, a link list is established. In the link list, plural blocks are classified into plural groups according to valid data counts of respective blocks. If a host refreshes a stored data of a flash memory of the solid state drive or adds a new data into the flash memory, the valid data count of the block corresponding to the refreshed data or the new data is changed, and the link list is updated according to the changed valid data count of the block. After the garbage collection is started by the solid state drive, the block to be subject to the garbage collection is selected according to the link list, and the garbage collection is performed.


