DMA Engine Offloads Host Memory Address Retrieval

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional computing systems require the processor to read host buffer addresses and generate DMA requests, which can lead to inefficiencies as the processor is occupied with tasks other than data transfer during direct memory access operations.

Innovation Solution

The proposed solution offloads the task of retrieving host memory addresses to the DMA engine, allowing the processor to focus on other tasks while the DMA engine handles the address retrieval and data transfer independently.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If the processor reads host buffer addresses and generates DMA requests, then the DMA operation can be initiated, but the processor is occupied and cannot perform other tasks during the data transfer

Engineering Contradiction:
Improveprocessor utilizationVSAvoidprocessor idle time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent extracts the address reading function from the processor and assigns it to the DMA engine. The DMA engine independently reads host buffer addresses from memory without requiring processor intervention, allowing the processor to be freed for other tasks while DMA operations proceed.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The DMA engine is designed to autonomously retrieve host buffer addresses from memory and generate DMA requests without processor assistance. This self-service capability enables the DMA subsystem to operate independently, improving overall system efficiency by eliminating processor bottlenecks.

Inventive Principle:
Principle #25Self-service

2Productivity

If the processor handles all DMA request generation, then address accuracy is maintained, but system efficiency decreases due to processor occupancy

Engineering Contradiction:
Improvedata transfer efficiencyVSAvoidprocessor task complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments the DMA operation into two independent parts: the processor generates initial DMA commands, and the DMA engine independently handles address retrieval and request generation. This segmentation distributes complexity across different components, improving overall system efficiency.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The DMA engine acts as an intermediary between the processor and memory system. It receives initial commands from the processor, autonomously retrieves addresses from memory, and generates DMA requests, thereby simplifying the processor's task while maintaining accurate address access.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS9952979B1Methods and systems for direct memory access operations
Publication Date: 2018.04.24 MARVELL ASIA PTE LTD
  • US9952979B1 patent drawing
  • US9952979B1 patent drawing
  • US9952979B1 patent drawing

AI summary

Systems and methods for a direct memory access (DMA) operation are provided. The method includes receiving a host memory address by a device coupled to a computing device; storing the host memory address at a device memory by a DMA engine; receiving a packet at the device for the computing device; instructing the DMA engine by a device processor to retrieve the host memory address from the device memory; retrieving the host memory address by the DMA engine without the device processor reading the host memory address; and transferring the packet to the computing device by a DMA operation.