(57)【要約】【課題】物理記憶領域を有効に利用することができるストレージシステム及び物理記憶領域の動的回収方法の提供。【解決手段】ホスト計算機１１０に、定期的に各論理記憶装置に作成された論理ディスクのファイルテーブルを走査し、破棄されたデータ領域を論理単元で洗い出し、それらの論理単元から対応する論理記憶装置の論理ブロックを算出し、算出した論理ブロックのＩＤをストレージ装置１２０に通報する空き論理ブロック検出手段１４１を設け、ストレージ装置１２０に、オンデマンド割り当て手段１４３に加えて、ホスト計算機１１０から通報された破棄された論理ブロックＩＤを物理ブロックＩＤへ変換し、その物理ブロックを未割り当ての物理ブロックとして動的に回収する動的回収手段１４２を設ける。これにより、ストレージ装置１２０の物理記憶スペースを最大限に利用しコストを低減することができる。【選択図】図１
2006293543.tif 000002
【特許請求の範囲】
【請求項１】
ホスト計算機と、物理記憶装置及び論理記憶装置を備え、前記ホスト計算機からのデータの書き込み要求によってオンデマンドで記憶領域の割り当てを実施するストレージ装置とを少なくとも備えるストレージシステムにおいて、
前記ホスト計算機に、前記論理記憶装置上の破棄されたデータ領域に対応する所定の論理ブロックを検出する検出手段を備え、
前記ストレージ装置に、前記所定の論理ブロックに対応する物理ブロックを未割り当ての物理ブロックとして登録する回収手段を備えることを特徴とするストレージシステム。
【請求項２】
前記検出手段では、
前記論理記憶装置上の使用されていないデータ領域に対するファイルシステムの最小論理記憶単位を取得し、
予め定められた手法を用いて、前記ファイルシステムの最小論理記憶単位に対する論理ブロックを算出し、
履歴情報を参照して、前記論理ブロックの中から前記所定の論理ブロックを特定し、
前記所定の論理ブロックを特定する情報を前記回収手段に通知する制御を行うことを特徴とする請求項１記載のストレージシステム。
【請求項３】
前記ストレージ装置に、前記論理記憶装置に対する前記物理記憶装置の記憶領域の割り当て状態が記録されたテーブルを備え、
前記回収手段では、
前記検出手段からの通知に基づいて、前記テーブルを参照して、前記所定の論理ブロックに対応する物理ブロックを特定し、
前記テーブルの前記物理ブロックに対応する部分の記述を、未割り当ての物理ブロックに変更する制御を行うことを特徴とする請求項１又は２に記載のストレージシステム。
【請求項４】
ホスト計算機と、物理記憶装置及び論理記憶装置を備え、前記ホスト計算機からのデータの書き込み要求によってオンデマンドで記憶領域の割り当てを実施するストレージ装置とを少なくとも備えるストレージシステムにおける物理記憶領域の動的回収方法であって、
前記ホスト計算機で、前記論理記憶装置上の破棄されたデータ領域に対応する所定の論理ブロックを検出する検出処理を実行し、
前記ストレージ装置で、前記所定の論理ブロックに対応する物理ブロックを未割り当ての物理ブロックとして登録する回収処理を実行することを特徴とする物理記憶領域の動的回収方法。
【請求項５】
前記検出処理は、
前記論理記憶装置上の使用されていないデータ領域に対するファイルシステムの最小論理記憶単位を取得するステップと、
予め定められた手法を用いて、前記ファイルシステムの最小論理記憶単位に対する論理ブロックを算出するステップと、
履歴情報を参照して、前記論理ブロックの中から前記所定の論理ブロックを特定するステップと、
前記所定の論理ブロックを特定する情報を前記ストレージ装置に通知するステップと、を含むことを特徴とする請求項４記載の物理記憶領域の動的回収方法。
【請求項６】
前記回収処理は、
前記ホスト計算機からの通知に基づいて、前記論理記憶装置に対する前記物理記憶装置の記憶領域の割り当て状態が記録されたテーブルを参照して、前記所定の論理ブロックに対応する物理ブロックを特定するステップと、
前記テーブルの前記物理ブロックに対応する部分の記述を、未割り当ての物理ブロックに変更するステップと、を含むことを特徴とする請求項４又は５に記載の物理記憶領域の動的回収方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストレージシステム及び該ストレージシステムにおける物理記憶領域の動的回収方法に関する。
【背景技術】
【０００２】
従来、ＲＡＩＤ（Redundant Arrays of Inexpensive/Independent Disks）に代表されるストレージ装置は、複数の物理記憶装置の集合から論理記憶装置を構成し、論理記憶装置の論理記憶領域と物理記憶装置の物理記憶領域との対応関係管理テーブルを保持する機能を備えている。また、論理記憶装置の構築と、その論理記憶装置に対応する物理記憶装置上の領域の割り当てを分離し、データの書き込み要求によってオンデマンドで記憶領域の割り当てを実施する方式が存在する（例えば、下記特許文献１）。この方式によれば、データ書き込み要求によって物理記憶装置上の領域が必要となるまで、実際の物理記憶装置上の領域は不必要となるため、未使用となる無駄な領域を無くし、記憶領域の割り当てを効率化することができる。
【０００３】
【特許文献１】特開２００５−１１３１６号公報（第５−２０頁、第２図）
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来のストレージ装置では、一旦割り当てられた物理記憶領域を回収する方法がなかった。例えば、ファイルシステムからファイルを削除しても、その破棄されたファイルが占有していた物理記憶ブロックを論理記憶装置から動的に回収することができなかった。そのため、物理記憶領域を有効に利用することができないという問題があった。
【０００５】
本発明は、上記問題点に鑑みてなされたものであって、その主たる目的は、物理記憶領域を有効に利用することができるストレージシステム及び該ストレージシステムにおける物理記憶領域の動的回収方法を提供することにある。
【課題を解決するための手段】
【０００６】
上記目的を達成するため、本発明のシステムは、ホスト計算機と、物理記憶装置及び論理記憶装置を備え、前記ホスト計算機からのデータの書き込み要求によってオンデマンドで記憶領域の割り当てを実施するストレージ装置とを少なくとも備えるストレージシステムにおいて、前記ホスト計算機に、前記論理記憶装置上の破棄されたデータ領域に対応する所定の論理ブロックを検出する検出手段を備え、前記ストレージ装置に、前記所定の論理ブロックに対応する物理ブロックを未割り当ての物理ブロックとして登録する回収手段を備えるものである。
【０００７】
本発明においては、前記検出手段では、前記論理記憶装置上の使用されていないデータ領域に対するファイルシステムの最小論理記憶単位を取得し、予め定められた手法を用いて、前記ファイルシステムの最小論理記憶単位に対する論理ブロックを算出し、履歴情報を参照して、前記論理ブロックの中から前記所定の論理ブロックを特定し、前記所定の論理ブロックを特定する情報を前記回収手段に通知する制御を行う構成とすることができる。
【０００８】
また、本発明においては、前記ストレージ装置に、前記論理記憶装置に対する前記物理記憶装置の記憶領域の割り当て状態が記録されたテーブルを備え、前記回収手段では、前記検出手段からの通知に基づいて、前記テーブルを参照して、前記所定の論理ブロックに対応する物理ブロックを特定し、前記テーブルの前記物理ブロックに対応する部分の記述を、未割り当ての物理ブロックに変更する制御を行う構成とすることができる。
【０００９】
また、本発明の方法は、ホスト計算機と、物理記憶装置及び論理記憶装置を備え、前記ホスト計算機からのデータの書き込み要求によってオンデマンドで記憶領域の割り当てを実施するストレージ装置とを少なくとも備えるストレージシステムにおける物理記憶領域の動的回収方法であって、前記ホスト計算機で、前記論理記憶装置上の破棄されたデータ領域に対応する所定の論理ブロックを検出する検出処理を実行し、前記ストレージ装置で、前記所定の論理ブロックに対応する物理ブロックを未割り当ての物理ブロックとして登録する回収処理を実行するものである。
【００１０】
本発明においては、前記検出処理は、前記論理記憶装置上の使用されていないデータ領域に対するファイルシステムの最小論理記憶単位を取得するステップと、予め定められた手法を用いて、前記ファイルシステムの最小論理記憶単位に対する論理ブロックを算出するステップと、履歴情報を参照して、前記論理ブロックの中から前記所定の論理ブロックを特定するステップと、前記所定の論理ブロックを特定する情報を前記ストレージ装置に通知するステップと、を含む構成とすることができる。
【００１１】
また、本発明においては、前記回収処理は、前記ホスト計算機からの通知に基づいて、前記論理記憶装置に対する前記物理記憶装置の記憶領域の割り当て状態が記録されたテーブルを参照して、前記所定の論理ブロックに対応する物理ブロックを特定するステップと、前記テーブルの前記物理ブロックに対応する部分の記述を、未割り当ての物理ブロックに変更するステップと、を含む構成とすることもできる。
【００１２】
このように、破棄された論理ブロックを検出し、その論理ブロックから物理ブロックを特定し、その物理ブロックを未割り当ての物理ブロックとして登録することにより、物理記憶領域を有効に利用することができる。
【発明の効果】
【００１３】
本発明のストレージシステム及び該ストレージシステムにおける物理記憶領域の動的回収方法によれば、ストレージ装置の物理記憶スペースを最大限に利用することができ、ストレージ装置のコストを低減することができる。
【００１４】
その理由は、ホスト計算機に設けた論理ブロック検出手段により、破棄された論理ブロックを検出し、ストレージ装置に設けた動的回収手段により、その論理ブロックＩＤを物理ブロックＩＤに変換し、その物理ブロックを未割り当ての物理ブロックとして登録して動的に回収することにより、ストレージ装置の論理記憶装置が有効データ量相当分までの物理ブロックのみを占有するようにし、有効なデータを持っていない物理記憶領域を無くすことができるからである。
【発明を実施するための最良の形態】
【００１５】
従来技術で示したように、論理記憶装置の構築と、その論理記憶装置に対応する物理記憶装置上の領域の割り当てを分離し、データの書き込み要求によってオンデマンドで記憶領域の割り当てを実施することによって、論理記憶装置の容量仮想化を実現する従来のストレージ装置では、一旦割り当てられた物理記憶領域を回収する方法がなかったため、物理記憶領域を有効に利用することができないという問題があった。
【００１６】
そこで、本発明では、ストレージ装置の論理記憶装置を利用するホスト計算機に、定期的に各論理記憶装置に作成された論理ディスクのファイルテーブルを走査し、破棄されたデータ領域を、ファイルシステムの最小論理記憶単位（以下、「論理単元」と呼ぶ。）で洗い出し、それらの論理単元から対応する論理記憶装置の最小論理記憶単位（以下、「論理ブロック」と呼ぶ。）を算出し、算出した論理ブロックのＩＤをストレージ装置に通報する空き論理ブロック検出手段を設け、ストレージ装置に、従来の物理記憶領域のオンデマンド割り当て手段に加えて、ホスト計算機から通報された破棄された論理ブロックＩＤを物理ブロックＩＤへ変換し、その物理ブロックを未割り当ての物理ブロックとして動的に回収する動的回収手段を設ける。これにより、ストレージ装置の物理記憶スペースを最大限に利用することができ、ストレージ装置のコストを低減することができる。
【実施例】
【００１７】
上記した本発明の実施の形態についてさらに詳細に説明すべく、本発明の一実施例に係るストレージシステム及び物理記憶領域の動的回収方法について、図１乃至図８を参照して説明する。図１は、本実施例のホスト計算機及びストレージ装置を備えるストレージシステムの構成を模式的に示す図である。また、図２乃至図５は、ストレージシステム内に記憶される各種テーブルの構成例を示す図であり、図６は、空き論理単元テーブルと空き論理ブロックテーブルとの対応関係を示す図である。また、図７は、破棄された論理ブロックを検出する手順を示すフローチャート図であり、図８は、物理記憶領域の動的回収手順を示すフローチャート図である。
【００１８】
図１を参照すると、本実施例のシステムは、ホスト計算機１１０と、ストレージ装置１２０とから構成される。
【００１９】
ホスト計算機１１０は、各論理記憶装置１２３に作成された論理ディスクのファイルを管理するファイルテーブル１１１と、使用されていない論理単元の情報を保存する空き論理単元テーブル１１２と、使用されていない論理ブロック情報を記録する空き論理ブロックテーブル１１３と、を含み、更に、定期的にファイルテーブル１１１を走査し、破棄されたデータ領域を論理単元で洗い出し、それらの論理単元に対応する論理ブロックを算出し、算出した論理ブロックのＩＤをストレージ装置１２０に通報する空き論理ブロック検出手段１４１を備える。
【００２０】
また、ストレージ装置１２０は、一つ以上の物理記憶装置１２１と、一つ以上の物理記憶装置１２１の集合から構成された物理記憶スペース１２２と、ホスト計算機１１０に使われる論理ディスクを提供する論理記憶装置１２３と、物理記憶スペース１２２上のすべての物理ブロックの割り当て状態を管理する物理記憶管理テーブル１３１と、論理記憶装置１２３の論理記憶装置ＩＤと当該論理記憶装置のエントリテーブルとの対応関係を記録する論理記憶管理テーブル１３２と、各論理記憶装置の論理ブロックと物理記憶スペース１２２上の物理ブロックとの対応関係を記録する一つ以上の論理記憶エントリテーブル１３３と、データの書き込み要求によってオンデマンドで物理記憶領域を割り当てるオンデマンド割り当て手段１４３とを含み、更に、ホスト計算機１１０から通報された破棄された論理ブロックＩＤを物理ブロックＩＤに変換し、その物理ブロックを未割り当ての物理ブロックとして動的に回収する動的回収手段１４２を備える。
【００２１】
図２は、物理記憶管理テーブル１３１の一例を示した図である。物理記憶管理テーブル１３１は、各物理ブロックの識別情報（物理ブロックＩＤ）と、当該物理ブロックが割り当てられている論理記憶装置１２３のＩＤ（割り当てられていない場合はＮＵＬＬ）から構成される。
【００２２】
図３（ａ）は、論理記憶管理テーブル１３２の一例を示した図である。論理記憶管理テーブル１３２は、ストレージ装置１２０に存在する論理記憶装置１２３のＩＤと、その論理記憶装置１２３のエントリテーブルのアドレスから構成される。
【００２３】
図３（ｂ）は、論理記憶エントリテーブル１３３の一例を示した図である。一つの論理記憶装置１２３のエントリは、当該論理記憶装置１２３が含んでいる各論理ブロックの識別情報（論理ブロックＩＤ）と、当該論理ブロックに対応する物理ブロックＩＤ（割り当てられていない場合はＮＵＬＬ）から構成される。
【００２４】
図４は、ホスト計算機１１０における空き論理単元テーブル１１２の一例を示した図である。空き論理単元テーブル１１２は、ホスト計算機１１０において、ストレージ装置１２０の論理記憶装置１２３から構成される論理ディスク上にある、使用されていない論理単元の情報を保存するテーブルである。空き論理単元テーブル１１２は、使用されていない論理ディスク領域に対応する論理記憶装置１２３の識別名と、使用されていない論理単元のＩＤから構成される。論理的に連続している論理単元のＩＤは、ＬＵ（ｍ）〜ＬＵ（ｎ）の形で保存される。
【００２５】
図５は、ホスト計算機１１０における空き論理ブロックテーブル１１３の一例を示した図である。空き論理ブロックテーブル１１３は、空き論理単元テーブル１１２から算出された、ストレージ装置１２０の論理記憶装置１２３の、使用されていない論理ブロック情報を記録するテーブルである。空き論理ブロックテーブル１１３は、使用されていない論理ディスク領域に対応する論理記憶装置１２３のＩＤと、その論理ブロックＩＤから構成される。
【００２６】
図６は、空き論理単元と空き論理ブロックの対応関係の一例を示した図である。論理記憶装置識別名と論理記憶装置ＩＤは必ず一対一であり、変換も簡単である。ただし、論理ブロックの長さはストレージ装置１２０の仕様で規定されているが、論理単元の長さはＯＳによって異なるため、論理単元と論理ブロックの対応関係は必ずしも一対一ではない。しかしながら、ホスト計算機１１０では論理単元の長さがわかるので、空き論理単元テーブル１１２から空き論理ブロックテーブル１１３を算出することが可能である。以下、一個の論理記憶装置１２３において論理ディスクが一個存在する場合に、空き論理単元テーブル１１２から空き論理ブロックテーブル１１３を算出する方法の一例を説明する。
【００２７】
ホスト計算機１１０では、各論理ディスクのファイルテーブルから、連続空き論理単元の開始論理単元ＩＤ＝ｍ、終了論理単元ＩＤ＝ｎ、論理単元長さ＝ａが取得でき、これらから、連続空き論理単元の開始オフセットｘと終了オフセットｙが算出できる。
【００２８】
開始オフセット：ｘ＝ａ＊ｍ
終了オフセット：ｙ＝ａ＊（ｎ＋１）−１
【００２９】
ストレージ装置１２０の論理ブロック長さ＝Ａが既知であることから、連続空き論理単元の開始オフセットｘと終了オフセットｙに対応する論理ブロックＩＤが算出できる。
【００３０】
ｘに対応する論理ブロックＩＤ：Ｐ＝ｉｎｔ（ｘ／Ａ）
ｙに対応する論理ブロックＩＤ：Ｑ＝ｉｎｔ（ｙ／Ａ）
【００３１】
最後は連続空き論理単元に対応する連続空き論理ブロックの開始論理ブロックＩＤと終了論理ブロックＩＤを決める。
【００３２】
Ｐ＊Ａ＝ｍ＊ａの場合、開始論理ブロックＩＤ：Ｍ＝Ｐ
Ｐ＊Ａ≠ｍ＊ａの場合、開始論理ブロックＩＤ：Ｍ＝Ｐ＋１
（Ｑ＋１）＊Ａ＝（ｎ＋１）＊ａの場合、終了論理ブロックＩＤ：Ｎ＝Ｑ
（Ｑ＋１）＊Ａ≠（ｎ＋１）＊ａの場合、終了論理ブロックＩＤ：Ｎ＝Ｑ−１
【００３３】
以上の計算結果により、ＬＢ（Ｍ）からＬＢ（Ｎ）までの（Ｎ−Ｍ＋１）個論理ブロックは空き論理ブロックと判断する。（Ｎ−Ｍ＋１）＜０の場合は（Ｎ−Ｍ＋１）＝０とみなす。
【００３４】
次に、ホスト計算機１１０の空き論理ブロック検出手段１４１の動作について、図７のフローチャートを参照して説明する。
【００３５】
空き論理ブロック検出手段１４１は、ホスト計算機１１０において、定期的に動作する。まずはＯＳ（オペレーティングシステム）が提供されている機能によりデータの整合性を確保し、ストレージ装置１２０の論理記憶装置１２３に作成された論理ディスクへのアクセスを一時的に抑止するか、その論理ディスクをアンマウントする（Ｓ２１）。次に、当該論理ディスクのファイルテーブル１１１を走査し、使用されていない領域に対応する論理記憶装置識別名と論理単元ＩＤを取得し、空き論理単元テーブル１１２に登録する（Ｓ２２）。次に、図６の説明で記述した方法を利用して、空き論理単元テーブル１１２から空き論理ブロックテーブル１１３を算出する（Ｓ２３）。次に、算出した空き論理ブロックテーブル１１３を、ディスクで保存された前回の空き論理ブロックテーブル１１３と比較し、前回動作した時点から破棄された論理ブロックＩＤを洗い出す（Ｓ２４）。次に、それらの論理記憶装置ＩＤと破棄された論理ブロックＩＤをストレージ装置１２０に通報する（Ｓ２５）。最後に、論理ディスクへのアクセスを再開し（Ｓ２６）、最新の空き論理ブロックテーブル１１３で、ディスクで保存された空き論理ブロックテーブル１１３を更新する（Ｓ２７）。
【００３６】
次に、ストレージ装置１２０の動的回収手段１４２の動作について、図８のフローチャートを参照して説明する。
【００３７】
物理記憶の動的回収手段１４２は、ストレージ装置１２０において、ホスト計算機１１０で動作している空き論理ブロック検出手段１４１からの要求によって動作する。まずは論理記憶管理テーブル１３２と論理記憶エントリテーブル１３３を用いて、空き論理ブロック検出手段１４１から通報された論理記憶装置の破棄された論理ブロックＩＤに対応する物理ブロックＩＤを取得する（Ｓ３１）。次に、物理記憶管理テーブル１３１で、当該物理ブロックＩＤに対応する論理記憶装置ＩＤをＮＵＬＬに変更する（Ｓ３２）。最後に、論理記憶エントリテーブル１３３に、当該論理ブロックＩＤに対応する物理ブロックＩＤをＮＵＬＬに変更する（Ｓ３３）。
【００３８】
このように、ホスト計算機１１０に設けた空き論理ブロック検出手段１４１により破棄された論理ブロックを検出し、ストレージ装置１２０に設けた動的回収手段１４２によりその論理ブロックＩＤを物理ブロックＩＤに変換し、その物理ブロックを未割り当ての物理ブロックとして動的に回収することにより、論理記憶装置１２３から破棄されたファイルが占有していた物理記憶領域を、定期的に回収することが可能となる。
【００３９】
なお、本発明は上記実施例の記載に限定されず、ホスト計算機１１０で破棄された論理ブロックを検出し、ストレージ装置１２０で破棄された論理ブロックに対応する物理ブロックＩＤを特定して未割り当ての物理ブロックとして登録可能な限りにおいて、システム構成や手順などは適宜変更することができる。
【産業上の利用可能性】
【００４０】
ストレージ装置を利用する環境において、コストの低減を重視するシステム全般に適用することができる。
【図面の簡単な説明】
【００４１】
【図１】本発明の一実施例に係るホスト計算機とストレージ装置を含むシステムの構成を模式的に示すブロック図である。
【図２】本発明の一実施例に係る物理記憶管理テーブルの構成例を示す図である。
【図３】本発明の一実施例に係る論理記憶管理テーブル及び論理記憶エントリテーブルの構成例を示す図である。
【図４】本発明の一実施例に係る空き論理単元テーブルの構成例を示す図である。
【図５】本発明の一実施例に係る空き論理ブロックテーブルの構成例を示す図である。
【図６】本発明の一実施例に係る空き論理単元テーブルと空き論理ブロックテーブルの対応関係を示す図である。
【図７】本発明の一実施例に係る破棄された論理ブロックの検出手順を示すフローチャート図である。
【図８】本発明の一実施例に係る物理記憶の動的回収手順を示すフローチャート図である。
【符号の説明】
【００４２】
１１０  ホスト計算機
１１１  ファイルテーブル
１１２  空き論理単元テーブル
１１３  空き論理ブロックテーブル
１２０  ストレージ装置
１２１  物理記憶装置
１２２  物理記憶スペース
１２３  論理記憶装置
１３２  論理記憶管理テーブル
１３３  論理記憶エントリテーブル
１４１  空き論理ブロック検出手段
１４２  動的回収手段
１４３  オンデマンド割り当て手段
【図１】
2006293543.tif 000003
【図２】
2006293543.tif 000004
【図３】
2006293543.tif 000005
【図４】
2006293543.tif 000006
【図５】
2006293543.tif 000007
【図６】
2006293543.tif 000008
【図７】
2006293543.tif 000009
【図８】
2006293543.tif 000010