(57)【要約】【課題】領域を回収するタイミングを考慮したストレージシステム、領域回収方法及び領域回収プログラムを提供すること。【解決手段】本発明にかかるストレージシステムは、物理ディスク領域の回収を管理する回収領域管理テーブルと、物理ディスク領域の回収を保留するための保留条件を物理ディスク領域毎に定義した条件定義テーブルと、ファイルシステム上でデータが削除された論理ディスク領域の通知を受信し、当該論理ディスク領域に対応する物理ディスク領域について、条件定義テーブルに定義された保留条件を満たす場合に当該物理ディスク領域を識別する識別情報を回収領域管理テーブルに格納し、その後、保留条件を満たさなくなったときに、回収領域管理テーブルに格納された識別情報に対応する物理ディスク領域の回収を行う領域回収手段と、を備える。【選択図】図１
2010211362.tif 000002
【特許請求の範囲】
【請求項１】
物理ディスク領域の回収を管理する回収領域管理テーブルと、
物理ディスク領域の回収を保留するための保留条件を物理ディスク領域毎に定義した条件定義テーブルと、
ファイルシステム上でデータが削除された論理ディスク領域の通知を受信し、当該論理ディスク領域に対応する物理ディスク領域について、前記条件定義テーブルに定義された保留条件を満たす場合に当該物理ディスク領域を識別する識別情報を前記回収領域管理テーブルに格納し、その後、前記保留条件を満たさなくなったときに、前記回収領域管理テーブルに格納された識別情報に対応する物理ディスク領域の回収を行う領域回収手段と、
を備えるストレージシステム。
【請求項２】
前記領域回収手段は、前記通知を受信したときに、当該論理ディスク領域に対応する物理ディスク領域について、前記条件定義テーブルに定義された保留条件を満さない場合には、前記識別情報を前記回収領域管理テーブルに格納せず、当該物理ディスク領域の回収を行うことを特徴とする請求項１に記載のストレージシステム。
【請求項３】
前記ファイルシステム上で論理ディスク領域を指定したデータの書き込み要求を受信し、当該指定された論理ディスク領域に対応する物理ディスク領域に対してデータの書き込み処理を行う書き込み処理手段をさらに備え、
前記書き込み処理手段は、前記回収領域管理テーブルを参照し、前記指定された論理ディスク領域に対応する物理ディスク領域の識別情報が格納されているか否かを判定し、格納されていると判定した場合、前記回収領域管理テーブルから当該識別情報を削除する、
ことを特徴とする請求項１又は２に記載のストレージシステム。
【請求項４】
前記領域回収手段は、現時点における当該ストレージシステムの全物理ディスク領域に対する入出力量が所定の閾値より少ない場合に、前記保留条件を満たさなくなったと判定することを特徴とする請求項１乃至３のいずれか１項に記載のストレージシステム。
【請求項５】
前記領域回収手段は、現時点が所定の時間帯以外の場合に、前記保留条件を満たさなくなったと判定することを特徴とする請求項１乃至４のいずれか１項に記載のストレージシステム。
【請求項６】
前記領域回収手段は、現時点における当該ストレージシステムの全物理ディスク領域の領域割り当て量が所定の閾値より多い場合に、前記保留条件を満たさなくなったと判定することを特徴とする請求項１乃至５のいずれか１項に記載のストレージシステム。
【請求項７】
前記ストレージシステムは、当該ストレージシステムの全物理ディスク領域の容量より大きな容量を論理ディスク領域として提供することを特徴とする請求項１乃至６のいずれか１項に記載のストレージシステム。
【請求項８】
ファイルシステム上でデータが削除された論理ディスク領域の通知を受信するステップと、
物理ディスク領域の回収を保留するための保留条件を物理ディスク領域毎に定義した条件定義テーブルを参照し、前記通知された論理ディスク領域に対応する物理ディスク領域が、前記条件定義テーブルに定義された保留条件を満たすか否かを判定する第１の判定ステップと、
前記第１の判定ステップにより保留条件を満たすと判定された場合、物理ディスク領域の回収を管理する回収領域管理テーブルに前記判定された当該物理ディスク領域を識別する識別情報を格納する格納ステップと、
前記格納ステップにより前記回収領域管理テーブルに格納された識別情報に対応する物理ディスク領域が、前記保留条件を満たすか否かを判定する第２の判定ステップと、
前記第２の判定ステップにより保留条件を満たさないと判定された場合、前記回収領域管理テーブルに格納された識別情報に対応する物理ディスク領域の回収を行う領域回収ステップと、
を含むストレージの領域回収方法。
【請求項９】
前記格納ステップは、前記第１の判定ステップにより保留条件を満たさないと判定された場合、前記回収領域管理テーブルに前記識別情報を格納せず、
前記領域回収ステップは、前記第１の判定ステップにより保留条件を満たさないと判定された場合、当該物理ディスク領域の回収を行うことを特徴とする請求項８に記載の領域回収方法。
【請求項１０】
前記ファイルシステム上で論理ディスク領域を指定したデータの書き込み要求を受信し、当該指定された論理ディスク領域に対応する物理ディスク領域に対してデータの書き込み処理を行う書き込みステップをさらに含み、
前記書き込みステップは、前記回収領域管理テーブルを参照し、前記指定された論理ディスク領域に対応する物理ディスク領域の識別情報が格納されているか否かを判定し、格納されていると判定した場合、前記回収領域管理テーブルから当該識別情報を削除する、
ことを特徴とする請求項８又は９に記載の領域回収方法。
【請求項１１】
前記第２の判定ステップは、現時点における当該ストレージの全物理ディスク領域に対する入出力量が所定の閾値より少ない場合に、前記保留条件を満たさなくなったと判定することを特徴とする請求項８乃至１０のいずれか１項に記載の領域回収方法。
【請求項１２】
前記領域回収ステップは、現時点が所定の時間帯以外の場合に、前記保留条件を満たさなくなったと判定することを特徴とする請求項８乃至１１のいずれか１項に記載の領域回収方法。
【請求項１３】
前記領域回収ステップは、現時点における当該ストレージの全物理ディスク領域の領域割り当て量が所定の閾値より多い場合に、前記保留条件を満たさなくなったと判定することを特徴とする請求項８乃至１２のいずれか１項に記載の領域回収方法。
【請求項１４】
ファイルシステム上でデータが削除された論理ディスク領域の通知を受信する処理と、
物理ディスク領域の回収を保留するための保留条件を物理ディスク領域毎に定義した条件定義テーブルを参照し、前記通知された論理ディスク領域に対応する物理ディスク領域が、前記条件定義テーブルに定義された保留条件を満たすか否かを判定する第１の判定処理と、
前記第１の判定処理により保留条件を満たすと判定された場合、物理ディスク領域の回収を管理する回収領域管理テーブルに前記判定された当該物理ディスク領域を識別する識別情報を格納する格納処理と、
前記格納処理により前記回収領域管理テーブルに格納された識別情報に対応する物理ディスク領域が、前記保留条件を満たすか否かを判定する第２の判定処理と、
前記第２の判定処理により保留条件を満たさないと判定された場合、前記回収領域管理テーブルに格納された識別情報に対応する物理ディスク領域の回収を行う領域回収処理と、
を含むストレージの領域回収処理をコンピュータに実行させる領域回収プログラム。
【請求項１５】
前記格納処理は、前記第１の判定処理により保留条件を満たさないと判定された場合、前記回収領域管理テーブルに前記識別情報を格納せず、
前記領域回収処理は、前記第１の判定処理により保留条件を満たさないと判定された場合、当該物理ディスク領域の回収を行うことを特徴とする請求項１４に記載の領域回収プログラム。
【請求項１６】
前記ファイルシステム上で論理ディスク領域を指定したデータの書き込み要求を受信し、当該指定された論理ディスク領域に対応する物理ディスク領域に対してデータの書き込み処理を行う書き込み処理をさらに含み、
前記書き込み処理は、前記回収領域管理テーブルを参照し、前記指定された論理ディスク領域に対応する物理ディスク領域の識別情報が格納されているか否かを判定し、格納されていると判定した場合、前記回収領域管理テーブルから当該識別情報を削除する、
ことを特徴とする請求項１４又は１５に記載の領域回収プログラム。
【請求項１７】
前記第２の判定処理は、現時点における当該ストレージの全物理ディスク領域に対する入出力量が所定の閾値より少ない場合に、前記保留条件を満たさなくなったと判定することを特徴とする請求項１４乃至１６のいずれか１項に記載の領域回収プログラム。
【請求項１８】
前記領域回収処理は、現時点が所定の時間帯以外の場合に、前記保留条件を満たさなくなったと判定することを特徴とする請求項１４乃至１７のいずれか１項に記載の領域回収プログラム。
【請求項１９】
前記領域回収処理は、現時点における当該ストレージの全物理ディスク領域の領域割り当て量が所定の閾値より多い場合に、前記保留条件を満たさなくなったと判定することを特徴とする請求項１４乃至１８のいずれか１項に記載の領域回収プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストレージシステム、領域回収方法及び領域回収プログラムに関し、特に、論理ディスク領域に割り当てられた物理ディスク領域を回収するストレージシステム、領域回収方法及び領域回収プログラムに関する。
【背景技術】
【０００２】
近年、情報システムの発達に伴い、保存すべきデータが増加している。そのため、複数の物理ディスクをまとめて一つの論理ディスクとして提供するストレージシステムへのニーズが高まっている。ストレージシステムの一例としては、ホストからの業務データの書き込みに応じて、物理ディスクで構築したプールから論理ディスクへ領域を割当てるものがある。このとき、プールでの未割当ての領域が不足している場合、物理ディスクにおける実容量が不足している旨の警告メッセージをストレージ管理者へ提示する。ストレージ管理者は、警告に応じて、新たな物理ディスクをプールへ追加することにより、実容量を増加させる。
【０００３】
但し、上述したストレージシステムは、ファイルシステム上でデータが削除されても領域を解放しない。そのため、論理ディスク上では空き容量がありながら、物理ディスク上では空き容量が足りなくなる場合がある。すなわち、物理ディスクにおける実容量が効率的に利用されないこととなる。ストレージシステムにおける実容量の効率的な利用に関する技術が以下の特許文献に記載されている。
【０００４】
まず、特許文献１には、複数のコンピュータの状況に応じて、各コンピュータに割り当てる記憶デバイスを適宜に変更する記憶領域管理方法及びシステムに関する技術が開示されている。特許文献１にかかる記憶領域管理方法及びシステムでは、アプリケーションと物理記憶領域の組み合わせに定義されたポリシーに基づき、物理記憶領域を解放し、他のアプリケーションへ領域の割り当てを行う。これにより、複数のアプリケーション間での割り当て領域を最適化する。ここで、特許文献１にかかるポリシーとは、複数のアプリケーション間の記憶領域の割り当てにおける優先順位等である。
【０００５】
また、特許文献２には、アクセス性能の向上を図るための論理ディスク管理方法及び仮想化装置に関する技術が開示されている。特に、特許文献２にかかる論理ディスク管理方法及び仮想化装置では、情報スライスを負荷に応じて自動的に交代することができる。
【０００６】
また、特許文献３には、簡易な構成で記憶領域を効率的に運用させ得る記憶システムに関する技術が開示されている。特許文献３にかかる記憶システムは、ホスト上のファイルシステムの使用状況を確認し、データが既に削除されており、ファイルシステムが使用しない割当済みの領域を検出する。そして、検出された領域に対して解放を行う。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００５−３３８９８５号公報
【特許文献２】特開２００７−０７９７８７号公報
【特許文献３】特開２００７−２５７３１７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、特許文献１乃至３では、割り当てられた領域を解放（回収）する際に、ホストからのデータ更新等のアクセス時にデータが破壊される可能性があるという問題点がある。その理由は、特許文献１乃至３では、領域の回収を行うタイミングについて考慮していないためである。領域を回収する処理は、ストレージシステムにおいて負荷の高い処理である。そのため、領域を回収する処理と並行して同一又は他の領域に対してデータ更新等のアクセスが発生する場合、当該アクセスに影響が出る可能性がある。
【０００９】
本発明は、このような問題点を解決するためになされたものであり、領域を回収するタイミングを考慮したストレージシステム、領域回収方法及び領域回収プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
本発明の第１の態様にかかるストレージシステムは、物理ディスク領域の回収を管理する回収領域管理テーブルと、物理ディスク領域の回収を保留するための保留条件を物理ディスク領域毎に定義した条件定義テーブルと、ファイルシステム上でデータが削除された論理ディスク領域の通知を受信し、当該論理ディスク領域に対応する物理ディスク領域について、前記条件定義テーブルに定義された保留条件を満たす場合に当該物理ディスク領域を識別する識別情報を前記回収領域管理テーブルに格納し、その後、前記保留条件を満たさなくなったときに、前記回収領域管理テーブルに格納された識別情報に対応する物理ディスク領域の回収を行う領域回収手段と、を備える。
【００１１】
本発明の第２の態様にかかるストレージの領域回収方法は、ファイルシステム上でデータが削除された論理ディスク領域の通知を受信するステップと、物理ディスク領域の回収を保留するための保留条件を物理ディスク領域毎に定義した条件定義テーブルを参照し、前記通知された論理ディスク領域に対応する物理ディスク領域が、前記条件定義テーブルに定義された保留条件を満たすか否かを判定する第１の判定ステップと、前記第１の判定ステップにより保留条件を満たすと判定された場合、物理ディスク領域の回収を管理する回収領域管理テーブルに前記判定された当該物理ディスク領域を識別する識別情報を格納する格納ステップと、前記格納ステップにより前記回収領域管理テーブルに格納された識別情報に対応する物理ディスク領域が、前記保留条件を満たすか否かを判定する第２の判定ステップと、前記第２の判定ステップにより保留条件を満たさないと判定された場合、前記回収領域管理テーブルに格納された識別情報に対応する物理ディスク領域の回収を行う領域回収ステップと、を含む。
【００１２】
本発明の第３の態様にかかる領域回収プログラムは、ファイルシステム上でデータが削除された論理ディスク領域の通知を受信する処理と、物理ディスク領域の回収を保留するための保留条件を物理ディスク領域毎に定義した条件定義テーブルを参照し、前記通知された論理ディスク領域に対応する物理ディスク領域が、前記条件定義テーブルに定義された保留条件を満たすか否かを判定する第１の判定処理と、前記第１の判定処理により保留条件を満たすと判定された場合、物理ディスク領域の回収を管理する回収領域管理テーブルに前記判定された当該物理ディスク領域を識別する識別情報を格納する格納処理と、前記格納処理により前記回収領域管理テーブルに格納された識別情報に対応する物理ディスク領域が、前記保留条件を満たすか否かを判定する第２の判定処理と、前記第２の判定処理により保留条件を満たさないと判定された場合、前記回収領域管理テーブルに格納された識別情報に対応する物理ディスク領域の回収を行う領域回収処理と、を含むストレージの領域回収処理をコンピュータに実行させる。
【発明の効果】
【００１３】
本発明によれば、ファイルシステム上でデータが削除され、物理ディスク領域が回収可能になった場合に、当該物理ディスク領域ごとの保留条件に応じて、領域の回収処理を保留させることで、データ更新処理等を考慮した適切なタイミングに領域の回収処理を行うことができ、未使用の実容量を安全に確保するストレージシステム、領域回収方法及び領域回収プログラムを提供することができる。
【図面の簡単な説明】
【００１４】
【図１】本発明の実施の形態１にかかるストレージシステムの全体構成図である。
【図２】本発明の実施の形態１にかかる領域回収処理を示すフローチャート図である。
【図３】本発明の実施の形態２にかかるストレージシステムの全体構成図である。
【図４】本発明の実施の形態２にかかる領域回収処理を示すフローチャート図である。
【図５】本発明の実施の形態２にかかるファイルシステム管理テーブルの例を示す図である。
【図６】本発明の実施の形態２にかかる回収領域管理テーブルの例を示す図である。
【図７】本発明の実施の形態２にかかるポリシー定義テーブルの例を示す図である。
【図８】本発明の実施の形態２にかかるファイルシステム監視処理のフローチャート図である。
【図９】本発明の実施の形態２にかかる領域回収判定処理のフローチャート図である。
【図１０】本発明の実施の形態２にかかる回収領域管理テーブルの例を示す図である。
【図１１】本発明の実施の形態２にかかる領域回収処理のフローチャート図である。
【図１２】本発明の実施の形態２にかかるデータ書き込み処理のフローチャート図である。
【図１３】本発明の実施の形態２にかかるポリシー定義登録処理のフローチャート図である。
【発明を実施するための形態】
【００１５】
以下では、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。各図面において、同一要素には同一の符号が付されており、説明の明確化のため、必要に応じて重複説明は省略する。
【００１６】
＜発明の実施の形態１＞
図１は、本発明の実施の形態１にかかるストレージシステム１の全体構成図である。ストレージシステム１は、複数の物理ディスク（不図示）を備え、これらを論理ディスク（不図示）として外部へ提供する。ストレージシステム１は、外部のコンピュータ（不図示）等と接続され、外部からデータの登録要求があった際に、物理ディスク領域１１を論理ディスク領域（不図示）に割り当てる。これにより、外部のコンピュータは、ファイルシステムにおいてストレージシステム１から提供される論理ディスク領域に対してデータの読み書きを行うことができる。また、ストレージシステム１は、外部のコンピュータのファイルシステム上でデータが削除された場合に、データが削除された論理ディスク領域の通知Ｍ１を受け付けて、論理ディスク領域に対応する物理ディスク領域１１を保留条件に応じて回収するものである。これにより、ファイルシステム上で使用されなくなった物理ディスク領域１１を解放し、物理ディスクの空き容量を増加させることができる。
【００１７】
ストレージシステム１は、物理ディスク領域１１と、回収領域管理テーブル１２と、条件定義テーブル１３と、領域回収手段１４とを備える。物理ディスク領域１１は、データを格納する記憶領域である。物理ディスク領域１１は、例えば、ハードディスクドライブ等の一部の領域である。尚、物理ディスク領域１１は、少なくとも１つ以上であればよい。回収領域管理テーブル１２は、物理ディスク領域１１の回収を管理する記憶領域である。条件定義テーブル１３は、物理ディスク領域１１の回収を保留するための保留条件を物理ディスク領域毎に定義して格納する記憶領域である。
【００１８】
領域回収手段１４は、ファイルシステム上でデータが削除された論理ディスク領域の通知を受信する。そして、領域回収手段１４は、当該論理ディスク領域に対応する物理ディスク領域について、前記条件定義テーブルに定義された保留条件を満たす場合に当該物理ディスク領域を識別する識別情報を回収領域管理テーブル１２に格納する。その後、領域回収手段１４は、保留条件を満たさなくなったときに、回収領域管理テーブル１２に格納された識別情報に対応する物理ディスク領域１１の回収を行う。
【００１９】
図２は、本発明の実施の形態１にかかる領域回収処理を示すフローチャート図である。まず、ストレージシステム１の領域回収手段１４は、ファイルシステム上でデータが削除された論理ディスク領域の通知を受信する（Ｓ１１）。
【００２０】
次に、領域回収手段１４は、条件定義テーブル１３を参照し、通知された論理ディスク領域に対応する物理ディスク領域１１が、条件定義テーブル１３に定義された保留条件を満たすか否かを判定する。そして、領域回収手段１４は、保留条件を満たすと判定された場合、回収領域管理テーブル１２に物理ディスク領域１１を識別する識別情報を格納する（Ｓ１２）。
【００２１】
その後、領域回収手段１４は、回収領域管理テーブル１２に格納された識別情報に対応する物理ディスク領域１１が、保留条件を満たすか否かを判定する。そして、領域回収手段１４は、保留条件を満たさないと判定された場合、回収領域管理テーブル１２に格納された識別情報に対応する物理ディスク領域１１の回収を行う（Ｓ１３）。
【００２２】
このように、本発明の実施の形態１にかかるストレージシステム１により、ファイルシステム上でデータが削除され、物理ディスク領域が回収可能になった場合に、当該物理ディスク領域ごとの保留条件に応じて、領域の回収処理を保留させることで、データ更新処理等を考慮した適切なタイミングに領域の回収処理を行うことができ、未使用の実容量を安全に確保することができる。
【００２３】
＜発明の実施の形態２＞
発明の実施の形態２では、発明の実施の形態１に改良を加えたストレージシステム２００について説明する。図３は、本発明の実施の形態２にかかるストレージシステム２００の実施例の全体構成図である。図３においては、ホストサーバ１００とストレージシステム２００とが接続されている。ストレージシステム２００は、ストレージシステム２００の全物理ディスク領域の容量より大きな容量を論理ディスク領域としてホストサーバ１００に提供するものである。
【００２４】
ホストサーバ１００は、ファイルシステム１１０と、ファイルシステム管理テーブル１２０と、データ更新要求手段１３０と、ファイルシステム監視手段１４０とを備える。ファイルシステム１１０は、ホストサーバ１００で扱うデータをファイルにより管理し、ストレージシステム２００から提供される論理ディスク領域に当該ファイルを格納する。また、ファイルシステム管理テーブル１２０は、ファイルシステム１１０内の論理ディスク領域への書き込み及び削除等の使用状況を管理する記憶領域である。
【００２５】
ここで、図５は、本発明の実施の形態２にかかるファイルシステム管理テーブル１２０の例を示す図である。図５に示すファイル番号は、ホストサーバ１００が作成するファイルを一意に識別する番号である。ファイルオフセット番号は、ファイルがファイルシステム１１０上の複数のデータブロックに跨って作成される場合、ファイルを構成するブロックの順番を示す番号である。データブロック番号は、ファイルシステム１１０を論理的な単位で区切ったブロック（データブロック）を一意に識別する番号である。使用状態は、当該データブロックが使用されているかどうか、すなわち、当該データブロック上にファイルが作成されているかどうかを示す情報である。使用状態の表現としては、例えば、図５に示す"使用"は、データブロックが使用中の状態であること、すなわち、他のデータにより使用不可であることを示す。また、図５の"未使用"は、データブロック上からデータが削除された等により、使用が終了し、現時点でファイルシステム１１０上であること、すなわち、使用可能であることを示す。但し、使用状態の表現は、これに限定されない。
【００２６】
図３に戻り、データ更新要求手段１３０は、ファイルシステム１１０上でファイルの書き込みが行われた場合、ストレージシステム１に対して、データの更新要求を行う。ファイルシステム監視手段１４０は、ファイルシステム管理テーブル１２０を定期的に参照し、データが削除されたデータブロック番号を検出し、ストレージシステム１へ当該データブロック番号を通知する。ファイルシステム監視手段１４０は、例えば、使用状態が"未使用"であるデータブロック番号を取得する。
【００２７】
尚、ホストサーバ１００は、周知のコンピュータマシンのハードウェア構成（例えば、ＣＰＵ、メモリ及びハードディスク等を備えた構成）を採用することができるので、ハードウェア構成の図示は省略する。
【００２８】
次に、ストレージシステム２００は、物理ディスク群２１０と、プール２２０と、論理ディスク群２３０と、回収領域管理テーブル２４０と、ポリシー定義テーブル２５０と、Ｉ／Ｏ処理手段２６０と、領域回収判定手段２７０と、領域回収手段２８０と、ポリシー定義手段２９０とを備える。
【００２９】
物理ディスク群２１０は、物理ディスク２１１、物理ディスク２１２及び物理ディスク２１３の集合体である。物理ディスク２１１、物理ディスク２１２及び物理ディスク２１３は、データを記憶する不揮発性の記憶媒体すなわちディスク装置であり、例えば、ハードディスクドライブである。物理ディスク２１１、物理ディスク２１２及び物理ディスク２１３は、それぞれ少なくとも１つ以上の物理ディスク領域に分けることができる。尚、物理ディスク群２１０における物理ディスクの数は、これに限定されず、少なくとも１つ以上であるとよい。
【００３０】
プール２２０は、物理ディスク群２１０内の物理ディスク領域の配置を管理するためのソフトウェア定義である。プール２２０は、物理ディスク２１１、物理ディスク２１２及び物理ディスク２１３内の複数の物理ディスク領域を識別する識別番号であるプールブロック番号により管理する。そして、プール２２０は、物理ディスク２１２及び物理ディスク２１３内の複数の物理ディスク領域のいずれかが論理ディスクに割り当てられた場合、対応するプールブロック番号の属性を割当済領域２２１とする。また、論理ディスクに割り当てられていないプールブロック番号の属性を未割当領域２２２とする。
【００３１】
論理ディスク群２３０は、複数の論理ディスク領域を含み、ホストサーバ１００へ提供される仮想ＬＤ２３１と、プールブロック番号とデータブロック番号との変換定義を格納するブロック変換テーブル２３２とを備える。仮想ＬＤ２３１は、プール２２０に対応付けられている。尚、仮想ＬＤ２３１は、少なくとも１つ以上であるとよい。また、ブロック変換テーブル２３２には、プールブロック番号と共にＬＤ番号も格納されている。
【００３２】
回収領域管理テーブル２４０は、物理ディスク領域の回収を管理する記憶領域である。図６は、本発明の実施の形態２にかかる回収領域管理テーブル２４０の例を示す図である。プールブロック番号は、プール２２０を論理的な単位で区切ったブロック（プールブロック）を一意に識別する番号である。ＬＤ番号は、当該プールブロックを使用しているＬＤを一意に識別する番号である。データブロック番号は、ファイルシステム管理テーブル１２０の属性と同様である。領域サイズは、当該プールブロックのサイズを示す情報である。回収可能開始時間は、回収可能となる時刻を示す。つまり、回収可能開始時間以降に当該プールブロック番号に対応する物理ディスク領域が回収可能であることを示す。
【００３３】
図３に戻り、ポリシー定義テーブル２５０は、物理ディスク領域の回収を保留するための保留条件を物理ディスク領域毎に定義した条件定義テーブルである。図７は、本発明の実施の形態２にかかるポリシー定義テーブルの例を示す図である。プールブロック番号は、回収領域管理テーブル２４０の属性と同様である。ポリシー種別は、プールブロック番号に対応する物理ディスク領域における保留条件の識別番号である。
【００３４】
以下に、保留条件の例を挙げる。例えば、ポリシー種別"１"は、現時点におけるストレージシステム２００の全物理ディスク領域の領域割り当て量が所定の閾値より少ない場合は、当該物理ディスク領域の回収を保留することを示す。言い換えると、プール２２０における割当済領域２２１の割合が所定の閾値以上の場合は、当該物理ディスク領域の回収を実行することを示す。これは、プール２２０における未割当領域２２２が少ない場合には、領域を回収することにより未割当領域２２２をより多く確保する緊急性が高いためである。そのため、例えば、領域を回収処理と並行してデータの更新処理等があったとしても、回収処理により確保される方がストレージシステム２００全体としてのパフォーマンス向上に貢献すると言えるからである。
【００３５】
また、ポリシー種別"２"は、現時点が所定の時間帯以外の場合は、当該物理ディスク領域の回収を保留することを示す。又は、所定の時間帯の範囲内において、領域の回収処理を実行させてもよい。例えば、ホストサーバ１００において実行される業務処理が、日中の営業時間帯に頻繁にデータの更新処理が行われる場合、営業時間外である夜間であれば、データの更新処理の影響が少ないため、領域の回収処理を実行するリスクが下がるためである。
【００３６】
ポリシー種別"３"は、現時点におけるストレージシステム２００の全物理ディスク領域に対する入出力量が所定の閾値より多い場合は、当該物理ディスク領域の回収を保留することを示す。言い換えると、ホストサーバ１００のデータ更新要求手段１３０からの要求が少ない場合には、当該物理ディスク領域の回収を実行することを示す。この場合は、領域を回収処理と並行してデータの更新処理等が少ないため、回収処理による影響が少ないためである。
【００３７】
ポリシー種別"４"は、当該物理ディスク領域の回収を保留し続けることを示す。この場合、例えば、当該物理ディスク領域は、低性能であるため、領域の回収処理を行う緊急性が高くないことを示す。または、当該物理ディスク領域は、他の物理ディスク領域に比べて大容量であることにより、システムの稼働中に領域の回収処理を行う影響が大きすぎる場合には、システムのメンテナンス中にシステム管理者により手動で回収処理を行うことを示す。
【００３８】
ポリシー種別"０"は、当該物理ディスク領域が高性能のディスク装置であるなど、領域の回収を即時に実行した方が良い場合を示す。つまり、ポリシー種別"０"は、領域の回収を保留しない方が良いことを示す。
【００３９】
図３に戻り、Ｉ／Ｏ処理手段２６０は、データ更新要求手段１３０から、ファイルシステム１１０上で論理ディスク領域を指定したデータの書き込み要求を受信する。また、Ｉ／Ｏ処理手段２６０は、指定された論理ディスク領域に対応する物理ディスク領域に対してデータの書き込み処理を行う。尚、これらの処理は、プール２２０により行うようにしても良い。
【００４０】
そして、Ｉ／Ｏ処理手段２６０は、回収領域管理テーブル２４０を参照し、指定された論理ディスク領域に対応する物理ディスク領域の識別情報が格納されているか否かを判定する。Ｉ／Ｏ処理手段２６０は、格納されていると判定した場合、回収領域管理テーブル２４０から当該識別情報を削除する。
【００４１】
領域回収判定手段２７０は、ファイルシステム監視手段１４０から、ファイルシステム１１０上でデータが削除された論理ディスク領域の通知を受信する。そして、領域回収判定手段２７０は、当該論理ディスク領域に対応する物理ディスク領域について、ポリシー定義テーブル２５０に定義された保留条件を満たす場合に当該物理ディスク領域を識別する識別情報を回収領域管理テーブル２４０に格納する。また、領域回収判定手段２７０は、ファイルシステム監視手段１４０からの通知を受信したときに、当該論理ディスク領域に対応する物理ディスク領域について、ポリシー定義テーブル２５０に定義された保留条件を満さない場合には、識別情報を回収領域管理テーブル２４０に格納せず、領域回収手段２８０へ当該物理ディスク領域の回収させるための指示を行う。
【００４２】
領域回収手段２８０は、定期的に回収領域管理テーブル２４０を参照し、回収領域管理テーブル２４０に格納された識別情報に対応する物理ディスク領域が保留条件を満たさなくなった場合、回収領域管理テーブル２４０に格納された識別情報に対応する物理ディスク領域の回収を行う。また、領域回収手段２８０領域回収判定手段２７０からの指示に応じて、指示された物理ディスク領域の回収を行う。
【００４３】
ポリシー定義手段２９０は、外部から入力された保留条件であるポリシー定義をポリシー定義テーブル２５０に登録する。
【００４４】
尚、回収領域管理テーブル２４０及びポリシー定義テーブル２５０は、ハードディスクドライブ、フラッシュメモリ等の不揮発性の記憶装置でもよいし、ＤＲＡＭ（Dynamic Random Access Memory）等の揮発性の記憶装置であってもよい。
【００４５】
このように、本発明の実施の形態２にかかるストレージシステム２００は、ストレージにおける仮想論理ディスクの割当てた領域を回収することができる。そして、ストレージシステム２００は、ホストサーバ１００に対して、物理ディスク群２１０の実際の物理容量より大きく、仮想的な容量を持つ仮想ＬＤ２３１を提供する。また、ストレージシステム２００は、データの書き込みに応じて、プール２２０から仮想ＬＤ２３１に物理ディスク領域を割り当て、また、割り当てた領域のデータが削除された場合には、保留条件に基づいて応じて適切なタイミングで当該割り当てた領域の回収を行うことで、コスト削減とストレージ管理者への負荷を減らすことが可能である。また、保留条件であるポリシーを物理ディスク領域毎に設定することにより、物理ディスク領域を回収する際に、ストレージの負荷を軽減するように、ホストへの影響を減らすことが可能である。
【００４６】
以下では、本発明における実施の形態の詳細な動作を図に基づいて説明する。図４は、本発明の実施の形態２にかかる領域回収処理を示すフローチャート図である。前提として、ホストサーバ１００は、割り当てられた論理ディスク領域にファイルシステム１１０を作成し、ファイルシステム１１０上で、ホストサーバ１００が必要とするサイズ分の領域を作成する。また、ホストサーバ１００は、ファイルシステム１１０をデータ領域として利用する。そして、ホストサーバ１００で実行される業務アプリケーションにより、データ領域へのデータ書き込みに応じて、ストレージシステム２００に対してプール２２０からの物理ディスク領域の割当てを要求する。
【００４７】
そして、ホストサーバ１００は、上述した業務アプリケーションによりデータの削除が行われることにより、ストレージシステム２００により割り当てられたデータ用領域は、回収可能な未使用の領域となる。このとき、ホストサーバ１００は、ファイルシステム監視処理を行う（Ｓ２１）。すなわち、ファイルシステム監視手段１４０は、未使用の領域を検索して、ストレージシステム２００のファイルシステム監視手段１４０へ未使用の領域に対する回収の指示を送信する。尚、ファイルシステム監視処理の詳細は、図８に詳述する。
【００４８】
次に、ストレージシステム２００は、領域回収判定処理を行う（Ｓ２２）。すなわち、ストレージシステム２００の領域回収判定手段２７０は、ホストサーバ１００からの領域の回収指示を受け付ける。領域回収判定手段２７０は、受けた指示によりポリシー定義テーブル２５０に定義された保留条件であるポリシーを確認し、ポリシーに応じて領域の回収の指示を出すか又は受け付けた回収指示に基づく領域に関する情報を回収領域管理テーブル２４０に格納する。尚、領域回収判定処理の詳細は、図９に詳述する。
【００４９】
その後、ストレージシステム２００は、領域回収処理を行う（Ｓ２３）。すなわち、ストレージシステム２００の領域回収手段２８０は、定期的に回収領域管理テーブル２４０を参照し、ポリシー定義テーブル２５０に定義されたポリシーに応じて回収できる領域があれば、当該領域に該当する物理ディスク領域を回収する。または、領域回収手段２８０は、領域回収判定手段２７０から領域の回収の指示を受け付けた場合、当該物理ディスク領域を回収する。
【００５０】
図８は、本発明の実施の形態２にかかるファイルシステム監視処理のフローチャート図である。まず、ファイルシステム監視手段１４０は、ファイルシステム管理テーブル１２０から使用状態が"未使用"であるレコードを取得する（Ｓ２１１）。より具体的には、ファイルシステム監視手段１４０は、ファイルシステム管理テーブル１２０を参照し、使用状態が"未使用"であるデータブロック番号を少なくとも取得する。また、このとき、ファイルシステム監視手段１４０は、ファイルシステム管理テーブル１２０のファイル番号が同一であるレコードに対して、ファイルオフセット番号の若い番号から順にデータブロック番号を取得する。
【００５１】
次に、ファイルシステム監視手段１４０は、取得したデータブロック番号を領域回収判定手段２７０へ通知する（Ｓ２１２）。
【００５２】
図９は、本発明の実施の形態２にかかる領域回収判定処理のフローチャート図である。まず、領域回収判定手段２７０は、ファイルシステム監視手段１４０から通知されたデータブロック番号に対応するプールブロック番号をブロック変換テーブル２３２から取得する（Ｓ２２１）。このとき、領域回収判定手段２７０は、併せて、ブロック変換テーブル２３２からＬＤ番号を取得する。
【００５３】
次に、領域回収判定手段２７０は、ポリシー定義テーブル２５０から取得したプールブロック番号に対応するポリシー種別を取得する（Ｓ２２２）。そして、領域回収判定手段２７０は、ポリシー種別が"即時回収"を示すか否かを判定する（Ｓ２２３）。具体的には、領域回収判定手段２７０は、取得したポリシー種別が"０"であるか否かを判定する。
【００５４】
ステップＳ２２３において、即時回収であると判定された場合、領域回収判定手段２７０は、領域回収手段２８０へ回収を要求する（Ｓ２２４）。すなわち、領域回収判定手段２７０は、取得したプールブロック番号を領域回収手段２８０に通知する。
【００５５】
また、ステップＳ２２３において、即時回収でないと判定された場合、領域回収判定手段２７０は、回収領域管理テーブル２４０を排他制御して、取得したデータブロック番号、プール番号及びＬＤ番号を回収領域管理テーブル２４０に格納する（Ｓ２２５）。図１０は、本発明の実施の形態２にかかる回収領域管理テーブル２４０の例を示す図である。
【００５６】
図１１は、本発明の実施の形態２にかかる領域回収処理のフローチャート図である。まず、領域回収手段２８０は、領域回収判定手段２７０からの通知を受信したか否かを判定する（Ｓ２３１）。言い換えると、領域回収手段２８０は、領域回収判定手段２７０からの通知を受信した場合に動作を開始する。領域回収判定手段２７０からの通知を受信した場合、領域回収手段２８０は、通知されたプールブロック番号に対応する物理ディスク領域をプール２２０から回収する。すなわち、プール２２０において、当該プールブロック番号の属性が割当済領域２２１から未割当領域２２２に変更される。これにより、ストレージシステム２００は、ファイルシステム監視手段１４０からの通知を受信した後、通知されたデータブロック番号に対応する物理ディスク領域のポリシー種別が"即時回収"である場合に、回収領域管理テーブル２４０への格納を行わずに、当該物理ディスク領域の回収を行い、未割当領域２２２を増やすことができる。
【００５７】
また、ステップＳ２３１において、領域回収判定手段２７０からの通知を受信していない場合、領域回収手段２８０は、定期的な起動タイミングであるか否かを判定する（Ｓ２３３）。言い換えると、領域回収手段２８０は、予め設定されたスケジュールに基づき、定期的に動作を開始する。定期的な起動タイミングでない場合、当該領域回収処理を終了する。
【００５８】
また、ステップＳ２３３において、定期的な起動タイミングである場合、領域回収手段２８０は、回収領域管理テーブル２４０からプールブロック番号を取得する（Ｓ２３４）。具体的には、領域回収手段２８０は、回収領域管理テーブル２４０を排他制御して、回収領域管理テーブル２４０に格納された全てのプールブロック番号について一括して又は順番に繰り返して以下のステップＳ２３５乃至Ｓ２３８を実行する。
【００５９】
続いて、領域回収手段２８０は、取得したプールブロック番号に対応するポリシー種別をポリシー定義テーブル２５０から取得する（Ｓ２３５）。そして、領域回収手段２８０は、現時点で物理ディスク領域が回収可能であるか否かを判定する（Ｓ２３６）。具体的には、まず、領域回収手段２８０は、取得したポリシー種別が"１"、"２"及び"３"のいずれかであるか否かを判定する。
【００６０】
このとき、取得したポリシー種別が"１"である場合、領域回収手段２８０は、現時点において、プール２２０における割当済領域２２１の割合を算出し、当該割合が所定の閾値以上であるか否かを判定する。当該割合が所定の閾値以上であると判定した場合、領域回収手段２８０は、回収可能と判定する。言い換えると、このとき、領域回収手段２８０は、保留条件を満たさなくなったと判定する。また、当該割合が所定の閾値未満であると判定した場合、領域回収手段２８０は、回収不能と判定する。言い換えると、このとき、領域回収手段２８０は、未だ、保留条件を満たしていると判定する。
【００６１】
また、取得したポリシー種別が"２"である場合、領域回収手段２８０は、現時点の時刻が回収開始可能時間以降であるか否かを判定する。回収開始可能時間以降であると判定した場合、領域回収手段２８０は、回収可能と判定する。言い換えると、このとき、領域回収手段２８０は、保留条件を満たさなくなったと判定する。また、回収開始可能時間以前であると判定した場合、領域回収手段２８０は、回収不能と判定する。言い換えると、このとき、領域回収手段２８０は、未だ、保留条件を満たしていると判定する。
【００６２】
さらに、取得したポリシー種別が"３"である場合、領域回収手段２８０は、現時点において、ストレージシステム２００の全物理ディスク領域に対する入出力量が所定の閾値より少ないか否かを判定する。所定の閾値より少ないと判定した場合、領域回収手段２８０は、回収可能と判定する。言い換えると、このとき、領域回収手段２８０は、保留条件を満たさなくなったと判定する。また、所定の閾値以上であると判定した場合、領域回収手段２８０は、回収不能と判定する。言い換えると、このとき、領域回収手段２８０は、未だ、保留条件を満たしていると判定する。
【００６３】
ステップＳ２３６において、回収可能と判定した場合、領域回収手段２８０は、取得したプールブロック番号に対応する物理ディスク領域をプール２２０から回収する。（Ｓ２３７）。すなわち、プール２２０において、当該プールブロック番号の属性が割当済領域２２１から未割当領域２２２に変更される。これにより、ストレージシステム２００は、ファイルシステム監視手段１４０から通知されたデータブロック番号に対応する物理ディスク領域について、即時ではなく、回収を保留した後に、適切なタイミングで領域を回収することができる。そのため、データ更新処理への影響を相対的に少なくしつつ未割当領域２２２を増やすことができる。よって、未使用の実容量を安全に確保することができる。
【００６４】
その後、領域回収手段２８０は、回収した物理ディスク領域に対応するレコードを回収領域管理テーブル２４０から削除する（Ｓ２３８）。そして、当該領域回収処理を終了する。
【００６５】
尚、取得したポリシー種別が"１"、"２"及び"３"のいずれかでない場合、つまり、取得したポリシー種別が"４"である場合、領域回収手段２８０は、回収不能と判定する。言い換えると、このとき、領域回収手段２８０は、未だ、保留条件を満たしていると判定する。
【００６６】
ステップＳ２３６において、回収不能と判定した場合、領域回収手段２８０は、当該プールブロックに対応する物理領域の回収を行わず、当該領域回収処理を終了する。これにより、この後、領域回収手段２８０が起動されたときに、再度、回収領域管理テーブル２４０に格納されたプールブロック番号について、保留条件を満たすか否かが判定され、満たさなくなったタイミングで回収を実行することができる。
【００６７】
図１２は、本発明の実施の形態２にかかるデータ書き込み処理のフローチャート図である。前提として、Ｉ／Ｏ処理手段２６０は、データ更新要求手段１３０からのデータ更新要求に応じて動作する。まず、Ｉ／Ｏ処理手段２６０は、データ更新要求手段１３０から通知されたデータブロック番号に対応するプールブロック番号をブロック変換テーブル２３２から取得する（Ｓ３１）。
【００６８】
次に、Ｉ／Ｏ処理手段２６０は、通知されたデータブロック番号及び取得したプールブロック番号を回収領域管理テーブル２４０から検索する（Ｓ３２）。そして、Ｉ／Ｏ処理手段２６０は、回収領域管理テーブル２４０に検索条件に一致するレコードが存在するか否かを判定する（Ｓ３３）。存在すると判定した場合、Ｉ／Ｏ処理手段２６０は、回収領域管理テーブル２４０から該当レコードを削除（Ｓ３４）し、ステップＳ３５へ進む。存在しないと判定した場合、ステップＳ３５へ進む。
【００６９】
その後、Ｉ／Ｏ処理手段２６０は、取得したプールブロック番号に対応する物理ディスク領域にデータ更新要求手段１３０から要求されたデータを書き込む（Ｓ３５）。具体的には、Ｉ／Ｏ処理手段２６０は、当該データをプール２２０内の該当するプールブロック番号に対応する物理ディスク領域に書き込む。
【００７０】
このように、Ｉ／Ｏ処理手段２６０により、既に領域を回収するために保留されているプールブロック番号に対して、回収を行わずに当該プールブロック番号に対応する物理ブロック領域を再利用することができる。つまり、ここで、再利用される物理ブロック領域は、一度、ファイルシステム監視手段１４０において使用状況が"未使用"と判定されたために回収される予定であったものである。しかし、領域回収判定手段２７０において、回収を保留したために、回収領域管理テーブル２４０に格納された。その後、Ｉ／Ｏ処理手段２６０において、再度、同一の物理ディスク領域へのデータ更新処理を受け付けた場合に、まだ回収されていない当該物理ディスク領域を回収せずに、割り当てることができる。これにより、不要な回収処理を抑えることができ、ストレージシステム２００の処理負荷を抑え、効率的に実容量を利用することができる。
【００７１】
図１３は、本発明の実施の形態２にかかるポリシー定義登録処理のフローチャート図である。まず、ポリシー定義手段２９０は、ストレージシステム２００以外からポリシー定義情報の入力を受け付ける（Ｓ４１）。当該ポリシー定義情報は、ホストサーバ１００等からユーザによりポリシー定義テーブル２５０の属性に基づいて作成されたデータである。そして、当該ポリシー定義情報は、物理ディスク領域の特性に応じてポリシー種別が設定されたものである。
【００７２】
次に、ポリシー定義手段２９０は、受け付けたポリシー定義情報をポリシー定義テーブル２５０へ格納する（Ｓ４２）。これにより、ストレージシステム２００の利用者は、適切なポリシー定義を登録することができる。そして、ストレージシステム２００の使用状況に応じて適宜、ポリシー定義を変更することができる。
【００７３】
このように本発明の実施の形態２では、本発明の実施の形態１の効果及び上述した効果に加え、ユーザが定義したポリシーに応じて、自動的に割当済み物理ディスク領域を回収することで、コスト削減とストレージ管理者への負荷を減らすことが可能となる。また、ポリシーを設定することにより、物理ディスク領域を回収する際に、ストレージの負荷を軽減するように、ホストへの影響を減らすことが可能となる。
【００７４】
＜その他の発明の実施の形態＞
尚、ストレージシステムに本発明の実施の形態１又は２を適用しない場合、物理ディスク領域の回収をシステム管理者が手動と行う可能性があり、管理コストが増大する。そのため、本発明の実施の形態１又は２により、システム管理者が定義したポリシーによって、ストレージシステム側で回収可能な領域を回収することで、業務への影響を与えず、かつ、ストレージの管理コストを削減することができる。
【００７５】
さらに、本発明は上述した実施の形態のみに限定されるものではなく、既に述べた本発明の要旨を逸脱しない範囲において種々の変更が可能であることは勿論である。
【符号の説明】
【００７６】
１  ストレージシステム
１１  物理ディスク領域
１２  回収領域管理テーブル
１３  条件定義テーブル
１４  領域回収手段
１００  ホストサーバ
１１０  ファイルシステム
１２０  ファイルシステム管理テーブル
１３０  データ更新要求手段
１４０  ファイルシステム監視手段
２００  ストレージシステム
２１０  物理ディスク群
２１１  物理ディスク
２１２  物理ディスク
２１３  物理ディスク
２２０  プール
２２１  割当済領域
２２２  未割当領域
２３０  論理ディスク群
２３１  仮想ＬＤ
２３２  ブロック変換テーブル
２４０  回収領域管理テーブル
２５０  ポリシー定義テーブル
２６０  Ｉ／Ｏ処理手段
２７０  領域回収判定手段
２８０  領域回収手段
２９０  ポリシー定義手段
Ｍ１  通知
【図１】
2010211362.tif 000003
【図２】
2010211362.tif 000004
【図３】
2010211362.tif 000005
【図４】
2010211362.tif 000006
【図５】
2010211362.tif 000007
【図６】
2010211362.tif 000008
【図７】
2010211362.tif 000009
【図８】
2010211362.tif 000010
【図９】
2010211362.tif 000011
【図１０】
2010211362.tif 000012
【図１１】
2010211362.tif 000013
【図１２】
2010211362.tif 000014
【図１３】
2010211362.tif 000015