Distributed Garbage Collection for Deduplicated Storage

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In deduplicated storage systems, determining when data chunks are no longer referenced is complex and resource-intensive, particularly for large data sets, leading to storage fragmentation and wasted space due to dead or unreferenced data segments.

Innovation Solution

A distributed deduplication garbage collection process using strong hash functions and Bloom filters to identify live data segments, allowing for parallel processing and efficient identification of unreferenced data segments, which are then copied forward before deleting the original storage containers, thereby reclaiming storage space.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of substance

If traditional garbage collection methods are used to determine unreferenced data chunks, then storage space can be reclaimed, but the process becomes complex and resource-intensive for large datasets

Engineering Contradiction:
Improvestorage space reclamationVSAvoidgarbage collection process complexity
Core Design Contradiction:
Loss of substanceVSDevice complexity

Solution Approach 1:

The patent divides the large dataset into multiple data containers, each independently processed by different compute nodes. This segmentation allows parallel garbage collection operations across multiple containers simultaneously, reducing overall process complexity and resource requirements while maintaining effective storage space reclamation

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a distributed architecture dimension by deploying multiple compute nodes across different physical or virtual machines. This dimensional expansion enables parallel processing of garbage collection tasks that would be infeasible on a single system, transforming a resource-intensive sequential process into an efficient parallel operation

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Loss of substance

If traditional garbage collection methods are used to determine unreferenced data chunks, then storage space can be reclaimed, but the process consumes excessive computational resources

Engineering Contradiction:
Improvestorage space reclamationVSAvoidcomputational resource consumption
Core Design Contradiction:
Loss of substanceVSUse of energy by moving object

Solution Approach 1:

By segmenting the garbage collection task across multiple compute nodes, each node processes only a portion of the total data containers. This division of labor significantly reduces the computational resource consumption per node while collectively achieving comprehensive storage space reclamation across the entire distributed system

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Each compute node independently manages its assigned data containers, performing local garbage collection operations without requiring centralized coordination for every decision. This self-service approach reduces overall computational overhead and resource consumption by enabling autonomous, distributed processing

Inventive Principle:
Principle #25Self-service

3Measurement precision

If data containers are processed sequentially to identify live data segments, then accuracy is maintained, but processing speed is slow

Engineering Contradiction:
Improvelive data identification accuracyVSAvoidgarbage collection processing speed
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The patent segments the data container processing task across multiple compute nodes, allowing parallel execution of accuracy-critical operations. Each node maintains precise live data identification for its assigned containers through independent processing, while the aggregate system achieves high throughput through concurrent operations

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent merges the results from multiple parallel compute nodes to achieve both high speed and accuracy. By combining the individually processed data containers while maintaining reference counting integrity, the system achieves fast parallel processing without sacrificing the precision needed to correctly identify live versus unreferenced data segments

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS10990518B1Method and system for I/O parallel distributed garbage collection of a deduplicated datasets
Publication Date: 2021.04.27 EMC IP HLDG CO LLC
  • US10990518B1 patent drawing
  • US10990518B1 patent drawing
  • US10990518B1 patent drawing

AI summary

Embodiments relating to garbage collection for a deduplicated and compressed storage device are described. One embodiment provides for a method comprising creating a first set of temporary files associated with a range of fingerprints for data within data files associated with a directory tree structure; creating a second set of temporary files associated with a range of fingerprints of storage segments stored on one or more deduplicated storage containers; sorting the fingerprints in each temporary file using distributed out of core sorting across each node in the set of multiple computing device nodes to generate a first set of sorted files and a second set of sorted files; determining an intersection of the fingerprints in the first set of sorted files and the second set of sorted files; and generating a garbage collection recipe for each of the one or more deduplicated storage containers.