Speculative Request Indicator in Cache Coherency Protocols

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current cache coherency protocols in System-on-Chip (SoC) do not provide a mechanism to differentiate between demand requests and speculative requests, leading to inefficient processing and potential performance degradation.

Innovation Solution

Implementing a messaging protocol that includes a speculative request indicator, allowing agents to differentiate between demand and speculative requests and adjust their response accordingly, using a cache coherency state request vector to specify acceptable cache states.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If cache coherency protocols process all requests uniformly without differentiation, then protocol simplicity is maintained, but processing efficiency deteriorates due to inability to prioritize demand requests over speculative requests

Engineering Contradiction:
Improverequest processing efficiencyVSAvoidprotocol complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments request processing into two distinct categories by introducing a speculative request indicator bit in the request vector. This bit allows the cache coherency protocol to differentiate between demand requests (bit=0) and speculative requests (bit=1), enabling selective processing priorities without requiring completely separate protocol paths.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies local quality by modifying specific fields in the request message structure. The speculative request indicator is inserted into the request vector at a defined position, allowing only certain requests to carry this indicator while maintaining compatibility with existing cache coherency message formats. This localized modification enables differentiation without redesigning the entire protocol.

Inventive Principle:
Principle #3Local quality

2Productivity

If speculative requests are processed with the same effort as demand requests, then protocol implementation is simplified, but system performance deteriorates due to wasted processing on potentially incorrect speculative requests

Engineering Contradiction:
Improvesystem performanceVSAvoidprocessing effort on incorrect requests
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The patent implements preliminary action by having the speculative request indicator set in advance within the request vector before the request is processed. This allows receiving agents to identify speculative requests immediately upon receipt and apply appropriate processing rules (such as lower priority or conditional servicing) before committing significant processing resources, thereby avoiding wasted effort on incorrect speculative requests.

Inventive Principle:
Principle #10Preliminary action

3Adaptability or versatility

If the messaging protocol is extended to include speculative request indicators and cache coherency state request vectors, then request differentiation capability is improved, but message structure complexity increases

Engineering Contradiction:
Improverequest differentiation capabilityVSAvoidmessage structure
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent applies universality by designing the speculative request indicator to be integrated into the existing request vector structure used in TileLink and similar interconnect protocols. The same request vector field that carries cache coherency state information is extended to also carry the speculative request indicator, allowing a single message structure to serve multiple functions: identifying request type, specifying cache state requirements, and enabling priority differentiation.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS12332799B2Speculative request indicator in request message
Publication Date: 2025.06.17 SIFIVE INC
  • US12332799B2 patent drawing
  • US12332799B2 patent drawing
  • US12332799B2 patent drawing

AI summary

A method and apparatus for a speculative request indicator is described. A method includes providing, for a cache hierarchy, a messaging protocol used for transfer operations among agents in the cache hierarchy, the messaging protocol indicating acceptable cache coherency states for a cache block indicated in a request message and providing, in the messaging protocol for selection by an agent, a speculative request indicator when sending the request message, wherein the speculative request indicator differentiates between a demand request and a speculative request with respect to the cache block.