Cache Line State Encoding for Latency Reduction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional cache coherency protocols, such as the MOESI protocol, allow lower-level caches to modify cache lines without immediate notification to higher-level caches, leading to inconsistencies and the need for backprobing when requests are made, which can increase latency and reduce efficiency in cache operations.

Innovation Solution

Implementing a method for state encoding of cache lines that allows a higher-level cache to probe a copy of a cache line in a lower-level cache when it is stale, enabling bypassing notification of the higher-level cache upon modification, thereby maintaining coherency and reducing latency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If conventional cache coherency protocols (MOESI) are used to allow lower-level caches to modify cache lines without immediate notification, then cache operation flexibility is improved, but latency increases and efficiency decreases due to backprobing requirements

Engineering Contradiction:
Improvecache operation flexibilityVSAvoidcache access latency
Core Design Contradiction:
Ease of operationVSLoss of time

Solution Approach 1:

The patent applies preliminary action by pre-determining the state of cache lines using state encoding bits before actual access occurs. The higher-level cache encodes whether cache lines are 'good' (current) or 'stale' (potentially modified) in advance, allowing it to immediately decide whether to satisfy requests directly or probe lower-level caches, eliminating the need for reactive backprobing and reducing access latency

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces state encoding bits as an intermediary mechanism between higher-level and lower-level caches. These bits serve as a mediator that carries information about the current state of cache lines, enabling the higher-level cache to make informed decisions about request handling without immediate communication with lower-level caches, thus reducing latency while maintaining coherency

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If conventional cache coherency protocols require backprobing when cache lines are modified, then cache coherency is maintained, but system efficiency decreases

Engineering Contradiction:
Improvecache coherencyVSAvoidsystem efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent implements feedback by using state encoding bits that provide continuous information about the state of cache lines (good or stale). This feedback mechanism allows the higher-level cache to proactively determine whether lower-level caches may have modified cache lines, enabling efficient request handling decisions without requiring reactive backprobing operations, thus maintaining coherency while improving system efficiency

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The patent applies preliminary action by pre-encoding the state of cache lines before access requests occur. By determining in advance whether cache lines are 'good' or 'stale' through state encoding, the system prepares the necessary information ahead of time, allowing the higher-level cache to immediately satisfy requests or initiate probes without delay, thereby improving productivity while maintaining reliability

Inventive Principle:
Principle #10Preliminary action

3Loss of time

If state encoding bits are used to determine cache line state, then latency is reduced by avoiding unnecessary backprobing, but device complexity increases

Engineering Contradiction:
Improvecache access latencyVSAvoidcache structure complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The patent applies segmentation by dividing the cache line state information into discrete state encoding bits that can be independently managed. Each cache line is associated with specific state bits that encode its status, allowing the higher-level cache to process and evaluate individual line states efficiently without complex global analysis, thus reducing latency while managing complexity through modular state representation

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS9146869B2State encoding for cache lines
Publication Date: 2015.09.29 ADVANCED MICRO DEVICES INC
  • US9146869B2 patent drawing
  • US9146869B2 patent drawing
  • US9146869B2 patent drawing

AI summary

A method and apparatus for state encoding of cache lines is described. Some embodiments of the method and apparatus support probing, in response to a first probe of a cache line in a first cache, a copy of the cache line in a second cache when the cache line is stale and the cache line is associated with a copy of the cache line stored in the second cache that can bypass notification of the first cache in response to modifying the copy of the cache line.