Metro Storage Abort Task Response Delay
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Inconsistencies arise when processing abort tasks in metro clusters, violating SCSI standards by providing different results for the same address on a stretched volume without an intervening host write, due to asynchronous data replication between storage systems.
Innovation Solution
The technique involves delaying the successful response to an abort task until the second array has locked the specified range of data, ensuring data consistency by coordinating the state between the first and second arrays, either by maintaining old data or updating it as per the aborted write request.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If the first array immediately reports success of the abort task to the host, then the response time is improved, but data consistency is violated and SCSI standards are breached
Solution Approach 1:
The first array performs preliminary locking of the data range before reporting abort success to the host. This preliminary action ensures that no subsequent reads or writes can occur that would violate data consistency, while still allowing quick abort task response. The lock is acquired in advance to prevent any intervening operations during the abort processing.
Solution Approach 2:
The patent introduces a locking mechanism as an intermediary between the abort task completion and the actual data state stabilization. This intermediary (the lock) allows the system to report abort success quickly while simultaneously preventing any operations that would create inconsistencies. The lock acts as a mediator that decouples the response time requirement from the data consistency requirement.
2Reliability
If the first array waits for the second array to lock the data range before reporting abort success, then data consistency is maintained, but the response time increases
Solution Approach 1:
The first array acquires the lock on the data range as a preliminary action before waiting for the second array. By performing the locking action upfront, the system minimizes the waiting time while still ensuring that the second array has locked the range before the abort response is sent. This preliminary locking reduces the overall delay compared to waiting for the second array's lock alone.
3Productivity
If the stretched volume allows asynchronous replication between arrays, then storage performance is improved, but abort task processing creates inconsistencies
Solution Approach 1:
The patent applies different quality characteristics to different phases of the abort task processing. During the critical section where data consistency must be maintained, a lock is applied to the local data range. This local locking mechanism allows the rest of the system to continue operating at high speed while ensuring consistency only where needed during the abort processing window.
Data Source
AI summary
A technique is disclosed for managing abort tasks in a metro cluster that includes a first array and a second array. The technique includes receiving, by the first array, a write request from a host, the write request specifying a range of data to be written to a stretched volume. The technique further includes receiving an abort task from the host for aborting the write request. In response to receipt of the abort task, the technique further includes the first array delaying a successful response to the abort task back to the host until the first array receives a notification that the second array has locked the range of data specified by the write request.


