Dynamic Cache Fill Prioritization in Mid-Level Cache

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The inefficiency in utilizing memory bandwidth due to bottlenecks in mid-level cache (MLC) queues, particularly in prefetching operations, leads to suboptimal performance in computer systems with hierarchical cache architectures.

Innovation Solution

Implementing dynamic cache fill prioritization in MLC units, where the priority of cache lookups versus cache fills is dynamically switched based on queue occupancy thresholds, optimizing queue occupancy and enhancing bandwidth utilization.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If cache lookups are prioritized over cache fills in MLC queues, then lookup latency is reduced, but memory bandwidth utilization deteriorates due to queue bottlenecks

Engineering Contradiction:
Improvecache lookup latencyVSAvoidmemory bandwidth utilization
Core Design Contradiction:
SpeedVSProductivity

Solution Approach 1:

The patent implements dynamic priority inversion that switches the servicing priority between cache lookups and cache fills based on real-time queue occupancy conditions. When lookup queue occupancy exceeds a threshold, cache fills are serviced before lookups; when fill queue occupancy exceeds a threshold, cache lookups are serviced before fills. This dynamic adjustment resolves the contradiction by adapting priority to current system state rather than maintaining a fixed priority scheme.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes the operational parameters of the MLC queue servicing by introducing occupancy thresholds that trigger priority inversion. The system monitors queue occupancy levels and dynamically adjusts the servicing priority parameter based on these measurements, allowing the system to transition between different operational modes (lookup-priority vs. fill-priority) to optimize both latency and bandwidth utilization under different conditions.

Inventive Principle:
Principle #35Parameter changes

2Productivity

If cache fills are prioritized over cache lookups in MLC queues, then memory bandwidth utilization is improved, but lookup latency increases causing performance degradation

Engineering Contradiction:
Improvememory bandwidth utilizationVSAvoidcache lookup latency
Core Design Contradiction:
ProductivityVSSpeed

Solution Approach 1:

The dynamic priority inversion mechanism switches servicing priority based on real-time queue occupancy. When fill queue occupancy is high (indicating bandwidth utilization needs), fills are prioritized; when lookup queue occupancy is high (indicating latency sensitivity), lookups are prioritized. This dynamic switching resolves the contradiction by allowing the system to optimize for bandwidth when needed while protecting lookup performance when critical.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system dynamically changes the priority parameter of queue servicing based on occupancy threshold comparisons. By monitoring queue depths and triggering priority inversion when thresholds are exceeded, the system adjusts operational parameters to balance bandwidth utilization and lookup latency, preventing sustained prioritization of either operation that would cause the respective contradiction.

Inventive Principle:
Principle #35Parameter changes

3Device complexity

If static priority servicing is used in MLC queues, then system complexity is reduced, but adaptability to different workload conditions deteriorates

Engineering Contradiction:
Improvequeue control logicVSAvoidworkload adaptation
Core Design Contradiction:
Device complexityVSAdaptability or versatility

Solution Approach 1:

The patent implements feedback mechanisms that monitor queue occupancy levels and use this information to dynamically adjust servicing priority. The system continuously measures queue depths, compares them against thresholds, and triggers priority inversion when conditions warrant it. This feedback loop provides adaptability to different workload conditions while maintaining relatively simple control logic based on straightforward threshold comparisons rather than complex decision-making.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The MLC queue system performs self-adjustment based on its own internal state (queue occupancy). The priority inversion is triggered automatically by the system itself when occupancy thresholds are exceeded, without requiring external control or complex scheduling algorithms. This self-service approach enables adaptability while keeping the control mechanism simple and localized to the queue management logic.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS20250110876A1Dynamic cache fill priorization
Publication Date: 2025.04.03 INTEL CORP
  • US20250110876A1 patent drawing
  • US20250110876A1 patent drawing
  • US20250110876A1 patent drawing

AI summary

Techniques for dynamic cache fill prioritization are described. In an embodiment, an apparatus includes a cache at a mid-level of a cache hierarchy; and a mid-level cache (MLC) unit including the cache, a local queue to store MLC lookup requests, an external queue to store MLC fill requests, and an MLC access control hardware. The MLC access control hardware is to dynamically switch prioritization of servicing the MLC lookup requests versus servicing the MLC fill requests.