Dynamic Garbage Collection Period Adjustment for Memory Controllers
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing data storage devices face performance degradation due to inefficient execution of garbage collection procedures, which can lead to either premature execution degrading access performance or delayed execution causing insufficient spare memory blocks, resulting in stuck operations.
Innovation Solution
A data processing method that dynamically adjusts the execution period and time interval of the garbage collection procedure based on the latest editing status of open memory blocks, allowing intermittent execution and suspension to optimize resource usage and spare memory block generation.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If garbage collection procedure is executed frequently to ensure sufficient spare memory blocks, then reliability is improved, but access performance deteriorates due to premature execution
Solution Approach 1:
The garbage collection execution period is dynamically adjusted based on the latest editing status of open memory blocks. When editing status indicates high activity, the execution period is extended to postpone garbage collection. When editing status is low, the execution period is shortened to allow more frequent garbage collection, thus adaptively balancing reliability and performance
Solution Approach 2:
The system changes the execution period parameter of garbage collection based on editing status thresholds. By modifying this temporal parameter according to system state, the patent resolves the contradiction between needing frequent garbage collection for reliability and avoiding it to maintain access performance
2Productivity
If garbage collection procedure is delayed to improve access performance, then productivity is improved, but reliability deteriorates due to insufficient spare memory blocks
Solution Approach 1:
The system continuously monitors the editing status of open memory blocks and uses this feedback to adjust the garbage collection execution period. This closed-loop control ensures that garbage collection is postponed only when safe to do so, preventing reliability deterioration while maximizing performance benefits
Solution Approach 2:
The execution period is made dynamic rather than fixed, allowing the system to extend it when editing activity is high (protecting performance) and shorten it when activity is low (protecting reliability), thus adaptively resolving the contradiction
3Reliability
If garbage collection procedure is executed continuously to maximize spare memory block generation, then reliability is improved, but loss of time increases due to prolonged execution
Solution Approach 1:
Instead of continuous execution, the garbage collection procedure is executed periodically with a dynamically adjusted execution period. This periodic action with variable intervals allows the system to balance spare memory block generation with time loss, executing garbage collection only when necessary based on editing status
Solution Approach 2:
The execution period parameter is dynamically adjusted based on editing status, making the garbage collection process adaptive rather than static. This resolves the contradiction by allowing flexible timing that optimizes both reliability and time efficiency
Data Source
AI summary
A data storage device includes a memory device and a memory controller. The memory device includes multiple memory blocks. The memory controller determines whether execution of a garbage collection procedure is required according to a number of spare memory blocks. When the execution of the garbage collection procedure is required, the memory controller determines an execution period according to a latest editing status of a plurality of open memory blocks; starts the execution of the garbage collection procedure so as to perform at least a portion of the garbage collection procedure in the execution period; and suspends the execution of the garbage collection procedure when the execution period has expired but the garbage collection procedure is not finished. The memory controller further determines a time interval for continuing the execution of the garbage collection procedure later according to the latest editing status of the open memory blocks.


