IP Library Granted Patent US 10,908,830
Granted Patent B2
US 10,908,830 · App. 16/883,024 · Granted Feb 2, 2021

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,908,830
App. No.
16/883,024
Granted
Feb 2, 2021
Kind
B2
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 (58)

1. A method, comprising:

receiving a replication input/output (TO) request issued by one of a first host system and a second host system during an active/active replication session;

locking an extent in a first storage device that is determined to be local to the one of the first host system and the second host system that issued the replication IO request, and executing the replication IO request at the first storage device;

sending the replication IO request to a second storage device that is remote from the one of the first host system and the second host system that first issued the replication IO request; and

upon determining the second storage device is not a designated lock winner over acquisition of a lock, and an attempt to lock an extent at the second storage device is unsuccessful, rejecting the replication IO request and sending a request to the first storage device to resend the replication IO request.

2. The method of claim 1 , further comprising:

upon determining the second storage device is the designated lock winner, and an attempt to lock the extent by the second storage device is unsuccessful, waiting for the lock to become available.

3. The method of claim 1 , further comprising:

upon determining the second storage device is the designated lock winner:

attempting to lock the extent by the second storage device;

determining whether the extent at the second storage device is already locked by another JO operation; and

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

4. The method of claim 1 , wherein locking the extent in the first storage device comprises:

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

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

5. The method of claim 1 , wherein sending the replication IO request to the second storage device that is remote from the host system that first issued the replication IO request includes sending data subject to the replication IO request.

6. The method of claim 1 , further comprising:

designating one of the first and second storage devices as the designated lock winner, a lock winner designation indicating the designated one of the first and second storage devices takes priority, over the other of the first and second storage devices, over acquisition of the lock, wherein the lock winner designation is determined by serial numbers assigned to the first and second storage devices, and wherein the one of the first and second storage devices having a highest serial number is designated as the lock winner.

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

8. A 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 causes the processor to perform operations comprising:

receiving a replication input/output (TO) request issued by one of a first host system and a second host system during an active/active replication session;

locking an extent in a first storage device that is determined to be local to the one of the first host system and the second host system that issued the replication IO request, and executing the replication IO request at the first storage device;

sending the replication IO request to a second storage device that is remote from the one of the first host system and the second host system that first issued the replication IO request; and

upon determining the second storage device is not a designated lock winner over acquisition of a lock, and an attempt to lock an extent at the second storage device is unsuccessful, rejecting the replication IO request and sending a request to the first storage device to resend the replication IO request.

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

upon determining the second storage device is the designated lock winner, and an attempt to lock the extent by the second storage device is unsuccessful, waiting for the lock to become available.

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

upon determining the second storage device is the designated lock winner:

attempting to lock the extent by the second storage device;

determining whether the extent at the second storage device is already locked by another IO operation; and

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

11. The system of claim 8 , wherein locking the extent in the first storage device comprises:

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

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

12. The system of claim 8 , wherein sending the replication IO request to the second storage device that is remote from the host system that first issued the replication IO request includes sending data subject to the replication IO request.

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

designating one of the first and second storage devices as the designated lock winner, a lock winner designation indicating the designated one of the first and second storage devices takes priority, over the other of the first and second storage devices, over acquisition of the lock, wherein the lock winner designation is determined by serial numbers assigned to the first and second storage devices, and wherein the one of the first and second storage devices having a highest serial number is designated as the lock winner.

14. The system of claim 13 , wherein the operations further comprise assigning an attribute to the lock winner, wherein a storage system implementing the active/active replication session identifies the lock winner via the assigned attribute.

15. A 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:

receiving a replication input/output (TO) request issued by one of a first host system and a second host system during an active/active replication session;

locking an extent in a first storage device that is determined to be local to the one of the first host system and the second host system that issued the replication IO request, and executing the replication IO request at the first storage device;

sending the replication IO request to a second storage device that is remote from the one of the first host system and the second host system that first issued the replication IO request; and

upon determining the second storage device is not a designated lock winner over acquisition of a lock, and an attempt to lock an extent at the second storage device is unsuccessful, rejecting the replication IO request and sending a request to the first storage device to resend the replication IO request.

16. The computer program product of claim 15 , wherein the operations further comprise:

upon determining the second storage device is the designated lock winner, and an attempt to lock the extent by the second storage device is unsuccessful, waiting for the lock to become available.

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

upon determining the second storage device is the designated lock winner:

attempting to lock the extent by the second storage device;

determining whether the extent at the second storage device is already locked by another IO operation; and

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

18. The computer program product of claim 15 , wherein locking the extent in the first storage device comprises:

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

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

19. The computer program product of claim 15 , wherein sending the replication IO request to the second storage device that is remote from the host system that first issued the replication IO request includes sending data subject to the replication IO request.

20. The computer program product of claim 15 , wherein the operations further comprise:

designating one of the first and second storage devices as the designated lock winner, a lock winner designation indicating the designated one of the first and second storage devices takes priority, over the other of the first and second storage devices, over acquisition of the lock, wherein the lock winner designation is determined by serial numbers assigned to the first and second storage devices, and wherein the one of the first and second storage devices having a highest serial number is designated as the lock winner.

Assignments (9)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053574/0221) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 060333/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053578/0183) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 060332/0864 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053573/0535) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 060333/0106 →
RELEASE OF SECURITY INTEREST AT REEL 053531 FRAME 0108 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058001/0371 →
SECURITY INTEREST Recorded Aug 21, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 053578/0183 →
SECURITY INTEREST Recorded Aug 21, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 053573/0535 →
SECURITY INTEREST Recorded Aug 21, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 053574/0221 →
SECURITY AGREEMENT Recorded Aug 18, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 053531/0108 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 26, 2020
From: MEIRI, DAVID; CHEN, XIANGPING
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 052749/0287 →
Continuity (2)
Continuation 16263414 · Jan 31, 2019
Related Publication 20200285409A1 · Sep 10, 2020