DMA Controller Dynamic Priority Arbitration for Memory Latency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Prior art DMA implementations suffer from high latency and excessive complexity due to static priority assignment and inability to dynamically respond to real-time transfer demands, leading to reduced system performance and risk of DMA failures.

Innovation Solution

A DMA controller with multiple channels, each equipped with a datapath and control circuit for data transfer, along with a prioritizer that arbitrates requests and increases memory transfer priority when peripheral channels are not ready, and a multiplexer for dynamic memory address computation, enabling flexible and efficient data transfer between internal and external memory.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If a single pipeline is used for all memory accesses, then device complexity is reduced, but speed of memory access deteriorates (cannot support independent fast accesses to internal memory and slow accesses to external memory at the same time)

Engineering Contradiction:
ImproveDMA controller structureVSAvoidmemory access speed
Core Design Contradiction:
Device complexityVSSpeed

Solution Approach 1:

The DMA controller is segmented into multiple independent pipeline units (first memory pipeline for internal memory, second memory pipeline for external memory) that can operate simultaneously. Each pipeline is dedicated to specific memory access patterns, allowing parallel processing of multiple DMA requests without interference, thus maintaining high speed while avoiding the complexity of a fully integrated single pipeline.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system transitions from a single-dimensional sequential pipeline to a multi-dimensional parallel pipeline architecture. By adding the dimension of temporal parallelism (multiple pipelines operating simultaneously) and functional differentiation (internal vs external memory pipelines), the system achieves higher overall throughput without proportionally increasing complexity.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Device complexity

If static priority assignment is used among channels, then device complexity is reduced, but reliability deteriorates (cannot dynamically respond to transitory real-time transfer demands caused by congestion delays)

Engineering Contradiction:
Improvepriority assignment mechanismVSAvoidDMA transfer reliability
Core Design Contradiction:
Device complexityVSReliability

Solution Approach 1:

The priority assignment mechanism transitions from static to dynamic. The arbitrator monitors real-time system state including congestion conditions and adjusts channel priorities dynamically. When congestion is detected on high-priority channels, the system can temporarily elevate lower-priority channels, ensuring reliable DMA transfer completion under varying load conditions without requiring complex manual reconfiguration.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The priority arbitration system incorporates feedback loops that monitor DMA request queues, transfer completion rates, and congestion indicators. This feedback information is used to dynamically adjust channel priorities, ensuring that the system adapts to real-time conditions and maintains reliable transfer completion even when traffic patterns change unexpectedly.

Inventive Principle:
Principle #23Feedback

3Device complexity

If fixed pipelines assigning specific channels to specific memory pipelines are used, then device complexity is reduced, but adaptability deteriorates (does not support unrestricted operation where source and destination may independently be internal or external)

Engineering Contradiction:
Improvepipeline assignment structureVSAvoidDMA transfer flexibility
Core Design Contradiction:
Device complexityVSAdaptability or versatility

Solution Approach 1:

The memory pipeline architecture is designed with universal interfaces that accept DMA requests from any channel regardless of whether the source or destination is internal or external memory. The arbitrator and pipeline controllers are configured to handle multiple transfer types (internal-to-external, external-to-internal, internal-to-internal, external-to-external) through the same pipeline infrastructure, providing unrestricted operation without requiring separate dedicated pipelines for each transfer type.

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

Data Source

PatentUS7533195B2DMA controller for digital signal processors
Publication Date: 2009.05.12 ANALOG DEVICES INC
  • US7533195B2 patent drawing
  • US7533195B2 patent drawing
  • US7533195B2 patent drawing

AI summary

A DMA controller includes at least one peripheral DMA channel for handling DMA transfers on a peripheral access bus; at least one memory DMA stream, including a memory destination channel and a memory source channel, for handling DMA transfers on first and second memory access buses; first and second address computation units for computing updated memory addresses for DMA transfers; first and second memory pipelines for supplying memory addresses to the first and second memory access buses, respectively, and for transferring data on the first and second memory access buses; and a multiplexer configured to supply first and second current memory addresses to selected ones of the first and second memory pipelines in response to a control signal.