Virtual Array Failover via Fabric Name Server Updates
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current methods for partitioning storage systems into virtual arrays are complex and expensive, operating only at the storage array level, lacking a simple and cost-effective means to present virtual arrays to host systems and migrate data between them, while also requiring a failover mechanism.
Innovation Solution
The solution involves creating a system with multiple groups of logical units of storage, each with a unique virtual port address, allowing for failover between primary and secondary virtual arrays by replacing port names and LUN names/numbers, enabling transparent migration and failover without requiring complex array-level software.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If virtual arrays are partitioned at the storage array level using complex software, then data security and exclusive access are improved, but system complexity and cost increase
Solution Approach 1:
The patent introduces fabric-based virtualization as an intermediary layer between hosts and storage arrays. The fabric controller manages virtual array partitioning and access control, replacing complex array-level software with a centralized fabric-based solution. This mediator handles the virtualization functions while keeping the storage array itself simpler.
Solution Approach 2:
The patent replaces software-based virtualization at the array level with a fabric-based mechanism using FCP (Fibre Channel Protocol) and name server databases. Instead of running complex partitioning software on the storage array, the system uses fabric switches and protocol-level virtualization to achieve the same security and access control objectives.
2Adaptability or versatility
If data is migrated between virtual arrays, then flexibility and adaptability are improved, but data integrity and access continuity may be compromised
Solution Approach 1:
The patent implements a name copying mechanism where virtual array identifiers (names) are copied from the source virtual array to the destination virtual array in the fabric name server database. This allows hosts to access the same virtual array identifiers after migration without changing their access patterns, ensuring data integrity and continuous availability while enabling flexibility.
Solution Approach 2:
The patent performs preliminary updates to the fabric name server database before actual data migration. The virtual array identifiers are预先 (pre) registered and mapped in the fabric controller, so when migration occurs, hosts can seamlessly redirect to the new location without interruption. This preliminary setup ensures continuity during the migration process.
3Reliability
If failover mechanisms are implemented between virtual arrays, then system reliability is improved, but complexity and operational overhead increase
Solution Approach 1:
The patent uses the fabric controller as an intermediary to manage failover between virtual arrays. Instead of implementing complex failover logic in each storage array or host, the fabric controller centrally manages the name server database and handles failover coordination. This intermediary approach simplifies the overall system while maintaining high availability.
Solution Approach 2:
The patent makes the fabric name server database a universal component that handles multiple functions including virtual array identification, migration, and failover management. This single multi-functional mechanism replaces what would otherwise require separate complex systems for each function, reducing overall complexity while maintaining reliability.
Data Source
AI summary
Failover is provided between groups of logical units of storage presented as virtual arrays. A primary virtual array has at least one primary virtual port coupled to a fabric, each primary virtual port having a source virtual port name and a source virtual port address. A secondary virtual array has one or more secondary virtual ports coupled to the fabric, each secondary virtual port having a secondary virtual port name and a secondary virtual port address. All data resident on the primary virtual array is copied to the secondary virtual array. If a failure occurs in the primary virtual array, the secondary virtual port names and LUN names and numbers are replaced with the primary virtual port names and LUN names and numbers. The fabric then updates its name server database so that the database associates the primary virtual port names and LUN names and numbers with the secondary virtual port addresses.


