Volume Lock Segmentation for Database Synchronization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current data storage systems face challenges in efficiently synchronizing volume reservation and registration information across nodes during software upgrades, leading to potential data unavailability and timeouts due to the need for locking the entire database, which disrupts I/O operations and reservation/command processing.

Innovation Solution

A method is introduced to synchronize volume reservation and registration information between a source and target database by acquiring locks for each volume, updating the databases, and marking synchronization complete, allowing for concurrent processing of reservation and registration commands without locking the entire database, thus enabling efficient synchronization and minimizing downtime.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Stability of the object's composition

If the entire database is locked during synchronization, then data consistency is ensured, but I/O operations and reservation/command processing are disrupted

Engineering Contradiction:
Improvedata consistencyVSAvoidI/O operation availability
Core Design Contradiction:
Stability of the object's compositionVSProductivity

Solution Approach 1:

The patent divides the database into multiple volumes, each with its own lock. Instead of locking the entire database during synchronization, only specific volume locks are acquired for the volumes being synchronized. This segmentation allows other volumes to remain accessible and process I/O operations concurrently, resolving the contradiction between data consistency and operational availability.

Inventive Principle:
Principle #1Segmentation

2Manufacturing precision

If the entire database is locked during synchronization, then synchronization accuracy is ensured, but system downtime increases

Engineering Contradiction:
Improvesynchronization accuracyVSAvoidsystem downtime
Core Design Contradiction:
Manufacturing precisionVSLoss of time

Solution Approach 1:

The synchronization process is segmented into volume-level operations rather than a monolithic database lock. Each volume can be synchronized independently and concurrently, allowing the system to maintain synchronization accuracy while reducing overall synchronization time and minimizing system downtime.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent enables continuous I/O operations and command processing during synchronization by using fine-grained volume locks instead of coarse database-wide locks. Useful actions (I/O operations) continue uninterrupted in volumes not currently being synchronized, eliminating unnecessary downtime while maintaining synchronization integrity.

Inventive Principle:
Principle #20Continuity of useful action

3Productivity

If fine-grained volume locks are used during synchronization, then I/O operation continuity is maintained, but lock management complexity increases

Engineering Contradiction:
ImproveI/O operation continuityVSAvoidlock management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements a universal lock management mechanism that handles both synchronization operations and I/O operations through the same volume lock interface. The lock manager provides multi-functional capabilities, managing fine-grained volume locks for both data synchronization and command processing, thereby reducing overall system complexity despite the fine-grained locking approach.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS12061624B2Techniques for replicating management data
Publication Date: 2024.08.13 EMC IP HLDG CO LLC
  • US12061624B2 patent drawing
  • US12061624B2 patent drawing
  • US12061624B2 patent drawing

AI summary

Techniques for processing commands may include: initially synchronizing a target database of volume reservation and registration information with a source database of volume reservation and registration information; while initially synchronizing the target database with the source database, enabling volume reservation and registration command processing on both a first node managing the source database and a second node managing the target database; while initially synchronizing the target database with the source database, performing first processing to service a first command that is any of a reservation command and a registration command for a first volume; and after initially synchronizing the target database with the source database, using the target database of the second node when servicing reservation and registration commands received at both the first node and the second node.