METHOD AND SYSTEM FOR SPLICING REMOTE DIRECT MEMORY ACCESS (RDMA) TRANSACTIONS IN AN RDMA-AWARE SYSTEM
First Claim
1. A method for transferring data in a communications system, the method comprising:
- receiving, at a network interface controller (NIC), a read request message that specifies data comprising at least one data stripe,;
generating, within said NIC, at least one address for retrieval of said at least one data stripe;
receiving, at said NIC, at least a portion of said at least one data stripe within at least one direct data placement (DDP) segment based on said generated at least one address; and
transmitting, from said NIC, said received at least a portion of said at least one data strip within at least one packet.
7 Assignments
0 Petitions
Accused Products
Abstract
Aspects of a system for splicing RDMA transactions in an RDMA system may include a main processor within a main server that may receive read requests from a client device. The main processor may translate a data reference contained in each read request to generate a physical buffer list (PBL). The processor 206 may communicate the PBL to a local processor within a NIC. The local processor may utilize the PBL perform RDMA operations to retrieve data stripes contained in one or more DDP segments received from a plurality of auxiliary servers. The local processor may enable the generation of TCP packets each containing the data stripes, which may then be sent to the client. The retrieval of DDP segments and generation of TCP packets may occur within the NIC without transferring retrieved data stripes via a system bus within the main server.
56 Citations
30 Claims
-
1. A method for transferring data in a communications system, the method comprising:
-
receiving, at a network interface controller (NIC), a read request message that specifies data comprising at least one data stripe,; generating, within said NIC, at least one address for retrieval of said at least one data stripe; receiving, at said NIC, at least a portion of said at least one data stripe within at least one direct data placement (DDP) segment based on said generated at least one address; and transmitting, from said NIC, said received at least a portion of said at least one data strip within at least one packet. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A machine-readable storage having stored thereon, a computer program having at least one code section for transferring data in a communications system, the at least one code section being executable by a machine for causing the machine to perform steps comprising:
-
receiving, at a network interface controller (NIC), a read request message that specifies data comprising at least one data stripe; generating, within said NIC, at least one address for retrieval of said at least one data stripe; receiving, at said NIC, at least a portion of said at least one data stripe within at least one direct data placement (DDP) segment based on said generated at least one address; and transmitting, from said NIC, said received at least a portion of said at least one data strip within at least one packet. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20)
-
-
21. A system for transferring data in a communications system, the system comprising:
-
at least one processor that enables reception, at a network interface controller (NIC), of a read request message that specifies data comprising at least one data stripe,; said at least one processor enables generation, within said NIC, of at least one address for retrieval of said at least one data stripe; said at least one processor enables reception, at said NIC, of at least a portion of said at least one data stripe within at least one direct data placement (DDP) segment based on said generated at least one address; and said at least one processor enables transmission, from said NIC, of said received at least a portion of said at least one data strip within at least one packet. - View Dependent Claims (22, 23, 24, 25, 26, 27, 28, 29, 30)
-
Specification