IP Library Granted Patent US 12,411,629
Granted Patent B2
US 12,411,629 · App. 18/515,511 · Granted Sep 9, 2025

Virtual volume-based replication

Inventors: Daniel Doucette (Port Moody, CA); Cody Hosterman (Mountain View, CA); John Colgrove (Los Altos, CA); Neale Genereux (Vancouver, CA)
Assignee: PURE STORAGE, INC.
G06F3/065G06F3/0604G06F3/067
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,411,629
App. No.
18/515,511
Filed
Nov 21, 2023
Granted
Sep 9, 2025
Kind
B2
Art Unit
2137
USPC
711/154
Abstract

Synchronous replication between storage systems with virtualized storage includes: assigning a virtual volume datastore to a pod, the pod including a management object, the virtual volume datastore including virtual machine data; stretching the pod from a first storage system to a second storage system, including copying the virtual machine data from the first storage system to the second storage system; and synchronously replicating access operations of the virtual machine data of the pod between the first and second storage systems.

Claims (38)

1. A method comprising:

assigning, to a pod that includes one or more management objects, a virtual volume datastore that includes virtual machine data;

replicating I/O operations from a first storage system to a second storage system to which the virtual machine data is copied, wherein a path to a copy of the virtual machine data on the second storage system is created for a virtual machine coupled to the first storage system, and wherein acknowledgement for a request to write data to the virtual volume datastore is sent after copies of the virtual machine data on the first storage system and the second storage system are updated based on the request.

2. The method of claim 1 further comprising stretching the pod by stretching a protocol endpoint binding the virtual volume datastore to a host object across the first and second storage systems.

3. The method of claim 2 wherein stretching the protocol endpoint further comprises:

receiving, by a component of an operating environment of the first storage system from a virtual volume API (‘Application Programming Interface’) provider of the operating environment, a request to establish a protocol endpoint on the second storage system; and

forwarding the request to an operating environment of the second storage system.

4. The method of claim 1 wherein stretching the pod further comprises creating, for a host object coupled to the first storage system, a path to the copy of the virtual machine data on the second storage system.

5. The method of claim 4 wherein the host object coupled to the first storage system is configured to access the virtual volume data from either the first or second storage system.

6. The method of claim 1 further comprising:

receiving, by a virtual volume API (‘Application Programming Interface’) provider of an operating environment the first storage system, a request to establish a synchronous replication policy for the virtual volume datastore.

7. The method of claim 2 further comprising:

provisioning a virtual machine from the virtual volume datastore of the stretched pod.

8. The method of claim 2 further comprising:

migrating an existing virtual machine into the virtual volume datastore of the pod.

9. The method of claim 2 further comprising:

migrating a virtual machine out of the virtual volume datastore of the pod.

10. The method of claim 2 further comprising:

creating a snapshot of a virtual machine of the virtual volume datastore of the pod.

11. A storage system 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 storage system to carry out the steps of:

assigning, to a pod that includes one or more management objects, a virtual volume datastore that includes virtual machine data;

replicating I/O operations from a first storage system to a second storage system to which the virtual machine data is copied, wherein a path to a copy of the virtual machine data on the second storage system is created for a virtual machine coupled to the first storage system, and wherein acknowledgement for a request to write data to the virtual volume datastore is sent after copies of the virtual machine data on the first storage system and the second storage system are updated based on the request.

12. The storage system of claim 11 further comprising stretching a pod by stretching a protocol endpoint binding a virtual volume datastore to a host object across the first and second storage systems.

13. The storage system of claim 12 wherein stretching the protocol endpoint further comprises:

receiving, by a component of an operating environment of the first storage system from a virtual volume API (‘Application Programming Interface’) provider of the operating environment, a request to establish a protocol endpoint on the second storage system; and

forwarding the request to an operating environment of the second storage system.

14. The storage system of claim 11 wherein stretching the pod further comprises creating, for a host object coupled to the first storage system, a path to the copy of the virtual machine data on the second storage system.

15. The storage system of claim 14 wherein the host object coupled to the first storage system is configured to access the virtual volume data from either the first or second storage system.

16. The storage system of claim 12 further comprising computer program instructions that, when executed cause the storage system to carry out the steps of:

receiving, by a virtual volume API (‘Application Programming Interface’) provider of an operating environment the first storage system, a request to establish a synchronous replication policy for the virtual volume datastore.

