Cache Page Locking for Consistent Multi-Page Writes
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current data storage systems face challenges in ensuring write level atomicity and efficient data replication across multiple storage systems, particularly in active-active configurations, where concurrent I/O operations can lead to deadlocks and data inconsistencies.
Innovation Solution
The method involves synchronously replicating data across multiple cache pages by locking and unlocking cache pages in a sequential order, using a lingering lock approach to maintain write atomicity, and implementing deadlock detection and resolution processing to prioritize replication requests, ensuring that data is consistently updated across all systems.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If synchronous replication is performed across multiple data storage systems, then data consistency is improved, but system complexity increases due to lock management and coordination overhead
Solution Approach 1:
The patent segments the data storage system into multiple independent cache pages, each with its own lock. This allows fine-grained control where only the specific cache page being replicated is locked, rather than locking entire data structures or systems. The segmentation enables parallel processing of non-conflicting replication operations while maintaining data consistency.
Solution Approach 2:
The patent introduces lock objects as intermediary mechanisms that mediate access to cache pages during replication. These lock objects act as intermediaries between the replication process and the underlying data, providing a standardized interface for conflict resolution. The lock manager serves as another intermediary that coordinates lock acquisition and release across multiple storage systems, simplifying the complexity of direct peer-to-peer coordination.
2Reliability
If locks are held on cache pages during replication, then write atomicity is maintained, but replication speed decreases due to lock acquisition and release overhead
Solution Approach 1:
By segmenting locks to the cache page level rather than larger data structures, the patent minimizes the scope and duration of lock holdings. This allows replication to proceed page-by-page with the smallest necessary locking granularity, maintaining atomicity for each page while reducing overall lock contention and enabling parallel replication of non-conflicting pages.
Solution Approach 2:
The patent performs preliminary lock acquisition on cache pages before replication begins, ensuring that the data state is captured atomically. By securing the locks in advance and holding them only for the duration of the replication operation, the system maintains write atomicity while minimizing the time locks are held, thus reducing overhead and improving replication speed.
3Productivity
If multiple hosts access the same logical volumes concurrently, then system availability is improved, but deadlocks occur during concurrent replication operations
Solution Approach 1:
The patent segments the locking mechanism into individual cache page locks rather than system-wide or volume-wide locks. This segmentation allows multiple hosts to access different cache pages concurrently without conflict, enabling high availability while preventing deadlocks. The fine-grained locking ensures that deadlocks can only occur at the cache page level, which are quickly detected and resolved.
Solution Approach 2:
The patent implements a lock manager that provides feedback mechanisms to detect and resolve deadlocks. The system monitors lock acquisition attempts and provides feedback when conflicts are detected, allowing the replication process to adjust its behavior. This feedback loop enables the system to maintain availability by resolving deadlocks quickly rather than failing entirely, ensuring continuous operation despite concurrent access conflicts.
Data Source
AI summary
Techniques are described for processing multi-page write operations to maintain write level consistency. A multi-page write spanning multiple cache pages is directed to a target device and received on a first data storage system where writes to the target device are synchronously replicated to a second data storage system. On the first data storage system, each of the multiple cache pages may be synchronously replicated to the second data storage system. A lock on each of the cache pages is not released until an acknowledgement is received regarding successful replication of the cache page. On the second data storage system, requests to replicate the multiple cache pages containing write data of the multi-page write are received and processed using locks of corresponding cache pages on the second data storage system. Such techniques also handle concurrent reads and/or writes. Deadlock detection and resolution processing may be performed for concurrent writes.


