Patent Document

CROSS-REFERENCE TO RELATED APPLICATION 
       [0001]    This application is based upon and claims the benefit of priority of the prior Japanese Patent Application No. 2009-289521, filed on Dec. 21, 2009 the entire contents of which are incorporated herein by reference. 
       FIELD 
       [0002]    The embodiments discussed herein are related to a technique of managing configuration information in a storage system. 
       BACKGROUND 
       [0003]      FIG. 29  is a diagram schematically illustrating a configuration of a storage system. 
         [0004]    A storage system  900  illustrated in this  FIG. 29  is, for example, a RAID (Redundant Arrays of Inexpensive Disks) system including a plurality of storage devices arranged in an array, and is connected to a host computer  901 , which is a higher-level device. 
         [0005]    The storage system  900  performs processing, such as data reading or writing, on a storage device (illustration thereof is omitted) in accordance with an input/output request (e.g., read command or write command) from the host computer  901 . 
         [0006]    As illustrated in  FIG. 29 , the storage system  900  is configured to include a CE (Controller Enclosure) # 000  and a plurality (two in the example illustrated in  FIG. 29 ) of DEs (Disk Enclosures) # 001  and # 002 . Further, the DEs # 001  and # 002  are cascade-connected (multistage-connected) in series to the CE # 000 . That is, as illustrated in  FIG. 29 , the CE # 000  is connected to the DE # 001 , and the DE # 001  is connected to the DE # 002 . 
         [0007]    The CE # 000  stores one or more (two in the example illustrated in  FIG. 29 ) CMs (Controller Modules) # 00  and # 01 . The CMs # 00  and # 01  perform a variety of controls in the storage system  900 , and perform access control to each of storage devices provided to SAS expanders  802   a ,  802   b ,  803   a ,  803   b ,  804   a , and  804   b  on the basis of an I/O (Input/Output) command transmitted from the host computer  901 . 
         [0008]    The CM # 00  includes a controller  801   a  and the SAS (Serial Attached SCSI (Small Computer System Interface)) expander (EXP)  802   a , and the CM # 01  includes a controller  801   b  and the SAS expander  802   b.    
         [0009]    The controllers  801   a  and  801   b  perform a variety of controls in the CMs # 00  and # 01 , respectively. Further, in the CM # 00 , the controller  801   a  is connected to the SAS expander  802   a  via a data bus  811   a , and is connected to the SAS expander  802   b  of the CM # 01  via a data bus  812   a.    
         [0010]    Similarly, in the CM # 01 , the controller  801   b  is connected to the SAS expander  802   b  via a data bus  811   b , and is connected to the SAS expander  802   a  of the CM # 00  via a data bus  812   b.    
         [0011]    The SAS expanders  802   a  and  802   b  are connected to one or more common storage devices (illustration thereof is omitted), and perform access control to the storage devices on the basis of disk access commands transmitted from the controllers  801   a  and  801   b . With each of the SAS expanders  802   a  and  802   b  connected to the one or more storage devices, the access path to the storage devices is duplicated. 
         [0012]    The DE # 001  is configured to include not-illustrated one or more storage devices and the SAS expanders  803   a  and  803   b . With each of the SAS expanders  803   a  and  803   b  connected to the one or more storage devices, the access path to the storage devices is duplicated. 
         [0013]    Similarly, the DE # 002  is configured to include not-illustrated one or more storage devices and the SAS expanders  804   a  and  804   b . With each of the SAS expanders  804   a  and  804   b  connected to the one or more storage devices, the access path to the storage devices is duplicated. 
         [0014]    The SAS expanders  803   a ,  803   b ,  804   a , and  804   b  perform access control to the storage devices on the basis of disk access commands transmitted from the controllers  801   a  and  801   b.    
         [0015]    Further, the SAS expander  803   a  of the DE # 001  is connected to the SAS expander  802   a  of the CE # 000  via a data path  813   a - 1 . Further, the SAS expander  804   a  of the DE # 002  is connected to the SAS expander  803   a  of the DE # 001  via a data path  813   a - 2 . 
         [0016]    Similarly, the SAS expander  803   b  of the DE # 001  is connected to the SAS expander  802   b  of the CE # 000  via a data path  813   b - 1 . Further, the SAS expander  804   b  of the DE # 002  is connected to the SAS expander  803   b  of the DE # 001  via a data path  813   b - 2 . 
         [0017]    That is, the SAS expanders  802   a ,  803   a , and  804   a  are cascade-connected in series to the controller  801   a . In other words, as illustrated in  FIG. 29 , the controller  801   a  is connected to the SAS expander  802   a , and the SAS expander  802   a  is connected to the SAS expander  803   a . Further, the SAS expander  803   a  is connected to the SAS expander  804   a . Similarly, the SAS expanders  802   b ,  803   b , and  804   b  are cascade-connected in series to the controller  801   b . That is, the controller  801   b  is connected to the SAS expander  802   b , and the SAS expander  802   b  is connected to the SAS expander  803   b . Further, the SAS expander  803   b  is connected to the SAS expander  804   b.    
         [0018]    In the drawing, reference numerals attached with letters a and b indicate that there is a corresponding relationship between components designated by reference numerals attached with the same letter. For example, in the above-described configuration, the SAS expanders  803   a  and  804   a  are cascade-connected to the SAS expander  802   a . Similarly, the SAS expanders  803   b  and  804   b  are cascade-connected to the SAS expander  802   b . In the following, reference numerals attached with the same letter a or b will indicate that the components designated thereby have a mutually corresponding relationship. 
         [0019]    Further, in the components with the above-described reference numerals attached with the letters a and b, if a component with a reference numeral attached with the letter a and a component with a reference numeral attached with the letter b have no difference in configuration and function, the components may be hereinafter designated by a reference numeral with the letters a and b omitted for the sake of convenience. For example, the SAS expanders  802   a  and  802   b  have the same configuration and the same function. In the following, therefore, the SAS expander  802  will represent the SAS expander designated by the reference numeral  802   a  or  802   b . Similarly, the SAS expander  803  will represent the SAS expander designated by the reference numeral  803   a  or  803   b . Further, the SAS expander  804  will represent the SAS expander designated by the reference numeral  804   a  or  804   b.    
         [0020]    Further, in the data path from the controller  801  to the SAS expander  804 , the side of the host computer  901 , i.e., the side of the controller  801  may be hereinafter referred to as the upstream side or the higher level. 
         [0021]    As the configuration management method performed in a storage system using SAS expanders for backend connection, as described above, a method is known in which the expanders issue an information frame called BROADCAST(CHANGE) (hereinafter referred to as BC(CHG)) upon detection of a change in configuration. 
         [0022]    In the existing storage system  900  as described above, upon detection of a change in configuration, each of the SAS expanders  802  to  804  issues the BC(CHG) and notifies the upstream-side controller  801  of the detection. Thereby, notification to the higher level and reconstruction of the configuration are performed in the event of a change in configuration. 
         [0023]    Further, the controller  801  and the SAS expanders  802  to  804  are capable of finding the respective connection states of devices subordinate thereto through a discovery process (see Japanese Laid-open Patent Publication No. 2008-197780, for example). 
         [0024]    The discovery process is performed to allow the controller  801  and so forth to find the connection states of the subordinate devices when a change in state is detected in any of the SAS expanders. Specifically, the discovery process is performed with commands, such as REPORT GENERAL and REPORT ROUTE INFORMATION, transmitted from the higher-level SAS expanders  802  and  803  to the lower-level SAS expanders  803  and  804 . The lower-level SAS expanders  803  and  804  transmit, as the responses to the above commands, the number of PHYs (PHYsical links) included therein and the information of the devices connected to the PHYs. 
         [0025]    The controller  801  manages the information of the subordinate devices by using the information transmitted from the downstream-side SAS expanders. 
         [0026]    In this type of storage system, however, if one of the plurality of cascade-connected SAS expanders is performing the discovery process, the SAS expander(s) and the controller higher than the SAS expander are unable to proceed with the discovery process. The state in which a SAS expander is performing the discovery process may be hereinafter referred to as the self-configuring state. 
         [0027]      FIGS. 30 to 34  are diagrams for explaining processing performed when abnormality occurs during the discovery process in the existing storage system. For the sake of convenience, these  FIGS. 30 to 34  illustrate one controller  801  and SAS expanders  802  to  804  cascade-connected thereto. Further, these  FIGS. 30 to 34  illustrate, among the plurality of storage devices provided to the storage system  900 , only one storage device  810  connected to the SAS expander  804 . 
         [0028]    In the storage system  900 , if the SAS expander  804  detects a change (change in state) in the topology managed thereby, as illustrated in  FIG. 30 , for example, the SAS expander  804  transmits (issues) the BC(CHG) to the higher-level SAS expander  803 , without performing the discovery process. 
         [0029]    Further, the SAS expander  803  having received the BC(CHG) from the SAS expander  804  transfers the BC(CHG) to the further higher-level SAS expander  802 , and the SAS expander  802  transfers the BC(CHG) to the further higher-level controller  801 . 
         [0030]    Each of the controller  801  and the SAS expanders  802  and  803  having received the BC(CHG) starts the discovery process, as illustrated in FIG.  31 . Accordingly, the SAS expanders  802  and  803  shift to the self-configuring state. 
         [0031]    The controller  801  and the SAS expanders  802  and  803  are unable to proceed with the discovery process when the subordinate SAS expanders  803  and  804  are in the discovery process state (discovery state) (self-configuring state), and thus shift to the standby state (discovery standby state, self-configuring state) (see  FIG. 32 ). 
         [0032]    That is, for example, the SAS expander  802  or  803  starts the discovery process after the subordinate SAS expander  803  or  804  has completed the discovery process (self-configuring) and transmitted the BC(CHG). 
         [0033]    As illustrated in  FIG. 33 , however, the discovery process fails to complete in some cases, owing to some abnormality occurring in the SAS expander  803 , for example. If the discovery process thus fails to complete in the SAS expander  803 , the BC(CHG) is not issued from the SAS expander  803 . Consequently, the higher-level SAS expander  802  is unable to receive the BC(CHG) and fails to complete the discovery process, remaining in the discovery standby state. 
         [0034]    Further, even if the discovery process completes in the SAS expander  803 , transmission path abnormality may occur in the transmission path  813 - 1 , and thus the SAS expander  802  may be unable to receive the BC(CHG), as illustrated in  FIG. 34 . Similarly, even if the discovery process completes in the SAS expander  803 , the SAS expander  802  is unable to receive the BC(CHG) if some abnormality occurs in the SAS expander  803  or  802 , as illustrated in  FIG. 34 . If the SAS expander  802  thus fails to receive the BC(CHG), the SAS expander  802  and the controller  801  remain in the discovery standby state, and the discovery process is not completed. 
         [0035]    That is, an issue arises in that the SAS expander  802  and the controller  801  remain in the self-configuring state and are unable to grasp the connection states of the devices subordinate thereto. In this case, the storage system  900  continues to operate while the SAS expander  802  and the controller  801  remain in the self-configuring state, and eventually the CMs are degraded, for example. 
         [0036]    An object of the present case, which has been conceived in view of the above-described issue, is to allow, even if a storage device connection device does not return a response to an information acquisition request, a higher-level storage device connection device to continue to perform information gathering. 
         [0037]    Objects of the present case are not limited to the above-described object. To provide an operational advantage which is derived from respective configurations illustrated in the later-described DESCRIPTION OF EMBODIMENTS, and which is not obtainable from existing techniques can also be regarded as one of the other objects of the present case. 
         [0038]    According to a storage device connection device, a storage device, an information management method, and an information management program disclosed herein, at least one of the following effects or advantages is obtained. 
         [0039]    (1) The state of standby for the completion of an information gathering process is cancelled to allow the completion of the information gathering process. It is thereby possible to perform the information gathering process also in a higher-level device. 
         [0040]    (2) A storage device connection device with an uncompleted information gathering process is rebooted, and thereby is recovered from the state of information gathering process abnormality. It is thereby possible to stably operate the storage device connection device and a device connected thereto. 
       SUMMARY 
       [0041]    According to an aspect of the invention, a storage expander apparatus for accessing a plurality of storage units including a plurality of first interfaces for accessing the plurality of storage units, a second interfaceb for accessing subordinate expander apparatus, and a processor for executing receiving from an external apparatus a first request for obtaining first information indicative of a state of a connection to be connected with the plurality of first interfaces and the second interface, transmitting a second request for obtaining second information indicative of a state of a connection of the subordinate expander apparatus, measuring an elapsing time that has elapsed since transmitting the second request, storing a first response corresponding to the second request upon receiving the first response, starting a process for obtaining third information indicative of a state of a connection to be connected with the plurality of first interfaces upon the elapsing time exceeding a predetermined time, and transmitting a second response including the third information to the external apparatus upon receiving the third response. 
         [0042]    The object and advantages of the invention will be realized and attained by means of the elements and combinations particularly pointed out in the claims. 
         [0043]    It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory and are not restrictive of the invention, as claimed. 
     
    
     
       BRIEF DESCRIPTION OF DRAWINGS 
         [0044]      FIG. 1  is a diagram schematically illustrating a functional configuration of a storage system as an example of embodiment; 
           [0045]      FIG. 2  is a diagram illustrating an example of the hardware configuration of a SAS expander as an example of embodiment; 
           [0046]      FIG. 3  is a diagram illustrating an example of a state management table as an example of embodiment; 
           [0047]      FIG. 4  is a flowchart for explaining a PHY monitoring method performed by a state monitoring unit in the storage system as an example of embodiment; 
           [0048]      FIG. 5  is a diagram illustrating state transitions of a PHY of a SAS expander occurring in the storage system as an example of embodiment; 
           [0049]      FIG. 6  is a flowchart for explaining processes performed in the respective states in the state transition diagram illustrated in  FIG. 5 ; 
           [0050]      FIG. 7  is a flowchart for explaining processes performed in the respective states in the state transition diagram illustrated in  FIG. 5 ; 
           [0051]      FIG. 8  is a flowchart for explaining processes performed in the respective states in the state transition diagram illustrated in  FIG. 5 ; 
           [0052]      FIG. 9  is a flowchart for explaining processes performed in the respective states in the state transition diagram illustrated in  FIG. 5 ; 
           [0053]      FIG. 10  is a flowchart for explaining processes performed in the respective states in the state transition diagram illustrated in  FIG. 5 ; 
           [0054]      FIG. 11  is a diagram for explaining processing performed when abnormality occurs during a discovery process in the storage system as an example of embodiment; 
           [0055]      FIG. 12  is a diagram for explaining processing performed when abnormality occurs during a discovery process in the storage system as an example of embodiment; 
           [0056]      FIG. 13  is a diagram for explaining processing performed when abnormality occurs during a discovery process in the storage system as an example of embodiment; 
           [0057]      FIG. 14  is a diagram for explaining processing performed when abnormality occurs during a discovery process in the storage system as an example of embodiment; 
           [0058]      FIG. 15  is a diagram for explaining processing performed when abnormality occurs during a discovery process in the storage system as an example of embodiment; 
           [0059]      FIG. 16  is a diagram for explaining processing performed when abnormality occurs during a discovery process in the storage system as an example of embodiment; 
           [0060]      FIGS. 17A to 17D  are diagrams for explaining a SAS expander recovery method using an SES command performed in the storage system as an example of embodiment; 
           [0061]      FIG. 18  is a flowchart for explaining a recovery method using an SES command performed by a recovery processing unit in the storage system as an example of embodiment; 
           [0062]      FIGS. 19A to 19D  are diagrams for explaining a SAS expander recovery method using a link-down function performed in the storage system as an example of embodiment; 
           [0063]      FIG. 20  is a diagram schematically exemplifying a configuration of the storage system as an example of embodiment, which is capable of achieving a recovery method using an external path; 
           [0064]      FIG. 21  is a diagram schematically illustrating a hardware configuration of a SAS expander of the storage system as an example of embodiment; 
           [0065]      FIGS. 22A to 22D  are diagrams for explaining a SAS expander recovery method using an external path performed in the storage system as an example of embodiment; 
           [0066]      FIG. 23  is a diagram illustrating another example of the state management table as an example of embodiment; 
           [0067]      FIG. 24  is a flowchart for explaining a method of responding to a DISCOVER command performed by a SAS expander in the storage system as an example of embodiment; 
           [0068]      FIG. 25  is a flowchart for explaining a BC(CHG) issuance method performed by a SAS expander in the storage system as an example of embodiment; 
           [0069]      FIG. 26  is a flowchart for explaining a recovery process of recovering a SAS expander performed by another SAS expander in the storage system as an example of embodiment; 
           [0070]      FIG. 27  is a diagram illustrating state transitions of an expander PHY occurring when the recovery process is implemented in the storage system as an example of embodiment; 
           [0071]      FIG. 28  is a diagram illustrating state transitions of a PHY in an abnormal state occurring in the storage system as an example of embodiment; 
           [0072]      FIG. 29  is a diagram schematically illustrating a configuration of a storage system; 
           [0073]      FIG. 30  is a diagram for explaining processing performed when abnormality occurs during a discovery process in an existing storage system; 
           [0074]      FIG. 31  is a diagram for explaining processing performed when abnormality occurs during a discovery process in an existing storage system; 
           [0075]      FIG. 32  is a diagram for explaining processing performed when abnormality occurs during a discovery process in an existing storage system; 
           [0076]      FIG. 33  is a diagram for explaining processing performed when abnormality occurs during a discovery process in an existing storage system; and 
           [0077]      FIG. 34  is a diagram for explaining processing performed when abnormality occurs during a discovery process in an existing storage system. 
       
    
    
     DESCRIPTION OF EMBODIMENTS 
       [0078]    Embodiments will be described below with reference to the drawings. 
         [0079]      FIG. 1  is a diagram schematically illustrating a functional configuration of a storage system  1  as an example of embodiment, and  FIG. 2  is a diagram illustrating an example of the hardware configuration of a SAS expander  12  in the storage system  1 . 
         [0080]    The present storage system (storage device)  1  is, for example, a RAID system including a plurality of storage devices  20  arranged in an array, and is connected to a host computer  200 , which is a higher-level device, as illustrated in  FIG. 1 . 
         [0081]    The storage system  1  performs processing, such as data reading or writing, on the storage devices  20  in accordance with an input/output request (e.g., read command or write command) from the host computer  200 . The input/output request from the host computer  200  may be referred to as the host I/O command. 
         [0082]    As illustrated in  FIG. 1 , the present storage system  1  includes a CE (Controller Enclosure)  140  and a plurality (three in the example illustrated in  FIG. 1 ) of DEs (Device Enclosures)  30 - 1 ,  30 - 2 , and  30 - 3 . 
         [0083]    The DEs  30 - 1 ,  30 - 2 , and  30 - 3  have a substantially similar configuration. In the following, if one of the plurality of DEs needs to be identified, the reference numeral  30 - 1 ,  30 - 2 , or  30 - 3  will be used as the reference numeral designating the DE. Meanwhile, a reference numeral  30  will be used to designate an arbitrary one of the DEs. 
         [0084]    Each of the CE  140  and the DEs  30  includes one or more (three in the example illustrated in  FIGS. 1 and 2 ) storage devices  20 , and provides the storage areas of the storage devices  20  to the present storage system  1 . 
         [0085]    Each of the storage devices  20 , which readably stores a variety of data, programs, and so forth, is an HDD (Hard Disk Drive), for example. In the present storage system  1 , the plurality of storage devices  20  are arranged in an array to form a RAID system. 
         [0086]    Various storage devices can be used as the storage devices  20 . In the present embodiment, description will be made of an example in which SAS disks connected on the basis of the SAS (Serial Attached SCSI) standard are used as the storage devices  20 . 
         [0087]    As illustrated in  FIG. 1 , the CE  140  includes a plurality (two in the example illustrated in  FIG. 1 ) of CMs  141   a  and  141   b  and one or more (three in the example illustrated in  FIGS. 1 and 2 ) storage devices  20 . 
         [0088]    The CMs  141   a  and  141   b  perform a variety of controls in the present storage system  1 . The CM  141   a  includes a controller  10   a  and a SAS expander (SAS-EXP)  12   a . Further, the CM  141   b  includes a controller  10   b  and a SAS expander  12   b.    
         [0089]    The controllers  10   a  and  10   b  have a substantially similar configuration. Further, the SAS expanders  12   a  and  12   b  have a substantially similar configuration. 
         [0090]    That is, the CMs  141   a  and  141   b  have substantially similar function and configuration. If one of the plurality of CMs needs to be identified, the reference numeral  141   a  or  141   b  will be hereinafter used as the reference numeral designating the CM. Meanwhile, a reference numeral  141  will be used to designate an arbitrary one of the CMs. Similarly, if one of the plurality of SAS expanders needs to be identified, the reference numeral  12   a  or  12   b  will be hereinafter used as the reference numeral designating the SAS expander. Meanwhile, a reference numeral  12  will be used to designate an arbitrary one of the SAS expanders. Further, if one of the plurality of controllers needs to be identified, the reference numeral  10   a  or  10   b  will be hereinafter used as the reference numeral designating the controller. Meanwhile, a reference numeral  10  will be used to designate an arbitrary one of the controllers. 
         [0091]    The controller  10  performs a variety of controls in the CM  141   a  or  141   b , and functions as an access control unit which performs access control to the plurality of storage devices  20 . 
         [0092]    On the basis of the host I/O command transmitted from the host computer  200 , the controller  10  generates a disk access command to each of the storage devices  20  provided to the present storage system  1 . 
         [0093]    Then, the controller  10  transmits the disk access command to the SAS expanders  12   a  and  12   b  corresponding to the target storage device  20 . 
         [0094]    Further, the controller  10   a  is connected to the SAS expander  12   a  via a data bus  18   a , and is connected to the SAS expander  12   b  of the CM  141   b  via a data bus  16   a.    
         [0095]    Similarly, the controller  10   b  is connected to the SAS expander  12   b  via a data bus  18   b , and is connected to the SAS expander  12   a  of the CM  141   a  via a data bus  16   b.    
         [0096]    That is, in the CE  140 , the controller  10   a  is connected to the SAS expander  12   b  of the other CM  141   b , and the controller  10   b  is connected to the SAS expander  12   a  of the other CM  141   a  (cross connection). 
         [0097]    Accordingly, the controller  10   a  is connected to the SAS expander  12   a  included in the same CM  141   a  including the controller  10   a , and is connected to the SAS expander  12   b  included in the other CM  141   b . Similarly, the controller  10   b  is connected to the SAS expander  12   b  included in the same CM  141   b  including the controller  10   b , and is connected to the SAS expander  12   a  included in the other CM  141   a.    
         [0098]    In the following, a path connecting the controller  10  and the SAS expander  12   a  or  12   b  via the data bus  18   a  or  18   b  may be referred to as the straight line. 
         [0099]    Further, the controllers  10   a  and  10   b  are communicably connected via a data path  15 . The data path  15  is based on, for example, the PCI (Peripheral Component Interconnect) Express standard. Further, the data buses  18   a ,  18   b ,  19   a - 1 ,  19   b - 1 ,  19   a - 2 ,  19   b - 2 ,  19   a - 3 , and  19   b - 3  are based on, for example, the SAS interface standard. 
         [0100]    The DE  30  includes a plurality (three in the example illustrated in  FIG. 1 ) of storage devices  20 , and usably provides the storage areas of the storage devices  20 . As illustrated in  FIG. 1 , the DE  30  includes the SAS expanders  12   a  and  12   b  and the storage devices  20 . 
         [0101]    The SAS expanders  12   a  and  12   b  are connected to one or more common storage devices  20 , and perform access control to the storage devices  20  on the basis of the disk access command transmitted from the controller  10 . That is, the SAS expander  12  functions as a storage device connection unit (storage device connection device) connected to the plurality of storage devices  20 . 
         [0102]    The SAS expanders  12   a  and  12   b  are connected to one or more (three in the example illustrated in  FIG. 1 ) common storage devices  20 , and data can be written in and read from the storage devices  20  through both of the SAS expanders  12   a  and  12   b.    
         [0103]    In the example illustrated in  FIG. 1 , the SAS expander  12   a  is connected to the storage devices  20  via a data bus  191   a , and the SAS expander  12   b  is connected to the storage devices  20  via a data bus  191   b.    
         [0104]    That is, with each of the SAS expanders  12   a  and  12   b  connected to the one or more storage devices  20 , the access path to the storage devices  20  is duplicated. 
         [0105]    The controllers  10   a  and  10   b  may be hereinafter represented as the controllers  0  and  1 , respectively. Further, the SAS expanders  12   a  and  12   b  stored in the CE  140  may be hereinafter represented as the SAS expanders  0 - 0  and  0 - 1 , respectively. 
         [0106]    Similarly, the SAS expanders  12   a  and  12   b  stored in the DE  30 - 1  may be hereinafter represented as the SAS expanders  1 - 0  and  1 - 1 , respectively. Further, the SAS expanders  12   a  and  12   b  stored in the DE  30 - 2  may be hereinafter represented as the SAS expanders  2 - 0  and  2 - 1 , respectively. Further, the SAS expanders  12   a  and  12   b  stored in the DE  30 - 3  may be hereinafter represented as the SAS expanders  3 - 0  and  3 - 1 , respectively. 
         [0107]    For the sake of convenience, in the present storage system  1 , the side of the host computer  200  which transmits the host I/O command will be hereinafter referred to as the upstream side or the higher level, and the side of the destination of the disk access command created on the basis of the host I/O command will be hereinafter referred to as the downstream side or the lower level. Further, a device connected at the lower level may be hereinafter referred to as a subordinate device. 
         [0108]    Further, in the example illustrated in  FIG. 1 , when the side of the controller  10   a  is viewed as the upstream side, a path of a series of straight lines connecting the SAS expanders  0 - 0 ,  1 - 0 ,  2 - 0 , and  3 - 0  may be represented as the 0-system. Similarly, when the side of the controller  10   b  is viewed as the upstream side, a path of a series of straight lines connecting the SAS expanders  0 - 1 ,  1 - 1 ,  2 - 1 , and  3 - 1  may be represented as the 1-system. 
         [0109]    As illustrated in  FIG. 2 , the SAS expander  12  includes an expander chip  120 , a PLD (Programmable Logic Device)  130 , a power supply  131 , a switch  132 , and a repeater  133 . 
         [0110]    The expander chip  120  realizes respective functions of the SAS expander  12 , and operates with emergency power supplied from the power supply  131 . As illustrated in  FIG. 2 , the expander chip  120  includes a processor  121 , a memory  124 , and PHYs (PHYsical link ports). 
         [0111]    A PHY is a physical link port. The example illustrated in  FIG. 2  includes twenty-four PHYs  0  to  23 . Further, in the example illustrated in this  FIG. 2 , PHYs  0  to  3  are used for the connection to the higher-level SAS expander  12  and the controller  10 , and are connected to the higher-level SAS expander  12  and the controller  10  via the repeater  133 . Further, PHYs  4  to  7  are used for the connection to the lower-level SAS expander  12 , and PHYs  8  to  10  and  15  to  23  are used for the connection to the storage devices  20 . 
         [0112]    The repeater  133  is connected to an IN/OUT interface of the SAS expander  12 , and performs signal amplification in a unit input/output unit (illustration thereof is omitted). Further, the repeater  133  has a function of notifying, upon detection of link-up of PHYs (PHYs  0  to  3  in the example illustrated in  FIG. 2 ), the PLD  130  of the detection. 
         [0113]    The power supply  131  supplies power to the respective sections of the SAS expander  12 . Further, the power supply  131  supplies normal power to the PLD  130  (normal power supply), and supplies emergency power to the expander chip  120  via the switch  132  (emergency power supply). 
         [0114]    The switch  132  switches between ON and OFF of power supply from the power supply  131  to the expander chip  120 . On the basis of the control from the PLD  130 , the switch  132  selectively switches between ON and OFF of power supply from the power supply  131  to the expander chip  120 . 
         [0115]    The PLD  130  is a device operating with the normal power supply, and performs, for example, power supply control of the SAS expander  12 . If the repeater  133  detects link-up (detailed description thereof will be made later), for example, the PLD  130  transmits a power supply control signal to the switch  132 , to thereby turn ON the switch  132  (emergency power supply) and operate the expander chip  120 . 
         [0116]    The memory  124 , which stores a variety of data and programs, temporarily stores (extracts) data and programs when the processor  121  performs a variety of operations and controls. The memory  124  further stores a state management table T 1  illustrated in  FIG. 3 . 
         [0117]      FIG. 3  is a diagram illustrating an example of the state management table T 1  as an example of embodiment. The state management table T 1  represents the state of the SAS expander  12  provided with the expander chip  120  and the states of devices connected to the SAS expander  12  (the states of PHYs), and is updated by a state monitoring unit  7  described later. As illustrated in  FIG. 3 , the state management table T 1  includes a PHY state table section T 1 - 1  and a self-configuring flag section T 1 - 2 . 
         [0118]    The PHY state table section T 1 - 1 , which stores the respective states of the PHYs (PHY states), registers (stores) the PHY states in association with PHY IDs (IDentifiers) for identifying the PHYs. The PHY state refers to state information representing the state of a device connected to a PHY. For example, information representing the state of a device, such as “normal state,” “discovery standby,” or “abnormal state (during recovery),” is stored. That is, the memory  24  functions as a state information storage unit for recording the information of another SAS expander  12  in association with the state information representing the state of the another SAS expander  12 . 
         [0119]    The self-configuring flag section T 1 - 2  stores the information indicating whether or not the SAS expander  12  is in the discovery process (self-configuring) state (self-configuring state). For example, if the SAS expander  12  is in the self-configuring state, the self-configuring flag section T 1 - 2  stores a value “1.” 
         [0120]    The processor  121  is an arithmetic device which performs a variety of operations and controls by executing programs, and realizes a variety of functions by executing programs stored in the memory  124  and a not-illustrated ROM (Read-Only Memory). As illustrated in  FIG. 2 , the processor  121  includes an SMP  122  and an SSP  123 . The SMP  122  is a logical device based on the SMP (Serial Management Protocol), and the SSP  123  is a logical device based on the SSP (Serial SCSI Protocol). 
         [0121]    Further, the processor  121  executes an information management program stored in a not-illustrated ROM (Read-Only Memory) or storage device, to thereby function as an information acquisition request output unit  2 , a timer  3 , a connection state management unit  4 , a retry counter control unit  5 , a recovery processing unit  6 , and the state monitoring unit  7 . 
         [0122]    The program for realizing the functions of the information acquisition request output unit  2 , the timer  3 , the connection state management unit  4 , the retry counter control unit  5 , the recovery processing unit  6 , and the state monitoring unit  7  (information management program) is provided as recorded in a computer-readable recording medium, such as a flexible disk, a CD (Compact Disc) including a CD-ROM, a CD-R (Recordable), and a CD-RW (ReWritable), a DVD (Digital Versatile Disc) including a DVD-ROM, a DVD-RAM (Random Access Memory), a DVD-R, a DVD+R, a DVD-RW, a DVD+RW, and an HD (High-Definition) DVD, a Blu-ray disc, a magnetic disk, an optical disk, or a magneto-optical disk, for example. Further, a computer uses the program by reading the program from the recording medium and transferring and storing the program into an internal or external storage device. Alternatively, the program may be recorded in a storage device (recording medium), such as a magnetic disk, an optical disk, or a magneto-optical disk, for example, and may be provided from the recording device to a computer via a communication path. 
         [0123]    To realize the functions of the information acquisition request output unit  2 , the timer  3 , the connection state management unit  4 , the retry counter control unit  5 , the recovery processing unit  6 , and the state monitoring unit  7 , a program stored in an internal storage device (not-illustrated ROM or storage device in the present embodiment) is executed by a microprocessor of a computer (the processor  121  in the present embodiment). In this case, the program recorded in a recording medium may be read and executed by a computer. 
         [0124]    In the present embodiment, a computer is a concept including hardware and an operating system, and refers to the hardware operating under the control of the operating system. Further, if the operating system is unnecessary and the hardware is operated solely by an application program, the hardware corresponds to the computer. The hardware includes at least a microprocessor such as a CPU (Central Processing Unit) and means for reading a computer program recorded in a recording medium. In the present embodiment, the SAS expander  12  has the function of a computer. 
         [0125]    The information acquisition request output unit (discovery process execution unit)  2  outputs a discovery command (information acquisition request) to a lower-level SAS expander  12  connected to the SAS expander  12  corresponding to the information acquisition request output unit  2 , to thereby perform the discovery process (information gathering process). 
         [0126]    Specifically, the information acquisition request output unit  2  transmits commands, such as REPORT GENERAL (RPT_GENERAL), DISCOVER, and REPORT ROUTE INFORMATION (RPT_RT_INFO), for example, to the SMP  122  of the lower-level SAS expander  12 . 
         [0127]    Herein, REPORT GENERAL is a command for inquiring of a SAS expander  12  whether or not the SAS expander  12  is in the self-configuring state and the number of PHYs included in the SAS expander  12 . For example, if a lower-level SAS expander  12  is in the self-configuring state, the lower-level SAS expander  12  sends a higher-level SAS expander  12  a response including the value of CONFIGURING=1. 
         [0128]    The response from the lower-level SAS expander  12  responding to the REPORT GENERAL command also includes the number of PHYs. 
         [0129]    DISCOVER is a command issued to a SAS expander  12 , the PHY connection state of which is desired to be found. The SAS expander  12  having received the DISCOVER command transmits, as a response, the information of a device directly connected to a PHY of the SAS expander  12  having received the command (e.g., whether the connected device is a storage device  20  or a SAS expander  12 ). 
         [0130]    REPORT ROUTE INFORMATION is a command for acquiring the connection state of a device connected to a subordinate SAS expander  12 . The SAS expander  12  having received the REPORT ROUTE INFORMATION command transmits, as a response, not the information of a device directly connected to a PHY of the SAS expander  12  having received the command but the connection information of all devices connected under the SAS expander  12 . 
         [0131]    Further, if it is found as a result of measurement by the later-described timer  3  that the information gathering process has not completed, i.e., there is no response from the lower-level SAS expander  12  even after the lapse of a predetermined time since the output of the information acquisition request, the information acquisition request output unit  2  again outputs the information acquisition request. 
         [0132]    The timer  3  measures the time elapsed since the output of the information acquisition request by the information acquisition request output unit  2 . Upon start of the discovery process, the processor (discovery state checking unit)  121  starts monitoring the discovery state, and the elapsed time is measured by the timer  3 . Then, every time a predetermined time elapses since the start of the discovery process, the processor  121  checks the state of the PHY connected to the target SAS expander  12 . The function of the timer  3  can be realized by the use of a variety of known methods, and detailed description thereof will be omitted. 
         [0133]    The retry counter control unit  5 , which counts the number of outputs of the information acquisition request by the information acquisition request output unit  2 , counts the number of information acquisition requests sent to the same SAS expander  12  (the number of retries). That is, the retry counter control unit  5  counts the number of retries of the discovery process. Further, the result of counting by the retry counter control unit  5  is stored in a retry counter (counter)  51  as the counter value. Further, the retry counter  51  is stored in, for example, a predetermined area of the memory  124 . 
         [0134]    On the basis of the respective responses from other SAS expanders  12  responding to the information acquisition request, the connection state management unit  4  manages the respective connection states of the other SAS expanders  12 . Specifically, on the basis of the previously described state management table T 1  (state information), the connection state management unit  4  manages the respective states of the PHYs, i.e., the respective states of the SAS expanders  12  connected the PHYs. 
         [0135]    Further, if it is found as a result of measurement by the above-described timer  3  that the information gathering process has not completed even after the lapse of a predetermined time since the output of the information acquisition request, the connection state management unit  4  sets, in the PHY state of the state management table T 1 , “normal state” for another SAS expander  12 , to which the information acquisition request has been sent. That is, if it is found as a result of measurement by the timer  3  that the information gathering process has not completed even after the lapse of a predetermined time since the output of the information acquisition request, the connection state management unit  4  makes a setting indicating the normal state of the another SAS expanders  12 , to which the information acquisition request has been sent (deemed normal setting). 
         [0136]    Further, the connection state management unit  4  compares the value of the retry counter  51  with a predetermined threshold value. Then, if it is detected that the value of the retry counter  51  has exceeded the threshold value, the connection state management unit  4  sets, in the PHY state of the state management table T 1 , “normal state” for the another SAS expander  12 , to which the information acquisition request has been sent. 
         [0137]    With the PHY state of the state management table T 1  thus set as “normal state,” it is possible to complete the discovery process of the SAS expander  12 . Further, it is thereby possible to perform the discovery process also in the higher-level SAS expander  12  and the controller  10 . The recovery processing unit  6  recovers a SAS expander  12  subordinate to a PHY having discovery abnormality from the state of discovery abnormality. The recovery processing unit  6  reboots the SAS expander  12 , for which the deemed normal setting has been made by the connection state management unit  4 , to thereby recover the SAS expander  12 . 
         [0138]    Referring to recovery target information (detailed description thereof will be made later) stored in the memory  124  or the like, the recovery processing unit  6  determines the PHY (SAS expander  12 ) to be rebooted. 
         [0139]    That is, the recovery processing unit  6  reboots the another SAS expander  12 , which has not completed the information gathering process even after the lapse of a predetermined time since the output of the information acquisition request, to thereby recover the SAS expander  12 . The recovery process of the SAS expander  12  performed by the recovery processing unit  6  will be described in detail later. 
         [0140]    The state monitoring unit  7 , which monitors the respective states of devices connected to the SAS expander  12 , monitors the respective states of the PHYs  0  to  23  in the SAS expander  12 . Then, on the basis of the result of monitoring, the state monitoring unit  7  updates the above-described state management table T 1 . 
         [0141]    Herein, a PHY monitoring method performed by the state monitoring unit  7  in the storage system  1  as an example of embodiment will be described in accordance with the flowchart illustrated in  FIG. 4  (Steps A 10  to A 40 ). 
         [0142]    On the basis of the respective responses from the devices responding to the information acquisition request output by the information acquisition request output unit  2 , the state monitoring unit  7  performs the monitoring of the PHY state and the updating of the state management table T 1  for each of all PHYs  0  to  23  (Step A 10 ). 
         [0143]    Then, the state monitoring unit  7  checks whether or not all of the PHYs are in the “discovery standby” state or the “discovery process” state (Step A 20 ). If none of the PHYs  0  to  23  is in the “discovery standby” state or the “discovery process” state (see the route of YES at Step A 20 ), the state monitoring unit  7  sets a value “0” in the self-configuring flag section T 1 - 2  of the state management table T 1  (Step A 40 ). That is, the PHYs  0  to  23  are all in the normal state or the connection standby state. 
         [0144]    Meanwhile, if any of the PHYs  0  to  23  is in the “discovery standby” state or the “discovery process” state (see the route of NO at Step A 20 ), the state monitoring unit  7  sets a value “1” in the self-configuring flag section T 1 - 2  of the state management table T 1  (Step A 30 ). That is, the PHYs  0  to  23  are all in the self-configuring state. 
         [0145]      FIG. 5  is a diagram illustrating state transitions of a PHY of a SAS expander  12  (hereinafter occasionally referred to as the expander PHY) occurring in the storage system  1  as an example of embodiment. 
         [0146]    In the normal state of the storage system  1  (see S 1  in  FIG. 5 ), if disconnection of a device is detected, the PHY shifts to the state of standby for the connection of the device (see S 2  in  FIG. 5 ). Upon establishment of connection of the device or receipt of the BC(CHG) in the normal state, the PHY shifts to the discovery process (see S 3  in  FIG. 5 ). 
         [0147]    In the discovery process, if the response to the REPORT GENERAL command in the information acquisition request from the information acquisition request output unit  2  indicates the self-configuring state (CONFIGURING=1), the PHY shifts to the state of discovery standby (see S 4  in  FIG. 5 ). If the BC(CHG) is received in the discovery standby state, the PHY shifts to the discovery process state (see S 3  in  FIG. 5 ). Then, if the discovery process completes in the discovery process state, the PHY shifts to the normal state. 
         [0148]    Further, in the discovery process state, discovery state monitoring by the state monitoring unit  7  starts upon start of the discovery process, and the PHY shifts to the discovery state monitoring state (see S 5  in  FIG. 5 ). The discovery state monitoring state stops upon completion of the discovery process. 
         [0149]    Further, in the discovery state monitoring state, if the PHY remains in the discovery process state without a change in state thereof for a predetermined time, the discovery process is restarted. If the number of retries of the information acquisition request made by the information acquisition request output unit  2  has exceeded a predetermined value (discovery retry-out), the PHY shifts to the abnormal state (see S 6  in  FIG. 5 ). 
         [0150]    That is, if the state of no change in the PHY state during the discovery process consecutively occurs a predetermined number of times after the restart of the discovery process, it is determined that there is abnormality in the PHY, a SAS expander  12  connected to the PHY, or the path therebetween, and the discovery process of the PHY is interrupted. Then, the discovery process is completed without the acquisition of the connection state of the device subordinate to the PHY. 
         [0151]    Further, if, as a result of the discovery process, the PHY shifts to a BC(CHG) reception standby state owing to the self-configuring state of a subordinate SAS expander  12 , and if the BC(CHG) is not received for a predetermined time since the start of the BC(CHG) reception standby state, the loss of the BC(CHG) is suspected, and the retry of the discovery process is performed on the subordinate SAS expander  12 . 
         [0152]    If the subordinate SAS expander  12  remains in the self-configuring state even after the retry of the discovery process, the PHY returns to the BC(CHG) reception standby state. If the subordinate SAS expander  12  remains in the self-configuring state even after a predetermined number of the retries, it is determined that there is abnormality in the PHY, the SAS expander  12  connected to the PHY, or the path therebetween. Then, the discovery process is interrupted, and the discovery process is completed without the acquisition of the connection state of the subordinate device. 
         [0153]    With this configuration, even if there arises a situation in which the discovery process fails to complete, the failure to acquire the device connection state is limited to the device subordinate to the PHY having abnormality, and it is possible to acquire the respective connection states of normal parts higher than the PHY. 
         [0154]    Further, if disconnection is detected in the abnormal state, the PHY shifts to the connection standby state (see S 2  in  FIG. 5 ). Meanwhile, if the BC(CHG) is received in the abnormal state, the PHY shifts to the discovery process (see S 3  in  FIG. 5 ). 
         [0155]    The present storage system  1  grasps the state of the expander PHY by using the state monitoring unit  7  and the connection state management unit  4 , and performs timer monitoring of the discovery process by using the timer  3 . Thereby, the storage system  1  prevents the uncompleted state of the discovery process attributed to the stagnation of processing or the loss of the BC(CHG) during the discovery process. 
         [0156]    Subsequently, processes performed in the respective states in the state transition diagram illustrated in  FIG. 5  will be described in accordance with the flowcharts illustrated in  FIGS. 6 to 10 . 
         [0157]    The process performed in the normal state (see  51  in  FIG. 5 ) in the storage system  1  as an example of embodiment will be first described in accordance with the flowchart illustrated in  FIG. 6  (Steps B 10  and B 20 ). 
         [0158]    Upon completion of the discovery process, normal monitoring starts. In this state, the response to the information acquisition request (REPORT GENERAL) from the information acquisition request output unit  2  includes the value of CONFIGURING=0. 
         [0159]    The state monitoring unit  7  checks whether or not disconnection has occurred (Step B 10 ). Herein, if disconnection has occurred (see the route of YES at Step B 10 ), the process shifts to the connection standby state (see S 2  in  FIG. 5 ). 
         [0160]    Meanwhile, if disconnection has not occurred (see the route of NO at Step B 10 ), whether or not the BC(CHG) has been received is then checked (Step B 20 ). If the BC(CHG) has not been received (see the route of NO at Step B 20 ), the process returns to Step B 10 . Meanwhile, if the BC(CHG) has been received (see the route of YES at Step B 20 ), the process shifts to the discovery process (see S 3  in  FIG. 5 ). 
         [0161]    Subsequently, the process performed in the connection standby state (see S 2  in  FIG. 5 ) in the storage system  1  as an example of embodiment will be described in accordance with the flowchart illustrated in  FIG. 7  (Step C 10 ). 
         [0162]    Connection standby monitoring starts. In this state, the response to the information acquisition request (REPORT GENERAL) from the information acquisition request output unit  2  includes the value of CONFIGURING=0. 
         [0163]    Then, whether or not the connection has completed is repeatedly checked (see Step C 10  and the route of NO at Step C 10 ). Then, if the connection has completed (see the route of YES at Step C 10 ), and if the connected device is a SAS expander, the process shifts to the discovery process (see S 3  in  FIG. 5 ). 
         [0164]    Subsequently, the process performed in the discovery standby state (see S 4  in  FIG. 5 ) in the storage system  1  as an example of embodiment will be described in accordance with the flowchart illustrated in  FIG. 8  (Steps D 10  and D 20 ). 
         [0165]    In the discovery standby state, the response to the information acquisition request (REPORT GENERAL) from the information acquisition request output unit  2  includes the value of CONFIGURING=1. 
         [0166]    The state monitoring unit  7  checks whether or not disconnection has occurred (Step D 10 ). Herein, if disconnection has occurred (see the route of YES at Step D 10 ), the process shifts to the connection standby state (see S 2  in  FIG. 5 ). 
         [0167]    Meanwhile, if disconnection has not occurred (see the route of NO at Step D 10 ), whether or not the BC(CHG) has been received is then checked (Step D 20 ). If the BC(CHG) has not been received (see the route of NO at Step D 20 ), the process returns to Step D 10 . Meanwhile, if the BC(CHG) has been received (see the route of YES at Step D 20 ), the process shifts to the discovery process (see S 3  in  FIG. 5 ). 
         [0168]    Subsequently, the process performed in the discovery process state (see S 3  in  FIG. 5 ) in the storage system  1  as an example of embodiment will be described in accordance with the flowchart illustrated in  FIG. 9  (Steps E 10  to E 50  and F 10  to F 40 ). 
         [0169]    In the discovery process state, the response to the information acquisition request (REPORT GENERAL) from the information acquisition request output unit  2  includes the value of CONFIGURING=1. 
         [0170]    In the discovery process, the information acquisition request output unit  2  of a higher-level SAS expander  12  issues the REPORT GENERAL command and the REPORT ROUTE INFORMATION command to a lower-level SAS expander  12  (Steps E 10  and E 20 ). The lower-level SAS expander  12  sends respective responses to the information acquisition requests (Steps F 10  and F 20 ). The response from the lower-level SAS expander  12  responding to the REPORT GENERAL command includes the number of PHYs included in the SAS expander  12 . 
         [0171]    The higher-level SAS expander  12  checks whether or not the response from the lower-level SAS expander  12  responding to the REPORT GENERAL command includes the value of CONFIGURING=1, i.e., whether or not the self-configuring is being performed (Step E 30 ). If it is found as a result of checking that the response includes the value of CONFIGURING=1 (see the route of YES at Step E 30 ), the process shifts to the state of discovery standby (see S 4  in  FIG. 5 ). 
         [0172]    Meanwhile, if the response from the lower-level SAS expander  12  does not include the value of CONFIGURING=1, the information acquisition request output unit  2  issues, to the lower-level SAS expander  12 , DISCOVER commands corresponding to the number of PHYs included in the response from the lower-level SAS expander  12  responding to the REPORT GENERAL command (Step E 40 ). 
         [0173]    The lower-level SAS expander  12  sends respective responses to all of the issued DISCOVER commands (Step F 30 ). 
         [0174]    Further, the higher-level SAS expander  12  issues, as required, the REPORT ROUTE INFORMATION command to the lower-level SAS expander  12  (Step E 50 ). The lower-level SAS expander  12  sends a response to the REPORT ROUTE INFORMATION command (Step F 40 ). Thereafter, the higher-level SAS expander  12  shifts to the normal monitoring state. 
         [0175]    Subsequently, the process performed in the discovery state monitoring state (see S 5  in  FIG. 5 ) in the storage system  1  as an example of embodiment will be described in accordance with the flowchart illustrated in  FIG. 10  (Steps G 10  to G 70 ). 
         [0176]    Upon start of the discovery process, the discovery state monitoring also starts. The retry counter control unit  5  first resets (zero-clears) the retry counter  51  (Step G 10 ). Thereafter, a setting is made by the timer  3  so as to start the monitoring by the state monitoring unit  7  after a predetermined time (Step G 20 : timekeeping step). This setting can be achieved by, for example, a setting such as “START FUNCTION F AFTER N SECONDS.” 
         [0177]    Then, the state monitoring unit  7  monitors the respective states of the PHYs  0  to  23  in the SAS expander  12  to check whether or not any of the PHYs  0  to  23  is in the “discovery standby” state or the “discovery process” state (Step G 30 ). Herein, if none of the PHYs  0  to  23  is in the “discovery standby” state or the “discovery process” state (see the route of NO at Step G 30 ), the state monitoring process is completed. 
         [0178]    Meanwhile, if any of the PHYs  0  to  23  is in the “discovery standby” state or the “discovery process” state (see the route of YES at Step G 30 ), the retry counter control unit  5  increments the retry counter  51  (Step G 40 ). Then, the connection state management unit  4  compares the value of the retry counter  51  with a predetermined threshold value (Step G 50 ). If the value of the retry counter  51  has not exceeded the threshold value (see the route of NO at Step G 50 ), the discovery process is retried (Step G 70 : information acquisition request output step), and thereafter the process returns to Step G 20 . 
         [0179]    Meanwhile, if it is found as a result of comparison of the value of the retry counter  51  with the predetermined threshold value that the value of the retry counter  51  has exceeded the threshold value (see the route of YES at Step G 50 ), the PHY state of the PHY in the state management table T 1  is forcibly set to “normal state” (Step G 60 : connection state management step), and the state monitoring process is completed. 
         [0180]    If the discovery process of the lower-level SAS expander  12  does not complete even if the discovery process is repeatedly performed more than the preset threshold number of times as a result of retry of the discovery process performed at every lapse of a predetermined time, it can be determined that some abnormality has occurred in the PHY or a device subordinate thereto. In the present storage system  1 , the PHY value of the PHY in the state management table T 1  is set to “normal state,” to thereby create a state similar to the state in which the discovery process of the lower-level SAS expander  12  has completed. That is, the discovery process of the PHY is forcibly set to the completed state. Thereby, it is possible to complete the discovery process also in the higher-level SAS expander  12 . 
         [0181]    Upon completion of the discovery process, the execution of the monitoring process performed by the state monitoring unit  7  at every predetermined time at the above-described Step G 20  is interrupted. That is, the timer  3  for regular monitoring is stopped. 
         [0182]    Subsequently, the process performed when abnormality occurs during the discovery process in the above-configured storage system  1  as an example of embodiment will be described with reference to  FIGS. 11 to 16 . For the sake of convenience, these  FIGS. 11 to 16  only illustrate one of the storage devices  20  and the SAS expanders  12   a  of the 0-system including, on the upstream side thereof, the controller  0 , which will be used for explanation, and illustration of the other components is omitted. Further, it is needless to say that, although description will be made below with reference to the example of the controller  10   a  and the SAS expanders  12   a  forming the 0-system, similar processing is also performed in the 1-system including the controller  1  on the upstream side thereof. 
         [0183]    In the storage system  1 , as illustrated in  FIG. 11 , if the SAS expander  2 - 0  detects a change (change in state) in the topology managed thereby, for example, the SAS expander  2 - 0  issues the BC(CHG) to the higher-level SAS expander  1 - 0 . In this case, the discovery process is not performed in the SAS expander  2 - 0 . 
         [0184]    The SAS expander  1 - 0  having received the BC(CHG) from the SAS expander  2 - 0  transfers the BC(CHG) to the further higher-level SAS expander  0 - 0 , and the SAS expander  0 - 0  transfers the BC(CHG) to the further higher-level controller  0 . 
         [0185]    Each of the controller  0  and the SAS expanders  0 - 0  and  1 - 0  having received the BC(CHG) starts the discovery process, as illustrated in  FIG. 12 . Accordingly, the SAS expanders  0 - 0  and  1 - 0  shift to the self-configuring state. 
         [0186]    Further, as illustrated in  FIG. 13 , the controller  0  and the SAS expander  0 - 0  are unable to proceed with the discovery process when the subordinate SAS expander  1 - 0  is in the discovery process state, and thus shift to the standby state (discovery standby state, self-configuring state). That is, the controller  0  and the SAS expander  0 - 0  stand by in the discovery state owing to the self-configuring state of the subordinate SAS expander  1 - 0 . 
         [0187]    Herein, if the discovery process of the SAS expander  1 - 0  completes, the SAS expander  1 - 0  issues the BC(CHG) to the higher-level SAS expander  0 - 0 . 
         [0188]    As illustrated in  FIG. 14 , however, if the SAS expander  1 - 0  fails to issue the BC(CHG) or the SAS expander  0 - 0  fails to receive the issued BC(CHG) for some reason, the SAS expander  0 - 0  remains in the discovery standby state and is unable to complete the discovery process. Accordingly, the controller  0  also fails to receive the BC(CHG) and is unable to complete the discovery process, remaining in the discovery standby state. 
         [0189]    In the present storage system  1 , if the discovery process does not complete in the SAS expander  0 - 0  even after the lapse of a predetermined time since the start of the discovery process, the connection state management unit  4  interrupts the discovery process of the PHY having the uncompleted discovery process, to thereby forcibly complete the discovery process. Specifically, the information indicating “normal state” is set in the PHY information of the state management table T 1  corresponding to the PHY having the uncompleted discovery process, even though the discovery process has not actually completed (deemed normal setting). 
         [0190]    Thereby, as illustrated in  FIG. 15 , the discovery process of the SAS expander  0 - 0  starts, and the SAS expander  0 - 0  shifts to the discovery state or the self-configuring state. In this state, the controller  0  still remains in the discovery standby state owing to the self-configuring state of the subordinate SAS expander  0 - 0 . 
         [0191]    Thereafter, as illustrated in  FIG. 16 , the discovery process is completed upon completion of the self-configuring of the SAS expander  0 - 0 . Thereby, the discovery process is partially completed. That is, the discovery process of the SAS expander  1 - 0  has not actually completed, and thus the discovery process has formally completed in the SAS expander  0 - 0  without the acquisition of the information of a device subordinate to the SAS expander  1 - 0 . 
         [0192]    The controller  0  acquires discovery connection information of parts other than the part corresponding to the interrupted discovery process, and completes the discovery process. In this case, a device lower than the SAS expander  1 - 0  is not registered in the device map. 
         [0193]    As described above, even if any of the SAS expanders  12  fails to complete the discovery process in the discovery process state, the resulting influence is limited to the extinction of a device lower than the SAS expander  1 - 0  from the device map, and it is possible to complete the discovery process without causing degrading of the CMs and so forth. 
         [0194]    Subsequently, description will be made of a method in which the recovery processing unit  6  recovers a SAS expander  12  subordinate to a PHY having discovery abnormality as described above from the state of discovery abnormality. 
         [0195]    The recovery processing unit  6  reboots the SAS expander  12  subordinate to a PHY having discovery abnormality, to thereby recover the SAS expander  12 . 
         [0196]    In the present storage system  1 , the recovery processing unit  6  has at least one of (1) a recovery method using an SES (SCSI Enclosure Service) command, (2) a recovery method using a SAS link-down function, and (3) a recovery method using an external path. 
         [0197]    (1) Recovery Method Using SES Command:  FIGS. 17A to 17D  are diagrams for explaining a SAS expander recovery method using an SES command performed in the storage system  1  as an example of embodiment. 
         [0198]    For the sake of convenience, these  FIGS. 17A to 17D  only illustrate one controller  10  and two SAS expanders  12  cascade-connected thereto, and illustration of the other components is omitted. In these  FIGS. 17A to 17D , one of the two SAS expanders  12  connected to the controller  10  will be referred to as the SAS expander A, and the SAS expander  12  connected under the SAS expander A will be referred to as the SAS expander B. 
         [0199]    Description will be made of an example in which the BC(CHG) from the SAS expander B fails to be delivered to the SAS expander A or the SAS expander B continues to have the value of CONFIGURING=1, as illustrated in  FIG. 17A . 
         [0200]    In this case, the connection state management unit  4  of the SAS expander A interrupts the discovery process of the PHY connected to the SAS expander B, as illustrated in  FIG. 17B . Further, the controller  10  only acquires the connection state of the SAS expander A, and completes the discovery process. 
         [0201]    Herein, as illustrated in  FIG. 17C , the SAS expander A having interrupted the discovery process of the PHY suffering from the stagnant discovery process transmits, to the SAS expander B connected to the PHY suffering from the stagnant discovery process, the DISCOVER command in a sequence different from the sequence of the normal discovery process. On the basis of the response from the SAS expander B responding to the DISCOVER command, the SAS expander A acquires the device information of devices directly connected to the SAS expander B. 
         [0202]    Herein, if the devices directly connected to the SAS expander B include an SSP (Serial SCSI Protocol) device, the SAS expander A transmits a reboot command (reset command) to the SSP device, to thereby reboot and recover the SAS expander B. The presence or absence of the SSP device can be determined by, for example, checking the information (flag) included in the response to the DISCOVER command to indicate whether or not the target PHY is a virtual PHY, or checking whether or not an INQUIRY command serving as a SCSI command includes the information indicating whether or not the target device is an SES device. The checking of the SSP device may be performed by the use of a variety of known methods. 
         [0203]    As a result, the SAS expander B is rebooted. Then, as illustrated in  FIG. 17D , if the self-configuring of the SAS expander B completes and the BC(CHG) is delivered from the SAS expander B to the SAS expander A, the connection state of the entire system can be acquired. That is, if the SAS expander B is rebooted and the discovery process performed by the SAS expander A after the reconnection of the PHY completes, the recovery of the SAS expander B completes, and the controller  10  can acquire the connection state of the entire system. 
         [0204]    Herein, a recovery method using an SES command performed by the recovery processing unit  6  in the storage system  1  as an example of embodiment will be described in accordance with the flowchart illustrated in  FIG. 18  (Steps H 10  to H 40  and J 10  to J 40 ). 
         [0205]    In the recovery process, the information acquisition request output unit  2  of a higher-level SAS expander  12  issues the REPORT GENERAL command and the REPORT ROUTE INFORMATION command to a lower-level SAS expander  12  (Steps H 10  and H 20 ). The lower-level SAS expander  12  sends respective responses to the information acquisition requests (Steps J 10  and J 20 ). 
         [0206]    Irrespective of the configuration value included in the response from the lower-level SAS expander  12  responding to the REPORT GENERAL command, the higher-level SAS expander  12  issues DISCOVER commands corresponding to the number of PHYs included in the response from the lower-level SAS expander  12  responding to the REPORT GENERAL command (Step H 30 ). 
         [0207]    The lower-level SAS expander  12  sends respective responses to all of the issued DISCOVER commands (Step J 30 ). 
         [0208]    Then, if any of the responses to the DISCOVER commands indicates the presence of an SSP device, the higher-level SAS expander  12  issues a reboot command to the SSP device (Step H 40 ). The lower-level SAS expander  12  including the SSP device having received the reboot command starts the rebooting process (Step J 40 ). 
         [0209]    As a result, the lower-level SAS expander  12  is rebooted. Then, if the discovery process performed by the higher-level SAS expander  12  after the reconnection of the PHY completes, the recovery of the lower-level SAS expander  12  completes, and the process shifts to the normal monitoring state (see S 1  in  FIG. 5 ). 
         [0210]    (2) Recovery Method Using SAS Link-down Function: In the present storage system  1 , the repeater  133  of the SAS expander  12  has a function of detecting SAS link-down and link-up. Further, the PLD  130  is configured to perform switch control of the switch  132  in accordance with the detection of link-down/link-up by the repeater  133  so as to control the power supply to the expander chip  120 . 
         [0211]    Specifically, the above-described power-off process of the expander chip  120  based on the SAS link-down detection can be achieved by, for example, expander firmware for operating the processor  121  of the SAS expander  12 . 
         [0212]    Further, the above-described power-on process of the expander chip  120  based on the SAS link-up detection can be achieved by, for example, a function of the PLD  130  of the SAS expander  12 . 
         [0213]    As described above, if the SAS expander  12  suffering from the stagnant discovery process has the link-down function for controlling the power supply to the expander chip  120  in accordance with the result of SAS link-down/link-up detection, it is possible to achieve recovery control using the link-down function. 
         [0214]      FIGS. 19A to 19D  are diagrams for explaining a SAS expander recovery method using the link-down function performed in the storage system  1  as an example of embodiment. 
         [0215]    For the sake of convenience, these  FIGS. 19A to 19D  only illustrate one controller  10  and two SAS expanders  12  cascade-connected thereto, and illustration of the other components is omitted. In these  FIGS. 19A to 19D , one of the two SAS expanders  12  connected to the controller  10  will be referred to as the SAS expander A, and the SAS expander  12  connected under the SAS expander A will be referred to as the SAS expander B. 
         [0216]    Description will be made of an example in which the BC(CHG) from the SAS expander B fails to be delivered to the SAS expander A or the SAS expander B continues to have the value of CONFIGURING=1, as illustrated in  FIG. 19A . 
         [0217]    In this case, the connection state management unit  4  of the SAS expander A interrupts the discovery process of the PHY connected to the SAS expander B, as illustrated in  FIG. 19B . Further, the controller  10  only acquires the connection state of the SAS expander A, and completes the discovery process. 
         [0218]    Herein, as illustrated in  FIG. 19C , the SAS expander A having interrupted the discovery process of the PHY suffering from the stagnant discovery process disables, for a predetermined period, the PHY suffering from the stagnant discovery process, and thereafter enables the PHY. Thereby, the recovery processing unit  6  turns OFF and turns ON (reboots) the power supply of the connected SAS expander B to recover the SAS expander B. 
         [0219]    As s result, the SAS expander B is rebooted. Then, as illustrated in  FIG. 19D , if the self-configuring of the SAS expander B completes and the BC(CHG) is delivered from the SAS expander B to the SAS expander A, the connection state of the entire system can be acquired. That is, if the SAS expander B is rebooted and the discovery process performed by the SAS expander A after the reconnection of the PHY completes, the recovery of the SAS expander B completes, and the controller  10  can acquire the connection state of the entire system. 
         [0220]    (3) Recovery Method Using External Path:  FIG. 20  is a diagram schematically exemplifying a configuration of the storage system  1  as an example of embodiment, which is capable of achieving a recovery method using an external path.  FIG. 21  is a diagram schematically illustrating a hardware configuration of a SAS expander of the storage system  1 . 
         [0221]    To achieve the present recovery method using an external path, the storage system  1  is desired to have, for example, the hardware configuration as illustrated in  FIGS. 20 and 21 . 
         [0222]    That is, as illustrated in  FIG. 20 , the controllers  10  and the SAS expanders  12  are communicably connected via a communication line (external path)  201  different from the data buses  18   a ,  18   b ,  19   a - 1 ,  19   b - 1 ,  19   a - 2 ,  19   b - 2 ,  19   a - 3 , and  19   b - 3 . The communication line  201  is based on, for example, an Ethernet (registered trademark) or serial standard. 
         [0223]    As illustrated in  FIG. 21 , therefore, the expander chip  120  of each of the SAS expanders  12  includes a serial port  210  and an Ether port  220 . 
         [0224]    In the drawing, the same reference numerals as the previously described reference numerals designate components the same or substantially the same as the components designated by the previously described reference numerals, and thus description thereof will be omitted. 
         [0225]      FIGS. 22A to 22D  are diagrams for explaining a SAS expander recovery method using an external path performed in the storage system  1  as an example of embodiment. 
         [0226]    For the sake of convenience, these  FIGS. 22A to 22D  only illustrate one controller  10  and two SAS expanders  12  cascade-connected thereto, and illustration of the other components is omitted. In these  FIGS. 22A to 22D , one of the two SAS expanders  12  connected to the controller  10  will be referred to as the SAS expander A, and the SAS expander  12  connected under the SAS expander A will be referred to as the SAS expander B. 
         [0227]    Description will be made of an example in which the BC(CHG) from the SAS expander B fails to be delivered to the SAS expander A or the SAS expander B continues to have the value of CONFIGURING=1, as illustrated in  FIG. 22A . 
         [0228]    In this case, the connection state management unit  4  of the SAS expander A interrupts the discovery process of the PHY connected to the SAS expander B, as illustrated in  FIG. 22B . Further, the controller  10  only acquires the connection state of the SAS expander A, and completes the discovery process. 
         [0229]    Herein, as illustrated in  FIG. 22C , the SAS expander A having interrupted the discovery process of the PHY suffering from the stagnant discovery process transmits, via the communication line  201  not forming a SAS interface, a reboot command to the SAS expander B connected to the PHY suffering from the stagnant discovery process, to thereby reboot and recover the SAS expander B. 
         [0230]    As a result, the SAS expander B is rebooted. Then, as illustrated in  FIG. 22D , if the self-configuring of the SAS expander B completes and the BC(CHG) is delivered from the SAS expander B to the SAS expander A, the connection state of the entire system can be acquired. That is, if the SAS expander B is rebooted and the discovery process performed by the SAS expander A after the reconnection of the PHY completes, the recovery of the SAS expander B completes, and the controller  10  can acquire the connection state of the entire system. 
         [0231]    The recovery of the SAS expander B may be performed such that the SAS expander A notifies the controller  10  of the malfunction of the SAS expander B via the data bus  18   a , the communication line  201 , or the like, and that the controller  10  transmits the reboot command to the SAS expander B via the communication line  201 . 
         [0232]    When the recovery processing unit  6  reboots the SAS expander  12  subordinate to the PHY having discovery abnormality to thereby recover the SAS expander  12 , there may be a disk access from the host computer  200  or the like to a device subordinate to the SAS expander  12  being subjected to the rebooting process. 
         [0233]    The present storage system  1  is desired to have a function of disguising the PHY having abnormal discovery as not implemented with a device during the above-described recovery process by the recovery processing unit  6 . 
         [0234]      FIG. 23  is a diagram illustrating another example of the state management table T 1  as an example of embodiment. In the state management table T 1  illustrated in this  FIG. 23 , “abnormal state (during recovery)” is set as the PHY state corresponding to a PHY ID of 2. 
         [0235]    A method of responding to the DISCOVER command performed by a SAS expander  12  in the storage system  1  as an example of embodiment will be described in accordance with the flowchart illustrated in  FIG. 24  (Steps L 10  to L 50 ). 
         [0236]    A higher-level SAS expander  12  specifies the PHY ID and transmits the DISCOVER command to a lower-level SAS expander  12 , and the lower-level SAS expander  12  receives the DISCOVER command (Step L 10 ). The lower-level SAS expander  12  refers to the state management table T 1 , and checks whether or not the specified PHY is in the abnormal state (Step L 20 ). 
         [0237]    If the specified PHY is not in the abnormal state (see the route of NO at Step L 20 ), the SAS expander  12  creates a response to the DISCOVER command by storing therein actual information (Step L 30 ). Then, the SAS expander  12  transmits to the higher-level SAS expander  12  the created response to the DISCOVER command (Step L 40 ), and the process is completed. 
         [0238]    Meanwhile, if the specified PHY is in the abnormal state (see the route of YES at Step L 20 ), the SAS expander  12  creates a response to the DISCOVER command indicating that the PHY is not implemented with a device (Step L 50 ), and the process shifts to Step L 40 . 
         [0239]    Herein, the method of creating a response to the DISCOVER command indicating that the PHY is not implemented with a device can be achieved by, for example, setting “No device attached (000b)” in the “ATTACHED DEVICE TYPE” field, setting “Unknown (0h)” in the “NEGOTIATED PHYSICAL LINK RATE” field, and setting “00b” in the “ATTACHED SATA PORT SELECTOR” and “ATTACHED SATA DEVICE” bits in the response to the DISCOVER command. These fields and bits are defined by the SAS standard, and detailed description thereof will be omitted. 
         [0240]    Further, the method of creating a response to the DISCOVER command indicating that the PHY is not implemented with a device is not limited to the above-described method, and may be achieved by the use of a variety of other methods. 
         [0241]    Further, when the recovery processing unit  6  reboots the SAS expander  12  subordinate to the PHY having discovery abnormality to thereby recover the SAS expander  12 , the BC(CHG) is transmitted to a higher-level SAS expander  12  in accordance with the reboot of the SAS expander  12 . Thereby, the discovery process starts, exerting influence on the processing of the storage system  1 . To prevent such influence, the present storage system  1  has a function of preventing the issuance of the BC(CHG) in the recovery process by the recovery processing unit  6 . 
         [0242]    A BC(CHG) issuance method performed by a SAS expander  12  in the storage system  1  as an example of embodiment will be described in accordance with the flowchart illustrated in  FIG. 25  (Steps M 10  to M 50 ). 
         [0243]    If the state monitoring unit  7  of a SAS expander  12  detects a change in state of a PHY (Step M 10 ), or if a SAS expander  12  receives the BC(CHG) from a lower-level SAS expander  12  connected to a PHY (Step M 20 ), the connection state management unit  4  checks whether or not the PHY, the change in state of which has been detected, or from which the BC(CHG) has been received, is in the abnormal state (Step M 30 ). The abnormal state of the PHY includes the “discovery standby during recovery” and the “discovery process state.” 
         [0244]    Then, if the PHY, the change in state of which has been detected, or from which the BC(CHG) has been received, is not in the abnormal state (see the route of NO at Step M 30 ), the processor  121  issues the BC(CHG). Meanwhile, if the PHY, the change in state of which has been detected, or from which the BC(CHG) has been received, is in the abnormal state (see the route of YES at Step M 30 ), the processor  121  prevents the issuance of the BC(CHG). 
         [0245]    Subsequently, a recovery process of recovering the SAS expander B performed by the SAS expander A in the storage system  1  as an example of embodiment will be described in accordance with the flowchart illustrated in  FIG. 26  (Steps K 10  to K 110 ). 
         [0246]    If discovery abnormality occurs, the state monitoring unit  7  of the SAS expander A shifts (sets), in the state management table T 1 , the state of the PHY having the discovery abnormality (occasionally referred to as the target PHY) to the abnormal state (recovery target) (Step K 10 ). 
         [0247]    Further, the SAS expander A sends a response to the DISCOVER command disguising the target PHY as not connected to a device (Step K 20 ). The SAS expander A further makes a setting so as not to issue the BC(CHG) even if a change in the target PHY is detected (Step K  30 ). 
         [0248]    Thereafter, the recovery processing unit  6  of the SAS expander A reboots the SAS expander B subordinate to the target PHY (Step K 40 ). In the recovery process, the recovery processing unit  6  may use one of (1) the recovery method using an SES command, (2) the recovery method using a SAS link-down function, and (3) the recovery method using an external path, which have been described above. 
         [0249]    Upon establishment of connection or receipt of the BC(CHG) at the target PHY, the SAS expander A performs the discovery process (Step K 50 ). Then, the SAS expander A checks whether or not the discovery process has succeeded (Step K 60 ). If the discovery process has failed (see the route of NO at Step K 60 ), the SAS expander A sets (shifts), in the state management table T 1 , the state of the target PHY to the abnormal state (confirmed) (Step K 70 ), and the process is completed. 
         [0250]    Meanwhile, if the discovery process has succeeded (see the route of YES at Step K 60 ), the connection state management unit  4  shifts the PHY state of the target PHY to the normal state (Step K 80 ). 
         [0251]    Then, the SAS expander A sends actual information as the response of the target PHY to the DISCOVER command (Step K 90 ). Further, the processor  121  is set to issue the BC(CHG) upon detection of a change in the target PHY (Step K 100 ). 
         [0252]    Thereafter, with the subordinate SAS expander  12  having been made viewable in the device map, the BC(CHG) is issued (Step K 110 ), and the process is completed. 
         [0253]      FIG. 27  is a diagram illustrating state transitions of an expander PHY occurring when the recovery process is implemented in the storage system  1  as an example of embodiment. In the drawing, the same parts as the previously described parts represent the same or substantially the same processes, and thus description thereof will be omitted. 
         [0254]    The state transition diagram illustrated in this  FIG. 27  is different from the state transition diagram illustrated in  FIG. 5  mainly in the process performed in the abnormal state (see S 6 ′ in  FIG. 27 ). That is, if the number of retries of the information acquisition request made by the information acquisition request output unit  2  has exceeded a predetermined value (discovery retry-out), the PHY shifts to the abnormal state (recovery target) (see S 6 ′ in  FIG. 27 ). In the abnormal state (recovery target), the connection state management unit  4  sets, for the PHY in which the abnormal state has been detected, the information indicating that the PHY is the recovery target (recovery target information). 
         [0255]    The recovery target information is configured by, for example, identification information (e.g., flag) indicating the recovery target and associated with the PHY ID, and is stored in, for example, a predetermined area of the memory  124  or the like. With reference to the recovery target information, the recovery processing unit  6  determines the PHY to be subjected to the recovery process. That is, the recovery processing unit  6  determines, as the reboot (recovery) target, the SAS expander  12  connected to the PHY set with the identification information indicating the recovery target. Further, as illustrated in Step K 80  in the flowchart of  FIG. 26  described above, if the recovery has succeeded in the abnormal state (recovery target), the PHY shifts to the normal state (see S 1  in  FIG. 27 ). 
         [0256]      FIG. 28  is a diagram illustrating state transitions of a PHY in the abnormal state occurring in the storage system  1  as an example of embodiment. In consideration of the replacement of the recovery-target SAS expander  12  during the recovery process, the time monitoring of the entire recovery process is not performed. 
         [0257]    The recovery processing unit  6  reboots the SAS expander  12  connected to the target PHY in the abnormal state (recovery target) (see S 01  in  FIG. 28 ). Thereby, the state of the target PHY shifts to the abnormal state (during recovery) (see S 02  in  FIG. 28 ). 
         [0258]    Herein, if the BC(CHG) from a lower-level SAS expander  12  is received in the abnormal state (during recovery), the state of the target PHY shifts to the discovery process (during recovery) (see S 03  in  FIG. 28 ). Further, if disconnection occurs in the abnormal state (during recovery) (see S 02  in  FIG. 28 ), the PHY shifts to the state of connection standby (see S 04  in  FIG. 28 ). 
         [0259]    Then, if connection is established in the state of connection standby, the PHY shifts to the discovery process (during recovery) (see S 03  in  FIG. 28 ). 
         [0260]    Further, if the value of CONFIGURING=1 is set in the response to the REPORT GENERAL command in the discovery process (during recovery), the state of the target PHY shifts to the state of discovery standby (during recovery) (see S 05  in  FIG. 28 ). Further, if the BC(CHG) is received in the state of discovery standby (during recovery), the state of the target PHY shifts to the discovery process (during recovery) (see S 03  in  FIG. 28 ). Further, if the discovery process completes in the discovery process (during recovery), the PHY shifts to the normal state (see S 06  in  FIG. 28 ). 
         [0261]    Further, in the discovery process (during recovery) (see S 03  in  FIG. 28 ), the state monitoring starts upon start of the discovery process (see S 07  in  FIG. 28 ). The state monitoring stops upon completion of the discovery process. 
         [0262]    Further, if the retry-out of the discovery process occurs in the state monitoring, the state of the target PHY shifts to the abnormal state (confirmed) (see S 08  in  FIG. 28 ). Then, if disconnection occurs in the abnormal state (confirmed), the PHY shifts to the state of connection standby (see S 04  in  FIG. 28 ). In consideration of the replacement of the recovery-target SAS expander  12  after the recovery process, only the disconnection state is monitored. 
         [0263]    As described above, in the storage system  1  as an example of embodiment, if it is found as a result of measurement by the timer  3  that the discovery process has not completed even after the lapse of a predetermined time since the output of the discovery request, i.e., since the start of the discovery process, the connection state management unit  4  makes a setting, in the state management table T 1 , indicating the normal state (ordinary state) of the PHY having discovery abnormality (deemed normal setting). Thereby, the state of standby for the completion of the discovery process is canceled. Accordingly, it is possible to complete the discovery process, and to perform the discovery process also in a higher-level SAS expander  12  and the controller  10 . That is, it is possible to stably operate the present storage system  1  without causing degrading of devices and so forth. 
         [0264]    Therefore, even if there arises a situation in which the discovery process fails to complete, the resultant influence is limited to the failure to acquire the connection state of a device subordinate to the PHY having abnormality, and it is possible to acquire the respective connection states of normal parts higher than the PHY. 
         [0265]    Further, if it is found as a result of measurement by the timer  3  that the discovery process has not completed even after the lapse of a predetermined time since the start of the discovery process, the discovery process is retried, and the count value of the retry counter  51  is compared with a predetermined threshold value. Then, if it is detected that the value of the retry counter  51  has exceeded the threshold value, the connection state management unit  4  makes a setting indicating the normal state (ordinary state) of the PHY having discovery abnormality. With the above-described threshold value set as appropriate, it is possible to operate the present storage system  1  in accordance with the intended purpose, such as the emphasis on stability or the emphasis on continuity of operations. 
         [0266]    Further, the recovery processing unit  6  reboots the SAS expander  12  subordinate to the PHY having discovery abnormality, to thereby recover the SAS expander  12  from the state of discovery abnormality. It is therefore possible to stably operate the SAS expander  12  and a device connected thereto. Accordingly, it is possible to stably operate the present storage system  1 , and to improve the reliability. 
         [0267]    Further, the disclosed technique is not limited to the above-described embodiments, and can be implemented in various modified forms within a scope not departing from the gist of the present embodiments. 
         [0268]    For example, the method performed by the recovery processing unit  6  to reboot the SAS expander  12  subordinate to the PHY having discovery abnormality is not limited to the above-described embodiments, and can be implemented in various modified forms. Further, the method performed by the recovery processing unit  6  to recover the SAS expander  12  is not limited to the rebooting of the SAS expander  12 . For example, the SAS expander  12  may be recovered by a predetermined command transmitted thereto. 
         [0269]    Further, in the above-described embodiments, the storage system  1  includes three DEs  30 - 1 ,  30 - 2 , and  30 - 3 . However, the configuration is not limited thereto, and the storage system  1  may include two DEs  30  or less, or may include four or more DEs  30 . 
         [0270]    Similarly, in the above-described embodiments, each of the CE  140  and the DEs  30  includes three storage devices  20 . However, the configuration is not limited thereto, and each of the CE  140  and the DEs  30  may include two storage devices  20  or less, or may include four or more storage devices  20 . 
         [0271]    Further, the hardware configuration of the SAS expander  12  is not limited to the above-described embodiments, and may be implemented with, for example, the number of PHYs included in the expander chip  120  and so forth changed as required. 
         [0272]    Further, it is possible for a person skilled in the art to implement and manufacture the present embodiments on the basis of the disclosure described above. 
         [0273]    All examples and conditional language recited herein are intended for pedagogical purposes to aid the reader in understanding the invention and the concepts contributed by the inventor to furthering the art, and are to be construed as being without limitation to such specifically recited examples and conditions, nor does the organization of such examples in the specification relate to a showing of the superiority and inferiority of the invention. Although the embodiments of the present inventions have been described in detail, it should be understood that the various changes, substitutions, and alterations could be made hereto without departing from the spirit and scope of the invention.

Technology Category: 3