説明

キャッシュの最適化方法及び装置

【課題】本発明はキャッシュの最適化方法及び装置に関し、消費電力を低減することができるキャッシュの最適化方法及び装置を提供することを目的としている。
【解決手段】リード/ライトコマンドを入力して要求セクタアドレスを記憶するセクタアドレス記憶部1と、該セクタアドレス記憶部1に記憶されたアクセスパターンを読み出し、そのアクセスパターンの分布からアクセスパターンの特徴を判断するアクセスパターン判断部2と、該アクセスパターン判断部2の出力を受けて、特徴毎に先読みブロック数を変化させるキャッシュ構成最適化部3と、読み出されたアクセスパターンと、前記キャッシュ構成最適化部3の出力を受けて、アドレス分布をチェックし、分布の変化を判断し、或いはキャッシュヒット率を演算してアクセスパターンを再チェックし、キャッシュアクセスするか、ディスクアクセスするかを判定するキャッシュヒット判定部4とから構成される。

【発明の詳細な説明】
【技術分野】
【0001】
本発明はキャッシュの最適化方法及び装置に関し、更に詳しくはハードディスクドライブの消費電力を低減することができるキャッシュの最適化方法及び装置に関する。
【背景技術】
【0002】
ハードディスクは、携帯電話或いはMP3プレーヤーなどの民生機器への活用の場が広がっている。これらの分野では、パワーソースが限られていることから、低消費電力であることが重要である。従来の装置では、キャッシュの構成は設計時に決定し、固定されている。
【0003】
図6は従来の基本的なキャッシュ機能の説明図である。シークと回転待ちの後にSEC(セクタ)0〜SECnまでが目的リードセクタであるものとすると、目的セクタのリード完了後も引き続きデータをリードし、キャッシュメモリに記憶している。即ち、目的リードセクタの後のセクタが先読みセクタとなり、SECn+1〜SECn+kが先読みセクタとなっている。
【0004】
キャッシュの判定は、以下の通りである。ホストからリード命令されたセクタがキャッシュに存在している場合には、キャッシュアクセスのみで足り、ディスクアクセスはしない。これに対して、ホストからリード命令されたセクタがキャッシュに存在しない場合には、ディスクアクセスする。一般に、キャッシュサイズは
キャッシュサイズ=(先読みブロック数)×(キャッシュライン数)
で表され、従来は先読みブロック数が固定であった。
【0005】
従来のこの種の装置としては、マルチタスクで並列してアクセスパターンが異なるアクセス要求があっても、それぞれの要求に対してディスクキャッシュを複数セグメントに分割し、それぞれのセグメントをそれぞれのアクセスに最適な動作モードで自動設定するために、ディスクアクセスパターンをサンプリングする部分と、サンプリング結果からそのアクセスに最適な動作モードを解析する部分と、ディスクキャッシュの制御及び管理をする部分を設けるようにした技術が知られている(例えば特許文献1参照)。
【0006】
また、計算機毎の特定のアクセス履歴を保存し、管理計算機に計算機によるファイルアクセスの種類を予告させ、計算機からのファイルアクセスが始まる前から前もって記憶装置のキャッシュメモリに情報を読み込ませておく技術が知られている(例えば特許文献2参照)。
【0007】
また、メディアアクセス時、そのアドレスとレングスをアドレステーブル上の直前にアクセスされたブロックの位置に記録し、メディアアクセスが修了した直後に、そのスタートアドレスに記録されている次アクセスアドレスとレングス情報をもとにディスクアクセスを行なう技術が知られている(例えば特許文献3参照)。
【特許文献1】特開平10−254778号公報(段落0010〜0015、図1)
【特許文献2】特開2005−157711号公報(段落0017〜0031、図1、図2)
【特許文献3】特開平8−185272号公報(段落0009〜0020、図1)
【発明の開示】
【発明が解決しようとする課題】
【0008】
従来の技術では、ハードディスクは低消費電力ではないという問題があった。本発明はこのような課題に鑑みてなされたものであって、消費電力を低減することができるキャッシュの最適化方法及び装置を提供することを目的としている。
【課題を解決するための手段】
【0009】
(1)請求項1記載の発明は、ホストからリード/ライトコマンドが発せられた場合、アクセスパターンの特徴を検出し、検出したアクセスパターンの特徴に応じてディスクアクセス数を変化させる、ようにしたことを特徴とする。
(2)請求項2記載の発明は、ホストからリード/ライトコマンドが発せられた場合、アクセスパターンの特徴を検出し、検出したアクセスパターンの特徴に応じてキャッシュの構成を最適化する、ようにしたことを特徴とする。
(3)請求項3記載の発明は、前記キャッシュの構成の最適化とは、アクセスパターンの局所性が高い場合、先読みブロック数を大きくし、アクセスパターンの局所性が低い場合、先読みブロック数を小さくするものであることを特徴とする。
(4)請求項4記載の発明は、前記アクセスパターンの局所性の検出方法は、所定の期間の目的セクタアドレスを保存してその分布を生成し、その分布を見て、分布が狭いほど局所性が高いと判断するものであることを特徴とする。
(5)請求項5記載の発明は、ホストからのリード/ライトコマンドを入力して所定期間の要求セクタアドレスを記憶するセクタアドレス記憶部と、該セクタアドレス記憶部に記憶されたアクセスパターンを読み出し、そのアクセスパターンの分布からアクセスパターンの特徴を判断するアクセスパターン判断部と、該アクセスパターン判断部の出力を受けて、特徴毎にキャッシュの先読みブロック数を変化させるキャッシュ構成最適化部と、前記セクタアドレス記憶部から読み出されたアクセスパターンと、前記キャッシュ構成最適化部の出力を受けて、アドレス分布をチェックし、分布の変化を判断し、或いはキャッシュヒット率を演算してアクセスパターンを再チェックし、キャッシュアクセスするか、ディスクアクセスするかを判定するキャッシュヒット判定部、とから構成されることを特徴とする。
6.この発明において、前記アクセスパターンの局所性の検出方法は、キャッシュのヒット率により判断し、ヒット率が減少した時は先読みブロック数を変化させることを特徴とする。
【発明の効果】
【0010】
(1)請求項1記載の発明によれば、アクセスパターンの特徴に応じてディスクアクセス数を変化させることにより、ハードディスクの低消費電力化を図ることができる。
(2)請求項2記載の発明によれば、アクセスパターンの特徴に応じてキャッシュの構成を最適化することにより、ハードディスクの低消費電力化を図ることができる。
(3)請求項3記載の発明によれば、アクセスパターンの局所性が高い場合、先読みブロック数を大きくし、アクセスパターンの局所性が低い場合、先読みブロック数を小さくして、キャッシュ構成の最適化を図ることができる。
(4)請求項4記載の発明によれば、目的セクタアドレス分布を見ることにより、アクセスパターンの局所性を判断することができる。
(5)請求項5記載の発明によれば、アクセスパターンとキャッシュ構成最適化部の出力を受けてアドレス分布をチェックし、分布の変化を判断し、キャッシュアクセスするかディスクアクセスするかを決めるので、ハードディスクの低消費電力化を図ることができる。
6.この場合において、アクセスパターンの局所性を検出する方法として、キャッシュのヒット率により判断することができる。
【発明を実施するための最良の形態】
【0011】
以下、図面を参照して本発明の実施の形態を詳細に説明する。図1は本発明の一実施の形態を示すブロック図である。図において、Aはホスト(図示せず)から出力されるリード/ライトコマンドである。1はホストからのリード/ライトコマンドを入力して所定期間の要求セクタアドレスを記憶するセクタアドレス記憶部、2は該セクタアドレス記憶部1に記憶されたアクセスパターンを読み出し、そのアクセスパターンの分布からアクセスパターンの特徴を判断するアクセスパターン判断部である。
【0012】
3は該アクセスパターン判断部2の出力を受けて、特徴毎にキャッシュの先読みブロック数を変化させるキャッシュ構成最適化部、4は前記セクタアドレス記憶部1から読み出されたアクセスパターンと、前記キャッシュ構成最適化部3の出力を受けて、アドレス分布をチェックし、分布の変化を判断し、或いはキャッシュヒット率を演算してアクセスパターンを再チェックし、キャッシュアクセスするか、ディスクアクセスするかを判定するキャッシュヒット判定部である。5はキャッシュメモリ、6はハードディスク記憶媒体である。このように構成された装置の動作を説明すれば、以下の通りである。
【0013】
装置起動後、セクタアドレス記憶部1は所定期間の要求セクタアドレスを記憶する。アクセスパターン判断部2は、セクタアドレス記憶部1に記憶されたアドレスパターンを読出し、アドレス分布を生成し、その分布からアクセスパターンの特徴を判断する。キャッシュ構成最適化部3は、特徴毎にキャッシュの先読みブロック数を変化させる。キャッシュヒット判定部4は、セクタアドレス記憶部1から読み出したアクセスパターンと、キャッシュ構成最適化部3から出力されたブロック数を受けて、常に分布をチェックし、分布の変化を判断し、あるいはキャッシュヒット率低下をモニタし、その時、アクセスパターンを再チェックし、チェック結果に応じて先読みブロック数を変化させる。
【0014】
キャッシュヒット判定部4は、判定結果に応じてキャッシュアクセスBを選択するか、ディスクアクセスCを選択するかを判定する。キャッシュアクセスを選択した場合には、キャッシュメモリ5との間でデータのやりとりを行ない、ディスクアクセスを選択した場合には、ハードディスク記憶媒体6との間でデータのやりとりを行なう。
【0015】
このように、本発明によれば、アクセスパターンの特徴に応じてディスクアクセス数を変化させることにより、ハードディスクの低消費電力化を図ることができる。また、アクセスパターンの特徴に応じてキャッシュの構成を最適化することにより、ハードディスクの低消費電力化を図ることができる。
【0016】
図2は先読みブロック数による消費電力の変化を示す図である。(1)はハードディスクの消費電力と先読みブロック数の関係を示す図、(2)はキャッシュライン数と先読みブロック数の関係を示す図である。(2)において、DとEはキャッシュ範囲を示している。Dの場合は、キャッシュライン数は多いが、先読みブロック数は小さい。Eの場合は、キャッシュライン数は少ないが、先読みブロック数は大きい。
【0017】
このような構成の違いにより、(1)に示すように消費電力が変化する。キャッシュ範囲Dのように先読みブロック数が小さい場合の消費電力特性はD´に示すように先読みブロック数が大きいほど消費電力が下がる。これに対して、キャッシュ範囲Eのように比較的先読みブロック数が大きくなった場合の消費電力特性はE´に示すように先読みブロック数が大きいほど消費電力は大きくなる。以上のように、あるアクセスパターンに対して、キャッシュ構成の違いにより電力が変化することが分かる。
【0018】
次に、アクセスパターンの特徴について説明する。図3はアクセスパターンの特徴を示す図である。アドレス番号が連続しており、隣接アドレスへアクセスする頻度が高いことを示している。図4はアクセスパターンの他の特徴を示す図である。同一アドレスに短期間内に繰り返しアクセスする頻度が高い場合を示している。例えば、アドレス“1”が短周期でアクセスされていることが分かる。
【0019】
図5は局所性の高いパターン分布、局所性の低いパターン分布の説明図である。(a)は局所性の高いパターン分布、(b)は局所性の低いパターン分布を示す。何れも、縦軸は個数、横軸はセクタアドレスである。(a)に示すパターンの場合、セクタアドレスが0と6(×106)の時に個数が集中している。即ち、セクタアドレスが0の時の発生アドレスの個数は1.5×103に集中しており、セクタアドレスが6×106の場合は発生アドレスの個数が1.5×102近辺に集中している。
【0020】
(b)に示すパターン分布の場合、アドレスが分散している。殆ど全てのセクタアドレスに対して発生アドレス数が分布していることが分かる。
以上の説明より、キャッシュヒット判定部4は、図3に示すように隣接アドレスへアクセスする頻度が高い場合、又は図4に示すように同一アドレスに短期間内に繰り返しアクセスする頻度が高い場合は、キャッシュメモリ5(図1参照)にアクセスする。この結果、ハードディスク記録媒体6にアクセスする頻度は減少するので、ハードディスクの消費電力を低減することができる。
【0021】
また、本発明によれば、ハードディスクドライブ10は、アクセスパターンの局所性が高い場合は、先読みブロック数を大きくする。局所性が高いことから、隣接ブロックを用いてもヒットする可能性が高くなるからである。また、アクセスパターンの局所性が低い場合には、先読みブロック数を大きくしてもヒットする可能性が低いから、先読みブロック数を小さくする。この場合、その分キャッシュライン数を大きくすることができるため、比較的局所性が低い場合にもキャッシュヒット率を向上させることができる。このような制御を行なうことにより、キャッシュ構成の最適化を図ることができる。
【0022】
また、本発明によれば、図5に示すように目的セクタアドレス分布を見ることにより、アクセスパターンの局所性を判断することができる。
また、本発明によれば、アクセスパターンとキャッシュ構成最適化部の出力を受けてアドレス分布をチェックし、分布の変化を判断し、キャッシュアクセスするかディスクアクセスするかを決めるので、ハードディスクの低消費電力化を図ることができる。
【0023】
また、本発明によれば、アクセスパターンの局所性を検出する方法として、キャッシュのヒット率により判断することができる。ヒット率の高い領域は、アクセスパターンの局所性が高いと判断することができる。
【0024】
また、局所性が高い場合及び低い場合のそれぞれに対して、最適値の実行時間、先読みブロック数を求めることができる。
(付記1)
ホストからリード/ライトコマンドが発せられた場合、
アクセスパターンの特徴を検出し、
検出したアクセスパターンの特徴に応じてディスクアクセス数を変化させる、
ようにしたことを特徴とするキャッシュの最適化方法。
【0025】
(付記2)
ホストからリード/ライトコマンドが発せられた場合、
アクセスパターンの特徴を検出し、
検出したアクセスパターンの特徴に応じてキャッシュの構成を最適化する、
ようにしたことを特徴とするキャッシュの最適化方法。
【0026】
(付記3)
前記キャッシュの構成の最適化とは、アクセスパターンの局所性が高い場合、先読みブロック数を大きくし、アクセスパターンの局所性が低い場合、先読みブロック数を小さくするものであることを特徴とする付記2記載のキャッシュの最適化方法。
【0027】
(付記4)
前記アクセスパターンの局所性の検出方法は、所定の期間の目的セクタアドレスを保存してその分布を生成し、その分布を見て、分布が狭いほど局所性が高いと判断するものであることを特徴とする付記3記載のキャッシュの最適化方法。
【0028】
(付記5)
ホストからのリード/ライトコマンドを入力して所定期間の要求セクタアドレスを記憶するセクタアドレス記憶部と、
該セクタアドレス記憶部に記憶されたアクセスパターンを読み出し、そのアクセスパターンの分布からアクセスパターンの特徴を判断するアクセスパターン判断部と、
該アクセスパターン判断部の出力を受けて、特徴毎にキャッシュの先読みブロック数を変化させるキャッシュ構成最適化部と、
前記セクタアドレス記憶部から読み出されたアクセスパターンと、前記キャッシュ構成最適化部の出力を受けて、アドレス分布をチェックし、分布の変化を判断し、或いはキャッシュヒット率を演算してアクセスパターンを再チェックし、キャッシュアクセスするか、ディスクアクセスするかを判定するキャッシュヒット判定部、
とから構成されることを特徴とするキャッシュの最適化装置。
【0029】
(付記6)
前記アクセスパターンの局所性の検出方法は、キャッシュのヒット率により判断し、ヒット率が減少した時は先読みブロック数を変化させることを特徴とする付記3記載のキャッシュの最適化方法。
【0030】
このように、本発明によれば、消費電力を低減することができるキャッシュの最適化方法及び装置を提供することができる。
【図面の簡単な説明】
【0031】
【図1】本発明の一実施の形態を示すブロック図である。
【図2】先読みブロック数による消費電力の変化を示す図である。
【図3】アクセスパターンの特徴を示す図である。
【図4】アクセスパターンの他の特徴を示す図である。
【図5】局所性の高いパターン分布、局所性の低いパターン分布の説明図である。
【図6】従来の基本的なキャッシュ機能の説明図である。
【符号の説明】
【0032】
1 セクタアドレス記憶部
2 アクセスパターン判断部
3 キャッシュ構成最適化部
4 キャッシュヒット判定部
5 キャッシュメモリ
6 ハードディスク記憶媒体
10 ハードディスクドライブ

