# US 2014/0208000 A1 · Techniques for Surfacing Host-Side Flash Storage Capacity to Virtual Machines

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2014/0208000 A1
- Document ID: US20140208000A1
- Status: Published application
- Kind: A1
- Application number: 13/748,247
- Filed: 2013-01-23
- Published: 2014-07-24
- Earliest claimed: 2013-01-23
- Assignees: VMware, Inc.
- Applicants: Vmware, Inc.
- Inventors: Thomas A. Phelan; Mayank Rawat; Kiran Madnani; Wei Zhang; Deng Liu; Sambasiva Bandarupalli
- Web page: https://patentgrep.com/patent/US20140208000A1

## CPC

- G06F 3/0608: {Saving storage space on storage systems}
- G06F 3/0605: {by facilitating the interaction with a user or administrator}
- G06F 3/0631: {by allocating resources to storage systems}
- G06F 3/0647: {Migration mechanisms}
- G06F 3/065: {Replication mechanisms}
- G06F 3/0652: {Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket}
- G06F 3/0679: {Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]}
- G06F 9/45558: {Hypervisor-specific management and integration aspects}
- G06F 12/023: {Free address space management}
- G06F 12/0246: {in block erasable memory, e.g. flash memory}
- G06F 12/0842: for multiprocessing or multitasking
- G06F 2009/45583: {Memory management, e.g. access or allocation}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

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.

## Claims

### Claim 1

A method for surfacing host-side flash storage capacity to a plurality of virtual machines (VMs) configured to run on a host system, the method comprising:
creating, by the host system 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; and
causing, by the host system, the flash storage space allocation to be readable and writable by the VM as a virtual flash memory device.

### Claim 2 (depends on 1)

The method of claim 1 further comprising:
freeing the flash storage space allocation for the VM when the VM is suspended or powered off.

### Claim 3 (depends on 2)

The method of claim 2 further comprising:
creating, for the VM, a new flash storage space allocation in the flash storage device when the VM is resumed or powered back on.

### Claim 4 (depends on 2)

The method of claim 2 wherein freeing the flash storage space allocation for the VM when the VM is suspended comprises:
saving data stored in the flash storage space allocation to a backend storage device; and
freeing the flash storage space allocation after the saving.

### Claim 5 (depends on 4)

The method of claim 4 where the data is saved to a VM image file resident on the backend storage device.

### Claim 6 (depends on 3)

The method of claim 3 wherein creating, for the VM, the new flash storage space allocation in the flash storage device when the VM is resumed comprises:
restoring the data previously saved to the backend storage device to the new flash storage space allocation.

### Claim 7 (depends on 2)

The method of claim 2 wherein freeing the flash storage space allocation for the VM when the VM is powered off comprises:
freeing the flash storage space allocation without saving data stored in the flash storage space allocation to a backend storage device.

### Claim 8 (depends on 1)

The method of claim 1 further comprising:
freeing the flash storage space allocation for the VM when the VM is migrated to another host system.

### Claim 9 (depends on 8)

The method of claim 8 further comprising, prior to the freeing:
copying data stored in the flash storage space allocation to a new flash storage allocation that is resident on a flash storage device locally attached to the another host system.

### Claim 10 (depends on 1)

The method of claim 1 wherein the size of the flash storage space allocation for the VM is defined by a user at a time of provisioning the VM.

### Claim 11 (depends on 1)

The method of claim 1 wherein the flash storage space allocation for the VM corresponds to a file resident on the flash storage device.

### Claim 12

A non-transitory computer readable storage medium having stored thereon computer software executable by a processor, the computer software embodying a method for surfacing host-side flash storage capacity to a plurality of VMs configured to run on a host system, the method comprising:
creating, 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; and
causing the flash storage space allocation to be readable and writable by the VM as a virtual flash memory device.

### Claim 13 (depends on 12)

The non-transitory computer readable storage medium of claim 12 wherein the method further comprises:
freeing the flash storage space allocation for the VM when the VM is suspended or powered off.

### Claim 14 (depends on 13)

The non-transitory computer readable storage medium of claim 13 wherein the method further comprises:
creating, for the VM, a new flash storage space allocation in the flash storage device when the VM is resumed or powered back on.

### Claim 15 (depends on 14)

The non-transitory computer readable storage medium of claim 14 wherein freeing the flash storage space allocation for the VM when the VM is suspended comprises saving data stored in the flash storage space allocation to a backend storage device, and
wherein creating, for the VM, the new flash storage space allocation in the flash storage device when the VM is resumed comprises restoring the data saved to the backend storage device to the new flash storage space allocation.

### Claim 16 (depends on 15)

The non-transitory computer readable storage medium of claim 15 wherein freeing the flash storage space allocation for the VM when the VM is powered off comprises freeing the flash storage space allocation without saving the data stored in the flash storage space allocation to the backend storage device.

### Claim 17

A host system comprising:
a locally attached flash storage device; and
a processor configured to:
create, for each VM in a plurality of VMs, a flash storage space allocation in the flash storage device; and
cause the flash storage space allocation to be readable and writable by the VM as a virtual flash memory device.

### Claim 18 (depends on 17)

The host system of claim 17 wherein the processor is further configured to:
free the flash storage space allocation for the VM when the VM is suspended or powered off.

### Claim 19 (depends on 18)

The host system of claim 18 wherein the processor is further configured to
create, for the VM, a new flash storage space allocation in the flash storage device when the VM is resumed or powered back on.

### Claim 20 (depends on 19)

The host system of claim 19 wherein freeing the flash storage space allocation for the VM when the VM is suspended comprises saving data stored in the flash storage space allocation to a backend storage device, and
wherein creating, for the VM, the new flash storage space allocation in the flash storage device when the VM is resumed comprises restoring the data saved to the backend storage device to the new flash storage space allocation.
