Arbitration System Dynamic Priority Adjustment
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing arbitration systems face performance degradation due to stalled operations when the highest priority flow awaits metadata, leading to starved access for other flows, increased latency, and reduced scalability due to the need for multiple priority tables for each channel, occupying significant area and hindering system scalability.
Innovation Solution
An arbitration system with a processing circuit, selection circuit, and flow controller that dynamically updates priority levels and manages flow data storage, allowing lower priority flows to access the shared resource when the highest priority flow is stalled and optimizing storage by using a single priority table for multiple channels.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Area of stationary object
If a single priority table is used for multiple channels, then the area occupied by the arbitration system is reduced and scalability is improved, but the complexity of managing flows across multiple channels increases
Solution Approach 1:
The patent applies universality by designing a single priority table that serves multiple channels simultaneously. The arbitration system stores flow data for different channels in the same priority table structure, allowing one storage circuit to manage flows from multiple channels. This multi-functional approach reduces the overall area occupied by the arbitration system while maintaining the ability to arbitrate between flows from different channels.
2Reliability
If the highest priority flow is granted access to the shared resource, then the priority-based arbitration function is maintained, but the remaining flows are starved of access when the highest priority flow awaits metadata
Solution Approach 1:
The patent applies dynamics by implementing dynamic priority level adjustments. When the highest priority flow is stalled awaiting metadata, the arbitration system dynamically changes the priority levels of other flows in the priority table. Specifically, the system identifies stalled flows and adjusts the priority levels of remaining flows to allow them to access the shared resource. This dynamic adjustment maintains priority-based arbitration for active flows while preventing starvation of remaining flows, thereby improving overall access utilization.
3Ease of operation
If multiple priority tables are used for each channel, then the arbitration for each channel is simplified, but the area occupied and scalability are degraded
Solution Approach 1:
The patent applies universality by designing a single priority table that serves multiple channels simultaneously. The arbitration system stores flow data for different channels in the same priority table structure, allowing one storage circuit to manage flows from multiple channels. This multi-functional approach reduces the overall area occupied by the arbitration system while maintaining the ability to arbitrate between flows from different channels.
Solution Approach 2:
The patent applies segmentation by organizing flow data within the single priority table according to channel identifiers. Each flow entry in the priority table includes channel information, allowing the arbitration system to segment and manage flows from different channels within a unified structure. This segmentation approach maintains simplified arbitration for each channel while achieving space efficiency and improved scalability.
4Stability of the object's composition
If flows remain in the priority table for the entirety of the operation, then the priority table structure is maintained, but latencies are introduced in associated operations
Solution Approach 1:
The patent applies discarding and recovering by implementing a mechanism to remove completed flows from the priority table. When a flow completes its data transfer operation, the arbitration system identifies and removes the flow entry from the priority table. This cleanup process prevents completed flows from occupying table space and causing unnecessary latency for active flows. The system recovers the table space by reusing entries that were previously occupied by completed flows, thereby maintaining an efficient priority table structure and reducing operational latency.
Data Source
AI summary
An arbitration between a plurality of flows for access to a shared resource is disclosed. The plurality of flows may be associated with a single channel or multiple channels. When the plurality of flows are associated with a single channel, one flow is selected from the plurality of flows for accessing the shared resource based on flow priority levels associated with flows that are currently arbitrating for the access. Flow data associated with the selected flow is then outputted for granting the access. When the plurality of flows are associated with multiple channels, a flow associated with each channel is selected based on the flow priority levels. Further, a channel is selected based on channel priority levels of channels that are currently arbitrating for the access. Based on the selected channel, flow data associated with one of the selected flows is outputted for granting the access to the shared resource.

