Write-Intent Bitmap for Mirrored Storage Consistency
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Mirrored storage systems face data inconsistency issues due to failures such as network link failures and power outages, especially when using write-back caches, as data may not be immediately flushed to disk, leading to inconsistent data across mirrored nodes.
Innovation Solution
Implementing a write-intent log with a bitmap (gate bitmap) to record the intent to write data before writing it to multiple locations, and using a delay period to ensure all writes are completed, including cache flushes, to maintain data consistency across mirrored nodes, and maintaining a delta list to track differences between nodes.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If write-back cache is used to improve write performance, then write speed is improved, but data consistency across mirrored nodes deteriorates due to potential power failures before cache flush
Solution Approach 1:
The patent applies preliminary action by setting a write-intent bit in the bitmap before actually performing the write operation to disk. This preliminary marking establishes a contractual obligation that the data must be flushed to disk before the bit is cleared, ensuring that even with write-back cache, the data consistency is maintained across mirrored nodes by preventing premature cache invalidation or system shutdown before flush completion.
2Reliability
If data is immediately written to disk to ensure consistency, then data consistency is improved, but write performance deteriorates due to slower disk access compared to cache
Solution Approach 1:
The patent introduces a bitmap as an intermediary mechanism between the write-back cache and the disk. The bitmap acts as a mediator that tracks which cache entries have been marked for disk writing, allowing the system to maintain write-back cache performance while ensuring that marked data is eventually flushed to disk. The bitmap provides a lightweight, efficient way to manage the intermediate state without requiring immediate disk writes.
3Reliability
If synchronous duplication is performed to maintain data consistency across mirrors, then data consistency is improved, but system complexity and operation difficulty increase
Solution Approach 1:
The patent extracts the complexity of maintaining data consistency from the synchronous duplication process itself and relocates it to a separate bitmap management mechanism. Instead of embedding consistency logic within the duplication operation, the system uses an independent bitmap that tracks write intents separately. This extraction simplifies the main duplication logic while maintaining consistency through the bitmap's flush-tracking mechanism.
Data Source
AI summary
Techniques for maintaining mirrored storage cluster data consistency on systems with write back cache can employ write-intent logging and periodic log clearing. The techniques can track any outstanding I/Os, data in caches, and data that has gone out of sync between mirrored nodes due to link failures. The techniques can ensure that a power failure on any of the storage nodes does not result in inconsistent data among the storage nodes. The techniques can use gate bitmaps to log outstanding I/Os. The gate bitmaps may be periodically cleared. The clearing period may be selected as to allow enough time for all caches to be flushed and for all synchronizing I/Os to complete. Efficient queuing of I/O requests in conjunction with the efficient operation of multiple gate bitmaps can reduce performance impacts of the gating or logging operations.


