IP Library Granted Patent US 11,079,961
Granted Patent B1
US 11,079,961 · App. 16/779,828 · Granted Aug 3, 2021

Storage system with write-via-hash functionality for synchronous replication of logical storage volumes

Inventors: David Meiri (Somerville, MA); Xiangping Chen (Sherborn, MA)
Assignee: EMC IP Holding Company LLC
G06F3/065G06F3/067G06F3/0613G06F3/0659G06F21/6218
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,079,961
App. No.
16/779,828
Granted
Aug 3, 2021
Kind
B1
Abstract

An apparatus includes a processing device comprising a processor coupled to a memory. The processing device is configured, in conjunction with synchronous replication of at least one logical storage volume between first and second storage systems, to receive a synchronous write request comprising a data page to be written to the logical storage volume, to determine a content-based signature for the data page, and to send the content-based signature from the first storage system to the second storage system. Responsive to receipt in the first storage system of an indication from the second storage system that the data page having the content-based signature is not already present in the second storage system, the processing device is further configured to send the data page from the first storage system to the second storage system. The processing device in some embodiments implements a distributed storage controller of a content addressable storage system.

Claims (70)

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 receive a synchronous write request comprising a data page to be written to the logical storage volume;

to determine a content-based signature for the data page;

to send the content-based signature from the first storage system to the second storage system; and

responsive to receipt in the first storage system of an indication from the second storage system that the data page having the content-based signature is not already present in the second storage system, to send the data page from the first storage system to the second storage system;

wherein the synchronous replication comprises a plurality of synchronous replication sessions each involving one or more logical storage volumes; and

wherein each of one or more of the synchronous replication sessions has a deduplication threshold and is configured:

to initially process a designated amount of its synchronous write requests by first sending content-based signatures for respective data pages of the synchronous write requests to the second storage system instead of first sending the data pages, in order to determine if the data pages already exist in the second storage system so as to thereby potentially avoid sending the data pages;

to determine an initial value of a deduplication ratio based at least in part on results of the initial processing; and

for each of a plurality of additional synchronous write requests:

responsive to a current value of the deduplication ratio being above the deduplication threshold, first sending a content-based signature for a data page of the synchronous write request to the second storage system instead of first sending the data page, in order to determine if the data page already exists in the second storage system so as to thereby potentially avoid sending the data page; and

responsive to a current value of the deduplication ratio not being above the deduplication threshold, first sending the data page.

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

3. 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.

4. The apparatus of claim 1 wherein the content-based signature for the data page is determined based at least in part on application of a secure hashing algorithm to content of the data page.

5. The apparatus of claim 1 wherein the second storage system responsive to determining that the data page having the content-based signature is already present in the second storage system completes the synchronous write request in the second storage system utilizing the content-based signature.

6. The apparatus of claim 1 wherein the second storage system responsive to receipt of the data page from the first storage system completes the synchronous write request in the second storage system utilizing the received data page.

7. The apparatus of claim 1 wherein different ones of the synchronous replication sessions are assigned different ones of a plurality of distinct priority levels.

8. The apparatus of claim 1 wherein each of the synchronous replication sessions independently determines whether or not to first send a content-based signature for a data page of a synchronous write request to the second storage system instead of first sending the data page, in order to determine if the data page already exists in the second storage system so as to thereby potentially avoid sending the data page.

9. The apparatus of claim 7 wherein the deduplication thresholds are assigned to respective ones of the synchronous replication sessions based at least in part on their respective priority levels such that a session having a relatively high priority is assigned a relatively high deduplication threshold.

10. The apparatus of claim 1 wherein one or more of the deduplication thresholds are reduced responsive to a detected increase in network congestion between the first and second storage systems.

11. The apparatus of claim 1 wherein the first storage system comprises a distributed storage system having a plurality of storage nodes, each of at least a subset of the storage nodes comprising a set of processing modules configured to communicate with corresponding sets of processing modules on other ones of the storage nodes, a given such set of processing modules comprising at least a routing module, a control module and a data module, the sets of processing modules of the storage nodes collectively comprising at least a portion of a distributed storage controller of the distributed storage system.

12. 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 receive a synchronous write request comprising a data page to be written to the logical storage volume;

to determine a content-based signature for the data page;

to send the content-based signature from the first storage system to the second storage system; and

responsive to receipt in the first storage system of an indication from the second storage system that the data page having the content-based signature is not already present in the second storage system, to send the data page from the first storage system to the second storage system;

wherein the synchronous replication comprises a plurality of synchronous replication sessions each involving one or more logical storage volumes;

