IP Library › Granted Patent US 12,399,788
Granted Patent B2
US 12,399,788 · App. 18/646,358 · Granted Aug 26, 2025

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

Inventors: Akhil Kaushik (San Jose, CA); Krishna Murthy Chandraiah Setty Narasingarayanapeta (Bangalore, IN); Dhruvil Shah (Bangalore, IN); Omprakash Khandelwal (Bangalore, 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,399,788
App. No.
18/646,358
Filed
Apr 25, 2024
Granted
Aug 26, 2025
Kind
B2
Art Unit
2161
USPC
707/611
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 process for storage objects. A computer-implemented method comprises performing a baseline transfer from at least one storage object of a first storage node to at least one replicated storage object of a second storage node, starting the common snapshot process including stop processing of I/O operations, performing a snapshot create operation on the primary storage site for the at least one storage object of the first storage node, resuming processing of I/O operations, and assigning a new universal unique identifier (UUID) to the at least one storage object of the second storage node after resuming processing of I/O operations with the new UUID to identify when file system contents are different than the baseline transfer.

Claims (49)

1. A computer-implemented method performed by one or more processing resources 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:

performing a baseline transfer from the at least one storage object of the first storage node to at least one storage object of the second storage node;

starting a common snapshot process including initiating hold state for the primary storage site to stop processing of input/output (I/O) operations during a time window; and

assigning a new identifier to the at least one storage object of the second storage node after resuming processing of I/O operations to reduce a resumption time of processing of input/output (I/O) operations during the common snapshot process with the new identifier to identify when active file system (AFS) contents are different than the baseline transfer for synchronous replication between the primary storage site and the secondary storage site.

2. The computer-implemented method of claim 1 , wherein assigning the new identifier occurs during a delete workflow to remove the synchronous replication relationship for the at least one storage object of the first storage node and the at least one storage object of the second storage node and guarantees that any subsequent update for an asynchronous replication relationship or resync transfer will detect a file system inconsistency between the baseline transfer between the primary storage site and the secondary storage site and the AFS contents.

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

converting from the synchronous replication relationship to an asynchronous relationship from the at least one storage object of the first storage node to the at least one storage object of the second storage node; and

initiating an asynchronous resynchronous workflow from the at least one storage object of the first storage node to the at least one storage object of the second storage node.

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

detecting AFS divergence post the common snapshot process when AFS contents are different than the baseline transfer;

performing a restore operation to remove file system inconsistencies due to the AFS divergence; and

performing asynchronous transfers from the at least one storage object of the first storage node to the at least one storage object of the second storage node.

5. The computer-implemented method of claim 1 , wherein the new identifier can be a multibit value to uniquely identify the storage object.

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

establishing a synchronous replication relationship between the at least one storage object of the first storage node of the primary storage site and the at least one storage object of the second storage node of the secondary storage site;

performing a snapshot create operation on the primary storage site for the at least one storage object of the first storage node and sending the snapshot create operation to the secondary storage site to be performed on the at least one storage object of the second storage node of the secondary storage site; and

resuming processing of I/O operations and ending the hold state for the primary storage site.

7. A distributed storage system having a primary storage site with a first storage node and a secondary storage site with a second storage node comprising:

one or more processing resources; and

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

perform a baseline data transfer from a first storage object of the first storage node to a second storage object of the second storage node including a baseline transfer that creates a snapshot copy of the first storage object and transfers the snapshot copy to the second storage object; and

add a transient tag to a snapshot tag meta file for the first storage object of the first storage node to grow the snapshot tag meta file during a synchronous replication process before fencing input/output (I/O) operations for the first storage object and the second storage object during a snapshot create request.

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

initiate the synchronous replication process for a file system including starting a synchronous data replication for replicating data from the first storage object of the first storage node of the first storage site to the second storage object of the second storage node of the second storage site;

perform, the snapshot create request with aggregate affinity and thus fully utilize multithreading of the one or more processing resources in the file system.

9. The distributed storage system of claim 7 , wherein adding the transient tag to a snapshot tag meta file for the first storage object of the first storage node and optionally also for the second storage object of the second storage node during the synchronous replication process before fencing I/O operations moves serial operations in the file system out of a client I/O hold window.

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

set a sync replication bit for the first storage object of the first storage node and also for the second storage object.

11. The distributed storage system of claim 7 , wherein the instructions when executed by the one or more processing resources cause the one or more processing resources to:

remove the transient tag from the snapshot tag meta file if a common snapshot for the snapshot create request occurs during a configurable time period such that the common snapshot is available for a subsequent resync operation.

12. The distributed storage system of claim 7 , wherein the instructions when executed by the one or more processing resources cause the one or more processing resources to:

store the transient tag in the snapshot tag meta file if a common snapshot for the snapshot create request did not occur during a configurable time period.

13. The distributed storage system of claim 7 , wherein the instructions when executed by the one or more processing resources cause the one or more processing resources to:

establish an insync state to indicate a synchronous replication for a data replication relationship between the first storage object and the second storage object.

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

perform a baseline data transfer from a first storage object of a first storage node of a first storage site to a second storage object of a second storage node of a second storage site including a baseline transfer that creates a snapshot copy of the first storage object and transfers the snapshot copy to the second storage object; and

add a transient tag to a snapshot tag meta file for the first storage object of the first storage node to grow the snapshot tag meta file during a synchronous replication process before fencing input/output (I/O) operations for the first storage object and the second storage object during a snapshot create request.

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

initiate the synchronous replication process for a file system including starting a synchronous data replication for replicating data from the first storage object of the first storage node of the first storage site to the second storage object of the second storage node of the second storage site; and

perform, the snapshot create request with aggregate affinity and thus fully utilize multithreading of the one or more processing resources in the file system.

16. The non-transitory computer-readable storage medium of claim 14 , wherein adding the transient tag to a snapshot tag meta file for the first storage object of the first storage node and optionally also for the second storage object of the second storage node during the synchronous replication process before fencing I/O operations moves serial operations in the file system out of a client I/O hold window.

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

set a sync replication bit for the first storage object of the first storage node and also for the second storage object.

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

remove the transient tag from the snapshot tag meta file if a common snapshot for the snapshot create request occurs during a configurable time period such that the common snapshot is available for a subsequent resync operation.

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

store the transient tag in the snapshot tag meta file if a common snapshot for the snapshot create request did not occur during a configurable time period.

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

establish an insync state to indicate a synchronous replication for a data replication relationship between the first storage object and the second storage object.

Priority Claims (1)
IN 202241061494 · Oct 28, 2022 · national
Continuity (2)
Continuation 18148705 · Dec 30, 2022
Related Publication 20240296100A1 · Sep 5, 2024
References Cited (53)
US 5515502A · Wood · 1996 [cited by applicant]
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 et al. · 2017 [cited by applicant]
US 10326689B2 · Liu et al. · 2019 [cited by applicant]
US 10949309B2 · Hajare et al. · 2021 [cited by applicant]
US 11010351B1 · Potnis · 2021 [cited by examiner]
US 11089105B1 · Karumbunathan et al. · 2021 [cited by applicant]
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 11409709B1 · Capello et al. · 2022 [cited by applicant]
US 11995041B2 · Kaushik · 2024 [cited by examiner]
US 12204416B2 · Kaushik et al. · 2025 [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 et al. · 2022 [cited by applicant]
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 20240143447A1 · Kaushik et al. · 2024 [cited by applicant]
US 20240143453A1 · Kaushik et al. · 2024 [cited by applicant]
US 20240143554A1 · Kaushik et al. · 2024 [cited by applicant]
US 20250147849A1 · Kaushik et al. · 2025 [cited by applicant]
CN 109218177B · 2021 [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]
Notice of Allowance mailed on Sep. 11, 2024 for U.S. Appl. No. 18/148,696, filed Dec. 30, 2022, 11 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… [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 Dec. 28, 2023 for U.S. Appl. No. 18/148,705, filed Dec. 30, 2022, 17 pages. [cited by applicant]
Non-Final Office Action mailed on May 9, 2024 for U.S. Appl. No. 18/148,696, filed Dec. 30, 2022, 06 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]
Final Office Action mailed on Jan. 10, 2025 for U.S. Appl. No. 18/148,644, filed Dec. 30, 2022, 10 pages. [cited by applicant]
Notice of Allowance mailed on Dec. 18, 2024 for U.S. Appl. No. 18/148,696, filed Dec. 30, 2022, 02 pages. [cited by applicant]
Notice of Allowance mailed on May 1, 2025 for U.S. Appl. No. 18/148,644, filed Dec. 30, 2022, 08 pages. [cited by applicant]