Non-Disruptive Data Migration Between Heterogeneous Storage Arrays
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current storage area network technologies face challenges in non-disruptively migrating data between heterogeneous storage arrays, leading to downtime and compatibility issues due to limited migration options and incompatibility of array-based copy tools with older systems.
Innovation Solution
A method and system that involve querying a name server database to obtain port names and information about the source storage array, generating a target array at the destination with matching ports and storage capacity, and reconfiguring the name server database to associate port names, allowing seamless data migration without disrupting host communications.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If traditional storage array replacement methods are used, then the new storage array can be implemented, but downtime and service interruption occur during migration
Solution Approach 1:
The system performs preliminary actions by creating a virtual representation of the source storage array at the destination array before actual data migration begins. This includes pre-configuring the virtual array with matching port names, LUN identifiers, and capacity specifications, so that when data is copied, the destination is already prepared to accept and present the migrated data without interruption to host systems.
Solution Approach 2:
The patent introduces a virtual array as an intermediary layer between the source and destination physical arrays. This virtual array acts as a mediator that maintains the same interface and identification scheme as the source array, allowing hosts to continue accessing storage through the familiar virtual interface while data is transparently migrated to the new physical array in the background.
2Productivity
If array-based copy tools are used for data migration, then migration speed can be improved, but compatibility with older heterogeneous storage arrays is lost
Solution Approach 1:
The system achieves universality by creating a vendor-agnostic virtual array interface that can represent and migrate data from any storage array platform. The virtual array uses standardized identifiers (port names, LUN IDs, capacity specifications) that are independent of the source array's vendor or model, enabling the same migration methodology to work across heterogeneous environments including older arrays that may not support modern array-based copy tools.
Solution Approach 2:
The patent employs copying by creating a virtual copy of the source array's interface and configuration at the destination. Instead of requiring specialized tools that copy data along with vendor-specific metadata, the system copies only the essential interface characteristics (port names, LUN identifiers, capacity) to create a compatible virtual representation that can be populated from any source array through standard data copy mechanisms.
3Productivity
If storage array upgrading is performed, then system performance and capabilities can be improved, but host system reconfiguration is required
Solution Approach 1:
The virtual array serves as an intermediary that absorbs the complexity of the upgrade. Host systems continue to interact with the virtual array using the same port names and LUN identifiers they used before the upgrade, while the system transparently handles the mapping between these virtual identifiers and the new physical array's actual ports and LUNs. This eliminates the need for host reconfiguration despite significant backend changes.
Solution Approach 2:
The system performs preliminary configuration of the virtual array at the destination with exact matches to the source array's interface characteristics. By pre-establishing the same port names, LUN identifiers, and capacity allocations in the virtual representation before migration begins, the system ensures that hosts experience no change in their interface to the storage system, making the upgrade transparent to operations.
4Device complexity
If direct data copying between heterogeneous arrays is attempted, then migration can be simplified, but configuration mismatches and compatibility issues arise
Solution Approach 1:
The virtual array acts as a configuration intermediary that standardizes the interface between heterogeneous source and destination arrays. It maintains a canonical set of identifiers (port names, LUN IDs, capacity specifications) that mediate between the source array's native configuration scheme and the destination array's requirements, ensuring compatibility without requiring direct mapping between potentially incompatible systems.
Solution Approach 2:
The system employs parameter changes by translating and adapting configuration parameters during the virtualization process. The virtual array accepts configuration parameters from the source array (port names, LUN identifiers, capacity) and transforms them into the appropriate format for the destination array, handling any parameter mismatches or incompatibilities through this parameter translation layer rather than requiring direct parameter matching between heterogeneous systems.
Data Source
AI summary
Described is non-disruptive data migration from a source array to a heterogeneous destination array. A name server database is queried to obtain port names for each source array port. The source array is queried to obtain information about each source array LUN. A target array is generated at the destination array for receiving a copy of data resident at the source array. The target array has at least as many ports and at least as many LUNs as the source array. Each source array LUN corresponds to a target array LUN and is equal in storage capacity as that corresponding LUN. All data resident in the source array LUNs are copied to corresponding target array LUNs. The name server database is reconfigured to associate source port names with the port addresses of the target array such that the target array appears to a host as the source array.