【特許請求の範囲】
【請求項1】
ホストからリード/ライトコマンドが発せられた場合、
アクセスパターンの特徴を検出し、
検出したアクセスパターンの特徴に応じてディスクアクセス数を変化させる、
ようにしたことを特徴とするキャッシュの最適化方法。
【請求項2】
ホストからリード/ライトコマンドが発せられた場合、
アクセスパターンの特徴を検出し、
検出したアクセスパターンの特徴に応じてキャッシュの構成を最適化する、
ようにしたことを特徴とするキャッシュの最適化方法。
【請求項3】
前記キャッシュの構成の最適化とは、アクセスパターンの局所性が高い場合、先読みブロック数を大きくし、アクセスパターンの局所性が低い場合、先読みブロック数を小さくするものであることを特徴とする請求項2記載のキャッシュの最適化方法。
【請求項4】
前記アクセスパターンの局所性の検出方法は、所定の期間の目的セクタアドレスを保存してその分布を生成し、その分布を見て、分布が狭いほど局所性が高いと判断するものであることを特徴とする請求項3記載のキャッシュの最適化方法。
【請求項5】
ホストからのリード/ライトコマンドを入力して所定期間の要求セクタアドレスを記憶するセクタアドレス記憶部と、
該セクタアドレス記憶部に記憶されたアクセスパターンを読み出し、そのアクセスパターンの分布からアクセスパターンの特徴を判断するアクセスパターン判断部と、
該アクセスパターン判断部の出力を受けて、特徴毎にキャッシュの先読みブロック数を変化させるキャッシュ構成最適化部と、
前記セクタアドレス記憶部から読み出されたアクセスパターンと、前記キャッシュ構成最適化部の出力を受けて、アドレス分布をチェックし、分布の変化を判断し、或いはキャッシュヒット率を演算してアクセスパターンを再チェックし、キャッシュアクセスするか、ディスクアクセスするかを判定するキャッシュヒット判定部、
とから構成されることを特徴とするキャッシュの最適化装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate


【公開番号】特開2008−310741(P2008−310741A)
【公開日】平成20年12月25日(2008.12.25)
【国際特許分類】
【出願番号】特願2007−160233(P2007−160233)
【出願日】平成19年6月18日(2007.6.18)
【出願人】(000005223)富士通株式会社 (25,993)
【Fターム(参考)】