JP3683831B2 - データ処理システムにおけるチャネル回復のためのチェックポイント指定方法、装置およびプログラム記録媒体 - Google Patents
データ処理システムにおけるチャネル回復のためのチェックポイント指定方法、装置およびプログラム記録媒体 Download PDFInfo
- Publication number
- JP3683831B2 JP3683831B2 JP2001160196A JP2001160196A JP3683831B2 JP 3683831 B2 JP3683831 B2 JP 3683831B2 JP 2001160196 A JP2001160196 A JP 2001160196A JP 2001160196 A JP2001160196 A JP 2001160196A JP 3683831 B2 JP3683831 B2 JP 3683831B2
- Authority
- JP
- Japan
- Prior art keywords
- ccw
- last
- received
- ccw number
- equal
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1443—Transmit or communication errors
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Retry When Errors Occur (AREA)
Description
【発明が属する技術分野】
本発明はデータ処理システムにおけるチャネル回復のためのチェックポイント指定に関し、詳細にいうと、フレーム・レベルでのマルチプレックス操作を可能とし、コマンドとデータのストリーミングを可能とするプロトコルを使用したデータ処理システムにおけるチャネル回復のためのチェックポイント指定に関する。
【0002】
【従来の技術】
チャネルを有する、IBM S/390システムのようなデータ処理システムであって、そのチャネルの操作がチャネル・コマンド・ワード(CCW)によって制御され、そのチャネルの入出力(I/O)リンクがIBM FICONコネクティビティ・アーキテクチャを使用する光ファイバであるデータ処理システムにおいて、チャネルがファイバ・リンクのインタフェース・エラーから回復することを試み、かつサブチャネルが活動状態にある時、チャネルは再試行を求める要求を有する選択的リセットを発行して、どのCCWを再試行するかを指定することによって、障害点からの操作の再試行を試みることができる。再試行回復活動が不成功であった結果、インタフェース・コントロール・チェック(IFCC)状況がS/390オペレーティング・システムに提示された時、拡張状況ワード/拡張リポート・ワード(Extended Status Word/Extended Report Word、ESW/ERW)のフィールドを、ニューヨーク州アーモンクのインターナショナル・ビジネス・マシンーズ社から入手できるIBMエンタープライズ・システムズ・アーキテクチャ/390操作原理、SA22−7201−06で説明されているようにセットアップしなければならない。これらの中で、エラー時にチャネルがCCWチェインを介して行った進行情況をオペレーティング・システムに通信して返す一次CCWがある。この情報に基づいて、オペレーティング・システムは、どのストーレッジがエラー回復手順で使用するために更新されたかを決定できる。FICONの前のS/390チャネル上では、プロトコルにより、チャネルが、以前のコマンドの実行が完了したことの明示的な指示(状態またはデータ)を受取り次第にCCWチェイン内の次のコマンドを送ることが許可されるだけである。しかし、FICONプロトコルにより、複数のデバイスに対して同じことを同時に行いながら、チャネルが単一のデバイスに対してコマンドまたはデータあるいはその両方をストリーム・アウトすることが許可される。
【0003】
米国特許第5392425号は、チャネルがエラー状態を検出して、制御ユニットにI/O操作の現行コマンドの再試行を要求する制御ユニットに接続されたチャネルを有するデータ処理I/OシステムでCCWからのコマンドを再試行することを開示している。
【0004】
本発明は、チャネルが、1)複数のデバイスが活動している間単一のデバイスに対する操作の回復に必要なデータを管理すること(チェックポイント指定)ができ、2)関連するチェックポイントをトラッキングおよび検査することによりIFCC状態において報告する正しい一次CCWアドレスを決定することができる方法、プログラム・プロダクトおよび装置を提供する。
【0005】
IBM FICONアーキテクチャを実施することにより、チャネルは、以前のコマンドのいずれかが完了したとの肯定確認を待つことなく制御ユニットに複数のコマンドをストリーム・アウトすることが可能になる。さらに、これは複数のデバイスにも同時に行うことができる。本発明の目的は、エラーが検出され、操作がアボートされた時に、チャネルが制御ユニットに再試行を試みるのがどのCCWであるかの適切な選択が可能であり、再試行が不成功である場合、チャネルがS/390ストーレッジの変更とそれに対するアクセスを完了した範囲を示す訂正一次CCWアドレスをソフトウェアに報告して返すのがどのCCWであるかについての適切な選択が可能であるように、FICONチャネル内で、様々なステージを通るCCWの進行をトラッキングすることである。FICONアーキテクチャは2つのチェックポイント・イベントを確立する、すなわちCCWが非ゼロ・バイト・カウントである「Read」であるか、CCWフラグがプログラム制御割込み(PCI)を含む場合、チェックポイントがそのCCW番号に対してチャネルと制御ユニットの間に確立される。
【0006】
本発明の他の目的は、機能性能に与える影響が最小である方式で、チェックポイント指定の概念を実施することであり、その方式では、通常操作の間に必要である最小限のデータをトラッキングするだけであり、エラー回復の間に行われる長い分析でそのデータが使用される。このデータは「操作当たり(per operation)」ベースでトラッキングされるので、多くの操作を同時に行うことができ、チェイン内の各CCWに対するCCW番号付けのアーキテクチャ概念を利用する。
【0007】
【課題を解決するための手段】
本発明の方法は、フレーム・レベルでのマルチプレックス操作を可能とするプロトコルを使用したデータ処理システムで制御ユニットに接続されたチャネルの回復のためにチェックポイント指定する方法であって、チャネル内で、様々なステージを通して複数のチャネル・コマンド・ワード(CCW)の進行をトラッキングするステップと、いつエラーが起こり、操作がアボートされたかを検出するステップと、複数のCCWの進行に基づいて、どのCCWが再試行を試みるかを選択するステップとを含む方法である。
【0008】
【発明の実施の形態】
図1は本発明で使用できるデータ処理システム10の略図である。データ処理システムは中央処理ユニット12を含み、これは本実施形態においては、チャネル・サブシステム(CSS)14を有するIBM S/390コンピュータとすることができ、チャネル・サブシステム(CSS)14は、リンク16により制御ユニット18に接続されたチャネルを含み、制御ユニット18は複数台のI/Oデバイス20を制御する。本実施形態のリンク16はIBM FICONリンクであり、この上をデータとコマンドが、送られる各フレームに対する応答を待たずにフレームで送られる。FICONはT11/PROJECT1357−D/Rev1.2,FIBRE CHANNELSingle−Byte Command Code Sets-2 Mapping Prorocol(FC−SB−2)に記載された標準原稿のFC4上位レイヤ・プロトコルのIBMバージョンである。FC−SB−2は、Accredited Standards Committee,National Committee for Infomation Technology Standardization(これは米国規格協会(American National Standards Institute)の手続きのもとで運営されている)下のT11技術委員会(T11 Technical Committee)(ウェブ・サイトhttp://www.t11.org)から入手できる。当技術分野で周知のように、データはチャネル・コマンド・ワード(CCW)22によってCSS14と制御ユニット18との間で送られる。CCWは実行されるコマンドを指定し、いくつかのI/O操作を開始するコマンドについては、その操作に関連したストーレッジ領域を指定し、その動作は、該領域に対しまたはそこからの転送が終了するたびに行われ、かつ他のオプションが行われる。CCWとその使い方とは周知のものであり、前出の操作原理で詳細に説明されており、これ以上は説明しない。データを20のI/Oデバイスから読み取った時、データはCSS14内のバッファ24に読み込まれ、さらに、コンピュータ12のS/390メモリまたはカストマ・ストーレッジ26に格納される。前出の操作原理で示したように、IFCCは無効の信号がチャネル・パスで生じたことを示す。転送中にエラーが起こった場合、本発明は、どの範囲までの転送が完了したのか、あるとすれば、どれくらいのカストマ・ストーレッジ26が変更されたのか、ならびに、コマンドの再試行を試みるCCWチェインの点がどれかを決定する。他のCCWを開始する前に完了されるべき1つのCCWを待たずにFICONアーキテクチャで多数のCCWが実行されるため、これはさらに複雑になる。
【0009】
このデータは操作当たりベースでトラッキングされるので、多くの操作を同時に行うことができ、チェイン内の各CCWに対してCCW番号付けのアーキテクチャ概念を利用することができる。本発明において、機能コードは前出のFC−SB−2で提案された標準に従って作成されており、チェックポイント指定および回復とに関連する各CCW操作に対して4つのCCW番号をトラッキングする。4つのCCW番号は次の通りである。
Last−completed(最新完了)。所与のCCWに対する全てのREADデータがリンクで受け取られて、S/390ストーレッジへの格納に成功する、またはPCI割込みがオペレーティング・システムへ送り返された時、このCCW番号は更新される。前出の操作原理で指定されているように、PCI機能により、I/O操作の実行中にプログラムがI/O割込みをさせるのが許可される。この機能はCCWのPCIフラグによって制御される。PCIフラグの値も関連する割込み要求も現行操作の実行に影響しない。
Last−received(最新受取り)。所与のCCWに対する幾つかあるいは全てのREADデータがリンクに受け取られて、ストーレッジ・キューに置かれる、または、PCIに対するコマンド応答(CMR)が受け取られて、ストーレッジ・キューに置かれたものの、データが格納されたこと、またはPCI割込み条件が生成されたことの確認がまだ行われていない時、このCCW番号は更新される。
Last−expected(最新待受け)。非ゼロ・バイト・カウントのREADまたはPCIのCCWが、コマンドを送ったものの応答においてリンクからまだ何も受け取っていない時点まで処理された時、このCCW番号は更新される。
Last−assigend(最新割当て)いずれかのCCW(ReadやPCIだけでなく)が処理され、送り出された時、このCCW番号は更新される。
【0010】
これら4つのCCW番号間の関係は常に下記の通りである(CCW番号のラッピングは含まない)。
Last−completed<=Last−received
Last−received<=Last−expected
Last−expected<=Last−assigned
ある時点で、それらの番号のうち2つ、3つ、または全4つの番号が等しくてよい。以下の例で、CCW番号値は、チェインの最初のCCWである「01」に初期化される。以下の例において矢印の方向は最後のコマンドまたはデータの方向を指し、左から右はS/390システムから制御ユニットへのメッセージであり、右から左は制御ユニットからS/390システムへのメッセージである。一次CCWアドレスを決定するには、考慮すべき3つの関連事例がある。
【0011】
事例1
Last−completed=Last−receivede=Last−expected
事例1の場合、Last−receivedチェックポイント以降に予想されるチェックポイント指定イベントはないので、チャネルは、制御ユニットに対しエラーの時点で処理していたいずれかのCCWからの再試行でも行わせることになる。ただし、次いで、チャネルの進行をオペレーティング・システムへ報告して返す目的で、再試行が不成功となった場合、一次CCWのアドレスは、Last−assigendのアドレスとなるが、その理由は、全ての関連データをあらゆるチェックポイント指定イベントからオペレーティング・システムに返しており、その時点以降に(もしあれば、Last−assignedがLast−expectedと等しいときから)送られた以降のCCWはチェックポイント指定イベントを含まないからである。
【表1】
【0012】
例1において、制御ユニットはCCW#04または#05または#06のいずれかの再試行を選ぶことができる。
【0013】
事例2
Last−completed=Last−received
事例2において、制御ユニットからのチェックポイント指定イベントの応答をまだ待っているが、受け取ったあらゆるものに対するチェックポイント指定以前のイベントに対する全てのものを格納しきったので、再試行を目的として、チャネルは、最新の既知の良好なチェックポイント(Last−received)を制御ユニットが再試行することを要求する。しかし、再試行が不成功な場合に、一次CCWアドレスを決定するために、Last−receivedとLast−expectedとの間のCCWチェインを調べなければならない。他のチェックポイント指定イベントを見出した場合任意の時点で、この次に予想されるチェックポイントの前のCCW番号のCCWアドレスが一次CCWアドレスとして使用される。他のチェックポイント・イベントを見出せずにLast−expectedに到達した場合、その前におけるCCWアドレスが一次CCWアドレスとして使用される。
【表2】
【0014】
例2において、#02と#06との間のCCWを検査すると、CCW#04にある次のチェックポイント指定イベントが発見される。このチェックポイントが完了していないため、チャネルは最新の既知の良好なチェックポイントの再試行を要求する(CCW#02)。再試行が不成功で、IFCC状態が報告されるべき場合、一次CCWのアドレスは、次に不完全なチェックポイントから1つのCCWをバック・アップすることによって見出され、それ故CCW#03のアドレスが使用される。
【0015】
事例3
Last−completed≠Last−received
事例3において、ファイバ・リンクに渡ってどのCCWを再試行するかを決定する目的で、チャネルは最新の既知の良好なチェックポイントに再び戻らなければならない。しかし、データがS/390メモリに格納された、または、PCIが送り返されたという肯定確認がないので、ので、再試行CCW番号と一次CCWアドレスとの両方は、Last−completed後の次のチェックポイント指定CCWのそれとなる。これは少なくとも、幾つかのREADデータがS/390ストーレッジに格納された可能性があるためであり、一次CCWアドレスはこれを示さなければない。Last−receivedがこのようなイベントのLASTであり、必ずしもNEXTではないので、Last−completedからLast−receivedまでのCCWチェインを検査する必要がある。いずれかの点で他のチェックポイント指定イベントに遭遇すると、そのCCW番号が再試行CCW番号として使用され、再試行の失敗に対するそのCCW番号に対応するCCWアドレスが一次CCWアドレスとして使用される。Last−receivedに到達する前にそれ以上のチェックポイント指定イベントに遭遇しない場合、そのCCWアドレスが使用される。
【表3】
【0016】
例3において、#01と#04の間のCCWを検査すると、データが受け取られているが、必ずしも全部が格納されたわけではないCCW#02のチェックポイント指定イベントを見出す。この場合、CCW#02が再試行CCW番号として使用され、CCW#02のアドレスが再試行失敗IFCC報告についての一次CCWアドレスとして使用される。
【0017】
図2と図3は、コネクタaにより接続されて、チェックポイント指定値がどのように設定されるかを決定するコンピュータ・プログラムの流れ図である。チャネル14がリンク16からコマンドまたはデータを受け取った場合、以下で考察するように、何をチャンネルが受け取ったかに応じて、プログラムは30、42、または54の一つに進む。図2において、CCWのコマンドを30で受け取った場合、チャネルには32でCCW番号を割り当てる。CCWが非ゼロ・バイト・カウントを有するReadコマンドであるかを決定するためにチェックが34で行われる。yesであれば、Last−expectedが36で更新される。34におけるチェックがnoであれば、CCWでPCIフラグがオンであるかを調べるため38でチェックが行われる。yesであれば、Last−expectedが36で更新される。Last−expectedが36で更新されたか、チェックが38においてnoだった後、プログラムは40に進み、付加的なチェックポイント指定は今回行われず、次のイベントを待つ。チャネルが42においてリンクからフレームを受け取ると、フレームがReadコマンドからのデータを含むかどうかを調べるためのチェックが44で行われる。44でのチェックがyesであると、46でプログラムは、S/390メモリ26に格納されるようにストーレッジ・キューにデータを置く。44でのチェックがnoであると、CCWのPCIフラグのためフレームがCMRであるかどうかを決定するために48でチェックが行われる。CMRはFC−SB−2提案標準で説明されている。チェックがnoであれば、プログラムは40に進み、付加的なチェックポイント指定は今回行われず、次のイベントを待つ。48でのチェックがyesであると、50におけるプログラムは、PCIが以前の任意のReadデータの後ろでかつ以降の任意のReadデータの前の順序に戻るように、ストーレッジ・キューにPCIを送り返すようイニシアチブ(initiative)をとる。40または50の後、Last−receivedは52で更新され、プログラムは40に進み、付加的なチェックポイント指定は今回行われず、次のイベントを待つ。
【0018】
図3において、チャネルが54で、成功したストーレッジ操作の指示またはPCI割込み状態生成イニシアチブを受け取ると、指示が格納操作であるかどうかを決定するためのチェックが56で行われる。56でのチェックがnoであると、チャネルは58でPCI割込み状態を生成する。56でのチェックがyesであると、これがこの操作に関連するCCW番号に対するデータの最新のものかどうかを決定するためのチェックが60で行われる。60でのチェックがyesである、または、PCIが58で送り返されると、Last−completedが62で更新される。60でのチェックがnoである、または、Last−completedが62で更新されると、プログラムは40に進み、付加的なチェックポイントは今回行われず、次のイベントを待つ。
【0019】
図4は再試行するコマンドを決定するための値を解析するためのコンピュータ・プログラムの流れ図である。このプログラムは、CCWの操作でエラーが検出された時、開始される。Last−completedについて図2および図3のプログラムによって決定された値がLast−receivedについて決定された値と等しいかどうかを調べるためのチェックが70で行われる。70でのチェックがyesであれば、Last−receivedについて図2および図3のプログラムによって決定された値がLast−expectedについて決定された値と等しいかどうかを調べるためのチェックが72で行われる。72でのチェックがyesであれば、事例1の条件が認識され、74において、制御ユニット18は再試行するコマンドを選択することを許可される。72でのチェックがnoであれば、事例2の条件が認識され、76において、Last−receivedCCWである、最新の既知の良好なチェックポイントのコマンドを再試行するための要求を行う。
【0020】
70でのチェックがnoであれば、事例3が認識され、78において、CCW番号はLast−completed+1に等しく設定され、新しいCCW番号を与える。新しいCCW番号がLast−receivedと等しいかどうか調べるためのチェックが80で行われる。80でのチェックがyesであれば、82において、Last−receivedCCWでコマンドを再試行するための要求が行われる。80でのチェックがnoであれば、新しいCCW番号のコマンドが非ゼロ・バイト・カウントを有するReadであるかどうかを調べるためのチェックが84で行われる。84でのチェックがnoであると、PCIフラグが新しいCCWでオンであるかどうかを調べるためのチェックが86で行われる。84または86のいずれかにおけるチェックがyesであると、88において、新しいCCW番号のコマンドを再試行するための要求が行われる。86でのチェックがnoであると、90において、CCW番号を1だけ増分させることにより新しいCCW番号を計算し、プログラムを80にループ・バックさせる。
【0021】
図5および図6は、コネクタbによって接続される、コンピュータ・プログラムの流れ図であり、このコンピュータ・プログラムは、図4のプログラムによって決定される再試行操作が失敗するとオペレーティング・システムに報告して返される一次CCWアドレスを決定するための値を解析するコンピュータ・プログラムである。図5において、100で、Last−completedについて図2および図3のプログラムによって決定される値がLast−receivedについて決定される値と等しいかどうかを調べるためのチェックが行われる。100でのチェックがyesであると、Last−receivedについて図2および図3のプログラムによって決定される値がLast−expectedについて決定される値と等しいのかどうかを調べるチェックが102で行われる。102でのチェックがyesであると、事例1が認識され、104において、一次CCWアドレスがLast−assignedCCWのアドレスになる。この一次アドレスはオペレーティング・システムへ送り返される。102でのチェックがnoであると、事例2が認識され、106において、CCW番号が計算されてLast−received+1に等しくなる。CCW番号はLast−expectedと等しいかどうかを調べるチェックが108で行われる。yesであると、110において、オペレーティング・システムへ送り返される一次CCWアドレスがLast−expected−1のアドレスに等しい。108でのチェックがnoであると、CCW番号のコマンドが非ゼロ・バイト・カウントを有するReadであるかどうかを調べるチェックが112で行われる。チェックがnoであると、PCIフラグがCCW番号でオンかどうかを調べるチェックが114で行われる。112または114のいずれかにおけるチェックがyesであると、オペレーティング・システムに送り返される一次CCWアドレスが、CCW番号−1のアドレスに等しい。114でのチェックがnoであると、CCW番号が1だけ増分し、プログラムは108へループ・バックする。
【0022】
100でのチェックがnoであると、事例3が認識され、図6の120においてCCW番号がLast−completed+1に等しいように計算される。CCW番号がLast−receivedと等しいかどうかを調べるチェックが122で行われる。122でのチェックがyesであると、124において、オペレーティング・システムに送られる一次CCW番号がLast−receivedのアドレスである。122でのチェックがnoであると、CCW番号のコマンドが非ゼロ・バイト・カウントを有するReadであるかどうかを調べるチェックが126で行われる。126でのチェックがnoであると、PCIフラグがCCWでオンであるかどうかを調べるチェックが128で行われる。126でのチェックまたは128でのチェックのいずれかがyesであると、130において、オペレーティング・システムに送られる一次CCWアドレスがCCW番号のアドレスである。128でのチェックがnoであると、132においてCCW番号は1だけ増分され、プログラムは122へループ・バックする。前に説明したように、一次CCWがオペレーティング・システム・ソフトウェアに報告して返されて、チャネルがどの範囲までS/390ストーレッジ26の変更とそれへのアクセスとを完了したかを示す。一次CCWアドレスはオペレーティング・システムに、操作が終了した時点で、CCWチェインによって、チャネルの進行を知らせる。次いでオペレーティング・システムは、たとえば、この一次CCWアドレスの後にどのReadCCWも起こらなかったことを知り、したがってS/390ストーレッジが後続ののReadがあったとしても、それによって変更されない。
【0023】
尚、本願発明は、ハードウエア、ソフトウエア、またはハードウエアおよびソフトウエアの組み合わせとして実現可能である。ハードウェアとソフトウェアの組み合わせによる実行において、所定のプログラムを有するコンピュータ・システムにおける実行が典型的な例として挙げられる。かかる場合、該所定プログラムが該コンピュータ・システムにロードされ実行されることにより、該プログラムは、コンピュータ・システムを制御し、本願発明にかかる処理を実行させる。このプログラムは、任意の言語・コード・表記によって表現可能な命令群から構成される。そのような命令群は、システムが特定の機能を直接、または1.他の言語・コード・表記への変換、2.他の媒体への複製、のいずれか一方もしくは双方が行われた後に、実行することを可能にするものである。もちろん、本願発明は、そのようなプログラム自体のみならず、プログラムを記録した媒体もその範囲に含むものである。本願発明の機能を実行するためのプログラムは、フロッピー(R)・ディスク、MO、CD−ROM、DVD、ハード・ディスク装置、ROM、MRAM、RAM等の任意のコンピュータ読み取り可能な記録媒体に格納することができる。かかるプログラムは、記録媒体への格納のために、通信回線で接続する他のコンピュータ・システムからダウンロードしたり、他の記録媒体から複製したりすることができる。また、かかるプログラムは、圧縮し、または複数に分割して、単一または複数の記録媒体に格納することもできる。
【図面の簡単な説明】
【図1】本発明に使用できるデータ処理システムの略図である。
【図2】コネクタaによって接続されて、チェックポイント値がどのように設定されるかを決定するコンピュータ・プログラムの流れ図を形成する図である。
【図3】コネクタaによって接続されて、チェックポイント値がどのように設定されるかを決定するコンピュータ・プログラムの流れ図を形成する図である。
【図4】再試行するコマンドを決定する値の分析のためのコンピュータ・プログラムの流れ図である。
【図5】コネクタbによって接続されて、再試行が失敗したときにオペレーティング・システムに報告して返される一次CCW値を決定する値を分析するコンピュータ・プログラムの流れ図を形成するである。
【図6】コネクタbによって接続されて、再試行が失敗したときにオペレーティング・システムに報告して返される一次CCW値を決定する値を分析するコンピュータ・プログラムの流れ図を形成するである。
【符号の説明】
10 データ処理システム
12 中央処理ユニット
14 チャネル・サブシステム
16 リンク
18 制御ユニット
20 I/Oデバイス
22 チャネル・コマンド・ワード
24 バッファ
26 カストマ・ストーレッジ
a コネクタ
b コネクタ
Claims (28)
- フレーム・レベルでのマルチプレックス操作を可能とするプロトコルを使用したデータ処理システムで制御ユニットに接続されたチャネルの回復のためにチェックポイント指定する方法であって、
チャネル内で、様々なステージを通して複数のチャネル・コマンド・ワード(CCW)の進行をCCW番号でトラッキングするステップと、
いつエラーが起こり、操作がアボートされたかを検出するステップと、
エラーが生じた時に、トラッキングされたCCW番号に基づいて、どのCCWが再試行を試みるかを選択するステップとを含み、
前記CCW番号は、
所与のCCWに対する全ての読み取りデータが受け取られて、前記システムのストーレッジへの格納に成功した時、またはプログラム制御割込み(PCI)がオペレーティング・システムへ送り返された時に更新される最新完了(last−completed)CCW番号と、
所与のCCWに対する幾つかあるいは全ての読み取りデータが受け取られて、ストーレッジ・キューに置かれるか、または、PCIに対するコマンド応答(CMR)が受け取られて、ストーレッジ・キューに置かれたものの、データが格納されたこと、またはPCI割込み条件が生成されたことの確認がまだ行われていない時に更新される最新受取り(last−received)CCW番号と、
非ゼロ・バイト・カウントのREADまたはPCIのCCWが、コマンドを送ったものの応答においてリンクからまだ何も受け取っていない時点まで処理された時に更新される最新待受け(last−expected)CCW番号と、
いずれかのCCWが処理され、送り出された時に更新される最新割当て(last−assigned)CCW番号とを含む、
方法。 - 選択されたCCWが非ゼロ・バイト・カウントを有するReadである、または、選択されたCCWフラグがPCIを含むかのいずれかのとき、チャネルと制御ユニットの間にチェックポイントを確立するステップをさらに含む、請求項1に記載の方法。
- 最新完了(last−completed)CCW番号が最新待受け(last−expected)CCW番号と等しい最新受取り(last−received)CCW番号に等しい時、再試行すべきCCWを制御ユニットに選択させる、請求項1に記載の方法。
- 最新完了(last−completed)CCW番号が最新受取り(last−received)CCW番号に等しいが、最新受取り(last−received)CCW番号が最新待受け(last−expected)CCW番号と等しくない時、選択されたCCWは最新受取り(last−received)CCW番号である、請求項1に記載の方法。
- 最新完了(last−completed)CCW番号が最新受取り(last−received)CCW番号と等しくない時、選択された前記CCWは、
最新受取り(last−received)CCW番号に等しいものであるか、
または
最新完了(last−completed)CCW番号より大きいCCW番号であって、非ゼロ・バイト・カウントを有するReadである、もしくはPCIフラグをオンにしているかのいずれかであるCCW番号であるか、
のいずれかである、請求項1に記載の方法。 - 前記選択されたCCWを再試行するステップと、
前記選択されたCCWの再試行が不成功であった場合、チャネルがどのくらいまで前記データ処理システムのストーレッジの変更と、これへのアクセスを完了したかを示す一次CCWアドレスを決定するステップと、
前記データ処理システムの前記オペレーティング・システムに、前記一次CCWアドレスを報告するステップと
をさらに含む、請求項1に記載の方法。 - 最新完了(last−completed)CCW番号が、最新待受け(last−expected)CCW番号に等しい最新受取り(last−received)CCW番号に等しい時、オペレーティング・システムに報告される一次CCWアドレスが最新割当て(last−assigned)CCWのアドレスである、請求項6に記載の方法。
- 最新完了(last−completed)CCW番号が最新受取り(last−received)CCW番号に等しいが、最新受取り(last−received)CCW番号が最新待受け(last−expected)CCW番号に等しくない時、前記オペレーティング・システムに報告される前記一次CCWアドレスは、
最新待受け(last−expected)CCW番号直前のCCW番号のアドレスか、
最新受取り(last−received)CCW番号より大きく、かつ、非ゼロ・バイト・カウントを有するReadである、またはPCIフラグをオンにしているかのいずれかであるそのようなCCW番号の直前のCCW番号のアドレス
のいずれかである、請求項6に記載の方法。 - 最新完了(last−completed)CCW番号が最新受取り(last−received)CCW番号に等しくない時、前記オペレーティング・システムに報告する一次CCWアドレスは、
最新受取り(last−received)CCW番号のアドレスであるか、
最新完了(last−completed)CCW番号よりも大きく、かつ、非ゼロ・バイト・カウントを有するReadである、またはPCIフラグをオンにしているかのいずれかであるそのようなCCW番号の最初のものであるCCW番号のアドレス
のいずれかである、請求項6に記載の方法。 - 請求項1乃至9のいずれかに記載の方法をコンピュータに実行させるためのプログラムを記録したプログラム記録媒体。
- フレーム・レベルでのマルチプレックス操作を可能とするプロトコルを使用するデータ処理システムで制御ユニットに接続されたチャネルを回復するためのチェックポイント指定する装置であって、
前記チャネル内で、様々なステージを通して複数のチャネル・コマンド・ワード(CCW)の進行をCCW番号でトラッキングする手段と、
いつエラーが起こり、操作がアボートされたかを検出する手段と、
エラーが生じた時に、トラッキングされたCCW番号に基づいて、どのCCWが再試行を試みるかを選択する手段とを含み、
前記CCW番号は、
所与のCCWに対する全ての読み取りデータが受け取られて、前記システムのストーレッジへの格納に成功した時、またはプログラム制御割込み(PCI)がオペレーティング・システムへ送り返された時に更新される最新完了(last−completed)CCW番号と、
所与のCCWに対する幾つかあるいは全ての読み取りデータが受け取られて、ストーレッジ・キューに置かれるか、または、PCIに対するコマンド応答(CMR)が受け取られて、ストーレッジ・キューに置かれたものの、データが格納されたこと、またはPCI割込み条件が生成されたことの確認がまだ行われていない時に更新される最新受取り(last−received)CCW番号と、
非ゼロ・バイト・カウントのREADまたはPCIのCCWが、コマンドを送ったものの応答においてリンクからまだ何も受け取っていない時点まで処理された時に更新される最新待受け(last−expected)CCW番号と、
いずれかのCCWが処理され、送り出された時に更新される最新割当て(last−assigned)CCW番号とを含む、
装置。 - 選択されたCCWが非ゼロ・バイト・カウントを有するReadである、または選択されたCCWフラグがPCIを含むかのいずれかのとき、チャネルと制御ユニットとの間にチェックポイントを確立する手段をさらに含む、請求項11に記載の装置。
- 最新完了(last−completed)CCW番号が最新待受け(last−expected)CCW番号と等しい最新受取り(last−received)CCW番号に等しい時、再試行すべきCCWを制御ユニットに選択させる、請求項11に記載の装置。
- 最新完了(last−completed)CCW番号が最新受取り(last−received)CCW番号に等しいが、最新受取り(last−received)CCW番号が最新待受け(last−expected)CCW番号に等しくない時、前記選択されたCCWが最新受取り(last−received)CCW番号である、請求項11に記載の装置。
- 最新完了(last−completed)CCW番号が最新受取り(last−received)CCW番号に等しくない時、前記選択されたCCWは、
最新受取り(last−received)CCW番号に等しいものであるか、
または、
最新完了(last−completed)CCW番号より大きいCCW番号であって、非ゼロ・バイト・カウントを有するReadである、もしくはPCIフラグをオンにしているかのいずれかであるCCW番号であるか、
のいずれかである、請求項11に記載の装置。 - 前記選択されたCCWを再試行する手段と、
前記選択されたCCWの再試行が不成功な場合に、チャネルがどのくらいまで前記データ処理システムの変更と、これへのアクセスを完了したかを示す一次CCWアドレスを決定する手段と、
前記データ処理システムの前記オペレーティング・システムに前記一次CCWアドレスを報告する手段と
をさらに含む、請求項11に記載の装置。 - 最新完了(last−completed)CCW番号が、最新待受け(last−expected)CCW番号に等しい最新受取り(last−received)CCW番号に等しい時、前記オペレーティング・システムに報告する前記一次CCWアドレスが最新割当て(last−assigned)CCWのアドレスである、請求項16に記載の装置。
- 最新完了(last−completed)CCW番号が最新受取り(last−received)CCW番号と等しいが、最新受取り(last−received)CCW番号が最新待受け(last−expected)CCW番号に等しくない時、前記オペレーティング・システムに報告される前記一次CCWアドレスは、
最新待受け(last−expected)CCW番号直前のCCW番号のアドレスか、
最新受取り(last−received)CCW番号よりも大きく、かつ、非ゼロ・バイト・カウントを有するReadである、またはPCIフラグをオンにしているかのいずれかであるそのようなCCW番号の直前のCCW番号のアドレス
のいずれかである、請求項16に記載の装置。 - 最新完了(last−completed)CCW番号が最新受取り(last−received)CCW番号に等しくない時、前記オペレーティング・システムに報告する前記一次CCWアドレスは、
最新受取り(last−received)CCW番号のアドレスであるか、
最新完了(last−completed)CCW番号よりも大きく、かつ、非ゼロ・バイト・カウントを有するReadである、またはPCIフラグをオンにしているかのいずれかであるそのようなCCW番号の最初のものであるCCW番号のアドレス
のいずれかである、請求項16に記載の装置。 - データ処理システムと、
前記データ処理システムにおけるチャネルと、
フレーム・レベルにおいてマルチプレックス操作を可能とするプロトコルを使用した前記チャネルに接続される制御ユニットと、
コンピュータ読取り可能プログラム・コードを記憶したメモリとを含み、
前記コンピュータ読取り可能プログラム・コードは前記データ処理システムを、
前記チャネル内で、様々なステージを通して複数のチャネル・コマンド・ワード(CCW)の進行をCCW番号でトラッキングする手段、
いつエラーが起こり、操作がアボートされたかを決定する手段、及び
エラーが生じた時に、トラッキングされたCCW番号に基づいて、どのCCWが再試行を試みるかを選択する手段として機能させ、
前記CCW番号は、
所与のCCWに対する全ての読み取りデータが受け取られて、前記システムのストーレッジへの格納に成功した時、またはプログラム制御割込み(PCI)がオペレーティング・システムへ送り返された時に更新される最新完了(last−completed)CCW番号と、
所与のCCWに対する幾つかあるいは全ての読み取りデータが受け取られて、ストーレッジ・キューに置かれるか、または、PCIに対するコマンド応答(CMR)が受け取られて、ストーレッジ・キューに置かれたものの、データが格納されたこと、またはPCI割込み条件が生成されたことの確認がまだ行われていない時に更新される最新受取り(last−received)CCW番号と、
非ゼロ・バイト・カウントのREADまたはPCIのCCWが、コマンドを送ったものの応答においてリンクからまだ何も受け取っていない時点まで処理された時に更新される最新待受け(last−expected)CCW番号と、
いずれかのCCWが処理され、送り出された時に更新される最新割当て(last−assigned)CCW番号とを含む、
装置。 - 前記コンピュータ読取り可能プログラム・コードはさらに前記データ処理システムを、選択されたCCWが非ゼロ・バイト・カウントを有するReadである、または選択されたCCWフラグがPCIを含むかのいずれかのとき、チャネルと制御ユニットとの間にチェックポイントを確立する手段として機能させる、請求項20に記載の装置。
- 前記コンピュータ読取り可能プログラム・コードはさらに前記データ処理システムを、最新完了(last−completed)CCW番号が最新待受けCCW番号と等しい最新受取り(last−received)CCW番号に等しい時、再試行すべきCCWを制御ユニットに選択させる手段として機能させる、請求項20に記載の装置。
- 前記コンピュータ読取り可能プログラム・コードはさらに前記データ処理システムを、最新完了(last−completed)CCW番号が最新受取り(last−received)CCW番号と等しいが、最新受取り(last−received)CCW番号が最新待受け(last−expected)CCW番号と等しくない時、最新待受け(last−expected)CCW番号となるCCWを選択する手段として機能させる、請求項20に記載の装置。。
- 前記コンピュータ読取り可能プログラム・コードはさらに前記データ処理システムを、
最新完了(last−completed)CCW番号が最新受取り(last−received)CCW番号と等しくない時、
最新受取り(last−received)CCW番号に等しい、
または、
最新完了(last−completed)CCW番号より大きいCCW番号であって、非ゼロ・バイト・カウントを有するReadである、またはPCIフラグをオンにしているかのいずれかであるCCW番号であるか、
のいずれかであるCCWを選択する手段として機能させる、請求項20に記載の装置。 - 前記コンピュータ読取り可能プログラム・コードはさらに前記データ処理システムを、
前記選択されたCCWを再試行する手段、
前記選択されたCCWの再試行が不成功な場合に、チャネルがどのくらいまで前記データ処理システムのストーレッジの変更と、これへのアクセスを完了したかを示す一次CCWアドレスを決定する手段、及び
前記データ処理システムの前記オペレーティング・システムに前記一次CCWアドレスを報告する手段
として機能させる、請求項20に記載の装置。 - 前記コンピュータ読取り可能プログラム・コードはさらに前記データ処理システムを、最新完了(last−completed)CCW番号が、最新待受け(last−expected)CCW番号に等しい最新受取り(last−received)CCW番号に等しい時、最新割当て(last−assigned)CCW番号のアドレスとなる、前記オぺレーティング・システムに報告される前記一次CCWアドレスを選択する手段として機能させる、請求項25に記載の装置。
- 前記コンピュータ読取り可能プログラム・コードはさらに前記データ処理システムを、
最新完了(last−completed)CCW番号が最新受取り(last−received)CCW番号に等しいが、最新受取り(last−received)CCW番号が最新待受け(last−expected)CCW番号に等しくない時、
最新待受け(last−expected)CCW番号直前のCCW番号のアドレスか、
最新受取り(last−received)CCW番号より大きく、かつ、非ゼロ・バイト・カウントを有するReadである、またはPCIフラグをオンにしているかのいずれかであるそのようなCCWの直前のCCW番号のアドレス
のいずれかである、前記オペレーティング・システムに報告する前記一次CCWアドレスを選択する手段として機能させる、請求項25に記載の装置。 - 前記コンピュータ読取り可能プログラム・コードはさらに前記データ処理システムを、
最新完了(last−completed)CCW番号が最新受取り(last−received)CCW番号に等しくない時、
最新受取り(last−received)CCW番号のアドレスであるか、
最新完了(last−completed)CCW番号よりも大きく、非ゼロ・バイト・カウントを有するReadである、またはPCIフラグをオンにしているかのいずれかであるそのようなCCW番号の最初のものであるCCW番号のアドレス
のいずれかである前記オペレーティング・システムに報告する前記一次CCWアドレスを選択する手段として機能させる、請求項25に記載の装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/583,670 US6687853B1 (en) | 2000-05-31 | 2000-05-31 | Checkpointing for recovery of channels in a data processing system |
US09/583670 | 2000-05-31 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002024102A JP2002024102A (ja) | 2002-01-25 |
JP3683831B2 true JP3683831B2 (ja) | 2005-08-17 |
Family
ID=24334104
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001160196A Expired - Lifetime JP3683831B2 (ja) | 2000-05-31 | 2001-05-29 | データ処理システムにおけるチャネル回復のためのチェックポイント指定方法、装置およびプログラム記録媒体 |
Country Status (4)
Country | Link |
---|---|
US (1) | US6687853B1 (ja) |
JP (1) | JP3683831B2 (ja) |
KR (1) | KR100444092B1 (ja) |
TW (1) | TW589525B (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7478278B2 (en) * | 2005-04-14 | 2009-01-13 | International Business Machines Corporation | Template based parallel checkpointing in a massively parallel computer system |
US7613846B2 (en) * | 2007-08-30 | 2009-11-03 | International Business Machines Corporation | System for generating a data logout in a computing environment |
US7600056B2 (en) | 2007-08-30 | 2009-10-06 | International Business Machines Corporation | Method for generating a data logout in a computing environment |
US8850262B2 (en) * | 2010-10-12 | 2014-09-30 | International Business Machines Corporation | Inter-processor failure detection and recovery |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3688274A (en) * | 1970-12-23 | 1972-08-29 | Ibm | Command retry control by peripheral devices |
US3736566A (en) * | 1971-08-18 | 1973-05-29 | Ibm | Central processing unit with hardware controlled checkpoint and retry facilities |
JPS60142418A (ja) * | 1983-12-28 | 1985-07-27 | Hitachi Ltd | 入出力エラ−回復方式 |
US4912707A (en) * | 1988-08-23 | 1990-03-27 | International Business Machines Corporation | Checkpoint retry mechanism |
US5392425A (en) | 1991-08-30 | 1995-02-21 | International Business Machines Corporation | Channel-initiated retry and unit check for peripheral devices |
US6035424A (en) * | 1996-12-09 | 2000-03-07 | International Business Machines Corporation | Method and apparatus for tracking processing of a command |
KR20010037622A (ko) * | 1999-10-19 | 2001-05-15 | 정선종 | 분산 시스템에서 메모리 체크포인트를 이용한 독립 체크포인팅 방법 |
-
2000
- 2000-05-31 US US09/583,670 patent/US6687853B1/en not_active Expired - Lifetime
-
2001
- 2001-05-14 TW TW090111449A patent/TW589525B/zh not_active IP Right Cessation
- 2001-05-16 KR KR10-2001-0026712A patent/KR100444092B1/ko active IP Right Grant
- 2001-05-29 JP JP2001160196A patent/JP3683831B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JP2002024102A (ja) | 2002-01-25 |
KR100444092B1 (ko) | 2004-08-11 |
TW589525B (en) | 2004-06-01 |
US6687853B1 (en) | 2004-02-03 |
KR20010110100A (ko) | 2001-12-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7350114B2 (en) | Mechanism for enabling enhanced fibre channel error recovery across redundant paths using SCSI level commands | |
US5528755A (en) | Invalid data detection, recording and nullification | |
US6983353B2 (en) | Method and apparatus for enhancing operations in disk array storage devices | |
EP0682313A1 (en) | System and procedure for detection of a fault in a chained series of control blocks | |
US20080109576A1 (en) | Data Transfer Apparatus, Storage Device Control Apparatus and Control Method Using Storage Device Control Apparatus | |
JP2002149499A (ja) | データの完全性を備えるリモートコピーシステム | |
JP5932947B2 (ja) | ホスト及びシステム | |
JP2006139478A (ja) | ディスクアレイシステム | |
US7069305B2 (en) | Computer system and a data transfer method thereof using remote direct memory access | |
US7143206B2 (en) | Method for controlling data transfer unit having channel control unit, storage device control unit, and DMA processor | |
JP2002244933A (ja) | チェックサムを異なるメモリ位置へ動的に移動させるシステムおよび方法 | |
JP3683831B2 (ja) | データ処理システムにおけるチャネル回復のためのチェックポイント指定方法、装置およびプログラム記録媒体 | |
JP3139548B2 (ja) | エラーリトライ方法、エラーリトライシステム及びその記録媒体 | |
JP2005165619A (ja) | データ転送装置の制御方法、データ転送装置、記憶デバイス制御装置、記憶デバイス制御装置の制御方法、及びチャネルアダプタ。 | |
JP2006031335A (ja) | 情報処理システム及び方法 | |
JPS61278958A (ja) | データ転送装置 | |
US8289838B2 (en) | Data transfer in a messaging system | |
US7934067B2 (en) | Data update history storage apparatus and data update history storage method | |
JP3964629B2 (ja) | ディスクアレイ装置のパトロールによるデータパス異常検出方法及びディスクアレイ装置を備えたコンピュータシステム | |
US20060005073A1 (en) | Data integrity checking in data storage devices | |
JPH0713833A (ja) | 順編成ファイル処理方式 | |
JPH07219796A (ja) | 情報処理装置 | |
JP2919457B1 (ja) | 二重化装置i/o制御方式およびそのプログラム記録媒体 | |
JPH10247157A (ja) | トランザクション処理システムおよびそのリカバリ方法 | |
JPH11212917A (ja) | トランザクションリカバリ方式およびそのプログラム記録媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20040304 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040420 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20040713 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20040716 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20041020 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050315 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050330 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20050510 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050526 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 3683831 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080603 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090603 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100603 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110603 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110603 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120603 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120603 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130603 Year of fee payment: 8 |
|
EXPY | Cancellation because of completion of term |