特許第6378364号(P6378364)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 華為技術有限公司の特許一覧

特許6378364ファイル管理方法およびファイルシステム
<>
  • 特許6378364-ファイル管理方法およびファイルシステム 図000003
  • 特許6378364-ファイル管理方法およびファイルシステム 図000004
  • 特許6378364-ファイル管理方法およびファイルシステム 図000005
  • 特許6378364-ファイル管理方法およびファイルシステム 図000006
  • 特許6378364-ファイル管理方法およびファイルシステム 図000007
  • 特許6378364-ファイル管理方法およびファイルシステム 図000008
  • 特許6378364-ファイル管理方法およびファイルシステム 図000009
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6378364
(24)【登録日】2018年8月3日
(45)【発行日】2018年8月22日
(54)【発明の名称】ファイル管理方法およびファイルシステム
(51)【国際特許分類】
   G06F 12/00 20060101AFI20180813BHJP
   G06F 3/06 20060101ALI20180813BHJP
【FI】
   G06F12/00 501B
   G06F3/06 301Y
   G06F3/06 301Z
【請求項の数】20
【全頁数】22
(21)【出願番号】特願2016-563933(P2016-563933)
(86)(22)【出願日】2014年4月22日
(65)【公表番号】特表2017-514234(P2017-514234A)
(43)【公表日】2017年6月1日
(86)【国際出願番号】CN2014075939
(87)【国際公開番号】WO2015161443
(87)【国際公開日】20151029
【審査請求日】2016年11月29日
(73)【特許権者】
【識別番号】503433420
【氏名又は名称】華為技術有限公司
【氏名又は名称原語表記】HUAWEI TECHNOLOGIES CO.,LTD.
(74)【代理人】
【識別番号】100132481
【弁理士】
【氏名又は名称】赤澤 克豪
(74)【代理人】
【識別番号】100115635
【弁理士】
【氏名又は名称】窪田 郁大
(74)【代理人】
【識別番号】100130524
【弁理士】
【氏名又は名称】藤田 英治
(72)【発明者】
【氏名】徐 君
(72)【発明者】
【氏名】朱 冠宇
(72)【発明者】
【氏名】▲羅▼ 彩珠
【審査官】 田中 啓介
(56)【参考文献】
【文献】 特開2010−026919(JP,A)
【文献】 特表2008−515120(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F3/06−3/08
G06F12/00、13/10−13/14
(57)【特許請求の範囲】
【請求項1】
ファイルを操作するための入出力(IO)アクセス情報を獲得するステップと、
前記IOアクセス情報に対応するIOアクセスモードを決定するステップと、
前記決定されたIOアクセスモードを事前設定されたモードマッチングライブラリとマッチングして、前記決定されたIOアクセスモードに対応するファイル管理ポリシーを取得するステップであって、前記ファイル管理ポリシーはファイル記憶の最小単位を指すファイル管理粒度を含み、前記モードマッチングライブラリは、前記IOアクセスモードと前記ファイル管理ポリシーとの間の対応関係を含む、ステップと、
前記ファイルの現在の管理方法が、前記決定されたIOアクセスモードに対応する前記ファイル管理ポリシーと整合性がない場合、前記ファイルの前記現在の管理方法を調整して、前記調整された現在の管理方法が、前記決定されたIOアクセスモードに対応する前記ファイル管理ポリシーと整合性があるようにするステップと
を含む、ファイル管理方法。
【請求項2】
前記IOアクセス情報に対応するIOアクセスモードを決定する前記ステップは、
前記IOアクセス情報における前記ファイルの読取り操作比率が、事前設定された値より大きい場合、前記IOアクセスモードは読取り操作モードであると決定するステップ、
前記IOアクセス情報における前記ファイルの書込み操作比率が、事前設定された値より大きい場合、前記IOアクセスモードは書込み操作モードであると決定するステップ、または
前記IOアクセス情報における前記ファイルのものである書込み操作比率と読取り操作比率との間の差が、事前設定された値より小さい場合、前記IOアクセスモードは読取り/書込みハイブリッド操作モードであると決定するステップ
を含む、請求項1に記載の方法。
【請求項3】
前記ファイルの現在の管理方法が、前記決定されたIOアクセスモードに対応する前記ファイル管理ポリシーと整合性がない場合、前記ファイルの前記現在の管理方法を調整する前記ステップは、
前記取得されたファイル管理ポリシーに含まれる前記ファイル管理粒度が、前記ファイルの現在の管理方法におけるファイル管理粒度と整合性がない場合、前記ファイルの管理粒度を、前記取得されたファイル管理ポリシーに含まれる前記ファイル管理粒度で更新するステップと、
前記ファイルのメタデータを更新して、前記更新されたメタデータが、前記更新された管理粒度についての情報を含むようにするステップと
を含む、請求項1または2に記載の方法。
【請求項4】
前記ファイルの現在の管理方法が、前記決定されたIOアクセスモードに対応する前記ファイル管理ポリシーと整合性がない場合、前記ファイルの前記現在の管理方法を調整する前記ステップは、
前記取得されたファイル管理ポリシーに含まれるファイル記憶媒体タイプが、前記ファイルの前記現在の管理方法における記憶媒体と整合性がない場合、ターゲット記憶媒体に、前記ファイルを記憶するために使用される記憶ブロックを適用するステップであって、前記ターゲット記憶媒体は、前記ファイル管理ポリシーに含まれる前記ファイル記憶媒体タイプと整合性のある記憶媒体である、ステップと、
前記ファイルをソース記憶媒体から前記適用される記憶ブロックに移行させるステップであって、前記ファイルが現在位置付けられている記憶媒体は、前記ソース記憶媒体である、ステップと、
新たなメタデータを作成して、前記新たなメタデータが、前記移行されたファイルの記憶情報を含むようにするステップと
を含む、請求項1または2に記載の方法。
【請求項5】
操作されることを要求される前記ファイルが、前記ファイルを操作することを求めるIOアクセス要求に従って操作される場合において、操作されることを要求される前記ファイルにおけるファイルの第1の部分が前記ソース記憶媒体に記憶されておらず、ファイルの第2の部分が前記ソース記憶媒体に記憶されているとき、前記IOアクセスモードに対応する前記ファイル管理ポリシーにおける前記ファイル記憶媒体タイプに従って、前記移行の後に前記ターゲット記憶媒体において前記ファイルの第1の部分を操作し、前記ソース記憶媒体において前記ファイルの第2の部分を操作するステップ
をさらに含む、請求項4に記載の方法。
【請求項6】
ファイルを操作するための入出力(IO)アクセス情報を獲得するように構成された情報獲得ユニットと、
前記情報獲得ユニットによって獲得された前記IOアクセス情報に対応するIOアクセスモードを決定するように構成されたアクセスモード決定ユニットと、
前記アクセスモード決定ユニットによって決定された前記IOアクセスモードを事前設定されたモードマッチングライブラリとマッチングして、前記決定されたIOアクセスモードに対応するファイル管理ポリシーを取得するように構成された管理取得ユニットであって、前記ファイル管理ポリシーはファイル記憶の最小単位を指すファイル管理粒度を含み、前記モードマッチングライブラリは、前記IOアクセスモードと前記ファイル管理ポリシーとの間の対応関係を含む、管理取得ユニットと、
前記ファイルの現在の管理方法が、前記IOアクセスモードに対応しかつ前記管理取得ユニットによって決定された前記ファイル管理ポリシーと整合性がない場合、前記ファイルの前記現在の管理方法を調整して、前記調整された現在の管理方法が、前記決定されたIOアクセスモードに対応する前記ファイル管理ポリシーと整合性があるようにするように構成された調整ユニットと
を備える、ファイルシステム。
【請求項7】
前記アクセスモード決定ユニットは、前記情報獲得ユニットによって獲得された前記IOアクセス情報における前記ファイルの読取り操作比率が、事前設定された値より大きい場合、前記IOアクセスモードは読取り操作モードであると決定し、前記情報獲得ユニットによって獲得された前記IOアクセス情報における前記ファイルの書込み操作比率が、事前設定された値より大きい場合、前記IOアクセスモードは書込み操作モードであると決定し、または前記情報獲得ユニットによって獲得された前記IOアクセス情報における前記ファイルのものである書込み操作比率と読取り操作比率との間の差が、事前設定された値より小さい場合、前記IOアクセスモードは読取り/書込みハイブリッド操作モードであると決定するように構成される、請求項6に記載のシステム。
【請求項8】
前記調整ユニットは、
前記取得されたファイル管理ポリシーに含まれる前記ファイル管理粒度が、前記ファイルの前記現在のファイル管理方法におけるファイル管理粒度と整合性がない場合、前記ファイルの管理粒度を、前記取得されたファイル管理ポリシーに含まれる前記ファイル管理粒度で更新し、前記ファイルのメタデータを更新して、前記更新されたメタデータが、前記更新された管理粒度についての情報を含むようにするように構成された更新ユニット
を備える、請求項6または7に記載のシステム。
【請求項9】
前記調整ユニットは、
前記取得されたファイル管理ポリシーに含まれるファイル記憶媒体タイプが、前記ファイルの前記現在の管理方法における記憶媒体と整合性がない場合、ターゲット記憶媒体に、前記ファイルを記憶するために使用される記憶ブロックを適用し、前記ファイルをソース記憶媒体から前記適用される記憶ブロックに移行させるように構成された移行ユニットであって、前記ファイルが現在位置付けられている記憶媒体は、前記ソース記憶媒体であり、前記ターゲット記憶媒体は、前記ファイル管理ポリシーに含まれる前記ファイル記憶媒体タイプと整合性のある記憶媒体である、移行ユニットと、
新たなメタデータを作成して、前記新たなメタデータが、前記移行ユニットによって移行された前記ファイルの記憶情報を含むようにするように構成された作成ユニットと
を備える、請求項6または7に記載のシステム。
【請求項10】
操作されることを要求される前記ファイルが、前記ファイルを操作することを求めるIOアクセス要求に従って操作される場合において、操作されることを要求される前記ファイルにおけるファイルの第1の部分が前記ソース記憶媒体に記憶されておらず、ファイルの第2の部分が前記ソース記憶媒体に記憶されているとき、前記IOアクセスモードに対応する前記ファイル管理ポリシーにおける前記ファイル記憶媒体タイプに従って、前記移行の後に前記ターゲット記憶媒体において前記ファイルの第1の部分を操作し、前記ソース記憶媒体において前記ファイルの第2の部分を操作するように構成されたファイル操作ユニット
をさらに備える、請求項9に記載のシステム。
【請求項11】
プロセッサと、バスに別々に接続された複数のメモリとを備えるファイルシステムであって、
前記プロセッサは、ファイルを操作するための入出力(IO)アクセス情報を獲得し、前記獲得されたIOアクセス情報に対応するIOアクセスモードを決定し、前記決定されたIOアクセスモードを事前設定されたモードマッチングライブラリとマッチングして、前記決定されたIOアクセスモードに対応するファイル管理ポリシーを取得し、前記ファイル管理ポリシーはファイル記憶の最小単位を指すファイル管理粒度を含み、前記モードマッチングライブラリは、前記IOアクセスモードと前記ファイル管理ポリシーとの間の対応関係を含み、前記ファイルの現在の管理方法が、前記決定されたIOアクセスモードに対応する前記ファイル管理ポリシーと整合性がない場合、前記ファイルの前記現在の管理方法を調整して、前記調整された現在の管理方法が、前記決定されたIOアクセスモードに対応する前記ファイル管理ポリシーと整合性があるようにするように構成され、
ァイル記憶媒体前記メモリである、ファイルシステム。
【請求項12】
前記プロセッサは、前記獲得されたIOアクセス情報における前記ファイルの読取り操作比率が、事前設定された値より大きい場合、前記IOアクセスモードは読取り操作モードであると決定し、前記獲得されたIOアクセス情報における前記ファイルの書込み操作比率が、事前設定された値より大きい場合、前記IOアクセスモードは書込み操作モードであると決定し、または前記獲得されたIOアクセス情報における前記ファイルのものである書込み操作比率と読取り操作比率との間の差が、事前設定された値より小さい場合、前記IOアクセスモードは読取り/書込みハイブリッド操作モードであると決定するように構成される、請求項11に記載のシステム。
【請求項13】
前記プロセッサは、前記取得されたファイル管理ポリシーに含まれる前記ファイル管理粒度が、前記メモリに記憶された前記ファイルの前記現在の管理方法におけるファイル管理粒度と整合性がない場合、前記メモリにおける前記ファイルの管理粒度を、前記取得されたファイル管理ポリシーに含まれる前記ファイル管理粒度で更新し、前記ファイルのメタデータを更新して、前記更新されたメタデータが、前記更新された管理粒度についての情報を含むようにするように構成される、請求項11または12に記載のシステム。
【請求項14】
前記プロセッサは、前記取得されたファイル管理ポリシーに含まれるファイル記憶媒体タイプが、前記ファイルの前記現在の管理方法における記憶媒体と整合性がない場合、前記複数のメモリの中のターゲット記憶媒体に、前記ファイルを記憶するために使用される記憶ブロックを適用し、前記ファイルを、前記複数のメモリの中のソース記憶媒体から前記適用される記憶ブロックに移行させ、新たなメタデータを作成して、前記新たなメタデータが、前記移行されたファイルの記憶情報を含むようにするように構成され、
前記ファイルが現在位置付けられている記憶媒体は、前記ソース記憶媒体であり、前記ターゲット記憶媒体は、前記ファイル管理ポリシーに含まれる前記ファイル記憶媒体タイプと整合性のある記憶媒体である、請求項11または12に記載のシステム。
【請求項15】
前記プロセッサは、操作されることを要求される前記ファイルが、前記ファイルを操作することを求めるIOアクセス要求に従って操作される場合において、操作されることを要求される前記ファイルにおけるファイルの第1の部分が前記ソース記憶媒体に記憶されておらず、ファイルの第2の部分が前記ソース記憶媒体に記憶されているとき、前記IOアクセスモードに対応する前記ファイル管理ポリシーにおける前記ファイル記憶媒体タイプに従って、前記移行の後に前記ターゲット記憶媒体において前記ファイルの第1の部分を操作し、前記ソース記憶媒体において前記ファイルの第2の部分を操作するようにさらに構成される、請求項14に記載のシステム。
【請求項16】
プロセッサにより実行されたときに、前記プロセッサに、
ファイルを操作するための入出力(IO)アクセス情報を獲得し、
前記IOアクセス情報に対応するIOアクセスモードを決定し、
前記IOアクセスモードを事前設定されたモードマッチングライブラリとマッチングして、前記IOアクセスモードに対応するファイル管理ポリシーを取得し、前記ファイル管理ポリシーはファイル記憶の最小単位を指すファイル管理粒度を含み、またはファイル記憶媒体タイプを含み、または前記ファイル管理粒度およびファイル記憶媒体タイプを含み、前記モードマッチングライブラリは、前記IOアクセスモードと前記ファイル管理ポリシーとの間の対応関係を含み、
前記ファイルの現在の管理方法が、前記IOアクセスモードに対応する前記ファイル管理ポリシーと整合性がない場合、前記ファイルの現在の管理方法を調整して、前記調整された現在の管理方法が、前記決定されたIOアクセスモードに対応する前記ファイル管理ポリシーと整合性があるようにする
ことを前記プロセッサに命令するコンピュータ実行可能な命令を記憶した、コンピュータ読取り可能記憶媒体。
【請求項17】
前記命令は、
前記IOアクセス情報における前記ファイルの読取り操作比率が、事前設定された値より大きい場合、前記IOアクセスモードは読取り操作モードであると決定し、前記IOアクセス情報における前記ファイルの書込み操作比率が、事前設定された値より大きい場合、前記IOアクセスモードは書込み操作モードであると決定し、または前記ファイルのものであり前記IOアクセス情報におけるものである書込み操作比率と読取り操作比率との間の差が、事前設定された値より小さい場合、前記IOアクセスモードは読取り/書込みハイブリッド操作モードであると決定する
ことを前記プロセッサに命令する、請求項16に記載のコンピュータ読取り可能記憶媒体。
【請求項18】
前記命令は、
前記取得されたファイル管理ポリシーに含まれる前記ファイル管理粒度が、前記ファイルの前記現在の管理方法におけるファイル管理粒度と整合性がない場合、前記ファイルの管理粒度を、前記取得されたファイル管理ポリシーに含まれる前記ファイル管理粒度で更新し、前記ファイルのメタデータを更新して、前記更新されたメタデータが、前記更新された管理粒度についての情報を含むようにする
ことを前記プロセッサに命令する、請求項16または17に記載のコンピュータ読取り可能記憶媒体。
【請求項19】
前記命令は、
前記取得されたファイル管理ポリシーに含まれるファイル記憶媒体タイプが、前記ファイルの前記現在の管理方法における記憶媒体と整合性がない場合、ターゲット記憶媒体に、前記ファイルを記憶するために使用される記憶ブロックを適用し、前記ファイルを、ソース記憶媒体から前記適用される記憶ブロックに移行させ、前記ファイルが現在位置付けられている記憶媒体は、前記ソース記憶媒体であり、前記ターゲット記憶媒体は、前記ファイル管理ポリシーに含まれる前記ファイル記憶媒体タイプと整合性のある記憶媒体であり、
新たなメタデータを作成して、前記新たなメタデータが、前記移行されたファイルの記憶情報を含むようにする
ことを前記プロセッサに命令する、請求項16または17に記載のコンピュータ読取り可能記憶媒体。
【請求項20】
前記命令は、
操作されることを要求される前記ファイルが、前記ファイルを操作することを求めるIOアクセス要求に従って操作される場合において、操作されることを要求される前記ファイルにおけるファイルの第1の部分が前記ソース記憶媒体に記憶されておらず、ファイルの第2の部分が前記ソース記憶媒体に記憶されているとき、前記IOアクセスモードに対応する前記ファイル管理ポリシーにおける前記ファイル記憶媒体タイプに従って、前記移行の後に前記ターゲット記憶媒体において前記ファイルの第1の部分を操作し、前記ソース記憶媒体において前記ファイルの第2の部分を操作する
ことを前記プロセッサに命令する、請求項19に記載のコンピュータ読取り可能記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、データ処理技術の分野に関し、詳細には、ファイル管理方法およびファイルシステムに関する。
【背景技術】
【0002】
NANDフラッシュ(FLASH)の適用、および相変化メモリ(Phase change memory,PCM)などの新たな記憶媒体の出現により、様々な媒体が、様々な読取り特性および書込み特性を有する。このことは、ファイルシステムが、様々な粒度の管理方法を使用して、記憶媒体に記憶されたファイルを管理して、性能を向上させることを必要とする。例えば、粗い粒度が管理のために使用される場合、メタデータの記憶オーバヘッド、およびメタデータインデックスを探索する時間遅延が低減されることが可能であり、細かい粒度が管理のために使用される場合、データに対する有効なアクセスが確保されることが可能であり、帯域幅が浪費されず、データ移行が低減される。
【0003】
従来技術において、ファイルシステムは、ファイルに組み込まれたファイル名またはファイル情報に従ってファイルタイプを識別し、ファイルに異なる粒度の記憶媒体を割り当てる。ファイルタイプが決定された後、ファイルの管理モードも決定され、これは、比較的固定されている。
【発明の概要】
【0004】
本発明の実施形態は、ファイルのIOアクセスモードに従ってファイルの現在の管理方法の動的調整を実施する、ファイル管理方法およびファイルシステムを提供する。
【0005】
本発明の実施形態の第1の態様は、
ファイルを操作するための入出力IOアクセス情報を獲得することと、
上記IOアクセス情報に対応するIOアクセスモードを決定することと、
上記決定されたIOアクセスモードを事前設定されたモードマッチングライブラリとマッチングして、上記決定されたIOアクセスモードに対応するファイル管理ポリシーを取得することであって、上記ファイル管理ポリシーは、以下の情報、すなわち、ファイル管理粒度およびファイル記憶媒体タイプのうちの少なくとも1つを含み、上記モードマッチングライブラリは、上記IOアクセスモードと上記ファイル管理ポリシーとの間の対応関係を含む、取得することと、
上記ファイルの現在の管理方法が、上記決定されたIOアクセスモードに対応する上記ファイル管理ポリシーと整合性がない場合、上記ファイルの上記現在の管理方法を調整して、上記調整された現在の管理方法が、上記決定されたIOアクセスモードに対応する上記ファイル管理ポリシーと整合性があるようにすることとを含むファイル管理方法を提供する。
【0006】
本発明の実施形態の第1の態様の第1の可能な実装方法において、上記IOアクセス情報に対応するIOアクセスモードを決定することは、
上記IOアクセス情報における上記ファイルの読取り操作比率が、事前設定された値より大きい場合、上記IOアクセスモードは読取り操作モードであると決定すること、
上記IOアクセス情報における上記ファイルの書込み操作比率が、事前設定された値より大きい場合、上記IOアクセスモードは書込み操作モードであると決定すること、または
上記IOアクセス情報における上記ファイルのものである書込み操作比率と読取り操作比率との間の差が、事前設定された値より小さい場合、上記IOアクセスモードは読取り/書込みハイブリッド操作モードであると決定することを含む。
【0007】
本発明の実施形態の第1の態様、または第1の態様の第1の可能な実装方法を参照して、本発明の実施形態の第1の態様の第2の可能な実装方法において、上記ファイルの現在の管理方法が、上記決定されたIOアクセスモードに対応する上記ファイル管理ポリシーと整合性がない場合、上記ファイルの現在の管理方法を調整することは、
上記取得されたファイル管理ポリシーに含まれるファイル管理粒度が、上記ファイルの現在のファイル管理方法におけるファイル管理粒度と整合性がない場合、上記ファイルの管理粒度を更新することと、
上記ファイルのメタデータを更新して、上記更新されたメタデータが、上記更新された管理粒度についての情報を含むようにすることとを含む。
【0008】
本発明の実施形態の第1の態様、または第1の態様の第1の可能な実装方法を参照して、本発明の実施形態の第1の態様の第3の可能な実装方法において、上記ファイルの現在の管理方法が、上記決定されたIOアクセスモードに対応する上記ファイル管理ポリシーと整合性がない場合、上記ファイルの上記現在の管理方法を調整することは、
上記取得されたファイル管理ポリシーに含まれる上記ファイル記憶媒体タイプが、上記ファイルの上記現在の管理方法における記憶媒体と整合性がない場合、ターゲット記憶媒体に、上記ファイルを記憶するために使用される記憶ブロックを適用することであって、上記ターゲット記憶媒体は、上記ファイル管理ポリシーに含まれる上記ファイル記憶媒体タイプと整合性のある記憶媒体である、適用することと、
上記ファイルをソース記憶媒体から上記適用される記憶ブロックに移行させることであって、上記ファイルが現在位置付けられている記憶媒体は、上記ソース記憶媒体である、移行させることと、
新たなメタデータを作成して、上記新たなメタデータが、上記移行されたファイルの記憶情報を含むようにすることとを含む。
【0009】
本発明の実施形態の第1の態様の第3の可能な実装方法を参照して、本発明の実施形態の第1の態様の第4の可能な実装方法において、上記方法は、
操作されることを要求される上記ファイルが、上記ファイルを操作することを求めるIOアクセス要求に従って操作される場合において、操作されることを要求される上記ファイルにおけるファイルの第1の部分が上記ソース記憶媒体に記憶されておらず、ファイルの第2の部分が上記ソース記憶媒体に記憶されているとき、上記IOアクセスモードに対応する上記ファイル管理ポリシーにおける上記ファイル記憶媒体タイプに従って、上記移行の後に上記ターゲット記憶媒体において上記ファイルの第1の部分を操作し、上記ソース記憶媒体において上記ファイルの第2の部分を操作することをさらに含む。
【0010】
本発明の実施形態の第2の態様は、
ファイルを操作するための入出力IOアクセス情報を獲得するように構成された情報獲得ユニットと、
上記情報獲得ユニットによって獲得された上記IOアクセス情報に対応するIOアクセスモードを決定するように構成されたアクセスモード決定ユニットと、
上記アクセスモード決定ユニットによって決定された上記IOアクセスモードを事前設定されたモードマッチングライブラリとマッチングして、上記決定されたIOアクセスモードに対応するファイル管理ポリシーを取得するように構成された管理取得ユニットであって、上記ファイル管理ポリシーは、以下の情報、すなわち、ファイル管理粒度およびファイル記憶媒体タイプのうちの少なくとも1つを含み、上記モードマッチングライブラリは、上記IOアクセスモードと上記ファイル管理ポリシーとの間の対応関係を含む、管理取得ユニットと、
上記ファイルの現在の管理方法が、上記IOアクセスモードに対応しかつ上記管理取得ユニットによって決定された上記ファイル管理ポリシーと整合性がない場合、上記ファイルの上記現在の管理方法を調整して、上記調整された現在の管理方法が、上記決定されたIOアクセスモードに対応する上記ファイル管理ポリシーと整合性があるようにするように構成された調整ユニットとを含むファイルシステムを提供する。
【0011】
本発明の実施形態の第2の態様の第1の可能な実装方法において、
上記アクセスモード決定ユニットは、上記情報獲得ユニットによって獲得された上記IOアクセス情報における上記ファイルの読取り操作比率が、事前設定された値より大きい場合、上記IOアクセスモードは読取り操作モードであると決定し、上記情報獲得ユニットによって獲得された上記IOアクセス情報における上記ファイルの書込み操作比率が、事前設定された値より大きい場合、上記IOアクセスモードは書込み操作モードであると決定し、または上記情報獲得ユニットによって獲得された上記IOアクセス情報における上記ファイルのものである書込み操作比率と読取り操作比率との間の差が、事前設定された値より小さい場合、上記IOアクセスモードは読取り/書込みハイブリッド操作モードであると決定するように構成される。
【0012】
本発明の実施形態の第2の態様、または第2の態様の第1の可能な実装方法を参照して、本発明の実施形態の第2の態様の第2の可能な実装方法において、上記調整ユニットは、
上記取得されたファイル管理ポリシーに含まれる上記ファイル管理粒度が、上記ファイルの上記現在のファイル管理方法におけるファイル管理粒度と整合性がない場合、上記ファイルの管理粒度を更新し、上記ファイルのメタデータを更新して、上記更新されたメタデータが、上記更新された管理粒度についての情報を含むようにするように構成された更新ユニットを含む。
【0013】
本発明の実施形態の第2の態様、または第2の態様の第1の可能な実装方法を参照して、本発明の実施形態の第2の態様の第3の可能な実装方法において、上記調整ユニットは、
上記取得されたファイル管理ポリシーに含まれる上記ファイル記憶媒体タイプが、上記ファイルの上記現在の管理方法における記憶媒体と整合性がない場合、ターゲット記憶媒体に、上記ファイルを記憶するために使用される記憶ブロックを適用し、上記ファイルをソース記憶媒体から上記適用される記憶ブロックに移行させるように構成された移行ユニットであって、上記ファイルが現在位置付けられている記憶媒体は、上記ソース記憶媒体であり、上記ターゲット記憶媒体は、上記ファイル管理ポリシーに含まれる上記ファイル記憶媒体タイプと整合性のある記憶媒体である、移行ユニットと、
新たなメタデータを作成して、上記新たなメタデータが、上記移行ユニットによって移行された上記ファイルの記憶情報を含むようにするように構成された作成ユニットとを含む。
【0014】
本発明の実施形態の第2の態様の第3の可能な実装方法を参照して、本発明の実施形態の第2の態様の第4の可能な実装方法において、上記システムは、
操作されることを要求される上記ファイルが、上記ファイルを操作することを求めるIOアクセス要求に従って操作される場合において、操作されることを要求される上記ファイルにおけるファイルの第1の部分がソース記憶媒体に記憶されておらず、ファイルの第2の部分が上記ソース記憶媒体に記憶されているとき、上記IOアクセスモードに対応する上記ファイル管理ポリシーにおける上記ファイル記憶媒体タイプに従って、上記移行の後に上記ターゲット記憶媒体において上記ファイルの第1の部分を操作し、上記ソース記憶媒体において上記ファイルの第2の部分を操作するように構成されたファイル操作ユニットをさらに含む。
【0015】
本発明の実施形態の第3の態様が、プロセッサと、バスに別々に接続された複数のメモリとを含むファイルシステムであって、
上記プロセッサは、ファイルを操作するための入出力IOアクセス情報を獲得し、上記獲得されたIOアクセス情報に対応するIOアクセスモードを決定し、上記決定されたIOアクセスモードを事前設定されたモードマッチングライブラリとマッチングして、上記決定されたIOアクセスモードに対応するファイル管理ポリシーを取得し、上記ファイル管理ポリシーは、以下の情報、すなわち、ファイル管理粒度およびファイル記憶媒体タイプのうちの少なくとも1つを含み、上記モードマッチングライブラリは、上記IOアクセスモードと上記ファイル管理ポリシーとの間の対応関係を含み、上記ファイルの現在の管理方法が、上記決定されたIOアクセスモードに対応する上記ファイル管理ポリシーと整合性がない場合、上記ファイルの現在の管理方法を調整して、上記調整された現在の管理方法が、上記決定されたIOアクセスモードに対応する上記ファイル管理ポリシーと整合性があるようにするように構成され、
ファイル記憶媒体は、上記メモリであるファイルシステムを提供する。
【0016】
本発明の実施形態の第3の態様の第1の可能な実装方法において、
上記プロセッサは、上記獲得されたIOアクセス情報における上記ファイルの読取り操作比率が、事前設定された値より大きい場合、上記IOアクセスモードは読取り操作モードであると決定し、上記獲得されたIOアクセス情報における上記ファイルの書込み操作比率が、事前設定された値より大きい場合、上記IOアクセスモードは書込み操作モードであると決定し、または上記獲得されたIOアクセス情報における上記ファイルのものである書込み操作比率と読取り操作比率との間の差が、事前設定された値より小さい場合、上記IOアクセスモードは読取り/書込みハイブリッド操作モードであると決定することを行うように構成される。
【0017】
本発明の実施形態の第3の態様、または第3の態様の第1の可能な実装方法を参照して、本発明の実施形態の第3の態様の第2の可能な実装方法において、
上記プロセッサは、上記取得されたファイル管理ポリシーに含まれる上記ファイル管理粒度が、上記メモリに記憶された上記ファイルの上記現在のファイル管理方法におけるファイル管理粒度と整合性がない場合、上記メモリにおける上記ファイルの管理粒度を更新し、上記ファイルのメタデータを更新して、上記更新されたメタデータが、上記更新された管理粒度についての情報を含むようにするように構成される。
【0018】
本発明の実施形態の第3の態様、または第3の態様の第1の可能な実装方法を参照して、本発明の実施形態の第3の態様の第3の可能な実装方法において、
上記プロセッサは、上記取得されたファイル管理ポリシーに含まれる上記ファイル記憶媒体タイプが、上記メモリに記憶された上記ファイルの上記現在の管理方法における記憶媒体と整合性がない場合、上記複数のメモリの中のターゲット記憶媒体に、上記ファイルを記憶するために使用される記憶ブロックを適用し、上記ファイルを、上記複数のメモリの中のソース記憶媒体から上記適用される記憶ブロックに移行させ、新たなメタデータを作成して、上記新たなメタデータが、上記移行ユニットによって移行された上記ファイルの記憶情報を含むようにするように構成され、
上記ファイルが現在位置付けられている記憶媒体は、上記ソース記憶媒体であり、上記ターゲット記憶媒体は、上記ファイル管理ポリシーに含まれる上記ファイル記憶媒体タイプと整合性のある記憶媒体である。
【0019】
本発明の実施形態の第3の態様の第3の可能な実装方法を参照して、本発明の実施形態の第3の態様の第4の可能な実装方法において、
上記プロセッサは、操作されることを要求される上記ファイルが、上記ファイルを操作することを求めるIOアクセス要求に従って操作される場合において、操作されることを要求される上記ファイルにおけるファイルの第1の部分が上記ソース記憶媒体に記憶されておらず、ファイルの第2の部分が上記ソース記憶媒体に記憶されているとき、上記IOアクセスモードに対応する上記ファイル管理ポリシーにおける上記ファイル記憶媒体タイプに従って、上記移行の後に上記ターゲット記憶媒体において上記ファイルの第1の部分を操作し、上記ソース記憶媒体において上記ファイルの第2の部分を操作することを行うようにさらに構成される。
【0020】
本発明の実施形態において、上記ファイルシステムは、ファイルを操作する(例えば、読取り操作および書込み操作を実行する)ためのIOアクセス情報を監視し、上記ファイルのIOアクセスモードを決定し、上記IOアクセスモードに従って対応するファイル管理ポリシーを決定し、最後に、上記ファイル管理ポリシーに従って上記ファイルの現在の管理方法を動的に調整することを知ることができる。このようにして、ファイル管理中、異なるファイル管理ポリシーが、ファイルの異なるIOアクセスモードに従って、対応して使用されてもよく、すなわち、ファイルにアクセスする性能を最適にすることがあり、かつ記憶媒体の特性が十分に発揮されるように、異なるファイル管理粒度、および/または異なるファイル記憶媒体が使用される。
【図面の簡単な説明】
【0021】
本発明の実施形態における技術的ソリューションをより明確に説明するのに、以下は、実施形態を説明するために要求される添付の図面を概説する。明らかに、以下の説明における添付の図面は、本発明のいくつかの実施形態を示すに過ぎず、当業者は、依然としてこれらの添付の図面から他の図面を導き出すことがある。
【0022】
図1】本発明の実施形態によるファイル管理方法の流れ図である。
図2】本発明の実施形態による別のファイル管理方法の流れ図である。
図3】本発明の実施形態によるファイルシステムの概略構造図である。
図4】本発明の実施形態によるファイル移行の概略図である。
図5】本発明の実施形態による別のファイルシステムの概略構造図である。
図6】本発明の実施形態による別のファイルシステムの概略構造図である。
図7】本発明の実施形態による別のファイルシステムの概略構造図である。
【発明を実施するための形態】
【0023】
以下では、本発明の実施形態における添付の図面を参照して、本発明の実施形態における技術的ソリューションを明確に、かつ完全に説明する。明らかに、説明される実施形態は、本発明の実施形態のすべてではなく、いくつかに過ぎない。本発明の実施形態に基づいて当業者によって取得される他のすべての実施形態は、本発明の保護範囲に入るものとする。
【0024】
本発明の明細書、特許請求の範囲、および添付の図面において、「第1の」、「第2の」、「第3の」、「第4の」といった用語(存在する場合)は、類似した対象を区別するように意図されるが、特定の順番または順序を必ずしも示すわけではない。そのように呼ばれるデータは、本明細書において説明される本発明の実施形態が、例えば、本明細書において例示される、または説明される順序以外の順序で実施され得るように適切な状況において互換的であることを理解されたい。さらに、「含む」、「包含する」という用語、および他の任意の変形は、非排他的に含むことに及ぶことを意図しており、例えば、ステップまたはユニットのリストを含むプロセス、方法、システム、製品、またはデバイスは、それらのステップまたはユニットに必ずしも限定されず、明示的にリストアップされていない、またはそのようなプロセス、方法、システム、製品、またはデバイスに本来備わっていない他のステップまたはユニットを含んでもよい。
【0025】
本発明の実施形態が、ファイルシステムに主として適用される、ファイル管理方法を提供する。ファイルシステムは、任意の端末デバイスまたはネットワークデバイスの上に担持されてもよく、様々なファイルを記憶するように構成された複数のタイプの記憶媒体を含んでもよい。この実施形態における方法の流れ図が、図1に示され、以下を含む。すなわち、
【0026】
ステップ101:ファイルを操作するための入出力(IN/OUT,IO)アクセス情報を取得する。本明細書において、ファイルのデータは、ファイルシステムにおける記憶媒体に記憶されるため、本明細書におけるIOアクセス情報とは、ファイルシステムによる記憶媒体におけるファイルに対するアクセスについての情報を指し、アクセスプロセスID(PID)、ファイル名、ファイルオフセット(file offset)、各IOアクセス要求のファイルサイズ、IOアクセスに対応するファイル操作タイプ(例えば、読取り、書込み、またはクエリ)、およびIOアクセス要求のタイムスタンプ(開始時間および終了時間)を含んでもよい。
【0027】
ステップ102:ステップ101において獲得されたIOアクセス情報に対応するIOアクセスモードを決定する。
【0028】
ファイルを操作する、例えば、ファイルに対して読取り/書込み操作を実行する手順が、ファイルシステムにおけるアプリケーションプログラムの実行中のプロセスにおいてトリガされてもよく、次に、アプリケーションプログラムを実行しているモジュールが、ファイルシステムにIOアクセス要求を送信するものと理解され得る。IOアクセス要求は、操作されること(読取り/書込み操作を含む)が要求されるファイルについての情報などを含んでもよい。このようにして、ファイルシステムは、対応するファイルを操作してもよい。
【0029】
ファイルがまず、ファイルシステムの記憶媒体に書き込まれた後、そのファイルが繰り返し操作されてもよい。ファイルシステムは、ファイルのIOアクセス情報を監視してもよく、ファイルを操作するためのIOアクセス情報、例えば、IOアクセスのタイプおよび時間、ファイルに対する順次/ランダム読取り操作のIOアクセスであるか、またはファイルに対する順次/ランダム書込み操作のIOアクセスであるか、読取り/書込み比率、および各アクセス中のファイルの粒度などの情報をインターセプトする。操作のファイルオフセットが、さらに含まれてもよい。次に、ファイルシステムは、獲得されたIOアクセス情報に従ってIOアクセスモードを決定し、ここで、IOアクセスモードとは、どのような粒度を使用することによって、いずれの方法でファイルが操作されるかのモードを指し、ランダム読取り操作が、ある粒度を使用することによって実行されるモード、順次読取り操作が、ある粒度を使用することによって実行されるモード、ランダム書込み操作が、ある粒度を使用することによって実行されるモード、順次書込み操作が、ある粒度を使用することによって実行されるモード、順次読取り/書込みハイブリッド操作が、ある粒度を使用することによって実行されるモード、またはランダム読取り/書込みハイブリッド操作が、ある粒度を使用することによって実行されるモードなどのモードを含んでもよい。
【0030】
特に、IOアクセス情報におけるファイルの読取り操作比率が、事前設定された値より大きい場合、IOアクセスモードは読取り操作モードであると考えられ、IOアクセス情報におけるファイルの書込み操作比率が、事前設定された値より大きい場合、IOアクセスモードは書込み操作モードであると決定され、またはIOアクセス情報におけるファイルのものである書込み操作比率と読取り操作比率との間の差が、事前設定された値より小さい場合、IOアクセスモードは読取り/書込みハイブリッド操作モードであると決定される。さらに、IOアクセスモードは、操作を実行するための粒度をさらに含んでもよい。
【0031】
ステップ103:ステップ102において決定されたIOアクセスモードを、ファイルシステムにおける事前設定されたモードマッチングライブラリとマッチングして、決定されたIOアクセスモードに対応するファイル管理ポリシーを取得する。ファイルのモードマッチングライブラリは、ファイルシステムにおいて事前設定され、IOアクセスモードとファイル管理ポリシーとの間の対応関係を含んでもよい。ファイル管理ポリシーは、ファイル管理粒度および/またはファイル記憶媒体タイプを含む。
【0032】
ファイル管理粒度とは、ファイル記憶の最小単位、例えば、4kまたは1MBを指す。相変化メモリ、ダイナミックランダムアクセスメモリ(Dynamic Random Access Memory,DRAM)、ハードディスクドライブ(Hard Disk Drive,HDD)、NAND FLASHなどを含むことが可能な、複数のタイプのファイル記憶媒体が存在する。様々なタイプの記憶媒体が、それらのそれぞれの読取り/書込み特性を対応して有するため、異なるタイプの記憶媒体が、異なるIOアクセスモードに対応し、このことは、特に、以下のとおりである。すなわち、
(1)相変化メモリは、不揮発性記憶デバイスであり、DRAMのようにバイトによりアドレス指定を実行し、極めて高い書込み速度を有し、相変化メモリの書込み耐久性は、10の6乗から10の8乗であり、相変化メモリは、比較的小さいファイル管理粒度、例えば、64バイト〜8KBに適しており、小さい粒度のランダム読取り/書込み操作に適している。
【0033】
(2)NAND FLASHに関して、書込みは、ページの単位で実行され、消去は、ブロックの単位で実行され(1つのブロックは、一般に、64ページ以上を含む)、したがって、NANDフラッシュは、ページまたはブロックの単位、例えば、4KB、8KB、16KB、...、512KBのファイル管理粒度に適しており、比較的大きいサイズのランダム読取り操作に適しており、さらに、NANDフラッシュに関して、読取りは、書込みよりはるかに高速である。
【0034】
(3)HDDのシーク時間は比較的長いため、読取り/書込み遅延は、比較的大きく、HDDは、比較的大きい粒度、例えば、1MB、2MB、または4MBの読取り/書込み操作に適しており、さらに、HDDは、順次読取り/書込み操作に適している。
【0035】
アプリケーションファイルに対するアクセスは、一般に、様々なアクセス特性を示すことに留意されたい。例えば、ビデオファイルは、一般に、順次的な方法で読取りおよび書込みが行われ、各読取り/書込み操作の粒度は、比較的大きい。別の例として、データベースファイルは、小さい粒度のランダム読取り/書込み操作の特性を示す。このようにして、異なるファイルに対するアクセスは、異なるアクセス特性を示し、異なる記憶媒体およびファイル管理粒度が、マッチングによって取得されてもよい。
【0036】
この実施形態において、ユーザが、ファイルシステムのモードマッチングライブラリにおいてIOアクセスモードとファイル管理ポリシーとの間の対応関係を事前設定してもよい。例えば、1MBから4MBまでの粒度の順次読取り操作のモードであるIOアクセスモードに対応するファイル管理ポリシーは、以下のとおりである。すなわち、ファイル管理粒度は、1MBであり、ファイル記憶媒体タイプは、HDDまたはNAND FLASHである。このようにして、ファイルシステムは、表1において示されるとおり、IOアクセスモードおよびファイルシステムにおいて事前設定されたモードマッチングライブラリを使用することによって、対応するファイル管理ポリシーを取得してもよい。
【0037】
【表1】
【0038】
ステップ104:ステップ103において取得されたファイル管理ポリシーに従ってファイルの現在の管理方法を調整する。特に、ファイルの現在の管理方法が、決定されたIOアクセスモードに対応するファイル管理ポリシーと整合性がない場合、ファイルの現在の管理方法が調整されて、調整された現在の管理方法が、決定されたIOアクセスモードに対応するファイル管理ポリシーと整合性があるようにされ、例えば、ファイルの記憶媒体が変更され、および/またはファイルの管理粒度が変更される。さらに、ファイルシステムは、ファイルのメタデータをさらに記憶するため、メタデータは、ファイル検索を円滑にするように、ファイルサイズおよびファイル識別子などの情報を含む。ファイルの現在の管理方法が調整された後、ファイルシステムに記憶されたメタデータがさらに更新される必要がある。
【0039】
前述のファイル管理プロセスにおいて、適切なファイル管理粒度は、有効なファイルプリフェッチ操作を円滑にし、ファイル操作の速度を向上させ、有効なメタデータ管理をさらに円滑にすることに留意されたい。例えば、順次ファイルアクセスに関して、4MBのファイルが1回、書き込まれ、2MBのファイル管理粒度(すなわち、記憶ブロックの最小単位は、2MBである)が使用される場合、データ位置付けは、2回だけ必要とされ、IOアクセス要求は、2回だけ、記憶媒体に送信される必要があり、2つだけの記憶ブロックのメタデータが管理される必要があり、4KBのファイル管理粒度が使用される場合、データ位置付けは、1000回、必要とされ、IOアクセス要求は、1000回、記憶媒体に送信される必要があり、1000記憶ブロックのメタデータが管理される必要がある。
【0040】
本発明のこの実施形態において、ファイルシステムが、ファイルを操作するためのIOアクセス情報を監視し、IOアクセスモードを決定し、次に、IOアクセスモードに従って、対応するファイル管理ポリシーを決定し、最後に、取得されたファイル管理ポリシーがファイルの現在の管理方法と整合性がない場合、取得されたファイル管理ポリシーに従ってファイルの現在の管理方法を動的に調整することを知ることができる。このようにして、ファイル管理中、異なるファイル管理ポリシーが、ファイルの異なるIOアクセスモードに従って、対応して使用されてもよく、すなわち、ファイルにアクセスする性能が最適であってもよく、かつ記憶媒体の特性が十分に発揮されるように、異なるファイル管理粒度、および/または異なるファイル記憶媒体が使用される。
【0041】
図2を参照すると、特定の実施形態において、ファイルシステムが前述のステップ104を実行する場合、ステップ103において取得されたファイル管理ポリシーに従う以下のいくつかの方法があってもよい。すなわち、
【0042】
(1)ステップ103において取得されたファイル管理ポリシーに含まれるファイル管理粒度が、ファイルの現在の管理方法におけるファイル管理粒度と整合性がない場合において、ファイルシステムがステップ104を実行するとき、
A1:ファイルの管理粒度が、ステップ103において取得されたファイル管理粒度に更新され、
A2:ファイルのメタデータが更新されて、更新されたメタデータが、更新された管理粒度についての情報を含むようにされる。
【0043】
(2)ステップ103において取得されたファイル管理ポリシーに含まれるファイル記憶媒体タイプが、ファイルの現在の管理方法における記憶媒体と整合性がない場合において、ファイルシステムが前述のステップ104を実行するとき、ファイル記憶媒体上で移行が実行され、このことは、特に、以下のとおりである。すなわち、
【0044】
B1:前述のファイルを記憶するために使用される記憶ブロックが、ターゲット記憶媒体に適用され、ここで、ターゲット記憶媒体は、前述のステップ103において取得されたファイル管理ポリシーに含まれるファイル記憶媒体タイプと整合性がある記憶媒体である。
【0045】
特に、本明細書において、適用される記憶ブロックの粒度は、前述のステップ103において取得されたファイル管理粒度によって決定されてもよい。取得されたファイル管理ポリシーがファイル管理粒度を含まない場合、適用される記憶ブロックの粒度は、ソース記憶媒体におけるファイルの最小記憶単位であってもよく、ターゲット記憶媒体に関して適切な粒度であってもよい、といった具合である。取得されたファイル管理ポリシーがファイル管理粒度を含む場合、適用される記憶ブロックの粒度は、ファイル管理ポリシーにおけるファイル管理粒度である。
【0046】
B2:ファイルは、ソース記憶媒体から適用される記憶ブロックに移行され、すなわち、ファイルは、ソース記憶媒体からコピーされて、適用される記憶ブロックに追加され、ソース記憶媒体におけるファイルのデータが、さらに削除されてもよい。ファイルが現在位置付けされている記憶媒体は、ソース記憶媒体である。
【0047】
B3:新たなメタデータが作成されて、新たなメタデータが、移行されたファイルの記憶情報、例えば、ファイルサイズ、およびファイル記憶の最小単位を含むようにされる。
【0048】
ファイルの現在の管理方法が調整される場合、ファイル記憶媒体の移行が含まれることに留意されたい。このプロセスにおいて、ファイルシステムは、依然として常に、その記憶媒体を使用することによってファイルを操作する、すなわち、ファイルシステムは、ファイルを操作することを求めるIOアクセス要求に従って、操作されることを要求されるファイルに対して、対応する操作(例えば、読取り/書込み操作)を実行する。この事例において、ファイルに対して読取り/書込み操作を実行することに先立って、ファイルシステムはまず、操作されることを要求されるファイルがターゲット記憶媒体に既に移行されているかどうかを決定する必要がある。特に、ソース記憶媒体が、操作されることを要求されるファイルを記憶するかどうかが確認される。操作されることを要求されるファイルにおけるファイルの1つの部分(例えば、第1の部分)がソース記憶媒体に記憶されておらず、操作されることを要求されるファイルにおけるファイルの別の部分(例えば、第2の部分)がソース記憶媒体に記憶されている場合、IOアクセスモードに対応するファイル管理ポリシーにおけるファイル記憶媒体タイプに従って、ファイルシステムは、移行の後にターゲット記憶媒体において第1のファイルを操作し、ソース記憶媒体においてファイルの第2の部分を操作する。
【0049】
以下では、特定の実施形態を使用することによって本発明におけるファイル管理方法を説明する。この実施形態におけるファイル管理方法は、任意のファイルシステムに主として適用され、ここで、ファイルシステムは、
ファイルアクセスモジュールと、ファイルIOアクセス統計およびモード解析モジュールと、ポリシーマッチ制御モジュールと、メタデータ管理モジュールと、ファイルデータブロック調整および移行モジュールとを含み、複数のタイプの記憶媒体、例えば、HDDおよびPCMをさらに含む、図3に示される構造を含んでもよく、ここで、
様々なファイルが、様々な記憶媒体に記憶され、
ファイルアクセスモジュールは、ファイルを操作することを求めるIOアクセス要求を受信し、ファイル記憶媒体においてアクセス要求によって要求されたファイルを操作するように構成され、ファイルアクセスモジュールは、ユーザインターフェースを使用することによってファイルシステムによって送信されたIOアクセス要求を受信してもよく、またはファイルシステムにおける別のモジュールによって送信されたIOアクセス要求を受信してもよく、
ファイルIOアクセス統計およびモード解析モジュールは、ファイルアクセスモジュールによる記憶媒体におけるファイルに対するアクセスを監視し、記憶媒体に記憶されたファイルに対してファイルアクセスモジュールによって実行される操作のIOアクセス情報を収集し、IOアクセスモードを解析するように構成され、
ポリシーマッチ制御モジュールは、ファイル管理粒度およびファイル記憶媒体タイプを含め、異なるIOアクセスモードに従って異なるファイル管理ポリシーをマッチングするように構成され、
メタデータ管理モジュールは、ファイルの現在の管理方法が調整された後、ファイルのメタデータを更新するように構成され、ファイルデータブロック調整および移行モジュールは、ファイル管理粒度を調整し、ファイルを、1つの記憶媒体から別の記憶媒体に移行させるように構成される。
【0050】
この実施形態におけるファイルシステムは、様々な粒度、例えば、4K、16K、64K、1M、および2Mの管理方法をサポートする。ファイルが最初に作成されると、ファイルは、ある粒度、例えば、64Kにより1つまたは複数の記憶媒体に記憶されてもよく、次に、前述の図3に示される4つのモジュールが、ファイルの現在の管理方法を動的に調整する。例えば、ファイル1が最初に作成されると、ファイル1が、4KBのファイル管理粒度を使用することによってPCMに記憶され、ファイル1が、動的調整を用いてHDDに移行され、2MBのファイル管理粒度を使用することによって記憶される。
【0051】
図4を参照すると、ファイル移行プロセスにおいて、ファイルシステムが、ソース記憶媒体におけるソースファイル管理粒度を使用することによってファイルを移行させてもよい。例えば、ソース記憶媒体のファイル管理粒度が、2MBであり、次に、ファイルシステムが、2MBの単位でファイルを移行させ、移行されているファイルをロックし、ソース記憶媒体における移行される場所に印を付ける。さらに、ファイルが移行された後、ファイルシステムは、新たなメタデータを作成する必要がある。このプロセスにおいて、ファイルアクセスモジュールが、ファイルを操作することを求めるIOアクセス要求を得ると、要求されるファイルにおけるファイルの一部分がターゲット記憶媒体に既に移行されている、すなわち、ソース記憶媒体に記憶されていない場合、移行の操作がなされた後にターゲット記憶媒体におけるファイルのその一部分が操作される。要求されるファイルにおけるファイルの別の部分が、依然として、ターゲット記憶媒体に移行されていない場合、ソース記憶媒体におけるファイルのその別の部分が操作される。
【0052】
本発明の実施形態が、ファイルシステムをさらに提供し、ファイルが、複数の記憶媒体を使用することによってファイルシステムに記憶される。ファイルシステムの概略構造図が、以下を含んで、図5に示される。すなわち、
ファイルを操作するための入出力IOアクセス情報を獲得するように構成された情報獲得ユニット10であって、IOアクセス情報は、ファイルを操作するための特定の状況、例えば、アクセス時間、ファイルに対する読取り操作のIOアクセスであるか、またはファイルに対する書込み操作のIOアクセスであるか、読取り/書込み比率、および各アクセス中のファイルの読取り/書込み粒度などの情報を含む情報獲得ユニット10、
情報獲得ユニット10によって獲得されたIOアクセス情報に対応するIOアクセスモードを決定するように構成されたアクセスモード決定ユニット11であって、
特に、アクセスモード決定ユニット11は、情報獲得ユニット10によって獲得されたIOアクセス情報におけるファイルの読取り操作比率が、事前設定された値より大きい場合、IOアクセスモードは読取り操作モードであると決定すること、情報獲得ユニット10によって獲得されたIOアクセス情報におけるファイルの書込み操作比率が、事前設定された値より大きい場合、IOアクセスモードは書込み操作モードであると決定すること、または情報獲得ユニット10によって獲得されたIOアクセス情報におけるファイルのものである書込み操作比率と読取り操作比率との間の差が、事前設定された値より小さい場合、IOアクセスモードは読取り/書込みハイブリッド操作モードであると決定することを行うように構成され、さらに、IOアクセスモードは、読取り/書込み操作の粒度をさらに含んでもよい、アクセスモード決定ユニット11、
アクセスモード決定ユニット11によって決定されたIOアクセスモードを事前設定されたモードマッチングライブラリとマッチングして、決定されたIOアクセスモードに対応するファイル管理ポリシーを取得するように構成された管理取得ユニット12であって、ファイル管理ポリシーは、以下の情報、すなわち、ファイル管理粒度およびファイル記憶媒体タイプのうちの少なくとも1つを含み、モードマッチングライブラリは、IOアクセスモードとファイル管理ポリシーとの間の対応関係を含む管理取得ユニット12、および
ファイルの現在の管理方法が、IOアクセスモードに対応しかつ管理取得ユニット12によって決定されたファイル管理ポリシーと整合性がない場合、ファイルの現在の管理方法を調整して、調整された現在の管理方法が、決定されたIOアクセスモードに対応するファイル管理ポリシーと整合性があるようにする、例えば、ファイルの記憶媒体が変更され、および/またはファイルの管理粒度が変更されるようにするように構成された調整ユニット13である。さらに、ファイルシステムは、ファイルのメタデータをさらに記憶するため、メタデータは、ファイル検索を円滑にするように、ファイルサイズおよびファイル識別子などの情報を含む。調整ユニット13がファイルの現在の管理方法を調整した後、ファイルシステムに記憶されたメタデータがさらに更新される必要がある。
【0053】
本発明のこの実施形態におけるファイルシステムにおいて、情報獲得ユニット10が、ファイルを操作する(読取り/書込み操作を含む)ためのIOアクセス情報を監視し、アクセスモード決定ユニット11が、IOアクセスモードを決定して、管理取得ユニット12が、そのIOアクセスモードに従って、対応するファイル管理ポリシーを決定するようにし、最後に、調整ユニット13が、取得されたファイル管理ポリシーに従ってファイルの現在の管理方法を動的に調整することを知ることができる。このようにして、ファイル管理中、異なるファイル管理ポリシーが、ファイルの異なるIOアクセスモードに従って、対応して使用されてもよく、すなわち、ファイルにアクセスする性能が最適であってもよく、かつ記憶媒体の特性が十分に発揮されるように、異なるファイル管理粒度、および/または異なるファイル記憶媒体が使用される。
【0054】
図6を参照すると、特定の実施形態において、図5に示される構造に加えて、ファイルシステムは、ファイル操作ユニット14をさらに含んでもよく、それの調整ユニット13は、更新ユニット131、移行ユニット132、および作成ユニット133を使用することによって実施されてもよく、特に、
更新ユニット131は、管理取得ユニット12によって取得されたファイル管理ポリシーに含まれるファイル管理粒度が、ファイルの現在のファイル管理方法におけるファイル管理粒度と整合性がない場合、ファイルの管理粒度を、管理取得ユニット12によって取得されたファイル管理粒度に更新すること、およびファイルのメタデータを更新して、更新されたメタデータが、更新された管理粒度についての情報を含むようにすることを行うように構成される。
【0055】
移行ユニット132は、管理取得ユニット12によって取得されたファイル管理ポリシーに含まれるファイル記憶媒体タイプが、ファイルの現在の管理方法における記憶媒体と整合性がない場合、ターゲット記憶媒体に、ファイルを記憶するために使用される記憶ブロックを適用し、ファイルをソース記憶媒体から適用される記憶ブロックに移行させるように構成され、ファイルが現在位置付けられている記憶媒体は、ソース記憶媒体であり、ターゲット記憶媒体は、ファイル管理ポリシーに含まれるファイル記憶媒体タイプと整合性のある記憶媒体であり、作成ユニット133は、新たなメタデータを作成して、新たなメタデータが、移行ユニット132によって移行されたファイルの記憶情報を含み、移行されたファイルが位置付けられたターゲット記憶媒体についての情報、およびターゲット記憶媒体におけるファイルの管理粒度などの情報を含むようにするように構成される。ターゲット記憶媒体は、管理取得ユニット12によって取得されたファイル管理ポリシーに含まれるファイル記憶媒体タイプと整合性のある記憶媒体であり、適用される記憶ブロックの粒度は、管理取得ユニット12によって取得されたファイル管理粒度によって決定されてもよい。取得されたファイル管理ポリシーがファイル管理粒度を含まない場合、適用される記憶ブロックの粒度は、ソース記憶媒体におけるファイルの最小記憶単位であってもよく、ターゲット記憶媒体に関して適切な粒度であってもよい、といった具合である。
【0056】
ファイル操作ユニット14は、操作されることを要求されるファイルが、ファイルを操作することを求めるIOアクセス要求に従って操作される場合において、操作されることを要求されるファイルにおけるファイルの第1の部分がソース記憶媒体に記憶されておらず、ファイルの第2の部分がソース記憶媒体に記憶されているとき、管理取得ユニット12によって決定されたIOアクセスモードに対応するファイル管理ポリシーにおけるファイル記憶媒体タイプに従って、移行の後にターゲット記憶媒体においてファイルの第1の部分を操作すること、およびソース記憶媒体においてファイルの第2の部分を操作することを行うように構成される。
【0057】
この実施形態におけるファイルシステムにおいて、調整ユニット13が、ファイルの現在の管理方法を調整する場合、ファイルの現在の記憶粒度が、更新ユニット131を使用することだけによって更新されてもよく、またはファイルが、移行ユニット132および作成ユニット133を使用することによって1つの記憶媒体(すなわち、ソース記憶媒体)から別の記憶媒体(すなわち、ターゲット記憶媒体)に移行される。この事例において、記憶媒体のインターフェースを使用することによってファイルを操作する場合、ファイル操作ユニット14はまず、ファイルがターゲット記憶媒体に既に完全に移行されているかどうかを決定し、次に、対応する処理を実行する必要がある。
【0058】
本発明の実施形態が、ファイルシステムに記憶されたファイルを主として管理することが可能な、別のファイルシステムをさらに提供する。ファイルシステムの概略構造図が図7に示され、ファイルシステムは、プロセッサ21と、バスに別々に接続された複数のタイプのメモリ22、例えば、HDDおよびPCMなどのメモリとを含み、バスに接続された入力装置および出力装置をさらに含んでもよく、特に、
メモリ22は、入力装置から入力されたファイルを記憶するように構成され、プロセッサ21がデータを処理するために必要なファイルなどの情報をさらに記憶してもよい。この実施形態におけるメモリ22は、前述のファイル記憶媒体である。入力装置および出力装置は、ファイルシステムが別のデバイスと通信するポートであり、ファイルシステムに外部で接続されたデバイス、例えば、ディスプレイ、キーボード、マウス、およびプリンタをさらに含んでもよい。
【0059】
プロセッサ21は、ファイルを操作するためのIOアクセス情報を獲得すること、獲得されたIOアクセス情報に対応するIOアクセスモードを決定すること、決定されたIOアクセスモードを事前設定されたモードマッチングライブラリとマッチングして、決定されたIOアクセスモードに対応するファイル管理ポリシーを取得することであって、ファイル管理ポリシーは、以下の情報、すなわち、ファイル管理粒度およびファイル記憶媒体タイプのうちの少なくとも1つを含み、モードマッチングライブラリは、IOアクセスモードとファイル管理ポリシーとの間の対応関係を含むこと、およびファイルの現在の管理方法が、決定されたIOアクセスモードに対応するファイル管理ポリシーと整合性がない場合、ファイルの現在の管理方法を調整して、調整された現在の管理方法が、決定されたIOアクセスモードに対応するファイル管理ポリシーと整合性があるようにすることを行うように構成される。IOアクセスモードを決定する際、プロセッサ21は、獲得されたIOアクセス情報におけるファイルの読取り操作比率が、事前設定された値より大きい場合、IOアクセスモードは読取り操作モードであると決定すること、獲得されたIOアクセス情報におけるファイルの書込み操作比率が、事前設定された値より大きい場合、IOアクセスモードは書込み操作モードであると決定すること、または獲得されたIOアクセス情報におけるファイルのものである書込み操作比率と読取り操作比率との間の差が、事前設定された値より小さい場合、IOアクセスモードは読取り/書込みハイブリッド操作モードであると決定することを行うように構成され、さらにIOアクセスモードは、読取り/書込み操作の粒度をさらに含んでもよい。さらに、ファイルシステムにおける記憶媒体は、ファイルのメタデータをさらに記憶するため、メタデータは、ファイル検索を円滑にするように、ファイルサイズ、ファイル識別子、およびinode番号などの情報を含む。プロセッサ21がファイルの現在の管理方法を調整した後、ファイルシステムに記憶されたメタデータがさらに更新される必要がある。
【0060】
このようにして、ファイル管理中、異なるファイル管理ポリシーが、ファイルの異なるIOアクセスモードに従って、対応して使用されてもよく、すなわち、ファイルにアクセスする性能が最適であってもよく、かつ記憶媒体の特性が十分に発揮されるように、異なるファイル管理粒度、および/または異なるファイル記憶媒体が使用される。
【0061】
いくつかの特定の実施形態において、プロセッサ21は、取得されたファイル管理ポリシーに含まれるファイル管理粒度が、メモリに記憶されたファイルの現在のファイル管理方法におけるファイル管理粒度と整合性がない場合、メモリにおけるファイルの管理粒度を更新し、およびファイルのメタデータを更新して、更新されたメタデータが、更新された管理粒度についての情報を含むようにするように構成される。
【0062】
別の態様において、プロセッサ21は、取得されたファイル管理ポリシーに含まれるファイル記憶媒体タイプが、メモリに記憶されたファイルの現在の管理方法における記憶媒体と整合性がない場合、複数のメモリの中のターゲット記憶媒体に、ファイルを記憶するために使用される記憶ブロックを適用すること、ファイルを、複数のメモリの中のソース記憶媒体から適用される記憶ブロックに移行させること、および新たなメタデータを作成して、新たなメタデータが、移行ユニットによって移行されたファイルの記憶情報を含むようにすることを行うように構成される。ファイルが現在位置付けられている記憶媒体は、ソース記憶媒体であり、ターゲット記憶媒体は、ファイル管理ポリシーに含まれるファイル記憶媒体タイプと整合性のある記憶媒体である。
【0063】
この事例において、記憶媒体のインターフェースを使用することによってファイルを操作する場合、プロセッサ21はまず、ファイルがターゲット記憶媒体に既に完全に移行されているかどうかを決定し、次に、対応する処理を実行する必要がある。特に、プロセッサ21は、操作されることを要求されるファイルが、ファイルを操作することを求めるIOアクセス要求に従って操作される場合において、操作されることを要求されるファイルにおけるファイルの第1の部分がソース記憶媒体に記憶されておらず、ファイルの第2の部分がソース記憶媒体に記憶されているとき、IOアクセスモードに対応するファイル管理ポリシーにおけるファイル記憶媒体タイプに従って、移行の後にターゲット記憶媒体においてファイルの第1の部分を操作し、ソース記憶媒体においてファイルの第2の部分を操作するようにさらに構成される。
【0064】
当業者は、実施形態における方法のステップのすべてまたはいくつかは、関係のあるハードウェアに命令するプログラムによって実施され得ることを理解することがある。そのプログラムは、コンピュータ可読記憶媒体に記憶されることが可能である。その記憶媒体は、ROM、RAM、磁気ディスク、または光ディスクを含んでもよい。
【0065】
以上は、本発明の実施形態において提供されるファイル管理方法およびファイルシステムに関する詳細な説明を与える。本明細書において、特定の例が、本発明の原理および実施方法を説明するために使用され、実施形態の説明は、本発明の方法および中核の着想を理解するのを助けるようにだけ意図されている。一方、当業者は、本発明の着想に基づいて、特定の実施方法、およびアプリケーション範囲に関して変更を行ってもよい。したがって、本明細書の内容は、本発明の限定として解釈されないものとする。
図1
図2
図3
図4
図5
図6
図7