IP Library Granted Patent US 11,360,712
Granted Patent B2
US 11,360,712 · App. 16/779,839 · Granted Jun 14, 2022

Storage system with continuous data verification for synchronous replication of logical storage volumes

Inventors: David Meiri (Somerville, MA); Xiangping Chen (Sherborn, MA)
Assignee: EMC IP Holding Company LLC
G06F3/0665G06F3/065G06F3/067G06F3/0614G06F3/0658G06F3/0659G06F3/0683G06F21/602
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,360,712
App. No.
16/779,839
Granted
Jun 14, 2022
Kind
B2
Abstract

An apparatus includes a processing device comprising a processor coupled to a memory, with the processing device being configured, in conjunction with synchronous replication of at least one logical storage volume between first and second storage systems, to acquire an address lock for a set of pages of the logical storage volume starting from a particular page of the logical storage volume, to determine content-based signatures for respective pages of the set of pages, to compute an additional signature as a function of the content-based signatures, and to send the additional signature and a pointer to the particular page from the first storage system to the second storage system, so as to permit the second storage system to verify consistency of the set of pages in the second storage system relative to the set of pages in the first storage system. Such operations are repeated for other sets of pages.

Claims (63)

1. An apparatus comprising:

at least one processing device comprising a processor coupled to a memory;

said at least one processing device being configured, in conjunction with synchronous replication of at least one logical storage volume between first and second storage systems:

to acquire an address lock for a set of pages of the logical storage volume starting from a particular page of the logical storage volume;

to determine content-based signatures for respective pages of the set of pages;

to compute an additional signature for the set of pages as a function of the content-based signatures, wherein computing the additional signature for the set of pages comprises applying at least a first content-based signature of a first one of the pages of the set of pages as a first input to a signature generation algorithm and a second content-based signature of a second one of the pages of the set of pages as a second input to the signature generation algorithm, the additional signature corresponding to an output of the signature generation algorithm and being based at least in part on the first and second inputs;

to send the additional signature and a pointer to the particular page from the first storage system to the second storage system, so as to permit the second storage system to verify consistency of the set of pages in the second storage system relative to the set of pages in the first storage system; and

to repeat the acquiring, determining, computing and sending for each of one or more additional sets of pages of the logical storage volume starting from respective different particular pages of the logical storage volume.

2. The apparatus of claim 1 wherein said at least one processing device comprises at least a portion of a storage controller of one of the first and second storage systems.

3. The apparatus of claim 1 wherein the first and second storage systems comprise one of the following:

(i) respective source and target storage systems of the synchronous replication of said at least one logical storage volume; and

(ii) respective target and source storage systems of the synchronous replication of said at least one logical storage volume;

wherein any detected inconsistencies are illustratively corrected by sending the corresponding sets of pages from the source storage system to the target storage system.

4. The apparatus of claim 1 wherein the content-based signatures for respective ones of the pages are determined by accessing an address-to-hash table that stores logical addresses of the pages in association with respective hashes of the pages wherein the respective hashes are generated by applying a secure hashing algorithm to content of the pages.

5. The apparatus of claim 1 wherein each of the sets of pages comprises a same number of pages.

6. The apparatus of claim 1 wherein the address locks acquired for the set of pages of the logical storage volume are released responsive to receipt in the first storage system of a positive status indicator from the second storage system indicating that consistency of the set of pages in the second storage system relative to the set of pages in the first storage system has been successfully verified by the second storage system.

7. The apparatus of claim 1 wherein the first and second storage systems comprise respective source and target storage systems of the synchronous replication of said at least one logical storage volume, and wherein the set of pages of the logical storage volume are sent from the source storage system to the target storage system responsive to receipt in the source storage system of a negative status indicator from the target storage system indicating that consistency of the set of pages in the target storage system relative to the set of pages in the source storage system has not been successfully verified by the target storage system.

8. The apparatus of claim 1 wherein responsive to receipt of the additional signature and the pointer to the particular page from the first storage system in the second storage system, the second storage system is configured:

to acquire an address lock for a set of pages of the logical storage volume starting from the particular page of the logical storage volume;

to determine content-based signatures for respective pages of the set of pages;

to compute an additional signature as a function of the content-based signatures;

to compare the computed additional signature with the additional signature received from the first storage system;

to generate a status indicator based at least in part on the comparing; and

to send the status indicator to the first storage system to indicate whether or not consistency of the set of pages in the second storage system relative to the set of pages in the first storage system has been successfully verified by the second storage system.

9. The apparatus of claim 8 wherein responsive to the second storage system being unable to acquire the address lock for the set of pages, the second storage system sends a retry code to the first storage system.

10. The apparatus of claim 9 wherein responsive to receipt of the retry code from the second storage system, the first storage system repeats the acquiring, determining, computing and sending for the same set of pages of the logical storage volume starting from the particular page of the logical storage volume.

11. The apparatus of claim 8 wherein the second storage system repeats the acquiring, determining, computing, comparing and sending for each of one or more additional sets of pages of the logical storage volume starting from respective different particular pages of the logical storage volume responsive to receipt of respective additional signatures and respective pointers to the particular pages from the first storage system.

12. The apparatus of claim 1 wherein the acquiring, determining, computing and sending continues until consistency of the logical storage volume in the second storage system relative to the logical storage volume in the first storage system has been successfully verified by the second storage system.

