Inter-Array Data Copy via Direct Controller Transfer
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current data copying methods across different storage arrays are inefficient, requiring significant CPU resources, storage, and bandwidth, as they necessitate data read and write operations and intermediate storage on the host, leading to resource consumption and increased development and utilization costs.
Innovation Solution
The method involves obtaining globally unique identifiers for source and destination logical storage units across different storage arrays, allowing the storage arrays to perform inter-array data copy directly without host intervention, using SCSI commands to facilitate efficient data transfer.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If data copying is performed through host read and write operations, then data can be transferred between storage arrays, but host CPU resources, storage, and bandwidth are significantly consumed
Solution Approach 1:
The patent extracts the data copying function from the host system and relocates it to the storage array controllers. The host only needs to send a copy command with source and destination addresses, while the actual data transfer is performed directly between storage arrays through their controllers, eliminating the need for host CPU involvement in data read/write operations and reducing host resource consumption.
Solution Approach 2:
The storage array controllers act as intermediaries that facilitate direct data transfer between storage arrays. Instead of the host mediating every byte of data transfer, the controllers communicate with each other to perform the copy operation, reducing the burden on host resources while maintaining data integrity and control.
2Productivity
If data is read and written through the host, then copying can be achieved, but intermediate storage on the host increases costs and reduces efficiency
Solution Approach 1:
The patent removes the intermediate storage requirement from the host system. By enabling direct data transfer between storage arrays through controller-to-controller communication, the data flows directly from source to destination without being written to or read from host storage, eliminating the need for intermediate storage capacity on the host.
Solution Approach 2:
The patent implements a copy command mechanism where the source storage array controller directly copies data to the destination storage array controller without the host needing to store intermediate copies. This direct copying approach eliminates the multiplication of data storage requirements across multiple locations.
3Adaptability or versatility
If conventional data copying methods are used across storage arrays, then data transfer is possible, but development and utilization costs increase
Solution Approach 1:
The patent implements a universal copy command interface that works across different storage arrays through standardized controller communication protocols. The same copy command mechanism can be used for both intra-array and inter-array copying, eliminating the need for separate development paths and reducing utilization costs for users managing multiple storage arrays.
Solution Approach 2:
The storage array controllers serve as intelligent intermediaries that handle the complexity of inter-array data transfer, allowing users to issue simple copy commands without needing to manage the underlying complexity of data paths, protocols, and resource allocation, thereby reducing utilization costs.
Data Source
AI summary
Techniques for copying data involve: in response to receiving a request for copying data in a source address to a destination address, sending a first query and a second query to a first array associated with the source address and a second array associated with the destination address; receiving, from the first array, a first identifier as a response to the first query, the first identifier indicating a first logical storage unit in the first storage array corresponding to the source address; receiving, from the second array, a second identifier as a response to the second query, the second identifier indicating a second logical storage unit in the second array corresponding to the destination address; and triggering, based on the first and second identifiers, an inter-array data copy to perform copying the data. The first and second identifiers are globally unique at least for the storage array being triggered.


