Speculative Read Bypass for Cache Coherence Latency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In computing systems with multiple processors and caches, maintaining cache coherence is challenging due to latency issues and potential stale data, especially when multiple processors access shared memory locations, leading to ordering and coherence violations.

Innovation Solution

A circuit and method are introduced to process cache requests by initiating speculative read accesses to main memory while performing coherence checking in parallel, allowing for cancellation of read access commands if coherence violations are detected, and managing pending speculative read accesses to prevent violations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of time

If speculative read access is initiated to main memory, then latency for main memory read requests is reduced, but coherence violations may occur

Engineering Contradiction:
ImprovelatencyVSAvoidcoherence
Core Design Contradiction:
Loss of timeVSReliability

Solution Approach 1:

The patent initiates speculative read accesses to main memory before coherence checking is complete. The memory read command is speculatively issued in advance, and if a coherence violation is later detected, the results are discarded and a coherent read is performed through the cache coherence interface. This preliminary action reduces latency by overlapping the memory access with the coherence check.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces a speculative read buffer and control logic that acts as an intermediary between the cache coherence interface and main memory. This intermediary structure allows speculative reads to proceed independently while maintaining the ability to validate coherence status and discard invalid results, thus mediating between speed and reliability requirements.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If cache coherence checking is performed sequentially, then coherence is maintained, but system performance is reduced

Engineering Contradiction:
ImprovecoherenceVSAvoidsystem performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent performs coherence checking in parallel with speculative memory access rather than sequentially. The coherence status is checked beforehand or concurrently, allowing the system to maintain coherence guarantees while avoiding sequential bottlenecks that would reduce system performance.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent performs a preliminary coherence check that may be less thorough than a full coherence validation, allowing speculative reads to proceed. If the preliminary check passes but a full validation later fails, the system discards the speculative result and performs a complete coherent read. This partial action approach maintains coherence while improving performance.

Inventive Principle:
Principle #16Partial or excessive action

3Productivity

If multiple processors access shared memory locations simultaneously, then processing parallelism is improved, but ordering and coherence violations increase

Engineering Contradiction:
Improveprocessing parallelismVSAvoidordering and coherence
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent introduces a coherence interface and speculative read buffer as intermediaries that manage simultaneous access from multiple processors. These intermediaries track coherence status and ordering relationships, allowing parallel processors to access memory independently while the intermediary ensures global coherence and ordering constraints are maintained.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent implements feedback mechanisms where the coherence interface monitors memory access patterns and coherence status from multiple processors. When coherence violations or ordering issues are detected, the system provides feedback to discard speculative results and re-establish proper ordering, thus maintaining reliability despite high parallelism.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS10802968B2Processor to memory with coherency bypass
Publication Date: 2020.10.13 APPLE INC
  • US10802968B2 patent drawing
  • US10802968B2 patent drawing
  • US10802968B2 patent drawing

AI summary

An apparatus for processing memory requests from a functional unit in a computing system is disclosed. The apparatus may include an interface that may be configured to receive a request from the functional. Circuitry may be configured initiate a speculative read access command to a memory in response to a determination that the received request is a request for data from the memory. The circuitry may be further configured to determine, in parallel with the speculative read access, if the speculative read will result in an ordering or coherence violation.