Storage Command Stack for Dynamic Logical Volumes

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing virtualized storage systems face challenges in generating storage commands that adapt to dynamic environments where clients and devices may appear or disappear without notice, requiring robust access to shared storage areas with coherent data sets even when parts of the logical volume are missing, and scaling to larger deployments without additional management equipment.

Innovation Solution

A system and method that utilize a command stack with linked storage groups and command handlers to transform high-level storage commands into low-level commands suitable for various storage group types, such as mirrors, stripes, and partitions, ensuring data coherence and independence of clients and devices, and supporting heterogeneous storage environments.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a virtualized storage system provides robust access to shared storage areas with dynamic changes, then clients can access data coherently even when parts of the logical volume are missing, but the system complexity increases due to the need to handle heterogeneous storage group types and dynamic environments

Engineering Contradiction:
Improvedata coherenceVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The logical volume is segmented into storage groups of different types (RAID groups, mirrors, stripes, spans, partitions), each handled by specialized command handlers. This segmentation allows the system to manage complexity by dividing the overall data access problem into smaller, type-specific sub-problems, while maintaining data coherence across the entire logical volume even when some segments are unavailable.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The command stack structure provides a universal framework that can handle multiple storage group types through a common interface. The stack processes commands for any combination of storage group types (RAID, mirrors, stripes, spans, partitions) using the same hierarchical processing mechanism, reducing system complexity by unifying the approach while maintaining reliability for heterogeneous configurations.

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

2Adaptability or versatility

If the system scales to larger deployments with more clients or storage devices, then the storage system can support larger environments, but the management complexity increases without additional management equipment

Engineering Contradiction:
ImprovescalabilityVSAvoidmanagement complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

Clients independently construct their own command stacks based on the storage group map, without requiring centralized management. Each client autonomously processes storage commands through the command stack, managing its own data access and coherence. This self-service approach enables scaling to larger deployments with more clients and storage devices while avoiding the need for additional management equipment.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system transitions from managing individual storage devices to managing a hierarchical structure of storage groups. By organizing storage in dimensions of storage groups (RAID groups, mirrors, stripes, spans, partitions) and processing commands through a command stack, the system achieves scalability without proportionally increasing management complexity.

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

3Ease of operation

If clients function independently without requiring information from other clients, then client independence and efficiency improve, but coordination challenges arise when clients have different views of the logical volume

Engineering Contradiction:
Improveclient independenceVSAvoiddata synchronization
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The command stack dynamically adapts to different client views of the logical volume. When clients have different visibility of storage groups (e.g., one client sees a RAID group while another sees individual partitions), the stack processes commands accordingly, maintaining data coherence without requiring clients to share their complete views. Each client independently processes commands based on its own view while the stack ensures overall consistency.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The command stack acts as an intermediary between clients and storage groups. It receives commands from independent clients with different views and translates them into appropriate storage operations that maintain data coherence. The stack mediates the coordination challenge by processing commands sequentially and ensuring that operations from multiple clients result in consistent data state, without requiring clients to communicate with each other.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Adaptability or versatility

If the command generating system handles heterogeneous storage group types, then the system can support diverse storage configurations, but the command generation complexity increases

Engineering Contradiction:
Improveheterogeneous storage supportVSAvoidcommand generation complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The command generation process is segmented by storage group type, with dedicated command handlers for RAID groups, mirrors, stripes, spans, and partitions. Each handler is responsible for generating commands specific to its group type, which simplifies the overall complexity by breaking down the heterogeneous command generation into homogeneous, type-specific tasks.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The command stack provides a universal command generation framework that handles all storage group types through a common processing paradigm. The stack receives high-level commands and systematically translates them into low-level storage operations for any combination of group types, reducing complexity by unifying the approach while maintaining versatility for heterogeneous storage configurations.

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

Data Source

PatentEP2035933B1Generating storage system commands
Publication Date: 2011.05.04 RATEZE REMOTE MGMT LLC
  • EP2035933B1 patent drawingFigure 1
  • EP2035933B1 patent drawingFigure 2
  • EP2035933B1 patent drawingFigure 3

AI summary

Systems and methods for generating storage system commands are presented. Logical volumes comprise one or more storage areas. The methods include providing a map of the logical volume from information relating to the types of the storage areas composing the volume. Storage commands referencing the logical volume map are converted to storage area commands by command handlers associated with the type of the storage areas in the logical volume. The storage system comprises clients that access the storage areas by using a command stacks associated with the logical volumes.