(57)【要約】【課題】本発明は、簡易な構成で記憶領域を効率的に運用させ得る記憶システムを提案するものである。【解決手段】ホスト計算機から送信されたデータを動的論理ボリュームに格納する際に、当該動的論理ボリュームに所定単位ごとに記憶領域を割り当てる割当て部と、割当て部により動的論理ボリュームに割り当てられた記憶領域のうち、ファイルシステムが現在使用していると認識している記憶領域を管理する管理部と、管理部により管理されていない記憶領域を、当該動的論理ボリュームから解放する解放部とを備えるようにした。【選択図】図１５
2007257317.tif 000002
【特許請求の範囲】
【請求項１】
動的に拡張可能な動的論理ボリュームを提供するストレージシステムと、前記動的論理ボリュームに対してデータを入出力するファイルシステムを有するホスト計算機と、前記ストレージシステム及び前記ホスト計算機を管理する管理サーバとを含む記憶システムにおいて、
前記ストレージシステムは、
前記ホスト計算機から送信された前記データを前記動的論理ボリュームに格納する際に、当該動的論理ボリュームに所定単位ごとに記憶領域を割り当てる割当て部と、
前記割当て部により前記動的論理ボリュームに割り当てられた前記記憶領域のうち、前記ファイルシステムが現在使用していると認識している前記記憶領域を管理する管理部と、
前記管理部により管理されていない前記記憶領域を、当該動的論理ボリュームから解放する解放部と
を備えることを特徴とする記憶システム。
【請求項２】
前記ホスト計算機は、
前記動的論理ボリュームから前記データを読み出すデータ読出し部
を備え、
前記管理部は、
前記データ読出し部により読み出された前記データが格納されている前記記憶領域を管理する
ことを特徴とする請求項１に記載の記憶システム。
【請求項３】
前記データ読出し部は、
前記動的論理ボリュームに割り当てられている前記記憶領域から前記データ読み出した後に、同一の前記記憶領域から他の前記データを読み出さない
ことを特徴とする請求項２に記載の記憶システム。
【請求項４】
前記データ読出し部は、
前記動的論理ボリュームからすべてのメタデータ及びファイルデータを読み出す
ことを特徴とする請求項２に記載の記憶システム。
【請求項５】
前記ホスト計算機は、
前記ファイルシステムが現在使用している前記記憶領域を、前記ストレージシステムに通知する通知部
を備え、
前記管理部は、
前記通知部により通知された前記記憶領域を管理する
ことを特徴とする請求項１に記載の記憶システム。
【請求項６】
前記ホスト計算機は、
前記ファイルシステムの使用容量を取得する使用容量取得部
を備え、
前記ストレージシステムは、
前記ファイルシステムに対応する前記動的論理ボリュームに割り当てられている前記記憶領域の数を取得する記憶領域数取得部
を備え、
前記管理サーバは、
前記使用容量取得部により取得された前記ファイルシステムの使用容量及び前記記憶領域数取得部により取得された前記ファイルシステムに対応する前記動的論理ボリュームの前記記憶領域の数に基づいて、前記記憶領域を解放する前記動的論理ボリュームを決定する解放決定部
を備えることを特徴とする請求項１に記載の記憶システム。
【請求項７】
前記解放決定部は、
前記記憶領域を解放する前記動的論理ボリュームを、前記ファイルシステムの使用容量及び前記ファイルシステムに対応する前記動的論理ボリュームの前記記憶領域の数に基づく使用容量の乖離の大きい前記動的論理ボリュームに決定する
を備えることを特徴とする請求項６に記載の記憶システム。
【請求項８】
動的に拡張可能な動的論理ボリュームを提供するストレージシステムと、前記動的論理ボリュームに対してデータを入出力するファイルシステムを有するホスト計算機と、前記ストレージシステム及び前記ホスト計算機を管理する管理サーバとを含む記憶システムの記憶領域解放方法において、
前記ホスト計算機から送信された前記データを前記動的論理ボリュームに格納する際に、当該動的論理ボリュームに所定単位ごとに記憶領域を割り当てる第１のステップと、
前記第１のステップにおいて前記動的論理ボリュームに割り当てた前記記憶領域のうち、前記ファイルシステムが現在使用していると認識している前記記憶領域を管理する第２のステップと、
前記第２のステップにおいて管理していない前記記憶領域を、当該動的論理ボリュームから解放する第３のステップと
を備えることを特徴とする記憶領域解放方法。
【請求項９】
前記第２のステップでは、
前記ファイルシステムにより前記動的論理ボリュームから読み出された前記データが格納されている前記記憶領域を管理する
ことを特徴とする請求項８に記載の記憶領域解放方法。
【請求項１０】
前記第２のステップでは、
前記ファイルシステムにより前記動的論理ボリュームから読み出されたメタデータ及びファイルデータが格納されている前記記憶領域を管理する
ことを特徴とする請求項８に記載の記憶領域解放方法。
【請求項１１】
前記第２のステップでは、
前記ファイルシステムにより通知された前記記憶領域を管理する
ことを特徴とする請求項８に記載の記憶領域解放方法。
【請求項１２】
ホスト計算機から送信された前記データに対して、動的に拡張可能な動的論理ボリュームを提供するストレージシステムにおいて、
前記ホスト計算機から送信された前記データを前記動的論理ボリュームに格納する際に、当該動的論理ボリュームに所定単位ごとに記憶領域を割り当てる割当て部と、
前記割当て部により前記動的論理ボリュームに割り当てられた前記記憶領域のうち、前記ファイルシステムが現在使用していると認識している前記記憶領域を管理する管理部と、
前記管理部により管理されていない前記記憶領域を、当該動的論理ボリュームから解放する解放部と
を備えることを特徴とするストレージシステム。
【請求項１３】
前記管理部は、
前記ホスト計算機により前記動的論理ボリュームから読み出された前記データが格納されている前記記憶領域を管理する
ことを特徴とする請求項１２に記載のストレージシステム。
【請求項１４】
前記管理部は、
前記ホスト計算機により前記動的論理ボリュームから読み出されたメタデータ及びファイルデータが格納されている前記記憶領域を管理する
ことを特徴とする請求項１２に記載の記憶領域解放方法。
【請求項１５】
前記管理部は、
前記ホスト計算機により通知された前記記憶領域を管理する
ことを特徴とする請求項１２に記載のストレージシステム。
【請求項１６】
動的に拡張可能な動的論理ボリュームを提供するストレージシステムと、前記動的論理ボリュームに対してデータを入出力するファイルシステムを有するホスト計算機と、前記ストレージシステム及び前記ホスト計算機を管理する管理サーバとを含む記憶システムにおいて、
前記ホスト計算機は、
前記ファイルシステムの使用容量を取得する使用容量取得部
を備え、
前記ストレージシステムは、
前記ファイルシステムに対応する前記動的論理ボリュームに割り当てられている前記記憶領域の数を取得する記憶領域数取得部
を備え、
前記管理サーバは、
前記使用容量取得部により取得された前記ファイルシステムの使用容量及び前記記憶領域数取得部により取得された前記ファイルシステムに対応する前記動的論理ボリュームの前記記憶領域の数に基づいて、前記記憶領域を解放する前記動的論理ボリュームを決定する解放決定部
を備えることを特徴とする記憶システム。
【請求項１７】
前記解放決定部は、
前記記憶領域を解放する前記動的論理ボリュームを、前記ファイルシステムの使用容量及び前記ファイルシステムに対応する前記動的論理ボリュームの前記記憶領域の数に基づく使用容量の乖離の大きい前記動的論理ボリュームに決定する
を備えることを特徴とする請求項１６に記載の記憶システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動的に容量拡張が可能な論理ボリュームをホスト計算機に提供するストレージシステムを含む記憶システムに適用して好適なものである。
【背景技術】
【０００２】
近年、データの記憶領域をホスト計算機に提供するストレージシステムでは、非常に数多くの大容量物理ディスクを備えることが可能となり、記憶容量の大規模化が進んでいる。このようなストレージシステムでは、まず物理ディスクから、ＲＡＩＤ（Redundant Array of Independent Disks）構成されたディスクアレイを作成し、この物理的な記憶リソースを複数個集めて、プール領域を作成しておき、そのプール領域からホスト計算機が要求する容量の記憶領域を論理ボリュームとして作成し、ホスト計算機に提供する。
【０００３】
さらに近年では、プール領域から固定容量の論理ボリュームを作成せずに、まずホスト計算機に仮想的な論理ボリュームを提供し、ホスト計算機からのコマンドに応じて、その仮想的な論理ボリュームに対して、ある単位で記憶領域を、物理リソースであるプール領域から動的に割り当てることで動的に記憶容量を拡張するストレージシステムが提案されている。
【０００４】
例えば、特許文献１のストレージシステムでは、複数のディスク記憶装置から個々のホスト計算機に対応する論理ボリュームを提供し、ホスト計算機から送信された論理ボリュームへのコマンドにより、読み出しや書き込みが行われる論理ブロックアドレスを読み取り、論理ボリューム上にコマンドがアクセスした論理ブロックアドレスの記憶領域が存在しない場合、ボリューム提供装置が未使用磁気ディスク記憶装置から記憶領域を割り当て、動的に論理ボリュームの記憶領域を拡張し、アプリケーションの指示による任意量での論理ボリュームを縮小する。
【０００５】
また、特許文献２のストレージシステムでは、ホスト計算機に接続される記憶制御装置と、記憶制御装置に接続される複数の記憶装置とを有し、記憶制御装置は、ホスト計算機からのコマンドに応じて、ホスト計算機に所定の大きさの仮想ボリュームを割り当てた旨の通知を発行して、ホスト計算機から仮想ボリュームに対するコマンドを受信した際に、複数の記憶装置内に存在する記憶領域を仮想ボリュームに割り当て、ホスト計算機から受信したコマンドを、仮想ボリュームに割り当てた記憶領域を有する記憶装置宛てのコマンドに変換して、この記憶装置に変換後のコマンドを送信する。
【特許文献１】特開２００３−０１５９１５号公報
【特許文献２】特開２００５−０１１３１６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１のストレージシステムでは、ホスト計算機におけるファイルシステムのサイズを縮小した場合に発生する不要な記憶領域についてボリュームから解放するようになされているが、非連続に記憶領域に書き込まれるファイル等のデータを削除する場合に発生する不要な記憶領域についてボリュームから解放することについては開示されておらず、ボリュームに不要な記憶領域が残ったままとなるおそれがある。
【０００７】
また、特許文献２のストレージシステムでは、記憶制御装置がコマンドを監視し、上述のファイル等のデータの削除に伴うファイルシステムのメタデータを更新すると、そのメタデータが指し示す記憶領域を解放することにより、不要な記憶領域を解放するようになされているが、ホスト計算機の多様なオペレーションシステム、ファイルシステムに対応して、記憶制御装置がファイルシステムを常に監視してファイルシステムに応じた処理を行わなければならないため、記憶制御装置の構成が複雑になるといった問題がある。
【０００８】
本発明は以上の点を考慮してなされたもので、簡易な構成で記憶領域を効率的に運用させ得る記憶システム及び記憶領域解放方法並びにストレージシステムを提案するものである。
【課題を解決するための手段】
【０００９】
かかる課題を解決するために本発明においては、動的に拡張可能な動的論理ボリュームを提供するストレージシステムと、動的論理ボリュームに対してデータを入出力するファイルシステムを有するホスト計算機と、ストレージシステム及びホスト計算機を管理する管理サーバとを含む記憶システムにおいて、ストレージシステムは、ホスト計算機から送信されたデータを動的論理ボリュームに格納する際に、当該動的論理ボリュームに所定単位ごとに記憶領域を割り当てる割当て部と、割当て部により動的論理ボリュームに割り当てられた記憶領域のうち、ファイルシステムが現在使用していると認識している記憶領域を管理する管理部と、管理部により管理されていない記憶領域を、当該動的論理ボリュームから解放する解放部とを備えるようにした。
【００１０】
従って、ストレージシステムがファイルシステムの構造を理解することなく、不要な記憶領域を動的論理ボリュームから解放することができる。
【００１１】
また、本発明においては、動的に拡張可能な動的論理ボリュームを提供するストレージシステムと、動的論理ボリュームに対してデータを入出力するファイルシステムを有するホスト計算機と、ストレージシステム及びホスト計算機を管理する管理サーバとを含む記憶システムの記憶領域解放方法において、ホスト計算機から送信されたデータを動的論理ボリュームに格納する際に、当該動的論理ボリュームに所定単位ごとに記憶領域を割り当てる第１のステップと、第１のステップにおいて動的論理ボリュームに割り当てた記憶領域のうち、ファイルシステムが現在使用していると認識している記憶領域を管理する第２のステップと、第２のステップにおいて管理していない記憶領域を、当該動的論理ボリュームから解放する第３のステップとを備えるようにした。
【００１２】
従って、ストレージシステムがファイルシステムの構造を理解することなく、不要な記憶領域を動的論理ボリュームから解放することができる。
【００１３】
さらに、本発明においては、ホスト計算機から送信されたデータに対して、動的に拡張可能な動的論理ボリュームを提供するストレージシステムにおいて、ホスト計算機から送信されたデータを動的論理ボリュームに格納する際に、当該動的論理ボリュームに所定単位ごとに記憶領域を割り当てる割当て部と、割当て部により動的論理ボリュームに割り当てられた記憶領域のうち、ファイルシステムが現在使用していると認識している記憶領域を管理する管理部と、管理部により管理されていない記憶領域を、当該動的論理ボリュームから解放する解放部とを備えるようにした。
【００１４】
従って、ストレージシステムがファイルシステムの構造を理解することなく、不要な記憶領域を動的論理ボリュームから解放することができる。
【００１５】
さらに、本発明においては、動的に拡張可能な動的論理ボリュームを提供するストレージシステムと、動的論理ボリュームに対してデータを入出力するファイルシステムを有するホスト計算機と、ストレージシステム及びホスト計算機を管理する管理サーバとを含む記憶システムにおいて、ホスト計算機は、ファイルシステムの使用容量を取得する使用容量取得部を備え、ストレージシステムは、ファイルシステムに対応する動的論理ボリュームに割り当てられている記憶領域の数を取得する記憶領域数取得部を備え、管理サーバは、使用容量取得部により取得されたファイルシステムの使用容量及び記憶領域数取得部により取得されたファイルシステムに対応する動的論理ボリュームの記憶領域の数に基づいて、記憶領域を解放する動的論理ボリュームを決定する解放決定部を備えるようにした。
【００１６】
従って、記憶領域を解放する動的論理ボリュームを、動的論理ボリュームの記憶領域数に基づく使用容量に対してファイルシステムの使用容量が少ない、記憶領域の利用効率の悪い動的論理ボリュームに決定するため、一段と多くの物理記憶領域を解放することができる。
【発明の効果】
【００１７】
本発明によれば、ホスト計算機から送信されたデータを動的論理ボリュームに格納する際に、当該動的論理ボリュームに所定単位ごとに記憶領域を割り当てて、動的論理ボリュームに割り当てられた記憶領域のうち、ファイルシステムが現在使用していると認識している記憶領域を管理し、管理されていない記憶領域を、当該動的論理ボリュームから解放することにより、ストレージシステムがファイルシステムの構造を理解することなく、不要な記憶領域を動的論理ボリュームから解放することができ、かくして、簡易な構成で記憶領域を効率的に運用させ得る記憶システム及び記憶領域解放方法並びにストレージシステムを実現できる。
【００１８】
また、本発明によれば、ファイルシステムの使用容量及びファイルシステムに対応する動的論理ボリュームの記憶領域の数に基づいて、記憶領域を解放する動的論理ボリュームを決定することにより、記憶領域を解放する動的論理ボリュームを、動的論理ボリュームの記憶領域数に基づく使用容量に対してファイルシステムの使用容量が少ない、記憶領域の利用効率の悪い動的論理ボリュームに決定するため、一段と多くの物理記憶領域を解放することができ、かくして、簡易な構成で記憶領域を効率的に運用させ得る記憶システムを実現できる。
【発明を実施するための最良の形態】
【００１９】
以下図面について、本発明の一実施の形態を詳述する。
【００２０】
（１）第１の実施の形態
（１−１）第１の実施の形態による記憶システムの構成
図１は、第１の実施の形態による記憶システム１の構成図である。図示するように、記憶システム１は、１台以上のストレージシステム１１、１台以上のホスト計算機１２（以下において単に「ホスト」という）、及びＳＡＮ(Storage Area Network)管理計算機１４(以下において単に「管理サーバ」という)を有する。
【００２１】
ストレージシステム１１及びホスト１２は、１個以上のＳＡＮポート１８を有し、ＳＡＮスイッチ１３に接続することで、全体としてＳＡＮを構成している。ＳＡＮは、例えば、ファイバチャネル(Fibre Channel)と呼ばれるインタフェースで接続されている。また、ストレージシステム１１及びホスト１２は、ＦＣＰ(Fibre Channel Protocol)と呼ばれるプロトコルを用いて、コマンドやデータの送受信を行う（ストレージシステム１１及びホスト１２を総称して以下「ノード」ともいう）。
【００２２】
また、ストレージシステム１１、ホスト１２、ＳＡＮスイッチ１３及び管理サーバ１４は、ＬＡＮ（Local Area Network）スイッチ１５に接続することで、全体としてＬＡＮを構成している。
【００２３】
なお、本実施の形態では、ストレージシステム１１及びホスト１２間で用いるＳＡＮのインタフェース及びプロトコルの種類を特に限定しない。例えば、インタフェース及びプロトコルの組合せとして、イーサネット（登録商標）(Ethernet（登録商標）)とｉＳＣＳＩ(Internet Small Computer System Interface)など他の組み合わせを用いても良い。また、ストレージシステム１１及び管理サーバ１４間をＬＡＮで接続することとしたがこれも例示に過ぎず、別のインタフェースを用いても良い。
【００２４】
ホスト１２は、データベースなど何らかのアプリケーションを実行し、それらの処理に必要となるデータの入出力をストレージシステム１１に対して行うコンピュータである。
【００２５】
ストレージシステム１１は、ホスト１２に１個以上の論理記憶領域（以下、論理ボリューム又はＬＶＯＬともいう）１６を提供するシステムである。ホスト１２がストレージシステム１１へＳＣＳＩコマンドを送信すると、ストレージシステム１１は、当該コマンドに従い、ホスト１２との間でデータ転送を行う。ホスト１２から転送されたデータは、各論理ボリューム１６に対応付けられた物理記憶領域である、ハードディスク群１０５（後述）のうちの４つのハードディスクにより構成されたパリティグループ（以下、ＰＧともいう）１９に格納される。
【００２６】
なお、論理ボリューム１６は、パリティグループ１９から固定的に物理記憶領域が割り当てられる静的論理ボリューム（以下、ＳＶＯＬともいう）２０、パリティグループ１９から動的に記憶領域が割り当てられる動的論理ボリューム（以下、ＤＶＯＬともいう）２１、及びホスト１２からのコマンドによる制御指示や動的論理ボリューム２１のモード変更指示等を格納する制御論理ボリューム（以下、ＣＶＯＬともいう）２２に大別される。ただし、制御論理ボリューム２２は、共有メモリ部１０２にデータを一時的に配置するが、ハードディスクからの読み出し及び書き込みをしないため、パリティグループ１９と接続されていない。
【００２７】
ホスト１２は、例えば、ＦＣＰを用いる場合、ストレージシステム１１のＳＡＮポート１８を指定するためのポートアドレスと、ＬＵＮ(Logical Unit Number)番号とをコマンドヘッダに付加してストレージシステム１１へ発行することで、論理ボリューム１６を指定する。コマンドには、他に読み出しや書き込みといったコマンド種別を示すコマンドコード、論理ボリューム１６内での転送開始位置を示すアドレスや転送長といった情報が含まれる。
【００２８】
ストレージシステム１１は、ＳＣＳＩコマンドを受信すると、設定情報に基づきＳＡＮポート１８及びＬＵＮから論理ボリューム１６を特定し、データ転送を行う。本実施の形態では、必ずしも各ＳＡＮポート１８に論理ボリューム１６を１個以上設定する必要は無く、初期設定時において論理ボリューム１６を設定しない未使用のＳＡＮポート１８を１個以上用意するようにしても良い。図１では、Ｓ１ｄ，Ｓ１ｖのＳＡＮポート１８が未使用であることを示している。
【００２９】
なお、記憶システム１では、ＳＡＮの信頼性を高めるため、図示するようにストレージシステム１１及びホスト１２間を、複数のＳＡＮポート１８及びＳＡＮスイッチ１３で接続し、複数のＳＡＮポート１８とＬＵＮとの組み合わせを同一の論理ボリューム１６へ対応付けることで、ホスト１２から論理ボリューム１６へのアクセス経路を冗長化する。
【００３０】
ホスト１２は、冗長化した論理ボリューム１６へのアクセス経路（ポートアドレスとＬＵＮの組み合わせ）を仮想化するため、記憶領域をホストボリューム１７（以下、ＨＶＯＬともいう）という単位で管理する。ホスト１２は、アプリケーションがホストボリューム１７へアクセスすると、対応する論理ボリューム１６へのＳＣＳＩコマンドをストレージシステム１１に送信する。
【００３１】
図２は、ストレージシステム１１のハードウェア構成図である。ストレージシステム１１は、複数のホストＩ／Ｆ部１００、複数のディスクＩ／Ｆ部１０１、共有メモリ部１０２、システム管理部１０３と、それらを接続するスイッチ部１０４から構成される。ストレージシステム１１は、ディスクＩ／Ｆ部１００を介してハードディスク群１０５に接続している。ハードディスク群１０５は、論理ボリューム１６のデータを格納する部位であり、複数のハードディスクから構成される。
【００３２】
ホストＩ／Ｆ部１００は、ストレージシステム１１をＳＡＮスイッチ１３へ接続する部位であり、複数の外部Ｉ／Ｆ１０６、ポートプロセッサ１０７、及びそれらをスイッチ部１０４へ接続するための転送制御部１０８から構成される。外部Ｉ／Ｆ１０６は、ストレージシステム１１をＳＡＮに接続するＳＡＮポート１８を含み、ＳＡＮのプロトコルを制御する。ポートプロセッサ１０７は、ホスト１２からのＳＣＳＩコマンドを解析し、ＳＣＳＩコマンドの実行に必要な処理を実行する。転送制御部１０８は、外部Ｉ／Ｆ１０６やポートプロセッサ１０７と、共有メモリ部１０２、ディスクＩ／Ｆ部１０１やシステム管理部１０３との間のデータ転送や通信をスイッチ部１０４へアクセスすることで制御する。
【００３３】
ディスクＩ／Ｆ部１０１は、ストレージシステム１１とハードディスク群１０５とを接続する部位であり、ディスクＩ／Ｆ１０９、ディスクプロセッサ１１０、及びそれらをスイッチ部１０４へ接続するための転送制御部１０８から構成される。ディスクＩ／Ｆ１０１は、ストレージシステム１１をハードディスク群１０５に接続し、ハードディスク群１０５との間のプロトコルを制御する。ディスクプロセッサ１１０は、ポートプロセッサ１０７と通信を行いＳＣＳＩコマンドの処理に必要なハードディスク群１０５及び共有メモリ１０２間のデータ転送を制御する。
【００３４】
システム管理部１０３は、ストレージシステム１１をＬＡＮスイッチ１５へ接続する部位であり、管理Ｉ／Ｆ１１１、管理プロセッサ１１２、不揮発メモリ１１３及び転送制御部１０８から構成される。管理Ｉ／Ｆ１１１は、ストレージシステム１１をＬＡＮスイッチ１５へ接続し、ＬＡＮのプロトコルを制御する。例えば、イーサネット（登録商標）(Ethernet（登録商標）)のＮＩＣ（Network Interface Card）である。管理プロセッサ１１２は、管理サーバ１４と通信し、ストレージシステム１１の設定を実行する。不揮発メモリ１１３は、ストレージシステム１１の設定情報を保持する。
【００３５】
なお、本実施形態におけるストレージシステム１１のハードウェア構成は、例示であり、複数のＳＡＮポート１８と複数の論理ボリューム１６を提供可能な構成であれば、上記の構成に限るものではない。
【００３６】
図３は、ストレージシステム１１のソフトウェア構成図である。まず、各部位の実行する処理や保持するデータやテーブルについて説明する。ポートプロセッサ１０７は、論理ボリューム管理テーブル１２１（図４）及び論理ボリューム種別管理テーブル１２２（図５）を保持し、コマンド処理プログラム１２３、モード変更処理プログラム１２４、領域解放処理プログラム１２５及び動的論理ボリューム解析処理プログラム１２６を実行する。なお、コマンド処理プログラム１２３、モード変更処理プログラム１２４、領域解放処理プログラム１２５及び動的論理ボリューム解析処理プログラム１２６については、後述する。
【００３７】
共有メモリ部１０２は、論理ボリューム１６の一部のデータを保存するキャッシュデータ１３１、当該キャッシュデータ１３１と論理ボリューム１６内部との位置を対応付けるキャッシュディレクトリ１３２、動的論理ボリュームモード管理テーブル１３３（図６）、プール管理テーブル１３４（図７）及びマッピングテーブル１３５（図８）を保持する。
【００３８】
ディスクプロセッサ１１０は、ＲＡＩＤ制御プログラム１４１を実行する。ＲＡＩＤ制御プログラム１４１は、ポートプロセッサ１０７からの指示で起動され、ハードディスク群１０５へコマンドを発行し、共有メモリ部１０２との間でデータ転送を実行するプログラムである。また、ＲＡＩＤ制御プログラム１４１は、ハードディスク群１０５の複数のハードディスクを用いてＲＡＩＤ(Redundant Array of Inexpensive Disks)処理を行う。具体的には、ＲＡＩＤ制御プログラム１４１は、論理ボリューム１６におけるアドレス空間とハードディスク群１０５のアドレス空間の対応を管理し、適切なハードディスクへアクセスする。
【００３９】
管理プロセッサ１１２は、ストレージ管理プログラム１５１を実行する。ストレージ管理プログラム１５１は、ストレージシステム１１を初期化するストレージ初期化処理プログラム１５２及び管理サーバ１４からの要求に応じてストレージシステム１１の構成情報を取得ないし変更するストレージ構成管理処理プログラム１５３を含んでいる。
【００４０】
ここで、ストレージシステム１１の初期化処理について説明する。ストレージシステム１１が起動すると、管理プロセッサ１１２は、ストレージ管理プログラム１５１のストレージ処理化処理プログラム１５２を起動し、ストレージ初期化処理を実行する。ストレージ初期化処理プログラム１５２において、管理プロセッサ１１２は、不揮発メモリ１１３から設定情報を読み出し、論理ボリューム管理テーブル１２１、論理ボリューム種別管理テーブル１２２をポートプロセッサ１０７に設定し、コマンド処理プログラム１２３をポートプロセッサ１０７に、ＲＡＩＤ制御プログラム１４１をディスクプロセッサ１１０にそれぞれロードする。
【００４１】
コマンド処理プログラム１２３が起動すると、ポートプロセッサ１０７は、外部Ｉ／Ｆ１０６とキャッシュディレクトリ１３２の初期化を行い、ホスト１２からのＳＣＳＩコマンドを待つ状態に入る。ＲＡＩＤ制御プログラム１４１が起動すると、ディスクプロセッサ１１０は、ディスクＩ／Ｆ１０９を初期化し、ハードディスク群１０５へアクセスできることを確認し、ポートプロセッサ１０７からの指示を待つ状態に入り、初期化処理が完了する。
【００４２】
次に、ストレージシステム１１の構成管理処理について説明する。管理プロセッサ１１２は、管理サーバ１４からの所定の要求を管理Ｉ／Ｆ１１１から受け取るとストレージ構成管理処理を実行する。
【００４３】
ストレージ構成管理処理プログラム１５３において、管理プロセッサ１１２は、最初に管理サーバ１４からの要求の種別を判定する。当該要求が構成情報取得の場合、管理プロセッサ１１２は、要求が指定する論理ボリューム管理テーブル１２１、論理ボリューム種別管理テーブル１２２、動的論理ボリュームモード管理テーブル１３３、プール管理テーブル１３４又はマッピングテーブル１３５をポートプロセッサ１０７又は共有メモリ部１０２から取得し、管理Ｉ／Ｆ１１１を介して管理サーバ１４へ送信する。
【００４４】
当該要求が構成情報変更の場合、管理プロセッサ１１２は、要求が指定する論理ボリューム管理テーブル１２１、論理ボリューム種別管理テーブル１２２、動的論理ボリュームモード変更テーブル１３３、プール管理テーブル１３４又はマッピングテーブル１３５の変更をポートプロセッサ１０７及び不揮発メモリ１１３に対して行い、実行完了を管理Ｉ／Ｆ１１１を介して管理サーバ１４へ報告する。
【００４５】
次に、ストレージシステム１１がホスト１２からのＳＣＳＩコマンドを実行する流れを説明する。外部Ｉ／Ｆ１０６は、ホスト１２からＳＣＳＩコマンドを受信すると、ポートプロセッサ１０７へＳＣＳＩコマンドの内容を通知する。ポートプロセッサ１０７は、定期的に外部Ｉ／Ｆ１０６からの通知をポーリングしており、ＳＣＳＩコマンドの通知を検出するとコマンド処理プログラム１２３を実行する。なお、ここでは、コマンド処理プログラム１２３における概要について説明し、本発明にかかる詳細な処理については、図１３及び図１４に示しており、後述する。
【００４６】
コマンド処理プログラム１２３において、ポートプロセッサ１０７は、まずＳＣＳＩコマンドの指定するＬＵＮをキーに、論理ボリューム管理テーブル１２１からアクセス対象の論理ボリューム１６を決定する。また、ポートプロセッサ１０７は、共有メモリ部１０２のキャッシュディレクトリ１３２へアクセスし、ヒットミス判定を行う。そして、ポートプロセッサ１０７は、ホスト１２に要求されたデータがキャッシュヒットした場合は、キャッシュデータ１３１及びホスト１２間のデータ転送を外部Ｉ／Ｆ１０６に指示する。
【００４７】
これに対して、ポートプロセッサ１０７は、キャッシュミスした場合は、次のような処理を行う。読出しコマンドの場合、ポートプロセッサ１０７は、ディスクプロセッサ１１０にハードディスク群１０５とキャッシュデータ１３１の間のデータ転送を指示し、その完了後にキャッシュディレクトリ１３２を更新し、ホスト１２へのデータ転送を外部Ｉ／Ｆ１０６に指示する。書込みコマンドの場合、ポートプロセッサ１０７は、キャッシュディレクトリ１３２へアクセスし、キャッシュデータ１３１の空き領域を確保する。そして、ポートプロセッサ１０７は、確保したキャッシュデータ１３１及びホスト１２間のデータ転送を外部Ｉ／Ｆ１０６へ指示し、データ転送の完了後にキャッシュディレクトリ１３２を更新する。
【００４８】
ポートプロセッサ１０７は、周期的にディスクプロセッサ１１０にハードディスク群１０５とキャッシュデータ１３１の間のデータ転送を指示しキャッシュディレクトリ１３２に登録されたダーティなライトデータをハードディスク群１０５へ書き込む。
【００４９】
このようにして、ストレージシステム１１は、ホスト１２からのＳＣＳＩコマンドを実行する。ただし、この処理の流れは例示であり、ＳＣＳＩコマンドのＬＵＮと設定情報に基づいて、論理ボリューム１６を決定しデータ転送を行うことが可能であれば、この処理の流れに限定するものではない。
【００５０】
図４は、論理ボリューム管理テーブル１２１の構成を示す図である。論理ボリューム管理テーブル１２１は、各ＳＡＮポート１８と論理ボリューム１６との対応を保持するテーブルであり、各々がストレージシステム１１のＳＡＮポート１８に対応する複数のエントリから構成されている。
【００５１】
論理ボリューム管理テーブル１２１の各エントリは、ＳＡＮポート１８のＩＤを管理するポートＩＤ管理欄１６１と、ＳＡＮポート１８のＩＤ及び論理ボリューム管理サブテーブル１６３の対応を保持する論理ボリューム管理サブテーブルポインタ１６２とから構成されている。
【００５２】
論理ボリューム管理サブテーブル１６３は、各ＳＡＮポート１８のＬＵＮと論理ボリューム１６との対応を保持するテーブルであり、各エントリがＳＡＮポート１８のＬＵＮを管理するＬＵＮ管理欄１６４と、当該ＬＵＮ管理欄１６４に対応する論理ボリューム１６を管理するＬＶＯＬＩＤ管理欄１６５とから構成されている。
【００５３】
この場合、例えば、ポートＩＤ「Ｓ１ａ」であるＳＡＮポート１８のＬＵＮ「０」は、ＬＶＯＬＩＤ「Ｌ１」の論理ボリューム１６と対応づけられており、ＩＤ「Ｓ１ａ」であるＳＡＮポート１８のＬＵＮ「１」は、ＬＶＯＬＩＤ「Ｌ２」の論理ボリューム１６と対応づけられていることとなる。
【００５４】
図５は、論理ボリューム種別管理テーブル１２２の構成を示す図である。論理ボリューム種別管理テーブル１２２は、各々がストレージシステム１１の論理ボリューム１６に対応する複数のエントリから構成されている。
【００５５】
論理ボリューム種別管理テーブル１２２の各エントリは、論理ボリューム１６のＩＤを管理するＬＶＯＬＩＤ管理欄１７１と、論理ボリューム１６の種別を管理するＬＶＯＬ種別管理欄１７２と、論理ボリューム１６が静的論理ボリューム２０であった場合に、当該静的論理ボリューム２０に対応するパリティグループのＩＤを管理するＰＧＩＤ１７３と、論理ボリューム１６が動的論理ボリューム２１であった場合に、当該動的論理ボリューム２１のＩＤを管理するＤＶＯＬＩＤ１７４とから構成されている。
【００５６】
この場合、例えば、ＬＶＯＬＩＤ「Ｌ１」の論理ボリューム１６は、静的論理ボリューム２０であり、ＰＧＩＤ「００００」のパリティグループ１９と対応付けられており、ＬＶＯＬＩＤ「Ｌ２」の論理ボリューム１６は、動的論理ボリューム２１であり、ＤＶＯＬＩＤ「００００」の動的論理ボリューム２１と対応付けられていることとなる。
【００５７】
図６は、動的論理ボリュームモード管理テーブル１３３の構成を示す図である。動的論理ボリュームモード管理テーブル１３３は、各々がストレージシステム１１の動的論理ボリューム２１に対応する複数のエントリから構成されている。
【００５８】
動的論理ボリュームモード管理テーブル１３３の各エントリは、動的論理ボリューム２１のＩＤを管理するＤＶＯＬＩＤ管理欄１８１と、動的論理ボリューム２１のホスト１２からのＳＣＳＩコマンドに対するモードを管理するコマンド処理モード管理欄１８２とから構成されている。
【００５９】
この場合、例えば、ＤＶＯＬＩＤ「００００」の動的論理ボリューム２１は、ノーマルモードであり、ＤＶＯＬＩＤ「０００１」の動的論理ボリューム２１は、フラグ操作モードであることとなる。
【００６０】
なお、ノーマルモードとは、通常のホスト１２からのＳＣＳＩコマンドを実行するモードであり、フラグ操作モードとは、詳しくは後述するが、ホスト１２からのＳＣＳＩコマンドに従って、動的論理ボリューム２１に物理記憶領域を割り当てる割当て単位の領域を表すエクステントのアクセスフラグ管理欄１９３を「ＴＲＵＥ」に変更するモードである。
【００６１】
図７は、プール管理テーブル１３４の構成を示す図である。プール管理テーブル１３４は、各々がストレージシステム１１のパリティグループ１９に対応する複数のエントリから構成されている。なお、プール管理テーブル１３４の各行は、エクステントごとに対応するようになれている。
【００６２】
プール管理テーブル１３４の各エントリは、パリティグループ１９のＩＤを管理するＰＧＩＤ管理欄１９１と、パリティグループ１９のＬＢＡ（Logical Brock Address）の開始値を管理するＬＢＡ開始値管理欄１９２と、アクセスフラグ管理欄１９３と、割り当て状態管理欄１９４とから構成されている。
【００６３】
アクセスフラグ管理欄１９３は、上述のフラグ操作モード時において、ホスト１２からＳＣＳＩコマンドに従って、当該ＳＣＳＩコマンドが指定したデータが格納されている物理記憶領域にアクセスされたことを表すアクセスフラグが「オン」であるか、又は「オフ」であるかを管理するようになされている。
【００６４】
ここで、アクセスフラグ管理欄１９３は、当該アクセスフラグ管理欄１９３を「ＦＡＬＳＥ」又は「ＴＲＵＥ」で管理するようになされており、アクセスフラグ管理欄１９３が「ＦＡＬＳＥ」の場合には「オフ」であり、ホスト１２からのＳＣＳＩコマンドが指定したデータが格納されている物理記憶領域にアクセスされていないことを示しており、アクセスフラグ管理欄１９３が「ＴＲＵＥ」の場合には「オン」であり、ホスト１２からのＳＣＳＩコマンドが指定したデータが格納されている物理記憶領域にアクセスされたことを示している。
【００６５】
割り当て状態管理欄１９４は、エクステントごとに物理記憶領域がいずれかの動的論理ボリューム２１に割り当てられているか否かを管理するようになされている。
【００６６】
ここで、割り当て状態管理欄１９４は、割り当て状態を「割当て済」又は「空き」で管理するようになされており、割り当て状態が「割当て済」の場合には、物理記憶領域がいずれかの動的論理ボリューム２１に割り当てられていることを示しており、割り当て状態が「空き」の場合には、物理記憶領域がいずれの動的論理ボリューム２１にも割り当てられていないことを示している。
【００６７】
この場合、例えば、ＰＧＩＤ「０００１」であるパリティグループ１９のＬＢＡ開始値「０ｘ００００００００」に対応する物理記憶領域は、アクセスフラグ管理欄１９３が「ＦＡＬＳＥ」であることから、フラグ操作モード時である場合には、ＳＣＳＩコマンドが指定したデータが格納されている物理記憶領域にアクセスされておらず、割当て状態「割当て済」であることから、いずれかの動的論理ボリューム２１に割り当てられていることとなる。
【００６８】
図８は、マッピングテーブル１３５の構成を示す図である。マッピングテーブル１３５は、動的論理ボリューム２１とパリティグループ１９の物理記憶領域との対応を保持するテーブルであり、各々がストレージシステム１１の動的論理ボリューム２１に対応する複数のエントリから構成されている。なお、マッピングテーブル１３５の各行は、エクステントごとに対応するようになれている。
【００６９】
マッピングテーブル１３５の各エントリは、動的論理ボリューム２１のＩＤを管理するＤＶＯＬＩＤ管理欄２０１と、動的論理ボリューム２１のＬＢＡの開始値を管理するＤＶＯＬＬＢＡ開始値管理欄２０２と、ロックフラグ管理欄２０３と、割り当て状態管理欄２０４と、パリティグループ１９のＩＤを管理するＰＧＩＤ管理欄２０５と、パリティグループ１９のＬＢＡの開始値を管理するＰＧＬＢＡ開始値管理欄２０６とから構成されている。
【００７０】
ロックフラグ管理欄２０３は、動的論理ボリューム２１にパリティグループ１９の物理記憶領域を割り当てる際、若しくは動的論理ボリューム２１からパリティグループ１９の物理記憶領域を削除する際に、ホスト１２からＳＣＳＩコマンドに基づくデータの読書きを禁止するか否かを管理するようになされている。
【００７１】
また、ロックフラグ管理欄２０３は、ホスト１２からのＳＣＳＩコマンドに基づくデータの読書きを行う際に、動的論理ボリューム２１へのパリティグループ１９の物理記憶領域の割り当て、若しくは動的論理ボリューム２１からのパリティグループ１９の物理記憶領域の削除を禁止するか否かについても同時に管理するようになされている。
【００７２】
ここで、ロックフラグ管理欄２０３は、当該ロックフラグ管理欄２０３を「ＦＡＬＳＥ」又は「ＴＲＵＥ」で管理するようになされており、ロックフラグ管理欄２０３が「ＦＡＬＳＥ」の場合には、ホスト１２からＳＣＳＩコマンドに基づくデータの読書きが禁止されていないと共に、動的論理ボリューム２１へのパリティグループ１９の物理記憶領域の割り当て、若しくは動的論理ボリューム２１からのパリティグループ１９の物理記憶領域の削除が禁止されていないことを示している。
【００７３】
また、ロックフラグ管理欄２０３は、当該ロックフラグ管理欄２０３が「ＴＲＵＥ」の場合には、ホスト１２からＳＣＳＩコマンドに基づくデータの読書きが禁止されている、又は動的論理ボリューム２１へのパリティグループ１９の物理記憶領域の割り当て、若しくは動的論理ボリューム２１からのパリティグループ１９の物理記憶領域の削除が禁止されていることを示している。
【００７４】
割り当て状態管理欄２０４は、エクステントごとにパリティグループ１９の物理記憶領域が割り当てられているか否かを管理するようになされている。
【００７５】
ここで、割り当て状態管理欄２０４は、割り当て状態を「割当て済」又は「空き」で管理するようになされており、割り当て状態が「割当て済」の場合には、動的論理ボリューム２１にパリティグループ１９の物理記憶領域が割り当てられていることを示しており、割り当て状態が「空き」の場合には、動的論理ボリューム２１にパリティグループ１９の物理記憶領域が割り当てられていないことを示している。なお、割り当て状態管理欄２０４は、割り当て状態が「空き」の場合には、パリティグループ１９の物理記憶領域が割り当てられていないため、ＰＧＩＤ管理欄２０５及びＰＧＬＢＡ開始値管理欄２０６を「−」として管理するようになされている。
【００７６】
この場合、例えば、ＤＶＯＬＩＤ「００００」である動的論理ボリューム２１のＬＢＡ開始値「０ｘ００００００００」に対応する論理記憶領域は、ＰＧＩＤ「００００」であるパリティグループ１９のＬＢＡ開始値「０ｘ０００１００００」に対応する物理記憶領域が割り当てられており、ロックフラグ管理欄２０３が「ＴＲＵＥ」であることから、ホスト１２からＳＣＳＩコマンドに基づくデータの読書きが禁止されている、又は動的論理ボリューム２１へのパリティグループ１９の物理記憶領域の割り当て、若しくは動的論理ボリューム２１からのパリティグループ１９の物理記憶領域の削除が禁止されていることとなる。
【００７７】
図９は、ホスト１２のハードウェア構成図である。ホスト１２は、ＣＰＵ２１１、メインメモリ２１２、当該メインメモリ２１２を制御するメモリコントローラ２１３、ＨＤＤ（Hard Disk Drive）Ｉ／Ｆ２１４、ディスプレイＩ／Ｆ２１５、入力Ｉ／Ｆ２１６、１個以上のＨＢＡ（Host Bus Adapter）２１７、ネットワークＩ／Ｆ２１８と、それらを接続するバス２１９から構成される。
【００７８】
ＣＰＵ２１１は、後述する各プログラムを実行し、メインメモリ２１２はそのために必要なデータを保持する。メモリコントローラ２１３は、メインメモリ２１２を制御し、バス２１９に接続する部位である。ＨＤＤＩ／Ｆ２１４は、バス２１９とＨＤＤ２２０とを接続する部位である。ディスプレイＩ／Ｆ２１５は、バス２１９とディスプレイ装置２２１とを接続する部位である。入力Ｉ／Ｆ２１６は、バス２１９とキーボードやマウスなどの入力デバイス２２２とを接続する部位である。ＨＢＡ２１７は、ＳＡＮポート１８を含み、バス２１９とＳＡＮスイッチ１３とを接続する部位である。ネットワークＩ／Ｆ２１８は、バス２１９とＬＡＮスイッチ１５とを接続する部位である。
【００７９】
なお、上記ハードウェア構成は例示であり、１個以上のＳＡＮポート１８とＬＡＮスイッチ１５へのインタフェースを有し、後述するソフトウェアを実行可能であれば、これに限定されるものではない。
【００８０】
図１０は、ホスト１２のソフトウェア構成図である。まず、ホスト１２のＣＰＵ２１１が実行する処理や、メインメモリ２１２が保持するデータやテーブルについて説明する。ホスト１２のＣＰＵ２１１は、アプリケーション２３１、ファイルシステム２３２、ホストエージェントプログラム２３３、アクセス制御ドライバ２３４、ＬＡＮＩ／Ｆドライバ２３５を実行する。アクセス制御ドライバ２３４は、ＳＡＮスイッチ１３との間のデータやコマンドの転送を制御するドライバである。ＬＡＮＩ／Ｆドライバ２３５は、ＬＡＮスイッチ１５との間のデータやコマンドの転送を制御するドライバである。
【００８１】
ファイルシステム２３２は、アクセス要求処理プログラム２４１、デフラグ処理プログラム２４２、使用容量取得処理プログラム２４３及びブロック状態取得処理プログラム２４４を含んでいる。アクセス要求処理プログラム２４１は、ホストボリューム１７へのアクセス要求処理を実行するプログラムである。デフラグ処理プログラム２４２は、ホストボリューム１７のデフラグ処理を実行するプログラムである。なお、使用容量取得処理プログラム２４３及びブロック状態取得処理プログラム２４４については、後述する。
【００８２】
ホストエージェントプログラム２３３は、容量情報取得処理プログラム２５１及び不使用領域解放処理プログラム２５２を含んでいる。なお、容量情報取得処理プログラム２５１及び不使用領域解放処理プログラム２５２については、後述する。
【００８３】
なお、上述の各プログラムが用いるデータやテーブルは、メインメモリ２１２に保持されている。
【００８４】
ここで、アプリケーション２３１からホストボリューム１７へのアクセス要求の処理の流れを説明する。アプリケーション２３１は、ホスト１２が実行するプログラムであり、例えばデータベースなどである。アプリケーション２３１は、ファイルシステム２３２のアクセス要求処理プログラム２４１を呼び出し、ホストボリューム１７へのアクセスを要求する。アクセス要求処理プログラム２４１は、アプリケーション２３１が要求したファイルへのアクセスを、ホストボリューム１７へのアクセスへ変換するプログラムである。
【００８５】
アクセス要求処理プログラム２４１において、ＣＰＵ２１１は、アプリケーション２３１又はファイルシステム２３２から受け取ったホストボリューム１７へのアクセス要求を実行する。具体的にはＣＰＵ２１１は、メインメモリ２１２に保持されているアクセス要求処理プログラム２４１のテーブルに基づいて、論理ボリューム１６へのアクセス経路、具体的にはストレージシステム１１のポートアドレス及びＬＵＮを決定し、ＨＢＡ２１７を介してストレージシステム１１にＳＣＳＩコマンドを発行し、論理ボリューム１６へアクセスする。ＣＰＵ２１１は、ストレージシステム１１とのデータ転送が完了すると、アプリケーション２３１又はファイルシステム２３２へアクセスの完了を通知する。
【００８６】
なお、上記のアクセス要求処理の流れは例示であり、設定情報に基づいてホストボリューム１７へのアクセス要求からアクセス経路を決定し、ストレージシステム１１の論理ボリューム１６へアクセスすることが可能であれば、これに限定されるものではない。
【００８７】
図１１は、管理サーバ１４のハードウェア構成図である。管理サーバ１４は、ＣＰＵ２６１、メモリ２６２、当該メモリ２６２を制御するメモリコントローラ２６３、ＨＤＤＩ／Ｆ２６４、ディスプレイＩ／Ｆ２６５、入力Ｉ／Ｆ２６６、ＬＡＮＩ／Ｆ２６７と、それらを接続するバス２６８から構成される。
【００８８】
ＣＰＵ２６１は、後述するＳＡＮ構成管理プログラム２８１を実行し、メモリ２６２はそのために必要なデータを保持する。メモリコントローラ２６３は、メモリ２６２を制御し、バス２６８に接続する部位である。ＨＤＤＩ／Ｆ２６４は、バス２６８とＨＤＤ２６９とを接続する部位である。ディスプレイＩ／Ｆ２６５は、バス２６８とディスプレイ装置２７０とを接続する部位である。入力Ｉ／Ｆ２６６は、バス２６８とキーボードやマウスなどの入力デバイス２７１とを接続する部位である。ＬＡＮＩ／Ｆ２６７は、バス２６８とＬＡＮスイッチ１５を接続する部位である。
【００８９】
なお、上記ハードウェア構成は例示であり、ＬＡＮスイッチ１５へ接続するためのインタフェースを有し、後述するソフトウェアを実行可能であれば、これに限定するものではない。
【００９０】
図１２は、管理サーバ１４のソフトウェア構成図である。まず、管理サーバ１４のＣＰＵ２６１が実行する処理や、メモリ２６２が保持するデータについて説明する。管理サーバ１４のＣＰＵ２６１は、ＳＡＮ構成管理プログラム２８１及びＬＡＮＩ／Ｆドライバ２８２を実行する。
【００９１】
ＳＡＮ管理プログラム２４０は、動的論理ボリューム管理処理プログラム２９１を含んでいる。なお、動的論理ボリューム管理処理プログラム２９１については、後述する。
【００９２】
（１−２）第１の実施の形態によるコマンド処理
次に、第１の実施の形態における記憶システム１のコマンド処理について説明する。図１３は、この記憶システム１におけるデータ読出し時のコマンド処理に関するストレージシステム１１の具体的な処理手順を示したフローチャートである。
【００９３】
ポートプロセッサ１０７は、初期時、ホスト１２から受信したＳＣＳＩコマンドを実行するプログラムであるコマンド処理プログラム１２３を実行することにより、図１３に示すデータ読出し時におけるコマンド処理手順ＲＴ１に従って、ホスト１２からＳＣＳＩコマンドを受信すると、当該ＳＣＳＩコマンドが制御論理ボリューム２２に対する読出しコマンドであるか否かをチェックする（Ｓ１）。
【００９４】
そして、ポートプロセッサ１０７は、当該ＳＣＳＩコマンドが制御論理ボリューム２２に対する読出しコマンドである場合には（Ｓ１：ＹＥＳ）、当該読出しコマンドに基づいて、ホスト１２に送信するために取得する取得対象の情報を特定する（Ｓ２）。
【００９５】
続いて、ポートプロセッサ１０７は、取得対象の情報を格納するためのエリアを、共有メモリ部１０２内に確保する（Ｓ３）。続いて、ポートプロセッサ１０７は、共有メモリ部１０２内に格納された取得対象の情報から、ホスト１２に送信するための転送データを作成する（Ｓ４）。
【００９６】
これに対して、ポートプロセッサ１０７は、当該ＳＣＳＩコマンドが制御論理ボリューム２２に対する読出しコマンドでない場合には、（Ｓ１：ＮＯ）、ホスト１２から受信したＳＣＳＩコマンドが動的論理ボリューム２１に対する読出しコマンドであるか否かをチェックする（Ｓ５）。
【００９７】
そして、ポートプロセッサ１０７は、当該ＳＣＳＩコマンドが動的論理ボリューム２１に対する読出しコマンドである場合には（Ｓ５：ＹＥＳ）、マッピングテーブル１３５を参照して、対応するエクステントのロックフラグ管理欄２０３を「ＴＲＵＥ」に変更することにより、対応するエクステントについて、ホスト１２からＳＣＳＩコマンドに基づくデータの読書きを禁止し、動的論理ボリューム２１へのパリティグループ１９の物理記憶領域の割り当て、若しくは動的論理ボリューム２１からのパリティグループ１９の物理記憶領域の削除を禁止するように、対応するエクステントをロックする（Ｓ６）。
【００９８】
続いて、ポートプロセッサ１０７は、マッピングテーブル１３５を参照することにより、対応するエクステントにパリティグループ１９の物理記憶領域が割当て済であるか否かをチェックする（Ｓ７）。
【００９９】
そして、ポートプロセッサ１０７は、対応するエクステントにパリティグループ１９の物理記憶領域が割当て済でない場合には（Ｓ７：ＮＯ）、対応するエクステントにはデータが格納されていないため、例えば、データが格納されていない旨、又はオール「０」等でなる転送データを作成する（Ｓ８）。
【０１００】
これに対して、ポートプロセッサ１０７は、当該ＳＣＳＩコマンドが動的論理ボリューム２１に対する読出しコマンドでない場合（Ｓ５：ＮＯ）、又は対応するエクステントにパリティグループ１９の物理記憶領域が割当て済である場合（Ｓ７：ＹＥＳ）には、静的論理ボリューム２０に対する読出しコマンドであるか、又は動的論理ボリューム２１の対応するエクステントにパリティグループ１９の物理記憶領域が割り当てられており、パリティグループ１９の物理記憶領域のＬＢＡが確定しているため、当該物理記憶領域に格納されているデータが共有メモリ部１０２内にキャッシュデータ１３１として格納されているか否かをチェックする（Ｓ９）。
【０１０１】
そして、ポートプロセッサ１０７は、当該物理記憶領域に格納されているデータが共有メモリ部１０２内にキャッシュデータ１３１として格納されている場合には（キャッシュヒット）（Ｓ９：ＹＥＳ）、当該キャッシュデータ１３１を、転送データとして共有メモリ部１０２から読み出す（Ｓ１０）。
【０１０２】
これに対して、ポートプロセッサ１０７は、当該物理記憶領域に格納されているデータが共有メモリ部１０２内にキャッシュデータ１３１として格納されていない場合には（キャッシュミス）（Ｓ９：ＮＯ）、ＲＡＩＤ制御プログラムを呼び出して、ディスクプロセッサ１１０がＲＡＩＤ制御プログラムを制御することにより、当該物理記憶領域に格納されているデータを読み出して、キャッシュデータ１３１として共有メモリ部１０２内に格納し、当該キャッシュデータ１３１を、転送データとして共有メモリ部１０２から読み出す（Ｓ１１）。
【０１０３】
やがて、ポートプロセッサ１０７は、転送データをホスト１２に転送する（Ｓ１２）。
【０１０４】
続いて、ポートプロセッサ１０７は、ホスト１２から受信したＳＣＳＩコマンドが動的論理ボリューム２１に対する読出しコマンドであったか否かをチェックする（Ｓ１３）。
【０１０５】
そして、ポートプロセッサ１０７は、当該ＳＣＳＩコマンドが動的論理ボリューム２１に対する読出しコマンドであった場合には（Ｓ１３：ＹＥＳ）、動的論理ボリュームモード管理テーブル１３３を参照することにより、読出しコマンドのあった動的論理ボリューム２１がフラグ操作モードであるか否かをチェックする（Ｓ１４）。
【０１０６】
そして、ポートプロセッサ１０７は、読出しコマンドであった動的論理ボリューム２１がフラグ操作モードである場合には（Ｓ１４：ＹＥＳ）、プール管理テーブル１３４を参照して、対応するエクステントのアクセスフラグ管理欄１９３を「ＴＲＵＥ」に変更する（Ｓ１５）。
【０１０７】
続いて、ポートプロセッサ１０７は、マッピングテーブル１３５を参照して、対応するエクステントのロックフラグ管理欄２０３を「ＦＡＬＳＥ」に変更することにより、対応するエクステントについて、ホスト１２からＳＣＳＩコマンドに基づくデータの読書きの禁止を解除し、動的論理ボリューム２１へのパリティグループ１９の物理記憶領域の割り当て、若しくは動的論理ボリューム２１からのパリティグループ１９の物理記憶領域の削除の禁止を解除するように、読出し対象のエクステントをアンロックする（Ｓ１６）。
【０１０８】
やがて、ポートプロセッサ１０７は、この後、図１３に示すデータ読出し時のコマンド処理手順ＲＴ１を終了する（Ｓ１７）。
【０１０９】
図１４は、この記憶システム１におけるデータ書込み時のコマンド処理に関するストレージシステム１１の具体的な処理手順を示したフローチャートである。
【０１１０】
ポートプロセッサ１０７は、初期時、コマンド処理プログラム１２３を実行することにより、図１４に示すデータ書込み時におけるコマンド処理手順ＲＴ２に従って、ホスト１２からＳＣＳＩコマンドを受信すると、当該ＳＣＳＩコマンドが制御論理ボリューム２２に対する書込みコマンドであるか否かをチェックする（Ｓ２１）。
【０１１１】
そして、ポートプロセッサ１０７は、当該ＳＣＳＩコマンドが制御論理ボリューム２２に対する書込みコマンドである場合には（Ｓ２１：ＹＥＳ）、続いてホスト１２から送信される制御指示を格納するためのエリアを、共有メモリ部１０２内に確保する（Ｓ２２）。続いて、ポートプロセッサ１０７は、ホスト１２から送信される制御指示を格納する（Ｓ２３）。
【０１１２】
続いて、ポートプロセッサ１０７は、共有メモリ部１０２に格納された制御指示がどのような制御指示であるかを特定する（Ｓ２４）。ホスト１２から送信される制御指示としては、例えば、領域解放プログラム１２５の開始を指示する制御指示等がある。
【０１１３】
続いて、ポートプロセッサ１０７は、当該制御指示に基づいて、対応する処理の呼び出しを実行したり、対応する情報を作成したりする（Ｓ２５）。
【０１１４】
これに対して、ポートプロセッサ１０７は、当該ＳＣＳＩコマンドが制御論理ボリューム２２に対する書込みコマンドでない場合には、（Ｓ２１：ＮＯ）、ホスト１２から受信したＳＣＳＩコマンドが動的論理ボリューム２１に対する書込みコマンドであるか否かをチェックする（Ｓ２６）。
【０１１５】
そして、ポートプロセッサ１０７は、当該ＳＣＳＩコマンドが動的論理ボリューム２１に対する書込みコマンドである場合には（Ｓ２６：ＹＥＳ）、マッピングテーブル１３５を参照して、対応するエクステントのロックフラグ管理欄２０３を「ＴＲＵＥ」に変更することにより、対応するエクステントをロックする（Ｓ２７）。
【０１１６】
続いて、ポートプロセッサ１０７は、マッピングテーブル１３５を参照することにより、対応するエクステントにパリティグループ１９の物理記憶領域が割当て済であるか否かをチェックする（Ｓ２８）。
【０１１７】
そして、ポートプロセッサ１０７は、対応するエクステントにパリティグループ１９の物理記憶領域が割当て済でない場合には（Ｓ２８：ＮＯ）、当該エクステントにパリティグループ１９の物理記憶領域を割り当てる（Ｓ２９）。
【０１１８】
続いて、ポートプロセッサ１０７は、当該ＳＣＳＩコマンドが動的論理ボリューム２１に対する書込みコマンドでない場合（Ｓ２６：ＮＯ）、対応するエクステントにパリティグループ１９の物理記憶領域が割当て済である場合（Ｓ２８：ＹＥＳ）、又は対応するエクステントにパリティグループ１９の物理記憶領域が割り当てられた場合（Ｓ２９）には、静的論理ボリューム２０に対する読出しコマンドであるか、又は動的論理ボリューム２１の対応するエクステントにパリティグループ１９の物理記憶領域が割り当てられており、パリティグループ１９の物理記憶領域のＬＢＡが確定しているため、ホスト１２から送信される書込み対象のデータをキャッシュデータ１３１として、共有メモリ部１０２に格納する（Ｓ３０）。
【０１１９】
この場合、ポートプロセッサ１０７は、対応するパリティグループ１９の物理記憶領域に格納されているデータのキャッシュデータ１３１が共有メモリ部１０２に格納されている場合には、当該キャッシュデータ１３１に上書きし、対応するパリティグループ１９の物理記憶領域に格納されているデータのキャッシュデータ１３１が共有メモリ部１０２に格納されていない場合には、共有メモリ部１０２内にエリアを確保して、キャッシュデータ１３１を格納する。
【０１２０】
続いて、ポートプロセッサ１０７は、ホスト１２から受信したＳＣＳＩコマンドが動的論理ボリューム２１に対する書込みコマンドであったか否かをチェックする（Ｓ３１）。
【０１２１】
そして、ポートプロセッサ１０７は、当該ＳＣＳＩコマンドが動的論理ボリューム２１に対する書込みコマンドであった場合には（Ｓ３１：ＹＥＳ）、動的論理ボリュームモード管理テーブル１３３を参照することにより、書込みコマンドのあった動的論理ボリューム２１がフラグ操作モードであるか否かをチェックする（Ｓ３２）。
【０１２２】
そして、ポートプロセッサ１０７は、書込みコマンドのあった動的論理ボリューム２１がフラグ操作モードである場合には（Ｓ３２：ＹＥＳ）、プール管理テーブル１３４を参照して、対応するエクステントのアクセスフラグ管理欄１９３を「ＴＲＵＥ」に変更する（Ｓ３３）。
【０１２３】
続いて、ポートプロセッサ１０７は、マッピングテーブル１３５を参照して、対応するエクステントのロックフラグ管理欄２０３を「ＦＡＬＳＥ」に変更することにより、対応するエクステントをアンロックする（Ｓ３４）。
【０１２４】
やがて、ポートプロセッサ１０７は、この後、図１４に示すデータ書込み時のコマンド処理手順ＲＴ２を終了する（Ｓ３５）。
【０１２５】
（１−３）第１の実施の形態による容量情報取得処理及び不使用領域解放処理
（１−３−１）容量情報取得処理及び不使用領域解放処理の全体的な処理の流れ
次に、第１の実施の形態における記憶システム１の容量情報取得処理及び不使用領域解放処理の全体的な処理の流れについて、図１５〜図１７を参照して説明する。本実施の形態による記憶システム１では、ストレージシステム１１において、ホスト１２が現在使用していると認識しているＬＢＡを含む記憶領域を管理し、ホスト１２が現在使用していないと認識している物理記憶領域を動的論理ボリューム２１から解放することを特徴の１つとしている。
【０１２６】
図１５は、第１の実施の形態における容量情報取得処理及び不使用領域解放処理の全体的な処理の流れの内容を概略的に示した概念図である。また図１６及び図１７は、この記憶システム１における容量情報取得処理及び不使用領域解放処理の全体的な処理の流れに関するストレージシステム１１、ホスト１２及び管理サーバ１４の具体的な処理手順を示したフローチャートである。
【０１２７】
管理サーバ１４のＣＰＵ２６１は、初期時、図１６及び図１７に示す容量情報取得・不使用領域解放処理手順ＲＴ３に従って、所定のタイミングで、又は管理者等に操作されることにより、容量情報取得処理及び不使用領域解放処理を実行するプログラムである動的論理ボリューム管理処理プログラム２９１が起動されると、ホスト１２に対して「容量情報取得処理」を実行するように要求する（Ｓ４１）。
【０１２８】
ホスト１２のＣＰＵ２１１は、管理サーバ１４から「容量情報取得処理」を実行するように要求されると、使用容量取得処理を実行して、動的論理ボリューム２１に対応するファイルシステム２３２（ホストボリューム１７）について、ファイルシステム２３２ごとに使用容量を取得する（Ｓ４２）。
【０１２９】
続いて、ホスト１２のＣＰＵ２１１は、ストレージシステム１１に対して「動的論理ボリューム容量情報取得処理」を実行するように要求する（Ｓ４３）。
【０１３０】
続いて、ストレージシステム１１のポートプロセッサ１０７は、ホスト１２から、「動的論理ボリューム容量情報取得処理」を実行するように要求されると、動的論理ボリューム解析処理を実行して、動的論理ボリューム２１ごとにパリティグループ１９の物理記憶領域が割り当てられているエクステント数を取得する（Ｓ４４）。
【０１３１】
続いて、ストレージシステム１１のポートプロセッサ１０７は、取得した動的論理ボリューム２１ごとのエクステント数をホスト１２に送信する（Ｓ４５）。
【０１３２】
続いて、ホスト１２のＣＰＵ２１１は、動的論理ボリューム２１ごとのエクステント数を受信すると、対応するファイルシステム２３２ごとの使用容量と共に、管理サーバ１４に送信する（Ｓ４６）。
【０１３３】
続いて、管理サーバ１４のＣＰＵ２６１は、動的論理ボリューム２１ごとのエクステント数及び対応するファイルシステム２３２ごとの使用容量を受信すると、例えば、動的論理ボリューム２１のエクステント数に基づく使用容量と、対応するファイルシステム２３２の使用容量との差を算出し、差の大きい所定数のファイルシステム２３２を選択し、選択されたファイルシステム２３２について、ホスト１２に対して「不使用領域解放処理」を実行するように要求する（Ｓ４７）。
【０１３４】
なお、管理サーバ１４のＣＰＵ２６１は、動的論理ボリューム２１のエクステント数に基づく使用容量と、対応するファイルシステム２３２の使用容量との差を順次算出し、差の大きい順に並び換えて、ディスプレイ装置２７０に表示し、管理者等に不使用領域解放処理を実行するファイルシステム２３２を選択させることにより、選択されたファイルシステム２３２について、ホスト１２に対して「不使用領域解放処理」を実行するように要求しても良い。
【０１３５】
またなお、管理サーバ１４のＣＰＵ２６１は、動的論理ボリューム２１のエクステント数に基づく使用容量と、対応するファイルシステム２３２の使用容量との比を順次算出し、比の大きい所定数のファイルシステム２３２について、ホスト１２に対して「不使用領域解放処理」を実行するように要求しても良く、要は、動的論理ボリューム２１のエクステント数に基づく使用容量と、対応するファイルシステム２３２の使用容量との乖離の大きいファイルシステム２３２について、ホスト１２に対して「不使用領域解放処理」を実行するように要求すれば良い。
【０１３６】
続いて、ホスト１２のＣＰＵ２１１は、管理サーバ１４から「不使用領域解放処理」を実行するように要求されると、不使用領域解放処理を実行して、ストレージシステム１１に対して「モード変更処理」を実行するように要求する（Ｓ４８）。
【０１３７】
続いて、ストレージシステム１１のポートプロセッサ１０７は、ホスト１２から、「モード変更処理」を実行するように要求されると、モード変更処理を実行して、選択されたファイルシステム２３２に対応する動的論理ボリューム２１をフラグ操作モードに変更する（ＲＴ６）。
【０１３８】
続いて、ストレージシステム１１のポートプロセッサ１０７は、「モード変更処理」を完了した旨をホスト１２に送信する（Ｓ４９）。
【０１３９】
続いて、ホスト１２のＣＰＵ２１１は、「モード変更処理」を完了した旨を受信すると、解放不可エクステントアクセス処理を実行して、ファイルシステム２３２が現在データを格納しており、使用中であると認識しているＬＢＡのデータについての読出しコマンドをストレージシステム１１に対して送信し、ストレージシステム１１のポートプロセッサ１０７により、読出しコマンドに基づいて、読出し対象のデータに対応するエクステントのアクセスフラグ管理欄１９３を「ＴＲＵＥ」に変更すると共に、読出し対象のデータをホスト１２に送信させる（ＲＴ７）。
【０１４０】
続いて、ホスト１２のＣＰＵ２１１は、ファイルシステム２３２が現在認識しているＬＢＡのデータについてのデータ読み出しが終了すると、ストレージシステム１１に対して「領域解放処理」を実行するように要求する（Ｓ５０）。
【０１４１】
続いて、ストレージシステム１１のポートプロセッサ１０７は、ホスト１２から、「領域解放処理」を実行するように要求されると、領域解放処理を実行して、アクセスフラグ管理欄１９３が「ＦＡＬＳＥ」となっているエクステントに割り当てられているパリティグループ１９の物理記憶領域を解放する（ＲＴ８）。
【０１４２】
続いて、ストレージシステム１１のポートプロセッサ１０７は、解放したエクステント数をホスト１２に送信する（Ｓ５１）。
【０１４３】
続いて、ホスト１２のＣＰＵ２１１は、解放したエクステント数を受信すると、当該解放したエクステント数を管理サーバ１４に送信する（Ｓ５２）。
【０１４４】
なお、管理サーバ１４のＣＰＵ２６１は、解放したエクステント数をディスプレイ装置２７０に表示することにより、管理者等に不使用領域解放処理の結果を確認させることができるようになされている。
【０１４５】
（１−３−２）容量情報取得処理
次に、第１の実施の形態における記憶システム１の容量情報取得処理について詳細に説明する。図１８は、この記憶システム１における容量情報取得処理に関するホスト１２及びストレージシステム１１の具体的な処理手順を示したフローチャートである。
【０１４６】
ホスト１２のＣＰＵ２１１は、初期時、管理サーバ１４から「容量情報取得処理」を実行するように要求されると、ファイルシステム２３２の使用容量及び対応する動的論理ボリューム２１にパリティグループ１９の物理記憶領域が割り当てられているエクステント数を取得するプログラムである容量情報取得処理プログラム２５１を実行することにより、図１８に示す容量情報取得処理手順ＲＴ４に従って、論理ボリューム種別情報を取得する（Ｓ６１）。
【０１４７】
この場合、ホスト１２のＣＰＵ２１１は、論理ボリューム種別情報取得を指示する制御指示を作成し、当該制御指示をストレージシステム１１の共有メモリ部１０２（制御論理ボリューム２２）に送信する。
【０１４８】
ストレージシステム１１のポートプロセッサ１０７は、論理ボリューム種別情報取得を指示する制御指示に基づいて、論理ボリューム種別管理テーブル１２２を参照することにより、論理ボリューム種別情報を作成し、共有メモリ部１０２にエリアを確保して、共有メモリ部１０２に格納する。そして、ストレージシステム１１のポートプロセッサ１０７は、論理ボリューム種別情報をホスト１２のメインメモリ２１２に送信する。
【０１４９】
続いて、ホスト１２のＣＰＵ２１１は、論理ボリューム種別情報を参照することにより、論理ボリューム１６の種別が動的論理ボリューム２１であるか否かをチェックする（Ｓ６２）。
【０１５０】
そして、ホスト１２のＣＰＵ２１１は、論理ボリューム１６の種別が動的論理ボリューム２１である場合には（Ｓ６３）、ホストエージェントプログラム２３３の容量情報取得処理プログラム２５１を起動して、ファイルシステム２３２の使用容量取得処理プログラム２４３を実行することにより、ファイルシステム使用容量取得処理を実行して、ファイルシステム２３２の使用容量を取得する（Ｓ６３）。
【０１５１】
続いて、ホスト１２のＣＰＵ２１１は、当該ファイルシステム２３２に対応する動的論理ボリューム２１にパリティグループ１９の物理記憶領域が割り当てられているエクステント数を取得する（Ｓ６４）。
【０１５２】
この場合、ホスト１２のＣＰＵ２１１は、動的論理ボリューム解析処理の開始を指示する制御指示を作成し、当該制御指示をストレージシステム１１の共有メモリ部１０２（制御論理ボリューム２２）に送信する。
【０１５３】
ストレージシステム１１のポートプロセッサ１０７は、動的論理ボリューム解析処理の開始を指示する制御指示に基づいて、動的論理ボリューム解析処理プログラム１２６を実行することにより、動的論理ボリューム解析処理を実行して、動的論理ボリューム２１にパリティグループ１９の物理記憶領域が割り当てられているエクステント数を取得し、共有メモリ部１０２にエリアを確保して、当該エクステント数を共有メモリ部１０２に格納する。そして、ストレージシステム１１のポートプロセッサ１０７は、当該エクステント数をホスト１２のメインメモリ２１２に送信する。
【０１５４】
これに対して、ホスト１２のＣＰＵ２１１は、論理ボリューム１６の種別が動的論理ボリューム２１でない場合（Ｓ６２：ＮＯ）、又は当該ファイルシステム２３２に対応する動的論理ボリューム２１にパリティグループ１９の物理記憶領域が割り当てられているエクステント数を取得した場合（Ｓ６４）には、論理ボリューム種別情報におけるすべての論理ボリューム１６について、ファイルシステム使用容量取得処理及び動的論理ボリューム解析処理を実行したか否かをチェックする（Ｓ６５）。
【０１５５】
そして、ホスト１２のＣＰＵ２１１は、すべての論理ボリューム１６について、ファイルシステム使用容量取得処理及び動的論理ボリューム解析処理を実行していない場合には（Ｓ６５：ＮＯ）、この後、次の論理ボリューム１６の種別が動的論理ボリューム２１であるか否かをチェックし、（Ｓ６２）、この後同様の処理を繰り返す（Ｓ６２〜Ｓ６５−Ｓ６２）。
【０１５６】
これに対して、ホスト１２のＣＰＵ２１１は、すべての論理ボリューム１６について、ファイルシステム使用容量取得処理及び動的論理ボリューム解析処理を実行した場合には（Ｓ６５：ＹＥＳ）、取得した動的論理ボリューム２１ごとのエクステント数と、当該動的論理ボリューム２１ごとに対応するファイルシステム２３２ごとの使用容量とを管理サーバ１４に送信する（Ｓ６６）。
【０１５７】
やがて、ホスト１２のＣＰＵ２１１は、この後、図１８に示す容量情報取得処理手順ＲＴ４を終了する（Ｓ６７）。
【０１５８】
（３−３）不使用領域解放処理
次に、第１の実施の形態における記憶システム１の不使用領域解放処理について詳細に説明する。図１９は、この記憶システム１における不使用領域解放処理に関するストレージシステム１１及びホスト１２の具体的な処理手順を示したフローチャートである。
【０１５９】
ホスト１２のＣＰＵ２１１は、初期時、管理サーバ１４から「不使用領域解放処理」を実行するように要求されると、選択されたファイルシステム２３２に対応する動的論理ボリューム２１に割り当てられているパリティグループ１９の物理記憶領域について、ホスト１２が現在使用していないと認識している記憶領域を動的論理ボリューム２１から解放するプログラムである不使用領域解放処理プログラム２５２を起動することにより、図１９に示す不使用領域解放処理手順ＲＴ５に従って、ファイルシステム２３２について、デフラグ処理及びリマウント処理を実行する（Ｓ７１）。
【０１６０】
この場合、ホスト１２のＣＰＵ２１１は、ファイルシステム２３２のデフラグ処理プログラム２４２を呼び出して、当該デフラグ処理プログラム２４２を制御することにより、動的論理ボリューム２１に格納されているデータの読み出し及び書き込みを繰り返すことで、動的論理ボリューム２１に不連続に格納されているデータの不使用領域を連続化する。
【０１６１】
また、この場合、ホスト１２のＣＰＵ２１１は、ファイルシステム２３２が保持しているダーティデータであるキャッシュデータを、ストレージシステム１１に反映するため、ストレージシステム１１に送信する。
【０１６２】
続いて、ホスト１２のＣＰＵ２１１は、ストレージシステム１１から、当該ファイルシステム２３２に対応する動的論理ボリューム２１について、パーティションテーブルを取得して、当該パーティションテーブルを解析することにより、対応する動的論理ボリューム２１の先頭ＬＢＡ及び終端ＬＢＡを取得する（Ｓ７２）。
【０１６３】
この場合、パーティションテーブルについては、論理ボリュームの先頭ＬＢＡ及び終端ＬＢＡ等を管理するための情報で、一般的に論理ボリュームの先頭ブロック（「０」番のＬＢＡ）に格納されている。
【０１６４】
そこで、ホスト１２のＣＰＵ２１１は、「０」番のＬＢＡを指定して読出しコマンドを実行して、動的論理ボリューム２１からパーティションテーブルを読み込んで取得し、取得したパーティションテーブルを解析することにより、ファイルシステム２３２に対応する動的論理ボリューム２１の先頭ＬＢＡ及び終端ＬＢＡを特定する。
【０１６５】
続いて、ホスト１２のＣＰＵ２１１は、ファイルシステム２３２に対応する動的論理ボリューム２１のコマンド処理モードをノーマルモードからフラグ操作モードに変更する（Ｓ７３）。
【０１６６】
この場合、ホスト１２のＣＰＵ２１１は、モード変更処理の開始を指示する制御指示を作成し、当該制御指示をストレージシステム１１の共有メモリ部１０２（制御論理ボリューム２２）に送信する。
【０１６７】
ここで、第１の実施の形態における記憶システム１のモード変更処理について詳細に説明する。図２０は、この記憶システム１におけるモード変更処理に関するストレージシステム１１の具体的な処理手順を示したフローチャートである。
【０１６８】
ストレージシステム１１のポートプロセッサ１０７は、モード変更処理の開始を指示する制御指示であることを特定すると、動的論理ボリューム２１のコマンド処理モードをノーマルモードからフラグ操作モードに変更すると共に、アクセスフラグ管理欄１９３をリセットするプログラムであるモード変更プログラム１２４を実行することにより、図２０に示すモード変更処理手順ＲＴ６に従って、モード変更処理を実行して、当該制御指示により指定されるアクセスフラグ管理欄１９３をリセットする対象のＬＢＡ範囲から、モード変更処理を開始するエクステントを算出し、当該エクステントを、モード変更処理を開始するエクステントに設定する（Ｓ８１）。
【０１６９】
続いて、ストレージシステム１１のポートプロセッサ１０７は、マッピングテーブル１３５を参照して、設定されたエクステントのロックフラグ管理欄２０３を「ＴＲＵＥ」に変更することにより、設定されたエクステントをロックする（Ｓ８２）。
【０１７０】
続いて、ストレージシステム１１のポートプロセッサ１０７は、マッピングテーブル１３５を参照することにより、設定されたエクステントにパリティグループ１９の物理記憶領域が割当て済であるか否かをチェックする（Ｓ８３）。
【０１７１】
そして、ストレージシステム１１のポートプロセッサ１０７は、設定されたエクステントにパリティグループ１９の物理記憶領域が割当て済でない場合には（Ｓ８３：ＮＯ）、マッピングテーブル１３５を参照して、設定されたエクステントのロックフラグ管理欄２０３を「ＦＡＬＳＥ」に変更することにより、設定されたエクステントをアンロックする（Ｓ８４）。
【０１７２】
これに対して、ストレージシステム１１のポートプロセッサ１０７は、設定されたエクステントにパリティグループ１９の物理記憶領域が割当て済である場合には（Ｓ８３：ＹＥＳ）、プール管理テーブル１３４を参照することにより、設定されたエクステントのアクセスフラグを「ＦＡＬＳＥ」に変更すると共に、マッピングテーブル１３５を参照して、設定されたエクステントのロックフラグ管理欄２０３を「ＦＡＬＳＥ」に変更することにより、設定されたエクステントをアンロックする（Ｓ８５）。
【０１７３】
続いて、ストレージシステム１１のポートプロセッサ１０７は、制御指示により指定されるアクセスフラグをリセットする対象のＬＢＡ範囲のすべてのエクステントについて、ステップＳ８３〜ステップＳ８５における一連の処理を実行したか否かをチェックする（Ｓ８６）。
【０１７４】
続いて、ストレージシステム１１のポートプロセッサ１０７は、すべてのエクステントについて、ステップＳ８３〜ステップＳ８５における一連の処理を実行していない場合には（Ｓ８６：ＮＯ）、この後、エクステントを、次に一連の処理を実行するエクステントに設定し（Ｓ８７）、この後同様の処理を繰り返す（Ｓ８２〜Ｓ８６−Ｓ８７、Ｓ８２）。
【０１７５】
これに対して、ストレージシステム１１のポートプロセッサ１０７は、すべてのエクステントについて、ステップＳ８３〜ステップＳ８５における一連の処理を実行した場合には（Ｓ８６：ＹＥＳ）、動的論理ボリュームモード変更テーブル１３３を参照することにより、ファイルシステム２３２に対応する動的論理ボリューム２１に対応するコマンド処理モード管理欄１８２をノーマルモードからフラグ変更モードに変更し（Ｓ８８）、この後、図２０に示すモード変更処理手順ＲＴ６を終了する（Ｓ８９）。
【０１７６】
そして、ストレージシステム１１のポートプロセッサ１０７は、モード変更処理を完了して、ファイルシステム２３２に対応する動的論理ボリューム２１のコマンド処理モードをノーマルモードからフラグ操作モードに変更した旨をホスト１２に送信する。
【０１７７】
図１９に戻り、続いて、ホスト１２のＣＰＵ２１１は、ファイルシステム２３２に対応する動的論理ボリューム２１のコマンド処理モードをノーマルモードからフラグ操作モードに変更すると、解放不可エクステントへのアクセス処理を実行する（Ｓ７３）。
【０１７８】
ここで、第１の実施の形態における記憶システム１の解放不可エクステントアクセス処理について詳細に説明する。図２１は、この記憶システム１における解放不可エクステントアクセス処理に関するホスト１２の具体的な処理手順を示したフローチャートである。
【０１７９】
ホスト１２のＣＰＵ２１１は、初期時、図２１に示す解放不可エクステントアクセス処理手順ＲＴ７に従って、解放不可エクステントアクセス処理を実行して、パーティションテーブルを解析することにより取得したファイルシステム２３２に対応する動的論理ボリューム２１の先頭ＬＢＡを、ブロック状態取得処理を実行するＬＢＡに設定する（Ｓ９１）。
【０１８０】
ホスト１２のＣＰＵ２１１は、設定されたＬＢＡに対して、ファイルシステム２３２のブロック状態取得処理プログラム２４４を実行することにより、ブロック状態取得処理を実行して、設定されたＬＢＡが使用中であるか否か（すなわち、設定されたＬＢＡにホスト１２が認識しているデータが格納されているか否か）をチェックする（Ｓ９２）。
【０１８１】
そして、ホスト１２のＣＰＵ２１１は、設定されたＬＢＡが使用中でない場合には（Ｓ９２：ＮＯ）、ブロック状態取得処理を実行するＬＢＡを、次のＬＢＡに設定する（Ｓ９３）。
【０１８２】
これに対して、ホスト１２のＣＰＵ２１１は、設定されたＬＢＡが使用中である場合には（Ｓ９２：ＹＥＳ）、当該ＬＢＡに対応する物理記憶領域に格納されているデータの読出しを実行する（Ｓ９４）。
【０１８３】
この場合、ホスト１２のＣＰＵ２１１は、当該ＬＢＡに対応する物理記憶領域に格納されているデータの読出しコマンドをストレージシステム１１に送信する。ストレージシステム１１のポートプロセッサ１０７は、当該読出しコマンドに基づいて、設定されたＬＢＡに対応する物理記憶領域から、読出し対象のデータを読み出して、ホスト１２に送信する。
【０１８４】
このとき、ストレージシステム１１のポートプロセッサ１０７は、コマンド処理モードがフラグ操作モードであるため、プール管理テーブル１３４を参照して、読出し対象のデータが格納されているパリティグループ１９の物理記憶領域に対応するエクステントのアクセスフラグ管理欄１９３を「ＴＲＵＥ」に変更することにより、当該エクステントを解放不可エクステントとして認識するようになされている。
【０１８５】
続いて、ホスト１２のＣＰＵ２１１は、読出しコマンドに基づく読出し対象のデータを受信すると、ブロック状態取得処理を実行するＬＢＡを、次のエクステントの先頭ＬＢＡに設定する（Ｓ９５）。
【０１８６】
すなわち、ホスト１２のＣＰＵ２１１は、対応するエクステントから読出しコマンドに基づく読出し対象のデータを読み出した後に、同一のエクステントから他の読出しコマンドに基づく読出し対象のデータを読み出さないようになされている。
【０１８７】
続いて、ホスト１２のＣＰＵ２１１は、終端ＬＢＡまでブロック状態取得処理を実行したか否かをチェックする（Ｓ９６）。
【０１８８】
そして、ホスト１２のＣＰＵ２１１は、終端ＬＢＡまでブロック状態取得処理を実行していない場合には（Ｓ９６：ＮＯ）、この後、設定されたＬＢＡに対して、ブロック状態取得処理を実行して、設定されたＬＢＡが使用中であるか否かをチェックし（Ｓ９２）、この後同様の処理を繰り返す（Ｓ９２〜Ｓ９６−Ｓ９２）。
【０１８９】
これに対して、ホスト１２のＣＰＵ２１１は、終端ＬＢＡまでブロック状態取得処理を実行した場合には（Ｓ９６：ＮＯ）、この後、図２１に示す解放不可エクステントアクセス処理手順ＲＴ７を終了する（Ｓ９７）。
【０１９０】
なお、ホスト１２のＣＰＵ２１１は、例えば、ファイルシステム２３２がリナックス（LINUX）（登録商標）の場合には、inode/datablock bitmapからブロック状態を取得するようになされている。
【０１９１】
図１９に戻り、続いて、ホスト１２のＣＰＵ２１１は、解放不可エクステントへのアクセス処理を実行すると、解放すべきエクステントに対応するパリティグループ１９の物理記憶領域について、動的論理ボリューム２１から解放する（Ｓ７５）。
【０１９２】
この場合、ホスト１２のＣＰＵ２１１は、領域解放処理の開始を指示する制御指示を作成し、ストレージシステム１１の共有メモリ部１０２（制御論理ボリューム２２）に送信する。
【０１９３】
ここで、第１の実施の形態における記憶システム１の領域解放処理について詳細に説明する。図２２は、この記憶システム１における領域解放処理に関するストレージシステム１１の具体的な処理手順を示したフローチャートである。
【０１９４】
ストレージシステム１１のポートプロセッサ１０７は、領域解放処理の開始を指示する制御指示であることを特定すると、解放すべきエクステントに対応するパリティグループ１９の物理記憶領域について、動的論理ボリューム２１から解放するプログラムである領域解放処理プログラム１２５を実行することにより、図２２に示す領域解放理手順ＲＴ８（図１７）に従って、領域解放処理を実行し、当該制御指示により指定されるアクセスフラグ管理欄１９３をリセットする対象のＬＢＡ範囲から、領域解放処理を開始するエクステントを算出して、当該エクステントを、領域解放処理を開始するエクステントに設定する（Ｓ１０１）。
【０１９５】
続いて、ストレージシステム１１のポートプロセッサ１０７は、マッピングテーブル１３５を参照して、設定されたエクステントのロックフラグ管理欄２０３を「ＴＲＵＥ」に変更することにより、設定されたエクステントをロックする（Ｓ１０２）。
【０１９６】
続いて、ストレージシステム１１のポートプロセッサ１０７は、プール管理テーブル１３４を参照することにより、設定されたエクステントのアクセスフラグ管理欄１９３が「ＦＡＬＳＥ」であるか否かをチェックする（Ｓ１０３）
【０１９７】
そして、ストレージシステム１１のポートプロセッサ１０７は、設定されたエクステントのアクセスフラグ管理欄１９３が「ＦＡＬＳＥ」でない場合には（Ｓ１０３：ＮＯ）、マッピングテーブル１３５を参照して、設定されたエクステントのロックフラグ管理欄２０３を「ＦＡＬＳＥ」に変更することにより、設定されたエクステントをアンロックする（Ｓ１０４）。
【０１９８】
これに対して、ストレージシステム１１のポートプロセッサ１０７は、設定されたエクステントのアクセスフラグ管理欄１９３が「ＦＡＬＳＥ」である場合には（Ｓ１０３：ＹＥＳ）、プール管理テーブル１３４を参照して、設定されたエクステントの割当て状態管理欄１９４を割当て済から空きに変更し、マッピングテーブル１３５を参照して、設定されたエクステントの割当て状態管理欄２０４を割当て済から空きに変更し、対応するＰＧＩＤ２０５及びＰＧＬＢＡ開始値２０６を「−」に変更すると共に、設定されたエクステントのロックフラグ管理欄２０３を「ＦＡＬＳＥ」に変更することにより、設定されたエクステントをアンロックする（Ｓ１０５）。
【０１９９】
続いて、ストレージシステム１１のポートプロセッサ１０７は、制御指示により指定されるアクセスフラグ管理欄１９３をリセットする対象のＬＢＡ範囲のすべてのエクステントについて、ステップＳ１０２〜ステップＳ１０５における一連の処理を実行したか否かをチェックする（Ｓ１０６）。
【０２００】
続いて、ストレージシステム１１のポートプロセッサ１０７は、すべてのエクステントについて、ステップＳ１０２〜ステップＳ１０５における一連の処理を実行していない場合には（Ｓ１０６：ＮＯ）、この後、エクステントを、次に一連の処理を実行するエクステントに設定し（Ｓ１０７）、この後同様の処理を繰り返す（Ｓ１０２〜Ｓ１０６−Ｓ１０７、Ｓ１０２）。
【０２０１】
これに対して、ストレージシステム１１のポートプロセッサ１０７は、すべてのエクステントについて、ステップＳ１０２〜ステップＳ１０５における一連の処理を実行した場合には（Ｓ１０６：ＹＥＳ）、解放したエクステント数を当該ポートプロセッサ１０７のメモリ（図示せず）に保持すると共に、解放したエクステント数をホスト１２に送信し（Ｓ１０８）、この後、図２２に示す領域解放処理手順ＲＴ８を終了する（Ｓ１０９）。
【０２０２】
図１９に戻り、続いて、ホスト１２のＣＰＵ２１１は、解放すべきエクステントに対応するパリティグループ１９の物理記憶領域について、動的論理ボリューム２１から解放し、解放エクステント数を受信すると、当該解放エクステント数を管理サーバ１４に送信し（Ｓ７６）、この後、図１９に示す不使用領域解放処理手順ＲＴ４を終了する（Ｓ７７）。
【０２０３】
このようにして、記憶システム１では、ホスト１２からの読み出しコマンドに基づく読出し対象のデータが格納されているパリティグループ１９の物理記憶領域に対応するエクステントを解放不可エクステントとして認識し、解放不可エクステントとして認識されていないパリティグループ１９の物理記憶領域を動的論理ボリューム２１から解放することにより、ストレージシステム１１がファイルシステム２３２の構造を理解することなく、不要な物理記憶領域を動的論理ボリューム２１から解放することができる。
【０２０４】
また、記憶システム１では、動的論理ボリューム２１のエクステント数に基づく使用容量と、対応するファイルシステム２３２の使用容量との乖離の大きいファイルシステム２３２について、ホスト１２に対して「不使用領域解放処理」を実行することにより、動的論理ボリューム２１のエクステント数に基づく使用容量に対してファイルシステム２３２の使用容量が少ない、物理記憶領域の利用効率の悪いファイルシステム２３２を選択して「不使用領域解放処理」を実行することができるため、一段と多くの物理記憶領域を解放することができる。
【０２０５】
さらに、記憶システム１では、ホスト１２からの読み出しコマンドに基づく読出し対象のデータが格納されているパリティグループ１９の物理記憶領域に対応するエクステントを解放不可エクステントとして認識すると、ブロック状態取得処理を実行するＬＢＡを、次のエクステントの先頭ＬＢＡに設定することにより、解放不可エクステントとして認識したエクステントからデータの読出し処理を実行するのを未然かつ有効に防止することができ、解放領域不可エクステント処理を一段と向上させることができる。
【０２０６】
（２）第２の実施の形態
第２の実施の形態による記憶システム１は、ホスト１２のソフトウェア構成図及び解放不可エクステントアクセス処理が異なっていることを除いて、第１の実施の形態による記憶システム１と同様に構成されている。
【０２０７】
図２３は、ホスト１２のソフトウェア構成図である。第２の実施の形態によるホスト１２のソフトウェア構成図は、ブロック状態取得処理２４４が備えていないことと、メタデータレイアウト情報３０１が追加されていることを除いて、第１の実施の形態によるホスト１２のソフトウェア構成図と同様に構成されている。メタデータレイアウト情報３０１は、ファイルシステム２３２のメタデータがどこに格納されているかを示す情報である。
【０２０８】
次に、第２の実施の形態における記憶システム１の解放不可エクステントアクセス処理について詳細に説明する。図２３は、この記憶システム１における解放不可エクステントアクセス処理に関するホスト１２の具体的な処理手順を示したフローチャートである。
【０２０９】
ホスト１２のＣＰＵ２１１は、初期時、図２３に示す解放不可エクステントアクセス処理手順ＲＴ９に従って、解放不可エクステントアクセス処理を実行して、パーティションテーブルを解析することにより取得したファイルシステム２３２に対応する動的論理ボリューム２１の先頭ＬＢＡ及び容量及びメタデータレイアウト情報３０１から、メタデータのレイアウトを解析して、メタデータレイアウトを確定する（Ｓ１１１）。なお、ホスト１２のＣＰＵ２１１は、メタデータの読み出しを実行しないとメタデータのレイアウトを解析することができない場合には、そのまま、次のステップに進む。
【０２１０】
続いて、ホスト１２のＣＰＵ２１１は、確定されたメタデータレイアウトからＬＢＡを取得して、当該ＬＢＡに対応する動的論理ボリューム２１に割り当てられたパリティグループ１９の物理記憶領域に格納されているメタデータの読出しを実行する（Ｓ１１２）。
【０２１１】
この場合、ホスト１２のＣＰＵ２１１は、対応するメタデータの読出しコマンドをストレージシステム１１に送信する。ストレージシステム１１のポートプロセッサ１０７は、当該読出しコマンドに基づいて、ＬＢＡのブロックに対応する動的論理ボリューム２１に割り当てられたパリティグループ１９の物理記憶領域から、読出し対象のメタデータを読み出して、ホスト１２に送信する。このとき、ストレージシステム１１のポートプロセッサ１０７は、コマンド処理モードがフラグ操作モードであるため、物理記憶領域に対応するエクステントを解放不可エクステントとして認識するようになされている。
【０２１２】
続いて、ホスト１２のＣＰＵ２１１は、確定されたメタデータレイアウトのすべてのメタデータについて、読出しコマンドを実行したか否かをチェックする（Ｓ１１３）。
【０２１３】
そして、ホスト１２のＣＰＵ２１１は、確定されたメタデータレイアウトのすべてのメタデータについて、読出しコマンドを実行していない場合には（Ｓ１１３：ＮＯ）、次のメＬＢＡを取得して、当該ＬＢＡに対応する動的論理ボリューム２１に割り当てられたパリティグループ１９の物理記憶領域に格納されているメタデータの読出しコマンドを実行する（Ｓ１１２）。
【０２１４】
これに対して、ホスト１２のＣＰＵ２１１は、確定されたメタデータレイアウトのすべてのメタデータについて、読出しコマンドを実行した場合には（Ｓ１１３：ＹＥＳ）、動的論理ボリューム２１に格納されているすべてのファイルデータの読出しを実行する（Ｓ１１４）。
【０２１５】
この場合、ホスト１２のＣＰＵ２１１は、対応するファイルデータの読出しコマンドをストレージシステム１１に送信する。ストレージシステム１１のポートプロセッサ１０７は、当該読出しコマンドに基づいて、動的論理ボリューム２１に格納されているすべてのファイルデータを読み出して、ホスト１２に送信する。このとき、ストレージシステム１１のポートプロセッサ１０７は、コマンド処理モードがフラグ操作モードであるため、ファイルデータが格納されている物理記憶領域に対応するエクステントを解放不可エクステントとして認識するようになされている。
【０２１６】
続いて、ホスト１２のＣＰＵ２１１は、動的論理ボリューム２１に格納されている、例えば、ジャーナル等のファイルデータではないが、動的論理ボリューム２１に格納されているすべての必要なデータの読出しを実行する（Ｓ１１５）。
【０２１７】
この場合、ホスト１２のＣＰＵ２１１は、対応する必要なデータの読出しコマンドをストレージシステム１１に送信する。ストレージシステム１１のポートプロセッサ１０７は、当該読出しコマンドに基づいて、動的論理ボリューム２１に格納されているすべての必要なデータを読み出して、ホスト１２に送信する。このとき、ストレージシステム１１のポートプロセッサ１０７は、コマンド処理モードがフラグ操作モードであるため、必要なデータが格納されている物理記憶領域に対応するエクステントを解放不可エクステントとして認識するようになされている。
【０２１８】
続いて、ホスト１２のＣＰＵ２１１は、この後、図２３に示す解放不可エクステントアクセス処理手順ＲＴ９を終了する（Ｓ１１６）。
【０２１９】
このようにして、記憶システム１では、ファイルシステム２３２が動的論理ボリューム２１に格納しているメタデータ及びファイルデータを読み出して、当該メタデータ及びファイルデータが格納されている物理記憶領域に対応するエクステントを解放不可エクステントとして認識し、解放不可エクステントとして認識されていないパリティグループ１９の物理記憶領域を動的論理ボリューム２１から解放することにより、第１の実施の形態のようにブロック状態処理プログラム２４４という特殊な処理プログラムを追加せず、通常のファイルシステム２３２に依存してメタデータ及びファイルデータを読み出すため、一段と簡易な構成で、不要な物理記憶領域を動的論理ボリューム２１から解放することができる。
【０２２０】
（３）第３の実施の形態
第３の実施の形態による記憶システム１は、解放不可エクステントアクセス処理が異なっていることを除いて、第１の実施の形態による記憶システム１と同様に構成されている。
【０２２１】
図２５は、第３の実施の形態における容量情報取得処理及び不使用領域解放処理の全体的な処理の流れの内容を概略的に示した概念図である。ここで、第３の実施の形態における記憶システム１の解放不可エクステントアクセス処理について詳細に説明する。図２６は、この記憶システム１における解放不可エクステントアクセス処理に関するホスト１２の具体的な処理手順を示したフローチャートである。
【０２２２】
ホスト１２のＣＰＵ２１１は、初期時、図２６に示す解放不可エクステントアクセス処理手順ＲＴ１０に従って、解放不可エクステントアクセス処理を実行して、第１の実施の形態による解放不可エクステントアクセス処理手順ＲＴ７のステップＳ９１〜ステップＳ９３と同様の処理を実行する（Ｓ１２１〜Ｓ１２３）。
【０２２３】
これに対して、ホスト１２のＣＰＵ２１１は、設定されたＬＢＡが使用中である場合には（Ｓ１２２：ＹＥＳ）、当該ＬＢＡをストレージシステム１１に通知する（Ｓ１２４）。
【０２２４】
この場合、ホスト１２のＣＰＵ２１１は、設定されたＬＢＡの通知を指示する制御指示を作成し、当該制御指示を共有メモリ部１０２（制御論理ボリューム２２）に送信する。
【０２２５】
ストレージシステム１１のポートプロセッサ１０７は、当該制御指示に基づいて、プール管理テーブル１３４を参照して、設定されたＬＢＡに対応するエクステントのアクセスフラグ管理欄１９３を「ＴＲＵＥ」に変更することにより、当該エクステントを解放不可エクステントとして認識するようになされている。
【０２２６】
続いて、ホスト１２のＣＰＵ２１１は、第１の実施の形態による解放不可エクステントアクセス処理手順ＲＴ７のステップＳ９５〜ステップＳ９６と同様の処理を実行し（Ｓ１２５〜Ｓ１２６）、この後、図２６に示す解放不可エクステントアクセス処理手順ＲＴ１０を終了する（Ｓ１２７）。
【０２２７】
このようにして、記憶システム１では、設定されたＬＢＡが使用中である場合には、当該ＬＢＡをストレージシステム１１に通知して、設定されたＬＢＡに対応するエクステントを解放不可エクステントとして認識し、解放不可エクステントとして認識されていないパリティグループ１９の物理記憶領域を動的論理ボリューム２１から解放することにより、ＬＢＡに対応する物理記憶領域に格納されているデータの読出しを実行する代わりに、設定されたＬＢＡをストレージシステム１１に通知することで、データの読出しに伴ってＳＡＮネットワークの帯域を圧迫することなく、不要な物理記憶領域を動的論理ボリューム２１から解放することができる。
【産業上の利用可能性】
【０２２８】
本発明は、動的に容量拡張が可能な論理ボリュームをホスト計算機に提供するストレージシステムを含む記憶システムに適用することができる。
【図面の簡単な説明】
【０２２９】
【図１】第１の実施の形態による記憶システムの構成を示す略線図である。
【図２】ストレージシステムのハードウェア構成を示す略線図である。
【図３】ストレージシステムのソフトウェア構成を示す略線図である。
【図４】論理ボリューム管理テーブルの説明に供する概念図である。
【図５】論理ボリューム種別管理テーブルの説明に供する概念図である。
【図６】動的論理ボリュームモード管理テーブルの説明に供する概念図である。
【図７】プール管理テーブルの説明に供する概念図である。
【図８】マッピングテーブルの説明に供する概念図である。
【図９】ホストのハードウェア構成を示す略線図である。
【図１０】第１の実施の形態によるホストのソフトウェア構成を示す略線図である。
【図１１】管理サーバのハードウェア構成を示す略線図である。
【図１２】管理サーバのソフトウェア構成を示す略線図である。
【図１３】データ読出し時のコマンド処理の説明に供するフローチャートである。
【図１４】データ書込み時のコマンド処理の説明に供するフローチャートである。
【図１５】第１の実施の形態における容量情報取得処理及び不使用領域解放処理の全体的な処理の流れの内容を概略的に示した概念図である。
【図１６】容量情報取得処理及び不使用領域解放処理の全体的な処理の流れの説明に供するフローチャートである。
【図１７】容量情報取得処理及び不使用領域解放処理の全体的な処理の流れの説明に供するフローチャートである。
【図１８】容量情報取得処理の説明に供するフローチャートである。
【図１９】不使用領域解放処理の説明に供するフローチャートである。
【図２０】モード変更処理の説明に供するフローチャートである。
【図２１】第１の実施の形態における解放不可エクステントアクセス処理の説明に供するフローチャートである。
【図２２】領域解放処理の説明に供するフローチャートである。
【図２３】第２の実施の形態によるホストのソフトウェア構成を示す略線図である。
【図２４】第２の実施の形態における解放不可エクステントアクセス処理の説明に供するフローチャートである。
【図２５】第１の実施の形態における容量情報取得処理及び不使用領域解放処理の全体的な処理の流れの内容を概略的に示した概念図である。
【図２６】第２の実施の形態における解放不可エクステントアクセス処理の説明に供するフローチャートである。
【符号の説明】
【０２３０】
１……記憶システム、１１……ストレージシステム、１２……ホスト、１４……管理サーバ、１６……論理ボリューム、１９……パリティグループ、２１……動的論理ボリューム、１０７……ポートプロセッサ、１２１……論理ボリューム管理テーブル、１２２……論理ボリューム種別管理テーブル、１２４……モード変更処理プログラム、１２５……領域解放処理プログラム、１２６……動的論理ボリューム解析処理プログラム、１３３……動的論理ボリュームモード管理テーブル、１３４……プール管理テーブル、１３５……マッピングテーブル、１９３……アクセスフラグ管理欄、２０３……ロックフラグ管理欄、２１１…ＣＰＵ、２３２……ファイルシステム、２４３……使用容量取得処理プログラム、２４４……ブロック状態取得処理プログラム、２５１……容量情報取得処理プログラム、２５２……不使用領域解放処理プログラム、２６１……ＣＰＵ、２９１……動的論理ボリューム管理処理プログラム、３０１……メタデータレイアウト情報
【図１】
2007257317.tif 000003
【図２】
2007257317.tif 000004
【図３】
2007257317.tif 000005
【図４】
2007257317.tif 000006
【図５】
2007257317.tif 000007
【図６】
2007257317.tif 000008
【図７】
2007257317.tif 000009
【図８】
2007257317.tif 000010
【図９】
2007257317.tif 000011
【図１０】
2007257317.tif 000012
【図１１】
2007257317.tif 000013
【図１２】
2007257317.tif 000014
【図１３】
2007257317.tif 000015
【図１４】
2007257317.tif 000016
【図１５】
2007257317.tif 000017
【図１６】
2007257317.tif 000018
【図１７】
2007257317.tif 000019
【図１８】
2007257317.tif 000020
【図１９】
2007257317.tif 000021
【図２０】
2007257317.tif 000022
【図２１】
2007257317.tif 000023
【図２２】
2007257317.tif 000024
【図２３】
2007257317.tif 000025
【図２４】
2007257317.tif 000026
【図２５】
2007257317.tif 000027
【図２６】
2007257317.tif 000028