Lockless Deduplication via Reference Tags and Sliding Windows

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In deduplicated storage systems, traditional locking mechanisms are inefficient and resource-intensive, leading to high overhead costs and increased risk of deadlocks, especially in high-scale environments with millions of data extents and concurrent workload processing.

Innovation Solution

The implementation of a lockless approach using reference tagging with sliding window time periods for data extent management, where eligibility for deletion or linkage is determined based on specific retention periods and cushions, allowing for concurrent operations without the need for locks.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional locking mechanisms are used to manage data extents, then data integrity is ensured, but resource utilization increases and system performance decreases

Engineering Contradiction:
Improvedata integrityVSAvoidsystem performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent extracts and removes the locking mechanism from the data extent management system. Instead of using locks to ensure data integrity, the system uses reference counting and timestamp-based eligibility criteria to determine whether data extents can be safely deleted or linked, eliminating the need for serialization mechanisms while maintaining integrity.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent replaces the mechanical locking system with a reference-counting and timestamp-based decision system. Instead of using locks/mutexes to control access, the system uses software-based reference tags and time-window eligibility criteria to manage concurrent operations, substituting mechanical serialization with a different control mechanism.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

2Reliability

If locking mechanisms are used to prevent deletions during linkage operations, then data integrity is maintained, but memory overhead increases

Engineering Contradiction:
Improvedata integrityVSAvoidmemory overhead
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent removes the locking mechanism entirely from the system. Instead of allocating memory for locks and lock lists, the system uses reference counting and timestamp-based eligibility criteria to manage data extent operations, significantly reducing memory overhead while maintaining data integrity through alternative means.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent replaces expensive, persistent lock structures with lightweight reference tags and timestamp-based eligibility determinations. The system uses minimal metadata (reference counts and timestamps) that can be quickly computed and discarded, eliminating the need for heavy locking infrastructure.

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

3Reliability

If locks are used to ensure exclusive access to data extents, then data integrity is protected, but the risk of deadlocks increases

Engineering Contradiction:
Improvedata integrityVSAvoiddeadlock risk
Core Design Contradiction:
ReliabilityVSObject-affected harmful factors

Solution Approach 1:

The patent extracts and eliminates the locking mechanism from the system, removing the source of deadlock problems. By using reference counting and timestamp-based eligibility criteria, the system achieves data integrity without the mutual exclusion and waiting queues that cause deadlocks in traditional locking systems.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent replaces the mechanical lock-based exclusion system with a reference-counting and time-window-based system. This substitution eliminates the conditions for deadlock (mutual exclusion and circular waiting) while maintaining data integrity through alternative control mechanisms.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

4Reliability

If traditional serialization mechanisms are used to manage data extents, then data integrity is ensured, but processor overhead increases

Engineering Contradiction:
Improvedata integrityVSAvoidprocessor overhead
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The patent removes the serialization mechanism (locks/mutexes) from the data extent management system. Instead of using processor-intensive locking and unlocking operations, the system uses reference counting and timestamp-based eligibility determinations that require minimal processing and eliminate the need for wait queues and lock management.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent replaces the processor-intensive mechanical locking system with a software-based reference-counting and time-window system. This substitution eliminates the need for lock acquisition, release, and wait queue management, significantly reducing processor overhead while maintaining data integrity.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Data Source

PatentUS11074222B2Lockless management of deduplicated data using reference tags
Publication Date: 2021.07.27 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US11074222B2 patent drawing
  • US11074222B2 patent drawing
  • US11074222B2 patent drawing

AI summary

In one embodiment, a method includes receiving a query related to a first data extent. The method also includes determining whether the first data extent is eligible for deletion based on a first sliding window time period equal to a predetermined retention period added to a predetermined deletion cushion in response to the query requesting a deletion operation for the first data extent. The method also includes determining whether the first data extent is eligible for linkage based on a second sliding window time period equal to the retention period less a predetermined linkage cushion in response to the query requesting a linkage operation for the first data extent. The linkage cushion includes less time than the deletion cushion.