Data Deduplication via Hash Table Reference Counts

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current data deduplication techniques in data storage systems face inefficiencies in identifying and managing duplicate data blocks across multiple logical storage entities, leading to suboptimal storage utilization and performance.

Innovation Solution

A method that involves deriving hash values for data blocks, maintaining a table with reference counts for each hash value, and determining deduplication processing based on a threshold rate, allowing for selective caching and deduplication across multiple logical storage entities, thereby optimizing storage and performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If deduplication processing is performed for all data blocks, then storage efficiency is improved, but processing time and system performance deteriorate

Engineering Contradiction:
Improvestorage efficiencyVSAvoidprocessing time
Core Design Contradiction:
Quantity of substanceVSLoss of time

Solution Approach 1:

The patent applies partial action by performing deduplication processing selectively rather than universally. It uses hash value tables and reference counts to identify data blocks that meet specific deduplication criteria, processing only those blocks where deduplication is likely to be effective. This selective approach reduces overall processing time while maintaining storage efficiency for the most beneficial cases.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The patent implements preliminary action by pre-computing and storing hash values for data blocks in a hash value table before actual deduplication processing. This pre-processing step allows the system to quickly identify candidate blocks for deduplication without performing full comparison operations on every block, thereby reducing the time required for the actual deduplication process.

Inventive Principle:
Principle #10Preliminary action

2Measurement precision

If a comprehensive deduplication data store is maintained, then duplicate detection accuracy is improved, but memory usage and system complexity increase

Engineering Contradiction:
Improveduplicate detection accuracyVSAvoidsystem complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent segments the deduplication data store into multiple hash value tables, each organized by hash value ranges or prefixes. This segmentation allows the system to maintain comprehensive deduplication coverage while reducing the complexity of any single table. The segmented structure enables more efficient memory management and simpler lookup operations compared to a single monolithic data store.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces hash values as intermediaries between raw data blocks and the deduplication data store. Instead of storing and comparing entire data blocks directly, the system uses compact hash values as proxies for identification and comparison. This intermediary approach maintains high duplicate detection accuracy while significantly reducing memory usage and system complexity.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If reference counting is performed for all data blocks, then data integrity is improved, but processing overhead increases

Engineering Contradiction:
Improvedata integrityVSAvoidprocessing throughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent applies partial action to reference counting by maintaining reference counts only for data blocks that are stored in the deduplication data store, rather than for all data blocks in the system. This selective reference counting approach ensures data integrity for deduplicated blocks while reducing the processing overhead associated with tracking references across the entire data set.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS11573928B2Techniques for data deduplication
Publication Date: 2023.02.07 EMC IP HLDG CO LLC
  • US11573928B2 patent drawing
  • US11573928B2 patent drawing
  • US11573928B2 patent drawing

AI summary

Techniques for processing data may include: receiving a data block stored in a data set, wherein a hash value is derived from the data block; determining, in accordance with selection criteria, whether the hash value is included in a subset; responsive to determining the hash value is included in the subset, performing processing that updates a table in accordance with the hash value and the data set, and determining, in accordance with the information in the table, whether to perform deduplication processing for the data block to determine whether the data block is a duplicate of another stored data block. The table may include an entry for the hash value. The entry may include information identifying data sets referencing the data block and, for each of the data sets, may specify a reference count denoting a number of times the data set references the data block.