Deterministic Garbage Collection for NAND Flash Storage
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional garbage collection schemes in NAND flash storage systems introduce excessive overhead and cause deadline-misses in real-time embedded systems due to early triggering of garbage collection, leading to unnecessary erase operations and performance degradation.
Innovation Solution
A real-time garbage collection scheme is proposed, which divides the garbage collection operation into smaller steps and interleaves them with read/write requests, using over-provisioning to ensure valid page copying and block erasing are minimized, and postpones garbage collection until the latest stage to optimize both worst-case and average system latency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If garbage collection is triggered at an early stage, then space reclamation is performed timely, but unnecessary erase operations are introduced and average system performance deteriorates
Solution Approach 1:
The patent applies preliminary action by pre-allocating a buffer zone of free blocks before garbage collection is needed. This buffer zone is maintained by the FTL layer and allows the system to delay garbage collection until actually needed, avoiding premature erase operations while ensuring space is available when required.
Solution Approach 2:
The patent implements dynamic garbage collection triggering based on real-time monitoring of free space. The system dynamically adjusts garbage collection timing based on actual storage conditions, transitioning from static early-triggering to dynamic on-demand triggering, thereby optimizing both space reclamation and system performance.
2Productivity
If garbage collection is performed frequently, then space is reclaimed efficiently, but worst-case system latency increases due to long execution time
Solution Approach 1:
The buffer zone is prepared in advance and maintained continuously, allowing garbage collection to be triggered only when truly necessary. This preliminary preparation eliminates the need for frequent garbage collection operations, thereby reducing worst-case system latency while maintaining space reclamation efficiency.
Solution Approach 2:
The FTL layer autonomously manages the buffer zone and triggers garbage collection only when free space falls below a threshold. This self-service mechanism eliminates the need for external intervention or frequent manual triggering, optimizing both space management and system latency.
3Reliability
If conventional garbage collection is used, then space reclamation is achieved, but excessive overhead is introduced and deadline-misses occur in real-time systems
Solution Approach 1:
The buffer zone is pre-established and managed by the FTL layer, simplifying the garbage collection process to a straightforward copy-and-erase operation triggered only when necessary. This preliminary structuring reduces the complexity and overhead of garbage collection while maintaining reliable space reclamation.
Solution Approach 2:
The patent extracts the essential function of garbage collection into a simplified process that operates only when the buffer zone is depleted. By separating the buffer zone management from the garbage collection operation, the system reduces overhead and eliminates unnecessary operations that cause deadline-misses in real-time systems.
Data Source
AI summary
A method for partial garbage collection in a NAND flash storage system is disclosed. The method includes receiving a real time data request task in a NAND flash storage system; executing the real time data request task in the NAND flash storage system; determining a condition whether a number of free pages in the NAND flash storage system is below a pre-determined threshold; for the condition that the number of free pages in the NAND flash storage system is below a pre-determined threshold, determining whether a partial garbage collection list is empty; for the condition that the partial garbage collection list is empty, selecting a victim block from a plurality of blocks in the NAND flash storage system; creating partial garbage collection tasks in the NAND flash storage system; and putting the partial garbage collection tasks in the partial garbage collection list.


