Deduped Clump Layout for Storage Index Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing data deduplication systems face challenges in managing large fingerprint indices in distributed storage systems, particularly in virtualized environments, where random access and snapshot retention lead to inefficient storage and performance issues due to the need for extensive RAM and poor space efficiency.

Innovation Solution

The Deduped Clump Layout (DCL) approach groups data blocks into larger clumps, which are then deduplicated, reducing the number of index entries and allowing the fingerprint index to fit in RAM, while maintaining efficient storage and performance by proactive clump repacking and garbage collection.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of substance

If block-level deduplication is used, then storage efficiency is improved, but the index size becomes too large to fit in RAM

Engineering Contradiction:
Improvestorage efficiencyVSAvoidindex size
Core Design Contradiction:
Loss of substanceVSQuantity of substance

Solution Approach 1:

The patent segments the storage space into fixed-size extents (e.g., 64 KB) and creates index entries at the extent level rather than block level. This segmentation reduces the number of index entries from potentially millions of blocks to a manageable number of extents, allowing the index to fit in RAM while maintaining deduplication capability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a hierarchical indexing structure with multiple levels. The first level indexes extents, and subsequent levels provide finer granularity when needed. This dimensional approach allows the system to balance between index size and deduplication efficiency by navigating through different levels of abstraction.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Quantity of substance

If larger extents are used for deduplication, then the index size is reduced, but space efficiency deteriorates when only small portions of extents differ

Engineering Contradiction:
Improveindex sizeVSAvoidspace efficiency
Core Design Contradiction:
Quantity of substanceVSLoss of substance

Solution Approach 1:

The patent further segments extents into smaller sub-extents or blocks within each extent. When deduplication is performed, the system can identify and store only the differing portions (sub-extents) rather than the entire extent, improving space efficiency while keeping the extent-level index manageable.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies different levels of granularity to different parts of the storage hierarchy. Extents are used for indexing to keep the index small, while sub-extents or blocks within extents are used for actual deduplication to maximize space efficiency. This local quality approach optimizes both index size and deduplication effectiveness.

Inventive Principle:
Principle #3Local quality

3Device complexity

If fixed-size extents are used, then indexing is simplified, but performance deteriorates due to read-modify-write operations on entire extents

Engineering Contradiction:
Improveindexing complexityVSAvoidwrite performance
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent performs preliminary actions by pre-processing extents to identify and extract only the modified sub-extents or blocks before writing. This allows the system to maintain fixed-size extents for simple indexing while avoiding the performance penalty of reading and writing entire extents by preparing the data in advance.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent extracts only the modified portions (sub-extents or blocks) from the larger extents for storage and indexing purposes. This extraction approach allows the system to use fixed-size extents for indexing simplicity while storing and managing only the necessary changed data, improving write performance.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS11307765B2System and methods for storage data deduplication
Publication Date: 2022.04.19 VMWARE INC
  • US11307765B2 patent drawing
  • US11307765B2 patent drawing
  • US11307765B2 patent drawing

AI summary

Data in a storage system is deduplicated after receiving from at least one writing entity requests for a plurality of write operations for a corresponding plurality of data blocks in a storage object. The received blocks are buffered and sorted in order and a sequence of clumps is created from the buffered blocks, where each clump comprises a grouping of at least one of the sorted, buffered blocks. A boundary is determined between at least one pair of clumps based at least in part on the content of at least one of the buffered blocks, and it is then determined whether at least one of the clumps is a duplicate of a previously stored clump.