Deduplicated Storage Cache Index for Block Error Handling

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Deduplicated storage systems face inefficiencies in locating data quickly, leading to prolonged recovery times due to the need to scan entire volumes for existing data segments, which wastes resources and reduces system performance.

Innovation Solution

A deduplicated storage system employs a hash-based index structure that maps fingerprints to container identifiers, allowing for rapid identification and retrieval of data segments by storing fingerprint/container associations in a hash table, with mechanisms for merging and scaling this index across HDD and SSD storage to optimize resource usage and lookup times.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of time

If the system scans the entire volume to locate data segments, then data can be found, but recovery time is prolonged and system resources are wasted

Engineering Contradiction:
Improverecovery timeVSAvoidsystem performance
Core Design Contradiction:
Loss of timeVSProductivity

Solution Approach 1:

The patent applies preliminary action by pre-building and maintaining an index structure that maps data segment fingerprints to their storage locations before recovery operations are needed. This index is constructed during normal storage operations and updated as data changes, allowing the system to bypass full volume scans during recovery and directly locate required data segments through the pre-prepared index.

Inventive Principle:
Principle #10Preliminary action

2Speed

If a hash-based index structure is implemented to quickly locate data, then lookup time is reduced, but device complexity increases

Engineering Contradiction:
Improvedata lookup speedVSAvoidindex structure complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The patent applies copying by creating a simplified index structure that copies essential location information (fingerprint-to-location mappings) from the actual data storage. Rather than storing complete data metadata, the system maintains a compact index copy that contains only the critical lookup information needed for rapid data location, reducing the complexity overhead while preserving lookup speed benefits.

Inventive Principle:
Principle #26Copying

3Use of energy by moving object

If the index is merged across HDD and SSD storage, then resource usage is optimized, but the complexity of managing multiple storage types increases

Engineering Contradiction:
Improveresource usage efficiencyVSAvoidmulti-storage management complexity
Core Design Contradiction:
Use of energy by moving objectVSDevice complexity

Solution Approach 1:

The patent applies local quality by assigning different storage media (HDD vs. SSD) to different portions of the index based on access patterns and data characteristics. Frequently accessed index entries or hot data references are placed on SSD for rapid access, while less frequently accessed entries reside on HDD. This heterogeneous storage approach optimizes resource usage by matching storage media performance characteristics to actual access requirements, while the unified index management layer abstracts the complexity of coordinating multiple storage types.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS10289307B1Method for handling block errors on a deduplicated storage system
Publication Date: 2019.05.14 EMC IP HLDG CO LLC
  • US10289307B1 patent drawing
  • US10289307B1 patent drawing
  • US10289307B1 patent drawing

AI summary

A method, article of manufacture, and apparatus for maintaining a cache index inside a deduplicated storage system is discussed. A block allocation is requested from a persistent storage device, wherein the block allocation comprises a logical block for storing data. The logical block is determined to be unavailable. A next sequential block is requested from the persistent storage until an available logical block is located, the available logical block satisfying the block allocation. Data comprising a plurality of buckets is written to the available logical block.