Fingerprint-Based Cache Indexing for Shared Deduplicated Storage

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional cache indexing methods require multiple instances of caches across different layers in a storage subsystem, leading to resource duplication and inefficiency due to the use of logical block addresses, which limits cache access to a single host and necessitates multiple cache management efforts.

Innovation Solution

Implementing a cache indexing system based on data fingerprints generated by a deduplication fingerprint function, allowing for a unified cache service across multiple layers by using deduplication metadata to index and shard cache storage, enabling faster reads and writes while maintaining separation of cache-writes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If data is stored in cache with full indexing information, then data retrieval speed is improved, but cache memory usage increases

Engineering Contradiction:
Improvedata retrieval speedVSAvoidcache memory usage
Core Design Contradiction:
SpeedVSVolume of stationary object

Solution Approach 1:

The patent extracts only the essential fingerprint information from full data content, storing only these condensed representations in the cache index rather than complete data copies. This extraction principle reduces cache memory requirements while preserving the ability to quickly identify and retrieve original data through fingerprint matching.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent creates simplified copies of data in the form of fingerprints (hash values or condensed representations) that can be stored efficiently in cache. These fingerprint copies serve as proxies for the original data, enabling rapid identification without requiring substantial cache space for full data replication.

Inventive Principle:
Principle #26Copying

2Measurement precision

If fingerprint calculation is performed on all data blocks, then data identification accuracy is improved, but processing time increases

Engineering Contradiction:
Improvedata identification accuracyVSAvoidprocessing time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent applies partial action by calculating fingerprints selectively rather than for every single data block. The system determines when fingerprint calculation is necessary based on data change detection, applying the operation only when needed to maintain identification accuracy while reducing overall processing time through selective application.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The patent performs preliminary fingerprint calculations on data before it enters the cache system, establishing the fingerprint information in advance. This preliminary action allows the cache to use pre-computed fingerprints for rapid matching operations without requiring real-time fingerprint generation during data retrieval, thereby reducing processing time while maintaining accuracy.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentEP4295235B1Cache indexing using data addresses based on data fingerprints
Publication Date: 2026.05.20 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • EP4295235B1 patent drawingFigure 1A
  • EP4295235B1 patent drawingFigure 1B
  • EP4295235B1 patent drawingFigure 2A~2B

AI summary

A cache storage system indexing method is provided that indexes a data address in a cache storage system based on a data fingerprint of the cached data, wherein the data fingerprint is generated by a deduplication fingerprint function used for referencing deduplication of data in the cache storage system. A computer-implemented method of data operations to a cache storage system is also provided including: obtaining a data fingerprint for the data of the data operation, either by applying a deduplication fingerprinting function to data of a write operation or by accessing deduplication metadata for a read operation to obtain the data fingerprint generated by using a deduplication fingerprinting function used for deduplication of data in the cache storage system; and using an indexing service to the cache storage system having an address schema based on the data fingerprints of the data.