IP Library › Granted Patent US 10,318,191
Granted Patent B1
US 10,318,191 · App. 15/653,052 · Granted Jun 11, 2019

Migration and transformation of data storage in a replicated environment

Inventors: Mikhail Danilov (Saint Petersburg, RU); Mark A. O'Connell (Westborough, MA)
Assignee: EMC IP Holding Company LLC
G06F3/0619G06F3/065G06F3/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 10,318,191
App. No.
15/653,052
Granted
Jun 11, 2019
Kind
B1
Abstract

Facilitating parallel migration and transformation of data storage in a replicated environment is provided herein. A method can comprise determining, by a system comprising a processor, that first data of a first storage device and second data of a second storage device are scheduled to be migrated to a third storage device and a fourth storage device in a replicated storage environment. The method can also comprise mapping, by the system, the third storage device to the first storage device, and the fourth storage device to the second storage device. Further, the method can comprise facilitating, by the system, a parallel migration/transformation of the first data to the third storage device and the second data to the fourth storage device.

Claims (62)

1. A method, comprising:

determining, by a system comprising a processor, that first data of a first storage device and second data of a second storage device are scheduled to be migrated to a third storage device and a fourth storage device in a replicated storage environment;

mapping, by the system, the third storage device to the first storage device, and the fourth storage device to the second storage device;

facilitating, by the system, a parallel migration of the first data to the third storage device and the second data to the fourth storage device;

receiving, by the system, a data structure comprising an identification of one or more objects stored in the first storage device and the second storage device; and

synchronizing, by the system, a storage of the one or more objects between the third storage device and the fourth storage device based on a first enumeration of the first data and a second enumeration of the second data.

2. The method of claim 1 , further comprising:

during the parallel migration, facilitating, by the system, reading of the first data from the first storage device in response to a request for the first data, wherein the reading the first data comprises reading the first data via the third storage device.

3. The method of claim 2 , further comprising:

during the parallel migration, facilitating, by the system, reading of the second data from the second storage device in response to another request for the second data, wherein the reading the second data comprises reading the second data via the fourth storage device.

4. The method of claim 1 , further comprising:

receiving, by the system, a first write request from a first client device; and

instructing, by the system, the first write request to be processed by the third storage device, wherein the first write request is for data not previously received, and wherein the first storage device is not accessed during a time period when the first write request is being processed.

5. The method of claim 1 , further comprising:

receiving, by the system, a first read request from a first client device; and

instructing, by the system, the first read request to be processed by the third storage device, wherein the first read request is for reading of new data, and wherein the first storage device is not accessed during a time period when the first read request is being processed.

6. The method of claim 1 , further comprising:

synchronizing, by the system, the parallel migration of the first data and the second data between the third storage device and the fourth storage device.

7. The method of claim 1 , wherein the first data comprises a first object and the second data comprises a second object, and wherein the method further comprises:

determining, by the system, a first primary location for the first object based on an application of a hash function to a first identification of the first object, wherein the first primary location is selected from the third storage device and the fourth storage device; and

determining, by the system, a second primary location for the second object based on another application of the hash function to a second identification of the second object, wherein the second primary location is selected from the third storage device and the fourth storage device.

8. The method of claim 1 , further comprising:

facilitating, by the system, the first enumeration of the first data at the third storage device and the second enumeration of the second data at the fourth storage device.

9. The method of claim 1 , further comprising:

facilitating, by the system, a first replication of the first data and the second data between the first storage device and the second storage device; and

facilitating, by the system, a second replication of the first data and the second data between the third storage device and the fourth storage device.

10. The method of claim 1 , wherein the replicated storage environment is an environment where two or more storage devices are connected with replication.

11. The method of claim 1 , further comprising:

facilitating, by the system, at least one failover mechanism for a read request from a first requesting device.

12. The method of claim 11 , further comprising:

in response to a determination that data responsive to the read request is not included in the third storage device, accessing, by the system, the data at the fourth storage device; and

in response to another determination that the data responsive to the read request is not included in the fourth storage device, accessing, by the system, the data at the second storage device.

