Multiprocessor Cache Coherency with Victim Cache Integration

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional cache coherency systems in multiprocessor systems face inefficiencies, such as excessive bandwidth usage and performance degradation due to cache line circulation and the need for additional hardware, particularly when cores are underutilized or powered down, and existing solutions either evict lines to memory or use victim caches that are not scalable.

Innovation Solution

A method and system for improved cache coherency that assigns specific coherency states and tags to data blocks in a multiprocessor system, allowing for efficient cache line management by distinguishing between 'owned' and 'moved' cache lines, enabling optimized replacement and intervention operations without unnecessary data transfers and preventing cache line circulation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If cache lines are evicted to memory, then cache space is made available for incoming blocks, but bandwidth consumption increases and performance degrades

Engineering Contradiction:
Improvecache space availabilityVSAvoidbandwidth consumption
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The patent introduces a victim cache as an intermediary buffer between the L2 cache and main memory. When cache lines need to be evicted, they are first placed in the victim cache rather than directly to memory, reducing bandwidth consumption. The victim cache acts as a temporary holding area that can be later cleaned to main memory in bulk operations, thereby mediating between the need for cache space and the desire to minimize bandwidth usage.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Ease of operation

If a dedicated victim cache is added for each L2 cache, then cache line management improves, but hardware area and power consumption increase

Engineering Contradiction:
Improvecache line managementVSAvoidhardware area
Core Design Contradiction:
Ease of operationVSArea of stationary object

Solution Approach 1:

The patent merges the victim cache functionality with the existing L2 cache structure. Instead of adding completely separate dedicated victim caches for each L2 cache, the system shares victim cache resources across multiple L2 caches. This combining approach provides the necessary cache line management capabilities while reducing the total hardware area and power consumption compared to having dedicated victim caches for each L2 cache.

Inventive Principle:
Principle #5Merging (Combining)

3Adaptability or versatility

If PUs share a common L3 cache with victim cache functionality, then cache sharing is enabled, but cache line circulation can occur indefinitely

Engineering Contradiction:
Improvecache sharing capabilityVSAvoidcache coherency
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent implements feedback mechanisms through coherency protocols that track the history and state of cache lines. When a cache line is evicted from one L2 cache to another via the shared L3 cache, the system monitors and records this movement. The feedback from these tracking mechanisms allows the system to detect when cache lines are circulating and take corrective actions, such as preventing further circulation or triggering write-backs to main memory, thereby maintaining coherency while enabling cache sharing.

Inventive Principle:
Principle #23Feedback

4Productivity

If victim cache accepts incoming cache lines, then cache space is utilized, but existing cache lines may be evicted unnecessarily

Engineering Contradiction:
Improvecache utilizationVSAvoidunnecessary evictions
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The patent applies partial action by selectively accepting cache lines in the victim cache based on specific criteria rather than unconditionally accepting all incoming lines. The system evaluates factors such as the state of existing cache lines, access patterns, and coherency requirements before accepting new lines. This selective approach allows the victim cache to utilize available space while avoiding unnecessary evictions of important cache lines, thereby optimizing both cache utilization and energy efficiency.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS8397029B2System and method for cache coherency in a multiprocessor system
Publication Date: 2013.03.12 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US8397029B2 patent drawing
  • US8397029B2 patent drawing
  • US8397029B2 patent drawing

AI summary

A method for maintaining cache coherency operates in a data processing system with a system memory and a plurality of processing units (PUs), each PU having a cache, and each PU coupled to at least another one of the plurality of PUs. A first PU receives a first data block for storage in a first cache of the first PU. The first PU stores the first data block in the first cache. The first PU assigns a first coherency state and a first tag to the first data block, wherein the first coherency state is one of a plurality of coherency states that indicate whether the first PU has accessed the first data block. The plurality of coherency states further indicate whether, in the event the first PU has not accessed the first data block, the first PU received the first data block from a neighboring PU.