Ping-Pong DMA Architecture for Data Transmission Efficiency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In existing DMA architectures, data transmission efficiency is low due to the need for the HOST to wait for the DMA descriptor controller to become idle before configuring it, especially during multiple data block read-write operations.

Innovation Solution

A ping-pong DMA architecture is implemented, where the current state of a register determines which DMA module configures and transmits data, allowing the second module to take over when the first is busy, thereby enabling continuous data transmission.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If a single DMA descriptor controller is used for data transmission, then the device complexity is low, but the data transmission efficiency deteriorates due to HOST waiting time

Engineering Contradiction:
Improvedata transmission efficiencyVSAvoidDMA architecture complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The single DMA descriptor controller is segmented into two independent DMA modules (first DMA module and second DMA module). Each module can independently configure and execute DMA operations, allowing parallel processing of different data blocks. This segmentation eliminates the HOST waiting time by enabling one module to work while the other is being configured, thus resolving the contradiction between transmission efficiency and device complexity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The HOST can pre-configure one DMA module while the other is executing data transmission operations. By performing the configuration action in advance (before the current transmission completes), the HOST avoids idle waiting time. The ping-pong mechanism ensures that as one module finishes transmission, the pre-configured module is ready to take over immediately, maintaining continuous high-speed transmission.

Inventive Principle:
Principle #10Preliminary action

2Loss of time

If the HOST waits for DMA descriptor controller to be idle before configuring, then the device complexity remains simple, but the loss of time increases

Engineering Contradiction:
ImproveHOST waiting timeVSAvoidDMA module structure
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The ping-pong DMA architecture ensures continuous useful action by maintaining two operational states simultaneously: one DMA module is always in the data transmission phase while the other is in the configuration phase. This continuity eliminates idle waiting time for the HOST, as there is always a ready-to-execute module available. The state machine continuously transitions between these modules, ensuring no time is lost in the configuration-waiting cycle.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS20220237132A1Data transmission method and ping-pong DMA architecture
Publication Date: 2022.07.28 INSPUR SUZHOU INTELLIGENT TECH CO LTD
  • US20220237132A1 patent drawing
  • US20220237132A1 patent drawing
  • US20220237132A1 patent drawing

AI summary

The present invention is about a data transmission method and a ping-pong DMA architecture. The method includes: acquiring the current state of an initialized register, determining a state type corresponding to the current state of the register, and performing an operation corresponding to the state type based on the state type determined by the register, the state type includes an initialization state, a state that the first DMA module is used, and a state that the second DMA module is used, the state that the first DMA module is used means a state when a previous batch of data is transmitted by the first DMA module, and the state that the second DMA module is used means a state when the previous batch of data is transmitted by the second DMA module. By using the above-mentioned method, data is configured by using the two DMA modules, when the first DMA module is busy, the second DMA module may also configure the data, and operations of data corresponding to the different states are performed according to the different states of the register, so that the purpose of increasing the data transmission efficiency is achieved.