(57)【特許請求の範囲】
【請求項１】
起動時に複数の記憶手段のそれぞれに記憶された特定のデータの整合性をチェックするチェック処理を実行する第１の起動モードと、起動時に前記チェック処理を実行しない第２の起動モードと、を含む複数の起動モードの何れかで起動可能な情報処理装置であって、
前記複数の記憶手段のそれぞれから第１の所定のデータを読み出す第１の読出手段と、
前記第１の読出手段により読み出された前記第１の所定のデータを保持する保持手段と、
前記情報処理装置が前記第２の起動モードで起動する場合に、複数の記憶手段のそれぞれから第２の所定のデータを読み出す第２の読出手段と、
前記保持手段により保持された前記第１の所定のデータと前記第２の読出手段により読み出された前記第２の所定のデータとが一致しない場合に、前記チェック処理を実行するよう制御する制御手段と、を有することを特徴とする情報処理装置。
【請求項２】
前記第１の所定のデータ及び前記第２の所定のデータは、記憶手段を特定するための個体情報である、ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記第１の所定のデータ及び前記第２の所定のデータは、記憶手段のシリアルナンバーである、ことを特徴とする請求項１又は２に記載の情報処理装置。
【請求項４】
前記複数の記憶手段のそれぞれで記憶される前記特定のデータは、セキュリティーに関する情報、又は、課金に関する情報、であることを特徴とする請求項１乃至３の何れか１項に記載の情報処理装置。
【請求項５】
前記制御手段は、前記保持手段により保持された前記第１の所定のデータと前記第２の読出手段により読み出された前記第２の所定のデータとが一致しない場合に、前記情報処理装置を第１の起動モードで起動する、ことを特徴とする請求項１乃至４の何れか１項に記載の情報処理装置。
【請求項６】
前記制御手段は、前記チェック処理を実行した結果として、前記複数の記憶手段のそれぞれに記憶された前記特定のデータが互いに一致した場合に、前記情報処理装置を使用可能とする、ことを特徴とする請求項１乃至５の何れか１項に記載の情報処理装置。
【請求項７】
前記制御手段は、前記チェック処理を実行した結果として、前記複数の記憶手段のそれぞれに記憶された前記特定のデータが互いに一致しなかった場合に、エラーを通知する、ことを特徴とする請求項１乃至６の何れか１項に記載の情報処理装置。
【請求項８】
前記第１の起動モードは、ブート処理を行う起動モードである、ことを特徴とする請求項１乃至７の何れか１項に記載の情報処理装置。
【請求項９】
前記第２の起動モードは、ブート処理を行わずに揮発性のメモリに記憶されるデータを使ってレジューム処理を行う起動モードであることを特徴とする請求項１乃至８の何れか１項に記載の情報処理装置。
【請求項１０】
前記記憶手段は、不揮発性の記憶媒体である、ことを特徴とする請求項１乃至９の何れか１項に記載の情報処理装置。
【請求項１１】
画像を形成する画像形成手段を更に有する、ことを特徴とする請求項１乃至１０の何れか１項に記載の情報処理装置。
【請求項１２】
前記制御手段は、前記保持手段により保持された前記第１の所定のデータと前記第２の読出手段により読み出された前記第２の所定のデータとが一致する場合に、前記チェック処理を実行しない、ことを特徴とする請求項１乃至１１の何れか１項に記載の情報処理装置。
【請求項１３】
前記複数の記憶手段は、第１記憶手段、第２記憶手段及び第３記憶手段を含み、前記制御手段は、前記チェック処理を実行した結果として、前記第１記憶手段と前記第２記憶手段とに記憶された前記特定のデータが互いに一致し、前記第３記憶手段に記憶されたデータが前記第１記憶手段及び前記第２記憶手段に記憶された前記特定のデータとは一致しない場合、前記第１記憶手段及び前記第２記憶手段に記憶された前記特定のデータを前記第３記憶手段に記憶する、ことを特徴とする請求項１乃至１１の何れか１項に記載の情報処理装置。
【請求項１４】
起動時に複数の記憶手段のそれぞれに記憶された前記特定のデータの整合性をチェックするチェック処理を実行する第１の起動モードと、起動時に前記チェック処理を実行しない第２の起動モードと、を含む複数の起動モードの何れかで起動可能な情報処理装置の制御方法であって、
前記複数の記憶手段のそれぞれから第１の所定のデータを読み出す第１の読出工程と、前記第１の読出工程で読み出された前記第１の所定のデータを保持する保持工程と、
前記情報処理装置が前記第２の起動モードで起動する場合に、複数の記憶手段のそれぞれから第２の所定のデータを読み出す第２の読出工程と、
前記保持工程により保持された前記第１の所定のデータと前記第２の読出工程により読み出された前記第２の所定のデータとが一致しない場合に、前記チェック処理を実行するよう制御する制御工程と、を有することを特徴とする制御方法。
【請求項１５】
起動時に複数の記憶手段のそれぞれに記憶された前記特定のデータの整合性をチェックするチェック処理を実行する第１の起動モードと、起動時に前記チェック処理を実行しない第２の起動モードと、を含む複数の起動モードの何れかで起動可能な情報処理装置を、
前記複数の記憶手段のそれぞれから第１の所定のデータを読み出す第１の読出手段、前記第１の読出手段により読み出された前記第１の所定のデータを保持する保持手段、前記情報処理装置が前記第２の起動モードで起動する場合に、前記複数の記憶手段のそれぞれから第２の所定のデータを読み出す第２の読出手段、及び、前記保持手段により保持された前記第１の所定のデータと前記第２の読出手段により読み出された前記第２の所定のデータとが一致しない場合に、前記チェック処理を実行するよう制御する制御手段、として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理装置の制御方法及びプログラムに関する。
【背景技術】
【０００２】
近年、情報処理装置は、多機能化等により、ユーザが電源スイッチをＯＮにしてから実際に使用できるようになるまでに要する時間が長くなってきている。
この解決方法の一つとして、特許文献１に記載されているような、サスペンドという技術がある。具体的には、ユーザが電源スイッチをＯＦＦにした際に、シャットダウンを行うのではなく、ＲＡＭへの電力供給を継続することでデータを保持しつつ、その他の構成には電力供給を停止する（サスペンド）。そして、次にユーザが電源スイッチをＯＮにした際には、ブートを行うのではなく、停止していた構成への電力供給を再開してから、ＲＡＭに保持されていたデータを使用して速やかに復帰する（レジューム）。これにより、ユーザからは電源がＯＦＦになっているように見えつつも、実際には通常よりも高速に起動可能な状態を実現することができる。
一方、情報処理装置には、消えてしまうと動作上や運用上の観点から問題となるデータが存在する。例えば、データの信頼性が要求される、セキュリティーに関する情報や、課金に関する情報等である。このようなデータを守るため、複数のメモリを用いて多重バックアップ（相互にバックアップし合うこと）を行うことにより、一つのメモリが故障しても、他のメモリからデータを修復することができる技術がある。この技術では、ブート時に、多重バックアップしている領域を全てチェックし、複数のメモリ間のデータの整合性を確認している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００７−２９３８０６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、複数のメモリを用いて多重バックアップを行う情報処理装置に対して、サスペンド機能を適用すると、次のような課題が発生する。すなわち、サスペンド機能において、レジューム時にブートは行わないため、当然のことながら、ブート時に行われる複数のメモリ間のデータの整合性の確認も行われない。このため、例えば、サスペンド状態でユーザがメモリを交換した場合、その後は複数のメモリ間のデータの整合性がとれていない状態が継続してしまうのである。
【０００５】
このような事態を回避するため、レジューム時にも複数のメモリ間のデータの整合性を確認するようにすることが考えられるが、そうすると、サスペンド状態から復帰するのに要する時間が長くなってしまい、レジューム機能を適用した意味が薄れてしまう。
【０００６】
本発明は、複数のメモリを用いて多重バックアップを行う情報処理装置に対してサスペンド機能を適用した際に、サスペンド状態でメモリが交換されることで複数のメモリ間のデータの整合性がとれなくなることを検知することを目的とする。
【課題を解決するための手段】
【０００７】
本発明に係る情報処理装置は、複数の記憶手段のそれぞれで特定のデータを記憶し、前記複数の記憶手段に記憶される前記特定のデータの整合性をチェックするチェック処理を実行する第１の起動モードと、前記チェック処理を実行しない第２の起動モードとを含む複数の起動モードの何れかで起動可能な情報処理装置であって、前記複数の記憶手段のそれぞれから第１の所定のデータを読み出す第１の読出手段と、前記第１の読出手段により読み出された前記第１の所定のデータを保持する保持手段と、前記情報処理装置が前記第２の起動モードで起動する場合に、複数の記憶手段のそれぞれから第２の所定のデータを読み出す第２の読出手段と、前記保持手段により保持された前記第１の所定のデータと前記第２の読出手段により読み出された前記第２の所定のデータとが一致しない場合に、前記チェック処理を実行するよう制御する制御手段と、を有する。
【発明の効果】
【０００８】
本発明によれば、複数のメモリを用いて多重バックアップを行う情報処理装置に対してサスペンド機能を適用した際に、サスペンド状態でメモリが交換されることで複数のメモリ間のデータの整合性がとれなくなることを検知することが可能となる。
【図面の簡単な説明】
【０００９】
【図１】画像形成装置の構成を示すブロック図
【図２】ＮＶＭＥＭにおけるデータの配置例を示す図
【図３】ＮＶＭＥＭにおけるデータの整合チェックパターンを示す図
【図４】画像形成装置において電源スイッチがＯＮになった際の動作を示すフローチャート
【図５】整合性チェック処理Ａの詳細を示すフローチャート
【図６】整合性チェック処理Ｂの詳細を示すフローチャート
【図７】画像形成装置において電源スイッチがＯＮになった際の動作を示すフローチャート
【発明を実施するための形態】
【００１０】
以下、本発明の実施形態について、図面を用いて詳細に説明する。
【００１１】
なお、以下の説明ではプリンタ等に代表される画像形成装置について説明するが、本発明はＰＣ（パーソナルコンピュータ）等に代表される一般的な情報処理装置等に適用されてもよい。
【００１２】
〔第１の実施形態〕
図１は、画像形成装置の構成を示すブロック図である。
【００１３】
画像形成装置１００は、コントローラ部１０１、プリンタ部１０２、スキャナ部１０３、電源部１０４、電源スイッチ部１０５、操作部１０６から構成されている。
【００１４】
コントローラ部１０１は、デバイス制御Ｉ／Ｆを介してプリンタ部１０２、スキャナ部１０３に接続されており、画像形成装置１００の全体の制御を行う。詳細な構成は、後述する。
【００１５】
プリンタ部１０２は、コントローラ部１０１から送信される画像データを印刷用紙にプリントする。
【００１６】
スキャナ部１０３は、コントローラ部１０１からスキャン指示を受け付け、スキャン動作を行い、その画像データをコントローラ部１０１に送信する。
【００１７】
電源部１０４は、コントローラ部１０１、プリンタ部１０２、スキャナ部１０３に対して電力供給を行う。
【００１８】
電源スイッチ部１０５は、電力状態の移行要因を監視するものであり、ユーザがこれをＯＮ／ＯＦＦすることによって、電源ＯＮ／ＯＦＦやサスペンド状態への移行／復帰を指示することができる。
【００１９】
操作部１０６は、ＬＥＤ、液晶ディスプレイ、操作用ボタンなどを備え、ユーザからの操作を受け付け、その操作内容の表示や装置の内部状態の表示を行う。操作部１０６の電力は、コントローラ部１０１経由で供給される。
【００２０】
コントローラ部１０１は、ＦＥＴ１０７（半導体スイッチ）、ＦＥＴ１０８（半導体スイッチ）、電源制御部１０９、ＲＡＭ１１０、ＣＰＵ１１１、電源系Ａ１１２、ＨＤＤ１１３（ハードディスク）から構成されている。また、コントローラ部１０１は、ＮＶＭＥＭ−Ａ１１４（不揮発性メモリ）、ＮＶＭＥＭ−Ｂ１１５（不揮発性メモリ）、ＮＶＭＥＭ−Ｃ１１６（不揮発性メモリ）から構成されている。
【００２１】
ＦＥＴ１０７は、電源部１０４から電力供給を受け、電源スイッチ部１０５からの指示または電源制御部１０９からの指示に従い、電源系Ａ１１２とＦＥＴ１０８への電力の供給／遮断を行う。
【００２２】
ＦＥＴ１０８は、ＦＥＴ１０７から電力供給を受け、電源制御部１０９からの指示に従い、電源系Ｂ１１７への電力供給／遮断を行う。
【００２３】
電源制御部１０９は、電源スイッチ部１０５からの指示またはＣＰＵ１１１からの指示を受け、ＦＥＴ１０７、ＦＥＴ１０８の電力供給／遮断の指示を行う。また、ＣＰＵ１１１に電源スイッチ部１０５が操作された等の電源管理に必要な情報を通知する。
【００２４】
ＲＡＭ１１０は、揮発性の記憶媒体であり、ＣＰＵ１１１が使用するプログラムや画像データ等を一時的に記憶する。
【００２５】
ＣＰＵ１１１は、ＨＤＤ１１３に内蔵されているコントローラファームの実行媒体であり、各メモリや各Ｉ／Ｆなどを介して、コントローラ部１０１に接続されるデバイスの動作を制御する。
【００２６】
電源系Ａ１１２は、電源制御部１０９、ＲＡＭ１１０、ＣＰＵ１１１の一部を含み、画像形成装置１００の電源管理を行うためサスペンド状態でも電力は供給され続ける。
【００２７】
ＨＤＤ１１３は、磁気ディスクなどの記憶媒体であり、コントローラファームや画像データなどを記憶している。
【００２８】
ＮＶＭＥＭ−Ａ１１４、ＮＶＭＥＭ−Ｂ１１５、ＮＶＭＥＭ−Ｃ１１６は、不揮発の記憶媒体であり、画像形成装置１００の動作や表示などに必要なデータの中でも特に信頼性が要求されるデータを記憶している。多重バックアップの必要なデータは、同じ内容がＮＶＭＥＭ−Ａ１１４，ＮＶＭＥＭ−Ｂ１１５，ＮＶＭＥＭ−Ｃ１１６に保持されている。このような多重バックアップを行うことで一部のＮＶＭＥＭの故障や交換があっても、他のＮＶＭＥＭから修復を行うことができる。ＮＶＭＥＭ−Ａ１１４，ＮＶＭＥＭ−Ｂ１１５，ＮＶＭＥＭ−Ｃ１１６は容量や記憶素子などが異なっていてもよい。
【００２９】
電源系Ｂ１１７は、ＣＰＵ１１１、ＨＤＤ１１３、ＮＶＭＥＭ−Ａ１１４、ＮＶＭＥＭ−Ｂ１１５、ＮＶＭＥＭ−Ｃ１１６を含み、サスペンド状態で電力は遮断される。
【００３０】
ここで、画像形成装置１００が取り得る電力状態、画像形成装置１００が起動可能な起動モードについて説明しておく。
【００３１】
画像形成装置１００の電力状態には、電源ＯＮ状態、省電力状態、電源ＯＦＦ状態が存在する。電源ＯＮ状態とは、画像形成装置１００の構成のうち、プリンタ部１０２、スキャナ部１０３、操作部１０６、電源系Ａ１１２、電源系Ｂ１１７を含む全ての構成に対して電力供給が行われる電力状態のことである。省電力状態とは、画像形成装置１００の構成のうち、電源系Ａ１１２に対しては電力供給が行われるが、プリンタ部１０２、スキャナ部１０３、操作部１０６、電源系Ｂ１１７を含むその他の構成に対しては電力供給が行われない電力状態のことである。電源ＯＦＦ状態とは、画像形成装置１００の構成のうち、プリンタ部１０２、スキャナ部１０３、操作部１０６、電源系Ａ１１２、電源系Ｂ１１７を含む全ての構成に対して電力供給が行われない電力状態のことである。これらの電力状態を消費電力の大きい順に並べると、電源ＯＮ状態＞省電力状態＞電源ＯＦＦ状態となる。
【００３２】
画像形成装置１００の起動モードには、通常起動モード（第１の起動モード）と高速起動モード（第２の起動モード）が存在する。通常起動モードとは、電源ＯＦＦ状態で、電源スイッチがＯＮにされ、ブート処理を行って、電源ＯＮ状態に移行する起動モードのことである。高速起動モードとは、省電力状態で、電源スイッチがＯＮにされ、ブート処理を行うことなく、電源ＯＮ状態に移行する起動モードのことである。これらの起動モードを起動時間の速い順に並べると、高速起動モード＞通常起動モードとなる。
【００３３】
図２は、ＮＶＭＥＭにおけるデータの配置例を示す図である。このような仕組みにより、メモリ内におけるデータの整合チェックを行うことができる。
【００３４】
ここでは、４バイト単位でデータを保持しており、１６バイト単位にブロックを分け、各ブロックでチェックサムを保持している。具体的には、０ｘ００００〜０ｘ０００Ｆが第１のブロック、０ｘ００１０〜０ｘ００１Ｆが第２のブロック、０ｘ００２０〜０ｘ００２Ｆが第３のブロックというように分けている。
【００３５】
また、第１のブロックは、チェックサム０、データ０１、データ０２、データ０３から構成されており、チェックサム０は０ｘ０００４〜０ｘ０００Ｆをバイト単位で加算し、最後に１加算したものである。データ０１、データ０２、データ０３のいずれかの書き込み時、チェックサムも再計算し書き込む。これにより、メモリ単位で、整合チェック時にデータ０１、データ０２、データ０３の値が壊れていないかチェックすることができる。
第２のブロック以降も同様の形式である。
【００３６】
図３は、ＮＶＭＥＭにおけるデータの整合チェックパターンを示す図である。このような方法により、複数のメモリ間におけるデータの整合チェックを行うことができる。
【００３７】
パターン１は、全ＮＶＭＥＭの値が”Ａ”であり、整合がとれている状態を示している。そのため、修復処理を行う必要はなく、正常起動する。
【００３８】
パターン２は、ＮＶＭＥＭ−Ｂの値のみが”Ｂ”で異なっており、各メモリの多数決によりＮＶＭＥＭ−Ｂの値を”Ａ”に修復し、正常起動する。
【００３９】
パターン３は、ＮＶＭＥＭ−Ａの値ものが”Ａ”で異なっており、各メモリの多数決によりＮＶＭＥＭ−Ａの値を”Ｂ”に修復し、正常起動する。
【００４０】
パターン４は、全ＮＶＭＥＭの値が異なっており、各メモリの多数決では修復元を決定でいないため、操作部１０６にエラーを表示する。
【００４１】
パターン５は、ＮＶＭＥＭ−Ｃの値がチェックサムエラーで特定できないことを示している（表中には”‐”で表記する）。この場合、ＮＶＭＥＭ−Ａ／ＮＶＭＥＭ−Ｂの値は”Ａ”で一致しているため、ＮＶＭＥＭ−Ｃの値を”Ａ”に修復し、正常起動する。
【００４２】
パターン６は、ＮＶＭＥＭ−Ｃの値がチェックサムエラーで、かつ、ＮＶＭＥＭ−ＡとＮＶＭＥＭ−Ｂの値が異なるため、修復元を決定できないため、操作部１０６にエラーを表示する。
【００４３】
パターン７は、ＮＶＭＥＭ−Ａのみ値が正常なため、ＮＶＭＥＭ−ＢとＮＶＭＥＭ−Ｃの値を”Ａ”に修復し、正常起動する。
【００４４】
パターン８は、全ＮＶＭＥＭがチェックサムエラーとなっているため、操作部１０６にエラーを表示する。
【００４５】
なお、これらのパターンは、代表的なものを示しており、予め整合チェック方法と修復方法が決まっていれば、これ以外の方法を採用してもよい。例えば、今回は単純な多数決による修復方法を例に示したが、各ＮＶＭＥＭのハード的な信頼度などに応じて重みづけを行ってもよい。
【００４６】
また、ここではＮＶＭＥＭの個数が３つの場合について説明したが、ＮＶＭＥＭの個数は複数であれば３つ以外であってもよい。
【００４７】
図４は、画像形成装置において電源スイッチがＯＮになった際の動作を示すフローチャートである。図４の処理は、ＣＰＵ１１１が、ＨＤＤ１１３に記憶されたプログラムをＲＡＭ１１０に読み出して実行することによって実現される。なお、高速起動モードで起動する際には、プログラムは既にＲＡＭ１１０に保持されているため、プログラムをＲＡＭ１１０からＨＤＤ１１３に読み出す処理は省略される。
【００４８】
Ｓ１０１において、電源スイッチ部１０５は、電源がＯＮされたことを検知する。
【００４９】
Ｓ１０２において、今回の起動が通常起動モードの起動であればＳ１０３に進み、今回の起動が高速起動モードの起動であればＳ１０８に進む。ここで、通常起動モードとは、電源系Ａ１１２と電源系Ｂ１１７のどちらにも電力が供給されない電源ＯＦＦ状態からブート処理を行って起動する起動方法であり、Ｓ１０３〜Ｓ１０６に対応する。一方、高速起動モードとは、ＲＡＭ１１０に保持されたＲＡＭイメージを用いて、電源系Ａ１１２に電力供給され電源系Ｂ１１７には電力供給ないサスペンド状態からレジューム処理を行って起動する起動方法であり、Ｓ１０８〜Ｓ１０９に対応する。すなわち、Ｓ１０２においては、電源がＯＮされた時の状態が電源ＯＦＦ状態であればＳ１０３に進み、電源がＯＮされた時の状態がサスペンド状態であればＳ１０８に進む。
【００５０】
Ｓ１０３において、ＦＥＴ１０７は、電源スイッチ部１０５からの指示を受け、電源部１０４から供給されている電力を、電源系Ａ１１２とＦＥＴ１０８に供給する。
【００５１】
Ｓ１０４において、電源制御部１０９は、ＦＥＴ１０７からの電力供給を受け起動し、ＦＥＴ１０７とＦＥＴ１０８に電力供給指示を行う。ＦＥＴ１０７は、すでに電源スイッチ部１０５から電力供給指示を受けている。しかし、電源制御部１０９からも電力供給指示を行うことで、ＦＥＴ１０７が電源スイッチ部１０５から電力遮断指示を受けても、ＦＥＴ１０７の電力は遮断されなくなる。そして、電源制御部１０９からの電力遮断指示も必要となる。これにより、ＣＰＵ１１１で電力管理を行うことができるようになる。また、ＦＥＴ１０８は、電源制御部１０９から電源供給指示を受けることで、電源系Ｂ１１７に電力供給を行う。
【００５２】
Ｓ１０５において、ＣＰＵ１１１は、ＲＡＭチェック等を含むブート処理を実行する。
【００５３】
Ｓ１０６において、ＣＰＵ１１１は、ＨＤＤ１１３に保存されているコントローラファームをＲＡＭ１１０に読み込み、その展開したプログラムに従い処理を実行し、システム全体を起動させる。
【００５４】
Ｓ１０７において、ＣＰＵ１１１は、複数のＭＶＭＥＭに対して整合チェック処理Ａを実行する。整合チェック処理Ａの詳細は、図５を用いて後述する。
【００５５】
Ｓ１０８において、ＣＰＵ１１１は、電源制御部１０９経由で、ＦＥＴ１０８に電力供給指示を行う。これを受け、ＦＥＴ１０８は、電源系Ｂに電力供給を行う。
【００５６】
Ｓ１０９において、ＣＰＵ１１１は、サスペンド状態になっているコントローラファームのレジューム処理を実行し、システム全体を起動させる。
【００５７】
Ｓ１０７において、ＣＰＵ１１１は、複数のＭＶＭＥＭに対して整合チェック処理Ｂを実行する。整合チェック処理Ｂの詳細は、図６を用いて後述する。
【００５８】
図５は、整合性チェック処理Ａの詳細を示すフローチャートである。整合性チェック処理Ａとは、通常起動モードで起動した際に複数のＭＶＭＥＭに対して行う整合チェック処理方法である。図５の処理は、ＣＰＵ１１１が、ＨＤＤ１１３に記憶されたプログラムをＲＡＭ１１０に読み出して実行することによって実現される。
【００５９】
Ｓ２０１において、ＣＰＵ１１１は、各ＮＶＭＥＭの全データを読出してＲＡＭ１１０に記憶する。なお、この時に読出す各ＮＶＭＥＭのデータの中には、代表データ（所定のデータ）も含まれる。代表データとは、シリアルナンバーなどの個体情報等のように、前回起動時から今回起動時までの間に変化することのないデータである。代表データは、例えば、各ＮＶＭＥＭにおいて、図２のデータ０１に保持されている。
【００６０】
Ｓ２０２において、ＣＰＵ１１１は、各ＮＶＭＥＭ間のデータの値のチェックを一つずつ行う。このチェック方法は、図３を用いて説明した通りである。Ｓ２０２でＯＫであれば、Ｓ２０５に進む。Ｓ２０２でＮＧであれば、Ｓ２０３に進む。
【００６１】
Ｓ２０３において、ＣＰＵ１１１は、整合がとれなかったデータの修復が可能か否か判断する。Ｓ２０３でＹＥＳであれば、Ｓ２０４に進む。Ｓ２０３でＮＯであれば、Ｓ２０６に進む。
【００６２】
Ｓ２０４において、ＣＰＵ１１１は、Ｓ２０２でチェックした整合のパターンに対応する修復方法でデータの修復処理を行う。整合のパターンと修復処理の対応関係は、図３を用いて説明した通りである。
【００６３】
Ｓ２０５において、ＣＰＵ１１１は、全領域のデータのチェックが完了したか否か判断する。ここで、Ｓ２０５が正常に終了した際に、ＣＰＵ１１１は、各ＮＶＭＥＭの代表データをＲＡＭ１１０に保持する。Ｓ２０５でＹＥＳであれば、メインフローに戻り、画像形成装置１００を使用可能とする。Ｓ２０５でＮＯであれば、Ｓ２０２に進む。
【００６４】
Ｓ２０６において、ＣＰＵ１１１は、操作部１０６にエラーを表示する。
【００６５】
図６は、整合性チェック処理Ｂの詳細を示すフローチャートである。整合性チェック処理Ｂとは、高速起動モードで起動した際に複数のＭＶＭＥＭに対して行う整合チェック処理方法である。図６の処理は、ＣＰＵ１１１が、ＨＤＤ１１３に記憶されたプログラムをＲＡＭ１１０に読み出して実行することによって実現される。
【００６６】
Ｓ３０１において、ＣＰＵ１１１は、ＲＡＭ１１０に保持されている各ＮＶＭＥＭの整合チェック済みのデータにアクセスし、前回通常起動時の各ＮＶＭＥＭの代表データを読み出す（第１の読出）。
【００６７】
Ｓ３０２において、ＣＰＵ１１１は、現在接続されている各ＮＶＭＥＭの代表データにアクセスし、今回高速起動時の各ＮＶＭＥＭの代表データを読み出す（第２の読出）。
【００６８】
Ｓ３０３において、ＣＰＵ１１１は、各ＮＶＭＥＭについて、代表データのみを使用して、高速に各ＮＶＭＥＭの整合チェックを行う。具体的には、各ＮＶＭＥＭについて、Ｓ３０１で読み出した前回通常起動時のＮＶＭＥＭの代表データと、Ｓ３０２で読み出した今回高速起動時のＮＶＭＥＭの代表データとを比較し、代表データが一致するか否かチェックする。Ｓ３０３でＯＫであれば、メインフローに戻り、画像形成装置１００を使用可能とする。Ｓ３０３でＮＧであれば、Ｓ３０４に進む。
【００６９】
Ｓ３０４において、ＣＰＵ１１１は、再起動を行う。この再起動には、Ｓ１０３〜Ｓ１０６で説明した通常起動モードの起動処理と、Ｓ１０７で説明した整合チェックＡが含まれる。
【００７０】
図７は、画像形成装置において電源スイッチがＯＦＦになった際の動作を示すフローチャートである。図７の処理は、ＣＰＵ１１１が、ＨＤＤ１１３に記憶されたプログラムをＲＡＭ１１０に読み出して実行することによって実現される。図７の処理は、ＣＰＵ１１１が、ＨＤＤ１１３に記憶されたプログラムをＲＡＭ１１０に読み出して実行することによって実現される。
【００７１】
Ｓ４０１において、ＣＰＵ１１１は、電源制御部１０９経由で、電源スイッチ部１０５がＯＦＦされたことを検知する。
【００７２】
Ｓ４０２において、ＣＰＵ１１１は、ＮＶＭＥＭ−Ａ１１４に保存されている起動モードを読み込み、高速起動モードが有効になっているか否か判断する。Ｓ４０２でＹＥＳであれば、Ｓ４０５に進む。Ｓ４０２でＮＯであれば、Ｓ４０３に進む。
【００７３】
Ｓ４０３において、ＣＰＵ１１１は、画像形成装置１００のシャットダウン処理を行う。
【００７４】
Ｓ４０４において、ＣＰＵ１１１は、電源制御部１０９経由で、ＦＥＴ１０７及びＦＥＴ１０８に電力遮断指示を行う。これにより、電源系Ａ１１２及び電源系Ｂ１１７への電力供給が遮断され、画像形成装置１００は電源ＯＦＦ状態となる。
【００７５】
Ｓ４０５において、ＣＰＵ１１１は、画像形成装置１００のサスペンド処理を行う。
【００７６】
Ｓ４０６において、ＣＰＵ１１１は、電源制御部１０９経由で、ＦＥＴ１０８に電力遮断指示を行う。これにより、電源系Ａ１１２への電力供給は継続されつつ、電源系Ｂ１１７への電力供給が遮断され、画像形成装置１００はサスペンド状態となる。
【００７７】
第１の実施形態によれば、高速起動モードで起動する際に、各メモリについて、前回通常起動時の代表データと今回高速起動時の代表データを比較して、データの整合性のチェックを行う。これにより、複数のメモリを用いて多重バックアップを行う情報処理装置に対してサスペンド機能を適用した際に、サスペンド状態でメモリが交換されることで複数のメモリ間のデータの整合性がとれなくなることを検知することが可能となる。
【００７８】
〔他の実施形態〕
本発明は、以下の処理を実行することによっても実現される。
【００７９】
即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
0006000655.tif 000002
【図２】
0006000655.tif 000003
【図３】
0006000655.tif 000004
【図４】
0006000655.tif 000005
【図５】
0006000655.tif 000006
【図６】
0006000655.tif 000007
【図７】
0006000655.tif 000008