Virtualized Storage Block Allocation via Metadata Tagging

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In virtualized environments, storage block allocation techniques often lead to physical fragmentation due to delayed allocation of storage blocks, which can result in non-contiguous physical layout of data blocks that should be accessed sequentially, affecting access speed and compatibility with services like de-duplication and snapshotting.

Innovation Solution

A method that identifies and allocates storage blocks based on metadata tags, prioritizing blocks that were initially written together to increase the likelihood of contiguous physical storage, and includes defragmentation mechanisms to address residual fragmentation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If delayed allocation of storage blocks is used to achieve sparse allocation and over-commit goals, then storage utilization is improved, but physical fragmentation increases

Engineering Contradiction:
Improvestorage utilizationVSAvoidphysical fragmentation
Core Design Contradiction:
Quantity of substanceVSStability of the object's composition

Solution Approach 1:

The patent applies preliminary action by pre-establishing metadata tags on storage blocks during initial allocation, marking them with information about their original allocation context. This tagging happens in advance before writes occur, enabling future allocation decisions to reference these pre-established tags and maintain spatial locality without delaying the sparse allocation benefits.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements feedback by using metadata tags that track the allocation history and spatial relationships of storage blocks. When allocating new blocks, the system references these tags to identify blocks that were originally allocated together, creating a feedback loop that maintains spatial locality information and uses it to guide subsequent allocation decisions, thereby reducing fragmentation while preserving storage utilization efficiency.

Inventive Principle:
Principle #23Feedback

2Stability of the object's composition

If large storage block sizes are used to reduce fragmentation, then physical contiguity is improved, but storage service efficiency deteriorates

Engineering Contradiction:
Improvephysical contiguityVSAvoidstorage service efficiency
Core Design Contradiction:
Stability of the object's compositionVSProductivity

Solution Approach 1:

The patent applies segmentation by dividing the storage space into smaller blocks while using metadata tags to track which blocks should be physically contiguous. This allows the system to maintain fine-grained block sizes for storage service efficiency while using the tagging mechanism to achieve physical contiguity where needed, rather than using uniformly large blocks that would harm service efficiency.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements local quality by applying physical contiguity only to specific blocks that share the same metadata tag (indicating they were originally allocated together), rather than enforcing uniform large block sizes across all storage. This localized approach to contiguity maintains storage service efficiency for individual blocks while achieving contiguity where it matters for performance.

Inventive Principle:
Principle #3Local quality

3Speed

If sequential allocation of storage blocks is used to maintain spatial locality, then access speed is improved, but storage flexibility deteriorates

Engineering Contradiction:
Improveaccess speedVSAvoidstorage flexibility
Core Design Contradiction:
SpeedVSAdaptability or versatility

Solution Approach 1:

The patent uses metadata tags as an intermediary between the allocation system and physical storage layout. The tags store spatial locality information without constraining the allocation system to sequential allocation, allowing flexible allocation decisions while maintaining the ability to identify and physically co-locate blocks that should be accessed together, thus preserving both access speed and storage flexibility.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS9032176B2Avoiding physical fragmentation in a virtualized storage environment
Publication Date: 2015.05.12 VMWARE INC
  • US9032176B2 patent drawing
  • US9032176B2 patent drawing
  • US9032176B2 patent drawing

AI summary

A virtualized storage stack includes logical layers above the physical storage layer. Each logical layer allocates data blocks, and the data block allocation is propagated down to the physical storage layer. To facilitate contiguous storage, each layer of the virtualized storage stack maintains additional metadata associated with data blocks. For each data block, the metadata indicates whether the data block is free, provisioned and includes a tag that indicates when the data block was first written. Data blocks that were first written as part of the same write request share the same tag, and are mostly guaranteed to be physically co-located. Block allocations that reuse data blocks having the same tag are preferred. Such preference increases the likelihood of the blocks being contiguous in the physical storage as these blocks were allocated as part of the same first write.