DMA Engine Data Generation Module for Memory Initialization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

DMA engines require significant processing entity resources and data bus utilization for large memory transfers, leading to increased power consumption and latency, especially when initializing large data sets in networking devices and other computing environments.

Innovation Solution

Incorporating a data generation module within the DMA engine allows it to independently generate data patterns for memory initialization, reducing the need for processing entity involvement and data bus usage by enabling the DMA engine to write data to memory addresses without external data provision.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If a DMA engine is used to transfer large amounts of data, then memory transfer capability is improved, but processing entity resource usage and power consumption increase

Engineering Contradiction:
Improvememory transfer capabilityVSAvoidpower consumption
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The DMA engine incorporates an on-chip data generator that enables it to autonomously generate data patterns for memory initialization without requiring external data provision from the processing entity. This self-service capability eliminates the need for continuous data bus transactions between the processing entity and DMA engine, significantly reducing power consumption while maintaining high memory transfer capability for large data sets

Inventive Principle:
Principle #25Self-service

2Productivity

If a DMA engine is used to transfer large amounts of data, then memory transfer capability is improved, but processing entity resource usage increases

Engineering Contradiction:
Improvememory transfer capabilityVSAvoidprocessing entity resource usage
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The integrated data generation module within the DMA engine enables autonomous data pattern generation for memory initialization tasks. This eliminates the burden of external data provision on the processing entity, reducing its resource usage and complexity while preserving the DMA engine's ability to handle large data transfers efficiently

Inventive Principle:
Principle #25Self-service

3Speed

If data is transferred using a DMA engine, then memory transfer speed is improved, but data bus utilization and latency increase

Engineering Contradiction:
Improvememory transfer speedVSAvoidinitialization latency
Core Design Contradiction:
SpeedVSLoss of time

Solution Approach 1:

The data generation module is pre-configured within the DMA engine with data pattern generation capabilities. When memory initialization is required, the DMA engine can immediately generate the necessary data patterns without waiting for external data provision, eliminating initialization latency and enabling faster memory transfer operations

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

By incorporating the data generation functionality directly in the DMA engine, the system eliminates the data bus transactions required for external data provision. This self-service approach removes the bottleneck of data bus utilization and associated latency, allowing the DMA engine to operate at full speed for large data set initialization

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS10877911B1Pattern generation using a direct memory access engine
Publication Date: 2020.12.29 AMAZON TECH INC
  • US10877911B1 patent drawing
  • US10877911B1 patent drawing
  • US10877911B1 patent drawing

AI summary

Disclosed herein are techniques associated with a Direct Memory Access (DMA) engine that can include a data generation module. The DMA engine can receive, from a processing entity, a particular type of write command with an indicator to write a data pattern to an address. Upon receipt of the particular type of write command, the DMA engine can generate, using a data generation module of the DMA engine, the data pattern to be written to the address. The processing entity can be Central Processing Unit (CPU) including a core configured to process serial commands. The DMA engine can be disposed on a same die as a processing entity or a network interface port.