Virtblock Arrays for Purging Non-Active NVM Blocks
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The excessive consumption of NVM space by non-active blocks in NVM region snapshots leads to reduced available space for virtual machines and other clients, as each snapshot can consume as much space as the NVM region itself, causing significant space constraints.
Innovation Solution
The implementation of techniques such as the virtblock approach, pointer elimination approach, and large page preservation approach by the hypervisor to efficiently purge non-active blocks from the NVM device to a mass storage device, using virtblock arrays, removing pointers from snapshot metadata, and modifying pointer assignments during copy-on-write operations, respectively.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If NVM region snapshots are created to enable reliability and availability capabilities, then system reliability is improved, but NVM space consumption increases significantly
Solution Approach 1:
The patent segments the NVM space by introducing a virtblock array that separates active data blocks from snapshot data blocks. This segmentation allows the system to maintain snapshots for reliability while tracking and managing space consumption separately, enabling identification and purging of non-active blocks that are no longer needed.
Solution Approach 2:
The patent implements mechanisms to discard non-active blocks from snapshots by tracking their status through virtblock entries. When blocks are determined to be non-active (no longer needed by any snapshot), they are recovered back to the NVM region, freeing up space while maintaining the reliability benefits of snapshot capabilities.
2Adaptability or versatility
If repeated snapshots are taken to maintain availability, then system availability is improved, but free NVM space for VMs decreases
Solution Approach 1:
The patent introduces dynamic management of snapshot data through virtblock arrays that can adaptively track the status of data blocks. The system dynamically identifies non-active blocks and recovers space, allowing repeated snapshots to be taken for availability while automatically managing free NVM space to ensure it remains available for VM operations.
Solution Approach 2:
The system performs self-service by automatically tracking which data blocks are active versus non-active through the virtblock array mechanism. This self-monitoring and self-management capability allows the NVM region to automatically recover space from obsolete snapshot data without external intervention, maintaining both availability and sufficient free space.
3Reliability
If snapshots consume large NVM space, then snapshot functionality is maintained, but space for other clients is reduced
Solution Approach 1:
The patent introduces the virtblock array as an intermediary data structure that mediates between snapshot functionality and space management. This intermediary tracks the status of data blocks, enabling the system to maintain snapshot capabilities while identifying and recovering non-active blocks, thus balancing snapshot functionality with space availability for other clients.
Data Source
AI summary
Techniques for efficiently purging non-active blocks in an NVM region of an NVM device using virtblocks are provided. In one set of embodiments, a host system can maintain, in the NVM device, a pointer entry (i.e., virtblock entry) for each allocated data block of the NVM region, where page table entries of the NVM region that refer to the allocated data block include pointers to the pointer entry, and where the pointer entry includes a pointer to the allocated data block. The host system can further determine that a subset of the allocated data blocks of the NVM region are non-active blocks and can purge the non-active blocks from the NVM device to a mass storage device, where the purging comprises updating the pointer entry for each non-active block to point to a storage location of the non-active block on the mass storage device.


