IP Library › Granted Patent US 12,204,416
Granted Patent B2
US 12,204,416 · App. 18/148,696 · Granted Jan 21, 2025

Methods and systems to reduce latency of input/output (I/O) operations during creation of common snapshots based on batching of synchronous replicated datasets at a primary storage system to a cross-site secondary storage system

Inventors: Akhil Kaushik (San Jose, CA); Dhruvil Shah (Bangalore, IN); Arun Kumar Selvam (Tamilnadu, IN)
Assignee: NetApp, Inc.
G06F11/1466G06F3/0611G06F3/064G06F3/067G06F11/1448G06F11/1451G06F16/128G06F16/178G06F2201/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 12,204,416
App. No.
18/148,696
Granted
Jan 21, 2025
Kind
B2
Abstract

Multi-site distributed storage systems and computer-implemented methods are described for improving a resumption time of input/output (I/O) operations during a common snapshot procedure for storage objects. A computer-implemented method includes initiating a snapshot multi create operation to selectively form a batch of first and second synchronous replicated datasets that belong to a first group of storage disks at the primary storage site and corresponding second group of storage disks at the secondary storage site, performing a batch snapshot create operation on the primary storage site by executing snapshots of storage objects on the primary storage site of the batch of first and second synchronous replicated datasets in parallel multiple threads to effectively utilize processing resources on the primary storage site, and initiating an independent workflow and state machine for each storage object of the batch of first and second synchronous replicated datasets.

Claims (41)

1. A computer-implemented method for reducing a resumption time of processing of input/output (I/O) operations during a common snapshot process performed by one or more processors of a multi-site distributed storage system with a primary storage site having a first storage node and a secondary storage site having a second storage node, the computer-implemented method comprising:

initiating a snapshot multi create operation to selectively form a batch of first and second synchronous replicated datasets each having storage objects that belong to a first group of storage disks at the primary storage site and corresponding second group of storage disks at the secondary storage site;

performing a batch snapshot create operation on the primary storage site by executing snapshots of storage objects on the primary storage site of the batch of first and second synchronous replicated datasets in parallel multiple threads to utilize processing resources on the primary storage site; and

initiating an independent workflow and state machine for each storage object of the batch of first and second synchronous replicated datasets.

2. The computer-implemented method of claim 1 , further comprising:

starting a drain and hold state for the primary storage site to stop processing of I/O operations and start queuing incoming write operations, and to complete pending write operations received before the drain and hold state; and

subsequent to the drain and hold state, the batch snapshot create operation is performed on the primary storage site for each storage object of the batch and sending the batch snapshot create operation to the secondary storage site to be performed on each storage object of the batch of the secondary storage site in parallel multiple threads to utilize processing resources on the secondary storage site, wherein the first replicated dataset of the batch has a synchronous replication relationship between a first storage object of the primary storage site and a replicated second storage object of the secondary storage site.

3. The computer-implemented method of claim 1 , further comprising:

tracking pending operations of the primary storage site.

4. The computer-implemented method of claim 2 , wherein the batch snapshot create operation causes creation of a snapshot of the first storage object and a snapshot of the replicated second storage object of the first synchronous replicated dataset.

5. The computer-implemented method of claim 1 , wherein the batch snapshot create operation causes creation of a snapshot of a third storage object and a snapshot of a replicated fourth storage object of the second synchronous replicated dataset.

6. The computer-implemented method of claim 1 , wherein the snapshot multi create operation indicates a batch identifier and a number of storage objects in one or more storage nodes of the batch.

7. The computer-implemented method of claim 1 , further comprising: upon successful completion of the batch snapshot create operation, queued ops are allowed to continue splitting for the first storage node and the second storage node.

8. A multi-site distributed storage system having a primary storage site with a first cluster and a secondary storage site with a second cluster comprising:

one or more processing resources; and

a non-transitory computer-readable medium coupled to the processing resource, having stored therein instructions, which when executed by the one or more processing resources cause the one or more processing resources to:

initiate a snapshot multi create operation to selectively form a batch of first and second synchronous replicated datasets each having storage objects that belong to a first group of storage disks at the primary storage site and corresponding second group of storage disks at the secondary storage site;

perform a batch snapshot create operation on the primary storage site by executing snapshots of storage objects on the primary storage site of the batch of first and second synchronous replicated datasets in parallel multiple threads to utilize processing resources on the primary storage site; and

