Word-Level Cache Coherence to Reduce False Sharing Latency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing cache coherence schemes in computing systems incur inefficiencies and latency due to false sharing and ping-pong cache line ownership when multiple cores attempt to write different words within a cache line, as they require full ownership transfer and invalidation of read-only copies.

Innovation Solution

Implementing a cache management system that tracks writability and readability at a word granularity using a modified MESI cache coherence scheme with a 'P' state, allowing multiple cores to access individual words with different permission states, and using a lower-level cache to manage permissions and maintain lists of writers and readers.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If full cache line ownership transfer is used to ensure cache coherence, then data consistency is maintained, but false sharing and ping-pong ownership transfers occur causing increased latency and reduced performance

Engineering Contradiction:
Improvedata consistencyVSAvoidcache ownership transfer latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent segments the cache line into individual word-granularity units, allowing different permission states (readable, writable, invalid) to be tracked for each word independently. This segmentation enables partial ownership transfer where only specific words are invalidated or updated, rather than requiring full cache line ownership transfer, thereby reducing false sharing and ping-pong effects while maintaining data consistency.

Inventive Principle:
Principle #1Segmentation

2Productivity

If traditional MESI cache coherence scheme is used, then implementation is simple, but it cannot efficiently handle multiple cores writing to different words within the same cache line

Engineering Contradiction:
Improvemulti-core write efficiencyVSAvoidcache state tracking complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent applies local quality by assigning different permission states (readable, writable, invalid) to different words within the same cache line based on local access patterns. Each word can have its own state independently, allowing core A to have writable access to word0 while core B has writable access to word1, thereby enabling efficient multi-core writes without requiring complex global ownership transfer protocols.

Inventive Principle:
Principle #3Local quality

3Reliability

If read-only copies are invalidated on any write operation, then cache coherence is maintained, but unnecessary ownership transfers occur reducing performance

Engineering Contradiction:
Improvecache coherenceVSAvoidcache access performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent implements partial action by invalidating or updating only the specific word that is being written, rather than invalidating the entire cache line or all read-only copies. When core A writes to word0, only the metadata for word0 is updated and other words retain their permission states, allowing read-only copies to be preserved where applicable and reducing unnecessary ownership transfers and performance degradation.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentEP4654027A1System and method for cache management
Publication Date: 2025.11.26 SAMSUNG ELECTRONICS CO LTD
  • EP4654027A1 patent drawingFigure 1A
  • EP4654027A1 patent drawingFigure 1B
  • EP4654027A1 patent drawingFigure 1C

AI summary

A system and method for cache management. In some embodiments, a system includes: a lower-level cache; a first upper-level cache; and a second upper-level cache, the lower-level cache, the first upper-level cache, and the second upper-level cache being configured: to store first metadata of a cache line, in the first upper-level cache, the first metadata indicating that the cache line is in a partial state, the partial state indicating that at least two words in the cache line are in different permission states.