JP2014500531A - 効率的なデータストレージのためのファイル配置方法及びコンピュータシステム - Google Patents

効率的なデータストレージのためのファイル配置方法及びコンピュータシステム Download PDF

Info

Publication number
JP2014500531A
JP2014500531A JP2013524835A JP2013524835A JP2014500531A JP 2014500531 A JP2014500531 A JP 2014500531A JP 2013524835 A JP2013524835 A JP 2013524835A JP 2013524835 A JP2013524835 A JP 2013524835A JP 2014500531 A JP2014500531 A JP 2014500531A
Authority
JP
Japan
Prior art keywords
files
file
storage device
free space
executing code
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP2013524835A
Other languages
English (en)
Inventor
スタッファー、アンドリュー
ノア、 ティー. ロウルズ、
Original Assignee
アイオロ テクノロジーズ リミテッド ライアビリティ カンパニー
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by アイオロ テクノロジーズ リミテッド ライアビリティ カンパニー filed Critical アイオロ テクノロジーズ リミテッド ライアビリティ カンパニー
Publication of JP2014500531A publication Critical patent/JP2014500531A/ja
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/1727Details of free space management performed by the file system

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

データストレージデバイス上のデータのデータエントロピを減少させる効率的なデータストレージのためのシステム及び方法。この技術は、関連する複数の不連続データエンティティ(ハードディスクドライブ上のファイル等)を、物理的に近接し、予測可能な又は順序付けられたシーケンスで組織化することによって、記憶/読出装置が要求のシーケンスを処理する際に各データエンティティの位置を特定するために費やされる時間及び(機械的、演算的及びその他の)負担を削減する。例えば、ファイルディレクトリインデクス構造に基づいて、データを組織化及び保存してもよく、これによって、データ及び空き領域の断片化も減少する。
【選択図】図1

Description

