(57)【特許請求の範囲】
【請求項１】
ファイルにアクセスするための方法であって、
Lの第1のファイル呼び出し要求メッセージを判定するステップであって、前記Lの第1のファイル呼び出し要求メッセージのそれぞれは、第1のファイルを呼び出すように要求するために使用され、前記第1のファイルのサイズは、閾値未満であり、各第1のファイル呼び出し要求メッセージは、物理セクタ情報を含み、前記物理セクタ情報は、前記第1のファイルを記憶する物理セクタのアドレスを含み、Lは、1よりも大きい整数である、ステップと、
前記物理セクタ情報に従って、前記Lの第1のファイル呼び出し要求メッセージに対応するMの第1のファイルディスパッチキューに、前記Lの第1のファイル呼び出し要求メッセージを別々に加えるステップであって、Mは、正の整数である、ステップと、
前記Mの第1のファイルディスパッチキューのそれぞれに含まれる、Kの第1のファイル呼び出し要求メッセージを処理して、各第1のファイルディスパッチキューの呼び出し要求メッセージを取得する、ステップであって、各第1のファイルディスパッチキューの前記呼び出し要求メッセージは、前記Kの第1のファイル呼び出し要求メッセージに対応する第1のファイルを呼び出すように要求するために使用され、Kは、正の整数である、ステップと、
各第1のファイルディスパッチキューの前記呼び出し要求メッセージに従って、前記Kの第1のファイル呼び出し要求メッセージに対応する前記第1のファイルにアクセスするステップと、
を含み、
前記第1のファイルを記憶する前記物理セクタ上でNの第1のファイル記憶空間グループを判定するステップであって、前記Nの第1のファイル記憶空間グループは、前記第1のファイルを記憶するために使用され、Nは、正の整数であり、
前記第1のファイル記憶空間グループのうちの少なくとも2つが、利用可能な記憶空間を有する場合、前記Nの少なくとも2つの第1のファイル記憶空間グループに含まれる第1のファイルを結合する、または
前記第1のファイル記憶空間グループのうちの少なくとも1つがファイルを記憶していない場合、前記Nの少なくとも1つの第1のファイル記憶空間グループを解放する、または
前記Nの第1のファイル記憶空間グループにはなんら利用可能な記憶空間がない場合、前記Nの第1のファイル記憶空間グループの数を増やす、ステップ
をさらに含み、
各第1のファイルディスパッチキューの前記呼び出し要求メッセージに従って、前記Kの第1のファイル呼び出し要求メッセージに対応する前記第1のファイルにアクセスする、前記ステップは、
前記Nの第1のファイル記憶空間グループから、各第1のファイルディスパッチキューの前記呼び出し要求メッセージに従って、前記Kの第1のファイル呼び出し要求メッセージに対応する前記第1のファイルにアクセスするステップ
を含む、ファイルにアクセスするための方法。
【請求項２】
前記物理セクタ情報に従って、前記Lの第1のファイル呼び出し要求メッセージに対応するMの第1のファイルディスパッチキューに、前記Lの第1のファイル呼び出し要求メッセージを別々に加える、前記ステップは、
前記物理セクタ情報に従って、同じ第1のファイルディスパッチキューに、前記Lの第1のファイル呼び出し要求メッセージのうちの少なくとも2つを加えるステップであって、前記少なくとも2つの第1のファイル呼び出し要求メッセージが呼び出すように要求する第1のファイルの物理セクタのアドレスは、連続である、ステップ
を含む、請求項1に記載の方法。
【請求項３】
各第1のファイル呼び出し要求メッセージは、アクセスパス情報をさらに含み、前記アクセスパス情報は、前記物理セクタの、各第1のファイル呼び出し要求メッセージに対応する前記第1のファイルにアクセスするために使用される、パスを示すために使用される、請求項1または2に記載の方法。
【請求項４】
Lの第1のファイル呼び出し要求メッセージを判定する、前記ステップは、
Lの第1のファイル情報ノードを判定するステップであって、前記Lの第1のファイル情報ノードのそれぞれは、各第1のファイル呼び出し要求メッセージが呼び出すように要求する、前記第1のファイルの前記アクセスパス情報を記憶するために使用される、ステップと、
各第1のファイル情報ノードに従って、各第1のファイル呼び出し要求メッセージが呼び出すように要求する、前記第1のファイルの前記アクセスパス情報を判定するステップと、
を含む、請求項3に記載の方法。
【請求項５】
Lの第1のファイル情報ノードを判定する、前記ステップは、
前記Lの第1のファイル情報ノードの第i番目の第1のファイル情報ノードが、情報ノード連結リストに存在するかどうかを判定するステップと、
前記第i番目の第1のファイル情報ノードが、前記情報ノード連結リストに存在しない場合、前記情報ノード連結リストに、前記第i番目の第1のファイル情報ノードを生成し、前記第i番目の第1のファイル情報ノードに、第i番目の第1のファイルのアクセスパス情報を記憶する、ステップ、または
前記第i番目の第1のファイル情報ノードが前記情報ノード連結リストに存在する場合、前記第i番目の第1のファイル情報ノードに従って、第i番目の第1のファイルのアクセスパス情報を判定するステップと、
を含む、請求項4に記載の方法。
【請求項６】
ファイルにアクセスするための装置であって、
Lの第1のファイル呼び出し要求メッセージを判定するように構成された第1の判定モジュールであって、前記Lの第1のファイル呼び出し要求メッセージのそれぞれは、第1のファイルを呼び出すように要求するために使用され、前記第1のファイルのサイズは、閾値未満であり、各第1のファイル呼び出し要求メッセージは、物理セクタ情報を含み、前記物理セクタ情報は、前記第1のファイルを記憶する物理セクタのアドレスを含み、Lは、1よりも大きい整数である、第1の判定モジュールと、
前記物理セクタ情報に従って、前記Lの第1のファイル呼び出し要求メッセージに対応するMの第1のファイルディスパッチキューに、前記第1の判定モジュールが判定した前記Lの第1のファイル呼び出し要求メッセージを別々に加えるように構成された割り当てモジュールであって、Mは、正の整数である、割り当てモジュールと、
前記割り当てモジュールが割り当てた前記Mの第1のファイルディスパッチキューのそれぞれに含まれる、Kの第1のファイル呼び出し要求メッセージを処理して、各第1のファイルディスパッチキューの呼び出し要求メッセージを取得する、処理モジュールであって、各第1のファイルディスパッチキューの前記呼び出し要求メッセージは、前記Kの第1のファイル呼び出し要求メッセージに対応する第1のファイルを呼び出すように要求するために使用され、Kは、正の整数である、処理モジュールと、
前記処理モジュールが取得した、各第1のファイルディスパッチキューの前記呼び出し要求メッセージに従って、前記Kの第1のファイル呼び出し要求メッセージに対応する前記第1のファイルにアクセスするように構成された呼び出しモジュールと、
を備え、
前記装置は、
前記ファイルを記憶する前記物理セクタ上でNの第1のファイル記憶空間グループを判定するように構成された第2の判定モジュールであって、前記Nの第1のファイル記憶空間グループは、前記第1のファイルを記憶するために使用され、
前記第1のファイル記憶空間グループのうちの少なくとも2つが、利用可能な記憶空間を有する場合、前記Nの少なくとも2つの第1のファイル記憶空間グループに含まれる第1のファイルを結合する、または
前記第1のファイル記憶空間グループのうちの少なくとも1つがファイルを記憶していない場合、前記Nの少なくとも1つの第1のファイル記憶空間グループを解放する、または
前記Nの第1のファイル記憶空間グループにはなんら利用可能な記憶空間がない場合、前記Nの第1のファイル記憶空間グループの数を増やす、第2の判定モジュール
をさらに備え、
前記呼び出しモジュールは、
前記Nの第1のファイル記憶空間グループから、各第1のファイルディスパッチキューの前記呼び出し要求メッセージに従って、前記Kの第1のファイル呼び出し要求メッセージに対応する前記第1のファイルにアクセスする
ようにさらに構成される、ファイルにアクセスするための装置。
【請求項７】
前記処理モジュールは、
前記物理セクタ情報に従って、同じ第1のファイルディスパッチキューに、前記Lの第1のファイル呼び出し要求メッセージのうちの少なくとも2つを加える
ように特に構成され、前記少なくとも2つの第1のファイル呼び出し要求メッセージが呼び出すように要求する、第1のファイルの物理セクタのアドレスは、連続である、
請求項6に記載の装置。
【請求項８】
各第1のファイル呼び出し要求メッセージは、アクセスパス情報をさらに含み、前記アクセスパス情報は、前記物理セクタの、各第1のファイル呼び出し要求メッセージに対応する前記第1のファイルにアクセスするために使用される、パスを示すために使用される、請求項6または7に記載の装置。
【請求項９】
前記判定モジュールは、
Lの第1のファイル情報ノードを判定し、前記Lの第1のファイル情報ノードのそれぞれは、各第1のファイル呼び出し要求メッセージが呼び出すように要求する、前記第1のファイルの前記アクセスパス情報を記憶するために使用され、
各第1のファイル情報ノードに従って、各第1のファイル呼び出し要求メッセージが呼び出すように要求する、前記第1のファイルの前記アクセスパス情報を判定する
ように特に構成される、請求項8に記載の装置。
【請求項１０】
前記判定モジュールは、
前記Lの第1のファイル情報ノードの第i番目の第1のファイル情報ノードが、情報ノード連結リストに存在するかどうかを判定し、
前記第i番目の第1のファイル情報ノードが、前記情報ノード連結リストに存在しない場合、前記情報ノード連結リストに、前記第i番目の第1のファイル情報ノードを生成し、前記第i番目の第1のファイル情報ノードに、第i番目の第1のファイルのアクセスパス情報を記憶する、または
前記第i番目の第1のファイル情報ノードが前記情報ノード連結リストに存在する場合、前記第i番目の第1のファイル情報ノードに従って、第i番目の第1のファイルのアクセスパス情報を判定する
ように特に構成される、請求項9に記載の装置。
【請求項１１】
記憶システムであって、
ファイルおよびプログラムを記憶するように構成されたメモリと、
前記プログラムを実行するように構成されたプロセッサと、
を備えて、
Lの第1のファイル呼び出し要求メッセージを判定し、前記Lの第1のファイル呼び出し要求メッセージのそれぞれは、第1のファイルを呼び出すように要求するために使用され、前記第1のファイルのサイズは、閾値未満であり、各第1のファイル呼び出し要求メッセージは、物理セクタ情報を含み、前記物理セクタ情報は、前記第1のファイルを記憶する物理セクタのアドレスを含み、Lは、1よりも大きい整数であり、
前記物理セクタ情報に従って、前記Lの第1のファイル呼び出し要求メッセージに対応するMの第1のファイルディスパッチキューに、前記Lの第1のファイル呼び出し要求メッセージを別々に加え、Mは、正の整数であり、
前記Mの第1のファイルディスパッチキューのそれぞれに含まれる、Kの第1のファイル呼び出し要求メッセージを処理して、各第1のファイルディスパッチキューの呼び出し要求メッセージを取得し、各第1のファイルディスパッチキューの前記呼び出し要求メッセージは、前記Kの第1のファイル呼び出し要求メッセージに対応する第1のファイルを呼び出すように要求するために使用され、Kは、正の整数であり、
各第1のファイルディスパッチキューの前記呼び出し要求メッセージに従って、前記Kの第1のファイル呼び出し要求メッセージに対応する前記第1のファイルにアクセスし、
前記プロセッサは、
前記ファイルを記憶する前記物理セクタ上でNの第1のファイル記憶空間グループを判定し、前記Nの第1のファイル記憶空間グループは、前記第1のファイルを記憶するために使用され、
前記第1のファイル記憶空間グループのうちの少なくとも2つが、利用可能な記憶空間を有する場合、前記Nの少なくとも2つの第1のファイル記憶空間グループに含まれる第1のファイルを結合する、または
前記第1のファイル記憶空間グループのうちの少なくとも1つがファイルを記憶していない場合、前記Nの少なくとも1つの第1のファイル記憶空間グループを解放する、または
前記Nの第1のファイル記憶空間グループにはなんら利用可能な記憶空間がない場合、前記Nの第1のファイル記憶空間グループの数を増やし、
前記Nの第1のファイル記憶空間グループから、各第1のファイルディスパッチキューの前記呼び出し要求メッセージに従って、前記Kの第1のファイル呼び出し要求メッセージに対応する前記第1のファイルにアクセスする
ようにさらに構成される、記憶システム。
【請求項１２】
前記プロセッサは、
前記物理セクタ情報に従って、同じ第1のファイルディスパッチキューに、前記Lの第1のファイル呼び出し要求メッセージのうちの少なくとも2つを加える
ように特に構成され、前記少なくとも2つの第1のファイル呼び出し要求メッセージが呼び出すように要求する、第1のファイルの物理セクタのアドレスは、連続である、
請求項11に記載の記憶システム。
【請求項１３】
各第1のファイル呼び出し要求メッセージは、アクセスパス情報をさらに含み、前記アクセスパス情報は、前記物理セクタの、各第1のファイル呼び出し要求メッセージに対応する前記第1のファイルにアクセスするために使用される、パスを示すために使用される、請求項11または12に記載の記憶システム。
【請求項１４】
前記プロセッサは、
Lの第1のファイル情報ノードを判定し、前記Lの第1のファイル情報ノードのそれぞれは、各第1のファイル呼び出し要求メッセージが呼び出すように要求する、前記第1のファイルの前記アクセスパス情報を記憶するために使用され、
各第1のファイル情報ノードに従って、各第1のファイル呼び出し要求メッセージが呼び出すように要求する、前記第1のファイルの前記アクセスパス情報を判定する
ように特に構成される、請求項13に記載の記憶システム。
【請求項１５】
前記プロセッサは、
前記Lの第1のファイル情報ノードの第i番目の第1のファイル情報ノードが、情報ノード連結リストに存在するかどうかを判定し、
前記第i番目の第1のファイル情報ノードが、前記情報ノード連結リストに存在しない場合、前記情報ノード連結リストに、前記第i番目の第1のファイル情報ノードを生成し、前記第i番目の第1のファイル情報ノードに、第i番目の第1のファイルのアクセスパス情報を記憶する、または
前記第i番目の第1のファイル情報ノードが前記情報ノード連結リストに存在する場合、前記第i番目の第1のファイル情報ノードに従って、第i番目の第1のファイルのアクセスパス情報を判定する
ように特に構成される、請求項14に記載の記憶システム。
【請求項１６】
請求項１から５のいずれか一項に記載の方法をコンピュータに実行させるためのプログラムの記録されたコンピュータ可読記憶媒体。
【請求項１７】
請求項１から５のいずれか一項に記載の方法をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報技術の分野に関し、詳細には、ファイルにアクセスするための方法および装置、ならびに記憶システムに関する。
【背景技術】
【０００２】
ファイルシステムでは、inode（information node、情報ノード）が各ファイルに通常割り当てられ、data blockが各ファイルに対応する実際のデータに割り当てられ、data blockの番号がinodeに記録される。ファイルシステムでサポートされるdata blockのサイズは、1K、2K、4Kなどである。フォーマット中、data blockのサイズが固定され、各data blockは、inodeでの記録を容易にするための番号を持つ。
【０００３】
従来技術では、各data blockが収容できるのは1つのファイルのデータのみであるため、サイズの小さいファイルがファイルシステム内に大量に存在する場合が多くなり、例えば、サイズの小さいファイルが有するサイズは、数百バイト以下である。別々のdata blockがこのようなサイズの小さいファイルに割り当てられると、内部断片が生じ、磁気ディスク空間が無駄になる。さらに、サイズの小さいファイルの頻繁な読み出し／書き込みにより、入力（Input、I）／出力（Output、O）の回数がさらに増加し、過度のシステム呼び出しを生じる。システム呼び出しはまた、コンテキストスイッチングを引き起こし、CPUリソースおよびメモリリソースが過度に占有される。その結果、ファイルシステムの全体的なI／O効率が低下する。
【発明の概要】
【０００４】
本発明は、ファイルシステムの全体的なI／O効率を高めるために、ファイルにアクセスするための方法および装置、ならびに記憶システムを提供する。
【課題を解決するための手段】
【０００５】
第1の実施態様によれば、ファイルにアクセスするための方法が提供され、本方法は、Lの第1のファイル呼び出し要求メッセージを判定するステップであって、Lの第1のファイル呼び出し要求メッセージのそれぞれは、第1のファイルを呼び出すように要求するために使用され、第1のファイルのサイズは、閾値未満であり、各第1のファイル呼び出し要求メッセージは、物理セクタ情報を含み、物理セクタ情報は、第1のファイルを記憶する物理セクタのアドレスを含み、Lは、1よりも大きい整数である、ステップと、物理セクタ情報に従って、Lの第1のファイル呼び出し要求メッセージに対応するMの第1のファイルディスパッチキューに、Lの第1のファイル呼び出し要求メッセージを別々に加えるステップであって、Mは、正の整数である、ステップと、Mの第1のファイルディスパッチキューのそれぞれに含まれる、Kの第1のファイル呼び出し要求メッセージを処理して、各第1のファイルディスパッチキューの呼び出し要求メッセージを取得する、ステップであって、各第1のファイルディスパッチキューの呼び出し要求メッセージは、Kの第1のファイル呼び出し要求メッセージに対応する第1のファイルを呼び出すように要求するために使用され、Kは、正の整数である、ステップと、各第1のファイルディスパッチキューの呼び出し要求メッセージに従って、Kの第1のファイル呼び出し要求メッセージに対応する第1のファイルにアクセスするステップと、を含む。
【０００６】
第1の実施態様に関連して、第1の実施態様の一実装方式では、本方法は、ファイルを記憶する物理セクタ上でNの第1のファイル記憶空間グループを判定するステップであって、Nの第1のファイル記憶空間グループは、第1のファイルを記憶するために使用され、Nは、正の整数であり、Nの第1のファイル記憶空間グループのうちの少なくとも2つが、利用可能な記憶空間を有する場合、少なくとも2つの第1のファイル記憶空間グループに含まれる第1のファイルを結合する、またはNの第1のファイル記憶空間グループのうちの少なくとも1つがファイルを記憶していない場合、少なくとも1つの第1のファイル記憶空間グループを解放する、またはNの第1のファイル記憶空間グループにはなんら利用可能な記憶空間がない場合、Nの第1のファイル記憶空間グループの数を増やす、ステップをさらに含み、各第1のファイルディスパッチキューの呼び出し要求メッセージに従って、Kの第1のファイル呼び出し要求メッセージに対応する第1のファイルにアクセスするステップは、Nの第1のファイル記憶空間グループから、各第1のファイルディスパッチキューの呼び出し要求メッセージに従って、Kの第1のファイル呼び出し要求メッセージに対応する第1のファイルにアクセスするステップを含む。
【０００７】
第1の実施態様および第1の実施態様の上記の実装方式に関連して、第1の実施態様の別の実装方式では、物理セクタ情報に従って、Lの第1のファイル呼び出し要求メッセージに対応するMの第1のファイルディスパッチキューに、Lの第1のファイル呼び出し要求メッセージを別々に加えるステップは、物理セクタ情報に従って、同じ第1のファイルディスパッチキューに、Lの第1のファイル呼び出し要求メッセージのうちの少なくとも2つを加えるステップであって、少なくとも2つの第1のファイル呼び出し要求メッセージが呼び出すように要求する第1のファイルの物理セクタのアドレスは、連続である、ステップを含む。
【０００８】
第1の実施態様および第1の実施態様の上記の実装方式に関連して、第1の実施態様の別の実装方式では、各第1のファイル呼び出し要求メッセージは、アクセスパス情報をさらに含み、アクセスパス情報は、物理セクタの、各第1のファイル呼び出しメッセージに対応する第1のファイルにアクセスするために使用される、パスを示すために使用される。
【０００９】
第1の実施態様および第1の実施態様の上記の実装方式に関連して、第1の実施態様の別の実装方式では、Lの第1のファイル呼び出し要求メッセージを判定するステップは、Lの第1のファイル情報ノードを判定するステップであって、Lの第1のファイル情報ノードのそれぞれは、各第1のファイル呼び出し要求メッセージが呼び出すように要求する、第1のファイルのアクセスパス情報を記憶するために使用される、ステップと、各第1のファイル情報ノードに従って、各第1のファイル呼び出し要求メッセージが呼び出すように要求する、第1のファイルのアクセスパス情報を判定するステップと、を含む。
【００１０】
第1の実施態様および第1の実施態様の上記の実装方式に関連して、第1の実施態様の別の実装方式では、Lの第1のファイル情報ノードを判定するステップは、Lの第1のファイル情報ノードの第i番目の第1のファイル情報ノードが、情報ノード連結リストに存在するかどうかを判定するステップと、第i番目の第1のファイル情報ノードが、情報ノード連結リストに存在しない場合、情報ノード連結リストに、第i番目の第1のファイル情報ノードを生成し、第i番目の第1のファイル情報ノードに、第i番目の第1のファイルのアクセスパス情報を記憶する、ステップ、または第i番目の第1のファイル情報ノードが情報ノード連結リストに存在する場合、第i番目の第1のファイル情報ノードに従って、第i番目の第1のファイルのアクセスパス情報を判定するステップと、を含む。
【００１１】
第2の実施態様によれば、ファイルにアクセスするための装置が提供され、本装置は、Lの第1のファイル呼び出し要求メッセージを判定するように構成された第1の判定モジュールであって、Lの第1のファイル呼び出し要求メッセージのそれぞれは、第1のファイルを呼び出すように要求するために使用され、第1のファイルのサイズは、閾値未満であり、各第1のファイル呼び出し要求メッセージは、物理セクタ情報を含み、物理セクタ情報は、第1のファイルを記憶する物理セクタのアドレスを含み、Lは、1よりも大きい整数である、第1の判定モジュールと、物理セクタ情報に従って、Lの第1のファイル呼び出し要求メッセージに対応するMの第1のファイルディスパッチキューに、第1の判定モジュールが判定したLの第1のファイル呼び出し要求メッセージを別々に加えるように構成された割り当てモジュールであって、Mは、正の整数である、割り当てモジュールと、割り当てモジュールが割り当てたMの第1のファイルディスパッチキューのそれぞれに含まれる、Kの第1のファイル呼び出し要求メッセージを処理して、各第1のファイルディスパッチキューの呼び出し要求メッセージを取得する、処理モジュールであって、各第1のファイルディスパッチキューの呼び出し要求メッセージは、Kの第1のファイル呼び出し要求メッセージに対応する第1のファイルを呼び出すように要求するために使用され、Kは、正の整数である、処理モジュールと、処理モジュールが取得した、各第1のファイルディスパッチキューの呼び出し要求メッセージに従って、Kの第1のファイル呼び出し要求メッセージに対応する第1のファイルにアクセスするように構成された呼び出しモジュールと、を備える。
【００１２】
第2の実施態様に関連して、第2の実施態様の一実装方式では、本装置は、ファイルを記憶する物理セクタ上でNの第1のファイル記憶空間グループを判定するように構成された第2の判定モジュールであって、Nの第1のファイル記憶空間グループは、第1のファイルを記憶するために使用され、Nの第1のファイル記憶空間グループのうちの少なくとも2つが、利用可能な記憶空間を有する場合、少なくとも2つの第1のファイル記憶空間グループに含まれる第1のファイルを結合する、またはNの第1のファイル記憶空間グループのうちの少なくとも1つがファイルを記憶していない場合、少なくとも1つの第1のファイル記憶空間グループを解放する、またはNの第1のファイル記憶空間グループにはなんら利用可能な記憶空間がない場合、Nの第1のファイル記憶空間グループの数を増やす、第2の判定モジュールをさらに備え、呼び出しモジュールは、Nの第1のファイル記憶空間グループから、各第1のファイルディスパッチキューの呼び出し要求メッセージに従って、Kの第1のファイル呼び出し要求メッセージに対応する第1のファイルにアクセスするようにさらに構成される。
【００１３】
第2の実施態様および第2の実施態様の上記の実装方式に関連して、第2の実施態様の別の実装方式では、処理モジュールは、物理セクタ情報に従って、同じ第1のファイルディスパッチキューに、Lの第1のファイル呼び出し要求メッセージのうちの少なくとも2つを加えるように特に構成され、少なくとも2つの第1のファイル呼び出し要求メッセージが呼び出すように要求する、第1のファイルの物理セクタのアドレスは、連続である。
【００１４】
第2の実施態様および第2の実施態様の上記の実装方式に関連して、第2の実施態様の別の実装方式では、各第1のファイル呼び出し要求メッセージは、アクセスパス情報をさらに含み、アクセスパス情報は、物理セクタの、各第1のファイル呼び出しメッセージに対応する第1のファイルにアクセスするために使用される、パスを示すために使用される。
【００１５】
第2の実施態様および第2の実施態様の上記の実装方式に関連して、第2の実施態様の別の実装方式では、判定モジュールは、Lの第1のファイル情報ノードを判定し、Lの第1のファイル情報ノードのそれぞれは、各第1のファイル呼び出し要求メッセージが呼び出すように要求する、第1のファイルのアクセスパス情報を記憶するために使用され、各第1のファイル情報ノードに従って、各第1のファイル呼び出し要求メッセージが呼び出すように要求する、第1のファイルのアクセスパス情報を判定するように特に構成される。
【００１６】
第2の実施態様および第2の実施態様の上記の実装方式に関連して、第2の実施態様の別の実装方式では、判定モジュールは、Lの第1のファイル情報ノードの第i番目の第1のファイル情報ノードが、情報ノード連結リストに存在するかどうかを判定し、第i番目の第1のファイル情報ノードが、情報ノード連結リストに存在しない場合、情報ノード連結リストに、第i番目の第1のファイル情報ノードを生成し、第i番目の第1のファイル情報ノードに、第i番目の第1のファイルのアクセスパス情報を記憶する、または第i番目の第1のファイル情報ノードが情報ノード連結リストに存在する場合、第i番目の第1のファイル情報ノードに従って、第i番目の第1のファイルのアクセスパス情報を判定するように特に構成される。
【００１７】
第3の実施態様によれば、記憶システムが提供され、本記憶システムは、ファイルおよびプログラムを記憶するように構成されたメモリと、プログラムを実行するように構成されたプロセッサと、を備えて、Lの第1のファイル呼び出し要求メッセージを判定し、Lの第1のファイル呼び出し要求メッセージのそれぞれは、第1のファイルを呼び出すように要求するために使用され、第1のファイルのサイズは、閾値未満であり、各第1のファイル呼び出し要求メッセージは、物理セクタ情報を含み、物理セクタ情報は、第1のファイルを記憶する物理セクタのアドレスを含み、Lは、1よりも大きい整数であり、物理セクタ情報に従って、Lの第1のファイル呼び出し要求メッセージに対応するMの第1のファイルディスパッチキューに、Lの第1のファイル呼び出し要求メッセージを別々に加え、Mは、正の整数であり、Mの第1のファイルディスパッチキューのそれぞれに含まれる、Kの第1のファイル呼び出し要求メッセージを処理して、各第1のファイルディスパッチキューの呼び出し要求メッセージを取得し、各第1のファイルディスパッチキューの呼び出し要求メッセージは、Kの第1のファイル呼び出し要求メッセージに対応する第1のファイルを呼び出すように要求するために使用され、Kは、正の整数であり、各第1のファイルディスパッチキューの呼び出し要求メッセージに従って、Kの第1のファイル呼び出し要求メッセージに対応する第1のファイルにアクセスする。
【００１８】
第3の実施態様に関連して、第3の実施態様の一実装方式では、プロセッサは、ファイルを記憶する物理セクタ上でNの第1のファイル記憶空間グループを判定し、Nの第1のファイル記憶空間グループは、第1のファイルを記憶するために使用され、Nの第1のファイル記憶空間グループのうちの少なくとも2つが、利用可能な記憶空間を有する場合、少なくとも2つの第1のファイル記憶空間グループに含まれる第1のファイルを結合する、またはNの第1のファイル記憶空間グループのうちの少なくとも1つがファイルを記憶していない場合、少なくとも1つの第1のファイル記憶空間グループを解放する、またはNの第1のファイル記憶空間グループにはなんら利用可能な記憶空間がない場合、Nの第1のファイル記憶空間グループの数を増やし、Nの第1のファイル記憶空間グループから、各第1のファイルディスパッチキューの呼び出し要求メッセージに従って、Kの第1のファイル呼び出し要求メッセージに対応する第1のファイルにアクセスするようにさらに構成される。
【００１９】
第3の実施態様および第3の実施態様の上記の実装方式に関連して、第3の実施態様の別の実装方式では、プロセッサは、物理セクタ情報に従って、同じ第1のファイルディスパッチキューに、Lの第1のファイル呼び出し要求メッセージのうちの少なくとも2つを加えるように特に構成され、少なくとも2つの第1のファイル呼び出し要求メッセージが呼び出すように要求する、第1のファイルの物理セクタのアドレスは、連続である。
【００２０】
第3の実施態様および第3の実施態様の上記の実装方式に関連して、第3の実施態様の別の実装方式では、各第1のファイル呼び出し要求メッセージは、アクセスパス情報をさらに含み、アクセスパス情報は、物理セクタの、各第1のファイル呼び出しメッセージに対応する第1のファイルにアクセスするために使用される、パスを示すために使用される。
【００２１】
第3の実施態様および第3の実施態様の上記の実装方式に関連して、第3の実施態様の別の実装方式では、プロセッサは、Lの第1のファイル情報ノードを判定し、Lの第1のファイル情報ノードのそれぞれは、各第1のファイル呼び出し要求メッセージが呼び出すように要求する、第1のファイルのアクセスパス情報を記憶するために使用され、各第1のファイル情報ノードに従って、各第1のファイル呼び出し要求メッセージが呼び出すように要求する、第1のファイルのアクセスパス情報を判定するように特に構成される。
【００２２】
第3の実施態様および第3の実施態様の上記の実装方式に関連して、第3の実施態様の別の実装方式では、プロセッサは、Lの第1のファイル情報ノードの第i番目の第1のファイル情報ノードが、情報ノード連結リストに存在するかどうかを判定し、第i番目の第1のファイル情報ノードが、情報ノード連結リストに存在しない場合、情報ノード連結リストに、第i番目の第1のファイル情報ノードを生成し、第i番目の第1のファイル情報ノードに、第i番目の第1のファイルのアクセスパス情報を記憶する、または第i番目の第1のファイル情報ノードが情報ノード連結リストに存在する場合、第i番目の第1のファイル情報ノードに従って、第i番目の第1のファイルのアクセスパス情報を判定するように特に構成される。
【００２３】
上記の技術的解決策に基づいて、本発明の各実施形態における、ファイルにアクセスするための方法および装置、ならびに記憶システムにより、サイズの小さいファイルの呼び出し要求メッセージが判定され、サイズの小さいファイルの呼び出し要求メッセージに、対応する第1のファイルディスパッチキューが割り当てられ、その結果、複数のサイズの小さいファイルの呼び出し要求メッセージに対して結合および／または削除の処理を行うことができ、サイズの小さいファイルを呼び出す回数が減る。このようにして、サイズの小さいファイルを呼び出す要求が増えるためにI／Oの回数が増え、過度のメモリリソースが占有されることを避けることができ、システムを呼び出す回数が減り、I／O要求のスループットが向上し、それによって、ファイルシステムの全体的なI／O効率が上がる。
【００２４】
本発明の実施形態における技術的な解決策をより明確に説明するために、以下、本発明の各実施形態を説明するために必要な添付の図面を簡単に説明する。当然のことながら、以下の説明における添付の図面は、本発明の一部の実施形態を単に示すものであり、当業者は、創造的努力がなくても、これらの添付の図面から他の図面をさらに導出することができる。
【図面の簡単な説明】
【００２５】
【図１】本発明の一実施形態に係る、ファイルにアクセスするための方法の概略的な流れ図である。
【図２】本発明の一実施形態に係る、ファイルにアクセスするための方法の別の概略的な流れ図である。
【図３】本発明の一実施形態に係る、ファイルにアクセスするための装置200の概略的なブロック図である。
【図４】本発明の一実施形態に係る、ファイルにアクセスするための装置200の別の概略的なブロック図である。
【図５】本発明の一実施形態に係る、記憶システム300の概略的なブロック図である。
【発明を実施するための形態】
【００２６】
以下、本発明の実施形態における添付の図面を参照しながら、本発明の実施形態における技術的な解決策を明確かつ完全に説明する。当然のことながら、説明される実施形態は、本発明の実施形態の一部であり、すべてではない。本発明の実施形態に基づいて、当業者によって創造的努力なしに得られるすべての他の実施形態は、本発明の保護範囲内に含まれるものとする。
【００２７】
事前の統計によれば、linux(登録商標)システムには、数万、それどころか数百万ものファイルが含まれる。ファイルシステムは、ディレクトリ構造を用いて、記憶されたデータを整理し、実際のデータにファイルシステムの元の情報を関連付ける。linux(登録商標)は、多くの異なるファイルシステム、例えば、ext4、F2FS、Brtfs、およびVfatをサポートしている。linux(登録商標)カーネルは、追加的なソフトウェア層VFSを使用して、様々な下層にあるファイルシステムを関連付ける。
【００２８】
I／Oアクセス手順によれば、システムは、5つのモジュール、すなわち、ユーザ層（User Space）、ファイルシステム層、ブロックデバイス層、マルチメディアカード（Multimedia Card、略称「MMC」）ドライバ層、およびハードウェアに分割され得る。
【００２９】
ここでのUser Spaceとは、ユーザ空間においてI／O要求を処理するすべてのアプリケーションプログラムおよび標準ライブラリを含む。
【００３０】
ファイルシステム層、ブロックデバイス層、およびMMCドライバ層は、カーネル空間において稼働する。
【００３１】
ハードウェアは、MMCホストコントローラを指し、JEDEC標準およびベンだのハードウェアに応じて主に実装され、本特許の考察の主要な点ではない。
【００３２】
図1は、本発明の一実施形態に係る、ファイルにアクセスするための方法100の概略的な流れ図である。方法100は、ファイルシステムにおけるブロックデバイス層によって行われ得る。図1に示すように、方法100は、以下を含む。
【００３３】
S110：Lの第1のファイル呼び出し要求メッセージを判定し、Lの第1のファイル呼び出し要求メッセージのそれぞれは、第1のファイルを呼び出すように要求するために使用され、第1のファイルのサイズは、閾値未満であり、各第1のファイル呼び出し要求メッセージは、物理セクタ情報を含み、物理セクタ情報は、第1のファイルを記憶する物理セクタのアドレスを含み、Lは、1よりも大きい整数である。
【００３４】
S120：物理セクタ情報に従って、Lの第1のファイル呼び出し要求メッセージに対応するMの第1のファイルディスパッチキューに、Lの第1のファイル呼び出し要求メッセージを別々に加え、Mは、正の整数である。
【００３５】
S130：Mの第1のファイルディスパッチキューのそれぞれに含まれる、Kの第1のファイル呼び出し要求メッセージを処理して、各第1のファイルディスパッチキューの呼び出し要求メッセージを取得し、各第1のファイルディスパッチキューの呼び出し要求メッセージは、Kの第1のファイル呼び出し要求メッセージに対応する第1のファイルを呼び出すように要求するために使用され、Kは、正の整数である。
【００３６】
S140：各第1のファイルディスパッチキューの呼び出し要求メッセージに従って、Kの第1のファイル呼び出し要求メッセージに対応する第1のファイルにアクセスする。
【００３７】
具体的には、Lの第1のファイル呼び出し要求メッセージは、ユーザ機器が送信したファイル呼び出し要求メッセージから判定され、Lは、1よりも大きい整数である。第1のファイル呼び出し要求メッセージは、第1のファイルを呼び出すために使用され、第1のファイルのサイズは、サイズの小さいファイルであり、各第1のファイル呼び出し要求メッセージは、物理セクタ情報を含み、物理セクタ情報は、対応するサイズの小さいファイルを記憶する物理セクタのアドレスを含む。Mの第1のファイルディスパッチキューは、Lの第1のファイル呼び出し要求メッセージに割り当てられ、Mは、正の整数である。Lの第1のファイル呼び出し要求メッセージは、各第1のファイル呼び出し要求メッセージにおける物理セクタ情報に従って、Mの第1のファイルディスパッチキューに別々に加えられる。各第1のファイルディスパッチキューに割り当てられたKの第1のファイル呼び出し要求メッセージが処理される。例えば、Kの第1のファイル呼び出し要求メッセージに対して結合および／または削除の処理が行われ得る。したがって、各第1のファイルディスパッチキューに対応する呼び出し要求メッセージが取得される。Kの第1のファイル呼び出し要求メッセージに対応する第1のファイルは、各第1のファイルディスパッチキューの呼び出し要求メッセージに従って呼び出される。例えば、第1のファイルがアクセスされ得る。
【００３８】
したがって、本発明の本実施形態における、ファイルにアクセスするための方法により、サイズの小さいファイルの呼び出し要求メッセージが判定され、サイズの小さいファイルの呼び出し要求メッセージに、対応する第1のファイルディスパッチキューが割り当てられ、その結果、複数のサイズの小さいファイルの呼び出し要求メッセージに対して結合および／または削除の処理を行うことができ、サイズの小さいファイルを呼び出す回数が減る。このようにして、サイズの小さいファイルを呼び出す要求が増えるためにI／Oの回数が増え、過度のメモリリソースが占有されることを避けることができ、システムを呼び出す回数を減らすことができ、システムを呼び出す回数が減り、I／O要求のスループットが向上し、それによって、ファイルシステムの全体的なI／O効率が上がる。
【００３９】
S110では、ファイルシステムは、受信したファイル呼び出し要求メッセージから、Lの第1のファイル呼び出し要求メッセージを判定し得、Lは、1よりも大きい正の整数である。Lの第1のファイル呼び出し要求メッセージの各第1のファイル要求メッセージは、1つの対応する第1のファイルを呼び出すように要求するために使用される。場合により、第1のファイルは、サイズの小さいファイル（Micro File、略称「MF」）である。実際のアプリケーションに従って、閾値が設定され得る。ファイルサイズが閾値以下であるファイルが、サイズの小さいファイル、つまり、第1のファイルと判定される。例えば、閾値は、1Kに設定されてよく、つまり、ファイルサイズが1K以下であるファイルが、サイズの小さいファイルと規定され、閾値はまた、2M、4Mなどに設定されてもよい。本発明はこれに限定されるものではない。このようにして、ファイルシステムは、受信したファイル呼び出し要求メッセージから、サイズの小さいファイルの呼び出し要求メッセージを判定し得、これらのサイズの小さいファイルの呼び出し要求メッセージは、ファイルシステムから対応するサイズの小さいファイルを呼び出すように要求するために使用される。
【００４０】
本発明の本実施形態では、ファイルシステムは、Lの第1のファイル呼び出し要求メッセージを判定し、1つの第1のファイル呼び出し要求メッセージを一度に受信してもよいし、複数の第1のファイル呼び出し要求メッセージを一度に受信してもよい。例えば、ファイルシステムは、3つの第1のファイル呼び出し要求メッセージを一度に受信してもよい。このケースでは、ファイルシステムがLの第1のファイル呼び出し要求メッセージを判定する場合、ファイルシステムは、3つの受信された第1のファイル呼び出し要求メッセージを判定する。あるいは、ファイルシステムはまた、ランダムな数の第1のファイル呼び出し要求メッセージを受信してもよい。数がLまで増加すると、ファイルシステムは、Lの第1のファイル呼び出し要求メッセージを判定する。Lの値は、実際のアプリケーションに応じて判定されてもよいし、経験的な値に従って設定されてもよい。本発明はこれに限定されるものではない。
【００４１】
場合により、本発明の本実施形態では、各第1のファイル呼び出し要求メッセージは、物理セクタ情報を含み得、物理セクタ情報は、各第1のファイル呼び出し要求メッセージが呼び出すように要求する、第1のファイルを記憶する物理セクタのアドレスを含む。場合により、物理セクタ情報は、各第1のファイル呼び出し要求メッセージが呼び出すように要求する、第1のファイルの開始アドレス、呼び出された第1のファイルのサイズ、または第1のファイル呼び出し要求メッセージを運ぶデバイスの関連情報のうちの少なくとも1つを特に含み得る。ファイルシステムは、物理セクタ情報を含む第1のファイル呼び出し要求メッセージに従って、呼び出す必要がある第1のファイルを判定し得る。
【００４２】
場合により、本発明の本実施形態では、第1のファイル呼び出し要求メッセージは、アクセスパス情報をさらに含み得、アクセスパス情報は、第1のファイルを対応して記憶する物理セクタのパス情報を含み、対応する第1のファイルを記憶する物理セクタ、つまり、サイズの小さいファイルを記憶する物理セクタは、アクセスパス情報に従って、ファイルシステム内で見つかり得る。具体的には、1つのファイルを開くopenもしくは閉じるclose、または新しいファイルを作成する場合、ファイルシステムのカーネルは、1つのファイル記述子を割り当て、ファイル記述子をユーザプログラムに返し、ファイル記述子のエントリ内のポインタは、新しく開いたファイルを指す。ファイルがアクセスされる場合、ユーザプログラムは、ファイル記述子をカーネルに送信し、カーネルは、ファイル記述子に従って対応するエントリを見つけ、エントリ内のポインタを使用して対応するファイルを見つける。各ファイル構造は、dentry（directory entry、ディレクトリエントリ）構造を指すポインタを有し、ファイルのinodeノードは、パスに従って見つけることができる。ディスクを読み出す回数を減らすために、カーネルは、ディレクトリのツリー状の構造を通常キャッシュし、ディレクトリのツリー状の構造は、dentry cacheと呼ばれる。各inodeノードは、dentry構造である。探索は、パスの部分のdentryに沿って行うだけでよい。dentry cacheは、最近アクセスされたディレクトリエントリのみを記憶する。ヒットしない場合、ディレクトリエントリを磁気ディスクからメモリへ読み出す必要がある。
【００４３】
具体的には、サイズの小さいファイルでは、ファイルシステムは、サイズの小さいファイル情報ノードMF−inodeを連結リストの形態で記憶し得る。これらのサイズの小さいファイル情報ノードは、対応するサイズの小さいファイルのアクセスパス情報を記憶し、サイズの小さいファイルは、情報ノードのアクセスパス情報に従って探索され得る。第i番目の第1のファイル呼び出し要求メッセージを受信すると、ファイルシステムは、記憶されたMF−inode連結リストにおいて第i番目の第1のファイルの対応する情報ノードを探索し、第i番目の第1のファイルの情報ノードが連結リストに存在する場合、第i番目の第1のファイルの情報ノードに従って、第1のファイルの記憶パスを示すために使用されるアクセスパス情報を判定し、アクセスパス情報は、第i番目の第1のファイル呼び出し要求メッセージに記憶され得る。第i番目の第1のファイルの対応する情報ノードがMF−inode連結リスト内で見つからない場合、第i番目の第1のファイルに対応する新しいinodeが適用され、新しいinodeは、MF−inode連結リストに加えられ、第1のファイルに対応する記憶パスおよびファイル名が新しいinodeに記憶され、かつinodeのメンバ変数として記録され、アクセスパス情報はまた、第i番目の第1のファイル呼び出し要求メッセージに記憶される。
【００４４】
場合により、サイズの小さいファイルに対応するMF−inode連結リストでは、MF−inode連結リストに含まれるinodeに対応するファイルが、ファイルデータが連続的に書き込まれたために、サイズの小さいファイルからサイズの大きいファイルに転じた場合、例えば、サイズの小さいファイルのサイズが4Mを超えた場合、切り捨て（O＿TRUNC）動作が呼び出され得、その結果、サイズの大きいファイルは、サイズの小さいファイルになるように切り捨てされる。あるいは、サイズが大きくなったファイルは、サイズの小さいファイルのMF−inode連結リストから除去され、共通inodeがファイルに割り当てられてもよい。性能に影響しないため、そのままの状態が維持されてもよい。その一方、サイズの大きいファイルがサイズの小さいファイルへと転じた場合、サイズの小さいファイルをMF−inode連結リストに加えてもよい。場合により、このことは、システムがアイドル状態の時にディスクデフラグメンタプログラム（defragement daemon）を使用して完了させてもよい。
【００４５】
本発明の本実施形態では、Linux(登録商標)のI／Oスケジューラが、ブロックデバイスのI／Oサブシステムのメインコンポーネントであり、かつユニバーサルブロック層とブロックデバイスドライバとの間に配置される。Linux(登録商標)カーネルコンポーネントが、なんらかのデータを読み出し／書き込みする必要がある場合、要求が送信されたならば、カーネルは、要求を直ちに実行する代わりに、要求の実行を延期する。割り当て延期は、ブロックデバイスの性能の主な機構である。新しいデータブロックを送信する場合、カーネルは、新しい要求が、その間ずっと待機状態にある先の要求を延長することによって対応可能かどうかを確認する。
【００４６】
具体的には、各ブロックデバイスプログラムは、要求キューに関連付けられる。ブロックデバイスの初期化中、要求キューが割り当てられ、初期化される。このケースでは、特定のI／Oスケジューリングアルゴリズムがブロックデバイスドライバについて指定され得る。デフォルトのケースでは、システムのデフォルトスケジューリングアルゴリズムが使用される。デフォルトスケジューリングアルゴリズムでは、先の処理された要求に最も近い要求がまず処理され、したがって、要求は極めて長期間無視され、このケースはエレベータアルゴリズムである。このようなケースを避けるために、要求が未処理に留まるケースを避けるために、要求がエレベータアルゴリズムに送信される場合、タイムアウトタイマーが開始される。ユーザ経験を改善するために、読み出し要求は、書き込み要求に一般的に優先するが、これは、読み出し要求が、要求を送信するプロセスを通常ブロックするためである。
【００４７】
本発明の本実施形態では、サイズの小さいファイルの呼び出し要求メッセージは、このアルゴリズムを使用して処理され得、場合により、以下のI／Oスケジューリング（scheduler）アルゴリズム方法を使用してさらにスケジューリングされ得る。S120では、Lの第1のファイル呼び出し要求メッセージは、Lの第1のファイル呼び出し要求メッセージにおける物理セクタ情報に従って、Mの第1のファイルディスパッチキュー（MF dispatch Queue）に別々に加えられ得、Mは、正の整数である。ファイルシステムは、サイズの小さいファイルの呼び出し要求メッセージに対応する第1のファイルディスパッチキューを割り当てる。ファイルシステムが受信した第1のファイル呼び出し要求メッセージでは、Lの第1のファイル呼び出し要求メッセージは、各呼び出し要求メッセージにおける物理セクタ情報に従って、Mの第1のファイルディスパッチキューに別々に加えられ得、その結果、物理セクタが連続するアドレスを有する少なくとも2つの第1のファイル呼び出し要求メッセージは、同じ第1のファイルディスパッチキューに加えられ、各第1のファイルディスパッチキューは、Kの第1のファイル呼び出し要求メッセージを含み、KおよびMの両方とも正の整数である。
【００４８】
例えば、本発明の本実施形態では、ファイルシステムは、6つの第1のファイル呼び出し要求メッセージを判定し、つまり、L＝6である。1つの第1のファイルディスパッチキューのみ、つまり、サイズの小さいファイルのディスパッチキュー、M＝1がある場合、6つの第1のファイル呼び出し要求メッセージのうちの3つの第1のファイル呼び出し要求メッセージにおける物理セクタ情報が、3つの第1のファイル呼び出し要求メッセージの物理セクタのアドレスが連続であり、残りの3つが不連続であることを示す。第6番目の第1のファイル呼び出し要求メッセージは、第1のファイルディスパッチキューにすべて配置され、物理セクタが連続するアドレスを有する3つの第1のファイル呼び出し要求メッセージが結合され、つまり、このケースでは、K＝3である。物理セクタが不連続なアドレスを有する残りの3つの第1のファイル呼び出し要求メッセージは、一時的に処理されない。新しい第1のファイル呼び出し要求メッセージがある場合、物理セクタのアドレスが連続であるかどうかが再度判定される。連続である場合、結合が行われる、または不連続である場合、処理は依然として行われない。場合により、物理セクタのアドレスが連続であるかどうかを判定することによって、結合処理を行うかどうかが判定される。第1のファイル呼び出し要求情報は、呼び出された第1のファイルのサイズに従ってさらに結合され得る。例えば、2つの第1のファイル呼び出し要求メッセージが書き込むように要求する、2つの第1のファイルのサイズの和は、1つのデータブロック（block）を正確に構成し得、2つの第1のファイル呼び出し要求メッセージもまた結合され、2つの第1のファイル呼び出し要求メッセージが書き込むように要求する、対応する第1のファイルは、同じデータブロックにおける同じ物理セクタに書き込まれる。本発明はこれに限定されるものではない。
【００４９】
場合により、別の例では、ファイルシステムは、6つの第1のファイル呼び出し要求メッセージを判定し、つまり、L＝6である。第1のファイルディスパッチキューが5つのディスパッチキューに分割され、つまり、サイズの小さいファイルの5つのディスパッチキューがあり、M＝5である場合、6つの第1のファイル呼び出し要求メッセージのうちの3つの第1のファイル呼び出し要求メッセージにおける物理セクタ情報が、3つの第1のファイル呼び出し要求メッセージの物理セクタのアドレスが連続であり、残りの3つが不連続であることを示す。物理セクタが連続なアドレスを有する3つの第1のファイル呼び出し要求メッセージは、同じ第1のファイルディスパッチキューに配置される。例えば、3つの第1のファイル呼び出し要求メッセージは、第1番目の第1のファイルディスパッチキューに配置され、物理セクタが不連続なアドレスを有する残りの3つの第1のファイル呼び出し要求メッセージは、他の3つの第1のファイルディスパッチキューに配置され得、1つの残りの第1のファイルディスパッチキューは、一時的に空である。このケースでは、3つの第1のファイル呼び出し要求メッセージは、第1番目の第1のファイルディスパッチキューに存在し、つまり、K＝3である。このケースでは、第1のファイルディスパッチキューにおける3つの第1のファイル呼び出し要求メッセージに対して結合処理が行われて、第1のファイルディスパッチキューの1つの呼び出し要求メッセージを取得し得る。結合処理は、1つの第1のファイル呼び出し要求メッセージをそれぞれ有する他の3つのディスパッチキューに対して最初行われず、他の3つのディスパッチキューは、別の第1のファイル呼び出し要求メッセージの割り当てを待機し続け得る。結合され得る複数の第1のファイル呼び出し要求メッセージがいくつかの第1のファイルディスパッチキューに存在する場合、第1の第1のファイルディスパッチキューのケースと同様に、同じ第1のファイルディスパッチキューにある複数の第1のファイル呼び出し要求メッセージが結合される。場合により、物理セクタのアドレスが連続であるかどうかを判定することによって、結合処理を行うかどうかが判定される。第1のファイル呼び出し要求情報は、呼び出された第1のファイルのサイズに従ってさらに結合され得る。例えば、2つの
第1のファイル呼び出し要求メッセージが書き込むように要求する、2つの第1のファイルのサイズの和は、1つのデータブロック（block）を正確に構成し得、2つの第1のファイル呼び出し要求メッセージもまた結合され、2つの第1のファイル呼び出し要求メッセージが書き込むように要求する、対応する第1のファイルは、同じデータブロックにおける同じ物理セクタに書き込まれる。本発明はこれに限定されるものではない。
【００５０】
場合により、別の例では、ファイルシステムは、6つの第1のファイル呼び出し要求メッセージを判定し、つまり、L＝6である。3つの第1のファイルディスパッチキューがある、つまり、M＝3である場合、6つの第1のファイル呼び出し要求メッセージのうちの3つの第1のファイル呼び出し要求メッセージにおける物理セクタ情報が、3つの第1のファイル呼び出し要求メッセージの物理セクタのアドレスが連続であり、残りの3つが不連続であることを示す。物理セクタが連続するアドレスを有する3つの第1のファイル呼び出し要求メッセージは、同じ第1のファイルディスパッチキューに配置され、例えば、3つの第1のファイル呼び出し要求メッセージは、第1の第1のファイルディスパッチキューに配置され、物理アドレスが不連続な残りの3つの第1のファイル呼び出し要求メッセージは、第1のファイル呼び出し要求メッセージのサイズに従って、もしくはランダムに、3つの第1のファイルディスパッチキューに割り当てられ得る、または第1のファイル呼び出し要求メッセージが呼び出すように要求する、第1のファイルの記憶アドレスの相関関係に従って、3つの第1のファイルディスパッチキューに割り当てられ得る、または3つの第1のファイルディスパッチキューにランダムに割り当てられ得る。次いで、物理セクタ情報が連続であり、かつ第1番目の第1のファイルディスパッチキューにおける3つの第1のファイル呼び出し要求メッセージに対して結合処理が行われて、第1のファイルディスパッチキューの1つの呼び出し要求メッセージを取得する。他の2つの第1のファイルディスパッチキューは、最初に処理され得ない、または結合されていない第1のファイル呼び出し要求メッセージが第1番目の第1のファイルディスパッチキューに依然として存在する場合、処理もまた一時的に行われない。結合され得る複数の第1のファイル呼び出し要求メッセージがいくつかの第1のファイルディスパッチキューに存在する場合、第1番目の第1のファイルディスパッチキューのケースと同様に、同じ第1のファイルディスパッチキューにある複数の第1のファイル呼び出し要求メッセージが結合される。場合により、物理セクタのアドレスが連続であるかどうかを判定することによって、結合処理を行うかどうかが判定される。第1のファイル呼び出し要求情報は、呼び出され
た第1のファイルのサイズに従ってさらに結合され得る。例えば、2つの第1のファイル呼び出し要求メッセージが書き込むように要求する、2つの第1のファイルのサイズの和は、1つのデータブロック（block）を正確に構成し得、2つの第1のファイル呼び出し要求メッセージもまた結合され、2つの第1のファイル呼び出し要求メッセージが書き込むように要求する、対応する第1のファイルは、同じデータブロックにおける同じ物理セクタに書き込まれる。本発明はこれに限定されるものではない。
【００５１】
場合により、ファイルシステムが受信した呼び出し要求メッセージは、Lの第1のファイル呼び出し要求メッセージの異なるプロセスID（PID）に従ってグループ化され得る。次いで、グループ化した呼び出し要求メッセージの第1のファイル呼び出し要求メッセージを第1のファイルディスパッチキューに記憶し、第1のファイルディスパッチキューは、Mのディスパッチキューを含み得る。場合により、構造が、ファイルシステムに新しく加えられ、どの呼び出し要求メッセージが第1のファイル呼び出し要求メッセージであるかを判定するために使用される。あるいは、S110で第1のファイル呼び出し要求メッセージが判定される際、第1のファイル呼び出し要求メッセージが識別され得、第1のファイル呼び出し要求メッセージは、識別子を使用して区別され、第1のファイル呼び出し要求メッセージは、対応するMの第1のファイルディスパッチキューに割り当てられ、各第1のファイルディスパッチは、Kの第1のファイル呼び出し要求メッセージを対応して含む。
【００５２】
S130では、ファイルシステムにおけるMの第1のファイルディスパッチキューのそれぞれが、各第1のファイルディスパッチキューに含まれるKの第1のファイル呼び出し要求メッセージを処理して、各第1のファイルディスパッチキューの呼び出し要求メッセージを取得し得る。具体的には、Lの第1のファイル呼び出し要求メッセージは、Mの第1のファイルディスパッチキューに加えられる。各第1のファイルディスパッチキューについて、各第1のファイルディスパッチキューに含まれる少なくとも2つの第1のファイル呼び出し要求メッセージが連続する物理セクタ（bi＿sector）アドレスを有する場合、呼び出す回数を減らすために、少なくとも2つの第1のファイル呼び出し要求メッセージに対して結合処理が行われ得、その結果、少なくとも2つの第1のファイル呼び出し要求メッセージは、1つの呼び出し要求メッセージ、つまり、第1のファイルディスパッチキューの呼び出し要求メッセージへと結合され得る。例えば、任意の第1のファイルディスパッチキューについて、第1のファイルディスパッチキューは、Kの第1のファイル呼び出し要求メッセージを含み、Kの第1のファイル呼び出し要求メッセージは、Kの第1のファイル呼び出し要求メッセージに含まれる物理セクタ情報に従って処理されて、第1のファイルディスパッチキューの1つの呼び出し要求メッセージを生成し得、第1のファイルディスパッチキューの呼び出し要求メッセージは、Kの第1のファイル呼び出し要求メッセージに対応する第1のファイルを呼び出すために使用される。場合により、ファイルシステムは、第1のファイル呼び出し要求メッセージに対する削除処理をさらに行って、不要な呼び出し要求を削除する。このようにして、呼び出し回数がまた減らされ得る。
【００５３】
場合により、第1のファイルディスパッチキューが1つの第1のファイル呼び出し要求メッセージのみを含む場合、つまり、別の呼び出し要求メッセージがなく、別の呼び出し要求メッセージの物理セクタおよび呼び出し要求メッセージの物理セクタが連続するアドレスを有し、第1のファイル呼び出し要求メッセージは、一時的に処理されない場合もある。第1のファイルディスパッチキューに含まれる少なくとも2つの第1のファイル呼び出し要求メッセージの物理セクタのアドレスが連続する場合、次いで、結合処理が行われる。本発明はこれに限定されるものではない。
【００５４】
S140では、第1のファイルディスパッチキューに含まれるKの第1のファイル呼び出し要求メッセージに対して結合または削除の処理が行われた後、ファイルシステムは、第1のファイルディスパッチキューの取得した呼び出し要求メッセージに従って、対応する第1のファイルにアクセスし得る。具体的には、各第1のファイル呼び出し要求メッセージがアクセスパス情報を含み得ることから、第1のファイルディスパッチキューについて結合を行った後、各第1のファイルディスパッチキューの呼び出し要求メッセージは、対応するアクセスパス情報を依然として有する。したがって、アクセス処理は、アクセスパス情報に従って、第1のファイルに対して対応して行われ得る。場合により、第1のファイルディスパッチキューの呼び出し要求メッセージは、記憶媒体要求キュー（mmc＿request）に送信され得、mmc＿requestは、第1のファイルディスパッチキューの呼び出し要求メッセージを処理し、デバイスコントローラを設定し、デバイスコントローラは、データを生成し、送信するために主に使用される。データ送信が完了した後、現在の呼び出し要求メッセージが対応するディスパッチキューから削除され得、次の要求に対応するデータ送信が開始される。
【００５５】
本発明の各実施形態において上記のプロセスのシーケンス番号は、実行する順番を意味するものではないことを理解されたい。プロセスの実行する順番は、プロセスの機能および内部ロジックに従って判定されるものとするが、本発明の各実施形態の実装プロセスにいかなる限定をも構成しないものとする。
【００５６】
したがって、本発明の本実施形態における、ファイルにアクセスするための方法により、サイズの小さいファイルの呼び出し要求メッセージが判定され、サイズの小さいファイルの呼び出し要求メッセージに、対応する第1のファイルディスパッチキューが割り当てられ、その結果、複数のサイズの小さいファイルの呼び出し要求メッセージに対して結合および／または削除の処理を行うことができ、サイズの小さいファイルを呼び出す回数が減る。このようにして、サイズの小さいファイルを呼び出す要求が増えるためにI／Oの回数が増え、過度のメモリリソースが占有されることを避けることができ、システムを呼び出す回数を減らすことができ、システムを呼び出す回数が減り、I／O要求のスループットが向上し、それによって、ファイルシステムの全体的なI／O効率が上がる。
【００５７】
場合により、一実施形態では、本発明の本実施形態におけるファイルにアクセスするための方法100は、以下をさらに含む。
【００５８】
S150：ファイルを記憶する物理セクタ上でNの第1のファイル記憶空間グループを判定し、Nの第1のファイル記憶空間グループは、第1のファイルを記憶するために使用される。
【００５９】
本発明の本実施形態では、具体的には、ファイルシステムは、サイズの小さいファイルのアクセスのための独立物理セクタを設定し得る。物理セクタは、複数の独立領域を含み、領域は、複数の第1のファイル記憶空間グループ（MF Group）を含み、領域のサイズは、タイムスロットアプリケーションに従って調整および最適化され得、領域に含まれるMF Groupの数は、要件に従って動的に調整され得る。場合により、複数のMF Groupは、サイズの小さいファイルを独立に記憶し、各MF Groupは、複数のデータベース（date block）を含み得、各date blockは、1つ以上のサイズの小さいファイルを記憶し得る。本発明はこれに限定されるものではない。
【００６０】
具体的には、複数のMF Groupは、システムがアイドル状態の時にディスクデフラグメンタプログラム（defragement daemon）を使用して結合および／または削除され得る。例えば、複数のMF Groupが結合されて、複数の第1のファイルが連続する物理セクタ上に記憶されることを確保し、その結果、eMMCの特徴がより良好に使用され得る。システムの稼働中、ファイルの削除動作のため、ファイルを記憶するために使用される一部のMF Groupにおける空間が余剰となる、つまり、MF Groupにおける大半の空間が削除予定リストに加えられる。これらのMF Groupは結合されて、少なくとも2つのMF Groupにおけるデータを結合し、1つ以上のMF Groupにおけるデータを記憶し得る。したがって、より多くの空間が解放され、空間利用が改善される。
【００６１】
場合により、一実施形態では、削除処理はまた、MF Groupに対して行われ得る。例えば、MF Groupに存在する一部のサイズの小さいファイルがサイズの大きいファイルに転じた場合、例えば、サイズの大きいファイルのサイズが4Mの範囲を超えた場合、ファイルのサイズが大きくなったMF Groupが見つけられ、識別され得る。次いで、削除予定リストを走査する際に、defragement daemonは、MF Groupに含まれる第1のファイルはすべて削除されたリストに加えられたことを見つけ、その結果、MF Groupにファイルが存在しない場合、つまり、MF Groupが空である場合に削除が行われ、MF Groupが削除されて、リソースを解放する。
【００６２】
場合により、一実施形態では、追加処理はまた、MF Groupに対して行われ得る。例えば、サイズの小さいファイルが新しく加えられる場合、例えば、サイズの大きいファイルがサイズの小さいファイルに転じた場合、defragement daemonは、余剰空間を有するMF Groupについて、複数のMF Groupをまず探索する。サイズの小さいファイルをMF Groupに記憶可能にし得る利用可能な記憶空間が存在する場合、新しく加えられたサイズの小さいファイルは、MF Groupに記憶される。余剰空間を有するMF Groupがない場合、defragement daemonは、新しいMF Groupを加え、新しいMF Groupは、サイズの小さいファイルと別の新しく加えられたサイズの小さいファイルとを記憶するために使用される。
【００６３】
本発明の本実施形態では、ファイルシステムは、少なくとも1つの第1のファイルディスパッチキューの呼び出し要求メッセージに従って、アクセスおよび呼び出される必要がある第1のファイルのためのファイルを記憶するMF Groupを探索し得る。
【００６４】
本発明の各実施形態において上記のプロセスのシーケンス番号は、実行する順番を意味するものではないことを理解されたい。プロセスの実行する順番は、プロセスの機能および内部ロジックに従って判定されるものとするが、本発明の各実施形態の実装プロセスにいかなる限定をも構成しないものとする。
【００６５】
したがって、本発明の本実施形態における、ファイルにアクセスするための方法により、サイズの小さいファイルの呼び出し要求メッセージが判定され、サイズの小さいファイルの呼び出し要求メッセージに、対応する第1のファイルディスパッチキューが割り当てられ、その結果、複数のサイズの小さいファイルの呼び出し要求メッセージに対して結合および／または削除の処理を行うことができる。このようにして、サイズの小さいファイルを呼び出す要求が増えるためにI／Oの回数が増え、過度のメモリリソースが占有されることを避けることができ、システムを呼び出す回数を減らすことができ、システムを呼び出す回数が減り、I／O要求のスループットが向上し、それによって、ファイルシステムの全体的なI／O効率が上がる。加えて、対応するダイナミック記憶領域は、サイズの小さいファイルにさらに割り当てられ得、異なるサイズの小さいファイルが記憶するために集められる。このようにして、記憶空間の無駄使いを減らすことができ、空間利用が改善される。
【００６６】
以上、図1および図2を参照して、本発明の本実施形態に係る、ファイルにアクセスするための方法を詳細に説明した。以下、図3および図4を参照して、本発明の一実施形態に係る、ファイルにアクセスするための装置200を説明する。
【００６７】
図3に示すように、本発明の本実施形態によるファイルにアクセスするための装置200は、
Lの第1のファイル呼び出し要求メッセージを判定するように構成された第1の判定モジュール210であって、Lの第1のファイル呼び出し要求メッセージのそれぞれは、第1のファイルを呼び出すように要求するために使用され、第1のファイルのサイズは、閾値未満であり、各第1のファイル呼び出し要求メッセージは、物理セクタ情報を含み、物理セクタ情報は、第1のファイルを記憶する物理セクタのアドレスを含み、Lは、1よりも大きい整数である、第1の判定モジュール210と、
物理セクタ情報に従って、Lの第1のファイル呼び出し要求メッセージに対応するMの第1のファイルディスパッチキューに、第1の判定モジュールが判定したLの第1のファイル呼び出し要求メッセージを別々に加えるように構成された割り当てモジュール220であって、Mは、正の整数である、割り当てモジュール220と、
割り当てモジュールが割り当てたMの第1のファイルディスパッチキューのそれぞれに含まれる、Kの第1のファイル呼び出し要求メッセージを処理して、各第1のファイルディスパッチキューの呼び出し要求メッセージを取得する、処理モジュール230であって、各第1のファイルディスパッチキューの呼び出し要求メッセージは、Kの第1のファイル呼び出し要求メッセージに対応する第1のファイルを呼び出すように要求するために使用され、Kは、正の整数である、処理モジュール230と、
処理モジュールが取得した、各第1のファイルディスパッチキューの呼び出し要求メッセージに従って、Kの第1のファイル呼び出し要求メッセージに対応する第1のファイルにアクセスするように構成された呼び出しモジュール240と、
を備える。
【００６８】
具体的には、判定モジュール210は、ユーザ機器が送信したファイル呼び出し要求メッセージから、Lの第1のファイル呼び出し要求メッセージを判定し、Lは、1よりも大きい整数である。第1のファイル呼び出し要求メッセージは、第1のファイルを呼び出すために使用され、第1のファイルのサイズは、サイズの小さいファイルであり、各サイズの小さいファイル呼び出し要求メッセージは、物理セクタ情報を含み、物理セクタ情報は、サイズの小さいファイルを記憶する物理セクタのアドレスを含み得る。割り当てモジュール220は、判定モジュール210が判定したLの第1のファイル呼び出し要求メッセージに、Mの第1のファイルディスパッチキューを割り当て、Mは、正の整数であり、各第1のファイル呼び出し要求メッセージにおける物理セクタ情報に従って、Mの第1のファイルディスパッチキューに、Lの第1のファイル呼び出し要求メッセージを別々に加える。各第1のファイルディスパッチキューについて、処理モジュール230は、各第1のファイルディスパッチキューに割り当てられたKの第1のファイル呼び出し要求メッセージを処理する、例えば、Kの第1のファイル呼び出し要求メッセージに対して結合および／または削除の処理を行い得、その結果、各第1のファイルディスパッチキューに対応する呼び出し要求メッセージが取得される。呼び出しモジュール240は、各第1のファイルディスパッチキューの呼び出し要求メッセージに従って、Kの第1のファイル呼び出し要求メッセージに対応する第1のファイルを呼び出し得る、例えば、第1のファイルにアクセスし得る。
【００６９】
したがって、本発明の本実施形態における、ファイルにアクセスするための装置は、サイズの小さいファイルの呼び出し要求メッセージを判定し、サイズの小さいファイルの呼び出し要求メッセージに、対応する第1のファイルディスパッチキューを割り当て、その結果、複数のサイズの小さいファイルの呼び出し要求メッセージに対して結合および／または削除の処理を行うことができ、サイズの小さいファイルを呼び出す回数が減る。このようにして、サイズの小さいファイルを呼び出す要求が増えるためにI／Oの回数が増え、過度のメモリリソースが占有されることを避けることができ、システムを呼び出す回数を減らすことができ、システムを呼び出す回数が減り、I／O要求のスループットが向上し、それによって、ファイルシステムの全体的なI／O効率が上がる。
【００７０】
本発明の本実施形態では、ファイルシステムにおいてファイルにアクセスするための装置200の判定モジュール210は、受信したファイル呼び出し要求メッセージからLの第1のファイル呼び出し要求メッセージを判定し得る。Lの第1のファイル呼び出し要求メッセージの各第1のファイル要求メッセージは、1つの対応する第1のファイルを呼び出すように要求するために使用される。場合により、第1のファイルは、サイズの小さいファイル（Micro File、略称「MF」）である。実際のアプリケーションに従って、閾値が設定され得る。ファイルサイズが閾値以下であるファイルが、サイズの小さいファイル、つまり、第1のファイルと判定される。例えば、閾値は、1Kに設定されてよく、つまり、ファイルサイズが1K以下であるファイルが、サイズの小さいファイルと規定され、閾値はまた、2M、4Mなどに設定されてもよい。本発明はこれに限定されるものではない。このようにして、ファイルシステムは、受信したファイル呼び出し要求メッセージから、サイズの小さいファイルの呼び出し要求メッセージを判定し得、これらのサイズの小さいファイルの呼び出し要求メッセージは、ファイルシステムから対応するサイズの小さいファイルを呼び出すように要求するために使用される。
【００７１】
本発明の本実施形態では、ファイルシステムは、Lの第1のファイル呼び出し要求メッセージを判定し、1つの第1のファイル呼び出し要求メッセージを一度に受信してもよいし、複数の第1のファイル呼び出し要求メッセージを一度に受信してもよい。例えば、ファイルシステムは、3つの第1のファイル呼び出し要求メッセージを一度に受信してもよい。このケースでは、ファイルシステムがLの第1のファイル呼び出し要求メッセージを判定する場合、ファイルシステムは、3つの受信された第1のファイル呼び出し要求メッセージを判定する。あるいは、ファイルシステムはまた、ランダムな数の第1のファイル呼び出し要求メッセージを受信してもよい。数がLまで増加すると、ファイルシステムは、Lの第1のファイル呼び出し要求メッセージを判定する。Lの値は、実際のアプリケーションに応じて判定されてもよいし、経験的な値に従って設定されてもよい。本発明はこれに限定されるものではない。
【００７２】
場合により、本発明の本実施形態では、ファイルにアクセスするための装置200の判定モジュール210が判定したLの第1のファイル呼び出し要求メッセージのそれぞれは、物理セクタ情報を含み得、物理セクタ情報は、各第1のファイル呼び出し要求メッセージが呼び出すように要求する、第1のファイルを記憶する物理セクタのアドレスを含む。場合により、物理セクタ情報は、各第1のファイル呼び出し要求メッセージが呼び出すように要求する、第1のファイルの開始アドレス、呼び出された第1のファイルのサイズ、第1のファイル呼び出し要求メッセージを運ぶデバイスの関連情報などを特に含み得る。ファイルシステムは、物理セクタ情報を含む第1のファイル呼び出し要求メッセージに従って、呼び出す必要がある第1のファイルを判定し得る。
【００７３】
場合により、本発明の本実施形態では、判定モジュール210が判定した第1のファイル呼び出し要求メッセージは、アクセスパス情報をさらに含み得、アクセスパス情報は、第1のファイルを対応して記憶する物理セクタのパス情報を含み、対応するサイズの小さいファイルを記憶する物理セクタは、アクセスパス情報に従って、ファイルシステム内で見つかり得る。具体的には、1つのファイルを開くopenもしくは閉じるclose、または新しいファイルを作成する場合、ファイルシステムのカーネルは、1つのファイル記述子を割り当て、ファイル記述子をユーザプログラムに返し、ファイル記述子のエントリ内のポインタは、新しく開いたファイルを指す。ファイルがアクセスされる場合、ユーザプログラムは、ファイル記述子をカーネルに送信し、カーネルは、ファイル記述子に従って対応するエントリを見つけ、エントリ内のポインタを使用して対応するファイルを見つける。各ファイル構造は、dentry（directory entry、ディレクトリエントリ）構造を指すポインタを有し、ファイルのinodeノードは、パスに従って見つけることができる。ディスクを読み出す回数を減らすために、カーネルは、ディレクトリのツリー状の構造を通常キャッシュし、ディレクトリのツリー状の構造は、dentry cacheと呼ばれる。各inodeノードは、dentry構造である。探索は、パスの部分のdentryに沿って行うだけでよい。dentry cacheは、最近アクセスされたディレクトリエントリのみを記憶する。ヒットしない場合、ディレクトリエントリを磁気ディスクからメモリへ読み出す必要がある。
【００７４】
具体的には、サイズの小さいファイルでは、ファイルシステムは、サイズの小さいファイル情報ノードMF−inodeを連結リストの形態で記憶し得る。これらのサイズの小さいファイル情報ノードは、対応するサイズの小さいファイルのアクセスパス情報を記憶し、サイズの小さいファイルは、情報ノードのアクセスパス情報に従って探索され得る。第i番目の第1のファイル呼び出し要求メッセージを受信すると、ファイルシステムは、記憶されたMF−inode連結リストにおいて第i番目の第1のファイルの対応する情報ノードを探索し、第i番目の第1のファイルの情報ノードが連結リストに存在する場合、第i番目の第1のファイルの情報ノードに従って、第1のファイルの記憶パスを示すために使用されるアクセスパス情報を判定し、アクセスパス情報は、第i番目の第1のファイル呼び出し要求メッセージに記憶され得る。第i番目の第1のファイルの対応する情報ノードがMF−inode連結リスト内で見つからない場合、第i番目の第1のファイルに対応する新しいinodeが適用され、新しいinodeは、MF−inode連結リストに加えられ、第1のファイルに対応する記憶パスおよびファイル名が新しいinodeに記憶され、かつinodeのメンバ変数として記録され、アクセスパス情報はまた、第i番目の第1のファイル呼び出し要求メッセージに記憶される。
【００７５】
場合により、サイズの小さいファイルに対応するMF−inode連結リストでは、MF−inode連結リストに含まれるinodeに対応するファイルが、ファイルデータが連続的に書き込まれたために、サイズの小さいファイルからサイズの大きいファイルに転じた場合、例えば、サイズの小さいファイルのサイズが4Mを超えた場合、切り捨て（O＿TRUNC）動作が呼び出され得、その結果、サイズの大きいファイルは、サイズの小さいファイルになるように切り捨てされる。あるいは、サイズが大きくなったファイルは、サイズの小さいファイルのMF−inode連結リストから除去され、共通inodeがファイルに割り当てられてもよい。性能に影響しないため、そのままの状態が維持されてもよい。その一方、サイズの大きいファイルがサイズの小さいファイルへと転じた場合、サイズの小さいファイルをMF−inode連結リストに加えてもよい。場合により、このことは、システムがアイドル状態の時にディスクデフラグメンタプログラム（defragement daemon）を使用して完了させてもよい。
【００７６】
本発明の本実施形態では、Linux(登録商標)のI／Oスケジューラが、ブロックデバイスのI／Oサブシステムのメインコンポーネントであり、かつユニバーサルブロック層とブロックデバイスドライバとの間に配置される。Linux(登録商標)カーネルコンポーネントが、なんらかのデータを読み出し／書き込みする必要がある場合、要求が送信されたならば、カーネルは、要求を直ちに実行する代わりに、要求の実行を延期する。割り当て延期は、ブロックデバイスの性能の主な機構である。新しいデータブロックを送信する場合、カーネルは、新しい要求が、その間ずっと待機状態にある先の要求を延長することによって対応可能かどうかを確認する。
【００７７】
具体的には、各ブロックデバイスプログラムは、要求キューに関連付けられる。ブロックデバイスの初期化中、要求キューが割り当てられ、初期化される。このケースでは、特定のI／Oスケジューリングアルゴリズムがブロックデバイスドライバについて指定され得る。デフォルトのケースでは、システムのデフォルトスケジューリングアルゴリズムが使用される。デフォルトスケジューリングアルゴリズムでは、先の処理された要求に最も近い要求がまず処理され、したがって、要求は極めて長期間無視され、このケースはエレベータアルゴリズムである。このようなケースを避けるために、要求が未処理に留まるケースを避けるために、要求がエレベータアルゴリズムに送信される場合、タイムアウトタイマーが開始される。ユーザ経験を改善するために、読み出し要求は、書き込み要求に一般的に優先するが、これは、読み出し要求が、要求を送信するプロセスを通常ブロックするためである。
【００７８】
本発明の本実施形態では、サイズの小さいファイルの呼び出し要求メッセージは、このアルゴリズムを使用して処理され得、場合により、以下のI／Oスケジューリング（scheduler）アルゴリズム方法を使用してさらにスケジューリングされ得る。本発明の本実施形態では、割り当てモジュール220は、Lの第1のファイル呼び出し要求メッセージにおける物理セクタ情報に従って、Mの第1のファイルディスパッチキュー（MF dispatch Queue）に、Lの第1のファイル呼び出し要求メッセージを別々に加え得る。ファイルシステムは、サイズの小さいファイルの呼び出し要求メッセージに対応する第1のファイルディスパッチキューを割り当てる。ファイルシステムが受信した第1のファイル呼び出し要求メッセージでは、Lの第1のファイル呼び出し要求メッセージは、各呼び出し要求メッセージにおける物理セクタ情報に従って、Mの第1のファイルディスパッチキューに別々に加えられ得、その結果、物理セクタが連続するアドレスを有する少なくとも2つの第1のファイル呼び出し要求メッセージは、同じ第1のファイルディスパッチキューに加えられ、各第1のファイルディスパッチキューは、Kの第1のファイル呼び出し要求メッセージを含み、KおよびMの両方とも正の整数である。
【００７９】
例えば、本発明の本実施形態では、ファイルシステムは、6つの第1のファイル呼び出し要求メッセージを判定し、つまり、L＝6である。1つの第1のファイルディスパッチキューのみ、つまり、サイズの小さいファイルのディスパッチキュー、M＝1がある場合、6つの第1のファイル呼び出し要求メッセージのうちの3つの第1のファイル呼び出し要求メッセージにおける物理セクタ情報が、3つの第1のファイル呼び出し要求メッセージの物理セクタのアドレスが連続であり、残りの3つが不連続であることを示す。第6番目の第1のファイル呼び出し要求メッセージは、第1のファイルディスパッチキューにすべて配置され、物理セクタが連続するアドレスを有する3つの第1のファイル呼び出し要求メッセージが結合され、つまり、このケースでは、K＝3である。物理セクタが不連続なアドレスを有する残りの3つの第1のファイル呼び出し要求メッセージは、一時的に処理されない。新しい第1のファイル呼び出し要求メッセージがある場合、物理セクタのアドレスが連続であるかどうかが再度判定される。連続である場合、結合が行われる、または不連続である場合、処理は依然として行われない。場合により、物理セクタのアドレスが連続であるかどうかを判定することによって、結合処理を行うかどうかが判定される。第1のファイル呼び出し要求情報は、呼び出された第1のファイルのサイズに従ってさらに結合され得る。例えば、2つの第1のファイル呼び出し要求メッセージが書き込むように要求する、2つの第1のファイルのサイズの和は、1つのデータブロック（block）を正確に構成し得、2つの第1のファイル呼び出し要求メッセージもまた結合され、2つの第1のファイル呼び出し要求メッセージが書き込むように要求する、対応する第1のファイルは、同じデータブロックにおける同じ物理セクタに書き込まれる。本発明はこれに限定されるものではない。
【００８０】
場合により、別の例では、ファイルシステムは、6つの第1のファイル呼び出し要求メッセージを判定し、つまり、L＝6である。第1のファイルディスパッチキューが5つのディスパッチキューに分割され、つまり、サイズの小さいファイルの5つのディスパッチキューがあり、M＝5である場合、6つの第1のファイル呼び出し要求メッセージのうちの3つの第1のファイル呼び出し要求メッセージにおける物理セクタ情報が、3つの第1のファイル呼び出し要求メッセージの物理セクタのアドレスが連続であり、残りの3つが不連続であることを示す。物理セクタが連続なアドレスを有する3つの第1のファイル呼び出し要求メッセージは、同じ第1のファイルディスパッチキューに配置される。例えば、3つの第1のファイル呼び出し要求メッセージは、第1番目の第1のファイルディスパッチキューに配置され、物理セクタが不連続なアドレスを有する残りの3つの第1のファイル呼び出し要求メッセージは、他の3つの第1のファイルディスパッチキューに配置され得、1つの残りの第1のファイルディスパッチキューは、一時的に空である。このケースでは、3つの第1のファイル呼び出し要求メッセージは、第1番目の第1のファイルディスパッチキューに存在し、つまり、K＝3である。このケースでは、第1のファイルディスパッチキューにおける3つの第1のファイル呼び出し要求メッセージに対して結合処理が行われて、第1のファイルディスパッチキューの1つの呼び出し要求メッセージを取得し得る。結合処理は、1つの第1のファイル呼び出し要求メッセージをそれぞれ有する他の3つのディスパッチキューに対して最初行われず、他の3つのディスパッチキューは、別の第1のファイル呼び出し要求メッセージの割り当てを待機し続け得る。結合され得る複数の第1のファイル呼び出し要求メッセージがいくつかの第1のファイルディスパッチキューに存在する場合、第1番目の第1のファイルディスパッチキューのケースと同様に、同じ第1のファイルディスパッチキューにある複数の第1のファイル呼び出し要求メッセージが結合される。場合により、物理セクタのアドレスが連続であるかどうかを判定することによって、結合処理を行うかどうかが判定される。第1のファイル呼び出し要求情報は、呼び出された第1のファイルのサイズに従ってさらに結合され得る。例えば、2
つの第1のファイル呼び出し要求メッセージが書き込むように要求する、2つの第1のファイルのサイズの和は、1つのデータブロック（block）を正確に構成し得、2つの第1のファイル呼び出し要求メッセージもまた結合され、2つの第1のファイル呼び出し要求メッセージが書き込むように要求する、対応する第1のファイルは、同じデータブロックにおける同じ物理セクタに書き込まれる。本発明はこれに限定されるものではない。
【００８１】
場合により、別の例では、ファイルシステムは、6つの第1のファイル呼び出し要求メッセージを判定し、つまり、L＝6である。3つの第1のファイルディスパッチキューがある、つまり、M＝3である場合、6つの第1のファイル呼び出し要求メッセージのうちの3つの第1のファイル呼び出し要求メッセージにおける物理セクタ情報が、3つの第1のファイル呼び出し要求メッセージの物理セクタのアドレスが連続であり、残りの3つが不連続であることを示す。物理セクタが連続するアドレスを有する3つの第1のファイル呼び出し要求メッセージは、同じ第1のファイルディスパッチキューに配置され、例えば、3つの第1のファイル呼び出し要求メッセージは、第1の第1のファイルディスパッチキューに配置され、物理アドレスが不連続な残りの3つの第1のファイル呼び出し要求メッセージは、第1のファイル呼び出し要求メッセージのサイズに従って、もしくはランダムに、3つの第1のファイルディスパッチキューに割り当てられ得る、または第1のファイル呼び出し要求メッセージが呼び出すように要求する、第1のファイルの記憶アドレスの相関関係に従って、3つの第1のファイルディスパッチキューに割り当てられ得る、または3つの第1のファイルディスパッチキューにランダムに割り当てられ得る。次いで、物理セクタ情報が連続であり、かつ第1番目の第1のファイルディスパッチキューにおける3つの第1のファイル呼び出し要求メッセージに対して結合処理が行われて、第1のファイルディスパッチキューの1つの呼び出し要求メッセージを取得する。他の2つの第1のファイルディスパッチキューは、最初に処理され得ない、または結合されていない第1のファイル呼び出し要求メッセージが第1番目の第1のファイルディスパッチキューに依然として存在する場合、処理もまた一時的に行われない。結合され得る複数の第1のファイル呼び出し要求メッセージがいくつかの第1のファイルディスパッチキューに存在する場合、第1番目の第1のファイルディスパッチキューのケースと同様に、同じ第1のファイルディスパッチキューにある複数の第1のファイル呼び出し要求メッセージが結合される。場合により、物理セクタのアドレスが連続であるかどうかを判定することによって、結合処理を行うかどうかが判定される。第1のファイル呼び出し要求情報は、呼び出され
た第1のファイルのサイズに従ってさらに結合され得る。例えば、2つの第1のファイル呼び出し要求メッセージが書き込むように要求する、2つの第1のファイルのサイズの和は、1つのデータブロック（block）を正確に構成し得、2つの第1のファイル呼び出し要求メッセージもまた結合され、2つの第1のファイル呼び出し要求メッセージが書き込むように要求する、対応する第1のファイルは、同じデータブロックにおける同じ物理セクタに書き込まれる。本発明はこれに限定されるものではない。
【００８２】
場合により、割り当てモジュール220は、Lの第1のファイル呼び出し要求メッセージの異なるプロセスID（PID）に従って、ファイルシステムが受信した呼び出し要求メッセージをグループ化し、グループ化した呼び出し要求メッセージの第1のファイル呼び出し要求メッセージを第1のファイルディスパッチキューに記憶し得、第1のファイルディスパッチキューは、Mのディスパッチキューを含み得る。場合により、構造が、ファイルシステムに新しく加えられ、どの呼び出し要求メッセージが第1のファイル呼び出し要求メッセージであるかを判定するために使用される。あるいは、S110で第1のファイル呼び出し要求メッセージが判定される際、第1のファイル呼び出し要求メッセージが識別され得、第1のファイル呼び出し要求メッセージは、識別子を使用して区別され、第1のファイル呼び出し要求メッセージは、対応するMの第1のファイルディスパッチキューに割り当てられ、各第1のファイルディスパッチは、Kの第1のファイル呼び出し要求メッセージを対応して含む。
【００８３】
本発明の本実施形態では、Mの第1のファイルディスパッチキューのそれぞれについて、ファイルシステムの処理モジュール230は、各第1のファイルディスパッチキューに含まれるKの第1のファイル呼び出し要求メッセージを処理して、各第1のファイルディスパッチキューの呼び出し要求メッセージを取得し得る。具体的には、Lの第1のファイル呼び出し要求メッセージは、Mの第1のファイルディスパッチキューに加えられる。各第1のファイルディスパッチキューについて、各第1のファイルディスパッチキューに含まれる少なくとも2つの第1のファイル呼び出し要求メッセージが連続する物理セクタ（bi＿sector）アドレスを有する場合、呼び出す回数を減らすために、少なくとも2つの第1のファイル呼び出し要求メッセージに対して結合処理が行われ得、その結果、少なくとも2つの第1のファイル呼び出し要求メッセージは、1つの呼び出し要求メッセージ、つまり、第1のファイルディスパッチキューの呼び出し要求メッセージへと結合され得る。例えば、任意の第1のファイルディスパッチキューについて、第1のファイルディスパッチキューは、Kの第1のファイル呼び出し要求メッセージを含み、Kの第1のファイル呼び出し要求メッセージは、Kの第1のファイル呼び出し要求メッセージに含まれる物理セクタ情報に従って処理されて、第1のファイルディスパッチキューの1つの呼び出し要求メッセージを生成し得、第1のファイルディスパッチキューの呼び出し要求メッセージは、Kの第1のファイル呼び出し要求メッセージに対応する第1のファイルを呼び出すために使用される。場合により、ファイルシステムは、第1のファイル呼び出し要求メッセージに対する削除処理をさらに行って、不要な呼び出し要求を削除する。このようにして、呼び出し回数がまた減らされ得る。
【００８４】
場合により、第1のファイルディスパッチキューが1つの第1のファイル呼び出し要求メッセージのみを含む場合、つまり、別の呼び出し要求メッセージがなく、別の呼び出し要求メッセージの物理セクタおよび呼び出し要求メッセージの物理セクタが連続するアドレスを有し、第1のファイル呼び出し要求メッセージは、一時的に処理されない場合もある。第1のファイルディスパッチキューに含まれる少なくとも2つの第1のファイル呼び出し要求メッセージの物理セクタのアドレスが連続する場合、次いで、結合処理が行われる。本発明はこれに限定されるものではない。
【００８５】
本発明の本実施形態では、ファイルシステムの処理モジュール230が、第1のファイルディスパッチキューに含まれるKの第1のファイル呼び出し要求メッセージに対して結合または削除の処理を行った後、呼び出しモジュール240は、第1のファイルディスパッチキューの取得した呼び出し要求メッセージに従って、対応する第1のファイルにアクセスし得る。具体的には、各第1のファイル呼び出し要求メッセージがアクセスパス情報を含み得ることから、第1のファイルディスパッチキューについて結合を行った後、各第1のファイルディスパッチキューの呼び出し要求メッセージは、対応するアクセスパス情報を依然として有する。したがって、アクセス処理は、アクセスパス情報に従って、第1のファイルに対して対応して行われ得る。場合により、第1のファイルディスパッチキューの呼び出し要求メッセージは、記憶媒体要求キュー（mmc＿request）に送信され得、mmc＿requestは、第1のファイルディスパッチキューの呼び出し要求メッセージを処理し、デバイスコントローラを設定し、デバイスコントローラは、データを生成し、送信するために主に使用される。データ送信が完了した後、現在の呼び出し要求メッセージが対応するディスパッチキューから削除され得、次の要求に対応するデータ送信が開始される。
【００８６】
したがって、本発明の本実施形態における、ファイルにアクセスするための装置は、サイズの小さいファイルの呼び出し要求メッセージを判定し、サイズの小さいファイルの呼び出し要求メッセージに、対応する第1のファイルディスパッチキューを割り当て、その結果、複数のサイズの小さいファイルの呼び出し要求メッセージに対して結合および／または削除の処理を行うことができ、サイズの小さいファイルを呼び出す回数が減る。このようにして、サイズの小さいファイルを呼び出す要求が増えるためにI／Oの回数が増え、過度のメモリリソースが占有されることを避けることができ、システムを呼び出す回数を減らすことができ、システムを呼び出す回数が減り、I／O要求のスループットが向上し、それによって、ファイルシステムの全体的なI／O効率が上がる。
【００８７】
場合により、一実施形態では、本発明の本実施形態におけるファイルにアクセスするための装置200は、
ファイルを記憶する物理セクタ上でNの第1のファイル記憶空間グループを判定するように構成された第2の判定モジュール250であって、Nの第1のファイル記憶空間グループは、第1のファイルを記憶するために使用される、第2の判定モジュール250
をさらに備える。
【００８８】
本発明の本実施形態では、具体的には、ファイルシステムは、サイズの小さいファイルのアクセスのための独立物理セクタを設定し得る。物理セクタは、複数の独立領域を含み、領域は、複数の第1のファイル記憶空間グループ（MF Group）を含み、領域のサイズは、タイムスロットアプリケーションに従って調整および最適化され得、領域に含まれるMF Groupの数は、要件に従って動的に調整され得る。場合により、複数のMF Groupは、サイズの小さいファイルを独立に記憶し、各MF Groupは、複数のデータベース（date block）を含み得、各date blockは、1つ以上のサイズの小さいファイルを記憶し得る。本発明はこれに限定されるものではない。
【００８９】
具体的には、第2の判定モジュール250は、システムがアイドル状態の時にディスクデフラグメンタプログラム（defragement daemon）を使用して、複数のMF Groupを結合および／または削除し得る。例えば、複数のMF Groupが結合されて、複数の第1のファイルが連続する物理セクタ上に記憶されることを確保し、その結果、eMMCの特徴がより良好に使用され得る。システムの稼働中、ファイルの削除動作のため、ファイルを記憶するために使用される一部のMF Groupにおける空間が余剰となる、つまり、MF Groupにおける大半の空間が削除予定リストに加えられる。これらのMF Groupは結合されて、少なくとも2つのMF Groupにおけるデータを結合し、1つ以上のMF Groupにおけるデータを記憶し得る。したがって、より多くの空間が解放され、空間利用が改善される。
【００９０】
場合により、一実施形態では、削除処理はまた、MF Groupに対して行われ得る。例えば、MF Groupに存在する一部のサイズの小さいファイルがサイズの大きいファイルに転じた場合、例えば、サイズの大きいファイルのサイズが4Mの範囲を超えた場合、ファイルのサイズが大きくなったMF Groupが見つけられ、識別され得る。次いで、削除予定リストを走査する際に、defragement daemonは、MF Groupに含まれる第1のファイルはすべて削除されたリストに加えられたことを見つけ、その結果、MF Groupにファイルが存在しない場合、つまり、MF Groupが空である場合に削除が行われ、MF Groupが削除されて、リソースを解放する。
【００９１】
場合により、一実施形態では、追加処理はまた、MF Groupに対して行われ得る。例えば、サイズの小さいファイルが新しく加えられる場合、例えば、サイズの大きいファイルがサイズの小さいファイルに転じた場合、defragement daemonは、余剰空間を有するMF Groupについて、複数のMF Groupをまず探索する。サイズの小さいファイルをMF Groupに記憶可能にし得る利用可能な記憶空間が存在する場合、新しく加えられたサイズの小さいファイルは、MF Groupに記憶される。余剰空間を有するMF Groupがない場合、defragement daemonは、新しいMF Groupを加え、新しいMF Groupは、サイズの小さいファイルと別の新しく加えられたサイズの小さいファイルとを記憶するために使用される。
【００９２】
本発明の本実施形態では、ファイルシステムの呼び出しモジュール240は、少なくとも1つの第1のファイルディスパッチキューの呼び出し要求メッセージに従って、アクセスおよび呼び出される必要がある第1のファイルのためのファイルを記憶するMF Groupを探索し得る。
【００９３】
本発明の本実施形態に係る、ファイルにアクセスするための装置200は、本発明の本実施形態における方法100を対応して行うことができ、ファイルにアクセスするための装置200のモジュールの上記および他の動作および／または機能は、図1および図2の方法の対応する手順を実装するために別々に使用されることを解されたい。簡潔にするために、ここでは細部を繰り返し説明しない。
【００９４】
したがって、本発明の本実施形態における、ファイルにアクセスするための装置は、サイズの小さいファイルの呼び出し要求メッセージを判定し、サイズの小さいファイルの呼び出し要求メッセージに、対応する第1のファイルディスパッチキューを割り当て、その結果、複数のサイズの小さいファイルの呼び出し要求メッセージに対して結合および／または削除の処理を行うことができる。このようにして、サイズの小さいファイルを呼び出す要求が増えるためにI／Oの回数が増え、過度のメモリリソースが占有されることを避けることができ、システムを呼び出す回数を減らすことができ、システムを呼び出す回数が減り、I／O要求のスループットが向上し、それによって、ファイルシステムの全体的なI／O効率が上がる。加えて、対応するダイナミック記憶領域は、サイズの小さいファイルにさらに割り当てられ得、異なるサイズの小さいファイルが記憶するために集められる。このようにして、記憶空間の無駄使いを減らすことができ、空間利用が改善される。
【００９５】
図5に示すように、本発明の一実施形態は、プロセッサ310と、メモリ320と、バスシステム330と、を備える、記憶システム300をさらに提供する。プロセッサ310とメモリ320とはバスシステム330を使用して互いに接続され、メモリ320は、命令を記憶するように構成され、プロセッサ310は、メモリ320に記憶された命令を実行するように構成される。メモリ320は、プログラムコードを含み、プロセッサ310は、メモリ320に記憶されたプログラムコードを呼び出して、以下の動作、すなわち、Lの第1のファイル呼び出し要求メッセージを判定するステップであって、Lの第1のファイル呼び出し要求メッセージのそれぞれは、第1のファイルを呼び出すように要求するために使用され、第1のファイルのサイズは、閾値未満であり、各第1のファイル呼び出し要求メッセージは、物理セクタ情報を含み、物理セクタ情報は、第1のファイルを記憶する物理セクタのアドレスを含み、Lは、1よりも大きい整数である、ステップと、物理セクタ情報に従って、Lの第1のファイル呼び出し要求メッセージに対応するMの第1のファイルディスパッチキューに、Lの第1のファイル呼び出し要求メッセージを別々に加えるステップであって、Mは、正の整数である、ステップと、Mの第1のファイルディスパッチキューのそれぞれに含まれる、Kの第1のファイル呼び出し要求メッセージを処理して、各第1のファイルディスパッチキューの呼び出し要求メッセージを取得する、ステップであって、各第1のファイルディスパッチキューの呼び出し要求メッセージは、Kの第1のファイル呼び出し要求メッセージに対応する第1のファイルを呼び出すように要求するために使用され、Kは、正の整数である、ステップと、各第1のファイルディスパッチキューの呼び出し要求メッセージに従って、Kの第1のファイル呼び出し要求メッセージに対応する第1のファイルにアクセスするステップと、を行い得る。
【００９６】
したがって、本発明の本実施形態における、記憶システムは、サイズの小さいファイルの呼び出し要求メッセージを判定し、サイズの小さいファイルの呼び出し要求メッセージに、対応する第1のファイルディスパッチキューを割り当て、その結果、複数のサイズの小さいファイルの呼び出し要求メッセージに対して結合および／または削除の処理を行うことができる。このようにして、サイズの小さいファイルを呼び出す要求が増えるためにI／Oの回数が増え、過度のメモリリソースが占有されることを避けることができ、システムを呼び出す回数を減らすことができ、システムを呼び出す回数が減り、I／O要求のスループットが向上し、それによって、ファイルシステムの全体的なI／O効率が上がる。加えて、対応するダイナミック記憶領域は、サイズの小さいファイルにさらに割り当てられ得、異なるサイズの小さいファイルが記憶するために集められる。このようにして、記憶空間の無駄使いを減らすことができ、空間利用が改善される。
【００９７】
本発明の本実施形態では、プロセッサ310は、中央演算装置（Central Processing Unit、略称「CPU」）であってもよいし、プロセッサ310は、さらなる別の汎用プロセッサ、デジタルシグナルプロセッサ（DSP）、特定用途向け集積回路（ASIC）、フィールドプログラマブルゲートアレイ（FPGA）、または別のプログラマブルロジックデバイス、別個のゲートもしくはトランジスタロジックデバイス、別個のハードウェアコンポーネントなどであってもよいことを理解されたい。汎用プロセッサは、マイクロプロセッサであってもよいし、プロセッサは、任意の従来のプロセッサなどであってもよい。
【００９８】
メモリ320は、読み出し専用メモリおよびランダムアクセスメモリを含み得、プロセッサ310に命令およびデータを提供し得る。メモリ320の一部は、不揮発性ランダムアクセスメモリをさらに含み得る。例えば、メモリ320は、装置タイプ情報をさらに記憶し得る。
【００９９】
データバスに加えて、バスシステム330は、パワーバス、制御用バス、およびステータス信号用バスなどを含み得る。しかしながら、説明を明確にするために、図面では、様々なタイプのバスがすべてバスシステム330として記されている。
【０１００】
実装プロセスにおいて、上記の方法のステップは、プロセッサ310のハードウェアの集積ロジック回路またはソフトウェアの形態の命令を使用して行われ得る。本発明の各実施形態に関連して開示された方法のステップは、ハードウェアプロセッサによって直接実行され、完了するのであってもよいし、プロセッサのハードウェアとソフトウェアモジュールとの組み合わせを使用して実行され、完了するのであってもよい。ソフトウェアモジュールは、当技術分野において成熟した記憶媒体、例えば、ランダムアクセスメモリ、フラッシュメモリ、読み出し専用メモリ、プログラマブル読み出し専用メモリ、エレクトリカリー・イレーサブル・プログラマブル・メモリ、またはレジスタに配置され得る。記憶媒体は、メモリ320に配置され、プロセッサ310は、メモリ320の情報を読み出し、プロセッサ310のハードウェアと併せて、上記の方法のステップを完了する。繰り返しを避けるため、ここでは細部を繰り返し説明しない。
【０１０１】
場合により、一実施形態では、プロセッサ310は、メモリ320に記憶されたプログラムコードを呼び出して、以下の動作、すなわち、ファイルを記憶する物理セクタ上でNの第1のファイル記憶空間グループを判定するステップであって、Nの第1のファイル記憶空間グループは、第1のファイルを記憶するために使用され、Nは、正の整数であり、Nの第1のファイル記憶空間グループのうちの少なくとも2つが、利用可能な記憶空間を有する場合、少なくとも2つの第1のファイル記憶空間グループに含まれる第1のファイルを結合する、またはNの第1のファイル記憶空間グループのうちの少なくとも1つがファイルを記憶していない場合、少なくとも1つの第1のファイル記憶空間グループを解放する、またはNの第1のファイル記憶空間グループにはなんら利用可能な記憶空間がない場合、Nの第1のファイル記憶空間グループの数を増やし、Nの第1のファイル記憶空間グループから、各第1のファイルディスパッチキューの呼び出し要求メッセージに従って、Kの第1のファイル呼び出し要求メッセージに対応する第1のファイルにアクセスする、ステップを行い得る。
【０１０２】
場合により、一実施形態では、プロセッサ310は、メモリ320に記憶されたプログラムコードを呼び出して、以下の動作、すなわち、物理セクタ情報に従って、同じ第1のファイルディスパッチキューに、Lの第1のファイル呼び出し要求メッセージのうちの少なくとも2つを加えるステップであって、少なくとも2つの第1のファイル呼び出し要求メッセージが呼び出すように要求する、第1のファイルの物理セクタのアドレスは、連続である、ステップを行い得る。
【０１０３】
場合により、一実施形態では、各第1のファイル呼び出し要求メッセージは、アクセスパス情報をさらに含み、アクセスパス情報は、物理セクタの、各第1のファイル呼び出しメッセージに対応する第1のファイルにアクセスするために使用される、パスを示すために使用される。
【０１０４】
場合により、一実施形態では、プロセッサ310は、メモリ320に記憶されたプログラムコードを呼び出して、以下の動作、すなわち、Lの第1のファイル情報ノードを判定するステップであって、Lの第1のファイル情報ノードのそれぞれは、各第1のファイル呼び出し要求メッセージが呼び出すように要求する、第1のファイルのアクセスパス情報を記憶するために使用される、ステップと、各第1のファイル情報ノードに従って、各第1のファイル呼び出し要求メッセージが呼び出すように要求する、第1のファイルのアクセスパス情報を判定するステップと、を行い得る。
【０１０５】
場合により、一実施形態では、プロセッサ310は、メモリ320に記憶されたプログラムコードを呼び出して、以下の動作、すなわち、Lの第1のファイル情報ノードの第i番目の第1のファイル情報ノードが、情報ノード連結リストに存在するかどうかを判定するステップと、第i番目の第1のファイル情報ノードが、情報ノード連結リストに存在しない場合、情報ノード連結リストに、第i番目の第1のファイル情報ノードを生成し、第i番目の第1のファイル情報ノードに、第i番目の第1のファイルのアクセスパス情報を記憶する、ステップ、または第i番目の第1のファイル情報ノードが情報ノード連結リストに存在する場合、第i番目の第1のファイル情報ノードに従って、第i番目の第1のファイルのアクセスパス情報を判定するステップと、を行い得る。
【０１０６】
したがって、本発明の本実施形態における、記憶システムは、サイズの小さいファイルの呼び出し要求メッセージを判定し、サイズの小さいファイルの呼び出し要求メッセージに、対応する第1のファイルディスパッチキューを割り当て、その結果、複数のサイズの小さいファイルの呼び出し要求メッセージに対して結合および／または削除の処理を行うことができる。このようにして、サイズの小さいファイルを呼び出す要求が増えるためにI／Oの回数が増え、過度のメモリリソースが占有されることを避けることができ、システムを呼び出す回数を減らすことができ、システムを呼び出す回数が減り、I／O要求のスループットが向上し、それによって、ファイルシステムの全体的なI／O効率が上がる。加えて、対応するダイナミック記憶領域は、サイズの小さいファイルにさらに割り当てられ得、異なるサイズの小さいファイルが記憶するために集められる。このようにして、記憶空間の無駄使いを減らすことができ、空間利用が改善される。
【０１０７】
当業者であれば、本明細書で開示した各実施形態において説明した例と組み合わせて、電子的ハードウェアまたはコンピュータソフトウェアと電子的ハードウェアとの組み合わせによって、ユニットおよびアルゴリズムステップを実施してよいことを承知しているはずである。機能をハードウェアで行うかソフトウェアで行うかは、技術的解決策の具体的なアプリケーションと設計制約条件とによって決まる。当業者は、異なる方法を使用して、それぞれの具体的なアプリケーションに対して、説明された機能を実施できるが、こうした実施が、本発明の範囲を超えるものであるとみなすべきではない。
【０１０８】
当業者であれば、説明を簡便にする目的で、上記のシステム、装置およびユニットの詳細な動作プロセスについては、上記方法実施形態における対応するプロセスを参照できることを明確に理解するはずであり、細部を説明しない。
【０１０９】
本出願において提供されるいくつかの実施形態においては、開示のシステム、装置、および方法を他のやり方で実装することもできることを理解されたい。例えば、説明された装置実施形態は単なる例にすぎない。例えば、ユニットの分割は単なる論理的機能分割に過ぎず、実際の実装に際しては他の分割も可能である。例えば、複数のユニットもしくはコンポーネントが組み合わされ、または統合されて別のシステムになる場合もあり、いくつかの特徴が無視されたり実行されなかったりする場合もある。加えて、表示された、または論じられた相互結合または直接結合または通信接続を、いくつかのインターフェースを使用して実現することもできる。装置間またはユニット間の間接結合または通信接続は、電子的形態、機械的形態、または他の形態として実現することができる。
【０１１０】
別々の部品として記述されたユニットは物理的に分離している場合もそうでない場合もあり、ユニットとして表示された部品は、物理的ユニットである場合もそうでない場合もあり、一箇所に位置する場合もあり、複数のネットワークユニット上に分散される場合もある。ユニットの一部または全部を、各実施形態の解決策の目的を達成するための実際の必要に従って選択することもできる。
【０１１１】
加えて、本発明の実施形態における機能ユニットが1つの処理ユニットへ統合される場合もあり、ユニットのそれぞれが物理的に独立して存在する場合もあり、または2つ以上のユニットが1つのユニットへ統合される場合もある。
【０１１２】
機能がソフトウェア機能ユニットの形態で実現され、独立した製品として販売される場合、機能は、コンピュータ可読記憶媒体に記憶することができる。そうした理解に基づき、本発明の技術解決策を本質的に、または従来技術に寄与する部分を、または技術的な解決策の一部を、ソフトウェア製品の形態で実現することができる。ソフトウェア製品は記憶媒体に記憶されており、（パーソナルコンピュータ、サーバ、もしくはネットワーク機器などとすることができる）コンピュータデバイスに、本発明の各実施形態で記述されている方法のステップのすべてまたは一部を実行するよう命令するためのいくつかの命令を含む。上記記憶媒体は、USBフラッシュドライブ、取り外し可能ハードディスク、読取り専用メモリ（ROM、Read−Only Memory）、ランダムアクセスメモリ（RAM、Random Access Memory）、磁気ディスク、光ディスクといった、プログラムコードを記憶することができる任意の媒体を含む。
【０１１３】
上記の説明は、単に本発明の具体的な実施方式に過ぎず、本発明の保護範囲を限定することを意図するものではない。本発明において開示された技術的範囲内にあり、当業者によって容易に想到される、あらゆる変形や置き換えは、本発明の保護範囲内に含まれるものとする。したがって、本発明の保護範囲は、特許請求の範囲の保護範囲に属する。
【符号の説明】
【０１１４】
200  装置
210  第1の判定モジュール
220  割り当てモジュール
230  処理モジュール
240  呼び出しモジュール
250  第2の判定モジュール
300  記憶システム
310  プロセッサ
320  メモリ
330  バスシステム
【図１】
0006584529.tif 000002
【図２】
0006584529.tif 000003
【図３】
0006584529.tif 000004
【図４】
0006584529.tif 000005
【図５】
0006584529.tif 000006