Source: http://www.google.com/patents/US8190852?dq=6526440
Timestamp: 2016-10-22 11:56:48
Document Index: 534103260

Matched Legal Cases: ['Application No. 2002', 'art 20', 'art 7', 'art 7', 'art 7', 'art 7', 'art 7', 'art 7', 'art 7', 'art 7', 'art 7', 'art 7', 'art 7', 'art 7']

Patent US8190852 - Virtualization controller and data transfer control method - Google PatentsSearch Images Maps Play YouTube News Gmail Drive More »Sign inPatentsSystem for controlling data transfer between a host system and storage devices. A virtualization controller implements the data transfer and includes first ports for connection with the storage devices, a second port for connection with the host system, a processor, and a memory configured to store volume...http://www.google.com/patents/US8190852?utm_source=gb-gplus-sharePatent US8190852 - Virtualization controller and data transfer control methodAdvanced Patent SearchTry the new Google Patents, with machine-classified Google Scholar results, and Japanese and South Korean patents.Publication numberUS8190852 B2Publication typeGrantApplication numberUS 11/723,229Publication dateMay 29, 2012Filing dateMar 19, 2007Priority dateNov 25, 2002Fee statusPaidAlso published asUS7263593, US7366853, US7694104, US7877568, US8572352, US20040103261, US20040250021, US20060195676, US20070162721, US20070192558, US20120297159Publication number11723229, 723229, US 8190852 B2, US 8190852B2, US-B2-8190852, US8190852 B2, US8190852B2InventorsKiyoshi Honda, Naoko Iwami, Kazuyoshi SerizawaOriginal AssigneeHitachi, Ltd.Export CitationBiBTeX, EndNote, RefManPatent Citations (191), Non-Patent Citations (11), Classifications (25), Legal Events (1) External Links: USPTO, USPTO Assignment, EspacenetVirtualization controller and data transfer control method
US 8190852 B2Abstract
1. A virtualization system comprising:
a plurality of sections, each section of the plurality of sections including a processing circuit,
wherein a first section of the plurality of sections is configured to store first mapping information, and a second section of the plurality of sections is configured to store second mapping information, each of the first and second mapping information including a relationship between first volume identification information, which is used by a computer system to access a virtual volume in the virtualization system, and second volume identification information for identifying a first logical volume of a first storage device, the first storage device having a first disk controller and a plurality of first disk drives related to the first logical volume, the relationship being used for transferring data, which is sent from the computer system and is related to the first volume identification information, to the first logical volume,
wherein the virtualization system receives the data, which is sent from the computer system and is related to the first volume identification information, during a data transfer phase in which data stored in the first logical volume is transferred to a second logical volume of a second storage device, the second storage device having a second disk controller and a plurality of second disk drives related to the second logical volume, and wherein the data received during the data transfer phase is adapted to be written to the second logical volume,
wherein the virtualization system changes the relationship and transfers the data, which is sent from the computer system and is related to the first volume identification information, to the second logical volume, the changed relationship relating the first volume identification information to third volume identification information for identifying the second logical volume, and
wherein the plurality of sections are a plurality of port sections comprising the processing circuit and an interface control part, the interface control part being configured to be coupled to at least one of the computer system and the first and second storage devices.
2. The virtualization system according to claim 1, wherein
the first and second mapping information are changed based on the data transfer phase.
3. The virtualization system according to claim 1, wherein
the first section is a first port section comprising a first interface control part, the first interface control part being configured to be coupled to at least one of the computer system and the first and second storage devices.
4. The virtualization system according to claim 3, wherein
the second section is a second port section comprising a second interface control part, the second interface control part being configured to be coupled to at least one of the computer system and the first and second storage devices.
5. The virtualization system according to claim 1, wherein
the volume identification information corresponds to a Logical Unit Number (LUN).
6. The virtualization system according to claim 1, wherein
the data received during the data transfer phase is adapted to be written to the first logical volume and the second logical volume.
7. A data transfer method of a virtualization system comprising a plurality of sections, each section of the plurality of sections including a processing circuit, the data transfer method comprising:
storing first mapping information in a first section of the plurality of sections;
storing second mapping information in a second section of the plurality of sections, each of the first and second mapping information including a relationship between first volume identification information, which is used by a computer system to access a virtual volume in the virtualization system, and second volume identification information for identifying a first logical volume of a first storage device, the first storage device having a first disk controller and a plurality of first disk drives related to the first logical volume;
transferring data, which is sent from the computer system and is related to the first volume identification information, to the first logical volume based on the relationship;
receiving the data, which is sent from the computer system and is related to the first volume identification information, during a data transfer phase in which data stored in the first logical volume is transferred to a second logical volume of a second storage device, the second storage device having a second disk controller and a plurality of second disk drives related to the second logical volume, and wherein the data received during the data transfer phase is adapted to be written to the second logical volume; and
changing the relationship and transferring the data, which is sent from the computer system and is related to the first volume identification information, to the second logical volume, the changed relationship relating the first volume identification information to third volume identification information for identifying the second logical volume,
wherein the plurality of sections is a plurality of port sections comprising the processing circuit and an interface control part, the interface control part being configured to be coupled to at least one of the computer system and the first and second storage devices.
8. The data transfer method according to claim 7, wherein
9. The data transfer method according to claim 7, wherein
10. The data transfer method according to claim 9, wherein
11. The data transfer method according to claim 7, wherein
wherein the volume identification information corresponds to a Logical Unit Number (LUN).
12. The data transfer method according to claim 7, wherein
13. A computer program product stored in a computer readable storage medium and executable by a virtualization system including a plurality of sections, each section of the plurality of sections including a processing circuit, the computer program product comprising:
a code for storing first mapping information in a first section of the plurality of sections;
a code for storing second mapping information in a second section of the plurality of sections, each of the first and second mapping information including a relationship between first volume identification information, which is used by a computer system to access a virtual volume in the virtualization system, and second volume identification information for identifying a first logical volume of a first storage device, the first storage device having a first disk controller and a plurality of first disk drives related to the first logical volume;
a code for transferring data, which is sent from the computer system and is related to the first volume identification information, to the first logical volume based on the relationship;
a code for receiving the data, which is sent from the computer system and is related to the first volume identification information, during a data transfer phase in which data stored in the first logical volume is transferred to a second logical volume of a second storage device, the second storage device having a second disk controller and a plurality of second disk drives related to the second logical volume, and wherein the data received during the data transfer phase is adapted to be written to the second logical volume; and
a code for changing the relationship and transferring the data, which is sent from the computer system and is related to the first volume identification information, to the second logical volume, the changed relationship relating the first volume identification information to third volume identification information for identifying the second logical volume,
14. The computer program product according to claim 13, wherein
15. The computer program product according to claim 13, wherein
16. The computer program product according to claim 15, wherein
17. The computer program product according to claim 13, wherein
18. The computer program product according to claim 13, wherein
The present application is a continuation of application Ser. No. 10/663,480, filed Sep. 15, 2003 (now U.S. Pat. No. 7,263,593) and claims priority from Japanese Patent Application No. 2002-340276, filed on Nov. 25, 2002, the entire disclosure of which is incorporated herein by reference.
The present invention relates to methods and systems for transferring data between a plurality of storage devices, and more particularly to methods and systems for transferring data between the plurality storage devices without a host computer issuing an access request to a storage device being aware of the data transfer process.
FIG. 4 shows a case that the virtual volume identified by LUN=0 which is accessed through the virtual port identified by Port ID=V_Pid.sub.—1, Port Name=V_Pname.sub.—1 is mapped to (correlated with) the real volume identified by LUN=0 which is accessed through the real port identified by Port ID=P_Pid.sub.—1, Port Name=P_Pname.sub.—1.
A virtual port may have a plurality of virtual volumes. In the case shown in FIG. 4, the virtual port identified by Port ID=V_Pid.sub.—2, Port Name=V_Pname.sub.—2 has two virtual volumes, LUN=0 (5 GB), LUN=1 (5 GB), which are mapped to real volumes identified by Port ID=V_Pid—2, Port Name=V_Pname—2, LUN=0 (5 GB) and Port ID=V_Pid—1, Port Name=V_Pname.sub.—1, LUN=1 (5 GB), respectively.
FIG. 5 shows a case that the port identified by Port ID=P_Pid.sub.—1, Port Name=P_Pname.sub.—1, Node Name=P_Nname.sub.—1 has the real volumes identified by LUN=0 (10 GB), LUN=1 (5 GB) and the port identified by Port ID=P_Pid.sub.—2, Port Name=P_Pname.sub.—2, Node Name=P_Name 2 has the real volume identified by LUN=0 (5 GB), and the port identified by Port ID=P_Pid.sub.—3, Port Name=P_Pname.sub.—3, Node Name=P_Nname.sub.—3 has the real volume identified by LUN=1 (10 GB).
FIG. 6 outlines how an access request is processed when the host computer 1 accesses a storage device virtualized by the virtualization controller 2 (virtual storage device). As shown in FIG. 6, the host computer 1 issues a request for access to the virtual volume LUN=0 (10 GB) of the virtual volume identified by Port ID=V_Pid.sub.—1, Port Name=V_Pname.sub.—1, among the virtual volume group 60 which includes a plurality of virtual volumes virtualized by the virtualization controller 2.
After this, a series of operations, including data reception/transmission between the host computer 1 and the storage device 3 and transmission of status information, are carried out through the virtualization controller 2. In data reception/transmission, transmission of status information, etc., frame data which is transmitted between the host computer 1 and the storage device 3 is also converted by the virtualization processor 505. Here, conversion does not mean conversion of data itself but conversion of information added to data such as destination (receiver) identification information (DID), source (sender) identification information (S_ID), error detection code CRC (Cyclic Redundancy Check) and the like. For example, if the virtualization controller 2 receives an access request with D_ID=V_Pid.sub.—1 from the host computer 1, the routing processor 501 converts its D_ID into P_Pid.sub.—1 using volume mapping information, newly generates CRC, adds it to the frame data and sends the converted frame data to the storage device 3. On the other hand, if the virtualization controller 2 receives frame data with S_ID=P_Pid.sub.—1 from the storage device 3, the routing processor 501 converts its S_ID into V_Pid.sub.—1, replaces the CRC in the frame data by the newly generated CRC and sends the frame data to the host computer 1.
FIG. 7 shows a case that a request for storing (transferring) data stored in the real volume identified by Port ID=P_Pid.sub.—1, Port Name=P_Pname.sub.—1, LUN=0 into the real volume identified by Port ID=P_Pid.sub.—3, Port Name=P_Pname.sub.—3, LUN=1 arises under a certain condition and the administrator issues a data transfer request through the managing unit 4 to the virtualization controller 2. The data transfer request issued from the managing unit contains data transfer control information 413 including information for identifying the source and destination real volumes for data transfer (Port ID, Port Name, LUN, etc.).
In the virtualization controller 2 which has received the data transfer request, the data transfer processor 503 of the main control part 20 analyzes data transfer control information and performs processing for data transfer according to the result of the analysis. In other words, as in the case shown in FIG. 7, under the control of the data transfer processor 503, the virtualization controller 2 issues a data transfer (copy) request to the storage device 3 having the real volume identified by Port ID=P_Pid.sub.—1, Port Name=P_Pname.sub.—1, LUN=0. This data transfer request contains information for identifying the destination real volume for data transfer (Port ID=P_Pid.sub.—3, Port Name=P_Pname.sub.—3, LUN=1 in the case shown in FIG. 7). The storage device having the port identified by P-Pid-1 which has received the data transfer request, sends the data stored in the real volume identified by LUN=0 to the real volume identified by Port ID=P_Pid.sub.—3, Port Name=P_Pname.sub.—3, LUN=1. The storage device having the port identified by P_Pid.sub.—3 stores the frame_ata received from the storage device having the port identified by P_Pid.sub.—1, in the real volume identified by LUN=1. Data transfer is thus performed by copying the data from the storage device with the port identified by P_Pid.sub.—1 to the storage device with the port identified by P_Pid.sub.—3.
FIG. 8 shows an example of volume mapping information 515 revised as a result of the data transfer process shown in FIG. 7, where the real volume mapped to (correlated with) the virtual volume identified by Port ID=V_Pid.sub.—1, Port Name=V_Pname.sub.—1, LUN=0 is changed from the real volume identified by Port ID=P_Pid.sub.—1, Port Name=P_Pname.sub.—1, LUN=0 (source real volume) to the real volume identified by Port ID=P_Pid.sub.—3, Port Name=P_Pname.sub.—3, LUN=1 (destination real volume).
FIG. 8 shows that the real volume identified by Port ID=P_Pid.sub.—1, Port Name=P_Pname.sub.—1, LUN=0 (source real volume) and the real volume identified by Port ID=P_Pid.sub.—3, Port Name=P_Pname.sub.—3, LUN=1 (destination real volume) are registered as the real volumes which are mapped to (correlated with) the virtual volume identified by Port ID=V_Pid.sub.—1, Port Name=V_Pname—1, LUN=0. Furthermore, the status information of the virtual volume management information 520 is “Active” for the real volume identified by Port ID=P_Pid.sub.—3, Port Name=P_Pname.sub.—3, LUN=1 and Inactive for the real volume identified by Port ID=P_Pid.sub.—1, Port Name=P_Pname—1, LUN=0. An access request to a virtual volume is executed on a real volume whose status information is “Active”. For example, if the routing processor transmits an access request or frame data according to the volume mapping information 515 shown in FIG. 8, the request for access to the virtual volume identified by Port ID=V_Pid.sub.—1, Port Name=V_Pname.sub.—1, LUN=0 or data transmission according to this request is executed on the real volume identified by Port ID=P_Pid.sub.—3, Port Name=P_Pname.sub.—3, LUN=1, depending on the status information of the virtual volume management information 520.
In this embodiment, as mentioned above, when data in a real volume owned by a storage device is transferred to a real volume owned by another storage device, mapping (correlation) between the virtual and real volumes is revised by the data transfer processor 503. However, the identification information which the host computer uses to access a volume is information for identifying a virtual volume (Port ID, Port Name of the virtual port and LUN of the virtual volume) which does not change even when data transfer is made. Let's look at the case of data transfer shown in FIG. 7. When the host computer issues an access request to the virtual volume identified by Port ID=V_Pid.sub.—1, Port Name=V_Pname.sub.—1, LUN=0, before data transfer the virtualization processor 505 sends the access request to the real volume identified by Port ID=P_Pid.sub.—1, Port Name=P_Pname.sub.—1, LUN=0 according to the volume mapping information 515 shown in FIG. 4. After data transfer, the virtualization processor 505 sends the access request to the real volume identified by Port ID=P_Pid.sub.—3, Port Name=P_Pname.sub.—3, LUN=1 according to the volume mapping information 515 shown in FIG. 8. Therefore, according to this embodiment, it is possible to transfer data between storage devices without revising the identification information which the host computer uses to identify the volume to be accessed.
The volume mapping information 515 shown in FIG. 8 contains information for identifying an uncompleted command issued to a real volume. In the case shown in FIG. 8, uncompleted commands C_id.sub.—0, C_id.sub.—1, C_id.sub.—2 are registered in the source real volume identified by P_Pid.sub.—1, P_Pname.sub.—1, LUN=0 and uncompleted commands C_id.sub.—3, C_id.sub.—4 (commands to the virtual volume for data transfer which the virtualization controller 2 receives from the host computer after the data transfer processor 503 sends the data transfer request to the source real volume) are registered in the destination real volume identified by Port ID=P_Pid.sub.—3, Port Name=P_Pname.sub.—3, LUN=1. A command is registered in the volume mapping information by the virtualization controller 2 when the virtualization controller 2 receives it from the host computer, and deleted when the virtualization controller 2 receives, from a storage device, status information or the like which notifies of completion of a process that depends on the command. However, when the virtualization controller 2 sends the data transfer request to the source real volume, it registers a command to the virtual volume for data transfer which it receives from the host computer 1, in an entry for the destination real volume. If the virtualization controller 2 receives status information on completion of a data write command from the source storage device 3 after it sends the data transfer request to the source real volume, it only sets information on completion of the command in the volume mapping information 515 without deleting the registered uncompleted command. The volume mapping information 515 may contain not only information for identifying uncompleted commands but also command information, though omitted in FIG. 8.
FIG. 12 shows an example of volume mapping information 515 which has entries for registration of personal information. As shown in FIG. 12, the real volumes identified by P_Pid.sub.—1 (LUN=0 or 1), P_Pid.sub.—2 (LUN=0) and P_Pid.sub.—3 (LUN=0) have personal information and the corresponding virtual volumes have personal information in the same way as the real volumes.
Here, the personal information assigned to a virtual volume need not coincide with the personal information of the corresponding real volume (for example, while the virtual volume identified by V_Pid.sub.—2 (LUN=0) has personal information “DDD.sub.—01,” the corresponding real volume has personal information “BBB.sub.—01.”) The personal information assigned to virtual volumes may be generated by the virtualization controller 2 and registered in the volume mapping information 515 as information for identifying the virtual volumes. Even if the real volumes do not have personal information, the virtualization controller 2 can generate personal information for the virtual volumes and register it in the volume mapping information 515. As in the case that the personal information (“AAA.sub.—00”) of the virtual volume identified by V_Pid.sub.—2 (LUN=1) is the same as that of the corresponding real volume (“AAA.sub.—00”), a virtual volume may have the same personal information as the corresponding real volume.
In addition, personal information assigned to a virtual volume need not be revised even if the real volume corresponding to the virtual volume is changed and data transfer is performed. For example, personal information “AAA.sub.—01” assigned to V_Pid.sub.—1 (LUN=0, Active) does not coincide with the personal information of the corresponding real volume, “CCC.sub.—01,” but coincides with the personal information of the real volume before data transfer, “AAA.sub.—01.” This is because the virtual volume identified by V_Pid.sub.—1 (LUN=0, Active) had the same personal information as the corresponding real volume before data transfer and, even after data transfer, inherits the same personal information as that of the source real volume.
FIG. 13 shows a case that the host computer 1 accesses the real volume identified by personal information “AAA.sub.—01.”
First, let's assume that the host computer 1 is connected to a storage device with no intermediation of the virtualization controller 2. As shown in FIG. 13, the real volume having personal information “AAA.sub.—01” can be accessed through the port of the storage device 3 identified by Port ID=P_Pid.sub.—1, Port Name=P_Pname.sub.—1. The storage device identification processor 14 receives the personal information “AAA.sub.—01” from the storage device 3 which has this port, and thus identifies this storage device 3 as the device to be accessed. Then the host computer 1 issues an access request to the storage device 3 to be accessed, using the source address information (Port ID=P_Pid.sub.—1) and real volume identification information (LUN=0) included in the frame of the received personal information (“AAA.sub.—01”). After this, data transmission from the host computer 1 to the storage device 3 according to the access request is made using the frame containing identification information Port ID=P_Pid.sub.—1, LUN=0.
Next, let's assume that, as shown in FIG. 13, the host computer 1 is connected to a storage device 3 through the virtualization controller 2 and the storage device is to be under virtualization control. The virtualization processor 505 of the virtualization controller 2 assigns a virtual volume to the real volume of the storage device 3 (registers information for identifying a virtual volume correlated with the real volume, in the volume mapping information 515) and, for the virtual volume, sets the same personal information as the personal information “AAA.sub.—01” of the real volume, in the volume mapping information 515.
As a result of the abovementioned operation of the virtualization processor 505, the storage device identification processor 15 of the host computer 1 requests the device connected through the network to send its personal information, and the virtualization controller 2 sends the personal information “AAA.sub.—01” to the host computer 1. Therefore, when the storage device identification processor 15 of the host computer 1 receives the personal information “AAA.sub.—01” from the virtualization controller 2, it decides that the volume to be accessed is the virtual volume of the virtual storage device identified by the source (sender) address information (Port ID=V_Pid.sub.—1) and virtual volume identification information (LUN=0) included in the received frame. Then the host computer sends an access request and data to the virtual volume to be accessed by sending a frame containing identification information Port ID=V_Pid.sub.—1, LUN=0. The frame containing identification information Port ID=V_Pid.sub.—1, LUN=0 is converted by the virtualization routing processor 505 of the virtualization controller 2 into a frame addressed to the real volume identified by Port ID=P_Pid.sub.—1, LUN=0, which is then sent to the storage device 3 having the port identified by Port ID=P_Pid.sub.—1. The steps which are taken after the host computer 1 detects (decides) the storage device to be accessed are the same as those in the first embodiment, so a detailed description of these steps is omitted.
As described above, the storage device identification processor 15 of the host computer 1 can detect the storage device or volume to be accessed, using the personal information “AAA.sub.—01” set on the virtual volume for the virtual post identified by Port ID=V_Pid.sub.—1, Port Name=V_Pname.sub.—1, even when the storage device is under virtualization control of the virtualization controller 2.
Also, FIG. 13 shows that Port ID (P_Pid.sub.—1) for the real volume is different from Port ID (V_Pid.sub.—1) for the virtual volume. However, the present invention is not limited thereto. Since Port ID can be assigned to the virtual port by the virtualization controller 2, Port ID for a virtual volume may also be the same (namely Port ID=P_Pid.sub.—1) as Port ID of the real port used to access the real volume corresponding to this virtual volume.
The figure concerns a case that the data stored in the real volume identified by Port ID=P_Pid.sub.—1 and the personal information “AAA.sub.—01” is transferred to the real volume identified by Port ID=P_Pid.sub.—3 and the personal information “CCC.sub.—01.” In the case shown in FIG. 14, as personal information of the virtual volume, the same information (AAA.sub.—01) as the personal information of the real volume correlated with the virtual volume is used. After data transfer, even when the real volume correlated with the virtual volume is changed by the data transfer, the virtualization processor 505 of the virtualization controller 2 inherits the personal information “AAA.sub.—01” of the source real volume as the personal information of the virtual volume without any revision.
FIG. 17 shows the configuration of a computer system in which a host computer and a storage device each have more than one port. The host computer 1 shown in FIG. 17 is different from the one shown in FIG. 13 in that it has a plurality of ports 13 (Hid.sub.—1, Hid.sub.—2). The storage device 3 shown in FIG. 17 is different from the one shown in FIG. 13 in that it has more than one port 33 (P_Pid1, P_Pid2).
First, let's assume that port Hid.sub.—1 of the host computer 1 is connected via path 5-a to port P_Pid.sub.—1 of the storage device 3 and port Hid.sub.—2 of the host computer 1 is connected via path 5-b to port P_Pid.sub.—2 of the storage device 3. The volume management information as shown in FIG. 18 is stored in the memory 11 of the host computer 1, and according to this volume management information, the host computer 1 uses the primary path 5-a passing through ports Hid.sub.—1 and P_Pid.sub.—1 to access the real volume identified by personal information AAA.sub.—01, and uses the primary path 5-b passing through ports Hid.sub.—2 and P_Pid.sub.—2 to access the real volume identified by personal information AAA.sub.—02.
1. Since the path 5-b is disconnected, the host computer 1 must change the path for access to the real volume identified by AAA.sub.—02 from the path 5-b to the path 5-a. So, in order to temporarily stop access to the real volume identified by AAA.sub.—02, the storage device identification processor 15 registers the status information of this real volume in the volume management information as “Inactive.” Under the control of the CPU 10 of the host computer, the path for access to the real volume identified by AAA.sub.—02 is switched to the path 5-a which is registered as a secondary path in the volume management information. After switching of the paths, the storage device identification processor 15 returns the status information of the real volume identified by AAA.sub.—02 in the volume management information to “Active.” The abovementioned process is performed by the CPU 10 according to an instruction which the user of the host computer gives via an input device such as a keyboard. Alternatively, arrangements may be made that the storage device identification processor 15 automatically performs the process. In other words, it is also possible that the storage device identification processor 15 refers to the volume management information and automatically switches from the primary path to the secondary path.
2. Next, the path 5-b is disconnected and a virtualization controller 2 is connected between the host computer 1 and the storage device 3. In this case, port Hid.sub.—2 of the host computer 1 is connected via path 5-c to port 23 of the virtualization controller 2 and port P_Pid.sub.—2 of the storage device 3 is connected via path 5-d to port 23 of the virtualization controller 2.
3. Once the virtualization controller 2 is connected with the computer system, the volume mapping information 515 for the virtualization controller 2 must be set. In this embodiment, in order to specify the virtual volume to be correlated with the real volume identified by AAA.sub.—02 in the storage device 3, the virtualization processor 505 of the virtualization controller 2 registers virtual Port ID (Port ID=V_Pid.sub.—01) and virtual Port Name (Pname=V_Pname.sub.—1) in the volume mapping information 515 in relation to this real volume. The virtualization processor 505 assigns to this virtual volume the same personal information as the personal information AAA.sub.—02 of the corresponding real volume, which is registered in the volume mapping information 515. The volume mapping information is set according to input information which the managing unit 4 receives from the user. In other words, the information which the managing unit 4 receives from the user is sent to the virtualization processor 505 of the virtualization controller 2 under the control of the volume manager 401 and the virtualization processor 505 sets volume mapping information according to that information.
4. After the volume mapping information 515 has been set, the host computer 1 receives an instruction from the user and requests other devices connected with it to send their personal information. The virtualization controller 2, which has received this request, sends personal information AAA.sub.—02 to the host computer.
5. The host computer 1, which has received the personal information AAA.sub.—02 from the virtualization controller 2, knows from the sender address (Port ID=V_Pid.sub.—01, etc.) included in the received frame that it has received personal information from a new device. Then, again the storage device identification processor 15 changes the status information of the real volume identified by AAA.sub.—02 to “Inactive.” And it changes the primary path for access to the real volume identified by AAA.sub.—02 as registered in the volume management information from the path passing through port Hid.sub.—2 and port P_Pid.sub.—2 to the path passing through port Hid.sub.—2 and port V_Pid.sub.—01 (virtual port), according to the sender address included in the received frame. Under the control of the CPU 10 of the host computer, this new primary path is now used to access the real volume identified by AAA.sub.—02. After switching of the paths, the storage device identification processor 15 returns the status information of the real volume identified by AAA.sub.—02 to “Active.”
Though the volume management information including status information for each volume is shown above, the volume management information can include different types of status information. For example, status information for each access pass (i.e., status information for a primary pass and status information for a secondary pass), which indicates whether or not a real volume can be accessed via each access pass, can be included in the volume management information. Then storage device identification processor 15 can decide which access pass can be used to access the real volume according to the status information. If the host computer has a storage device manager similar to the one which the managing unit 4 has, the host computer can maintain such status information in the volume management information. Once the abovementioned steps have been taken, even after the host computer 1 is connected with the virtualization controller 2, it can identify the real volume of the storage device using the same personal information (AAA.sub.—02) as before connection of the virtualization controller 2. Therefore, even when the virtualization controller 2 is newly introduced in the computer system and the host computer issues an access request to the virtual volume, there is no need to set new personal information on the host computer. For this reason, the host computer need not stop a process which it is performing.
FIG. 15 shows an example of volume mapping information 515 where the real volume identified by Port ID=P_Pid.sub.—1, Port Name=P_Pname.sub.—1, LUN=3 (5 GB) and the real volume identified by Port ID=P_Pid.sub.—2, Port Name=P_Pname.sub.—2, LUN=1 (5 GB) constitute one virtual volume identified by Port ID=P_Pid.sub.—3, Port Name=P_Pname.sub.—3, LUN=0 (10 GB). The volume management table (FIG. 15) is the same as the one shown in FIG. 12 except that two real volumes are assigned to one virtual volume and address information for the real volumes is added as an entry to the virtual volume management information 520. In the case shown in FIG. 15, the personal information of the real volume identified by Port ID=P_Pid.sub.—1, Port Name=P_Name.sub.—1, LUN=3 is used as the personal information of the virtual volume identified by Port ID=V_Pid.sub.—3, Port Name=V_Pname.sub.—3, LUN=0.
When two storage devices send read data according to one read access request simultaneously, it is desirable that until forwarding of the data received from one storage device to the host computer is completed, the virtualization controller 2 suspend forwarding of the read data received from the other storage device. For example, if the virtualization controller 2 receives read data from the storage device with the real volume identified by P_Pid.sub.—1, P_Pname.sub.—1, LUN=3 (5 GB) and the storage device with the real volume identified by P_Pid.sub.—2, P_Pname.sub.—2, LUN=1 (5 GB), the virtualization controller 2 temporarily stores the read data from the storage device with the real volume identified by P_Pid.sub.—2, P_Pname.sub.—2, LUN=1 (5 GB) to suspend forwarding of the read data. Moreover, when two storage devices send response data according to one read access request, the virtualization controller 2 generates one response data based on the two response data received from the two storage devices, and sends the generated response data to the host computer.
FIG. 23 is a table showing an example of virtualization routing control information 530 which is managed by each component of the virtualization controller 2. The virtualization routing control information 530 is generated, referenced or updated when each component of the virtualization controller 2 performs the frame data transfer process as mentioned later. It has source management information 534 (which includes source identification and source-specified command identification) and destination management information 535 (which includes destination identification and self-specified command identification). The command identification is information which is added to individual frame data in order to identify which command is relevant to the frame data being transferred between the source and destination. Although a detailed explanation of the composition of frame data is not given here, frame data at least contains information for identifying the source (sender)/destination (receiver) of the frame data (source/destination identification), frame data type information, and header information including command identification, and payload information including access request information or status information or data. FIG. 23 suggests, as an example of virtualization routing control information 530 which is held and managed by the port section 8 (In Port) connected with the host computer 1, that the port section 8 has received three commands identified by Host_Tag.sub.—1, Host_Tag.sub.—2, and Host_Tag.sub.—3 from the host computer identified by Host_Pid.sub.—1 and respectively has added command identifiers InPort_Tag.sub.—1, InPort_Tag.sub.—2, and InPort_Tag.sub.—3 (which it has specified) to the commands and respectively has sent them to the storage control part 7-1 (SC#1 in FIG. 23), storage control part 7-2 (SC#2 in FIG. 23) and port section 8 (Out Port in FIG. 23).
Next, an explanation will be given of the data transfer process in this embodiment where different access paths between a host computer and a storage device offering a real volume are available. In this embodiment, a port section 8 or the storage control part 7-1 or storage control part 7-2 performs the data transfer process and, upon completion of data transfer, updates the volume mapping information 515. Which component is to perform this process is determined according to the virtualization module management information 523 of the volume mapping information 515. In other words, the component registered as a virtualization module in the virtualization module management information 523 performs the data transfer process for the corresponding virtual volume and updates the volume mapping information 515. For example, if the volume mapping information 515 is as shown in FIG. 22, the storage control part 7-2 performs the data transfer process for the virtual volume identified by Port ID=V_Pid.sub.—2, Port Name=V_Pname.sub.—2, LUN=0 and updates the volume mapping table. The sequences for data transfer and volume mapping table updating are the same as in the first embodiment.
As shown in FIG. 25, V_Pid.sub.—1, V_Pid.sub.—2, and V_Pid.sub.—3 are registered as virtual volume management information managed by the port section 8 (In Port). This indicates that the port section 8 (In Port) constitutes an access path for three virtual volumes (V_Pid.sub.—1, V_Pid.sub.—2, and V_Pid.sub.—3) which the virtualization controller 2 offers to the host computer. Likewise, FIG. 26 indicates that the storage control part 7-2 constitutes an access path for the virtual volume V_Pid.sub.—2; and FIG. 27 indicates that the port section 8 (Out Port) constitutes an access path for two virtual volumes (V_Pid.sub.—2 and V_Pid.sub.—3). In addition, the virtualization module management information in FIGS. 25, 26 and 27 indicates that the storage control part 7-1 (SC#1), storage control part 7-2 (SC#2), and Out Port perform virtualization of the virtual volumes identified by V_Pid.sub.—1, V_Pid.sub.—2, and V_Pid.sub.—3, respectively.
Therefore, the access path between the virtual volume V_Pid.sub.—1 and the host is of the first type, namely a path which leads from In Port through the backplane 9 to the storage control part 7-1 in which virtualization is performed. The access path between the virtual volume V_Pid.sub.—2 and the host is of the second type, namely a path which leads from In Port through the backplane 9 to the storage control part 7-2 in which virtualization is performed, and then (after virtualization) leads through Out Port and reaches an external storage. The access path between the virtual volume V_Pid.sub.—3 and the host is of the third type, namely a path which leads from In Port through the backplane 9 to Out Port 7-1 in which virtualization is performed, skipping the storage control parts.
FIGS. 28 to 30 show examples of volume mapping information 515 which are respectively held by the port section 8 (In Port), storage control part 7-2, and port section 8 (Out Port) after the access path to the virtual volume (V_Pid.sub.—2) shown in FIGS. 25 to 27 has been changed from the second type to the third type and data transfer between external storages 3 (data transfer from the real volume identified by P_Pid.sub.—2 and LUN 0 to the real volume identified by P_Pid.sub.—3 and LUN 1) has been made.
FIG. 28 and FIG. 30 respectively show volume mapping information which is held by the port section 8 (In Port) and the port section 8 (Out Port) respectively. As indicated by FIG. 28 and FIG. 30, the identification for the real volume corresponding to the virtual volume identified by V_Pid.sub.—2 is replaced by P_Pid.sub.—3, P_Pname.sub.—3, LUN 1, which is destination real volume identification, and the virtualization module management information is replaced by “Out Port” which represents the port section to perform virtualization in the new access path (third type access path). FIG. 29 shows volume mapping information which is held by the storage control part 7-2. In the third type access path, the storage control part does not constitute an access path which is used to offer a virtual volume to the host computer. Therefore, the entry for the virtual volume identified by V_Pid.sub.—2 is deleted here.
Patent CitationsCited PatentFiling datePublication dateApplicantTitleUS3771137Sep 10, 1971Nov 6, 1973IbmMemory control in a multipurpose system utilizing a broadcastUS4025904Sep 8, 1975May 24, 1977Texas Instruments IncorporatedProgrammed allocation of computer memory workspaceUS4710868Jun 29, 1984Dec 1, 1987International Business Machines CorporationInterconnect scheme for shared memory local networksUS5155845Jun 15, 1990Oct 13, 1992Storage Technology CorporationData storage system for providing redundant copies of data on different disk drivesUS5408465Jun 21, 1993Apr 18, 1995Hewlett-Packard CompanyFlexible scheme for admission control of multimedia streams on integrated networksUS5459857Sep 27, 1994Oct 17, 1995Storage Technology CorporationFault tolerant disk array data storage subsystemUS5504882Jun 20, 1994Apr 2, 1996International Business Machines CorporationFault tolerant data storage subsystem employing hierarchically arranged controllersUS5548712Jan 19, 1995Aug 20, 1996Hewlett-Packard CompanyData storage system and method for managing asynchronous attachment and detachment of storage disksUS5574950Mar 1, 1994Nov 12, 1996International Business Machines CorporationRemote data shadowing using a multimode interface to dynamically reconfigure control link-level and communication link-levelUS5680580Feb 28, 1995Oct 21, 1997International Business Machines CorporationRemote copy system for setting request interconnect bit in each adapter within storage controller and initiating request connect frame in response to the setting bitUS5680640Sep 1, 1995Oct 21, 1997Emc CorporationSystem for migrating data by selecting a first or second transfer means based on the status of a data element map initialized to a predetermined stateUS5758118Dec 8, 1995May 26, 1998International Business Machines CorporationMethods and data storage devices for RAID expansion by on-line addition of new DASDsUS5809285Dec 21, 1995Sep 15, 1998Compaq Computer CorporationComputer system having a virtual drive array controllerUS5835954Sep 12, 1996Nov 10, 1998International Business Machines CorporationTarget DASD controlled data migration moveUS5870537Mar 13, 1996Feb 9, 1999International Business Machines CorporationConcurrent switch to shadowed device for storage controller and device errorsUS5895485Feb 24, 1997Apr 20, 1999Eccs, Inc.Method and device using a redundant cache for preventing the loss of dirty dataUS5917723May 22, 1995Jun 29, 1999Lsi Logic CorporationMethod and apparatus for transferring data between two devices with reduced microprocessor overheadUS5956750Apr 4, 1997Sep 21, 1999Hitachi, Ltd.Apparatus and method for reallocating logical to physical disk devices using a storage controller, with access frequency and sequential access ratio calculations and displayUS5978890Jan 8, 1997Nov 2, 1999Hitachi, Ltd.External storage control device and data transfer method between external storage control devicesUS6012123Jun 10, 1997Jan 4, 2000Adaptec IncExternal I/O controller system for an independent access parity disk arrayUS6044444Mar 17, 1997Mar 28, 2000Emc CorporationRemote data mirroring having preselection of automatic recovery or intervention required when a disruption is detectedUS6058451 *Dec 22, 1997May 2, 2000Emc CorporationMethod and apparatus for refreshing a non-clocked memoryUS6098129Apr 1, 1998Aug 1, 2000Hitachi, Ltd.Communications system/method from host having variable-length format to variable-length format first I/O subsystem or fixed-length format second I/O subsystem using table for subsystem determinationUS6101497Apr 25, 1997Aug 8, 2000Emc CorporationMethod and apparatus for independent and simultaneous access to a common data setUS6108748Feb 28, 1997Aug 22, 2000Emc CorporationSystem and method for on-line, real time, data migrationUS6173374Feb 11, 1998Jan 9, 2001Lsi Logic CorporationSystem and method for peer-to-peer accelerated I/O shipping between host bus adapters in clustered computer networkUS6195730Jul 24, 1998Feb 27, 2001Storage Technology CorporationComputer system with storage device mapping input/output processorUS6209002Feb 17, 1999Mar 27, 2001Emc CorporationMethod and apparatus for cascading data through redundant data storage unitsUS6216202 *Jun 30, 1998Apr 10, 2001Emc CorporationMethod and apparatus for managing virtual storage devices in a storage systemUS6219753Jun 4, 1999Apr 17, 2001International Business Machines CorporationFiber channel topological structure and method including structure and method for raid devices and controllersUS6230239Dec 11, 1997May 8, 2001Hitachi, Ltd.Method of data migrationUS6240486Jul 29, 1999May 29, 2001Emc CorporationSystem and method for on-line, real time, data migrationUS6240494Dec 16, 1998May 29, 2001Hitachi, Ltd.Subsystem replacement methodUS6247099Jun 3, 1999Jun 12, 2001International Business Machines CorporationSystem and method for maintaining cache coherency and data synchronization in a computer system having multiple active controllersUS6247103Jan 6, 1998Jun 12, 2001International Business Machines CorporationHost storage management control of outboard data movement using push-pull operationsUS6341329Feb 9, 2000Jan 22, 2002Emc CorporationVirtual tape systemUS6356977Dec 12, 2000Mar 12, 2002Emc CorporationSystem and method for on-line, real time, data migrationUS6363462Jan 15, 1999Mar 26, 2002Lsi Logic CorporationStorage controller providing automatic retention and deletion of synchronous back-up dataUS6374327Feb 14, 2001Apr 16, 2002Hitachi, Ltd.Method of data migrationUS6446141Mar 25, 1999Sep 3, 2002Dell Products, L.P.Storage server system including ranking of data sourceUS6446175Jul 28, 1999Sep 3, 2002Storage Technology CorporationStoring and retrieving data on tape backup system located at remote storage system siteUS6453354Mar 3, 1999Sep 17, 2002Emc CorporationFile server system using connection-oriented protocol and sharing data sets among data moversUS6457109Aug 18, 2000Sep 24, 2002Storage Technology CorporationMethod and apparatus for copying data from one storage system to another storage systemUS6457139Dec 30, 1998Sep 24, 2002Emc CorporationMethod and apparatus for providing a host computer with information relating to the mapping of logical volumes within an intelligent storage systemUS6480934Sep 28, 1999Nov 12, 2002Hitachi, Ltd.Storage control unit and method for handling data storage system using thereofUS6484173Jun 27, 2000Nov 19, 2002Emc CorporationControlling access to a storage deviceUS6490659Mar 31, 2000Dec 3, 2002International Business Machines CorporationWarm start cache recovery in a dual active controller with cache coherency using stripe locks for implied storage volume reservationsUS6523096Mar 13, 2001Feb 18, 2003Hitachi, Ltd.Apparatus for and method of accessing a storage region across a networkUS6529976Jun 15, 2000Mar 4, 2003Hitachi, Ltd.Heterogeneous computer system, heterogeneous input output system and data back-up method for the systemsUS6542961Dec 21, 1999Apr 1, 2003Hitachi, Ltd.Disk storage system including a switchUS6553408Jul 2, 1999Apr 22, 2003Dell Products L.P.Virtual device architecture having memory for storing lists of driver modulesUS6560673Jan 31, 2001May 6, 2003Hewlett Packard Development Company, L.P.Fibre channel upgrade pathUS6587935Aug 27, 2002Jul 1, 2003Emc CorporationMethod and apparatus for mirroring data in a remote data storage systemUS6598134Aug 30, 2001Jul 22, 2003Emc CorporationSystem and method for on-line, real time, data migrationUS6622220Mar 15, 2001Sep 16, 2003Hewlett-Packard Development Company, L.P.Security-enhanced network attached storage deviceUS6640278Jan 12, 2000Oct 28, 2003Dell Products L.P.Method for configuration and management of storage resources in a storage networkUS6640291Aug 10, 2001Oct 28, 2003Hitachi, Ltd.Apparatus and method for online data migration with remote copyUS6647387Apr 27, 2000Nov 11, 2003International Business Machine CorporationSystem, apparatus, and method for enhancing storage management in a storage area networkUS6647474Aug 20, 2002Nov 11, 2003Emc CorporationRemote data mirroring system using local and remote write pending indicatorsUS6647476Dec 22, 2000Nov 11, 2003Hitachi, Ltd.Subsystem replacement methodUS6654830Dec 6, 1999Nov 25, 2003Dell Products L.P.Method and system for managing data migration for a storage systemUS6654831Mar 7, 2000Nov 25, 2003International Business Machine CorporationUsing multiple controllers together to create data spansUS6675258Jun 30, 2000Jan 6, 2004Lsi Logic CorporationMethods and apparatus for seamless firmware update and propagation in a dual raid controller systemUS6675268Dec 11, 2000Jan 6, 2004Lsi Logic CorporationMethod and apparatus for handling transfers of data volumes between controllers in a storage environment having multiple paths to the data volumesUS6681303Aug 19, 1999Jan 20, 2004Hitachi, Ltd.Storage systemUS6681339Jan 16, 2001Jan 20, 2004International Business Machines CorporationSystem and method for efficient failover/failback techniques for fault-tolerant data storage systemUS6684310Jan 12, 2001Jan 27, 2004Fujitsu LimitedAccess control method and storage device using sameUS6687758Mar 7, 2001Feb 3, 2004Alacritech, Inc.Port aggregation for network connections that are offloaded to network interface devicesUS6697367Jun 12, 2000Feb 24, 2004Emc CorporationMultihop system callsUS6708232Feb 12, 2001Mar 16, 2004Hitachi, Ltd.Data migration method, protocol converter and switching apparatus using itUS6718404Jun 1, 2001Apr 6, 2004Hewlett-Packard Development Company, L.P.Data migration using parallel, distributed table driven I/O mappingUS6745281Jun 28, 2000Jun 1, 2004Nec CorporationFiber channel connection magnetic disk device and fiber channel connection magnetic disk controllerUS6772315May 24, 2001Aug 3, 2004Rambus IncTranslation lookaside buffer extended to provide physical and main-memory addressesUS6799255Feb 2, 2001Sep 28, 2004Emc CorporationStorage mapping and partitioning among multiple host processorsUS6816948Aug 8, 2001Nov 9, 2004Hitachi, Ltd.Storage system certifying a host computerUS6826778Mar 13, 2002Nov 30, 2004Autodesk Canada Inc.Data storageUS6851020Mar 30, 2001Feb 1, 2005Hitachi, Ltd.Storage subsystem that connects fiber channel and supports online backupUS6857057Oct 3, 2002Feb 15, 2005Hewlett-Packard Development Company, L.P.Virtual storage systems and virtual storage system operational methodsUS6876656Jun 15, 2001Apr 5, 2005Broadcom CorporationSwitch assisted frame aliasing for storage virtualizationUS6883064Feb 19, 2002Apr 19, 2005Hitachi, Ltd.Disk array controller comprising a plurality of disk array controlling unitsUS6922761Mar 25, 2002Jul 26, 2005Emc CorporationMethod and system for migrating dataUS6973549Aug 13, 2002Dec 6, 2005Incipient, Inc.Locking technique for control and synchronizationUS6976103Aug 23, 2000Dec 13, 2005Hitachi, Ltd.Data migration method using storage area networkUS6976134Jan 18, 2002Dec 13, 2005Emc CorporationPooling and provisioning storage resources in a storage networkUS7051121Apr 25, 2003May 23, 2006Hitachi, Ltd.Method for controlling storage system, and storage control apparatusUS7054893Feb 28, 2002May 30, 2006Hitachi, Ltd.Method and apparatus for relocating data related to database management systemUS7263593Sep 15, 2003Aug 28, 2007Hitachi, Ltd.Virtualization controller and data transfer control methodUS20010000818Dec 22, 2000May 3, 2001Teruo NagasawaSubsystem replacement methodUS20010050915Mar 22, 2001Dec 13, 2001Emc CorporationMultipath multihop remote data facilityUS20010052018May 31, 2001Dec 13, 2001Hidenori YokokuraNetwork system, network device, access restriction method for network device, storage medium, and programUS20010054133Feb 23, 2001Dec 20, 2001Akira MurotaniData storage system and method of hierarchical control thereofUS20020003022May 15, 2001Jan 10, 2002Csida Jason GenePresentation and bonding of garment side panelsUS20020004857Apr 12, 2001Jan 10, 2002Hiroshi ArakawaComputer systemUS20020004890Aug 30, 2001Jan 10, 2002Yuval OfekSystem and method for on-line, real time, data migrationUS20020019908Jun 1, 2001Feb 14, 2002Reuter James M.System and method for managing virtual storageUS20020019920Jun 1, 2001Feb 14, 2002Reuter James M.Process for fast, space-efficient disk copies using parallel distributed table driven I/O mappingUS20020019922Jun 1, 2001Feb 14, 2002Reuter James M.Data migration using parallel, distributed table driven I/O mappingUS20020019923Jun 1, 2001Feb 14, 2002Reuter James M.Distributed fine-grained enhancements for distributed table driven I/O mappingUS20020026558Jun 1, 2001Feb 28, 2002Reuter James M.Architecture for parallel distributed table driven I/O mappingUS20020029326Jun 1, 2001Mar 7, 2002Reuter James M.Centralized fine-grained enhancements for distributed table driven I/O mappingUS20020032825 *Nov 26, 2001Mar 14, 2002Nobuyuki SazeBus controlling systemUS20020065864Jun 12, 2001May 30, 2002Hartsell Neal D.Systems and method for resource tracking in information management environmentsUS20020087544Dec 29, 2000Jul 4, 2002Selkirk Stephen S.Dynamically changeable virtual mapping schemeUS20020087751Jan 2, 2002Jul 4, 2002Advanced Micro Devices, Inc.Switch based scalable preformance storage architectureUS20020103889Jun 19, 2001Aug 1, 2002Thomas MarksonVirtual storage layer approach for dynamically associating computer storage with processing hostsUS20020112113Jan 11, 2002Aug 15, 2002Yotta Yotta, Inc.Storage virtualization system and methodsUS20020124108Feb 21, 2001Sep 5, 2002Terrell William C.Secure multiprotocol interfaceUS20020133735Jan 16, 2001Sep 19, 2002International Business Machines CorporationSystem and method for efficient failover/failback techniques for fault-tolerant data storage systemUS20020156887Jul 19, 2001Oct 24, 2002Hitachi, Ltd.Storage network switchUS20020156984Feb 20, 2001Oct 24, 2002Storageapps Inc.System and method for accessing a storage area network as network attached storageUS20020156987Feb 13, 2002Oct 24, 2002Confluence Neworks, Inc.Storage virtualization and storage management to provide higher level storage servicesUS20020178328Feb 26, 2002Nov 28, 2002Kiyoshi HondaStorage subsystemUS20020178335Jun 19, 2001Nov 28, 2002Storage Technology CorporationApparatus and method for dynamically changeable virtual mapping schemeUS20020188592Jun 11, 2001Dec 12, 2002Storage Technology CorporationOutboard data storage management system and methodUS20020194428Mar 29, 2002Dec 19, 2002Intransa, Inc., A Delaware CorporationMethod and apparatus for distributing raid processing over a network linkUS20020194523Jan 29, 2002Dec 19, 2002Ulrich Thomas R.Replacing file system processors by hot swappingUS20030037071Aug 3, 2001Feb 20, 2003International Business Machines CorporationQuiesce system storage device and method in a dual active controller with cache coherency using stripe locks for implied storage volume reservationsUS20030051109Jun 28, 2001Mar 13, 2003Cochran Robert A.Method and system for providing logically consistent logical unit backup snapshots within one or more data storage devicesUS20030056038Jun 28, 2001Mar 20, 2003Cochran Robert A.Method and system for providing advanced warning to a data stage device in order to decrease the time for a mirror split operation without starving host I/O request processsingUS20030079018Jan 18, 2002Apr 24, 2003Lolayekar Santosh C.Load balancing in a storage networkUS20030079019Jan 18, 2002Apr 24, 2003Lolayekar Santosh C.Enforcing quality of service in a storage networkUS20030093439Feb 28, 2002May 15, 2003Kazuhiko MogiMethod and apparatus for relocating data related to database management systemUS20030093541Jan 18, 2002May 15, 2003Lolayekar Santosh C.Protocol translation in a storage systemUS20030093567Jan 18, 2002May 15, 2003Lolayekar Santosh C.Serverless storage servicesUS20030097607Nov 21, 2001May 22, 2003Bessire Michael L.System and method for ensuring the availability of a storage systemUS20030101228Nov 2, 2001May 29, 2003Busser Richard W.Data mirroring between controllers in an active-active controller pairUS20030105931Nov 30, 2001Jun 5, 2003Weber Bret S.Architecture for transparent mirroringUS20030115218Dec 19, 2001Jun 19, 2003Bobbitt Jared E.Virtual file systemUS20030115432Dec 14, 2001Jun 19, 2003Biessener Gaston R.Data backup and restoration using dynamic virtual storageUS20030126327Dec 28, 2001Jul 3, 2003Pesola Troy RaymondVolume translation apparatus and methodUS20030126388Dec 27, 2001Jul 3, 2003Hitachi, Ltd.Method and apparatus for managing storage based replicationUS20030145168Feb 11, 2003Jul 31, 2003Lecrone Douglas E.Method and apparatus for maintaining data coherencyUS20030145169Mar 7, 2003Jul 31, 2003Teruo NagasawaSubsystem replacement methodUS20030158999Feb 21, 2002Aug 21, 2003International Business Machines CorporationMethod and apparatus for maintaining cache coherency in a storage systemUS20030163553Sep 16, 2002Aug 28, 2003Hitachi, Ltd.Storage system and method of copying dataUS20030167419Aug 20, 2002Sep 4, 2003Moshe YanaiRemote data mirroring system having a remote link adapterUS20030182525Mar 25, 2002Sep 25, 2003Emc CorporationMethod and system for migrating dataUS20030189936Oct 31, 2002Oct 9, 2003Terrell William C.Router with routing processors and methods for virtualizationUS20030200387Apr 29, 2003Oct 23, 2003Hitachi, Ltd.Storage system making possible data synchronization confirmation at time of asynchronous remote copyUS20030204597Jan 30, 2003Oct 30, 2003Hitachi, Inc.Storage system having virtualized resourceUS20030204700Apr 26, 2002Oct 30, 2003Biessener David W.Virtual physical drivesUS20030212854Nov 16, 2001Nov 13, 2003Hitachi, Ltd.Computer systemUS20030212860Feb 28, 2003Nov 13, 2003Hitachi, Ltd.System and method for storage systemUS20030221077Apr 25, 2003Nov 27, 2003Hitachi, Ltd.Method for controlling storage system, and storage control apparatusUS20030229645Sep 5, 2002Dec 11, 2003Hitachi, Ltd.Data mapping management apparatusUS20030229764Mar 21, 2003Dec 11, 2003Hitachi, Ltd.Data storage subsystemUS20030237019Jun 24, 2002Dec 25, 2003Kleiman Steven R.Using file system information in RAID data reconstruction and migrationUS20040003022Jun 27, 2002Jan 1, 2004International Business Machines CorporationMethod and system for using modulo arithmetic to distribute processing over multiple processorsUS20040028043Jul 31, 2002Feb 12, 2004Brocade Communications Systems, Inc.Method and apparatus for virtualizing storage devices inside a storage area network fabricUS20040049553Mar 6, 2003Mar 11, 2004Takashige IwamuraInformation processing system having data migration deviceUS20040054850Sep 18, 2002Mar 18, 2004Fisk David C.Context sensitive storage managementUS20040054866Sep 5, 2003Mar 18, 2004Blumenau Steven M.Mapping of hosts to logical storage units and data storage ports in a data processing systemUS20040064610Sep 17, 2003Apr 1, 2004Yasuko FukuzawaHeterogeneous computer system, heterogeneous input/output system and data back-up method for the systemsUS20040064641Sep 19, 2003Apr 1, 2004Hitachi, Ltd.Storage device with I/O counter for partial data reallocationUS20040068637Oct 3, 2002Apr 8, 2004Nelson Lee L.Virtual storage systems and virtual storage system operational methodsUS20040088417Oct 30, 2002May 6, 2004Bober Paul M.Method and apparatus for provisioning storage resourcesUS20040098547Jun 30, 2003May 20, 2004Yuval OfekApparatus and methods for transferring, backing up, and restoring data in a computer systemUS20040111485Feb 26, 2003Jun 10, 2004Yasuyuki MimatsuConnecting device of storage device and computer system including the same connecting deviceUS20040123180Aug 29, 2003Jun 24, 2004Kenichi SoejimaMethod and apparatus for adjusting performance of logical volume copy destinationUS20040139237Oct 28, 2003Jul 15, 2004Venkat RanganApparatus and method for data migration in a storage processing deviceUS20040143832Aug 8, 2003Jul 22, 2004Yasutomo YamamotoStorage unit, installation method thereof and installation program thereforUS20040148443Aug 7, 2003Jul 29, 2004Hitachi, Ltd.Method for controlling information processing system and information processing systemUS20040158652Feb 11, 2004Aug 12, 2004Kiyohiro ObaraData migration method, protocol converter and switching apparatus using itUS20040158673Feb 3, 2004Aug 12, 2004Hitachi, Ltd.Disk storage system including a switchUS20040172510Aug 29, 2003Sep 2, 2004Hitachi, Ltd.Storage system control method, storage system, information processing system, managing computer and programUS20040230980Mar 31, 2004Nov 18, 2004Masahiro KoyamaDecentralized control system for network connectionUS20040260875Jul 23, 2004Dec 23, 2004Hitachi, Ltd.Data storage system and method of hierarchical control thereofUS20040260966Feb 10, 2004Dec 23, 2004Keiichi KaiyaExternal storage and data recovery method for external storage as well as programUS20050010734Nov 3, 2003Jan 13, 2005Kenichi SoejimaData processing method with restricted data arrangement, storage area management method, and data processing systemUS20050010743Apr 6, 2004Jan 13, 2005Sun Microsystems, Inc.Multiple-thread processor for threaded software applicationsUS20050033878Oct 28, 2003Feb 10, 2005Gururaj PangalApparatus and method for data virtualization in a storage processing deviceUS20050055501Sep 8, 2004Mar 10, 2005Copan Systems, Inc.High-density storage systems using hierarchical interconnectUS20050081009Oct 8, 2003Apr 14, 2005Williams James A.Access controller for storage devicesUS20050138184Dec 17, 2004Jun 23, 2005Sanrad Ltd.Efficient method for sharing data between independent clusters of virtualization switchesUS20050240741Jun 30, 2005Oct 27, 2005Teruo NagasawaSubsystem replacement methodUS20050289299 *Jun 24, 2004Dec 29, 2005International Business Machines CorporationDigital data processing apparatus having multi-level register fileUSRE37305Dec 30, 1982Jul 31, 2001International Business Machines CorporationVirtual memory address translation mechanism with controlled data persistenceEP0670551A1Feb 2, 1995Sep 6, 1995International Business Machines CorporationRemote dual copy systemEP1130514A2 *Sep 14, 2000Sep 5, 2001Hitachi, Ltd.Data migration method using storage area networkJP10283272A Title not availableJP11065980A Title not availableJP2000163329A Title not availableJP2000242434A Title not availableJP2000293317A Title not availableJP2001067187A Title not availableJP2001249853A Title not availableJP2001331355A Title not availableJP2002157091A Title not availableJP2002230246A Title not availableJP2003150414A Title not availableWO03/060688A2 Title not available* Cited by examinerNon-Patent CitationsReference1"Introduction to Storage Pooling, Consolidation Storage Resources with Datacore SANsymphony Software", White Paper, DataCore Software, Jul. 2003, 8 pages.2"SAN Virtualization Guidelines", DataCore Software Corporation, 2000 pp. 1-9.3"SANRAD Application Note: Migrating Individual Servers to an iSCSI SAN", APP-004-01 SANRAD 2003, pp. 1-15.4"White Paper-Celerra Data Migration Service (CDMS)", EMC Corporation, Jan. 2002, pp. 1-13.5"White Paper—Celerra Data Migration Service (CDMS)", EMC Corporation, Jan. 2002, pp. 1-13.6E. Anderson, et al, "Hippodrome: Running Circles Around Storage Administration", Hewlett-Packard Laboratories, pp. 14.7Meggyesi "Fibre Channel Overview", High Speed Interconnect Project European Laboratory of Particle Physics (CERN) web page http://hsi.web.cern.ch (Aug. 1994).8P. Sarkar, et al "Internet Protocol Storage Area Networks", IBM Systems, Journal, vol. 4 2003, pp. 218-231.9S. Sicola, "SCSI-3 Fault Tolerant Controller Configurations Utilizing SCC & New Event Codes", High Availability Study Group, Doc. No. X3T10 95-312r3, Rev. 3.0, Feb. 28, 1996, pp. 1-4.10SANRAD Application Note: Data Migration Solution Transferring Data Between Storage Systems Over Fibre-Channel or SCSI Connections, APP-003-03, SANRAD 2003, pp. 1-9.11White Paper, "Network Attached Storage in the Data Protection Environment", Sony Electronics Inc., Feb. 2002, pp. 1-23.Classifications U.S. Classification711/205, 711/165, 711/E12.027, 711/114International ClassificationG06F12/08, G06F12/00, G06F3/06Cooperative ClassificationG06F3/061, G06F3/0613, G06F3/067, G06F3/0605, G06F3/0665, G06F3/0647, G06F3/0617, G06F3/0689, G06F3/0649European ClassificationG06F3/06A2P4, G06F3/06A4V4, G06F3/06A2R4, G06F3/06A4H2, G06F3/06A6D, G06F3/06A2A2, G06F3/06A2P, G06F3/06A6L4R, G06F3/06A4H2LLegal EventsDateCodeEventDescriptionNov 11, 2015FPAYFee paymentYear of fee payment: 4RotateOriginal ImageGoogle Home - Sitemap - USPTO Bulk Downloads - Privacy Policy - Terms of Service - About Google Patents - Send FeedbackData provided by IFI CLAIMS Patent Services