Deduplicating Data Blocks Using Digest Subset Evaluation

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 resource constraints, leading to increased storage and CPU utilization, and the need for large index tables that consume memory and time, potentially resulting in stale data.

Innovation Solution

A method that selects a subset of data blocks based on digest information evaluation, storing only a subset of digest information in an index table to deduplicate ranges of data blocks, reducing the size of the index table and processing overhead, and allowing deduplication without storing digest information for every data block.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If digest information for every data block is stored in an index table, then deduplication accuracy is improved, but memory consumption and processing time increase significantly

Engineering Contradiction:
Improvededuplication accuracyVSAvoidmemory consumption
Core Design Contradiction:
Measurement precisionVSQuantity of substance

Solution Approach 1:

The patent segments the data storage space into multiple extents and processes deduplication in smaller chunks rather than loading all data into memory at once. This allows the system to handle large datasets by dividing them into manageable portions, reducing peak memory consumption while maintaining deduplication functionality across the entire dataset.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements partial action by selecting a subset of data blocks for digest calculation and index table population based on criteria such as data patterns, access frequency, or extent boundaries. This partial processing approach reduces memory usage and processing time while still achieving effective deduplication for the most relevant data portions.

Inventive Principle:
Principle #16Partial or excessive action

2Reliability

If a large index table is created to store all digest information, then complete deduplication coverage is achieved, but processing speed decreases due to increased search time

Engineering Contradiction:
Improvededuplication coverageVSAvoidprocessing speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The index table is segmented into multiple smaller index structures corresponding to different extents or data ranges. Each segment handles a specific portion of the data, allowing for faster local searches and reduced overall processing time compared to a single large index table, while maintaining complete coverage through the combination of all segments.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs partial indexing by creating index entries only for selected data blocks that meet specific criteria, such as being part of a deduplication candidate set or falling within certain extent boundaries. This selective indexing approach maintains adequate deduplication coverage while significantly reducing the size of the index table and associated processing overhead.

Inventive Principle:
Principle #16Partial or excessive action

3Loss of substance

If all data blocks are processed for deduplication, then maximum space savings are achieved, but CPU utilization increases leading to system performance degradation

Engineering Contradiction:
Improvestorage space reductionVSAvoidCPU utilization
Core Design Contradiction:
Loss of substanceVSUse of energy by moving object

Solution Approach 1:

The patent extracts and processes only the most relevant data blocks for deduplication based on specific criteria such as data patterns, redundancy indicators, or business rules. By taking out only the necessary portions of data for processing rather than analyzing everything, the system achieves significant space savings in duplicate data while minimizing CPU utilization and avoiding system performance degradation.

Inventive Principle:
Principle #2Taking out (Extraction)

4Reliability

If the entire dataset is loaded into memory for processing, then deduplication completeness is improved, but system resources are exhausted and performance slows down

Engineering Contradiction:
Improvededuplication completenessVSAvoidsystem performance
Core Design Contradiction:
ReliabilityVSSpeed

Solution Approach 1:

The dataset is divided into multiple smaller segments or extents that are processed sequentially or in parallel batches. Each segment is loaded into memory independently, processed for deduplication, and then released before moving to the next segment. This segmentation approach ensures complete deduplication across the entire dataset while maintaining system performance by keeping memory usage within acceptable limits at all times.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS8538933B1Deduplicating range of data blocks
Publication Date: 2013.09.17 EMC IP HLDG CO LLC
  • US8538933B1 patent drawing
  • US8538933B1 patent drawing
  • US8538933B1 patent drawing

AI summary

A method is used in deduplicating ranges 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 a subset of the collection of data. A deduplicating technique is applied to the collection of data.