Flash Cache Index Using Shortened Identifiers and Metadata

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Large flash caches require significant memory to maintain an index, limiting the number of data segments that can be referenced due to the size of identifiers, which can lead to collisions and inefficiencies in data access operations.

Innovation Solution

Implementing an index that uses shortened or partial identifiers, such as the first 4 bytes of a SHA-1 hash, along with additional metadata like segment size and type, to efficiently track data segments in a flash cache, reducing memory usage and minimizing collisions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If a large index is used to track data in a flash cache, then data access accuracy is improved, but memory consumption increases significantly

Engineering Contradiction:
Improvedata access accuracyVSAvoidmemory consumption
Core Design Contradiction:
Measurement precisionVSQuantity of substance

Solution Approach 1:

The patent divides the identifier into multiple segments: a short identifier (first portion) for quick indexing and a full identifier (second portion) for accurate matching. This segmentation allows the index to use compact short identifiers while maintaining accurate data access through the combination of short identifier plus additional metadata (segment size, segment type), thus reducing memory consumption while preserving data access accuracy.

Inventive Principle:
Principle #1Segmentation

2Measurement precision

If full identifiers are used in the index, then data identification accuracy is improved, but the number of data segments that can be referenced decreases

Engineering Contradiction:
Improvedata identification accuracyVSAvoidnumber of data segments referenced
Core Design Contradiction:
Measurement precisionVSAdaptability or versatility

Solution Approach 1:

The index structure segments the identifier into a short identifier portion and a full identifier portion. The short identifier enables the index to reference a larger number of data segments with reduced memory overhead, while the full identifier is used during matching to ensure accurate data identification. This segmentation directly resolves the contradiction by allowing more segments to be referenced while maintaining identification accuracy.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent adds additional dimensions to the indexing system by incorporating metadata (segment size, segment type) alongside the short identifier. This multi-dimensional approach allows the system to differentiate between data segments even when short identifiers collide, thereby maintaining accurate data identification while enabling the index to handle a larger number of segments.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

3Quantity of substance

If shortened identifiers are used in the index, then memory usage is reduced, but the probability of collisions increases

Engineering Contradiction:
Improvememory usageVSAvoidcollision probability
Core Design Contradiction:
Quantity of substanceVSReliability

Solution Approach 1:

The patent segments the identifier matching process into two stages: first matching on the short identifier (which uses less memory), and then resolving potential collisions by matching additional metadata fields (segment size, segment type). This segmentation allows the use of shortened identifiers in the index while maintaining low collision probability through the multi-field matching mechanism.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent resolves the collision probability issue by adding dimensional depth to the matching process. Instead of relying solely on the short identifier, the system performs multi-dimensional matching that includes segment size and segment type. This additional dimensional filtering significantly reduces false positives and collision probability while allowing the use of compact short identifiers that consume less memory.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

Data Source

PatentUS11113199B2Low-overhead index for a flash cache
Publication Date: 2021.09.07 EMC IP HLDG CO LLC
  • US11113199B2 patent drawing
  • US11113199B2 patent drawing
  • US11113199B2 patent drawing

AI summary

Systems and methods for a low-overhead index for a cache. The index is used to access content or segments in the cache by storing at least an identifier and a location. The index is accessed using the identifier. The identifier may be shortened or be a short identifier. Because a collision may occur, the index may also include one or more meta-data values associated with the data segment. Collisions can be resolved by also comparing the metadata of the segment with the metadata stored in the index. If both the short identifier and metadata match those of the segment, the segment is likely in the cache and can be accessed. Segments can also be inserted into the cache.