System and method for implementing multi-pathing data transfers in a system area network
AssigneeHewlett-Packard Development Company, L.P.
InventorsDavid J. Garcia, Richard O. Larson
Life of this patent
Estimating the term…
Abstract
A system and method for facilitating both in-order and out-of-order packet reception in a SAN includes requestor and responder nodes that maintain local copies of a message sequence number. Each request packet includes an ordering field specifying whether the packets must be received in-order. The request node includes a copy of the local sequence number in each packet transmitted and increments its local copy of the sequence number only for packets that must be received in order. The responder node includes the received message sequence number in all response packets and increments its local copy of the message sequence number only if the ordering field specifies that the packets must be received in order.
Claims20
In a system area network (SAN) interconnecting a requestor and a responder, a sub-system for managing ordered transactions requiring strict ordering of packet reception and remote direct memory access that allow out-of-order receipt of packets, the sub-system comprising:
- a first network interface card (NIC) interconnecting the requestor and the SAN for transferring a request packet from the requestor to the responder, the first NIC being configured to locally maintain a request sequence number for the request packet and to provide the request packet with the request sequence number and a packet order field that is set to a first value or a second value, wherein the first value specifies an ordered transaction requiring packets to be received in order in which case the request sequence number is incremented for each transferred request packet, and wherein the second value specifies an unordered transaction allowing packets to be received out-of-order in which case the request sequence number remains unchanged with transmission of request packets;
- and
- a second NIC interconnecting the responder to the SAN for receiving the request packet and transferring a response packet, the second NIC being configured to locally maintain a response sequence number that is incremented subsequent to sending the response packet if the packet order field of the corresponding received request packet is set to the first value and is not incremented if the packet order field is set to the second value.
In a system area network (SAN) interconnecting a requestor and a responder that transfer data as a sequence of request and response packets with a sub-system having a first network interface card (NIC) and a second NIC, a method for managing ordered transactions requiring strict ordering of packet reception and remote direct memory access that allows out-of-order receipt of packets, the method comprising the steps of:
- at the first NIC of the subsystem,
- generating a request packet, a packet order field, and a request sequence number,
- setting the packet order field to a first value for an ordered transaction wherein packets are to be received in order and the request sequence number is incremented for each transferred request packet;
- and
- setting the packet order field to a second value for an unordered transaction wherein packets are to be received out-of-order and the request sequence number remains unchanged with the transmission of request packets;
- and
- at the second NIC of the subsystem,
- receiving the request packet and transferring a response packet, and
- maintaining a local response sequence number that is incremented subsequent to transferring the response packet if the packet order field of the received request packet is set to the first value and is not incremented if the packet order field is set to the second value.
In a system area network (SAN) for data transfer of transaction packets between a requestor and a responder, a sub-system for managing ordered transactions and unordered transactions, the sub-system comprising:
- a first network interface card (NIC) interconnecting the requestor and the SAN, the first NIC being configured to generate a request packet having a request sequence number corresponding to each request packet and a packet order field that has a first value specifying that packets of the transaction are ordered and a second value specifying that packets of the transaction are unordered such that if the packets of the transaction are ordered, the request sequence number is incremented upon transmitting the packet;
- and
- a second NIC interconnecting the responder and the SAN, the second NIC being configured to generate a response packet for each request packet received and maintain a local request sequence number that is incremented if the packet order field of the corresponding received request packet is equal to the first value.
A sub-system to transfer packets of a transaction between a requestor and a responder of a system area network (SAN), the sub-system comprising:
- first network interface means interconnecting the requestor and the SAN, the first network interface means for generating a request packet, a request sequence number corresponding to each request packet, and a packet order field for each transaction wherein the packet order field has a first value specifying that the transaction is an ordered transaction requiring the packets to be received in order such that the request sequence number is incremented upon transmitting the request packet and a second value specifying that the transaction is an unordered transaction allowing the packets to be received out-of-order;
- and
- second network interface means interconnecting the requestor to the SAN, the second network interface means for generating a response packet for each request packet received and maintaining a local request sequence number that is incremented if the packet order field of the request packet is the first value.
Dependencies are inferred from the claim text.