(57)【要約】【課題】ブートプログラムが保存されている記憶手段を切り換えて情報処理装置を起動させることができるようにする。【解決手段】ブートプログラムを記憶した複数の記憶手段（ＲＯＭ３，４）を有し、当該ＲＯＭ３，４のブートプログラムに基づいて起動されるコンピュータシステム１００であって、前記ＲＯＭ３，４の１つから起動および再起動を実行する起動手段（マイコン５：Ｓ１０１）と、前記起動手段による起動完了および起動失敗を検出する検出手段（マイコン５：Ｓ１０３，Ｓ１０５）と、前記検出手段による前記起動失敗の検出後に前記ＲＯＭを切り換える制御手段（マイコン５：Ｓ１０４）と、を備えているので、制御手段（マイコン５）がブートプログラムが保存されているＲＯＭ３，４を切り換え、正常に立ち上げることができる。【選択図】図３
2017102887.tif 000002
【特許請求の範囲】
【請求項１】
ブートプログラムを記憶した複数の記憶手段を有する情報処理装置であって、
前記複数の記憶手段の１つから前記ブートプログラムを読み出して前記情報処理装置の起動および再起動を実行する起動手段と、
前記起動手段による起動完了および起動失敗を検出する検出手段と、
前記検出手段が起動失敗を検出したとき、前記ブートプログラムを読み出す記憶手段を前記１つの記憶手段から他の記憶手段に切り換える制御手段と、
を備えた情報処理装置。
【請求項２】
請求項１に記載の情報処理装置であって、
前記切り換えが前記制御手段からの前記記憶手段への選択信号に基づいて行われる情報処理装置。
【請求項３】
請求項１に記載の情報処理装置であって、
前記複数の記憶手段からの入力信号を１つの信号として出力する信号選択手段をさらに備え、
前記切り換えが前記制御手段からの前記信号選択手段への選択信号に基づいて行われる情報処理装置。
【請求項４】
請求項１ないし３のいずれか１項に記載の情報処理装置であって、
前記情報処理装置の各部を制御する中央処理装置をさらに備え、
前記検出手段が、起動処理後の前記中央処理装置の出力から前記起動完了および前記起動失敗を検出する手段を含む情報処理装置。
【請求項５】
請求項１または２に記載の情報処理装置であって、
前記情報処理装置の各部を制御する中央処理装置をさらに備え、
前記中央処理装置は、前記検出手段が前記記憶手段からの起動失敗を検出したとき、起動完了した前記記憶手段から前記ブートプログラムを読み出し、起動失敗した前記記憶手段に書き込む手段を含む情報処理装置。
【請求項６】
請求項３に記載の情報処理装置であって、
前記検出手段が前記記憶手段の起動失敗を検出したとき、前記制御手段は起動に失敗した前記記憶手段と当該失敗した情報を記憶する手段を含む情報処理装置。
【請求項７】
請求項６に記載の情報処理装置であって、
前記情報処理装置の各部を制御する中央処理装置をさらに備え、
前記制御手段は起動失敗後に再起動する際、前記中央処理装置を起動する前に前記信号選択手段を制御し、起動に失敗した前記記憶手段以外の前記記憶手段を選択する情報処理装置。
【請求項８】
請求項１ないし７のいずれか１項に記載の情報処理装置であって、
前記制御手段が、前記記憶手段の全てからの起動に失敗した場合は、失敗したことを外部へ通知する手段を含む情報処理装置。
【請求項９】
ブートプログラムを記憶した複数の記憶手段を有する情報処理装置を制御手段が前記記憶手段から起動する起動方法であって、
前記記憶手段の１つから起動および再起動を実行する第１の工程と、
前記第１の工程における起動完了および起動失敗を検出する第２の工程と、
前記第２の工程における前記起動失敗の検出後に前記記憶手段を切り換える第３の工程と、
を備えた起動方法。
【請求項１０】
コンピュータに、
ブートプログラムを記憶した複数の記憶手段の１つから情報処理装置の起動および再起動を実行する第１の手順と、
前記第１の手順における起動完了および起動失敗を検出する第２の手順と、
前記第２の手順における前記起動失敗の検出後に前記記憶手段を切り換える第３の手順と、
を実行させるための起動プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、起動方法および起動プログラムに関する。
【背景技術】
【０００２】
コンピュータなどの情報処理システムなどにおいては、起動信号の発生に応答して、ブートデバイスからオペレーションシステムを起動するように構成されている。ブートデバイスが壊れた場合、オペレーティングシステムを起動できなくなる。特に、画像形成装置に搭載されるコンピュータでブートデバイスが壊れると、ユーザーの業務効率を著しく低下させる。
【０００３】
そこで、例えば、特開２００２−２５９１３０号公報（特許文献１）には、マザーボード管理コントローラにブートデバイス切り換え制御部を設け、ブートデバイス切り換え制御部が、ブートデバイス切り換え信号によって２台のディスク装置のマスタとスレーブの関係を自動的に切り換える技術が開示されている。この技術では、この構成により、２台のディスク装置間でオペレーティングシステムを起動すべきブートデバイスを選択的に切り換えることができる。ブートデバイスの切れ換え制御は、例えば、ＯＳ起動信号の発生からの経過時間をタイマで計時し、所定の経過時間内にＯＳブート完了が検出されたか否かに基づいて行われるようになっている。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
前記公知技術のようなブートデバイスの切り換え制御を行う構成では、ブートデバイスに対してマスタとスレーブの制御を行っているに過ぎない。すなわち、前記公知技術では、ブートデバイスにコントローラが搭載されていることを利用し、ブートデバイス自身にマスタであるか、スレーブであるかを認識させ、ブートデバイスのオン・オフを決める構成となっている。このように、ブートデバイス自身にオン・オフを決めさせる場合、ブートデバイスにコントローラが搭載されていることが必須となる。
【０００５】
しかし、ＢＩＯＳ（Basic Input/Output System）プログラム（ブートプログラム）を保存する記憶手段、例えばＲＯＭ（Read Only Memory）には、コントローラが搭載されておらず、ＲＯＭ自身でＲＯＭの切り換えを制御することはできなかった。
【０００６】
そこで、本発明が解決しようとする課題は、ブートプログラムが保存されている記憶手段を切り換えて情報処理装置を起動させることができるようにすることにある。
【課題を解決するための手段】
【０００７】
前記課題を解決するため、本発明の一態様は、ブートプログラムを記憶した複数の記憶手段を有し、当該記憶手段のブートプログラムに基づいて起動される情報処理装置であって、前記記憶手段の１つから起動および再起動を実行する起動手段と、前記起動手段による起動完了および起動失敗を検出する検出手段と、前記検出手段が起動失敗を検出したとき、前記ブートプログラムを読み出す記憶手段を前記１つの記憶手段から他の記憶手段に切り換える制御手段と、を備えた情報処理装置を特徴とする。
【発明の効果】
【０００８】
本発明の一態様によれば、ブートプログラムが保存されている記憶手段を切り換えて情報処理装置を起動させることができる。なお、前記以外の課題、構成および効果は、以下の実施形態の説明において明らかにされる。
【図面の簡単な説明】
【０００９】
【図１】本発明の実施形態における実施例１のＲＯＭ切り換え制御の制御構成を示すブロック図である。
【図２】画像形成装置に搭載されるコンピュータシステムの概略構成を示すブロック図である。
【図３】図２に示したコンピュータシステムにおけるシステム起動時の制御手順を示すフローチャートである。
【図４】図２に示したコンピュータシステムにおけるシステム起動時の実施例２の制御手順を示すフローチャートである。
【図５】実施例３に係るコンピュータシステムのシステム構成の概略を示すブロック図である。
【図６】実施例３に係るコンピュータシステムの制御手順を示すフローチャートである。
【図７】実施例４に係るＲＯＭ切り換え制御の制御構成を示すブロック図である。
【図８】実施例４における画像処理装置に搭載されるコンピュータシステムの概略構成を示すブロック図である。
【図９】図８に示したコンピュータシステムにおけるシステム起動時の制御手順を示すフローチャートである。
【図１０】参考例に係るブートデバイスからオペレーションシステムを起動する際の構成を示すブロック図である。
【図１１】ブートデバイスにコントローラが搭載されている参考例を示すブロック図である。
【発明を実施するための形態】
【００１０】
以下、図面を参照し、本発明の実施形態について詳細に説明する。
【００１１】
本発明の実施形態について説明する前に、背景技術で述べた前提となる構成を参考例として説明する。
【００１２】
図１０は参考例に係るブートデバイスからオペレーションシステムを起動する際の構成を示すブロック図である。図１０（ａ）は、ブートデバイスが１つの場合の例、図１０（ｂ）は２つの場合の例である。
【００１３】
図１０（ａ）は、ＣＰＵ（Central Processing Unit）１と１つのブートデバイス２からオペレーションシステムを起動する例である。システム起動時にはＣＰＵ１がブートデバイス２からＢＩＯＳ（Basic Input/Output System）プログラムを読み込む。図１０（ｂ）は、ＣＰＵ１と、２つのブートデバイス＿Ａ３およびブートデバイス＿Ｂ４とからオペレーションシステムを起動する例である。システム起動時は、ＣＰＵ１はブートデバイス＿Ａ３と接続し、ブートデバイス＿Ｂ４とは接続していない（図１０内の点線（１））。この構成では、ブートデバイス＿Ａ３でシステムの起動に失敗した場合、接続をブートデバイス＿Ａ３からブートデバイス＿Ｂ４に切り換える（図１０内の点線（２））。
【００１４】
このようなブートデバイスの切り換え制御を行う構成として、例えば図１１に示す例がある。図１１はブートデバイスにコントローラが搭載されている例を示すブロック図である。この例では、ＣＰＵ１、ブートデバイス＿Ａ３，ブートデバイス＿Ｂ４および切り換え制御部１３を備えたもので、ブートデバイスとしてはＨＤＤ（Hard Disc Drive）＿ＡとＢが使用されている。そして、ブートデバイス＿Ａ３とブートデバイス＿Ｂ４にはそれぞれコントローラ３ａ，４ａが搭載されている。このようにコントローラ３ａ，４ａを搭載した場合、コントローラ３ａ，４ａを利用し、ブートデバイス＿Ａ３およびブートデバイス＿Ｂ４自身にマスタであるか、スレーブであるかを認識させ、ブートデバイスのオン／オフを決めることができる。
【００１５】
ブートデバイス自身にオン／オフを決めさせる場合、ブートデバイスにコントローラが搭載されていることが必須となる。ＢＩＯＳプログラムを保存する記憶手段にコントローラが搭載されていない場合には、自身でオン／オフを決定できないので、記憶手段を切り換えることはできない。例えばブートデバイスとして使用されるＲＯＭには、コントローラが搭載されておらず、当然、ＲＯＭ切り換えを制御することはできない。
【実施例１】
【００１６】
そこで、本実施形態の実施例１では、以下のように構成した。
【００１７】
図１は、実施例１に係るＲＯＭ切り換え制御の制御構成を示すブロック図である。同図において、本実施形態に係るＲＯＭ切り換え制御の制御構成は、ＣＰＵ１、ブートデバイス＿Ａ（ＲＯＭ＿Ａ）３、ブートデバイス＿Ｂ（ＲＯＭ＿Ｂ）４およびマイコン５から構成されている。以下、ブートデバイスはＲＯＭとして表記する。ＣＰＵ１とＲＯＭ＿Ａ３およびＲＯＭ＿Ｂ４は並列に接続され、マイコン５とＲＯＭ＿Ａ３およびＲＯＭ＿Ｂ４も並列に接続されている。ＣＰＵ１からＣＳ（チップセレクト）信号がマイコン５へ接続され、マイコン５からＲＯＭ＿Ａ３とＲＯＭ＿Ｂ４へはそれぞれＣＳ信号が接続されている。システム起動時は、マイコン５がＣＳ＿Ａ信号をＲＯＭ＿Ａ３に出力する。ＢＩＯＳ起動に失敗した場合、マイコン５はＣＳ＿Ａ信号の出力を止め、ＲＯＭ＿Ｂ４にＣＳ＿Ｂ信号を出力する。また、Ｃｌｋ信号およびＤａｔａ信号がＲＯＭ＿Ａ３およびＲＯＭ＿Ｂ４に並列に接続されている。なお、本実施形態では、ＲＯＭが記憶手段に対応する。
【００１８】
図２は画像形成装置に搭載されるコンピュータシステムの概略構成を示すブロック図である。
【００１９】
情報処理装置としてのコンピュータシステム１００は、ＣＰＵ１、ＲＯＭ＿Ａ３、ＲＯＭ＿Ｂ４、マイコン５、ＡＳＩＣ（Application Specific Integrated Circuit）６、メモリ７、操作パネル８、ＬＥＤ（Light Emitted Diode）９およびＨＤＤ１０を備えている。ＣＰＵ１、ＲＯＭ＿Ａ３、ＲＯＭ＿Ｂ４およびマイコン５は図３に示した構成である。
【００２０】
ＡＳＩＣ６とＣＰＵ１、メモリ７とＣＰＵ１、マイコン５とＡＳＩＣ６、ＨＤＤ１０とＡＳＩＣ６は、それぞれ双方向に信号の送受が可能に接続され、操作パネル８は、ＣＰＵ１、マイコン５、ＡＳＩＣ６と接続され、ユーザインターフェイスとして機能する。ＬＥＤ９はＣＰＵ１からの制御信号に基づいて点灯され、マイコン５には７セグメントＬＥＤ１１が接続されている。
【００２１】
このコンピュータシステム１００では、ＲＯＭからなるＲＯＭ＿Ａ３あるいはＲＯＭ＿Ｂ４でブートが失敗した場合は、ブートエラーを通知する。通知箇所は、通常、操作パネル８である。しかし、本実施例では、ＬＥＤ９あるいは７セグメントＬＥＤ１１を搭載しているので、より簡単な制御でエラー通知が可能となる。本コンピュータシステム１００では、マイコン５がシステムの起動と再起動、システムの起動完了と起動失敗の検出、ＲＯＭ切り換えの制御、システムの起動失敗時のエラー通知等、の各機能を持っている。
【００２２】
ＢＩＯＳブート中の処理は複数のステップからなる。ＰＯＳＴ  ＣＯＤＥは、ＢＩＯＳブート中やそれ以降など、ＣＰＵ１の処理ステップがどのステップにあるかを示すものである。本実施例では、８ビットの信号（０or１）を出力している。すなわち、８つのＬＥＤで表示している。
【００２３】
図３は、図２に示したコンピュータシステムにおけるシステム起動時の制御手順を示すフローチャートである。
【００２４】
画像形成装置において、ユーザーが主電源スイッチを押すと、システムが順次起動される。ＢＩＯＳブートは、そのうちの最も初期的なシステム起動である。初回時は、ＲＯＭ＿Ａ３のＢＩＯＳプログラムを読み込みブートする（ステップ１０１：以下、ステップを単にＳと記す）。そして、一定時間経過したらマイコン５がＰＯＳＴ  ＣＯＤＥを確認して（Ｓ１０２）、ＢＩＯＳブートが完了しているか否かを判断する（Ｓ１０３）。この判断では、ＢＩＯＳブートより後の出力がでていればＢＩＯＳ起動完了と判断する（Ｓ１０３：Ｙｅｓ）。
【００２５】
確認方法は、例えば１ｍｓ周期でマイコン５が出力を見て、３回同じ出力であるかを見るポーリング方式がとられる。ポーリング方式以外でも、マイコン５が待機状態にあり、ＢＩＯＳブートより後の出力が入力してきたら、ＢＩＯＳ起動完了と判断する割り込み方式もある。いずれの方式を選択しても良く、その選択は設計事項である。
【００２６】
Ｓ１０３でＢＩＯＳ起動完了と判断された場合は、この制御は終了し、ＣＰＵ１が各デバイスの初期化を行い、メモリ７やＨＤＤ１０を使用できる状態にして次の処理に移行する。ここでいう次の処理は通常シーケンスであり、ブート処理ではないので、説明は割愛する。
【００２７】
一方、Ｓ１０３でＢＩＯＳ起動失敗している場合は、マイコン５がＣＳ＿Ａ信号の出力を止めて、ＣＳ＿Ｂ信号を出力するように制御する（Ｓ１０４）。そして、マイコン５がシステム全体を再起動する（Ｓ１０５）。再起動時は、ＲＯＭ＿Ｂ４のＢＩＯＳプログラムを読み込み、ブートする（Ｓ１０６）。初回時と同様に、ブートが完了しているか判断する（Ｓ１０７）。起動完了の場合（Ｓ１０８：Ｙｅｓ）は、この処理手順を終了する。起動失敗の場合は（Ｓ１０８：Ｎｏ）、ＢＩＯＳブートエラーを操作パネル８へ表示し（Ｓ１０９）、処理を終える。
【００２８】
なお、Ｓ１０３およびＳ１０８でＢＩＯＳブートが完了したか否かはマイコン５の図示しないメモリに記憶される。そのため、Ｓ１０９のエラー表示は、このメモリに記憶された内容に基づいて行うこともできる。
【００２９】
また、図３のフローチャートに記載した制御手順はマイコン５にダウンロードされ、実行される。
【実施例２】
【００３０】
図４は、図２に示したコンピュータシステムにおけるシステム起動時の実施例２の制御手順を示すフローチャートである。この制御手順は、図４において鎖線で囲んで示すように、図３におけるＳ１０２と１０３の処理順序と、Ｓ１０７とＳ１０８の処理順序を入れ換えた例である。図３の例では、一定時間後に、マイコン５がＰＯＳＴ  ＣＯＤＥを確認し（Ｓ１０２）、その後、ＢＩＯＳブートは完了したかをチェック（Ｓ１０３）していた。これに対し、図４の例では、一定時間待つことなく、すぐにＰＯＳＴ  ＣＯＤＥを確認し始め、一定時間この処理を繰り返す、というものである。
【００３１】
すなわち、図４において、まず、マイコン５がＲＯＭ＿Ａ３のＢＩＯＳプログラムを読み込んでブートし、ＰＯＳＴ  ＣＯＤＥを確認する（Ｓ２０１）。そしてＢＩＯＳブートが完了しているか否かを判断する（Ｓ２０２）。完了していれば（Ｓ２０２：Ｙｅｓ）そのままこの制御から抜ける。完了していなければ（Ｓ２０２：Ｎｏ）、マイコン５がＰＯＳＴ  ＤＯＤＥを確認してからの経過時間を判断する（Ｓ２０３）。
【００３２】
この判断で前記経過時間が予め設定した時間ｔ（Ｓ１０２の一定時間に対応）以上になるまで、Ｓ２０１から処理を繰り返す（Ｓ２０３：Ｎｏ→Ｓ２０１）。そして、当該時間ｔを経過した時点で、マイコン５がＣＳ＿Ａ信号の出力を止めて、ＣＳ＿Ｂ信号を出力するように制御する（Ｓ２０４）。そして、マイコン５がシステム全体を再起動する（Ｓ２０５）。再起動時は、ＲＯＭ＿Ｂ４のＢＩＯＳプログラムを読み込み、ブートする（Ｓ２０６）。
【００３３】
次いで、マイコン５はＰＯＳＴ  ＣＯＤＥを確認し（Ｓ２０７）、ＢＩＯＳブートが完了しているか否かを判断する（Ｓ２０８）。完了していれば、そのままこの制御から抜け、完了していなければ、前記時間ｔ経過しているか否かを判断する（Ｓ２０９）。そして、時間ｔが経過した時点でまだＢＩＯＳブートが完了していなければ（Ｓ２０８：Ｎｏ）、マイコン５が操作パネル８にＢＩＯＳブートエラーを表示して（Ｓ２１０）、この制御を終了する。
【００３４】
このように図３とは異なる処理手順で処理してもブートデバイス（ＲＯＭ）を切り換えることができる。
【００３５】
なお、図４のフローチャートに記載した制御手順はマイコン５にダウンロードされ、実行される。
【実施例３】
【００３６】
図５はＢＩＯＳプログラム修復機能を有する画像形成装置に搭載されるコンピュータシステムのシステム構成の概略を示すブロック図である。実施例３に係るコンピュータシステム１０１は、実施例１のコンピュータシステム１００に対してＣＰＵ１とマイコン５との間に図において点線で示す新たな通信路１２を設け、この通信路１２を介してＢＩＯＳプログラムを修復できるようにした例である。この例では、図２に示した７セグメントＬＥＤ１１を省略している。また、前記通信路１２以外は、同一の構成なので、各部についての説明は省略する。
【００３７】
図６は、実施例３に係るコンピュータシステムの制御手順を示すフローチャートである。この制御手順は、ＢＩＯＳプログラムの破損が原因でブート失敗した場合を対象とする。ＲＯＭそのものが物理的に破損している場合は、データ修復できない可能性が高いため、本実施例３の対象外である。
【００３８】
図６のフローチャートのスタートは、ＲＯＭ＿Ａ３でブートに失敗し、その後、ＲＯＭ＿Ｂ４でブートが成功した状態である。この状態から処理が開始される。処理は、ＣＰＵ１がシステム全体を起動する（Ｓ３０１）ことから始まる。システム全体の起動が完了すると、ＣＰＵ１はＲＯＭ＿Ｂ４のデータをメモリ７にコピーし（Ｓ３０２）、コピーが完了すると、ＣＰＵ１はマイコン５にコピーが完了した旨、通知する（Ｓ３０３）。
【００３９】
コピー完了の通知を受けたマイコン５は、ＣＳ＿Ｂ信号の出力を止め、ＣＳ＿Ａ信号を出力する（Ｓ３０４）。次いで、マイコン５はＣＰＵ１に対してＣＳ出力の変更を通知する（Ｓ３０５）。そして、ＣＰＵ１はメモリ７にコピーしておいたＲＯＭ＿Ｂ４のデータをＲＯＭ＿Ａに書き込み（Ｓ３０６）、書き込みが完了した（Ｓ３０７）時点で、この制御手順を終える。
【００４０】
このようにＲＯＭ＿Ａ３のデータが破損した場合でも、ＲＯＭ＿Ｂ４からデータをメモリ７に取り込み、ＲＯＭ＿Ａ３に書き込むことにより、ＲＯＭ＿Ａ３のデータ修復が可能になり、次回からＲＯＭ＿Ａ３からＢＩＯＳプログラムによるブートが可能になる。
【００４１】
なお、図６のフローチャートに示した制御手順は、ＣＰＵ１およびマイコン５にダウンロードされ、実行される。
【実施例４】
【００４２】
実施例１ないし３では、ブートプログラムが保存されているブートデバイス（ＲＯＭ＿Ａ，Ｂ）を切り換えてＣＰＵ１を起動させ、システムの信頼性を高めている。ブートデバイス（ＲＯＭ＿Ａ，Ｂ）の切り換えは、ブートデバイスであるＲＯＭ＿Ａ３、ＲＯＭ＿Ｂ４の動作がＣＳ信号によって制御されていることを利用する。この切り換えでは、ＣＰＵ１からのＣＳ信号をマイコン５が受け、マイコン５が２つのＲＯＭ＿Ａ３、ＲＯＭ＿Ｂ４へ出力する。これにより、ＲＯＭ＿Ａ３およびＲＯＭ＿Ｂ４のオン・オフが設定され、ＲＯＭ＿Ａ３とＲＯＭ＿Ｂ４が切り換えられる。
【００４３】
このように実施例１ないし３では、ブートデバイスであるＲＯＭ＿Ａ３およびＲＯＭ＿Ｂ４に対してＣＳ信号のみをマイコン（切り換え制御部）５で制御していた。ＣＳ信号はマイコン（切り換え制御部）５を介して接続すると、スタブ（枝分かれした信号線）が発生しない。しかし、ＣＳ信号以外の信号、例えばＣｌｋ信号やＤａｔａ信号は、図１から分かるように単純に分岐してＲＯＭ＿Ａ３およびＲＯＭ＿Ｂ４へ接続しているため、スタブが原因となり、ブートデバイスとの通信品質が悪くなっていた。
【００４４】
そこで、本実施例は、ＲＯＭ＿Ａ３およびＲＯＭ＿Ｂ４を切り換えるに際し、ＲＯＭ＿Ａ３およびＲＯＭ＿Ｂ４との通信品質の悪化を防ぐ構成とした。すなわち、本実施例では、通信品質の悪化を防ぐため、ＣＰＵ１から出力されるＣＳ信号、Ｃｌｋ信号およびＤａｔａ信号をＭＵＸ（マルチプレクサ）へ入力する。その後、ＭＵＸからＲＯＭ＿Ａ３およびＲＯＭ＿Ｂ４へそれぞれＣＳ信号、Ｃｌｋ信号およびＤａｔａ信号を出力する構成とした。具体的には、オペレーティングシステム（ＢＩＯＳ）の起動時に、マイコン５が起動失敗を検知した場合、マイコン５がシステムを再起動する。そして、再びオペレーティングシステム（ＢＩＯＳ）が起動する前に、通常のブートデバイスへのＣＳ信号、Ｃｌｋ信号およびＤａｔａ信号の出力を止める。次いで、リカバリ用のブートデバイスへＣＳ信号、Ｃｌｋ信号、Ｄａｔａ信号を出力する、というようにマイコン５がＭＵＸを制御するようにした。
【００４５】
図７は、実施例４に係るＲＯＭ切り換え制御の制御構成を示すブロック図である。同図において、本実施形態に係るＲＯＭ切り換え制御の制御構成は、ＣＰＵ１、ＲＯＭ＿Ａ３、ＲＯＭ＿Ｂ４、マイコン５およびＭＵＸ（マルチプレクサ）１３から構成されている。同図からわかるように、ＣＰＵ１からＣＳ信号、Ｃｌｋ信号およびＤａｔａ信号がＭＵＸ１４へ接続している。ＭＵＸ１４からは、ＲＯＭ＿Ａ３およびＲＯＭ＿Ｂ４に対して、それぞれＣＳ＿Ａ，Ｂ信号、Ｃｌｋ＿Ａ，Ｂ信号およびＤａｔａ＿Ａ，Ｂ信号を出力している。マイコン（切り換え制御部）５はＣｏｎｔｒｏｌ信号によってＭＵＸ１４を制御する。本実施例では、ＲＯＭ＿Ａ３およびＲＯＭ＿Ｂ４のどちらに対して信号を出力するかを制御する。
【００４６】
図７の制御構成では、ＭＵＸ１４は、システム起動時にＲＯＭ＿Ａ３に対してＣＳ＿Ａ信号、Ｃｌｋ＿Ａ信号およびＤａｔａ＿Ａ信号を出力している。ＢＩＯＳ起動の失敗は、マイコン５が検知する。ＢＩＯＳ起動に失敗した場合、マイコン５はＭＵＸ１４を制御し、ＣＳ＿Ａ信号、Ｃｌｋ＿Ａ信号およびＤａｔａ＿Ａ信号の出力を止める。そして、マイコン５は、ＣＳ＿Ｂ信号、Ｃｌｋ＿Ｂ信号およびＤａｔａ＿Ｂ信号BをＲＯＭ＿Ｂ４に出力するようにＭＵＸ１４を制御する。
【００４７】
図８は、実施例４における画像処理装置に搭載されるコンピュータシステムの概略構成を示すブロック図である。
【００４８】
情報処理装置としてのコンピュータシステム１０２は、ＣＰＵ１、ＲＯＭ＿Ａ３、ＲＯＭ＿Ｂ４、マイコン５、ＡＳＩＣ６、メモリ７、操作パネル８、ＬＥＤ９、ＨＤＤ１０  ＭＵＸ１４およびスイッチ（ＳＷ）１５を備えている。ＣＰＵ１、ＲＯＭ＿Ａ３、ＲＯＭ＿Ｂ４、マイコン５およびＭＵＸ１４は図７に示した構成である。ブートデバイスであるＲＯＭはＲＯＭ＿Ａ３とＲＯＭ＿Ｂ４の２つ搭載し、初回起動時はＲＯＭ＿Ａ３でブートが開始される。
【００４９】
ＡＳＩＣ６とＣＰＵ１、メモリ７とＣＰＵ１、マイコン５とＡＳＩＣ６、ＨＤＤ１０とＡＳＩＣ６は、それぞれ双方向に信号の送受が可能に接続され、操作パネル８は、ＣＰＵ１、マイコン５、ＡＳＩＣ６と接続されユーザインターフェイスとして機能する。ＬＥＤ９はＣＰＵ１からの制御信号に基づいて点灯され、マイコン５には７セグメントＬＥＤ１１が接続されている。これらの構成は、実施例１と同様である。
【００５０】
操作パネル８は、当該操作パネル８内にＣＰＵを備えている。コンピュータシステム１０２内でＢＩＯＳブートに限らずエラーが発生している場合、ＣＰＵ１と操作パネル８内のＣＰＵの通信が確立できなくなる。そこで、このように通信が確立できなくなった場合、操作パネル８は、マイコン５に対してエラー発生を通知する。コンピュータシステム１０２の起動時に起動失敗した場合は、操作パネル８からマイコン５にエラー発生の通知があったタイミングが起動失敗の検出タイミングとなる。
【００５１】
マイコン５は、コンピュータシステム１０２の起動および再起動、コンピュータシステム１０２の起動完了および起動失敗の検出、ブートデバイスであるＲＯＭ＿Ａ３、ＲＯＭ＿Ｂ４の切り換え制御、コンピュータシステム１０２の起動失敗時のエラー通知を行う。マイコン５は、前記コンピュータシステム１０２の起動完了および起動失敗の検出、ＲＯＭ＿Ａ３、ＲＯＭ＿Ｂ４の切り換え制御、コンピュータシステム１０２の起動失敗時のエラー通知の各機能については、オフすることができる。これらの機能のオフは、マイコン５の外部からスイッチ１５を使用して制御する。すなわち、スイッチ制御でオン・オフすることができる。なお、スイッチ１５は、コストダウンなどを目的としてＲＯＭを１つのみ搭載する場合に使用する。
【００５２】
コンピュータシステム１０２の起動完了および起動失敗の検出は、ＢＩＯＳブートが完了状態となったか否かで判断される。ＢＩＯＳブート完了状態かどうかは、マイコン５がＣＰＵ１のＧＰＩＯ（汎用入出力）ポートから判断する。この場合、例えば、ブート後にＧＰＩＯポートとマイコン５との間の通信が確立しているかどうかで判断する。本実施例では、1ビットの信号（０or１）を用いている。また、ＣＰＵ１の汎用入出力ポートとして、実施例１（図２）に示したＰＯＳＴ  ＣＯＤＥを使用することもできる。ＢＩＯＳブート中の処理は複数ステップあり、ＰＯＳＴ  ＣＯＤＥは、ＢＩＯＳブート中、およびそれ以降など、ＣＰＵ１の処理ステップがどのステップにあるかを示すものである。
【００５３】
ブートデバイスである２つのＲＯＭ＿Ａ３、ＲＯＭ＿Ｂ４でブートが失敗した場合は、ブートエラーを通知する。通知箇所は、通常操作パネル８であるが、新規にＬＥＤあるいは７セグメントＬＥＤ１１を搭載することで、実施例１と同様に、より簡単な制御でエラー通知が可能となる。
【００５４】
図９は、図８に示したコンピュータシステムにおけるシステム起動時の制御手順を示すフローチャートである。
【００５５】
画像処理装置において、ユーザーが主電源SWを押すと、システムが順次起動される。ＢＩＯＳブートは、そのうちの最も初期的なシステム起動である。初回時は、ＣＰＵ１はＭＵＸ１４を介してＲＯＭ＿Ａ３のＢＩＯＳプログラムを読み込み、ブートする（Ｓ４０１）。次に、ＢＩＯＳブートエラーを含め、コンピュータシステム１０２内でエラーが発生しているかどうかをチェックする（Ｓ４０２）。このチェックでエラーが発生している場合（Ｓ４０２：Ｙｅｓ）、操作パネル８からマイコン５に対してエラーが通知される（Ｓ４０３）。このタイミングでマイコン５がＢＩＯＳブート状態を確認する（Ｓ４０４）。なお、操作パネル８からマイコン５に対して何も通知がない場合は、ＢＩＯＳブートエラーは発生していない。
【００５６】
Ｓ４０４の確認でＢＩＯＳブートに失敗している場合（Ｓ４０５：Ｎｏ）、マイコン５がコンピュータシステム１００を再起動する（Ｓ４０６）。再起動にあたり、当該マイコン５もオフする。その際、次回起動時に、ブートデバイスであるＲＯＭを適切に切り換えできるように、ＲＯＭ＿Ａ３でエラーが発生した情報をマイコン５内の不揮発メモリに保存する。これにより、ＣＰＵ１のＢＩＯＳブートよりも前にマイコン５がＭＵＸ１４を制御し、再起動時に不揮発メモリへ保存した情報に基づいてＲＯＭ＿Ｂ４からリブートすることができる。すなわち、不揮発メモリを使用し、動作開始時に不揮発メモリの情報を参照することにより、マイコン５自体の電源が一度オフになる状態でも、ＲＯＭ切り変えは適切に実施される構成となる。
【００５７】
この構成により、ＣＰＵ１は、ＭＵＸ１４を介してＲＯＭ＿Ｂ４のＢＩＯＳプログラムを読み込み、ブートする（Ｓ４０８）。次いで、Ｓ４０１におけるＲＯＭ＿Ａ３のブート時同様、ＢＩＯＳブートエラーを含め、コンピュータシステム１０２内でエラーが発生しているかどうかをチェックする（Ｓ４０９）。このチェックでエラーが発生している場合（Ｓ４０９：Ｙｅｓ）、操作パネル８からマイコン５に対してエラーが通知される（Ｓ４１０）。そして、このタイミングでマイコン５がＢＩＯＳブート状態を確認する（Ｓ４１１）。このチェックで再度ＢＩＯＳブートに失敗している場合（Ｓ４１２：Ｙｅｓ）、ＲＯＭ＿Ａ３およびＲＯＭ＿Ｂ４ともにブートが失敗したことを意味する。この場合、マイコン５が操作パネル８および／または７セグメントＬＥＤ１１にＢＩＯＳブートエラーを表示する。
【００５８】
なお、Ｓ４０２またはＳ４０９でエラーが発生していないとき、Ｓ４０５またはＳ４１２でＢＩＯＳブートが起動完了している場合には、コンピュータシステム１００が起動しているので、そのままこのフローチャートの処理を終える。
【００５９】
以上説明したように、本実施形態によれば、次のような効果を奏する。なお、以下の説明では、特許請求の範囲における各構成要素と本実施形態の各部とを対応させ、用語が異なる場合には、後者をかっこ書きで示す。
【００６０】
（１）  本実施形態によれば、ブートプログラムを記憶した複数の記憶手段（ＲＯＭ＿Ａ３、ＲＯＭ＿Ｂ４）を有する情報処理装置（コンピュータシステム１００，１０１，１０２）であって、前記記憶手段（ＲＯＭ＿Ａ３、ＲＯＭ＿Ｂ４）の１つから前記ブートプログラムを読み出して前記情報処理装置（コンピュータシステム１００，１０１，１０２）の起動および再起動を実行する起動手段（マイコン５：Ｓ１０１，Ｓ１０５，Ｓ４０１，Ｓ４０６）と、前記起動手段（マイコン５）による起動完了および起動失敗を検出する検出手段（マイコン５：Ｓ１０３，Ｓ１０８，Ｓ４０５，Ｓ４１２）と、前記検出手段（マイコン５）による前記起動失敗の検出後に前記記憶手段（ＲＯＭ＿Ａ３、ＲＯＭ＿Ｂ４）を切り換える制御手段（マイコン５：Ｓ１０４，Ｓ４０７）と、を備えているので、起動失敗後に制御手段（マイコン５）がブートプログラムを保存している記憶手段（ＲＯＭ＿Ａ３、ＲＯＭ＿Ｂ４）を切り換え、情報処理装置（コンピュータシステム１００，１０１，１０２）を起動させることができる。すなわち、コントローラを備えていない記憶手段（ＲＯＭ）を使用したブートデバイスであっても、ある１つの記憶手段（ＲＯＭ＿Ａ３）によって起動が不能であれば、他の記憶手段（ＲＯＭ＿Ｂ４）に切り換えて情報処理装置（コンピュータシステム１００，１０１，１０２）を起動することができる。
【００６１】
（２）  本実施形態によれば、前記（１）の情報処理装置（コンピュータシステム１０１）において、前記切り換えが、前記制御手段（マイコン５）からの前記記憶手段（ＲＯＭ＿Ａ３、ＲＯＭ＿Ｂ４）の選択信号（チップセレクト信号ＣＳ＿Ａ，ＣＳ＿Ｂ）に基づいて行われるので、ある１つのＲＯＭからブートプログラムで起動できない場合、前記制御手段（マイコン５）によって起動を失敗した記憶手段（例えばＲＯＭ＿Ａ）以外の記憶手段（例えばＲＯＭ＿Ｂ）に切り換えて情報処理装置を起動させることができる。なお、切り換え指示は、例えば中央処理装置（ＣＰＵ１）からのチップセレクト信号ＣＳに基づいて行う。
【００６２】
（３）  本実施形態によれば、前記（１）の情報処理装置（コンピュータシステム１０２）において、前記複数の記憶手段（ＲＯＭ＿Ａ３、ＲＯＭ＿Ｂ４）からの入力信号を１つの信号として出力する信号選択手段（ＭＵＸ１４）をさらに備え、前記切り換えが前記制御手段（マイコン５）からの前記信号選択手段（ＭＵＸ１４）への選択信号（Ｃｏｎｔｒｏｌ信号）に基づいて行われるので、スタブが原因で発生する通信品質の劣化を防止することができる。
【００６３】
（４）  本実施形態によれば、前記（１）ないし（３）のいずれかの情報処理装置において、前記情報処理装置（コンピュータシステム１００，１０１，１０２）の各部を制御する中央処理装置（ＣＰＵ１）をさらに備え、前記検出手段（マイコン５）が、起動処理後の前記中央処理装置（ＣＰＵ１）の出力（ＰＯＳＴ  ＣＯＤＥ、１ビットの信号）から前記起動完了および前記起動失敗を検出する手段（Ｓ１０２，Ｓ１０３，Ｓ１０７，Ｓ１０８，Ｓ４０５，Ｓ４１２）を含むので、ブートが完了したか否かを制御手段（マイコン５）が把握することができ、その結果に応じて次の最適な処理を選択することが可能になる。
【００６４】
（５）  本実施形態によれば、前記（１）または（２）の情報処理装置（コンピュータシステム１００，１０１）において、前記情報処理装置（コンピュータシステム１００，１０１）の各部を制御する中央処理装置（ＣＰＵ１）をさらに備え、前記中央処理装置（ＣＰＵ１）は、前記検出手段（マイコン５）が前記記憶手段（例えばＲＯＭ＿Ａ３）からの起動失敗を検出したとき、起動完了した前記記憶手段（例えばＲＯＭ＿Ｂ４）からブートプログラムを読み出し、起動失敗した前記記憶手段（ＲＯＭ＿Ａ３）に書き込む手段（Ｓ３０２〜Ｓ３０６）を含むので、起動失敗の記憶手段（ＲＯＭ＿Ａ３）を自動的に修復し、次回からの起動処理に使用することができる。
【００６５】
（６）  本実施形態によれば、前記（３）の情報処理装置（コンピュータシステム１０２）において、前記検出手段（マイコン５）が前記記憶手段（例えばＲＯＭ＿Ａ３）の起動失敗を検出したとき、前記制御手段（マイコン５）は起動に失敗した前記記憶手段（ＲＯＭ＿Ａ３）と当該失敗した情報を記憶する手段（マイコン５内の不揮発メモリ）を含むので、再起動時に前記記憶する手段（マイコン５内の不揮発メモリ）へ保存した情報に基づいてリブートすることができる。
【００６６】
（７）  本実施形態によれば、前記（６）の情報処理装置（コンピュータシステム１０２）において、前記情報処理装置（コンピュータシステム１０２）の各部を制御する中央処理装置（ＣＰＵ１）をさらに備え、前記制御手段（マイコン５）は前記起動失敗後に再起動する際（Ｓ４０６）、前記中央処理装置（ＣＰＵ１）を起動する前に前記信号選択手段（ＭＵＸ１４）を制御し、起動に失敗した前記記憶手段（ＲＯＭ＿Ａ３）以外の前記記憶手段（ＲＯＭ＿Ｂ４）を選択する（Ｓ４０７）ので、再起動時に前記記憶する手段（マイコン５内の不揮発メモリ）に保存した情報を参照することにより、制御手段（マイコン５）自体の電源が一度オフになる状態でも、前記記憶手段（ＲＯＭ＿Ａ，ＲＯＭ＿Ｂ）を適切に切り換えることができる。
【００６７】
（８）  本実施形態によれば、前記（１）〜（７）のいずれかの情報処理装置（コンピュータシステム１００，１０１，１０２）において、前記制御手段（マイコン５）は、前記記憶手段（ＲＯＭ＿Ａ３，ＲＯＭ＿Ｂ４）の全てからの起動に失敗した場合は、失敗したことを外部へ通知する手段（マイコン５、操作パネル８、７セグメントＬＥＤ１１、Ｓ１０９，Ｓ２１０，Ｓ４１３）を含むので、ユーザーは情報処理装置（コンピュータシステム１００，１０１，１０２）が起動できなかったことをすぐに認識することができる。なお、通知は操作パネル８、ＬＥＤ９あるいは７セグメントＬＥＤ１１にエラー表示されるので、ユーザーは前記表示から視覚的に情報処理装置（コンピュータシステム１００，１０１，１０２）の起動状態を直感的に把握することができる。
【００６８】
（９）  本実施形態によれば、ブートプログラムを記憶した複数のＲＯＭ＿Ａ，ＲＯＭ＿Ｂ４を有する情報処理装置（コンピュータシステム１００）を制御手段（マイコン５）が前記ＲＯＭ＿Ａ，ＲＯＭ＿Ｂ４から起動する起動方法であって、前記ＲＯＭ＿Ａ，ＲＯＭ＿Ｂ４の１つから起動および再起動を実行する第１の工程（Ｓ１０１）と、前記第１の工程における起動完了および起動失敗を検出する第２の工程（Ｓ１０２，Ｓ１０３）と、前記第２の工程における前記起動失敗の検出後に前記記憶手段（ＲＯＭ＿Ａ，ＲＯＭ＿Ｂ４）を切り換える第３の工程（Ｓ１０４）と、を備えているので、前記制御装置（マイコン５）が、起動失敗時においてもブートプログラムが保存されている他の記憶手段（ＲＯＭ＿Ａ，ＲＯＭ＿Ｂ４）に切り換えて情報処理装置（コンピュータシステム１００）を起動することができる。
【００６９】
（１０）  本実施形態によれば、コンピュータ（マイコン５）に、ブートプログラムを記憶した複数の記憶手段（ＲＯＭ＿Ａ，ＲＯＭ＿Ｂ４）の１つから情報処理装置（コンピュータシステム１００）の起動および再起動を実行する第１の手順（Ｓ１０１）と、前記第１の手順における起動完了および起動失敗を検出する第２の手順（Ｓ１０２，Ｓ１０３）と、前記第２の手順における前記起動失敗の検出後に前記記憶手段（ＲＯＭ＿Ａ，ＲＯＭ＿Ｂ４）を切り換える第３の手順（Ｓ１０４）と、を実行させるための起動プログラムであるので、ブートプログラムが保存されている記憶手段（ＲＯＭ＿Ａ，ＲＯＭ＿Ｂ４）を切り換えるプログラムを情報処理装置（コンピュータシステム１００）のコンピュータ（マイコン５）に書き込み、当該コンピュータ（マイコン５）によって前記第１から第３の手順を実行させることができる。これにより、前記コンピュータ（マイコン５）が、起動失敗時においてもブートプログラムが保存されている他の記憶手段（ＲＯＭ＿Ａ，ＲＯＭ＿Ｂ４）に切り換えて情報処理装置（コンピュータシステム１００）を起動することができる。
【００７０】
前記プログラムは、例えばパソコン（ＰＣ）からコンピュータ（マイコン５）に書き込まれる。前記プログラムは記録媒体に記憶させてもよい。その場合、この記録媒体を用いてパソコンにインストールし、前記コンピュータ（マイコン５）に当該プログラムを書き込むことができる。なお、前記記録媒体は、非一過性の記録媒体であってもよい。非一過性の記録媒体は特に限定されないが、例えばＣＤ−ＲＯＭ等の記録媒体が使用できる。
【００７１】
さらに、本発明は前述した実施形態に限定されず、本発明の要旨を逸脱しない範囲で種々の変形が可能であり、特許請求の範囲に記載された技術思想に含まれる技術的事項の全てが本発明の対象となる。前記実施例は、好適な例を示したものであるが、当業者ならば、本明細書に開示の内容から、各種の代替例、修正例、変形例あるいは改良例を実現することができ、これらは添付の特許請求の範囲に記載された技術的範囲に含まれる。
【符号の説明】
【００７２】
１  ＣＰＵ（中央処理装置）
３  ＲＯＭ＿Ａ（記憶手段：ブートデバイス）
４  ＲＯＭ＿Ｂ（記憶手段：ブートデバイス）
５  マイコン（起動手段、検出手段、制御手段、切り換える手段、検出する手段、認識する手段、記憶する手段）
８  操作パネル
９  ＬＥＤ
１１  ７セグメントＬＥＤ
１４  ＭＵＸ（信号選択手段）
【先行技術文献】
【特許文献】
【００７３】
【特許文献１】特開２００２−２５９１３０号公報
【図１】
2017102887.tif 000003
【図２】
2017102887.tif 000004
【図３】
2017102887.tif 000005
【図４】
2017102887.tif 000006
【図５】
2017102887.tif 000007
【図６】
2017102887.tif 000008
【図７】
2017102887.tif 000009
【図８】
2017102887.tif 000010
【図９】
2017102887.tif 000011
【図１０】
2017102887.tif 000012
【図１１】
2017102887.tif 000013