Multicore Shared Memory Controller Arbitration for Atomic Accesses

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 different components with varying cache structures and memory access types, leading to increased CPU stall overhead and reduced memory throughput.

Innovation Solution

The Multicore Shared Memory Controller (MSMC) unifies transaction sizes before arbitration, assigns two consecutive slots per cache line access to ensure atomicity, and eliminates bank synchronization by using back-to-back slots, allowing parallel access to multiple SRAM banks and optimizing memory access order for maximum bandwidth.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

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

Engineering Contradiction:
Improvedata coherenceVSAvoidmemory throughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the memory access arbitration process by introducing separate arbitration mechanisms for different access types. Read requests and write requests are arbitrated independently through separate counters and slot assignment mechanisms, allowing parallel processing of different access types while maintaining atomicity through structured slot allocation.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements dynamic slot assignment where the arbiter assigns time slots dynamically based on access priority and type. Critical reads receive higher priority and are assigned slots accordingly, while non-critical accesses wait for available slots. This dynamic arbitration allows the system to adapt to varying workload conditions and maximize throughput while maintaining coherence.

Inventive Principle:
Principle #15Dynamics

2Loss of time

If cache components issue cache allocate accesses with critical line first request, then CPU stall overhead is reduced for that CPU, but other CPU's stall overhead may be extended and shared memory throughput reduced

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

Solution Approach 1:

The patent applies local quality by assigning different arbitration characteristics to different access types. Critical read requests receive prioritized treatment with dedicated slot assignment, while non-critical writes and reads follow standard arbitration. This localized optimization ensures that critical paths are minimized for individual CPUs without severely impacting overall system throughput.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent implements preliminary action through the look-ahead mechanism where the arbiter predicts future access patterns and pre-assigns slots accordingly. By anticipating critical reads and reserving slots in advance, the system reduces CPU stall overhead before it occurs, while managing overall throughput through coordinated slot allocation across all CPUs.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If the interconnect serially processes diverse memory access requests from components with varying cache structures, then data consistency is guaranteed, but access latency increases for all cores

Engineering Contradiction:
Improvedata consistencyVSAvoidmemory access latency
Core Design Contradiction:
ReliabilityVSSpeed

Solution Approach 1:

The patent segments the arbitration process into separate counters for different access types (read, write, critical read). Each counter manages its own queue and slot assignment, allowing parallel processing of different access types. This segmentation enables the system to handle diverse access requests from components with varying cache structures without serializing all operations, thereby reducing latency while maintaining consistency.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent changes the arbitration parameters dynamically based on access type and priority. Critical reads are assigned higher priority weights and receive slot allocation accordingly, while non-critical accesses use standard timing. This parameter adjustment allows the system to optimize latency for critical paths without compromising the consistency guarantees required for all memory accesses.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS9424193B2Flexible arbitration scheme for multi endpoint atomic accesses in multicore systems
Publication Date: 2016.08.23 TEXAS INSTRUMENTS INC
  • US9424193B2 patent drawing
  • US9424193B2 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. Two consecutive slots are assigned per cache line access to automatically guarantee the atomicity of all transactions within a single cache line. The need for synchronization among all the banks of a particular SRAM is eliminated, as synchronization is accomplished by assigning back to back slots.