Flash Memory Controller Urgent Garbage Collection
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In memory systems with flash memory, the process of garbage collection (GC) can lead to fragmentation of blocks, reducing the number of usable blocks and potentially disturbing efficient GC control, especially when the number of free blocks falls below a certain threshold, which can impact performance and wear on the NAND flash memory.
Innovation Solution
The memory system implements a controller that manages garbage collection by executing either normal GC or urgent GC depending on the availability of free blocks, where in urgent GC, all valid data from a source block is directly written into an erased destination block, allowing for rapid data writing and maintaining a constant number of free blocks, and in normal GC, valid data is collected from multiple source blocks and rewritten into free blocks to efficiently secure the required number of free blocks.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If garbage collection is executed to collect valid data from blocks with invalid data, then data integrity is maintained, but the number of free blocks decreases and block fragmentation increases
Solution Approach 1:
The system performs preliminary actions by proactively executing garbage collection before the number of free blocks falls below a threshold, and by pre-validating data blocks during normal operations. This prevents the critical situation where free blocks are depleted, allowing the system to maintain data integrity while preserving sufficient free blocks for ongoing operations.
Solution Approach 2:
The system dynamically adjusts garbage collection behavior based on real-time monitoring of free block counts. When free blocks are abundant, normal GC operations proceed; when free blocks fall below a threshold, the system transitions to urgent GC mode with modified behavior. This dynamic adaptation resolves the contradiction by adjusting the balance between data collection and free block preservation based on current system state.
2Productivity
If garbage collection is executed to rewrite valid data into free blocks, then data organization is improved, but writing latency increases due to the multi-step process
Solution Approach 1:
The system prepares destination blocks in advance by validating them and ensuring they are ready for data reception. By pre-preparing free blocks and maintaining a pool of validated destination blocks, the system eliminates the need for complex real-time validation during data reception, thereby reducing writing latency while maintaining organization efficiency.
Solution Approach 2:
The system dynamically switches between normal garbage collection mode and urgent garbage collection mode based on system state. In urgent mode, when free blocks are scarce, the system optimizes the GC process to minimize latency by directly writing to pre-identified destination blocks without extensive validation steps, thus reducing writing time while still achieving effective data reorganization.
3Quantity of substance
If normal garbage collection is executed to collect data from multiple source blocks, then free block availability is increased, but the process becomes more complex and time-consuming
Solution Approach 1:
The system segments the garbage collection process into distinct phases: normal GC phase for routine data collection and urgent GC phase for critical situations. Within normal GC, it segments the process by selecting specific source blocks based on validity ratios and prioritizing blocks with lower validity ratios. This segmentation simplifies the overall complex process by breaking it into manageable, prioritized steps that can be executed systematically.
Solution Approach 2:
The system dynamically adjusts the garbage collection strategy based on the number of available free blocks and system state. When free blocks are abundant, it executes normal GC with comprehensive multi-block processing. When free blocks fall below a threshold, it transitions to urgent GC with simplified, priority-based processing. This dynamic adaptation manages complexity by only executing complex operations when necessary, reducing overall system complexity in practice.
4Speed
If urgent garbage collection is executed to quickly secure free blocks, then writing speed is improved, but wear on NAND flash memory increases
Solution Approach 1:
The system performs preliminary wear assessment and block validation before executing urgent garbage collection. By pre-identifying suitable source blocks with high validity ratios and pre-validating destination blocks, the system minimizes unnecessary write operations during urgent GC, thereby reducing wear on NAND flash memory while maintaining high writing speed.
Solution Approach 2:
The system changes operational parameters based on system state by adjusting the garbage collection strategy. In urgent GC mode, it modifies parameters such as selecting source blocks with highest validity ratios first, limiting the number of blocks processed, and optimizing write destination selection. These parameter changes enable the system to achieve high writing speed while minimizing the total number of write operations that cause NAND flash wear.
Data Source
AI summary
According to one embodiment, when a first command and first data are received from a host, and in a case where the number of free blocks is less than a first threshold, a controller executes a first processing. The first processing includes reading valid data included in one first block that includes the valid data and invalid data and writing the read valid data and at least a part of write data specified by the write command into the free block.


