(57)【要約】【課題】  磁気ディスク装置の処理能率を低下させることなく、かつ、効率的に消費電力の低減を図る磁気ディスク装置の電力制御方法を提供する。【解決手段】  磁気ディスク装置の電力制御方法において、前記磁気ディスク装置へ直前に送信された命令の種類が、読み出し命令か書き込み命令かを判別するステップと、前記命令の種類の判別の結果に応じて異なる待機時間を設定するステップと、前記磁気ディスク装置による前記直前に送信された命令の処理完了から、前記待機時間が経過したことを条件として、前記磁気ディスク装置を消費電力の低いアイドル状態へ移行させるためのアイドル命令を前記磁気ディスク装置へ送信するステップと、を備える。【選択図】      図６
2006172198.tif 000002
【特許請求の範囲】
【請求項１】
磁気ディスク装置の電力制御方法であって、
前記磁気ディスク装置へ直前に送信された命令の種類が、読み出し命令か書き込み命令かを判別するステップと、
前記命令の種類の判別の結果に応じて異なる待機時間を設定するステップと、
前記磁気ディスク装置による前記直前に送信された命令の処理完了から、前記待機時間が経過したことを条件として、前記磁気ディスク装置を消費電力の低いアイドル状態へ移行させるためのアイドル命令を前記磁気ディスク装置へ送信するステップと、
を備えることを特徴とする電力制御方法。
【請求項２】
前記磁気ディスク装置が、前記アイドル状態より消費電力の低いスタンバイ状態にあることを条件として、前記アイドル命令の送信を禁止するステップを備えることを特徴とする請求項１記載の電力制御方法。
【請求項３】
磁気ディスク装置へ直前に送信された命令の種類が、読み出し命令か書き込み命令かを判別する処理と、
前記命令の種類の判別の結果に応じて異なる待機時間を設定する処理と、
前記磁気ディスク装置による前記直前に送信された命令の処理完了から、前記待機時間が経過したことを条件として、前記磁気ディスク装置を消費電力の低いアイドル状態へ移行させるためのアイドル命令を前記磁気ディスク装置へ送信する処理と、
をコンピュータ装置に実行させることを特徴とするプログラム。
【請求項４】
磁気ディスク装置の電力制御装置であって、
前記磁気ディスク装置へ直前に送信された命令の種類が、読み出し命令か書き込み命令かを判別する命令判別部と、
前記命令の種類に応じて異なる待機時間を記憶する記憶部と、
前記記憶部から、前記命令判別部の判別の結果に応じた待機時間を読み出して設定する待機時間設定部と、
前記磁気ディスク装置による前記命令判別部が判別した命令の処理完了から、前記待機時間設定部が設定した待機時間が経過したことを条件として、前記磁気ディスク装置を消費電力の低いアイドル状態へ移行させるためのアイドル命令を前記磁気ディスク装置へ送信するアイドル命令送信部と、
を備える電力制御装置。
【請求項５】
前記アイドル命令送信部が前記アイドル命令を送信してから、前記磁気ディスク装置が前記アイドル命令の処理を完了するまでの間に、前記磁気ディスク装置へ別の命令が送信されたか否かを判別する別命令判別部と、
前記別命令判別部の判別結果に基づいて、前記待機時間を調整する待機時間調整部と、
をさらに備えることを特徴とする請求項４記載の電力制御装置。
【請求項６】
前記磁気ディスク装置が、前記アイドル状態より消費電力の低いスタンバイ状態にあることを条件として、前記アイドル命令送信部による前記アイドル命令の送信を禁止するアイドル命令禁止部を備えることを特徴とする請求項４記載の電力制御装置。
【請求項７】
前記待機時間調整部は、前記別の命令が送信されたことを条件として前記待機時間を増加することを特徴とする請求項５記載の電力制御装置。
【請求項８】
前記待機時間調整部は、前記別の命令が送信されなかったことを条件として前記待機時間を減少することを特徴とする請求項５記載の電力制御装置。
【請求項９】
待機時間調整部は、記憶部に記憶される待機時間のうち、命令判別部により判別された命令の種類に応じた待機時間を調整することを特徴とする請求項５記載の電力制御装置。
【請求項１０】
磁気ディスク装置および請求項４記載の電力制御装置を備える電子情報機器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、磁気ディスク装置の電力制御方法、プログラム、電力制御装置、および電力制御装置を備える電子情報機器に関する。
【背景技術】
【０００２】
従来、コンピュータといった電子情報機器の補助記憶装置として、ハードディスクドライブといった磁気ディスク装置が用いられている。これらのディスク装置は複数の消費電力状態を有し、これらの状態が適切に切り替えられることにより、消費電力の低減が実現されている。これら複数の消費電力状態は、コンピュータ、から書き込みや読み出しの命令を受信した後、処理を完了して応答するまでの処理時間がそれぞれ異なる。この処理時間には、消費電力の少ない特定状態に移行する命令を受信してから状態の移行が確定するまでの時間、コンピュータから書き込みや読み出しの命令を受信し、特定の状態から処理が可能な状態に移行するまでの時間、および、処理が可能な状態となってから処理を完了するまでの時間がある。したがって、処理時間が増大しないよう、状態が適切に切り替えられることが必要となる。
【０００３】
このような、消費電力制御に関連する技術として、特許文献１には、情報処理装置に節電タイマーを設け、この節電タイマーの値を適応的に変更することによって、当該情報処理装置の処理能率を低下させることなく、消費電力の低減を図る技術が開示されている。この場合には、節電タイマーを備えた情報処理装置において、例えば、最後の処理動作から節電タイマーで設定した時間経過後に節電状態に移行させるようにする場合に、節電状態突入後、比較的早い時期にタスク再開要求が来た場合には、次回からの節電タイマーを長めに設定して、不必要に節電状態に移行しないようにする。
【特許文献１】特開平９−６４６５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記の技術では、消費電力の少ない節電状態から処理が可能な状態に移行するまでの時間、および処理を完了するまでの時間に基づいて節電タイマーの値が変更されるが、消費電力が少ない状態へ移行が確定するまでの時間が考慮されない。特に、消費電力の少ない状態への移行に必要な時間が、突入時の状況により異なると、タイマーの値が状況により不適切となり、処理能率を低下させるおそれがあった。
【０００５】
本発明は、消費電力の少ない状態に移行するときの状況に適した状態切り替えを行い、磁気ディスク装置の処理能率を低下させることなく、効率的に消費電力の低減を図る磁気ディスク装置の電力制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の第１の形態によると、磁気ディスク装置の電力制御方法において、前記磁気ディスク装置へ直前に送信された命令の種類が、読み出し命令か書き込み命令かを判別するステップと、前記命令の種類の判別の結果に応じて異なる待機時間を設定するステップと、前記磁気ディスク装置による前記直前に送信された命令の処理完了から、前記待機時間が経過したことを条件として、前記磁気ディスク装置を消費電力の低いアイドル状態へ移行させるためのアイドル命令を前記磁気ディスク装置へ送信するステップと、を備える。
【０００７】
本発明の第２の形態によると、コンピュータ装置に実行させるプログラムにおいて、磁気ディスク装置へ直前に送信された命令の種類が、読み出し命令か書き込み命令かを判別する処理と、前記命令の種類の判別の結果に応じて異なる待機時間を設定する処理と、前記磁気ディスク装置による前記直前に送信された命令の処理完了から、前記待機時間が経過したことを条件として、前記磁気ディスク装置を消費電力の低いアイドル状態へ移行させるためのアイドル命令を前記磁気ディスク装置へ送信する処理と、をコンピュータ装置に実行させる。
【０００８】
本発明の第３の形態によると、磁気ディスク装置の電力制御装置において、前記磁気ディスク装置へ直前に送信された命令の種類が、読み出し命令か書き込み命令かを判別する命令判別部と、前記命令の種類に応じて異なる待機時間を記憶する記憶部と、前記記憶部から、前記命令判別部の判別の結果に応じた待機時間を読み出して設定する待機時間設定部と、前記磁気ディスク装置による前記命令判別部が判別した命令の処理完了から、前記待機時間設定部が設定した待機時間が経過したことを条件として、前記磁気ディスク装置を消費電力の低いアイドル状態へ移行させるためのアイドル命令を前記磁気ディスク装置へ送信するアイドル命令送信部と、を備える。
【０００９】
本発明の第４の形態によると、電子情報機器において、磁気ディスク装置および前記電力制御装置を備える。
【発明の効果】
【００１０】
本発明によれば、待機時間が経過したことを条件としてアイドル命令を前記磁気ディスク装置へ送信する場合に、この待機時間を直前に送信された命令の種類に応じて異なるものとする。このことにより、直前に送信された命令により異なる待機時間を設定し、磁気ディスク装置の処理能率を低下させることなく、かつ、効率的に消費電力の低減を図ることができる。
【発明を実施するための最良の形態】
【００１１】
図１は、本発明の実施形態に係る電力制御装置が適用される情報処理装置１００の構成を示すブロック図である。情報処理装置１００は、記憶装置としての磁気ディスク装置（ＨＤＤ）１０と、磁気ディスク装置１０を制御するホストコンピュータ（ＣＰＵおよびメモリ）２０とを備える。ここで、ホストコンピュータ２０は、情報処理装置１００のデータ処理のためのＣＰＵとメインメモリとで実現される。磁気ディスク装置１０とホストコンピュータ２０とは、例えば、シリアルＡＴＡ（ＡＴ  Ａｔｔａｃｈｍｅｎｔ）バス（以下、ＳＡＴＡバス）といったバスで接続されている。
【００１２】
磁気ディスク装置１０は、パラレルＡＴＡ（以下、ＰＡＴＡ）の入出力仕様を有する、磁気ディスクを内蔵するハードディスクドライブ１２（以下、ＨＤＤ１２）と、このＨＤＤ１２をホストコンピュータ２０のＳＡＴＡバスに接続するためのＳＡＴＡ−ＰＡＴＡブリッジ１１とを備える。
【００１３】
ＳＡＴＡ−ＰＡＴＡブリッジ１１は、ホストコンピュータ２０がＳＡＴＡバスを介して送信する、データの書き込み、読み出し、アイドル、スタンバイといった命令および付随するデータをＰＡＴＡ仕様に変換し、ＰＡＴＡバスを介してＨＤＤ１２に送信する。また、ＨＤＤ１２がＰＡＴＡバスを介して送信する、命令の応答および付随するデータをＳＡＴＡ仕様に変換し、ＳＡＴＡバスを介してホストコンピュータ２０に送信する。また、ＳＡＴＡ−ＰＡＴＡブリッジ１１は、ホストコンピュータ２０からアイドル命令を受信すると、これをＨＤＤ１２に送信することに加え、自らもＳＡＴＡバスの駆動を停止して、消費電力を低減する。ここで、アイドル命令は、例えば、ＡＴＡにおけるアイドルイミディエート命令（Ｉｄｌｅ  Ｉｍｍｅｄｉａｔｅ  ｃｏｍｍａｎｄ）である。
【００１４】
ＨＤＤ１２は、一般にキャッシュメモリを備えており、磁気ディスクへ書き込むデータを高速なキャッシュメモリに一時的に保持（ライトキャッシュ）してから低速な磁気ディスクへの書き込みを行うことにより、ホストコンピュータ２０に対する応答速度を向上させている。通常、アクティブ状態から低消費電力であるアイドル状態またはスタンバイ状態に移行する場合、キャッシュメモリに保持されている書き込みデータ（ダーティデータ：Dirty Data）を磁気ディスクに書き込み、当該キャッシュメモリをフラッシュ（空にする）した後に、状態の移行が完了する。そのため、ホストコンピュータ２０から磁気ディスク装置１０へアイドル命令を送信した際に、ＨＤＤ１２のキャッシュメモリにダーティデータが残っている場合、キャッシュがフラッシュされアイドル命令の処理が完了するまで、次の命令に対応する処理を保留しなければならず、直ちに次の命令の処理を行うことができない。そこで、アイドル命令を効率よく送信しつつも、保留がなされる期間に次の命令が送信される頻度を下げるための工夫が必要となる。
【００１５】
図２は、本発明の実施形態に係る磁気ディスク装置１０の電力制御装置が適用される、ホストコンピュータ２０の構成を示す図である。ホストコンピュータ２０は、各種の具体的な処理を行うためのアプリケーション２１、オペレーティングシステム（ＯＳ）により提供されるファイルシステム２２、磁気ディスク装置１０の電力制御装置としてのフィルタドライバ２３、および磁気ディスク装置１０の動作および接続を制御するデバイスドライバ２４を備える。ホストコンピュータ２０におけるこれらの機能は、それぞれプログラム制御されたＣＰＵによって実現される。ＣＰＵを制御してこれらの機能を実現させるプログラムは、磁気ディスクや光ディスク、半導体メモリ、その他の記憶媒体に格納して配布したり、ネットワークを介して配信したりすることにより提供される。そして、磁気ディスク装置１０に格納された後、ホストコンピュータ２０のメモリに読み込まれ、ＣＰＵにより実行されることにより、図２に示した各構成要素の機能が実現される。
【００１６】
通常、アプリケーション２１が磁気ディスク装置１０へアクセス（読み書き）する場合、ＯＳにより提供されるファイルシステム２２を介して行う。ファイルシステム２２は、ひとかたまりのデータとして構成されるデータファイルが実際に磁気ディスク装置１０内でどの様に配置保存されているかを管理し、これをアプリケーション２１に対して隠すことにより、アプリケーション２１による磁気ディスク装置１０の利用を簡易化する。磁気ディスク装置１０へ実際にアクセスするのはデバイスドライバ２４である。
【００１７】
磁気ディスク装置１０の動作を制御するデバイスドライバ２４は、磁気ディスク装置１０がホストコンピュータに対して接続される際のＳＡＴＡといったインターフェイスに応じて、磁気ディスク装置１０と接続する。デバイスドライバ２４は、ファイルシステム２２による制御に応じて、磁気ディスク装置１０が接続されているＩ／Ｏコントローラ（例えばＡＴＡコントローラ）へアクセスする。そして、磁気ディスク装置１０がファイルシステム２２の指示に従って高速にデータ転送できるようにＩ／Ｏコントローラの所定のＩ／Ｏポートを操作する。
【００１８】
フィルタドライバ２３は、ファイルシステム２２とデバイスドライバ２４との間に設けられており、通常、ファイルシステム２２とデバイスドライバ２４との間で両者のインターフェイスの仲立ちをする。具体的には、ファイルシステム２２から送信される指示としての書き込み命令、読み出し命令、または付随するデータを、そのままデバイスドライバ２４に送信し、また、磁気ディスク装置１０による命令処理の結果としてデバイスドライバ２４から送信される応答、または付随するデータそのままファイルシステム２２に送信する。これに加え、フィルタドライバ２３は、磁気ディスク装置１０をアイドル状態へ移行させるためのアイドル命令を、デバイスドライバ２４を介して、磁気ディスク装置１０へ送信する。
【００１９】
図３は、フィルタドライバ２３の機能構成を示す図である。磁気ディスク装置１０の電力制御装置としてのフィルタドライバ２３は、命令判別部３１と、記憶部３２と、待機時間設定部３３と、アイドル命令送信部３４と、アイドル命令禁止部３５と、別命令判別部３６と、待機時間調整部３７とを備える。フィルタドライバ２３におけるこれらの機能は、それぞれプログラム制御されたＣＰＵによって実現される。
【００２０】
命令判別部３１は、ファイルシステム２２とデバイスドライバ２４との間で両者のインターフェイスの仲立ちをする。具体的には、ファイルシステム２２から送信される指示としての書き込み命令、読み出し命令、または付随するデータを、そのままデバイスドライバ２４に送信し、また、磁気ディスク装置１０による命令処理の結果としてデバイスドライバ２４から送信される応答、または付随するデータそのままファイルシステム２２に送信する。命令判別部３１は、さらに、磁気ディスク装置１０へ直前に送信された命令の種類が、読み出し命令か書き込み命令かを判別する。
【００２１】
記憶部３２は、ホストコンピュータ２０が備える、書き換え可能な半導体メモリ等からなり、命令判別部３１がファイルシステム２２から受信して、デバイスドライバ２４に送信する命令の種類に応じて異なる待機時間を記憶する。具体的には書き込み待機時間Ｔｗｄｅｌａｙ、および読み出し待機時間Ｔｒｄｅｌａｙを記憶する。
【００２２】
待機時間設定部３３は、命令判別部３１の判別の結果に応じた待機時間を、記憶部３２から読み出し計測時間として設定し、時間の計測を行う。具体的には、命令判別部３１が、送信された命令の種類を読み出し命令として判別した場合には読み出し待機時間Ｔｒｄｅｌａｙを、書き込み命令として判別した場合には書き込み待機時間Ｔｗｄｅｌａｙを、記憶部３２から読み出し、計測する時間として設定する。また、磁気ディスク装置による命令の応答からの時間の計測を開始し、設定した待機時間が経過するか否かを判別する。時間の計測は、読み出した読み出し待機時間Ｔｒｄｅｌａｙ、または書き込み待機時間Ｔｗｄｅｌａｙの値を記憶部３２に記憶させ、減算させたり、ホストコンピュータ２０のＯＳが提供する時間計測のサービスを利用したりして行うことができる。
【００２３】
アイドル命令送信部３４は、命令の処理完了から、待機時間設定部３３が設定した待機時間が経過したことを条件として、磁気ディスク装置１０を消費電力の低いアイドル状態へ移行させるためのアイドル命令を磁気ディスク装置１０へ送信する。
【００２４】
アイドル命令禁止部３５は、磁気ディスク装置１０が、アイドル状態より消費電力の低いスタンバイ状態にあることを条件として、アイドル命令送信部３４によるアイドル命令の送信を禁止する。アイドル状態およびスタンバイ状態については後述する。
【００２５】
別命令判別部３６は、アイドル命令送信部３４がアイドル命令を送信してから、磁気ディスク装置１０がアイドル命令の処理を完了するまでの間に、磁気ディスク装置１０へ別の命令が送信されたか否かを判別する。この判別は、命令判別部３１が、ファイルシステム２２から命令を受信したか否かにより行ってもよい。
【００２６】
待機時間調整部３７は、別命令判別部３６の判別結果に基づいて、記憶部３２に記憶された読み出し待機時間Ｔｒｄｅｌａｙ、または書き込み待機時間Ｔｗｄｅｌａｙを調整する。例えば、別命令判別部３６が、アイドル命令の送信から処理の完了までの間に、別の命令が送信されたと判別した場合、待機時間調整部３７は、記憶部３２に記憶された読み出し待機時間Ｔｒｄｅｌａｙ、または書き込み待機時間Ｔｗｄｅｌａｙの値を増加する。この一方、別の命令が送信されなかったと判別した場合、記憶部３２に記憶された、読み出し待機時間Ｔｒｄｅｌａｙ、または書き込み待機時間Ｔｗｄｅｌａｙの値を減少する。待機時間調整部３７はまた、情報処理装置１００の磁気ディスク装置１０が交換された等により、ホストコンピュータ２０の状態がリセットされた場合には、記憶部３２の待機時間を初期化する。具体的には、例えば、読み出し待機時間Ｔｒｄｅｌａｙとして１００ｍＳに相当する値、そして、書き込み待機時間Ｔｗｄｅｌａｙとして５００ｍＳに相当する値を初期値として記憶部３２に書き込む。
【００２７】
図４は、磁気ディスク装置１０の消費電力の状態を示す状態移行図である。磁気ディスク装置１０は、消費電力の異なる複数の状態を有する。例えば、ＡＴＡの場合、アクティブ（ＡＣＴＩＶＥ）、アイドル（ＩＤＬＥ）、スタンバイ（ＳＴＡＮＤＢＹ）およびスリープ（ＳＬＥＥＰ）の４個の状態（モード）を有する。アクティブ状態４１は、ホストコンピュータ２０からの命令を直ちに処理できる状態であり、最も消費電力が大きい。アイドル状態４２は、磁気ディスクに対しデータを読み書きするヘッドの駆動を停止し、また、ホストコンピュータと接続するＳＡＴＡバスの駆動を停止するものであり、命令の処理を開始できるまで時間を要する。スタンバイ状態４３は磁気ディスクの回転も停止するものであり、命令の処理を開始できるまで、さらに時間を要する。電力の消費は、アクティブ状態から、アイドル状態、スタンバイ状態へと移行するに従い小さくなる。なお、スリープ状態は、消費電力がさらに小さいが、書き込みまたは読み出しのいずれの命令も受け付けることができないので、ここでは説明を省略する。
【００２８】
磁気ディスク装置１０は、アクティブ状態４１またはスタンバイ状態４３において、アイドル命令を受信するとアイドル状態４２となる。また、アイドル状態４２において、スタンバイ命令を受信するとスタンバイ状態４３となる。また、スタンバイ状態４３またはアイドル状態４２において、書き込み命令または読み出し命令を受信するとアクティブ状態４１となる。なお、磁気ディスク装置の中には、アイドル命令の受信無しにヘッドの駆動を停止し、アイドル状態と同様の状態になるものがある。ただし、この場合においても、本実施形態の磁気ディスク装置１０は、アイドル命令を受信すると、ＳＡＴＡバスの駆動を停止して、電源消費がより小さいアイドル状態となる。
【００２９】
磁気ディスク装置１０は、アイドル命令を受信すると、アクティブ状態４１またはスタンバイ状態４３のいずれの状態からもアイドル状態４２に移行する。本実施形態のフィルタドライバ２３によれば、磁気ディスク装置１０がスタンバイ状態４３にあることを条件として、アイドル命令禁止部３５が、アイドル命令送信部３４によるアイドル命令の送信を禁止する。このため、アイドル命令を送信することにより、スタンバイ状態からさらに消費電力の多いアイドル状態に移行して、消費電力を増大させてしまうことを防止できる。
【００３０】
図５は、磁気ディスク装置１０における、命令の処理の流れの一例を時系列で示すグラフである。グラフの横軸は時間の経過を示し、縦軸は、アプリケーション２１、ファイルシステム２２、フィルタドライバ２３、デバイスドライバ２４、および磁気ディスク装置１０による階層の構造を示す。
【００３１】
図５において、アプリケーション２１の実行に応じ発生する読み出し命令１は、ファイルシステム２２、フィルタドライバ２３、およびデバイスドライバ２４を通じて磁気ディスク装置１０に送信される。アクティブ状態の磁気ディスク装置１０では、読み出し命令１に対応するデータの読み出し処理を行う。磁気ディスク装置１０は、処理が完了すると、読み出し命令１への応答として、読み出したデータをデバイスドライバ２４、フィルタドライバ２３、およびファイルシステム２２を通じてアプリケーション２１に送信する。この応答により、フィルタドライバ２３は命令の処理完了を検知できる。処理の流れは、続く書き込み命令２、および書き込み命令３についても同様である。
【００３２】
フィルタドライバ２３は、命令への応答をファイルシステム２２に転送した後、時間の計測を開始する。そして、待機時間Ｔｄｅｌａｙが経過したことを条件として、アイドル命令を磁気ディスク装置１０へ送信する。磁気ディスク装置１０では、ＳＡＴＡ−ＰＡＴＡブリッジ１１が、ＨＤＤ１２にアイドル命令を転送すると共に、自らもＳＡＴＡバスの駆動を停止して、消費電力を低減する。これによりＨＤＤ１２もアイドル状態となるが、ＨＤＤ１２は、アイドル命令の処理を完了してアイドル状態への移行を完了するまでは、次に別の命令を受信しても処理を開始しない。したがって、この期間に、別の命令である書き込み命令４が磁気ディスク装置１０に送信されても、アイドル状態への移行完了まで、処理が保留される。
【００３３】
ここで、磁気ディスク装置１０が、アイドル命令を受信してからアイドル状態への移行を完了して、フィルタドライバ２３に応答するまでの時間、すなわち、別の命令を受信しても処理を開始しない時間を保留時間Ｔｄｅａｄとすると、待機時間Ｔｄｅｌａｙと保留時間Ｔｄｅａｄの関係は、例えば、下の表に示される。
【００３４】
【表１】
2006172198.tif 000003
【００３５】
【表２】
2006172198.tif 000004
【００３６】
上の表に示すように、待機時間Ｔｄｅｌａｙを一定時間より長く確保すると、保留時間Ｔｄｅａｄは十分短くなる傾向がある。また、保留時間Ｔｄｅａｄは、アイドル命令が書き込み命令の後か、読み出し命令の後かにより、すなわち、アイドル命令を受信する直前に受信する命令の種類が、書き込み命令か読み出し命令かにより著しく異なる。この差は、直前の命令が書き込み命令であった場合、アイドル命令を受信すると、磁気ディスク装置１０のＨＤＤ１２が、内蔵するキャッシュメモリに保持されていたデータを磁気ディスクに書き込み、キャッシュメモリをフラッシュした後に、状態の移行を完了するためであると考えられる。なお、上の表に示す保留時間Ｔｄｅａｄは、磁気ディスク装置１０の種類によっても異なる。本実施形態のフィルタドライバ２３は、待機時間が経過したことを条件としてアイドル命令を前記磁気ディスク装置へ送信する場合に、この待機時間を直前に送信された命令の種類に応じて異なるものとし、アイドル命令の処理が完了するまでの間に、別の命令が送信されたか否かにより、この待機時間を調整する。このことにより、直前に送信された命令により異なる、磁気ディスク装置１０の処理時間に対応して待機時間を最適に調整し、磁気ディスク装置１０の処理能率を低下させることなく、かつ、効率的に消費電力の低減を図ることができる。
【００３７】
図６は、磁気ディスク装置１０の電力制御の処理を示すフローチャートである。
【００３８】
まず、情報処理装置１００の磁気ディスク装置１０が交換された等により、ホストコンピュータ２０の状態がリセットされ、処理がスタートすると、待機時間調整部３７は、待機時間Ｔｄｅｌａｙを初期化する（Ｓ１１）。例えば、読み出し待機時間Ｔｒｄｅｌａｙとして１００ｍＳに相当する値、および、書き込み待機時間Ｔｗｄｅｌａｙとして５００ｍＳに相当する値を記憶部３２に書き込む。
【００３９】
続いて、命令判別部３１は、コマンド／応答受送信処理を行う（Ｓ１２）。具体的には、ファイルシステム２２から送信される書き込み命令、読み出し命令、または付随するデータを、そのままデバイスドライバ２４に送信し、また、磁気ディスク装置１０による命令処理の結果としてデバイスドライバ２４から送信される応答、または付随するデータそのままファイルシステム２２に送信する。
【００４０】
続いて、命令判別部３１は、前記磁気ディスク装置へ直前に送信された命令の種類が、読み出し命令か、書き込み命令かを判別する（Ｓ１３）。ここで、書き込み命令であると判別された場合には（Ｓ１３：ＹＥＳ）ステップＳ１４の処理が実行され、読み出し命令であると判別された場合には（Ｓ１３：ＮＯ）ステップＳ１５の処理が実行される。
【００４１】
続いて、待機時間設定部３３は、命令の種類の判別の結果に応じて異なる待機時間を設定する（Ｓ１４、Ｓ１５）。具体的には、書き込み命令として判別された場合に実行されるステップＳ１４では、待機時間設定部３３が、書き込み待機時間Ｔｗｄｅｌａｙを記憶部３２から読み出し、計測時間として設定する。この一方、読み出し命令として判別された場合に実行されるステップＳ１５では、読み出し待機時間Ｔｒｄｅｌａｙを記憶部３２から読み出し、計測する時間として設定する。ステップＳ１４またはステップＳ１５の処理の後、ステップＳ１６の処理が実行される。
【００４２】
続いて、命令判別部３１は、次の命令があるか否かを判別する。次の命令がファイルシステム２２から送信されたと判別した場合（Ｓ１６：ＹＥＳ）、待機時間の再計測を行うため、ステップＳ１２に戻り処理を行う。
【００４３】
ステップＳ１６で次の命令がないとして判別されると（Ｓ１６：ＮＯ）、待機時間設定部３３は、設定された待機時間が経過したか否か判別する（Ｓ１７）。待機時間が経過していないと判別された場合（Ｓ１７：ＮＯ）、時間の計測を継続するためステップＳ１６に戻り処理を行う。この一方、磁気ディスク装置１０による直前に送信された命令の処理完了から、設定された待機時間が経過したと判別された場合には（Ｓ１７：ＹＥＳ）、アイドル命令禁止部３５が、電力状態確認処理を行う（Ｓ１８）。ここで、磁気ディスク装置１０が、アイドル状態より消費電力の低いスタンバイ状態にあると判別した場合には（Ｓ１９：ＹＥＳ）、ステップＳ１２の処理に戻る。このことにより、アイドル命令送信部３４によるアイドル命令の送信の禁止が実現される。
【００４４】
ステップＳ１９で、スタンバイ状態にはないと判別された場合（Ｓ１９：ＮＯ）、アイドル命令送信部３４が、磁気ディスク装置１０をアイドル状態へ移行させるアイドル命令を磁気ディスク装置１０へ送信する（Ｓ２０）。
【００４５】
続いて、別命令判別部３６は、磁気ディスク装置１０がアイドル命令の処理を完了したか否かを判別する（Ｓ２１）。ここで、アイドル命令の処理が完了していないと判別された場合には（Ｓ２１：ＮＯ）、命令判別部３１は、コマンド受送信処理を繰り返す（Ｓ２２）。
【００４６】
この一方、アイドル命令の処理が完了したと判別された場合（Ｓ２１：ＹＥＳ）、別命令判別部３６は、アイドル命令の処理を完了するまでの間に、磁気ディスク装置１０へ別の命令が送信されたか否かを判別する（Ｓ２３）。この判別結果に基づいて、待機時間調整部３７が、記憶部３２に記憶された読み出し待機時間Ｔｒｄｅｌａｙ、または書き込み待機時間Ｔｗｄｅｌａｙを調整する（Ｓ２４、Ｓ２５）。具体的には、別の命令が送信されたとして判別された場合に実行されるステップＳ２５で、待機時間調整部３７は、記憶部３２に記憶された、読み出し待機時間Ｔｒｄｅｌａｙ、または書き込み待機時間Ｔｗｄｅｌａｙの値を増加する（Ｓ２５）。この一方、別の命令が送信されなかったと判別した場合、待機時間調整部３７は、記憶部３２に記憶された、読み出し待機時間Ｔｒｄｅｌａｙ、または書き込み待機時間Ｔｗｄｅｌａｙの値を減少する（Ｓ２４）。ここで、待機時間調整部３７は、読み出し待機時間Ｔｒｄｅｌａｙ、および書き込み待機時間Ｔｗｄｅｌａｙのうち、待機時間設定部３３が命令の種類の判別結果に応じて設定する待機時間のみを変更する。このようにして、読み出し待機時間Ｔｒｄｅｌａｙ、または書き込み待機時間Ｔｗｄｅｌａｙが別に調整されるため（Ｓ２４、Ｓ２５）、直前の命令の種類により異なる、アイドル命令の処理時間に対応して最適な待機時間を設定することができる。
【００４７】
また、アイドル命令の処理の間に別の命令が送信された場合に、読み出し待機時間Ｔｒｄｅｌａｙ、または書き込み待機時間Ｔｗｄｅｌａｙの値を増加することによって、磁気ディスク装置１０の保留時間Ｔｄｅａｄを短縮し、アイドル命令の処理の間に別のコマンドが送信される確率を低減し、磁気ディスク装置１０の処理能率低下を防ぐことができる。さらに、アイドル命令の処理の間に別の命令が送信されない場合に、読み出し待機時間Ｔｒｄｅｌａｙ、または書き込み待機時間Ｔｗｄｅｌａｙの値を減少することによって、磁気ディスク装置１０がアイドル状態となるまでの待機時間を短縮し、消費電力をより低減することができる。
【００４８】
次に、上述した実施形態に係るフィルタドライバ２３を適用した情報処理装置１００について説明する。図７は、フィルタドライバ２３を適用した情報処理装置１００の例としてのパーソナルコンピュータの外観を示す。情報処理装置１００には磁気ディスク装置１０を備えるとともに、フィルタドライバ２３が組み込まれている。このことにより、磁気ディスク装置１０に対し、直前に送信された命令により異なる処理時間に応じて最適な待機時間を設定し、処理能率を低下させることなく、かつ、効率的に消費電力の低減を図ることができる。
【００４９】
なお、本発明は前記実施形態に限定されるものではなく、本発明の目的を達成できる範囲での変形、改良等は本発明に含まれるものである。
【００５０】
例えば、磁気ディスク装置１０とホストコンピュータ２０とは、ＳＡＴＡバスで接続され、磁気ディスク装置１０は、ＰＡＴＡの入出力仕様を有するＨＤＤ１２をＳＡＴＡバスに接続するためのＳＡＴＡ−ＰＡＴＡブリッジ１１を備えるとして説明したが、本発明はこれに限らず、ホストコンピュータがＨＤＤと直接に接続される構成であってもよい。また、磁気ディスク装置１０とホストコンピュータ２０との接続の仕様は、ＳＡＴＡやＰＡＴＡに限らず、アイドル命令の転送をサポートする仕様であればよい。
【図面の簡単な説明】
【００５１】
【図１】本発明の実施形態に係る電力制御装置が適用される情報処理装置の構成を示すブロック図である。
【図２】本発明の実施形態に係る磁気ディスク装置１０の電力制御装置が適用される、ホストコンピュータの構成を示す図である。
【図３】フィルタドライバ２３の機能構成を示す図である。
【図４】磁気ディスク装置１０の電力の状態を示す状態移行図である。
【図５】情報処理装置における、命令の処理の流れを時系列で示すグラフである。
【図６】磁気ディスク装置１０の電力制御の処理を示すフローチャートである。
【図７】情報処理装置１００の例としてのパーソナルコンピュータの外観を示す。
【符号の説明】
【００５２】
１０    磁気ディスク装置
２０    ホストコンピュータ
２３    フィルタドライバ
３１    命令判別部
３２    記憶部
３３    待機時間設定部
３４    アイドル命令送信部
３５    アイドル命令禁止部
３６    別命令判別部
３７    待機時間調整部
１００  情報処理装置
【図１】
2006172198.tif 000005
【図２】
2006172198.tif 000006
【図３】
2006172198.tif 000007
【図４】
2006172198.tif 000008
【図５】
2006172198.tif 000009
【図６】
2006172198.tif 000010
【図７】
2006172198.tif 000011