Journaled Mirrored Cache Atomic Commit for Data Loss Prevention
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Data storage systems using journaled mirrored caches face data loss risks due to inconsistent state issues during system failures, particularly when mirroring occurs mid-transaction and one cache fails, leading to potential data corruption.
Innovation Solution
Implementing a method where a mapping driver identifies related storage operations to be performed atomically, generates an inter-driver communication structure to execute these operations in parallel, and commits changes only after successful provisional execution, ensuring cache coherence and mirroring consistency across mirrored caches.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of time
If mirroring is performed in the middle of a transaction to improve performance, then write latency is reduced, but data loss risk increases if one cache fails
Solution Approach 1:
The system performs preliminary actions by writing data to the data log before completing the transaction, and only commits the mirror write after the transaction is fully committed. This preliminary staging of data in the data log allows the system to acknowledge writes quickly while ensuring data integrity through atomic commit operations.
Solution Approach 2:
The data log acts as an intermediary between the host and the mirrored caches. It temporarily holds write data and coordinates the atomic commit process, mediating between the performance requirement for quick acknowledgments and the reliability requirement for consistent state transitions across mirrors.
2Ease of operation
If data and descriptor are written at different times to simplify storage operations, then storage flexibility increases, but cache coherence is compromised
Solution Approach 1:
The system merges the writing of data and descriptor into a single atomic operation through the data log. Both the data blocks and their corresponding descriptors are written together in an indivisible transaction, ensuring that they are always in sync and maintaining cache coherence while allowing flexible storage timing.
3Reliability
If storage operations are performed sequentially to ensure consistency, then data integrity is maintained, but system performance decreases
Solution Approach 1:
The system performs preliminary writes to the data log before final commitment, allowing parallel preparation of multiple operations. The actual atomic commit happens once all preliminary actions are complete, maintaining integrity while enabling performance optimization through parallel preprocessing.
Solution Approach 2:
The data log enables continuous useful action by allowing write acknowledgments to be returned to hosts immediately after data is staged in the log, while the actual commit to mirrors continues in the background. This maintains the illusion of continuous fast writes while ensuring eventual consistency.
Data Source
AI summary
Improved techniques for maintaining cache coherence in a consistent state are provided. These techniques implement a data storage system using a journaled mirrored cache that ensures that storage operations making up certain transactions be performed atomically, so that a system failure does not result in data loss. The improved techniques also allow for efficient communication of mirroring information.


