IP Library › Granted Patent US 12,254,335
Granted Patent B2
US 12,254,335 · App. 17/006,773 · Granted Mar 18, 2025

Storage device-assisted live virtual machine migration

Inventors: Ramdas P. Kachare (Pleasanton, CA); Oscar P. Pinto (San Jose, CA); Yang seok Ki (Palo Alto, CA)
Assignee: SAMSUNG ELECTRONICS CO., LTD.
G06F9/45558G06F3/0607G06F3/0634G06F3/0647G06F3/0658G06F3/0664G06F12/0862G06F2009/4557G06F2009/45579G06F2009/45591
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,254,335
App. No.
17/006,773
Granted
Mar 18, 2025
Kind
B2
Abstract

A storage device is disclosed. The storage device may include at least one controller for a virtual machine (VM) that is on a source host. Storage in the storage device may store data for the VM. A second storage may store a storage state for the VM. A storage device controller may process at least one read request received from the controller for the VM using the first storage and at least one write request received from the controller for the VM using the first storage. A VM migration state monitor and capture module may assist in the migration of the VM from the source host to a destination host.

Claims (55)

1. A storage system, comprising:

a first storage device, including:

a first circuit for a first virtual machine (VM), the first VM on a source host, the source host including a processor, a memory, and a memory controller to manage the memory;

a second circuit for a second VM, the second VM on the source host;

a first storage for a storage data for the first VM;

a second storage for storage device configuration settings of the first storage device for the first VM, the storage device configuration settings of the first storage device including a first information about a first configuration of a transport protocol used by the first storage device to communicate with the first VM;

a storage device controller to process a request received from the first VM via the first circuit, the request associated with the first storage; and

a VM migration state monitor and capture circuit to migrate the storage data for the first VM and the storage device configuration settings of the first storage device for the first VM including the first information from the first storage device to a second storage device; and

the second storage device, including circuitry to configure the second storage device based at least in part on the first information.

2. The storage system according to claim 1 , wherein the storage device configuration settings of the first storage device further includes a second information about an input/output (I/O) activity of the first storage device associated with the first VM, and a third information about a flash translation layer of the first storage device associated with the first VM.

3. The storage system according to claim 1 , wherein the VM migration state monitor and capture circuit tracks first changes in the storage device configuration settings of the first storage device for the first VM and tracks second changes in the storage data for the first VM in the first storage device and sends the first changes in the storage device configuration settings of the first storage device for the first VM and the second changes in the storage data to a hypervisor on the source host or the second storage device.

4. The storage system according to claim 3 , wherein the VM migration state monitor and capture circuit sends the storage device configuration settings and the storage data for the first VM to the hypervisor on the source host or the second storage device.

5. The storage system according to claim 3 , wherein the VM migration state monitor and capture circuit sets a flag based at least in part on an amount of data written by the first VM to the first storage device exceeding a threshold.

6. The storage system according to claim 3 , wherein the VM migration state monitor and capture circuit generates a report including the storage device configuration settings.

7. The storage system according to claim 1 , further comprising a cache and a prefetch policy, wherein the prefetch policy transfers the storage data for the first VM from the first storage to the cache to expedite sending the storage data for the first VM from the first storage device to a hypervisor on the source host or the second storage device.

8. The storage system according to claim 1 , wherein the first circuit exposes one of a physical function (PF) or a virtual function (VF) exposed for the first storage device.

9. The storage system according to claim 1 , wherein the storage device controller includes the first circuit and the second circuit.

10. A method, comprising:

receiving, at a first storage device on a source host, a command to migrate a storage data for a virtual machine (VM) and a storage device configuration settings of the first storage device for the VM from the first storage device to a second storage device, the storage device configuration settings of the first storage device including a first information about a first configuration of a transport protocol used by the first storage device to communicate with the VM;

tracking first changes in the storage device configuration settings for the VM in the first storage device;

tracking second changes in the storage data for the VM in the first storage device;

sending the first changes in the storage device configuration settings including the changes in the first information for the VM from the first storage device to the second storage device;

sending the second changes in the storage data for the VM from the first storage device to the second storage device, and

configuring the second storage device based at least in part on the changes in the first information.

11. The method according to claim 10 , wherein:

sending the first changes in the storage device configuration settings from the first storage device includes sending the first changes in the storage device configuration settings from the first storage device to a hypervisor on the source host or the second storage device; and

sending the second changes in the storage data for the VM from the first storage device includes sending the second changes in the storage data for the VM from the first storage device to the hypervisor on the source host or the second storage device.

12. The method according to claim 10 , further comprising:

sending the storage device configuration settings for the VM from the first storage device to a hypervisor on the source host or the second storage device; and

sending the storage data for the VM from the first storage device to the hypervisor on the source host or the second storage device.

13. The method according to claim 12 , wherein:

the method further comprises receiving, at the first storage device, a request for the storage device configuration settings for the VM; and

