Multi-Level Cache De-Staging Using Ghost Metadata Thresholds

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In multi-level cache systems, existing methods for managing data movement between caches are inefficient, particularly when the free list becomes depleted, leading to unnecessary processor cycles and resource wastage, as they do not effectively track cache hits to optimize data placement between primary and secondary caches.

Innovation Solution

A method that determines whether the primary cache has reached a minimum threshold, initiates a de-stage process to move data blocks to a secondary cache based on metadata tracking of cache hits, and adjusts thresholds dynamically to optimize cache space reuse, using a 'ghost' caching mechanism to track metadata without moving actual data, thereby improving system performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If data blocks are moved from primary cache to secondary cache using traditional LRU algorithms, then cache space is freed for new requests, but processor cycles are wasted on unnecessary data movement when the free list is not depleted

Engineering Contradiction:
Improvecache space recycling efficiencyVSAvoidprocessor cycle wastage
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The system continuously monitors the free list depth and only initiates de-staging operations when the free list depth falls below a predetermined threshold. This feedback mechanism ensures that data movement operations are triggered only when actually needed, avoiding unnecessary processor cycle consumption while maintaining adequate cache space availability.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The system dynamically adjusts the de-staging trigger based on the free list depth parameter. By changing the operational parameter from continuous de-staging to threshold-based de-staging, the system optimizes the balance between cache space recycling and processor cycle utilization.

Inventive Principle:
Principle #35Parameter changes

2Device complexity

If data is moved to secondary cache without tracking cache hits, then cache space management is simplified, but system performance deteriorates due to inability to optimize data placement based on access patterns

Engineering Contradiction:
Improvecache management complexityVSAvoidsystem performance
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The system introduces metadata as an intermediary structure that tracks cache hit information without complicating the core cache management logic. This metadata layer enables performance optimization by capturing access patterns while keeping the de-staging decision logic relatively simple and threshold-based.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Loss of energy

If the free list threshold is set low to reduce de-staging operations, then processor cycles are conserved, but cache space depletion risk increases leading to performance degradation

Engineering Contradiction:
Improveprocessor cycle consumptionVSAvoidcache space availability
Core Design Contradiction:
Loss of energyVSReliability

Solution Approach 1:

The system uses a predetermined threshold that may be set conservatively (not exactly at the depletion point) to account for variability in access patterns. This partial action approach ensures that de-staging is initiated early enough to prevent cache space depletion while avoiding overly frequent operations.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS8924646B2Methods for managing data movement and destaging data in a multi-level cache system utilizing threshold values and metadata
Publication Date: 2014.12.30 AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE LTD
  • US8924646B2 patent drawing
  • US8924646B2 patent drawing
  • US8924646B2 patent drawing

AI summary

A method for managing data movement in a multi-level cache system includes selecting at least one outgoing data block from a primary cache when an unallocated space of the primary cache has reached a minimum threshold, initiating a de-stage process for de-staging the outgoing data block, and terminating the de-stage process when the unallocated space has reached an upper threshold. The de-stage process includes storing the outgoing data block in a secondary cache when a cache hit has occurred before. The cache hit may be an actual cache hit or a “ghost” cache hit wherein only metadata is stored in the secondary cache. A method for de-staging an outgoing data block from a higher level cache which includes storing an outgoing data block in a lower level cache when a cache hit rate satisfies a predetermined condition and storing metadata in the lower level cache is also disclosed.