Shared Access Queue Mapping for Scalable RDMA Data Access
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The use of RDMA for data access in high-performance memory systems leads to increased CPU usage and limited network device connections due to the need for CPU involvement in storing data in persistent storage, which restricts scalability and network performance.
Innovation Solution
A network device is configured to send access requests to an access queue, allowing multiple clients to be connected, and returns processing results directly to clients, using unique local identifiers to distinguish between them, thereby breaking the inherent queue limit and supporting large-scale networking connections.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the network device stores data in persistent storage medium by using CPU, then data can be stored persistently, but CPU resources are consumed and communication between host and storage device is affected
Solution Approach 1:
The patent extracts the CPU from the data persistence path by implementing a CPU-less storage path. The network device directly writes data to the persistent storage medium using DMA (Direct Memory Access) technology, eliminating the need for CPU intervention in the data transfer process. This resolves the contradiction by maintaining data persistence while removing CPU consumption from the communication path.
Solution Approach 2:
The storage device performs self-service by autonomously managing data persistence without CPU involvement. The network device and storage device establish a direct communication channel where the network device can write data directly to the persistent storage medium, and the storage device independently manages the data flow and persistence operations, freeing the CPU from these tasks.
2Quantity of substance
If resources of submission queue and completion queue of SSD are limited, then storage device can support only a few network device connections, but large quantity of network device connections are needed for scalability
Solution Approach 1:
The patent segments the queue resources by introducing a queue mapping mechanism that allows multiple network devices to share a smaller number of physical queues. Each network device is assigned a unique identifier, and the system maintains a mapping between network devices and queues, enabling multiple connections to be handled through shared queue resources without increasing the total number of queues.
Solution Approach 2:
The queues are made universal by allowing them to serve multiple network devices simultaneously. Instead of dedicating one queue per network device, the same queue can be shared among multiple network devices through the mapping mechanism, making the queue resources multi-functional and supporting scalability without proportionally increasing queue resources.
3Productivity
If RDMA is used for data access in high-performance memory system, then I/O throughput capability is strong, but CPU usage increases and network transmission capability is limited
Solution Approach 1:
The patent replaces the CPU-based data transfer mechanism with a hardware-based DMA (Direct Memory Access) system. Instead of using CPU instructions to move data between the network device and persistent storage, the system uses DMA controllers that operate independently of the CPU, substituting the mechanical CPU operation with a more efficient hardware-based data transfer mechanism that maintains high throughput while reducing CPU usage.
Data Source
AI summary
In a data access method, a network device receives access requests sent by a plurality of clients connected to the network device, and sends the access requests to an access queue of a storage unit. The storage unit executes the access requests in the access queue, and returns processing results of the access requests of the plurality of clients. The network device returns the processing results that are of the access requests and that are returned by the storage unit to the clients corresponding to the access requests.


