The present invention relates to methods for real time clock monitoring and for devices having real time clock monitoring capabilities.
Real time clock generators have various applications. They can be used for providing timing information for operating systems, for enforcing policies for time-sensitive data, for assisting in positioning calculations and the like. U.S patent application serial number 2002/0083284 of Matsubara et al., titled “Data reproduction system, data recorder and data reader preventing fraudulent usage by monitoring reproducible time limit”, U.S. Pat. No. 5,920,727 of Kikinis et al., titled “Timer-controlled computer system shutdown and startup”, U.S patent application serial number 2004/0128528 of Poisner titled “Trusted real time clock” and U.S patent application serial number 2004/0225439 of Gronemeyer, titled “Method and apparatus for real time clock (RTC) brownout detection, all being incorporated herein by reference, illustrate some usages of real time clocks.
Real time clock signals can be tampered for various reasons including copyrighting piracy, concealing hacking or tampering attempts, reducing the functionality of a device and the like.
Modern integrated circuit providers are required to monitor the real time clocks signal and especially to detect if the frequency of the clock signal is outside a predefined frequency window. Real time clock monitoring circuits, such as sampling circuits or oscillating circuits operate at a higher monitoring frequency than the real time clock frequency. Typically the monitoring frequency is at least twice of the real time clock frequency, such as to comply with the Nyquist sampling rule.
The power consumption of a real time clock monitoring circuit is responsive to the monitoring frequency thus these real time clock monitoring circuits are power consuming. U.S. patent application serial number 2004/0225439 of Gronemeyer describes a constantly operating real time clock signal monitor.
Various apparatuses such as mobile phones, personal data appliances, media players and the like are required to operate for long time periods while using relatively small batteries. Using high power consuming real time clock signal monitoring circuits can reduce the operating period of such apparatuses.
There is a need to provide efficient methods and devices for performing real time clock monitoring.
A device and a method for monitoring a real time clock and devices having real time clock monitoring capabilities, as described in the accompanying claims.
The present invention will be understood and appreciated more fully from the following detailed description taken in conjunction with the drawings in which:
Embodiments of the present invention illustrated in the accompanying drawings provide an information processing apparatus such as a mobile phone, a personal data accessory or a media player that includes a device that is capable of monitoring a real time clock.
Real time clock signal monitoring that is characterized by low power consumption involves activating a clock frequency monitor during short monitoring periods. The clock frequency monitor is deactivated between these short monitoring periods. The timing (start time and/or end time) of the short monitoring periods is determined in a non-deterministic manner such as in a random manner or in a pseudo-random manner. The non-deterministic timings prevents or complicates a provision of a proper real time clock signal during the monitoring periods while providing a jammed real time clock signal during other periods.
According to an embodiment of the invention the monitoring also includes tracking after the provision of the real time clock signal and generating a real time clock stop indication if the real time clock signal was disabled for a long period. The clock signal monitoring is conveniently done by using a low power consuming clock stop monitor. This monitoring can prevent a real time clock jamming entity from stopping the provision of the real time clock signal to the clock frequency monitor thus preventing the clock frequency monitor from generating a real time clock violation indication.
A jammed real time clock signal includes any real time clock signal that differs from the original real time clock signal and that has characteristics that differ from the required characteristics of the original real time clock signal.
Conveniently, a non-deterministic number source can constantly generate new non-deterministic numbers. According to an embodiment of the invention at least a portion of the non-deterministic number source can be deactivated during certain periods in order to reduce the power consumption.
New non-deterministic numbers can be generated during device power on period, during various predefined periods and the like.
Conveniently, the non-deterministic number source includes a non-deterministic number generator and a temporal storage unit that stores the non-deterministic numbers generated by the generator. The storage unit can be powered even when the non-deterministic number generator is idle.
Device 10 can include one or more integrated circuits. It can generate a real time clock signal or receive a real time clock signal. Typically, device 10 generates the real time clock signal but this is not necessarily so. According to an embodiment of the invention device 10 can reconstruct a real time clock signal from information signals.
The real time clock signal is distributed between various components of device 10 by a real time clock distribution network or grid such as real time clock tree 20. At least one of these components can be involved in the monitoring of the real time clock signal while other components are not related to the monitoring.
Real time clock tree 20 provides the real time clock signal to monitoring enable module 40, to clock frequency monitor 30 and to stop clock monitor 90.
Clock frequency monitor 30 is adapted to determine the frequency of a real time clock signal, during a short monitoring period and conveniently during a single real time clock cycle. It can include a sampling circuit that samples the real time clock signal during multiple points in time during one (or few) real time clock cycles. It can include a high frequency oscillator that is connected to a counter whereas the number of oscillations during one or few real time clock cycles indicates the frequency of the real time clock signal.
Clock frequency monitor 30 is connected to monitoring enable module 40 and is activated (as well as deactivated) by the monitoring enable module 40. Clock frequency monitor 30 can be activated by a provision of an enable signals, although other prior art activation methods can also be applied. For example, the monitoring enable module can stop the provision of one or more clock signals that are provided to the clock frequency monitor 30 and additionally or alternatively can reduce (even to zero) the power supply provided to the clock frequency monitor 30.
Monitoring enable module 40 is adapted to determine the timing (start time and/or end time) of the short monitoring periods in a random or in a pseudo-random manner. The length of idle periods between the short monitoring periods can be non-deterministically determined (for example—determined in a random or pseudo-random manner) after each short monitoring period.
According to one embodiment of the invention monitoring enable module 40 can apply various prior art techniques for determining in a random or in a pseudo random manner the timing of the short monitoring periods.
According to another embodiment of the invention the monitoring enable module 40 determines the timing (start time and/or end time) of the short monitoring periods in response to a first non-deterministic number and in response to a dynamically changing number. The first non-deterministic number can be fixed during very long periods and even during the lifespan of monitoring enable module 40. The dynamically changing number can change in response to the real time clock signal but this is not necessarily so.
Idle period expiration counter 84 is loaded with a multi-bit random or pseudo random number provided from non-deterministic number source 60 and counts down until the idle period expires and a new short monitoring period starts. During that short monitoring period the clock frequency monitor 30 is enabled.
It is noted that non-deterministic number source 60 can include a random number generator, a pseudo-random number generator or a combination thereof.
Clock frequency monitor 30 is adapted to generate a real time clock frequency error signal if the frequency of the monitored real time clock signal is outside a predefined frequency window. The width of the frequency window is responsive to the allowed accuracy of the real time clock signal.
Real time clock violation indication generator 50 is connected to clock frequency monitor 30 and if it receives a real time clock frequency error signal from clock frequency monitor 30 it generates a real time clock violation indication. This indication can trigger a re-starting device 10, can trigger the generation of an audio and/or visual alert to a user of device 10, to a remote user and the like.
According to an embodiment of the invention device 10 also includes stop clock monitor 90 that is adapted to determine that a real time clock signal was not supplied during a long period. A clock signals is deemed not to be supplied if it does not alternate. For example, supplying, over a long period, only a high level signal or only a low level signal, is defined as the lack of clock signal. Stop clock signal can include a high-level detection circuit 94 and a low-level detection circuit 96. High-level detection circuits are known in the art and do not require additional information. The high-level detection circuit (as well as the low-level detection circuit) circuit can include one or more components that are characterized by a long charge time constant and a long discharge time constant. The circuit is charged by the real time clock signal can be discharged by leakage currents. If a constant high signal is provided the circuit will not be discharged (or only slightly discharged) and this state can indicate a provision of a constant high clock signal during a long period.
Stop clock monitor 90 is characterized by low power consumption.
The stop clock monitor 90 is not necessarily accurate. It can consume low power by measuring the long time periods based upon leakage currents. The amplitude of leakage currents is hard to predict and the stop clock monitor 50 can measure the long period with a low accuracy.
Conveniently, the stop clock monitor 90 includes a capacitor 92 adapted to be charged by the real time clock signal and to be discharged by a leakage current. A capacitor can be included within a transistor, be a parasitic capacitor and the like. The inventors used a pair of MOS transistors 91 and 93 and capacitor 92. NMOS transistor 93 is connected in parallel to capacitor 92. NMOS transistor 93 and capacitor 92 are connected between the ground and between PMOS transistor 91. PMOS transistor 91 is further connected to a power supply and also receives (via its gate) the real time clock signal. PMOS transistor 91 provides a charge path to capacitor 92 and NMOS 93 provides a discharge path to capacitor 92. If the real time clock signal is not provided to stop clock monitor 90 the capacitor discharges until the voltage of capacitor 92 reaches a predefined level that indicate that a failure occurred.
If stop clock monitor 90 finds that a real time clock signal was not provided during a long period then it generates a real time clock stop indication.
The real time clock stop indication is sent to real time clock violation indication generator 50 that in turn can generate a real time clock violation indication. Conveniently, real time clock violation indication generator 50 includes logical gate 52 that is adapted to generate a real time clock violation indication if it receives a real time clock frequency error signal from clock frequency monitor 30 and/or a real time clock stop indication from stop clock monitor 90.
In addition
Power manager 66 can activate the non-deterministic number generator 64 during powering up sequences of device 10′ or during selected periods.
It is further notes that power manager 66 can also control a frequency of a clock signal provided to non-deterministic number generator 64.
Device 10″ provides a more detailed example of idle period expiration counter 84. Idle expiration counter 84 includes a real time counter 21 that is fed by the real time clock signal provided by real time clock tree 20. This real time counter 21 includes multiple outputs that are connected to multiple parallel inputs of multiplexer 32. Non-deterministic number source 60 provides a control signal that determines which input of multiplexer 32 will be selected. The output of multiplexer 32 is connected to an input of clock frequency monitor 30.
Method 200 starts by stages 220 and 290.
Stage 220 includes measuring, during a short monitoring period and by a clock frequency monitor, a frequency of the real time clock signal. Referring to
Conveniently, stage 220 includes accurately measuring the frequency of the real time clock signal in a single real time clock cycle.
Stage 220 is followed by stages 230 and 250.
Stage 250 includes indicating that a real time clock violation occurred if the frequency of the real time clock signal is outside a predefined frequency window. It is noted that if a real time clock violation occurred method 200 can stop but this is not necessarily so. For example a response to a real time clock violation can be responsive to one or multiple real time clock violations. The response can include resetting a device, powering down a device and the like.
Stage 230 includes determining in a non-deterministic manner (random or in a pseudo-random manner), a timing of a next short monitoring period.
Conveniently, the determining is responsive to a first random number stored within a one-time programmable random number storage unit.
Conveniently, stage 230 of determining comprises determining a timing of a next short monitoring period during at least a first period and disabling at least one non-deterministic number generator involved in the determining during at least a second period. Conveniently, the first period is a powering up period.
Stage 230 is followed by stage 240 of deactivating the clock frequency monitor until a beginning of the next short monitoring period.
Stages 230 and 240 can be implemented by monitoring enable module 40 of
Stage 240 is followed by stage 220 measuring the frequency of the real time clock signal.
Stage 290 includes determining, by a low power consuming clock stop monitor, that a real time clock signal was not supplied during a long period.
Stage 290 is followed by stage 250 such that the indicating that a real time clock violation occurred comprises indicating that a real time clock error occurred if the real time clock signal was not supplied during the long period.
Conveniently, stage 290 includes monitoring a status of a capacitor within the clock stop monitor; wherein the capacitor is being charged by the real time clock and is being discharged by a leakage current.
Variations, modifications, and other implementations of what is described herein will occur to those of ordinary skill in the art without departing from the spirit and the scope of the invention as claimed. Accordingly, the invention is to be defined not by the preceding illustrative description but instead by the spirit and scope of the following claims.
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/IB2006/052733 | 8/8/2006 | WO | 00 | 2/5/2009 |