Shared Cache Controller with Virtual Channels for Low-Stall Throughput

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In multi-core coherent systems, memory access latency and throughput are bottlenecked by the interconnect handling diverse cache structures and memory access types, leading to increased CPU stall overhead and reduced shared memory bandwidth.

Innovation Solution

A multi-core shared memory controller (MSMC) with integrated address translation and cache prewarming functionality, utilizing virtual memory addresses for DMA operations and virtual channels to arbitrate memory access requests, reducing latency and enhancing throughput.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a coherence interconnect is added to arbitrate among multiple masters' requests and guarantee data consistency, then data coherency is maintained, but the interconnect becomes the access bottleneck reducing memory throughput

Engineering Contradiction:
Improvedata coherencyVSAvoidmemory throughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The memory controller is segmented into multiple independent channels, each capable of handling memory requests autonomously. This segmentation allows parallel processing of multiple memory access requests without requiring a single centralized interconnect to arbitrate every request, thereby maintaining data coherency while increasing overall memory throughput.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces virtual channels as an additional dimension for memory access management. By adding this logical layer, the system can multiplex multiple memory requests across physical channels more efficiently, reducing the arbitration burden on the coherence interconnect while maintaining data consistency through virtual channel management.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Reliability

If the interconnect handles diverse memory access types and sizes serially to guarantee atomicity, then data consistency is ensured, but CPU stall overhead increases

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

Solution Approach 1:

The memory controller performs preliminary actions by pre-fetching and caching memory data before CPU requests are fully processed. This allows the system to prepare data in advance, reducing the time CPUs spend waiting for memory operations while maintaining data consistency through the caching mechanism.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements continuous memory access operations through multiple parallel channels that can simultaneously service different CPU cores. This continuity eliminates idle time in the memory subsystem, reducing CPU stall overhead while maintaining atomicity through coordinated channel management.

Inventive Principle:
Principle #20Continuity of useful action

3Loss of time

If cache components issue cache allocate accesses with critical line first requests to reduce CPU cache miss stall overhead, then CPU stall overhead is reduced, but other CPU's stall overhead extends and shared memory throughput reduces

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

Solution Approach 1:

The memory controller is divided into multiple independent channels that can simultaneously handle critical line requests from different CPU cores. This segmentation allows the system to service multiple CPUs in parallel rather than sequentially, reducing stall overhead for all CPUs while maintaining high shared memory throughput through concurrent access.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS20250328415A1Multicore shared cache operation engine
Publication Date: 2025.10.23 TEXAS INSTRUMENTS INC
  • US20250328415A1 patent drawing
  • US20250328415A1 patent drawing
  • US20250328415A1 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.