(57)【特許請求の範囲】
【請求項１】
中央処理装置または入出力処理／制御装置を複数個具備し，これらの装置間通信命令を処理する情報処理装置における記憶制御装置において，
上記通信命令の処理要求を受け付け，その処理を実行中であることを示すフラグと，上記通信命令の発行元装置に対し，処理の開始を許可するＡＣＫコードを生成し返送する状態であることを示すフラグと，上記ＡＣＫコードを生成し返送した後，上記発行元装置から要求されたデータを宛先装置に転送する状態であることを示すフラグと，上記データを宛先装置に転送した後，宛先装置側からの返送コードの待ち状態であることを示すフラグとを少なくとも含むフローフラグによって，該通信命令における各処理フローの状態を管理し，状態の遷移に従って該通信命令の処理を実行する手段と，
少なくとも上記宛先装置側からの返送コードの待ち状態であることを示すフラグが有効な状態において，所定の時間が経過しても返送コードが到着しない場合に，監視タイマーによりタイムアウトを検出する手段と，
上記タイムアウトを検出した場合に，該通信命令の処理が正常に完了しなかったことを報告する返送コードを生成し，該通信命令の発行元装置へ送信する手段とを備えた
ことを特徴とする記憶制御装置。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は，クラスタ内通信を行う計算機システムにおける記憶制御装置に関するものである。
【０００２】
近年のシステムの多重化要求に伴い，システムについての信頼性向上，処理能力の向上，および物量削減が要求されている。
このため，障害による誤動作防止および処理中断による処理能力低下の回避，ならびに物量削減による資源の有効利用が必要とされている。
【０００３】
【従来の技術】
図８は本発明を適用するシステムの概略図である。図８において，８１は記憶制御装置（ＭＣＵ），８２は中央処理装置（ＣＰＵ），８３は入出力処理／制御装置（ＣＨＰ），８４はシステム記憶装置（ＳＳＵ）を表す。クラスタ８０は，記憶装置（ＭＣＵ）８１と，複数個の中央処理装置（ＣＰＵ）８２および入出力処理／制御装置（ＣＨＰ）８３とから構成され，この通信命令制御システム全体は，複数個のクラスタ８０とシステム記憶装置（ＳＳＵ）８４とから構成される。
【０００４】
〔従来のクラスタ内通信命令処理〕
図９は，一般的なクラスタ内通信命令処理フローの例を示したものである。図９において，９０はクラスタｘ，９１は記憶制御装置（ＭＣＵ），９２は発行元装置，９３は宛先装置を表す。発行元装置９２，宛先装置９３は，それぞれＣＰＵｘまたはＩＯＰｘ（ＣＨＰｘ）等からなる。なお，ＩＯＰは入出力プロセッサ，ＣＨＰはチャネルプロセッサであり，これらはシステムによって使い分けられるが，本発明では同様なものと考えてよく，ここでは入出力処理／制御装置という。
【０００５】
図１０は，クラスタ内通信命令処理を行う従来方式の記憶制御装置（ＭＣＵ）９１の実施例回路である。記憶制御装置９１は，クラスタ内通信命令の処理のために，選択回路１０１，１０２，リクエストコード解析回路１０３，通信命令の処理時間を監視するタイマー１０４，ＡＣＫコード生成回路１０５を備える。
【０００６】
以下では，ＣＰＵ０からＣＰＵｎへの通信命令処理について，図９，図１０を用いて説明する（発行元装置および宛先装置がどのような装置であろうとこの通信命令処理は同様である）。
【０００７】
各装置（ＣＰＵｘ／ＣＨＰｘ）から送出された通信命令処理要求（ＰＲＩＯ＿ＲＥＱ）は，ＣＰＵｘ／ＣＨＰｘ＿ＤＡＴＡ＿ＢＵＳ＿ＩＮにより記憶制御装置９１に入力され，その通信命令処理要求の優先順位が選択回路１０１により決定される。ここではＣＰＵ０の要求が選択されたとする。優先順位に従って選択された発行元装置９２（ＣＰＵ０）に対し，記憶制御装置９１は，その通信命令処理要求が受け付けられたことを示す信号（ＰＲＩＯ＿ＡＣＫ）をＡＣＫコード生成回路１０５により生成し，ＣＰＵ０＿ＤＡＴＡ＿ＢＵＳ＿ＯＵＴにより送出する。これを受けた発行元装置９２は通信命令（ＲＥＱ＿ＤＡＴＡ）をＣＰＵ０＿ＤＡＴＡ＿ＢＵＳ＿ＩＮにより記憶制御装置９１に送出する。
【０００８】
この通信命令を受けた記憶制御装置９１は，リクエストコード解析回路１０３により命令を解析し，宛先装置９３を認識して選択回路１０２を制御し，その通信命令（ＲＥＱ＿ＤＡＴＡ）をＣＰＵｎ＿ＤＡＴＡ＿ＢＵＳ＿ＯＵＴにより宛先装置９３に送出する。
【０００９】
これを受けた宛先装置９３（ＣＰＵｎ）では，通信命令を解析実行し，この通信命令の実行結果を示す信号（ＳＴＡ＿ＤＡＴＡ）をＣＰＵｎ＿ＤＡＴＡ＿ＢＵＳ＿ＩＮにより記憶制御装置９１に送出する。
【００１０】
さらに，これを受けた記憶制御装置９１は，リクエストコード解析回路１０３により，選択回路１０１，１０２を制御し，受信したＳＴＡ＿ＤＡＴＡをＣＰＵ０＿ＤＡＴＡ＿ＢＵＳ＿ＯＵＴにより発行元装置９２に送出する。これにより通信命令は完了し，後続の処理要求の実行が同様の処理で開始される。
【００１１】
以上の従来方式によるクラスタ内通信命令処理のタイムチャートを，図１３に示す。
従来方式において，記憶制御装置９１は，上記に示すよう各装置間の処理要求の優先順位を決定し，選択された発行元装置９２に対しＲＥＱ＿ＤＡＴＡの転送を許可するＡＣＫコードを転送し，発行元装置９２から送出されるＲＥＱ＿ＤＡＴＡを指定された宛先装置９３に転送し，宛先装置９３から転送されるＳＴＡ＿ＤＡＴＡを発行元装置９２に転送し，通信命令処理時間をタイマー１０４を起動して監視していた。
【００１２】
しかし，この通信命令処理における処理フローの監視は行っておらず，リクエストコード解析回路１０３による解析結果により，すべての処理フローを起動している。また，この通信命令処理時間が通常処理時間を大幅に上回る場合には，タイマー１０４によりタイムアウトを検出し，タイムアウトとなった通信命令処理を記憶制御装置９１内で強制終了させ，後続の通信命令の処理を可能とするための処理を開始している。この場合，記憶制御装置９１には発行元装置９２に対して通信命令の強制終了を報告する手段を有していないため，発行元装置９２ではこの通信命令処理の終了が認識できず，発行元装置９２でのタイムアウトを検出するまで後続の通信命令を処理することができなかった。
【００１３】
〔従来のクラスタ間通信命令処理〕
図１１は，クラスタ間通信命令処理フローを示したものである。図１１において，９０は発行元クラスタｘ，９０’は宛先クラスタｙ，９１，９１’は記憶制御装置（ＭＣＵ），９２は発行元装置（ＣＰＵｘ），９４はシステム記憶装置（ＳＳＵ）を表す。
【００１４】
図１２は，クラスタ間通信命令（ＧＳＩＧＰ命令）処理を行う従来方式の実施例回路である。記憶制御装置９１は，クラスタ間通信命令を処理するために，選択回路１０１，１０２，リクエストコード解析回路１０３，通信命令の処理時間を監視するタイマー１０４，ＡＣＫコード生成回路１０５，ＧＳＩＧＰ制御回路１０６を備える。また，クラスタとシステム記憶装置（ＳＳＵ）間のデータバスの転送制御のためのムーバ（ＭＯＶＥＲ）１０７を備える。
【００１５】
以下では，クラスタｘからクラスタｙへのクラスタ間通信命令（ＧＳＩＧＰ命令）処理について，図１１および図１２を用いて説明する。発行元クラスタおよび宛先クラスタがどのようなクラスタであろうとこの通信命令処理は同様である。
【００１６】
各装置（ＣＰＵｘ）から送出された各通信命令処理要求（ＰＲＩＯ＿ＲＥＱ）は，ＣＰＵｘ＿ＤＡＴＡ＿ＢＵＳ＿ＩＮにより記憶制御装置９１に入力され，通信命令処理要求の優先順位が選択回路１０１により決定される。優先順位に従って選択されたクラスタ間通信命令処理要求は，クラスタ間通信命令制御を行うＧＳＩＧＰ制御回路１０６に送出され，システム記憶装置（ＳＳＵ）９４に対するこの通信命令処理要求（ＳＳＵ＿ＰＲＩＯ＿ＲＥＱ）はＧＳＩＧＰ＿ＢＵＳ＿ＯＵＴによりシステム記憶装置９４に送出される。
【００１７】
システム記憶装置９４では，クラスタ間での通信命令処理要求の優先順位が決定され，これにより選択された発行元クラスタｘ９０に対し，システム記憶装置９４はその通信命令処理要求が受け付けられたことを示す信号（ＳＳＵ＿ＰＲＩＯ＿ＡＣＫ）をＧＳＩＧＰ＿ＢＵＳ＿ＩＮにより発行元クラスタｘ９０のＧＳＩＧＰ制御回路１０６に送出する。
【００１８】
これにより，ＧＳＩＧＰ制御回路１０６は，発行元装置９２に対し通信命令処理要求が受け付けられたことを示す信号（ＰＲＩＯ＿ＡＣＫ）をＡＣＫコード生成回路１０５により生成し，ＣＰＵｘ＿ＤＡＴＡ＿ＢＵＳ＿ＯＵＴにより送出する。
【００１９】
これを受けた発行元装置９２は，通信命令（ＲＥＱ＿ＤＡＴＡ）をＣＰＵｘ＿ＤＡＴＡ＿ＢＵＳ＿ＩＮにより送出し，これを受けたＧＳＩＧＰ制御回路１０６は，このＲＥＱ＿ＤＡＴＡをＧＳＩＧＰ＿ＢＵＳ＿ＯＵＴによりシステム記憶装置９４へ送出し，さらに，これを受けたシステム記憶装置９４は宛先クラスタｙ９０’に対しこのＲＥＱ＿ＤＡＴＡをＧＳＩＧＰ＿ＢＵＳ＿ＩＮにより送出する。宛先クラスタｙ９０’では，通信命令の実行結果を示す信号（ＳＴＡ＿ＤＡＴＡ）をＧＳＩＧＰ＿ＢＵＳ＿ＯＵＴによりシステム記憶装置９４へ送出し，これを受けたシステム記憶装置９４は発行元クラスタｘ９０にこのＳＴＡ＿ＤＡＴＡをＧＳＩＧＰ＿ＢＵＳ＿ＩＮにより送出し，ＧＳＩＧＰ制御回路１０６は，発行元装置９２にＳＴＡ＿ＤＡＴＡを送出する。これにより通信命令は完了し，後続の処理要求の実行が同様の処理で開始される。
【００２０】
以上の従来方式によるクラスタ間通信命令処理のタイムチャートを，図１４に示す。
この従来方式においては，クラスタ間通信命令処理において，記憶制御装置９１では，図１２に示すようにクラスタとシステム記憶装置９４間のデータ転送用バスとは別に，クラスタ間通信命令処理専用のバスを具備し，リクエストコード解析回路１０３によりこの通信命令が認識された場合，あるいはこの通信命令により宛先クラスタとして指定された場合に，ＧＳＩＧＰ制御回路１０６を起動し，通信命令処理専用のバスにより，各クラスタ間でのデータ転送を行っている。
【００２１】
ただし，ここで各クラスタから送出されるクラスタ間通信命令処理要求は，システム記憶装置９４において各クラスタ間でその優先順位が決定され，順次，通信命令処理が実行されるため，この優先権が与えられるまではクラスタ間通信命令処理専用のバスにより送出されるのは通信命令処理要求のみである。つまり，優先権が与えられた発行元クラスタｘ９０とクラスタ間通信命令により宛先として指定された宛先クラスタｙ９０’のみがこの通信命令処理要求を送受することができ，発行元クラスタｘ９０からＲＥＱ＿ＤＡＴＡを通信命令処理専用バスによりシステム記憶装置９４へ送出し，システム記憶装置９４からこのＲＥＱ＿ＤＡＴＡを通信命令処理専用バスにより宛先クラスタｙ９０’へ送出し，宛先クラスタｙ９０’からＳＴＡ＿ＤＡＴＡを通信命令処理専用バスによりシステム記憶装置９４へ送出し，システム記憶装置９４からこのＳＴＡ＿ＤＡＴＡを通信命令処理専用バスにより発行元クラスタｘ９０へ送出している。
【００２２】
図８に示すＮ個のクラスタ間においてクラスタ間通信命令が処理される場合，少なくとも（Ｎ−２）個のクラスタは，この通信命令処理要求が保留されており，この間，通信命令処理専用バスは充分に有効な活用がされている状態ではない。
【００２３】
【発明が解決しようとする課題】
(1) クラスタ内通信命令において，従来，通信命令の処理フローはリクエストコード解析回路１０３の解析結果により制御されており，この通信命令の処理フローを監視する手段を有していないため，通信命令処理フローの逐次性の保障がなく誤動作を抑止できない問題が生じていた。
【００２４】
また，図１３の従来方式によるクラスタ内通信命令処理のタイムチャートに示すように，クラスタ内通信命令処理を記憶制御装置９１内にて強制終了（タイムアウト処理：図１３の(69)）させた場合に，発行元装置９２にその強制終了の報告手段を有していないため，この通信命令の記憶制御装置９１内における強制終了により，発行元装置９２においては記憶制御装置９１内で使用するサイクルタイムの数百倍のサイクルタイムでの強制終了（タイムアウト処理：図１３の(70)）を行うまで，後続の通信命令（図１３の(71)）を処理できない問題が生じていた。
【００２５】
本発明は上記問題点の解決を図り，誤動作の抑止，および記憶制御装置９１内にて強制終了された通信命令の後に続く通信命令について迅速かつ確実な処理を可能にすることを目的とする。
【００２６】
(2) また，クラスタ間通信命令において，Ｎ個のクラスタそれぞれに通信命令処理専用バスを具備し，クラスタ間通信命令を処理する場合，同時期に複数の通信命令を処理することはなく，実際には通信命令処理における発行元クラスタおよび宛先クラスタのみが通信命令処理専用バスにより各種データの授受を行っている。従って，残る少なくとも（Ｎ−２）個のクラスタの通信命令処理専用バスは充分に有効な活用がされない問題が生じていた。
【００２７】
本発明に関連する発明は，さらにこれらの問題点の解決を図り，クラスタ間通信命令によるデータ転送と他のデータ転送とを同じバスを用いて行い，上記有効活用されていない通信命令処理専用バスを削減し，共用バス使用による各種データ転送時のバス確保，クラスタ間通信命令処理におけるデータ転送の効率化，ならびにこの通信命令処理におけるデータ転送のリトライを可能とすることを目的とする。
【００２８】
【課題を解決するための手段】
本発明は，上記問題を解決するために，図１に示すような以下の手段を有する。記憶制御装置（ＭＣＵ）１には，複数の中央処理装置（ＣＰＵ）２および入出力処理／制御装置（ＣＨＰ：channel processor)３が接続される。記憶制御装置１は，これらの間の通信命令を制御する。また，図１（Ａ）に示す構成単位を１つのクラスタとして，これらがシステム記憶装置（ＳＳＵ）４に接続される。
【００２９】
図１（Ａ）において，記憶制御装置（ＭＣＵ）１は，状態管理手段１１，コード生成手段１２を備える。
状態管理手段１１は，装置間通信命令を処理する場合に，その通信命令における各処理フローの状態を認識する手段である。本発明では，状態管理手段１１により装置間通信命令の各処理フローの状態を認識し，この通信命令の処理フローに応じた動作を適宜に行い，誤動作を抑止する。
【００３０】
コード生成手段１２は，装置間通信命令の実行を中断された場合に，その命令における処理を完了させるための返送コードを生成する手段である。本発明では，コード生成手段１２により，中断された装置間通信命令を放置することなく，正常な処理が完了されなかったことを報告するとともに，その通信命令の処理を終了させ，後続の通信命令の処理を迅速かつ確実に行う。
【００３１】
図１（Ｂ）において，記憶制御装置（ＭＣＵ）１は，状態管理手段１１，共用バス確保制御手段１３，データ転送有効認識手段１４，データ転送終了認識手段１５，転送データ記憶手段１６を備える。クラスタ間通信命令を処理するための通信命令処理用のバスと他のデータ転送用のバスとは，共用バスとして共用されるように構成されている。
【００３２】
状態管理手段１１は，クラスタ間通信命令を処理する場合に，その通信命令における各処理フローの状態を認識する手段である。
共用バス確保制御手段１３は，クラスタ間通信命令を処理する場合に，その通信命令処理専用のバスを設けることなく他のデータ転送とのバスの共用を図るため，その命令処理のための共用バス確保を制御する手段である。
【００３３】
データ転送有効認識手段１４は，クラスタ間通信命令を処理する場合に，そのデータ転送処理の有効性を認識する手段である。データ転送終了認識手段１５は，クラスタ間通信命令を処理する場合に，その通信命令の各処理フローにおけるシステム記憶装置４へのデータ転送処理の終了を認識する手段である。転送データ記憶手段１６は，クラスタ間通信命令を処理する場合に，転送データを保持する手段である。
【００３４】
本発明に関連する発明では，共用バス確保制御手段１３を設け，クラスタ間通信命令処理専用のバスを設けることなく，他のデータ転送とのバスの共用を図ることにより，物量の削減およびデータ転送の効率化を可能とする。
【００３５】
また，本発明に関連する発明では，データ転送有効認識手段１４，データ転送終了認識手段１５を設け，データ転送終了時にそのデータ転送が有効でなかった場合には，クラスタ間通信命令の処理のためのバス確保の継続を制御し，データ転送の効率化を可能とする。
【００３６】
また，本発明に関連する発明では，状態管理手段１１，転送データ記憶手段１６を設け，転送に失敗したデータを再度転送し，クラスタ間通信命令の処理の中断を抑止する。
【００３７】
【作用】
▲１▼  クラスタ内通信命令において，上記手段を用い通信命令の処理フローの逐次性を保障して誤動作を抑止し，タイムアウト処理により強制終了させた通信命令の完了を発行元装置に認識させ，後続の通信命令の処理を迅速かつ確実に処理可能とする。
【００３８】
▲２▼  クラスタ間通信命令において，上記手段を用いることにより，バスの共用化を図り，この通信命令のデータ転送のためのバス確保および制御，ならびにデータ転送のリトライを可能とする。
【００３９】
【実施例】
〔本発明の実施例〕
図２は，本発明の実施例による記憶制御装置の構成を示し，図中，２０，２１は選択回路，２２はリクエストコード解析回路，２３はタイマー，２４はフローフラグ，２５はＡＣＫコード生成回路，２６はＳＴＡコード生成回路を表す。
【００４０】
図２に示すフローフラグ２４は，通信命令の処理フローを示す数ビットのフラグコードであり，通信命令における処理フローの逐次性を保障するものである。また，ＳＴＡコード生成回路２６は，記憶制御装置１内で強制終了（タイムアウト処理）させた通信命令を発行元装置に報告するための返送コード等を生成する回路である。
【００４１】
図３は，本発明の実施例によるクラスタ内（装置間）通信命令処理のタイムチャートである。図３に示す(1) から(11)の処理はＣＰＵ０からＣＰＵｎへのクラスタ内通信命令処理，(12)から(19)の処理は後続するＣＰＵ０からＣＰＵｎへのクラスタ内通信命令処理を表す。
【００４２】
以下では，図２および図３を用い，クラスタ内通信命令処理について，ＣＰＵ０−ＣＰＵｎ間の通信命令を例にとり説明を行うが，他のクラスタ内（装置間）通信命令においても同様である。また，特に説明を簡明にするために従来方式との相違点のみを詳細に以下に記す。
【００４３】
各装置（ＣＰＵｘ／ＣＨＰｘ）から送出された通信命令処理要求ＰＲＩＯ＿ＲＥＱ［図３の(1) および(12)］は，選択回路２０により優先順位が決定されて選択される。リクエストコード解析回路２２により，通信命令処理要求ＰＲＩＯ＿ＲＥＱが認識されると，発行元装置（ＣＰＵ０）に対しＡＣＫコードを返送する［図３の(2) ］とともに，フローフラグ２４をＲＥＱ＿ＤＡＴＡ待ち状態とする。
【００４４】
ＡＣＫコードを受信した発行元装置（ＣＰＵ０）からＲＥＱ＿ＤＡＴＡが送出され［図３の(3) ］，これがリクエストコード解析回路２２により認識されると，宛先装置（ＣＰＵｎ）にそのＲＥＱ＿ＤＡＴＡを送出する［図３の(4),(5) ］とともに，フローフラグ２４をＳＴＡ＿ＤＡＴＡ待ち状態とする。これにより，通信命令処理フローの逐次性を保障する。つまり，フローフラグ２４が示す待ち状態にふさわしくないデータは無視し，何の処理も行わない。これにより誤動作を抑止する。
【００４５】
また，正常な処理フローで一定時間内に各種データの授受［図３の(6) 〜(8) ］が行われないと，図３のタイムチャートに示すように，記憶制御装置１内では通信命令処理時間監視タイマー２３によりタイムアウトを検出し［図３の(9) ］，タイムアウト処理により通信命令が終了したことを示すＳＴＡ＿ＤＡＴＡをＳＴＡコード生成回路２６により生成し［図３の(10)］，発行元装置（ＣＰＵ０）に返送し［図３の(11)］，通信命令を完了させる［図３の(13)］。つまり，上記誤動作抑止により中断された通信命令，あるいは何らかの障害によりデータの授受が中断された通信命令を正常な処理フローに適合するように完了させ，後続の通信命令処理［図３の(12)〜(19)］を迅速かつ確実に行うことを可能とする。
【００４６】
図４は，フローフラグ２４の例を示す図である。図４において，ステート・フラグ▲１▼〜▲４▼はクラスタ内通信命令のフローフラグ２４であり，さらにステート・フラグ▲１▼〜▲４▼にステート・フラグ▲５▼〜▲８▼を加えたものが，後述する図５に示すクラスタ間通信命令のフローフラグ２４である。なお，このフローフラグの構成は一例であり，本発明はこれに限られるわけではない。
【００４７】
ＰＲＩＯ＿ＢＵＳＹステート・フラグ▲１▼は，ＣＰＵｘ／ＣＨＰｘ（またはＩＯＰｘ）のうちいずれかのＰＲＩＯ＿ＲＥＱを受け付け，処理を実行中であることを示すフラグである。
【００４８】
ＰＲＩＯ＿ＡＣＫステート・フラグ▲２▼は，ＰＲＩＯ＿ＲＥＱを受け付けた発行元装置に対し，処理の開始を許可するＡＣＫコードを生成し返送するステートであることを示すフラグである。
【００４９】
ＲＥＱ＿ＤＡＴＡステート・フラグ▲３▼は，ＰＲＩＯ＿ＡＣＫステート・フラグ▲２▼が示すステートから遷移したステートである。ＡＣＫコードを返送された発行元装置からのＲＥＱ＿ＤＡＴＡのみを受け付け，ＲＥＱ＿ＤＡＴＡの解析を行い，それに応じた処理を開始する。このとき，このフラグ▲３▼は，ＲＥＱ＿ＤＡＴＡがクラスタ内通信命令である場合には，宛先装置にＲＥＱ＿ＤＡＴＡを転送するステートであることを示す。
【００５０】
また，ＲＥＱ＿ＤＡＴＡがクラスタ間通信命令である場合には，システム記憶装置４に対し，ＳＳＵ＿ＰＲＩＯ＿ＲＥＱを送出し，さらにＳＳＵ＿ＰＲＩＯ＿ＡＣＫ＿ＷＡＩＴステート・フラグ▲５▼，ＳＳＵ＿ＰＲＩＯ＿ＡＣＫ＿ＲＣＶステート・フラグ▲６▼のフローフラグを保持する。
【００５１】
ＳＳＵ＿ＰＲＩＯ＿ＡＣＫ＿ＷＡＩＴステート・フラグ▲５▼は，システム記憶装置４からのＳＳＵ＿ＰＲＩＯ＿ＡＣＫによる，ＲＥＱ＿ＤＡＴＡのシステム記憶装置４への転送の許可を待つステートであることを示すフラグである。
【００５２】
ＳＳＵ＿ＰＲＩＯ＿ＡＣＫ＿ＲＣＶステート・フラグ▲６▼は，システム記憶装置４からのＳＳＵ＿ＰＲＩＯ＿ＡＣＫを受け付け，ＲＥＱ＿ＤＡＴＡをシステム記憶装置４へ転送するステートであることを示すフラグである。
【００５３】
ＳＴＡ＿ＤＡＴＡステート・フラグ▲４▼は，ＲＥＱ＿ＤＡＴＡステート・フラグ▲３▼が示すステートから遷移したステートであり，宛先装置またはシステム記憶装置（ＳＳＵ）４からのＳＴＡ＿ＤＡＴＡのみを受け付け，そのＳＴＡ＿ＤＡＴＡを発行元装置に返送するステートであることを示すフラグである。
【００５４】
また，クラスタ通信命令である場合には，さらに以下に述べるＳＴＡ＿ＤＡＴＡ＿ＷＡＩＴステート・フラグ▲７▼，ＳＴＡ＿ＤＡＴＡ＿ＲＣＶステート・フラグ▲８▼のフローフラグを保持する。
【００５５】
ＳＴＡ＿ＤＡＴＡ＿ＷＡＩＴステート・フラグ▲７▼は，システム記憶装置４からのＳＴＡ＿ＤＡＴＡの転送を待つステートであることを示すフラグである。
ＳＴＡ＿ＤＡＴＡ＿ＲＣＶステート・フラグ▲８▼は，システム記憶装置４からのＳＴＡ＿ＤＡＴＡを受け付け，ＳＴＡ＿ＤＡＴＡを発行元装置に転送するステートであることを示すフラグである。
【００５６】
以上のように，本発明の実施例では，クラスタ内通信命令を制御する記憶制御装置１を備えた情報処理装置において，クラスタ内通信命令処理における何らかの障害による誤動作を抑止するため，ならびに何らかの障害により中断された通信命令を図９に示す本来の処理フローに準ずるよう終了させ，後続の通信命令の処理を迅速かつ確実に行うために，このクラスタ内通信命令における各処理フローを認識するフラグ（図２に示すフローフラグ２４）と，何らかの障害により中断された処理を完了させるための返送コード生成回路（図２に示すＳＴＡコード生成回路２６）とを設けることにより，通信命令処理における信頼性の向上，処理能力の向上を可能としている。
【００５７】
〔本発明に関連する発明の実施例〕
図５は，本発明に関連する発明の実施例によるシステムの構成を示し，図中，４はシステム記憶装置（ＳＳＵ），２０，２１は選択回路，２２はリクエストコード解析回路，２３はタイマー，２４はフローフラグ，２５はＡＣＫコード生成回路，２６はＳＴＡコード生成回路，３１はレジスタック，３２，３２’はＧＳＩＧＰ制御回路，３３，３３’はムーバ（ＭＯＶＥＲ）を表す。
【００５８】
図５に示すフローフラグ２４は，クラスタ間通信命令（ＧＳＩＧＰ命令）の処理フローを示す数ビットのフラグコードである。レジスタック３１は，クラスタ間通信命令処理における各種転送データを保持するレジスタ群である。
【００５９】
図６に，クラスタ間通信命令処理における制御信号として，ＧＳＩＧＰ制御回路３２とムーバ３３間での共用バス管理のための共用バス制御信号群６０ａ〜６０ｄを示す。
【００６０】
共用バス制御信号群６０ａ〜６０ｄは，クラスタ間通信命令処理時における共用バス確保信号群として，通信命令データ転送用バス確保要求信号（ＳＳＵ＿ＰＡＳＳ＿ＣＵＴ＿ＲＥＱ）６０a ，通信命令データ転送用バス確保完了信号（ＳＳＵ＿ＰＡＳＳ＿ＣＵＴ＿ＣＯＭＰ）６０b ，さらに，この通信命令の各種データ転送の効率化のための状況認識信号群として，データ転送終了信号（ＳＥＮＤ＿ＲＥＱ＿ＴＥＲＭ）６０c ，転送データ有効／無効信号（ＳＥＮＤ＿ＲＥＱ＿ＥＲＲ）６０d 等からなる。
【００６１】
図７は，本発明に関連する発明の実施例におけるクラスタ間通信命令処理のタイムチャートである。図７に示す(21)から(53)の信号は通信命令処理のための信号を表す。
以下，図５ないし図７を用い，クラスタｘ−クラスタｙ間の通信命令処理を例にとり，本実施例によるクラスタ間通信命令処理について説明する。また以下では，説明を簡明にするために特に従来方式との相違点のみを詳細に記す。
【００６２】
各装置（ＣＰＵｘ）から送出されたクラスタ間通信命令処理要求は選択回路２０により選択される。リクエストコード解析回路２２によりその通信命令処理要求が認識されると，発行元装置に対しＡＣＫコードを返送し，レジスタック３１にはこの通信命令の各種転送データを格納する。また，フローフラグ２４に関する動作は，前述した本発明の実施例と同様である。
【００６３】
本実施例では，同時に図７のタイムチャートに示すようにＧＳＩＧＰ制御回路３２からムーバ３３に対しＳＳＵ＿ＰＡＳＳ＿ＣＵＴ＿ＲＥＱ（通信命令データ転送用バス確保要求信号）６０ａを送出し［図７の(21)］，これを受けたムーバ３３はこの要求に対する共用バスの確保を行い［図７の(22)］，これが完了すると，ＳＳＵ＿ＰＡＳＳ＿ＣＵＴ＿ＣＯＭＰ（通信命令データ転送用バス確保完了信号）６０ｂをＧＳＩＧＰ制御回路３２に送出する［図７の(23),(24) ］。
【００６４】
これを受けたＧＳＩＧＰ制御回路３２は，システム記憶装置４へのＳＳＵ＿ＰＲＩＯ＿ＲＥＱ（通信命令処理要求）をムーバ３３を介しシステム記憶装置４へ送出し［図７の(25),(26),(27)］，ムーバ３３はシステム記憶装置４へのＳＥＮＤ＿ＲＥＱ＿ＴＥＲＭ（データ転送終了信号）６０ｃ，ＳＥＮＤ＿ＲＥＱ＿ＥＲＲ（転送データ有効／無効信号）６０ｄをＧＳＩＧＰ制御回路３２に送出し［図７の(28)〜(31)］，上記ＳＥＮＤ＿ＲＥＱ＿ＥＲＲ６０ｄが“ＯＦＦ”であれば，このデータ送出成功であるから，ＳＳＵ＿ＰＡＳＳ＿ＣＵＴ＿ＲＥＱ６０ａを“ＯＦＦ”とし共用バスの占有を中止する（このクラスタ間通信命令処理におけるシステム記憶装置４へのデータ転送時の共用バスの制御は，上記手順により行われる）。
【００６５】
各クラスタ間のこの通信命令処理要求の優先順位はシステム記憶装置４において決定され，クラスタｘの通信命令処理要求が選択されるとシステム記憶装置４からＳＳＵ＿ＰＲＩＯ＿ＡＣＫが発行元クラスタｘに返送される［図７の(32),(33) ］。これを受けて発行元クラスタｘのＧＳＩＧＰ制御回路３２は，上記手順［図７の(34), …］と同様に，システム記憶装置４へＲＥＱ＿ＤＡＴＡを送出し，システム記憶装置４はこのＲＥＱ＿ＤＡＴＡを宛先クラスタｙへ送出する。宛先クラスタｙのＧＳＩＧＰ制御回路３２’は，このＲＥＱ＿ＤＡＴＡによる処理を実行し，その実行結果をＳＴＡ＿ＤＡＴＡとして上記手順によりシステム記憶装置４へ送出し，システム記憶装置４はそのＳＴＡ＿ＤＡＴＡを発行元クラスタｘへ送出する［図７の(52)，(53)］。これによりＧＳＩＧＰ制御回路３２は発行元装置にＳＴＡ＿ＤＡＴＡを送出し，クラスタ間通信命令処理を完了する。
【００６６】
また，上記システム記憶装置４へのデータ送出手順において，ＳＥＮＤ＿ＲＥＱ＿ＥＲＲ６０ｄが“ＯＮ”である場合［図７の(42)］には，データ転送不成功を示しているため，ＳＳＵ＿ＰＡＳＳ＿ＣＵＴ＿ＲＥＱ６０ａを“ＯＮ”のままとし，レジスタック３１に格納されている転送データを再度送出する［図７の(45)］。すなわち，クラスタ間通信命令処理におけるバス確保の最適化を図り，データ転送のリトライを可能としている。
【００６７】
以上のように，本発明に関連する発明の実施例では，本発明の実施例の構成単位を１つのクラスタとし，このクラスタを複数個備えたシステムにおいて，データ転送バス有効利用のためのデータ転送バス共用化，データ転送の効率化のための共用バス管理の制御，ならびに間欠障害による通信命令処理の中断を回避するためのシステム記憶装置４へのデータ転送のリトライを行うために，クラスタ間通信命令処理のための共用バス確保制御信号（図６の６０ａ，６０ｂ）と，共用バス確保継続の有無を決定するためのクラスタ間通信命令におけるデータ転送終了信号（図６のＳＥＮＤ＿ＲＥＱ＿ＴＥＲＭ６０c ）と，データ転送の有効性を示す信号（図６のＳＥＮＤ＿ＲＥＱ＿ＥＲＲ６０d ），およびクラスタ間通信命令における各処理フローを認識するフラグ（図５のフローフラグ２４）と転送データを保持するレジスタ（図５のレジスタック３１）を設け，クラスタ間通信命令処理におけるデータ転送バスの有効利用，データ転送の効率化，および信頼性の向上処理能の向上を図っている。
【００６８】
【発明の効果】
本発明においては，装置間通信命令における処理フローの逐次性の保障が得られ誤動作の抑止が可能である。また，従来方式では図１３のタイムチャートに示すように，記憶制御装置内でタイムアウト処理により強制終了した通信命令の発行元装置において，その装置のタイムアウト処理を待つしかなく，その間，発行元装置においては後続の通信命令処理を開始することができず，処理能力の著しい低下を招く可能性があったが，本発明では図３のタイムチャートに示すように，発行元装置のタイムアウト処理を待つことなく全装置が動作可能となるため，後続の通信命令処理を迅速かつ確実に行うことが可能である。
【００６９】
また，本発明に関連する発明によれば，共用バスの使用を可能とし，共用バスの使用におけるデータ転送の効率化が図られ，さらにデータ転送のリトライが可能であるため，物量削減，信頼性向上および処理能力の向上が可能である。
【図面の簡単な説明】
【図１】本発明の原理構成図である。
【図２】  本発明の実施例による記憶制御装置の構成図である。
【図３】クラスタ内通信命令処理のタイムチャートである。
【図４】フローフラグの例を示す図である。
【図５】  本発明に関連する発明の実施例によるシステムの構成図である。
【図６】クラスタ間通信命令処理における共用バス制御信号を示す図である。
【図７】クラスタ間通信命令処理のタイムチャートである。
【図８】本発明を適用するシステムの概略図である。
【図９】クラスタ内通信命令処理フローを示す図である。
【図１０】クラスタ内通信命令処理を行う従来方式の構成例を示す図である。
【図１１】クラスタ間通信命令処理フローを示す図である。
【図１２】クラスタ間通信命令処理を行う従来方式の構成例を示す図である。
【図１３】従来方式のクラスタ内通信命令処理のタイムチャートである。
【図１４】従来方式のクラスタ間通信命令処理のタイムチャートである。
【符号の説明】
１  記憶制御装置（ＭＣＵ）
２  中央処理装置（ＣＰＵ０〜ｎ）
３  入出力処理／制御装置（ＣＨＰ０〜ｍ）
４  システム記憶装置（ＳＳＵ）
１１  状態管理手段
１２  コード生成手段
１３  共用バス確保制御手段
１４  データ転送有効認識手段
１５  データ転送終了認識手段
１６  転送データ記憶手段
２０  選択回路
２１  選択回路
２２  リクエストコード解析回路
２３  タイマー
２４  フローフラグ
２５  ＡＣＫコード生成回路
２６  ＳＴＡコード生成回路
３１  レジスタック
３２  ＧＳＩＧＰ制御回路
３３  ムーバ（ＭＯＶＥＲ）
【図１】
0003639321.tif 000002
【図２】
0003639321.tif 000003
【図３】
0003639321.tif 000004
【図４】
0003639321.tif 000005
【図５】
0003639321.tif 000006
【図６】
0003639321.tif 000007
【図７】
0003639321.tif 000008
【図８】
0003639321.tif 000009
【図９】
0003639321.tif 000010
【図１０】
0003639321.tif 000011
【図１１】
0003639321.tif 000012
【図１２】
0003639321.tif 000013
【図１３】
0003639321.tif 000014
【図１４】
0003639321.tif 000015