IP Library Granted Patent US 10,324,640
Granted Patent B1
US 10,324,640 · App. 15/876,433 · Granted Jun 18, 2019

Storage system with consistent initiation of data replication across multiple distributed processing modules

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,324,640
App. No.
15/876,433
Granted
Jun 18, 2019
Kind
B1
Abstract

A first storage system in one illustrative embodiment is configured to participate in a replication process with a second storage system. In conjunction with a synchronous replication mode of the replication process, a first processing module of a distributed storage controller of the first storage system is configured to write one or more data pages in the first storage system in accordance with a write request received from a host device, to send a corresponding replication write request to the second storage system, to determine whether or not the one or more data pages have been successfully replicated to the second storage system, and to update content-based signature mapping information of the one or more data pages responsive to receipt of an indication of successful replication. Responsive to a determination that the write request was received prior to initiation of the synchronous replication mode, an asynchronous-to-synchronous transition cycle scan operation is restarted.

Claims (37)

1. An apparatus comprising:

a first storage system comprising a plurality of storage nodes;

the first storage system being configured to participate in a replication process with a second storage system;

each of the storage nodes of the first storage system comprising a plurality of storage devices;

each of the storage nodes of the first storage system further comprising a set of processing modules configured to communicate over one or more networks with corresponding sets of processing modules on other ones of the storage nodes;

the sets of processing modules of the storage nodes collectively comprising at least a portion of a distributed storage controller of the first storage system;

wherein in conjunction with a synchronous replication mode of the replication process, a first one of the processing modules is configured to write one or more data pages in the first storage system in accordance with a write request received from a host device, to send a corresponding replication write request to the second storage system, to determine whether or not the one or more data pages have been successfully replicated to the second storage system in accordance with the corresponding replication write request, and to update content-based signature mapping information of the one or more data pages responsive to receipt of an indication of successful replication from the second storage system;

the first processing module being further configured to determine if the write request was received prior to initiation of the synchronous replication mode of the replication process, and responsive to an affirmative determination, to restart an asynchronous-to-synchronous transition cycle scan operation for the replication process;

wherein each of the storage nodes is implemented using at least one processing device comprising a processor coupled to a memory.

2. The apparatus of claim 1 wherein the first and second storage systems comprise respective content addressable storage systems having respective sets of non-volatile memory storage devices.

3. The apparatus of claim 1 wherein the first and second storage systems are associated with respective source and target sites of the replication process and wherein the source site comprises a production site data center and the target site comprises a disaster recovery site data center.

4. The apparatus of claim 1 wherein the replication process comprises both the synchronous replication mode in which write requests directed by the host device to the first storage system are mirrored to the second storage system and an asynchronous replication mode in which cycle-based asynchronous replication is performed to replicate data from the first storage system to the second storage system.

5. The apparatus of claim 4 wherein the asynchronous-to-synchronous transition cycle scan operation is part of a given one of a plurality of cycles of the asynchronous replication mode of the replication process.

6. The apparatus of claim 1 wherein the write request being received prior to initiation of the synchronous replication mode of the replication process is indicative of the presence of a potential race condition in a transition from an asynchronous replication mode of the replication process to the synchronous replication mode of the replication process.

7. The apparatus of claim 6 wherein restarting the asynchronous-to-synchronous transition cycle scan operation for the replication process eliminates the potential race condition.

8. The apparatus of claim 6 wherein the potential race condition arises as a result of the synchronous replication mode being initiated between updating of a hash metadata table of the content-based signature mapping information for the given write request and updating of an address-to-hash table of the content-based signature mapping information for the given write request.

9. The apparatus of claim 1 wherein updating content-based signature mapping information of the one or more data pages comprises updating at least one mapping table of a first type that associates logical addresses of respective data pages with respective content-based signatures of those data pages.

10. The apparatus of claim 9 wherein a given one of the content-based signatures comprises a hash handle of the corresponding data page with the hash handle being generated by applying a hash function to content of that data page.

11. The apparatus of claim 9 wherein the content-based signature mapping information further comprises at least one mapping table of a second type that associates respective ones of the content-based signatures with respective physical storage locations in one or more of the storage devices.

12. The apparatus of claim 1 wherein the asynchronous-to-synchronous transition cycle scan operation for the replication process is initiated in conjunction with initiation of the synchronous replication mode of the replication process.

