IP Library Granted Patent US 11,281,407
Granted Patent B1
US 11,281,407 · App. 17/029,406 · Granted Mar 22, 2022

Verified write command in active-active replication

Inventors: David Meiri (Somerville, MA); Xiangping Chen (Sherborn, MA)
Assignee: EMC IP Holding Company LLC
G06F3/0659G06F3/067G06F3/0619G06F3/0629G06F11/0772
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 11,281,407
App. No.
17/029,406
Granted
Mar 22, 2022
Kind
B1
Abstract

A method is provided, comprising: receiving, at a first storage array, a first request to perform an atomic write operation at a specified address in a volume; placing a read-write lock on a first instance of the volume, and executing the atomic write operation on the first instance of the volume; transmitting, to a second storage array, a second request to perform the atomic write operation on a second instance of the volume; and detecting whether an error condition is present that is associated with the second request; when the error condition is present, comparing a first data item that is stored at the specified address in the first instance of the volume with a second data item that is stored at the specified address in the second instance of the volume, and, when the first data item matches the second data item, transmitting an acknowledgment.

Claims (37)

1. A method for use in an active-active storage cluster having first a storage array and a second storage array, the method comprising:

receiving, at the first storage array, a first request to perform an atomic write operation at a specified address in a volume, the first request being received from a host device;

placing a read-write lock on a first instance of the volume that is stored at the first storage array, and executing the atomic write operation on the first instance of the volume;

transmitting, to the second storage array, a second request to perform the atomic write operation on a second instance of the volume that is stored at the second storage array;

detecting whether an error condition is present that is associated with the second request; and

when the error condition is present, comparing a first data item that is stored at the specified address in the first instance of the volume with a second data item that is stored at the specified address in the second instance of the volume, and, when the first data item matches the second data item, transmitting an acknowledgment to the host device indicating that the first request has been completed successfully.

2. The method of claim 1 , further comprising, when the error condition is not present, transmitting an acknowledgment to the host device indicating that the first request has been completed successfully.

3. The method of claim 1 , when the first data item does not match the second data item, storing the second data item, at the specified address, in the first instance of the volume, and transmitting an error message indicating that the first request could not be completed successfully.

4. The method of claim 1 , further comprising releasing the read-write lock after an acknowledgment or an error message is transmitted to the host device.

5. The method of claim 1 , wherein the atomic write operation includes a test and set command.

6. The method of claim 1 , wherein the atomic write operation includes a read-modify-write request.

7. The method of claim 1 , wherein the atomic write request includes a request to change a state of an object that is shared between the host device and at least one other host device that is connected to the active-active storage cluster.

8. A storage system, comprising:

one or more storage devices, and

at least one processor configured to perform the operations of:

receiving a first request to perform an atomic write operation at a specified address in a volume, the first request being received from a host device;

placing a read-write lock on a first instance of the volume that is stored in the one or more storage devices, and executing the atomic write operation on the first instance of the volume;

transmitting, to a peer storage system, a second request to perform the atomic write operation on a second instance of the volume that is stored at the peer storage system;

detecting whether an error condition is present that is associated with the second request; and

when the error condition is present, comparing a first data item that is stored at the specified address in the first instance of the volume with a second data item that is stored at the specified address in the second instance of the volume, and, when the first data item matches the second data item, transmitting an acknowledgment to the host device indicating that the first request has been completed successfully.

9. The storage system of claim 8 , wherein the at least one processor is further configured to perform the operation of, when the error condition is not present, transmitting an acknowledgment to the host device indicating that the first request has been completed successfully.

10. The storage system of claim 8 , wherein the at least one processor is further configured to perform the operation of, when the first data item does not match the second data item, storing the second data item, at the specified address, in the first instance of the volume, and transmitting an error message indicating that the first request could not be completed successfully.

11. The storage system of claim 8 , wherein the at least one processor is further configured to perform the operation of releasing the read-write lock after an acknowledgment or an error message is transmitted to the host device.

12. The storage system of claim 8 , wherein the atomic write operation includes a test and set command.

13. The storage system of claim 8 , wherein the atomic write operation includes a read-modify-write request.

14. The storage system of claim 8 , wherein storage system and the peer storage system are part of an active-active storage cluster, and the atomic write request includes a request to change a state of an object that is shared between the host device and at least one other host device that is connected to the active-active storage cluster.

15. A method for use in an active-active storage cluster having first a storage array and a second storage array, the method comprising:

receiving, at the first storage array, a first request to perform an atomic write operation at a specified address in a volume, the first request being received from a host device;

placing a read-write lock on a first instance of the volume that is stored at the first storage array;

transmitting, to the second storage array, a second request to perform the atomic write operation on a second instance of the volume that is stored at the second storage array; and

detecting whether an error condition is present that is associated with the second request;

when the error condition is present, comparing a first data item that is stored at the specified address in the first instance of the volume with a second data item that is stored at the specified address in the second instance of the volume, and, when the first data item does not match the second data item, copying the second data item to the specified address in the first instance of the volume, and transmitting an acknowledgment to the host device indicating that the first request has been completed successfully.

16. The method of claim 15 , further comprising, when no error condition is present, executing the atomic write operation on the first instance of the volume and transmitting an acknowledgment to the host device indicating that the first request has been completed successfully.

17. The method of claim 15 , when the first data item matches the second data item, transmitting an error message indicating that the first request could not be completed successfully.

18. The method of claim 15 , releasing the read-write lock after an acknowledgment or an error message is transmitted to the host device.

19. The method of claim 15 , wherein the atomic write operation includes a test and set command.

20. The method of claim 15 , wherein the atomic write operation includes a read-modify-write request.

Assignments (9)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (054475/0523) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
Reel/Frame 060332/0664 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (054475/0434) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
Reel/Frame 060332/0740 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (054475/0609) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
Reel/Frame 062021/0570 →
RELEASE OF SECURITY INTEREST AT REEL 054591 FRAME 0471 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058001/0463 →
SECURITY INTEREST Recorded Nov 18, 2020
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 054475/0609 →
SECURITY INTEREST Recorded Nov 18, 2020
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 054475/0434 →
SECURITY INTEREST Recorded Nov 18, 2020
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 054475/0523 →
SECURITY AGREEMENT Recorded Nov 13, 2020
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 054591/0471 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 24, 2020
From: MEIRI, DAVID; CHEN, XIANGPING
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 053866/0714 →