Distributed Storage Garbage Collection with Bloom Filter Tracking

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Garbage collection in distributed storage architectures is computationally expensive and time-consuming due to the need to read large slice files and on-disk metadata, making it difficult to scale with increasing worker nodes and storage size, and causing interference with client I/O processing.

Innovation Solution

Implement probabilistic structures like bloom filters to indicate in-use blocks, and dynamically adjust the size of bins processed during garbage collection rounds using heuristics, disjoining the generation of probabilistic structures from the garbage collection process, and performing garbage collection on a subset of bins to maintain freshness and reduce resource interference.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional garbage collection is implemented to identify and free unused blocks, then storage efficiency is improved, but computational cost and time consumption increase significantly due to reading large slice files and on-disk metadata

Engineering Contradiction:
Improvestorage efficiencyVSAvoidgarbage collection time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system performs preliminary actions by maintaining probabilistic structures (bloom filters) that are continuously updated as blocks are allocated or freed. This preliminary tracking eliminates the need to read entire slice files during garbage collection, as the probabilistic structures already contain the necessary information to identify candidate unused blocks without requiring full metadata scans.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces probabilistic structures as an intermediary between the slice files/metadata and the garbage collection process. These structures act as a filtering layer that approximates the state of block usage, allowing the system to quickly identify candidate blocks for collection without directly accessing the expensive-to-read slice files and on-disk metadata during the collection operation itself.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Measurement precision

If garbage collection reads large slice files and on-disk metadata to identify unused blocks, then accurate identification of in-use blocks is achieved, but resource consumption and computational expense increase

Engineering Contradiction:
Improveblock usage identification accuracyVSAvoidcomputational energy consumption
Core Design Contradiction:
Measurement precisionVSUse of energy by moving object

Solution Approach 1:

The system uses inexpensive probabilistic structures (bloom filters) that can be quickly updated and discarded or refreshed. These structures require minimal computational resources to maintain compared to reading and processing large slice files, providing a cost-effective approximation of block usage state that enables frequent garbage collection operations with low energy consumption.

Inventive Principle:
Principle #27Cheap short-living objects (Disposable)

Solution Approach 2:

The patent changes the parameter representation from exact block usage tracking (requiring full slice file reads) to probabilistic tracking using bloom filters. This parameter change allows the system to work with a compressed, approximate representation of block state that requires significantly less computational energy to process while maintaining acceptable accuracy for garbage collection purposes.

Inventive Principle:
Principle #35Parameter changes

3Productivity

If garbage collection is performed frequently to maintain storage efficiency, then unused blocks are freed promptly, but interference with client I/O processing increases

Engineering Contradiction:
Improvestorage efficiency maintenanceVSAvoidI/O interference
Core Design Contradiction:
ProductivityVSObject-generated harmful factors

Solution Approach 1:

By continuously updating probabilistic structures as blocks are allocated or freed during normal operations, the system performs preliminary tracking work during low-impact moments. This eliminates the need for intensive, disruptive full scans during dedicated garbage collection windows, allowing more frequent and less intrusive collection operations that minimize interference with client I/O.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system performs partial garbage collection by using probabilistic structures to identify candidate unused blocks and then verifying only those specific candidates rather than scanning all blocks. This partial action approach frees sufficient unused blocks to maintain storage efficiency while consuming far fewer resources and causing minimal interference to client operations.

Inventive Principle:
Principle #16Partial or excessive action

4Reliability

If the entire bin is processed during each garbage collection round, then complete garbage collection is achieved, but processing time and resource consumption increase

Engineering Contradiction:
Improvegarbage collection completenessVSAvoidgarbage collection speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the garbage collection process into two phases: (1) using probabilistic structures to quickly identify candidate unused blocks, and (2) verifying only those candidates. This segmentation allows the system to process a subset of blocks (the candidates) rather than the entire bin, significantly improving collection speed while maintaining reliability through the verification step.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs partial processing by focusing only on candidate blocks identified through probabilistic structures rather than processing the entire bin. This partial action is sufficient to maintain storage efficiency because the probabilistic filtering ensures that candidate blocks are highly likely to be unused, and verification confirms their status without requiring full bin scans.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS20250335092A1Garbage collection and bin synchronization for distributed storage architecture
Publication Date: 2025.10.30 NETAPP INC
  • US20250335092A1 patent drawing
  • US20250335092A1 patent drawing
  • US20250335092A1 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.