Patterned RDMA Network Device for Non-Contiguous Memory Transfer
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing data transfer methods using Direct Memory Access (DMA) and Remote Direct Memory Access (RDMA) are inefficient when dealing with non-contiguous memory spaces, as they require complex pattern specifications for each transaction, leading to high memory and computational overhead.
Innovation Solution
The implementation of a network device with circuitry that receives requests to transfer data between memories using pre-registered and pre-associated patterns and memory keys, allowing for efficient transfer of data across networks using RDMA or locally using DMA, with techniques such as pattern-key pre-association, ad-hoc pattern-key association, and ad-hoc pattern definition.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If complex pattern specifications are used for each transaction to handle non-contiguous memory spaces, then data transfer capability is improved, but memory overhead and computational overhead increase
Solution Approach 1:
The patent creates a universal pattern specification mechanism where a single pattern description can be applied to multiple memory regions through different memory keys. Instead of having separate complex specifications for each memory region, the system uses one pattern that works across multiple regions, reducing both memory overhead and computational complexity while maintaining full adaptability for handling non-contiguous memory spaces.
Solution Approach 2:
The patent performs preliminary action by pre-registering patterns and pre-establishing their associations with multiple memory keys before actual data transfer operations. This upfront preparation allows the system to handle non-contiguous memory accesses efficiently during runtime without repeatedly computing complex patterns, thereby reducing computational overhead while maintaining versatile data transfer capability.
2Measurement precision
If separate pattern specifications are created for each memory space, then precise memory access control is improved, but memory footprint increases
Solution Approach 1:
The patent makes the pattern specification universal by allowing a single registered pattern to be associated with multiple memory keys, each representing different memory spaces. This eliminates the need to store separate pattern specifications for each memory region, significantly reducing memory footprint while preserving precise memory access control through the memory key mechanism that distinguishes different address spaces.
Solution Approach 2:
The patent merges the storage of pattern specifications by creating a shared pattern registry where multiple memory keys can reference the same pattern. Instead of duplicating pattern data for each memory space, the system combines them into a single shared structure, reducing overall memory footprint while maintaining the ability to precisely control access to different memory regions through key-based identification.
3Manufacturing precision
If detailed pattern descriptions are included in each transaction, then transfer accuracy for non-contiguous memory is improved, but computational overhead increases
Solution Approach 1:
The patent performs preliminary action by pre-registering detailed pattern descriptions and validating their correctness before actual data transfer operations. During runtime transactions, the system only needs to reference the pre-registered pattern by identifier and apply it to the specified memory key, eliminating the need to reprocess detailed pattern descriptions for each transaction. This maintains transfer accuracy for non-contiguous memory while significantly reducing computational overhead during actual data transfer operations.
4Reliability
If multiple separate RDMA operations are used to transfer data across different memory regions, then data transfer completeness is improved, but transfer time increases
Solution Approach 1:
The patent merges multiple separate RDMA operations into a single unified operation by enabling a single pattern specification to cover multiple memory regions through its association with different memory keys. Instead of initiating separate RDMA transactions for each memory region, the system can handle multiple regions in one operation, maintaining complete data transfer while reducing the time required by eliminating the overhead of multiple transaction initiations and completions.
Data Source
AI summary
A network device includes a first interface, a second interface and circuitry. The first interface is configured to communicate at least with a first memory. The second interface is configured to communicate over a network with a peer network device coupled to a second memory. The circuitry is configured to (i) receive a request to transfer data over the network between the first memory and the second memory in accordance with a pattern of offsets to be accessed in the first memory or in the second memory, and (ii) transfer the data in accordance with the request.