本発明は、包括的には、データストレージに関し、より具体的には、システム性能を向上させるためのファイルストレージの改善技術に関する。
ファイル断片化は、コンピュータデータストレージにおいてよく知られている問題である。典型的なファイルシステムでは、ファイルは、クラスタと呼ばれるユニットに保存される。ファイルが新しいストレージデバイスに最初に保存される場合、ストレージデバイスは、通常、1つの物理的な位置から開始される1つ以上の一組の隣接するクラスタにファイルを保存することができる。しかしながら、ファイルが変更、追加、削除されるにつれて、ストレージデバイスは、1つの位置に特定のファイルを保存できなくなり、ファイルは、分断され、論理的にリンクされた複数の位置に保存されることがある。これをファイル断片化(file fragmentation)と呼ぶ。ある場合には、単一のファイル内の物理データが数百以上の異なる位置に保存されることもあり、通常、ストレージデバイスは、各「フラグメント」の最後で停止し、ファイルの全体を処理するために、この位置の数と同じ回数、読出装置を次のフラグメントの始めに移動させる必要がある。
上述のように、ファイルは、一般的に、ストレージデバイス上のクラスタ(又は幾つかのファイルシステムではブロック)と呼ばれる物理的空間のユニット内に保存される。各クラスタの一定のデータ容量は、ファイルシステムによって決定される。ファイル内のデータの総サイズが単一のクラスタのデータ容量より更に小さい場合であっても、各クラスタは、通常、(全てのデータを含む場合)単一の離散的なファイルからのデータのみを含み、2つ以上のファイルからのデータを含むことはない。データが一度も書き込まれたことがない未使用のクラスタ又はデータが論理的に消去されたクラスタは、「空き領域(free space)」と呼ばれる。更に、2つのファイルがディスク上の近くに位置し、それらの間に1つ以上のクラスタがそのまま残っている場合、この空のクラスタも「空き領域」を形成する。現在のファイルシステム技術における解釈と同様であるが、本明細書の目的において、クラスタの未使用部分(スラック領域(slack space)とも呼ばれる。)は、空き領域とはみなさない。
ディスク上で多くの空のクラスタが連続的に使用可能である場合、これらに、単一の連続するシーケンスで大きいファイルを書き込むことができる。しかしながら、ファイルが変更、追加、削除されるにつれて、ストレージデバイス上の空き領域を含む多くの物理的な位置が小さくなり、使用可能な容量の合計が十分であっても、あるサイズを超えるファイルを連続的に保存することができなくなる。これは空き領域断片化(free space fragmentation)と呼ばれる。
ファイル断片化は、特に、磁気ハードディスクドライブ等の機械的なストレージデバイスを使用する場合、デバイス上で単一のファイルを読み出すために何度も機械的なヘッド位置を変更する必要があるので、深刻なシステム性能劣化を引き起こす場合がある。更に、空き領域断片化は、ストレージデバイスに書き込みを行う場合、ファイルシステムが大きいファイルを使用可能なディスク領域の断片に分割しなければならないので、重要な性能劣化を引き起こす場合がある。このため、機械的なストレージデバイス、例えば、磁気ハードディスクドライブを使用する場合、ドライブヘッドを移動させて複数の位置に書き込みを行う必要がある。断片化された空き領域に書き込まれたファイルは必ず断片化され、これが、ファイル断片化の共通の根源的な要因である。
これらの問題を軽減するために、ストレージデバイスを「非断片化(defragment)する」ためのソフトウェアプログラムが開発されている。これらのプログラムは、一般的に、各ファイルが単一の位置に近接して保存されるようにファイルクラスタを再配列し、可能な範囲内で、小さい空き領域の位置を統合するように動作する。しかしながら、ストレージデバイスは、すぐに再断片化されるので、この手法は、一時的に、限定的な程度にシステム性能を向上させるのみであり、個々のファイルに関して性能を向上させるだけであり、複数の関連するファイル、例えば、特定のソフトウェアアプリケーションを起動するときに読み出される全てのファイルに関して性能を向上させるものではない。
例えば,米国特許第5,398,142号には、次のような記載がある。
市販されている多くの製品が、ファイル断片化の問題を取り扱い、これを解消しようと試みている。このような製品の1つは、セントラルポイントソフトウェア社(Central Point Software, Inc.)のPCツールズデラックス(PC Tools Deluxe:商標)である。このソフトウェアパッケージは、各ファイルが1つの連続的な領域に含まれるようにハードディスク又はディスケット上のファイルを配置する機能を含んでいる。他の機能は、ファイルを非断片化して、ディスクの後部の空き領域に移動させる機能である。また、このソフトウェアでは、ハードディスク上に所定の方式でファイルを配置することができる。例えば、所与のサブディレクトリに属する全てのファイルを一緒に保存することによって、データ及びプログラムオーバレイファイルを互いに隣り合うように保存することができる。これによって、必要なディスクヘッドの移動量を低減することができる。ディレクトリソート機能によって、ディレクトリ内のファイルを、ファイル名、ファイル作成日時、ファイル拡張子又はファイルサイズによってソートすることができる。これらの機能に関する情報は、1988年12月に発売されたPCツールズデラックス(PC Tools Deluxe)バージョン5に記載されている。但し、これ及び類似の製品は、ディスクの後部に空き領域を配置する。上述したように、ファイルが作成及び削除されるにつれて、連続する空き領域は、劣化し、断片化問題が再発生する。特に、ブートタイムの間に更にシステム性能を改善するために、マイクロソフトウィンドウズ(Microsoft Windows:商標)オペレーティングシステムは、プリフェッチャ(Prefetcher)と呼ばれるコンポーネントを含む。米国特許第6,633,968号に開示されているように、プリフェッチャは、ブート処理の間、実行可能なコードと、アクセスされるデータを監視し、この作業のログファイルを記録することによって動作する。そして、プリフェッチャは、ログファイルに記録された情報に予測的で確率的なアルゴリズムを適用して、より最適な手法でコード及びデータをロードする。更に、デフラグメンタ(defragmenter)を用いて、プリフェッチャによってロードされた特定の実行可能なファイルを、ストレージデバイス上の特定の位置に、特定の順序で配置する。例えば、ストレージデバイスの予約された、アクセス速度がより速い領域にファイルを保存できる。プリフェッチャアルゴリズムの1つの短所は、ユーザが既に使用することがなくても、ブート処理の間に、幾つかのファイルが常にロードされることがある点である。
システム性能を改善するための他の技術は、米国特許公開番号第2008/0027905号に開示されている。1つ以上のストレージデバイスに保存されるファイルは、異なるセットの「ランキング」に分類される。異なる領域の検索値の違いを利用してどの領域にどのファイルを保存するかを選択する。例えば、より上位に分類されるファイルは、読出時間がより速い領域に保存される。一般に、これ及び同様の技術は、「ディスク最適化」と呼ばれる。幾つかのディスク最適化技術では、頻繁に使用されるファイルを追跡し、これらに優先度ランキングを付与する。優先度がより高いファイルは、より速い領域に書き込まれ、優先度がより低いファイルは、より遅い領域に書き込まれる。
上述のように、あるファイルを単にデバイス上の特定の位置に移動させることによってストレージデバイスを最適化しても、幾つかの場合、性能がある程度向上する。例えば、ストレージデバイス上の特定の物理的な位置にドキュメントファイルのグループが全て再配置されれば、ファイルが順次的に参照される場合、性能向上を実現することができる。しかしながら、ユーザが文書編集アプリケーションを用いて同じファイルを編集することを望む場合、アプリケーションを使用する前に全て物理的に読み出す必要があるそのプログラムアプリケーションファイル、それらの依存関係及び関連するツールは、不規則で予測不能な状態でストレージデバイスに亘って物理的に離散していることがあり(この明細書では、これを「データエントロピ(data entropy)」と呼ぶ)、この結果、ストレージデバイスは、全体的な実行シーケンス内で、1つのファイルの最後に達する都度、何度も停止して、読出装置の位置を変更し、処理すべき次のファイルの位置を特定する必要がある。ストレージデバイス内のこの「データエントロピ」によって、ファイル又は空き領域の断片化がなくても、一緒に編集されるドキュメントファイルだけをグループ化することによって得られる性能の向上が部分的又は全体的に達成されないことがある。ストレージデバイス上の離散的データエンティティの物理的組織構造内のこのようなデータエントロピは、ファイル又は空き領域の断片化が存在しているか否かに関係なく、深刻な性能損失を生じさせることがある。
また、以下の通り、米国特許公開番号第2008/0027905号に開示されているように、データをグループ化してもよい。
データグループ化に基づく分類ファイル
[0044]ファイル又はファイルの一部をストレージ媒体上のある領域にグループ化することによって、性能を大幅に向上させることができる。例えば、ワードプロセッサを起動した場合、幾つかの異なるファイル及び/又はファイルの一部がロードされ、更に起動時にデータがロードされることもある。コンピュータがディスクの幾つかの異なる領域にアクセスして必要なファイル又はファイルの一部をロードする必要がある場合、これらの全てのファイルがこのディスク上の同じ領域にある場合に比べて、実質的に時間がかかる。また、フォルダ(ディレクトリ)に含まれているファイルによってフォルダ(ディレクトリ)を更にグループ化することによって、ある状況下では、コンピュータシステムの速度が向上する。如何なるファイルをグループ化したらよいかを決定するためには、ディスクから如何なるファイルが順に読み出されるかを追跡し続ければよい。パターンが確認できる場合、これらのファイル又はファイルの一部を共にグループ化する。
しかしながら、ストレージデバイスの全体に亘って、システム性能を向上させる系統的な方式で、予め監視を行うことなく、全てのファイル又はデータを組織化する手法は知られていない。
本発明は、包括的には、ストレージデバイスにおけるデータのデータエントロピを低減する効率的なデータストレージのためのシステム及び方法である。本発明は、関連する複数の不連続データエンティティ(ハードディスクドライブ上のファイル等)を、物理的に近接し、予測可能な又は順序付けられたシーケンスで組織化することによって、記憶/読出装置が要求のシーケンスを処理する際に各データエンティティの位置を特定するために費やされる時間及び(機械的、演算的及びその他の)負担を削減する。例えば、ファイルディレクトリインデクス構造に基づいて、データを組織化及び保存してもよく、これによって、データ及び空き領域の断片化も減少する。
一実施の形態では、本発明は、コンピュータに実装され、ストレージデバイスにファイルを配置するファイル配置方法として実現され、この方法は、ストレージデバイスのファイルの論理的関係を判定するステップと、判定された論理的関係に基づいて、論理的に関連するファイルを、ストレージデバイスに物理的に互いに近接するように配置することによって、ファイルをストレージデバイスに再配置するステップとを有し、再配置は、ストレージデバイスの実質的に全てのファイルについて実行される。
他の実施の形態では、コンピュータに実装され、コンピュータシステムにおけるストレージデバイスでファイルを配置するファイル配置方法は、オペレーティングシステムのタイプの判定を含み、ストレージデバイスを使用するコンピュータシステムのタイプの解析に基づいて、共通に用いられるファイルを判定するステップと、システムの動作を監視することによって、共通に用いられるファイル及びすべての関連するファイルを判定するステップと、共通に用いられるファイル及び関連するファイルの判定に基づいて、ストレージデバイスにファイルを保存する特定の物理的順序を決定するステップと、ストレージデバイスのシーケンシャルで連続する位置にファイルを配置することによって、判定された特定の順序に基づいて、ストレージデバイスのファイルを再配置するステップとを有する。
他の実施の形態では、コンピュータに実装され、コンピュータシステムのストレージデバイスのデータエントロピを削減するデータエントロピ削減方法は、ディレクトリ及びファイルを含む、ストレージデバイスのファイルシステムのファイルディレクトリインデクス構造を判定するステップと、ストレージデバイスの使用可能な空き領域を解析するステップと、所定のファイルを所定の位置に配置するステップと、ファイルディレクトリインデクス構造に基づいて、論理的に関連するファイルを、ストレージデバイスに物理的に互いに近接するように配置することによって、ストレージデバイスの残りのファイルを再配置するステップとを有し、ファイルは、関連するファイルの優先度付けされたグループ化にしたがって、ストレージデバイスに物理的に配置され、ファイルの優先度付けされたグループは、使用可能な優先度付けされた次の空き領域チャンクに連続的に配置され、ファイルのグループの全体が保存される前に次の空き領域チャンクが満たされた場合は、ファイルのグループを保存するために更なる空き領域チャンクが選択される。
ストレージデバイスにファイルを配置するファイル配置プログラムのコードを含むコンピュータが読取可能な媒体では、ファイル配置プログラムは、ストレージデバイスのファイルの論理的関係を判定するコードを実行するステップと、判定された論理的関係に基づいて、論理的に関連するファイルを、ストレージデバイスで物理的に互いに近接するように配置することによって、ファイルをストレージデバイスに再配置するコードを実行するステップとを有し、ファイルを再配置するステップは、ストレージデバイスの実質的に全てのファイルについて実行される。
コンピュータシステムのストレージデバイスのファイルを配置するファイル配置プログラムのコードを含む他のコンピュータが読取可能な媒体では、ファイル配置プログラムは、オペレーティングシステムのタイプの判定を含み、ストレージデバイスを使用するコンピュータシステムのタイプの解析に基づいて、共通に用いられるファイルを判定するコードを実行するステップと、システムの動作を監視することによって、共通に用いられるファイル及びすべての関連するファイルを判定するコードを実行するステップと、共通に用いられるファイル及び関連するファイルの判定に基づいて、ストレージデバイスにファイルを保存する特定の物理的順序を決定するコードを実行するステップと、ストレージデバイスのシーケンシャルで連続する位置にファイルを配置することによって、判定された特定の順序に基づいて、ストレージデバイスのファイルを再配置するコードを実行するステップとを有する。
一実施の形態においては、コンピュータシステムにおけるストレージデバイスのデータエントロピを削減するデータエントロピ削減プログラムのコードを含むコンピュータが読取可能な媒体では、データエントロピ削減プログラムは、ディレクトリ及びファイルを含み、ストレージデバイスのファイルシステムのファイルディレクトリインデクス構造を判定するコードを実行するステップと、ストレージデバイスの使用可能な空き領域を解析するコードを実行するステップと、所定のファイルを所定の位置に配置するコードを実行するステップと、所定のファイルを所定の位置に配置するコードを実行するステップと、ファイルディレクトリインデクス構造に基づいて、論理的に関連するファイルを、ストレージデバイスで物理的に互いに近接するように配置することによって、ストレージデバイスの残りのファイルを再配置するコードを実行するステップとを有し、ファイルは、関連するファイルの優先度付けされたグループ化にしたがって、ストレージデバイスで物理的に配置され、ファイルの優先度付けされたグループは、使用可能な優先度付けされた次の空き領域チャンクに連続的に配置され、ファイルのグループの全体が保存される前に次の空き領域チャンクが満たされた場合は、ファイルのグループを保存するために更なる空き領域チャンクが選択される。
本発明は、ストレージデバイスでファイルを配置するコンピュータシステムとして実現してもよく、コンピュータシステムは、コンピュータプログラムのコードを実行するためのプロセッサを備え、コンピュータプログラムは、ストレージデバイスのファイルの論理的関係を判定するコードを実行するステップと、判定された論理的関係に基づいて、論理的に関連するファイルを、ストレージデバイスに物理的に互いに近接するように配置することによってファイルをストレージデバイスで再配置するコードを実行するステップとを有し、ファイルを再配置するステップは、ストレージデバイスの実質的に全てのファイルについて実行される。
他の実施の形態では、コンピュータシステムのストレージデバイスでファイルを配置するコンピュータシステムは、コンピュータプログラムのコードを実行するためのプロセッサを備え、コンピュータプログラムは、オペレーティングシステムのタイプの判定を含み、ストレージデバイスを使用するコンピュータシステムのタイプの解析に基づいて、共通に用いられるファイルを判定するコードを実行するステップと、システムの動作を監視することによって、共通に用いられるファイル及びすべての関連するファイルを判定するコードを実行するステップと、共通に用いられるファイル及び関連するファイルの判定に基づいて、ストレージデバイスでファイルを保存する特定の物理的順序を決定するコードを実行するステップと、ストレージデバイスのシーケンシャルで連続する位置にファイルを配置することによって、判定された特定の順序に基づいて、ストレージデバイスのファイルを再配置するコードを実行するステップとを有する。
ストレージデバイスのデータエントロピを削減するコンピュータシステムは、コンピュータプログラムのコードを実行するためのプロセッサを備え、コンピュータプログラムは、ディレクトリ及びファイルを含み、ストレージデバイスのファイルシステムのファイルディレクトリインデクス構造を判定するコードを実行するステップと、ストレージデバイスの使用可能な空き領域を解析するコードを実行するステップと、所定のファイルを所定の位置に配置するコードを実行するステップと、ファイルディレクトリインデクス構造に基づいて、論理的に関連するファイルを、ストレージデバイスに物理的に互いに近接するように配置することによって、ストレージデバイスの残りのファイルを再配置するコードを実行するステップとを有し、ファイルは、関連するファイルの優先度付けされたグループ化に基づいて、ストレージデバイスで物理的に配置され、ファイルの優先度付けされたグループは、使用可能な優先度付けされた次の空き領域チャンクに連続的に配置され、ファイルのグループの全体が保存される前に次の空き領域チャンクが満たされた場合は、ファイルのグループを保存するために更なる空き領域チャンクが選択される。
一実施の形態においては、コンピュータに実装され、データの集合のデータエントロピを削減するデータエントロピ削減方法は、データの集合におけるデータエントロピのレベルを判定するステップと、データの集合内で、論理的関係を有するデータのサブグループを判定するステップと、判定された論理的関係に基づいて、データのサブグループを再配置し、データの集合のデータエントロピのレベルを削減するステップとを有する。
他の実施の形態では、コンピュータに実装され、ストレージデバイスにファイルを配置するファイル配置方法は、ストレージデバイスのファイルの論理的関係を判定するステップと、判定された論理的関係に基づいて、論理的に関連するファイルを、ストレージデバイスで物理的に互いに近接するように配置することによってファイルをストレージデバイスに再配置するステップとを有し、ファイルを再配置するステップは、ファイル使用についての事前の解析なしで実行される。
他の実施の形態では、ストレージデバイスにファイルを配置するファイル配置プログラムのコードを含むコンピュータが読取可能な媒体では、ファイル配置プログラムは、ストレージデバイスのファイルの論理的関係を判定するコードを実行するステップと、判定された論理的関係に基づいて、論理的に関連するファイルを、ストレージデバイスに物理的に互いに近接するように配置することによって、ファイルをストレージデバイスに再配置するコードを実行するステップとを有し、ファイルを再配置するステップは、ファイル使用についての事前の解析なしで実行される。
本発明は、添付の図面を参照する以下の詳細な説明によって容易に理解される。
本発明の一実施の形態を示すフローチャートである。 本発明の実施の形態に基づいて、ストレージデバイス上でデータ及びファイルを組織化する手順の実施の形態を示すフローチャートである。 ストレージデバイス上でファイルを順序付けるために本発明で使用する部分的なディレクトリ構造のサンプルリストである。 本発明の実施の形態による処理の前のストレージデバイスの相対的な断片化を示すサンプルスクリーンショットである。 本発明によって処理した後にファイルがどのように再配置されるかを示すサンプルスクリーンショットである。 ファイルがどのように再配置され、及びファイルがどこに由来するかを示すサンプルスクリーンショットである。 本発明の他の実施の形態のフローチャートである。 ストレージデバイスが単一の断片化したファイルを通常どのように読み出すかを示す図である。 ファイル非断片化が実行された後に、ストレージデバイスが単一の連続域ファイルを通常どのように読み出すかを示す図である。 ストレージデバイスが、ファイル断片化はないが、データエントロピがある複数のデータファイルを通常どのように読み出すかを示す図である。 ストレージデバイスが、データエントロピもファイル断片化もない複数の関連するファイルをどのように読み出すかを示す図である。 本発明の実施の形態に基づき、ファイルをストレージデバイス上で組織化し及び優先度付けされたグループ内で順序付けすることによって、データエントロピを最小化し、及びファイル及び空き領域の断片化を防ぐ手法を示す図である。 本発明の実施の形態に基づき、優先度付けされたグループ内の既存の論理的なインデクスに基づいて、データ及びファイルを組織化及び順位付けする手法を示す図である。 本発明の実施の形態に基づき、図13に示す優先度付けされたグループ内で、既存の論理的なインデクスに基づいて、ストレージデバイス上でデータ及びファイルを物理的に組織化及び順序付けする手法を示す図である。
以下の説明によって、如何なる当業者も本発明を製造及び実施でき、以下の説明は、本発明を実施するための本発明者が想到する最良の形態を述べるものである。但し、当業者は、様々な変更を容易に想到できる。このような変更、均等物及び代替の全ては、本発明の思想及び範囲内に含まれる。
本発明は、包括的に言えば、関連する複数の不連続データエンティティ(ハードディスクドライブ上のファイル等)を、物理的に近接し、予測可能な又は順序付けられたシーケンスで組織化することによって、記憶/読出装置が要求のシーケンスを処理する際に各データエンティティの位置を特定するために費やされる時間及び(機械的、演算的及びその他の)負担を削減する。ここで使用する「ファイル」という用語は、あらゆる離散的なデータのエンティティを指し、特定のファイルシステム又はファイルシステム構造の一部であってもよく、そうでなくてもよい。以前のシステムとは異なり、本発明は、実質的に全てのファイルシステムのファイルに適用できる。また、本発明は、ストレージデバイス上のファイルの実際の統計的な使用情報の事前の知識又は解析を必要とすることなく、ファイルのサブセットにも適用できる。
この概念は、データ又はファイルが保存及び/又は処理されるストレージデバイス、ファイルシステム、オペレーティングシステム又は他の関連要素に関する既存の知識又は経験的に導出された情報を用いて、複数のデータ又はファイルを物理的にグループ化及び順序付けする予測可能で改善された方法を判定及び適用することによって、システム性能を向上させる。
例えば、ハードディスクドライブ上に常駐するファイルの場合、ファイル自体に潜在的に含まれている情報のみではなく、例えば、ファイルディレクトリインデクスの順序、オペレーティングシステムの微妙な差異(nuances)、ファイルシステムの特徴等の他の論理的な情報から推定可能な情報も利用して、効率的なファイルグループ化及び順序付けシステムを導出及び適用し、ディスク上で物理的なグループを関連付ける際に、ファイルが論理的に予測可能なグループに属するようにし、そして、これらのグループ及びファイルが全体的なシステム性能を向上させるようグループ及びファイルを構成することが目的である。更に、総合的なデータエントロピを減少させることによって、総合的なファイルアクセス時間が短縮され、生来的にファイル及び空き領域の両方の再断片化の速度を最小化する物理的に組織化された構造が得られる。
組織化のための特定のグループ化技術及び方法は、システム動作の監視及び解析、並びに類似のファイルシステムと共に類似のストレージデバイスを使用する類似のコンピュータ又はオペレーティングシステムの既存の知識又は解析に基づいて経験的に導出される情報によって判定される。不連続データ又は不連続ファイルは、それらが関連付けられると判定される優先度が最高のグループに、一旦、保存される。例えば、マイクロソフトウィンドウズ7(Microsoft Windows 7:商標)オペレーティングシステムによって用いられるハードディスクドライブの場合、本発明の好ましい実施の形態では、以下のようなファイル分類を行う。
1.プリフェッチファイル(最高の優先度)
2.Win32/64システムファイル
3.プログラムデータ及びユーザデータ
4.プログラムファイル
5.ウィンドウズOSディレクトリツリー
6.ユーザファイルディレクトリツリー
7.全ての残りのファイル(最低の優先度)
グループメンバシップについての判定技術は、グループ及びストレージコンテキストによって異なるが、例えば、ファイルディレクトリ又はインデクス構造、オペレーティングシステムの機能の知識及びファイルシステム組織化構造等の情報を利用する。
好ましい実施の形態では、各グループ内で、メンバファイルは、ファイルシステムのファイルディレクトリ又はインデクス構造に基づいて、ストレージデバイス上で物理的に組織化される。例えば、入れ子構造又は初期のノードがルート又はトップレベルファイルディレクトリを表し、そこから連続的に多数のフォルダが分岐する階層木構造として、多くのファイルシステムディレクトリインデクスが組織化される。したがって、本発明の好ましい実施の形態では、ストレージデバイスのファイルディレクトリ構造を解析し、最初に何らかの所定の優先度のカテゴリに基づいてストレージデバイス上でファイルを物理的にグループ化し、続いて、ファイルが論理的にストレージデバイスのディレクトリ構造内のどこに位置するかに応じて、これらを組織化及び順序付けする。
本発明の一実施の形態では、優先度が最高のグループが最も速い位置に書き込まれる等、より速いアクセス及び処理速度を示すことが既知である物理的な位置にグループを移動させることによって1つ以上のファイルのグループをストレージデバイス上で優先度付けしてもよい。したがって、本発明の実施の形態では、ストレージデバイス上で実行されると、まず、優先度が最も高いファイルのグループを、これらの速度がより速い位置内の連続するユニットに移動させ、続いて、ストレージデバイス上の(優先度付けされたグループのメンバでない)残りのファイルを、ファイルシステムのディレクトリ構造内のそれらの論理的な順序に基づいて、連続するユニットに物理的に再組織化する。
ストレージデバイス内のデータエントロピを減少させるために、ファイルは、特定のシーケンス内で次に処理される可能性が高いファイルが現在処理中のファイルに近くなる(隣接していなくても、近傍にある)尤度が高くなるように物理的に保存され、この結果、連続的アクセスが可能な限り速やかで効率的になる。一実施の形態では、各グループ内で、ストレージデバイス上の各ディレクトリ内のファイルは、それらが最初に書き込まれた又は「インストールされた」日時順に組織化される。ファイルは、所与のシステムの特定の特徴に応じて異なる方式で順序付けしてもよい。包括的に言えば、一貫性がある順序は、順序がないよりも好ましい。この手法は、通常、より効率的で予測的な連続アクセス順序を生成し、これは、全体的なシステム性能を高速化するのにより効果的である。
本発明の新規なデータ組織化方法では、従来の手法と比べて、空き領域劣化問題を大幅に改善し、改善が失われる速度を低減し、より速い連続処理を実現し、この結果、(以下に限定されるものではないが)空き領域非断片化が実現される。更に、ファイルを階層的にグループ化し、自然に順序付けることでデータエントロピを減少させることによって、空き領域断片化及び新たなファイル断片化が生じにくい組織構造が生成され、この結果、向上された持続的なデータ連続性及び性能がより長い期間に亘って維持される。
これまでに周知の方法では、非断片化は、例えば、デバイスの「前部」に使用可能な空き領域を作成するために最初にストレージデバイスの「後部」にデータを移動させる等、空き領域の空間を作成するためにかなりの処理リソースを費やす必要があった。このようなシステムでは、各非断片化処理の一部として、ファイルを後部に移動させる必要がある。これとは対照的に、本発明では、空き領域を作成するための初期の処理は不要である。具体的には、本発明者らは、既にストレージデバイスに存在する既存の空き領域のユニット(「チャンク(chunks)」)を使用することが有利であり、連続する各動作は、生来的に、空き領域の統合を促進し、したがって、物理的に使用される領域も同様に統合されることを見出した。非断片化処理のこの簡素化によって、有効性を損なうことなく、再配置処理がより高速になる。
他の特徴に対するデータエントロピ改善の程度のバランスをとる代替の再配置アルゴリズムを容易に想到できる。例えば、特定のアプリケーションのためのアルゴリズムを決定する際、再配置処理によって消費される時間及び再配置処理を計画するために消費される時間も全て考慮する必要がある。主要な点は、データエントロピのレベルの評価が判定に含まれるということである。
再配置処理から生じる全体的なシステム性能の改善の程度は、システムの初期状態に依存する。再配置処理を繰り返すと、総合性能を漸進的に改善することができる。以下に説明するように、処理は、データエントロピのしきい値に基づいて繰り返してもよい。
周知の技術とは異なり、本発明では、ストレージデバイスの全体内の全てのデータに対するシステム動作の前に適用でき、この結果、最初に使用する前に最適化されたデータストレージ組織化を実現でき、これは、一定以上の使用の後に収集された経験的データに基づいて、頻繁に使用されるファイルのサブセットだけをキャッシング及び/又は最優先するシステムとは異なるものである。
また、他の技術とは異なり、本発明を用いることによって、関連するデータ、例えば他のファイルやディレクトリ等の既存の論理的で物理的な位置に基づいて、ファイル又は離散的なデータユニットを保存する最適な位置を(それがストレージデバイスに書き込まれる前に)事前に決定することができる。これがどう有利であるかを示す具体例として、プログラムが最初にコンピュータシステムにインストールされる際、プログラムが最初から可能な限り速やか且つ効率的に実行されるようにセットアップされることをソフトウェア製造業者が確実にしたい場合がある。他の具体例として、新たなデータが書き込まれてもストレージデバイスが最大性能を維持するように最適化された状態を保ち、この結果、後の最適化オペレーションの必要性を最小化することをファイル又はオペレーティングシステムの製造業者が望む場合がある。
本発明の好ましい実施の形態の動作を図1のハイレベルのフローチャートに示す。本発明は、プロセッサ上で実行されて、ここに説明する処理ステップを実行するように設計されたソフトウェアで実現される。ステップ1では、ストレージボリュームを解析して、ファイルシステムインデクス構造を判定する。次に、ステップ2において、ファイルシステムインデクス構造に基づいてディレクトリ内のディレクトリ及び関連するファイルを判定する。ステップ3において、ストレージデバイス上の使用可能な空き領域を解析する。オプションとして、何らかの特定のファイルを何らかの特定の位置にロードすることが有益である場合、プログラムは、ステップ4において、これらの特定のファイルを特定の位置に配置する。そして、ステップ5において、残りのファイルを、それらの論理的なファイルシステムインデクスのディレクトリ構造の順序に基づいて、ストレージデバイス上で再組織化し、一連の連続するユニットに書き込む(これによって、処理における空き領域及びファイル断片化も軽減又は回避される)。この結果、(同じ又は連続するディレクトリにあるという意味で)関連するファイルがストレージデバイス上に近接して保存され、更にこの結果、ストレージデバイスが非断片化される。最後に、プログラム又はプログラムオペレータは、データエントロピのレベルの上昇について自動又は手動でストレージデバイスを解析し、システム性能を維持するために上述したステップの全て又は一部を再実行する(ステップ6)。
また、本発明は、先にステップ6に関して説明したように、ファイルシステム及び性能を継続的に監視し、再組織化ルーチンを必要に応じて再実行して、データエントロピを最小化して、性能を維持するバックグランド処理として実行してもよい。
図2は、ストレージデバイス上でデータ及びファイルを移動し、順序付けする1つの手法を示すより詳細なフローチャートである。ステップ21において、ボリューム空き領域を解析し、使用可能な空き領域「チャンク」(連続の空き領域)を判定する。空き領域チャンクは、優先度がより高いファイルをより高速なチャンクに配置できるように、相対的なアクセス速度で順序付けられる。ステップ22において、オプションとして、マイクロソフトウィンドウズ(Microsoft Windows:商標)プリフェッチ(Prefetch)ファイル等の最上位の使用可能なグループをディスク上の特別に予約された領域に移動させる。そして、システムは、最も速い使用可能な空き領域チャンクを判定し(ステップ23)、残りの優先度が最高のグループを最も速い使用可能なチャンクに移動し始める(ステップ24)。ここで使用するグループ化法は、例えば、マイクロソフトウィンドウズ(Microsoft Windows:商標)オペレーティングシステムに関連して上に列記した7個のグループであってもよい。グループの全体が書き込まれる前にチャンクが一杯になった場合、次に速い使用可能な大きなチャンクを選択し(ステップ25)、残りのファイルをストレージデバイスに書き込む。保存すべきグループが残っている間(ステップ26)、この処理を繰り返す(ステップ29)。全てのグループが移動されると、ステップ27において、処理が完了する。上述のように、この処理のアプリケーションは、如何なるファイルも予め移動する必要がなく、このため、時間が経過するにつれて、空き領域統合が進むという利点がある。
処理は、オプションとして、断片化のレベル及び/又はデータエントロピレベルを監視して、ある所定のしきい値レベルを超えた場合、処理を再実行してもよい(ステップ28)。
図3は、アドビシステムズ社(Adobe Systems, Inc.)から市販されているアドビリーダ(Adobe Reader、登録商標)9.0プログラムを保存するストレージデバイスからの部分的なディレクトリ構造の一例を示している。このプログラムが新たな空のストレージデバイスにインストールされる場合、プログラムインストールの全体を構成する各ファイルは、ストレージ媒体上に物理的に共に、線形のシーケンスとして順次的に保存してもよい。一方、プログラムが通常の使用を経たストレージデバイス上にインストールされ、したがって、複数の既存のファイルが様々な物理的な位置に既に保存されている場合、インストールされる新たなファイルも、デバイス全体に亘って、物理的に様々な位置に保存される可能性が高い。
図4は、ストレージデバイス上の連続するフォルダ「C」及び連続するファイル「c」の相対的位置を示している。ここで、プログラムをメモリにロードし又は使用する際に、ファイルがプログラムインストールの一部として互いに関連し、連続して又は順次的に読み出され、処理される可能性が高い場合であっても、これらは、実際には、ドライブ全体に亘って物理的に断片化されており、これは、有意のレベルのデータエントロピを表している。ストレージデバイスが機械的なハードディスクドライブである場合、データを読み出すヘッドは、全ての関連するファイルを読み取るために何度も移動する必要があり、一方、ファイルが完全に又は部分的に予測可能な順序で物理的に組織化されていれば、同じ動作を実行する際、データを読み出すヘッドの移動は少なくて済む。
本発明を適用したソフトウェアプログラムを実行した後、(アドビリーダ(Adobe Reader)9.0プログラムのデータコンポーネントの全てが論理的に格納されている)「Adobe」ディレクトリのファイルは、図5に示すように、ストレージデバイス上の連続的な位置に組織化される。図6は、図4のファイルがどのように移動及び組織化されるかを示しており、ここで、「・」記号は、ストレージデバイス上のファイルの以前の物理的な位置を示している。
したがって、図4〜図6に示すように、本発明は、システム性能を向上させる幾つかの利益を提供する。第1に、本発明は、ストレージデバイス上で、データを、より効率的で予測可能に(より少ないデータエントロピで)物理的に組織化し、これにより、連続するシーケンスでアクセスされる可能性が高いファイルは、ストレージデバイス上で物理的に互いに近くに配置される。第2に、この物理的組織化が実行されると、移動される各データファイルは、効果的に非断片化され、更に、システム性能が向上する(データエントロピが更に下がる)。更に、ストレージデバイス上のデータの物理的組織化がその論理的構造により近付くために、更なる再組織化に必要な時間及び労力がより少なくなる。
他の実施の形態においては、ストレージデバイスのデータ構造内のより変更されやすい位置(volatile locations)、例えば、追加、変更及び削除による変更の速度が他の位置のものより高い位置に焦点を合わせることによって本発明を拡張することができる。これらの変更されやすい位置に焦点を合わせることによって、本発明を適用したプログラムは、これらの領域内に含まれているデータをより頻繁に再組織化でき、この結果、再組織化を実行する都度、効率的な構造に含まれる可能性が低いデータを処理する必要なく、デバイス内のデータを安定的且つ効率的に総合的に組織化することを確実にすることができる。
具体的には、データエントロピのレベル(例えば、ファイル断片化、空き領域断片化、最適な物理的ファイル位置の喪失)は、ストレージデバイスのある領域においてより急速に高まる傾向があることが見出された。これらの特定の位置は、データを保存するために使用されるファイルシステム、デバイスを使用するオペレーティングシステム、オペレーティングシステムを実行するために用いられるコンピュータ装置及び他のコンテキスト的要因によって異なる場合がある。但し、包括的に言えば特定の使用のコンテキストにおいて、データエントロピがより速い速度で上昇するストレージデバイス内の特定の位置がある。
本発明の他の実施の形態を図7のフローチャートに示す。コンピュータシステム及びその関連するデータストレージデバイスの動作を監視する周知の方法を使用することによって、最も共通にアクセスされるデータ(又はファイル)を特定できる。これらの共通にアクセスされるファイルストレージデバイス内の他の情報、例えば、その論理ファイル組織化、内部ファイルコンテンツ、ファイルデータタイプ等を解析することによって一組の関連するファイルを特定してもよい。また、関連するファイルは、生来的な依存関係、単一のファイルディレクトリ内での論理的なグループ化、他の1つ以上の経験的に導出された関連付け要因の何れかによって、共通にアクセスされるファイルの1つが処理されるときにアクセスされる可能性が高いファイルであってもよく、例えば、他のあるファイルがアクセスされると、このタイプのファイルを編集するように設計されたプログラムを起動し、編集のために開かれる可能性が高いファイル等であってもよい。
共通に用いられるファイル及び/又はそれらの関連するファイルの判定(ステップ71)に基づいて、ステップ72において、ストレージデバイス上にファイルを保存するための特定の順序を決定する。また、これらのファイルのためのより効率的な順序シーケンスを決定する方法は、ステップ71における判定のみではなく、ストレージデバイス上の全ての他のファイルについて、効率的及び/又は予測可能なストレージ位置を判定することも含む。ステップ73では、ストレージデバイスの使用可能な空き領域を解析する。ステップ74では、幾つかのアイテム、例えば、主要なオペレーティングシステム、アプリケーション又はデータファイルをある特定の物理的な位置に移動させ、組織化する。そして、ステップ72で判定された順序に基づいて、ステップ75において、不連続データエンティティを連続的に再配置することによって、効率化のために、ストレージデバイス上の残りの何らかのデータを再組織化してもよい。
上述したように、本発明の1つのアプリケーションは、ステップ76において、動的にシステムを監視し、ストレージデバイスのコンテンツが物理的に組織化された状態を自発的に維持するようにしてもよい。この処理では、ストレージデバイスの全体を監視してもよく、デバイスが使用されるにつれてデータエントロピのレベルが高まることが既知の又はそのように判定された位置のみを監視してもよい。
図8〜図14は、ディスク上でファイルを物理的にどのように操作するかをより詳細に示している。図8は、ストレージデバイスが、通常、単一の断片化したファイルをどのように読み出すかを示している。ここでは、単一のファイルが、9個の異なる物理的な位置において、9個の異なる断片として保存されている。このために、このファイルにアクセスするには、非常に時間がかかることは明らかである。図9は、ストレージデバイスが、通常、ファイル非断片化が実行された後に単一の連続域ファイルをどのように読み出すかを示している。この場合、ストレージデバイスは、最初から最後まで、如何なる機械的な位置変更を行うこともなく、簡単に単一ファイルを読み出すことができる。
図10は、ストレージデバイスが、通常、ファイル断片化はないが、データエントロピがある複数のデータファイルをどのようにして連続的に読み出すかを示している。換言すれば、各ファイルは、断片化されてはいないが、ストレージデバイス上の異なる物理的な位置に配置されている。この具体例では、関連するファイルがストレージデバイスに亘って離散しているという意味で、「データエントロピ」が単一のファイルの断片化と同様に、アクセス遅延を引き起こす。このようなストレージデバイスに本発明を適用すると、図11に示すように、関連するファイルが近接して配置され、非断片化される。ストレージデバイスは、ファイルを読み出すための機械的な位置変更を必要とすることなく、複数の関連するファイルを読み出すことができる。半導体メモリを用いたストレージデバイス(solid state storage devices)の場合、この技術では、単一のファイルを読み出すために必要な「演算的」負担を軽減する。この技術では、データエントロピ及びファイル断片化を排除又は低減することによって、全体的なシステム性能を大幅に改善する。
図12は、本発明の実施の形態に基づき、ファイルをストレージデバイス上で組織化し及び優先度付けされたグループ内で順序付けすることによって、データエントロピを最小化し、またファイル及び空き領域の断片化を防ぐ手法を更に詳細に示している。各優先度グループ内で、関連するファイルは、ストレージデバイス上の物理的に連続する位置に幾つかのセットとして保存される。例えば、各セットは、上述のように、関連するファイルのディレクトリに対応することができる。上述したように、優先度グループは、ストレージデバイス上で、アクセス速度の降順の位置に配置される。なお、ファイルシステム固有のメタデータを同様に保存してもよい。
詳細な具体例として、図13は、本発明の実施の形態に基づき、優先度付けされたグループ内の既存の論理的なインデクスに基づいて、データ及びファイルを組織化及び順位付けする手法を示している。各優先度グループ内で、ディレクトリは、ストレージデバイス上の配置のために配列される。あるディレクトリ内では、幾つかのファイルを優先度付けしなくてもよく(他のファイルは優先度付けしてもよい)、ファイルの論理的なインデクス順序に基づいて、最後に保存できる。
図14は、本発明の実施の形態に基づき、図13に示す優先度付けされたグループ内で、既存の論理的なインデクスに基づいて、ストレージデバイス上でデータ及びファイルを物理的に組織化及び順序付けする手法を示している。ここでは、図13からのファイルが、ストレージデバイス上で並べ替えられ、連続する位置に物理的に配置されている。この結果、優先度グループ内のファイルが連続する位置に配置され、ストレージデバイスが効果的に非断片化され、データエントロピが大幅に低減される。
当業者には明らかであるが、本発明の一部は、本明細書の開示に基づいてプログラミングされた従来の汎用又は専用のデジタルコンピュータ又はマイクロプロセッサを用いて好適に実現することができる。
ソフトウェア技術の技術者には明らかであるが、適切なソフトウェアコードは、本明細書の開示に基づいて、技能を有するプログラマが容易に準備できる。また、本発明は、本明細書に基づいて、特定用途向け集積回路を準備することによって、又は適切な従来の構成回路のネットワークを相互接続することによっても実現できることは、当業者にとって明らかである。
また、本発明は、コンピュータを制御し、本発明の処理の何れかを実行させるために用いることができる、命令が格納されたストレージ媒体(メディア)であるコンピュータプログラム製品を含む。ストレージ媒体は、以下に限定されるものではないが、フロッピーディスク、ミニディスク(mini disk:MD)、光ディスク、DVD、CD−ROM、CD又はDVD RW+/−、マイクロドライブ及びMOディスクを含むあらゆる種類のディスク、ROM、RAM、EPRON、EEPROM、DRAM、VRAM、フラッシュメモリデバイス(フラッシュカード及びメモリスティックを含む)磁気又は光カード、SIMカード、MEMS、ナノシステム(分子メモリICを含む)、RAIDデバイス、遠隔データ記憶装置/アーカイブ/ウェアハウジング、又は命令及び/又はデータの保存に適するあらゆる種類のメディア又はデバイスを含むことができる。
本発明は、コンピュータが読取可能な媒体(メディア)の何れかに保存され、汎用又は専用のコンピュータ又はマイクロプロセッサの両方のハードウェアを制御し、コンピュータ又はマイクロプロセッサが本発明の結果を使用する人間のユーザ又は他のメカニズムとインタラクトすることを可能にするソフトウェアを含む。このようなソフトウェアは、以下に限定されるものではないが、デバイスドライバ、オペレーティングシステム及びユーザアプリケーション含むことができる。また、このようなコンピュータ読取可能な媒体は、上述のように、本発明を実行するソフトウェアを更に含む。
汎用/専用コンピュータ又はマイクロプロセッサのプログラミング(ソフトウェア)に含まれるのは、本発明の開示内容及び本発明の処理に基づく結果の表示、保存又は通信を実現するソフトウェアモジュールである。
本発明の範囲及び精神から逸脱することなく、上述した好ましい実施の形態の様々な適応化及び変更を構成できることは、当業者にとって明らかである。したがって、添付の特許請求の範囲の範囲内で、ここに特別に説明した以外にも本発明を実施できることは明らかである。

