Resource Access Management in SoC Interconnects
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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.
3Reliability
If a source waits for a busy destination, then resource allocation accuracy is maintained, but transaction latency increases and performance bottlenecks form
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.
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.
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
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.
Data Source
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.


