IP Library Granted Patent US 10,719,249
Granted Patent B1
US 10,719,249 · App. 16/263,414 · Granted Jul 21, 2020

Extent lock resolution in active/active replication

Inventors: David Meiri (Somerville, MA); Xiangping Chen (Sherborn, MA)
Assignee: EMC IP Holding Company LLC
G06F3/0637G06F3/061G06F3/065G06F3/067G06F3/0622G06F3/0659G06F9/526G06F16/1774
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,719,249
App. No.
16/263,414
Granted
Jul 21, 2020
Kind
B1
Abstract

In one aspect, extent lock resolution for storage devices includes designating one of the storage devices as a lock winner, which takes priority over another storage device over a lock. An aspect also includes receiving a replication request issued, by a host during active/active replication, determining an extent of pages to be modified by the request, locking the extent in local storage device, and executing the request at the local device. An aspect also includes sending a write request to a remote device. If the remote device is the designated lock winner, and an attempt to lock the extent is unsuccessful, the remote device waits for the lock to become available. If the remote device is not the designated lock winner, and an attempt to lock the extent is unsuccessful, the remote device rejects the write request and sends a request to the local device to resend the write request.

Claims (62)

1. A method for providing extent lock resolution for storage devices in an active/active replication session, the method comprising:

designating a one of the storage devices as a lock winner, a lock winner designation indicating the one of the storage devices takes priority, over another storage device of the storage devices, over acquisition of a lock;

receiving a replication write input/output (IO) request issued, by one of a first host system and a second host system during the active/active replication session;

determining an extent of pages to be modified by the replication write IO request;

locking the extent in one of the storage devices determined to be local to the host system that issued the replication write IO request, and executing the replication write IO request at the local storage device;

sending a write request to one of the storage devices remote from the host system that issued the replication write IO request;

receiving the write request at the storage device remote from the host system;

if the remote storage device is the designated lock winner, and an attempt to lock the extent is unsuccessful, waiting for the lock to become available; and

if the remote storage device is not the designated lock winner, and an attempt to lock the extent is unsuccessful, rejecting the write request and sending a request to the local storage device to resend the write request.

2. The method of claim 1 , wherein locking the extent in one of the storage devices determined to be local to the host system comprises:

determining whether the extent is already locked by another write IO operation; and

upon determining the extent is already locked, waiting for the extent to become available.

3. The method of claim 1 , wherein sending a write request to one of the storage devices remote from the host system that issued the replication write IO request includes sending data subject to the replication write IO request and corresponding extent.

4. The method of claim 1 , further comprising:

attempting to lock the extent by the remote storage device as the lock winner;

determining whether the extent is already locked by another write IO operation; and

upon determining the extent is not locked, executing the replication write IO request at the remote storage device.

5. The method of claim 1 , wherein rejecting the replication write IO request, by the second storage device as a lock loser, includes rejecting the write request with a busy status.

6. The method of claim 1 , wherein designating the one of the storage devices as the lock winner is determined by serial numbers assigned to the storage devices, and wherein a storage device having a highest serial number is designated the lock winner.

7. The method of claim 6 , further comprising assigning an attribute to the storage device designated as the lock winner wherein a storage system implementing the active/active replication session identifies the storage device designated as the lock winner via the assigned attribute.

8. A system for providing extent lock resolution for storage devices in an active/active replication session, the system comprising:

a memory comprising computer-executable instructions; and

a processor executing the computer-executable instructions, the computer-executable instructions when executed by the processor cause the processor to perform operations comprising:

designating a one of the storage devices as a lock winner, lock winner designation indicating the one of the storage devices takes priority, over another storage device of the storage devices, over acquisition of a lock;

receiving a replication write input/output (IO) request issued, by one of a first host system and a second host system during the active/active replication session;

determining an extent of pages to be modified by the replication write IO request;

locking the extent in one of the storage devices determined to be local to the host system that issued the replication write IO request, and executing the replication write IO request at the local storage device;

sending a write request to one of the storage devices remote from the host system that issued the replication write IO request;

