Quasi-Compacting Garbage Collection for Storage Fragmentation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current garbage collection processes in distributed computing systems face inefficiencies in capacity reclamation, particularly when free blocks are not effectively utilized, leading to fragmentation and reduced throughput, especially when users delete data while there is available capacity, resulting in minimal or no gain in free space and potential decreases in available capacity.

Innovation Solution

The implementation of a quasi-compacting garbage collection technique that identifies and verifies available free blocks, ignores blocks below a threshold size, shortens larger blocks to standard sizes, and creates composite chunks from free blocks without moving data, allowing for efficient capacity reclamation and increased use of storage space without physical data movement.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If traditional garbage collection processes are used to reclaim capacity, then free space is recovered, but fragmentation occurs and throughput decreases when users delete data while capacity is available

Engineering Contradiction:
Improvefree space capacityVSAvoidthroughput
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The system performs preliminary verification of free blocks before reclamation, checking if they can be safely reclaimed without affecting active data operations. This preliminary action prevents fragmentation by identifying suitable blocks in advance, thereby maintaining throughput while recovering capacity.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The garbage collection process segments the verification and reclamation operations into distinct phases: identifying free blocks, verifying their reclamation safety, and then reclaiming them. This segmentation allows selective reclamation of blocks that won't cause fragmentation, preserving system throughput.

Inventive Principle:
Principle #1Segmentation

2Productivity

If free blocks are reclaimed without verification, then capacity reclamation is fast, but data reliability may be compromised

Engineering Contradiction:
Improvecapacity reclamation speedVSAvoiddata reliability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system performs preliminary verification of free blocks to determine if they can be safely reclaimed before actually reclaiming them. This verification step ensures data reliability by checking that reclamation won't affect active operations, while still maintaining relatively fast reclamation speeds through efficient verification algorithms.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The verification process provides feedback about the safety of reclamation for each free block. Based on this feedback, the system selectively reclaiming blocks that are safe to reclaim while skipping those that aren't, thereby maintaining both reliability and efficiency.

Inventive Principle:
Principle #23Feedback

3Quantity of substance

If all free blocks are reclaimed regardless of size, then maximum capacity is recovered, but small blocks below threshold waste processing resources

Engineering Contradiction:
Improvetotal reclaimed capacityVSAvoidprocessing overhead
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The system applies different treatment to free blocks based on their size characteristics. Blocks below a threshold size are ignored or handled differently, while larger blocks undergo full verification and reclamation. This local quality approach optimizes processing resources by focusing effort on blocks that provide meaningful capacity recovery.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The system changes the processing parameters (verification depth, reclamation action) based on the size parameter of each free block. By adjusting these parameters according to block size, the system efficiently recovers significant capacity while minimizing processing overhead on insignificant small blocks.

Inventive Principle:
Principle #35Parameter changes

4Productivity

If composite chunks are created from free blocks, then storage space utilization improves, but system complexity increases

Engineering Contradiction:
Improvestorage space utilizationVSAvoidchunk management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system merges multiple free blocks into composite chunks, improving storage space utilization by creating larger contiguous allocation units. This merging operation is performed systematically by identifying compatible free blocks and combining them, thereby enhancing space efficiency while managing complexity through structured procedures.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The chunk creation process is segmented into distinct steps: identifying candidate free blocks, verifying their compatibility, and then merging them into composite chunks. This segmentation manages system complexity by breaking down the complex merging operation into manageable, verifiable stages.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS10162552B2System and method for quasi-compacting garbage collection
Publication Date: 2018.12.25 EMC IP HLDG CO LLC
  • US10162552B2 patent drawing
  • US10162552B2 patent drawing
  • US10162552B2 patent drawing

AI summary

A method, computer program product, and computer system for identifying, by a computing device, a plurality of used chunks, wherein the plurality of used chunks may include a plurality of free blocks and at least one non-free block. A capacity of the plurality of free blocks that is available to reclaim may be verified. The capacity of the plurality of free blocks may be reclaimed. A composite chunk from the plurality of free blocks may be created.