JP2550055B2 - 記憶装置の空領域管理装置 - Google Patents
記憶装置の空領域管理装置Info
- Publication number
- JP2550055B2 JP2550055B2 JP62064181A JP6418187A JP2550055B2 JP 2550055 B2 JP2550055 B2 JP 2550055B2 JP 62064181 A JP62064181 A JP 62064181A JP 6418187 A JP6418187 A JP 6418187A JP 2550055 B2 JP2550055 B2 JP 2550055B2
- Authority
- JP
- Japan
- Prior art keywords
- empty area
- data
- block
- area
- empty
- 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 - Lifetime
Links
Landscapes
- Memory System (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
【発明の詳細な説明】 〔概要〕 記憶装置の空領域管理装置でって、記憶装置の所定容
量単位の複数のブロックに一対一で対応するコラムを有
する空領域管理テーブルを備え、各コラムには対応する
ブロックが使用中か、空領域の先頭ブロックか、又はそ
の先頭ブロックに後続する空領域かを識別できるデータ
を格納したことにより、空領域の不連続領域に情報が格
納される確率を低下させ、それにより、情報の読出し時
間の短縮を図ったものである。
量単位の複数のブロックに一対一で対応するコラムを有
する空領域管理テーブルを備え、各コラムには対応する
ブロックが使用中か、空領域の先頭ブロックか、又はそ
の先頭ブロックに後続する空領域かを識別できるデータ
を格納したことにより、空領域の不連続領域に情報が格
納される確率を低下させ、それにより、情報の読出し時
間の短縮を図ったものである。
本発明は記憶装置の空領域管理装置に関し、特に、ハ
ードディスクやフロッピーディスク等の記憶装置の記憶
領域の空領域を連続領域で管理することにより、記憶装
置に対する情報の書込み及び読出し速度を向上させる空
領域管理装置に関する。
ードディスクやフロッピーディスク等の記憶装置の記憶
領域の空領域を連続領域で管理することにより、記憶装
置に対する情報の書込み及び読出し速度を向上させる空
領域管理装置に関する。
ディスク装置等の外部記憶装置の読出し時間は速いこ
とが要求されるが、そのためには情報を記憶装置の連続
領域に格納しておくことが望ましく、これを実現するた
めには記憶装置の空領域を連続領域で管理しておく必要
がある。
とが要求されるが、そのためには情報を記憶装置の連続
領域に格納しておくことが望ましく、これを実現するた
めには記憶装置の空領域を連続領域で管理しておく必要
がある。
従来の空領域管理装置を第8図に示す。第8図におい
て、61はディスクであって、その記憶領域をセクタ単位
に分割し、使用中のセクタ、即ち、有用なデータが格納
されているセクタを斜線で示してある。62は空領域情報
管理テーブルである。ディスク61の領域はセクタ単位で
管理されており、空領域の開始位置及び終了位置の情報
の各々は、シリンダ番号、トラック番号、及びセクタ番
号で表されている。
て、61はディスクであって、その記憶領域をセクタ単位
に分割し、使用中のセクタ、即ち、有用なデータが格納
されているセクタを斜線で示してある。62は空領域情報
管理テーブルである。ディスク61の領域はセクタ単位で
管理されており、空領域の開始位置及び終了位置の情報
の各々は、シリンダ番号、トラック番号、及びセクタ番
号で表されている。
ディスク61の空領域にデータを格納する場合、処理装
置(図示せず)はテーブル62を参照して、必要なセクタ
数だけ空領域を確保する。即ち、データ格納に必要なセ
クタ数の要求があると、空領域情報テーブル62を参照し
て、空領域位置の先頭から要求分の容量だけ、セクタの
連続・不連続にかかわらず空領域を新たなデータのため
に提供する。図示の例では、例えば要求セクタ数が2で
あるとき、空領域位置の全容量である1セクタ分と、
空領域位置のセクタ2とに不連続にデータが格納され
ることになる。
置(図示せず)はテーブル62を参照して、必要なセクタ
数だけ空領域を確保する。即ち、データ格納に必要なセ
クタ数の要求があると、空領域情報テーブル62を参照し
て、空領域位置の先頭から要求分の容量だけ、セクタの
連続・不連続にかかわらず空領域を新たなデータのため
に提供する。図示の例では、例えば要求セクタ数が2で
あるとき、空領域位置の全容量である1セクタ分と、
空領域位置のセクタ2とに不連続にデータが格納され
ることになる。
上記の如く、従来方式によれば、要求セクタ数の容量
が連続している空領域が存在するにもかかわらず、デー
タが不連続な領域に格納されることがあり、データが不
連続に格納された場合にこれを読み出すのに要する時間
が長くなるという問題がある。
が連続している空領域が存在するにもかかわらず、デー
タが不連続な領域に格納されることがあり、データが不
連続に格納された場合にこれを読み出すのに要する時間
が長くなるという問題がある。
更に、空領域情報テーブル62内の各番号を示すデータ
が長いので、ディスク61の空領域にデータを格納する場
合、新たなデータの要求セクタ数と空領域情報テーブル
62内のデータ量との差分の演算に要する時間が長くな
り、従ってデータ格納のための処理時間が長くなるとい
う問題もある。
が長いので、ディスク61の空領域にデータを格納する場
合、新たなデータの要求セクタ数と空領域情報テーブル
62内のデータ量との差分の演算に要する時間が長くな
り、従ってデータ格納のための処理時間が長くなるとい
う問題もある。
更に、空領域情報テーブル62の各コラムには前述の如
くシリンダ番号、トラック番号、及びセクタ番号が格納
されているが、例えば、上記各番号をそれぞれ1バイト
で表すと、空領域の開始位置と終了位置を表すために計
6バイトのデータが必要となり、空領域情報テーブル62
が占める記憶領域が大きいという問題もある。
くシリンダ番号、トラック番号、及びセクタ番号が格納
されているが、例えば、上記各番号をそれぞれ1バイト
で表すと、空領域の開始位置と終了位置を表すために計
6バイトのデータが必要となり、空領域情報テーブル62
が占める記憶領域が大きいという問題もある。
本発明の目的は、空領域を取り出した後のテーブル上
のフラグの更新が最低限で済み、かつ空領域を返却した
後のテーブル上のフラグの更新が最低限で済む空領域管
理装置を提供することにある。
のフラグの更新が最低限で済み、かつ空領域を返却した
後のテーブル上のフラグの更新が最低限で済む空領域管
理装置を提供することにある。
第1図は本発明の原理ブロック図である。
第1図において、本発明の記憶装置の空領域管理装置
は、記憶装置1の情報格納領域を所定容量単位の複数の
ブロックに分割したとき該ブロックの各々に対応するコ
ラムを有する空領域管理テーブル2を具備し、 該空領域管理テーブル2のコラムの各々は、前記記憶
装置1の対応するブロックの使用状態を示すデータを格
納するものであり、 該使用状態を示すデータは、対応するブロックが使用
中(a)か空領域かを識別するものであって、前記記憶
装置1の1以上の連続する空領域に対しては、該空領域
の先頭のブロックに対応するコラムに、連続する空領域
のブロック数を示す第1のデータ(i)を格納し、か
つ、他の空領域のブロックに対応するコラムには前記第
1のデータとは異なりかつ空領域であることを示す第2
のデータ(b)を格納するようにし、 更に、前記記憶装置1の空領域の検索容量の指示に応
じて、検索するブロック数を算出し、前記空領域管理テ
ーブル2の該連続する空領域のブロック数を示す該第1
のデータ(i)のみを参照して前記算出した検索ブロッ
ク数以上の空領域ブロックを検索する空領域検索処理部
3と、 該空領域検索処理部3による、検索結果に応じて前記
記憶装置1の検索された空領域ブロックに情報を格納
し、かつ使用中のブロックを必要に応じて空領域に解放
する処理を行う格納解放処理部4と、 該格納解放処理部4における格納又は解放の処理に応
じて、空領域に情報を格納する場合は前記空領域管理テ
ーブル2内で前記情報が格納された領域に対応するコラ
ムを使用中を示すデータ(a)にし、かつ、新たな空領
域の先頭ブロックに対応するコラムを前記第1のデータ
(i)で更新し、使用中の領域を解放する場合は、解放
するブロック数を“X"としたとき、前記空領域となる領
域の先頭ブロックに対応するコラムを第1のデータ(i
=X)で、かつ他の空領域となるブロックに対応するコ
ラムを第2のデータ(b)でそれぞれ更新し、さらに、
解放したブロックの上側に空領域が存在する場合は前記
第1のデーウ(i=X)に解放したブロックの上側の連
続する空領域の先頭のブロックに対応するコラムの第1
のデータ(i=Y)を加算してその結果としての第1の
データ(i=X+Y)で同コラムを更新し、かつ第1の
データ(i=X)にて更新済のコラムを該第2のデータ
(b)にて更新し、さらに解放したブロックの下側に空
領域が存在する場合は前記第1のデータ(i=X+Y)
に下側の連続する空領域の先頭に対応するコラムの第1
のデータ(i=Z)を加算して、その結果としての第1
のデータ(i=X+Y+Z)にて連続する全空領域の最
先頭のブロックに対応するコラムを更新すると共に前記
下側の空領域の先頭コラムを該第2のデータ(b)にて
更新する管理テーブル更新処理部(5)と、を備えてい
る。
は、記憶装置1の情報格納領域を所定容量単位の複数の
ブロックに分割したとき該ブロックの各々に対応するコ
ラムを有する空領域管理テーブル2を具備し、 該空領域管理テーブル2のコラムの各々は、前記記憶
装置1の対応するブロックの使用状態を示すデータを格
納するものであり、 該使用状態を示すデータは、対応するブロックが使用
中(a)か空領域かを識別するものであって、前記記憶
装置1の1以上の連続する空領域に対しては、該空領域
の先頭のブロックに対応するコラムに、連続する空領域
のブロック数を示す第1のデータ(i)を格納し、か
つ、他の空領域のブロックに対応するコラムには前記第
1のデータとは異なりかつ空領域であることを示す第2
のデータ(b)を格納するようにし、 更に、前記記憶装置1の空領域の検索容量の指示に応
じて、検索するブロック数を算出し、前記空領域管理テ
ーブル2の該連続する空領域のブロック数を示す該第1
のデータ(i)のみを参照して前記算出した検索ブロッ
ク数以上の空領域ブロックを検索する空領域検索処理部
3と、 該空領域検索処理部3による、検索結果に応じて前記
記憶装置1の検索された空領域ブロックに情報を格納
し、かつ使用中のブロックを必要に応じて空領域に解放
する処理を行う格納解放処理部4と、 該格納解放処理部4における格納又は解放の処理に応
じて、空領域に情報を格納する場合は前記空領域管理テ
ーブル2内で前記情報が格納された領域に対応するコラ
ムを使用中を示すデータ(a)にし、かつ、新たな空領
域の先頭ブロックに対応するコラムを前記第1のデータ
(i)で更新し、使用中の領域を解放する場合は、解放
するブロック数を“X"としたとき、前記空領域となる領
域の先頭ブロックに対応するコラムを第1のデータ(i
=X)で、かつ他の空領域となるブロックに対応するコ
ラムを第2のデータ(b)でそれぞれ更新し、さらに、
解放したブロックの上側に空領域が存在する場合は前記
第1のデーウ(i=X)に解放したブロックの上側の連
続する空領域の先頭のブロックに対応するコラムの第1
のデータ(i=Y)を加算してその結果としての第1の
データ(i=X+Y)で同コラムを更新し、かつ第1の
データ(i=X)にて更新済のコラムを該第2のデータ
(b)にて更新し、さらに解放したブロックの下側に空
領域が存在する場合は前記第1のデータ(i=X+Y)
に下側の連続する空領域の先頭に対応するコラムの第1
のデータ(i=Z)を加算して、その結果としての第1
のデータ(i=X+Y+Z)にて連続する全空領域の最
先頭のブロックに対応するコラムを更新すると共に前記
下側の空領域の先頭コラムを該第2のデータ(b)にて
更新する管理テーブル更新処理部(5)と、を備えてい
る。
空領域管理テーブル2の各コラムには、記憶装置の対
応するブロックが使用中であることを示すデータ、連続
する空領域のブロック数を示すデータ、及び連続する空
領域の先頭ブロック以外のブロックであることを示すデ
ータの3種類のデータのいずれかが格納されているだけ
であり、これらのデータは短くて済むので、記憶装置1
に格納しようとするデータの要求ブロック数を満たす連
続空領域の検索に要する時間が短くて済む。また、要求
ブロック数を満たす連続空領域が存在する場合には、デ
ータが不連続のブロックに格納されることはない。
応するブロックが使用中であることを示すデータ、連続
する空領域のブロック数を示すデータ、及び連続する空
領域の先頭ブロック以外のブロックであることを示すデ
ータの3種類のデータのいずれかが格納されているだけ
であり、これらのデータは短くて済むので、記憶装置1
に格納しようとするデータの要求ブロック数を満たす連
続空領域の検索に要する時間が短くて済む。また、要求
ブロック数を満たす連続空領域が存在する場合には、デ
ータが不連続のブロックに格納されることはない。
第2図は本発明の一実施例による空領域管理装置にお
いて、ディスク装置21の状態と空領域管理テーブル22の
状態との対応関係を示す図である。
いて、ディスク装置21の状態と空領域管理テーブル22の
状態との対応関係を示す図である。
第2図において、ディスク装置22のブロック0は空領
域、ブロック1は使用中、ブロック2及び3は空領域、
ブロック4は使用中、ブロック5〜9は空領域を示して
いる。各ブロックは、例えば256バイトのセクタに対応
している。空領域管理テーブル22のコラム0,1,2,...は
それぞれ、ディスク装置21のブロック0,1,2,...に一対
一で対応している。空領域管理テーブル22において、コ
ラム0にはディスク21のブロック0が空領域の先頭ブロ
ックであり、かつ連続する空領域のブロック数は1であ
ることを示すフラグである「1」が格納されている。コ
ラム1には、対応するブロック1が使用中であることを
示すフラグ「−1」が格納されている。コラム2には、
対応するブラック2が空領域の先頭ブロックであり、か
つ連続する空領域のブロック数が2であることを示すフ
ラグ「2」が格納されている。コラム3には対応するブ
ロック3が、空領域の先頭ブロックではない空領域であ
ることを示すフラグ「0」が格納されている。
域、ブロック1は使用中、ブロック2及び3は空領域、
ブロック4は使用中、ブロック5〜9は空領域を示して
いる。各ブロックは、例えば256バイトのセクタに対応
している。空領域管理テーブル22のコラム0,1,2,...は
それぞれ、ディスク装置21のブロック0,1,2,...に一対
一で対応している。空領域管理テーブル22において、コ
ラム0にはディスク21のブロック0が空領域の先頭ブロ
ックであり、かつ連続する空領域のブロック数は1であ
ることを示すフラグである「1」が格納されている。コ
ラム1には、対応するブロック1が使用中であることを
示すフラグ「−1」が格納されている。コラム2には、
対応するブラック2が空領域の先頭ブロックであり、か
つ連続する空領域のブロック数が2であることを示すフ
ラグ「2」が格納されている。コラム3には対応するブ
ロック3が、空領域の先頭ブロックではない空領域であ
ることを示すフラグ「0」が格納されている。
以下、同様に、コラムに格納されたフラグが、「−
1」のときは対応するブロックが使用中の領域であり、
フラグが1以上の数“i"のときは対応するブロックが連
続空領域であってその連続ブロック数が“i"であること
を意味しており、フラグが「0」のときは対応するブロ
ックが空領域の先頭ブロックではない空領域であること
を意味している。
1」のときは対応するブロックが使用中の領域であり、
フラグが1以上の数“i"のときは対応するブロックが連
続空領域であってその連続ブロック数が“i"であること
を意味しており、フラグが「0」のときは対応するブロ
ックが空領域の先頭ブロックではない空領域であること
を意味している。
第2図に示した状態から出発して、500バイトの新た
なデータをディスク21に格納する場合の空領域管理テー
ブルの内容の変化を第3図に示し、空領域検索時の第1
図の原理ブロック図に示した装置の動作を第4図のフロ
ーチャートに示す。
なデータをディスク21に格納する場合の空領域管理テー
ブルの内容の変化を第3図に示し、空領域検索時の第1
図の原理ブロック図に示した装置の動作を第4図のフロ
ーチャートに示す。
第1図、第3図及び第4図によって、ディスク21への
データ格納動作及び空領域管理テーブル22の更新動作を
次に説明する。
データ格納動作及び空領域管理テーブル22の更新動作を
次に説明する。
第3図(a)の状態は第2図に示した状態と同一であ
る。今、格納解放処理部4に対して500バイトのデータ
格納要求があると、格納解放処理部4は空領域検索処理
部3に対して検索バイト数を通知する。空領域検索処理
部3では通知された検索バイト数に基づいて、検索する
ブロック数を算出する。本実施例では、500バイトの検
索要求であるので、検索するブロック数は1ブロックが
256バイトの場合、2ブロックとなる(第4図、ステッ
プ40)。
る。今、格納解放処理部4に対して500バイトのデータ
格納要求があると、格納解放処理部4は空領域検索処理
部3に対して検索バイト数を通知する。空領域検索処理
部3では通知された検索バイト数に基づいて、検索する
ブロック数を算出する。本実施例では、500バイトの検
索要求であるので、検索するブロック数は1ブロックが
256バイトの場合、2ブロックとなる(第4図、ステッ
プ40)。
次いで、空領域検索処理部3は、空領域管理テーブル
22(第1図では2)を参照して、上記算出したブロック
数(=2)以上の空領域ブロックを検索し(第4図、ス
テップ41)、空領域が連続ブロックで存在するかどうか
測定する(ステップ42)。第3図(a)の状態では空領
域管理テーブル22のコラム3にフラグ「2」が格納され
ており、このフラグ「2」は算出ブロック数に一致する
ので空領域有りと判定される。
22(第1図では2)を参照して、上記算出したブロック
数(=2)以上の空領域ブロックを検索し(第4図、ス
テップ41)、空領域が連続ブロックで存在するかどうか
測定する(ステップ42)。第3図(a)の状態では空領
域管理テーブル22のコラム3にフラグ「2」が格納され
ており、このフラグ「2」は算出ブロック数に一致する
ので空領域有りと判定される。
空領域有りとの判定結果は、その空領域の先頭コラム
番号と共に、空領域検索処理部3から格納解放処理部4
に通知され、処理部4では通知結果に基づいて、ディス
ク21(第1図では記憶装置1)の検索された空領域にデ
ータを格納する。これと同時に又はこの直前又は直後
に、処理部4は管理テーブル更新処理部5に対して、デ
ータを格納したブロックのブロック番号を通知し、管理
テーブル更新処理部5は通知されたブロック番号に対応
するコラムのフラグを「−」に更新する(ステップ4
3)。ここで、検索したブロックの全てのエリアにデー
タが格納されない場合でもそのブロックに対応するコラ
ムのフラグは「−1」に更新される。例えば500バイト
のデータを格納すると、ブロック3のエリアは6バイト
余るが、コラム3のフラグはこの場合でも「−1」に更
新する。
番号と共に、空領域検索処理部3から格納解放処理部4
に通知され、処理部4では通知結果に基づいて、ディス
ク21(第1図では記憶装置1)の検索された空領域にデ
ータを格納する。これと同時に又はこの直前又は直後
に、処理部4は管理テーブル更新処理部5に対して、デ
ータを格納したブロックのブロック番号を通知し、管理
テーブル更新処理部5は通知されたブロック番号に対応
するコラムのフラグを「−」に更新する(ステップ4
3)。ここで、検索したブロックの全てのエリアにデー
タが格納されない場合でもそのブロックに対応するコラ
ムのフラグは「−1」に更新される。例えば500バイト
のデータを格納すると、ブロック3のエリアは6バイト
余るが、コラム3のフラグはこの場合でも「−1」に更
新する。
以上の動作の結果の状態が第3図(b)に示されてい
る。
る。
ステップ42にて、要求されたバイト数以上の連続する
空領域が検索できなかったとき始めて、空領域管理テー
ブル22中の不連続な空領域を組み合わせて、空領域を検
索する(ステップ44)。
空領域が検索できなかったとき始めて、空領域管理テー
ブル22中の不連続な空領域を組み合わせて、空領域を検
索する(ステップ44)。
第8図に示した従来方式と異なり、まず最初に必要な
連続する空領域を検索してそこにデータを格納するの
で、データが不連続のブロックに格納される確率は極め
て小さくなる。
連続する空領域を検索してそこにデータを格納するの
で、データが不連続のブロックに格納される確率は極め
て小さくなる。
ところが、ディスク21内の使用中のブロックであって
も、その中のデータが不用になると空領域に解放しなけ
ればならない。第5図は、このような領域解放の要求が
あった場合の動作を示すフローチャートである。第1図
及び第5図において、格納解放処理部4に対して、解放
すべきセクタのブロック番号を通知して領域解放要求が
なされると、ステップ51にて、管理テーブル更新処理部
5は、空領域管理テーブルにおいて解放となるブロック
のフラグを空領域フラグに更新する。
も、その中のデータが不用になると空領域に解放しなけ
ればならない。第5図は、このような領域解放の要求が
あった場合の動作を示すフローチャートである。第1図
及び第5図において、格納解放処理部4に対して、解放
すべきセクタのブロック番号を通知して領域解放要求が
なされると、ステップ51にて、管理テーブル更新処理部
5は、空領域管理テーブルにおいて解放となるブロック
のフラグを空領域フラグに更新する。
次いでステップ52にて、解放したブロックの先頭のブ
ロック番号とブロック数が格納解放処理部4から管理テ
ーブル更新処理部5に通知され、更新処理部5はこの通
知に基づいて、空領域管理テーブルの解放したブロック
に対応するコラムの上のコラムが空領域を示している場
合は、解放したブロックとその上の空領域を連続な空領
域とし、対応するコラムのフラグを更新する。
ロック番号とブロック数が格納解放処理部4から管理テ
ーブル更新処理部5に通知され、更新処理部5はこの通
知に基づいて、空領域管理テーブルの解放したブロック
に対応するコラムの上のコラムが空領域を示している場
合は、解放したブロックとその上の空領域を連続な空領
域とし、対応するコラムのフラグを更新する。
次いでステップ53においても、解放したブロックの下
側のブロックが空領域の場合は、ステップ52にて空領域
としたブロックと上記下側のブロックを連続な空領域と
して、対応するコラムのフラグを更新する。
側のブロックが空領域の場合は、ステップ52にて空領域
としたブロックと上記下側のブロックを連続な空領域と
して、対応するコラムのフラグを更新する。
第6図は第4図に示す空領域検索動作の詳細なフロー
チャートであり、第7図は第5図に示す領域解放動作の
詳細なフローチャートである。これらの図中、(空)は
空領域検索処理部3で行う処理を示し、(管)は管理テ
ーブル更新処理部5で行う処理を示す。さらに、ステッ
プ(41),(42),(52)等は、それぞれ、ステップ4
1,42,52を詳細に説明するステップであり、ステップ45
はステップ43を詳細に説明するために追加したステップ
である。
チャートであり、第7図は第5図に示す領域解放動作の
詳細なフローチャートである。これらの図中、(空)は
空領域検索処理部3で行う処理を示し、(管)は管理テ
ーブル更新処理部5で行う処理を示す。さらに、ステッ
プ(41),(42),(52)等は、それぞれ、ステップ4
1,42,52を詳細に説明するステップであり、ステップ45
はステップ43を詳細に説明するために追加したステップ
である。
以上説明したように、本発明によれば、記憶装置の所
定容量単位の複数のブロックに一対一に対応するコラム
を有する空領域管理テーブルを備えて、各コラムには、
対応するブロックが使用中か、空領域の先頭ブロック
か、又はその先頭ブロックに後続する空領域かを識別で
きるデータを格納したことにより、空領域を取り出した
後のテーブル上のフラグの更新が最低限で済み、かつ空
領域を返却した後のテーブル上のフラグの更新が最低限
で済むという効果が得られ、その結果、記憶装置にデー
タを新たに格納する場合、そのデータの格納に必要な連
続空領域が存在する場合は、短時間で連続する空領域に
データを格納できるという効果が得られ、格納したデー
タの読出し時間も、格納領域が連続なので短時間で済
み、さらに空領域管理テーブルに格納されるデータ量は
フラグのような小容量のものでよいので処理時間の短縮
及び格納領域の減少という効果も得られる。
定容量単位の複数のブロックに一対一に対応するコラム
を有する空領域管理テーブルを備えて、各コラムには、
対応するブロックが使用中か、空領域の先頭ブロック
か、又はその先頭ブロックに後続する空領域かを識別で
きるデータを格納したことにより、空領域を取り出した
後のテーブル上のフラグの更新が最低限で済み、かつ空
領域を返却した後のテーブル上のフラグの更新が最低限
で済むという効果が得られ、その結果、記憶装置にデー
タを新たに格納する場合、そのデータの格納に必要な連
続空領域が存在する場合は、短時間で連続する空領域に
データを格納できるという効果が得られ、格納したデー
タの読出し時間も、格納領域が連続なので短時間で済
み、さらに空領域管理テーブルに格納されるデータ量は
フラグのような小容量のものでよいので処理時間の短縮
及び格納領域の減少という効果も得られる。
第1図は本発明の原理ブロック図、 第2図は本発明の一実施例による空領域管理装置におけ
るディスクの状態と空管理管理テーブルの状態との対応
関係を示す図、 第3図は新たなデータをディスクに格納する場合の空領
域管理テーブルの内容の変化を示す図、 第4図は空領域検索動作を示すフローチャート、 第5図は領域解放動作を示すフローチャート、 第6図は第4図に示す空領域検索動作の詳細なフローチ
ャート、 第7図は第5図に示す領域解放動作の詳細なフローチャ
ート、 第8図は従来の空領域管理装置の説明図である。 1……記憶装置、2……空領域管理テーブル、 3……空領域検索処理部、4……格納解放処理部、 5……管理テーブル更新処理部。
るディスクの状態と空管理管理テーブルの状態との対応
関係を示す図、 第3図は新たなデータをディスクに格納する場合の空領
域管理テーブルの内容の変化を示す図、 第4図は空領域検索動作を示すフローチャート、 第5図は領域解放動作を示すフローチャート、 第6図は第4図に示す空領域検索動作の詳細なフローチ
ャート、 第7図は第5図に示す領域解放動作の詳細なフローチャ
ート、 第8図は従来の空領域管理装置の説明図である。 1……記憶装置、2……空領域管理テーブル、 3……空領域検索処理部、4……格納解放処理部、 5……管理テーブル更新処理部。
Claims (1)
- 【請求項1】記憶装置(1)の情報格納領域を所定容量
単位の複数のブロックに分割したとき該ブロックの各々
に対応するコラムを有する空領域管理テーブル(2)を
具備し、 該空領域管理テーブル(2)のコラムの各々は、前記記
憶装置(1)の対応するブロックの使用状態を示すデー
タを格納するものであり、 該使用状態を示すデータは、対応するブロックが使用中
(a)か空領域かを識別するものであって、前記記憶装
置(1)の1以上の連続する空領域に対しては、該空領
域の先頭のブロックに対応するコラムに、連続する空領
域のブロック数を示す第1のデータ(i)を格納し、か
つ、他の空領域のブロックに対応するコラムには前記第
1のデータとは異なりかつ空領域であることを示す第2
のデータ(b)を格納するようにし、 更に、前記記憶装置(1)の空領域の検索容量の指示に
応じて、検索するブロック数を算出し、前記空領域管理
テーブル(2)の該連続する空領域のブロック数を示す
該第1のデータ(i)のみを参照して前記算出した検索
ブロック数以上の空領域ブロックを検索する空領域検索
処理部(3)と、 該空領域検索処理部(3)による、検索結果に応じて前
記記憶装置(1)の検索された空領域ブロックに情報を
格納し、かつ使用中のブロックを必要に応じて空領域に
解放する処理を行う格納解放処理部(4)と、 該格納解放処理部(4)における格納又は解放の処理に
応じて、空領域に情報を格納する場合は前記空領域管理
テーブル(2)内で前記情報が格納された領域に対応す
るコラムを使用中を示すデータ(a)にし、かつ、新た
な空領域の先頭ブロックに対応するコラムを前記第1の
データ(i)で更新し、使用中の領域を解放する場合
は、解放するブロック数を“X"としたとき、前記空領域
となる領域の先頭ブロックに対応するコラムを第1のデ
ータ(i=X)で、かつ他の空領域となるブロックに対
応するコラムを第2のデータ(b)でそれぞれ更新し、
さらに、解放したブロックの上側に空領域が存在する場
合は前記第1のデータ(i=X)に解放したブロックの
上側の連続する空領域の先頭のブロックに対応するコラ
ムの第1のデータ(i=Y)を加算してその結果として
の第1のデータ(i=X+Y)で同コラムを更新し、か
つ第1のデータ(i=X)にて更新済のコラムを該第2
のデータ(b)にて更新し、さらに解放したブロックの
下側に空領域が存在する場合は前記第1のデータ(i=
X+Y)に下側の連続する空領域の先頭に対応するコラ
ムの第1のデータ(i=Z)を加算して、その結果とし
ての第1のデータ(i=X+Y+Z)にて連続する全空
領域の最先頭のブロックに対応するコラムを更新すると
共に前記下側の空領域の先頭コラムを該第2のデータ
(b)にて更新する管理テーブル更新処理部(5)と、 を具備することを特徴とする記憶装置の空領域管理装
置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP62064181A JP2550055B2 (ja) | 1987-03-20 | 1987-03-20 | 記憶装置の空領域管理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP62064181A JP2550055B2 (ja) | 1987-03-20 | 1987-03-20 | 記憶装置の空領域管理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS63231547A JPS63231547A (ja) | 1988-09-27 |
JP2550055B2 true JP2550055B2 (ja) | 1996-10-30 |
Family
ID=13250629
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP62064181A Expired - Lifetime JP2550055B2 (ja) | 1987-03-20 | 1987-03-20 | 記憶装置の空領域管理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2550055B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2940452B2 (ja) * | 1995-10-31 | 1999-08-25 | 日本電気株式会社 | メモリブロックの確保・解放方式及び方法 |
JP2003263276A (ja) * | 2002-03-08 | 2003-09-19 | Toshiba Corp | ディスクシステムおよびディスクアクセス方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS58164080A (ja) * | 1982-03-25 | 1983-09-28 | Fujitsu Ltd | 領域管理処理方式 |
JPS59756A (ja) * | 1982-06-28 | 1984-01-05 | Fujitsu Ltd | Dasdスペ−ス管理方式 |
-
1987
- 1987-03-20 JP JP62064181A patent/JP2550055B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JPS63231547A (ja) | 1988-09-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5269019A (en) | Non-volatile memory storage and bilevel index structure for fast retrieval of modified records of a disk track | |
US4575827A (en) | Self-archiving data recording | |
CA1187197A (en) | Segmented storage logging and controlling | |
US5418949A (en) | Page map, metamap, and relation group file management supervised by operation means for allocating, storing, and searching friendly and exclusive data items | |
US5694576A (en) | Cache control by adding record identification information to partial write request | |
KR920005107A (ko) | 최초 및 갱신 데이타 기록 및 판독 방법과 데이타 기억 매체 | |
US20170270183A1 (en) | Sensor data management apparatus, sensor data management method, and computer program product | |
US20060206543A1 (en) | Database reorganization program and method | |
JP2550055B2 (ja) | 記憶装置の空領域管理装置 | |
JPS63146287A (ja) | 光デイスクの記憶管理方法 | |
CN115185458A (zh) | 一种数据写入方法、装置、存储介质和计算机设备 | |
JPH06187201A (ja) | ファイルシステム | |
WO1993021579A1 (en) | Method for managing data records in a cached data subsystem with non-volatile memory | |
JP2962335B2 (ja) | 空き領域検索方式 | |
CN113703671B (zh) | 一种数据块擦除方法及相关装置 | |
JP2922956B2 (ja) | ファイル領域割当て方法 | |
JP2838988B2 (ja) | 外部記憶装置におけるファイル格納システム | |
JP3439364B2 (ja) | 不定長データの格納方法および検索方法 | |
CN111858602A (zh) | 区块链的数据读取更新方法及系统 | |
JPH01255028A (ja) | 外部記憶装置のアクセス方法 | |
JPS61100853A (ja) | デ−タ処理方式 | |
JP3316763B2 (ja) | 記憶制御装置 | |
JPH056888B2 (ja) | ||
JPH05250243A (ja) | 拡張記憶装置のデータ処理方式 | |
JPH0228846A (ja) | データ格納方式 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term |