Dynamic Write Policy for Multi-Core Cache Coherence

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current cache coherence protocols in multi-core systems are complex, costly, and inefficient, requiring directories, invalidations, broadcasts, and snoops, which increase hardware costs and power consumption while compromising performance.

Innovation Solution

A dynamic write policy is implemented that classifies cache lines as private or shared, allowing for write-back or write-through operations, eliminating the need for directories, invalidations, and snoops, and simplifying the cache coherence protocol to two stable states (Valid/Invalid) with optional transient dirty states for shared cache lines.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If directory-based cache coherence protocols are used to maintain coherence in multi-core systems, then coherence reliability is improved, but device complexity and storage requirements increase significantly

Engineering Contradiction:
Improvecoherence reliabilityVSAvoidprotocol complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent extracts and removes the directory structure from the cache coherence system entirely. Instead of using a directory to track shared data and manage invalidations, the system relies on individual cache line state bits (valid, dirty, shared) and a simplified protocol that eliminates the need for directory-based tracking, reducing structural complexity while maintaining coherence

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent changes the state parameters of cache lines from the traditional multi-state directory protocol (requiring 30+ states) to a simplified model with only three stable states (valid, invalid, dirty) and optional transient dirty states. This parameter reduction dramatically simplifies the protocol logic and storage requirements while preserving coherence guarantees

Inventive Principle:
Principle #35Parameter changes

2Reliability

If directory-based cache coherence protocols with constant tracking and invalidations are implemented, then coherence reliability is improved, but use of energy increases due to frequent broadcasts and snoops

Engineering Contradiction:
Improvecoherence reliabilityVSAvoidenergy consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The patent implements self-service coherence where each core independently determines whether data is shared or private through classification mechanisms, and manages its own cache line states without requiring centralized directory coordination. This eliminates frequent invalidation broadcasts and snoop operations, significantly reducing energy consumption while maintaining coherence through autonomous cache management

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent introduces periodic or event-driven coherence validation at synchronization points rather than continuous tracking. Cache lines are validated and states are updated at structured intervals or upon specific events (synchronization barriers, memory fences), reducing the frequency of coherence operations and associated energy consumption compared to continuous directory-based invalidation

Inventive Principle:
Principle #19Periodic action

3Reliability

If complex cache coherence protocols with multiple states are used, then coherence reliability is improved, but manufacturing cost increases due to additional storage and logic requirements

Engineering Contradiction:
Improvecoherence reliabilityVSAvoidmanufacturing cost
Core Design Contradiction:
ReliabilityVSEase of manufacture

Solution Approach 1:

The patent removes the directory structure and associated complex logic from the system, eliminating the need for additional storage resources and complex control logic that would increase manufacturing cost. The simplified protocol uses only essential cache line state bits already present in standard cache designs

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent makes existing cache infrastructure multi-functional by using the same cache structure and state bits for both data storage and coherence management. The valid, dirty, and shared bits serve dual purposes of tracking data state and enabling coherence decisions, eliminating the need for separate directory structures and reducing manufacturing complexity

Inventive Principle:
Principle #6Universality (Multi-functionality)

4Reliability

If traditional cache coherence protocols are implemented in many-core systems, then coherence reliability is improved, but device complexity becomes prohibitive for scaling to many cores

Engineering Contradiction:
Improvecoherence reliabilityVSAvoidprotocol complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent segments the coherence management responsibility from a centralized directory to individual cache lines and individual cores. Each cache line independently tracks its own state (valid, dirty, shared), and each core independently manages its cached data, enabling the system to scale to many cores without proportionally increasing protocol complexity

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent reduces the number of coherence states from 30+ in traditional directory protocols to just three stable states (valid, invalid, dirty) with optional transient dirty states. This dramatic parameter reduction makes the protocol manageable and verifiable even in many-core systems where protocol complexity would otherwise be prohibitive

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS9274960B2System and method for simplifying cache coherence using multiple write policies
Publication Date: 2016.03.01 ARRAY CACHE TECHNOLOGIES LLC
  • US9274960B2 patent drawing
  • US9274960B2 patent drawing
  • US9274960B2 patent drawing

AI summary

System and methods for cache coherence in a multi-core processing environment having a local/shared cache hierarchy. The system includes multiple processor cores, a main memory, and a local cache memory associated with each core for storing cache lines accessible only by the associated core. Cache lines are classified as either private or shared. A shared cache memory is coupled to the local cache memories and main memory for storing cache lines. The cores follow a write-back to the local memory for private cache lines, and a write-through to the shared memory for shared cache lines. Shared cache lines in local cache memory enter a transient dirty state when written by the core. Shared cache lines transition from a transient dirty to a valid state with a self-initiated write-through to the shared memory. The write-through to shared memory can include only data that was modified in the transient dirty state.