Asynchronous Copy-on-Write Snapshot Write Latency Reduction
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Copy-on-write snapshots cause performance degradation and increased write latency due to synchronous write operations, which are exacerbated by the need for all dependent snapshots to be updated before a write operation is complete.
Innovation Solution
The method involves asynchronously processing write operations by updating a normal mirror with write data, then synchronizing an asynchronous mirror with the normal mirror before copying data to copy-on-write snapshots, allowing the asynchronous mirror to be updated only after the snapshots are updated, thereby reducing write latency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If copy-on-write snapshots are used to preserve data integrity, then data reliability is improved, but write latency increases due to synchronous copying requirements
Solution Approach 1:
The system performs preliminary actions by creating snapshots at scheduled intervals before write operations occur. When a write operation is initiated, the system checks if a recent snapshot already exists, and if so, can quickly update it without performing a full synchronous copy, thereby reducing write latency while maintaining data integrity.
Solution Approach 2:
The system dynamically adjusts the snapshot update mechanism based on write operation characteristics. For small writes, it uses incremental updates; for large writes or when a recent snapshot exists, it uses faster update paths. This dynamic approach allows the system to maintain reliability while adapting write latency to actual conditions.
2Stability of the object's composition
If all dependent snapshots are updated before completing a write operation, then data consistency across snapshots is improved, but write throughput decreases
Solution Approach 1:
The system performs preliminary consistency checks and prepares snapshot update structures before the actual write operation. By pre-allocating resources and preparing update paths in advance, the system can complete writes faster while ensuring consistency through pre-validated update mechanisms.
Solution Approach 2:
The system maintains continuous background processes that manage snapshot consistency independently of foreground write operations. Consistency validation and snapshot synchronization continue in the background without blocking write throughput, allowing both consistency and productivity to be maintained simultaneously.
3Measurement precision
If synchronous copying is used to update snapshots during write operations, then data accuracy is improved, but network traffic increases
Solution Approach 1:
The system extracts only the specific data blocks that have changed during a write operation and updates only those blocks in the snapshot, rather than copying entire volumes. This selective extraction approach maintains data accuracy for modified blocks while significantly reducing network traffic compared to full synchronous copying.
Solution Approach 2:
The system performs preliminary identification of changed data blocks before initiating snapshot updates. By using change tracking mechanisms and block-level metadata, the system can precisely identify which blocks need updating, thereby maintaining data accuracy while minimizing unnecessary network traffic for blocks that haven't changed.
Data Source
AI summary
A method, system, and computer readable medium for asynchronously processing write operation on a volume having copy-on-write snapshots. In one embodiment, the method comprises the steps of: updating a normal mirror with write data associated with a write operation for the volume; asynchronously copying the write data from an asynchronous mirror to at least one copy-on-write snapshot; and, once the at least one copy-on-write snapshot is updated, updating the asynchronous mirror with the write data from the normal mirror.


