DMA Channel Switching Latency Reduction via Cache Pre-Loading

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing Direct Memory Access (DMA) technologies face latency issues during channel switching, which disrupts pipeline processing and reduces efficiency in data processing systems.

Innovation Solution

The proposed solution involves a processing apparatus and method that includes a channel information acquiring circuit, a storing circuit, a data reading control circuit, and a cache circuit. This apparatus acquires channel information, reads target data from storage regions, and pre-stores this data in a cache for efficient use in data processing, thereby optimizing DMA operations during channel switching.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If DMA channel switching is implemented using traditional hardware control methods, then data transmission between external devices and memory can be completed without CPU intervention, but latency is introduced during channel switching that disrupts pipeline processing

Engineering Contradiction:
Improvedata transmission efficiencyVSAvoidchannel switching latency
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent applies preliminary action by pre-loading instruction data into a cache circuit before it is actually needed for execution. The data reading control circuit reads target data information from storage regions in advance and stores it in the cache circuit, so that when channel switching occurs, the pipeline can continue processing without waiting for memory access, thereby eliminating read operation latency during channel switching.

Inventive Principle:
Principle #10Preliminary action

2Adaptability or versatility

If channel switching is performed in traditional DMA systems, then multiple data channels can be processed, but pipeline processing is disrupted due to read operation latency

Engineering Contradiction:
Improvemulti-channel processing capabilityVSAvoidpipeline processing continuity
Core Design Contradiction:
Adaptability or versatilityVSStability of the object's composition

Solution Approach 1:

The patent introduces a cache circuit as an intermediary between the storage regions and the data processing pipeline. This cache circuit holds pre-loaded target data information and provides it to the pipeline during channel switching operations, acting as a buffer that maintains pipeline continuity while enabling multi-channel processing without disruption.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If data is read from storage regions during channel switching, then correct data can be retrieved, but read operation latency reduces overall processing efficiency

Engineering Contradiction:
Improvedata retrieval accuracyVSAvoidprocessing efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent applies preliminary action by pre-loading instruction data into a cache circuit before it is actually needed for execution. The data reading control circuit reads target data information from storage regions in advance and stores it in the cache circuit, so that when channel switching occurs, the pipeline can continue processing without waiting for memory access, thereby eliminating read operation latency during channel switching.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS12253950B2Processing apparatus, method and system for executing data processing on a plurality of channels
Publication Date: 2025.03.18 BEIJING ESWIN COMPUTING TECH CO LTD
  • US12253950B2 patent drawing
  • US12253950B2 patent drawing
  • US12253950B2 patent drawing

AI summary

A processing apparatus, a method and a system for executing data processing on a plurality of channels are disclosed. The processing apparatus for executing data processing on a plurality of channels includes: a channel information acquiring circuit, configured to acquire channel information of the plurality of channels; a storing circuit, including a plurality of storage regions corresponding to the plurality of channels, in which the storage regions are configured to store data information for the plurality of channels; a data reading control circuit, configured to read target data information corresponding to the channel information from a target storage region among the plurality of storage regions of the storing circuit, according to the channel information; and a cache circuit, configured to pre-store the target data information read from the target storage region of the storing circuit, by the data reading control circuit, to wait for use in the data processing.