USPatent applicationPatented

Disk array device and path failure detection method thereof

Granted 21 Jul 2009 · 2 office actions

Current assignee: Google · originally Hitachi, Ltd.

Law firm: Law firm · Log in to unlock

Attorney: Attorney · Log in to unlock

Inventors: Hironori Dohi · Examiner: Scott T Baderman · AU 2114 · TC 2100

Life of the application

12 dated events
⤢ drag to zoom20062008201020122014201620182020202220242026ProsecutionOwnershipTerm & fees
ProsecutionOwnershipTerm & feeshover for detail · click to open

Abstract

This disk array device includes a first control unit connected to a host system via a first path through which data is transmitted and received, a second control unit connected to the host system via a second path through which data is transmitted and received upon a failure, a memory storing control information, and a storage apparatus storing data transmitted from the host system; wherein the first control unit controls the transmission and reception of data between the host system and the storage apparatus conducted via the first path, and stores the control information used in the communication with the host system in the memory; and wherein the second control unit has a transmission unit for transmitting a command to the host system via the second path based on the control information used in the communication stored in the memory, and a determination unit for determining whether a failure occurred in the communication between the second control unit and the host system based on a response to the command.

Description

15 parts
›CROSS-REFERENCES TO RELATED APPLICATIONS

This application relates to and claims priority from Japanese Patent Application No. 2005-322437, filed on Nov. 7, 2005, the entire disclosure of which is incorporated herein by reference.

›BACKGROUND OF THE INVENTION

The present invention relates to a disk array device connected to a host system via network equipment such as a switch device, and to a path failure detection method thereof.

Conventionally, a storage system which, by connecting a plurality of host systems and a plurality of disk array devices via network equipment such as a switch device, transmits an access request from a host system to a disk array device via network equipment, stores data in a physical disk of the disk array device according to an access request in such disk array device, or reads data from the physical disk is becoming widely prevalent.

Here, for instance, a path failure between the host system and disk array device is detected by issuing a path check command from the host system to the disk array device, or connecting a network monitoring device between the host system and disk array device.

As a method for detecting this kind of path failure, proposed is a network monitoring device that estimates the failure location based on the notice of the occurrence of failure on a logical path and/or physical path on a network, outputs failure information including identification of the network relating to the failure, and outputs an index of the degree of influence corresponding to the failure location by associating it with the identification of the network together with the output of failure information (e.g., refer to Japanese Patent Application No. 2003-188876).

›SUMMARY OF THE INVENTION · 1 of 2

With the conventional method of detecting a path failure, a path check command is issued from a host system to a disk array device, and whether or not a path failure occurred is detected based on a response from the disk array device to the path check command. Thus, the host system is required to issue the path check command, confirm the response from the disk array device, manage information regarding whether there is a path failure, notify the administrator upon the occurrence of a path failure and other matters, and, as a result, the processing load of the host system will be significant. When the host system is not to check the path failure, it is necessary to check the path failure separately with a network monitoring device.

Further, in a storage system, as a measure against path failure, a system is employed where an alternate path to be used upon a path failure in the notification path is prepared in addition to a normal path to be used during normal use, and the path is switched from the normal path to the alternate path when a path failure occurs in the normal path in order to continue receiving data from the host system or transmitting data to the host system.

Nevertheless, with the conventional method of detecting a path failure, although it is possible to detect a path failure in the normal path since a path check command is issued from the host system to the disk array device, a path failure in the alternate path cannot be detected since it is not possible to access in advance the alternate path that is switched from the normal path upon a failure. Thus, when a path failure occurs in the alternate path, this will mean that a path failure is occurring in both the normal path and alternate path when the path is switched from the normal path to the alternate path. As a result, there is problem in that the reception of data from the host system or the transmission of data to the host system will be stopped.

The present invention was devised in view of the foregoing problems, and an object thereof is to provide a highly reliable disk array device capable of effectively preventing a path failure from occurring, and a path failure detection method thereof.

In order to achieve the foregoing object, the present invention provides a disk array device including a control unit connected to a host system via a path, a memory for storing control information, and a storage apparatus storing data transmitted from the host system; wherein the memory stores control information used in the communication with the host system; and wherein the control unit has a transmission unit for controlling the transmission and reception of data between the host system and the storage apparatus conducted via the path and transmitting a command to the host system via the path based on the control information used in the communication stored in the memory, and a determination unit for determining whether a failure occurred in the communication between the host system and the control unit based on a response to the command.

Accordingly, since it will be possible to check whether a failure occurred in the communication path with the disk array device, the processing load burden on the host system for checking the path failure can be reduced without have to separately provide a network monitoring device. Incidentally, as the control information used in the communication with the host system described above, for instance, a host information table HT described later may be used.

Further, the present invention also provides a disk array device including a first control unit connected to a host system via a first path through which data is transmitted and received, a second control unit connected to the host system via a second path through which data is transmitted and received upon a failure, a memory storing control information, and a storage apparatus storing data transmitted from the host system; wherein the first control unit controls the transmission and reception of data between the host system and the storage apparatus conducted via the first path, and stores the control information used in the communication with the host system in the memory; and wherein the second control unit has a transmission unit for transmitting a command to the host system via the second path based on the control information used in the communication stored in the memory, and a determination unit for determining whether a failure occurred in the communication between the second control unit and the host system based on a response to the command.

Accordingly, since it is possible to check in advance whether data can be transmitted and received to and from the host system via the alternate path, when the normal path is switched to the alternate path upon a failure, it will be possible to effectively prevent a situation of not being able to transmit and receive data to and from the host system via the alternate path from occurring.

Further, the present invention also provides a disk array device including a first control unit connected to a switch device connected to a host system via a first path through which data is transmitted and received, a second control unit connected to the switch device via a second path through which data is transmitted and received upon a failure, a memory for storing control information, and a storage apparatus for storing data transmitted from the host system; wherein the second control unit has a transmission unit for transmitting a first command to the first control unit via the second path and the switch device and the first path, and a determination unit for determining that a failure has not occurred in the communication between the second control unit and the switch device when there is a response to the first command.

Accordingly, since it is possible to check in advance whether data can be transmitted and received to and from the host system via the alternate path, when the normal path is switched to the alternate path upon a failure, it will be possible to effectively prevent a situation of not being able to transmit and receive data to and from the host system via the alternate path from occurring.

›SUMMARY OF THE INVENTION · 2 of 2

According to the present invention, since the disk array device is able to check a path failure by storing control information used in the communication with the host system in a memory and transmitting a path check command to the host system based on the control information stored in the memory, the processing load burden on the host system for checking the path failure can be reduced without have to separately provide a network monitoring device.

›BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a schematic diagram showing the configuration of a storage system according to the present embodiment;

FIG. 2 is a schematic diagram showing the configuration of a host information table;

FIG. 3 is a conceptual diagram for explaining an alternate path check;

FIG. 4 is a conceptual diagram for explaining an alternate path check;

FIG. 5 is a flowchart for explaining the processing sequence for creating a host information table;

FIG. 6 is a flowchart for explaining the processing sequence for measuring the transmission and reception of data;

