JPH0642231B2 - マルチプロセッサ・コンピユータ・システムならびにその共有記憶スペース作成方法、共有記憶装置使用方法、共有記憶スペース割振り解除方法および共有記憶スペース破壊方法 - Google Patents

マルチプロセッサ・コンピユータ・システムならびにその共有記憶スペース作成方法、共有記憶装置使用方法、共有記憶スペース割振り解除方法および共有記憶スペース破壊方法

Info

Publication number
JPH0642231B2
JPH0642231B2 JP1277336A JP27733689A JPH0642231B2 JP H0642231 B2 JPH0642231 B2 JP H0642231B2 JP 1277336 A JP1277336 A JP 1277336A JP 27733689 A JP27733689 A JP 27733689A JP H0642231 B2 JPH0642231 B2 JP H0642231B2
Authority
JP
Japan
Prior art keywords
container
processor
request
shared storage
path
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
Application number
JP1277336A
Other languages
English (en)
Other versions
JPH02165252A (ja
Inventor
マイケル・ジセフ・コリイガン
ハリソン・エル・フリーマン
ジヨージ・ジヨージ・ゴバテンコ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH02165252A publication Critical patent/JPH02165252A/ja
Publication of JPH0642231B2 publication Critical patent/JPH0642231B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/161Computing infrastructure, e.g. computer clusters, blade chassis or hardware partitioning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/167Interprocessor communication using a common memory, e.g. mailbox
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F2003/0697Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers device management, e.g. handlers, drivers, I/O schedulers

Description

【発明の詳細な説明】 A.産業上の利用分野 本発明は、データ処理フィールドに関するものである。
より詳しくは、複数のプロセッサが、保全性の問題を引
き起こさずに、記憶装置を共用することができる。多重
処理コンピュータ・システムに関するものである。
B.従来の技術 初期のコンピュータ・システムの構造的構成は、非常に
単純であった。単一の中央処理装置(CPU)が明らか
に、システムの頭脳であり主人公であった。CPUが全
記憶装置を独占的に制御していた。システム中には、記
憶装置を共用する他の構成要素が存在しなかったためで
ある。
コンピュータ・システムが発達するにつれて、次第に複
雑化する諸機能を実行するために、ますます多くの処理
能力が要求されるようになった。それに伴い、多くの処
理能力を提供できる強力なCPUを設計する代わりに、
コンピュータ・システムは、2台以上のプロセッサ間で
作業負荷を共用し始めた。これらのコンピュータ・シス
テムは、マルチプロセッサ・システムまたは分散システ
ムと呼ばれた。
多重処理システムに伴う主要な問題は、各CPUをシス
テム内の他のCPUから自律させ、特定のタスクについ
て作業を行なう際に相互の他のCPUの記憶スペースを
破壊させないようにすることにあった。かつては、デー
タの保全性は、規約とプロセッサ間の信頼関係によって
保持されていた。このような自律性を実現する一つの方
法は、直接アクセス記憶装置を含む専用の1組の資源を
各CPUに与えるものである。残念ながら、このような
資源の重複は、コストがかかり非効率的でもある。しか
し、全CPUがシステムの直接アクセス記憶装置を共用
できたなら、大幅な節約が可能となる。
共用記憶装置のすべてを取り扱う単一の記憶サーバがあ
れば、直接アクセス記憶装置を多重処理システム中で共
用することができる。多重処理システムの各CPUは、
この記憶サーバを介さないと共用記憶装置内のデータに
アクセスできない。従来の記憶サーバは、2台のプロセ
ッサが同時に同じデータにアクセスすることを防止する
ことはできたが、共用記憶装置を実際に危険にさらす、
多数の他の保全性に関する問題を解決するための能力に
は欠けていた。
多重処理システム内の共用記憶装置に対するもう一つの
技法は、記憶スペースの物理的区分である。この技法で
は、記憶スペースを、各プロセッサまたは1組のプロセ
ッサが独占的に使用できるよう、多重処理システム内の
複数のプロセッサの間で任意に分割する。この技法で
は、データ保全性に関する大部分の問題を解決できる
が、データを本当の意味で共用可能とすることはできな
い。その正味の効果は、やはり各プロセッサごとに資源
を重複させることである。さらに、物理的境界上での区
分は、非効率的でしかもスペースをかなり浪費する可能
性がある。
C.発明が解決しようとする課題 本発明の主目的は、記憶装置を効率的にしかもデータ保
全性の問題なしに、本当の意味でプロセッサが共用でき
る、多重処理システムを提供することにある。
本発明のもう一つの目的は、各プロセッサの特定のニー
ズに基づいて、共用記憶スペースを動的に割り振ること
にある。
D.課題を解決するための手段 上記及びその他の目的は、本明細書で開示する拡張共用
記憶装置を有する多重処理システムによって達成させ
る。
マルチプロセッサ・システムまたは分散システムの1つ
のプロセッサを、共用記憶装置の所有プロセッサとして
指定する。マルチプロセッサ・システムのうちのその他
のプロセッサは、要求プロセッサとして指定する。共用
記憶装置、通常は複数の磁気ディスク装置は、記憶制御
装置に接続されている。記憶制御装置は、通信バスを介
して全プロセッサに接続されている。
共用記憶装置は、記憶スペースのコンテナに動的に区分
される。コンテナは、サイズを変えることができ、また
複数の磁気ディスク装置の間で分割することもできる。
特定の磁気ディスク装置上にあるコンテナを、別の磁気
ディスク装置上に複製または反転複製(ミラー)するこ
とができる。所有プロセッサは、その専用非揮発性記憶
装置に、コンテナ・マップを維持している。コンテナ・
マップには、コンテナの物理的位置、使用回数、キー、
及びコンテナ属性を記憶するフィールドが含まれてい
る。
要求プロセッサは記憶コンテナの作成を必要とする時、
通信バスの要求パスを介して、所有プロセッサに「コン
テナ作成」要求を送る。コンテナ作成要求は、要求され
ているコンテナのサイズと他の任意選択の属性を含むこ
とができる。
所有プロセッサは、コンテナ・マップ項目をコンテナ・
マップ内に置き、要求プロセッサのための共用記憶装置
コンテナを物理的に作成する。
また、要求プロセッサは記憶装置コンテナの使用を必要
とする時、通信バスの要求パスを介して所有プロセッサ
に「コンテナ割振り」要求を送る。所有プロセッサは、
コンテナ・マップ内の、要求されているコンテナに対応
する項目を読み取る。コンテナ・マップ項目に記憶され
ている使用回数が0で、それが最初のコンテナ割振り要
求であることを示している場合、所有プロセッサは、使
用回数を1に増分し、このコンテナ・マップ項目のコピ
ーを、記憶制御装置内にあるコンテナ・テーブルに挿入
する。この挿入動作は、通信バスの制御パスを介して記
憶制御装置に送られる。この挿入動作に応答して、記憶
制御装置は、ランダムにこのコンテナの固有キーを生成
し、これを所有プロセッサに送る。所有プロセッサは、
このコンテナに対応するコンテナ・マップ項目にそのキ
ーを置く。次に、所有プロセッサは、要求パスを介して
要求プロセッサにキーを送る。
要求プロセッサは、コンテナを使用する必要のある時、
キーを「コンテナ・オープン」コマンドと共に、通信バ
スのコマンド・パスを介して記憶制御装置に送る。この
キーがコンテナ・テーブル内のキーと同じである場合、
データ・コンテナへの要求プロセッサによるアクセス
が、記憶制御装置によって許される。
要求プロセッサが、データ・コンテナを利用するためオ
ープンすることをもはや必要としなくなった時は、「コ
ンテナ・クローズ」要求をコマンド・パスを介して記憶
制御装置に送る。要求プロセッサは、「コンテナ割振
り」要求に応答して、所有プロセッサから受け取ったキ
ーを使って、コンテナを何回もオープンし、クローズす
ることができる。
所有プロセッサが要求パスを介して「コンテナ割振り」
要求を受け取った時、コンテナ・マップ項目に記憶され
ている使用回数が、コンテナがすでに割り振られている
ことを示している場合には、使用回数が増分され、コン
テナに対するキーが要求プロセッサに直接送られる。所
有プロセッサは、コンテナ・マップ項目のコピーを制御
装置のコンテナ・テーブルに挿入する必要はない。とい
うのは、それは、最初のコンテナ割振り要求で行なわれ
ているためである。
要求プロセッサは、すでにデータ・コンテナの割振りを
必要としないと決断した時は、「コンテナ割振り解除」
要求を要求パスを介して所有プロセッサに送る。所有プ
ロセッサは、使用回数が1であるか否かを調べることに
よって、そのプロセッサがそのコンテナを最後に割り当
てた要求プロセッサであるか否かを検査する。それが最
後のプロセッサである場合には、使用回数がゼロに減分
され、所有プロセッサは、そのコンテナに対応する、記
憶制御装置内にあるコンテナ・テーブルの項目を除去す
る。この「除去」動作は、通信バスの制御パスを介して
行なわれる。使用回数が1より大きく、それがそのコン
テナを最後にオープンした要求プロセッサではないこと
を示す場合には、使用回数は減分されるが、除去動作が
行なわれない。
コンテナを作成した要求プロセッサが、コンテナを破壊
する必要があると決断した時は、「コンテナ破壊」要求
を要求パスを介して所有プロセッサに送る。使用回数が
ゼロであること、すなわちどのプロセッサも現在コンテ
ナを使用していないことを認識するため検査を行なった
後、所有プロセッサは、コンテナ・マップから項目を消
去し、さらに任意選択でコンテナ自体中のデータを消去
することによってコンテナを破壊する。
E.実施例 第1図は、本発明のプロセッサ、記憶制御装置、共用記
憶装置、通信バス及びパスのブロック・ダイヤグラムで
ある。要求プロセッサ10、所有プロセッサ20及び要
求プロセッサ30が、通信バス80上で互いに接続され
ている。バス80は、直接、遠隔、またはローカル・エ
リア・ネットワークの一部など任意の形で接続できる。
バス80は、記憶制御装置40にも接続されている。記
憶制御装置40は、共用記憶装置60と共用記憶装置7
0に接続されている。好ましい実施例では、共用記憶装
置60と70は、直接アクセス磁気ディスク装置である
が、光ディスクなど他の種類の記憶装置を使用すること
もできる。2個の共用記憶装置が示されているが、実際
には1個ないし複数の装置を何個でも使用することがで
きる。所有プロセッサ20は、コンテナ・マップ50を
含んでいる。コンテナ・マップ50は所有プロセッサ2
0の専用非揮発性記憶域に維持されている。コンテナ・
マップ50の内容については、第2Aないし2C図にさ
らに詳しく示す。記憶制御装置40は、コンテナ・テー
ブル90を含んでいる。コンテナ・テーブル90は、コ
ンテナ・マップ50に含まれている情報の一部のコピー
で、記憶制御装置40の高速揮発性記憶域に維持されて
いる。
要求は、バス80の要求バス110を介して要求プロセ
ッサ10から所有プロセッサ20に送られる。また、バ
ス80の要求パス120を介して要求プロセッサ30か
ら所有プロセッサ40に送られる。制御動作は、バス8
0の制御パス130を介して、所有プロセッサ20から
記憶制御装置40に送られる。コマンドは、バス80の
コマンド・パス140を介して要求プロセッサ10から
記憶制御装置40に送られる。また、バス80のコマン
ド・パス150を介して要求プロセッサ30から記憶制
御装置20に送られる。
第1図の好ましい実施例には、2個の要求プロセッサ1
0と30が示されているが、実際には1個ないし複数の
装置を何個でも使用できる。所有プロセッサ20は、共
用記憶装置の所有プロセッサとして指定されるので、後
で説明するように、共用記憶装置に対して要求プロセッ
サよりもさらに強い制御を行なう。どのプロセッサを所
有するプロセッサとするかの指定は変更できるが、1度
に所有プロセッサとして指定できるプロセッサは1台だ
けである。
第1図及び第3A図は、データ・コンテナが、多重処理
システムのプロセッサによって、どのように作成される
かを表わしたものである。まず第1図を参照すると、要
求プロセッサ10は、データ・コンテナを作成しようと
する場合、バス80の要求パス110を介して、所有プ
ロセッサ20に、コンテナ作成要求を送る。好ましい実
施例では、コンテナ作成要求で、次の属性が指定でき
る。すなわち、要求されるコンテナのサイズ、データを
反転複製したいかどうか、コンテナの破壊時にコンテナ
内のデータを消去するかどうか、スペースの類似性が要
求されるかどうか、スペースの断片化が許されるかどう
か、及び複数の駆動装置が許されるかどうかである。た
だし、コンテナ作成要求には、必ずしも上記情報のすべ
てを含める必要はないことに留意されたい。上記情報の
すべてに対するデフォルト値をシステムで取り、または
別の方法で指定することもできる。
要求プロセッサ10がサイズ2000ユニットのコンテ
ナを作成しようとしていると仮定する。要求プロセッサ
10は、要求パス110を介して所有プロセッサ20に
コンテナ作成要求を送る。所有プロセッサ20は、記憶
装置を検査してその要求を満足させるのに十分なスペー
スが利用できることを確認し、コンテナ・マップ50内
にその要求に対応する項目51を作成する。ただし、許
可検査は、通常、要求パスを介して所有プロセッサ20
に送られる全要求について行なわれることに留意された
い。
コンテナ・マップ50のより詳しい図が、第2A図に示
されている。フィールド41は、割り振られたコンテナ
に与えられたIDを含む。フィールド42は、コンテナ
の物理的開始位置と終了位置を含む。この例では、50
00ユニットのデータが共用記憶装置60に配置され、
5000ユニットのデータが共用記憶装置70に配置さ
れている。フィールド43は、コンテナの使用回数を含
む。使用回数は、後で詳しく説明するように、コンテナ
を割り振ったプロセッサの数を記録するものである。フ
ィールド45は、要求プロセッサによってコンテナ作成
要求中で指定されたコンテナの属性を含む。フィールド
44は、コンテナのキーを含む。
第2A図は、要求プロセッサ10がコンテナのIDをA
Iとして指定し、このIDがフィールド41に置かれて
いることを示している。所有プロセッサ20はまた、共
用記憶装置60上にコンテナ61を開始位置0000、
終了位置1999で割り振り、その情報をフィールド4
2に置いている。フィールド43に含まれている使用回
数は、この時点では、ゼロである。というのは、そのコ
ンテナがまた割り振られていないためである。要求プロ
セッサによってコンテナ作成要求中で指定される属性
は、属性フィールド45に置かれる。何も指定していな
いので、デフォルト値を取る。キー・フィールド44
は、割振り時にはブランクで、後で説明するように、コ
ンテナ割振り要求を受け取るまで充填されない。
再度第1図を参照して、所有プロセッサ20が、サイズ
1000ユニットのコンテナを作成しようとしていると
想定する。所有プロセッサ20は、所有プロセッサ20
から発するコンテナ作成要求用の内部要求パスを有する
と想定する。この内部要求パスは、コンテナを要求して
いるプロセッサ部分を、その要求にサービスするプロセ
ッサ部分と接続する。内部要求パス以外の点では、所有
プロセッサから発するコンテナ作成要求は要求プロセッ
サから発する要求と同様に扱われる。所有プロセッサ2
0は、共用記憶装置60と70のスペースを探索し、6
0と70のどちらも1000ユニットの利用可能記憶ユ
ニットを有していないと想定して、コンテナを分割して
その一部分を共用記憶装置60に置き、他の部分を共用
記憶装置70に置く。所有プロセッサ20は、コンテナ
・マップ50中に何をしたかを反映する項目52と項目
53の(第2A図参照)2個の項目を作成する。項目5
2は、コンテナの最初の部分A2Aが、共用記憶装置6
0上に開始位置4500、終了位置4999で物理的に
置かれていることを示している。また、項目53は、コ
ンテナの第2の部分A2Bが、共用記憶装置70上に開
始位置5000、終了位置5499で物理的に配置され
ていることを示している。項目52と項目53は共に、
フィールド43と45内に同じ情報を含み、さらに両者
共、割振り要求の作成時にフィールド44に同じキーを
含む。
再度第2図を参照して、要求プロセッサ30がサイズ2
00ユニットのコンテナを作成しようとしていると想定
する。さらに、プロセッサ30は、このコンテナを反転
複製することを望んでいる。要求プロセッサ30は、要
求パス120を介して所有プロセッサにコンテナ作成要
求を送る。要求プロセッサ30は、このコンテナを反転
複製することを望んでいるので、所有プロセッサ20
は、共用記憶装置60に特定のコンテナを割り振り、こ
のコンテナの反転複製を共用記憶装置70に割り振る。
したがって、第2A図に示すように、2個のコンテナ・
マップ項目54と55が作成される。項目54は、コン
テナA3が、共用記憶装置60に開始位置2000、終
了位置2199で物理的に配置されていることを示して
いる。また、項目55は、コンテナA3の鏡像A3M
が、共用記憶装置に開始位置6000、終了位置619
9で物理的に配置されていることを示している。項目5
4と55の属性フィールドは、コンテナ作成要求で反転
複製が要求されていることを示す。ただし、反転複製の
利点を完全に実現するには、システム内に複数の記憶装
置が必要であることに留意されたい。
要求プロセッサは、コンテナ割振り要求によってコンテ
ナの割振りを行ない、「コンテナ・オープン」コマンド
によってコンテナをオープンするまで、作成したコンテ
ナを使用できない。
要求プロセッサ10は、コンテナA1を割り振ろうとす
る場合、要求パス110を介して、所有プロセッサ20
に「コンテナ割振り」要求を送る。所有プロセッサ20
は、まず検査を行なって、コンテナ・マップ項目51の
使用回数がゼロであり、その要求がコンテナA1の割振
りを求める最初の要求であることを示しているかどうか
を確認する。そうである場合、所有プロセッサ20は、
使用回数を1に増分し、コンテナ・テーブル90中にコ
ンテナ・マップ項目51をコンテナ・テーブル項目91
として挿入する。この挿入動作は、制御パス120を介
して、記憶制御装置40に送られる。記憶制御装置40
は、制御パス120を介して送られてくる挿入動作だけ
を受け入れ、したがって所有プロセッサ20だけがコン
テナ・テーブル90に項目を置くことができることが保
証される。この挿入動作に応答して、記憶制御装置40
は、そのコンテナのキーをランダムに生成し、このキー
を所有プロセッサ20に送る。所有プロセッサ20は、
キーをコンテナ・マップ項目51のフィールド44に置
く。この挿入動作は、制御パス120を介して記憶制御
装置40に送られる。記憶制御装置40は、制御パス1
20を介して送られてくる挿入動作だけを受け入れ、し
たがって所有プロセッサ20だけがコンテナ・テーブル
90に項目を置くことができることが保証される。次
に、所有プロセッサ20は、コンテナA1のキーを要求
パス110を介して要求プロセッサ10に送る。
コンテナの共用について論じてきたが、共用を可能にす
るためにどんな規則を採用するかは、本発明の適用範囲
外の設計上の選択である。共用は「実行」動作及び読取
り専用動作に関して行なわれると考えられてきた。大部
分の例では、データ・マネージャまたはデータ・ベース
・マネージャが、コンテナ内のデータの共用を管理する
場合が多い。共用を可能にするコンテナ内のデータ保全
性については、何も仮定されていない。当業者なら知っ
ているように、書込み動作及び書込み制限動作に関連す
る諸動作を単一データ・パスに直列化するなど、コンテ
ナ・レベルの共用を容易にするために記憶制御装置で実
施できる実施例がいくつか可能である。
要求プロセッサ10は、所有プロセッサ20からコンテ
ナA1のキーを受け取った後いつでも、キーを「コンテ
ナ・オープン」コマンドと共にコマンド・パス140を
介して記憶制御装置40に送って、コンテナ・データが
使用できるようにする。このキーがコンテナのテーブル
項目91をオープンする場合、前記制御装置40は、要
求プロセッサ10がコンテナA1を使用することを許
す。
要求プロセッサ10は、もはやコンテナA1をオープン
するのを望んでいない場合、コマンド・パス140を介
して「コンテナ・クローズ」コマンドを記憶制御装置4
0に送る。要求プロセッサ10は、後で説明するよう
に、コンテナが割振り解除されるまで、所有プロセッサ
20から受け取ったキーを使って何回でもコンテナA1
をオープンしクローズすることができることに留意され
たい。
次に、要求プロセッサ30がコンテナA1の割振りを望
んでいると想定する。所有プロセッサは、コンテナ・マ
ップ項目51中の使用回数が0でなく1であり、その要
求がコンテナA1の割振りを求める最初の要求ではない
ことを示すことを確認する。したがって、所有プロセッ
サ20は、コンテナ・マップ項目51のコピーをコンテ
ナ・テーブル90に挿入する必要がない。というのは、
前に説明したように、要求プロセッサ10から送られて
きた最初のコンテナ割振りコマンドでそれが行なわれて
いるためである。所有プロセッサ20は、単に使用回数
を2に増分し、コンテナ・マップ50に保管されている
コンテナA1のキーを、要求プロセッサ30に送るだけ
である。要求プロセッサ30は、このキーを使ってコン
テナA1をオープンすることができる。
第2B図は、コンテナA1に関して前に説明したのと同
様にして、コンテナA2及びA3が割り振られた後の、
コンテナ・マップ50を示す。セグメント化されたコン
テナA2に対応する項目52と53は、キー・フィール
ド44中に同一のキーを含むことに留意されたい。同様
に、反転複製されたコンテナA3に対応する項目54と
55も、キー・フィールド44中に同一のキーを含む。
したがって、コンテナA2が要求プロセッサによってオ
ープンされると、コンテナA2のセグメントA2AとA
2Bのどちらに含まれるデータも、要求プロセッサが利
用することができる。
要求プロセッサ30は、もはやコンテナA1を割り振ら
れることを望まないと判断すると、要求パス120を介
して所有プロセッサ20に「コンテナ割振り解除」要求
を送る。所有プロセッサ20は、コンテナ・マップ項目
51中の使用回数が2であり、別の要求プロセッサがそ
のコンテナを割り振っていることを示すことを確認す
る。したがって、使用回数を1に減分する動作だけが行
なわれる。要求プロセッサ30は、再度コンテナA1を
使用することを望む場合、すでに説明したように、コン
テナ割振り要求とコンテナ・オープン・コマンドを初期
設定し直さなくてはならない。
要求プロセッサ10は、もはやコンテナA1を割り振ら
れることを望まないと判断すると、要求パス110を介
して所有プロセッサ20に「コンテナ割振り解除」要求
を送る。所有プロセッサ20は、コンテナ・マップ項目
51中の使用回数が1であり、要求プロセッサ10がそ
のコンテナを割り振られた最後の要求プロセッサである
ことを示すことを確認する。所有プロセッサ20は、使
用回数をゼロに減分し、コンテナA1に対応する記憶制
御装置40内のコンテナ・テーブル項目91を除去す
る。この「除去」動作は、制御パス130を介して行な
われる。前に説明した「挿入」動作と同様に、記憶制御
装置40は、制御パス130を介する除去動作だけを受
け入れることに留意されたい。
要求プロセッサ10は、コンテナA1を破壊しようと決
断すると、要求パス110を介して所有プロセッサ20
に「コンテナ破壊」要求を送る。検査を行なってコンテ
ナ・マップ項目51中の使用回数がゼロであり、除去動
作が実行され、現在どのプロセッサもコンテナA1を使
用していないことを示すことを確認した後に、所有プロ
セッサ20は、コンテナ・マップ50から項目51を消
去する。項目51の属性フィールド45中の(要求プロ
セッサ10から受け取ったコンテナ作成要求時に指定さ
れる)データが、要求プロセッサ10がコンテナ内のデ
ータの消去を望んでいることを示す場合、所有プロセッ
サ20は、共用記憶装置60のコンテナA1内のデータ
を消去する。このコンテナ・データの消去は、コンテナ
破壊要求時にも指定できることに留意されたい。第2C
図は、コンテナA1が破壊された後のコンテナ・マップ
50を示す。
第3図は、本発明の各種の要求、動作、及びコマンドの
対称性を示したものである。コンテナ作成要求は、コン
テナ破壊要求と対称的である。コンテナ割振り要求は、
コンテナ割振り解除要求と対称的である。これら4種類
の要求は、要求パスを介して送られた場合のみ有効であ
る。挿入動作は、除去動作と対称的である。これら2種
類の動作は、制御パスを介して送られた場合のみ有効で
ある。最後に、コンテナ・オープン・コマンドは、コマ
ンド・クローズ・コマンドと対称的である。これら2種
類の動作は、コマンド・パスを介して送られた場合のみ
有効である。
第4図は、それぞれ特定の共用記憶装置を制御する、複
数の記憶制御装置50、250、350がある代替実施
例を示す。
この代替実施例の実施態様は、前に説明した好ましい実
施例の実施態様と非常に類似している。ただし、所有プ
ロセッサ20は、各記憶制御装置間にスペースを割り振
るための何らかの追加論理を含む。たとえば、各記憶制
御装置は、生成する各キーにそのアドレスを付加して、
各コンテナのキーが一義的となるようにする。
【図面の簡単な説明】
第1図は、本発明のプロセッサ、記憶制御装置、共用記
憶装置、通信バス及びパスのブロック・ダイヤグラムで
ある。 第2A図ないし第2C図は、本発明のコンテナ・マップ
を示す図である。 第3図は、本発明の各種の要求、動作及びコマンドを示
す図である。 第4図は、複数の記憶制御装置を有する、本発明の代替
実施例の図である。 10、30……要求プロセッサ、20……所有プロセッ
サ、40……記憶制御装置、50……コンテナ・マッ
プ、60、70……共用記憶装置、80……通信パス、
90……コンテナ・テーブル、110、120……要求
パス、130……制御パス、140……コマンド・パ
ス。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ジヨージ・ジヨージ・ゴバテンコ アメリカ合衆国ミネソタ州ロチエスター、 ノース・イースト・シイエラ・レーン924 番地

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】効率的に記憶スペースを共用する能力を有
    するマルチプロセッサ・コンピュータ・システムにおい
    て、 データ・コンテナをも含む、データを記憶するための共
    用記憶装置と、 通信バスと、 複数のコンテナ・テーブル項目を有するコンテナ・テー
    ブルをも含む、前記共用記憶装置及び前記通信バスに接
    続された第1の記憶制御装置と、 多数のコンテナ・マップ項目を有するコンテナ・マップ
    をも含む前記通信バスに接続された所有プロセッサと、 前記通信バスに接続された要求プロセッサと、 前記要求プロセッサが、前記コンテナ・テーブル項目の
    一つをオープンするためのキーを前記の第1の記憶制御
    装置に送るまで前記要求プロセッサが前記共用記憶装置
    上の前記データ・コンテナにアクセスするのを禁止する
    手段とを有することを特徴とするマルチプロセッサ・コ
    ンピュータ・システム。
  2. 【請求項2】記憶制御装置に接続されている共用記憶装
    置と、所有プロセッサ、要求プロセッサ、及び前記記憶
    制御装置に接続されている通信バスとを有し、前記所有
    プロセッサがコンテナ・マップを有し、前記記憶制御装
    置がコンテナ・テーブルを有し、前記通信バスが、要求
    パス、制御パス、コマンド・パスを有する、マルチプロ
    セッサ・コンピュータ・システム内で共用記憶スペース
    を作成する方法において、 前記要求プロセッサが、前記要求パスを介して前記所有
    プロセッサにコンテナ作成要求を送るステップと、 前記所有プロセッサが、前記コンテナ作成要求に対応す
    るコンテナ・マップ項目を前記コンテナ・マップ内に配
    置するステップとを有することを特徴とするマルチプロ
    セッサ・コンピュータ・システムの共用記憶スペース作
    成方法。
  3. 【請求項3】記憶制御装置に接続されている共用記憶装
    置と、所有プロセッサ、要求プロセッサ、及び前記記憶
    制御装置に接続されている通信バスとを有し、前記所有
    プロセッサがコンテナ・マップを有し、前記記憶制御装
    置がコンテナ・テーブルを有し、前記共用記憶装置も多
    数のコンテナを有し、前記通信バスが、要求パス、制御
    パス、コマンド・パスを有する、マルチプロセッサ・コ
    ンピュータ・システム内で共用記憶装置を使用する方法
    において、 前記要求プロセッサが、前記要求パスを介して前記所有
    プロセッサにコンテナ割振り要求を送るステップと、 前記所有プロセッサが、使用回数を増分するステップ
    と、 前記コンテナ・マップ項目がゼロの場合に、前記所有プ
    ロセッサが、前記制御パスを介してコンテナ・テーブル
    項目に、前記の要求されたコンテナに対応するコンテナ
    ・マップ項目のコピーを挿入するステップと、 前記記憶制御装置が、前記挿入ステップに応答して、前
    記コンテナ・テーブル項目に対応するキーを戻すステッ
    プと、 前記所有プロセッサが、前記の要求されたコンテナに対
    応する前記コンテナ・マップ項目中に前記キーを配置す
    るステップと、 前記所有プロセッサが、前記要求パスを介して前記要求
    プロセッサに前記キーを送るステップとを有することを
    特徴とするマルチプロセッサ・コンピュータ・システム
    の共用記憶装置使用方法。
  4. 【請求項4】記憶制御装置に接続された共用記憶装置
    と、所有プロセッサ、要求プロセッサ、及び前記記憶制
    御装置に接続された通信バスを有し、前記所有プロセッ
    サがコンテナ・マップを有し、前記記憶制御装置がコン
    テナ・テーブルを有し、前記共用記憶装置も多数のコン
    テナを有し、前記通信バスが、要求パス、制御パス、コ
    マンド・パスを有する、マルチプロセッサ・コンピュー
    タ・システム内で共用記憶スペースの割振り解除を行な
    う方法において、 前記要求プロセッサが、前記要求パスを介して、前記所
    有プロセッサにコンテナ割振り解除要求を送るステップ
    と、 前記コンテナ割振り解除要求に対応するコンテナ・マッ
    プ項目中の使用回数が1の場合、前記所有プロセッサ
    が、前記コンテナ割振り解除要求に対応するコンテナ・
    テーブル項目を除去するステップと、 前記所有プロセッサが、前記使用回数を減分するステッ
    プとを有することを特徴とするマルチプロセッサ・コン
    ピュータ・システムの共用記憶スペース割振り解除方
    法。
  5. 【請求項5】記憶制御装置に接続された共用記憶装置
    と、所有プロセッサ、要求プロセッサ、及び前記記憶制
    御装置に接続された通信バスを有し、前記所有プロセッ
    サがコンテナ・マップを有し、前記記憶制御装置がコン
    テナ・テーブルを有し、前記共用記憶装置も多数のコン
    テナを有し、前記通信バスが、要求パス、制御パス、コ
    マンド・パスを有する、マルチプロセッサ・コンピュー
    タ・システム内で共用記憶スペースを破壊する方法にお
    いて、 前記要求プロセッサが、前記要求パスを介して、前記所
    有プロセッサにコンテナ破壊要求を送るステップと、 前記所有プロセッサが、前記コンテナ破壊要求に対応す
    る、前記コンテナ・マップ内のコンテナ・マップ項目を
    削除するステップとを有することを特徴とするマルチプ
    ロセッサ・コンピュータ・システムの共用記憶スペース
    破壊方法。
JP1277336A 1988-10-31 1989-10-26 マルチプロセッサ・コンピユータ・システムならびにその共有記憶スペース作成方法、共有記憶装置使用方法、共有記憶スペース割振り解除方法および共有記憶スペース破壊方法 Expired - Lifetime JPH0642231B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US26511488A 1988-10-31 1988-10-31
US265114 1988-10-31

Publications (2)

Publication Number Publication Date
JPH02165252A JPH02165252A (ja) 1990-06-26
JPH0642231B2 true JPH0642231B2 (ja) 1994-06-01

Family

ID=23009062

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1277336A Expired - Lifetime JPH0642231B2 (ja) 1988-10-31 1989-10-26 マルチプロセッサ・コンピユータ・システムならびにその共有記憶スペース作成方法、共有記憶装置使用方法、共有記憶スペース割振り解除方法および共有記憶スペース破壊方法

Country Status (6)

Country Link
US (1) US5193168A (ja)
EP (1) EP0367702B1 (ja)
JP (1) JPH0642231B2 (ja)
AR (1) AR243290A1 (ja)
BR (1) BR8905537A (ja)
DE (1) DE68924755D1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006013040A (ja) * 2004-06-24 2006-01-12 Yaskawa Electric Corp 装置モデル適用型ウエハ搬送コントローラ

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5151990A (en) * 1990-08-28 1992-09-29 International Business Machines Corporation Nonvolatile memory management in a data processing network
EP0472754B1 (en) * 1990-08-28 1996-02-28 BULL HN INFORMATION SYSTEMS ITALIA S.p.A. Multiprocessor system having selective global data replication
US5317738A (en) * 1992-02-18 1994-05-31 Ncr Corporation Process affinity scheduling method and apparatus
GB2273180A (en) * 1992-12-02 1994-06-08 Ibm Database backup and recovery.
US5604863A (en) * 1993-11-01 1997-02-18 International Business Machines Corporation Method for coordinating executing programs in a data processing system
JPH086843A (ja) * 1994-06-23 1996-01-12 Fujitsu Ltd 半導体記憶装置
US5661848A (en) * 1994-09-08 1997-08-26 Western Digital Corp Multi-drive controller with encoder circuitry that generates ECC check bytes using the finite field for optical data for appending to data flowing to HDA
US5640540A (en) * 1995-02-13 1997-06-17 International Business Machines Corporation Method and apparatus for translating key codes between servers over a conference networking system
JP3590203B2 (ja) * 1996-07-16 2004-11-17 株式会社東芝 記憶手段の制御方法及びその装置
US5941972A (en) * 1997-12-31 1999-08-24 Crossroads Systems, Inc. Storage router and method for providing virtual local storage
USRE42761E1 (en) 1997-12-31 2011-09-27 Crossroads Systems, Inc. Storage router and method for providing virtual local storage
US5950203A (en) * 1997-12-31 1999-09-07 Mercury Computer Systems, Inc. Method and apparatus for high-speed access to and sharing of storage devices on a networked digital data processing system
US7010532B1 (en) 1997-12-31 2006-03-07 International Business Machines Corporation Low overhead methods and apparatus for shared access storage devices
US6658417B1 (en) 1997-12-31 2003-12-02 International Business Machines Corporation Term-based methods and apparatus for access to files on shared storage devices
US6694317B1 (en) 1997-12-31 2004-02-17 International Business Machines Corporation Method and apparatus for high-speed access to and sharing of storage devices on a networked digital data processing system
US7013305B2 (en) 2001-10-01 2006-03-14 International Business Machines Corporation Managing the state of coupling facility structures, detecting by one or more systems coupled to the coupling facility, the suspended state of the duplexed command, detecting being independent of message exchange
US6675175B2 (en) * 1999-02-19 2004-01-06 International Business Machines Corporation Method and system for sharing catalogs in a multiprocessing system utilizing a shared processor
US6898638B2 (en) * 2001-01-11 2005-05-24 International Business Machines Corporation Method and apparatus for grouping data for transfer according to recipient buffer size
US7089354B2 (en) * 2003-07-30 2006-08-08 International Business Machines Corporation Disk fragmentation test system
US7694088B1 (en) * 2005-03-31 2010-04-06 Symantec Operating Corporation System and method for efficient creation of aggregate backup images
US20080077638A1 (en) * 2006-09-21 2008-03-27 Microsoft Corporation Distributed storage in a computing environment
US9952788B2 (en) * 2015-09-29 2018-04-24 Cnex Labs, Inc. Method and apparatus for providing a shared nonvolatile memory system using a distributed FTL scheme

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB1329721A (en) * 1970-05-26 1973-09-12 Plessey Co Ltd Data processing devices
US3725872A (en) * 1971-03-03 1973-04-03 Burroughs Corp Data processing system having status indicating and storage means
GB1394431A (en) * 1971-06-24 1975-05-14 Plessey Co Ltd Multiprocessor data processing system
GB1410631A (en) * 1972-01-26 1975-10-22 Plessey Co Ltd Data processing system interrupt arrangements
US4000487A (en) * 1975-03-26 1976-12-28 Honeywell Information Systems, Inc. Steering code generating apparatus for use in an input/output processing system
GB1548401A (en) * 1975-10-08 1979-07-11 Plessey Co Ltd Data processing memory space allocation and deallocation arrangements
US4038645A (en) * 1976-04-30 1977-07-26 International Business Machines Corporation Non-translatable storage protection control system
JPS5362945A (en) * 1976-11-17 1978-06-05 Toshiba Corp Disc address system
GB1601955A (en) * 1977-10-21 1981-11-04 Marconi Co Ltd Data processing systems
US4207609A (en) * 1978-05-08 1980-06-10 International Business Machines Corporation Method and means for path independent device reservation and reconnection in a multi-CPU and shared device access system
FR2469751A1 (fr) * 1979-11-07 1981-05-22 Philips Data Syst Processeur d'intercommunication du systeme utilise dans un systeme de traitement de donnees reparti
US4408273A (en) * 1980-05-27 1983-10-04 International Business Machines Corporation Method and means for cataloging data sets using dual keyed data sets and direct pointers
US4764865A (en) * 1982-06-21 1988-08-16 International Business Machines Corp. Circuit for allocating memory cycles to two processors that share memory
US4941175A (en) * 1989-02-24 1990-07-10 International Business Machines Corporation Tamper-resistant method for authorizing access to data between a host and a predetermined number of attached workstations

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006013040A (ja) * 2004-06-24 2006-01-12 Yaskawa Electric Corp 装置モデル適用型ウエハ搬送コントローラ
JP4497462B2 (ja) * 2004-06-24 2010-07-07 株式会社安川電機 装置モデル適用型ウエハ搬送コントローラ

Also Published As

Publication number Publication date
EP0367702A2 (en) 1990-05-09
EP0367702B1 (en) 1995-11-08
DE68924755D1 (de) 1995-12-14
EP0367702A3 (en) 1992-03-18
US5193168A (en) 1993-03-09
JPH02165252A (ja) 1990-06-26
AR243290A1 (es) 1993-07-30
BR8905537A (pt) 1990-05-29

Similar Documents

Publication Publication Date Title
JPH0642231B2 (ja) マルチプロセッサ・コンピユータ・システムならびにその共有記憶スペース作成方法、共有記憶装置使用方法、共有記憶スペース割振り解除方法および共有記憶スペース破壊方法
US6457102B1 (en) Cache using multiple LRU's
US6047356A (en) Method of dynamically allocating network node memory's partitions for caching distributed files
EP0130349B1 (en) A method for the replacement of blocks of information and its use in a data processing system
US7334105B2 (en) System and method for managing the memory in a computer system
JP2575541B2 (ja) 分散キャッシュの階層無効化方法
JP2603369B2 (ja) ローカルキャッシュに共通のページ間の一貫性を確保する方法
US5829052A (en) Method and apparatus for managing memory accesses in a multiple multiprocessor cluster system
JP3017892B2 (ja) ファイル管理装置
US6298401B1 (en) Object oriented storage device having a disc drive controller providing an interface exposing methods which are invoked to access objects stored in a storage media
JPH03223945A (ja) 仮想記憶管理方法
JPH05210637A (ja) 同時アクセス管理方法
JPH0680500B2 (ja) データ・ブロツク・アクセス制御方法
JP2002268933A (ja) クラスタシステム
JP2006196011A (ja) 変化するサービスレベルを提供するためのキャッシュのセグメント化
WO1999008173A2 (en) Object oriented data storage device
JPH05181609A (ja) パーソナルコンピュータシステム
CN115168317B (zh) 一种lsm树存储引擎构建方法和系统
JPS5848289A (ja) バツフアメモリ制御方式
JPH01303547A (ja) 情報記憶制御システム
JPS62287359A (ja) 疎結合マルチプロセツサシステムにおけるフアイル同時アクセス制御方式
JP2588175B2 (ja) ハツシユ・テ−ブル・エントリ排他処理装置
Bernstein et al. Process control and communication
JP2833814B2 (ja) 入出力バッファ割当て方式
JPH1165906A (ja) 古い値を格納しているメモリのロケーションを分離する方法