Predictive Garbage Collection for Nonvolatile Memory
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current memory systems face inefficiencies in garbage collection due to the lack of predictive methods for determining the time required to extract valid data and selecting victim blocks, leading to performance deterioration and increased resource consumption.
Innovation Solution
A memory system that predicts the required time for data extraction and selects victim blocks based on calculated times, using a controller to manage super blocks and page buffers, optimizing garbage collection by identifying the block with the lowest predicted required time for efficient data transfer.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If traditional garbage collection methods are used without predictive time calculation, then the selection process is simpler, but the garbage collection time is longer and system performance deteriorates
Solution Approach 1:
The controller pre-calculates and stores the required time for extracting valid data from each super block before garbage collection is needed. This preliminary action allows the system to quickly identify optimal victim blocks without performing complex calculations during the garbage collection process, thus improving efficiency while managing complexity.
Solution Approach 2:
The patent replaces complex real-time analysis mechanisms with a simpler system that uses pre-calculated time values stored in memory. Instead of performing sophisticated measurements and calculations during garbage collection, the controller simply retrieves and compares stored time values, reducing computational complexity during operation.
2Speed
If parallel read is enabled for pages at different positions in N blocks, then data extraction capability is improved, but the predicted required time calculation becomes more complex
Solution Approach 1:
The patent segments the calculation of predicted required time into distinct components: a first time component for reading data from memory blocks and a second time component for transmitting data to the controller. This segmentation allows each component to be calculated and optimized independently, managing complexity while supporting parallel reads from different page positions.
3Reliability
If garbage collection is performed frequently to maintain performance, then system responsiveness is improved, but energy consumption increases
Solution Approach 1:
The system performs garbage collection proactively based on pre-calculated time metrics before performance degradation becomes apparent. By using the predicted required time information, the controller can autonomously determine when garbage collection is most efficient, balancing system responsiveness with energy consumption without requiring external intervention or monitoring.
4Productivity
If the controller manages more super blocks with parallel read, then throughput is improved, but the time prediction accuracy becomes more difficult to maintain
Solution Approach 1:
The patent changes the parameters used for time prediction by separating the calculation into distinct time components (reading time and transmission time) that can be independently measured and optimized. This parameter separation allows accurate prediction even when managing multiple super blocks with parallel reads, as each component can be calibrated independently based on actual system performance.
Data Source
AI summary
A memory system includes a nonvolatile memory device including a plurality of dies, each die including a plurality of planes, each plane including a plurality of blocks, each block including a plurality of pages, and further includes a plurality of page buffers, each page buffer for caching data in a unit of a page to be inputted to, and outputted from, each of the blocks; and a controller suitable for managing a plurality of super blocks according to a condition, each super block including N blocks capable of being read in parallel among the blocks, generating predicted required times for the super blocks, respectively, each of the predicted required times representing a time needed to extract valid data from the corresponding super block, and selecting a victim block for garbage collection from among the blocks based on the predicted required times.


