(57)【特許請求の範囲】
【請求項１】
ファイルを操作するための入出力（ＩＯ）アクセス情報を獲得するステップと、
前記ＩＯアクセス情報に対応するＩＯアクセスモードを決定するステップと、
前記決定されたＩＯアクセスモードを事前設定されたモードマッチングライブラリとマッチングして、前記決定されたＩＯアクセスモードに対応するファイル管理ポリシーを取得するステップであって、前記ファイル管理ポリシーはファイル記憶の最小単位を指すファイル管理粒度を含み、前記モードマッチングライブラリは、前記ＩＯアクセスモードと前記ファイル管理ポリシーとの間の対応関係を含む、ステップと、
前記ファイルの現在の管理方法が、前記決定されたＩＯアクセスモードに対応する前記ファイル管理ポリシーと整合性がない場合、前記ファイルの前記現在の管理方法を調整して、前記調整された現在の管理方法が、前記決定されたＩＯアクセスモードに対応する前記ファイル管理ポリシーと整合性があるようにするステップと
を含む、ファイル管理方法。
【請求項２】
前記ＩＯアクセス情報に対応するＩＯアクセスモードを決定する前記ステップは、
前記ＩＯアクセス情報における前記ファイルの読取り操作比率が、事前設定された値より大きい場合、前記ＩＯアクセスモードは読取り操作モードであると決定するステップ、
前記ＩＯアクセス情報における前記ファイルの書込み操作比率が、事前設定された値より大きい場合、前記ＩＯアクセスモードは書込み操作モードであると決定するステップ、または
前記ＩＯアクセス情報における前記ファイルのものである書込み操作比率と読取り操作比率との間の差が、事前設定された値より小さい場合、前記ＩＯアクセスモードは読取り／書込みハイブリッド操作モードであると決定するステップ
を含む、請求項１に記載の方法。
【請求項３】
前記ファイルの現在の管理方法が、前記決定されたＩＯアクセスモードに対応する前記ファイル管理ポリシーと整合性がない場合、前記ファイルの前記現在の管理方法を調整する前記ステップは、
前記取得されたファイル管理ポリシーに含まれる前記ファイル管理粒度が、前記ファイルの現在の管理方法におけるファイル管理粒度と整合性がない場合、前記ファイルの管理粒度を、前記取得されたファイル管理ポリシーに含まれる前記ファイル管理粒度で更新するステップと、
前記ファイルのメタデータを更新して、前記更新されたメタデータが、前記更新された管理粒度についての情報を含むようにするステップと
を含む、請求項１または２に記載の方法。
【請求項４】
前記ファイルの現在の管理方法が、前記決定されたＩＯアクセスモードに対応する前記ファイル管理ポリシーと整合性がない場合、前記ファイルの前記現在の管理方法を調整する前記ステップは、
前記取得されたファイル管理ポリシーに含まれるファイル記憶媒体タイプが、前記ファイルの前記現在の管理方法における記憶媒体と整合性がない場合、ターゲット記憶媒体に、前記ファイルを記憶するために使用される記憶ブロックを適用するステップであって、前記ターゲット記憶媒体は、前記ファイル管理ポリシーに含まれる前記ファイル記憶媒体タイプと整合性のある記憶媒体である、ステップと、
前記ファイルをソース記憶媒体から前記適用される記憶ブロックに移行させるステップであって、前記ファイルが現在位置付けられている記憶媒体は、前記ソース記憶媒体である、ステップと、
新たなメタデータを作成して、前記新たなメタデータが、前記移行されたファイルの記憶情報を含むようにするステップと
を含む、請求項１または２に記載の方法。
【請求項５】
操作されることを要求される前記ファイルが、前記ファイルを操作することを求めるＩＯアクセス要求に従って操作される場合において、操作されることを要求される前記ファイルにおけるファイルの第１の部分が前記ソース記憶媒体に記憶されておらず、ファイルの第２の部分が前記ソース記憶媒体に記憶されているとき、前記ＩＯアクセスモードに対応する前記ファイル管理ポリシーにおける前記ファイル記憶媒体タイプに従って、前記移行の後に前記ターゲット記憶媒体において前記ファイルの第１の部分を操作し、前記ソース記憶媒体において前記ファイルの第２の部分を操作するステップ
をさらに含む、請求項４に記載の方法。
【請求項６】
ファイルを操作するための入出力（ＩＯ）アクセス情報を獲得するように構成された情報獲得ユニットと、
前記情報獲得ユニットによって獲得された前記ＩＯアクセス情報に対応するＩＯアクセスモードを決定するように構成されたアクセスモード決定ユニットと、
前記アクセスモード決定ユニットによって決定された前記ＩＯアクセスモードを事前設定されたモードマッチングライブラリとマッチングして、前記決定されたＩＯアクセスモードに対応するファイル管理ポリシーを取得するように構成された管理取得ユニットであって、前記ファイル管理ポリシーはファイル記憶の最小単位を指すファイル管理粒度を含み、前記モードマッチングライブラリは、前記ＩＯアクセスモードと前記ファイル管理ポリシーとの間の対応関係を含む、管理取得ユニットと、
前記ファイルの現在の管理方法が、前記ＩＯアクセスモードに対応しかつ前記管理取得ユニットによって決定された前記ファイル管理ポリシーと整合性がない場合、前記ファイルの前記現在の管理方法を調整して、前記調整された現在の管理方法が、前記決定されたＩＯアクセスモードに対応する前記ファイル管理ポリシーと整合性があるようにするように構成された調整ユニットと
を備える、ファイルシステム。
【請求項７】
前記アクセスモード決定ユニットは、前記情報獲得ユニットによって獲得された前記ＩＯアクセス情報における前記ファイルの読取り操作比率が、事前設定された値より大きい場合、前記ＩＯアクセスモードは読取り操作モードであると決定し、前記情報獲得ユニットによって獲得された前記ＩＯアクセス情報における前記ファイルの書込み操作比率が、事前設定された値より大きい場合、前記ＩＯアクセスモードは書込み操作モードであると決定し、または前記情報獲得ユニットによって獲得された前記ＩＯアクセス情報における前記ファイルのものである書込み操作比率と読取り操作比率との間の差が、事前設定された値より小さい場合、前記ＩＯアクセスモードは読取り／書込みハイブリッド操作モードであると決定するように構成される、請求項６に記載のシステム。
【請求項８】
前記調整ユニットは、
前記取得されたファイル管理ポリシーに含まれる前記ファイル管理粒度が、前記ファイルの前記現在のファイル管理方法におけるファイル管理粒度と整合性がない場合、前記ファイルの管理粒度を、前記取得されたファイル管理ポリシーに含まれる前記ファイル管理粒度で更新し、前記ファイルのメタデータを更新して、前記更新されたメタデータが、前記更新された管理粒度についての情報を含むようにするように構成された更新ユニット
を備える、請求項６または７に記載のシステム。
【請求項９】
前記調整ユニットは、
前記取得されたファイル管理ポリシーに含まれるファイル記憶媒体タイプが、前記ファイルの前記現在の管理方法における記憶媒体と整合性がない場合、ターゲット記憶媒体に、前記ファイルを記憶するために使用される記憶ブロックを適用し、前記ファイルをソース記憶媒体から前記適用される記憶ブロックに移行させるように構成された移行ユニットであって、前記ファイルが現在位置付けられている記憶媒体は、前記ソース記憶媒体であり、前記ターゲット記憶媒体は、前記ファイル管理ポリシーに含まれる前記ファイル記憶媒体タイプと整合性のある記憶媒体である、移行ユニットと、
新たなメタデータを作成して、前記新たなメタデータが、前記移行ユニットによって移行された前記ファイルの記憶情報を含むようにするように構成された作成ユニットと
を備える、請求項６または７に記載のシステム。
【請求項１０】
操作されることを要求される前記ファイルが、前記ファイルを操作することを求めるＩＯアクセス要求に従って操作される場合において、操作されることを要求される前記ファイルにおけるファイルの第１の部分が前記ソース記憶媒体に記憶されておらず、ファイルの第２の部分が前記ソース記憶媒体に記憶されているとき、前記ＩＯアクセスモードに対応する前記ファイル管理ポリシーにおける前記ファイル記憶媒体タイプに従って、前記移行の後に前記ターゲット記憶媒体において前記ファイルの第１の部分を操作し、前記ソース記憶媒体において前記ファイルの第２の部分を操作するように構成されたファイル操作ユニット
をさらに備える、請求項９に記載のシステム。
【請求項１１】
プロセッサと、バスに別々に接続された複数のメモリとを備えるファイルシステムであって、
前記プロセッサは、ファイルを操作するための入出力（ＩＯ）アクセス情報を獲得し、前記獲得されたＩＯアクセス情報に対応するＩＯアクセスモードを決定し、前記決定されたＩＯアクセスモードを事前設定されたモードマッチングライブラリとマッチングして、前記決定されたＩＯアクセスモードに対応するファイル管理ポリシーを取得し、前記ファイル管理ポリシーはファイル記憶の最小単位を指すファイル管理粒度を含み、前記モードマッチングライブラリは、前記ＩＯアクセスモードと前記ファイル管理ポリシーとの間の対応関係を含み、前記ファイルの現在の管理方法が、前記決定されたＩＯアクセスモードに対応する前記ファイル管理ポリシーと整合性がない場合、前記ファイルの前記現在の管理方法を調整して、前記調整された現在の管理方法が、前記決定されたＩＯアクセスモードに対応する前記ファイル管理ポリシーと整合性があるようにするように構成され、
ファイル記憶媒体が前記メモリである、ファイルシステム。
【請求項１２】
前記プロセッサは、前記獲得されたＩＯアクセス情報における前記ファイルの読取り操作比率が、事前設定された値より大きい場合、前記ＩＯアクセスモードは読取り操作モードであると決定し、前記獲得されたＩＯアクセス情報における前記ファイルの書込み操作比率が、事前設定された値より大きい場合、前記ＩＯアクセスモードは書込み操作モードであると決定し、または前記獲得されたＩＯアクセス情報における前記ファイルのものである書込み操作比率と読取り操作比率との間の差が、事前設定された値より小さい場合、前記ＩＯアクセスモードは読取り／書込みハイブリッド操作モードであると決定するように構成される、請求項１１に記載のシステム。
【請求項１３】
前記プロセッサは、前記取得されたファイル管理ポリシーに含まれる前記ファイル管理粒度が、前記メモリに記憶された前記ファイルの前記現在の管理方法におけるファイル管理粒度と整合性がない場合、前記メモリにおける前記ファイルの管理粒度を、前記取得されたファイル管理ポリシーに含まれる前記ファイル管理粒度で更新し、前記ファイルのメタデータを更新して、前記更新されたメタデータが、前記更新された管理粒度についての情報を含むようにするように構成される、請求項１１または１２に記載のシステム。
【請求項１４】
前記プロセッサは、前記取得されたファイル管理ポリシーに含まれるファイル記憶媒体タイプが、前記ファイルの前記現在の管理方法における記憶媒体と整合性がない場合、前記複数のメモリの中のターゲット記憶媒体に、前記ファイルを記憶するために使用される記憶ブロックを適用し、前記ファイルを、前記複数のメモリの中のソース記憶媒体から前記適用される記憶ブロックに移行させ、新たなメタデータを作成して、前記新たなメタデータが、前記移行されたファイルの記憶情報を含むようにするように構成され、
前記ファイルが現在位置付けられている記憶媒体は、前記ソース記憶媒体であり、前記ターゲット記憶媒体は、前記ファイル管理ポリシーに含まれる前記ファイル記憶媒体タイプと整合性のある記憶媒体である、請求項１１または１２に記載のシステム。
【請求項１５】
前記プロセッサは、操作されることを要求される前記ファイルが、前記ファイルを操作することを求めるＩＯアクセス要求に従って操作される場合において、操作されることを要求される前記ファイルにおけるファイルの第１の部分が前記ソース記憶媒体に記憶されておらず、ファイルの第２の部分が前記ソース記憶媒体に記憶されているとき、前記ＩＯアクセスモードに対応する前記ファイル管理ポリシーにおける前記ファイル記憶媒体タイプに従って、前記移行の後に前記ターゲット記憶媒体において前記ファイルの第１の部分を操作し、前記ソース記憶媒体において前記ファイルの第２の部分を操作するようにさらに構成される、請求項１４に記載のシステム。
【請求項１６】
プロセッサにより実行されたときに、前記プロセッサに、
ファイルを操作するための入出力（ＩＯ）アクセス情報を獲得し、
前記ＩＯアクセス情報に対応するＩＯアクセスモードを決定し、
前記ＩＯアクセスモードを事前設定されたモードマッチングライブラリとマッチングして、前記ＩＯアクセスモードに対応するファイル管理ポリシーを取得し、前記ファイル管理ポリシーはファイル記憶の最小単位を指すファイル管理粒度を含み、またはファイル記憶媒体タイプを含み、または前記ファイル管理粒度およびファイル記憶媒体タイプを含み、前記モードマッチングライブラリは、前記ＩＯアクセスモードと前記ファイル管理ポリシーとの間の対応関係を含み、
前記ファイルの現在の管理方法が、前記ＩＯアクセスモードに対応する前記ファイル管理ポリシーと整合性がない場合、前記ファイルの現在の管理方法を調整して、前記調整された現在の管理方法が、前記決定されたＩＯアクセスモードに対応する前記ファイル管理ポリシーと整合性があるようにする
ことを前記プロセッサに命令するコンピュータ実行可能な命令を記憶した、コンピュータ読取り可能記憶媒体。
【請求項１７】
前記命令は、
前記ＩＯアクセス情報における前記ファイルの読取り操作比率が、事前設定された値より大きい場合、前記ＩＯアクセスモードは読取り操作モードであると決定し、前記ＩＯアクセス情報における前記ファイルの書込み操作比率が、事前設定された値より大きい場合、前記ＩＯアクセスモードは書込み操作モードであると決定し、または前記ファイルのものであり前記ＩＯアクセス情報におけるものである書込み操作比率と読取り操作比率との間の差が、事前設定された値より小さい場合、前記ＩＯアクセスモードは読取り／書込みハイブリッド操作モードであると決定する
ことを前記プロセッサに命令する、請求項１６に記載のコンピュータ読取り可能記憶媒体。
【請求項１８】
前記命令は、
前記取得されたファイル管理ポリシーに含まれる前記ファイル管理粒度が、前記ファイルの前記現在の管理方法におけるファイル管理粒度と整合性がない場合、前記ファイルの管理粒度を、前記取得されたファイル管理ポリシーに含まれる前記ファイル管理粒度で更新し、前記ファイルのメタデータを更新して、前記更新されたメタデータが、前記更新された管理粒度についての情報を含むようにする
ことを前記プロセッサに命令する、請求項１６または１７に記載のコンピュータ読取り可能記憶媒体。
【請求項１９】
前記命令は、
前記取得されたファイル管理ポリシーに含まれるファイル記憶媒体タイプが、前記ファイルの前記現在の管理方法における記憶媒体と整合性がない場合、ターゲット記憶媒体に、前記ファイルを記憶するために使用される記憶ブロックを適用し、前記ファイルを、ソース記憶媒体から前記適用される記憶ブロックに移行させ、前記ファイルが現在位置付けられている記憶媒体は、前記ソース記憶媒体であり、前記ターゲット記憶媒体は、前記ファイル管理ポリシーに含まれる前記ファイル記憶媒体タイプと整合性のある記憶媒体であり、
新たなメタデータを作成して、前記新たなメタデータが、前記移行されたファイルの記憶情報を含むようにする
ことを前記プロセッサに命令する、請求項１６または１７に記載のコンピュータ読取り可能記憶媒体。
【請求項２０】
前記命令は、
操作されることを要求される前記ファイルが、前記ファイルを操作することを求めるＩＯアクセス要求に従って操作される場合において、操作されることを要求される前記ファイルにおけるファイルの第１の部分が前記ソース記憶媒体に記憶されておらず、ファイルの第２の部分が前記ソース記憶媒体に記憶されているとき、前記ＩＯアクセスモードに対応する前記ファイル管理ポリシーにおける前記ファイル記憶媒体タイプに従って、前記移行の後に前記ターゲット記憶媒体において前記ファイルの第１の部分を操作し、前記ソース記憶媒体において前記ファイルの第２の部分を操作する
ことを前記プロセッサに命令する、請求項１９に記載のコンピュータ読取り可能記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ処理技術の分野に関し、詳細には、ファイル管理方法およびファイルシステムに関する。
【背景技術】
【０００２】
ＮＡＮＤフラッシュ（ＦＬＡＳＨ）の適用、および相変化メモリ（Ｐｈａｓｅ  ｃｈａｎｇｅ  ｍｅｍｏｒｙ，ＰＣＭ）などの新たな記憶媒体の出現により、様々な媒体が、様々な読取り特性および書込み特性を有する。このことは、ファイルシステムが、様々な粒度の管理方法を使用して、記憶媒体に記憶されたファイルを管理して、性能を向上させることを必要とする。例えば、粗い粒度が管理のために使用される場合、メタデータの記憶オーバヘッド、およびメタデータインデックスを探索する時間遅延が低減されることが可能であり、細かい粒度が管理のために使用される場合、データに対する有効なアクセスが確保されることが可能であり、帯域幅が浪費されず、データ移行が低減される。
【０００３】
従来技術において、ファイルシステムは、ファイルに組み込まれたファイル名またはファイル情報に従ってファイルタイプを識別し、ファイルに異なる粒度の記憶媒体を割り当てる。ファイルタイプが決定された後、ファイルの管理モードも決定され、これは、比較的固定されている。
【発明の概要】
【０００４】
本発明の実施形態は、ファイルのＩＯアクセスモードに従ってファイルの現在の管理方法の動的調整を実施する、ファイル管理方法およびファイルシステムを提供する。
【０００５】
本発明の実施形態の第１の態様は、
ファイルを操作するための入出力ＩＯアクセス情報を獲得することと、
上記ＩＯアクセス情報に対応するＩＯアクセスモードを決定することと、
上記決定されたＩＯアクセスモードを事前設定されたモードマッチングライブラリとマッチングして、上記決定されたＩＯアクセスモードに対応するファイル管理ポリシーを取得することであって、上記ファイル管理ポリシーは、以下の情報、すなわち、ファイル管理粒度およびファイル記憶媒体タイプのうちの少なくとも１つを含み、上記モードマッチングライブラリは、上記ＩＯアクセスモードと上記ファイル管理ポリシーとの間の対応関係を含む、取得することと、
上記ファイルの現在の管理方法が、上記決定されたＩＯアクセスモードに対応する上記ファイル管理ポリシーと整合性がない場合、上記ファイルの上記現在の管理方法を調整して、上記調整された現在の管理方法が、上記決定されたＩＯアクセスモードに対応する上記ファイル管理ポリシーと整合性があるようにすることとを含むファイル管理方法を提供する。
【０００６】
本発明の実施形態の第１の態様の第１の可能な実装方法において、上記ＩＯアクセス情報に対応するＩＯアクセスモードを決定することは、
上記ＩＯアクセス情報における上記ファイルの読取り操作比率が、事前設定された値より大きい場合、上記ＩＯアクセスモードは読取り操作モードであると決定すること、
上記ＩＯアクセス情報における上記ファイルの書込み操作比率が、事前設定された値より大きい場合、上記ＩＯアクセスモードは書込み操作モードであると決定すること、または
上記ＩＯアクセス情報における上記ファイルのものである書込み操作比率と読取り操作比率との間の差が、事前設定された値より小さい場合、上記ＩＯアクセスモードは読取り／書込みハイブリッド操作モードであると決定することを含む。
【０００７】
本発明の実施形態の第１の態様、または第１の態様の第１の可能な実装方法を参照して、本発明の実施形態の第１の態様の第２の可能な実装方法において、上記ファイルの現在の管理方法が、上記決定されたＩＯアクセスモードに対応する上記ファイル管理ポリシーと整合性がない場合、上記ファイルの現在の管理方法を調整することは、
上記取得されたファイル管理ポリシーに含まれるファイル管理粒度が、上記ファイルの現在のファイル管理方法におけるファイル管理粒度と整合性がない場合、上記ファイルの管理粒度を更新することと、
上記ファイルのメタデータを更新して、上記更新されたメタデータが、上記更新された管理粒度についての情報を含むようにすることとを含む。
【０００８】
本発明の実施形態の第１の態様、または第１の態様の第１の可能な実装方法を参照して、本発明の実施形態の第１の態様の第３の可能な実装方法において、上記ファイルの現在の管理方法が、上記決定されたＩＯアクセスモードに対応する上記ファイル管理ポリシーと整合性がない場合、上記ファイルの上記現在の管理方法を調整することは、
上記取得されたファイル管理ポリシーに含まれる上記ファイル記憶媒体タイプが、上記ファイルの上記現在の管理方法における記憶媒体と整合性がない場合、ターゲット記憶媒体に、上記ファイルを記憶するために使用される記憶ブロックを適用することであって、上記ターゲット記憶媒体は、上記ファイル管理ポリシーに含まれる上記ファイル記憶媒体タイプと整合性のある記憶媒体である、適用することと、
上記ファイルをソース記憶媒体から上記適用される記憶ブロックに移行させることであって、上記ファイルが現在位置付けられている記憶媒体は、上記ソース記憶媒体である、移行させることと、
新たなメタデータを作成して、上記新たなメタデータが、上記移行されたファイルの記憶情報を含むようにすることとを含む。
【０００９】
本発明の実施形態の第１の態様の第３の可能な実装方法を参照して、本発明の実施形態の第１の態様の第４の可能な実装方法において、上記方法は、
操作されることを要求される上記ファイルが、上記ファイルを操作することを求めるＩＯアクセス要求に従って操作される場合において、操作されることを要求される上記ファイルにおけるファイルの第１の部分が上記ソース記憶媒体に記憶されておらず、ファイルの第２の部分が上記ソース記憶媒体に記憶されているとき、上記ＩＯアクセスモードに対応する上記ファイル管理ポリシーにおける上記ファイル記憶媒体タイプに従って、上記移行の後に上記ターゲット記憶媒体において上記ファイルの第１の部分を操作し、上記ソース記憶媒体において上記ファイルの第２の部分を操作することをさらに含む。
【００１０】
本発明の実施形態の第２の態様は、
ファイルを操作するための入出力ＩＯアクセス情報を獲得するように構成された情報獲得ユニットと、
上記情報獲得ユニットによって獲得された上記ＩＯアクセス情報に対応するＩＯアクセスモードを決定するように構成されたアクセスモード決定ユニットと、
上記アクセスモード決定ユニットによって決定された上記ＩＯアクセスモードを事前設定されたモードマッチングライブラリとマッチングして、上記決定されたＩＯアクセスモードに対応するファイル管理ポリシーを取得するように構成された管理取得ユニットであって、上記ファイル管理ポリシーは、以下の情報、すなわち、ファイル管理粒度およびファイル記憶媒体タイプのうちの少なくとも１つを含み、上記モードマッチングライブラリは、上記ＩＯアクセスモードと上記ファイル管理ポリシーとの間の対応関係を含む、管理取得ユニットと、
上記ファイルの現在の管理方法が、上記ＩＯアクセスモードに対応しかつ上記管理取得ユニットによって決定された上記ファイル管理ポリシーと整合性がない場合、上記ファイルの上記現在の管理方法を調整して、上記調整された現在の管理方法が、上記決定されたＩＯアクセスモードに対応する上記ファイル管理ポリシーと整合性があるようにするように構成された調整ユニットとを含むファイルシステムを提供する。
【００１１】
本発明の実施形態の第２の態様の第１の可能な実装方法において、
上記アクセスモード決定ユニットは、上記情報獲得ユニットによって獲得された上記ＩＯアクセス情報における上記ファイルの読取り操作比率が、事前設定された値より大きい場合、上記ＩＯアクセスモードは読取り操作モードであると決定し、上記情報獲得ユニットによって獲得された上記ＩＯアクセス情報における上記ファイルの書込み操作比率が、事前設定された値より大きい場合、上記ＩＯアクセスモードは書込み操作モードであると決定し、または上記情報獲得ユニットによって獲得された上記ＩＯアクセス情報における上記ファイルのものである書込み操作比率と読取り操作比率との間の差が、事前設定された値より小さい場合、上記ＩＯアクセスモードは読取り／書込みハイブリッド操作モードであると決定するように構成される。
【００１２】
本発明の実施形態の第２の態様、または第２の態様の第１の可能な実装方法を参照して、本発明の実施形態の第２の態様の第２の可能な実装方法において、上記調整ユニットは、
上記取得されたファイル管理ポリシーに含まれる上記ファイル管理粒度が、上記ファイルの上記現在のファイル管理方法におけるファイル管理粒度と整合性がない場合、上記ファイルの管理粒度を更新し、上記ファイルのメタデータを更新して、上記更新されたメタデータが、上記更新された管理粒度についての情報を含むようにするように構成された更新ユニットを含む。
【００１３】
本発明の実施形態の第２の態様、または第２の態様の第１の可能な実装方法を参照して、本発明の実施形態の第２の態様の第３の可能な実装方法において、上記調整ユニットは、
上記取得されたファイル管理ポリシーに含まれる上記ファイル記憶媒体タイプが、上記ファイルの上記現在の管理方法における記憶媒体と整合性がない場合、ターゲット記憶媒体に、上記ファイルを記憶するために使用される記憶ブロックを適用し、上記ファイルをソース記憶媒体から上記適用される記憶ブロックに移行させるように構成された移行ユニットであって、上記ファイルが現在位置付けられている記憶媒体は、上記ソース記憶媒体であり、上記ターゲット記憶媒体は、上記ファイル管理ポリシーに含まれる上記ファイル記憶媒体タイプと整合性のある記憶媒体である、移行ユニットと、
新たなメタデータを作成して、上記新たなメタデータが、上記移行ユニットによって移行された上記ファイルの記憶情報を含むようにするように構成された作成ユニットとを含む。
【００１４】
本発明の実施形態の第２の態様の第３の可能な実装方法を参照して、本発明の実施形態の第２の態様の第４の可能な実装方法において、上記システムは、
操作されることを要求される上記ファイルが、上記ファイルを操作することを求めるＩＯアクセス要求に従って操作される場合において、操作されることを要求される上記ファイルにおけるファイルの第１の部分がソース記憶媒体に記憶されておらず、ファイルの第２の部分が上記ソース記憶媒体に記憶されているとき、上記ＩＯアクセスモードに対応する上記ファイル管理ポリシーにおける上記ファイル記憶媒体タイプに従って、上記移行の後に上記ターゲット記憶媒体において上記ファイルの第１の部分を操作し、上記ソース記憶媒体において上記ファイルの第２の部分を操作するように構成されたファイル操作ユニットをさらに含む。
【００１５】
本発明の実施形態の第３の態様が、プロセッサと、バスに別々に接続された複数のメモリとを含むファイルシステムであって、
上記プロセッサは、ファイルを操作するための入出力ＩＯアクセス情報を獲得し、上記獲得されたＩＯアクセス情報に対応するＩＯアクセスモードを決定し、上記決定されたＩＯアクセスモードを事前設定されたモードマッチングライブラリとマッチングして、上記決定されたＩＯアクセスモードに対応するファイル管理ポリシーを取得し、上記ファイル管理ポリシーは、以下の情報、すなわち、ファイル管理粒度およびファイル記憶媒体タイプのうちの少なくとも１つを含み、上記モードマッチングライブラリは、上記ＩＯアクセスモードと上記ファイル管理ポリシーとの間の対応関係を含み、上記ファイルの現在の管理方法が、上記決定されたＩＯアクセスモードに対応する上記ファイル管理ポリシーと整合性がない場合、上記ファイルの現在の管理方法を調整して、上記調整された現在の管理方法が、上記決定されたＩＯアクセスモードに対応する上記ファイル管理ポリシーと整合性があるようにするように構成され、
ファイル記憶媒体は、上記メモリであるファイルシステムを提供する。
【００１６】
本発明の実施形態の第３の態様の第１の可能な実装方法において、
上記プロセッサは、上記獲得されたＩＯアクセス情報における上記ファイルの読取り操作比率が、事前設定された値より大きい場合、上記ＩＯアクセスモードは読取り操作モードであると決定し、上記獲得されたＩＯアクセス情報における上記ファイルの書込み操作比率が、事前設定された値より大きい場合、上記ＩＯアクセスモードは書込み操作モードであると決定し、または上記獲得されたＩＯアクセス情報における上記ファイルのものである書込み操作比率と読取り操作比率との間の差が、事前設定された値より小さい場合、上記ＩＯアクセスモードは読取り／書込みハイブリッド操作モードであると決定することを行うように構成される。
【００１７】
本発明の実施形態の第３の態様、または第３の態様の第１の可能な実装方法を参照して、本発明の実施形態の第３の態様の第２の可能な実装方法において、
上記プロセッサは、上記取得されたファイル管理ポリシーに含まれる上記ファイル管理粒度が、上記メモリに記憶された上記ファイルの上記現在のファイル管理方法におけるファイル管理粒度と整合性がない場合、上記メモリにおける上記ファイルの管理粒度を更新し、上記ファイルのメタデータを更新して、上記更新されたメタデータが、上記更新された管理粒度についての情報を含むようにするように構成される。
【００１８】
本発明の実施形態の第３の態様、または第３の態様の第１の可能な実装方法を参照して、本発明の実施形態の第３の態様の第３の可能な実装方法において、
上記プロセッサは、上記取得されたファイル管理ポリシーに含まれる上記ファイル記憶媒体タイプが、上記メモリに記憶された上記ファイルの上記現在の管理方法における記憶媒体と整合性がない場合、上記複数のメモリの中のターゲット記憶媒体に、上記ファイルを記憶するために使用される記憶ブロックを適用し、上記ファイルを、上記複数のメモリの中のソース記憶媒体から上記適用される記憶ブロックに移行させ、新たなメタデータを作成して、上記新たなメタデータが、上記移行ユニットによって移行された上記ファイルの記憶情報を含むようにするように構成され、
上記ファイルが現在位置付けられている記憶媒体は、上記ソース記憶媒体であり、上記ターゲット記憶媒体は、上記ファイル管理ポリシーに含まれる上記ファイル記憶媒体タイプと整合性のある記憶媒体である。
【００１９】
本発明の実施形態の第３の態様の第３の可能な実装方法を参照して、本発明の実施形態の第３の態様の第４の可能な実装方法において、
上記プロセッサは、操作されることを要求される上記ファイルが、上記ファイルを操作することを求めるＩＯアクセス要求に従って操作される場合において、操作されることを要求される上記ファイルにおけるファイルの第１の部分が上記ソース記憶媒体に記憶されておらず、ファイルの第２の部分が上記ソース記憶媒体に記憶されているとき、上記ＩＯアクセスモードに対応する上記ファイル管理ポリシーにおける上記ファイル記憶媒体タイプに従って、上記移行の後に上記ターゲット記憶媒体において上記ファイルの第１の部分を操作し、上記ソース記憶媒体において上記ファイルの第２の部分を操作することを行うようにさらに構成される。
【００２０】
本発明の実施形態において、上記ファイルシステムは、ファイルを操作する（例えば、読取り操作および書込み操作を実行する）ためのＩＯアクセス情報を監視し、上記ファイルのＩＯアクセスモードを決定し、上記ＩＯアクセスモードに従って対応するファイル管理ポリシーを決定し、最後に、上記ファイル管理ポリシーに従って上記ファイルの現在の管理方法を動的に調整することを知ることができる。このようにして、ファイル管理中、異なるファイル管理ポリシーが、ファイルの異なるＩＯアクセスモードに従って、対応して使用されてもよく、すなわち、ファイルにアクセスする性能を最適にすることがあり、かつ記憶媒体の特性が十分に発揮されるように、異なるファイル管理粒度、および／または異なるファイル記憶媒体が使用される。
【図面の簡単な説明】
【００２１】
本発明の実施形態における技術的ソリューションをより明確に説明するのに、以下は、実施形態を説明するために要求される添付の図面を概説する。明らかに、以下の説明における添付の図面は、本発明のいくつかの実施形態を示すに過ぎず、当業者は、依然としてこれらの添付の図面から他の図面を導き出すことがある。
【００２２】
【図１】本発明の実施形態によるファイル管理方法の流れ図である。
【図２】本発明の実施形態による別のファイル管理方法の流れ図である。
【図３】本発明の実施形態によるファイルシステムの概略構造図である。
【図４】本発明の実施形態によるファイル移行の概略図である。
【図５】本発明の実施形態による別のファイルシステムの概略構造図である。
【図６】本発明の実施形態による別のファイルシステムの概略構造図である。
【図７】本発明の実施形態による別のファイルシステムの概略構造図である。
【発明を実施するための形態】
【００２３】
以下では、本発明の実施形態における添付の図面を参照して、本発明の実施形態における技術的ソリューションを明確に、かつ完全に説明する。明らかに、説明される実施形態は、本発明の実施形態のすべてではなく、いくつかに過ぎない。本発明の実施形態に基づいて当業者によって取得される他のすべての実施形態は、本発明の保護範囲に入るものとする。
【００２４】
本発明の明細書、特許請求の範囲、および添付の図面において、「第１の」、「第２の」、「第３の」、「第４の」といった用語（存在する場合）は、類似した対象を区別するように意図されるが、特定の順番または順序を必ずしも示すわけではない。そのように呼ばれるデータは、本明細書において説明される本発明の実施形態が、例えば、本明細書において例示される、または説明される順序以外の順序で実施され得るように適切な状況において互換的であることを理解されたい。さらに、「含む」、「包含する」という用語、および他の任意の変形は、非排他的に含むことに及ぶことを意図しており、例えば、ステップまたはユニットのリストを含むプロセス、方法、システム、製品、またはデバイスは、それらのステップまたはユニットに必ずしも限定されず、明示的にリストアップされていない、またはそのようなプロセス、方法、システム、製品、またはデバイスに本来備わっていない他のステップまたはユニットを含んでもよい。
【００２５】
本発明の実施形態が、ファイルシステムに主として適用される、ファイル管理方法を提供する。ファイルシステムは、任意の端末デバイスまたはネットワークデバイスの上に担持されてもよく、様々なファイルを記憶するように構成された複数のタイプの記憶媒体を含んでもよい。この実施形態における方法の流れ図が、図１に示され、以下を含む。すなわち、
【００２６】
ステップ１０１：ファイルを操作するための入出力（ＩＮ／ＯＵＴ，ＩＯ）アクセス情報を取得する。本明細書において、ファイルのデータは、ファイルシステムにおける記憶媒体に記憶されるため、本明細書におけるＩＯアクセス情報とは、ファイルシステムによる記憶媒体におけるファイルに対するアクセスについての情報を指し、アクセスプロセスＩＤ（ＰＩＤ）、ファイル名、ファイルオフセット（ｆｉｌｅ  ｏｆｆｓｅｔ）、各ＩＯアクセス要求のファイルサイズ、ＩＯアクセスに対応するファイル操作タイプ（例えば、読取り、書込み、またはクエリ）、およびＩＯアクセス要求のタイムスタンプ（開始時間および終了時間）を含んでもよい。
【００２７】
ステップ１０２：ステップ１０１において獲得されたＩＯアクセス情報に対応するＩＯアクセスモードを決定する。
【００２８】
ファイルを操作する、例えば、ファイルに対して読取り／書込み操作を実行する手順が、ファイルシステムにおけるアプリケーションプログラムの実行中のプロセスにおいてトリガされてもよく、次に、アプリケーションプログラムを実行しているモジュールが、ファイルシステムにＩＯアクセス要求を送信するものと理解され得る。ＩＯアクセス要求は、操作されること（読取り／書込み操作を含む）が要求されるファイルについての情報などを含んでもよい。このようにして、ファイルシステムは、対応するファイルを操作してもよい。
【００２９】
ファイルがまず、ファイルシステムの記憶媒体に書き込まれた後、そのファイルが繰り返し操作されてもよい。ファイルシステムは、ファイルのＩＯアクセス情報を監視してもよく、ファイルを操作するためのＩＯアクセス情報、例えば、ＩＯアクセスのタイプおよび時間、ファイルに対する順次／ランダム読取り操作のＩＯアクセスであるか、またはファイルに対する順次／ランダム書込み操作のＩＯアクセスであるか、読取り／書込み比率、および各アクセス中のファイルの粒度などの情報をインターセプトする。操作のファイルオフセットが、さらに含まれてもよい。次に、ファイルシステムは、獲得されたＩＯアクセス情報に従ってＩＯアクセスモードを決定し、ここで、ＩＯアクセスモードとは、どのような粒度を使用することによって、いずれの方法でファイルが操作されるかのモードを指し、ランダム読取り操作が、ある粒度を使用することによって実行されるモード、順次読取り操作が、ある粒度を使用することによって実行されるモード、ランダム書込み操作が、ある粒度を使用することによって実行されるモード、順次書込み操作が、ある粒度を使用することによって実行されるモード、順次読取り／書込みハイブリッド操作が、ある粒度を使用することによって実行されるモード、またはランダム読取り／書込みハイブリッド操作が、ある粒度を使用することによって実行されるモードなどのモードを含んでもよい。
【００３０】
特に、ＩＯアクセス情報におけるファイルの読取り操作比率が、事前設定された値より大きい場合、ＩＯアクセスモードは読取り操作モードであると考えられ、ＩＯアクセス情報におけるファイルの書込み操作比率が、事前設定された値より大きい場合、ＩＯアクセスモードは書込み操作モードであると決定され、またはＩＯアクセス情報におけるファイルのものである書込み操作比率と読取り操作比率との間の差が、事前設定された値より小さい場合、ＩＯアクセスモードは読取り／書込みハイブリッド操作モードであると決定される。さらに、ＩＯアクセスモードは、操作を実行するための粒度をさらに含んでもよい。
【００３１】
ステップ１０３：ステップ１０２において決定されたＩＯアクセスモードを、ファイルシステムにおける事前設定されたモードマッチングライブラリとマッチングして、決定されたＩＯアクセスモードに対応するファイル管理ポリシーを取得する。ファイルのモードマッチングライブラリは、ファイルシステムにおいて事前設定され、ＩＯアクセスモードとファイル管理ポリシーとの間の対応関係を含んでもよい。ファイル管理ポリシーは、ファイル管理粒度および／またはファイル記憶媒体タイプを含む。
【００３２】
ファイル管理粒度とは、ファイル記憶の最小単位、例えば、４ｋまたは１ＭＢを指す。相変化メモリ、ダイナミックランダムアクセスメモリ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ，ＤＲＡＭ）、ハードディスクドライブ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ，ＨＤＤ）、ＮＡＮＤ  ＦＬＡＳＨなどを含むことが可能な、複数のタイプのファイル記憶媒体が存在する。様々なタイプの記憶媒体が、それらのそれぞれの読取り／書込み特性を対応して有するため、異なるタイプの記憶媒体が、異なるＩＯアクセスモードに対応し、このことは、特に、以下のとおりである。すなわち、
（１）相変化メモリは、不揮発性記憶デバイスであり、ＤＲＡＭのようにバイトによりアドレス指定を実行し、極めて高い書込み速度を有し、相変化メモリの書込み耐久性は、１０の６乗から１０の８乗であり、相変化メモリは、比較的小さいファイル管理粒度、例えば、６４バイト〜８ＫＢに適しており、小さい粒度のランダム読取り／書込み操作に適している。
【００３３】
（２）ＮＡＮＤ  ＦＬＡＳＨに関して、書込みは、ページの単位で実行され、消去は、ブロックの単位で実行され（１つのブロックは、一般に、６４ページ以上を含む）、したがって、ＮＡＮＤフラッシュは、ページまたはブロックの単位、例えば、４ＫＢ、８ＫＢ、１６ＫＢ、．．．、５１２ＫＢのファイル管理粒度に適しており、比較的大きいサイズのランダム読取り操作に適しており、さらに、ＮＡＮＤフラッシュに関して、読取りは、書込みよりはるかに高速である。
【００３４】
（３）ＨＤＤのシーク時間は比較的長いため、読取り／書込み遅延は、比較的大きく、ＨＤＤは、比較的大きい粒度、例えば、１ＭＢ、２ＭＢ、または４ＭＢの読取り／書込み操作に適しており、さらに、ＨＤＤは、順次読取り／書込み操作に適している。
【００３５】
アプリケーションファイルに対するアクセスは、一般に、様々なアクセス特性を示すことに留意されたい。例えば、ビデオファイルは、一般に、順次的な方法で読取りおよび書込みが行われ、各読取り／書込み操作の粒度は、比較的大きい。別の例として、データベースファイルは、小さい粒度のランダム読取り／書込み操作の特性を示す。このようにして、異なるファイルに対するアクセスは、異なるアクセス特性を示し、異なる記憶媒体およびファイル管理粒度が、マッチングによって取得されてもよい。
【００３６】
この実施形態において、ユーザが、ファイルシステムのモードマッチングライブラリにおいてＩＯアクセスモードとファイル管理ポリシーとの間の対応関係を事前設定してもよい。例えば、１ＭＢから４ＭＢまでの粒度の順次読取り操作のモードであるＩＯアクセスモードに対応するファイル管理ポリシーは、以下のとおりである。すなわち、ファイル管理粒度は、１ＭＢであり、ファイル記憶媒体タイプは、ＨＤＤまたはＮＡＮＤ  ＦＬＡＳＨである。このようにして、ファイルシステムは、表１において示されるとおり、ＩＯアクセスモードおよびファイルシステムにおいて事前設定されたモードマッチングライブラリを使用することによって、対応するファイル管理ポリシーを取得してもよい。
【００３７】
【表１】
0006378364.tif 000002
【００３８】
ステップ１０４：ステップ１０３において取得されたファイル管理ポリシーに従ってファイルの現在の管理方法を調整する。特に、ファイルの現在の管理方法が、決定されたＩＯアクセスモードに対応するファイル管理ポリシーと整合性がない場合、ファイルの現在の管理方法が調整されて、調整された現在の管理方法が、決定されたＩＯアクセスモードに対応するファイル管理ポリシーと整合性があるようにされ、例えば、ファイルの記憶媒体が変更され、および／またはファイルの管理粒度が変更される。さらに、ファイルシステムは、ファイルのメタデータをさらに記憶するため、メタデータは、ファイル検索を円滑にするように、ファイルサイズおよびファイル識別子などの情報を含む。ファイルの現在の管理方法が調整された後、ファイルシステムに記憶されたメタデータがさらに更新される必要がある。
【００３９】
前述のファイル管理プロセスにおいて、適切なファイル管理粒度は、有効なファイルプリフェッチ操作を円滑にし、ファイル操作の速度を向上させ、有効なメタデータ管理をさらに円滑にすることに留意されたい。例えば、順次ファイルアクセスに関して、４ＭＢのファイルが１回、書き込まれ、２ＭＢのファイル管理粒度（すなわち、記憶ブロックの最小単位は、２ＭＢである）が使用される場合、データ位置付けは、２回だけ必要とされ、ＩＯアクセス要求は、２回だけ、記憶媒体に送信される必要があり、２つだけの記憶ブロックのメタデータが管理される必要があり、４ＫＢのファイル管理粒度が使用される場合、データ位置付けは、１０００回、必要とされ、ＩＯアクセス要求は、１０００回、記憶媒体に送信される必要があり、１０００記憶ブロックのメタデータが管理される必要がある。
【００４０】
本発明のこの実施形態において、ファイルシステムが、ファイルを操作するためのＩＯアクセス情報を監視し、ＩＯアクセスモードを決定し、次に、ＩＯアクセスモードに従って、対応するファイル管理ポリシーを決定し、最後に、取得されたファイル管理ポリシーがファイルの現在の管理方法と整合性がない場合、取得されたファイル管理ポリシーに従ってファイルの現在の管理方法を動的に調整することを知ることができる。このようにして、ファイル管理中、異なるファイル管理ポリシーが、ファイルの異なるＩＯアクセスモードに従って、対応して使用されてもよく、すなわち、ファイルにアクセスする性能が最適であってもよく、かつ記憶媒体の特性が十分に発揮されるように、異なるファイル管理粒度、および／または異なるファイル記憶媒体が使用される。
【００４１】
図２を参照すると、特定の実施形態において、ファイルシステムが前述のステップ１０４を実行する場合、ステップ１０３において取得されたファイル管理ポリシーに従う以下のいくつかの方法があってもよい。すなわち、
【００４２】
（１）ステップ１０３において取得されたファイル管理ポリシーに含まれるファイル管理粒度が、ファイルの現在の管理方法におけるファイル管理粒度と整合性がない場合において、ファイルシステムがステップ１０４を実行するとき、
Ａ１：ファイルの管理粒度が、ステップ１０３において取得されたファイル管理粒度に更新され、
Ａ２：ファイルのメタデータが更新されて、更新されたメタデータが、更新された管理粒度についての情報を含むようにされる。
【００４３】
（２）ステップ１０３において取得されたファイル管理ポリシーに含まれるファイル記憶媒体タイプが、ファイルの現在の管理方法における記憶媒体と整合性がない場合において、ファイルシステムが前述のステップ１０４を実行するとき、ファイル記憶媒体上で移行が実行され、このことは、特に、以下のとおりである。すなわち、
【００４４】
Ｂ１：前述のファイルを記憶するために使用される記憶ブロックが、ターゲット記憶媒体に適用され、ここで、ターゲット記憶媒体は、前述のステップ１０３において取得されたファイル管理ポリシーに含まれるファイル記憶媒体タイプと整合性がある記憶媒体である。
【００４５】
特に、本明細書において、適用される記憶ブロックの粒度は、前述のステップ１０３において取得されたファイル管理粒度によって決定されてもよい。取得されたファイル管理ポリシーがファイル管理粒度を含まない場合、適用される記憶ブロックの粒度は、ソース記憶媒体におけるファイルの最小記憶単位であってもよく、ターゲット記憶媒体に関して適切な粒度であってもよい、といった具合である。取得されたファイル管理ポリシーがファイル管理粒度を含む場合、適用される記憶ブロックの粒度は、ファイル管理ポリシーにおけるファイル管理粒度である。
【００４６】
Ｂ２：ファイルは、ソース記憶媒体から適用される記憶ブロックに移行され、すなわち、ファイルは、ソース記憶媒体からコピーされて、適用される記憶ブロックに追加され、ソース記憶媒体におけるファイルのデータが、さらに削除されてもよい。ファイルが現在位置付けされている記憶媒体は、ソース記憶媒体である。
【００４７】
Ｂ３：新たなメタデータが作成されて、新たなメタデータが、移行されたファイルの記憶情報、例えば、ファイルサイズ、およびファイル記憶の最小単位を含むようにされる。
【００４８】
ファイルの現在の管理方法が調整される場合、ファイル記憶媒体の移行が含まれることに留意されたい。このプロセスにおいて、ファイルシステムは、依然として常に、その記憶媒体を使用することによってファイルを操作する、すなわち、ファイルシステムは、ファイルを操作することを求めるＩＯアクセス要求に従って、操作されることを要求されるファイルに対して、対応する操作（例えば、読取り／書込み操作）を実行する。この事例において、ファイルに対して読取り／書込み操作を実行することに先立って、ファイルシステムはまず、操作されることを要求されるファイルがターゲット記憶媒体に既に移行されているかどうかを決定する必要がある。特に、ソース記憶媒体が、操作されることを要求されるファイルを記憶するかどうかが確認される。操作されることを要求されるファイルにおけるファイルの１つの部分（例えば、第１の部分）がソース記憶媒体に記憶されておらず、操作されることを要求されるファイルにおけるファイルの別の部分（例えば、第２の部分）がソース記憶媒体に記憶されている場合、ＩＯアクセスモードに対応するファイル管理ポリシーにおけるファイル記憶媒体タイプに従って、ファイルシステムは、移行の後にターゲット記憶媒体において第１のファイルを操作し、ソース記憶媒体においてファイルの第２の部分を操作する。
【００４９】
以下では、特定の実施形態を使用することによって本発明におけるファイル管理方法を説明する。この実施形態におけるファイル管理方法は、任意のファイルシステムに主として適用され、ここで、ファイルシステムは、
ファイルアクセスモジュールと、ファイルＩＯアクセス統計およびモード解析モジュールと、ポリシーマッチ制御モジュールと、メタデータ管理モジュールと、ファイルデータブロック調整および移行モジュールとを含み、複数のタイプの記憶媒体、例えば、ＨＤＤおよびＰＣＭをさらに含む、図３に示される構造を含んでもよく、ここで、
様々なファイルが、様々な記憶媒体に記憶され、
ファイルアクセスモジュールは、ファイルを操作することを求めるＩＯアクセス要求を受信し、ファイル記憶媒体においてアクセス要求によって要求されたファイルを操作するように構成され、ファイルアクセスモジュールは、ユーザインターフェースを使用することによってファイルシステムによって送信されたＩＯアクセス要求を受信してもよく、またはファイルシステムにおける別のモジュールによって送信されたＩＯアクセス要求を受信してもよく、
ファイルＩＯアクセス統計およびモード解析モジュールは、ファイルアクセスモジュールによる記憶媒体におけるファイルに対するアクセスを監視し、記憶媒体に記憶されたファイルに対してファイルアクセスモジュールによって実行される操作のＩＯアクセス情報を収集し、ＩＯアクセスモードを解析するように構成され、
ポリシーマッチ制御モジュールは、ファイル管理粒度およびファイル記憶媒体タイプを含め、異なるＩＯアクセスモードに従って異なるファイル管理ポリシーをマッチングするように構成され、
メタデータ管理モジュールは、ファイルの現在の管理方法が調整された後、ファイルのメタデータを更新するように構成され、ファイルデータブロック調整および移行モジュールは、ファイル管理粒度を調整し、ファイルを、１つの記憶媒体から別の記憶媒体に移行させるように構成される。
【００５０】
この実施形態におけるファイルシステムは、様々な粒度、例えば、４Ｋ、１６Ｋ、６４Ｋ、１Ｍ、および２Ｍの管理方法をサポートする。ファイルが最初に作成されると、ファイルは、ある粒度、例えば、６４Ｋにより１つまたは複数の記憶媒体に記憶されてもよく、次に、前述の図３に示される４つのモジュールが、ファイルの現在の管理方法を動的に調整する。例えば、ファイル１が最初に作成されると、ファイル１が、４ＫＢのファイル管理粒度を使用することによってＰＣＭに記憶され、ファイル１が、動的調整を用いてＨＤＤに移行され、２ＭＢのファイル管理粒度を使用することによって記憶される。
【００５１】
図４を参照すると、ファイル移行プロセスにおいて、ファイルシステムが、ソース記憶媒体におけるソースファイル管理粒度を使用することによってファイルを移行させてもよい。例えば、ソース記憶媒体のファイル管理粒度が、２ＭＢであり、次に、ファイルシステムが、２ＭＢの単位でファイルを移行させ、移行されているファイルをロックし、ソース記憶媒体における移行される場所に印を付ける。さらに、ファイルが移行された後、ファイルシステムは、新たなメタデータを作成する必要がある。このプロセスにおいて、ファイルアクセスモジュールが、ファイルを操作することを求めるＩＯアクセス要求を得ると、要求されるファイルにおけるファイルの一部分がターゲット記憶媒体に既に移行されている、すなわち、ソース記憶媒体に記憶されていない場合、移行の操作がなされた後にターゲット記憶媒体におけるファイルのその一部分が操作される。要求されるファイルにおけるファイルの別の部分が、依然として、ターゲット記憶媒体に移行されていない場合、ソース記憶媒体におけるファイルのその別の部分が操作される。
【００５２】
本発明の実施形態が、ファイルシステムをさらに提供し、ファイルが、複数の記憶媒体を使用することによってファイルシステムに記憶される。ファイルシステムの概略構造図が、以下を含んで、図５に示される。すなわち、
ファイルを操作するための入出力ＩＯアクセス情報を獲得するように構成された情報獲得ユニット１０であって、ＩＯアクセス情報は、ファイルを操作するための特定の状況、例えば、アクセス時間、ファイルに対する読取り操作のＩＯアクセスであるか、またはファイルに対する書込み操作のＩＯアクセスであるか、読取り／書込み比率、および各アクセス中のファイルの読取り／書込み粒度などの情報を含む情報獲得ユニット１０、
情報獲得ユニット１０によって獲得されたＩＯアクセス情報に対応するＩＯアクセスモードを決定するように構成されたアクセスモード決定ユニット１１であって、
特に、アクセスモード決定ユニット１１は、情報獲得ユニット１０によって獲得されたＩＯアクセス情報におけるファイルの読取り操作比率が、事前設定された値より大きい場合、ＩＯアクセスモードは読取り操作モードであると決定すること、情報獲得ユニット１０によって獲得されたＩＯアクセス情報におけるファイルの書込み操作比率が、事前設定された値より大きい場合、ＩＯアクセスモードは書込み操作モードであると決定すること、または情報獲得ユニット１０によって獲得されたＩＯアクセス情報におけるファイルのものである書込み操作比率と読取り操作比率との間の差が、事前設定された値より小さい場合、ＩＯアクセスモードは読取り／書込みハイブリッド操作モードであると決定することを行うように構成され、さらに、ＩＯアクセスモードは、読取り／書込み操作の粒度をさらに含んでもよい、アクセスモード決定ユニット１１、
アクセスモード決定ユニット１１によって決定されたＩＯアクセスモードを事前設定されたモードマッチングライブラリとマッチングして、決定されたＩＯアクセスモードに対応するファイル管理ポリシーを取得するように構成された管理取得ユニット１２であって、ファイル管理ポリシーは、以下の情報、すなわち、ファイル管理粒度およびファイル記憶媒体タイプのうちの少なくとも１つを含み、モードマッチングライブラリは、ＩＯアクセスモードとファイル管理ポリシーとの間の対応関係を含む管理取得ユニット１２、および
ファイルの現在の管理方法が、ＩＯアクセスモードに対応しかつ管理取得ユニット１２によって決定されたファイル管理ポリシーと整合性がない場合、ファイルの現在の管理方法を調整して、調整された現在の管理方法が、決定されたＩＯアクセスモードに対応するファイル管理ポリシーと整合性があるようにする、例えば、ファイルの記憶媒体が変更され、および／またはファイルの管理粒度が変更されるようにするように構成された調整ユニット１３である。さらに、ファイルシステムは、ファイルのメタデータをさらに記憶するため、メタデータは、ファイル検索を円滑にするように、ファイルサイズおよびファイル識別子などの情報を含む。調整ユニット１３がファイルの現在の管理方法を調整した後、ファイルシステムに記憶されたメタデータがさらに更新される必要がある。
【００５３】
本発明のこの実施形態におけるファイルシステムにおいて、情報獲得ユニット１０が、ファイルを操作する（読取り／書込み操作を含む）ためのＩＯアクセス情報を監視し、アクセスモード決定ユニット１１が、ＩＯアクセスモードを決定して、管理取得ユニット１２が、そのＩＯアクセスモードに従って、対応するファイル管理ポリシーを決定するようにし、最後に、調整ユニット１３が、取得されたファイル管理ポリシーに従ってファイルの現在の管理方法を動的に調整することを知ることができる。このようにして、ファイル管理中、異なるファイル管理ポリシーが、ファイルの異なるＩＯアクセスモードに従って、対応して使用されてもよく、すなわち、ファイルにアクセスする性能が最適であってもよく、かつ記憶媒体の特性が十分に発揮されるように、異なるファイル管理粒度、および／または異なるファイル記憶媒体が使用される。
【００５４】
図６を参照すると、特定の実施形態において、図５に示される構造に加えて、ファイルシステムは、ファイル操作ユニット１４をさらに含んでもよく、それの調整ユニット１３は、更新ユニット１３１、移行ユニット１３２、および作成ユニット１３３を使用することによって実施されてもよく、特に、
更新ユニット１３１は、管理取得ユニット１２によって取得されたファイル管理ポリシーに含まれるファイル管理粒度が、ファイルの現在のファイル管理方法におけるファイル管理粒度と整合性がない場合、ファイルの管理粒度を、管理取得ユニット１２によって取得されたファイル管理粒度に更新すること、およびファイルのメタデータを更新して、更新されたメタデータが、更新された管理粒度についての情報を含むようにすることを行うように構成される。
【００５５】
移行ユニット１３２は、管理取得ユニット１２によって取得されたファイル管理ポリシーに含まれるファイル記憶媒体タイプが、ファイルの現在の管理方法における記憶媒体と整合性がない場合、ターゲット記憶媒体に、ファイルを記憶するために使用される記憶ブロックを適用し、ファイルをソース記憶媒体から適用される記憶ブロックに移行させるように構成され、ファイルが現在位置付けられている記憶媒体は、ソース記憶媒体であり、ターゲット記憶媒体は、ファイル管理ポリシーに含まれるファイル記憶媒体タイプと整合性のある記憶媒体であり、作成ユニット１３３は、新たなメタデータを作成して、新たなメタデータが、移行ユニット１３２によって移行されたファイルの記憶情報を含み、移行されたファイルが位置付けられたターゲット記憶媒体についての情報、およびターゲット記憶媒体におけるファイルの管理粒度などの情報を含むようにするように構成される。ターゲット記憶媒体は、管理取得ユニット１２によって取得されたファイル管理ポリシーに含まれるファイル記憶媒体タイプと整合性のある記憶媒体であり、適用される記憶ブロックの粒度は、管理取得ユニット１２によって取得されたファイル管理粒度によって決定されてもよい。取得されたファイル管理ポリシーがファイル管理粒度を含まない場合、適用される記憶ブロックの粒度は、ソース記憶媒体におけるファイルの最小記憶単位であってもよく、ターゲット記憶媒体に関して適切な粒度であってもよい、といった具合である。
【００５６】
ファイル操作ユニット１４は、操作されることを要求されるファイルが、ファイルを操作することを求めるＩＯアクセス要求に従って操作される場合において、操作されることを要求されるファイルにおけるファイルの第１の部分がソース記憶媒体に記憶されておらず、ファイルの第２の部分がソース記憶媒体に記憶されているとき、管理取得ユニット１２によって決定されたＩＯアクセスモードに対応するファイル管理ポリシーにおけるファイル記憶媒体タイプに従って、移行の後にターゲット記憶媒体においてファイルの第１の部分を操作すること、およびソース記憶媒体においてファイルの第２の部分を操作することを行うように構成される。
【００５７】
この実施形態におけるファイルシステムにおいて、調整ユニット１３が、ファイルの現在の管理方法を調整する場合、ファイルの現在の記憶粒度が、更新ユニット１３１を使用することだけによって更新されてもよく、またはファイルが、移行ユニット１３２および作成ユニット１３３を使用することによって１つの記憶媒体（すなわち、ソース記憶媒体）から別の記憶媒体（すなわち、ターゲット記憶媒体）に移行される。この事例において、記憶媒体のインターフェースを使用することによってファイルを操作する場合、ファイル操作ユニット１４はまず、ファイルがターゲット記憶媒体に既に完全に移行されているかどうかを決定し、次に、対応する処理を実行する必要がある。
【００５８】
本発明の実施形態が、ファイルシステムに記憶されたファイルを主として管理することが可能な、別のファイルシステムをさらに提供する。ファイルシステムの概略構造図が図７に示され、ファイルシステムは、プロセッサ２１と、バスに別々に接続された複数のタイプのメモリ２２、例えば、ＨＤＤおよびＰＣＭなどのメモリとを含み、バスに接続された入力装置および出力装置をさらに含んでもよく、特に、
メモリ２２は、入力装置から入力されたファイルを記憶するように構成され、プロセッサ２１がデータを処理するために必要なファイルなどの情報をさらに記憶してもよい。この実施形態におけるメモリ２２は、前述のファイル記憶媒体である。入力装置および出力装置は、ファイルシステムが別のデバイスと通信するポートであり、ファイルシステムに外部で接続されたデバイス、例えば、ディスプレイ、キーボード、マウス、およびプリンタをさらに含んでもよい。
【００５９】
プロセッサ２１は、ファイルを操作するためのＩＯアクセス情報を獲得すること、獲得されたＩＯアクセス情報に対応するＩＯアクセスモードを決定すること、決定されたＩＯアクセスモードを事前設定されたモードマッチングライブラリとマッチングして、決定されたＩＯアクセスモードに対応するファイル管理ポリシーを取得することであって、ファイル管理ポリシーは、以下の情報、すなわち、ファイル管理粒度およびファイル記憶媒体タイプのうちの少なくとも１つを含み、モードマッチングライブラリは、ＩＯアクセスモードとファイル管理ポリシーとの間の対応関係を含むこと、およびファイルの現在の管理方法が、決定されたＩＯアクセスモードに対応するファイル管理ポリシーと整合性がない場合、ファイルの現在の管理方法を調整して、調整された現在の管理方法が、決定されたＩＯアクセスモードに対応するファイル管理ポリシーと整合性があるようにすることを行うように構成される。ＩＯアクセスモードを決定する際、プロセッサ２１は、獲得されたＩＯアクセス情報におけるファイルの読取り操作比率が、事前設定された値より大きい場合、ＩＯアクセスモードは読取り操作モードであると決定すること、獲得されたＩＯアクセス情報におけるファイルの書込み操作比率が、事前設定された値より大きい場合、ＩＯアクセスモードは書込み操作モードであると決定すること、または獲得されたＩＯアクセス情報におけるファイルのものである書込み操作比率と読取り操作比率との間の差が、事前設定された値より小さい場合、ＩＯアクセスモードは読取り／書込みハイブリッド操作モードであると決定することを行うように構成され、さらにＩＯアクセスモードは、読取り／書込み操作の粒度をさらに含んでもよい。さらに、ファイルシステムにおける記憶媒体は、ファイルのメタデータをさらに記憶するため、メタデータは、ファイル検索を円滑にするように、ファイルサイズ、ファイル識別子、およびｉｎｏｄｅ番号などの情報を含む。プロセッサ２１がファイルの現在の管理方法を調整した後、ファイルシステムに記憶されたメタデータがさらに更新される必要がある。
【００６０】
このようにして、ファイル管理中、異なるファイル管理ポリシーが、ファイルの異なるＩＯアクセスモードに従って、対応して使用されてもよく、すなわち、ファイルにアクセスする性能が最適であってもよく、かつ記憶媒体の特性が十分に発揮されるように、異なるファイル管理粒度、および／または異なるファイル記憶媒体が使用される。
【００６１】
いくつかの特定の実施形態において、プロセッサ２１は、取得されたファイル管理ポリシーに含まれるファイル管理粒度が、メモリに記憶されたファイルの現在のファイル管理方法におけるファイル管理粒度と整合性がない場合、メモリにおけるファイルの管理粒度を更新し、およびファイルのメタデータを更新して、更新されたメタデータが、更新された管理粒度についての情報を含むようにするように構成される。
【００６２】
別の態様において、プロセッサ２１は、取得されたファイル管理ポリシーに含まれるファイル記憶媒体タイプが、メモリに記憶されたファイルの現在の管理方法における記憶媒体と整合性がない場合、複数のメモリの中のターゲット記憶媒体に、ファイルを記憶するために使用される記憶ブロックを適用すること、ファイルを、複数のメモリの中のソース記憶媒体から適用される記憶ブロックに移行させること、および新たなメタデータを作成して、新たなメタデータが、移行ユニットによって移行されたファイルの記憶情報を含むようにすることを行うように構成される。ファイルが現在位置付けられている記憶媒体は、ソース記憶媒体であり、ターゲット記憶媒体は、ファイル管理ポリシーに含まれるファイル記憶媒体タイプと整合性のある記憶媒体である。
【００６３】
この事例において、記憶媒体のインターフェースを使用することによってファイルを操作する場合、プロセッサ２１はまず、ファイルがターゲット記憶媒体に既に完全に移行されているかどうかを決定し、次に、対応する処理を実行する必要がある。特に、プロセッサ２１は、操作されることを要求されるファイルが、ファイルを操作することを求めるＩＯアクセス要求に従って操作される場合において、操作されることを要求されるファイルにおけるファイルの第１の部分がソース記憶媒体に記憶されておらず、ファイルの第２の部分がソース記憶媒体に記憶されているとき、ＩＯアクセスモードに対応するファイル管理ポリシーにおけるファイル記憶媒体タイプに従って、移行の後にターゲット記憶媒体においてファイルの第１の部分を操作し、ソース記憶媒体においてファイルの第２の部分を操作するようにさらに構成される。
【００６４】
当業者は、実施形態における方法のステップのすべてまたはいくつかは、関係のあるハードウェアに命令するプログラムによって実施され得ることを理解することがある。そのプログラムは、コンピュータ可読記憶媒体に記憶されることが可能である。その記憶媒体は、ＲＯＭ、ＲＡＭ、磁気ディスク、または光ディスクを含んでもよい。
【００６５】
以上は、本発明の実施形態において提供されるファイル管理方法およびファイルシステムに関する詳細な説明を与える。本明細書において、特定の例が、本発明の原理および実施方法を説明するために使用され、実施形態の説明は、本発明の方法および中核の着想を理解するのを助けるようにだけ意図されている。一方、当業者は、本発明の着想に基づいて、特定の実施方法、およびアプリケーション範囲に関して変更を行ってもよい。したがって、本明細書の内容は、本発明の限定として解釈されないものとする。
【図１】
0006378364.tif 000003
【図２】
0006378364.tif 000004
【図３】
0006378364.tif 000005
【図４】
0006378364.tif 000006
【図５】
0006378364.tif 000007
【図６】
0006378364.tif 000008
【図７】
0006378364.tif 000009