IP Library Granted Patent US 10,877,685
Granted Patent B2
US 10,877,685 · App. 16/512,639 · Granted Dec 29, 2020

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

Inventors: Changyu Feng (Beijing, CN); Xinlei Xu (Beijing, CN); Xiongcheng Li (Beijing, CN); Haiying Tang (Beijing, CN); Xiaobo Zhang (Beijing, CN)
Assignee: EMC IP Holding Company LLC
G06F3/065G06F3/0607G06F3/0659G06F3/0688G06F16/903
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,877,685
App. No.
16/512,639
Granted
Dec 29, 2020
Kind
B2
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 (77)

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.

Assignments (9)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053311/0169) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 060438/0742 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (050724/0571) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 060436/0088 →
RELEASE OF SECURITY INTEREST AT REEL 050406 FRAME 421 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 058213/0825 →
SECURITY INTEREST Recorded Jun 5, 2020
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 053311/0169 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Oct 15, 2019
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 050724/0571 →
SECURITY AGREEMENT Recorded Sep 17, 2019
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 050406/0421 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 28, 2019
From: FENG, CHANGYU; XU, XINLEI; LI, XIONGCHENG; TANG, HAIYING; ZHANG, XIAOBO
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 050201/0581 →