(57)【特許請求の範囲】
【請求項１】
コンピュータに各ステップを実行させて、ストレージメディア中の不連続な複数の領域にわたって記録されている断片化ファイルの断片化を解消させる方法であって、
（ａ）ストレージメディア中の読み取り又は書き込みの対象ファイルの位置に向かって、現在の位置からヘッドを移動することを開始するステップと、
（ｂ）対象ファイルまでの途中に存在している複数のファイルについて、前記ヘッドを通じて複数のファイルを読み込みながら、その複数のファイルの各々が有効なファイルであるのかそれとも無効なファイルであるのかを決定するステップと、
（ｃ）有効なファイルであると決定された複数のファイルを、別のストレージメディアに連続的に書き出すステップと、
（ｄ）前記対象ファイルの位置が、前記テープメディア上に予め設定されたポイントの位置よりも末尾側にある場合、その末尾側に記録されている有効なファイルを、前記別のストレージメディアにさらに書き出すステップと、
を有する、
方法。
【請求項２】
前記コンピュータは、前記（ａ）のステップを、ストレージメディア中の対象ファイルへのアクセスを要求する読み取りコマンドまたは書き込みコマンドに応答して、実行する、
請求項１に記載の方法。
【請求項３】
さらに、前記（ｃ）と（ｄ）のステップの間において、
（ｅ）前記ヘッドが前記対象ファイルの位置まで移動すると、読み取りコマンドまたは書き込みコマンドを実行するステップと、を有する、
請求項２に記載の方法。
【請求項４】
前記コンピュータは、前記（ｂ）のステップにおいて、複数のファイルの各々について有効なファイルであるのかそれとも無効なファイルであるのかについて、予め記憶されている有効なファイル及び無効なファイルを管理する台帳に従って決定する、
請求項１に記載の方法。
【請求項５】
ストレージメディア中の現在の位置から対象ファイルの位置までのファイルの断片化の度合いが、前記台帳に基づいて一定の閾値以上であると判断された場合にのみ、（ｂ）のステップを実行する、
請求項４に記載の方法。
【請求項６】
ストレージメディアが２次ストレージメディアであって、
不連続な複数の領域にわたって記録されているファイルが、１次ストレージメディアから２次ストレージメディアへと移動されてきたファイルであって、２次ストレージメディアにおいて新しいファイルとして追記されたものである、
請求項４に記載の方法。
【請求項７】
無効なファイルが、１次ストレージメディアにおいて更新されたファイルである、
請求項６に記載の方法。
【請求項８】
１次ストレージメディアがＨＤＤであり、２次ストレージメディアがテープメディアである、
請求項７に記載の方法。
【請求項９】
ヘッドの現在の位置が、テープメディアの先頭である、
請求項８に記載の方法。
【請求項１０】
コンピュータに各ステップを実行させて、テープメディア中の不連続な複数の領域にわたって記録されている断片化ファイルの断片化を解消させる方法であって、
（ａ）ヘッドの現在の位置を特定するステップと、
（ｂ）ヘッドによる読み取りの対象となる、テープメディアの末尾の位置を特定するステップと、
（ｃ）テープメディア中の対象ファイルへのアクセスを要求する読み取りコマンドに応答して、テープメディア中の対象ファイルの位置を特定するステップと、
（ｄ）特定された対象ファイルの位置が、前記テープメディア上に予め設定されたポイントの位置よりも末尾側にあるかどうかを決定するステップと、
（ｅ）予め設定されたポイントの位置よりも末尾側にあるものと決定される場合には、ストレージメディア中の対象ファイルの位置に向かって、現在の位置からヘッドを移動することを開始するステップと、
（ｆ）対象ファイルまでの途中に存在している複数のファイルについて、前記ヘッドを通じて複数のファイルを読み込みながら、その複数のファイルの各々が有効なファイルであるのかそれとも無効なファイルであるのかを決定するステップと、
（ｇ）有効なファイルであると決定された複数のファイルを、別のテープメディアに連続的に書き出すステップと、
（ｈ）対象ファイルの読み取りを実行するステップと、
（ｉ）対象ファイルの読み取りの実行が完了した後に、さらに後ろの末尾側に記録されているファイルを読み込み、その複数のファイルの各々が有効なファイルであるのかそれとも無効なファイルであるのかを決定するステップと、
（ｊ）有効なファイルであると決定された複数のファイルを、別のテープメディアに連続的に書き出すステップと、
を有する、
方法。
【請求項１１】
（ｂ）のステップにおいて、テープメディアの末尾の位置までの間を複数のパーティション（パーティション０、パーティション１）に分けて、
分けられた複数のパーティション（パーティション０、パーティション１）の各々の末尾から手前の位置に、前記パーティション単位でファイルが記憶されていない領域を作成するために前記ポイントを設定する、
請求項１０に記載の方法。
【請求項１２】
ストレージメディアが、データが一本のテープメディア上に何度も往復して書き込まれる形式のものであって、
テープメディアの先頭から順番にヘッドが移動した距離が、テープメディア上の各ファイルが記録された論理位置となり、
テープメディア上における縦横の各ファイルの物理位置と、その論理位置とがマッピングされたものが、前記ファイルが有効か無効かを決定するための台帳として予め記憶されている、
請求項１〜１１の何れかに記載の方法。
【請求項１３】
請求項１〜１２の何れかに記載の方法の各ステップをコンピュータに実行させる、プログラム。
【請求項１４】
ストレージメディア中の不連続な複数の領域にわたって記録されている断片化ファイルの断片化を解消させるシステムであって、
（ａ）ストレージメディア中の読み取り又は書き込みの対象ファイルの位置に向かって、現在の位置からヘッドを移動することを開始し、
（ｂ）対象ファイルまでの途中に存在している複数のファイルについて、前記ヘッドを通じて複数のファイルを読み込みながら、その複数のファイルの各々が有効なファイルであるのかそれとも無効なファイルであるのかを決定し、
（ｃ）有効なファイルであると決定された複数のファイルを、別のストレージメディアに連続的に書き出す、
（ｄ）前記対象ファイルの位置が、前記テープメディア上に予め設定されたポイントの位置よりも末尾側にある場合、その末尾側に記録されている有効なファイルを、前記別のストレージメディアにさらに書き出す、
システム。
【請求項１５】
請求項１４に記載のシステムを含み、
ストレージメディアおよび別のストレージメディアが２次ストレージメディアであって、
それらの２次ストレージメディアをシステムの構成として含んでいて、
さらに、
１次ストレージメディアの構成を含んでいて、
不連続な複数の区分にわたって記録されている断片化ファイルが、１次ストレージメディアから２次ストレージメディアへと移動されてきたファイルであって、新しいファイルとして追記されたものであり、
無効なファイルが、１次ストレージメディアにおいて更新されたファイルである、
ＨＳＭ（Hierarchical Storage Management）システム。
【請求項１６】
１次ストレージメディアのアクセス速度が、２次ストレージメディアのアクセス速度よりも相対的に速い、
請求項１５に記載のＨＳＭシステム。
【請求項１７】
１次ストレージメディアがＨＤＤであり、２次ストレージメディアがテープメディアである、
請求項１６に記載のＨＳＭシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストレージメディア中の空間を管理する技術に関し、より詳しくは、ストレージメディア中にあるファイルの断片化を効率的に解消する技術に関する。
【背景技術】
【０００２】
Hierarchical Storage Management(ＨＳＭ)は、アクセス速度の速い1次ストレージメディア（例えばＨＤＤ）とアクセス速度の遅いロー・コストの2次ストレージメディア（例えばテープメディア）から構成され、使用頻度の低いファイルは、アクセス速度の速い１次ストレージメディアからアクセス速度の遅い２次ストレージメディアへ自動的に移動される。
【０００３】
２次ストレージメディアに、テープ等のシーケンシャルアクセスのストレージメディアを追記型の記録で使用する場合、１次ストレージメディアから移動されたファイルは新しいファイルとして２次ストレージメディア上に追記される。
【０００４】
また、２次ストレージメディア上に記録されているファイルが１次ストレージメディア上において更新された場合、以前に２次ストレージメディア上に記録されたファイルは古いものとなり、無効なデータとして扱われる。
【０００５】
この際、２次ストレージメディア上のファイルはその場で消去されるわけではなく、ファイルを管理している台帳上で無効なファイルとして扱われるのみである。
【０００６】
このため、無効なファイルが増えるのに伴い、２次ストレージメディア上の有効なファイルの記録領域は断片化し、複数の領域に不連続に記録されている状態となる(図１)。
【０００７】
このため、２次ストレージメディアにテープメディアを追記型の記録で使用するHSMでは、有効なファイルの記録領域が断片化した状態を解消するために、断片化の度合いが一定の閾値以上の２次ストレージメディア上の有効なファイルを、別の２次ストレージメディアに詰め直して追記する方法がある(図２)。
【０００８】
この方法は、リクラメーション（Reclamation）と呼ばれる。
【０００９】
この動作はユーザが行うファイル操作とは無関係なものであり、バックバックグラウンドで行われる処理である。
【００１０】
しかし、その実行には移動元メディアからのファイルの読み込みと移動先メディアへのファイルの書き出し両方のために合わせて２台のテープドライブを占有する。
【００１１】
このため、こうした処理自体が起こらない状態が続くことが好ましい。
【００１２】
また、２次ストレージメディアがテープメディアの場合、２次ストレージメディア上のファイルへのアクセスの際には、ファイルの書き出し、読み込み位置までのテープドライブのヘッドの移動が発生する(図３、 図４)。
【００１３】
特に、テープ等のシーケンシャルアクセスのストレージメディアでは、メディア上に有効なファイルと無効なファイルが入り混じって存在する場合に、有効なファイルへのアクセス時間が長くなるという特性がある。
【００１４】
これは、対象ファイルにアクセスするためのテープドライブのヘッドの移動距離が、無効なファイルが存在する分大きくなるためである。ヘッドが移動する間はファイルの書き出し、読み込みといったファイル操作の処理は行われていないため、ヘッドを移動させるだけの処理にテープドライブの使用時間を多く割くことになる。
【００１５】
特許文献１および特許文献２は、テープメディアについてファイルの断片化の解消（リクラメーション）を効率的に行うための技術について記載している。
【００１６】
特許文献３は、空き領域を再利用する技術について記載している。
【００１７】
しかし、特許文献１〜３の何れにおいても、後述するところの本発明の特徴的構成については記載がない。
【先行技術文献】
【特許文献】
【００１８】
【特許文献１】米国特許第６３０４８８０Ｂ１号公報
【特許文献２】米国特許第６７８５６９７Ｂ２号公報
【特許文献３】特開２０１２−１８１８９６号公報（日本国における出願から１年６月経過に伴う強制的公開）
【発明の概要】
【発明が解決しようとする課題】
【００１９】
本発明の目的は、２次ストレージメディアにテープメディアを追記型の記録で使用するＨＳＭにおいて、テープメディア上の有効なファイル領域の断片化を効率的に解消することにある。
【課題を解決するための手段】
【００２０】
２次ストレージメディアがシーケンシャルアクセスのストレージメディアであるテープメディアの場合、２次ストレージメディア上の対象ファイルへのアクセスの際に、ファイルの書き出し、読み込み位置までのテープドライブのヘッドの移動が発生する。
【００２１】
この際、その２次ストレージメディア上の先頭から対象ファイルまでの間の有効なファイルの記録領域の断片化の度合いが一定の閾値以上であれば、ヘッドの移動時に、ヘッドが通過する途中に存在する有効なファイルの読み込みを同時に行い、別の２次ストレージメディアへ詰め直して追記する処理を行う。
【発明の効果】
【００２２】
本発明に従えば、このように、ユーザのファイル操作に伴い発生するテープドライブのヘッドの移動時間を利用し、テープドライブを１台追加して使用することで、２次ストレージメディア上の有効なファイルの記録領域の断片化を解消する処理を行うことができる。
【００２３】
これにより、ユーザのファイル操作とは無関係に２台のテープドライブを占有して２次ストレージメディア上の有効な記録領域の断片化の解消を行う必要性を解消させることができる。
【図面の簡単な説明】
【００２４】
【図１】図１は、従来技術であって、Hierarchical Storage Management(HSM)の全体構成を示すとともに、有効なファイルの記録領域が断片化したテープメディアを示す図である。
【図２】図２は、従来技術であって、断片化した有効なファイルの記録領域を別のテープメディアへ移動させることを説明する図である。
【図３】図３は、従来技術であって、テープメディアからのファイルの読み込みを説明する図である。
【図４】図４は、従来技術であって、テープメディアへのファイルの書き出しを説明する図である。
【図５】図５は、本発明であって、テープメディア上の読み込みファイルの先頭位置へのヘッド移動時に通過するデータを読み込み、別テープメディアへファイルを詰め直すことを説明する図である。
【図６】図６は、本発明であって、テープメディア上のファイル書き出し位置のヘッド移動時に通過するデータを、別テープメディアへファイルを詰め直すことを説明する図である。
【図７】図７は、本発明であって、テープメディア上の読み込みファイルの位置が予め設定されたポイントよりも末尾側の場合に、図５で説明した内容を処理することを説明する図である。
【図８】図８は、本発明であって、テープメディアの末尾の位置までの間を複数のパーティション（パーティション０、パーティション１）に分けて、分けられた複数のパーティション（パーティション０、パーティション１）の各々の末尾ごとに、予めポイントが設定されていることを説明する図である。
【図９】図９は、本発明を適用することができるテープメディアは、実際には一本のテープメディア上に何度も往復してデータが書き込まれる記録形式であることを説明する図である。
【図１０】図１０は、本発明を適用するにあたっての、何度も往復してデータが書き込まれる形式におけるテープメディア上のデータの物理位置の定義を示す図である。
【図１１】図１１は、図１０に対応しており、本発明を適用するにあたっての、テープメディア上のファイルの論理位置と物理位置のマッピングを示す図である。
【発明を実施するための形態】
【００２５】
本発明の基本としては、２次ストレージメディアがシーケンシャルアクセスのストレージメディアであるテープメディアの場合、２次ストレージメディア上のファイルへのアクセスの際に発生する、ファイルの書き出し、読み込み位置までのテープドライブのヘッドの移動時間を利用する。
【００２６】
ヘッドの移動は、通常、ストレージメディア中の対象ファイルへのアクセスを要求する読み取りコマンドまたは書き込みコマンドに応答して、始動することになる。
【００２７】
実際に、読み取りコマンドまたは書き込みコマンドを実行するためには、ファイルの書き出し位置、読み込み位置までヘッドが物理的に移動しなければならず、その移動のみに時間が割かれてしまう。
【００２８】
本発明では、２次ストレージメディア上のファイルへのアクセスの際に発生する、ファイルの書き出し、読み込み位置までのテープドライブのヘッドの移動を利用する。
【００２９】
２次ストレージメディア上の先頭からアクセス対象ファイルまでの間に存在する有効なファイルの記録領域の断片化の度合いが一定の閾値以上であれば、ヘッドの移動時に通過途中に存在する有効なファイルの読み込みを行い、別の２次ストレージメディアへ詰め直して追記する(図５、 図６)。
【００３０】
ヘッドの現在の位置からのヘッドの移動を利用すればよい。
【００３１】
従来はテープドライブのヘッドの移動のみに割かれていた時間を活用し、これに加えてテープドライブを１台追加して使用することで、２次ストレージメディア上の有効なファイルの記録領域の断片化を解消することが可能である。
【００３２】
こうした機能を実現するためには、あらかじめ、テープメディア上の先頭からファイルの書き出し、読み込み位置までに存在するデータの断片化の度合いを知るための方法が必要となるが、これにはファイルを管理している台帳を利用する。
【００３３】
この台帳としては、コンピュータにおいてテーブルという形式で記憶しておくことが考えられる。
【００３４】
HSMは１次ストレージメディアと２次ストレージメディアから構成されている都合上、どのファイルがどのストレージメディア上に記録されているのかを管理する台帳が存在する。
【００３５】
この台帳により、テープメディア上に記録されているファイルに関しては、どのファイルがどのテープメディア上のどの位置に記録されているのかも管理されている。
【００３６】
このため、テープメディア上の先頭からファイルの書き出し、読み込み位置までの間に存在するデータ記録可能領域の大きさに対して、その領域に存在する有効なファイルの記録領域の割合を求めることが可能である。
【００３７】
この割合を断片化の度合いとして定義することができる。
【００３８】
即ち、値が大きい程断片化の度合いが小さく、値が小さい程、断片化の度合いが大きいことを意味する。
【００３９】
この値が予め決められた閾値以下であれば、本発明の手法を適用するものとする。
【００４０】
またこの際、ユーザがアクセスするファイルがテープメディア上の末尾に近い場合は、それよりも後ろの位置に存在する少量の有効なファイルの記録領域のみがテープメディア上に残り、結果として非常に断片化の度合いが高いテープメディアが作成されてしまう可能性がある。
【００４１】
このため、あらかじめテープメディアの末尾から手前の位置にポイントを設定し、ユーザがテープメディアから読み込むファイルがそのポイントよりも末尾側に位置する場合には、対象ファイルの読込みが完了した後に、さらに後ろに記録されているファイルも読み込み、別のテープメディアへ詰めなおす処理を行う(図７)。
【００４２】
テープメディアへファイルを書き出す場合においては、書き出す位置がそのポイントよりも末尾側となるようなテープメディアはファイルの書き出し先として選択しないようにする。
【００４３】
この際、ユーザがアクセスするファイルのテープメディア上の位置及び、それよりも末尾側の位置に有効なファイルの記録領域が存在するか否かは、前述の、ファイルを管理している台帳の記録から知ることが可能である。
【００４４】
本発明を適用することにより、テープメディア上の先頭に、ファイルが記録されていない大きな領域を持つテープメディアが作成される可能性が考えられる。
【００４５】
このようなテープメディアは、テープメディア上のファイルの書き出し、読み込みの度に長距離のヘッドの移動が発生するため好ましくない。
【００４６】
これに関しては、仮にテープドライブがテープメディアを長手方向に複数の論理パーティションに分割する機能をサポートしていれば、先頭からのパーティションが全くファイルの記録されていない領域となった時点で、そのパーティションに対して新たにデータを書き込めるようにすることが可能である。
【００４７】
また、あらかじめテープメディアの末尾から手前の位置に設定するポイントと同様のものを、各パーティションの末尾から手前の位置に対しても設定することにより、本発明をテープメディア上の論理パーティション単位に対して適用することが可能である。
【００４８】
この場合、ファイルが記録されていない領域がパーティション単位で作成されやすくなるため、空いたパーティションには次々と新たなデータの書き込みが可能となる。
【００４９】
このため、本発明がより効果的になると考えられる。
【００５０】
以上の説明においては、説明を分かり易くする都合上、一本のテープメディア上に一往復しかデータが書き込まれていない形式を想定しており、使用した図は、テープメディア上におけるファイルの記録領域を先頭から末尾まで一直線上に並べた形にして描いている。
【００５１】
しかし、実際のテープメディアにおいては、図９に示す順番で、データが一本のテープメディア上に何度も往復して書き込まれる。
【００５２】
また、テープメディアの先頭からその順番にヘッドが移動した距離が、テープメディア上の各ファイルが記録された論理位置として、ファイルを管理している台帳上に保存される。
【００５３】
この論理位置からは、記録されたファイルのテープメディア上における物理的な位置を知ることはできない。
【００５４】
このため、テープメディア上のファイルへのアクセスの際に発生する、ファイルの書き出し、読み込み位置までのテープドライブのヘッドの移動時に、実際に有効なファイルの記録領域が断片化している部分をヘッダが通過するのかどうか、また、その部分に存在する有効なファイルを、ヘッダの移動のオーバーヘッドなしに読み込むことが可能なのかをあらかじめ知ることができない。
【００５５】
この問題を解決するために、テープメディアに書き込まれるファイルの論理位置と物理位置のマッピングを、ファイルを管理している台帳上に保存する。
【００５６】
物理位置に関しては、図１０に示すように、ファイルのテープメディア上における縦横の物理的な記録位置を座標(a, b)の形式で定義する方法が考えられる。
【００５７】
これを利用することで、テープメディア上に記録される各ファイルに対して、図１１のような論理位置と物理位置のマッピングを作成することが可能である。
【００５８】
このマッピングを参照することで、一本のテープメディア上に何度も往復してデータを書き込む形式の場合においても、テープドライブのヘッドの移動時に、実際に通過する有効なファイルの記録領域が断片化した部分と、その部分に存在する有効なファイルの記録位置をあらかじめ知ることができ、本発明を適用することができる。
【００５９】
この他、本発明は、ここまで説明してきた方法だけでなく、方法的な特徴を実行できるプログラム、システムとしても具現化することができる。
【図１】
0005963726.tif 000002
【図２】
0005963726.tif 000003
【図３】
0005963726.tif 000004
【図４】
0005963726.tif 000005
【図５】
0005963726.tif 000006
【図６】
0005963726.tif 000007
【図７】
0005963726.tif 000008
【図８】
0005963726.tif 000009
【図９】
0005963726.tif 000010
【図１０】
0005963726.tif 000011
【図１１】
0005963726.tif 000012