IP Library Granted Patent US 10,789,006
Granted Patent B1
US 10,789,006 · App. 16/410,706 · Granted Sep 29, 2020

Path-based data migration from source device to target device

Inventors: Kurumurthy Gokam (Bangalore, IN); Sanjib Mallick (Bangalore, IN)
Assignee: EMC IP Holding Company LLC
G06F3/0647G06F3/061G06F3/067G06F3/0635G06F3/0665
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,789,006
App. No.
16/410,706
Granted
Sep 29, 2020
Kind
B1
Abstract

A host device comprises a current multi-path input-output (MPIO) driver that is configured to group paths from the host device to a source logical volume into a source multi-path logical device. A source multi-path logical device for a target MPIO driver is generated that has the same group of paths as the source multi-path logical device of the current MPIO driver. The source multi-path logical device of the target MPIO driver is added as a path in the source multi-path logical device of the current MPIO driver and the other paths are removed. A target multi-path logical device for the target MPIO driver is generated that groups paths from the host device to a target logical volume into the target multi-path logical device. Data from the source logical volume to the target logical volume is migrated based at least in part on the source and target multi-path logical devices of the target MPIO driver.

Claims (76)

1. An apparatus comprising:

a host device configured to communicate over a network with a storage system;

the host device comprising a current multi-path input-output driver configured to control delivery of input-output operations to the storage system over the network, the current multi-path input-output driver grouping a plurality of paths from the host device to a source logical volume of the storage system into a source multi-path logical device of the current multi-path input-output driver;

wherein the host device is further configured:

to generate a source multi-path logical device for a target multi-path input-output driver, the source multi-path logical device of the target multi-path input-output driver comprising a same grouping of the plurality of paths from the host device to the source logical volume as the source multi-path logical device of the current multi-path input-output driver;

to add the source multi-path logical device of the target multi-path input-output driver as a path in the source multi-path logical device of the current multi-path input-output driver;

to remove one or more paths of the source multi-path logical device of the current multi-path input-output driver other than the added path;

to generate a target multi-path logical device for the target multi-path input-output driver, the target multi-path input-output driver grouping a plurality of paths from the host device to a target logical volume of the storage system into the target multi-path logical device of the target multi-path input-output driver; and

to migrate data from the source logical volume to the target logical volume based at least in part on the source multi-path logical device of the target multi-path input-output driver and the target multi-path logical device of the target multi-path input-output driver.

2. The apparatus of claim 1 wherein the host device is further configured:

to replace the paths of the source multi-path logical device of the target multi-path input-output driver with the paths of the target multi-path logical device of the target multi-path input-output driver.

3. The apparatus of claim 1 wherein the host device is further configured:

to replace the paths of the target multi-path logical device of the target multi-path input-output driver with the paths of the source multi-path logical device of the target multi-path input-output driver.

4. The apparatus of claim 1 wherein adding the source multi-path logical device of the target multi-path input-output driver as a path in the source multi-path logical device of the current multi-path input-output driver comprises:

suspending the source multi-path logical device of the current multi-path input-output driver;

modifying a path mapping of the source multi-path logical device of the current multi-path input-output driver to include the source multi-path logical device of the target multi-path input-output driver as a path;

resuming the source multi-path logical device of the current multi-path input-output driver; and

reloading the path mapping of the source multi-path logical device of the current multi-path input-output driver based at least in part on the modified path mapping.

5. The apparatus of claim 1 wherein removing one or more paths of the source multi-path logical device of the current multi-path input-output driver other than the added path comprises:

suspending the source multi-path logical device of the current multi-path input-output driver;

modifying a path mapping of the source multi-path logical device of the current multi-path input-output driver to remove one or more paths other than the added path;

resuming the source multi-path logical device of the current multi-path input-output driver; and

reloading the path mapping of the source multi-path logical device of the current multi-path input-output driver based at least in part on the modified path mapping.

6. The apparatus of claim 1 wherein in conjunction with a reboot after the migration of the data, the host device is further configured:

to generate a plurality of multi-path logical devices for the target multi-path input-output driver;

to determine whether or not a given one of the generated multi-path logical devices corresponds to the source multi-path logical device of the target multi-path input-output driver; and

in response to determining that the given one of the generated multi-path logical devices correspond to the source multi-path logical device of the target multi-path input-output driver, to generate a link from the source multi-path logical device of the current multi-path input-output driver to the given one of the generated multi-path logical devices such that input-output operations directed toward the source multi-path logical device of the current multi-path input-output driver are redirected to the given one of the generated multi-path logical devices.

7. The apparatus of claim 1 wherein the current multi-path input-output driver groups the plurality of paths from the host device to the target logical volume of the storage system into a target multi-path logical device of the current multi-path input-output driver and wherein the host device is further configured:

to add the target multi-path logical device of the target multi-path input-output driver as a path in the target multi-path logical device of the current multi-path input-output driver; and

to remove one or more paths of the target multi-path logical device of the current multi-path input-output driver other than the path added to the target multi-path logical device of the current multi-path input-output driver.

8. A method comprising:

generating a source multi-path logical device for a target multi-path input-output driver of a host device, the host device comprising a current multi-path input-output driver that is configured to control delivery of input-output operations to a storage system over a network, the current multi-path input-output driver grouping a plurality of paths from the host device to a source logical volume of the storage system into a source multi-path logical device of the current multi-path input-output driver, the source multi-path logical device of the target multi-path input-output driver comprising a same grouping of the plurality of paths from the host device to the source logical volume as the source multi-path logical device of the current multi-path input-output driver;

adding the source multi-path logical device of the target multi-path input-output driver as a path in the source multi-path logical device of the current multi-path input-output driver;

removing one or more paths of the source multi-path logical device of the current multi-path input-output driver other than the added path;

generating a target multi-path logical device for the target multi-path input-output driver, the target multi-path input-output driver grouping a plurality of paths from the host device to a target logical volume of the storage system into the target multi-path logical device of the target multi-path input-output driver; and

migrating data from the source logical volume to the target logical volume based at least in part on the source multi-path logical device of the target multi-path input-output driver and the target multi-path logical device of the target multi-path input-output driver.

9. The method of claim 8 wherein the method further comprises replacing the paths of the source multi-path logical device of the target multi-path input-output driver with the paths of the target multi-path logical device of the target multi-path input-output driver.

10. The method of claim 8 wherein the method further comprises replacing the paths of the target multi-path logical device of the target multi-path input-output driver with the paths of the source multi-path logical device of the target multi-path input-output driver.

11. The method of claim 8 wherein adding the source multi-path logical device of the target multi-path input-output driver as a path in the source multi-path logical device of the current multi-path input-output driver comprises:

suspending the source multi-path logical device of the current multi-path input-output driver;

modifying a path mapping of the source multi-path logical device of the current multi-path input-output driver to include the source multi-path logical device of the target multi-path input-output driver as a path;

resuming the source multi-path logical device of the current multi-path input-output driver; and

reloading the path mapping of the source multi-path logical device of the current multi-path input-output driver based at least in part on the modified path mapping.

12. The method of claim 8 wherein removing one or more paths of the source multi-path logical device of the current multi-path input-output driver other than the added path comprises:

suspending the source multi-path logical device of the current multi-path input-output driver;

modifying a path mapping of the source multi-path logical device of the current multi-path input-output driver to remove one or more paths other than the added path;

resuming the source multi-path logical device of the current multi-path input-output driver; and

reloading the path mapping of the source multi-path logical device of the current multi-path input-output driver based at least in part on the modified path mapping.

13. The method of claim 8 wherein in conjunction with a reboot after the migration of the data, the method further comprises:

generating a plurality of multi-path logical devices for the target multi-path input-output driver;

determining whether or not a given one of the generated multi-path logical devices corresponds to the source multi-path logical device of the target multi-path input-output driver; and

in response to determining that the given one of the generated multi-path logical devices correspond to the source multi-path logical device of the target multi-path input-output driver, generating a link from the source multi-path logical device of the current multi-path input-output driver to the given one of the generated multi-path logical devices such that input-output operations directed toward the source multi-path logical device of the current multi-path input-output driver are redirected to the given one of the generated multi-path logical devices.

