(57)【要約】【課題】本発明はキャッシュの最適化方法及び装置に関し、消費電力を低減することができるキャッシュの最適化方法及び装置を提供することを目的としている。【解決手段】リード／ライトコマンドを入力して要求セクタアドレスを記憶するセクタアドレス記憶部１と、該セクタアドレス記憶部１に記憶されたアクセスパターンを読み出し、そのアクセスパターンの分布からアクセスパターンの特徴を判断するアクセスパターン判断部２と、該アクセスパターン判断部２の出力を受けて、特徴毎に先読みブロック数を変化させるキャッシュ構成最適化部３と、読み出されたアクセスパターンと、前記キャッシュ構成最適化部３の出力を受けて、アドレス分布をチェックし、分布の変化を判断し、或いはキャッシュヒット率を演算してアクセスパターンを再チェックし、キャッシュアクセスするか、ディスクアクセスするかを判定するキャッシュヒット判定部４とから構成される。【選択図】図１
2008310741.tif 000002
【特許請求の範囲】
【請求項１】
ホストからリード／ライトコマンドが発せられた場合、
アクセスパターンの特徴を検出し、
検出したアクセスパターンの特徴に応じてディスクアクセス数を変化させる、
ようにしたことを特徴とするキャッシュの最適化方法。
【請求項２】
ホストからリード／ライトコマンドが発せられた場合、
アクセスパターンの特徴を検出し、
検出したアクセスパターンの特徴に応じてキャッシュの構成を最適化する、
ようにしたことを特徴とするキャッシュの最適化方法。
【請求項３】
前記キャッシュの構成の最適化とは、アクセスパターンの局所性が高い場合、先読みブロック数を大きくし、アクセスパターンの局所性が低い場合、先読みブロック数を小さくするものであることを特徴とする請求項２記載のキャッシュの最適化方法。
【請求項４】
前記アクセスパターンの局所性の検出方法は、所定の期間の目的セクタアドレスを保存してその分布を生成し、その分布を見て、分布が狭いほど局所性が高いと判断するものであることを特徴とする請求項３記載のキャッシュの最適化方法。
【請求項５】
ホストからのリード／ライトコマンドを入力して所定期間の要求セクタアドレスを記憶するセクタアドレス記憶部と、
該セクタアドレス記憶部に記憶されたアクセスパターンを読み出し、そのアクセスパターンの分布からアクセスパターンの特徴を判断するアクセスパターン判断部と、
該アクセスパターン判断部の出力を受けて、特徴毎にキャッシュの先読みブロック数を変化させるキャッシュ構成最適化部と、
前記セクタアドレス記憶部から読み出されたアクセスパターンと、前記キャッシュ構成最適化部の出力を受けて、アドレス分布をチェックし、分布の変化を判断し、或いはキャッシュヒット率を演算してアクセスパターンを再チェックし、キャッシュアクセスするか、ディスクアクセスするかを判定するキャッシュヒット判定部、
とから構成されることを特徴とするキャッシュの最適化装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はキャッシュの最適化方法及び装置に関し、更に詳しくはハードディスクドライブの消費電力を低減することができるキャッシュの最適化方法及び装置に関する。
【背景技術】
【０００２】
ハードディスクは、携帯電話或いはＭＰ３プレーヤーなどの民生機器への活用の場が広がっている。これらの分野では、パワーソースが限られていることから、低消費電力であることが重要である。従来の装置では、キャッシュの構成は設計時に決定し、固定されている。
【０００３】
図６は従来の基本的なキャッシュ機能の説明図である。シークと回転待ちの後にＳＥＣ（セクタ）０〜ＳＥＣｎまでが目的リードセクタであるものとすると、目的セクタのリード完了後も引き続きデータをリードし、キャッシュメモリに記憶している。即ち、目的リードセクタの後のセクタが先読みセクタとなり、ＳＥＣｎ＋１〜ＳＥＣｎ＋ｋが先読みセクタとなっている。
【０００４】
キャッシュの判定は、以下の通りである。ホストからリード命令されたセクタがキャッシュに存在している場合には、キャッシュアクセスのみで足り、ディスクアクセスはしない。これに対して、ホストからリード命令されたセクタがキャッシュに存在しない場合には、ディスクアクセスする。一般に、キャッシュサイズは
キャッシュサイズ＝（先読みブロック数）×（キャッシュライン数）
で表され、従来は先読みブロック数が固定であった。
【０００５】
従来のこの種の装置としては、マルチタスクで並列してアクセスパターンが異なるアクセス要求があっても、それぞれの要求に対してディスクキャッシュを複数セグメントに分割し、それぞれのセグメントをそれぞれのアクセスに最適な動作モードで自動設定するために、ディスクアクセスパターンをサンプリングする部分と、サンプリング結果からそのアクセスに最適な動作モードを解析する部分と、ディスクキャッシュの制御及び管理をする部分を設けるようにした技術が知られている（例えば特許文献１参照）。
【０００６】
また、計算機毎の特定のアクセス履歴を保存し、管理計算機に計算機によるファイルアクセスの種類を予告させ、計算機からのファイルアクセスが始まる前から前もって記憶装置のキャッシュメモリに情報を読み込ませておく技術が知られている（例えば特許文献２参照）。
【０００７】
また、メディアアクセス時、そのアドレスとレングスをアドレステーブル上の直前にアクセスされたブロックの位置に記録し、メディアアクセスが修了した直後に、そのスタートアドレスに記録されている次アクセスアドレスとレングス情報をもとにディスクアクセスを行なう技術が知られている（例えば特許文献３参照）。
【特許文献１】特開平１０−２５４７７８号公報（段落００１０〜００１５、図１）
【特許文献２】特開２００５−１５７７１１号公報（段落００１７〜００３１、図１、図２）
【特許文献３】特開平８−１８５２７２号公報（段落０００９〜００２０、図１）
【発明の開示】
【発明が解決しようとする課題】
【０００８】
従来の技術では、ハードディスクは低消費電力ではないという問題があった。本発明はこのような課題に鑑みてなされたものであって、消費電力を低減することができるキャッシュの最適化方法及び装置を提供することを目的としている。
【課題を解決するための手段】
【０００９】
（１）請求項１記載の発明は、ホストからリード／ライトコマンドが発せられた場合、アクセスパターンの特徴を検出し、検出したアクセスパターンの特徴に応じてディスクアクセス数を変化させる、ようにしたことを特徴とする。
（２）請求項２記載の発明は、ホストからリード／ライトコマンドが発せられた場合、アクセスパターンの特徴を検出し、検出したアクセスパターンの特徴に応じてキャッシュの構成を最適化する、ようにしたことを特徴とする。
（３）請求項３記載の発明は、前記キャッシュの構成の最適化とは、アクセスパターンの局所性が高い場合、先読みブロック数を大きくし、アクセスパターンの局所性が低い場合、先読みブロック数を小さくするものであることを特徴とする。
（４）請求項４記載の発明は、前記アクセスパターンの局所性の検出方法は、所定の期間の目的セクタアドレスを保存してその分布を生成し、その分布を見て、分布が狭いほど局所性が高いと判断するものであることを特徴とする。
（５）請求項５記載の発明は、ホストからのリード／ライトコマンドを入力して所定期間の要求セクタアドレスを記憶するセクタアドレス記憶部と、該セクタアドレス記憶部に記憶されたアクセスパターンを読み出し、そのアクセスパターンの分布からアクセスパターンの特徴を判断するアクセスパターン判断部と、該アクセスパターン判断部の出力を受けて、特徴毎にキャッシュの先読みブロック数を変化させるキャッシュ構成最適化部と、前記セクタアドレス記憶部から読み出されたアクセスパターンと、前記キャッシュ構成最適化部の出力を受けて、アドレス分布をチェックし、分布の変化を判断し、或いはキャッシュヒット率を演算してアクセスパターンを再チェックし、キャッシュアクセスするか、ディスクアクセスするかを判定するキャッシュヒット判定部、とから構成されることを特徴とする。
６．この発明において、前記アクセスパターンの局所性の検出方法は、キャッシュのヒット率により判断し、ヒット率が減少した時は先読みブロック数を変化させることを特徴とする。
【発明の効果】
【００１０】
（１）請求項１記載の発明によれば、アクセスパターンの特徴に応じてディスクアクセス数を変化させることにより、ハードディスクの低消費電力化を図ることができる。
（２）請求項２記載の発明によれば、アクセスパターンの特徴に応じてキャッシュの構成を最適化することにより、ハードディスクの低消費電力化を図ることができる。
（３）請求項３記載の発明によれば、アクセスパターンの局所性が高い場合、先読みブロック数を大きくし、アクセスパターンの局所性が低い場合、先読みブロック数を小さくして、キャッシュ構成の最適化を図ることができる。
（４）請求項４記載の発明によれば、目的セクタアドレス分布を見ることにより、アクセスパターンの局所性を判断することができる。
（５）請求項５記載の発明によれば、アクセスパターンとキャッシュ構成最適化部の出力を受けてアドレス分布をチェックし、分布の変化を判断し、キャッシュアクセスするかディスクアクセスするかを決めるので、ハードディスクの低消費電力化を図ることができる。
６．この場合において、アクセスパターンの局所性を検出する方法として、キャッシュのヒット率により判断することができる。
【発明を実施するための最良の形態】
【００１１】
以下、図面を参照して本発明の実施の形態を詳細に説明する。図１は本発明の一実施の形態を示すブロック図である。図において、Ａはホスト（図示せず）から出力されるリード／ライトコマンドである。１はホストからのリード／ライトコマンドを入力して所定期間の要求セクタアドレスを記憶するセクタアドレス記憶部、２は該セクタアドレス記憶部１に記憶されたアクセスパターンを読み出し、そのアクセスパターンの分布からアクセスパターンの特徴を判断するアクセスパターン判断部である。
【００１２】
３は該アクセスパターン判断部２の出力を受けて、特徴毎にキャッシュの先読みブロック数を変化させるキャッシュ構成最適化部、４は前記セクタアドレス記憶部１から読み出されたアクセスパターンと、前記キャッシュ構成最適化部３の出力を受けて、アドレス分布をチェックし、分布の変化を判断し、或いはキャッシュヒット率を演算してアクセスパターンを再チェックし、キャッシュアクセスするか、ディスクアクセスするかを判定するキャッシュヒット判定部である。５はキャッシュメモリ、６はハードディスク記憶媒体である。このように構成された装置の動作を説明すれば、以下の通りである。
【００１３】
装置起動後、セクタアドレス記憶部１は所定期間の要求セクタアドレスを記憶する。アクセスパターン判断部２は、セクタアドレス記憶部１に記憶されたアドレスパターンを読出し、アドレス分布を生成し、その分布からアクセスパターンの特徴を判断する。キャッシュ構成最適化部３は、特徴毎にキャッシュの先読みブロック数を変化させる。キャッシュヒット判定部４は、セクタアドレス記憶部１から読み出したアクセスパターンと、キャッシュ構成最適化部３から出力されたブロック数を受けて、常に分布をチェックし、分布の変化を判断し、あるいはキャッシュヒット率低下をモニタし、その時、アクセスパターンを再チェックし、チェック結果に応じて先読みブロック数を変化させる。
【００１４】
キャッシュヒット判定部４は、判定結果に応じてキャッシュアクセスＢを選択するか、ディスクアクセスＣを選択するかを判定する。キャッシュアクセスを選択した場合には、キャッシュメモリ５との間でデータのやりとりを行ない、ディスクアクセスを選択した場合には、ハードディスク記憶媒体６との間でデータのやりとりを行なう。
【００１５】
このように、本発明によれば、アクセスパターンの特徴に応じてディスクアクセス数を変化させることにより、ハードディスクの低消費電力化を図ることができる。また、アクセスパターンの特徴に応じてキャッシュの構成を最適化することにより、ハードディスクの低消費電力化を図ることができる。
【００１６】
図２は先読みブロック数による消費電力の変化を示す図である。（１）はハードディスクの消費電力と先読みブロック数の関係を示す図、（２）はキャッシュライン数と先読みブロック数の関係を示す図である。（２）において、ＤとＥはキャッシュ範囲を示している。Ｄの場合は、キャッシュライン数は多いが、先読みブロック数は小さい。Ｅの場合は、キャッシュライン数は少ないが、先読みブロック数は大きい。
【００１７】
このような構成の違いにより、（１）に示すように消費電力が変化する。キャッシュ範囲Ｄのように先読みブロック数が小さい場合の消費電力特性はＤ´に示すように先読みブロック数が大きいほど消費電力が下がる。これに対して、キャッシュ範囲Ｅのように比較的先読みブロック数が大きくなった場合の消費電力特性はＥ´に示すように先読みブロック数が大きいほど消費電力は大きくなる。以上のように、あるアクセスパターンに対して、キャッシュ構成の違いにより電力が変化することが分かる。
【００１８】
次に、アクセスパターンの特徴について説明する。図３はアクセスパターンの特徴を示す図である。アドレス番号が連続しており、隣接アドレスへアクセスする頻度が高いことを示している。図４はアクセスパターンの他の特徴を示す図である。同一アドレスに短期間内に繰り返しアクセスする頻度が高い場合を示している。例えば、アドレス“１”が短周期でアクセスされていることが分かる。
【００１９】
図５は局所性の高いパターン分布、局所性の低いパターン分布の説明図である。（ａ）は局所性の高いパターン分布、（ｂ）は局所性の低いパターン分布を示す。何れも、縦軸は個数、横軸はセクタアドレスである。（ａ）に示すパターンの場合、セクタアドレスが０と６（×１０6）の時に個数が集中している。即ち、セクタアドレスが０の時の発生アドレスの個数は１．５×１０3に集中しており、セクタアドレスが６×１０6の場合は発生アドレスの個数が１．５×１０2近辺に集中している。
【００２０】
（ｂ）に示すパターン分布の場合、アドレスが分散している。殆ど全てのセクタアドレスに対して発生アドレス数が分布していることが分かる。
以上の説明より、キャッシュヒット判定部４は、図３に示すように隣接アドレスへアクセスする頻度が高い場合、又は図４に示すように同一アドレスに短期間内に繰り返しアクセスする頻度が高い場合は、キャッシュメモリ５（図１参照）にアクセスする。この結果、ハードディスク記録媒体６にアクセスする頻度は減少するので、ハードディスクの消費電力を低減することができる。
【００２１】
また、本発明によれば、ハードディスクドライブ１０は、アクセスパターンの局所性が高い場合は、先読みブロック数を大きくする。局所性が高いことから、隣接ブロックを用いてもヒットする可能性が高くなるからである。また、アクセスパターンの局所性が低い場合には、先読みブロック数を大きくしてもヒットする可能性が低いから、先読みブロック数を小さくする。この場合、その分キャッシュライン数を大きくすることができるため、比較的局所性が低い場合にもキャッシュヒット率を向上させることができる。このような制御を行なうことにより、キャッシュ構成の最適化を図ることができる。
【００２２】
また、本発明によれば、図５に示すように目的セクタアドレス分布を見ることにより、アクセスパターンの局所性を判断することができる。
また、本発明によれば、アクセスパターンとキャッシュ構成最適化部の出力を受けてアドレス分布をチェックし、分布の変化を判断し、キャッシュアクセスするかディスクアクセスするかを決めるので、ハードディスクの低消費電力化を図ることができる。
【００２３】
また、本発明によれば、アクセスパターンの局所性を検出する方法として、キャッシュのヒット率により判断することができる。ヒット率の高い領域は、アクセスパターンの局所性が高いと判断することができる。
【００２４】
また、局所性が高い場合及び低い場合のそれぞれに対して、最適値の実行時間、先読みブロック数を求めることができる。
（付記１）
ホストからリード／ライトコマンドが発せられた場合、
アクセスパターンの特徴を検出し、
検出したアクセスパターンの特徴に応じてディスクアクセス数を変化させる、
ようにしたことを特徴とするキャッシュの最適化方法。
【００２５】
（付記２）
ホストからリード／ライトコマンドが発せられた場合、
アクセスパターンの特徴を検出し、
検出したアクセスパターンの特徴に応じてキャッシュの構成を最適化する、
ようにしたことを特徴とするキャッシュの最適化方法。
【００２６】
（付記３）
前記キャッシュの構成の最適化とは、アクセスパターンの局所性が高い場合、先読みブロック数を大きくし、アクセスパターンの局所性が低い場合、先読みブロック数を小さくするものであることを特徴とする付記２記載のキャッシュの最適化方法。
【００２７】
（付記４）
前記アクセスパターンの局所性の検出方法は、所定の期間の目的セクタアドレスを保存してその分布を生成し、その分布を見て、分布が狭いほど局所性が高いと判断するものであることを特徴とする付記３記載のキャッシュの最適化方法。
【００２８】
（付記５）
ホストからのリード／ライトコマンドを入力して所定期間の要求セクタアドレスを記憶するセクタアドレス記憶部と、
該セクタアドレス記憶部に記憶されたアクセスパターンを読み出し、そのアクセスパターンの分布からアクセスパターンの特徴を判断するアクセスパターン判断部と、
該アクセスパターン判断部の出力を受けて、特徴毎にキャッシュの先読みブロック数を変化させるキャッシュ構成最適化部と、
前記セクタアドレス記憶部から読み出されたアクセスパターンと、前記キャッシュ構成最適化部の出力を受けて、アドレス分布をチェックし、分布の変化を判断し、或いはキャッシュヒット率を演算してアクセスパターンを再チェックし、キャッシュアクセスするか、ディスクアクセスするかを判定するキャッシュヒット判定部、
とから構成されることを特徴とするキャッシュの最適化装置。
【００２９】
（付記６）
前記アクセスパターンの局所性の検出方法は、キャッシュのヒット率により判断し、ヒット率が減少した時は先読みブロック数を変化させることを特徴とする付記３記載のキャッシュの最適化方法。
【００３０】
このように、本発明によれば、消費電力を低減することができるキャッシュの最適化方法及び装置を提供することができる。
【図面の簡単な説明】
【００３１】
【図１】本発明の一実施の形態を示すブロック図である。
【図２】先読みブロック数による消費電力の変化を示す図である。
【図３】アクセスパターンの特徴を示す図である。
【図４】アクセスパターンの他の特徴を示す図である。
【図５】局所性の高いパターン分布、局所性の低いパターン分布の説明図である。
【図６】従来の基本的なキャッシュ機能の説明図である。
【符号の説明】
【００３２】
１    セクタアドレス記憶部
２    アクセスパターン判断部
３    キャッシュ構成最適化部
４    キャッシュヒット判定部
５    キャッシュメモリ
６    ハードディスク記憶媒体
１０  ハードディスクドライブ
【図１】
2008310741.tif 000003
【図２】
2008310741.tif 000004
【図３】
2008310741.tif 000005
【図４】
2008310741.tif 000006
【図５】
2008310741.tif 000007
【図６】
2008310741.tif 000008