Claims (84)

  1. コンピュータに実装にされ、ストレージデバイスのファイルを配置するファイル配置方法において、
    上記ストレージデバイスのファイルの論理的関係を判定するステップと、
    上記判定された論理的関係に基づいて、論理的に関連するファイルを、上記ストレージデバイスに物理的に互いに近接するように配置することによって該ストレージ装置のファイルを再配置するステップとを有し、
    上記ファイルを再配置するステップは、上記ストレージデバイスの実質的に全てのファイルについて実行されることを特徴とするファイル配置方法。
  2. 上記再配置の結果、上記ストレージデバイスのファイルのデータエントロピが削減される請求項1記載のファイル配置方法。
  3. 上記論理的関係を判定するステップは、コンピュータシステムにおけるファイルシステムのファイルディレクトリインデクス構造を判定するステップを含む請求項1記載のファイル配置方法。
  4. 上記ファイルの再配置の前にストレージデバイスの使用可能な空き領域を解析するステップを更に有する請求項1記載のファイル配置方法。
  5. 所定のファイルを所定の位置に配置した後、残りのファイルを再配置するステップを更に有する請求項4記載のファイル配置方法。
  6. 各フォルダからのファイルは、上記ストレージデバイスに論理的順序で連続的に保存される請求項5記載のファイル配置方法。
  7. 上記ファイルは、関連するファイルの優先度付けされたグループ化に基づいて、上記ストレージデバイスに物理的に配置される請求項4記載のファイル配置方法。
  8. 上記ファイルの優先度付けされたグループは、使用可能な優先度付けされた次の空き領域チャンクに連続的に配置され、該ファイルのグループの全体が保存される前に次の空き領域チャンクが満たされた場合には、該ファイルのグループを保存するために更なる空き領域チャンクが選択される請求項7記載のファイル配置方法。
  9. 上記使用可能な空き領域を解析し、ファイルを再配置するステップは、システムの動作の間に動的に実行される請求項4記載のファイル配置方法。
  10. データエントロピのレートがしきい値より高いストレージデバイスの位置を特定するステップと、
    上記データエントロピのレートがしきい値より高い位置を監視するステップと、
    使用可能な空き領域を解析し、上記特定された位置のファイルを再配置するステップを自動的に実行するステップとを更に有する請求項4記載のファイル配置方法。
  11. 上記ストレージデバイスにアクセスするコンピュータシステムのタイプに基づいて、共通に用いられるファイルの第1のサブセットを特定するステップと、
    システムの動作を監視し、該システムの動作の間に共通に用いられるデータ又はファイルの第2のサブセットを特定するステップと、
    上記ファイルの第1及び第2のサブセット並びにすべての関連するファイルを、ストレージデバイスの物理的に連続するグループに保存することによって、上記特定された共通に用いられるファイルの第1及び第2のサブセット及びすべての関連するファイルを再配置するステップとを更に有する請求項1記載のファイル配置方法。
  12. 上記ストレージデバイスは、ハードディスクドライブであり、上記ファイルは、同じフォルダからファイルにアクセスする際にヘッドの移動を減少させるようにディスクドライブに配置される請求項3記載のファイル配置方法。
  13. 上記ファイルを再配置するステップは、上記ストレージデバイスのファイル断片化を含む総合的なデータエントロピを最小化する請求項3記載のファイル配置方法。
  14. 上記ファイルを再配置するステップは、空き領域断片化を最小化する請求項13記載のファイル配置方法。
  15. コンピュータシステムに実装される、ストレージデバイスのファイルを配置するファイル配置方法において、
    オペレーティングシステムのタイプの判定を含み、上記ストレージデバイスを使用するコンピュータシステムのタイプの解析に基づいて、共通に用いられるファイルを判定するステップと、
    システムの動作を監視することによって、共通に用いられるファイル及びすべての関連するファイルを判定するステップと、
    上記共通に用いられるファイル及び関連するファイルの判定に基づいて、上記ストレージデバイスのファイルを保存する特定の物理的順序を決定するステップと、
    上記ストレージデバイスのシーケンシャルで連続する位置に上記ファイルを配置することによって、上記判定された特定の順序にしたがって、該ストレージデバイスにファイルを再配置するステップとを有するファイル配置方法。
  16. 上記ファイルを再配置する前に、上記ストレージデバイス上で使用可能な空き領域を解析するステップを更に有する請求項15記載のファイル配置方法。
  17. 所定のファイルを再配置し、所定の位置に配置した後に、残りのファイルを再配置するステップを更に有する請求項16記載のファイル配置方法。
  18. 上記ファイルは、関連するファイルの優先度付けされたグループ化に基づいて、ストレージデバイスに物理的に配置され、
    上記ファイルの優先度付けされたグループは、使用可能な優先度付けされた次の空き領域チャンクに連続的に配置され、上記ファイルのグループの全体が格納される前に次の空き領域チャンクが満たされた場合には、上記ファイルのグループを保存するために更なる空き領域チャンクが選択される請求項16記載のファイル配置方法。
  19. 上記使用可能な空き領域を解析し、ファイルを再配置するステップは、システムの動作の間に動的に実行される請求項16記載のファイル配置方法。
  20. データエントロピのレートがしきい値より高いストレージデバイスの位置を特定するステップと、
    上記データエントロピのレートがしきい値より高い位置を監視するステップと、
    使用可能な空き領域を解析し、上記特定された位置のファイルを再配置するステップを自動的に実行するステップとを更に有する請求項16記載のファイル配置方法。
  21. 上記ストレージデバイスは、ハードディスクドライブであり、上記ファイルは、関連するファイルにアクセスする際にヘッドの移動を減少させるようにディスクドライブ上に配置される請求項15記載のファイル配置方法。
  22. 上記ファイルを再配置するステップは、上記ストレージデバイス上のファイル断片化を含む総合的なデータエントロピを最小化する請求項15記載のファイル配置方法。
  23. 上記ファイルを再配置するステップは、空き領域断片化を最小化する請求項22記載のファイル配置方法。
  24. コンピュータに実装され、コンピュータシステムのストレージデバイスのデータエントロピを削減するデータエントロピ削減方法において、
    ディレクトリ及びファイルを含む、ストレージデバイスのファイルシステムのファイルディレクトリインデクス構造を判定するステップと、
    上記ストレージデバイスの使用可能な空き領域を解析するステップと、
    所定のファイルを所定の位置に配置するステップと、
    上記ファイルディレクトリインデクス構造に基づいて、論理的に関連するファイルを、上記ストレージデバイスに物理的に互いに近接するように配置することによって、該ストレージデバイスの残りのファイルを再配置するステップとを有し、
    上記ファイルは、関連するファイルの優先度付けされたグループ化にしたがって、上記ストレージデバイスに物理的に配置され、上記ファイルの優先度付けされたグループは、使用可能な優先度付けされた次の空き領域チャンクに連続的に配置され、上記ファイルのグループの全体が格納される前に次の空き領域チャンクが満たされた場合は、上記ファイルのグループを保存するために更なる空き領域チャンクが選択されるデータエントロピ削減方法。
  25. ストレージデバイスにファイルを配置するファイル配置プログラムのコードを含むコンピュータが読取可能な媒体において、
    上記ファイル配置プログラムは、
    上記ストレージデバイスのファイルの論理的関係を判定するコードを実行するステップと、
    上記判定された論理的関係に基づいて、論理的に関連するファイルを、上記ストレージデバイスに物理的に互いに近接するように配置することによって、該ストレージデバイスのファイルを再配置するコードを実行するステップとを有し、
    上記ファイルを再配置するステップは、上記ストレージデバイスの実質的に全てのファイルについて実行されるファイル配置プログラムが記録された媒体。
  26. 上記論理的関係を判定するコードを実行するステップは、コンピュータシステムにおけるファイルシステムのファイルディレクトリインデクス構造を判定するコードを実行するステップを含む請求項25記載の媒体。
  27. 上記ストレージデバイス上使用可能な空き領域を解析するコードを実行するステップを更に有する請求項25記載の媒体。
  28. 所定のファイルを所定の位置に配置した後、残りのファイルを再配置するコードを実行するステップを更に有する請求項27記載の媒体。
  29. 各フォルダからのファイルを上記ストレージデバイスで論理的順序で連続的に保存するコードを実行するステップを更に有する請求項28記載の媒体。
  30. 上記ファイルを、関連するファイルの優先度付けされたグループ化に基づいて、上記ストレージデバイスに物理的に配置するコードを実行するステップを更に有する請求項27記載の媒体。
  31. 上記ファイルの優先度付けされたグループを、使用可能な優先度付けされた次の空き領域チャンクに連続的に配置し、上記ファイルのグループの全体が格納される前に次の空き領域チャンクが満たされた場合には、上記ファイルのグループを保存するために更なる空き領域チャンクを選択するコードを実行するステップを更に有する請求項30記載の媒体。
  32. 上記使用可能な空き領域を解析し、ファイルを再配置するコードは、システムの動作の間に動的に実行される請求項29記載の媒体。
  33. データエントロピのレートがしきい値より高い上記ストレージデバイスの位置を特定するコードを実行するステップと、
    上記データエントロピのレートがしきい値より高い位置を監視するコードを実行するステップと、
    使用可能な空き領域を解析し、上記特定された位置のファイルを再配置するステップを自動的に実行するコードを実行するステップとを更に有する請求項27記載の媒体。
  34. 上記ストレージデバイスにアクセスするコンピュータシステムのタイプに基づいて、共通に用いられるファイルの第1のサブセットを特定するコードを実行するステップと、
    システムの動作を監視し、該システムの動作の間に共通に用いられるデータ又はファイルの第2のサブセットを特定するコードを実行するステップと、
    上記ファイルの第1及び第2のサブセット並びにすべての関連するファイルを、ストレージデバイスの物理的に連続するグループに保存することによって、上記特定された共通に用いられるファイルの第1及び第2のサブセット並びにすべての関連するファイルを再配置するコードを実行するステップとを更に有する請求項25記載の媒体。
  35. コンピュータシステムのストレージデバイスのファイルを配置するファイル配置プログラムのコードを含むコンピュータが読取可能な媒体において、
    オペレーティングシステムのタイプの判定を含み、上記ストレージデバイスを使用するコンピュータシステムのタイプの解析に基づいて、共通に用いられるファイルを判定するコードを実行するステップと、
    システムの動作を監視することによって、共通に用いられるファイル及びすべての関連するファイルを判定するコードを実行するステップと、
    上記共通に用いられるファイル及び関連するファイルの判定に基づいて、上記ストレージデバイスのファイルを保存する特定の物理的順序を決定するコードを実行するステップと、
    上記ストレージデバイスのシーケンシャルで連続する位置に上記ファイルを配置することによって、上記判定された特定の順序にしたがって、該ストレージデバイスのファイルを再配置するコードを実行するステップとを有するファイル配置プログラムを記録した媒体。
  36. 上記ファイルを再配置する前に、上記ストレージデバイスの使用可能な空き領域を解析するコードを実行するステップを更に有する請求項35記載の媒体。
  37. 所定のファイルを再配置し所定の位置に配置した後に、残りのファイルを再配置するコードを実行するステップを更に有する請求項36記載の媒体。
  38. 関連するファイルの優先度付けされたグループ化にしたがって、ストレージデバイスに物理的にファイルを配置するコードを実行するステップを更に有し、上記ファイルの優先度付けされたグループは、使用可能な優先度付けされた次の空き領域チャンクに連続的に配置され、上記ファイルのグループの全体が格納される前に次の空き領域チャンクが満たされた場合には、上記ファイルのグループを保存するために更なる空き領域チャンクが選択される請求項36記載の媒体。
  39. 上記使用可能な空き領域を解析し、ファイルを再配置するコードは、システムの動作の間に動的に実行される請求項36記載の媒体。
  40. データエントロピのレートがしきい値より高いストレージデバイス上の位置を特定するコードを実行するステップと、
    上記データエントロピのレートがしきい値より高い位置を監視するコードを実行するステップと、
    使用可能な空き領域を解析し、上記特定された位置のファイルを再配置するステップを自動的に実行するコードを実行するステップとを更に有する請求項36記載の媒体。
  41. コンピュータシステムのストレージデバイスのデータエントロピを削減するデータエントロピ削減プログラムのコードを含むコンピュータが読取可能な媒体において、
    上記データエントロピ削減プログラムは、
    ディレクトリ及びファイルを含む、ストレージデバイスのファイルシステムのファイルディレクトリインデクス構造を判定するコードを実行するステップと、
    上記ストレージデバイスの使用可能な空き領域を解析するコードを実行するステップと、
    所定のファイルを所定の位置に配置するコードを実行するステップと、
    上記ファイルディレクトリインデクス構造に基づいて、論理的に関連するファイルを、上記ストレージデバイスで物理的に互いに近接するように配置することによって、上記ストレージデバイスの残りのファイルを再配置するコードを実行するステップとを有し、
    上記ファイルは、関連するファイルの優先度付けされたグループ化にしたがって、ストレージデバイスに物理的に配置され、該ファイルの優先度付けされたグループは、使用可能な優先度付けされた次の空き領域チャンクに連続的に配置され、上記ファイルのグループの全体が格納される前に次の空き領域チャンクが満たされた場合には、上記ファイルのグループを保存するために更なる空き領域チャンクが選択されるデータエントロピ削減プログラムを記録した媒体。
  42. ストレージデバイスでファイルを配置するコンピュータシステムにおいて、
    コンピュータプログラムのコードを実行するプロセッサを備え、
    上記コンピュータプログラムは、
    上記ストレージデバイスのファイルの論理的関係を判定するコードを実行するステップと、
    上記判定された論理的関係に基づいて、論理的に関連するファイルを、上記ストレージデバイスに物理的に互いに近接するように配置することによって上記ファイルを上記ストレージデバイスで再配置するコードを実行するステップとを有し、
    上記ファイルを再配置するコードを実行するステップは、上記ストレージデバイスの実質的に全てのファイルについて実行されることを特徴とするコンピュータシステム。
  43. 上記論理的関係を判定するコードを実行するステップは、コンピュータシステムのファイルシステムのファイルディレクトリインデクス構造を判定するコードを実行するステップを含む請求項42記載のコンピュータシステム。
  44. 上記ストレージデバイスの使用可能な空き領域を解析するコードを実行するステップを更に有する請求項42記載のコンピュータシステム。
  45. 所定のファイルを所定の位置に配置した後、残りのファイルを再配置するコードを実行するステップを更に有する請求項44記載のコンピュータシステム。
  46. 各フォルダからのファイルを上記ストレージデバイスに論理的順序で連続的に保存するコードを実行するステップを更に有する請求項45記載のコンピュータシステム。
  47. 上記ファイルを、関連するファイルの優先度付けされたグループ化に基づいて、上記ストレージデバイスで物理的に配置するコードを実行するステップを更に有する請求項44記載のコンピュータシステム。
  48. 上記ファイルの優先度付けされたグループを、使用可能な優先度付けされた次の空き領域チャンクに連続的に配置し、上記ファイルのグループの全体が格納される前に次の空き領域チャンクが満たされた場合は、上記ファイルのグループを保存するために更なる空き領域チャンクを選択するコードを実行するステップを更に有する請求項47記載のコンピュータシステム。
  49. 上記使用可能な空き領域を解析し、ファイルを再配置するコードは、システムの動作の間に動的に実行される請求項46記載のコンピュータシステム。
  50. データエントロピのレートがしきい値より高いストレージデバイス上の位置を特定するコードを実行するステップと、
    上記データエントロピのレートがしきい値より高い位置を監視するコードを実行するステップと、
    使用可能な空き領域を解析し、上記特定された位置のファイルを再配置するステップを自動的に実行するコードを実行するステップとを更に有する請求項44記載のコンピュータシステム。
  51. 上記ストレージデバイスにアクセスするコンピュータシステムのタイプに基づいて、共通に用いられるファイルの第1のサブセットを特定するコードを実行するステップと、
    システムの動作を監視し、該システムの動作の間に共通に用いられるデータ又はファイルの第2のサブセットを特定するコードを実行するステップと、
    上記ファイルの第1及び第2のサブセット及びすべての関連するファイルを、ストレージデバイスの物理的に連続するグループに保存することによって、上記特定された共通に用いられるファイルの第1及び第2のサブセット及びすべての関連ファイルを再配置するコードを実行するステップとを更に有する請求項42記載のコンピュータシステム。
  52. ストレージデバイスのファイルを配置するコンピュータシステムにおいて、
    コンピュータプログラムのコードを実行するためのプロセッサを備え、上記コンピュータプログラムは、
    オペレーティングシステムのタイプの判定を含み、上記ストレージデバイスを使用するコンピュータシステムのタイプの解析に基づいて、共通に用いられるファイルを判定するコードを実行するステップと、
    システムの動作を監視することによって、共通に用いられるファイル及びすべての関連するファイルを判定するコードを実行するステップと、
    上記共通に用いられるファイル及び関連するファイルの判定に基づいて、上記ストレージデバイス上にファイルを保存する特定の物理的順序を決定するコードを実行するステップと、
    上記ストレージデバイスのシーケンシャルで連続する位置に上記ファイルを配置することによって、上記判定された特定の順序にしたがって、該ストレージデバイスのファイルを再配置するコードを実行するステップとを有するコンピュータシステム。
  53. 上記ファイルを再配置する前に、上記ストレージデバイス上で使用可能な空き領域を解析するコードを実行するステップを更に有する請求項52記載のコンピュータシステム。
  54. 所定のファイルを再配置し所定の位置に配置した後に、残りのファイルを再配置するコードを実行するステップを更に有する請求項53記載のコンピュータシステム。
  55. 関連するファイルの優先度付けされたグループ化に基づいて、ストレージデバイスで物理的にファイルを配置するコードを実行するステップを更に有し、上記ファイルの優先度付けされたグループは、使用可能な優先度付けされた次の空き領域チャンクに連続的に配置され、上記ファイルのグループの全体が格納される前に次の空き領域チャンクが満たされた場合には、上記ファイルのグループを保存するために更なる空き領域チャンクが選択される請求項53記載のコンピュータシステム。
  56. 上記使用可能な空き領域を解析し、ファイルを再配置するコードは、システムの動作の間に動的に実行される請求項53記載のコンピュータシステム。
  57. データエントロピのレートがしきい値より高いストレージデバイス上の位置を特定するコードを実行するステップと、
    上記データエントロピのレートがしきい値より高い位置を監視するコードを実行するステップと、
    使用可能な空き領域を解析し、上記特定された位置のファイルを再配置するステップを自動的に実行するコードとを更に有する請求項53記載のコンピュータシステム。
  58. ストレージデバイスのデータエントロピを削減するコンピュータシステムにおいて、
    コンピュータプログラムのコードを実行するためのプロセッサを備え、該コンピュータプログラムは、
    ディレクトリ及びファイルを含む、ストレージデバイスのファイルシステムのファイルディレクトリインデクス構造を判定するコードを実行するステップと、
    上記ストレージデバイスの使用可能な空き領域を解析するコードを実行するステップと、
    所定のファイルを所定の位置に配置するコードを実行するステップと、
    上記ファイルディレクトリインデクス構造に基づいて、論理的に関連するファイルを、上記ストレージデバイスで物理的に互いに近接するように配置することによって、該ストレージデバイスの残りのファイルを再配置するコードを実行するステップとを有し、
    上記ファイルは、関連ファイルの優先度付けされたグループ化にしたがって、ストレージデバイスで物理的に配置され、該ファイルの優先度付けされたグループは、使用可能な優先度付けされた次の空き領域チャンクに連続的に配置され、上記ファイルのグループの全体が格納される前に次の空き領域チャンクが満たされた場合には、上記ファイルのグループを保存するために更なる空き領域チャンクが選択されることを特徴とするコンピュータシステム。
  59. コンピュータに実装され、データの集合のデータエントロピを削減するデータエントロピ削減方法において、
    上記データの集合におけるデータエントロピのレベルを判定するステップと、
    上記データの集合内で、論理的関係を有するデータのサブグループを判定するステップと、
    上記判定された論理的関係に基づいて、データのサブグループを再配置し、上記データの集合のデータエントロピのレベルを削減するステップとを有するデータエントロピ削減方法。
  60. 上記再配置のステップは、上記データのサブグループを連続するシーケンスに順序付け、論理的に関連するデータを互いに隣り合うように配置して、該データの間の空き領域を減少させるステップを含む請求項59記載のデータエントロピ削減方法。
  61. コンピュータに実装され、ストレージデバイスにファイルを配置するファイル配置方法において、
    上記ストレージデバイスのファイルの論理的関係を判定するステップと、
    上記判定された論理的関係に基づいて、論理的に関連するファイルを、上記ストレージデバイスに物理的に互いに近接するように配置することによってファイルを該ストレージデバイスで再配置するステップとを有し、
    上記ファイルを再配置するステップは、ファイル使用についての事前の解析なしで実行されるファイル配置方法。
  62. 上記再配置の結果、上記ストレージデバイスのファイルのデータエントロピが減少する請求項61記載のファイル配置方法。
  63. 上記論理的関係を判定するステップは、コンピュータシステムにおけるファイルシステムのファイルディレクトリインデクス構造を判定するステップを含む請求項61記載のファイル配置方法。
  64. 上記ファイルの再配置の前にストレージデバイスの使用可能な空き領域を解析するステップを更に有する請求項61記載のファイル配置方法。
  65. 所定のファイルを所定の位置に配置した後、残りのファイルを再配置するステップを更に有する請求項64記載のファイル配置方法。
  66. 各フォルダからのファイルは、上記ストレージデバイスに論理的順序で連続的に保存される請求項65記載のファイル配置方法。
  67. 上記ファイルは、関連するファイルの優先度付けされたグループ化にしたがって、上記ストレージデバイスに物理的に配置される請求項64記載のファイル配置方法。
  68. 上記ファイルの優先度付けされたグループは、使用可能な優先度付けされた次の空き領域チャンクに連続的に配置され、上記ファイルのグループの全体が格納される前に次の空き領域チャンクが満たされた場合には、上記ファイルのグループを保存するために更なる空き領域チャンクが選択される請求項67記載のファイル配置方法。
  69. 上記使用可能な空き領域を解析し、ファイルを再配置するステップは、システムの動作の間に動的に実行される請求項64記載のファイル配置方法。
  70. データエントロピのレートがしきい値より高いストレージデバイスの位置を特定するステップと、
    上記データエントロピのレートがしきい値より高い位置を監視するステップと、
    使用可能な空き領域を解析し、上記特定された位置のファイルを再配置するステップを自動的に実行するステップとを更に有する請求項64記載のファイル配置方法。
  71. 上記ストレージデバイスにアクセスするコンピュータシステムのタイプに基づいて、共通に用いられるファイルの第1のサブセットを特定するステップと、
    システムの動作を監視し、該システムの動作の間に共通に用いられるデータ又はファイルの第2のサブセットを特定するステップと、
    上記ファイルの第1及び第2のサブセット及びすべての関連するファイルを、ストレージデバイス上の物理的に連続するグループに保存することによって、上記特定された共通に用いられるファイルの第1及び第2のサブセット及びすべての関連ファイルを再配置するステップとを更に有する請求項61記載のファイル配置方法。
  72. 上記ストレージデバイスは、ハードディスクドライブであり、上記ファイルは、同じフォルダからファイルにアクセスする際にヘッドの移動を減少させるようにディスクドライブ上に配置される請求項63記載のファイル配置方法。
  73. 上記ファイルを再配置するステップは、上記ストレージデバイス上のファイル断片化を含む総合的なデータエントロピを最小化する請求項63記載のファイル配置方法。
  74. 上記ファイルを再配置するステップは、空き領域断片化を最小化する請求項73記載のファイル配置方法。
  75. ストレージデバイスのファイルを配置するファイル配置プログラムのコードを含むコンピュータが読取可能な媒体において、
    上記ファイル配置プログラムは、
    上記ストレージデバイスのファイルの論理的関係を判定するコードを実行するステップと、
    上記判定された論理的関係に基づいて、論理的に関連するファイルを、該ストレージデバイスで物理的に互いに近接するように配置することによってファイルを上記ストレージデバイス再配置するコードを実行するステップとを有し、
    上記ファイルを再配置するステップは、ファイル使用についての事前の解析なしで実行されるファイル配置プログラムが記録された媒体。
  76. 上記論理的関係を判定するコードを実行するステップは、コンピュータシステムにおけるファイルシステムのファイルディレクトリインデクス構造を判定するコードを実行するステップを含む請求項75記載の媒体。
  77. 上記ファイルの再配置の前にストレージデバイスの使用可能な空き領域を解析するコードを実行するステップを更に有する請求項75記載の媒体。
  78. 所定のファイルを所定の位置に配置した後、残りのファイルを再配置するコードを実行するステップを更に有する請求項77記載の媒体。
  79. 各フォルダからのファイルを上記ストレージデバイスに論理的順序で連続的に保存するコードを実行するステップを更に有する請求項78記載の媒体。
  80. 上記ファイルを、関連するファイルの優先度付けされたグループ化にしたがって、上記ストレージデバイスで物理的に配置するコードを実行するステップを更に有する請求項77記載の媒体。
  81. 上記ファイルの優先度付けされたグループを、使用可能な優先度付けされた次の空き領域チャンクに連続的に配置し、上記ファイルのグループの全体が格納される前に次の空き領域チャンクが満たされた場合には、上記ファイルのグループを保存するために更なる空き領域チャンクを選択するコードを実行するステップを更に有する請求項80記載の媒体。
  82. 上記使用可能な空き領域を解析し、ファイルを再配置するコードは、システムの動作の間に動的に実行される請求項79記載の媒体。
  83. データエントロピのレートがしきい値より高いストレージデバイス上の位置を特定するコードを実行するステップと、
    上記データエントロピのレートがしきい値より高い位置を監視するコードを実行するステップと、
    使用可能な空き領域を解析し、上記特定された位置のファイルを再配置するステップを自動的に実行するコードを実行するステップとを更に有する請求項77記載の媒体。
  84. 上記ストレージデバイスにアクセスするコンピュータシステムのタイプに基づいて、共通に用いられるファイルの第1のサブセットを特定するコードを実行するステップと、
    システムの動作を監視し、該システムの動作の間に共通に用いられるデータ又はファイルの第2のサブセットを特定するコードを実行するステップと、
    上記ファイルの第1及び第2のサブセット及びすべての関連するファイルを、ストレージデバイスの物理的に連続するグループに保存することによって、上記特定された共通に用いられるファイルの第1及び第2のサブセット及びすべての関連するファイルを再配置するコードを実行するステップとを更に有する請求項75記載の媒体。
