Variable Addressing Format for Granular Unmapping in Data Stores

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing virtual machine (VM) data stores face challenges in efficiently managing memory space due to differences in block sizes between VMs and their host systems, leading to limitations in unmap granularity and memory allocation.

Innovation Solution

A variable addressing format is introduced, where multiple address blocks specify a single file block, including an address for the block location and additional unmapping bits associated with fractional portions of the block, allowing for flexible unmap granularities and efficient memory management.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If large block sizes (e.g., 1 MB) are used for host data stores, then metadata overhead is reduced and host contention is minimized, but unmap granularity is limited to fixed increments (e.g., 128 KB) which cannot match smaller VM block sizes

Engineering Contradiction:
Improvemetadata overheadVSAvoidunmap granularity
Core Design Contradiction:
Device complexityVSAdaptability or versatility

Solution Approach 1:

The patent segments the traditional fixed-size address block into multiple components: a base address block and multiple unmapping bit fields. Each unmapping bit corresponds to a specific fractional portion of the host block, enabling fine-grained unmapping at VM block size granularity while maintaining the large host block structure for reduced metadata overhead.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent adds a new dimension to address storage by introducing unmapping bit fields as an additional component alongside the base address. This dimensional expansion allows the system to represent both the location and the granular unmapping status of blocks within the same address structure, resolving the contradiction between large block sizes and fine-grained unmapping.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Ease of operation

If fixed-size address blocks are used, then addressing is simplified, but unmap granularity is constrained to maximum 128 KB based on address block size

Engineering Contradiction:
Improveaddressing simplicityVSAvoidunmap granularity
Core Design Contradiction:
Ease of operationVSMeasurement precision

Solution Approach 1:

The patent segments the unmapping capability into individual bits, where each bit represents a specific fractional portion of the host block. This segmentation allows precise control over unmapping granularity at the VM block size level while maintaining simple base address indexing for ease of operation.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent changes the parameter representation from a fixed address block size to a variable unmapping bit field configuration. By adjusting the number and positioning of unmapping bits, the system can achieve different granularities without changing the fundamental address block structure, thus maintaining operational simplicity while improving measurement precision.

Inventive Principle:
Principle #35Parameter changes

3Measurement precision

If VMs use smaller block sizes (e.g., 16 KB) for addressing, then memory allocation precision is improved, but host memory space management becomes challenging due to block size mismatch

Engineering Contradiction:
Improvememory allocation precisionVSAvoidmemory space management
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent introduces unmapping bit fields as an intermediary mechanism between the VM's small block size requirements and the host's large block size structure. These bit fields act as a mediator that translates VM-level allocation requests into precise host block operations, enabling fine-grained memory management without increasing host complexity.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent segments the host block into multiple virtual blocks represented by individual unmapping bits. This segmentation allows the host to manage memory at its own optimized block size while presenting fine-grained allocation interfaces to VMs through the bit field configuration, resolving the block size mismatch issue.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS10296454B2Granular unmapping with variable addressing in a data store
Publication Date: 2019.05.21 VMWARE INC
  • US10296454B2 patent drawing
  • US10296454B2 patent drawing
  • US10296454B2 patent drawing

AI summary

The systems described herein are configured to enhance the efficiency of memory in a host file system with respect to hosted virtual file systems. In situations when the hosted virtual file systems use smaller file block sizes than the file block sizes of the host file system. During storage of a file, a file block is assigned a block address and unmapping bits. The block address and unmapping bits are stored in a pointer block or other similar data structure associated with the file. Particularly, the block address is stored in a first address block and the unmapping bits are stored in at least one additional address block located in proximity to the block address, such that the unmap granularity of the file is not limited by the fixed size of address blocks in the system.