| CPC G06F 13/28 (2013.01) [G06F 2213/28 (2013.01)] | 17 Claims |

|
1. Apparatus for performing direct memory access (“DMA”) between memory of a host and memory of a smart network interface controller (“SNIC”) connected to a bus of the host, the apparatus comprising:
a host thread running in a processor of the host for fetching data directly from and writing data directly to the memory of the SNIC over the bus using a first memory address of the memory of the SNIC, the host thread being configured to send a DMA command to the SNIC, the DMA command including a command ID that requests resource allocation for a virtual device function stored in a memory of the SNIC; and
a SNIC thread running in a processor of the SNIC for fetching data directly from and writing data directly to the memory of the host over the bus using a second memory address of the memory of the host, the SNIC thread being configured to, upon completing a data transfer operation, write a completion flag to the memory location or status register with the virtual device function, and to interrupt the host processor to signal completion of the operation.
|