Online Deduplication Efficiency Measurement via Fingerprint Analysis

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional data deduplication systems face challenges in evaluating effectiveness in non-synthetic settings, leading to inefficiencies and inability to provide feedback on specific storage systems, due to resource consumption and tradeoffs between memory usage and detection accuracy.

Innovation Solution

A method to determine actual and potential deduplication efficiency values by identifying unique fingerprints and copies of user data in logical volumes, comparing these values to output results, and adjusting deduplication settings to improve performance, allowing for online evaluation and adjustment of deduplication schemes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If data deduplication is implemented to reduce duplicate copies, then storage capacity efficiency is improved, but system resources are consumed

Engineering Contradiction:
Improvestorage capacity efficiencyVSAvoidsystem resources
Core Design Contradiction:
Quantity of substanceVSUse of energy by moving object

Solution Approach 1:

The system performs preliminary deduplication operations by maintaining a fingerprint database and reference counting fields that track duplicate data before it consumes full storage resources. Fingerprints are computed and stored in advance, enabling quick identification of duplicates during write operations.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent replaces traditional mechanical storage duplication with a digital fingerprinting system. Instead of physically storing multiple copies of identical data, the system uses cryptographic fingerprints and reference counting to represent duplicates, substituting computational operations for physical storage operations.

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

2Device complexity

If the size of the storage database is limited to reduce system overhead, then system overhead is reduced, but the number of fingerprints that may be stored in memory is reduced

Engineering Contradiction:
Improvesystem overheadVSAvoiddetection accuracy
Core Design Contradiction:
Device complexityVSMeasurement precision

Solution Approach 1:

The fingerprint database is segmented into fixed-size slots with overflow handling. When the database reaches capacity, the system implements wraparound behavior where new fingerprints overwrite oldest entries, maintaining a manageable database size while continuing to track recent duplicates effectively.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system dynamically adjusts the reference counting field size based on the number of duplicates detected. The reference count is stored in a fixed number of bits that can be configured to balance between memory consumption and the ability to track multiple references to the same data.

Inventive Principle:
Principle #35Parameter changes

3Quantity of substance

If the number of bits in a reference counting field is reduced to decrease memory consumption, then memory consumption is decreased, but the number of times the data can be reused is decreased

Engineering Contradiction:
Improvememory consumptionVSAvoiddata reuse capability
Core Design Contradiction:
Quantity of substanceVSAdaptability or versatility

Solution Approach 1:

The reference counting field uses a fixed number of bits that may be more than strictly necessary for most cases, providing headroom for exceptional situations where data is referenced many times. This partial over-provisioning ensures the system can handle high-reuse scenarios without failure while keeping the average memory consumption low.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The reference counting mechanism dynamically adapts to the actual usage patterns of data. The system increments reference counts as data is referenced and decrements them when references are removed, allowing the same data structure to efficiently handle varying degrees of data reuse without requiring reconfiguration.

Inventive Principle:
Principle #15Dynamics

4Ease of manufacture

If conventional products test deduplication effectiveness in simulated situations, then testing capability is provided, but feedback on specific storage systems in use cannot be provided

Engineering Contradiction:
Improvetesting capabilityVSAvoidsystem-specific feedback
Core Design Contradiction:
Ease of manufactureVSLoss of information

Solution Approach 1:

The system continuously monitors actual deduplication performance by tracking the number of unique fingerprints versus total fingerprints in the database. This feedback mechanism provides real-time information about deduplication effectiveness on actual production data, enabling operators to assess the true impact of deduplication on their specific storage systems.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The deduplication system automatically collects and analyzes its own performance metrics without requiring external testing tools. By maintaining internal statistics on fingerprint uniqueness and duplicate detection, the system self-evaluates its effectiveness and provides actionable insights about its performance on real-world data.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS10795861B2Online measurement of potential deduplication efficiency
Publication Date: 2020.10.06 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US10795861B2 patent drawing
  • US10795861B2 patent drawing
  • US10795861B2 patent drawing

AI summary

A computer-implemented method, according to one embodiment, includes: determining which of a plurality of fingerprints correspond to a copy of user data stored in one or more logical volumes at a storage location, and which of the plurality of fingerprints correspond to a pointer that points to a copy of user data stored in the one or more logical volumes at the storage location. A number of unique fingerprints is determined, and a number of the copies of user data stored in the one or more logical volumes is determined. The number of the copies of user data and the number of unique fingerprints are used to calculate an actual deduplication efficiency value. The number of the copies of user data and the number of unique fingerprints are used to calculate a potential deduplication efficiency value. The actual deduplication efficiency value is compared to the potential deduplication efficiency value.