(58)【調査した分野】(Int.Cl.,DB名)
前記管理部は、前記複数のキャッシュ割当方式のいずれかを用いるかを設定した後に、外部装置による前記キャッシュへのアクセスと、前記論理ボリュームによる前記キャッシュへのアクセスを許可する
請求項1に記載のキャッシュ割当制御装置。
【発明を実施するための形態】
【0012】
以下、本発明の実施形態を、図面を参照して説明する。
【0013】
図1は、本実施形態によるストレージシステム100の構成図である。
ストレージシステム100は、ホストコンピュータH1(外部装置とも称する)、ディスクアレイ装置1a(キャッシュ割当制御装置とも称する)を備える。
ホストコンピュータH1は、PC(Personal Computer)などの装置である。ホストコンピュータH1の利用者の操作に基づいて作成されるデータは、有線又は無線のネットワークを介して、ディスクアレイ装置1aに送信され、ディスクアレイ装置1aに記録される。
【0014】
ディスクアレイ装置1aは、ホスト入出力制御部11、キャッシュ管理部12a(管理部とも称する)、論理ボリューム入出力制御部13、キャッシュ14、論理ボリューム15−1〜15−m(mは、自然数)、負荷分析部16、性能分析部17を備える。
キャッシュ管理部12aは、キャッシュ割当方式切替部121、使用中キャッシュ割当方式管理部122を備える。
【0015】
キャッシュ割当方式切替部121は、内部に記憶装置を備え、キャッシュ使用位置のキャッシュ割当方式である第1のキャッシュ割当方式121−1、第2のキャッシュ割当方式121−2、・・・、第nのキャッシュ割当方式121−n(nは、自然数)を記憶する。なお、本実施形態では、nが、4の場合について説明する。
【0016】
ホスト入出力制御部11は、ホストコンピュータH1からのアクセス要求(データの書き込みや読み出しの要求)を受け付け、そのアクセス要求に基づいて処理を行う。
ホストコンピュータH1が送信するデータの書き込み要求は、ホスト入出力制御部11で受信される。ホスト入出力制御部11が受信したデータの書き込み要求は、キャッシュ管理部12aに出力される。キャッシュ管理部12aは、入力されたデータの書き込み要求で特定されるデータを、使用中キャッシュ割当方式管理部122で決定されたキャッシュ14の使用位置に記憶させることにより、データの書き込み処理を行う。
【0017】
使用中キャッシュ割当方式管理部122は、負荷分析部16に、ディスクアレイ装置1aの負荷状況を登録するとともに、性能分析部17に、ディスクアレイ装置1aの性能情報を登録する。
【0018】
論理ボリューム入出力制御部13は、キャッシュ管理部12aを介して、キャッシュ14上に論理ボリューム15−1〜15−mに対する未書き込みデータが存在することを認識すると、論理ボリューム15−1〜15−mに対するデータの書き込みを行い、キャッシュ14上の使用位置を再利用可能にし、性能分析部17に性能情報を登録する。
【0019】
ディスクアレイ装置1aは、定期的に負荷分析部16及び性能分析部17にて負荷分析、性能分析を実施する。キャッシュ管理部12aは、キャッシュ割当方式切替部121を使用し、負荷分析部16及び性能分析部17の分析結果に基づいて、キャッシュ割当方式121−1〜121−nの中から、最適なキャッシュ割当方式を決定する。
【0020】
キャッシュ管理部12aは、最適なキャッシュ割当方式と、使用中キャッシュ割当方式管理部122が記憶する使用中のキャッシュ割当方式とが異なる場合に、キャッシュ割当方式切替部121を介して、ホスト入出力制御部11と論理ボリューム入出力制御部13に対して、静止点作成要求を行う。
ホスト入出力制御部11は、キャッシュ管理部12aから指示された静止点作成要求に基づいて、ホストコンピュータH1によるキャッシュ14のアクセスを停止する時間である静止点を設定する。
【0021】
また、論理ボリューム入出力制御部13は、キャッシュ管理部12aから指示された静止点作成要求に基づいて、論理ボリューム15−1〜15−mによるキャッシュ14のアクセスを停止する時間である静止点を設定する。
なお、ホスト入出力制御部11が設定する静止点と、論理ボリューム入出力制御部13が設定する静止点は、同一の時間である。
【0022】
キャッシュ管理部12aは、静止点の間に、キャッシュ割当方式を、使用中キャッシュ割当方式管理部122に記憶させることにより、キャッシュ割当方式の切り替えを行う。その後、キャッシュ管理部12aは、ホスト入出力制御部11及び論理ボリューム入出力制御部13に対して、静止点解除要求を出力する。
【0023】
キャッシュ管理部12aから静止点解除要求を受信したホスト入出力制御部11は、ホスト入出力制御部11に設定されている静止点を削除する。また、キャッシュ管理部12aから静止点解除要求を受信した論理ボリューム入出力制御部13は、論理ボリューム入出力制御部13に設定されている静止点を削除する。
【0024】
図2は、本実施形態によるホストコンピュータH1からキャッシュ14に対するデータの書き込み処理を示すシーケンス図である。
始めに、ホストコンピュータH1は、ネットワークを介して、データの書き込み要求を、ディスクアレイ装置1aのホスト入出力制御部11に送信する(ステップS101)。
【0025】
ホストコンピュータH1からデータの書き込み要求を受信したホスト入出力制御部11は、書き込みデータのキャッシュへの格納位置を決定するために、キャッシュ管理部12aに対して、キャッシュ使用位置の問い合わせを出力する(ステップS102)。
ホスト入出力制御部11からキャッシュ使用位置の問い合わせが入力されたキャッシュ管理部12aは、使用中キャッシュ割当方式管理部122が記憶する情報を参照して、キャッシュ使用位置を決定する(ステップS103)。
【0026】
キャッシュ管理部12aは、ステップS103で決定したキャッシュ使用位置を、ホスト入出力制御部11に出力する(ステップS104)。
キャッシュ管理部12aからキャッシュ使用位置が入力されたホスト入出力制御部11は、ホストコンピュータH1に対して、書き込みデータの送信を要求する(ステップS105)。
【0027】
ホスト入出力制御部11から書き込みデータの送信の要求を受信したホストコンピュータH1は、ホスト入出力制御部11に対して、書き込みデータを送信する(ステップS106)。
ホストコンピュータH1から書き込みデータを受信したホスト入出力制御部11は、その書き込みデータを、キャッシュ14に出力することにより、キャッシュ14に、ステップS103で決定されたキャッシュ使用位置に、書き込みデータを書き込ませる(ステップS107)。
【0028】
ステップS107の処理が完了した場合に、ホスト入出力制御部11は、書き込みデータのキャッシュ14の書き込みが完了したことを通知する書き込み完了通知を、ホストコンピュータH1に送信する(ステップS108)。
【0029】
なお、ホスト入出力制御部11は、実行したデータの書き込み要求のアクセス情報を、負荷分析部16に出力する(ステップS109)。ホスト入出力制御部11から入力されたアクセス情報に基づいて、負荷分析部16は、ディスクアレイ装置1aの負荷の分析を行う。
また、ホスト入出力制御部11は、書き込み処理に関する性能情報を、性能分析部17に出力する(ステップS110)。ホスト入出力制御部11から入力された性能情報に基づいて、性能分析部17は、ディスクアレイ装置1aの性能の分析を行う。
【0030】
図3は、本実施形態によるキャッシュ14から論理ボリューム15−1〜15−mに対するデータの書き込み処理を示すシーケンス図である。
始めに、論理ボリューム入出力制御部13は、論理ボリューム15−1〜15−mに未書き込みであるデータが、キャッシュ14に存在するか否かに関する問合せを、キャッシュ管理部12aに、定期的に出力する(ステップS201)。
ステップS201で問合せが入力されたキャッシュ管理部12aは、論理ボリューム15−1〜15−mに未書き込みであるデータが、キャッシュ14に存在するか否かを確認する(ステップS202)。
【0031】
キャッシュ管理部12aは、論理ボリューム15−1〜15−mに未書き込みであるデータがキャッシュ14に存在するか否かに関する確認結果を、論理ボリューム入出力制御部13に出力する(ステップS203)。
ステップS203でキャッシュ管理部12aから受信した確認結果が、論理ボリューム15−1〜15−mに未書き込みであるデータがキャッシュ14に存在する場合には、論理ボリューム入出力制御部13は、未書き込みであるデータを、論理ボリューム15−1〜15−mのいずれに書き込むかに関する問合せを、キャッシュ管理部12aに出力する(ステップS204)。
【0032】
ステップS204で問合せを受けたキャッシュ管理部12aは、使用中キャッシュ割当方式管理部122が記憶する情報を参照して、論理ボリューム15−1〜15−mのいずれに書き込むかを決定する(ステップS205)。
キャッシュ管理部12aは、未書き込みであるデータを、論理ボリューム15−1〜15−mのいずれに書き込みかに関する確認結果を、論理ボリューム入出力制御部13に出力する(ステップS206)。
【0033】
キャッシュ14は、ステップS205での決定に基づいて、未書き込みであるデータを、論理ボリューム入出力制御部13を介して(ステップS207)、論理ボリューム15−1〜15−mのいずれかに書き込む(ステップS208)。
ステップS208の処理が完了した場合に、論理ボリューム入出力制御部13は、未書き込みであるデータの論理ボリューム15−1〜15−mのいずれかへの書き込みの処理が完了したことを示す完了通知を、キャッシュ管理部12aに出力する(ステップS209)。
【0034】
そして、論理ボリューム入出力制御部13は、書き込み処理に関する性能情報を、性能分析部17に出力する(ステップS210)。論理ボリューム入出力制御部13から入力された性能情報に基づいて、性能分析部17は、ディスクアレイ装置1aの性能の分析を行う。
【0035】
図4は、本実施形態による負荷分析部16及び性能分析部17が実行する負荷及び性能分析処理を示すフローチャートである。
ディスクアレイ装置1aでは、複数のキャッシュ割当方式121−1〜121−nの中から最適なキャッシュ割当方式を選択するための情報を作成するための処理を常駐動作させる。
【0036】
つまり、負荷分析部16は、
図2のステップS109でホスト入出力制御部11から出
力された情報などに基づいて、ディスクアレイ装置1aの負荷に関する性能を分析する(ステップS301)。
また、性能分析部17は、
図2のステップS110で、ホスト入出力制御部11から出力された情報や、
図3のステップS210で、論理ボリューム入出力制御部13から出力された情報などに基づいて、ディスクアレイ装置1aの性能を分析する(ステップS302)。
【0037】
図5は、本実施形態によるキャッシュ管理部12aが実行するキャッシュ割当方式切替処理を示すフローチャートである。
図5では、キャッシュ割当方式切替部121により最適なキャッシュ割当方式を決定し、キャッシュ割当方式を切り替えるまでの処理を示している。
【0038】
始めに、キャッシュ管理部12aのキャッシュ割当方式切替部121は、キャッシュ割当方式切替部121が記憶している複数のキャッシュ割当方式121−1〜121−nの中から、最適なキャッシュ割当方式を選択する(ステップS401)。なお、ステップS401の処理については、後述する
図6を用いて説明する。
【0039】
次に、キャッシュ割当方式切替部121は、ステップS401で選択したキャッシュ割当方式と、使用中キャッシュ割当方式管理部122が記憶しているキャッシュ割当方式が一致しているか否かについて判定する(ステップS402)。
ステップS401で選択したキャッシュ割当方式と、使用中キャッシュ割当方式管理部122が記憶しているキャッシュ割当方式が一致していると判定した場合には(ステップS402でYes)、キャッシュ割当方式切替部121は、ステップS401の処理を再度行う。
【0040】
一方、ステップS401で選択したキャッシュ割当方式と、使用中キャッシュ割当方式管理部122が記憶しているキャッシュ割当方式が一致していないと判定した場合には(ステップS402でNo)、キャッシュ割当方式切替部121は、キャッシュ割当方式の切り替えが必要であると判定し、負荷分析部16から、ディスクアレイ装置1aの現在の負荷状況を取得する(ステップS403)。
【0041】
キャッシュ割当方式の切り替えのためには静止点(つまり、ホストコンピュータH1によるキャッシュ14へのアクセスを停止させる時間と、論理ボリューム15−1〜15−mによるキャッシュ14へのアクセスを停止させる時間)を設定する必要がある。そのため、キャッシュ割当方式切替部121は、ステップS403で取得した負荷状況に基づき、ディスクアレイ装置1aが現在、低負荷状態にあるか否かについて判定する(ステップS404)。
【0042】
ディスクアレイ装置1aが現在、低負荷状態ではない場合、つまり、高負荷状態にある場合には(ステップS404でNo)、キャッシュ割当方式切替部121は、ステップS401の処理を再度行う。
一方、ディスクアレイ装置1aが現在、低負荷状態にある場合には(ステップS404でYes)、キャッシュ割当方式切替部121は、ホスト入出力制御部11及び論理ボリューム入出力制御部13に対して、静止点の作成を指示する(ステップS405)。
【0043】
ホスト入出力制御部11及び論理ボリューム入出力制御部13が静止点を作成した後、キャッシュ割当方式切替部121は、ステップS401で選択したキャッシュ割当方式を、使用中キャッシュ割当方式管理部122に設定する(ステップS406)。これにより、最適ではないキャッシュ割当方式が、最適なキャッシュ割当方式に切り替えられる。
【0044】
その後、キャッシュ割当方式切替部121は、ホスト入出力制御部11及び論理ボリューム入出力制御部13が設定した静止点を解除するように、ホスト入出力制御部11及び論理ボリューム入出力制御部13に指示する(ステップS407)。これにより、ホスト入出力制御部11及び論理ボリューム入出力制御部13は、最適なキャッシュ割当方式を用いて、キャッシュ14へのアクセスが可能となる。
【0045】
図6は、本実施形態によるキャッシュ管理部12aが実行するキャッシュ割当方式選択処理(
図5のステップS401)を示すフローチャートである。
図6に示すフローチャートでは、負荷分析部16の分析結果と、性能分析部17の分析結果に基づいて、キャッシュ割当方式を選択する。
【0046】
なお、本実施形態では、キャッシュ割当方式切替部121が、第1のキャッシュ割当方式121−1、第2のキャッシュ割当方式121−2、第3のキャッシュ割当方式121−3、第4のキャッシュ割当方式121−4を記憶している場合について説明する。
【0047】
第1のキャッシュ割当方式121−1は、論理ボリューム15−1〜15−mの論理ボリューム番号と論理アドレスをキーとするキャッシュ割当方式である。
また、第2のキャッシュ割当方式121−2は、論理ボリューム15−1〜15−mの論理ボリューム番号をキーとするキャッシュ割当方式である。
また、第3のキャッシュ割当方式121−3は、物理ドライブをキーとするキャッシュ割当方式である。
また、第4のキャッシュ割当方式121−4は、ホストコンピュータH1と、論理アドレスをキーとするキャッシュ割当方式である。
【0048】
始めに、キャッシュ管理部12aのキャッシュ割当方式切替部121は、定期的に、ディスクアレイ装置1aに対する負荷状況とディスクアレイ装置1aの各種性能情報を監視する。これにより、キャッシュ割当方式切替部121は、負荷分析部16と性能分析部17から、キャッシュ割当方式の選択のために用いられる分析結果を取得する(ステップS501)。
【0049】
次に、キャッシュ割当方式切替部121は、物理ドライブに障害や性能の問題が発生しているか否かについて判定する(ステップS502)。
物理ドライブに障害や性能の問題が発生していると判定した場合には(ステップS502でYes)、キャッシュ割当方式切替部121は、特定の物理ドライブの性能が影響を受けることを避けるために、第3のキャッシュ割当方式121−3を候補として選択し(ステップS503)、後述するステップS509の処理を行う。
【0050】
一方、物理ドライブに障害や性能の問題が発生していないと判定した場合には(ステップS502でNo)、キャッシュ割当方式切替部121は、複数の論理ボリューム15−1〜15−mのうち、特定の論理ボリュームに負荷が集中しているか否かについて判定する(ステップS504)。
特定の論理ボリュームに負荷が集中していると判定した場合には(ステップS504でYes)、キャッシュ割当方式切替部121は、特定の論理ボリュームの性能が影響を受けることを避けるために、第2のキャッシュ割当方式121−2を候補として選択し(ステップS505)、後述するステップS509の処理を行う。
【0051】
一方、特定の論理ボリュームに負荷が集中していないと判定した場合には(ステップS504でNo)、キャッシュ割当方式切替部121は、特定の時間帯(例えば、午前9時〜午前10時)に、論理ボリューム15−1〜15−mのいずれかに局所的な負荷が集中しているか否かについて判定する(ステップS506)。
特定の時間帯に、論理ボリューム15−1〜15−mのいずれかに局所的な負荷が集中していると判定した場合には(ステップS506でYes)、キャッシュ割当方式切替部121は、負荷集中により性能に影響を受けることを避けるために、第1のキャッシュ割当方式121−1を候補として選択し(ステップS507)、後述するステップS509の処理を行う。
【0052】
一方、特定の時間帯に、論理ボリューム15−1〜15−mのいずれかに局所的な負荷が集中していないと判定した場合には(ステップS506でNo)、キャッシュ割当方式切替部121は、ディスクアレイ装置1aに大きな問題は生じていため、第4のキャッシュ割当方式121−4を候補として選択する(ステップS508)。
【0053】
キャッシュ割当方式切替部121は、第1のキャッシュ割当方式121−1、第2のキャッシュ割当方式121−2、第3のキャッシュ割当方式121−3、第4のキャッシュ割当方式121−4のうち、候補として選択されたキャッシュ割当方式を、新たなキャッシュ割当方式として決定する(ステップS509)。
【0054】
上述した実施形態によれば、特定の時間帯に負荷が集中する場合や、特定の論理ボリュームに負荷が集中する場合や、論理ボリュームの性能ネック、論理ボリュームを構成する物理ドライブの障害や物理ドライブの性能に問題が発生した場合であっても、最適なキャッシュ割当方式を選択することで、正常な論理ボリュームや物理ドライブに対する応答性能を維持し、ディスクアレイ装置1aの応答性能を安定させ、ディスクアレイ装置1aの性能が低下することを抑止できる。
【0055】
また、ホスト入出力制御部11及び論理ボリューム入出力制御部13に、キャッシュ14へのアクセスができない静止点を設定し、その静止点の間に、キャッシュ割当方式を切り替えるため、キャッシュ使用位置のキャッシュ割当に対する一意性を保証し、ホスト入出力制御部11及び論理ボリューム入出力制御部13の間で、異なるキャッシュ割当方式が使用されることを避けることができる。
【0056】
なお、複数のキャッシュ割当方式を用いる代わりに、キャッシュ14の使用位置のキャッシュ割り当てのキーとなる論理ボリューム15−1〜15−mの論理アドレスを、キャッシュ割り当てのキー用にさらに仮想アドレス化することで、利用状況に応じて仮想アドレスの切り替えを行うことにより、キャッシュの使用位置を変え、競合を抑止するようにしてもよい。
【0057】
従来、夜間に行われるデータのバックアップ業務や、始業時間帯の負荷集中等の日次業務による負荷変動により、キャッシュ14の競合による待ち合わせが発生し、一時的な応答遅延が発生することがあるという問題があった。しかし、従来、キャッシュ14の使用位置は特定の情報をキーにして一意に決まるため、その問題を解消することは難しかった。しかし、上述した実施形態によれば、このような問題を解消することができる。
【0058】
上述の実施形態は、始業時間帯に、特定の論理ボリューム15−1〜15−mに対する負荷集中の発生が予測される仮想環境を利用する分野や、日次、月次のデータバックアップを特定時間帯にスケジューリングして運用することで、特徴的な負荷変動の発生が予測される分野などに適用することができる。
【0059】
図7は、最小構成を有するディスクアレイ装置1b(キャッシュ割当制御装置とも称する)の構成を示すブロック図である。このディスクアレイ装置1bは、キャッシュ管理部12b(管理部とも称する)を備える。
【0060】
図8は、最小構成を有するディスクアレイ装置1bの処理を示すフローチャートである。
キャッシュ管理部12bは、ディスクアレイ装置1bとは異なる外部装置であるホストコンピュータH1によるキャッシュ14へのアクセスと、ディスクアレイ装置1bが備える論理ボリューム15−1〜15−mによるキャッシュ14へのアクセスを停止させている間に、複数のキャッシュ割当方式121−1〜121−nのいずれを用いるかを設定する(ステップS601)。
【0061】
なお、
図1、
図8における各部の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより各部の機能を実現してもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータシステム」は、ホームページ提供環境(あるいは表示環境)を備えたWWW(World Wide Web)システムも含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM(Read Only Memory)、CD(Compact Disk)−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(RAM(Random Access Memory))のように、一定時間プログラムを保持しているものも含むものとする。
【課題】 複数の装置がキャッシュにアクセスする場合に、それらの装置で、異なるキャッシュ割当方式が用いられることを回避することができるキャッシュ割当制御装置、キャッシュ割当制御方法及びプログラムを提供する。
【解決手段】 キャッシュ割当制御装置は、キャッシュ割当制御装置とは異なる外部装置によるキャッシュへのアクセスと、キャッシュ割当制御装置が備える論理ボリュームによるキャッシュへのアクセスを停止させている間に、複数のキャッシュ割当方式のいずれを用いるかを設定する管理部を備える。