NUMA Memory Data Transfer via Dedicated DMA Controller
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In data center architectures, existing solutions face challenges in efficiently transferring data between different memory layers without interfering with processor operations, leading to increased latency and reduced bandwidth due to the need for processor intervention and lack of asynchronous communication.
Innovation Solution
Implementing a non-uniform memory access (NUMA) data center with direct memory access (DMA) capabilities, where memories across computing nodes are accessible independently of processors, and extending system address decoder schemes to map physical memory regions to different NUMA domains, enabling concurrent data transfers without processor involvement.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If processor intervention is used for data transfer between memory layers, then data transfer can be controlled and managed, but latency increases and bandwidth decreases due to processor involvement
Solution Approach 1:
The patent extracts the data transfer function from the processor by introducing a dedicated DMA (Direct Memory Access) controller. This separate controller handles all data transfer operations between memory layers independently, removing the burden from the processor and enabling concurrent execution of data transfer and processor tasks, thereby reducing latency without sacrificing transfer control
Solution Approach 2:
The patent introduces a DMA controller as an intermediary device between the processor and memory layers. This mediator handles data transfer operations, allowing the processor to continue its computational tasks while the DMA controller manages memory-to-memory data movement, thus reducing processor involvement time and improving overall system bandwidth
2Reliability
If processor intervention is used for data transfer between memory layers, then data transfer can be controlled and managed, but bandwidth is reduced due to processor involvement
Solution Approach 1:
The patent extracts the data transfer function from the processor by introducing a dedicated DMA (Direct Memory Access) controller. This separate controller handles all data transfer operations between memory layers independently, removing the burden from the processor and enabling concurrent execution of data transfer and processor tasks, thereby reducing latency without sacrificing transfer control
Solution Approach 2:
The patent introduces a DMA controller as an intermediary device between the processor and memory layers. This mediator handles data transfer operations, allowing the processor to continue its computational tasks while the DMA controller manages memory-to-memory data movement, thus reducing processor involvement time and improving overall system bandwidth
3Device complexity
If memory access is performed through uniform addressing schemes, then system simplicity is maintained, but access speed decreases due to processor involvement in all memory operations
Solution Approach 1:
The patent segments the memory system into multiple memory layers (such as HBM and DDR memory) with distinct address spaces, allowing different access paths for different memory types. This segmentation enables optimized access speeds for each memory layer while maintaining overall system manageability through the address translation mechanism
Solution Approach 2:
The patent introduces a DMA controller as an intermediary device between the processor and memory layers. This mediator handles data transfer operations, allowing the processor to continue its computational tasks while the DMA controller manages memory-to-memory data movement, thus reducing processor involvement time and improving overall system bandwidth
Data Source
Figure 1
Figure 2~3
Figure 4
AI summary
Technology for an apparatus is described. The apparatus can receive a command to copy data. The command can indicate a first address, a second address and an offset value. The apparatus can determine a first non-uniform memory access (NUMA) domain ID for the first address and a second NUMA domain ID for the second address. The apparatus can identify a first computing node with memory that corresponds to the first NUMA domain ID and a second computing node with memory that corresponds to the second NUMA domain ID. The apparatus can generate an instruction for copying data in a first memory range of the first computing node to a second memory range of the second computing node. The first memory range can be defined by the first address and the offset value and the second memory range can be defined by the second address and the offset value.