Distributed Cache Partner Sets Reduce Crossbar Congestion

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The existing distributed cache systems in processors face congestion issues in crossbar networks, limiting the number of processing units and performance due to the need for caches to be physically close to the crossbar network, which constrains the layout and flexibility of cache organization.

Innovation Solution

The implementation of a distributed cache storage system where caches are organized into partner sets with dedicated connections, allowing direct communication between caches within a partner set without using the crossbar network, thereby reducing congestion and increasing flexibility in processor layout.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If caches are directly coupled to crossbar network to minimize wire length, then operation speed is improved, but cache organization flexibility deteriorates

Engineering Contradiction:
Improveoperation speedVSAvoidcache organization flexibility
Core Design Contradiction:
SpeedVSAdaptability or versatility

Solution Approach 1:

The cache system is segmented into multiple cache slices (first cache slice, second cache slice, etc.), each directly coupled to a portion of the crossbar network. This segmentation allows each cache slice to be independently positioned close to the crossbar for high-speed operation while the overall system maintains flexibility through modular organization of multiple slices.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a new dimensional approach by organizing caches in a multi-slice architecture where each slice operates independently at high speed close to the crossbar, while the collective arrangement of slices provides the flexibility needed for various cache organization schemes.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Productivity

If number of processing units is increased, then performance is improved, but crossbar network congestion worsens

Engineering Contradiction:
ImproveperformanceVSAvoidcrossbar network congestion
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system segments the cache access paths by providing direct coupling between cache slices and the crossbar network, creating multiple independent access channels. This segmentation reduces contention and congestion on the crossbar network when multiple processing units access caches simultaneously, enabling higher processing unit counts without proportionally increasing congestion.

Inventive Principle:
Principle #1Segmentation

3Length of moving object

If caches are placed close to crossbar network, then wire length is reduced, but die area consumption worsens

Engineering Contradiction:
Improvewire lengthVSAvoiddie area
Core Design Contradiction:
Length of moving objectVSArea of stationary object

Solution Approach 1:

Each cache slice is locally optimized by being directly coupled to a specific portion of the crossbar network, minimizing the wire length for that local connection. The overall die area is managed by distributing multiple cache slices across different locations, with each slice having its own local high-speed connection to the crossbar.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS10915445B2Coherent caching of data for high bandwidth scaling
Publication Date: 2021.02.09 NVIDIA CORP
  • US10915445B2 patent drawing
  • US10915445B2 patent drawing
  • US10915445B2 patent drawing

AI summary

A method, computer readable medium, and system are disclosed for a distributed cache that provides multiple processing units with fast access to a portion of data, which is stored in local memory. The distributed cache is composed of multiple smaller caches, and each of the smaller caches is associated with at least one processing unit. In addition to a shared crossbar network through which data is transferred between processing units and the smaller caches, a dedicated connection is provided between two or more smaller caches that form a partner cache set. Transferring data through the dedicated connections reduces congestion on the shared crossbar network. Reducing congestion on the shared crossbar network increases the available bandwidth and allows the number of processing units to increase. A coherence protocol is defined for accessing data stored in the distributed cache and for transferring data between the smaller caches of a partner cache set.