Targetless Snapshots via Global Sequence and Data Pool
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional snapshot mechanisms for logical volumes in storage devices incur significant overhead, making it impractical to maintain a large number of snapshots efficiently.
Innovation Solution
A system that uses a global sequence number and a replication data pointer table to manage snapshots, allowing for targetless snapshots by copying old data to a pool device and updating sequence numbers, enabling efficient reading and writing of data while reducing overhead.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If conventional snapshot mechanisms using protection bits and session bits are used, then snapshot functionality is provided, but significant overhead is incurred making it impractical to maintain a large number of snapshots
Solution Approach 1:
The patent extracts the snapshot data from the original logical volume and stores it in a separate data pool using a copy-on-write mechanism. When a snapshot is created, the current data blocks are copied to the data pool and the snapshot pointer is updated to point to these copied blocks, rather than using protection bits on the original volume. This separation eliminates the overhead of session bits and protection bits on the logical volume, enabling maintenance of many snapshots with minimal overhead.
Solution Approach 2:
The patent implements a copying mechanism where data blocks are duplicated to a data pool when snapshots are created. The snapshot metadata stores pointers to these copied blocks rather than using conventional protection bit mechanisms. This copying approach allows multiple snapshots to be maintained independently without the overhead of session management and protection bits that would otherwise be required on each snapshot target volume.
2Reliability
If snapshots are maintained using session bits and target volumes, then snapshot data is preserved, but the overhead becomes unacceptable when a large number of snapshots are required
Solution Approach 1:
The patent introduces a data pool as an intermediary storage structure between the logical volume and snapshots. Instead of directly maintaining snapshot data on target volumes with session bits, the system uses this intermediate data pool to store copied data blocks. The snapshot metadata simply points to locations in the data pool, eliminating the need for complex session management and protection bit mechanisms while ensuring data preservation through the copy-on-write mechanism.
3Adaptability or versatility
If conventional snapshot mechanisms are used, then snapshot functionality is achieved, but scalability to maintain many snapshots is limited due to overhead
Solution Approach 1:
The patent creates a universal data pool that serves multiple snapshots simultaneously, rather than requiring separate target volumes for each snapshot. The data pool acts as a shared resource where all snapshot data is stored, and metadata for each snapshot simply references locations within this pool. This multi-functional approach allows the system to scale to many snapshots without the overhead of individual target volume management for each snapshot.
Data Source
AI summary
Providing snapshots for a logical device includes maintaining a global sequence number for the logical device, providing a snapshot table having a plurality of entries, where each of the entries corresponds to a targetless snapshot and includes a sequence number associated with a particular one of the targetless snapshots, the sequence number corresponding to the global sequence number at a time each of the snapshots is created, and, if a sequence number associated with a specific portion of the logical device is less than the global sequence number, then prior to moving new data to a specific portion of the logical device, copying old data from the specific portion to a location in a pool device, setting a pointer in a replication data pointer table to point to the location in the pool device and setting the sequence number associated with the specific portion to equal the global sequence number.


