SYSTEM SOFTWARE INTERFACES FOR SPACE-OPTIMIZED BLOCK DEVICES
First Claim
1. A method of determining features of a logical block device for a computer system, comprising:
- querying the logical block device with a first query and receiving a response thereto from the logical block device that indicates whether or not the logical block device is thinly provisioned; and
querying the logical block device with a second query and receiving a response thereto from the logical block device that indicates whether or not the logical block device supports an unmap command, wherein the unmap command is a command to deallocate blocks previously allocated to the logical block device.
2 Assignments
0 Petitions
Accused Products
Abstract
Interfaces to storage devices that employ storage space optimization technologies, such as thin provisioning, are configured to enable the benefits gained from such technologies to be sustained. Such an interface may be provided in a hypervisor of a virtualized computer system to enable the hypervisor to discover features of a logical unit number (LUN), such as whether or not the LUN is thinly provisioned, and also in a virtual machine (VM) of the virtualized computer system to enable the VM to discover features of a virtual disk, such as whether or not the virtual disk is thinly provisioned. The discovery of these features enables the hypervisor or the VM to instruct the underlying storage device to carry out certain operations such as an operation to deallocate blocks previously allocated to a logical block device, so that the storage device can continue to benefit from storage space optimization technologies implemented therein.
-
Citations
28 Claims
-
1. A method of determining features of a logical block device for a computer system, comprising:
-
querying the logical block device with a first query and receiving a response thereto from the logical block device that indicates whether or not the logical block device is thinly provisioned; and querying the logical block device with a second query and receiving a response thereto from the logical block device that indicates whether or not the logical block device supports an unmap command, wherein the unmap command is a command to deallocate blocks previously allocated to the logical block device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A non-transitory computer readable storage medium comprising instructions executable by a computer system to carry out a method of determining features of a logical block device for the computer system, said method comprising:
-
querying the logical block device with a first query and receiving a response thereto from the logical block device that indicates whether or not the logical block device is thinly provisioned; and querying the logical block device with a second query and receiving a response thereto from the logical block device that indicates whether or not the logical block device supports an unmap command, wherein the unmap command is a command to deallocate blocks previously allocated to the logical block device. - View Dependent Claims (15, 16, 17, 18)
-
-
19. A computer system interfaced with a logical block device, comprising:
-
an interface component that interfaces the computer system to the logical block device; and a processor and memory, wherein the processor is programmed to query the logical block device with a first query and receive a response thereto from the logical block device that indicates whether or not the logical block device is thinly provisioned, and query the logical block device with a second query and receive a response thereto from the logical block device that indicates whether or not the logical block device supports an unmap command, wherein the unmap command is a command to deallocate blocks previously allocated to the logical block device. - View Dependent Claims (20, 21, 22, 23, 24)
-
-
25. A computer system comprising:
-
a plurality of hosts, each having virtualization software to support execution of one or more virtual machines, the hosts including first and second hosts each having virtualization software of a first type that supports thinly provisioned virtual disks and an unmap command, wherein the unmap command is a command for deallocating blocks previously allocated to a thinly provisioned virtual disk, and a third host having virtualization software of a second type that does not support thinly provisioned virtual disks or the unmap command; and a management server for the virtual machines having a resource scheduling software executed therein to recommend live migration of virtual machines between two hosts other than from a host having a virtualization software of the first type to a host having a virtualization software of the second type. - View Dependent Claims (26, 27, 28)
-
Specification