(57)【特許請求の範囲】
【請求項１】
当該装置が起動された後、当該装置の終了指示を受け付ける受付手段と、
この受付手段が終了指示を受け付けたとき、当該装置のデバイスの識別情報を取得して所定の記憶手段に記憶し、当該装置の終了処理を実行する終了処理手段と、
当該装置の起動に際し、当該装置が有するデバイスの識別情報を取得し、取得した識別情報と前記記憶手段に記憶された識別情報とが異なる場合には当該装置のデバイスを診断して異常なしの場合に起動を続行し、取得した識別情報と前記記憶手段に記憶された識別情報とが同一である場合には当該装置のデバイスの診断を省いて起動を続行する起動制御手段と、
を備えていることを特徴とするデータ処理装置。
【請求項２】
前記終了処理手段および前記起動制御手段は、前記デバイスにロギングして前記デバイスから識別情報を取得する、
ことを特徴とする請求項１に記載のデータ処理装置。
【請求項３】
前記終了処理手段は、当該装置が有する複数のデバイスの識別情報を取得して前記記憶手段に記憶し、
前記起動制御手段は、当該装置が有する複数のデバイスの識別情報を取得し、取得した各識別情報と前記記憶手段に記憶された各識別情報とが異なる場合には前記診断を行って異常なしの場合に起動を続行し、取得した各識別情報と前記記憶手段に記憶された各識別情報とが同一である場合には前記診断を省いて起動を続行する、
ことを特徴とする請求項１に記載のデータ処理装置。
【請求項４】
前記起動制御手段は、前記デバイスに前記診断の実行を指令し、この指令を受けた前記デバイスが前記診断を実行する、
ことを特徴とする請求項１に記載のデータ処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、構成要素であるデバイスの診断処理を実行するデータ処理装置に関する。
【背景技術】
【０００２】
近年、コンピュータ等のデータ処理装置を利用したシステムは、交通管制システムや金融システムをはじめ、産業のいたるところに浸透している。これらデータ処理装置は、ハードディスク、メインメモリ及びビデオカード等のデバイスを備えている。一般的にこのようなデータ処理装置を起動する際には、まずＢＩＯＳ（Basic Input / Output System）によりＰＯＳＴ（Power-On Self Test）と呼ばれるデバイスのテストプログラムが実行される。ＰＯＳＴは、基本的なデバイスの診断処理及び初期化処理を行う。例えば診断処理においては、ハードディスクやメモリの故障、あるいはキーボードの不接続等を検出し、ユーザに報知する。また、初期化処理は、一般的にはまずビデオカードに対して行われ、これによりディスプレイへのデータ表示が可能となった後、残りのデバイスに対しても行われる。
【０００３】
初期化処理については、デバイスによっては長時間を要する場合があり、起動の遅れを招く１つの要素となっている。
【０００４】
そこで、特許文献１記載の印刷装置のように、起動に際し、ユーザが印刷ヘッドのクリーニングが必要か否かを判断し、必要な場合はクリーニングの実行を含む初期化処理を、不要な場合はクリーニングを含まない初期化処理を、ユーザが選択できるものがある。
【特許文献１】特開２０００―１０３１４０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、初期化処理のみならず、診断処理についても多大な時間を必要とする場合があり、起動遅れの大きな要因となっているのが現状である。例えば近年では、データ処理装置を構成する各デバイスの高性能化に伴い、膨大な記憶容量のメモリデバイスが製品化されている。このメモリデバイスの記憶容量の増加に伴い、起動時の診断処理に要する時間も当然増加する傾向にある。
【０００６】
本発明はこのような事情に基づいてなされたものであり、その目的は、起動に要する時間を大幅に短縮することが可能なデータ処理装置を提供することである。
【課題を解決するための手段】
【０００７】
本発明のデータ処理装置は、当該装置が起動された後、当該装置の終了指示を受け付ける受付手段と、この受付手段が終了指示を受け付けたとき、当該装置のデバイスの識別情報を取得して所定の記憶手段に記憶し、当該装置の終了処理を実行する終了処理手段と、当該装置の起動に際し、当該装置が有するデバイスの識別情報を取得し、取得した識別情報と前記記憶手段に記憶された識別情報とが異なる場合には当該装置のデバイスを診断して異常なしの場合に起動を続行し、取得した識別情報と前記記憶手段に記憶された識別情報とが同一である場合には当該装置のデバイスの診断を省いて起動を続行する起動制御手段と、を備えていることを特徴とするものである。
【発明の効果】
【０００８】
かかる手段を講じた本発明によれば、起動時間を短縮することが可能なデータ処理装置を提供することができる。
【発明を実施するための最良の形態】
【０００９】
［１］以下、この発明の第１の実施形態について、図面を用いて説明する。  
図１は、本実施の形態にかかるデータ処理装置１の要部構成を示すブロック図である。データ処理装置１は、制御の中枢としてＣＰＵ２を搭載している。このＣＰＵ２に対し、データ受渡しの管理等の情報流通を制御するチップセット３、メインメモリ４、画像の処理を行う画像処理カード５、拡張ボード等を装着するための複数のＰＣＩスロット６、ＢＩＯＳ−ＲＯＭ（Basic Input/Output System-Read Only Memory）７、ハードディスク１２、ＲＴＣ（Real Time Clock）１３、ＮＶＲＡＭ（Non volatile Random Access Memory）１４、キーボードコントローラ１５等を、例えばＰＣＩバス等のバスライン８を介して接続している。
【００１０】
チップセット３は、ＣＰＵ２とバスライン８とを接続するために用いられるノースブリッジ９と、各種コントローラ等の機能を有するサウスブリッジ１０とを備えている。画像処理カード５には、情報を出力するためのディスプレイ１１が接続されている。ディスプレイ１１は、データ処理装置１で行う処理内容等をユーザに対して表示する。また、障害の発生したデバイスの交換要請等を表示する。
【００１１】
ＢＩＯＳ−ＲＯＭ７には、ＰＯＳＴ７１と、ＢＩＯＳドライバ７２と、ＶＧＡ（Video Graphics Array）ドライバ７３とが記録されている。ＰＯＳＴ７１は、ＢＩＯＳが各ハードウェアを初期化する際に実行するテストプログラムで、エラーが検出された場合はその内容をディスプレイ１１へ表示したり、又はＢｅｅｐ音の出力等によりユーザに報知する。ＶＧＡドライバ７３は、ＶＧＡを制御する。
【００１２】
ハードディスク１２は、データ及びプログラムを記録する。このハードディスク１２には、ＭＢＲ（Master Boot Record）が記録されている。ＭＢＲには、ＯＳを起動するためのＩＰＬ（Initial Program Loader）を呼び出すためのプログラムが格納されている。
【００１３】
ＲＴＣ１３は、小型電池を内蔵した計時専用のチップである。このＲＴＣ１３は、データ処理装置１の電源が入っているときには、外部電源から電力の供給を受け、データ処理装置１の電源が切られているときには、内蔵した電池から電力の供給を受けて作動する。
【００１４】
ＮＶＲＡＭ１４は、ＳＲＡＭ（Static Random Access Memory）に小さな電池を持たせることにより、外部から電源が供給されない間も記憶情報を保持する仕組みを備えている。ＮＶＲＡＭ１４には、ＢＩＯＳの設定情報及びエラー発生情報等が記録される。  
キーボードコントローラ１５には、ユーザが入力操作を行うためのキーボード１６及びマウス１７が接続されている。
【００１５】
そして、ＣＰＵ２は、主要な機能として、次の（１）（２）の手段を備えている。  
（１）起動に際しデータ処理装置１の各デバイスを診断し、異常なしの場合に起動を続行する第１制御手段。  
（２）所定の条件に基づき、前記第１制御手段による診断を省いて起動を続行せしめる第２制御手段。具体的には、起動から次の起動までの間に各デバイスに異常がないことを条件に、前記第１制御手段による診断を省いて起動を続行せしめる。
【００１６】
図２の流れ図により、ＣＰＵ２がデータ処理装置１の起動時にＢＩＯＳの制御下にて行う基本的な動作について説明する。  
まず、データ処理装置１の筐体に設けられた電源投入釦の押下等により各デバイスに診断処理実行のコマンドを発行する（ＳＴ（ステップ）１０１）。このコマンドの発行を受けたデバイスは診断処理を行う。そして、この診断処理の結果から異常が発見されたデバイスの有無を判断する（ＳＴ１０２）。
【００１７】
いずれかのデバイスに異常が発見された場合（ＳＴ１０２のＹＥＳ）、デバイスに異常が発見されたことをディスプレイ１１へ表示し、ユーザに報知する（ＳＴ１０３）。このユーザへの報知は、ＶＧＡドライバ７３がＶＧＡを制御して行う。この報知の後、ユーザは状況に応じてデータ処理装置１に動作の終了を指示する。動作の終了を指示されたデータ処理装置１は、終了処理を行う（ＳＴ１０４）。
【００１８】
各デバイスに異常が発見されなかった場合（ＳＴ１０２のＮＯ）、各デバイスの初期化を行う（ＳＴ１０５）。この初期化は、ＰＯＳＴ７１を実行することにより行われる。各デバイスの初期化が完了すると、起動するドライブを決定する（ＳＴ１０６）。すなわち、ＭＢＲが存在するドライブを識別する。そしてＭＢＲに記録されたプログラムを実行し（ＳＴ１０７）、ＩＰＬを呼び出す。この後、ＩＰＬはＯＳを起動し、ＣＰＵ２の制御権がＢＩＯＳからＯＳへと移る。
【００１９】
通常はこのような処理の流れによりデータ処理装置１が起動される。以下、起動時間の短縮を実現するための具体的な手段ついて説明する。  
図３の流れ図により、起動時から終了時までの処理について説明する。まず、データ処理装置１の筐体に設けられた電源投入釦の押下等により、ＢＩＯＳの制御下にてデータ処理装置１の起動処理を実行する（ＳＴ２０１）。この起動処理については図４の説明にて後述する。そしてＯＳが起動されるとＯＳがＣＰＵ２を制御する。この起動処理の後、ＮＶＲＡＭ１４に設けられたエラーの有無を記録するためのフラグを“ＯＦＦ”にする（ＳＴ２０２）。このフラグは例えば変数であり、“ＯＮ”の場合には“１”を格納し、“ＯＦＦ”の場合には“０”を格納する。この後、通常のデータ処理を実行する通常処理に入り、各デバイスを使用する（ＳＴ２０３）。
【００２０】
この通常処理では各デバイスのエラー発生を監視する（ＳＴ２０４）。いずれかのデバイスにエラーが発生すると（ＳＴ２０４のＹＥＳ）、ＮＶＲＡＭ１４に記録されたフラグを“ＯＮ”にする（ＳＴ２０５）。
【００２１】
また、通常処理ではユーザからの終了指示を待機している（ＳＴ２０６）。ユーザからの終了指示を検知しなかった場合（ＳＴ２０６のＮＯ）、通常処理を続行する。ユーザからの終了指示を検知した場合（ＳＴ２０６のＹＥＳ）、データ処理装置１の終了処理を実行する（ＳＴ２０７）。
【００２２】
図４の流れ図により、ＣＰＵ２が起動処理（ＳＴ２０１）にて実行する処理の詳細を説明する。  
まず、ＮＶＲＡＭ１４に記録されたフラグを読取る（ＳＴ３０１）。そして、読取ったフラグの値を判断する（ＳＴ３０２）。フラグが“ＯＮ”である場合（ＳＴ３０２のＹＥＳ）、各デバイスに診断処理実行のコマンドを発行する（ＳＴ３０３）。このコマンドの発行を受けたデバイスは診断処理を行う。そしてこの診断処理の結果から、異常が発見されたデバイスの有無を判断する（ＳＴ３０４）。
【００２３】
いずれかのデバイスに異常が発見された場合（ＳＴ３０４のＹＥＳ）、ＳＴ１０３及び１０４の処理と同様のエラーメッセージ表示及び終了処理を行う（ＳＴ３０５及び３０６）。
【００２４】
各デバイスに異常が発見されなかった場合（ＳＴ３０４のＮＯ）、ＳＴ１０５〜ＳＴ１０７と同様の各デバイスの初期化、起動するドライブの決定、ＭＢＲに記録されたプログラムの実行を行う（ＳＴ３０７〜ＳＴ３０９）。この後、ＯＳが起動され、ＣＰＵ２の制御権がＢＩＯＳからＯＳへと移る。
【００２５】
ここで、ＮＶＲＡＭ１４から読取ったフラグが“ＯＦＦ”である場合（ＳＴ３０２のＮＯ）、診断処理実行のコマンドを発行しない。その後、ＳＴ３０７〜ＳＴ３０９の処理を実行する。
【００２６】
このように、前回稼動中におけるエラー発生の有無を反映して各デバイスの診断処理を実行するか否かを決定する。すなわち、前回稼動中に各デバイスにエラーが発生していない場合、次の起動に際して診断処理を行わない。こうして、診断処理を省くことにより、起動時間を短縮することができる。
【００２７】
［２］第２の実施形態について説明する。  
第２の実施形態では、起動から次の起動までの間に各デバイスに変更がないことを条件に、前記第１制御手段による診断を省いて起動を続行せしめる。
【００２８】
まず、図５の流れ図により、起動時から終了時までの処理について説明する。まず、データ処理装置１の筐体に設けられた電源投入釦の押下等により、ＢＩＯＳの制御下にてデータ処理装置１の起動処理を実行する（ＳＴ４０１）。この起動処理については図６の説明にて後述する。そしてＯＳが起動されるとＯＳがＣＰＵ２を制御する。この後、通常のデータ処理を実行する通常処理に入り、各デバイスを使用する（ＳＴ４０２）。
【００２９】
この通常処理では、ユーザからの終了指示を待機している（ＳＴ４０３）。ユーザからの終了指示を検知しなかった場合（ＳＴ４０３のＮＯ）、通常処理を続行する。ユーザからの終了指示を検知した場合（ＳＴ４０３のＹＥＳ）、各デバイスにロギングし、各デバイスの識別情報を取得する（ＳＴ４０４）。そして各デバイスから取得した識別情報を、ＮＶＲＡＭ１４に記録する（ＳＴ４０５）。その後、データ処理装置１の終了処理を実行する（ＳＴ４０６）。
【００３０】
図６の流れ図により、起動処理（ＳＴ４０１）の詳細について説明する。  
まず、各デバイスにロギングし、各デバイスの識別情報を取得する（ＳＴ５０１）。次に、ＳＴ４０５の処理にてＮＶＲＡＭ１４に記録した前回起動時における各デバイスの識別情報を読取る（ＳＴ５０２）。そして、ＳＴ５０１の処理にて取得した識別情報と、ＳＴ５０２の処理にて読取った識別情報とを比較する（ＳＴ５０３）。
【００３１】
ＳＴ５０１の処理にて取得した識別情報と、ＳＴ５０２の処理にて読取った識別情報が異なる場合（ＳＴ５０３のＹＥＳ）、前回起動時よりデバイスの変更があったものとみなし、各デバイスに診断処理実行のコマンドを発行する（ＳＴ５０４）。このコマンドの発行を受けた各デバイスは診断処理を行う。そしてこの診断処理の結果から、異常が発見されたデバイスの有無を判断する（ＳＴ５０５）。
【００３２】
いずれかのデバイスに異常が発見された場合（ＳＴ５０５のＹＥＳ）、ＳＴ１０３及び１０４の処理と同様のエラーメッセージ表示及び終了処理を行う（ＳＴ５０６及び５０７）。  
各デバイスに異常が発見されなかった場合（ＳＴ５０５のＮＯ）、ＳＴ１０５〜ＳＴ１０７と同様の各デバイスの初期化、起動するドライブの決定、ＭＢＲに記録されたプログラムの実行を行う（ＳＴ５０８〜ＳＴ５１０）。この後、ＯＳが起動され、ＣＰＵ２の制御権がＢＩＯＳからＯＳへと移る。
【００３３】
ここで、ＳＴ５０１の処理にて取得した識別情報と、ＳＴ５０２の処理にて読取った識別情報が同一である場合（ＳＴ５０３のＮＯ）、前回起動時よりデバイスの変更がなかったものとみなし、診断処理実行のコマンドを発行しない。その後、ＳＴ５０８〜ＳＴ５１０の処理を実行する。
【００３４】
このように、前回終了時の各デバイスの識別情報と、次回起動時の各デバイスの識別情報との比較により、次回起動に際しての診断処理を実行するか否かを決定する。すなわち、両デバイス構成が同一である場合、診断処理を行わない。こうして、診断処理を省くことにより、起動時間を短縮することができる。  
他の構成、作用、効果は第１の実施形態と同じである。よって、その説明は省略する。
【００３５】
［３］第３の実施形態について説明する。  
第３の実施形態では、動作停止から起動までの時間が一定時間未満であることを条件に、前記第１制御手段による診断を省いて起動を続行せしめる。
【００３６】
まず、図７の流れ図により、起動時から終了時までの処理について説明する。まず、データ処理装置１の筐体に設けられた電源投入釦の押下等により、ＢＩＯＳの制御下にてデータ処理装置１の起動処理を実行する（ＳＴ６０１）。この起動処理については図８の説明にて後述する。そしてＯＳが起動されるとＯＳがＣＰＵ２を制御する。この後、通常のデータ処理を実行する通常処理に入り、各デバイスを使用する（ＳＴ６０２）。
【００３７】
この通常処理では、ユーザからの終了指示を待機している（ＳＴ６０３）。ユーザからの終了指示を検知しなかった場合（ＳＴ６０３のＮＯ）、通常処理を続行する。ユーザからの終了指示を検知した場合（ＳＴ６０３のＹＥＳ）、ＲＴＣ１３にロギングし、現在時刻を取得する（ＳＴ６０４）。そしてＲＴＣ１３より取得した現在時刻をＮＶＲＡＭ１４に記録する（ＳＴ６０５）。その後、データ処理装置１の終了処理を実行する（ＳＴ６０６）。
【００３８】
図８の流れ図により、起動処理（ＳＴ６０１）の詳細について説明する。  
まず、現在時刻をＲＴＣ１３から取得する（ＳＴ７０１）。そして、ＳＴ６０５の処理にてＮＶＲＡＭ１４に記録した前回終了時刻を読取る（ＳＴ７０２）。次に、現在時刻の前回終了時刻からの経過時間Ｔ２を算出し、特定時間Ｔ１を経過しているかどうかを判断する（ＳＴ７０３）。この特定時間Ｔ１は、予めユーザが定め、ＮＶＲＡＭ１４に記録しておく。
【００３９】
特定時間Ｔ１＜経過時間Ｔ２である場合（ＳＴ７０３のＹＥＳ）、各デバイスの診断処理実行のコマンドを発行する（ＳＴ７０４）。このコマンドの発行を受けたデバイスは診断処理を行う。そしてこの診断処理の結果から、異常が発見されたデバイスの有無を判断する（ＳＴ７０５）。
【００４０】
いずれかのデバイスに異常が発見された場合（ＳＴ７０５のＹＥＳ）、ＳＴ１０３及び１０４の処理と同様のエラーメッセージ表示及び終了処理を行う（ＳＴ７０６及びＳＴ７０７）。  
各デバイスに異常が発見されなかった場合（ＳＴ７０５のＮＯ）、ＳＴ１０５〜ＳＴ１０７と同様の各デバイスの初期化、起動するドライブの決定、ＭＢＲに記録されたプログラムの実行を行う（ＳＴ７０８〜ＳＴ７１０）。この後、ＯＳが起動され、ＣＰＵ２の制御権がＢＩＯＳからＯＳへと移る。  
ここで、特定時間Ｔ１＞経過時間Ｔ２である場合（ＳＴ７０３のＮＯ）、各デバイスに診断処理実行のコマンドを発行しない。その後、ＳＴ７０８〜ＳＴ７１０の処理を実行する。
【００４１】
このように、前回終了時から今回起動までの経過時間Ｔ２を算出し、この経過時間Ｔ２が予めＮＶＲＡＭ１４に記録した特定時間Ｔ１未満であれば、診断処理を行わない。こうして、診断処理を省くことにより、起動時間を短縮することができる。  
他の構成、作用、効果は第１の実施形態と同じである。よって、その説明は省略する。
【００４２】
［４］変形例  
なお、第１の実施形態ではＮＶＲＡＭ１４に一つのフラグを設け、各デバイスにエラーが発生した際にフラグを変化させるとしたが、ＳＴ３０３の処理にてデバイス診断を行う全てのデバイスについてフラグを用意し、各デバイスごとにエラー発生の有無を記録してもよい。この場合、ＳＴ３０２の処理にて全てのフラグを検査し、エラー発生の記録があるフラグに対応するデバイスにのみＳＴ３０３の処理にて診断処理実行のコマンドを発行する。  
また、第２の実施形態でも同様に、前回終了時からデバイスの変更があった場合に、変更のあったデバイスのみの診断を行うものとしてもよい。
【００４３】
この他、上記各実施形態に開示されている複数の構成要素の適宜な組合せにより種々の発明を形成できる。例えば、各実施形態に示される全体構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態に亘る構成要素を組合せてもよい。
本願の出願当初の特許請求の範囲に記載された各発明を、以下に付記する。
［１］起動に際し当該装置のデバイスを診断し、異常なしの場合に起動を続行する第１制御手段と、所定の条件に基づき、前記第１制御手段による診断を省いて起動を続行せしめる第２制御手段と、を備えていることを特徴とするデータ処理装置。
［２］前記第２制御手段は、起動から次の起動までの間に前記デバイスに異常がないことを条件に、前記第１制御手段による診断を省いて起動を続行せしめる、ことを特徴とする上記［１］に記載のデータ処理装置。
［３］前記第２制御手段は、起動から次の起動までの間に前記デバイスに変更がないことを条件に、前記第１制御手段による診断を省いて起動を続行せしめる、ことを特徴とする上記［１］に記載のデータ処理装置。
［４］前記第２制御手段は、動作停止から起動までの時間が一定時間未満であることを条件に、前記第１制御手段による診断を省いて起動を続行せしめる、ことを特徴とする上記［１］に記載のデータ処理装置。
【図面の簡単な説明】
【００４４】
【図１】本発明の各実施形態におけるデータ処理装置の要部構成を示すブロック図。
【図２】同データ処理装置の基本的な起動処理を示す流れ図。
【図３】本発明の第１の実施形態におけるデータ処理装置の基本的な動作を示す流れ図。
【図４】本発明の第１の実施形態におけるデータ処理装置の起動処理の詳細を示す流れ図。
【図５】本発明の第２の実施形態におけるデータ処理装置の基本的な動作を示す流れ図。
【図６】本発明の第２の実施形態におけるデータ処理装置の起動処理の詳細を示す流れ図。
【図７】本発明の第３の実施形態におけるデータ処理装置の基本的な動作を示す流れ図。
【図８】本発明の第３の実施形態におけるデータ処理装置の起動処理の詳細を示す流れ図。
【符号の説明】
【００４５】
１…データ処理装置、２…ＣＰＵ、３…チップセット、４…メインメモリ、５…画像処理カード、６…ＰＣＩスロット、７…ＢＩＯＳ−ＲＯＭ、８…バスライン、９…ノースブリッジ、１０…サウスブリッジ、１１…ディスプレイ、１２…ハードディスク、１３…ＲＴＣ、１４…ＮＶＲＡＭ、１５…キーボードコントローラ、１６…キーボード、１７…マウス、７１…ＰＯＳＴ、７２…ＢＩＯＳドライバ、７３…ＶＧＡドライバ
【図１】
0004871806.tif 000002
【図２】
0004871806.tif 000003
【図３】
0004871806.tif 000004
【図４】
0004871806.tif 000005
【図５】
0004871806.tif 000006
【図６】
0004871806.tif 000007
【図７】
0004871806.tif 000008
【図８】
0004871806.tif 000009