FIG. 7 is a flowchart for explaining the processing sequence for checking the alternate path; and

FIG. 8 is a schematic diagram showing the configuration of a storage system according to another embodiment.

›DETAILED DESCRIPTION OF THE INVENTION · 1 of 10

An embodiment of the present invention is now described in detail with reference to the drawings.

(1) Configuration of Storage System According to Present Embodiment

FIG. 1 shows the system configuration of a storage system 1 according to the present embodiment. This storage system 1 is configured by having a plurality of host systems 2 ( 2 A to 2 D) and a disk array device 3 , and the host systems 2 being connected to the disk array device 3 via a network 4 .

Each host system 2 , for instance, is a host system having the likes of a CPU (Central Processing Unit) and memory, and specifically is a personal computer, workstation, mainframe computer or the like. Further, each host system 2 , for example, is equipped with application programs 11 ( 11 A to 11 D), and host ports 12 ( 12 A to 12 D) for accessing the disk array device 3 via the network 4 . Here, the application program 11 , for instance, is an application program of a database or the like using a storage resource provided by the disk array device 3 , or a management application program for managing the storage resource.

The network 4 , for example, is configured by a plurality of host systems 2 being connected to a plurality of switch devices 21 ( 21 A, 21 B), and the switch devices 21 ( 21 A, 21 B) being connected to the disk array device 3 .

Here, the network 4 is configured by including switch devices 21 ( 21 A, 21 B); connection paths 22 ( 22 A to 22 D) for connecting the host systems 2 ( 2 A to 2 D) and the switch devices 21 ( 21 A, 21 B); normal paths 23 ( 23 A, 23 B) for transmitting and receiving data during normal use; and alternate paths 24 ( 24 A, 24 B) for connecting the switch devices 21 ( 21 A, 21 B) and the disk array device 3 and transmitting and receiving data when a failure occurs in the normal paths 23 ( 23 A, 23 B).

The switch devices 21 ( 21 A, 21 B) are configured by including a plurality of switch ports 25 ( 25 A( 25 AA to 25 AH), 25 B ( 25 BA to 25 BH)). Here, the host port 12 A and switch port 25 AA are connected via a connection path 22 A, the host port 12 B and switch port 25 AC are connected via a connection path 22 B, the host port 12 C and switch port 25 BB are connected via a connection path 22 C, and the host port 12 D and switch port 25 BD are connected via connection path 22 D.

Incidentally, as the network 4 , for example, a LAN (Local Area Network), SAN (Storage Area Network), Internet, dedicated line, public line or the like may be suitably used. When the host system 2 is to be connected to the disk array device 3 via a LAN, it designates a file name and transmits and receives data in file units according to a TCP/IP (Transmission Control Protocol/Internet Protocol) protocol, and, when it is connected to the disk array device 3 via a SAN, it transmits data in block units, which is a data management unit of the storage resource provided by a plurality of hard disks, according to a fibre channel protocol.

Further, the host port 12 , for instance, is a LAN-compatible network card when the network 4 is a LAN, and, for example, is an HBA (Host Bus Adapter) when the network 4 is a SAN. Further, the switch device 21 , for instance, is a LAN switch when the network 4 is a LAN, and, for example, is a fibre channel switch when the network 4 is a SAN.

The disk array device 3 is configured by including NAS (Network Attached Storage) controllers 31 ( 31 A, 31 B), disk controllers 41 ( 41 A, 41 B) and a storage apparatus 51 .

The NAS controllers 31 A, 31 B are configured by including network I/F (interface) units 32 ( 32 A, 32 B), MPUs (Micro Processing Units) 33 ( 33 A, 33 B), memories 34 ( 34 A, 34 B), disk I/F units 35 ( 35 A, 35 B) and data controllers 36 ( 36 A, 36 B).

The network I/F units 32 A, 32 B, for instance, are configured from a prescribed communication interface or the like, and configured by including a plurality of network ports 37 ( 37 A ( 37 AA to 37 AD), 37 B ( 37 BA to 37 BD)) for accessing the switch devices 21 A, 21 B. Here, the switch port 25 AE and network port 37 AA are connected via a normal path 23 A, the switch port 25 BE and network port 37 AB are connected via a normal path 23 B, the switch port 25 AH and network port 37 BA are connected via an alternate path 24 A, and the switch port 25 BG and network port 37 BB are connected via an alternate path 24 B.

The memories 34 A, 34 B are storage memories used by the MPUs 33 A, 33 B and, for example, store NAS control information for controlling the disk array device 3 as NAS. And, the MPUs 33 A, 33 B control the disk array device 3 as NAS according to the NAS control information stored in the memories 34 A, 34 B.

The data controllers 35 A, 35 B, for instance, are configured from a switch such as a crossbar switch or a bus for performing data transmission via high-speed switching, are connected to the MPUs 33 A, 33 B, network I/F units 32 A, 32 B and disk I/F units 36 A, 36 B, and transfer the data write request, data read request, data to be written and data to be read among the MPUs 33 A, 33 B, network I/F units 32 A, 32 B and disk I/F units 36 A, 36 B.

The disk I/F units 36 A, 36 B, for example, are configured from a prescribed communication interface or the like, and are connected respectively to the management terminal 60 and disk controllers 41 A, 41 B.

The management terminal 60 is a terminal device for maintaining or managing the NAS controllers 31 A, 31 B and disk controllers 41 A, 41 B. A user of the management terminal 60 , by operating the management terminal 60 , for example, will be able to set a logical volume defined on a hard disk 51 described later, add or remove the hard disk 51 , change the setting of the RAID configuration (e.g., change the setting from RAID level 5 to RAID level 1), and so on.

The disk controllers 41 ( 41 A, 41 B) are configured by including channel controller 42 s ( 42 A, 42 B), disk controllers 43 ( 43 A, 43 B), cache memories 44 ( 44 A, 44 B), shared memories 45 ( 45 A, 45 B) and data controllers 46 ( 46 A, 46 B).

›DETAILED DESCRIPTION OF THE INVENTION · 2 of 10

The channel controllers 42 A, 42 B, for example, are configured as a microcomputer system respectively including a microprocessor (not shown), internal memory (not shown) and a communication interface, and assigned a network address (e.g., MAC (Media Access Control) address, WWN (World Wide Name), IP (Internet Protocol) address) for identifying the respective channel controllers. Further, the channel controllers 42 A, 42 B are respectively connected to the management terminal 60 .

The data controllers 46 A, 46 B, for instance, are configured from a switch such as a crossbar switch or a bus for performing data transmission via high-speed switching, are connected to the channel controllers 42 A, 42 B, disk controllers 43 A, 43 B, cache memories 44 A, 44 B and shared memories 45 A, 45 B, and transfer the data write request, data read request, data to be written and data to be read among the channel controllers 42 A, 42 B, disk controllers 43 A, 43 B, cache memories 44 A, 44 B and shared memories 45 A, 45 B.

Further, the data controllers 46 A, 46 B are communicably connected to the other data controllers 46 A, 46 B, and transfer the data write request, data read request, data to be written and data to be read to and from the other data controllers 46 A, 46 B.

