# US 7,411,958 B2 · Method and system for transferring data directly between storage devices in a storage area network

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 7,411,958 B2
- Document ID: US7411958B2
- Status: Granted
- Kind: B2
- Application number: 10/956,717
- Filed: 2004-10-01
- Published: 2006-04-06
- Granted: 2008-08-12
- Earliest claimed: 2004-10-01
- Assignees: QLOGIC, Corporation
- Inventors: Frank R. Dropps; Kevin M. Wurzer
- Web page: https://patentgrep.com/patent/US7411958B2

## CPC

- G06F 3/0659: {Command handling arrangements, e.g. command buffers, queues, command scheduling}
- G06F 3/0605: {by facilitating the interaction with a user or administrator}
- G06F 3/065: {Replication mechanisms}
- G06F 3/0683: {Plurality of storage devices}
- H04L 49/101: using crossbar or matrix
- H04L 49/358: {Infiniband Switches}
- H04L 49/3009: {Header conversion, routing tables or routing tags}
- H04L 49/357: {Fibre channel switches}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

A method and system for performing a copy operation between storage devices coupled to a Fiber Channel switch element is provided. The Fiber Channel switch element receives a user command to copy data from a source storage device to a destination storage device and controls the copying operation. The Fiber Channel switch acts as a SCSI initiator and initiates a write operation for the destination storage device and initiates a read operation for the source storage device; and uses an alias cache for intercepting messages between the destination and source storage devices. A RX_ID mapping cache is used to substitute a RX_ID so that that a Fiber Channel write target appears to the source storage device as the destination storage device, and to the destination storage device a Fiber Channel read target appears to be the source storage device.

## Claims

### Claim 1

A method for copying data stored at a source storage device to a destination storage device, the source storage device and the destination storage device being operationally coupled to a Fibre Channel switch, comprising:
receiving a copy command via a user interface to copy information from the source storage device to the destination storage device, wherein the Fibre Channel switch receives the copying command;
the Fibre Channel switch logging into the source storage device and the destination storage device, instead of the source storage device and the destination storage device logging into the Fibre Channel switch;
initiating a write operation with the destination target storage device, wherein the Fibre Channel switch (a) initiates the write operation by sending a write command to the destination storage device; (b) sets a source address of the source storage device from where data is to be copied making it appear to the destination storage device as if the source storage device initiated the write operation; and (c) assigns an originator exchange identification field (OX_ID) for an exchange;
receiving a response from the destination storage device; wherein the response includes a destination identifier (D_ID) for the source storage device and the destination storage device sets a responder identification field (RX_ID) for the exchange;
routing the response received from the destination storage device to a switch processor for the Fibre Channel switch, instead of directly sending the response to the source storage device;
initiating a read command with the source storage device, wherein the Fibre Channel switch initiates the read command by setting the destination storage device address as a source address for the read command making it appear to the source storage device that the destination storage device initiated the read command;
routing data directly from the source storage device to the destination source device; and
substituting a RX_ID in the response received from the destination storage device with a RX_ID received from the source storage device so that the destination storage device receives an expected RX_ID.

### Claim 2 (depends on 1)

The method of claim 1, wherein data is routed directly from the source storage device to the destination storage device without being intercepted by the Fibre Channel switch.

### Claim 3 (depends on 1)

The method of claim 1, wherein an alias cache module in the Fibre Channel switch intercepts and routes control frames that are received from the source storage device and the destination storage device.

### Claim 4 (depends on 1)

The method of claim 1, wherein a RX_ID mapping cache in he Fibre Channel switch is used for substituting RX_ID values that are received from the source storage device and the destination storage device so that the source storage device and the destination storage device each receive an expected RX_ID.

### Claim 5 (depends on 1)

The method of claim 1, wherein cyclic redundancy code is updated for frames with substituted RX_ID and the Fibre Channel switch updates the cyclic redundancy code.

### Claim 6 (depends on 1)

The method of claim 1, wherein the Fibre Channel switch performs a N_Port to N_Port, (PLOGI) operation.

### Claim 7 (depends on 6)

The method of claim 6, wherein the Fibre Channel Switch performs a process login (PRLI) operation for establishing a small computer systems interface (SCSI) based connection.

### Claim 8

A method for copying data during a copying operation from a source storage device to a destination storage device, where the source storage device and the destination storage device are operationally coupled to a Fibre Channel switch, comprising:
receiving a user command to copy the data from the source storage device to the destination storage device, wherein the Fibre Channel switch (a) receives the user command; (b) initiates a write operation with the destination storage device and a read operation with the source storage device to copy data from the source storage device to the destination storage device; (c) intercepts messages received from both the source storage device and the destination storage device; (d) substitutes a responder identification field (RX13 ID) value received from the destination storage device with a RX_ID value received from the source storage device so that the destination storage device receives an expected RX_ID; and (e) controls the copying operation such that the Fibre Channel switch appears to the source storage device as the destination storage device, and to the destination storage device the Fibre Channel switch appears to be the source storage device.

### Claim 9 (depends on 8)

The method of claim 8, wherein the Fibre Channel switch acts as a small computer systems interface (SCSI) initiator and initiates the write operation for the destination storage device and initiates a read operation for the source storage device.

