JPH0282332A - 索引ファイルのインデックス用入出力バッファ方式 - Google Patents

索引ファイルのインデックス用入出力バッファ方式

Info

Publication number
JPH0282332A
JPH0282332A JP63233506A JP23350688A JPH0282332A JP H0282332 A JPH0282332 A JP H0282332A JP 63233506 A JP63233506 A JP 63233506A JP 23350688 A JP23350688 A JP 23350688A JP H0282332 A JPH0282332 A JP H0282332A
Authority
JP
Japan
Prior art keywords
page
level
buffer
index
pages
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.)
Pending
Application number
JP63233506A
Other languages
English (en)
Inventor
Takayoshi Kurita
栗田 享佳
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 JP63233506A priority Critical patent/JPH0282332A/ja
Publication of JPH0282332A publication Critical patent/JPH0282332A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔概  要〕 人出力バッファ用に仮想アドレス空間を媒体上のページ
単位に分割し主記憶装置のページを空きにする必要がお
こった場合にどのページをリプレイス(ページ書換え)
の対象にするかを決めるための人出力バッファ管理方式
に関し、 インデックス用バッファ上に各ページのデータ以外に外
部記憶装置上のインデックス部の木構造に対応するレベ
ル情報を同時に書き込むことにより、ページ置えの時、
各ページのレベル情報を参照し、最もリーフレベルに近
いページをリプレイスメントの対象とすることにより乱
アクセスの高速化を可能とすることを目的とし、 仮想記憶装置において、ファイルの各ページに識別子と
木のレベルを付して木構造に格納するインデックス部を
存する外部記憶装置と、ページのアクセス要求があった
場合に、該当するページ識別子がバッファ上に存在する
かどうかを検索するページ管理手段と、前記外部記憶装
置のインデックス部の一部を写像し、主記憶上にある各
ページの識別子とそのページの木構造上のレベル情報を
格納するインデックス用バッファと、前記インデックス
用バッファを介して各ページのレベル情報を参照し、要
求されたページに対して前記インデックス用バッファに
空があればそのページに対応するページ識別子とそのレ
ベル情報を書き込み、もしバッファ領域が不足した場合
は、上位レベルのページよりも先に下位レベルのページ
で、しかも使用される頻度の少ないページをページ書き
換えの対象とするように制御するりブレイスメン1へ手
段とを有するように構成する。
〔産業上の利用分野〕
本発明はプログラマが実際の主記憶装置の容量を意識す
ることなく、それよりもはるかに大きな容量の仮想アド
レス空間を使用可能にする仮想記憶方式の管理方式に係
り、更に詳しくは入出力ハッファとして仮想空間をペー
ジ単位に分割し主記憶装置のページを空きにする必要が
おこった場合にどのページをリプレイス(ページ書換え
)の対象にするかを決めるための人出力バッファ管理方
式に関する。
仮想記憶方式とはプログラマが実際の主記憶装置の容量
を意識することなくそれよりもはるかに大きな容量の仮
想アドレス空間を使用可能にするものである。この場合
、外部記憶装置とは一般に磁気ドラム装置やディスクパ
ック装置等の直接アクセス記憶媒体を使用する。ファイ
ルのデータは、論理的な単位で媒体と主記憶との間でや
りとりされる。これをここではページと呼ぶ。データが
主記憶装置にロードされる場合、使用される頻度の高い
ページを主記憶装置にロードし、使用される確率の小さ
いページを外部記憶装置におくようにリブレイスメント
が行われる。要求されたページが主記憶装置内になかっ
た場合に、外部記憶装置から主記憶装置へそのページが
転送される。外部記憶装置から主記憶装置へページを転
送する際に、主記憶装置に空ページ枠がない場合がある
。この場合、最も使用される可能性の低いページを破棄
し、空きを作る必要がある。ページ表はページを管理す
る主記憶上のテーブルでページ識別子とレベル情報によ
って構成される。ページ読み込みの過程でバッファ上に
該当ページが存在しない場合はリプレイスタットが発生
し、オペレーティングシステムが主記憶上の空ページ枠
を探しそこに外部記憶装置から必要なページを読み込み
、同時にページ表内の対応する記述子の内容をそのペー
ジが主記憶上に存在するように書き換える。主記憶上に
空ページ枠が存在しなかった場合には、主記憶内の最も
使用可能性の低いページを破棄し、空ページ枠を確保し
た後、必要なページを読み込むようにしなければならい
ない。この操作をページ置き換え(ページリプレイスメ
ント)と呼ぶ。主記憶内のページのうち最も長時間参照
されていない未使用ページを置き換えページとするアル
ゴリズムをLRUアルゴリズムという。LRUアルゴリ
ズムは最近に参照されていないページは近い将来にも参
照される可能性が小さいという雄側によるものである。
このインデックス用バッファには各ページに固有のキー
を格納することによりそのページが主記憶装置上にある
かないかをチエツクすることが可能となる。一方、外部
記憶装置内のインデックス部内にはファイル内に記憶さ
れたページ毎のキーが木構造に管理されている。外部記
憶装置上で乱アクセスする場合は、木構造のルートレベ
ルから順に木を探索し、リーフレベルのインデックスを
アクセスする。一方、順アクセスの場合は、リーフレベ
ルのインデックスだけを順にアクセスする。このような
木構造のキー探索をインデックス用バッファを用いてさ
らに高速化する技術の必要が高まってきた。
〔従来の技術〕
第8図は仮想記憶装置のブロック図である。同図におい
て、1は外部記憶装置で、索引ファイルの構造はデータ
を格納するデータ部8と、データ部のページ毎にキー範
囲を管理するインデックス部7の2つの部分からなって
いるもの、2はオペレーティングシステム(O8)内の
機構で、内部にあるページ管理機構3は要求されたペー
ジ識別子がバッファ上に存在するかを調べ、要求された
ページ識別子が、主記憶装置上に存在している時にはそ
れに割当てるようにページを管理するもの、リプレイス
機構5は、主記憶上に空ページ枠が存在しなかった場合
に、主記憶内のいずれがのページを破棄し、空ページ枠
を確保したのち必要なページを読み込むようにページの
りブレイスを行う機構、また、バッファ管理機構6はり
ブレイスの対象となったページを主記憶装置から読み込
むための管理機構で特にLRUアルゴリズムを用いて管
理するもの、入出力処理機構9は、ページの入出力を制
御する機構である。
第9図は外部記憶装置の索引ファイルの構造を示す図で
ある。外部記憶袋Wl内のインデックス部7すなわち、
ページ固有のキーを管理する部分はキーに関して木構造
になっている。インデックス部7はルートレベル、中間
レベル、およびリーフレベルの木構造を形成し、インデ
ックス部の各キーには外部記憶装置1にある実際のペー
ジのレコード集合の先頭アドレスが格納されている。こ
のように索引ファイルの構造はデータを格納するデータ
部8と、データ部のページ毎にキー範囲を管理するイン
デックス部7の2つの部分からなる。
索引ファイルのアクセス法は2つあり、順アクセスは、
リーフレベルのキーだけを順にアクセスするものであり
、乱アクセスはインデックス部7において、アクセス頻
度の高いルートレベルから順に木を探索し、リーフレベ
ルのキーをアクセスする、 ファイルのデータ部8に格納されているレコードをアク
セスするためにはそのデータがどのページに格納されて
いるかインデックス部7の一部が写像されたインデック
ス用バッファ4をまずアクセスして調べ、そのページが
主記憶上にあるかどうかをチエツクし、もしなければリ
プレイスメント機構を用いてページのりブレイスを実行
しなくてはならない。乱アクセスにおいてはルートレベ
ルから順に木を探索し、リーフレベルのキーをアクセス
するが、このとき、インデックス部のアクセス効率を向
上させるためには、乱アクセス時にインデックス用バッ
ファ4のバッファ上・シト率を上げることが重要となる
従来、この稗の仮想記憶装置におけるページ管理は乱ア
クセス時に木のルートレベルからリーフレベルにいたる
全ページをチエ・ツクし、時間的に最も以前に使用され
たページ、すなわち、未使用状態の時間が長いページを
ページリプレイスの対象とするLRUアルゴリズム方式
が採用されていた。
(発明が解決しようとする課題) 従って、従来のLRUアルゴリズムのみの人出カバッフ
ァ管理方式では最もアクセス頻度の高いページすなわち
、ルートレベルのページをページ換えの対象としてしま
う場合が生じるという問題点が生じていた。特に従来の
管理方式では順アクセスの影響により乱アクセス時のヒ
ツト率が低下してしまう場合がある。インデックス用バ
ッファ4が不足していない場合でも、乱アクセスと同時
に順アクセスが行われると、順アクセスしたページは再
び使用される頻度は少ないが、乱アクセスにおいては常
にルートレベルのページがアクセスされるため、最もア
クセス頻度の高いページ、すなわちルートレベルのペー
ジが追い出されるという問題点がヰしていた。
インデックス部7のアクセス効率を向上させるためには
、乱アクセス時のインデックス用バッファのバッファヒ
ツト率を上げることが重要である。
それは、順アクセスの場合は、予め、どのページをアク
セスするかがわかるため、それを前もって読み込んでお
けば良いからである。しかし、LRUのみによる従来の
管理方式では、順アクセスの影響により乱アクセス時の
バッファヒツト率が低下してしまう。例えば、システム
とその時の状況により使用できる実記憶量が異なり、レ
ベル以上のインデックス用バッファ4の容量を獲得でき
ない場合や、同時に複数のユーザがバッファを使用する
場合に、インデックス用バッファ4の容量が不足すると
、時間的に最も以前に使用されたバッファ内の領域を再
使用の対象とする。つまり、木のルートレベルからリー
フレベルに至る全ページを読み込む時には、順次、ルー
トレベルのキーに対応するバッファ領域が再利用の対象
となる。あるいは、バッファ領域が不足していない場合
でも、乱アクセスと同時に順アクセスが行われると、ル
ートレベルのキーへのアクセス頻度が下がり、そのキー
に対応するバッファ領域が再使用の対象となる。しかし
、順アクセスしたページは、再び使用される頻度は少な
い。その反面、乱アクセスにおいては、常にルートレベ
ルのキーはアクセスされる。よって最もアクセス頻度の
高いページのキーをインデックス用バッファ上から追い
出すことになり、乱検索時の110回数が増加し、処理
速度の低下をもたらすとことになる。
特に、ファイルに対する同時実行性を高めるため、ある
いは、インデックス用バッファなどの資源を節約するた
めに、索引ファイル用のバッファを同時に複数ユーザか
ら共用可能とする場合には、このような現象が顕著に現
れる。
本発明はインデックス用バッファ上に各ページのキー情
報以外に外部記憶装置上のインデックス部の木構造に対
応するレベル情報を同時に書き込むことにより、ページ
替えの時、各ページのレベル情報を参照し、最もレベル
の深いページをリプレイスメントの対象とすることによ
り乱アクセスの高速化を可能とすることを目的とする。
〔課題を解決するための手段〕
第1図は本発明の構成図である。
仮想アドレス空間をページ単位に分割し、主記憶上の空
ページ枠を探し、外部記憶袋w11から必要なページを
読み込み、同時にインデックス用バッファ14内の対応
するページ識別子の内容をそのページが主記憶上に存在
することを表わすように書き換え、主記憶上に空ページ
枠が存在しなかった場合には、主記憶内のいずれかのペ
ージを前記外部記憶装置11に移し空ページ枠を確保し
た後、必要なページを読み込むようにしてページ書き換
えを行う仮想記憶装置において、ページ管理手段13は
、ページのアクセス要求があった場合に、インデックス
用バッファ14内に存在するページ識別子をページごと
に管理する第1の制御表を使い、該当するページ識別子
がインデックス用バッファ14内に存在するかどうかを
検索し、インデックス用バッファ14は、外部記憶袋?
1F 11のファイルの各ページの識別子が乱アクセス
の順序に対応して木構造に格納しであるインデックス部
17の一部を写像し、主記憶上にある各ページの識別子
とそのページの木構造上のレベル情報を格納するもので
あって、しかもレベルが深く、最も昔にアクセスされた
ページのバッファ領域をページ書き換えの対象となるよ
うに管理する第2の制御表を有し、リブレイスメント手
段15は、インデックス用バッファ14を介して各ペー
ジのレベル情報を参照し、要求されたページに対してイ
ンデックス用バッファ14に空があればそのページに対
応するページ識別子とそのレベル情報を書き込み、もし
バッファ領域が不足した場合は、上位レベルのページよ
りも先に下位レベルのページで、しかも使用される頻度
の少ないページをページ書き換えの対象とするように制
御することを特徴とする。
〔作   用〕
本発明では各ページにはレベルに応じた値をインデック
ス用バッファ内に設定し、ページ替えが必要となった場
合に、バッファ内の各ページ内にあるレベル情報を参照
し、バッファ上で最も値が大きい、すなわちレベルとし
て最下位のものをリブレイスメントの対象とし、さらに
、複数の同一レベルのページがバッファ上にある場合に
は、そこでLRUアルゴリズムにより定まるページをリ
プレイスメントの対象ページを決定する。
〔実  施  例〕
次に本発明の実施例を図面を参照して説明する。
本発明は、インデックス用バッファ内にもインデックス
部の木構造に対するアクセス形態を考慮し、すべてのレ
ベルのページを同等に扱うのではなく、バッファ内の各
ページにもレベルに応じた値を予め設定するものである
。そしてリプレイスメントを行う機構は、ページの置換
え時に、各ページ内にあるそのレベル情報を参照し、木
構造の最下位レベルのページをリプレイスの対象とする
もし、さらに複数の同一レベルのページがそのインデッ
クス用バッファ上にある場合、当機構はLRUアルゴリ
ズムによりリプレイスメント対象ページを決定するもの
である。
第2図は本発明のインデックス部とインデックス用バッ
ファのアクセス形態を示す概念図である。
第2図に示されるように、外部記憶語?1F11内のイ
ンデックス部17はデータ18のインデックスであり(
第1図)、レベル0、レベル1、レベル2に対応するペ
ージのキーが木構造に格納され、レベルの異なる複数の
インデックス用ページの内容がインデックス用バッファ
14上に読み込まれているとする。すなわちインデック
ス部17にある各ページのキーの木構造に対して、イン
デックス用バッファ14はこのうちの一部すなわち主記
憶上にあるページに対応するページのキーが格納される
。例えば第2図では、ページの0.6,25、10.1
2. 1. 4.14.および空状態のバッファ領域が
1つ存在する。制御表Rはページ替え、すなわちリプレ
イスメント用の制御表であって、インデックス用バッフ
ァ14内にある各ページがインデックス部17上のどの
レベルにあるかを示すものである。制御表Rの各エント
リ0,1,2゜3等はインデックス部17のレベル0、
レベル1、レベル2、レベル3に対応している。インデ
ックス用バッファ14には0ベージがあるのでこれはレ
ベルOであるからエントリ0にページ0があることを示
している。また、レベル1のページとしてインデックス
用バッファ14には1と2があるので左から順に1と2
が示されている。レベル2に対応するページとしてバッ
ファ内には左から順に4.5.6があり、インデックス
用バッファ14にあるレベル30ページは10.12.
14の順序になっている。このようにインデックス用バ
ッファ14には各ページの情報のみならず、制御表Rに
はそのページがどのレベルにあるかを示す情報が格納さ
れ、管理されている。この制御表Rを用いれば、アクセ
スはバッファ内のページに対してレベルの低い方からア
クセスすることが可能となる。
例えばページ20をアクセスする場合には、ページ20
はインデックス用バッファ14には存在せず、従って主
記憶装置にページ20はないことになる。
このページをアクセスする場合には、空バツフア領域の
ところにNo、20を格納し、No、20はレベル3に
あるので、制御表Rのレジスタ3に対応するところに付
加される。すなわち10.12.14の後に20を付け
た後、ページ20を主記憶上に読み込み、そしてそれを
アクセスする。また、例えばページ19゜20、21.
22.23等のリーフレベルを順にアクセスする場合は
、まず空のバッファ領域を使うが、190ページのキー
をその空領域に入れるとバッファはすべて満たされてし
まう。そのため、20.21゜22、23のページに対
してはインデックス用バッファ14にある他の4ページ
の各キーを追い出す必要がある。
本発明ではこの場合レベル3のページのキーをバッファ
から追い出すようにしている。すなわち制御表Rをみる
とレベル3にはページ10.12.14があるので、1
0.12.14のうちLRUアルゴリズムに従って最も
未使用状態が長いページ、すなわちLRUアルゴリズム
に従って決められるページを入れ換えの対象とする。例
えばLRUアルゴリズムの実行結果により10.14.
12の順序で未使用状態の時間が長いとすればこの順序
に従って10゜14.12のページのキーがバッファか
ら追い出され、それに替わってレベル3の20.21.
22のキーがバッファに入る。その次に上のレベル4,
5.6のうち最も時間の長い未使用状態のページを探し
、これの替わりにレベル3のページ23のキーがバッフ
ァに入る。同時に、制御表Rのレベル3に対応するレジ
スタ3にページ23のキーが付加される。
このように本発明のリプレイスタット機構15は各ペー
ジのレベル情報を参照し、最もレベルの深いページをリ
プレイスメントの対象とする。そして空となっているバ
ッファがあれば、必要なページのキーを読み込む。もし
順処理が進んでいく途中にバッファが不足してしまった
場合には上位レベルのページよりも先に以前順アクセス
されたリーフレベルのページ、すなわちLRUアルゴリ
ズムに従って選択されたリーフレベルのページかリプレ
イスタットの対象となる。その次にその上の上位レベル
のページがリブレイスメントの対象となる。このように
すれば結果として上位レベルのページは常にインデック
ス用バッファ14上に存在することなる。上位レベルの
ページは非常にアクセスの高いページであるから、アク
セス頻度の高いページがバッファから追い出されてしま
うことはなく、従って乱アクセス時のバッファヒツト率
が向上する。
バッファ内に存在するページを管理するのが後述する制
御表Mであり、この制御表Mを使って該当ページがバッ
ファ上に存在するかを検索する。
存在する場合には存在することのみを外部に通知し、存
在しない場合にはリプレイスタット機構15にリプレイ
スの依頼を行う。リプレイスメント機構15は各レベル
毎にリプレイスメント対象を管理する制御表Rを用いて
最もレベルが深く、最も昔にアクセスされたページをリ
ブレイスメントの対象とする。そしてこのページをリプ
レイスメント対象から外し、上位に通知する。もし最下
位レベルのページだけで不足している場合にはさらに上
位レベルのページに対しても同様の処理を行う。
第3図は本発明のページ管理方式のページ検索前のバッ
ファ管理状態を示す実施例図である。
同図において制御表M19は、インデックス用バッファ
14内に存在するページの識別子を管理\するもの、イ
ンデックス用バッファ14は外部記憶装置のインデック
ス部内で木構造で配列された各ページを格納するもので
、本発明では特にページと木構造のレベルが図上に示さ
れているもの、制御表Rは、そのページがどのレベルに
属するが管理するものである。
例えば今、ページ1はレベル0、ページ2はレベル2、
ページ0はレベル2、ページ3はレベル2、そしてペー
ジnはレベル1、ページ4はレベル2になっているとす
れば、制御表Mは、レジスタM(0)からM (n)を
有しそれぞれのエントリにはページ0からnまでの全て
のページに対してインデックス用バッファ14内になる
ページを管理しているものへのポインタが格納される。
例えばインデックス用バッファ14内にはページ0のキ
ーが存在し、ページOに対応するM (0)はハツシュ
関数に従ってページO、レベル2のバッファ領域のポイ
ンタをさす。
ここでハツシュ関数とは、予め格納するバッファ上のア
ドレスを生成する関数で、例えば制御表Mに格納された
ポインタをnの剰余すなわち、nで割った余りのアドレ
スを発生し、それをバッファの先頭アドレスとする。書
き込み時にハツシュ関数で定まるアドレスに格納してお
けば、読み出す場合でもこのハツシュ関数を介して読み
出すので、もし衝突がなければ制御表M内のポインタを
用いて対応するページのキーがバッファ上にあるかない
かの探索は非常に高速となる。
制[Mのページ1のポインタはハツシュ関数を介してペ
ージ1、レベル0へのアドレスに替わる。また制御表M
のページ2に対応するポインタはハツシュ関数を介して
バッファ上のページ2、レベル2のポインタへ写像され
る。制御表Mの3ページのポインタはハツシュ関数を介
してバッファ上のページ3、レベル2のアドレスをさす
。また制御表Mのページ4のポインタはハツシュ関数を
介してバッファ上のページ4.レベル2のアドレスをさ
す。制御表Mのページ5のポインタはバッファ上にない
とし、ページnのポインタはハツシュ関数を介してバッ
ファ上の1番下のページn。
レベル1のアドレスをさす。
一方、制jB 表RはレベルO1レベル1.レベル2に
対応するポインタを格納し、同様にハツシュ関数を介し
てバッファ上のアドレスをさす。例えばレベルOのポイ
ンタは制御表RのレジスタOにあり、制御表Mのページ
1のポインタと同じく、ハツシュ関数を介してバッファ
上のページ1.レベルOのアドレスに替わる。制御Lt
Rのレベル1のポインタはハツシュ関数を介してページ
n、レベル1をさず。また、制御表Rのレベル2のポイ
ンタはハツシュ関数介して図に示されるすべてのレベル
2のバッファアドレスに換えられるように、ハツシュ関
数の出力レジスタの20をさし、その20は21をさし
、21は22.22は23を指し、結果として各ハツシ
ュ関数出力レジスタはこの順序に従ってすべてのレベル
2に対応するバッファ上のアドレスをさす。このように
、本発明では、検索前の管理状態では、特に制御表Rを
用いてバッファ上でページとレベルを対応させている。
なお、第4図は、第3図に示されるインデックス用バッ
ファ上のページとレベル対応関係を示す木構造の図であ
る。
第5図は本発明のページ使用状態に対応するバッファ管
理の実施例図である。同図においてインデックス用バッ
ファ14の最後のバッファ領域に格納されているページ
n+3.レベル2は第3図のインデックス用バッファ1
4のページ4.レベル2に入れ替わったものである。す
なわち、本発明のリプレイスタット機構15は最もレベ
ルが深く、最も昔にアクセスされたページのバッファ領
域をリプレイスメントの対象とする。バッファが、第3
図のインデックス用バッファ14に示されるように、−
杯になっている場合でも、インデックス用バッファにな
いページn+3のレベル2をバッファ内に書き込む必要
がある。この場合、最も低いレベル2にあってしかもL
RUアルゴリズムで0,2,3.4ページの中で最も未
使用状態の時間が長かったと仮定されるページ4をリブ
レイスメントの対象とし、これがページn+3.レベル
2と入れ替わる。この入れ換えによって、制御表Rに対
するレベル2のハツシュ関数への入力状態も替わる。す
なわち、制御表Rのレベル2のポインタはレジスタ20
をさし、その20は21をさし、その21は22をさし
、さらにその22は23をさす。レベル2上のページは
この順序に従うLRUアルゴリズムでアクセスされるこ
とになる。すなわち本発明ではリプレイスタットが必要
となった場合、リプレイスメント機構15は各ページ内
にあるレベル情報を参照し、バッファ上で最も値が大き
い最下位レベルのものをまずリプレイスメントの対象と
して決定し、複数の同一レベル、例えば今の場合、レベ
ル2のページがバッファ上にある場合、当機構はLRU
アルゴリズムによりリプレイスメント対象ページを決定
する。
尚、第5図のページ使用状態では制御表Mのポインタ情
報は、第4図のものと同じであり、ページOのポインタ
はハツシュ関数を介して制御表MのエントリOからペー
ジ0.レベル2をさし、ページ1のポインタはハツシュ
関数を介してページ1、レベルOをさし、制御表Mのペ
ージ2のポインタはハツシュ関数を介してページ2.レ
ベル2をさし、ページ3のポインタはハツシュ関数を介
してページ3.レベル2をさす。さらにページnのポイ
ンタはハツシュ関数を介してページn、レベル1をさす
第6図は本発明のページ管理方式のページ使用終了時の
バッファ管理状態を示す実施例図である。
第5図はページ使用状態であってこの状態のとき、ペー
ジn+3が主記憶上でアクセスされる。このページn+
3のアクセスが終了するとバッファ管理状態は第6図に
示されるようになる。レベル2のページ4の替わりにペ
ージn+3が入れ替わったことを示すためハツシュ関数
の出力レジスタの内容が23から22に移り、ページ3
.レベル2の後ろにページn+3.レベル2が付加され
たことが示されている。
第7図は本発明の機能ブロック図である。
S24においてインデックス用バッファ14内の最下段
レベルを変数βに代入する。S25において要求ページ
数が最終のnに等しいかどうかを調べる。要求ページ数
が最終のnに等しくなければS26に移ってその指定さ
れたページ(n)はバッファ上に存在するかどうかを判
定する。もしバッファ上に存在するならば、そのページ
は主記憶上にあるということなので次のページを要求す
るために325にもどる。もしそのバッファ上に要求さ
れたページ(n)がなけれは、S27においてまずバッ
ファ上に空があるかどうかを調べる。
空があれば指定されたページのキー情報をそのバッファ
に割当てるため、S30に移って割当て、そして、次の
ページを要求するためS25に戻る。
バッファ上に空がなければ328に移って本発明のリプ
レイスタット機構15の動作に入る。ここで、各レベル
毎にリプレイスメントの対象を管理する制御表Rを使い
、最もレベルが深く、最も昔にアクセスされたページの
バッファ領域をリプレイスメントの対象とする。そして
これらのパ・ソファをリプレイスメント対象からはずし
通知する。
もしバッファ上の最下位レベルのバッファ領域だけでは
不足している場合は、さらに上位レベルのバッファに対
しても同様の処理を行う。すなわち32Bにおいてバッ
ファ内の最下段レベル!に対してリプレイスメント可能
なバッファ領域があるかどうかを8周べ、もしあればす
なわちLRUアルゴリズムに従ってリプレイスメント可
能なバッファがあれば、S30に移ってリプレイスメン
トを行うためのバッファの割当を実施する。32Bにお
いて、もしlレベルにリプレイスメント可能なバッファ
がないと判定された場合には上位のレベルに上がるため
に上に移って!をその上位のレベルにしてバッファの割
当を行う。このようにしてバッファの割当が終了すれば
、S25に戻る。要求するページが指定されたn、すな
わち最後のページにいったかどうかを調べ、もし最後ま
でいけばバッファ上にないページの読み込みを行って終
わりとなる。
〔発明の効果〕
本発明は、索引部のアクセス形態を考慮し、順アクセス
の影響を最小限にし、上位レベルインデックスのバッフ
ァヒツト率を向上させることにより、乱アクセス時の検
索処理を高速に行うことができる。
【図面の簡単な説明】 第1図は本発明の構成図、 第2図は本発明のインデックス部とインデックス用バッ
ファのアクセス形態を示す概念図、第3図は本発明の人
出力バツファ方式のページ検索前のバッファ管理状態を
示す実施例図、第4図は、第3図に示されるインデック
ス用バッファ上のページとレベル対応関係を示す木構造
の図、 第5図は本発明のページ使用状態に対応するバッファ管
理実施例図、 第6図は本発明の人出力バッファ方式のページ使用終了
時のバッファ管理状態を示す実施例図、=28 第7図は本発明の機能ブロック図、 第8図は従来の仮想記憶装置のブロック図、第9図は従
来の外部記憶装置の索引ファイルの構造を示す図である
。 11・・・外部記憶装置、 13・・・ページ管理手段、 14・・・インデックス用バッファ、 15・・・リプレイスメント手段、 16・・・バッファ管理機構、 17・・・インデックス、

Claims (1)

  1. 【特許請求の範囲】 仮想記憶装置において、 索引ファイルのインデックス部の各ページレベルを付し
    て木構造に格納している外部記憶装置(11)と、 前記外部記憶装置(11)のインデックス部の一部を写
    像し、主記憶上にある各ページの識別子とそのページの
    木構造上のレベル情報を格納するインデックス用バッフ
    ァ(14)と、 ページのアクセス要求があった場合に、該当するページ
    識別子がインデックス用バッファ(14)上に存在する
    かどうかを検索するページ管理手段(13)と、 要求されたインデックス部のページに対して前記インデ
    ックス用バッファ(14)に空があればそのバッファを
    割当てその管理情報として対応するページ識別子とその
    レベル情報を書き込み、もしバッファ領域が不足した場
    合は、上位レベルのページよりも先に下位レベルのペー
    ジで、しかも使用される頻度の少ないページをページ書
    き換えの対象とするように制御するリプレイスタット手
    段(15)と要求されたページを外部記憶装置(11)
    からインデックス用バッファ(14)に読み込む入出力
    処理機構(9)とからなることを特徴とする索引ファイ
    ルのインデックス用入出力バッファ方式。
JP63233506A 1988-09-20 1988-09-20 索引ファイルのインデックス用入出力バッファ方式 Pending JPH0282332A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP63233506A JPH0282332A (ja) 1988-09-20 1988-09-20 索引ファイルのインデックス用入出力バッファ方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63233506A JPH0282332A (ja) 1988-09-20 1988-09-20 索引ファイルのインデックス用入出力バッファ方式

Publications (1)

Publication Number Publication Date
JPH0282332A true JPH0282332A (ja) 1990-03-22

Family

ID=16956097

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63233506A Pending JPH0282332A (ja) 1988-09-20 1988-09-20 索引ファイルのインデックス用入出力バッファ方式

Country Status (1)

Country Link
JP (1) JPH0282332A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04111031A (ja) * 1990-08-30 1992-04-13 Fujitsu Ltd 一次メモリ情報実装処理方式
JP2008533570A (ja) * 2005-03-11 2008-08-21 ロックソフト リミテッド 低冗長記憶システムで索引を行う方法
JP2008533571A (ja) * 2005-03-11 2008-08-21 ロックソフト リミテッド 低冗長記憶システム内のサブブロックの存在を検出する方法
JP2013508810A (ja) * 2009-10-16 2013-03-07 シマンテック コーポレーション 効率的なファイル保存のための複数のインデックスを有する重複排除ストレージシステム

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04111031A (ja) * 1990-08-30 1992-04-13 Fujitsu Ltd 一次メモリ情報実装処理方式
JP2008533570A (ja) * 2005-03-11 2008-08-21 ロックソフト リミテッド 低冗長記憶システムで索引を行う方法
JP2008533571A (ja) * 2005-03-11 2008-08-21 ロックソフト リミテッド 低冗長記憶システム内のサブブロックの存在を検出する方法
JP2013508810A (ja) * 2009-10-16 2013-03-07 シマンテック コーポレーション 効率的なファイル保存のための複数のインデックスを有する重複排除ストレージシステム

Similar Documents

Publication Publication Date Title
US5717893A (en) Method for managing a cache hierarchy having a least recently used (LRU) global cache and a plurality of LRU destaging local caches containing counterpart datatype partitions
JP7046669B2 (ja) 逆キャッシュテーブルを用いるハードウェアベースのマップアクセラレーション
Marmol et al. {NVMKV}: A Scalable, Lightweight,{FTL-aware}{Key-Value} Store
CN103473181B (zh) 分级式不可变内容可寻址存储器处理器
CN114860163B (zh) 一种存储系统、内存管理方法和管理节点
CN101189584B (zh) 内存页面管理
US20060085626A1 (en) Updating system configuration information
US5761501A (en) Stacked skip list data structures
JP2019008729A (ja) メモリシステムおよび制御方法
WO2017149592A1 (ja) ストレージ装置
US6842826B1 (en) Method and apparatus for providing efficient management of least recently used (LRU) algorithm insertion points corresponding to defined times-in-cache
CN110795363B (zh) 一种存储介质的热页预测方法和页面调度方法
CN110532200B (zh) 一种基于混合内存架构的内存系统
KR20220139784A (ko) 객체 저장 방법 및 이를 이용하는 분산 객체 스토리지와 시스템
CN100403279C (zh) 信息记录介质的数据区域管理方法、使用数据区域管理方法的信息处理装置
US7177980B2 (en) Cache storage system and method
CN106294189B (zh) 内存碎片整理方法及装置
CN103377141A (zh) 高速存储区的访问方法以及访问装置
JP3431581B2 (ja) ディスク制御システムおよびデータ再配置方法
CN111338569A (zh) 一种基于直接映射的对象存储后端优化方法
KR20180135390A (ko) 대용량 ssd 장치를 위한 데이터 저널링 방법
CN111274259A (zh) 一种分布式存储系统中存储节点的数据更新方法
EP3477463A1 (en) Method and system for using wear-leveling using a multi-gap progress field
CN108804571B (zh) 一种数据存储方法、装置以及设备
JPH0282332A (ja) 索引ファイルのインデックス用入出力バッファ方式