Arbitration System Dynamic Priority Adjustment

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvearea occupied by arbitration systemVSAvoidcomplexity of managing flows
Core Design Contradiction:
Area of stationary objectVSDevice complexity

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.

Inventive Principle:
Principle #6Universality (Multi-functionality)

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

Engineering Contradiction:
Improvepriority-based arbitration functionVSAvoidaccess utilization of shared resource
Core Design Contradiction:
ReliabilityVSProductivity

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.

Inventive Principle:
Principle #15Dynamics

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

Engineering Contradiction:
Improvearbitration for each channelVSAvoidscalability of arbitration system
Core Design Contradiction:
Ease of operationVSAdaptability or versatility

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.

Inventive Principle:
Principle #6Universality (Multi-functionality)

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.

Inventive Principle:
Principle #1Segmentation

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

Engineering Contradiction:
Improvepriority table structureVSAvoidlatency in operations
Core Design Contradiction:
Stability of the object's compositionVSLoss of time

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.

Inventive Principle:
Principle #34Discarding and recovering

Data Source

PatentUS11429437B2System for arbitrating between multiple flows
Publication Date: 2022.08.30 NXP USA INC
  • US11429437B2 patent drawing
  • US11429437B2 patent drawing

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.