Method and apparatus for power failure protection

Abstract: Power failure protection for a data processing apparatus (20) is provided by the use of a standby power module (32) which supplies power to the data processing apparatus (20) when the normal power supply is interrupted. Since damage to the data processing apparatus (20) may result in the event of a sudden power failure, power failure protection software (26) controls the data processing apparatus (20) to cause periodic sampling of the state of the standby power module (32). During the time that the standby power module (32) is operating, a timer (28) in the data processing apparatus (20) operates to measure the total time that said standby power module (32) has operated since its last recharge. When said total time exceeds a predetermined amount which is based upon the minimum time during which the standby power module (32) can supply power to the data processing apparatus (20), the power failure protection software (26) initiates an orderly power shutdown of the data processing apparatus (20), in order to avoid a sudden power loss which might result in damage.

Description: This invention relates to data processing apparatus and to a method for power failure protection of data processing apparatus. Data processing systems are known which utilise standby power modules and uninterruptible power supplies for handling short-duration interruptions of normal power supplies. However, such known systems have the disadvantage that sudden power failures can occur if the auxiliary power supply becomes exhausted. In particular, any software system which makes use of cache buffering is susceptible to loss of data or loss of files due to such a sudden power failure. US-A-4 323 987 discloses a data processing system including data processing means, a source of power for normally operating the data processing means and standby power means coupled to the source of power and to the data processing means for supplying power from the source of power to the data processing means. The data processing means includes logic and control circuitry, and memory means adapted to store: operating system software for controlling the logic and control circuitry to enable the data processing means to perform various functions; application software for causing the data processing means to perform specific routines, and power failure protection software; and a timer associated with the power failure protection software for timing the duration of events associated with the data processing means. The standby power means includes auxiliary power means for supplying standby power to the data processing means in the event of loss of power from the source of power, means to recharge the auxiliary power means from the source of power, monitoring means to monitor any failure of power from the source of power and to initiate use of the auxiliary power means to supply power in the event of failure of power from the source of power, and switch means controlled by the monitoring means and settable in accordance with whether or not power from the auxiliary power means is being supplied to the data processing means; and the system includes communications means coupled to the switch means and to the data processing means, wherein the power failure protection software is arranged to cause the data processing means to check the status of the switch means of the standby power means to determine whether the auxiliary power means is being used to power the data processing means, and cause the timer to run whenever the auxiliary power means is supplying power to the data processing means. Such a system is designed to try and avoid the loss of data identified above, but circumstances can arise in which that system fails. This is because the timer is re-set when the normal power source supply is restored, but a fresh failure of the power supply may well occur long before the auxiliary power means have had a chance to recharge. Thus, the timer may falsely allow continued operation during a second or subsequent main supply power failure unaware that the auxiliary power means is itself about to fail. When it does so, data can be lost. The object underlying the present invention is to avoid this disadvantage and this is achieved in that in accordance with the invention, the power failure protection software is arranged to cause the timer to run whenever the auxiliary power means is supplying power to the data processing means, and to halt when the source of power recommences, and to cause an orderly shutdown of the data processing means only when the accumulated amount of time elapsed whenever the auxiliary power means is supplying power to the data processing means exceeds a predetermined amount. By operating in this way, the failure mode identified above following successive power failures can be avoided. The present invention may be seen as a system invention as set out above or in terms of the method of power supply set out in claim 3. Other features are evident from the sub-claims. It will be appreciated that the system and method according to the invention have the advantage of providing orderly system shutdown before failure of the standby power supply, thus preventing loss of data or files which might otherwise occur. One embodiment of the present invention will now be described by way of example, with reference to the accompanying drawings, in which:- Figure 1 is a block diagram showing a data processing apparatus and a standby power module associated therewith; Figure 2 is a diagram of the switch which forms a part of the standby power module; Figures 3 and 4 are truth tables applicable to the switch of Figure 2 with two different types of connectors for coupling the standby power module to the data processing apparatus; Fig. 5 is a flow diagram representing the power failure protection software of the present invention; and Fig. 6 is an event diagram, showing a series of events which may typically occur during operation of the data processing apparatus and the standby power module. Referring now to Fig. 1, shown there is a data processing apparatus 20. Included as a part of the apparatus 20 is application software 22, other software 24 which may include operating system software, and power failure protection software 26. All of the software is stored in one or more memory devices included in the data processing apparatus 20. In addition, the data processing apparatus includes a timer 28. Other devices, such as logic and control circuitry, are also included in the data processing apparatus in order to enable it to carry out various operations in accordance with the software associated with it. However, these other devices are conventional and function in the normal operation of the data processing apparatus, so that it is not believed to be necessary to show or describe them specifically. The present invention may be embodied in an arrangement which includes any conventional type of data processing apparatus 20, one such type being the NCR 7003, manufactured by NCR Corporation, Dayton, Ohio. Power is supplied to the data processing apparatus 20 through a cable 30. In the illustrated embodiment, the power is in the form of 120 volts AC, but the invention is not so limited and is applicable to other power sources. The power is supplied to the data processing apparatus 20 from a standby power module 32, which in turn obtains the power through a cable 34 which may be plugged into a standard power receptacle, such as a wall outlet. Any suitable standby power module 32 may be employed. One such module is commercially available as model no. 998-062-7302 from NCR Corporation, Dayton, Ohio. It includes rechargeable batteries 35 to supply power to the data processing apparatus 20 in the absence of the normal power supply, circuitry 36 to monitor power failure and to enable battery recharging from the normal power source when the batteries become depleted, and after normal power has resumed, and a switch 38 settable by the hardware 36 to provide information to the data processing apparatus 20 concerning whether or not the standby power module 32 is coupled to the data processing apparatus 20 and, if so, whether or not it is supplying standby battery power to the data processing apparatus 20. The switch 38 is connected to the data processing apparatus 20 through a suitable connector 40, which may, for example, be a 9 pin D shell connector or a Centronics D connector. The standby power module 32 continuously monitors the normal power supply and automatically commences to provide power from its batteries to the data processing apparatus 20 in the event of a failure of the normal power supply. Fig. 2 shows the switch 38 in somewhat greater detail. Any suitable form of electronic or mechanical switch may be used. As shown in Fig. 2, the switch is of the single pole, double throw type having a blade 42 which is movable under control of the circuitry 36 between a first position in which it engages a terminal 44 and a second position in which it engages a terminal 46. As used in the present invention, the connector 40 may be considered to have three conductive elements or paths, represented in Fig. 2 by the designations ring, tip and sleeve, with the ring being connected to the blade 42 of the switch 38, the sleeve being connected to the terminal 44 and the tip being connected to the terminal 46. Figs. 3 and 4 show truth tables for the switch 38 with two illustrated types of connectors 40. Thus, Fig. 3 is applicable when a 9 pin D shell connector is used, and Fig. 4 is applicable when a Centronics D shell connector is used. It will be noted that the voltage levels are reversed as to significance between the two types of connectors, due to their structure, so that the manner of operation of the switch 38 by the circuitry 36 must be selected in accordance with the type of connector 40 which is used. Referring, for example, to the truth table of Fig. 3, it will be seen that a low logic level on the sleeve of the connector 40 (associated with pin 6 of the connection of the connector 40 to the data processing apparatus 20) combined with a high logic level on the tip of the connector 40 (associated with pin 8) provides an indication to the data processing apparatus 20 that the standby power module 32 is connected to the data processing apparatus 20 and is currently supplying battery power to said apparatus. Conversely, it will be seen that a high logic level on the sleeve of the connector 40 combined with a low logic level on the tip of the connector 40 provides an indication that the standby power module 32 is connected to the data processing apparatus 20, but is not currently supplying battery power to said apparatus; in other words, the normal power supply is functioning properly. Finally, low logic levels on both the sleeve and the tip of the connector 40 indicate that the standby power module is not present in the system. Normally in such a case, power would be supplied directly to the data processing apparatus 20 from a 120-volt AC source. Shown in Fig. 5 is a flow diagram of the power failure protection routine 48 which may be utilized in the data processing apparatus 20 to prevent damage to other software contained therein. The routine is initiated by a command contained in the application software which is being run to activate the standby power module 32, as represented in the block 50. In the routine, a determination is first made by the data processing apparatus 20 as to whether or not the standby power module is present, as represented by block 52. It will be recalled that this determination is made by use of the switch 38. If a determination is made that a standby power module is not present in the system (block 54), the routine proceeds over path 56 to the block 58, and returns to the application program from which the routine 48 was initiated. If the standby power module 32 is present, then the switch 38 provides information (block 60) to the data processing apparatus 20 as to whether the standby power module 32 is currently on (supplying power to the data processing apparatus because of a power failure of the normal power source) or off (not supplying power because the normal power source is functioning properly), as represented by block 62. If the standby power module 32 is off, the process continues via path 56 to return to the application program (block 58), as previously described. In the case in which the standby power module 32 is found to be on, the process continues to block 64, in which a determination is made as to whether or not the predetermined discharging time for the standby power module 32 has expired. The discharging time is calculated on the basis of providing an assured minimum time during which the standby power module 32 will be capable of providing power to the data processing apparatus 20 with assurance that the power will not be exhausted and thus possibly cause a sudden power failure which could result in damage to the system. The calculation of this minimum time value depends upon a number of factors, such as the predetermined time duration for which the batteries of the standby power module are capable of providing satisfactory power, the number of units, if more than one, which the battery may have to service, the time required for the data processing apparatus 20 to perform an orderly shut down without damage, and a possible safety factor. Thus if it is determined that the assured total duration of adequate power delivery of the standby power module 32 is 56 minutes, that a maximum of four units will be serviced by said module, that a shut down time of two minutes is required, and that a safety factor of two minutes is desired, then the minimum time can be determined to be 56 ÷ 4 = 14, minus 2 = 12, minus 2 = 10 minutes. Accordingly, the timer 28 is initially set with a value of 10 minutes when the batteries 35 of the standby power module 32 are determined to be fully charged. A periodic checking of the standby power module 32 by the data processing apparatus 20 takes place, and each time that the standby power module 32 is found to be supplying standby power, the duration of such time period is taken off the timer 28. When the time remaining has decreased to zero, the discharging time is considered to have expired, as represented in block 64. It should be pointed out that after the standby power module 32 has been supplying standby power, and normal power comes back on, the circuitry 36 may cause the batteries 35 to be recharged. However, the system does not have the capability of measuring the effect of such interim recharging, and this factor is therefore ignored in operating the timer, which is reset to its initial setting only when a complete recharging of the batteries 35 has taken place. Such a complete recharging may take a considerable period of time, such as approximately sixteen hours for the batteries 35 which are suitable for use in the system described herein. Returning now to Fig. 5, if it is determined in block 64 that the discharging time has not expired, the standby power module 32 continues to provide power, as represented by the "SPM-ON" block 66, and the process continues on path 56 to return to the application program, as represented by block 58. On the other hand, if it is determined in block 64 that the discharging time has expired, the routine proceeds to shut down the data processing apparatus 20 on an orderly basis, as represented in block 68, after which the process returns to the application program (block 58). Fig. 6 illustrates a typical sequence of operation of the system of Fig. 1, in which the normal power supply is interrupted twice and the system is shut down. As represented in block 70, the sequence begins with the checking of the status of the standby power module 32. In block 72, the timer 28 is set to its predetermined minimum duration value. At this time, the standby power module 32 is off and the batteries 35 are fully charged. Periodic checking of the status of the standby power module 32 by the application software 22, acting through the data processing apparatus 20, takes place at suitable intervals, typically of about one minute. This checking is accomplished by applying a signal, typically every second, via the connector 40 to the blade 42 of the switch 38 of the standby power module 32. As previously mentioned, if the module 32 is in the system, the blade 42 is positioned to one of the two terminals 44 or 46, depending upon whether the module 32 is "on" or "off", and the signal to the blade 42 is therefore returned to the data processing apparatus 20 on one of the conductors contained in the connector 40, connected to either the terminal 44 or the terminal 46. Thus in Fig. 6, after the timer has been set in block 72, the status of the standby power module 32 is checked in block 74, and for purposes of this example, it will be assumed that normal power has failed, and that the standby power module 32 is therefore on, as represented in block 76. Operation of the timer 28 is started at this point. Checking continues, as represented by block 78, and at the next, or a subsequent check, it is found that the standby power has been turned off (block 80), as a consequence of the normal power supply coming back on. Operation of the timer 28 is accordingly halted, with the setting of the timer reduced by the duration of the period that the standby power module 32 was in an "on" condition. During further periodic checking (block 82), it is discovered that the standby power module 32 is once more on, and operation of the timer 28 is again commenced (block 84), from the setting at which it previously stopped. Continued checking of the module status (block 86) takes place. In this instance, it is assumed that the module 32 continues in an "on" status until the timer 28 has run down to its zero position (block 88). As soon as this happens, the software of Fig. 5 causes the system to shut down, as represented by block 68 in Fig. 5, and by block 90 in Fig. 6. This results in a return to the application program, as previously described (block 58 of Fig. 5).

Claims: A data processing system including data processing means (20), a source of power for normally operating the data processing means (20) and standby power means (32) coupled to the source of power and to the data processing means (20) for supplying power from the source of power to the data processing means (20), wherein the data processing means (20) includes logic and control circuitry, and memory means adapted to store: operating system software (22) for controlling the logic and control circuitry to enable the data processing means (20) to perform various functions; application software (22) for causing the data processing means (20) to perform specific routines and power failure protection software (26); and a timer (28) associated with the power failure protection software (26) for timing the duration of events associated with the data processing means (20); wherein the standby power means (32) includes auxiliary power means (35) for supplying standby power to the data processing means (20) in the event of loss of power from the source of power, means to recharge the auxiliary power means (35) from the source of power, monitoring means (36) to monitor any failure of power from the source of power and to initiate use of the auxiliary power means (35) to supply power in the event of failure of power from the source of power, and switch means (38) controlled by the monitoring means (36) and settable in accordance with whether or not power from the auxiliary power means (35) is being supplied to the data processing means (20); and wherein the system includes communications means (40) coupled to the switch means (38) and to the data processing means (20), wherein the power failure protection software (26) is arranged to cause the data processing means (20) to check the status of the switch means (38) of the standby power means (32) to determine whether the auxiliary power means (35) is being used to power the data processing means (20), and to cause the timer (28) to run whenever the auxiliary power means (35) is supplying power to the data processing means, characterised in that the power failure protection software is arranged to cause the timer (28) to run whenever the auxiliary power means (35) is supplying power to the data processing means (20), to halt when the source of power recommences, and cause the shutdown of the data processing means (20) only when the accumulated amount of time elapsed whenever the auxiliary power means (35) is supplying power to the data processing means (20) exceeds a predetermined amount. A data processing system according to Claim 1, characterised in that the predetermined time is less than the minimum time during which the auxiliary power means (35) is capable of providing power to run the data processing means (20). A method of power failure protection of a data processing apparatus (20) having a normal power supply and a standby power supply (32) associated therewith which standby power supply (32) automatically commences supplying power to the data processing apparatus (20) when the normal power supply is interrupted, the method including the steps of: setting a timer (28) in the data processing apparatus (20) to a value equal to a period of time during which the standby power supply (32) is capable of supplying power to said data processing system (20) when said standby power supply (32) is fully charged; repetitively checking the status of the standby power supply (32) to determine whether or not the standby power supply (32) is supplying power to the data processing apparatus (20) in place of the normal power supply when normal power supply is interrupted; starting operation of the timer (28) when the standby power supply (32) is found, during the repetitive checking, to be supplying power to the data processing apparatus (20); and continuing to repetitively check the status of said standby power supply (32) and characterised by stopping and starting the operation of the timer (28) in accordance with the termination and any subsequent commencement of the supplying of power to the data processing apparatus (20) by the standby power supply (32) until the time remaining on said timer (28) is exhausted; and shutting down the operation of the data processing apparatus (20) if the standby power supply (32) continues to supply power to said data processing apparatus (20) when the time remaining on the timer (28) is exhausted. A method according to Claim 3, characterised in that the time to which the timer (28) is set is sufficiently less than the minimum time that the standby power supply (32) is capable of supplying power, that sufficient standby power will be available for an orderly shutting down of the operation of the data processing apparatus without possible damage. A method according to Claim 3 or 4, characterised by also including the step of checking for the presence of the standby power supply (32) before repetitively checking the status of said standby power supply (32). A method according to any one of Claims 3 to 5, characterised by also including the step of recharging the standby power supply from the normal power supply (32) when the normal power supply resumes operation after interruption. A method according to Claim 6, characterised in that the timer (28) is reset to its original set value only after a predetermined time has elapsed since the last use of the standby power supply (32), that predetermined time being sufficient to recharge the standby power supply (32) fully from a totally depleted state. A method according to any one of Claims 3 to 7, characterised in that the checking of the status of the standby power supply (32) is accomplished by a switching means (38) controlled by the standby power supply (32) and coupled to the data processing apparatus (20). A method according to any one of Claims 3 to 8, characterised by the step of resetting the timer (28) to the value only when the standby power supply (32) has been fully recharged.

Inventors: PATEL RAMESH UKABHAI, SO SITHY, PATEL, RAMESH UKABHAI, SO, SITHY
Applicants: NCR INT INC, NCR INTERNATIONAL, INC.
Application year: 1990
Main classification: G06F1
IPC codes: G06F11, G06F1