JP2007310878A - ファイルを保存するディスクの空間を割り当てる方法及び装置 - Google Patents
ファイルを保存するディスクの空間を割り当てる方法及び装置 Download PDFInfo
- Publication number
- JP2007310878A JP2007310878A JP2007125978A JP2007125978A JP2007310878A JP 2007310878 A JP2007310878 A JP 2007310878A JP 2007125978 A JP2007125978 A JP 2007125978A JP 2007125978 A JP2007125978 A JP 2007125978A JP 2007310878 A JP2007310878 A JP 2007310878A
- Authority
- JP
- Japan
- Prior art keywords
- data
- size
- req
- len
- sections
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B27/00—Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
- G11B27/02—Editing, e.g. varying the order of information signals recorded on, or reproduced from, record carriers
- G11B27/031—Electronic editing of digitised analogue information signals, e.g. audio or video signals
- G11B27/034—Electronic editing of digitised analogue information signals, e.g. audio or video signals on discs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B27/00—Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
- G11B27/10—Indexing; Addressing; Timing or synchronising; Measuring tape travel
- G11B27/19—Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier
- G11B27/28—Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording
- G11B27/32—Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on separate auxiliary tracks of the same or an auxiliary record carrier
- G11B27/327—Table of contents
- G11B27/329—Table of contents on a disc [VTOC]
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/12—Formatting, e.g. arrangement of data block or words on the record carriers
- G11B20/1217—Formatting, e.g. arrangement of data block or words on the record carriers on discs
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B2020/10916—Seeking data on the record carrier for preparing an access to a specific address
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/12—Formatting, e.g. arrangement of data block or words on the record carriers
- G11B2020/1291—Formatting, e.g. arrangement of data block or words on the record carriers wherein the formatting serves a specific purpose
- G11B2020/1294—Increase of the access speed
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/12—Formatting, e.g. arrangement of data block or words on the record carriers
- G11B2020/1291—Formatting, e.g. arrangement of data block or words on the record carriers wherein the formatting serves a specific purpose
- G11B2020/1294—Increase of the access speed
- G11B2020/1297—Increase of the access speed wherein the focus is on the write access speed
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B2220/00—Record carriers by type
- G11B2220/20—Disc-shaped record carriers
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
【課題】 ファイルを保存するディスクの空間を割り当てる方法及び装置を提供する。
【解決手段】 (a)所定基準値以上のサイズを有する空いている区間を組合わせて構成できる第1集合を検索するステップと、(b)第1集合のうち、総サイズがデータのサイズ以上である第2集合を検索するステップと、(c)第2集合のうち、所定基準点からの探索時間が最も短い集合をデータに割り当てるステップと、を含むことを特徴とするデータを記録するためにディスクの空間を割り当てる方法である。これにより、ディスクに存在する空いている区間を基準点からの距離だけでなく、サイズによって変わる探索時間を考慮して空いている空間を割り当てるので、単純に基準点からの距離のみを考慮して割当てる場合より探索時間を短縮させうる。
【選択図】 図2
【解決手段】 (a)所定基準値以上のサイズを有する空いている区間を組合わせて構成できる第1集合を検索するステップと、(b)第1集合のうち、総サイズがデータのサイズ以上である第2集合を検索するステップと、(c)第2集合のうち、所定基準点からの探索時間が最も短い集合をデータに割り当てるステップと、を含むことを特徴とするデータを記録するためにディスクの空間を割り当てる方法である。これにより、ディスクに存在する空いている区間を基準点からの距離だけでなく、サイズによって変わる探索時間を考慮して空いている空間を割り当てるので、単純に基準点からの距離のみを考慮して割当てる場合より探索時間を短縮させうる。
【選択図】 図2
Description
本発明は、ファイルシステムに係り、さらに詳細には、ファイルを記録するためのディスクの空間を割り当てる方法及び装置に関する。
FAT、XFS、Ext2など現存する多様なファイルシステムが指向する目的のうち一つは、ディスクにファイルを保存する時に、そのファイルを構成するデータを最大限近い所に位置させることである。これは、ディスクヘッドがファイルを読み取る時にかかる探索時間を最小化するためであるが、一つのファイルを構成するデータが近接性を有して保存されるためには、ディスクの空いている空間を適切に割当てねばならない。
図1は、従来の技術によって空いている空間を割り当てる方法を説明するための図である。図1に示されたaないしjは、それぞれ一つのブロックを表すが、ブロックのサイズは、ファイルシステムによって可変的である。図1で、暗いブロックは、既に他のデータが割当てられたブロックを表し、明るいブロックは、空いているブロックを表す。基準点は、これから保存しようとするデータ(以下、目的データと称す)と関連したデータが最後に保存された位置を表すが、言い換えれば、目的データが保存された場合に、ディスクヘッドが目的データを読み取る直前に位置する場所となる。
直観的に、かつ経験的に、距離が遠いほど探索時間が長くなるので、従来の技術では、基準点から近い所に位置した空いているブロックから割り当て始めて目的データのサイズをカバーするまで空いているブロックを順次に割り当て始める。したがって、図1のように、空いているブロックが位置する場合に、従来の技術によれば、d、f、j、jの順に割り当て始める。
しかし、多数のブロックを読み取る場合に、総距離と総探索時間とが必ずしも正比例するものではない。それは、同じサイズのファイルを保存しても、多数の離隔されたブロックに分散して保存することより一つの連続されたブロックに保存する場合に、そのファイルを読み取るための探索時間がさらに短縮されるので、基準点からの距離だけでなく、このような要因も考慮せねばならないためである。多数のブロックに一つのファイルと関連したデータが分散されて保存された場合に、正確な探索時間は、ファイルシステムによる探索曲線によって決定される。したがって、従来の技術によれば、図1のように、例えば、目的データのサイズが二ブロックサイズとするとき、探索曲線によってi及びjを割り当てることが最も短い探索時間を有する場合にも、基準点からの距離のみを考慮して空いている空間を割り当てるので、結局、d、fを割り当てて最適化された結果を得られないという問題がある。
本発明は、割当てられる空いている区間のサイズによる実際探索時間を考慮してディスクの空間を割り当てる装置及び方法を提供することを目的とする。
前記目的を達成するための本発明は、データを記録するためにディスクの空間を割り当てる方法において、(a)所定基準値以上のサイズを有する空いている区間を組合わせて構成できる集合のうち、総サイズが前記データのサイズ以上である集合を検索するステップと、(b)前記検索された集合のうち、所定基準点からの探索時間が最も短い集合を前記データに割り当てるステップと、を含むことを特徴とする。
このとき、前記(a)ステップで検索された集合がない場合に、(c)前記基準点から所定範囲内に存在し、前記データのサイズ以上である空いている区間を前記データに割り当てるステップをさらに含むことが望ましい。
また、(d)前記基準点から前記所定範囲内に前記データのサイズ以上である空いている区間が存在していない場合に、前記所定範囲外の空いている区間のうち、前記データのサイズ以上である区間を前記データに割り当てるステップをさらに含むことが望ましい。
また、(e)前記所定範囲外にも前記データのサイズ以上である空いている区間がない場合に、前記ディスクの空いている区間のうち最大区間を前記データに割り当て、前記ディスクに空いている区間が存在していない場合にエラーメッセージを出力するステップと、(f)前記(d)ステップで前記最大区間が割当てられた場合に、前記最大区間が終わる点を新たな基準点とし、前記データのサイズから前記最大区間のサイズを減算した値を新たなデータのサイズとして、前記(a)ステップないし前記(e)ステップを行うステップとをさらに含むことが望ましい。
また、前記(a)ステップないし前記(f)ステップは、前記エラーメッセージが出力されるか、または前記データが成功的に割当てられるまで反復して行うことが望ましい。
また、前記(c)ステップで、前記基準点から所定範囲内に存在し、前記データのサイズ以上である空いている区間が複数である場合に、そのうち、前記基準点から最も近い区間を前記データに割り当てることが望ましい。
また、前記(d)ステップで、前記所定範囲外の空いている区間のうち、前記データのサイズ以上である区間が複数である場合に、そのうち、前記基準点から最も近い区間を前記データに割り当てることが望ましい。
また、本発明は、前記ディスク空間の割り当て方法をコンピュータで実行させるためのコンピュータで読み取り可能な記録媒体を提供する。
また、本発明は、データを記録するためにディスクの空間を割り当てる装置において、所定基準値以上のサイズを有する空いている区間を組合わせて構成できる集合のうち、総サイズが前記データのサイズ以上である集合を検索し、前記検索された集合のうち、所定基準点からの探索時間が最も短い集合を前記データに割り当てる第1アルゴリズムを行う第1アルゴリズム実行部を備えることを特徴とする。
前記ディスク空間の割り当て装置は、前記第1アルゴリズムによって検索された集合がない場合に、前記基準点から所定範囲内に存在し、前記データのサイズ以上である空いている区間を前記データに割り当て、前記基準点から前記所定範囲内に前記データのサイズ以上である空いている区間が存在していない場合に、前記所定範囲外の空いている区間のうち、前記データのサイズ以上である区間を前記データに割り当て、前記所定範囲外にも前記データのサイズ以上である空いている区間がなければ、前記ディスクの空いている区間のうち、最大区間を前記データに割り当て、前記ディスクに空いている区間が存在していない場合に、エラーメッセージを出力する第2アルゴリズムを行う第2アルゴリズム実行部をさらに備えることが望ましい。
また、前記第2アルゴリズムによって前記最大区間が割当てられた場合に、前記最大区間が終わる点を新たな基準点に設定し、前記データのサイズから前記最大区間のサイズを減算した値を新たなデータのサイズに設定して、前記第1アルゴリズム実行部が前記第1アルゴリズムを行うように制御する制御部をさらに備えることが望ましい。
本発明によれば、ディスクに存在する空いている区間を基準点からの距離だけでなく、サイズによって変わる探索時間を考慮して空いている空間を割り当てるので、単純に基準点からの距離のみを考慮して割り当てる場合より探索時間を短縮させうる。
以下、添付された図面を参照して、本発明の望ましい実施形態を詳細に説明する。
図2は、本発明によってディスクの空間を割り当てる過程を示すフローチャートである。
ステップ210では、第1アルゴリズムを行うが、第1アルゴリズムは、基準点から一定距離内にある一定サイズ以上の空いている区間を利用して割当てを試みる方法であって、これについての詳細な説明は、図3を参照して後述する。ここで、区間は、一つのブロックまたは連続する複数のブロックを意味し、以下、同一である。
ステップ220では、第1アルゴリズムによって目的データのための空いている空間が何れも割当てられたかを判断するが、割当てが完了していない場合に、ステップ230で第2アルゴリズムを行う。第2アルゴリズムは、サイズの大きい空いている区間を優先的に割り当てる方法であって、これについての詳細な説明は、図4を参照して後述する。もし、第1アルゴリズムによって目的データのための空いている空間が何れも割当てられたら、手順は終了する。
ステップ240では、第2アルゴリズムによって目的データの割当てが成功的に完了したか否かを判断し、ステップ250では、割当てが成功的に完了していない場合に、ディスクにまだ空いている空間が存在するか否かを判断し、ステップ260では、ステップ250での判断結果、ディスクにまだ空いている空間が存在する場合に、基準点及び目的データサイズを再設定して、第1アルゴリズムを再び行うための新たな入力値を生成する。このような第1アルゴリズム及び第2アルゴリズムは、目的データのための空いている空間が成功的に割当てられるか、またはディスクにそれ以上目的データを保存しうる空間がなくなるまで、交互に反復して行われる。
図3は、本発明による第1アルゴリズムを行う過程を示すフローチャートである。
一般的に、ほとんどのファイルシステムは、空いている空間についてのメタデータを管理するが、例えば、XFSでは、B+ツリーを利用して空いている空間をその位置及びサイズによって整列して管理する。本発明では、それ以外にもLiというメタデータを使用するが、Liは、所定範囲の値を有するiに対して、前記ディスクの空いている区間のうち、サイズが2i個のブロック数以上である区間で構成された集合である。すなわち、L1には、ディスク内で21個のブロック数以上のサイズを有する空いている区間が含まれる。但し、全てのiに対してLiを生成せず、制限された範囲の値を有するiに対してLiを生成することが経済的な側面で望ましいが、本発明では、i1≦i≦i2であるiに対してのみLiを生成する。
ステップ310では、このようなLiを生成するが、ここには、i1及びi2を決定する過程が含まれる。i1及びi2は、iの範囲、すなわち、第1アルゴリズムで目的データを割り当てるために組合わせる空いている区間の最小サイズを決定する。
例えば、i2=min(N,] log2(req_len)[)、i1=max([log2(req_len)]−C,0)のように決定しうるが、req_lenは、目的データのサイズ、Cは、定数、N=[log2(V/B)]であり、Vは、前記ディスク全体の容量、Bは、ファイルシステムのブロックサイズである。一方、][は切上げ、[]は切下げを表す数学演算子である。すなわち、目的データのサイズによってiの最大値が決定され、定数Cによってiの最小値が決定される。
ステップ320では、Wi、Zi、Miを決定する。
Wiは、各iに対してLiに属する空いている区間のうち、所定数の区間で構成された集合であるが、Liに属する空いている区間のうち、左側に位置したu個の区間及び右側に位置したv個の区間で構成される。各iに対してLiの全ての空いている区間を検索するのは経済的でないので、その検索範囲を制限したものであるが、例えば、uは、以下の条件によるようにしうる。
(1)u≦]req_len/2i[
(2)l(l1)+l(l2)+...l(lu)≧req_lenと同時にl(l1)+l(l2)+...l(lu−1)<req_lenであるか、またはl(l1)+l(l2)+...l(lu)<req_len
同様に、vも、以下の条件によるようにしうる。
(2)l(l1)+l(l2)+...l(lu)≧req_lenと同時にl(l1)+l(l2)+...l(lu−1)<req_lenであるか、またはl(l1)+l(l2)+...l(lu)<req_len
同様に、vも、以下の条件によるようにしうる。
(1)v≦]req_len/2i[
(2)l(r1)+l(r2)+...l(rv)≧req_lenと同時にl(r1)+l(r2)+...l(rv−1)<req_lenであるか、またはl(r1)+l(r2)+...l(rv)<req_len
前記数学式で、l(x)は、区間xのサイズを表す関数である。
(2)l(r1)+l(r2)+...l(rv)≧req_lenと同時にl(r1)+l(r2)+...l(rv−1)<req_lenであるか、またはl(r1)+l(r2)+...l(rv)<req_len
前記数学式で、l(x)は、区間xのサイズを表す関数である。
すなわち、前記数学式によれば、Liで基準点を中心に左側に位置した区間のうち、目的データのサイズ以上にする最小数であるu個の区間であるl1,l2,l3,...,lu及び基準点の右側に位置した区間のうち、目的データのサイズ以上にする最小数であるv個の空いている区間であるr1,r2,r3,...,rvがWiを構成する。このとき、lkよりはlk+1が基準点からさらに遠く離隔された区間である。一方、Liで基準点の左側に存在する区間の総和のサイズが目的データのサイズより小さくuを定めることもでき、これは、基準点の右側に存在する空いている区間についても同様である。それは、第1アルゴリズムは、Wiに属する区間を組合わせて目的データ以上の空いている空間を確保して目的データを割り当てることが目的であるが、u個の区間の和が目的データのサイズより小さくても、基準点の右側にあるv個の区間と組合わせれば、その総和のサイズが目的データのサイズより大きくなることもあるためである。
Ziは、各iに対して、Wiに属する区間のうち、w個の連続的に位置した区間であるzi1,zi2,...,ziwで構成できる集合の集合である。Wiには、u+v個の区間があるが、これらのうち、連続的に位置したw個の区間で組合わせ可能な集合を何れも含むことがZiである。言い換えれば、Ziは、集合の集合である。このとき、wは、目的データのサイズ以上である空いている空間のサイズを確保するための最小値である。すなわち、l(zi1)+l(zi2)+...+l(ziw)≧req_lenであり、l(zi1)+l(zi2)+...+l(zi(w−1))<req_lenである。
Miは、各iに対してZiに属する集合のうち、最小の探索時間を有する集合である。すなわち、前述したように、Ziには、複数の集合がありうるが、そのうち、基準点からの探索時間が最も短い集合がMiとなる。言い換えれば、各iに対して、Wiに属する区間を組合わせて目的データを何れも割り当てる時に、最適の組合わせが、すなわち、Miとなる。
ステップ330では、各iに対して決定したMiのうち、最小の探索時間を有する集合を決定する。ステップ340では、Miの最小値が存在するか否かを判断し、ステップ350では、Miの最小値が存在する場合に、該当集合に属する区間を目的データに割り当てる。Miの最小値が存在していない場合には、Wiに属する全ての区間の総和が目的データのサイズより小さい場合である。本発明によれば、Miの最小値が存在していない場合、第1アルゴリズムが終了し、第2アルゴリズムが行われる。以下で、第2アルゴリズムについて詳細に説明する。
図4は、本発明による第2アルゴリズムを行う過程を示すフローチャートである。
ステップ410では、所定範囲内で目的データサイズ以上である空いている区間を検索する。ここで、所定範囲は、基準点から一定距離内に限定することが望ましい。ステップ420では、ステップ410での検索が成功したか否かを判断し、ステップ470では、ステップ410での検索が成功した場合に、検索された区間を目的データに割り当てる。このとき、検索された区間が複数である場合には、探索時間を短縮させるために基準点から最も近い所に位置した区間を割り当てることが望ましい。
ステップ430では、ステップ410での検索が失敗した場合に、ディスク全体に目的データサイズ以上である空いている区間が存在するか否かを判断し、ステップ470では、ステップ430での判断結果、ディスク全体に目的データサイズ以上である空いている区間が存在する場合に、該当区間を目的データに割り当てる。この時にも目的データサイズ以上である空いている区間が複数である場合には、探索時間を短縮するために基準点から最も近い所に位置した区間を割り当てることが望ましい。
ステップ440では、ステップ430での判断結果、ディスク全体に目的データサイズ以上である空いている区間が存在していないと判断された場合に、ディスク全体に区間のサイズと関係なく、空いている区間が存在するか否かを判断する。ステップ460では、ステップ440での判断結果、空いている区間がない場合にエラーメッセージを出力する。ステップ450では、ステップ440での判断結果、空いている区間が存在する場合に存在する区間のうち、最大区間を選択し、ステップ470では、ステップ450で選択した最大区間を目的データの一部に割り当てる。
一方、ステップ410では、所定範囲内で目的データサイズ以上である空いている区間を探すために各ブロックを実際に検査せねばならないが、ステップ430及びステップ440では、直接検査せず、ファイルシステムで管理する目録を参照して容易に分かる。例えば、XFSでは、空いている空間に関する情報を位置及びサイズによってB+ツリーで管理するので、これを参照して検索しうる。
図5は、本発明によってディスクの空間を割り当てる装置の構造を示すフローチャートである。図5を参照するに、本発明によるディスク空間の割当て装置は、第1アルゴリズム実行部510、第2アルゴリズム実行部520及び制御部530を備える。
第1アルゴリズム実行部510は、前述した第1アルゴリズムを行って目的データのための空いている空間を割り当てる。
このような第1アルゴリズム実行部510は、Li生成部511、Wi生成部512、Zi生成部513、第1選択部514、第2選択部515及び割当部516を備える。
Li生成部511は、i1及びi2を決定し、これにより、Liを生成し、Wi生成部512は、LiからWiを生成する。
Zi生成部513は、WiからZiを生成し、第1選択部514は、各Ziに属する集合のうち、最小探索時間を有する集合を選択する。
第2選択部515は、第1選択部514で選択された集合のうち、最小探索時間を有する集合を選択し、割当部516は、第2選択部515で選択した集合に属する区間を目的データに割り当てる。
各パラメータについての説明は、既に前述したことがあるので、ここでは省略する。
第2アルゴリズム実行部520は、第1アルゴリズム実行部510による割当てが失敗した場合に、第2アルゴリズムを行って目的データのための空いている区間の割当を試み、ディスクにそれ以上空いている空間がない場合に、エラーメッセージを出力する。
制御部530は、第2アルゴリズム実行部520が目的データ全体について区間を割り当てられず、目的データの一部に対する区間を割り当てた場合に、目的データのサイズから割り当てた区間のサイズを減算した値を新たな目的データのサイズに設定し、割り当てた区間が終わる位置を新たな基準点に設定して第1アルゴリズム実行部510に伝達することによって、第1アルゴリズム実行部510が新たな入力値を基礎として第1アルゴリズムを行わせる。また、制御部530は、第1アルゴリズム実行部520によってエラーメッセージが出力されるか、または目的データ全体のための空いている空間が成功的に割当てられるまで前記設定動作を反復することによって、第1アルゴリズム及び第2アルゴリズムを交互に行う。
図6は、本発明の第1実施形態によってディスクの空間を割り当てる方法を説明するための図である。暗い部分は、既に割当てられた空間を表し、明るい部分は、空いている空間を表し、図6に示された部分外の全ての部分は、既に割当てられたと仮定する。図6を参照するに、基準点の左側にそのサイズが1(ブロック)である空いている区間a、bがあり、基準点の右側にそれぞれサイズが2、4、3(ブロック)である空いている区間c、d、eがある。本実施形態では、目的データのサイズが4(ブロック)、C=2、N=20であると仮定する。
まず、i2=min(20,]log24[)であるので、2となり、i1=max([log24]−2,0)であるので、0となる。したがって、L0、L1、L2を生成せねばならず、その結果は、次の通りである。
L2:{d}
L1:{c,d,e}
L0:{a,b,c,d,e}
ここで、Wiを決定すれば、その結果は、次の通りである。
L1:{c,d,e}
L0:{a,b,c,d,e}
ここで、Wiを決定すれば、その結果は、次の通りである。
W2:{d}
W1:{c,d}
W0:{a,b,c,d}
次いで、WiからZiを決定すれば、その結果は、次の通りである。
W1:{c,d}
W0:{a,b,c,d}
次いで、WiからZiを決定すれば、その結果は、次の通りである。
Z1:{d}
Z2:{c,d}、{d}
Z3:{a,b,c}、{b,c,d}、{c,d}、{d}
これから、各i別にZiに属する集合のうち、最小の探索時間を有する集合を選択してMiを決定し、Miのうち最小の探索時間を有する集合を決定し、決定された集合に属する区間を目的データに割り当てればよい。
Z2:{c,d}、{d}
Z3:{a,b,c}、{b,c,d}、{c,d}、{d}
これから、各i別にZiに属する集合のうち、最小の探索時間を有する集合を選択してMiを決定し、Miのうち最小の探索時間を有する集合を決定し、決定された集合に属する区間を目的データに割り当てればよい。
図7は、本発明の第2実施形態によってディスクの空間を割り当てる方法を説明するための図である。暗い部分は、既に割当てられた空間を表し、明るい部分は、空いている空間を表し、図7に示された部分外の全ての部分は、既に割当てられたと仮定する。
また、本実施形態では、目的データのサイズが8、C=2、N=20であると仮定する。
i2=min(20,]log28[)であるので、3となり、i1=max([log28]−2,0)であるので、1となる。したがって、L1、L2、L3を生成せねばならず、その結果は、次の通りである。
L3:empty
L2:{d}
L1:{d}
ここで、Wiを決定すれば、その結果は、次の通りである。
L2:{d}
L1:{d}
ここで、Wiを決定すれば、その結果は、次の通りである。
W3:empty
W2:{d}
W1:{d}
次いで、WiからZiを決定せねばならないが、W2及びW1で選択できる唯一の区間であるdのサイズは、目的データのサイズより小さいので、結局、第1アルゴリズムによる割当ては失敗した。したがって、第2アルゴリズムが行われる。
W2:{d}
W1:{d}
次いで、WiからZiを決定せねばならないが、W2及びW1で選択できる唯一の区間であるdのサイズは、目的データのサイズより小さいので、結局、第1アルゴリズムによる割当ては失敗した。したがって、第2アルゴリズムが行われる。
図示したように、ディスク内に目的データのサイズ以上である空いている区間が存在していないので、空いている区間のうち、最大区間である区間dが目的データの一部に割当てられる。区間dが目的データの一部に割当てられたので、まだ割当てられていない目的データの部分は、1(ブロック)のサイズを有する。したがって、区間dが終わる地点を新たな基準点に設定し、1(ブロック)を新たな目的データのサイズに設定して第1アルゴリズムを行えば、i2=min(20,]log21[)であるので、0となり、i1=max([log21]−2,0)であるので、0となる。したがって、L0を生成すれば、次の通りである。
L0:{a,b,c}
これからW0を決定すれば、次の通りである。
これからW0を決定すれば、次の通りである。
W0:{c}
これからZ0を決定すれば、次の通りである。
これからZ0を決定すれば、次の通りである。
Z0:{c}
したがって、追加的に割り当てる区間は、区間cとなるので、結局、本発明によって初期の目的データには、{c,d}が割当てられる。
したがって、追加的に割り当てる区間は、区間cとなるので、結局、本発明によって初期の目的データには、{c,d}が割当てられる。
図8は、本発明の第3実施形態によってディスクの空間を割り当てる方法を説明するための図である。図8を参照するに、ディスクの状態は、図7と同じであるが、定数Cが、図7とは異なり、3の値を有する。
第1アルゴリズムを行えば、i2=min(20,]log28[)であるので、3となり、i1=max([log28]−3,0)であるので、0となる。したがって、L0、L1、L2、L3を生成せねばならず、その結果は、次の通りである。
L3:empty
L2:{d}
L1:{d}
L0:{a,b,c,d}
ここで、Wiを決定すれば、その結果は、次の通りである。
L2:{d}
L1:{d}
L0:{a,b,c,d}
ここで、Wiを決定すれば、その結果は、次の通りである。
W3:empty
W2:{d}
W1:{d}
W0:{a,b,c,d}
次いで、WiからZiを決定すれば、その結果は、次の通りである。
W2:{d}
W1:{d}
W0:{a,b,c,d}
次いで、WiからZiを決定すれば、その結果は、次の通りである。
Z3:empty
Z2:empty
Z1:empty
Z0:{a,b,c,d}
結局、本実施形態では、{a,b,c,d}が目的データに割当てられる。
Z2:empty
Z1:empty
Z0:{a,b,c,d}
結局、本実施形態では、{a,b,c,d}が目的データに割当てられる。
図7の実施形態に対する結果と図8の実施形態に対する結果とを比較すれば、図8では、Cの値を2ではない3としてiの範囲を広げ、それにより、他の結果を得た。したがって、Cの値によって結果が変わり、Cの値を適切に調節することによって最適化された結果が得られるということが分かる。
図9は、本発明の第4実施形態によってディスクの空間を割り当てる方法を説明するための図である。
本実施形態では、目的データのサイズが12(ブロック)、C=2、N=20であると仮定する。
暗い部分は、既に割当てられた空間を表し、明るい部分は、空いている空間を表し、図9に示された部分外の全ての部分は、既に割当てられたと仮定する。
まず、i2=min(20,]log212[)であるので、4となり、i1=max([log212]−2,0)であるので、2となる。したがって、L2、L3、L4を生成せねばならず、その結果は、次の通りである。
L4:empty
L3:{c}
L2:{c}
ここで、Wiを決定すれば、その結果は、次の通りである。
L3:{c}
L2:{c}
ここで、Wiを決定すれば、その結果は、次の通りである。
W4:empty
W3:{c}
W2:{c}
次に、WiからZiを決定すれば、その結果は、次の通りである。
W3:{c}
W2:{c}
次に、WiからZiを決定すれば、その結果は、次の通りである。
Z4:empty
Z3:empty
Z2:empty
したがって、第1アルゴリズムによる割り当ては失敗したので、第2アルゴリズムが行われる。
Z3:empty
Z2:empty
したがって、第1アルゴリズムによる割り当ては失敗したので、第2アルゴリズムが行われる。
空いている区間のうち、最大区間である区間cが目的データの一部に割当てられる。区間cが目的データの一部に割当てられたので、まだ割当てられていない目的データの部分は、4(ブロック)のサイズを有する。したがって、区間cが終わる地点を新たな基準点に設定し、4(ブロック)を新たな目的データのサイズに設定して、再び第1アルゴリズムを行えば、i2=min(20,]log24[)であるので、2となり、i1=max([log24]−2,0)であるので、0となる。したがって、L0、L1、L2を生成せねばならず、その結果は、次の通りである。
L2:empty
L1:{b}
L0:{a,b}
これにより、Wiを決定すれば、次の通りである。
L1:{b}
L0:{a,b}
これにより、Wiを決定すれば、次の通りである。
W2:empty
W1:{b}
W0:{a,b}
このとき、aとbとの総和が新たな目的データのサイズである4(ブロック)より小さいので、第1アルゴリズムによる割り当ては失敗した。したがって、再び第2アルゴリズムを行うが、区間cは、既に割当てられたので、残りの空いている区間のうち、最大区間である区間bが割当てられる。区間bが割当てられれば、新たな目的データのサイズは、2となり、残りの唯一の空いている区間は、aである状態で第1アルゴリズムが行われる。a区間のサイズは、新たな目的データのサイズである2より小さいので、再び第2アルゴリズムが行われる。そして、第2アルゴリズムによって区間aが割当てられた後に第1アルゴリズムが行われるが、それ以上空いている空間がないので、第2アルゴリズムが行われ、第2アルゴリズムによって、結局、エラーメッセージが出力される。
W1:{b}
W0:{a,b}
このとき、aとbとの総和が新たな目的データのサイズである4(ブロック)より小さいので、第1アルゴリズムによる割り当ては失敗した。したがって、再び第2アルゴリズムを行うが、区間cは、既に割当てられたので、残りの空いている区間のうち、最大区間である区間bが割当てられる。区間bが割当てられれば、新たな目的データのサイズは、2となり、残りの唯一の空いている区間は、aである状態で第1アルゴリズムが行われる。a区間のサイズは、新たな目的データのサイズである2より小さいので、再び第2アルゴリズムが行われる。そして、第2アルゴリズムによって区間aが割当てられた後に第1アルゴリズムが行われるが、それ以上空いている空間がないので、第2アルゴリズムが行われ、第2アルゴリズムによって、結局、エラーメッセージが出力される。
一方、前述した本発明の実施形態は、コンピュータで実行されうるプログラムで作成可能であり、コンピュータで読み取り可能な記録媒体を利用して前記プログラムを動作させる汎用デジタルコンピュータで具現されうる。
前記コンピュータで読み取り可能な記録媒体は、マグネチック記録媒体(例えば、ROM、フロッピー(登録商標)ディスク、ハードディスクなど)、光学的判読媒体(例えば、CD−ROM、DVDなど)及びキャリアウェーブ(例えば、インターネットを通じた伝送)のような記録媒体を含む。
以上、本発明についてその望ましい実施形態を中心に説明した。当業者は、本発明が本発明の本質的な特性から逸脱しない範囲で変形された形態で具現されうるということが理解できる。したがって、開示された実施形態は、限定的な観点ではなく、説明的な観点で考慮されねばならない。本発明の範囲は、前述した説明ではなく、特許請求の範囲に表れており、それと同等な範囲内にある全ての差異点は、本発明に含まれたと解釈されねばならない。
本発明は、ファイルシステム関連の技術分野に適用可能である。
Claims (31)
- データを記録するためにディスクの空間を割り当てる方法において、
(a)所定基準値以上のサイズを有する空いている区間を組合わせて構成できる第1集合を検索するステップと、
(b)前記第1集合のうち、総サイズが前記データのサイズ以上である第2集合を検索するステップと、
(c)前記第2集合のうち、所定基準点からの探索時間が最も短い集合を前記データに割り当てるステップとを含むことを特徴とする方法。 - 前記(b)ステップで検索された集合がない場合に、
(d)前記基準点から所定範囲内に存在し、前記データのサイズ以上の空いている区間を前記データに割り当てるステップをさらに含むことを特徴とする請求項1に記載の方法。 - (e)前記基準点から前記所定範囲内に前記データのサイズ以上の空いている区間が存在していない場合に、前記所定範囲外の空いている区間のうち、前記データのサイズ以上の区間を前記データに割り当てるステップをさらに含むことを特徴とする請求項2に記載の方法。
- (f)前記ディスクに前記データのサイズ以上の空いている区間がない場合に、前記ディスクの空いている区間のうち、最大区間を前記データの一部に割り当てるステップをさらに含むことを特徴とする請求項3に記載の方法。
- 前記(f)ステップは、
(g)前記割当てられた最大区間が終わる点を新たな基準点とし、前記データのサイズから前記最大区間のサイズを減算した値を新たなデータのサイズとして、前記(a)ステップないし前記(f)ステップを再び行うステップをさらに含むことを特徴とする請求項4に記載の方法。 - 前記(g)ステップは、
前記ディスクにそれ以上空いている区間が存在していないか、または前記データが成功的に割当てられるまで、前記(a)ステップないし前記(f)ステップを反復して行うことを特徴とする請求項5に記載の方法。 - 前記ディスクにそれ以上空いている区間が存在していない場合に、エラーメッセージを出力するステップをさらに含むことを特徴とする請求項4に記載の方法。
- 前記ディスクにそれ以上空いている区間が存在していない場合に、エラーメッセージを出力するステップをさらに含むことを特徴とする請求項6に記載の方法。
- 前記(b)ステップは、
(b1)所定範囲の値を有するiに対して、前記ディスクの空いている区間のうち、サイズが2i個のブロック数以上である区間で構成された集合であるLiを生成するステップと、
(b2)前記各iに対して、各Liに属する区間のうち、所定数の区間で構成された集合であるWiを生成するステップと、
(b3)前記各iに対して、各Wiに属する区間のうち、w個の連続的に位置した区間であるzi1,zi2,...,ziwで構成しうる集合の集合であるZiを生成するステップとを含むことを特徴とする請求項1に記載の方法。 - 前記(c)ステップは、
(c1)前記各iに対して、各Ziに属する集合のうち、最小探索時間を有する第3集合を選択するステップと、
(c2)前記選択された第3集合のうち、最小探索時間を有する集合を選択するステップと、
(c3)前記(b2)ステップで選択された集合に属する空いている区間を前記データに割り当てるステップと、を含むことを特徴とする請求項9に記載の方法:
このとき、l(zi1)+l(zi2)+...+l(ziw)≧req_lenであり、l(zi1)+l(zi2)+...+l(zi(w−1))<req_lenであり、l(x)は、区間xのサイズ、req_lenは、前記データのサイズである。 - i1≦i≦i2であり、
i2=min(N,]log2(req_len[)、i1=max([log2(req_len)]−C,0)であることを特徴とする請求項10に記載の方法:
このとき、req_lenは、前記データのサイズ、Cは、定数、N=[log2(V/B)]であり、Vは、前記ディスク全体の容量、Bは、ファイルシステムのブロックサイズである。また、][は、元来値をそれ以上の最も近い整数値に上げる数学演算子であり、[]は、元来値をそれ以下の最も近い整数値で数下げをする数学演算子である。 - 前記各Wiは、前記生成された各Liに属する区間のうち、前記基準点の左側に位置したu個の区間であるl1,l2,l3,...,lu及び右側に位置したv個の区間であるr1,r2,r3,...,rvで構成されることを特徴とする請求項9に記載の方法:
このとき、u≦]req_len/2i[を満足し、l(l1)+l(l2)+...l(lu)≧req_lenと同時にl(l1)+l(l2)+...l(lu−1)<req_lenであるか、またはl(l1)+l(l2)+...l(lu)<req_lenであり、
v≦]req_len/2i[を満足し、l(r1)+l(r2)+...l(rv)≧req_lenと同時にl(r1)+l(r2)+...l(rv−1)<req_lenであるか、またはl(r1)+l(r2)+...l(rv)<req_lenであり、
l(x)は、区間xのサイズ、req_lenは、前記データのサイズであり、][は、元来値をそれ以上の最も近い整数値に上げる数学演算子であり、[]は、元来値をそれ以下の最も近い整数値で数下げをする数学演算子である。 - 前記(c)ステップは、
前記基準値を異ならせることによって検索される前記第2集合のグループそれぞれで、前記基準点からの探索時間が最も短い集合を選択するステップと、
前記選択された集合のうち、最も探索時間の短い最適集合を選択するステップと、
前記選択された最適集合の空いている区間に前記データを割り当てるステップと、を含むことを特徴とする請求項1に記載の方法。 - 前記基準点から所定範囲内に存在し、前記データのサイズ以上である空いている区間が複数である場合に、そのうち、前記基準点から最も近い区間を前記データに割り当てることを特徴とする請求項2に記載の方法。
- 前記所定範囲外の空いている区間のうち、前記データのサイズ以上の区間が複数である場合に、そのうち、前記基準点から最も近い区間を前記データに割り当てることを特徴とする請求項3に記載の方法。
- 請求項1ないし15のうち何れか一項に記載の方法をコンピュータで実行させるための方法を記録したコンピュータで読み取り可能な記録媒体。
- データを記録するためにディスクの空間を割り当てる装置において、
所定基準値以上のサイズを有する空いている区間を組合わせて構成しうる集合のうち、総サイズが前記データのサイズ以上である集合を検索し、前記検索された集合のうち、所定基準点からの探索時間が最も短い集合を前記データに割り当てる第1アルゴリズムを行う第1アルゴリズム実行部を備えることを特徴とする装置。 - 前記第1アルゴリズムによって検索された集合のない場合に、前記基準点から所定範囲内に存在し、前記データのサイズ以上である空いている区間を前記データに割り当てる第2アルゴリズムを行う第2アルゴリズム実行部をさらに備えることを特徴とする請求項17に記載の装置。
- 前記第2アルゴリズムは、前記基準点から前記所定範囲内に前記データのサイズ以上である空いている区間が存在していない場合に、前記所定範囲外の空いている区間のうち、前記データのサイズ以上である区間を前記データに割り当てることを特徴とする請求項18に記載の装置。
- 前記第2アルゴリズムは、前記所定範囲外にも前記データのサイズ以上である空いている区間がなければ、前記ディスクの空いている区間のうち最大区間を前記データの一部に割り当てることを特徴とする請求項19に記載の装置。
- 前記最大区間が割当てられた場合に、前記最大区間が終わる点を新たな基準点に設定し、前記データのサイズから前記最大区間のサイズを減算した値を新たなデータのサイズに設定して、前記第1アルゴリズム実行部が前記第1アルゴリズムを再び行うように制御する制御部をさらに備えることを特徴とする請求項20に記載の装置。
- 前記制御部は、前記ディスクにそれ以上空いている区間が存在していないか、または前記データが成功的に割当てられるまで前記制御を反復して行うことを特徴とする請求項21に記載の装置。
- 前記第2アルゴリズム実行部は、
前記ディスクにそれ以上空いている区間が存在していなければ、エラーメッセージを出力することを特徴とする請求項20に記載の装置。 - 前記第2アルゴリズム実行部は、
前記ディスクにそれ以上空いている区間が存在していなければ、エラーメッセージを出力することを特徴とする請求項22に記載の装置。 - 前記第1アルゴリズム実行部は、
所定範囲の値を有するiに対して、各Iごとに前記ディスクの空いている区間のうち、サイズが2i個のブロック数以上である区間で構成された集合であるLiを生成するLi生成部と、
前記各iに対して各Liに属する区間のうち、所定数の区間で構成された集合であるWiを生成するWi生成部と、
前記各iに対して各Wiに属する区間のうち、w個の連続的に位置した区間であるzi1,zi2,...,ziwで構成しうる集合の集合であるZiを生成するZi生成部とを備えることを特徴とする請求項17に記載の装置。 - 前記各iに対して、各Ziに属する集合のうち、最小探索時間を有する集合を選択する第1選択部と、
前記第1選択部で選択された集合のうち、最小探索時間を有する集合を選択する第2選択部と、
前記第2選択部で選択された集合に属する空いている区間を前記データに割り当てる割当部と、を備えることを特徴とする請求項25に記載の装置:
このとき、l(zi1)+l(zi2)+...+l(ziw)≧req_lenであり、l(zi1)+l(zi2)+...+l(zi(w−1))<req_lenであり、l(x)は、区間xのサイズ、req_lenは、前記データのサイズである。 - i1≦i≦i2であり、
i2=min(N,]log2(req_len[)、i1=max([log2(req_len)]−C,0)であることを特徴とする請求項26に記載の装置:
このとき、req_lenは、前記データのサイズ、Cは、定数、N=[log2(V/B)]であり、Vは、前記ディスク全体の容量、Bは、ファイルシステムのブロックサイズであり、][は、元来値をそれ以上の最も近い整数値に上げる数学演算子であり、[]は、元来値をそれ以下の最も近い整数値デ数下げをする数学演算子である。 - 前記各Wiは、前記生成された各Liに属する区間のうち、前記基準点の左側に位置したu個の区間であるl1,l2,l3,...,lu及び右側に位置したv個の区間であるr1,r2,r3,...,rvで構成されることを特徴とする請求項26に記載の装置:
このとき、u≦]req_len/2i[を満足し、l(l1)+l(l2)+...l(lu)≧req_lenと同時にl(l1)+l(l2)+...l(lu−1)<req_lenであるか、またはl(l1)+l(l2)+...l(lu)<req_lenであり、
v≦]req_len/2i[を満足し、l(r1)+l(r2)+...l(rv)≧req_lenと同時にl(r1)+l(r2)+...l(rv−1)<req_lenであるか、またはl(r1)+l(r2)+...l(rv)<req_lenであり、
l(x)は、区間xのサイズ、req_lenは、前記データのサイズであり、][は、元来値をそれ以上の最も近い整数値に上げる数学演算子であり、[]は、元来値をそれ以下の最も近い整数値で数下げをする数学演算子である。 - 前記第1アルゴリズム実行部は、
前記基準値を異ならせることによって検索される前記第2集合のグループそれぞれで前記基準点からの探索時間が最も短い集合を選択し、前記選択された集合のうち最も探索時間の短い最適集合を選択し、前記選択された最適集合の空いている区間に前記データを割り当てることを特徴とする請求項17に記載の装置。 - 前記第2アルゴリズム実行部は、前記基準点から所定範囲内に存在し、前記データのサイズ以上である空いている区間が複数である場合に、そのうち、前記基準点から最も近い区間を前記データに割り当てることを特徴とする請求項18に記載の装置。
- 前記第2アルゴリズム実行部は、前記所定範囲外の空いている区間のうち、前記データのサイズ以上である区間が複数である場合に、そのうち、前記基準点から最も近い区間を前記データに割り当てることを特徴とする請求項19に記載の装置。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020060044657A KR100883651B1 (ko) | 2006-05-18 | 2006-05-18 | 파일을 저장할 디스크의 공간을 할당하는 방법 및 장치 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007310878A true JP2007310878A (ja) | 2007-11-29 |
Family
ID=38462401
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007125978A Withdrawn JP2007310878A (ja) | 2006-05-18 | 2007-05-10 | ファイルを保存するディスクの空間を割り当てる方法及び装置 |
Country Status (5)
Country | Link |
---|---|
US (1) | US7797485B2 (ja) |
EP (1) | EP1858018A3 (ja) |
JP (1) | JP2007310878A (ja) |
KR (1) | KR100883651B1 (ja) |
CN (1) | CN101075212A (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080320266A1 (en) * | 2007-06-22 | 2008-12-25 | Levine Frank E | Allocating Disk Space On A Disk Drive |
JP5532982B2 (ja) * | 2010-02-03 | 2014-06-25 | 富士通株式会社 | ストレージ装置、ストレージ装置のコントローラおよびストレージ装置の記憶領域割当方法 |
Family Cites Families (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB9026917D0 (en) * | 1990-12-11 | 1991-01-30 | Int Computers Ltd | Rotating memory system |
US5339411A (en) * | 1990-12-21 | 1994-08-16 | Pitney Bowes Inc. | Method for managing allocation of memory space |
JPH0546447A (ja) * | 1991-08-08 | 1993-02-26 | Hitachi Ltd | 空き領域検索方法 |
US5390315A (en) * | 1992-06-15 | 1995-02-14 | International Business Machines Corporation | Allocation of uniform contiguous blocks of DASD storage by maintaining both a bit and a bit map record of available storage |
TW332284B (en) | 1995-10-30 | 1998-05-21 | Sony Co Ltd | Method and apparatus for controlling access to a recording disk |
JP3561083B2 (ja) * | 1996-05-24 | 2004-09-02 | 株式会社東芝 | データ配置制御方法及びビデオサーバ装置 |
US5832525A (en) * | 1996-06-24 | 1998-11-03 | Sun Microsystems, Inc. | Disk fragmentation reduction using file allocation tables |
KR19980046877A (ko) * | 1996-12-13 | 1998-09-15 | 구자홍 | 광디스크 기록 방법 및 장치 |
KR19980078995A (ko) * | 1997-04-30 | 1998-11-25 | 배순훈 | 디브이디알 시스템의 기록 방법 |
US5987479A (en) * | 1997-09-24 | 1999-11-16 | Sony Corporation, Inc. | Large block allocation for disk-based file systems |
KR19990060797A (ko) * | 1997-12-31 | 1999-07-26 | 구자홍 | 복호화된 이미지 데이타의 메모리 할당방법과 그장치 |
KR100315500B1 (ko) * | 1998-05-28 | 2002-02-19 | 구자홍 | 메모리할당방법 |
US6185663B1 (en) * | 1998-06-15 | 2001-02-06 | Compaq Computer Corporation | Computer method and apparatus for file system block allocation with multiple redo |
US6405284B1 (en) * | 1998-10-23 | 2002-06-11 | Oracle Corporation | Distributing data across multiple data storage devices in a data storage system |
US6446183B1 (en) * | 2000-02-15 | 2002-09-03 | International Business Machines Corporation | Systems and methods for persistent and robust memory management |
US6735678B2 (en) * | 2000-05-24 | 2004-05-11 | Seagate Technology Llc | Method and apparatus for disc drive defragmentation |
US6564292B2 (en) * | 2000-07-12 | 2003-05-13 | Seagate Technology Llc | Optimizing allocation of sectors in disc drives |
US6654878B1 (en) * | 2000-09-07 | 2003-11-25 | International Business Machines Corporation | Register bit scanning |
US6839802B2 (en) * | 2000-12-08 | 2005-01-04 | International Business Machines Corporation | Method, system, and program for writing files to zone formatted storage media to improve data transfer rates |
US6745311B2 (en) * | 2001-01-24 | 2004-06-01 | Networks Associates Technology, Inc. | Method of allocating clusters of computer readable medium to a file while minimizing fragmentation of the computer readable medium |
US6804746B2 (en) * | 2001-03-01 | 2004-10-12 | Sony Corporation | Method and system for optimizing data storage and retrieval by an audio/video file system using hierarchical file allocation table |
US6651147B2 (en) * | 2001-05-08 | 2003-11-18 | International Business Machines Corporation | Data placement and allocation using virtual contiguity |
US7194563B2 (en) * | 2001-12-05 | 2007-03-20 | Scientific-Atlanta, Inc. | Disk driver cluster management of time shift buffer with file allocation table structure |
JP2003337743A (ja) * | 2002-05-17 | 2003-11-28 | Nec Commun Syst Ltd | メモリ空間を管理するメモリ管理システム及びその未割り当てメモリブロックの検索方法 |
JP3915752B2 (ja) * | 2003-07-25 | 2007-05-16 | 船井電機株式会社 | デジタル情報記録装置およびそれを備える映像記録再生装置 |
JP4033829B2 (ja) * | 2003-11-26 | 2008-01-16 | 京セラミタ株式会社 | メモリ管理システム |
KR100585132B1 (ko) * | 2004-02-21 | 2006-06-01 | 삼성전자주식회사 | 최적화된 기록 순서 재배열 방법 및 장치, 기록 방법, 기록 매체 |
KR100617370B1 (ko) * | 2004-05-27 | 2006-08-29 | 한국과학기술원 | 저장 시스템에서 비트 맵에 의하여 관리되는 익스텐트를지원하는 페이지 할당 방법 |
US7590799B2 (en) * | 2005-06-16 | 2009-09-15 | Seagate Technology Llc | OSD deterministic object fragmentation optimization in a disc drive |
US8285757B2 (en) * | 2007-01-31 | 2012-10-09 | Agency For Science, Technology And Research | File system for a storage device, methods of allocating storage, searching data and optimising performance of a storage device file system |
-
2006
- 2006-05-18 KR KR1020060044657A patent/KR100883651B1/ko not_active IP Right Cessation
-
2007
- 2007-04-30 EP EP07107254A patent/EP1858018A3/en not_active Withdrawn
- 2007-05-08 US US11/745,635 patent/US7797485B2/en active Active
- 2007-05-10 JP JP2007125978A patent/JP2007310878A/ja not_active Withdrawn
- 2007-05-14 CN CNA2007101074549A patent/CN101075212A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
KR20070111626A (ko) | 2007-11-22 |
EP1858018A2 (en) | 2007-11-21 |
US7797485B2 (en) | 2010-09-14 |
EP1858018A3 (en) | 2008-09-17 |
KR100883651B1 (ko) | 2009-02-18 |
US20070271436A1 (en) | 2007-11-22 |
CN101075212A (zh) | 2007-11-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4778942B2 (ja) | 不揮発性メモリを管理する装置及び方法 | |
US7401174B2 (en) | File system defragmentation and data processing method and apparatus for an information recording medium | |
RU2379771C2 (ru) | Носитель записи, устройство записи, устройство воспроизведения, способ записи и способ воспроизведения | |
CN110147204B (zh) | 一种元数据落盘方法、装置、系统及计算机可读存储介质 | |
CN101571827A (zh) | 保存日志的方法和日志系统 | |
JP2002056631A (ja) | 光ディスクの欠陥管理領域情報の確認方法及びこれを行うためのテスト装置 | |
JP2015170170A (ja) | データ分割処理プログラム,データ分割処理装置及びデータ分割処理方法 | |
JP2011154777A (ja) | 情報記録媒体、情報記録方法、情報記録装置、情報再生方法および情報再生装置 | |
US8762773B2 (en) | Processing apparatus, data migration method, and computer-readable recording medium having data migration program recorded thereon | |
KR101014149B1 (ko) | 메모리 뱅크로의 접근을 제어하는 고체 상태 디스크를 위한컨트롤러 | |
EP2436007B1 (en) | Information storage medium, and recording/reproducing method and apparatus | |
JP6326909B2 (ja) | データアクセスシステム及びデータアクセス方法 | |
JP2007310878A (ja) | ファイルを保存するディスクの空間を割り当てる方法及び装置 | |
WO2013179578A1 (ja) | 並列割当最適化装置、並列割当最適化方法およびコンピュータ読取可能な記録媒体 | |
US6678229B1 (en) | Methods for optimizing recording order of data files to optical media | |
EP2642379A2 (en) | Information processing apparatus, program, and data allocation method | |
US7818637B2 (en) | Apparatus for formatting information storage medium | |
CN109669623A (zh) | 一种文件管理方法、文件管理装置、电子设备及存储介质 | |
JP2010191903A (ja) | 分散ファイルシステムのストライピング種別選択方法及びその分散ファイルシステム | |
US7330412B2 (en) | Method and apparatus for searching for recordable area, and method and apparatus for testing recorded area arrangement | |
JP4831398B2 (ja) | 情報処理装置および方法、並びにプログラム | |
KR102248003B1 (ko) | 무선 센서 네트워크에서 퍼지 로직을 사용한 동적 싱크 재배치 방법 및 장치 | |
KR20150018678A (ko) | 벡터 분류 장치 및 방법 | |
KR102203031B1 (ko) | 빠른 정전 복구를 지원하기 위한 대용량 데이터 기록 방법 및 장치 | |
KR20180035026A (ko) | 오케스트레이션 기반 최적 스토리지 할당을 위한 예측형 후보군 선정 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20100506 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110414 |
|
A761 | Written withdrawal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A761 Effective date: 20110708 |