Deduplicated Storage Garbage Collection via Generation Numbers

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In deduplicated storage systems, particularly in cloud-based environments, deleting dead objects is complex due to the need to avoid impacting live objects, and conventional reference count methods are cumbersome and resource-intensive.

Innovation Solution

A system and method for garbage collection that uses a microservice or container-based application to identify and remove unreferenced segments without impacting live segments, employing a deletion bucket and worker nodes to manage the process, allowing for concurrent reads/writes and scalable performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If reference count methods are used to track and delete dead objects in deduplicated storage systems, then object deletion can be achieved, but the system requires maintaining billions of counts which consumes significant storage and is very difficult to manage

Engineering Contradiction:
Improveobject deletion accuracyVSAvoidreference count management complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent extracts the reference counting mechanism from the system and replaces it with a generation-based approach. Instead of tracking individual reference counts for billions of objects, the system uses generation numbers that are much simpler to maintain. When an object's generation number doesn't match the current generation, it is identified as dead and can be deleted without complex reference counting.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent changes the parameter used for tracking object liveness from individual reference counts to generation numbers. This parameter change transforms the problem from managing billions of individual counters to managing a single generation counter and associated metadata, dramatically reducing storage requirements and management complexity while maintaining deletion accuracy.

Inventive Principle:
Principle #35Parameter changes

2Quantity of substance

If segments of dead objects are deleted immediately in deduplicated storage systems, then storage space is freed, but live objects may be impacted because the same segments may correspond to live objects

Engineering Contradiction:
Improvestorage space utilizationVSAvoiddata integrity
Core Design Contradiction:
Quantity of substanceVSReliability

Solution Approach 1:

The patent performs preliminary identification of dead objects using generation number comparison before deletion. By checking whether an object's generation number matches the current generation, the system preliminarily determines which objects are dead and safe to delete, ensuring that live objects are not impacted while freeing storage space efficiently.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces generation numbers as an intermediary mechanism between object creation and deletion. This intermediary allows the system to safely determine which segments can be deleted without directly tracking individual object references, thus protecting live objects while enabling storage reclamation.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If conventional garbage collection approaches are used in distributed and cloud based systems, then dead objects can be removed, but the process is cumbersome and resource-intensive due to the need to maintain and manage billions of reference counts

Engineering Contradiction:
Improvegarbage collection efficiencyVSAvoidcomputational resource consumption
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The patent changes the fundamental parameter for garbage collection from individual reference counts to generation numbers. This transformation reduces the computational resources needed for garbage collection from managing billions of counters to processing simple generation number comparisons, dramatically improving efficiency and reducing energy consumption in distributed and cloud-based systems.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent uses inexpensive generation number metadata instead of expensive reference count structures. Generation numbers are simple, disposable values that require minimal storage and computation, making garbage collection much more efficient and resource-friendly compared to maintaining complex reference counting systems.

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

Data Source

PatentUS12072798B2Scalable garbage collection for deduplicated storage
Publication Date: 2024.08.27 EMC IP HLDG CO LLC
  • US12072798B2 patent drawing
  • US12072798B2 patent drawing
  • US12072798B2 patent drawing

AI summary

Systems and methods for cleaning a storage system. A deduplicated storage system is cleaned by identifying structures that include dead or unreferenced segments. This includes processing recipes to identify the segments that are no longer part of a live object recipe. Then, the dead segments are removed. This is accomplished by copying forward the live segments and then deleting, as a whole, the structure that included the dead segments.