Logical Volume Space Sharing via Address Tree

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional file systems face difficulties in easily expanding or contracting the size of logical volumes without complex data migration and resizing processes, and they do not allow for efficient sharing of storage space between logical volumes.

Innovation Solution

The implementation of an address tree system that enables logical volumes to dynamically manage available storage space by translating I/O operations, allowing for flexible consumption and release of storage resources, enabling logical volumes to shrink or grow without data relocation and utilizing free space from neighboring partitions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If conventional partition resizing methods are used, then logical volume size can be changed, but complex data migration and resizing processes are required

Engineering Contradiction:
Improvelogical volume size flexibilityVSAvoidresizing process complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent introduces an address tree as an intermediary data structure that maps logical addresses to physical storage locations. This address tree enables logical volumes to dynamically allocate and deallocate storage space without complex data migration, as the mapping structure can be updated independently of the actual data positions on disk.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent implements dynamic logical volume sizing by allowing the address tree to be modified in-place during operation. Logical volumes can grow or shrink by updating the address tree structure and allocation metadata, without requiring static partition boundaries or complex resizing procedures.

Inventive Principle:
Principle #15Dynamics

2Adaptability or versatility

If logical volumes use fixed partition boundaries, then storage space is isolated between volumes, but free space in neighboring partitions cannot be utilized

Engineering Contradiction:
Improvestorage space sharing capabilityVSAvoidaddress tree management complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent creates a universal address space managed by the address tree that can be dynamically allocated to multiple logical volumes. This universal addressing mechanism allows any logical volume to access any available physical storage space, eliminating the isolation imposed by fixed partition boundaries while maintaining logical volume independence.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The patent segments the storage management into logical volume abstractions and physical storage allocation, with the address tree serving as the mapping layer. This segmentation allows logical volumes to be treated as independent entities while enabling flexible sharing of underlying physical storage resources through the address tree's allocation mechanisms.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS9292217B2Logical volume space sharing
Publication Date: 2016.03.22 APPLE INC
  • US9292217B2 patent drawing
  • US9292217B2 patent drawing
  • US9292217B2 patent drawing

AI summary

Space sharing between logical volumes is achieved through a technique that enables available storage space to be flexibly consumed and released by the logical volumes. Each logical volume is associated with an address tree that defines how available storage space is consumed by the logical volume. The technique involves receiving an input/output (I/O) operation that specifies a logical address within an address tree associated with the logical volume, parsing the address tree to identify an entry therein, if any, that is associated with the logical address, where the entry stores physical address information that is associated with the logical address. If it is determined that the entry exists, then one or more translated I/O operations are generated based on the physical address information and forwarded to a physical device manager to carry out the translated one or more I/O operations.