JPH01152546A - アクセス管理手段及びアクセス要求衝突管理ユニットの利用方法 - Google Patents

アクセス管理手段及びアクセス要求衝突管理ユニットの利用方法

Info

Publication number
JPH01152546A
JPH01152546A JP63177953A JP17795388A JPH01152546A JP H01152546 A JPH01152546 A JP H01152546A JP 63177953 A JP63177953 A JP 63177953A JP 17795388 A JP17795388 A JP 17795388A JP H01152546 A JPH01152546 A JP H01152546A
Authority
JP
Japan
Prior art keywords
lock
transaction
access
relation
address
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
JP63177953A
Other languages
English (en)
Inventor
Pascal Faudemay
パスカル フォドメ
Gardarin Georges
ジョルジ ガーダラン
Pucheral Philippe
フィリップ ピュシェラル
Marc Thevenin Jean
ジャン−マルク テヴナン
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.)
Inst Natl Rech Inf & Autom
Centre National de la Recherche Scientifique CNRS
Original Assignee
Inst Natl Rech Inf & Autom
Centre National de la Recherche Scientifique CNRS
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
Priority claimed from FR8709970A external-priority patent/FR2618235B1/fr
Application filed by Inst Natl Rech Inf & Autom, Centre National de la Recherche Scientifique CNRS filed Critical Inst Natl Rech Inf & Autom
Publication of JPH01152546A publication Critical patent/JPH01152546A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1458Protection against unauthorised use of memory or access to memory by checking the subject access rights
    • G06F12/1483Protection against unauthorised use of memory or access to memory by checking the subject access rights using an access-table, e.g. matrix or list
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/0292User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

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

Description

【発明の詳細な説明】 産業上の利用分野 本発明の利用分野は、特にデータベースの管理のため中
央ユニットとコンピュータの記憶ユニットとの間に設け
られるメモリアクセス管理ユニットである。
MMU(rメモリマネジメントユニット」:メモリ管理
ユニットtJGM又はキャシュメモリ)は、物理アドレ
スを仮想メモリのアーキテクチャにおける論理アドレス
に対応させる回路である。
特に本発明の利用分野は、記憶ユニット中に記憶された
オブジェクトへのアクセスをロックする手段である。本
発明によれば、複数のユーザ間で発生しがちなアクセス
衝突(conflit )が解決される。かかるアクセ
ス衝突は、例えば典型的には複数のユーザにより競合的
にアクセスされるデータベースの同一リレーションのタ
プル(tuples)であるオブジェクトで発生する。
特に本発明は、アクセスロック構成、ロックへのアクセ
スの手続及びロックされたオブジェクトへのアクセス衝
突の管理方法に用いられるのが有利である。
従来の技術 二状態ロックの原理は公知であり、特に1916年イー
スワレンにより示されている(イースワレンケイビー、
グレイ ジエイ エヌ、ローリーアール、トレージャ 
エル エル「ザ ノージョン オブ コンシスチンシイ
 アンド ブレジケー1〜 ルックス イン ア デー
タ ベース システム」コミュニケーションズ オブ 
エイシー1ム、第19巻第11号、1916年11月、
624〜633頁)。所与のオブジェクトのロックの2
つの状態、つまりオブジェクトにアクセスするトランザ
クションによるオブジェクトへのロック設定とロックの
解除を識別するプロトコルが問題となる。公知の如くロ
ックにも次の2つの秤類がある。
−「読み出しロック」と称される、一般に1ビツト/ト
ランザクシヨンにより構成される分配可能なロック。定
義によりこのロックでは、異なるトランザクションによ
る読み出し時の複数の競合的アクセスが可能である。
−「占き込みロック」と称される損他的Dツク。
このロックは、大略ロックを行なうトランザクションの
識別スタンプからなる。定義により書き込みにつきロッ
クを設定したトランデクジョンのみがオブジェクトにア
クセスしうる。アクセスを希望する他のトランザクショ
ンはロックの解除を持たなければならない。
発明が解決しようとする問題点 従来この種のロックにおいては、読み取りロックを行っ
た各トランザクションのロック内にトレースを保存して
いた。従来これは特に後続する状況に対処するために必
要である。例えば、既に読み出しロックがされているオ
ブジェクトに対しあるトランザクションが書き込みロッ
クを設定しようとする場合には読み出しロックの出所が
どこか確認する必要がある。実際、現トランザクション
のみがオブジェクトを読み出しロックしていた場合には
現トランザクションには書き込みは許可されない。また
、少なくとも1つのトランザクションが読み出しロック
を設定していた場合には、現トランザクションはオブジ
ェクト書き込みにアクセスにするには読み出しロックの
解除を持たねばならない。
この占き込みロックを行なうトランデクシコンのトレー
スの保存及びその後の要求トラン)Fクシコンを待機さ
せる手続は強制的であり、ホストマシーンの利用システ
ムを動員し、ロックのレベルに応じ読み出しロックを行
なったトランザクションの識別を記憶するのにφ要な資
源を消費する。
競合の管理には、スタンプ又は証明等による伯の方法も
ある。しかしそれらの方法は2状態ロツクによるものよ
り利用者は少ない。
スタンプによる方法は、グラニュル(グラニュルとは、
例えばオブジェクトのベージ又はリレーション等のロッ
クを行なう単位である)によるスタンプを用いる。相続
くトランザクションは、増加する値のスタンプの割り当
てにより命令を受ける。
証明による方法には、実行終了近くにトランデクジョン
を放棄するという不都合がある。また。
二状態ロックはロックの設定及びテストについての総括
的な費用しかかからないのに、証明による方法は競合の
程度に応じ増大する処理の費用がかかる。
これら2つの方法は仕事の処理と各トランザクションに
固有のワークスペースの管理を組み合わせることができ
ないという問題点があった。このため「マスクロック」
と称される特定の種類のロックが必要となった。
本発明の目的は、従来の二状態ロックの不都合等の衝突
の管理方法の限界をなくすことにある。
特に本発明の第一の目的は、二状態ロックの原理に基き
ながらも非常に多数、あるいは無数であってもトランザ
クションを同時に管理しうるロック及びアクセス衝突の
管理を行なう手段を提供するにある。
本発明の補足的な目的は、オブジェクトのレベル、つま
りグラニュルの最も低いレベルによる競合の管理を可能
とすることにある。
本発明の他の目的は、トランザクションの待機の問題を
、5GBD (データベース管理システム)により重要
な遅延要因となるホストマシーンの利用システムへの要
求を制限しつつ解決することにある。
本発明はまた、本願に参考として取り込む優先権主張の
基礎をなす2つの仏国特許出願に記載されているUGM
の如き階層テーブル型メモリアクセス管理ユニットと両
立するという目的も有する。
問題点を解決するための手段 上記及び以下に説明するその他の目的は、コンピュータ
の記憶ユニットに記憶されたオブジェクトへのアクセス
をロックするアクセスロック手段であって、上記オブジ
ェクトは制御装置の処理ユニットに由来する論即アドレ
ス源からオブジェクトの物理アドレス情報を引き出す間
接アドレス手段からなるメモリアクセス管理ユニットを
通してアドレスされるアクセスロック手段により達成さ
れる。
本発明はまた、少なくとも1つの他の異なるトランザク
ションに由来する同一オブジェクトへのアクセス要求の
衝突を管理するための管理ユニットの利用方法であって
、アクセスされた及び/又はリレーション源(rela
tion 50urce )の結果の一部をなすオブジ
ェクトに付随する全てのロックを初期化し、各オブジェ
クトのロックの特定の情報を、任意のトランザクション
に由来する前記オ。
ブジェクトへのアクセス要求毎に増加させ、各トランザ
クションが各オブジェクトに対し要求したアクセスの回
数をリレーション源の結果をなすよう記憶し、進行中の
トランザクションが終了する毎に、リレーション源のオ
ブジェクトのロックの特定の情報をリレーション結果(
relation  re −5ultat)内の前記
オブジェクトと対応するロックの特定の情報の値だけ減
少させることを特徴とする管理ユニットの利用方法を提
供する。
各トランザクションが各オブジェクトへ要求したアクセ
スの回数の記憶は、オブジェクトの識別子を含む中間リ
レーション内で行なわれるのが有利である。
本発明はまた、少なくとも1つの他の異なるトランザク
ションに由来する同一オブジェクトへのアクセス要求の
衝突を管理し、コンピュータの記憶ユニット内に記憶さ
れたオブジェクトへのアクセスを少なくとも1回要求す
る動作からそれぞれになるトランザクションに由来する
中央ユニットの要求の間にアドレスされる管理ユニット
の利用方法であって、各オブジェクトのロックの特定の
情報を、任意のトランザクションに由来する前記オブジ
ェクトへの読み出しアクセス要求毎に増加させ、進行中
のトランザクションが終了する毎に、リレーション源の
各オブジェクトのロックの特定の情報を前記トランザク
ションのリレーション結果内に前記オブジェクトが現わ
れる回数の数だけ減少させることを特徴とする管理ユニ
ットの利用方法を提供する。
本発明はまた、オブジェクトの識別子の集合により表わ
される動作の2つのリレーション結果の交差部分の利用
を特に行なうための管理」−ニットの利用方法であって
、識別子があるリレーション結果の一部をなすオブジェ
クトに対し各オブジェクトのロックのコピーに付随する
マスクのビットを所与の値とし、他のリレーションの各
識別子につき前記マスクのビットをテストし、前記他の
リレーション結果のオブジェクトの存在に対応するマス
クの第1ビツトがあることから前記交差部分が空でない
ことを確めることを特徴とする管理ユニットの利用方法
を提供する。
本発明はまた、オブジェクト又は読み出しロックがされ
たあるバージョンのオブジェクトにあるトランザクショ
ンT1の動作によりなされる書き込みロックの要求の場
合に、以後の読み出しトランザクションが前記オブジェ
クトのロックの特定の情報の欠乏ビットを場合により設
け、前記オブジェクト又はその識別子を前記トランザク
ションに付随し起こりうる衝突の一時的リレーション内
に記憶し、前記動作の終了時前記衝突の一時的リレーシ
ョン内に記憶された前記オブジェクトの各々につきロッ
クの特定の情報のフィールドカウンタをコピーし直し、
前記トランザクションに付随するリレーション結果内に
対応する前記オブジェクトが現れる回数の数だけ前記カ
ウンタのコピーを減少せしめ、減少の結果がゼロと異な
る場合、つまりまだ終了していない少なくとも1つの他
のトランザクションが前記オブジェクトへのアクセスを
獲得している場合、衝突を確認して少なくともアクセス
衝突のある前記オブジェクトについては前記動作を無効
とし、減少の結果がゼロに等しい場合は衝突のないこと
を確認することを特徴とする方法を提供する。
さらに本発明によるトランザクションを待機せしめる管
理り法は、動作が1又は複数の独立した部分動作に分割
され、一のトランデクシコンの部分動作は他のトランザ
クションの部分動作により中断されることなく実行され
、部分動作を実行中のある他のトランザクションの拮他
的ロックによる確実な衝突と部分動作終了時ノイールド
カウンタが空でないことにより蓋然的な衝突とを探索し
、オブジェクトにおいて衝突がある場合に2つの論理ア
ドレスは部分動作の衝突の記憶の一時的リレーションの
みで保存されロックのオブジェクトをなさないという事
実のみによりオブジェクトにて部分的に放棄され、トラ
ンザクションは実行中のトランザクションのリストの単
純な解除により待機状態とされることで特徴付けられる
実施例 第1図に示す管理ユニットは、大容量メモリを有するデ
ータベースに適合する実11iIfi様である。
この管理ユニットはメモリ管理ユニットとして働くとと
もに、論理アドレス源と物理アドレス結果との間の対応
テーブルのための−Vヤッシュメモリとしても働く。
より詳細には、本発明の管理ユニットは、セツション用
のメモリに構築されるデータベース全体、あるいはこの
データベースの最も利用される部分の論理アドレスと物
理アドレスとの対応を確実なものとし、ロックへのアク
セスを保証し、また数十乃至数百のレリージョンを表わ
す。場合により、本発明に従うユニットは、要求に対し
メモリに呼び出しがかけられる1つ乃至2つの非常に大
型のリレーションへのアクセスのテーブルを含むだけの
こともある。参照されるデータの大きさに応じてテーブ
ルの大きさは無視しえず、対応動作のためのキャッジ1
をなすようメモリ内に配列される。
これは一連の間接アドレシング(インデイレクシコン)
により行なわれるが、これにより協働メモリを用いずと
も比較的急速な対応付けを行なうことができる。
ここに示される好ましい実施態様においては、ベースの
オブジェクト(タプル、属性、セット・・・)の論理ア
ドレスは、オブジェクトの識別子っまり〈パケット番号
〉〈ページ番号〉くオブジェクト番号〉の形式のTID
(rタプル識別式1)である。
本発明のメモリ管理ユニットは主として5セツトのテー
ブルからなるが、場合によりデープルは第1図に示され
る如く4セツトに減らしうる。
−パケットテーブルからなるTPAQ (99)。
−ページテーブルからなるTPAGE (201)。
−例えば16ビツトでページ内の変位を示しあるいは例
えば36ビツトでオブジェクト・のアドレスを示すTO
BJ (301)。
−例えば32ビツトでワードメモリ上の値を示すTEX
 l5TE (401)。この結果の長さは、テーブル
