P
US10877685B2ActiveUtilityPatentIndex 42

Methods, devices and computer program products for copying data between storage arrays

Assignee: EMC IP HOLDING CO LLCPriority: Jul 20, 2018Filed: Jul 16, 2019Granted: Dec 29, 2020
Est. expiryJul 20, 2038(~12 yrs left)· nominal 20-yr term from priority
Inventors:FENG CHANGYUXU XINLEILI XIONGCHENGTANG HAIYINGZHANG XIAOBO
G06F 3/0688G06F 3/065G06F 3/0604G06F 3/0607G06F 3/0659G06F 16/903
42
PatentIndex Score
0
Cited by
3
References
22
Claims

Abstract

Techniques for copying data involve: in response to receiving a request for copying data in a source address to a destination address, sending a first query and a second query to a first array associated with the source address and a second array associated with the destination address; receiving, from the first array, a first identifier as a response to the first query, the first identifier indicating a first logical storage unit in the first storage array corresponding to the source address; receiving, from the second array, a second identifier as a response to the second query, the second identifier indicating a second logical storage unit in the second array corresponding to the destination address; and triggering, based on the first and second identifiers, an inter-array data copy to perform copying the data. The first and second identifiers are globally unique at least for the storage array being triggered.

Claims

exact text as granted — not AI-modified
We claim: 
     
       1. A method of copying data, comprising:
 in response to receiving a request for copying data in a source address to a destination address, sending a first query and a second query to a first storage array associated with the source address and a second storage array associated with the destination address; 
 receiving, from the first storage array, a first identifier as a response to the first query, the first identifier indicating a first logical storage unit in the first storage array corresponding to the source address; 
 receiving, from the second storage array, a second identifier as a response to the second query, the second identifier indicating a second logical storage unit in the second storage array corresponding to the destination address; and 
 triggering, based on the first and second identifiers, a storage array in the first and second storage arrays supporting inter-array data copy to perform copying the data, 
 the first and second identifiers being globally unique at least for the storage array being triggered. 
 
     
     
       2. The method of  claim 1 , wherein at least one of the first and second identifiers is a worldwide unique name (WWN). 
     
     
       3. The method of  claim 1 , wherein at least one of the first and second identifiers is a logical unit number of a logical storage unit in a corresponding storage array. 
     
     
       4. The method of  claim 1 , wherein the triggering comprises:
 determining whether the first and second storage arrays support the inter-array data copy. 
 
     
     
       5. A method of copying data, comprising:
 in response to receiving a command of copying data in a source address to a destination address, obtaining, at a first storage array, a first identifier associated with the source address and a second identifier associated with the destination address; 
 determining a first logical storage unit associated with the first identifier and a second logical storage unit associated with the second identifier, one of the first and second logical units being located in a second storage array outside the first storage array; and 
 copying, based on a small computer system interface (SCSI) command, the data in the source address of the first logical storage unit to the destination address of the second logical storage unit, 
 the first and second identifiers being globally unique at least for the first storage array. 
 
     
     
       6. The method of  claim 5 , wherein the first logical storage unit is located in the second storage array, wherein determining the first logical storage unit associated with the first identifier comprises:
 querying a logical storage unit list of at least one external storage array associated with the first storage array; 
 obtaining identifiers associated with logical storage units in the logical storage unit list; and 
 determining, from the logical storage list, the first logical storage unit associated with the first identifier. 
 
     
     
       7. The method of  claim 6 , wherein copying the data in the source address to the destination address comprises:
 reading, through a SCSI command, the data in the source address from the first logical storage unit; and 
 writing the data into the destination address in the second logical storage unit. 
 
     
     
       8. The method of  claim 5 , wherein the second logical storage unit is located in the second storage array, wherein determining the second logical storage unit associated with the second identifier comprises:
 querying a logical storage unit list of at least one external storage array associated with the first storage array; 
 obtaining identifiers associated with logical storage units in the logical storage unit list; and 
 determining, from the logical storage unit list, the second logical storage unit associated with the second identifier. 
 
     
     
       9. The method of  claim 8 , wherein copying data in the source address to the destination address comprises:
 reading the data in the source address from the first logical storage unit; and 
 writing, through a SCSI command, the data into the destination address in the second logical storage unit. 
 
     
     
       10. The method of  claim 5 , further comprising:
 establishing, based on preconfigured login information, a connection with the second storage array. 
 
     
     
       11. An electronic device, comprising:
 at least one processing unit; 
 at least one memory coupled to the at least one processing unit and storing an instruction executed by the at least one processing unit, the instruction, when executed by the at least one processing unit, causing the device to execute acts of:
 in response to receiving a request for copying data in a source address to a destination address, sending a first query and a second query to a first storage array associated with the source address and a second storage array associated with the destination address; 
 receiving, from the first storage array, a first identifier as a response to the first query, the first identifier indicating a first logical storage unit in the first storage array corresponding to the source address; 
 receiving, from the second storage array, a second identifier as a response to the second query, the second identifier indicating a second logical storage unit in the second storage array corresponding to the destination address; and 
 triggering, based on the first and second identifiers, a storage array in the first and second storage arrays supporting inter-array data copy to perform copying the data, 
 the first and second identifiers being globally unique at least for the storage array being triggered. 
 
 
     
     
       12. The device of  claim 11 , wherein at least one of the first and second identifiers is a worldwide unique name (WWN). 
     
     
       13. The device of  claim 11 , wherein at least one of the first and second identifiers is a logical unit number of a logical storage unit in a corresponding storage array. 
     
     
       14. The device of  claim 11 , wherein the triggering comprises:
 determining whether the first and second storage arrays support the inter-array data copy. 
 
     
     
       15. An electronic device, comprising:
 at least one processing unit; 
 at least one memory coupled to the at least one processing unit and storing an instruction executed by the at least one processing unit, the instruction, when executed by the at least one processing unit, causing the device to execute acts of:
 in response to receiving a command of copying data in a source address to a destination address, obtaining, at a first storage array, a first identifier associated with the source address and a second identifier associated with the destination address; 
 determining a first logical storage unit associated with the first identifier and a second logical storage unit associated with the second identifier, one of the first and second logical units being located in a second storage array outside the first storage array; and 
 copying, based on a Small Computer System Interface (SCSI) command, the data in the source address of the first logical storage unit to the destination address of the second logical storage unit, 
 the first and second identifiers being globally unique at least for the first storage array. 
 
 
     
     
       16. The device of  claim 15 , wherein the first logical storage unit is located in the second storage array, wherein determining the first logical storage unit associated with the first identifier comprises:
 querying a logical storage unit list of at least one external storage array associated with the first storage array; 
 obtaining identifiers associated with logical storage units in the logical storage unit list; and 
 determining, from the logical storage list, the first logical storage unit associated with the first identifier. 
 
     
     
       17. The device of  claim 16 , wherein copying the data in the source address to the destination address comprises:
 reading, through a SCSI command, the data in the source address from a first logical storage unit; and 
 writing the data into the destination address in a second logical storage unit. 
 
     
     
       18. The device of  claim 15 , wherein the second logical storage unit is located in the second storage array, wherein determining the second logical storage unit associated with in the second identifier comprises:
 querying a logical storage unit list of at least one external storage array associated with the first storage array; 
 obtaining identifiers associated with logical storage units in the logical storage unit; and 
 determining, from the logical storage unit list, the second logical storage unit associated with the second identifier. 
 
     
     
       19. The device of  claim 18 , wherein copying data in the source address to the destination address comprises:
 reading the data in the source address from the first logical storage unit; and 
 writing, through a SCSI command, the data into the destination address in the second logical storage unit. 
 
     
     
       20. The device of  claim 15 , the acts further comprising:
 establishing, based on preconfigured login information, a connection with the second storage array. 
 
     
     
       21. A computer program product having a non-transitory computer readable medium which stores a set of instructions to copy data; the set of instructions, when carried out by computerized circuitry, causing the computerized circuitry to perform a method of:
 in response to receiving a request for copying data in a source address to a destination address, sending a first query and a second query to a first storage array associated with the source address and a second storage array associated with the destination address; 
 receiving, from the first storage array, a first identifier as a response to the first query, the first identifier indicating a first logical storage unit in the first storage array corresponding to the source address; 
 receiving, from the second storage array, a second identifier as a response to the second query, the second identifier indicating a second logical storage unit in the second storage array corresponding to the destination address; and 
 triggering, based on the first and second identifiers, a storage array in the first and second storage arrays supporting inter-array data copy to perform copying the data, 
 the first and second identifiers being globally unique at least for the storage array being triggered. 
 
     
     
       22. A computer program product having a non-transitory computer readable medium which stores a set of instructions to copy data; the set of instructions, when carried out by computerized circuitry, causing the computerized circuitry to perform a method of:
 in response to receiving a command of copying data in a source address to a destination address, obtaining, at a first storage array, a first identifier associated with the source address and a second identifier associated with the destination address; 
 determining a first logical storage unit associated with the first identifier and a second logical storage unit associated with the second identifier, one of the first and second logical units being located in a second storage array outside the first storage array; and 
 copying, based on a small computer system interface (SCSI) command, the data in the source address of the first logical storage unit to the destination address of the second logical storage unit, 
 the first and second identifiers being globally unique at least for the first storage array.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.