(57)【要約】【課題】シン・プロビジョニング・ボリュームを提供するストレージ装置の容量拡張性を高める。【解決手段】第１ストレージ装置と、第２ストレージ装置と、を備える計算機システムであって、前記第２ストレージ装置は、第２ボリュームを前記第１ストレージ装置に提供し、前記第１ストレージ装置は、一つ以上の第１ボリュームを設定し、前記設定された第１ボリューム及び前記提供された第２ボリュームを含む第１ストレージプールを設定し、前記第１ストレージプールから割り当てられている記憶領域の容量以上の容量を持つボリュームとして認識される第１シン・プロビジョニング・ボリュームを、前記ホスト計算機に提供し、その結果、前記第１シン・プロビジョニング・ボリュームには、前記第１ストレージプールに含まれる第１ボリュームの記憶領域及び第２ボリュームの記憶領域の双方が割り当てられることを特徴とする。【選択図】図３
2009043055.tif 000002
【特許請求の範囲】
【請求項１】
ホスト計算機に接続される第１ストレージ装置と、前記第１ストレージ装置に接続される第２ストレージ装置と、を備える計算機システムであって、
前記第１ストレージ装置は、前記ホスト計算機から書き込み要求されるデータを記憶する第１物理ディスクと、前記第１物理ディスクへのデータの入出力を制御する第１ディスクコントローラと、を備え、
前記第２ストレージ装置は、前記第１ディスクコントローラから書き込み要求されるデータを記憶する第２物理ディスクと、前記第２物理ディスクへのデータの入出力を制御する第２ディスクコントローラと、を備え、
前記第２ディスクコントローラは、第２ボリュームを、第１ディスクコントローラに提供し、
前記第１ディスクコントローラは、
前記第１物理ディスクの記憶領域を、一つ以上の第１ボリュームとして設定し、
前記設定された第１ボリューム及び前記提供された第２ボリュームを含む第１ストレージプールを設定し、
前記第１ストレージプールから割り当てられている記憶領域の容量以上の容量を持つボリュームとして認識される第１シン・プロビジョニング・ボリュームを、前記ホスト計算機に提供し、
前記第１シン・プロビジョニング・ボリュームへの書込要求を前記ホスト計算機から受信した場合、前記第１ストレージプールに含まれる第１ボリュームの記憶領域又は第２ボリュームの記憶領域のいずれかを、当該第１シン・プロビジョニング・ボリュームに割り当て、
その結果、前記第１シン・プロビジョニング・ボリュームには、前記第１ストレージプールに含まれる第１ボリュームの記憶領域及び第２ボリュームの記憶領域の双方が割り当てられることを特徴とする計算機システム。
【請求項２】
前記第２ディスクコントローラは、
前記第２物理ディスクの記憶領域を、一つ以上の論理ボリュームとして設定し、
前記設定された論理ボリュームを前記第２ボリュームとして、前記第１ディスクコントローラに提供することを特徴とする請求項１に記載の計算機システム。
【請求項３】
前記第２ディスクコントローラは、
前記第２物理ディスクの記憶領域を、一つ以上の論理ボリュームとして設定し、
前記設定された論理ボリュームを含む第２ストレージプールを設定し、
前記第２ストレージプールから割り当てられている記憶領域の容量以上の容量を持つボリュームとして認識される第２シン・プロビジョニング・ボリュームを前記第２ボリュームとして、前記第１ディスクコントローラに提供し、
前記第２シン・プロビジョニング・ボリュームへの書込要求を前記第１ディスクコントローラから受信した場合、前記第２ストレージプールの記憶領域を、当該第２シン・プロビジョニング・ボリュームに割り当てることを特徴とする請求項１に記載の計算機システム。
【請求項４】
前記第１ディスクコントローラは、
前記ホスト計算機から前記第１シン・プロビジョニング・ボリュームへのアクセス状況を取得し、
前記第１シン・プロビジョニング・ボリュームに割り当てられた第１ボリュームの記憶領域に記憶されるデータのうち、アクセス頻度の低いデータを、当該同一の第１シン・プロビジョニング・ボリュームに割り当て可能な第２ボリュームの記憶領域に移行し、
前記第１シン・プロビジョニング・ボリュームに割り当てられた第２ボリュームの記憶領域に記憶されるデータのうち、アクセス頻度の高いデータを、当該同一の第１シン・プロビジョニング・ボリュームに割り当て可能な第１ボリュームの記憶領域に移行することを特徴とする請求項１に記載の計算機システム。
【請求項５】
前記第１ディスクコントローラは、
前記第１ボリュームの記憶領域を前記第１シン・プロビジョニング・ボリュームに割り当てた場合、前記受信した書込要求によって書き込みを要求されたデータを当該割り当てられた第１ボリュームの記憶領域に書き込み、
前記第２ボリュームの記憶領域を前記第１シン・プロビジョニング・ボリュームに割り当てた場合、前記受信した書込要求によって書き込みを要求されたデータを当該割り当てられた第２ボリュームの記憶領域へ書き込むことを要求する書込要求を、前記第２ディスクコントローラに送信することを特徴とする請求項１に記載の計算機システム。
【請求項６】
更に、前記第２ストレージ装置に接続される第３ストレージ装置を備え、
前記第３ストレージ装置は、前記第２ディスクコントローラから書き込み要求されるデータを記憶する第３物理ディスクと、前記第３物理ディスクへのデータの入出力を制御する第３ディスクコントローラと、を備え、
前記第３ディスクコントローラは、第３ボリュームを、第２ディスクコントローラに提供し、
前記第２ディスクコントローラは、
前記第２物理ディスクの記憶領域を、一つ以上の論理ボリュームとして設定し、
前記設定された論理ボリューム及び前記提供された第３ボリュームを含む第２ストレージプールを設定し、
前記第２ストレージプールから割り当てられている記憶領域の容量以上の容量を持つボリュームとして認識される第２シン・プロビジョニング・ボリュームを前記第２ボリュームとして、前記第１ディスクコントローラに提供し、
前記第２シン・プロビジョニング・ボリュームへの書込要求を前記第１ディスクコントローラから受信した場合、前記第２ストレージプールに含まれる論理ボリュームの記憶領域又は第３ボリュームの記憶領域のいずれかを、当該第２シン・プロビジョニング・ボリュームに割り当て、
前記論理ボリュームの記憶領域を前記第２シン・プロビジョニング・ボリュームに割り当てた場合、前記受信した書込要求によって書き込みを要求されたデータを当該割り当てられた論理ボリュームの記憶領域に書き込み、
前記第３ボリュームの記憶領域を前記第２シン・プロビジョニング・ボリュームに割り当てた場合、前記受信した書込要求によって書き込みを要求されたデータを当該割り当てられた第３ボリュームの記憶領域へ書き込むことを要求する書込要求を、前記第３ディスクコントローラに送信することを特徴とする請求項５に記載の計算機システム。
【請求項７】
書込要求を送信するホスト計算機と、第２ボリュームを提供する他のストレージ装置と、に接続されるストレージ装置であって、
前記ホスト計算機から書き込み要求されるデータを記憶する第１物理ディスクと、前記第１物理ディスクへのデータの入出力を制御する第１ディスクコントローラと、を備え、
前記第１ディスクコントローラは、
前記第１物理ディスクの記憶領域を、一つ以上の第１ボリュームとして設定し、
前記設定された第１ボリューム及び前記提供された第２ボリュームを含む第１ストレージプールを設定し、
前記第１ストレージプールから割り当てられている記憶領域の容量以上の容量を持つボリュームとして認識される第１シン・プロビジョニング・ボリュームを、前記ホスト計算機に提供し、
前記第１シン・プロビジョニング・ボリュームへの書込要求を前記ホスト計算機から受信した場合、前記第１ストレージプールに含まれる第１ボリュームの記憶領域又は第２ボリュームの記憶領域のいずれかを、当該第１シン・プロビジョニング・ボリュームに割り当て、
その結果、前記第１シン・プロビジョニング・ボリュームには、前記第１ストレージプールに含まれる第１ボリュームの記憶領域及び第２ボリュームの記憶領域の双方が割り当てられることを特徴とするストレージ装置。
【請求項８】
前記第１ディスクコントローラは、
前記ホスト計算機から前記第１シン・プロビジョニング・ボリュームへのアクセス状況を取得し、
前記第１シン・プロビジョニング・ボリュームに割り当てられた第１ボリュームの記憶領域に記憶されるデータのうち、アクセス頻度の低いデータを、当該同一の第１シン・プロビジョニング・ボリュームに割り当て可能な第２ボリュームの記憶領域に移行し、
前記第１シン・プロビジョニング・ボリュームに割り当てられた第２ボリュームの記憶領域に記憶されるデータのうち、アクセス頻度の高いデータを、当該同一の第１シン・プロビジョニング・ボリュームに割り当て可能な第１ボリュームの記憶領域に移行することを特徴とする請求項７に記載のストレージ装置。
【請求項９】
前記第１ディスクコントローラは、
前記第１ボリュームの記憶領域を前記第１シン・プロビジョニング・ボリュームに割り当てた場合、前記受信した書込要求によって書き込みを要求されたデータを当該割り当てられた第１ボリュームの記憶領域に書き込み、
前記第２ボリュームの記憶領域を前記第１シン・プロビジョニング・ボリュームに割り当てた場合、前記受信した書込要求によって書き込みを要求されたデータを当該割り当てられた第２ボリュームの記憶領域へ書き込むことを要求する書込要求を、前記第２ストレージ装置に送信することを特徴とする請求項７に記載のストレージ装置。
【請求項１０】
ホスト計算機に接続される第１ストレージ装置と、前記第１ストレージ装置に接続される第２ストレージ装置と、を備える計算機システムにおけるデータ管理方法であって、
前記第１ストレージ装置は、前記ホスト計算機から書き込み要求されるデータを記憶する第１物理ディスクと、前記第１物理ディスクへのデータの入出力を制御する第１ディスクコントローラと、を備え、
前記第２ストレージ装置は、前記第１ディスクコントローラから書き込み要求されるデータを記憶する第２物理ディスクと、前記第２物理ディスクへのデータの入出力を制御する第２ディスクコントローラと、を備え、
前記データ管理方法は、前記第２ディスクコントローラが、第２ボリュームを、第１ディスクコントローラに提供するステップを実行し、
前記第１ディスクコントローラが、
前記第１物理ディスクの記憶領域を、一つ以上の第１ボリュームとして設定するステップと、
前記設定された第１ボリューム及び前記提供された第２ボリュームを含む第１ストレージプールを設定するステップと、
前記第１ストレージプールから割り当てられている記憶領域の容量以上の容量を持つボリュームとして認識される第１シン・プロビジョニング・ボリュームを、前記ホスト計算機に提供するステップと、
前記第１シン・プロビジョニング・ボリュームへの書込要求を前記ホスト計算機から受信した場合、前記第１ストレージプールに含まれる第１ボリュームの記憶領域又は第２ボリュームの記憶領域のいずれかを、当該第１シン・プロビジョニング・ボリュームに割り当てるステップと、を実行し、
その結果、前記第１シン・プロビジョニング・ボリュームには、前記第１ストレージプールに含まれる第１ボリュームの記憶領域及び第２ボリュームの記憶領域の双方が割り当てられることを特徴とするデータ管理方法。
【請求項１１】
更に、前記第２ディスクコントローラが、
前記第２物理ディスクの記憶領域を、一つ以上の論理ボリュームとして設定するステップと、
前記設定された論理ボリュームを前記第２ボリュームとして、前記第１ディスクコントローラに提供するステップと、を実行することを特徴とする請求項１０に記載のデータ管理方法。
【請求項１２】
更に、前記第２ディスクコントローラが、
前記第２物理ディスクの記憶領域を、一つ以上の論理ボリュームとして設定するステップと、
前記設定された論理ボリュームを含む第２ストレージプールを設定するステップと、
前記第２ストレージプールから割り当てられている記憶領域の容量以上の容量を持つボリュームとして認識される第２シン・プロビジョニング・ボリュームを前記第２ボリュームとして、前記第１ディスクコントローラに提供するステップと、
前記第２シン・プロビジョニング・ボリュームへの書込要求を前記第１ディスクコントローラから受信した場合、前記第２ストレージプールの記憶領域を、当該第２シン・プロビジョニング・ボリュームに割り当てるステップと、を実行することを特徴とする請求項１０に記載のデータ管理方法。
【請求項１３】
更に、前記第１ディスクコントローラが、
前記ホスト計算機から前記第１シン・プロビジョニング・ボリュームへのアクセス状況を取得するステップと、
前記第１シン・プロビジョニング・ボリュームに割り当てられた第１ボリュームの記憶領域に記憶されるデータのうち、アクセス頻度の低いデータを、当該同一の第１シン・プロビジョニング・ボリュームに割り当て可能な第２ボリュームの記憶領域に移行するステップと、
前記第１シン・プロビジョニング・ボリュームに割り当てられた第２ボリュームの記憶領域に記憶されるデータのうち、アクセス頻度の高いデータを、当該同一の第１シン・プロビジョニング・ボリュームに割り当て可能な第１ボリュームの記憶領域に移行するステップと、を実行することを特徴とする請求項１０に記載のデータ管理方法。
【請求項１４】
前記第１ディスクコントローラが、
前記第１ボリュームの記憶領域を前記第１シン・プロビジョニング・ボリュームに割り当てた場合、前記受信した書込要求によって書き込みを要求されたデータを当該割り当てられた第１ボリュームの記憶領域に書き込むステップと、
前記第２ボリュームの記憶領域を前記第１シン・プロビジョニング・ボリュームに割り当てた場合、前記受信した書込要求によって書き込みを要求されたデータを当該割り当てられた第２ボリュームの記憶領域へ書き込むことを要求する書込要求を、前記第２ディスクコントローラに送信するステップと、を実行することを特徴とする請求項１０に記載のデータ管理方法。
【請求項１５】
前記計算機システムは、更に、前記第２ストレージ装置に接続される第３ストレージ装置を備え、
前記第３ストレージ装置は、前記第２ディスクコントローラから書き込み要求されるデータを記憶する第３物理ディスクと、前記第３物理ディスクへのデータの入出力を制御する第３ディスクコントローラと、を備え、
前記データ管理方法は、前記第３ディスクコントローラが、第３ボリュームを、第２ディスクコントローラに提供するステップを実行し、
前記第２ディスクコントローラが、
前記第２物理ディスクの記憶領域を、一つ以上の論理ボリュームとして設定するステップと、
前記設定された論理ボリューム及び前記提供された第３ボリュームを含む第２ストレージプールを設定するステップと、
前記第２ストレージプールから割り当てられている記憶領域の容量以上の容量を持つボリュームとして認識される第２シン・プロビジョニング・ボリュームを前記第２ボリュームとして、前記第１ディスクコントローラに提供するステップと、
前記第２シン・プロビジョニング・ボリュームへの書込要求を前記第１ディスクコントローラから受信した場合、前記第２ストレージプールに含まれる論理ボリュームの記憶領域又は第３ボリュームの記憶領域のいずれかを、当該第２シン・プロビジョニング・ボリュームに割り当てるステップと、
前記論理ボリュームの記憶領域を前記第２シン・プロビジョニング・ボリュームに割り当てた場合、前記受信した書込要求によって書き込みを要求されたデータを当該割り当てられた論理ボリュームの記憶領域に書き込むステップと、
前記第３ボリュームの記憶領域を前記第２シン・プロビジョニング・ボリュームに割り当てた場合、前記受信した書込要求によって書き込みを要求されたデータを当該割り当てられた第３ボリュームの記憶領域へ書き込むことを要求する書込要求を、前記第３ディスクコントローラに送信するステップと、を実行することを特徴とする請求項１４に記載のデータ管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のストレージ装置を備える計算機システムに関し、特に、シン・プロビジョニング・ボリュームに書き込み要求されたデータの管理方法に関する。
【背景技術】
【０００２】
ストレージ装置は、ディスクドライブの記憶領域を静的に割り当てることによって、論理ボリューム（ＬＵ）をホスト計算機に提供する。しかしながら、ＬＵには、以下の問題点が存在する。
【０００３】
例えば、ＬＵに割り当てられるディスクドライブの記憶容量が、ホスト計算機に実際に使用される記憶容量より多くなってしまう（過割当：Ｏｖｅｒ  Ｐｒｏｖｉｓｉｏｎｉｎｇ）という問題があった。なぜなら、ホスト計算機によって使用される記憶容量が正確に把握できないからである。他には、ＬＵの容量を変更するための運用コストが高いという問題があった。
【０００４】
これらの問題を解決する技術として、シン・プロビジョニング（Ｔｈｉｎ  Ｐｒｏｖｉｓｉｏｎｉｎｇ）が知られている。ストレージ装置は、シン・プロビジョニングによって実現されたボリューム（シン・プロビジョニング・ボリューム：ＴＰＬＵ）をホスト計算機に提供する。すると、ホスト計算機は、ストレージ装置から提供されたＴＰＬＵを、当該ＴＰＬＵに実際に割り当てられたディスクドライブの記憶容量よりも大きい記憶容量を持つボリュームとして認識する。
【０００５】
ストレージ装置は、ホスト計算機からＴＰＬＵへの書き込み要求を受信した場合、当該書き込みを要求されたＴＰＬＵに、ストレージプールの未書込記憶領域を動的に割り当てる。
【０００６】
また、特許文献１には、ストレージ装置が自身のＬＵ（内部ＬＵ）及び外部のストレージ装置から提供されたＬＵ（外部ＬＵ）を含むストレージプールを設定する技術が開示されている。
【特許文献１】特開２００７−１０２４５５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
特許文献１に開示された技術では、ストレージ装置は、内部ＬＵ及び外部ＬＵの双方を含む一つのストレージプールを設定できる。しかしながら、ストレージプールの容量が不足した場合に、管理者が、ＴＰＬＵ単位でデータを移行する必要があるという問題があった。つまり、ＴＰＬＵを提供するストレージ装置の容量拡張性が低いという問題があった。
【０００８】
本発明は、前述した問題点に鑑みてなされたものであって、容量拡張性の高いストレージ装置を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明の代表的な形態は、ホスト計算機に接続される第１ストレージ装置と、前記第１ストレージ装置に接続される第２ストレージ装置と、を備える計算機システムであって、前記第１ストレージ装置は、前記ホスト計算機から書き込み要求されるデータを記憶する第１物理ディスクと、前記第１物理ディスクへのデータの入出力を制御する第１ディスクコントローラと、を備え、前記第２ストレージ装置は、前記第１ディスクコントローラから書き込み要求されるデータを記憶する第２物理ディスクと、前記第２物理ディスクへのデータの入出力を制御する第２ディスクコントローラと、を備え、前記第２ディスクコントローラは、第２ボリュームを、第１ディスクコントローラに提供し、前記第１ディスクコントローラは、前記第１物理ディスクの記憶領域を、一つ以上の第１ボリュームとして設定し、前記設定された第１ボリューム及び前記提供された第２ボリュームを含む第１ストレージプールを設定し、前記第１ストレージプールから割り当てられている記憶領域の容量以上の容量を持つボリュームとして認識される第１シン・プロビジョニング・ボリュームを、前記ホスト計算機に提供し、前記第１シン・プロビジョニング・ボリュームへの書込要求を前記ホスト計算機から受信した場合、前記第１ストレージプールに含まれる第１ボリュームの記憶領域又は第２ボリュームの記憶領域のいずれかを、当該第１シン・プロビジョニング・ボリュームに割り当て、その結果、前記第１シン・プロビジョニング・ボリュームには、前記第１ストレージプールに含まれる第１ボリュームの記憶領域及び第２ボリュームの記憶領域の双方が割り当てられることを特徴とする。
【発明の効果】
【００１０】
本発明の代表的な形態によれば、ＴＰＬＵを提供するストレージ装置の容量拡張性を高めることができる。
【発明を実施するための最良の形態】
【００１１】
以下、本発明の実施の形態を図面を参照して説明する。
【００１２】
（第１の実施の形態）
図１は、本発明の第１の実施の形態の計算機システムの構成のブロック図である。
【００１３】
計算機システムは、ホスト計算機１、ストレージ装置２、管理端末３、管理ネットワーク５及びＳＡＮ（Ｓｔｏｒａｇｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）６を備える。なお、本ブロック図には、ホスト計算機１及びストレージ装置２は、それぞれ２台ずつが図示されているが、計算機システムにいくつ備わっていてもよい。
【００１４】
ＳＡＮ６は、ホスト計算機１とストレージ装置２とを接続するネットワークである。管理ネットワーク５は、ストレージ装置２と管理端末３とを接続するネットワークである。
【００１５】
ホスト計算機１は、ＣＰＵ、メモリ及びインタフェースを備える計算機である。ホスト計算機１は、ストレージ装置２に読出要求及び書込要求を送信する。
【００１６】
管理端末３は、ストレージ装置２を管理する計算機である。なお、管理端末３については、図２で詳細を説明する。
【００１７】
ストレージ装置２は、制御装置２０及びディスクドライブ２８を備える。
【００１８】
制御装置２０は、ディスクドライブ２８に対するデータを読み書きを制御する。また、制御装置２０は、ディスクドライブ２８の記憶領域を、一つ以上の論理ボリューム（実ＬＵ）として設定する。ストレージ装置２は、実ＬＵを、ホスト計算機１又は外部のストレージ装置２に提供する。なお、ストレージ装置２は、外部のストレージ装置２から提供された実ＬＵを、外部ＬＵとして認識する。
【００１９】
また、制御装置２０は、ホストインタフェース（ホストＩＦ）２１、ディスクインタフェース（ディスクＩＦ）２２、管理インタフェース（管理ＩＦ）２３、ＣＰＵ２４、主メモリ２５、キャッシュメモリ２６及び不揮発性メモリ２００を備える。
【００２０】
ホストＩＦ２１は、ＳＡＮ６を介してホスト計算機１に接続されるインタフェースである。ディスクＩＦ２２は、ディスクドライブ２８に接続されるインタフェースである。管理ＩＦ２３は、管理ネットワーク５を介して管理端末３に接続されるインタフェースである。
【００２１】
ＣＰＵ２４は、主メモリ２５に記憶されるプログラムを実行することによって、各種処理を実行する。主メモリ２５には、ＣＰＵ２４によって実行されるプログラム及びＣＰＵ２４によって必要とされる情報などが一時的に記憶される。例えば、主メモリ２５には、不揮発性メモリ２００から読み出されたプログラム及びテーブルなどを含む各種情報が記憶される。
【００２２】
キャッシュメモリ２６には、ディスクドライブ２８に書き込まれるデータ及びディスクドライブ２８から読み出されたデータなどが一時的に記憶される。
【００２３】
不揮発性メモリ２００には、プログラム及びテーブルを含む各種情報が記憶される。例えば、不揮発性メモリ２００には、管理端末通信プログラム２０１、ＴＰ（Ｔｈｉｎ  Ｐｒｏｖｉｓｉｏｎｉｎｇ）プログラム２０２、外部ストレージ制御プログラム２０３、ＩＯ処理プログラム２０４、ＬＵ割当プログラム２０５、実ＬＵテーブル２０６、外部ストレージテーブル２０７、外部ＬＵテーブル２０８、プールテーブル２０９、ＴＰＬＵテーブル２１０、マッピングテーブル２１１及びページテーブル２１２が記憶される。
【００２４】
管理端末通信プログラム２０１は、管理端末３と通信する。例えば、管理端末通信プログラム２０１は、管理端末３から各種要求を受信し、受信した要求に対応する処理を実行する。
【００２５】
ＴＰプログラム２０２は、シン・プロビジョニングによって実現されたボリューム（シン・プロビジョニング・ボリューム：ＴＰＬＵ）を、ホスト計算機１又は外部のストレージ装置２に提供する。ストレージ装置２は、外部のストレージ装置２から提供されたＴＰＬＵを、外部ＬＵとして認識する。つまり、ストレージ装置２は、外部のストレージ装置２から提供された実ＬＵ又はＴＰＬＵのいずれであっても、外部ＬＵとして認識する。
【００２６】
ＴＰＬＵは、当該ＴＰＬＵに実際に割り当てられている記憶領域の容量よりも大きい仮想的な容量を持つボリュームとして認識される。
【００２７】
ＴＰプログラム２０２は、ＴＰＬＵへの書き込み要求を受信すると、当該書き込みを要求されたＴＰＬＵに、ストレージプールの未書込記憶領域を、ページ単位で割り当てる。なお、ストレージプールは、ＴＰＬＵに割り当て可能な記憶領域から構成される。また、ストレージプールの未書込記憶領域は、ストレージプールに含まれるすべての記憶領域のうち、ＴＰＬＵのいずれにも割り当てられていない記憶領域である。また、ページは、ＴＰＬＵへ割り当てられる最小の記憶領域のことであり、例えば６４ＫＢｙｔｅの記憶領域である。
【００２８】
外部ストレージ制御プログラム２０３は、当該外部ストレージ制御プログラム２０３を記憶するストレージ装置２に接続されるストレージ装置（外部のストレージ装置）２と通信する。
【００２９】
ＩＯ処理プログラム２０４は、実ＬＵ又はＴＰＬＵに対するＩＯ要求を受信する。なお、ＩＯ要求は、書込要求又は読出要求のいずれかである。書込要求を受信すると、ＩＯ処理プログラムは、書き込みを要求されたデータを、実ＬＵ又はＴＰＬＵに書き込む。一方、読出要求を受信すると、ＩＯ処理プログラム２０４は、読み出しを要求されたデータを、実ＬＵ又はＴＰＬＵから読み出す。そして、ＩＯ処理プログラム２０４は、読み出したデータを、読出要求の送信元に送信する。
【００３０】
ＬＵ割当プログラム２０５は、ＬＵ割当要求を受信すると、ＬＵ割当要求の送信元のストレージ装置２（外部のストレージ装置２）に、実ＬＵ又はＴＰＬＵのいずれかを割り当てる。
【００３１】
実ＬＵテーブル２０６は、当該実ＬＵテーブル２０６を記憶するストレージ装置２の実ＬＵに関する情報を示す。なお、実ＬＵテーブル２０６については、図４で詳細を説明する。
【００３２】
外部ストレージテーブル２０７は、当該外部ストレージテーブル２０７を記憶するストレージ装置２と接続されるストレージ装置（外部のストレージ装置）２に関する情報を示す。なお、外部ストレージテーブル２０７については、図６で詳細を説明する。
【００３３】
外部ＬＵテーブル２０８は、外部のストレージ装置２から提供されたＬＵに関する情報を示す。つまり、外部ＬＵテーブル２０８は、当該外部ＬＵテーブル２０８を記憶するストレージ装置２の外部ＬＵに関する情報を示す。なお、外部ＬＵテーブル２０８については、図７で詳細を説明する。
【００３４】
プールテーブル２０９は、当該プールテーブル２０９を記憶するストレージ装置２によって設定されるストレージプールに関する情報を示す。なお、プールテーブル２０９については、図８で詳細を説明する。
【００３５】
ＴＰＬＵテーブル２１０は、当該ＴＰＬＵテーブル２１０を記憶するストレージ装置２のＴＰＬＵに関する情報を示す。なお、ＴＰＬＵテーブル２１０については、図１０で詳細を説明する。
【００３６】
マッピングテーブル２１１は、当該マッピングテーブル２１１を記憶するストレージ装置２のＴＰＬＵへの書き込みを要求されたデータが実際に記憶されている位置を示す。なお、マッピングテーブル２１１については、図１２で詳細を説明する。
【００３７】
ページテーブル２１２は、当該ページテーブル２１２を記憶するストレージ装置２の実ＬＵ又は外部ＬＵに含まれるページ（実ページ）に関する情報を示す。なお、ページテーブル２１２については、図１３で詳細を説明する。
【００３８】
図２は、本発明の第１の実施の形態の計算機システムに備わる管理端末３の構成のブロック図である。
【００３９】
管理端末３は、ＣＰＵ３１、主メモリ３２、管理インタフェース（管理ＩＦ）３３、ポインティング装置３４、入力装置３５、出力装置３６及びディスクドライブ３７を備える。
【００４０】
ＣＰＵ３１は、主メモリ３２に記憶されるプログラムを実行することによって、各種処理を実行する。主メモリ３２は、ＣＰＵ３１によって実行されるプログラム及びＣＰＵ３１によって必要とされる情報などを記憶する。
【００４１】
主メモリ３２には、ＣＰＵ３１によって実行されるプログラム及びＣＰＵ３１によって必要とされる情報などが一時的に記憶される。例えば、主メモリ３２には、ディスクドライブ３７から読み出されたプログラム及びテーブルなどを含む情報が記憶される。
【００４２】
管理ＩＦ３３は、管理ネットワーク５を介してストレージ装置２に接続されるインタフェースである。
【００４３】
ポインティング装置３４及び入力装置３５は、管理者から入力された情報をＣＰＵ３１に送信する。例えば、ポインティング装置３４はマウスであり、入力装置３５はキーボードである。
【００４４】
出力装置３６は、ＣＰＵ３１によって指示された情報を出力する。例えば、出力装置３６は、液晶ディスプレイである。
【００４５】
ディスクドライブ３７には、プログラム及びテーブルを含む各種情報が記憶される。例えば、ディスクドライブ３７には、ＵＩ（ｕｓｅｒ  ｉｎｔｅｒｆａｃｅ）制御プログラム３０１、ストレージ通信プログラム３０２及びストレージテーブル３０３を含む。
【００４６】
ＵＩ制御プログラム３０１は、ポインティング装置３４、入力装置３５及び出力装置３６を制御する。ストレージ通信プログラム３０２は、ストレージ装置２と通信する。例えば、ストレージ通信プログラム３０２は、ストレージ装置２に各種要求を送信する。
【００４７】
ストレージテーブル３０３は、当該管理端末３に接続されるストレージ装置２に関する情報を示す。なお、ストレージテーブル３０３については、図１４で詳細を説明する。
【００４８】
図３は、本発明の第１の実施の形態のボリュームの説明図である。
【００４９】
ストレージ装置２は、当該ストレージ装置２に備わるディスクドライブ２８の記憶領域を一つ以上の実ＬＵ２８１として設定する。そして、ストレージ装置２は、設定した実ＬＵ２８１を、ホスト計算機１又は外部のストレージ装置２に提供する。
【００５０】
また、ストレージ装置２は、一つ以上のＴＰＬＵ２８３を設定する。そして、ストレージ装置２は、ＴＰＬＵ２８３を、ホスト計算機１又は外部のストレージ装置２に提供する。
【００５１】
なお、ストレージ装置２は、外部のストレージ装置２から提供されたＬＵを、外部ＬＵ２８２として認識する。つまり、ストレージ装置２は、外部のストレージ装置２から提供された実ＬＵ２８１又はＴＰＬＵ２８３のいずれであっても、外部ＬＵ２８２として認識する。
【００５２】
また、ストレージ装置２は、実ＬＵ２８１及び外部ＬＵ２８２のうちの少なくとも一方を含むストレージプール２８５を管理する。つまり、ストレージプール２８５は、実ＬＵ２８１だけを含んでいてもよいし、外部ＬＵ２８２だけを含んでいてもよいし、実ＬＵ２８１及び外部ＬＵ２８２の双方を含んでいてもよい。また、ストレージプール２８５に含まれる外部ＬＵ２８２は、当該外部ＬＵ２８２の提供元のストレージ装置２における実ＬＵ２８１又はＴＰＬＵ２８３のいずれであってもよい。
【００５３】
また、一つのＴＰＬＵ２８３は、一つのストレージプール２８５に対応付けられている。そして、ストレージ装置２は、ＴＰＬＵ２８３への書き込み要求を受信すると、当該ＴＰＬＵ２８３に対応するストレージプール２８５の未書込記憶領域を当該ＴＰＬＵ２８３に割り当てる。なお、ストレージプール２８５の未書込記憶領域は、ストレージプール２８５に含まれるすべての記憶領域のうち、ＴＰＬＵ２８３のいずれにも割り当てられていない記憶領域である。
【００５４】
このため、ストレージ装置２は、一つのＴＰＬＵ２８３に、実ＬＵ２８１の記憶領域及び外部ＬＵ２８２の記憶領域の双方を割り当てることができる。この場合、ＴＰＬＵ２８３への書き込みを要求されたデータの一部が実ＬＵ２８１に記憶され、当該同一のＴＰＬＵ２８３への書き込みを要求されたデータの残りが外部ＬＵ２８２に記憶される。
【００５５】
本説明図では、ストレージＩＤの「Ｓ０１」によって識別されるストレージ装置２は、当該ストレージ装置２に備わるディスクドライブの記憶領域を、ＬＵＩＤの「Ｉ００」によって識別される実ＬＵ２８１、ＬＵＩＤの「Ｉ０１」によって識別される実ＬＵ２８１、ＬＵＩＤの「Ｉ０２」によって識別される実ＬＵ２８１、ＬＵＩＤの「Ｉ０３」によって識別される実ＬＵ２８１、ＬＵＩＤの「Ｉ０４」によって識別される実ＬＵ２８１及びＬＵＩＤの「Ｉ０５」によって識別される実ＬＵ２８１として設定する。
【００５６】
また、ストレージＩＤの「Ｓ０１」によって識別されるストレージ装置２は、ＬＵＩＤの「Ｔ００」によって識別されるＴＰＬＵ２８３、ＬＵＩＤの「Ｔ０１」によって識別されるＴＰＬＵ２８３及びＬＵＩＤの「Ｔ０２」によって識別されるＴＰＬＵ２８３を設定する。
【００５７】
そして、ストレージＩＤの「Ｓ０１」によって識別されるストレージ装置２は、ＬＵＩＤの「Ｉ０１」によって識別される実ＬＵ２８１及びＬＵＩＤの「Ｔ００」によって識別されるＴＰＬＵ２８３を、ホスト計算機１に提供する。
【００５８】
また、ストレージＩＤの「Ｓ０１」によって識別されるストレージ装置２は、ＬＵＩＤの「Ｉ００」によって識別される実ＬＵ２８１を、ストレージＩＤの「Ｓ００」によって識別されるストレージ装置２に提供する。すると、ストレージＩＤの「Ｓ００」によって識別されるストレージ装置２は、ストレージＩＤの「Ｓ０１」によって識別されるストレージ装置２から提供された実ＬＵ２８１を、外部ＬＵ２８２として認識する。そして、ストレージＩＤの「Ｓ００」によって識別されるストレージ装置２は、当該外部ＬＵ２８２を含むストレージプール２８５を設定する。
【００５９】
また、ストレージＩＤの「Ｓ０１」によって識別されるストレージ装置２は、ストレージＩＤの「Ｓ０２」によって識別されるストレージ装置２から提供されたＬＵを、ＬＵＩＤの「Ｅ００」によって識別される外部ＬＵ２８２及びＬＵＩＤの「Ｅ０１」によって識別される外部ＬＵ２８２として認識する。なお、本実施の形態では、ＬＵは、ＴＰＬＵ及び実ＬＵの双方を含む。
【００６０】
具体的には、ストレージＩＤの「Ｓ０１」によって識別されるストレージ装置２は、ストレージＩＤの「Ｓ０２」によって識別されるストレージ装置２から提供された実ＬＵ２８１を、ＬＵＩＤの「Ｅ００」によって識別される外部ＬＵ２８２として認識する。一方、ストレージＩＤの「Ｓ０１」によって識別されるストレージ装置２は、ストレージＩＤの「Ｓ０２」によって識別されるストレージ装置２から提供されたＴＰＬＵ２８３を、ＬＵＩＤの「Ｅ０１」によって識別される外部ＬＵ２８２として認識する。
【００６１】
また、ストレージＩＤの「Ｓ０１」によって識別されるストレージ装置２は、ＬＵＩＤの「Ｉ０２」によって識別される実ＬＵ２８１及びＬＵＩＤの「Ｅ００」によって識別される外部ＬＵ２８２を、プールＩＤの「Ｐ００」によって識別されるストレージプール２８５として設定する。つまり、プールＩＤの「Ｐ００」によって識別されるストレージプール２８５は、ストレージＩＤの「Ｓ０１」によって識別されるストレージ装置２における実ＬＵ２８１及びストレージＩＤの「Ｓ０２」によって識別されるストレージ装置２における実ＬＵ２８１を含む。
【００６２】
また、ストレージＩＤの「Ｓ０１」によって識別されるストレージ装置２は、ＬＵＩＤの「Ｉ０５」によって識別される実ＬＵ２８１及びＬＵＩＤの「Ｅ０１」によって識別される外部ＬＵ２８２を、プールＩＤの「Ｐ０１」によって識別されるストレージプール２８５として設定する。つまり、プールＩＤの「Ｐ０１」によって識別されるストレージプール２８５は、ストレージＩＤの「Ｓ０１」によって識別されるストレージ装置２における実ＬＵ２８１及びストレージＩＤの「Ｓ０２」によって識別されるストレージ装置２におけるＴＰＬＵ２８３を含む。
【００６３】
また、ストレージＩＤの「Ｓ０１」によって識別されるストレージ装置２は、ＬＵＩＤの「Ｔ００」によって識別されるＴＰＬＵ２８３又はＬＵＩＤの「Ｔ０２」によって識別されるＴＰＬＵ２８３への書き込み要求を受信すると、プールＩＤの「Ｐ００」によって識別されるストレージプール２８５の未書込記憶領域を当該ＴＰＬＵ２８３に割り当てる。同様に、ストレージＩＤの「Ｓ０１」によって識別されるストレージ装置２は、ＬＵＩＤの「Ｔ０１」によって識別されるＴＰＬＵ２８３への書き込み要求を受信すると、プールＩＤの「Ｐ０１」によって識別されるストレージプール２８５の未書込記憶領域を当該ＴＰＬＵ２８３に割り当てる。
【００６４】
図４は、本発明の第１の実施の形態のストレージ装置２に記憶される実ＬＵテーブル２０６の構成図である。
【００６５】
実ＬＵテーブル２０６は、実ＬＵＩＤ２０６１、サイズ２０６２、割当先種別２０６３及び割当先ＩＤ２０６４を含む。
【００６６】
実ＬＵＩＤ２０６１は、当該実ＬＵテーブル２０６を記憶するストレージ装置２の実ＬＵ２８１の一意な識別子である。サイズ２０６２は、当該レコードの実ＬＵＩＤ２０６１によって識別される実ＬＵ２８１の記憶容量である。
【００６７】
割当先種別２０６３は、当該レコードの実ＬＵＩＤ２０６１によって識別される実ＬＵ２８１の割当先の種類を示す。
【００６８】
具体的には、割当先種別２０６３は、当該実ＬＵ２８１が、外部のストレージ装置２、ホスト計算機１又はストレージプール２８５のいずれに割り当てられているかを示す。
【００６９】
割当先ＩＤ２０６４は、当該レコードの実ＬＵＩＤ２０６１によって識別される実ＬＵ２８１の割当先の一意な識別子である。
【００７０】
なお、実ＬＵ２８１が外部のストレージ装置２に割り当てられている場合、ストレージ装置２は、当該実ＬＵ２８１を、当該外部のストレージ装置２に提供する。よって、割当先ＩＤ２０６４は、当該レコードの実ＬＵＩＤ２０６１によって識別される実ＬＵ２８１の提供先となるストレージ装置２の一意な識別子となる。
【００７１】
また、実ＬＵ２８１がホスト計算機１に割り当てられている場合、ストレージ装置２は、当該実ＬＵ２８１を、当該ホスト計算機１に提供する。よって、割当先ＩＤ２０６４は、当該レコードの実ＬＵＩＤ２０６１によって識別される実ＬＵ２８１の提供先となるホスト計算機１の一意な識別子となる。
【００７２】
また、実ＬＵ２８１がストレージプール２８５に割り当てられている場合、ストレージ装置２は、当該実ＬＵ２８１を含むストレージプール２８５を設定する。よって、割当先ＩＤ２０６４は、当該レコードの実ＬＵＩＤ２０６１によって識別される実ＬＵ２８１を含むストレージプール２８５の一意な識別子となる。
【００７３】
割当先種別２０６３及び割当先ＩＤ２０６４は、当該レコードの実ＬＵＩＤ２０６１によって識別される実ＬＵ２８１が未割当であること又は予備であることを示してもよい。
【００７４】
割当先種別２０６３及び割当先ＩＤ２０６４が未割当を示す場合、当該レコードの実ＬＵＩＤ２０６１によって識別される実ＬＵ２８１は、ホスト計算機１、外部のストレージ装置２又はストレージプール２８５に割り当て可能であるが、いずれにも割り当てられていない状態である。
【００７５】
一方、割当先種別２０６３及び割当先ＩＤ２０６４が予備であることを示す場合、当該レコードの実ＬＵＩＤ２０６１によって識別される実ＬＵ２８１は、ホスト計算機１又はストレージプール２８５に割り当て可能であるが、外部のストレージ装置２には割り当てることができない。
【００７６】
次に、実ＬＵ２８１の作成処理について説明する。管理者は、作成を要求する実ＬＵ２８１に関する情報を管理端末３に入力する。このとき、管理端末３は、実ＬＵ作成画面を表示する。
【００７７】
図５は、本発明の第１の実施の形態の管理端末３に表示される実ＬＵ作成画面３１１の説明図である。
【００７８】
実ＬＵ作成画面３１１は、ストレージＩＤ入力欄３１１１、実ＬＵＩＤ入力欄３１１２、サイズ入力欄３１１３、割当禁止指定欄３１１４、ＯＫボタン３１１５及びキャンセルボタン３１１６を含む。
【００７９】
ストレージＩＤ入力欄３１１１には、作成が要求される実ＬＵ２８１の作成先となるストレージ装置２の一意な識別子が管理者によって入力される。
【００８０】
実ＬＵＩＤ入力欄３１１２には、作成が要求される実ＬＵ２８１の一意な識別子が管理者によって入力される。サイズ入力欄３１１３は、作成が要求される実ＬＵ２８１の記憶容量が管理者によって入力される。
【００８１】
割当禁止指定欄３１１４では、作成が要求される実ＬＵ２８１を外部のストレージ装置２へ割り当てることを禁止するか否かが管理者によって指定される。つまり、割当禁止指定欄３１１４では、作成が要求される実ＬＵ２８１を外部のストレージ装置２へ提供することを禁止するか否かが管理者によって指定される。
【００８２】
キャンセルボタン３１１６が管理者によって操作されると、管理端末３は、当該実ＬＵ作成画面３１１を閉じる。
【００８３】
一方、ＯＫボタン３１１５が管理者によって操作されると、管理端末３は、実ＬＵ作成要求を、ストレージＩＤ入力欄３１１１に入力されたストレージＩＤによって識別されるストレージ装置２に送信する。
【００８４】
なお、当該実ＬＵ作成要求は、実ＬＵＩＤ入力欄３１１２に入力された実ＬＵＩＤ及びサイズ入力欄３１１３に入力されたサイズを含む。更に、当該実ＬＵ作成要求は、割当禁止指定欄３１１４において割当禁止が指定されたか否かを示す情報を含む。
【００８５】
ストレージ装置２は、実ＬＵ作成要求を受信すると、実ＬＵ２８１を作成する。具体的には、ストレージ装置２は、受信した実ＬＵ作成要求に含まれるサイズの実ＬＵ２８１を作成する。
【００８６】
更に、ストレージ装置２は、作成した実ＬＵ２８１に関する情報を、実ＬＵテーブル２０６に格納する。
【００８７】
具体的には、ストレージ装置２は、実ＬＵテーブル２０６に新たなレコードを作成する。次に、ストレージ装置２は、新たなレコードの実ＬＵＩＤ２０６１に、受信した実ＬＵ作成要求に含まれる実ＬＵＩＤを格納する。次に、ストレージ装置２は、新たなレコードのサイズ２０６２に、受信した実ＬＵ作成要求に含まれるサイズを格納する。
【００８８】
次に、ストレージ装置２は、受信した実ＬＵ作成要求に含まれる情報に基づいて、実ＬＵ作成画面３１１の割当禁止指定欄３１１４において割当禁止が指定されたか否かを判定する。
【００８９】
割当禁止が指定された場合、ストレージ装置２は、新たなレコードの割当先種別２０６３及び割当先ＩＤ２０６４に、予備であることを示す情報を格納する。一方、割当禁止が指定されていない場合、ストレージ装置２は、新たなレコードの割当先種別２０６３及び割当先ＩＤ２０６４に、未割当であることを示す情報を格納する。
【００９０】
以上のように、ストレージ装置２は、作成した実ＬＵ２８１に関する情報を、実ＬＵテーブル２０６に格納する。
【００９１】
図６は、本発明の第１の実施の形態のストレージ装置２に記憶される外部ストレージテーブル２０７の構成図である。
【００９２】
外部ストレージテーブル２０７は、ストレージＩＤ２０７１及びアドレス２０７２を含む。
【００９３】
ストレージＩＤ２０７１は、当該外部ストレージテーブル２０７を記憶するストレージ装置２と接続されるストレージ装置（外部のストレージ装置）２の一意な識別子である。アドレス２０７２は、当該レコードのストレージＩＤ２０７１によって識別される外部のストレージ装置２にアクセスするためのアドレスである。例えば、アドレス２０７２は、当該レコードのストレージＩＤ２０７１によって識別される外部のストレージ装置２に割り当てられているＩＰアドレスである。なお、アドレス２０７２は、ＷＷＮ（Ｗｏｒｌｄ  Ｗｉｄｅ  Ｎａｍｅ）などの別のアドレスであってもよい。
【００９４】
図７は、本発明の第１の実施の形態のストレージ装置２に記憶される外部ＬＵテーブル２０８の構成図である。
【００９５】
外部ＬＵテーブル２０８は、外部ＬＵＩＤ２０８１、外部ＬＵ種別２０８２、サイズ２０８３、ストレージＩＤ２０８４、割当先種別２０８５及び割当先ＩＤ２０８６を含む。
【００９６】
外部ＬＵＩＤ２０８１は、外部のストレージ装置２から提供されたＬＵ２８２の一意な識別子である。つまり、外部ＬＵＩＤ２０８１は、当該外部ＬＵテーブル２０８を記憶するストレージ装置２の外部ＬＵ２８２の一意な識別子である。ストレージＩＤ２０８４は、当該レコードの外部ＬＵＩＤ２０８１によって識別される外部ＬＵ２８２の提供元の外部のストレージ装置２の一意な識別子である。
【００９７】
外部ＬＵ種別２０８２は、当該レコードの外部ＬＵＩＤ２０８１によって識別される外部ＬＵ２８２が、当該レコードのストレージＩＤ２０８４によって識別される外部のストレージ装置２において、実ＬＵ２８１又はＴＰＬＵ２８３のいずれであるかを示す。
【００９８】
サイズ２０８３は、当該レコードの外部ＬＵＩＤ２０８１によって識別される外部ＬＵ２８２の記憶容量である。なお、外部ＬＵ２８２が外部のストレージ装置２においてＴＰＬＵ２８３の場合、サイズ２０８３は、ＴＰＬＵ２８３の仮想的な記憶容量となる。ＴＰＬＵ２８３の仮想的な記憶容量は、ストレージプール２８５から当該ＴＰＬＵ２８３に実際に割り当てられた記憶容量ではなく、当該ＴＰＬＵ２８３の提供先となるホスト計算機１又はストレージ装置２によって認識される記憶容量である。
【００９９】
割当先種別２０８５は、当該レコードの外部ＬＵＩＤ２０８１によって識別される外部ＬＵ２８２の割当先の種類を示す。
【０１００】
具体的には、割当先種別２０８５は、当該外部ＬＵ２８２が、ホスト計算機１又はストレージプール２８５のいずれに割り当てられているかを示す。
【０１０１】
割当先ＩＤ２０８６は、当該レコードの外部ＬＵＩＤ２０８１によって識別される外部ＬＵ２８２の割当先の一意な識別子である。
【０１０２】
なお、外部ＬＵ２８２がホスト計算機１に割り当てられている場合、ストレージ装置２は、当該外部ＬＵ２８２を、当該ホスト計算機１に提供する。よって、割当先ＩＤ２０８６は、当該レコードの外部ＬＵＩＤ２０８１によって識別される外部ＬＵ２８２の提供先となるホスト計算機１の一意な識別子となる。
【０１０３】
また、外部ＬＵ２８２がストレージプール２８５に割り当てられている場合、ストレージ装置２は、当該外部ＬＵ２８２を含むストレージプール２８５を設定する。よって、割当先ＩＤ２０８６は、当該レコードの外部ＬＵＩＤ２０８１によって識別される外部ＬＵ２８２を含むストレージプール２８５の一意な識別子となる。
【０１０４】
図８は、本発明の第１の実施の形態のストレージ装置２に記憶されるプールテーブル２０９の構成図である。
【０１０５】
プールテーブル２０９は、プールＩＤ２０９１、外部ＬＵ種別２０９２、外部ＬＵサイズ２０９３及び割当開始閾値２０９４を含む。
【０１０６】
プールＩＤ２０９１は、当該プールテーブル２０９を記憶するストレージ装置２によって設定されるストレージプール２８５の一意な識別子である。
【０１０７】
外部ＬＵ種別２０９２は、当該レコードのプールＩＤ２０９１によって識別されるストレージプール２８５に追加可能な外部ＬＵ２８２が、外部のストレージ装置２において、実ＬＵ２８１又はＴＰＬＵ２８３のいずれであるかを示す。
【０１０８】
外部ＬＵサイズ２０９３は、当該レコードのプールＩＤ２０９１によって識別されるストレージプール２８５に追加可能な外部ＬＵ２８２の記憶容量の最小値を示す。
【０１０９】
割当開始閾値２０９４は、当該レコードのプールＩＤ２０９１によって識別されるストレージプール２８５の未書込記憶領域が不足しているか否かを判定するための閾値である。ストレージ装置２は、ストレージプール２８５の未書込記憶領域の容量が割当開始閾値２９４未満になると、当該ストレージプール２８５の未書込記憶領域が不足していると判定する。ストレージプール２８５の未書込記憶領域が不足していると判定した場合、ストレージ装置２は、当該ストレージプール２８５に記憶容量を追加するための処理を実行する。
【０１１０】
次に、ストレージプール２８５の作成処理について説明する。管理者は、作成を要求するストレージプール２８５に関する情報を管理端末３に入力する。このとき、管理端末３は、プール作成画面を表示する。
【０１１１】
図９は、本発明の第１の実施の形態の管理端末３に表示されるプール作成画面３１２の説明図である。
【０１１２】
プール作成画面３１２は、ストレージＩＤ入力欄３１２１、プールＩＤ入力欄３１２２、外部ＬＵ割当ポリシ入力領域、ＯＫボタン３１２６及びキャンセルボタン３１２７を含む。
【０１１３】
ストレージＩＤ入力欄３１２１には、作成が要求されるストレージプール２８５の作成先となるストレージ装置２の一意な識別子が管理者によって入力される。プールＩＤ入力欄３１２２には、作成が要求されるストレージプール２８５の一意な識別子が管理者によって入力される。
【０１１４】
外部ＬＵ割当ポリシ入力領域は、外部ＬＵ種別選択欄３１２３、外部ＬＵサイズ入力欄３１２４及び割当開始閾値入力欄３１２５を含む。
【０１１５】
外部ＬＵ種別選択欄３１２３では、作成が要求されるストレージプール２８５に追加可能な外部ＬＵ２８２が、外部のストレージ装置２において、実ＬＵ２８１又はＴＰＬＵ２８３のいずれであるかが管理者によって選択される。
【０１１６】
外部ＬＵサイズ入力欄３１２４には、作成が要求されるストレージプール２８５に追加可能な外部ＬＵ２８２の記憶容量の最小値が管理者によって入力される。割当開始閾値入力欄３１２５には、作成が要求されるストレージプール２８５の容量が不足しているか否かを判定するための閾値が管理者によって入力される。
【０１１７】
キャンセルボタン３１２７が操作されると、管理端末３は、当該プール作成画面３１２を閉じる。
【０１１８】
一方、ＯＫボタン３１２６が操作されると、管理端末３は、プール作成要求を、ストレージＩＤ入力欄３１２１に入力されたストレージＩＤによって識別されるストレージ装置２に送信する。
【０１１９】
なお、当該プール作成要求は、プールＩＤ入力欄３１２２に入力されたプールＩＤ、外部ＬＵサイズ入力欄３１２４に入力された外部ＬＵサイズ及び割当開始閾値入力欄３１２５に入力された割当開始閾値を含む。更に、当該プール作成要求は、外部ＬＵ種別選択欄３１２３において実ＬＵ２８１又はＴＰＬＵ２８３のいずれが選択されたかを示す情報を含む。
【０１２０】
ストレージ装置２は、プール作成要求を受信すると、プールテーブル２０９を更新する。
【０１２１】
具体的には、ストレージ装置２は、プールテーブル２０９に新たなレコードを作成する。次に、ストレージ装置２は、新たなレコードのプールＩＤ２０９１に、受信したプール作成要求に含まれるプールＩＤを格納する。次に、ストレージ装置２は、受信したプール作成要求に含まれる情報に基づいて、プール作成画面３１２の外部ＬＵ種別選択欄３１２３において実ＬＵ２８１又はＴＰＬＵ２８３のいずれが選択されたかを判定する。
【０１２２】
外部ＬＵ種別選択欄３１２３において実ＬＵ２８１が選択されたと判定した場合、ストレージ装置２は、新たなレコードの外部ＬＵ種別２０９２に、実ＬＵ２８１を示す情報を格納する。一方、外部ＬＵ種別選択欄３１２３においてＴＰＬＵ２８３が選択されたと判定した場合、ストレージ装置２は、新たなレコードの外部ＬＵ種別２０９２に、ＴＰＬＵ２８３を示す情報を格納する。
【０１２３】
次に、ストレージ装置２は、新たなレコードの外部ＬＵサイズ２０９３に、受信したプール作成要求に含まれるサイズを格納する。次に、ストレージ装置２は、新たなレコードの割当開始閾値２０９４に、受信したプール作成要求に含まれる割当開始閾値を格納する。
【０１２４】
以上のように、ストレージ装置２は、プールテーブル２０９を更新する。
【０１２５】
図１０は、本発明の第１の実施の形態のストレージ装置２に記憶されるＴＰＬＵテーブル２１０の構成図である。
【０１２６】
ＴＰＬＵテーブル２１０は、ＴＰＬＵＩＤ２１０１、サイズ２１０２、プールＩＤ２１０３、割当先種別２１０４及び割当先ＩＤ２１０５を含む。
【０１２７】
ＴＰＬＵＩＤ２１０１は、当該ＴＰＬＵテーブル２１０を記憶するストレージ装置２のＴＰＬＵ２８３の一意な識別子である。
【０１２８】
サイズ２１０２は、当該レコードのＴＰＬＵＩＤ２１０１によって識別されるＴＰＬＵ２８３の仮想的な記憶容量である。つまり、サイズ２１０２は、ストレージプール２８５から当該ＴＰＬＵ２８３に実際に割り当てられた記憶容量ではなく、当該ＴＰＬＵ２８３の提供先となるホスト計算機１又は外部のストレージ装置２によって認識される記憶容量である。
【０１２９】
プールＩＤ２１０３は、当該レコードのＴＰＬＵＩＤ２１０１によって識別されるＴＰＬＵ２８３に割り当てられる記憶領域を含むストレージプール２８５の一意な識別子である。
【０１３０】
割当先種別２１０４は、当該レコードのＴＰＬＵＩＤ２１０１によって識別されるＴＰＬＵ２８３の割当先の種類を示す。
【０１３１】
具体的には、割当先種別２１０４は、当該ＴＰＬＵ２８３が、外部のストレージ装置２又はホスト計算機１のいずれに割り当てられているかを示す。
【０１３２】
割当先ＩＤ２１０５は、当該レコードのＴＰＬＵＩＤ２１０１によって識別されるＴＰＬＵ２８３の割当先の一意な識別子である。
【０１３３】
なお、ＴＰＬＵ２８３が外部のストレージ装置２に割り当てられている場合、ストレージ装置２は、当該ＴＰＬＵ２８３を、当該外部のストレージ装置２に提供する。よって、割当先ＩＤ２１０５は、当該レコードのＴＰＬＵＩＤ２１０１によって識別されるＴＰＬＵ２８３の提供先のストレージ装置２の一意な識別子となる。
【０１３４】
また、ＴＰＬＵ２８３がホスト計算機１に割り当てられている場合、ストレージ装置２は、当該ＴＰＬＵ２８３を、当該ホスト計算機１に提供する。よって、割当先ＩＤ２１０５は、当該レコードのＴＰＬＵＩＤ２１０１によって識別されるＴＰＬＵ２８３の提供先のホスト計算機１の一意な識別子となる。
【０１３５】
割当先種別２１０４及び割当先ＩＤ２１０５は、当該レコードのＴＰＬＵＩＤ２１０１によって識別されるＴＰＬＵ２８３が未割当であること又は予備であることを示してもよい。
【０１３６】
割当先種別２１０４及び割当先ＩＤ２１０５が未割当を示す場合、当該レコードのＴＰＬＵＩＤ２１０１によって識別されるＴＰＬＵ２８３は、ホスト計算機１、外部のストレージ装置２に割り当て可能であるが、いずれにも割り当てられていない状態である。
【０１３７】
一方、割当先種別２１０４及び割当先ＩＤ２１０５が予備であることを示す場合、当該レコードのＴＰＬＵＩＤ２１０１によって識別されるＴＰＬＵ２８３は、ホスト計算機１に割り当て可能であるが、外部のストレージ装置２には割り当てることができない。
【０１３８】
次に、ＴＰＬＵ２８３の作成処理について説明する。管理者は、作成を要求するＴＰＬＵ２８３に関する情報を管理端末３に入力する。このとき、管理端末３は、ＴＰＬＵ作成画面を表示する。
【０１３９】
図１１は、本発明の第１の実施の形態の管理端末３に表示されるＴＰＬＵ作成画面３１３の説明図である。
【０１４０】
ＴＰＬＵ作成画面３１３は、ストレージＩＤ入力欄３１３１、プールＩＤ入力欄３１３２、ＴＰＬＵＩＤ入力欄３１３３、サイズ入力欄３１３４、割当禁止指定欄３１３５、ＯＫボタン３１３６及びキャンセルボタン３１３７を含む。
【０１４１】
ストレージＩＤ入力欄３１３１には、作成が要求されるＴＰＬＵ２８３の作成先となるストレージ装置２の一意な識別子が管理者によって入力される。プールＩＤ入力欄３１３２には、作成が要求されるＴＰＬＵ２８３に割り当て可能な記憶領域を含むストレージプール２８５の一意な識別子が管理者によって入力される。
【０１４２】
ＴＰＬＵＩＤ入力欄３１３３には、作成が要求されるＴＰＬＵ２８３の一意な識別子が管理者によって入力される。サイズ入力欄３１３４は、作成が要求されるＴＰＬＵ２８３の仮想的な記憶容量が管理者によって入力される。
【０１４３】
割当禁止指定欄３１３５では、作成が要求されるＴＰＬＵ２８３を外部のストレージ装置２へ割り当てることを禁止するか否かが管理者によって指定される。つまり、割当禁止指定欄３１３５では、作成が要求されるＴＰＬＵ２８３を外部ＬＵ２８２として外部のストレージ装置２へ提供することを禁止するか否かが管理者によって指定される。
【０１４４】
キャンセルボタン３１３７が管理者によって操作されると、管理端末３は、当該ＴＰＬＵ作成画面３１３を閉じる。
【０１４５】
一方、ＯＫボタン３１３６が管理者によって操作されると、管理端末３は、ＴＰＬＵ作成要求を、ストレージＩＤ入力欄３１３１に入力されたストレージＩＤによって識別されるストレージ装置２に送信する。
【０１４６】
なお、当該ＴＰＬＵ作成要求は、プールＩＤ入力欄３１３２に入力されたプールＩＤ、ＴＰＬＵＩＤ入力欄３１３３に入力されたＴＰＬＵＩＤ及びサイズ入力欄３１３４に入力されたサイズを含む。更に、当該ＴＰＬＵ作成要求は、割当禁止指定欄３１３５において割当禁止が指定されたか否かを示す情報を含む。
【０１４７】
ストレージ装置２は、ＴＰＬＵ作成要求を受信すると、ＴＰＬＵテーブル２１０を更新する。
【０１４８】
具体的には、ストレージ装置２は、ＴＰＬＵテーブル２１０に新たなレコードを作成する。次に、ストレージ装置２は、新たなレコードのＴＰＬＵＩＤ２１０１に、受信したＴＰＬＵ作成要求に含まれるＴＰＬＵＩＤを格納する。次に、ストレージ装置２は、新たなレコードのサイズ２１０２に、受信したＴＰＬＵ作成要求に含まれるサイズを格納する。次に、ストレージ装置２は、新たなレコードのプールＩＤ２１０３に、受信したＴＰＬＵ作成要求に含まれるプールＩＤを格納する。
【０１４９】
次に、ストレージ装置２は、受信したＴＰＬＵ作成要求に含まれる情報に基づいて、ＴＰＬＵ作成画面３１３の割当禁止指定欄３１３５において割当禁止が指定されたか否かを判定する。
【０１５０】
割当禁止が指定された場合、ストレージ装置２は、新たなレコードの割当先種別２１０４及び割当先ＩＤ２１０５に、予備であることを示す情報を格納する。一方、割当禁止が指定されていない場合、ストレージ装置２は、新たなレコードの割当先種別２１０４及び割当先ＩＤ２１０５に、未割当であることを示す情報を格納する。
【０１５１】
以上のように、ストレージ装置２は、ＴＰＬＵテーブル２１０を更新する。
【０１５２】
図１２は、本発明の第１の実施の形態のストレージ装置２に記憶されるマッピングテーブル２１１の構成図である。
【０１５３】
マッピングテーブル２１１は、ＴＰＬＵＩＤ２１１１、ＴＰページ番号２１１２、ＬＵ種別２１１３、ストレージＩＤ２１１４、ＬＵＩＤ２１１５及び実ページ番号２１１６を含む。
【０１５４】
ＴＰＬＵＩＤ２１１１は、当該ＴＰＬＵテーブル２１０を記憶するストレージ装置２のＴＰＬＵ２８３の一意な識別子である。ＴＰページ番号２１１２は、当該レコードのＴＰＬＵＩＤ２１１１によって識別されるＴＰＬＵ２８３に含まれるページ（ＴＰページ）の一意な識別子である。
【０１５５】
ＬＵ種別２１１３は、当該レコードのＴＰＬＵＩＤ２１１１及びＴＰページ番号２１１２によって識別されるＴＰページへ割り当てられた実ページが実ＬＵ２８１又は外部ＬＵ２８２のいずれに含まれているかを示す。つまり、ＬＵ種別２１１３は、当該レコードのＴＰＬＵＩＤ２１１１及びＴＰページ番号２１１２によって識別されるＴＰページへの書き込みを要求されたデータが実際には実ＬＵ２８１又は外部ＬＵ２８２のいずれに記憶されているかを示す。
【０１５６】
また、ＬＵ種別２１１３は、当該レコードのＴＰＬＵＩＤ２１１１及びＴＰページ番号２１１２によって識別されるＴＰページがアクセスされていないことを示してもよい。この場合、当該ＴＰページへの書き込みを要求されたデータは存在しないので、当該ＴＰページへ実ページが割り当てられていない。よって、ストレージＩＤ２１１４、ＬＵＩＤ２１１５及び実ページ番号２１１６には値が格納されない。
【０１５７】
ストレージＩＤ２１１４は、当該レコードのＴＰＬＵＩＤ２１１１及びＴＰページ番号２１１２によって識別されるＴＰページへ割り当てられた実ページを含む外部のストレージ装置２の一意な識別子である。つまり、ストレージＩＤ２１１４は、当該レコードのＴＰＬＵＩＤ２１１１及びＴＰページ番号２１１２によって識別されるＴＰページへの書き込みを要求されたデータが実際に記憶されている外部のストレージ装置２の一意な識別子である。なお、当該ＴＰページへの書き込みを要求されたデータが実際には実ＬＵ２８１に記憶されている場合、ストレージＩＤ２１１４には値が格納されない。
【０１５８】
ＬＵＩＤ２１１５は、当該レコードのＴＰＬＵＩＤ２１１１及びＴＰページ番号２１１２によって識別されるＴＰページへ割り当てられた実ページを含む実ＬＵ２８１又は外部ＬＵ２８２の一意な識別子である。つまり、ＬＵＩＤ２１１５は、当該レコードのＴＰＬＵＩＤ２１１１及びＴＰページ番号２１１２によって識別されるＴＰページへの書き込みを要求されたデータが実際に記憶されている実ＬＵ２８１又は外部ＬＵ２８２の一意な識別子である。
【０１５９】
実ページ番号２１１６は、当該レコードのＴＰＬＵＩＤ２１１１及びＴＰページ番号２１１２によって識別されるＴＰページへ割り当てられた実ページの一意な識別子である。つまり、実ページ番号２１１６は、当該レコードのＴＰＬＵＩＤ２１１１及びＴＰページ番号２１１２によって識別されるＴＰページへの書き込みを要求されたデータが実際に記憶されている実ページの一意な識別子である。なお、実ページは、当該レコードのＬＵＩＤ２１１５によって識別される実ＬＵ２８１又は外部ＬＵ２８２に含まれるページである。
【０１６０】
図１３は、本発明の第１の実施の形態のストレージ装置２に記憶されるページテーブル２１２の構成図である。
【０１６１】
ページテーブル２１２は、ＬＵ種別２１２１、ストレージＩＤ２１２２、ＬＵＩＤ２１２３、実ページ番号２１２４及び状態２１２５を含む。
【０１６２】
ＬＵＩＤ２１２３は、当該ページテーブル２１２を記憶するストレージ装置２の実ＬＵ２８１又は外部ＬＵ２８２の一意な識別子である。ＬＵ種別２１２１は、当該レコードのＬＵＩＤ２１２３によって識別されるＬＵが、実ＬＵ２８１又は外部ＬＵ２８２のいずれであるかを示す。
【０１６３】
ストレージＩＤ２１２２は、当該レコードのＬＵＩＤ２１２３によって識別される外部ＬＵ２８２を提供する外部のストレージ装置２の一意な識別子である。よって、当該レコードのＬＵＩＤ２１２３によって識別されるＬＵが実ＬＵ２８１の場合、ストレージＩＤ２１２２には値が格納されない。
【０１６４】
実ページ番号２１２４は、当該レコードのＬＵＩＤ２１２３によって識別される実ＬＵ２８１又は外部ＬＵ２８２に含まれるページ（実ページ）の一意な識別子である。
【０１６５】
状態２１２５は、当該レコードの実ページ番号２１２４によって識別される実ページにデータが既に書き込まれているか否かを示す。
【０１６６】
図１４は、本発明の第１の実施の形態の管理端末３に記憶されるストレージテーブル３０３の構成図である。
【０１６７】
ストレージテーブル３０３は、ストレージＩＤ３０３１及びアドレス３０３２を含む。
【０１６８】
ストレージＩＤ３０３１は、管理端末３に接続されるストレージ装置２の一意な識別子である。アドレス２０７２は、当該レコードのストレージＩＤ３０３１によって識別されるストレージ装置２にアクセスするためのアドレスである。例えば、アドレス３０３２は、当該レコードのストレージＩＤ３０３１によって識別されるストレージ装置２に割り当てられているＩＰアドレスである。
【０１６９】
次に、本発明の第１の実施の形態の計算機システムの処理を説明する。
【０１７０】
図１５は、本発明の第１の実施の形態のストレージ装置２によって実行されるディスカバリ処理のフローチャートである。
【０１７１】
ストレージ装置２に備わるＣＰＵ２４は、外部ストレージ制御プログラム２０３を実行することによって、当該ディスカバリ処理を実行する。
【０１７２】
なお、ストレージ装置２は、ディスカバリ処理をいかなるタイミングで実行してもよい。例えば、ストレージ装置２は、ディスカバリ処理を、定期的に実行してもよいし、後述する外部ＬＵ作成処理を実行する前に実行してもよいし、管理端末３からの指示に応じて実行してもよい。
【０１７３】
まず、ストレージ装置２は、ディスカバリ要求をブロードキャスト又はマルチキャストで送信する（Ｓ１００１）。これによってストレージ装置２は、計算機システムに備わるすべてのストレージ装置２のうち、ディスカバリ要求の送信元以外のストレージ装置２（外部のストレージ装置２）にディスカバリ要求を送信する。
【０１７４】
外部のストレージ装置２は、ディスカバリ要求を受信する。すると、外部のストレージ装置２は、当該外部のストレージ装置２に割り当てられたストレージＩＤ及びＩＰアドレスを含むディスカバリ応答を、ディスカバリ要求の送信元のストレージ装置２に送信する。
【０１７５】
一方、ストレージ装置２は、ディスカバリ要求を送信すると、ディスカバリ応答を受信したか否かを判定する（Ｓ１００２）。ディスカバリ応答を受信していない場合、ストレージ装置２は、ディスカバリ応答を受信するまで待機する。
【０１７６】
そして、ディスカバリ応答を受信すると、ストレージ装置２は、受信したディスカバリ応答に含まれるストレージＩＤと外部ストレージテーブル２０７のストレージＩＤ２０７１とが一致するレコードが、外部ストレージテーブル２０７に存在するか否かを判定する。
【０１７７】
当該レコードが存在する場合、外部のストレージ装置２が計算機システムに新たに追加されていない。よって、ストレージ装置２は、外部ストレージテーブル２０７を更新せずに、当該ディスカバリ処理を終了する。
【０１７８】
一方、当該レコードが存在しない場合、外部のストレージ装置２が計算機システムに新たに追加されている。そこで、ストレージ装置２は、外部ストレージテーブル２０７を更新する（Ｓ１００３）。
【０１７９】
具体的には、ストレージ装置２は、外部ストレージテーブル２０７に新たなレコードを作成する。次に、ストレージ装置２は、受信したディスカバリ応答に含まれるストレージＩＤを、新たなレコードのストレージＩＤ２０７１に格納する。次に、ストレージ装置２は、受信したディスカバリ応答に含まれるＩＰアドレスを、新たなレコードのアドレス２０７２に格納する。
【０１８０】
以上のように、ストレージ装置２は、外部ストレージテーブル２０７を更新する。そして、ストレージ装置２は、当該ディスカバリ処理を終了する。
【０１８１】
図１６は、本発明の第１の実施の形態の計算機システムによって実行される処理の概要のシーケンス図である。
【０１８２】
ストレージ装置２は、容量不足検出処理を定期的に実行する（Ｓ８０１）。なお、容量不足検出処理については、図１７で詳細を説明する。
【０１８３】
容量不足検出処理において、ストレージ装置２は、ストレージプール２８５の未書込記憶領域が不足しているか否かを判定する。
【０１８４】
ストレージプール２８５の未書込記憶領域が不足してないと判定した場合、ストレージ装置２は、外部ＬＵ作成処理処理を実行しない。一方、ストレージプール２８５の未書込記憶領域が不足していると判定した場合、ストレージ装置２は、外部ＬＵ作成処理を実行する（Ｓ８０２）。なお、外部ＬＵ作成処理については、図１８で詳細を説明する。
【０１８５】
外部ＬＵ作成処理において、ストレージ装置２は、ＬＵ割当要求を、外部のストレージ装置２に送信する。外部のストレージ装置２は、ＬＵ割当要求を受信すると、ＬＵ割当処理を実行する（Ｓ８０３）。なお、ＬＵ割当処理については、図１９Ａ及び図１９Ｂで詳細を説明する。
【０１８６】
ＬＵ割当処理において、外部のストレージ装置２は、ストレージ装置２にＬＵ割当応答を送信する。ストレージ装置２は、外部のストレージ装置２からＬＵ割当応答を受信すると、外部ＬＵテーブル２０８を更新する。これによって、ストレージ装置２は、ストレージプール２８５の未書込記憶領域の不足を解消する。
【０１８７】
その後、ストレージ装置２が、ホスト計算機１から書込要求及び書込データを受信したとする。すると、ストレージ装置２は、受信した書込データを、当該ストレージ装置２に備わるキャッシュメモリ２６に格納する。そして、ストレージ装置２は、受信した書込要求の処理完了を通知するための書込応答を、ホスト計算機１に送信する。
【０１８８】
次に、ストレージ装置２は、受信した書込要求による書込対象が、実ＬＵ２８１、外部ＬＵ２８２又はＴＰＬＵ２８３のいずれであるかを判定する。
【０１８９】
書込対象が実ＬＵ２８１の場合、ストレージ装置２は、キャッシュメモリ２６に格納されている書込データを、書込対象の実ＬＵ２８１に書き込む。
【０１９０】
一方、書込対象が外部ＬＵ２８２の場合、ストレージ装置２は、書込対象の外部ＬＵ２８２を備える外部のストレージ装置２に、書込要求を送信する。更に、ストレージ装置２は、キャッシュメモリ２６に格納されている書込データを、当該外部のストレージ装置２に送信する。外部のストレージ装置２は、書込要求及び書込データを受信すると、受信した書込データを、書込対象の外部ＬＵ２８２（外部ストレージ装置２にとっては実ＬＵ２８１又はＴＰＬＵ２８３）に書き込む。そして、外部のストレージ装置２は、書込応答をストレージ装置２に送信する。
【０１９１】
一方、書込対象がＴＰＬＵ２８３の場合、ストレージ装置２は、ＴＰページ書込処理を実行する（Ｓ８０４）。なお、ＴＰページ書込処理については、図２０Ａ及び図２０Ｂで詳細を説明する。
【０１９２】
ＴＰページ書込処理において、ストレージ装置２は、データの書込対象となるＴＰページに割り当てられている実ページが外部ＬＵ２８２に含まれているか否かを判定する。ＴＰページに割り当てられている実ページが外部ＬＵ２８２に含まれている場合、ストレージ装置２は、当該外部ＬＵ２８２を備える外部のストレージ装置２に、書込要求を送信する。更に、ストレージ装置２は、キャッシュメモリ２６に格納されている書込データを、当該外部のストレージ装置２に送信する。外部のストレージ装置２は、書込要求及び書込データを受信すると、受信した書込データを、書込対象の外部ＬＵ２８２（外部ストレージ装置２にとっては実ＬＵ２８１又はＴＰＬＵ２８３）に書き込む。そして、外部のストレージ装置２は、書込応答をストレージ装置２に送信する。
【０１９３】
次に、ストレージ装置２が、ホスト計算機１から読出要求を受信したとする。すると、ストレージ装置２は、キャッシュヒット判定を実行する。具体的には、ストレージ装置２は、受信した読出要求によって読み出しを要求されたデータが、当該ストレージ装置２に備わるキャッシュメモリ２６に格納されているか否かを判定する。
【０１９４】
当該データがキャッシュメモリ２６に格納されている場合、ストレージ装置２は、受信した読出要求によって読み出しを要求されたデータを、キャッシュメモリ２６から読み出す。そして、ストレージ装置２は、読み出したデータ（読出データ）及び読出応答を、ホスト計算機１に送信する。
【０１９５】
一方、当該データがキャッシュメモリ２６に格納されていない場合、ストレージ装置２は、受信した読出要求による読出対象が、実ＬＵ２８１、外部ＬＵ２８２又はＴＰＬＵ２８３のいずれであるかを判定する。
【０１９６】
読出対象が実ＬＵ２８１の場合、ストレージ装置２は、読出対象の実ＬＵ２８１からデータを読み出す。そして、ストレージ装置２は、読出データ及び読出応答を、ホスト計算機１に送信する。
【０１９７】
このとき、ストレージ装置２は、受信した読出要求の送信元がホスト計算機１であるか否かを判定する。言い換えると、ストレージ装置２は、読出対象の実ＬＵ２８１がホスト計算機１に割り当てられているか否かを判定する。
【０１９８】
読出要求の送信元がホスト計算機１の場合、ストレージ装置２は、読出データを、当該ストレージ装置２に備わるキャッシュメモリ２６に格納する。このため、ストレージ装置２は、ホスト計算機１から読み出しを要求されたデータがキャッシュメモリ２６に格納されている確率（キャッシュヒット率）を高めることができる。
【０１９９】
一方、読出要求の送信元が外部のストレージ装置２の場合、ストレージ装置２は、読出データを、当該ストレージ装置２に備わるキャッシュメモリ２６に格納しない。これによって、同一のデータが複数のキャッシュメモリ２６に格納されることを防止する。そのため、ストレージ装置２に備わるキャッシュメモリ２６を有効に活用できる。
【０２００】
一方、読出対象が外部ＬＵ２８２の場合、ストレージ装置２は、読出対象の外部ＬＵ２８２を備える外部のストレージ装置２に、読出要求を送信する。外部のストレージ装置２は、読出要求を受信すると、受信した読出要求によって読み出しを要求されたデータを、当該外部ＬＵ２８２から読み出す。そして、外部のストレージ装置２は、読出データ及び読出応答をストレージ装置２に送信する。
【０２０１】
このとき、外部のストレージ装置２は、読出要求の送信元がストレージ装置２であると判定する。そのため、外部のストレージ装置２は、読出データを、当該外部のストレージ装置２に備わるキャッシュメモリ２６に格納しない。
【０２０２】
ストレージ装置２は、読出データ及び読出応答を外部のストレージ装置２から受信すると、受信した読出データを、ホスト計算機１に送信する。更に、ストレージ装置２は、読出応答を、ホスト計算機１に送信する。
【０２０３】
このとき、ストレージ装置２は、読出要求の送信元がホスト計算機１であると判定する。そのため、ストレージ装置２は、受信した読出データを、当該ストレージ装置２に備わるキャッシュメモリ２６に格納する。
【０２０４】
一方、読出対象がＴＰＬＵ２８３の場合、ストレージ装置２は、ＴＰページ読出処理を実行する（Ｓ８０５）。なお、ＴＰページ書込処理については、図２１で詳細を説明する。
【０２０５】
ＴＰページ読出処理において、ストレージ装置２は、データの読出対象となるＴＰページに割り当てられている実ページが外部ＬＵ２８２に含まれているか否かを判定する。ＴＰページに割り当てられている実ページが外部ＬＵ２８２に含まれている場合、ストレージ装置２は、当該外部ＬＵ２８２を備える外部のストレージ装置２に、読出要求を送信する。外部のストレージ装置２は、読出要求及び書込データを受信すると、受信した読出要求によって読み出しを要求されたデータを、当該外部ＬＵ２８２（外部ストレージ装置２にとっては実ＬＵ２８１又はＴＰＬＵ２８３）から読み出す。そして、外部のストレージ装置２は、読出データ及び読出応答をストレージ装置２に送信する。
【０２０６】
このとき、外部のストレージ装置２は、読出要求の送信元がストレージ装置２であると判定する。そのため、外部のストレージ装置２は、読出データを、当該外部のストレージ装置２に備わるキャッシュメモリ２６に格納しない。
【０２０７】
ストレージ装置２は、読出データ及び読出応答を外部のストレージ装置２から受信すると、受信した読出データを、ホスト計算機１に送信する。更に、ストレージ装置２は、読出応答を、ホスト計算機１に送信する。
【０２０８】
このとき、ストレージ装置２は、読出要求の送信元がホスト計算機１であると判定する。そのため、ストレージ装置２は、受信した読出データを、当該ストレージ装置２に備わるキャッシュメモリ２６に格納する。
【０２０９】
図１７は、本発明の第１の実施の形態のストレージ装置２によって実行される容量不足検出処理のフローチャートである。
【０２１０】
ストレージ装置２に備わるＣＰＵ２４は、ＴＰプログラム２０２を実行することによって、当該容量不足検出処理を所定の間隔で実行する。
【０２１１】
まず、ストレージ装置２は、プールテーブル２０９に含まれるすべてのレコードを、上から順番に一つずつ選択する（Ｓ９０１）。
【０２１２】
次に、ストレージ装置２は、選択したレコードごとに、ステップＳ９０２〜Ｓ９０７までの処理を実行する。
【０２１３】
ストレージ装置２は、選択したレコードから、プールＩＤ２０９１及び割当開始閾値２０９４を抽出する。
【０２１４】
次に、ストレージ装置２は、抽出したプールＩＤ２０９１と実ＬＵテーブル２０６の割当先ＩＤ２０６４とが一致するすべてのレコードを、実ＬＵテーブル２０６から選択する。次に、ストレージ装置２は、選択したすべてのレコードから、実ＬＵＩＤ２０６１を抽出する。
【０２１５】
ストレージ装置２は、抽出した実ＬＵＩＤ２０６１によって識別される実ＬＵ２８１を、抽出したプールＩＤ２０９１によって識別されるストレージプール２８５に割り当てられているＬＵとして特定する（Ｓ９０２）。
【０２１６】
次に、ストレージ装置２は、抽出したプールＩＤ２０９１と外部ＬＵテーブル２０８の割当先ＩＤ２０８６とが一致するすべてのレコードを、外部ＬＵテーブル２０８から選択する。次に、ストレージ装置２は、選択したすべてのレコードから、外部ＬＵＩＤ２０８１及びストレージＩＤ２０８４を抽出する。
【０２１７】
ストレージ装置２は、抽出したストレージＩＤ２０８４によって識別される外部のストレージ装置２に備わる、抽出した外部ＬＵＩＤ２０８１によって識別される外部ＬＵ２８２を、抽出したプールＩＤ２０９１によって識別されるストレージプール２８５に割り当てられているＬＵとして特定する（Ｓ９０３）。
【０２１８】
次に、ストレージ装置２は、ページテーブル２１２のストレージＩＤ２１２２に値が格納されていないすべてのレコードを、ページテーブル２１２から選択する。次に、ストレージ装置２は、抽出した実ＬＵＩＤ２０６１とページテーブル２１２のＬＵＩＤ２１２３とが一致するすべてのレコードを、選択したレコードの中から選択する。次に、ストレージ装置２は、ページテーブル２１２の状態２１２５が未書込を示すすべてのレコードを、選択したレコードの中から選択する。次に、ストレージ装置２は、選択したレコードの数を数える。
【０２１９】
ストレージ装置２は、計数したレコード数を、ストレージプール２８５に割り当てられているＬＵとして特定した実ＬＵ２８１に含まれるページのうち、未書込のページの数として特定する。
【０２２０】
次に、ストレージ装置２は、抽出したストレージＩＤ２０８４とページテーブル２１２のストレージＩＤ２１２２とが一致するすべてのレコードを、ページテーブル２１２から選択する。次に、ストレージ装置２は、抽出した外部ＬＵＩＤ２０８１とページテーブル２１２のＬＵＩＤ２１２３とが一致するすべてのレコードを、選択したレコードの中から選択する。次に、ストレージ装置２は、ページテーブル２１２の状態２１２５が未書込を示すすべてのレコードを、選択したレコードの中から選択する。次に、ストレージ装置２は、選択したレコードの数を数える。
【０２２１】
ストレージ装置２は、計数したレコード数を、ストレージプール２８５に割り当てられているＬＵとして特定した外部ＬＵ２８２に含まれるページのうち、未書込のページの数として特定する。
【０２２２】
次に、ストレージ装置２は、計数したレコード数の合計を算出する。ストレージ装置２は、合計の結果を、ストレージプール２８５に割り当てられているすべてのＬＵに含まれるページのうち、未書込のページの数として特定する（Ｓ９０４）。
【０２２３】
次に、ストレージ装置２は、一つのページのサイズに、合計の結果を乗じる。これによって、ストレージ装置２は、ストレージプール２８５に含まれる未書込ページの合計サイズを算出する。次に、ストレージ装置２は、算出した合計サイズとステップＳ９０２で抽出した割当開始閾値２０９４とを比較する（Ｓ９０５）。
【０２２４】
合計サイズが割当開始閾値２０９４以上の場合、ストレージ装置２は、当該ストレージプール２８５の未書込記憶領域が不足していないと判定する。よって、ストレージ装置２は、そのままステップＳ９０７に進む。
【０２２５】
一方、合計サイズが割当開始閾値２０９４未満の場合、ストレージ装置２は、当該ストレージプール２８５の未書込記憶領域が不足していると判定する。この場合、ストレージ装置２は、外部ＬＵ作成処理を実行する（Ｓ９０６）。なお、外部ＬＵ作成処理については、図１８で詳細を説明する。
【０２２６】
次に、ストレージ装置２は、プールテーブル２０９に含まれるすべてのレコードをステップＳ９０１において選択したか否かを判定する（Ｓ９０７）。プールテーブル２０９に含まれるレコードのいずれか一つでも選択していない場合、ストレージ装置２は、ステップＳ９０１に戻る。そして、ストレージ装置２は、選択していないレコードをプールテーブル２０９から選択し、処理を繰り返す。
【０２２７】
一方、プールテーブル２０９に含まれるすべてのレコードを選択した場合、ストレージ装置２は、当該容量不足検出処理を終了する。
【０２２８】
図１８は、本発明の第１の実施の形態のストレージ装置２によって実行される外部ＬＵ作成処理のフローチャートである。
【０２２９】
ストレージ装置２に備わるＣＰＵ２４は、外部ストレージ制御プログラム２０３を実行することによって、当該外部ＬＵ作成処理を実行する。なお、ストレージ装置２は、容量不足検出処理（図１７）のステップＳ９０５において、ストレージプール２８５の未書込記憶領域が不足していると判定すると、当該外部ＬＵ作成処理を実行する。
【０２３０】
まず、ストレージ装置２は、未書込記憶領域が不足しているストレージプール２８５に関するレコードを、プールテーブル２０９から選択する。なお、未書込記憶領域が不足しているストレージプール２８５に関するレコードは、容量不足検出処理（図１７）のステップＳ９０１において選択されたレコードである。
【０２３１】
次に、ストレージ装置２は、選択したレコードから、プールＩＤ２０９１、外部ＬＵ種別２０９２及び外部ＬＵサイズ２０９３を抽出する（Ｓ１１０１）。
【０２３２】
次に、ストレージ装置２は、以前のステップＳ１１０２において選択していないレコードのうちの一つを、外部ストレージテーブル２０７から選択する（Ｓ１１０２）。次に、ストレージ装置２は、選択したレコードから、ストレージＩＤ２０７１及びアドレス２０７２を抽出する。
【０２３３】
次に、ストレージ装置２は、抽出した外部ＬＵ種別２０９２及び外部ＬＵサイズ２０９３を含むＬＵ割当要求を、抽出したアドレス２０７２宛てに送信する。これによって、ストレージ装置２は、ＬＵ割当要求を、抽出したストレージＩＤ２０７１によって識別される外部のストレージ装置２へ送信する（Ｓ１１０３）。
【０２３４】
外部のストレージ装置２は、ＬＵ割当要求を受信すると、ＬＵ割当処理を実行する。なお、ＬＵ割当処理については、図１９Ａ及び図１９Ｂで詳細を説明する。
【０２３５】
ＬＵ割当処理において、外部のストレージ装置２は、ＬＵ割当応答を、ＬＵ割当要求の送信元であるストレージ装置２に送信する。なお、ＬＵ割当応答は、ＬＵ割当要求の送信元であるストレージ装置２へのＬＵの割り当てに成功したか否かを示す。また、ＬＵ割当応答がＬＵの割り当てに成功したことを示す場合、当該ＬＵ割当応答は、割り当てられたＬＵの識別子（ＬＵＩＤ）及びサイズを含む。
【０２３６】
一方、ストレージ装置２は、ＬＵ割当要求を送信すると、ＬＵ割当応答を受信したか否かを判定する（Ｓ１１０４）。ＬＵ割当応答を受信していない場合、ストレージ装置２は、ＬＵ割当応答を受信するまで待機する。
【０２３７】
そして、ＬＵ割当応答を受信すると、ストレージ装置２は、受信したＬＵ割当応答がＬＵの割り当てに成功したことを示すか否かを判定する（Ｓ１１０５）。
【０２３８】
ＬＵ割当応答がＬＵの割り当てに成功したことを示す場合、ストレージ装置２は、外部ＬＵテーブル２０８を更新する（Ｓ１１０６）。これによって、ストレージ装置２は、外部のストレージ装置２から割り当てられたＬＵを、外部ＬＵ２８２として認識する。
【０２３９】
具体的には、ストレージ装置２は、外部ＬＵテーブル２０８に新たなレコードを作成する。次に、ストレージ装置２は、新たなレコードの外部ＬＵＩＤ２０８１に、受信したＬＵ割当応答に含まれるＬＵＩＤを格納する。次に、ストレージ装置２は、新たなレコードの外部ＬＵ種別２０８２に、ステップＳ１１０１で抽出した外部ＬＵ種別２０９２を格納する。次に、ストレージ装置２は、新たなレコードのサイズ２０８３に、受信したＬＵ割当応答に含まれるサイズを格納する。
【０２４０】
次に、ストレージ装置２は、新たなレコードのストレージＩＤ２０８４に、ステップＳ１１０２で抽出したストレージＩＤ２０７１を格納する。次に、ストレージ装置２は、新たなレコードの割当先種別２０８５に、ストレージプール２８５に割り当てられていることを示す情報を格納する。次に、ストレージ装置２は、新たなレコードの割当先ＩＤ２０８６に、ステップＳ１１０１で抽出したプールＩＤ２０９１を格納する。
【０２４１】
以上のように、ストレージ装置２は、外部ＬＵテーブル２０８を更新する。そして、ストレージ装置２は、当該外部ＬＵ作成処理を終了する。
【０２４２】
一方、ＬＵ割当応答がＬＵの割り当てに失敗したことを示す場合、ストレージ装置２は、外部ストレージテーブル２０７に含まれるすべてのレコードをステップＳ１１０２において選択したか否かを判定する。
【０２４３】
外部ストレージテーブル２０７に含まれるレコードのいずれか一つでも選択していない場合、ストレージ装置２は、ステップＳ１１０７に戻る。そして、ストレージ装置２は、選択していないレコードを外部ストレージテーブル２０７から選択し、処理を繰り返す。
【０２４４】
一方、外部ストレージテーブル２０７に含まれるすべてのレコードを選択した場合、ストレージ装置２は、ホスト計算機１又は管理端末３にエラーを通知し（Ｓ１１０８）、当該外部ＬＵ作成処理を終了する。
【０２４５】
図１９Ａ及び図１９Ｂは、本発明の第１の実施の形態の外部のストレージ装置２によって実行されるＬＵ割当処理のフローチャートである。
【０２４６】
外部のストレージ装置２に備わるＣＰＵ２４は、ＬＵ割当プログラム２０５を実行することによって、当該ＬＵ割当処理を実行する。なお、外部のストレージ装置２は、外部ＬＵ作成処理（図１８）のステップＳ１１０３においてＬＵ割当要求を受信すると、当該ＬＵ割当処理を実行する。
【０２４７】
まず、外部のストレージ装置２は、受信したＬＵ割当要求から、外部ＬＵ種別２０９２及び外部ＬＵサイズ２０９３を抽出する。次に、外部のストレージ装置２は、抽出した外部ＬＵ種別２０９２が実ＬＵ２８１又はＴＰＬＵ２８３のいずれを示すかを判定する（Ｓ１２０１）。
【０２４８】
外部ＬＵ種別２０９２がＴＰＬＵ２８３を示す場合、当該ＬＵ割当要求は、ＴＰＬＵ２８３の割り当てを要求している。そこで、外部のストレージ装置２は、ＴＰＬＵテーブル２１０の割当先種別２１０４及び割当先ＩＤ２１０５が未割当を示すすべてのレコードを、ＴＰＬＵテーブル２１０から選択する。次に、外部のストレージ装置２は、ＴＰＬＵテーブル２１０のサイズ２１０２が、抽出した外部ＬＵサイズ２０９３以上であるレコードを、選択したレコードの中から選択する（Ｓ１２０２）。
【０２４９】
次に、外部のストレージ装置２は、当該レコードをＴＰＬＵテーブル２１０から選択できたか否かを判定する（Ｓ１２０３）。
【０２５０】
当該レコードを選択できた場合、受信したＬＵ割当要求で指定された条件を満たし且つ未割当のＴＰＬＵ２８３が存在する。
【０２５１】
そこで、外部のストレージ装置２は、ＴＰＬＵテーブル２１０を更新する（Ｓ１２０７）。
【０２５２】
具体的には、外部のストレージ装置２は、選択したレコードの割当先種別２１０４に、ストレージ装置２を示す情報を格納する。次に、外部のストレージ装置２は、選択したレコードの割当先ＩＤ２１０５に、受信したＬＵ割当要求の送信元のストレージ装置２の識別子を格納する。
【０２５３】
これによって、外部のストレージ装置２は、受信したＬＵ割当要求で指定された条件を満たし且つ未割当のＴＰＬＵ２８３を、受信したＬＵ割当要求の送信元のストレージ装置２に割り当てる。そして、外部のストレージ装置２は、ステップＳ１２０８に進む。
【０２５４】
一方、当該レコードを選択できなかった場合、受信したＬＵ割当要求で指定された条件を満たし且つ未割当のＴＰＬＵ２８３が存在しない。そこで、外部のストレージ装置２は、受信したＬＵ割当要求で指定された条件を満たすＴＰＬＵ２８３を新たに作成する。
【０２５５】
具体的には、外部のストレージ装置２は、プールテーブル２０９から一つのレコードを任意に選択する。例えば、外部のストレージ装置２は、未書込記憶領域の容量が最も大きいストレージプール２８５に関するレコードを、プールテーブル２０９から選択する（Ｓ１２０４）。次に、外部のストレージ装置２は、選択したレコードから、プールＩＤ２０９１を抽出する。
【０２５６】
次に、外部のストレージ装置２は、ＴＰＬＵテーブル２１０を更新する（Ｓ１２０５）。
【０２５７】
具体的には、外部のストレージ装置２は、ＴＰＬＵテーブル２１０に新たなレコードを作成する。次に、外部のストレージ装置２は、新たなレコードのＴＰＬＵＩＤ２１０１に、ＴＰＬＵテーブル２１０に含まれるすべてのＴＰＬＵＩＤ２１０１と重複しない値を格納する。次に、外部のストレージ装置２は、新たなレコードのサイズ２１０２に、ステップＳ１２０１で抽出した外部ＬＵサイズ２０９３を格納する。次に、外部のストレージ装置２は、新たなレコードのプールＩＤ２１０３に、抽出したプールＩＤ２０９１を格納する。
【０２５８】
次に、外部のストレージ装置２は、新たなレコードの割当先種別２１０４に、ストレージ装置２を示す情報を格納する。次に、外部のストレージ装置２は、新たなレコードの割当先ＩＤ２１０５に、受信したＬＵ割当要求の送信元のストレージ装置２の識別子を格納する。
【０２５９】
これによって、外部のストレージ装置２は、受信したＬＵ割当要求で指定された条件を満たしたＴＰＬＵ２８３を新たに作成する。そして、外部のストレージ装置２は、作成した新たなＴＰＬＵ２８３を、受信したＬＵ割当要求の送信元のストレージ装置２に割り当てる。
【０２６０】
次に、外部のストレージ装置２は、作成した新たなＴＰＬＵ２８３に含まれるすべてのページに関する情報を、マッピングテーブル２１１に格納する。
【０２６１】
具体的には、外部のストレージ装置２は、作成したＴＰＬＵ２８３に含まれるページの数の新たなレコードを、マッピングテーブル２１１に作成する。
【０２６２】
次に、外部のストレージ装置２は、新たなレコードのすべてのＴＰＬＵＩＤ２１１１に、ＴＰＬＵテーブル２１０のＴＰＬＵＩＤ２１０１に格納した値を格納する。次に、外部のストレージ装置２は、新たなレコードのそれぞれのＴＰページ番号２１１２に、作成したＴＰＬＵ２８３に含まれるページの識別子を重複しないように格納する。次に、外部のストレージ装置２は、新たなレコードのすべてのＬＵ種別２１１３に、当該ＴＰページが未アクセスであることを示す情報を格納する。なお、外部のストレージ装置２は、新たなレコードのストレージＩＤ２１１４、ＬＵＩＤ２１１５及び実ページ番号２１１６には値を格納しない。
【０２６３】
以上のように、外部のストレージ装置２は、マッピングテーブル２１１を更新する（Ｓ１２０６）。
【０２６４】
次に、外部のストレージ装置２は、ＬＵ割当応答を、受信したＬＵ割当要求の送信元のストレージ装置２に送信する（Ｓ１２０８）。なお、当該ＬＵ割当応答は、ＬＵ割当要求の送信元であるストレージ装置２へのＬＵの割り当てに成功したことを示す。更に、当該ＬＵ割当応答は、割り当てられたＴＰＬＵ２８３の識別子（ＬＵＩＤ）及びサイズを含む。
【０２６５】
そして、外部のストレージ装置２は、当該ＬＵ割当処理を終了する。
【０２６６】
一方、外部ＬＵ種別２０９２が実ＬＵ２８１を示す場合、当該ＬＵ割当要求は、実ＬＵ２８１の割り当てを要求している。そこで、外部のストレージ装置２は、実ＬＵテーブル２０６の割当先種別２０６３及び割当先ＩＤ２０６４が未割当を示すすべてのレコードを、実ＬＵテーブル２０６から選択する。次に、外部のストレージ装置２は、実ＬＵテーブル２０６のサイズ２０６２が、抽出した外部ＬＵサイズ２０９３以上であるレコードを、選択したレコードの中から選択する（Ｓ１３０１）。
【０２６７】
次に、外部のストレージ装置２は、当該レコードを実ＬＵテーブル２０６から選択できたか否かを判定する（Ｓ１３０２）。
【０２６８】
当該レコードを選択できた場合、受信したＬＵ割当要求で指定された条件を満たし且つ未割当の実ＬＵ２８１が存在する。
【０２６９】
そこで、外部のストレージ装置２は、実ＬＵテーブル２０６を更新する（Ｓ１３０５）。
【０２７０】
具体的には、外部のストレージ装置２は、選択したレコードの割当先種別２０６３に、ストレージ装置２を示す情報を格納する。次に、外部のストレージ装置２は、選択したレコードの割当先ＩＤ２０６４に、受信したＬＵ割当要求の送信元のストレージ装置２の識別子を格納する。
【０２７１】
これによって、外部のストレージ装置２は、受信したＬＵ割当要求で指定された条件を満たし且つ未割当の実ＬＵ２８１を、受信したＬＵ割当要求の送信元のストレージ装置２に割り当てる。そして、外部のストレージ装置２は、ステップＳ１３０６に進む。
【０２７２】
一方、当該レコードを選択できなかった場合、受信したＬＵ割当要求で指定された条件を満たし且つ未割当の実ＬＵ２８１が存在しない。そこで、外部のストレージ装置２は、受信したＬＵ割当要求で指定された条件を満たす実ＬＵ２８１を作成可能であるか否かを判定する。例えば、外部のストレージ装置２は、抽出した外部ＬＵサイズ２０９３以上の空き容量がディスクドライブ２８に存在するか否かに基づいて、実ＬＵ２８１を作成可能であるか否かを判定する。
【０２７３】
実ＬＵ２８１を作成できないと判定した場合、外部のストレージ装置２は、ＬＵ割当応答を、受信したＬＵ割当要求の送信元のストレージ装置２に送信する（Ｓ１３０７）。なお、当該ＬＵ割当応答は、ＬＵ割当要求の送信元であるストレージ装置２へのＬＵの割り当てに失敗したことを示す。
【０２７４】
そして、外部のストレージ装置２は、当該ＬＵ割当処理を終了する。
【０２７５】
一方、実ＬＵ２８１を作成可能と判定した場合、外部のストレージ装置２は、抽出した外部ＬＵサイズ２０９３の実ＬＵ２８１を新たに作成する。
【０２７６】
次に、外部のストレージ装置２は、実ＬＵテーブル２０６を更新する（Ｓ１３０４）。
【０２７７】
具体的には、外部のストレージ装置２は、実ＬＵテーブル２０６に、新たなレコードを作成する。次に、外部のストレージ装置２は、新たなレコードの実ＬＵＩＤ２０６１に、作成した実ＬＵ２８１の識別子を格納する。次に、外部のストレージ装置２は、新たなレコードのサイズ２０６２に、抽出した外部ＬＵサイズ２０９３を格納する。
【０２７８】
次に、外部のストレージ装置２は、新たなレコードの割当先種別２０６３に、ストレージ装置２を示す情報を格納する。次に、外部のストレージ装置２は、新たなレコードの割当先ＩＤ２０６４に、受信したＬＵ割当要求の送信元のストレージ装置２の識別子を格納する。
【０２７９】
以上のように、外部のストレージ装置２は、実ＬＵテーブル２０６を更新する。
【０２８０】
次に、外部のストレージ装置２は、ＬＵ割当応答を、受信したＬＵ割当要求の送信元のストレージ装置２に送信する（Ｓ１３０６）。なお、当該ＬＵ割当応答は、ＬＵ割当要求の送信元であるストレージ装置２へのＬＵの割り当てに成功したことを示す。更に、当該ＬＵ割当応答は、割り当てられた実ＬＵ２８１の識別子（ＬＵＩＤ）及びサイズを含む。
【０２８１】
そして、外部のストレージ装置２は、当該ＬＵ割当処理を終了する。
【０２８２】
図２０Ａ及び図２０Ｂは、本発明の第１の実施の形態のストレージ装置２によって実行されるＴＰページ書込処理のフローチャートである。
【０２８３】
ストレージ装置２に備わるＣＰＵ２４は、ＴＰプログラム２０２及びＩＯ処理プログラム２０４を実行することによって、当該ＴＰページ書込処理を実行する。なお、ストレージ装置２は、ＴＰＬＵ２８３に含まれるＴＰページへの書込要求を受信すると、当該ＴＰページ書込処理を実行する。
【０２８４】
まず、ストレージ装置２は、ＴＰＬＵ２８３に含まれるＴＰページへの書込要求をホスト計算機１から受信する。なお、書込要求には、データの書込対象のＴＰＬＵ２８３のＬＵＩＤ、ＬＢＡ（Ｌｏｇｉｃａｌ  Ｂｌｏｃｋ  Ａｄｄｒｅｓｓ）及び書込サイズを含む。ストレージ装置２は、受信した書込要求から、ＴＰＬＵ２８３のＬＵＩＤ、ＬＢＡ及び書込サイズを抽出する。次に、ストレージ装置２は、抽出したＬＢＡ及び書き込みサイズに基いて、書込対象のＴＰページのページ番号を算出する。更に、ストレージ装置２は、当該ＴＰページへ書き込まれるデータ（書込データ）を、ホスト計算機１から受信する。
【０２８５】
すると、ストレージ装置２は、受信した書込データを、当該ストレージ装置２に備わるキャッシュメモリ２６に格納する。そして、ストレージ装置２は、受信した書込要求の処理完了を通知するための書込応答を、ホスト計算機１に送信する。
【０２８６】
次に、ストレージ装置２は、抽出したＬＵＩＤとマッピングテーブル２１１のＴＰＬＵＩＤ２１１１とが一致するレコードを、マッピングテーブル２１１から選択する。次に、ストレージ装置２は、算出されたページ番号とマッピングテーブル２１１のＴＰページ番号２１１２とが一致するレコードを、選択したレコードの中から選択する。
【０２８７】
次に、ストレージ装置２は、選択したレコードから、ＬＵ種別２１１３、ストレージＩＤ２１１４、ＬＵＩＤ２１１５及び実ページ番号２１１６を抽出する（Ｓ１４０１）。
【０２８８】
次に、ストレージ装置２は、抽出したＬＵ種別２１１３が未アクセスを示すか否かを判定する。これによって、ストレージ装置２は、データの書込対象のＴＰページに実ページが既に割り当てられているか否かを判定する（Ｓ１４０２）。
【０２８９】
ＬＵ種別２１１３が実ＬＵ２８１又は外部ＬＵ２８２を示す場合、ストレージ装置２は、データの書込対象のＴＰページに実ページが既に割り当てられていると判定する。この場合、ストレージ装置２は、データの書込対象のＴＰページに実ページを新たに割り当てる必要がない。よって、ストレージ装置２は、そのままステップＳ１５０１に進む。
【０２９０】
一方、ＬＵ種別２１１３が未アクセスを示す場合、ストレージ装置２は、データの書込対象のＴＰページに実ページが未だ割り当てられていないと判定する。この場合、ストレージ装置２は、データの書込対象のＴＰページに実ページを割り当てる必要がある。
【０２９１】
そこで、ストレージ装置２は、書込要求から抽出したＬＵＩＤとＴＰＬＵテーブル２１０のＴＰＬＵＩＤ２１０１とが一致するレコードを、ＴＰＬＵテーブル２１０から選択する。次に、ストレージ装置２は、選択したレコードからプールＩＤ２１０３を抽出する。これによって、ストレージ装置２は、抽出したプールＩＤ２１０３によって識別されるストレージプール２８５を、データの書込対象のＴＰＬＵ２８３に割り当て可能な記憶領域を含むストレージプール２８５として特定する（Ｓ１４０３）。
【０２９２】
次に、ストレージ装置２は、抽出したプールＩＤ２１０３と実ＬＵテーブル２０６の割当先ＩＤ２０６４とが一致するレコードを、実ＬＵテーブル２０６から選択する。次に、ストレージ装置２は、選択したレコードから、実ＬＵＩＤ２０６１を抽出する。これによって、ストレージ装置２は、抽出した実ＬＵＩＤ２０６１によって識別される実ＬＵ２８１を、特定したストレージプール２８５に割り当てられている実ＬＵ２８１として特定する。
【０２９３】
次に、ストレージ装置２は、抽出したプールＩＤと外部ＬＵテーブル２０８の割当先ＩＤ２０８６とが一致するレコードを、外部ＬＵテーブル２０８から選択する。次に、ストレージ装置２は、選択したレコードから、外部ＬＵＩＤ２０８１及びストレージＩＤ２０８４を抽出する。これによって、ストレージ装置２は、抽出したストレージＩＤ２０８４によって識別されるストレージ装置２に備わる、抽出した外部ＬＵＩＤ２０８１によって識別される外部ＬＵ２８２を、特定したストレージプール２８５に割り当てられている外部ＬＵ２８２として特定する（Ｓ１４０４）。
【０２９４】
次に、ストレージ装置２は、特定した実ＬＵ２８１に含まれる実ページの中から、未書込の実ページを特定する（Ｓ１４０５）。
【０２９５】
具体的には、ストレージ装置２は、ページテーブル２１２のストレージＩＤ２１２２に値が格納されていないすべてのレコードを、ページテーブル２１２から選択する。次に、ストレージ装置２は、抽出した実ＬＵＩＤ２０６１とページテーブル２１２のＬＵＩＤ２１２３とが一致するすべてのレコードを、選択したレコードの中から選択する。次に、ストレージ装置２は、ページテーブル２１２の状態２１２５が未書込を示すレコードの一つを、選択したレコードの中から選択する。
【０２９６】
次に、ストレージ装置２は、当該一つのレコードをページテーブル２１２から選択できたか否かを判定する。これによって、ストレージ装置２は、特定した実ＬＵ２８１に含まれる実ページの中から、未書込の実ページを特定できたか否かを判定する（Ｓ１４０６）。
【０２９７】
当該一つのレコードを選択できた場合、ストレージ装置２は、特定した実ＬＵ２８１に含まれる実ページの中から、未書込の実ページを特定できたと判定する。そこで、ストレージ装置２は、そのままステップＳ１４０９に進む。
【０２９８】
一方、当該一つのレコードを選択できなかった場合、ストレージ装置２は、特定した実ＬＵ２８１に含まれる実ページの中から、未書込の実ページを特定できなかったと判定する。
【０２９９】
そこで、ストレージ装置２は、特定した外部ＬＵ２８２に含まれる実ページの中から、未書込の実ページを特定する（Ｓ１４０７）。
【０３００】
具体的には、ストレージ装置２は、抽出したストレージＩＤ２０８４とページテーブル２１２のストレージＩＤ２１２２とが一致するすべてのレコードを、ページテーブル２１２から選択する。次に、ストレージ装置２は、抽出した外部ＬＵＩＤ２０８１とページテーブル２１２のＬＵＩＤ２１２３とが一致するすべてのレコードを、選択したレコードの中から選択する。次に、ストレージ装置２は、ページテーブル２１２の状態２１２５が未書込を示すレコードの一つを、選択したレコードの中から選択する。
【０３０１】
次に、ストレージ装置２は、当該一つのレコードをページテーブル２１２から選択できたか否かを判定する。これによって、ストレージ装置２は、特定した外部ＬＵ２８２に含まれる実ページの中から、未書込の実ページを特定できたか否かを判定する（Ｓ１４０８）。
【０３０２】
当該一つのレコードを選択できなかった場合、ストレージ装置２は、特定した外部ＬＵ２８２に含まれる実ページの中から、未書込の実ページを特定できなかったと判定する。この場合、ストレージ装置２は、ＴＰページへの書き込みを要求されたデータを格納することができない。よって、ストレージ装置２は、書込エラーを、ホスト計算機１に通知する（Ｓ１４１１）。そして、ストレージ装置２は、当該ＴＰページ書込処理を終了する。
【０３０３】
一方、当該一つのレコードを選択できた場合、ストレージ装置２は、特定した外部ＬＵ２８２に含まれる実ページの中から、未書込の実ページを特定できたと判定する。
【０３０４】
そこで、ストレージ装置２は、ページテーブル２１２を更新する（Ｓ１４０９）。
【０３０５】
具体的には、ストレージ装置２は、ステップＳ１４０５又はステップＳ１４０７でページテーブル２１２から選択した一つのレコードの状態２１２５に、書込済を示す情報を格納する。次に、ストレージ装置２は、当該選択した一つのレコードから、ＬＵ種別２１２１、ストレージＩＤ２１２２、ＬＵＩＤ２１２３及び実ページ番号２１２４を抽出する。
【０３０６】
次に、ストレージ装置２は、マッピングテーブル２１１を更新する（Ｓ１４１０）。
【０３０７】
具体的には、ストレージ装置２は、受信した書込要求から抽出したＬＵＩＤとマッピングテーブル２１１のＴＰＬＵＩＤ２１１１とが一致するレコードを、マッピングテーブル２１１から選択する。次に、ストレージ装置２は、算出されたページ番号とマッピングテーブル２１１のＴＰページ番号２１１２とが一致するレコードを、選択したレコードの中から選択する。
【０３０８】
次に、ストレージ装置２は、選択したレコードのＬＵ種別２１１３に、抽出したＬＵ種別２１２１を格納する。次に、ストレージ装置２は、選択したレコードのストレージＩＤ２１１４に、抽出したストレージＩＤ２１２２に格納する。次に、ストレージ装置２は、選択したレコードのＬＵＩＤ２１１５に、抽出したＬＵＩＤ２１２３を抽出する。次に、ストレージ装置２は、選択したレコードの実ページ番号２１１６に、抽出した実ページ番号２１２４を格納する。
【０３０９】
ストレージ装置２は、マッピングテーブル２１１を更新することによって、データの書込対象のＴＰページに実ページを割り当てる。
【０３１０】
次に、ストレージ装置２は、データの書込対象となるＴＰページに割り当てられている実ページが外部ＬＵ２８２に含まれるか否かを判定する（Ｓ１５０１）。
【０３１１】
具体的には、ストレージ装置２は、受信した書込要求から抽出したＬＵＩＤとマッピングテーブル２１１のＴＰＬＵＩＤ２１１１とが一致するレコードを、マッピングテーブル２１１から選択する。次に、ストレージ装置２は、算出されたページ番号とマッピングテーブル２１１のＴＰページ番号２１１２とが一致するレコードを、選択したレコードの中から選択する。
【０３１２】
次に、ストレージ装置２は、選択したレコードから、ＬＵ種別２１１３を抽出する。次に、ストレージ装置２は、抽出したＬＵ種別２１１３が外部ＬＵ２８２を示すか否かを判定する。
【０３１３】
ＬＵ種別２１１３が実ＬＵ２８１を示す場合、ストレージ装置２は、データの書込対象となるＴＰページに割り当てられている実ページが実ＬＵ２８１に含まれると判定する。そこで、ストレージ装置２は、選択したレコードから、ＬＵＩＤ２１１５及び実ページ番号２１１６を抽出する。次に、ストレージ装置２は、キャッシュメモリ２６に格納されている書込データを、抽出したＬＵＩＤ２１１５によって識別される実ＬＵ２８１に含まれる、抽出した実ページ番号２１１６によって識別される実ページに書き込む。そして、ストレージ装置２は、当該ＴＰページ書込処理を終了する。
【０３１４】
一方、ＬＵ種別２１１３が外部ＬＵ２８２を示す場合、ストレージ装置２は、データの書込対象となるＴＰページに割り当てられている実ページが外部ＬＵ２８２に含まれると判定する。そこで、ストレージ装置２は、選択したレコードから、ストレージＩＤ２１１４、ＬＵＩＤ２１１５及び実ページ番号２１１６を抽出する（Ｓ１５０２）。
【０３１５】
次に、ストレージ装置２は、抽出したストレージＩＤ２１１４と外部ストレージテーブル２０７のストレージＩＤ２０７１とが一致するレコードを、外部ストレージテーブル２０７から選択する。次に、ストレージ装置２は、選択したレコードから、アドレス２０７２を抽出する（Ｓ１５０３）。
【０３１６】
次に、ストレージ装置２は、抽出したアドレス２０７２宛てに、抽出したＬＵＩＤ２１１５、算出されたＬＢＡ及び書込サイズを含む書込要求を送信する。更に、ストレージ装置２は、抽出したアドレス２０７２宛てに、キャッシュメモリ２６に格納されている書込データを送信する。これによって、ストレージ装置２は、抽出したストレージＩＤ２１１４によって識別される外部のストレージ装置２に、書込要求及び書込データを送信する（Ｓ１５０４）。なお、当該書込要求は、抽出したＬＵＩＤ２１１５によって識別される外部ＬＵ２８２に含まれる、抽出した実ページ番号２１１６によって識別される実ページへのデータの書き込みを要求する。
【０３１７】
外部のストレージ装置２は、書込要求及び書込データを受信する。すると、外部のストレージ装置２は、受信した書込要求から、ＬＵＩＤ２１１５、ＬＢＡ及び書込サイズを抽出する。もし、抽出したＬＵＩＤ２１１５によって識別されるＬＵが実ＬＵ２８１の場合、外部のストレージ装置２は、抽出したＬＵＩＤ２１１５によって識別されるＬＵに含まれる、抽出したＬＢＡ及び書込サイズによって識別される記憶領域に、受信した書込データを書き込む。一方、抽出したＬＵＩＤ２１１５によって識別されるＬＵがＴＰＬＵ２８３の場合、外部のストレージ装置２は、抽出したＬＢＡ及び書込サイズに基づいて、書込対象のＴＰページのページ番号を算出する。そして、外部のストレージ装置２は、抽出したＬＵＩＤ２１１５によって識別される外部ＬＵ２８２に含まれる、算出されたページ番号によって識別されるＴＰページに、受信した書込データを書き込む。そして、外部のストレージ装置２は、書込完了を通知するための書込応答を、書込要求の送信元のストレージ装置２に送信する。
【０３１８】
一方、ストレージ装置２は、書込要求及び書込データを送信すると、書込応答を受信したか否かを判定する（Ｓ１５０５）。
【０３１９】
書込応答を受信していない場合、ストレージ装置２は、書込応答を受信するまで待機する。そして、書込応答を受信すると、ストレージ装置２は、当該ＴＰページ書込処理を終了する。
【０３２０】
図２１は、本発明の第１の実施の形態のストレージ装置２によって実行されるＴＰページ読出処理のフローチャートである。
【０３２１】
ストレージ装置２に備わるＣＰＵ２４は、ＴＰプログラム２０２及びＩＯ処理プログラム２０４を実行することによって、当該ＴＰページ読出処理を実行する。なお、ストレージ装置２は、ＴＰＬＵ２８３に含まれるＴＰページからのデータの読み出しを要求する読出要求を受信すると、当該ＴＰページ読出処理を実行する。
【０３２２】
但し、当該読出要求によって読み出しを要求されたデータがキャッシュメモリ２６に格納されている場合には、ストレージ装置２は、当該ＴＰページ読出処理を実行しない。その代わりに、ストレージ装置２は、受信した読出要求によって読み出しを要求されたデータを、キャッシュメモリ２６から読み出す。そして、ストレージ装置２は、読み出したデータ（読出データ）及び読出応答を、ホスト計算機１に送信する。
【０３２３】
まず、ストレージ装置２は、ＴＰＬＵ２８３に含まれるＴＰページからのデータの読み出しを要求する読出要求をホスト計算機１から受信する。なお、読出要求には、データの読出対象のＴＰＬＵ２８３のＬＵＩＤ、ＬＢＡ及び読出サイズを含む。
【０３２４】
すると、ストレージ装置２は、受信した読出要求から、ＬＵＩＤ、ＬＢＡ及び読出サイズを抽出する。次に、ストレージ装置２は、抽出したＬＢＡ及び読出サイズに基づいて、読出対象のＴＰページのページ番号を算出する。次に、ストレージ装置２は、抽出したＬＵＩＤとマッピングテーブル２１１のＴＰＬＵＩＤ２１１１とが一致するレコードを、マッピングテーブル２１１から選択する。次に、ストレージ装置２は、算出されたページ番号とマッピングテーブル２１１のＴＰページ番号２１１２とが一致するレコードを、選択したレコードの中から選択する。
【０３２５】
次に、ストレージ装置２は、選択したレコードから、ＬＵ種別２１１３を抽出する（Ｓ１６０１）。次に、ストレージ装置２は、抽出したＬＵ種別２１１３が未アクセス、実ＬＵ２８１又は外部ＬＵ２８２のいずれを示すかを判定する（Ｓ１６０２）。
【０３２６】
ＬＵ種別２１１３が未アクセスを示す場合、データの読出対象のＴＰページにはデータが書き込まれていない。そこで、ストレージ装置２は、すべてが「０」の値を示す読出データを、ホスト計算機１に送信する（Ｓ１６０３）。更に、ストレージ装置２は、受信した読出要求の処理完了を通知するための読出応答を、ホスト計算機１に送信する（Ｓ１６１１）。そして、ストレージ装置２は、当該ＴＰページ読出処理を終了する。
【０３２７】
一方、ＬＵ種別２１１３が実ＬＵ２８１を示す場合、ストレージ装置２は、データの読出対象のＴＰページに割り当てられている実ページが実ＬＵ２８１に含まれていると判定する。そこで、ストレージ装置２は、選択したレコードから、ＬＵＩＤ２１１５及び実ページ番号２１１６を抽出する。次に、ストレージ装置２は、抽出したＬＵＩＤ２１１５によって識別される実ＬＵ２８１に含まれる、抽出した実ページ番号２１１６によって識別される実ページから、データを読み出す（Ｓ１６０４）。
【０３２８】
次に、ストレージ装置２は、読出データを、ホスト計算機１に送信する（Ｓ１６０５）。更に、ストレージ装置２は、受信した読出要求の処理完了を通知するための読出応答を、ホスト計算機１に送信する（Ｓ１６１１）。
【０３２９】
このとき、受信した読出要求の送信元がホスト計算機１なので、ストレージ装置２は、読出データを、当該ストレージ装置２に備わるキャッシュメモリ２６に格納する。そして、ストレージ装置２は、当該ＴＰページ読出処理を終了する。
【０３３０】
一方、ＬＵ種別２１１３が外部ＬＵ２８２を示す場合、ストレージ装置２は、データの読出対象のＴＰページに割り当てられている実ページが外部ＬＵ２８２に含まれていると判定する。そこで、ストレージ装置２は、選択したレコードから、ストレージＩＤ２１１４、ＬＵＩＤ２１１５及び実ページ番号２１１６を抽出する（Ｓ１６０６）。
【０３３１】
次に、ストレージ装置２は、抽出したストレージＩＤ２１１４と外部ストレージテーブル２０７のストレージＩＤ２０７１とが一致するレコードを、外部ストレージテーブル２０７から選択する。次に、ストレージ装置２は、選択したレコードから、アドレス２０７２を抽出する（Ｓ１６０７）。
【０３３２】
次に、ストレージ装置２は、抽出した実ページ番号２１１６に基づいて、ＬＢＡ及び読出サイズを算出する。そして、ストレージ装置２は、抽出したアドレス２０７２宛てに、抽出したＬＵＩＤ２１１５、算出されたＬＢＡ及び読出サイズを含む読出要求を送信する。これによって、ストレージ装置２は、抽出したストレージＩＤ２１１４によって識別される外部のストレージ装置２に、読出要求を送信する（Ｓ１６０８）。なお、当該読出要求は、抽出したＬＵＩＤ２１１５によって識別される外部ＬＵ２８２に含まれる、抽出した実ページ番号２１１６によって識別される実ページからのデータの読み出しを要求する。
【０３３３】
外部のストレージ装置２は、読出要求を受信する。すると、外部のストレージ装置２は、受信した読出要求から、ＬＵＩＤ２１１５、ＬＢＡ及び読出サイズを抽出する。もし、抽出したＬＵＩＤ２１１５によって識別されるＬＵが実ＬＵ２８１の場合、外部のストレージ装置２は、抽出したＬＵＩＤ２１１５によって識別されるＬＵに含まれる、抽出したＬＢＡ及び読出サイズによって識別される記憶領域から、データを読み出す。一方、抽出したＬＵＩＤ２１１５によって識別されるＬＵがＴＰＬＵ２８３の場合、外部のストレージ装置２は、抽出したＬＢＡ及び読出サイズに基づいて、読出対象のＴＰページのページ番号を算出する。そして、外部のストレージ装置２は、抽出したＬＵＩＤ２１１５によって識別されるＬＵに含まれる、算出されたページ番号によって識別されるＴＰページから、データを読み出す。そして、外部のストレージ装置２は、読出データ及び読出応答を、読出要求の送信元のストレージ装置２に送信する。
【０３３４】
このとき、受信した読出要求の送信元がストレージ装置２なので、外部のストレージ装置２は、読出データを、当該外部のストレージ装置２に備わるキャッシュメモリ２６に格納しない。
【０３３５】
一方、ストレージ装置２は、読出要求を送信すると、読出データ及び読出応答を受信したか否かを判定する（Ｓ１６０９）。
【０３３６】
読出データ及び読出応答のうちいずれか一方でも受信していない場合、ストレージ装置２は、読出データ及び読出応答を受信するまで待機する。そして、読出データ及び読出応答を受信すると、ストレージ装置２は、受信した読出データを、ホスト計算機１に送信する（Ｓ１６１０）。更に、ストレージ装置２は、受信した読出要求の処理完了を通知するための読出応答を、ホスト計算機１に送信する（Ｓ１６１１）。
【０３３７】
このとき、受信した読出要求の送信元がホスト計算機１なので、ストレージ装置２は、読出データを、当該ストレージ装置２に備わるキャッシュメモリ２６に格納する。そして、ストレージ装置２は、当該ＴＰページ読出処理を終了する。
【０３３８】
以上のように、本発明の第１の実施の形態によれば、ストレージ装置２は、一つのＴＰＬＵ２８３に、実ＬＵ２８１の記憶領域及び外部ＬＵ２８２の記憶領域の双方を割り当てることができる。
【０３３９】
（第２の実施の形態）
本発明の第２の実施の形態では、ストレージ装置２は、アクセス状況に応じて、ＴＰＬＵ２８３へ書き込み要求されたデータの格納先を、実ＬＵ２８１から外部ＬＵ２８２に変更する。同様に、ストレージ装置２は、アクセス状況に応じて、ＴＰＬＵ２８３へ書き込み要求されたデータの格納先を、外部ＬＵ２８２から実ＬＵ２８１に変更する。
【０３４０】
本発明の第２の実施の形態の計算機システムの構成は、ストレージ装置２に記憶されるマッピングテーブル２１１を除き、第１の実施の形態と同一である。同一の構成には、同一の番号を付して、説明を省略する。また、本発明の第２の実施の形態の計算機システムは、第１の実施の形態と同一の処理を実行する。同一の処理については、説明を省略する。更に、本発明の第２の実施の形態のストレージ装置２は、ページ移動処理を実行する。
【０３４１】
図２２は、本発明の第２の実施の形態のストレージ装置２に記憶されるマッピングテーブル２１１の構成図である。
【０３４２】
マッピングテーブル２１１は、ＴＰＬＵＩＤ２１１１、ＴＰページ番号２１１２、ＬＵ種別２１１３、ストレージＩＤ２１１４、ＬＵＩＤ２１１５、実ページ番号２１１６、最終アクセス時刻２１１７及びアクセス回数２１１８を含む。
【０３４３】
ＴＰＬＵＩＤ２１１１、ＴＰページ番号２１１２、ＬＵ種別２１１３、ストレージＩＤ２１１４、ＬＵＩＤ２１１５及び実ページ番号２１１６は、第１の実施の形態のマッピングテーブル２１１（図１２）に含まれるものと同一なので、説明を省略する。
【０３４４】
最終アクセス時刻２１１７は、当該レコードのＴＰＬＵＩＤ２１１１及びＴＰページ番号２１１２によって識別されるＴＰページへの最後のアクセスの日付け及び時刻を示す。アクセス回数２１１８は、当該レコードのＴＰＬＵＩＤ２１１１及びＴＰページ番号２１１２によって識別されるＴＰページへのアクセスの回数を示す。
【０３４５】
本発明の第２の実施の形態では、ストレージ装置２は、ＴＰページ書込処理（図２０Ａ及び図２０Ｂ）のステップＳ１５０１において、マッピングテーブル２１１から選択したレコードの最終アクセス時刻２１１７に現在の時刻を格納する。更に、ストレージ装置２は、マッピングテーブル２１１から選択したレコードのアクセス回数２１１８に「１」を加算する。
【０３４６】
つまり、ストレージ装置２は、ＴＰページにデータを書き込む時に、当該データが書き込まれるＴＰページに関するレコードを、マッピングテーブル２１１から選択する。そして、ストレージ装置２は、選択したレコードの最終アクセス時刻２１１７及びアクセス回数２１１８を更新する。
【０３４７】
また、本発明の第２の実施の形態では、ストレージ装置２は、ＴＰページ読出処理（図２１）のステップＳ１６０１において、マッピングテーブル２１１から選択したレコードの最終アクセス時刻２１１７に現在の時刻を格納する。更に、ストレージ装置２は、マッピングテーブル２１１から選択したレコードのアクセス回数２１１８に「１」を加算する。
【０３４８】
つまり、ストレージ装置２は、ＴＰページからデータを読み出す時に、当該データが読み出されるＴＰページに関するレコードを、マッピングテーブル２１１から選択する。そして、ストレージ装置２は、選択したレコードの最終アクセス時刻２１１７及びアクセス回数２１１８を更新する。
【０３４９】
図２３Ａ、図２３Ｂ及び図２３Ｃは、本発明の第２の実施の形態のストレージ装置２によって実行されるページ移動処理のフローチャートである。
【０３５０】
ストレージ装置２に備わるＣＰＵ２４は、ＴＰプログラム２０２を実行することによって、当該ページ移動処理を所定の間隔で実行する。
【０３５１】
まず、ストレージ装置２は、マッピングテーブル２１１に含まれるすべてのレコードを、上から順番に一つずつ選択する（Ｓ１７０１）。
【０３５２】
次に、ストレージ装置２は、選択したレコードごとに、以降の処理を実行する。
【０３５３】
ストレージ装置２は、選択したレコードから、ＬＵ種別２１１３を抽出する。次に、ストレージ装置２は、抽出したＬＵ種別２１１３が未アクセス、実ＬＵ２８１又は外部ＬＵ２８２のいずれを示すかを判定する（Ｓ１７０２）。
【０３５４】
ＬＵ種別２１１３が未アクセスを示す場合、当該選択したレコードに対応するＴＰページにはデータが書き込まれていない。よって、ストレージ装置２は、そのままステップＳ１７０８に進む。
【０３５５】
一方、ＬＵ種別２１１３が実ＬＵ２８１を示す場合、ストレージ装置２は、当該選択したレコードに対応するＴＰページに割り当てられている実ページが実ＬＵ２８１に含まれていると判定する。
【０３５６】
そこで、ストレージ装置２は、選択したレコードから、最終アクセス時刻２１１７及びアクセス回数２１１８を抽出する。次に、ストレージ装置２は、現在の時刻から、最終アクセス時刻２１１７を減算する。これによって、ストレージ装置２は、最終アクセス時刻２１１７からの経過時間を算出する。
【０３５７】
次に、ストレージ装置２は、算出した経過時間が、内部アクセス間隔閾値より大きいか否かを判定する（Ｓ１７０３）。なお、内部アクセス間隔閾値は、当該選択したレコードに対応するＴＰページへ書き込み要求されたデータを、実ＬＵ２８１から外部ＬＵ２８２へ移動するか否かを判定するための閾値である。また、内部アクセス間隔閾値は、管理者などによって予め設定される。
【０３５８】
経過時間が内部アクセス間隔閾値より大きい場合、ストレージ装置２は、ステップＳ１８０１に進む。
【０３５９】
一方、経過時間が内部アクセス間隔閾値以下の場合、ストレージ装置２は、抽出したアクセス回数２１１８を、当該ページ移動処理の実行間隔で割る。これによって、ストレージ装置２は、当該選択したレコードに対応するＴＰページへのアクセス頻度を算出する。
【０３６０】
次に、ストレージ装置２は、算出したアクセス頻度が、内部アクセス頻度閾値より小さいか否かを判定する（Ｓ１７０４）なお、内部アクセス頻度閾値は、当該選択したレコードに対応するＴＰページへ書き込み要求されたデータを、実ＬＵ２８１から外部ＬＵ２８２へ移動するか否かを判定するための閾値である。また、内部アクセス頻度閾値は、管理者などによって予め設定される。
【０３６１】
アクセス頻度が内部アクセス頻度閾値より小さい場合、ストレージ装置２は、ステップＳ１８０１に進む。
【０３６２】
一方、アクセス頻度が内部アクセス頻度閾値以上の場合、ストレージ装置２は、ステップＳ１７０１でマッピングテーブル２１１から選択したレコードのアクセス回数２１１８に「０」を格納する（Ｓ１７０７）。
【０３６３】
次に、ストレージ装置２は、マッピングテーブル２１１に含まれるすべてのレコードをステップＳ１７０１において選択したか否かを判定する（Ｓ１７０８）。マッピングテーブル２１１に含まれるレコードのいずれか一つでも選択していない場合、ストレージ装置２は、ステップＳ１７０１に戻る。そして、ストレージ装置２は、選択していないレコードを、マッピングテーブル２１１から選択し、処理を繰り返す。
【０３６４】
一方、マッピングテーブル２１１に含まれるすべてのレコードを選択した場合、ストレージ装置２は、当該ページ移動処理を終了する。
【０３６５】
一方、ステップＳ１８０１に進むと、ストレージ装置２は、ステップＳ１７０１でマッピングテーブル２１１から選択したレコードから、ＴＰＬＵＩＤ２１１１を抽出する。
【０３６６】
次に、ストレージ装置２は、抽出したＴＰＬＵＩＤ２１１１とＴＰＬＵテーブル２１０のＴＰＬＵＩＤ２１０１とが一致するレコードを、ＴＰＬＵテーブル２１０から選択する。次に、ストレージ装置２は、選択したレコードから、プールＩＤ２１０３を抽出する。これによって、ストレージ装置２は、抽出したプールＩＤ２１０３によって識別されるストレージプール２８５を、抽出したＴＰＬＵＩＤ２１１１によって識別されるＴＰＬＵ２８３に割り当てられる記憶領域を含むストレージプール２８５として特定する。
【０３６７】
次に、ストレージ装置２は、抽出したプールＩＤ２１０３と外部ＬＵテーブル２０８の割当先ＩＤ２０８６とが一致するレコードを、外部ＬＵテーブル２０８から選択する。次に、ストレージ装置２は、選択したレコードから、外部ＬＵＩＤ２０８１及びストレージＩＤ２０８４を抽出する。これによって、ストレージ装置２は、抽出したストレージＩＤ２０８４によって識別されるストレージ装置２に備わる、抽出した外部ＬＵＩＤ２０８１によって識別される外部ＬＵ２８２を、特定したストレージプール２８５に割り当てられている外部ＬＵ２８２として特定する（Ｓ１８０２）。
【０３６８】
次に、ストレージ装置２は、抽出したプールＩＤ２１０３と外部ＬＵテーブル２０８の割当先ＩＤ２０８６とが一致するレコードを、外部ＬＵテーブル２０８から選択できたか否かを判定する。これによって、ストレージ装置２は、特定したストレージプール２８５に割り当てられている外部ＬＵ２８２を特定できたか否かを判定する（Ｓ１８０３）。
【０３６９】
当該レコードを外部ＬＵテーブル２０８から選択できなかった場合、特定されたストレージプール２８５に割り当てられている外部ＬＵ２８２が存在しない。つまり、ストレージ装置２は、特定したストレージプール２８５に割り当てられている外部ＬＵ２８２を特定できない。そのため、ストレージ装置２は、マッピングテーブル２１１から選択したレコードに対応するＴＰページへ書き込み要求されたデータを、実ＬＵ２８１から外部ＬＵ２８２へ移動できない。そこで、ストレージ装置２は、そのままステップＳ１７０７に進む。
【０３７０】
一方、当該レコードを外部ＬＵテーブル２０８から選択できた場合、ストレージ装置２は、特定したストレージプール２８５に割り当てられている外部ＬＵ２８２を特定できたと判定する。そこで、ストレージ装置２は、特定した外部ＬＵ２８２に含まれる実ページの中から、未書込の実ページを特定する（Ｓ１８０４）。
【０３７１】
具体的には、ストレージ装置２は、抽出したストレージＩＤ２０８４とページテーブル２１２のストレージＩＤ２１２２とが一致するすべてのレコードを、ページテーブル２１２から選択する。次に、ストレージ装置２は、抽出した外部ＬＵＩＤ２０８１とページテーブル２１２のＬＵＩＤ２１２３とが一致するすべてのレコードを選択したレコードの中から選択する。次に、ストレージ装置２は、ページテーブル２１２の状態２１２５が未書込を示すレコードの一つを、選択したレコードの中から選択する。
【０３７２】
次に、ストレージ装置２は、当該一つのレコードをページテーブル２１２から選択できたか否かを判定する。これによって、ストレージ装置２は、特定した外部ＬＵ２８２に含まれる実ページの中から、未書込の実ページを特定できたか否かを判定する（Ｓ１８０５）。
【０３７３】
当該一つのレコードを選択できなかった場合、ストレージ装置２は、特定した外部ＬＵ２８２に含まれる実ページの中から、未書込の実ページを特定できなかったと判定する。この場合、ストレージ装置２は、マッピングテーブル２１１から選択したレコードに対応するＴＰページへ書き込み要求されたデータを、実ＬＵ２８１から外部ＬＵ２８２へ移動できない。そこで、ストレージ装置２は、そのままステップＳ１７０７に進む。
【０３７４】
一方、当該一つのレコードを選択できた場合、ストレージ装置２は、特定した外部ＬＵ２８２に含まれる実ページの中から、未書込の実ページを特定できたと判定する。
【０３７５】
そこで、ストレージ装置２は、ページテーブル２１２を更新する（Ｓ１８０６）。
【０３７６】
具体的には、ストレージ装置２は、ステップＳ１８０４でページテーブル２１２から選択した一つのレコードの状態２１２５に、書込済を示す情報を格納する。次に、ストレージ装置２は、当該選択した一つのレコードから、ストレージＩＤ２１２２、ＬＵＩＤ２１２３及び実ページ番号２１２４を抽出する。
【０３７７】
次に、ストレージ装置２は、抽出したストレージＩＤ２１２２と外部ストレージテーブル２０７のストレージＩＤ２０７１とが一致するレコードを、外部ストレージテーブル２０７から選択する。次に、ストレージ装置２は、選択したレコードから、アドレス２０７２を抽出する（Ｓ１８０７）。なお、抽出されたアドレス２０７２は、特定された未書込の実ページを含む外部ＬＵ２８２の提供元の外部のストレージ装置２のＩＰアドレスである。
【０３７８】
次に、ストレージ装置２は、ステップＳ１７０１でマッピングテーブル２１１から選択したレコードから、ＬＵＩＤ２１１５及び実ページ番号２１１６を抽出する。次に、ストレージ装置２は、抽出したＬＵＩＤ２１１５によって識別される実ＬＵ２８１に含まれる、抽出した実ページ番号２１１６によって識別される実ページからデータを読み出す（Ｓ１８０８）。
【０３７９】
次に、ストレージ装置２は、抽出した実ページ番号２１１６に基づいて、ＬＢＡ及び書込サイズを算出する。そして、ストレージ装置２は、抽出したアドレス２０７２宛てに、抽出したＬＵＩＤ２１２３、算出されたＬＢＡ及び書込サイズを含む書込要求を送信する。更に、ストレージ装置２は、抽出したアドレス２０７２宛てに、実ページから読み出したデータを書込データとして送信する。つまり、ストレージ装置２は、外部のストレージ装置２に、書込要求及び書込データを送信する（Ｓ１８０９）。これによって、ストレージ装置２は、ＴＰページへの書き込みを要求されたデータを、実ＬＵ２８１に含まれる実ページから外部ＬＵ２８２に含まれる実ページに移動する。
【０３８０】
なお、当該書込要求は、抽出したＬＵＩＤ２１２３によって識別される外部ＬＵ２８２に含まれる、抽出した実ページ番号２１２４によって識別される実ページへのデータの書き込みを要求する。
【０３８１】
外部のストレージ装置２は、書込要求及び書込データを受信する。すると、外部のストレージ装置２は、受信した書込要求から、ＬＵＩＤ２１２３、ＬＢＡ及び書込サイズを抽出する。もし、抽出したＬＵＩＤ２１２３によって識別されるＬＵが実ＬＵ２８１の場合、外部のストレージ装置２は、抽出したＬＵＩＤ２１２３によって識別されるＬＵに含まれる、抽出したＬＢＡ及び書込サイズによって識別される記憶領域に、受信した書込データを書き込む。一方、抽出したＬＵＩＤ２１２３によって識別されるＬＵがＴＰＬＵ２８３の場合、外部のストレージ装置２は、抽出したＬＢＡ及び書込サイズに基づいて、書込対象のＴＰページのページ番号を算出する。そして、外部のストレージ装置２は、抽出したＬＵＩＤ２１２３によって識別されるＬＵに含まれる、算出されたページ番号によって識別されるＴＰページに、受信した書込データを書き込む。そして、外部のストレージ装置２は、書込完了を通知するための書込応答を、書込要求の送信元のストレージ装置２に送信する。
【０３８２】
一方、ストレージ装置２は、書込要求及び書込データを送信すると、書込応答を受信したか否かを判定する（Ｓ１８１０）。
【０３８３】
書込応答を受信していない場合、ストレージ装置２は、書込応答を受信するまで待機する。そして、書込応答を受信すると、ストレージ装置２は、マッピングテーブル２１１を更新する（Ｓ１８１１）。
【０３８４】
具体的には、ストレージ装置２は、ステップＳ１７０１でマッピングテーブル２１１から選択したレコードのＬＵ種別２１１３に、外部ＬＵ２８２を示す情報を格納する。次に、ストレージ装置２は、当該選択したレコードのストレージＩＤ２１１４に、ステップＳ１８０６で抽出したストレージＩＤ２１２２を格納する。次に、ストレージ装置２は、当該選択したレコードのＬＵＩＤ２１１５に、ステップＳ１８０６で抽出したＬＵＩＤ２１２３を格納する。次に、ストレージ装置２は、当該選択したレコードの実ページ番号２１１６に、ステップＳ１８０６で抽出した実ページ番号２１２４を格納する。
【０３８５】
これによって、ストレージ装置２は、ＴＰページへの書き込みを要求されたデータの格納先を、実ＬＵ２８１に含まれる実ページから外部ＬＵ２８２に含まれる実ページに変更する。
【０３８６】
次に、ストレージ装置２は、ページテーブル２１２を更新する（Ｓ１８１２）。
【０３８７】
具体的には、ストレージ装置２は、ページテーブル２１２のストレージＩＤ２１２２に値が格納されていないすべてのレコードを、ページテーブル２１２から選択する。次に、ストレージ装置２は、ステップＳ１８０８で抽出したＬＵＩＤ２１１５とページテーブル２１２のＬＵＩＤ２１２３とが一致するレコードを、選択したレコードの中から選択する。次に、ストレージ装置２は、ステップＳ１８０８で抽出した実ページ番号２１１６とページテーブル２１２の実ページ番号２１２４とが一致するレコードを、選択したレコードの中から選択する。次に、ストレージ装置２は、選択したレコードの状態２１２５に、未書込を示す情報を格納する。
【０３８８】
これによって、ストレージ装置２は、データの移動元の実ページを未書込領域とする。そして、ストレージ装置２は、ステップＳ１７０１でマッピングテーブル２１１から選択したレコードのアクセス回数２１１８に「０」を格納する（Ｓ１７０７）。
【０３８９】
次に、ストレージ装置２は、マッピングテーブル２１１に含まれるすべてのレコードをステップＳ１７０１において選択したか否かを判定する（Ｓ１７０８）。マッピングテーブル２１１に含まれるレコードのいずれか一つでも選択していない場合、ストレージ装置２は、ステップＳ１７０１に戻る。そして、ストレージ装置２は、選択していないレコードを、マッピングテーブル２１１から選択し、処理を繰り返す。
【０３９０】
一方、マッピングテーブル２１１に含まれるすべてのレコードを選択した場合、ストレージ装置２は、当該ページ移動処理を終了する。
【０３９１】
一方、ステップＳ１７０２においてＬＵ種別２１１３が外部ＬＵ２８２を示す場合、ストレージ装置２は、当該選択したレコードに対応するＴＰページに割り当てられている実ページが外部ＬＵ２８２に含まれていると判定する。
【０３９２】
そこで、ストレージ装置２は、選択したレコードから、最終アクセス時刻２１１７及びアクセス回数２１１８を抽出する。次に、ストレージ装置２は、現在の時刻から、最終アクセス時刻２１１７を減算する。これによって、ストレージ装置２は、最終アクセス時刻２１１７からの経過時間を算出する。
【０３９３】
次に、ストレージ装置２は、算出した経過時間が、外部アクセス間隔閾値より小さいか否かを判定する（Ｓ１７０５）。なお、外部アクセス間隔閾値は、当該選択したレコードに対応するＴＰページへ書き込み要求されたデータを、外部ＬＵ２８２から実ＬＵ２８１へ移動するか否かを判定するための閾値である。また、外部アクセス間隔閾値は、管理者などによって予め設定される。
【０３９４】
経過時間が外部アクセス間隔閾値より小さい場合、ストレージ装置２は、ステップＳ１９０１に進む。
【０３９５】
一方、経過時間が外部アクセス間隔閾値以上の場合、ストレージ装置２は、抽出したアクセス回数２１１８を、当該ページ移動処理の実行間隔で割る。これによって、ストレージ装置２は、当該選択したレコードに対応するＴＰページへのアクセス頻度を算出する。
【０３９６】
次に、ストレージ装置２は、算出したアクセス頻度が、外部アクセス頻度閾値より大きいか否かを判定する（Ｓ１７０６）なお、外部アクセス頻度閾値は、当該選択したレコードに対応するＴＰページへ書き込み要求されたデータを、外部ＬＵ２８２から実ＬＵ２８１へ移動するか否かを判定するための閾値である。また、外部アクセス頻度閾値は、管理者などによって予め設定される。
【０３９７】
アクセス頻度が外部アクセス頻度閾値より大きい場合、ストレージ装置２は、ステップＳ１９０１に進む。
【０３９８】
一方、アクセス頻度が外部アクセス頻度閾値以下の場合、ストレージ装置２は、ステップＳ１７０１でマッピングテーブル２１１から選択したレコードのアクセス回数２１１８に「０」を格納する（Ｓ１７０７）。
【０３９９】
次に、ストレージ装置２は、マッピングテーブル２１１に含まれるすべてのレコードをステップＳ１７０１において選択したか否かを判定する（Ｓ１７０８）。マッピングテーブル２１１に含まれるレコードのいずれか一つでも選択していない場合、ストレージ装置２は、ステップＳ１７０１に戻る。そして、ストレージ装置２は、選択していないレコードを、マッピングテーブル２１１から選択し、処理を繰り返す。
【０４００】
一方、マッピングテーブル２１１に含まれるすべてのレコードを選択した場合、ストレージ装置２は、当該ページ移動処理を終了する。
【０４０１】
一方、ステップＳ１９０１に進むと、ストレージ装置２は、ステップＳ１７０１でマッピングテーブル２１１から選択したレコードから、ＴＰＬＵＩＤ２１１１を抽出する。
【０４０２】
次に、ストレージ装置２は、抽出したＴＰＬＵＩＤ２１１１とＴＰＬＵテーブル２１０のＴＰＬＵＩＤ２１０１とが一致するレコードを、ＴＰＬＵテーブル２１０から選択する。次に、ストレージ装置２は、選択したレコードから、プールＩＤ２１０３を抽出する。これによって、ストレージ装置２は、抽出したプールＩＤ２１０３によって識別されるストレージプール２８５を、抽出したＴＰＬＵＩＤ２１１１によって識別されるＴＰＬＵ２８３に割り当てられる記憶領域を含むストレージプール２８５として特定する。
【０４０３】
次に、ストレージ装置２は、抽出したプールＩＤ２１０３と実ＬＵテーブル２０６の割当先ＩＤ２０６４とが一致するレコードを、実ＬＵテーブル２０６から選択する。次に、ストレージ装置２は、選択したレコードから、実ＬＵＩＤ２０６１を抽出する。これによって、ストレージ装置２は、抽出した実ＬＵＩＤ２０６１によって識別される実ＬＵ２８１を、特定したストレージプール２８５に割り当てられている実ＬＵ２８１として特定する（Ｓ１９０２）。
【０４０４】
次に、ストレージ装置２は、抽出したプールＩＤ２１０３と実ＬＵテーブル２０６の割当先ＩＤ２０６４とが一致するレコードを、実ＬＵテーブル２０６から選択できたか否かを判定する。これによって、ストレージ装置２は、特定したストレージプール２８５に割り当てられている実ＬＵ２８１を特定できたか否かを判定する（Ｓ１９０３）。
【０４０５】
当該レコードを実ＬＵテーブル２０６から選択できなかった場合、特定されたストレージプール２８５に割り当てられている実ＬＵ２８１が存在しない。つまり、ストレージ装置２は、特定したストレージプール２８５に割り当てられている実ＬＵ２８１を特定できない。そのため、ストレージ装置２は、マッピングテーブル２１１から選択したレコードに対応するＴＰページへ書き込み要求されたデータを、外部ＬＵ２８２から実ＬＵ２８１へ移動できない。そこで、ストレージ装置２は、そのままステップＳ１７０７に進む。
【０４０６】
一方、当該レコードを実ＬＵテーブル２０６から選択できた場合、ストレージ装置２は、特定したストレージプール２８５に割り当てられている実ＬＵ２８１を特定できたと判定する。そこで、ストレージ装置２は、特定した実ＬＵ２８１に含まれる実ページの中から、未書込の実ページを特定する（Ｓ１９０４）。
【０４０７】
具体的には、ストレージ装置２は、ページテーブル２１２のストレージＩＤ２１２２に値が格納されていないレコードを、ページテーブル２１２から選択する。次に、ストレージ装置２は、抽出した実ＬＵＩＤ２０６１とページテーブル２１２のＬＵＩＤ２１２３とが一致するすべてのレコードを選択したレコードの中から選択する。次に、ストレージ装置２は、ページテーブル２１２の状態２１２５が未書込を示すレコードの一つを、選択したレコードの中から選択する。
【０４０８】
次に、ストレージ装置２は、当該一つのレコードをページテーブル２１２から選択できたか否かを判定する。これによって、ストレージ装置２は、特定した実ＬＵ２８１に含まれる実ページの中から、未書込の実ページを特定できたか否かを判定する（Ｓ１９０５）。
【０４０９】
当該一つのレコードを選択できなかった場合、ストレージ装置２は、特定した実ＬＵ２８１に含まれる実ページの中から、未書込の実ページを特定できなかったと判定する。この場合、ストレージ装置２は、マッピングテーブル２１１から選択したレコードに対応するＴＰページへ書き込み要求されたデータを、外部ＬＵ２８２から実ＬＵ２８１へ移動できない。そこで、ストレージ装置２は、そのままステップＳ１７０７に進む。
【０４１０】
一方、当該一つのレコードを選択できた場合、ストレージ装置２は、特定した実ＬＵ２８１に含まれる実ページの中から、未書込の実ページを特定できたと判定する。
【０４１１】
そこで、ストレージ装置２は、ページテーブル２１２を更新する（Ｓ１９０６）。
【０４１２】
具体的には、ストレージ装置２は、ステップＳ１９０４でページテーブル２１２から選択した一つのレコードの状態２１２５に、書込済を示す情報を格納する。次に、ストレージ装置２は、当該選択した一つのレコードから、ＬＵＩＤ２１２３及び実ページ番号２１２４を抽出する。
【０４１３】
次に、ストレージ装置２は、ステップＳ１７０１でマッピングテーブル２１１から選択したレコードから、ストレージＩＤ２１１４、ＬＵＩＤ２１１５及び実ページ番号２１１６を抽出する。
【０４１４】
次に、ストレージ装置２は、抽出したストレージＩＤ２１１４と外部ストレージテーブル２０７のストレージＩＤ２０７１とが一致するレコードを、外部ストレージテーブル２０７から選択する。次に、ストレージ装置２は、選択したレコードから、アドレス２０７２を抽出する（Ｓ１９０７）。なお、抽出されたアドレス２０７２は、当該ＴＰページへ書き込み要求されたデータを記憶している実ページを含む外部ＬＵ２８２を備える外部のストレージ装置２のＩＰアドレスである。
【０４１５】
次に、ストレージ装置２は、抽出した実ページ番号２１１６に基づいて、ＬＢＡ及び読出サイズを算出する。次に、ストレージ装置２は、抽出したアドレス２０７２宛てに、抽出したＬＵＩＤ２１１５、算出されたＬＢＡ及び読出サイズを含む読出要求を送信する。これによって、ストレージ装置２は、外部のストレージ装置２に、読出要求を送信する（Ｓ１９０８）。なお、当該読出要求は、抽出したＬＵＩＤ２１１５によって識別される外部ＬＵ２８２に含まれる、抽出した実ページ番号２１１６によって識別される実ページからのデータの読み出しを要求する。
【０４１６】
外部のストレージ装置２は、読出要求を受信する。すると、外部のストレージ装置２は、受信した読出要求から、ＬＵＩＤ２１１５、ＬＢＡ及び読出サイズを抽出する。もし、抽出したＬＵＩＤ２１１５によって識別されるＬＵが実ＬＵ２８１の場合、外部のストレージ装置２は、抽出したＬＵＩＤ２１１５によって識別されるＬＵに含まれる、抽出したＬＢＡ及び読出サイズによって識別される記憶領域から、データを読み出す。一方、抽出したＬＵＩＤ２１１５によって識別されるＬＵがＴＰＬＵ２８３の場合、外部のストレージ装置２は、抽出したＬＢＡ及び読出サイズに基づいて、読出対象のＴＰページのページ番号を算出する。そして、外部のストレージ装置２は、抽出したＬＵＩＤ２１１５によって識別されるＬＵに含まれる、算出されたページ番号によって識別されるＴＰページから、データを読み出す。そして、外部のストレージ装置２は、読出データを、読出要求の送信元のストレージ装置２に送信する。更に、外部のストレージ装置２は、読出完了を通知するための読出応答を、読出要求の送信元のストレージ装置２に送信する。
【０４１７】
一方、ストレージ装置２は、読出要求を送信すると、読出データ及び読出応答を受信したか否かを判定する（Ｓ１９０９）。
【０４１８】
読出データ及び読出応答のうちいずれか一方でも受信していない場合、ストレージ装置２は、読出データ及び読出応答を受信するまで待機する。そして、読出データ及び読出応答を受信すると、ストレージ装置２は、受信した読出データを、抽出したＬＵＩＤ２１２３によって識別される実ＬＵ２８１に含まれる、抽出した実ページ番号２１２４によって識別される実ページに書き込む（Ｓ１９１０）。これによって、ストレージ装置２は、ＴＰページへ書き込み要求されたデータを、外部ＬＵ２８２に含まれる実ページから実ＬＵ２８１に含まれる実ページに移動する。
【０４１９】
次に、ストレージ装置２は、マッピングテーブル２１１を更新する（Ｓ１９１１）。
【０４２０】
具体的には、ストレージ装置２は、ステップＳ１７０１でマッピングテーブル２１１から選択したレコードのＬＵ種別２１１３に、実ＬＵ２８１を示す情報を格納する。次に、ストレージ装置２は、当該選択したレコードのストレージＩＤ２１１４に格納されている値を削除する。次に、ストレージ装置２は、当該選択したレコードのＬＵＩＤ２１１５に、ステップＳ１９０６で抽出したＬＵＩＤ２１２３を格納する。次に、ストレージ装置２は、当該選択したレコードの実ページ番号２１１６に、ステップＳ１９０６で抽出した実ページ番号２１２４を格納する。
【０４２１】
これによって、ストレージ装置２は、ＴＰページへ書き込み要求されたデータの格納先を、外部ＬＵ２８２に含まれる実ページから実ＬＵ２８１に含まれる実ページに変更する。
【０４２２】
次に、ストレージ装置２は、ページテーブル２１２を更新する（Ｓ１９１２）。
【０４２３】
具体的には、ストレージ装置２は、ステップＳ１９０７で抽出したストレージＩＤ２１１４とページテーブル２１２のストレージＩＤ２１２２とが一致するすべてのレコードを、ページテーブル２１２から選択する。次に、ストレージ装置２は、ステップＳ１９０７で抽出したＬＵＩＤ２１１５とページテーブル２１２のＬＵＩＤ２１２３とが一致するレコードを、選択したレコードの中から選択する。次に、ストレージ装置２は、ステップＳ１９０７で抽出した実ページ番号２１１６とページテーブル２１２の実ページ番号２１２４とが一致するレコードを、選択したレコードの中から選択する。次に、ストレージ装置２は、選択したレコードの状態２１２５に、未書込を示す情報を格納する。
【０４２４】
これによって、ストレージ装置２は、データの移動元の実ページを未書込領域とする。そして、ストレージ装置２は、ステップＳ１７０７に進む。
【０４２５】
ストレージ装置２は、ステップＳ１７０１でマッピングテーブル２１１から選択したレコードのアクセス回数２１１８に「０」を格納する（Ｓ１７０７）。
【０４２６】
次に、ストレージ装置２は、マッピングテーブル２１１に含まれるすべてのレコードをステップＳ１７０１において選択したか否かを判定する（Ｓ１７０８）。マッピングテーブル２１１に含まれるレコードのいずれか一つでも選択していない場合、ストレージ装置２は、ステップＳ１７０１に戻る。そして、ストレージ装置２は、選択していないレコードを、マッピングテーブル２１１から選択し、処理を繰り返す。
【０４２７】
一方、マッピングテーブル２１１に含まれるすべてのレコードを選択した場合、ストレージ装置２は、当該ページ移動処理を終了する。
【０４２８】
なお、マッピングテーブル２１１の最終アクセス時刻２１１７は、読出要求による最終アクセス時刻及び書込要求による最終アクセス時刻を含んでいてもよい。また、マッピングテーブル２１１のアクセス回数２１１８は、読出要求によるアクセス回数及び書込要求によるアクセス回数を含んでいてもよい。
【０４２９】
この場合、内部アクセス間隔閾値は、読出要求用の内部アクセス間隔閾値及び書込要求用の内部アクセス間隔閾値を含む。なお、読出要求用の内部アクセス間隔閾値は、書込要求用の内部アクセス間隔閾値より大きい値に設定されると効果的である。なぜならば、ホスト計算機１は、読出要求の処理の遅延については認識するが、書込要求の処理の遅延については認識しないからである。
【０４３０】
ストレージ装置２は、ページ移動処理のステップＳ１７０３において、読出要求による最終アクセス時刻からの経過時間が、読出要求用の内部アクセス間隔閾値より大きいかどうかを判定する。更に、ストレージ装置２は、書込要求による最終アクセス時刻からの経過時間が、書込要求用の内部アクセス間隔閾値より大きいかどうかを判定する。
【０４３１】
そして、ストレージ装置２は、これら二つの判定結果に基づいて、ステップＳ１７０４又はステップＳ１８０１のいずれに進むかを決定する。
【０４３２】
また、内部アクセス頻度閾値は、読出要求用の内部アクセス頻度閾値及び書込要求用の内部アクセス頻度閾値を含む。なお、読出要求用の内部アクセス頻度閾値は、書込要求用の内部アクセス頻度閾値より小さい値に設定されると効果的である。なぜならば、ホスト計算機１は、読出要求の処理の遅延については認識するが、書込要求の処理の遅延については認識しないからである。
【０４３３】
ストレージ装置２は、ページ移動処理のステップＳ１７０４において、読出要求によるアクセス頻度が、読出要求用の内部アクセス頻度閾値より小さいかどうかを判定する。更に、ストレージ装置２は、書込要求によるアクセス頻度が、書込要求用の内部アクセス頻度閾値より小さいかどうかを判定する。
【０４３４】
そして、ストレージ装置２は、これら二つの判定結果に基づいて、ステップＳ１７０７又はステップＳ１８０１のいずれに進むかを決定する。
【０４３５】
また、外部アクセス間隔閾値は、読出要求用の外部アクセス間隔閾値及び書込要求用の外部アクセス間隔閾値を含む。なお、読出要求用の外部アクセス間隔閾値は、書込要求用の外部アクセス間隔閾値より大きい値に設定されると効果的である。なぜならば、ホスト計算機１は、読出要求の処理の遅延については認識するが、書込要求の処理の遅延については認識しないからである。
【０４３６】
ストレージ装置２は、ページ移動処理のステップＳ１７０５において、読出要求による最終アクセス時刻からの経過時間が、読出要求用の外部アクセス間隔閾値より小さいかどうかを判定する。更に、ストレージ装置２は、書込要求による最終アクセス時刻からの経過時間が、書込要求用の外部アクセス間隔閾値より小さいかどうかを判定する。
【０４３７】
そして、ストレージ装置２は、これら二つの判定結果に基づいて、ステップＳ１７０６又はステップＳ１９０１のいずれに進むかを決定する。
【０４３８】
また、外部アクセス頻度閾値は、読出要求用の外部アクセス頻度閾値及び書込要求用の外部アクセス頻度閾値を含む。なお、読出要求用の外部アクセス頻度閾値は、書込要求用の外部アクセス頻度閾値より小さい値に設定されると効果的である。なぜならば、ホスト計算機１は、読出要求の処理の遅延については認識するが、書込要求の処理の遅延については認識しないからである。
【０４３９】
ストレージ装置２は、ページ移動処理のステップＳ１７０６において、読出要求によるアクセス頻度が、読出要求用の外部アクセス頻度閾値より大きいかどうかを判定する。更に、ストレージ装置２は、書込要求によるアクセス頻度が、書込要求用の外部アクセス頻度閾値より大きいかどうかを判定する。
【０４４０】
そして、ストレージ装置２は、これら二つの判定結果に基づいて、ステップＳ１７０７又はステップＳ１９０１のいずれに進むかを決定する。
【０４４１】
以上のように、本発明の第２の実施の形態によれば、ストレージ装置２は、アクセス状況に応じて、ＴＰＬＵ２８３へ書き込みが要求されたデータの格納先を、実ＬＵ２８１から外部ＬＵ２８２に変更する。例えば、ストレージ装置２は、アクセス頻度の低いデータの格納先を、実ＬＵ２８１から外部ＬＵ２８２に変更する。
【０４４２】
また、ストレージ装置２は、アクセス状況に応じて、ＴＰＬＵ２８３へ書き込み要求されたデータの格納先を、外部ＬＵ２８２から実ＬＵ２８１に変更する。例えば、ストレージ装置２は、アクセス頻度の高いデータの格納先を、外部ＬＵ２８２から実ＬＵ２８１に変更する。
【０４４３】
これによって、ストレージ装置２は、ホスト計算機１へのレスポンスタイムを減少させることができる。
【図面の簡単な説明】
【０４４４】
【図１】本発明の第１の実施の形態の計算機システムの構成のブロック図である。
【図２】本発明の第１の実施の形態の計算機システムに備わる管理端末の構成のブロック図である。
【図３】本発明の第１の実施の形態のボリュームの説明図である。
【図４】本発明の第１の実施の形態のストレージ装置に記憶される実ＬＵテーブルの構成図である。
【図５】本発明の第１の実施の形態の管理端末に表示される実ＬＵ作成画面の説明図である。
【図６】本発明の第１の実施の形態のストレージ装置に記憶される外部ストレージテーブルの構成図である。
【図７】本発明の第１の実施の形態のストレージ装置に記憶される外部ＬＵテーブルの構成図である。
【図８】本発明の第１の実施の形態のストレージ装置に記憶されるプールテーブルの構成図である。
【図９】本発明の第１の実施の形態の管理端末に表示されるプール作成画面の説明図である。
【図１０】本発明の第１の実施の形態のストレージ装置に記憶されるＴＰＬＵテーブルの構成図である。
【図１１】本発明の第１の実施の形態の管理端末に表示されるＴＰＬＵ作成画面の説明図である。
【図１２】本発明の第１の実施の形態のストレージ装置に記憶されるマッピングテーブルの構成図である。
【図１３】本発明の第１の実施の形態のストレージ装置に記憶されるページテーブルの構成図である。
【図１４】本発明の第１の実施の形態の管理端末に記憶されるストレージテーブルの構成図である。
【図１５】本発明の第１の実施の形態のストレージ装置によって実行されるディスカバリ処理のフローチャートである。
【図１６】本発明の第１の実施の形態の計算機システムによって実行される処理の概要のシーケンス図である。
【図１７】本発明の第１の実施の形態のストレージ装置によって実行される容量不足検出処理のフローチャートである。
【図１８】本発明の第１の実施の形態のストレージ装置によって実行される外部ＬＵ作成処理のフローチャートである。
【図１９Ａ】本発明の第１の実施の形態の外部のストレージ装置によって実行されるＬＵ割当処理のフローチャートである。
【図１９Ｂ】本発明の第１の実施の形態の外部のストレージ装置によって実行されるＬＵ割当処理のフローチャートである。
【図２０Ａ】本発明の第１の実施の形態のストレージ装置によって実行されるＴＰページ書込処理のフローチャートである。
【図２０Ｂ】本発明の第１の実施の形態のストレージ装置によって実行されるＴＰページ書込処理のフローチャートである。
【図２１】本発明の第１の実施の形態のストレージ装置によって実行されるＴＰページ読出処理のフローチャートである。
【図２２】本発明の第２の実施の形態のストレージ装置に記憶されるマッピングテーブルの構成図である。
【図２３Ａ】本発明の第２の実施の形態のストレージ装置によって実行されるページ移動処理のフローチャートである。
【図２３Ｂ】本発明の第２の実施の形態のストレージ装置によって実行されるページ移動処理のフローチャートである。
【図２３Ｃ】本発明の第２の実施の形態のストレージ装置によって実行されるページ移動処理のフローチャートである。
【符号の説明】
【０４４５】
１    ホスト計算機
２    ストレージ装置
３    管理端末
５    管理ネットワーク
６    ＳＡＮ
２０    制御装置
２１    ホストＩＦ
２２    ディスクＩＦ
２３    管理ＩＦ
２４    ＣＰＵ
２５    主メモリ
２６    キャッシュメモリ
２８    ディスクドライブ
３１    ＣＰＵ
３２    主メモリ
３３    管理ＩＦ
３４    ポインティング装置
３５    入力装置
３６    出力装置
３７    ディスクドライブ
２００    不揮発性メモリ
２０１    管理端末通信プログラム
２０２    ＴＰプログラム
２０３    外部ストレージ制御プログラム
２０４    ＩＯ処理プログラム
２０５    ＬＵ割当プログラム
２０６    実ＬＵテーブル
２０７    外部ストレージテーブル
２０８    外部ＬＵテーブル
２０９    プールテーブル
２１０    ＴＰＬＵテーブル
２１１    マッピングテーブル
２１２    ページテーブル
２８１    実ＬＵ
２８２    外部ＬＵ
２８３    ＴＰＬＵ
２８５    ストレージプール
２９４    割当開始閾値
３０１    制御プログラム
３０１    ＵＩ制御プログラム
３０２    ストレージ通信プログラム
３０３    ストレージテーブル
【図１】
2009043055.tif 000003
【図２】
2009043055.tif 000004
【図３】
2009043055.tif 000005
【図４】
2009043055.tif 000006
【図５】
2009043055.tif 000007
【図６】
2009043055.tif 000008
【図７】
2009043055.tif 000009
【図８】
2009043055.tif 000010
【図９】
2009043055.tif 000011
【図１０】
2009043055.tif 000012
【図１１】
2009043055.tif 000013
【図１２】
2009043055.tif 000014
【図１３】
2009043055.tif 000015
【図１４】
2009043055.tif 000016
【図１５】
2009043055.tif 000017
【図１６】
2009043055.tif 000018
【図１７】
2009043055.tif 000019
【図１８】
2009043055.tif 000020
【図１９Ａ】
2009043055.tif 000021
【図１９Ｂ】
2009043055.tif 000022
【図２０Ａ】
2009043055.tif 000023
【図２０Ｂ】
2009043055.tif 000024
【図２１】
2009043055.tif 000025
【図２２】
2009043055.tif 000026
【図２３Ａ】
2009043055.tif 000027
【図２３Ｂ】
2009043055.tif 000028
【図２３Ｃ】
2009043055.tif 000029