Snapshot Management via Linked List Metadata and Bitmaps
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing methods for taking snapshots in data storage systems impose significant performance penalties and are limited in features, such as allowing arbitrary snapshot creation, quick deletion, and rolling back to earlier snapshots without system downtime or performance degradation.
Innovation Solution
A method using a linked list data structure to manage snapshots, allowing for efficient read and write operations, deletion of snapshots, and creation of writable snapshots by maintaining sequence numbers and bitmaps to track data changes, enabling performant snapshot management without performance penalties.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If copy-on-write algorithm is used for snapshots, then snapshot protection and backup functionality is achieved, but system performance degrades significantly due to multiple I/O operations
Solution Approach 1:
The patent segments the snapshot management into two independent components: a metadata layer that tracks snapshot states and a data layer that handles actual I/O operations. The metadata includes sequence numbers, timestamps, and block mappings that enable snapshot identification without requiring data copying during normal operations.
Solution Approach 2:
The patent introduces a metadata intermediary layer that sits between the snapshot management logic and the physical data storage. This metadata layer tracks which blocks have changed since the last snapshot and enables efficient snapshot creation and restoration without requiring actual data movement, thereby resolving the performance penalty while maintaining data protection.
2Reliability
If multiple concurrent snapshots are maintained, then backup coverage is improved, but performance penalties increase making it impractical to maintain more than 4-5 snapshots
Solution Approach 1:
The patent segments snapshot management by maintaining independent metadata structures for each snapshot, allowing multiple snapshots to coexist without interfering with each other's I/O operations. Each snapshot has its own sequence number and block mapping, enabling parallel management of numerous snapshots.
Solution Approach 2:
The patent implements lazy evaluation where snapshot data is only copied when actually needed (during snapshot creation or restoration), not continuously maintained. This allows the system to support many more than 4-5 snapshots by only performing data copying actions when required, rather than maintaining all snapshot data simultaneously in memory or on disk.
3Adaptability or versatility
If arbitrary snapshots are created with minimal delay, then snapshot granularity is improved, but system performance degrades due to frequent I/O operations
Solution Approach 1:
The patent performs preliminary metadata preparation before actual snapshot creation. The metadata structure is pre-configured with sequence numbers and block mappings, allowing snapshots to be created by simply updating metadata pointers rather than copying data. This enables arbitrary snapshot creation with minimal delay.
Solution Approach 2:
The patent replaces the mechanical data copying process with a metadata-based tracking system. Instead of physically copying data blocks when creating snapshots, the system uses metadata to track and identify snapshot blocks, eliminating the I/O overhead associated with frequent snapshot creation while maintaining fine-grained snapshot granularity.
4Quantity of substance
If snapshots are deleted quickly to reclaim space, then storage efficiency is improved, but system performance degrades due to additional I/O load
Solution Approach 1:
The patent extracts the snapshot deletion process from the data I/O path and handles it purely through metadata manipulation. When a snapshot is deleted, the system updates the metadata to mark blocks as available for reuse without requiring actual data deletion or reclamation operations, thereby improving storage efficiency without adding I/O load.
Solution Approach 2:
The patent implements a self-service mechanism where the metadata structure automatically tracks and manages block availability. When snapshots are created or deleted, the metadata self-updates to reflect the current state of data blocks, eliminating the need for separate I/O operations to manage storage reclamation and allowing quick snapshot deletion without performance penalties.
5Reliability
If system rollback to earlier snapshots is performed, then data recovery capability is improved, but system availability decreases requiring system downtime
Solution Approach 1:
The patent performs preliminary metadata preparation that enables instantaneous rollback. The metadata includes complete block mappings for each snapshot, allowing the system to switch between snapshots by simply updating metadata pointers rather than copying or moving data. This enables rollback without system downtime.
Solution Approach 2:
The patent replaces the mechanical data copying and migration process required for traditional rollback with a metadata-based switching mechanism. The system uses metadata to redirect I/O operations to the appropriate snapshot blocks, enabling instantaneous rollback to any previous snapshot state without requiring system downtime or data movement.
6Adaptability or versatility
If writable snapshots are created as branches off snapshots, then snapshot versatility is improved, but device complexity increases
Solution Approach 1:
The patent segments the snapshot hierarchy into read-only snapshots and writable snapshots, each with distinct metadata markers. This segmentation allows the system to track which snapshots are writable and manage their block mappings independently, enabling snapshot branching and versatility while maintaining manageable complexity through clear structural separation.
Solution Approach 2:
The patent creates a universal snapshot management system where the same metadata structure and I/O path handle both read-only and writable snapshots. The metadata includes flags and block mappings that work for all snapshot types, allowing writable snapshots to branch off read-only snapshots without requiring separate management mechanisms, thereby achieving versatility without proportionally increasing complexity.
Data Source
AI summary
A method, system, apparatus, and computer-readable medium are provided for taking snapshots of a storage volume. According to aspects of one method, each snapshot is represented as a unique sequence number. Every fresh write access to a volume in a new snapshot lifetime is allocated a new section in the disk, called a provision, which is labeled with the sequence number. Read-modify-write operations are performed on a sub-provision level at the granularity of a chunk. Because each provision contains chunks with valid data and chunks with invalid data, a bitmap is utilized to identify the valid and invalid chunks with each provision. Provisions corresponding to different snapshots are arranged in a linked list. Branches from the linked list can be created for storing writable snapshots. Provisions may also be deleted and rolled back by manipulating the contents of the linked lists.


