Multi-Port Agent Circuit Bandwidth Utilization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Modern integrated circuits face challenges in providing sufficient bandwidth to agent circuits due to the limitations of single command-and-data (CD) ports, which restrict the utilization of full communication fabric bandwidth.

Innovation Solution

The implementation of multiple communication ports for agent circuits allows them to issue commands and receive data across the communication fabric in the same clock cycle, utilizing hashing operations to balance command distribution and maximize bandwidth utilization.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If a single command-and-data port is used to couple an agent circuit to the communication fabric, then the device complexity is reduced, but the bandwidth utilization of the communication fabric is insufficient

Engineering Contradiction:
Improveagent circuit port configurationVSAvoidbandwidth utilization
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The agent circuit is divided into multiple independent port interfaces (first port, second port, etc.), each capable of issuing commands to different memory controllers simultaneously. This segmentation allows parallel communication paths through the communication fabric, increasing overall bandwidth utilization while maintaining manageable complexity through modular port design.

Inventive Principle:
Principle #1Segmentation

2Productivity

If multiple communication ports are implemented in the agent circuit, then the bandwidth utilization of the communication fabric is improved, but the device complexity increases

Engineering Contradiction:
Improvebandwidth utilizationVSAvoidagent circuit port configuration
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

Multiple ports in the agent circuit are designed with identical functional capabilities, each able to issue commands and receive responses independently. This universality allows the agent circuit to fully utilize the communication fabric bandwidth through parallel operations, while the standardized port design prevents exponential complexity growth.

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

Solution Approach 2:

The communication fabric acts as an intermediary that manages the interactions between multiple agent circuit ports and multiple memory controllers. This mediator role allows the agent circuit to benefit from increased bandwidth without directly managing the complexity of multiple-to-multiple connections, as the communication fabric handles routing and coordination.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If multiple memory controllers are accessed simultaneously, then the data access throughput is improved, but the coherency protocol complexity increases

Engineering Contradiction:
Improvedata access throughputVSAvoidcoherency protocol management
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

Each memory controller is designed to independently manage its own coherency state and respond to commands from multiple agent circuit ports. This self-service approach allows simultaneous access to multiple memory controllers without requiring a centralized coherency arbitration mechanism, thereby increasing data access throughput while keeping coherency protocol complexity distributed and manageable.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS12277074B1Mechanisms to utilize communication fabric via multi-port architecture
Publication Date: 2025.04.15 APPLE INC
  • US12277074B1 patent drawing
  • US12277074B1 patent drawing
  • US12277074B1 patent drawing

AI summary

Techniques are disclosed pertaining to utilizing a communication fabric via multiple ports. An agent circuit includes a plurality of command-and-data ports that couple the agent circuit to a communication fabric coupled to a plurality of hardware components that includes a plurality of memory controller circuits that facilitate access to a memory. The agent circuit can execute an instruction that involves issuing a command for data stored at the memory. The agent circuit may perform a hash operation on a memory address associated with the command to determine which one of the plurality of memory controller circuits to which to issue the command. The agent circuit issues the command to the determined memory controller circuit on a particular one of the plurality of command-and-data ports that is designated to the memory controller circuit. The agent circuit may issue all commands destined to that memory controller circuit on that port.