IP Library › Granted Patent US 12,066,897
Granted Patent B2
US 12,066,897 · App. 18/302,212 · Granted Aug 20, 2024

Persistent memory file system reconciliation

Inventors: Matthew Fontaine Curtis-Maury (Apex, NC); Ram Kesavan (Los Altos, CA); Ananthan Subramanian (San Ramon, CA); Abdul Basit (Morrisville, NC); Vinay Devadas (Apex, NC); Yash Hetal Trivedi (Cary, NC)
Assignee: NetApp, Inc.
G06F11/1435G06F13/1668G06F16/183
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 12,066,897
App. No.
18/302,212
Granted
Aug 20, 2024
Kind
B2
Abstract

Techniques are provided for persistent memory file system reconciliation. As part of the persistent memory file system reconciliation, high level file system metadata associated with a persistent memory file system of persistent memory is reconciled. Client access to the persistent memory file system is inaccessible until reconciliation of the high level file system metadata has completed. A first scanner is executed to traverse pages of the persistent memory in order to fix local inconsistencies associated with the pages. A local inconsistency of a first set of metadata or data of a page is fixed using a second set of metadata or data of the page. The first scanner is executed asynchronously in parallel with processing client I/O directed to the persistent memory file system.

Claims (49)

1. A method comprising:

mirroring data between a first persistent memory of a first node and a second persistent memory of a second node,

wherein data within a local partition of the first persistent memory is mirrored to a remote partition of the second persistent memory;

performing a takeover sequence by the first node to take over processing of client I/O in place of the second node in response to the second node failing;

executing a scanner to traverse a file system tree of the remote partition to fix global inconsistencies; and

in response to receiving a client I/O operation directed to a page within the persistent memory, executing the scanner on-demand upon the file system tree in relation to the page and in-line with executing the client I/O operation based upon a determination that the scanner has not yet traversed the page.

2. The method of claim 1 , wherein the scanner is a first scanner, and wherein the takeover sequence comprises:

reconciling high level file system metadata within a persistent memory file system of the remote partition while client access to the persistent memory file system is inaccessible until reconciliation of the high level file system metadata has completed.

3. The method of claim 2 , wherein the takeover sequence comprises:

executing a first scanner to traverse pages of the remote partition to fix local inconsistencies associated with the pages.

4. The method of claim 3 , wherein the first scanner is executed asynchronously with respect to processing the client I/O directed to the persistent memory file system of the remote partition.

5. The method of claim 3 , wherein the takeover sequence comprises:

processing the client I/O operation based upon a determination that the scanner and the first scanner have traversed the page.

6. The method of claim 1 , wherein the scanner is executed asynchronously in parallel with processing the client I/O directed to the persistent memory file system of the remote partition.

7. The method of claim 3 , comprising:

in response to receiving a first client I/O operation directed to the page within the persistent memory, processing the first client I/O operation based upon a determination that the first scanner has traversed the page.

8. The method of claim 3 , comprising:

in response to receiving a first client I/O operation directed to the page within the persistent memory, executing the first scanner on-demand upon the page and in-line with executing the client I/O operation based upon a determination that the first scanner has not yet traversed the page.

9. The method of claim 3 , comprising:

in response to receiving a first client I/O operation directed to the page within the persistent memory, processing the client I/O operation based upon a determination that the first scanner and the scanner have traversed the page.

10. The method of claim 1 , comprising:

reconciling high level file system metadata within a persistent memory file system of the remote partition.

11. A computing device comprising:

a memory comprising machine executable code; and

a processor coupled to the memory, the processor configured to execute the machine executable code to cause the computing device to:

mirror data between a first persistent memory of a first node and a second persistent memory of a second node,

wherein data within a local partition of the first persistent memory is mirrored to a remote partition of the second persistent memory;

perform a takeover sequence by the first node to take over processing of client I/O in place of the second node in response to the second node failing;

executing a scanner to traverse a file system tree of the remote partition to fix global inconsistencies; and

in response to receiving a client I/O operation directed to a page within the persistent memory, executing the scanner on-demand upon the file system tree in relation to page and in-line with executing the client I/O operation based upon a determination that the scanner has not yet traversed the page.

12. The computing device of claim 11 , wherein the machine executable code causes the computing device to:

reconcile high level file system metadata within a persistent memory file system of the remote partition while client access to the persistent memory file system is inaccessible until reconciliation of the high level file system metadata has completed.

13. The computing device of claim 12 , wherein the machine executable code causes the computing device to:

execute a first scanner to traverse pages of the remote partition to fix local inconsistencies associated with the pages.

14. The computing device of claim 13 , wherein the first scanner is executed asynchronously with respect to processing the client I/O directed to the persistent memory file system of the remote partition.

15. The computing device of claim 13 , wherein the machine executable code causes the computing device to:

process the client I/O operation based upon a determination that the scanner and the first scanner have traversed the page.

16. The computing device of claim 11 , wherein the scanner is executed asynchronously in parallel with processing the client I/O directed to the persistent memory file system of the remote partition.

17. A non-transitory machine readable medium comprising instructions, which when executed by a machine, causes the machine to:

mirror data between a first persistent memory of a first node and a second persistent memory of a second node,

wherein data within a local partition of the first persistent memory is mirrored to a remote partition of the second persistent memory;

perform a takeover sequence by the first node to take over processing of client I/O in place of the second node in response to the second node failing;

execute a scanner to traverse a file system tree of the remote partition to fix global inconsistencies; and

in response to receiving a client I/O operation directed to a page within the persistent memory, execute the scanner on-demand upon the file system tree in relation to the page and in-line with executing the client I/O operation based upon a determination that the scanner has not yet traversed the page.

18. The non-transitory machine readable medium of claim 17 , wherein the takeover sequence comprises:

reconciling high level file system metadata within a persistent memory file system of the remote partition while client access to the persistent memory file system is inaccessible until reconciliation of the high level file system metadata has completed.

19. The non-transitory machine readable medium of claim 18 , wherein the takeover sequence comprises:

executing a first scanner to traverse pages of the remote partition to fix local inconsistencies associated with the pages.

20. The non-transitory machine readable medium of claim 19 , wherein the first scanner is executed asynchronously with respect to processing the client I/O directed to the persistent memory file system of the remote partition.

Continuity (2)
Division 17018176 · Sep 11, 2020
Related Publication 20230251932A1 · Aug 10, 2023
Cited By (1)
US 12,657,088