のビットを急速に初期化するために必要である。ワード
メモリ内部では、現オブジェクトに対応するビットが、
通常本発明のキャブ91フ−ロック又は32ビツトで物
理アドレスを示すTVERROUS 501。
このテーブルのセットは同じ大きさの2つの領域つまり
、ロックの集まりからなる第1の領域VERROtJS
530と、ロックのコピー又はそのコピーのアドレスか
らなる第2の領域MIROIR531に分けられるのが
有利である。この場合2つの領域VERROUS 53
0とMIROIR 53117mの選択は、アドレス線
MIRROIR540より行なわれる。
他の実施態様においては、領域〜11ROfR531は
領域V E R R O LI S 53017)部分
集合テアGl)、そのアドレシングは、ページテーブル
内に用意された第3のアドレシングの2次情報232が
ら始まる。
本実施態様ではテーブルのセットTOBJ301及びT
VERROjJs 501は、単一(7)TOBJVE
R301に再編成されている。この場合T O B J
に等しいメモリベースが線MIROTR540の存在と
いう事実により失われるが構成要素の数が減少する。
この構成では論理アドレス源1oのパケット番号112
は、順次割り当てられるか、静的なハツシュ多属性とな
る。それはパケットに付随するベージテーブルのアドレ
スに対応するアドレスの2次情報130の現リレーショ
ンのパケットテーブル99における指標を指定する。
ページ番号212は、このページテーブルにおける、ペ
ージに付随するオブジェクトテーブルT。
BJのアドレスに対応するアドレシング2次情報230
を指標であり、場合によりリレーションVERROLI
Sのタプルのアドレスからなる要素231、さらにはタ
プルのコピーのアドレスの指標となる。
タプル番号312は、テーブルTOVJ301における
、タプルのアドレスに対応するアドレシングの2次情報
330又はそのページ内での変位の指標であり、場合に
よりバンクメモリEXISTE401内のビットのセッ
トの型を有す属性内のロックの存在のビットVERRO
US.EXISTEと、ロックのセットの型を有する属
性内のロック530V E R R O U S 、 
V E R R O Uとの指標となる(これらについ
ては後述する)。
テーブル又はタプルのアドレスの全ては、最後の物取外
は、物理アドレスかTIDである。タプルのアドレスV
ERROLISを探索中に論理アドレスを得た場合には
、この論理アドレスは再帰的に物理アドレスに変換され
る。リレーションVERROUSにはロックは存在しな
い。それ以外の場合、それはページの欠落を意味する。
キャッシュ内のページテーブル201の要素は、くVE
RRoUS231のタプルのアドレス〉〈オブジェクト
テーブルのアドレス230〉の形式の2つのアドレシン
グの2次情報からなる固定長のレコードからなる。通常
この2つの結果は同時に「PAGESから出される。
場合により加締回路221. 222は乗算回路250
と協働する。
一方、アドレシングの2次情報231(ロックのアドレ
ス)及び場合によりアドレシングの2次情報232(ロ
ックのコピーのアドレス)は、1又は2つの入力ドラッ
ク213から供給されるバンクメモリTPAGES内で
対応するアドレス変位の命令によりバンクメモリTPA
GESから引き出される。
上述のMMLIの構成により複数の異なるトランザクシ
ョンによる同一オブジェクトへのアクセスの衝突の管理
が保証される。
衝突が起こるのは特に、第1のトランザクションが書き
込みを意図しつつ読み出しを行なったオブジェクトに第
2のトランザクシ」ンが読み出しを行なおうとする場合
である。その結果、衝突の管理がまず、データへの各ア
クセスにおいてトランザクションの行なった動作の性格
(読み出しか古き込みか)を識別することで行なわれる
。また占き込みを受けたデータにアクセスを要求する全
てのトランザクションの系統的な検査を確実に行なうこ
とも問題である。
古き込みについてはリレーション源のオブジェクトの抑
圧と、リレーション源のオブジェクトの挿入の2通りの
場合を考慮する必要がある。
挿入の場合は、書き込み動負を行った現トランザクショ
ンのみがアクセスを許可され、設定されるロックはマス
キングのロックに対応する。これは他のトランザクショ
ンはマスクされたオブジェクトを無祝し続けられること
を意味する。
抑圧の場合、抑圧を行なった現トランデクジョンは抑圧
されたオブジェクトにはもうアクセスしない。
本発明においては、衝突管理システムはロックに基いて
各アクセスされたオブジェクトに付随するロックの特定
の情報から形成される。
これらのロックは次の操作を受ける。
−これらのロックは、ある動作の結果の一部であるロッ
クを有さないオブジェクトへの最初のアクセス時に初期
化される。
−これらのロックは、何らかのトランザクションによる
アクセス要求毎に増加するカウンタを有する。
一カウンタは、トランザクション終了毎に前記トランザ
クションによるアクセス要求の回数に対応する値減少す
る。
この最後の特徴は、各トランザクションは自身のためそ
のアクセス要求回数を、索引又はリレーション結果の各
オブジェクトに付随するロックのコピー中に蓄積するこ
とを想定している。この蓄積は、−殻内には動作の結果
の中間的リレーションにおいてロックされたオブジェク
トの識別子を保存することの結果である。
衝突は、索引(又はリレーション)源内の各オブジェク
トに(=1随して[1ツクのコピーを用意することで解
決される。衝突が°発生すると、リレーション源のオブ
ジェクトのロックのコピー中のアクセス要求のあったオ
ブジェクトのロックについての情報から現トランデクジ
ョンに対する前記オブジェクトへアクセスにっきリレー
ション結果中に記憶された数が減惇される。
減n結果がOと異なる場合、つまり、少なくとも1つの
他の未完了トランザクションが前記オブジェクトへのア
クセスを獲1ワしている場合には、現トランザクション
に対し前記オブジェクトへのアクセスがロックされる。
第3a図に示される実施態様において各[1ツクは、特
定リレーション(ロックテーブルのセット501)内の
タプルVERROLIS及び他のリレーション(マスク
テーブルのセット401)内のタプルEXISTEから
なる。
タプルEXISTEの構造は、タプルの長さのフィール
ド31と、長さがフィールド31内の情報に対応する1
セツト」型の属性32とよりなる。
タプルVERROLIの構造は対称的であり、りプルの
長さのフィールド36及び後続するしセット」型の属性
33からなる。属性33は、例えばあるページ内のオブ
ジェクト上のロックの特定の情報それぞれに対応する一
連の32ビツトのロック34からなる。図面に示された
実施態様がかかる場合であって、セット33はある完全
ページに対するロック情報を提供する。
タプルvERROUの属性33の各[−1’/ り34
に対し、属性32はロック34が意味のある値を有する
かどうかを示すビット35からなるか、あるいは定義さ
れない。
ロック34の各情報は、第3C図に示される構造を有す
るのが有利である。又各オブジェクトに休しロックの情
報は、カウンタ41.スタンプ領域42及び補数ビット
領域43からなる。
前述の如くカウンタの値は、タプルが読み出しアクセス
される毎に1単位増加し、トランザクションが終了する
毎に終了したトランザクションにより要求されたアクセ
ス回数減少する。
単一のトランザクションのみが読み出しロックを行って
いる場合、そのトランザクションのスタンプはロック3
4の「スタンプ」部分42にも並べられる。このスタン
プは、他のトランザクションによるロックの場合は抑圧
される。
未知のトランザクションに−よる書き込みロックとの衝
突の場合には、システムはロックが書き込みロックを要
求するトランザクションに由来するか(衝突はない)、
他のトランザクションに由来するかを確かめる必要があ
る。そのためロックをコピーし、コピーをトランザクシ
ョンの一時的リレーション内でそれを参照するTID毎
に減少させる。
タプルロック231のアドレスは、物理アドレスでも論
理アドレス(TID>でもありうる。キャッシュ/MM
Uのカードはどちらの方法によっても実現可能であるが
論理アドレスを使用した方がシステムがより柔軟になる
。論理アドレスが問題となる場合、論理アドレスはパケ
ット1.ページ2及びオブジェクト3の番号に対応する
入力により乗算され゛る3つの要素(リレーションVE
RROLIS501内のパケット番号40ページ番号5
0及びタプル番号60)に分割される。後続するサイク
ルでは、これら3つの要素は入力の初期値の代わりに用
いられる。物理アドレスが問題となることもある。その
場合物理アドレスはTEXISTE401及びTVER
ROLIs 501内ノタブ/L、0ツクの属性にアク
セスするのに用いられる。TVERROUS 5017
1FTOBJ  301がTOBJVER301で代置
される場合には、物理アドレスは後続のサイクルにおけ
る一rOBJVERのアドレスの構成要素に変換され、
テーブルTOBJへのアクセスに用いられる。。
ミラー領域を用いる場合には、TEX l5TE401
及びTVERROUS501(後者は存在する場合)の
現ワードのアドレシングは、動作当初に設定される信号
MIROIRの存在を除けば同一の方法で行なわれる。
他の場合は、コピー最初のアドレスはTPAGESで行
なわれ、T E X I S −rE及びTVFRRO
Uにアクセスするためページ内でオブジェクトのn増加
される。、!i突が検出された場合、ロックの減少の動
作は衝突を検出した実行中の動作とは異なる探索動作で
ある。キャッシュMMLJの動作態様を示すレジスタは
新しい値  ′で書き直される必要がある。EXIST
Eの現ワードにおいて、タプルの番号は現ビットをも決
定する。情報EX l5TE及びVERROUは70セ
ツサにより修正後選択終了時にキャッシュZMMU内で
書ぎ直すこともできる。
従って、本発明のメモリ管理ユニットでは、ロック、場
合によりロックのテスト、コピー上でのロックの解除、
ならびにトランサクシ1ン終了時のロックの解除が可能
である。また抑圧又は挿入されたタプルの「マスクロッ
ク」の設四によりワークスペースを良好に管理すること
ができる。このようなことが可能であるということは、
証明による方法等の他の方法の有効な利用又は競合管理
を行なわないということを排除するものにでは全熱ない
第2図は本発明によるメモリ管理ユニットの機能の概要
を示す。
状態1ではテーブルのセットTPAQ99.TPAGE
S 201.TTLIPLE8301が順次論理アドレ
ス源のパケット1の番号、ページ2の番号及びタプル3
の番号から利用されて物理アドレス結果が得られる。
状態2では、アクセスされたオブジェクトのロックの情
報が次の2点について求められる。
−ロックのマスクのテーブルのセット401の検査によ
りアクセス要求のあったオブジェクト上にロックがされ
ているかどうかを知ることができる。
この情報はページ内のオブジェクトのランクのビット(
35)に示される。これは前述の如く各タプルロックは
完全ページに対するロック情報に対応するのが有利だか
らである(第3a図参照)。
−アクレス要求のあったページに対応してロックテーブ
ルのセット501のロック状態のフィールド530を検
査し、アクセス要求のあったオブジェクトに対しOツク
34の特定の情報のフィールド530を検査する。
7−7/l/EXISTE 401及びVERROLI
501の検査は次の2つの異なる情報から行なわれる。
一ページテーブルのセットT P A G E Sの検
査の際状態1で得られるロックの論理アドレス231の
テーブルTPAQ、TPAGE、TTtJPLEにおけ
る順次処理により得られる記録430. 530の物理
アドレスの情報。
一オブジェクトの論理アドレスのタプル番号からの記録
430.530におけるそれぞれのオブジェクトのロッ
ク34の特定の情報及びビット35のランクの情報。
状態1により得られる結果は、アクセスのあったオブジ
ェクトの物理アドレスである。
この場合統合スペースは同時にオブジェクトのアドレス
のテーブル、ロックのアドレスのテーブル及びロッキン
グ情報のテーブルを有する。
前記ユニットは、ユニットの機能の第3の状態の間に前
記統合メモリスペースからのオブジェクトのロッキング
情報を指定及び獲得するために前記統合スペースの入力
へ前記状態2の間に前記統合スペースから得られたロッ
クの物理アドレスを返還する手段を有する。
状態2で得られる結果は、アクセス要求のあった前記オ
ブジェクトのロッキングの特定情報2である。
バンクメモリとホストマシーンのセルを結ぶ内部バス6
00によりセツション開始時にキャッシュ/MMUの初
期化が可能であり、またそれを含まないページについて
のタプル「ロック」の生成についてにしろ、現ロックの
変更に加えてロックヒツトの大きさの増大をまねくデー
タページの変更の際にしろ処理を行なうことができる。
また内部バス600によれば、任意のテーブルの全ての
変更が上流に位置するテーブルの処理を含意するという
意味でテーブルTPAQ、TPAGES及びrOBJの
処理を行なうことができる。
第1の実xi様に示された解決では、物理アドレスにお
ける物理的識別子の変換は、周知の方法で複数レベルの
インディレクションに基いている。
識別子は、セグメント番号(インブリジット)。
位置のパケット番号、ページ番号、オブジェクト番号〈
N″PAQ、N’ PAG、N’ 0BJ)という複数
のフィールドからなる。パケット番号は、ページテーブ
ルのアドレスを含む要素のセグメントのパケットテーブ
ルにおける指標である。ページ番号は、オブジェクトテ
ーブルのアドレス及びロックテーブルのアドレスを含む
要素のページテーブルにおける指標である。アドレスは
メモリ上のものでもディスク上のものでもよく、この2
つはアドレスの1ピツトで区別される。オブジェクト番
号は、探索されるオブジェクトのアドレスを含む要素の
オブジェクトテーブルにおける指標である。下位レベル
のテーブルのポインタはこれらのテーブルの識別子で置
き換えることができるので、変位又はディスク上でのス
ワツピングが可能となる。従って[テーブルのテーブル
]が存在する。
テーブルは、本明細書で[タブ0−J型のオブジェクト
として定義されるもので、同位置の型であり要素の数に
先行される固定長の・一連の要素から形成される。タブ
ローに付随する動作により、特に1番目の要素へのアク
セス又は最後の要素の添加又は抑圧が可能となる。テー
ブルに割り当てられる物理スペースは、オブジェクトの
大ぎさに応じてグラニユールにより増大される。これに
より、新たな要素の添加の際要素の再コピーの平均回数
が制限される。テーブルの場合この添加は、セグメント
のパケット数、パケットのページ数又はページのオブジ
ェクト数が増加する時に生じる。
テーブルにおいて探素される要素のアドレスは、このテ
ーブルのおいて要素番号とそのアドレスとを加鋒するキ
ャッジx−M M Uにより得られる。
この加募は、テーブルの初めのアドレス用と要素のアド
レス用の2つの異なるトラックを用いて行なわれる。こ
れにより固定長のテーブルが得られ、また加篩器を用い
ることにより可変長のテーブルも可能となる3、[キャ
ッシュ−MMUJは可変長テーブルを使用する。
しかしながら前述の機構は識別子の不変性を保証しない
。実際オブジェクトが修正されるとその識別子も修正す
る必要がある。かかる識別子は物理01D(オブジェク
ト識別子)と称される。これは多重処即を行なう場合非
常に不都合である。
この不都合を抑えるため以下に説明する第2の実施態様
には論理識別子(又は0DD)という新しい概念が導入
された。そこで物理アドレスは、ページネートされたベ
クトル中に記憶される。実際には、あるリレーション(
又はセグメント)の物理識別子の全てを記憶しようとす
ると1ページを越える。このため、ベクトルはベージネ
ートされ、階層テーブルにより物II識別子からなるペ
ージにアクセスできるようにされる。充分な数のセグメ
ント内のオブジェクト(従ってベージネートされたベク
トル内の物理識別子)を管理しつるよう階層が構成され
るのが好ましい。物理識別子は、オブジェクトテーブル
(TOBJ)13と称されるテーブルシステム内に記憶
される。このTOBJ13は上位レベルのテーブルを通
じてアクセスされる。論理ページテーブル(TPAGL
)12自身も論理パケットテーブル(TPAQL)11
によりアクセスされる。論理01010は、ベージネー
トされたベクトルにおける物理識別子の指標である。さ
らに物理識別子は固定した大きさであって、変位する必
要はなく単に代置するだけでよい。このため論理01D
は不変であり<N−PAQL、N’ PAGL、N’ 
0bject >というフォー7ットを有する。同様に
物理01[)についても、論理OIDの種々のフィール
ドにより、ベージネートされたベクトルにより記述され
るテーブルの階層を降りていくことができる。
この機構により不変なオブジェクトの識別子が得られる
。実際あるオブジェクトが変位されると、その物理01
Dは以前の如く修正されるが、論理010はそうする理
由はなくオブジェクトの変位に対する透過性を有し続け
る。
TPAQLl 1.TPAGL、12及びTOBJ13
は「論理テーブル」と称されるのに対し、物理パケット
テーブル14及び物理ページテーブル15は[物理テー
ブル1と称される。論理パケットテーブル11のみがベ
ージネートされたベクトルのレベルであることは重要で
ある。論理パケットテーブル11は配置に役立たない。
実際論理パケット番号は、オブジェクトの値が変化して
も修正されえない。しかし各レベルのベージネートされ
たベクトルは、論理ページテーブル12について後述す
る如く特定の構造を有する。
物理識別子17は、中間論理アドレスを表わすが、先行
するバージョンに関し修正される。
そのオブジェクト番号は、ページ内の変位により置きか
えられる。実際ページ内のオブジェクトのアドレスを修
正する場合、(TOBJ 13内の)物理識別子17に
おいてオブジェクトに対応して変位を修正するのは、オ
ブジェクト番号と対応する変位との対応を変更するのと
同じように簡単である。この解決法によれば、あるレベ
ルのテーブルをこの対応に使用するのを避けることがで
き、従ってユニットにおけるテーブルのレベル数が少な
くなる。物理識別子のデコードにはテーブルのレベルは
、充分な数の識別子が可能となるには、物理パケットテ
ーブル(TPAQP)14とべ−ジテーブル(TPAG
P)15の2つが必要である(第4図)。4にオクテツ
トのページで32ビツトのポインタ又は識別子の場合、
セグメントとして許される大きさは4ギガオクテツトで
ある。
この値以上のリレーションについては、マルヂヒグメン
ト又は補足レベルのテーブルが必要となるTPAQPI
 4 (又はより一般には物理ページテーブルを越える
各レベルの物理テーブル)により、各セグメント内でオ
ブジェクトの配置が可能となる。最も頻繁にある要求に
対し、実際上必要なオブジェクトのみをメモリ上に置く
ことができる。
これに対し物理識別子は配置されず、タプル対タプルア
クセス用のものを除いて一般にリレーションの「論理」
テーブルのセット(TPAQLll。
TPAGL12.TOBJ13)をメモリに置く必要が
ある。
本発明は、アクセスメモリ管理ユニットを通じて、記憶
されたオブジェクトへのアクセスをロックする手段に関
する。本発明によるロック手段は、特定の衝突管理方法
を用いて、利用システムの負担及び競合管理の費用を減
じ、呼び出されたオブジェクトへのアクセス速度を早め
る。
第1図に示す如き本発明の最も甲純な実施態様において
は、ロックは第1実施態様で示された物理識別子の解決
法と同様にして管理される。
つまりアクセスされる各オブジェクトに付随するロック
の特定の情報を含むロックテーブル41が設けられる。
しかし、本願の優先権主張をなす2出願中の一方の出願
である仏国特許出願第8709970 (出願日198
7年7月15日)の場合と異なり、本発明の物理識別子
17はオブジェクト番号からではなく変位からなる。
従って、ロックテーブルを物理デープルにト1随させる
ことはできない。これはこのテーブルの要素番号を所与
のオブジェクトに対しアクセスさせられないためである
。同様に、第5図に示される如く、ロックテーブルTV
ERROUS41は論理ページテーブルに付随せしめら
れ、TPAGL12からアクセスされる。ロックテーブ
ル41はTOBJ13に付随せしめられる。つまり、関
連するrOBJl 3内の物理識別子17の同じ数のロ
ックを含む。この要素の数は、1に以下のオブジェクト
からなるリレーションを除けば、通常1に程度である。
ロックテーブル41のi番目の要素はTOBJ13のi
番目の物理010により参照されるオブジェクトのロッ
クを表わすから、ロックテーブル41の要素と対応する
TOBJ13の物理OIDとの間には相似性がある。従
ってロックテーブル41においてロックを回復せしめる
のは、オブジェクトのW埋01 D 10のフィールド
<N’ 0BJECr)である。
オブジェク[・のバージョンのレベルへのロックが存在
する場合には、テーブルロックTVERROUS41は
、オブジェクトのバージョンロックチー7/l/ (V
ERROU−VER3l0N)42へのアクセスを許す
ポインタ又は識別子43により代置される。バージョン
レベルへのロックの存在は不可避的ではない。特に層厚
バージョンの場合には必要はない。実際・一般に最後の
バージョンに修正を行なう場合、遡及して終止を行なう
のGま非常にまれか、無意味である。バージョンのラベ
ルに並べられた日付が処理の日付であって実行の日付で
ない場合、最後のバージョン以外に外圧は存在しない。
従ってオブジェクトのセットに対してはロックのみで充
分である。しかしオブジェクトの意義上過去のバージョ
ンについての修正が可能である場合には勿論キャッシュ
MMLIにより実行できる。代替的バージョンの場合に
はバージョンによるロックがされる。一般にバージョン
の数(従ってオブエクトのロックの数)は、ページ内の
最大限の数よりはるかに少ない(通常ページ4Kに対し
512)。64以上の代替的バージョンは既に非常に多
数といえる。これは好ましい解決法における設立の最適
化に使用される。
用いられる競合管理の方法は、第1実施態様で説明され
た如く物l!I!識別子による解決法のための場合に類
似する。
ロックは、フィールドカウンタ、トランザクションのス
タンプ及び1又は複数のビットからなる。
カウンタはオブジェクト(又はオブジェクトのバ−ジョ
ン)に読み出しロックが設定される毎に増加され、ロッ
クの解除毎に減少される。それは修正のロックについて
は−1に等しくマスキングに対しては−12に等しい。
修正は書き込み動作に対応する。マスキングは、書き込
みがオブジェクトのリレーション源への挿入に由来する
場合に対応する。その場合マスクロックを設定したとい
うことから書き込み動作を行なった現トランザクション
のみが前記オブジェクトへアクセスしうる。これは以後
他のオブジェクトはマスクされたオブジェクトを無視す
ることを意味する。
あるビットが、少なくとも1つのトランザクションがこ
のオブジェクトを待機中であることを示すのに用いられ
る(これは欠乏の問題をなくす。)オブジェクトが単一
のトランザクションのみにより読み出しアクセスされて
いる限りは、ロック内にそのスタンプを保持するのが有
利である。これによりこのトランザクションがロックの
態様を変更しつつ修正されたオブジェクトにアクセスす
ることができる。これに対しオブジェクトが複数のトラ
ンザクションにより読み出しロックされている場合には
スタンプは教示されない。トランザクション終了時減少
するロックのリストは、それらのロックが設定された動
作の一時的リレーション結果により構成される6 読み出しロックがされたオブジェクトに書き込みロック
の要求があった場合(つまりロックのフィールドカウン
タはゼロより大でスタンプは教示されない)、カウンタ
が現トランザクションのみにより増加されたか他のトラ
ンザクションにより増加されたかを確める必要がある。
[蒼然的衝突Jがあると称することにする。]実際の衝
突」が問題となるか否かを確める必要がある。そこで用
いられる機構は、次の通りである。あるトランザクショ
ンT1がオブジェクト01に書き込みアクセスしようと
しているとする。このオブジェクトのロックv1は、オ
ブジェクトが読み出しロックされており、待機している
トランザクションはないことを示しているとする。その
場合01には蒼然的衝突が存在する。そこでトランザク
ションT1は、T1に後続する全てのトランザクション
が■1の状態を修正しないようVlの欠乏ビット(書き
込みトランザクションが待機中は読み出しトランザクシ
ョンによるロックを妨げるためのビット)が設定される
。、01のOIDは、T1の蒼然的衝突の一時的リレー
ション(TEI)内に蓄積される。動作丁1の終了時、
(−時的TEより分る)M熱的衝突を有するロックのカ
ウンタは、テーブルコピーに再コピーされる。T1の一
時的リレーション結果は調べられて、この−時的内のフ
ィギュラン(figurant)に対応するOIDに従
ってカウンタのコピーが減少される。オブジェクトに属
する恒久的リレーションを参照する一時的リレーション
のみが問題となるのは明らかである。
減少終了時に全てコピーのカウンターがゼロであるなら
衝突は存在せず、補助リレーション中の各識別子に対し
書き込みロックを生成することができる。そうでない場
合には、少なくとも衝突が起ったオブジェクトに関係し
衝突をもたらしたロックが存在する限り結果に有効に寄
与しえない動作は解消する必要がある。動作の全て又は
一部を解消するという解決法により2状80ツキングを
待機管理をしない利用システムとともに用いることが可
能となる。ロックが選択動作時要求の冒頭になされたの
なら動作の一部を放棄するのはいずれにしろ可能である
。なぜならリレーション結果から衝突のあるオブジェク
トを抜き出しくあるいは戻さず)、次いでこれらのオブ
ジェクトに対し動作を再度行なうのは容易だからである
。このもとのh法は、2状態ロツクのブ[1トコルを醇
重したものである。
蒼然的衝突に対応するロックのコピーを減少させるため
に、蒼然的衝突の補助リレーシぢン及びトランザクショ
ンの一時的リレーションの対応する識別子のリストに挿
入を行ない、挿入に属する各要素につきカウンタを減少
させることができる。
しかしこのh法は通常ハツシングにより行なわれるリス
トの挿入を必要とし、前記のその他のロック管1!I’
動作より非常に費用がかかる。少なくとも1つの要素が
補助リレーションの一部となるロックテーブルの各々に
ついて論理ページテーブル12内のポインタによりアク
セスされるデープルC0PIE50を生成する方がはる
かに好ましい。
ロックのコピーへのアクセス及びその減少は、もとのロ
ックでの処理と正確に同じに行なわれる。
テーブルC0PIE50のページ番号は、ページは減少
動作に対し局所的であり直後に割り当て解除されるから
に常に制限されている。従ってシステムにより管理され
るページの総数は、動作により要求される書き込みロッ
クの数及び考慮されるリレーションのロックのページ数
を越えない。大型の動作の場合(例えば1000以上の
ロック要求及びリレーション中100万以上のオブジェ
クトの場合)、ロックを要求する動作を多数の動作に分
解しその各々の終了時にコピーを減少させることができ
る。この分解は、ロックが要求の冒頭に行なわれる選択
動作から要求される場合は特に容易である。実際かかる
動作は任意に分解できる。
しかし、この機構は、C0PIE50のページの生成が
、対応するロックのページ(その要素の大部分は、轟然
的衝突の補助リレーシ」ンの部分ではない)を全面的に
コピーして得られたものであるなら利点を全く持たない
。少なくとも大きさに応じた轟然的衝突が存在するロッ
クの再コピーに制限する必要がある。これは、コピーの
ページのワードをマスクする機構を用いることで達成で
きる。この機構は各ワードに対しマスクビットを用いる
。これらビットの集合は、EXISTE51と称される
ビットテーブル内に並べられる。
マスクビットが0であるワードは重要でなく初期化され
ていない。一般にロックテーブル41がページを構成す
るから、コピーのページ50上のマスクは大体32ビツ
トの32ワードからなり、その初期化を完全にするとコ
ピーの費用が大幅に上がる。マスクのマスクは5LJr
’EREX l5TE52と称され32ビツトからなる
。このマスクのマスクのみが初期化を完全に行なわれる
。従ってロックの再コピーの費用は、32ビツトの3ワ
ードの初期化又は再コピーである。減少の際−時的のオ
ブジェクトの識別子へアクセスする場合、同一識別子の
ロックのコピーが存在するかにつきまずTPAGL12
内のコピーのテーブル上のポインタ、次いで5LIPE
REX l5TE52及びEXISTE51、最後にコ
ピーにアクセスして探索する。これらのアクセスの各々
について、アクセスされたワードが次レベルは重要でな
いことを示したりコピーが既に空であることを示す(第
6図)可能性が大きい(ただし適用したものによる)。
第1のマスクビットテーブル51及び/又は第2のマス
クビットテーブル52は、前記のロックテーブル41の
セット及びロックのコピー50それぞれを含むメモリス
ペースと異なるテーブルのメモリスペース内に記憶され
、オブジェクトテーブル13及びオブジェクトバージョ
ン30のセットを含む前記メモリスペースに並列的にア
クセス可能であるのが有利である。
この方法には、オブジェクトとロックの管理に既に必要
であるもの以外はキャッシュ−MMU内に特別の構成を
必要としないという利点がある。
キャッシュ−MMCIはもともとこの目的のために設け
られたのでないが、完全にこの方法に適合させられる。
さらにコピーへのアクセス及びそのテストが可能であり
、場合により最初の時間でコピーを減少させることがで
きる。通常にはこの時間は、メモリへのアクセス3回(
キャッシュ−MMU内のオブジェクトのOIDの再コピ
ーに2回、コピーの読み出しに1回)及びテストに相当
する。
如何なるソフトウェアによる方法もこれほど急速とはな
らない。
ロックページ41は、その含むところのロックが全て空
であるなら抑圧される。新たなアクセスが必要となった
際ページ41の再初期化は、ディスクの読み出しより費
用がかからない。空でないロックを含、むロックベージ
41を保護することも可能であるが、ディスク上のペー
ジの再読み出しは、(ロック解除の場合)ロックを設定
するトランザクション終了よりも遅れて必要になる。
本発明によれば、ロックベージに対し「スワンブ」型の
管理、つまりメモリからの呼び出し及びメモリへの再注
入を交互に必要に応じ中央メモリの余裕に従って行なう
ことができる。本明細書ではロックのスワップを広い意
味でとり、ロックページの2つの保護動作、それらのペ
ージのディスクからの再読み出しであるとし、空のペー
ジの抑圧は妥当な意味でのスワップ動作にとり好ましい
ものとする。従ってこのスワップをh効に管理するには
ページが空であるかを知る必要がある。
ゼロでないロックカウンタによるのと、ロックの]ビー
におけると同様にマスク及びマスクのマスクによるのと
、2通りの方法がある。第1の方法ではカウンタはロッ
クがU口状前からU口でない状態になる時とその逆の時
の各々で処理される必要がある。この場合ではロックベ
ージの初期化を早くすることはできない。これはE/S
の時間中無視しえない部分にあたるから、ロックベージ
はそれが空であるなら割り当で解消は行なわない方が好
ましい。このことは、特にロックが大域メモリスペース
よりも制限されたメ[リスペースを表わすキャッシュメ
モリ内にある場合にメモリスペースの良好な管理にとり
障害となる。第2の方法はロックベージに対しマスク(
TEX、l5E)及びマスクのマスク(SLIPERE
X l5TE)を用いる。この2つの構造に必要なスペ
ースは、ロックベージとロックのコピーのページとの間
の単純な対応に対してもとにかくとっておかな【ノれば
ならない。一方この2つの構造を通じてアクセスする作
用は、ロックのコピーに対して必ず存在する。最も起こ
りがちであるのは、マスクを通じたロックへのアクセス
がカウンタを用いる方法よりも1乃至2回余計にメモリ
にアクセス要求するという場合である。これに対しロッ
クの初期化は約1000回の代わりに3回のメモリアク
セスを要求するだけである。従って空の[1ツクページ
を割り当て解除することは常に可能であり、メモリ管理
を大幅に改善する。本発明の好ましい解決法は、キャッ
シュMMUの回路により支持されるこの機構を用いる。
これによりマスク及びロックに対するアクセスは並列し
て行なわれ、従ってアクセスメモリは1つしか必要とさ
れない。
オブジェクトのバージョンに対し本発明を実施した場合
の衝突の管理は、ロックテーブルによって前述の手続き
と非常によく似た仕方で行なわれる。
物理識別子テーブルとロックテーブルとの間の単純な対
応の原理に従って、バージョンのロックに対しバージョ
ンテーブルのそれに非常に類似した構造が用いられる。
代替的なバージョンテーブルの各々にバージョンのロッ
クテーブル(T V ERROUS−、VER8ION
>が対応し、同一類の要素からなる。ロックテーブル−
r V E RROSU内でロックはバージョンのロッ
クテーブルのポインタ又は識別子により代置される。こ
のテーブルにおいてはバージョン番号はバージョンのロ
ックの指標である。空のテーブルのDツク解除を可能と
するためマスク(TVERROLIS−VER3ION
、TEXSTE)は重要なロックと重要でないロックを
定める。マスクを検査することで、少なくとも1つの空
でないロックがまだ存在するかを知ることができる(そ
うでない場合マスクはゼロである)、マスクのマスクも
必要であるのか考えることができる。実際上は、この方
法は64より多くの数のオブジェク]・のバージョンで
しか有用でない(その場合マスクは32ビツト2ワード
より多くなる)。一方バージョンによるロックの存在は
、一般に最後のバージョンのみが修正される場合には履
歴バージョンに対しては有用ではない。代替的バージョ
ンに対しては64バージヨンをしばしば越えることはあ
りえないと思われ、単一レベルのマスクで充分である。
しかし、単純性と一般性のためハードウェア的な解決法
が2レベルのマスクを許容するのが好ましい。1又は2
レベルであるマスク用の余地がテーブルTVER8IN
O3に留保されなければならない。この余地は使用され
るかもしれないし使用されないかもしれない。TVER
8ION上でマスクを使用するということは、一定のオ
ブジェクトに対しオブジェクトの識別子をNILとする
ことなく一定のバージョンを未定義とできるということ
である。
ロックのコピーの管理において、バージョンのロックテ
ーブル(TVOPVERROUS−VER8)60のコ
ピーの構造は、バージョンのロックテーブル42の構造
と同一である。ロックのこのコピーのマスクにより、甲
一の[1ツクからなるバージョンのロックの」ピーの生
成時には2又は3ワードの初期化が必要なだけである(
第6図)。
この評価は、上記テーブル60の設置位置を決定するの
に必要な空白の管理を考慮していない。
バージョンのロックのコピーの管理に必要な補足的メモ
リスペースは、オブジェクトのバージョン数に依存する
が、本明細書では通常代替的バージョンに限定されてい
るからこのスペースは通常ロック毎に16乃至64ワ一
ド程度であって、ロックのコピーにより占められるメモ
リスペースをほとんど増加させない。一方TCOPVE
RROUS−VER860へのアクセスは、通常は起こ
らないオブジェクトに対応するテーブル゛rVERRO
US60の要素がゼロでないという場合のみに必要とな
る。従ってこの構成はロックのコピーの管理につきアク
セスメモリの数を大幅に増加せしめない。従ってこれら
の動作に対する機構が非常に重要である。
本発明による管理ユニットによれば、同一リレーション
上での少なくとも2つのトランザクションの相互ブロッ
クの問題も解決される。
実際あるトランザクションが少なくとも1つのセグメン
ト又はリレーションのオブジェクトに読み出しロックを
する際、あるいはかかるオブジェクトに対する他のトラ
ンザクションによるロックにより待機中である際には、
そのトランザクションはリレーションへの読み出し又は
書き込みロックの意向又はかかるロックの要求又は読み
出しロックの意向のみを設定する。これらのロック又は
ロックの意向は要求を行なったトランザクションのそれ
ぞれの識別標識を含む。
前記のロックは待機中には効果がなく、可能なトランザ
クション源毎に1ビツトという周知の方法でリレーショ
ンにより、また場合によりロックの種類(読み出し、書
き込み、ロック要求)により表示される。
複数のトランザクションが待機中の場合には、例えば待
機グラフ法で意図されたロックを現実のロックの如く扱
って相互のブロックの可能性が調べられる。このように
検出された相互ブ、ロックは一般には着熱的であって確
実なものではなく、従ってリレーション又はセグメント
の所与の[1ツクされたオブジェクトへのロック要求の
みが請求項の手続きによるトランザクションの待機設定
を決定する。
このように検出された可能な持ちのサイクルは、少なく
ともサイクルの他のリレーシ」ンを1又は複数のオブジ
ェクトに対し待機せしめるリレーションに意図的なロッ
クをする第1のトランザクションに対しては探索を行な
うことで、もし前記第1のトランザクション自体が前記
オブジェクトに少なくとも1つのロックをなしているな
らば確めることができるが、これは前記第1のトランザ
クション及び前記他のトランザクションが待機している
オブジェクトの識別子によりロックが設定されるオペレ
ーションのリレーション結果内の交差部分が空でないこ
とが確められるということである。
有利な態様としては、オブジェクトとしては、オブジェ
ク]一の識別子及び拡張識別子のセットにより表わされ
るオペレーションの2つのリレーション結果間の交差部
分の全ての探索、特に相互ブロックの解消プロセスの空
でない交差部分の探索は、識別子があるリレーション結
果の部分であるオブジェクトに対し請求項11及び12
のいずれかによる各オブジェクトのロックのコピーにイ
(1随するマスクビットを所与の値とし、他のリレーシ
ョンのオブジェクトの各識別子に対し前記マスクビット
をテストすることで行なわれる。空でない交差部分の探
索は、他のりレージ」ン結果にあるオブジェクトが存在
することに対応するマスクの第1ビツトが19られた後
には中止することができる。マスクの各ビットへのアク
セスは、追加保証の現要求のオブジェクトを作るメモリ
管理ユニットの援助により行なうことができる。
オブジェクトへのアクセス衝突が確認されたトランザク
ションの遂行を管理するため、前記トランザクションを
定める動作列のある動作による前記オブジェクトへの書
き込みロックの設定要求の際、方法は、前記オブジェク
トに付随するロックのフィールドカウンタの値と待機中
の前記動作に付随するロックのコピーのフィールドカウ
ンタでの減少結果の値との差に等しい前記トランザクシ
ョンの遂行基準を計算し、前記トランザクションは次の
いずれかとされることで特徴例けられる。
−前記遂行基準がげOに等しい詩、つまり前記トランザ
クションが前記オブジェクトに読み出しロックを設定し
ていない時は前記トランザクションは単純待機とされる
一前記遂行基準がゼロでない詩つまり前記トランザクシ
ョンがml記オブジェクトに少なくとも1つの読み出し
ロックを設定している時は、前記トランザクションは優
先待機とされる。
−前記オブジェクトに対し先行トランザクションで優先
待機とされたものが既に存在し、実行中のトランザクシ
ョンが優先待機の状態となった時には前記オブジェクト
につき相互ブロックがあることが確認され、前記先行ト
ランザクションと実行中のトランザクションの一方が放
棄される。
有利な態様では、請求項21による甲純待機又は優先待
機とされたトランザクションの遂行の段階を実行するた
め、前記オブジェクトにつき待機中のトランザクション
のリストのリファレンスを待機テーブルに記憶させ、前
記待機テーブルのリファレンスの指標を前記オブジェク
トに付随するロックのスタンプのフィールドに入れ、各
前記待機中のトランザクションの記述子を、それがブロ
ン4:ングオブジエクトのカウンタにつき待機中である
オブジェクトの数だけ増加させ、前記オブジェクトにつ
き優先待機とされたトランザクションの記述子のブロッ
キングオブジェクトの前記カウンタを、前記オブジェク
トに付随する[1ツクのフィールドカウンタの内容値が
前記遂行の基準の値に等しい閾値に達した時、つまり他
のトランザクションによる前記オブジェクトの完全なロ
ック解除の時に中位だけ減少させ、前記トランザクショ
ンを前記オブジェクトについての待機トランザクション
リストから抜き取り、オブジェクトにつき単純待機中の
各トランザクションの記述子のブロッキングオブジェク
トの前記カウンタを、前記オブジエクトにf1随するフ
ィールドカウンタの埴がゼロと等しい時、つまり前記オ
ブジェクトの完全なロック解除の時に中位だけを減少さ
せ、前記1〜ランザクジヨンを前記オブジェクトについ
ての待機トランザクシ」ンリストから仮ぎ取り、ブロッ
キングオブジェクトのカウンタがU口に戻った全てのト
ランザクションを遂行することを特徴とする。
第8図は、本発明よるロック及びオブジェクトのバージ
ョンを石する管理ユニットのアドレシングの上位第2段
を実際に設置したものの右利な実t!Mr!!A様を示
プ。
管理ユニットは原理的には、ホストマシーンのバスを通
過する必要なしに相互に接続された複数のメモリスペー
ス101. 102. 103. 104. 105゜
106、 107と、加算器と、乗算器とからなる。好
ましい解決においては、初期バージョンのメモリスペー
スは保存される。拡張キャッシュ−MMCIはスペース
TPAQL 101.TPAGEGL 102及びT 
OB J V E R103(テーブル°rOBJ 1
3゜TVERROUS41およびTCOP[ES50を
含む)からなる。キャッシュ−MMUは3つの補助的メ
(l−IJスペースTVER8IONS 104と、T
TEXISTE 10B(属性5tJPEREX l5
TE52を含む)と、EXISTE  VER3ION
SIO(パージコンロツクのマスク61を含む)を含む
。TOBJVFR103に対するTEXISTE105
と同様ビットで表わされた一r−rEXIsTE106
のオブジエクトのアドレスは、ワードで表わされるTE
XISTE 105に対応するオブジェクトの7ドレス
と同一である。使用されるワードの大きさに応じ、好ま
しい解決における2つのメモリスペースの比は32であ
る。約30ワードの小さな補助的メモリスペースは、キ
ャッシュ−MMtJ (TSGE70と称する)により
アクセスされるセグメントの論理パケット及び物理パケ
ットのテーブルのアドレスの基底を含む。
この実施態様では、物理パケットテーブルTPAQP1
4のセット及び物理ページテーブル15のセットは、一
方ではテーブル13.41.51のセット及び他方では
テーブル30を既に含むメモリスペース103及び10
4にそれぞれ記憶され、アドレシングの上位第1段18
に属する。このようにして、アドレシングの上位第2段
18から出て中間論理アドレス17を供給する接続78
及び79の−hを通じて第7図のメモリ管理ユニットを
巡回するとができる。
つまりこの実/II i tiでは管理ユニツ1〜は、
アドレシングの上位第1段の1−プル11.12゜13
のセットが異なる少なくとも2つのメモリスペース10
1. 102. 103. 104の機能内に分散され
、階層的に組織され、前記アドレシングの下位第2段1
9のテーブル14.15のセットはテーブル14.15
の前記セットの階層を′ri虞して少なくともある前記
メモリスペース103. 104に分散され、各@記メ
モリスペース103. 104は交番する2つのサイク
ルでアクセスされるようアクセス制御手段73.76.
78.79によりアクセスされ、前記2つのサイクルは
、前記論理アドレス源由来の中間的論理アドレスを、ア
ドレシングの上位第1段(18)に屈するテーブル11
゜12.13のセットが選択的にアドレスされるよう決
定する第1のサイクルと、前記中間的論理アドレス17
由来の前記物理アドレス結果を、前記アドレシングの下
位第2段19に属するテーブル14.15のセットが選
択的にアドレスされるよう決定する第2のサイクルとか
らなり、油量アクセス制御手段はメモリスペース101
. 102. 103゜104の機能内に第1のサイク
ルを第2のサイクルへ接続する巡回手段78.79を有
することで特徴付けられる。
物理パケットテーブル14及び物理ページテーブル15
のセットは、正しい階層秩序が尊重されさえすればメモ
リスペース101. 102. 103゜104の階層
の異なるレベルに記憶させることができる。また巡回及
びアクセス制御回路78.79゜73.76を変形して
、物理パケットテーブルのセットをメモリスペース10
2及びメモリスペース103それぞれに記憶させ、物理
アドレス結果はメモリスペース103から得られるよう
にすることもできる。
アドレシングの上位第1段18.アドレシングの下位第
2段19それぞれのテーブルの前記セットの各々は、テ
ーブルのセットにおけるレコードの選択手段に付随し、
^η記選択手段は一方では入力に論理アドレス源フィー
ルド内の間接アドレス10、中間論理アドレス17それ
ぞれを供給され、前記フィールドは付随するアドレシン
グテーブルのセットと同一レベルであり、他方各段階も
最も高レベルのテーブルのセット以外のアドレシングテ
ーブルのセットに対しアドレシングの2次情報は上位レ
ベルのテーブルセットに由来し、付随するテーブルの前
記セットの記録へのアクセスを選択されたアドレスから
供給する。
第9図の実施態様では、メモリ管理ユニットは、前記ア
ドレシングの第1段及び第2段18.19のテーブル1
1.12.13.14.15の全てのセットは単一のメ
モリスペース90に再編成され、前記メモリスペース9
0は前記メモリスペース90の再編成及びアクセス制御
手段91.92゜93.94に、論理アドレス源から物
理アドレスへの結合で与えられる動作の間前記メモリス
ペース90に含まれる前記テーブル11.12.13゜
14.15への順次アクセスの系列を保証するようにし
て付随されることを特徴とする。
図面中、巡回手段91は、−りでは識別子10゜17の
入力レジスタ10.17に供給を行ない、他方でメモリ
スペース90の入力側で加n回路93に接続する非透過
レジスタ92に供給を行なうバスからなる。加算回路9
3はまた入力マルチブレク+j94から情報を供給され
、アドレシングの十位第2段により中間論理アドレスか
ら物理アドレス結果を決定するためパケットテーブル1
00のアドレスが供給される。(第8図に示された第1
実施態様においてもマルチブレクリ゛73に物理パケッ
トテーブルのアドレスが人力される。)メモリスペース
90から出力されるアドレシングの2次情報はテスト回
路95を通される。
物理アドレス結果は、出力レジスータ98及びマルチプ
レクサ99を通るよう供給される。
メモリスペース90に含まれるアドレシングの2次情報
の処理は、バス停止部96が設けられているバス97を
介して行なわれる。
第9図の例は、ロックマスクj−プルTEX l8TE
及び5tJPEREX l5TEに対応するメモリスペ
ース115,116も有する。
第8図の実施態様におけるのど同様、メモリ、スペース
115,116はメモリスペース9oと並列的にアクセ
スされる。メモリスペース115,116は出力側にテ
スト回路95と、初期化及び/又は処理を行なうバス9
7及びバス停止部96とを有する。
キャッシュ−MMUは、直接t−ドと透過モードの2通
りのアクセスモードをイ]する。
透過モードにおいてはキャッシュのメモリスペースは、
任意のメモリに対するのと同様ホストマシーンのバスを
通ったアドレスによりアクセスされる。このモードは、
特に初期化、スワップ及びテーブルの一部がキャッシュ
−MMU内にないオブジェクトへのアクセスに用いられ
る。
直接モードにおいてはテーブルは論理識別子10を介し
てアドレスされ、テーブルの各レベルが下位レベルのテ
ーブルのアドレシングに貢献する。2つのモードの一方
の選択は、キャッシュ−MMUのレジスタ5TATUS
内の状態ワードを書き込むことで行なわれる。
ロック管理を有しても為さなくてもよい直接アクセスに
つき検討する。
その場合キャッジ:L−QMUの入力ボートは、レジス
タS T A T U S 1セグメント番号のレジス
タ及びバージョン番号のレジスタである。出力ポートは
、考慮されるサイクル及び機能態様に従いオブジェクト
のアドレス又はロックの値をh する。
この2種類の結果は、異なる2つの出力ボートに出力さ
れてもよい。オブジェクトのアドレスは、バージョンテ
ーブルの始点のアドレスで代置されて、透過モードにお
けるその読み出しができるようにしてもよい。オブジェ
クトのアドレス及びロックの値の特定値は、これらの情
報が発見されていないこと、あるいは他のコードレスポ
ンスを表わすことを示す。キャッシュ−MMUの機能は
データにつき順次であり、出力ポート内の結果の古き込
みは入力ポート内への論理識別子の書き込みにより決定
される。ホストマシーンのバスのプロトコルを用いて同
期化を行なう機構を使うこともできる。場合によっては
、識別子がキャッシュ−MM、Uによりデコードされる
一時的リレーションは、複数の恒久的リレーションの識
別子からなる固定長のnラブル及び場合によりバージョ
ンのラベル等の情報からなる。異なるリレーションの属
する識別子をデコードする毎にセグメント及びバージョ
ンの番号を送る必要がないのが好ましい。
この場合、論理及び物理パケットテーブルのアドレス及
びラブルの各識別子に対するバージョン番号をTSEG
70の隣接ライン群71に入れられる。これらの継続的
ラインの経路は識別子のnラブルの各々をデコードする
際巡回的になる。TSEG70の内容は、動作及び動作
群の前に全てに対し一度にロードされる。同一タイプの
識別子の複数nラブルのデコード開始以前に必要な唯一
の別の情報は、TSEG70の現ラインの始まりのアド
レスであり、この群のライン数である。この情報は透過
モードとされた特別のレジスタ内へ入れられる。
キvyシーx−MMLIにより5UPEREX l5T
E52及びTEXISTE51のマスクがU口に初期化
される。このため、ビットを選択するこれらのスペース
メモリのアドレスは重みの小さいビットは、マルチプレ
クサ回路73を横切って1のビットの集合と乗停される
。従っであるビットの表記をワードのTクリチュール(
ecr+ture)へ渡すことができる。他の可能な解
決法は、これらのメモリスペースのワードのレベルに一
度ずつアクセスし、場合によってただ1つのビットを設
定又はテストすることである。スペースメモリEXIS
TE51及び5UPFREXISTE52上にキャッシ
ュ−MMUを配置する動作は次の通りである:ワードを
初期化しく重みの小さいアドレスを1とし、データの値
をOとする)、あるビットの書き込みを1とし、あるビ
ットの書き込みを0とし、あるビットを読み出す。ある
ワードの初期化は、(SUPEREX l5−rE52
内(7)Ik:対応するビットの設定をともなって’)
EXISTE51のレベルであるいは5UPEREXI
s■E52内で行なわれる。ピッ1への読み出しの場合
、それはキャッジ−1−MMUによりテストされ、(E
XISTE511.tSUPEREXIsTE52内で
)1口ならばスペースTOBJ13内で読まれた要糸の
値は、TOBJ 13の出力側のマルチプレクサにより
コードレスポンスに代置される。非透過性の動作ではE
XISTE51又は5UPEREXISTE52のビッ
トはホストマシーンにより直接読み出されることなく、
前記2つのメモリスペースとTOBJ 13への並列的
なアクセスがされる。
一般には、前記管理ユニットのメモリスペースを処理方
法は、処理の7ドレスとして論理識別f、及び場合によ
りはバージョン番号ならびに処理がなされるべきメモリ
スペースのリファレンスを用い、前記リファレンスはメ
モリスペース番号からなり、前記メモリスペース番号は
重量問題とされているメモリスペースでの書き込み許可
信号がiqられるようデコードされることで特徴付けら
れる。
テーブルへのアクセス管理は次のようにされる。
=F記においてテーブル内のアドレスが物理アドレスで
あるとした。しかし識別子ちまた重要となりうる。その
場合低位レベルのテーブルはキャッシュ−MMU内に現
われない。その物理アドレスは通常はキャッジ1−MM
U内の「テーブル」タイプのリレーションの異なるセグ
メント・のテーブル内にある。(好ましくはパケットテ
ーブル、ページテーブル、オブジェ・クトテーブル及び
バージョンテーブルであり、さらにロック及び対応する
コピーは別々のセグメント内にあるようにされる。
れにより同一ページ又は同一メモリベース内に複数のレ
ベルがあるということが避けられる。)識別子及びポイ
ンターは、重みの大きいビットにより区別される。キャ
ッジ1−MMU内及び主メモリ内のデータを(あるビッ
トによるにしろ、ポインタの値によるにしろ)区別する
こともできる。
また、オブジェクトのバージョンのセットのロックは、
そのセットのレベルのおいて行なわれても、各バージョ
ンのレベルにおいて行なわれても、テーブル°rVER
ROUs41の対応する要素内のビットにより区別され
る。この特定の場合のセットは、問題を生じうる各1−
プル由来の1ストにより正常動作から区別される。ポイ
ンタの代わりに識別子がある場合又は他の全ての特別な
場合には、オブジェクト一のアドレス又は[lツクのア
ドレスが少なくとも1ビツトで正常なレスポンスと区別
されるコードレスポンスにより貿き換えられる。
論理ページテーブル11は3つの列を有するが(実際に
は、3による除鼻を避けるため4番目を残した4つがあ
る)、物理ページテーブル15には1つしかない。TP
AGP15山来のオブジェクトのアドレス数は、バージ
ョンが存在する場合TVER830内のバージョンの識
別子故に等しい。従って、物理パケットテーブルはTO
BJ13内にあり、物理ページテーブル15はT V 
ER830内にある。同様に、バージョンロック及びバ
ージョンロックのコピーはTVER830内にある。
第8図において参照記号°[75はテスト回路を表わし
、参照信号A76は加詐回路を表ね寸。
本発明によるVヤッシ、L−MMUの性能の評価が行な
われた。
まず競合管理での選択動作の性能が調べられた。
この動作は、特に選択及び他の動作のit FiがIF
AUD87alアルゴリズムを用いるデータベースブロ
セッリにより高速化される場合には大多数の要求の継続
時間の大きな部分を占めうる。システムはオブジェクト
及びロックにアクセスし、タプルが選択結果の一部をな
す場合適宜修正後に占き込み直す。ホストマシーンは6
8020であるとし、命令は命令キャッシュ中にある。
これに対し、その実行は、先行する命令によりマスクさ
れない。
従って、主要な命令の継続時間は単純84鋒の場合は、
2サイクルであり、ベリファイされない条件による条件
付分岐の場合は4勺イクルである。1サイクルの継続時
間は60nsである。  68020のバス経由のメモ
リアクセスの継続時間は250nsである(最短には1
80nsである)、、テーブルへのアクセスのソフトウ
ェア的実行によるデータ及びロックへのアクヒスの継続
時間は次の通りである。
*論理識別子の読み出し       250n s*
バージョン番号の読み出し    250n s* T
 P A Q L、のアドレスの読み出し 250n 
S*TPAQPのアドレスの読み出し 250ns*オ
ブジ1クトのアドレスへのアクセス11アドレス計n 
(1)    1320n s6メモリアクセス   
  1500n S4テスト         140
0nS*バージヨンロツクへのアクセス 7アドレス計算       840n s7メモリア
クセス     1750ns7テスト       
  2940n s(ロックの占き込み直し: s* 
250ns、sは選択の選択度である。) S=Oの場合の総計   10790n Sハードウェ
ア的実行による近延は次の通りである。
*論理識別子の読み出し       250ns二七
輪埋識別子のキャッシュ−MMU への書き込み           250ns二1;
オブジェクトアドレスの読み出し 250ns*アドレ
ステスト          360ns*ロツクの読
み出し         250n s*ロックのテス
ト          360ns(及びロックの書き
込み直し: S* 250n s )S=0の場合の総
計       1720ns性能の利1qは約6.3
倍である。これは、キャッシュ−MMUにより各タプル
で実行されるべきコードが大幅に単純化されて命令キャ
ッシュのオーバーフローの可能性が減るなら増加する。
命令キャッシュがオーバーフローを起した場合には全体
で数マイクロ秒増えることもある。
頻発しうる他の動作はロックの初期化である。
この動作はオブジェクトが修飾の表示をベリファイする
場合選択中のロック要求毎に生じうる。従ってオブジェ
クトへのアクセスよりも低Il&で発生する動作が問題
となる。これは、2つの動作の比が高々イン70ゲージ
コン(interrogation )動作(例えば選
択)の選択度に等しいからである。
ロックに対応するロックタプルが存在しない場合には、
セグメントVERROUS41及び/又はVERRO4
JS−VER8l0NS42にそのタプルを生成する必
要がある。ロックがバージョンのロックであり、VER
ROUSのページ及び■ERROUS−VER3l0N
8(1)’)フルが存在しないという好ましくないこの
仮定をする3、VERROUS(7)ページ及びVER
ROUS−VER3IONSのタプルの割り当ては、必
要に応じテーブルシステムを後に処理するよう(例えば
1次メモリにおけるスワップの場合)これらのオブジェ
クトが必要な後方リファレンスを含んでいるならば、ポ
インタを返すことができる。その場合セグメント・テー
ブル■FRROUS、VER8■ONSの処理とともに
オブジェクトをすぐに生成する必要はない。しかしいず
れにしろ空白ページのリスト及びこのセグメント内の空
白のリストへのアクセスは必要である。
ソフトウェア的には、この初期化の継続時間は次の通り
である。
*ベージの欠落の探索 6計算          720nS(TPAQLへ
(7)アクセス1.:2.T1[、TPAGLへのアク
セスに4計算:フィールドの扱き出し。
デカラジ(dccalage) 、テーブルのアドレス
の加算2列番号の加算) 3メモリアクセス     750ns2テスト   
       720nS(結果に対し与えられたオブ
ジェクトへのアクヒス試行:TPAGL、内のロックペ
ージ上のポインタはNILである。) 一!: T OB Jのページの割り当て3メモリアク
セス     750nS1テスト         
 360ns*TPAGLの処理         2
50ns*VERROUS−VER8l0NS+7)空
白(7) 1,1ストへのアクセス 2計剪           240ns(空白リスト
番号、入力デープル内のアドレス)4メモリアクセス 
    1000ns2テスト          7
20ns*5UPEREX IS’rE、TEX l5
TEの初期化 481算 (ワードのアドレス及びビットのアドレス)80nS 2メモリアクセス     500ns* T OB 
Jの処理 1計篩          120ns1メモリアクセ
ス      250ns*VERROUS−VER8
l0NSの初期化34倖 (EXISTEに2計W/l”rVER8lN5k:1
 atR)               360n 
s2メモリアクセス     500ns総計 7720n s キャッジ1−MMUを用いるとこの継続時間は次の通り
である。
*rOBJ及びVERROLIs−VER81ONSの
割り当て          3070n s*ロック
上のページ欠落の探索   860ns(識別子の書き
込み、ロックの読み出し、[1ツクのテスト) :!: T P A G Lへの書ぎ込み     2
50ns=): T OB Jへの書ぎ込み     
 250ns:!:VERROUS−VER8l0NS
へのiiき込み                  
       250n S総計          
 4680nSこの場合の利得は1.65倍に過ぎない
が、回路の使用により命令の大部分を命令キャッシュ内
に納めることができることは非常に重要である。前記の
仮定により、キャッシュ外に10の命令があると250
0n sの付加的な遅延が生じ、2つの解決法の比は2
.2程度になる。アクセスされたオブジェクトにとり、
ロックの初期化の影響は、せいぜいSを動作の選択度(
普通には選択の選択度)として、先行する値の5倍であ
る。
本発明によるメモリアクセス管理ユニットは、オブジェ
クトへのアクセス及びそのロックの制御を、アクセスさ
れたオブジェクト毎に1.7マイクロ秒程度の時間内で
行なうことができる。この応答時間は同一動作をソフト
ウェア的に実行した場合の約6倍速い。仮想メモリの管
理を行なう高度なシステムでの全品10時間中において
オブジェクトへのアクセス時間は大きな部分をなすから
、オブジェクトの管理装置を加速するこの種のカードの
使用は全く正当なものである。
ある動作の継続時間中のアクセス時間の部分は、計算に
用いられるアルゴリズムに応じ多かれ少なかれ1人であ
る。継続時間が最短となるのは、ホストマシーンのバス
における有効データ転送時間内で(選択−結合の如き)
動作を行なうデータベースマシーンにおいてである。”
RAPID”と称される経過を用いるかかる装置の原即
は、本願発明の発明者中の2名とともにCNR3が19
87年6月15日に出願した米国特許出願S、N。
061.642に記載されている。この装置では、例え
ばnタプルとmタプルを結合する動作の実11時間は、
n+mオブジェクトにアクセスする時間に結合の成性へ
アクセスする時間及びこのM竹を転送する時間(アクセ
スされた各オブジェクトに対し3バスリイクル稈度、つ
まり約750n s )を加えた時間に等しい。従って
アクセス時間を適切なメモリ管理ユニットを用いて最小
限に減らずことは非常に重要である。それ故米国出願出
類及び本願出願において関連性があるのは、特に不要で
ある。
この秤の装置においては、キャッシュ−MMUにより得
られる6倍の利得は動作の継続時間に実際に大きく影響
する。
キt?ツシューMMUとブ[1セツザRAPIDの使用
を組み合わせることで、各トランザクションに数十秒稈
度の「8rk1時間」がある如き多数の要求からなる、
ある数のトランザクションを毎秒実行しえ、これにより
同時のトランザクションは数千となる。RAPIDとキ
ャッシュ−MMUの紺み言わせは、秒当りのトランザク
ション数が非常に高く(10ブ[1セツサに対し1oo
o”r p s程度)、低価格でバージョン及び論理識
別子にI!l連する装置を提供する。
上記を要約するに、本発明による」ンピ1−夕の記憶ユ
ニットに記憶されたオブジェクトにアクセスするための
メモリアクセス管理ユニット用アクセスロック手段は、
メモリjニツ1〜内の各オブジェクトに付随する少なく
とも1つのアクセスロックデープルからなる。オブジェ
クトの[1ツキングの特定の情報は各々は、少なくとも
ロック設定のり°ブフイールドカウンタと、1〜ランザ
クジヨンスタンプのサブフィールドとからなるのが有利
である。オブジェクトのロックへのアクセスは1又は複
数レベルのマスクテーブルを通じて行なわれるのが好ま
しい。同一オブジェクトへのアクセス要求の衝突の管理
は、このロッキングの構造を用い、ロック管理及びロッ
クのコピーによる競合1−ランザクシコンの衝突の検出
、トランザクションの待機及び待機中のトランデクジョ
ンの遂行又は放棄のh法を提供する。
【図面の簡単な説明】
第1図は本発明が適用されるメモリアクセス管理ユニッ
トの好ましい第1の実施態様を示すブロック図、第2図
は第1図の管理ユニットの慈能の異なる状態を示す図、
第3a図、第3b図及び130図は、第1図に示される
管理ユニット・の第1の実施態様に本発明に従い適用さ
れるロックによるアクセス衝突の管理システムの様相を
示す図、第4図は本発明が適用されるメモリアクセス管
理ユニットの第2の実施態様のアドレシングの二段階構
成を示す図、第5図はオブジェクトのバージョンのロッ
ク管理がある実施態様について、第1図の管理ユニット
のテーブルのセットでの階層ポインティング及びアドレ
シングの関係を丞す図、第6図はアクセスの競合を管理
する場合(オブジェクトのバージコンがない場合)にお
ける第4、図のユニットのテーブルのセットでの階層ポ
インティング及びアドレシングの関係を示す図、第7図
はオブジェクトのバージョンがある場合の第6図と同様
の図、第8図はアクセスロックが行なわれる本発明のメ
モリアクセス管理コニットの有利な実施態様を構成した
全体を示す図、第9図はオブジェクトのバージョンを許
容する本発明のメモリアクセス管理ユニットの第2の実
1M態様を構成した全体を示す図である。 1・・・パケット、2・・・ページ、3・・・オブジェ
クト、10・・・論理010,11・・・論理パケット
テーブル、12・・・論理ページテーブル、13・・・
オブジェクトテーブル、14・・・物理パケットテーブ
ル、15・・・物理ページテーブル、17・・・物理識
別子、18・・・アドレシングの上位第1段、1つ・・
・イドレシングの下位第2段、30・・・オブジェクト
バージコン、31・・・フィールド、32.33・・・
属性、34・・・ロック、35・・・ビット、40・・
・パケット番号、41・・・ロックテーブル、42・・
・バージョンロックテーブル、50・・・ロックの」ピ
ー、51・・・EXISTE 1 52 ・・・ 5L
IF’EREX  l5TE  、  60 ・・・ 
ノベ −ジョンロックテーブル、70・・・キャッシュ
〜M MU171・・・ライン群、73・・・マルチプ
レクサ゛、78.79・・・接続、90・・・メモリス
ペース、91・・・巡回手段、92・・・非透過レジス
タ、93・・・加停回路、94・・・入力マルチブレク
′す、95・・・デス1−回路、96・・・バス停止部
、97・・・バス、99・・・TPAQ、 100・・
・論理アドレス源、101〜107・・・メモリスペー
ス、112・・・パケット番号、115. 116・・
・メモリスペース、201・・・ページテーブル、21
1・・・ページ番号、212. 222・・・加算回路
、230゜231、 232. 330・・・アドレシ
ングの2次情報、231−!!素、250 ・・・東口
回路、301・T OB J VFR,401・=TE
X l5TE、501・”TVFRROUS、530・
・・V E RROU S 、  600・・・内部バ
ス。 / FIG、7 1、事件の表示 昭和63年 特許願 第177953 2 発明の名称 アクセス管理手段及びアクセス要求衝突管理ユニットの
利用方法a 補正をする者 事件との関係  特許出願人 住所 フランス国 75700  パリ ケ アナトー
ルフランス 15番地 名称 サンドル ナショナル ド ラ リシエルシエシ
ャンチフィク 105 ロカンクール ドメン ド ヴオルソー(番地
なし) 名称 アンスヂチュ ナショナル ド リシエルシエ 
アンアンフオルマチーク エ アン オートマチーク7
、補正の内容 (1)願書中、出願人の代表1名を別紙のとおり補充す
る。 ■ 図面の浄書(内容に変更なし)を別紙のとおり補充
する。 ■ 委任状及びその訳文各1通を別紙のとおり補充する
。 4)明細書中、第1頁4行目と5行目の間に、「2、特
許請求の範囲」を挿入する。 以  上

Claims (24)

    【特許請求の範囲】
  1. (1)コンピュータの記憶ユニットに記憶されたオブジ
    ェクトへのアクセスをロックし、該オブジェクトは、コ
    ンピュータの処理ユニットに由来する論理アドレス源か
    らオブジェクトの物理アドレス情報を引き出す間接アド
    レス手段からなるメモリアクセス管理ユニットを通じて
    アドレスされるアクセスロック手段であつて、該アクセ
    スロック手段は、各該オブジェクトに付随する少なくと
    も1つのアクセスロックテーブルからなり、該アクセス
    ロックテーブルの各レコードは、オブジェクト又はオブ
    ジェクトのセットに付随するロックの情報及び/又はロ
    ックの情報のアドレスからなることを特徴とするアクセ
    スロック手段。
  2. (2)各該レコードは、初期化された状態で、レコード
    に付随するオブジェクトのセット中の各オブジェクトに
    ついてのロックの特定の情報を有するロック状態フィー
    ルドを有するオブジェクトのセットに付随するロックの
    情報からなり、該ロックの特定の情報は該ロック状態フ
    ィールド内部に連続的に配置されることを特徴とする請
    求項1記載のアクセスロック手段。
  3. (3)オブジェクトのロックの各特定の情報は、少なく
    ともロック設定のサブフィールドカウンタ及び/又はト
    ランザクションのスタンプサブフィールド及び/又は欠
    乏ビットからなることを特徴とする請求項1又は2記載
    のアクセスロック手段。
  4. (4)該ロックの情報及びロックの情報のアドレスは夫
    々処理ユニット由来のオブジェクトの論理アドレス源よ
    りアクセスされることを特徴とする請求項1記載のアク
    セスロック手段。
  5. (5)処理ユニット由来の各該論理アドレス源が、異な
    るレベルの間接アドレスシンクに対応し、それぞれが間
    接アドレスを含む異なる少なくとも2つのフィールドか
    らなるアクセスロック手段であつて、該ロックテーブル
    は、階層的に組織された少なくとも2つのテーブルセッ
    ト内に配置され、各該ロックテーブルセットは論理アド
    レス源の該間接アドレシングのレベルの1つに対応し、
    各ロックテーブルセットにはレコードの選択手段が付随
    し、該選択手段は入力において論理アドレス源の対応す
    るフィールド内の間接アドレスと場合により上位レベル
    のテーブルセット由来のアドレシングの2次情報とを供
    給され、該付随するテーブルセットのレコードへのアク
    セスの選択されたアドレスを出力することを特徴とする
    請求項4記載のアクセスロック手段。
  6. (6)該階層化されたロックテーブルセットは、該階層
    化されたオブジェクトアドレシングテーブルセットと協
    働し、該階層化されたロックテーブル及びオブジェクト
    テーブルは、同一の論理アドレス源からアクセスされる
    ことを特徴とする請求項6記載のアクセスロック手段。
  7. (7)該階層化されたオブジェクトアドレシングテーブ
    ル及びロックテーブルは、共通のメモリスペース内で少
    なくともレベル毎に統合されることを特徴とする請求項
    6記載のアクセスロック手段。
  8. (8)論理アドレス源のフィールド内容値と階層化され
    たオブジェクトアドレシングテーブルの1つのテーブル
    に由来するロックの論理アドレスとを入力に供給され、
    入力論理アドレスをオブジェクトの物理アドレスに変換
    する第1の状態と、ロックの論理アドレスをロックの情
    報及び/又は該ロックの情報の物理アドレスに変換する
    第2の状態との2つの状態の一方の開始を択一的に保証
    する入力マルチプレクサ回路からなることを特徴とする
    請求項7記載のアクセスロック手段。
  9. (9)該ロックテーブルセットは、ロックの情報の各セ
    ットのワードのマスクビットのテーブルと協働し、該テ
    ーブルは、該ロックテーブルセットを含むメモリスペー
    スへ並列的にアクセスされるメモリスペース内に記憶さ
    れることを特徴とする請求項1記載のアクセスロック手
    段。
  10. (10)該マスクビットは、問題とされるオブジェクト
    又はオブジェクトセットに関しロック状態についてのロ
    ックの特定の情報の存否についての情報と対応すること
    を特徴とするアクセスロック手段。
  11. (11)該マスクビットのテーブルは、少なくとも2レ
    ベルのテーブル階層に組織されることを特徴とする請求
    項9記載のアクセスロック手段。
  12. (12)少なくとも2つの異なるトランザクションに由
    来する同一オブジェクトへのアクセス要求の衝突を管理
    するための請求項1に従う管理ユニットの利用方法であ
    って、アクセスされた及び/又はリレーション源の結果
    の一部をなすオブジェクトに付随する全てのロックを初
    期化し、各オブジェクトのロックの特定の情報を、任意
    のトランザクションに由来する該オブジェクトへのアク
    セス要求毎に増加させ、各トランザクションが各オブジ
    ェクトに対し要求したアクセスの回数をリレーション源
    の結果の一部をなすよう記憶し、進行中のトランザクシ
    ョンが終了する毎に、リレーション源の各オブジェクト
    のロックの特定の情報をリレーション結果内の該オブジ
    ェクトの対応するロックの特定の情報の値だけ減少させ
    ることを特徴とする利用方法。
  13. (13)該リレーション源のロックの該フィールドは、
    該フィールドと同一のコピーを体系的に複製され、読み
    出し衝突又は書き込み衝突が発生する毎に、現トランザ
    クションについて該オブジェクトへのアクセスに対する
    リレーション結果内に記憶された数から、リレーション
    源の該コピー内のアクセス要求のされたオブジェクトの
    ロックの特定の情報を減算し、減算結果がゼロと異なる
    場合、つまり少なくとも1つの他の未完了トランザクシ
    ョンが該オブジェクトへのアクセスを獲得している場合
    には衝突を確認して該トランザクションを待機せしめる
    ことを特徴とする請求項12記載の方法。
  14. (14)少なくとも1つの他の異なるトランザクション
    に由来する同一オブジェクトへのアクセス要求の衝突を
    管理し、コンピュータの記憶ユニット内に記憶されたオ
    ブジェクトへのアクセスを少なくとも1回要求する動作
    からそれぞれなるトランザクションに由来する中央ユニ
    ットの要求の間にアドレスされる請求項11記載に従う
    管理ユニットの利用方法であつて、各オブジェクトのロ
    ックの特定の情報を、任意のトランザクションに由来す
    る該オブジェクトへの読み出しアクセス要求毎に増加さ
    せ、進行中のトランザクションが終了する毎に、リレー
    ション源の各オブジェクトのロックの特定の情報を、該
    終了したトランザクションのリレーション結果内に該オ
    ブジェクトが現われる回数の数だけ減少させることを特
    徴とする管理ユニットの利用方法。
  15. (15)あるオブジェクトにアクセスする最初のトラン
    ザクションの各々により、該オブジェクトのロックの特
    定の情報のトランザクションスタンプフィールド内にト
    ラクザクションのラベルが付けられ、該スタンプは最初
    のトランザクションと異なる第2のトランザクションに
    より該オブジェクトへアクセス要求がある場合には消さ
    れることを特徴とする請求項14記載の方法。
  16. (16)オブジェクト又は読み出しロックがされたある
    バージョンのオブジェクトにあるトランザクションT1
    の動作によりなされる書き込みロックの要求の場合に、
    以後の読み出しトランザクションが該オブジェクトへア
    クセスしないよう該オブジェクトのロックの特定の情報
    の欠乏ビットを場合により設け、該オブジェクト又はそ
    の識別子を該トランザクションに付随し起こりうる衝突
    の一時的リレーション内に記憶し、該動作の終了時該衝
    突の一時的リレーション内に記憶された該オブジェクト
    の各々につきロックの特定の情報のフィールドカウンタ
    をコピーし直し、該トランザクションに付随するリレー
    ション結果内に対応する該オブジェクトが現われる回数
    の数だけ該カウンタのコピーを減少せしめ、減少の結果
    がゼロと異なる場合、つまりまだ終了していない少なく
    とも1つの他のトランザクションが該オブジェクトへの
    アクセスを獲得している場合、衝突を確認し、少なくと
    もアクセス衝突のある該オブジェクトについては該動作
    の効果を無効とし、さらに待機せしめ、減少の結果がゼ
    ロに等しい場合は衝突のないことを確認することを特徴
    とする請求項14に記載の方法。
  17. (17)該オブジェクト又はオブジェクトのバージョン
    のロックの該特定の情報を含むロックテーブル(41、
    42)及びロックテーブルのコピー(50、60)それ
    ぞれは、ロックの各ページのコピーそれぞれのワードの
    マスクビットの第1のテーブル(51、61)と協働し
    、該ビットの各々は欠落により重要でなく、対応するワ
    ードが少なくとも1つの重要なロックを含む場合は特定
    的に初期化されることを特徴とする請求項14又は16
    に記載の方法。
  18. (18)該オブジェクト又はオブジェクトのバージョン
    のロックの特定の情報を含む該ロックテーブル(41、
    42)及びロックテーブルのコピー(50、60)それ
    ぞれは、マスクビットの第2のテーブル(52)と協働
    し、該第2のテーブル(52)の各マスクビットには該
    第1のテーブル(51)のマスクビットのワードが付随
    し、該第2のテーブル(52)の各マスクビットは欠落
    により重要でなく、マスクビットの少なくとも1つが該
    第1テーブル(51)のマスクビットの付随するワード
    内で重要である場合は特定的に初期化されることを特徴
    とする請求項17に記載の方法。
  19. (19)該第1のテーブル(51)及び/又は第2のテ
    ーブル(52)のマスクビットは、ロックテーブル(4
    1)及びロックのコピー(50)それぞれのセットを含
    む該メモリスペースとは異なるメモリスペースに記憶さ
    れ、オブジェクトテーブル(13)又はオブジェクトバ
    ージョン(30)のセットを含む該メモリスペースと並
    列的にアクセス可能であることを特徴とする請求項17
    又は18のいずれか一項に記載の方法。
  20. (20)同一リレーションに対する少なくとも2つのト
    ランザクションの相互ブロックの問題を処理するための
    衝突管理方法であつて、各リレーションに対し他のリレ
    ーションにより該リレーションの少なくとも1つのオブ
    ジェクトに設定された少なくとも1つのロックによりロ
    ックされているか待機中であるトランザクションを記憶
    し、リレーションのあるレベルでの相互ブロックの可能
    性を、例えばトランザクションの待機グラフを構成する
    等の従来の方法で決定し、待機中の他のトランザクショ
    ンをブロックする該リレーションに読み出しロックを行
    ないうる各トランザクション毎に、この衝突が有効かど
    うかを、ロックを行なう該トランザクションによりロッ
    クが設定される動作のリレーション結果と該他のトラン
    ザクションが待機しているオブジェクトの識別子との共
    通部分が空であるか調べることで確認することを特徴と
    する請求項14に従った衝突管理方法。
  21. (21)オブジェクトへのアクセス衝突が確認されたト
    ランザクションの遂行を管理するため、該トランザクシ
    ョンを定める動作列のある動作による該オブジェクトへ
    の書き込みロックの設定要求の際、該オブジェクトに付
    随するロックのフィールドカウンタの値と待機中の該動
    作に付随するロックのコピーのフィールドカウンタでの
    減少結果の値との差に等しい該トランザクションの遂行
    基準が計算され、該トランザクションについて該遂行基
    準がゼロに等しい時、つまり該トランザクションが該オ
    ブジェクトに読み出しロックを設定していない時は該ト
    ランザクションは単純待機とされ、該遂行基準がゼロで
    ない時、つまり該トランザクションが該オブジェクトに
    少なくとも1つの読み出しロックを設定している時は、
    該トランザクションは優先待機とされ、該オブジェクト
    に対し先行トランザクションで優先待機とされたものが
    既に存在し、実行中のトランザクションが優先待機の状
    態となった時には該オブジェクトにつき相互ブロックが
    あることが確認され、該先行トランザクションと実行中
    のトランザクションの一方が放棄されることを特徴とす
    る請求項15又は16に従った衝突管理方法。
  22. (22)請求項21による単純待機又は優先待機とされ
    たトランザクションの遂行の段階を実行するため、該オ
    ブジェクトにつき待機中のトランザクションのリストの
    リファレンスを待機テーブルに記憶させ、該待機テーブ
    ルのリファレンスの指標を該オブジェクトに付随するロ
    ックのスタンプのフィールドに入れ、各該待機中のトラ
    ンザクションの記述子を、それがブロッキングオブジェ
    クトのカウンタにつき待機中であるオブジェクトの数だ
    け増加させ、該オブジェクトにつき優先待機とされたト
    ランザクションの記述子のブロッキングオブジェクトの
    該カウンタを、該オブジェクトに付随するロックのフィ
    ールドカウンタの内容値が該遂行基準の値に等しい閾値
    に達した時、つまり他のトランザクションによる該オブ
    ジェクトの完全なロック解除の時に単位だけ減少させ、
    該トランザクション該オブジェクトについての待機トラ
    ンザクションリストから抜き取り、オブジェクトにつき
    単純待機中の各トランザクションの記述子のブロッキン
    グオブジェクトの該カウンタを、該オブジェクトに付随
    するフィールドカウンタの値がゼロと等しい時、つまり
    該オブジェクトの完全なロック解除の時に単位だけを減
    少させ、該トランザクションを該オブジェクトについて
    の待機トランザクションリストから抜き取り、ブロッキ
    ングオブジェクトのカウンタがゼロに戻った全てのトラ
    ンザクションを遂行することを特徴とする衝突管理方法
  23. (23)オブジェクトの識別子の集合により表わされる
    動作の2つのリレーション結果の交差部分の利用を特に
    行なうための管理ユニットの利用方法であって、識別子
    が一方のリレーション結果の一部をなすオブジェクトに
    対し各オブジェクトのロックのコピーに付随するマスク
    ビットを所与の値とし、他のリレーションの各識別子に
    つき前記マスクビットをテストし、該他のリレーション
    結果のオブジェクトの存在に対応する第1のマスクビッ
    トがあることから該交差部分が空でないことを確めるこ
    とを特徴とする請求項1による管理ユニットの利用方法
  24. (24)動作が1又は複数の独立した部分動作に分割さ
    れ、一のトランザクションの部分動作は他のトランザク
    ションの部分動作により中断されることなく実行され、
    部分動作を実行中のある他のトランザクションの排他的
    ロックにより確実な衝突と部分動作終了時フィールドカ
    ウンタが空でないことにより蓋然的な衝突とを探索し、
    オブジェクトにおいて衝突がある場合に2つの論理アド
    レスは部分動作の衝突の記憶の一時的リレーションのみ
    で保存されロックのオブジェクトをなさないという事実
    のみによりオブジェクトにて部分的に放棄され、トラン
    ザクションは実行中のトランザクションのリストの単純
    な解除により待機状態とされることを特徴とする請求項
    3及び12に従うトランザクションの待機設定の衝突の
    管理方法。
JP63177953A 1987-07-15 1988-07-15 アクセス管理手段及びアクセス要求衝突管理ユニットの利用方法 Pending JPH01152546A (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
FR8709970A FR2618235B1 (fr) 1987-07-15 1987-07-15 Unite de gestion d'acces en memoire, notamment pour la gestion de bases de donnees.
FR8709970 1987-07-15
FR8805631A FR2630838A2 (fr) 1987-07-15 1988-04-27 Unite de gestion d'acces en memoire, a identifiants logiques invariants, notamment pour la gestion de bases de donnees, et procede de gestion d'acces correspondant
FR8805631 1988-04-27

Publications (1)

Publication Number Publication Date
JPH01152546A true JPH01152546A (ja) 1989-06-15

Family

ID=26226097

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63177953A Pending JPH01152546A (ja) 1987-07-15 1988-07-15 アクセス管理手段及びアクセス要求衝突管理ユニットの利用方法

Country Status (4)

Country Link
EP (2) EP0304348B1 (ja)
JP (1) JPH01152546A (ja)
DE (1) DE3885202T2 (ja)
FR (1) FR2630838A2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0279141A (ja) * 1988-07-28 1990-03-19 Internatl Business Mach Corp <Ibm> 仮想索引機構
US6332160B1 (en) 1997-06-27 2001-12-18 Nec Corporation Method for matching distributed transactions and machine-readable recording medium with method programs

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3594980B2 (ja) * 1993-12-10 2004-12-02 株式会社東芝 ファイル管理方式
US5742826A (en) 1994-11-09 1998-04-21 International Business Machines Corporation Object encapsulation protection apparatus
EP1970813B1 (fr) * 2007-03-13 2011-01-12 EM Microelectronic-Marin SA Procédé de verrouillage de mots d'une mémoire non volatile dans un dispositif électronique équipé de moyens de communication RF
CN117289876B (zh) * 2023-11-22 2024-02-23 苏州元脑智能科技有限公司 一种数据写入方法、系统、装置、介质及四级单元闪存

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NL6815506A (ja) * 1968-10-31 1970-05-04
DE2064383C3 (de) * 1970-01-12 1981-02-26 Fujitsu Ltd., Kawasaki, Kanagawa (Japan) Datenverarbeitungsanlage mit mehreren zentralen Verarbeitungseinrichtungen
US3683418A (en) * 1970-04-16 1972-08-08 Bell Telephone Labor Inc Method of protecting data in a multiprocessor computer system
US3839706A (en) * 1973-07-02 1974-10-01 Ibm Input/output channel relocation storage protect mechanism
US4356549A (en) * 1980-04-02 1982-10-26 Control Data Corporation System page table apparatus
JPH0814803B2 (ja) * 1986-05-23 1996-02-14 株式会社日立製作所 アドレス変換方式

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0279141A (ja) * 1988-07-28 1990-03-19 Internatl Business Mach Corp <Ibm> 仮想索引機構
US6332160B1 (en) 1997-06-27 2001-12-18 Nec Corporation Method for matching distributed transactions and machine-readable recording medium with method programs

Also Published As

Publication number Publication date
EP0304348A2 (fr) 1989-02-22
EP0304348A3 (en) 1989-03-08
FR2630838A2 (fr) 1989-11-03
DE3885202T2 (de) 1994-05-19
EP0304348B1 (fr) 1993-10-27
DE3885202D1 (de) 1993-12-02
EP0306357A1 (fr) 1989-03-08

Similar Documents

Publication Publication Date Title
JP2575543B2 (ja) 同時アクセス管理方法
US6651146B1 (en) Method and apparatus for managing access contention to a linear list without the use of locks
Michael Hazard pointers: Safe memory reclamation for lock-free objects
US8473950B2 (en) Parallel nested transactions
US5265245A (en) High concurrency in use manager
KR101367450B1 (ko) 멀티 스레드 어플리케이션을 위한 해시 테이블의 동시 리해싱의 수행
US6760909B1 (en) Virtual memory system and methods
US5142676A (en) Separate content addressable memories for storing locked segment addresses and locking processor identifications for controlling access to shared memory
EP2150900B1 (en) Transactional memory using buffered writes and enforced serialization order
US4136385A (en) Synonym control means for multiple virtual storage systems
US3938100A (en) Virtual addressing apparatus for addressing the memory of a computer utilizing associative addressing techniques
US6411983B1 (en) Mechanism for managing the locking and unlocking of objects in Java
JPH077363B2 (ja) アクセス装置及び方法
JPS61105653A (ja) 接続されたユ−ザのプロセツサとは独立の並列ガ−ベツジコレクシヨン機能を有するコンピユ−タ記憶装置
US6317806B1 (en) Static queue and index queue for storing values identifying static queue locations
JPH02228745A (ja) 入出力キヤツシユ
JPH0776944B2 (ja) 仮想索引機構
US6427143B1 (en) Method for loading rows into a database table while enforcing constraints
US5159677A (en) Method and system for storing data in and retrieving data from a non-main storage virtual data space
CN115408411A (zh) 数据写入方法、装置、电子设备及存储介质
US20030200457A1 (en) Enhancement to the MCS lock for increased functionality and improved programmability
CN101133395B (zh) 实时调页的计算装置及操作方法
JPH01152546A (ja) アクセス管理手段及びアクセス要求衝突管理ユニットの利用方法
Luchangco et al. On the uncontended complexity of consensus
JP2829115B2 (ja) ファイル共用方法