IP Library Granted Patent US 11,175,828
Granted Patent B1
US 11,175,828 · App. 15/931,849 · Granted Nov 16, 2021

Mitigating IO processing performance impacts in automated seamless migration

Inventors: Vinay G. Rao (Bangalore, IN); Gabriel Benhanokh (Tel-Aviv, IL); Arieh Don (Newton, MA)
Assignee: EMC IP Holding Company LLC
G06F3/0611G06F3/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,175,828
App. No.
15/931,849
Granted
Nov 16, 2021
Kind
B1
Abstract

An apparatus comprises a host device configured to communicate over a network with source and target storage systems. The host device, in conjunction with migration of a logical storage device from the source storage system to the target storage system, is further configured to obtain from the target storage system watermark information characterizing progress of the migration of the logical storage device from the source storage system to the target storage system, and to determine whether a given input-output operation is to be sent to the source storage system or the target storage system based at least in part on the watermark information obtained from the target storage system. The watermark information illustratively identifies a particular logical address in the logical storage device, up to and including for which corresponding data has already been copied from the source storage system to the target storage system in conjunction with the migration.

Claims (57)

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 source storage system and a target storage system;

the host device being further configured:

in conjunction with migration of a logical storage device from the source storage system to the target storage system:

to obtain from the target storage system watermark information characterizing progress of the migration of the logical storage device from the source storage system to the target storage system; and

to determine whether a given input-output operation is to be sent to the source storage system or the target storage system based at least in part on the watermark information obtained from the target storage system;

wherein obtaining from the target storage system watermark information characterizing progress of the migration of the logical storage device from the source storage system to the target storage system comprises:

obtaining the watermark information responsive to a command sent to the target storage system.

2. The apparatus of claim 1 wherein the source and target storage systems comprise respective first and second storage arrays.

3. The apparatus of claim 1 wherein obtaining from the target storage system watermark information characterizing progress of the migration of the logical storage device from the source storage system to the target storage system comprises:

sending a command to the target storage system; and

obtaining the watermark information responsive to the command.

4. The apparatus of claim 3 wherein sending the command to the target storage system is repeated for each of a plurality of time periods during the migration of the logical storage device from the source storage system to the target storage system.

5. The apparatus of claim 1 wherein the host device is further configured to obtain from the target storage system different watermark information for each of a plurality of logical storage devices that are subject to migration from the source storage system to the target storage system.

6. The apparatus of claim 1 wherein the host device further comprises a multi-path layer, the multi-path layer comprising at least one multi-path input-output driver configured to control delivery of input-output operations from the host device to the source and target storage systems over selected paths through the network, wherein the obtaining and the determining are performed at least in part by the multi-path input-output driver.

7. The apparatus of claim 1 wherein the watermark information identifies a particular logical address in the logical storage device, up to and including for which corresponding data has already been copied from the source storage system to the target storage system in conjunction with the migration, and wherein determining whether a given input-output operation is to be sent to the source storage system or the target storage system based at least in part on the watermark information further comprises determining whether the given input-output operation is a read operation or a write operation.

8. The apparatus of claim 7 wherein responsive to the given input-output operation being a read operation, determining whether the given input-output operation is to be sent to the source storage system or the target storage system based at least in part on the watermark information further comprises:

if the read operation is directed to one or more logical addresses at or below the particular logical address, sending the read operation to the target storage system; and

otherwise sending the read operation to the source storage system.

9. The apparatus of claim 7 wherein responsive to the given input-output operation being a write operation, determining whether the given input-output operation is to be sent to the source storage system or the target storage system based at least in part on the watermark information further comprises:

if the write operation is directed to one or more logical addresses at or below the particular logical address, sending the write operation to both the source storage system and the target storage system; and

otherwise sending the write operation to the source storage system.

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

to receive from the target storage system a notification that the given input-output operation was sent to the target storage system in error; and

responsive to the received notification, to send the given input-output operation to the source storage system.

11. The apparatus of claim 1 further comprising one or more additional host devices each configured to communicate over the network with the source storage system and the target storage system, and wherein each of the host devices separately performs the obtaining and the determining for each of a plurality of input-output operations of that host device.

12. A method performed by a host device configured to communicate over a network with a source storage system and a target storage system, comprising:

in conjunction with migration of a logical storage device from the source storage system to the target storage system:

to obtain from the target storage system watermark information characterizing progress of the migration of the logical storage device from the source storage system to the target storage system; and

to determine whether a given input-output operation is to be sent to the source storage system or the target storage system based at least in part on the watermark information obtained from the target storage system;

wherein obtaining from the target storage system watermark information characterizing progress of the migration of the logical storage device from the source storage system to the target storage system comprises:

obtaining the watermark information responsive to a command sent to the target storage system; and

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

13. The method of claim 12 wherein obtaining from the target storage system watermark information characterizing progress of the migration of the logical storage device from the source storage system to the target storage system comprises:

sending a command to the target storage system; and

obtaining the watermark information responsive to the command.

14. The method of claim 12 wherein the watermark information identifies a particular logical address in the logical storage device, up to and including for which corresponding data has already been copied from the source storage system to the target storage system in conjunction with the migration, and wherein determining whether a given input-output operation is to be sent to the source storage system or the target storage system based at least in part on the watermark information further comprises determining whether the given input-output operation is a read operation or a write operation.

15. The method of claim 14 wherein responsive to the given input-output operation being a read operation, determining whether the given input-output operation is to be sent to the source storage system or the target storage system based at least in part on the watermark information further comprises:

if the read operation is directed to one or more logical addresses at or below the particular logical address, sending the read operation to the target storage system; and

otherwise sending the read operation to the source storage system.

16. The method of claim 14 wherein responsive to the given input-output operation being a write operation, determining whether the given input-output operation is to be sent to the source storage system or the target storage system based at least in part on the watermark information further comprises:

if the write operation is directed to one or more logical addresses at or below the particular logical address, sending the write operation to both the source storage system and the target storage system; and

otherwise sending the write operation to the source storage system.

17. 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 source storage system and a target storage system, causes the host device:

in conjunction with migration of a logical storage device from the source storage system to the target storage system:

to obtain from the target storage system watermark information characterizing progress of the migration of the logical storage device from the source storage system to the target storage system; and

to determine whether a given input-output operation is to be sent to the source storage system or the target storage system based at least in part on the watermark information obtained from the target storage system;

wherein obtaining from the target storage system watermark information characterizing progress of the migration of the logical storage device from the source storage system to the target storage system comprises:

obtaining the watermark information responsive to a command sent to the target storage system.

18. The computer program product of claim 17 wherein the watermark information identifies a particular logical address in the logical storage device, up to and including for which corresponding data has already been copied from the source storage system to the target storage system in conjunction with the migration, and wherein determining whether a given input-output operation is to be sent to the source storage system or the target storage system based at least in part on the watermark information further comprises determining whether the given input-output operation is a read operation or a write operation.

19. The computer program product of claim 18 wherein responsive to the given input-output operation being a read operation, determining whether the given input-output operation is to be sent to the source storage system or the target storage system based at least in part on the watermark information further comprises:

if the read operation is directed to one or more logical addresses at or below the particular logical address, sending the read operation to the target storage system; and

otherwise sending the read operation to the source storage system.

20. The computer program product of claim 18 wherein responsive to the given input-output operation being a write operation, determining whether the given input-output operation is to be sent to the source storage system or the target storage system based at least in part on the watermark information further comprises:

if the write operation is directed to one or more logical addresses at or below the particular logical address, sending the write operation to both the source storage system and the target storage system; and

otherwise sending the write operation to the source storage system.

Assignments (9)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053574/0221) Recorded Jun 10, 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 060333/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053578/0183) Recorded Jun 10, 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 060332/0864 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053573/0535) Recorded Jun 10, 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 060333/0106 →
RELEASE OF SECURITY INTEREST AT REEL 053531 FRAME 0108 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058001/0371 →
SECURITY INTEREST Recorded Aug 21, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 053578/0183 →
SECURITY INTEREST Recorded Aug 21, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 053573/0535 →
SECURITY INTEREST Recorded Aug 21, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 053574/0221 →
SECURITY AGREEMENT Recorded Aug 18, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 053531/0108 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 14, 2020
From: RAO, VINAY G.; BENHANOKH, GABRIEL; DON, ARIEH
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 052666/0073 →