initiate an independent workflow and state machine for each storage object of the batch of first and second synchronous replicated datasets.

9. The multi-site distributed storage system of claim 8 , wherein the instructions when executed by the one or more processing resources cause the one or more processing resources to:

starting a drain and hold state for the primary storage site to stop processing of I/O operations and start queuing incoming write operations, and to complete pending write operations received before the drain and hold state; and

subsequent to the drain and hold state, the batch snapshot create operation is performed on the primary storage site for each storage object of the batch and sending the batch snapshot create operation to the secondary storage site to be performed on each storage object of the batch of the secondary storage site in parallel multiple threads to utilize processing resources on the secondary storage site, wherein the first replicated dataset of the batch has a synchronous replication relationship between a first storage object of the primary storage site and a replicated second storage object of the secondary storage site.

10. The multi-site distributed storage system of claim 8 , wherein the instructions when executed by the one or more processing resources cause the one or more processing resources to:

tracking pending operations of the primary storage site.

11. The multi-site distributed storage system of claim 2 , wherein the batch snapshot create operation causes creation of a snapshot of the first storage object and a snapshot of the replicated second storage object of the first synchronous replicated dataset.

12. The multi-site distributed storage system of claim 8 , wherein the batch snapshot create operation causes creation of a snapshot of a third storage object and a snapshot of a replicated fourth storage object of the second synchronous replicated dataset.

13. The multi-site distributed storage system of claim 8 , wherein the snapshot multi create operation indicates a batch identifier and a number of storage objects in one or more storage nodes of the batch.

14. The multi-site distributed storage system of claim 8 , wherein the instructions when executed by the one or more processing resources cause the one or more processing resources to:

upon successful completion of the batch snapshot create operation, continue splitting queued ops.

15. A non-transitory computer-readable storage medium embodying a set of instructions, which when executed by one or more processing resources of a storage node cause the one or more processing resources to:

initiate a snapshot multi create operation to selectively form a batch of first and second synchronous replicated datasets each having storage objects that belong to a first group of storage disks at the storage node of a primary storage site and corresponding second group of storage disks at a secondary storage site;

perform a batch snapshot create operation on the primary storage site by executing snapshots of storage objects on the primary storage site of the batch of first and second synchronous replicated datasets in parallel multiple threads to utilize processing resources on the primary storage site; and

initiate an independent workflow and state machine for each storage object of the batch of first and second synchronous replicated datasets.

16. The non-transitory computer-readable storage medium of claim 15 , wherein the instructions when executed by the one or more processing resources cause the one or more processing resources to:

start a drain and hold state for the primary storage site to stop processing of I/O operations and start queuing incoming write operations, and to complete pending write operations received before the drain and hold state; and

subsequent to the drain and hold state, the batch snapshot create operation is performed on the primary storage site for each storage object of the batch and sending the batch snapshot create operation to the secondary storage site to be performed on each storage object of the batch of the secondary storage site in parallel multiple threads to utilize processing resources on the secondary storage site, wherein the first replicated dataset of the batch has a synchronous replication relationship between a first storage object of the primary storage site and a replicated second storage object of the secondary storage site.

17. The non-transitory computer-readable storage medium of claim 15 , wherein the instructions when executed by the one or more processing resources cause the one or more processing resources to:

tracking pending operations of the primary storage site.

18. The non-transitory computer-readable storage medium of claim 16 , wherein the batch snapshot create operation causes creation of a snapshot of the first storage object and a snapshot of the replicated second storage object of the first synchronous replicated dataset.

19. The non-transitory computer-readable storage medium of claim 15 , wherein the batch snapshot create operation causes creation of a snapshot of a third storage object and a snapshot of a replicated fourth storage object of the second synchronous replicated dataset.

