Patent ID: 7526574

Claim:
A method for transferring data, comprising: receiving a request comprising a write request conforming to a first data transfer protocol at an initiator node to transmit to a target node, wherein the request includes a request identifier in the first data transfer protocol; obtaining a reference to a memory location to use for the request using a second data transfer protocol, wherein the reference is used by the second data transfer protocol; adding an entry to an initiator map associating the reference to the memory location for the second data transfer protocol with the request identifier for the first data transfer protocol, wherein the map includes two entries associated with the request identifier, one write reference identifying initiator memory at the initiator node including the data to write and one read reference identifying target memory at the target node into which the data to write is transferred at the target; and transferring, using the second data transfer protocol, the request with the request identifier and the reference to the memory location; receiving an invalidate message in the second data transfer protocol from the target node including one reference in the second data transfer protocol and the request identifier in the first data transfer protocol; invalidating, with adaptor hardware in the initiator node, the reference in the invalidate message; determining, with an adaptor driver in the initiator node, from the map the write and read references associated with the request identifier in the invalidate message; determining, with the adaptor driver, whether the invalidated reference in the invalidate message matches one reference in the determined write and read references from the map; invalidating, with the adaptor driver, one reference in the initiator map, and ignoring the error condition when the invalidated reference does not match one of the write and read references; and invalidating the reference in one of the two determined entries not included in the invalidate message.