Patent ID: 8255475

Claim:
An input/output (I/O) device, comprising: a host interface for connection to a host device having a memory; a network interface, which is configured to transmit and receive, over a network, data packets associated with I/O operations directed to specified virtual addresses in the memory; and packet processing hardware, which is configured to translate the virtual addresses into physical addresses and to perform the I/O operations, using the physical addresses, concurrently for multiple transport service instances, comprising at least a first transport service instance that is assigned to a virtual machine running in a guest domain on the host device and a second transport service instance, wherein the packet processing hardware is configured, upon an occurrence of a page fault in translating one of the virtual addresses for the first transport service instance, to send an event notification to a driver program, selected from a set of event notifications consisting of a guest event notification, which causes the driver program to service the page fault in the guest domain, and a host event notification, which causes the driver program to service the page fault in a host domain, while at least the second transport service instance continues to access the memory while the page fault is being serviced.