Disk Image Deduplication Using In-Memory Seed Hash Indexing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Deduplication of virtual-machine disk images is resource-intensive due to time-consuming disk accesses and high memory requirements for comparing and storing hashes, which limits the efficiency of data storage and transfer.

Innovation Solution

Selecting 'seed' clusters, typically aligned with file starts, for initial comparison in memory, and using a bitmap or index to identify these clusters, allowing for reduced disk swaps and efficient matching of neighboring clusters with pointers, thereby reducing storage and bandwidth needs.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If all clusters are hashed and stored in memory for comparison, then deduplication accuracy is improved, but memory requirements and disk swaps increase

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

Solution Approach 1:

The patent segments the disk image into clusters and further segments the comparison process by identifying and comparing only 'seed' clusters (aligned with file starts) initially, then extending to neighboring clusters only when matches are found. This segmentation allows selective memory usage rather than loading all cluster hashes into memory simultaneously.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies partial action by hashing and storing only a subset of clusters (seed clusters at file starts and their neighbors) in memory for comparison, rather than all clusters. This partial approach reduces memory requirements while maintaining effective deduplication accuracy through strategic sampling of the most likely candidate clusters.

Inventive Principle:
Principle #16Partial or excessive action

2Speed

If all clusters are loaded into memory for comparison, then comparison speed is improved, but disk access time increases

Engineering Contradiction:
Improvecomparison speedVSAvoiddisk access time
Core Design Contradiction:
SpeedVSLoss of time

Solution Approach 1:

The patent performs preliminary action by pre-identifying seed clusters aligned with file starts and pre-computing their hashes before the main comparison process. This preliminary preparation allows the comparison to start with minimal disk accesses, as only these pre-identified seed clusters need to be loaded into memory for initial comparison, significantly reducing overall disk access time.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent extracts only the essential information needed for comparison (hashes of seed clusters and their neighbors) from the full disk image, rather than loading all cluster data into memory. This extraction approach minimizes the data transferred between disk and memory, reducing disk access time while maintaining comparison effectiveness.

Inventive Principle:
Principle #2Taking out (Extraction)

3Reliability

If cluster-by-cluster comparison is performed, then deduplication completeness is improved, but processing resources increase

Engineering Contradiction:
Improvededuplication completenessVSAvoidprocessing efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent applies local quality by focusing comparison resources on specific local areas (seed clusters at file starts and their neighboring clusters) rather than uniformly processing all clusters. This localized approach concentrates processing effort where file boundaries and data repetitions are most likely to occur, maintaining deduplication completeness while improving processing efficiency.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent ensures continuity of useful action by systematically processing seed clusters and their neighbors in a continuous manner, extending comparisons to neighboring clusters whenever matches are found. This continuous processing strategy ensures complete deduplication coverage without requiring random access to all clusters, maintaining both completeness and efficiency.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS10552075B2Disk-image deduplication with hash subset in memory
Publication Date: 2020.02.04 VMWARE INC
  • US10552075B2 patent drawing
  • US10552075B2 patent drawing
  • US10552075B2 patent drawing

AI summary

Deduplication of virtual-machine disk images and other disk images can involve identifying the first clusters in a file. The clusters are hashed. The first-in-file hashes (generated from first-in-file clusters) are stored in an in-memory index, while the full set of hashes is streamed in order to find matches with the hashes stored in the in-memory index. First-in-file hashes in the stream are compared, while other hashes in the stream are compared only if the immediately preceding hash resulted in a match. Comparing non-first-in-file hashes requires disk accesses, but since such comparisons are conditioned on first-in-file matches, there are relatively likely to result in sequences of matches. The net effect is a relatively fast deduplication with compression approaching that resulting from a full comparison of all hashes.