Storage Garbage Collection Using IO Popularity to Reduce Fragment Jitter
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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
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.
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.
3Reliability
If storage system allocates space for write requests, then data protection is enabled, but space becomes fragmented over time
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.
Data Source
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.


