(57)【要約】【課題】仮想論理ボリュームの使用容量が増加して、仮想論理ボリュームのメリットが失われた場合に、仮想論理ボリュームを実論理ボリュームへマイグレーションしてアクセス性能の向上を図る。【解決手段】他の制御部との接続を介して制御部間通信を行い、論理的に定義した記憶領域を物理的な記憶領域と予め対応づけて実論理ボリュームとして管理し、論理的に定義した記憶領域を物理的な記憶領域とデータを書き加えるときに対応付けて仮想論理ボリュームとして管理し、前記仮想論理ボリュームの使用率が閾値を超えること且つ仮想論理ボリュームの記憶領域に対応する物理的な記憶領域が他の制御部で管理されていることを条件とし、当該条件を満たしているか否かを検知し、前記条件を満たした場合に、当該仮想論理ボリュームを実論理ボリュームにマイグレーションする。【選択図】図５
2011013800.tif 000002
【特許請求の範囲】
【請求項１】
他の制御部との接続を介して制御部間通信を行う通信部と、
論理的に定義した記憶領域を物理的な記憶領域と予め対応づけて実論理ボリュームとして管理し、論理的に定義した記憶領域を物理的な記憶領域とデータを書き加えるときに対応付けて仮想論理ボリュームとして管理する管理部と、
前記仮想論理ボリュームの使用率が閾値を超えること且つ仮想論理ボリュームの記憶領域に対応する物理的な記憶領域が他の制御部で管理されていることを条件とし、当該条件を満たしているか否かを検知する検知部と、
前記条件を満たした場合に、当該仮想論理ボリュームを実論理ボリュームにマイグレーションするマイグレーション部と、
を備えた記憶装置の制御部。
【請求項２】
前記マイグレーションを行う際、マイグレーション先の実論理ボリュームを管理する管理部と同じ管理部が管理する物理的な記憶領域と前記マイグレーション先の実論理ボリュームの記憶領域とを対応付ける請求項１に記載の記憶装置の制御部。
【請求項３】
前記マイグレーションを行う際、マイグレーション対象の仮想論理ボリュームを管理する管理部と同じ管理部が管理する実論理ボリュームをマイグレーション先とする請求項１又は２に記載の記憶装置の制御部。
【請求項４】
他の制御部との接続を介して制御部間通信を行うステップと、
論理的に定義した記憶領域を物理的な記憶領域と予め対応づけて実論理ボリュームとして管理し、論理的に定義した記憶領域を物理的な記憶領域とデータを書き加えるときに対応付けて仮想論理ボリュームとして管理するステップと、
前記仮想論理ボリュームの使用率が閾値を超えること且つ仮想論理ボリュームの記憶領域に対応する物理的な記憶領域が他の制御部で管理されていることを条件とし、当該条件を満たしているか否かを検知するステップと、
前記条件を満たした場合に、当該仮想論理ボリュームを実論理ボリュームにマイグレーションするステップと、
を制御部が実行する制御方法。
【請求項５】
前記マイグレーションを行う際、マイグレーション先の実論理ボリュームを管理する管理部と同じ管理部が管理する物理的な記憶領域と前記マイグレーション先の実論理ボリュームの記憶領域とを対応付ける請求項４に記載の制御方法。
【請求項６】
前記マイグレーションを行う際、マイグレーション対象の仮想論理ボリュームを管理する管理部と同じ管理部が管理する実論理ボリュームをマイグレーション先とする請求項４又は５に記載の制御方法。
【請求項７】
他の制御部との接続を介して制御部間通信を行うステップと、
論理的に定義した記憶領域を物理的な記憶領域と予め対応づけて実論理ボリュームとして管理し、論理的に定義した記憶領域を物理的な記憶領域とデータを書き加えるときに対応付けて仮想論理ボリュームとして管理するステップと、
前記仮想論理ボリュームの使用率が閾値を超えること且つ仮想論理ボリュームの記憶領域に対応する物理的な記憶領域が他の制御部で管理されていることを条件とし、当該条件を満たしているか否かを検知するステップと、
前記条件を満たした場合に、当該仮想論理ボリュームを実論理ボリュームにマイグレーションするステップと、
をコンピュータに実行させるための制御プログラム。
【請求項８】
前記マイグレーションを行う際、マイグレーション先の実論理ボリュームを管理する管理部と同じ管理部が管理する物理的な記憶領域と前記マイグレーション先の実論理ボリュームの記憶領域とを対応付ける請求項７に記載の制御プログラム。
【請求項９】
前記マイグレーションを行う際、マイグレーション対象の仮想論理ボリュームを管理する管理部と同じ管理部が管理する実論理ボリュームをマイグレーション先とする請求項７又は８に記載の制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本願明細書で開示される技術は、記憶装置のボリューム管理に関する。
【背景技術】
【０００２】
記憶装置の仮想化技術のひとつに、書込み要求の発生時に動的に記憶領域を割り当てる仮想論理ボリューム（以下、単にシンプロビジョニングボリューム或はシンプロボリュームとも記載）がある。
【０００３】
通常の論理ボリューム（以下、実論理ボリュームとも記載）では、作成時に定義された容量分の記憶領域が全て物理ディスク又はアレイグループ等の実ストレージ上に予め確保される。
【０００４】
これに対し、シンプロボリュームでは、作成時に容量が定義されるだけで実ストレージ上の記憶領域は確保されず、当該シンプロボリュームに対する書込み要求が発生したときに初めて記憶領域が必要量だけ割り当てられる。
【０００５】
シンプロボリュームでは、定義された容量分の記憶領域をあらかじめすべて用意する必要がなく、書込み要求発生時に実際に使用するサイズの領域が動的に確保される。このため、仮想論理ボリュームの利用によって、記憶装置の導入時は必要最小限の物理ディスクを搭載し、その後の使用状況に応じて、容量が不足すれば物理ディスクを追加するという運用が可能になる。このようにディスクの利用効率を高めることによって、記憶装置の導入コスト及び運用コストを削減することができる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００８−３１０７３４号公報
【特許文献２】特開２００７−１５６８１５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
シンプロボリュームを採用する記憶装置は、シンプロボリュームの仮想的な記憶領域に対するアクセスを実ストレージ上の実際の記憶領域に対するアクセスに読み替えてアクセスを行う制御部（ＣＭ：Centralized Module）を備えている。
【０００８】
記憶装置は、ＣＭを複数備えることができ、各ＣＭには実ストレージがＲＡＩＤグループ単位で接続される。ここで、実ストレージを接続しているＣＭが、実ストレージの担当ＣＭである。また、シンプロボリュームから実ストレージへ読み替えてアクセスするため、シンプロボリュームと実ストレージとの対応関係を示すマッピング情報をキャッシュメモリに保持したＣＭがシンプロボリュームの担当ＣＭである。
【０００９】
シンプロボリュームの記憶領域と対応する実ストレージの記憶領域は、複数のＣＭのうち、何れのＣＭが担当する実ボリュームについても可能である。即ち、シンプロボリュームの記憶領域と対応する実ストレージの記憶領域は、複数の実ストレージに散在することになる。
【００１０】
このため、シンプロボリュームに対してホストコンピュータからデータアクセスがあった場合、記憶装置は、先ずアクセス対象であるシンプロボリュームの担当ＣＭにてマッピ
ング情報から実ストレージを求める。次に記憶装置は、シンプロボリュームの担当ＣＭと実ストレージの担当ＣＭとでＣＭ間通信を行いRead/Write処理といったアクセスを行う。
【００１１】
つまりシンプロボリュームに対するデータアクセスの処理時間は、ＣＭ間通信を行うために、従来の実論理ボリュームに対するデータアクセスの処理時間よりも長くなる。
【００１２】
また、シンプロボリュームは、定義された容量よりも使用容量が少なければ、上述のようにメリットがあるが、使用容量が定義された容量とほぼ同等になった場合、定義された容量と同じ記憶容量の実ストレージが必要になるので、メリットがなくなる。
【００１３】
このため、シンプロボリュームの使用容量が定義された容量と同等となった段階においては、シンプロボリュームよりもデータアクセス性能のよい実論理ボリュームの方が使用に適していることになる。
【００１４】
そこで、開示の一実施形態は、仮想論理ボリュームの使用容量が増加して、仮想論理ボリュームのメリットが失われた場合に、仮想論理ボリュームを実論理ボリュームへマイグレーションしてアクセス性能の向上を図る技術を提供する。
【課題を解決するための手段】
【００１５】
上記課題を解決するため、一実施形態としての制御部は、
他の制御部との接続を介して制御部間通信を行う通信部と、
論理的に定義した記憶領域を物理的な記憶領域と予め対応づけて実論理ボリュームとして管理し、データを書き加えるときに論理的に定義した記憶領域を物理的な記憶領域と対応付けて仮想論理ボリュームとして管理する管理部と、
前記仮想論理ボリュームの使用率が閾値を超えること且つ仮想論理ボリュームの記憶領域に対応する物理的な記憶領域が他の制御部で管理されていることを条件とし、当該条件を満たしているか否かを検知する検知部と、
前記条件を満たした場合に、当該仮想論理ボリュームを実論理ボリュームにマイグレーションするマイグレーション部と、
を備えた。
【発明の効果】
【００１６】
開示の一実施形態は、仮想論理ボリュームの使用容量が増加して、仮想論理ボリュームのメリットが失われた場合に、仮想論理ボリュームを実論理ボリュームへマイグレーションしてアクセス性能の向上を図る技術を提供できる。
【図面の簡単な説明】
【００１７】
【図１】実施形態１としての記憶装置の概略図
【図２】変換テーブルの説明図
【図３】シンプロボリュームを設定する手順の説明図
【図４】シンプロボリュームに対する読み込み手順の説明図
【図５】シンプロボリュームに対する書込み手順の説明図
【図６】実施形態２としての記憶装置のブロック図
【発明を実施するための形態】
【００１８】
以下、図面を参照して本発明を実施するための形態について説明する。以下の実施の形態の構成は例示であり、本発明は実施の形態の構成に限定されない。
【００１９】
〈実施形態１〉
図１は、本発明の一実施形態としての記憶装置の概略図である。
【００２０】
図１に示すように、記憶装置１０は、ＣＡ（Channel Adapter）１１、制御部（ＣＭ：Centralized Module）１２、実ストレージ１３を備える。
【００２１】
ＣＡ１１は、ホストコンピュータ９０と接続して当該ホストコンピュータ９０との通信を制御するインターフェイスである。
【００２２】
ＣＭ１２は、ホストコンピュータ９０からの要求に応じた実ストレージ１３に対するアクセスを制御する。
【００２３】
実ストレージ１３は、ホストコンピュータ９０から要求されるデータを記憶する大容量の記憶部であり、例えばハードディスクドライブである。
【００２４】
本実施形態１の記憶装置１０は、大容量化や冗長化のために複数の実ストレージ１３をＲＡＩＤ(Redundant Arrays of Inexpensive Disks)によりグループ化して備え、実スト
レージ１３のＲＡＩＤグループ毎にＣＭ１２を設け、複数のＣＭ１２を備えている。
【００２５】
また、ＣＭ１２は、ＣＰＵ２１や、メモリ２２、ＤＡ（Device Adapter）２３、ＦＲＴ（Front-end Router）２４、記憶部２５を備える。
【００２６】
メモリ２２は、記憶部１３に対するアクセスを行う際のキャッシュや、ＣＰＵ２１が演算処理を行う際のメインメモリとして機能する。
【００２７】
ＤＡ２３は、実ストレージ１３と接続して実ストレージ１３に対するアクセスを制御するインターフェイスである。
【００２８】
ＦＲＴ２４は、通信経路４Ａを介してＣＭ１２間で行う通信を制御するインターフェイスである。
【００２９】
記憶部２５は、ハードディスクドライブやメモリディスクドライブ、ＲＯＭ等、ＯＳやファームウェア（プログラム）を記憶するユニットである。
【００３０】
ＣＰＵ２１は、前記ＯＳやファームウェアを記憶部２５から適宜読み出して実行し、ＣＡ１１やＤＡ２３、ＦＲＴ２４、記憶部１３から読み出した情報を演算処理することにより、管理部Ｃ１や検知部Ｃ２、マイグレーション部Ｃ３、読書き部Ｃ４としても機能する。
【００３１】
管理部Ｃ１としてＣＰＵ２１は、論理的に定義した記憶領域を予め物理的な記憶領域と対応づけて実論理ボリュームとして管理する。また、管理部Ｃ１としてＣＰＵ２１は、論理的に定義した記憶領域をデータを書き加えるときに物理的な記憶領域と対応付けてシンプロボリュームとして管理する。
【００３２】
なお、管理部Ｃ１としてのＣＰＵ２１は、論理的な記憶領域と物理的な記憶領域との対応付けをメモリ２２内の変換テーブルに登録している。図２は、当該変換テーブルの説明図である。図２に示すように、変換テーブルは、論理ボリュームのＬＢＡ（Logical Block Addressing)と実ストレージのＬＵＮ(Logical Unit Number)、ＬＢＡとを対応付けている。
【００３３】
また、管理部Ｃ１としてのＣＰＵ２１は、ＤＡ２３に実ストレージ１３が接続されると、当該実ストレージ１３から識別情報を読み出し、自身のＣＭ１２が担当する実ストレー
ジ１３であることを示す情報として、メモリ２２内の担当ストレージテーブルに加える。更にＣＰＵ２１は、自身のＣＭ１２の識別情報と、担当する実ストレージ１３の識別情報とを対応つけて、他のＣＭ１２へ送信し、各ＣＭ１２の担当ストレージテーブルを更新させる。この担当ストレージテーブルは、どのＣＭ１２が、どの実ストレージを担当しているのかを示すテーブルであり、担当するＣＭ１２の識別情報と、担当される実ストレージ１３の識別情報とを対応付けている。
【００３４】
検知部Ｃ２としてＣＰＵ２１は、シンプロボリュームの使用率が閾値を超えること且つシンプロボリュームの記憶領域に対応する物理的な記憶領域が他の制御部で管理（担当）されていることを条件とし、当該条件を満たしているか否かを検知する。例えば、ＣＰＵ２１は、変換テーブルを参照し、シンプロボリュームの論理的な記憶領域と対応付けられている実ストレージ（記憶部１３）の記憶領域の容量Ｑｚと、シンプロボリュームとして定義した記憶領域の全容量Ｑａとの比Ｑａ／Ｑｚを使用率として求める。そして、ＣＰＵ２１は、変換テーブルを参照し、シンプロボリュームの論理的な記憶領域が、他のＣＭ１２の管理下にある実ストレージ（記憶部１３）の記憶領域と対応付けられているか否かを判定する。
【００３５】
マイグレーション部Ｃ３としてＣＰＵ２１は、検知部Ｃ２で条件を満たしたと判定した場合に、当該シンプロボリュームを実論理ボリュームにマイグレーションする。即ち、ＣＰＵ２１は、実ストレージ１３の空き領域のうち、当該シンプロボリュームと同じ容量の物理的な記憶領域を確保して、当該記憶領域にシンプロボリューム内のデータを移動する。このとき、シンプロボリュームで未割当だった領域についてはデータの移動は必要ないため行わない。
【００３６】
ＣＭ１２は、ＣＰＵ２１を備え、プログラムを実行することで各部Ｃ１〜Ｃ４の機能を実現するコンピュータでもある。なお、プログラム（ファームウェア）は、コンピュータが読み取り可能な記録媒体に記録されていても良い。ここで、コンピュータが読み取り可能な記録媒体とは、データやプログラム等の情報を電気的、磁気的、光学的、機械的、または化学的作用によって蓄積し、コンピュータから読み取ることができる記録媒体をいう。このような記録媒体の内コンピュータから取り外し可能なものとしては、例えばフレキシブルディスク、光磁気ディスク、CD-ROM、CD-R/W、DVD、DAT、８mmテープ、メモリカード等がある。
【００３７】
また、コンピュータに固定された記録媒体としてハードディスクやＲＯＭ（リードオンリーメモリ）等がある。
【００３８】
図３は、記憶装置１０において、シンプロボリュームを設定する手順の説明図である。
【００３９】
シンプロボリュームを新たに作成する場合、オペレータは、管理端末（不図示）等の記憶装置１０に接続した端末や記憶装置１０の操作部（不図示）から記憶装置１０にアクセスして、シンプロボリュームを作成するＣＭ１２を選択し、記憶容量を指定してシンプロボリュームの作成を指示する。当該指示を受信した記憶装置１０は、選択されたＣＭ１２のＣＰＵ２１が、ボリューム名や、記憶容量、シンプロボリュームであることを示す種別といった定義をメモリ２２へ書き込むことでシンプロボリュームを作成する（Ｓ１）。
【００４０】
そして、オペレータがマイグレーションを行うシンプロボリュームの使用率を入力し、当該使用率を記憶装置１０が受信すると（Ｓ２）、ＣＭ１２のＣＰＵ２１が当該使用率を閾値としてメモリ２２へ書き込む（Ｓ３）。
【００４１】
この定義に従ってＣＭ１２がシンプロボリュームを管理するので、例えばＯＳは、当該
シンプロボリュームを定義された記憶容量のデバイスとして認識できる。
なお、ボリュームを作成した場合、ＣＭ１２のＣＰＵ２１は、ボリュームを特定する識別情報と自身のＣＭ１２を他のＣＭ１２と識別する識別情報とを対応付けたボリューム位置情報を他の全てのＣＭ１２へ送信する。即ち、どのボリュームが、どのＣＭ１２の管理しているのか（担当しているのか）を示すボリューム位置情報を全てのＣＭ１２で共有する。
【００４２】
図４は、シンプロボリュームに対する読み込み手順の説明図である。
【００４３】
ホストコンピュータ９０がシンプロボリュームに対するリード要求を記憶装置１０へ送信すると、ＣＡ１１を介して当該リード要求をＣＭ１２が受信する（Ｓ２１）。
【００４４】
リード要求を受信したＣＭ１２は、読み込み対象のシンプロボリュームが自身の管理下か否かを判定する。例えば、ＣＭ１２は、メモリ２２を参照し、読み込み対象のシンプロボリュームが定義されているか否かを判定する（Ｓ２２）。
【００４５】
リード対象のシンプロボリュームが、リード要求を受信したＣＭ１２の管理下で無かった場合（Ｓ２２,Ｎｏ）、リード要求を受信したＣＭ１２は、ボリューム位置情報を参照
してリード対象のシンプロボリュームを管理するＣＭ１２を求める。そして、リード要求を受信したＣＭ１２は、ＦＲＴ２４を介するＣＭ間通信により、リード対象のシンプロボリュームを管理するＣＭ１２にリード要求を伝達する（Ｓ２３）。
【００４６】
ステップＳ２３でリード要求を伝達されたＣＭ１２或いは、ステップＳ２２で読み込み対象が自身の管理下であったＣＭ１２は、変換テーブルを参照し、読込み対象の実ストレージ１３を検索する（Ｓ２４）。
【００４７】
ＣＭ１２は、担当ストレージテーブルを参照し、ステップＳ２４で索出した読込み対象の実ストレージ１３が、自身の担当か否か、即ち他のＣＭ１２を介さずに直接接続している実ストレージ１３か否かを判定する（Ｓ２５）。
【００４８】
ステップＳ２５において、読込み対象の実ストレージが自身の担当で無い場合（Ｓ２５，Ｎｏ）、ＣＭ１２は、ＦＲＴ２４を介するＣＭ間通信により、読込み対象の実ストレージ１３を担当するＣＭ１２へリード要求を伝達する（Ｓ２６）。
【００４９】
ステップＳ２６でリード要求を伝達されたＣＭ１２或いは、ステップＳ２５で読み込み対象の実ストレージが自身の担当であったＣＭ１２は、リード要求に従い実ストレージ１３からデータを読み出す。そして、ＣＭ１２は、当該データをホストコンピュータ９０からリード要求を受信したＣＭ１２へ送信してメモリ２２へ展開させる（Ｓ２７）。
【００５０】
当該データを受信したＣＭ１２は、メモリ２２に展開されたデータをホストコンピュータ９０へ送信して読み込み処理を完了する（Ｓ２８）。
【００５１】
図５はシンプロボリュームに対する書込み手順の説明図である。
【００５２】
ホストコンピュータ９０がシンプロボリュームに対するライト要求を記憶装置１０に送信すると、ＣＡ１１を介して当該ライト要求をＣＭ１２が受信する（Ｓ３１）。
【００５３】
ライト要求を受信したＣＭ１２は、変換テーブルを参照し、当該ライト要求によって書き込む論理ボリュームの記憶領域が実ストレージ１３の記憶領域と対応付けられているか否かを判定する（Ｓ３２）。
【００５４】
ステップＳ３２で実ストレージが割り当てられている場合（Ｓ３２，Ｙｅｓ）、読書き部Ｃ４としてのＣＰＵ２１は、ライト要求に従って書込み処理を行う(Ｓ３３）。
【００５５】
また、ステップＳ３２で実ストレージが割り当てられていない場合（Ｓ３２，Ｎｏ）、管理部Ｃ１としてのＣＰＵ２１は、書込み対象のシンプロボリュームの記憶領域に、実ボリューム１３の記憶領域を割り当てる（Ｓ３４）。
【００５６】
ステップＳ３４の割り当て後、読書き部Ｃ４としてのＣＰＵ２１は、ライト要求に従って書込み処理を行う(Ｓ３５）。
【００５７】
ステップＳ３４，３５で新たなデータが書き加えられると、検知部Ｃ２としてのＣＰＵ２１は、シンプロボリュームの使用率が閾値を超えたか否かを検知する（Ｓ３６）。
【００５８】
ステップＳ３６で使用率が閾値を超えていなければ、ＣＰＵ２１は処理を終了し、使用率が閾値を超えていれば、シンプロボリュームの記憶領域と対応する物理的な記憶領域が複数のＣＭ１２が担当する実ストレージに散在しているか否かを判定する。即ち、ＣＰＵ２１は、使用率が閾値を超えたシンプロボリュームの記憶領域が、他のＣＭ１２で担当する実ストレージの記憶領域と対応しているか否かを判定する（Ｓ３７）。
【００５９】
ステップＳ３６及びＳ３７の条件を満たした場合、当該シンプロボリュームを実論理ボリュームへマイグレーションする（Ｓ３８）。
【００６０】
シンプロボリュームは、初期投資を抑えることができるというメリットを有するが、条件によっては、アクセス性能の低下を招くことがある。例えば、シンプロボリュームの記憶領域が、複数のＣＭ１２でそれぞれ管理する物理的な記憶領域と対応している場合、図３に示すようにＣＭ間通信でリード要求を伝達する必要があり、アクセス性能が低下する。
【００６１】
本実施形態１の記憶装置１０は、シンプロボリュームの使用率が閾値を超えてシンプロボリュームのメリットが失われた場合には、シンプロボリュームを実論理ボリュームへマイグレーションして、アクセス性能の向上を図ることができる。なお、本実施形態１の記憶装置１０は、ステップＳ３７でアクセス性能の低下の有無を判定し、アクセス性能が低下する場合にマイグレーションを行うので、アクセス性能が低下していないときに、無駄にマイグレーションすることがない。
【００６２】
また、本実施形態１の記憶装置１０は、マイグレーションを行う際、マイグレーション先の実論理ボリュームを管理するＣＭ１２と同じＣＭ１２が管理する物理的な記憶領域と当該マイグレーション先の実論理ボリュームの記憶領域とを対応付けても良い。これにより、少なくとも図３のステップＳ２６のＣＭ間通信が不要となり、アクセス性能が向上する。
【００６３】
更に、シンプロボリュームの記憶領域を管理するＣＭ１２が、ホストコンピュータ９０からアクセス要求を受信したＣＭ１２と同じであれば、図３のステップ２３に示すＣＭ間通信が不要である。このためシンプロボリュームを作成する場合、当該シンプロボリュームの記憶領域を管理するＣＭ１２は、ホストコンピュータ９０からアクセス要求を受信するＣＭ１２と同じものが選択されることが多い。そこで、本実施形態の記憶装置１０は、マイグレーションを行う際、マイグレーション対象の仮想論理ボリュームを管理する管理部と同じ管理部が管理する実論理ボリュームをマイグレーション先とする。これにより、適切なマイグレーション先へマイグレーションすることができる。
【００６４】
〈実施形態２〉
図６は、本発明の実施形態２としての記憶装置のブロック図である。
【００６５】
図６に示すように、記憶装置１０は、複数の制御部（ＣＭ：Centralized Module）１２と、複数の実ストレージ１３を備える。
【００６６】
ＣＭ１２は、ホストコンピュータ９０からの要求に応じた実ストレージ１３に対するアクセスを制御する制御部である。
【００６７】
実ストレージ１３は、ホストコンピュータ９０から要求されるデータを記憶する大容量の記憶部であり、例えばハードディスクドライブである。
【００６８】
ＣＭ１２は、メモリ２２、通信部（ＦＲＴ：Front-end Router）２４、記憶部２５、管理部Ｃ１や、検知部Ｃ２、マイグレーション部Ｃ３、読書き部Ｃ４を備える。
【００６９】
メモリ２２は、記憶部１３に対するアクセスを行う際のキャッシュ等として機能する。
【００７０】
ＦＲＴ２４は、通信経路４Ａを介してＣＭ１２間で行う通信を制御するインターフェイスである。
【００７１】
記憶部２５は、ハードディスクドライブやメモリディスクドライブ、ＲＯＭ等、設定情報やファームウェア（プログラム）を記憶するユニットである。
【００７２】
管理部Ｃ１は、論理的に定義した記憶領域を予め物理的な記憶領域と対応づけて実論理ボリュームとして管理する。また、管理部Ｃ１は、論理的に定義した記憶領域をデータを書き加えるときに物理的な記憶領域と対応付けてシンプロボリュームとして管理する。
【００７３】
なお、管理部Ｃ１は、論理的な記憶領域と物理的な記憶領域との対応付けをメモリ２２内の変換テーブルに登録している。
【００７４】
また、管理部Ｃ１は、実ストレージ１３が接続されると、当該実ストレージ１３から識別情報を読み出し、自身の属するＣＭ１２が担当する実ストレージ１３であることを示す情報として、メモリ２２内の担当ストレージテーブルに加える。更に管理部Ｃ１は、自身のＣＭ１２の識別情報と、担当する実ストレージ１３の識別情報とを対応つけて、他のＣＭ１２へ送信し、各ＣＭ１２の担当ストレージテーブルを更新させる。この担当ストレージテーブルは、どのＣＭ１２が、どの実ストレージを担当しているのかを示すテーブルであり、担当するＣＭ１２の識別情報と、担当される実ストレージ１３の識別情報とを対応付けている。
【００７５】
検知部Ｃ２は、シンプロボリュームの使用率が閾値を超えること且つシンプロボリュームの記憶領域に対応する物理的な記憶領域が他の制御部で管理されていることを条件とし、当該条件を満たしているか否かを検知する。例えば、検知部Ｃ２は、変換テーブルを参照し、シンプロボリュームの論理的な記憶領域と対応付けられている実ストレージ（記憶部１３）の記憶領域の容量Ｑｚと、シンプロボリュームとして定義した記憶領域の全容量Ｑａとの比Ｑａ／Ｑｚを使用率として求める。そして、検知部Ｃ２は、変換テーブルを参照し、シンプロボリュームの論理的な記憶領域が、他のＣＭ１２の管理下にある実ストレージ（記憶部１３）の記憶領域と対応付けられているか否かを判定する。
【００７６】
マイグレーション部Ｃ３は、検知部Ｃ２で条件を満たしたと判定した場合に、当該シン
プロボリュームを実論理ボリュームにマイグレーションする。即ち、マイグレーション部Ｃ３は、実ストレージ１３の空き領域のうち、当該シンプロボリュームと同じ容量の物理的な記憶領域を確保し、当該記憶領域にシンプロボリューム内のデータを移動する。
【００７７】
これらの構成により、本実施形態２の記憶装置１０は、シンプロボリュームの使用率が閾値を超えてシンプロボリュームのメリットが失われた場合には、シンプロボリュームを実論理ボリュームへマイグレーションして、アクセス性能の向上を図ることができる。なお、本実施形態１の記憶装置１０は、ステップＳ３７でアクセス性能の低下の有無を判定し、アクセス性能が低下する場合にマイグレーションを行うので、アクセス性能が低下していないときに、無駄にマイグレーションすることがない。
【００７８】
また、本実施形態２の記憶装置１０は、マイグレーションを行う際、マイグレーション先の実論理ボリュームを管理するＣＭ１２と同じＣＭ１２が管理する物理的な記憶領域と当該マイグレーション先の実論理ボリュームの記憶領域とを対応付けても良い。これにより、少なくとも図３のステップＳ２６のＣＭ間通信が不要となり、アクセス性能が向上する。
【００７９】
更に本実施形態の記憶装置１０は、マイグレーションを行う際、マイグレーション対象の仮想論理ボリュームを管理する管理部と同じ管理部が管理する実論理ボリュームをマイグレーション先としても良い。これにより、適切なマイグレーション先へマイグレーションすることができる。
【００８０】
本例の記憶装置１０の構成要素のうち、情報を処理する要素は、特定の動作を行う基本的な回路を組み合わせて各々の機能を実現したハードウェアである。また、これら情報を処理する要素の一部或いは全部は、汎用のプロセッサがソフトウェアとしてのプログラムを実行することによって各々の機能を実現するものでも良い。
【００８１】
記憶装置１０において、管理部Ｃ１や、検知部Ｃ２、マイグレーション部Ｃ３、読書き部Ｃ４は、前記情報を処理する要素である。
【００８２】
これら情報を処理する要素であるハードウェアは、例えば、ＦＰＧＡ［Field Programmable Gate Array］、ＡＳＩＣ［Application Specific Integrated Circuit］、ＬＳＩ［Large Scale Integration］といった基本的な回路を備える。また、当該ハードウェアは
、ＩＣ［Integrated Circuit］、ゲートアレイ、論理回路、信号処理回路、アナログ回路といった基本的な回路を備えても良い。
【００８３】
論理回路としては、例えば、ＡＮＤ、ＯＲ、ＮＯＴ、ＮＡＮＤ、ＮＯＲ、フリップフロップ、カウンタ回路がある。信号処理回路には、信号値に対し、例えば、加算、乗算、除算、反転、積和演算、微分、積分を実行する回路が、含まれていてもよい。アナログ回路には、例えば、信号値に対して、増幅、加算、乗算、微分、積分を実行する回路が、含まれていてもよい。
【符号の説明】
【００８４】
１０  記憶装置
１１  ＣＡ
１２  制御部（ＣＭ）
１３  実ストレージ
９０  ホストコンピュータ
２１  ＣＰＵ
２２  メモリ２２
２３  ＤＡ
２４  通信部（ＦＲＴ）
２５  記憶部
Ｃ１  管理部
Ｃ２  検知部
Ｃ３  マイグレーション部
Ｃ４  読書き部
【図１】
2011013800.tif 000003
【図２】
2011013800.tif 000004
【図３】
2011013800.tif 000005
【図４】
2011013800.tif 000006
【図５】
2011013800.tif 000007
【図６】
2011013800.tif 000008