Resource Access Management in SoC Interconnects

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In complex Systems on Chips (SoCs), managing intermediate storage and outstanding transactions between multiple sources and destinations becomes increasingly complex, leading to performance bottlenecks due to back pressure when destinations are busy, necessitating efficient resource allocation mechanisms.

Innovation Solution

A computing system with a resource manager that includes intermediate buffers, tables, and arbitration logic to select and process requests, utilizing a hit under miss scheme by verifying target addresses and allocating resources effectively, including a retry handling queue to manage unavailable destinations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If multiple sources target a single destination through an interconnect with intermediate storage, then data sharing and communication are enabled, but performance bottlenecks occur when the destination is busy and back pressure builds up

Engineering Contradiction:
Improvedata sharing capabilityVSAvoidtransaction throughput
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent segments the intermediate storage into multiple queues, with each queue dedicated to a specific source-destination pair. This segmentation allows independent management of transactions from different sources, preventing one busy destination from blocking all other transactions. When a destination is busy, only the specific queue for that destination experiences back pressure, while other queues continue processing normally.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements dynamic resource allocation where the resource manager can allocate destination resources to different sources based on current system state and priority. The arbitration logic dynamically selects which source gets access to a destination when resources are available, allowing the system to adapt to changing conditions and prevent permanent blocking.

Inventive Principle:
Principle #15Dynamics

2Quantity of substance

If intermediate storage capacity is increased to handle more outstanding transactions, then more sources can access destinations simultaneously, but device complexity and resource management overhead increase

Engineering Contradiction:
Improveintermediate storage capacityVSAvoidresource management complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

Instead of managing one large intermediate storage as a single resource, the patent segments it into multiple smaller queues organized by source-destination pairs. This segmentation simplifies management because each queue can be independently controlled and monitored, reducing the overall management complexity despite increased total capacity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent allocates a dedicated portion of intermediate storage to each source-destination pair in the form of queues. This partial allocation ensures that each source has guaranteed buffer space without requiring the entire intermediate storage to be available, reducing management overhead while still providing sufficient capacity for concurrent transactions.

Inventive Principle:
Principle #16Partial or excessive action

3Reliability

If a source waits for a busy destination, then resource allocation accuracy is maintained, but transaction latency increases and performance bottlenecks form

Engineering Contradiction:
Improveresource allocation accuracyVSAvoidtransaction latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent performs preliminary actions by allocating queue entries to sources before actual destination access is needed. The resource manager pre-allocates buffer space in the intermediate storage queues, so when transactions are ready to be sent, they can be immediately queued without waiting for destination availability. This preliminary allocation maintains accurate resource tracking while reducing latency.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces queues as intermediary structures between sources and destinations. These queues act as buffers that decouple the source from the destination, allowing sources to deposit transactions without immediately waiting for destination availability. The queues mediate the interaction, maintaining resource allocation accuracy while absorbing the time delay until the destination is ready.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Ease of operation

If arbitration logic selects requests from multiple sources, then fair resource distribution is achieved, but the selection process adds complexity to the resource manager

Engineering Contradiction:
Improveresource distribution fairnessVSAvoidarbitration logic complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The patent segments the arbitration process by maintaining separate queues for each source-destination pair. The arbitration logic only needs to select among available queues rather than managing complex interactions between multiple sources competing for the same destination. This segmentation simplifies the arbitration decision-making process while still achieving fair resource distribution across all sources.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS11275616B2Resource access management
Publication Date: 2022.03.15 APPLE INC
  • US11275616B2 patent drawing
  • US11275616B2 patent drawing
  • US11275616B2 patent drawing

AI summary

A system and method for efficiently allocating resources of destinations to sources conveying requests to the destinations. In various embodiments, a computing system includes multiple sources that generate requests and multiple destinations that service the requests. One or more transaction tables store requests received from the multiple sources. Arbitration logic selects requests and stores them in a processing table. When the logic selects a given request from the processing table, and determines resources for the corresponding destination is unavailable, the logic removes the given request from the processing table and allocates the request in a retry handling queue. When the retry handling queue has no data storage for the request, logic updates a transaction table entry and maintains a count of such occurrences. When the count exceeds a threshold, the logic stalls requests for that source. Requests in the retry handling queue have priority over requests in the transaction tables.