IP Library Granted Patent US 11,042,327
Granted Patent B1
US 11,042,327 · App. 16/814,543 · Granted Jun 22, 2021

IO operation cloning using change information sharing with a storage system

Inventors: Madhu Tarikere (Bangalore, IN); Gopinath Marappan (Coimbatore, IN); Amit Pundalik Anchi (Bangalore, IN)
Assignee: EMC IP Holding Company LLC
G06F3/0659G06F3/061G06F3/067G06F3/0647
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 11,042,327
App. No.
16/814,543
Granted
Jun 22, 2021
Kind
B1
Abstract

A host device is configured to obtain a write input-output operation and to determine that the write input-output operation corresponds to a source logical storage device of a storage system. The host device is configured to determine that the source logical storage device is being migrated to a target logical storage device and to generate change information based at least in part on the write input-output operation. The change information comprises an indication the source logical storage device that will be changed by a submission of the write input-output operation to the storage system. The host device is configured to submit the write input-output operation to the storage system and to provide the change information to the storage system. The change information is configured for use by the storage system to clone the source logical storage device changed by the submitted input-output operation to the target logical storage device.

Claims (69)

1. An apparatus comprising:

a host device comprising a processor coupled to a memory, the host device being configured to communicate over a network with a storage system, the host device being further configured:

to obtain a write input-output operation for submission to the storage system;

to determine that the write input-output operation corresponds to a source logical storage device of the storage system;

to determine that the source logical storage device is being migrated to a target logical storage device of the storage system;

to generate change information based at least in part on the write input-output operation, the change information comprising an indication of at least a portion of the source logical storage device to be changed by a submission of the write input-output operation to the storage system;

to submit the write input-output operation to the storage system; and

to provide the change information to the storage system, the provided change information being configured for use by the storage system to clone the at least a portion of the source logical storage device changed by the submitted input-output operation to the target logical storage device.

2. The apparatus of claim 1 wherein:

the storage system comprises a first storage array comprising the source logical storage device and a second storage array comprising the target logical storage device;

submitting the write input-output operation to the storage system comprises submitting the write input-output operation to the first storage array; and

providing the change information to the storage system comprises providing the change information to at least one of the first storage array and the second storage array.

3. The apparatus of claim 2 wherein providing the change information to the at least one of the first storage array and the second storage array comprises providing the change information to the first storage array, the provided change information being configured for use by the first storage array to clone the at least a portion of the source logical storage device changed by the submitted input-output operation to the target logical storage device, the cloning comprising pushing, by the first storage array, the at least a portion of the source logical storage device from the first storage array to the second storage array based at least in part on the provided change information.

4. The apparatus of claim 2 wherein providing the change information to the at least one of the first storage array and the second storage array comprises providing the change information to the second storage array, the provided change information being configured for use by the second storage array to clone the at least a portion of the source logical storage device changed by the submitted input-output operation to the target logical storage device, the cloning comprising pulling, by the second storage array, the at least a portion of the source logical storage device from the first storage array to the second storage array based at least in part on the provided change information.

5. The apparatus of claim 1 wherein:

generating the change information based at least in part on the write input-output operation comprises generating the change information based at least in part on a plurality of write input-output operations obtained by the host device;

submitting the write input-output operation to the storage system comprises submitting the plurality of write input-output operations to the storage system;

the host device is further configured to determine that a threshold criterion for providing the change information to the storage system has been met; and

providing the change information to the storage system comprises providing the change information to the storage system based at least in part on the determination that the threshold criterion for providing the change information to the storage system has been met.

6. The apparatus of claim 1 wherein determining that the threshold criterion for providing the change information to the storage system has been met comprises determining that at least one of:

a threshold amount of time has elapsed since a prior submission of change information to the storage system; and

a threshold number of write input-output operations have been submitted to the storage system since a prior submission of change information to the storage system.

7. The apparatus of claim 1 wherein the provided change information is configured for use by the storage system to clone the at least a portion of the source logical storage device changed by the submitted input-output operation to the target logical storage device based at least in part on a determination by the storage system that the source logical storage volume was already migrated to the target logical storage volume.

8. A method performed by a host device configured to communicate over a network with a storage system, comprising:

obtaining a write input-output operation for submission to the storage system;

determining that the write input-output operation corresponds to a source logical storage device of the storage system;

determining that the source logical storage device is being migrated to a target logical storage device of the storage system;

generating change information based at least in part on the write input-output operation, the change information comprising an indication of at least a portion of the source logical storage device to be changed by a submission of the write input-output operation to the storage system;

submitting the write input-output operation to the storage system; and

providing the change information to the storage system, the provided change information being configured for use by the storage system to clone the at least a portion of the source logical storage device changed by the submitted input-output operation to the target logical storage device;

wherein the host device comprises a processor coupled to a memory.

9. The method of claim 8 wherein:

the storage system comprises a first storage array comprising the source logical storage device and a second storage array comprising the target logical storage device;

submitting the write input-output operation to the storage system comprises submitting the write input-output operation to the first storage array; and

providing the change information to the storage system comprises providing the change information to at least one of the first storage array and the second storage array.

