DMA Command Arbitration and Queuing for Sequencer Synchronization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional detection and ranging systems suffer from inefficient utilization of direct memory access (DMA) engines, leading to degraded data transfer rates and overall system throughput due to idle DMA processors and stalled command sequencers.

Innovation Solution

A processing circuit with a set of command sequencers, a DMA controller, and a DMA engine that assigns unique command identifiers, synchronizes command launches based on status and result statuses, and employs a command arbiter to prioritize and queue DMA commands, thereby offloading commands from sequencers and optimizing bandwidth utilization.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If command sequencers launch DMA commands as and when instructions are received, then the system can handle data transfer requests, but the DMA processor becomes idle frequently and command sequencers stall waiting for ongoing DMA commands to complete

Engineering Contradiction:
Improvesystem throughputVSAvoidDMA processor idle time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The command sequencer launches multiple DMA commands in advance before the DMA engine is ready to execute them. The DMA controller receives and queues these commands, allowing the sequencer to continue generating commands without waiting for the DMA engine's availability. This preliminary action eliminates idle time and prevents stalling.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The DMA controller acts as an intermediary between the command sequencer and the DMA engine. It receives commands from the sequencer, manages the queue, and coordinates execution with the DMA engine. This intermediary role allows the sequencer to operate independently without direct dependency on the DMA engine's real-time availability.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If command sequencers wait for ongoing DMA commands to complete before launching new commands, then data transfer completion is ensured, but command sequencers stall and processing throughput degrades

Engineering Contradiction:
Improvedata transfer completionVSAvoidprocessing throughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

Multiple DMA commands are prepared and launched in advance by the command sequencer before the previous commands complete execution. The DMA controller ensures proper sequencing and coordination, maintaining reliability while eliminating the stall condition that reduces throughput.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The command sequencer continuously generates and launches DMA commands without interruption or waiting. The DMA controller ensures continuous execution by managing the command queue and coordinating with the DMA engine, maintaining both reliability of data transfer and continuity of processing action.

Inventive Principle:
Principle #20Continuity of useful action

3Speed

If DMA commands are launched frequently when instructions are received, then data transfer rate increases, but the DMA engine cannot keep up and commands are stalled

Engineering Contradiction:
Improvedata transfer rateVSAvoidDMA engine utilization
Core Design Contradiction:
SpeedVSProductivity

Solution Approach 1:

The command sequencer launches multiple DMA commands in advance at high frequency. The DMA controller receives these commands and manages them in a queue, allowing the sequencer to maintain high launch frequency while the DMA engine executes commands at its own pace without being overwhelmed.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The DMA controller serves as a buffer and intermediary between the high-speed command sequencer and the DMA engine. It decouples the frequent command launches from the execution rate, managing the queue to ensure the DMA engine is fed continuously but not overloaded, thus maintaining both high data transfer rate and efficient engine utilization.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentEP4693055A1System and method for regulating direct memory access commands
Publication Date: 2026.02.11 NXP BV
  • EP4693055A1 patent drawingFigure 1
  • EP4693055A1 patent drawingFigure 2
  • EP4693055A1 patent drawingFigure 3A

AI summary

A direct memory access (DMA) controller is coupled to command sequencers. The command sequencers launch multiple DMA commands with a unique identifier (ID) assigned to each of the DMA commands. The DMA controller offloads the DMA commands from the command sequencers and stores the DMA commands such that stalling of the command sequencers is avoided during execution of the DMA commands. Further, the DMA controller queues the DMA commands and provides the DMA commands to a DMA engine for execution and stores a command status and a result status for each DMA command. Based on the command status indicating that the DMA commands are executed, the command sequencers synchronize a launch of upcoming DMA commands.