DMA Command Scheduling to Prevent Sequencer Stalls

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Inefficient utilization of direct memory access (DMA) engines in detection and ranging systems leads to degraded data transfer rates and overall system throughput due to frequent idling of DMA processors and stalling of new commands when instructions are sparse or frequent.

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 uses a command arbiter to prioritize and queue DMA commands, thereby offloading tasks from command sequencers and optimizing DMA engine bandwidth.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If DMA commands are launched frequently without proper regulation, then data transfer rate increases, but command sequencers stall when DMA engine is busy

Engineering Contradiction:
Improvedata transfer rateVSAvoidcommand sequencer stalling time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The command arbiter pre-regulates and schedules DMA commands before they are launched, maintaining a pipeline of ready commands. This preliminary scheduling ensures that command sequencers never stall by having commands prepared in advance, while the DMA engine receives a steady stream of commands without overwhelming it.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements feedback mechanisms where the DMA engine's status is monitored and fed back to the command arbiter. Based on this feedback, the arbiter dynamically adjusts command scheduling decisions, allowing commands to be launched when the DMA engine is ready while preventing stalling during busy periods.

Inventive Principle:
Principle #23Feedback

2Productivity

If DMA engine bandwidth is not optimized, then system throughput improves, but inefficient utilization causes idle time

Engineering Contradiction:
Improvesystem throughputVSAvoidDMA engine idle time
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The command arbiter dynamically adjusts the timing and sequencing of DMA commands based on real-time system conditions. When the DMA engine is idle, the arbiter schedules commands to maximize bandwidth utilization. When the engine is busy, commands are staged in a pipeline to ensure continuous operation, creating a dynamic balance that eliminates idle time while maintaining high throughput.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system ensures continuous useful action by maintaining a pipeline of DMA commands that are constantly being processed or ready for processing. The command arbiter guarantees that the DMA engine receives commands at optimal intervals, eliminating idle periods while sustaining high data transfer rates throughout operation.

Inventive Principle:
Principle #20Continuity of useful action

3Reliability

If command sequencers wait for DMA completion before launching new commands, then data transfer reliability improves, but processing throughput decreases

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

Solution Approach 1:

The system segments the DMA command pipeline into multiple stages: commands are prepared, scheduled, and launched independently of immediate DMA completion status. This segmentation allows command sequencers to continue generating commands while the DMA engine processes previous ones, maintaining reliability through proper sequencing while dramatically improving throughput by eliminating the sequential wait.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The command arbiter performs preliminary scheduling of DMA commands based on predicted DMA engine availability and system needs. This allows command sequencers to launch commands in advance without waiting for previous DMA operations to complete, maintaining reliability through coordinated scheduling while achieving high throughput through parallel processing.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS20260044466A1System and method for regulating direct memory access commands
Publication Date: 2026.02.12 NXP BV
  • US20260044466A1 patent drawing
  • US20260044466A1 patent drawing
  • US20260044466A1 patent drawing

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.