(57)【要約】      （修正有）【課題】ミラーリングに使用する一方のＨＤＤが故障した際の故障リスクを軽減することができる情報処理装置を提供する。【解決手段】動画形成装置１００は、ＨＤＤ１３４が故障した際に故障せずに動作しているＨＤＤ１３５がベリファイ非対応品である場合、ＨＤＤ１３５の異なる複数の記憶領域にそれぞれ同一内容のデータを書き込む。【選択図】図１
2020173550.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも一方がベリファイ処理に対応しないベリファイ非対応品である２つの記憶デバイスを備える情報処理装置であって、
各前記記憶デバイスに同一内容のデータを書き込む制御を行う書き込み制御手段を備え、
一方の前記記憶デバイスが故障した際に故障せずに動作している他方の前記記憶デバイスがベリファイ非対応品である場合、前記書き込み制御手段は、他方の前記記憶デバイスの異なる複数の記憶領域にそれぞれ同一内容のデータを書き込む制御を行うことを特徴とする情報処理装置。
【請求項２】
画像形成処理に用いられる画像データを前記記憶デバイスに格納する画像形成装置であることを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記記憶デバイスは、ＨＤＤであることを特徴とする請求項１又は２記載の情報処理装置。
【請求項４】
少なくとも一方がベリファイ処理に対応しないベリファイ非対応品である２つの記憶デバイスを備える情報処理装置の制御方法であって、
各前記記憶デバイスに同一内容のデータを書き込む制御を行う書き込み制御ステップを有し、
一方の前記記憶デバイスが故障した際に故障せずに動作している他方の前記記憶デバイスがベリファイ非対応品である場合、前記書き込み制御ステップは、他方の前記記憶デバイスの異なる複数の記憶領域にそれぞれ同一内容のデータを書き込む制御を行うことを特徴とする情報処理装置の制御方法。
【請求項５】
少なくとも一方がベリファイ処理に対応しないベリファイ非対応品である２つの記憶デバイスを備える情報処理装置の制御方法をコンピュータに実行させるプログラムであって、
前記情報処理装置の制御方法は、
各前記記憶デバイスに同一内容のデータを書き込む制御を行う書き込み制御ステップを有し、
一方の前記記憶デバイスが故障した際に故障せずに動作している他方の前記記憶デバイスがベリファイ非対応品である場合、前記書き込み制御ステップは、他方の前記記憶デバイスの異なる複数の記憶領域にそれぞれ同一内容のデータを書き込む制御を行うことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、その制御方法、及びプログラムに関する。
【背景技術】
【０００２】
ＨＤＤを備える情報処理装置が知られている。情報処理装置は、ＨＤＤを、例えば、印刷ジョブに用いられる画像データや設定データの格納先として使用する。情報処理装置は、データがＨＤＤに正常に書き込まれたか否かを判別するベリファイ処理を実行する（例えば、特許文献１参照）。ベリファイ処理では、情報処理装置は、例えば、ＨＤＤに書き込まれたデータを読み出し、読み出したデータとＨＤＤに書き込まれる直前のデータとの一致判定を行う（例えば、特許文献２参照）。これにより、ＨＤＤに書き込まれたデータの信頼性を向上することができる。
【０００３】
また、情報処理装置は、搭載された２つのＨＤＤに同一内容のデータを書き込むミラーリングを行う。これにより、例えば、一方のＨＤＤが故障しても、他方のＨＤＤにバックアップされた画像データを読み出して、印刷ジョブを遅滞なく処理することが可能となる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０００−９９２７９号公報
【特許文献２】特開２００７−１２２７７２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来では、ミラーリングに使用する一方のＨＤＤが故障し、故障せずに動作している他方のＨＤＤがベリファイ処理に対応しないベリファイ非対応品である場合、データがバックアップされず、またＨＤＤに書き込まれたデータの信頼性が低下する。その結果、故障リスクが増大してしまうという問題が生じる。
【０００６】
本発明の目的は、ミラーリングに使用する一方のＨＤＤが故障した際の故障リスクを軽減することができる情報処理装置、その制御方法、及びプログラムを提供することにある。
【課題を解決するための手段】
【０００７】
上記目的を達成するために、本発明の情報処理装置は、少なくとも一方がベリファイ処理に対応しないベリファイ非対応品である２つの記憶デバイスを備える情報処理装置であって、各前記記憶デバイスに同一内容のデータを書き込む制御を行う書き込み制御手段を備え、一方の前記記憶デバイスが故障した際に故障せずに動作している他方の前記記憶デバイスがベリファイ非対応品である場合、前記書き込み制御手段は、他方の前記記憶デバイスの異なる複数の記憶領域にそれぞれ同一内容のデータを書き込む制御を行うことを特徴とする。
【発明の効果】
【０００８】
本発明によれば、ミラーリングに使用する一方のＨＤＤが故障した際の故障リスクを軽減することができる。
【図面の簡単な説明】
【０００９】
【図１】本発明の実施の形態に係る画像形成装置の構成を概略的に示すブロック図である。
【図２】図１の画像形成装置のソフトウェア構成を示すブロック図である。
【図３】図１の画像形成装置によって実行されるフラグ初期化処理の手順を示すフローチャートである。
【図４】図１の画像形成装置が管理するＨＤＤ状態テーブルの一例を示す図である。
【図５】図１の画像形成装置によって実行されるテーブル更新処理の手順を示すフローチャートである。
【図６】図１の画像形成装置が管理するベリファイ対応品ＩＤ一覧情報の一例を示す図である。
【図７】図１の画像形成装置によって実行される保護フラグ設定処理の手順を示すフローチャートである。
【図８】図１の画像形成装置によって実行されるデータ書き込み処理の手順を示すフローチャートである。
【図９】ベリファイコマンド品であるＨＤＤを備える画像形成装置の構成を概略的に示すブロック図である。
【図１０】図９の画像形成装置が管理するＨＤＤ状態テーブルの一例を示す図である。
【図１１】図９の画像形成装置が管理するベリファイコマンド品ＩＤ一覧情報の一例を示す図である。
【図１２】図７の保護フラグ設定処理の変形例の手順を示すフローチャートである。
【図１３】図８のデータ書き込み処理の変形例の手順を示すフローチャートである。
【発明を実施するための形態】
【００１０】
以下、本発明の実施の形態について図面を参照しながら詳述する。なお、本実施の形態では、情報処理装置としての画像形成装置に本発明を適用した場合について説明するが、本発明は画像形成装置に限られない。例えば、搭載された複数の記憶デバイスを使用してミラーリングを行うＰＣ、スマホ、タブレット端末といった通信装置に本発明を適用してもよい。
【００１１】
図１は、本発明の実施の形態に係る画像形成装置１００の構成を概略的に示すブロック図である。図１において、画像形成装置１００は、制御部１０１、操作部１１１、ＡＤＦ１１４、スキャナ１１７、プリンタ１２０、ＬＡＮＩ／Ｆ１２２、及びＦＡＸ部１２４を備える。また、画像形成装置１００は、複数、例えば２つのＨＤＤ１３４及びＨＤＤ１３５を備える。制御部１０１は、操作部１１１、ＡＤＦ１１４、スキャナ１１７、プリンタ１２０、ＬＡＮＩ／Ｆ１２２、ＦＡＸ部１２４、ＨＤＤ１３４、及びＨＤＤ１３５と接続されている。
【００１２】
画像形成装置１００は、ミラーリング機能を備え、ＨＤＤ１３４及びＨＤＤ１３５に同一内容のデータを書き込む。例えば、画像形成装置１００は、画像形成処理に用いる画像データを、ミラーリング機能によってＨＤＤ１３４及びＨＤＤ１３５の両方に書き込む。これにより、例えば、ＨＤＤ１３４が故障しても、ＨＤＤ１３５から画像データを読み出すことで、当該画像データを用いた画像形成処理を遅滞無く実行することができる。
【００１３】
制御部１０１は、ＣＰＵ１０２、ＲＡＭ１０４、ＲＯＭ１０５、電源制御部１０６、電源部１０８、人感センサ１０９、操作部Ｉ／Ｆ１１０、ＡＤＦＩ／Ｆ１１３、スキャナＩ／Ｆ１１６、画像処理部１１８、プリンタＩ／Ｆ１１９、ＬＡＮコントローラ１２１、ＦＡＸＩ／Ｆ１２３、ディスクアレイ制御部１３０、ＨＤＤＩ／Ｆ１３２、ＨＤＤＩ／Ｆ１３３、及びデータ記憶部１３６を備える。なお、ＡＤＦは、Ａｕｔｏ  Ｄｏｃｕｍｅｎｔ  Ｆｅｅｄｅｒの略称である。ＣＰＵ１０２、ＲＡＭ１０４、ＲＯＭ１０５、電源制御部１０６、人感センサ１０９、操作部Ｉ／Ｆ１１０、ＡＤＦＩ／Ｆ１１３、スキャナＩ／Ｆ１１６、画像処理部１１８、プリンタＩ／Ｆ１１９、ＬＡＮコントローラ１２１、ＦＡＸＩ／Ｆ１２３、及びディスクアレイ制御部１３０は、システムバス１３７を介して互いに接続されている。電源部１０８は、電源制御部１０６と接続されている。ＨＤＤＩ／Ｆ１３２、ＨＤＤＩ／Ｆ１３３、及びデータ記憶部１３６は、ディスクアレイ制御部１３０と接続されている。
【００１４】
ＣＰＵ１０２は、ＳＡＴＡ（Ｓｅｒｉａｌ  ＡＴＡ）コントローラ１０３を備える。ＣＰＵ１０２は、画像形成装置１００全体を統括的に制御する。ＳＡＴＡコントローラ１０３は、ディスクアレイ制御部１３０と通信を行う。ＣＰＵ１０２及びディスクアレイ制御部１３０の間の通信規格として、ＳＡＴＡが用いられる。ＲＡＭ１０４は、ＣＰＵ１０２の作業領域として、また、データを一時的に格納する領域として用いられる。ＲＯＭ１０５は、画像形成装置１００の起動プログラムや各種設定データ等を格納する。
【００１５】
電源制御部１０６は、画像形成装置１００の各ユニットへの電力の供給を制御する。電源制御部１０６は、電源１０７に接続される電源部１０８から画像形成装置１００の各ユニットへの電力の供給を制御する。人感センサ１０９は、画像形成装置１００に近付く人を検知する。画像形成装置１００の省電力モード時にユーザが画像形成装置１００に近付くと、画像形成装置１００は、省電力モードから通常動作モードへ移行する。
【００１６】
操作部Ｉ／Ｆ１１０は、操作部１１１を制御部１０１に接続するためのインターフェースである。操作部１１１は、節電キー１１２を含む複数のハードキー及び液晶パネル（不図示）を備える。操作部１１１は、ユーザから入力される指示を受け付け、また、画像形成装置１００の各種設定画面を表示する。
【００１７】
ＡＤＦＩ／Ｆ１１３は、ＡＤＦ１１４を制御部１０１に接続するためのインターフェースである。ＡＤＦ１１４は、原稿検知部１１５を備える。ＡＤＦ１１４は、載置された原稿束から自動で一枚ずつ原稿をスキャナ１１７へ搬送する。原稿検知部１１５は、原稿がＡＤＦ１１４に載置されたことを検知する。また、原稿検知部１１５は、ＡＤＦＩ／Ｆ１１３を経由して電源制御部１０６に接続されている。画像形成装置１００の省電力モードにおいて原稿検知部１１５が原稿を検知した場合、画像形成装置１００は、省電力モードからスタンバイモードへ移行する。
【００１８】
スキャナＩ／Ｆ１１６は、スキャナ１１７を制御部１０１に接続するためのインターフェースである。スキャナ１１７は、搬送された原稿の画像を読み取って画像データを生成する。画像処理部１１８は、スキャナ１１７が生成した画像データに対し、プリンタ１２０へ出力するための画像処理を施す。プリンタＩ／Ｆ１１９は、プリンタ１２０を制御部１０１に接続するためのインターフェースである。プリンタ１２０は、画像処理済みの画像データに基づいて印刷処理を行う。ＬＡＮコントローラ１２１は、ＬＡＮＩ／Ｆ１２２を介して接続された外部装置（不図示）との通信を制御する。
【００１９】
ＦＡＸＩ／Ｆ１２３は、ＦＡＸ部１２４を制御部１０１に接続するためのインターフェースである。ＦＡＸ部１２４は、モデム１２６、ＣＰＵ１２７、ＲＡＭ１２８、及びＲＯＭ１２９を備える。モデム１２６、ＣＰＵ１２７、ＲＡＭ１２８、及びＲＯＭ１２９は、バス１３８を介して互いに接続されている。ＦＡＸ部１２４は、電話回線１２５を介して外部装置とＦＡＸ通信を行う。モデム１２６は、ＦＡＸ部１２４がＦＡＸ通信を行うための変調を行う。ＣＰＵ１２７は、ＦＡＸ部１２４全体を制御する。ＲＡＭ１２８は、ＣＰＵ１２７の作業領域として、また、各データを一時的に格納する領域として用いられる。ＲＯＭ１２９は、ＦＡＸ部１２４の起動プログラムや各種設定データ等を格納する。なお、本実施の形態では、ＣＰＵ１２７、ＲＡＭ１２８、及びＲＯＭ１２９をＦＡＸ部１２４ではなく、制御部１０１が備えていても良い。
【００２０】
ディスクアレイ制御部１３０は、ＳＡＴＡコントローラ１３１を備える。ディスクアレイ制御部１３０は、ＣＰＵ１０２から受けた指示に基づいてＨＤＤ１３４及びＨＤＤ１３５にデータを書き込む制御、又はＨＤＤ１３４及びＨＤＤ１３５からデータを読み出す制御を行う。また、ディスクアレイ制御部１３０は、ミラーリング機能によってＨＤＤ１３４及びＨＤＤ１３５に同一内容のデータを書き込む制御を行う。ＳＡＴＡコントローラ１３１は、ＣＰＵ１０２との通信を制御する。
【００２１】
ＨＤＤＩ／Ｆ１３２は、プライマリ記憶デバイス、例えば、ＨＤＤ１３４を制御部１０１に接続するためのインターフェースである。ＨＤＤＩ／Ｆ１３３は、セカンダリ記憶デバイス、例えば、ＨＤＤ１３５を制御部１０１に接続するためのインターフェースである。本実施の形態では、ミラーリング機能によってＨＤＤ１３４及びＨＤＤ１３５に同一内容のデータが書き込まれるが、当該データを読み出す際にはプライマリ記憶デバイスであるＨＤＤ１３４からデータが読み出される。ＨＤＤ１３４は、不揮発性の記憶デバイスであり、画像形成装置１００のプライマリ記憶デバイスとして機能する。ＨＤＤ１３４は、ＣＰＵ１０２が実行するプログラム、画像形成処理に用いられる画像データ、及び画像形成装置１００の設定データ等を格納する。ＨＤＤ１３５は、不揮発性の記憶デバイスであり、画像形成装置１００のセカンダリ記憶デバイスとして機能する。ＨＤＤ１３５は、ＨＤＤ１３４と同一内容のデータを格納する。データ記憶部１３６は、例えば、ＳＲＡＭである。データ記憶部１３６は、ミラーリングで用いられる各種データ、例えば、ＨＤＤ１３４及びＨＤＤ１３５の種類を示すデータや、ＨＤＤ１３４及びＨＤＤ１３５の個数を示すデータを記憶する。
【００２２】
図２は、図１の画像形成装置１００のソフトウェア構成を示すブロック図である。図２において、画像形成装置１００は、モジュールとして、アプリケーション２０１、Ｌｉｎｕｘ２０２、及びＳＡＴＡドライバ２０３を備える。図２の各モジュールの処理は、ＣＰＵ１０２がＲＯＭ１０５等に格納されたプログラムを実行することによって行われる。なお、本実施の形態では、図２の各モジュールの処理が、ＬＡＮＩ／Ｆ１２２を介して取得したプログラムをＣＰＵ１０２が実行することによって行われても良い。
【００２３】
アプリケーション２０１は、コピー機能、スキャン機能、プリント機能といった画像形成装置１００の各機能を実現するためのモジュールである。例えば、アプリケーション２０１は、プリント機能を実現する上で必要となる画像データの書き込み要求や読み出し要求をＬｉｎｕｘ２０２に送信する。Ｌｉｎｕｘ２０２は、アプリケーション２０１から受信した要求をＳＡＴＡドライバ２０３に転送する。ＳＡＴＡドライバ２０３は、Ｌｉｎｕｘ２０２から受信した要求に基づいてハードウェアモジュール２０４におけるデータ読み書き処理を制御する。ハードウェアモジュール２０４は、ディスクアレイ制御部１３０、ＨＤＤＩ／Ｆ１３２、ＨＤＤＩ／Ｆ１３３、ＨＤＤ１３４、ＨＤＤ１３５を含む。
【００２４】
図３は、図１の画像形成装置１００によって実行されるフラグ初期化処理の手順を示すフローチャートである。図３の処理は、ＣＰＵ１０２が、ＲＯＭ１０５等に格納されたプログラムを実行することによって行われる。図３の処理は、ＣＰＵ１０２が起動した場合、又はＨＤＤ１３４及びＨＤＤ１３５の何れかの故障（以下、「デグレード」という。）を検知した場合に実行される。
【００２５】
図３において、ＣＰＵ１０２は、図４（ａ）のＨＤＤ状態テーブル４００の更新有無状況を示すＴＢＬＦＬＧを０にクリアする（ステップＳ３０１）。
【００２６】
ＨＤＤ状態テーブル４００は、ＣＰＵ１０２の起動時に作成され、ＲＯＭ１０５等に格納される。ＨＤＤ状態テーブル４００は、ミラーリング機能値４０１、ミラーリング状態値４０２、プライマリ状態値４０３、プライマリＩＤ４０４、プライマリＷ＋Ｖ値４０５、セカンダリ状態値４０６、セカンダリＩＤ４０７、及びセカンダリＷ＋Ｖ値４０８を含む。
【００２７】
ミラーリング機能値４０１は、ミラーリング機能のＯＮ／ＯＦＦを示す設定値である。例えば、ミラーリング機能がＯＮに設定された場合、この旨を示す『１』がミラーリング機能値４０１としてＨＤＤ状態テーブル４００に記録される。ミラーリング機能がＯＦＦに設定された場合、この旨を示す『０』がミラーリング機能値４０１としてＨＤＤ状態テーブル４００に記録される。
【００２８】
ミラーリング状態値４０２は、ミラーリング動作状態を示す設定値である。例えば、正常なミラーリング動作が行われている場合、この旨を示す『１』がミラーリング状態値４０２としてＨＤＤ状態テーブル４００に記録される。プライマリ記憶デバイスが故障している場合、この旨を示す『２』がミラーリング状態値４０２としてＨＤＤ状態テーブル４００に記録される。セカンダリ記憶デバイスが故障している場合、この旨を示す『３』がミラーリング状態値４０２としてＨＤＤ状態テーブル４００に記録される。
【００２９】
プライマリ状態値４０３は、プライマリ記憶デバイスが故障しているか否かを示す設定値である。例えば、プライマリ記憶デバイスが故障していない場合、プライマリ記憶デバイスが正常状態であることを示す『１』がプライマリ状態値４０３としてＨＤＤ状態テーブル４００に記録される。プライマリ記憶デバイスが故障している場合、この旨を示す『０』がプライマリ状態値４０３としてＨＤＤ状態テーブル４００に記録される。プライマリＩＤ４０４は、プライマリ記憶デバイスに一意に割り当てられた識別子である。
【００３０】
プライマリＷ＋Ｖ値４０５は、プライマリ記憶デバイスがベリファイ処理に対応するベリファイ対応品であるか否かを示す設定値である。ベリファイ処理は、記憶デバイスにデータが正常に書き込まれたか否かを判別する処理である。ベリファイ対応品の記憶デバイスにデータが書き込まれると、上記記憶デバイスから読み出された上記データと、上記記憶デバイスに書き込む直前のデータとの一致判定が行われる。例えば、プライマリ記憶デバイスがベリファイ対応品である場合、この旨を示す『１』がプライマリＷ＋Ｖ値４０５としてＨＤＤ状態テーブル４００に記録される。プライマリ記憶デバイスがベリファイ処理に対応しないベリファイ非対応品である場合、この旨を示す『０』がプライマリＷ＋Ｖ値４０５としてＨＤＤ状態テーブル４００に記録される。
【００３１】
セカンダリ状態値４０６、セカンダリ記憶デバイスが故障しているか否かを示す設定値である。セカンダリＩＤ４０７は、セカンダリ記憶デバイスに一意に割り当てられた識別子である。セカンダリＷ＋Ｖ値４０８は、セカンダリ記憶デバイスがベリファイ対応品であるか否かを示す設定値である。
【００３２】
図３に戻り、ＣＰＵ１０２は、後述する図７の保護フラグ設定処理の実施有無状況を示す判定完了ＦＬＧを０にクリアし（ステップＳ３０２）、本処理を終了する。
【００３３】
図５は、図１の画像形成装置１００によって実行されるテーブル更新処理の手順を示すフローチャートである。図５の処理は、ＣＰＵ１０２が、ＲＯＭ１０５等に格納されたプログラムを実行することによって行われる。図５の処理は、図３のフラグ初期化処理を完了した際に続けて実行される。
【００３４】
図５において、ＣＰＵ１０２は、ミラーリング動作状態を示すミラーリング状態値を取得する（ステップＳ５０１）。ステップＳ５０１では、ＣＰＵ１０２は、ＳＡＴＡドライバ２０３として動作して、ハードウェアモジュール２０４にアクセスし、ハードウェアモジュール２０４からミラーリング状態値を取得する。ＣＰＵ１０２は、ミラーリング状態値として、例えば、正常なミラーリング動作が行われている状態であることを示す値、プライマリ記憶デバイスが故障していることを示す値、又はセカンダリ記憶デバイスが故障していることを示す値を取得する。次いで、ＣＰＵ１０２は、ステップＳ５０１で取得したミラーリング状態値がＨＤＤ状態テーブル４００のミラーリング状態値４０２と一致するか否かを判別する（ステップＳ５０２）。なお、テーブル更新処理の実行タイミングがＣＰＵ１０２の起動時である場合、ＨＤＤ状態テーブル４００が作成されていない。このため、ステップＳ５０２では、ＣＰＵ１０２は、ステップＳ５０１で取得したミラーリング状態値がＨＤＤ状態テーブル４００のミラーリング状態値４０２と一致しないと判別する。
【００３５】
ステップＳ５０２の判別の結果、ステップＳ５０１で取得したミラーリング状態値がＨＤＤ状態テーブル４００のミラーリング状態値４０２と一致しないとき、ＣＰＵ１０２は、ステップＳ５０３の処理を行う。ステップＳ５０３では、ＣＰＵ１０２は、ステップＳ５０１で取得したミラーリング状態値がＨＤＤ１３４及びＨＤＤ１３５の何れかの故障を示すデグレードを示すか否かを判別する。
【００３６】
ステップＳ５０３の判別の結果、ステップＳ５０１で取得したミラーリング状態値がデグレードを示すとき、ＣＰＵ１０２は、ステップＳ５０４の処理を行う。ステップＳ５０４では、ＣＰＵ１０２は、ステップＳ５０１で取得したミラーリング状態値に基づいてＨＤＤ状態テーブル４００を、デグレードを示す設定値に更新する。例えば、ステップＳ５０１で取得したミラーリング状態値がプライマリ記憶デバイスであるＨＤＤ１３４の故障を示す場合、図４（ｂ）に示すように、ミラーリング状態値４０２が『２』に更新され、また、プライマリ状態値４０３が『０』に更新される。一方、ステップＳ５０１で取得したミラーリング状態値がセカンダリ記憶デバイスであるＨＤＤ１３５の故障を示す場合、図４（ｃ）に示すように、ミラーリング状態値４０２が『３』に更新され、また、セカンダリ状態値４０６が『０』に更新される。次いで、ＣＰＵ１０２は、後述するステップＳ５０６の処理を行う。
【００３７】
ステップＳ５０３の判別の結果、ステップＳ５０１で取得したミラーリング状態値がデグレードを示さないとき、ＣＰＵ１０２は、ステップＳ５０５の処理を行う。ステップＳ５０５では、ＣＰＵ１０２は、ステップＳ５０１で取得したミラーリング状態値に基づいてＨＤＤ状態テーブル４００を、正常状態を示す設定値に更新する。具体的に、ＣＰＵ１０２は、ミラーリング状態値４０２、プライマリ状態値４０３、セカンダリ状態値４０６を、正常状態を示す『１』に更新する。次いで、ＣＰＵ１０２は、後述するステップＳ５０６の処理を行う。
【００３８】
ステップＳ５０２の判別の結果、ステップＳ５０１で取得したミラーリング状態値がＨＤＤ状態テーブル４００のミラーリング状態値４０２と一致するとき、ＣＰＵ１０２は、プライマリ記憶デバイスのＩＤを取得する（ステップＳ５０６）。ステップＳ５０６では、ＣＰＵ１０２は、ＳＡＴＡドライバ２０３として動作して、ハードウェアモジュール２０４にアクセスし、ハードウェアモジュール２０４からプライマリ記憶デバイスであるＨＤＤ１３４のＩＤを取得する。次いで、ＣＰＵ１０２は、ステップＳ５０６で取得したＩＤがＨＤＤ状態テーブル４００のプライマリＩＤ４０４と一致するか否かを判別する（ステップＳ５０７）。
【００３９】
ステップＳ５０７の判別の結果、ステップＳ５０６で取得したＩＤがプライマリＩＤ４０４と一致しないとき、ＣＰＵ１０２は、ＨＤＤ状態テーブル４００のプライマリＩＤ４０４をステップＳ５０６で取得したＩＤに更新する。次いで、ＣＰＵ１０２は、プライマリ記憶デバイスがベリファイ対応品であるか否かを判別する（ステップＳ５０８）。具体的に、ＣＰＵ１０２は、ベリファイ対応品の記憶デバイスのＩＤ情報を管理する図６のベリファイ対応品ＩＤ一覧情報６００に、ステップＳ５０６で取得したＩＤが含まれているか否かを判別する。なお、本実施の形態では、ベリファイ対応品ＩＤ一覧情報６００は、定期的に更新されても良い。ステップＳ５０８では、ベリファイ対応品ＩＤ一覧情報６００にステップＳ５０６で取得したＩＤが含まれている場合、ＣＰＵ１０２は、プライマリ記憶デバイスがベリファイ対応品であると判別する。一方、ベリファイ対応品ＩＤ一覧情報６００にステップＳ５０６で取得したＩＤが含まれていない場合、ＣＰＵ１０２は、プライマリ記憶デバイスがベリファイ対応品でないと判別する。
【００４０】
ステップＳ５０８の判別の結果、プライマリ記憶デバイスがベリファイ対応品であるとき、ＣＰＵ１０２は、ＨＤＤ状態テーブル４００のプライマリＷ＋Ｖ値４０５を『１』に更新し（ステップＳ５０９）、後述するステップＳ５１１の処理を行う。
【００４１】
ステップＳ５０８の判別の結果、プライマリ記憶デバイスがベリファイ対応品でないとき、ＣＰＵ１０２は、ＨＤＤ状態テーブル４００のプライマリＷ＋Ｖ値４０５を『０』に更新し（ステップＳ５１０）、後述するステップＳ５１１の処理を行う。
【００４２】
ステップＳ５０７の判別の結果、ステップＳ５０６で取得したＩＤがプライマリＩＤ４０４と一致するとき、ＣＰＵ１０２は、セカンダリ記憶デバイスのＩＤを取得する（ステップＳ５１１）。ステップＳ５１１では、ＣＰＵ１０２は、ＳＡＴＡドライバ２０３として動作して、ハードウェアモジュール２０４にアクセスし、ハードウェアモジュール２０４からセカンダリ記憶デバイスであるＨＤＤ１３５のＩＤを取得する。次いで、ＣＰＵ１０２は、ステップＳ５１１で取得したＩＤがセカンダリＩＤ４０７と一致するか否かを判別する（ステップＳ５１２）。
【００４３】
ステップＳ５１２の判別の結果、ステップＳ５１１で取得したＩＤがセカンダリＩＤ４０７と一致しないとき、ＣＰＵ１０２は、ＨＤＤ状態テーブル４００のセカンダリＩＤ４０７をステップＳ５１１で取得したＩＤに更新する。次いで、ＣＰＵ１０２は、ベリファイ対応品ＩＤ一覧情報６００に基づいてセカンダリ記憶デバイスがベリファイ対応品であるか否かを判別する。
【００４４】
ステップＳ５１３の判別の結果、セカンダリ記憶デバイスがベリファイ対応品であるとき、ＣＰＵ１０２は、ＨＤＤ状態テーブル４００のセカンダリＷ＋Ｖ値４０８を『１』に更新し（ステップＳ５１４）、後述するステップＳ５１６の処理を行う。
【００４５】
ステップＳ５１３の判別の結果、セカンダリ記憶デバイスがベリファイ対応品でないとき、ＣＰＵ１０２は、ＨＤＤ状態テーブル４００のセカンダリＷ＋Ｖ値４０８を『０』に更新し（ステップＳ５１５）、後述するステップＳ５１６の処理を行う。
【００４６】
ステップＳ５１２の判別の結果、ステップＳ５１１で取得したＩＤがセカンダリＩＤ４０７と一致するとき、ＣＰＵ１０２は、ＴＢＬＦＬＧを、ＨＤＤ状態テーブル４００の更新を完了したことを示す『１』に設定し（ステップＳ５１６）、本処理を終了する。
【００４７】
図７は、図１の画像形成装置１００によって実行される保護フラグ設定処理の手順を示すフローチャートである。図７の処理は、ＣＰＵ１０２が、ＲＯＭ１０５等に格納されたプログラムを実行することによって行われる。図７の処理は、ＴＢＬＦＬＧが『０』から『１』へ遷移したことを検知した際に実行される。ＴＢＬＦＬＧの遷移の検知は、割り込み、又はポーリングで行われる。
【００４８】
図７において、ＣＰＵ１０２は、ＨＤＤ状態テーブル４００を取得し（ステップＳ７０１）、ＨＤＤ状態テーブル４００に基づいてミラーリング機能がＯＮであるか否かを判別する（ステップＳ７０２）。
【００４９】
ステップＳ７０２の判別の結果、ミラーリング機能がＯＮでないとき、ＣＰＵ１０２は、後述するステップＳ７０４の処理を行う。ステップＳ７０２の判別の結果、ミラーリング機能がＯＮであるとき、ＣＰＵ１０２は、ＨＤＤ状態テーブル４００に基づいてデグレードであるか否かを判別する（ステップＳ７０３）。
【００５０】
ステップＳ７０３の判別の結果、デグレードであるとき、ＣＰＵ１０２は、故障せずに動作しているＨＤＤがベリファイ対応品であるか否かを判別する（ステップＳ７０４）。
【００５１】
ステップＳ７０４の判別の結果、故障せずに動作しているＨＤＤがベリファイ対応品でない、つまり、ベリファイ非対応品であるとき、ＣＰＵ１０２は、保護制御の設定として、ＤｏｕｂｌｅＢａｃｋｕｐを設定する。ＤｏｕｂｌｅＢａｃｋｕｐを実行すると、格納先となる一つのＨＤＤの異なる複数の記憶領域にそれぞれ同一内容のデータが書き込まれる。次いで、ＣＰＵ１０２は、保護ＦＬＧを、上記保護制御を実施する旨を示す『１』に設定する（ステップＳ７０５）。すなわち、本実施の形態では、ミラーリングに使用する一方のＨＤＤが故障し、故障せずに動作している他方のＨＤＤがベリファイ非対応品である場合、他方のＨＤＤの異なる複数の記憶領域にそれぞれ同一内容のデータが書き込まれる。次いで、ＣＰＵ１０２は、判定完了ＦＬＧを、保護フラグ設定処理を実施済みである旨を示す『１』に設定し（ステップＳ７０６）、本処理を終了する。
【００５２】
ステップＳ７０３の判別の結果、デグレードでないとき、ＣＰＵ１０２は、ＨＤＤ１３４及びＨＤＤ１３５の少なくとも一方がベリファイ対応品であるか否かを判別する（ステップＳ７０７）。
【００５３】
ステップＳ７０７の判別の結果、ＨＤＤ１３４及びＨＤＤ１３５の何れもベリファイ対応品でない、つまり、ＨＤＤ１３４及びＨＤＤ１３５の何れもベリファイ非対応品であるとき、ＣＰＵ１０２は、ステップＳ７０５以降の処理を行う。
【００５４】
ステップＳ７０７の判別の結果、ＨＤＤ１３４及びＨＤＤ１３５の少なくとも一方がベリファイ対応品であるとき、ＣＰＵ１０２は、保護ＦＬＧを、上記保護制御を実施しない旨を示す『０』に設定する（ステップＳ７０８）。次いで、ＣＰＵ１０２は、ステップＳ７０６の処理を行う。
【００５５】
図８は、図１の画像形成装置１００によって実行されるデータ書き込み処理の手順を示すフローチャートである。図８の処理は、ＣＰＵ１０２が、ＲＯＭ１０５等に格納されたプログラムを実行することによって行われる。
【００５６】
図８において、ＣＰＵ１０２は、アプリケーション２０１から、例えば、印刷ジョブに使用される画像データの書き込み要求を受信すると（ステップＳ８０１）、保護ＦＬＧが『１』であるか否かを判別する（ステップＳ８０２）。
【００５７】
ステップＳ８０２の判別の結果、保護ＦＬＧが『１』であるとき、ＣＰＵ１０２は、書き込みコマンドを変換する（ステップＳ８０３）。具体的に、ＣＰＵ１０２は、書き込みコマンドを、ＤｏｕｂｌｅＢａｃｋｕｐを実行する書き込みコマンドに変換する。次いで、ＣＰＵ１０２は、後述するステップＳ８０５の処理を行う。
【００５８】
ステップＳ８０２の判別の結果、保護ＦＬＧが『１』でないとき、ＣＰＵ１０２は、書き込みコマンドを変換しない（ステップＳ８０４）。次いで、ＣＰＵ１０２は、書き込みコマンドに基づいてデータの書き込み制御を行う（ステップＳ８０５）。ステップＳ８０５では、例えば、ＣＰＵ１０２は、変換済みの書き込みコマンドに基づいて、故障せずに動作しているＨＤＤの異なる複数の記憶領域にそれぞれ同一内容のデータを書き込む。変換済みの書き込みコマンドによる書き込み制御では、ベリファイ処理は実行されない。一方、ＣＰＵ１０２は、未変換の書き込みコマンドに基づいて、ＤｏｕｂｌｅＢａｃｋｕｐを実行せずに、動作しているＨＤＤの記憶領域にデータを書き込む。未変換の書き込みコマンドによる書き込み制御では、ベリファイ処理が実行される。その後、ＣＰＵ１０２は、本処理を終了する。
【００５９】
上述した実施の形態では、ＨＤＤ１３４が故障した際に故障せずに動作しているＨＤＤ１３５がベリファイ非対応品である場合、ＨＤＤ１３５の異なる複数の記憶領域にそれぞれ同一内容のデータが書き込まれる。これにより、ミラーリングを実施不可能な状況下において、ＨＤＤ１３５の異なる記憶領域にデータをバックアップすることができ、もって、ミラーリングに使用する一方のＨＤＤが故障した際の故障リスクを軽減することができる。
【００６０】
また、上述した実施の形態では、画像形成装置１００は、ＨＤＤ１３４及びＨＤＤ１３５に画像形成処理に用いられる画像データを格納する装置である。これにより、ミラーリングに使用する一方のＨＤＤが故障しても、画像形成処理を遅滞なく実施することができる。
【００６１】
以上、本発明について、上述した実施の形態を用いて説明したが、本発明は上述した実施の形態に限定されるものではない。例えば、画像形成装置１００がディスクアレイ制御部１３０を備えなくても良い。このような構成において、ＣＰＵ１０２のＳＡＴＡコントローラ１０３がＨＤＤ１３４及びＨＤＤ１３５にデータを書き込む制御、及びＨＤＤ１３４及びＨＤＤ１３５からデータを読み出す制御を行う。
【００６２】
また、上述した実施の形態では、ＣＰＵ１０２及びディスクアレイ制御部１３０の間の通信規格として、ＳＡＴＡではなく、ＰＡＴＡ（Ｐａｒａｌｌｅｌ  ＡＴＡ）が用いられても良い。ＰＡＴＡ（Ｐａｒａｌｌｅｌ  ＡＴＡ）が用いられる場合、ＣＰＵ１０２及びディスクアレイ制御部１３０はそれぞれＰＡＴＡに対応するＰＡＴＡコントローラを備える。
【００６３】
さらに、上述した実施の形態では、図９に示すように、ベリファイコマンド品であるＨＤＤ９０１を備える画像形成装置９００に本発明を適用しても良い。ベリファイコマンド品は、Ｗ＋Ｖコマンドを受信した時のみベリファイ動作を行うＨＤＤである。また、全ての書き込みに対してベリファイ動作を行うＨＤＤをベリファイ内蔵品という。本実施の形態では、ベリファイコマンド品及びベリファイ内蔵品をベリファイ対応品と総称する。また、以下では、ベリファイコマンド品及びベリファイ内蔵品を含むベリファイ対応品に該当しないＨＤＤをベリファイ非対応品とする。画像形成装置９００は、プライマリ記憶デバイスとして、ＨＤＤ１３４ではなく、ＨＤＤ９０１を備え、これ以外の構成が画像形成装置１００と同様である。例えば、プライマリ記憶デバイスとしてベリファイコマンド品であるＨＤＤ９０１を備える画像形成装置９００が、上述した図５のテーブル更新処理を実行すると、ＨＤＤ状態テーブル４００のプライマリＷ＋Ｖ値４０５に『１』が記録される。また、ＨＤＤ状態テーブル４００のプライマリＩＤ４０４にＨＤＤ９０１のＩＤが記録される（例えば、図１０（ａ）〜図１０（ｃ）を参照）。ＨＤＤ９０１がベリファイコマンド品であるか否かは、ベリファイコマンド品の記憶デバイスのＩＤ情報を管理する図１１のベリファイコマンド品ＩＤ一覧情報１１００に基づいて判別される。
【００６４】
図１２は、図７の保護フラグ設定処理の変形例の手順を示すフローチャートである。図１２の処理は、画像形成装置９００のＣＰＵ１０２が、ＲＯＭ１０５等に格納されたプログラムを実行することによって行われる。
【００６５】
図１２において、ＣＰＵ１０２は、ステップＳ７０１〜Ｓ７０３の処理を行う。ステップＳ７０３の判別の結果、デグレードであるとき、ＣＰＵ１０２は、ステップＳ７０４の処理を行う。
【００６６】
ステップＳ７０４の判別の結果、故障せずに動作しているＨＤＤがベリファイ対応品でない、つまり、ベリファイ非対応品であるとき、ＣＰＵ１０２は、データ保護制御の設定として、ＤｏｕｂｌｅＢａｃｋｕｐを設定する。すなわち、本実施の形態では、ベリファイコマンド品であるＨＤＤ９０１を備える画像形成装置９００においても、ミラーリングに使用する一方のＨＤＤが故障し、故障せずに動作している他方のＨＤＤがベリファイ非対応品である場合、他方のＨＤＤの異なる複数の記憶領域にそれぞれ同一内容のデータが書き込まれる。ＣＰＵ１０２は、保護ＦＬＧを『１』に設定し、更にＷＶＦＬＧを、Ｗ＋Ｖコマンドを生成しない旨を示す『０』に設定する（ステップＳ１２０１）。次いで、ＣＰＵ１０２は、ステップＳ７０６の処理を行う。
【００６７】
ステップＳ７０４の判別の結果、故障せずに動作しているＨＤＤがベリファイ対応品であるとき、ＣＰＵ１０２は、データ保護制御の設定として、Ｗ＋Ｖコマンドを設定する。ＣＰＵ１０２は、保護ＦＬＧを『１』に設定し、更にＷＶＦＬＧを、Ｗ＋Ｖコマンドを生成する旨を示す『１』に設定する（ステップＳ１２０２）。次いで、ＣＰＵ１０２は、ステップＳ７０６の処理を行う。
【００６８】
ステップＳ７０３の判別の結果、デグレードでないとき、ＣＰＵ１０２は、ステップＳ７０７の処理を行う。ステップＳ７０７の判別の結果、ＨＤＤ１３４及びＨＤＤ１３５の何れもベリファイ非対応品であるとき、ＣＰＵ１０２は、ステップＳ１２０１の処理を行う。
【００６９】
ステップＳ７０７の判別の結果、ＨＤＤ１３４及びＨＤＤ１３５の少なくとも一方がベリファイ対応品であるとき、ＣＰＵ１０２は、ＨＤＤ１３４及びＨＤＤ１３５が何れもベリファイ対応品であるか否かを判別する（ステップＳ１２０３）。
【００７０】
ステップＳ１２０３の判別の結果、ＨＤＤ１３４及びＨＤＤ１３５が何れもベリファイ対応品であるとき、ＣＰＵ１０２は、ステップＳ１２０２の処理を行う。ステップＳ１２０３の判別の結果、ＨＤＤ１３４及びＨＤＤ１３５の何れか一方がベリファイ対応品であるとき、ＣＰＵ１０２は、保護ＦＬＧを『０』に設定し、更にＷＶＦＬＧを、Ｗ＋Ｖコマンドを生成する旨を示す『１』に設定する（ステップＳ１２０４）。次いで、ＣＰＵ１０２は、ステップＳ７０６の処理を行う。
【００７１】
図１３は、図８のデータ書き込み処理の変形例の手順を示すフローチャートである。図１３の処理は、画像形成装置９００のＣＰＵ１０２が、ＲＯＭ１０５等に格納されたプログラムを実行することによって行われる。
【００７２】
図１３において、ＣＰＵ１０２は、ステップＳ８０１、Ｓ８０２の処理を行う。ステップＳ８０２の判別の結果、保護ＦＬＧが『１』でないとき、ＣＰＵ１０２は、ステップＳ８０４以降の処理を行う。ステップＳ８０２の判別の結果、保護ＦＬＧが『１』であるとき、ＣＰＵ１０２は、ＷＶＦＬＧが『０』及び『１』の何れであるか否かを判別する（ステップＳ１３０１）。
【００７３】
ステップＳ１３０１の判別の結果、ＷＶＦＬＧが『０』であるとき、ＣＰＵ１０２は、ステップＳ８０３以降の処理を行う。ステップＳ１３０１の判別の結果、ＷＶＦＬＧが『１』であるとき、ＣＰＵ１０２は、Ｗ＋Ｖコマンドを生成する（ステップＳ１３０２）。次いで、ＣＰＵ１０２は、ステップＳ８０５の処理を行う。このように、ベリファイコマンド品であるＨＤＤ９０１を備える画像形成装置９００においても、上述した実施の形態と同様の効果を奏することができる。
【００７４】
本発明は、上述の実施の形態の１以上の機能を実現するプログラムをネットワーク又は記憶媒体を介してシステム又は装置に供給し、該システム又は装置のコンピュータにおける１つ以上のプロセッサがプログラムを読み出して実行する処理でも実現可能である。また、本発明は、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００７５】
１００  画像形成装置
１０２  ＣＰＵ
１３４、１３５  ＨＤＤ
【図１】
2020173550.tif 000003
【図２】
2020173550.tif 000004
【図３】
2020173550.tif 000005
【図４】
2020173550.tif 000006
【図５】
2020173550.tif 000007
【図６】
2020173550.tif 000008
【図７】
2020173550.tif 000009
【図８】
2020173550.tif 000010
【図９】
2020173550.tif 000011
【図１０】
2020173550.tif 000012
【図１１】
2020173550.tif 000013
【図１２】
2020173550.tif 000014
【図１３】
2020173550.tif 000015