IP Library › Granted Patent US 11,687,423
Granted Patent B2
US 11,687,423 · App. 17/845,690 · Granted Jun 27, 2023

Prioritizing highly performant storage systems for servicing a synchronously replicated dataset

Inventors: Ronald Karr (Palo Alto, CA); John Colgrove (Los Altos, CA); Ganesh Ramanarayanan (Menlo Park, CA); David Grunwald (San Francisco, CA)
Assignee: Pure Storage, Inc.
G06F11/2076G06F3/061G06F3/0604G06F3/065G06F3/067G06F3/0619G06F3/0632G06F3/0659G06F3/0683G06F9/44505G06F11/0727G06F11/0751G06F11/1464G06F11/1471G06F11/2064G06F11/2082G06F12/0684G06F12/1072G06F16/178G06F16/182G06F16/1844G06F16/27G06F16/275H04L45/12G06F3/06G06F11/2053G06F2003/0697H04L45/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 11,687,423
App. No.
17/845,690
Granted
Jun 27, 2023
Kind
B2
Abstract

Prioritizing highly performant storage systems for servicing a synchronously replicated dataset: detecting a communication fault between two or more storage systems that are synchronously replicating a dataset; identifying a preferred storage system for winning mediation, including determining that the preferred storage system winning mediation would result in better performance than other storage systems winning mediation; and requesting, by the preferred storage system, mediation from a mediation target.

Claims (37)

1. A method comprising:

detecting a communication fault between two or more storage systems that are synchronously replicating a dataset;

identifying a preferred storage system for winning mediation, including determining that the preferred storage system winning mediation would result in better performance than other storage systems winning mediation; and

requesting, by the preferred storage system, mediation from a mediation target.

2. The method of claim 1 , wherein at least one of the other storage systems requests mediation from the mediation target only after a predetermined delay.

3. The method of claim 1 , wherein each storage system of the storage systems corresponds to zero or more votes within a quorum protocol that determines whether a first set of one or more storage systems may detach a second set of one or more storage systems.

4. The method of claim 3 , wherein a respective quantity of votes corresponding to a respective storage system is dependent upon storage system characteristics.

5. The method of claim 4 , wherein a larger number of votes are given to storage systems with performance characteristics above a predetermined threshold and a smaller number of votes are given to storage systems with performance characteristics below the predetermined threshold.

6. The method of claim 3 , further comprising:

determining, by the first set of one or more storage systems, that there is consistent communication among storage systems of the first set of one or more storage systems;

determining, by the first set of one or more storage systems, lack of communication with storage systems among the second set of one or more storage systems, wherein the first set of one or more storage systems is unable to form a quorum; and

determining, by the first set of one or more storage systems, that the second set of one or more storage systems is unable to form a quorum.

7. The method of claim 6 , further comprising:

determining that the first set of one or more storage systems is unable to form a quorum in dependence upon the first set of one or more storage systems including exactly half of the votes for the storage systems synchronously replicating the dataset.

8. The method of claim 6 , further comprising:

determining that the second set of one or more storage systems is unable to form a quorum in dependence upon the second set of one or more storage systems including half of the votes for the storage systems synchronously replicating the dataset.

9. The method of claim 6 , wherein determining whether to request mediation from the mediation target is dependent upon the first set of one or more storage systems being unable to obtain a quorum and no other set of the one or more storage systems being able to obtain a quorum.

10. An apparatus comprising a computer processor, a computer memory operatively coupled to the computer processor, the computer memory having disposed within it computer program instructions that, when executed by the computer processor, cause the apparatus to carry out steps of:

detecting a communication fault between two or more storage systems that are synchronously replicating a dataset;

identifying a preferred storage system for winning mediation, including determining that the preferred storage system winning mediation would result in better performance than other storage systems winning mediation; and

requesting, by the preferred storage system, mediation from a mediation target.

11. The apparatus of claim 10 wherein at least one of the other storage systems requests mediation from the mediation target only after a predetermined delay.

12. The apparatus of claim 10 wherein each storage system of the storage systems corresponds to zero or more votes within a quorum protocol that determines whether a first set of one or more storage systems may detach a second set of one or more storage systems.

13. The apparatus of claim 12 wherein a respective quantity of votes corresponding to a respective storage system is dependent upon storage system characteristics.

14. The apparatus of claim 13 wherein a larger number of votes are given to storage systems with performance characteristics above a predetermined threshold and a smaller number of votes are given to storage systems with performance characteristics below the predetermined threshold.

15. The apparatus of claim 12 , further comprising computer program instructions that, when executed by the computer processor, cause the apparatus to carry out the steps of:

determining, by the first set of one or more storage systems, that there is consistent communication among storage systems of the first set of one or more storage systems;

determining, by the first set of one or more storage systems, lack of communication with storage systems among the second set of one or more storage systems, wherein the first set of one or more storage systems is unable to form a quorum; and

determining, by the first set of one or more storage systems, that the second set of one or more storage systems is unable to form a quorum.

16. The apparatus of claim 15 , further comprising computer program instructions that, when executed by the computer processor, cause the apparatus to carry out the steps of:

determining that the first set of one or more storage systems is unable to form a quorum in dependence upon the first set of one or more storage systems including exactly half of the votes for the storage systems synchronously replicating the dataset.

17. The apparatus of claim 15 , further comprising computer program instructions that, when executed by the computer processor, cause the apparatus to carry out the steps of:

determining that the second set of one or more storage systems is unable to form a quorum in dependence upon the second set of one or more storage systems including half of the votes for the storage systems synchronously replicating the dataset.

18. The apparatus of claim 15 , wherein determining whether to request mediation from the mediation target is dependent upon the first set of one or more storage systems being unable to obtain a quorum and no other set of the one or more storage systems being able to obtain a quorum.

19. A storage system that includes a plurality of storage devices, the storage system including computer program instructions that, when executed, cause the storage system to carry out steps of: detecting a communication fault between storage systems that are synchronously replicating a dataset; determining whether the storage system is a preferred storage system for winning mediation, including determining that the storage system winning mediation would result in better performance than other storage systems winning mediation; and

responsive to determining that the storage system is a preferred storage system for winning mediation, requesting mediation from a mediation target.

20. The storage system of claim 19 further comprising, responsive to determining that the storage system is not a preferred storage system for winning mediation, requesting mediation from a mediation target, requesting mediation from the mediation target only after a predetermined delay.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 21, 2022
From: COLGROVE, JOHN; GRUNWALD, DAVID; KARR, RONALD; RAMANARAYANAN, GANESH
To: PURE STORAGE, INC.
Reel/Frame 060266/0804 →
Continuity (5)
Continuation 16778183 · Jan 31, 2020
Continuation 15800760 · Nov 1, 2017
Provisional Application 62518071 · Jun 12, 2017
Provisional Application 62470172 · Mar 10, 2017
Related Publication 20220318083A1 · Oct 6, 2022