NVM Snapshot Purge via Non-Active Block Relocation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The excessive consumption of NVM space by repeated snapshots in non-volatile random access memory (NVM) regions leads to reduced available space for virtual machines and other clients, as each snapshot can consume as much space as the NVM region itself, limiting the free NVM for use.

Innovation Solution

The implementation of techniques to efficiently purge non-active blocks from NVM regions using virtblock arrays, pointer elimination, and large page preservation approaches, which allow for the freeing up of NVM space by updating metadata structures and managing pointers to identify and relocate non-active blocks to mass storage, while preserving large page allocations for performance benefits.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If snapshots are created to preserve reliability and availability, then system reliability is improved, but NVM space consumption increases excessively

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

Solution Approach 1:

The patent extracts only the necessary data blocks for snapshots while identifying and excluding non-active blocks that are no longer needed by running applications. This selective extraction approach allows snapshots to be created without duplicating entire NVM regions, significantly reducing space consumption while maintaining reliability benefits

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent implements a mechanism to identify non-active blocks that can be discarded from snapshot allocations. By recovering and reusing these discarded blocks for new snapshot data, the system maintains snapshot functionality without excessive space consumption, directly addressing the contradiction between reliability and space usage

Inventive Principle:
Principle #34Discarding and recovering

2Adaptability or versatility

If NVM space is allocated for snapshots, then snapshot functionality is improved, but available space for virtual machines decreases

Engineering Contradiction:
Improvesnapshot functionalityVSAvoidavailable NVM space
Core Design Contradiction:
Adaptability or versatilityVSQuantity of substance

Solution Approach 1:

The patent implements dynamic snapshot management where snapshot allocations are adjusted based on actual usage patterns. Non-active blocks are dynamically identified and reclaimed, allowing the system to adapt snapshot storage requirements to actual needs rather than allocating fixed large portions, thus preserving space for virtual machines while maintaining snapshot adaptability

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes the parameter of snapshot space allocation from static full-region allocation to dynamic partial allocation based on active block identification. This parameter change allows snapshot functionality to be maintained with significantly reduced space requirements, increasing available NVM for virtual machine operations

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS10705954B2Efficiently purging non-active blocks in NVM regions while preserving large pages
Publication Date: 2020.07.07 VMWARE INC
  • US10705954B2 patent drawing
  • US10705954B2 patent drawing
  • US10705954B2 patent drawing

AI summary

Techniques for efficiently purging non-active blocks in an NVM region of an NVM device while preserving large pages are provided. In one set of embodiments, a host system can receive a write request with respect to a data block of the NVM region, where the data block is referred to by a snapshot of the NVM region and was originally allocated as part of a large page. The host system can further allocate a new data block in the NVM region, copy contents of the data block to the new data block, and update the data block with write data associated with the write request. The host system can then update a level 1 (L1) page table entry of the NVM region's running point to point to the original data block.