Distributed Storage Garbage Collection Using Dynamic Bin Subsets

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing garbage collection processes in distributed storage architectures are inefficient and resource-intensive, particularly due to the complexity of identifying and freeing unused blocks across multiple worker nodes, which can lead to data loss and increased latency for client I/O operations.

Innovation Solution

The implementation of a dynamic garbage collection process that selectively processes subsets of bins instead of entire bins, using heuristics to adjust the size of the subset based on factors such as storage fullness, time elapsed since initialization, and garbage collection backlog, while also disjoining the generation of probabilistic structures from the garbage collection process to ensure fresher and more accurate data.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If garbage collection processes the entire bin to identify and free unused blocks, then storage efficiency is improved, but processing time and resource consumption increase significantly

Engineering Contradiction:
Improvestorage efficiencyVSAvoidprocessing time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The bin is divided into multiple subsets, and garbage collection is performed on each subset separately rather than processing the entire bin at once. This segmentation allows the garbage collection process to make progress on storage efficiency while limiting the time and resources required for each individual processing cycle.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Garbage collection is performed periodically on different subsets of the bin in a cyclic manner. The process moves through subsets sequentially, performing garbage collection on each subset for a limited time period, then moving to the next subset. This periodic action ensures continuous storage efficiency improvement without requiring long continuous processing that would cause latency spikes.

Inventive Principle:
Principle #19Periodic action

2Productivity

If garbage collection is performed frequently to maintain storage efficiency, then unused blocks are freed faster, but client I/O latency increases due to resource contention

Engineering Contradiction:
Improvegarbage collection rateVSAvoidclient I/O latency
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The garbage collection workload is segmented across multiple subsets and distributed over time. Instead of performing intensive garbage collection on the entire bin at once (which would cause latency spikes), the process works on smaller subsets sequentially, reducing resource contention and maintaining lower client I/O latency while still achieving good garbage collection rates over time.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The garbage collection process dynamically adjusts its behavior based on system conditions. When client I/O load is high, garbage collection intensity is reduced to minimize latency impact. When load is lower, garbage collection progresses faster through the subsets. This dynamic adaptation allows the system to maintain storage efficiency while responding to changing workload conditions.

Inventive Principle:
Principle #15Dynamics

3Measurement precision

If probabilistic structures are generated continuously to track in-use blocks, then accuracy of garbage collection is improved, but computational overhead and resource consumption increase

Engineering Contradiction:
Improvefalse positive rateVSAvoidcomputational overhead
Core Design Contradiction:
Measurement precisionVSUse of energy by moving object

Solution Approach 1:

Probabilistic structures are generated and updated periodically rather than continuously. The system generates fresh probabilistic structures at scheduled intervals and uses them for garbage collection processing. This periodic generation maintains adequate accuracy for identifying in-use blocks while significantly reducing the computational overhead compared to continuous generation and updating.

Inventive Principle:
Principle #19Periodic action

Solution Approach 2:

The system uses probabilistic structures with acceptable (not perfect) accuracy to achieve sufficient garbage collection effectiveness. Rather than investing excessive computational resources to minimize the false positive rate to near-zero levels, the system accepts a reasonable false positive rate in exchange for much lower computational overhead, achieving a practical balance between accuracy and resource consumption.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS12346564B2Garbage collection and bin synchronization for distributed storage architecture
Publication Date: 2025.07.01 NETAPP INC
  • US12346564B2 patent drawing
  • US12346564B2 patent drawing
  • US12346564B2 patent drawing

AI summary

Techniques are provided for implementing garbage collection and bin synchronization for a distributed storage architecture of worker nodes managing distributed storage composed of bins of blocks. As the distributed storage architecture scales out to accommodate more storage and worker nodes, garbage collection used to free unused blocks becomes unmanageable and slow. Accordingly garbage collection is improved by utilizing heuristics to dynamically speed up or down garbage collection and set sizes for subsets of a bin to process instead of the entire bin. This ensures that garbage collection does not use stale information about what blocks are in-use, and ensures garbage collection does not unduly impact client I/O processing or conversely falls behind on garbage collection. Garbage collection can be incorporated into a bin sync process to improve the efficiency of the bin sync process so that unused blocks are not needlessly copied by the bin sync process.