TRANSFERRING DATA OVER A REMOTE DIRECT MEMORY ACCESS (RDMA) NETWORK
Embodiments that provide one-shot remote direct memory access (RDMA) are provided. In one embodiment, a single command for a completion process of a remote direct memory access (RDMA) operation is received in a computing device. The computing device executes the completion process of the RDMA operation in response to the single command being received.
1 . A host device, comprising:
a driver configured to provide a single command for an initiation process of a remote direct memory access (RDMA) operation;
a network interface in communication with the driver, wherein the network interface is configured to:
receive the single command from the driver;
execute the initiation process of the RDMA operation in response to the command being received; and
transfer data over an RDMA network subsequent to the initiation process being executed.
2 . The host device of claim 1 , wherein the single command comprises buffer command information and a write command.
3 . The host device of claim 1 , wherein the single command comprises a command to bind at least a portion of a memory buffer to a steering tag.
4 . The host device of claim 1 , wherein the single command provides scatter/gather (SGL) information.
5 . The host device of claim 1 , wherein the network interface is configured to transmit a send command to another host device in response to the single command.
6 . The host device of claim 1 , wherein the initiation process is a one-shot initiation process.
7 . The host device of claim 1 , wherein the driver is configured to provide a steering tag value in a header field of the single command.
8 . A method, comprising:
receiving, in a computing device, a single command for a completion process of a remote direct memory access (RDMA) operation; and
executing, in the computing device, the completion process of the RDMA operation in response to the single command being received.
9 . The method of claim 8 , wherein the single command is generated by a driver in the computing device.
10 . The method of claim 9 , wherein the completion process is executed by a network interface in the computing device.
11 . The method of claim 8 , wherein the single command comprises a send complete indication.
12 . The method of claim 8 , comprising receiving, in the computing device, a message comprising a steering tag value that is associated with a remote device.
13 . The method of claim 12 , wherein the message comprises data that indicates a validity of the steering tag value.
14 . The method of claim 12 , comprising, de-associating, in the computing device, the steering tag value with at least a portion of a resource that is associated with the steering tag value.
15 . The method of claim 8 , wherein:
the single command is generated by a driver in the computing device; and
the completion process is executed by a network interface card that is in communication with the driver.
16 . A computing device, comprising:
circuitry that receives a single command for a remote direct memory access (RDMA) operation;
circuitry that executes at least one of an initiation process or a completion process of the RDMA operation in response to the single command; and
circuitry that transfers data over an RDMA network in response to the single command.
17 . The computing device of claim 16 , wherein the single command comprises a send complete indication.
18 . The computing device of claim 16 , wherein the single command comprises an instruction to write an RDMA send message.
19 . The computing device of claim 16 , wherein the single command comprises a steering tag value.
20 . The computing device of claim 16 , wherein the circuitry that receives and the circuitry that executes are located in a network interface in the computing device.