Multi-core Processor Snoop Filtering via Page Status Tracking

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In multi-core central processing units, bus snooping for cache coherence consumes excessive resources and efficiency decreases as the number of processors increases, due to exponential growth in snoop traffic.

Innovation Solution

Implementing a cache memory management system with a page status table that tracks page statuses to determine whether to broadcast snoop requests, thereby reducing unnecessary broadcasts and conserving resources by only sending requests when pages are shared.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If bus snooping is used to maintain cache coherence, then cache coherence is maintained, but resource consumption (power and time) increases and processor efficiency decreases

Engineering Contradiction:
Improvecache coherenceVSAvoidprocessor efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent applies partial action by selectively broadcasting snoop requests only when necessary. Instead of broadcasting to all processors for every memory access, the system determines whether a page is shared and only sends snoop requests to processors that actually have the page in cache. This reduces unnecessary snoop traffic while maintaining cache coherence for the pages that require it.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The patent changes the parameter of snoop request broadcasting from a binary all-or-nothing approach to a selective approach based on page sharing status. By tracking page sharing information and using it to determine whether to broadcast, the system dynamically adjusts snoop traffic based on actual cache coherence needs, reducing overall resource consumption.

Inventive Principle:
Principle #35Parameter changes

2Power

If the number of processors in a multi-core system increases, then processing power increases, but snoop traffic increases exponentially reducing system efficiency

Engineering Contradiction:
Improveprocessing powerVSAvoidsnoop traffic
Core Design Contradiction:
PowerVSLoss of energy

Solution Approach 1:

The patent reduces snoop traffic by taking only the partial action necessary - broadcasting snoop requests only to processors that have the requested page in cache. This selective approach prevents the exponential growth of snoop traffic that would occur with full broadcasting to all processors, thereby reducing energy loss while supporting multi-core systems.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The patent extracts and removes unnecessary snoop traffic from the system by identifying and eliminating broadcasts to processors that do not have the requested page. By tracking which processors have which pages, the system takes out the harmful excessive snoop traffic while retaining the necessary coherence checks.

Inventive Principle:
Principle #2Taking out (Extraction)

3Reliability

If snoop requests are broadcast to all processors, then cache coherence is ensured, but time and power resources are consumed

Engineering Contradiction:
Improvecache coherenceVSAvoidpower consumption
Core Design Contradiction:
ReliabilityVSUse of energy by stationary object

Solution Approach 1:

The patent applies partial action by broadcasting snoop requests only to the extent necessary for maintaining cache coherence. Instead of sending requests to all processors, the system uses page sharing information to determine which processors actually need to be contacted, thereby reducing power consumption while ensuring coherence where required.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The system uses its own tracked page sharing information to make intelligent decisions about snoop request broadcasting. Each processor can determine from the tracked information whether it has the page in cache and whether it needs to respond to a snoop request, allowing the system to self-regulate snoop traffic based on actual cache contents.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS8868847B2Multi-core processor snoop filtering
Publication Date: 2014.10.21 APPLE INC
  • US8868847B2 patent drawing
  • US8868847B2 patent drawing
  • US8868847B2 patent drawing

AI summary

Systems, methods, and devices for reducing snoop traffic in a central processing unit are provided. In accordance with one embodiment, an electronic device includes a central processing unit having a plurality of cores. A cache memory management system may be associated with each core that includes a cache memory device configured to store a plurality of cache lines, a page status table configured to track pages of memory stored in the cache memory device and to indicate a status of each of the tracked pages of memory, and a cache controller configured to determine, upon a cache miss, whether to broadcast a snoop request based at least in part on the status of one of the tracked pages in the page status table.