IP Library Granted Patent US 11,372,730
Granted Patent B2
US 11,372,730 · App. 16/528,609 · Granted Jun 28, 2022

Method and system for offloading a continuous health-check and reconstruction of data in a non-accelerator pool

Inventors: Dharmesh M. Patel (Round Rock, TX); Rizwan Ali (Cedar Park, TX); Ravikanth Chaganti (Hopkinton, MA)
Assignee: Dell Products L.P.
G06F11/1469G06F3/067G06F3/0619G06F3/0644G06F16/152G06F16/1752
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,372,730
App. No.
16/528,609
Granted
Jun 28, 2022
Kind
B2
Abstract

A method for managing data includes identifying, by a compute acceleration device (CAD), a first chunk to be health-checked using storage metadata, generating 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, regenerating the first chunk using the plurality of chunks to generate a new first chunk, storing the new first chunk in a data node, wherein the CAD is executing in the data node, updating the storage metadata based on storage of the new first chunk to obtain updated storage metadata, and sending a copy of the updated storage metadata to at least one other CAD in a second data node.

Claims (53)

1. 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, a compute acceleration device (CAD), wherein the CAD is located in a first fault domain, and

wherein the CAD is programmed to:

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

generate a first chunk identifier using the first chunk;

make 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:

obtain a plurality of chunks associated with the first chunk;

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

store the new first chunk in the data node;

update the storage metadata based on storage of the new first chunk to obtain updated storage metadata; and

send a copy of the updated storage metadata to at least a second CAD in a second data node of the plurality of data nodes, wherein the second CAD is located in a second fault domain.

2. The data cluster of claim 1 , wherein the first chunk identifier is a fingerprint of the first chunk.

3. The data cluster of claim 1 , wherein updating the storage metadata comprises:

updating the storage metadata to include a third chunk identifier of the new first chunk; and

updating the storage metadata to include a storage location of the new first chunk.

4. The data cluster of claim 1 , wherein the first chunk is stored on a persistent storage device in the data node and wherein the CAD is operatively connected to the persistent storage device.

5. The data cluster of claim 1 , wherein the storage metadata is stored in the CAD.

6. The data cluster of claim 1 , wherein the first chunk is stored on a first persistent storage device in the data node and the wherein the new first chunk is stored on a second persistent storage device in the data node.

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

identifying, by a compute acceleration device (CAD), a first chunk to be health-checked using storage metadata, wherein the CAD is located on a first fault domain;

generating 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;

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

storing the new first chunk in a data node, wherein the CAD is executing in the data node;

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

sending a copy of the updated storage metadata to at least a second CAD in a second data node, wherein the second CAD is located in a second fault domain.

8. The method of claim 7 , wherein the first chunk identifier is a fingerprint of the first chunk.

9. The method of claim 7 , wherein updating the storage metadata comprises:

updating the storage metadata to include a third chunk identifier of the new first chunk; and

updating the storage metadata to include a storage location of the new first chunk.

10. The method of claim 7 , wherein the first chunk is stored on a persistent storage device in the data node and wherein the CAD is operatively connected to the persistent storage device.

11. The method of claim 7 , wherein the storage metadata is stored in the CAD.

12. The method of claim 7 , wherein the first chunk is stored on a first persistent storage device in the data node and the wherein the new first chunk is stored on a second persistent storage device in the data node.

13. 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, by a compute acceleration device (CAD), a first chunk to be health-checked using storage metadata, wherein the CAD is located in a first fault domain;

generating 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;

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

storing the new first chunk in a data node, wherein the CAD is executing in the data node;

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

sending a copy of the updated storage metadata to at least a second CAD in a second data node, wherein the second CAD is located in a second fault domain.

14. The non-transitory computer readable medium of claim 13 , wherein the first chunk identifier is a fingerprint of the first chunk.

15. The non-transitory computer readable medium of claim 13 , wherein updating the storage metadata comprises:

updating the storage metadata to include a third chunk identifier of the new first chunk; and

updating the storage metadata to include a storage location of the new first chunk.

16. The non-transitory computer readable medium of claim 13 , wherein the first chunk is stored on a persistent storage device in the data node and wherein the CAD is operatively connected to the persistent storage device.

17. The non-transitory computer readable medium of claim 13 , wherein the first chunk is stored on a first persistent storage device in the data node and the wherein the new first chunk is stored on a second persistent storage device in the data node.

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: DELL PRODUCTS L.P.; EMC CORPORATION; 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.; CHAGANTI, RAVIKANTH; ALI, RIZWAN
To: DELL PRODUCTS L.P.
Reel/Frame 050193/0001 →