Distributed Cache Slices for Multi-Core Memory Coherency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In multi-core processors, providing each core with a cache system leads to inefficient bandwidth usage due to duplication of data access from external memory, and lack of coherent memory view between cores, resulting in processing errors and performance reduction.

Innovation Solution

Implementing a distributed cache system with multiple cache slices, each connected to a core and interconnected via crossbars, allowing memory access requests to be forwarded to the appropriate cache slice, thereby reducing data duplication and improving memory coherency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If each core is provided with a cache system, then the processing performance of each core is improved, but the bandwidth efficiency deteriorates due to data duplication

Engineering Contradiction:
Improveprocessing performanceVSAvoidbandwidth efficiency
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The patent merges the cache systems of multiple cores into a single shared cache structure. Instead of each core having its own independent cache, all cores access a common cache memory through shared interconnects, eliminating data duplication across cores while maintaining fast access speeds for all processors.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The shared cache system serves multiple functions simultaneously: it acts as cache memory for all cores, provides a unified memory view across the processor, and enables coherent data access. This multi-functional design eliminates the need for separate cache systems while maintaining performance benefits.

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

2Productivity

If each core is provided with a cache system, then the processing performance of each core is improved, but the memory coherency deteriorates due to lack of coherent view between cores

Engineering Contradiction:
Improveprocessing performanceVSAvoidmemory coherency
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

By merging individual core caches into a single shared cache structure, the patent establishes a unified memory view that all cores can access coherently. This eliminates the coherence problems that arise when each core maintains its own independent cache, as all cores now see the same data in the shared cache.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The shared cache acts as an intermediary between all cores and the external memory. It mediates data access for all cores, ensuring that data is fetched once and made available to all cores, thereby maintaining memory coherence while improving access performance.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Speed

If a cache is included within the PU, then the data access speed is improved, but the chip space and manufacturing cost increase

Engineering Contradiction:
Improvedata access speedVSAvoidchip space
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The patent combines the cache functionality with existing structures in the processor architecture, sharing resources such as interconnects and control logic. This merging approach provides fast data access through caching while minimizing the additional chip space required compared to implementing separate independent caches for each core.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS20250291727A1Distributed System Level Cache
Publication Date: 2025.09.18 IMAGINATION TECH LTD
  • US20250291727A1 patent drawing
  • US20250291727A1 patent drawing
  • US20250291727A1 patent drawing

AI summary

A processor has first and second cores and a distributed cache that caches a copy of data stored at a plurality of memory addresses of a memory. A first cache slice is connected to the first core, and a second cache slice is connected to the second core. The first cache caches a copy of data stored at a first set of memory addresses, and the second cache slice caches a copy of data stored at a second, different, set of memory addresses.