IP Library › Granted Patent US 12,572,435
Granted Patent B2
US 12,572,435 · App. 18/791,758 · Granted Mar 10, 2026

Stateful membership management for storage systems replicating a dataset

Inventors: Ronald Karr (Palo Alto, CA); David Grunwald (San Francisco, CA); Naveen Neelakantam (Mountain View, CA); Zoheb Shivani (Newark, CA); Thomas Gill (Bury St Edmunds, GB); Connor Brooks (Mountain View, CA); Aswin Karumbunathan (San Francisco, CA); Kunal Trivedi (San Francisco, CA)
Assignee: PURE STORAGE, INC.
G06F11/2076G06F3/0604G06F3/061G06F3/0611G06F3/0619G06F3/0632G06F3/065G06F3/0659G06F3/067G06F3/0683G06F3/0689G06F9/44505G06F11/0727G06F11/0751G06F11/1464G06F11/1471G06F11/2064G06F11/2082G06F12/0684G06F12/1072G06F16/178G06F16/182G06F16/1844G06F16/27G06F16/275H04L45/12G06F3/06G06F11/2053H04L45/38H04L47/125H04L67/1095H04L67/1097
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,572,435
App. No.
18/791,758
Granted
Mar 10, 2026
Kind
B2
Abstract

Managing storage systems that are synchronously replicating a dataset, including: detecting a change in membership to the set of storage systems synchronously replicating the dataset; and applying one or more membership protocols to determine a new set of storage systems to synchronously replicate the dataset, wherein the one or more membership protocols include a quorum protocol, an external management protocol, or a racing protocol, and wherein one or more I/O operations directed to the dataset are applied to a new set of storage systems.

Claims (47)

1 . A method comprising:

detecting, by a storage system of a set of storage systems replicating a dataset, a change in membership to the set of storage systems, wherein the set of storage systems use a first storage system membership mechanism to determine membership in the set of storage systems; and

participating, by the storage system, in a stateful transition from the first storage system membership mechanism to a second storage system membership mechanism that is used to determine a new set of storage systems to replicate the dataset.

2 . The method of claim 1 , further comprising:

receiving, by a first storage system of the set of storage systems, a request to detach a second storage system from the set of storage systems; and

in response to the request, determining, using a quorum protocol, whether a majority of votes exists within the set of storage systems to exclude the second storage system; and

detaching the second storage system based on the determination.

3 . The method of claim 2 , further comprising:

using a preference model in combination with the quorum protocol, wherein the preference model specifies whether a particular storage system has votes to detach another storage system based on a determination of connectivity between the particular storage system and a larger storage system.

4 . The method of claim 2 , further comprising:

using a mediation model in combination with the quorum protocol, wherein the mediation model specifies whether to use a mediation service based on a number of storage systems within the set of storage systems that remains after application of the quorum protocol.

5 . The method of claim 1 , wherein the set of storage systems synchronously replicating a dataset are included in a membership list of in-sync members of a pod that is respectively stored on each of the set of storage systems, and wherein the pod comprises a management entity representing the dataset, a set of managed objects, and a set of management operations.

6 . The method of claim 1 further comprising:

identifying a set of storage systems that are synchronously replicating a dataset.

7 . The method of claim 2 , wherein each storage system in a pod corresponds to a respective quantity of votes and the quorum protocol specifies that a majority of votes from a subset of the set of storage systems is required for the subset of the set of storage systems to detach a storage system that is not a member of the subset of the set of storage systems.

8 . The method of claim 1 , further comprising:

receiving one or more I/O operations from a host computer at one or more of the new set of storage systems.

9 . An apparatus comprising:

a memory;

a processing device operably coupled to the memory, configured to:

detect, by a storage system of a set of storage systems replicating a dataset, a change in membership to the set of storage systems, wherein the set of storage systems use a first storage system membership mechanism to determine membership in the set of storage systems; and

participate, by the storage system, in a stateful transition from the first storage system membership mechanism to a second storage system membership mechanism that is used to determine a new set of storage systems to replicate the dataset.

10 . The apparatus of claim 9 , wherein the processing device is further configured to:

receive, by a first storage system of the set of storage systems, a request to detach a second storage system from the set of storage systems; and

in response to the request, determine, using a quorum protocol, whether a majority of votes exists within the set of storage systems to exclude the second storage system; and

detach the second storage system based on the determination.

11 . The apparatus of claim 10 , wherein the processing device is further configured to:

use a preference model in combination with the quorum protocol, wherein the preference model specifies whether a particular storage system has votes to detach another storage system based on a determination of connectivity between the particular storage system and a larger storage system.

12 . The apparatus of claim 10 , wherein the processing device is further configured to:

use a mediation model in combination with the quorum protocol, wherein the mediation model specifies whether to use a mediation service based on a number of storage systems within the set of storage systems that remains after application of the quorum protocol.

13 . The apparatus of claim 9 , wherein the set of storage systems synchronously replicating a dataset are included in a membership list of in-sync members of a pod that is respectively stored on each of the set of storage systems, and wherein the pod comprises a management entity representing the dataset, a set of managed objects, and a set of management operations.

14 . The apparatus of claim 9 , wherein the processing device is further configured to:

identify a set of storage systems that are synchronously replicating a dataset.

15 . The apparatus of claim 10 , wherein each storage system in a pod corresponds to a respective quantity of votes and the quorum protocol specifies that a majority of votes from a subset of the set of storage systems is required for the subset of the set of storage systems to detach a storage system that is not a member of the subset of the set of storage systems.

