DMA Controller Data Flow Control Circuit

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The processing load on processors in computer systems due to direct memory access (DMA) operations, such as packet encryption and authentication, can negatively impact system performance, requiring mechanisms to control data flow between DMA transfers to ensure proper operation and reduce processor load.

Innovation Solution

A direct memory access (DMA) controller with a transmit circuit and data flow control circuit that manages DMA transfers through DMA descriptors stored in memory, allowing for data flow control and serialization of operations across multiple channels to optimize processing and reduce processor load.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If DMA transfers are used to transfer data between I/O and memory, then data transfer efficiency is improved, but processor load increases due to DMA processing tasks

Engineering Contradiction:
Improvedata transfer efficiencyVSAvoidprocessor load
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The DMA controller performs encryption and authentication processing autonomously without processor intervention. The processor simply initiates DMA transfers by writing descriptors to memory, while the DMA controller independently completes security processing and manages data flow between I/O devices and memory, allowing the processor to focus on higher-level tasks.

Inventive Principle:
Principle #25Self-service

2Speed

If hardware acceleration is used for DMA tasks, then processing speed is improved, but device complexity increases

Engineering Contradiction:
Improveprocessing speedVSAvoidcontroller complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The DMA controller is designed to perform multiple functions including data transfer, encryption, authentication, and data flow control within a single integrated device. This multi-functionality reduces the need for separate hardware components while maintaining processing speed and capability.

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

Solution Approach 2:

The DMA controller processes DMA transfers in discrete descriptor units, allowing independent processing of individual data transfers. Each descriptor contains all necessary information for a complete transfer operation, enabling the controller to handle multiple transfers efficiently without requiring complex coordination between separate processing stages.

Inventive Principle:
Principle #1Segmentation

3Productivity

If multiple DMA transfers are performed through hardware accelerators, then processing capability is improved, but data flow control complexity increases

Engineering Contradiction:
Improveprocessing capabilityVSAvoiddata flow control complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

All data flow control information is pre-configured in the DMA descriptors before transfers begin. The descriptors specify source/destination addresses, transfer sizes, and security processing requirements in advance, allowing the DMA controller to automatically manage multi-transfer operations without complex runtime coordination.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS8069279B2Data flow control within and between DMA channels
Publication Date: 2011.11.29 APPLE INC
  • US8069279B2 patent drawing
  • US8069279B2 patent drawing
  • US8069279B2 patent drawing

AI summary

In one embodiment, a direct memory access (DMA) controller comprises a transmit circuit and a data flow control circuit coupled to the transmit circuit. The transmit circuit is configured to perform DMA transfers, each DMA transfer described by a DMA descriptor stored in a data structure in memory. There is a data structure for each DMA channel that is in use. The data flow control circuit is configured to control the transmit circuit's processing of DMA descriptors for each DMA channel responsive to data flow control data in the DMA descriptors in the corresponding data structure.