Techniques for Command Validation for Access to a Storage Device by a Remote Client
First Claim
Patent Images
1. An apparatus comprising:
- circuitry for a network input/output device coupled to a server;
a receive module for execution by the circuitry to receive a command from a client remote to the server, the command to provide the client access to a storage device controlled by a Non-Volatile Memory Express (NVMe) controller maintained at the server;
a validation module for execution by the circuitry to validate the command based, at least in part, on whether an operation code (Opcode) indicated in the command is supported by the network input/output device and on whether an index identifier indicated in the command associates the client with an NVMe Namespace Identifier allocated to the client; and
a report module for execution by the circuitry to indicate a status of the received command to the client, the status to include one of an invalid command or a completed command.
2 Assignments
0 Petitions
Accused Products
Abstract
Examples are disclosed for command validation for access to a storage device maintained at a server. In some examples, a network input/output device coupled to the server may receive the command from a client remote to the server. For these examples, elements or modules of the network input/output device may be capable of validating the command and reporting the status of the received command to the client. Other examples are described and claimed.
-
Citations
25 Claims
-
1. An apparatus comprising:
-
circuitry for a network input/output device coupled to a server; a receive module for execution by the circuitry to receive a command from a client remote to the server, the command to provide the client access to a storage device controlled by a Non-Volatile Memory Express (NVMe) controller maintained at the server; a validation module for execution by the circuitry to validate the command based, at least in part, on whether an operation code (Opcode) indicated in the command is supported by the network input/output device and on whether an index identifier indicated in the command associates the client with an NVMe Namespace Identifier allocated to the client; and a report module for execution by the circuitry to indicate a status of the received command to the client, the status to include one of an invalid command or a completed command. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A method comprising:
-
receiving, at a network input/output device coupled to a server, a command for a client remote to the server to access a storage device controlled by a Non-Volatile Memory Express (NVMe) controller maintained at the server; validating the command based on whether an operation code (Opcode) indicated in the command is supported by the network input/output device and on whether an index identifier indicated in the command associates the client with an NVMe Namespace Identifier allocated to the client; and indicating a status of the received command to the client as one of an invalid command or a completed command. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20)
-
-
21. At least one machine readable medium comprising a plurality of instructions that in response to being executed on a network input/output device coupled to a server cause the network input/output device to:
-
receive a command for a client remote to the server to access a storage device controlled by a Non-Volatile Memory Express (NVMe) controller maintained at the server, the command received in a packet compatible with a remote direct memory access (RDMA) protocol to include one of Internet Wide Area RDMA protocol (iWARP), Infinband or RDMA over Converged Ethernet (RoCE); validate the command based on whether an operation code (Opcode) indicated in the command is supported by the network input/output device and on whether an index identifier indicated in the command associates the client with an NVMe Namespace Identifier allocated to the client; and indicate a status of the received command to the client as one of an invalid command or a completed command. - View Dependent Claims (22, 23, 24, 25)
-
Specification