Multi-Level Cache Request Tracking for Processor Coherence

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current processor cache hierarchies face inefficiencies due to coarse-grained encoding of core-valid bits, leading to spurious messages, performance loss, and energy waste, particularly as the number of tiles and caches increases, causing CV bit aliasing and stale entries.

Innovation Solution

Implementing a multi-level tracker system with a primary CAM-based tracker for global observation and a secondary SRAM-based tracker for state storage, allowing for increased outstanding requests without significant power or area impact, thereby improving memory bandwidth and reducing latency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Area of stationary object

If coarse-grained encoding is used for core-valid bits to reduce tracker area, then area is reduced, but spurious messages are generated causing performance loss and energy waste

Engineering Contradiction:
Improvetracker areaVSAvoidperformance
Core Design Contradiction:
Area of stationary objectVSProductivity

Solution Approach 1:

The tracker is divided into two separate structures: a primary tracker using coarse-grained encoding for area efficiency, and a secondary tracker using fine-grained encoding for precision. This segmentation allows each tracker to specialize - the primary tracker reduces area while the secondary tracker eliminates spurious messages by providing accurate cache validity information.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The secondary tracker acts as an intermediary between the primary tracker and the cache coherence protocol. It receives requests from the primary tracker, resolves ambiguity about cache validity using its fine-grained encoding, and provides precise responses. This intermediary structure eliminates the need for spurious invalidation messages while keeping the overall system area-efficient.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Area of stationary object

If coarse-grained encoding is used for core-valid bits, then tracker area is reduced, but spurious invalidation messages are sent increasing energy consumption

Engineering Contradiction:
Improvetracker areaVSAvoidenergy consumption
Core Design Contradiction:
Area of stationary objectVSLoss of energy

Solution Approach 1:

The tracker is divided into two separate structures: a primary tracker using coarse-grained encoding for area efficiency, and a secondary tracker using fine-grained encoding for precision. This segmentation allows each tracker to specialize - the primary tracker reduces area while the secondary tracker eliminates spurious messages by providing accurate cache validity information.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The secondary tracker acts as an intermediary between the primary tracker and the cache coherence protocol. It receives requests from the primary tracker, resolves ambiguity about cache validity using its fine-grained encoding, and provides precise responses. This intermediary structure eliminates the need for spurious invalidation messages while keeping the overall system area-efficient.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Measurement precision

If tracker size is increased to reduce CV bit aliasing, then measurement precision is improved, but device complexity and area increase

Engineering Contradiction:
Improvecache line tracking precisionVSAvoidtracker complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The tracker is divided into two separate structures: a primary tracker using coarse-grained encoding for area efficiency, and a secondary tracker using fine-grained encoding for precision. This segmentation allows each tracker to specialize - the primary tracker reduces area while the secondary tracker eliminates spurious messages by providing accurate cache validity information.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Instead of increasing the size of a single tracker structure, the solution adds a new dimension by introducing a second tracker with different encoding granularity. This dimensional approach allows the system to achieve high precision without proportionally increasing overall complexity, as each tracker operates in its optimal encoding regime.

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

4Productivity

If the number of outstanding memory requests is increased to improve bandwidth, then productivity is improved, but power consumption increases

Engineering Contradiction:
Improvememory bandwidthVSAvoidpower consumption
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The system dynamically manages outstanding memory requests by implementing separate allocation and deallocation paths for the primary and secondary trackers. This dynamic management allows the system to maintain a high number of outstanding requests for improved bandwidth while efficiently releasing tracker entries when cache coherence is resolved, optimizing power usage based on actual workload demands.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system performs preliminary actions by allocating tracker entries in advance for outstanding memory requests. The primary tracker pre-allocates entries using coarse-grained encoding, and the secondary tracker is pre-configured to resolve validity. This preliminary preparation enables high bandwidth utilization while avoiding the need for complex real-time tracking, thus managing power consumption efficiently.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10310978B2Apparatus and method for multi-level cache request tracking
Publication Date: 2019.06.04 INTEL CORP
  • US10310978B2 patent drawing
  • US10310978B2 patent drawing
  • US10310978B2 patent drawing

AI summary

An apparatus and method for multi-level cache request tracking. For example, one embodiment of a processor comprises: one or more cores to execute instructions and process data; a memory subsystem comprising a system memory and a multi-level cache hierarchy; a primary tracker to store a first entry associated with a memory request to transfer a cache line from the system memory or a first cache within the cache hierarchy to a second cache; primary tracker allocation circuitry to allocate and deallocate entries within the primary tracker; a secondary tracker to store a second entry associated with the memory request; secondary tracker allocation circuitry to allocate and deallocate entries within the secondary tracker; the primary tracker allocation circuitry to deallocate the first entry in response to a first indication that one or more cache coherence requirements associated with the cache line have been resolved, the secondary tracker allocation circuitry to deallocate the second entry in response to a second indication related to transmission of the cache line to the second cache.