Multi-tier Arbiter for SoC Coherence Point Starvation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In systems on chip (SoC), existing mechanisms for arbitrating transactions within a coherence point often lead to starvation and inefficient bandwidth utilization, particularly in managing traffic between multiple agents and a switch fabric.
Innovation Solution
A multi-tiered arbiter system is implemented within the coherence point, comprising individual arbiters for each agent, separate arbiters for long and short packets, and a third tier that alternates between long and short packet selection to optimize bandwidth usage and prevent starvation.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Device complexity
If a single-tier arbiter is used to manage transactions from multiple agents, then the device complexity is reduced, but transaction starvation and inefficient bandwidth utilization occur
Solution Approach 1:
The arbiter is divided into multiple tiers (first tier, second tier, and third tier), where each tier performs specific arbitration functions. The first tier handles credit-based arbitration, the second tier separates long and short packet arbitration, and the third tier provides final selection. This segmentation prevents transaction starvation by ensuring different types of transactions receive appropriate attention at different levels.
Solution Approach 2:
The patent introduces a multi-dimensional arbitration approach by adding temporal and categorical dimensions to the arbitration process. Instead of a single-level decision, the system uses multiple arbitration levels with different selection criteria, transforming the one-dimensional arbitration into a multi-dimensional process that considers packet length, credit availability, and transaction priority simultaneously.
2Device complexity
If transactions are arbitrated without considering packet types, then the arbitration process is simplified, but bandwidth utilization efficiency decreases
Solution Approach 1:
The arbitration process is segmented into distinct phases: first tier arbitration based on credits, second tier separation into long and short packet paths, and third tier final selection. This segmentation allows the system to optimize bandwidth utilization by treating different packet types differently while maintaining a manageable arbitration process through structured organization.
Solution Approach 2:
Different arbitration strategies are applied to different packet types (long packets vs. short packets) at the second tier. The system recognizes that long packets and short packets have different bandwidth implications and applies localized optimization rules to each type, improving overall bandwidth utilization efficiency.
3Device complexity
If all packets are treated equally in arbitration, then the arbitration mechanism is simpler, but transaction starvation occurs
Solution Approach 1:
The arbitration mechanism segments transactions into different categories (long packets, short packets, different credit groups) and applies separate arbitration rules to each category. This prevents starvation by ensuring that transactions in different categories are evaluated according to their specific characteristics rather than being treated uniformly.
Solution Approach 2:
The third tier arbiter uses periodic alternation between selecting long packets and short packets. This periodic action ensures that both packet types receive periodic attention, preventing any single type from being continuously starved while maintaining fairness across all transaction types.
Data Source
AI summary
Systems and methods for arbitrating among traffic from a coherence point to a switch fabric. A multi-level arbiter is used to avoid starvation while providing fairness and high bandwidth on the connection path between the coherence point and the switch fabric. A first level of arbitration selects packets with enough available credits for forwarding from the switch fabric on a downstream channel. The second level of arbitration arbitrates among short packets at a first arbiter and arbitrates among long packets at a second arbiter. The selected short packet and the selected long packet are forwarded to a third level of arbitration. The third level of arbitration alternates between long and short packets and forwards the selected packet to the switch fabric.


