Segmented De-duplication Index Reconciliation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Data storage systems face inefficiencies in de-duplication processes due to large indices exceeding memory limitations, leading to slow real-time data processing, especially when dealing with large amounts of data, as the index cannot fit entirely in memory.

Innovation Solution

The implementation of a segmented de-duplication index, where the index is divided into smaller segments stored on disk, with only a subset loaded into memory at a time, utilizing a predictive filter to quickly determine if a block is indexed, and a Bloom filter for efficient prediction, allowing for real-time de-duplication and reconciliation of duplicate data blocks.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If the entire de-duplication index is kept in memory, then real-time de-duplication can be achieved, but memory limitations are exceeded when dealing with large amounts of data

Engineering Contradiction:
Improvereal-time de-duplication processing speedVSAvoidmemory capacity required
Core Design Contradiction:
SpeedVSQuantity of substance

Solution Approach 1:

The de-duplication index is divided into multiple segments that can be independently loaded into and unloaded from memory. Only the segments currently needed for processing are kept in memory, while other segments are stored on disk. This segmentation allows the system to handle large indices without requiring the entire index to reside in memory simultaneously, thus resolving the contradiction between real-time processing speed and memory capacity requirements.

Inventive Principle:
Principle #1Segmentation

2Quantity of substance

If the index is segmented and stored on disk, then memory usage is reduced, but access speed decreases due to disk I/O operations

Engineering Contradiction:
Improvememory usageVSAvoidindex access speed
Core Design Contradiction:
Quantity of substanceVSSpeed

Solution Approach 1:

Index segments are pre-loaded into memory before they are needed for processing. The system anticipates which segments will be needed and loads them in advance, reducing the actual I/O operations during de-duplication processing. This preliminary action minimizes the impact of disk access on processing speed while still maintaining low memory usage.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system maintains a cache of frequently accessed index segments in memory, ensuring that once a segment is loaded, it remains available for subsequent operations. This continuity reduces repeated disk I/O operations and maintains high processing speed for recurring access patterns, while still allowing memory to be freed when segments are no longer needed.

Inventive Principle:
Principle #20Continuity of useful action

3Adaptability or versatility

If multiple segments reference different copies of the same data block, then storage flexibility is improved, but data consistency deteriorates

Engineering Contradiction:
Improvestorage flexibilityVSAvoiddata consistency
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The system implements a reconciliation mechanism that periodically checks for duplicate references across different index segments. When multiple segments reference different copies of the same data block, the reconciliation process identifies these duplicates and updates the references to point to a single canonical copy. This feedback loop maintains data consistency while preserving the flexibility of segmented storage.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

Instead of maintaining multiple independent copies of data blocks across segments, the system uses a single canonical copy and maintains references to it in the index. When data blocks need to be shared across segments, all segments reference the same canonical copy rather than creating separate copies. This approach maintains storage flexibility through reference management while ensuring data consistency through single-copy semantics.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS10845994B1Performing reconciliation on a segmented de-duplication index
Publication Date: 2020.11.24 EMC IP HLDG CO LLC
  • US10845994B1 patent drawing
  • US10845994B1 patent drawing
  • US10845994B1 patent drawing

AI summary

A technique accesses a non-resident segment and a resident segment of a segmented de-duplication index, the resident segment being currently loaded into primary memory from secondary storage for data block de-duplication, and the non-resident segment not being currently loaded into the primary memory from the secondary storage for de-duplication. The technique further discovers that a digest of a non-resident digest entry of the non-resident segment and a digest of a resident digest entry of the resident segment are duplicates. The non-resident digest entry includes a first reference to a first location of the secondary storage that holds a first data block copy, and the resident digest entry includes a second reference to a second location of the secondary storage that holds a second data block copy. The technique further performs reconciliation that conforms the non-resident segment and the resident segment of the index to reference only data block copy.