Storage Virtualizer for Fault-Tolerant Data Storage
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current data storage systems in virtualized environments lack sufficient resilience and flexibility, as they rely on dedicated storage arrays and dual controllers, leading to vulnerabilities such as single-point failures and limited scalability.
Innovation Solution
The implementation of universal nodes with integrated CPU, memory, network interface, and storage virtualizer resources, connected via buses, where each node acts as a storage provider and consumer, using a storage virtualizer to decouple storage mappings and enable failover between nodes, managed by a metaC controller for resource migration and redundancy.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If dedicated storage arrays with dual controllers are used, then fault tolerance is improved, but device complexity and hardware costs increase
Solution Approach 1:
The patent combines storage virtualization functionality directly into compute nodes, eliminating the need for separate dedicated storage arrays. Each compute node runs a storage virtualizer that manages local storage resources, merging previously separate storage and compute infrastructure into integrated units while maintaining fault tolerance through virtualization-based redundancy
Solution Approach 2:
Compute nodes are designed to perform multiple functions: they execute virtual machines, manage local storage through integrated storage virtualizers, and participate in distributed storage operations. This multi-functionality replaces specialized dedicated storage arrays, reducing overall system complexity while maintaining reliability through the universal nodes' ability to perform both compute and storage roles
2Stability of the object's composition
If dedicated storage arrays are used, then storage stability is improved, but adaptability and scalability worsen
Solution Approach 1:
The storage architecture transitions from static dedicated arrays to dynamic virtualized storage pools. Storage resources are dynamically allocated and reassigned through virtualizers running on compute nodes, allowing flexible adaptation to changing workload requirements while maintaining stable access through virtualization abstractions that present consistent interfaces regardless of physical resource location
Solution Approach 2:
Storage resources are segmented into discrete virtual volumes managed by individual storage virtualizers on each compute node. This segmentation enables independent management and allocation of storage resources across the distributed system, improving scalability while maintaining stability through the modular virtualization layer that abstracts physical storage details
3Reliability
If dual redundant controllers are implemented, then reliability is improved, but hardware costs and resource requirements increase
Solution Approach 1:
Instead of duplicating physical storage controllers, the system creates virtual copies of storage resources through software-based storage virtualization. Each compute node runs a storage virtualizer that manages local storage, providing redundant control functionality through software rather than requiring additional physical controller hardware, thereby reducing hardware resource requirements while maintaining reliability
Solution Approach 2:
The patent replaces mechanical/physical storage controller hardware with software-based storage virtualization running on standard compute nodes. This substitution eliminates the need for specialized dual-controller storage arrays, reducing hardware costs and resource requirements while maintaining fault tolerance through software-based redundancy and failover mechanisms
Data Source
Figure 1~2
Figure 3
Figure 4
AI summary
A data storage system (30) has at least two universal nodes each having CPU resources (12), memory resources (13), network interface resources (14), and a storage virtualiser (20). A system controller (31) communicates with all of the nodes (2). Each storage virtualizer (31) in each universal node is allocated by the system controller a number of storage provider resources (34) that it manages. The system controller (31) maintains a map for dependency of virtual appliances (17) to storage providers, and the storage virtualiser provides storage to its dependent virtual appliances (17) either locally or through a network protocol (N_IOC, S_IOC) to another universal node. The storage virtualizer (20) manages storage providers (34) and is tolerant to fault conditions. The storage virtualiser (20) can migrate from any one universal node to any other universal node.