(57)【要約】      （修正有）【課題】記憶容量への投資を抑えながら、記憶容量の拡張を容易化させ得る記憶制御装置及びその制御方法を提供する。【解決手段】外部操作により設定された、記憶デバイス部の記憶容量でなる実記憶容量よりも大きい記憶容量の仮想ボリュームの定義内容と、実記憶容量を分割してなる実ボリューム及びプール領域の少なくとも一方の定義内容とを含むシステム構成情報を記憶し、記憶したシステム構成情報に基づいて、上位装置からの記憶容量確認に対して仮想ボリュームの記憶容量を応答する一方、当該システム構成情報に基づいて、上位装置から与えられる実ボリューム内のアドレスを指定したデータ入出力要求に応じて、対応するデータを記憶デバイス部の当該アドレス位置に読み書きすると共に、上位装置から与えられる実ボリューム以外の仮想ボリューム内のアドレスを指定したデータ入出力要求に応じて、対応するデータをプール領域に読み書きするようにした。【選択図】図４
2006350418.tif 000002
【特許請求の範囲】
【請求項１】
上位装置と、データを記憶する記憶デバイス部との間のデータの入出力を制御する記憶制御装置において、
前記上位装置から与えられるデータ入出力要求に応じて、対応するデータを前記記憶デバイス部に読み書きするアダプタ部と、
外部操作により設定された、前記記憶デバイス部の記憶容量でなる実記憶容量よりも大きい記憶容量の仮想ボリュームの定義内容と、前記実記憶容量を分割してなる実ボリューム及びプール領域の少なくとも一方の定義内容とを含むシステム構成情報を記憶するメモリと、
を備え、
前記アダプタ部は、
前記メモリに格納された前記システム構成情報に基づいて、前記上位装置からの記憶容量確認に対して前記仮想ボリュームの記憶容量を応答する一方、当該システム構成情報に基づいて、前記上位装置から与えられる前記実ボリューム内のアドレスを指定したデータ入出力要求に応じて、対応する前記データを前記記憶デバイス部の当該アドレス位置に読み書きすると共に、前記上位装置から与えられる前記実ボリューム以外の前記仮想ボリューム内のアドレスを指定したデータ入出力要求に応じて、対応する前記データを前記プール領域に読み書きする
ことを特徴とする記憶制御装置。
【請求項２】
前記メモリは、
前記プール領域に格納された前記データを管理する管理テーブルをも記憶し、
前記アダプタ部は、
前記データを前記プール領域に書き込むときに、前記プール領域における当該データの書き込み位置を前記管理テーブルに登録し、
前記上位装置から与えられる前記実ボリューム以外の前記仮想ボリューム内のアドレスを指定したデータ入出力要求に応じて、前記管理テーブルを参照して、対応する前記データを前記プール領域に読み書きする
ことを特徴とする請求項１に記載の記憶制御装置。
【請求項３】
前記アダプタ部は、
前記実ボリューム以外の前記仮想ボリューム内のアドレスを指定したデータ入出力要求のうちのデータ書込み要求に応じて、対応する前記データを前記記憶デバイス部の前記プール領域に当該プール領域の先頭アドレスから順番に書き込む
ことを特徴とする請求項１に記載の記憶制御装置。
【請求項４】
前記プール領域の残容量を取得するプール領域残容量取得部を備え、
前記プール領域残容量取得部は、
取得した前記プール領域の残容量を外部機器に通知し、
前記外部機器は、
前記プール領域残容量取得部からの通知に基づいて、前記プール領域の残容量をモニタ表示する
ことを特徴とする請求項１に記載の記憶制御装置。
【請求項５】
前記プール領域に対するアクセス性能を取得するプール領域アクセス性能取得部を備え、
前記プール領域アクセス性能取得部は、
取得した前記プール領域に対するアクセス性能を外部機器に通知し、
前記外部機器は、
プール領域アクセス性能取得部からの通知に基づいて、前記プール領域に対する前記アクセス性能をモニタ表示する
ことを特徴とする請求項１に記載の記憶制御装置。
【請求項６】
前記アダプタ部は、
前記実ボリュームが拡張された場合、前記プール領域に格納されている前記データのうちの当該実ボリュームの拡張された部分を書き込み位置として指定された前記データを、前記プール領域から前記実ボリュームに移動させる
ことを特徴とする請求項１に記載の記憶制御装置。
【請求項７】
上位装置と、データを記憶する記憶デバイス部との間のデータの入出力を制御する記憶制御装置の制御方法において、
外部操作により設定された、前記記憶デバイス部の記憶容量でなる実記憶容量よりも大きい記憶容量の仮想ボリュームの定義内容と、前記実記憶容量を分割してなる実ボリューム及びプール領域の少なくとも一方の定義内容とを含むシステム構成情報を記憶する第１のステップと、
記憶した前記システム構成情報に基づいて、前記上位装置からの記憶容量確認に対して前記仮想ボリュームの記憶容量を応答する一方、当該システム構成情報に基づいて、前記上位装置から与えられる前記実ボリューム内のアドレスを指定したデータ入出力要求に応じて、対応する前記データを前記記憶デバイス部の当該アドレス位置に読み書きすると共に、前記上位装置から与えられる前記実ボリューム以外の前記仮想ボリューム内のアドレスを指定したデータ入出力要求に応じて、対応する前記データを前記プール領域に読み書きする第２のステップと
を備えることを特徴とする記憶制御装置の制御方法。
【請求項８】
前記第２のステップでは、
前記データを前記プール領域に書き込むときに、前記プール領域における当該データの書き込み位置を所定の管理テーブルに登録し、
前記上位装置から与えられる前記実ボリューム以外の前記仮想ボリューム内のアドレスを指定したデータ入出力要求に応じて、前記管理テーブルを参照して、対応する前記データを前記プール領域に読み書きする
ことを特徴とする請求項７に記載の記憶制御装置の制御方法。
【請求項９】
前記第２のステップでは、
前記実ボリューム以外の前記仮想ボリューム内のアドレスを指定したデータ入出力要求のうちのデータ書込み要求に応じて、対応する前記データを前記記憶デバイス部の前記プール領域に当該プール領域の先頭アドレスから順番に書き込む
ことを特徴とする請求項７に記載の記憶制御装置の制御方法。
【請求項１０】
前記第２のステップは、
前記プール領域の残容量を取得するプール領域残容量取得ステップと、
取得した前記プール領域の残容量を外部機器に通知するプール領域残容量通知ステップと
を備え、
前記外部機器は、
前記プール領域残容量取得部からの通知に基づいて、前記プール領域の残容量をモニタ表示する
ことを特徴とする請求項７に記載の記憶制御装置の制御方法。
【請求項１１】
前記第２のステップは、
前記プール領域に対するアクセス性能を取得するプール領域アクセス性能取得ステップと、
取得した前記プール領域に対するアクセス性能を外部機器に通知するプール領域アクセス性能通知ステップと
を備え、
前記外部機器は、
プール領域アクセス性能取得部からの通知に基づいて、前記プール領域に対する前記アクセス性能をモニタ表示する
ことを特徴とする請求項７に記載の記憶制御装置の制御方法。
【請求項１２】
前記第２のステップでは、
前記実ボリュームが拡張された場合、前記プール領域に格納されている前記データのうちの当該実ボリュームの拡張された部分を書き込み位置として指定された前記データを、前記プール領域から前記実ボリュームに移動させる
ことを特徴とする請求項７に記載の記憶制御装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、記憶制御装置及びその制御方法に関し、特に記憶領域を仮想化して上位装置に提供する記憶装置に適用して好適なものである。
【背景技術】
【０００２】
近年、ストレージ分野では、記憶管理の簡便化や負荷の分散化を図るため、バーチャリゼーションと呼ばれる技術が研究及び提唱されている。
【０００３】
かかるバーチャリゼーションの例として、従来、記憶装置とその記憶装置を使用するホスト装置とを含むＳＡＮ（Storage Area Network）に管理サーバを接続し、この管理サーバによってＳＡＮに接続された各記憶装置の記憶領域を仮想化して一括管理する方式が提案されている。この方式では、ホスト装置から各記憶装置に対するデータ入出力要求を管理サーバにおいて受け、当該管理サーバがかかる各記憶装置の記憶領域を各ホスト装置にそれぞれ割り当てる。
【０００４】
またＳＡＮ内の記憶容量の有効利用を目的として、１つのホスト装置で記憶容量が不足した際に、他のホスト装置に割り当てた未使用の記憶容量を開放し、これを記憶容量が不足したホスト装置に再割当てする技術も提案されている（特許文献１参照）。
【０００５】
ただし、この技術を採用するに際しては管理サーバを導入する必要があり、また将来の必要に備えて予め記憶容量を多めに用意する必要がある。さらに記憶容量の再割当てを行った場合には、ホスト装置側のデータベースや当該ホスト装置に搭載される当該記憶装置内の記憶領域を管理するためのソフトウェア（以下、これを記憶領域管理ソフトウェアと呼ぶ）の再初期化や再設定等を行う必要が生じる問題もある。
【特許文献１】特開２００５−０３１９２９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
近年、技術の進歩等により、ハードディスクドライブの性能が日々向上し、その一方で、記憶装置における単位記憶容量当たりのコストは日々下がっている。従って、記憶装置の使用者にとっては、将来的に必要となるであろう記憶容量を予め用意しておくよりも、記憶容量の使用状態を監視しながら最小限のハードディスクドライブを段階的に増設していったほうが、性能的及びコスト的には有利である。
【０００７】
しかしながら、記憶装置にハードディスクドライブを増設するためには記憶装置に対する作業だけでなく、上述のようにデータベースや記憶領域管理ソフトウェアの再初期化、再設定などのホスト装置に対する作業も必要となる。このためハードディスクドライブを増設するインターバルを短くしてハードディスクドライブの増設回数を増やすことは、記憶装置の管理者にとって大きな負担となる問題がある。
【０００８】
本発明は以上の点を考慮してなされたもので、記憶容量への投資を抑えながら、記憶容量の拡張を容易化させ得る記憶制御装置及びその制御方法を提案しようとするものである。
【課題を解決するための手段】
【０００９】
かかる課題を解決するため本発明においては、上位装置と、データを記憶する記憶デバイス部との間のデータの入出力を制御する記憶制御装置において、前記上位装置から与えられるデータ入出力要求に応じて、対応するデータを前記記憶デバイス部に読み書きするアダプタ部と、外部操作により設定された、前記記憶デバイス部の記憶容量でなる実記憶容量よりも大きい記憶容量の仮想ボリュームの定義内容と、前記実記憶容量を分割してなる実ボリューム及びプール領域の少なくとも一方の定義内容とを含むシステム構成情報を記憶するメモリとを備え、前記アダプタ部は、前記メモリに格納された前記システム構成情報に基づいて、前記上位装置からの記憶容量確認に対して前記仮想ボリュームの記憶容量を応答する一方、当該システム構成情報に基づいて、前記上位装置から与えられる前記実ボリューム内のアドレスを指定したデータ入出力要求に応じて、対応する前記データを前記記憶デバイス部の当該アドレス位置に読み書きすると共に、前記上位装置から与えられる前記実ボリューム以外の前記仮想ボリューム内のアドレスを指定したデータ入出力要求に応じて、対応する前記データを前記プール領域に読み書きすることを特徴とする。
【００１０】
この結果、この記憶制御装置では、当初より上位装置に仮想ボリュームの記憶容量を記憶デバイス部の記憶容量として通知するため、記憶デバイス部の記憶容量を仮想ボリュームの記憶容量にまで拡張する場合に、これを上位装置に意識させずに行うことができる。またその間、実ボリューム以外の仮想ボリューム内のアドレスを指定したデータ入出力要求に対しては、記憶デバイス部の記憶容量を拡張するまでのバッファとしてプール領域を使用するため、実ボリューム以外の仮想ボリューム内のアドレスを指定したデータ入出力要求が上位装置から与えられた場合にも不具合が生じない。
【００１１】
また本発明においては、上位装置と、データを記憶する記憶デバイス部との間のデータの入出力を制御する記憶制御装置の制御方法において、外部操作により設定された、前記記憶デバイス部の記憶容量でなる実記憶容量よりも大きい記憶容量の仮想ボリュームの定義内容と、前記実記憶容量を分割してなる実ボリューム及びプール領域の少なくとも一方の定義内容とを含むシステム構成情報を記憶する第１のステップと、記憶した前記システム構成情報に基づいて、前記上位装置からの記憶容量確認に対して前記仮想ボリュームの記憶容量を応答する一方、当該システム構成情報に基づいて、前記上位装置から与えられる前記実ボリューム内のアドレスを指定したデータ入出力要求に応じて、対応する前記データを前記記憶デバイス部の当該アドレス位置に読み書きすると共に、前記上位装置から与えられる前記実ボリューム以外の前記仮想ボリューム内のアドレスを指定したデータ入出力要求に応じて、対応する前記データを前記プール領域に読み書きする第２のステップとを備えるようにした。
【００１２】
この結果、この記憶制御装置の制御方法によれば、当初より上位装置に仮想ボリュームの記憶容量を記憶デバイス部の記憶容量として通知するため、記憶デバイス部の記憶容量を仮想ボリュームの記憶容量にまで拡張する場合に、これを上位装置に意識させずに行うことができる。またその間、実ボリューム以外の仮想ボリューム内のアドレスを指定したデータ入出力要求に対しては、記憶デバイス部の記憶容量を拡張するまでのバッファとしてプール領域を使用するため、実ボリューム以外の仮想ボリューム内のアドレスを指定したデータ入出力要求が上位装置から与えられた場合にも不具合が生じない。
【発明の効果】
【００１３】
本発明によれば、記憶デバイス部の記憶容量を段階的に拡張する場合にも、これに伴う上位装置に対する作業を省略させることができ、このように記憶デバイス部の記憶容量を段階的に拡張することに起因する記憶装置の管理者の負担を低減させることができる。かくするにつき、記憶容量への投資を抑えながら、記憶容量の拡張を容易化させ得る記憶制御装置及びその制御方法を実現できる。
【発明を実施するための最良の形態】
【００１４】
以下図面について、本発明の一実施の形態を詳述する。
【００１５】
（１）本実施の形態によるネットワークシステム１の構成
図１は、本実施の形態による記憶装置を用いたネットワークシステム１の構成例を示すものである。このネットワークシステム１は、複数のホスト装置２、記憶装置３及び管理コンソール４から構成されている。
【００１６】
上位装置としてのホスト装置２は、ＣＰＵ（Central Processing Unit）やメモリ等の情報処理資源を備えたコンピュータ装置であり、例えばパーソナルコンピュータや、ワークステーション、メインフレームなどから構成される。ホスト装置２１は、例えばキーボード、スイッチやポインティングデバイス、マイクロフォン等の情報入力装置（図示せず）と、例えばモニタディスプレイやスピーカ等の情報出力装置（図示せず）とを備えている。
【００１７】
ホスト装置２は、例えばＳＡＮ、ＬＡＮ、インターネット、公衆回線又は専用回線などからなるネットワーク５を介して記憶装置３と接続される。このネットワーク５を介したホスト装置２及び記憶装置３間の通信は、例えばネットワーク５がＳＡＮである場合にはファイバーチャネルプロトコルに従って行われ、ネットワーク５がＬＡＮである場合にはＴＣＰ／ＩＰ（Transmission Control Protocol/Internet Protocol）プロトコルに従って行われる。
【００１８】
記憶装置３は、それぞれデータを記憶する複数のディスクユニットからなる記憶デバイス部１０と、記憶デバイス部１０に対するデータの入出力を制御するコントロール部１１とから構成される。
【００１９】
このうち記憶デバイス部１１は、例えばＳＣＳＩ（Small Computer System Interface）ディスク等の高価なディスクドライブ１２、又はＳＡＴＡ（Serial AT Attachment）ディスクや光ディスク等の安価なディスクデバイス１２を複数内蔵して構成される。
【００２０】
これら各記憶デバイス部１０の各ディスクデバイス１２は、コントロール部１１によりＲＡＩＤ方式で運用される。１又は複数のディスクデバイス１２により提供される物理的な記憶領域上に、１又は複数の論理的なボリューム（以下、これを論理ボリュームと呼ぶ）が設定される。そしてデータは、この論理ボリューム内に所定大きさのブロック（以下、これを論理ブロックと呼ぶ）を単位として記憶される。
【００２１】
各論理ボリュームには、それぞれ固有の識別子（以下、これをＬＵ（Logical Unit number）と呼ぶ）が付与される。本実施の形態の場合、データの入出力は、このＬＵと、各論理ブロックにそれぞれ付与されるその論理ブロックに固有の番号（以下、これをＬＢＡ（Logical Block Address）と呼ぶ）との組み合わせたものをアドレスとして、当該アドレスを指定して行われる。
【００２２】
一方、コントロール部１１は、複数のチャネルアダプタ２０、接続部２１、共有メモリ２２、キャッシュメモリ２３、複数のディスクアダプタ２４及び管理端末２５を備えて構成される。
【００２３】
各チャネルアダプタ２０は、それぞれマイクロプロセッサ、メモリ及び通信インタフェース等を備えたマイクロコンピュータシステムとして構成されており、それぞれネットワーク５に接続するためのポートを備える。チャネルアダプタ２０は、ホスト装置２からネットワーク５を介して送信される各種コマンドを解釈して実行する。各チャネルアダプタ２０のポートには、それぞれを識別するためのネットワークアドレス（例えば、ＩＰアドレスやＷＷＮ）が割り当てられており、これにより各チャネルアダプタ２０がそれぞれ個別にＮＡＳ（Network Attached Storage）として振る舞うことができるようになされている。
【００２４】
接続部２１は、チャネルアダプタ２０、共有メモリ２２、キャッシュメモリ２３及びディスクアダプタ２４と接続されている。チャネルアダプタ２０、共有メモリ２２、キャッシュメモリ２３及びディスクアダプタ２４間でのデータやコマンドの授受は、この接続部２１を介して行われる。接続部２１は、例えば高速スイッチングによりデータ伝送を行う超高速クロスバススイッチなどのスイッチ又はバス等で構成される。
【００２５】
共有メモリ２２及びキャッシュメモリ２３は、チャネルアダプタ２０及びディスクアダプタ２４により共有される記憶メモリである。共有メモリ２２は、主に記憶装置３全体の構成に関するシステム構成情報等の各種制御情報やコマンド等を記憶するために利用される。後述するプール領域管理テーブル３０（図３）もこの共有メモリ２２に記憶される。またキャッシュメモリ２３は、主に記憶装置３に入出力するデータを一時的に記憶するために利用される。
【００２６】
各ディスクアダプタ２４は、マイクロプロセッサやメモリ等を備えたマイクロコンピュータシステムとして構成され、記憶デバイス部１０内のディスクユニット１２との通信時におけるプロトコル制御を行うインタフェースとして機能する。これらディスクアダプタ２４は、例えばファイバーチャネルケーブル２６を介して各記憶デバイス部１０内の対応するディスクユニット１２と接続されており、ファイバーチャネルプロトコルに従ってこれらディスクユニット１２との間のデータの授受を行う。
【００２７】
管理端末２５は、記憶装置３全体の動作を制御するものであり、ＬＡＮ２７を介して各チャネルアダプタ２０とそれぞれ接続され、ＬＡＮ２８を介して各ディスクアダプタ２４とそれぞれ接続されている。管理端末２５は、記憶装置３内の障害の有無を監視し、障害が発生したときにこれを管理コンソール４に通知したり、オペレータ操作に応じて管理コンソール４から与えられる指令に基づいて記憶デバイス部１０内の対応するディスクユニット１２の閉塞処理を行う。オペレータは管理端末２５を用いてシステム構成情報を定義することができ、またこの定義したシステム構成情報を、チャネルアダプタ２０又はディスクアダプタ２４と接続部２１とを経由して、共有メモリ２２に格納することができる。
【００２８】
管理コンソール４は、例えばパーソナルコンピュータ、ワークステーション、あるいは携帯情報端末等のコンピュータから構成され、ＬＡＮ２９を介して記憶装置３の管理端末２５と接続されている。管理コンソール４は、記憶装置３に対して各種設定を行うためのＧＵＩ（Graphical User Interface）や各種情報を表示する表示装置と、オペレータが各種操作や各種設定入力を行うためのキーボードやマウス等の入力装置と、ＬＡＮ２９を介して記憶装置３の管理端末２５と通信を行うための通信装置とを備える。そして管理コンソール４は、入力装置を介して入力された各種指令に基づいて各種処理を実行する。例えば管理コンソール２３は、記憶装置３の管理端末２５から通知される障害情報等の各種情報を表示装置に表示させたり、表示装置に表示したＧＵＩを用いて入力された各種設定事項を記憶装置３の管理端末２５に送信する。
【００２９】
（２）記憶装置３におけるデータ入出力処理
次に、本実施の形態の記憶装置３におけるデータの入出力処理について説明する。図２は、この記憶装置３において設定可能な記憶容量を概念的に示したものである。この記憶装置３では、管理端末２５を用いて、記憶デバイス部１０全体の記憶容量として、実際の記憶容量（以下、これを実記憶容量と呼ぶ）よりも大きい、例えば将来的に拡張しようとする大きさの仮想的な論理ボリューム（以下、これを仮想論理ボリュームＶＯＬVと呼ぶ）を定義及び設定することができる。この定義及び設定内容は、管理端末２５のもとに、いずれか１つのチャネルアダプタ２０又はディスクアダプタ２４を介して共有メモリ２２に転送され、システム構成情報の一部としてこの共有メモリ２２に格納される。
【００３０】
そしてチャネルアダプタ２０は、ホスト装置２から当該記憶装置３の記憶容量を確認するためのコマンドが送信されてきたときには、予め設定されているかかる仮想ボリュームＶＯＬVの記憶容量を返答する。例えば、ホスト装置２からＳＣＳＩ（Small Computer System Interface） で定義されているRead Capacityコマンドが送信されてきた場合、このRead Capacityコマンドを受領したチャネルアダプタ２０は、共有メモリ２２に格納されているシステム構成情報を参照し、仮想ボリュームＶＯＬVの記憶容量に基づいてステータス情報を生成し、これを対応するホスト装置２に送信する。
【００３１】
またこの記憶装置３では、管理端末２５を用いて、実際の記憶デバイス部１０全体の記憶容量の一部を通常のデータの読み書きを行うための論理ボリューム（以下、これを実ボリュームと呼ぶ）ＶＯＬR、残りをプール領域ＶＯＬPとして定義及び設定することができる。このプール領域ＶＯＬPは、ホスト装置２から仮想ボリュームＶＯＬVのうちの実ボリュームＶＯＬR内の論理アドレス以外の論理アドレスを書込み位置として指定して送信されてきたデータを、将来的に実ボリュームＶＯＬVが拡張されるまでの間記憶しておくためのバッファ用の記憶領域として用いられる。この定義及び設定内容は、管理端末２５のもとに、いずれかのチャネルアダプタ２０又はディスクアダプタ２４を介して共有メモリ２２に転送され、システム構成情報の一部としてこの共有メモリ２２に格納される。
【００３２】
さらにこの記憶装置３では、実ボリュームＶＯＬR内の記憶領域については、ホスト装置２がアドレス（ＬＵ及びＬＢＡ）を指定することによって、直ちに対応する記憶領域にアクセスできるように、ホスト装置２が認識する論理的なアドレス（論理アドレス）と、記憶デバイス部１０内の物理的なアドレス（物理アドレス）とが１対１で固定的に対応付けられており、これらを対応付けたアドレス変換テーブルがシステム構成情報の一部として共有メモリ２２に格納されている。
【００３３】
そして記憶装置３では、ホスト装置２から与えられる論理アドレスを指定したデータ入出力要求を受信した場合において、そのデータ入出力要求に含まれるデータを読み書きすべき論理アドレスが実ボリュームＶＯＬR内の記憶領域と対応付けられたものであったときには、アドレス変換テーブルを用いてその論理アドレスを物理アドレスに変換し、この物理アドレスの位置にデータを読み書きする。
【００３４】
これに対して、この記憶装置３では、プール領域ＶＯＬP内の記憶領域については、ホスト装置２が認識する論理アドレスと、実際にデータが読み書きされる記憶デバイス部１０内の物理アドレスとが１対１で固定的に対応付けられておらず、仮想ボリュームＶＯＬVのうちの実ボリュームＶＯＬR以外の記憶領域を指定したデータ書込み要求がホスト装置２から与えられる毎に、データを書き込むべき記憶領域が動的に割当てられる。
【００３５】
このため共有メモリ２２には、プール領域ＶＯＬPに格納された各データを管理する手段として、図３に示すように、エントリ番号欄（「エントリｎ（ｎ＝１，２，……）」）、アドレス情報欄（「ＬＵ，ＬＢＡ」）、データ長情報欄（「データ長」）及びポインタ情報欄（「ポインタ♯ｎ（ｎ＝１，２，……）」）を有するプール領域管理テーブル３０が格納されている。
【００３６】
そしてこの記憶装置３は、仮想ボリュームＶＯＬV内であるが実ボリュームＶＯＬRの範囲を超える論理アドレスを指定したデータの書込み要求がホスト装置２から与えられた場合には、そのデータをプール領域ＶＯＬPに書き込む一方、そのデータに対して新たなエントリ番号を割り当て、そのエントリ番号をエントリ番号情報としてプール領域管理テーブル３０のエントリ番号欄に格納する。
【００３７】
また記憶装置３は、そのデータの書込み位置としてホスト装置２が指定した、つまり対応するデータ書込み要求に含まれていた論理アドレス（ＬＵ及びＬＢＡ）をアドレス情報としてプール領域管理テーブル３０のアドレス情報欄に格納すると共に、そのデータのデータ長をデータ長情報としてプール領域管理テーブル３０のデータ長情報欄に格納する。さらに記憶装置３は、そのデータを実際に格納したプール領域ＶＯＬP内の記憶領域における先頭の論理アドレスをポインタ情報としてプール領域管理テーブル３０のポインタ情報欄に格納する。
【００３８】
そして記憶装置３は、仮想ボリュームＶＯＬV内であるが実ボリュームＶＯＬRの範囲を超える論理アドレスを指定したデータ読出し要求がホスト装置３から与えられた場合には、プール領域ＶＯＬPにおける対応するデータの格納位置をこのプール領域管理テーブル３０に基づいて検出すると共に、当該検出結果に基づいてそのデータをプール領域ＶＯＬPから読み出して対応するホスト装置２に送信する。
【００３９】
なお、仮想ボリュームＶＯＬVの記憶容量に基づき動作するのは、対ホスト装置２のインタフェース上の処理のみであって、記憶装置３におけるフォーマット等の内部処理は、実ボリュームＶＯＬR及びプール領域ＶＯＬPを合計した記憶容量に対してのみ実施する。
【００４０】
ここで図４は、このような記憶装置３におけるデータの入出力処理のうち、ホスト装置２からコマンド（特にデータ書込み要求）が送信されてきたときに記憶装置３内において行われる一連の処理手順（以下、これを第１のデータ入出力処理手順ＲＴ１と呼ぶ）を示すフローチャートである。
【００４１】
記憶装置３においては、ホスト装置２からのコマンドをチャネルアダプタ２０が受信すると、この第１のデータ入出力処理手順ＲＴ１に従った処理が開始され、まず当該チャネルアダプタ２０によりそのコマンドがデータ書込み要求のコマンドであるか否かが判断される（ＳＰ１）。
【００４２】
そのコマンドがデータ書込み要求のコマンドでなかった場合（ＳＰ１；ＮＯ）、記憶装置３内においてそのコマンドに応じた処理が行われ（ＳＰ２）、この後そのコマンドに対する処理が終了する（ＳＰ１１）。
【００４３】
これに対して、そのコマンドがデータ書込み要求のコマンドであった場合（ＳＰ１；ＹＥＳ）、このデータ書込み要求を受信したチャネルアダプタ２０は、当該データ書込み要求に含まれるそのデータを書き込むべき記憶領域の論理アドレス（ＬＵ及びＬＢＡ）を抽出し、この抽出した論理アドレスと、共有メモリ２２に格納されているシステム構成情報とに基づいて、その論理アドレスが実ボリュームＶＯＬR内の記憶領域と対応付けられた論理アドレスであるか否かを判断する（ＳＰ３）。
【００４４】
そしてチャネルアダプタ２０は、その論理アドレスが実ボリュームＶＯＬR内の記憶領域と対応付けられた論理アドレスであった場合には（ＳＰ３；ＹＥＳ）、かかるデータ書込み要求を共有メモリ２２に格納する一方、当該データ書込み要求と共に与えられた書込み対象のデータをキャッシュメモリ２３に書き込む。
【００４５】
このとき各ディスクアダプタ２４は、共有メモリ２２を常時監視している。そして対応するディスクアダプタ２４は、共有メモリ２２にデータ書込み要求が書き込まれたことを検出すると、当該データ書込み要求に含まれる論理アドレスに基づいて実ボリュームＶＯＬR内の物理アドレスを算出すると共に（ＳＰ４）、キャッシュメモリ２３から書込み対象のデータを読み出し、これを記憶デバイス部１０内の対応するディスクユニット１２に送信する。これによりこのデータが、そのディスクユニット１２内の対応するアドレス位置に格納される（ＳＰ１０）。そして記憶装置３は、この後そのコマンドに対する処理を終了する（ＳＰ１１）。
【００４６】
これに対して、かかるチャネルアダプタ２０は、ホスト装置２からのデータ書込み要求に含まれるデータを書き込むべき論理アドレスが実ボリュームＶＯＬR内の記憶領域と対応付けられた論理アドレスでなかった場合には（ＳＰ３；ＮＯ）、データ書込み要求に含まれる論理アドレスと、プール領域管理テーブル３０に登録された各エントリのアドレス情報欄にそれぞれ格納されている論理アドレスとを順次比較する（ＳＰ５）。
【００４７】
そして、そのチャネルアダプタ２０は、かかるデータ書込み要求に含まれる論理アドレスが、プール領域管理テーブル３０内のいずれかのエントリのアドレス情報欄に格納された論理アドレスと一致したか否か、つまりかかるデータ書込み要求に含まれる論理アドレスの位置に既にデータが格納されているか否かを判断する（ＳＰ６）。
【００４８】
ここで肯定結果を得ることは（ＳＰ６；ＹＥＳ）、このホスト装置２からのデータ書込み要求が、既にプール領域ＶＯＬPに格納されているデータの更新要求であることを意味する。かくして、このときチャネルアダプタ２０は、プール領域管理テーブル３０の対応するエントリのポインタ情報欄に格納された論理アドレスを読み出し、ホスト装置２からのデータ書込み要求に含まれるデータを書き込むべき論理アドレスをこの読み出した論理アドレスに置き換えた新たなデータ書込み要求を生成して、これを共有メモリ２２に格納する（ＳＰ７）。
【００４９】
この結果、このデータ書込み要求に基づいて、対応するディスクアダプタ２４により書込み対象のデータがキャッシュメモリ２３から読み出されて、対応するディスクユニット１２内の対応するアドレス位置に格納される（ＳＰ１０）。そして記憶装置３は、この後そのコマンドに対する処理を終了する（ＳＰ１１）。
【００５０】
これに対して、かかる判断において否定結果を得ることは（ＳＰ５；ＮＯ）、このホスト装置２からのデータ書込み要求が、新たなデータの書込み要求であることを意味する。かくして、このとき対応するチャネルアダプタ２０は、プール領域管理テーブル３０の未使用のエントリをそのデータのために新規に確保する（ＳＰ８）。
【００５１】
また、かかるチャネルアダプタ２０は、この後この新規確保したプール領域管理テーブル３０の未使用のエントリの各欄にそのデータについての対応する情報を格納するようにして、当該データをプール領域管理テーブル３０に登録する。具体的に、チャネルアダプタ２０は、そのデータを格納するためのプール領域ＶＯＬP内の未使用の記憶領域を確保して、その先頭の論理アドレスをステップＳＰ８において新規確保した未使用エントリのポインタ情報欄に格納すると共に、当該データについて付与したエントリ番号、ホスト装置２により指定されたそのデータを本来的に格納すべき論理アドレス（そのデータについてホスト装置２から与えられたデータ書込み要求に含まれるデータを格納すべき論理アドレス）及びそのデータのデータ長を、それぞれかかる新規確保した未使用エントリのエントリ番号欄、論理アドレス情報欄又はデータ長情報欄にそれぞれ格納する。
【００５２】
なお、この実施の形態の場合、このときのプール領域ＶＯＬP内の記憶領域を確保する手法としては、プール領域ＶＯＬPの先頭アドレスから未使用の記憶領域をそのデータ長分だけ確保する方式が用いられる。この方式を用いることにより、隙間をあけてランダムにデータをプール領域ＶＯＬPに格納する場合に比べて、記憶領域の無駄を防止して、プール領域ＶＯＬPの記憶容量を節約することができる。
【００５３】
チャネルアダプタ２０は、この後プール領域管理テーブル３０の対応するエントリのポインタ情報欄に格納された論理アドレスを読み出し、ホスト装置２からのデータ書込み要求に含まれるデータの書き込み先の論理アドレスをこの読み出した論理アドレスに置き換えた新たなデータ書込み要求を生成して、これを共有メモリ２２に格納する（ＳＰ９）。
【００５４】
この結果、このデータ書込み要求に基づいて、対応するディスクアダプタ２４により書き込み対象のデータがキャッシュメモリ２３から読み出されて、対応するディスクユニット１２内の対応するアドレス位置に格納される（ＳＰ１０）。そして記憶装置３は、この後そのコマンドに対する処理を終了する（ＳＰ１１）。
【００５５】
一方、図５は、第１のデータ入出力処理手順ＲＴ１のステップＳＰ２において、ホスト装置２からのコマンドがデータ読出し要求であった場合に行われる一連の処理手順（以下、これを第２のデータ入出力処理手順ＲＴ２と呼ぶ）を示すフローチャートである。
【００５６】
かかるホスト装置２からのコマンドを受信したチャネルアダプタ２０は、第１のデータ入出力処理手順ＲＴ１のステップＳＰ２に進むと、この第２のデータ入出力処理手順ＲＴ２に従って、まずそのコマンドがデータ読出し要求のコマンドであるか否かを判断する（ＳＰ２１）。
【００５７】
そしてそのコマンドがデータ読出し要求のコマンドでなかった場合には（ＳＰ２１；ＮＯ）、この後記憶装置３においてそのコマンドに応じた処理が行われ（ＳＰ２２）、この後そのコマンドに対する一連の処理が終了する（ＳＰ３１）。
【００５８】
これに対して、そのコマンドがデータ読出し要求のコマンドであった場合には（ＳＰ２１；ＹＥＳ）、そのコマンドを受信したチャネルアダプタ２０は、そのデータ読出し要求に含まれる読出し対象のデータが書き込まれている記憶領域の論理アドレスを抽出し、この抽出した論理アドレスと、共有メモリ２２に格納されているシステム構成情報とに基づいて、その論理アドレスが実ボリュームＶＯＬR内の記憶領域と対応付けられたアドレスであるか否かを判断する（ＳＰ２３）。
【００５９】
この場合、読出し対象のデータが実ボリュームＶＯＬR内に格納されているときには、この判断において肯定結果が得られる（ＳＰ２３；ＹＥＳ）。かくしてこのときチャネルアダプタ２０は、このデータ読出し要求を共有メモリ２２に格納する。
【００６０】
このデータ読出し要求は、この後対応するディスクアダプタ２４により読み出される。そして、ディスクアダプタ２４は、このデータ読出し要求に含まれるかかる論理アドレスと対応付けられた実ボリュームＶＯＬR内の物理アドレスを算出し（ＳＰ２４）、この算出結果に基づいて対応するディスクユニット１２を制御することにより、読出し対象のデータをそのディスクユニット１２の対応するアドレス位置から読み出させる（ＳＰ２８）。さらに、このディスクアダプタ２４は、ディスクユニット１２から読み出させたデータ（以下、これを読出しデータと呼ぶ）をキャッシュメモリ２３に格納すると共に、共有メモリ２２に読出しコマンドを格納する。
【００６１】
このとき各チャネルアダプタ２０は、共有メモリ２２を常時監視している。そして対応するチャネルアダプタ２０は、共有メモリ２２に読出しコマンドが書き込まれたことを検出すると、この読出しコマンドに基づいて、対応する読出しデータをキャッシュメモリ２２から読み出し、これを対応するホスト装置２に送信する（ＳＰ３０）。そして記憶装置３は、この後そのコマンドに対する処理を終了する（ＳＰ３１）。
【００６２】
一方、読出し対象のデータが実ボリュームＶＯＬR内に格納されているときには、ステップＳＰ２３の判断において否定結果が得られる（ＳＰ２３；ＮＯ）。かくしてこのときチャネルアダプタ２０は、データ読出し要求に含まれる読出し対象のデータの論理アドレスと、プール領域管理テーブル３０に登録された各エントリのアドレス情報欄にそれぞれ格納されている論理アドレスとを順次比較する（ＳＰ２５）。
【００６３】
この後、そのチャネルアダプタ２０は、読出し対象のデータが格納されている論理アドレスが、プール領域管理テーブル３０に登録されたいずれかのエントリのアドレス情報欄に格納された論理アドレスと一致したか否かを判断する（ＳＰ２６）。
【００６４】
ここで肯定結果を得ることは（ＳＰ２６；ＹＥＳ）、このホスト装置２からのデータ読出し要求がプール領域ＶＯＬPに格納されているデータに対するものであることを意味する。かくして、このときチャネルアダプタ２０は、プール領域管理テーブル３０の対応するエントリのポインタ情報欄に格納された論理アドレスを読み出し、ホスト装置２からのデータ読出し要求に含まれる論理アドレスをこの読み出した論理アドレスに置き換えた新たなデータ読出し要求を生成して、これを共有メモリ２２に格納する（ＳＰ２７）。
【００６５】
この結果、このデータ読出し要求が対応するディスクアダプタ２４により共有メモリ２２から読み出され、このディスクアダプタ２４により、このデータ読出し要求に含まれるかかる論理アドレスと対応するプール領域ＶＯＬP内の物理アドレスが算出され（ＳＰ２７）、この算出結果に基づいて読出し対象のデータが記憶デバイス部１１内の対応するディスクユニット１２から読み出される（ＳＰ２８）。また、かかるディスクアダプタ２４は、このディスクユニット１２から読み出した読出しデータをキャッシュメモリ２３に格納すると共に、共有メモリ２２に読出しコマンドを格納する。
【００６６】
この結果、上述の場合と同様にして、この読出しデータが対応するチャネルアダプタ２０により読み出されて対応するホスト装置２に送信される（ＳＰ３０）。そして記憶装置３は、この後そのコマンドに対する処理を終了する（ＳＰ３１）。
【００６７】
一方、ステップＳＰ２６において否定結果を得ることは（ＳＰ２６；ＮＯ）、そのときホスト装置２からデータ読出し要求があったデータが実ボリュームＶＯＬRのみならずプール領域ＶＯＬPにも記憶されていないことを意味する。かくして、このときそのチャネルアダプタ２０は、オール「０」のダミーデータを対応するホスト装置２に送信する（ＳＰ２９）。そして記憶装置３は、この後そのコマンドに対する処理を終了する（ＳＰ３１）。
【００６８】
（３）記憶装置３におけるプール領域アクセス性能表示機能
ところで、かかる構成を有する記憶装置３では、プール領域ＶＯＬP内に新たなデータを書き込むべき記憶領域を新規に確保する際の手法として、上述のように書込むべきデータが発生した時点で順次プール領域ＶＯＬPの先頭からそのデータ長分だけ記憶領域を割り当てる方式が用いられる。従って、この記憶装置３では、プール領域ＶＯＬP内のデータが、そのデータについてホスト装置２が認識している論理アドレス（ＬＵ，ＬＢＡ）の順番で配置されない。
【００６９】
この結果、この記憶装置３では、第１に、プール領域ＶＯＬP内に格納されたデータへのアクセスの際に、共有メモリ２２上にあるプール領域管理テーブル３０のすべてのエントリをサーチする必要がある点、第２に、プール領域ＶＯＬP上において、一度のコマンドで読み書きすべきデータが一箇所に連続して格納されずに、離れた複数の記憶領域に分散して格納されることがあるなどの理由から、プール領域ＶＯＬPに格納されたデータに対するアクセス性能が実ボリュームＶＯＬR内に格納されたデータに比べて落ちる。特に後者の理由により、離れた複数の記憶領域に分散して格納されたデータを集めるために、複数回のデータ転送を行う必要が生じる場合があり、この場合１回の転送と比べて余分に転送時間が必要となる。
【００７０】
従って、かかる構成を有する本実施の形態による記憶装置３では、実ボリュームＶＯＬRを越える論理アドレスを指定したデータ入出力の頻度が増え、プール領域ＶＯＬPに格納されるデータが多くなるにつれて、当該データに対する平均的なアクセス性能が悪くなる。
【００７１】
この場合において、本実施の形態による記憶装置３では、プール領域ＶＯＬP内のデータを格納するための記憶領域を確保する手法として、プール領域ＶＯＬPの先頭から順次割り当てる方式を採用しているため、プール領域ＶＯＬP内の未使用の記憶領域の残量をプール領域管理テーブル３０の最終の有効エントリ（データが登録されたエントリ）のアドレス情報欄に格納されているアドレス情報（ＬＵ，ＬＢＡ）から容易に算出することができる。またプール領域ＶＯＬP内に格納されたデータへのアクセス性能は、プール領域ＶＯＬPへのアクセス（データの書き込み又は読み出し）毎に、処理開始から処理終了までの時間をカウントしてその平均値を求めることにより得ることができる。
【００７２】
そこで、本実施の形態による記憶装置３では、各チャネルアダプタ２０が、プール領域ＶＯＬPにデータを読み書きすべきデータ入出力要求（データ書込み要求又はデータ読出し要求）を受信する毎に、処理開始から処理終了までの指定されたデータを読み書きするのに要した時間を図示しない内部タイマによって計測すると共に、その処理後のプール領域ＶＯＬP内の未使用の記憶領域の残量をプール領域管理テーブル３０に基づいて演算し、これら計測結果及び演算結果を管理端末２５に送出するようになされている。
【００７３】
そして管理端末２５は、このチャネルアダプタ２０からの計測結果及び演算結果を管理コンソール４に送信する一方、管理コンソール４は、オペレータ操作に応じて、この計測結果及び演算結果をモニタ表示する。
【００７４】
このようにしてこの記憶装置３においては、オペレータがこの管理コンソール４にモニタ表示されたプール領域ＶＯＬPへのアクセス性能及びプール領域ＶＯＬPの残量に基づいて、ディスクユニット１２を増設すべき時期を適切に判断し得るようになされている。
【００７５】
（４）ディスクユニット増設時におけるデータ再配置処理
次に、ディスクユニット１２の増設時におけるデータ再配置処理について説明する。
【００７６】
本実施の形態の記憶装置３は、装置稼動中においても記憶容量の増設作業を行うことが可能である。具体的には、まず、記憶デバイス部１１内の物理的なディスク容量（ディスクユニット１２）を増設し、その後管理端末２５のユーザインタフェースを用いて、増設後の実ボリュームＶＯＬR、プール領域ＶＯＬPの記憶容量、必要があれば仮想ボリュームＶＯＬVの記憶容量も含めて、システム構成情報を更新する。そして、この後管理端末２５を操作することにより、その新しいシステム構成情報を、データ再配置処理実行コマンドと共に管理端末２５からＬＡＮ経由で任意の１つのチャネルアダプタ２０又はディスクアダプタ２４に送信するようにする。
【００７７】
このとき、かかる新しいシステム構成情報を受信したチャネルアダプタ２０又はディスクアダプタ２４は、共有メモリ２２に格納されているシステム構成情報を新しいシステム構成情報と置き換えるようにしてシステム構成情報を更新する。また、かかるチャネルアダプタ２０又はディスクアダプタ２４は、データ再配置処理実行コマンドに基づいて、管理端末２５の制御のもとに、図７に示すように、共有メモリ２２に格納されたプール領域管理テーブル３０に登録されている全エントリのうちの拡張された実ボリュームＶＯＬR内に書き込まれるべきエントリのデータを、プール領域ＶＯＬPから実ボリュームＶＯＬR内の対応するアドレス位置にコピーする。以下においては、このようにプール領域ＶＯＬPに格納されているデータを、拡張された実ボリュームＶＯＬR内の対応するアドレス位置に再配置する処理をデータ再配置処理と呼ぶものとする。
【００７８】
図６は、記憶装置３内において行われるこのようなデータの再配置処理の処理手順（以下、これをデータ再配置処理手順ＲＴ３と呼ぶ）を示すフローチャートである。
【００７９】
記憶装置３では、実ボリュームＶＯＬRの増設後、オペレータが管理端末２５を操作して増設後の実ボリュームＶＯＬRの記憶容量等を含むシステム構成情報を上述のようにして更新した後、この管理端末２５を操作してデータ再配置処理を実行すべき指令を入力すると、このデータ再配置処理手順ＲＴ３が開始され、まず管理端末２５からデータ再配置処理実行コマンドを受信したチャネルアダプタ２０又はディスクアダプタ２４がプール領域管理テーブル３０に登録された各エントリの中から１つのエントリについて、アドレス情報欄に登録されたそのエントリを格納すべき論理アドレスを読み出し（ＳＰ４１）、その論理アドレスが実ボリュームＶＯＬRにおけるそのとき増設した範囲内のものであるか否かを判断する（ＳＰ４２）。
【００８０】
かかるチャネルアダプタ２０又はディスクアダプタ２４は、この判断において否定結果を得ると（ＳＰ４２；ＮＯ）、後述するステップＳＰ４５の処理に移り、これに対して肯定結果を得ると（ＳＰ４２；ＹＥＳ）、プール領域管理テーブル３０のそのエントリのポインタ情報欄から、そのエントリのデータが現在格納されているプール領域ＶＯＬPの論理アドレスを読み出す（ＳＰ４３）。
【００８１】
また、かかるチャネルアダプタ２０又はディスクアダプタ２４は、この後ステップＳＰ４１において取得した本来的にそのデータを格納すべき論理アドレスと、ステップＳＰ４３において取得したそのデータが現在格納されている論理アドレスとに基づいて、プール領域ＶＯＬPからそのデータを論理ブロック単位で順次読み出させ、これを実ボリュームＶＯＬR内の対応するアドレス位置、つまりプール領域管理テーブル３０のアドレス情報欄に格納された論理アドレスを先頭アドレスとする位置に順次コピーさせる（ＳＰ４４）。
【００８２】
具体的に、かかるデータ再配置処理実行コマンドを受信したチャネルアダプタ２０又はディスクアダプタ２４は、ステップＳＰ４１及びステップＳＰ４４においてそれぞれ取得した論理アドレスを含むデータ再配置処理コマンドを共有メモリ２２に格納する。
【００８３】
このデータ再配置処理コマンドは、この後ステップＳＰ４１において取得した本来的にそのデータを格納すべき論理アドレスにデータを読み書きするディスクアダプタ２４（以下、これをコピー先ディスクアダプタ２４と呼ぶ）と、ステップＳＰ４３において取得したそのデータが現在格納されている論理アドレスにデータを読み書きするディスクアダプタ２４（以下、これをコピー元ディスクアダプタ２４と呼ぶ）とに読み出される。
【００８４】
そしてこのコピー元ディスクアダプタ２４は、記憶デバイス部１１内における対応するディスクユニット１２から再配置すべきデータを読み出し、これをキャッシュメモリ２３に格納する。またコピー先ディスクアダプタ２４は、このデータをキャッシュメモリ２３から読み出し、対応するディスクユニット１２における対応するアドレス位置に格納させる。これによりかかるデータの再配置が行われることとなる。
【００８５】
また、このような処理と並行して、かかるデータ再配置処理実行コマンドを受信したチャネルアダプタ２０又はディスクアダプタ２４は、プール領域管理テーブル３０におけるその対応するエントリの情報を削除することにより、当該エントリの設定を無効にする（ＳＰ４４）。なお、この設定が無効にされたエントリについては、その後新たなエントリの上書きが可能となり、これによりプール領域ＶＯＬPにおけるそのデータが格納されていた記憶領域の再利用が可能となる。
【００８６】
続いて、かかるチャネルアダプタ２０又はディスクアダプタ２４は、その後プール領域管理テーブル３０に登録されたすべてのエントリについて、ステップＳＰ４１〜ステップＳＰ４４について上述した処理を終えたか否かを判断する（ＳＰ４５）。
【００８７】
このチャネルアダプタ２０又はディスクアダプタ２４は、この判断において否定結果を得ると（ＳＰ４５；ＮＯ）、ステップＳＰ４１に戻り、この後プール領域管理テーブル３０に登録されたすべてのエントリについての処理を終えるまで（つまりステップＳＰ４５において肯定結果を得るまで）、同様の処理を繰り返す（ＳＰ４１〜ＳＰ４５）。
【００８８】
そして、チャネルアダプタ２０又はディスクアダプタ２４は、この後プール領域管理テーブル３０に登録されたすべてのエントリについて上述のステップＳＰ４１〜ステップＳＰ４４の処理を終えると（ステップＳＰ４５において肯定結果を得ると）、この一連のデータ再配置処理を終了する（ＳＰ４７）。
【００８９】
なお、上述したデータ再配置処理手順ＲＴ３のステップＳＰ４４において、１つのエントリのデータ再配置（データコピー）を行っている最中に、そのデータを更新するためのデータ書込み要求がホスト装置２から記憶装置３に送信される可能性がある。
【００９０】
この場合、プール領域管理テーブル３０における対応するエントリは、その段階では無効に設定（削除）されていない。このため、このデータ書込み要求を受信したチャネルアダプタ２０は、第１のデータ入出力処理手順ＲＴ１（図４）のステップＳＰ７について上述したように、プール領域管理テーブル３０の対応するエントリのポインタ情報欄に格納された論理アドレスを読み出し、ホスト装置２からのデータ書込み要求に含まれるデータの書き込み先の論理アドレスをこの読み出した論理アドレスに置き換えた新たなデータ書込み要求を生成して、これを共有メモリ２２に格納する。またかかるチャネルアダプタ２０は、これと共に書き込み対象のデータをキャッシュメモリ２３に格納する。そして、共有メモリ２２に書き込まれたデータ書込み要求は、この後コピー元ディスクアダプタ２４により共有メモリ２２から読み出される。
【００９１】
このとき、コピー元ディスクアダプタ２４は、データコピーの状況を参照して、データの再配置を終えた（すなわちキャッシュメモリ２３を介してコピー先ディスクアダプタ２４に転送を終えた）論理ブロックのデータについては、これをキャッシュメモリ２３を介してコピー先ディスクアダプタ２４に転送することにより、当該論理ブロックのデータをコピー先のディスクユニット１２における対応するアドレス位置に格納させる。
【００９２】
これに対してコピー元ディスクアダプタ２４は、データの再配置を終えていない（すなわちキャッシュメモリ２３を介してコピー先ディスクアダプタ２４に転送を終えていない）論理ブロックのデータについては、これをキャッシュメモリ２３から読み出して、コピー元のディスクユニット１２における対応するアドレス位置に格納する。
【００９３】
このようにこの記憶装置３においては、コピー最中のデータに対する更新要求があったときには、そのデータコピーの状況を参照して、論理ブロック単位で書き込み先を切り替えるようになされ、これによりコピー最中のデータの更新が確実にコピー後のデータに反映されるようになされている。
【００９４】
（５）本実施の形態の効果
次に、上述のように記憶装置３を構築することの利点について、図８を参照して説明する。ここでは、データベースのメンテナンスや記憶領域管理ソフトウェアの再定義を２年間隔で行う使用者を標準ケースとして想定する。また図中、「ｘ」は初期の記憶容量を表し、「ｙ」はその記憶容量を得るための投資金額を表すものとする。
【００９５】
この場合において、必要とする記憶容量が６ヶ月毎に２０％増加すると共に、単位当たりの記憶容量を用意するために必要なコストが６ヶ月毎に２０％コストダウンするものとすると、２年後に必要となる記憶容量は初期時の記憶容量の２０７.４％になる。このため、最終的に２０％の余裕をもたせるためには、従来方式では最初から予め初期時に必要な記憶容量の約２.５倍の記憶容量を用意する必要がある。
【００９６】
そこで、本実施の形態による記憶装置３において、２０％のプール領域を設けて６ヶ月毎に記憶容量を拡張する場合と、従来方式により予め将来の必要に備えて記憶容量を用意しておく場合との投資金額を比較すると、図８に示すように、前者の方が投資金額を従来方式よりも２４.２％を低減することが可能となる。
【００９７】
この場合において、本実施の形態による記憶装置３では、上述のように当初よりホスト装置２に仮想ボリュームＶＯＬVの記憶容量を記憶装置３の記憶デバイス部１０の記憶容量として通知した場合、記憶デバイス部１０の記憶容量を仮想ボリュームＶＯＬVの記憶容量にまで拡張する際に、これをホスト装置２に意識させずに行うことができる。またその間、実ボリュームＶＯＬR以外の仮想ボリュームＶＯＬV内のアドレスを指定したデータ入出力要求に対しては、記憶デバイス部１０の記憶容量を拡張するまでのバッファとしてプール領域ＶＯＬPを使用するため、実ボリュームＶＯＬR以外の仮想ボリュームＶＯＬV内のアドレスを指定したデータ入出力要求がホスト装置２から与えられた場合にも不具合が生じない。
【００９８】
この結果、上述の記憶装置３によれば、記憶容量の拡張に伴うデータベースや記憶領域管理ソフトウェアの再初期化及び再設定等の負担を抑えながら、記憶容量の拡張に要する投資を低減させることが可能となる。従って、この記憶装置３によれば、記憶容量への投資を抑えながら、記憶容量の拡張を容易化させることができる。
【００９９】
（６）他の実施の形態
なお、上述の実施の形態においては、各チャンネルアダプタ２０が、プール領域ＶＯＬPに対するアクセス性能（プール領域ＶＯＬPにデータを読み書きするのに要した時間）及びプール領域ＶＯＬPの残量を管理端末２５を介して管理コンソール４に送信し、管理コンソール４が、オペレータ操作に応じて、この計測結果及び演算結果をモニタ表示するようにした場合について述べたが、本発明はこれに限らず、かかるプール領域ＶＯＬPに対するアクセス性能及びプール領域ＶＯＬPの残量をそれぞれ予め定められた所定の閾値と比較し、アクセス性能又はプール領域ＶＯＬPの残量のいずれかが対応する閾値以下となったときに、自動的に記憶装置３の管理者に対して警告を発信するようにしても良い。
【０１００】
なお、プール領域ＶＯＬPに対するアクセス性能やプール領域ＶＯＬPの残量を管理コンソール４でなく、管理端末２５に表示するようにしても良く、また上述のように警告を発信する際にもかかる警告を管理端末２５にモニタ表示させたり、警告音を管理端末２５に出力させるようにしても良い。
【０１０１】
また上述の実施の形態においては、ホスト装置２と、データを記憶する記憶デバイス部１０との間のデータの入出力を制御する記憶制御装置１１としてのコントロール部１１を図１のように構成する場合について述べたが、本発明はこれに限らず、この他種々の構成を広く適用することができる。
【産業上の利用可能性】
【０１０２】
本発明は、記憶領域を仮想化して上位装置に提供し得るようになされた記憶装置に適用できる。
【図面の簡単な説明】
【０１０３】
【図１】本実施の形態による記憶装置を用いたストレージシステムの構成例を示すブロック図である。
【図２】本実施の形態による記憶装置における記憶容量の設定の説明に供する概念図である。
【図３】プール領域管理テーブルの説明に供する概念図である。
【図４】第１のデータ入出力処理手順を示すフローチャートである。
【図５】第２のデータ入出力処理手順を示すフローチャートである。
【図６】データ再配置処理手順を示すフローチャートである。
【図７】データ再配置処理の説明に供する概念図である。
【図８】（Ａ）は従来方式により所望の記憶容量を確保する場合に必要となる累積投資金額の説明に供する図表及び概念図、（Ｂ）は本実施形態方式により所望の記憶容量を確保する場合に必要となる累積投資金額の説明に供する図表及び概念図である。
【符号の説明】
【０１０４】
２……ホスト装置、 ３……記憶装置、１０……コントロール部、１１……記憶デバイス部、１２……記憶デバイス、２０……チャネルアダプタ、２２……共有メモリ、２３……キャッシュメモリ、２４……ディスクアダプタ、 ２５……管理端末、ＶＯＬV……仮想ボリューム、ＶＯＬR……実ボリューム、ＶＯＬP……プール領域。
【図１】
2006350418.tif 000003
【図２】
2006350418.tif 000004
【図３】
2006350418.tif 000005
【図４】
2006350418.tif 000006
【図５】
2006350418.tif 000007
【図６】
2006350418.tif 000008
【図７】
2006350418.tif 000009
【図８】
2006350418.tif 000010