Programmable DMA Units for Flexible Data Transfer

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing direct memory access (DMA) technologies impose limitations in digital signal processing, particularly in memory allocation and management, which hinder efficient and flexible data transfer between data storage and processing devices, leading to overhead that prevents digital signal processors from optimal numerical manipulation.

Innovation Solution

A method and apparatus implementing programmable direct memory access units that allow for efficient and flexible data transfer between data storage and processing devices, using a job scheduler, job manager, and programmable DMA units with registers to manage DMA commands, enabling independent operation of internal and external DMA engines for pipelining and multiple data transfers.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If a single DMA controller controls the transfer, then the data transfer can be managed centrally, but the memory allocation flexibility is restricted and the sink device cannot autonomously manage its local memory

Engineering Contradiction:
Improvememory allocation flexibilityVSAvoidDMA controller centralization
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The patent segments the DMA functionality into two independent parts: an external DMA engine that handles data transfer between system memory and local memory, and an internal DMA engine that handles data transfer within the sink device. This segmentation allows each DMA engine to operate autonomously with its own programmable capabilities, eliminating the need for a single centralized controller and enabling flexible memory allocation by the sink device itself.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The sink device is empowered with self-service capabilities through programmable DMA units that allow it to autonomously manage its local memory allocation and data transfer operations. The internal DMA engine enables the sink device to independently handle data processing without requiring centralized control, thus improving memory allocation flexibility while maintaining operational simplicity.

Inventive Principle:
Principle #25Self-service

2Productivity

If the DSP manages data transfer, then data movement can be controlled, but the DSP is prevented from optimal numerical manipulation due to overhead

Engineering Contradiction:
Improvenumerical manipulation efficiencyVSAvoiddata transfer management time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent extracts the data transfer management function from the DSP by implementing dedicated DMA engines (external and internal) that handle all data movement operations. This extraction allows the DSP to focus exclusively on numerical manipulation without the overhead of managing data transfers, thereby improving productivity while minimizing time loss through hardware-accelerated DMA operations.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The internal DMA engine acts as an intermediary between the external DMA engine and the sink device, handling data transfer operations autonomously. This intermediary mechanism relieves the DSP of data management responsibilities, allowing it to dedicate full resources to numerical manipulation while the DMA engines efficiently handle data movement in the background.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Adaptability or versatility

If data is broken across multiple jobs for transfer, then flexibility in job processing is improved, but latency increases and efficiency is reduced

Engineering Contradiction:
Improvejob processing flexibilityVSAvoiddata transfer latency
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent enables continuous data transfer operations by allowing the internal DMA engine to process data streams without requiring job boundaries. The programmable DMA units can handle large input data continuously, maintaining useful action throughout the transfer process and avoiding the latency and inefficiency associated with breaking data across multiple jobs, while still providing adaptability through programmable control.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS11010318B2Method and apparatus for efficient and flexible direct memory access
Publication Date: 2021.05.18 MARVELL ASIA PTE LTD
  • US11010318B2 patent drawing
  • US11010318B2 patent drawing
  • US11010318B2 patent drawing

AI summary

Method and system embodying the method for a direct memory access between a data storage and a data processing device via one or more direct memory access units, comprising transferring data between the data storage and a first direct memory access engine of a respective one or more direct memory access units and providing the data for a second direct memory access engine of the respective one or more direct memory access units; and transferring the data provided by the first direct memory access engine by a second direct memory access engine to the data processing device via the second direct memory access engine is disclosed.