Fingerprint Index Bucket Resizing for Deduplication

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Data deduplication in storage systems faces inefficiencies due to resource-intensive B-tree indexes, high bandwidth consumption, and performance issues when handling large fingerprint indices and high data loads, particularly in maintaining and merging fingerprint index delta updates.

Innovation Solution

Implementing a log structured hash table for the fingerprint index, which reduces memory usage, bandwidth consumption, and processing resources by storing entries in buckets within blocks, allowing for dynamic bucket and block resizing, and employing adaptive sampling to manage resource allocation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a B-tree index is used for fingerprint index, then data deduplication can be performed, but memory usage and bandwidth consumption are excessively high

Engineering Contradiction:
Improvedata deduplication capabilityVSAvoidmemory usage and bandwidth consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The fingerprint index is segmented into multiple fixed-size blocks that are stored in persistent storage. Each block contains a portion of the fingerprint index entries, allowing the system to process and access only relevant blocks rather than loading the entire index into memory. This segmentation reduces memory usage and bandwidth consumption while maintaining deduplication functionality.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent transitions from an in-memory B-tree structure to a persistent storage-based block structure, adding the dimension of persistent storage. This dimensional change allows the fingerprint index to be stored on disk rather than in memory, significantly reducing memory usage and bandwidth consumption while maintaining data deduplication capability.

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

2Quantity of substance

If the fingerprint index size increases to handle large data loads, then deduplication coverage improves, but system performance deteriorates due to resource constraints

Engineering Contradiction:
Improvefingerprint index sizeVSAvoidsystem performance
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The large fingerprint index is divided into multiple manageable blocks of fixed size. This segmentation allows the system to handle large data loads by processing blocks in smaller units, improving performance through efficient disk I/O and reduced memory pressure while maintaining comprehensive deduplication coverage.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system dynamically manages block allocation and caching strategies based on workload characteristics. Frequently accessed blocks are cached in memory, while less frequently accessed blocks remain on persistent storage. This dynamic approach allows the system to scale the effective fingerprint index size according to available resources, maintaining performance under varying load conditions.

Inventive Principle:
Principle #15Dynamics

3Reliability

If fingerprint index delta updates are maintained frequently to ensure data consistency, then data accuracy improves, but processing overhead increases

Engineering Contradiction:
Improvedata consistencyVSAvoidprocessing overhead
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system performs preliminary actions by pre-allocating block structures and establishing update protocols before delta updates occur. Blocks are pre-formatted with appropriate data structures, and update mechanisms are pre-configured to efficiently merge delta updates with existing index data. This preliminary preparation reduces processing overhead during actual update operations while maintaining data consistency.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11403020B2Increasing sizes of buckets of a fingerprint index
Publication Date: 2022.08.02 HEWLETT PACKARD ENTERPRISE DEV LP
  • US11403020B2 patent drawing
  • US11403020B2 patent drawing
  • US11403020B2 patent drawing

AI summary

In some examples, a system performs data deduplication using a fingerprint index comprising a plurality of buckets, each bucket of the plurality of buckets comprising entries associating fingerprints for data units to storage location indicators of the data units, wherein a storage location indicator of the storage location indicators provides an indication of a storage location of a data unit in persistent storage. For adding a new fingerprint to the fingerprint index, the system detects that a corresponding bucket of the plurality of buckets is full, in response to the detecting, adds space to the corresponding bucket by taking a respective amount of space from a further bucket of the plurality of buckets, and inserts the new fingerprint into the corresponding bucket after increasing the size of the corresponding bucket.