Write-ahead log maintenance and recovery

US10838630B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10838630-B2
Application numberUS-201615131658-A
CountryUS
Kind codeB2
Filing dateApr 18, 2016
Priority dateApr 18, 2016
Publication dateNov 17, 2020
Grant dateNov 17, 2020

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.

A system for tracking metadata changes and recovering from system interruptions. With host I/O, corresponding metadata incremental changes are aggregated and stored in a write-ahead log before being performed to their in-memory buffers. As those buffers are flushed, checkpoints are created and stored in the log. As the log wraps to the start, older entries are overwritten after they are freed from any remaining dependencies by newer checkpoints. If metadata entities have not created new checkpoints, they are instructed to in order to free up space for new aggregated batches and checkpoints. After an interruption, the wrap point is located in the log. From the wrap point, the log is scanned backwards to provide checkpoints to metadata entities. The log is then scanned forwards to perform changes specified by aggregated batches. The metadata entities' volatile memory states are recovered to what they were before the interruption.

First claim

Opening claim text (preview).

What is claimed is: 1. A method, comprising: writing, by a storage controller, an incremental change set in a write ahead log comprising a plurality of incremental change sets in a solid state drive identified by a wrap point, wherein the incremental change set corresponds to a condition of metadata in volatile memory for a metadata client, the incremental change set being written to the solid state drive prior to an update to the metadata; tracking, by the storage controller, a dependency of a checkpoint in the write ahead log to at least one of the plurality of incremental change sets, an oldest incremental change set dependency corresponding to a region beyond the wrap point; determining, by the storage controller from the tracking, that the checkpoint in the write ahead log records a dependency of the metadata client to the oldest incremental change set, a new checkpoint being persisted in the write ahead log incorporating the dependency to the oldest incremental change set; and maintaining a sequence number in the write ahead log, wherein the sequence number corresponds to a number of times that the wrap point has wrapped from an end of an address range to a start of the address range for the write ahead log. 2. The method of claim 1 , wherein the determining further comprises: accessing, by the storage controller, a list maintained for the region that identifies one or more metadata clients including the metadata client that maintain the checkpoint with the dependency to the oldest incremental change set. 3. The method of claim 1 , wherein the checkpoint is one among a plurality of checkpoints that each comprise a backup of a metadata object for the metadata client corresponding to the metadata, and the plurality of incremental change sets each comprise one or more incremental changes to one or more checkpoints from among the plurality of checkpoints. 4. The method of claim 1 , further comprising, in response to the storage controller restarting from a failure event: identifying, by the storage controller, a point in the write ahead log as the wrap point based on locating where sequence numbers respectively associated with contiguous stored metadata tracking structures, comprising the plurality of incremental change sets and the checkpoint, are different from each other. 5. The method of claim 1 , further comprising: scanning, by the storage controller, the write ahead log in reverse from the wrap point for checkpoints until reaching a last reported checkpoint from the metadata client to reinstantiate a metadata object corresponding to the metadata client and the last reported checkpoint. 6. The method of claim 1 , further comprising: scanning, by the storage controller, the write ahead log forward from a last reported checkpoint for incremental change sets to implement incremental changes identified in the incremental change sets to the last reported checkpoint. 7. A non-transitory machine readable medium having stored thereon instructions for performing a method comprising machine executable code which when executed by at least one machine, causes the machine to: write an incremental change set in a write ahead log comprising a plurality of incremental change sets in a solid state drive identified by a wrap point, the incremental change set corresponding to a condition of metadata in volatile memory associated with the machine for a metadata client, the incremental change set being written to the solid state drive prior to an update to the metadata; determine that a checkpoint in the write ahead log maintains a dependency to at least one outdated incremental change set from the plurality of incremental change sets, a new checkpoint being persisted in the write ahead log incorporating the outdated dependency; and maintain a sequence number in the write ahead log, wherein the sequence number corresponds to a number of times that writing has wrapped from an end of an address range to a start of the address range for the write ahead log. 8. The non-transitory machine readable medium of claim 7 , further comprising machine executable code that causes the machine, as part of the determination, to: access a list maintained for a region of the write ahead log that identifies one or more metadata clients including the metadata client that maintain the checkpoint with the dependency on the outdated incremental change set. 9. The non-transitory machine readable medium of claim 7 , wherein the checkpoint comprises a backup of a metadata object for the metadata client corresponding to the metadata, and the incremental change set comprises one or more incremental changes to one or more checkpoints corresponding to one or more metadata objects including the metadata object for the metadata client corresponding to the metadata. 10. The non-transitory machine readable medium of claim 7 , further comprising machine executable code that causes the machine, in response to restarting from a failure event, to: identify a point in the write ahead log as the wrap point where sequence numbers respectively associated with contiguous data extents, comprising the plurality of incremental change sets and the checkpoint, are different from each other. 11. The non-transitory machine readable medium of claim 7 , further comprising machine executable code that causes the machine to: scan the write ahead log in reverse from the wrap point for checkpoints until receiving a report from the metadata client that a most recent checkpoint has been retrieved to reinstantiate a metadata object corresponding to the metadata client and the most recent checkpoint. 12. The non-transitory machine readable medium of claim 7 , further comprising machine executable code that causes the machine to: scan the write ahead log forward from the most recent checkpoint for incremental change sets to implement incremental changes obtained from incremental change sets to a most recent checkpoint. 13. A computing device comprising: a memory containing machine readable medium comprising a non-transitory machine executable code having stored thereon instructions for performing a method of maintaining a write ahead log comprising a plurality of incremental change sets; a processor coupled to the memory, the processor configured to execute the machine executable code to cause the processor to: write an incremental change set in the write ahead log in a solid state drive identified by a wrap point, the incremental change set corresponding to a condition of metadata in volatile memory associated with the computing device for a metadata client, the incremental change set being written to the solid state drive prior to an update to the metadata; determine that a checkpoint in the write ahead log maintains a dependency to at least one outdated incremental change set from the plurality of incremental change sets, a checkpoint being persisted in the write ahead log incorporating the outdated dependency; and maintain a sequence number in the write ahead log, wherein the sequence number corresponds to a number of times that writing has wrapped from an end of an address range to a start of the address range for the write ahead log. 14. The computing device of claim 13 , the machine executable code further causing the processor to: access a list maintained for a region of the write ahead log that identifies one or more metadata clients including the metadata client that maintain the checkpoint with the dependency on the outdated incremental change set. 15. The computing device of claim 13 , wherein the checkpoint comprises a backup of a metadata object for th

Assignees

Inventors

Classifications

  • in relation to availability · CPC title

  • by facilitating the interaction with a user or administrator · CPC title

  • Plurality of storage devices · CPC title

  • Techniques of failing over between control units · CPC title

  • Data acquisition and logging (for input to computer G06F3/00) · 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 US10838630B2 cover?
A system for tracking metadata changes and recovering from system interruptions. With host I/O, corresponding metadata incremental changes are aggregated and stored in a write-ahead log before being performed to their in-memory buffers. As those buffers are flushed, checkpoints are created and stored in the log. As the log wraps to the start, older entries are overwritten after they are freed f…
Who is the assignee on this patent?
Netapp Inc
What technology area does this patent fall under?
Primary CPC classification G06F3/0619. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Nov 17 2020 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 3 related publications on this page (citations in our corpus or others sharing the same primary CPC).