(57)【要約】【課題】  ディスクアレイ装置の性能を向上させるディスクアレイアクセス動的制御装置、及び方法を提供する。【解決手段】  上記課題を解決するために、ディスクアレイアクセス動的制御装置１に、ＲＡＩＤを構成するディスク装置の組み合わせ情報等の構成情報を記憶する構成情報記憶手段３と、この構成情報等に応じてＤＡの割当てを行なう担当ＤＡ制御手段４と、情報処理装置５の命令に応じてディスク装置群２に対してデータの読み／書きを行なうアクセス手段６と、を備える。【選択図】図１
2007004620.tif 000002
【特許請求の範囲】
【請求項１】
ディスク装置群のディスク装置を組み合わせて複数のディスクアレイを構成し、該ディスク装置へアクセスするためのインターフェースであるデバイスアダプタを複数有するディスクアレイ装置において、
前記ディスクアレイを構成するディスク装置の組み合わせ情報と、該ディスクアレイを構成するディスク装置への平均アクセス回数を示すディスクウェイトと、を記憶する構成情報記憶手段と、
該組み合わせ情報とディスクウェイトとに基づいて、所定のディスクアレイにアクセスする各担当デバイスアダプタの負荷が均一となるように担当デバイスアダプタに前記ディスクアレイを割当てる担当デバイスアダプタ制御手段と、
該担当デバイスアダプタを介して前記ディスクアレイを構成するディスク装置にアクセスするアクセス手段と、
を備えることを特徴とするディスクアレイアクセス動的制御装置。
【請求項２】
前記担当デバイスアダプタ制御手段は、
ディスクアレイの種別に応じて、前記ディスクウェイトを用いて、前記デバイスアダプタから前記ディスクアレイへの平均アクセス回数を示すディスクアレイウェイトを算出するディスクアレイウェイト算出手段と、
該ディスクアレイウェイトを用いて、１又は２以上の所定のディスクアレイへのアクセスを担当する担当デバイスアダプタのディスクアレイへの平均アクセス回数を示すデバイスアダプタウェイトが全て均一になるように各ディスクアレイを担当デバイスアダプタに割当てる担当デバイスアダプタ割当て手段と、
を備えることを特徴とする請求項１に記載のディスクアレイアクセス動的制御装置。
【請求項３】
前記ディスクアレイウェイト算出手段は、さらに、前記ディスクアレイウェイトに対して、ディスクアレイを構成するディスク装置の磁気ディスクの回転数に応じた係数を乗算して得た値をディスクアレイウェイトとする、
ことを特徴とする請求項２に記載のディスクアレイアクセス動的制御装置。
【請求項４】
ディスク装置群のディスク装置を組み合わせて複数のディスクアレイを構成し、該ディスク装置へアクセスするためのインターフェースであるデバイスアダプタを複数有するディスクアレイ装置において、
前記ディスクアレイを構成するディスク装置の組み合わせ情報と、該ディスクアレイを構成するディスク装置への平均アクセス回数を示すディスクウェイトと、を記憶する構成情報記憶手段を参照してディスクウェイトを取得するディスクウェイト取得処理と、
該組み合わせ情報とディスクウェイトとに基づいて、所定のディスクアレイにアクセスする各担当デバイスアダプタの負荷が均一となるように担当デバイスアダプタに前記ディスクアレイを割当てる担当デバイスアダプタ制御処理と、
該担当デバイスアダプタを介して前記ディスクアレイを構成するディスク装置にアクセスするアクセス処理と、
をディスクアレイ装置に実行させることを特徴とするディスクアレイアクセス動的制御方法。
【請求項５】
前記担当デバイスアダプタ制御処理は、
ディスクアレイの種別に応じて、前記ディスクウェイトを用いて、前記デバイスアダプタから前記ディスクアレイへの平均アクセス回数を示すディスクアレイウェイトを算出するディスクアレイウェイト算出処理と、
該ディスクアレイウェイトを用いて、１又は２以上の所定のディスクアレイへのアクセスを担当する担当デバイスアダプタのディスクアレイへの平均アクセス回数を示すデバイスアダプタウェイトが全て均一になるように各ディスクアレイを担当デバイスアダプタに割当てる担当デバイスアダプタ割当て処理と、
をディスクアレイ装置に実行させることを特徴とする請求項４に記載のディスクアレイアクセス動的制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ディスク装置群のディスク装置を組み合わせて複数のディスクアレイを構成するディスクアレイ装置のディスクアレイへのアクセスを動的に制御する装置、及び方法に関する。
【背景技術】
【０００２】
従来、ディスクアレイ装置のアクセス時間や構成の柔軟性等の性能を向上させる目的で、ディスク装置群にアクセスするＩ／Ｆ（以下、「ＤＡ（Ｄｅｖｉｃｅ  Ａｄａｐｔｅｒ）」という）を複数設け、いずれかのＤＡを介して当該ディスク装置群にアクセスしていた。
【０００３】
図１０は、ディスクアレイ装置の主要部を示す従来例の図である。
図１０に示すディスクアレイ装置は、複数のディスク装置で構成されるディスク装置群９０と、このディスク装置群９０にアクセスするためのＩ／ＦであるＤＡ９１及び９２と、情報処理装置９４−ディスク装置群９０間のデータアクセスやディスクアレイ装置全体の制御を行なうディスクアレイコントローラ９３と、を備えている。
【０００４】
なお、図１０に示すディスク装置群９０は、複数のディスク装置を備えるプリント板を複数実装することによって構成されている場合を示している。以下、当該プリント板の実装部を「スロット」といい、その位置を「スロット番号」で表す。また、ディスクアレイであるＲＡＩＤ（Ｒｅｄｕｎｄａｎｔ  Ａｒｒａｙｓ  ｏｆ  Ｉｎｅｘｐｅｎｓｉｖｅ／Ｉｎｄｅｐｅｎｄｅｎｔ  Ｄｉｓｋｓ）には、ユニークな論理番号（以下、「ＲＡＩＤ番号」という）が割当てられている。例えば、スロット番号＃００に実装されているディスク装置は、ＲＡＩＤ番号＃００が割当てられている。
【０００５】
この場合、いずれのＤＡが各ＲＡＩＤを担当するかは、一般的に、スロット番号やＲＡＩＤ番号などによって一義的に決められていた。例えば、スロット位置やＲＡＩＤ番号が奇数の場合と偶数の場合とでＤＡが担当するＲＡＩＤを一義的に決めていた。
【０００６】
ここで、特許文献１には、外部からバッファメモリへのデータ転送と、バッファメモリからフラッシュメモリへのデータ転送と、フラッシュメモリの消去と、を同時に実行することにより、ハードディスク装置と同等又はそれ以上の書き込み速度を得ることができる半導体ディスク装置について開示されている。
【０００７】
また、特許文献２には、複数のＨＤＤに対する読み出し要求に基づく負荷を均等化し、ディスクアレイ装置のレスポンス性能を向上させるディスクアレイ装置について開示されている。
【特許文献１】特開平０６−１２４１７５号公報
【特許文献２】特開２００２−１１６９３６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかし、上述した方式では、ディスク装置搭載スロットに端から詰めてディスク装置を搭載しなければ、各ＤＡが担当するＲＡＩＤに偏りが生じることになりＤＡの負荷に偏りが生じてしまう。例えば、１スロットおきにディスク装置を搭載した場合、奇数スロット番号（又は偶数スロット番号）のディスク装置を担当するＤＡのみに負荷がかかり、もう一方のＤＡには負荷がかからなくなってしまうため１ＤＡ分の性能しか有効に利用できないという問題があった。
【０００９】
本発明は、上述した問題に鑑みてなされたものであり、その解決しようとする課題は、ディスク装置群にアクセスするＩ／Ｆへの負荷を分散することにより、ディスクアレイ装置の性能を向上させるディスクアレイアクセス動的制御装置、及び方法を提供することである。
【課題を解決するための手段】
【００１０】
上記課題を解決するために、本発明に係るディスクアレイアクセス動的制御装置は、ディスク装置群のディスク装置を組み合わせて複数のディスクアレイを構成し、該ディスク装置へアクセスするためのインターフェースであるデバイスアダプタを複数有するディスクアレイ装置において、前記ディスクアレイを構成するディスク装置の組み合わせ情報と、該ディスクアレイを構成するディスク装置への平均アクセス回数を示すディスクウェイトと、を記憶する構成情報記憶手段と、該組み合わせ情報とディスクウェイトとに基づいて、所定のディスクアレイにアクセスする各担当デバイスアダプタの負荷が均一となるように担当デバイスアダプタに前記ディスクアレイを割当てる担当デバイスアダプタ制御手段と、該担当デバイスアダプタを介して前記ディスクアレイを構成するディスク装置にアクセスするアクセス手段と、を備える。
【００１１】
本発明によると、担当デバイスアダプタ制御手段は、構成情報記憶手段を参照し、ディスクアレイを構成するディスク装置の組み合わせ情報と、ディスクアレイを構成するディスク装置への平均アクセス回数を示すディスクウェイトと、を取得する。そして、取得した組み合わせ情報とディスクウェイトとから各担当デバイスアダプタの負荷が均一となるように担当デバイスアダプタにディスクアレイを割当てるので、ディスク装置群にアクセスするデバイスアダプタの負荷を分散することが可能となる。
【００１２】
その結果、ディスクアレイ装置の性能（例えば、ＲＥＡＤ／ＷＲＩＴＥ処理の速度）を向上することが可能となる。
【発明の効果】
【００１３】
以上のように、本発明によると、ディスク装置群にアクセスするＩ／Ｆへの負荷を分散することにより、ディスクアレイ装置の性能を向上させるディスクアレイアクセス動的制御装置、及び方法を提供することが可能となる。
【発明を実施するための最良の形態】
【００１４】
以下、本発明の実施形態について図１〜図９に基づいて説明する。なお、以下の説明で使用するＲＡＩＤとはディスクアレイのことを示している。したがって、ＲＡＩＤウェイトとはディスクアレイウェイトのことを示す。また、ＲＡＩＤ種別判別手段とはディスクアレイ種別判別手段のことを示し、ＲＡＩＤウェイト算出手段とはディスクアレイウェイト算出手段のことを示す。
【００１５】
図１は、本発明の原理を示す図である。
図１に示すディスクアレイアクセス動的制御装置１は、ディスク装置群２にＲＡＩＤを構成するディスク装置の組み合わせ情報等の構成情報を記憶する構成情報記憶手段３と、この構成情報等に応じて各ＲＡＩＤにアクセスするためのインターフェースであるＤＡの割当てを行なう担当ＤＡ制御手段４と、情報処理装置５の命令に応じてディスク装置群２に対してデータの読み／書き（以下、この処理を「アクセス」という）を行なうアクセス手段６と、を備えている。
【００１６】
ディスク装置群２は、複数のディスク装置によって構成され、構成情報記憶手段に記憶された構成情報にしたがって複数のＲＡＩＤを構成する。
構成情報記憶手段３は、ディスク装置群２にＲＡＩＤを構成するディスク装置の組み合わせ情報の他に、ＤＡから、ＲＡＩＤを構成する各ディスク装置にアクセスする平均アクセス回数（以下、「ディスクウェイト」という）を記憶している。
【００１７】
担当ＤＡ制御手段４は、構成情報記憶手段３に格納された構成情報を参照してディスクウェイトを取得する。そして、このディスクウェイトに基づいて各ＤＡの負荷（デバイスアダプタウェイト、以下「ＤＡウェイト」という）が均一となるように、各ＤＡが担当するＲＡＩＤを割当てる制御を行なう。以下、１又は２以上の所定のＲＡＩＤへのアクセスを担当するＤＡを「担当ＤＡ」という。
【００１８】
アクセス手段６は、情報処理装置５からの命令に応じて、担当ＤＡ制御手段４で割当てられた担当ＤＡを介してディスク装置群２にアクセスを行なう。
以上に説明したディスクアレイアクセス動的制御装置１とディスク装置群２とによってディスクアレイ装置が構成されることとなる。
【００１９】
また、図１に示すディスクアレイアクセス動的制御装置１の担当ＤＡ制御手段４は、ＤＡが１つのＲＡＩＤにアクセスする平均アクセス回数（以下、「ＲＡＩＤウェイト」という）を算出するＲＡＩＤウェイト算出手段と、担当ＤＡが担当する１又は２以上のＲＡＩＤにアクセスする平均アクセス回数（以下、「ＤＡウェイト」という）を算出して、全てのＤＡウェイトが均一になるように各ＲＡＩＤを担当ＤＡに割当てる担当ＤＡ割当て手段と、を更に備えている。
【００２０】
したがって、担当ＤＡ制御手段４は、構成情報記憶手段３を参照してディスクウェイトを取得し、このディスクウェイトからディスク装置群２に構成された各ＲＡＩＤのＲＡＩＤウェイトを算出する。
【００２１】
さらに、ＲＡＩＤウェイトからＤＡウェイトを算出すると共に、全てのＤＡウェイトが均一となるように、担当ＤＡへのＲＡＩＤの割当てを行なう。
これにより、各ＤＡからディスク装置群２へのアクセスの負荷が均一に分散されることとなり、ディスクアレイ装置の性能（特に、アクセス性能）を向上させることが可能となる。
【００２２】
ここで、以上に説明した構成情報記憶手段３は、図２に示すメモリ１８で実現される。メモリ１８は、揮発性メモリ（例えば、ＲＡＭ）や不揮発性メモリ（例えば、ＥＥＰＲＯＭ）等で構成すればよい。
【００２３】
また、担当ＤＡ制御手段４はＣＭ１４で実現される。アクセス手段６は、ＣＡ１３、ＣＭ１４、ＤＡ１５、ＲＴ１６、及びＦＣスイッチ１７で実現される。
図２は、本発明の実施例に係るディスクアレイ装置の構成例を示す図である。
【００２４】
図２に示すディスクアレイ装置１０は、情報処理装置１１、１２が有する図示しないＩ／Ｏ装置とのＩ／ＦであるＣＡ（Ｃｈａｎｎｅｌ  Ａｄａｐｔｅｒ）１３と、ディスクアレイ装置１０を制御するＣＭ（Ｃｏｎｔｒｏｌｌｅｒ  Ｍｏｄｕｌｅ）１４と、ＣＭ１４からディスク装置群２にアクセスするためのＩ／ＦであるＤＡ１５と、ＣＡ１３とＣＭ１４とＤＡ１５とのＩ／ＦであるＲＴ（Ｒｏｕｔｅｒ）１６と、各ＤＡ１５とディスク装置群２とのパスを可変に接続するＦＣ（Ｆｉｂｅｒ  Ｃｈａｎｎｅｌ）スイッチ１７と、複数のディスク装置で構成されるディスク装置群２と、を備えている。
【００２５】
ＣＡ１３は、情報処理装置１１、１２との接続Ｉ／Ｆを備える。本実施例に係るＣＡ１３は、ＦＣ用のものを使用している。ただし、これに限定する趣旨ではなく、例えば、必要に応じてｉＳＣＳＩ用のものであってもよい。
【００２６】
ＣＭ１４は、ディスクアレイ装置１０の制御を行なう。特に、ＤＡ１５の制御を行なうことにより、ＣＭ１４−ディスク装置群２間のデータ転送を制御する。また、ＣＭ１４はメモリ１８を備え、ディスクアレイ装置１０の制御に必要なプログラム、構成情報２０、及びディスク装置群２に書き込むデータ若しくはディスク装置群２から読み出したデータを格納する。
【００２７】
ＤＡ１５は、ディスク装置群２との接続Ｉ／Ｆである。ＲＡＩＤ５を構成するＲＡＩＤへのデータ書込みを行なう場合には、ＤＡ１５にてデータストライプを生成する。ＲＴ１６は、ＣＡ１３、ＣＭ１４、ＤＡ１５をＰＣＩバスで接続するためのマルチプレクサである。
【００２８】
また、ＤＡ１５とディスク装置群２とは、ＦＣスイッチ１７を介して接続される。いわゆるファブリック型に接続されている。
以上に説明した構成において、例えば、ＲＥＡＤ処理が行なわれる場合、情報処理装置１１からの命令によりＣＭ１４は、メモリ１８上に該当するデータがあれば当該データを、ＲＴ１６、ＣＡ１３を介して情報処理装置１１に送信する。
【００２９】
メモリ１８上に該当するデータがない場合には、該当するデータをディスク装置群２からＦＣスイッチ１７、ＤＡ１５、及びＲＴ１６を介して読み出し、メモリ１８に格納すると共に、ＲＴ１６、ＣＡ１３を介して情報処理装置１１に送信する。
【００３０】
また、ＷＲＩＴＥ処理が行なわれる場合、当該データは、情報処理装置１１からＣＡ１３、ＲＴ１６を介してＣＭ１４に送られ、メモリ１８に格納される。そして、必要に応じてディスク装置群２からＦＣスイッチ１７、ＤＡ１５、ＲＴ１６を介してデータが読み出され、Ｂａｎｄｗｉｄｔｈ  Ｗｒｉｔｅ処理によってＲＴ１６、ＤＡ１５、ＦＣスイッチ１７を介してディスク装置群２に書込みが行なわれる。
【００３１】
なお、図２に示したＤＡ１５−ＦＣスイッチ１７間のデータパスとディスク装置群２−ＦＣスイッチ１７間のデータバスは、それぞれＤＥの数だけデータパスが存在するが、当該データパスについては模式的に示している。
【００３２】
したがって、本実施例に係るディスクアレイ装置は、最大８台のＤＥを備えるので、１つのＤＡ１５は８本のデータバスを有し、それぞれのＦＣスイッチ１７と４本のデータバスで接続されている。また、各ＦＣスイッチ１７はディスク装置群２と８本のデータバスで接続されている。
【００３３】
また、情報処理装置１１、１２、ＣＡ１３、ＣＭ１４、ＤＡ１５、ＲＴ１６、ＦＣスイッチ１７、及びメモリ１８は、図２に示した数に限定する趣旨ではなく、それぞれ必要に応じた数で構成すればよい。
【００３４】
図３は、本実施例に係るディスクアレイ装置１０が使用する構成情報２０の例を示す図である。
図３に示す構成情報２０には、ディスク装置群２に構成されるＲＡＩＤにユニークに割当てられる論理番号であるＲＡＩＤ番号と、このＲＡＩＤ番号毎に、ＲＡＩＤ種別、当該ＲＡＩＤが構成されるディスク装置群２の位置を定義するスロット番号及びＤＥ番号、当該ＲＡＩＤを構成するディスク装置のディスクウェイト、及びＲＡＩＤウェイトが格納される。
【００３５】
なお、ＲＡＩＤ種別にある括弧内の記載は各ＲＡＩＤのディスク装置構成を示している。例えば、ＲＡＩＤ番号＃０１のＲＡＩＤは、４つのディスク装置をミラーリングし、合計８台のディスク装置でＲＡＩＤ０＋１を構成することを示している。また、ＲＡＩＤ番号＃０７のＲＡＩＤは、４台のディスク装置のうち任意の１台をパリティデータに使用するＲＡＩＤ５を構成することを示している。
【００３６】
また、ＲＡＩＤ１とは、同一内容を常に２つのディスクに書き込むディスクアレイのことを示し、ＲＡＩＤ０＋１とは、データをブロック単位に分割して複数のディスクに分散して記録するＲＡＩＤ０とＲＡＩＤ１との組み合わせを構成したディスクアレイを示す。ＲＡＩＤ５は、ＲＡＩＤ０のストライピングデータに対してパリティデータを生成して任意のディスクに分散して記録するディスクアレイを示す。
【００３７】
ここで、各ＲＡＩＤを構成するディスク装置のディスクウェイトは、以下のように計算することができる。なお、ＲＡＩＤ０＋１及びＲＡＩＤ１（以下、「ミラー系ＲＡＩＤ」という）の場合と、ＲＡＩＤ５の場合と、で分けて説明する。また、以下の各ウェイトの計算では、計算を簡単とするためにＤＡがＲＡＩＤにアクセスした場合に、当該ＲＡＩＤを構成する全ディスク装置にアクセスした場合の平均アクセス回数を１．０（基準）とする。
【００３８】
（１）ＲＡＩＤ種別がミラー系ＲＡＩＤの場合
ＲＥＡＤ時では、プライマリディスク又はセカンダリディスクのいずれか一方にアクセスを行なうため、ＤＡから見た１ディスク装置への平均アクセス回数は０．５（＝１＊１／２）となる。
【００３９】
また、ＷＲＩＴＥ時では、プライマリディスクとセカンダリディスクとに同時にアクセスを行なうため、ＤＡから見た１ディスク装置への平均アクセス回数は１．０となる。
ここで、ＲＥＡＤ処理とＷＲＩＴＥ処理との比率をＲＥＡＤ：Ｗｒｉｔｅ＝５０％：５０％と仮定すると、ＤＡから見た１ディスク装置への平均アクセス回数（ディスクウェイト）は０．７５（＝０．５＊０．５＋１．０＊０．５）となる。
【００４０】
したがって、例えば、図３に示すＲＡＩＤ番号＃０１のＲＡＩＤは、８台のディスク装置を使用してＲＡＩＤ０＋１（４＋４）を構成するので、ＲＡＩＤウェイトは、６．０（＝０．７５＊８）となる。
【００４１】
（２）ＲＡＩＤ種別がＲＡＩＤ５の場合
以下、説明を簡単とするためにＲＡＩＤ５（３＋１Ｐ）の場合について説明する。
ＲＥＡＤ時は、ディスク装置に障害がない限りデータを格納しているディスク装置（パリディデータ格納に使用したディスク装置以外のディスク装置）にアクセスを行なうため、ＤＡから見た１ディスク装置への平均アクセス回数は、０．７５（＝１．０＊３／４）となる。
【００４２】
一方、ＷＲＩＴＥ時は、当該ＲＡＩＤ５のデータストライプがＤＡで完成した場合にはＢａｎｄｗｉｄｔｈ  Ｗｒｉｔｅ処理が行なわれ、全ディスク装置に対して同時にＷＲＩＴＥ処理が行なわれるので、ＤＡから見た１ディスク装置への平均アクセス回数は１．０となる。
【００４３】
また、当該ＲＡＩＤ５のデータストライプがＤＡで完成しない場合、すなわち、データストライプのサイズが所定のストライプサイズ未満である場合には、データストライプを完成させた後にＢａｎｄｗｉｄｔｈ  Ｗｒｉｔｅ処理が行なわれる。このため、ディスク装置（パリディデータを含む全ディスク装置）からデータを読み出すＲＥＡＤ処理を伴うこととなる。したがって、データストライプのサイズが所定のストライプサイズ未満である場合の１ディスク装置への平均アクセス回数は、ＲＥＡＤ時のＤＡから見た１ディスク装置への平均アクセス回数１．０と、ＷＲＩＴＥ時のＤＡから見た１ディスク装置への平均アクセス回数１．０と、の和から２．０となる。
【００４４】
ここで、ＲＥＡＤ処理とＷＲＩＴＥ処理との比率をＲＥＡＤ：Ｗｒｉｔｅ＝５０％：５０％、Ｂａｎｄｗｉｄｔｈ  Ｗｒｉｔｅの成立比率を５０％と仮定すると、ＤＡから見た１ディスク装置への平均アクセス回数（ディスクウェイト）は、ＲＥＡＤ時が０．７５＊０．５、ＷＲＩＴＥ時が（１．０＋２．０）＊０．５＊０．５となるから、１．１２５（＝０．７５＊０．５＋（１．０＋２．０）＊０．５＊０．５）となる。
【００４５】
以上から、例えば、図３に示すＲＡＩＤ番号＃０７のＲＡＩＤは、４台のディスク装置を使用してＲＡＩＤ５を構成するので、ＲＡＩＤウェイトは、４．５（＝１．１２５＊４）となる。
【００４６】
以上の説明では、各ＲＡＩＤを構成するディスク装置が全て同じ性能（例えば、磁気ディスクの回転数が同じ）である場合について説明したが、ＲＡＩＤを構成するディスク装置の性能に応じてＲＡＩＤウェイトを算出してもよい。
【００４７】
例えば、ディスク装置の基準回転速度を１００００回転／分とする。ＲＡＩＤ番号＃０１のＲＡＩＤを構成するディスク装置の回転速度が１５０００回転／分であった場合、基準回転速度の１．５倍の性能を得ることができることからＲＡＩＤ番号＃０１のＲＡＩＤのＲＡＩＤウェイトを、９．０（＝６．０＊１．５）と算出してもよい。
【００４８】
同様に、ＲＡＩＤ番号＃０７のＲＡＩＤを構成するディスク装置の回転速度が１５０００回転／分であった場合、基準回転速度の１．５倍の性能を得ることができることからＲＡＩＤ番号＃０７のＲＡＩＤのＲＡＩＤウェイトを、６．７５（＝４．５＊１．５）と算出してもよい。
【００４９】
図４には、図３に示した構成情報２０の構成のディスク装置群２の例を示している。
図４に示すディスク装置群２は、８個のディスク装置を備えるプリント板をスロット番号＃００〜＃０８の各スロットに実装することによって構成されたディスク装置群を示している。また、ＤＥ（Ｄｅｖｉｃｅ  Ｅｎｃｌｏｓｕｒｅ）はディスク装置用のスロットを示している。
【００５０】
したがって、スロット番号は、８個のディスク装置を備えるプリント板の実装位置を示し、ＤＥ番号は、各スロットにおけるディスク装置の実装位置を示している。
また、図４に示すディスク装置群２には、図３で示した構成情報２０にしたがってＲＡＩＤが構成されている。例えば、スロット番号＃０８のＤＥ番号＃００−０７には、ＲＡＩＤ０＋１（４＋４）のＲＡＩＤ（ＲＡＩＤ番号＃０１）が構成されている。また、スロット番号＃００のＤＥ番号＃０４−０７には、ＲＡＩＤ５（３＋１）のＲＡＩＤ（ＲＡＩＤ番号＃０９）が構成されている。
【００５１】
また、図４に示すディスク装置群２を構成する各ディスク装置２１は、２つのインターフェースを同時に使用可能な「デュアルポート」に対応したディスク装置である。例えば、２本のシリアルインターフェイスを同時に使用可能なＨＤＤを使用している。
【００５２】
したがって、同一のディスク装置にアクセスするパスは２つ存在することとなる。以下、このパスを「ＤＡパス」といい、ＤＡパス番号「Ｐ＃００」と「Ｐ＃０１」とで区別する。
【００５３】
以上に説明した構成のディスクアレイ装置１０におけるディスクアレイアクセス動的制御装置１の具体的な処理の説明を図５〜図９に基づいて行なう。
図５は、ディスクアレイアクセス動的制御装置１が各担当ＤＡにＲＡＩＤを割当てる処理を示すフローチャートである。なお、以下に説明する処理は、図２に示したＣＭ１４に備わるＣＰＵが、例えば、メモリ１８に記憶されたプログラムを読み出して、当該プログラムの命令を実行することによって実現されるが、説明を簡単にするために処理の主体をディスクアレイアクセス動的制御装置１として記載する。
【００５４】
また、図６は、以下に示すディスクアレイアクセス動的制御装置１の処理で生成する担当ＤＡ割当てテーブル２２の例を示す図である。この担当ＤＡ割当てテーブル２２は、担当ＤＡと、担当ＤＡが担当するＤＡパスＰ＃００におけるＲＡＩＤ及びＤＡパスＰ＃０１におけるＲＡＩＤと、ＤＡウェイトと、の関係を示している。
【００５５】
なお、ＤＡウェイトは、各担当ＤＡが担当するＲＡＩＤのＲＡＩＤウェイトの総和として計算される。そして、以下に説明する処理によってＤＡウェイトが均一となるように担当ＤＡ割当てテーブル２２を生成する。
【００５６】
まず、図５のステップＳ５００において、ディスクアレイアクセス動的制御装置１は、メモリ１８に格納されている構成情報２０を読み出して処理をステップＳ５０１に移行する。
【００５７】
ステップＳ５０１において、ディスクアレイアクセス動的制御装置１は、各ＲＡＩＤ（例えば、図３に示したＲＡＩＤ番号＃０１〜０９）についてＲＡＩＤウェイトを算出する。なお、具体的なＲＡＩＤウェイトの算出方法は、図３で説明したとおりであるので、ここでは省略する。各ＲＡＩＤに対するＲＡＩＤウェイトの算出が完了すると、ディスクアレイアクセス動的制御装置１は、処理をステップＳ５０２に移行する。
【００５８】
ステップＳ５０２において、ディスクアレイアクセス動的制御装置１は、算出したＲＡＩＤウェイトを降順に並び替え、さらに、ステップＳ５０３において、順次ＤＡにＲＡＩＤを割当てる。
【００５９】
例えば、図６に示すＤＡパスＰ＃００のように、ＤＡ＃００、ＤＡ＃０１、ＤＡ＃０２、・・・ＤＡ＃０７に対して、ＲＡＩＤウェイトが降順となるように、すなわち、ＲＡＩＤ＃００（ＲＡＩＤウェイト：６．０）、ＲＡＩＤ＃０１（ＲＡＩＤウェイト：６．０）、ＲＡＩＤ＃０２（ＲＡＩＤウェイト：６．０）、ＲＡＩＤ＃０６（ＲＡＩＤウェイト：４．５）、・・・、ＲＡＩＤ＃０４（ＲＡＩＤウェイト：１．５）の順にそれぞれ割当てられる。
【００６０】
そして、ＤＡ＃００〜０７に対するＲＡＩＤの割当てが一通り完了すると、ディスクアレイアクセス動的制御装置１は、処理をステップＳ５０４に移行する。
ステップＳ５０４において、ディスクアレイアクセス動的制御装置１は、全てのＲＡＩＤを担当ＤＡに割当てたかチェックを行なう。全ての割当てが完了した場合には、処理をステップＳ５０５に移行する。
【００６１】
また、ＲＡＩＤの割当てが完了していない場合には、処理をステップＳ５０３移行して、前回実施したステップＳ５０３の処理とは逆の順番にＤＡにＲＡＩＤを割当てる。例えば、図６に示すＤＡパスＰ＃００のように、ＤＡ＃０７、ＤＡ＃０６、ＤＡ＃０５、・・・ＤＡ＃００に対して、ＲＡＩＤウェイトが降順となるように、すなわち、ＲＡＩＤ＃０５（ＲＡＩＤウェイト：１．５）が割当てられる。
【００６２】
以上に説明したステップＳ５０１〜Ｓ５０４の処理によって、図６に示すＤＡパスＰ＃００の担当ＤＡにＲＡＩＤを割当てる処理が完了する。
ステップＳ５０５において、ディスクアレイアクセス動的制御装置１は、ステップＳ５０１〜Ｓ５０４で生成したＤＡパスＰ＃００に対する担当ＤＡ割当てテーブル２２のＤＡ番号を昇降反転させてＤＡパスＰ＃０１に対する担当ＤＡ割当てテーブル２２を生成する。
【００６３】
以上の処理によって、図６に示すようにＲＡＩＤ＃０１、ＲＡＩＤ＃０２、ＲＡＩＤ＃０３、ＲＡＩＤ＃０６、・・・、ＲＡＩＤ＃０４及びＲＡＩＤ＃０５は、ＤＡパスＰ＃００においては、ＤＡ＃００、ＤＡ＃０１、ＤＡ＃０２、ＤＡ＃０３、・・・、ＤＡ＃０７に割当てられ、ＤＡパスＰ＃０１においては、ＤＡ＃０７、ＤＡ＃０６、ＤＡ＃０５、ＤＡ＃０４、・・・、ＤＡ＃００に割当てられる。
【００６４】
以上の処理によって生成された担当ＤＡ割当てテーブル２２のＤＡウェイトは、９．０〜１０．５の範囲となる。一方、図３に示した全ＲＡＩＤウェイトの平均は、４．３（＝（６．０＋６．０＋６．０＋１．５＋・・・＋４．５）／９）であるから、ＤＡパスＰ＃００とＤＡパスＰ＃０１を考慮するとＤＡウェイトの平均値は８．６（＝４．６＊２）となるので、平均値に近い値でＤＡウェイトが均一となる。
【００６５】
そして、ステップＳ５０５において、ディスクアレイアクセス動的制御装置１は、図６の担当ＤＡ割当てテーブル２２から、図７に示すＲＡＩＤ割当てテーブル２３を生成してメモリ１８に格納する。そして、処理をステップＳ５０６に移行して処理を終了する。
【００６６】
ここで、図７に示すＲＡＩＤ割当てテーブル２３は、各ＲＡＩＤと担当ＤＡ及びＤＡパスとの関係を示す図である。
例えば、ＲＡＩＤ番号＃０１へのアクセスには、担当ＤＡとしてＤＡ＃００（Ｐ＃００）とＤＡ＃０７（Ｐ＃０１）とが使用されることを示している。また、ＲＡＩＤ番号＃０７へのアクセスには、担当ＤＡとしてＤＡ＃０３（Ｐ＃０１）とＤＡ＃０４（Ｐ＃００）とが使用されることを示している。
【００６７】
したがって、ＣＭ１４（アクセス手段６）は、メモリ１８に格納されているＲＡＩＤ割当てテーブル２３を参照し、アクセス対象のＲＡＩＤの担当ＤＡ及びＤＡパスを取得して当該ＲＡＩＤにアクセスを行なうこととなる。
【００６８】
以下、図７に示したＲＡＩＤ割当てテーブル２３に基づいて行なわれるミラー系ＲＡＩＤ及びＲＡＩＤ５へのアクセスについて説明する。
図８は、ミラー系ＲＡＩＤにアクセスする場合の例として、図７に示したＲＡＩＤ割当てテーブル２３にしたがってＲＡＩＤ番号＃０１にアクセスする場合の例を示している。
【００６９】
図８に示すＲＡＩＤ番号＃０１のＲＡＩＤは、ＤＥ＃００〜０３のプライマリディスクとＤＥ＃０４〜０７のセカンダリディスクとが二重化された構成のＲＡＩＤ０＋１（４＋４）のＲＡＩＤである。
【００７０】
また、各ディスク装置は「デュアルポート」に対応したディスク装置なので、左右のＦＣスイッチに対してＤＡパスＰ＃００及びＤＡパスＰ＃０１を有する。なお、全てのディスク装置は、物理的に左右のＦＣスイッチ１７と接続されているが、図８には、図７に示したＲＡＩＤ割当てテーブル２３にしたがって担当ＤＡとディスク装置とが通信可能に接続されている接続線のみを表示している。
【００７１】
そして、ＤＡ＃００と通信可能に接続されるディスク装置を実線で示し、ＤＡ＃０７と通信可能に接続されるディスク装置を一点破線で示している。
図８からわかるように、ミラー系ＲＡＩＤにアクセスする場合には、（１）スロット番号が偶数、かつＤＡ番号が偶数の場合にはＤＡパス＃００、（２）スロット番号が偶数、かつＤＡ番号が奇数の場合にはＤＡパス＃０１、を使用している。
【００７２】
また、図８には示さないが（３）スロット番号が奇数、かつＤＡ番号が偶数の場合にはＤＡパス＃０１、（４）スロット番号が奇数、かつＤＡ番号が奇数の場合にはＤＡパス＃００、を使用している。
【００７３】
図９は、ＲＡＩＤ５にアクセスする場合の例として、図７に示したＲＡＩＤ割当てテーブル２３にしたがってＲＡＩＤ番号＃０７にアクセスする場合の例を示している。
図９に示すＲＡＩＤ番号＃０１のＲＡＩＤは、ＤＥ＃０４〜０７の４台のディスク装置によって構成されたＲＡＩＤ５（３＋１Ｐ）のＲＡＩＤである。
【００７４】
また、図９に示す各ディスク装置も「デュアルポート」に対応したディスク装置なので、左右のＦＣスイッチに対してＤＡパスＰ＃００及びＤＡパスＰ＃０１を有する。また、全てのディスク装置は、物理的に左右のＦＣスイッチ１７と接続されているが、図９には、図７に示したＲＡＩＤ割当てテーブル２３にしたがって担当ＤＡとディスク装置とが通信可能に接続されている接続線のみを表示している。
【００７５】
そして、ＤＡ＃０４と通信可能に接続されるディスク装置を実線で示し、ＤＡ＃０３と通信可能に接続されるディスク装置を一点破線で示している。
ＲＡＩＤ５にアクセスする場合には、（１）所定の論理ブロックアドレス（ＬＢＡ：Ｌｏｇｉｃａｌ  Ｂｌｏｃｋ  Ａｄｄｒｅｓｓ）より小さいアドレスにアクセスする場合にはＤＡパス＃００を使用し、（２）所定の論理ブロックアドレスより大きいアドレスにアクセスする場合にはＤＡパス＃０１を、使用している。
【００７６】
なお、所定の論理ブロックアドレスは、必要に応じて最大論理ブロックアドレスの１／２や１／３等の値をあらかじめ設定すればよい。
以上に説明した処理によって、各ＲＡＩＤに対する担当ＤＡに係る負荷（ＤＡウェイト）のバランスを均一化するように自動的にチューニングを行うことが可能となる。その結果、ディスク装置群２へのアクセス性能を向上させることが可能となる。
【００７７】
また、スロット番号やＲＡＩＤ番号（例えば、スロット番号が偶数か奇数か）などに応じて各ＲＡＩＤを担当ＤＡに割当てる必要がないので、ディスク装置群２のディスク装置やＲＡＩＤの構成に依存することなくＲＡＩＤ番号を割当てることが可能となる。
【００７８】
（付記１）  ディスク装置群のディスク装置を組み合わせて複数のディスクアレイを構成し、該ディスク装置へアクセスするためのインターフェースであるデバイスアダプタを複数有するディスクアレイ装置において、前記ディスクアレイを構成するディスク装置の組み合わせ情報と、該ディスクアレイを構成するディスク装置への平均アクセス回数を示すディスクウェイトと、を記憶する構成情報記憶手段と、該組み合わせ情報とディスクウェイトとに基づいて、所定のディスクアレイにアクセスする各担当デバイスアダプタの負荷が均一となるように担当デバイスアダプタに前記ディスクアレイを割当てる担当デバイスアダプタ制御手段と、該担当デバイスアダプタを介して前記ディスクアレイを構成するディスク装置にアクセスするアクセス手段と、を備えることを特徴とするディスクアレイアクセス動的制御装置。（１）
（付記２）  前記担当デバイスアダプタ制御手段は、ディスクアレイの種別に応じて、前記ディスクウェイトを用いて、前記デバイスアダプタから前記ディスクアレイへの平均アクセス回数を示すディスクアレイウェイトを算出するディスクアレイウェイト算出手段と、該ディスクアレイウェイトを用いて、１又は２以上の所定のディスクアレイへのアクセスを担当する担当デバイスアダプタのディスクアレイへの平均アクセス回数を示すデバイスアダプタウェイトが均一になるように各ディスクアレイを担当デバイスアダプタに割当てる担当デバイスアダプタ割当て手段と、を備えることを特徴とする付記１に記載のディスクアレイアクセス動的制御装置。（２）
（付記３）  前記ディスクアレイウェイト算出手段は、さらに、前記ディスクアレイウェイトに対して、ディスクアレイを構成するディスク装置の磁気ディスクの回転数に応じた係数を乗算して得た値をディスクアレイウェイトとする、ことを特徴とする付記２に記載のディスクアレイアクセス動的制御装置。（３）（付記４）  前記担当デバイスアダプタ制御手段は、前記ディスクアレイがＲＡＩＤ０＋１又はＲＡＩＤ１のミラー系ＲＡＩＤである場合、該ディスクアレイを構成する互いに隣接したディスク装置にアクセスする担当デバイスアダプタに異なるデバイスアダプタを割当てることを特徴とする付記１に記載のディスクアレイアクセス動的制御装置。
（付記５）  前記担当デバイスアダプタ制御手段は、前記ディスクアレイがＲＡＩＤ５である場合、該ディスクアレイにアクセスする論理ブロックアドレスに応じて、当該論理ブロックアドレスのデータを格納するディスク装置にアクセスする担当デバイスアダプタに異なるデバイスアダプタを割当てることを特徴とする付記１に記載のディスクアレイアクセス動的制御装置。
（付記６）  ディスク装置群のディスク装置を組み合わせて複数のディスクアレイを構成し、該ディスク装置へアクセスするためのインターフェースであるデバイスアダプタを複数有するディスクアレイ装置において、前記ディスクアレイを構成するディスク装置の組み合わせ情報と、該ディスクアレイを構成するディスク装置への平均アクセス回数を示すディスクウェイトと、を記憶する構成情報記憶手段を参照してディスクウェイトを取得するディスクウェイト取得処理と、該組み合わせ情報とディスクウェイトとに基づいて、所定のディスクアレイにアクセスする各担当デバイスアダプタの負荷が均一となるように担当デバイスアダプタに前記ディスクアレイを割当てる担当デバイスアダプタ制御処理と、該担当デバイスアダプタを介して前記ディスクアレイを構成するディスク装置にアクセスするアクセス処理と、をディスクアレイ装置に実行させることを特徴とするディスクアレイアクセス動的制御方法。（４）
（付記７）  前記担当デバイスアダプタ制御処理は、ディスクアレイの種別に応じて、前記ディスクウェイトを用いて、前記デバイスアダプタから前記ディスクアレイへの平均アクセス回数を示すディスクアレイウェイトを算出するディスクアレイウェイト算出処理と、該ディスクアレイウェイトを用いて、１又は２以上の所定のディスクアレイへのアクセスを担当する担当デバイスアダプタのディスクアレイへの平均アクセス回数を示すデバイスアダプタウェイトが全て均一になるように各ディスクアレイを担当デバイスアダプタに割当てる担当デバイスアダプタ割当て処理と、をディスクアレイ装置に実行させることを特徴とする付記６に記載のディスクアレイアクセス動的制御方法。（５）
（付記８）  前記ディスクアレイウェイト算出処理は、さらに、前記ディスクアレイウェイトに対して、ディスクアレイを構成するディスク装置の磁気ディスクの回転数に応じた係数を乗算して得た値をディスクアレイウェイトとする、ことを特徴とする付記７に記載のディスクアレイアクセス動的制御方法。
（付記９）  前記担当デバイスアダプタ制御手段は、前記ディスクアレイがＲＡＩＤ０＋１又はＲＡＩＤ１のミラー系ＲＡＩＤである場合、該ディスクアレイを構成する互いに隣接したディスク装置にアクセスする担当デバイスアダプタに異なるデバイスアダプタを割当てる、ことを特徴とする付記６に記載のディスクアレイアクセス動的制御方法。
（付記１０）  前記担当デバイスアダプタ制御手段は、前記ディスクアレイがＲＡＩＤ５である場合、該ディスクアレイにアクセスする論理ブロックアドレスに応じて、当該論理ブロックアドレスのデータを格納するディスク装置にアクセスする担当デバイスアダプタに異なるデバイスアダプタを割当てる、ことを特徴とする付記６に記載のディスクアレイアクセス動的制御方法。
（付記１１）  前記担当デバイスアダプタ割当て手段は、前記ディスクアレイウェイトを降順にソートし、該ソートしたディスクアレイウェイトに対応するＲＡＩＤを、第１の順と該第１の順と逆の順である第２の順とに交互にしたがってＤＡに割当てる、ことを特徴とする付記６に記載のディスクアレイアクセス動的制御方法。
【図面の簡単な説明】
【００７９】
【図１】本発明の原理を示す図である。
【図２】本発明の実施例に係るディスクアレイ装置の構成例を示す図である。
【図３】本実施例に係るディスクアレイ装置が使用する構成情報の例を示す図である。
【図４】図３に示した構成情報の構成のディスク装置群の例を示す図である。
【図５】ディスクアレイアクセス動的制御装置が各ＤＡが担当するＲＡＩＤを割当てる処理を示すフローチャートである。
【図６】図５に示したディスクアレイアクセス動的制御装置の処理で生成する担当ＤＡ割当てテーブルの例を示す図である。
【図７】図５に示したディスクアレイアクセス動的制御装置の処理で生成するＲＡＩＤ割当てテーブルの例を示す図である。
【図８】図７に示したＲＡＩＤ割当てテーブルにしたがってミラー系ＲＡＩＤにアクセスする場合の例を示す図である。
【図９】図７に示したＲＡＩＤ割当てテーブルにしたがってＲＡＩＤ５にアクセスする場合の例を示す図である。
【図１０】ディスクアレイ装置の主要部を示す従来例の図である。
【符号の説明】
【００８０】
１      ディスクアレイアクセス動的制御装置
２      ディスク装置群
３      構成情報記憶手段
４      担当ＤＡ制御手段
５      情報処理装置
６      アクセス手段
１０      ディスクアレイ装置
１１      情報処理装置
１２      情報処理装置
１３      ＣＡ
１４      ＣＭ
１５      ＤＡ
１６      ＲＴ
１７      ＦＣスイッチ
１８      メモリ
【図１】
2007004620.tif 000003
【図２】
2007004620.tif 000004
【図３】
2007004620.tif 000005
【図５】
2007004620.tif 000006
【図６】
2007004620.tif 000007
【図７】
2007004620.tif 000008
【図８】
2007004620.tif 000009
【図９】
2007004620.tif 000010
【図４】
2007004620.tif 000011
【図１０】
2007004620.tif 000012