Phased Garbage Collection for Non-Volatile Memory Storage Systems
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In non-volatile memory storage systems, garbage collection operations often exceed the allocated timeout period due to increasing block sizes, leading to potential timeout errors and inefficiencies in write operations.
Innovation Solution
Implementing phased garbage collection, where the garbage collection operation is split into multiple phases, allowing each phase to be completed within separate timeout periods, and utilizing a buffer to store data during the write process, thereby preventing timeout errors.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of time
If garbage collection operation is performed in a single phase, then the operation can be completed quickly, but it exceeds the allocated timeout period due to increasing block sizes
Solution Approach 1:
The garbage collection operation is divided into multiple phases (first phase, second phase, third phase) that are executed sequentially within the timeout period. Each phase processes a portion of the valid data from the first block to the second block, allowing the operation to fit within the 250-millisecond timeout constraint while still making progress toward completion.
2Quantity of substance
If block size is increased to provide higher capacity and parallelism, then storage capacity improves, but write operation time increases causing timeout errors
Solution Approach 1:
The large block data transfer is segmented into multiple phases, where each phase handles a subset of the data. This allows the system to work with larger blocks for increased capacity while breaking down the transfer operation into manageable time segments that fit within the timeout period.
Solution Approach 2:
The system performs preliminary identification of valid data and plans the phased transfer strategy before executing the garbage collection operation, allowing optimization of the data transfer path and timing to ensure completion within the allocated timeout period.
3Reliability
If garbage collection is triggered by every write operation, then data integrity is maintained, but the fixed timeout period is frequently exceeded
Solution Approach 1:
By segmenting the garbage collection into phases, the system can trigger GC on every write operation (maintaining data integrity) while ensuring each triggered operation completes within the timeout period through controlled phased execution rather than a single lengthy operation.
Data Source
AI summary
A method for operating a non-volatile memory storage system is provided. In this method, a write command is received to write data. The write command is allocated a timeout period to complete an execution of the write command. Within the timeout period, a portion of a garbage collection operation is performed. The data associated with the write command are written to a buffer associated with the non-volatile memory storage system.


