Storage System Multiple Write Journals Synchronous Replication Failure Recovery

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional data replication methods face challenges in maintaining target replica consistency during synchronous replication failures, leading to performance issues and the need for time-consuming full data re-synchronization.

Innovation Solution

Implementing multiple journals for journaling write requests, including an atomic transaction write journal and a synchronous replication write journal, to accurately account for in-flight write requests and enhance recovery processes, ensuring resilience and reliability in synchronous replication.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If synchronous replication is used to mirror host writes from source to target storage systems, then data consistency is improved, but system performance deteriorates due to the time-consuming full data re-synchronization required after communication link failures

Engineering Contradiction:
Improvedata consistencyVSAvoidsystem performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the replication recovery process by introducing two distinct journals: an atomic transaction journal for multi-page writes and a synchronous replication journal for single-page writes. This segmentation allows the system to track different types of write operations separately, enabling selective recovery operations that avoid full data re-synchronization and thus maintain system performance while ensuring data consistency.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements preliminary action by maintaining journals that record write requests before replication failures occur. These journals pre-track the state of in-flight write requests, allowing the system to quickly determine which writes were completed and which were not when a failure occurs, eliminating the need for time-consuming full re-synchronization and preserving system performance.

Inventive Principle:
Principle #10Preliminary action

2Device complexity

If conventional single journal approach is used for replication, then device complexity is reduced, but reliability deteriorates due to inability to accurately track in-flight write requests during failure recovery

Engineering Contradiction:
Improvejournal structureVSAvoidfailure recovery accuracy
Core Design Contradiction:
Device complexityVSReliability

Solution Approach 1:

The patent applies segmentation by dividing the single journal into two specialized journals: an atomic transaction journal for multi-page writes requiring all-or-nothing semantics, and a synchronous replication journal for single-page writes. This segmentation enables the system to accurately track different types of in-flight write requests, improving failure recovery accuracy while maintaining manageable complexity through clear separation of concerns.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces journals as intermediary structures that mediate between the source storage system and target storage system during replication. These journals serve as intermediaries that record and track the state of write requests, allowing the system to accurately determine which writes were in-flight at the time of failure and enabling precise recovery operations without requiring full re-synchronization.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10698772B2Storage system with multiple write journals supporting synchronous replication failure recovery
Publication Date: 2020.06.30 EMC IP HLDG CO LLC
  • US10698772B2 patent drawing
  • US10698772B2 patent drawing
  • US10698772B2 patent drawing

AI summary

A storage system in one embodiment is configured to participate as a source storage system in a synchronous replication process with a target storage system. In conjunction with the synchronous replication process, the source storage system receives write requests from at least one host device. Responsive to a given write request being a multi-page write request, an entry is created in a first journal, where the first journal is utilized to ensure that the given write request is completed for all of the pages or for none of the pages. Responsive to the write request being a single-page write request, an entry is created in a second journal different than the first journal. An address-to-signature table is updated utilizing write data of the write request, and if the corresponding entry for the write request was created in the first journal, the entry is swapped from the first journal into the second journal, and the write data of the write request is sent to the target storage system.