SSD Garbage Collection Using Data Move Counts for Wear Reduction
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing SSD technologies face performance degradation due to inefficient garbage collection (GC) processes, which require additional data structures or interface modifications, leading to slowed I/O speeds and reduced lifespan of NAND flash memory cells.
Innovation Solution
A method of classifying data by lifespan based on the number of moves during GC, implemented as software, tracks and stores the number of moves in an OOB unit, forming separation groups to optimize data distribution without additional memory or interface changes, thereby improving GC efficiency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If garbage collection is performed to erase invalid data, then empty blocks are created for future writes, but I/O speed decreases due to copying valid pages and slow erase operations
Solution Approach 1:
The patent segments data into valid and invalid categories, and further segments valid data into hot data (frequently accessed) and cold data (infrequently accessed). This segmentation allows differential handling during garbage collection: hot data is preserved and copied carefully, while cold data can be erased more aggressively, improving overall GC efficiency without sacrificing I/O performance for frequently accessed data.
Solution Approach 2:
The patent applies different quality levels of data preservation based on access patterns. Hot data receives high-quality preservation (careful copying and validation), while cold data receives lower-quality handling (faster erasure). This local quality differentiation optimizes the balance between maintaining data availability and improving erase speed.
2Productivity
If additional data structures or interface modifications are used for data classification, then data can be classified for optimized garbage collection, but device complexity increases
Solution Approach 1:
The patent implements self-service by having the SSD controller automatically track and classify data access patterns without external intervention. The system autonomously identifies hot and cold data based on its own operational history, eliminating the need for complex external data structures or interface modifications while maintaining improved garbage collection efficiency.
Solution Approach 2:
The patent changes the parameter being monitored from complex data structure relationships to simple access frequency counts. By tracking how often data is accessed rather than maintaining complex metadata structures, the system achieves data classification with minimal additional complexity while improving garbage collection productivity.
3Quantity of substance
If the number of write/erase operations increases to utilize flash memory capacity, then storage utilization improves, but cell lifespan decreases due to limited overwrite cycles
Solution Approach 1:
The patent performs preliminary action by proactively identifying and preserving hot data before it becomes invalid. By anticipating which data will be needed again and preserving it in advance through careful garbage collection handling, the system enables more aggressive erasure of other blocks, increasing storage utilization without proportionally increasing write/erase cycles on the same cells.
Solution Approach 2:
The patent maintains continuity of useful action by ensuring hot data remains continuously accessible while allowing periodic erasure of cold data blocks. This continuous preservation of frequently accessed data combined with periodic cleanup of infrequently accessed data maximizes storage utilization while distributing wear across different cell groups, extending overall flash memory lifespan.
Data Source
AI summary
There is provided a method of classifying data by lifespan according to the number of times of moving data to improve performance and lifespan of a flash memory-based SSD. The method includes: a number of movements tracking step of tracking the number of times of moving a plurality of pages having data written therein from an arbitrary block to another block by Garbage Collection (GC) in the flash memory-based solid-state drive (SSD) starting from a time point of initial writing until a time point of invalidation of erasing or overwriting, by software mounted on a computer system; and a separation group forming step of forming separation groups by grouping one or more pages having the same number of times of moving data among the plurality of pages into one or more blocks by the software.


