Subspace Hash Index Partitioning for Memory-Constrained Deduplication

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current data deduplication technologies face inefficiencies in resource usage due to the need to maintain entire hash indexes in memory, which consumes excessive resources and impairs performance, especially as data deduplication moves beyond backup scenarios into primary data storage.

Innovation Solution

The implementation of a subspace-based hash index service that partitions the global hash index into smaller subspaces, allowing only a portion of the index to be loaded into memory, with periodic reconciliation to eliminate duplicates and optimize storage, thereby reducing resource consumption and improving performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If the entire hash index is maintained in memory, then index serving performance is improved, but memory resource consumption increases excessively

Engineering Contradiction:
Improveindex serving performanceVSAvoidmemory resource consumption
Core Design Contradiction:
SpeedVSQuantity of substance

Solution Approach 1:

The patent divides the global hash index into multiple subspace indexes based on data characteristics (e.g., file type, access pattern, age). Each subspace index can be independently managed and loaded into memory only when needed, rather than loading the entire index at once. This segmentation allows the system to maintain good index serving performance for active subspaces while keeping memory consumption manageable.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements dynamic loading and unloading of subspace indexes based on workload demands. The system can adaptively load relevant subspace indexes into memory during high-demand periods and unload them when memory pressure increases or demand decreases. This dynamic approach allows the system to optimize the balance between index serving performance and memory resource consumption in real-time.

Inventive Principle:
Principle #15Dynamics

2Loss of substance

If data deduplication is implemented across the entire dataset, then deduplication ratio is improved, but computational effort and time increase

Engineering Contradiction:
Improvestorage space savingsVSAvoidcomputational time
Core Design Contradiction:
Loss of substanceVSLoss of time

Solution Approach 1:

The patent partitions the data dataset into multiple subspaces based on various criteria such as file type, access frequency, and temporal characteristics. Deduplication operations are then performed independently within each subspace rather than across the entire dataset at once. This segmentation reduces the computational complexity from O(n) for the whole dataset to O(n/k) for each of k subspaces, significantly reducing computational time while still achieving effective deduplication ratios within each subspace.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies deduplication selectively to specific subspaces based on their characteristics and deduplication potential. Rather than uniformly applying deduplication to all data, the system identifies subspaces with high deduplication potential (e.g., backup data, log files) and applies intensive deduplication there, while using lighter approaches for subspaces with low deduplication potential. This partial action approach achieves significant storage savings in critical areas without the full computational overhead of universal deduplication.

Inventive Principle:
Principle #16Partial or excessive action

3Device complexity

If traditional B-tree indexing is used for chunk hashes, then data structure simplicity is maintained, but index serving performance deteriorates due to poor locality

Engineering Contradiction:
Improvedata structure simplicityVSAvoidindex serving performance
Core Design Contradiction:
Device complexityVSSpeed

Solution Approach 1:

The patent replaces the single global B-tree index with multiple smaller subspace indexes. Each subspace index contains hashes for a specific subset of data with similar characteristics. This segmentation improves locality because related hashes are grouped together in the same subspace index, reducing cache misses and improving access patterns. The simpler data structure of individual subspace indexes also reduces the overall complexity of index management compared to a single large global index.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentEP2659376B1Using index partitioning and reconciliation for data deduplication
Publication Date: 2020.04.08 MICROSOFT TECHNOLOGY LICENSING LLC
  • EP2659376B1 patent drawingFigure 1
  • EP2659376B1 patent drawingFigure 2
  • EP2659376B1 patent drawingFigure 3

AI summary

The subject disclosure is directed towards a data deduplication technology in which a hash index service's index is partitioned into subspace indexes, with less than the entire hash index service's index cached to save memory. The subspace index is accessed to determine whether a data chunk already exists or needs to be indexed and stored. The index may be divided into subspaces based on criteria associated with the data to index, such as file type, data type, time of last usage, and so on. Also described is subspace reconciliation in which duplicate entries in subspaces are detected so as to remove entries and chunks from the deduplication system. Subspace reconciliation may be performed at off-peak time when more system resources are available, and may be interrupted if resources are needed. Subspaces to reconcile may be based on similarity, including via similarity of signatures that each compactly represents the subspace's hashes.