Remote NVMe Activation via RDMA Host Command Queuing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current NVMe over fabric applications face high computational demand on storage devices, leading to bottlenecks when multiple host devices access storage, as storage devices are responsible for parsing commands and managing data transfer, limiting scalability to thousands of hosts.
Innovation Solution
Implementing a host device with a controller that queues commands and detects completion status through an RDMA network fabric, reducing processing load on storage devices by shifting responsibility to the host device for command management and data transfer, allowing for scalable access by thousands of host devices.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If storage devices parse commands and manage data transfer in current NVMe over fabric applications, then data transfer functionality is achieved, but computational demand on storage devices becomes very high causing bottlenecks
Solution Approach 1:
The patent extracts the command parsing and data transfer management functions from the storage device and relocates them to the host device. The host device now queues commands and manages data transfer over the RDMA network fabric, while the storage device only executes simple read/write operations. This extraction eliminates the computational burden on storage devices, resolving the bottleneck issue while maintaining high data transfer throughput.
Solution Approach 2:
The patent inverts the traditional role assignment by making the host device responsible for command management and data transfer coordination, rather than the storage device. The host device queues commands in submission queues and receives completion status, reversing the conventional paradigm where storage devices handle all protocol-level operations. This inversion shifts computational demand from storage to host, enabling scalable access for thousands of host devices.
2Adaptability or versatility
If storage devices handle multiple host devices simultaneously, then storage accessibility is improved, but storage device becomes a bottleneck with limited processing bandwidth
Solution Approach 1:
The patent extracts command queuing and data transfer management functions from the storage device to the host device. Each host device independently manages its own commands through submission queues, eliminating the need for the storage device to process multiple complex commands simultaneously. This extraction allows the storage device to maintain simple, parallel read/write operations while supporting thousands of host devices without becoming a processing bottleneck.
Solution Approach 2:
The patent segments the storage access function by creating independent command queues for each host device. Instead of the storage device centrally managing all host access, each host device has its own submission queue and completion queue, enabling independent command processing. This segmentation allows scalable access for multiple host devices while distributing the processing load, preventing the storage device from becoming a bottleneck.
3Ease of operation
If storage devices parse commands and encode responses, then communication with host devices is achieved, but computational load increases limiting scalability
Solution Approach 1:
The patent extracts command parsing and response encoding functions from the storage device to the host device. The host device now constructs and queues commands directly in the storage device's submission queue, and receives completion status without requiring the storage device to parse complex commands or encode detailed responses. This extraction simplifies the storage device's computational load to basic read/write operations while maintaining full communication functionality.
Solution Approach 2:
The patent inverts the communication paradigm by having the host device manage the command encoding and response reception process rather than the storage device. The host device writes commands to submission queues and reads completion status from completion queues, reversing the conventional approach where storage devices handle all protocol processing. This inversion reduces storage device complexity while preserving communication effectiveness.
Data Source
AI summary
A method of accessing a remote storage subsystem from a host device separate from the remote storage subsystem and connected via interfaces to a data communications topology is disclosed. In one embodiment, the communications interface comprises an RDMA network fabric. In one embodiment, the method includes queuing a write command or a read command in a submission queue of the remote storage subsystem, and placing a write data into a memory of the remote storage subsystem. The method further includes transmitting a message to the remote storage subsystem indicating the write command or the read command has been submitted in the submission queue, and detecting a command completion status from a completion queue of the remote storage subsystem. The method further includes transmitting a message to the remote storage subsystem indicating the command completion status has been detected.


