Snoop Request Management in Data Processing Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing data processing systems with multiple processors and caches face inefficiencies due to the need for low-latency snoop responses to maintain memory coherency, which can delay subsequent transactions and lead to system errors from differing data values.

Innovation Solution

A data processing system with a cache coherency manager that allows transactions to complete before snoop lookup operations, using a snoop control interface and snoop queue circuitry to manage snoop requests independently of transaction completion, enabling efficient use of system interconnects and reducing the impact of snoop responses on transaction flow.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If snoop requests are processed synchronously with transaction completion, then memory coherency is maintained, but system efficiency decreases due to transaction delays

Engineering Contradiction:
Improvememory coherencyVSAvoidsystem efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system performs the snoop lookup operation in advance of the transaction completion. The coherency manager initiates the snoop request to caches before the transaction is fully completed, allowing the snoop operation to be prepared and executed preliminarily. This preliminary action ensures coherency checking is done early, preventing delays to the critical transaction completion path while maintaining memory coherency requirements.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent segments the transaction processing into independent phases: the snoop lookup phase and the transaction completion phase. By separating these operations, the system can process snoop requests independently without blocking the main transaction flow. The coherency manager handles snoop operations separately from the transaction engine, allowing parallel execution and eliminating the synchronization delay that previously reduced system efficiency.

Inventive Principle:
Principle #1Segmentation

2Productivity

If snoop lookup operations are performed before transaction completion, then system efficiency improves, but coherency management complexity increases

Engineering Contradiction:
Improvesystem efficiencyVSAvoidcoherency management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The coherency manager acts as an intermediary between the transaction engine and the caches. It receives transaction information, independently manages the snoop lookup operations to caches, and coordinates the results back to the transaction completion process. This intermediary component centralizes the complexity of early snoop operations, providing a clear interface and control mechanism that manages the increased complexity systematically rather than dispersing it throughout the transaction path.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent replaces the traditional synchronous mechanical coupling between transaction completion and snoop operations with an asynchronous event-driven mechanism. Instead of direct synchronous calls that block execution, the system uses events and callbacks where the coherency manager notifies the transaction engine of snoop results. This substitution of the control mechanism allows early snoop operations without proportionally increasing management complexity, as the asynchronous model provides natural decoupling and event handling.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Data Source

PatentUS8706974B2Snoop request management in a data processing system
Publication Date: 2014.04.22 NXP USA INC
  • US8706974B2 patent drawing
  • US8706974B2 patent drawing
  • US8706974B2 patent drawing

AI summary

In a data processing system, a method includes a first master initiating a transaction via a system interconnect to a target device. After initiating the transaction, a snoop request corresponding to the transaction is provided to a cache of a second master. The transaction is completed. After completing the transaction, a snoop lookup operation corresponding to the snoop request in the cache of the second master is performed. The transaction may be completed prior to or after providing the snoop request. In response to performing the snoop lookup operation, a snoop response may be provided, where the snoop response is provided after completing the transaction. When the snoop response indicates an error, a snoop error may be provided to the first master.