13. The method of claim 11 , further comprising:

in response to a determination that data responsive to the read request is not included in the fourth storage device, accessing, by the system, the data at the third storage device; and

in response to another determination that the data responsive to the read request is not included in the third storage device, accessing, by the system, the data at the first storage device.

14. A system, comprising:

a processor; and

a memory that stores executable instructions that, when executed by the processor, facilitate performance of operations, comprising:

initiating a transformation of first data from a first group of data storage devices to a second group of data storage devices and second data from a third group of data storage devices to a fourth group of data storage devices, wherein a first data replication is established between first data storage devices in the first group of data storage devices and second data storage devices in the second group of data storage devices, and wherein a second data replication is established between third data storage devices in the third group of data storage devices and fourth data storage devices in the fourth group of data storage devices;

mapping the first data storage devices in the first group of data storage devices to the second data storage devices in the second group of data storage devices, and the third data storage devices in the third group of data storage devices to the fourth data storage devices in the fourth group of data storage devices; and

facilitating a parallel transformation of the first data from the first group of data storage devices to the second group of data storage devices, and the second data from the third group of data storage devices to the fourth group of data storage devices;

receiving a data structure comprising an identification of one or more objects stored in the first data storage devices and the third data storage devices; and

synchronizing a storage of the one or more objects between the second data storage devices and the fourth data storage devices based on a first enumeration of the first data and a second enumeration of the second data.

15. The system of claim 14 , wherein the operations further comprise:

during the facilitating the parallel transformation of the first data, responding to read requests and write requests by the first group of data storage devices for data previously stored by the first group of data storage devices.

16. The system of claim 15 , wherein the operations further comprise:

responding to read requests and write requests by the second group of data storage devices for data not previously stored by the first group of data storage devices.

17. A computer-readable storage medium comprising instructions that, in response to execution, cause a system comprising a processor to perform operations, comprising:

mapping a first device to a second device based on a first determination that first data contained in the first device is to be migrated to the second device;

mapping a third device to a fourth device based on a second determination that second data contained in the third device is to be migrated to the fourth device;

facilitating a first migration of the first data from the first device to the second device; and

facilitating a second migration of the second data from the third device to the fourth device, wherein the first migration and the second migration are performed concurrently;

receiving a data structure comprising an identification of one or more objects stored in the first device and the third device; and

synchronizing a storage of the one or more objects between the second device and the fourth device based on a first enumeration of the first data and a second enumeration of the second data.

18. The computer-readable storage medium of claim 17 , wherein the operations further comprise:

during the first migration and the second migration, facilitating reading of the first data from the first device in response to a request for the first data, and wherein the reading the first data comprises reading the first data via the second device.

19. The computer-readable storage medium of claim 17 , wherein the operations further comprise:

receiving a read request or a write request for data not retained by the first device and the third device; and

utilizing the second device or the fourth device to respond to the read request or the write request.

20. The computer-readable storage medium of claim 17 , wherein the first data comprises a first object and the second data comprises a second object, and wherein the operations further comprise:

determining a first primary location for the first object based on a first application of a hash function to a first identification of the first object, wherein the first primary location is selected from the second device and the fourth device; and

determining, by the system, a second primary location for the second object based on a second application of the hash function to a second identification of the second object, wherein the second primary location is selected from the second device and the fourth device.

Assignments (8)
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 (043775/0082) Recorded May 20, 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 060958/0468 →
RELEASE OF SECURITY INTEREST AT REEL 043772 FRAME 0750 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 058298/0606 →
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 →
SECURITY AGREEMENT Recorded Mar 21, 2019
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 049452/0223 →
PATENT SECURITY AGREEMENT (CREDIT) Recorded Sep 6, 2017
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 043772/0750 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Sep 6, 2017
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 043775/0082 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 18, 2017
From: DANILOV, MIKHAIL; O'CONNELL, MARK A.
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 043035/0614 →
Cited By (3)
US 12,197,761 US 12,511,069 US 12,632,194