Garbage Collection Based on Data Inactivity Level

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing data storage systems face inefficiencies in garbage collection due to high overhead, particularly in solid state memory, as they often prioritize regions based solely on the amount of invalid data, which can lead to unnecessary operations when data is being actively updated by the host system.

Innovation Solution

Implementing a garbage collection mechanism that takes into account the inactivity level of data in memory regions by computing scores based on the duration since last invalidation, allowing for delayed collection until data becomes relatively static, thereby reducing write amplification and improving performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If garbage collection is performed on memory regions with high invalid data amounts, then storage space is freed, but write amplification increases and performance deteriorates

Engineering Contradiction:
Improvestorage space availabilityVSAvoidwrite amplification
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The patent changes the selection parameter for garbage collection from solely based on invalid data amount to a composite parameter that includes both invalid data amount and data activity level. This allows the system to identify memory regions that have high invalid data ratios but low activity levels, thereby selecting more appropriate candidates for garbage collection and reducing unnecessary write operations.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The system performs self-service by automatically tracking and updating the activity levels of data in memory regions, and using this information to make intelligent decisions about garbage collection timing. The memory management system serves itself by monitoring its own state and making optimized decisions without external intervention.

Inventive Principle:
Principle #25Self-service

2Quantity of substance

If garbage collection is performed frequently to free storage space, then memory availability improves, but system overhead increases

Engineering Contradiction:
Improvememory availabilityVSAvoidsystem overhead
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The system performs preliminary actions by pre-tracking the activity levels of data in memory regions before garbage collection is needed. This advance preparation allows the system to quickly identify suitable candidates when garbage collection becomes necessary, avoiding the need for complex real-time analysis during the collection process itself and reducing overall system overhead.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If garbage collection prioritizes regions with high invalid data ratios, then collection efficiency improves, but unnecessary operations occur when data is actively updated

Engineering Contradiction:
Improvecollection efficiencyVSAvoidoperation necessity
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent introduces a new parameter (data activity level) to the garbage collection selection criteria, changing it from a single-parameter system (invalid data ratio only) to a multi-parameter system. This allows the system to distinguish between regions that appear to have high invalid data ratios but are actually active, and those that are truly suitable for collection, thereby improving both efficiency and reliability.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS8788778B1Garbage collection based on the inactivity level of stored data
Publication Date: 2014.07.22 SANDISK TECHNOLOGIES LLC
  • US8788778B1 patent drawing
  • US8788778B1 patent drawing
  • US8788778B1 patent drawing

AI summary

A data storage system implements garbage collection based on the inactivity level of stored data. In one embodiment, the inactivity level of data stored in regions of a data storage system is taken into account when prioritizing regions for garbage collection. Inactivity level of memory regions can be compared to an inactivity threshold. The threshold can be adjusted during operation of the data storage system. Garbage collection can be delayed until data stored in a particular region is unlikely to be updated. Write amplification associated with garbage collection is reduced, and improved performance is attained.