Reference Tracking Garbage Collection for Distributed Storage

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Geographically distributed storage systems face challenges in garbage collection, particularly during temporary zone outages and ensuring data integrity, as BLOBs can become orphans due to concurrent CDF deletes and writes, leading to potential data loss and severe storage performance impacts.

Innovation Solution

A two-stage deletion process for orphan BLOBs, where a BLOB is first demoted to a garbage collection candidate state and then deleted after ensuring it has not obtained new references, ensuring data integrity and efficient CDF creation without foreground updates across multiple zones.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If BLOBs are deleted immediately when references are removed, then storage space is reclaimed quickly, but data loss may occur during temporary zone outages or concurrent operations

Engineering Contradiction:
Improvegarbage collection efficiencyVSAvoiddata integrity
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system performs preliminary actions by marking BLOBs as garbage collection candidates before actual deletion. This preliminary marking allows the system to prepare for deletion while maintaining a safety mechanism to prevent actual deletion until it is certain no new references will be created during zone outages or concurrent operations.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system provides beforehand cushioning by implementing a protective mechanism that prevents premature deletion of BLOBs. The garbage collection candidate state acts as a cushion that protects against data loss while still enabling eventual reclamation of storage space, balancing the need for space reclamation with data protection during uncertain conditions.

Inventive Principle:
Principle #11Beforehand cushioning (Prior cushioning)

2Reliability

If the system waits to confirm no new references before deleting BLOBs, then data loss is prevented, but storage performance deteriorates due to delayed deletion

Engineering Contradiction:
Improvedata integrityVSAvoidstorage performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system performs the reference verification action preliminarily by checking for new references before final deletion. This preliminary check ensures data integrity while allowing the deletion process to proceed efficiently once verification is complete, rather than delaying the entire process.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The deletion process is segmented into distinct phases: marking as garbage collection candidate, verifying no new references, and final deletion. This segmentation allows each phase to be optimized independently, with the verification phase ensuring reliability and the final deletion phase maximizing productivity.

Inventive Principle:
Principle #1Segmentation

3Reliability

If BLOBs are marked as garbage collection candidates across all zones, then data integrity is ensured during zone outages, but system complexity increases due to replication overhead

Engineering Contradiction:
Improvedata integrity during zone outagesVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The garbage collection candidate state serves multiple functions: it marks BLOBs for potential deletion, propagates deletion intent across all zones during replication, and provides a verification mechanism before final deletion. This multi-functionality reduces the need for separate mechanisms in each zone, thereby managing complexity while ensuring data integrity.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The system implements feedback by monitoring whether BLOBs in garbage collection candidate state obtain new references before deletion. This feedback mechanism ensures that deletion only occurs when safe, providing reliability while the centralized management of the candidate state helps control system complexity through coordinated replication.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS10346299B1Reference tracking garbage collection for geographically distributed storage system
Publication Date: 2019.07.09 EMC IP HLDG CO LLC
  • US10346299B1 patent drawing
  • US10346299B1 patent drawing
  • US10346299B1 patent drawing

AI summary

The described technology is generally directed towards reference tracking garbage collection, including for operating in a geographically distributed storage system. Content Addressed Storage (CAS) data objects comprising BLOBs (Binary Large Objects) are referenced by data objects comprising C-Clip Descriptor Files (CDFs). BLOBs having no remaining reference, referred to as orphan BLOBs, are deleted in a two-stage deletion operation that ensures that no new reference has been created. An alive BLOB that became an orphan is demoted to a garbage collection candidate with limited access to the BLOB. The BLOB is only deleted if the garbage collection candidate status of the BLOB is distributed across geographically distributed zones, and there is no new reference to the BLOB.