Identical Snapshots on Replicated Storage via Write Phase Management

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In data storage systems with synchronous replication, creating identical snapshots on active-active configurations is challenging due to incomplete write operations, leading to potential data corruption and prolonged recovery times in case of system failures.

Innovation Solution

The method involves holding command-phase write operations and allowing data-phase write operations to complete before creating snapshots, using internal storage system processes to track and manage these operations without querying host systems, ensuring snapshots are identical on both systems.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If snapshots are created during active-write phase, then snapshot creation speed is improved, but data consistency and completeness deteriorate due to incomplete write operations

Engineering Contradiction:
Improvesnapshot creation speedVSAvoiddata consistency
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system performs preliminary actions by identifying and completing all in-flight write operations before initiating snapshot creation. The storage system monitors write operation status and ensures all data transfers are finalized before capturing the snapshot state, preventing incomplete data from being included in the snapshot.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system prepares for potential data inconsistency by implementing a buffering mechanism that tracks write operation completion status. Before snapshot creation, the system cushions against incomplete writes by waiting for all ongoing write operations to finish, ensuring data integrity is maintained throughout the snapshot process.

Inventive Principle:
Principle #11Beforehand cushioning (Prior cushioning)

2Reliability

If write operations are held pending during snapshot creation, then data consistency is improved, but snapshot creation time increases

Engineering Contradiction:
Improvedata consistencyVSAvoidsnapshot creation time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

Instead of holding writes during snapshot creation, the system performs preliminary actions by completing all write operations before snapshot initiation. This approach eliminates the need to pause write operations during snapshot creation, maintaining both data consistency and operational efficiency.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system dynamically adjusts the snapshot creation process based on the status of ongoing write operations. Rather than using a static approach of holding all writes pending, the system adapts by monitoring write completion and proceeding with snapshot creation only when all writes are finalized, optimizing both consistency and timing.

Inventive Principle:
Principle #15Dynamics

3Productivity

If snapshots are created on actively writing storage systems, then system availability is improved, but snapshot accuracy deteriorates due to concurrent write operations

Engineering Contradiction:
Improvesystem availabilityVSAvoidsnapshot accuracy
Core Design Contradiction:
ProductivityVSManufacturing precision

Solution Approach 1:

The system ensures snapshot accuracy by performing preliminary verification that all write operations are complete before snapshot creation. This preliminary check guarantees that the snapshot captures a consistent and accurate state of the storage system without including partially written data.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements feedback mechanisms to monitor write operation completion status in real-time. Before initiating snapshot creation, the system receives feedback regarding the status of all ongoing writes and only proceeds when feedback confirms all writes are complete, ensuring snapshot accuracy while maintaining system availability.

Inventive Principle:
Principle #23Feedback

4Loss of time

If incomplete write operations are included in snapshots, then recovery speed is improved, but data corruption risk increases

Engineering Contradiction:
Improverecovery timeVSAvoiddata corruption
Core Design Contradiction:
Loss of timeVSObject-affected harmful factors

Solution Approach 1:

The system performs preliminary verification to ensure all write operations are complete before including data in snapshots. This preliminary action prevents incomplete or corrupted data from being captured, eliminating the need for post-recovery validation and ensuring both fast and safe recovery.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system cushions against data corruption by implementing protective measures before snapshot creation. By verifying write completion status and excluding incomplete writes from snapshots, the system prevents data corruption from occurring in the first place, enabling rapid recovery without corruption risks.

Inventive Principle:
Principle #11Beforehand cushioning (Prior cushioning)

Data Source

PatentUS11481138B2Creating indentical snapshots
Publication Date: 2022.10.25 EMC IP HLDG CO LLC
  • US11481138B2 patent drawing
  • US11481138B2 patent drawing
  • US11481138B2 patent drawing

AI summary

Snapshots are created on replicated storage systems R1 and R2 in a manner resulting in identical snapshots being generated on R1 and R2. In response to an instruction to create a snapshot on a storage system (R1 and/or R2), command-phase write operations (CWOs) are held and data-phase write operations (DWOs) are completed on the storage system before the snapshot is created. Determining that DWOs includes querying processes, and using information, available on the storage system, by which a state of a write operation—e.g., whether the write operation is a DWO and when the DWO completes—may be determined. A CWO queue may be maintained on the storage system for tracking the status of CWOs. A DWO queue may be maintained on the storage system for tracking DWOs, to determine DWOs when the snapshot is created, and track their processing, including when they are completed.