(57)【要約】  ホストコンピュータがストレージ装置とキャッシュ装置を併用する場合に、データの実際の利用頻度を計測し、そのデータのストレージ装置内での位置を制御する。  アプリケーションプログラム１Ａにより使用されるデータの一部は、ストレージ装置２とキャッシュ装置３とに記憶される。管理装置４は、ページのＩ／Ｏ負荷を検出し（４Ａ）、さらに、キャッシュデータのＩ／Ｏ負荷を検出する（４Ｂ）。管理装置４は、ページとキャッシュデータの対応関係を判定し（４Ｃ）、ページのＩ／Ｏ負荷にキャッシュデータのＩ／Ｏ負荷を加算する。
2012164671.tif 000002
【特許請求の範囲】
【請求項１】
ホストコンピュータに論理ボリュームを提供するストレージ装置と、前記ホストコンピュータにより使用されるキャッシュ装置とを含む計算機システムを管理する管理装置であって、
前記キャッシュ装置には、前記論理ボリューム内の所定サイズの記憶領域に記憶されるデータの一部がキャッシュデータとして記憶されており、
前記管理装置は、マイクロプロセッサと、前記マイクロプロセッサにより使用される所定のコンピュータプログラムを記憶する記憶装置と、前記ホストコンピュータ及び前記ストレージ装置と通信するための通信インターフェース回路とを備え、
前記マイクロプロセッサは、前記所定のコンピュータプログラムを実行することで、
前記ホストコンピュータによる、前記論理ボリューム内の前記記憶領域のデータへの第１アクセス要求を検出し、
前記ホストコンピュータによる、前記キャッシュ装置内の前記キャッシュデータへの第２アクセス要求を検出し、
前記論理ボリューム内の前記記憶領域のデータと前記キャッシュ装置の前記キャッシュデータとの対応関係を検出し、
前記第１アクセス要求と前記第２アクセス要求とに基づいて、前記記憶領域のデータへの合計アクセス要求を算出する、
計算機システムの管理装置。
【請求項２】
前記マイクロプロセッサは、前記合計アクセス要求に基づいて、前記ストレージ装置に所定の指示を送信する、
請求項１に記載の計算機システムの管理装置。
【請求項３】
前記所定の指示は、前記合計アクセス要求に基づいて前記記憶領域のデータを再配置させるための指示であり、
前記ストレージ装置は、前記所定の指示に従って、前記記憶領域のデータを所定階層の物理的記憶領域に配置させる、
請求項２に記載の計算機システムの管理装置。
【請求項４】
前記第１アクセス要求には、前記記憶領域のデータについての読出し要求及び書き込み要求の両方が含まれており、
前記第２アクセス要求には、前記キャッシュデータについての読出し要求が含まれており、
前記合計アクセス要求には、前記記憶領域のデータについての前記読出し要求と前記記憶領域に対応する前記キャッシュデータについての前記読出し要求とを合計した合計読出し要求と、前記記憶領域に記憶されたデータについての前記書き込み要求とが含まれている、
請求項３に記載の計算機システムの管理装置。
【請求項５】
前記所定サイズと、前記キャッシュデータのサイズとは異なっており、
前記マイクロプロセッサは、
前記ホストコンピュータが前記キャッシュ装置内の前記キャッシュデータを更新する第１タイミングと、前記ホストコンピュータが前記論理ボリューム内の前記記憶領域のデータを更新する第２タイミングとに基づいて、前記記憶領域のデータと前記キャッシュデータとの対応関係を検出する、
請求項４に記載の計算機システムの管理装置。
【請求項６】
前記マイクロプロセッサは、
前記第２タイミングが、前回の前記第１タイミングから最新の前記第１タイミングまでの所定時間内に存在する場合に、前記第２タイミングで更新される前記記憶領域のデータと前記最新の第１タイミングで更新される前記キャッシュデータとが対応関係にあると判定する、
請求項５に記載の計算機システムの管理装置。
【請求項７】
前記ホストコンピュータによる前記キャッシュデータの更新履歴を管理するキャッシュ更新履歴管理情報と、前記ホストコンピュータによる前記記憶領域の更新履歴を管理する記憶領域更新履歴管理情報とが前記記憶装置に格納されており、
前記マイクロプロセッサは、前記キャッシュ更新履歴管理情報と前記記憶領域更新履歴管理情報とに基づいて、前記最新の第１タイミングで前記キャッシュデータを更新する前記ホストコンピュータと前記第２タイミングで前記記憶領域内のデータを更新する前記ホストコンピュータとが同一であることを確認した場合に、前記第２タイミングで更新される前記記憶領域内のデータと前記最新の第１タイミングで更新される前記キャッシュデータとが対応関係にあると判定する、
請求項６に記載の計算機システムの管理装置。
【請求項８】
前記ストレージ装置には、前記第１アクセス要求の履歴を管理する第１アクセス要求履歴情報が記憶されており、
前記キャッシュ装置には、前記第２アクセス要求の履歴を管理する第２アクセス要求履歴情報が記憶されており、
前記記憶領域更新履歴管理情報は、前記管理装置が前記ストレージ装置から取得する前記第１アクセス要求履歴情報に基づいて作成され、
前記キャッシュ更新履歴管理情報は、前記管理装置が前記キャッシュ装置から取得する前記第２アクセス要求履歴情報に基づいて作成される、
請求項７に記載の計算機システムの管理装置。
【請求項９】
前記論理ボリューム内の前記記憶領域のデータと前記キャッシュ装置の前記キャッシュデータとの対応関係を管理する対応関係管理情報が前記記憶装置に記憶されており、
前記対応関係管理情報には、各対応関係毎にその信頼性を示す情報が含まれており、
前記マイクロプロセッサは、前記記憶領域のデータと前記キャッシュデータとの対応関係が複数存在する場合、前記信頼性を示す情報に基づいて、いずれか一つの対応関係を選択する、
請求項１〜請求項７のいずれに記載の計算機システムの管理装置。
【請求項１０】
前記信頼性を示す情報は、前記記憶領域のデータと前記キャッシュデータとが対応すると判定された回数である、
請求項９に記載の計算機システムの管理装置。
【請求項１１】
ホストコンピュータに論理ボリュームを提供するストレージ装置と、前記ホストコンピュータにより使用されるキャッシュ装置とを含む計算機システムを管理装置により管理するための方法であって、
前記管理装置は、
前記ホストコンピュータによる、前記論理ボリューム内の前記記憶領域のデータへの第１アクセス要求を検出し、
前記ホストコンピュータによる、前記キャッシュ装置内の前記キャッシュデータへの第２アクセス要求を検出し、
前記論理ボリューム内の前記記憶領域のデータと前記キャッシュ装置の前記キャッシュデータとの対応関係を検出し、
前記第１アクセス要求と前記第２アクセス要求とに基づいて、前記記憶領域のデータへの合計アクセス要求を算出する、
計算機システムの管理方法。
【請求項１２】
前記合計アクセス要求に基づいて前記記憶領域のデータを再配置させるための所定の指示を、前記ストレージ装置に送信する、
請求項１１に記載の計算機システムの管理方法。
【請求項１３】
前記所定サイズと、前記キャッシュデータのサイズとは異なっており、
前記ホストコンピュータが前記キャッシュ装置内の前記キャッシュデータを更新する第１タイミングと、前記ホストコンピュータが前記論理ボリューム内の前記記憶領域のデータを更新する第２タイミングとに基づいて、前記記憶領域のデータと前記キャッシュデータとの対応関係を検出する、
請求項１２に記載の計算機システムの管理方法。
【請求項１４】
前記論理ボリューム内の前記記憶領域のデータと前記キャッシュ装置の前記キャッシュデータとの対応関係を管理する対応関係管理情報が記憶されており、
前記対応関係管理情報には、各対応関係毎にその信頼性を示す情報が含まれており、
前記記憶領域のデータと前記キャッシュデータとの対応関係が複数存在する場合、前記信頼性を示す情報に基づいて、いずれか一つの対応関係を選択する、
請求項１３に記載の計算機システムの管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、計算機システムの管理装置及び管理方法に関する。
【背景技術】
【０００２】
階層ストレージ技術では、ストレージ装置の有する複数種類の記憶装置を性能別の階層に区分する。階層ストレージ技術では、論理ボリュームのデータの格納先を、そのデータに対するＩ／Ｏ（Input/Output）負荷に基づいて、適切な階層に変更させる。階層の変更は、手動または自動で行うことができる。階層ストレージ技術を利用すれば、データに対して、そのデータに必要な性能の記憶装置を、必要な分だけ割り当てることができる。従って、ストレージ装置の利用効率を向上させることができる。【０００３】
特許文献１では、１ファイルに含まれるデータ毎にＩ／Ｏ負荷を計測し、１ファイル単位で、データの格納先を変更できる階層ストレージ技術を開示している。【０００４】
特許文献２では、ページと呼ばれる仮想的な記憶領域に含まれるデータ毎にＩ／Ｏ負荷を計測し、１ページ単位で、データの格納先を変更できる階層ストレージ技術を開示している。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１０−２５７０９４号公報
【特許文献２】特開２０１０−１０８３４１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
近年では、アプリケーションプログラムの稼働するホストコンピュータが、ストレージ装置とは別に用意されたキャッシュ装置を利用する場合がある。例えば、ユーザ端末への高い応答速度が重要視されるアプリケーションプログラムの場合、Ｉ／Ｏ性能の高いキャッシュ装置を設けることがある。そのアプリケーションプログラムの稼働するホストコンピュータは、頻繁に使用するデータをストレージ装置及びキャッシュ装置の両方に保存する。ホストコンピュータ上のアプリケーションプログラムは、そのデータをキャッシュ装置から読み出すことで、そのデータをストレージ装置から読み出すよりも、読出し時間を短縮することができる。【０００７】
キャッシュ装置を有する計算機システムにおいて、階層ストレージ技術を適用すると、以下に述べるような課題が発生する。【０００８】
或るページに含まれるデータがキャッシュ装置にも保存された場合、ホストコンピュータのアプリケーションプログラムは、そのデータをキャッシュ装置から読み出す。従って、キャッシュされたデータを含むページに対するＩ／Ｏ負荷は、ストレージ装置から読み出されるデータを含むページに比べて、低く計測される可能性が高い。ストレージ装置は、キャッシュ装置からデータが読み出されていることを知らないためである。【０００９】
キャッシュ装置へ保存されたデータを含むページは、そのＩ／Ｏ負荷が低いとストレージ装置で評価されるため、本来配置されるべき階層よりも性能の低い階層に配置される可能性が高くなる。読出しの頻度が高いという理由から、キャッシュ装置にデータが保存されるにもかかわらず、ストレージ装置内では、そのデータを含むページを低性能の階層に配置させる。【００１０】
一方、キャッシュ装置は、キャッシュ容量が枯渇した場合に、保存されているデータの一部を消去させる。これをキャッシュアウト処理と呼ぶ。キャッシュアウト処理を実行することで、空いているキャッシュ容量を増やすことができる。【００１１】
キャッシュ装置に保存されているデータを含むページが下位階層に割り当てられている状況において、そのデータについてのキャッシュアウトが実行された場合を検討する。この場合、ホストコンピュータ上のアプリケーションプログラムは、そのデータをストレージ装置から読み出す必要がある。しかし、そのデータは、ストレージ装置内の下位階層に割り当てられているため、データの読出しに時間がかかる。そのデータが上位階層に再配置されるまで、または、そのデータが再びキャッシュ装置に保存されるまで、そのデータの読出し性能が低下する。従って、アプリケーションプログラムを利用するユーザ端末への応答性能が低下し、顧客満足度が低下する。【００１２】
さらに、ホストコンピュータ上のアプリケーションプログラムが、キャッシュアウトされたデータを更新しようとする場合、下位階層に割り当てられたページに対する書き込み処理を行う必要がある。従って、そのデータの書き込み性能も低下する。【００１３】
本発明は、上記の課題に鑑みてなされたもので、その目的は、ホストコンピュータがストレージ装置とキャッシュ装置の両方を使用している場合において、データの使用状況をできるだけ正確に計測することのできる、計算機システムの管理装置及び管理方法を提供することにある。本発明の他の目的は、論理ボリューム内の記憶領域に記憶されたデータとキャッシュ装置に記憶されたデータとをできるだけ正確に対応付け、データの使用状況に基づいて、そのデータの格納先を制御できるようにした計算機システムの管理装置及び管理方法を提供することにある。
【課題を解決するための手段】
【００１４】
本発明の一つの観点に係る計算機システムを管理する管理装置は、ホストコンピュータに論理ボリュームを提供するストレージ装置と、ホストコンピュータにより使用されるキャッシュ装置とを含む計算機システムを管理する管理装置であって、キャッシュ装置には、論理ボリューム内の所定サイズの記憶領域に記憶されるデータの一部がキャッシュデータとして記憶されており、管理装置は、マイクロプロセッサと、マイクロプロセッサにより使用される所定のコンピュータプログラムを記憶する記憶装置と、ホストコンピュータ及びストレージ装置と通信するための通信インターフェース回路とを備え、マイクロプロセッサは、所定のコンピュータプログラムを実行することで、ホストコンピュータによる、論理ボリューム内の記憶領域のデータへの第１アクセス要求を検出し、ホストコンピュータによる、キャッシュ装置内のキャッシュデータへの第２アクセス要求を検出し、論理ボリューム内の記憶領域のデータとキャッシュ装置のキャッシュデータとの対応関係を検出し、第１アクセス要求と第２アクセス要求とに基づいて、記憶領域のデータへの合計アクセス要求を算出する。【００１５】
マイクロプロセッサは、合計アクセス要求に基づいて、ストレージ装置に所定の指示を送信してもよい。【００１６】
所定の指示は、合計アクセス要求に基づいて記憶領域のデータを再配置させるための指示であり、ストレージ装置は、所定の指示に従って、記憶領域のデータを所定階層の物理的記憶領域に配置させてもよい。【００１７】
第１アクセス要求には、記憶領域のデータについての読出し要求及び書き込み要求の両方が含まれており、第２アクセス要求には、キャッシュデータについての読出し要求が含まれており、合計アクセス要求には、記憶領域のデータについての読出し要求と記憶領域に対応するキャッシュデータについての読出し要求とを合計した合計読出し要求と、記憶領域に記憶されたデータについての書き込み要求とが含まれていてもよい。【００１８】
所定サイズと、キャッシュデータのサイズとは異なっており、マイクロプロセッサは、ホストコンピュータがキャッシュ装置内のキャッシュデータを更新する第１タイミングと、ホストコンピュータが論理ボリューム内の記憶領域のデータを更新する第２タイミングとに基づいて、記憶領域のデータとキャッシュデータとの対応関係を検出してもよい。【００１９】
マイクロプロセッサは、第２タイミングが、前回の第１タイミングから最新の第１タイミングまでの所定時間内に存在する場合に、第２タイミングで更新される記憶領域のデータと最新の第１タイミングで更新されるキャッシュデータとが対応関係にあると判定してもよい。【００２０】
ホストコンピュータによるキャッシュデータの更新履歴を管理するキャッシュ更新履歴管理情報と、ホストコンピュータによる記憶領域の更新履歴を管理する記憶領域更新履歴管理情報とが記憶装置に格納されており、マイクロプロセッサは、キャッシュ更新履歴管理情報と記憶領域更新履歴管理情報とに基づいて、最新の第１タイミングでキャッシュデータを更新するホストコンピュータと第２タイミングで記憶領域内のデータを更新するホストコンピュータとが同一であることを確認した場合に、第２タイミングで更新される記憶領域内のデータと最新の第１タイミングで更新されるキャッシュデータとが対応関係にあると判定してもよい。【００２１】
論理ボリューム内の記憶領域のデータとキャッシュ装置のキャッシュデータとの対応関係を管理する対応関係管理情報が記憶装置に記憶されており、対応関係管理情報には、各対応関係毎にその信頼性を示す情報が含まれており、マイクロプロセッサは、記憶領域のデータとキャッシュデータとの対応関係が複数存在する場合、信頼性を示す情報に基づいて、いずれか一つの対応関係を選択してもよい。【００２２】
本発明は、計算機システムを管理するためのコンピュータプログラム、または、計算機システムとして、捉えることもできる。
【図面の簡単な説明】
【００２３】
【図１】図１は、実施形態の概要を示す説明図である。
【図２】図２は、計算機システムの全体構成を示す。
【図３】図３は、管理サーバの構成を示す。
【図４】図４は、ストレージ装置の構成を示す。
【図５】図５は、キャッシュ装置の構成を示す。
【図６】図６は、管理サーバが使用するリポジトリとテーブルの構成を示す。
【図７】図７は、キャッシュ読み出しログテーブルを示す。
【図８】図８は、キャッシュ書き込みログテーブルを示す。
【図９】図９は、ページ読み出しログテーブルを示す。
【図１０】図１０は、ページ書き込みログテーブルを示す。
【図１１】図１１は、ホストコンピュータと論理ボリュームとの対応関係を示すホスト−論理ボリュームマッピングテーブルの構成である。
【図１２】キャッシュデータとページとの対応関係を示すキャッシュ−ページマッピングテーブルの構成である。
【図１３】図１３は、ページ実効負荷ログテーブルを示す。
【図１４】図１４は、装置ログを取得する処理を示すフローチャートである。
【図１５】図１５は、キャッシュとページとのマッピング処理を示すフローチャートである。
【図１６】図１６は、キャッシュ−ページマッピング処理のうち、キャッシュ−ページマップを検索する処理の詳細を示すフローチャートである。
【図１７】図１７は、キャッシュ−ページマッピング処理のうち、キャッシュ−ページマップを作成または追加する処理の詳細を示すフローチャートである。
【図１８】図１８は、キャッシュデータの更新タイミングとページの更新タイミングの関係を示す模式図であり、（ａ）はページを更新した後でキャッシュデータを更新する場合を示し、（ｂ）はキャッシュデータを更新した後でページを更新する場合を示す。
【図１９】図１９は、キャッシュ−ページマッピング処理のうち、前回のキャッシュ書き込み時刻を取得する処理の詳細を示すフローチャートである。
【図２０】図２０は、キャッシュ−ページマッピング処理のうち、論理ボリュームＩＤを取得する処理の詳細を示すフローチャートである。
【図２１】図２１は、ページ実効負荷を算出する処理のフローチャートである。
【図２２】図２２は、ページ実効負荷算出処理のうち、ページ書き込み回数を加算する処理の詳細を示すフローチャートである。
【図２３】図２３は、ページ実効負荷算出処理のうち、ページ読み出し回数を加算する処理の詳細を示すフローチャートである。
【図２４】図２４は、ページ実効負荷算出処理のうち、キャッシュ読み出し回数を加算する処理の詳細を示すフローチャートである。
【図２５】図２５は、ページを再配置させるための指示を発行する処理のフローチャートである。
【図２６】図２６は、キャッシュ装置の設定画面を示す。
【図２７】図２７は、ホストコンピュータと論理ボリュームとをマッピングするための設定画面を示す。
【図２８】図２８は、第２実施例に係り、マッピング情報リポジトリの構成を示す説明図である。
【図２９】図２９は、キャッシュ−ページマッピング統計テーブルを示す。
【図３０】図３０は、キャッシュ−ページマッピング処理のフローチャートである。
【図３１】図３１は、キャッシュ−ページマッピング処理のうち、キャッシュ−ページマップを作成または追加する処理のフローチャートである。
【図３２】図３２は、キャッシュ−ページマッピング処理のうち、統計によるページ−キャッシュマッピング処理のフローチャートを示す。
【図３３】第３実施例に係り、キャッシュ−ページマッピング処理を示すフローチャートである。
【発明を実施するための形態】
【００２４】
以下、添付図面を参照して本発明の実施形態について説明する。ただし、本実施形態は本発明を実現するための一例に過ぎず、本発明の技術的範囲を限定するものではないことに注意すべきである。
【００２５】
本明細書では、実施形態において使用される情報を、「ａａａテーブル」という表現で説明しているが、これに限らず、例えば、「ａａａリスト」、「ａａａデータベース」、「ａａａキュー」等の他の表現を用いてもよい。本実施形態で用いられる情報が、データ構造に依存しないことを示すために、「ａａａ情報」と呼ぶこともある。
【００２６】
本実施形態で使用される情報の内容を説明する際に、「識別情報」、「識別子」、「名」、「名前」、「ID」という表現を用いることがあるが、これらは互いに置換が可能である。
【００２７】
さらに、本実施形態の処理動作の説明では、「コンピュータプログラム」または「モジュール」を動作主体（主語）として説明することがある。プログラムまたはモジュールは、マイクロプロセッサによって実行される。プログラムまたはモジュールは、定められた処理を、メモリ及び通信ポート（通信制御装置）を用いながら実行する。従って、プロセッサを動作主体（主語）として読み替えても良い。さらに、管理サーバ等の計算機等が行う処理として読み替えてもよい。なお、コンピュータプログラムの一部または全ては、専用ハードウェアによって実現されてもよい。コンピュータプログラムは、プログラム配布サーバまたは記憶メディアによって計算機にインストールされてもよい。
【００２８】
図１は、実施形態の全体概要を示す。図１に示すように、計算機システムは、少なくとも一つのホストコンピュータ（以下、ホスト）１と、少なくとも一つのストレージ装置２と、少なくとも一つのキャッシュ装置３と、少なくとも一つの管理装置４とを含む。
【００２９】
ホスト１とストレージ装置２は、例えば、ＦＣ＿ＳＡＮ（Fibre Channel_Storage Area Network）またはＩＰ＿ＳＡＮ（Internet Protocol_SAN）のような通信ネットワークＣＮ１を介して双方向通信可能に接続される。ホスト１とキャッシュ装置３とは、例えば、ＬＡＮ（Local Area Network）またはインターネットのような通信ネットワークＣＮ２を介して双方向通信可能に接続される。管理装置４は、少なくとも、ストレージ装置２及びキャッシュ装置３とＬＡＮのような通信ネットワークを介して接続される。さらに、管理装置４とホスト１とをＬＡＮ等で接続してもよい。
【００３０】
ホストコンピュータ１では、アプリケーションプログラム１Ａが稼働する。アプリケーションプログラム１Ａとしては、例えば、通信販売システム、動画像配信システム、音楽配信システム、顧客管理システム等を挙げることができる。
【００３１】
ストレージ装置２は、例えば、少なくとも一つの論理ボリューム２Ａと、複数の記憶装置２Ｂとを備える。ストレージ装置２は、図示せぬコントローラも備えるが、図１では省略されている。
【００３２】
複数の記憶装置２Ｂとしては、例えば、ハードディスクデバイス、半導体メモリデバイス、光ディスクデバイス、光磁気ディスクデバイス、磁気テープデバイス、フレキシブルディスクデバイス等のデータを読み書き可能な種々のデバイスを利用可能である。
【００３３】
ハードディスクデバイスを用いる場合、例えば、ＦＣ（Fibre Channel）ディスク、ＳＣＳＩ（Small Computer System Interface）ディスク、ＳＡＴＡディスク、ＡＴＡ（AT Attachment）ディスク、ＳＡＳ（Serial Attached SCSI）ディスク等を用いることができる。また、例えば、フラッシュメモリ、ＦｅＲＡＭ（Ferroelectric Random Access Memory）、ＭＲＡＭ（MagnetoresistiveRandom Access
Memory）、相変化メモリ（Ovonic Unified Memory）、ＲＲＡＭ（Resistance RAM）等の種々の記憶装置を用いることもできる。さらに、例えば、フラッシュメモリデバイスとハードディスクドライブのように、種類の異なる記憶装置を混在させる構成でもよい。
【００３４】
複数の記憶装置２Ｂは、その応答性能によって、複数の階層に区分される。図１では、例えば、３つの階層を示す。上位階層ＵＴは、比較的高性能の記憶装置から構成される階層である。中位階層ＭＴは、比較的中性能の記憶装置から構成される階層である。下位階層ＬＴは、比較的低性能の記憶装置から構成される階層である。
【００３５】
各階層に属する複数の記憶装置によって、ＲＡＩＤ（Redundant Arrays of Inexpensive Disks）グループが生成され、そのＲＡＩＤグループの有する物理的記憶領域に、ページ単位でデータが格納される。
【００３６】
論理ボリューム２Ａは、「所定サイズの記憶領域」としてのページ単位で、データを管理する。ページ２Ｃのサイズは、例えば、ＭＢ級であり、後述のキャッシュデータＣＤのサイズ（例えば、数百〜数ＫＢ）よりも大きい。論理ボリューム２Ａのアドレス空間は、ページ単位で区切られて管理される。各ページ２Ｃのデータは、Ｉ／Ｏ負荷に応じて、各階層ＵＴ，ＭＴ，ＬＴのうち適切と判断される階層の記憶装置２Ｂに記憶される。
【００３７】
上位階層ＵＴの応答性能は高いため、上位階層ＵＴの記憶装置には、アクセス頻度の高いページ２Ｃ１のデータが記憶される。下位階層ＬＴの応答性能は低いため、下位階層ＬＴの記憶装置には、アクセス頻度の低いページ２Ｃ３のデータが記憶される。中位階層ＭＴには、上位階層ＵＴに配置されるデータのアクセス頻度と下位階層ＬＴに配置されるデータのアクセス頻度との中間のアクセス頻度のページ２Ｃ２のデータが配置される。アクセス頻度とは、Ｉ／Ｏ負荷である。
【００３８】
キャッシュ装置３は、例えば、サーバコンピュータにキャッシュ管理ソフトウェアを搭載することにより構成される。キャッシュ装置３は、ホスト１から渡されたデータＣＤをキャッシュメモリ３Ａ上に保持する。上述の通り、キャッシュデータＣＤのサイズは、ページサイズよりも小さい。従って、ページ２Ｃ内のデータの一部が、キャッシュデータＣＤとしてキャッシュメモリ３Ａに保存される。
【００３９】
キャッシュメモリ３Ａの空き容量が所定値以下になった場合、キャッシュ装置３は、所定の基準で選択されるキャッシュデータＣＤを消去させる。所定の基準で選択されるキャッシュデータとしては、例えば、最新のアクセス時刻が最も古いキャッシュデータ、所定期間内のアクセス頻度が最も少ないキャッシュデータ等を挙げることができる。
【００４０】
管理装置４は、例えば、サーバコンピュータに管理ソフトウェアを搭載することにより構成される。管理装置４は、例えば、ストレージＩ／Ｏ負荷検出部４Ａと、キャッシュＩ／Ｏ負荷検出部４Ｂと、対応関係検出部４Ｃと、Ｉ／Ｏ負荷修正部４Ｄと、ページ再配置指示部４Ｅとを備える。
【００４１】
ストレージＩ／Ｏ負荷検出部４Ａは、ホスト１によるページ２Ｃのデータへの読出し要求及び書き込み要求を検出する。ストレージＩ／Ｏ負荷検出部４Ａは、例えば、第１アクセス要求検出部と表現してもよい。
【００４２】
キャッシュＩ／Ｏ負荷検出部４Ｂは、ホスト１によるキャッシュデータの読出し要求及び書き込み要求を検出する。キャッシュＩ／Ｏ負荷検出部４Ｂは、第２アクセス要求検出部と表現してもよい。Ｉ／Ｏ負荷とは、読出し要求及び書き込み要求の数である。
【００４３】
対応関係検出部４Ｃは、ページ２ＣのデータとキャッシュデータＣＤの対応関係を検出する。対応関係検出部４Ｃは、キャッシュ装置３内のキャッシュデータＣＤが、どのページ２Ｃに含まれているデータと対応しているかを判断し、その判断結果を記憶する。
【００４４】
Ｉ／Ｏ負荷修正部４Ｄは、ストレージＩ／Ｏ負荷検出部４Ａで検出されるページ２ＣへのＩ／Ｏ負荷に、そのページ２Ｃ内のデータに対応するキャッシュデータＣＤへのＩ／Ｏ負荷を加算して、そのページ２Ｃのデータのより正確なＩ／Ｏ負荷を算出する。Ｉ／Ｏ負荷修正部４Ｄは、例えば、合計アクセス要求算出部と表現してもよい。
【００４５】
ホスト１は、アプリケーションプログラム１Ａで頻繁に使用するデータを、キャッシュ装置３のキャッシュメモリ３Ａにも記憶させる。アプリケーションプログラム１Ａは、図外のユーザ端末に高速に応答すべく、ストレージ装置２とキャッシュ装置３の両方に保持されているデータについては、キャッシュ装置３から読み出す。更新する場合は、ストレージ装置２のページ２ＣのデータとキャッシュデータＣＤの両方を更新する。
【００４６】
従って、データの更新回数は、ページ２ＣのデータとキャッシュデータＣＤとで変わらない。しかし、データの読出し回数は、キャッシュデータＣＤの方が多く、キャッシュデータＣＤに対応するデータを含むページ２Ｃの読出し回数は少なくなる。Ｉ／Ｏ負荷修正部４Ｄは、データ読出し回数の不均衡による誤差を解消すべく、ページ２Ｃのデータを読み出す回数に、そのデータに対応するキャッシュデータＣＤの読出し回数を加算することにより、読出し要求の数を修正する。
【００４７】
ページ再配置指示部４Ｅは、修正されたＩ／Ｏ負荷に基づいて、ページ２Ｃの再配置を行うようにストレージ装置２に指示する。ページ再配置指示部４Ｅは、データ再配置指示部と表現してもよい。ページ再配置指示部４Ｅからストレージ装置２への指示には、再配置対象のページ２Ｃを特定する情報と、再配置対象のページについて修正されたＩ／Ｏ負荷を示す情報とが含まれる。
【００４８】
ストレージ装置２は、ページ再配置指示部４Ｅからの指示を受領すると、その指示に従って、ページ２Ｃの配置先の階層を変更する。Ｉ／Ｏ負荷の少ないページ２Ｃは、現在属している階層よりも性能の低い階層に配置される。Ｉ／Ｏ負荷の多いページ２Ｃは、現在属している階層よりも性能の高い階層に配置される。
【００４９】
このように構成される本実施形態では、ホスト１がストレージ装置２及びキャッシュ装置３の両方を使用する計算機システムにおいて、ストレージ装置２内のページ２Ｃに記憶されたデータに関するＩ／Ｏ負荷を正しく評価することができる。従って、本実施形態では、その正しい評価に基づいて、ストレージ装置２内でページを適切な階層に配置させることができる。
【００５０】
この結果、キャッシュデータＣＤがキャッシュ装置３から消去された場合でも、その消去されたキャッシュデータＣＤに対応するデータは、実際のＩ／Ｏ負荷に基づいて、ストレージ装置２内の適切な階層に記憶されている。従って、ホスト１は、キャッシュデータＣＤがキャッシュ装置３から消去された場合でも、ストレージ装置２から比較的速やかに目的のデータを読み出すことができる。
【００５１】
このように、本実施形態では、ホスト１がストレージ装置２及びキャッシュ装置３の両方を使用する場合において、データの使用状況を正しく評価して、そのデータに応じた階層に記憶させることができる。このため、本実施形態では、キャッシュデータＣＤが消去された場合でも、ホスト１のアプリケーションプログラム１Ａは、応答性能をあまり低下させずに、図外のユーザ端末にサービスを提供することができる。
【００５２】
さらに、本実施形態では、管理装置４が、キャッシュデータＣＤとページ２Ｃのデータとの対応関係を判断して、ページ２Ｃのデータの実際の使用状況を測定するため、ストレージ装置２とキャッシュ装置３とが互いに相手方を意識する必要はない。つまり、ストレージ装置２及びキャッシュ装置３の制御プログラムを変更せずに、ページ２Ｃのデータの使用状況を正しく評価でき、その評価に基づいてページ２Ｃを適切な階層に配置することができる。さらに、ホスト１のアプリケーションプログラム１Ａも、今まで通りの構成でよい。
【実施例１】
【００５３】
図２〜図２７を参照して第１実施例を説明する。先に、本実施例と図１との対応関係を説明する。ホスト１はホスト１０に、ストレージ装置２はストレージ装置２０に、キャッシュ装置３はキャッシュ装置３０に、管理装置４は管理サーバ４０に、対応する。通信ネットワークＣＮ１は通信ネットワークＣＮ１０に、通信ネットワークＣＮ２は通信ネットワークＣＮ２０に、対応する。論理ボリューム２Ａは図２の論理ボリューム２１０に、ページ２Ｃは図２のページ２１１に、記憶装置２Ｂは図２の記憶装置２５０Ａ，２５０Ｂ，２５０Ｃに、対応する。上位階層ＵＴは図２の上位階層２５１Ａに、中位階層ＭＴは図２の中位階層２５１Ｂに、下位階層ＬＴは図２の下位階層２５１Ｃに、対応する。キャッシュデータＣＤは図５のキャッシュデータ３３１に対応する。【００５４】
本実施例では、アプリケーションプログラム１１を運用するホスト１０が、ストレージ装置２０の外部に設けられるキャッシュ装置３０を利用している計算機システムにおいて、ストレージ装置２０内のディスク階層２５１Ａ、ディスク階層２５１Ｂ、ディスク階層２５１Ｃの使用状況を最適化するための管理サーバ４０について説明する。【００５５】
図２は、システムの全体構成を示した図である。計算機システムは、例えば、複数のホスト１０と、少なくとも一つのストレージ装置２０と、少なくとも一つのキャッシュ装置３０と、少なくとも一つの管理サーバ４０とを備える。【００５６】
ホスト１０は、ＳＡＮ  ＣＮ１０を介して、ストレージ装置２０と接続される。ホスト１０とキャッシュ装置３０及びストレージ装置２０は、ＬＡＮ  ＣＮ２０を介して、管理サーバ４０と接続される。なお、図示は省略するが、ホスト１０は、インターネットまたはＬＡＮのような通信ネットワークを介して、複数のユーザ端末に接続される。【００５７】
ホスト１０は、その内部でアプリケーションプログラム１１を実行させている。例えば、アプリケーションプログラム１１がオンラインショッピングアプリケーション等である場合、販売する商品のデータ、及び、購買者のユーザアカウントデータ等の情報を、永続化する必要がある。情報（データ）を永続化するとは、情報（データ）を長期間にわたって保持することを意味する。ホスト１０は、そのような永続化する必要のあるデータを、ストレージ装置２０に書き込む。ホスト１０は、必要に応じて、ストレージ装置２０からデータを読み出す。【００５８】
ホスト１０は、データの格納先として、ストレージ装置２０だけでなく、キャッシュ装置３０も利用する。例えば、アプリケーションプログラム１１がオンラインショッピングアプリケーションであり、扱う商品のうち、ある特定の商品の人気が特に高いような場合、その商品のデータは頻繁に参照されることになる。【００５９】
そのような人気の高い商品に関するデータは、頻繁に参照されるため、高速に読み出せることが望ましい。そこで、アプリケーションプログラム１１の開発者は、高速な読み出しが必要となるであろうデータを事前に予測する。開発者は、高速な読出しが必要になると予測されたデータがストレージ装置２０及びキャッシュ装置３０の両方に書き込まれるように、アプリケーションプログラム１１を事前に設計することができる。キャッシュ装置３０は、データを高速に読み出すことができるため、アプリケーションプログラム１１の応答性能の低下を抑制できる。【００６０】
図３は、管理サーバ４０の詳細な構成を示した図である。管理サーバ４０は、例えば、通信装置４１と、マイクロプロセッサ４２と、ディスプレイ４３と、キーボード４４と、マウス４５と、主記憶装置４６と、二次記憶装置４７とを備える。【００６１】
管理サーバ４０は、通信装置４１を介して、ホスト１０とキャッシュ装置３０及びストレージ装置２０と双方向通信することができる。ＣＰＵ４２は、主記憶装置４６に記憶されたオペレーティングシステム（不図示）と、各プログラムＰ４０，Ｐ４１，Ｐ４２，Ｐ４３，Ｐ４４を用いて、後述の各処理を実行する。【００６２】
装置ログ取得部Ｐ４０は、ストレージ装置２０及びキャッシュ装置３０からアクセスログを取得するためのコンピュータプログラムである。装置ログ取得部Ｐ４０は、後述の装置ログリポジトリＴ４０と共に、図１に示すストレージＩ／Ｏ検出部４Ａ及びキャッシュＩ／Ｏ検出部４Ｂを実現する。【００６３】
マッピング部Ｐ４１は、ホスト１と論理ボリューム２１０との対応関係、及び、ページとキャッシュの対応関係を管理するためのコンピュータプログラムである。ホスト１と論理ボリューム２１０との対応関係は、システム管理者により手動で設定される。ページとキャッシュの対応関係は、自動的に作成される。その作成方法は後述する。マッピング部Ｐ４１は、後述のマッピング情報リポジトリＴ４１と共に、図１の対応関係検出部４Ｃを実現する。【００６４】
ページ実効負荷算出部Ｐ４２は、ページ２１１のデータに対する実際のＩ／Ｏ負荷を算出するためのコンピュータプログラムである。ページ実効負荷算出部Ｐ４２は、各論理ボリューム２１０の各ページ毎に、ページへの書き込み回数と、そのページからの読出し回数と、そのページに含まれるデータに対応するキャッシュデータ３３１の読出し回数とに基づいて、そのページに対して実際に生じたであろうはずのＩ／Ｏ負荷を算出する。ページ実効負荷算出部Ｐ４２は、後述のページ実効負荷リポジトリＴ４２と共に、図１のＩ／Ｏ負荷修正部４Ｄを実現する。【００６５】
設定画面処理部Ｐ４４は、ディスプレイ４３に表示させる設定画面を作成したり、ユーザから設定画面に入力された情報を受領するためのコンピュータプログラムである。なお、本実施例では、管理サーバ４０に、ディスプレイ４３及びキーボード４４等のユーザインターフェース手段を設ける構成を示すが、これに代えて、管理端末を管理サーバ４０に接続する構成でもよい。管理端末は、例えば、パーソナルコンピュータ、携帯情報端末、携帯電話のように構成することができる。ユーザは、管理端末に設けられるディスプレイ及びキーボード等を介して、管理サーバ４０に指示したり、情報を表示させたりすることができる。なお、音声入力装置を設けて、ユーザが音声で管理サーバ４０に指示できるように構成してもよい。【００６６】
二次記憶装置４７には、装置ログリポジトリＴ４０と、マッピング情報リポジトリＴ４１と、ページ実効負荷リポジトリＴ４２とが記憶される。装置ログリポジトリＴ４０は、装置ログ取得部Ｐ４０で使用するデータを保存する。マッピング情報リポジトリＴ４１は、キャッシュ−ページマッピング部Ｐ４１で使用するデータを保存する。ページ実効負荷リポジトリＴ４２は、ページ実効負荷算出部Ｐ４２の使用するデータを保存する。【００６７】
図４は、ストレージ装置２０の詳細な構成を示した図である。図４において実線で示したものは物理的な実体である。図４において破線で示したものは、論理的存在であるか、または、物理的実体を集約する概念である。【００６８】
ストレージ装置２０は、例えば、ポート２１と、ＣＰＵ２２と、通信装置２３と、主記憶装置２４と、二次記憶装置２５とを備える。【００６９】
ストレージ装置２０は、ポート２１を介してＳＡＮ  ＣＮ１０と接続される。ストレージ装置２０は、ＳＡＮ  ＣＮ１０を介してホスト１からのコマンドを受領し、そのコマンドの処理結果をＳＡＮ  ＣＮ１０を介してホスト１に送信する。【００７０】
ストレージ装置２０は、通信装置２３を介してＬＡＮ  ＣＮ２０に接続される。ストレージ装置２０は、ＬＡＮ  ＣＮ２０を介して管理サーバ４０との間で双方向通信を行うことができる。【００７１】
ＣＰＵ２２は、主記憶装置２４に保存された、階層管理機能Ｐ２０と論理ボリューム提供機能Ｐ２１とを実行する。各機能の詳細は後述する。【００７２】
二次記憶装置２５は、記憶装置として、複数のディスク装置２５０Ａ，２５０Ｂ，２５０Ｃを備える。各ディスク装置２５０Ａ，２５０Ｂ，２５０Ｃは、その応答性能に応じて階層化されている。応答性能とは、データの書き込み速度及び読出し速度である。【００７３】
例えば、上位のディスク階層２５１Ａは、高速な応答性能を有する二次記憶装置であるＳＳＤ  ２５０Ａから構成される。中位のディスク階層Ｂは、ＳＳＤ  ２５０Ａよりも応答性能が低いが、コストの安いＳＡＳディスク２５０Ｂから構成される。下位のディスク階層２５１Ｃは、最も応答性能が低いが、最も安価であるＳＡＴＡディスク２５０Ｃから構成される。【００７４】
特に区別しない場合、ディスク装置２５０Ａ，２５０Ｂ，２５０Ｃをディスク装置２５０と呼ぶ。なお、ディスク装置２５０は、記録媒体がディスク状である必要はなく、記録媒体の形状は問わない。特に区別しない場合、ディスク階層２５１Ａ，２５１Ｂ，２５１Ｃをディスク階層２５１と呼ぶ。【００７５】
論理ボリューム提供機能Ｐ２１は、ディスク装置群の持つ物理的記憶容量を集約した、仮想的な記憶容量資源であるボリュームプール２００を提供する。論理ボリューム提供機能Ｐ２１は、ボリュームプール２００の持つ物理的記憶容量資源を所定サイズだけ切り出して、論理的なディスク装置である論理ボリューム２１０を作成する。作成された論理ボリュームには、通信ポート２１を介してホスト１０に割り当てられる。つまり、ボリュームプール２００は、各ディスク装置２５０から構成されるＲＡＩＤグループ（パリティグループ）である。【００７６】
ホスト１０は、前述のような永続化の必要のあるデータを論理ボリューム２１０に書き込み、必要に応じてそのデータを読み出す。論理ボリューム２１０は、複数のページ２１１から構成される。ページ２１１は、仮想的な記憶領域である。【００７７】
論理ボリューム提供機能Ｐ２１は、論理ボリューム２１０へのデータ書き込み要求に応じて、ホスト１から受領したライトデータを、複数のページ２１１のうちの所定のページに書き込む。ライトコマンド（書き込み要求）に含まれる書込先アドレスに応じたページが、所定のページとなる。【００７８】
論理ボリューム提供機能Ｐ２１は、論理ボリューム２１０に対するデータ読み出し要求に応じて、指定されたデータを所定のページ２１１から読み出し、要求元であるホスト１にデータを返す。所定のページとは、リードコマンド（読出し要求）に含まれる読出し先アドレスに対応するページである。【００７９】
論理ボリューム提供機能Ｐ２１は、読み出し要求及び書き込み要求を処理する時点で、読み出し／書き込みログＤ２０を更新する。読み出し／書き込みログＤ２０には、例えば、要求の対象であるページを特定するための情報と、読み出し要求であるか書き込み要求であるかを区別する情報と、要求を正しく処理できたか否かを示す情報と、要求を受理した時刻を示す情報等を、含めることができる。【００８０】
ページ２１１は、論理ボリューム２１０内に設けられる論理的な記憶領域であり、データを実際に記憶するための物理的な記憶領域は、各ディスク階層２５１Ａ，２５１Ｂ，２５１Ｃのいずれかに属する、物理的ディスク装置２５０内に存在する。つまり、ページ２１１に対してデータの書き込み操作または読み出し操作を行った場合、論理的にはページ２１１がデータを保持するかのように見える。しかし、実際には、データはディスク階層２５１Ａ，２５１Ｂ，２５１Ｃのいずれかに属する物理的ディスク装置２５０が保持することになる。【００８１】
階層管理機能Ｐ２０は、ページ２１１を、ディスク階層２５１Ａ，２５１Ｂ，２５１Ｃのうちいずれかひとつのディスク階層に割り当てる。ページ２１１が論理的に保持するデータは、物理的には、階層管理機能Ｐ２０がそのページに対して割り当てたディスク階層２５１に属するディスク装置２５０が保持する。【００８２】
階層管理機能Ｐ２０は、各ページ２１１に対する読み込み回数及び書き込み回数（以下、Ｉ／Ｏ負荷）を計測する。階層管理機能Ｐ２０は、定期的に、各ページ２１１を、そのＩ／Ｏ負荷に応じて、ディスク階層２５１Ａ，２５１Ｂ，２５１Ｃのいずれかに割り当て直す。このように、ページ２１１のデータ格納先を、階層間で変更することを、ページの再配置と呼ぶ。【００８３】
階層管理機能Ｐ２０は、論理ボリューム２１０内の各ページ２１１のうち、Ｉ／Ｏ負荷の高いページ２１１をディスク階層２５１Ａへと割り当て直す。階層管理機能Ｐ２０は、中程度のＩ／Ｏ負荷であるページ２１１をディスク階層２５１Ｂに割り当て直し、Ｉ／Ｏ負荷の低いページ２１１をディスク階層２５１Ｃへと割り当て直す。【００８４】
図５は、キャッシュ装置３０の詳細な構成を示した図である。キャッシュ装置３０は、例えば、通信装置３１と、ＣＰＵ３２と、主記憶装置３３と、二次記憶装置３４とを、備える。【００８５】
キャッシュ装置３０は、通信装置３１を介してＬＡＮ  ＣＮ２０に接続されており、これによりホストコンピュータ１０及び管理サーバ４０と双方向通信する。【００８６】
ＣＰＵ３２は、主記憶装置３３に保存されたキャッシュ管理機能Ｐ３０を実行する。キャッシュ装置３０は、主記憶装置３３内にキャッシュ記憶部３３０を備える。キャッシュ記憶部３３０には、ホスト１０から受信するデータ３３１が保存される。キャッシュ記憶部３３０内のキャッシュデータ３３１については、ディスク装置２５０よりも高速に、データの読出し及び書き込みを行うことができる。【００８７】
キャッシュ管理機能Ｐ３０は、ホスト１０からの書き込み要求に応じて、キャッシュデータ３３１を作成し、キャッシュ記憶部３３０に保存する。キャッシュ管理機能Ｐ３０は、ホスト１０からの読み出し要求に応じて、キャッシュデータ３３１をホスト１０へ送信する。【００８８】
キャッシュ管理機能Ｐ３０は、書き込み要求または読み出し要求を処理した時点で、読み出し／書き込みログＤ３０を更新する。読み出し／書き込みログＤ３０には、例えば、要求の対象であるキャッシュデータ３３１を特定する情報と、読み出し要求であるか書き込み要求であるかを区別する情報と、要求を正しく処理できたか否かを示す情報と、要求を受理した時刻を示す情報等とが、含まれる。【００８９】
ホスト１０は、キャッシュ装置３０と論理ボリューム２１０の両方に同一内容のデータを書き込む。キャッシュ装置３０は、論理ボリューム２１０内の或るページ２１１に書き込まれているデータと同一内容のキャッシュデータ３３１を保持する。【００９０】
通常の場合、キャッシュデータ３３１のサイズは、ページ２１１のサイズよりも小さいため、一つのページ２１１の保持する全てのデータをキャッシュ装置３０に保持させる場合は、そのキャッシュ対象のデータを複数のキャッシュデータ３３１として、キャッシュ記憶部３３０に記憶させる。但し、ページ２１１の全データをキャッシュ装置３０に保持させる必要はない。ページ２１１内のデータのうち必要なデータのみをキャッシュ装置３０に保持させればよい。【００９１】
キャッシュ管理機能Ｐ３０は、キャッシュ記憶部３３０に記憶されているキャッシュデータ３３１を管理する。例えば、キャッシュ管理機能Ｐ３０は、キャッシュ記憶部３３０の総容量と、現在保存されている各キャッシュデータ３３１の合計容量とを比較し、キャッシュ記憶部３３０の空き容量を算出する。キャッシュ管理機能Ｐ３０は、所定の契機で、所定の条件を満たすキャッシュデータ３３１を消去する。キャッシュデータ３３１を定期的にまたは不定期に消去することを、キャッシュアウトと呼ぶ。【００９２】
所定の契機としては、例えば、新たなキャッシュの作成要求があった場合、または、システム管理者により設定された所定時間が経過した場合等を挙げることができる。所定の条件の例としては、キャッシュ記憶部３３０の空き容量が所定値まで低下した場合、または、キャッシュ記憶部３３０の使用容量が所定の閾値に達した場合、一定時間以上アクセスされていないキャッシュデータが発見された場合等がある。【００９３】
ホスト１０上のアプリケーションプログラム１１は、高速に読み出す必要のある所定データを、ストレージ装置２０及びキャッシュ装置３０の双方に書き込む。アプリケーションプログラム１１は、上述のキャッシュアウトが発生するまでの間、所定データをキャッシュ装置３０から読み出す。アプリケーションプログラム１１は、ストレージ装置２０内の論理ボリューム２１０を使用しない。従って、キャッシュアウトが実行されるまでの間、所定データを含むページ２１１に対する読み出し要求は発生しない。【００９４】
このため、ストレージ装置２０の階層管理機能Ｐ２０は、所定データを含むページ２１１に対する書き込み要求の回数のみを、Ｉ／Ｏ負荷として計測することとなる。従って、キャッシュ装置３０を利用しなかった場合に比べて、所定ページのＩ／Ｏ負荷は過小に計測される。【００９５】
所定データを含むページ２１１のＩ／Ｏ負荷は、キャッシュ装置３０へ保存されなかった通常のデータを含むページ２１１に対するＩ／Ｏ負荷と比べると、低い値となる可能性が高い。従って、階層管理機能Ｐ２０は、所定データを含むページ２１１を、過小に計測されたＩ／Ｏ負荷に応じて、より性能の低い下位ディスク階層に割り当てる。【００９６】
所定データを含むページ２１１が下位のディスク階層に配置された状態で、キャッシュアウトが発生した場合、アプリケーションプログラム１１は、所定データを下位ディスク階層から読み出す必要がある。所定データの読み出しに要する時間が長くなるため、アプリケーションプログラム１１の実行性能が低下する。【００９７】
さらに、アプリケーションプログラム１１が所定データを更新する場合、低性能の下位ディスク階層にアクセスして所定データを更新する必要がある。所定データの更新に要する時間が長くなるため、アプリケーションプログラム１１の実行性能が低下する。【００９８】
所定データは、アプリケーションプログラム１１が頻繁に参照するため、アプリケーションプログラム１１の実行性能は頻繁に低下することになる。このような頻繁な性能低下は、アプリケーションプログラム１１の利用者に対する応答性能を低下させる。【００９９】
例えば、アプリケーションプログラム１１がオンラインショッピングアプリケーションの場合、サービス応答性能の低下は、商取引の機会損失を招く。アプリケーションプログラム１１の運営者にとって、サービス応答時間が長くなることは、機会損失等の観点から、好ましくない。そこで、本実施形態では、キャッシュ装置３０にも保存されている所定データについて、そのＩ／Ｏ負荷を正しく計測することにより、所定データを含むページ２１１の配置先が適切なディスク階層となるように制御する。【０１００】
図６は、管理サーバ４０に記憶されている、装置ログリポジトリＴ４０とマッピング情報リポジトリＴ４１及びページ実効負荷リポジトリＴ４２のテーブル構造を示す。【０１０１】
装置ログリポジトリＴ４０は、例えば、キャッシュ読み出しログテーブルＴ４０１と、キャッシュ書き込みログテーブルＴ４０２と、ページ読み出しログテーブルＴ４０３と、ページ書き込みログテーブルＴ４０４とを保存する。各テーブルの詳細は後述する。【０１０２】
マッピング情報リポジトリＴ４１は、例えば、ホスト−論理ボリュームマッピングテーブルＴ４１１と、キャッシュ−ページマッピングテーブルＴ４１２とを保存する。各テーブルの詳細は後述する。【０１０３】
ページ実効負荷リポジトリＴ４２は、ページ実効負荷テーブルＴ４２１を保存する。ページ実効負荷テーブルＴ４２１の詳細は後述する。【０１０４】
図７は、キャッシュ読み出しログテーブルＴ４０１のカラム構造を示した図である。キャッシュ読み出しログテーブルＴ４０１は、例えば、ホスト名カラムＣ４０１０と、キャッシュＩＤカラムＣ４０１１と、読み出し時刻カラムＣ４０１２とを備える。【０１０５】
ホスト名カラムＣ４０１０には、各ホスト１０を識別するための情報が記憶される。キャッシュＩＤカラムＣ４０１１には、ホスト１０により読み出されたキャッシュデータ３１１を識別するための情報が記憶される。キャッシュＩＤは、少なくとも計算機システム内で一意に定まる情報として生成される。キャッシュＩＤは、例えば、ＧＵＩＤ（Globally Unique Identifier）のような技術を用いて生成できる。または、キャッシュデータ３３１から得られるハッシュ値を、キャッシュＩＤとして用いてもよい。【０１０６】
読み出し時刻カラムＣ４０１２には、ホスト１０がキャッシュデータ３１１を読み出した日時が記憶される。キャッシュ読み出しログテーブルＴ４０１のレコードを参照することで、どのホスト１０が、キャッシュ装置３０内のどのキャッシュデータ３１１を何時読み出したかを調べることができる。【０１０７】
図８は、キャッシュ書き込みログテーブルＴ４０２のカラム構造を示した図である。キャッシュ書き込みログテーブルＴ４０２は、例えば、ホスト名カラムＣ４０２０と、キャッシュＩＤカラムＣ４０２１と、書き込み時刻カラムＣ４０２２とを備える。ホスト名カラムＣ４０２０は、ホスト１０を識別するための情報を記憶する。キャッシュＩＤカラムＣ４０２１は、ホスト１０により書き込まれたキャッシュデータ３１１を識別するための情報を記憶する。書き込み時刻カラムＣ４０２２は、ホスト１０によりキャッシュデータ３１１が書き込まれた日時を記憶する。キャッシュ書き込みログテーブルＴ４０２のレコードを参照することで、どのホストが、キャッシュ装置３０内のどのキャッシュデータ３１１を何時書き込んだかを調べることができる。【０１０８】
図９は、ページ読み出しログテーブルＴ４０３のカラム構造を示す。ページ読み出しログテーブルＴ４０３は、例えば、ページＩＤカラムＣ４０３０と、読み出し時刻カラムＣ４０３１とを備える。ページＩＤカラムＣ４０３０は、ページ２１１を識別するための情報を記憶する。読み出し時刻カラムＣ４０３１は、ページ２１１が読み出された日時を記憶する。ページ読み出しログテーブルＴ４０３のレコードを参照することで、ストレージ装置２０内のどのページ２１１が何時読み出されたかを調べることができる。【０１０９】
図１０は、ページ書き込みログテーブルＴ４０４のカラム構造を示す。ページ書き込みログテーブルＴ４０４は、例えば、論理ボリュームＩＤカラムＣ４０４０と、ページＩＤカラムＣ４０４１と、書き込み時刻カラムＣ４０４２とを備える。論理ボリュームＩＤカラムＣ４０４０は、論理ボリューム２１０を識別するための情報を記憶する。図中では、論理ボリュームをボリュームと略記している。ページＩＤカラムＣ４０４１は、論理ボリューム２１０内のページ２１１を識別するための情報を記憶する。書き込み時刻カラムＣ４０４２は、ページ２１１にデータが書き込まれた日時を記憶する。ページ書き込みログテーブルＴ４０４のレコードを参照することで、どの論理ボリューム２１０内のどのページ２１１に対して何時データが書き込まれたかを調べることができる。【０１１０】
図１１は、ホスト−論理ボリュームマッピングテーブルＴ４１１のカラム構造を示した図である。ホスト−論理ボリュームマッピングテーブルＴ４１１は、例えば、ホスト名カラムＣ４１１０と、論理ボリュームＩＤカラムＣ４１１１とを備える。ホスト名カラムＣ４１１０は、ホスト１０を識別するための情報を記憶する。論理ボリュームＩＤカラムＣ４１１１は、ホスト１０により使用されている論理ボリューム２１０を識別するための情報が記憶される。ホスト−論理ボリュームマッピングテーブルＴ４１１のレコードを参照することで、どのホスト１０がどの論理ボリューム２１０を使用しているかを調べることができる。【０１１１】
図１２は、キャッシュ−ページマッピングテーブルＴ４１２のカラム構造を示した図である。キャッシュ−ページマッピングテーブルＴ４１２は、例えば、キャッシュＩＤカラムＣ４１２０と、ページＩＤカラムＣ４１２１とを備える。キャッシュＩＤカラムＣ４１２０は、キャッシュデータ３１１を識別するための情報を記憶する。ページＩＤカラムＣ４１２１は、ページ２１１を識別するための情報を記憶する。キャッシュ−ページマッピングテーブルＴ４１２のレコードを参照することで、キャッシュ装置３０内のキャッシュデータ３１１と同一内容のデータが、ストレージ装置２０内のどのページ２１１に保存されているかを調べることができる。つまり、テーブルＴ４１２は、キャッシュデータ３１１とページ２１１との対応関係を管理する。【０１１２】
図１３は、ページ実効負荷テーブルＴ４２１のカラム構造を示した図である。ページ実効負荷テーブルＴ４２１は、例えば、ページＩＤカラムＣ４２１０と、実効総Ｉ／Ｏ数カラムＣ４２１１とを備える。ページＩＤカラムＣ４２１０は、ページ２１１を識別するための情報を記憶する。実効総Ｉ／Ｏ数カラムＣ４２１１は、ページ２１１に実際にアクセスした回数（読み出し回数と書き込み回数の和）を記憶する。【０１１３】
ページ実効負荷テーブルＴ４２１のレコードを参照することで、ページ２１１に対するＩ／Ｏ数と、そのページ２１１と同一内容のデータを保持するキャッシュデータ３１１に対するＩ／Ｏ数とを足し合わせた値である、実効総Ｉ／Ｏ数を調べることができる。つまり、テーブルＴ４２１は、キャッシュ装置３０から読み出されている回数を考慮した、ページの総Ｉ／Ｏ回数を管理する。【０１１４】
図１４は、管理サーバ４０の装置ログ取得部Ｐ４０による処理手順を示したフローチャートである。以下、ステップを「Ｓ」と略記する場合がある。【０１１５】
Ｓ１０とＳ１１の組、Ｓ１２とＳ１３の組、Ｓ１４とＳ１５の組、及びＳ１６とＳ１７の組の時間的前後関係については、順番を入れ替えることができる。例えば、Ｓ１６及びＳ１７の組を最初に実行し、次にＳ１４とＳ１５の組を実行し、次に、Ｓ１２とＳ１３の組を実行し、最後にＳ１０とＳ１１の組を実行してもよい。【０１１６】
装置ログ取得部Ｐ４０は、管理サーバ４０がストレージ装置２０内のディスク装置群の使用状況を最適化する上で必要な情報を、ストレージ装置２０及びキャッシュ記憶部３３０から取得する。つまり、装置ログ取得部Ｐ４０は、管理サーバ４０からストレージ装置２０に、ページ再配置のための適切な指示が出せるように、必要な情報を収集する。図１４に示す装置ログ取得部Ｐ４０の処理手順は、定期的に実行されてもよいし、ユーザより指定される任意の契機で実行指示を受け付けてもよい。【０１１７】
装置ログ取得部Ｐ４０は、ストレージ装置２０内の読み出し／書き込みログＤ２０を解析し、各ページ２１１の読み出し要求に関する情報を取得する（Ｓ１０）。続いて、装置ログ取得部Ｐ４０は、Ｓ１０にて取得した情報を、ページ読み出しログテーブルＴ４０３に格納する（Ｓ１１）。【０１１８】
装置ログ取得部Ｐ４０は、ストレージ装置２０内の読み出し／書き込みログＤ２０を解析し、各ページ２１１の書き込み要求についての情報を取得する（Ｓ１２）。続いて、装置ログ取得部Ｐ４０は、Ｓ１２において取得した情報を、ページ書き込みログテーブルＴ４０４に格納する（Ｓ１３）。【０１１９】
装置ログ取得部Ｐ４０は、キャッシュ記憶部３３０内の読み出し／書き込みログＤ３０を解析し、キャッシュデータ３３１の読み出し要求に関する情報を取得する（Ｓ１４）。続いて、装置ログ取得部Ｐ４０は、Ｓ１４で取得した情報を、キャッシュ読み出しログテーブルＴ４０１に格納する（Ｓ１５）。【０１２０】
装置ログ取得部Ｐ４０は、キャッシュ記憶部３３０内の読み出し／書き込みログＤ３０を解析し、キャッシュデータ３３１の書き込み要求に関する情報を取得する（Ｓ１６）。続いて、装置ログ取得部Ｐ４０は、Ｓ１６において取得した情報を、キャッシュ書き込みログテーブルＴ４０２に格納する（Ｓ１７）。【０１２１】
本実施例では、装置ログ取得部Ｐ４０は、ストレージ装置２０及びキャッシュ装置３０が出力するログＤ２０及びＤ３０から必要な情報を取得している。これに代えて、ストレージ装置２０及びキャッシュ装置３０に、情報を管理サーバ４０に送信するための専用ソフトウェアを設ける構成でもよい。それら専用ソフトウェアは、読み出し／書き込みログＤ２０及び読み出し／書き込みログＤ３０の持つ情報に相当する情報を自動的に取得して、管理サーバ４０に送信する。【０１２２】
図１５は、管理サーバ４０のキャッシュ−ページマッピング部Ｐ４１の処理手順を示したフローチャートである。キャッシュ−ページマッピング部Ｐ４１は、キャッシュ記憶部３３０に保存されたキャッシュデータ３３１と同一のデータが、ストレージ装置２０内のどのページ２１１に保存されているかを特定する。キャッシュ−ページマッピング部Ｐ４１によるキャッシュ−ページマッピング処理は、装置ログ取得処理部Ｐ４０による装置ログ取得処理の後に実行される。【０１２３】
キャッシュ−ページマッピング部Ｐ４１は、キャッシュ書き込みログテーブルＴ４０２の各レコードについて、Ｓ２１、Ｓ２２、Ｓ２３を実行する（Ｓ２０）。【０１２４】
キャッシュ−ページマッピング部Ｐ４１は、キャッシュ書き込みログテーブルＴ４０２のレコードに記載のキャッシュデータ３３１が、既にいずれかのページ２１１とマッピングされているか検索する（Ｓ２１）。つまり、キャッシュ−ページマッピング部Ｐ４１は、図８に示すキャッシュ書き込みログテーブルＴ４０２のカラムＣ４０２１に記憶されているキャッシュＩＤを検索キーとして、図１２に示すキャッシュ−ページマッピングテーブルＴ４１２のカラムＣ４１２０を検索する。【０１２５】
キャッシュ−ページマッピング部Ｐ４１は、対象キャッシュデータ３３１に関するレコードが、キャッシュ−ページマッピングテーブルＴ４１２に存在するか否かを判定する（Ｓ２２）。即ち、キャッシュ−ページマッピング部Ｐ４１は、キャッシュ書き込みログテーブルＴ４０２のレコードに記載のキャッシュデータ（対象キャッシュデータ）が、キャッシュ−ページマッピングテーブルＴ４１２に登録されているか否かを判定する。【０１２６】
対象キャッシュデータ３３１がいずれかのページ２１１にマッピングされている場合（Ｓ２２：ＹＥＳ）、本処理は終了する。これに対し、対象キャッシュデータ３３１がいずれのページ２１１にもマッピングされていない場合（Ｓ２２：ＮＯ）、キャッシュ−ページマッピング部Ｐ４１は、キャッシュデータ３３１とページ２１１とのマッピングを新たに作成して保存するための処理を実行する（Ｓ２３）。【０１２７】
図１６は、図１５中にＳ２１で示すキャッシュ−ページマップ検索処理の詳細な処理手順を示すフローチャートである。【０１２８】
キャッシュ−ページマッピング部Ｐ４１は、キャッシュ−ページマッピングテーブルＴ４１２の各レコードについて、Ｓ３１及びＳ３２を実行する（Ｓ３０）。【０１２９】
キャッシュ−ページマッピング部Ｐ４１は、対象キャッシュデータ（キャッシュ書き込みログテーブルＴ４０２に登録されたキャッシュデータ）が、キャッシュ−ページマッピングテーブルＴ４１２に登録されているか否かを判定する（Ｓ３１）。【０１３０】
対象キャッシュデータがキャッシュ−ページマッピングテーブルＴ４１２に登録されている場合（Ｓ３１：ＹＥＳ）、対象キャッシュデータが登録されているレコードは、呼出元である図１５の処理に返信される（Ｓ３２）。【０１３１】
対象キャッシュデータがキャッシュ−ページマッピングテーブルＴ４１２に登録されていない場合（Ｓ３１：ＮＯ）、次のレコードに移る。【０１３２】
図１７は、図１５中にＳ２３で示すキャッシュ−ページマップ作成及び追加処理の詳細な処理手順を示すフローチャートである。【０１３３】
キャッシュ−ページマップ作成及び追加処理では、キャッシュデータとページとの対応関係を示すマップを作成する。ここで、図１８（ａ）を参照する。図１８（ａ）は、キャッシュデータ３３１の更新タイミングＴｃ１，Ｔｃ２と、ページ２１１の更新タイミングＴｐとに基づいて、キャッシュデータ３３１とページ２１１との対応関係を特定する方法を示す。図１８（ａ）では、アプリケーションプログラム１１は、先にページ２１１内のデータを更新し、次にキャッシュデータ３３１を更新する場合を前提としている。【０１３４】
本処理では、処理対象のキャッシュデータ（以下、対象キャッシュデータ）に関して、最新の書き込み時刻Ｔｃ２と、前回の書き込み時刻Ｔｃ１とを検出する。さらに、本処理では、対象キャッシュデータの最新書き込み時刻Ｔｃ２と前回の書き込み時刻Ｔｃ１の間の所定時間Ｔｃ１２内に更新されたページを検出し、そのページの更新時刻（書き込み時刻）Ｔｐを検出する。本処理では、対象キャッシュデータを更新したホスト１０と、ページを更新したホスト１０とが同一であることを確認した場合、所定時間Ｔｃ１２内に更新されたページを、対象キャッシュデータに対応付けて新たなマップを作成し、そのマップをキャッシュ−ページマッピングテーブルＴ４１２に保存する。【０１３５】
アプリケーションプログラム１１は、ページ２１１のデータを先に更新した後、速やかにキャッシュデータ３３１を更新すると考えられる。【０１３６】
ほぼ全てのアプリケーションプログラム１１は、キャッシュデータ３３１の更新の際、データの一貫性を担保するために、キャッシュとページとの双方に対しほぼ同時に書き込みを行うためである。また、一般的には、まず最初にページ２１１に書き込み、その次にキャッシュデータ３１１にページ２１１に書き込んだ内容と同一内容を書き込むと考えられる。【０１３７】
従って、ページ２１１の書き込み時刻Ｔｐと、そのページ２１１に対応するキャッシュデータ３１１の書き込み時刻Ｔｃ２との時間差ｄＴ１は、比較的短いと考えられる。しかし、その時間差ｄＴ１は、例えば、通信ネットワークＣＮ１０，ＣＮ２０の状況、ホスト１０の負荷状況、ストレージ装置２０及びキャッシュ装置３０の負荷状況等の原因により種々変動し、一定ではないと考えられる。【０１３８】
そこで、本実施例では、最新のキャッシュ書き込み時刻Ｔｃ２から前回のキャッシュ書き込み時刻Ｔｃ１までの所定時間Ｔｃ１２を、対応関係を探索するための期間として利用する。本実施例では、所定時間Ｔｃ１２内に更新されたページ２１１であって、かつ、キャッシュデータ３３１の更新元と同一のホスト１０により構成されたページ２１１を、対象キャッシュデータ３３１に対応するページであると判定する。【０１３９】
図１７に戻る。キャッシュ−ページマッピング部Ｐ４１は、対象キャッシュデータ３３１についての前回の書き込み時刻Ｔｃ１を取得する（Ｓ４０）。キャッシュ−ページマッピング部Ｐ４１は、対象キャッシュデータ３３１について、最新の書き込み時刻Ｔｃ２よりも前の書き込み時刻Ｔｃ１を取得できたか否かを判定する（Ｓ４１）。【０１４０】
対象キャッシュデータ３３１の前回の書き込み時刻Ｔｃ１を取得できなかった場合（Ｓ４１：ＮＯ）、本処理は終了する。例えば、キャッシュ装置３０に初めて書き込まれたデータの場合、前回の書き込みは存在しない。また、前回の書き込み時刻Ｔｃ１が随分昔である場合、その書き込みログがログＤ３０から消えている可能性もある。その場合も、前回の書き込み時刻Ｔｃ２を取得することはできない。【０１４１】
対象キャッシュデータ３３１の前回の書き込み時刻Ｔｃ１を取得できた場合（Ｓ４１：ＹＥＳ）、キャッシュ−ページマッピング部Ｐ４１は、対象キャッシュデータ３３１に書き込んだホスト１０が使用している論理ボリュームのＩＤを検索する（Ｓ４２）。【０１４２】
ページ書き込みログテーブルＴ４０４の各レコードについて、Ｓ４４、Ｓ４５、Ｓ４６がそれぞれ実行される。【０１４３】
キャッシュ−ページマッピング部Ｐ４１は、ページ２１１への書き込み時刻Ｔｐが、対象キャッシュデータ３３１の最新書き込み時刻Ｔｃ２から前回の書き込み時刻Ｔｃ１までの所定時間Ｔｃ１２内に有るか否かを判定する（Ｓ４４）。【０１４４】
ページ２１１の書き込み時刻Ｔｐが所定時間Ｔｃ１２内に存在しない場合（Ｓ４４：ＮＯ）、次のレコードに移る。ページ２１１の書き込み時刻Ｔｐが所定時間Ｔｃ１２内に存在する場合（Ｓ４４：ＹＥＳ）、キャッシュ−ページマッピング部Ｐ４１は、ページ２１１の属する論理ボリュームのＩＤと、Ｓ４２で検索されたボリュームＩＤとが一致するか否かを判定する（Ｓ４５）。【０１４５】
Ｓ４５では、対象キャッシュデータ３３１を更新したホスト１０の使用する論理ボリュームと、ホスト１０により更新されたページ２１１の属する論理ボリュームとが同一であるか否かを判定する。つまり、キャッシュ−ページマッピング部Ｐ４１は、対象キャッシュデータ３３１の書き込み元であるホスト１０とページ２１１の書き込み元であるホスト１０とが同一であるか否かを判定する。【０１４６】
対象キャッシュデータ３３１を更新したホスト１０の使用する論理ボリュームのＩＤと、ホスト１０により更新されたページ２１１の属する論理ボリュームのＩＤとが不一致の場合（Ｓ４５：ＮＯ）、次のレコードに移る。【０１４７】
対象キャッシュデータ３３１を更新したホスト１０の使用する論理ボリュームのＩＤと、ホスト１０により更新されたページ２１１の属する論理ボリュームのＩＤとが一致する場合（Ｓ４５：ＹＥＳ）、キャッシュ−ページマッピング部Ｐ４１は、キャッシュ−ページマッピングテーブルＴ４１２に新たなレコードを追加する（Ｓ４６）。【０１４８】
キャッシュ−ページマッピング部Ｐ４１は、対象キャッシュデータ３３１と、対象キャッシュデータ３３１と同一のホスト１０により更新されたページ２２１との組を、キャッシュ−ページマッピングテーブルＴ４１２に登録する。【０１４９】
このように、同一のホスト１０によって所定時間Ｔｃ１２内にページ２１１及びキャッシュデータ３３１が更新された場合、更新タイミングに基づいて、ページ２１１とキャッシュデータ３３１とを対応付けることができる。【０１５０】
なお、図１８（ｂ）に示すように、アプリケーションプログラム１１が先にキャッシュデータ３３１を更新し、次にページ２１１内のデータを更新する場合も考えられる。その場合に、ページ２１１とキャッシュデータ３３１とを対応付ける方法は、後述の実施例で述べる。【０１５１】
図１９は、図１７中にＳ４０で示す前回のキャッシュ書き込み時刻を取得する処理のフローチャートである。キャッシュ書き込みログテーブルＴ４０２の各レコードについて、Ｓ５１、Ｓ５２、Ｓ５３、Ｓ５４、Ｓ５５が実行される。以下、処理対象となるレコード（キャッシュ書き込みログテーブルＴ４０２のレコード）を、対象レコードと呼ぶ。【０１５２】
キャッシュ−ページマッピング部Ｐ４１は、検索対象のキャッシュデータ３３１のキャッシュＩＤが対象レコードに記録されているキャッシュＩＤと等しいか否か判定する（Ｓ５１）。検索対象のキャッシュデータ３３１のキャッシュＩＤが対象レコード内のキャッシュＩＤと不一致の場合（Ｓ５１：ＮＯ）、次のレコードに移る。【０１５３】
検索対象のキャッシュデータ３３１のキャッシュＩＤが対象レコード内のキャッシュＩＤと一致する場合（Ｓ５１：ＹＥＳ）、キャッシュ−ページマッピング部Ｐ４１は、対象レコードの書き込み時刻が、検索対象のキャッシュデータ３３１の書き込み時刻よりも前であるか否かを判定する（Ｓ５２）。【０１５４】
対象レコードの書き込み時刻が検索対象のキャッシュデータ３３１の書き込み時刻（Ｔｃ２）よりも前に発生していない場合（Ｓ５２：ＮＯ）、次のレコードに移る。【０１５５】
対象レコードの書き込み時刻が検索対象のキャッシュデータ３３１の書き込み時刻（Ｔｃ２）よりも前に発生している場合（Ｓ５２：ＹＥＳ）、キャッシュ−ページマッピング部Ｐ４１は、前回のキャッシュ書き込み時刻の候補が既に一つ以上発見されているか否かを判定する（Ｓ５３）。候補が未だ一つも見つかっていない場合（Ｓ５３：ＮＯ）、Ｓ５４をスキップしてＳ５５に移り、対象レコード内の書き込み時刻を前回のキャッシュ書き込み時刻の候補として保存する。【０１５６】
前回のキャッシュ書き込み時刻の候補が発見されている場合（Ｓ５３：ＹＥＳ）、キャッシュ−ページマッピング部Ｐ４１は、対象レコード内の書き込み時刻の方が、先に発見されている書き込み時刻よりも後であるか否かを判定する（Ｓ５４）。つまり、本実施例では、前回のキャッシュ書き込み時刻が複数検出される場合は、より新しい方の書き込み時刻を採用する。【０１５７】
対象レコード内の書き込み時刻の方が、先に発見されている書き込み時刻よりも後であると判定された場合（Ｓ５４：ＹＥＳ）、キャッシュ−ページマッピング部Ｐ４１は、対象レコード内の書き込み時刻を、前回のキャッシュ書き込み時刻の候補として記憶する（Ｓ５５）。【０１５８】
対象レコード内の書き込み時刻の方が、先に発見されている書き込み時刻よりも後ではない場合（Ｓ５４：ＮＯ）、Ｓ５５をスキップし、次のレコードに移る。【０１５９】
キャッシュ書き込みログテーブルＴ４０２の全てのレコードについて処理すると、本処理は終了し、図１７の処理に戻る。【０１６０】
図２０は、図１７中にＳ４２として示す論理ボリュームＩＤ検索処理のフローチャートである。キャッシュ−ページマッピング部Ｐ４１は、ホスト−論理ボリュームマッピングテーブルＴ４１１の各レコードについて、Ｓ６１及びＳ６２を実行する（Ｓ６０）。ホスト−論理ボリュームマッピングテーブルＴ４１１の各レコードのうち、処理対象のレコードを対象レコードと呼ぶ。【０１６１】
キャッシュ−ページマッピング部Ｐ４１は、対象レコードのホスト名（Ｃ４１１０）と対象キャッシュデータに対応するホスト名とが一致するか否かを判定する（Ｓ６１）。対象キャッシュデータに対応するホスト名とは、キャッシュ書き込みログテーブルＴ４０２のホスト名カラムＣ４０２０に記載のホスト名のうち、対象キャッシュデータに対応するレコードに記載されたホスト名である。【０１６２】
両方のホスト名が一致しない場合（Ｓ６１：ＮＯ）、次のレコードに移る。これに対し、両方のホスト名が一致する場合（Ｓ６１：ＹＥＳ）、キャッシュ−ページマッピング部Ｐ４１は、対象レコード内の論理ボリュームＩＤの値を検索結果とし（Ｓ６２）、図１７の処理に戻る。【０１６３】
図２１は、管理サーバ４０のページ実効負荷算出部Ｐ４２の処理手順を示すフローチャートである。Ｓ７１、Ｓ７２、Ｓ７３の各ステップは、必ずしもこの順序で実行されなくともよい。【０１６４】
ページ実効負荷算出処理は、キャッシュ−ページマッピング処理（図１５）の後に、実行される。ページ実効負荷算出部Ｐ４２は、装置ログ取得部Ｐ４０の取得した情報と、キャッシュ−ページマッピング処理部Ｐ４１の生成したマッピングとから、各ページに対して、ページ再配置の基準とすべき実効負荷を算出する。【０１６５】
ページ実効負荷算出部Ｐ４２は、前回のページ再配置で用いた、ページ実効負荷テーブルＴ４２１の内容を初期化する（Ｓ７０）。【０１６６】
ページ実効負荷算出部Ｐ４２は、ページ２１１への書き込み回数を加算する処理を実行する（Ｓ７１）。ページ書き込み回数を加算する処理では、前回のページ再配置時刻から現在時刻までに生じた、ストレージ装置２０内の各ページ２１１に対する書き込み要求の回数を合算し、ページ実効負荷テーブルＴ４２１に保存する。ここで、ページ再配置時刻とは、ページ再配置指示処理を前回実行した時刻を意味する。【０１６７】
ページ実効負荷算出部Ｐ４２は、前回のページ再配置時刻から現在時刻までに生じた、ストレージ装置２０内の各ページ２１１に対する読み出し要求の回数を合算し、ページ実効負荷テーブルＴ４２１を更新する（Ｓ７２）。【０１６８】
ページ実効負荷算出部Ｐ４２、前回のページ再配置時刻から現時点までに生じた、ページに対応するキャッシュ装置３０内の各キャッシュデータ３３１に対する読み出し要求回数を合算し、ページ実効負荷テーブルＴ４２１を更新する（Ｓ７３）。【０１６９】
図２２は、図２１中にＳ７１で示されるページ書き込み回数加算処理のフローチャートである。【０１７０】
ページ実効負荷算出部Ｐ４２は、Ｓ８１、Ｓ８２、Ｓ８３を、ページ書き込みログテーブルＴ４０４の各レコードについて実行する（Ｓ８０）。ページ書き込みログテーブルＴ４０４の各レコードのうち処理対象のレコードを、対象レコードと呼ぶ。【０１７１】
ページ実効負荷算出部Ｐ４２は、対象レコードに含まれるページＩＤが、ページ実効負荷テーブルＴ４２１に既に登録されているか否かを判定する（Ｓ８１）。【０１７２】
対象レコード内のページＩＤがページ実効負荷テーブルＴ４２１に登録されていない場合（Ｓ８１：ＮＯ）、ページ実効負荷算出部Ｐ４２は、対象レコード内のページＩＤを含む新レコードを作成し、その新レコードをページ実効負荷テーブルＴ４２１に追加する（Ｓ８２）。なお、新レコード内の実行総Ｉ／Ｏ数（Ｃ４２１１）の初期値には、０が設定される。【０１７３】
対象レコード内のページＩＤがページ実効負荷テーブルＴ４２１に登録されている場合（Ｓ８１：ＹＥＳ）、ページ実効負荷算出部Ｐ４２は、Ｓ８２をスキップする。【０１７４】
ページ実効負荷算出部Ｐ４２は、対象レコード内のページＩＤと同一のページＩＤを有する、ページ実効負荷テーブルＴ４２１のレコードにおいて、実効総Ｉ／Ｏ数の値を１つ増加させる（Ｓ８３）。【０１７５】
本実施例では、上述の通り、ページ実効負荷テーブルＴ４２１のレコードを逐次追加している。これに代えて、ページ実効負荷テーブルＴ４２１の全レコードについて実効総Ｉ／Ｏ数を更新した後で、テーブルＴ４２１に新レコードを追加してもよい。【０１７６】
図２３は、図２１中にＳ７２で示されるページ読み出し回数加算処理Ｓ７２のフローチャートである。【０１７７】
ページ実効負荷算出部Ｐ４２は、Ｓ９１、Ｓ９２、Ｓ９３を、ページ読み出しログテーブルＴ４０３の各レコードについて実行する（Ｓ９０）。以下、テーブルＴ４０３の各レコードのうち処理対象のレコードを、対象レコードと呼ぶ。【０１７８】
ページ実効負荷算出部Ｐ４２は、対象レコードに含まれるページＩＤが、ページ実効負荷テーブルＴ４２１に既に登録されているか否かを判定する（Ｓ９１）。【０１７９】
対象レコード内のページＩＤがページ実効負荷テーブルＴ４２１に登録されていない場合（Ｓ９１：ＮＯ）、ページ実効負荷算出部Ｐ４２は、対象レコード内のページＩＤを含む新レコードを作成し、その新レコードをページ実効負荷テーブルＴ４２１に追加する（Ｓ９２）。なお、新レコード内の実行総Ｉ／Ｏ数（Ｃ４２１１）の初期値には、０が設定される。【０１８０】
対象レコード内のページＩＤがページ実効負荷テーブルＴ４２１に登録されている場合（Ｓ９１：ＹＥＳ）、ページ実効負荷算出部Ｐ４２は、Ｓ９２をスキップする。【０１８１】
ページ実効負荷算出部Ｐ４２は、対象レコード内のページＩＤと同一のページＩＤを有する、ページ実効負荷テーブルＴ４２１のレコードにおいて、実効総Ｉ／Ｏ数の値を１つ増加させる（Ｓ８３）。【０１８２】
上記と同様に、ページ実効負荷テーブルＴ４２１の全レコードについて実効総Ｉ／Ｏ数を更新した後で、テーブルＴ４２１に新レコードを追加してもよい。【０１８３】
図２４は、図２１中にＳ７３で示されるページ書き込み回数加算処理Ｓ７３のフローチャートである。【０１８４】
ページ実効負荷算出部Ｐ４２は、後述のＳ１０１、Ｓ１０２、Ｓ１０３、Ｓ１０４を、キャッシュ−ページマッピングテーブルＴ４１２の各レコードについて、実行する（Ｓ１００）。以下、キャッシュ−ページマッピングテーブルＴ４１２の各レコードのうち処理対象のレコードを、対象レコードと呼ぶ。【０１８５】
ページ実効負荷算出部Ｐ４２は、対象レコードのキャッシュＩＤで特定されるキャッシュデータ３３１がキャッシュ装置３０から読み出された回数を算出する（Ｓ１０１）。ページ実効負荷算出部Ｐ４２は、対象レコード内のキャッシュＩＤがキャッシュ読み出しログテーブルＴ４０１において何回登場しているかを調べることで、キャッシュデータが読み出された回数を算出できる。【０１８６】
ページ実効負荷算出部Ｐ４２は、対象レコード内のページＩＤと同一のページＩＤを有するレコードが、ページ実効負荷テーブルＴ４２１に既に存在するか否か判定する（Ｓ１０２）。【０１８７】
対象レコード内のページＩＤと同一のページＩＤを有するレコードが、ページ実効負荷テーブルＴ４２１に存在しない場合（Ｓ１０２：ＮＯ）、ページ実効負荷算出部Ｐ４２は、新レコードを作成し、それをテーブルＴ４２１に追加する（Ｓ１０３）。新レコードは、対象レコード内のページＩＤと同一のページＩＤを有する。新レコードの実効総Ｉ／Ｏ数カラムには、初期値として０が設定される。【０１８８】
ページ実効負荷算出部Ｐ４２は、対象レコード内のページＩＤと同一のページＩＤを有する、ページ実効負荷テーブルＴ４２１のレコードについて、実効総Ｉ／Ｏ数Ｃ４２１１の値にＳ１０１で算出された値を加算する（Ｓ１０４）。【０１８９】
上記と同様に、ページ実効負荷テーブルＴ４２１の全レコードについて実効総Ｉ／Ｏ数を更新した後で、テーブルＴ４２１に新レコードを追加してもよい。【０１９０】
図２５は、管理サーバ４０のページ再配置指示部Ｐ４３の処理手順を示すフローチャートである。【０１９１】
ページ再配置指示部Ｐ４３は、ページ実効負荷テーブルＴ４２１の各レコードについて、後述のＳ１１１を実行する（Ｓ１１０）。テーブルＴ４２１の各レコードのうち処理対象のレコードを、対象レコードと呼ぶ。【０１９２】
ページ再配置指示部Ｐ４３は、対象レコードに示されるページ２１１を、その実効総Ｉ／Ｏ数の値に基づいて再配置するよう、ストレージ装置２０の階層管理機能Ｐ２０に指示する。【０１９３】
図２６は、管理サーバ４０がディスプレイ４３上に表示する、キャッシュ装置設定画面Ｇ１０の画面例である。設定画面Ｇ１０は、キャッシュ装置３０を管理サーバ４０で管理するための情報を設定する画面である。キャッシュ装置設定画面Ｇ１０は、例えば、装置種別入力欄ＧＰ１１と、ＩＰアドレス入力欄ＧＰ１２と、ログ取得間隔入力欄ＧＰ１３を備える。【０１９４】
装置種別入力欄ＧＰ１１は、管理サーバ４０による管理対象のキャッシュ装置３０の種別を入力または選択するため欄である。ＩＰアドレス入力欄ＧＰ１２は、キャッシュ装置３０のＩＰアドレスを入力するための欄である。ログ取得間隔入力欄ＧＰ１３は、装置ログ取得処理を実行させる時間間隔を入力するための欄である。なお、キャッシュ装置の種類が予め設定されているような場合、装置種別入力欄ＧＰ１１は廃止できる。【０１９５】
図２７は、管理サーバ４０がディスプレイ４３上に表示する、ホスト−論理ボリュームマッピング設定画面Ｇ２０の画面例である。設定画面Ｇ２０は、ホスト１０により使用される論理ボリューム２１０を設定するための画面である。【０１９６】
ホスト−論理ボリュームマッピング設定画面Ｇ２０は、例えば、ホスト名入力欄ＧＰ２１と、ＩＰアドレス入力欄ＧＰ２２と、論理ボリュームＩＤ入力欄ＧＰ２３とを備えることができる。ホスト名入力欄ＧＰ２１は、ホスト１０を特定するためのホスト名を入力する欄である。ＩＰアドレス入力欄ＧＰ２２は、ホスト１０のＩＰアドレスを入力する欄である。論理ボリュームＩＤ入力欄ＧＰ２３は、ホスト１０の使用する論理ボリュームのボリュームＩＤの値を入力する欄である。【０１９７】
本実施例は、上述のように構成されるため、以下の効果を奏する。本実施例では、ホスト１０がストレージ装置２０及びキャッシュ装置３０の両方を使用する計算機システムにおいて、ページ２１１のデータの使用状況を正しく評価することができる。【０１９８】
本実施例では、キャッシュ装置３０からデータが読み出される場合でも、そのデータの実際のＩ／Ｏ数に応じて、そのデータを含むページを適切なディスク階層２５１に配置させることができる。【０１９９】
従って、本実施形態では、キャッシュデータ３３１がキャッシュ装置３０から消去された場合でも、アプリケーションプログラム１１は、目的とするデータをストレージ装置２０内から比較的速やかに読み出すことができる。このため、キャッシュデータ３３１がキャッシュ装置３０から消去された場合でも、アプリケーションプログラム１１の処理性能が低下するのを抑制できる。【０２００】
本実施例では、管理サーバ４０が、ストレージ装置２０でのデータ利用状況（Ｉ／ＯログＤ２０）とキャッシュ装置３０でのデータ利用状況（Ｉ／ＯログＤ３０）とを取得し、各ページ２１１の実際の使用状況（実効総Ｉ／Ｏ数）を計測する。従って、ストレージ装置２０及びキャッシュ装置３０は、互いに相手を意識する必要が無く、その構成をあまり変更する必要がない。
【実施例２】
【０２０１】
図２８−図３２を参照して第２実施例を説明する。本実施例を含む以下の各実施例は、第１実施例の変形例に相当する。従って、以下の各実施例では、第１実施例との相違を中心に説明する。本実施例では、ページ２１１とキャッシュデータ３３１の対応関係の判定精度を高めている。【０２０２】
第１実施例のキャッシュ−ページマッピング部Ｐ４１は、キャッシュデータ３３１とページ２１１の対応関係の判定を間違う可能性がある。ストレージ装置２０とキャッシュ装置３０とは、ＳＡＮ  ＣＮ１０とＬＡＮ  ＣＮ２０という異なる通信ネットワークに属している。従って、例えば、各通信ネットワークの負荷状況によっては、ページの書き込み時刻Ｔｐ及びキャッシュデータの書き込み時刻Ｔｃが変動し、本来の前後関係とは逆の結果を示す場合があり得る。この結果、ページ２１１の更新後にキャッシュデータ３３１が更新されたにもかかわらず、キャッシュデータ３３１の更新の方がページの更新よりも先に行われたかのようにログに記録される可能性がある。【０２０３】
そこで、本実施例では、キャッシュ装置３０内のキャッシュデータ３３１と、ストレージ装置２０内のページ２１１との対応関係を、過去の統計情報に基づいて推定する。これにより、本実施例では、通信遅延等による変動の影響を抑制し、対応関係の推定精度を高める。【０２０４】
図２８は、マッピング情報リポジトリＴ４１Ａの構成図である。本実施例のマッピング情報リポジトリＴ４１Ａは、第１実施例で述べたマッピング情報リポジトリＴ４１の構成に加えて、キャッシュ−ページマッピング統計テーブルＴ４１３を備える。キャッシュ−ページマッピング統計テーブルＴ４１３は、後述の通り、ページ２１１とキャッシュデータ３３１の対応関係の過去の推定結果を全て保存している。キャッシュ−ページマッピング統計テーブルＴ４１３は、対応関係を推定するための判断基準として使用される。【０２０５】
図２９は、キャッシュ−ページマッピング統計テーブルＴ４１３の構成を示す。キャッシュ−ページマッピング統計テーブルＴ４１３は、上述の通り、キャッシュデータ３３１とページ２１１との対応関係の統計データを管理する。【０２０６】
キャッシュ−ページマッピング統計テーブルＴ４１３は、例えば、キャッシュＩＤカラムＣ４１３０と、ページＩＤカラムＣ４１３１と、マッピング回数カラムＣ４１３２とを備える。キャッシュＩＤカラムＣ４１３０は、キャッシュデータ３３１を識別するためのキャッシュＩＤを記憶する。ページＩＤカラムＣ４１３１は、ページ２１１を識別するためのページＩＤを記憶する。マッピング回数カラムＣ４１３２は、カラムＣ４１３０で特定されるキャッシュデータ３３１とカラムＣ４１３１で特定されるページ２１１とが、判定された回数を記憶する。なお、マッピング回数の値は、例えば、管理サーバ４０の電源投入時等にリセットしてもよいし、リセットせずに保持してもよい。【０２０７】
図３０は、本実施例のキャッシュ−ページマッピング処理のフローチャートである。本処理は、図１５に示す処理に比べて、Ｓ２１及びＳ２２が廃止されている。本実施例では、キャッシュデータとページの対応関係の判定結果を全て統計情報としてテーブルＴ４１３に記録するため、第１実施例のように重複した対応関係を排除する必要はない。従って、図３０では、Ｓ２１及びＳ２２が除かれている。なお、本実施例では、第１実施例に比べて、キャッシュ−ページマップ作成及び追加処理が改善されているため、改善された処理に符号Ｓ２３Ａが与えられている。【０２０８】
図３１は、本実施例によるキャッシュ−ページマップ作成及び追加処理Ｓ２３Ａのフローチャートである。本フローチャートは、図１７に示すフローチャートに比べて、Ｓ４６がＳ４７に置き換えられている点で相違する。Ｓ４７では、過去の推定結果（判定結果）の統計に基づいて、今回のページ−キャッシュマップを推定する。【０２０９】
図３２は、図３１中にＳ４７で示されている、統計によるページ−キャッシュマッピング処理Ｓ４７のフローチャートである。図３１のＳ４０〜Ｓ４５によって、ページとキャッシュデータの対応関係を示すマップ候補が決定している。【０２１０】
キャッシュ−ページマッピング部Ｐ４１は、キャッシュ−ページマッピング統計テーブルＴ４１３に、今回推定されたマップ候補（対象マップ候補）が含まれているか否かを判定する（Ｓ１２０）。【０２１１】
キャッシュ−ページマッピング統計テーブルＴ４１３に、対象マップ候補が含まれていない場合（Ｓ１２０：ＮＯ）、キャッシュ−ページマッピング部Ｐ４１は、新レコードを作成し、キャッシュ−ページマッピング統計テーブルＴ４１３に追加する（Ｓ１２１）。新レコードには、対象マップ候補に関するキャッシュＩＤ及びページＩＤが含まれる。新レコードのマッピング回数カラムＣ４１３２には、初期値として０が設定される。【０２１２】
キャッシュ−ページマッピング部Ｐ４１は、キャッシュ−ページマッピング統計テーブルＴ４１３の、対象マップ候補に関するレコードについて、マッピング回数カラムＣ４１３２の値に１を加算する（Ｓ１２２）。キャッシュ−ページマッピング統計テーブルＴ４１３に対象マッピング候補が登録済の場合（Ｓ１２０：ＹＥＳ）、Ｓ１２１はスキップされてＳ１２２に移る。【０２１３】
キャッシュ−ページマッピング部Ｐ４１は、キャッシュ−ページマッピング統計テーブルＴ４１３を参照して、対象マップ候補のキャッシュＩＤに対応付けられたことのあるページ２１１のうち、マッピング回数の最も多いページを検出する（Ｓ１２３）。キャッシュ−ページマッピング部Ｐ４１は、マッピング回数の最も多いページのレコードを、キャッシュ−ページマッピングテーブルＴ４１２に登録する（Ｓ１２３）。【０２１４】
即ち、キャッシュ−ページマッピング部Ｐ４１は、キャッシュ−ページマッピング統計テーブルＴ４１３において、対象マップ候補のキャッシュＩＤと同じキャッシュＩＤを有するレコードの中から、マッピング回数カラムＣ４１３２の値が最大であるレコードを検出する。そして、キャッシュ−ページマッピング部Ｐ４１は、所定のキャッシュＩＤについて最大のマッピング回数を有するレコードを、判定結果として、キャッシュ−ページマッピングテーブルＴ４１１に保存する。【０２１５】
本実施例では、上述のように、過去の判定結果に基づいて、キャッシュデータ３３１とページ２１１の対応関係を判定することができる。従って、本実施例では、キャッシュデータ３３１とページ２１１の対応関係をより正確に判定することができ、この結果、ページ２１１をより適切なディスク階層に配置させることができる。
【実施例３】
【０２１６】
図３３を参照して第３実施例を説明する。本実施例では、アプリケーションプログラム１１が先にキャッシュデータ３３１を更新し、次にページ２１１のデータを更新する場合において、キャッシュデータとページを対応付ける方法を説明する。本実施例では、第１実施例を前提として説明するが、これに代えて、本実施例と第３実施例とを組み合わせることもできる。【０２１７】
図１８（ｂ）に示すように、本実施例では、アプリケーションプログラム１１がデータを更新する場合、キャッシュデータ３３１を時刻Ｔｃで更新した後で、ページ２１１のデータを時刻Ｔｐ２で更新する。キャッシュデータ３３１の書き込みからページ２１１の書き込みまでの時間遅れをｄＴ２とする。【０２１８】
キャッシュ−ページマッピング部Ｐ４１は、最新のページ書き込み時刻Ｔｐ２から前回のページ書き込み時刻Ｔｐ１までの所定時間Ｔｐ１２を探索期間とする。キャッシュ−ページマッピング部Ｐ４１は、探索期間Ｔｐ１２内で、ページ２１１を更新したホストと同一ホストによるキャッシュデータ３３１の書き込みがあった場合、そのキャッシュデータ３３１とページ２１１とを対応付ける。【０２１９】
そこで、図３３に示す本実施例のキャッシュ−ページマッピング処理では、キャッシュ−ページマッピング部Ｐ４１は、対象ページ２１１についての前回の書き込み時刻Ｔｐ１を取得する（Ｓ４０Ａ）。キャッシュ−ページマッピング部Ｐ４１は、対象ページ２１１についての前回の書き込み時刻Ｔｐ１を取得できたか否かを判定する（Ｓ４１Ａ）。【０２２０】
前回の書き込み時刻Ｔｐ１を取得できなかった場合（Ｓ４１Ａ：ＮＯ）、本処理は終了する。前回の書き込み時刻Ｔｐ１を取得できた場合（Ｓ４１Ａ：ＹＥＳ）、キャッシュ−ページマッピング部Ｐ４１は、対象ページ２１１に書き込んだホスト１０が使用している論理ボリュームのＩＤを検索する（Ｓ４２）。【０２２１】
キャッシュ書き込みログテーブルＴ４０２の各レコードについて、Ｓ４４Ａ、Ｓ４５、Ｓ４６がそれぞれ実行される。【０２２２】
キャッシュ−ページマッピング部Ｐ４１は、キャッシュデータ３３１への書き込み時刻Ｔｃが、対象ページ２１１の最新書き込み時刻Ｔｐ２から前回の書き込み時刻Ｔｐ１までの所定時間Ｔｐ１２内に有るか否かを判定する（Ｓ４４Ａ）。【０２２３】
キャッシュデータ３３１の書き込み時刻Ｔｃが所定時間Ｔｐ１２内に存在しない場合（Ｓ４４Ａ：ＮＯ）、次のレコードに移る。キャッシュデータ３３１の書き込み時刻Ｔｃが所定時間Ｔｐ１２内に存在する場合（Ｓ４４Ａ：ＹＥＳ）、キャッシュ−ページマッピング部Ｐ４１は、キャッシュデータ３３１を更新したホスト１０により使用される論理ボリュームのＩＤと、Ｓ４２で検索されたボリュームＩＤとが一致するか否かを判定する（Ｓ４５）。【０２２４】
両方のボリュームＩＤが一致する場合（Ｓ４５：ＹＥＳ）、キャッシュ−ページマッピング部Ｐ４１は、キャッシュ−ページマッピングテーブルＴ４１２に新たなレコードを追加する（Ｓ４６）。【０２２５】
このように構成される本実施例も第１実施例と同様の効果を奏する。さらに、本実施例では、キャッシュデータ３３１が先に更新され、ページ２１１が後から更新される場合にも適用できる。アプリケーションプログラム１１は、頻繁に使用するキャッシュデータ３３１を先に更新できるため、ユーザ端末からの要求に速やかに応答できる。【０２２６】
なお、本発明は上述した各実施例に限定されない。当業者であれば、本発明の範囲内で種々の追加または変更等を行うことができる。【０２２７】
本発明は、例えば、以下のようにコンピュータプログラムまたは計算機システムとして表現することもできる。
「観点１．コンピュータを、ホストコンピュータに論理ボリュームを提供するストレージ装置と前記ホストコンピュータにより使用されるキャッシュ装置とを含む計算機システムを管理するための管理装置として機能させるためのコンピュータプログラムであって、
前記キャッシュ装置には、前記論理ボリューム内の所定サイズの記憶領域に記憶されるデータの一部がキャッシュデータとして記憶されており、
前記コンピュータを、
前記ホストコンピュータによる、前記論理ボリューム内の前記記憶領域のデータへの第１アクセス要求を検出させ、
前記ホストコンピュータによる、前記キャッシュ装置内の前記キャッシュデータへの第２アクセス要求を検出させ、
前記論理ボリューム内の前記記憶領域のデータと前記キャッシュ装置の前記キャッシュデータとの対応関係を検出させ、
前記第１アクセス要求と前記第２アクセス要求とに基づいて、前記記憶領域のデータへの合計アクセス要求を算出させる、
コンピュータプログラム。
観点２．ホストコンピュータと、前記ホストコンピュータに論理ボリュームを提供するストレージ装置と、前記ホストコンピュータにより使用されるキャッシュ装置と、前記ホストコンピュータと前記ストレージ装置及び前記キャッシュ装置に接続される管理装置とを含む計算機システムであって、
前記キャッシュ装置には、前記論理ボリューム内の所定サイズの記憶領域に記憶されるデータの一部がキャッシュデータとして記憶されており、
前記管理装置は、マイクロプロセッサと、前記マイクロプロセッサにより使用される所定のコンピュータプログラムを記憶する記憶装置と、前記ホストコンピュータ及び前記ストレージ装置と通信するための通信インターフェース回路とを備え、
前記マイクロプロセッサは、前記所定のコンピュータプログラムを実行することで、
前記ホストコンピュータによる、前記論理ボリューム内の前記記憶領域のデータへの第１アクセス要求を検出し、
前記ホストコンピュータによる、前記キャッシュ装置内の前記キャッシュデータへの第２アクセス要求を検出し、
前記論理ボリューム内の前記記憶領域のデータと前記キャッシュ装置の前記キャッシュデータとの対応関係を検出し、
前記第１アクセス要求と前記第２アクセス要求とに基づいて、前記記憶領域のデータへの合計アクセス要求を算出する、
計算機システム。」
【符号の説明】
【０２２８】
１，１０：ホストコンピュータ、２，２０：ストレージ装置、３，３０：キャッシュ装置、４：管理装置、４０：管理サーバ
【図１】
2012164671.tif 000003
【図２】
2012164671.tif 000004
【図３】
2012164671.tif 000005
【図４】
2012164671.tif 000006
【図５】
2012164671.tif 000007
【図６】
2012164671.tif 000008
【図７】
2012164671.tif 000009
【図８】
2012164671.tif 000010
【図９】
2012164671.tif 000011
【図１０】
2012164671.tif 000012
【図１１】
2012164671.tif 000013
【図１２】
2012164671.tif 000014
【図１３】
2012164671.tif 000015
【図１４】
2012164671.tif 000016
【図１５】
2012164671.tif 000017
【図１６】
2012164671.tif 000018
【図１７】
2012164671.tif 000019
【図１８】
2012164671.tif 000020
【図１９】
2012164671.tif 000021
【図２０】
2012164671.tif 000022
【図２１】
2012164671.tif 000023
【図２２】
2012164671.tif 000024
【図２３】
2012164671.tif 000025
【図２４】
2012164671.tif 000026
【図２５】
2012164671.tif 000027
【図２６】
2012164671.tif 000028
【図２７】
2012164671.tif 000029
【図２８】
2012164671.tif 000030
【図２９】
2012164671.tif 000031
【図３０】
2012164671.tif 000032
【図３１】
2012164671.tif 000033
【図３２】
2012164671.tif 000034
【図３３】
2012164671.tif 000035
【国際調査報告】
2012164671.tif 000036
2012164671.tif 000037
2012164671.tif 000038
2012164671.tif 000039