Chunk Store Metadata Organization for Deduplication Locality

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing deduplication systems often compromise between space efficiency and speed of data retrieval, typically optimizing for one over the other, leading to suboptimal performance in data storage and retrieval.

Innovation Solution

The implementation of a data structure that organizes metadata about file chunks, preserving their order and locality, allowing for faster prefetching into memory cache during read and write operations, thereby improving deduplication efficiency and reducing reliance on storage devices.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If metadata is organized without preserving locality, then space efficiency is improved, but speed of data retrieval deteriorates

Engineering Contradiction:
Improvespace efficiencyVSAvoidspeed of data retrieval
Core Design Contradiction:
Quantity of substanceVSSpeed

Solution Approach 1:

The patent segments metadata into separate components: hash value metadata and reference count metadata, storing them in different data structures. Hash values are stored in a hash table for O(1) lookup efficiency, while reference counts are stored in a separate array preserving locality. This segmentation allows each component to be optimized for its specific access pattern without compromising the other.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a new dimension of organization by separating the storage of hash values and reference counts into different data structures with different organizational principles. The hash table provides direct addressing for fast lookup, while the reference count array provides sequential access for prefetching, effectively adding a dimensional separation to the metadata storage problem.

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

2Speed

If metadata is stored in memory cache, then speed of data retrieval is improved, but reliance on storage devices increases

Engineering Contradiction:
Improvespeed of data retrievalVSAvoidreliance on storage devices
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The patent implements prefetching of reference count metadata into memory cache before it is actually needed. By anticipating future access patterns and pre-loading data into faster memory, the system reduces reliance on slower storage devices while maintaining high retrieval speeds. The sequential organization of reference counts enables efficient prefetching of multiple consecutive entries.

Inventive Principle:
Principle #10Preliminary action

3Quantity of substance

If deduplication is optimized for space efficiency, then storage capacity is improved, but processing speed deteriorates

Engineering Contradiction:
Improvestorage capacityVSAvoidprocessing speed
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The patent applies different organizational qualities to different parts of the metadata structure. Hash values use a hash table providing constant-time lookup quality, while reference counts use a sequentially organized array providing cache-friendly quality. This local optimization of each metadata component's structure enables both space efficiency and processing speed to be maximized in their respective domains.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS11372813B2Organize chunk store to preserve locality of hash values and reference counts for deduplication
Publication Date: 2022.06.28 VMWARE INC
  • US11372813B2 patent drawing
  • US11372813B2 patent drawing
  • US11372813B2 patent drawing

AI summary

The present disclosure provides techniques for deduplicating files. The techniques include creating a data structure that organizes metadata about chunks of files, the organization of the metadata preserving order and locality of the chunks within files. The organization of the metadata within storage blocks of storage devices matches the order of chunks within files. Upon a read or write operation to a metadata, the preservation of locality of metadata results in the likely fetching, from storage into a memory cache, metadata of subsequent and contiguous chunks. The preserved locality results in faster subsequent read and write operations of metadata, because the read and write operations are likely to be executed from memory rather than from storage.