DMA Controller Command Queue for PCIe Latency Reduction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In electronic systems using PCIe interfaces, the direct memory access (DMA) technique can lead to performance degradation due to CPU dependency on interrupt signals for DMA operations, causing delays between successive operations.

Innovation Solution

An electronic system with a serial system bus interface, including a root complex, end point, command bus, data bus, and a DMA controller with a command queue, allows for sequential transmission and storage of request commands, enabling DMA control operations to be performed independently of CPU intervention, thus eliminating the need for interrupt signals.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If the CPU waits for interrupt signals from the DMA controller to request the next operation, then the DMA operation can be completed with simple control logic, but the system performance degrades due to delays between successive operations

Engineering Contradiction:
Improvecontrol logic complexityVSAvoidsystem performance
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent applies preliminary action by having the CPU pre-load multiple request commands into the command queue before DMA operations begin. This allows the DMA controller to continuously process commands without waiting for CPU interrupts, eliminating delays between successive operations while maintaining simple control logic. The command queue is prepared in advance with all necessary commands, enabling the DMA controller to operate autonomously.

Inventive Principle:
Principle #10Preliminary action

2Device complexity

If the CPU continuously monitors for interrupt signals to manage DMA operations, then the DMA controller can operate with basic functionality, but the CPU utilization decreases and system efficiency is reduced

Engineering Contradiction:
ImproveDMA controller functionalityVSAvoidCPU utilization
Core Design Contradiction:
Device complexityVSEase of operation

Solution Approach 1:

The patent implements self-service by enabling the DMA controller to autonomously manage its own operation through the command queue mechanism. The controller reads commands from the pre-loaded queue and executes DMA operations without requiring CPU intervention or interrupt handling. This transfers the operational burden from the CPU to the DMA controller, allowing the CPU to focus on other tasks while the DMA controller independently manages data transfers.

Inventive Principle:
Principle #25Self-service

3Device complexity

If interrupt signals are used to notify the CPU of DMA operation completion, then the DMA controller can operate with simple state management, but the latency between DMA operations increases

Engineering Contradiction:
Improvestate management complexityVSAvoidlatency between operations
Core Design Contradiction:
Device complexityVSLoss of time

Solution Approach 1:

The patent ensures continuity of useful action by implementing a command queue that allows the DMA controller to process multiple requests in sequence without interruption. Instead of waiting for interrupt signals between operations, the controller continuously fetches the next command from the pre-loaded queue and executes it immediately. This eliminates idle time and latency between DMA operations while keeping state management simple through the queue structure.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS10860507B2Electronic systems having serial system bus interfaces and direct memory access controllers and methods of operating the same
Publication Date: 2020.12.08 SK HYNIX INC
  • US10860507B2 patent drawing
  • US10860507B2 patent drawing
  • US10860507B2 patent drawing

AI summary

An electronic system includes a serial system bus interface having a root complex and an end point, a command bus and a data bus coupled to the serial system bus interface, a memory device coupled to the data bus, and a direct memory access (DMA) controller coupled to both the command bus and the data bus to directly access the memory device in response to request commands which are transmitted from the root complex to the end point. The DMA controller includes a command queue in which the request commands stand by.