Journaled Mirrored Cache Atomic Commit for Data Loss Prevention

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvewrite latencyVSAvoiddata loss risk
Core Design Contradiction:
Loss of timeVSReliability

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.

Inventive Principle:
Principle #10Preliminary action

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

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

Engineering Contradiction:
Improvestorage flexibilityVSAvoidcache coherence
Core Design Contradiction:
Ease of operationVSStability of the object's composition

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.

Inventive Principle:
Principle #5Merging (Combining)

3Reliability

If storage operations are performed sequentially to ensure consistency, then data integrity is maintained, but system performance decreases

Engineering Contradiction:
Improvedata integrityVSAvoidsystem performance
Core Design Contradiction:
ReliabilityVSProductivity

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.

Inventive Principle:
Principle #10Preliminary action

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.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS9916244B1Techniques for maintaining cache coherence by atomically processing groups of storage commands
Publication Date: 2018.03.13 EMC IP HLDG CO LLC
  • US9916244B1 patent drawing
  • US9916244B1 patent drawing
  • US9916244B1 patent drawing

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.