Write-Intent Bitmap for Mirrored Storage Consistency

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

VSEngineering 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

Engineering Contradiction:
Improvewrite speedVSAvoiddata consistency
Core Design Contradiction:
SpeedVSReliability

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.

Inventive Principle:
Principle #10Preliminary action

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

Engineering Contradiction:
Improvedata consistencyVSAvoidwrite speed
Core Design Contradiction:
ReliabilityVSSpeed

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If synchronous duplication is performed to maintain data consistency across mirrors, then data consistency is improved, but system complexity and operation difficulty increase

Engineering Contradiction:
Improvedata consistencyVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

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.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS8244999B1Maintaining data consistency in mirrored cluster storage systems with write-back cache
Publication Date: 2012.08.14 AMZETTA TECH LLC
  • US8244999B1 patent drawing
  • US8244999B1 patent drawing
  • US8244999B1 patent drawing

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.