Resumable copy-on-write (COW) B+tree pages deletion

US11860736B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11860736-B2
Application numberUS-202117644618-A
CountryUS
Kind codeB2
Filing dateDec 16, 2021
Priority dateDec 16, 2021
Publication dateJan 2, 2024
Grant dateJan 2, 2024

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 method for resumeable snapshot deletion is provided. A method for deletion of nodes maintained in an ordered data structure for a first snapshot includes processing the nodes maintained in the ordered data structure according to a defined order, setting a node path cursor with a pointer to a node and an indication of the deletion of the node; storing the node path cursor in a persistent storage; and during processing of the nodes: detecting a failure; after the failure, checking the pointer of the node path cursor; and resuming processing of the nodes starting from the first node indicated by the pointer.

First claim

Opening claim text (preview).

We claim: 1. A method for deletion of nodes maintained in an ordered data structure for a first snapshot, the method comprising: processing the nodes maintained in the ordered data structure according to a defined order, wherein processing the nodes includes: identifying a first node of a plurality of nodes maintained in the ordered data structure for the first snapshot; determining the first node is exclusively owned by the first snapshot; and deleting the first node based on the determination; setting a node path cursor with a pointer to the first node and an indication of the deletion of the first node; storing the node path cursor in a persistent storage; and during processing of the nodes: detecting a failure; after the failure, checking the pointer of the node path cursor; and resuming processing of the nodes starting from the first node indicated by the pointer. 2. The method of claim 1 , wherein processing the nodes according to the defined order comprises, for each of the nodes, processing all child nodes of the node before deleting the node. 3. The method of claim 1 , wherein processing the nodes further includes: identifying a second node of the plurality of nodes maintained in the order data structure for the first snapshot; determining the node is shared with a second snapshot; and skipping the second node for deletion. 4. The method of claim 1 , wherein the node path cursor further comprises a physical block address (PBA) of the first node. 5. The method of claim 1 , wherein the node path cursor further comprises a physical block address (PBA) of a root node in the order data structure for the first snapshot and a pointer at each level of the ordered data structure to the first node. 6. The method of claim 1 , wherein storing the node path cursor in the persistent storage comprises: storing the node path cursor in memory; determining a threshold number of nodes have been deleted in memory; deleting the number of nodes from the persistent storage as a transaction; and storing the node path cursor in the persistent storage as a part of the transaction. 7. The method of claim 1 , wherein determining the first node is exclusively owned by the first snapshot comprises determining a logical block address (LBA) associated with the first node is not found in the ordered data structure for any other snapshot. 8. A system for deletion of nodes maintained in an ordered data structure for a first snapshot, comprising: one or more processors; and at least one memory, the one or more processors and the at least one memory configured to: process the nodes maintained in the ordered data structure according to a defined order, wherein processing the nodes includes: identify a first node of a plurality of nodes maintained in the ordered data structure for the first snapshot; determine the first node is exclusively owned by the first snapshot; and delete the first node based on the determination; set a node path cursor with a pointer to the first node and an indication of the deletion of the first node; store the node path cursor in a persistent storage; and during processing of the nodes: detect a failure; after the failure, check the pointer of the node path cursor; and resume processing of the nodes starting from the first node indicated by the pointer. 9. The system of claim 8 , wherein the one or more processors and the at least one memory are configured to process the nodes according to the defined order by, for each of the nodes, processing all child nodes of the node before deleting the node. 10. The system of claim 8 , wherein the one or more processors and the at least one memory are configured to process the nodes by: identifying a second node of the plurality of nodes maintained in the order data structure for the first snapshot; determining the node is shared with a second snapshot; and skipping the second node for deletion. 11. The system of claim 8 , wherein the node path cursor further comprises a physical block address (PBA) of the first node. 12. The system of claim 8 , wherein the node path cursor further comprises a physical block address (PBA) of a root node in the order data structure for the first snapshot and a pointer at each level of the ordered data structure to the first node. 13. The system of claim 8 , wherein the one or more processors and the at least one memory are configured to store the node path cursor in the persistent storage by: storing the node path cursor in memory; determining a threshold number of nodes have been deleted in memory; deleting the number of nodes from the persistent storage as a transaction; and storing the node path cursor in the persistent storage as a part of the transaction. 14. The system of claim 8 , wherein the one or more processors and the at least one memory are configured to determine the first node is exclusively owned by the first snapshot by determining a logical block address (LBA) associated with the first node is not found in the ordered data structure for any other snapshot. 15. A non-transitory computer-readable medium comprising instructions that, when executed by one or more processors of a computing system, cause the computing system to perform operations for deletion of nodes maintained in an ordered data structure for a first snapshot, the operations comprising: processing the nodes maintained in the ordered data structure according to a defined order, wherein processing the nodes includes: identifying a first node of a plurality of nodes maintained in the ordered data structure for the first snapshot; determining the first node is exclusively owned by the first snapshot; and deleting the first node based on the determination; setting a node path cursor with a pointer to the first node and an indication of the deletion of the first node; storing the node path cursor in a persistent storage; and during processing of the nodes: detecting a failure; after the failure, checking the pointer of the node path cursor; and resuming processing of the nodes starting from the first node indicated by the pointer. 16. The non-transitory computer-readable medium of claim 15 , wherein processing the nodes according to the defined order comprises, for each of the nodes, processing all child nodes of the node before deleting the node. 17. The non-transitory computer-readable medium of claim 15 , wherein processing the nodes further includes: identifying a second node of the plurality of nodes maintained in the order data structure for the first snapshot; determining the node is shared with a second snapshot; and skipping the second node for deletion. 18. The non-transitory computer-readable medium of claim 15 , wherein the node path cursor further comprises a physical block address (PBA) of the first node. 19. The non-transitory computer-readable medium of claim 15 , wherein the node path cursor further comprises a physical block address (PBA) of a root node in the order data structure for the first snapshot and a pointer at each level of the ordered data structure to the first node. 20. The non-transitory computer-readable medium of claim 15 , wherein storing the node path cursor in the persistent storage comprises: storing the node path cursor in memory; determining a threshold number of nodes have been deleted in memory; deleting the number of nodes from the persistent storage as a transaction; and storing the node path cursor in the persistent storage as a part of the

Assignees

Inventors

Classifications

  • Checkpointing the instruction stream · CPC title

  • in transactions (updating of structured data in databases G06F16/23) · CPC title

  • Details of file system snapshots on the file-level, e.g. snapshot creation, administration, deletion (error detection or correction of the data by redundancy in operations or in hardware G06F11/14, G06F11/16) · CPC title

  • Trees, e.g. B+trees · CPC title

  • Error or fault detection not based on redundancy (power supply failures G06F1/30; network fault management H04L41/06) · 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 US11860736B2 cover?
A method for resumeable snapshot deletion is provided. A method for deletion of nodes maintained in an ordered data structure for a first snapshot includes processing the nodes maintained in the ordered data structure according to a defined order, setting a node path cursor with a pointer to a node and an indication of the deletion of the node; storing the node path cursor in a persistent stora…
Who is the assignee on this patent?
Vmware Inc
What technology area does this patent fall under?
Primary CPC classification G06F11/1407. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jan 02 2024 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 9 related publications on this page (citations in our corpus or others sharing the same primary CPC).