Virtual Channel Write Table for Memory Bandwidth

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In computer systems, particularly in systems-on-chip (SoCs), memory transaction bottlenecks occur due to the need for successive read or write transactions to wait until prior transactions complete, limiting bandwidth and efficiency in memory access.

Innovation Solution

The implementation of a communication fabric that routes transactions between source circuits and system memory, using a processing circuit to manage write transactions by allocating entries in a write table and maintaining pending requests in a buffer, allowing for concurrent processing and tracking of transactions without waiting for prior completions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If successive read or write transactions wait for prior transactions to complete, then transaction ordering is maintained, but bandwidth and memory access efficiency are limited

Engineering Contradiction:
Improvememory bandwidthVSAvoidtransaction wait time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent segments the single transaction queue into multiple virtual channels (VC0, VC1, VC2, VC3), allowing independent transactions from different sources to be processed concurrently. Each virtual channel maintains its own queue, enabling out-of-order processing while preserving in-order delivery within each channel, thereby increasing memory bandwidth and reducing wait times.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a new dimension of parallelism by adding virtual channel identifiers to transactions. Instead of a single-dimensional sequential processing queue, the system now processes transactions across multiple virtual channel dimensions simultaneously, allowing overlapping execution of independent memory operations without compromising ordering guarantees.

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

2Reliability

If a large pending request buffer is used to track all write transactions, then transaction tracking is comprehensive, but resource consumption and power usage increase

Engineering Contradiction:
Improvetransaction tracking accuracyVSAvoidpower consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The patent segments the monolithic pending request buffer into multiple smaller per-VC pending request buffers. Each virtual channel has its own dedicated buffer, allowing the system to track transactions reliably within each channel while using significantly less total memory capacity. This segmentation reduces the overall power consumption associated with maintaining large buffer structures.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies local quality by allocating buffer resources specifically to virtual channels that have pending write transactions. Instead of maintaining a uniformly large buffer for all possible transactions, the system dynamically allocates tracking resources to where they are actually needed, reducing unnecessary power consumption from idle buffer capacity while maintaining reliable tracking for active transactions.

Inventive Principle:
Principle #3Local quality

3Productivity

If multiple virtual channels share a single physical interface, then bandwidth is improved, but channel management complexity increases

Engineering Contradiction:
Improvechannel bandwidthVSAvoidchannel management structure
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent applies preliminary action by assigning each transaction to a specific virtual channel queue at the time of transaction generation, before the transaction reaches the physical interface. This upfront assignment simplifies subsequent processing at the physical interface, as transactions are already organized by virtual channel and can be dispatched efficiently without complex real-time arbitration or routing decisions.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11893413B2Virtual channel support using write table
Publication Date: 2024.02.06 APPLE INC
  • US11893413B2 patent drawing
  • US11893413B2 patent drawing
  • US11893413B2 patent drawing

AI summary

An embodiment of an apparatus includes a processing circuit and a system memory. The processing circuit may store a pending request in a buffer, the pending request corresponding to a transaction that includes a write request to the system memory. The processing circuit may also allocate an entry in a write table corresponding the transaction. After sending the transaction to the system memory to be processed, the pending request in the buffer may be removed in response to the allocation of the write entry.