Multicore Shared Memory Controller Arbitration

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In multicore coherent systems, the interconnect becomes a bottleneck due to serial handling of diverse memory access requests from components with different cache structures and access characteristics, leading to increased CPU stall overhead and reduced memory throughput.

Innovation Solution

The Multicore Shared Memory Controller (MSMC) unifies all transaction types before arbitration, prioritizes critical cache line access, and uses a return buffer to adjust data return order without performance loss, ensuring optimal bank access and bandwidth management.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the interconnect handles memory access requests in a serial fashion to guarantee atomicity, then data consistency is maintained, but memory throughput is reduced and CPU stall overhead increases

Engineering Contradiction:
Improvedata consistencyVSAvoidmemory throughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments memory access requests into different types (read, write, allocate, invalidate) and routes them through different arbitration paths. Read requests can be handled in parallel without affecting write atomicity, while write requests maintain serial handling for consistency. This segmentation allows concurrent processing of compatible request types, improving throughput while preserving data consistency for critical operations.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The arbitration mechanism dynamically adjusts the handling of different request types based on system state. Critical write requests that require atomicity are serialized, while non-critical read requests and compatible operations are allowed to proceed in parallel. The system dynamically prioritizes requests based on their consistency requirements, enabling flexible throughput optimization without compromising reliability.

Inventive Principle:
Principle #15Dynamics

2Adaptability or versatility

If the interconnect handles diverse memory access requests from components with different cache structures, then system compatibility is improved, but arbitration complexity increases

Engineering Contradiction:
Improvesystem compatibilityVSAvoidarbitration complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent implements a universal arbitration framework that handles multiple request types (read, write, allocate, invalidate) from various components with different cache structures through a unified interface. The arbitration logic is designed to be request-type-agnostic at the entry point, accepting diverse requests and routing them through appropriate handling paths, thereby supporting heterogeneous components without proportionally increasing arbitration complexity.

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

Solution Approach 2:

The patent introduces request classification and routing mechanisms as intermediary layers between the diverse components and the core arbitration logic. These intermediaries standardize incoming requests into a common format, extract relevant attributes, and route them to specialized handling paths. This mediation approach allows the system to support heterogeneous components with different cache structures while keeping the core arbitration logic relatively simple and modular.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Speed

If critical line first requests are prioritized to reduce CPU cache miss stall overhead, then CPU performance is improved, but shared memory throughput is reduced due to extended stall overhead for other CPUs

Engineering Contradiction:
ImproveCPU access speedVSAvoidshared memory throughput
Core Design Contradiction:
SpeedVSProductivity

Solution Approach 1:

The patent applies local quality by providing differentiated service to different request types and different CPU contexts. Critical line first requests from individual CPUs receive prioritized handling to minimize their stall overhead, while other requests maintain normal processing. This localized optimization ensures that each CPU's critical needs are met without uniformly degrading overall shared memory throughput, as only specific high-priority requests receive expedited service.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent dynamically changes arbitration parameters such as priority levels and service queues based on request type and system state. When a critical line first request is detected, the system adjusts arbitration parameters to favor that request temporarily, reducing its stall overhead. After service, parameters return to normal, allowing overall throughput to be maintained. This dynamic parameter adjustment enables selective performance optimization without sustained throughput degradation.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS9372796B2Optimum cache access scheme for multi endpoint atomic access in a multicore system
Publication Date: 2016.06.21 TEXAS INSTRUMENTS INC
  • US9372796B2 patent drawing
  • US9372796B2 patent drawing

AI summary

The MSMC (Multicore Shared Memory Controller) described is a module designed to manage traffic between multiple processor cores, other mastering peripherals or DMA, and the EMIF (External Memory InterFace) in a multicore SoC. The invention unifies all transaction sizes belonging to a slave previous to arbitrating the transactions in order to reduce the complexity of the arbitration process and to provide optimum bandwidth management among all masters. The two consecutive slots assigned per cache line access are always in the same direction for maximum access rate.