DMA Engine Delay Circuitry for Flexible Transfer Control

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing DMA systems face challenges in managing completion delays for off-chip transfers, often resulting in performance inefficiencies due to either unnecessarily long delays or reduced flexibility in allocating transfers to contexts with varying latency.

Innovation Solution

A DMA engine with delay circuitry that allows per-descriptor control of completion delays, enabling flexible management of delays based on indications in descriptors, thereby reducing CPU involvement and performance costs.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a fixed predetermined completion delay is used for all transfers, then reliability is improved by ensuring sufficient delay for off-chip transfers, but productivity deteriorates due to unnecessarily long delays for transfers that don't require maximum delay

Engineering Contradiction:
Improvecompletion delay sufficiencyVSAvoidtransfer throughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent applies parameter changes by making the completion delay variable rather than fixed. Each descriptor can specify a different completion delay value based on the specific transfer requirements. This allows the system to use minimal necessary delay for each transfer, improving throughput while maintaining reliability when needed.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent implements dynamics by allowing the completion delay to be dynamically adjusted per transfer through descriptor configuration. The delay circuitry responds to individual transfer characteristics rather than applying a static delay to all transfers, enabling optimal performance for each specific operation.

Inventive Principle:
Principle #15Dynamics

2Adaptability or versatility

If multiple contexts with different completion delays are provided, then adaptability is improved for handling different off-chip timing requirements, but device complexity increases due to additional contexts and restricted transfer allocation

Engineering Contradiction:
Improvecompletion delay variationVSAvoidcontext allocation complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent applies local quality by allowing each descriptor to have its own completion delay parameter tailored to specific transfer requirements. This eliminates the need for multiple global contexts with fixed delays, as each transfer can be locally configured with appropriate delay characteristics.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent implements universality by creating a single DMA context that can handle transfers with varying completion delays through descriptor-based configuration. This multi-functional approach replaces multiple specialized contexts, reducing device complexity while maintaining adaptability.

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

3Adaptability or versatility

If programmable completion delay is allowed for each context, then adaptability is improved, but ease of operation deteriorates due to requiring CPU reprogramming cycles

Engineering Contradiction:
Improvecompletion delay programmabilityVSAvoidCPU involvement
Core Design Contradiction:
Adaptability or versatilityVSEase of operation

Solution Approach 1:

The patent applies preliminary action by pre-configuring completion delay values directly in the descriptors during transfer setup. This eliminates the need for runtime CPU reprogramming of context registers, as the delay parameters are already embedded in the transfer descriptors when they are created.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements self-service by allowing the descriptor to carry its own completion delay configuration. The DMA engine automatically uses the delay value specified in each descriptor without requiring CPU intervention to program context-specific delay registers, reducing CPU involvement while maintaining adaptability.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS8589602B2Data transfer engine with delay circuitry for blocking transfers
Publication Date: 2013.11.19 ICERA INC
  • US8589602B2 patent drawing
  • US8589602B2 patent drawing
  • US8589602B2 patent drawing

AI summary

A circuit comprising: an execution unit; a plurality of addressable devices; and a data transfer engine coupled to the execution unit and to the devices, operable to fetch a plurality of descriptors under control of the execution unit, and based on each of the fetched descriptors to perform a transfer of data from a respective first to a respective second of the devices. The DMA engine comprises delay circuitry operable to block, during a delay period running from an earlier of the transfers, any later of the transfers involving at least one of the same devices as the earlier transfer, the delay circuitry being arranged to control the blocking in dependence on an indication received in one of the descriptors.