13. The apparatus of claim 1 wherein each of the sets of processing modules of the distributed storage controller comprises one or more control modules and one or more routing modules and wherein the first processing module comprises a particular one of the control modules.

14. The apparatus of claim 13 wherein the write request received from the host device is directed by a particular one of the routing modules to the particular control module.

15. A method comprising:

configuring a first storage system to include a plurality of storage nodes each having a plurality of storage devices, each of the storage nodes further comprising a set of processing modules configured to communicate over one or more networks with corresponding sets of processing modules on other ones of the storage nodes;

configuring the first storage system to participate in a replication process with a second storage system; and

in conjunction with a synchronous replication mode of the replication process, a first one of the processing modules writing one or more data pages in the first storage system in accordance with a write request received from a host device, sending a corresponding replication write request to the second storage system, determining whether or not the one or more data pages have been successfully replicated to the second storage system in accordance with the corresponding replication write request, and updating content-based signature mapping information of the one or more data pages responsive to receipt of an indication of successful replication from the second storage system;

the first processing module further determining if the write request was received prior to initiation of the synchronous replication mode of the replication process, and responsive to an affirmative determination, restarting an asynchronous-to-synchronous transition cycle scan operation for the replication process;

wherein the method is implemented by at least one processing device comprising a processor coupled to a memory.

16. The method of claim 15 wherein the write request being received prior to initiation of the synchronous replication mode of the replication process is indicative of the presence of a potential race condition in a transition from an asynchronous replication mode of the replication process to the synchronous replication mode of the replication process, and wherein restarting the asynchronous-to-synchronous transition cycle scan operation for the replication process eliminates the potential race condition.

17. The method of claim 15 wherein each of the sets of processing modules of the distributed storage controller comprises one or more control modules and one or more routing modules and wherein the first processing module comprises a particular one of the control modules and the write request received from the host device is directed by a particular one of the routing modules to the particular control module.

18. A computer program product comprising a non-transitory processor-readable storage medium having stored therein program code of one or more software programs, wherein the program code when executed by at least one processing device causes said at least one processing device:

to configure a first storage system to include a plurality of storage nodes each having a plurality of storage devices, each of the storage nodes further comprising a set of processing modules configured to communicate over one or more networks with corresponding sets of processing modules on other ones of the storage nodes;

to configure the first storage system to participate in a replication process with a second storage system; and

in conjunction with a synchronous replication mode of the replication process, a first one of the processing modules being configured to write one or more data pages in the first storage system in accordance with a write request received from a host device, to send a corresponding replication write request to the second storage system, to determine whether or not the one or more data pages have been successfully replicated to the second storage system in accordance with the corresponding replication write request, and to update content-based signature mapping information of the one or more data pages responsive to receipt of an indication of successful replication from the second storage system;

the first processing module being further configured to determine if the write request was received prior to initiation of the synchronous replication mode of the replication process, and responsive to an affirmative determination, to restart an asynchronous-to-synchronous transition cycle scan operation for the replication process.

19. The computer program product of claim 18 wherein the write request being received prior to initiation of the synchronous replication mode of the replication process is indicative of the presence of a potential race condition in a transition from an asynchronous replication mode of the replication process to the synchronous replication mode of the replication process, and wherein restarting the asynchronous-to-synchronous transition cycle scan operation for the replication process eliminates the potential race condition.

20. The computer program product of claim 18 wherein each of the sets of processing modules of the distributed storage controller comprises one or more control modules and one or more routing modules and wherein the first processing module comprises a particular one of the control modules and the write request received from the host device is directed by a particular one of the routing modules to the particular control module.

Assignments (7)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (045482/0131) Recorded May 20, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO WYSE TECHNOLOGY L.L.C.)
Reel/Frame 061749/0924 →
RELEASE OF SECURITY INTEREST AT REEL 045482 FRAME 0395 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.
Reel/Frame 058298/0314 →
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 Mar 6, 2018
From: MEIRI, DAVID
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 045122/0605 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Mar 1, 2018
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 045482/0131 →
PATENT SECURITY AGREEMENT (CREDIT) Recorded Mar 1, 2018
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 045482/0395 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 22, 2018
From: CHEN, XIANGPING; KRONROD, SVETLANA
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 044689/0802 →
Cited By (4)
US 12,277,031 US 12,327,138 US 12,373,126 US 12,373,306