Abstract:
In a method for testing sensors of a server, the method obtains serial numbers of each of the sensors from a board management controller (BMC) of the server using an intelligent platform management interface (IPMI) service of the server, and modifies lower and upper critical values to generate first and second system event logs even during normal working of the components subject to sensing. The method records a confirmed and tested status of each of the sensors if the first system event log and the second system log are right.

Description:
BACKGROUND 
       [0001]    1. Technical Field 
         [0002]    Embodiments of the present disclosure relate to sensors management and methods, and more particularly to a server, a storage medium, and a method for testing sensors of the server. 
         [0003]    2. Description of Related Art 
         [0004]    A sensor of a server monitors status of a component of the server, where the component may be a fan, a hard disk, a CPU, for example, and where the sensor may be a speed sensor, a temperature sensor, a voltage sensor, for example. In testing the sensors of the server, a component of the server is stressed such that a value read from the component by the sensor exceeds a threshold value of the sensor, in order to generate a system event log. But it is dangerous for the component to work in the status as described, for example, a CPU may be damaged by excessive temperature when the CPU is worked into a temperature which is too high. The threshold value as described above functions like an alarm that warns that the component on the server is in danger, and may be classed as lower critical value and upper critical value. Taking a voltage sensor as an example, the upper critical value presents a voltage which is too high and the lower critical value presents a voltage which is too low, which is dangerous for the component of the server. 
     
    
     
       BRIEF DESCRIPTION OF THE DISPLAYINGS 
         [0005]      FIG. 1  is a block diagram of one embodiment of a server including a sensor testing system. 
           [0006]      FIG. 2  is a block diagram of one embodiment of function modules of the sensor testing system in  FIG. 1 . 
           [0007]      FIG. 3  illustrates a flowchart of one embodiment of a method for testing sensors of the server in  FIG. 1 . 
       
    
    
     DETAILED DESCRIPTION 
       [0008]    In general, the word “module”, as used herein, refers to logic embodied in hardware or firmware, or to a collection of software instructions, written in a programming language, such as, Java, C, or assembly. One or more software instructions in the modules may be embedded in firmware, such as in an EPROM. The modules described herein may be implemented as either software and/or hardware modules and may be stored in any type of non-transitory computer-readable medium or other storage device. Some non-limiting examples of non-transitory computer-readable media include CDs, DVDs, BLU-RAY, flash memory, and hard disk drives. 
         [0009]      FIG. 1  is a block diagram of one embodiment of a server  1  including a sensor testing system  10 . In the embodiment, the server  1  includes a storage device  12 , a processor  14 , one or more sensors  16 , a baseboard management controller (BMC)  18  and an exemplary component  20 . The component  20  may be a fan, a hard disk, or any other component of the server  1 . 
         [0010]    The storage device  12  may include any type(s) of non-transitory computer-readable storage medium, such as a hard disk drive, a compact disc, a digital video disc, or a tape drive. In the embodiment, the storage device  12  stores the computerized code of the function modules of the sensor testing system  10 . 
         [0011]    The processor  14  may include a processor unit, a microprocessor, an application-specific integrated circuit (ASIC), and a field programmable gate array (FPGA), for example. 
         [0012]    In one embodiment, the sensor testing system  10  includes a plurality of function modules (see  FIG. 2  below), which include computerized codes when executed by the processor  14 , to provide a method for testing the one or more sensors  16  of the server  1 . 
         [0013]    Each of the sensors  16  is integrated on the BMC  18 , and monitors a status of the component  20  of the server  1 . Each of the sensors  16  may be a temperature sensor, a voltage sensor, or a speed sensor, for example. The status of the component  20  may indicate a temperature, a voltage, a rotation speed of the component  20 , or other parameters indicating the status of the component  20 . 
         [0014]    The BMC  18  stores characteristic data of each of the sensors  16 . In the embodiment, the characteristic data of each of the sensors  16  may include a serial number and a name of each of the sensors  16 . 
         [0015]      FIG. 2  is a block diagram of one embodiment of function modules of the sensor testing system  10  of  FIG. 1 . In one embodiment, the sensor testing system  10  may include a first obtainment module  100 , a selecting module  102 , a second obtainment module  104 , a modification module  106 , an examination module  108 , a record module  110 , and a determination module  112 . The modules may comprise computerized codes in the form of one or more programs that are stored in the storage device  12  and executed by the processor  14  to provide functions for implementing the modules. The functions of the function modules  100 - 112  are illustrated in  FIG. 3  and described below. 
         [0016]      FIG. 3  illustrates a flowchart of one embodiment of a method for testing the sensors  16  of the server  1 . Depending on the embodiment, additional steps may be added, others removed, and the ordering of the steps may be changed. 
         [0017]    In step S 200 , the first obtainment module  100  obtains serial numbers of each of the sensors  16  from a board management controller (BMC) of the server using an Intelligent platform management interface (IPMI) service of the server. In the embodiment, the first obtainment module  100  may obtain the serial numbers of the sensors  16  as part of the characteristic data of the sensors  16  using an intelligent platform management interface (IPMI) service of the server. For example, if the sensors  16  are voltage sensors, the characteristic data may include voltages. If the sensors  16  are temperature sensors, the characteristic data may include temperature levels. 
         [0018]    In step S 202 , the selecting module  102  obtains one of the serial numbers of all the sensors  16 , and selects that sensor  16  to be tested. 
         [0019]    In step S 204 , the second obtainment module  104  obtains a name of the sensor  16  corresponding to the obtained serial number of the sensor  16 . The obtained name of the sensor  16  is required in determining whether a system event log generated in a later procedure is correct or not. 
         [0020]    In step S 206 , the modification module  106  modifies a lower critical value of the sensor  16  to a first threshold value which is higher than a current value of the sensor, to generate a first system event log of the server  1 . In the embodiment, for example, the sensor  16  may be a voltage sensor, and the current value of the voltage sensor is 3.3V, the lower critical value of the voltage sensor is 2.8V. The modification module  106  modifies the lower critical value to 3.7V so that the lower critical value of the voltage sensor is now higher than the current value of the sensor  16 , to generate the first system event log of the server  1 . 
         [0021]    In step S 208 , the examination module  108  examines whether the first system event log is correct by examining whether the first system event log includes a first keyword “lower critical value” and “obtained name”. 
         [0022]    In step S 210 , if the first system event log includes the first keyword, which confirms that the first system event log is correct, the record module  110  records a first tested status of the sensor  16 . 
         [0023]    In step S 212 , if the first system event log does not include the first keyword, which signifies that the first system event log is not correct, the record module  110  records an error in the first system event log. 
         [0024]    In step S 214 , the modification module  112  modifies an upper critical value of the sensor  16  to a second threshold value which is lower than the current value of the sensor, to generate a second system event log of the server  1 . In the embodiment, for example, the sensor  16  may be a voltage sensor, and the current value of the voltage sensor is 3.3V, the upper critical value of the voltage sensor may be 3.8V. The modification module  106  modifies the upper critical value to 2.7V so that the upper critical value is lower than the current value of the sensor  16 , to generate the second system event log of the server  1 . 
         [0025]    In step S 216 , the examination module  108  examines whether the second system event log includes a second keyword “upper critical value” and “obtained name”. 
         [0026]    In step S 218 , if the second system event log includes a second keyword, which confirms that the second system event log is correct, the record module  110  records a second tested status of the sensor  16 . 
         [0027]    In step S 220 , if the second system event log does not include the second keyword, which signifies that the second system event log is not correct, the record module  110  records an error in the second system event log. 
         [0028]    In step S 222 , the determination module  114  determines whether all of the sensors  16  have been selected and tested. If any of the sensors  16  has not been selected, step  202  is repeated. If all the sensors  16  have been selected and tested, the procedure ends. 
         [0029]    Although certain embodiments have been specifically described, the present disclosure is not to be construed as being limited thereto. Various changes or modifications may be made to the embodiments without departing from the scope and spirit of the present disclosure.