Snapshot Controller Segmentation for Copy-on-Write Reduction
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Copy-on-Write (COW) operations in data snapshot creation significantly interfere with system performance due to resource requirements and degradation of system I/O speed, necessitating methods to reduce COW impact.
Innovation Solution
The method involves producing a first snapshot that includes data written during its creation, followed by a second snapshot that only includes data present before its start, with optional intermediate snapshots, allowing for reduced COW coverage by employing a snapshot controller and Copy-on-Write controller to manage data inclusion and exclusion.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If Copy-on-Write operations are used to create time-consistent snapshots, then data integrity and consistency are improved, but system performance and I/O speed deteriorate
Solution Approach 1:
The patent segments the snapshot creation process into multiple passes: a first pass that creates a snapshot without COW (allowing some inconsistency) and a second pass that applies COW only to specific data blocks that need consistency. This divides the originally monolithic COW operation into targeted, smaller operations that reduce overall system impact while maintaining necessary data consistency.
Solution Approach 2:
Instead of applying COW to all data blocks during snapshot creation (excessive action), the patent applies COW only partially - specifically to blocks that are identified as needing consistency. This partial application of COW reduces the performance overhead while still achieving the necessary level of data consistency for reliable snapshots.
2Reliability
If Copy-on-Write operations are applied to all data blocks, then complete data consistency is achieved, but resource consumption and time increase
Solution Approach 1:
The snapshot creation is divided into sequential passes: a first pass without COW that quickly captures data state, and a second pass that selectively applies COW only to specific blocks. This segmentation eliminates the need to apply COW to all blocks simultaneously, reducing the total time required while maintaining consistency where needed.
Solution Approach 2:
The patent applies COW only to the extent necessary - specifically to data blocks that require consistency - rather than applying it universally to all blocks. This partial application significantly reduces the time overhead associated with snapshot creation while still achieving the required level of reliability.
3Reliability
If Copy-on-Write is used during snapshot creation, then data modifications are excluded from the snapshot, but system I/O speed degrades
Solution Approach 1:
The patent segments I/O operations into two phases: a first phase that performs I/O without COW overhead (maintaining high speed) and a second phase that applies COW selectively to specific blocks. This segmentation allows the system to maintain high I/O speed during the majority of the snapshot creation process while still achieving time consistency for critical data blocks.
Solution Approach 2:
Instead of enabling COW for all I/O operations during snapshot creation (which would degrade I/O speed universally), the patent enables COW only partially - specifically for I/O operations involving blocks that need time consistency. This partial application preserves I/O speed for non-critical operations while maintaining consistency where required.
Data Source
AI summary
Producing snapshots of data stored on a data storage device, the method including producing a first snapshot of data stored in a set of data storage units on a data storage device, where the first snapshot is allowed to include data written to the set of data storage units during the production of the first snapshot, and producing a second snapshot of the data stored in the set of data storage units on the data storage device, where the production of the second snapshot is begun after the completion of the first snapshot, and where the second snapshot includes only data present in the set of data storage units before the production of the second snapshot is begun.


