Patent Publication Number: US-7716512-B1

Title: Real time clock content validation

Description:
REFERENCE TO PENDING PRIOR PATENT APPLICATION 
     This patent application claims benefit of prior U.S. Provisional Patent Application Ser. No. 60/535,404, filed Jan. 9, 2004 by Michael J. Schaffstein et al. for REAL TIME CLOCK CONTENT VALIDATION. 
     The above-identified patent application is hereby incorporated herein by reference. 
    
    
     FIELD OF THE INVENTION 
     This invention relates to office automation products in general, and more particularly to printers, fax machines, scanners, copiers and the like. Even more particularly, this invention relates to the integration of formerly separate functions into single devices such as those sometimes referred to as MFPs (Multi-Functional-Peripherals), and the integration of multiple functions into a single ASIC (Application-Specific Integrated Circuit) such as those produced by Oasis Semiconductor, Inc. of Waltham, Mass. 
     BACKGROUND 
     A real-time clock is a device that keeps track of time and can communicate the time and date to other devices electronically. When power is removed from a system, the real-time clock derives its power from an alternate source (such as a battery) so that it can maintain its sense of time. The alternate power source will eventually weaken to the point that it cannot adequately supply power to the real-time clock. The real-time clock will then lose its sense of absolute time. When the real-time clock and system regain power the real-time clock must evaluate its concept of time to understand if it is valid or not. It will report this status to the system. 
     An analog circuit that detects a loss of power is the most common method for invalidating the contents of a real-time clock. The analog circuit monitors the voltage applied to the real-time clock circuits and senses when the voltage drops below a set threshold at which point the contents are marked as invalid. Such an analog circuit cannot exist in a pure digital circuit. 
    
    
     
       BRIEF DESCRIPTION OF DRAWINGS 
         FIG. 1  is a flow chart of a method of validating the content of a real-time clock. 
     
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
     A digital circuit which implements a real-time clock must solve the problem of knowing if its contents are valid without the use of an analog voltage monitor. Content is stored in memory elements known as flip-flops. The memory state of a flip-flop has the characteristic of being random when power is first applied. A method that exploits this randomness can be used to guarantee the contents of a real-time clock. 
     A set of N number of flip-flops, called the signature, is created. The signature&#39;s value when power is first applied is random. A reference value is chosen by the system which is compared to the signature. If the values match, the real-time clock&#39;s contents are valid and the timing is considered accurate. If they do not match, the contents are considered invalid and the time/date information is ignored. The system must then ask the user for correct time and date information. This in turn is written into the real-time clock&#39;s content and the signature is written to the system&#39;s reference value. 
     The real-time clock maintains the signature at the reference value while power to the real-time clock is maintained. When power is lost and then regained, the signature is considered random and it is likely that the reference value will no longer match. The probability that the random contents achieve a match can be decreased by increasing the number of flop-flops, N, used to represent the signature. A hardware method is used to further increase the chances of signature loss as power fails by constantly shifting the signature value through the flop-flops. Carefully choosing a signature value that is known to be difficult to achieve through the random power on characteristics of a flip-flop is also used to prevent accidental valid detection. 
     Through this method a digital circuit can determine the validity of a real-time clock&#39;s contents beyond a reasonable failure rate. 
       FIG. 1  is a flow chart illustrating one embodiment of a method for validating the content of a real-time clock. At step  100 , power is applied to a plurality of memory elements, such as flip flops. At step  101 , a random signature is created based on the state of the memory elements. At step  102 , the random signature is stored as a reference value. The reference value is stored such that it is not altered by a power interruption. In step  103 , the random signature is maintained while power to the plurality of memory elements is maintained. In step  104 , the reference value is compared to the random signature. This continues until the reference value is not equal to the random signature. At step  105 , the contents of a real-time clock is invalidated because the reference value is no longer equal to the random signature. In step  106 , a user input is employed to correct the real-time clock. 
     It will be appreciated that still further embodiments of the present invention will be apparent to those skilled in the art in view of the present disclosure. It is to be understood that the present invention is by no means limited to the particular constructions herein disclosed and/or shown in the drawings, but also comprises any modifications or equivalents within the scope of the invention.