IP Library Granted Patent US 11,941,279
Granted Patent B2
US 11,941,279 · App. 17/496,587 · Granted Mar 26, 2024

Data path virtualization

Inventors: Krishna Kant (Milpitas, CA); Brent Lim Tze Hao (San Jose, CA); Robert Lee (San Carlos, CA); Ronald Karr (Palo Alto, CA)
Assignee: PURE STORAGE, INC.
G06F3/065G06F3/0617G06F3/067G06F16/275
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,941,279
App. No.
17/496,587
Filed
Oct 7, 2021
Granted
Mar 26, 2024
Kind
B2
Art Unit
2137
USPC
711/154
Abstract

In a particular embodiment, a virtual namespace identifier is mapped to one or more volumes stored among a pool of storage resources, wherein at least a first storage system and a second storage system are utilized to provide the storage resources. The virtual namespace identifier is migrated among the pool of storage resources to virtualize a data path for the one or more volumes.

Claims (47)

1. A method comprising:

mapping a first virtual namespace identifier to one or more volumes stored among a pool of storage resources, wherein a plurality of storage systems are utilized to provide the storage resources; and

virtualizing a data path for the one or more volumes by directing the plurality of storage systems to advertise one or more volumes using the first virtual namespace identifier.

2. The method of claim 1 , wherein the first virtual namespace identifier is mapped to a placement group that includes the one or more volumes, and wherein the one or more volumes in the placement group migrate between storage systems together.

3. The method of claim 1 further comprising:

assigning the first virtual namespace identifier to a first storage system; and

wherein migrating the first virtual namespace identifier among the plurality of storage systems to virtualize a data path for the one or more volumes includes reassigning, in dependence upon a data path event, the first virtual namespace identifier to a second storage system.

4. The method of claim 3 , wherein a state change to the data path is related to migrating the one or more volumes from the first storage system to the second storage system.

5. The method of claim 3 , wherein assigning the first virtual namespace identifier to the first storage system includes:

in response to a discovery request from a host, providing to the host a discovery response that includes the first virtual namespace identifier and one or more first network addresses; and

in response to a first login request from the host, providing to the host a first redirection message that identifies one or more second network addresses, wherein the one or more second network addresses are associated with the first storage system; and

wherein reassigning, in dependence upon a data path event, the first virtual namespace identifier to a second storage system includes:

in response to a second login request from the host, providing to the host a second redirection message identifying one or more third network addresses, wherein the one or more third network addresses are associated with a second storage system.

6. The method of claim 5 , wherein a connectivity medium for the data path is internet small computer system interface (iSCSI); and wherein the virtual namespace identifier is a virtual iSCSI qualified name (IQN).

7. The method of claim 5 , wherein a connectivity medium for the data path is non-volatile memory-over-fabrics (NVMe-oF); and wherein the virtual namespace identifier is an NVMe-oF qualified name (NQN).

8. The method of claim 1 , wherein a connectivity medium for the data path is Fibre Channel; and wherein the virtual namespace identifier is a worldwide name (WWN).

9. The method of claim 3 further comprising:

mapping a virtual second namespace identifier to the one or more volumes;

assigning the second virtual namespace identifier to the first storage system; and

directing, utilizing an asymmetric access protocol, host access for the one or more volumes to a particular storage system.

10. The method of claim 1 , wherein the first virtual namespace identifier is mapped to a placement group that includes the one or more volumes, wherein the one or more volumes in the placement group are constrained to a set of storage systems.

11. The method of claim 10 further comprising:

mapping one or more additional virtual namespace identifiers to the placement group;

assigning the first virtual namespace identifier and each of the one or more additional virtual namespace identifiers to a respective storage system in the set of storage systems associated with the placement group; and

directing, utilizing an asymmetric access protocol, host access for a particular volume of the placement group to a particular storage system that hosts the particular volume of the placement group.

12. The method of claim 11 further comprising:

migrating a first volume from a first storage system assigned with the first virtual namespace identifier to a third storage system assigned with a third virtual namespace identifier; wherein the first storage system and the third storage system belong to the set of storage systems associated with the placement group; and wherein an asymmetric access state for the first volume that is reported for the third virtual namespace identifier is updated to indicate a preferred target, and wherein an asymmetric access state for the first volume that is reported for the first virtual namespace identifier is updated to indicate a non-preferred target.

13. The method of claim 11 further comprising:

coordinating consistent snapshots for the one or more volumes in the placement group across the set of storage systems associated with the placement group.

14. The method of claim 11 , wherein a first volume among the one or more volumes is synchronously replicated across a first storage system and a second storage system in the set of placement group storage systems; and wherein the first storage system and the second storage system share an asymmetric access protocol state for the first volume.

15. The method of claim 1 , wherein migrating the first virtual namespace identifier among the plurality of storage systems to virtualize a data path for the one or more volumes includes:

in response to identifying a data path event, directing a first storage system to deregister the first virtual namespace identifier and directing a second storage system to register the first virtual namespace identifier.

16. The method of claim 1 further comprising:

presenting, to a host, the pool of storage resources as a single storage system.

17. 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:

map a first virtual namespace identifier to one or more volumes stored among a pool of storage resources, wherein a plurality of storage systems are utilized to provide the storage resources; and

virtualizing a data path for the one or more volumes by directing the plurality of storage systems to advertise one or more volumes using the first virtual namespace identifier.

18. The apparatus of claim 17 further comprising computer executable instructions that cause the apparatus to:

assign the first virtual namespace identifier to a first storage system; and

wherein migrating the first virtual namespace identifier among the plurality of storage systems to virtualize a data path for the one or more volumes includes reassigning, in dependence upon a data path event, the first virtual namespace identifier to a second storage system.

19. The apparatus of claim 17 further comprising computer executable instruction that cause the apparatus to:

map one or more additional virtual namespace identifiers to a placement group;

assign the first virtual namespace identifier and each of the one or more additional virtual namespace identifiers to a respective storage system in a set of storage systems associated with the placement group; and

direct, utilizing an asymmetric access protocol, host access for the one or more volumes to a particular storage system.

20. A computer program product disposed upon a non-transitory computer readable medium, the computer program product comprising computer program instructions that, when executed, cause a computer to:

map a first virtual namespace identifier to one or more volumes stored among a pool of storage resources, wherein a plurality of storage systems are utilized to provide the storage resources; and

virtualize a data path for the one or more volumes by directing the plurality of storage systems to advertise one or more volumes using the first virtual namespace identifier.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 7, 2021
From: KANT, KRISHNA; LIM TZE HAO, BRENT; LEE, ROBERT; KARR, RONALD
To: PURE STORAGE, INC.
Reel/Frame 057734/0914 →
Continuity (10)
Continuation In Part 17157006 · Jan 25, 2021
Continuation In Part 16661724 · Oct 23, 2019
Continuation 15842850 · Dec 14, 2017
Provisional Application 63227480 · Jul 30, 2021
Provisional Application 63089800 · Oct 9, 2020
Provisional Application 62598989 · Dec 14, 2017
Provisional Application 62518071 · Jun 12, 2017
Provisional Application 62502060 · May 5, 2017
Provisional Application 62470172 · Mar 10, 2017
Related Publication 20220027051A1 · Jan 27, 2022
Cited By (1)
US 12,547,322