64-bit Fingerprint Extraction Layer for Data Deduplication

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing storage systems face inefficiencies in reducing duplicate data blocks, particularly due to computationally intensive hashing calculations and the scalability issues of hash tables in large data sets, which affect performance and resource utilization.

Innovation Solution

A storage system implements a fingerprint extraction layer that generates a 64-bit fingerprint for each data block using a combination of checksum calculations and predefined offsets, reducing the need for additional cryptographic functions and optimizing processor utilization, with a deduplication module comparing these fingerprints to identify and eliminate duplicates.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If traditional hashing calculations are used to identify duplicate data blocks, then duplicate detection capability is improved, but processor utilization deteriorates due to computationally intensive operations

Engineering Contradiction:
Improveduplicate detection capabilityVSAvoidprocessor utilization
Core Design Contradiction:
Measurement precisionVSUse of energy by moving object

Solution Approach 1:

The fingerprint is segmented into multiple components including a checksum portion and offset portions, where each segment serves a specific function in duplicate detection. This segmentation allows the system to use lighter computational operations (checksum and offset extraction) instead of full hashing calculations, reducing processor utilization while maintaining duplicate detection capability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The fingerprint acts as an intermediary between the original data blocks and the duplicate detection process. Instead of directly comparing large data blocks or performing intensive hashing operations, the system uses these compact fingerprints as mediators to identify potential duplicates, significantly reducing computational overhead.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Measurement precision

If hash tables are used to store and compare data block fingerprints, then duplicate identification accuracy is improved, but scalability deteriorates in large data sets

Engineering Contradiction:
Improveduplicate identification accuracyVSAvoidscalability
Core Design Contradiction:
Measurement precisionVSAdaptability or versatility

Solution Approach 1:

The fingerprint structure is segmented into a checksum portion and offset portions, allowing the system to organize and compare data in structured segments. This segmentation enables more efficient storage and retrieval operations in large data sets, improving scalability while maintaining accurate duplicate identification through the structured comparison of fingerprint segments.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system changes the parameters of the fingerprint representation by using a fixed-size structure with specific checksum and offset components. This parameterization allows the fingerprint to remain compact and comparable regardless of the original data block size, enabling scalable operation across large data sets while preserving duplicate identification accuracy.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS8412682B2System and method for retrieving and using block fingerprints for data deduplication
Publication Date: 2013.04.02 NETAPP INC
  • US8412682B2 patent drawing
  • US8412682B2 patent drawing
  • US8412682B2 patent drawing

AI summary

A system and method for calculating and storing block fingerprints for data deduplication. A fingerprint extraction layer generates a fingerprint of a predefined size, e.g., 64 bits, for each data block stored by a storage system. Each fingerprint is stored in a fingerprint record, and the fingerprint records are, in turn, stored in a fingerprint database for access by the data deduplication module. The data deduplication module may periodically compare the fingerprints to identify duplicate fingerprints, which, in turn, indicate duplicate data blocks.