IP Library Granted Patent US 10,467,102
Granted Patent B1
US 10,467,102 · App. 15/379,940 · Granted Nov 5, 2019

I/O score-based hybrid replication in a storage system

Inventors: Leehod Baruch (Rishon Leziyon, IL); Assaf Natanzon (Tel Aviv, IL); Philip Shilane (Newtown, PA)
Assignee: EMC IP HOLDING COMPANY LLC
G06F11/1446G06F16/128G06F16/2255H04L67/1097G06F11/1464G06F2201/84
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,467,102
App. No.
15/379,940
Granted
Nov 5, 2019
Kind
B1
Abstract

Described embodiments provide systems and methods for operating a storage system that may determine one or more properties for each of a plurality of input/output (I/O) to a production volume of a storage system and monitor one or more operating conditions of the storage system. Embodiments may further include determining a score for each I/O based upon one or more of: the one or more properties of the I/O and the one or more operating conditions; adapting a replication threshold based upon the one or more operating conditions; comparing the determined score for each I/O to the adapted replication threshold; and based upon the comparison, performing continuous replication or snapshot replication for each I/O.

Claims (87)

1. A method comprising:

determining one or more properties for each of a plurality of input/output (I/O) to a production volume of a storage system, wherein determining the one or more properties for each of the plurality of I/O includes determining a hash value associated with the I/O;

monitoring one or more operating conditions of the storage system;

assigning a respective score to each I/O based upon one one or more properties of the I/O, wherein assigning a respective score to each I/O includes: detecting whether the hash value associated with the I/O is stored in a mapping table, when the hash value is stored in the mapping table, assigning a first score to the I/O such that the I/O is more likely to be replicated by continuous replication, and when the hash value is not stored in the mapping table, assigning a second score to the I/O such that the I/O is more likely to be replicated by snapshot replication;

adapting a replication threshold based upon the one or more operating conditions; and

comparing the respective score of each I/O to the adapted replication threshold and, based upon the comparison, replicating the I/O using one of continuous replication and snapshot replication.

2. The method of claim 1 , wherein determining the one or more properties further includes one or more of:

determining a compressibility of each I/O;

determining a deduplication ability of each I/O;

determining an alignment of each I/O to a storage volume of the storage system; and

determining a priority level associated with each I/O.

3. The method of claim 2 , wherein determining the compressibility of each I/O comprises compressing at least a first portion of the I/O and determining an achieved compression level.

4. The method of claim 2 , wherein determining the priority level associated with each I/O comprises:

determining a consistency group (CG) associated with the I/O; and

determining a priority level of the CG.

5. The method of claim 1 , wherein monitoring the one or more operating conditions comprises at least one of:

determining an available bandwidth of a communication link of the storage system;

determining an available processing capacity of a processor of the storage system; and

determining usage patterns of the production volume.

6. The method of claim 5 , further comprising:

when bandwidth of the communication link is available, adapting the replication threshold to increase continuous replication; and

when bandwidth of the communication link is not available, adapting the replication threshold to decrease continuous replication.

7. The method of claim 5 , further comprising:

when processing capacity is available, adapting the replication threshold to decrease continuous replication; and

when processing capacity is not available, adapting the replication threshold to increase continuous replication.

8. A method comprising:

identifying a plurality of segments of a production volume of a storage system;

for each of a plurality of input/output (I/O) to the production volume, detecting whether the I/O is aligned with one or more of the plurality of segments of the production volume;

monitoring one or more operating conditions of the storage system;

assigning a respective score to each I/O based upon whether the I/O is aligned with one or more of the plurality of segments of the production volume, wherein assigning a respective score to each I/O includes: (i) when the I/O is aligned with one or more of the plurality of segments, assigning a first score to the I/O such that the aligned I/O is more likely to be replicated by continuous replication, and (ii) when the I/O is not aligned with one or more of the plurality of segments, assigning a second score to the I/O such that the unaligned I/O is more likely to be replicated by snapshot replication;

adapting a replication threshold based upon the one or more operating conditions; and

comparing the respective score of each I/O to the adapted replication threshold, and based upon the comparison, replicating the I/O using one of continuous replication and snapshot replication.

9. A method comprising:

determining one or more properties for each of a plurality of input/output (I/O) to a production volume of a storage system;

identifying one or more regions of the production volume;

classifying each of the regions as either a hotspot region or a non-hotspot region based on a count of I/Os received for that region during an operating time window;

assigning a respective score to each I/O based upon the one or more properties of the I/O;

adapting a replication threshold based upon the one or more operating conditions, wherein adapting the replication threshold includes: (i) for hotspot regions, adapting the replication threshold to reduce continuous replication, and (ii) and for identified non-hotspot regions, adapting the replication threshold to increase continuous replication; and

comparing the respective score of each I/O to the adapted replication threshold, and based upon the comparison, replicating the I/O using one of continuous replication and snapshot replication.

10. A system comprising:

a processor; and

memory storing computer program code that when executed on the processor causes the processor to operate a storage system, the storage system operable to perform the operations of:

determining one or more properties for each of a plurality of input/output (I/O) to a production volume of the storage system, wherein determining the one or more properties for each of the plurality of I/O includes determining a hash value associated with the I/O;

monitoring one or more operating conditions of the storage system;

assigning a respective score to each I/O based upon the one or more properties of the I/O, wherein assigning a respective score to each I/O includes: detecting whether the hash value associated with the I/O is stored in a mapping table, when the hash value is stored in the mapping table, assigning a first score to the I/O such that the I/O is more likely to be replicated by continuous replication, and when the hash value is not stored in the mapping table, assigning a second score to the I/O such that the I/O is more likely to be replicated by snapshot replication;

adapting a replication threshold based upon the one or more operating conditions; and

comparing the respective score of each I/O to the adapted replication threshold and, based upon the comparison, replicating the I/O using one of continuous replication and snapshot replication.

11. The system of claim 10 , wherein determining the one or more properties further includes one or more of:

determining a compressibility of each I/O;

determining a deduplication ability of each I/O;

determining an alignment of each I/O to a storage volume of the storage system; and

determining a priority level associated with each I/O.

12. The system of claim 11 , wherein determining the compressibility of each I/O comprises compressing at least a first portion of the I/O and determining an achieved compression level.

13. The system of claim 11 , wherein determining the priority level associated with each I/O comprises:

determining a consistency group (CG) associated with the I/O; and

determining a priority level of the CG.

14. The system of claim 10 , wherein monitoring the one or more operating conditions comprises at least one of:

determining an available bandwidth of a communication link of the storage system;

determining an available processing capacity of a processor of the storage system; and

determining usage patterns of the production volume.

15. The system of claim 14 , further comprising:

when bandwidth of the communication link is available, adapting the replication threshold to increase continuous replication; and

when bandwidth of the communication link is not available, adapting the replication threshold to decrease continuous replication.

16. A system comprising:

a processor; and

memory storing computer program code that when executed on the processor causes the processor to operate a storage system configured to perform in a continuous replication mode and snapshot replication mode, the storage system operable to perform the operations of:

identifying a plurality of segments of a production volume of the storage system;

for each of a plurality of input/output (I/O) to the production volume, detecting whether the I/O is aligned with one or more of the plurality of segments of the production volume;

monitoring one or more operating conditions of the storage system;

assigning a respective score to each I/O based upon whether the I/O is aligned with one or more of the plurality of segments of the production volume, wherein assigning a respective score to each I/O includes: (i) when the I/O is aligned with one or more of the plurality of segments, assigning a first score to the I/O such that the aligned I/O is more likely to be replicated by continuous replication, and (ii) when the I/O is not aligned with one or more of the plurality of segments, assigning a second score to the I/O such that the unaligned I/O is more likely to be replicated by snapshot replication;

adapting a replication threshold based upon the one or more operating conditions; and

comparing the respective score of each I/O to the adapted replication threshold, and based upon the comparison, replicating the I/O using one of continuous replication and snapshot replication.

17. A system comprising:

a processor; and

memory storing computer program code that when executed on the processor causes the processor to operate a storage system configured to perform in a continuous replication mode and snapshot replication mode, the storage system operable to perform the operations of:

determining one or more properties for each of a plurality of input/output (I/O) to a production volume of the storage system;

identifying one or more regions of the production volume;

classifying each of the regions as either a hotspot region or a non-hotspot region based on a count of I/Os received for that region during an operating time window;

assigning a score to each I/O based upon the one or more properties of the I/O;

adapting a replication threshold based upon the one or more operating conditions, wherein adapting the replication threshold includes: (i) for hotspot regions, adapting the replication threshold to reduce continuous replication, and (ii) for non-hotspot regions, adapting the replication threshold to increase continuous replication; and

comparing the respective score of each I/O to the adapted replication threshold, and based upon the comparison, replicating the I/O using one of continuous replication and snapshot replication.

18. A computer program product including a non-transitory computer readable storage medium having computer program code encoded thereon that when executed on a processor of a computer causes the computer to operate a storage system configured, the computer program product comprising computer program code for:

determining one or more properties for each of a plurality of input/output (I/O) to a production volume of the storage system, wherein determining the one or more properties for each of the plurality of I/O includes determining a hash value associated with the I/O;

monitoring one or more operating conditions of the storage system;

assigning a respective score to each I/O based upon the one or more properties of the I/O, wherein assigning a respective score to each I/O includes: detecting whether the hash value associated with the I/O is stored in a mapping table, when the hash value is stored in the mapping table, assigning a first score to the I/O such that the I/O is more likely to be replicated by continuous replication, and when the hash value is not stored in the mapping table, assigning a second score to the I/O such that the I/O is more likely to be replicated by snapshot replication;

adapting a replication threshold based upon the one or more operating conditions; and

comparing the respective score of each I/O to the adapted replication threshold and, based upon the comparison, replicating the I/O using one of continuous replication and snapshot replication.

Assignments (8)
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 (052216/0758) 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 060438/0680 →
RELEASE OF SECURITY INTEREST AF REEL 052243 FRAME 0773 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058001/0152 →
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 →
SECURITY AGREEMENT Recorded Mar 26, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 052243/0773 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Mar 24, 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 052216/0758 →
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 Dec 20, 2016
From: BARUCH, LEEHOD; NATANZON, ASSAF; SHILANE, PHILIP
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 041034/0589 →
Cited By (5)
US 12,353,742 US 12,554,589 US 12,572,510 US 12,591,592 US 12,699,615