Snapshot Page Deletion Using Sequence Numbers

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for deleting snapshots in software-defined data centers incur significant IO overhead due to reference counting and iterator-based approaches, leading to noticeable slowdowns.

Innovation Solution

The implementation of a method using sequence numbers and page lookups to determine shared pages, where each snapshot has a logical map B+tree with monotonically-increasing sequence numbers, allowing for efficient deletion of exclusively owned pages without scanning parent or child snapshots.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If reference counting and iterator-based approaches are used to delete snapshots, then snapshot deletion can be performed, but significant IO overhead is incurred leading to noticeable slowdowns

Engineering Contradiction:
Improvesnapshot deletion efficiencyVSAvoidIO overhead
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent applies preliminary action by pre-assigning monotonically increasing sequence numbers to each page when it is created or allocated in the storage system. This pre-tagging approach allows the deletion process to efficiently identify and delete exclusively owned pages without requiring time-consuming reference counting or iterator-based scanning during the actual deletion operation. The sequence numbers are prepared in advance, enabling fast lookup and deletion decisions.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent extracts the overhead of determining page ownership from the deletion process itself. By maintaining sequence number metadata that pre-identifies exclusively owned pages, the system separates the ownership determination logic from the deletion execution. This extraction allows the deletion operation to focus solely on removing pages that are marked as exclusively owned, without needing to perform reference counting or scan parent/child snapshots during deletion.

Inventive Principle:
Principle #2Taking out (Extraction)

2Ease of operation

If reference counts of nodes are kept and checked to determine shared or deletable nodes, then snapshot deletion can be performed, but IO overhead increases causing slowdowns

Engineering Contradiction:
Improvesnapshot deletion capabilityVSAvoidreference counting mechanism
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The patent uses sequence numbers as a simplified copy or representation of page ownership information. Instead of maintaining complex reference count metadata for each node, the system uses the pre-existing sequence number (which copies the creation timing information) to determine ownership. This sequence number acts as a lightweight surrogate that eliminates the need for separate reference counting structures and their associated complexity.

Inventive Principle:
Principle #26Copying

3Reliability

If iterators are used to scan parent and child snapshots to determine shared pages, then accurate deletion can be performed, but IO performance deteriorates

Engineering Contradiction:
Improvedeletion accuracyVSAvoidIO performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent applies preliminary action by pre-assigning monotonically increasing sequence numbers to each page when it is created or allocated in the storage system. This pre-tagging approach allows the deletion process to efficiently identify and delete exclusively owned pages without requiring time-consuming reference counting or iterator-based scanning during the actual deletion operation. The sequence numbers are prepared in advance, enabling fast lookup and deletion decisions.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11537297B1Deleting snapshot pages using sequence numbers and page lookups
Publication Date: 2022.12.27 VMWARE INC
  • US11537297B1 patent drawing
  • US11537297B1 patent drawing
  • US11537297B1 patent drawing

AI summary

The present disclosure is related to methods, systems, and machine-readable media for deleting snapshot pages using sequence numbers and page lookups. A monotonically-increasing sequence number (SN) can be assigned to each created page of a first snapshot of a storage volume. A first snapshot sequence number (snapSN) can be assigned to the first snapshot responsive to a creation of a second snapshot, wherein the first snapSN is equal to a largest SN of the first snapshot. An SN can be assigned to each created page of the second snapshot, wherein a first page of the second snapshot is assigned an SN monotonically increased from the first snapSN. A second snapSN can be assigned to the second snapshot responsive to a creation of a third snapshot, wherein the second snapSN is equal to a largest SN of the second snapshot. An SN can be assigned to each created page of the third snapshot, wherein a first page of the third snapshot is assigned an SN monotonically increased from the second snapSN. A deletion process can be performed in response to receiving a request to delete the second snapshot that includes deleting a particular page of the second snapshot responsive to determining that the particular page is not shared between the second snapshot and the first snapshot or between the second snapshot and the third snapshot.