Virtblock Arrays for Purging Non-Active NVM Blocks

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

VSEngineering 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

Engineering Contradiction:
Improvesystem reliabilityVSAvoidNVM space consumption
Core Design Contradiction:
ReliabilityVSQuantity of substance

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #34Discarding and recovering

2Adaptability or versatility

If repeated snapshots are taken to maintain availability, then system availability is improved, but free NVM space for VMs decreases

Engineering Contradiction:
Improvesystem availabilityVSAvoidfree NVM space
Core Design Contradiction:
Adaptability or versatilityVSQuantity of substance

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.

Inventive Principle:
Principle #15Dynamics

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.

Inventive Principle:
Principle #25Self-service

3Reliability

If snapshots consume large NVM space, then snapshot functionality is maintained, but space for other clients is reduced

Engineering Contradiction:
Improvesnapshot functionalityVSAvoidspace availability for clients
Core Design Contradiction:
ReliabilityVSEase of operation

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS11782828B2Efficiently purging non-active blocks in NVM regions using virtblock arrays
Publication Date: 2023.10.10 VMWARE INC
  • US11782828B2 patent drawing
  • US11782828B2 patent drawing
  • US11782828B2 patent drawing

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.