Virtual Disk Ballooning Driver Reuses Freed Blocks
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Virtual machine images using thinly provisioned files experience uncontrolled growth due to the hypervisor's inability to differentiate between used and unused data blocks, leading to inefficient storage usage, as existing approaches like fully provisioned images or dedicated physical partitions do not allow over-commitment.
Innovation Solution
Implementing a virtual disk ballooning driver that runs inside the virtual machine to reserve and reuse previously allocated and freed disk blocks, ensuring that new blocks are allocated only when necessary, thereby controlling the virtual disk size and reflecting actual disk usage.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If a thinly provisioned file is used as a virtual machine image, then storage space over-commit is enabled and file management is easier, but the image file quickly grows to its fully provisioned size due to inability to differentiate used and unused data blocks
Solution Approach 1:
The patent implements a feedback mechanism where the hypervisor continuously monitors the actual usage state of data blocks in the virtual machine file system and uses this information to make intelligent allocation decisions. The hypervisor receives feedback about which blocks are truly in use versus which are freed but still allocated, and adjusts the virtual disk size accordingly by reclaiming unused blocks while preserving those that are actively used.
Solution Approach 2:
The patent replaces the traditional mechanical approach of static block allocation with a dynamic, software-based system. Instead of physically tracking each data block's usage state in the file system metadata, the system uses a software layer (the hypervisor) that substitutes the mechanical tracking mechanism with a virtualized management approach, allowing flexible reclamation and reallocation of blocks based on actual usage patterns.
2Measurement precision
If a fully provisioned image file with 1-to-1 mapping is used, then the hypervisor can accurately track disk usage, but over-commit is not possible and storage flexibility is lost
Solution Approach 1:
The patent introduces an intermediary layer between the virtual machine file system and the physical storage file. This intermediary (the hypervisor with its block tracking mechanisms) acts as a mediator that translates between the logical view of disk usage in the guest OS and the physical allocation state in the host file system. It maintains accurate tracking information without requiring a 1-to-1 mapping, enabling both precision and flexibility.
Solution Approach 2:
The patent adds a new dimension of abstraction by introducing a virtual block device layer that sits between the guest file system and the physical file storage. This additional dimension allows the system to maintain accurate usage tracking metadata separately from the physical file structure, enabling flexible file formats (including sparse files) while preserving precise tracking capabilities through the virtualization layer.
3Reliability
If dedicated physical partitions or logic volumes are used, then over-commit is not possible, but storage management is more rigid and less adaptable
Solution Approach 1:
The patent creates a universal storage management system that can handle multiple types of storage scenarios through a single virtualized interface. The same hypervisor infrastructure and block tracking mechanisms work whether the underlying storage is a sparse file, a dense file, or a partitioned volume. This multi-functional approach eliminates the need for separate management systems for different storage types, reducing overall complexity while maintaining reliability.
Data Source
AI summary
A method, an apparatus and an article of manufacture for controlling growth in virtual disk size. The method includes limiting a guest virtual machine file in a hypervisor from allocating a new disk block as allocated space, wherein a virtual disk on a virtual machine is mapped to the guest virtual machine file, and facilitating the virtual disk to reuse a previously allocated and freed disk block for the allocated space to control growth in virtual disk size.


