Abstract:
A method for performing locating storage devices in a storage facility with an inband enclosure node is disclosed. The method includes requesting that a first device adapter identify a first port on which it is communicating to a processor ordering the processor to identify a first fibre channel loop on which the first device adapter is communicating to a storage enclosure. A list of disks and addresses on the first port and a second port is demanded from the first adapter and querying from the storage enclosure a list of addresses for one or more disk slots on the first fiber channel loop and a second fibre channel loop is performed. Storage devices in the storage facility with the inband enclosure node are located by matching the addresses from the querying step and the demanding step.

Description:
BACKGROUND OF THE INVENTION  
       [0001]     1. Technical Field  
         [0002]     The present invention relates in general to storage devices and in particular to performing maintenance on storage devices. Still more particularly, the present invention relates to a system, method and computer program product for locating storage devices in a storage facility with an inband enclosure node.  
         [0003]     2. Description of the Related Art  
         [0004]     Fibre Channel is a gigabit-speed network technology used primarily for Storage Networking. Fibre Channel is standardized by the T11 Technical Committee of the InterNational Committee for Information Technology Standards (INCITS), an American National Standard Institute (ANSI) accredited standards committee. Fibre Channel started for use primarily in the supercomputer field, but has become the standard connection type for storage area networks in enterprise storage. Despite its name, Fibre Channel signaling can run on both twisted-pair copper wire and fiber optic cables.  
         [0005]     The use of fibre channel started in 1988, with approval of a standard by the American National Standards Institute in 1994, as a way to simplify the then-standard systems in use for similar roles. Previous solutions used a massive 50-pair cable and gigantic connectors, and had limited cable lengths. The developers of fibre channel were primarily interested in simplifying the connections and increasing the lengths, as opposed to increasing speeds. Later, interest broadened to focus on addressing higher speeds and far greater numbers of connected devices. The introduction of greater numbers of devices has introduced resulting difficulties.  
         [0006]     In a fibre channel storage facility, an administrator periodically needs to locate a particular storage device (such as a disk) for maintenance purposes (for example, to replace a faulty disk). Typically, the serial number of the disk is known, but there can be many hundreds of disks in multiple storage enclosures, and locating the disk with a label containing the correct serial number can be a time consuming exercise.  
         [0007]     In the prior art, there are two known solutions for locating disks in a fibre channel storage facility. First, an administrator can conduct a disk-by-disk search, where the administrator looks at the label on each and every disk to find the disk with the correct serial number. The drawback to such a search is that the search can consume tremendous quantities of time, especially if the storage facility contains a large number of disks. Second, the storage facility can instruct the Distributed Data Manager (DDM) to flash an identify light emitting diode (LED) on the correct disk. The drawbacks of the second method are that it still requires contact with each disk, and, if the disk is non-functional, then the disk may not be able to flash an LED. Either prior-art solution consumes excessive amounts of time.  
       SUMMARY OF THE INVENTION  
       [0008]     A method for performing locating storage devices in a storage facility with an inband enclosure node is disclosed. The method includes requesting that a first device adapter identify a first port on which it is communicating to a processor ordering the processor to identify a first fibre channel loop on which the first device adapter is communicating to a storage enclosure. A list of disks and addresses on the first port and a second port is demanded from the first adapter and querying from the storage enclosure a list of addresses for one or more disk slots on the first fiber channel loop and a second fibre channel loop is performed. Storage devices in the storage facility with the inband enclosure node are located by matching the addresses from the querying step and the demanding step.  
     
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0009]     The novel features believed characteristic of the invention are set forth in the appended claims. The invention itself, however, as well as a preferred mode of use, further objects and advantages thereof, will best be understood by reference to the following detailed descriptions of an illustrative embodiment when read in conjunction with the accompanying drawings, wherein:  
         [0010]      FIG. 1A  depicts a block diagram of the arrangement of a storage system and a data processing system with which the present invention of a method, system and computer program product for locating storage devices in a storage facility with an inband enclosure node may be performed;  
         [0011]      FIG. 1B  depicts a block diagram of a storage system with which the present invention of a method, system and computer program product for locating storage devices in a storage facility with an inband enclosure node may be performed; and  
         [0012]      FIG. 2  is a high-level logical flowchart of a process for locating storage devices in a storage facility with an inband enclosure node in accordance with a preferred embodiment of the present invention.  
     
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT  
       [0013]     The present invention provides a method, system, and computer program product for locating storage devices in a storage facility with an inband enclosure node.  
         [0014]     With reference now to the figures, and in particular to  FIG. 1 , a block diagram of a storage system with which the present invention of a method, system and computer program product for locating storage devices in a storage facility with an inband enclosure node may be performed is illustrated. A storage network  100  includes a host system  102  connected to a device adapter  104 . Device adapter  104  connects to a first storage enclosure  110 , a second storage enclosure  112  and a third storage enclosure  114  across a first fibre channel loop  106  and a second fibre channel loop  108 .  
         [0015]     Referring now to  FIG. 1B , a storage system with which the present invention of a method, system and computer program product for locating storage devices in a storage facility with an inband enclosure node may be performed is depicted. In the preferred embodiment depicted in  FIG. 1B , device adapter  104  operates four ports. A first left port ( 1 L) connects device adapter  104  to first storage enclosure  110  across first fibre channel loop  106 , which loop first storage enclosure  110  identifies as IC 2 . A first right port ( 1 R) connects device adapter  104  to first storage enclosure  110  across second fibre channel loop  108 , which loop first storage enclosure  110  identifies as IC 1 . A second left port ( 2 L) connects device adapter  104  to second storage enclosure  112  across first fibre channel loop  106 , which loop second storage enclosure  112  identifies as IC 1 .  
         [0016]     A second left port ( 2 L) connects device adapter  104  to second storage enclosure  112  across second fibre channel loop  108 , which loop second storage enclosure  112  identifies as IC 2 . The combination of first left port  1 L and first right port  1 R is called a dual loop, as is the combination of second left port  2 L and second right port  2 R. There is no set relationship between ports of device adapter  104  and enclosure loops. Device adapter  104  can connect an L port to either IC 1  or IC 2 . In the above diagram, first disk  120  (Disk D) has claimed arbitrated loop physical address (ALPA)=6 on IC 2  of first enclosure  110  (EnclosureX), and this loop is attached to first left port  1 L.  
         [0017]     Each of first storage enclosure  110  and second storage enclosure  112  accomodates both first fibre channel loop  106  and second fibre channel loop  108 , which are attached to each of a first disk  120  and a second disk  122  within first storage enclosure  110  as well as a first disk  124  and a second disk  126  within second storage enclosure  112 . In the embodiment illustrated in  FIG. 1B , first storage enclosure  110  and second storage enclosure  112  also contain a first SCSI Enclosure Services (SES) processor  116  and a second SES processor  118 , respectively, which are also attached to each of first fibre channel loop  106  and second fibre channel loop  108 .  
         [0018]     Device adapter  104  gathers data as to the fibre channel arbitrated loop physical address (ALPA) that each of first disk  120  and second disk  122  within first storage enclosure  110  as well as the ALPA that each of first disk  124  and second disk  126  within second storage enclosure  112  has obtained on first fibre channel loop  106  attached to first left port  1 L and second left port  2 L and second fibre channel loop  108  attached to first right port  1 R and second right port  2 R. Each of first disk  120  and second disk  122  within first storage enclosure  110  as well as first disk  124  and second disk  126  within second storage enclosure  112  has a unique ALPA on each of first fibre channel loop  106  and second fibre channel loop  108  and may receive different ALPAs on each loop. It is also possible for there to be multiple dual loops attached to a device adapter. First SES processor  116  and a second SES processor  118  gather data on the ALPAs that first disk  120  and second disk  122  and first disk  124  and second disk  126 , in each of their slots have uniquely, at least with respect to the loop, claimed on first fibre channel loop  106  and second fibre channel loop  108 . respectively.  
         [0019]     Device adapter  104  sees first disk  120 , second disk  122 , first disk  124 , second disk  126 , first SES processor  116  and second SES processor  118  as nodes on first fibre channel loop  106  and second fibre channel loop  108  and presents them to host system  102  as resources. Device adapter  104  does not know in which of first storage enclosure  110  and second storage enclosure  112  a disk among the first disk  120  and second disk  122  and first disk  124  and second disk  126  is physically located. Device adapter  104  gathers data as to which adapter port among first left port  1 L and second left port  2 L first right port  1 R and second right port  2 R is communicating to a particular SES processor from among first SES processor  116  and second SES processor  118 .  
         [0020]     Likewise, first SES processor  116  and a second SES processor  118  gather data as to which fibre channel loop among first fibre channel loop  106  and second fibre channel loop  108  device adapter  104  is using to communicate to first storage enclosure  110  and second storage enclosure  112 . Using the information gathered above, the present invention provides a method by which, for a particular disk among the first disk  120  and second disk  122  and first disk  124  and second disk  126 , device adapter  104  matches the ALPAs known to device adapter  104  to the correct set of ALPAs known to first storage enclosure  110  or second storage enclosure  112  and thereby determines the physical location of the disk.  
         [0021]     An advantage of the method of the present invention is that the disk can be located very quickly because the enclosure and slot number are both known. The present invention is also applicable in situations in which there are multiple enclosures on a dual loop and also if some of the disks are only connected to a single dual loop. A utility of host system  102  derives the physical location of a disk in an enclosure according to a method represented by the following pseudocode:  
         [0022]     1. Ask the device adapter for a list of SES nodes. For each SES node: 
        1.0 Find out which device adapter ports are attached to which enclosure loops by doing the following:     1.1 Ask the device adapter which port it is communicating to the SES node through     1.2 Ask the SES node which fibre channel loop the adapter is communicating to the enclosure through.     1.3 Assume that the partner adapter port is attached to the other loop (see example)        
 
         [0027]     2. Ask the adapter for a list of disks and their ALPAs on the adapter ports identified in step 1.  
         [0028]     3. Ask the enclosure for a list of ALPAs for each disk slot on both loops.  
         [0029]     4. Match the ALPA list from the adapter to the ALPA list from the enclosure, ensuring that the correct loop is matched up.  
         [0030]     As an example, consider a case where, in the system represented by  FIG. 1B , the pseudocode described above executes with results as follows:  
         [0031]     1.1. Device adapter reports it is communicating to the SES node through the  1 L port.  
         [0032]     1.2. SES node in EnclosureX reports that the adapter is communicating to the IC 2  loop.  
         [0033]     1.3. Therefore  1 L is connected to IC 2  and  1 R is connected to IC 1 .  
         [0034]     2. The device adapter reports the following ALPA map for its  1 L/ 1 R ports:  
         [0035]     Disk D has ALPA=6 on  1 L loop  
         [0036]     Disk D has ALPA=5 on  1 R loop  
         [0037]     Disk C has ALPA=5 on  1 L loop  
         [0038]     Disk C has ALPA=6 on  1 R loop.  
         [0039]     3. EnclosureX reports the following ALPA map for its disks:  
         [0040]     Disk in slot 1  has ALPA=5 on IC 1  loop  
         [0041]     Disk in slot 1  has ALPA=6 on IC 2  loop  
         [0042]     Disk in slot 2  has ALPA=6 on IC 1  loop  
         [0043]     Disk in slot 2  has ALPA=5 on IC 2  loop  
         [0044]     4. Match disks to EnclosureX:  
         [0045]     Disk D has ALPA=6 on  1 L loop and  1 L is connected to IC 2 .  
         [0046]     The only slot in the enclosure ALPA map with ALPA=6 on IC 2  is slot  1 .  
         [0047]     Therefore DiskD is in enclosureX slot  1 .  
         [0048]     Disk C has ALPA=6 on  1 R loop and and  1 R is connected to IC 1 .  
         [0049]     The only slot in the enclosure ALPA map with ALPA=6 on IC 1  is slot  2 . Therefore DiskC is in enclosureX slot 2 .  
         [0050]     Turning now to  FIG. 2 , a high-level logical flowchart of a process for locating storage devices in a storage facility with an inband enclosure node in accordance with a preferred embodiment of the present invention is depicted. The process starts at step  200  and then proceeds to step  202 , which depicts host system  102  queueing a next device adapter, for example device adapter  104 . The process next moves to step  204 , which illustrates host system  102  requesting that device adapter  104  identify the port on which it is communicating to an SES processor, for example SES processor  116 . The process then proceeds to step  206 . Step  206  illustrates host system  102  requesting that SES processor  116  identify whether device adapter  104  is communicating to first storage enclosure  110  through first fibre channel loop  106  or second fibre channel loop  108 . The process then proceeds to step  208 , which depicts host system  102  assuming that the port not indicated in step  204  is communicating through the fibre channel loop from among first fibre channel loop  106  and second fibre channel loop  108  which was not indicated for communication by adapter  104  in step  206 .  
         [0051]     The process next moves to step  210 . Step  210  illustrates host system  102  determining whether the device adapter  104  queued in step  202  is the last device adapter requiring query. If host system  102  determines that the device adapter  104  queued in step  202  is not the last device adapter requiring query, then the process returns to step  202 . If host system  102  determines that the device adapter  104  queued in step  202  is the last device adapter requiring query, then the process proceeds to step  212 , which depicts host system  102  requesting that device adapter  104  submit a list of all disks on its adapter ports. The process next moves to step  214 . Step  214  illustrates host system  102  requesting that first storage enclosure  110  submit a list of ALPAs for each disk slot on both of first fibre channel loop  106  and second fibre channel loop  108 .  
         [0052]     The process next proceeds to step  216 , which illustrates host system  102  matching an ALPA list received in step  214  to an ALPA list received in step  212 , ensuring that the correct loop from among first fibre channel loop  106  and second fibre channel loop  108  is matched to each disk. The process then ends at step  218 .  
         [0053]     While the invention has been particularly shown as described with reference to a preferred embodiment, it will be understood by those skilled in the art that various changes in form and detail may be made therein without departing from the spirit and scope of the invention. It is also important to note that although the present invention has been described in the context of a fully functional computer system, those skilled in the art will appreciate that the mechanisms of the present invention are capable of being distributed as a program product in a variety of forms, and that the present invention applies equally regardless of the particular type of signal bearing media utilized to actually carry out the distribution. Examples of signal bearing media include, without limitation, recordable type media such as floppy disks or CD ROMs and transmission type media such as analog or digital communication links.