Storage Controller Cache Mirroring for Data Integrity
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In dual active-active storage controller configurations, data integrity is compromised when a storage controller fails before completing data merge operations, leading to potential data loss due to incomplete write operations and overlapping write locations.
Innovation Solution
Implementing a system where storage controllers mirror data with relative timestamps, allowing the surviving controller to recreate the failed controller's cache, merge data block-by-block based on timestamps, and write the correct data to persistent storage, ensuring data integrity by maintaining the logical write order.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If data is mirrored to a surviving controller during active-active operation, then data availability is improved, but data integrity is compromised when the failed controller's cache state is not properly reconstructed
Solution Approach 1:
The system performs preliminary actions by mirroring data to the surviving controller before failure occurs and by preemptively recording relative timestamps of all write operations. When failure occurs, these pre-recorded timestamps enable the surviving controller to immediately reconstruct the failed controller's cache state in the correct write order, preventing data integrity loss while maintaining availability.
Solution Approach 2:
The system creates a copy of the failed controller's cache state in the surviving controller's memory using relative timestamps as the copying mechanism. Each write operation's data is copied to the surviving controller with an associated timestamp, allowing reconstruction of the exact cache state without requiring the original controller to be present.
2Reliability
If the surviving controller attempts to merge data from multiple write operations, then data integrity can be preserved, but the complexity of the failure recovery process increases
Solution Approach 1:
The system changes the parameter of data identification from complex metadata or addressing schemes to simple relative timestamps. Each write operation is assigned a sequential timestamp, transforming the merge operation into a straightforward sorting and comparison task based on these timestamps, thereby preserving integrity while reducing recovery complexity.
3Reliability
If relative timestamps are used to order write operations, then data integrity during recovery is improved, but the overhead of timestamp management increases system complexity
Solution Approach 1:
The system segments the write operation tracking into independent timestamp records for each controller. Each controller maintains its own sequential timestamp counter, dividing the complex ordering problem into simple, independent counting tasks that are easy to manage and reconstruct, reducing overall system complexity while ensuring integrity.
Data Source
AI summary
Systems and processes are disclosed to preserve data integrity during a storage controller failure. In some examples, a storage controller of an active-active controller configuration can back-up data and corresponding cache elements to allow a surviving controller to construct a correct state of a failed controller's write cache. To accomplish this, the systems and processes can implement a relative time stamp for the cache elements that allow the backed-up data to be merged on a block-by-block basis.


