Cache Page Locking for Consistent Multi-Page Writes

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

VSEngineering 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

Engineering Contradiction:
Improvedata consistencyVSAvoidlock management complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

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

Engineering Contradiction:
Improvewrite atomicityVSAvoidreplication speed
Core Design Contradiction:
ReliabilityVSProductivity

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If multiple hosts access the same logical volumes concurrently, then system availability is improved, but deadlocks occur during concurrent replication operations

Engineering Contradiction:
Improvesystem availabilityVSAvoiddeadlock prevention
Core Design Contradiction:
ProductivityVSReliability

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS10620842B1Maintaining write consistency on distributed multiple page writes
Publication Date: 2020.04.14 EMC IP HLDG CO LLC
  • US10620842B1 patent drawing
  • US10620842B1 patent drawing
  • US10620842B1 patent drawing

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.