Shared Cache Memory Controller With Virtual Channel Arbitration

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In multi-core systems, memory access latency and throughput are bottlenecked by the coherence interconnect, which handles accesses serially to maintain data consistency, leading to CPU stall overhead and reduced shared memory throughput due to varying cache structures and access types among components.

Innovation Solution

A multi-core shared memory controller (MSMC) with integrated address translation and cache prewarming functionality, utilizing a data routing unit (DRU) that translates virtual memory addresses to physical addresses and supports DMA operations directly, reducing latency by preloading data into caches and optimizing memory access through virtual channels and arbitration.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the coherence interconnect handles memory accesses serially to maintain data consistency, then data coherency is guaranteed, but memory access latency increases and throughput decreases

Engineering Contradiction:
Improvedata coherencyVSAvoidmemory throughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the memory access arbitration into multiple virtual channels (VCs), where each VC can independently arbitrate and forward memory requests. This segmentation allows parallel processing of multiple memory accesses across different VCs, maintaining data coherency within each VC while enabling concurrent operations across VCs, thus improving throughput without sacrificing reliability

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements dynamic arbitration mechanisms where the interconnect can adaptively allocate bandwidth and prioritize requests based on current system conditions, cache states, and coherency requirements. This dynamic approach allows the system to optimize for either coherency or throughput depending on the operational context, resolving the static contradiction between these two requirements

Inventive Principle:
Principle #15Dynamics

2Reliability

If the coherence interconnect handles memory accesses serially to guarantee atomicity, then data consistency is maintained, but CPU stall overhead increases

Engineering Contradiction:
Improvedata consistencyVSAvoidCPU stall overhead
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent implements cache prewarming functionality that proactively loads data into caches before it is actually needed by the CPU. By performing this action in advance, the system reduces the likelihood of cache misses that would cause CPU stalls, thereby reducing time loss without compromising data consistency through the pre-established coherency protocols

Inventive Principle:
Principle #10Preliminary action

3Adaptability or versatility

If different components have different cache structures and access types, then system heterogeneity is supported, but the interconnect becomes a bottleneck

Engineering Contradiction:
Improveheterogeneous component supportVSAvoidinterconnect complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent designs the interconnect with universal virtual channel infrastructure that can handle multiple access types (read, write, allocate, invalidate) and support heterogeneous components (CPUs, GPUs, DSPs, NPU) through a unified arbitration framework. This multi-functional design allows the same interconnect structure to serve diverse components with different cache configurations without requiring component-specific arbitration logic, managing complexity while maintaining versatility

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

4Loss of time

If cache components issue cache allocate accesses with critical line first request, then CPU stall overhead is reduced, but shared memory throughput decreases when multiple CPUs compete

Engineering Contradiction:
ImproveCPU stall overheadVSAvoidshared memory throughput
Core Design Contradiction:
Loss of timeVSProductivity

Solution Approach 1:

The patent applies local quality by allowing each virtual channel to independently prioritize and handle critical line requests from its associated CPUs, while the overall system maintains balanced throughput through distributed arbitration. This localized prioritization within VCs reduces individual CPU stall overhead without creating system-wide bottlenecks, as other VCs can simultaneously service other CPUs' memory requests

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS12360843B2Multicore shared cache operation engine
Publication Date: 2025.07.15 TEXAS INSTRUMENTS INC
  • US12360843B2 patent drawing
  • US12360843B2 patent drawing
  • US12360843B2 patent drawing

AI summary

Techniques for accessing memory by a memory controller, comprising receiving, by the memory controller, a memory management command to perform a memory management operation at a virtual memory address, translating the virtual memory address to a physical memory address, wherein the physical memory address comprises an address within a cache memory, and outputting an instruction to the cache memory based on the memory management command and the physical memory address.