(57)【要約】【課題】煩雑な処理を行うことなくリカバリーを行うことのできる情報処理装置および情報処理方法を提供する。【解決手段】複数の不揮発性メモリ１０２，１０４を備えた情報処理装置１０であって、不揮発性メモリ１０２，１０４にアクセスするアクセス手段１００と、当該情報処理装置１０の直前の起動時にアクセス手段１００によりアクセスされた不揮発性メモリ１０２，１０４に基づいて、次回の起動時にアクセスすべき不揮発性メモリ１０２，１０４を選択する選択手段１２０とを備え、アクセス手段１００は、選択手段１２０により選択された不揮発性メモリ１０２，１０４にアクセスする。【選択図】        図１
2008117148.tif 000002
【特許請求の範囲】
【請求項１】
複数の不揮発性メモリを備えた情報処理装置であって、
前記不揮発性メモリにアクセスするアクセス手段と、
当該情報処理装置の直前の起動時に前記アクセス手段によりアクセスされた前記不揮発性メモリに基づいて、次回の起動時にアクセスすべき前記不揮発性メモリを選択する選択手段と
を備え、
前記アクセス手段は、前記選択手段により選択された前記不揮発性メモリにアクセスすることを特徴とする情報処理装置。
【請求項２】
前記選択手段は、前記直前の起動時に選択された前記不揮発性メモリ以外の前記不揮発性メモリを選択することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
当該情報処理装置の電源電圧が立ち上がる毎に反転する選択信号を出力する信号出力手段をさらに備え、
前記選択手段は、前記選択信号に基づいて前記不揮発性メモリを選択することを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記アクセス手段がアクセスしている前記不揮発性メモリ以外の不揮発性メモリが正常に動作しているか否かを判定する判定手段をさらに備え、
前記選択手段は、正常に動作していないと判定された前記不揮発性メモリ以外の前記不揮発性メモリを、次回の起動時にアクセスすべき不揮発性メモリとして選択することを特徴とする請求項１から３のいずれか一項に記載の情報処理装置。
【請求項５】
正常に動作していないと判定された前記不揮発性メモリに、当該不揮発性メモリ以外の不揮発性メモリに格納されている情報を格納する格納手段をさらに備えたことを特徴とする請求項４に記載の情報処理装置。
【請求項６】
複数の不揮発性メモリを備えた情報処理装置であって、
当該情報処理装置の次回の起動時に利用すべき不揮発性メモリを、前記複数の不揮発性メモリの中からランダムに選択する選択手段と、
前記選択手段により選択された前記不揮発性メモリにアクセスするアクセス手段と
を備えたことを特徴とする情報処理装置。
【請求項７】
当該情報処理装置の電源がオンされると時間をカウントするクロック手段と、
前記クロック手段によるカウント毎に異なる選択信号を出力する信号出力手段と
をさらに備え、
前記選択手段は、前記信号出力手段により出力された前記選択信号に基づいて、前記不揮発性メモリを選択することを特徴とする請求項６に記載の情報処理装置。
【請求項８】
前記アクセス手段がアクセスしている前記不揮発性メモリ以外の不揮発性メモリが正常に動作しているか否かを判定する判定手段をさらに備え、
前記選択手段は、正常に動作していないと判定された前記不揮発性メモリ以外の前記不揮発性メモリを次回の起動時にアクセスすべき不揮発性メモリとして選択することを特徴とする請求項６または７に記載の情報処理装置。
【請求項９】
正常に動作していないと判定された前記不揮発性メモリに、当該不揮発性メモリ以外の不揮発性メモリに格納されている情報を格納する格納手段をさらに備えたことを特徴とする請求項４に記載の情報処理装置。
【請求項１０】
複数の不揮発性メモリを備えた情報処理装置における情報処理方法であって、
当該情報処理装置の直前の起動時に前記不揮発性メモリにアクセスする第１アクセスステップと、
当該情報処理装置の直前の起動時にアクセスされた前記不揮発性メモリに基づいて、次回の起動時にアクセスすべき前記不揮発性メモリを選択する選択ステップと、
前記選択ステップにおいて選択された前記不揮発性メモリにアクセスする第２アクセスステップと
を有することを特徴とする情報処理方法。
【請求項１１】
複数の不揮発性メモリを備えた情報処理装置における情報処理方法であって、
当該情報処理装置の次回の起動時に利用すべき不揮発性メモリを、前記複数の不揮発性メモリの中からランダムに選択する選択ステップと、
前記選択ステップにおいて選択された前記不揮発性メモリにアクセスするアクセスステップと
を有することを特徴とする情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の不揮発性メモリを備えた情報処理装置および当該情報処理装置における情報処理方法に関するものである。
【背景技術】
【０００２】
従来、情報処理装置においては、中央演算処理装置（ＣＰＵ）は不揮発メモリに記憶されている情報に従って動作するのが一般的である。電源投入直後からＣＰＵはブート先のアドレスからコードをフェッチして動作を開始するが、一般的にこのリード先として不揮発メモリを使用する場合がほとんどである。
【０００３】
不揮発メモリの特徴として、相当数の書き換えが可能という点がある。また多くの情報処理装置はネットワーク等の外部インターフェースを備えている。そこで、ネットワーク経由で不揮発メモリ内に記憶されている情報のアップデートを行うケースが多くなっている。
【０００４】
また、不揮発性メモリの更新用プログラムを保持し、起動時に更新プログラムを実行する情報処理装置が知られている（例えば、「特許文献１」参照）。
【０００５】
【特許文献１】特開２００５−１７５１６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかし、何らかの理由でアップデートに失敗したときのリカバリーの問題がある。失敗の理由は様々である。例えば、不意の電源断や、アップデート後の不完全なプログラム、ハードウェアとの相性など、結果として情報処理装置が起動しないケースがある。
【０００７】
そこで、例えばパーソナルコンピュータ等における対応としては、ボード上にＢＩＯＳ−ＲＯＭを複数備え、ジャンパーピンでユーザがどちらかのＢＩＯＳ−ＲＯＭを任意選択させる構成が考えられる。
【０００８】
また、マルチファンクションプリンタ等の画像形成装置においては、基本的にはユーザはＣＰＵや不揮発メモリが搭載されているボードを直接さわることができない。従って、問題が発生した場合には必ずサービスマンコール等が必要となる。このため、パーソナルコンピュータ等と同様の対応により、ユーザがタイムリーに対応することができない。さらに、起動しない原因を検査するのはサービスマンにとっても困難である。そのため、高価なボードを交換して対応するシーンが少なからず存在する。
【０００９】
本発明は、上記に鑑みてなされたものであって、ユーザによるＢＩＯＳ−ＲＯＭの選択や、ボードの交換など、煩雑な処理を行うことなくリカバリーを行うことのできる情報処理装置および情報処理方法を提供することを目的とする。
【課題を解決するための手段】
【００１０】
上述した課題を解決し、目的を達成するために、請求項１にかかる発明は、複数の不揮発性メモリを備えた情報処理装置であって、前記不揮発性メモリにアクセスするアクセス手段と、当該情報処理装置の直前の起動時に前記アクセス手段によりアクセスされた前記不揮発性メモリに基づいて、次回の起動時にアクセスすべき前記不揮発性メモリを選択する選択手段とを備え、前記アクセス手段は、前記選択手段により選択された前記不揮発性メモリにアクセスすることを特徴とする。
【００１１】
また、請求項２にかかる発明は、請求項１に記載の情報処理装置であって、前記選択手段は、前記直前の起動時に選択された前記不揮発性メモリ以外の前記不揮発性メモリを選択することを特徴とする。
【００１２】
また、請求項３にかかる発明は、請求項２に記載の情報処理装置であって、当該情報処理装置の電源電圧が立ち上がる毎に反転する選択信号を出力する信号出力手段をさらに備え、前記選択手段は、前記選択信号に基づいて前記不揮発性メモリを選択することを特徴とする。
【００１３】
また、請求項４にかかる発明は、請求項１から３のいずれか一項に記載の情報処理装置であって、前記アクセス手段がアクセスしている前記不揮発性メモリ以外の不揮発性メモリが正常に動作しているか否かを判定する判定手段をさらに備え、前記選択手段は、正常に動作していないと判定された前記不揮発性メモリ以外の前記不揮発性メモリを、次回の起動時にアクセスすべき不揮発性メモリとして選択することを特徴とする。
【００１４】
また、請求項５にかかる発明は、請求項４に記載の情報処理装置であって、正常に動作していないと判定された前記不揮発性メモリに、当該不揮発性メモリ以外の不揮発性メモリに格納されている情報を格納する格納手段をさらに備えたことを特徴とする。
【００１５】
また、請求項６にかかる発明は、複数の不揮発性メモリを備えた情報処理装置であって、当該情報処理装置の次回の起動時に利用すべき不揮発性メモリを、前記複数の不揮発性メモリの中からランダムに選択する選択手段と、前記選択手段により選択された前記不揮発性メモリにアクセスするアクセス手段とを備えたことを特徴とする。
【００１６】
また、請求項７にかかる発明は、請求項６に記載の情報処理装置であって、当該情報処理装置の電源がオンされると時間をカウントするクロック手段と、前記クロック手段によるカウント毎に異なる選択信号を出力する信号出力手段とをさらに備え、前記選択手段は、前記信号出力手段により出力された前記選択信号に基づいて、前記不揮発性メモリを選択することを特徴とする。
【００１７】
また、請求項８にかかる発明は、請求項６または７に記載の情報処理装置であって、前記アクセス手段がアクセスしている前記不揮発性メモリ以外の不揮発性メモリが正常に動作しているか否かを判定する判定手段をさらに備え、前記選択手段は、正常に動作していないと判定された前記不揮発性メモリ以外の前記不揮発性メモリを次回の起動時にアクセスすべき不揮発性メモリとして選択することを特徴とする。
【００１８】
また、請求項９にかかる発明は、請求項４に記載の情報処理装置であって、正常に動作していないと判定された前記不揮発性メモリに、当該不揮発性メモリ以外の不揮発性メモリに格納されている情報を格納する格納手段をさらに備えたことを特徴とする。
【００１９】
また、請求項１０にかかる発明は、複数の不揮発性メモリを備えた情報処理装置における情報処理方法であって、当該情報処理装置の直前の起動時に前記不揮発性メモリにアクセスする第１アクセスステップと、当該情報処理装置の直前の起動時にアクセスされた前記不揮発性メモリに基づいて、次回の起動時にアクセスすべき前記不揮発性メモリを選択する選択ステップと、前記選択ステップにおいて選択された前記不揮発性メモリにアクセスする第２アクセスステップとを有することを特徴とする。
【００２０】
また、請求項１１にかかる発明は、複数の不揮発性メモリを備えた情報処理装置における情報処理方法であって、当該情報処理装置の次回の起動時に利用すべき不揮発性メモリを、前記複数の不揮発性メモリの中からランダムに選択する選択ステップと、前記選択ステップにおいて選択された前記不揮発性メモリにアクセスするアクセスステップとを有することを特徴とする。
【発明の効果】
【００２１】
本発明によれば、情報処理装置の起動毎に、複数の不揮発性メモリのうち任意の不揮発性メモリを選択するので、いずれかの不揮発性メモリに異常が生じていた場合であっても、複数回起動を繰り返すことにより正常な不揮発性メモリにアクセスすることができるので、ボードの交換など煩雑な処理を行うことなくリカバリーを行うことができるという効果を奏する。
【発明を実施するための最良の形態】
【００２２】
以下に添付図面を参照して、この発明にかかる情報処理装置および情報処理方法の最良な実施の形態を詳細に説明する。
【００２３】
（第１の実施の形態）
図１は、本発明の第１の実施の形態にかかる情報処理装置１０の基本的な構成を示すブロック図である。情報処理装置１０は、ＣＰＵ１００と、２つのＲＯＭ、すなわちＲＯＭ−Ａ１０２と、ＲＯＭ−Ｂ１０４と、ＲＡＭ１０６と、選択部１２０と、制御部１２２とを有している。ＣＰＵ１００、ＲＯＭ−Ａ１０２、ＲＯＭ−Ｂ１０４、ＲＡＭ１０６および選択部１２０は、ローカルバス１１０を介して接続されている。
【００２４】
ＲＯＭ−Ａ１０２およびＲＯＭ−Ｂ１０４は、各種プログラムなどを格納している。ＣＰＵ１００は、ＲＯＭ−Ａ１０２またはＲＯＭ−Ｂ１０４に格納されているプログラムにしたがって、情報処理装置１０の各部を制御する。ＲＡＭ１０６は、情報処理装置１０の制御に必要な種々のデータを格納している。
【００２５】
情報処理装置１０の起動時には、ＣＰＵ１００は、ＲＯＭ−Ａ１０２およびＲＯＭ−Ｂ１０４のうちいずれか一方からコードフェッチを行う。ＣＰＵ１００は、いずれのＲＯＭにアクセスするかを決定すべくチップセレクト（ＣＳ）信号を出力する。ＣＳ信号は、ＲＯＭ−Ａ１０２およびＲＯＭ−Ｂ１０４のうちいずれを選択するかを示している。ＣＰＵ１００は、ＣＳ信号として「ＣＳ１」および「ＣＳ０」の２つの信号を出力する。
【００２６】
一方、制御部１２２は、情報処理装置１０の電源電圧に基づいて、Ｈｉｇｈ（Ｈ）またはＬｏｗ（Ｌ）のいずれかを示すＳ１信号を選択部１２０に出力する。
【００２７】
図２は、制御部１２２の詳細な構成を示すブロック図である。制御部１２２は、２つの反転回路１２４，１２６とフリップフロップ（ＦＦ）回路１２８とを有している。これにより、電源電圧ＶＣＣの立ち上がり時に、Ｓ１信号がＨとＬの間で切り替わる。すなわち、１回目の起動時に信号Ｓ１がＨである場合には、２回目の起動時にはＳ１信号はＬに切り替わる。そして、３回目の起動時には、Ｓ１信号は、Ｈに切り替わる。このように、制御部１２２は、起動する度に、異なるＳ１信号を出力する。制御部１２２は、情報処理装置１０の電源オフ時においても、信号Ｓ１の状態、すなわちＨであるかＬであるかを保持しておく必要がある。そこで、制御部１２２は、バッテリや二次電池など情報処理装置１０の電源とは独立の電源により駆動するものとする。
【００２８】
再び説明を図１に戻す。選択部１２０は、制御部１２２から出力されたＳ１信号に基づいて、ＣＳ１およびＣＳ０のうちいずれか一方をＹ０、すなわちＲＯＭ−Ａ１０２に出力し、他方をＹ１、すなわちＲＯＭ−Ｂ１０４に出力する。なお、ＣＰＵ１００は、ＣＳ０の出力先となるＲＯＭからコードフェッチを行うものとする。すなわち、選択部１２０がＣＳ０を出力する出力先がコードフェッチ先となる。
【００２９】
図３は、制御部１２２から入力されるＳ１信号と、選択部１２０からＹ０に出力されるＣＳ信号と、選択部１２０からＹ１に出力されるＣＳ信号との関係を示す図である。このように、選択部１２０は、制御部１２２から入力されたＳ１信号がＬである場合には、Ｙ０にＣＳ０を出力し、かつＹ１にＣＳ１を出力する。制御部１２２から入力されたＳ１信号がＨである場合には、Ｙ０にＣＳ１を出力し、かつＹ１にＣＳ０を出力する。
【００３０】
このように、選択部１２０は、制御部１２２から入力されたＳ１信号に基づいて、ＣＳ０の出力先を決定する。すなわち、Ｓ１信号に基づいて、ＣＰＵ１００がコードフェッチを行うＲＯＭを決定する。
【００３１】
図４は、第１の実施の形態にかかる情報処理装置１０の起動時の処理を示すフローチャートである。情報処理装置１０の電源がオンされると（ステップＳ１００，Ｙｅｓ）、制御部１２２の回路によりＳ１信号がＨからＬまたはＬからＨに反転する（ステップＳ１０２）。反転後のＳ１信号がＬである場合には（ステップＳ１０４，Ｙｅｓ）、選択部１２０は、ＣＳ０をＲＯＭ−Ａ１０２に出力し、ＣＳ１をＲＯＭ−Ｂ１０４に出力する（ステップＳ１０６）。すなわち、コードフェッチを行うＲＯＭをＲＯＭ−Ａ１０２と決定する。次に、ＣＰＵ１００は、ＣＳ０の出力先であるＲＯＭ−Ａ１０２に格納されている情報をＲＡＭ１０６にコピーする（ステップＳ１０８）。
【００３２】
次に、ＲＡＭ実行を行う（ステップＳ１１０）。すなわち、ＲＡＭ１０６からコードフェッチを行う。このように、ＲＯＭ−Ａ１０２にかえてＲＡＭ１０６からコードフェッチを行うことにより、処理の高速化を図ることができる。
【００３３】
一方、ステップＳ１０４において、Ｓ１信号がＨである場合には（ステップＳ１０４，Ｎｏ）、選択部１２０は、ＣＳ１をＲＯＭ−Ａ１０２に出力し、ＣＳ０をＲＯＭ−Ｂ１０４に出力する（ステップＳ１２０）。すなわち、コードフェッチを行うＲＯＭをＲＯＭ−Ｂ１０４と決定する。次に、ＣＰＵ１００は、ＣＳ０の出力先であるＲＯＭ−Ｂ１０４に格納されている情報をＲＡＭ１０６にコピーする（ステップＳ１２２）。次に、ステップＳ１１０に進み、ＲＡＭ１０６からコードフェッチを行う。以上で、情報処理装置１０の起動時の処理が完了する。
【００３４】
図５は、図４を参照しつつ説明した起動時の処理におけるＳ１信号の切り替わりとＲＯＭ選択の処理の関係を説明するための図である。図５に示すように、１回目の電源オン前のＳ１信号がＨであったとすると、電源オンによる電源電圧ＶＣＣの上昇により、Ｓ１信号は、ＨからＬに切り替わる。Ｓ１信号がＬであるので、１回目の電源オン時には、ＣＰＵ１００がアクセスすべきＲＯＭとしてＲＯＭ−Ａ１０２が選択される。
【００３５】
その後、一旦電源オフされても、Ｓ１信号の状態は保持され続けるので、２回目の電源オン前のＳ１信号はＬである。そして、２回目の電源オンによりＳ１信号は、ＬからＨに切り替わる。Ｓ１信号がＨであるので、２回目の電源オン時には、ＣＰＵ１００がアクセスすべきＲＯＭとしてＲＯＭ−Ｂ１０４が選択される。
【００３６】
このように、第１の実施の形態にかかる情報処理装置１０においては、電源オンの度にＳ１信号がＬとＨの間で切り替わるので、これに応じてＲＯＭ−Ａ１０２とＲＯＭ−Ｂ１０４とを交互に選択することができる。これにより、例えば、ＲＯＭ−Ａ１０２に異常が発生しているときに、ＲＯＭ−Ａ１０２にアクセスし起動に失敗した場合には、一旦電源オフし、再度電源オンすることにより、アクセス先をＲＯＭ−Ｂ１０４に切り替えることができる。そして、ＲＯＭ−Ｂ１０４が正常であれば正常に起動を完了することができる。これにより、従来のように、ユーザによるＢＩＯＳ−ＲＯＭの選択や、ボードの交換などの煩雑な処理を行うことなくリカバリーを行うことができる。
【００３７】
以上、本発明を実施の形態を用いて説明したが、上記実施の形態に多様な変更または改良を加えることができる。
【００３８】
（第２の実施の形態）
図６は、第２の実施の形態にかかる情報処理装置１２の基本的な構成を示すブロック図である。第２の実施の形態にかかる情報処理装置１２においては、ＣＰＵ１３０は、ＣＳ信号の他、Ｓ２信号およびＳ３信号を出力する。Ｓ２信号およびＳ３信号は、ＧＩＯポートなどの汎用ポートから出力される。Ｓ２信号は、２ビットから構成される信号である。Ｓ２信号としては、０ビット目および１ビット目ともに０である「００」、０ビット目が１、１ビット目が０である「０１」、０ビット目が０、１ビット目が１である「１０」、０ビット目および１ビット目ともに１である「１１」の４種類の信号が出力される。Ｓ３信号はＳ２信号をラッチさせるための信号である。Ｓ３信号としては、Ｈｉｇｈ（Ｈ）とＬｏｗ（Ｌ）の２つの状態が出力される。
【００３９】
制御部１３２は、情報処理装置１０の電源電圧に加えて、Ｓ２信号およびＳ１信号に基づいて、ＨまたはＬのＳ１信号を出力する。図７は、制御部１３２の詳細な構成を示すブロック図である。制御部１３２は、第１の実施の形態にかかる制御部１２２と同様に２つの反転回路１３４，１３６と、ＦＦ回路１３８を有している。本実施の形態にかかる制御部１３２は、これに加えてＦＦ回路１４０と、選択部１４２と、Ｓ２の信号線およびＳ３の信号線にそれぞれ接続された２つのプルダウン抵抗（ＰＤ）１４４，１４６とを有している。
【００４０】
ＦＦ回路１４０は、Ｓ３信号の状態にしたがいＳ２信号を反転させる。選択部１４２は、Ｓ４信号およびＳ５信号に基づいて、出力すべきＳ１信号の状態を決定する。なお、第２の実施の形態にかかるＳ４信号は、第１の実施の形態にかかるＳ１信号に相当する。
【００４１】
図８は、ＦＦ回路１４０から選択部１４２に入力されるＳ５信号と、選択部１４２が出力するＳ１信号の関係を示す図である。ＦＦ回路１４０から入力されるＳ５信号が「０Ｘ」である場合には、選択部１４２は、Ｓ４信号をＳ１信号として出力する。ここで、「Ｘ」は、１，０のいずれでもよいことを示している。すなわち、ＦＦ回路１４０から入力されるＳ５信号の１ビット目が０である場合には、Ｓ４信号をＳ１信号として出力する。上述のように、Ｓ４信号は、第１の実施の形態にかかるＳ１信号と同様の信号である。すなわち、Ｓ４信号は、情報処理装置１０の起動毎にＨとＬ交互に切り替わる。したがって、Ｓ５信号が「０Ｘ」である場合には、Ｓ１信号は起動ごとにＬとＨとが切り替わる。すなわち、Ｓ５信号が「０Ｘ」である場合には、第２の実施の形態にかかる情報処理装置１２は、第１の実施の形態にかかる情報処理装置１０と同様に、起動する度に異なるＲＯＭにアクセスする。
【００４２】
また、Ｓ５信号が「１０」の場合には、選択部１４２は、Ｓ１信号としてＬを出力する。Ｓ５信号が「１１」の場合には、選択部１４２は、Ｓ１信号としてＨを出力する。すなわち、選択部１４２は、Ｓ５信号の１ビット目が「１」である場合には、Ｓ５信号の０ビット目の値に応じた値をＳ１信号として出力する。すなわち、Ｓ５信号の０ビット目が「０」である場合には、Ｓ１信号としてＬを出力する。この場合には、ＲＯＭ−Ａ１０２が選択される。Ｓ５信号とＳ２信号とは同じ値となる。そこで、ＣＰＵ１３０は、次回ＲＯＭ−Ａ１０２を選択したい場合には、「１０」のＳ２信号を出力すればよい。
【００４３】
Ｓ５信号の０ビット目が「１」である場合には、Ｓ１信号としてＨを出力する。この場合には、ＲＯＭ−Ｂ１０４が選択される。ＣＰＵ１３０は、次回ＲＯＭ−Ｂ１０４を選択したい場合には、「１１」のＳ２信号を出力すればよい。
【００４４】
図９は、第２の実施の形態にかかる情報処理装置１２の起動時の処理を示すフローチャートである。情報処理装置１２の電源がオンされると（ステップＳ１００，Ｙｅｓ）、制御部１２２の回路によりＳ４信号がＨとＬの間で反転する(ステップＳ１３０)。この後、第１の実施の形態にかかる処理と同様に、Ｓ１信号に応じて所定のＲＯＭからコードフェッチを行う。すなわち、Ｓ１信号がＬである場合には（ステップＳ１０４，Ｙｅｓ）、選択部１２０は、ＣＳ０をＹ０、すなわちＲＯＭ−Ａ１０２に出力し、ＣＳ１をＹ１、すなわちＲＯＭ−Ｂ１０４に出力する（ステップＳ１０６）。次に、ＣＰＵ１３０は、ＣＳ０の出力先であるＲＯＭ−Ａ１０２に格納されている情報をＲＡＭ１０６にコピーする（ステップＳ１０８）。次に、ＲＡＭ１０６からコードフェッチを行う（ステップＳ１１０）。
【００４５】
一方、ステップＳ１０４において、Ｓ１信号がＨである場合には（ステップＳ１０４，Ｎｏ）、選択部１２０は、ＣＳ１をＹ０、すなわちＲＯＭ−Ａ１０２に出力し、ＣＳ０をＹ１、すなわちＲＯＭ−Ｂ１０４に出力する（ステップＳ１２０）。次に、ＣＰＵ１３０は、ＣＳ０の出力先であるＲＯＭ−Ｂ１０４に格納されている情報をＲＡＭ１０６にコピーする（ステップＳ１２２）。次に、ステップＳ１１０に進み、ＲＡＭ１０６からコードフェッチを行う。
【００４６】
第２の実施の形態にかかる情報処理装置１２においては、ＲＡＭ実行（ステップＳ１１０）の後、ＣＰＵ１３０から、次回コードフェッチを行うべきＲＯＭを指定するＲＯＭ指定があった場合には（ステップＳ１４０，Ｙｅｓ）、出力するＳ１信号の状態を変更する（ステップＳ１４２）。
【００４７】
図１０は、Ｓ１信号の状態を変更する処理（ステップＳ１４２）を説明するための図である。ＣＰＵ１３０は、ＲＯＭ指定を行う場合には、ＲＯＭを指定する信号を出力する。具体的には、図１０に示すように、ＣＰＵ１３０から所定のＲＯＭを指定するＳ２信号とともに、Ｈを示すＳ３信号が出力される。ＲＯＭ−Ａ１０２を指定したい場合には、Ｓ２信号として「１０」を出力する。ＲＯＭ−Ｂ１０４を指定したい場合には、Ｓ２信号として「１１」を出力する。
【００４８】
Ｓ２信号と同様の信号がＳ５信号として出力されるので、図８に示すように、Ｓ５信号が「１０」である場合には、Ｓ１信号はＬとなる。すなわち、この場合には、ＲＯＭ−Ａ１０２が選択されることになる。一方、図８に示すように、Ｓ５信号が「１１」である場合には、Ｓ１信号はＨとなる。すなわち、この場合には、ＲＯＭ−Ｂ１０４が選択されることになる。
【００４９】
図１０に示す例においては、１回目の電源オン時には、「００」のＳ５信号が出力されている。このため、Ｓ４信号がＳ１信号として出力される。Ｓ１信号は、１回目の電源オンによりＨからＬに切り替っている。したがって、Ｌに対応するＲＯＭ−Ａ１０２が選択される。
【００５０】
さらに、１回目の電源オンの後の起動中に、図１０に示すようにＣＰＵ１３０から「１０」を示すＳ２信号が出力され、かつＳ３信号がＨに切り替わると、Ｓ５信号は、「００」から「１０」に切り替わる。この状態で電源がオフされると、Ｓ５信号は、「１０」のまま保持される。
【００５１】
２回目の電源オン時には、Ｓ５信号は「１０」であるので、Ｓ１信号にかかわらず、Ｓ５信号によりＲＯＭが選択されることになる。このときのＳ５信号は「１０」であり、図８に示すようにＳ１信号としてＬが出力される。このため、２回目の電源オン時においても、１回目と同様にＲＯＭ−Ａ１０２が選択される。なお、次回ＲＯＭ−Ｂ１０４を選択したい場合には、同様に「１１」のＳ２信号とＨのＳ３信号とを出力すればよい。
【００５２】
このように、第２の実施の形態にかかる情報処理装置１２においては、ＣＰＵ１３０の所望のＲＯＭを選択することができる。
【００５３】
例えば、１回目の起動時にＲＯＭ−Ａ１０２およびＲＯＭ−Ｂ１０４のいずれか一方に故障が発生していることが判明したとする。この場合には、故障しているＲＯＭ以外のＲＯＭを指定しておくことにより、２回目には故障しているＲＯＭを選択することなく、スムーズに適切なＲＯＭを選択することができる。
【００５４】
（第３の実施の形態）
図１１は、第３の実施の形態にかかる情報処理装置１４の基本的な構成を示す図である。情報処理装置１４においては、ＣＰＵ１３４は、各ＲＯＭの故障の有無を判断してＲＯＭ指定を行う。図１２は、情報処理装置１４による処理を示すフローチャートである。図１２に示すように、ＲＡＭ実行（ステップＳ１１０）の後、ＣＰＵ１３４は、異常判定処理を行う（ステップＳ１５０）。
【００５５】
図１３は、異常判定処理（ステップＳ１５０）における詳細な処理を示すフローチャートである。Ｓ１信号がＬの場合、すなわち、ＲＯＭ−Ａ１０２が選択された場合には（ステップＳ１５２，Ｙｅｓ）、ＣＰＵ１３４は、ＲＯＭ−Ｂ１０４が正常に動作しているか否かのチェックを行う（ステップＳ１５４）。ＲＯＭ−Ｂ１０４が正常に動作している場合には（ステップＳ１５６，Ｙｅｓ）、「００」のＳ２信号を出力し続けることにより、次回起動時にはＳ４信号に従いＬの状態のＳ１信号が出力される。すなわち、ＲＯＭ−Ｂ１０４が選択される。
【００５６】
ＲＯＭ−Ｂ１０４に異常が発見された場合には（ステップＳ１５６，Ｎｏ）、ＣＰＵ１３４は、「１０」のＳ２信号をＨの状態のＳ３信号と共に出力する（ステップＳ１５８）。これにより、次回起動時には、Ｌの状態のＳ１信号が出力される。すなわち、ＲＯＭ−Ａ１０２が選択される。
【００５７】
ステップＳ１５２において、Ｓ１信号がＨである場合には（ステップＳ１５２，Ｎｏ）、ＣＰＵ１３４は、ＲＯＭ−Ａ１０２が正常に動作しているか否かのチェックを行う（ステップＳ１７０）。ＲＯＭ−Ａ１０２が正常に動作している場合には（ステップＳ１７２，Ｙｅｓ）、「００」のＳ２信号を出力し続けることにより、次回起動時にはＳ４信号に従いＨの状態のＳ１信号が出力される。すなわち、ＲＯＭ−Ａ１０２が選択される。
【００５８】
ＲＯＭ−Ａ１０２に異常が発見された場合には（ステップＳ１７２，Ｎｏ）、ＣＰＵ１３４は、「１１」のＳ２信号をＨの状態のＳ３信号と共に出力する（ステップＳ１７４）。これにより、次回起動時には、Ｈの状態のＳ１信号が出力される。すなわち、ＲＯＭ−Ｂ１０４が選択される。
【００５９】
このように、ＣＰＵ１３４は、起動中に現在利用しているＲＯＭと異なるＲＯＭが正常に動作しているか否かをチェックし、異常が発見された場合には、所定のＳ２信号を出力することにより、異常のあるＲＯＭを選択しないように設定することができる。これにより、起動時には、正常なＲＯＭを選択することができる。
【００６０】
なお、第３の実施の形態にかかる情報処理装置１４のこれ以外の構成および処理は、他の実施の形態にかかる情報処理装置の構成および処理と同様である。
【００６１】
（第４の実施の形態）
図１４は、第４の実施の形態にかかる情報処理装置１６の基本的な構成を示す図である。情報処理装置１６においては、ＣＰＵ１３６は、ＲＯＭに異常があると判定された場合には、さらに情報のコピーを行う。
【００６２】
図１５は、第４の実施の形態にかかる情報処理装置１６における故障判定処理を示すフローチャートである。ステップ１５６においてＲＯＭ−Ｂ１０４に異常が発見された場合には（ステップＳ１５６，Ｎｏ）、ＲＯＭ−Ａ１０２に格納されている情報をＲＯＭ−Ｂ１０４にコピーする（ステップＳ１６０）。また、ステップＳ１７２においてＲＯＭ−Ａ１０２に異常が発見された場合には（ステップＳ１７２，Ｎｏ）、ＲＯＭ−Ｂ１０４に格納されている情報をＲＯＭ−Ａ１０２にコピーする（ステップＳ１７６）。
【００６３】
このように、異常の発見されたＲＯＭに正常なＲＯＭの情報をコピーすることにより、自動修復を試みる。これにより、正常動作が可能となれば、次回の起動時以降、修復したＲＯＭを利用することができる。
【００６４】
なお、第４の実施の形態にかかる情報処理装置１６のこれ以外の構成および処理は、他の実施の形態にかかる情報処理装置の構成および処理と同様である。
【００６５】
（第５の実施の形態）
図１６は、第５の実施の形態にかかる情報処理装置２０の基本的な構成を示すブロック図である。情報処理装置２０は、第１の実施の形態にかかる制御部１２２にかえてランダム制御部１５０を備えている。ランダム制御部１５０は、制御部１２２のようにＬとＨのＳ１信号を電源オンごとに交互に出力するのではなく、ＬとＨのＳ１信号を電源オンごとにランダムに出力する。
【００６６】
図１７は、ランダム制御部１５０の詳細な構成を示すブロック図である。ランダム制御部１５０は、反転回路１５２と、ＦＦ回路１５４とを有している。反転回路１５２は、リセット信号を反転させる。ＦＦ回路１５４には、反転回路１５２により反転されたリセット信号がイネーブル信号として入力される。さらに、情報処理装置２０全体のクロックをカウントするクロック部（図示せず）からのクロック信号が入力される。ＦＦ回路１５４は、リセット信号とクロック信号とに基づいて、ＬまたはＨのＳ１信号を出力する。
【００６７】
図１８は、ランダム制御部１５０に対する入力信号と出力信号の関係を示す図である。電源がオンされると、所定のタイミングでリセットが解除され、リセット信号がリセット状態を示すＬ（Ｌｏｗ）からリセット解除を示すＨ（Ｈｉｇｈ）に切り替わる。さらに、電源電圧（ＶＣＣ）が所定の電圧に上がると、クロック部は、クロック信号を発生させる。Ｓ１信号は、クロック信号が発生する度に反転する。すなわち、クロック信号が発生する度にＬとＨの間で交互に切り替わる。Ｓ１信号は、リセットが解除されるまで反転を繰り返し、リセットが解除されると、すなわちリセット信号がＨに切り替わると反転を停止する。すなわち、リセット解除後は、リセット信号がＨに切り替わる直前の状態のＳ１信号が出力され続ける。
【００６８】
例えば、図１８に示す１回目の電源オン時には、リセット解除時にＳ１信号がＬの状態にあるので、これ以後のＳ１信号の状態はＬとなる。一方２回目の電源オン時には、リセット解除時にＳ１信号がＨの状態にあるので、これ以後のＳ１信号の状態はＨとなる。
【００６９】
クロック信号の周期は、リセット信号の周期と非同期であり、かつリセット信号の周期に比べて小さい。このため、電源オンからリセット解除までにカウントされるクロック信号の数は毎回一定にはならない。そこで、このように、電源オンからリセット解除までにカウントされるクロック信号の数に応じてＳ１信号の状態を決定することにより、Ｓ１信号の状態をランダムに決定することができる。
【００７０】
なお、第５の実施の形態にかかる情報処理装置２０のこれ以外の構成および動作は、第１の実施の形態にかかる情報処理装置１０の構成および動作と同様である。すなわち、上述のようにしてランダムに決定されたＳ１信号の状態に応じて、図４に示すステップＳ１０４以降の処理にしたがいアクセスすべきＲＯＭが決定される。
【００７１】
このように、第５の実施の形態にかかる情報処理装置２０においては、Ｓ１信号をランダムに発生させることができる。これにより、例えば、ＲＯＭ−Ａ１０２に異常が発生しているときに、ＲＯＭ−Ａ１０２にアクセスし起動に失敗した場合には、何度か電源オンオフを繰り返すことにより、アクセス先をＲＯＭ−Ｂ１０４に切り替えることができるので、ＲＯＭ−Ｂ１０４が正常であれば正常に起動を完了することができる。すなわち、従来のように、ユーザによるＢＩＯＳ−ＲＯＭの選択や、ボードの交換などの煩雑な処理を行うことなくリカバリーを行うことができる。
【００７２】
（第６の実施の形態）
図１９は、第６の実施の形態にかかる情報処理装置２２の基本的な構成を示すブロック図である。情報処理装置２２は、第５の実施の形態にかかる情報処理装置２０と同様にランダム制御部１６０を備えている。さらに、第２の実施の形態にかかる情報処理装置１２と同様に、ＣＰＵ１３０は、ＲＯＭを指定すべくＣＳ信号の他、Ｓ２信号およびＳ３信号を出力する。ランダム制御部１６０は、Ｓ２信号およびＳ３信号にしたがいＳ１信号を出力する。
【００７３】
図２０は、ランダム制御部１６０の詳細な構成を示すブロック図である。ランダム制御部１６０は、第５の実施の形態にかかるランダム制御部１５０と同様に、反転回路１６２と、ＦＦ回路１６４とを有している。本実施の形態にかかるランダム制御部１６０は、これに加えてＦＦ回路１６６と、選択部１６８と、２つのＰＤ１７０，１７２とを有している。ＦＦ回路１６６は、Ｓ３信号の状態にしたがいＳ２信号を反転させる。選択部１６８は、Ｓ４信号およびＳ５信号に基づいて、出力すべきＳ１信号の状態を決定する。
【００７４】
なお、本実施の形態にかかるランダム制御部１６０においても、第２の実施の形態において図８を参照しつつ説明したのと同様に、Ｓ５信号にしたがいＳ１信号の状態が決定される。このように、本実施の形態においては、リセット解除のタイミングに応じてＳ４信号の状態が決定される点以外は、第２の実施の形態にかかる情報処理装置１２と同様である。すなわち、ＣＰＵ１３０から「１０」または「１１」のＳ２信号が出力された場合には、それぞれＬまたはＨのＳ１信号を出力する。また、ＣＰＵ１３０から「０Ｘ」のＳ２信号が出力された場合には、Ｓ４信号がＳ１信号として出力される。
【００７５】
なお、第６の実施の形態にかかる情報処理装置２２のこれ以外の構成および動作は、他の実施の形態にかかる情報処理装置の構成および動作と同様である。
【００７６】
第６の実施の形態にかかる変更例としては、Ｓ１信号の状態をランダムに決定する構成においても、図１２および図１３を参照しつつ説明したように異常判定処理を行ってもよい。また、図１５を参照しつつ説明したように、情報のコピーを行ってもよい。
【図面の簡単な説明】
【００７７】
【図１】第１の実施の形態にかかる情報処理装置１０の基本的な構成を示すブロック図である。
【図２】制御部１２２の詳細な構成を示すブロック図である。
【図３】制御部１２２から入力されるＳ１信号と、選択部１２０からＹ０に出力されるＣＳ信号と、選択部１２０からＹ１に出力されるＣＳ信号との関係を示す図である。
【図４】第１の実施の形態にかかる情報処理装置１０の起動時の処理を示すフローチャートである。
【図５】図４を参照しつつ説明した起動時の処理におけるＳ１信号の切り替わりとＲＯＭ選択の処理の関係を説明するための図である。
【図６】第２の実施の形態にかかる情報処理装置１２の基本的な構成を示すブロック図である。
【図７】制御部１３２の詳細な構成を示すブロック図である。
【図８】ＦＦ回路１４０から選択部１４２に入力されるＳ５信号と、選択部１４２が出力するＳ１信号の関係を示す図である。
【図９】第２の実施の形態にかかる情報処理装置１２の起動時の処理を示すフローチャートである。
【図１０】Ｓ１信号の状態を変更する処理（ステップＳ１４２）を説明するための図である。
【図１１】第３の実施の形態にかかる情報処理装置１４の基本的な構成を示す図である。
【図１２】情報処理装置１４による処理を示すフローチャートである。
【図１３】異常判定処理（ステップＳ１５０）における詳細な処理を示すフローチャートである。
【図１４】第４の実施の形態にかかる情報処理装置１６の基本的な構成を示す図である。
【図１５】第４の実施の形態にかかる情報処理装置１６における故障判定処理を示すフローチャートである。
【図１６】第５の実施の形態にかかる情報処理装置２０の基本的な構成を示すブロック図である。
【図１７】ランダム制御部１５０の詳細な構成を示すブロック図である。
【図１８】ランダム制御部１５０に対する入力信号と出力信号の関係を示す図である。
【図１９】第６の実施の形態にかかる情報処理装置２２の基本的な構成を示すブロック図である。
【図２０】ランダム制御部１６０の詳細な構成を示すブロック図である。
【符号の説明】
【００７８】
１０，１２，１４，１６，２０，２２  情報処理装置
１００，１３０，１３４，１３６  ＣＰＵ
１０２  ＲＯＭ−Ａ
１０４  ＲＯＭ−Ｂ
１０６  ＲＡＭ
１１０  ローカルバス
１２０  選択部
１２２，１３２  制御部
１２４，１２６，１３４，１３６，１５２  反転回路
１２８，１３８，１４０  ＦＦ回路
１４２  選択部
１５０，１６０  ランダム回路
１５４，１６４，１６６  ＦＦ回路
１６８  選択部
【図１】
2008117148.tif 000003
【図２】
2008117148.tif 000004
【図３】
2008117148.tif 000005
【図４】
2008117148.tif 000006
【図５】
2008117148.tif 000007
【図６】
2008117148.tif 000008
【図７】
2008117148.tif 000009
【図８】
2008117148.tif 000010
【図９】
2008117148.tif 000011
【図１０】
2008117148.tif 000012
【図１１】
2008117148.tif 000013
【図１２】
2008117148.tif 000014
【図１３】
2008117148.tif 000015
【図１４】
2008117148.tif 000016
【図１５】
2008117148.tif 000017
【図１６】
2008117148.tif 000018
【図１７】
2008117148.tif 000019
【図１８】
2008117148.tif 000020
【図１９】
2008117148.tif 000021
【図２０】
2008117148.tif 000022