Shared Cache Line Coherency Using CCB Memory Queues

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Cache management in modern integrated circuits faces challenges in maintaining data coherency between shared cache lines and common memory, leading to issues such as cache misses and incoherent data states due to unmonitored changes in cache and common memory contents.

Innovation Solution

Implementing a compute coherency block (CCB) with memory queues (evict and miss queues) to manage cache line transfers, using snoop operations to monitor and synchronize data across multiple processor cores and common memory, ensuring coherency through Network-on-Chip (NoC) technology.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If cache lines are shared between multiple processor cores to improve data access efficiency, then processing speed is improved, but maintaining data coherency becomes more complex and error-prone

Engineering Contradiction:
Improveprocessing speedVSAvoidcoherency management complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

A compute coherency block (CCB) is introduced as an intermediary component between processor cores and the cache/memory system. The CCB includes memory queues that track cache line states and generate snoop requests to monitor and maintain data coherency across multiple cores, thereby automating the complex coherency management process while enabling shared cache access.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If cache memory size is increased to reduce cache misses, then data access reliability is improved, but the complexity of managing cache line transfers and coherency increases

Engineering Contradiction:
Improvedata access reliabilityVSAvoidcache management complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The cache management system is segmented into distinct functional components: memory queues for tracking cache line states, snoop request generators for monitoring accesses, and transfer control logic for managing data movement. This segmentation allows the system to handle larger cache sizes and more complex coherency scenarios by dividing the management task into manageable, specialized units.

Inventive Principle:
Principle #1Segmentation

3Reliability

If snoop operations are implemented to monitor cache changes, then data coherency is improved, but processing overhead and time consumption increase

Engineering Contradiction:
Improvedata coherencyVSAvoidsnoop operation overhead
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The memory queues in the CCB perform preliminary tracking of cache line states and anticipated access patterns before actual cache operations occur. By pre-establishing coherency protocols and tracking mechanisms, the system reduces the overhead of snoop operations during actual data access, as much of the coherency management is already in place.

Inventive Principle:
Principle #10Preliminary action

4Measurement precision

If multiple memory queues are used to control cache line transfers, then cache management precision is improved, but device complexity increases

Engineering Contradiction:
Improvecache line transfer control precisionVSAvoidmemory queue structure complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The memory queues in the CCB are designed to perform multiple functions: tracking cache line states, generating snoop requests, managing transfer priorities, and coordinating coherency protocols. This multi-functionality allows precise control of cache line transfers without proportionally increasing structural complexity, as a single queue system handles diverse management tasks.

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

Data Source

PatentUS12596647B2Cache management using shared cache line storage
Publication Date: 2026.04.07 AKEANA INC
  • US12596647B2 patent drawing
  • US12596647B2 patent drawing
  • US12596647B2 patent drawing

AI summary

Techniques for cache management based on cache management using memory queues are disclosed. A plurality of processor cores is accessed. The plurality of processor cores comprises a coherency domain. Two or more processor cores within the plurality of processor cores generate read operations for a common memory structure coupled to the plurality of processor cores. Coherency for the coherency domain is managed using a compute coherency block (CCB). The CCB includes a memory queue for controlling transfer of cache lines determined by the CCB. The memory queue includes an evict queue and a miss queue. Snoop requests are generated by the CCB. The snoop requests correspond to entries in the memory queue. Cache lines are transferred between the CCB and a bus interface unit. The transferring is controlled by the memory queue. The bus interface unit controls memory accesses.