Abstract:
An information processing device including: a processor configured to collect information on a connected expansion device; and a controller configured to receive the information on the expansion device from the processor, to determine, with respect to a type of an expansion device, whether the expansion device is a specific device that is connected to a storage, and to perform, when the expansion device has been determined to be the specific device, monitoring processing of monitoring an operation of the storage based on information on the storage that is obtained from the specific device.

Description:
CROSS-REFERENCE TO BELATED APPLICATION 
       [0001]    This application is a continuation application of International Application PCT/JP2015/059399 filed on Mar. 26, 2015 and designated the U.S., the entire contents of which are incorporated herein by reference. 
     
    
     FIELD 
       [0002]    The embodiments discussed herein are related to an information processing device. 
       BACKGROUND 
       [0003]    In a recent server system, a hard disk drive (HDD) is generally redundant with redundant arrays of inexpensive disks (RAID), which snakes it possible to replace a HDD while maintaining data without stopping the system. Thus, there have been increasing demands of users who use a redundant HDD to make a preventive replacement of a HDD before there actually occurs a failure or a performance degradation. 
         [0004]    When there occurs a failure in a HDD, a media error in which data is not successfully read occurs due to a failure in a magnetic head. In general, when there only occurs a media error in a HDD, data can be read and written by performing a retrial, so the HDD is not in a failure state, and a light emitting diode (LED) that reports an error in the HDD does not light up. 
         [0005]    However, if the media error occurs frequently, a retrial of an access to a HDD will be performed many times, which results in degrading a performance in the access to a HDD. Users who use a redundant HDD with RAID want to make a replacement of a HDD before the media error occurs frequently to cause the performance degradation. 
         [0006]    Conventionally, in order to avoid a performance degradation due to the frequent occurrence of this media error, software that checks a media error of a HDD at specified time intervals, and brings the HDD offline so as to remove the HDD is operated on an Operating System (OS). 
         [0007]    Further, a method is known that checks a media error using a RAID controller (see, for example, Patent Document 1). 
         [0008]    There exist many types or versions of OSes used in an existing server system. When software that checks a media error is not operated on a specific OS, a media error of a HDD will not be checked if the specific OS is used. Thus, there is a need to cause the software that checks a media error of a HDD to operate for each OS or version, which results in high costs. 
         [0009]    Further, in the method described in Patent Document 1, a specific RAID card that has a function of checking a media error is used. 
         [0010]    Patent Document 1: Japanese Laid-open Patent Publication No. 2006-301714 
         [0011]    Patent Document 2: Japanese Laid-open Patent Publication No. 2010-191762 
       SUMMARY 
       [0012]    According to an aspect of the invention, an information processing device includes a processor and a controller. 
         [0013]    The processor collects information on a connected expansion device. 
         [0014]    The controller receives the information on the expansion device from the processor, determines, with respect to a type of an expansion device, whether the expansion device is a specific device that is connected to a storage, and performs, when the expansion device has been determined to be the specific device, monitoring processing of monitoring an operation of the storage based on information on the storage that is obtained from the specific device. 
         [0015]    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. 
         [0016]    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 THE DRAWINGS 
         [0017]      FIG. 1  illustrates a configuration of a server according to embodiments; 
           [0018]      FIG. 2  illustrates conventional media-error-check processing and media-error-check processing of the embodiments; 
           [0019]      FIG. 3  is a diagram of a sequence from a start to a stop of a server according to the embodiments; 
           [0020]      FIG. 4  is a flowchart of monitoring processing performed in a BMC according to the embodiments; and 
           [0021]      FIG. 5  is a sequence diagram of monitoring processing performed in the server according to the embodiments. 
       
    
    
     DESCRIPTION OF EMBODIMENTS 
       [0022]    Embodiments will now be described with reference to the drawings. 
         [0023]      FIG. 1  illustrates a configuration of a server according to embodiments. 
         [0024]    A server  101  includes a central processing unit (CPU)  111 , a memory  121 , a read only memory (ROM)  131 , a baseboard management controller (BMC)  141 , a PCI express (PCIe) slot  151 - i  (i=1 to 3), a local area network (LAN) card  161 , a fiber channel (FC) card  171 , a redundant arrays of inexpensive disks (RAID) card  181 , and a hard disk drive (HDD)  191 - j  (j=1 to 3). The server  101  is an example of an information processing device. 
         [0025]    The CPU  111  is a processor that performs a variety of information processing. The CPU reads BIOS firmware into the memory  121  and executes it. The CPU  111  further reads an OS (not illustrated) stored in an HDD  191 - j  into the memory  121  and executes it. The CPU  111  is an example of a processor. 
         [0026]    The memory  121  temporality stores a program or data used in the server  101 . The memory  121  is, for example, a random access memory (RAM). The memory  121  is an example of a storing unit. 
         [0027]    The ROM  131  is a storage that stores a program or data used in the server  101 . The ROM  131  stores BIOS firmware  132 . The BIOS firmware  132  is a program that, for example, collects information on a connected expansion card, initializes the connected expansion card, and activates an OS when the server  101  is started. 
         [0028]    The BMC  141  is an integrated circuit that monitors operations of components of the server  101  such as the CPU  111 , the memory  121 , a fan (not illustrated), a power supply unit (PSC) (not illustrated), and the HDD  191 - j.  The BMC  141  is an example of a controller. The BMC  141  includes a CPU  145 , a memory  146 , and a ROM  147 . The CPU  145  monitors the operations of the components of the server  101  by executing BMC firmware stored in the ROM  147  by use of the memory  146 . The CPU  145  operates as a media error monitoring unit  142 , a media error determination unit  143 , a card type determination unit  144 , and a RAID card state determination unit  145  by executing the BMC firmware. Using an inter-integrated circuit (I2C), the BMC  141  communicates with an expansion card that is compatible with the I2C and that is arranged in the PCIe slot  151 - i.  The BMC  141  is compatible with an intelligent platform management interface (IPMI), has a keyboard controller style (KCS) interface, and communicates with the CPU  111  and the IPMI. 
         [0029]    The PCIe slot  151 - i  is an insertion opening for arranging a PCIe card (an expansion card). The LAN card  161  is arranged in a PCIe slot  151 - 1 , the FC card  171  is arranged in a PCIe slot  151 - 2 , and the RAID card  181  is arranged in a PCIe slot  151 - 3 . 
         [0030]    The LAM card  161  is an expansion card having a communication interface that is connected to a communication network such as a LAN and that makes a data conversion associated with communication. 
         [0031]    The FC card  171  is an expansion card having an interface whose connection is established by fiber channel. 
         [0032]    The RAID card  181  is an expansion card that performs a RAID control such as a parity operation or a management of a storage. The HDD  191 - j  is connected to the RAID card  181  through a serial attached SCSI (SAS). The RAID card  181  is compatible with an I2C, and can communicate with the BMC  141  through the I2C. 
         [0033]    Extension cards such as the LAN card  161 , the FC card  171 , and the RAID card  181  are examples of an expansion device that expands the functionality of the server  101 . 
         [0034]    The HDD  191 - j  is a storage that stores a program such as an OS (not illustrated) or data that is used in the server  101 . The HDD  191 - j  is an example of a storage, and it may be a nonvolatile semiconductor storage such as a solid state drive (SSD). The number of HDDs  191 - j  used in the embodiments is an example, and any number of HDDs  191 - j  may be used. Further, each HDD  191 - j  has its identification number (a device number) that identifies the HDD  191 - j.    
         [0035]      FIG. 2  illustrates conventional media-error-check processing and media-error-check processing of the embodiments. 
         [0036]    The conventional media-error-check processing is illustrated on the left side of  FIG. 2 , and the media-error-check processing of the embodiments is illustrated on the right side of  FIG. 2 . 
         [0037]    A media error check is conventionally performed by monitoring software that is executed on an OS. The monitoring software checks an operation of a HDD. 
         [0038]    In the embodiments, the media error check is performed by the BMC  141 . The BMC  141  checks an operation of the HDD  191 - j  through the RAID card  181  connected to the BMC  141  through an I2C. 
         [0039]    According to the information processing device of the embodiments, it is possible to monitor an HDD independently of the type of an OS by a BMC performing a media error check. 
         [0040]      FIG. 3  is a diagram of a sequence from a start to a stop of the server according to the embodiments. 
         [0041]    In Step S 501 , a user powers on the server  101 . 
         [0042]    In Step S 502 , the CPU  111  starts processing of starting the server  101 . Specifically, the CPU  111  executes the BIOS firmware  132  using the memory  121 . 
         [0043]    In Step S 503 , the CPU  111  obtains information on an expansion card provided in the server  101 . Specifically, the CPU  111  reads information (a vender ID and a device ID) on each expansion card (the LAN card  161 , the FC card  171 , and the RAID card  181 ) from a register on the expansion card, so as to obtain the information on the expansion card. The vendor ID indicates a manufacturer of an expansion card, and the device ID indicates which of the products manufactured by the manufacturer the expansion card is. The vendor ID and the device ID are examples of type information. 
         [0044]    In Step S 504 , the CPU  111  transmits the information on the expansion card (the vender ID and the device ID) to the BMC  141  using an IPMI. 
         [0045]    In Step S 505 , the card type determination unit  144  receives the information on the expansion card (the vender ID and the device ID) and determines whether the expansion card is a RAID card based on the information on the expansion card. Specifically, the card type determination unit  144  determines whether the expansion card is a RAID card according to whether a set of the received vendor ID and the received device ID is included in a list of a RAID card. The list of a RAID card is stored in, for example, the BMC  141  or the ROM  131 , and a set of a vendor ID and a device ID of a RAID card is listed in the list. The BMC  141  knows, by the process of Step S 505  being performed, whether the server  101  is provided with the RAID card. 
         [0046]    In Step S 506 , the CPU  111  initializes the expansion care (the LAN card  161 , the FC card  171 , or the RAID card  181 ). 
         [0047]    In Step S 507 , the CPU  111  activates an OS. 
         [0048]    In Step S 508 , when the OS has been activated, the CPU  111  reports to the BMC  141  that the OS has been activated, using the IPMI. 
         [0049]    In Step S 509 , the RAID card state determination unit  145  receives the report that the OS has been activated, and the media error monitoring unit  142  and the media error determination unit  143  start processing of monitoring the HDD  191 - j.  The monitoring processing will be described in detail later. The BMC  141  will not be allowed to monitor the RAID card  181  unless the RAID card  181  is initialized. As described above, the expansion card was initialized before the OS is activated. Thus, the BMC  141  knows, by receiving the report that the OS has been activated, that the RAID card  181  has been initialized and it is possible to monitor the RAID card  181 . 
         [0050]    The monitoring processing is performed when it has been determined in Step S 505  that at least one of the expansion cards is a RAID card, and the monitoring processing is not performed when all of the expansion cards are not a RAID card. 
         [0051]    In Step S 510 , the user shuts down the OS. 
         [0052]    In Step S 511 , the CPU  111  starts processing of stopping the server  101  and powers off the expansion card. 
         [0053]    In Step S 512 , using the IPMI, the CPU  111  reports to the BMC  141  that the processing of stopping the server  101  has been started. 
         [0054]    In Step S 513 , when the RAID card state determination unit  145  receives, from the CPU  111 , the report that the processing of stopping the server  101  has been started, the RAID card state determination unit  145  stops the processing of monitoring the HDD  191 - j.    
         [0055]    In Step S 514 , the CPU  111  stops the server  101 . 
         [0056]      FIG. 4  is a flowchart of the monitoring processing performed in the BMC according to the embodiments. 
         [0057]    The flowchart of  FIG. 4  is a flowchart of the monitoring processing started in Step S 509  of  FIG. 3 . 
         [0058]    As described above, when there exists an expansion card that is a RAID card and the RAID card state determination unit  145  receives the report that the OS has been activated, the monitoring processing is started. 
         [0059]    In Step S 601 , the media error monitoring unit  142  makes a request to the RAID card  181  for information on the HDD  191 - j  connected to the RAID card  181 . The RAID card  181  transmits, as information on the HDD  191 - 1 , configuration information (such as the number of HDDs  191 - j,  a device number of the HDD  191 - j,  and information on which of the connectors of the RAID card  181  the HDD  191 - j  is connected to) and redundancy information (that indicates the redundancy of the HDD  191 - j  and which HDD  191 - j  is redundant) with respect to the HDD  191 - j.  The media error monitoring unit  142  receives the information on the HDD  191 - j  from the RAID card  181 . The media error monitoring unit  142  knows a HDD  191 - j  to be monitored by obtaining the information on the HDD  191 - j  which is connected to the RAID card  181 , so as to monitor the HDD  191 - j  based on the obtained information. 
         [0060]    In Step S 602 , the media error monitoring unit  142  makes a request to the RAID card  181  for the device number and a SenseKey of the HDD  191 - j.  The media error monitoring unit  142  receives a set of the device number and the SenseKey of the HDD  191 - j  from the RAID card  181  and stores them in the memory  146 . When a specified time period (for example, one second) has elapsed since the last request was made, the media error monitoring unit  142  makes a request for a device number and a SenseKey of the HDD  191 - j.  In other words, the media error monitoring unit  142  obtains a device number and a SenseKey of the HDD  191 - j  at specified time intervals. 
         [0061]    In Step S 603 , the media error determination unit  143  checks, for each HDD  191 - j,  whether the sum of values of SenseKey=01h and SenseKey=03h for a specified time period (for example, one minute from one minute ago up to now) is not less than a threshold (for example, ten). When the sum of the values of SenseKey=01h and SenseKey=03h for the specified time period is not less than the threshold with respect to a certain HDD  191 - j,  the media error determination unit  143  determines that the certain HDD  191 - j  is to be replaced due to many media errors (an error HDD). With respect to the SenseKey, SenseKey=01h when it is possible to recover from a media error, and SenseKey=03h when it is not possible to recover from the media error. 
         [0062]    In Step S 604 , the media error determination unit  143  determines whether the error HDD is redundant based on the redundancy information. For example, when the error HDD is a HDD that is mirrored by RAID  1 , the error HDD is determined to be redundant. 
         [0063]    In Step S 605 , the media error determination unit  143  transmits, to the RAID card  181 , an instruction to bring the error HDD offline. The instruction includes a device number of the error HDD and a request to bring the error HDD offline. When the RAID card  181  receives the instruction, the RAID card  181  brings offline the HDD  191 - j  which corresponds to the device number included in the instruction. 
         [0064]    In Step S 506 , the media error determination unit  143  outputs an error to a system event log so as to report the error of the HDD  191 - j  that has been brought offline to the user using a simple network management protocol (SNMP). 
         [0065]      FIG. 5  is a sequence diagram of monitoring processing performed in the server according to the embodiments. 
         [0066]    The media error monitoring unit  142  makes a request to the RAID card  181  for information on the HDD  191 - 1  connected to the RAID card  181  (Step S 701 ). 
         [0067]    The RAID card  181  transmits, as the information on the HDD  191 - 1 , configuration information (such as the number of HDDs  191 - j,  a device number of the HDD  191 - j,  and information on which of the connectors of the RAID card  181  the HDD  191 - j  is connected to) and redundancy information (that indicates the redundancy of the HDD  191 - j  and which HDD  191 - j  is redundant) with respect to the HDD  191 - j  (Step S 702 ). The media error monitoring unit  142  receives information on the HDD  191 - j  from the RAID card  181 . 
         [0068]    When a media error has occurred, the HDD  191 - j  transmits a device number and a SenseKey of the HDD  191 - j  to the RAID card  181  (Step S 703 - j ). With respect to the SenseKey, SenseKey=01h when it is possible to recover from a media error, and SenseKey=03h when it is not possible to recover from the media error. The RAID card  181  stores a set of the received device number and the received SenseKey in a register included in the RAID card  181 . 
         [0069]    The media error monitoring unit  142  makes a request to the RAID card  181  for a device number and a SenseKey of the HDD  191 - j  (Step S 704 - j ). The request for the device number and the SenseKey of the HDD  191 - j  is made at specified time intervals (for example, one second). 
         [0070]    When the RAID card  181  receives the request, the RAID card  181  transmits the set of the device number and the SenseKey stored in the register to the EMC  141  (Step S 705 - j ). After the transmission, the RAID card  181  deletes the set of the device number and the SenseKey in the register. The media error monitoring unit  142  receives the set of the device number and the SenseKey of the HDD  191 - j  from the RAID card  181  and stores them. The media error determination unit  143  checks the sum of values of SenseKey=01h and SenseKey=03h for each HDD  191 - j  for a specified time period (for example, one minute). When the sum of the values of SenseKey=01h and SenseKey=03h for the specified time period is not less than a threshold with respect to a certain HDD  191 - j,  the media error determination unit  143  determines that the certain HDD  191 - j  is to be replaced due to many media errors (an error HDD). 
         [0071]    Then, the media error determination unit  143  transmits an offline request including a device number of the error HDD (that is an instruction to bring the error HDD offline) to the RAID card  181  (Step S 706 ). 
         [0072]    When the RAID card receives the offline request, the RAID card brings offline the HDD  191 - j  which corresponds to the device number included in the offline request (Step S 707 ). 
         [0073]    In the embodiments, the monitoring processing is performed when the expansion card is a RAID card, but the monitoring processing may also be performed when the expansion card is an interface card that does not have a RAID function and to which a HDD can be connected. 
         [0074]    According to the information processing device of the embodiments, it is possible to monitor an HDD independently of the type of an OS or a specific RAID card because a BMC monitors the HDD. 
         [0075]    According to the information processing device of the embodiments, there is no need to develop software that monitors a HDD for each OS, which results in reducing costs. 
         [0076]    According to the information processing device of the embodiments, a BMC monitors a HDD, so resources of an OS will not be consumed, which results in better ensuring the monitoring of a media error in the HDD and the removal of the HDD. 
         [0077]    All examples and conditional language provided herein are intended for pedagogical purposes to aiding the reader in understanding the invention and the consents contributed by the inventor to further the art, and not to be construed as being limitations 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 one or more embodiments of the present invention 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.