Log Structured Hash Table for Fingerprint Index Merging

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Data deduplication in storage systems faces inefficiencies due to the resource-intensive nature of maintaining large fingerprint indexes, particularly when using B-tree structures, which consume significant memory, bandwidth, and processing resources, and can lead to performance issues like bucket full conditions and update backlogs.

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 efficient searching and dynamic resizing of blocks and buckets to accommodate new entries, and employing adaptive sampling to adjust the proportion of fingerprints added to the persistent index.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If a B-tree structure is used for the fingerprint index, then the index can maintain sorted order and support efficient searching, but the system consumes significant memory, bandwidth, and processing resources

Engineering Contradiction:
Improvesearching efficiencyVSAvoidmemory and processing resource consumption
Core Design Contradiction:
SpeedVSUse of energy by moving object

Solution Approach 1:

The patent creates a copy of the fingerprint index in volatile memory (cache memory) that mirrors the structure on non-volatile storage. This allows the system to serve search requests from the faster volatile memory copy, reducing the need to access and process the full index structure on storage, thereby decreasing memory bandwidth consumption and processing overhead while maintaining searching efficiency.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The fingerprint index is divided into multiple segments or chunks that can be independently loaded into volatile memory as needed. Instead of maintaining the entire B-tree structure in memory simultaneously, the system segments the index and loads only the relevant portions, reducing overall memory consumption while preserving efficient searching within each segment.

Inventive Principle:
Principle #1Segmentation

2Reliability

If the fingerprint index is maintained in a large B-tree structure, then comprehensive deduplication coverage is achieved, but bucket full conditions and update backlogs occur under high system loads

Engineering Contradiction:
Improvededuplication coverageVSAvoidupdate throughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent implements a dynamic fingerprint index structure that can adapt its organization and capacity based on system load conditions. The index structure allows for dynamic resizing of buckets and flexible reorganization of entries, enabling the system to handle high update throughput by dynamically adjusting the index configuration rather than being constrained by a fixed B-tree structure that fills up and creates backlogs.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes key parameters of the fingerprint index, such as bucket size, tree depth, and node capacity, based on system load and usage patterns. By dynamically adjusting these parameters, the system can optimize the balance between comprehensive deduplication coverage and update throughput, preventing bucket full conditions by increasing capacity or redistributing entries when load increases.

Inventive Principle:
Principle #35Parameter changes

3Speed

If volatile memory is used for the fingerprint index, then access speed is improved, but data loss risk increases and persistent storage is required

Engineering Contradiction:
Improveaccess speedVSAvoiddata persistence
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The patent introduces a write-ahead log or persistent cache structure as an intermediary between volatile memory and non-volatile storage. When fingerprint index entries are modified in volatile memory for fast access, the changes are first recorded in this intermediary persistent structure. This ensures that even if volatile memory is lost, the changes can be recovered from the intermediary, providing data persistence while maintaining the performance benefits of volatile memory for active operations.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS11354289B2Merging buffered fingerprint index entries
Publication Date: 2022.06.07 HEWLETT PACKARD ENTERPRISE DEV LP
  • US11354289B2 patent drawing
  • US11354289B2 patent drawing
  • US11354289B2 patent drawing

AI summary

In some examples, a system receives, in a synchronization buffer stored in a memory, fingerprint index entries for respective data units received by the system, each fingerprint index entry of the fingerprint index entries comprising a fingerprint computed for a corresponding data unit, and a storage location indicator for the corresponding data unit. The system merges the fingerprint index entries in the synchronization buffer with fingerprint index entries of a persistent fingerprint index in a hash data structure stored in persistent storage, the hash data structure comprising a plurality of buckets.