Virtual Storage Compaction Without VM Halt
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Virtual storage devices used by virtual machines often contain large amounts of empty or null data, leading to inefficient storage and maintenance challenges, as existing methods require halting the virtual machine to compact and de-fragment the storage image file, and do not effectively remove null data.
Innovation Solution
A method that compacts and de-fragments the storage image file by identifying and removing unnecessary blocks while the virtual machine is running, using a block layout and block allocation table to determine null data blocks for deletion, and rearranging data to reduce fragmentation.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Manufacturing precision
If the virtual machine is halted to perform maintenance operations on the storage image file, then the compaction and de-fragmentation can be performed effectively, but the availability and continuity of the virtual machine service deteriorates
Solution Approach 1:
The system performs preliminary identification of null data blocks and prepares compaction plans before executing the actual compaction operation. The block layout and block allocation table are analyzed in advance to determine which blocks can be safely removed, allowing the virtual machine to continue running during the preparation phase.
Solution Approach 2:
The compaction process is made dynamic by allowing it to occur in multiple passes and at different granularities. The system can perform incremental compaction operations that adapt to the virtual machine's activity level, adjusting the intensity and timing of compaction tasks based on system conditions rather than requiring a complete halt.
2Reliability
If the storage image file is maintained with full capacity to ensure no data loss, then the reliability is improved, but the storage efficiency deteriorates due to large amounts of null data occupation
Solution Approach 1:
The system extracts and removes null data blocks from the storage image file while preserving all valid data blocks. By identifying blocks that contain only null data through comparison of the block layout with the block allocation table, the system can safely delete these blocks without affecting data integrity, thereby reducing the overall file size and improving storage efficiency.
Solution Approach 2:
The system changes the parameter of block validity by dynamically determining which blocks contain valid data versus null data. By modifying the block allocation table to reflect current data presence and removing references to null blocks, the system transforms the storage structure from a static full-capacity allocation to a dynamic optimized allocation that maintains reliability while improving space utilization.
3Measurement precision
If the block allocation table is updated frequently to reflect real-time changes, then the data accuracy is improved, but the processing overhead and system complexity increases
Solution Approach 1:
Instead of updating the block allocation table continuously or with every write operation, the system implements periodic updates at scheduled intervals or based on thresholds. This periodic action maintains sufficient data accuracy for compaction operations while significantly reducing the processing overhead and complexity compared to real-time updates.
Solution Approach 2:
The system performs partial updates to the block allocation table, updating only the portions that are necessary for the current compaction operation rather than maintaining complete real-time accuracy. This partial action approach provides sufficient precision for the maintenance task at hand while avoiding the excessive complexity of comprehensive real-time tracking.
Data Source
AI summary
A computing device is partitioned to include a host partition (HP) instantiated at least in part to provide storage capabilities, and also to include a client partition (CP) instantiated at least in part to consume such storage capabilities of the HP in the form of a virtual storage device at the CP. The HP implements the virtual storage device of the CP as an image file on a physical storage device. The image file at the HP is compacted while the CP is active and employing the corresponding virtual storage device.


