Parallelized LBA Table Recovery in Virtual Storage Networks

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The existing Virtual Storage Area Network (VSAN) systems face challenges in data recovery after a system failure, as the recovery process is lengthy due to the serial processing of I/O log data and the reliance on a single LBA table, leading to extended downtime.

Innovation Solution

Implementing a plurality of LBA tables that map logical block addresses to physical addresses across multiple capacity tier disks, allowing for parallelization of the data recovery process, thereby reducing the time required for system availability post-failure.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If a single LBA table is used to map logical block addresses to physical addresses, then the data structure is simple and easy to manage, but the recovery process becomes lengthy and time-consuming due to serial processing

Engineering Contradiction:
ImproveLBA table structureVSAvoidrecovery time
Core Design Contradiction:
Device complexityVSLoss of time

Solution Approach 1:

The single LBA table is divided into multiple LBA tables, where each table manages a portion of the address space. This segmentation enables parallel processing during recovery operations, as multiple tables can be reconstructed simultaneously from different portions of the log data, significantly reducing overall recovery time while maintaining manageable complexity for each individual table

Inventive Principle:
Principle #1Segmentation

2Device complexity

If log data is processed serially to reconstruct the LBA table, then the processing logic is simple, but the recovery process takes an hour or more to complete

Engineering Contradiction:
Improveprocessing logicVSAvoidrecovery speed
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The log data is divided into multiple segments that correspond to different LBA tables. Each segment can be processed independently and in parallel by separate processing threads or processes, transforming the single-threaded serial processing into a multi-threaded parallel processing system that achieves linear or near-linear speedup

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The log data is pre-organized and structured in advance during normal operation, with entries arranged in a format that facilitates efficient parallel reconstruction. This preliminary organization of data into manageable chunks with proper indexing and metadata allows recovery processes to immediately begin parallel processing without requiring complex coordination or data reorganization

Inventive Principle:
Principle #10Preliminary action

3Quantity of substance

If a single LBA table stores all mappings, then memory usage is optimized, but system downtime during failure recovery is extended

Engineering Contradiction:
Improvememory usageVSAvoidsystem downtime
Core Design Contradiction:
Quantity of substanceVSLoss of time

Solution Approach 1:

The address space is divided into multiple segments, each managed by a separate LBA table stored in memory. This segmentation allows the system to recover multiple segments in parallel after a failure, reducing overall recovery time. The memory overhead is justified by the significant reduction in system downtime and improved availability

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system transitions from a single-dimensional recovery approach (one table, one process) to a multi-dimensional approach (multiple tables, multiple processes operating in parallel). This dimensional expansion in the recovery architecture enables simultaneous reconstruction of multiple LBA tables, fundamentally changing the recovery timeline from sequential to parallel execution

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

Data Source

PatentEP4528471A1Parallelized recovery of logical block address (LBA) tables
Publication Date: 2025.03.26 VMWARE INC
  • EP4528471A1 patent drawingFigure 1
  • EP4528471A1 patent drawingFigure 2
  • EP4528471A1 patent drawingFigure 3

AI summary

Some implementations herein relate to data storage. For example, a method may include receiving a first input/output (I/O) operation indicating a first logical block address (LBA) of a single address space, where the single address space corresponds to storage across a first plurality of storage devices. The method may also include determining that a first LBA table of a plurality of LBA tables is associated with the first LBA, where each of the plurality of LBA tables is associated with a different corresponding portion of the single address space. The method may include storing data corresponding to the first I/O operation at a first physical address of a first storage device of a second plurality of storage devices. Additionally, the method may include adding a first entry to the first LBA table, the first entry mapping the first LBA to the first physical address.