20. The non-transitory computer-readable storage medium of claim 15 , wherein the snapshot multi create operation indicates a batch identifier and a number of storage objects in one or more storage nodes of the batch.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 1, 2023
From: KAUSHIK, AKHIL; SHAH, DHRUVIL; SELVAM, ARUN KUMAR
To: NETAPP, INC.
Reel/Frame 062565/0287 →
Priority Claims (1)
IN 202241061494 · Oct 28, 2022 · national
Continuity (1)
Related Publication 20240143453A1 · May 2, 2024
References Cited (44)
US 5515502A · Wood · 1996 [cited by examiner]
US 7653612B1 · Veeraswamy et al. · 2010 [cited by applicant]
US 8095657B2 · E et al. · 2012 [cited by applicant]
US 8498967B1 · Chatterjee et al. · 2013 [cited by applicant]
US 9772908B1 · Gupta · 2017 [cited by examiner]
US 10326689B2 · Liu et al. · 2019 [cited by applicant]
US 10949309B2 · Hajare et al. · 2021 [cited by applicant]
US 11089105B1 · Karumbunathan · 2021 [cited by examiner]
US 11132339B2 · Kaushik et al. · 2021 [cited by applicant]
US 11226678B2 · Stolzenberg et al. · 2022 [cited by applicant]
US 11226878B1 · Beier et al. · 2022 [cited by applicant]
US 11995041B2 · Kaushik et al. · 2024 [cited by applicant]
US 20030182312A1 · Chen et al. · 2003 [cited by applicant]
US 20070253329A1 · Rooholamini et al. · 2007 [cited by applicant]
US 20120265910A1 · Galles et al. · 2012 [cited by applicant]
US 20130254599A1 · Katkar et al. · 2013 [cited by applicant]
US 20140189270A1 · Iwanicki et al. · 2014 [cited by applicant]
US 20160105313A1 · Jha et al. · 2016 [cited by applicant]
US 20180095852A1 · Keremane et al. · 2018 [cited by applicant]
US 20180260125A1 · Botes et al. · 2018 [cited by applicant]
US 20190342338A1 · Anandam et al. · 2019 [cited by applicant]
US 20200112628A1 · Barszczak et al. · 2020 [cited by applicant]
US 20200133798A1 · Hu et al. · 2020 [cited by applicant]
US 20200152027A1 · Blaser et al. · 2020 [cited by applicant]
US 20200159625A1 · Hutcheson et al. · 2020 [cited by applicant]
US 20200409810A1 · Wu et al. · 2020 [cited by applicant]
US 20210019229A1 · Kucherov et al. · 2021 [cited by applicant]
US 20220027311A1 · Hu · 2022 [cited by examiner]
US 20220086237A1 · Devireddy et al. · 2022 [cited by applicant]
US 20220189615A1 · Yu et al. · 2022 [cited by applicant]
US 20230012563A1 · Patnaik et al. · 2023 [cited by applicant]
US 20230289443A1 · Sinha et al. · 2023 [cited by applicant]
US 20240036732A1 · Vijayan et al. · 2024 [cited by applicant]
US 20240036997A1 · Vijayan et al. · 2024 [cited by applicant]
US 20240296100A1 · Kaushik et al. · 2024 [cited by applicant]
CN 109218177B · 2021 [cited by applicant]
Co-pending U.S. Appl. No. 18/148,644, inventors Akhil; Kaushik et al., filed on Dec. 30, 2022. [cited by applicant]
Co-pending U.S. Appl. No. 18/148,705, inventors Akhil; Kaushik et al., filed on Dec. 30, 2022. [cited by applicant]
Non-Final Office Action mailed on Dec. 28, 2023 for U.S. Appl. No. 18/148,705, filed Dec. 30, 2022, 17 pages. [cited by applicant]
Dawgsfan., “High Availability—HA Heartbeat Backup”, by Dawgs Fan, Almargaris, 2022, at Palo Alto Networks—https://live.paloaltonetworks.com/t5/best-practice-assessment-device/high-availability-ha-heartbeat-backup/ta-p/3… [cited by applicant]
Non-Final Office Action mailed on Dec. 11, 2023 for U.S. Appl. No. 17/875,814, filed Jul. 28, 2022, 24 pages. [cited by applicant]
Non-Final Office Action mailed on Oct. 3, 2023 for U.S. Appl. No. 17/875,849, filed Jul. 28, 2022, 06 pages. [cited by applicant]
Notice of Allowance mailed on Apr. 12, 2024 for U.S. Appl. No. 18/148,705, filed Dec. 30, 2022, 07 pages. [cited by applicant]
Non-Final Office Action mailed on Jul. 2, 2024 for U.S. Appl. No. 18/148,644, filed Dec. 30, 2022, 8 pages. [cited by applicant]
Cited By (2)
US 12,399,788 US 12,405,862