Techniques for surfacing host-side storage capacity to virtual machines when performing VM suspend or snapshot operations

US9778847B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9778847-B2
Application numberUS-201514919379-A
CountryUS
Kind codeB2
Filing dateOct 21, 2015
Priority dateJan 23, 2013
Publication dateOct 3, 2017
Grant dateOct 3, 2017

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Techniques for surfacing host-side flash storage capacity to a plurality of VMs running on a host system are provided. In one embodiment, the host system creates, for each VM in the plurality of VMs, a flash storage space allocation in a flash storage device that is locally attached to the host system. The host system then causes the flash storage space allocation to be readable and writable by the VM as a virtual flash memory device.

First claim

Opening claim text (preview).

What is claimed is: 1. A method for surfacing host-side flash storage capacity to a virtual machine (VM) configured to run on a host system, the method comprising: creating, for the VM, a flash storage space allocation in a flash storage device that is locally attached to the host system; causing, by the host system, the flash storage space allocation to be accessible to the VM as a virtual flash memory device; receiving, by the host system, a request to suspend, or create a snapshot of, the VM; in response to the request to suspend, or create the snapshot of, the VM: saving data in the flash storage space allocation to a backend storage device; and freeing the flash storage space allocation; receiving, by the host system, a request to resume operation of the VM; and in response to the request to resume operation of the VM: creating, for the VM, a new flash storage space allocation in the flash storage device, the new flash storage space allocation having substantially the same size as the freed flash storage space allocation; copying the data saved in the backend storage device to the new flash storage space allocation; and subsequently to the copying, resuming the VM. 2. The method of claim 1 wherein the freeing comprises reclaiming storage space in the flash storage device corresponding to the flash storage space allocation for use by another VM. 3. The method of claim 1 further comprising, prior to creating the new flash storage space allocation: determining whether the flash storage device has sufficient free storage space to accommodate the new flash storage space allocation; and if the flash storage device does not have sufficient free storage space, migrating the VM to another host system that is determined to have sufficient free storage space within its locally-attached flash storage to accommodate the new flash storage space allocation. 4. The method of claim 1 wherein the virtual flash memory device is configured to act as a volatile memory device. 5. The method of claim 4 further comprising: receiving a request to power-off the VM; and in response to the request to power-off the VM, freeing the flash storage space allocation without saving the data in the flash storage space allocation to the backend storage device. 6. The method of claim 4 wherein the virtual flash memory device is configured to act as a volatile memory device based on a parameter that is defined by a user at a time of provisioning the VM. 7. A non-transitory computer readable medium having stored thereon program code executable by a processor of a host system, the program code embodying a method for surfacing host-side flash storage capacity to a virtual machine (VM) configured to run on the host system, the method comprising: creating, for the VM, a flash storage space allocation in a flash storage device that is locally attached to the host system; causing the flash storage space allocation to be accessible to the VM as a virtual flash memory device; receiving a request to suspend, or create a snapshot of, the VM; in response to the request to suspend, or create the snapshot of, the VM: saving data in the flash storage space allocation to a backend storage device; and freeing the flash storage space allocation; receiving a request to resume operation of the VM; and in response to the request to resume operation of the VM: creating, for the VM, a new flash storage space allocation in the flash storage device, the new flash storage space allocation having substantially the same size as the freed flash storage space allocation; copying the data saved in the backend storage device to the new flash storage space allocation; and subsequently to the copying, resuming the VM. 8. The non-transitory computer readable medium of claim 7 wherein the freeing comprises reclaiming storage space in the flash storage device corresponding to the flash storage space allocation for use by another VM. 9. The non-transitory computer readable medium of claim 8 wherein the method further comprises, prior to creating the new flash storage space allocation: determining whether the flash storage device has sufficient free storage space to accommodate the new flash storage space allocation; and if the flash storage device does not have sufficient free storage space, migrating the VM to another host system that is determined to have sufficient free storage space within its locally-attached flash storage to accommodate the new flash storage space allocation. 10. The non-transitory computer readable medium of claim 7 wherein the virtual flash memory device is configured to act as a volatile memory device. 11. The non-transitory computer readable medium of claim 10 wherein the method further comprises: receiving a request to power-off the VM; and in response to the request to power-off the VM, freeing the flash storage space allocation without saving the data in the flash storage space allocation to the backend storage device. 12. The non-transitory computer readable medium of claim 10 wherein the virtual flash memory device is configured to act as a volatile memory device based on a parameter that is defined by a user at a time of provisioning the VM. 13. A host system comprising: a processor; a locally-attached flash storage device; and a non-transitory computer readable storage medium having stored thereon program code that, when run by the processor, causes the processor to: create, for a virtual machine (VM) configured to run on the host system, a flash storage space allocation in the locally-attached flash storage device; make the flash storage space allocation accessible to the VM as a virtual flash memory device; receive a request to suspend, or create a snapshot of, the VM; in response to the request to suspend, or create the snapshot of, the VM: save data in the flash storage space allocation to a backend storage device; and free the flash storage space allocation; receive a request to resume operation of the VM; and in response to the request to resume operation of the VM: create, for the VM, a new flash storage space allocation in the flash storage device, the new flash storage space allocation having substantially the same size as the freed flash storage space allocation; copy the data saved in the backend storage device to the new flash storage space allocation; and subsequently to the copying, resume the VM. 14. The host system of claim 13 wherein the program code that causes the processor to free the flash storage space allocation comprises program code that causes the processor to reclaim storage space in the locally-attached flash storage device corresponding to the flash storage space allocation for use by another VM. 15. The computer system of claim 13 wherein the program code further causes the processor to, prior to creating the new flash storage space allocation: determine whether the locally-attached flash storage device has sufficient free storage space to accommodate the new flash storage space allocation; and if the locally-attached flash storage device does not have sufficient free storage space, migrate the VM to another host system that is determined to have sufficient free storage space within its locally-attached flash storage to accommodate the new flash storage space allocation. 16. The computer system of claim 13 wherein the virtual flash memory device is configured to act as a volatile memory device. 17. The computer system of claim 16 wherein the program code further causes the processor to: receive

Assignees

Inventors

Classifications

  • for multiprocessing or multitasking · CPC title

  • Free address space management · CPC title

  • G06F3/0605Primary

    by facilitating the interaction with a user or administrator · CPC title

  • Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket · CPC title

  • G06F3/0608Primary

    Saving storage space on storage systems · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9778847B2 cover?
Techniques for surfacing host-side flash storage capacity to a plurality of VMs running on a host system are provided. In one embodiment, the host system creates, for each VM in the plurality of VMs, a flash storage space allocation in a flash storage device that is locally attached to the host system. The host system then causes the flash storage space allocation to be readable and writable by…
Who is the assignee on this patent?
Vmware Inc
What technology area does this patent fall under?
Primary CPC classification G06F3/0605. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Oct 03 2017 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).