DMA Circuit Resource Usage Counter Arbitration

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In multi-core microcontrollers, shared direct memory access (DMA) resources can lead to interference between applications with real-time and security requirements, causing undesired side effects due to uncontrolled access and bandwidth utilization, which existing arbitration schemes fail to adequately address, resulting in potential deadline misses and poor hardware utilization.

Innovation Solution

A direct memory access circuit with resource usage counters and an arbiter that evaluates execution time to assign, delay, or deny DMA access based on predefined thresholds and priority schemes, ensuring each application adheres to its allocated bandwidth, preventing interference and optimizing resource utilization.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If a shared DMA resource is used for multiple applications, then hardware utilization is improved, but interference between applications occurs causing undesired side effects

Engineering Contradiction:
Improvehardware utilizationVSAvoidapplication isolation
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent segments the shared DMA resource into multiple groups of DMA channels, where each group is assigned to a specific application. This segmentation allows multiple applications to share the DMA resource while maintaining isolation through group-based access control and resource usage counters that track and limit each application's DMA usage.

Inventive Principle:
Principle #1Segmentation

2Productivity

If DMA access is allowed without restriction to maximize throughput, then productivity is improved, but bandwidth overruns and buffer overflows occur

Engineering Contradiction:
ImproveDMA throughputVSAvoidbuffer overflow
Core Design Contradiction:
ProductivityVSObject-affected harmful factors

Solution Approach 1:

The patent implements preliminary action by configuring resource usage counters and thresholds before DMA operations begin. The arbiter continuously monitors these counters and preemptively denies DMA access when thresholds are approached, preventing buffer overflows and bandwidth overruns before they occur rather than reacting after the problem arises.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If an arbitration scheme is implemented to control DMA access, then application isolation is improved, but device complexity increases

Engineering Contradiction:
Improveapplication isolationVSAvoidarbitration mechanism
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent applies self-service by implementing resource usage counters that automatically track each application's DMA usage and trigger arbitration decisions without requiring complex external control logic. The counters autonomously compare usage against predefined thresholds and signal the arbiter, simplifying the overall arbitration mechanism while maintaining reliable application isolation.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS12001357B2Direct memory access circuit, microcontroller, and method of controlling a direct memory access
Publication Date: 2024.06.04 INFINEON TECHNOLOGIES AG
  • US12001357B2 patent drawing
  • US12001357B2 patent drawing
  • US12001357B2 patent drawing

AI summary

A direct memory access (DMA) circuit is provided. The DMA circuit may include a plurality of groups of direct memory access channels, wherein each of the groups includes at least one DMA channel and a resource usage counter configured to count an execution time in which one of the DMA channels of the group is executed, and an arbiter configured to evaluate a value of the resource usage counter of a group upon a request for execution time by one of the DMA channels of the group, and, taking into account a result of the evaluation, to assign, delay assignment, or deny execution time for using the direct memory access to one of the groups.