IP Library Granted Patent US 11,579,976
Granted Patent B2
US 11,579,976 · App. 17/244,465 · Granted Feb 14, 2023

Methods and systems parallel raid rebuild in a distributed storage system

Inventors: Jean-Pierre Bono (Westboro, MA); Marc A. De Souter (Wayne, NJ); Adrian Michaud (Carlisle, MA); Qin Xin (Irvine, CA)
Assignee: EMC IP Holding Company LLC
G06F11/1092G06F3/067G06F3/0613G06F3/0619G06F3/0644G06F3/0664G06F3/0689G06F11/0772G06F11/3034
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,579,976
App. No.
17/244,465
Granted
Feb 14, 2023
Kind
B2
Abstract

A method for rebuilding data, comprising: obtaining, from a metadata node, a source file data layout for a source file and a target file data layout for a target file, wherein the source file is associated with a degraded mapped RAID group and the target file is associated with a new mapped RAID group; generating, by the client application node, a plurality of input/output (I/O) requests to read a portion of the data associated with the source file using the source file data layout; obtaining, in response to the plurality of I/O requests, the portion of the data associated with the source file; rebuilding a second portion of the data associated with source file using the portion of the data; and initiating, storage of at least the second portion of the data associated with the source file in the storage pool using the target file data layout.

Claims (48)

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

obtaining, from a metadata node and by file system (FS) client executing on a client application node, a source file data layout for a source file and a target file data layout for a target file, wherein the source file is associated with a degraded mapped RAID group and the target file is associated with a new mapped RAID group;

generating, by a memory hypervisor module executing on the client application node, a plurality of input/output (I/O) requests to read a portion of the data associated with the source file using the source file data layout;

issuing, by the memory hypervisor module, the plurality of I/O requests to a storage pool;

obtaining, by the client application node and in response to the plurality of I/O requests, the portion of the data associated with the source file;

rebuilding a second portion of the data associated with source file using the portion of the data associated with the source file;

initiating, using the memory hypervisor, storage of at least the second portion of the data associated with the source file in the storage pool using the target file data layout,

wherein a second client application is able to obtain read only access to the data associated with the source file during the rebuilding; and

issuing, by the client application node, a notification to the metadata node that the rebuilding of the target file is completed after at least the second portion of the data is stored in the storage pool.

2. The method of claim 1 , wherein the metadata node, after receiving the notification, permits the second client application to obtain read write access to the data using the target file data layout.

3. The method of claim 1 , wherein the degraded mapped RAID group comprises a plurality of memory devices, wherein at least one of the plurality of memory devices in the degraded mapped RAID group has failed, and wherein the portion of the data is obtained from the plurality of memory devices that have not failed.

4. The method of claim 3 , wherein the second portion of the data corresponds to data that was previously stored on the at least one of the plurality of memory devices in the degraded mapped RAID group that has failed.

5. The method of claim 3 , wherein the storage pool comprises the plurality of memory devices, wherein a memory device of the plurality of memory devices is located on a storage node and a second memory device of the plurality of memory devices is located on the client application node.

6. The method of claim 5 , wherein at least one of the plurality of I/O requests is issued directly to the storage node and is not processed by the metadata node.

7. The method of claim 3 , wherein at least one of the plurality the memory devices is a persistent memory (PMEM) device.

8. A non-transitory computer readable medium comprising instructions which, when executed by a processor, enables the processor to perform a method for rebuilding data, the method comprising:

obtaining, from a metadata node and by file system (FS) client executing on a client application node, a source file data layout for a source file and a target file data layout for a target file, wherein the source file is associated with a degraded mapped RAID group and the target file is associated with a new mapped RAID group;

generating, by a memory hypervisor module executing on the client application node, a plurality of input/output (I/O) requests to read a portion of the data associated with the source file using the source file data layout,

issuing, by the memory hypervisor module, the plurality of I/O requests to a storage pool;

obtaining, by the client application node and in response to the plurality of I/O requests, the portion of the data associated with the source file;

rebuilding a second portion of the data associated with source file using the portion of the data associated with the source file;

