JPS62293450A - データアクセス処理装置 - Google Patents

データアクセス処理装置

Info

Publication number
JPS62293450A
JPS62293450A JP61137495A JP13749586A JPS62293450A JP S62293450 A JPS62293450 A JP S62293450A JP 61137495 A JP61137495 A JP 61137495A JP 13749586 A JP13749586 A JP 13749586A JP S62293450 A JPS62293450 A JP S62293450A
Authority
JP
Japan
Prior art keywords
data
buffer
time
data block
storage device
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.)
Granted
Application number
JP61137495A
Other languages
English (en)
Other versions
JPH0570862B2 (ja
Inventor
Kazuji Oginoya
萩野谷 一二
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 JP61137495A priority Critical patent/JPS62293450A/ja
Publication of JPS62293450A publication Critical patent/JPS62293450A/ja
Publication of JPH0570862B2 publication Critical patent/JPH0570862B2/ja
Granted 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

【発明の詳細な説明】 3、発明の詳細な説明 〔概 要〕 ある処理で外部記憶装置からバッファに読み込んだデー
タを、その後の他の処理でも利用できるようにするバッ
ファ管理方式。
バッファごとにデータの最近利用時刻を保持し、又それ
らのデータの更新表示を、データアドレスのハフシュ関
数で索引されるテーブルに保持する。
データへのアクセスに際し、該データがバッファにあっ
て、所定時刻以後に利用され、又制御表に更新表示が無
ければ、バッファにあるデータにアクセスする。
この方式により、外部記憶装置からのデータ読込を効果
的に減少し、処理効率を改善できる。
〔産業上の利用分野〕
本発明は、計算機システムにおける、外部記憶装置から
読み込んだデータを保持するバッファの管理方式に関す
る。
計算機システムにおいて、磁気ディスク記憶装置等の大
容量の外部記憶装置に格納されているデータベース等の
データは、処理に際し所要のデータブロックが主記憶装
置等に読み込まれる。
その場合、外部記憶装置から読み込まれたデータブロッ
クは、主記憶装置の記憶領域に設けられるバッファに保
持されて、要求元のプログラムにアクセス可能にされる
〔従来の技術〕
第3図は計算機システムの一構成例を示すブロック図で
ある。
処理装置1は、主記憶装置2にロードされたプログラム
(図示せず)を実行することにより、例えば端末装置3
から入力される要求を受は取って、外部記憶装置4に格
納されているデータベース等にアクセスし、要求された
データの参照、更新等を処理する。
データベースへアクセスを要する場合に処理装置1は、
データベース内の所要のデータブロックを、外部記憶装
置4から主記憶装置2の記憶領域に設けるバッファプー
ル5の1つのバッファ6に読み込んで、処理プログラム
から直接アクセスできる状態にする。
各バッファ6はデータブロックの内容を保持するデータ
欄7、データ欄7のデータブロックの識別名を保持する
識別名欄8、及びロックピント9等からなる。
データブロックの識別名は、例えばデータセット名とブ
ロック番号からなり、アクセス要求時に要求元によって
指定され、この識別名をアドレスとして外部記憶装置4
へのアクセスを行う。
ロックビット9は、そのバッファにあるデータブロック
がこのトランザクションによって占有されていることを
示す。即ち、計算機システム内には、複数のトランザク
ションが同時に存在し得るが、あるトランザクションの
処理対象として、バッファに読み込まれた各データブロ
ックは、公知のいわゆるロック機能によってロックされ
て、そのトランザクションが終わるまで、他のトランザ
クションでは使用しないように制御され、それによって
、相互に非同期な更新による処理上の矛盾の発生が防止
される。
端末装置3等からの要求で行われる処理は、例えばトラ
ンザクションと呼ばれる一連の処理を単位として管理さ
れる。又、例えば各処理種類ごとに、トランザクション
を起動する環境となる空間が、例えばシステムの運用時
間中開設され、バッファプール5は各空間ごとに設けら
れる。
トランザクションの中で、あるデータブロックを指定す
るアクセス要求が出ると、処理装置1で実行される管理
プログラムは、その空間のバッファプール5を走査して
、指定されたデータブロックが既に読み込まれていない
か調べる。
バッファプール5にあればそのバッファ6に保持される
データを要求元に渡し、バッファプール5に無い場合の
み外部記憶装置4へのアクセスを実行する。
このようにして比較的長時間を要する外部記憶装置4と
の間のデータ入出力回数を減少することによってシステ
ムの処理効率を高めるようにしている。
〔発明が解決しようとする問題点〕
前記のようにして、各トランザクションで使用するデー
タ内では、バッファを利用して外部記憶装置4へのアク
セス減少が可能だが、トランザクションが終了した場合
には、そのトランザクションのバッファプール5に読み
込んだデータブロックは一旦無効とされ、トランザクシ
ョンが再開されたときは、同じデータブロックにアクセ
スする場合にも、必ず外部記憶装置4から改めて読み込
まなければならない。
あるトランザクション中で使用するデータブロックは、
前記のようにロックして他のトランザクションで使用さ
れることが無いが、トランザクジョンが終われば、ロッ
クを解除して何れのトランザクションでも使用できる状
態にする必要があり、従って他の空間のトランザクショ
ンによってデータブロックの内容が更新される可能性が
あることから、再開したトランザクションでは、前記の
ようにデータブロックを必ず読み込み直すようにするこ
とが必要になる。
その結果、バッファに読み込んだデータの再利用は同一
トランザクジョン内のみに限られ、例えば同じ空間の毎
トランザクションで必ず使用されるにも関わらず、各ト
ランザクションで1回しか使用されないようなデータブ
ロックは、データ必要時に毎回外部記憶装置4から読み
込まなければならないことになり、バッファに保持する
データの効果的利用ができないという問題があった。
〔問題点を解決するための手段〕
第1図は、本発明の構成を示すブロック図である。
図において、15はバッファブール、20.21は更新
表示テーブル、22.23は時刻レジスタであり、パフ
フ1プール15は複数のバッファ16からなり、各バッ
ファ16の、14は使用時剤槽、17はデータ欄、18
は識別名槽、19はロックビットを示す。
〔作 用〕
トランザクションで発生されるアクセス要求に従って、
外部記憶装置4からデータブロックが読み込まれた場合
には、バッファプール15の各バッファ16のデータ欄
17に保持され、識別名槽18及びロックビット19に
は所定の情報が記入される。
同時に使用時剤槽14には、その時の時刻が記入される
。使用時剤槽14は、その後も、このデータブロックに
アクセスが行われるごとに、最近の使用時刻に更新され
る。
バッファ16に保持されているデータブロックが更新さ
れた場合には、更新有り情報が更新表示テーブル20の
該当ビットに設定される。
更新表示テーブル20.21はシステム内に1組設けら
れ、適当な大きさの各テーブルのビットは、データブロ
ックの識別名を適当なハンシュ関数で圧縮して得られる
、ビットアドレスによって選択される。
更新表示テーブル20及び時刻レジスタ22の内容は、
適当な時間ごとに更新表示テーブル21及び時刻レジス
タ23に複写されて、更新表示テーブル20は0にリセ
ットされ、リセットした時刻が時刻レジスタ22にセッ
トされる。
トランザクションの終了において、そのトランザクショ
ンで使用したバッファ16のデータブロックはそのま\
保存される。
次にそのバッファブール15を使用するトランプ゛ ク
ションが開始され、あるデータブロックへのアクセス要
求が発生されると、指定の識別名によってバッファブー
ル15が走査される。
該当のデータブロックが何れかのバッファ16にあった
場合に、それがロックされていれば、そのデータブロッ
クを使用する。
ロックされていない場合には、その時剤種14の時刻が
時刻レジスタ23より新しく、且つ時刻レジスタ22.
23及び更新表示テーブル20.21を参照して、更新
が無いと識別された場合に、バッファ16上にあるデー
タブロックをそのま私利用する。
バッファプール15に該当データブロックが無いか、バ
ッファ16のデータブロックが、以上の何れかの条件を
満足しない場合には、外部記憶装置4から、バッファ1
6に指定のデータブロックを読み込んで要求元に渡す。
以上の方式により、バッファ上のデータブロックをトラ
ンザクション間にわたって利用することが可能になり、
データ入出力回数をより少なくすることができる。
〔実施例〕
バッファブール15は、従来のように空間に対応して主
記憶装置2に設けられる。
トランザクションで発生されるアクセス要求に従って、
外部記憶装置4からデータブロックを読ミ込む場合は、
バッファプール15の1つのバッファ16のデータ欄1
7に読み込んで、識別名v118にはそのデータブロッ
クの識別名が記入され、ロックビット19はロックにセ
ントされる。
同時に使用時剤種14には、その時の時刻が記入される
。使用時剤種14は、その後も、このバッファによって
このデータブロックにアクセスが行われるごとに、最近
の使用時刻に更新される。
バッファ16に保持されているデータブロックが更新さ
れた場合には、更新有り情報を更新表示テーブル20の
該当ビットに設定する。
更新表示テーブル20.21はシステム内に1組設けら
れ、各テーブルのビットは、データブロックの識別名を
適当なハフシュ関数で圧縮して得られるビットアドレス
によって選択される。
例えば、識別名が4バイト(32ビツト)のデータセッ
ト名と4バイトのデータブロック番号からなる場合に、
データセット名とデータブロック番号の排他的論理和を
、例えば適当な素数Nで除した剰余をハツシュ関数とし
、これにより各Nビットの大きさの更新表示テーブルに
アクセスするための相対ビットアドレスを得る。
このようにして、適当に縮小したビット数のテーブルに
よって、それより多数存在するデータブロックの更新を
管理することができる。
その結果、テーブルの1ビツトに複数のデータブロック
が対応することになるが、適当なビット数を設けること
により、実際に同じ期間に同じビットに対応する複数の
データブロックが使用される確率を十分小さくすること
ができる。
又、データブロックの衝突があったとしても、それらの
うちの1データブロツクでも更新があれば、更新有りの
表示になるので、後記の制御から明らかに安全側の制御
となり差し支えない。
更新表示テーブル20及び時刻レジスタ22の内容は、
適当な時間ごとに更新表示テーブル21及び時刻レジス
タ23に複写される。
その後、更新表示テーブル20はOにリセットされ、そ
の時刻が時刻レジスタ22にセットされる。
即ち更新表示テーブル20は現周期の更新状態、更新表
示テーブル21は前1周期の更新状態を表示し、時刻レ
ジスタ22.23はそれぞれ更新表示テーブル20.2
1の記録周期の開始時刻を示している。
トランザクションの終了において、そのトランザクショ
ンで使用したバッファ16のデータブロックはそのま\
保存され、そのバッファのロックビット19はリセット
される。
次にそのバッファプール15を使用するトランザクショ
ンが開始され、あるデータブロックへのアクセス要求が
発生されると、指定の識別名によってバッファプール1
5が走査される。第2図は、この場合の処理の流れを示
す図である。
第2図の処理ステップ30において、バッファプール1
5が走査される。その結果該当のデータブロックが無け
れば、ここの処理を終了して外部記憶装置4から所要の
データブロックを読み込むための処理に入る。
該当のデータブロックが何れかのハ゛ソファ16にあっ
た場合には、処理ステップ31でそのバッファ16のロ
ックビット19がオンかテストする。
オンの場合は、このデータブロックは既にこのトランザ
クションで使用されてロックされていることを示すので
、処理ステップ40で時刻槽14に現時刻を設定した後
、直ちに要求元にこのバッファを渡して使用可能にする
処理に入る。
ロックビット19がオフであれば、処理ステップ32で
バッファの時刻槽14の時刻(tとする)を時刻レジス
タ23に保持する時刻(t、、とする)と比較し、tが
t−より前(即ち1<1−)であれば、処理を終了して
外部記憶装置4にアクセスする処理に進む。
t≧t−の場合には、処理ステップ33でデータブロッ
クの識別名から所定のハツシュ関数によってビットアド
レスを求める。
処理ステップ34で時刻tを時刻レジスタ22に保持す
る時刻(toとする)と比較し、tがLoより前(即ち
1<10)であれば、処理ステップ35で前周期の更新
表示テーブル21を索引し、処理ステップ36で判定し
て更新有りの表示であれば、外部記憶装置4へのアクセ
ス処理に進む。
処理ステップ36で更新無しか、処理ステップ34でL
≧t0であれば、処理ステップ37で現更新表示テーブ
ル20を索引し、処理ステップ38で判定して更新有り
の表示であれば、外部記憶装置4へのアクセス処理に進
む。
更新無しであれば処理ステップ39で、このバッファ1
6のデータブロックを使用するためにロックビット19
をオンにセットし、処理ステップ40で時剤槽14に現
時刻を設定した後、要求元にこのバッファを渡して使用
可能にする処理に入る。
以上の制御により、システム内に共通に設けて更新を監
視するための更新表示テーブルを、比較的小さな記憶領
域で実現することができ、又データブロックの利用時刻
の記録を利用する管理方式によって、更新表示テーブル
の内容の更新管理が容易になり、経済的にバッファの有
効利用度を向上できる。
〔発明の効果〕
以上の説明から明らかなように、本発明によれば、計算
機システムの外部記憶装置から読み込んだデータを保持
するバッファの管理において、バッファ上のデータブロ
ックをトランザクション間にわたって利用することが可
能になるので、データ入出力回数の減少による処理効率
改善が増進されるという著しい工業的効果がある。
【図面の簡単な説明】
第1図は本発明の構成を示すブロック図、第2図は本発
明の処理の流れ図、 第3図は従来の一構成例ブロック図 である。 図において、 1は処理装置、     2は主記憶装置、3は端末装
置、     4は外部記憶装置、5.15はバッファ
プール、 6.16はバッファ、   7.17はデータ(聞、8
.18は識別名種、   9.19はロックビット、1
4は時剤槽、 20.21は更新表示テーブル、 22.23は時刻レジスタ、30〜40は処理ステップ
本発明の構成を示すブロック図 第1図 従来の一構成例ブロック図 第3図 本発明の処理の流れ図 第2図

Claims (1)

  1. 【特許請求の範囲】 外部記憶装置から読み込んだデータを保持するバッファ
    (16)を有する計算機システムにおいて、該バッファ
    ごとに、該バッファにあるデータにアクセスした最近の
    時刻情報を保持する第1の手段(14)、及び、 該データの識別名から所定のハッシュ関数により求める
    アドレスによって索引され、該データの更新の有無情報
    を保持する第2の手段(20、21)を設け、 前記外部記憶装置に保持するデータにアクセスを要する
    場合に、該データが前記バッファに読み込まれていて、 該バッファの第1の手段(14)に保持する時刻が所定
    の時刻以後であり、 該データの識別名に基づき第2の手段(20、21)を
    索引して、更新の無い旨の情報があった場合には、該外
    部記憶装置から該データを読み込むことなく、該バッフ
    ァに保持されているデータにアクセスするように構成さ
    れていることを特徴とするバッファ管理方式。
JP61137495A 1986-06-13 1986-06-13 データアクセス処理装置 Granted JPS62293450A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP61137495A JPS62293450A (ja) 1986-06-13 1986-06-13 データアクセス処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP61137495A JPS62293450A (ja) 1986-06-13 1986-06-13 データアクセス処理装置

Publications (2)

Publication Number Publication Date
JPS62293450A true JPS62293450A (ja) 1987-12-21
JPH0570862B2 JPH0570862B2 (ja) 1993-10-06

Family

ID=15199991

Family Applications (1)

Application Number Title Priority Date Filing Date
JP61137495A Granted JPS62293450A (ja) 1986-06-13 1986-06-13 データアクセス処理装置

Country Status (1)

Country Link
JP (1) JPS62293450A (ja)

Also Published As

Publication number Publication date
JPH0570862B2 (ja) 1993-10-06

Similar Documents

Publication Publication Date Title
US7809903B2 (en) Coordinating access to memory locations for hardware transactional memory transactions and software transactional memory transactions
JPH04229355A (ja) データアクセス方法及びデータ処理システム
JPH04306748A (ja) 情報処理装置
US6076126A (en) Software locking mechanism for locking shared resources in a data processing system
JPH0532775B2 (ja)
US20010014932A1 (en) Multi-processor system
JP2000003302A (ja) 共有メモリ排他アクセス制御方法
JPS62293450A (ja) データアクセス処理装置
JP3381079B2 (ja) キャッシュメモリを用いた排他制御システム
JPS6258351A (ja) 光デイスクキヤツシユ方式
JP2924786B2 (ja) 疎結合多重計算機システムにおける共有ファイルの排他制御システム、排他制御方法、および排他制御プログラムを記憶する媒体
JP2848437B2 (ja) マルチクラスタ排他制御装置
JPS62184560A (ja) 入出力バツフア制御装置
JPH0456344B2 (ja)
JP2002215443A (ja) 複数オペレーション間の排他制御方法
JP3006527B2 (ja) クライアント/サーバ型データベースシステム
JPH02138646A (ja) レコード追加処理方式
JPS6238743B2 (ja)
JPH0589050A (ja) フアイル回復制御方式
JPH03271859A (ja) 情報処理装置
JPS633351A (ja) バツフア検索制御方式
JPS6017550A (ja) キヤツシユメモリ管理方法
JPH0392947A (ja) システムリラン方式
JPS62184561A (ja) 入出力バツフア制御装置
JPH0554079A (ja) 情報処理装置