Heterogeneous Cache Metadata Staging for I/O Performance

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current systems for storing metadata in caches do not effectively utilize heterogeneous memory types to improve I/O performance, particularly due to limitations in incorporating lower performance but larger capacity memory like SCM, which faces issues with write-cycle limits and data fragmentation.

Innovation Solution

A method and system that stage metadata into a lower performance portion of a cache, which includes recording updates and invalidating data elements in the higher performance portion, scanning for invalidated data in the lower performance portion, and re-staging data that has not been updated within a specified period, thereby optimizing data placement across different memory types.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If metadata is stored in lower performance memory (SCM) to increase cache capacity, then storage capacity is improved, but access speed deteriorates

Engineering Contradiction:
Improvecache capacityVSAvoidaccess speed
Core Design Contradiction:
Quantity of substanceVSSpeed

Solution Approach 1:

The cache is divided into two distinct portions: a higher performance portion (DRAM) and a lower performance portion (SCM). Metadata is selectively placed in the lower performance portion to increase overall cache capacity while maintaining fast access for frequently used data in the higher performance portion.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Different portions of the cache are assigned different performance characteristics. The higher performance portion handles time-critical metadata operations, while the lower performance portion stores less frequently accessed metadata, optimizing the overall system for both speed and capacity.

Inventive Principle:
Principle #3Local quality

2Reliability

If metadata is frequently updated in higher performance memory, then data freshness is improved, but write-cycle wear on lower performance storage increases

Engineering Contradiction:
Improvedata freshnessVSAvoidwrite-cycle lifespan
Core Design Contradiction:
ReliabilityVSDuration of action of stationary object

Solution Approach 1:

The write-intensive metadata operations are extracted from the lower performance SCM storage and concentrated in the higher performance DRAM portion. This protects the SCM from excessive write-cycle wear while maintaining data freshness through rapid updates in the DRAM portion.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The higher performance DRAM portion acts as an intermediary buffer between the host system and the lower performance SCM storage. All write operations are performed in the DRAM portion, which then selectively updates the SCM portion, reducing direct write cycles to the SCM.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Speed

If data is re-staged from lower performance to higher performance memory, then access speed is improved, but system complexity increases

Engineering Contradiction:
Improvedata access speedVSAvoidcache management complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The cache management system performs periodic scanning of the lower performance portion to identify invalidated metadata that should be re-staged to the higher performance portion. This periodic action simplifies management compared to continuous monitoring while maintaining performance benefits.

Inventive Principle:
Principle #19Periodic action

Data Source

PatentUS11221954B2Storing metadata in heterogeneous cache to improve I/O performance
Publication Date: 2022.01.11 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US11221954B2 patent drawing
  • US11221954B2 patent drawing
  • US11221954B2 patent drawing

AI summary

A method for storing metadata in a cache comprising heterogeneous memory types is disclosed. The method stages data elements containing metadata into a lower performance portion of a cache. The cache includes the lower performance portion and a higher performance portion. In response to determining that the data elements are updated in the higher performance portion, the method records when the data elements were updated and invalidates the data elements in the lower performance portion. The method scans the lower performance portion for the data elements that are invalidated and re-stages, in the lower performance portion, the data elements that are invalidated and have not been updated in the higher performance portion in a last specified period of time. A corresponding system and computer program product are also disclosed.