Data Deduplication via Digest-Based Block Segmentation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing data deduplication systems face challenges in efficiently processing large sets of data due to the need for extensive index tables that consume storage resources and memory, leading to increased processing time and potential data staleness, especially when dealing with limited resources.

Innovation Solution

The method involves selecting a pair of data blocks based on digest information for deduplication processing, storing only the digest information for these blocks in an index table, and applying deduplication techniques to the associated data blocks, allowing for reduced resource utilization and improved performance by minimizing the size of the index table and processing only a subset of data blocks.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If digest information for every data block is stored in an index table, then duplicate detection accuracy is improved, but storage resource consumption and memory usage increase

Engineering Contradiction:
Improveduplicate detection accuracyVSAvoidstorage resource consumption
Core Design Contradiction:
Measurement precisionVSQuantity of substance

Solution Approach 1:

The patent segments the data blocks into different sizes (e.g., 4KB, 8KB, 16KB) and processes them separately. By dividing the data into manageable chunks, the system can maintain index tables for smaller segments without requiring memory for entire large files, thus reducing peak memory consumption while still achieving comprehensive duplicate detection across all segments.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies partial action by processing only a subset of data blocks at any given time rather than loading all blocks into memory simultaneously. The system processes data blocks in batches or streams, maintaining index tables only for the current batch being processed, which significantly reduces memory requirements while still achieving complete deduplication coverage across the entire dataset.

Inventive Principle:
Principle #16Partial or excessive action

2Measurement precision

If extensive index tables are used for deduplication processing, then duplicate detection completeness is improved, but processing time increases

Engineering Contradiction:
Improveduplicate detection completenessVSAvoidprocessing time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent divides the deduplication process into segments based on data block sizes and processes them in parallel or sequential batches. This segmentation allows the system to build and query index tables for smaller subsets of data multiple times rather than building one large index table once, reducing the time complexity from O(n) to approximately O(n/k) where k is the number of segments.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs partial deduplication passes on subsets of data blocks rather than processing the entire dataset in a single pass. By repeatedly processing smaller portions of data with refreshed index tables, the system achieves complete duplicate detection while avoiding the memory and time overhead of maintaining a single comprehensive index table for all data.

Inventive Principle:
Principle #16Partial or excessive action

3Measurement precision

If large index tables are maintained in memory, then deduplication accuracy is improved, but system performance and responsiveness deteriorate

Engineering Contradiction:
Improvededuplication accuracyVSAvoidsystem performance
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The patent implements segmentation by processing data in fixed-size blocks (e.g., 4KB, 8KB, 16KB) and maintaining index tables only for the current block being processed. This approach keeps memory usage constant and predictable regardless of total data size, allowing the system to maintain high deduplication accuracy while preserving system responsiveness and overall productivity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system applies partial action by repeatedly processing small portions of data with fresh index tables rather than maintaining a large persistent index table. This strategy ensures that memory resources remain available for other system operations, preventing performance degradation while still achieving accurate duplicate detection through multiple passes over the data.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS8805796B1Deduplicating sets of data blocks
Publication Date: 2014.08.12 EMC IP HLDG CO LLC
  • US8805796B1 patent drawing
  • US8805796B1 patent drawing
  • US8805796B1 patent drawing

AI summary

A method is used in deduplicating sets of data blocks. A collection of data is selected from a set of storage extents. The collection of data is selected based on evaluation of digest information for first and second data blocks of the collection of data. A deduplicating technique is applied to the collection of data.