Method for keeping accurate time in a computer system
First Claim
1. A method for maintaining the accuracy of a processor clock value according to an external clock value, the method including the steps of:
- creating a rate variable that is proportional to a ratio of a chance of the processor clock value over a time period to a change of the external clock value over the time period;
developing an updated rate variable from a ratio of a first difference between a present processor clock value and a last processor clock value and a second difference between a present external clock value and a last external clock value multiplied by the rate variable;
saving the present external clock value as the last external clock value;
saving the present processor clock value as the last processor clock valuessaving the updated rate variable as the rate variable; and
periodically incrementing the processor clock value with a time value that is proportional to a passage of time since last incrementing the processor clock value modified by the rate variable.
5 Assignments
0 Petitions
Accused Products
Abstract
A computing system develops time/date values by using a free-running counter to measure and accumulate increments of time. The increments of time are converted from the resolution of the free-running counter to that used for the time and date values by dividing by a conversion variable and then used to update the time/date value. The accuracy of the time/date value is monitored by periodically comparing the rate of the free-running counter to the rate of a more accurate, external clock. The ratio of these two rates is used to adjust the conversion variable. The conversion variable reflects any differences between (1) the rate of change of the increments of time used for developing the time/data value and (2) the external clock. Its use here, therefore, will operate to either slow down or speed up the rate of change of the time/date value so that it more closely tracks the external clock.
49 Citations
14 Claims
-
1. A method for maintaining the accuracy of a processor clock value according to an external clock value, the method including the steps of:
-
creating a rate variable that is proportional to a ratio of a chance of the processor clock value over a time period to a change of the external clock value over the time period; developing an updated rate variable from a ratio of a first difference between a present processor clock value and a last processor clock value and a second difference between a present external clock value and a last external clock value multiplied by the rate variable; saving the present external clock value as the last external clock value; saving the present processor clock value as the last processor clock values saving the updated rate variable as the rate variable; and periodically incrementing the processor clock value with a time value that is proportional to a passage of time since last incrementing the processor clock value modified by the rate variable. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A method of maintaining accuracy of a time value in a processor for producing therefrom a date/time value, the method including the steps of:
-
providing a reference clock value; periodically using the reference clock value to form a ratio from a change of the reference clock value and a change of the time value over a time period; incrementing the time value to produce an updated time value by adding to the time value a count that is indicative of a passage of time multiplied by the ratio; and saving the updated time value as the time value. - View Dependent Claims (10)
-
- 8. The method of 7, wherein the processor includes a counter for maintaining a count value, and wherein the processor operates to obtain the count value from the counter at periodic moments in time.
-
11. A method of maintaining an processor clock, including the steps of:
-
providing a present reference clock value and a prior reference clock value; obtaining a present processor clock value and a prior processor clock value; creating a correction factor that includes the ratio of a first difference between the present reference clock value and the prior reference clock value and a second difference between the present processor clock value and the prior processor clock value; incrementing the present processor clock value with a count indicative of a passage of time multiplied by the correction factor to produce an updated processor clock value; and saving the updated processor clock value as the prior processor clock value. - View Dependent Claims (12, 13, 14)
-
Specification