The cache memories 44 A, 44 B and shared memories 45 A, 45 B are storage memories to be shared by the channel controllers 42 A, 42 B and disk controllers 43 A, 43 B. The cache memories 44 A, 44 B, for example, are capable of temporarily storing the data to be written or data to be read. The shared memories 45 A, 45 B, for instance, store management information for managing the data to be written and data to be read stored in the hard disk 51 and control information to be used by a program or the like, and are capable of temporarily storing the data write request and data read request.

The disk controllers 43 A, 43 B, for example, are configured as a microcomputer system respectively including the likes of a microprocessor (not shown) and internal memory (not shown), and execute processing of writing data in the hard disk 51 and reading data from the hard disk 51 according to the data write request and data read request stored in the shared memories 45 A, 45 B.

Here, the disk controllers 43 A, 43 B are capable of controlling the hard disk 51 according to a RAID level (e.g., RAID 1, RAID 5, etc.) prescribed with a so-called RAID (Redundant Array of Inexpensive Disks) system.

The storage apparatus 50 is configured from a plurality of hard disks 51 arranged in an array. This hard disk 51 , for instance, is configured from an ATA (Advanced Technology Attachment) hard disk, SATA (Serial-ATA) hard disk, SCSI (Small Computer System Interface) hard disk, SAS (Serial Attached SCSI) hard disk, fibre channel hard disk or the like.

And, for example, a group (RAID group or the like) operated under a RAID system is configured by combining a plurality of these hard disks 51 , and one or more logical volumes (hereinafter referred to as a logical volume) can be set in the storage area provided by the foregoing group.

Here, the flow of transmitting and receiving data between the host system 2 and disk array device 3 in the storage system 1 is explained. Incidentally, in the following explanation, the NAS controller 31 A connected to the normal path 23 is referred to as a normal path-side NAS controller [ 31 A], and the NAS controller 31 B connected to the alternate path 24 is referred to as an alternate path-side NAS controller 31 B. Moreover, in the following explanation, the disk controller 41 A connected to the normal path-side NAS controller 31 A is referred to as a normal path-side disk controller 41 A, and the disk controller 41 B connected to the alternate path-side NAS controller 31 B is referred to as an alternate path-side disk controller 41 B.

When an order to write data in the hard disk 51 of the disk array device 3 is given based on the user's operation, the host system 2 transmits a corresponding data write request and data to be written to the network I/F unit 32 A of the normal path-side NAS controller 31 A via the host port 12 , connection path 22 , switch ports 25 A to 25 D, switch device 21 , switch ports 25 E to 25 H, normal path 23 and network port 37 A, respectively.

When the network I/F unit 32 A receives the data write request and data to be written, the MPU 33 A of the normal path-side NAS controller 31 A converts the data write request and data to be written in file units into a data write request and data to be written in prescribed block units, and transmits such data write request and data to be written to the channel controller 42 A of the normal path-side disk controller 41 A via the data controller 35 A and disk I/F unit 36 A.

When the channel controller 42 A receives the data write request and data to be written, it writes the data write request in the shared memory 45 A via the data controller 46 A, and writes the data to be written in the cache memory 44 A via the data controller 46 A.

The disk controller 43 A is constantly monitoring the shared memory 45 A, and, when it detects that the data write request has been written in the shared memory 45 A, it converts the data write request designated by a logical address in block units into a data write request designated by a physical address, reads the data to be written from the cache memory 44 A, writes this in the address position of the corresponding hard disk 51 of the storage apparatus 50 according to the data write request, creates a data write request complete command, and transmits this data write request complete command to the host system 2 that transmitted the data write request.

Meanwhile, when an order to read data stored in the hard disk 51 of the disk array device 3 is given based on the user's operation, the host system 2 transmits a corresponding data read request to the network I/F unit 32 A of the normal path-side NAS controller 31 A via the host port 12 , connection path 22 , switch ports 25 A to 25 D, switch device 21 , switch ports 25 E to 25 H, normal path 23 and network port 37 A, respectively.

›DETAILED DESCRIPTION OF THE INVENTION · 3 of 10

When the network I/F unit 32 A receives the data read request, the MPU 33 A of the normal path-side NAS controller 31 A converts the data read request in file units into a data read request in prescribed block units, and transmits this data read request to the channel controller 42 A of the normal path-side disk controller 41 A via the data controller 35 A and disk I/F unit 36 A.

When the channel controller 42 A receives the data read request, it writes this data read request in the shared memory 45 A via the data controller 46 A.

The disk controller 43 A is constantly monitoring the shared memory 45 A, and, when it detects that the data read request has been written in the shared memory 45 A, it converts the data read request designated by a logical address in block units into a data read request designated by a physical address, reads the data to be read designated from the address position of the corresponding hard disk 51 of the storage apparatus 50 based on this physical address, writes the data to be read from this hard disk 51 in the cache memory 44 A, creates a data read request complete command, and writes this data read request complete command in the shared memory 45 A.

Here, the channel controller 42 A is constantly monitoring the shared memory 45 A, and, when it detects that the data read request complete command has been written in the shared memory 45 A, it reads the data to be read from the cache memory 44 A according to the data read request, reads the data read request and data read request complete command from the shared memory 45 A, and transmits these to the disk I/F unit 36 A of the normal path-side NAS controller 31 A.

When the disk I/F unit 36 A receives the data read request, data to be read and data read request complete command, the MPU 33 A of the normal path-side NAS controller 31 A converts the data read request, data to be read and data read request complete command in block units into a data read request, data to be read and data read request complete command in file units, transmits, according to the data read request, the data to be read to the host system 2 that transmitted the read request via the data controller 36 A, network I/F unit 32 A, network port 37 A, normal path 23 , switch ports 25 E to 25 H, switch device 21 , switch ports 25 A to 25 D, connection path 22 and host port 12 , respectively, and transmits the data read request complete command to the host system 2 .

Meanwhile, when the MPU 33 A of the normal path-side NAS controller 31 A detects the occurrence of a failure, it creates a failure occurrence command, and transmits this failure occurrence command to the MPU 33 B of the alternate path-side NAS controller 31 B via the data controller 35 A, disk I/F unit 36 A, channel controller 42 A, data controller 46 A, data controller 46 B, channel controller 42 B, disk I/F unit 36 B and data controller 35 B, respectively.

When the MPU 33 B of the alternate path-side NAS controller 31 B receives the failure occurrence command from the MPU 33 A of the normal path-side NAS controller 31 A, it creates a retransmission command, and transmits this retransmission command to the host system 2 that transferred a data write request and data to be written, or a data read request to and from the normal path-side NAS controller 41 A via the data controller 35 B, network I/F unit 32 B, network port 37 BA, alternate path 24 , switch ports 25 E to 25 H, switch device 21 , switch ports 25 A to 25 D, connection path 22 and host port 12 , respectively.

When the host system 2 receives the retransmission command from the MPU 33 B of the alternate path-side NAS controller 31 B, it transmits the data write request and data to be written, or the data read request transferred to and from the normal path-side NAS controller 31 A to the network I/F unit 32 B of the alternate path-side NAS controller 31 B via the host port 12 , connection path 22 , switch ports 25 A to 25 D, switch device 21 , switch ports 25 E to 25 H, alternate path 24 and network port 37 BA, respectively.

