Dynamic Garbage Collection for Distributed Storage Bins

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In distributed storage architectures, garbage collection and bin synchronization are complex and resource-intensive due to the need to identify and free unused blocks across multiple worker nodes, which can lead to data loss and interfere with client I/O processing, especially as the scale of the storage increases.

Innovation Solution

Implementing a dynamic garbage collection process that selectively processes subsets of bins based on heuristics, such as fullness and staleness of probabilistic structures, and disjoining the generation of probabilistic structures from the garbage collection process to ensure up-to-date information, thereby reducing the false positive rate and improving scalability.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If garbage collection processes all bins to free unused blocks, then storage efficiency is improved, but client I/O processing is interfered with and latency spikes occur

Engineering Contradiction:
Improvestorage efficiencyVSAvoidclient I/O response time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent divides the storage system into multiple worker nodes, each managing a subset of bins. Garbage collection is performed independently on each worker node rather than system-wide, allowing parallel processing and reducing interference with client I/O operations. This segmentation enables the system to maintain storage efficiency while avoiding system-wide latency spikes.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements probabilistic structures (such as Bloom filters) that provide approximate rather than exact information about block usage. This partial action approach allows garbage collection to make decisions based on probabilistic data, reducing the need to examine every block thoroughly and thereby decreasing processing time and interference with client I/O operations.

Inventive Principle:
Principle #16Partial or excessive action

2Reliability

If bin synchronization copies all blocks to ensure data redundancy, then data reliability is improved, but network bandwidth and resources are wasted on copying unused blocks

Engineering Contradiction:
Improvedata redundancyVSAvoidnetwork bandwidth consumption
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The patent performs garbage collection before bin synchronization operations. By proactively identifying and freeing unused blocks prior to synchronization, the system ensures that only currently valid and needed blocks are copied to destination bins. This preliminary action prevents wasting network bandwidth on duplicating obsolete or unused data, thereby improving resource efficiency while maintaining data redundancy.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent uses probabilistic structures that are continuously updated with feedback about block usage patterns. This feedback mechanism allows the system to identify which blocks are actually in use versus unused, enabling intelligent decisions about which blocks should be synchronized. The feedback loop ensures that synchronization operations target only relevant blocks, reducing unnecessary network traffic.

Inventive Principle:
Principle #23Feedback

3Measurement precision

If probabilistic structures are generated continuously to track block usage, then garbage collection accuracy is improved, but resource consumption increases

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

Solution Approach 1:

The patent implements probabilistic structures with configurable parameters such as false positive rates and data structures like Bloom filters with adjustable hash functions and bit array sizes. By changing these parameters, the system can balance between accuracy of block usage identification and resource consumption. This allows optimization based on specific workload requirements, maintaining sufficient accuracy while controlling computational overhead.

Inventive Principle:
Principle #35Parameter changes

Data Source

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