Patent ID: 7451283

Claim:
A method for copying tracks between a primary controller and secondary controller, comprising: receiving a track from the primary controller that is part of a copy job comprising a sequence of tracks to copy along with a sequence number of the received track and a context number identifying computational resources in the primary controller assigned by the primary controller to a copy task used to transmit the track, sequence number, and context number as part of the copy job, wherein the primary controller executes multiple copy tasks to copy tracks to the secondary controller for different copy jobs, wherein different context numbers identify different copy tasks in the primary controller copying tracks to the secondary controller as part of different copy jobs; receiving, with the received track, an index associated with the context number identifying one copy task, wherein the index is incremented when the computational resources identified by the context number are assigned to a new copy task; using the context number and sequence number transmitted with the track to determine if a track preceding the received track was written to storage; and writing with the secondary controller the received track to storage if the track preceding the received track was written to storage; updating a record for the context number included with the transmitted track indicating the context number and a last written sequence number of the track recently written to the storage, and wherein the preceding track is determined to not have been written to storage if the received sequence number does not sequentially follow the last written sequence number in the record; and updating the record for the context number with the index included with the received track in response to updating the last written sequence number of the track.