Selective Coherence State Update in Cache Memory

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In multiprocessor systems, the existing cache coherence protocols face performance issues due to unnecessary communication between caches during store operations, leading to increased latency and power consumption when updating coherence states, particularly when a cache transitions from the M state to the T state and back.

Innovation Solution

The introduction of additional coherence states, such as Mu, allows caches to retain write authority and avoid unnecessary transitions, enabling caches to update coherence states selectively based on store instructions with specific policies, such as the CS field in store requests or MSR settings, to manage coherence states more efficiently.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If cache coherence protocols update coherence states for every store operation, then cache coherency is maintained, but communication overhead and latency increase

Engineering Contradiction:
Improvecache coherencyVSAvoidlatency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent introduces a new coherence state parameter (Mu state) that modifies the traditional MESI protocol. When a cache line is in the Mu state, it indicates that the cache has write authority and other caches have invalid copies, allowing store operations to proceed without full coherence protocol transitions. This parameter change enables selective updating of coherence states based on the specific store operation characteristics.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent applies partial action by selectively updating coherence states only when necessary. Instead of updating coherence states for every store operation, the system determines whether a coherence state update is needed based on the current state and the store operation type. This partial updating approach reduces unnecessary communication overhead while maintaining required coherency.

Inventive Principle:
Principle #16Partial or excessive action

2Reliability

If cache coherence protocols transition between M and T states for every store, then coherence is maintained, but power consumption increases

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

Solution Approach 1:

The introduction of the Mu coherence state creates a new parameter in the state machine that allows caches to remain in a modified state without transitioning to T state for certain store operations. This parameter change reduces the frequency of state transitions, thereby reducing power consumption associated with coherence protocol operations while maintaining coherency requirements.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent reduces power consumption by performing only the necessary coherence actions. When a store operation occurs on a cache line in Mu state, the system determines that full coherence protocol transitions are not needed, thus avoiding unnecessary power-consuming operations while still maintaining required coherency for the specific operation.

Inventive Principle:
Principle #16Partial or excessive action

3Reliability

If caches communicate with each other for every store operation, then coherence is ensured, but system performance decreases

Engineering Contradiction:
Improvecache coherencyVSAvoidsystem performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The Mu coherence state parameter enables caches to independently handle certain store operations without initiating inter-cache communications. When a cache line is in Mu state and a store operation occurs, the cache can update its local copy without notifying other caches, thus improving system performance by reducing communication overhead while maintaining coherency through the state parameter tracking.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent implements partial communication by selectively determining when inter-cache communication is necessary. Instead of communicating for every store operation, the system evaluates the current coherence state and the store operation characteristics to determine whether communication is required. This partial communication approach maintains coherency where needed while improving overall system performance by eliminating unnecessary communications.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS20200201764A1Selectively updating a coherence state in response to a storage update
Publication Date: 2020.06.25 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US20200201764A1 patent drawing
  • US20200201764A1 patent drawing
  • US20200201764A1 patent drawing

AI summary

A data processing system includes a processor core and a cache memory storing a cache line associated with a coherence state field set to a first of multiple modified coherence states. The processor core executes a store instruction including a field having a setting that indicates a coherence state update policy and, based on the store instruction, generates a corresponding store request including the setting, store data, and a target address. Responsive to the store request, the cache memory updates data of the cache line utilizing the store data. The cache memory refrains from updating the coherence state field based on the setting indicating a first coherence state update policy and updates the coherence state field from the first modified coherence state to a second modified coherence state based on the setting indicating a second coherence state update policy.