17. The storage system of claim 12 further comprising computer program instructions that, when executed cause the storage system to carry out the steps of:

provisioning a virtual machine from the virtual volume datastore of the stretched pod.

18. The storage system of claim 12 further comprising computer program instructions that, when executed cause the storage system to carry out the steps of:

migrating an existing virtual machine into the virtual volume datastore of the pod.

19. The storage system of claim 12 further comprising computer program instructions that, when executed cause the storage system to carry out the steps of:

migrating a virtual machine out of the virtual volume datastore of the pod.

20. The storage system of claim 12 further comprising computer program instructions that, when executed cause the storage system to carry out the steps of:

creating a snapshot of a virtual machine of the virtual volume datastore of the pod.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 21, 2023
From: DOUCETTE, DANIEL; HOSTERMAN, CODY; COLGROVE, JOHN; GENEREUX, NEALE
To: PURE STORAGE, INC.
Reel/Frame 065632/0888 →
Continuity (10)
Continuation 17508050 · Oct 22, 2021
Continuation 16258903 · Jan 28, 2019
Continuation In Part 16224605 · Dec 18, 2018
Continuation In Part 15842850 · Dec 14, 2017
Provisional Application 62607281 · Dec 18, 2017
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 20240126471A1 · Apr 18, 2024
References Cited (32)
US 7975115B2 · Wayda et al. · 2011 [cited by applicant]
US 8504797B2 · Mimatsu · 2013 [cited by applicant]
US 8822155B2 · Sukumar et al. · 2014 [cited by applicant]
US 9280678B2 · Redberg · 2016 [cited by applicant]
US 9395922B2 · Nishikido et al. · 2016 [cited by applicant]
US 10324639B2 · Seo · 2019 [cited by applicant]
US 10567406B2 · Astigarraga et al. · 2020 [cited by applicant]
US 10846137B2 · Vallala et al. · 2020 [cited by applicant]
US 10877683B2 · Wu et al. · 2020 [cited by applicant]
US 11076509B2 · Alissa et al. · 2021 [cited by applicant]
US 11106810B2 · Natanzon et al. · 2021 [cited by applicant]
US 11194707B2 · Stalzer · 2021 [cited by applicant]
US 20060031594A1 · Kodama · 2006 [cited by examiner]
US 20080256141A1 · Wayda et al. · 2008 [cited by applicant]
US 20100306500A1 · Mimatsu · 2010 [cited by applicant]
US 20110035540A1 · Fitzgerald et al. · 2011 [cited by applicant]
US 20140220561A1 · Sukumar et al. · 2014 [cited by applicant]
US 20150154418A1 · Redberg · 2015 [cited by applicant]
US 20160026397A1 · Nishikido et al. · 2016 [cited by applicant]
US 20160179437A1 · Piduri · 2016 [cited by examiner]
US 20160182542A1 · Staniford · 2016 [cited by applicant]
US 20160248631A1 · Duchesneau · 2016 [cited by applicant]
US 20170262202A1 · Seo · 2017 [cited by applicant]
US 20180054454A1 · Astigarraga et al. · 2018 [cited by applicant]
US 20180225052A1 · Rogers · 2018 [cited by examiner]
US 20190220315A1 · Vallala et al. · 2019 [cited by applicant]
US 20200034560A1 · Natanzon et al. · 2020 [cited by applicant]
US 20200326871A1 · Wu et al. · 2020 [cited by applicant]
US 20210360833A1 · Alissa et al. · 2021 [cited by applicant]
Hwang K., et al., “RAID-x: A New Distributed Disk Array for I/O-Centric Cluster Computing,” Proceedings of the Ninth International Symposium on High-performance Distributed Computing, IEEE Computer Society, Los Alamitos… [cited by applicant]
Stalzer M.A., “FlashBlades: System Architecture and Applications,” Proceedings of the 2nd Workshop on Architectures and Systems for Big Data, Association for Computing Machinery, New York, NY, 2012, pp. 10-14. [cited by applicant]
Storer M.W., et al, “Pergamum: Replacing Tape with Energy Efficient, Reliable, Disk-Based Archival Storage,” 6th USENIX Conference on File and Storage Technologies (FAST'08), San Jose, CA, USA, Feb. 26-29, 2008, 16 Page… [cited by applicant]