Modular Direct Memory Access System Architecture
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional direct memory access (DMA) systems have a fixed programming model architecture that limits scalability and efficiency in addressing different data transfer models, such as ring of descriptor lists, linked lists, and descriptor format tables, due to tight coupling of registers with the main data path logic.
Innovation Solution
A modular DMA system architecture is introduced, partitioning the DMA system into a DMA main module and a descriptor control module, where the DMA main module handles data transfer and can be optimized for specific protocols like PCIe, while the descriptor control module is protocol-agnostic and interchangeable, supporting various programming models.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If a fixed programming model architecture is used with tight coupling of registers and main data path logic, then the system structure is simple, but the adaptability to different data transfer models is limited
Solution Approach 1:
The DMA system is divided into separate functional modules: a descriptor control module that interfaces with the root complex and a data mover module that performs actual data transfers. This segmentation allows each module to be independently optimized and configured for different programming models without affecting the other, thereby improving adaptability while managing complexity through modular design.
Solution Approach 2:
The descriptor control module is designed as a universal interface that can handle multiple programming models (ring of descriptor lists, linked lists, descriptor format tables) through a standardized descriptor structure. This multi-functional design allows the same hardware module to adapt to different data transfer models without requiring separate dedicated hardware for each model.
2Adaptability or versatility
If registers are tightly coupled with main data path logic, then the device complexity is reduced, but the ease of customization for different protocols is worsened
Solution Approach 1:
The register interface functionality is extracted from the main data path logic and placed in the descriptor control module. This extraction allows the data mover module to focus purely on efficient data transfer operations while the descriptor control module handles all protocol-specific configurations and descriptor interpretations, thereby improving customization flexibility without unnecessarily increasing data path complexity.
3Adaptability or versatility
If a modular architecture with separate descriptor control module is implemented, then the adaptability to multiple programming models is improved, but the device complexity increases
Solution Approach 1:
While the system is modular, the descriptor control module and data mover module are designed to work together as an integrated DMA system with well-defined interfaces. The modular design allows independent optimization and replacement of components, but the tight integration through standardized interfaces minimizes the overhead and complexity associated with module partitioning.
Data Source
AI summary
One embodiment relates to an integrated circuit with a modular direct memory access system. A read data mover receives data obtained from a source address, and a write data mover for sends the data to a destination address. A descriptor controller provides the source address to the read data mover and the destination address to the write data mover. Another embodiment relates to a method of providing direct memory access. Another embodiment relates to a system which provides direct memory access. Other embodiments and features are also disclosed.


