JPH0461372B2 - - Google Patents

Info

Publication number
JPH0461372B2
JPH0461372B2 JP62043233A JP4323387A JPH0461372B2 JP H0461372 B2 JPH0461372 B2 JP H0461372B2 JP 62043233 A JP62043233 A JP 62043233A JP 4323387 A JP4323387 A JP 4323387A JP H0461372 B2 JPH0461372 B2 JP H0461372B2
Authority
JP
Japan
Prior art keywords
record
dasd
data
access
command
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
JP62043233A
Other languages
English (en)
Other versions
JPS62239226A (ja
Inventor
Furanshisukasu Uijinen Hyuubatasu
Maria Peningusu Henrikasu
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 JPS62239226A publication Critical patent/JPS62239226A/ja
Publication of JPH0461372B2 publication Critical patent/JPH0461372B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/1652Handling requests for interconnection or transfer for access to memory bus based on arbitration in a multiprocessor architecture
    • G06F13/1657Access to multiple memories

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Storage Device Security (AREA)
  • Management Or Editing Of Information On Record Carriers (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Description

【発明の詳細な説明】
A 産業上の利用分野 本発明は、一般的には、デイスクに記録された
レコード内の特定のデータ・エントリをデータ処
理システムの1回の原子I/O(入出力)操作に
よりセツトまたは変更する方法に関し、さらに詳
細には、単一I/OアクセスでそのようなI/O
セツトまたはチエインジ操作を実行するためのレ
コード形式とチヤネル・コマンド・ワードのスト
リングとの新規な組合せに関するものである。 さらに、本発明は、同じ原子I/O操作でテス
トされたデイスク上の同じまたは他のデータ・エ
ントリの値に応じて、I/O操作によつて条件付
きで、デイスク上のレコード内の特定のエントリ
をセツトまたは変更する方法を提供し、具体的に
は、単一I/OアクセスでそのようなI/Oテス
トおよびセツト操作を実行するためのレコード形
式およびチヤネル・コマンド・ワードのストリン
グに関するものである。 本発明はまた、前記I/Oテストおよびセツト
操作が、同じ物理デイスク記憶装置に読取りおよ
び書込みアクセスを行なう複数の独立したコンピ
ユータ・システムからの同時的かつ競合的アクセ
スを回避するため使用される、共有デイスク・フ
アシリテイに関するものである。 B 従来技術 通常、デイスクまたはDASD(直接アクセス記
憶装置)に記録されたレコード内の特定のデータ
を変更し、同時にそのレコードの残りの部分を変
更しないで維持するには、データ処理システムの
少なくとも2回の入出力操作が必要とされる。最
初のI/O操作はデイスクからレコード全体を主
記憶装置に転送する働きをし、次に主記憶装置内
のデータがCPUが実行されているプログラムの
制御下で変更され、続いて、更新されたレコード
が2回目のI/O操作によりDASDに書き戻され
て、新しいレコードが元のレコードに書き換わ
る。 場合によつては、更新が行なわれている間は他
のアクセスは行なわれないということを保証した
うえで、DASDに記録されたレコード内のデータ
をセツトまたは変更することが望ましい。またそ
のようなことが必要なことさえある。そのような
状況下では、2つの連続した操作による上述の変
更は使用することができない。なぜならばそのよ
うな2つの操作の間に他の競合的なアクセスが行
わわれる可能性があるからである。 上記の例は共有デイスク・システムの場合であ
つて、この場合、複数の独立したコンピユータ・
システムが1台または複数のDASDを共有する。
共有デイスク・システムのもとでは、2台以上の
独立したコンピユータ・システムが同じ物理
DASDにアクセスする可能性がある。共有システ
ムが、DASD上のクリテイカル・データを更新す
るため2回の連続したI/O操作を必要とすると
きは、その間に別の共有システムが競合的な更新
を開始する可能性がある。 この問題の解決策の1つは、DASDハードウエ
アのいわゆる留保・解放(Reserve/Release)
機能を使用することであつたが、それによると、
1つのシステムからアクセスされると、DASD全
体が他のシステムの全てのアクセスから締め出さ
れる。 IBM VMオペレーテイング・システム・ソフ
トウエアなどのDASDアクセスを制御する単一コ
ンピユータ・システムでは、現在アクセスされて
いる各ミニデイスク(一人のユーザに割当てられ
た記憶スペース)のためのフラツグを含むDASD
アクセス状況レコードが主記憶装置に維持され、
ミニデイスクに書込みに関するフラツグがユーザ
の一人によつてセツトされると、他のユーザから
のそれ以外のアクセスは拒絶または延期される。 しかし、共有DASDを使用する場合は、関与し
ているコンピユータ・システムは互いの記憶装置
内の状況レコードにアクセスできず、したがつ
て、共有DASDシステムでは、アクセス状況レコ
ードはDASD自体に維持される。 共有DASD上のミニデイスクに対するアクセス
要求があつた場合は、DASD上の状況レコード内
の対応するフラツグをテストし、変更するか、ま
たはミニデイスクが使用可能な場合はセツトしな
ければならない。対応するフラツグを更新するこ
のチエインジ操作が2回以上のI/O操作で実行
されるときは、これらの操作の間に他のシステム
が同じ状況レコードにアクセスし、競合的な更新
を開始する可能性がある。 上記の「留保・解放」機能のもとでは、更新処
理中DASDをハードウエア的にアクセス・システ
ム(アクセスを行なうシステム)の専用に供する
ことにより、競合アクセスが回避され、したがつ
て、CPU制御下の2回以上のI/O操作および
変更を含めて更新処理が完了するまで、数メガバ
イトのデータを含むDASD全体が、他のどのシス
テムからもアクセスされないようになる。アクセ
ス・システムは最初DEVICE RESERVEコマン
ドを出し、このコマンドによつてDASDはハード
ウエア的にアクセス・システムの専用に供され、
次に状況レコードがCPU制御下で最初のI/O
操作で記憶装置に読み込まれ、テストされ該当す
る場合は変更される。2回目のI/O操作で、状
況レコードがDASDに再書込みされ、次に
DEVICE RELERSEコマンドが出されて、
DASDを他のシステムにとつて再びアクセス可能
にする。さらに、テストが最初の試みで成功しな
かつた場合は、成功するまでそのような試みを行
なうことができ、その度にある時間の間装置がブ
ロツクされる。 もちろん、DASD全体をこのように完全にブロ
ツクすると、状況レコード・フラツグの各更新の
間、DASE上のすべてのデータを他のシステム上
の他のユーザが、一時的にアクセスできなくなる
という欠点が生じる。このことは、大型のデータ
処理フアシリテイで柔軟結合コンピユータ・シス
テムが広範に使用され、かつそれが拡大を続け、
その結果共有DASDの使用が広がつていることを
考慮すると、一層望ましくない。 既知のシステムのもう1つの欠点は、アクセ
ス・システムが故障すると、ハードウエア・ブロ
ツキングが維持されると同時に、更新操作の間装
置留保が保持され、その場合、未解決の装置留保
を手動でリセツトするためオペレータが介入しな
ければならないことである。そのような介入が行
なわれるまで、留保されたDASD上のデータはア
クセスすることが許可されているデータを含め
て、すべて、他のシステムの他のユーザが使用で
きない。 本発明のI/Oテストおよびセツト操作によれ
ば、DASD上のアクセス・フラツグは1回の原子
I/Oアクセス操作でテストおよび更新すること
ができ、同時間かつ競合的なアクセスが回避さ
れ、テストおよびセツト操作の間デイスク全体を
ブロツクする装置留保・解放機能の必要性がなく
なる。 元来、テストおよびセツト命令は、メモリ内の
特定データ・バイトに作用して、バイト値を条件
付き操作で使用すると同時に、メモリ内のバイト
を所定の値にセツトするための周知の手段であ
る。これまで、テストおよびセツト操作を、デー
タ処理システムの入出力操作で容易に実現するこ
とはできなかつた。 C 発明が解決しようとする問題点 本発明の第1の目的は、データ処理システムの
単一原子入出力操作でチヤネル・コマンド・ワー
ドの1つのストリングを用いてDASD上のレコー
ド内の特定のデータを所定の値に変更またはセツ
トすることを可能にするI/Oチエインジまたは
セツト操作を実現することである。 本発明の第2の目的は、1回の原子I/O(入
出力)操作で1つのチヤネル・ワード・ストリン
グを用いて、DAS上のレコード内の特定のデー
タを、上記DASD上の同じまたは他の特定のデー
タの値に応じて、条件付きで所定の値に変更また
はセツトすることを可能にするI/Oテストおよ
びセツト操作を実現することである。 本発明の他の目的は、データ処理システムの1
回の原子I/O操作で1つのチヤネル・コマン
ド・ワード・ストリングを用いて、DASD上のレ
コード内の特定のデータを、上記DASD上の上記
または他の特定のデータの1つまたは複数の値に
応じて、幾つかの所定の値の任意の1つの条件付
きで変更またはセツトすることを可能にするI/
Oテストおよびセツト操作を実現することであ
る。 本発明の別の目的は、上記I/Oテストおよび
セツト操作を、単一原子I/O操作で1つのチヤ
ネル・コマンド・ワード・ストリングを用いて
DASD上のアクセス状況レコード内のフラツグを
テストおよびセツトするため使用し、これによつ
て、同じ物理デイスク装置にアクセスする2台以
上の独立したコンピユータ・システムの同時的か
つ競合的なアクセスを回避する、ミニデイスク・
レベルで実現可能な共有デイスク・フアシリテイ
を実現することである。 D 問題点を解決するための手段 本発明によれば、シーク、セツト・セクタ、サ
ーチ、トランスフア・イン・チヤネル、データ読
取りおよびデータ書込み等の標準チヤネル・コマ
ンド・ワードの単位ストリングを、予めDASD上
に記録され、かつテスト値またはセツト値を含む
予め定められた付加的レコードと組合せて用いる
ことにより、DASD上のレコード内の特定のデー
タをテストし、変更し、またはセツトする。な
お、テスト値およびチヤネル値はチヤネル・コマ
ンド・ワード・ストリングにより使用され、かつ
処理されるものである。 さらに詳細には、本発明によれば、変更される
べきデータのセツト値を含む少なくとも1つの付
加的なレコードが、変更されるべきデータ・レコ
ードを有するDASD上に記録される。そしてこれ
と同時に、上記データ・レコードを記憶バツフア
に読み込み、セツト値を含む上記付加的なレコー
ドを記憶バツフアの、変更されるべきデータ・エ
ンテイテイの記憶に読み込み、続いて、変更され
たレコードを記憶装置からDASDに書き戻して元
のレコードに書き換えるように、CCWストリン
グが発生される。 さらに、本発明によれば、テスト値を含む少な
くとも1つの第1の付加レコードとセツト値を含
む少なくとも1つの第2の付加レコードが、処理
中のデータ・レコードを有するDASDに記録さ
れ、同時に以下のステツプを実行するように
CCWストリングが発生される。 1 変更されるべきデータ・レコードをデータ読
取りCCWによりDASDから主記憶バツフアに
複写し、 2 記憶装置内のレコードの特定のデータ・エン
テイテイの現在の値をサーチ・キーCCWのた
めの引数として使用して、その値の有無を、そ
のキー値に対するテスト値を含むDASD上の上
記第1の付加レコードの所定のキーについて検
査し、 3 テスト値が発見された場合は、セツト値を含
むDASD上の上記第2の付加レコードを、セツ
トされるべきデータ・エンテイテイの指定され
た位置にある記憶装置内のデータ・レコードの
コピーい読み込み、 4 更新されたデータ・レコードをデータ書込み
CCWでDASD上に再書込みして、元のレコー
ドに置き換える。 このようにして、DASD上に記憶されたレコー
ドを更新するため、1回の原子I/Oテストおよ
びセツト操作が実行される。 本発明によれば、幾つかのテスト値およびセツ
ト値をDASDに記録して、幾つかのテスト値の任
意の1つまたは複数の値に応じて、DASD上のデ
ータを条件付きで幾つかの所定の値の1つに選択
的に変更することができる。 E 実施例 VMオペレーテイング・システムにおける共有
デイスクについての以下の説明は、それにより
DASD上のレコード内のデータが単一原子I/O
操作で変更される本発明方法を理解し易くするこ
とを意図しているが、本発明の方法は、他のオペ
レーテイング・システムのもとで、およびDASD
上のデータが1回のI/Oアクセスで変更または
セツトされねばならない他のアプリケーシヨンで
も使用できることは明らかであろう。 VMオペレーテイング・システムで使用される
個々の術語を、本発明を理解するため必要とされ
る範囲で、以下で説明する。詳細な説明について
は、以下の解説書を参照されたい。 仮想計算機/システム・プロダクト(VM/
SPまたはVMと呼ぶことがしばしばある) 「仮想計算機/システム・プロダクト概説書」 (資料番号GC20−1838) VM LINKコマンド 「一般ユーザのための仮想計算機/システム・
プロタクトCPコマンド解説書」(資料番号SC19
−6211)のLINKコマンドの部分 IBMシステム/370またはシステム/370XA演
算装置 「IBMシステム/370システム概説書:演算処
理装置」(資料番号GA22−7001) 入出力(I/O)操作 「IBMシステム/370解説書」(資料番号GA22
−7000) チヤネル・コマンド・ワード(CCW) 一般情報については、「IBMシステム/370解
説書」(資料番号GA22−7000)シーク、セツ
ト・セクタ、サーチ、TIC、データ読取り、デー
タ書込みなどの典型的なDASDのCCW―この場
合はIBM3880用のもの―の詳細については、
「IBM3880磁気デイスク制御装置」(資料番号
GA26−1661) 直接アクセス記憶装置 IBM3880DASDに関する個々の情報について
は、「IBM3380直接アクセス記憶装置」(資料番
号GA26−1664) 第1図は、2台のコンピユータ・システム1お
よび2がDASD(直接アクセス記憶装置)を共有
するデータ処理フアシリテイを概略的に示す。す
なわち、システム1および2は共にそれらのそれ
ぞれのI/Oチヤネルを介して、同じ物理DASD
装置に読取りおよび書込みアクセスを行なう。コ
ンピユータ・システム1および2は、IBMシス
テム/370またはシステム/370XA演算処理装置
などの同じタイプまたは異なつたタイプのデータ
処理システムでよい。 一般に知られているように、I/Oチヤネルは
DASDからコードまたはデータを記憶装置に転送
し、またはその逆を行なう。このような転送が必
要なのは、CPUが作用できるのが、記憶装置内
にあるコードまたはデータにみのであるからであ
る。チヤネル動作はCPUは処理速度に比べて比
較的遅く、このため、チヤネルは転送のため
DASDの準備を行ない、高速のCPUを他のアク
テイビテイのために解放する。I/O操作が完了
したときは、CPUの処理はI/O割込みにより
割り込まれ、CPUは記憶装置内のデータに作用
することができるようになる。 第1図で、コンピユータ・システム1は中央演
算処理装置CPU1と記憶装置M1から成る。
CPU1は記憶装置内のコードおよびデータ、特
に、記憶装置に常駐する制御プログラムCP1全
体のコードに作用する。基本的には、システム1
内の他のすべてのプログラムは、周知のCMS(会
話型モニタ・システム)をもたらすVM/SP(仮
想機械/システム・プロダクト)などの制御プロ
グラムCP1の最終的制御下で実行される。 システム1は幾つかのI/Oチヤネルを有して
いるが、その内1つのみを第1図にCH1として
示す。そのようなチヤネルは実際は別々のプロセ
ツサであり、この事例ではDASDである、周辺装
置へのアクセス経路を制御し、記憶装置M1との
間の実際のデータ転送のためDASDとその制御装
置の準備をする。 チヤネルCH1は幾つかの制御装置に接続され
るが、その内の2つを第1図にCU1およびCU2
として示す。各制御装置CU1およびCU2は、第
1図で3および4という参照番号つけられた最高
32台までのデイスク駆動機構またはDASDを制御
する。端末および通信制御装置などの他の装置を
システムに接続するためのその他のI/Oチヤネ
ルおよび制御装置は本発明に関係がないので、第
1図には示されていない。 物理DASDでは、データを、1枚または複数の
デイスクから成るデイスク・パツクに書込むか、
またはデイスク・パツクから検索することができ
る。デイスクの1回転の間に、情報がデイスク・
パツクのシリンダ状部分に書込まれ、そのような
シリンダ状の記憶は、個々のユーザに割当てられ
る記憶容量の単位を構成する。VM/SPでは、
ユーザに割当てられたデイスク記憶装置の1つま
たは複数のシリンダを、ミニデイスクと呼ぶ。 システム1と同様に、システム2はCPU2と、
記憶装置に常駐する制御プログラムCP2を有す
る記憶装置M2とから成り、一方、CH2は幾つ
かの制御装置にアクセスするシステム2のI/O
チヤネルの1つを表わし、それらの制御装置の内
2つを第1図にCU2およびCU3として示す。
CU2およびCU3は各々、第1図で4および5と
いう参照番号のつけられた最高32台までのDASD
を制御する。 デイスク共有の一例として、システム1のチヤ
ネルCH1は制御装置CU2に接続され、システ
ム2のチヤネルCH2は同じ制御装置CU2に接
続される。したがつてCU2により制御される最
高32台までのデイスク駆動機構がシステム1およ
び2によつて共有される。第1図には示していな
いが、CU1をシステム2のCH2または別のチ
ヤネルに接続することもでき、またCU3をシス
テム1のCH1または別のチヤネルに接続するこ
ともできる。希望する場合には、コンピユータ・
システム1およびコンピユータ・システム2が使
用可能なすべてのDASDを共有することもでき
る。 共有DASDフアシリテイ(SDF) 上述のように、複数の柔軟結合システムが同じ
物理DASDにアクセスできる共有DASDフアシリ
テイは、これらの個々のシステムが、DASDに対
して現在なされているアクセスをそれらの記憶装
置に記録するには十分でない。それらのシステム
はアクセスの状況を互いに伝える方法を持たねば
ならず、これを行なう1つの方法は、状況情報
(フラツグとも呼ばれる)をDASD自体に記憶す
ることである。 各コンピユータ・システムでは、制御プログラ
ム(VM/SPの一部)はすべてのユーザに対す
るミニデイスクの割当てを、各ミニデイスクに対
するこれらのユーザの現在の読取りおよび書込み
アクセスと共に見うしなわないようにしている。
なおミニデイスクは、DASDのボリユーム通し番
号、ミニデイスクの開始シリンダ、および特定の
ミニデイスクに割当てられたシリンダの数により
識別される。各システムは記憶装置においてこれ
を行なう。共有デイスク・フアシリテイは、その
状況をもDASDに記憶し、DASDに記録された他
のシステムの状況を検査するための、制御プログ
ラムに対する追加機能である。このために本発明
の方法が使用される。 本発明によれば、各システムに対する状況レコ
ードは、プロトタイプとして働く追加のフラツ
グ・レコードと共に特定のトラツクに関する制御
レコードとしてDASDに記憶される。これらのレ
コードの形式は、どのような種類の状況情報が記
録され、検査されねばならないかによつて決ま
る。好ましいSDF(共有DASDフアシリテイ)の
実施例では、システムは、関与する各コンピユー
タ・システムから別々に、各ミニデイスクに対す
る読取りアクセスと書込みアクセスの両方を記録
する。 SDF制御トラツク 第2図は、共有しなければならない各DASDの
シリンダ0に記憶されるSDF制御情報の一般形
式を示す。第2図は、一般的にnで表わせる2台
以上のVMシステムがこのDASDを共用する場合
の形式を示す。 DASDの各レコードは、カウント・フイール
ド・キー・フイールドおよびデータ・フイールド
から成り、その内のキー・フイールドとデータ・
フイールドのみを第2図に示す。 レコード1はシステム1に対する状況レコード
である。レコード1は16進数01の1バイト・キー
を有し、これはレコードを探し出すためにCCW
ストリングで使用される。レコードのデータ部分
はDASD上の各シリンダに対するフラツグ・バイ
ト位置を含む(この事例では、IBM3380装置に
対する885バイト)。これらのフラツグ・バイトは
それぞれ、システム1上の関連するミニデイスク
に対するアクセス状況を表わす。この例では、16
進数のフラツグ・バイトは次の通りである。 F0は、システム1がそのミニデイスクに読取
りアクセスを行なうことを意味する。 F1はシステム1がそのミニデイスクにアクセ
スしないことを意味する。 F2は、システム1がそのミニデイスクに書込
みアクセスを行なうことを意味する。 第2図状況レコード1は、ミニデイスク2が現
在システム1から書込みアクセスを受けているこ
とを示す。 レコード2はシステム2に対する状況レコード
である。このレコードは16進数02のキーを有して
おり、これはレコードを探し出すためにCCWス
トリングで使用される。このレコードのデータ部
分の形式はレコード1のものと全く同じである。
しかし、この事例では、各フラツグ・バイトはシ
ステム2による当該のミニデイスクに対するアク
セス状況を表わす。 各共用システムについて、状況レコードが
DASDに記録される。n(≧2)台の共用システ
ムの場合、制御トラツク0はn個の状況レコード
を含む。レコード3ないしnは、第2図には示さ
ない。 レコードn+1はテスト制御レコードであり、
状況レコード内のミニデイスクのフラツグの値を
テストする働きをする。レコードn+1は16進数
F1のキーを含み、このキーに対して、以下に説
明するように、サーチ・キー・イコールCCWに
よりテストが行なわれる。レコードn+1のデー
タ部分は関係ないが、キーはそれ自体の上には存
在できないので、各DASDレコードは少なくとも
1つのデータ・バイトを有さねばならない。 レコードn+2(図示せず)はテスト制御レコ
ードであり、レコードn+1と同じであつて、以
下に説明するように、次の状況レコードにおける
フラツグの値をテストする働きをする。アクセ
ス・システムはそれ自体のフラツグをテストする
必要はなく、したがつて、n−1個の等しいテス
ト制御レコードがn台の共用システムに対して設
けられる。 レコード2nないし2n+2は、状況レコード1
および2におけるフラツグ・バイトに対するプロ
トタイプとして種々のセツト値を含む。 レコード2nは続取りアクセス・フラツグであ
る。レコード2nは16進数D0のキーを有し、この
キーはレコードを探し出すためCCWストリング
で使用される。ここのレコードのデータ部分(16
進数F0)はフラツグ・バイトであり、読取りア
クセス状況を表わす。 レコード2n+1は無アクセス・フラツグであ
り、ミニデイスクに対するアクセスが存在しない
ことを示す。レコード2n+1は16進数D1のキー
を有し、このキーはレコードを探し出すため
CCWストリングで使用される。このレコードの
データ部分(16進数F1)はフラツグ・バイトで
あり、無アクセス状況を表わす。 レコード2n+2は書込みアクセス・フラツグ
である。レコード2n+2は16進数D2のキーを有
し、このキーはレコードを探し出すためCCWス
トリングで使用される。このレコードのデータ部
分(16進数F2)はフラツグ・バイトであり、書
込みアクセス状況を表わす。 フラツグ・レコード2nないし2n+2に対して
上記に示したキーの値は絶対的なものではなく、
他の値でも、それらが異なつており、かつ使用さ
れる3つのフラツグ値より小さければ、同様に働
く。さらに、フラツグ・レコードの順序は、テス
ト制御レコードn+1ないし2n+1の後に現わ
れる限り、重要でない。 レコードの一部分を変更するためのCCWスト
リング 一回のI/O操作でレコードの一部分を無条件
に変更またはセツトすることは、本発明の方法を
その最も基本的な形で示すものである。この操作
は、書込みフラツグまたは読取りフラツグを無ア
クセス状況に、(または、必要に応じ、読取り−
書込み状況に)リセツトするため、共用デイス
ク・フアシリテイで使用される。 第3図は、I/Oチエインジ操作を理解するた
めの基本的なレコード形式を示す。レコード1は
第2図におけるシステム1のレコード1と同じで
よく、16進数01のキーと、ミニデイスク0、1お
よび2に対する16進数F1、F1およびF2のフラツ
グを有するデータ部分などを有する。第3図で
は、DASD上のもう1つのレコード2は無アクセ
ス・フラツグに対するセツト値を含み、16進数
D1のキーと、16進数F1のデータ部分を有する。 以下のリストAはCCWストリングを示し、
CCWストリングは、本発明によれば、シリンダ
2(ミニデイスク2)に対するフラツグ・バイト
F2を、1回のI/O操作でレコード2のF1で置
き換えることによりリセツトするため使用され
る。SDF環境では、この操作は、ミニデイスク
に対するアクセスが終了され、そのミニデイスク
に対するその他のアクセスがシステム1上に存在
しないとき、システム1により実行される。
【表】
【表】 標準チヤネル・コマンド・ワードのこのストリ
ングの動作は次の通りである。 1 SEEKコマンドは、DASDの読取り/書込み
機構を正しいシリンダおよびトラツクに位置付
けるため使用される。この事例では、シリンダ
0、トラツク1である。 2 SET SECTORコマンドは本発明には関係な
いが、I/Oハードウエア(チヤネルおよび制
御装置)の幾つかの部分を解放するため使用さ
れ、一方この例のデイスク駆動機構(この事例
では、IBM3380)は、読取り/書込み部分が
トラツクの始めにくるまで回転する。 3 SEARCH KEY EQUALコマンドは、この
コマンドを出すシステムの状況レコード(この
事例では、システム1上のVM/SP制御プロ
グラム)を探し出すため使用される。 4 TICチヤネル内転送コマンドは、以下の2つ
の状態の一方が生じるまで前のSEARCH
KEY EQUALコマンドが反復されることを保
証する。 a レコードがトラツク上で発見される。この
場合、I/OハードウエアはTICコマンドを
無視して、TICコマンドの後の、CCW(この
事例では、データ読取りコマンド)から続行
する。 b レコードがトラツク上のどこにも発見され
ない。この場合、I/Oハードウエアは
CCWストリングの実行を停止し、レコード
が発見されなかつたことを示すエラー条件で
CPUに割り込む。 ここで、システム1の状況レコード、すなわ
ち、第3図のレコード1が発見されることにな
る。 5 READ DATAコマンドは、前のSEA RCH
KEY EQUALコマンドにより探し出された状
況レコード(この事例では、コマンドを出した
システム1の状況レコード)を読み取る。この
CCWの終了時には、システム1の状況レコー
ドのコピーがシステム1の記憶装置にあること
になる。 6 次のSEARCH KEY EQUALコマンドは、
第3図にレコード2として示されている16進数
D1のキーを有する無アクセス・フラツグを探
し出すため使用される。 7 次のTICコマンドは、上記4で説明したよう
に、レコードが発見されるか、または、サーチ
が不成功であることが分るまで、前の
SEARCH KEY EQUALコマンドが反復され
ることを保証する。 8 次のREAD DATAコマンドは、無アクセ
ス・フラツグをシステム1のメモリに読み込む
ため使用される。1バイト・フラツグが記憶さ
れるべき記憶位置はCCWで指定され、この事
例では、その位置は、前のREAD DATAコマ
ンドで記憶装置に読み込まれた状況レコード内
のオフセツト2(すなわち、3番目のバイト)
にある。状況レコード内のこの位置は、この
DASDのシリンダ2上で開始するミニデイスク
に関するシステム1のアクセス状況を表わす。 9 次のSET SECTORコマンドも本発明には関
係ないが、第2項で説明したように、I/Oハ
ードウエアの幾つかの部分を解放する。 10 次のSEARCH KEY EQUALコマンドは、
システム1のため状況レコードを再び探し出す
ため使用される。 11 次のTICコマンドは、状況レコードが発見さ
れることを保証する。 12 次のWRITE DATAコマンドは、システム
1に対する更新された状況レコードを書き戻
す。 付加的レコード2をこのCCWストリングと組
み合わせて使用することにより、レコード1のオ
フセツト2にあるフラツグがリセツトされた。こ
の操作は通常2回のI/Oアクセスを必要とす
る。 レコードの一部分を検査し、変更するための
CCWストリング 以下のリストBはCCWストリングを示し、こ
のCCWストリングは、本発明によれば、デー
タ・レコードまたはデータ・レコードの一部分
(この事例では、1つのフラツグ・バイト)を検
査し、その検査の結果に応じて、単一I/O操作
で変更を行なうため使用される。VMシステム下
の共用デイスク・フアシリテイでは、この動作は
ミニデイスのに対するアクセスがLINKコマンド
(VM/SPコマンド)によつて、要求されたとき
実行されねばならない。このようなアクセス要求
は、共用システムのどれかを使つている他のユー
ザがそれを妨げない場合にのみ許可することがで
きる。したがつて、フラツグ・バイトは読取りま
たは書込みアクセス値にセツトさればならない
が、これは禁止的な読取りまたは書込みアクセス
が共用システムのいずれにも存在しない場合に限
る。 この例では、2台の共用システム1および2が
想定され、その内のシステム1がミニデイスクに
アクセスする。 第4図はSDF制御トラツク内のレコードの形
式を示す。レコード1は、やはりシステム1の状
況レコードであるが、第4図に示すように、この
場合はフラツグ位置2にはアクセス・フラツグは
想定されない。 同様に、システム2の状況レコードを構成する
レコード2は、恣意的にすべてのバイト位置にア
クセス・フラツグを持たない状態で示されてい
る。 レコード3はテスト制御レコードであり、フラ
ツグの値をテストする働きをする。前と同様に、
このレコードは16進数F1のキーを有し、このキ
ー対して検査がなされるが、データ部分は無関係
である。2台の共用システム1および2に対し
て、唯一つの制御レコードの4が必要とされる。 レコード4,5および6は、前と同様に、読取
りフラツグ、無アクセス・フラツグおよび書込み
フラツグに対する種々のセツト値をそれぞれ含
む。
【表】 この例は、シリンダ2上で開始するミニデイス
クに対してシステム1によりLINK Mが要求さ
れたときに使用されるCCWストリングを示す。
LINK Mは、VM/SP規則に従つて、ミニデイ
スクに対する書込みアクセスを許可するが、これ
は他にWRITEアクセスが存在しない場合に限ら
れる。他のREADイクセスはリンク要求を拒絶
させない。制御トラツクは、第2図または第4図
に示すように形式化されねばならない。CCWス
トリングは以下を実行する。 1 SEEKコマンドは、DASDの読取り/書込み
機構を正しいシリンダおよびトラツク上に位置
付けるため使用される。この事例では、シリン
ダ0、トラツク1である。 2 SET SECTORコマンドは本発明に無関係で
あるが、I/Oハードウエア(チヤネルおよび
制御装置)の幾つかの部分を解放するため使用
され、同時にこの例のデイスク駆動機構(この
事例では、IBM3380)は、読取り/書込み機
構がトラツクの始めにくるまで回転する。 3 SERCH KEY EQUALコマンドは、最初の
状況レコード(この事例では、システム1の状
況レコード)を探し出すため使用される。 4 TICコマンドは、前に説明したように、レコ
ードが発見されるか、またはサーチが不成功で
あることが明らかになるまで、前のSEARCH
KEY EQUALコマンドが反復されることを保
証する。 5 READ DATAコマンドは、前のSEARCH
KEY EQUALコマンドにより探し出された状
況レコード(この事例では、システム1の状況
レコード)を読み取る。このCCWの終了時に
は、システム1の状況レコードのコピーがシス
テム1の記憶装置に置かれる。 6 次のSEARCH KEY EQUALコマンドおよ
びTICコマンドは、2番目の状況レコード(こ
の事例ではシステム2の状況レコード)を探し
出すため使用される。やはり2つの状態(発見
されるか、または発見されないか)が発生す
る。可能性があるが、この事例では、レコード
が発見される。 7 次のREAD DATAコマンドは、前の
SEARCH KEY EQUALコマンドにより探し
出された状況レコード(この事例ではシステム
2の状況レコード)を読み取る。このCCWの
終了時には、システム2の状況レコードのコピ
ーがシステム1の記憶装置に置かれる。 8 次のSEARCH KEY EQUAL OR HIGHコ
マンドは、このDASDのシリンダ2上で開始す
るミニデイスクに対するシステム2のフラツ
グ・バイトの状況を検査するため使用される。
SEARCH KEY EQUAL OR HIGHコマンド
のための引数として、システム2の状況レコー
ド内のシリンダ2(3番目のバイト)上で開始
するミニデイスクを表わすフラツグ・バイト
(このときは一時的にシステム1の記憶装置に
ある)が使用される。この例では、このフラツ
グ・バイトは以下の3つの16進数の1つを有す
ることができる。 F0は、システム2がそのミニデイスクに読取
りアクセスすることを意味し、 F1は、システム2がそのミニデイスクにアク
セスしないことを意味し、 F2は、システム2がそのミニデイスクに書込
みアクセスすることを意味する。 9 次のTICコマンドは、以下の2つの状態の一
方が生じるまで前のSEARCH KEY EQUAL
OR HIGHコマンドが反復されることを保証す
る。 a レコード、すなわち、テスト制御レコード
3がトラツク上に発見される。言い換える
と、SEARCH KEY EQUAL OR HIGHコ
マンドで指定された値(システム2の状況レ
コード内のオフセツト2にあるフラツグ・バ
イト)に等しいか、またはそれよりも大きい
値を有するキーが発見される。このことは、
システム2が、書込みアクセスが存在しない
ことを示す値F0またはF1のフラツグ・バイ
トを有することを意味する。この場合は、
I/OハードウエアはTICコマンドを無視し
て、TICコマンドの後のCCWから続行する。 b レコードはトラツクのどこにも発見されな
い。この事例では、このことはシステム2
が、書込みアクセスが存在することを示す値
F2フラツグ・バイトを有することを意味す
る。この場合は、I/Oハードウエアは
CCWストリングの実行を停止し、レコード
が発見されなかつたことを示すエラー条件で
CPUに割り込む。 図示の例では、システム2の最初状況フラツグ
は値F1(無アクセス)を含むので、レコードは発
見された。 他のどのシステムにもアクセスが存在しない
場合にのみアクセスが許容される場合は、
SEARCH KEY EQUAL OR HIGHコマンド
をSEARCH KEY EQUALコマンドに置き換
えなければならないので、他のシステム上にあ
るフラツグ・バイトがF0(読取りアクセス)の
値を有する場合は、SEARCH KEYコマンド
も働かない。これは、ユーザが例えばリンクW
を要求する場合である。 CCWストリングの次の部分(この事例では
システム1であるコマンドを出すシステムの状
況レコードの変更をもたらすための)は、
CCWストリングの前の部分が成功した場合に
のみ実行されることに留意すること。 10 次のREAD DATAコマンドは、書込みアク
セス・フラツグをシステム1の記憶装置に読み
込むため使用される。1バイト・フラツグが記
憶されるべき記憶位置がCCW内で指定され、
この場合は、その記憶位置は、前の読取りコマ
ンドで記憶装置に読み込まれたコマンドを出す
システム(この事例では、システム1)の状況
レコード内のオフセツト2(3番目のバイト)
にある。状況レコード内のこの位置は、この
DASDのシリンダ2上で開始するミニデイスク
に関するシステム1のアクセス状況を表わす。 12 次のSET SECTORコマンドも本発明には関
係ないが、前と同様に、I/Oハードウエア
(チヤネルおよび制御位置)の幾つかの部分を
解放するため使用される。 13 次のSEARCH KEY EQUALコマンドは、
コマンドを出すシステム(この事例では、シス
テム1)に対する状況レコードを再び探し出す
ため使用される。 14 次のTICコマンドは、状況レコードが発見さ
れることを保証する。 15 次のWRITE DATAコマンドは、コマンド
を出すシステム(この事例では、システム1)
に対する更新された状況レコードを書き戻す。 上記のCCWストリングをDASD上の別のテス
トおよびセツト・レコードと組み合わせることに
より、状況レコード1のオフセツト2にあるフラ
ツグF1は、他に同時的かつ競合的なアクセスが
生じないという保証のもとで、単一原子I/O操
作でF2にセツトされた。 同様にして、システム2はシステム1の状況レ
コード1内にある関連するフラツグをテストし
て、1回のI/O操作でその状況レコード2の一
部分を変更するためCCWストリングを使用する。 n台(n>2)の共用システムでは、n台のシ
ステムすべてに対する状況レコードが各共用
DASDに記録される。共用DASD上の特定のミニ
デイスクに対して1台のシステムのユーザからア
クセス要求があつた場合、このシステムはn個の
状況レコードをすべて主記憶装置に読み込み、上
述の方法で、関連するミニデイスク位置にあるア
クセス・フラツグについて他のすべての共用シス
テムの状況レコードをテストする。そのミニデイ
スクが使用可能なときは、アクセス・システムは
それ自体の状況レコードの関連するミニデイスク
位置にアクセス・フラツグをセツトする。 このことは、CCWストリング内のテスト操作
がn−1台のシステムに対して反復されることを
意味し、すべてのシステムに対する高速探索を1
回転で行なうため、n−1個の付加的なテスト・
レコードが各DASD制御トラツクに記録されるこ
とが好ましい。 上記の例では、説明を明瞭にするため、1台の
共用デイスク制御装置のみを示して説明したが、
本発明の方法はすべてのDASDの共用を可能にす
ることは明らかであり、共用システムの数は実用
上でのみ制限を有する。 共用システムの1台が故障した場合は、ミニデ
イスクが故障したシステムによりフラツグをセツ
トされていない限り、DASDは他のシステムにと
つて依然としてアクセス可能である。さらに、故
障したシステムのこれらのフラツグは1つのコマ
ンドでリセツトすることができる。 DASD上の付加的なテストおよびセツト・レコ
ードと組合わされて使用されるCCWの設計を、
VMオペレーテイング・システム下の共用デイス
ク・システム内のフラツグ・バイトのテストおよ
びセツトに関して説明したが、本発明の方法はこ
のアプリケーシヨンまたはこのオペレーテイン
グ・システムに限定されるものではない。 F 発明の効果 以上説明したように、この発明によれば単一の
原始入出力操作でDASDの個々のデータ・レコー
ドを部分的に変更することができる。
【図面の簡単な説明】
第1図は、幾つかのDASDを共用する2台の柔
軟結合コンピユータ・システムのデータ処理環境
の概略構成図である。第2図は、本発明の共用
DASDの実施例で使用されるDASD上のレコード
の概略レイアウトである。第3図は、DASD上の
データ・レコードの一部を変更するためCCWス
トリングで使用されるセツト値を含む付加的なレ
コードを有する上記データ・レコードの単純化さ
れたレイアウトである。第4図は、本発明による
共用デイスク・フアシリテイにおいてDASD上の
アクセス状況レコード内のフラツグを条件付きで
変更するためCCWストリングにより使用される
テストおよびセツト値を含む付加的なレコードと
共に示した上記アクセス状況レコードのレイアウ
トである。 1,2……コンピユータ・システム、3,4,
5……デイスク駆動機構、CP1,CP2……制御
プログラム、CPU1,CPU2……中央処理装置、
CH1,CH2……I/Oチヤネル、CU1,CU
2……制御装置。

Claims (1)

  1. 【特許請求の範囲】 1 直接アクセス記憶装置に記憶されている個々
    のデータ・レコードを部分的に変更する方法にお
    いて、 部分的に変更されるべきデータ・レコードの変
    更部分が変更後に採るべき値を具備する付加的な
    レコードを上記直接アクセス記憶装置に含ませて
    おき、 所定の1のチヤネル・コマンド・ストリングを
    用いて、上記直接アクセス記憶装置が接続されて
    いるデータ処理システムを制御し、 この制御により、上記直接アクセス記憶装置か
    ら上記部分的に変更すべきデータ・レコードのコ
    ピーをメモリに読み出し、このうち上記直接アク
    セス記憶装置に含まれている上記付加的なレコー
    ドを読み出して上記部分的に変更されるべきデー
    タ・レコードの上記変更部分に対応する位置で上
    記データ・レコードのコピーを変更し、さらにこ
    の変更後の上記データ・レコードのコピーを上記
    直接アクセス記憶装置に戻して上記データ・レコ
    ードの元の値と置き換えるようにし、 上記データ処理システムの単一の原子入出力操
    作で上記直接アクセス記憶装置の個々のデータ・
    レコードを部分的に変更できるようにした直接ア
    クセス記憶装置のデータ・レコードの部分的変更
    方法。
JP62043233A 1986-04-04 1987-02-27 直接アクセス記憶装置のデ−タ・レコ−ドの部分的変更方法 Granted JPS62239226A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP86200577A EP0240616B1 (en) 1986-04-04 1986-04-04 Method to test and set data in a record on disk in one atomic input/output operation
EP86200577.4 1986-04-04

Publications (2)

Publication Number Publication Date
JPS62239226A JPS62239226A (ja) 1987-10-20
JPH0461372B2 true JPH0461372B2 (ja) 1992-09-30

Family

ID=8195722

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62043233A Granted JPS62239226A (ja) 1986-04-04 1987-02-27 直接アクセス記憶装置のデ−タ・レコ−ドの部分的変更方法

Country Status (4)

Country Link
US (1) US5113509A (ja)
EP (1) EP0240616B1 (ja)
JP (1) JPS62239226A (ja)
DE (1) DE3688136T2 (ja)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5680574A (en) 1990-02-26 1997-10-21 Hitachi, Ltd. Data distribution utilizing a master disk unit for fetching and for writing to remaining disk units
US6728832B2 (en) 1990-02-26 2004-04-27 Hitachi, Ltd. Distribution of I/O requests across multiple disk units
US5257376A (en) * 1990-09-04 1993-10-26 International Business Machines Corporation Method and apparatus for configuring a control program nucleus with a minimum impact on system availabiltiy
WO1993002410A1 (en) * 1991-07-22 1993-02-04 Fujitsu Limited Method for controlling data recording on magnetic tape
EP0570632A1 (en) * 1992-05-21 1993-11-24 The Dow Chemical Company Mass polymerized styrene polymer composites reinforced with a mixture of fibrous and spherical particles
US5794056A (en) * 1993-10-04 1998-08-11 International Business Machines Corporation System for automatic buffering of commands for DASD units
US6073211A (en) * 1994-12-13 2000-06-06 International Business Machines Corporation Method and system for memory updates within a multiprocessor data processing system
FI102788B (fi) 1995-09-14 1999-02-15 Nokia Telecommunications Oy Yhteisen levydatan hallinta kahdennetussa tietokoneyksikössä
US5996075A (en) * 1995-11-02 1999-11-30 Sun Microsystems, Inc. Method and apparatus for reliable disk fencing in a multicomputer system
US7168088B1 (en) 1995-11-02 2007-01-23 Sun Microsystems, Inc. Method and apparatus for reliable disk fencing in a multicomputer system
US5940621A (en) * 1996-01-23 1999-08-17 Hewlett-Packard Company Language independent optimal size-based storage allocation
JP2830857B2 (ja) * 1996-09-09 1998-12-02 三菱電機株式会社 データストレージシステム及びデータストレージ管理方法
FR2754925B1 (fr) * 1996-10-18 1998-11-20 Bull Sa Operation atomique sur memoire distante et dispositif permettant d'effectuer cette operation
US11714808B2 (en) * 2021-09-08 2023-08-01 International Business Machines Corporation Pattern search request embedded in a transport mode command word for a channel subsystem in a storage system

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3662401A (en) * 1970-09-23 1972-05-09 Collins Radio Co Method of program execution
US3725872A (en) * 1971-03-03 1973-04-03 Burroughs Corp Data processing system having status indicating and storage means
US4224664A (en) * 1976-05-07 1980-09-23 Honeywell Information Systems Inc. Apparatus for detecting when the activity of one process in relation to a common piece of information interferes with any other process in a multiprogramming/multiprocessing computer system
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
US4467421A (en) * 1979-10-18 1984-08-21 Storage Technology Corporation Virtual storage system and method
US4380798A (en) * 1980-09-15 1983-04-19 Motorola, Inc. Semaphore register including ownership bits
NL8101410A (en) * 1981-03-23 1981-04-29 Multi processor system with units cooperating on common memory - has interactive system of connections for addresses, data, control data etc.
US4442487A (en) * 1981-12-31 1984-04-10 International Business Machines Corporation Three level memory hierarchy using write and share flags
JPS58140862A (ja) * 1982-02-16 1983-08-20 Toshiba Corp 相互排他方式
US4574346A (en) * 1982-09-29 1986-03-04 International Business Machines Corporation Method and apparatus for peripheral data handling hierarchies
US4658351A (en) * 1984-10-09 1987-04-14 Wang Laboratories, Inc. Task control means for a multi-tasking data processing system
CA1239227A (en) * 1984-10-17 1988-07-12 Randy D. Pfeifer Method of and arrangement for ordering of multiprocessor operations in a multiprocessor system
US4839813A (en) * 1985-10-24 1989-06-13 Pitney Bowes Inc. Computerized parcel shipping system

Also Published As

Publication number Publication date
DE3688136T2 (de) 1993-10-07
US5113509A (en) 1992-05-12
EP0240616A1 (en) 1987-10-14
JPS62239226A (ja) 1987-10-20
DE3688136D1 (de) 1993-04-29
EP0240616B1 (en) 1993-03-24

Similar Documents

Publication Publication Date Title
JP3005645B2 (ja) 消去不可能な記憶媒体上にファイルを読出しかつ書込む方法
US6785791B2 (en) Method for accessing data being copied between data regions before the copying is completed
US6643667B1 (en) System and method for replicating data
US4500954A (en) Cache bypass system with post-block transfer directory examinations for updating cache and/or maintaining bypass
EP0077452B1 (en) Data promotion in storage subsystems
JP3273254B2 (ja) 二進コンピュータのための、高速で、高性能で、欠陥に対する許容性があり、エラー修正可能な記憶システム
US7330947B2 (en) Method and apparatus for backing up data in virtual storage medium
US5210865A (en) Transferring data between storage media while maintaining host processor access for I/O operations
JPH10508967A (ja) オンライン、実時間、データ移送の技術分野のためのシステム及び方法
JPH0461372B2 (ja)
KR20020080458A (ko) 가상 디스크 드라이브를 이용한 저장 시스템의 물리적섹터의 파티션 재생성 방법, 데이터 처리 장치 및 데이터저장 장치
JPH02228745A (ja) 入出力キヤツシユ
US5432929A (en) Storage subsystem having a modifiable key-lock
JPH0417525B2 (ja)
US6985996B1 (en) Method and apparatus for relocating RAID meta data
US5293618A (en) Method for controlling access to a shared file and apparatus therefor
JPS61114353A (ja) 要求時ペ−ジングメモリを有するデジタルデ−タ処理システムのアクセス照合構成体
JPH02150940A (ja) データ処理システム及びその制御方法
JPS6027969A (ja) デ−タの記憶装置間転送システム
EP0347032A2 (en) Record format emulation
JPH02257340A (ja) 仮想コピーファイル方式
JPH0115903B2 (ja)
US6209057B1 (en) Storage device having data buffer
JPH06110741A (ja) コンピュータ装置
JPH054697B2 (ja)

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees