Infiniband TM work queue to TCP/IP translation
First Claim
1. A TCP-aware target adapter, for accelerating TCP/IP connections between a plurality of clients and a plurality of servers, the plurality of servers being accessed via an Infiniband fabric, the plurality of clients being accessed via a TCP/IP network, the TCP-aware target adapter comprising:
- an accelerated connection processor, configured to bridge TCP/IP transactions between the plurality of clients and the plurality of servers, wherein said accelerated connection processor accelerates the TCP/IP connections by bypassing a TCP/IP stack employed in one or more of the plurality of servers by issuing Infiniband remote direct memory access operations to retrieve/provide transaction data from/to the plurality of servers, wherein said accelerated connection processor comprises;
a connection correlator, configured to map TCP/IP connection parameters with a target work queue number for each of a plurality of accelerated TCP/IP connections, wherein said target work queue number corresponds to a work queue pair; and
a target channel adapter, coupled to said accelerated connection processor, configured to support Infiniband operations with the plurality of servers, and configured to execute said Infiniband remote direct memory access operations to retrieve/provide said transaction data responsive to said Infiniband remote direct memory access operations issued to said work queue pair, wherein said accelerated connection processor handles TCP/IP processing of said transaction data;
whereby the TCP/IP connections are accelerated by offloading TCP/IP processing performed by the plurality of servers to retrieve/provide said transaction data.
7 Assignments
0 Petitions
Accused Products
Abstract
A TCP-aware target adapter for accelerating TCP/IP connections between clients and servers, where the servers are interconnected over an Infiniband™ fabric and the clients are interconnected over a TCP/IP-based network. The TCP-aware target adapter includes an accelerated connection processor and a target channel adapter. The accelerated connection processor bridges TCP/IP transactions between the clients and the servers. The accelerated connection processor accelerates the TCP/IP connections prescribing Infiniband remote direct memory access operations to retrieve/provide transaction data from/to the servers. The target channel adapter is coupled to the accelerated connection processor. The target channel adapter supports Infiniband operations with the servers, including execution of the remote direct memory access operations to retrieve/provide the transaction data. The TCP/IP connections are accelerated by offloading TCP/IP processing otherwise performed by the servers to retrieve/provide said transaction data.
127 Citations
40 Claims
-
1. A TCP-aware target adapter, for accelerating TCP/IP connections between a plurality of clients and a plurality of servers, the plurality of servers being accessed via an Infiniband fabric, the plurality of clients being accessed via a TCP/IP network, the TCP-aware target adapter comprising:
-
an accelerated connection processor, configured to bridge TCP/IP transactions between the plurality of clients and the plurality of servers, wherein said accelerated connection processor accelerates the TCP/IP connections by bypassing a TCP/IP stack employed in one or more of the plurality of servers by issuing Infiniband remote direct memory access operations to retrieve/provide transaction data from/to the plurality of servers, wherein said accelerated connection processor comprises; a connection correlator, configured to map TCP/IP connection parameters with a target work queue number for each of a plurality of accelerated TCP/IP connections, wherein said target work queue number corresponds to a work queue pair; and a target channel adapter, coupled to said accelerated connection processor, configured to support Infiniband operations with the plurality of servers, and configured to execute said Infiniband remote direct memory access operations to retrieve/provide said transaction data responsive to said Infiniband remote direct memory access operations issued to said work queue pair, wherein said accelerated connection processor handles TCP/IP processing of said transaction data; whereby the TCP/IP connections are accelerated by offloading TCP/IP processing performed by the plurality of servers to retrieve/provide said transaction data. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. An apparatus in a server connected to an Infiniband fabric for implementing accelerated TCP/IP connections between the server and clients, the clients being connected to a TCP/IP network, the apparatus comprising:
-
a connection acceleration driver, configured to manage the accelerated TCP/IP connections, wherein said connection acceleration driver designates memory locations within server memory such that transaction data can be retrieved/provided via Infiniband remote direct memory access operations, wherein said connection acceleration driver comprises; correlation logic, configured to map TCP/IP connection parameters with a host work queue number for each of the accelerated TCP/IP connections, wherein said host work queue number corresponds to a work queue pair; and a host channel adapter, coupled to said connection acceleration driver, configured to execute Infiniband operations via the Infiniband fabric, and configured to execute direct memory access functions to retrieve/provide said transaction data responsive to said Infiniband remote direct memory access operations issued to said work queue pair, wherein an accelerated connection processor handles TCP/IP processing of said transaction data; whereby the accelerated TCP/IP connections offload TCP/IP processing performed by the server by bypassing a TCP/IP stack employed in the server to retrieve/provide said transaction data. - View Dependent Claims (9, 10, 11, 12, 13)
-
-
14. An apparatus within a client-server environment for managing an accelerated TCP/IP connection between a server connected to an Infiniband fabric and a client connected to a TCP/IP network, the apparatus comprising;
-
a host driver, for providing a host work queue pair through which transaction data corresponding to the accelerated TCP/IP connection is transmitted/received via the Infiniband fabric; and a TCP-aware target adapter, coupled to said host driver, for providing a target work queue pair corresponding to said host work queue pair, and for executing a remote direct memory access operation to receive/transmit said transaction data via the Infiniband fabric, wherein said TCP-aware target adapter receives/transmits said transaction data responsive to said remote direct memory access operation issued to said target work queue pair, and wherein said TCP-aware target adapter handles TCP/IP processing of said transaction data, said TCP-aware target adapter comprises; a connection correlator, for mapping TCP/IP connection parameters for the accelerated connection with a target work queue number corresponding to said target work queue pair; whereby the accelerated TCP/IP connection offloads TCP/IP processing performed by the server by bypassing a TCP/IP stack employed in the server to receive/transmit said transaction data. - View Dependent Claims (15, 16, 17, 18, 19)
-
-
20. A method for accelerating TCP/IP connections in a client-server environment having clients that are connected to a TCP/IP network and servers that are connected to an Infiniband fabric, the method comprising:
-
mapping TCP/IP connection parameters for accelerated connections to corresponding host and target work queue numbers that correspond to host and target work queue pairs; offloading TCP/IP processing performed by the servers by bypassing a TCP/IP stack employed in one or more of the servers by executing Infiniband remote direct memory access operations to retrieve/transmit data associated with the accelerated connections from/to memory within the servers; issuing the Infiniband remote direct memory access operations to said target work queue pairs; and providing the data to/from a TCP-aware target adapter responsive to said issuing;
wherein the TCP-aware target adapter handles TCP/IP processing of said data. - View Dependent Claims (21, 22, 23)
-
-
24. A method for offloading server TCP/IP processing in a client-server environment, comprising:
-
bypassing a TCP/IP stack employed in a server utilizing remote direct memory access operations via an Infiniband fabric to directly access data from/to server memory, wherein the data is provided to/from a TCP-aware target adapter, the TCP-aware target adapter providing native network ports that connect to clients, wherein said utilizing comprises; mapping TCP/IP connection parameters for a particular TCP/IP connection with a work queue number that corresponds to a work queue pair within the TCP-aware target adapter; issuing remote direct memory access requests to the work queue pair; and providing the data to/from the TCP-aware target adapter responsive to said issuing, wherein the TCP-aware target adapter handles TCP/IP processing of said data; and via the TCP-aware target adapter, generating native network transactions to transfer the data to/from clients. - View Dependent Claims (25)
-
-
26. A TCP-aware target adapter, for accelerating TCP/IP connections between a plurality of clients and a plurality of server, the plurality of servers being accessed via an Infiniband fabric, the plurality of clients being accessed via a TCP/IP network, the TCP-aware target adapter comprising:
-
an accelerated connection processor, configured to bridge TCP/IP transactions between the plurality of clients and the plurality of servers, wherein said accelerated connection processor accelerates the TCP/IP connections by bypassing a TCP/IP stack employed in one or more of the plurality of servers by issuing remote direct memory access operations to retrieve/provide transaction data from/to the plurality of servers, and wherein said accelerated connection processor comprises; a connection correlator, configured to map TCP/IP connection parameters which uniquely identify the TCP/IP connections with corresponding work queue numbers, wherein said work queue numbers correspond to work queue pairs; and a target channel adapter, coupled to said accelerated connection processor, configured to support Infiniband operations with the plurality of servers, and configured to retrieve/provide said transaction data responsive to said remote direct memory access operations issued to said work queue pairs, wherein said accelerated connection processor handles TCP/IP processing of said transaction data, and configured to route said transaction data to/from the plurality of clients as embedded payloads within Infiniband packets; whereby the TCP/IP connections are accelerated by offloading TCP/IP processing performed by the plurality of servers to retrieve/provide said transaction data. - View Dependent Claims (27, 28, 29, 30, 31, 32, 33, 34)
-
-
35. An Infiniband-to-native protocol translation apparatus, for routing TCP/IP transactions between a plurality of clients and a plurality of Infiniband devices, the plurality of Infiniband devices being accessed via an Infiniband fabric, the plurality of clients being accessed via a TCP/IP network, the Infiniband-to-native protocol translation apparatus comprising:
an unaccelerated connection processor, configured to bridge the TCP/IP transactions between the plurality of clients and the plurality of Infiniband devices by encapsulating/stripping TCP/IP packets within/from Infiniband raw packets, said unaccelerated connection processor comprising; an unaccelerated connection correlator, for mapping native addresses to/from Infiniband local identifiers and work queue numbers, wherein said work queue numbers correspond to work queue pairs; and a target channel adapter, coupled to said unaccelerated connection processor, configured to receive/transmit said Infiniband raw packets from/to the plurality of Infiniband devices responsive to remote direct memory access operations issued to said work queue pairs;
wherein said unaccelerated connection processor encapsulates/strips said TCP/IP packets within/from Infiniband raw packets according to said mapping.- View Dependent Claims (36, 37, 38, 39, 40)
Specification