### Claim 10 (depends on 8)

The method of claim 8, wherein the Fibre Channel switch includes an alias cache for intercepting the messages between the destination storage device and the source storage device.

### Claim 11 (depends on 8)

The method of claim 8, wherein a RX_ID mapping cache for the Fibre Channel switch is used to substitute a RX_ID so that that a Fibre Channel write target appears to the source storage device as the destination storage device, and to the destination storage device a Fibre Channel read target appears to be the source storage device.

### Claim 12 (depends on 8)

The method of claim 8, wherein cyclic redundancy code is updated for frames with substituted RX_ID and the Fibre Channel switch updates the cyclic redundancy code.

### Claim 13 (depends on 8)

The method of claim 8, wherein the Fibre Channel switch performs a N_Port to N_Port (PLOGI) operation.

### Claim 14 (depends on 13)

The method of claim 13, wherein the Fibre Channel Switch performs a process login (PRLI) operation for establishing a small computer systems interface (SCSI) based connection.

### Claim 15

A storage area network having at least a host computing system, a source storage device and a destination storage device operationally coupled to each other, comprising:
a Fibre Channel switch that receives a user command to copy the data from the source storage device to the destination storage device, wherein the Fibre Channel switch (a) receives the user command; (b) initiates a write operation with the destination storage device and a read operation with the source storage device to copy data from the source storage device to the destination storage device; (c) intercepts messages received from both the source storage device and the destination storage device; (d) substitutes a responder identification field (RX_ID) value received from the destination storage device with a RX_ID value received from the source storage device so that the destination storage device receives an expected RX_ID; and (e) controls the copying operation such that the Fibre Channel switch appears to the source storage device as the destination storage device, and to the destination storage device the Fibre Channel switch appears to be the source storage device.

### Claim 16 (depends on 15)

The storage area network of claim 15, wherein the Fibre Channel switch acts as a small computer systems interface (SCSI) initiator and initiates the write operation for the destination storage device and initiates a read operation for the source storage device.

### Claim 17 (depends on 15)

The storage area network of claim 15, wherein the Fibre Channel switch includes an alias cache for intercepting the messages between the destination storage device and the source storage device.

### Claim 18 (depends on 15)

The storage area network of claim 15, wherein a RX13 ID mapping cache for the Fibre Channel switch is used to substitute a RX_ID so that that a Fibre Channel write target appears to the source storage device as the destination storage device, and to the destination storage device a Fibre Channel read target appears to be the source storage device.

### Claim 19 (depends on 15)

The storage area network of claim 15, wherein cyclic redundancy code is updated for frames with substitute RX_ID and the Fibre Channel switch updates the cyclic redundancy code.

### Claim 20 (depends on 15)

The storage area network of claim 15, wherein the Fibre Channel switch performs a N_Port to N_Pot (PLOGI) operation.

### Claim 21 (depends on 20)

The storage area network of claim 20, wherein the Fibre Channel Switch performs a process login (PRLI) operation for establishing a small computer systems interface (SCSI) based connection.

### Claim 22

A Fibre Channel switch operationally coupled to a host system, a source storage device and a destination storage device, comprising:
a switch software module for the Fibre Channel switch that receives a user command for a copying operation to copy data from the source storage device to the destination storage device, wherein after receiving the user command, the Fibre Channel switch (a) initiates a write operation with the destination storage device and a read operation with the source storage device to copy data from the source storage device to the destination storage device; (b) intercepts messages received from both the source storage device and the destination storage device; (c) substitutes a responder identification field (RX_ID) value received from the destination storage device with a RX_ID value received from the source storage device so that the destination storage device receives an expected RX_ID; (d) controls the copying operation such that the Fibre Channel switch appears to the source storage device as the destination storage device, and to the destination storage device the Fibre Channel switch appears to be the source storage device.

### Claim 23 (depends on 22)

The Fibre Channel switch of claim 22, wherein the Fibre Channel switch acts as a SCSI initiator and initiates a write operation for the destination storage device and initiates a read operation for the source storage device.

### Claim 24 (depends on 22)

The Fibre Channel switch of claim 22, wherein the Fibre Channel switch acts as a small computer systems interface (SCSI) initiator and initiates the write operation for the destination storage device and initiates a read operation for the source storage device.

### Claim 25 (depends on 22)

The Fibre Channel switch of claim 22, wherein a RX_ID mapping cache for the Fibre Channel switch is used to substitute a RX_ID so that that a Fibre Channel write target appears to the source storage device as the destination storage device, and to the destination storage device a Fibre Channel read target appears to be the source storage device.

### Claim 26 (depends on 22)

The Fibre Channel switch of claim 22, wherein cyclic redundancy code is updated for frames with substituted RX_ID an the Fibre Channel switch updates the cyclic redundancy code.

### Claim 27 (depends on 22)

The Fibre Channel switch of claim 22, wherein the Fibre Channel switch performs a N_Port to N_Port (PLOGI) operation.

### Claim 28 (depends on 27)

The Fibre Channel switch of claim 27, wherein the Fibre Channel Switch performs a process login (PRLI) operation for establishing a small computer systems interface (SCSI) based connection.
