IP Library › Granted Patent US 10,680,932
Granted Patent B1
US 10,680,932 · App. 15/683,823 · Granted Jun 9, 2020

Managing connectivity to synchronously replicated storage systems

Inventors: John Colgrove (Los Altos, CA); Roland Dreier (Mountain View, CA); David Grunwald (San Francisco, CA); Steven Hodgson (Sunnyvale, CA); Ronald Karr (Palo Alto, CA); Daquan Zuo (Mountain View, CA)
Assignee: Pure Storage, Inc.
H04L45/12H04L67/1097H04L45/38H04L47/125
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,680,932
App. No.
15/683,823
Granted
Jun 9, 2020
Kind
B1
Abstract

Managing connectivity to synchronously replicated storage systems, including: identifying a plurality of storage systems across which a dataset is synchronously replicated; identifying a host that can issue I/O operations directed to the dataset; identifying a plurality of data communications paths between the host and the plurality of storage systems across which a dataset is synchronously replicated; identifying, from amongst the plurality of data communications paths between the host and the plurality of storage systems across which a dataset is synchronously replicated, one or more optimal paths; and issuing, to the host, an identification of the one or more optimal paths.

Claims (30)

1. A method of managing connectivity to synchronously replicated storage systems, the method comprising:

identifying a plurality of storage systems across which a dataset is synchronously replicated;

identifying a host to issue I/O operations directed to the dataset;

identifying a plurality of data communications paths between the host and the plurality of storage systems across which the dataset is synchronously replicated;

identifying, from amongst the plurality of data communications paths between the host and the plurality of storage systems and based on at least one performance metric of each of the plurality of data communications paths, one or more paths to a particular storage system to receive the I/O operations to synchronously replicate among the other storage systems of the plurality of storage systems; and

indicating, to the host, an identification of the one or more paths to the particular storage system among the plurality of storage systems.

2. The method of claim 1 further comprising:

detecting that the dataset is synchronously replicated across an updated set of storage systems;

identifying a plurality of data communications paths between the host and the updated set of storage systems;

identifying, from amongst the plurality of data communications paths between the host and the updated set of storage systems, an updated set of paths; and

indicating, to the host, an identification of the updated set of paths.

3. The method of claim 2 wherein the detecting that the dataset is synchronously replicated across the updated set of storage systems further comprises detecting that a storage system has detached from an original set of storage systems across which the dataset was being synchronously replicated.

4. The method of claim 2 wherein the detecting that the dataset is synchronously replicated across the updated set of storage systems further comprises detecting that a storage system that was not included in an original set of storage systems across which the dataset was being synchronously replicated has attached to a set of storage systems across which the dataset is synchronously replicated.

5. The method of claim 4 further comprising monitoring host accesses to the storage system that was not included in the original set of storage systems across which the dataset was being synchronously replicated.

6. The method of claim 2 wherein the indicating, to the host, the identification of the updated set of paths further comprises raising a Small Computer System Interface (‘SCSI’) unit attention.

7. The method of claim 1 further comprising detecting a change to at least one or the plurality of data communications paths between the host and the plurality of storage systems across which the dataset is synchronously replicated.

8. The method of claim 1 further comprising detecting a change to the host.

9. The method of claim 1 wherein the indicating, to the host, the identification of the one or more paths further comprises indicating, to the host, one or more Active/Optimized paths via Small Computer System Interface (‘SCSI’) Asymmetric Logical Unit Access (‘ALUA’) mechanisms.

10. A storage system, the storage system including a computer processor and a computer memory, the computer memory including computer program instructions that, when executed by the computer processor, cause the storage system to carry out steps of:

identifying a host to issue I/O operations directed to a dataset that is synchronously replicated across a plurality of storage systems;

identifying, from amongst a plurality of data communications paths between the host and the plurality of storage systems across which the dataset is synchronously replicated and based on a performance metric of each of the plurality of data communications paths, a path to a particular storage system to receive the I/O operations to synchronously replicate among the other storage systems of the plurality of storage systems; and

issuing, to the host, an identification of the path to the particular storage system to receive the I/O operations.

11. The storage system of claim 10 further comprising computer program instructions that, when executed by the computer processor, cause the storage system to carry out steps of:

detecting that the dataset is synchronously replicated across an updated set of storage systems;

identifying, from amongst a plurality of data communications paths between the host and the updated set of storage systems, an updated path; and

issuing, to the host, an identification of the updated path.

12. The storage system of claim 11 wherein detecting that the dataset is synchronously replicated across the updated set of storage systems further comprises detecting that a storage system has detached from an original set of storage systems across which the dataset was being synchronously replicated.

13. The storage system of claim 11 wherein detecting that the dataset is synchronously replicated across the updated set of storage systems further comprises detecting that a storage system that was not included in an original set of storage systems across which the dataset was being synchronously replicated has attached to a set of storage systems across which the dataset is synchronously replicated.

14. The storage system of claim 10 further comprising computer program instructions that, when executed by the computer processor, cause the storage system to carry out a step of detecting a change to at least one or the plurality of data communications paths between the host and the plurality of storage systems across which the dataset is synchronously replicated.

15. The storage system of claim 10 further comprising computer program instructions that, when executed by the computer processor, cause the storage system to carry out a step of detecting a change to the host.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 23, 2017
From: COLGROVE, JOHN; DREIER, ROLAND; GRUNWALD, DAVID; HODGSON, STEVEN; KARR, RONALD; ZUO, DAQUAN
To: PURE STORAGE, INC.
Reel/Frame 043363/0238 →
Continuity (2)
Provisional Application 62470172 · Mar 10, 2017
Provisional Application 62518071 · Jun 12, 2017
Cited By (3)
US 12,493,580 US 12,693,790 US 12,724,554