Universal DMA Engine Dynamic Reconfiguration

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional DMA engines are statically configured to transfer data in only one direction (receive or transmit), limiting their flexibility and efficiency in meeting the varying input/output demands of different applications.

Innovation Solution

A universal DMA engine framework that allows dynamic configuration during system operation, enabling DMA engines to function in either receive or transmit mode, with the number of engines adjustable based on application needs without rebooting the host.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If DMA engines are statically configured to transfer data in one direction only, then the design is simple and reliable, but the flexibility and adaptability to different applications is severely limited

Engineering Contradiction:
Improveflexibility to meet varying input/output demandsVSAvoidcomplexity of dynamic configuration
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent implements a universal DMA engine that can function in both receive and transmit modes by dynamically configuring its directionality. Instead of having separate dedicated engines for each direction, a single engine type can be assigned to different functional roles based on application needs, thereby achieving multi-functionality and improved adaptability without proportionally increasing hardware complexity

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

Solution Approach 2:

The patent introduces dynamic configuration capability where DMA engines can change their operational direction from receive to transmit or vice versa during system operation. This dynamic reconfigurability allows the system to adapt to varying I/O demands in real-time, resolving the contradiction between static simplicity and dynamic flexibility

Inventive Principle:
Principle #15Dynamics

2Productivity

If an equal number of receive and transmit DMA engines are constructed, then the component can satisfy applications with equivalent input/output demands, but it becomes inefficient for applications with significantly asymmetric data transfer needs

Engineering Contradiction:
Improveefficiency in meeting application-specific I/O demandsVSAvoidcomplexity of dynamic engine allocation
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent enables dynamic allocation and reconfiguration of DMA engine directions based on actual application requirements. Instead of being fixed in equal numbers, the system can dynamically adjust which engines are assigned to receive or transmit functions, allowing optimal resource utilization for asymmetric workloads without requiring separate dedicated engine pools

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent allows changing the operational parameters of DMA engines, specifically their transfer direction, to match application needs. By dynamically modifying the direction parameter of existing engines rather than creating fixed asymmetric configurations, the system achieves high productivity for any workload pattern without increasing hardware complexity

Inventive Principle:
Principle #35Parameter changes

3Productivity

If the number of receive or transmit engines is increased to meet high I/O demands, then the component can handle more data transfer operations, but the hardware gate count cost and software complexity increase

Engineering Contradiction:
Improvedata transfer capacityVSAvoidhardware gate count and software framework complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent creates a universal DMA engine design where a single engine type can perform both receive and transmit operations. This multi-functionality allows the system to achieve high data transfer capacity through fewer engine instances rather than requiring separate dedicated engines for each direction, thereby reducing hardware gate count while maintaining high productivity

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

Solution Approach 2:

The patent merges the functionality of separate receive and transmit engine designs into a single unified DMA engine type. By combining what would traditionally be separate hardware resources into one versatile engine that can be dynamically assigned different functions, the system achieves the same or better performance with reduced hardware complexity and lower gate count

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS8032669B2Universal DMA (direct memory access) architecture
Publication Date: 2011.10.04 ORACLE AMERICAN INC
  • US8032669B2 patent drawing
  • US8032669B2 patent drawing
  • US8032669B2 patent drawing

AI summary

A universal DMA (Direct Memory Access) engine can be dynamically configured to function in either a receive or transmit mode. DMAs are logically assembled and bound as needed, without limitation to a fixed, pre-determined number of receive engines and transmit engines. Because a DMA engine may be dynamically assembled to support the flow of data in either direction, varied usage models are enabled, and components used to assemble a receive DMA engine for one application may be subsequently used to assemble a transmit engine for a different application. An application may request a specific number of each type of engine, depending on the nature of its input/output traffic. The number of receive or transmit engines can be dynamically increased or decreased without suspending or rebooting the host. A universal DMA architecture provides a unified software framework, thereby decreasing the complexity of the software and the hardware gate count cost.