説明

記憶装置および情報処理装置

【課題】ディスク記憶媒体の回転停止および回転開始に関する制御を細やかに実行することができる記憶装置を実現する。
【解決手段】スタンバイ制御部311は、最後のメディア(不揮発性メモリまたはハードディスク)に対するアクセスをスタンバイタイマの基点とするモード(A0モード)と、最後のハードディスクアクセスをスタンバイタイマの基点とするモード(A1モード)とを有している。さらに、スタンバイ制御部311は、Standby(モータオフ)状態のとき、メディアアクセスコマンドの受信に応答してスピンドルモータをオンするモード(B0モード)と、Standby(モータオフ)状態のときハードディスクアクセスコマンドの受信に応答してスピンドルモータをオンするモード(B1モード)とを有している。

【発明の詳細な説明】
【技術分野】
【0001】
本発明はキャッシュを含む記憶装置および同記憶装置を備えた情報処理装置に関する。
【背景技術】
【0002】
近年、ノートブックタイプやデスクトップタイプ等、様々な種類のパーソナルコンピュータが広く利用されている。多くのパーソナルコンピュータは、外部記憶装置としてハードディスクドライブ(HDD)を搭載している。
【0003】
また、最近では、HDDのレスポンス性を向上させるために、キャッシュとして機能する不揮発性メモリを内蔵したいわゆるハイブリッドHDDに関する提案も種々なされている。
【0004】
HDDのような記憶装置の電力消費を低減するための技術としては、例えば特許文献1に開示された技術が知られている。この特許文献1に開示された外部記憶装置は、ホスト装置から外部記憶装置に対するアクセスが一定時間無い場合、スピンドルモータをオフする。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開平11−306664号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
スピンドルモータをオフすることにより、外部記憶装置の電力消費を低減することが出来る。しかしながら、スピンドルモータがオフされている状態でホスト装置からアクセス要求が来た場合には、スピンドルモータをオンしてディスク記憶媒体が定常回転速度で回転し始めるまで、ディスク記憶媒体に対するアクセスを待たなければならない。したがって、スピンドルモータを頻繁にオフすることは、外部記憶装置のレスポンス性を低下させる要因となり得る。
【0007】
よって、電力消費を犠牲にしてレスポンス性を優先するユーザと、レスポンス性を犠牲にして電力消費の低減を優先するユーザの両方の要望に応えられる新たな機能の実現が必要である。
【0008】
本発明は上述の事情を考慮してなされたものであり、ディスク記憶媒体の回転停止および回転開始に関する制御を細やかに実行することができる記憶装置および情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【0009】
上述の課題を解決するため、本発明の記憶装置は、ディスク記憶媒体と、前記ディスク記憶媒体からリードされたデータを格納するキャッシュメモリと、ホスト装置からのメディアアクセスコマンドによって指定されたデータが前記キャッシュメモリに格納されているか否かを判定し、前記判定結果に応じて前記キャッシュメモリおよび前記ディスク記憶媒体を選択的にアクセスするキュッシュ制御手段と、メディアアクセスコマンドが最後に受信されてから所定時間の間メディアアクセスコマンドが受信されないことを条件に前記ディスク記憶媒体の回転を停止する第1モードと、前記ディスク記憶媒体に対するアクセスを引き起こすメディアアクセスコマンドが最後に受信されてから所定時間の間前記ディスク記憶媒体に対するアクセスを引き起こすメディアアクセスコマンドが受信されないことを条件に前記ディスク記憶媒体の回転を停止する第2モードとを有し、前記ホスト装置からの要求に応じて選択された前記第1モードおよび第2モードの一方のモードを用いて前記ディスク記憶媒体の回転を停止する処理を実行し、前記ディスク記憶媒体の回転が停止されている状態でメディアアクセスコマンドが受信されたことを条件に前記ディスク記憶媒体の回転を開始する第3モードと、前記ディスク記憶媒体の回転が停止されている状態で、前記ディスク記憶媒体に対するアクセスを引き起こすメディアアクセスコマンドが受信されたことを条件に前記ディスク記憶媒体の回転を開始する第4モードとを有し、前記ホスト装置からの要求に応じて選択された前記第3モードおよび第4モードの一方のモードを用いて前記ディスク記憶媒体の回転を開始する処理を実行する電力管理手段とを具備することを特徴とする。
【0010】
また、本発明の記憶装置は、ディスク記憶媒体と、前記ディスク記憶媒体からリードされたデータを格納するキャッシュメモリと、ホスト装置からのメディアアクセスコマンドによって指定されたデータが前記キャッシュメモリに格納されているか否かを判定し、前記判定結果に応じて前記キャッシュメモリおよび前記ディスク記憶媒体を選択的にアクセスするキュッシュ制御手段と、メディアアクセスコマンドが最後に受信されてから所定時間の間メディアアクセスコマンドが受信されないことを条件に前記ディスク記憶媒体の回転を停止し、且つ前記ディスク記憶媒体の回転が停止されている状態でメディアアクセスコマンドが受信されたことを条件に前記ディスク記憶媒体の回転を開始する第1の処理と、前記ディスク記憶媒体に対するアクセスを引き起こすメディアアクセスコマンドが最後に受信されてから所定時間の間前記ディスク記憶媒体に対するアクセスを引き起こすメディアアクセスコマンドが受信されないことを条件に前記ディスク記憶媒体の回転を停止し、且つ前記ディスク記憶媒体の回転が停止されている状態で前記ディスク記憶媒体に対するアクセスを引き起こすメディアアクセスコマンドが受信されたことを条件に前記ディスク記憶媒体の回転を開始する第2の処理の一方を前記ホスト装置からの要求に応じて選択し、選択した処理を実行する電力管理手段とを具備することを特徴とする。
【発明の効果】
【0011】
本発明によれば、ディスク記憶媒体の回転停止および回転開始に関する制御を細やかに実行することができる。
【図面の簡単な説明】
【0012】
【図1】本発明の一実施形態に係る情報処理装置の構成を示すブロック図。
【図2】同実施形態の情報処理装置内の記憶装置に設けられた制御部の構成を示すブロック図。
【図3】図2の制御部が有する、スタンバイタイマの起点に関する2つのモードとディスク記憶媒体のスピンアップトリガに関する2つのモードを説明するための図。
【図4】図2の制御部によって実行されるスタンバイ制御処理を説明するための図。
【図5】図2の制御部によって実行される、性能優先モード(A0,B0)時のスタンバイ制御処理の手順を説明するフローチャート。
【図6】図2の制御部によって実行される、省電力優先モード(A1,B1)時のスタンバイ制御処理の手順を説明するフローチャート。
【図7】図2の制御部によって実行されるスピンダウン制御処理の手順を説明するフローチャート。
【図8】図2の制御部によって実行されるスピンアップ制御処理の手順を説明するフローチャート。
【図9】同実施形態の情報処理装置の外観を示す斜視図。
【図10】同実施形態の情報処理装置のシステム構成を示すブロック図。
【発明を実施するための形態】
【0013】
以下、図面を参照して、本発明の実施形態を説明する。
【0014】
まず、図1を参照して、本発明の一実施形態に係る記憶装置の構成例を説明する。この記憶装置は、例えば、ATA規格に準拠したストレージデバイス12として実現されている。このストレージデバイス12は、例えば、ハイブリッドハードディスクドライブ(ハイブリッドHDD)として機能する。ハイブリッドHDDは、ハードディスク(ディスク記憶媒体)と、このディスク記憶媒体のキャッシュとして機能する不揮発性メモリとを含むディスクドライブである。
【0015】
このストレージデバイス12は、サーバ、パーソナルコンピュータといった情報処理装置1の外部記憶装置として機能するドライブ装置である。情報処理装置1の情報処理装置本体内には、ホスト装置11とストレージデバイス12とが設けられる。ホスト装置11は情報処理装置1のコアユニットであり、各種プログラムを実行するCPU、およびメモリ等から構成される。ストレージデバイス12は、シリアルATAのようなATAインタフェースを介してホスト装置11に接続される。
【0016】
ストレージデバイス12は、ATAコントローラ(ATAC:AT Attachment Controller)201、制御部202、揮発性メモリ203、不揮発性メモリ(NVキャッシュ)204、ハードディスクコントローラ(HDC)205、ハードディスク206等を有している。制御部202は、ストレージデバイス12内の各部を制御するマイクロプロセッサである。ATAC201は、ATAインタフェース介してホスト装置11との通信を実行するホストインタフェースである。HDC205は、ハードディスク206を制御するコントローラである。
【0017】
不揮発性メモリ204は例えばNANDフラッシュメモリから構成されている。揮発性メモリ203は例えばDRAMから構成されている。
【0018】
ハードディスク206はディスク記憶媒体である。具体的には、ハードディスク206は、ディスク記憶媒体206、スピンドルモータ(SPM)207、ヘッド208、アクチュエータ209、ボイスコイルモータ(VCM)210等を備える。SPM207はディスク記憶媒体206を回転させ、アクチュエータ209及びVCM210はヘッド208をディスク記憶媒体206の半径方向に移動させるヘッド駆動機構である。
【0019】
揮発性メモリ203はホスト装置11からのライトデータまたはホスト装置11に読み出すべきリードデータを一時的に格納するためのデータバッファとして機能する。不揮発性メモリ204は、ハードディスク(ディスク記憶媒体)206のキャッシュとして機能するキャッシュメモリ(不揮発性キャッシュメモリ)である。不揮発性メモリ204は、ハードディスク206からリードされたデータを格納する。また、不揮発性メモリ204は、ホスト装置11に対して高速に転送すべき特定のデータのセットを恒常的に格納することもできる。すなわち、通常は、ソフトウェア(オペレーティングシステム内のカーネル、デバイスドライバ、アプリケーションプログラム、等)及びユーザデータの全てがハードディスク206にのみ格納されるが、本実施形態においては、それらソフトウェアの一部のコピー、またはハードディスク206に格納されたユーザデータの一部のコピー等を、不揮発性メモリ204に、ホスト装置11に対して高速にリードすべきデータとして恒常的に格納しておくことができる。不揮発性メモリ204に恒常的に保持されるデータは、pinnedデータと称されることもある。
【0020】
不揮発性メモリ204にハードディスク206内のどのデータを格納すべきであるかは、ホスト装置11が指定することができる。制御部202は、ホスト装置11によって指定された各論理ブロックアドレス(LBA)に対応するデータをハードディスク206から不揮発性メモリ204にロードする。ロードされたデータは、不揮発性メモリ204上に恒常的に保持され得る。また、オペレーティングシステムのブートアップの開始から完了までのような所定の期間中にホスト装置11から発行される各リードコマンドに応じてハードディスク206からリードされるデータを、不揮発性メモリ204上にpinnedデータとして格納してもよい。
【0021】
不揮発性メモリ204はハードディスク206よりもデータの読み出し速度が速いので、不揮発性メモリ204をハードディスク206のキャッシュとして機能させることにより、本ストレージデバイス12のレスポンス性能を向上させることができる。
【0022】
次に、図2を参照して、制御部202の構成及び動作を説明する。
【0023】
制御部202は、キャッシュ制御部300及びパワーマネージメント制御部301を有する。キャッシュ制御部300は、ホスト装置11からのメディアアクセスコマンド(例えば、データリードコマンド、データライトコマンド)によって指定されたデータが不揮発性メモリ(NVキャッシュ)204に格納されているか否かを判定し、この判定結果に応じて、不揮発性メモリ(NVキャッシュ)204およびハードディスク206を選択的にアクセスする。
【0024】
メディアアクセスコマンドに含まれるLBAに対応するデータが不揮発性メモリ(NVキャッシュ)204に存在する場合(キャッシュヒット)、キャッシュ制御部300は、不揮発性メモリ(NVキャッシュ)204に対するアクセス(リードアクセスまたはライトアクセス)を実行し、ハードディスク206に対するアクセスは実行しない。
【0025】
一方、メディアアクセスコマンドに含まれるLBAに対応するデータが不揮発性メモリ(NVキャッシュ)204に存在しない場合(キャッシュミス)、キャッシュ制御部300は、ハードディスク206に対するアクセスを実行する。メディアアクセスコマンドがリードコマンドであれば、ハードディスク206からデータがリードされる。リードデータは不揮発性メモリ(NVキャッシュ)204に格納されるとともに、ホスト装置11に送出される。
【0026】
また、キャッシュ制御部300は、ハードディスク206に格納されている所定のデータのセットを、不揮発性メモリ(NVキャッシュ)204にpinnedデータとして格納する処理も実行する。例えば、キャッシュ制御部300は、ある特定のLBA範囲内に属するデータのセット、使用頻度の高いデータのセット、ブート期間中にハードディスク206からリードされたデータのセット等を、不揮発性メモリ(NVキャッシュ)204にpinnedデータとして格納することができる。
【0027】
パワーマネージメント制御部301はストレージデバイス12の電力消費を低減するための電力管理処理を実行する。このパワーマネージメント制御部301は、ストレージデバイス12に対するアクセス状況に基づいて、ハードディスク(ディスク記憶媒体)206の回転を停止する処理およびハードディスク(ディスク記憶媒体)206の回転を開始する処理を実行する。具体的には、パワーマネージメント制御部301は、ハードディスク206を回転させるスピンドルモータ(SPM)207をオン又はオフにする制御信号をHDC205へ送出する。HDC205は、受け取った制御信号に基づいてSPM207をオン又はオフする。
【0028】
パワーマネージメント制御部301は、スタンバイ制御部311、スタンバイタイマ312、及び制御レジスタ313から構成される。スタンバイ制御部311は、スタンバイタイマ312をスタート(またはリスタート)させる処理と、スタンバイタイマ312からのタイムアウト信号に応答してSPM207をオフする処理を実行する。スタンバイタイマ312をスタートさせる起点としては、ホスト装置11からの最後のメディアアクセスコマンドの受信時点(第1モード)と、ホスト装置11からのハードディスク206に対するアクセスを引き起こすメディアアクセスコマンドの受信時点(第2モード)とを選択的に使用することができる。第1モードまたは第2モードのどちらを使用するかは、ホスト装置11が指定することが出来る。モードを指定する情報は制御レジスタ313に設定される。
【0029】
ハードディスク206に対するアクセスを引き起こすメディアアクセスコマンドは、不揮発性メモリ204に格納されていないデータを指定するメディアアクセスコマンドを意味している。ハードディスク206に対するアクセスを引き起こすメディアアクセスコマンドは、以下では、ハードディスクアクセスコマンドと称する。
【0030】
第1モードを使用する場合においては、スタンバイ制御部311は、ホスト11からのメディアアクセスコマンドがハードディスクアクセスコマンドであるか否かに関係なく、メディアアクセスコマンドを受信した時点でスタンバイタイマ312をスタートさせる。スタンバイタイマ312がスタートされてからスタンバイ時間の間メディアアクセスコマンドが受信されなければ、スタンバイタイマ312は時間切れを示すタイムアウト信号を発生する。このタイムアウト信号に応答して、パワーマネージメント制御部301は、ハードディスク206の回転を停止する処理を実行する。スタンバイ時間の間にメディアアクセスコマンドが受信された時、スタンバイ制御部311は、スタンバイタイマ312のカウント値をリセットして、スタンバイタイマ312のカウント動作を再スタートさせる。
【0031】
このように、第1モードは、メディアアクセスコマンドが最後に受信されてから所定のスタンバイ時間の間メディアアクセスコマンドが受信されないことを条件に、ハードディスク206の回転を停止するスピンダウン制御モードである。
【0032】
第2モードを使用する場合においては、スタンバイ制御部311は、ホスト11からのメディアアクセスコマンドがハードディスクアクセスコマンドであるか否かを、キャッシュ制御部300と共同して判定する。ホスト11からのメディアアクセスコマンドによって指定されたデータが不揮発性メモリ204に格納されていない場合、メディアアクセスコマンドはハードディスクアクセスコマンドであると判定される。スタンバイ制御部311は、ホスト11からのハードディスクアクセスコマンドを受信した時点、つまりホスト11からのメディアアクセスコマンドがハードディスクアクセスコマンドであると判定された時点で、スタンバイタイマ312をスタートさせる。スタンバイタイマ312がスタートされてからスタンバイ時間の間、ハードディスク206に対するアクセスを引き起こすメディアアクセスコマンド(ハードディスクアクセスコマンド)が受信されなければ、スタンバイタイマ312は時間切れを示すタイムアウト信号を発生する。このタイムアウト信号に応答して、パワーマネージメント制御部301は、ハードディスク206の回転を停止する処理を実行する。スタンバイ時間の間にハードディスク206に対するアクセスを引き起こすメディアアクセスコマンド(ハードディスクアクセスコマンド)が受信された時、スタンバイ制御部311は、スタンバイタイマ312のカウント値をリセットして、スタンバイタイマ312のカウント動作を再スタートさせる。受信されたメディアアクセスコマンドがハードディスクアクセスコマンドでない場合には、スタンバイタイマ312はスタートまたは再スタートされない。
【0033】
このように第2モードは、ハードディスク206に対するアクセスを引き起こすメディアアクセスコマンドが最後に受信されてから所定時間の間ハードディスク206に対するアクセスを引き起こすメディアアクセスコマンドが受信されないことを条件に、ハードディスク206の回転を停止するスピンダウン制御モードである。
【0034】
さらに、ハードディスク206の回転を再開させるためのトリガとしては、ハードディスク206が回転停止されている状態でメディアアクセスコマンドを受信したこと(第3のモード)と、ハードディスク206が回転停止されている状態でハードディスクアクセスコマンドを受信したこと(第4のモード)とを選択的に使用することができる。第1モードまたは第2モードのどちらのモードを使用するかは、ホスト装置11が指定することが出来る。モードを指定する情報は制御レジスタ313に設定される。
【0035】
第3モードを使用する場合においては、スタンバイ制御部311は、ホスト11からのメディアアクセスコマンドがハードディスクアクセスコマンドであるか否かに関係なく、ハードディスク206が回転停止されている状態でメディアアクセスコマンドを受信した時点でSPM207をオンし、ハードディスク206の回転を開始させる。
【0036】
第4モードを使用する場合においては、スタンバイ制御部311は、ハードディスク206が回転停止されている状態でメディアアクセスコマンドを受信した時に、そのメディアアクセスコマンドがハードディスクアクセスコマンドであるか否かを、キャッシュ制御部300と共同して判定する。スタンバイ制御部311は、ホスト11からのハードディスクアクセスコマンドを受信した時点、つまりホスト11からのメディアアクセスコマンドがハードディスクアクセスコマンドであると判定された時点で、SPM207をオンし、ハードディスク206の回転を開始させる。
【0037】
図3は、スタンバイタイマ312の起点、及びスピンアップのトリガのそれぞれに対して使用し得るモードを示している。
【0038】
スタンバイタイマ312の起点には、最後のメディアアクセス(A0モード)、又は最後のハードディスクアクセス(A1モード)を使用することができる。A0モードは上述の第1モードであり、A1モードは上述の第2モードである。
【0039】
スピンアップのトリガには、メディアアクセスコマンド(B0モード)、又はハードディスクアクセスコマンド(B1モード)を使用することができる。B0モードは上述の第3モードであり、B1モードは上述の第4モードである。
【0040】
ホスト装置11は、スタンバイタイマ312の起点に関する2つのモード(A0モード,A1モード)とスピンアップのトリガに関する2つのモード(B0モード,B1モード)との計4つの組み合わせの内の任意の組み合わせを指定することができる。なお、ホスト装置11は、使用するモードの組み合わせを必ずしも明示的に指定する必要はなく、ストレージデバイス12の省電力の程度を示すパワーマネージメントレベルのみをストレージデバイス12に指定するだけでもよい。この場合、スタンバイ制御部311は、パワーマネージメントレベルが基準レベル以上である場合、A0モードとB0モードの組み合わせを選択し、このA0モードとB0モードの組み合わせを用いて、SPM207の回転を停止/再開する処理を実行する。一方、パワーマネージメントレベルが基準レベルよりも低い場合、スタンバイ制御部311は、A1モードとB1モードの組み合わせを選択し、このA1モードとB1モードの組み合わせを用いて、SPM207の回転を停止/再開する処理を実行する。
【0041】
ここで、スタンバイ制御部311の機能を、ATA規格のAdvanced Power Management(APM) feature setとして実現する例について説明する。
【0042】
(1)上述したように、最後のメディア(不揮発性メモリまたはハードディスク)に対するアクセスをスタンバイタイマの基点とするモードをA0モード、最後のハードディスクアクセスをスタンバイタイマの基点とするモードをA1モードとする。
【0043】
(2)また、上述したように、Standby(モータオフ)状態のとき、メディアアクセスコマンドの受信に応答してスピンドルモータをオンするモードをB0モード、Standby(モータオフ)状態のときハードディスクアクセスコマンドの受信に応答してスピンドルモータをオンするモードをB1モードとする。
【0044】
(3)APMがディスエーブル、または、APMがイネーブルで、ホスト装置11によって指定されたAPMレベル(パワーマネージメントレベル)が80h-FEhのときは、スタンバイ制御部311は、(A0, B0)モードで動作する。(A0, B0)モードは性能優先のモードであり、(A0, B0)モードを使用することにより、ストレージデバイス12のレスポンス性を高めることが出来る。
【0045】
(4)APMがイネーブルで、ホスト装置11によって指定されたAPMレベル(パワーマネージメントレベル)が01h-7Fhのときは、スタンバイ制御部311は、(A1, B1)モードで動作する。(A1, B1)モードは省電力優先のモードであり、(A1, B1)モードを使用することにより、(A0, B0)モードを使用する場合に比し、ストレージデバイス12の電力消費を低減することが出来る。
【0046】
また、(A1, B0)モードの使用も好適である。(A1, B0)モードは、(A1, B1)モードに比し、早めにスピンアップが実行される。スピンアップが開始されてからハードディスク206が定常回転速度で回転し始めるまでには、ある時間が必要となる。(A1, B0)モードでは、スタンバイタイマの起点は、ハードディスクアクセスコマンドの受信時点であるが、スピンアップのトリガは、メディアアクセスコマンドの受信である。したがって、(A1, B0)モードの使用により、(A1, B1)モードよりもレスポンス性を高めることができ、(A0, B0)モードよりも電力消費を低減することができる。
【0047】
なお、以下のように、4つの組み合わせ全てを選択的に使用することもできる。
【0048】
(5)APMがディスエーブル、または、APMがイネーブルで、ホスト装置11によって指定されたAPMレベルが80h-FEhのときは、スタンバイ制御部311は、 (A0, B0)モードで動作する。
【0049】
(6)APMがイネーブルで、ホスト装置11によって指定されたAPMレベルが60h-7Fhのときは、スタンバイ制御部311は、(A0, B1)モードで動作する。
【0050】
(7)APMがイネーブルで、ホスト装置11によって指定されたAPMレベルが40h-5Fhのときは、スタンバイ制御部311は、(A1, B0)モードで動作する。
【0051】
(8)APMがイネーブルで、ホスト装置11によって指定されたAPMレベルが01h-3Fhのときは、スタンバイ制御部311は、(A1, B1)モードで動作する。
【0052】
このように、本実施形態においては、ディスク記憶媒体の回転停止および回転開始に関する制御を細やかに実行することができるので、消費電力を最大(電池駆動時間を犠牲)にして性能を重視するユーザと、性能を犠牲にして消費電力を最小(電池駆動時間を最長)にしたいユーザの、両方の要望に応えることが可能となる。
【0053】
図4は、上述の各モードが設定された場合におけるハードディスク206のスピンドルモータ207のオン/オフ制御動作を示す図である。
【0054】
図4中、上部に示された垂直方向の矢印は、ホスト装置11からのメディアアクセスコマンドに応じて、NVキャッシュ(不揮発性メモリ)204、又はハードディスク206に対して、データの読み出し又は書き込みが行われることを示す。NVキャッシュ(不揮発性メモリ)204はpinnedデータを格納することができるので、キャッシュヒットの確率は比較的高い。図4においては、NVキャッシュ(不揮発性メモリ)204に対するアクセスが実行される確率が80から90パーセント程度、ハードディスク206に対するアクセスが実行される確率が20から10パーセント程度である場合を想定している。
【0055】
スタンバイタイマ312の起点を最後のメディアアクセスとするA0モードが選択されている場合、スタンバイ制御部311は、ホスト装置11からの最後のメディアアクセスコマンドの受信時点をスタンバイタイマ312の起点に設定する。スタンバイ制御部312は、ホスト装置11からのメディアアクセスコマンドが最後に受信されてからの経過時間を監視する。そして、メディアアクセスコマンドが最後に受信されてからスタンバイタイム時間の間メディアアクセスコマンドが受信されなかったならば、スタンバイ制御部312は、スピンドルモータ207をオフにする制御信号をHDC205へ送出する。
【0056】
スタンバイタイマ312の起点を最後のハードディスクアクセスとするA1モードが選択されている場合、スタンバイ制御部311は、ハードディスク206への最後のアクセスの時点、つまりホスト装置11からの最後のハードディスクアクセスコマンドの受信時点をスタンバイタイマ312の起点に設定する。スタンバイ制御部312は、ホスト装置11からのハードディスクアクセスコマンドが最後に受信されてからの経過時間を監視する。そして、ハードディスクアクセスコマンドが最後に受信されてからスタンバイタイム時間の間ハードディスクアクセスコマンドが受信されなかったならば、スタンバイ制御部312は、スピンドルモータ207をオフにする制御信号をHDC205へ送出する。
【0057】
スピンアップのトリガをメディアアクセスコマンドとするB0モードが選択されている場合、スタンバイ制御部311は、スピンドルモータ207がオフである期間中にメディアアクセスコマンドを受信すると、スピンドルモータ207をオンにする制御信号をHDC205へ送出する。
【0058】
また、スピンアップのトリガをハードディスクアクセスコマンドとするB1モードが選択されている場合、スタンバイ制御部311は、スピンドルモータ207がオフである期間中にハードディスクアクセスコマンドを受信すると、スピンドルモータ207をオンにする制御信号をHDC205へ送出する。
【0059】
次に、図5のフローチャートを参照して、ホスト装置11からの要求に応じて(A0, B0)モードが選択された場合のパワーマネージメント処理の手順について説明する。
【0060】
まず、パワーマネージメント処理部301は、メディアアクセスコマンド(ハードディスク206又はNVキャッシュ204のいずれかに対するアクセスを必要とするコマンド、例えば、データリードコマンド、データライトコマンド)を最後に受信してからの経過時間が所定値(スタンバイ時間)に達したかどうかを判定する(ステップS1)。
【0061】
メディアアクセスコマンドを最後に受信してからの経過時間が所定値に達した場合、つまりメディアアクセスコマンドが最後に受信されてからスタンバイ時間の間メディアアクセスコマンドが受信されなかった場合(ステップS1のYES)、パワーマネージメント処理部301は、ハードディスク206の回転を停止させるための制御信号をHDC205へ送出する(ステップS2)。HDC205は、受信した制御信号に応じて、スピンドルモータ207をオフし、ハードディスク206の回転を停止する。
【0062】
ハードディスク206の回転が停止されている状態においては、パワーマネージメント処理部301は、メディアアクセスコマンドを新たに受信したかどうかを判定する(ステップS3)。メディアアクセスコマンドを新たに受信した場合(ステップS3のYES)、パワーマネージメント処理部301は、ハードディスクの回転を開始させるための制御信号をHDC205へ送出する(ステップS4)。HDC205は、受信した制御信号に応じて、スピンドルモータ207をオンし、ハードディスク206の回転を開始する。
【0063】
図6は、ホスト装置11からの要求に応じて(A1, B1)モードが選択された場合のパワーマネージメント処理の手順を示すフローチャートである。
【0064】
まず、パワーマネージメント処理部301は、ハードディスク206に対するアクセスを必要とするメディアアクセスコマンド(ハードディスクアクセスコマンド)を最後に受信してからの経過時間が、所定値(スタンバイ時間)に達したかどうかを判定する(ステップS5)。
【0065】
ハードディスクアクセスコマンドを最後に受信してからの経過時間が所定値に達した場合(ステップS5のYES)、つまりハードディスクアクセスコマンドが最後に受信されてからスタンバイ時間の間ハードディスクアクセスコマンドが受信されなかった場合、パワーマネージメント処理部301は、ハードディスク206の回転を停止させるための制御信号をHDC205へ送出する(ステップS6)。HDC205は、受信した制御信号に応じて、スピンドルモータ207をオフし、ハードディスク206の回転を停止する。
【0066】
ハードディスク206の回転が停止されている状態においては、パワーマネージメント処理部301は、ハードディスクアクセスコマンドを新たに受信したかどうかを判定する(ステップS7)。
【0067】
メディアアクセスコマンドを新たに受信した場合(ステップS7のYES)、パワーマネージメント処理部301は、ハードディスクの回転を開始させるための制御信号をHDC205へ送出する(ステップS8)。HDC205は、受信した制御信号に応じて、スピンドルモータ207をオンし、ハードディスク206の回転を開始する。
【0068】
次に、図7のフローチャートを参照して、スピンダウン制御処理の手順について具体的に説明する。
【0069】
まず、パワーマネージメント処理部301は、スタンバイタイマ312の起点がA0モードとA1モードのいずれに設定されているかを判定する(ステップS11)。
【0070】
スタンバイタイマ312の起点がA0モードに設定されている場合(ステップS11のA0モード)、パワーマネージメント処理部301は、ホスト装置11からのメディアアクセスコマンドを受信したか否かを判定する(ステップS12)。ホスト装置11からのコマンドを受信した場合(ステップS12のYES)、パワーマネージメント処理部301は、スタンバイタイマ312をスタートさせる(ステップS13)。
【0071】
次いで、パワーマネージメント処理部301は、ホスト装置11からのメディアアクセスコマンドコマンドを新たに受信したか否かを判定する(ステップS14)。ホスト装置11からのコマンドを新たに受信した場合(ステップS14のYES)、パワーマネージメント処理部301は、スタンバイタイマ312のカウント値をリセットしてスタンバイタイマ312を再スタートさせる(ステップS15)。
【0072】
ホスト装置11からのコマンドを新たに受信していない場合(ステップS14のNO)、パワーマネージメント処理部301は、スタンバイタイマ312の示す時間(カウント値)がタイムアウトに該当する時間であるかどうかを判定する(ステップS16)。すなわち、パワーマネージメント処理部301は、スタンバイタイマ312の起点に設定された時点から現在のスタンバイタイマ312の示す時間までの経過時間が、タイムアウトとして規定された所定値以上であるかどうかを判定する。
【0073】
スタンバイタイマ312の示す時間がタイムアウトに該当する時間である場合(ステップS16のYES)、パワーマネージメント処理部301は、ハードディスク206の回転を停止させる(ステップS17)。
【0074】
スタンバイタイマ312の起点がA1モードに設定されている場合(ステップS11のA1モード)、パワーマネージメント処理部301は、ホスト装置11からのメディアアクセスコマンドを受信したか否かを判定する(ステップS18)。ホスト装置11からのメディアアクセスコマンドコマンドを受信した場合(ステップS12のYES)、パワーマネージメント処理部301は、受信したメディアアクセスコマンドがハードディスク206に対するアクセスが必要なコマンド(ハードディスクアクセスコマンド)であるかどうかを判定する(ステップS19)。ステップS19では、パワーマネージメント処理部301は、受信したメディアアクセスコマンドのLBAに対応するデータが不揮発性メモリ204に格納されているか否かを判定する。メディアアクセスコマンドのLBAに対応するデータが不揮発性メモリ204に格納されていない場合、パワーマネージメント処理部301は、受信したメディアアクセスコマンドがハードディスクアクセスコマンドであると判定する。
【0075】
受信したメディアアクセスコマンドがハードディスクアクセスコマンドである場合(ステップS19のYES)、パワーマネージメント処理部301は、スタンバイタイマ312をスタートさせる(ステップS20)。
【0076】
次いで、パワーマネージメント処理部301は、ホスト装置11からのメディアアクセスコマンドを新たに受信したか否かを判定する(ステップS21)。ホスト装置11からのメディアアクセスコマンドを新たに受信した場合(ステップS21のYES)、パワーマネージメント処理部301は、受信したメディアアクセスコマンドがハードディスク206に対するアクセスが必要なコマンド(ハードディスクアクセスコマンド)であるかどうかを判定する(ステップS22)。
【0077】
受信したメディアアクセスコマンドがハードディスクアクセスコマンドである場合(ステップS22のYES)、パワーマネージメント処理部301は、スタンバイタイマ312のカウント値をリセットしてスタンバイタイマ312を再スタートさせる(ステップS23)。
【0078】
ホスト装置11からのメディアアクセスコマンドを新たに受信していない場合(ステップS21のNO)、又は受信したメディアアクセスコマンドがハードディスクアクセスコマンドでない場合(ステップS22のNO)、パワーマネージメント処理部301は、スタンバイタイマ312の示す時間がタイムアウトに該当する時間であるかどうかを判定する(ステップS24)。すなわち、パワーマネージメント処理部301は、スタンバイタイマ312の起点に設定された時点から現在のスタンバイタイマ312の示す時間までの経過時間が、タイムアウトとして規定された所定値以上であるかどうかを判定する。
【0079】
スタンバイタイマ312の示す時間がタイムアウトである場合(ステップS24のYES)、パワーマネージメント処理部301は、ハードディスク206の回転を停止させる(ステップS25)。
【0080】
図8はスピンアップ制御の手順を示すフローチャートである。
【0081】
まず、パワーマネージメント処理部301は、スピンアップのトリガがB0モードとB1モードのいずれに設定されているかを判定する(ステップS31)。
【0082】
スピンアップのトリガがB0モードに設定されている場合(ステップS31のB0モード)、パワーマネージメント処理部301は、ホスト装置11からのメディアアクセスコマンドを受信したか否かを判定する(ステップS32)。ホスト装置11からのメディアアクセスコマンドを受信した場合(ステップS32のYES)、パワーマネージメント処理部301は、ハードディスク206の回転を開始させる(ステップS33)。
【0083】
スピンアップのトリガがB1モードに設定されている場合(ステップS31のB1モード)、パワーマネージメント処理部301は、ホスト装置11からのメディアアクセスコマンドを受信したか否かを判定する(ステップS34)。ホスト装置11からのメディアアクセスコマンドを受信した場合(ステップS34のYES)、パワーマネージメント処理部301は、受信したメディアアクセスコマンドがハードディスク206に対するアクセスが必要なコマンド(ハードディスクアクセスコマンド)であるかどうかを判定する(ステップS35)。
【0084】
受信したメディアアクセスコマンドがハードディスク206に対するアクセスが必要なコマンド(ハードディスクアクセスコマンド)である場合(ステップS35のYES)、パワーマネージメント処理部301は、ハードディスク206の回転を開始させる(ステップS36)。
【0085】
次に、図9を参照して、ストレージデバイス(ハイブリッドHDD)12を内蔵した情報処理装置1の構成例を説明する。
【0086】
情報処理装置1は、例えば、ノートブック型のポータブルコンピュータとして実現し得る。図9は、ポータブルコンピュータとして実現された情報処理装置1の外観を示す斜視図である。
【0087】
この情報処理装置1は、情報処理装置本体2と、ディスプレイユニット3とから構成されている。ディスプレイユニット3には、LCD(Liquid Crystal Display)4で構成される表示装置が組み込まれている。
【0088】
ディスプレイユニット3は、情報処理装置本体2に対し、この本体2の上面が露出される開放位置と本体2の上面を覆う閉塞位置との間を回動自在に取り付けられている。本体2は薄い箱形の筐体を有しており、その上面には、電源スイッチ5、キーボード6、タッチパッド7等が配置されている。
【0089】
また、本体2の前面には、LED(Light Emitting Diode)8が配置され、その右側面には、DVD(Digital Versatile Disc)の光ディスクメディアに対するデータの書き込みおよび読み出しが可能な光ディスクドライブ(ODD)9、PCカードを取り外し自在に収容するPCカードスロット10等が配置されている。そして、本情報処理装置1では、起動ドライブとして機能する外部記憶装置として、本体2の内部に、本実施形態のストレージデバイス12が収容されている。情報処理装置本体2が、上述のホスト装置11として機能する。
【0090】
図10は、図9の情報処理装置1のシステム構成を示すブロック図である。
【0091】
情報処理装置1は、図10に示すように、前述のLCD4、電源スイッチ5、キーボード6、タッチパッド7、LED8、ODD9、PCカードスロット10、およびストレージデバイス12のほかに、CPU100、ノースブリッジ102、メインメモリ103、GPU(Graphic Processing Unit)104、サウスブリッジ105、フラッシュメモリ106、EC/KBC(Embedded Controller/Keyboard Controller)107、ファン108等を備えている。
【0092】
CPU100は、情報処理装置1の各部の動作を制御するプロセッサである。CPU100は、ストレージデバイス12からメインメモリ103にロードされる、オペレーティングシステムや、ユーティリティを含む各種アプリケーションプログラムを実行する。また、CPU100は、フラッシュメモリ106に格納されたBIOS(Basic Input/Output System)も実行する。BIOSは、ハードウェア制御のためのプログラムである。BIOSは、例えば、ストレージデバイス12のAPM機能をイネーブルまたはディスエーブルする処理、ストレージデバイス12に対してAPMレベルを設定する処理を実行する。なお、BIOSは、ストレージデバイス12に対してAPMレベルを設定する代わりに、使用すべきスピンダウン制御モード(A0モードまたはA1モード)と、使用すべきスピンダウンアップ制御モード(B0モードまたはB1モード)を指定する要求を、ストレージデバイス12に送信することもできる。
【0093】
ノースブリッジ102は、CPU100のローカルバスとサウスブリッジ105との間を接続するブリッジデバイスである。ノースブリッジ102は、バスを介してGPU104との通信を実行する機能を有しており、また、メインメモリ103をアクセス制御するメモリコントローラも内蔵している。GPU104は、情報処理装置1の表示装置として使用されるLCD4を制御する。
【0094】
サウスブリッジ105は、ストレージデバイス12、ODD9、PCカードスロット10に収容されたPCカード、フラッシュメモリ106等の各種デバイスを制御するコントローラである。
【0095】
EC/KBC107は、電力管理のための組み込みコントローラと、キーボード6およびタッチパッド7を制御するためのキーボードコントローラとが集積された1チップマイクロコンピュータである。EC/KBC107は、LED8および冷却用のファン108の制御も実行する。
【0096】
ATAのAdvanced Power Management(APM)feature setでは、APMレベルによって指定される値によって、デバイスのパフォーマンス及び消費電力が決定される。すなわち、APMレベルが高いほど、デバイスのパフォーマンスは高くなる。また、APMレベルが高いほど、デバイスの消費電力は大きくなる。
【0097】
BIOSは、例えば、本情報処理装置1がバッテリまたは外部電源(AC電源)のいずれによって駆動されているかを判定する。本情報処理装置1がバッテリによって駆動されている場合、BIOSは、比較的低い値のAPMレベルをストレージデバイス12に対して設定する。この場合、ストレージデバイス12は、例えば、(A1, B1)モードを選択し、この(A1, B1)モードを使用して、スピンドルモータ207のオフ/オンを制御する。一方、本情報処理装置1が外部電源によって駆動されている場合、BIOSは、比較的高い値のAPMレベルをストレージデバイス12に対して設定する。この場合、ストレージデバイス12は、例えば、(A0, B0)モードを選択し、この(A0, B0)モードを使用して、スピンドルモータ207のオフ/オンを制御する。
【0098】
以上のように、本実施形態においては、ストレージデバイス12は、スピンダウン制御のための2つのモード(A0モード、A1モード)とスピンアップ制御のための2つのモード(B0モード、B1モード)とを有しており、ホスト装置11からの要求に応じて選択されたスピンダウン制御モードとスピンアップ制御モードとを用いて、スピンドルモータ207のオフ/オンを制御することができる。よって、キャッシュヒット/キャッシュミスをも考慮して、スピンドルモータ207のオフ/オンのタイミングをきめ細かく制御することが可能となる。
【0099】
なお、本実施形態では、キャッシュメモリとして不揮発性メモリを使用する場合についてのみ説明したが、揮発性メモリをハードディスク206のキャッシュメモリとして使用する構成であってもよい。
【0100】
また本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素からいくつかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【符号の説明】
【0101】
1…情報処理装置、11…ホスト装置、12…ストレージデバイス(ハイブリッドHDD)、201…ATAC(ホストインタフェース)、202…制御部、203…揮発性メモリ、204…不揮発性メモリ(NVキャッシュ)、205…HDC、206…ハードディスク、207…SPM、208…ヘッド、209…アクチュエータ、210…VCM、300…キャッシュ制御部、301…パワーマネージメント制御部、311…スタンバイ制御部、312…スタンバイタイマ、313…制御レジスタ。

