Abstract:
A method for protecting against fan failure in a server uses a storage unit and a plurality of fans in the server. The method includes the following steps. A rotation speed of each of the plurality of fans is detected. A continuous working time period of each fan is timed. The rotation speed reading and the continuous working time period reading of each fan is compared with predefined rotation speed values and predefined continuous working time periods stored in the storage unit. The results of comparisons are made. A countdown is started when any of the results of comparison falls into one of predefined failure conditions for the fans. Unless a renew or other countdown-amending signal is received, the server is counted down to zero and then shut down. A server equipped to be able to carry out the protecting method is also provided.

Description:
BACKGROUND 
     1. Technical Field 
     The present disclosure relates to servers and methods for protecting against fan failure inside servers. 
     2. Description of Related Art 
     A baseboard management controller (BMC) detects the working status of a server to determine whether the status is normal. When the BMC determines that the status is abnormal, the BMC activates an alarm. However, a conventional BMC cannot take emergency measures to prevent or reduce damage when the status is abnormal. 
     Therefore, what is needed is a server and a method for protecting against fan failure in the server, which can alleviate or even overcome the limitations described above. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       The emphasis is placed upon clearly illustrating the principles of the present disclosure. 
         FIG. 1  is a block diagram of a server in accordance with an embodiment of the present invention. 
         FIGS. 2A and 2B  together constitute a single flowchart of a method for protecting against fan failure in a server, such as the one of  FIG. 1 , in accordance with an embodiment of the present invention. 
     
    
    
     DETAILED DESCRIPTION 
       FIG. 1  shows a server  1  in accordance with an embodiment. The server  1  includes a storage unit  10 , a processor  12 , a countdown unit  13 , and a shutdown unit  14 . The server  1  further includes a number of fans  17  (only one shown) for heat dissipation from the server  1 . The fans  17  may be rotary fans, for example. 
     The storage unit  10  is configured for storing a predefined (threshold) rotation speed for each fan  17 , and a predefined (threshold) continuous working time period for each fan  17 . The storage unit  10  is further configured for storing a number of predefined failure conditions of the fans  17 , and a countdown time period for counting down from the time a failure condition arises to the time when a preventive action is automatically initiated. All the above-described data is stored in the storage unit  10  in advance, i.e., pre-stored. 
     The server  1  further includes a number of rotation speed sensors  15  (only one shown). Each rotation speed sensor  15  detects a rotation speed of one fan  17 , generates a rotation speed signal, and transmits the rotation speed signal to the processor  12 . 
     The server  1  further includes a number of timing units  16  (only one shown). 
     Each timing unit  16  times a continuous working time period of one fan  17 , periodically generates a time signal, and transmits the time signal to the processor  12 . The timing unit  16  is a timer or a device having a function of counting time. 
     The processor  12  includes a fan failure detecting module  121 , a countdown control module  122 , and a shutdown control module  123 . 
     The fan failure detecting module  121  receives the rotation speed signals and the time signals, and in response compares values (or readings) of the rotation speed signals and values (or readings) of the time signals with corresponding values of the predefined rotation speeds and corresponding values of the predefined continuous working time periods stored in the storage unit  10 . The fan failure detecting module  121  also generates results of the comparisons, and determines whether any of the results (whether alone or in combination) fall into any one or more of the predefined failure conditions for the fans  17 . The fan failure detecting module  121  further generates a start countdown signal when it is determined that any one or more of the results fall into any one or more of the predefined failure conditions for the fans  17 . 
     In this embodiment, the predefined failure conditions for the fans  17  includes three predefined conditions: first, there is at least one fan  17  whose rotation speed and continuous working time period are both unknown because the fan failure detecting module  121  is not receiving rotation speed signals and time signals for that fan(s)  17 ; second, the rotation speed readings of at least two fans  17  are less than the corresponding predefined rotation speed values; and third, the reading of the rotation speed of every fan  17  is greater than the corresponding value of the predefined rotation speed, and the reading of the continuous working time period of every fan  17  is greater than the corresponding value of the predefined continuous working time period. In another embodiment, the predefined failure conditions for the fans  17  can be set by a user. 
     The countdown control module  122  obtains the countdown time period stored in the storage unit  10  in response to the start countdown signal, controls the countdown unit  13  to start a corresponding countdown when the start countdown signal is received, and generates a shutdown signal when the countdown unit  13  has counted down to zero. 
     The shutdown control module  123  controls the shutdown unit  14  to shut down the server  1 , in response to the shutdown signal. 
     In this embodiment, the processor  12  further includes a record module  124 . The record module  124  records the fan failure information in response to the start countdown signal, and stores the recorded fan failure information in the storage unit  10 . 
     In this embodiment, the server  1  further includes an input unit  11 , and the processor  12  further includes a setting module  125 . The setting module  125  is configured for setting a predefined rotation speed and a predefined continuous working time period for each fan  17  in response to a user&#39;s operations applied on the input unit  11 , and for storing the predefined rotation speeds and predefined continuous working time periods in the storage unit  10 . 
     In another embodiment, during the countdown by the countdown unit  13 , the input unit  11  can generate a signal to amend the countdown time period. Such signal is generated in response to an operation, such as a manual operation applied on the input unit  11  by a user wanting to amend the countdown time period. The countdown control module  122  amends the duration of the countdown time period when there is a signal to amend the countdown time period, and controls the countdown unit  13  to continue counting albeit according to the amended countdown time period. 
     In other embodiments, during the countdown by the countdown unit  13 , the input unit  11  can generate a shutdown signal. Such signal is generated in response to an operation, such as a manual operation applied on the input unit  11  by a user wanting to impose an immediate shutdown. The shutdown control module  123  controls the server  1  to shut down directly when there is a shutdown signal. 
     In another embodiment, after the countdown unit  13  counts down to zero according to the countdown time period, the fan failure detecting module  121  performs up-to-date comparisons of the rotation speed readings and continuous working time period readings with the corresponding values of the predefined rotation speeds and the corresponding values of the predefined continuous working time periods stored in the storage unit  10 . According to the up-to-date comparison results, the fan failure detecting module  121  determines whether any of the up-to-date comparison results (whether alone or in combination) fall into any one or more of the predefined failure conditions for the fans  17 . The shutdown control module  123  controls the shutdown unit  14  to shut down the server  1  when any one or more of the up-to-date comparison results fall into any one or more of the predefined failure conditions for the fans  17 . If none of the up-to-date comparison results fall into any one or more of the predefined failure conditions for the fans  17 , the server  1  is not shut down. 
       FIGS. 2A and 2B  together constitute a single flowchart of a method for protecting against fan failure for a server, such as the server  1 , in accordance with an embodiment. The server  1  includes a storage unit  10  and an input unit  11 . The storage unit  10  stores both a number of predefined rotation speeds and a number of predefined continuous working time periods for the fans  17 . The storage unit  10  also stores a number of predefined failure conditions for the fans  17  and a countdown time period. 
     In step S 21 , the server  1  includes a number of rotation speed sensors  15  and a number of timing units  16 . Each rotation speed sensor  15  detects a rotation speed of one fan  17 , and each timing unit  16  times a continuous working time period of one fan  17 . 
     In step S 22 , the fan failure detecting module  121  compares the detected rotation speeds and the timed continuous working time periods with corresponding predefined rotation speeds and predefined continuous working time periods stored in the storage unit  10 , and determines whether any of the comparison results fall into any of the predefined failure conditions for the fans  17 . If the determination is yes, the process goes to step S 23 . Otherwise, the process goes back to step S 21 . 
     In step S 23 , the countdown control module  122  obtains the countdown time period for counting down which is stored in the storage unit  10 , and controls the countdown unit  13  to start a countdown accordingly. The record module  124  records the fan failure information, and stores the recorded fan failure information in the storage unit  10 . 
     In step S 24 , the shutdown control module  123  determines whether a shutdown signal is received. If the determination is no, the process goes to step S 25 . Otherwise, the process goes to step S 28 . 
     In step S 25 , the countdown control module  122  determines whether a signal to amend the countdown time period for counting down is received. If the determination is yes, the process goes to step S 26 . Otherwise, the process goes to step S 27 . 
     In step S 26 , the countdown control module  122  amends the countdown time period for counting down, and controls the countdown unit  13  to continue counting to the end of the amended countdown time period. 
     In step S 27 , after the countdown unit  13  counts down to zero according to the applicable countdown time period, the fan failure detecting module  121  compares up-to-date detected rotation speeds and up-to-date timed continuous working time periods with the corresponding predefined rotation speeds and predefined continuous working time periods stored in the storage unit  10 , and determines whether any of the comparison results fall into any of the predefined failure conditions for the fans  17 . If the determination is yes, the process goes to step S 28 . Otherwise, the process goes back to step S 21 . 
     In step S 28 , the shutdown control module  123  controls the shutdown unit  14  to shut down the server  1 . 
     Although the present disclosure has been specifically described on the basis of various embodiments thereof, the 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 disclosure.