SYSTEM SOFTWARE INTERFACES FOR SPACE-OPTIMIZED BLOCK DEVICES
First Claim
1. A method of issuing a command to deallocate free storage blocks previously allocated to a logical block device, comprising:
- determining that the logical block device supports the command;
identifying one or more sets of contiguous storage blocks to be deallocated; and
issuing the command to the logical block device based on alignment and granularity values according to which the logical block device performs space reclamation operations, the command identifying at least one set of contiguous storage blocks as storage blocks to be deallocated.
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
29 Claims
-
1. A method of issuing a command to deallocate free storage blocks previously allocated to a logical block device, comprising:
-
determining that the logical block device supports the command; identifying one or more sets of contiguous storage blocks to be deallocated; and issuing the command to the logical block device based on alignment and granularity values according to which the logical block device performs space reclamation operations, the command identifying at least one set of contiguous storage blocks as storage blocks to be deallocated. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A non-transitory computer readable storage medium comprising instructions executable by a computer system to carry out a method of issuing a command to deallocate free storage blocks previously allocated to a logical block device, said method comprising:
-
determining that the logical block device supports the command; identifying one or more sets of contiguous storage blocks to be deallocated; and issuing the command to the logical block device based on alignment and granularity values according to which the logical block device performs space reclamation operations, the command identifying at least one set of contiguous storage blocks as storage blocks to be deallocated. - View Dependent Claims (14, 15)
-
-
17. A computer system comprising:
-
hardware resources including a processor, memory, and a logical block device; and a hypervisor that supports execution of one or more virtual machines and emulates the hardware resources for the virtual machines including an emulated logical block device, wherein the hypervisor includes a component for issuing commands to the logical block device to deallocate storage blocks from the logical block device, and the virtual machines each include a component for issuing commands to the emulated logical block device to deallocate storage blocks from the emulated logical block device. - View Dependent Claims (18, 19, 20)
-
-
21. A method for issuing a command to deallocate free storage blocks previously allocated to a logical block device, comprising:
-
identifying a set of free blocks to be released from a data structure maintained by a hypervisor of a virtualized computer system; allocating the free blocks in the set to a file and marking the free blocks allocated to the file as used in the data structure; and issuing a command to the logical block device to deallocate the free blocks allocated to the file. - View Dependent Claims (22, 23, 24, 25, 26, 27, 28, 29)
-
Specification