16 . The apparatus of claim 9 , wherein the processing device is further configured to:

receive one or more I/O operations from a host computer at one or more of the new set of storage systems.

17 . A non-transitory computer readable storage medium storing instructions that, when executed, cause a processing device to:

detect, by a storage system of a set of storage systems replicating a dataset, a change in membership to the set of storage systems, wherein the set of storage systems use a first storage system membership mechanism to determine membership in the set of storage systems; and

participate, by the storage system, in a stateful transition from the first storage system membership mechanism to a second storage system membership mechanism that is used to determine a new set of storage systems to replicate the dataset.

18 . The non-transitory computer readable storage medium of claim 17 , wherein the processing device is further configured to:

receive, by a first storage system of the set of storage systems, a request to detach a second storage system from the set of storage systems; and

in response to the request, determine, using a quorum protocol, whether a majority of votes exists within the set of storage systems to exclude the second storage system; and

detach the second storage system based on the determination.

19 . The non-transitory computer readable storage medium of claim 18 , wherein the processing device is further configured to:

use a preference model in combination with the quorum protocol, wherein the preference model specifies whether a particular storage system has votes to detach another storage system based on a determination of connectivity between the particular storage system and a larger storage system.

20 . The non-transitory computer readable storage medium of claim 18 , wherein the processing device is further configured to:

use a mediation model in combination with the quorum protocol, wherein the mediation model specifies whether to use a mediation service based on a number of storage systems within the set of storage systems that remains after application of the quorum protocol.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 5, 2024
From: BROOKS, CONNOR; GILL, THOMAS; GRUNWALD, DAVID; KARR, RONALD; KARUMBUNATHAN, ASWIN; NEELAKANTAM, NAVEEN; SHIVANI, ZOHEB; TRIVEDI, KUNAL
To: PURE STORAGE, INC.
Reel/Frame 068182/0575 →
Continuity (7)
Continuation 18320751 · May 19, 2023
Continuation 17825031 · May 26, 2022
Continuation 16815317 · Mar 11, 2020
Continuation 15835054 · Dec 7, 2017
Provisional Application 62518071 · Jun 12, 2017
Provisional Application 62470172 · Mar 10, 2017
Related Publication 20240394159A1 · Nov 28, 2024
References Cited (31)
US 5917998A · Cabrera et al. · 1999 [cited by applicant]
US 7571168B2 · Bahar et al. · 2009 [cited by applicant]
US 8112661B1 · La France et al. · 2012 [cited by applicant]
US 8156491B2 · Dake · 2012 [cited by applicant]
US 8706914B2 · Duchesneau · 2014 [cited by applicant]
US 8918478B2 · Ozzie et al. · 2014 [cited by applicant]
US 9069827B1 · Rath et al. · 2015 [cited by applicant]
US 9275063B1 · Natanzon · 2016 [cited by applicant]
US 9590839B2 · Curran et al. · 2017 [cited by applicant]
US 9886348B2 · Rath et al. · 2018 [cited by applicant]
US 9910742B1 · Faibish et al. · 2018 [cited by applicant]
US 10185495B2 · Katsuki · 2019 [cited by applicant]
US 11539793B1 · Karumbunathan et al. · 2022 [cited by applicant]
US 11789831B2 · Colgrove et al. · 2023 [cited by applicant]
US 20060080574A1 · Saito et al. · 2006 [cited by applicant]
US 20070022138A1 · Erasani et al. · 2007 [cited by applicant]
US 20070073855A1 · Joshi et al. · 2007 [cited by applicant]
US 20100106990A1 · Kalman · 2010 [cited by applicant]
US 20100325476A1 · Zhang et al. · 2010 [cited by applicant]
US 20110179231A1 · Roush · 2011 [cited by applicant]
US 20150100746A1 · Rychlik et al. · 2015 [cited by applicant]
US 20160142485A1 · Mitkar et al. · 2016 [cited by applicant]
US 20170155713A1 · Powell et al. · 2017 [cited by applicant]
US 20180074748A1 · Makin et al. · 2018 [cited by applicant]
US 20220156114A1 · Nagpal et al. · 2022 [cited by applicant]
WO WO0213033A1 · 2002 [cited by applicant]
WO WO2008103569A1 · 2008 [cited by applicant]
Frakes Dan, “Up close with Mountain Lion: Power Nap (Frakes, Dan, Working Mac—Up close with Mountain Lion: Power Nap, Macworld.com,” Aug. 1, 2012, pp. 1-6. [cited by applicant]
Kim J-K., et al., “Data Access Frequency Based Data Replication Method Using Erasure Codes in Cloud Storage System,” Journal of The Institute of Electronics and Information Engineers, Feb. 2014, vol. 51, No. 2, pp. 85-9… [cited by applicant]
Schmid P., “RAID Scaling Charts, Part 3: 4-128 kB Stripes Compared,” Tom's Hardware, Nov. 27, 2007, 24 Pages, XP055363126, Retrieved from URL: http://www.tomshardware.com/reviews/RAID-SCALING-CHARTS.1735-4.html. [cited by applicant]
Wong T.M., et al., “Verifiable Secret Redistribution for Archive Systems,” Proceedings on First International IEEE Security in Storage Workshop (SISW'02), IEEE Xplore, Dec. 2002, 12 pages, DOI: 10.1109/SISW.2002.1183515. [cited by applicant]