(57)【要約】      （修正有）【課題】記憶デバイスの故障リスクを低減することができる情報処理装置を提供する。【解決手段】ＭＦＰ１００は、その動作状況に基づいてＨＤＤ１０９への書き込みを許可するか否かが決定される。これにより、格納するデータの容量に関わらず、ＭＦＰ１００の動作状況に基づいてＨＤＤ１０９へ書き込みを行うか否かを制御してＨＤＤ１０９へのアクセス頻度を抑制することができる。また、ＭＦＰ１００がＨＤＤ１０９への書き込みを必須要件とする処理に関する所定の動作を行っている場合、ＨＤＤ１０９への書き込みが許可され、ＭＦＰ１００が所定の動作を行っていない場合，ＨＤＤ１０９の書き込みが禁止される。【選択図】図１
2020145582.tif 000002
【特許請求の範囲】
【請求項１】
アクセス回数に制約が設けられる記憶デバイスを備える情報処理装置であって、
前記記憶デバイスへデータを書き込む制御を行う制御手段を備え、
前記制御手段は、前記情報処理装置の動作状況に基づいて前記記憶デバイスへの書き込みを許可するか否かを決定することを特徴とする情報処理装置。
【請求項２】
前記制御手段は、前記情報処理装置が前記記憶デバイスへの書き込みを必須要件とする処理に関する所定の動作を行っている場合、前記記憶デバイスへの書き込みを許可し、前記情報処理装置が前記所定の動作を行っていない場合、前記記憶デバイスへの書き込みを禁止することを特徴とする請求項１記載の情報処理装置。
【請求項３】
記憶デバイスと異なる他の記憶デバイスを更に備え、
前記制御手段は、前記情報処理装置が前記所定の動作を行っていない場合、前記記憶デバイスへ書き込む指示がなされた実データを前記他の記憶デバイスに書き込む制御を行うことを特徴とする請求項２記載の情報処理装置。
【請求項４】
前記情報処理装置が前記所定の動作を行っており且つ前記実データが前記他の記憶デバイスに格納されている場合、前記制御手段は、前記他の記憶デバイスに格納されている全ての実データを連続で前記記憶デバイスへ書き込む制御を行うことを特徴とする請求項３記載の情報処理装置。
【請求項５】
保持手段と、
前記保持手段にデータを保持する保持時間を設定する設定手段とを更に備え、
前記制御手段は、前記保持手段にデータを前記保持時間の間保持した後、当該データを前記記憶デバイスへ書き込む制御を行い、
前記情報処理装置が前記記憶デバイスへの書き込みを必須要件とする処理に関する所定の動作を行っている場合、前記保持時間として第１の時間が設定され、前記情報処理装置が前記所定の動作を行っていない場合、前記保持時間として前記第１の時間より長い第２の時間が設定されることを特徴とする請求項１記載の情報処理装置。
【請求項６】
前記所定の動作は、ジョブの実行に関する動作を含むことを特徴とする請求項２乃至５のいずれか１項に記載の情報処理装置。
【請求項７】
前記所定の動作は、前記情報処理装置の電源ステートの遷移に関する動作を含むことを特徴とする請求項２乃至６のいずれか１項に記載の情報処理装置。
【請求項８】
前記情報処理装置は、画像形成処理を行う画像形成装置であることを特徴とする請求項１乃至７のいずれか１項に記載の情報処理装置。
【請求項９】
アクセス回数に制約が設けられる記憶デバイスを備える情報処理装置の制御方法であって、
前記記憶デバイスへデータを書き込む制御を行う制御ステップを有し、
前記制御ステップは、前記情報処理装置の動作状況に基づいて前記記憶デバイスへの書き込みを許可するか否かを決定することを特徴とする情報処理装置の制御方法。
【請求項１０】
アクセス回数に制約が設けられる記憶デバイスを備える情報処理装置の制御方法をコンピュータに実行させるプログラムであって、
前記情報処理装置の制御方法は、
前記記憶デバイスへデータを書き込む制御を行う制御ステップを有し、
前記制御ステップは、前記情報処理装置の動作状況に基づいて前記記憶デバイスへの書き込みを許可するか否かを決定することを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、その制御方法、及びプログラムに関する。
【背景技術】
【０００２】
ＨＤＤやＳＳＤ等の記憶デバイスを備える情報処理装置としてのＭＦＰが知られている。ＭＦＰでは、記憶デバイスに画像データやプログラム等の複数種のデータが格納される。ＨＤＤやＳＳＤ等の記憶デバイスでは、当該記憶デバイスに対するアクセス回数に制約が設けられている。この記憶デバイスへのアクセス回数が予め定められた所定の回数を超えると、当該記憶デバイスは、故障し易くなる。記憶デバイスの故障リスクを低減するために、記憶デバイスより記憶容量は小さいが寿命が長いＤＲＡＭにデータを格納する技術が提案されている。例えば、容量が所定の閾値を越えるデータの格納場所を記憶デバイスに設定し、容量が所定の閾値以下のデータの格納場所を記憶デバイスからＤＲＡＭに切り替える（例えば、特許文献１参照）。このようにデータの格納場所を切り替えることで、記憶デバイスへのアクセス頻度を抑制して記憶デバイスの故障リスクを低減することができる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００２−１０３６９９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上述したように、データの格納場所の切り替えをデータの容量に基づいて制御すると、例えば、所定の閾値以下の容量のデータを頻繁に記憶デバイスに書き込むような処理を行う際に、その都度、記憶デバイスにアクセスする必要がある。このような処理を行う際、従来では、記憶デバイスへのアクセス頻度が抑制されず、記憶デバイスの故障リスクを低減することができないという問題が生じる。
【０００５】
本発明の目的は、記憶デバイスの故障リスクを低減することができる情報処理装置、その制御方法、及びプログラムを提供することにある。
【課題を解決するための手段】
【０００６】
上記目的を達成するために、本発明の情報処理装置は、アクセス回数に制約が設けられる記憶デバイスを備える情報処理装置であって、前記記憶デバイスへデータを書き込む制御を行う制御手段を備え、前記制御手段は、前記情報処理装置の動作状況に基づいて前記記憶デバイスへの書き込みを許可するか否かを決定することを特徴とする。
【発明の効果】
【０００７】
本発明によれば、記憶デバイスの故障リスクを低減することができる。
【図面の簡単な説明】
【０００８】
【図１】本発明の実施の形態に係る情報処理装置としてのＭＦＰの構成を概略的に示すブロック図である。
【図２】図１のＭＦＰによって実行されるＨＤＤ書き込み処理の手順を示すフローチャートである。
【図３】図２のステップＳ２０２の判別を説明するための図である。
【図４】図２のステップＳ２０３の判別を説明するための図である。
【図５】図１のＤＲＡＭの記憶領域を説明するための図である。
【図６】図１のＭＦＰの動作を説明するためのタイミングチャートである。
【図７】図１のＭＦＰのソフトウェアモジュールの構成を説明するためのブロック図である。
【図８】図１のＭＦＰによって実行される保持時間制御処理の手順を示すフローチャートである。
【図９】図１のＭＦＰによって実行されるディスクバッファ書き込み処理の手順を示すフローチャートである。
【図１０】図９のステップＳ９０３の書き込み処理の手順を示すフローチャートである。
【発明を実施するための形態】
【０００９】
以下、本発明の実施の形態について図面を参照しながら詳述する。なお、本実施の形態では、記憶デバイスを備えるＭＦＰに本発明を適用した場合について説明するが、本発明は、ＭＦＰに限られず、アクセス回数に制約が設けられる記憶デバイスを備えるクライアントＰＣ等の情報処理装置に適用してもよい。
【００１０】
図１は、本発明の実施の形態に係る情報処理装置としてのＭＦＰ１００の構成を概略的に示すブロック図である。
【００１１】
図１において、ＭＦＰ１００は、コントローラ１０１、ＨＤＤ１０９、操作部１１１、スキャナ１１７、及びプリンタ１２１を備える。なお、本実施の形態では、この構成に限られず、少なくともコントローラ１０１及びＨＤＤ１０９を備える構成であれば良い。ＭＦＰ１００は、画像形成処理を行う画像形成装置である。コントローラ１０１は、ＨＤＤ１０９、操作部１１１、スキャナ１１７、及びプリンタ１２１と接続されている。
【００１２】
コントローラ１０１は、ＭＦＰ１００のシステム全体を制御する。コントローラ１０１は、ＣＰＵ１０２、ＤＲＡＭ１０４、ＤＲＡＭＩ／Ｆ１０５、ＲＯＭ１０６、ＲＯＭＩ／Ｆ１０７、記憶部Ｉ／Ｆ１０８、操作部Ｉ／Ｆ１１０、及びＬＡＮＩ／Ｆ１１２を備える。また、コントローラ１０１は、スキャナＩ／Ｆ１１６、スキャナ画像処理部１１８、プリンタ画像処理部１１９、プリンタＩ／Ｆ１２０、及び電源制御部１２２を備える。ＣＰＵ１０２、ＤＲＡＭＩ／Ｆ１０５、ＲＯＭＩ／Ｆ１０７、記憶部Ｉ／Ｆ１０８、操作部Ｉ／Ｆ１１０、ＬＡＮＩ／Ｆ１１２、スキャナＩ／Ｆ１１６、スキャナ画像処理部１１８、プリンタ画像処理部１１９、プリンタＩ／Ｆ１２０、及び電源制御部１２２は、システムバス１２３を介して互いに接続されている。
【００１３】
ＣＰＵ１０２は、データを一時的に格納するキャッシュメモリ１０３を備える。ＣＰＵ１０２は、ＤＲＡＭ１０４等に格納されたプログラムを実行して各種制御を行う。ＤＲＡＭ１０４は、ＤＲＡＭＩ／Ｆ１０５に接続されている。ＤＲＡＭ１０４は、ＣＰＵ１０２の作業領域として、また、データを一時的に格納する領域として使用される。ＤＲＡＭ１０４は、ＨＤＤ１０９より記憶容量は小さいが寿命が長い。ＤＲＡＭＩ／Ｆ１０５は、ＤＲＡＭ１０４をシステムバス１２３に接続するＤＲＡＭコントローラである。ＲＯＭ１０６は、ＲＯＭＩ／Ｆ１０７に接続されている。ＲＯＭ１０６は、リード専用のメモリであり、プログラムや設定データを格納する。ＲＯＭＩ／Ｆ１０７は、ＲＯＭ１０６をシステムバス１２３に接続するＲＯＭコントローラである。記憶部Ｉ／Ｆ１０８は、例えば、ＳＡＴＡコントローラである。記憶部Ｉ／Ｆ１０８は、ＨＤＤ１０９から読み取ったデータをＤＲＡＭ１０４に書き込む。また、記憶部Ｉ／Ｆ１０８は、ＤＲＡＭ１０４から読み取ったデータをＨＤＤ１０９に書き込む。ＨＤＤ１０９は、アクセス回数に制約が設けられる不揮発性の記憶デバイスである。本実施の形態では、例えば、ＨＤＤ１０９のロード／アンロード回数が予め定められた所定の回数を超えると、ＨＤＤ１０９が故障し易くなるので、ＨＤＤ１０９の寿命の低下を抑制する制御が行われる。
【００１４】
操作部Ｉ／Ｆ１１０は、操作部１１１と接続されている。操作部１１１は、表示機能と操作機能を有するタッチパネル式のデバイスである。操作部１１１は、操作部Ｉ／Ｆ１１０から取得した表示用の画像データを表示し、また、ユーザが操作部１１１に入力した情報を操作部Ｉ／Ｆ１１０を介してＣＰＵ１０２に送信する。
【００１５】
ＬＡＮＩ／Ｆ１１２は、ＬＡＮ１１３に接続された外部装置とデータ通信を行う。例えば、ＬＡＮＩ／Ｆ１１２は、スキャナ１１７によって生成されたスキャン画像データをＬＡＮ１１３に接続されたＰＣ１１４やＰＣ１１５へ送信する。また、ＬＡＮＩ／Ｆ１１２は、ＰＣ１１４やＰＣ１１５から印刷するための画像データを取得する。スキャナＩ／Ｆ１１６は、スキャナ１１７と接続されている。スキャナ１１７は、載置された原稿を読み取ってスキャン画像データを生成する。当該スキャン画像データは、スキャナＩ／Ｆ１１６を介してスキャナ画像処理部１１８に送信される。スキャナ画像処理部１１８は、取得したスキャン画像データに画像処理を施す。画像処理済みのスキャン画像データは、ＤＲＡＭ１０４に格納される。プリンタ画像処理部１１９は、ＤＲＡＭ１０４に格納された画像データに印刷に必要となる画像処理を施し、画像処理済みの画像データをプリンタＩ／Ｆ１２０を介してプリンタ１２１に送信する。プリンタＩ／Ｆ１２０は、プリンタ１２１と接続されている。プリンタ１２１は、取得した画像処理済みの画像データを用紙に印刷する。電源制御部１２２は、ＭＦＰ１００の各ユニットへの電力の供給を制御する。
【００１６】
図２は、図１のＭＦＰ１００によって実行されるＨＤＤ書き込み処理の手順を示すフローチャートである。図２の処理は、ＣＰＵ１０２がＲＯＭ１０６やＨＤＤ１０９に格納されたプログラムを実行することによって行われる。図２の処理は、ＨＤＤ１０９へのデータの書き込みを要求するＨＤＤ書き込みコマンドが発行された際に実行される。
【００１７】
図２において、ＣＰＵ１０２は、ＨＤＤ書き込みコマンドを受信すると（ステップＳ２０１でＹＥＳ）、ＨＤＤ１０９への書き込みを必須要件とする処理に関する所定の動作が行われているか否かを判別する。具体的に、ＣＰＵ１０２は、ジョブの実行に関する動作が行われているか否かを判別する（ステップＳ２０２）。ステップＳ２０２では、例えば、図３に示すコピージョブ、ＳＥＮＤジョブ、ＦＡＸ送信ジョブ、ＦＡＸ受信ジョブ、プリントジョブ、スキャンジョブ、及びＢＯＸジョブの何れかのジョブの実行に関する動作が行われている場合、ＣＰＵ１０２は、ジョブの実行に関する動作が行われていると判別する。一方、上述した何れの動作も行われていない場合、ＣＰＵ１０２は、ジョブの実行に関する動作が行われていないと判別する。
【００１８】
コピージョブの実行に関する動作とは、操作部１１１でコピージョブの実行指示を受け付けてからプリンタ１２１が最終ページの排紙を完了するまでの動作である。ＳＥＮＤジョブの実行に関する動作とは、操作部１１１でＳＥＮＤジョブの実行指示を受け付けてからＬＡＮ１１３に接続された外部装置へのデータ送信を完了するまでの動作である。ＦＡＸ送信ジョブの実行に関する動作とは、操作部１１１でＦＡＸ送信ジョブの実行指示を受け付けてからＦＡＸ送信を完了するまでの動作である。ＦＡＸ受信ジョブの実行に関する動作とは、ＦＡＸ受信を開始してからプリンタ１２１が最終ページの排紙を完了するまでの動作である。プリントジョブの実行に関する動作とは、ＬＡＮ１１３に接続された外部装置からのデータ受信を開始してからプリンタ１２１が最終ページの排紙を完了するまでの動作である。スキャンジョブの実行に関する動作とは、操作部１１１でスキャンジョブの実行指示を受け付けてから生成したスキャン画像データの格納を完了するまでの動作である。ＢＯＸジョブの実行に関する動作とは、ジョブを実行するためのジョブデータの受信を開始してから受信したジョブデータの格納を完了するまでの動作である。
【００１９】
ステップＳ２０２の判別の結果、ジョブの実行に関する動作が行われていないとき、ＣＰＵ１０２は、ＭＦＰ１００の電源ステートの遷移に関する動作が行われているか否かを判別する（ステップＳ２０３）。ステップＳ２０３では、例えば、図４に示すように、コールド起動、ホット起動、第１のスリープ移行、第１のスリープ復帰、第２のスリープ移行、第２のスリープ復帰、及びシャットダウンの何れかに関する動作が行われている場合、ＣＰＵ１０２は、ＭＦＰ１００の電源ステートの遷移に関する動作が行われていると判別する。一方、上述した何れの動作も行われていない場合、ＣＰＵ１０２は、ＭＦＰ１００の電源ステートの遷移に関する動作が行われていないと判別する。
【００２０】
コールド起動及びホット起動に関する動作とは、ＭＦＰ１００が起動処理を開始してからＭＦＰ１００のホーム画面を構成する全てのアイコンが操作部１１１に表示されるまでの動作である。第１のスリープ移行に関する動作とは、操作部１１１にて第１のスリープ状態への移行指示を受け付ける又は第１のスリープタイマ（不図示）による計測において所定の時間を経過してから、第１のスリープ状態に停止させる全てのユニットへの電力の供給を停止させるまでの動作である。第１のスリープ復帰に関する動作とは、操作部１１１にて第１のスリープ状態からの復帰指示を受け付ける又はジョブデータを受信してから、ＭＦＰ１００のホーム画面を構成する全てのアイコンが操作部１１１に表示されるまでの動作である。第２のスリープ移行に関する動作とは、操作部１１１にて第２のスリープ状態への移行指示を受け付ける又は第２のスリープタイマ（不図示）による計測において所定の時間を経過してから、第２のスリープ状態に停止させる全てのユニットへの電力の供給を停止させるまでの動作である。第２のスリープ復帰に関する動作とは、操作部１１１にて第２のスリープ状態からの復帰指示を受け付ける又はジョブデータを受信してから、ＭＦＰ１００のホーム画面を構成する全てのアイコンが操作部１１１に表示されるまでの動作である。シャットダウンに関する動作とは、操作部１１１にてＭＦＰ１００の電源ＯＦＦの指示を受け付ける又はシャットダウンタイマ（不図示）による計測において所定の時間を経過してからＭＦＰ１００へ電力の供給が停止されるまでの動作である。
【００２１】
ステップＳ２０３の判別の結果、ＭＦＰ１００の電源ステートの遷移に関する動作が行われていないとき、ＣＰＵ１０２は、ＨＤＤ１０９への書き込みを禁止する。ＣＰＵ１０２は、ＨＤＤ書き込みコマンドにおいてＨＤＤ１０９への書き込みが指示されたデータをＨＤＤ１０９ではなく、ＤＲＡＭ１０４に書き込む（ステップＳ２０４）。ＤＲＡＭ１０４は、図５に示すように、プリント画像データやスキャン画像データを格納する描画領域５０１、プリント画像データやスキャン画像データに画像処理を施したデータを格納する変換領域５０２、各種プログラムを格納する制御プログラム領域５０３等の複数の領域に分割されている。ステップＳ２０４では、ＣＰＵ１０２は、描画領域５０１、変換領域５０２、及び制御プログラム領域５０３と異なるＤＲＡＭバッファ領域５０４に上記データを書き込む。ＤＲＡＭバッファ領域５０４には、ＨＤＤ書き込みコマンドにおいてＨＤＤ１０９への書き込みが指示された実データ５０５の他に、データサイズ５０６やパス５０７が書き込まれる。データサイズ５０６は、実データ５０５のデータ容量である。パス５０７は、ＨＤＤ書き込みコマンドにて指定されたデータ格納場所を示すＨＤＤ１０９内のディレクトリ情報である。本実施の形態では、実データ５０５、データサイズ５０６、及びパス５０７は、ＤＲＡＭ１０４に保持される。以下では、ＤＲＡＭ１０４に保持された実データ５０５、データサイズ５０６、及びパス５０７の総称をＤＲＡＭ保持データとする。その後、ＣＰＵ１０２は、本処理を終了する。
【００２２】
ステップＳ２０２の判別の結果、ジョブの実行に関する動作が行われているとき、又はステップＳ２０３の判別の結果、ＭＦＰ１００の電源ステートの遷移に関する動作が行われているとき、ＣＰＵ１０２は、ステップＳ２０５の処理を行う。ステップＳ２０５では、ＣＰＵ１０２は、ＤＲＡＭ１０４にＤＲＡＭ保持データが格納されているか否かを判別する。例えば、ＤＲＡＭバッファ領域５０４に少なくとも１つのデータが格納されている場合、ＣＰＵ１０２は、ＤＲＡＭ１０４にＤＲＡＭ保持データが格納されていると判別する。一方、ＤＲＡＭバッファ領域５０４にデータが格納されていない場合、ＣＰＵ１０２は、ＤＲＡＭ１０４にＤＲＡＭ保持データが格納されていないと判別する。
【００２３】
ステップＳ２０５の判別の結果、ＤＲＡＭ１０４にＤＲＡＭ保持データが格納されているとき、ＣＰＵ１０２は、ＤＲＡＭ１０４からＤＲＡＭ保持データを読み取る（ステップＳ２０６）。次いで、ＣＰＵ１０２は、ＤＲＡＭ保持データにおける実データ５０５をＨＤＤ１０９に書き込む（ステップＳ２０７）。ステップＳ２０７では、ＣＰＵ１０２は、ＤＲＡＭ保持データにおけるパス５０７が示すＨＤＤ１０９内の格納場所に実データ５０５を書き込む。例えば、ＤＲＡＭ１０４に複数のＤＲＡＭ保持データが格納されている場合、ＣＰＵ１０２は、ステップＳ２０６においてＤＲＡＭ１０４に格納された全てのＤＲＡＭ保持データを読み取る。また、ＣＰＵ１０２は、ステップＳ２０７において各ＤＲＡＭ保持データにおける実データ５０５をＨＤＤ１０９に連続で書き込む。次いで、ＣＰＵ１０２は、ステップＳ２０１で受信したＨＤＤ書き込みコマンドに基づいてデータをＨＤＤ１０９に書き込み（ステップＳ２０８）、本処理を終了する。
【００２４】
図６は、図１のＭＦＰ１００の動作を説明するためのタイミングチャートである。図６において、６０１は、ジョブの状況を示す。６０２は、ＭＦＰ１００の電源ステートを示す。６０３は、ＨＤＤ１０９へのアクセスが許可されているか否かを示す。６０４は、ＨＤＤ書き込みコマンドにて指定されたデータの格納場所を示す。
【００２５】
期間Ｔ０〜Ｔ１のように、ＭＦＰ１００が起動処理を開始してからＭＦＰ１００のホーム画面を構成する全てのアイコンが操作部１１１に表示されるまでの間、ＭＦＰ１００では、ＨＤＤ１０９へのアクセスが許可される。この期間に受信したＨＤＤ書き込みコマンドにて指定されたデータは、ＨＤＤ１０９に書き込まれる（例えば、ステップＳ２０８を参照。）。
【００２６】
期間Ｔ１〜Ｔ２、期間Ｔ３〜Ｔ４、期間Ｔ７〜Ｔ８のように、ＭＦＰ１００の電源ステートが遷移せず且つＭＦＰ１００がジョブ待ち状態である場合、ＭＦＰ１００では、ＨＤＤ１０９へのアクセスが禁止される。この期間に受信したＨＤＤ書き込みコマンドにて指定されたデータは、ＤＲＡＭ１０４に書き込まれる（例えば、ステップＳ２０４を参照。）。
【００２７】
期間Ｔ２〜Ｔ３のように、ジョブの実行に関する動作が行われている場合、ＭＦＰ１００では、ＨＤＤ１０９へのアクセスが許可される。この期間に受信したＨＤＤ書き込みコマンドにて指定されたデータは、ＨＤＤ１０９に書き込まれる。また、このとき、例えば、期間Ｔ１〜Ｔ２にてＤＲＡＭ１０４に書き込まれたＤＲＡＭ保持データにおける実データもＨＤＤ１０９に書き込まれる（例えば、ステップＳ２０７を参照。）。
【００２８】
期間Ｔ４〜Ｔ５、期間Ｔ６〜Ｔ７、期間Ｔ８〜Ｔ９のように、電源ステートの遷移に関する動作が行われている場合、ＭＦＰ１００では、ＨＤＤ１０９へのアクセスが許可される。この期間に受信したＨＤＤ書き込みコマンドにて指定されたデータは、ＨＤＤ１０９に書き込まれる。また、このとき、例えば、期間Ｔ３〜Ｔ４や期間Ｔ７〜Ｔ８にてＤＲＡＭ１０４に書き込まれたＤＲＡＭ保持データにおける実データもＨＤＤ１０９に書き込まれる。
【００２９】
上述した実施の形態によれば、ＭＦＰ１００の動作状況に基づいてＨＤＤ１０９への書き込みを許可するか否かが決定される。これにより、格納するデータの容量に関わらず、ＭＦＰ１００の動作状況に基づいてＨＤＤ１０９へ書き込みを行うか否かを制御してＨＤＤ１０９へのアクセス頻度を抑制することができる。その結果、ＨＤＤ１０９の故障リスクを低減することができる。
【００３０】
また、上述した実施の形態では、ＭＦＰ１００がＨＤＤ１０９への書き込みを必須要件とする処理に関する所定の動作を行っている場合、ＨＤＤ１０９への書き込みが許可され、ＭＦＰ１００が所定の動作を行っていない場合、ＨＤＤ１０９への書き込みが禁止される。これにより、ＨＤＤ１０９への書き込みを必須要件とする処理を滞らせることなく、ＨＤＤ１０９へのアクセス頻度を抑制することができる。
【００３１】
さらに、上述した実施の形態では、ＭＦＰ１００が所定の動作を行っていない場合、ＨＤＤ１０９へ書き込む指示がなされた実データ５０５がＤＲＡＭ１０４に書き込まれる。すなわち、ＨＤＤ１０９への書き込みが禁止された場合、ＨＤＤ１０９へ書き込む指示がなされた実データ５０５がＤＲＡＭ１０４に書き込まれる。これにより、ＨＤＤ１０９の故障リスクを低減しつつ、ＭＦＰ１００が所定の動作を行っていない際にＨＤＤ１０９へ書き込む指示がなされた実データ５０５を保持することができる。
【００３２】
上述した実施の形態では、ＭＦＰ１００が所定の動作を行っており且つ実データがＤＲＡＭ１０４に格納されている場合、ＤＲＡＭ１０４に格納されている全ての実データがＨＤＤ１０９へ連続で書き込まれる。これにより、各実データが異なるタイミングでＨＤＤ１０９へ書き込まれる場合よりＨＤＤ１０９へのアクセス回数を軽減することができる。
【００３３】
以上、本発明について、上述した実施の形態を用いて説明したが、本発明は上述した実施の形態に限定されるものではない。例えば、ＭＦＰ１００に設けられる記憶デバイスは、ＨＤＤ１０９ではなく、アクセス回数に制約が設けられるＳＳＤ等の他の記憶デバイスであっても良い。
【００３４】
また、上述した実施の形態では、ＤＲＡＭ保持データのパス５０７として、ＨＤＤ１０９内の格納場所を示すディレクトリ情報ではなく、ＨＤＤ１０９のドライブ名を保持しても良い。例えば、ＨＤＤ１０９のディレクトリ構造が／ｓｄｂ１／ｄａｔａ／ｐｒｉｎｔ／ｊｏｂ１／ｐａｇｅ１．ｊｐｇである際に、ＤＲＡＭバッファ領域５０４のディレクトリ構造をドライブ名のみ異なる／ｓｄａ１／ｄａｔａ／ｐｒｉｎｔ／ｊｏｂ１／ｐａｇｅ１．ｊｐｇとする。このような構成において、ＭＦＰ１００は、ＤＲＡＭ保持データのパス５０７として、ＨＤＤ１０９のドライブ名を示す『ｓｄｂ１』を保持する。
【００３５】
上述した実施の形態では、ＨＤＤ書き込みコマンドにて指定されたデータをＤＲＡＭ１０４の所定の領域に保持した後に、当該データをＨＤＤ１０９に書き込む構成において、データをＤＲＡＭ１０４の所定の領域に保持する保持時間を制御しても良い。
【００３６】
図７は、図１のＭＦＰ１００のソフトウェアモジュール７００の構成を説明するためのブロック図である。ソフトウェアモジュール７００の各処理は、ＣＰＵ１０２がＲＯＭ１０６やＨＤＤ１０９に格納されたプログラムを実行することによって行われる。
【００３７】
ソフトウェアモジュール７００は、モジュールとしてＯＳ（Operating System）７０１を備える。また、ソフトウェアモジュール７００は、アプリケーション層７０４に、モジュールとして少なくとも１つのアプリケーション、例えば、プリントアプリ７０５、コピーアプリ７０６、スキャンアプリ７０７、及びＷｅｂアプリ７０８を備える。
【００３８】
ＯＳ７０１は、ＭＦＰ１００のシステムを制御するソフトウェアモジュール群の中核となる基本ソフトウェアモジュールである。ＯＳ７０１は、ファイルシステム７０２、及び切替モジュール７０３で構成される。なお、本実施の形態では、切替モジュール７０３がＯＳ７０１に含まれる構成について説明するが、この構成に限られず、切替モジュール７０３が、ＯＳ７０１以外の別のモジュールに含まれていても良い。ファイルシステム７０２は、ＤＲＡＭ１０４やＨＤＤ１０９に格納されたデータへアクセスする機能や上記データを検索する機能を提供する。切替モジュール７０３は、ＨＤＤ１０９へのアクセスが許可されているか否かに基づいて上記保持時間を制御する。プリントアプリ７０５は、プリントジョブを実行するためのアプリケーションである。コピーアプリ７０６は、コピージョブを実行するためのアプリケーションである。スキャンアプリ７０７は、スキャンジョブを実行するためのアプリケーションである。Ｗｅｂアプリ７０８は、Ｗｅｂを用いたジョブを実行するためのアプリケーションである。アプリケーション層７０４における各アプリケーションは、ジョブの実行においてＨＤＤ１０９へデータの書き込みが必要となった際に、ＨＤＤ書き込みコマンドをファイルシステム７０２に送信する。
【００３９】
ＭＦＰ１００において、ＨＤＤ１０９のセクタサイズは、５１２バイトや４Ｋバイトである。アプリケーション層７０４の各アプリケーションが数バイト等の細かいサイズ単位で頻繁にＨＤＤ１０９にアクセスすると、ＨＤＤ１０９へのデータ格納効率や、コントローラ１０１とＨＤＤ１０９の間のバス伝送効率が悪くなってしまう。このような事態を回避するために、ファイルシステム７０２は、アプリケーション層７０４の各アプリケーションから受けたＨＤＤ書き込みコマンドにて指定されたデータをＤＲＡＭ１０４のディスクバッファ７０９に一時的に格納し、設定された保持時間を経過した際にディスクバッファ７０９に格納したデータをＨＤＤ１０９に書き込む。本実施の形態では、ディスクバッファ７０９として、例えば、図５の領域５０８，５０９のような空き領域が割り当てられる。若しくは、予め設定された領域がディスクバッファ７０９として使用される。
【００４０】
図８は、図１のＭＦＰ１００によって実行される保持時間制御処理の手順を示すフローチャートである。図８の処理は、ＣＰＵ１０２がＲＯＭ１０６やＨＤＤ１０９に格納されたプログラムを実行することによって行われる。図８の処理は、例えば、ＨＤＤ書き込みコマンドが発行された際に実行される。
【００４１】
図８において、ＣＰＵ１０２は、ジョブの実行に関する動作が行われているか否かを判別する（ステップＳ８０１）。ステップＳ８０１では、上述したステップＳ２０２と同様の判別処理が行われる。
【００４２】
ステップＳ８０１の判別の結果、ジョブの実行に関する動作が行われていないとき、ＣＰＵ１０２は、ＭＦＰ１００の電源ステートの遷移に関する動作が行われているか否かを判別する（ステップＳ８０２）。ステップＳ８０２では、上述したステップＳ２０３と同様の判別処理が行われる。
【００４３】
ステップＳ８０２の判別の結果、ＭＦＰ１００の電源ステートの遷移に関する動作が行われているとき、又はステップＳ８０１の判別の結果、ジョブの実行に関する動作が行われているとき、ＣＰＵ１０２は、ディスクバッファ７０９の保持時間として第１の時間を設定する（ステップＳ８０３）。第１の時間は、例えば、５秒程度である。その後、ＣＰＵ１０２は、本処理を終了する。
【００４４】
ステップＳ８０２の判別の結果、ＭＦＰ１００の電源ステートの遷移に関する動作が行われていないとき、ＣＰＵ１０２は、ディスクバッファ７０９の保持時間として第１の時間より長い第２の時間を設定する（ステップＳ８０４）。第２の時間は、例えば、５時間程度である。その後、ＣＰＵ１０２は、本処理を終了する。
【００４５】
上述した図８の処理の実行タイミングは、ＨＤＤ書き込みコマンドが発行されたタイミングに限られない。例えば、上述した図８の処理は、予め設定された所定の間隔で実行されても良い。
【００４６】
また、上述した図８の処理では、ステップＳ８０１を実行した後にステップＳ８０２を実行することとして説明したが、ステップＳ８０１，Ｓ８０２の実行順はこれに限られない。例えば、ステップＳ８０２を実行した後にステップＳ８０１を実行しても良く、また、ステップＳ８０１，Ｓ８０２を並列で実行しても良い。
【００４７】
図９は、図１のＭＦＰ１００によって実行されるディスクバッファ書き込み処理の手順を示すフローチャートである。図９の処理は、ＣＰＵ１０２がＲＯＭ１０６やＨＤＤ１０９に格納されたプログラムを実行することによって行われる。図９の処理は、例えば、上述したようなディスクバッファ７０９へのデータの書き込みを必要とするＨＤＤ書き込みコマンド（以下、「バッファＨＤＤ書き込みコマンド」という。）が発行された際に実行される。
【００４８】
図９において、ＣＰＵ１０２は、バッファＨＤＤ書き込みコマンドを受信すると（ステップＳ９０１でＹＥＳ）、バッファＨＤＤ書き込みコマンドにて指定されたデータをディスクバッファ７０９に書き込む（ステップＳ９０２）。ＣＰＵ１０２は、ディスクバッファ７０９を構成する複数の記憶領域のうち、上記データが書き込まれた記憶領域に対し、この旨を示すフラグとして『Ｄｉｒｔｙ』を立てる。このとき、ＣＰＵ１０２は、上述した図８の保持時間制御処理を並列で実行し、ディスクバッファ７０９の保持時間を設定する。次いで、ＣＰＵ１０２は、後述する図１０の書き込み処理を実行し（ステップＳ９０３）、ディスクバッファ７０９に書き込まれたデータをＨＤＤ１０９に書き込む。その後、ＣＰＵ１０２は、本処理を終了する。
【００４９】
図１０は、図９のステップＳ９０３の書き込み処理の手順を示すフローチャートである。
【００５０】
図１０において、ＣＰＵ１０２は、ディスクバッファ７０９においてＣＰＵ１０２が参照する記憶領域を示すディスクバッファ番号ｉを０に初期化する（ステップＳ１００１）。次いで、ＣＰＵ１０２は、ディスクバッファ７０９の複数の記憶領域の中のｉ番目に対応する記憶領域を特定し、特定した記憶領域のフラグが『Ｄｉｒｔｙ』であるか否かを判別する（ステップＳ１００２）。
【００５１】
ステップＳ１００２の判別の結果、特定した記憶領域のフラグが『Ｄｉｒｔｙ』であるとき、ＣＰＵ１０２は、特定した記憶領域にデータが書き込まれた日時を確認する。ＣＰＵ１０２は、確認した日時が上述した図８の保持時間制御処理で設定されたディスクバッファ７０９の保持時間を経過したか否かを判別する（ステップＳ１００３）。
【００５２】
ステップＳ１００３の判別の結果、確認した日時が保持時間を経過しないとき、又はステップＳ１００２の判別の結果、特定した記憶領域のフラグが『Ｄｉｒｔｙ』でないとき、ＣＰＵ１０２は、後述するステップＳ１００７の処理を行う。
【００５３】
ステップＳ１００３の判別の結果、確認した日時が保持時間を経過したとき、ＣＰＵ１０２は、特定した記憶領域からデータを読み出す（ステップＳ１００４）。次いで、ＣＰＵ１０２は、ステップＳ１００４にて読み出したデータをＨＤＤ１０９に書き込む（ステップＳ１００５）。次いで、ＣＰＵ１０２は、特定した記憶領域のフラグとして、ＨＤＤ１０９へ書き込み済みであることを示す『Ｃｌｅａｎ』を設定し（ステップＳ１００６）、ディスクバッファ番号ｉをインクリメントする（ステップＳ１００７）。次いで、ＣＰＵ１０２は、ディスクバッファ７０９の全ての記憶領域をチェックしたか否かを判別する（ステップＳ１００８）。
【００５４】
ステップＳ１００８の判別の結果、ディスクバッファ７０９の何れかの記憶領域をチェックしないとき、ＣＰＵ１０２は、ステップＳ１００２の処理に戻る。ステップＳ１００８の判別の結果、ディスクバッファ７０９の全ての記憶領域をチェックしたとき、ＣＰＵ１０２は、本処理を終了する。
【００５５】
上述した本実施の形態では、ＭＦＰ１００が所定の動作を行っている場合、ディスクバッファ７０９の保持時間として第１の時間が設定され、ＭＦＰ１００が所定の動作を行っていない場合、ディスクバッファ７０９の保持時間として第１の時間より長い第２の時間が設定される。すなわち、ＭＦＰ１００が所定の動作を行っていない場合、比較的長い時間、ディスクバッファ７０９にデータが保持され、ＨＤＤ１０９へのアクセス頻度が抑制される。これにより、ＨＤＤ１０９の故障リスクを低減することができる。
【００５６】
また、上述した本実施の形態では、所定の動作は、ジョブの実行に関する動作を含む。これにより、ジョブの実行を遅滞させることなく、ＨＤＤ１０９の故障リスクを低減することができる。
【００５７】
上述した本実施の形態では、所定の動作は、ＭＦＰ１００の電源ステートの遷移に関する動作を含む。これにより、ＭＦＰ１００の電源ステートの遷移を滞らせることなく、ＨＤＤ１０９の故障リスクを低減することができる。
【００５８】
また、上述した本実施の形態では、ＭＦＰ１００は、画像形成処理を行う画像形成装置であるので、画像形成処理の実行に伴ってＨＤＤ１０９へ頻繁に画像データの書き込みが必要になっても、ＨＤＤ１０９の故障リスクを低減することができる。
【００５９】
本発明は、上述の実施の形態の１以上の機能を実現するプログラムをネットワーク又は記憶媒体を介してシステム又は装置に供給し、該システム又は装置のコンピュータにおける１つ以上のプロセッサがプログラムを読み出して実行する処理でも実現可能である。また、本発明は、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００６０】
１００  ＭＦＰ
１０２  ＣＰＵ
１０４  ＤＲＡＭ
１０９  ＨＤＤ
７０９  ディスクバッファ
【図１】
2020145582.tif 000003
【図２】
2020145582.tif 000004
【図３】
2020145582.tif 000005
【図４】
2020145582.tif 000006
【図５】
2020145582.tif 000007
【図６】
2020145582.tif 000008
【図７】
2020145582.tif 000009
【図８】
2020145582.tif 000010
【図９】
2020145582.tif 000011
【図１０】
2020145582.tif 000012