Continuous namespace verification for single-node filesystems

US2024111726A1 · US · A1

Patent metadata
FieldValue
Publication numberUS-2024111726-A1
Application numberUS-202217958751-A
CountryUS
Kind codeA1
Filing dateOct 3, 2022
Priority dateOct 3, 2022
Publication dateApr 4, 2024
Grant date

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Embodiments for providing adaptive namespace verification with high efficiency. The verification process is used in modern filesystems to check the integrity of key data structures, such for backup systems where providing thorough and efficient mechanisms for verification is critical. Embodiments accelerate the verification process by selectively applying continuous, differential, and integral verification techniques for startup and runtime repair purposes to overcome present problems for system capacities that exceed the petabyte range and impose significant time requirements using existing verification methods. Embodiments work with both single-node and distributed filesystems.

First claim

Opening claim text (preview).

What is claimed is: 1 . A method of verifying filesystem data in a single-node system using a continuous verification process, comprising: checking, upon a system restart after an event, metadata just written to persistent storage by monitoring the flow of transactions written to the persistent storage; snooping namespace writes that are logged in a transaction log configured to store all namespace operations; storing the logged namespace writes in a verification cache; receiving a list of modified pages replayed after the system restart; and verifying, using an idle thread, each modified page by backtracking through events of the event to ensure that replayed pages have been correctly written to the persistent storage. 2 . The method of claim 1 wherein the namespace stores names of directories and files, and related information as metadata that includes file ownership, creation time, and wherein the namespace operations comprise filesystem creates, updates, and deletes. 3 . The method of claim 2 wherein the namespace of the single node contains file metadata implemented as a B+ tree comprising a balanced tree of fixed depth, wherein the node is a page of space and all metadata is stored in leaf pages. 4 . The method of claim 3 wherein the verification cache is embodied in a B+ tree and configured to hold a condensed cache of metadata modifications, and has a key/value orientation. 5 . The method of claim 1 wherein the transaction log comprises a persistent transaction log comprising a circular buffer data structure having a fixed size. 6 . The method of claim 5 further comprising: translating the transaction log entries are into page identifiers that are affected by the change; condensing page information into a stream of identifiers; and storing, in batches upon a flush operation of the transaction log, the stream in the verification cache. 7 . The method of claim 6 wherein the keys comprise unique identifiers of the Mtree B+ Tree pages (DMBT pages) and inode objects. 8 . The method of claim 7 wherein the keys are provided in a format: <mid><sid><page_no>, and <pid><cid><sid> respectively. 9 . The method of claim 8 wherein information regarding modified files and their connection to directories and specific to the continuous verification process is saved in a value portion of key-value structures in a key-value (KV) store. 10 . The method of claim 1 wherein the idle thread comprises a thread that is idle when there is no work for it to consume and that is activated when one of: new keys are added to the verification cache, or when a set timer count has expired. 11 . A continuous file verification method for a single-node filesystem having a namespace, comprising: running a continuous verification process on a node of the single-node system; logging file create, update and delete operations in a transaction log; snooping namespace write operations to the transaction log; depositing the namespace write operations in a verification cache; and reading the verification cache using a verification thread to verify pages in the namespace. 12 . The method of claim 11 wherein the verification process is performed after a crash of the filesystem, the method further comprising: restarting, after the crash, the filesystem; performing a replay operation to construct a list of modified pages of the pages in the namespace; and verifying each modified page in the list prior to bringing the filesystem online. 13 . The method of claim 12 wherein the verifying step comprises: backtracking through events of the crash; and ensuring that replayed commands have been correctly written to persistent storage. 14 . The method of claim 11 wherein the filesystem comprises a log-structured file system implemented in a Data Domain Filesystem having a data integrity architecture, and wherein the namespace contains file metadata implemented as a B+ tree comprising a balanced tree of fixed depth, wherein a node is a page of space, and related metadata is stored in leaf pages. 15 . The method of claim 14 wherein the transaction log comprises a transaction log storing a list of metadata changes comprising a modified directory manager B+ tree (DMBT) and modified file inode information, and wherein the verification cache comprises a B+ tree data element storing a condensed cache of the metadata changes with a key/value orientation. 16 . The method of claim 15 wherein the continuous verification process is performed by an idle thread comprising a thread that is idle when there is no work for the thread to consume and that is activated when one of: new keys are added to the verification cache, or when a set timer count has expired. 17 . A single-node system for verifying filesystem data in a single-node system using a continuous verification process, comprising: a persistent storage storing metadata written to the filesystem; a monitor component monitoring the flow of transactions written to the persistent storage to check, upon a system restart after an event, metadata just written to the persistent; a transaction log storing all namespace operations; a component snooping namespace writes that are logged in the transaction log; a verification cache storing the logged namespace writes; and an idle thread processing component receiving a list of modified pages replayed after the system restart, and verifying, using, each modified page by backtracking through events of the event to ensure that replayed pages have been correctly written to the persistent storage. 18 . The system of claim 17 wherein the namespace stores names of directories and files, and related information as metadata that includes file ownership, creation time, and wherein the namespace operations comprise filesystem creates, updates, and deletes, and further wherein the namespace of the single node contains file metadata implemented as a B+ tree comprising a balanced tree of fixed depth, wherein the node is a page of space and all metadata is stored in leaf pages, and yet further wherein the verification cache is embodied in a B+ tree and configured to hold a condensed cache of metadata modifications, and has a key/value orientation. 19 . The system of claim 17 wherein the transaction log comprises a persistent transaction log comprising a circular buffer data structure having a fixed size. 20 . The system of claim 19 wherein the idle thread comprises a thread that is idle when there is no work for the thread to consume and that is activated when one of: new keys are added to the verification cache, or when a set timer count has expired.

Assignees

Inventors

Classifications

  • Details of monitoring file system events, e.g. by the use of hooks, filter drivers, logs · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US2024111726A1 cover?
Embodiments for providing adaptive namespace verification with high efficiency. The verification process is used in modern filesystems to check the integrity of key data structures, such for backup systems where providing thorough and efficient mechanisms for verification is critical. Embodiments accelerate the verification process by selectively applying continuous, differential, and integral …
Who is the assignee on this patent?
Dell Products Lp
What technology area does this patent fall under?
Primary CPC classification G06F16/1734. Mapped technology areas include Physics.
When was this patent published?
Publication date Thu Apr 04 2024 00:00:00 GMT+0000 (Coordinated Universal Time) (A1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 2 related publications on this page (citations in our corpus or others sharing the same primary CPC).