(57)【要約】【課題】アクセス性能の向上が図れるようにする。【解決手段】アレイ／スライス定義部１２１ａは、少なくとも１台のディスクドライブの記憶領域を連続した１つの領域として定義される少なくとも１つのアレイであって、当該連続した１つの領域を一定の容量にて分割することにより、その分割された領域として定義されるスライスの集合からなる少なくとも１つのアレイを構成する。論理ディスク定義部１２１ｂは、上記少なくとも１つのアレイのうちの任意のアレイに含まれている任意の複数のスライスを組み合わせて少なくとも１つの論理ディスクを構成する。スライス移動部１２１ｃは、上記少なくとも１つの論理ディスクのうちの任意の論理ディスクにエントリされた任意の第１のスライスと、何れの論理ディスクにもエントリされていない第２のスライスとを入れ替える。【選択図】      図１
2006024024.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも１台のディスクドライブの記憶領域を利用して構成される論理ディスクであって、ホストから１つのディスクボリュームとして認識される論理ディスクを管理するための、仮想化装置における論理ディスク管理方法において、
前記少なくとも１台のディスクドライブの記憶領域を連続した１つの領域として定義される少なくとも１つのアレイであって、当該連続した１つの領域を一定の容量にて分割することにより、その分割された領域として定義されるスライスの集合からなる少なくとも１つのアレイを構成するステップと、
前記少なくとも１つのアレイのうちの任意のアレイに含まれている任意の複数のスライスを組み合わせて少なくとも１つの論理ディスクを構成するステップと、
前記少なくとも１つの論理ディスクのうちの任意の論理ディスクにエントリされた任意の第１のスライスと、何れの論理ディスクにもエントリされていない第２のスライスとを入れ替えるスライス入れ替えステップと
を具備することを特徴とする論理ディスク管理方法。
【請求項２】
前記スライス入れ替えステップは、
前記第１のスライス内のデータを前記第２のスライスにコピーするステップと、
コピーが完了した後に、前記第１のスライスと前記第２のスライスとを入れ替えて、前記第２のスライスを前記論理ディスクにエントリするステップと
を含むことを特徴とする請求項１記載の論理ディスク管理方法。
【請求項３】
前記スライスの単位で、当該スライスを対象とするアクセス処理に関する統計情報を採取して記憶手段に保持するステップと、
前記スライスの単位で採取された統計情報に基づいて、前記アレイ内でアクセス負荷の高い領域を検出するステップと、
アクセス負荷の高い領域に属するスライスを前記第１のスライスとして、前記スライス入れ替えステップを実行させるステップと
を更に具備することを特徴とする請求項１記載の論理ディスク管理方法。
【請求項４】
前記スライスの単位で、当該スライスを対象とするアクセス処理に関する統計情報を採取して記憶手段に保持するステップと、
前記スライスの単位で採取された統計情報に基づいて、前記論理ディスク内の領域をアクセス負荷の程度で区分するステップと、
区分された各領域に割り付けられているアレイ内のスライスを前記第１のスライスとし、当該領域のアクセス負荷の程度に適合するＲＡＩＤレベルを適用するアレイ内の前記論理ディスクにエントリされていないスライスを前記第２のスライスとして、前記スライス入れ替えステップを実行させることにより、前記区分された各領域を、当該領域のアクセス負荷の程度に適合するＲＡＩＤレベルを適用するスライスで再構成するステップと
を更に具備することを特徴とする請求項１記載の論理ディスク管理方法。
【請求項５】
前記スライス入れ替えステップは、
前記第１のスライスと前記第２のスライスとの入れ替えの後に、前記少なくとも１つの論理ディスクのうちの任意の論理ディスクにエントリされた、前記第１のスライスとは異なる任意の第３のスライスと前記第１のスライスとを入れ替えるステップと、
前記第３のスライスと前記第１のスライスとの入れ替えの後に、前記第２のスライスと前記第３のスライスとを入れ替えるステップと
を含むことを特徴とする請求項１記載の論理ディスク管理方法。
【請求項６】
前記スライスの単位で、当該スライスを対象とするアクセス処理に関する統計情報を採取して記憶手段に保持するステップと、
前記スライスの単位で採取された統計情報に基づいて、前記アレイ内でアクセス負荷の高い領域を検出するステップと、
アクセス負荷の高い分散された第１及び第２の領域を含むアレイが存在する場合に、当該アレイ内の、前記第１の領域に続く、前記第２の領域の一部または全部と同一サイズの第３の領域に属するスライスを前記第３のスライスとし、前記第２の領域の前記一部または全部に属するスライスを前記第１のスライスとして、前記スライス入れ替えステップを実行させることにより、前記第２の領域の前記一部または全部を前記アレイ内で前記第１の領域に連続するように再配置するステップと
を更に具備することを特徴とする請求項５記載の論理ディスク管理方法。
【請求項７】
少なくとも１台のディスクドライブの記憶領域を利用して構成される論理ディスクであって、ホストから１つのディスクボリュームとして認識される論理ディスクを管理するための仮想化装置において、
前記少なくとも１台のディスクドライブの記憶領域を連続した１つの領域として定義される少なくとも１つのアレイであって、当該連続した１つの領域を一定の容量にて分割することにより、その分割された領域として定義されるスライスの集合からなる少なくとも１つのアレイを構成するアレイ／スライス定義手段と、
前記少なくとも１つのアレイのうちの任意のアレイに含まれている任意の複数のスライスを組み合わせて少なくとも１つの論理ディスクを構成する論理ディスク定義手段と、
前記少なくとも１つの論理ディスクのうちの任意の論理ディスクにエントリされた任意の第１のスライスと、何れの論理ディスクにもエントリされていない第２のスライスとを入れ替えるスライス入れ替えを実行するスライス移動手段と
を具備することを特徴とする仮想化装置。
【請求項８】
前記スライスの単位で、当該スライスを対象とするアクセス処理に関する統計情報を採取して記憶手段に保持する統計情報採取手段を更に具備し、
前記スライス移動手段は、前記スライスの単位で採取された統計情報に基づいて、前記アレイ内でアクセス負荷の高い領域を検出し、検出されたアクセス負荷の高い領域に属するスライスを前記第１のスライスとして前記スライス入れ替えを実行する
ことを特徴とする請求項７記載の仮想化装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、少なくとも１台のディスクドライブの記憶領域を利用して構成される、ホスト計算機から認識される論理ディスクを管理する論理ディスク管理方法及び装置に関する。
【背景技術】
【０００２】
一般にディスクアレイ装置は、複数のディスクドライブ、例えば磁気ディスクドライブ（以下、ＨＤＤと称する）と、これらのＨＤＤと接続されたアレイコントローラとを備えている。アレイコントローラは、一般に知られるＲＡＩＤ（Redundant Arrays of Independent Disks，Redundant Arrays of Inexpensive Disks）の手法により複数のＨＤＤを管理する。つまりアレイコントローラは、ホスト（ホスト計算機）からのデータ読み出し／書き込み要求に対し、接続された複数のＨＤＤを並列に動かしてデータの読み出し／書き込みを分散して実行することでアクセスの高速化を図ると共に、冗長構成によって信頼性の向上を図る。
【０００３】
従来のディスクアレイ装置では、ホストから認識される論理ディスクの領域の物理的な配置は固定的であり、論理ディスク内のブロックアドレスとそれに対応するアレイやＨＤＤのブロックアドレスは基本的に変化することがない。
【０００４】
一方で、装置の運用を開始してみたら、論理ディスクへのアクセス負荷が当初計画と異なっていた、或いは時間と共にアクセス負荷が変化してきた、といったことが生じている。このような場合、従来のディスクアレイ装置では、その論理ディスク内のアレイやＨＤＤにてボトルネックやホットスポット（ＨＤＤのある領域へのアクセス負荷の集中）が発生しても、論理ディスクとアレイやＨＤＤとの対応が固定的であるため、これを解消することは容易ではない。例えば、データをテープなどにバックアップし、論理ディスクを改めて作り直し、テープからリストアするなどの作業が必要となる。
【０００５】
また、最近では複数のホストにてディスクアレイ装置を共有する場合も多い。このような場合、ディスクアレイ装置と接続されるホストの数の増加などによりアクセス負荷が変化し、ボトルネックやホットスポットが発生することも考えられる。
【０００６】
しかし、従来のディスクアレイ装置では、論理ディスクの領域の物理的な配置が固定的であるため、一度運用を開始してしまうとこれらアクセス負荷の変化へ対応することは容易ではない。
【０００７】
そこで近年は、各ＨＤＤ（物理ディスク）のＩ／Ｏ性能値を用いることで各物理ディスクのＩ／Ｏ性能に合った最適な論理ディスクの再配置を行う技術（以下、先行技術と称する）が提案されている（例えば、特許文献１参照）。この先行技術においては、各ＨＤＤのビジー率が最適ビジー率に近づけられる。
【特許文献１】特開２００３−５９２０（段落００１２、００５０乃至００６５、図６及び図７）
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら、上記先行技術では、論理ディスク単位に当該論理ディスクが再配置される。このため先行技術では、論理ディスクの再配置により論理ディスク全体では負荷を軽減できるものの、当該論理ディスク内のアレイやＨＤＤにてボトルネックやホットスポットが発生している場合に、そのボトルネックやホットスポットの発生を解消することは容易ではない。
【０００９】
本発明は上記事情を考慮してなされたものでその目的は、少なくとも１台のディスクドライブの記憶領域が連続した１つの領域として定義されるアレイの全領域を一定サイズのスライスに分割し、任意アレイ内の任意スライスを組み合わせて論理ディスクを構成することにより、アクセス性能の向上が図れる論理ディスク管理方法及び装置を提供することにある。
【課題を解決するための手段】
【００１０】
本発明の１つの観点によれば、少なくとも１台のディスクドライブの記憶領域を利用して構成される論理ディスクであって、ホストから１つのディスクボリュームとして認識される論理ディスクを管理するための、仮想化装置における論理ディスク管理方法が提供される。この方法は、少なくとも１台のディスクドライブの記憶領域を連続した１つの領域として定義される少なくとも１つのアレイであって、当該連続した１つの領域を一定の容量にて分割することにより、その分割された領域として定義されるスライスの集合からなる少なくとも１つのアレイを構成するステップと、上記少なくとも１つのアレイのうちの任意のアレイに含まれている任意の複数のスライスを組み合わせて少なくとも１つの論理ディスクを構成するステップと、上記少なくとも１つの論理ディスクのうちの任意の論理ディスクにエントリされた任意の第１のスライスと、何れの論理ディスクにもエントリされていない第２のスライスとを入れ替えるスライス入れ替えステップとを備える。
【００１１】
上記の構成においては、少なくとも１台のディスクドライブの記憶領域が連続した１つの領域として構成（定義）されるアレイの全領域が一定サイズのスライスに分割される。そして、任意アレイ内の任意の複数のスライスを組み合わせて連結することにより、それらが連続した記憶領域として管理される論理ディスクが構成される。これにより、論理ディスクを構成する、つまり論理ディスクにエントリされる（割り付けられる）スライスを入れ替えるだけで、簡単に論理ディスクを再構成できるため、運用開始後も、論理ディスクを停止することなく（つまりオンラインで）、アクセス負荷の変化に容易に対応でき、アクセス性能を向上できる。
【００１２】
特に、スライスの単位で、当該スライスを対象とするアクセス処理に関する統計情報を採取して記憶手段に保持するステップと、スライスの単位で採取された統計情報に基づいて、アレイ内でアクセス負荷の高い領域を検出するステップと、アクセス負荷の高い領域に属するスライスを上記第１のスライスとして、上記スライス入れ替えステップを実行させるステップとを追加するならば、アクセス負荷の高い領域に属するスライスを論理ディスクにエントリされていない未使用のスライスと入れ替えることで、アレイ内の特定のスライスに、つまり少なくとも１台のディスクドライブの特定領域に、アクセスの負荷が集中しないように調整して、アクセス性能を向上できる。
【００１３】
また、スライスの単位で、当該スライスを対象とするアクセス処理に関する統計情報を採取して記憶手段に保持するステップと、スライスの単位で採取された統計情報に基づいて、論理ディスク内の領域をアクセス負荷の程度で区分するステップと、区分された各領域に割り付けられているアレイ内のスライスを上記第１のスライスとし、当該領域のアクセス負荷の程度に適合するＲＡＩＤレベルを適用するアレイ内の論理ディスクにエントリされていないスライスを上記第２のスライスとして、上記スライス入れ替えステップを実行させることにより、上記区分された各領域を、当該領域のアクセス負荷の程度に適合するＲＡＩＤレベルを適用するスライスで再構成するステップとを追加するならば、論理ディスクを構成するスライスのＲＡＩＤレベルを最適なものに調整して、アクセス性能を向上できる。
【００１４】
また、上記入れ替えステップに、上記第１のスライスと上記第２のスライスとの入れ替えの後に、上記少なくとも１つの論理ディスクのうちの任意の論理ディスクにエントリされた、上記第１のスライスとは異なる任意の第３のスライスと上記第１のスライスとを入れ替えるステップと、上記第３のスライスと上記第１のスライスとの入れ替えの後に、上記第２のスライスと上記第３のスライスとを入れ替えるステップとを含めるならば、同一または異なる論理ディスクにエントリされた２つのスライスを簡単に入れ替えることができる。
【００１５】
このスライス入れ替えステップを利用するための以下のステップ、即ち、スライスの単位で、当該スライスを対象とするアクセス処理に関する統計情報を採取して記憶手段に保持するステップと、スライスの単位で採取された統計情報に基づいて、アレイ内でアクセス負荷の高い領域を検出するステップと、アクセス負荷の高い分散された第１及び第２の領域を含むアレイが存在する場合に、当該アレイ内の、上記第１の領域に続く、上記第２の領域の一部または全部と同一サイズの第３の領域に属するスライスを上記第３のスライスとし、上記第２の領域の上記一部または全部に属するスライスを上記第１のスライスとして、上記スライス入れ替えステップを実行させることにより、上記第２の領域の上記一部または全部を上記アレイ内で上記第１の領域に連続するように再配置するステップとを追加することも可能である。このような構成においては、アクセス負荷の高い領域をアレイ内で１箇所に集めることができるため、シーク量（シーク時間）を削減できる。
【発明の効果】
【００１６】
本発明によれば、少なくとも１台のディスクドライブの記憶領域が連続した１つの領域として定義されるアレイの全領域を一定サイズのスライスに分割し、任意アレイ内の任意スライスを組み合わせて論理ディスクを構成することにより、当該論理ディスクを構成するスライスを入れ替えるだけで、簡単に論理ディスクを再構成できる。このため、論理ディスクを停止することなく、アクセス負荷の変化に容易に対応でき、アクセス性能を向上できる。
【発明を実施するための最良の形態】
【００１７】
以下、本発明の一実施形態につき図面を参照して説明する。  
図１は本発明の一実施形態に係るディスクアレイ装置を備えた計算機システムの構成を示すブロック図である。この計算機システムは、ディスクアレイ装置１０と、当該ディスクアレイ装置１０を外部記憶装置として利用するホスト（ホスト計算機）２０とから構成される。
【００１８】
ディスクアレイ装置１０は、少なくとも１つのアレイ（物理アレイ）、例えば４つのアレイ１１ａ（＃ａ），１１ｂ（＃ｂ），１１ｃ（＃ｃ）及び１１ｄ（＃ｄ）と、少なくとも１つのアレイコントローラ、例えば２重化されたアレイコントローラ１２-1及び１２-2とを備えている。各アレイ１１ｉ（ｉ＝ａ，ｂ，ｃ，ｄ）は、少なくとも１台のディスクドライブ、例えば複数の磁気ディスクドライブ（以下、ＨＤＤと称する）の記憶領域が連続した１つの領域として定義されたものである。アレイコントローラ１２-1及び１２-2は、各アレイ１１ｉ（を構成する複数のＨＤＤ）と接続されている。アレイコントローラ１２-1及び１２-2は、ホスト２０からのデータ読み出し／書き込み要求に対し、アレイ１１ｉを構成する複数のＨＤＤを並列に動かしてデータの読み出し／書き込みを分散して実行する。アレイコントローラ１２-1及び１２-2は相互に通信を行うことで常に同一の状態となるように同期化されている。
【００１９】
アレイコントローラ１２-1及び１２-2は仮想化ユニット１２０-1及び１２０-2を有する。仮想化ユニット１２０-1及び１２０-2は、任意のアレイ１１ｉ内の後述する任意スライスを複数組み合わせて、ホスト２０から認識される論理ディスクを構成する。仮想化ユニット１２０-1は、論理ディスク構成部１２１とマップテーブル１２２とから構成される。論理ディスク構成部１２１は、アレイ／スライス定義部１２１ａと、論理ディスク定義部１２１ｂと、スライス移動部１２１ｃと、データライト部１２１ｄと、統計情報採取部１２１ｅとを含む。なお、図１では省略されているが、仮想化ユニット１２０-2も、仮想化ユニット１２０-1と同様の構成を含んでいる。論理ディスク構成部１２１（を含む仮想化ユニット１２０-1）は、アレイコントローラ１２-1（内の図示せぬプロセッサ）が当該コントローラにインストールされた特定のソフトウェアプログラムを当該コントローラ（内のプロセッサ）が読み取って実行することにより実現される。このプログラムは、コンピュータで読み取り可能な記憶媒体（フロッピー（登録商標）ディスクに代表される磁気ディスク、ＣＤ−ＲＯＭ、ＤＶＤに代表される光ディスク、フラッシュメモリに代表される半導体メモリ等）に予め格納して頒布可能である。また、このプログラムが、ネットワークを介してダウンロード（頒布）されても構わない。
【００２０】
アレイ／スライス定義部１２１ａは、アレイとスライスとを定義する。このアレイ／スライス定義部１２１ａによるアレイとスライスの定義について、図２を参照して説明する。アレイ／スライス定義部１２１ａは、少なくとも１台のＨＤＤを１つのグループとして、ＲＡＩＤの手法により当該グループ内のＨＤＤの記憶領域を連続した１つの領域として管理されるアレイを定義する。図１中のアレイ１１ａは、例えば図２（ａ）に示すように、４台のＨＤＤからなるＲＡＩＤ１＋０レベルで管理されたアレイであるものとする。同様に、図１中のアレイ１１ｂは、５台のＨＤＤからなるＲＡＩＤ５レベルで管理されるアレイである。ここでは、説明を簡略化するために、アレイ１１ａ及び１１ｂを構成する２つのグループに共通のＨＤＤは存在しないものとする。この場合、アレイ１１ａ及び１１ｂの記憶領域の容量は、それぞれ、ＨＤＤ４台分及びＨＤＤ５台分となる。アレイ／スライス定義部１２１ａは、アレイ１１ａ及び１１ｂ（更にはアレイ１１ｃ及び１１ｄ）の記憶領域を、ディスクアレイ装置１０内で共通の容量（例えば１ＧＢ）で分割し、その分割した各々の領域をスライスと定義する。したがって、ディスクアレイ装置１０内の何れのアレイの何れのスライスも同一容量となる。後述のスライス移動部１２１ｃによるスライスの移動のためにはこの点が重要となる。ここでは、各アレイ１１ａ及び１１ｂ（更にはアレイ１１ｃ及び１１ｄ）内の各スライスには、当該スライスのＩＤ（識別情報）としての番号（スライス番号）が、当該アレイにおけるアドレスの昇順に割り当てられている。つまり、アレイ内の各スライスに割り当てられるスライス番号は、当該スライスのアレイ内の位置（物理位置）をも表す。
【００２１】
論理ディスク定義部１２１ｂは、ホスト２０から単一のディスク（ディスクボリューム）として認識される論理ディスクを定義する。この論理ディスク定義部１２１ｂによる論理ディスクの定義について、図３を参照して説明する。論理ディスク定義部１２１ｂは、任意アレイの任意スライスを複数連結し、それらが連続した記憶領域として管理される論理ディスクを定義する。図３の例では、アレイ１１ａ内のスライス＃ａ０と、アレイ１１ｃ内のスライス＃ｃ０と、アレイ１１ａ内のスライス＃ａ１と、アレイ１１ｄ内のスライス＃ｄ０とを含むスライス群を組み合わせて（連結して）論理ディスク３１-0（＃０）が定義される。同様に、アレイ１１ａ内のスライス＃ａ２と、アレイ１１ｂ内のスライス＃ｂ０と、アレイ１１ｂ内のスライス＃ｂ１と、アレイ１１ｃ内のスライス＃ｃ１とを含むスライス群を組み合わせて論理ディスク３１-１（＃１）が定義される。このように、論理ディスクの記憶領域は、スライスの単位で物理的に不連続な割り付けとなる。論理ディスクの容量は、１スライスの容量×スライス数となる。論理ディスクは、最終的にホスト２０から単一のディスクボリュームとして認識される単位となる。ホスト２０からは、この論理ディスクがあたかも１台のＨＤＤのように認識される。論理ディスクに割り付けられた各スライスには、当該論理ディスクにおけるアドレスの昇順にスライス番号が割り当てられる。つまり、論理ディスクに割り付けられた各スライスは、当該論理ディスクにおける位置を表すスライス番号と、対応するアレイにおける位置（物理位置）を表すスライス番号との２つのスライス番号で管理される。
【００２２】
マップテーブル１２２は、上記論理ディスクとアレイとを関連付けるための情報（マップ情報）を格納したテーブルである。このマップテーブル１２２のデータ構造例を図４に示す。図４の例では、論理ディスク内のアドレスが小さい方に割り付けられたスライスから順に、スライスの情報がマップの行方向に格納される。ここでは、論理ディスク内の各々のスライスについて、フィールド４１乃至４８が用意されている。フィールド４１は、対応するスライスが割り付けられる論理ディスクのＩＤ（識別情報）としての論理ディスク番号を格納するのに用いられる。フィールド４２は、対応するスライスの論理ディスクにおけるスライス番号を格納するのに用いられる。フィールド４３は、対応するスライスが所属するアレイのＩＤとしてのアレイ番号を格納するのに用いられ、フィールド４４は、当該アレイ内における当該スライスのスライス番号を格納するのに用いられる。フィールド４５は、対応するスライスのデータが別のスライスにコピー中であるかを示すコピーフラグを格納するのに用いられる。フィールド４６は、対応するスライスのコピー先のアレイを示すアレイ番号を格納するのに用いられる。フィールド４７は、対応するスライスの、コピー先のアレイ内における、コピー先のスライスのスライス番号を格納するのに用いられる。フィールド４８は、対応するスライスにおける既にコピーが完了しているサイズを格納するのに用いられる。なお、マップテーブル１２２には、アレイ内の各スライスの位置と、そのスライスの対応するＨＤＤ内における位置とを関係付ける情報は格納されていない。その理由は、アレイ内の各スライスの対応するＨＤＤ内における位置は、そのスライスのスライス番号（アレイ内の位置を示すスライス番号）とスライスのサイズとから一意に計算にて求まるためである。勿論、上記情報を、マップテーブル１２２に格納することは可能である。
【００２３】
スライス移動部１２１ｃは、論理ディスク内の任意のスライスのデータを移動する。この移動は次のように行われる。スライス移動部１２１ｃは、任意の論理ディスク内の任意のスライス（第１のスライス）のデータを、当該論理ディスクにエントリされていない（割り付けられていない）別のスライス（第２のスライス）にコピーする。次にスライス移動部１２１ｃは、双方のスライスを入れ替え、前者のスライスを論理ディスクにエントリされていない状態（未使用の状態）にし、後者のスライスを当該論理ディスクにエントリされた（割り付けられた）状態に切り替える。
【００２４】
このスライス移動部１２１ｃによるスライス移動の詳細について、図４のマップテーブル１２２を参照して説明する。この例では、論理ディスク番号０の論理ディスク内のスライス番号３のスライスが移動の対象となっているものとする。そして、（アレイ番号２のアレイ内の）スライス番号３のスライスのデータが、アレイ番号１のアレイ内のスライス番号５のスライスへコピーされるものとする。このスライス内のどこまでコピーが完了しているかは、フィールド４８に格納されるコピー完了したサイズにて示される。
【００２５】
スライス移動部１２１ｃは、スライス番号３のスライス内の全てのデータコピーが完了すると、これらコピー元とコピー先のスライスを入れ替える。即ちスライス移動部１２１ｃは、論理ディスク番号０の論理ディスク内のスライス番号３のスライスを、アレイ番号２のアレイ内のスライス番号１０のスライスから、アレイ番号１のアレイ内のスライス番号５のスライスに変更する。これにより、論理ディスク番号０の論理ディスク内のスライス番号３のスライスの物理的な割り付けが、アレイ番号２のアレイ内のスライス番号１０のスライスから、アレイ番号１のアレイ内のスライス番号５のスライスへ移動（変更）されたこととなる。また、コピー完了時には、コピーフラグがクリア（“０”クリア）されると共に、コピー先のアレイを示すアレイ番号及びコピー先アレイ内のコピー先スライスを示すスライス番号もクリア（“０”クリア）される。
【００２６】
上述のスライス移動部１２１ｃによるスライス移動の開始処理及び完了処理の手順について、それぞれ図５を参照して説明する。  
まず、スライス移動の開始処理について説明する。スライス移動部１２１ｃは、スライス移動の対象となる論理ディスクへのＩ／Ｏ（データ読み出し／書き込み）を一時停止させる（ステップＳ１１）。次にスライス移動部１２１ｃは、移動対象となるスライスに対応する、マップテーブル１２２内の行のフィールド４６及び４７に、移動（コピー）先となるスライスが属するアレイ及び当該移動（コピー）先のスライスの番号をそれぞれセットする（ステップＳ１２）。
【００２７】
次にスライス移動部１２１ｃは、コピー（移動）対象となるスライスに対応する、マップテーブル１２２内の行のフィールド４８に、コピー完了サイズとしてゼロをセットすると共に、当該行のフィールド４９にコピーフラグをセットする（ステップＳ１３）。次にスライス移動部１２１ｃは、その時点におけるマップテーブル１２２の内容、つまりステップＳ１２及びＳ１３で更新されたマップ情報を、ディスクアレイ装置１０内の各ＨＤＤに確保されている後述する管理情報領域にそれぞれセーブする（ステップＳ１４）。そしてスライス移動部１２１ｃは、スライスコピー（移動）の対象となっていた論理ディスクへのＩ／Ｏを再開させる（ステップＳ１５）。
【００２８】
次に、スライス移動（コピー）の完了処理について説明する。スライス移動部１２１ｃは、スライスコピー（移動）の完了時には、対象となっていた論理ディスクへのＩ／Ｏを一時停止させる（ステップＳ２１）。次にスライス移動部１２１ｃは、コピー対象となっていたスライスに対応する、マップテーブル１２２内の行のフィールド４３及び４４に、コピー先のスライスが属するアレイ及び当該コピー先のスライスの番号をそれぞれセットする（ステップＳ２２）。
【００２９】
次にスライス移動部１２１ｃは、コピー対象となっていたスライスに対応する、マップテーブル１２２内の行のフィールド４６及び４７にセットされていた、コピー先のスライスが属するアレイ及び当該コピー先のスライスの番号をそれぞれクリアすると共に、当該行のフィールド４９にセットされていたコピーフラグをクリアする（ステップＳ２３）。次にスライス移動部１２１ｃは、その時点におけるマップテーブル１２２の内容、つまりステップＳ２２及びＳ２３で更新されたマップ情報を、ディスクアレイ装置１０内の各ＨＤＤに確保されている管理情報領域にそれぞれセーブする（ステップＳ２４）。そしてスライス移動部１２１ｃは、スライスコピーの対象となっていた論理ディスクへのＩ／Ｏを再開させる（ステップＳ２５）。
【００３０】
上述したスライスのコピー（移動）は、当該スライスが割り当てられる論理ディスクの稼動中にオンラインで行うことができる。そのためには、スライスのコピー（移動）中に、ホスト２０からディスクアレイ装置１０に対してデータ書き込み要求が送られた場合に、対応するデータライト処理を、図６のフローチャートに示す手順で実行すれば良い。このデータライト処理は、データライト部１２１ｄによって次のように実行される。
【００３１】
まずデータライト部１２１ｄは、ライト対象となるスライス（論理ディスク内のスライス）に対応する、マップテーブル１２２内の行のフィールド４５にコピーフラグがセットされているかを判定する（ステップＳ３１）。もし、コピーフラグがセットされているならば、つまりライト対象となるスライスがコピー中であるならば、当該スライス内のライトすべき領域はコピー完了しているかを判定する（ステップＳ３２）。このステップＳ３２の判定は、ライト対象となるスライスに対応する、マップテーブル１２２内の行のフィールド４８に設定されているコピー完了サイズに基づいて行われる。
【００３２】
もし、ライトすべき領域がコピー完了しているならば（ステップＳ３２）、データライト部１２１ｄは、コピー（移動）対象となっているコピー（移動）元のスライス及びコピー（移動）先のスライスの両スライスの対応する領域にデータをライトする（ステップＳ３３）。スライスへのコピーが、途中で何らかの要因により中止されることを考慮すると、コピーが完了した領域については、上述のように、コピー先だけでなくコピー元（オリジナル）のスライスにもライトする２重ライトを行うと良い。
【００３３】
これに対し、ライト対象となるスライスがコピー中でないか（ステップＳ３１）、或いはライト対象となるスライスがコピー中であってもライトすべき領域がコピー完了していないならば（ステップＳ３２）、データライト部１２１ｄは、ライト対象となるスライス内のライトすべき領域のみにデータをライトする（ステップＳ３４）。
【００３４】
次に、マップテーブル１２２の保存について説明する。マップテーブル１２２は、論理ディスクと当該論理ディスクを構成するスライスの物理的な割り付けとを関連付ける重要なテーブルである。したがって、マップテーブル１２２に格納されている情報（マップ情報）の消失は、データの消失につながる。このためマップテーブル１２２の情報を失うことは、万一アレイコントローラ１２-1及び１２-2が共に故障したとしても、或いは停電が発生したとしても許されない。それ故、本実施形態では、アレイコントローラ、或いはＨＤＤの故障・交換に対し十分な冗長性を有し、容易に消失することのない保存方法が適用される。更に本実施形態では、図５に示した処理手順においても、スライスの移動に伴ってマップテーブル１２２を更新する際は、当該マップテーブル１２２の情報のセーブが完了してからアクセスを再開する確実な手順を採用している。
【００３５】
さて、図１のディスクアレイ装置１０のアレイコントローラ１２-1及び１２-2には、図７に示すｎ＋１台のＨＤＤ７０-0〜７０-nが接続されているものとする。本実施形態では、以下に述べるように、これらＨＤＤ７０-0〜７０-nを利用して、マップテーブル１２２の情報が保存される。
【００３６】
まず、ＨＤＤ７０-0〜７０-nの記憶領域の一部が、アレイコントローラ１２-1及び１２-2によるディスクアレイ管理のための情報（管理情報）を保存するための管理情報領域７１としてそれぞれ確保される。管理情報領域７１は、スライスとしての使用から除外され、ユーザボリューム用の領域としては使用できない。図５中のステップＳ１４及びＳ２４では、更新されたマップテーブル１２２の情報（マップ情報）が、図７において矢印７２で示されるように、ＨＤＤ７０-0〜７０-nの各管理情報領域７１に多重に保存される。これにより、マップテーブル１２２が（ｎ＋１）重化される。また、マップテーブル１２２のの読み出しは、図７において矢印７３で示されるように、ＨＤＤ７０-0〜７０-n内の全て管理情報領域７１を対象に行われる。ここでは、読み出されたｎ＋１個のマップテーブル１２２の情報（マップ情報）を比較して、例えば多数決により、正しい情報を決定する。こうすることで、ＨＤＤ故障やアレイコントローラ故障に耐えることができる。
【００３７】
図１中の統計情報採取部１２１ｅは、スライスを単位に、当該スライスに対するＩ／Ｏ処理（アクセス処理）に関する統計的な情報（以下、Ｉ／Ｏ統計情報と称する）を採取する。採取されたスライス単位のＩ／Ｏ統計情報は、アレイコントローラ１２-1内の図示せぬメモリ（例えばＲＡＭ）の所定領域に格納される。このＩ／Ｏ統計情報は、例えば単位時間当たりのライト回数、リード回数、転送サイズまたはＩ／Ｏ処理時間である。一般的には、この種のＩ／Ｏ統計情報は、前記特許文献１にも記載されているように、論理ディスクやＨＤＤの単位で採取される。しかし本実施形態では、スライスの移動によってアレイやＨＤＤへのアクセス負荷を調整するために、その負荷調整の判断に、スライス単位のＩ／Ｏ統計情報が用いられることに注意されたい。当然、スライス単位の統計情報を利用する（例えば加算する）ことにより、論理ディスクやアレイレベルでのＩ／Ｏ処理の統計も算出できる。
【００３８】
上述のスライス単位で採取されたＩ／Ｏ統計情報を利用するならば、スライス移動部１２１ｃが当該Ｉ／Ｏ統計情報をチェックすることにより、対応する統計値が予め定義されたしきい値を超えた場合に、予め定義されたポリシーに従って、自動的にスライスの移動を行うことも可能となる。例えば、あるアレイに対するアクセス負荷がその能力のｎ％以上となった場合に、スライス移動部１２１ｃが、一定数のスライスを最も負荷の低いアレイのスライスと自動的に交代する構成を適用することもできる。この他に、一定周期でスライスの割り付けを見直し、アクセス負荷の高いものからＲＡＩＤ１＋０のスライスを使用し、アクセス負荷の低いものはＲＡＩＤ５のスライスを使用するよう、スライスを交代することも可能である。
【００３９】
以下、統計情報採取部１２１ｅによって採取されるＩ／Ｏ統計情報を利用してスライスの移動を行うことで、アレイ或いはＨＤＤへのアクセス負荷を調整するようにした、次に列挙する４つのアクセス負荷調整方法
（１）ＨＤＤのシーク量の削減方法
（２）アレイのホットスポット解消方法
（３）ＲＡＩＤレベルの最適化方法
（４）論理ディスクの容量拡張方法
について順次説明する。
【００４０】
（１）ＨＤＤのシーク量の削減方法
まず、ＨＤＤのシーク量の削減方法について、図８を参照して説明する。ＨＤＤは一般にアクセスするトラックが離れるに従い、シーク時間が延びる。したがって、アクセス頻度（アクセス負荷）の高い領域（アドレス）が近接しているほどシーク時間が短縮されて性能が良くなる。
【００４１】
図８には、図１中のアレイ１１ａ（＃ａ）の、スライスの入れ替え以前の状態と、スライスの入れ替え後の状態とが、それぞれ示されている。スライスの入れ替え以前のアレイ１１ａ（＃ａ）では、アドレスの小さい方（図の上方）とアドレスの大きい方（図の下方）の両端に、いずれもアクセス頻度の高い領域１１１及び１１３が存在している。この領域１１１及び１１３の間には、アクセス頻度の低い領域１１２が存在する。この場合、アレイ１１ａ（＃ａ）を構成するＨＤＤへのアクセスも同様の状態となるため、シーク時間が大きくなりアクセス性能が低下する。このような状態のアレイ１１ａ（＃ａ）において、スライスの入れ替えにより、アクセス頻度の高い領域を当該アレイ１１ａ（＃ａ）の一方に集めるならば、シーク時間が短縮されて、アクセス性能が改善される。なお、アレイ１１ａ（＃ａ）内のアクセス頻度の高い領域とは、統計情報採取部１２１ｅによって採取されるＩ／Ｏ統計情報の示すアクセス負荷（例えば、１秒当たりの入出力回数）が予め定められた閾値を超えるスライスの連続する領域を指す。アレイ１１ａ（＃ａ）内のアクセス頻度の低い領域は、アレイ１１ａ（＃ａ）内の領域のうち、アクセス頻度の高い領域を除く領域を指す。論理ディスクにエントリされていない（割り当てられいない）未使用のスライスは、アクセス頻度の低い領域に属する。
【００４２】
今、アクセス頻度の低い領域１１２のサイズは当該領域１１２に続くアクセス頻度の高い領域（第２の領域）１１３のサイズより大きいものとする。本実施形態では、アクセス頻度の高い領域１１３に属するスライスのデータを、図８において矢印８１で示すように、アクセス頻度の高い領域（第１の領域）１１１に続くアクセス頻度の低い領域１１２中の、当該領域１１３と同一サイズの領域１１２ａに移動する。これと並行して、アクセス頻度の低い領域１１２中の領域１１２ａに属するスライスのデータを、図８において矢印８２で示すように、アクセス頻度の高い領域１１３に移動する。そして、アクセス頻度の高い領域１１３に属するスライスと、アクセス頻度の低い領域１１２中の、当該領域１１３と同一サイズの領域１１２ａに属するスライスとを入れ替える。このスライスの入れ替えにより、入れ替え後のアレイ１１ａ（＃ａ）では、領域１１１及び当該領域１１１に続く領域１１２ａがアクセス頻度の高い領域となり、残りの連続する領域１１２ｂ及び１１３がアクセス頻度の低い領域となる。つまり、アクセス頻度の高い領域をアレイ１１ａ（＃ａ）の一方に集めることができる。
【００４３】
以上のスライス入れ替えは、論理ディスクを使用したまま、スライス移動部１２１ｃによって、次の手順で実行することができる。まず、入れ替えの対象となるスライスをスライス（第１のスライス）＃ｘとスライス（第３のスライス）＃ｙとする。スライス＃ｘ及び＃ｙは、例えば領域１１３及び１１２ａ内のそれぞれｉ番目のスライスであるとする。また、何れの論理ディスクにもエントリされていないワーク用のスライス（第２のスライス）＃ｚを用意する。次にスライス＃ｘのデータをスライス＃ｚにコピーし、スライス＃ｘとスライス＃ｚとを入れ替える（スライス＃ｚの方を論理ディスクにエントリする）。次にスライス＃ｙのデータをスライス＃ｘにコピーし、スライス＃ｙとスライス＃ｘとを入れ替える。次にスライス＃ｚのデータをスライス＃ｙにコピーし、スライス＃ｚとスライス＃ｙとを入れ替える。これにより、領域１１３内のｉ番目のスライス＃ｘと領域１１２ａ内のｉ番目のスライス＃ｙとの入れ替えが完了する。この入れ替え処理を、領域１１３内の各スライスと、当該スライスと相対位置が同一の領域１１２ａ内の各スライスとの間で、繰り返す。
【００４４】
（２）アレイのホットスポット解消方法
本実施形態においては、特定のアレイへのアクセスの集中を解消して、アレイ間でのアクセスを均質にすることで、ホットスポットを解消することを可能としている。このアレイのホットスポット解消方法について、図９を参照して説明する。
【００４５】
図９には、３つのアレイ１１ａ（＃ａ），１１ｂ（＃ｂ）及び１１ｃ（＃ｃ）が示されている。各アレイの能力は、使用しているＨＤＤの種別や台数，ＲＡＩＤレベルなどにより異なる。ここでは、アレイ１１ａ，１１ｂ及び１１ｃの能力は、１秒当たりの入出力回数を表すＩＯＰＳ換算で、それぞれ、９００，７００及び８００であるものとする。一方、統計情報採取部１２１ｅによって採取される統計情報である、アレイ１１ａ，１１ｂ及び１１ｃの各スライス毎の例えばＩＯＰＳの値の合計は、それぞれ、８８０，６５０及び２２０であるものとする。即ち、アレイ１１ａ及び１１ｂは能力ぎりぎりまでホスト２０からアクセスされている。これに対し、アレイ１１ｃは、未使用のスライス、つまり何れの論理ディスクにも割り付けられていないスライスが多く、処理能力に余裕がある。
【００４６】
そこで、スライス単位のＩＯＰＳの値（統計情報）をもとに、アレイ１１ａ及び１１ｂ内の一部のスライス（アクセス頻度の高いスライス）のデータを、アレイ１１ｃ内の未使用スライスにスライス移動部１２１ｃによって移動することで、アレイ１１ａ及び１１ｂの処理能力に余裕を作る。
【００４７】
図９の例では、アレイ１１ａ内のＩＯＰＳがそれぞれ９０及び５４のスライス９１及び９２のデータと、アレイ１１ｂ内のＩＯＰＳが１５５のスライス９３のデータとが、それぞれアレイ１１ｃ内の未使用のスライス９４，９５及び９６に移動される。そして、このデータ移動先のスライス９４，９５及び９６が、データ移動元のスライス９１，９２及び９３に代えて、対応する論理ディスクに割り付けられる（エントリされる）。また、データ移動元のスライス９１，９２及び９３が当該論理ディスクに割り付けられている状態から解放されて、未使用のスライスとなる。この結果、アレイ１１ａ及び１１ｂのＩＯＰＳの値の合計は、８８０及び６５０から７３６及び４９５にそれぞれ減少する。なお、スライスの移動（入れ替え）方法については、これまでに述べてきたものと同様である。
【００４８】
（３）ＲＡＩＤレベルの最適化方法
次に、ＲＡＩＤレベルの最適化方法について、図１０を参照して説明する。統計情報採取部１２１ｅによって採取される統計情報を利用することで、図８のアレイ１１ａと同様に、論理ディスク内をアクセス頻度の高い領域とアクセス頻度の低い領域とに区分（分類）することが可能である。図１０には、論理ディスク１００が、アクセス頻度の高い領域１０１とアクセス頻度の低い領域１０２とアクセス頻度の高い領域１０３とに区分される状態が示されている。論理ディスク定義部１２１ｂは、論理ディスク１００内のアクセス頻度の高い領域１０１及び１０３を、図１０に示すように、性能に優れることが知られているＲＡＩＤレベル１＋０を適用するスライスで再構成する。また論理ディスク定義部１２１ｂは、論理ディスク１００内のアクセス頻度の低い領域１０２を、図１０に示すように、コストパフォーマンスに優れることが知られているＲＡＩＤ５を適用するスライスで再構成する。本実施形態においては、このようなチューニングが、論理ディスクを使用しながら実行できる。
【００４９】
なお、上述した領域１０１，１０２及び１０３の再構成は、当該領域に割り付けられているアレイ内のスライスを、目的のＲＡＩＤレベルを適用するアレイ内の未使用のスライスと、これまでに述べてきた方法によって入れ替えることで実現される。また、領域１０１及び１０３を構成するスライスのＲＡＩＤレベルと、領域１０２を構成するスライスのＲＡＩＤレベルとを交換するだけで良い場合には、上記ＨＤＤのシーク量の削減方法と同様に、同一サイズの領域間のスライスの入れ替えを行えば良い。
【００５０】
（４）論理ディスクの容量拡張方法
本実施形態では、論理ディスクが、スライスという小容量の単位で構成される。したがって、論理ディスクの容量が不足した場合に、追加のスライスを論理ディスクに連結することにより、柔軟に論理ディスクの容量拡張が可能である。この論理ディスクの容量拡張方法について、図１１を参照して説明する。図１１には、容量がＸの論理ディスク１１０が示されている。論理ディスク定義部１２１ｂは、この論理ディスク１１０の容量をＸからＸ＋Ｙに拡張する必要がある場合、容量Ｙに相当する数のスライスを、図１１に示すように、当該論理ディスク１００に連結する。
【００５１】
なお、図１では、ディスクアレイ装置１０を利用するホストとしてホスト２０だけが示されている。しかし、ホスト２０を含む複数のホストとディスクアレイ装置１０とを接続することにより、当該複数のホストがディスクアレイ装置１０を共有することも可能である。
【００５２】
［変形例］
次に、上記実施形態の変形例について、図１２を参照して説明する。上記実施形態では、ディスクアレイ装置１０とホスト２０とが直接接続されている。しかし最近は、少なくとも１台のディスクアレイ装置、例えば複数のディスクアレイ装置と、少なくとも１台のホスト、例えば複数のホストとが、ＳＡＮ（Storage Area Network）と呼ばれるネットワークで接続された計算機システムも出現している。
【００５３】
図１２は、このような計算機システムの一例を示す。図１２において、ディスクアレイ装置１０-0及び１０-1とホスト２０-0及び２０-1とは、ＳＡＮのようなネットワークＮにより接続されている。ホスト２０-0及び２０-1は、ディスクアレイ装置１０-0及び１０-1を自身の外記憶装置として共有する。但し、ホスト２０-0及び２０-1からは、ディスクアレイ装置１０-0及び１０-1は認識されず、ディスクアレイ装置１０-0及び１０-1内のＨＤＤの記憶領域を用いて実現される論理ディスクとして認識される。
【００５４】
図１２のシステムでは、図１中の仮想化ユニット１２０-1及び１２０-2に相当する仮想化装置１２０が、ホスト２０-0及び２０-1のアレイコントローラ（図示せず）から独立して設けられる。仮想化装置１２０は、ネットワークＮに接続されている。仮想化装置１２０は、各ディスクアレイ装置１０-0，１０-1内のＨＤＤの記憶領域を用いて実現されるアレイ内のスライスを複数連結することで、ホスト２０-0及び２０-1から単一のディスク（ディスクボリューム）として認識される論理ディスクを定義（構成）する。
【００５５】
なお、本発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。
【図面の簡単な説明】
【００５６】
【図１】本発明の一実施形態に係るディスクアレイ装置を備えた計算機システムの構成を示すブロック図。
【図２】同実施形態で適用されるアレイとスライスの定義を説明するための図。
【図３】同実施形態で適用される論理ディスクの定義を説明するための図。
【図４】図１中のマップテーブル１２２のデータ構造例を示す図。
【図５】同実施形態におけるスライス移動の開始処理及び完了処理の手順を示すフローチャート。
【図６】同実施形態におけるデータライト処理の手順を示すフローチャート。
【図７】同実施形態で適用されるマップテーブル１２２の保存方法を説明するための図。
【図８】同実施形態で適用されるＨＤＤのシーク量の削減方法を説明するための図。
【図９】同実施形態で適用されるアレイのホットスポット解消方法を説明するための図。
【図１０】同実施形態で適用されるＲＡＩＤレベルの最適化方法を説明するための図。
【図１１】同実施形態で適用される論理ディスクの容量拡張方法を説明するための図。
【図１２】同実施形態の変形例を示す計算機システムの構成を示すブロック図。
【符号の説明】
【００５７】
１０，１０-0，１０-1…ディスクアレイ装置、１１ａ，１１ｂ，１１ｃ，１１ｄ…アレイ、１２-1，１２-2…アレイコントローラ、２０，２０-0，２０-1…ホスト、３１-0，３１-1，１００，１１０…論理ディスク、７０-0〜７０-n…ＨＤＤ（磁気ディスクドライブ）、７１…管理情報領域、１２０…仮想化装置、１２０-1，１２０-2…仮想化ユニット（仮想化装置）、１２１…論理ディスク構成部、１２１ａ…アレイ／スライス定義部、１２１ｂ…論理ディスク定義部、１２１ｃ…スライス移動部、１２１ｄ…データライト部、１２１ｅ…統計情報採取部、１２２…マップテーブル。
【図１】
2006024024.tif 000003
【図２】
2006024024.tif 000004
【図３】
2006024024.tif 000005
【図４】
2006024024.tif 000006
【図５】
2006024024.tif 000007
【図６】
2006024024.tif 000008
【図７】
2006024024.tif 000009
【図８】
2006024024.tif 000010
【図９】
2006024024.tif 000011
【図１０】
2006024024.tif 000012
【図１１】
2006024024.tif 000013
【図１２】
2006024024.tif 000014