Dynamic Logical to Physical Address Mapping for Storage Misalignment

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing data storage systems face performance slowdowns due to misalignment between logical and physical data blocks, requiring offline realignment, which is undesirable in mission-critical network storage systems.

Innovation Solution

The creation of an alignment map that dynamically maps logical data block start addresses to physical data block start addresses, allowing for single-read operations and avoiding the need for offline realignment, with unmapped disk sectors used for system information.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If logical blocks are aligned to physical blocks in a virtual machine file system, then data access performance is improved, but the system requires offline realignment operations which cause downtime

Engineering Contradiction:
Improvedata access performanceVSAvoidsystem downtime for realignment
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent segments the alignment mapping into separate alignment maps for different data objects (files, directories). Each alignment map independently tracks the mapping between logical block addresses (LBAs) and physical block addresses (PBAs) for its associated data object. This segmentation allows individual alignment adjustments without requiring system-wide offline realignment operations, enabling online performance optimization.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces alignment maps as intermediary data structures between the logical block address space and the physical block address space. These alignment maps act as mediators that translate LBA requests into PBA accesses, allowing the system to maintain logical block alignment while physically storing data in optimized locations. This intermediary layer eliminates the need for direct LBA-PBA alignment and prevents performance degradation without requiring offline operations.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If alignment maps are created for each data object, then on-demand data object migration is enabled, but the data structure complexity increases

Engineering Contradiction:
Improveon-demand data object migration capabilityVSAvoidalignment map data structure complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent creates alignment maps preliminarily when data objects are created or when they are first accessed. Rather than maintaining complex dynamic mappings for all possible operations, the system establishes the initial LBA-to-PBA mapping relationship in advance. This preliminary action simplifies the data structure by only storing necessary alignment information while enabling future migration operations through pre-established mapping relationships.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent applies different alignment mapping strategies to different data objects based on their specific requirements. Each alignment map is tailored to its associated data object's access patterns and migration needs. This local quality approach allows the system to maintain simple alignment maps for objects that don't require migration while using more sophisticated mappings only where necessary, thereby reducing overall system complexity while maintaining migration capability.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS9383943B2Mapping of logical start addresses to physical start addresses in a system having misalignment between logical and physical data blocks
Publication Date: 2016.07.05 NETAPP INC
  • US9383943B2 patent drawing
  • US9383943B2 patent drawing
  • US9383943B2 patent drawing

AI summary

An alignment data structure is used to map a logical data block start address to a physical data block start address dynamically, to service a client data access request. A separate alignment data structure can be provided for each data object managed by the storage system. Each such alignment data structure can be stored in, or referenced by a pointer in, the inode of the corresponding data object. A consequence of the mapping is that certain physical storage medium regions are not mapped to any logical data blocks. These unmapped regions may be visible only to the file system layer and layers that reside between the file system layer and the mass storage subsystem. They can be used, if desired, to store system information, i.e., information that is not visible to any storage client.