Selective Interconnect Transaction Control for Cache Coherency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In data processing systems, the snoop queue often becomes full during high bus transaction activity, leading to delays and stalls in system bus activity as existing systems wait for resources to become available, causing inefficiencies in cache and memory coherency maintenance.

Innovation Solution

The implementation of a selective interconnect transaction control mechanism that uses a cache coherency manager to selectively stall system interconnect transaction initiation for specific transaction types, preventing the initiation of cache coherency-related transactions when the snoop queue is full, while allowing other transactions to proceed, thereby optimizing snoop queue resources.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the snoop queue is used to store received snoop requests, then cache coherency can be maintained, but the snoop queue may become full during high bus transaction activity, causing delays and stalls

Engineering Contradiction:
Improvecache coherency maintenanceVSAvoidbus transaction throughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments bus transactions into two categories: those requiring cache coherency (global transactions) and those that do not (local transactions). This segmentation allows the system to apply different flow control mechanisms to each type, preventing the snoop queue from blocking all bus activity while maintaining coherency for global transactions.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies local quality by treating different transaction types differently. Local transactions (non-coherency critical) can proceed without snoop queue resources, while global transactions (coherency critical) are subject to snoop queue flow control. This differentiated approach maintains coherency where needed without unnecessarily blocking all bus traffic.

Inventive Principle:
Principle #3Local quality

2Reliability

If flow control is used to prevent snoop activity from being lost when the queue is full, then snoop requests are protected, but the system bus is stalled and bus activity is blocked

Engineering Contradiction:
Improvesnoop request handlingVSAvoidbus stall time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent segments transactions into global (requiring coherency) and local (non-coherency critical) types. Flow control is applied selectively only to global transactions that need snoop queue resources, while local transactions continue to execute without being blocked. This reduces unnecessary bus stalls while maintaining reliable snoop handling for critical transactions.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Instead of applying full flow control to all transactions, the patent applies partial flow control only to the subset of transactions that actually require snoop queue resources (global transactions). This partial action approach maintains adequate snoop handling for critical operations while avoiding excessive blocking of non-critical bus activity.

Inventive Principle:
Principle #16Partial or excessive action

3Reliability

If all transactions are stalled until snoop resources are available, then snoop queue overflow is prevented, but system performance deteriorates due to complete bus blocking

Engineering Contradiction:
Improvesnoop queue capacity managementVSAvoidsystem bus activity
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments bus transactions into global and local types, applying snoop queue flow control only to global transactions that require coherency maintenance. Local transactions are allowed to proceed independently. This selective approach prevents snoop queue overflow for critical operations while maintaining overall system bus productivity by avoiding complete blocking.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies local quality by differentiating treatment based on transaction characteristics. Global transactions (requiring coherency) are subject to strict flow control to protect snoop queue capacity, while local transactions (non-coherency critical) enjoy unrestricted access. This differentiated local quality approach balances reliability and productivity effectively.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS8667226B2Selective interconnect transaction control for cache coherency maintenance
Publication Date: 2014.03.04 EIREOG INNOVATIONS LTD
  • US8667226B2 patent drawing
  • US8667226B2 patent drawing
  • US8667226B2 patent drawing

AI summary

A data processing system (10) includes a first master (14) and a second master (16 or 22). The first master includes a cache (28) and snoop queue circuitry (44, 52, 54) having a snoop request queue (44) which stores snoop requests. The snoop queue circuitry receives snoop requests for storage into the snoop request queue and provides snoop requests from the snoop request queue to the cache, and the snoop queue circuitry provides a ready indicator indicating whether the snoop request queue can store more snoop requests. The second master includes outgoing transaction control circuitry (72) which controls initiation of outgoing transactions to a system interconnect. In response to the ready indicator indicating that the snoop request queue cannot store more snoop requests, an initiation hold signal is provided to the outgoing transaction control circuitry to prevent the outgoing transaction control circuitry from initiating any outgoing transactions to the system interconnect (12) within a subset of transaction types.