IP Library › Granted Patent US 10,509,567
Granted Patent B2
US 10,509,567 · App. 15/889,907 · Granted Dec 17, 2019

System and method for migrating storage while in use

Inventors: Felipe Franciosi (Cambridge, GB); Peter Turschmid (Seattle, WA); Malcolm Crossley (Cambridge, GB)
Assignee: NUTANIX, INC.
G06F3/0607G06F3/065G06F3/0647G06F3/0689G06F9/45558G06F12/1009G06F2009/45583G06F2212/657
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,509,567
App. No.
15/889,907
Filed
Feb 6, 2018
Granted
Dec 17, 2019
Kind
B2
Examiner
LI, HEWY H
Art Unit
2136
USPC
711/114
Abstract

A system and method include receiving a request to transfer data from a first storage space to a second storage space. The system and method also include creating an access table and a location table. The access table includes one or more access values indicative of data being accessed. The location table includes one or more location values indicative of a location of the data in the first storage space or the second storage space. The system and method also include transferring data between the first storage space and the second storage space using the access table and the location table. The data is accessible on both the first storage device the second storage device based on the one or more location values of the location table and access to the data is based on the one or more access values of the access table.

Claims (52)

1. A method comprising:

receiving, by a storage space transfer system, a request to transfer first data from a first storage space to a second storage space;

receiving, by the storage space transfer system, a write request during the transfer of the first data to write second data to a location;

determining, by the storage space transfer system, from an access data structure that the location is not in use;

determining, by the storage space transfer system, from a location data structure whether the location is in the first storage space or the second storage space; and

writing, by the storage space transfer system, the second data in the first storage space if the location is in the first storage space or in the second storage space if the location is in the second storage space.

2. The method of claim 1 , wherein the access data structure is a bit map.

3. The method of claim 1 , wherein the location data structure is a bit map.

4. The method of claim 1 further comprising:

determining, by the storage space transfer system and in response to receiving a read request to read third data, whether the third data is located in the first storage space or the second storage space; and

reading, by the storage space transfer system, the third data from the first storage space if the third data is located in the first storage space or from the second storage space if the third data is located in the second storage space.

5. The method of claim 1 , further comprising:

queuing, by the storage space transfer system, the write request until the location is not in use.

6. The method of claim 1 , wherein the storage space transfer system is part of a hypervisor.

7. The method of claim 1 , wherein the storage space transfer system is part of a virtual machine.

8. The method of claim 1 , wherein at least one of the first storage space or the second storage space is an allocated storage space for a virtual machine.

9. The method of claim 1 , wherein one of the first storage space or the second storage space is a shared storage space.

10. A system comprising:

a storage space transfer system to:

receive a request to transfer first data from a first storage space to a second storage space;

receive a write request during the transfer of the first data to write second data to a location:

determine from an access data structure that the location is not in use;

determine from a location data structure whether the location is in the first storage space or the second storage space; and

write the second data in the first storage space if the location is in the first storage space or in the second storage space if the location is in the second storage space.

11. The system of claim 10 , wherein the storage space transfer system is part of a controller/service virtual machine or a hypervisor or a virtual machine.

12. The system of claim 10 , wherein at least one of the first storage space or the second storage space is an allocated storage space for a virtual machine.

13. The system of claim 10 , wherein the first storage space is a local virtual disk and the second storage space is a shared storage space that is shared by multiple host machines.

14. The system of claim 10 , wherein at least one of the access data structure or the location data structure is a bit map.

15. A non-transitory computer readable memory storing computer program code to cause a computer to perform a method comprising:

receiving a request to transfer first data from a first storage space to a second storage space;

receiving a write request during the transfer of the first data to write second data to a location;

determining from an access data structure that the location is not in use;

determining from a location data structure whether the location is in the first storage space or the second storage space; and

writing the second data in the first storage space if the location is in the first storage space or in the second storage space if the location is in the second storage space.

16. The non-transitory computer readable memory of claim 15 , further comprising program code to create the access data structure on the first storage space before the transfer of the first data.

17. The non-transitory computer readable memory of claim 15 , further comprising program code to create the location data structure on the first storage space before the transfer of the first data.

18. The non-transitory computer readable memory of claim 15 , further comprising program code to:

set an access value corresponding to the location to a first value in the access data structure before the writing of the second data; and

set the access value corresponding to the location to a second value after the writing of the second data.

19. The non-transitory computer readable memory of claim 15 , further comprising program code to:

queue the write request until the first data is no longer in use.

20. The non-transitory computer readable memory of claim 15 , further comprising program code to:

determine, in response to a read request to read third data, whether the third data is located in the first storage space or the second storage space; and

read the third data from the first storage space if the third data is located in the first storage space or from the second storage space if the third data is located in the second storage space.

21. The system of claim 10 , wherein the storage space transfer system further:

determines, in response to a read request to read third data, whether the third data is located in the first storage space or the second storage space; and

reads the third data from the first storage space if the third data is located in the first storage space or from the second storage space if the third data is located in the second storage space.

22. The method of claim 1 further comprising:

changing, by the storage space transfer system, an access value in the access data structure indicating that the location is in use before writing the second data; and

changing, by the storage space transfer system, the access value after writing the second data indicating that the location is not in use.

23. The method of claim 1 , further comprising:

determining, by the storage space transfer system, the location as being in the first storage space or the second storage space based upon a location value corresponding to the location in the location data structure.

Assignments (2)
SECURITY INTEREST Recorded Feb 13, 2025
From: NUTANIX, INC.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 070206/0463 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 9, 2018
From: FRANCIOSI, FELIPE; TURSCHMID, PETER; CROSSLEY, MALCOLM
To: NUTANIX, INC.
Reel/Frame 044878/0695 →
Continuity (1)
Related Publication 20190243550A1 · Aug 8, 2019