Bloom Filter Index for De-duplication I/O Reduction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

As de-duplicating storage systems grow in scale and utilize increasingly dense hard disk drives, the cost of random access I/O operations for segment index lookups becomes a significant issue, leading to inefficiencies in data retrieval and storage.

Innovation Solution

Implementing a hybrid, parallel architecture that uses bloom filters for smaller segment indexes to avoid unnecessary disk lookups, while performing parallel on-disk lookups for larger indexes, thereby reducing the number of I/O operations and memory resources required.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a segment index is stored on disk to track all stored segments, then the system can maintain comprehensive de-duplication capability, but the cost of random access I/O operations increases significantly

Engineering Contradiction:
Improvede-duplication capabilityVSAvoidI/O operation cost
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The patent divides the segment index into multiple parts: a bloom filter index stored in memory for quick lookups, and the full segment index stored on disk. This segmentation allows the system to maintain comprehensive de-duplication capability while reducing I/O operations by first checking the in-memory bloom filter before accessing disk storage.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The bloom filter serves as an intermediary data structure between the incoming segment and the full segment index on disk. It provides a fast preliminary check that can eliminate the need for disk I/O operations when a segment is not present, thereby reducing overall I/O costs while maintaining de-duplication reliability.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Measurement precision

If the segment index grows to cover all segments in large-scale systems, then de-duplication accuracy is maintained, but the number of random I/O operations increases

Engineering Contradiction:
Improvesegment lookup accuracyVSAvoiddata retrieval efficiency
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The system performs a preliminary check using the bloom filter stored in memory before accessing the full segment index on disk. This preliminary action filters out segments that are definitely not present, allowing the system to maintain high lookup accuracy while improving data retrieval efficiency by avoiding unnecessary disk I/O operations.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The bloom filter provides a partial check that covers all segments but with probabilistic accuracy. While it may produce false positives, it eliminates false negatives and reduces the need for full disk index scans, thereby maintaining sufficient lookup accuracy while significantly improving retrieval efficiency in large-scale systems.

Inventive Principle:
Principle #16Partial or excessive action

3Volume of stationary object

If dense hard disk drives are used to increase storage capacity, then system scalability is improved, but the cost of random access I/O operations increases

Engineering Contradiction:
Improvestorage capacityVSAvoidrandom access I/O cost
Core Design Contradiction:
Volume of stationary objectVSLoss of energy

Solution Approach 1:

The patent replaces mechanical disk access with an in-memory bloom filter check for preliminary segment lookup. This substitution eliminates the need for mechanical disk head movements for segments that are not present in the bloom filter, thereby reducing random access I/O costs while maintaining the scalability benefits of dense hard disk drives for actual data storage.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Data Source

PatentUS10216748B1Segment index access management in a de-duplication system
Publication Date: 2019.02.26 EMC IP HLDG CO LLC
  • US10216748B1 patent drawing
  • US10216748B1 patent drawing
  • US10216748B1 patent drawing

AI summary

Techniques to perform segment index lookups are disclosed. In various embodiments, for each of one or more segment index entries included in a first on disk segment index a corresponding set of values is stored in a bloom filter. The bloom filter is used to determine prior to performing an on disk segment lookup of the segment index with respect to a given segment whether each location in the bloom filter that is associated with the given segment has been set to said corresponding set of values. An on disk lookup is performed in parallel of a second on disk segment index that is not included in said subset of on disk segment indexes each of which has associated therewith a corresponding bloom filter.