Cache Index Population in Deduplicated Storage

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Deduplicated storage systems face inefficiencies in locating data during backup and recovery operations due to the need to scan entire volumes for each data segment, which wastes resources and reduces system performance.

Innovation Solution

A deduplicated storage system uses an index with a hash table to store fingerprint/container associations, allowing quick identification of data segments by hashing fingerprints to identify hash buckets and storing fingerprint/container identifier values, enabling rapid data location and reducing redundant storage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If the entire volume is scanned to locate data segments, then data can be found, but processing time and resource usage increase significantly

Engineering Contradiction:
Improvedata location accuracyVSAvoiddata location time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent creates an index structure beforehand that stores fingerprint-to-location mappings, allowing the system to quickly retrieve data locations without scanning the entire volume during backup or recovery operations. The index is built in advance and maintained separately, enabling O(1) or O(log n) lookup time compared to O(n) linear scanning.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces an index structure as an intermediary between the stored data and the lookup operation. This index acts as a mediator that translates fingerprint queries into direct location pointers, eliminating the need for the querying process to directly scan through all stored data segments.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If data segments are written multiple times, then redundancy is created, but storage efficiency decreases and costs increase

Engineering Contradiction:
Improvedata integrityVSAvoidstorage efficiency
Core Design Contradiction:
ReliabilityVSLoss of substance

Solution Approach 1:

The patent implements a feedback mechanism where the system checks the index before writing data to determine if a segment already exists. The index provides feedback about existing fingerprints, allowing the system to identify duplicates and avoid redundant writes, thereby improving storage efficiency while maintaining data integrity through proper deduplication.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The deduplication system serves itself by using the index to automatically identify and eliminate duplicate data segments. The index enables the system to self-detect redundancies without external intervention, allowing efficient deduplication operations that reduce storage consumption while preserving necessary data copies.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS10175894B1Method for populating a cache index on a deduplicated storage system
Publication Date: 2019.01.08 EMC IP HLDG CO LLC
  • US10175894B1 patent drawing
  • US10175894B1 patent drawing
  • US10175894B1 patent drawing

AI summary

A method, article of manufacture, and apparatus for populating an index cache on a deduplicated storage system is discussed. A determination to flush an in-memory index to a hard drive (“HDD”) on the deduplicated storage system is made, wherein the in-memory index comprises in-memory hash buckets containing fingerprint identifiers and container identifiers. A first HDD index is loaded from the HDD into a memory, wherein the first index includes a plurality of HDD buckets. The fingerprint identifiers and the container identifiers are merged from the in-memory hash buckets into the HDD buckets. The HDD buckets are mapped to a plurality of solid state drive (“SSD”) buckets, the SSD buckets together comprising a SSD index. The fingerprint identifiers and container identifiers are inserted into the plurality of SSD buckets.