Browse Prior Art Database

Correcting Real Time Clock Century Byte Errors Associated with the Year 2000

IP.com Disclosure Number: IPCOM000123590D
Original Publication Date: 1999-Jan-01
Included in the Prior Art Database: 2005-Apr-05
Document File: 5 page(s) / 234K

Publishing Venue

IBM

Related People

Fisher, M: AUTHOR [+3]

Abstract

The Year 2000 presents some, by now, well documented issues for computer hardware and software. Personal computer (PC) hardware and software are no exception. In the case of PC software, there are a range of issues relating to the Year 2000. We will not attempt to document these here. PC hardware, however, has a single historically based behavior that may compromise its ability to process dates correctly into the new millennium.

This text was extracted from an ASCII text file.
This is the abbreviated version, containing approximately 26% of the total text.

Correcting Real Time Clock Century Byte Errors Associated with the
Year 2000

   The Year 2000 presents some, by now, well documented
issues for computer hardware and software.  Personal computer (PC)
hardware and software are no exception.  In the case of PC software,
there are a range of issues relating to the Year 2000.  We will not
attempt to document these here.  PC hardware, however, has a single
historically based behavior that may compromise its ability to
process dates correctly into the new millennium.

   The following is a description of the historical basis
for the behavior of PC hardware and its impact with respect to the
Year 2000.  Some incremental techniques that have been taken to
address this behavior will then be discussed.  Finally, we will focus
on a new method to address a remaining deficiency of these commonly
implemented techniques.

   Some History:

   Early PCs, including the original IBM PC and the IBM PC-XT,
prompted the user to enter the date and time each time the system
was powered on.  The date and time were preserved by the operating
system (OS) only while the PC was powered on.  Since the
introduction of the IBM Personal Computer AT (PC-AT), most IBM
compatible PCs have had an internal clock called a Real Time Clock
(RTC).  The RTC maintains the current date and time continuously.
When the PC is not powered on, the RTC is powered by a battery.

   The RTC maintains one memory byte for each unit of time
required to represent the current time.  So, the current second,
minute, hour, day, month, and year are each allocated one byte of
battery preserved memory.  A single byte is sufficient to represent
all possible values for each of these units of time with the
exception of the year.  The RTC maintained memory byte for the year
accommodates only the two least significant digits of the current
year.  For example, the memory byte for the year would contain the
Binary Coded Decimal (BCD) value 98H to represent the year 1998.

   When the first RTCs were designed, the requirement of a
century value other than "19" (if considered at all) was remote
enough to be outweighed by the efficiency of using a single byte to
represent the year.  Over time, as many functions of the early PCs
were integrated into a smaller set of computer chips, this short hand
way of representing the year was continually carried forward for the
sake of backward compatibility.  In the last several years, with the
prospect of the Year 2000 more imminent, the initial RTC design and
ensuing sequence of events have proven to be short-sighted.  An
effort to understand and address the ramifications of the initial RTC
design with respect to the Year 2000 is now well underway.

   The Problem:

   The PC-AT and most subsequent IBM compatible PCs did
implement a second battery preserved memory byte, known as the
century byte, to contain the two most significant digits of the
current year.  However, unlike the other units of time...