Virtual DMA Channel Mapping for Latency Reduction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In portable and handheld devices, the demand for high data throughput and low latency in DMA operations is challenging due to form-factor, part count, and power budget constraints, and traditional DMA implementations face issues with context switching overheads that affect user experience.

Innovation Solution

The implementation of a virtual DMA channel technique that maps a larger number of DMA channels to a smaller number of DMA engines, allowing context switches without latency by caching frequently used channel context information with respective DMA engines, thereby reducing the need for loading and saving context information during transitions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If traditional DMA implementations are used with multiple channels, then data transfer capability is improved, but context switching overhead increases latency

Engineering Contradiction:
Improvedata transfer capabilityVSAvoidcontext switching latency
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent pre-loads context information for multiple virtual DMA channels into a context cache before switching is needed. When a context switch occurs, the required context information is already available in the cache, eliminating the latency associated with loading context from memory during the switch operation.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces a context cache as an intermediary layer between the DMA engines and the memory system. This cache stores context information locally, allowing DMA engines to quickly access or switch between contexts without directly accessing memory, thereby reducing context switching latency.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If more DMA channels are supported, then system versatility is improved, but device complexity increases

Engineering Contradiction:
Improvenumber of DMA channelsVSAvoidDMA controller complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent implements a universal DMA engine architecture where a single DMA engine can execute multiple virtual channels by loading different context information. Instead of requiring separate physical DMA engines for each channel, the system uses one or few engines that can be reconfigured through context switching, thereby supporting multiple channels without proportionally increasing hardware complexity.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The patent creates virtual copies of DMA channel contexts in a cache structure. Instead of duplicating entire DMA engine hardware for each channel, the system copies and stores context information (register states, memory addresses, control parameters) in a manageable cache, allowing multiple virtual channels to be supported with minimal additional hardware.

Inventive Principle:
Principle #26Copying

3Loss of time

If context information is cached with DMA engines, then context switch latency is reduced, but power consumption increases

Engineering Contradiction:
Improvecontext switch latencyVSAvoidpower consumption
Core Design Contradiction:
Loss of timeVSUse of energy by moving object

Solution Approach 1:

The patent implements selective caching where only the context information for actively used or frequently switched virtual channels is maintained in the cache. Not all possible channel contexts are cached simultaneously, reducing the cache size and associated power consumption while still providing low-latency switching for the relevant subset of channels.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS8417842B2Virtual direct memory access (DMA) channel technique with multiple engines for DMA controller
Publication Date: 2013.04.09 NEX-X SILICON LLC
  • US8417842B2 patent drawing
  • US8417842B2 patent drawing
  • US8417842B2 patent drawing

AI summary

A virtual DMA channel technique in which a generally larger number of DMA channels are mapped to a generally smaller number of DMA engines can provide a configuration in which switches amongst DMA engines (and therefore amongst a current working set of DMA channels currently mapped thereto) can be accomplished without context switch latency. Accordingly, as long as contents of the current working set can be appropriately managed, many changes (whether or nor priority based) between a current active DMA channel and a next runnable DMA channel can be accomplished without incurring a context switch latency such as normally associated with loading/restoring and/or saving DMA context information. In some embodiments, a working set or replacement strategy that seeks to cache a most frequently (or most recently) used subset of virtual DMA channels is employed. In some embodiments, a set- or frame-oriented variants of such strategies may be employed.