Snapshot Journaling for Rapid Data Restoration
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing data protection systems in large-scale storage systems are time-consuming and inefficient in restoring data, as they often require applying changes 'backwards' in time, which makes data unavailable until integrity is confirmed, and may not allow restoration of specific I/O requests.
Innovation Solution
Combining snapshot and journaling mechanisms to quickly recreate data by presenting a snapshot closest in time to the requested data, allowing multiple snapshots to be created and retained, enabling rapid data restoration within minutes or seconds by reapplying changes between snapshot creation and request time.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If conventional CDP systems track every change to data and apply changes backwards to restore data, then data protection is achieved, but data restoration becomes time-consuming and data remains unavailable until integrity is confirmed
Solution Approach 1:
The system creates snapshots at predetermined time intervals as preliminary backup states. When data restoration is needed, the system can immediately present the most recent snapshot as a read-only volume, providing instant data availability without needing to apply changes backwards. This preliminary action of capturing state at intervals resolves the contradiction by enabling fast restoration while maintaining data protection through the snapshot chain.
Solution Approach 2:
The system creates a copy of the volume state at snapshot intervals rather than maintaining continuous backward-applicable change records. This copying approach allows the system to present snapshot copies instantly for restoration, eliminating the time-consuming backward application process while still providing complete data protection through the snapshot history.
2Quantity of substance
If snapshots are created instantly with minimum file space using pointers to data blocks, then storage efficiency is improved, but data restoration becomes time-consuming as the system waits for integrity confirmation
Solution Approach 1:
The system maintains a continuous chain of snapshots where each snapshot is immediately available as a read-only volume. Instead of waiting for integrity confirmation before making restoration data available, the system continuously presents the latest snapshot as accessible restoration data, eliminating the waiting period while maintaining storage efficiency through pointer-based snapshot implementation.
3Quantity of substance
If conventional snapshots create a bit map or block level representation of data at a particular moment, then storage efficiency is improved by avoiding full physical copies, but the ability to restore specific I/O requests is lost
Solution Approach 1:
The system dynamically presents different snapshot states based on restoration needs. By maintaining a chain of snapshots at different time points and allowing selection of any snapshot for restoration, the system provides flexible restoration capability while maintaining storage efficiency. The most recent snapshot is automatically presented for immediate restoration, but any previous snapshot can be selected, providing both efficiency and operational flexibility.
Data Source
AI summary
Systems and methods herein provide for protecting data using snapshots and images of those snapshots to quickly recreate data upon request. For example, a storage controller of a data storage system allocates a period of time between creating snapshots of data in a first storage volume of the data storage system. The controller then logs received write requests to the first storage volume and generates snapshot of data in the first storage volume based on the allocated period of time. Thereafter, the controller may receive a request to recreate data. The controller locates the snapshot in the first storage volume based on that request to recreate the data. In doing so, the controller generates a snapshot image in a second storage volume. The controller then retrieves logged write requests and applies them to the snapshot image to recreate the data in the second storage volume.


