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

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

Info

Publication number
JPH02165252A
JPH02165252A JP1277336A JP27733689A JPH02165252A JP H02165252 A JPH02165252 A JP H02165252A JP 1277336 A JP1277336 A JP 1277336A JP 27733689 A JP27733689 A JP 27733689A JP H02165252 A JPH02165252 A JP H02165252A
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.)
Granted
Application number
JP1277336A
Other languages
English (en)
Other versions
JPH0642231B2 (ja
Inventor
Michael J Corrigan
マイケル・ジセフ・コリイガン
Harris L Freeman
ハリソン・エル・フリーマン
George G Gorbatenko
ジヨージ・ジヨージ・ゴバテンコ
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

    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06F—ELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601—Interfaces specially adapted for storage systems
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06F—ELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00—Digital computers in general; Data processing equipment in general
    • G06F15/16—Combinations 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/161—Computing infrastructure, e.g. computer clusters, blade chassis or hardware partitioning
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06F—ELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00—Digital computers in general; Data processing equipment in general
    • G06F15/16—Combinations 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/163—Interprocessor communication
    • G06F15/167—Interprocessor communication using a common memory, e.g. mailbox
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06F—ELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601—Interfaces specially adapted for storage systems
    • G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614—Improving the reliability of storage systems
    • G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06F—ELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601—Interfaces specially adapted for storage systems
    • G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629—Configuration or reconfiguration of storage systems
    • G06F3/0631—Configuration or reconfiguration of storage systems by allocating resources to storage systems
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06F—ELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601—Interfaces specially adapted for storage systems
    • G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06F—ELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601—Interfaces specially adapted for storage systems
    • G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671—In-line storage system
    • G06F3/0673—Single storage device
    • G06F3/0674—Disk device

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Multi Processors (AREA)
  • Memory System (AREA)
  • Hardware Redundancy (AREA)

Abstract

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

Description

【発明の詳細な説明】 A、産業上の利用分野 本発明は、データ処理フィールドに関するものである。
より詳しくは、複数のプロセッサが、保全性の問題を引
き起こさずに、記憶装置を共用することができる、多重
処理コンピュータ・システムに関するものである。
B、従来の技術 初期のコンピュータ・システムの構造的構成は、非常に
単純であった。単一の中央処理装置(CPU)が明らか
に、システムの頭脳であり主人公であった。CPUが全
記憶装置を独占的に制御していた。システム中には、記
憶装置を共用する他の構成要素が存在しなかったためで
ある。
コンピュータ・システムが発達するにつれて、次第に複
雑化する諸機能を実行するために、ますます多くの処理
能力が要求されるようになった。
それに伴い、多くの処理能力を提供できる強力なCPU
を設計する代わりに、コンピュータ・システムは、2台
以上のプロセッサ間で作業負荷を共用し始めた。これら
のコンピュータ・システムは、マルチプロセッサ・シス
テムまたは分散システムと呼ばれた。
多重処理システムに伴う主要な問題は、各CPUをシス
テム内の他のCPUから自律させ、特定のタスクについ
て作業を行なう際に相互に他のCPUの記憶スペースを
破壊させないようにすることにあった。かつては、デー
タの保全性は、規約とプロセッサ間の信頼関係によって
保持されていた。このような自律性を実現する一つの方
法は、直接アクセス記憶装置を含む専用の1組の資源を
各CPUに与えるものである。残念ながら、このような
資源の重複は、コストがかかり非効率的でもある。しか
し、全CPUがシステムの直接アクセス記憶装置を共用
できたなら、大幅な節約が可能となる。
共用記憶装置のすべてを取り扱う単一の記憶サーバがあ
れば、直接アクセス記憶装置を多重処理システム中で共
用することができる。多重処理システムの各CPUは、
この記憶サーバを介さないと共用記憶装置内のデータに
アクセスできない。従来の記憶サーバは、2台のプロセ
ッサが同時に同じデータにアクセスすることを防止する
ことはできたが、共用記憶装置を実際に危険にさらす、
多数の他の保全性に関する問題を解決するための能力に
は欠けていた。
多重処理システム内の共用記憶装置に対するもう一つの
技法は、記憶スペースの物理的区分である。この技法で
は、記憶スペースを、各プロセッサまたは1組のプロセ
ッサが独占的に使用できるよう、多重処理システム内の
複数のプロセッサの間で任意に分割する。この技法では
、データ保全性に関する大部分の問題を解決できるが、
データを本当の意味で共用可能とすることはできない。
その正味の効果は、やはり各プロセッサごとに資源を重
複させることである。さらに、物理的境界上での区分は
、非効率的でしかもスペースをかなり浪費する可能性が
ある。
C6発明が解決しようとする課題 本発明の主目的は、記憶装置を効率的にしかもデータ保
全性の問題なしに、本当の意味でプロセッサが共用でき
る、多重処理システムを提供することにある。
本発明のもう一つの目的は、各プロセッサの特定のニー
ズに基づいて、共用記憶スペースを動的に割り振ること
にある。
00課題を解決するための手段 上記及びその他の目的は、本明細書で開示する拡張共用
記憶装置を有する多重処理システムによって達成させる
。
マルチプロセッサ・システムまたは分散システムの1つ
のプロセッサを、共用記憶装置の所有プロセッサとして
指定する。マルチプロセッサ・システムのうちのその他
のプロセッサは、要求プロセッサとして指定する。共用
記憶装置、通常は複数の磁気ディスク装置は、記憶制御
装置に接続されている。記憶制御装置は、通信バスを介
して全プロセッサに接続されている。
共用記憶装置は、記憶スペースのコンテナに動的に区分
される。コンテナは、サイズを変えることができ、また
複数の磁気ディスク装置の間で分割することもできる。
特定の磁気ディスク装置上にあるコンテナを、別の磁気
ディスク装置上に複製または反転複製(ミラー)するこ
とができる。
所有プロセッサは、その専用非揮発性記憶装置に、コン
テナ・マップを維持している。コンテナ・マップには、
コンテナの物理的位置、使用回数、キー及びコンテナ属
性を記憶するフィールドが含まれている。
要求プロセッサは記憶コンテナの作成を必要とする時、
通信パスの要求パスを介して、所有プロセッサに「コン
テナ作成」要求を送る。コンテナ作成要求は、要求され
ているコンテナのサイズと他の任意選択の属性を含むこ
とができる。
所有プロセッサは、コンテナ項目をコンテナ・マップ内
に置き、要求プロセッサのための共用記憶装置コンテナ
を物理的に作成する。
また、要求プロセッサは記憶装置コンテナの使用を必要
とする時、通信バスの要求パスを介して所有プロセッサ
に「コンテナ割振り」要求を送る。
所有プロセッサは、コンテナ・マップ内の、要求されて
いるコンテナに対応する項目を読み取る。
コンテナ・マップ項目に記憶されている使用回数がOで
、それが最初のコンテナ割振り要求であることを示して
いる場合、所有プロセッサは、使用回数を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ないし20図にさ
らに詳しく示す。記憶制御装置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を開始位置oooo、
終了位置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を介して所有プ
ロセッサにコンテナ作成要求を送る。要求プロセッサ3
0は、このコンテナを反転複製することを望んでいるの
で、所有プロセッサ20は、共用記憶装置60に特定の
コンテナを割り振り、このコンテナの反転複製を共用記
憶装置70に割り振る。したがって、第2A図に示すよ
うに、2個のコンテナ項目54と55が作成される。項
目54は、コンテナA3が、共用記憶装置60に開始位
置2000、終了位置2199で物理的に配置されてい
ることを示している。また、項目55は、コンテナ八3
の鏡像A3Mが、共用記憶装置に開始位置6000、終
了位置6199で物理的に配置されていることを示して
いる。項目54と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は、制御パス120を介し
て送られてくる挿入動作だけを受は入れ、したがって所
有プロセッサ20だけがコンテナ・テーブル90に項目
を置くことができることが保証される。次に、所有プロ
セッサ20は、コンテナA1のキーを要求バス110を
介して要求プロセッサ10に送る。
コンテナの共用について論じてきたが、共用を可能にす
るためにどんな規則を採用するかは、本発明の適用範囲
外の設計上の選択である。共用は「実行」動作及び読取
り専用動作に関して行なわれると考えられてきた。大部
分の例では、データ・マネジャまたはデータ・ベース・
マネジャが、コンテナ内のデータの共用を管理する場合
が多い。
共用を可能にするコンテナ内のデータ保全性については
、何も仮定されていない。当業者なら知っているように
、書込み動作及び書込み制限動作に関連する諸動作を単
一データ・バスに直列化するなど、コンテナ・レベルの
共用を容易にするために記憶制御装置で実施できる実施
例がいくつか可。
能である。
要求プロセッサ10は、所有プロセッサ20からコンテ
ナA1のキーを受は取った後いつでも、キーを「コンテ
ナ・オープン」コマンドと共にコマンド・パス140を
介して記憶制御装置40に送って、コンテナ・データが
使用できるようにする。このキーがコンテナのテーブル
項目91をオープンする場合、記憶制御装置40は、要
求プロセッサ10がコンテナA1を使用することを許す
。
要求プロセッサ10は、もはやコンテナA1をオープン
するのを望んでいない場合、コマンド・パス140を介
して「コンテナ・クローズ」コマンドを記憶制御装置4
0に送る。要求プロセッサ10は、後で説明するように
、コンテナが割振り解除されるまで、所有プロセッサ2
0から受は取ったキーを使って何回でもコンテナA1を
オープンしクローズすることができることに留意された
い。
次に、要求プロセッサ30がコンテナA1の割振りを望
んでいると想定する。所有プロセッサは、コンテナ・マ
ップ項目51中の使用回数が0でなく1であり、その要
求がコンテナA1の割振りを求める最初の要求ではない
ことを示すことを確認する。したがって、所有プロセッ
サ20は、コンテナ・マップ項目51のコピーをコンテ
ナ・テーブル90に挿入する必要がない。というのは、
前に説明したように、要求プロセッサ10から送られて
きた最初のコンテナ割振りコマンドでそれが行なわれて
いるためである。所有プロセッサ20は、単に使用回数
を2に増分し、コンテナ・マップ50に保管されている
コンテナA1のキーを、要求プロセッサ30に送るだけ
である。要求プロセッサ30は、このキーを使ってコン
テナA1をオープンすることができる。
第2B図は、コンテナA1に関して前に説明したのと同
様にして、コンテナA2及びA3が割り振られた後の、
コンテナ・マップ5oを示す。セグメント化されたコン
テナ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・・・・コマンド・パス。 出願人  インターナショナル・ビジネス・マシーンズ
佛コーポレーション 復代理人 弁理士  澤  1) 俊  夫 作成後のコンテナ・マップ 第2A図 a搏n&り後のコンテナ・マ・ンブ 第21 破壊後のコンテナ・マップ 第2C図 第3図

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 true JPH02165252A (ja) 1990-06-26
JPH0642231B2 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
KR100464195B1 (ko) * 2001-01-11 2005-01-03 인터내셔널 비지네스 머신즈 코포레이션 데이터를 전송하기 위한 신뢰성 있는 프로토콜을 제공하는방법 및 장치

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69025608T2 (de) * 1990-08-28 1996-07-11 Bull Hn Information Syst Mehrprozessorsystem mit selektiver Globaldatenvervielfältigung
US5151990A (en) * 1990-08-28 1992-09-29 International Business Machines Corporation Nonvolatile memory management in a data processing network
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 株式会社東芝 記憶手段の制御方法及びその装置
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
USRE42761E1 (en) 1997-12-31 2011-09-27 Crossroads Systems, Inc. Storage router and method for providing virtual local storage
US7010532B1 (en) * 1997-12-31 2006-03-07 International Business Machines Corporation Low overhead methods and apparatus for shared access storage devices
US5941972A (en) 1997-12-31 1999-08-24 Crossroads Systems, Inc. Storage router and method for providing virtual local storage
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
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
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
US7089354B2 (en) * 2003-07-30 2006-08-08 International Business Machines Corporation Disk fragmentation test system
JP4497462B2 (ja) * 2004-06-24 2010-07-07 株式会社安川電機 装置モデル適用型ウエハ搬送コントローラ
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 (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100464195B1 (ko) * 2001-01-11 2005-01-03 인터내셔널 비지네스 머신즈 코포레이션 데이터를 전송하기 위한 신뢰성 있는 프로토콜을 제공하는방법 및 장치

Also Published As

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

Similar Documents

Publication Publication Date Title
EP0367702B1 (en) Multiprocessing system and method for shared storage usage
US11340672B2 (en) Persistent reservations for virtual disk using multiple targets
Mesnier et al. Object-based storage
JP2868141B2 (ja) ディスクアレイ装置
US6457102B1 (en) Cache using multiple LRU's
US6314417B1 (en) Processing multiple database transactions in the same process to reduce process overhead and redundant retrieval from database servers
US8874609B1 (en) Method and system for transparent database connection pooling and query queuing
EP0130349B1 (en) A method for the replacement of blocks of information and its use in a data processing system
CN109274752A (zh) 区块链数据的访问方法及装置、电子设备、存储介质
US20050144178A1 (en) Distributing files across multiple, permissibly heterogeneous, storage devices
JPH0680500B2 (ja) データ・ブロツク・アクセス制御方法
JPH01188965A (ja) データ処理方法
JP2010079916A (ja) 情報記憶・検索システムにおいて論理ボリュームへのアクセスを制御する方法
JPS6310250A (ja) 仮想論理ボリユ−ム管理方式
JPH0883253A (ja) 仮想空間管理方法及び装置
US20060136779A1 (en) Object-based storage device with low process load and control method thereof
JP3839655B2 (ja) 変化するサービスレベルを提供するためのキャッシュのセグメント化
US5761696A (en) Parallel database serving mechanism for a single-level-store computer system
US7039659B2 (en) Method and apparatus for making differential independent data copies in a data processing system
Bernstein et al. Process control and communication
KR20240078981A (ko) 메모리 공간 제공 장치 및 방법
JPS62286137A (ja) 分散フアイル処理方式
JPS6368960A (ja) 共用記憶媒体の順次アクセス制御装置
JPS62209635A (ja) 非同期通信におけるシステム管理フアイルアクセス方式
JPH0410038A (ja) リモートアクセス方式