Banked Cache Memory Segregation for Multiprocessor Snoop Traffic

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In multiprocessor environments, snoopy buses used for cache synchronization lead to increased snoop traffic, reducing effective cache access bandwidth and limiting system performance due to interference between shared and non-shared data cache accesses.

Innovation Solution

Implementing a banked cache management method where cache accesses are directed to specific banks based on access type indicators, separating shared and non-shared data accesses to reduce interference, using an access control circuit to steer cache accesses to designated banks for either shared or non-shared data.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If snoopy buses are used for cache synchronization in multiprocessor environments, then cache coherency is maintained, but effective cache access bandwidth is reduced due to snoop traffic interference

Engineering Contradiction:
Improvecache coherencyVSAvoideffective cache access bandwidth
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The cache memory is divided into multiple independently accessible banks. Snoop traffic and locally generated traffic are directed to different banks, allowing simultaneous access without interference. This segmentation enables parallel operation of snoop and local accesses, maintaining cache coherency while preserving effective access bandwidth.

Inventive Principle:
Principle #1Segmentation

2Productivity

If multi-ported cache memory is used to separate snoop traffic and local traffic, then cache access interference is reduced, but cache size, power consumption, and expense significantly increase

Engineering Contradiction:
Improvecache access interference reductionVSAvoidcache size and power consumption
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

Instead of adding multiple ports (spatial dimension), the patent uses a banked cache structure where different traffic types are routed to different banks. This transforms the problem from a port-based solution to a bank-based solution, achieving traffic separation without increasing port count, cache size, or power consumption.

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

Data Source

PatentUS7353319B2Method and apparatus for segregating shared and non-shared data in cache memory banks
Publication Date: 2008.04.01 QUALCOMM INC
  • US7353319B2 patent drawing
  • US7353319B2 patent drawing
  • US7353319B2 patent drawing

AI summary

In a multiprocessor system, accesses to a given processor's banked cache are controlled such that shared data accesses are directed to one or more banks designated for holding shared data and/or non-shared data accesses are directed to one or more banks designated for holding non-shared data. A non-shared data bank may be designated exclusively for holding non-shared data, so that shared data accesses do not interfere with non-shared accesses to that bank. Also, a shared data bank may be designated exclusively for holding shared data, and one or more banks may be designated for holding both shared and non-shared data. An access control circuit directs shared and non-shared accesses to respective banks based on receiving a shared indication signal in association with the accesses. Further, in one or more embodiments, the access control circuit reconfigures one or more bank designations responsive to a bank configuration signal.