IP Library Granted Patent US 11,023,331
Granted Patent B2
US 11,023,331 · App. 16/240,272 · Granted Jun 1, 2021

Fast recovery of data in a geographically distributed storage environment

Inventors: Mikhail Danilov (Saint Petersburg, RU); Yohannes Altaye (Dumfries, VA)
Assignee: EMC IP HOLDING COMPANY LLC
G06F11/1464G06F11/1076G06F11/1469G06F16/27H03M13/154H04L67/1097
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,023,331
App. No.
16/240,272
Granted
Jun 1, 2021
Kind
B2
Abstract

Described herein, system that facilitates recovery of an object segment in a geographically distributed storage environment. According to an embodiment, a system can comprise receiving a read request to read an object segment from a first data chunk stored in a geographically diverse data storage system, wherein the first data chunk is inaccessible, executing a GEO recovery process in response to determining that the first data chunk is inaccessible, wherein the GEO recovery process comprises accessing a first slice of data from a second data chunk stored in the geographically diverse data storage system, accessing a second slice of data from a third data chunk stored in the geographically diverse data storage system, and applying an XOR operation to the first slice of data and the second slice of data to determine a third slice of data, and extracting the object segment from the third slice of data.

Claims (51)

1. A system, comprising:

a processor; and

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

receiving a read request to read an object segment from a first data chunk stored in a geographically diverse data storage system, wherein the first data chunk is inaccessible;

executing a GEO recovery process, to recover the object segment without recovering the first chunk, in response to determining that the first data chunk is inaccessible, wherein the GEO recovery process comprises accessing a first slice of data from a second data chunk stored in the geographically diverse data storage system, accessing a second slice of data from a third data chunk stored in the geographically diverse data storage system, and applying an XOR operation to the first slice of data and the second slice of data to determine a third slice of data; and

extracting the object segment from the third slice of data;

determining a start offset of the object segment within the first data chunk;

determining a first size of the object segment;

determining a second size of the first slice of data; and

determining a third size of the second slice of data, wherein the second size of the first slice of data and the third size of the second slice of data are based on the first size of the object segment, wherein the second slice of data comprises all data associated with the object segment and the second size of the first slice of data is a same size as the third size of the second slice of data.

2. The system of claim 1 , wherein the third data chunk is a result of an XOR combination of the first data chunk and the second data chunk.

3. The system of claim 1 , wherein the third data chunk comprises a first data portion from the first data chunk and a second data portion from the second data chunk.

4. The system of claim 1 , wherein the third data chunk comprises a combined version of the object segment based on an XOR combination of the first data chunk and the second data chunk.

5. The system of claim 1 , wherein the second slice of data comprises a first portion of the object segment and a second portion of data from the second data chunk.

6. The system of claim 1 , wherein the operations further comprise:

accessing one or more additional slices of data other than the first slice of data, the second slice of data and the third slice of data.

7. A method, comprising:

receiving, by a system comprising a processor and a memory, a read request to read an object segment from a first data chunk stored in a geographically diverse data storage system, wherein the first data chunk is inaccessible;

executing, by the system, a GEO recovery process, to recover the object segment without recovering the first chunk, in response to determining that the first data chunk is inaccessible, wherein the GEO recovery process comprises:

accessing a first portion of data from a second data chunk stored in the geographically diverse data storage system,

accessing a second portion of data from a third data chunk stored in the geographically diverse data storage system, wherein the second portion of data comprises a combined portion of the object segment, and

applying an XOR operation to the first portion of data and the second portion of data to determine a third portion of data;

extracting, by the system, the object segment from the third portion of data;

determining, by the system, a start offset of the object segment within the first data chunk;

determining, by the system, a first size of the object segment;

determining, by the system, a second size of the first portion of data; and

determining, by the system, a third size of the second portion of data, wherein the second size of the first portion of data and the third size of the second portion of data are based on the first size of the object segment, wherein the second portion of data comprises all data associated with the object segment and the second size of the first portion of data is a same size as the third size of the second portion of data.

8. The method of claim 7 , wherein the third data chunk is a result of convolving the first data chunk and the second data chunk.

9. The method of claim 7 , wherein the third data chunk comprises a combined version of the object segment based on combination of the first data chunk and the second data chunk, and wherein the combination comprises application of an XOR function to the first data chunk and the second data chunk.

10. The method of claim 7 , wherein the second portion of data comprises a portion of the object segment and a portion of data from the second data chunk.

11. The method of claim 7 , wherein the GEO recovery process further comprises:

accessing one or more additional portions of data from one or more additional data chunks in the geographically diverse data storage system.

12. The method of claim 7 , wherein the third data chunk is a result of an XOR combination of the first data chunk and the second data chunk.

13. The method of claim 7 , wherein the third data chunk comprises a first data portion from the first data chunk and a second data portion from the second data chunk.

14. The method of claim 7 , wherein the third data chunk comprises a combined version of the object segment based on an XOR combination of the first data chunk and the second data chunk.

15. A non-transitory machine-readable medium, comprising executable instructions that, when executed by a processor, facilitate performance of operations, comprising:

receiving a read request to read an object segment from a first data chunk stored in a geographically diverse data storage system;

determining that the first data chunk is inaccessible;

executing GEO recovery instructions, to recover the object segment without recovering the first chunk, in response to determining that the first data chunk is inaccessible, wherein the executing of the GEO recovery instructions comprises accessing a first portion of data from a second data chunk stored in the geographically diverse data storage system, accessing a second portion of data from a third data chunk stored in the geographically diverse data storage system, and applying an XOR operation to the first portion of data and the second portion of data to determine a third portion of data;

extracting the object segment from the third portion of data;

determining a start offset of the object segment within the first data chunk;

determining a first size of the object segment;

determining a second size of the first portion of data; and

determining a third size of the second portion of data, wherein the second size of the first portion of data and the third size of the second portion of data are based on the first size of the object segment, wherein the second slice of data comprises all data associated with the object segment and the second size of the first portion of data is a same size as the third size of the second portion of data.

16. The non-transitory machine-readable medium of claim 15 , wherein the operations further comprise:

receiving read request for an additional group of object segments, other than the object segment, from a group of data chunks.

17. The non-transitory machine-readable medium of claim 15 , wherein the third data chunk results from convolving of the first data chunk and the second data chunk.

18. The non-transitory machine-readable medium of claim 15 , wherein the third data chunk comprises a combined version of the object segment based on a combination of the first data chunk and the second data chunk, and wherein the second portion of data comprises the combined version of the object segment.

19. The non-transitory machine-readable medium of claim 15 , wherein the second portion of data comprises a first portion of the object segment and a second portion of data from the second data chunk.

20. The non-transitory machine-readable medium of claim 15 , wherein the operations further comprise:

accessing one or more additional portions of data other than the first portion of data, the second portion of data, and the third portion of data.

Assignments (5)
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 →
SECURITY AGREEMENT Recorded Oct 1, 2021
From: DELL PRODUCTS, L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 057682/0830 →
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 4, 2019
From: DANILOV, MIKHAIL; ALTAYE, YOHANNES
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 047905/0800 →