File System Dirty Region Tracking for Storage Mirror Recovery

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In distributed shared storage environments, consistency recovery of redundant data across multiple mirrors or RAID volumes can be time-consuming and inefficient, especially when not all blocks are being written, leading to data corruption and increased recovery time due to unnecessary I/O activities.

Innovation Solution

A file system directs redundancy consistency recovery by saving dirty file information in its log, allowing it to selectively perform recovery only on modified portions, thereby reducing the amount of I/O activity required to synchronize redundant data, and can choose between using its own logging or the storage system's tracking mechanisms based on data modification requests.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the entire contents of one data mirror are copied to all other mirrors for consistency recovery, then data consistency is restored, but the recovery time becomes very long

Engineering Contradiction:
Improvedata consistencyVSAvoidrecovery time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent segments the recovery process by dividing the volume into multiple regions and using multiple threads to recover different regions simultaneously. This parallel processing approach significantly reduces the total recovery time compared to sequential copying of the entire volume, while still ensuring complete data consistency across all mirrors.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements partial action by first performing a quick consistency check to identify only the dirty regions that actually need recovery. Instead of copying the entire volume, the system recovers only the necessary dirty regions, reducing unnecessary I/O operations and accelerating the recovery process while maintaining data integrity.

Inventive Principle:
Principle #16Partial or excessive action

2Reliability

If a bitmap of in-progress I/Os is maintained for tracking dirty regions, then recovery correctness is ensured, but the overhead on data writes increases

Engineering Contradiction:
Improverecovery correctnessVSAvoidbitmap tracking overhead
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent uses a scoreboard that is copied to all mirrors during the recovery process. This copied scoreboard allows each mirror to independently track its own dirty regions without requiring continuous communication with the primary volume, reducing the overhead on data writes while maintaining recovery correctness through consistent state information.

Inventive Principle:
Principle #26Copying

3Productivity

If the size of the region mapped by each bitmap bit is increased to reduce bitmap write overhead, then write I/O performance improves, but the number of blocks required to be copied during consistency recovery increases

Engineering Contradiction:
Improvewrite I/O performanceVSAvoidrecovery time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent performs a preliminary consistency check to identify only the actual dirty regions before initiating full recovery. By using smaller region mappings and recovering only the identified dirty regions rather than entire large regions, the system avoids copying unnecessary blocks, thus reducing recovery time while maintaining the benefits of region-based tracking for write performance.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS7415488B1System and method for redundant storage consistency recovery
Publication Date: 2008.08.19 COHESITY INC
  • US7415488B1 patent drawing
  • US7415488B1 patent drawing
  • US7415488B1 patent drawing

AI summary

A file system may selectively perform redundancy consistency recovery and synchronization of mirrors and may store dirty file information in a log or journal that indicates the modification of a file. A file system may update saved dirty file information to indicate successful modification of data across mirrors and may keep track of redundancy consistency recovery information on a file-by-file basis or may track the redundancy consistency of portions of files. A file system may also instruct an underlying storage system not to track data modifications, possibly selectively for each I/O request. During synchronization the file system may synchronize its log and use saved dirty file information to determine files to be synchronized. A file system may selectively use file system logging for individual data modification requests and may expose an API allowing applications to specify a redundancy consistency mechanism.