DMA Arbitration Using Fixed Priority and Weighted Slot Allocation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In computer systems, the arbitration of direct memory access (DMA) channel requests is inefficient due to the lack of a balanced prioritization method that can effectively manage competing DMA channels with varying latency and priority levels, leading to potential starvation of lower-priority channels.

Innovation Solution

Implementing an arbitration policy that combines fixed priority and round robin techniques, where DMA channels are assigned both fixed priorities and priority weightings, allowing requests to be grouped and sequenced in arbitration slots based on weightings, ensuring that higher-priority channels are serviced more frequently while preventing lower-priority channels from being starved.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If fixed priority arbitration is used to service high-priority DMA channels frequently, then high-priority channel response time is improved, but lower-priority channels may be starved of access opportunities

Engineering Contradiction:
Improveresponse time of high-priority DMA channelsVSAvoidaccess opportunity of lower-priority DMA channels
Core Design Contradiction:
SpeedVSProductivity

Solution Approach 1:

The arbitration system dynamically adjusts the behavior based on priority weightings. High-priority channels receive more arbitration slots when they have pending requests, while low-priority channels are guaranteed minimum slots. This dynamic allocation resolves the contradiction by making the arbitration scheme adaptable to different priority levels without completely starving any channel.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent introduces priority weighting as an additional parameter to the traditional fixed priority scheme. By changing the arbitration parameters to include weight-based slot allocation, the system can balance between responding quickly to high-priority channels and ensuring fair access for lower-priority channels, thus resolving the starvation problem.

Inventive Principle:
Principle #35Parameter changes

2Productivity

If round robin arbitration is used to ensure fair access for all DMA channels, then lower-priority channel access is improved, but high-priority channels experience increased latency

Engineering Contradiction:
Improveaccess fairness of lower-priority DMA channelsVSAvoidresponse time of high-priority DMA channels
Core Design Contradiction:
ProductivityVSSpeed

Solution Approach 1:

The arbitration system applies different qualities of service to different channels based on their priority weightings. High-priority channels receive more arbitration slots and thus better service quality, while low-priority channels receive fewer slots but still maintain some access. This local differentiation resolves the contradiction by allowing fair access for all channels while providing preferential treatment to high-priority ones.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The system dynamically determines the number of arbitration slots each channel receives based on its priority weighting and current request status. This dynamic adjustment allows the system to favor high-priority channels when they need service while still maintaining access opportunities for lower-priority channels, thus resolving the latency-fairness contradiction.

Inventive Principle:
Principle #15Dynamics

3Device complexity

If simple fixed priority arbitration is used, then arbitration logic complexity is reduced, but system performance and latency are degraded due to inability to balance competing channels

Engineering Contradiction:
Improvearbitration logic complexityVSAvoidoverall system performance
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The arbitration logic is segmented into two independent parts: fixed priority assignment and priority weighting-based slot allocation. This segmentation allows the system to maintain simple fixed priority logic for determining channel hierarchy while adding a separate mechanism for balancing access based on weightings, thus improving performance without significantly complicating the core arbitration logic.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS10169256B2Arbitrating direct memory access channel requests
Publication Date: 2019.01.01 SILICON LABORATORIES INC
  • US10169256B2 patent drawing
  • US10169256B2 patent drawing
  • US10169256B2 patent drawing

AI summary

A method includes receiving a plurality of requests to perform accesses for associated DMA channels and arbitrating the requests. The arbitration includes selectively granting a given request of the plurality of requests based at least in part on an associated fixed priority of the request and an associated priority weighting of the request. The priority weighting regulates which request or requests of the plurality of requests are considered at a given time.