Priority-Based Garbage Collection for Non-Volatile Memory Arrays
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing data storage systems face inefficiencies in garbage collection due to high overhead and undesirable inefficiencies when prioritizing based solely on the amount of invalid data, as they do not account for varying levels of priority associated with stored data.
Innovation Solution
Implementing priority-based garbage collection in non-volatile memory arrays by identifying and managing data units based on priority information, where high-priority data is moved or retained, low-priority data is evicted or consolidated, and non-redundant low-priority data is flushed to other storage media, reducing write amplification and improving efficiency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If traditional garbage collection is performed on memory regions containing both valid and invalid data, then the memory region becomes available for future storage, but substantial overhead is incurred including increased write amplification
Solution Approach 1:
The patent segments valid data units into different priority groups (first priority, second priority, third priority) and processes them differently during garbage collection. High-priority data is copied to new locations, medium-priority data is consolidated, and low-priority data is evicted without copying, thereby reducing unnecessary write operations and write amplification while maintaining system productivity.
Solution Approach 2:
The patent applies different quality treatments to different portions of valid data based on their priority levels. Instead of uniformly copying all valid data during garbage collection, the system applies selective copying, consolidation, or eviction based on local priority characteristics, optimizing the balance between garbage collection efficiency and write amplification reduction.
2Speed
If garbage collection prioritizes data based solely on the amount of invalid data, then collection speed may improve, but efficiency deteriorates due to not accounting for varying data priority levels
Solution Approach 1:
The patent introduces dynamic priority-based decision making in garbage collection. Instead of a static approach that treats all valid data uniformly or prioritizes only based on invalid data quantity, the system dynamically evaluates each valid data unit's priority level and adjusts the collection strategy accordingly, achieving both speed and efficiency improvements.
Solution Approach 2:
The patent changes the prioritization parameter from solely based on invalid data amount to a composite parameter that includes data priority levels. This parameter change enables the garbage collection process to distinguish between high-priority and low-priority valid data, allowing faster eviction of low-priority data while preserving high-priority data, thus improving both collection speed and overall efficiency.
3Reliability
If all valid data units are copied to new locations during garbage collection, then data integrity is maintained, but overhead and write amplification increase substantially
Solution Approach 1:
The patent applies partial copying action based on data priority. Instead of copying all valid data units (excessive action), the system copies only high-priority data units while applying different treatments to medium and low-priority data. This partial action maintains data integrity for critical data while reducing overall overhead and write amplification.
Solution Approach 2:
The patent discards low-priority valid data units from the copying process during garbage collection, evicting them directly without copying to new locations. This discarding action reduces overhead and write amplification significantly, while the system recovers storage space efficiently. Data integrity is maintained for high-priority data that requires copying.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
Priority-based garbage collection utilizes attributes of data stored in the non¬ volatile memory array in order to improve efficiency of garbage collection and of the overall data storage system. A set of low priority data can be selectively evicted from a non-volatile memory array. This can, for example, reduce write amplification associated with garbage collection. Another set of low priority data can be regrouped or consolidated in a different region of the non-volatile memory array. In addition, flushing of data can be performed in order to enhance or optimize garbage collection. Performance and endurance can thereby be improved.