Patent ID: 7552294

Claim:
A method for processing multiple Small Computer System Interface (SCSI) extended copy commands, comprising: at a copy manager, wherein the copy manager is a network device running a copy manager program: receiving SCSI extended copy commands from one or more host applications running on one or more computers communicatively coupled to the copy manager, wherein each of the SCSI extended copy commands specifies a thread of data blocks to be moved from one or more source devices in a storage area network (SAN) to a destination device in the SAN; concurrently executing at least two SCSI extended copy commands that specify data transfer from multiple source devices to a storage device in the SAN, wherein concurrently executing the at least two SCSI extended copy commands further comprises: building one or more read commands for each segment descriptor in the at least two SCSI extended copy commands; issuing the read commands to the multiple source devices in the SAN; receiving blocks of data from the multiple source devices, wherein the blocks of data correspond to different threads specified in the at least two SCSI extended copy commands; interleaving the threads in a queue internal to the copy manager; as the blocks of data are stored in the queue, creating write commands and accumulating metadata, wherein each of the write commands corresponds to a particular SCSI extended copy command and wherein the metadata for each block of data comprises a thread identification and a sequence in which the block of data is written; and streaming the blocks of data from the copy manager to the storage device in the SAN in the order received from the multiple source devices.