Flash Memory Garbage Collection via Partial Page Clean Operations
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Garbage collection operations in flash memory are time-consuming due to the need to query address translation tables to identify valid pages, leading to system latency and potential failure to execute host commands within time limits, thereby deteriorating average system performance.
Innovation Solution
Partitioning the garbage collection operation into multiple partial clean operations that interleave with host write operations, where each partial operation performs a validity check and page clean process within a partitioned searching range, allowing the system to proceed with host write operations even if the expected number of valid pages is not found, thus avoiding prolonged system stalls.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If the garbage collection operation queries address translation tables to determine valid pages, then the accuracy of identifying valid pages is improved, but the system latency increases and host command execution may fail within time limits
Solution Approach 1:
The patent segments the source block into multiple sub-blocks and performs garbage collection on each sub-block independently and in parallel. This divides the single long-running GC operation into multiple shorter operations, reducing the time each operation blocks host commands while maintaining thorough valid page identification through address translation table queries.
Solution Approach 2:
The patent performs preliminary actions by pre-allocating destination blocks and preparing the garbage collection framework before host commands are affected. By having destination blocks ready and organizing the GC structure in advance, the system minimizes the time host commands wait during GC operations.
2Quantity of substance
If the garbage collection operation searches for valid pages to free up required storage space, then the storage space management is improved, but the system performance deteriorates due to prolonged searching
Solution Approach 1:
The patent divides the source block into multiple sub-blocks and performs GC on each sub-block independently. This segmentation allows the system to free up storage space incrementally across multiple parallel operations rather than being blocked by a single comprehensive search, maintaining both storage management effectiveness and system productivity.
Solution Approach 2:
The patent enables continuous host command execution during garbage collection by running GC on sub-blocks in parallel with host operations. The useful action of host command processing continues uninterrupted while GC progresses through sub-blocks, preventing performance deterioration while still achieving storage space reclamation.
3Reliability
If the garbage collection operation is performed as a single complete operation, then the storage space cleanup is thorough, but the host write operations are postponed causing system performance deterioration
Solution Approach 1:
The patent segments the complete GC operation into multiple sub-block GC operations that can execute in parallel. This allows thorough cleanup to be achieved across all sub-blocks while host write operations can proceed concurrently, preventing the postponement that occurs with a single complete GC operation.
Solution Approach 2:
The patent makes the GC operation dynamic by allowing it to proceed in multiple independent phases across sub-blocks rather than as a static single operation. This dynamic approach enables the system to adaptively interleave GC with host commands, maintaining both cleanup completeness and execution efficiency.
Data Source
AI summary
A method of performing a garbage collection operation on a source block includes: performing a plurality of partial page clean operations during a series of host write operations. Each partial clean operation includes: performing a validity check process within a partitioned searching range of the source block to obtain valid page information; and performing a page clean process according to the valid page information and a target clean page number to read valid pages indicated by the valid page information.