13. The apparatus of claim 1 wherein computing an additional signature as a function of the content-based signatures comprises applying a secure hashing algorithm to hashes of respective ones of the pages of the set of pages.

14. The apparatus of claim 1 wherein computing an additional signature as a function of the content-based signatures comprises:

storing in a buffer a plurality of logical addresses and respective content-based signatures for respective non-zero pages of the set of pages;

responsive to the buffer being empty, generating the additional signature as a predetermined signature; and

responsive to the buffer not being empty, generating the additional signature at least in part by applying a secure hashing algorithm to contents of the buffer.

15. A method comprising:

in conjunction with synchronous replication of at least one logical storage volume between first and second storage systems:

acquiring an address lock for a set of pages of the logical storage volume starting from a particular page of the logical storage volume;

determining content-based signatures for respective pages of the set of pages;

computing an additional signature for the set of pages as a function of the content-based signatures, wherein computing the additional signature for the set of pages comprises applying at least a first content-based signature of a first one of the pages of the set of pages as a first input to a signature generation algorithm and a second content-based signature of a second one of the pages of the set of pages as a second input to the signature generation algorithm, the additional signature corresponding to an output of the signature generation algorithm and being based at least in part on the first and second inputs;

sending the additional signature and a pointer to the particular page from the first storage system to the second storage system, so as to permit the second storage system to verify consistency of the set of pages in the second storage system relative to the set of pages in the first storage system; and

repeating the acquiring, determining, computing and sending for each of one or more additional sets of pages of the logical storage volume starting from respective different particular pages of the logical storage volume;

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 first and second storage systems comprise respective source and target storage systems of the synchronous replication of said at least one logical storage volume, and wherein the set of pages of the logical storage volume are sent from the source storage system to the target storage system responsive to receipt in the source storage system of a negative status indicator from the target storage system indicating that consistency of the set of pages in the target storage system relative to the set of pages in the source storage system has not been successfully verified by the target storage system.

17. The method of claim 15 wherein responsive to receipt of the additional signature and the pointer to the particular page from the first storage system in the second storage system, the second storage system is configured:

to acquire an address lock for a set of pages of the logical storage volume starting from the particular page of the logical storage volume;

to determine content-based signatures for respective pages of the set of pages;

to compute an additional signature as a function of the content-based signatures;

to compare the computed additional signature with the additional signature received from the first storage system;

to generate a status indicator based at least in part on the comparing; and

to send the status indicator to the first storage system to indicate whether or not consistency of the set of pages in the second storage system relative to the set of pages in the first storage system has been successfully verified by the second storage system.

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, in conjunction with synchronous replication of at least one logical storage volume between first and second storage systems:

to acquire an address lock for a set of pages of the logical storage volume starting from a particular page of the logical storage volume;

to determine content-based signatures for respective pages of the set of pages;

to compute an additional signature for the set of pages as a function of the content-based signatures, wherein computing the additional signature for the set of pages comprises applying at least a first content-based signature of a first one of the pages of the set of pages as a first input to a signature generation algorithm and a second content-based signature of a second one of the pages of the set of pages as a second input to the signature generation algorithm, the additional signature corresponding to an output of the signature generation algorithm and being based at least in part on the first and second inputs;

to send the additional signature and a pointer to the particular page from the first storage system to the second storage system, so as to permit the second storage system to verify consistency of the set of pages in the second storage system relative to the set of pages in the first storage system; and

to repeat the acquiring, determining, computing and sending for each of one or more additional sets of pages of the logical storage volume starting from respective different particular pages of the logical storage volume.

19. The computer program product of claim 18 wherein the first and second storage systems comprise respective source and target storage systems of the synchronous replication of said at least one logical storage volume, and wherein the set of pages of the logical storage volume are sent from the source storage system to the target storage system responsive to receipt in the source storage system of a negative status indicator from the target storage system indicating that consistency of the set of pages in the target storage system relative to the set of pages in the source storage system has not been successfully verified by the target storage system.

20. The computer program product of claim 18 wherein responsive to receipt of the additional signature and the pointer to the particular page from the first storage system in the second storage system, the second storage system is configured:

to acquire an address lock for a set of pages of the logical storage volume starting from the particular page of the logical storage volume;

to determine content-based signatures for respective pages of the set of pages;

to compute an additional signature as a function of the content-based signatures;

to compare the computed additional signature with the additional signature received from the first storage system;

to generate a status indicator based at least in part on the comparing; and

to send the status indicator to the first storage system to indicate whether or not consistency of the set of pages in the second storage system relative to the set of pages in the first storage system has been successfully verified by the second storage system.

Assignments (13)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052851/0917) Recorded Jun 23, 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 060436/0509 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052852/0022) Recorded Jun 23, 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 060436/0582 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053311/0169) Recorded Jun 23, 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
Reel/Frame 060438/0742 →
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 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052851/0081) Recorded Jun 23, 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 060436/0441 →
RELEASE OF SECURITY INTEREST AT REEL 052771 FRAME 0906 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058001/0298 →
SECURITY INTEREST Recorded Jun 5, 2020
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 053311/0169 →
SECURITY INTEREST Recorded Jun 5, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC; THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052851/0081 →
SECURITY INTEREST Recorded Jun 5, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052851/0917 →
SECURITY INTEREST Recorded Jun 5, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052852/0022 →
SECURITY AGREEMENT Recorded May 28, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 052771/0906 →
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 3, 2020
From: MEIRI, DAVID; CHEN, XIANGPING
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 051698/0905 →