Snoop Request Handling for Multiprocessor Cache Coherency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In multiprocessor systems, accessing data from shared caches or memories can be time-consuming due to the need for nodes to resynchronize and access main system memory, especially when multiple nodes request the same data value, leading to inefficiencies in data retrieval and bandwidth usage.

Innovation Solution

A data processing apparatus and method that utilize snoop requests with indicators to determine whether requested data should be returned to the source node, allowing for local caching and reduced reliance on main memory access, while also managing coherency and invalidation of data across nodes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If nodes resynchronize and access main system memory to obtain data, then data coherency is maintained throughout the system, but data access time increases significantly

Engineering Contradiction:
Improvedata coherencyVSAvoiddata access time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent applies preliminary action by having the home node proactively invalidate data in other nodes' caches before the requesting node needs the data. When data is written to main memory, the home node sends snoop requests to preemptively invalidate cached copies in other nodes, so that when a node requests the data, it can be obtained quickly from main memory without requiring complex resynchronization protocols.

Inventive Principle:
Principle #10Preliminary action

2Speed

If data is cached in local caches of processors, then data access speed improves, but system complexity increases due to coherency management requirements

Engineering Contradiction:
Improvedata access speedVSAvoidcoherency management complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The patent uses the home node as an intermediary to manage cache coherency. Instead of requiring direct communication and coordination between all pairs of nodes with cached data, the home node acts as a central mediator that receives write requests, invalidates cached data in other nodes, and manages the snoop request distribution. This central化的 approach simplifies the overall system architecture while maintaining coherency.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent implements feedback mechanisms where nodes send snoop requests to the home node when they need data, and the home node responds by invalidating cached data in other nodes or providing the data itself. This feedback loop ensures that cached data remains coherent with main memory without requiring complex peer-to-peer coordination between all nodes.

Inventive Principle:
Principle #23Feedback

3Reliability

If snoop requests are sent to all nodes to maintain coherency, then data consistency is ensured, but bandwidth consumption increases

Engineering Contradiction:
Improvedata consistencyVSAvoidbandwidth consumption
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The patent extracts the coherency management function from the distributed node-to-node communication and concentrates it at the home node. Instead of sending snoop requests to all nodes in the system, the home node selectively sends snoop requests only to nodes that are likely to have cached the data based on previous access patterns and cache state information. This extraction of the coordination function to a central point reduces overall bandwidth consumption.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS10579526B2Responding to snoop requests
Publication Date: 2020.03.03 ARM LTD
  • US10579526B2 patent drawing
  • US10579526B2 patent drawing
  • US10579526B2 patent drawing

AI summary

A data processing apparatus includes receiving circuitry to receive a snoop request sent by a source node in respect of requested data and transmitting circuitry. Cache circuitry caches at least one data value. The snoop request includes an indication as to whether the requested data is to be returned to the source node and when the at least one data value includes the requested data, the transmitting circuitry transmits a response to the source node including said requested data, in dependence on said indication.