(57)【要約】【課題】  ＲＴＣの計時日時の狂いを高精度で検出し、情報処理装置の動作に対する信頼性を大幅に向上させること。【解決手段】  電源の投入時において、ＲＴＣの計時日時ＴRTCが不揮発性の記憶手段に記憶された基準日時ＴＳよりも進んでいる場合には当該計時日時ＴRTCを以降の制御用に設定し、計時日時ＴRTCが基準日時ＴＳよりも遅れている場合にはエラー処理を実行する。さらに、計時日時ＴRTCが基準日時ＴＳよりも進んでいるならば、電源の供給が停止されるまでの間に設定された特定のタイミングで前記記憶手段に記憶された基準日時ＴＳを計時日時ＴRTCで更新する。【選択図】    図２
2011027597.tif 000002
【特許請求の範囲】
【請求項１】
日時を計時する計時手段と、
基準日時を記憶する記憶手段と、
電源の投入時において、前記計時手段の計時日時が前記記憶手段に記憶された基準日時よりも進んでいる場合には当該計時日時を以降の制御用に設定し、前記計時日時が前記基準日時よりも遅れている場合にはエラー処理を実行する第１制御手段と、
この第１制御手段による処理の後、電源の供給が停止されるまでの間に設定された特定のタイミングで前記記憶手段に記憶された基準日時を前記計時手段による計時日時で更新する第２制御手段と、
を備えていることを特徴とする情報処理装置。
【請求項２】
前記計時手段は、電池によりバックアップされたリアルタイムクロックであることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記特定のタイミングは、ＢＩＯＳによる起動処理の実行時であることを特徴とする請求項１に記載の情報処理装置。
【請求項４】
前記記憶手段は、ＢＩＯＳを記憶したＢＩＯＳ−ＲＯＭであることを特徴とする請求項１に記載の情報処理装置。
【請求項５】
日時を計時する計時手段と、基準日時を記憶する記憶手段とを備えた情報処理装置の制御プログラムであって、
前記情報処理装置に、
電源の投入時において、前記計時手段の計時日時が、前記記憶手段に記憶された基準日時よりも進んでいる場合には当該計時日時を以降の制御用に設定し、前記計時日時が前記基準日時よりも遅れている場合にはエラー処理を実行する第１制御機能と、
この第１制御機能による処理の後、電源の供給が停止されるまでの間に設定された特定のタイミングで前記記憶手段に記憶された基準日時を前記計時手段による計時日時で更新する第２制御機能と、
を実現させるためのプログラム。
【請求項６】
日時を計時する計時手段と、基準日時を記憶する記憶手段とを備えた情報処理装置における計時日時の異常検出方法であって、
電源の投入時において、前記計時手段の計時日時が、前記記憶手段に記憶された基準日時よりも進んでいる場合には当該計時日時を以降の制御用に設定し、前記計時日時が前記基準日時よりも遅れている場合にはエラー処理を実行する第１制御ステップと、
この第１制御ステップの後、電源の供給が停止されるまでの間に設定された特定のタイミングで前記記憶手段に記憶された基準日時を前記計時手段による計時日時で更新する第２制御ステップと、
を備えていることを特徴とする異常検出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＲＴＣ（Real Time Clock）を搭載した情報処理装置、その制御プログラムおよびＲＴＣの異常検出方法に関する。
【背景技術】
【０００２】
パーソナルコンピュータ、事務用コンピュータ、商品販売データ処理装置等の情報処理装置は、内蔵したマザーボード上に計時専用の集積回路であるＲＴＣを実装している。ＲＴＣは、情報処理装置に外部電源から電源が供給されている場合には当該電源にて動作し、情報処理装置に外部電源から電源が供給されていない場合には内蔵電池から電源供給を受けて動作する。ＯＳ（Operating System）は、情報処理装置のシステム起動時にＲＴＣから日時を検出し、その後は同じくマザーボード上に実装された高精度タイマ等を用いて独自に日時を管理する。
【０００３】
このように、ＲＴＣの計時日時は、情報処理装置のシステム日時を決定するものであり、正確な計時が要求される。しかし、外部電源供給の停止時における内蔵電池の電力切れや、温度等の周辺環境の影響によって計時に狂いが生じる場合がある。このような事情に鑑みて、一般的には、マザーボードに実装されたＲＴＣの計時日時と、ＢＩＯＳ−ＲＯＭ（Basic Input/Output System−Read Only Memory）に予め設定された基準日時とを比較してＲＴＣの計時日時が基準日時よりも遅れている場合にＲＴＣの異常を検出するプログラムがＢＩＯＳに組み込まれている。
【０００４】
さらに、よりＲＴＣの計時動作の信頼性を向上させるための発明もなされている。例えば特許文献１に記載された電子機器は、マザーボードに実装されたＲＴＣの計時日時と、情報処理装置に外付けした別途のＲＴＣの計時日時とを比較し、より信頼できる一方の計時日時を制御用として選定する制御方法を採用している。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上記のように基準日時を用いてＲＴＣの異常を検出する場合、当該基準日時は、ＢＩＯＳ−ＲＯＭの製造時に予め設定されることが多い。一般的に基準日時は、ＢＩＯＳ−ＲＯＭのセキュア領域等に固定値として設定され、ＢＩＯＳやＯＳからは書き換えることができないようになっている。したがって、システム起動時にＲＴＣから検出される日時が、固定値である上記基準日時よりも遅れている場合にしかＲＴＣの異常として検出することができなかった。さらには、ＢＩＯＳ−ＲＯＭの製造時から時間が経過するにつれて閾値と実際の日時との差が増大し、異常検出の精度が低下するとの問題があった。
【０００６】
また、上記特許文献１に記載された電子機器のように、別途のＲＴＣを用いる場合には、製造コストが増大してしまうとの問題や、双方のＲＴＣの計時日時に狂いが生じた場合に異常を検出できない等の問題がある。
【０００７】
本発明は、上記のような事情に鑑みてなされたものであり、その目的は、製造コストを抑えつつもＲＴＣの計時日時の狂いを高精度で検出し、情報処理装置の動作に対する信頼性を大幅に向上させることである。
【課題を解決するための手段】
【０００８】
本発明の第１の視点は、日時を計時する計時手段と、基準日時を記憶する記憶手段と、電源の投入時において、前記計時手段の計時日時が前記記憶手段に記憶された基準日時よりも進んでいる場合には当該計時日時を以降の制御用に設定し、前記計時日時が前記基準日時よりも遅れている場合にはエラー処理を実行する第１制御手段と、この第１制御手段による処理の後、電源の供給が停止されるまでの間に設定された特定のタイミングで前記記憶手段に記憶された基準日時を前記計時手段による計時日時で更新する第２制御手段とを備えた情報処理装置である。
【０００９】
本発明の第２の視点は、上記情報処理装置の制御プログラムである。
【００１０】
本発明の第３の視点は、日時を計時する計時手段と、基準日時を記憶する記憶手段とを備えた情報処理装置における計時日時の異常検出方法であって、電源の投入時において、前記計時手段の計時日時が、前記記憶手段に記憶された基準日時よりも進んでいる場合には当該計時日時を以降の制御用に設定し、前記計時日時が前記基準日時よりも遅れている場合にはエラー処理を実行する第１制御ステップと、この第１制御ステップの後、電源の供給が停止されるまでの間に設定された特定のタイミングで前記記憶手段に記憶された基準日時を前記計時手段による計時日時で更新する第２制御ステップとを備えた異常検出方法である。
【発明の効果】
【００１１】
かかる手段を講じた本発明によれば、製造コストを抑えつつもＲＴＣの計時情報の狂いを高精度で検出し、情報処理装置の動作に対する信頼性を大幅に向上させることができる。
【図面の簡単な説明】
【００１２】
【図１】本発明の一実施形態における情報処理装置の要部構成を示すブロック図。
【図２】同実施形態におけるＲＴＣ異常検出処理の流れ図。
【図３】従来のＲＴＣ異常検出処理による効果を示す図。
【図４】同実施形態におけるＲＴＣ異常検出処理による効果を示す図。
【発明を実施するための形態】
【００１３】
以下、本発明の一実施形態について、図面を参照しながら説明する。  
図１は、本発明に係る情報処理装置１の要部構成を示すブロック図である。情報処理装置１は、制御の中枢として機能するＣＰＵ（Central Processing Unit）２を備えている。そして、このＣＰＵ２に対し、ＢＩＯＳ−ＲＯＭとして機能するフラッシュＲＯＭ３、ＲＡＭ（Random Access Memory）４、ＲＴＣ５、キーボード６、ディスプレイ７、およびＨＤＤ（Hard Disk Drive）８を、アドレスバスやデータバス等のバスライン９を介して接続し、商用交流電源等の外部電源２０からの電源供給を受けて動作する。なお、ＣＰＵ２、フラッシュＲＯＭ３、ＲＡＭ４およびＲＴＣ５は、情報処理装置１の動作に必要な各種の制御回路とともに、マザーボード上に実装されている。
【００１４】
フラッシュＲＯＭ３は、書き換え可能な不揮発性記憶素子にて構成され、ＢＩＯＳプログラム、ＰＯＳＴ（Power-On Self Test）、ＶＧＡ−ＢＩＯＳ（Video Graphics Array-Basic Input/Output System）プログラム等を記憶し、基準日時記憶エリア１０を有している。前記ＢＩＯＳプログラムは、情報処理装置１のシステム起動当初に呼び出されて起動処理を実行し、ＯＳに処理を繋ぐ基本動作プログラムである。前記ＰＯＳＴは、ＢＩＯＳプログラムが各ハードウェアを初期化する際に実行するテストプログラムである。前記ＶＧＡ−ＢＩＯＳプログラムは、ＶＧＡを制御するドライバの役割を担う。前記基準日時記憶エリア１０は、本実施形態における記憶手段として機能するものであり、ＢＩＯＳプログラムの制御下で行われるＲＴＣ５の計時日時の異常検出に使用される基準日時ＴＳ（年：月：日：時：分：秒）が記憶されている。
【００１５】
ＲＡＭ４は、情報処理装置１の処理場面に応じて各種の作業用記憶エリアを形成する。
【００１６】
ＲＴＣ５は、本実施形態における計時手段として機能するものであり、年，月，日，時，分，秒を含む日時ＴRTC（年：月：日：時：分：秒）を計時する。ＲＴＣ５は、電池１１にてバックアップされている。すなわち、情報処理装置１に外部電源２０からの電源が供給されているときには外部電源２０から動作電源の供給を受け、情報処理装置１に外部電源２０からの電源が供給されていないときには電池１１から動作電源の供給を受ける。したがって、外部電源２０から電源が供給されているか否かに関わらず、ＲＴＣ５は計時動作を継続することができる。
【００１７】
キーボード６は、情報処理装置１と一体として設けられるか、あるいはＵＳＢポートなどの汎用インターフェイスを介して接続されている。キーボード６にはテンキーやアルファベットキー等の各種操作キーが配設されており、押下げされた操作キーに対応する電気信号をＣＰＵ２に通知する。
【００１８】
ディスプレイ７は、情報処理装置１と一体として設けられるか、あるいはビデオケーブル等を介して接続されたＬＣＤ（Liquid Cristal Display），ＣＲＴ（Cathode Ray Tube），ＯＥＬ（Organic Electro-Luminescence）等の表示器である。ディスプレイ７は、制御回路から出力されるビデオ信号を取り込んで、当該信号に応じた画像を表示する。
【００１９】
ＨＤＤ８は、ＯＳファイル、アプリケーションファイル、各種データベース等を記憶した大容量記憶デバイスである。
【００２０】
ＣＰＵ２は、フラッシュＲＯＭ３に記憶されたＢＩＯＳプログラムによるソフトウェア制御により、次の（１），（２）の機能を実現する。
【００２１】
（１）電源の投入時において、ＲＴＣ５の計時日時ＴRTCが基準日時記憶エリア１０に記憶された基準日時ＴSよりも進んでいる場合には当該計時日時ＴRTCを以降の制御用に設定し、計時日時ＴRTCが基準日時ＴSよりも遅れている場合にはエラー処理を実行する第１制御機能。
【００２２】
（２）第１制御機能による処理の後、電源の供給が停止されるまでの間に設定された特定のタイミングで基準日時記憶エリア１０に記憶された基準日時ＴSをＲＴＣ５による計時日時ＴRTCで更新する第２制御機能。
【００２３】
次に、作用について説明する。  
筐体に設けられた電源投入釦の押下げ等により、情報処理装置１に外部電源２０から動作電源の供給が開始されると、フラッシュＲＯＭ３からＢＩＯＳプログラムがＲＡＭ４にロードされ、システム起動処理が開始される。システム起動処理においては、先ずＰＯＳＴによる各デバイスの初期化処理が実行される。初期化処理が完了すると、図２のフローチャートに示した処理が実行される。
【００２４】
先ず、ＣＰＵ２は、フラッシュＲＯＭ３の基準日時記憶エリア１０を参照し（ステップＳ１）、当該エリア１０に基準日時ＴSが記憶されているか否かを判断する（ステップＳ２）。
【００２５】
基準日時記憶エリア１０にアクセスでき、当該エリア１０に基準日時ＴSが記憶されていることを確認したならば（ステップＳ２のＹｅｓ）、ＣＰＵ２は、ＲＴＣ５にアクセスして現在の計時日時ＴRTCを取得し、計時日時ＴRTCが基準日時ＴSよりも進んでいるか否かを判断する（ステップＳ３）。
【００２６】
計時日時ＴRTCが基準日時ＴSよりも進んでいる場合（ステップＳ３のＹｅｓ）、ＣＰＵ２は、計時日時ＴRTCにて基準日時記憶エリア１０に記憶された基準日時ＴSを更新する（ステップＳ４）。その後、ＢＩＯＳプログラムによる起動処理を進行し、ＨＤＤ８からＯＳファイルを呼び出してＯＳを起動する。このときＣＰＵ２は、ＯＳの制御により計時日時ＴRTCを以降の制御に使用する日時として設定し（ステップＳ５）、当該処理を終了する。その後、マザーボードに実装された図示せぬ高精度タイマにより計時日時ＴRTCを基準としたシステム日時が計時され、当該システム日時を用いて各種制御タイミングが管理される。
【００２７】
ステップＳ２の処理において、当該システム起動がフラッシュＲＯＭ３の製造後第1回目の起動であるために基準日時ＴSが記憶されていない場合や、何らかの障害により基準日時ＴSが消失している場合等には、ＣＰＵ２は、基準日時ＴSが記憶されていないと判断する（ステップＳ２のＮｏ）。この場合、ステップＳ３およびステップＳ４の処理を行わずに計時日時ＴRTCを基準日時ＴSとして基準日時記憶エリア１０に記憶する（ステップＳ６）。その後、既述のように計時日時ＴRTCを以降の制御に使用する日時として設定し（ステップＳ５）、計時日時ＴRTCを基準としたシステム日時が前記高精度タイマにより計時される。
【００２８】
ステップＳ３の処理において、計時日時ＴRTCが基準日時記憶エリア１０に記憶された基準日時ＴＳよりも遅れている場合（ステップＳ３のＮｏ）、ＣＰＵ２は、エラー処理を実行する（ステップＳ７）。  
エラー処理では、ディスプレイ７にＲＴＣ５の計時日時ＴRTCが異常である旨のエラーメッセージを表示するとともに図示せぬスピーカからビープ音を発し、発生起動処理を継続するか中断するかの選択を受け付ける。このとき、ユーザは、キーボード６を介して起動処理の継続または中断の選択が可能である。起動処理の継続が選択されたならば、ＲＴＣ５が示す計時日時ＴRTCを用いてシステムの起動処理が進行される。但し、基準日時記憶エリア１０の基準日時ＴＳは更新されず、前回の起動処理にて更新された日時のまま保持される。一方、起動処理の中断が選択されたならば、ＯＳを呼び出さずに起動を中断し、外部電源２０からの電源の取り込みを停止する。
【００２９】
なお、前記エラー処理にてユーザに現在日時の入力を求める処理を加えてもよい。この処理を行う場合には、例えばディスプレイ７に現在日時の入力受付画面を表示し、年，月，日，時間，分，秒の単位での日時情報の入力を受け付ける。そして、ユーザがキーボード６を介して入力した現在日時にてＲＴＣ５の計時日時ＴRTCを修正し、起動処理を中断して再起動をかける。このようにすると、再起動後のＲＴＣ異常検出処理において、修正後の計時日時ＴRTCが基準日時ＴＳとの比較に用いられる（ステップＳ３）。このとき、計時日時ＴRTCが基準日時ＴＳよりも進んでいれば、当該計時日時ＴRTCにて基準日時記憶エリア１０に記憶された基準日時ＴＳが更新され（ステップＳ４）、ＯＳが起動されて計時日時ＴRTCを基準としたシステム日時が計時される。
【００３０】
次に、上記のような作用による効果について、図３，図４を用いて説明する。  
従来の情報処理装置のように、例えばＢＩＯＳ−ＲＯＭ製造時に固定された基準日時ＴＳとの比較によってＲＴＣの異常を検出する場合には、ＢＩＯＳ−ＲＯＭ製造時から時間が経つに連れて誤差範囲Ｔε（年：月：日：時：分：秒）が増大する（図３を参照）。誤差範囲Ｔεが増大するということは、計時日時ＴRTCが大きく遅れたとしても、ＲＴＣの異常として検出されないことになる。
【００３１】
これに対し、本実施形態に係る情報処理装置１は、情報処理装置１が起動される度に基準日時記憶エリア１０に記憶された基準日時ＴＳが更新されていく（ステップＳ４）。したがって誤差範囲Ｔεは、たかだか前回起動時から今回起動時までの時間間隔となる（図４を参照）。すなわち、従来に比べて誤差範囲Ｔεが極めて短時間になるため、ＲＴＣの異常検出精度が大幅に改善され、ひいては情報処理装置１の動作に対する信頼性が向上する。
【００３２】
また、このような格別の効果をＢＩＯＳプログラム等による情報処理にて実現するため、情報処理装置１の製造コストを増大させることもない。
【００３３】
なお、この発明は前記実施形態そのままに限定されるものではなく、実施段階においては、その要旨を逸脱しない範囲内にて各構成要素を適宜変形して具体化することができる。
【００３４】
例えば、基準日時記憶エリア１０に記憶された基準日時ＴＳの更新タイミングは、ＢＩＯＳプログラムによる起動処理時に限られない。その他、システムのシャットダウン時にＢＩＯＳプログラムの制御下にて更新するようにしてもよいし、システム起動後にＯＳの制御下にて更新するようにしてもよい。このように、計時日時ＴRTCと基準日時ＴＳとの比較を完了した後、電源の供給が停止されるまでの特定のタイミングにて基準日時ＴＳを更新すれば、上記実施形態にて開示した効果を喪失することはない。
【００３５】
また、基準日時記憶エリア１０は、ＢＩＯＳ−ＲＯＭたるフラッシュＲＯＭ３に設けず、他の不揮発性メモリに設けるようにしてもよい。
【００３６】
この他、前記実施形態に開示されている複数の構成要素を適宜組み合わせることにより種々の発明を形成することができる。
【符号の説明】
【００３７】
ＴＳ…基準日時、ＴRTC…計時日時、１…情報処理装置、２…ＣＰＵ、３…フラッシュＲＯＭ、４…ＲＡＭ、５…ＲＴＣ、６…キーボード、７…ディスプレイ、８…ＨＤＤ、９…バスライン、１０…基準日時記憶エリア
【先行技術文献】
【特許文献】
【００３８】
【特許文献１】特開２００８−２９８６８７号公報
【図１】
2011027597.tif 000003
【図２】
2011027597.tif 000004
【図３】
2011027597.tif 000005
【図４】
2011027597.tif 000006