14. The method of claim 8 wherein the current multi-path input-output driver groups the plurality of paths from the host device to the target logical volume of the storage system into a target multi-path logical device of the current multi-path input-output driver and wherein the method further comprises:

adding the target multi-path logical device of the target multi-path input-output driver as a path in the target multi-path logical device of the current multi-path input-output driver; and

removing one or more paths of the target multi-path logical device of the current multi-path input-output driver other than the path added to the target multi-path logical device of the current multi-path input-output driver.

15. A computer program product comprising a non-transitory processor-readable storage medium having stored therein program code of one or more software programs, wherein the program code, when executed by a host device comprising a current multi-path input-output driver, the host device being configured to communicate over a network with a storage system, the current multi-path input-output driver configured to control delivery of input-output operations to the storage system over the network, the current multi-path input-output driver grouping a plurality of paths from the host device to a source logical volume of the storage system into a source multi-path logical device of the current multi-path input-output driver, causes the host device:

to generate a source multi-path logical device for a target multi-path input-output driver, the source multi-path logical device of the target multi-path input-output driver comprising a same grouping of the plurality of paths from the host device to the source logical volume as the source multi-path logical device of the current multi-path input-output driver;

to add the source multi-path logical device of the target multi-path input-output driver as a path in the source multi-path logical device of the current multi-path input-output driver;

to remove one or more paths of the source multi-path logical device of the current multi-path input-output driver other than the added path;

to generate a target multi-path logical device for the target multi-path input-output driver, the target multi-path input-output driver grouping a plurality of paths from the host device to a target logical volume of the storage system into the target multi-path logical device of the target multi-path input-output driver; and

to migrate data from the source logical volume to the target logical volume based at least in part on the source multi-path logical device of the target multi-path input-output driver and the target multi-path logical device of the target multi-path input-output driver.

16. The computer program product of claim 15 wherein the program code further causes the host device to replace the paths of the source multi-path logical device of the target multi-path input-output driver with the paths of the target multi-path logical device of the target multi-path input-output driver.

17. The computer program product of claim 15 wherein the program code further causes the host device to replace the paths of the target multi-path logical device of the target multi-path input-output driver with the paths of the source multi-path logical device of the target multi-path input-output driver.

18. The computer program product of claim 15 wherein adding the source multi-path logical device of the target multi-path input-output driver as a path in the source multi-path logical device of the current multi-path input-output driver comprises:

suspending the source multi-path logical device of the current multi-path input-output driver;

modifying a path mapping of the source multi-path logical device of the current multi-path input-output driver to include the source multi-path logical device of the target multi-path input-output driver as a path;

resuming the source multi-path logical device of the current multi-path input-output driver; and

reloading the path mapping of the source multi-path logical device of the current multi-path input-output driver based at least in part on the modified path mapping.

19. The computer program product of claim 15 wherein removing one or more paths of the source multi-path logical device of the current multi-path input-output driver other than the added path comprises:

suspending the source multi-path logical device of the current multi-path input-output driver;

modifying a path mapping of the source multi-path logical device of the current multi-path input-output driver to remove one or more paths other than the added path;

resuming the source multi-path logical device of the current multi-path input-output driver; and

reloading the path mapping of the source multi-path logical device of the current multi-path input-output driver based at least in part on the modified path mapping.

20. The computer program product of claim 15 wherein the current multi-path input-output driver groups the plurality of paths from the host device to the target logical volume of the storage system into a target multi-path logical device of the current multi-path input-output driver and wherein the program code further causes the host device:

to add the target multi-path logical device of the target multi-path input-output driver as a path in the target multi-path logical device of the current multi-path input-output driver; and

to remove one or more paths of the target multi-path logical device of the current multi-path input-output driver other than the path added to the target multi-path logical device of the current multi-path input-output driver.

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 May 13, 2019
From: GOKAM, KURUMURTHY; MALLICK, SANJIB
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 049162/0484 →
Cited By (14)
US 12,216,526 US 12,222,863 US 12,294,492 US 12,299,118 US 12,299,300 US 12,299,327 US 12,353,711 US 12,405,738 US 12,481,548 US 12,487,771 US 12,493,409 US 12,498,866 US 12,561,419 US 12,568,040