JP2013524835A 2010-08-17 2011-08-02 効率的なデータストレージのためのファイル配置方法及びコンピュータシステム Withdrawn JP2014500531A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/806,617 US9043373B2 (en) 2010-08-17 2010-08-17 System and method for efficient data storage
US12/806,617 2010-08-17
PCT/US2011/001358 WO2012023967A2 (en) 2010-08-17 2011-08-02 System and method for efficient data storage

Publications (1)

Publication Number Publication Date
JP2014500531A true JP2014500531A (ja) 2014-01-09

Family

ID=45594905

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013524835A Withdrawn JP2014500531A (ja) 2010-08-17 2011-08-02 効率的なデータストレージのためのファイル配置方法及びコンピュータシステム

Country Status (4)

Country Link
US (2) US9043373B2 (ja)
EP (1) EP2606445A4 (ja)
JP (1) JP2014500531A (ja)
WO (1) WO2012023967A2 (ja)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9198084B2 (en) * 2006-05-26 2015-11-24 Qualcomm Incorporated Wireless architecture for a traditional wire-based protocol
US8332605B2 (en) 2010-08-25 2012-12-11 International Business Machines Corporation Reorganization of a fragmented directory of a storage data structure comprised of the fragmented directory and members
US8650166B1 (en) * 2011-07-11 2014-02-11 Symantec Corporation Systems and methods for classifying files
US8983979B2 (en) * 2012-01-13 2015-03-17 Hewlett-Packard Development Company, L.P. Controlling access to stored information
US10127235B2 (en) * 2013-03-06 2018-11-13 Quest Software Inc. Storage system deduplication with service level agreements
CN105808620B (zh) * 2014-12-31 2019-11-26 华为技术有限公司 一种管理磁盘文件的方法和装置
CN106250381B (zh) * 2015-06-04 2020-11-17 微软技术许可有限责任公司 用于确定表格式存储的列布局的系统和方法
US10909077B2 (en) * 2016-09-29 2021-02-02 Paypal, Inc. File slack leveraging
CN106909612B (zh) * 2017-01-11 2020-12-29 浙江宇视科技有限公司 一种跟随行为数据的处理方法和装置
CN106951301B (zh) * 2017-04-27 2018-07-13 腾讯科技(深圳)有限公司 文件预读方法及装置
US10712957B2 (en) 2018-09-21 2020-07-14 International Business Machines Corporation Disk storage capacity reorganization
US11157373B2 (en) * 2019-11-04 2021-10-26 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Prioritized transfer of failure event log data
US11681525B2 (en) * 2019-11-25 2023-06-20 EMC IP Holding Company LLC Moving files between storage devices based on analysis of file operations
CN112015672A (zh) * 2020-08-28 2020-12-01 北京浪潮数据技术有限公司 一种存储系统中数据处理方法、装置、设备及存储介质
CN116910310B (zh) * 2023-06-16 2024-02-13 广东电网有限责任公司佛山供电局 一种基于分布式数据库的非结构化数据存储方法及装置

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5398142B1 (en) 1989-05-31 1997-09-16 Raxco Inc Method for eliminating file fragmentation and reducing average seek times in a magnetic disk media environment
US5551020A (en) * 1994-03-28 1996-08-27 Flextech Systems, Inc. System for the compacting and logical linking of data blocks in files to optimize available physical storage
US5930828A (en) * 1997-03-26 1999-07-27 Executive Software International Real-time apparatus and method for minimizing disk fragmentation in a computer system
US6633968B2 (en) 1999-03-30 2003-10-14 Microsoft Corporation Pre-fetching of pages prior to a hard page fault sequence
US6609176B1 (en) * 1999-12-27 2003-08-19 Kabushiki Kaisha Toshiba Disk control system and data rearrangement method
US8832706B2 (en) 2006-12-22 2014-09-09 Commvault Systems, Inc. Systems and methods of data storage management, such as dynamic data stream allocation
US20070027940A1 (en) * 2005-07-26 2007-02-01 Lutz Bruce A Defragmenting one or more files based on an indicator
US7634471B2 (en) * 2006-03-30 2009-12-15 Microsoft Corporation Adaptive grouping in a file network
US7870128B2 (en) * 2006-07-28 2011-01-11 Diskeeper Corporation Assigning data for storage based on speed with which data may be retrieved
US20090132621A1 (en) * 2006-07-28 2009-05-21 Craig Jensen Selecting storage location for file storage based on storage longevity and speed
US7584229B2 (en) * 2006-10-31 2009-09-01 Sun Microsystems, Inc. Method and system for priority-based allocation in a storage pool
US8069484B2 (en) * 2007-01-25 2011-11-29 Mandiant Corporation System and method for determining data entropy to identify malware
US20090113160A1 (en) 2007-10-25 2009-04-30 Disk Trix Incorporated, A South Carolina Corporation Method and System for Reorganizing a Storage Device
US8407192B2 (en) * 2009-04-04 2013-03-26 Polytechnic Institute Of New York University Detecting a file fragmentation point for reconstructing fragmented files using sequential hypothesis testing