【特許請求の範囲】
【請求項1】
ディスク記憶媒体と、
前記ディスク記憶媒体からリードされたデータを格納するキャッシュメモリと、
ホスト装置からのメディアアクセスコマンドによって指定されたデータが前記キャッシュメモリに格納されているか否かを判定し、前記判定結果に応じて前記キャッシュメモリおよび前記ディスク記憶媒体を選択的にアクセスするキュッシュ制御手段と、
メディアアクセスコマンドが最後に受信されてから所定時間の間メディアアクセスコマンドが受信されないことを条件に前記ディスク記憶媒体の回転を停止する第1モードと、前記ディスク記憶媒体に対するアクセスを引き起こすメディアアクセスコマンドが最後に受信されてから所定時間の間前記ディスク記憶媒体に対するアクセスを引き起こすメディアアクセスコマンドが受信されないことを条件に前記ディスク記憶媒体の回転を停止する第2モードとを有し、前記ホスト装置からの要求に応じて選択された前記第1モードおよび第2モードの一方のモードを用いて前記ディスク記憶媒体の回転を停止する処理を実行し、前記ディスク記憶媒体の回転が停止されている状態でメディアアクセスコマンドが受信されたことを条件に前記ディスク記憶媒体の回転を開始する第3モードと、前記ディスク記憶媒体の回転が停止されている状態で、前記ディスク記憶媒体に対するアクセスを引き起こすメディアアクセスコマンドが受信されたことを条件に前記ディスク記憶媒体の回転を開始する第4モードとを有し、前記ホスト装置からの要求に応じて選択された前記第3モードおよび第4モードの一方のモードを用いて前記ディスク記憶媒体の回転を開始する処理を実行する電力管理手段とを具備することを特徴とする記憶装置。
【請求項2】
前記電力管理手段は、前記ホスト装置からの要求によって指定された、前記記憶装置の省電力の程度を示すパワーマネージメントレベルが基準レベル以上である場合、前記第1モードおよび前記第3のモードの組み合わせを選択し、前記パワーマネージメントレベルが前記基準レベルよりも低い場合、前記第2モードおよび前記第4のモードの組み合わせを選択することを特徴とする請求項1記載の記憶装置。
【請求項3】
前記キャッシュメモリは不揮発性メモリから構成されており、前記キャッシュ制御手段は、前記ディスク記憶媒体に格納されている所定のデータのセットを、前記不揮発性メモリに格納することを特徴とする請求項1記載の記憶装置。
【請求項4】
ディスク記憶媒体と、
前記ディスク記憶媒体からリードされたデータを格納するキャッシュメモリと、
ホスト装置からのメディアアクセスコマンドによって指定されたデータが前記キャッシュメモリに格納されているか否かを判定し、前記判定結果に応じて前記キャッシュメモリおよび前記ディスク記憶媒体を選択的にアクセスするキュッシュ制御手段と、
メディアアクセスコマンドが最後に受信されてから所定時間の間メディアアクセスコマンドが受信されないことを条件に前記ディスク記憶媒体の回転を停止し、且つ前記ディスク記憶媒体の回転が停止されている状態でメディアアクセスコマンドが受信されたことを条件に前記ディスク記憶媒体の回転を開始する第1の処理と、前記ディスク記憶媒体に対するアクセスを引き起こすメディアアクセスコマンドが最後に受信されてから所定時間の間前記ディスク記憶媒体に対するアクセスを引き起こすメディアアクセスコマンドが受信されないことを条件に前記ディスク記憶媒体の回転を停止し、且つ前記ディスク記憶媒体の回転が停止されている状態で前記ディスク記憶媒体に対するアクセスを引き起こすメディアアクセスコマンドが受信されたことを条件に前記ディスク記憶媒体の回転を開始する第2の処理の一方を前記ホスト装置からの要求に応じて選択し、選択した処理を実行する電力管理手段とを具備することを特徴とする記憶装置。
【請求項5】
前記電力管理手段は、前記ホスト装置からの要求によって指定された、前記記憶装置の省電力の程度を示すパワーマネージメントレベルが基準レベル以上である場合、前記第1の処理を選択し、前記パワーマネージメントレベルが前記基準レベルよりも低い場合、前記第2の処理を選択することを特徴とする請求項4記載の記憶装置。
【請求項6】
前記キャッシュメモリは不揮発性メモリから構成されており、前記キャッシュ制御手段は、前記ディスク記憶媒体に格納されている所定のデータのセットを、前記不揮発性メモリに格納することを特徴とする請求項4記載の記憶装置。
【請求項7】
情報処理装置本体と、
前記情報処理装置本体内に設けられた記憶装置であって、ディスク記憶媒体と、前記ディスク記憶媒体からリードされたデータを格納するキャッシュメモリと、情報処理装置本体からのメディアアクセスコマンドによって指定されたデータが前記キャッシュメモリに格納されているか否かを判定し、前記判定結果に応じて前記キャッシュメモリおよび前記ディスク記憶媒体を選択的にアクセスするキュッシュ制御手段と、メディアアクセスコマンドが最後に受信されてから所定時間の間メディアアクセスコマンドが受信されないことを条件に前記ディスク記憶媒体の回転を停止する第1モードと、前記ディスク記憶媒体に対するアクセスを引き起こすメディアアクセスコマンドが最後に受信されてから所定時間の間前記ディスク記憶媒体に対するアクセスを引き起こすメディアアクセスコマンドが受信されないことを条件に前記ディスク記憶媒体の回転を停止する第2モードとを有し、前記情報処理装置本体からの要求に応じて選択された前記第1モードおよび第2モードの一方のモードを用いて前記ディスク記憶媒体の回転を停止する処理を実行し、前記ディスク記憶媒体の回転が停止されている状態でメディアアクセスコマンドが受信されたことを条件に前記ディスク記憶媒体の回転を開始する第3モードと、前記ディスク記憶媒体の回転が停止されている状態で、前記ディスク記憶媒体に対するアクセスを引き起こすメディアアクセスコマンドが受信されたことを条件に前記ディスク記憶媒体の回転を開始する第4モードとを有し、前記情報処理装置本体からの要求に応じて選択された前記第3モードおよび第4モードの一方のモードを用いて前記ディスク記憶媒体の回転を開始する処理を実行する電力管理手段とを含む記憶装置とを具備することを特徴とする情報処理装置。
【請求項8】
前記電力管理手段は、前記情報処理装置本体からの要求によって指定された、前記記憶装置の省電力の程度を示すパワーマネージメントレベルが基準レベル以上である場合、前記第1モードおよび前記第3のモードの組み合わせを選択し、前記パワーマネージメントレベルが前記基準レベルよりも低い場合、前記第2モードおよび前記第4のモードの組み合わせを選択することを特徴とする請求項7記載の情報処理装置。
【請求項9】
前記キャッシュメモリは不揮発性メモリから構成されており、前記キャッシュ制御手段は、前記ディスク記憶媒体に格納されている所定のデータのセットを、前記不揮発性メモリに格納することを特徴とする請求項7記載の情報処理装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate