Storage Garbage Collection Using IO Popularity to Reduce Fragment Jitter

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current garbage collection techniques in storage systems suffer from fragment jitter and inefficient space release due to overwrites and write requests, leading to degraded performance and reduced available space, especially when the sum of data sizes in unit blocks exceeds the target block size.

Innovation Solution

A method that prioritizes merging less active unit blocks based on IO access popularity, allowing for full or partial release of unit blocks, thereby reducing fragment jitter and increasing the probability of space release by considering the utilization and IO access popularity of unit blocks.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If traditional garbage collection merges partially allocated blocks, then available space is returned to the storage system, but fragment jitter occurs and performance degrades

Engineering Contradiction:
Improveavailable spaceVSAvoidstorage system performance
Core Design Contradiction:
Quantity of substanceVSReliability

Solution Approach 1:

The patent changes the selection parameters for garbage collection from random or simple FIFO to based on IO access popularity metrics. By calculating and using IO access popularity values, the system identifies and merges blocks with low access frequency, thereby reducing performance impact while maintaining space reclamation effectiveness.

Inventive Principle:
Principle #35Parameter changes

2Productivity

If garbage collection merges unit blocks to release space, then voids in partially allocated blocks are reduced, but the process becomes inefficient when sum of data sizes exceeds target block size

Engineering Contradiction:
Improvegarbage collection efficiencyVSAvoidavailable space release probability
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent introduces IO access popularity as a new parameter for selecting candidate blocks, replacing or supplementing traditional selection methods. This enables more intelligent selection of blocks that are less likely to be accessed during or after merging, improving both efficiency and space release probability.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent implements partial merging strategy where it merges only the necessary portion of data from candidate blocks to fill target blocks, rather than requiring complete block merges. This partial action approach allows successful merging even when total data size exceeds target block capacity, increasing space release opportunities.

Inventive Principle:
Principle #16Partial or excessive action

3Reliability

If storage system allocates space for write requests, then data protection is enabled, but space becomes fragmented over time

Engineering Contradiction:
Improvedata protection capabilityVSAvoidspace allocation structure
Core Design Contradiction:
ReliabilityVSShape

Solution Approach 1:

The patent segments the storage space into unit blocks and further into partially allocated blocks, enabling granular garbage collection operations. By working at the unit block level and identifying partially allocated blocks, the system can perform targeted merging operations that maintain data protection while gradually defragmenting storage space.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS12468463B2Method, device, and computer program product for garbage collection for storage system
Publication Date: 2025.11.11 DELL PROD LP
  • US12468463B2 patent drawing
  • US12468463B2 patent drawing
  • US12468463B2 patent drawing

AI summary

A method for garbage collection for a storage system in an illustrative embodiment includes determining input/output (IO) access popularity of a plurality of partially occupied unit blocks in response to receiving an instruction for garbage collection for the storage system. The method further includes selecting two unit blocks from the plurality of partially occupied unit blocks based on the utilization and the IO access popularity of the plurality of partially occupied unit blocks. In addition, the method further includes determining to fully release the two unit blocks or to partially release the two unit blocks based on the two unit blocks and a target block. In this manner, by considering the IO access popularity of the unit blocks, the less active unit blocks are merged as preferentially as possible, which reduces the probability of fragment jitter, thereby improving the efficiency of garbage collection.