Cache Coherency Manager for Multi-Core Domain Partitioning

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In multiprocessor systems, the disparity between microprocessor clock speeds and memory access times leads to increased latency and power consumption due to heavy coherence traffic among processing cores and I/O devices, as all caches must search for requested data, slowing down the process and consuming more power.

Innovation Solution

A cache coherency manager is implemented to define coherency relationships among processing cores, allowing coherence traffic to flow only between cores with established relationships, reducing unnecessary cache lookups and power consumption by forwarding intervention messages only to cores within the same coherence domain, and maintaining coherency between cores and I/O devices.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If all caches search for requested data to ensure coherence, then data coherence is maintained, but power consumption increases and time is lost

Engineering Contradiction:
Improvedata coherenceVSAvoidcache lookup time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent segments the system into multiple coherence domains by partitioning cores into groups. Instead of all cores searching for every data request, only cores within the same coherence domain search, reducing the search scope while maintaining coherence where needed. This is implemented through a coherency manager that tracks domain memberships and directs requests accordingly.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies local quality by making coherence behavior dependent on the specific relationship between requesting and target cores. Cores within the same coherence domain perform local coherence searches, while cores in different domains do not participate. This selective coherence approach optimizes performance for local accesses while maintaining coherence for shared data.

Inventive Principle:
Principle #3Local quality

2Reliability

If all caches search for requested data to ensure coherence, then data coherence is maintained, but power consumption increases

Engineering Contradiction:
Improvedata coherenceVSAvoidpower consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The patent segments the system into multiple coherence domains by partitioning cores into groups. Instead of all cores searching for every data request, only cores within the same coherence domain search, reducing the search scope while maintaining coherence where needed. This is implemented through a coherency manager that tracks domain memberships and directs requests accordingly.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies local quality by making coherence behavior dependent on the specific relationship between requesting and target cores. Cores within the same coherence domain perform local coherence searches, while cores in different domains do not participate. This selective coherence approach optimizes performance for local accesses while maintaining coherence for shared data.

Inventive Principle:
Principle #3Local quality

3Reliability

If coherence traffic flows between all processing cores, then data coherence is maintained, but system bus bandwidth is consumed

Engineering Contradiction:
Improvedata coherenceVSAvoidsystem bus bandwidth
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the system into multiple coherence domains by partitioning cores into groups. Instead of all cores searching for every data request, only cores within the same coherence domain search, reducing the search scope while maintaining coherence where needed. This is implemented through a coherency manager that tracks domain memberships and directs requests accordingly.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent extracts unnecessary coherence traffic by removing the requirement for all cores to participate in every coherence protocol operation. Cores outside the relevant coherence domain are excluded from the search and response process, eliminating wasted bandwidth consumption while preserving coherence for the active domain.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS8131941B2Support for multiple coherence domains
Publication Date: 2012.03.06 ARM FINANCE OVERSEAS LTD
  • US8131941B2 patent drawing
  • US8131941B2 patent drawing
  • US8131941B2 patent drawing

AI summary

A number of coherence domains are maintained among the multitude of processing cores disposed in a microprocessor. A cache coherency manager defines the coherency relationships such that coherence traffic flows only among the processing cores that are defined as having a coherency relationship. The data defining the coherency relationships between the processing cores is optionally stored in a programmable register. For each source of a coherent request, the processing core targets of the request are identified in the programmable register. In response to a coherent request, an intervention message is forwarded only to the cores that are defined to be in the same coherence domain as the requesting core. If a cache hit occurs in response to a coherent read request and the coherence state of the cache line resulting in the hit satisfies a condition, the requested data is made available to the requesting core from that cache line.