Network I/O Circuitry for Remote Storage Command Validation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional computing arrangements consume substantial operating system and host processor bandwidth, increase energy consumption and heat dissipation, and introduce latency when a client accesses storage via a server, particularly due to the lack of built-in security checks in NVMe controllers for remote direct memory access (RDMA) operations.
Innovation Solution
The implementation of circuitry in a server's network I/O device to validate commands for accessing storage devices, using operation codes and namespace identifiers to authenticate and authorize remote clients, thereby reducing the involvement of the operating system and host processor, and employing RDMA protocols like iWARP, IB, or RoCE for efficient data transfer.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the server's operating system, associated drivers, and host processor process requests received by the server's NW I/O device, then the requests can be properly handled and executed, but substantial amounts of operating system and host processor processing bandwidth are consumed
Solution Approach 1:
The patent extracts the command validation function from the server's operating system and host processor, implementing it instead in the client's NW I/O device. This validation function checks whether received commands are valid and properly formatted before processing, thereby maintaining request handling reliability while freeing up substantial processor bandwidth for other tasks.
Solution Approach 2:
The patent introduces an intermediary validation layer in the client's NW I/O device that acts as a mediator between the client application and the server. This intermediary performs command validation locally, eliminating the need for the server's operating system and host processor to spend bandwidth validating each command, thus resolving the contradiction between reliable processing and bandwidth availability.
2Reliability
If the server's operating system, associated drivers, and host processor process requests received by the server's NW I/O device, then the requests can be properly handled and executed, but the amount of energy consumed and heat dissipated by the host processor increases
Solution Approach 1:
The patent extracts the computationally intensive command validation operations from the host processor and relocates them to the client's NW I/O device. This extraction maintains the reliability of request processing while significantly reducing the energy consumption and heat dissipation of the host processor, as validation is performed locally at the client side.
Solution Approach 2:
The patent implements self-service by enabling the client's NW I/O device to autonomously validate commands before transmission. This self-validation capability eliminates the need for the server's host processor to expend energy on validation operations, thereby reducing overall system energy consumption while maintaining processing reliability.
3Reliability
If the server's operating system, associated drivers, and host processor process requests received by the server's NW I/O device, then the requests can be properly handled and executed, but the latency involved in processing the requests issued by the client's NW I/O device increases
Solution Approach 1:
The patent applies preliminary action by performing command validation in advance at the client's NW I/O device before commands are transmitted to the server. This pre-validation ensures that only properly formatted and valid commands are sent, eliminating the need for the server's operating system and host processor to spend time on validation during request processing, thereby reducing overall latency while maintaining reliability.
Solution Approach 2:
The patent introduces an intermediary validation layer in the client's NW I/O device that performs command validation locally before transmission. This intermediary action reduces the processing latency at the server side by ensuring commands are already validated, while maintaining the reliability of request handling through proper validation checks.
Data Source
AI summary
Examples are disclosed for access to a storage device maintained at a server. In some examples, a network input/output device coupled to the server may allocate, in a memory of the server, a buffer, a doorbell, and a queue pair accessible to a client remote to the server. For these examples, the network input/output device may assign an Non-Volatile Memory Express (NVMe) namespace context to the client. For these examples, indications of the allocated buffer, doorbell, queue pair, and namespace context may be transmitted to the client. Other examples are described and claimed.


