Virtual Storage Compaction Without VM Halt

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvestorage compaction effectivenessVSAvoidvirtual machine availability
Core Design Contradiction:
Manufacturing precisionVSProductivity

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.

Inventive Principle:
Principle #10Preliminary action

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.

Inventive Principle:
Principle #15Dynamics

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

Engineering Contradiction:
Improvedata preservationVSAvoidstorage space utilization
Core Design Contradiction:
ReliabilityVSQuantity of substance

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.

Inventive Principle:
Principle #2Taking out (Extraction)

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.

Inventive Principle:
Principle #35Parameter changes

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

Engineering Contradiction:
Improveblock allocation accuracyVSAvoidmaintenance operation complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

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.

Inventive Principle:
Principle #19Periodic action

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.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS7647468B2Compaction, de-fragmentation, and merging of virtual storage device of virtual machine
Publication Date: 2010.01.12 MICROSOFT TECHNOLOGY LICENSING LLC
  • US7647468B2 patent drawing
  • US7647468B2 patent drawing
  • US7647468B2 patent drawing

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.