10. The method of claim 9 wherein providing the change information to the at least one of the first storage array and the second storage array comprises providing the change information to the first storage array, the provided change information being configured for use by the first storage array to clone the at least a portion of the source logical storage device changed by the submitted input-output operation to the target logical storage device, the cloning comprising pushing, by the first storage array, the at least a portion of the source logical storage device from the first storage array to the second storage array based at least in part on the provided change information.

11. The method of claim 9 wherein providing the change information to the at least one of the first storage array and the second storage array comprises providing the change information to the second storage array, the provided change information being configured for use by the second storage array to clone the at least a portion of the source logical storage device changed by the submitted input-output operation to the target logical storage device, the cloning comprising pulling, by the second storage array, the at least a portion of the source logical storage device from the first storage array to the second storage array based at least in part on the provided change information.

12. The method of claim 8 wherein:

generating the change information based at least in part on the write input-output operation comprises generating the change information based at least in part on a plurality of write input-output operations obtained by the host device;

submitting the write input-output operation to the storage system comprises submitting the plurality of write input-output operations to the storage system;

the method further comprises determining that a threshold criterion for providing the change information to the storage system has been met; and

providing the change information to the storage system comprises providing the change information to the storage system based at least in part on the determination that the threshold criterion for providing the change information to the storage system has been met.

13. The method of claim 8 wherein determining that the threshold criterion for providing the change information to the storage system has been met comprises determining that at least one of:

a threshold amount of time has elapsed since a prior submission of change information to the storage system; and

a threshold number of write input-output operations have been submitted to the storage system since a prior submission of change information to the storage system.

14. The method of claim 9 wherein the provided change information is configured for use by the storage system to clone the at least a portion of the source logical storage device changed by the submitted input-output operation to the target logical storage device based at least in part on a determination by the storage system that the source logical storage volume was already migrated to the target logical storage volume.

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 processor coupled to a memory and configured to communicate over a network with a storage system, causes the host device:

to obtain a write input-output operation for submission to the storage system;

to determine that the write input-output operation corresponds to a source logical storage device of the storage system;

to determine that the source logical storage device is being migrated to a target logical storage device of the storage system;

to generate change information based at least in part on the write input-output operation, the change information comprising an indication of at least a portion of the source logical storage device to be changed by a submission of the write input-output operation to the storage system;

to submit the write input-output operation to the storage system; and

to provide the change information to the storage system, the provided change information being configured for use by the storage system to clone the at least a portion of the source logical storage device changed by the submitted input-output operation to the target logical storage device.

16. The computer program product of claim 15 wherein:

the storage system comprises a first storage array comprising the source logical storage device and a second storage array comprising the target logical storage device;

submitting the write input-output operation to the storage system comprises submitting the write input-output operation to the first storage array; and

providing the change information to the storage system comprises providing the change information to at least one of the first storage array and the second storage array.

17. The computer program product of claim 16 wherein providing the change information to the at least one of the first storage array and the second storage array comprises one of:

providing the change information to the first storage array, the provided change information being configured for use by the first storage array to clone the at least a portion of the source logical storage device changed by the submitted input-output operation to the target logical storage device, the cloning comprising pushing, by the first storage array, the at least a portion of the source logical storage device from the first storage array to the second storage array based at least in part on the provided change information; and

providing the change information to the second storage array, the provided change information being configured for use by the second storage array to clone the at least a portion of the source logical storage device changed by the submitted input-output operation to the target logical storage device, the cloning comprising pulling, by the second storage array, the at least a portion of the source logical storage device from the first storage array to the second storage array based at least in part on the provided change information.

18. The computer program product of claim 15 wherein:

generating the change information based at least in part on the write input-output operation comprises generating the change information based at least in part on a plurality of write input-output operations obtained by the host device;

submitting the write input-output operation to the storage system comprises submitting the plurality of write input-output operations to the storage system;

the program code further causes the host device to determine that a threshold criterion for providing the change information to the storage system has been met; and

providing the change information to the storage system comprises providing the change information to the storage system based at least in part on the determination that the threshold criterion for providing the change information to the storage system has been met.

19. The computer program product of claim 15 wherein determining that the threshold criterion for providing the change information to the storage system has been met comprises determining that at least one of:

a threshold amount of time has elapsed since a prior submission of change information to the storage system; and

a threshold number of write input-output operations have been submitted to the storage system since a prior submission of change information to the storage system.

20. The computer program product of claim 15 wherein the provided change information is configured for use by the storage system to clone the at least a portion of the source logical storage device changed by the submitted input-output operation to the target logical storage device based at least in part on a determination by the storage system that the source logical storage volume was already migrated to the target logical storage volume.

Assignments (13)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052851/0081) 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 IP HOLDING COMPANY LLC
Reel/Frame 060436/0441 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052851/0917) 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 IP HOLDING COMPANY LLC
Reel/Frame 060436/0509 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052852/0022) 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 IP HOLDING COMPANY LLC
Reel/Frame 060436/0582 →
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 (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 AT REEL 052771 FRAME 0906 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058001/0298 →
SECURITY INTEREST Recorded Jun 5, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC; THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052851/0081 →
SECURITY INTEREST Recorded Jun 5, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052851/0917 →
SECURITY INTEREST Recorded Jun 5, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052852/0022 →
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 May 28, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 052771/0906 →
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 11, 2020
From: TARIKERE, MADHU; MARAPPAN, GOPINATH; ANCHI, AMIT PUNDALIK
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 052077/0762 →