Priority-Based Garbage Collection for Non-Volatile Memory Arrays

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvegarbage collection efficiencyVSAvoidwrite amplification
Core Design Contradiction:
ProductivityVSLoss of energy

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #3Local quality

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

Engineering Contradiction:
Improvegarbage collection speedVSAvoidgarbage collection efficiency
Core Design Contradiction:
SpeedVSProductivity

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.

Inventive Principle:
Principle #15Dynamics

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.

Inventive Principle:
Principle #35Parameter changes

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

Engineering Contradiction:
Improvedata integrityVSAvoidgarbage collection overhead
Core Design Contradiction:
ReliabilityVSDevice complexity

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.

Inventive Principle:
Principle #16Partial or excessive action

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.

Inventive Principle:
Principle #34Discarding and recovering

Data Source

PatentEP2939120B1Priority-based garbage collection for data storage systems
Publication Date: 2020.02.12 WESTERN DIGITAL TECHNOLOGIES INC
  • EP2939120B1 patent drawingFigure 1
  • EP2939120B1 patent drawingFigure 2
  • EP2939120B1 patent drawingFigure 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.