And, as a result of the MPU 33 B of the alternate path-side NAS controller 31 B, channel controller 42 B of the alternate path-side disk controller 41 B, and disk controller 43 B executing the same processing as the foregoing MPU 33 A of the normal path-side NAS controller 31 A, channel controller 42 A of the normal path-side disk controller 41 A, and disk controller 43 A, they write the data to be written in the address position of the corresponding hard disk 51 of the storage apparatus 50 , create a data write request complete command, and transmit this data write request complete command to the host system 2 that transmitted the data write request.

Moreover, the MPU 33 B of the alternate path-side NAS controller 31 B, channel controller 42 B of the alternate path-side disk controller 41 B, and disk controller 43 B transmit the data to be read to the host system 2 that transmitted the read request and transmit this data read request complete command to the host system 2 via the data controller 36 A, network I/F unit 32 A, network port 37 AA, normal path 23 , switch ports 25 E to 25 H, switch device 21 , switch ports 25 A to 25 D, connection path 22 and host port 12 , respectively.

With the storage system 1 , since the disk array device 3 is connected to the host system 2 via the normal path 23 and alternate path 24 as described above, even when a failure occurs in the normal path 23 , data can be transmitted and received to and from the host system 2 via the alternate path 24 . Further, in the foregoing case, in addition to a case where a failure occurs in the normal path 23 , even in a case when a failure occurs in the normal path-side NAS controller 31 A or the normal path-side disk controller 41 A, data can be transmitted and received to and from the host system 2 via the alternate path 24 .

Further, with the storage system 1 , since the host system 2 recognizes the NAS controller 31 A and NAS controller 31 B as a single NAS server, the host system 2 can configured to be accessible without having to consider the IP address of the disk array device 3 .

›DETAILED DESCRIPTION OF THE INVENTION · 4 of 10

With the foregoing configuration, by the NAS controller 31 B taking over the IP address of the NAS controller 31 A when a failure occurs, the access path upon a failure can be switched without having to change the setting of the host system 2 (or the IP conversion server managing the IP address).

When adopting the foregoing configuration, since the host system 2 is not able to comprehend the IP address of the NAS controller 31 B connected to the alternate path 24 if there is no failure in the normal path 23 , it will not be possible for the host system 2 to conduct the path check of the alternate path 24 .

In the present invention, as a result of the disk array device 3 performing the alternate path check processing with a host information table HT, when adopting the foregoing configuration, it will be possible to check the alternate path 24 before the path is switched from the normal path 23 to the alternate path 24 .

(2) Alternate Path Check Processing

Next, the alternate path check processing in the storage system 1 is explained. The storage system 1 according to the present embodiment is configured such that it is able to check whether the alternate path 24 is able to transmit and receive data to and from the host system 2 upon acquiring setting information of the (accessed) host system 2 that received the data write request or data read request, and transmitting and receiving data to and from the host system 2 for a predetermined time or longer.

Thereby, when data is transmitted and received to and from the host system 2 for a predetermined time or longer, since it is considered that data will be continuously transmitted and received to and from the host system thereafter, it will be possible to reduce the possibility of a miss check caused by the suspension of the host system 2 (a miss check of erroneously determining that there is a path failure, even when a path failure has not occurred, because the communication between the host system 2 and the NAS controller 31 B is disabled due to the suspension of the host system 2 ) upon checking the path failure between the host system 2 containing the alternate path 24 and the NAS controller 31 B.

Further, when data is transmitted and received to and from the host system 2 for a predetermined time or longer, data that is transmitted and received to and from the host system 2 will be continuous and become a large quantity. Here, if the switching of the path to the alternate path 24 is not possible, there is a risk that the continuous, large quantity data will go to waste. Therefore, by adopting a configuration where a check is performed upon transmitting and receiving data for a predetermined time or longer, and additional effect of reducing such risk of can be yielded by performing a failure check when the risk is high.

Needless to say, the timing of conducting this check is not limited to a case of transmitting and receiving data to and from the host system 2 for a predetermined time or longer, and may be variously set according to the mode or various operations of the storage system 1 .

In actuality, when the network I/F unit 32 A receives the data write request or data read request from the host system 2 , the MPU 33 A of the normal path-side NAS controller 31 A acquires the number of its NAS controller (normal path-side NAS controller 31 A), the number of the network port 37 AA that received the request, and the IP address and MAC address of the host system 2 that transmitted the request.

Further, the MPU 33 A of the normal path-side NAS controller 31 A is capable of measuring the time used in transmitting and receiving data to and from the host system 2 , and, by acquiring a host access flag showing the status of the data transmission and reception with the host system 2 based on such measurement, it is further capable of creating the host information table HT together with the number of its NAS controller, the number of the network port 37 AA, and the IP address and MAC address of the host system 2 .

In the foregoing case, FIG. 2 shows the host information table HT, and “0” bit to “3” bit of the “first” byte are used to store the data of the NAS controller number, “4” bit to “7” bit of the “first” byte are used to store the data of the network port 37 AA number, “second” byte to “fifth” byte are used to store the IP address of the host system 2 that transmitted the data write request or data read request, “sixth” byte to “eleventh” byte are used to store the MAC address of the host system that transmitted the data write request or data read request, and “twelfth” byte is used to store the data of “0x00”, for instance, when the time used for transmitting and receiving data to and from the host system 2 is less than 1 (minute), and to store the data of “0x01”, for instance, when the time used for transmitting and receiving data to and from the host system 2 is more than 1 (minute).

And, the MPU 33 A of the normal path-side NAS controller 31 A stores the created host information table HT in the shared memory 45 A via the data controller 35 A, disk I/F unit 36 A, channel controller 42 A of the normal path-side disk controller 41 A and data controller 46 A, respectively.

Here, the MPU 33 B of the alternate path-side NAS controller 31 B is constantly monitoring the shared memory 45 A, and when it detects that the host information table HT has been written in the shared memory 45 A, or that the host access flag of the host information table HT has been updated, it copies this host information table HT to the shared memory 45 B of the alternate path-side disk controller 41 B.

And, when the MPU 33 B of the alternate path-side NAS controller 31 B detects that the host access flag of the host information table HT has been updated to “0x01”, it creates an alternate path check command CC, and transmits this alternate path check command CC, for example, as shown in FIG. 3 , to the MPU 33 A of the normal path-side NAS controller 31 A via the data controller 35 B, network I/F unit 32 B, network port 37 BA, alternate path 24 A, switch port 25 AH, switch device 21 A, switch port 25 AE, normal path 23 A, network port 37 AA, network I/F unit 32 A and data controller 35 A, respectively.

›DETAILED DESCRIPTION OF THE INVENTION · 5 of 10

Incidentally, upon transmitting the alternate path check command CC, the MPU 33 B of the alternate path-side NAS controller 31 B acquires the IP address for transmitting the alternate path check command stored in the shared memory 45 , and transmits the alternate path check command with the acquired IP address as the source IP address.

