IP Library Granted Patent US 10,963,345
Granted Patent B2
US 10,963,345 · App. 16/528,602 · Granted Mar 30, 2021

Method and system for a proactive health check and reconstruction of data

Inventors: Dharmesh M. Patel (Round Rock, TX); Rizwan Ali (Cedar Park, TX); Ravikanth Chaganti (Bangalore, IN)
Assignee: Dell Products L.P.
G06F11/1092G06F11/1076G06F11/1448G06F11/1469
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,963,345
App. No.
16/528,602
Granted
Mar 30, 2021
Kind
B2
Abstract

In general, the invention relates to a method for managing data. The method includes identifying a first chunk to be health-checked in a fault domain using storage metadata stored in the fault domain, obtaining the chunk from the fault domain, generating, after obtaining the chunk, a first chunk identifier using the first chunk, making a determination that the first chunk identifier does not match a second chunk identifier stored in the storage metadata, and in response to the determination: obtaining a plurality of chunks associated with the first chunk from a plurality of fault domains, wherein the fault domain is not part of the plurality of fault domains, regenerating the first chunk using the plurality of chunks to generate a new first chunk, and storing the new first chunk in the fault domain.

Claims (49)

1. A method for managing data, the method comprising:

identifying a first chunk to be health-checked in a fault domain using storage metadata stored in the fault domain;

obtaining the first chunk from the fault domain;

generating, after obtaining the first chunk, a first chunk identifier using the first chunk;

making a determination that the first chunk identifier does not match a second chunk identifier stored in the storage metadata; and

in response to the determination:

obtaining a plurality of chunks associated with the first chunk from a plurality of fault domains, wherein the fault domain is not part of the plurality of fault domains;

regenerating the first chunk using the plurality of chunks to generate a new first chunk; and

storing the new first chunk in the fault domain;

updating the storage metadata of the fault domain based on storage of the new first chunk to obtain updated storage metadata; and

sending a first copy of the updated storage metadata to at least one of the plurality of fault domains; and

sending a second copy of the updated storage metadata to an accelerator pool, wherein the accelerator pool is operatively connected to the fault domain and the plurality of fault domains.

2. The method of claim 1 , wherein the update specifies a storage location of the new first chunk.

3. The method of claim 1 , wherein the storage metadata is stored in memory of a data node in the fault domain.

4. The method of claim 1 , wherein the first chunk is a data chunk or a parity chunk.

5. The method of claim 1 , wherein the fault domain comprises a plurality of data nodes, and wherein the first chunk is stored on a first data node of the plurality of data nodes.

6. The method of claim 5 , wherein the identifying of the first chunk is performed by a second data node in the fault domain.

7. A non-transitory computer readable medium comprising computer readable program code, which when executed by a computer processor enables the computer processor to perform a method for managing data, the method comprising:

identifying a first chunk to be health-checked using storage metadata;

obtaining the chunk from a fault domain;

generating, after obtaining the chunk, a first chunk identifier using the first chunk;

making a determination that the first chunk identifier does not match a second chunk identifier stored in the storage metadata; and

in response to the determination:

obtaining a plurality of chunks associated with the first chunk from a plurality of fault domains;

regenerating the first chunk using the plurality of chunks to generate a new first chunk;

storing the new first chunk in the fault domain;

updating the storage metadata of the fault domain based on storage of the new first chunk to obtain updated storage metadata; and

sending a first copy of the updated storage metadata to at least one of the plurality of fault domains; and

sending a second copy of the updated storage metadata to an accelerator pool, wherein the accelerator pool is operatively connected to the fault domain and the plurality of fault domains.

8. The non-transitory computer readable medium of claim 7 , wherein the update specifies a storage location of the new first chunk.

9. The non-transitory computer readable medium of claim 7 , wherein the storage metadata is stored in memory of a data node in the fault domain.

10. The non-transitory computer readable medium of claim 7 , wherein the first chunk is a data chunk or a parity chunk.

11. The non-transitory computer readable medium of claim 7 , wherein the fault domain comprises a plurality of data nodes, and wherein the first chunk is stored on a first data node of the plurality of data nodes.

12. The non-transitory computer readable medium of claim 11 , wherein the identifying of the first chunk is performed by a second data node in the fault domain.

13. A data cluster, comprising:

a non-accelerator pool comprising a plurality of data nodes;

wherein a data node of the plurality of data nodes comprises a processor and memory comprising instructions, which when executed by the processor perform a method, the method comprising:

identifying a first chunk to be health-checked in a fault domain using storage metadata stored in the fault domain, wherein the data node is in the fault domain;

obtaining the first chunk from the fault domain;

generating, after obtaining the chunk, a first chunk identifier using the first chunk;

making a determination that the first chunk identifier does not match a second chunk identifier stored in the storage metadata; and

in response to the determination:

obtaining a plurality of chunks associated with the first chunk from a plurality of fault domains, wherein the fault domain is not part of the plurality of fault domains, wherein the non-accelerator pool comprises the fault domain and the plurality of fault domains, and wherein the first chunk is a data chunk or a parity chunk;

regenerating the first chunk using the plurality of chunks to generate a new first chunk;

storing the new first chunk in the fault domain;

updating the storage metadata of the fault domain based on storage of the new first chunk to obtain updated storage metadata; and

sending a first copy of the updated storage metadata to at least one of the plurality of fault domains; and

sending a second copy of the updated storage metadata to an accelerator pool, wherein the accelerator pool is operatively connected to the fault domain and the plurality of fault domains.

14. The data cluster of claim 13 , wherein the update specifies a storage location of the new first chunk.

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: EMC CORPORATION; DELL PRODUCTS L.P.; 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 Aug 28, 2019
From: PATEL, DHARMESH M.; ALI, RIZWAN; CHAGANTI, RAVIKANTH
To: DELL PRODUCTS L.P.
Reel/Frame 050193/0008 →
Continuity (1)
Related Publication 20210034459A1 · Feb 4, 2021