Virtual Block Addressing for Storage Tier Migration

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Data migration between different tiers in storage systems necessitates computationally expensive regeneration of logical addresses and indexes due to changes in physical addresses, disrupting system efficiency and performance.

Innovation Solution

The implementation of a virtual block address system that uses a storage allocation table to link data objects to extents, allowing for migration of extents without updating each virtual block address, thereby maintaining system efficiency and performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If data is migrated between storage tiers, then storage system flexibility and resource utilization are improved, but computational overhead and system disruption increase due to regeneration of logical addresses and indexes

Engineering Contradiction:
Improvestorage tier flexibilityVSAvoidcomputational overhead
Core Design Contradiction:
Adaptability or versatilityVSUse of energy by moving object

Solution Approach 1:

The patent introduces a virtual block address as an intermediary layer between the host and physical storage locations. This virtual address remains stable while physical locations change, allowing data migration between tiers without requiring regeneration of logical addresses or indexes, thus eliminating the computational overhead associated with traditional migration approaches

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent segments the storage address space into virtual block addresses that are independent of physical storage locations. By separating the logical addressing layer from the physical storage layer, the system enables flexible data migration while maintaining stable logical addresses, resolving the contradiction between migration flexibility and computational efficiency

Inventive Principle:
Principle #1Segmentation

2Productivity

If physical addresses are updated during data migration, then data can be moved to optimal storage tiers, but logical addresses and indexes must be regenerated causing system disruption

Engineering Contradiction:
Improvedata migration efficiencyVSAvoidsystem disruption time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The virtual block address serves as a mediator that decouples logical addressing from physical storage locations. When data migrates between tiers, only the mapping from virtual block address to physical location needs updating, while the virtual block addresses themselves remain unchanged. This eliminates the need to regenerate logical addresses and indexes, significantly reducing system disruption time

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent adds an additional dimension to the storage address space by introducing virtual block addresses as a separate layer above physical addresses. This dimensional addition allows the system to maintain stable logical references while physical locations change, enabling efficient data migration without the time loss associated with regenerating address structures

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

Data Source

PatentUS10565125B2Virtual block addresses
Publication Date: 2020.02.18 HEWLETT PACKARD ENTERPRISE DEV LP
  • US10565125B2 patent drawing
  • US10565125B2 patent drawing
  • US10565125B2 patent drawing

AI summary

Example implementations relate to objects in extents on a storage resource. In an example, an extent identifier is persisted to a storage allocation table, where the extent identifier locates an extent on a storage resource. An extent map tracks which objects in the extent are deallocated. A virtual block address is generated allocating an object to store data. The virtual block address may include a storage allocation table key that locates the extent identifier in the storage allocation table and an extent offset to locate the object within the extent.