Also Published As

Publication number Publication date
EP2606445A4 (en) 2017-03-22
US9043374B2 (en) 2015-05-26
WO2012023967A3 (en) 2013-05-16
US20120047189A1 (en) 2012-02-23
EP2606445A2 (en) 2013-06-26
WO2012023967A2 (en) 2012-02-23
US20120078985A1 (en) 2012-03-29
US9043373B2 (en) 2015-05-26

Similar Documents

Publication Publication Date Title
JP2014500531A (ja) 効率的なデータストレージのためのファイル配置方法及びコンピュータシステム
JP4235362B2 (ja) プログラムのインストール方法およびコンピュータ読取可能な記録媒体
US10503423B1 (en) System and method for cache replacement using access-ordering lookahead approach
JP6304406B2 (ja) ストレージ装置、プログラム、情報処理方法
EP2756403B1 (en) Storage system
US7769725B2 (en) File profiling to minimize fragmentation
US7401174B2 (en) File system defragmentation and data processing method and apparatus for an information recording medium
US5956745A (en) System and method for automatically resizing a disk drive volume
US9213721B1 (en) File server system having tiered storage including solid-state drive primary storage and magnetic disk drive secondary storage
KR101377147B1 (ko) 직접적인 데이터 파일 저장 메모리들에서의 데이터 통합 및가비지 수집
US8621174B2 (en) Relocating data within a file system
US9639275B2 (en) Managing data within a storage device based on file system metadata
US9875033B2 (en) Apparatus and method for minimizing data storage media fragmentation
US20090113160A1 (en) Method and System for Reorganizing a Storage Device
Pitchumani et al. SMRDB: Key-value data store for shingled magnetic recording disks
US20180059991A1 (en) Log structured block device for hard disk drive
US20160085750A1 (en) Storage apparatus and storage apparatus control method
KR20000022716A (ko) 로그 구조화 목표 저장장치를 사전에 구성하여 볼륨을 효율적으로 복사하는 방법 및 장치
Jung et al. Lifetime-leveling LSM-tree compaction for ZNS SSD
US9189408B1 (en) System and method of offline annotation of future accesses for improving performance of backup storage system
JP2017204037A (ja) 情報処理装置、重複除去プログラム、及び重複除去方法
US20120173801A1 (en) Data processing device, data recording method and data recording program
KR101681401B1 (ko) 파일 확장자에 따른 플래시 메모리의 데이터 저장 블록 배치방법
JP7050540B2 (ja) 論理記憶領域の配置制御装置、論理記憶領域の配置制御システム、論理記憶領域の配置制御方法、及び、論理記憶領域の配置制御プログラム
KR100938183B1 (ko) 병렬화를 이용한 스크래치 디스크의 파일 삭제 장치 및이를 이용한 파일 삭제 방법과 이를 실행하기 위한프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20141007