UPIT Manager Snapshot Storage Using B+ Tree Structures

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current snapshot technologies face scalability issues and data management challenges, particularly with redo-log based methods requiring intensive computations and tree-based methods having complex, intertwined structures that consume excessive storage space.

Innovation Solution

The implementation of a universal point-in-time (UPIT) manager using copy-on-write B+ tree structures to organize storage objects and their snapshots, with additional B+ tree structures for efficient metadata and data management, allowing for scalable and space-efficient storage of snapshots within a single structure.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If redo-log based snapshot techniques are used, then snapshot changes can be maintained separately, but the system cannot scale to manage a large number of snapshots and requires intensive computations

Engineering Contradiction:
Improvesnapshot data integrityVSAvoidsnapshot management scalability
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent merges multiple snapshot data structures into a unified B-tree structure where all snapshots share common data blocks. Instead of maintaining separate redo logs for each snapshot, the system consolidates snapshot data into a single B-tree that can efficiently serve multiple snapshot points in time, eliminating the scalability limitation while maintaining data integrity through the B-tree's inherent consistency mechanisms

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The B-tree structure serves multiple functions simultaneously: it stores current data, maintains historical snapshots, and provides efficient retrieval for any snapshot point. This universal structure replaces the specialized redo-log mechanism, allowing the same data structure to handle both storage and retrieval operations for numerous snapshots without requiring intensive computation for consolidation

Inventive Principle:
Principle #6Universality (Multi-functionality)

2Productivity

If tree-based snapshot techniques are used, then scalability is improved, but the snapshot structure becomes complex and intertwined with unexpectedly large data requirements

Engineering Contradiction:
Improvesnapshot management scalabilityVSAvoidsnapshot structure complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments the snapshot storage into data blocks that are independently managed within the B-tree structure. Each data block can be individually allocated, shared, or released without affecting the overall structure. This segmentation simplifies the management of large numbers of snapshots by breaking down the complex intertwined structure into manageable, independent units that can be efficiently tracked and manipulated

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system implements efficient data block sharing and release mechanisms where data blocks can be discarded from individual snapshots when no longer needed and recovered for use by other snapshots. The B-tree structure automatically manages data block lifecycles, allowing snapshots to share common data blocks and release them when superseded by newer snapshots, thereby reducing overall storage requirements and simplifying the snapshot structure

Inventive Principle:
Principle #34Discarding and recovering

Data Source

PatentUS11334545B2System and method for managing space in storage object structures
Publication Date: 2022.05.17 VMWARE INC
  • US11334545B2 patent drawing
  • US11334545B2 patent drawing
  • US11334545B2 patent drawing

AI summary

System and method for managing space in storage object structures stored in a storage system uses an object B tree structure to manage a storage object in a storage object structure in the storage system, which provides virtual physical block addresses for data of the storage object and for metadata of nodes of the object B tree structure. The metadata of the nodes of the object B tree structure is written in the storage object structure using first real physical block addresses, which are translated from the virtual block addresses for the metadata of the nodes of the object B tree structure using a metadata system file B tree structure. The data of the storage object is written in the storage object structure using second real physical block addresses, which are translated from the virtual block addresses for the data of the storage object using a data system file B tree structure.