Middle Map Architecture for vSAN Snapshot I/O Overhead

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The existing virtual storage area network (vSAN) architecture faces significant I/O overhead during segment cleaning and snapshot updates due to the need to update multiple logical block addresses (LBAs) referencing the same physical block address (PBA) across different snapshot logical maps, leading to poor snapshot performance and increased metadata write I/Os.

Innovation Solution

A two-layer data block mapping architecture is introduced, where logical block addresses (LBAs) are mapped to middle block addresses (MBAs), and the MBAs are then mapped to physical block addresses (PBAs), reducing the need to update multiple snapshot logical maps and optimizing metadata I/Os by allowing updates to be performed only at the MBA level.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If segment cleaning is performed to enable full stripe writes, then I/O performance is improved, but I/O overhead increases due to updating multiple snapshot logical maps

Engineering Contradiction:
ImproveI/O performanceVSAvoidI/O overhead
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

A middle map is introduced as an intermediary layer between the logical block address map and the physical block address map. The middle map stores mappings from logical block addresses to middle block addresses, while the physical map stores mappings from middle block addresses to physical block addresses. This intermediary structure allows the system to update only the middle map during segment cleaning operations, avoiding the need to update multiple snapshot logical maps simultaneously, thereby reducing I/O overhead while maintaining I/O performance.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If multiple snapshot logical maps are updated during segment cleaning, then snapshot accuracy is maintained, but metadata write I/Os increase

Engineering Contradiction:
Improvesnapshot accuracyVSAvoidmetadata write I/Os
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The mapping architecture is segmented into three independent layers: the logical block address map, the middle map, and the physical block address map. Each layer can be updated independently. During segment cleaning, only the middle map needs to be updated to reflect new physical block assignments, while the logical block address map and snapshot logical maps remain unchanged. This segmentation allows snapshot accuracy to be maintained without increasing metadata write I/Os, as the middle map acts as a stable intermediary that decouples snapshot references from physical storage locations.

Inventive Principle:
Principle #1Segmentation

3Device complexity

If a direct mapping between logical and physical block addresses is used, then device complexity is reduced, but adaptability decreases when snapshot updates are required

Engineering Contradiction:
Improvemapping structureVSAvoidsnapshot update capability
Core Design Contradiction:
Device complexityVSAdaptability or versatility

Solution Approach 1:

The mapping architecture transitions from a direct one-to-one mapping between logical and physical block addresses to a two-dimensional mapping structure involving middle block addresses. The logical block address map provides a stable interface for snapshot references, the middle map provides flexibility for physical block reassignment, and the physical map provides the actual storage locations. This dimensional expansion allows the system to maintain snapshot accuracy while enabling flexible segment cleaning operations without increasing overall device complexity.

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

Data Source

PatentUS11487456B1Updating stored content in an architecture utilizing a middle map between logical and physical block addresses
Publication Date: 2022.11.01 VMWARE INC
  • US11487456B1 patent drawing
  • US11487456B1 patent drawing
  • US11487456B1 patent drawing

AI summary

A method for updating block addresses is provided. The method includes overwriting content of a first data block referenced by a first logical block address (LBA) with updated content. Prior to overwriting, the content of the first data block is stored in a first physical block corresponding to a first physical block address (PBA), a logical map maps the first LBA to a first middle block address (MBA), and a middle map maps the first MBA to the first PBA. After overwriting, the updated content of the first data block is stored in a second physical block corresponding to a second PBA and, in response to the overwriting, the middle map is updated to map the first MBA to the second PBA instead of the first PBA.