wherein the first storage system comprises a distributed storage system having a plurality of storage nodes, each of at least a subset of the storage nodes comprising a set of processing modules configured to communicate with corresponding sets of processing modules on other ones of the storage nodes, a given such set of processing modules comprising at least a routing module, a control module and a data module, the sets of processing modules of the storage nodes collectively comprising at least a portion of a distributed storage controller of the distributed storage system; and

wherein said at least one processing device is further configured:

to determine a number of parallel synchronous write requests that can be collectively supported by the routing modules;

to determine a replication budget for each of the control modules as a function of the number of parallel synchronous write requests;

to allocate portions of the replication budget across the synchronous replication sessions in accordance with respective priority levels assigned thereto; and

to assign synchronous write requests to respective ones of the synchronous replication sessions in accordance with their respective allocated portions of the replication budget.

13. The apparatus of claim 12 wherein at least one of the synchronous replication sessions that is currently operating below its allocated portion of the replication budget is permitted to obtain one or more synchronous write requests from another one of the synchronous replication sessions for processing.

14. A method comprising:

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

receiving a synchronous write request comprising a data page to be written to the logical storage volume;

determining a content-based signature for the data page;

sending the content-based signature from the first storage system to the second storage system; and

responsive to receipt in the first storage system of an indication from the second storage system that the data page having the content-based signature is not already present in the second storage system, sending the data page from the first storage system to the second storage system;

wherein the synchronous replication comprises a plurality of synchronous replication sessions each involving one or more logical storage volumes;

wherein each of one or more of the synchronous replication sessions has a deduplication threshold and is configured:

to initially process a designated amount of its synchronous write requests by first sending content-based signatures for respective data pages of the synchronous write requests to the second storage system instead of first sending the data pages, in order to determine if the data pages already exist in the second storage system so as to thereby potentially avoid sending the data pages;

to determine an initial value of a deduplication ratio based at least in part on results of the initial processing; and

for each of a plurality of additional synchronous write requests:

responsive to a current value of the deduplication ratio being above the deduplication threshold, first sending a content-based signature for a data page of the synchronous write request to the second storage system instead of first sending the data page, in order to determine if the data page already exists in the second storage system so as to thereby potentially avoid sending the data page; and

responsive to a current value of the deduplication ratio not being above the deduplication threshold, first sending the data page; and

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

15. The method of claim 14 wherein different ones of the synchronous replication sessions are assigned different ones of a plurality of distinct priority levels.

16. The method of claim 14 wherein each of the synchronous replication sessions independently determines whether or not to first send a content-based signature for a data page of a synchronous write request to the second storage system instead of first sending the data page, in order to determine if the data page already exists in the second storage system so as to thereby potentially avoid sending the data page.

17. 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 receive a synchronous write request comprising a data page to be written to the logical storage volume;

to determine a content-based signature for the data page;

to send the content-based signature from the first storage system to the second storage system; and

responsive to receipt in the first storage system of an indication from the second storage system that the data page having the content-based signature is not already present in the second storage system, to send the data page from the first storage system to the second storage system;

wherein the synchronous replication comprises a plurality of synchronous replication sessions each involving one or more logical storage volumes; and

wherein each of one or more of the synchronous replication sessions has a deduplication threshold and is configured:

to initially process a designated amount of its synchronous write requests by first sending content-based signatures for respective data pages of the synchronous write requests to the second storage system instead of first sending the data pages, in order to determine if the data pages already exist in the second storage system so as to thereby potentially avoid sending the data pages;

to determine an initial value of a deduplication ratio based at least in part on results of the initial processing; and

for each of a plurality of additional synchronous write requests:

responsive to a current value of the deduplication ratio being above the deduplication threshold, first sending a content-based signature for a data page of the synchronous write request to the second storage system instead of first sending the data page, in order to determine if the data page already exists in the second storage system so as to thereby potentially avoid sending the data page; and

responsive to a current value of the deduplication ratio not being above the deduplication threshold, first sending the data page.

18. The computer program product of claim 17 wherein different ones of the synchronous replication sessions are assigned different ones of a plurality of distinct priority levels.

19. The computer program product of claim 17 wherein each of the synchronous replication sessions independently determines whether or not to first send a content-based signature for a data page of a synchronous write request to the second storage system instead of first sending the data page, in order to determine if the data page already exists in the second storage system so as to thereby potentially avoid sending the data page.

20. The computer program product of claim 18 wherein the deduplication thresholds are assigned to respective ones of the synchronous replication sessions based at least in part on their respective priority levels such that a session having a relatively high priority is assigned a relatively high deduplication threshold.

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 24, 2020
From: MEIRI, DAVID; CHEN, XIANGPING
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 051897/0669 →