×

Network interface adapter with shared data send resources

  • US 8,051,212 B2
  • Filed: 12/04/2001
  • Issued: 11/01/2011
  • Est. Priority Date: 04/11/2001
  • Status: Active Grant
First Claim
Patent Images

1. A network interface adapter, implemented on at least one integrated circuit chip and comprising:

  • a host interface, for coupling to a host processor;

    an outgoing packet generator, operative to generate an outgoing request packet for delivery to a remote responder responsive to a request submitted by the host processor via the host interface;

    a network output port, coupled to the outgoing packet generator to receive the outgoing request packet from the outgoing packet generator and to transmit the outgoing request packet over a network to the remote responder;

    a network input port, for coupling to the network to receive an incoming response packet from the remote responder, in response to the outgoing request packet sent thereto, and further to receive an incoming request packet sent by a remote requester; and

    an incoming packet processor, coupled to the network input port to receive and process both the incoming response packet and the incoming request packet, and further coupled to cause the outgoing packet generator, responsive to the incoming request packet, to generate, in addition to the outgoing request packet, an outgoing response packet for transmission via the network output port to the remote requester;

    wherein the outgoing request packet comprises an outgoing write request packet containing write data taken from a system memory accessible via the host interface;

    wherein the outgoing response packet comprises an outgoing read response packet containing read data taken from the system memory in response to the incoming request packet;

    wherein the incoming request packet comprises an incoming RDMA read request packet specifying data to be read from a system memory that is external to the network interface adapter and that is accessible via the host interface;

    wherein the incoming packet processor is operative to write a quasi-WQE to a first memory location, in the system memory, indicating the data to be read from the system memory responsive to the incoming RDMA read request packet;

    wherein the outgoing packet generator is operative to read the quasi-WQE from the first memory location and, responsive thereto, to read the indicated data and to generate the outgoing response packet containing the indicated data;

    wherein the outgoing packet generator comprises a hardware gather engine, which is coupled to gather both the write data and the read data from the system memory for inclusion in the respective outgoing request and response packets via a commonly shared data flow path from the system memory to the network output port; and

    wherein to submit the request, the host processor writes a request descriptor indicative of the write data to a second memory location, and wherein the hardware gather engine is operative to read information from the quasi-WQE and from the request descriptor and to gather the read data and the write data responsive thereto.

View all claims
  • 3 Assignments
Timeline View
Assignment View
    ×
    ×