IP Library Granted Patent US 11,829,249
Granted Patent B2
US 11,829,249 · App. 17/344,614 · Granted Nov 28, 2023

Fast failover of a deduplicated file system through huge memory pages

Inventors: Yong Zou (San Jose, CA); Rahul Ugale (Santa Clara, CA)
Assignee: EMC IP Holding Company LLC
G06F11/1435G06F9/5016G06F11/0772G06F11/1453G06F11/1469G06F11/3006G06F2201/80G06F2209/5011
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,829,249
App. No.
17/344,614
Granted
Nov 28, 2023
Kind
B2
Abstract

A memory tier is established in a cluster system having a deduplicated file system. The memory tier includes memory pages configured as huge pages, where writes to the huge pages are exported in a device file that is outside of a user process namespace within which processes of the deduplicated file system run. At least a portion of metadata generated by the deduplicated file system is written to the memory tier. The portion of metadata includes an index of fingerprints corresponding to data segments stored by the deduplicated file system to a storage pool. A determination is made that an instance of the deduplicated file system has failed. A new instance of the deduplicated file system is started to recover file system services by loading the index of fingerprints from the device file.

Claims (51)

1. A method comprising:

establishing, in a cluster system having a deduplicated file system, a memory tier comprising memory pages configured as huge pages, wherein writes to the huge pages are exported in a device file that is outside of a user process namespace within which processes of the deduplicated file system run;

writing at least a portion of metadata generated by the deduplicated file system to the memory tier, the portion of the metadata written to the memory tier comprising an index of fingerprints corresponding to data segments stored by the deduplicated file system to a storage pool;

determining that an instance of the deduplicated file system has failed; and

starting a new instance of the deduplicated file system to recover file system services by loading the index of fingerprints from the device file, wherein the memory tier is a first memory tier, and the method further comprises:

establishing a second memory tier comprising persistent memory (PMEM) devices in nodes of the cluster system; and

writing a second portion of the metadata generated by the deduplicated file system to the second memory tier, the second portion of the metadata comprising tree data structures tracking the data segments stored by the deduplicated file system to the storage pool.

2. The method of claim 1 wherein the

second memory tier is hierarchically below the first memory tier, and wherein the first memory tier comprises volatile memory with the memory pages configured as huge pages, and a size of the second memory tier is greater than a size of the first memory tier.

3. The method of claim 1 wherein the failure of the instance of the deduplicated file system is accompanied by a crash of the user process namespace, and wherein the index of fingerprints remains available in the memory tier because the device file is outside the user process namespace.

4. The method of claim 1 further comprising:

maintaining a complete copy of the metadata including the index of fingerprints in the storage pool.

5. The method of claim 1 further comprising:

building a memory pool comprising the huge pages across nodes of the cluster system;

maintaining the index of fingerprints in the memory pool;

determining that the instance of deduplicated file system has failed on a first node of the cluster system; and

starting the new instance of the deduplicated file system on a second node of the cluster system by reading the index of fingerprints from the memory pool.

6. A system comprising: a processor; and memory configured to store one or more sequences of instructions which, when executed by the processor, cause the processor to carry out the steps of:

establishing, in a cluster system having a deduplicated file system, a memory tier comprising memory pages configured as huge pages, wherein writes to the huge pages are exported in a device file that is outside of a user process namespace within which processes of the deduplicated file system run;

writing at least a portion of metadata generated by the deduplicated file system to the memory tier, the portion of the metadata written to the memory tier comprising an index of fingerprints corresponding to data segments stored by the deduplicated file system to a storage pool;

determining that an instance of the deduplicated file system has failed; and

starting a new instance of the deduplicated file system to recover file system services by loading the index of fingerprints from the device file, wherein the memory tier is a first memory tier, and the processor further carries out the steps of:

establishing a second memory tier comprising persistent memory (PMEM) devices in nodes of the cluster system; and

writing a second portion of the metadata generated by the deduplicated file system to the second memory tier, the second portion of the metadata comprising tree data structures tracking the data segments stored by the deduplicated file system to the storage pool.

7. The system of claim 6 wherein the

second memory tier is hierarchically below the first memory tier, and wherein the first memory tier comprises volatile memory with the memory pages configured as huge pages, and a size of the second memory tier is greater than a size of the first memory tier.

8. The system of claim 6 wherein the failure of the instance of the deduplicated file system is accompanied by a crash of the user process namespace, and wherein the index of fingerprints remains available in the memory tier because the device file is outside the user process namespace.

9. The system of claim 6 wherein the processor further carries out the steps of:

maintaining a complete copy of the metadata including the index of fingerprints in the storage pool.

10. The system of claim 6 wherein the processor further carries out the steps of:

building a memory pool comprising the huge pages across nodes of the cluster system;

maintaining the index of fingerprints in the memory pool;

determining that the instance of deduplicated file system has failed on a first node of the cluster system; and

starting the new instance of the deduplicated file system on a second node of the cluster system by reading the index of fingerprints from the memory pool.

11. A computer program product, comprising a non-transitory computer-readable medium having a computer-readable program code embodied therein, the computer-readable program code adapted to be executed by one or more processors to implement a method comprising:

establishing, in a cluster system having a deduplicated file system, a memory tier comprising memory pages configured as huge pages, wherein writes to the memory tier are exported in a device file that is outside of a user process namespace within which processes of the deduplicated file system run;

writing at least a portion of metadata generated by the deduplicated file system to the memory tier, the portion of the metadata written to the memory tier comprising an index of fingerprints corresponding to data segments stored by the deduplicated file system to a storage pool;

determining that an instance of the deduplicated file system has failed; and

starting a new instance of the deduplicated file system to recover file system services by loading the index of fingerprints from the device file, wherein the memory tier is a first memory tier, and the method further comprises:

establishing a second memory tier comprising persistent memory (PMEM) devices in nodes of the cluster system; and

writing a second portion of the metadata generated by the deduplicated file system to the second memory tier, the second portion of the metadata comprising tree data structures tracking the data segments stored by the deduplicated file system to the storage pool.

12. The computer program product of claim 11 wherein the

second memory tier is hierarchically below the first memory tier, and wherein the first memory tier comprises volatile memory with the memory pages configured as huge pages, and a size of the second memory tier is greater than a size of the first memory tier.

13. The computer program product of claim 11 wherein the failure of the instance of the deduplicated file system is accompanied by a crash of the user process namespace, and wherein the index of fingerprints remains available in the memory tier because the device file is outside the user process namespace.

14. The computer program product of claim 11 wherein the method further comprises:

maintaining a complete copy of the metadata including the index of fingerprints in the storage pool.

15. The computer program product of claim 11 wherein the method further comprises:

building a memory pool comprising the huge pages across nodes of the cluster system;

maintaining the index of fingerprints in the memory pool;

determining that the instance of deduplicated file system has failed on a first node of the cluster system; and

starting the new instance of the deduplicated file system on a second node of the cluster system by reading the index of fingerprints from the memory pool.

Assignments (8)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (058014/0560) 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/0473 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (057931/0392) 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/0382 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (057758/0286) 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 061654/0064 →
SECURITY INTEREST Recorded Oct 6, 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 058014/0560 →
SECURITY INTEREST Recorded Oct 6, 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 057758/0286 →
SECURITY INTEREST Recorded Oct 6, 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 057931/0392 →
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 10, 2021
From: ZOU, YONG; UGALE, RAHUL
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 056504/0727 →
Continuity (1)
Related Publication 20220398160A1 · Dec 15, 2022
Cited By (1)
US 12,468,466