receiving the write request at the storage device remote from the host system;

if the remote storage device is the designated lock winner, and an attempt to lock the extent is unsuccessful, waiting for the lock to become available; and

if the remote storage device is not the designated lock winner, and an attempt to lock the extent is unsuccessful, rejecting the write request and sending a request to the local storage device to resend the write request.

9. The system of claim 8 , wherein locking the extent in one of the storage devices determined to be local to the host system comprises:

determining whether the extent is already locked by another write IO operation; and

upon determining the extent is already locked, waiting for the extent to become available.

10. The system of claim 8 , wherein sending a write request to one of the storage devices remote from the host system that issued the replication write IO request includes sending data subject to the replication write IO request and corresponding extent.

11. The system of claim 8 , wherein the operations further comprise:

attempting to lock the extent by the remote storage device as the lock winner;

determining whether the extent is already locked by another write IO operation; and

upon determining the extent is not locked, executing the replication write IO at the remote storage device.

12. The system of claim 8 , wherein rejecting the replication write IO request, by the second storage device as a lock loser, includes rejecting the write request with a busy status.

13. The system of claim 8 , wherein designating the one of the storage devices as the lock winner is determined by serial numbers assigned to the storage devices, and wherein a storage device having a highest serial number is designated the lock winner, wherein the operations further comprise:

assigning an attribute to the storage device designated as the lock winner, wherein a storage system implementing the active/active replication session identifies the storage device designated as the lock winner via the assigned attribute.

14. A computer program product for providing extent lock resolution for storage devices in an active/active replication session, the computer program product embodied on a non-transitory computer readable medium and including instructions that, when executed by a computer causes the computer to perform operations comprising:

designating one of the storage devices as a lock winner, a lock winner designation indicating the one of the storage devices takes priority, over another of the storage device, over acquisition of a lock;

receiving a replication write input/output (IO) request issued, by one of a first host system and a second host system during the active/active replication session;

determining an extent of pages to be modified by the replication write IO request;

locking the extent in one of the storage devices determined to be local to the host system that issued the replication write IO request, and executing the replication write IO request at the local storage device;

sending a write request to one of the storage devices remote from the host system that issued the replication write IO request;

receiving the write request at the storage device remote from the host system;

if the remote storage device is the designated lock winner, and an attempt to lock the extent is unsuccessful, waiting for the lock to become available; and

if the remote storage device is not the designated lock winner, and an attempt to lock the extent is unsuccessful, rejecting the write request and sending a request to the local storage device to resend the write request.

15. The computer program product of claim 14 , wherein locking the extent in one of the storage devices determined to be local to the host system comprises:

determining whether the extent is already locked by another write IO operation; and

upon determining the extent is already locked, waiting for the extent to become available.

16. The computer program product of claim 14 , wherein sending a write request to one of the storage devices remote from the host system that issued the replication write IO request includes sending data subject to the replication write IO request and corresponding extent.

17. The computer program product of claim 14 , wherein the operations further comprise:

attempting to lock the extent, by the remote storage device as the lock winner;

determining whether the extent is already locked by another write IO operation; and

upon determining the extent is not locked, executing the replication write IO at the remote storage device.

18. The computer program product of claim 14 , wherein rejecting the replication write IO request, by the second storage device as a lock loser, includes rejecting the write request with a busy status.

19. The computer program product of claim 14 , wherein designating the one of the storage devices as the lock winner is determined by serial numbers assigned to the storage devices, and wherein a storage device having a highest serial number is designated the lock winner.

20. The computer program product of claim 19 , wherein the operation further comprise assigning an attribute to the storage device designated as the lock winner, wherein a storage system implementing the active/active replication session identifies the storage device designated as the lock winner via the assigned attribute.

Assignments (4)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
SECURITY AGREEMENT Recorded Mar 21, 2019
From: CREDANT TECHNOLOGIES, INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 049452/0223 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 12, 2019
From: MEIRI, DAVID; CHEN, XIANGPING
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 048305/0548 →