Multi-chip Snoop Table for Cache Coherency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In multi-chip processor architectures, excessive snooping between clusters for cache coherency can significantly impact processing performance, as frequent queries to other clusters can hinder operational efficiency.

Innovation Solution

A multi-chip system with a shared snoop table module that records cache information across all clusters, allowing for unidirectional transmission and updating of the snoop table without disturbing local caches, thereby reducing the need for frequent queries and improving performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If clusters query other clusters' caches frequently to maintain cache coherency, then cache coherency is ensured, but processing performance deteriorates due to excessive snooping

Engineering Contradiction:
Improvecache coherencyVSAvoidprocessing performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent introduces a snoop table as an intermediary data structure that stores cache status information from all clusters. Instead of directly querying other clusters' caches, the snoop table acts as a mediator that provides cache coherency information, thereby reducing direct snooping operations and improving processing performance while maintaining cache coherency.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The snoop table creates a copy of cache status information from all clusters. This copied information is then used for coherency checks, eliminating the need for frequent direct queries to other clusters' caches. The snoop table maintains a replicated view of the cache state across the multi-chip system, reducing communication overhead.

Inventive Principle:
Principle #26Copying

2Reliability

If clusters query other clusters' caches to verify data presence, then cache coherency is maintained, but operational performance of other clusters deteriorates

Engineering Contradiction:
Improvecache coherencyVSAvoidoperational performance
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The snoop table serves as an intermediary that handles coherency verification requests. Other clusters do not need to directly respond to snooping queries; instead, the snoop table provides the necessary information, thereby protecting the operational performance of other clusters while maintaining cache coherency.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

By copying cache status information into the snoop table, the system enables coherency checks without requiring other clusters to actively participate in each query. This copied information allows verification of data presence without disturbing the operational performance of the queried clusters.

Inventive Principle:
Principle #26Copying

3Reliability

If excessive snooping is performed across clusters, then cache coherency is ensured, but system performance deteriorates

Engineering Contradiction:
Improvecache coherencyVSAvoidsystem performance
Core Design Contradiction:
ReliabilityVSPower

Solution Approach 1:

The snoop table stores copied cache status information from all clusters, enabling coherency verification without excessive snooping operations. This copying mechanism reduces the power consumption and performance overhead associated with frequent inter-cluster queries while ensuring cache coherency is maintained.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS11321233B2Multi-chip system and cache processing method
Publication Date: 2022.05.03 VIA ALLIANCE SEMICON CO LTD
  • US11321233B2 patent drawing
  • US11321233B2 patent drawing
  • US11321233B2 patent drawing

AI summary

A multi-chip system and a cache processing method are provided. The multi-chip system includes multiple chips. Each chip includes multiple clusters, a crossbar interface, and a snoop system. Each cluster corresponds to a local cache. The crossbar interface is coupled to the clusters and a crossbar interface of another chip. The snoop system is coupled to the crossbar interface and performs unidirectional transmission with the crossbar interface. The snoop system includes a snoop table module and multiple trackers. The snoop table module includes a shared cache, which records a snoop table. Multiple trackers are coupled to the snoop table module, query the snoop table in the shared cache according to a memory access request initiated by one of clusters, and update the snoop table according to a query result. The snoop table corresponds to a storage structure of the local cache corresponding to the clusters in all chips.