×

System and method for implementing multi-pathing data transfers in a system area network

  • US 6,493,343 B1
  • Filed: 12/30/1998
  • Issued: 12/10/2002
  • Est. Priority Date: 01/07/1998
  • Status: Expired due to Term
First Claim
Patent Images

1. In a system area network (SAN) including multiple nodes coupled by a network fabric, a system for transferring data between a requestor node and a responder node, with the SAN implementing data transfers as a sequence of request/response packet pairs, a sub-system for managing ordered transactions requiring strict ordering of packet reception and remote direct memory access (RDMA) that allow out-of-order receipt of packets, said sub-system comprising:

  • a first network interface card, coupled to said requestor node, including request logic for maintaining a request sequence number for each transaction and transaction logic for translating ordered transaction requests or RDMA transaction requests into sequences of request packets and for including a packet sequence number equal to the request sequence number in each packet, with each packet including a packet order field having either a first value specifying that packets must be received in order or having a second value specifying that packets can be received out-of-order, and where, for an ordered transaction, the transaction logic sets said packet ordering field in each packet sent to the first value and increments the request sequence number for each packet sent, and where, for an unordered transaction, transaction logic sets said packet ordering field in each packet sent to the second value and does not increment the request sequence number for each packet sent; and

    a second network interface card, coupled to said responder node and coupled to receive request packets sent from said first network interface card, said second NIC including response logic for generating and sending a response packet for each received request packet if the packet sequence number is equal to the response sequence number, with said response logic maintaining a response sequence number, and with said response logic copying the packet sequence number from the received request packet into a corresponding response packet, incrementing the local value of the sequence number subsequent to sending a response packet if the packet sequence number is equal to the response sequence number and the packet ordering field of the corresponding received request packet is equal to the first value, and for not incrementing the local value of the sequence number if the packet ordering field is equal to the second value.

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