initiating, using the memory hypervisor, storage of at least the second portion of the data associated with the source file in the storage pool using the target file data layout,

wherein a second client application is able to obtain read only access to the data associated with the source file during the rebuilding; and

issuing, by the client application node, a notification to the metadata node that the rebuilding of the target file is completed after at least the second portion of the data is stored in the storage pool.

9. The non-transitory computer readable medium of 8 , wherein the metadata node, after receiving the notification, permits the second client application to obtain read write access to the data using the target file data layout.

10. The non-transitory computer readable medium of 8 , wherein the degraded mapped RAID group comprises a plurality of memory devices, wherein at least one of the plurality of memory devices in the degraded mapped RAID group has failed, and wherein the portion of the data is obtained from the plurality of memory devices that have not failed.

11. The non-transitory computer readable medium of 10 , wherein the second portion of the data corresponds to data that was previously stored on the at least one of the plurality of memory devices in the degraded mapped RAID group that has failed.

12. The non-transitory computer readable medium of 10 , wherein the storage pool comprises the plurality of memory devices, wherein a memory device of the plurality of memory devices is located on a storage node and a second memory device of the plurality of memory devices is located on the client application node.

13. The non-transitory computer readable medium of 12 , wherein at least one of the plurality of I/O requests is issued directly to the storage node and is not processed by the metadata node.

14. The non-transitory computer readable medium of 10 , wherein at least one of the plurality the memory devices is a persistent memory (PMEM) device.

15. A node, comprising;

memory;

a processor, wherein the processor is configured to:

obtain, from a metadata node and by file system (FS) client executing on a client application node, a source file data layout for a source file and a target file data layout for a target file, wherein the source file is associated with a degraded mapped RAID group and the target file is associated with a new mapped RAID group;

generate, by a memory hypervisor module executing on the client application node, a plurality of input/output (I/O) requests to read a portion of the data associated with the source file using the source file data layout;

issue, by the memory hypervisor module, the plurality of I/O requests to a storage pool;

obtain, by the client application node and in response to the plurality of I/O requests, the portion of the data associated with the source file;

rebuild a second portion of the data associated with source file using the portion of the data associated with the source file;

initiate, using the memory hypervisor, storage of at least the second portion of the data associated with the source file in the storage pool using the target file data layout,

wherein a second client application is able to obtain read only access to the data associated with the source file during the rebuilding; and

issue, by the client application node, a notification to the metadata node that the rebuilding of the target file is completed after at least the second portion of the data is stored in the storage pool.

16. The node of claim 15 ,

wherein the metadata node, after receiving the notification, permits the second client application to obtain read write access to the data using the target file data layout.

17. The node of claim 15 ,

wherein the degraded mapped RAID group comprises a plurality of memory devices,

wherein at least one of the plurality of memory devices in the degraded mapped RAID group has failed, and wherein the portion of the data is obtained from the plurality of memory devices that have not failed.

18. The node of claim 17 ,

wherein the second portion of the data corresponds to data that was previously stored on the at least one of the plurality of memory devices in the degraded mapped RAID group that has failed.

Assignments (10)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (056295/0280) 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 062022/0255 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (056295/0124) 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 062022/0012 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (056295/0001) 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 062021/0844 →
RELEASE OF SECURITY INTEREST Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058297/0332 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 22, 2021
From: BONO, JEAN-PIERRE; DE SOUTER, MARC A.; MICHAUD, ADRIAN; XIN, QIN
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 056620/0676 →
SECURITY INTEREST Recorded May 19, 2021
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 056295/0280 →
SECURITY INTEREST Recorded May 19, 2021
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 056295/0124 →
SECURITY INTEREST Recorded May 19, 2021
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 056295/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE MISSING PATENTS THAT WERE ON THE ORIGINAL SCHEDULED SUBMITTED BUT NOT ENTERED PREVIOUSLY RECORDED AT REEL: 056250 FRAME: 0541. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded May 17, 2021
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 056311/0781 →
SECURITY AGREEMENT Recorded May 14, 2021
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 056250/0541 →