Identical Snapshots in Synchronous Storage Replication
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing methods for creating snapshots of storage objects during synchronous replication often result in non-identical snapshots due to I/O latency issues, which can lead to data inconsistencies and fail to meet requirements for certain use cases that need a common or identical base snapshot for further asynchronous replication or bidirectional synchronous replication.
Innovation Solution
The technique involves performing synchronous replication between two storage objects, enabling change tracking, creating snapshots, and copying written content from one system to the other while updating attributes to match, using a bitmap to identify modified logical block addresses for efficient content copying.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Manufacturing precision
If traditional snapshot creation methods are used during synchronous replication, then snapshot creation is simple, but the snapshots are non-identical due to I/O latency issues
Solution Approach 1:
The system enables change tracking before creating snapshots, which records all modifications to storage objects in advance. This preliminary action ensures that when snapshots are created, all changes are already captured and can be synchronized, eliminating the non-identical snapshot problem caused by I/O latency during traditional snapshot creation.
Solution Approach 2:
The patent introduces an intermediary mechanism (change tracking system with logging) that mediates between the storage objects and the snapshot creation process. This intermediary records all changes and enables the synchronization of snapshot data between primary and secondary systems, ensuring identical snapshots without directly modifying the core snapshot creation logic.
2Manufacturing precision
If change tracking is enabled continuously to ensure data consistency, then snapshot identity is maintained, but system performance and I/O latency increase
Solution Approach 1:
Change tracking is enabled temporarily before snapshot creation and disabled after, rather than running continuously. This preliminary action captures only the necessary changes for the snapshot operation, reducing the time change tracking is active and minimizing its impact on I/O performance while still ensuring data consistency for the snapshot.
Solution Approach 2:
The change tracking is activated periodically only when snapshot creation is needed, rather than operating continuously. This periodic activation reduces the overall time change tracking affects system performance, while still capturing all necessary changes during the snapshot window to maintain data consistency.
3Manufacturing precision
If all written content is copied to ensure identical snapshots, then snapshot consistency is achieved, but copying time and computational resources increase
Solution Approach 1:
The system extracts only the changed portions of data using change tracking logs and bitmaps, rather than copying all written content. This extraction approach identifies precisely which data blocks have been modified and copies only those specific blocks, achieving snapshot consistency while dramatically reducing copying time and computational resources compared to full content copying.
Solution Approach 2:
Instead of copying all content (excessive action), the system performs partial copying by utilizing change tracking information to identify and copy only the modified data blocks. This partial action is sufficient to achieve identical snapshots between primary and secondary systems, while significantly improving snapshot creation speed and reducing resource consumption.
Data Source
AI summary
Techniques for creating identical snapshots can include: performing synchronous replication between a first storage object of a first system and a second storage object of a second system; enabling change tracking for the first storage object that records in a log which portions of the first storage object are written or modified; responsive to enabling change tracking, creating a snapshot S2 of the second storage object of the second system; responsive to creating the snapshot S2 of the second storage object; creating a snapshot S1 of the first storage object of the first system; responsive to creating the snapshot S1 of the first storage object, disabling change tracking for the first storage object; and copying written or modified content of the first storage object as identified in the log to the snapshot S2 of the second storage object of the second system.


