(57)【要約】【課題】本発明は、ストレージにファイルシステム数分のデフラグ用領域を持つことなく、ホスト装置のファイルシステムのデフラグを実施することを課題とする。【解決手段】本発明は、メモリ管理システムであって、メモリプールの実領域が割り当てられているデータ領域のデータを、前記データの断片化が解消されるように、デフラグメンテーション用領域に書き込む書込手段と、前記書込手段によって、前記デフラグメンテーション用領域にデータが書き込まれると、前記デフラグメンテーション用領域に前記メモリプールの実領域を割り当てるように制御する制御手段とを有することを特徴とする。【選択図】図１
2010238139.tif 000002
【特許請求の範囲】
【請求項１】
メモリプールの実領域が割り当てられているデータ領域のデータを、前記データの断片化が解消されるように、デフラグメンテーション用領域に書き込む書込手段と、
前記書込手段によって、前記デフラグメンテーション用領域にデータが書き込まれると、前記デフラグメンテーション用領域に前記メモリプールの実領域を割り当てるように制御する制御手段と
を有することを特徴とするメモリ管理システム。
【請求項２】
前記書込手段が前記デフラグメンテーション用領域に対する書き込みを終了すると、前記データ領域に割り当てられている実領域を開放する開放手段を有することを特徴とする請求項１に記載のメモリ管理システム。
【請求項３】
前記書込手段が前記デフラグメンテーション用領域に対する書き込みを終了すると、前記デフラグメンテーション用領域がデータ領域、前記データ領域がデフラグメンテーション用領域になるように切り替える切替手段を有することを特徴とする請求項１又は請求項２に記載のメモリ管理システム。
【請求項４】
メモリプールの実領域が割り当てられているデータ領域のデータがデフラグメンテーション用領域に書き込まれると、前記デフラグメンテーション用領域に前記メモリプールの実領域を割り当てるように制御する制御手段
を有することを特徴とするメモリ管理装置。
【請求項５】
メモリプールの実領域が割り当てられているデータ領域のデータを、データの断片化が解消されるようにデフラグメンテーション用領域に書き込む書込手段と、
前記書込手段によって、デフラグメンテーション用領域にデータが書き込まれると、前記デフラグメンテーション用領域に前記メモリプールの実領域を割り当てるように制御する制御手段と
を有することを特徴とするメモリ管理装置。
【請求項６】
メモリプールの実領域が割り当てられているデータ領域のデータを、デフラグメンテーション用領域に書き込む書込ステップと、
デフラグメンテーション用領域に前記データが書き込まれると、前記デフラグメンテーション用領域に前記メモリプールの実領域を割り当てるように制御する制御ステップと
を有することを特徴とするメモリ管理方法。
【請求項７】
前記デフラグメンテーション用領域に対する書き込みが終了すると、前記データ領域に割り当てた実領域を開放する開放ステップを有することを特徴とする請求項６に記載のメモリ管理方法。
【請求項８】
前記デフラグメンテーション用領域に対する書き込みが終了すると、前記デフラグメンテーション用領域がデータ領域、前記データ領域がデフラグメンテーション用領域になるように切り替える切替ステップを有することを特徴とする請求項６又は請求項７に記載のメモリ管理方法。
【請求項９】
情報処理装置のプログラムであって、前記プログラムは、前記情報処理装置に、
メモリプールの実領域が割り当てられているデータ領域のデータがデフラグメンテーション用領域に書き込まれると、前記デフラグメンテーション用領域に前記メモリプールの実領域を割り当てるように制御する処理を
実行させることを特徴とするプログラム。
【請求項１０】
情報処理装置のプログラムであって、前記プログラムは、前記情報処理装置に、
デフラグメンテーション時に、メモリプールの実領域が割り当てられているデータ領域のデータを、データの断片化が解消されるように、デフラグメーション用領域に書き込む書込処理と、
前記書込処理によって、デフラグメンテーション用領域にデータが書き込まれると、前記デフラグメンテーション用領域に前記メモリプールの実領域を割り当てるように制御する制御処理と
を実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ファイルシステムのデフラグメンテーション（以下、デフラグと示す）の際の論理ディスクの割り当ての技術に関する。
【背景技術】
【０００２】
ファイルシステムを長期間使用して、ファイルの作成・削除を繰り返すと、ファイルシステムの使用領域が断片化する。この断片化を解消するために、ファイルシステムに対してデフラグを実施する場合、ファイルシステムに十分な空き領域を持たせるか、あるいは、デフラグ用に一時的な領域をホスト計算機に割り当てて、デフラグが実施されていた（例えば特許文献１）。
【特許文献１】特開２００５‐２８４６３２
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、デフラグのために常にファイルシステムに空き領域を確保しておくと、各ファイルシステムのＬＤ毎にデフラグ用の領域が必要となる。その結果、ストレージの領域利用効率が悪化することが分かった。
【０００４】
また、必要に応じてホスト計算機にストレージから一時的な領域となるＬＤを割り当てる方法は、ホスト計算機が割り当てられたＬＤを認識するための処理を余計にすることが分かった。
【０００５】
また、デフラグは空き領域を使用してコピー元を退避した後、再配置を行うため、コピー回数が多くなり、デフラグ完了までに時間がかかっていることが分かった。
【０００６】
本発明は、上記問題点を顧みて為されたものである。即ち本発明は、ストレージに複数のホスト計算機毎にファイルシステムのデフラグ用領域を用意せずに、ホスト装置のファイルシステムのデフラグを実施することを課題とする。
【課題を解決するための手段】
【０００７】
上記課題を解決するための本発明は、メモリ管理システムであって、メモリプールの実領域が割り当てられているデータ領域のデータを、前記データの断片化が解消されるように、デフラグメンテーション用領域に書き込む書込手段と、前記書込手段によって、前記デフラグメンテーション用領域にデータが書き込まれると、前記デフラグメンテーション用領域に前記メモリプールの実領域を割り当てるように制御する制御手段とを有することを特徴とする。
【０００８】
上記課題を解決するための本発明は、メモリ管理装置であって、メモリプールの実領域が割り当てられているデータ領域のデータがデフラグメンテーション用領域に書き込まれると、前記デフラグメンテーション用領域に前記メモリプールの実領域を割り当てるように制御する制御手段を有することを特徴とする。
【０００９】
上記課題を解決するための本発明は、メモリ管理装置であって、メモリプールの実領域が割り当てられているデータ領域のデータを、データの断片化が解消されるようにデフラグメンテーション用領域に書き込む書込手段と、前記書込手段によって、デフラグメンテーション用領域にデータが書き込まれると、前記デフラグメンテーション用領域に前記メモリプールの実領域を割り当てるように制御する制御手段とを有することを特徴とする。
【００１０】
上記課題を解決するための本発明は、メモリ管理方法であって、メモリプールの実領域が割り当てられているデータ領域のデータを、デフラグメンテーション用領域に書き込む書込ステップと、デフラグメンテーション用領域に前記データが書き込まれると、前記デフラグメンテーション用領域に前記メモリプールの実領域を割り当てるように制御する制御ステップとを有することを特徴とする。
【００１１】
上記課題を解決するための本発明は、情報処理装置のプログラムであって、前記プログラムは、前記情報処理装置に、メモリプールの実領域が割り当てられているデータ領域のデータがデフラグメンテーション用領域に書き込まれると、前記デフラグメンテーション用領域に前記メモリプールの実領域を割り当てるように制御する処理を実行させることを特徴とする。
【００１２】
上記課題を解決するための本発明は、情報処理装置のプログラムであって、前記プログラムは、前記情報処理装置に、デフラグメンテーション時に、メモリプールの実領域が割り当てられているデータ領域のデータを、データの断片化が解消されるように、デフラグメーション用領域に書き込む書込処理と、
前記書込処理によって、デフラグメンテーション用領域にデータが書き込まれると、前記デフラグメンテーション用領域に前記メモリプールの実領域を割り当てるように制御する制御処理とを実行させることを特徴とする。
【発明の効果】
【００１３】
デフラグ時にホスト計算機のデフラグ用領域に実領域を割り当ててデフラグを行うことにより、ストレージにファイルシステム数分のデフラグ用領域を持つことなく、デフラグの実施が可能になる。
【図面の簡単な説明】
【００１４】
【図１】本発明における実施の形態の一例を示した図。
【図２】ファイルシステム管理テーブル１３３の構成の一例を示した図。
【図３】マッピングテーブル２５１の構成の一例を示した図。
【図４】デフラグ実施前のファイルシステム管理テーブル１３３の具体例を示した図。
【図５】デフラグ実施前のマッピングテーブル２５１の具体例を示した図。
【図６】デフラグ要求部１３１の動作を示すフローチャート。
【図７】デフラグ実施中のファイルシステム管理テーブル１３３の具体例を示した図。
【図８】デフラグ実施中のマッピングテーブル２５１の具体例を示した図。
【図９】デフラグ実施後のファイルシステム管理テーブル１３３の具体例を示した図。
【図１０】デフラグ実施後のマッピングテーブル２５１の具体例を示した図。
【図１１】データコピー部１７０の動作のフローチャート。
【図１２】領域切り替え部１２０の動作のフローチャート。
【図１３】領域解放部２４６の動作のフローチャート。
【図１４】本発明における実施の形態の別の例を示した図。
【図１５】他の実施例におけるデフラグ要求部１３１の動作のフローチャート。
【図１６】他の実施例における領域コピー部２７０の動作のフローチャート。
【発明を実施するための最良の形態】
【００１５】
本発明では、ホスト計算機のファイルシステムが通常の動作で必要とする領域より大きなサイズとなる仮想的な容量を持つ論理ディスク（Logical Disk：ＬＤ）がストレージのプール（メモリプール）上に構築される。そして、構築された論理ディスクは、ホスト計算機に割り当てられる。
【００１６】
ホスト計算機側は、自計算機に割り当てられた論理ディスクにファイルシステムを作成し、当該ファイルシステム上で、ホスト計算機が必要とするサイズ分の領域を作成する（以後、この領域を通常領域と呼ぶ）。当該ファイルシステムは、通常領域をデータ領域として利用する。また、当該ファイルシステムのデータ領域として使用されない領域は、デフラグ（デフラグメンテーション）用領域とし、他の用途には使用されない。
【００１７】
この時、ホスト計算機からの書き込み（Write）に応じて、仮想容量を持つＬＤにはプール上から実領域が割り当てられる。このため、通常領域には実領域が割り当てられる。しかしながら、デフラグ用領域には実領域が割り当てられない。これにより、ファイルシステムが通常使用する領域分と同じ領域分、プールの実領域が使用される。
【００１８】
当該ファイルシステムに対してデフラグを実施する場合、データ領域のデータが、データの断片化が解消されるように、デフラグメンテーション用領域にコピーされる。この時、プールの実領域が割り当てられていなかったデフラグメンテーション用領域に、プールの実領域が割り当てられる。
【００１９】
<第１の実施の形態>
以下に、本実施の形態の詳細について説明する。
【００２０】
図１に示す本実施の形態は、ホスト計算機１００とストレージ２００とを有する。
【００２１】
ホスト計算機１００は、割り当てられたストレージ２００の仮想容量を持つＬＤにファイルシステムを作成する。この時、当該ファイルシステム上で、ホスト計算機が必要とするサイズ分の領域が作成される。ホスト計算機１００のデータ処理部による書き込み（Write）に応じて、ＬＤにプール上から実領域が割り当てられるため、ファイルシステムの通常領域には実領域が割り当てられる。
【００２２】
ホスト計算機１００は、ファイルシステム１１０、領域切替部１２０、データ処理部１３０、デフラグ要求部１３１、ファイルシステム管理テーブル１３３、及びデータコピー部１７０を有する。
【００２３】
ファイルシステム１１０は、論理的な単位で区切った複数のデータブロックで構成されている。これらのデータブロックは、通常使用する領域である通常領域１１２と、デフラグに使用するデフラグ用領域１１４とに分けられる。
【００２４】
ファイルシステム管理テーブル１３３は、ファイルシステム１１０を管理するためのものである。図２は、ファイルシステム管理テーブル１３３の構成の一例図である。ファイルシステム管理テーブル１３３の各列について説明する。ファイル番号は、ホスト計算機が通常領域１１２に作成するファイルを一意に識別する番号である。ファイルオフセット番号は、１つのファイルがファイルシステム上の複数のデータブロックに跨って作成される場合、そのファイルを構成するデータブロックのシーケンスの順番を示す番号である。データブロック番号は、データブロックを一意に識別する識別情報であり、ファイルデータが記憶されているデータブロックを示す。用途は、当該データブロックが通常領域１１２とデフラグ用領域１１４とのどちらに属するかを示す情報である。使用状態は、当該データブロックが使用されているかどうか（当該データブロック上にファイルが作成されているかどうか）を示す情報である。デフラグ状態とは、当該データブロックのデフラグが完了したかどうかを示す情報である。
【００２５】
デフラグ要求部１３１は、ファイルシステム管理テーブル１３３を参照・更新し、データコピー部１７０へデフラグを指示する。更に、デフラグ要求部１３１は、領域切り替え部１２０へ領域切り替えを要求し、ストレージ２００に備えられた領域解放部２４６へ領域解放を要求する。
【００２６】
領域切替部１２０は、デフラグ要求部１３１から要求を受けて通常領域１１２とデフラグ用領域１１４とを切り替える。
【００２７】
データ処理部１３０は、ファイルシステム１１０のファイルシステムの通常領域１１２にファイルを生成する。即ち、ストレージ２００のＬＤ２２１にデータを書き込む（Write）。また、データ処理部１３０は、ファイル生成に応じて、ファイルシステム管理テーブル１３３を更新する。
【００２８】
データコピー部１７０は、デフラグ要求部１３１から要求を受けると、通常領域１１２に記されているデータをデフラグ用領域１１４にコピーする。尚、本説明では、データコピー部１７０と、ストレージ２００のＬＤにファイルシステムを作成するデータ処理部とは、別の構成として設けられている場合で説明するが、同一の構成部であっても良い。
【００２９】
ストレージ２００は、物理ディスク群２４０、プール２３０、ＬＤ群２２０、ＬＤ２２１、領域解放部２４６、及びマッピングテーブル２５１を有する。
【００３０】
物理ディスク群２４０は、ストレージ２００に具備されている複数の物理ディスク２４１で構成されている。
【００３１】
プール２３０は、物理ディスク群２４０で構成されている仮想的な記憶領域である。プール２３０は、プールを論理的な単位で区切った複数のプールブロックで構成されている。このプールブロックは、ＬＤ２２１に割り当てられた領域である割当済領域２３２と割当が行われていない領域である未割当領域２３４とに分けられる。割当済領域２３２は、ファイルシステム１１０の通常領域１１２にファイルが書き込まれることによるＬＤ２２１への書き込み（write）に応じて、ＬＤ２２１に実領域として割り当てられる領域である。
【００３２】
ＬＤ２２１は、仮想容量を持つ論理ディスクである。この論理ディスク（ＬＤ２２１）は、ホスト計算機１００によって使用される。ファイルシステム１１０の通常領域１１２にファイルが書き込まれると、このファイルが書き込まれた容量と同じ容量のＬＤ２２１が使用される。ＬＤ群２２０は、複数あるホスト計算機の各々が使用するＬＤの集まりである。
【００３３】
領域解放部２４６は、デフラグ要求部１３１からの要求を受け、マッピングテーブル２５１を参照・更新する。デフラグ用領域に実領域が割り当てられると、その割当内容がマッピングテーブル２５１に反映される。更に、領域解放部２４６は、ＬＤ２２１に割り当てた割当済領域２３２を解放して当該領域を未割当領域２３４に戻す。
【００３４】
制御部２６０は、ファイルシステム１１０の通常領域１１２にファイルが書き込まれることによるＬＤ２２１への書き込み（write）に応じて、ＬＤ２２１にプールを実領域として割り当てる。また、ファイルシステムの通常領域からデフラグ用領域へのコピーの際、ホスト計算機１００からの書き込み（Write）に応じて、ストレージ２００のＬＤ２２１にデフラグ用領域のためのプール上の実領域が、制御部２６０によって、更に割り当てられる。そして、割り当てられた内容がマッピングテーブル２５１に反映される。尚、本説明では、領域開放部２４６と制御部２６０とが別々の構成部の場合で説明するが、同一であっても良い。
【００３５】
マッピングテーブル２５１は、プール２３０を管理するためのものである。図３は、マッピングテーブル２５１の構成の一例である。図３の各列について説明する。
【００３６】
プールブロック番号は、プールを論理的な単位で区切ったブロック（プールブロック）を一意に識別する番号である。ＬＤ番号は、当該プールブロックを使用しているＬＤを一意に識別する番号である。データブロック番号は、ファイルシステムを論理的な単位で区切ったブロック（データブロック）を一意に識別する番号である。領域サイズは、当該プールブロックのサイズを示す情報である。
【００３７】
本発明における実施の形態の詳細な動作を図に基づいて説明する。
【００３８】
図４は、本実施例におけるデフラグ実施前のファイルシステム管理テーブル１３３の具体例を示した図である。ここで、図４に示されている内容について説明する。
【００３９】
ファイルシステム１１０のデータブロック“１”から“１２”が通常領域１１２に設定されている。また、ファイルシステム１１０のデータブロック“１３”から“２４”がデフラグ用領域１１４に設定されている。データブロック“１”、“２”、“４”にはファイル“１”が記憶されている。データブロック“１２”にはファイル“２”が記憶されている。データブロック“６”、“７”にはファイル“３”が記憶されている。データブロック“５”、“８”、“９”、“１１”にはファイル“４”が記憶されている。
【００４０】
図５は、本実施例におけるデフラグ実施前のマッピングテーブル２５１の具体例を示した図である。ここで、図５に示されている内容と、図４に示されている内容とを対応させて説明する。尚、ホスト計算機１００が使用するＬＤ２２１のＬＤ番号を“１”として説明する。
【００４１】
上述したように、ファイルシステム１１０の通常領域１１２として設定されているデータブロックは、データブロック“１”から“１２”である。このデータブロック“１”から“１２”のそれぞれに対して、プールブロック“１”から“１２”のそれぞれが物理領域として割り当てられている。そして、本説明では、ホスト計算機１００はＬＤ２２１（ＬＤ番号“１”）を使用するため、プールブロック“１”から“１２”は、ＬＤ番号“１”が使用する。本発明では、ファイルシステム１１０のデフラグ用領域１１４には、物理領域を割り当てないため、マッピングテーブル２５１に、デフラグ用領域１１４のデータブロック番号は示されていない。また、ここではプール２３０の全領域サイズを２５６とした場合の例が示されている。
【００４２】
デフラグ実施前の状態が図４及び図５に示されている状態である場合を用いて、デフラグ要求部１３１の動作を図６のフローチャートを用いて説明する。
【００４３】
デフラグ要求部１３１は、ユーザからデフラグ命令を受けると、ファイルシステム管理テーブル１３３を検索し、使用状態が「使用」であるレコードとデフラグ用領域のレコードを全て取得する（Ｓ１００）。例えば、図４に示されているファイルシステム管理テーブル１３２のデータブロック番号“１”、“２”、“４”、“１２”、“６”、“７”、“５”、“８”、“９”、“１１”のレコードが取得される。
【００４４】
デフラグ要求部１３１は、Ｓ１００で取得したレコードのうち、ファイル番号が同一であるレコードに対して、ファイルオフセット番号の若番から順にデータブロック番号を取得する。取得した各データブロック番号に対して、デフラグ用領域のデータブロック番号を若番から順に１つずつ組み合わせる（Ｓ１１０）。図４のファイルシステム管理テーブル１３３において、ファイル番号１に対して処理が行われる場合、データブロック番号１、２、４が順に取得される。そして、データブロック番号１と１３、２と１４、４と１５が組み合わされる。同様に、ファイル番号２に対して処理が行われる場合、データブロック番号１２が取得され、データブロック番号１２と１６が組み合わされる。更に、ファイル番号３に対して処理が行われる場合、データブロック番号６、７が順に取得され、データブロック番号６と１７、７と１８が組み合わされる。更に、ファイル番号４に対して処理が行われる場合、データブロック番号５、８、９，１１が順に取得され、データブロック番号５と１９、８と２０、９と２１、１１と２２が組み合わされる。
【００４５】
デフラグ要求部１３１は、Ｓ１１０で取得した各データブロック番号をコピー元のデータブロック番号として指定し、かつ、組み合わされた各データブロック番号をコピー先のデータブロック番号として指定し、データコピー部１７０へコピー開始を要求する（Ｓ１２０）。
【００４６】
デフラグ要求部１３１は、データコピー部１７０からコピー完了の報告を受けると（後述のＳ２１０）、ファイルシステム管理テーブル１３３へデフラグの結果を反映する。Ｓ１１０でコピー元、またはコピー先となったレコードは、デフラグ状態が「済」になる（Ｓ１３０）。
【００４７】
デフラグ要求部１３１は、Ｓ１００で取得したレコードのうち、使用状態が「使用」であり、かつ、デフラグ状態が「未実施」のレコードがあるかどうかをチェックする。該当するレコードがあれば、該当するレコードのファイル番号に対してＳ１１０から動作を実施する。該当するレコードが無ければ、ファイルのコピーを終了する（Ｓ１４０）。
【００４８】
Ｓ１４０実施後、図４のファイルシステム管理テーブル１３３は図７に示された状態になる。また、ファイルシステムの通常領域からデフラグ用領域へのコピーの際、ホスト計算機１００からの書き込み（Write）に応じて、制御部２６０によって、ストレージ２００のＬＤ２２１にプール上の実領域が割り当てられる。そのため、Ｓ１４０実施後、図５のマッピングテーブル２５１は、図８の状態になる。図８に示すように、ファイルシステム１１０のデフラグ用領域１１４に設定されていて、データが書き込まれたデータブロック“１３”から“２４”にプールブロックが“１３”から“２４”が割り当てられる。
【００４９】
デフラグ要求部１３１は、通常領域とデフラグ用領域の領域切り替えを領域切り替え部１２０へ要求する（Ｓ１５０）。
【００５０】
デフラグ要求部１３１は、領域切り替え部１２０から領域切り替え完了の報告を受けると（後述のＳ３００）、ファイルシステム管理テーブル１３２を検索し、通常領域のレコードを全て取得し、当該レコードのデータブロック番号を取得する。そして、デフラグ要求部１３１は、取得したデータブロック番号を、解放する領域として指定し、領域解放部２４６へ領域解放を要求する（Ｓ１６０）。
【００５１】
デフラグ要求部１３１は、領域解放部２４６から領域解放完了の報告を受けると（後述のＳ４２０）、ファイルシステム管理テーブル１３３へ領域切り替えと領域解放の結果を反映する（Ｓ１７０）。
【００５２】
Ｓ１７０実施後、図７のファイルシステム管理テーブル１３３は、図９に示された状態になる。図９に示されているように、ファイルシステム１１０のデフラグ用領域に設定されていたデータブロック“１３”から“２４”までが通常領域になり、通常領域に設定されていたデータブロック“１”から“１２”までがデフラグ用領域になる。また、Ｓ１７０実施後、図８のマッピングテーブル２５１は、図１０に示された状態になる。図１０に示されているように、デフラグ用領域１１４に割り当てたプールブロックが“１３”から“２２”が通常領域として割り当てられるので、プールブロックが“１３”から“２２”のそれぞれにデータブロック“１３”から“２２”が割り当てられる。一方、通常領域に割り当てたプールブロックが“１”から“１２”がデフラグ用領域として割り当てられるので、プールブロックが“１”から“１２”のそれぞれにデータブロックが未割当となり、それに応じてＬＤ番号も未割当になる。
【００５３】
図１１は、本実施例におけるデータコピー部１７０の動作を示すフローチャートである。
【００５４】
データコピー部１７０は、Ｓ１２０における、デフラグ要求部１３１からコピー元のデータブロック番号とコピー先のデータブロック番号を受けると、コピー元のデータブロックの内容を読み出す（Ｓ２００）。
【００５５】
データコピー部１７０は、Ｓ２００で読み出したデータをコピー先のデータブロックへ書き込み、デフラグ要求部１３１へコピー完了を報告する。この時、コピーに伴ってＬＤ２２１の実領域ではないブロックへのwriteが発生する。プール２３０はwriteに応じてＬＤへ実領域を割り当てて、マッピングテーブル２５１へ割当結果を反映する（Ｓ２１０）。
【００５６】
図１２は、本実施例における領域切り替え部１２０の動作を示すフローチャートである。
【００５７】
領域切り替え部１２０は、Ｓ１５０における、デフラグ要求部１３１から領域切り替えの要求を受けると、通常領域１１２とデフラグ用領域１１４とを切り替えて、ファイルシステムの管理情報を更新し、デフラグ要求部１３１へ領域切り替え完了を報告する（Ｓ３００）。
【００５８】
図１３は、本実施例における領域解放部２４６の動作を示すフローチャートである。
【００５９】
領域解放部２４６は、Ｓ１６０における、デフラグ要求部１３１からデータブロック番号と領域解放の要求を受けると、マッピングテーブル２５１を検索し、当該データブロック番号に該当するレコードを取得する（Ｓ４００）。
【００６０】
領域解放部２４６は、Ｓ４００で取得したレコードからプールブロック番号を取得し、当該プールブロック番号の領域を割当済領域２３２から解放し、未割当領域２３４へ組み込む（Ｓ４１０）。
【００６１】
領域解放部２４６は、領域解放の結果をマッピングテーブル２５１へ反映し、デフラグ要求部１３１へ領域解放完了を報告する（Ｓ４２０）。
【００６２】
本実施の形態によると、通常の動作時にはデフラグ用領域に実領域を割り当てず、デフラグ時にデフラグ用領域に実領域を割り当てているので、ストレージに各計算機のファイルシステム数分のデフラグ用領域を持つことなく、デフラグの実施を可能にしている。また、ファイルシステムが使用する領域と同じサイズの実領域がファイルシステムに割り当てられているので、ホスト計算機が割り当てられたＬＤを認識するための処理が不要となる。また、現在ファイルシステムが使用しているデータ領域と同じサイズの領域を確保して、断片化を解消するようにデータ領域をデフラグ用領域へコピーし、コピー完了後に通常領域とデフラグ用領域を切り替えることにより、デフラグにかかる時間を短縮することが可能である。
【００６３】
<第２の実施の形態>
本発明の第２の実施の形態について以下に説明する。本実施の形態では、ストレージ２００でデフラグを実施する場合について説明する。
【００６４】
図１４にストレージ２００でデフラグを実施する例を示す。図１との差異は、ホスト計算機側にデータコピー部１７０が無く、ストレージ２００に領域コピー部２７０を持ち、デフラグ要求部１３１が領域コピー部２７０へコピーを指示する点である。なお、領域切り替え部１２０、領域解放部２４６の動作については、先述した実施例との差異は無い。
【００６５】
図１５は、ストレージ２００でデフラグを実施する際のデフラグ要求部１３１の動作を示すフローチャートである。図６との差異は、コピー開始の要求先が、データコピー部１７０ではなく、領域コピー部２７０となっている点である。尚、本実施の形態では、領域コピー部２７０と制御部２６０とが別々の構成部である場合を用いて説明するが、同一であっても良い。
【００６６】
図１６は、ストレージ２００でデフラグを実施する際の領域コピー部２７０の動作を示すフローチャートである。
【００６７】
領域コピー部２７０は、デフラグ要求部１３１からコピー元のデータブロック番号とコピー先のデータブロック番号とを受けると、マッピングテーブル２５１を検索し、コピー元に該当するレコードを取得する。また、コピー元の全領域を格納可能な領域サイズを持つ未割当領域を検索して、当該レコードをコピー先のレコードとして取得する（Ｓ６００）。
【００６８】
領域コピー部２７０は、Ｓ６００で取得したレコードからコピー元のプールブロック番号とコピー先のプールブロック番号とを取得し、コピー元のプールブロックからコピー先のプールブロックへ、プールブロックの内容をコピーする（Ｓ６１０）。
【００６９】
領域コピー部２７０は、コピーの結果をマッピングテーブル２５１へ反映し、デフラグ要求部１３１へコピー完了を報告する（Ｓ６３０）。
【００７０】
本実施の形態によると、第１の実施の形態同様に、通常の動作時にはデフラグ用領域に実領域を割り当てず、デフラグ時にデフラグ用領域に実領域を割り当てているので、ストレージに各計算機のファイルシステム数分のデフラグ用領域を持つことなく、デフラグの実施が可能となる。また、ファイルシステムが使用する領域と同じサイズの実領域がファイルシステムに割り当てられているので、ホスト計算機が割り当てられたＬＤを認識するための処理が不要となる。更に、ホスト計算機側ではなくストレージ２００でコピーするため、ホスト計算機に負荷をかけずにデフラグを実施することが可能となる。
【００７１】
上記実施の形態によると、プール上の未割当領域を一時的に利用してデフラグを実施することにより、ストレージに複数の各ファイルシステム分のデフラグ用の空き領域を持つことなくデフラグを実施することが可能となるため、ストレージの領域利用効率を改善することが可能である。
【００７２】
また、上記実施の形態によると、ホスト計算機に一時的な領域用のＬＤを別途割り当てる必要が無いため、デフラグを実施する際にＬＤを別途認識する手順が不要となる。
【００７３】
また、現在ファイルシステムが使用しているデータ領域と同じサイズの領域を確保して、断片化を解消するようにデータ領域をデフラグ用領域へコピーし、コピー完了後に通常領域とデフラグ用領域を切り替えることにより、デフラグにかかる時間を短縮することが可能である。
【００７４】
また、上記実施の形態によると、ファイルシステム上の使用領域を切り替え先の領域へコピーし、デフラグ後にコピー元の領域を全て解放するため、ストレージの領域利用効率を改善することが可能である。
【００７５】
尚、上述した実施の形態の各装置は、上記説明からも明らかなように、ハードウェアで構成することも可能であるが、コンピュータプログラムにより実現することも可能である。このような場合、プログラムメモリに格納されているプログラムで動作するプロセッサによって、上述した実施の形態と同様の機能、動作を実現させる。尚、上述した実施の形態の一部の機能をコンピュータプログラムにより実現することも可能である。
【符号の説明】
【００７６】
１００    ホスト計算機
１１０    ファイルシステム
１１２    通常領域
１１４    デフラグ用領域
１２０    領域切り替え部
１３１    デフラグ要求部
１３３    ファイルシステム管理テーブル
１７０    データコピー部
２００    ストレージ
２２０    ＬＤ群
２２１    ＬＤ
２３０    プール
２３２    割当済領域
２３４    未割当領域
２４０    物理ディスク群
２４１    物理ディスク
２４６    領域開放部
２５１    マッピングテーブル
２６０    制御部
【図１】
2010238139.tif 000003
【図２】
2010238139.tif 000004
【図３】
2010238139.tif 000005
【図４】
2010238139.tif 000006
【図５】
2010238139.tif 000007
【図６】
2010238139.tif 000008
【図７】
2010238139.tif 000009
【図８】
2010238139.tif 000010
【図９】
2010238139.tif 000011
【図１０】
2010238139.tif 000012
【図１１】
2010238139.tif 000013
【図１２】
2010238139.tif 000014
【図１３】
2010238139.tif 000015
【図１４】
2010238139.tif 000016
【図１５】
2010238139.tif 000017
【図１６】
2010238139.tif 000018