This processing, specifically, for example, is achieved by registering the acquired IP address in a server managing the network IP address, and transmitting the alternate path check command upon attaching the registered IP address thereto.

Incidentally, even in cases where the configuration has a plurality of network ports of the alternate path-side NAS controller 31 A, by storing a single IP address for transmitting the alternate path check command stored in the shared memory 45 , the respective network ports 37 of the alternate path-side NAS controller 31 B will be able to transmit a check command with the IP address stored in the shared memory 45 as the source IP address upon conducting a path check.

When the MPU 33 A of the normal path-side NAS controller 31 A receives the alternate path check command CC, it creates a response command RC, and transmits this response command RC to the MPU 33 B of the alternate path-side NAS controller 31 B via the data controller 35 A, network I/F unit 32 A, network port 37 AA, normal path 23 A, switch port 25 AE, switch device 21 A, switch port 25 AH, alternate path 24 A, network port 37 BA, network I/F unit 32 B and data controller 35 B, respectively.

As described above, when the MPU 33 B of the alternate path-side NAS controller 31 B detects that the host access flag of the host information table HT has been updated to “0x01”, it creates an alternate path check command CC, transmits this alternate path check command CC to the MPU 33 A of the normal path-side NAS controller 31 A, and, by receiving a response command RC from the MPU 33 A of the normal path-side NAS controller 31 A, it is able to check in advance whether a path failure occurred in the alternate path 24 .

Incidentally, in the foregoing case, as the types of path failure to be detected regarding the alternate path 24 , for instance, trouble in the signal line of a cable used in the alternate path 24 , an unstable defect caused by the partial disconnection in the signal line in such cable, a physical failure of the network port 37 mounted on the network I/F unit 32 of the NAS controller 31 and so on may be considered.

Nevertheless, as a result of the foregoing processing, since it is possible to check in advance whether data can be transmitted and received via the alternate path 24 among the MPU 33 B of the NAS controller 31 B and the switch device 21 A and the MPU 33 A of the NAS controller 31 A, reliability of the alternate path 24 can be improved.

When the MPU 33 B of the alternate path-side NAS controller 31 B transmits the alternate path check command CC to the MPU 33 A of the normal path-side NAS controller 31 A, receives the response command RC from the MPU 33 A of the normal path-side NAS controller 31 A, and could not detect a failure in the alternate path 24 , it may further create an alternate path check command CC, and transmit this alternate path check command CC, for instance, a shown in FIG. 4 , to the host system 2 corresponding to the host information table HT in which the host access flag of the host information table HT was updated to “0x01” via the data controller 35 B, network I/F unit 32 B, network port 37 BA, alternate path 24 A, switch port 25 AH, switch device 21 A, switch port 25 AA, connection path 22 A and host port 12 A, respectively.

When the host system 2 A receives the alternate path check command CC, it creates a response command RC, and transmits this response command RC to the MPU 33 B of the alternate path-side NAS controller 31 B via the host port 12 A, connection path 22 A, switch port 25 AA, switch device 21 A, switch port 25 AH, alternate path 24 A, network port 37 BA, network I/F unit 32 B and data controller 35 B, respectively.

As a result of performing the foregoing processing, it is possible to detect the communication failure between the host system 2 and the MPU 33 B of the NAS controller 31 B which could occur even in a case when a failure is not detected in the path among the MPU 33 B of the NAS controller 31 B and the switch device 21 A and the MPU 33 A of the NAS controller 31 A as described above. As this kind of failure, for example, a zoning failure in the switch device 21 A where the communication among the switch port 25 AA and the switch device 21 A and the switch port 25 AH will become impossible may be considered.

As a result of this processing, since it will be possible to check in advance whether data can be transmitted and received between the host system 2 and the NAS controller 31 B via the alternate path 24 , when the path is switched from the normal path 23 to the alternate path 24 upon a failure, it will be possible to effectively prevent a situation of not being able to transmit and receive data to and from the host system 2 via the alternate path 24 from occurring.

Incidentally, by foremost conducting the path check among the MPU 33 A of the NAS controller 31 B and the switch device 21 A and the MPU 33 A of the NAS controller 31 A, when there is a failure in the alternate path 24 A, such failure can be detected without imposing burden on the host system 2 .

Further still, if the setting information of the network ports 37 AA to 37 AD mounted on the network I/F unit 32 A of the normal path-side NAS controller 31 A is also stored in the shared memory 45 A, a configuration of copying such setting information to the shared memory 45 B can be adopted.

As described above, by respectively corresponding the network ports 37 AA to 37 AD mounted on the network I/F unit 32 A of the normal path-side NAS controller 31 A with the network ports 37 BA to 37 BD mounted on the network I/F unit 32 B of the alternate path-side NAS controller 31 B, it will also be possible to take on a configuration wherein, even when switching from the normal path-side NAS controller 31 A to the alternate path-side NAS controller 31 B upon a failure, the position of the network port 37 will not change, and the network ports 37 BA to 37 BD corresponding to the network port 37 AA to 37 AD will take over the transmission and reception of data to and from the host system 2 .

›DETAILED DESCRIPTION OF THE INVENTION · 6 of 10

Incidentally, a case may also be considered where the host information table HT stored in the shared memory 45 is created based on information input from the administrator via the management terminal 60 or the like prior to the path check. By transmitting a path check command from the disk array device 3 to the host system 2 based on the host information table HT, it will be possible to check whether a failure occurred in the communication path between the host system 2 and disk array device 3 regardless of the path being an alternate path 24 or a normal path 23 .

In the foregoing case, since the disk array device is able to check the path failure, the processing load (issuing the path check command, confirming the response from the disk array device, managing information regarding whether there is a path failure, notifying the administrator upon the occurrence of a path failure and other matters) burdened on the host system for checking the path failure can be reduced without have to separately provide a network monitoring device.

Incidentally, in consideration of a case of not being able to receive a response command from the MPU 33 A of the normal path-side NAS controller 31 A or the host system 2 within a predetermined time (e.g., within 1 (minute)) due to an intermittent path failure, the MPU 33 B of the alternate path-side NAS controller 31 B is able to measure the number of times a response command could not be received from the MPU 33 A of the normal path-side NAS controller 31 A within a predetermined time (this is hereinafter referred to as the “number of response command non-receptions”), and a threshold value (e.g., 3 (times)) is set for the number of response command non-receptions.

