JP3745398B2 - ファイルのディスクブロック制御方式 - Google Patents

ファイルのディスクブロック制御方式 Download PDF

Info

Publication number
JP3745398B2
JP3745398B2 JP32438294A JP32438294A JP3745398B2 JP 3745398 B2 JP3745398 B2 JP 3745398B2 JP 32438294 A JP32438294 A JP 32438294A JP 32438294 A JP32438294 A JP 32438294A JP 3745398 B2 JP3745398 B2 JP 3745398B2
Authority
JP
Japan
Prior art keywords
file
blocks
block
physical disk
free physical
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.)
Expired - Fee Related
Application number
JP32438294A
Other languages
English (en)
Other versions
JPH0863377A (ja
Inventor
和一 大江
和人 上村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP32438294A priority Critical patent/JP3745398B2/ja
Priority to US08/490,589 priority patent/US5737743A/en
Publication of JPH0863377A publication Critical patent/JPH0863377A/ja
Application granted granted Critical
Publication of JP3745398B2 publication Critical patent/JP3745398B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0643Management of files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0674Disk device
    • G06F3/0676Magnetic disk device

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

【0001】
【産業上の利用分野】
本発明は、空き物理ディスクブロックを管理してファイルに割り当てるファイルのディスクブロック制御方式に関し、特に、ファイルアクセスの際のディスクのシーク回数及び回転待ち時間を削減するファイルのディスクブロック制御方式に関する。
【0002】
ファイルキャッシュを使ってファイルアクセスを高速化する方法が採られているが、大きなファイルをアクセスする場合には、ファイルキャッシュは性能に殆ど影響を与えず、ディスクのハード転送能力が性能を左右することになる。これから、ファイルアクセスの際のディスクのシーク回数及び回転待ち時間を削減する構成の構築が叫ばれている。
【0003】
【従来の技術】
UNIXのファイルシステムを例にして説明するならば、従来のファイルシステムでは、ファイルの1論理ブロックに対応させる物理ディスクブロックの大きさを一意のものとし、ディスクの持つ空き物理ディスクブロックのブロック番号をリストで管理する構成を採って、ファイル生成時に、空き物理ディスクブロックが要求されるときには、このリストの先頭から順番に空き物理ディスクブロックを特定してファイルに割り当てていくという構成を採っていた。
【0004】
すなわち、図19に示すような空き物理ディスクブロックのブロック番号を管理する空き物理ディスクブロックリストを用意して、ファイル生成時に、空き物理ディスクブロックが要求されるときには、この空き物理ディスクブロックリストの先頭から順番に空き物理ディスクブロックを特定してファイルに割り当てていくという構成を採っていたのである。ここで、この空き物理ディスクブロックリストの先頭リスト部分は主記憶上に展開され、残りのリスト部分はディスク上に展開されることになる。
【0005】
【発明が解決しようとする課題】
しかしながら、このような従来技術に従っていると、複数の空き物理ディスクブロックをファイルに割り当てていくときに、飛び飛びの空き物理ディスクブロックを割り当ててしまうことになることから、ファイルアクセスの際のディスクのシーク回数及び回転待ち時間を増大させてしまうという問題点がある。
【0006】
この問題点を解決するためには、図20に示すように、各ファイル毎に、ファイルの1論理ブロックを任意の連続した物理ディスクブロックに対応させる構成を採る方法が考えられる。
【0007】
しかるに、従来の空き物理ディスクブロックリストを用いていたのでは、これを実現することはできない。
本発明はかかる事情に鑑みてなされたものであって、ファイルアクセスの際のディスクのシーク回数及び回転待ち時間を削減する新たなファイルのディスクブロック制御方式の提供を目的とする。
【0008】
【課題を解決するための手段】
1に本発明の原理構成を図示する。
図中、1は本発明を具備するデータ処理装置、2はデータ処理装置1の備えるディスクである。
【0009】
このデータ処理装置1は、ファイルを作成するファイル作成手段10と、ファイル作成手段10の実行するファイル作成処理を支援するファイル作成支援手段11とを備える。
【0013】
このファイル作成支援手段11は、ファイル作成支援処理を実行するために、拡張管理手段12と、第1の管理手段13と、割当手段14と、更新手段15と、ソート手段16と、第2の管理手段17とを備え、更に、変更手段18を備えることがある。
【0014】
この拡張管理手段12は、ファイルの1論理ブロックのサイズが物理ディスクブロックのサイズの整数倍となる拡張ファイル用に用意され、規定のエントリー数から構成されて、ディスク2の持つ連続空き物理ディスクブロックの代表ブロック番号及び連続ブロック数を管理する。第1の管理手段13は、ファイルの1論理ブロックのサイズが物理ディスクブロックのサイズと一致する通常ファイル用に用意され、拡張管理手段12の管理対象とならない空き物理ディスクブロックのブロック番号を管理する。割当手段14は、ファイル作成手段10の発行する空き物理ディスクブロックの獲得要求に応答して、空き物理ディスクブロックを獲得してファイルに割り当てる。
【0015】
更新手段15は、拡張ファイルについての論理ブロックの解放処理時に、拡張管理手段12が連続ブロック数の大きい連続空き物理ディスクブロックを管理することになるようにと、拡張管理手段12の管理データを更新する。ソート手段16は、拡張管理手段12の管理データが変更される場合に、その管理データを連続ブロック数順にソートし、更に、第2の管理手段17が備えられる場合にあって、第2の管理手段17の管理データが変更される場合には、その管理データを連続ブロック数順にソートする。
【0016】
第2の管理手段17は、第1の管理手段13の管理する連続空き物理ディスクブロックの代表ブロック番号及び連続ブロック数を管理する。変更手段18は、第1の管理手段13の管理データに従って空き物理ディスクブロックが特定されてファイルに割り当てられる場合に、第2の管理手段17の管理データを変更し、第2の管理手段17の管理データに従って空き物理ディスクブロックが特定されてファイルに割り当てられる場合に、第1の管理手段13の管理データを変更する。
【0021】
【作用】
発明では、ファイルの1論理ブロックのサイズが物理ディスクブロックのサイズの整数倍となる拡張ファイルのために用意され、規定のエントリー数から構成されて、連続空き物理ディスクブロックの代表ブロック番号及び連続ブロック数を管理する拡張管理手段12を備える構成を採る。
【0023】
この構成を採るときにあって、割当手段14は、ファイル作成手段10から拡張ファイルについての空き物理ディスクブロックの割当要求があると、割当要求数が規定の閾値より小さい場合には、第2の管理手段17を優先しつつ、第2の管理手段17及び拡張管理手段12の管理データに従って、割当要求数より大きな連続ブロック数を持つ連続空き物理ディスクブロックを特定して、それが持つ割当要求数分の連続空き物理ディスクブロックをファイルに割り当て、割当要求数が規定の閾値より大きい場合には、拡張管理手段12の管理データに従って、割当要求数より大きな連続ブロック数を持つ連続空き物理ディスクブロックを特定して、それが持つ割当要求数分の連続空き物理ディスクブロックをファイルに割り当てる。
【0024】
一方、更新手段15は、拡張ファイルについての論理ブロックの解放処理時に、規定の閾値より大きなサイズを持つ論理ブロックを登録対象として、拡張管理手段12に空きがある場合には、その論理ブロックの持つ連続空き物理ディスクブロックを拡張管理手段12へ登録するとともに、空きがない場合にあって、その連続空き物理ディスクブロックの方が登録のものより大きな連続ブロック数を持つ場合には、その連続空き物理ディスクブロックを登録されている小さな連続ブロック数を持つものに代えて拡張管理手段12へ登録することで、拡張管理手段12が連続ブロック数の大きいものを管理するよう処理する。
【0025】
このようにして、本発明によれば、ファイルの1論理ブロックを任意の連続した物理ディスクブロックに対応させる構成を採ることが可能になり、これにより、ファイルアクセスの際のディスクのシーク回数及び回転待ち時間を大幅に削減できるようになる。
【0026】
【実施例】
以下、実施例に従って本発明を詳細に説明する。
に、本発明を具備するデータ処理装置1の一実施例を図示する。
【0027】
図中、20はユーザプログラムであって、ファイルを作成するもの、21はファイルシステムであって、ユーザプログラム20の実行するファイル作成処理を支援するもの、22はリスト展開域であって、ディスク2の持つ空き物理ディスクブロックの管理領域となるものである。
【0028】
に、リスト展開域22に展開される空き物理ディスクブロックの管理情報の一実施例を図示する。
この実施例では、リスト展開域22は、例えば100エントリーから構成され、ディスク2の持つ連続空き物理ディスクブロックの先頭ブロック番号及び連続ブロック数を管理する拡張ファイル割当用リスト30と、拡張ファイル割当用リスト30の管理対象とならない空き物理ディスクブロックのブロック番号を管理する通常ファイル割当用リスト31とを展開することで、ディスク2の持つ空き物理ディスクブロックを管理する構成を採っている。
【0029】
ここで、通常ファイル割当用リスト31は、従来の空き物理ディスクブロックの管理リストに相当するものであり、先頭リスト部分は主記憶上に展開され、残りのリスト部分はディスク2上に展開されることになる。また、拡張ファイル割当用リスト30が、エントリー数を限定することで、ディスク2の持つ全ての連続空き物理ディスクブロックを管理対象としないのは、連続ブロック数の余り少ないものについては、通常ファイル割当用リスト31を使ってファイルに割り当てる空き物理ディスクブロックを特定しても実用上問題ないからである。
【0030】
及び図に、このような管理構成を採るときに実行するファイルシステム21の処理フローの一実施例を図示する。ここで、図は、ファイルシステム21が空き物理ディスクブロックの割り当て時に実行する処理フローの一実施例であり、図は、ファイルシステム21が物理ディスクブロックの解放時に実行する処理フローの一実施例である。
【0031】
次に、これらの処理フローに従って、本発明を詳細に説明する。
ファイルシステム21は、ユーザプログラム20からファイルに対しての空き物理ディスクブロックの割当要求があると、図の処理フローに示すように、先ず最初に、ステップ1で、作成対象のファイルが拡張ファイルか通常ファイルのいずれであるのかを判断する。ここで、拡張ファイルは、ファイルの1論理ブロックのサイズが物理ディスクブロックのサイズの整数倍となるファイルとして定義され、通常ファイルは、ファイルの1論理ブロックのサイズが物理ディスクブロックのサイズと一致するファイルとして定義されるものであって、作成対象のファイルがどちらのファイルであるのかは、例えば、ユーザプログラム20が宣言することで指定されることになる。
【0032】
このステップ1で、作成対象のファイルが通常ファイルであることを判断すると、ステップ2に進んで、通常ファイル割当用リスト31の先頭エントリーに管理される空き物理ディスクブロックを特定して、それをファイルに割り当てて処理を終了する。すなわち、従来技術と同じ方法に従って、空き物理ディスクブロックを特定して割り当てていくのである。
【0033】
一方、ステップ1で、作成対象のファイルが拡張ファイルであることを判断すると、ステップ3に進んで、拡張ファイル割当用リスト30の先頭エントリーを参照し、続くステップ4で、この参照したエントリーの連続ブロック数が要求ブロック数よりも小さいか否かを判断して、小さいことを判断するときには、ステップ5に進んで、拡張ファイル割当用リスト30の次エントリーを参照してからステップ4に戻っていく。
【0034】
このようにしてステップ4で、要求ブロック数よりも大きな連続ブロック数を持つ拡張ファイル割当用リスト30のエントリーを特定すると、ステップ6に進んで、そのエントリーの指す連続空き物理ディスクブロックの先頭から要求ブロック数分の連続空き物理ディスクブロックを特定して、それをファイルに割り当て、続くステップ7で、そのエントリーの管理する先頭ブロック番号及び連続ブロック数を更新し、続くステップ8で、拡張ファイル割当用リスト30のエントリーデータを連続ブロック数順にソートして処理を終了する。
【0035】
このように、ファイルシステム21は、ファイルの1論理ブロックのサイズが物理ディスクブロックのサイズの整数倍となる拡張ファイルについては、図の処理フローに従って、拡張ファイル割当用リスト30を使って連続した空き物理ディスクブロックを割り当てていくのである。
【0036】
また、ファイルシステム21は、ユーザプログラム20からファイルの持つ物理ディスクブロックの解放要求があると、図の処理フローに示すように、先ず最初に、ステップ1で、物理ディスクブロックを解放するファイルが拡張ファイルか通常ファイルのいずれであるのかを判断し、通常ファイルであることを判断すると、ステップ2に進んで、解放される物理ディスクブロックを通常ファイル割当用リスト31に書き込んで処理を終了する。
【0037】
一方、ステップ1で、物理ディスクブロックを解放するファイルが拡張ファイルであることを判断すると、ステップ3に進んで、その拡張ファイルの論理ブロックサイズが規定の閾値以下であるのか否かを判断して、閾値以下であることを判断すると、ステップ4に進んで、解放される連続物理ディスクブロックを通常ファイル割当用リスト31に書き込んで処理を終了する。
【0038】
一方、ステップ3で、物理ディスクブロックを解放する拡張ファイルの論理ブロックサイズが閾値以上であることを判断すると、ステップ5に進んで、拡張ファイル割当用リスト30に空きがあるか否かを判断して、空きのあることを判断すると、ステップ6に進んで、解放される連続物理ディスクブロックを拡張ファイル割当用リスト30に書き込み、続くステップ7で、拡張ファイル割当用リスト30のエントリーデータを連続ブロック数順にソートして処理を終了する。
【0039】
一方、ステップ5で、拡張ファイル割当用リスト30に空きのないことを判断すると、ステップ8に進んで、解放される連続物理ディスクブロックの連続ブロック数と、拡張ファイル割当用リスト30に登録される連続ブロック数とを比較して、解放される連続物理ディスクブロックの連続ブロック数の方が小さいときには、それを通常ファイル割当用リスト30に書き込み、大きいときには、それを小さい方の拡張ファイル割当用リスト30のエントリーデータに代えて拡張ファイル割当用リスト30に書き込むとともに、その書き換えられる拡張ファイル割当用リスト30のエントリーデータを通常ファイル割当用リスト31に書き込む。そして、続くステップ9で、拡張ファイル割当用リスト30のエントリーデータを連続ブロック数順にソートして処理を終了する。
【0040】
このように、ファイルシステム21は、拡張ファイルの物理ディスクブロックが解放されるときには、図の処理フローに従って、拡張ファイル割当用リスト30が連続ブロック数の大きいものを管理することになるようにと処理していくのである。
【0041】
に、リスト展開域22に展開される空き物理ディスクブロックの管理情報の他の実施例を図示する。
この実施例では、リスト展開域22は、図で説明した拡張ファイル割当用リスト30と、拡張ファイル割当用リスト30の管理対象とならない空き物理ディスクブロックのブロック番号を、連続するものについてはチェーニングしつつ管理する第1の通常ファイル割当用リスト32と、第1の通常ファイル割当用リスト32の管理する連続空き物理ディスクブロックの先頭ブロック番号及び連続ブロック数を管理する第2の通常ファイル割当用リスト33とを展開することで、ディスク2の持つ空き物理ディスクブロックを管理する構成を採っている。
【0042】
この第1の通常ファイル割当用リスト32は、例えば、図に示すように、32ビット構成の下位24ビットで空き物理ディスクブロックのブロック番号を管理するとともに、ビット24で、次エントリーのブロック番号と連続しているか否かを管理することで、拡張ファイル割当用リスト30の管理対象とならない空き物理ディスクブロックのブロック番号を、連続するものについてはチェーニングしつつ管理する構成を採るものであり、更に、最終エントリーのA部分で、第2の通常ファイル割当用リスト33をセーブするものである。
【0043】
ないし図11に、このような管理構成を採るときに実行するファイルシステム21の処理フローの一実施例を図示する。ここで、図ないし図10は、ファイルシステム21が空き物理ディスクブロックの割り当て時に実行する処理フローの一実施例であり、図11は、ファイルシステム21が物理ディスクブロックの解放時に実行する処理フローの一実施例である。
【0044】
次に、これらの処理フローに従って、本発明を詳細に説明する。
ファイルシステム21は、ユーザプログラム20からファイルに対しての空き物理ディスクブロックの割当要求があると、図ないし図10の処理フローに示すように、先ず最初に、図の処理フローのステップ1で、作成対象のファイルが拡張ファイルか通常ファイルのいずれであるのかを判断し、作成対象のファイルが通常ファイルであることを判断すると、図の処理フローのステップ2に進んで、第1の通常ファイル割当用リスト32の先頭エントリーに管理される空き物理ディスクブロックを特定して、それをファイルに割り当てる。
【0045】
続いて、ステップ3で、割り当てたエントリーのビット24がチェーニングを表示しているか否かを判断して、非チェーニング表示を判断するときには、ステプ4に進んでそのまま処理を終了し、チェーニング表示を判断するときには、ステップ5に進んで、空き物理ディスクブロックを割り当てたことで変更されることになる第2の通常ファイル割当用リスト33のエントリーデータを更新し、続くステップ6で、第2の通常ファイル割当用リスト33のエントリーデータを連続ブロック数順にソートして処理を終了する。
【0046】
一方、図の処理フローのステップ1で、作成対象のファイルが拡張ファイルであることを判断すると、ステップ7に進んで、要求ブロック数が規定の閾値以下であるのか否かを判断して、閾値以下であることを判断すると、図10の処理フローのステップ8に進んで、第2の通常ファイル割当用リスト33の先頭エントリーを参照する。
【0047】
続いて、ステップ9で、この参照したエントリーの連続ブロック数が要求ブロック数よりも小さいか否かを判断して、小さいことを判断するときには、ステップ10に進んで、参照したエントリーが最終エントリーであるのか否かを判断し、最終エントリーであることを判断するときには、後述する図の処理フローのステップ16へ進み、最終エントリーでないことを判断するときは、ステップ11に進んで、第2の通常ファイル割当用リスト33の次エントリーを参照してからステップ9に戻っていく。
【0048】
このようにしてステップ9で、要求ブロック数よりも大きな連続ブロック数を持つ第2の通常ファイル割当用リスト33のエントリーを特定すると、ステップ12に進んで、そのエントリーの指す連続空き物理ディスクブロックの先頭から要求ブロック数分の連続空き物理ディスクブロックを特定して、それをファイルに割り当て、続くステップ13で、そのエントリーの管理する先頭ブロック番号及び連続ブロック数を更新し、続くステップ14で、第2の通常ファイル割当用リスト33のエントリーデータを連続ブロック数順にソートし、続くステップ15で、割り当てた空き物理ディスクブロックを第1の通常ファイル割当用リスト32から削除して処理を終了する。
【0049】
一方、図の処理フローのステップ7で、要求ブロック数が規定の閾値以上であることを判断するときと、閾値以下であっても、図10の処理フローのステップ10で、第2の通常ファイル割当用リスト33に要求ブロック数より大きい連続ブロック数が登録されていないことを判断するときには、図の処理フローのステップ16に進んで、拡張ファイル割当用リスト30の先頭エントリーを参照し、続くステップ17で、この参照したエントリーの連続ブロック数が要求ブロック数よりも小さいか否かを判断して、小さいことを判断するときには、ステップ18に進んで、拡張ファイル割当用リスト30の次エントリーを参照してからステップ17に戻っていく。
【0050】
このようにしてステップ17で、要求ブロック数よりも大きな連続ブロック数を持つ拡張ファイル割当用リスト30のエントリーを特定すると、ステップ19に進んで、そのエントリーの指す連続空き物理ディスクブロックの先頭から要求ブロック数分の連続空き物理ディスクブロックを特定して、それをファイルに割り当て、続くステップ20で、そのエントリーの管理する先頭ブロック番号及び連続ブロック数を更新し、続くステップ21で、拡張ファイル割当用リスト30のエントリーデータを連続ブロック数順にソートして処理を終了する。
【0051】
このように、ファイルシステム21は、ファイルの1論理ブロックのサイズが物理ディスクブロックのサイズの整数倍となる拡張ファイルについては、図ないし図10の処理フローに従って、要求ブロック数が規定の閾値より小さいときには、第2の通常ファイル割当用リスト33を優先しつつ、第2の通常ファイル割当用リスト33及び拡張ファイル割当用リスト30を使って連続した空き物理ディスクブロックを割り当てていくとともに、要求ブロック数が規定の閾値より大きいときには、拡張ファイル割当用リスト30を使って連続した空き物理ディスクブロックを割り当てていくのである。
【0052】
また、ファイルシステム21は、ユーザプログラム20からファイルの物理ディスクブロックの解放要求があると、図11の処理フローに示すように、先ず最初に、ステップ1で、物理ディスクブロックを解放するファイルが拡張ファイルか通常ファイルのいずれであるのかを判断し、通常ファイルであることを判断すると、ステップ2に進んで、解放される物理ディスクブロックを第1の通常ファイル割当用リスト32に書き込んで処理を終了する。
【0053】
一方、ステップ1で、物理ディスクブロックを解放するファイルが拡張ファイルであることを判断すると、ステップ3に進んで、その拡張ファイルの論理ブロックサイズが規定の閾値以下であるのか否かを判断して、閾値以下であることを判断すると、ステップ4に進んで、解放される連続物理ディスクブロックを第1及び第2の通常ファイル割当用リスト32,33に書き込み、続くステップ5で、第2の通常ファイル割当用リスト33のエントリーデータを連続ブロック数順にソートして処理を終了する。
【0054】
一方、ステップ3で、物理ディスクブロックを解放する拡張ファイルの論理ブロックサイズが閾値以上であることを判断すると、ステップ6に進んで、拡張ファイル割当用リスト30に空きがあるか否かを判断して、空きのあることを判断すると、ステップ7に進んで、解放される連続物理ディスクブロックを拡張ファイル割当用リスト30に書き込み、続くステップ8で、拡張ファイル割当用リスト30のエントリーデータを連続ブロック数順にソートして処理を終了する。
【0055】
一方、ステップ6で、拡張ファイル割当用リスト30に空きのないことを判断すると、ステップ9に進んで、解放される連続物理ディスクブロックの連続ブロック数と、拡張ファイル割当用リスト30に登録される連続ブロック数とを比較して、解放される連続物理ディスクブロックの連続ブロック数の方が小さいときには、それを第1及び第2の通常ファイル割当用リスト32,33に書き込み、大きいときには、それを小さい方の拡張ファイル割当用リスト30のエントリーデータに代えて拡張ファイル割当用リスト30に書き込むとともに、その書き換えられる拡張ファイル割当用リスト30のエントリーデータを第1及び第2の通常ファイル割当用リスト32,33に書き込む。そして、続くステップ10で、拡張ファイル割当用リスト30のエントリーデータを連続ブロック数順にソートして処理を終了する。
【0056】
このように、ファイルシステム21は、拡張ファイルの物理ディスクブロックが解放されるときには、図11の処理フローに従って、拡張ファイル割当用リスト30が連続ブロック数の大きいものを管理することになるようにと処理していくのである。
【0057】
このようにして、ファイルの1論理ブロックを任意の連続した物理ディスクブロックに対応させる構成を採ることが可能になり、これにより、ファイルアクセスの際のディスク2のシーク回数及び回転待ち時間を大幅に削減できるようになる。
【0058】
以上に説明した実施例では、拡張ファイルに割り当てる空き物理ディスクブロックを展開する領域と、通常ファイルに割り当てる空き物理ディスクブロックを展開する領域とが、ディスク2上でどのように配置されるのかということについては特に言及しなかったが、この2つの領域は、ファイルアクセスの際のディスク2のシーク回数及び回転待ち時間の削減効果を図るために、図12に示すように、ディスク2上の異なる領域に割り当てられることが好ましい。
【0059】
この構成を採るときにあって、通常ファイルに割り当てる空き物理ディスクブロックを展開する領域に、空き物理ディスクブロックが無くなることが起こる。このようなときには、ファイルシステム21は、図13に示すように、拡張ファイル割当用リスト30から規定の数の空き物理ディスクブロックを獲得して、それを通常ファイルに割り当てていく構成を採る。
【0060】
すなわち、ファイルシステム21は、ユーザプログラム20からファイルに対しての空き物理ディスクブロックの割当要求があると、図14の処理フローに示すように、先ず最初に、ステップ1で、作成対象のファイルが拡張ファイルであるのか通常ファイルであるのかを判断して、拡張ファイルであることを判断するときには、ステップ2に進んで、上述した拡張ファイル用のアルゴリズムに従ってファイルに空き物理ディスクブロックを割り当てる。
【0061】
一方、ステップ1で、作成対象のファイルが通常ファイルであることを判断するときには、ステップ3に進んで、通常ファイル割当用リスト31が空き物理ディスクブロックを管理しているのか否かを判断して、空き物理ディスクブロックを管理していることを判断するときには、ステップ4に進んで、上述した通常ファイル用のアルゴリズムに従ってファイルに空き物理ディスクブロックを割り当てる。
【0062】
一方、ステップ3で、通常ファイル割当用リスト31が空き物理ディスクブロックを管理していないことを判断するときには、ステップ5に進んで、拡張ファイル割当用リスト30から規定の数の空き物理ディスクブロックを獲得し、続くステップ6で、拡張ファイル割当用リスト30のエントリーデータを連続ブロック数順にソートする。続いて、ステップ7で、この獲得した空き物理ディスクブロックを用いて通常ファイル割当用リスト31を作成してから、ステップ4に進んで、上述した通常ファイル用のアルゴリズムに従ってファイルに空き物理ディスクブロックを割り当てていくのである。
【0063】
また、以上に説明した実施例では、空き物理ディスクブロックをまとめていくコンデンス処理について言及しなかったが、連続空き物理ディスクブロックの展開位置が飛び飛びになると、ディスク2のシーク回数及び回転待ち時間が増加することから、このコンデンス処理を実行していく構成を採ることが好ましい。
【0064】
15に、このコンデンス処理の処理フローの一例を図示する。
ファイルシステム21は、この処理フローに従って、図16に示すように、通常ファイルに割り当てる空き物理ディスクブロックを展開するブロック領域(図中のα,β)を一体的なものと扱いつつ、連続空き物理ディスクブロックをまとめていくコンデンス処理を実行することになる。
【0065】
すなわち、ファイルシステム21は、例えば規定周期に到達することでコンデス処理要求があるときには、この図15の処理フローに示すように、先ず最初に、ステップ1で、拡張ファイル割当用リスト30とファイルのi-node とを使って、拡張ファイルに割り当てた物理ディスクブロック情報と、通常ファイルに割り当てる空き物理ディスクブロックを展開するブロック領域情報とを管理するコンデンス表を作成する。
【0066】
17(a)にこのコンデンス表を図示する。すなわち、拡張ファイルに割り当てた連続物理ディスクブロックのブロック番号と、新たに設定されるその連続物理ディスクブロックのブロック番号のエントリーと、その連続物理ディスクブロックのベクトル長と、その連続物理ディスクブロックのi-node 番号とを管理するとともに、通常ファイルに割り当てる空き物理ディスクブロックを展開するブロック領域のブロック番号と、新たに設定されるそのブロック領域のブロック番号のエントリーと、そのブロック領域のベクトル長と、そのブロック領域のi-node 番号とを管理する図17(a)に示すようなコンデンス表を作成するのである。ここで、ブロック番号は、ディスク2上の展開位置を示すものであり番号の小さい順に並べられる。また、i-node 番号が“−1”となる管理データは、拡張ファイルに割り当てた連続物理ディスクブロックではなくて、図17(b)に示すように、通常ファイルに割り当てる空き物理ディスクブロックを展開するブロック領域を示している。
ステップ1でコンデンス表を作成すると、続いて、ステップ2で、変数nに“1”をセットし、続くステップ3で、変数nの値の指すコンデンス表の管理域に登録されているブロック番号を特定して、そのブロック番号の移動先となる新しいブロック番号を求める。すなわち、1つ前に処理したブロックの最終ブロック番号に続くブロック番号として定義される新しいブロック番号を求めるのである。
【0067】
続いて、ステップ4で、移動前のブロック番号と移動先のブロック番号とが一致するのか否かを判断して、一致しないことを判断するときには、ステップ5に進んで、移動先のブロック番号の領域に、移動元のブロック番号の指す領域に展開されるデータを複写し、続くステップ6で、変数nの値を1つインクリメントする。一方、ステップ4で、一致を判断するときは、ステップ5の処理を省略して、直ちにステップ6に進んで、変数nの値を1つインクリメントする。
【0068】
続いて、ステップ7で、コンデンス表の全登録データの処理が終了したかの否かを判断して、未終了を判断するときには、ステップ3に戻っていき、終了を判断するときは、ステップ8に進んで、コンデンス表に登録されているi-node 番号の持つブロックアドレスを新しいブロック番号に更新して処理を終了する。
【0069】
このようにして、ファイルシステム21は、通常ファイルに割り当てる空き物理ディスクブロックを展開するブロック領域を一体的なものと扱いつつ、連続空き物理ディスクブロックをまとめていくコンデンス処理を実行することになる。このコンデンス処理に従って、ディスク2のシーク回数及び回転待ち時間を大きく削減できるようなる。
【0070】
このコンデンス処理では、通常ファイルに割り当てる空き物理ディスクブロックを展開するブロック領域(図16中のα,β)についても、コンデンス処理の移動対象(実際には、この内のβのブロック領域)とする構成を採ったが、このブロック領域には、空き物理ディスクブロックと使用中の物理ディスクブロックとが混在していることから、このブロック領域に対して、i-node 番号の持つブロックアドレスを新しいブロック番号に更新していく構成を採っていると、負荷が大きいという問題点がある。これから、この負荷が無視できない場合には、図18に示すように、このブロック領域をコンデンス処理の移動対象としない構成を採ることになる。
【0071】
図示実施例について説明したが、本発明はこれに限定されるものではない。例えば、実施例では、拡張ファイル割当用リスト30が連続空き物理ディスクブロックの先頭ブロック番号を管理する構成を開示したが、本発明はこれに限られるものではなく、最終ブロック番号を管理する構成を採ってもよいのである。
【0072】
また、実施例では、拡張ファイル割当用リスト30/第2の通常ファイル割当用リスト33のエントリーデータが変更されるときに、そのエントリーデータを連続ブロック数順にソートする構成を開示したが、このソート機能を持つことで連続空き物理ディスクブロックの割当処理の高速が期待できるものの、本発明はこれを絶対具備しなければならないということではない。
【0074】
【発明の効果】
以上説明したように、本発明によれば、ファイルの1論理ブロックを任意の連続した物理ディスクブロックに対応させる構成を採ることが可能になり、これにより、ファイルアクセスの際のディスクのシーク回数及び回転待ち時間を大幅に削減できるようになる。
【図面の簡単な説明】
【図1】 本発明の原理構成図である。
【図2】 本発明の一実施例である。
【図3】 リスト展開域に展開されるリストの一実施例である。
【図4】 ファイルシステムの実行する処理フローの一実施例である。
【図5】 ファイルシステムの実行する処理フローの一実施例である。
【図6】 リスト展開域に展開されるリストの一実施例である。
【図7】 第1の通常ファイル割当用リストの管理データの一実施例である。
【図8】 ファイルシステムの実行する処理フローの一実施例である。
【図9】 ファイルシステムの実行する処理フローの一実施例である。
【図10】 ファイルシステムの実行する処理フローの一実施例である。
【図11】 ファイルシステムの実行する処理フローの一実施例である。
【図12】 ディスクのファイルシステムデータ領域の説明図である。
【図13】 通常ファイル用領域の追加処理の説明図である。
【図14】 ファイルシステムの実行する処理フローの一例である。
【図15】 ファイルシステムの実行する処理フローの一例である。
【図16】 コンデンス処理の説明図である。
【図17】 コンデンス表の説明図である。
【図18】 コンデンス処理の説明図である。
【図19】 従来技術の説明図である。
【図20】 ファイルのブロック構成の説明図である。
【符号の説明】
1 データ処理装置
2 ディスク
10 ファイル作成手段
11 ファイル作成支援手段
12 拡張管理手段
13 第1の管理手段
14 割当手段
15 更新手段
16 ソート手段
17 第2の管理手段
18 変更手

Claims (7)

  1. 空き物理ディスクブロックを管理してファイルに割り当てるファイルのディスクブロック制御方式において、
    ファイルの1論理ブロックのサイズが物理ディスクブロックのサイズの整数倍となる拡張ファイルのために用意され、規定のエントリー数から構成されて、連続空き物理ディスクブロックの代表ブロック番号及び連続ブロック数を管理する拡張管理手段と、
    前記拡張管理手段の管理対象とならない空き物理ディスクブロックのブロック番号を管理する第1の管理手段と、
    前記第1の管理手段の管理する連続空き物理ディスクブロックの代表ブロック番号及び連続ブロック数を管理する第2の管理手段と、
    拡張ファイルについての空き物理ディスクブロックの獲得要求時に、前記第2の管理手段及び前記拡張管理手段の管理データに従って、その空き物理ディスクブロックの獲得要求数より大きな連続ブロック数を持つ連続空き物理ディスクブロックを特定して、その獲得要求数分の連続空き物理ディスクブロックをファイルに割り当てる割当手段とを備えることを、
    特徴とするファイルのディスクブロック制御方式。
  2. 前記割当手段は、前記獲得要求数が規定の閾値より小さい場合には、前記第2の管理手段を優先しつつ、前記第2の管理手段及び前記拡張管理手段の管理データに従って、前記獲得要求数より大きな連続ブロック数を持つ連続空き物理ディスクブロックを特定し、前記獲得要求数が規定の閾値より大きい場合には、前記拡張管理手段の管理データに従って、前記獲得要求数より大きな連続ブロック数を持つ連続空き物理ディスクブロックを特定することを、
    特徴とする請求項1記載のファイルのディスクブロック制御方式。
  3. 前記第1の管理手段の管理データに従って空き物理ディスクブロックが特定されてファイルに割り当てられる場合に、前記第2の管理手段の管理データを変更し、前記第2の管理手段の管理データに従って空き物理ディスクブロックが特定されてファイルに割り当てられる場合に、前記第1の管理手段の管理データを変更する変更手段を備えることを、
    特徴とする請求項1又は2記載のファイルのディスクブロック制御方式。
  4. 張ファイルについての論理ブロックの解放処理時に、前記拡張管理手段がその論理ブロックの解放処理前に管理している連続ブロック数よりも連続ブロック数の大きい連続空き物理ディスクブロックを管理することになるように、前記拡張管理手段の管理データを更新する更新手段を備えることを、
    特徴とする請求項1ないし3のいずれか1項に記載のファイルのディスクブロック制御方式。
  5. 前記更新手段は、規定の閾値より大きなサイズを持つ論理ブロックを登録対象として、前記拡張管理手段に空きがある場合には、その論理ブロックの持つ連続空き物理ディスクブロックを前記拡張管理手段へ登録するとともに、空きがない場合にあって、その連続空き物理ディスクブロックの方が登録のものより大きな連続ブロック数を持つ場合には、その連続空き物理ディスクブロックを登録されている小さな連続ブロック数を持つものに代えて前記拡張管理手段へ登録することを、
    特徴とする請求項4記載のファイルのディスクブロック制御方式。
  6. 前記拡張管理手段の管理データが変更される場合に、その管理データを連続ブロック数順にソートするソート手段を備えることを、
    特徴とする請求項1ないし5のいずれか1項に記載のファイルのディスクブロック制御方式。
  7. 前記ソート手段は、前記第2の管理手段が備えられる場合にあって、前記第2の管理手段の管理データが変更される場合には、その管理データを連続ブロック数順にソートすることを、
    特徴とする請求項6記載のファイルのディスクブロック制御方式。
JP32438294A 1994-06-17 1994-12-27 ファイルのディスクブロック制御方式 Expired - Fee Related JP3745398B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP32438294A JP3745398B2 (ja) 1994-06-17 1994-12-27 ファイルのディスクブロック制御方式
US08/490,589 US5737743A (en) 1994-06-17 1995-06-15 Disk block controller and file system which supports large files by allocating multiple sequential physical blocks to logical blocks

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP13528394 1994-06-17
JP6-135283 1994-06-17
JP32438294A JP3745398B2 (ja) 1994-06-17 1994-12-27 ファイルのディスクブロック制御方式

Publications (2)

Publication Number Publication Date
JPH0863377A JPH0863377A (ja) 1996-03-08
JP3745398B2 true JP3745398B2 (ja) 2006-02-15

Family

ID=26469163

Family Applications (1)

Application Number Title Priority Date Filing Date
JP32438294A Expired - Fee Related JP3745398B2 (ja) 1994-06-17 1994-12-27 ファイルのディスクブロック制御方式

Country Status (2)

Country Link
US (1) US5737743A (ja)
JP (1) JP3745398B2 (ja)

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3641872B2 (ja) 1996-04-08 2005-04-27 株式会社日立製作所 記憶装置システム
US6742080B1 (en) 1996-09-06 2004-05-25 Intel Corporation Disk block allocation optimization methodology and application
JPH10301818A (ja) * 1997-04-28 1998-11-13 Matsushita Electric Ind Co Ltd ファイルシステム及びその管理方法
US6707982B2 (en) * 1997-05-30 2004-03-16 Canon Kabushiki Kaisha Image recording apparatus having computer readable recording medium for recording image data
US5845297A (en) * 1997-06-30 1998-12-01 Intel Corporation Disk block relocation de-optimization detection methodology and applications
US6138125A (en) * 1998-03-31 2000-10-24 Lsi Logic Corporation Block coding method and system for failure recovery in disk arrays
US6411770B1 (en) * 1998-07-02 2002-06-25 Sony Corporation Data recording method and apparatus
US6374314B1 (en) * 1998-09-28 2002-04-16 Raytheon Company Method for managing storage of data by storing buffer pointers of data comprising a sequence of frames in a memory location different from a memory location for pointers of data not comprising a sequence of frames
US6266702B1 (en) 1998-09-28 2001-07-24 Raytheon Company Method and apparatus to insert and extract data from a plurality of slots of data frames by using access table to identify network nodes and their slots for insertion and extraction data
US6381647B1 (en) 1998-09-28 2002-04-30 Raytheon Company Method and system for scheduling network communication
US6317415B1 (en) 1998-09-28 2001-11-13 Raytheon Company Method and system for communicating information in a network
US6523085B1 (en) 1999-12-08 2003-02-18 International Business Machines Corporation Disk drive and method of multi-block size addressing
US6977927B1 (en) 2000-09-18 2005-12-20 Hewlett-Packard Development Company, L.P. Method and system of allocating storage resources in a storage area network
US7386610B1 (en) 2000-09-18 2008-06-10 Hewlett-Packard Development Company, L.P. Internet protocol data mirroring
US6804819B1 (en) 2000-09-18 2004-10-12 Hewlett-Packard Development Company, L.P. Method, system, and computer program product for a data propagation platform and applications of same
US6606690B2 (en) 2001-02-20 2003-08-12 Hewlett-Packard Development Company, L.P. System and method for accessing a storage area network as network attached storage
JP2003114817A (ja) * 2001-08-03 2003-04-18 Toshiba Corp 情報記憶媒体及び情報記録方法
US20040268082A1 (en) * 2003-06-27 2004-12-30 Michael Yatziv Method and system for parcel-based data mapping
US8166101B2 (en) * 2003-08-21 2012-04-24 Microsoft Corporation Systems and methods for the implementation of a synchronization schemas for units of information manageable by a hardware/software interface system
US7590643B2 (en) * 2003-08-21 2009-09-15 Microsoft Corporation Systems and methods for extensions and inheritance for units of information manageable by a hardware/software interface system
US8238696B2 (en) * 2003-08-21 2012-08-07 Microsoft Corporation Systems and methods for the implementation of a digital images schema for organizing units of information manageable by a hardware/software interface system
US7401104B2 (en) * 2003-08-21 2008-07-15 Microsoft Corporation Systems and methods for synchronizing computer systems through an intermediary file system share or device
JP2005135126A (ja) * 2003-10-30 2005-05-26 Hitachi Ltd フラグメント防止ファイルシステム
US20050166012A1 (en) * 2004-01-26 2005-07-28 Yong Liu Method and system for cognitive pre-fetching
US20060015663A1 (en) * 2004-07-15 2006-01-19 International Business Machines Corporation Wireless communications device for expanding storage capacity of portable electronic equipment
JP4690783B2 (ja) * 2005-06-08 2011-06-01 株式会社日立製作所 ボリューム管理システムおよびその方法
EP2031491A1 (en) * 2007-08-28 2009-03-04 Deutsche Thomson OHG Method for storing files on a storage medium, storage medium, and video recording apparatus using the method
US20090210647A1 (en) 2008-02-15 2009-08-20 Madhusudanan Kandasamy Method for dynamically resizing file systems
US8140807B2 (en) * 2008-02-15 2012-03-20 International Business Machines Corporation System and computer program product for dynamically resizing file systems
US8103621B2 (en) * 2008-10-03 2012-01-24 International Business Machines Corporation HSM two-way orphan reconciliation for extremely large file systems

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5021946A (en) * 1988-06-17 1991-06-04 Modular Computer Systems, Inc. Mostly contiguous file allocation technique involving file extension
GB8829919D0 (en) * 1988-12-22 1989-02-15 Int Computer Limited File system
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
US5333311A (en) * 1990-12-10 1994-07-26 Alsoft, Inc. Optimizing a magnetic disk by allocating files by the frequency a file is accessed/updated or by designating a file to a fixed location on a disk
US5416915A (en) * 1992-12-11 1995-05-16 International Business Machines Corporation Method and system for minimizing seek affinity and enhancing write sensitivity in a DASD array
US5557770A (en) * 1993-03-24 1996-09-17 International Business Machines Corporation Disk storage apparatus and method for converting random writes to sequential writes while retaining physical clustering on disk

Also Published As

Publication number Publication date
JPH0863377A (ja) 1996-03-08
US5737743A (en) 1998-04-07

Similar Documents

Publication Publication Date Title
JP3745398B2 (ja) ファイルのディスクブロック制御方式
CA2055295C (en) Logical mapping of data objects using data spaces
US6874062B1 (en) System and method for utilizing a hierarchical bitmap structure for locating a set of contiguous ordered search items having a common attribute
US6587915B1 (en) Flash memory having data blocks, spare blocks, a map block and a header block and a method for controlling the same
US6961835B2 (en) System and method for autonomically reallocating memory among buffer pools
JPH08129457A (ja) 外部記憶ストラクチャを拡大、縮小、及び再配分するための方法及び装置
JP2858795B2 (ja) 実記憶割り当て方法
JPH02300949A (ja) メモリ制御方法
JP3510042B2 (ja) データベース管理方法及びシステム
JP2001175529A (ja) メモリ制御回路
JP3250861B2 (ja) ディスク装置システム
JP2006513493A (ja) フリーバッファプールを使用することによるメモリの管理
JP2003330792A (ja) ディスクシステムとそのキャッシュ制御方法
WO1999001817A1 (en) Defragmentation of stored data without pointer indirection
JP3609841B2 (ja) ファイル管理装置
JP2000181764A (ja) ファイル管理システム
JPH07182220A (ja) 分散ファイルシステムおよびそのファイルキャッシング方法
JP4204405B2 (ja) メモリ管理方式
JP2002259201A (ja) 計算機システムの起動方法
JP3468181B2 (ja) 分散データ処理装置及びデータ格納方法と負荷分散方法並びに記録媒体
JPH04219836A (ja) ブロック管理方式
JPH0346046A (ja) フアイルデータ管理方法
JPH03127137A (ja) ファイル領域割り当て方式
JPH0581091A (ja) データ処理装置
JPH0398110A (ja) 多重データ読み込み方式

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050809

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20051011

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20051115

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20051117

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091202

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees