Storage System Multiple Write Journals Synchronous Replication Failure Recovery
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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.
Data Source
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.


