Dynamic Bus Arbitration for Multi-Peripheral QoS Prioritization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In systems where multiple microcontroller peripherals compete for access to a system bus, existing methods fail to efficiently manage bandwidth and quality-of-service (QoS) to prioritize critical transactions, leading to potential denial of access to high-priority channels and increased risk of system failure.

Innovation Solution

A method where peripherals send advance information over separate communication links to a controller, allowing it to determine transaction ranks and QoS, and dynamically adjust the arbitration strategy to prioritize and optimize system bus access, ensuring that critical transactions are initiated promptly.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If a round robin strategy is implemented to provide equal bandwidth to each bus channel, then fairness and access guarantee are improved, but high-priority transactions may be delayed and system reliability deteriorates

Engineering Contradiction:
Improvefairness of bus accessVSAvoidsystem reliability
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The arbitration strategy dynamically adjusts bus channel priorities based on real-time peripheral states and transaction characteristics. The controller modifies the round robin sequence adaptively, granting earlier access to channels with high-priority transactions while maintaining fairness for standard transactions, thus resolving the contradiction between fairness and reliability

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes the arbitration parameter (access timing) based on transaction priority levels. High-priority transactions are assigned earlier time slots in the arbitration sequence, while standard transactions follow the equitable round robin pattern, allowing the system to switch between fairness-oriented and reliability-oriented operation modes

Inventive Principle:
Principle #35Parameter changes

2Ease of operation

If the system bus bandwidth is granted to low-priority channels in round robin fashion, then fairness is maintained, but critical data transfer is delayed and productivity decreases

Engineering Contradiction:
Improveequitable bandwidth distributionVSAvoiddata transfer efficiency
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The controller performs preliminary assessment of transaction priorities before executing the arbitration sequence. By evaluating peripheral states and transaction characteristics in advance, the controller can pre-position high-priority transactions for earlier bus access, preventing productivity loss while maintaining fairness for other channels

Inventive Principle:
Principle #10Preliminary action

3Adaptability or versatility

If multiple peripherals simultaneously request bus access, then system versatility is demonstrated, but arbitration complexity increases and device complexity worsens

Engineering Contradiction:
Improvemulti-peripheral supportVSAvoidarbitration mechanism complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The arbitration mechanism applies different evaluation criteria to different peripheral channels based on their specific requirements and transaction types. Each channel is assessed locally according to its priority level and state, allowing the system to support diverse peripherals with varying needs without requiring a universally complex arbitration logic

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS9910812B2Initiating multiple data transactions on a system bus
Publication Date: 2018.03.06 ATMEL CORP
  • US9910812B2 patent drawing
  • US9910812B2 patent drawing
  • US9910812B2 patent drawing

AI summary

Initiating data transactions on a system bus is disclosed. In some implementations, a controller receives first information from a first peripheral requesting a first data transaction. The first information is received over a first communication link between the controller and the first peripheral. The controller receives second information from a second peripheral requesting a second data transaction. The second information received over a second communication link between the controller and the second peripheral. The controller determines first and second ranks for the first and second data transactions, respectively, based on the first and second information, and initiates based on the first and second ranks, the first and second data transactions on a system bus.