(57)【要約】【課題】ＨＤＤ及びＳＳＤを併用する情報処理装置において、ＨＤＤのスピンアップ及びスピンダウンの実行をできるだけ避けながら、ＨＤＤの消費電力を低減する技術を提供する。【解決手段】ディスクコントローラは、ＳＳＤに対してデータを格納可能な状態（ＳＳＤの起動中）においてＨＤＤをスリープ状態とし、ＨＤＤをできるだけスリープ状態に維持し続ける（Ｓ１０１，Ｓ１０３）。ディスクコントローラは、ＳＳＤにデータを格納可能な残りの記憶容量に基づいて、ＨＤＤを使用する必要があるか否かを判定する（Ｓ１０２，Ｓ１０４）。ディスクコントローラは、ＨＤＤがスリープ状態にある間に、ＨＤＤを使用する必要があると判定すると（Ｓ１０４で「ＹＥＳ」）、ＨＤＤをスリープ状態から起動状態に切り替える（Ｓ１０５）。【選択図】図５
2018022440.tif 000002
【特許請求の範囲】
【請求項１】
電力の供給が制限される電力制限状態と電力が供給される起動状態とを有する第１記憶手段と、
前記第１記憶手段よりもアクセス速度が高速な第２記憶手段と、
前記第２記憶手段にデータを格納可能な残りの記憶容量に基づいて、前記第１記憶手段を使用する必要があるか否かを判定する判定手段と、
前記第２記憶手段に対してデータを格納可能な状態において前記第１記憶手段を前記電力制限状態とし、前記第１記憶手段が前記電力制限状態にある間に、前記第１記憶手段を使用する必要があると前記判定手段によって判定されると、前記第１記憶手段を前記電力制限状態から前記起動状態に切り替える制御手段と、
を備えることを特徴とする情報処理装置。
【請求項２】
前記判定手段は、前記残りの記憶容量が所定の閾値以下ではない場合には、前記第１記憶手段を使用する必要がないと判定し、前記残りの記憶容量が前記所定の閾値以下であり、かつ、記憶手段へのデータの書き込み要求が発生した場合には、前記第１記憶手段を使用する必要があると判定する
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記制御手段は、
記憶手段へのデータの書き込み要求が発生すると、当該データの種類及びサイズに基づいて、前記第１記憶手段及び前記第２記憶手段から当該データの格納先を選択する選択手段と、
前記選択手段によって選択された記憶手段に、前記書き込み要求の対象データを格納する格納手段と、を含む
ことを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
前記選択手段は、前記対象データの種類及びサイズに基づいて、当該対象データの格納先として前記第２記憶手段を優先して選択する
ことを特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記選択手段は、前記対象データのサイズが所定のサイズより小さければ、当該対象データの格納先として前記第２記憶手段を選択する
ことを特徴とする請求項３または４に記載の情報処理装置。
【請求項６】
前記選択手段は、前記対象データが、アクセス頻度が高い種類のデータとして定められたデータであれば、当該対象データの格納先として前記第２記憶手段を選択する
ことを特徴とする請求項３から５のいずれか１項に記載の情報処理装置。
【請求項７】
前記アクセス頻度が高い種類のデータは、前記情報処理装置で実行されるジョブの種類に基づいて定められている
ことを特徴とする請求項６に記載の情報処理装置。
【請求項８】
前記アクセス頻度が高い種類のデータには、前記情報処理装置でジョブが実行されるごとに使用されるデータ、及び前記情報処理装置の設定データが含まれる
ことを特徴とする請求項６または７に記載の情報処理装置。
【請求項９】
前記格納手段は、前記第１記憶手段が前記電力制限状態にある間に、前記第１記憶手段が格納先として選択されたデータを前記第２記憶手段へ一時的に蓄積し、当該蓄積されたデータの量が所定の量に達したら、前記第１記憶手段を前記電力制限状態から前記起動状態に切り替えて、当該蓄積されたデータを前記第２記憶手段から前記第１記憶手段へ一括して移動させる
ことを特徴とする請求項３から８のいずれか１項に記載の情報処理装置。
【請求項１０】
前記制御手段は、
前記第１記憶手段が前記電力制限状態にある間に、前記第２記憶手段に格納されているデータのうちで、前記第１記憶手段へ退避するデータの候補を決定する決定手段と、
前記残りの記憶容量が所定の閾値以下になると、前記第１記憶手段を前記電力制限状態から前記起動状態に切り替えて、前記決定手段によって決定された退避候補のデータを、前記第２記憶手段から前記第１記憶手段へコピーするコピー手段と、
記憶手段へのデータの書き込み要求が発生すると、前記退避候補のデータを前記第２記憶手段から削除する削除手段と、を含む
ことを特徴とする請求項１から９のいずれか１項に記載の情報処理装置。
【請求項１１】
前記決定手段は、前記第２記憶手段に格納されている各データに対して、データの種類、データのサイズ、データへのアクセス頻度、及びデータへ最後のアクセスが発生してからの経過時間、の少なくとも１つに基づいて設定された優先度に従って、前記退避候補のデータを決定する
ことを特徴とする請求項１０に記載の情報処理装置。
【請求項１２】
前記コピー手段は、前記退避候補のデータを前記第１記憶手段へコピーする際に、前記第２記憶手段に格納されている前記退避候補のデータに対してフラグを設定し、
前記削除手段は、前記フラグが設定されているデータを前記第２記憶手段から削除する
ことを特徴とする請求項１０または１１に記載の情報処理装置。
【請求項１３】
前記第１記憶手段はＨＤＤであり、前記第２記憶手段はＳＳＤである
ことを特徴とする請求項１から１２のいずれか１項に記載の情報処理装置。
【請求項１４】
電力の供給が制限される電力制限状態と、電力が供給される起動状態とを有する第１記憶手段と、
前記第１記憶手段よりもアクセス速度が高速な第２記憶手段と、
前記第２記憶手段に対してデータを格納可能な状態において前記第１記憶手段を前記電力制限状態とし、前記第１記憶手段が前記電力制限状態にある間に前記第１記憶手段の残りの記憶容量が所定容量より少なくなるのに従って、前記第１記憶手段を前記電力制限状態から前記起動状態に切り替える制御手段と、を備え、
前記制御手段は、前記第１記憶手段が前記電力制限状態にあるときは、前記第２記憶手段に対してデータの書き込みを行い、前記第１記憶手段が前記起動状態へ切り替えられた後、前記第１記憶手段に対してデータの書き込みを行うよう、書き込み処理を制御する
ことを特徴とする情報処理装置。
【請求項１５】
電力の供給が制限される電力制限状態と電力が供給される起動状態とを有する第１記憶手段と、前記第１記憶手段よりもアクセス速度が高速な第２記憶手段と、を備える情報処理装置の制御方法であって、
前記第２記憶手段にデータを格納可能な残りの記憶容量に基づいて、前記第１記憶手段を使用する必要があるか否かを判定する判定工程と、
前記第２記憶手段に対してデータを格納可能な状態において前記第１記憶手段を前記電力制限状態とし、前記第１記憶手段が前記電力制限状態にある間に、前記第１記憶手段を使用する必要があると前記判定工程で判定されると、前記第１記憶手段を前記電力制限状態から前記起動状態に切り替える制御工程と、
を含むことを特徴とする情報処理装置の制御方法。
【請求項１６】
電力の供給が制限される電力制限状態と、電力が供給される起動状態とを有する第１記憶手段と、前記第１記憶手段よりもアクセス速度が高速な第２記憶手段と、を備える情報処理装置の制御方法であって、
前記第２記憶手段に対してデータを格納可能な状態において前記第１記憶手段を前記電力制限状態とし、前記第１記憶手段が前記電力制限状態にある間に前記第１記憶手段の残りの記憶容量が所定容量より少なくなるのに従って、前記第１記憶手段を前記電力制限状態から前記起動状態に切り替える工程と、
前記第１記憶手段が前記電力制限状態にあるときは、前記第２記憶手段に対してデータの書き込みを行い、前記第１記憶手段が前記起動状態へ切り替えられた後、前記第１記憶手段に対してデータの書き込みを行うよう、書き込み処理を制御する工程と、
を含むことを特徴とする情報処理装置の制御方法。
【請求項１７】
請求項１５または１６に記載の情報処理装置の制御方法の各工程をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置及びその制御方法、並びにプログラムに関するものである。
【背景技術】
【０００２】
プリンタやＭＦＰ等の画像形成装置は、画像データや設定データ等のデータを格納するために二次記憶装置を備えている。代表的な二次記憶装置はＨＤＤ（ハードディスクドライブ）である。現在、画像形成装置の高性能化の実現のために、アクセス速度が高速なＳＳＤ（ソリッドステートドライブ）を二次記憶装置として画像形成装置に搭載することが検討されている。一般に、ＳＳＤは、ＨＤＤよりも記憶容量が小さく、かつ、ＨＤＤよりも高価である。このため、このようなＳＳＤの欠点を補いながら高性能化を実現するために、画像形成装置においてＳＳＤとＨＤＤとを併用することが検討されている。
【０００３】
特許文献１には、ＳＳＤとＨＤＤとを併用するための技術が提案されている。特許文献１では、アクセス速度が低速な低速記憶媒体（ＨＤＤ）とアクセス速度が高速な高速記憶媒体（ＳＳＤ）との間で、データへのアクセス頻度に基づいて、低速記憶媒体と高速記憶媒体との間でデータを移動させている。具体的には、システムが扱うデータのうち、アクセス頻度が高いデータを高速記憶媒体に格納し、残りのデータを低速記憶媒体に格納することで、システム全体の性能を改善している。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１２−２４３１１７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上述のように、データへのアクセス頻度に基づいてＳＳＤとＨＤＤと併用する技術では、ＨＤＤのスピンアップ及びスピンダウン（起動及び停止）が頻繁に実行されると、ＨＤＤの寿命が短くなる（ＨＤＤが故障するまでの期間が短くなる）可能性がある。また、ＨＤＤのスピンアップ及びスピンダウンを頻繁に実行することを避けるために、スピンアップの実行後にＨＤＤを起動状態に維持し続けると、ＨＤＤで余分に電力を消費することにつながる。
【０００６】
本発明は、上述の問題に鑑みてなされたものである。本発明は、ＨＤＤ及びＳＳＤを併用する情報処理装置において、ＨＤＤのスピンアップ及びスピンダウンの実行をできるだけ避けながら、ＨＤＤの消費電力を低減する技術を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明は、例えば、情報処理装置として実現できる。本発明の一態様に係る情報処理装置は、電力の供給が制限される電力制限状態と電力が供給される起動状態とを有する第１記憶手段と、前記第１記憶手段よりもアクセス速度が高速な第２記憶手段と、前記第２記憶手段にデータを格納可能な残りの記憶容量に基づいて、前記第１記憶手段を使用する必要があるか否かを判定する判定手段と、前記第２記憶手段に対してデータを格納可能な状態において前記第１記憶手段を前記電力制限状態とし、前記第１記憶手段が前記電力制限状態にある間に、前記第１記憶手段を使用する必要があると前記判定手段によって判定されると、前記第１記憶手段を前記電力制限状態から前記起動状態に切り替える制御手段と、を備えることを特徴とする。
【０００８】
また、本発明の他の一態様に係る情報処理装置は、電力の供給が制限される電力制限状態と、電力が供給される起動状態とを有する第１記憶手段と、前記第１記憶手段よりもアクセス速度が高速な第２記憶手段と、前記第２記憶手段に対してデータを格納可能な状態において前記第１記憶手段を前記電力制限状態とし、前記第１記憶手段が前記電力制限状態にある間に前記第１記憶手段の残りの記憶容量が所定容量より少なくなるのに従って、前記第１記憶手段を前記電力制限状態から前記起動状態に切り替える制御手段と、を備え、前記制御手段は、前記第１記憶手段が前記電力制限状態にあるときは、前記第２記憶手段に対してデータの書き込みを行い、前記第１記憶手段が前記起動状態へ切り替えられた後、前記第１記憶手段に対してデータの書き込みを行うよう、書き込み処理を制御することを特徴とする。
【発明の効果】
【０００９】
本発明によれば、ＨＤＤ及びＳＳＤを併用する情報処理装置において、ＨＤＤのスピンアップ及びスピンダウンの実行をできるだけ避けながら、ＨＤＤの消費電力を低減することが可能になる。
【図面の簡単な説明】
【００１０】
【図１】画像形成装置の構成例を示すブロック図
【図２】コントローラの構成例を示すブロック図
【図３】ＨＤＤ及びＳＳＤのアクセス制御のための構成を示す図
【図４】ＨＤＤの動作の一例を示す図
【図５】ＨＤＤ及びＳＳＤの制御手順の例を示すフローチャート
【図６】ＨＤＤ及びＳＳＤのアクセス制御のための構成を示す図
【図７】ＨＤＤ及びＳＳＤの制御手順の例を示すフローチャート
【図８】退避候補データの優先度の設定例を示す図
【発明を実施するための形態】
【００１１】
以下、本発明を実施するための形態について図面を用いて説明する。なお、以下の実施形態は特許請求の範囲に係る発明を限定するものでなく、また実施形態で説明されている特徴の組み合わせの全てが発明の解決手段に必須のものとは限らない。
【００１２】
［第１実施形態］
第１実施形態では、情報処理装置の一例として、印刷機能、複写機能、画像送信機能、画像保存機能等の多数の機能を有する画像形成装置（画像処理装置）である複合機（ＭＦＰ）について説明する。なお、本実施形態は、ＭＦＰだけでなく、印刷装置（プリンタ）、複写機、ファクシミリ装置、ＰＣ等の情報処理装置にも同様に適用可能である。
【００１３】
＜ＭＦＰ＞
図１は、本実施形態に係るＭＦＰ１の構成例を示すブロック図である。ＭＦＰ１は、スキャナ装置２、コントローラ３、プリンタ装置４、操作部５、ＨＤＤ（ハードディスクドライブ）６、及びＦＡＸ（ファクシミリ）装置７を備える。スキャナ装置２は、原稿から光学的に画像を読み取って当該画像をデジタル画像に変換し、画像データとして出力する。プリンタ装置４は、画像データに基づいてシートに画像を印刷（出力）する。なお、シートは、記録紙、記録材、記録媒体、用紙、転写材、転写紙等と称されてもよい。操作部５は、ＭＦＰ１に対するユーザの操作を受け付ける。本実施形態のＨＤＤ６は、比較的大容量かつ不揮発性の記憶装置である。ＨＤＤ６には画像データ、及びメインＣＰＵ２０１によって実行される制御プログラムやアプリケーションプログラム等が格納される。本実施形態のＨＤＤ６は、電力の供給が制限される電力制限状態と電力が供給される起動状態とを有する第１記憶手段の一例である。ＦＡＸ装置７は、電話回線を介したＦＡＸ送信により、指定された宛先に画像データを送信する。
【００１４】
コントローラ３は、コントローラ３に接続された各デバイスの動作を制御することで、ＭＦＰ１における種々のジョブの実行を実現する。また、コントローラ３は、ＬＡＮ８を介して、外部のホストコンピュータ（ＰＣ）９に対して画像データを送信（出力）し、また、ＰＣ９から画像データを受信することで画像データの入力を受け付ける。更に、コントローラ３は、ＰＣ９から、ＬＡＮ８を介して指示及びジョブの入力を受け付けることも可能である。
【００１５】
スキャナ装置２は、原稿給紙（ＤＦ）ユニット２１及びスキャナユニット２２を備える。ＤＦユニット２１は、原稿束から原稿を１枚ずつスキャナユニット２２へ給紙する。スキャナユニット２２は、給紙された原稿の画像を光学的に読み取ってデジタル画像に変換し、画像データとしてコントローラ３に送信（出力）する。プリンタ装置４は、マーキングユニット４１、給紙ユニット４２及び排紙ユニット４３を備える。給紙ユニット４２は、シートを１枚ずつマーキングユニット４１へ給紙する。マーキングユニット４１は、給紙されたシートに対して画像を印刷し、印刷後のシートを排紙ユニット４３へ排紙する。操作部５は、操作ボタン、及びタッチパネル機能を有する表示パネルを備え、ユーザがＭＦＰ１にコピー等の動作を指示するため、及びＭＦＰ１に関する各種情報をユーザに提示するために使用される。
【００１６】
ＭＦＰ１は、印刷機能、複写（コピー）機能、画像送信機能、画像保存機能等の多数の機能を有する。
・印刷機能は、ＰＣ９等の外部装置から受信した、例えばページ記述言語（ＰＤＬ）で記述された印刷データを解析して、印刷用の画像データに変換し、当該画像データに基づいてプリンタ装置４でシートに画像を印刷する機能である。
・複写機能は、スキャナ装置２で原稿の画像を読み取って得られた画像データをＨＤＤ６に格納するとともに、当該画像データに基づいてプリンタ装置４でシートに画像を印刷する機能である。
・画像送信機能は、スキャナ装置２で原稿の画像を読み取って得られた画像データを、ＦＡＸ装置７によって、またはＬＡＮ８を介して外部装置へ送信する機能である。
・画像保存機能は、スキャナ装置２から出力される画像データをＨＤＤ６に格納することで、当該画像データを保存する機能である。ＨＤＤ６に格納された画像データは、必要に応じて送信または印刷に用いることが可能である。
【００１７】
ＭＦＰ１は、上述のような機能を利用して、複写ジョブ、送信ジョブ、印刷ジョブ等の種々のジョブを実行可能である。なお、本実施形態のＭＦＰ１は、各機能における画像データの格納先として、ＨＤＤ６だけでなく、ＳＳＤ２０７（図２）を使用することも可能である。
【００１８】
＜コントローラ＞
図２は、コントローラ３の構成例を示すブロック図である。コントローラ３は、メインシステム（メインボード）２００及びサブシステム（サブボード）２２０によって構成される。メインシステム２００は、ＭＦＰ１全体を制御するためのＣＰＵシステムである。サブシステム２２０は、メインシステム２００に接続され、画像処理用ハードウェアで構成されたＣＰＵシステムである。メインシステム２００には、ＵＳＢメモリ２０９、操作部５及びＨＤＤ６等が接続される。サブシステム２２０には、スキャナ装置２、プリンタ装置４、及びＦＡＸ装置７等が接続される。
【００１９】
メインシステム２００は、メインＣＰＵ２０１、ブートＲＯＭ２０２、メモリ２０３、バスコントローラ２０４、不揮発性メモリ２０５、ディスクコントローラ２０６、及びＳＳＤ（ソリッドステートドライブ）２０７を備える。メインシステム２００は、更に、ＵＳＢコントローラ２０８、ネットワークＩ／Ｆ（インタフェース）２１０、ＲＴＣ２１１、及び電源制御部２１２を備える。
【００２０】
メインＣＰＵ２０１は、メインシステム２００全体を制御するとともにＭＦＰ１全体を制御する。ブートＲＯＭ２０２には、ＭＦＰ１の起動時にメインＣＰＵ２０１によって実行されるブートプログラムが格納される。メモリ２０３は、メインＣＰＵ２０１のワークメモリとして使用される。バスコントローラ２０４は、外部バス（本実施形態ではサブシステム２２０側のバス）とのブリッジ機能を有する。不揮発性メモリ２０５には、メインＣＰＵ２０１によって使用される設定データ等が格納される。ＲＴＣ２１１は、時計機能を有する。
【００２１】
ディスクコントローラ２０６は、ＭＦＰ１が備える二次記憶装置（ストレージデバイス）に相当するＨＤＤ６及びＳＳＤ２０７を制御する。ＳＳＤ２０７は、半導体デバイスで構成された不揮発性の記憶装置であり、データを格納可能な記憶容量はＨＤＤ６よりも小さいものの、ＨＤＤ６よりも高速なランダムアクセスが可能である。即ち、ＳＳＤ２０７についてのデータの書き込み速度及び読み出し速度（アクセス速度）はＨＤＤ６よりも高い。このように、本実施形態のＳＳＤ２０７は、ＨＤＤ６よりもアクセス速度が高速な第２記憶手段の一例である。
【００２２】
電源制御部２１２は、ＭＦＰ１の電源部１０を制御する。電源部１０は、ＭＦＰ１内の各デバイスへ電力を供給する電源である。ディスクコントローラ２０６は、後述するように、ＳＳＤ２０７の残りの記憶容量（空き容量）に基づいて電源制御部２１２を制御することで、ＭＦＰ１の電源部１０からＨＤＤ６への電力の供給を制御できる。それにより、ディスクコントローラ２０６は、ＨＤＤ６の状態を制御できる。ＵＳＢコントローラ２０８は、ＵＳＢメモリ２０９等のＵＳＢデバイスを制御する。ＵＳＢデバイスはＭＦＰ１に対して着脱可能であってもよい。
【００２３】
サブシステム２２０は、サブＣＰＵ２２１、メモリ２２３、バスコントローラ２２４、不揮発性メモリ２２５、画像処理プロセッサ２２６、及びエンジンコントローラ２２７，２２８を備える。サブＣＰＵ２２１は、メインＣＰＵ２０１の制御下で、サブシステム２２０全体を制御する。メモリ２２３は、サブＣＰＵ２２１のワークメモリとして使用される。バスコントローラ２２４は、外部バス（本実施形態ではメインシステム２００側のバス）とのブリッジ機能を有する。不揮発性メモリ２２５には、サブＣＰＵ２２１によって使用される設定データ等が格納される。
【００２４】
画像処理プロセッサ２２６は、プリンタ装置４へ出力される画像データ、及びスキャナ装置２から入力される画像データに対する画像処理を行う。エンジンコントローラ２２７は、画像処理プロセッサ２２６とプリンタ装置４との間で画像データの受け渡しを行うとともに、サブＣＰＵ２２１からの指示に従ってプリンタ装置４を制御する。エンジンコントローラ２２８は、画像処理プロセッサ２２６とスキャナ装置２との間で画像データの受け渡しを行うとともに、サブＣＰＵ２２１からの指示に従ってスキャナ装置２を制御する。ＦＡＸ装置７は、サブＣＰＵ２２１によって直接制御される。なお、説明の簡略化のために図２には図示していないが、メインＣＰＵ２０１、サブＣＰＵ２２１等には、チップセット、バスブリッジ、クロックジェネレータ等の、ＣＰＵ周辺ハードウェアが多数含まれている。
【００２５】
次に、コントローラ３の動作の一例として、複写機能を実現するための動作について説明する。ＭＦＰ１のユーザが操作部５を操作して画像の複写を指示すると、メインＣＰＵ２０１は、サブＣＰＵ２２１を介してスキャナ装置２へ読取指示を送信する。スキャナ装置２は、受信した指示に従って、原稿の画像を読み取って画像データを生成し、生成した画像データを、エンジンコントローラ２２８を介して画像処理プロセッサ２２６へ入力する。画像処理プロセッサ２２６は、サブＣＰＵ２２１を介してメモリ２２３へ、入力された画像データのＤＭＡ転送を行うことで、メモリ２２３に画像データを一時的に保存する。メインＣＰＵ２０１は、サブＣＰＵ２２１からの通知によって、一定量の画像データまたは複写対象の全原稿に対応する画像データがメモリ２２３に格納されたことを確認すると、サブＣＰＵ２２１を介してプリンタ装置４へ印刷指示を送信する。
【００２６】
サブＣＰＵ２２１は、メモリ２２３の記憶領域における画像データの格納位置を画像処理プロセッサ２２６に知らせる。これにより、プリンタ装置４から出力される同期信号に従って、メモリ２２３上の画像データが画像処理プロセッサ２２６及びエンジンコントローラ２２７を介してプリンタ装置４へ転送される。プリンタ装置４は、受信した印刷指示に従って、メモリ２２３から転送された画像データに基づいてシートに画像を印刷する。なお、メモリ２２３に一時的に保存された画像データはＨＤＤ６に保存されてもよい。これにより、ＨＤＤ６に保存された画像データを利用して、プリンタ装置４による再印刷が実現されてもよい。
【００２７】
＜ディスクコントローラ＞
図３（Ａ）は、ＭＦＰ１においてディスクコントローラ２０６によって実行される、ＨＤＤ６及びＳＳＤ２０７のアクセス制御のための構成を示す図であり、当該アクセス制御に関連する機能ブロックを示している。ここでは、図３（Ａ）を参照して、ＨＤＤ６及びＳＳＤ２０７のアクセス制御を行うディスクコントローラ２０６の動作の概要について説明する。
【００２８】
ＭＦＰ１では、上述のような種々のジョブが実行される際に、ストレージデバイス（ＨＤＤ６及びＳＳＤ２０７）に対するライト（Ｗｒｉｔｅ）アクセスまたはリード（Ｒｅａｄ）アクセスが発生する。メインＣＰＵ２０１は、ストレージデバイスへのライトアクセス（即ち、ストレージデバイスへのデータの書き込み要求）が発生すると、ライトコマンドをディスクコントローラ２０６に送信する。また、メインＣＰＵ２０１は、ストレージデバイスへのリードアクセス（即ち、ストレージデバイスに格納されているデータの読み出し要求）が発生すると、リードコマンドをディスクコントローラ２０６に送信する。ディスクコントローラ２０６は、メインＣＰＵ２０１から受信したコマンドに従って、ストレージデバイス（ＨＤＤ６及びＳＳＤ２０７）に対するデータのリードまたはライトを制御する。
【００２９】
ディスクコントローラ２０６は、ＨＤＤ６に格納されているデータについてのリードコマンドを受信した場合には、ＨＤＤ６に格納されているデータを読み出して、メインＣＰＵ２０１へ送信する。また、ディスクコントローラ２０６は、ＳＳＤ２０７に格納されているデータについてのリードコマンドを受信した場合には、ＳＳＤ２０７に格納されているデータを読み出して、メインＣＰＵ２０１へ送信する。また、ディスクコントローラ２０６は、ライトコマンド及び書き込み対象のデータをメインＣＰＵ２０１から受信した場合には、受信したデータを、ＨＤＤ６及びＳＳＤ２０７のいずれかに格納する。その際、ディスクコントローラ２０６は、後述する書き込み制御によって、ＨＤＤ６及びＳＳＤ２０７のいずれかにデータを格納する。
【００３０】
図３（Ａ）に示すように、ディスクコントローラ２０６は、ディスクコントローラ２０６ａ及びディスクコントローラ２０６ｂに分割されていてもよい。なお、ディスクコントローラ２０６ａ及びディスクコントローラ２０６ｂの機能は、１つのディスクコントローラ２０６で実現することも可能である。
【００３１】
ディスクコントローラ２０６ａは、ストレージデバイスへのライトアクセスが発生すると、所定の条件に基づいて、当該ライトアクセスの対象データの格納先を、ＨＤＤ６及びＳＳＤ２０７から選択（決定）する。例えば、ディスクコントローラ２０６ａは、ＳＳＤ２０７にデータを格納可能な残りの記憶容量が不足していなければ、ＳＳＤ２０７を対象データの格納先として選択する。あるいは、ディスクコントローラ２０６ａは、ライトアクセスの対象データの種類（例えば、画像データまたは設定データ）及びサイズを特定し、その特定結果に基づいて、対象データの格納先を選択することも可能である。
【００３２】
ディスクコントローラ２０６ｂは、ディスクコントローラ２０６ａからの指示に従って、ディスクコントローラ２０６ａによって選択された格納先へ対象データを格納する。ディスクコントローラ２０６ｂは、必要に応じて、ＨＤＤ６またはＳＳＤ２０７への書き込み対象のデータの暗号化処理、及びＨＤＤ６またはＳＳＤ２０７から読み出したデータの復号処理も行う。また、ディスクコントローラ２０６ｂは、ＳＳＤ２０７とＨＤＤ６との間でのデータのコピー（ミラーリング）を行う機能も有している。
【００３３】
また、ディスクコントローラ２０６ａは、ストレージデバイスへのリードアクセスが発生すると、当該リードコマンドによる読み出しの対象となるデータを、ディスクコントローラ２０６ｂに対して指示する。ディスクコントローラ２０６ｂは、ディスクコントローラ２０６ａから指示されたデータを、ＨＤＤ６またはＳＳＤ２０７から読み出してメインＣＰＵ２０１へ送信する。
【００３４】
ディスクコントローラ２０６ａ，２０６ｂは、ＨＤＤ６の状態（スリープ状態であるか起動状態であるか）を把握し、必要に応じてＨＤＤ６の状態をスリープ状態と起動状態との間で切り替える。例えば、ディスクコントローラ２０６ｂは、ＨＤＤ６がスリープ状態にある間にＨＤＤ６への（リードまたはライト）アクセスが発生すると、ＨＤＤ６をスリープ状態から起動状態に切り替える。この場合、ディスクコントローラ２０６ｂは、起動状態への切り替えから所定の時間、起動状態を維持した後に（即ち、所定時間の経過後に）、ＨＤＤ６を起動状態からスリープ状態に戻す。これは、後述するように、ＨＤＤ６のスピンアップ及びスピンダウンが頻繁に実行されるのを避けるためである。なお、ディスクコントローラ２０６ａ，２０６ｂは、ＨＤＤ６が通電されているか（ＨＤＤ６に電力が供給されているか）否かを、メインＣＰＵ２０１からの情報に基づいて判定するように構成されてもよい。
【００３５】
＜ＨＤＤの動作と消費電力＞
図４は、一般的なＨＤＤの動作の一例を示す図である。図４に示すように、ＨＤＤは、スリープ状態（電力制限状態）と起動状態とを有する。起動状態ではＨＤＤに電力が供給されるのに対して、スリープ状態ではＨＤＤへの電力の供給が制限され、ＨＤＤの消費電力が起動状態よりも低く抑えられる。このため、ＨＤＤをできるだけスリープ状態に維持することで、ＨＤＤが搭載された装置（本実施形態ではＭＦＰ１）の消費電力を低減することが可能である。
【００３６】
ここで、ＳＡＴＡ対応のＨＤＤ及びＳＳＤのいわゆる電力制限状態には、例えば下記のモード（「PHY Ready（PHYRDY）」、「Partial」及び「Slumber」）がある。ＳＡＴＡ系デバイス側のＨＤＤ及びＳＳＤとしては、下記で言及するＳＡＴＡ対応のＨＤＤ及びＳＳＤの回路以外には通電する必要はない。
（１）PHY Ready（PHYRDY）：ＳＡＴＡ規格で定められるＰＨＹ（物理層）がデータの送受信が可能な状態になっている。 
（２）Partial：ＰＨＹは省電力状態（reduced power mode）となっている。復帰時間は１０マイクロ秒までであれば許される。
（３）Slumber：ＰＨＹはPartialモードよりも消費電力の低い省電力状態である。復帰時間は最大１０ミリ秒である。ホストやデバイスからウェークアップシグナルシーケンスが送信され、それを受信すると、ＰＨＹは起動した状態、またはPHYRDY モードになる。
なお、上記の復帰時間は、ＳＡＴＡ規格に準拠した製品が、ウェークアップシグナル（wake-up signal）を受信してからPHYRDYモードへ復帰するまでの最大の時間である。
【００３７】
図４に示すように、スリープ状態にあるＨＤＤへの（リードまたはライト）アクセスが発生すると（４０１）、当該ＨＤＤは、スリープ状態から起動状態に切り替えられる。具体的には、ＨＤＤは、電力の供給の制限が解除されると、スピンアップを行い（ディスクの回転を開始し）、一定時間（例えば２〜１０秒）が経過すると起動状態に至る。ＨＤＤが起動状態になると、当該ＨＤＤへのアクセスが可能になる。その後、ある程度の時間が経過すると、消費電力の低減のために、ＨＤＤは起動状態からスリープ状態に切り替えられる（４０２）。具体的には、ＨＤＤはスピンダウンを行うことで、ディスクの回転を停止する。更に、ＨＤＤへの電力の供給が制限されることで、当該ＨＤＤはスリープ状態に至る。
【００３８】
上述のようなＨＤＤには、一般的に、スピンアップ及びスピンダウン（起動及び停止）を実行可能な回数に限りがあることが知られている。例えば、２．５インチＨＤＤでは３０万回程度まで、３．５インチＨＤＤでは１０万回程度まで、スピンアップ及びスピンダウンの実行が可能である。このため、ＨＤＤのスピンアップ及びスピンダウンはＨＤＤの寿命（即ち、ＨＤＤが故障するまでの期間）に影響する。即ち、ＨＤＤのスピンアップ及びスピンダウンを頻繁に実行すると、ＨＤＤが故障するまでの期間が短くなることになる。
【００３９】
したがって、スピンアップ及びスピンダウンに起因したＨＤＤの故障を避けるためには、スピンアップ及びスピンダウンの実行回数を減らす必要がある。例えば、一度ＨＤＤがスピンアップを行ったら、起動状態を維持し続ける制御が行われる場合がある。しかし、この制御では、ＨＤＤの消費電力が増加し、当該ＨＤＤが搭載された装置の消費電力の増加につながる。あるいは、一度ＨＤＤがスピンアップを行ったら、一定時間（例えば、２．５インチＨＤＤでは１０分、３．５インチＨＤＤでは３０分）起動状態を維持する制御が行われる場合がある。しかし、このような制御でも、ＨＤＤへのアクセスが発生していない期間にＨＤＤを起動状態に維持することで、ＨＤＤで余分に電力を消費することになる。
【００４０】
＜ＨＤＤ及びＳＳＤの制御の概要＞
そこで、本実施形態では、ＨＤＤ６及びＳＳＤ２０７を併用するＭＦＰ１において、ＨＤＤ６のスピンアップ及びスピンダウンの実行をできるだけ避けながら、ＨＤＤ６の消費電力を低減するように、ＨＤＤ６及びＳＳＤ２０７を制御する。ディスクコントローラ２０６は、以下で説明するように、ＳＳＤ２０７の使用を優先し、ＨＤＤ６を使用する必要がない限りＨＤＤ６をスリープ状態に維持するようにＨＤＤ６を制御する。
【００４１】
ディスクコントローラ２０６は、ＳＳＤ２０７に対してデータを格納可能な状態（即ち、ＳＳＤ２０７の起動中）においてＨＤＤ６をスリープ状態とし、ＨＤＤ６をできるだけスリープ状態に維持し続ける。また、ディスクコントローラ２０６は、ＭＦＰ１の起動中に、ＳＳＤ２０７にデータを格納可能な残りの記憶容量（空き容量）に基づいて、ＨＤＤ６を使用する必要があるか否かを判定する。ディスクコントローラ２０６は、ＨＤＤ６がスリープ状態にある間に、ＨＤＤ６を使用する必要があると判定すると、ＨＤＤ６をスリープ状態から起動状態に切り替える。
【００４２】
具体的には、ＳＳＤ２０７から残りの記憶容量（空き容量）を示す情報を受け取ったディスクコントローラ２０６は、ＳＳＤ２０７の残りの記憶容量が所定容量以下かを判定する。そして、ディスクコントローラ２０６は、ＳＳＤ２０７の残りの記憶容量が所定容量以下と判定した場合、電源制御部２１２に対して次の指示を行う。即ち、電源部１０からＨＤＤ６への電力の供給を開始するように、ディスクコントローラ２０６は、電源制御部２１２を制御する。ＨＤＤ６は、電源部１０から電力の供給が開始されるとスピンアップを行って、記憶動作を開始する。
【００４３】
例えば、ディスクコントローラ２０６は、ＳＳＤ２０７の残りの記憶容量が所定の閾値（所定容量）以下ではない場合には、ＨＤＤ６を使用する必要がないと判定する。一方、ディスクコントローラ２０６は、当該残りの記憶容量が当該閾値以下であり、かつ、ストレージデバイスへのライトアクセスが発生した場合には、ＨＤＤ６を使用する必要があると判定する。即ち、ディスクコントローラ２０６は、ＳＳＤ２０７の残りの記憶容量が不足し、ライトアクセスによる書き込み対象のデータをＳＳＤ２０７に格納できない可能性がある場合に、ＨＤＤ６を起動して使用可能な状態にする。
【００４４】
ディスクコントローラ２０６によるこのような制御によれば、ＳＳＤ２０７の残りの記憶容量が不足しない限り（及びＨＤＤ６へのアクセスが発生しない限り）、ＨＤＤ６はスリープ状態に維持し続けられる。これにより、ＨＤＤ６のスピンアップ及びスピンダウン（起動及び停止）の実行をできるだけ避けながら、ＨＤＤ６の消費電力を低減することが可能になる。その結果、ＨＤＤ６が搭載されたＭＦＰ１の消費電力が低減されることになる。
【００４５】
＜ＨＤＤ及びＳＳＤの制御の手順＞
図５は、ディスクコントローラ２０６によって実行される、ＨＤＤ６及びＳＳＤ２０７の制御手順の例を示すフローチャートである。なお、図５に示す各ステップの処理は、ＦＰＧＡやＡＳＩＣ等のハードウェアにより実現されてもよいし、ソフトウェアにより実現されてもよい。ソフトウェアにより実現される場合、各処理は、ディスクコントローラ２０６内のプロセッサ（図示せず）またはメインＣＰＵ２０１が、ＨＤＤ６等に格納された制御プログラムを読み出して実行する処理によって実現されてもよい。
【００４６】
ＭＦＰ１が電源オフ状態から起動すると、Ｓ１０１で、ディスクコントローラ２０６は、ＳＳＤ２０７を起動する一方で、ＨＤＤ６を起動せずにスリープ状態にする。その後、Ｓ１０２で、ディスクコントローラ２０６は、ＳＳＤ２０７の残りの記憶容量が所定の閾値以下であるか否かを判定することで、当該残りの記憶容量が不足しているか否かを判定する。ディスクコントローラ２０６は、ＳＳＤ２０７の残りの記憶容量が所定の閾値以下ではない場合には、処理をＳ１０３へ進める。Ｓ１０３で、ディスクコントローラ２０６は、ＨＤＤ６をスリープ状態に維持し、処理をＳ１０２へ戻す。一方、Ｓ１０２で、ディスクコントローラ２０６は、ＳＳＤ２０７の残りの記憶容量が所定の閾値以下であると判定すると、処理をＳ１０４へ進める。
【００４７】
Ｓ１０４で、ディスクコントローラ２０６は、ストレージデバイス（ＨＤＤ６及びＳＳＤ２０７）へのライトアクセスが発生したか否かを判定する。ディスクコントローラ２０６は、ライトアクセスが発生していないと判定した場合には、処理をＳ１０３へ進める。Ｓ１０３で、ディスクコントローラ２０６は、ＨＤＤ６をスリープ状態に維持し、処理をＳ１０２へ戻す。一方、Ｓ１０４で、ディスクコントローラ２０６は、ライトアクセスが発生したと判定すると、処理をＳ１０５へ進める。
【００４８】
このようにして、Ｓ１０２及びＳ１０４では、ディスクコントローラ２０６は、ＳＳＤ２０７の残りの記憶容量に基づいて、ＨＤＤ６を使用する必要があるか否かを判定している。ディスクコントローラ２０６は、ＳＳＤ２０７の残りの記憶容量が所定の閾値以下となり、かつ、ライトアクセスが発生すると、ＨＤＤ６を使用する必要があると判定し、処理をＳ１０５に進めることになる。Ｓ１０５で、ディスクコントローラ２０６は、ＨＤＤ６をスリープ状態から起動状態に切り替える。即ち、ディスクコントローラ２０６は、ＨＤＤ６をスピンアップさせることで起動状態にし、それにより、ＨＤＤ６へのデータの書き込みを可能にする。このように、ディスクコントローラ２０６は、ＳＳＤ２０７の空き容量が所定容量以下と判定した場合、電源制御部２１２に対して次の指示を行う。即ち、電源部１０からＨＤＤ６への電力の供給を開始するように、ディスクコントローラ２０６は、電源制御部２１２を制御する。ＨＤＤ６は、電源部１０から電力の供給が開始されるとスピンアップを行って、記憶動作を開始する。
【００４９】
その後、Ｓ１０６で、ディスクコントローラ２０６は、所定量のデータをＳＳＤ２０７からＨＤＤ６へ退避させる退避処理を実行することで、ＳＳＤ２０７の残りの記憶容量を増加させてもよい。これにより、ディスクコントローラ２０６は、ＳＳＤ２０７をデータの書き込みが可能とし、ライトアクセスによる書き込み対象のデータを、ＳＳＤ２０７へ格納してもよい。その後、ディスクコントローラ２０６は処理をＳ１０２へ戻すことで、上述の処理を繰り返す。この場合、ディスクコントローラ２０６は、ＳＳＤ２０７の残りの記憶容量が所定の閾値以下でなくなると（Ｓ１０２で「ＮＯ」）、Ｓ１０３で、ＨＤＤ６を起動状態からスリープ状態に戻す。これにより、ＨＤＤ６の消費電力が低減される。
【００５０】
同様に、ＳＳＤ２０７とＨＤＤ６に格納されるデータの合計量が一定の閾値以下となる（または、ＳＳＤ２０７単体に格納されるデータの量が一定の閾値以下となる）場合、ディスクコントローラ２０６は、ＨＤＤ６をスリープ状態から起動状態に切り替えて、ＨＤＤ６に格納された一部または全部のデータをＳＳＤ２０７に移動させることもできる。上記の処理によって、ストレージデバイス（ＳＳＤ２０７及びＨＤＤ６）に格納されたデータをＳＳＤ２０７に集めることで、再び、ＣＰＵアクセスによるＨＤＤ６の（スリープ状態からの）復帰を減らすことができる。
【００５１】
以上説明した処理により、ディスクコントローラ２０６は、ＭＦＰ１の起動後に、可能な限りＨＤＤ６を起動状態に切り替えずにスリープ状態に維持し続ける。これにより、ＨＤＤ６の起動及び停止の実行をできるだけ避けながら、ＨＤＤ６の消費電力を低減することが可能になり、ＭＦＰ１の消費電力を低減することが可能になる。
【００５２】
＜ライトアクセス発生時の書き込み制御＞
次に、図３（Ｂ）を参照して、ストレージデバイス（ＨＤＤ６及びＳＳＤ２０７）へのライトアクセスが発生した際にディスクコントローラ２０６によって実行される、ストレージデバイスへのデータの書き込み制御の例について説明する。
【００５３】
本実施形態では、ディスクコントローラ２０６は、ストレージデバイスへのライトアクセスが発生した場合（図３の３０１）、ＨＤＤ６を可能な限りスリープ状態に維持するように、書き込み対象のデータの格納先をＨＤＤ６及びＳＳＤ２０７から選択する。即ち、ライトアクセスを可能な限りＳＳＤ２０７へ集中させるようにする。具体的には、ディスクコントローラ２０６は、対象データの種類及びサイズに基づいて、ＨＤＤ６及びＳＳＤ２０７から当該データの格納先を選択し、選択した格納先に当該データを格納する制御を行う。その際、ディスクコントローラ２０６は、対象データの種類及びサイズに基づいて、以下で説明するように、当該データの格納先としてＳＳＤ２０７を優先して選択する。
【００５４】
例えば、ディスクコントローラ２０６は、書き込み対象データのサイズが所定のサイズよりも小さければ、当該データの格納先としてＳＳＤ２０７を選択する（３０２）。また、ディスクコントローラ２０６は、書き込み対象データが、アクセス頻度が高い種類のデータとして定められたデータであれば、当該データの格納先としてＳＳＤ２０７を選択する（図３の３０２）。このようなアクセス頻度が高い種類のデータは、例えば、ＭＦＰ１で実行されるジョブの種類に基づいて定められていてもよい。また、アクセス頻度が高い種類のデータには、ＭＦＰ１でジョブが実行されるごとに使用されるデータ、及びＭＦＰ１の設定データ（即ち、画像データ以外のデータ）が含まれてもよい。ディスクコントローラ２０６は、上述のようなデータ以外の書き込み対象データについては、データ格納先としてＨＤＤ６を選択する（図３の３０３）。
【００５５】
上述のような書き込み制御によれば、限られたデータのみをＨＤＤ６に格納し、多くのデータをＳＳＤ２０７へ格納することになるため、データの格納のためにＨＤＤ６をスリープ状態から起動させる回数を抑えることが可能になる。その結果、ＨＤＤ６の起動及び停止の実行をできるだけ避けながら、ＨＤＤ６の消費電力を低減することが可能になる。
【００５６】
本実施形態では、ディスクコントローラ２０６は更に、ＨＤＤ６がスリープ状態にある間に、ＨＤＤ６が格納先として選択されたデータをＳＳＤ２０７へ一時的に蓄積してもよい。その場合、ディスクコントローラ２０６は、ＳＳＤ２０７に蓄積されたデータの量が所定の量に達したら、ＨＤＤ６をスリープ状態から起動状態に切り替えて、当該蓄積されたデータをＳＳＤ２０７からＨＤＤ６へ一括して移動させてもよい（図３の３０４）。ｋの所定の量は、例えば、ＳＳＤ２０７の総記憶容量の１０％、または、ＳＳＤ２０７の残りの記憶容量の２０％等に予め定められる。このような書き込み制御によれば、ＨＤＤ６をスリープ状態から起動（復帰）させる回数を更に抑えることが可能になる。
【００５７】
なお、ＳＳＤ２０７からＨＤＤ６へのデータの一括移動（図３の３０４）は、上述のように、ＳＳＤ２０７の残りの記憶容量が不足した場合のデータの退避処理（Ｓ１０６）として実行することが可能である。
【００５８】
［第２実施形態］
第１実施形態では、ディスクコントローラ２０６は、ストレージデバイスへのライトアクセスの発生時に、ＳＳＤ２０７の記憶容量が不足していると、ＳＳＤ２０７からＨＤＤ６へのデータの退避処理（Ｓ１０６）を行う。第２実施形態では、ディスクコントローラ２０６は、このようなライトアクセスの発生時にＨＤＤ６をスリープ状態から起動させるのに要する時間に起因してＭＦＰ１の性能の低下することを防止するための制御を行う。以下では、説明の簡略化のため、第１実施形態と異なる部分を中心として説明する。
【００５９】
＜ライトアクセス発生時の書き込み制御＞
まず、図６（Ａ）を参照して、ストレージデバイスへのライトアクセスの発生時に、ＳＳＤ２０７の残りの記憶容量が不足している場合の、データの書き込み制御の例について説明する。ディスクコントローラ２０６は、ストレージデバイスへのライトアクセスが発生した際に（図６の６０１）、ＳＳＤ２０７の記憶容量が不足していると、上述のようにＨＤＤ６をスリープ状態から起動させる。その後、ディスクコントローラ２０６は、ＳＳＤ２０７に格納されている一部のデータをＨＤＤ６にコピーし（図６の６０２）、コピー済みのデータをＳＳＤ２０７から削除する（図６の６０３）。このようにして、ディスクコントローラ２０６は、ＳＳＤ２０７からＨＤＤ６へのデータの退避処理（Ｓ１０６）を行う。これにより、ＳＳＤ２０７の記憶容量の不足が解消するため、ディスクコントローラ２０６は、ライトアクセスによる書き込み対象のデータをＳＳＤ２０７へ格納する（図６の６０４）。
【００６０】
このような退避処理では、ＨＤＤ６がスリープ状態から起動状態に至るまでの時間だけ、書き込み対象のデータをＳＳＤ２０７へ格納するのを待つ必要がある。これは、ストレージデバイス（ＨＤＤ６及びＳＳＤ２０７）へのアクセス速度が実質的に低下することを意味し、ＭＦＰ１の性能の低下につながる。
【００６１】
そこで、本実施形態では、ディスクコントローラ２０６は、図６（Ｂ）に示す制御を行うことで、ライトアクセスの発生時にＨＤＤ６をスリープ状態から起動させるのに要する時間に起因してＭＦＰ１の性能の低下することを防止する。具体的には、ディスクコントローラ２０６は、ＨＤＤ６がスリープ状態にある間に（または、ＭＦＰ１でジョブが実行されていない間に）、ＳＳＤ２０７に格納されているデータのうちで、ＨＤＤ６へ退避するデータの候補を決定する（図６の６１１）。ディスクコントローラ２０６は、ＳＳＤ２０７の残りの記憶容量が不足すると（所定の閾値以下になると）、ＨＤＤ６をスリープ状態から起動状態に切り替える。更に、ディスクコントローラ２０６は、決定した退避候補のデータを、ＳＳＤ２０７からＨＤＤ６へコピーする（図６の６１２）。
【００６２】
その後、ディスクコントローラ２０６は、ストレージデバイスへのライトアクセスが発生すると（図６の６１３）、ＳＳＤ２０７に格納されている、ＨＤＤ６へコピー済みの退避候補のデータを、ＳＳＤ２０７から削除する（図６の６１４）。退避候補のデータの削除後に、ディスクコントローラ２０６は、ライトアクセスによる書き込み対象のデータをＳＳＤ２０７に格納する（図６の６１５）。
【００６３】
上述の処理では、ＳＳＤ２０７の残りの記憶容量が不足すると、ＳＳＤ２０７からＨＤＤ６へ退避候補のデータがコピーされる。更に、ストレージデバイスへのライトアクセスの発生時には、ＳＳＤ２０７内のデータの削除のみでＳＳＤ２０７の記憶容量の不足が解消する。このため、ライトアクセスの発生時に、図６（Ａ）に示すような、データの退避処理を行う必要がなく、ＨＤＤ６がスリープ状態から起動状態に至るまでの時間だけ、書き込み対象のデータをＳＳＤ２０７へ格納するのを待つ必要がなくなる。したがって、ストレージデバイスへのライトアクセスの発生時にＨＤＤ６をスリープ状態から起動させるのに要する時間に起因してＭＦＰ１の性能が低下することを防止できる。
【００６４】
上述の退避候補データの決定は、後述するように、ＳＳＤ２０７に格納されている各データに対して設定される優先度に従って行うことが可能である。各データに対する優先度は、例えば、データの種類、データのサイズ、データへのアクセス頻度、及びデータへ最後のアクセスが発生してからの経過時間、の少なくとも１つに基づいて設定される。
【００６５】
＜ＨＤＤ及びＳＳＤの制御の手順＞
図７は、ディスクコントローラ２０６によって実行される、ＨＤＤ６及びＳＳＤ２０７の制御手順の例を示すフローチャートである。なお、図７に示す各ステップの処理は、ＦＰＧＡやＡＳＩＣ等のハードウェアにより実現されてもよいし、ソフトウェアにより実現されてもよい。ソフトウェアにより実現される場合、各処理は、ディスクコントローラ２０６内のプロセッサ（図示せず）またはメインＣＰＵ２０１が、ＨＤＤ６等に格納された制御プログラムを読み出して実行する処理によって実現されてもよい。
【００６６】
Ｓ２０１で、ディスクコントローラ２０６は、ＨＤＤ６がスリープ状態にある間に（または、ＭＦＰ１でジョブが実行されていない間に）、ＳＳＤ２０７に格納されている各データに対して、退避候補のデータを決定するための優先度を設定する。優先度の設定は、データの種類、データのサイズ、データへのアクセス頻度、及びデータへ最後のアクセスが発生してからの経過時間、の少なくとも１つに基づいて行うことが可能である。
【００６７】
本実施形態では、図８に示すように、データの種類、データへのアクセス頻度、及びデータへ最後の（直近の）アクセスが発生してからの経過時間に基づいて、ＳＳＤ２０７に格納されている各データについてスコアを取得する。図８では、データの種類、アクセス頻度、及び直近のアクセスからの経過時間のそれぞれについて、０を最小値、１００を最大値としてスコアを設定している。例えば、データの種類については、種類ごとにスコアを設定する。データのサイズについては、（１００−サイズ［ＭＢ］）をスコアとして設定している。アクセス頻度については、（過去２４時間のアクセス回数×５）をスコアとして設定している。また、直近のアクセスからの経過時間については、（１００−経過時間）をスコアとして設定している。ディスクコントローラ２０６は、ＳＳＤ２０７に格納された各データについて、図８に示す各項目のスコアの総和を求めることで、各データの優先度を取得する。
【００６８】
次に、Ｓ２０２で、ディスクコントローラ２０６は、ＳＳＤ２０７の残りの記憶容量が不足した（残りの記憶容量が所定の閾値以下となったか）か否かを判定する。この閾値は、例えば、ＳＳＤ２０７の総記憶容量の４０％に定められる。ディスクコントローラ２０６は、記憶容量が不足していなければ処理をＳ２０５へ進め、一定時間待機した後、処理をＳ２０１へ戻す。一方、ディスクコントローラ２０６は、記憶容量が不足していれば処理をＳ２０３へ進める。
【００６９】
Ｓ２０３で、ディスクコントローラ２０６は、ＨＤＤ６が起動状態か否かを判定する。ディスクコントローラ２０６は、ＨＤＤ６が起動状態でなければ、ＨＤＤ６を起動して処理をＳ２０５へ進め、一定時間待機した後、処理をＳ２０１へ戻す。一方、ＨＤＤ６が起動状態であれば処理をＳ２０４へ進める。Ｓ２０４で、ディスクコントローラ２０６は、Ｓ２０１で設定された各データの優先度に基づいて、優先度が最も低いデータ（図８ではデータＢ）を、ＨＤＤ６へ退避するデータの候補（退避候補データ）として決定し、当該データをＨＤＤ６へコピーする。更に、ディスクコントローラ２０６は、ＳＳＤ２０７にそのまま保持されている退避候補データに対して、ＨＤＤ６へコピー済みであることを示すフラグを設定する。その後、ディスクコントローラ２０６は、処理をＳ２０５へ進め、一定時間待機した後、処理をＳ２０１へ戻す。その結果、ストレージデバイスへのライトアクセスが発生した際には、ディスクコントローラ２０６は、ＳＳＤ２０７に格納されているデータのうち、Ｓ２０４でフラグが設定されたデータをＳＳＤ２０７から削除する。これにより、ディスクコントローラ２０６は、ＳＳＤ２０７の記憶容量を確保して、データをＳＳＤ２０７に格納することができる。
【００７０】
以上説明したように、本実施形態では、ディスクコントローラ２０６は、ＳＳＤ２０７の残りの記憶容量が不足している場合に、ＳＳＤ２０７に格納された一部のデータをＨＨＤ６へ事前にコピーしておく。これにより、ライトアクセスが発生した際に、ＳＳＤ２０７に格納されている、ＨＤＤ６へコピー済みデータを削除するのみでＳＳＤ２０７の記憶容量を確保でき、ＨＤＤ６へのデータの退避処理を実行する必要がなくなる。したがって、ストレージデバイスへのライトアクセスの発生時にＨＤＤ６をスリープ状態から起動させるのに要する時間に起因してＭＦＰ１の性能が低下することを防止できる。
【００７１】
［その他の実施形態］
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００７２】
１：画像形成装置、６：ＨＤＤ、３：コントローラ、２０７：ＳＳＤ、２０１：メインＣＰＵ、２０６：ディスクコントローラ
【図１】
2018022440.tif 000003
【図２】
2018022440.tif 000004
【図３】
2018022440.tif 000005
【図４】
2018022440.tif 000006
【図５】
2018022440.tif 000007
【図６】
2018022440.tif 000008
【図７】
2018022440.tif 000009
【図８】
2018022440.tif 000010