sending the storage device configuration settings for the VM from the first storage device includes sending the storage device configuration settings for the VM from the first storage device responsive to the request for the storage device configuration settings for the VM.

14. The method according to claim 12 , further comprising:

tracking an amount of data written by the VM to the first storage device; and

based at least in part on the amount of data written by the VM to the first storage device exceeding a threshold, setting a flag in the first storage device,

wherein the source host may use the flag to select between transferring all storage data for the VM from the first storage device or a subset of the storage data for the VM from the first storage device.

15. The method according to claim 12 , wherein sending the storage device configuration settings for the VM from the first storage device includes:

generating a report including the storage device configuration settings for the VM; and

storing the report on the first storage device,

wherein the hypervisor on the source host may read the report from the first storage device.

16. The method according to claim 10 , wherein the storage device configuration settings of the first storage device further includes a second information about an input/output (I/O) activity of the first storage device associated with the VM, and a third information about a flash translation layer of the first storage device associated with the VM.

17. The method according to claim 10 , further comprising adjusting a cache policy or a prefetch policy to assist in the migration of the VM from the source host to a destination host.

18. A method, comprising:

receiving, at a first storage device, a command to migrate a storage data for a virtual machine (VM) and storage device configuration settings of a second storage device for the VM from the second storage device to the first storage device, the storage device configuration settings of the second storage device including a first information about a first configuration of a transport protocol used by the second storage device to communicate with the VM;

configuring the first storage device based at least in part on the first information;

receiving, from the second storage device at the first storage device, changes in the storage device configuration settings of the second storage device for the VM including changes in the first information;

reconfiguring the first storage device consistent with the changes in the storage device configuration settings of the second storage device for the VM;

receiving, from the second storage device at the first storage device, changes in the storage data for the VM; and

updating the storage data for the VM on the first storage device consistent with the changes in the storage data for the VM.

19. The method according to claim 18 , further comprising:

receiving, at the first storage device, the storage device configuration settings for the VM;

receiving, at the first storage device, the storage data for the VM; and

storing the storage data for the VM on the first storage device.

20. The method according to claim 18 , wherein the storage device configuration settings of the second storage device further includes a second information about an input/output (I/O) activity of the second storage device associated with the VM, and a third information about a flash translation layer of the second storage device associated with the VM.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 30, 2023
From: KACHARE, RAMDAS P.; PINTO, OSCAR P.; KI, YANG SEOK
To: SAMSUNG ELECTRONICS CO., LTD.
Reel/Frame 064121/0333 →
Continuity (3)
Provisional Application 63040516 · Jun 17, 2020
Provisional Application 62982057 · Feb 26, 2020
Related Publication 20210263762A1 · Aug 26, 2021
References Cited (30)
US 8776028B1 · Enakiev · 2014 [cited by examiner]
US 9537798B1 · Devilbiss · 2017 [cited by examiner]
US 9792143B1 · Potlapally · 2017 [cited by examiner]
US 10474359B1 · Volpe · 2019 [cited by examiner]
US 20050160424A1 · Broussard et al. · 2005 [cited by applicant]
US 20080196026A1 · Azagury · 2008 [cited by examiner]
US 20090049453A1 · Baran · 2009 [cited by examiner]
US 20090198817A1 · Sundaram · 2009 [cited by examiner]
US 20110113206A1 · Heim · 2011 [cited by examiner]
US 20120002535A1 · Droux · 2012 [cited by examiner]
US 20120042034A1 · Goggin et al. · 2012 [cited by applicant]
US 20130086298A1 · Alanis et al. · 2013 [cited by applicant]
US 20150317177A1 · Hussain · 2015 [cited by examiner]
US 20150370645A1 · Dhanalakoti · 2015 [cited by examiner]
US 20160034227A1 · Olbrich · 2016 [cited by examiner]
US 20170364285A1 · Piduri · 2017 [cited by examiner]
US 20180189087A1 · Palermo et al. · 2018 [cited by applicant]
US 20180189190A1 · Kaplan · 2018 [cited by examiner]
US 20180373553A1 · Connor · 2018 [cited by examiner]
US 20180373557A1 · Dong · 2018 [cited by applicant]
US 20190163521A1 · Lee et al. · 2019 [cited by applicant]
US 20190377594A1 · Xie et al. · 2019 [cited by applicant]
US 20200026556A1 · Chitlur et al. · 2020 [cited by applicant]
US 20200042343A1 · Wang et al. · 2020 [cited by applicant]
US 20200057567A1 · Hutcheson et al. · 2020 [cited by applicant]
CN 109992350A · 2019 [cited by applicant]
TW I336863B · 2011 [cited by applicant]
WO 2019160542A1 · 2019 [cited by applicant]
European Office Action for Application No. 21164523.9, mailed Feb. 17, 2023. [cited by applicant]
European Office Action for Application No. 21164523.9, mailed Sep. 20, 2024. [cited by applicant]