And, until the number of response command non-receptions exceeds the set threshold value (e.g., 3 (times)), after the lapse of such predetermined time (e.g., 1 (minute), the MPU 33 B of the alternate path-side NAS controller 31 B transmits once again the alternate path check command CC to the MPU 33 A of the normal path-side NAS controller 31 A, or the host system 2 corresponding to the host information table HT in which the host access flag has been updated to “0x01”.

Meanwhile, when the number of response command non-receptions exceeds the set threshold value (e.g., 3 (times)), the MPU 33 B of the alternate path-side NAS controller 31 B determines that some form of path failure has occurred in the alternate path 24 , or the path between the host system 2 containing the alternate path 24 and the MPU 33 B of the NAS controller 31 B, creates a failure occurrence command, and transmits this to the management terminal 60 via the data controller 35 B and disk I/F unit 36 B, respectively.

And, the management terminal 60 , for example, displays an error message on a display unit (not shown) of the management terminal 60 or emits a warning beep from a speaker (not shown) of the management terminal 60 in order to notify the user of the management terminal 60 that a path failure has occurred in the path of the alternate system including the alternate path 24 .

Like this, when the MPU 33 B of the alternate path-side NAS controller 31 B determines that some form of path failure has occurred in the path of an alternate system including the alternate path 24 , it is able to notify the user of the occurrence of a path failure in the path of an alternate system including the alternate path 24 by creating a failure occurrence command and transmitting this to the management terminal 60 .

Meanwhile, as with the MPU 33 B of the alternate path-side NAS controller 31 B, in consideration of a case where the transmission and reception of data to and from the host system 2 is disconnected for over a predetermined time (e.g., 1 (minute) or more) due to an intermittent path failure, the MPU 33 A of the normal path-side NAS controller 31 A measures the number of times the transmission and reception of data with the host system 2 was disconnected (this is hereinafter referred to as the “number of data disconnections”), and a threshold value (e.g., 3 (times)) is set for the number of data disconnections. Until the number of data disconnections exceeds the set threshold value (e.g., 3 (times)), the MPU 33 A of the normal path-side NAS controller 31 A transmits a failure occurrence command to the host system 2 that is transmitting and receiving data, and transmits the data write request and data to be written, or the data read request transmitted and received to and from the normal path-side NAS controller 31 A to the host system 2 . Contrarily, when the number of data disconnections exceeds the threshold value (e.g., 3 (times)), the MPU 33 A of the normal path-side NAS controller 31 A determines that a failure occurred, and transmits the foregoing failure occurrence command to the MPU 33 B of the alternate path-side NAS controller 31 B.

When the NAS controller 31 B receives the failure occurrence command of the normal paths 23 , it performs processing for sending to the host system 2 or the switch device 21 A the information for switching the path to be connected to the switch device 21 A from the normal path 23 A to the alternate path 24 A.

In the foregoing case, when the MPU 33 B of the alternate path-side NAS controller 31 B receives the failure occurrence command from the MPU 33 A of the normal path-side NAS controller 31 A as described above and the path to be connected to the switch device 21 A is switched to the alternate path 24 A, for instance, a configuration may also be adopted where it turns off the threshold value setting of the number of response command non-receptions set to 3 (times), and does not detect the path failure in the alternate path 24 until the failure in the normal path 23 is corrected.

This is because, even if the detection of the path failure in the alternate path 24 for switching the path is conducted, the alternate path 24 is the only path that can be connected to the switch device 21 A, and switching is not possible.

›DETAILED DESCRIPTION OF THE INVENTION · 7 of 10

As a result, utilization of the CPU resource or the like for performing processing to detect the path failure can be suppressed, and the processing efficiency in accesses from the host can be improved. Or, after the path to be connected to the switch device 21 A is switched to the alternate path 24 A, the MPU 33 B of the alternate path-side NAS controller 31 B may adopt a configuration where it increases the number of data disconnections with the host system 2 , for instance, to 5 times, and transmits the data write request and data to be written, or the data read request to the host system 2 up to 5 times even upon an intermittent path failure, or sets the threshold value of the number of response command non-receptions to 2 (times) in a value that is smaller than the threshold value of 5 times of the number of data disconnections, detects the path failure in the alternate path 24 , transmits a notice to the management terminal 60 to the effect that a path failure has been determined in the case of such a failure, and urges the user of the management terminal 60 to switch the path immediately.

Further, when the number of response command non-receptions exceeds the set threshold value (e.g., 3 (times)) as described above, the MPU 33 B of the alternate path-side NAS controller 31 B transmits the failure occurrence command to the management terminal 60 , and further transmits this failure occurrence command to the MPU 33 A of the normal path-side NAS controller 31 A via the data controller 35 B, disk I/F unit 36 B, channel controller 42 B of the alternate path-side disk controller 41 B, data controller 46 B, data controller 46 A of the normal path-side disk controller 41 A, channel controller 42 A, disk I/F unit 36 A of the normal path-side NAS controller 31 A and data controller 35 A, respectively.

And, when the MPU 33 A of the normal path-side NAS controller 31 A receives the failure occurrence command from the MPU 33 B of the alternate path-side NAS controller 31 B, it determines that it is dangerous to switch to the alternate path 24 , and, for example, turns off the threshold value setting of the number of data disconnections set to 3 (times), and does not detect the failure in the normal paths 23 until the path failure of the alternate path 24 is corrected.

In this case also, as when the path to be connected to the switch device 21 A is switched to the alternate path 24 due to the occurrence of a failure in the normal path 23 , the MPU 33 A of the normal path-side NAS controller 31 A may adopt a configuration where it increases the number of data disconnections with the host system 2 , for instance, to 5 times, and transmits the data write request and data to be written, or the data read request to the host system 2 up to 5 times even upon an intermittent path failure, or sets the threshold value of the number of response command non-receptions to 2 (times) in a value that is smaller than the threshold value of 5 times of the number of data disconnections, detects the path failure in the normal path 23 , transmits a notice to the management terminal 60 to the effect that a path failure has been determined in the case of such a failure, and urges the user of the management terminal 60 to switch the path immediately.

Like this, the MPU 33 A of the normal path-side NAS controller 31 A and the MPU 33 B of the alternate path-side NAS controller 31 B turn off the threshold value setting to the failure in either the normal path or alternate path so that the status for enabling the transmission and reception of data to and from the host system 2 is constantly maintained in the normal path 23 or alternate path 24 in consideration of an intermittent failure, and prevents a situation of the path between the host system 2 being detected as a failure in both the normal path 23 and alternate path 24 .

Incidentally, the MPU 33 B of the alternate path-side NAS controller 31 B, for each prescribed interval, creates an alternate path check command CC, and sequentially transmits this alternate path check command CC to the host system 2 corresponding to the host information table HT stored in the shared memory 45 B of the alternate path-side disk controller 41 B via the data controller 35 B, network I/F unit 32 B, network port 37 B, alternate path 24 , switch ports 25 E to 25 H, switch device 21 , switch ports 25 A to 25 D, connection path 22 and host port 12 , respectively.

In the foregoing case, if the alternate path check command CC is transmitted excessively, this will affect the transmission speed of the host system 2 and network 4 . Thus, it is desirable to transmit the alternate path check command CC in appropriate intervals.

Further, it is necessary to give consideration to the setting of the time for transmitting the alternate path check command CC to the host system 2 corresponding to the host information table HT stored in the shared memory 45 B so that the response command RC is reliably received from the host system 2 and the determination on whether a path failure occurred between an accessible host system 2 is completed during the period that the alternate path check command CC is transmitted to the host system 2 and the subsequent alternate path check command CC is transmitted to the host system 2 .

Thus, with respect to the setting of the time for transmitting the alternate path check command CC to the host system 2 corresponding to the host information table HT stored in the shared memory 45 B, the time from transmitting the alternate path check command CC to the host system 2 and then transmitting the subsequent alternate path check command CC to the same host system 2 (in other words, the interval for commencing the determination on whether a path failure has occurred between the host system 2 ) is decided as follows.

Foremost, regarding the number of host systems 2 that can simultaneously access the disk array device 3 , since the subset with the highest frequency of use is CLASS-C (in other words, 255 devices on the network), “255” is set as the maximum number for simultaneously accessing a single network port 37 A on the network I/F unit 32 A. Further, ordinarily, since there are “4” network ports 37 A to be mounted on the network I/F unit 32 A of the normal path-side NAS controller 31 A, “4” is set as the number of network ports 37 A to be mounted on the network I/F unit 32 A of the normal path-side NAS controller 31 A. Like this, when “255” is set as the maximum number for simultaneously accessing a single network port 37 A on the network I/F unit 32 A, and “4” is set as the number of network ports 37 A to be mounted on the network I/F unit 32 A of the normal path-side NAS controller 31 A, the number of devices that can simultaneously access the disk array device 3 can be calculated with the following formula.

›DETAILED DESCRIPTION OF THE INVENTION · 8 of 10

[Formula 1]

255(devices)×4(ports)=1,020(devices)  (1)

Further, although it normally takes roughly 100(ms) for the MPU 33 B of the alternate path-side NAS controller 31 B to transmit the alternate path check command CC and then receive the response command RC, depending on the environment of the network 4 , there are cases where it may take up to roughly 1 (second). Thus, “1” (second) is set as the time required for the MPU 33 B of the alternate path-side NAS controller 31 B to transmit the alternate path check command CC and then receive the response command RC.

Like this, when “1” (second) is set as the time required until receiving the response command RC, the interval for commencing the determination on whether a path failure occurred between the host system 2 and alternate path-side NAS controller 31 B can be calculated with the following formula.

[Formula 2]

1,020(devices)×1(second)=1,020(seconds)  (2)

And, if the preparatory time is set to 180 (seconds), the foregoing interval can be calculated with the following formula.

[Formula 3]

1,020(seconds)+180(seconds)=1,200(seconds)=20(minutes)  (3)

Based on the above, the MPU 33 B of the alternate path-side NAS controller 31 B sets, as default, 20 (minutes) as the interval for commencing the determination on whether a path failure occurred between the host system 2 , creates an alternate path check command CC every 20 (minutes), and sequentially transmits this alternate path check command CC to the host system 2 corresponding to the host information table HT stored in the shared memory 45 B of the alternate path-side disk controller 41 B via the data controller 35 B, network I/F unit 32 B, network port 37 B, alternate path 24 , switch ports 25 E to 25 H, switch device 21 , switch ports 25 A to 25 D, connection path 22 and host port 12 , respectively.

However, in order to be compatible with the expansion in the number of subset CLASSES and the network ports 37 A to be mounted on the network I/F unit 32 A of the normal path-side NAS controller 31 A, the interval for commencing the determination on whether a path failure occurred between the host system 2 and the MPU 33 B of the alternate path-side NAS controller 31 B may be designed so that it can be changed. As a result, appropriate time can be selected according to the number of devices to be connected or the number of switch ports to be simultaneously used.

(3) Alternate Path Check Processing Sequence

Next, the alternate path check processing to be performed in the storage system 1 is explained. FIG. 5 is a flowchart showing the specific processing sequence of the host information table creation processing to be performed for controlling the creation of the host information table HT.

The MPU 33 A of the normal path-side NAS controller 31 A, initially, according to the host information table creation processing sequence T 1 shown in FIG. 5 , waits in standby mode for the network I/F unit 32 A to receive the data write request or data read request from the host system 2 (SP1).

Eventually, when the MPU 33 A of the normal path-side NAS controller 31 A receives the data write request or data read request from the host system 2 (SP1: YES), it acquires the number of its NAS controller (normal path-side NAS controller 31 A), and the number of the network port 37 A that received such request (SP2).

Next, the MPU 33 A of the normal path-side NAS controller 31 A acquires the IP address and MAC address of the host system 2 that transmitted the data write request or data read request (SP3).

Next, the MPU 33 A of the normal path-side NAS controller 31 A checks whether the host information table HT corresponding to the host system 2 of the acquired IP address and MAC address is stored in the shared memory 45 A of the normal path-side disk controller 41 A (SP4).

And, when the host information table HT corresponding to the host system 2 of the acquired IP address and MAC address is stored in the shared memory 45 A of the normal path-side disk controller 41 A (SP4: YES), the MPU 33 A of the normal path-side NAS controller 31 A once again returns to standby mode and waits for the network I/F unit 32 A to receive the data write request or data read request from the host system 2 (SP1).

Meanwhile, when the host information table HT corresponding to the host system 2 of the acquired IP address and MAC address is not stored in the shared memory 45 A of the normal path-side disk controller 41 A (SP4: NO), the MPU 33 A of the normal path-side NAS controller 31 A, it sets the host access flag of the host information table HT to “0x00” (SP5).

Next, the MPU 33 A of the normal path-side NAS controller 31 A creates the number of its NAS controller (normal path-side NAS controller 31 A), the number of the network port 37 A that received such request, the IP address and MAC address of the host system 2 that transmitted the data write request or data read request and the host information table HT based on the host access flag, and stores these in the shared memory 45 A of the normal path-side disk controller 41 A (SP6).

And, the MPU 33 A of the normal path-side NAS controller 31 A thereafter once again returns to standby mode and waits for the network I/F unit 32 A to receive the data write request or data read request from the host system 2 (SP1).

FIG. 6 is a flowchart showing the specific processing sequence of the data transmission/reception measurement processing for measuring the time used in the transmission and reception of data between the host system 2 and normal path-side NAS controller 31 A.

The MPU 33 A of the normal path-side NAS controller 31 A, initially, according to the data transmission/reception measurement processing sequence T 2 shown in FIG. 6 , and waits in standby mode for the network I/F unit 32 A to receive the data write request or data read request from the host system 2 (SP11).

Eventually, when the MPU 33 A of the normal path-side NAS controller 31 A receives the data write request or data read request from the host system 2 (SP11: YES), it waits in standby mode for the transmission and reception of data with the host system 2 to becomes 1 (minute) or longer (SP12).

›DETAILED DESCRIPTION OF THE INVENTION · 9 of 10

Eventually, when the transmission and reception of data with the host system 2 to becomes 1 (minute) or longer (SP12: YES), the MPU 33 A of the normal path-side NAS controller 31 A updates the host access flag of the host information table HT stored in the shared memory 45 A of the normal path-side disk controller 41 A to “0x01” (SP13).

Next, the MPU 33 A of the normal path-side NAS controller 31 A waits in standby mode for the transmission and reception of data to and from the host system to end (SP14). Eventually, when the transmission and reception of data to and from the host system ends (SP14: YES), the MPU 33 A of the normal path-side NAS controller 31 A updates the host access flag of the host information table HT stored in the shared memory 45 A of the normal path-side disk controller 41 A to “0x00” (SP15).

And, the MPU 33 A of the normal path-side NAS controller 31 A thereafter once again returns to standby mode and waits for the network I/F unit 32 A to receive the data write request or data read request from the host system 2 (SP11).

FIG. 7 is a flowchart showing the specific processing sequence of the alternate path check processing for checking whether the alternate path 24 is able to transmit and receive data to and from the host system 2 .

The MPU 33 B of the alternate path-side NAS controller 31 B, initially, according to the alternate path check processing sequence T 3 shown in FIG. 7 , waits in standby mode for the host access flag of the host information table HT stored in the shared memory 45 B of the alternate path-side disk controller 41 B to be updated to “0x01” (SP21).

Eventually, when the host access flag of the host information table HT stored in the shared memory 45 B of the alternate path-side disk controller 41 B is updated to “0x01” (SP21: YES), the MPU 33 B of the alternate path-side NAS controller 31 B creates an alternate path check command CC, and transmits this alternate path check command CC to the MPU 33 A of the normal path-side NAS controller 31 A (SP22).

Next, the MPU 33 B of the alternate path-side NAS controller 31 B checks whether some form of path failure occurred in the alternate path 24 (SP23). And, when some form of failure occurred in the alternate path 24 (SP23: YES), the MPU 33 B of the alternate path-side NAS controller 31 B creates a failure occurrence command, and transmits this failure occurrence command to the management terminal 60 (SP24), and once again returns to standby mode and waits for the host access flag of the host information table HT stored in the shared memory 45 B of the alternate path-side disk controller 41 B to be updated to “0x01” (SP21).

Contrarily, when a path failure has not occurred in the alternate path 24 (SP23: NO), the MPU 33 B of the alternate path-side NAS controller 31 B transmits [ ] to the host system 2 corresponding to the host information table HT in which the host access flag was updated to “0x01” (SP25).

Next, the MPU 33 B of the alternate path-side NAS controller 31 B checks whether some form of path failure occurred in the alternate path 24 (SP26). And, when some form of failure occurred in the alternate path 24 (SP26: YES), the MPU 33 B of the alternate path-side NAS controller 31 B creates a failure occurrence command, and transmits this failure occurrence command to the management terminal 60 (SP24), and once again returns to standby mode and waits for the host access flag of the host information table HT stored in the shared memory 45 B of the alternate path-side disk controller 41 B to be updated to “0x01” (SP21).

Contrarily, when a path failure has not occurred in the alternate path 24 (SP26: NO), the MPU 33 B of the alternate path-side NAS controller 31 B waits in standby mode for the host access flag of the host information table HT stored in the shared memory 45 B of the alternate path-side disk controller 41 B to be updated to “0x00” (SP27).

Eventually, when the host access flag of the host information table HT stored in the shared memory 45 B of the alternate path-side disk controller 41 B is updated to “0x00” (SP27: YES), the MPU 33 B of the alternate path-side NAS controller 31 B once again returns to standby mode and waits for the host access flag of the host information table HT stored in the shared memory 45 B of the alternate path-side disk controller 41 B to be updated to “0x01” (SP21).

Like this, with this storage system 1 , when the MPU 33 B of the alternate path-side NAS controller 31 B detects that the host access flag of the host information table HT has been updated to “0x01”, it is able to check in advance whether data can be transmitted and received to and from the host system 2 via the alternate path 24 by creating an alternate path check command CC, transmitting this alternate path check command CC to the MPU 33 A of the normal path-side NAS controller 31 A, and receiving a response command RC from the MPU 33 A of the normal path-side NAS controller 31 A, when the path is switched from the normal path 23 to the alternate path 24 upon a failure, it will be possible to effectively prevent a situation of not being able to transmit and receive data to and from the host system 2 via the alternate path 24 from occurring.

Incidentally, in the present embodiment, although a case was explained where the host system 2 and switch device 21 are connected, the present invention is not limited thereto, and, for instance, as shown in FIG. 8 , the host system 2 and switch device 71 may be connected, and the switch device 71 and switch device 21 may be connected, and may otherwise be employed in a network configuration containing various types of switch devices.

Further, in the present embodiment, the foregoing network configuration may also adopt a design where a network repeater such as a router is used instead of the switch device 21 . Incidentally, the paths 22 , 23 in the present embodiment are specifically anticipated to be configured with a network cable such as a LAN cable or the like.

Further, in the present embodiment, although a case was explained where the NAS controller 31 is provided separately from the disk controller 41 , the present invention is not limited thereto, and, for example, the NAS controller 31 may be formed integrally with the disk controller 41 in order to provide the disk controller with a NAS function.

›DETAILED DESCRIPTION OF THE INVENTION · 10 of 10

Further, in the present embodiment, although a case was explained where the disk controller 41 is equipped with the channel controller 42 , disk controller 43 , cache memory 44 , shared memory 45 and data controller 46 , the present invention is not limited thereto, and, in order to ensure the reliability of the disk controller, the channel controller 35 and disk controller 36 may be provided redundantly by duplicating such controllers, and may otherwise employ the configuration of various disk controllers.

Further, in the present embodiment described above, although a case was explained where the series of processing steps is executed with hardware having the respective functions, the present invention is not limited thereto, and such processing steps may also be executed with software. Here, when causing software to execute the series of processing steps, by installing various programs in a computer with built-in hardware dedicated to the programs constituting such software, it will be possible to execute the various functions, and, for instance, programs can be installed from a recording medium. As such a recording medium, for example, an optical disk, optical-magneto disk, semiconductor memory, magnetic disk or other types of recording mediums may be used as a matter of course. Moreover, for instance, various programs may be installed by downloading them via a network such as the Internet.

The present invention may be widely employed in various types of storage systems.

Claims as granted

16 claims

Log in to read the claims of this application.

Log in to unlock

Classifications

4 codes
IPC · International Patent Classification
Section G — Physics
  • G06F11/00
USPC · US Patent Classification
714/6711/113714/5

Claim changes

Soon
Coming soonHow the claims changed between publication and grant

See which claims were amended, added or cancelled during examination, with every added and removed word marked.

AmendedAddedCancelledUnchanged

The published claims of this application are not paired with the granted ones in what we hold.

File wrapper

⤢ drag to zoomJan 2006Jul 2006Jan 2007Jul 2007Jan 2008Jul 2008Jan 2009Jul 2009USPTOApplicantNon-final rejectionFinal rejectionRequest for continued examination
USPTOApplicanthover for detail · click to open
Pendency
3.6 y
1,324 days filing → grant
Office actions
2
non-final + final
Responses
1
1 RCE
Examiner
Scott T Baderman
art unit 2114 · TC 2100
Citations: 9 back · 11 forward

See the full prosecution history — every USPTO and applicant action on this file, in order.

Log in to unlock

Documents

Log in to open the documents of this file: the application as filed, every office action and response, the notice of allowance.

Log in to unlock

Chain of title

⤢ drag to zoom20062008201020122014201620182020202220242026Owner 1Owner 2Owner 3
Titlehover for detail · click to open

See the full assignment history — every owner this patent has passed through, with recordation dates and reel/frame numbers.

Log in to unlock