(57)【特許請求の範囲】
【請求項１】
バスを介して接続され、同じ処理動作を同時に行う複数の処理装置を有し、前記処理装置のうちの１台をマスター処理装置とし、残りをスレーブ処理装置とし、前記マスター処理装置は生成した情報の前記バスへの送出と前記バス上の情報の取り込みを行い、前記スレーブ処理装置は生成した情報を前記バスへ送出せず前記バス上の情報の取り込みのみを行う多重化ユニットで構成された情報処理システムのメモリコピー装置に於いて、
前記多重化ユニットを構成する前記複数の処理装置のうちの１台が故障して新たな処理装置に交換した際に、動作中の処理装置のメモリの内容の交換した処理装置のメモリへのコピーを指示するコピー処理部と、
前記コピー処理部の指示に基づいてメモリのコピー動作を行うと共に、コピー中における前記メモリのコピー領域に対する他の装置によるアクセスを禁止するメモリ制御部と、を設け、
前記コピー処理部のコピー指示は、前記メモリ制御部にリード領域の通常コマンドによるアクセスを禁止するロック情報を付加したリードコマンドを発行し、続いて前記メモリ制御部に前記ロック情報を解除するアンロック情報を付加したライトコマンドを発行することを特徴とする情報処理システムのメモリコピー装置。
【請求項２】
請求項１記載の情報処理システムのメモリコピー装置に於いて、
前記コピー処理部は、前記メモリ制御部にリードコマンドを発行してコピー領域のリードデータを取得し、続いて前記メモリ制御部にライトコマンドを発行して前記リードデータを同じコピー領域へライトさせ、
前記メモリ制御部は、前記コピー処理部からのリードコマンドに基づいてメモリのコピー領域のデータをリードすると共に該コピー領域に対する他の装置からのアクセスを禁止し、前記コピー処理部からのライトコマンドに基づいて前記コピー領域に前記リードデータをライトすると共に前記アクセス禁止状態を解除することを特徴とする情報処理システムのメモリコピー装置。
【請求項３】
請求項１記載の情報処理システムのメモリコピー装置に於いて、前記コピー処理部は、
コピー開始アドレスを保持した第１レジスタと、
コピー終了アドレスを保持した第２レジスタと、
所定データ量単位に前記メモリ制御部にリードコマンドを発行してコピー領域のリードデータを取得し、続いて前記メモリ制御部にライトコマンドを発行して前記リードデータの同じコピー領域へライトさせるコピー指示部と、
該コピー指示部による所定データ量単位のコピーが終了する毎に、前記第１レジスタのコピーアドレスを更新する更新部と、
前記第１レジスタと第２レジスタのコピーアドレスを比較し、両者が一致した時に、コピー処理の正常終了を検出してコピー処理を停止させるコピー終了検出部と、
を備えたことを特徴とする情報処理システムのメモリコピー装置。
【請求項４】
請求項１記載の情報処理システムのメモリコピー装置に於いて、前記コピー処理部は、コピー処理に先立って前記メモリ制御部に、前記処理装置のメモリの第１領域から第２領域へのデータのコピーを指示し、コピー元とコピー先の各データをリードして比較することにより、コピーが正常に行われたか否か確認するテストコピー処理部を備えたことを特徴とする情報処理システムのメモリコピー装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、多重化ユニットを有する少なくとも３台のプロセッサをバスで接続して同じ処理を同時に実行することで故障を検出して必要な処理を行う情報処理システムのメモリコピー装置に関する。
近年、情報処理装置が各種分野で広く使用されてきたのに伴い、情報処理装置が故障した場合、社会的、経済的に大きな影響を与える可能性が考えられる。
【０００２】
このため出来る限り故障が発生しにくく、また、万一故障が発生した場合でも、確実に故障が検出でき、更には、処理装置が停止せずに、処理内容の整合性を保ちながら、処理を続行できるような、信頼性の高い情報処理システムが求められている。
【０００３】
【従来の技術】
従来、高信頼性の情報処理システムとしては、３重以上の多重化構成を備えた情報処理システムが提供されている。
このような多重化処理システムを実現する方法としては、次のようなものが考えられている。一つのユニット内に、３台以上のプロセッサ等の処理装置と多数決論理回路を用意する。多数決論理回路は、同一クロックで同期動作している３個以上の処理装置の出力信号に対し、多数決論理に基づいた演算を行い、その結果を、主記憶ユニット等の他の処理装置に送出する方法である。
【０００４】
しかしながら、多数決論理を用いた多重化処理システムにあっては、各処理装置の実行サイクル数は増えないが、多数決論理を行う分だけ実行サイクル数が増して処理時間が遅くなる。また、専用の多数決論理回路そのもののハードウェア量が大きく、また処理装置と多数決論理回路の間にも多数の信号線が必要になり、回路構成が複雑化しコスト的にも高価であった。
【０００５】
このような状況に鑑み、同じ処理動作を同時に行う少なくとも３台の処理装置をバスを回して接続し、３台の処理装置のうちの１台をマスター処理装置とし、残りをチェッカとして動作するスレーブ処理装置とした３重多数決の多重化ユニット（以下「ＴＭＲユニット」という）を用いたフォルトトレーラントな高信頼性情報処理システムが構築されている。
【０００６】
このＴＭＲユニットを用いたシステムにあっては、マスター処理装置は生成した情報のバスへの送出とバス上の情報の取り込みんで情報処理を行い、一方、スレーブ処理装置は生成した情報をバスへ送出せずバス上のマスター生成情報の取り込みを行って自己の生成した情報と比較するチェック処理を行っている。
【０００７】
【発明が解決しようとする課題】
このようなＴＭＲユニットを用いたシステムにあっては、ＴＭＲユニットを構成する３台の処理装置のうちの１つが故障すると、故障した処理装置をＴＭＲユニットから切り離し、残された２台の処理装置で縮退したＴＭＲユニットを再構成して処理を継続する。
【０００８】
この場合、３台の処理装置で構成されたＴＭＲユニットにおいて、その内の１台が故障して切り離されると、残り２台の処理装置によるＴＭＲユニットに縮退してしまう。このような２重化構成では、再度装置故障が発生するとＴＭＲユニットは解体され、直ちにシステム停止に陥ってしまう。このため、装置故障が発生した場合は、故障した処理装置を新しい装置と交換してＴＭＲユニットに復帰させる活性保守が必要となる。
【０００９】
しかし、活性保守による処理装置の交換だけでは、ＴＭＲユニットに復帰させて三重化構成を再構築することはできない。これは、新規に交換した処理装置のメモリ内容が、動作中の処理装置のメモリ内容と異なっているからである。このため、動作中の処理装置のメモリ内容を新規に導入した処理装置のメモリにコピーする必要がある。
【００１０】
しかし、二重化構成の動作状態にある処理装置のコピー元のメモリは、コピー中に更新される可能性があり、コピー処理を行うことはできない。
本発明は、このような問題点に鑑みてなされたもので、ＴＭＲユニットを構成する処理装置の１つが故障して縮退した場合、故障した処理装置を新しい処理装置に交換してＴＭＲユニットを再構築できる活性保守ができるようにした高信頼性情報処理システムのメモリコピー装置を提供することを目的とする。
【００１１】
【課題を解決するための手段】
図１は本発明の原理説明図である。
まず本発明は、バス１２を介して接続され、同じ処理動作を同時に行う複数の処理装置、例えば３台の処理装置１０−１〜１０−３を有し、処理装置１０−１〜１０−３のうちの１台をマスター処理装置１０−１とし、残りをスレーブ処理装置１０−２，１０−３とし、マスター処理装置１０−１は生成した情報のバス１２への送出とバス１２上の情報の取り込んで情報処理を行い、スレーブ処理装置１０−２，１０−３は生成した情報をバスへ送出せずバス１２上のマスタ−出力情報の取り込んでチェック処理を行う高信頼性情報処理システムのメモリコピー装置を提供する。
【００１２】
メモリコピー装置は、コピー処理部７０８とメモリ制御部７０６で構成される。コピー処理部７０８は、ＴＭＲユニット１０を構成する３台の処理装置１０−１〜１０−３の内の１台、例えば処理装置１０−３が故障して新たな処理装置に交換した際に、動作中の処理装置１０−１，１０−２のメモリ７０４の内容を、交換した処理装置１０−３のメモリ７０４へのコピーを指示する。
【００１３】
各処理装置１０−１〜１０−３のメモリ制御部７０６は、コピー処理部７０８の指示に基づいてメモリ７０４の特定領域からメモリ７０４の同じ領域へのコピー動作を並列的に行うと共に、コピー中におけるメモリ７０４のコピー領域に対する他の装置によるアクセスを禁止する。
即ち、コピー処理部７０８は、まず図１（Ａ）のように、処理装置１０−１〜１０−３のメモリ制御部７０６にコピースタート▲１▼に続いてリードコマンド▲２▼を発行してコピー領域のリードデータ▲３▼を取得する。続いて図１（Ｂ）のように、処理装置１０−１〜１０−３の各メモリ制御部７０６にライトコマンド▲４▼を発行し、コピー領域のアクセス禁止を解除しリードデータ▲５▼を各メモリ７０４の同じコピー領域へライトさせる。
【００１４】
近年のコンピュータシステムのメモリ容量は拡大の一途を辿っており、数十メガバイトから数ギガバイトといった容量を持つものも少なくない。活性保守によって交換された処理装置１０−３に、動作中の処理装置１０−１，１０−２のメモリ内容を全てコピーするには、それ相当の時間がかかる。そこで、コピー処理部は、所定データ量単位にメモリのコピー動作を行うようにする。
【００１５】
このためコピー処理部７０８は、コピー開始アドレスを保持した第１レジスタ７１２、コピー終了アドレスを保持した第２レジスタ７１４、所定データ量単位にメモリ制御部７０６にリードコマンドを発行してコピー領域のリードデータを取得し、続いてメモリ制御部７０６にライトコマンドを発行してリードデータの同じコピー領域へライトさせるコピー指示部、コピー指示部による所定データ量単位のコピーが終了する毎に、第１レジスタ７１２のコピーアドレスを更新する更新部、及び第１レジスタ７１２と第２レジスタ７１４のコピーアドレスを比較し、両者が一致した時に、コピー処理の正常終了検出するコピー処理を停止させるコピー終了検出部で構成される。
【００１６】
コピー処理部７０８のコピー指示部によるコマンド発行として、例えば、メモリ制御部７０６にリード領域の通常コマンドによるアクセスを禁止するロック情報を付加したリードコマンド（ロックリードコマンド）を発行し、続いてメモリ制御部７０６にロック情報を解除するアンロック情報を付加したライトコマンド（アンロックライトコマンド）を発行する。
【００１７】
コピー処理部はテストコピー処理部を備え、コピー処理に先立ってメモリ制御部に、処理装置のメモリの第１領域から第２領域へのデータのコピーを指示し、コピー元とコピー先の各データをリードして比較することにより、コピーが正常に行われたか否か確認する。
交換した処理装置１０−３に対するメモリ内容のコピー動作は、メモリ７０４の更新を抑止しながらコピーを行うため、処理装置１０−１〜１０−３がコマント及びデータの転送を直接制御すると、処理装置のもつプロセッサの負荷が大きくなり、本来のジョブの動作が遅くなってしまう。そこで、処理装置１０−１〜１０−３以外に、バス１２にシステムアダプタ７００を接続し、このシステムアダプタ７００にコピー処理部７０８の機能を持たせ、処理装置１０−１〜１０−３とは独立にコピー処理を行わせ、ＴＭＲユニット１０における処理装置の本来の動作を極力妨げないようにしてもよい。
【００１８】
【発明の実施の形態】
＜目次＞
１．メモリコピー
２．コピーテスト
３．メモリコピーのハードウェア構成
１．メモリコピー
図２はＴＭＲユニット１０を３台の処理装置１０−１〜１０−３で構築しており、処理装置１０−３が故障により離脱し、新品の処理装置１０−３に交換したときのメモリコピー処理の実施形態である。
【００１９】
ＴＭＲユニット１０を構成する処理装置１０−１〜１０−３は、バス１２を介して接続される。バス１２はシステムバスとして機能し、バスアービタ１１を備えている。ここで処理装置１０−１がマスターであり、残りの処理装置１０−２，１０−３がスレーブとなっている。
処理装置１０−１〜１０−３は、マスター処理装置１０−１を例にとると、ＣＰＵ及びキャッシュを備えたプロセッサエレメント７０２−１、メモリ７０４−１、メモリ制御部７０６−１及びＴＭＲ制御回路（多重化制御回路）４８−１で構成される。マスター処理装置１０−１のＴＭＲ制御回路４８−１のバス１２に対する出力と入力の両方を行う。これに対し、スレーブ処理装置１０−２，１０−３のＴＭＲ制御回路４８−２，４８−３は、システムバス１２上のバス情報は取り込むが、バス１２に対する出力は行わない。
【００２０】
このようなバス１２で接続された処理装置１０−１〜１０−３で構築されるＴＭＲユニット１０に対し、この実施形態にあっては、メモリコピー処理を制御するための装置としてシステムアダプタ７００を接続している。システムアダプタ７００にはメモリコピー制御部７０８が設けられる。メモリコピー制御部７０８は、コピーコマンドレジスタ７１０、コピーアドレスレジスタ７１２及びコピー終了アドレスレジスタ７１４を備える。
【００２１】
コピーコマンドレジスタ７１０は、図３（Ａ）のように、終了ステータス１０２４、エラーステータス１０２６、ロックフラグ１０２８、アンロックフラグ１０３０及びスタートフラグ１０３２等を、メモリコピー制御の制御条件としてセットすることができる。ここで終了ステータス１０２４は、メモリコピー処理の終了を示す情報をセットする。
【００２２】
エラーステータス１０２６は、メモリコピー中におけるエラー要因をセットする。ロックフラグ１０２８は、メモリコピーに使用するリードコマンドに続いて、アクセスアドレスのリード後の通常のライトコマンドによる書込みを禁止するためのフラグ情報をセットする。
アンロックフラグ１０３０は、ロックフラグ１０２８により発行したロックリードコマンドによるメモリのアクセス禁止状態を、アンロックフラグのセットで発行したアンロックライトコマンドにより解除させるためのものである。スタートフラグ１０３２は、メモリコピー処理のスタートをセットする。
【００２３】
またコピーアドレスレジスタ７１２は、図３（Ｂ）のように、初期状態にあってはコピー開始アドレス１０３４がセットされる。コピー開始アドレス１０３４は、この実施形態におけるコピー処理が所定データ用単位に行われることから、１回のコピー処理が終了するごとに、更新された現時点のコピーアドレスを格納することになる。
【００２４】
更に、コピー終了アドレスレジスタ７１４には、図３（Ｃ）のうよに、コピーを終了させるメモリの最終アドレスであるコピー終了アドレス１０３６が格納される。このため、コピーアドレスレジスタ７１２で更新されるコピーアドレスとコピー終了アドレスレジスタ７１４のコピー終了アドレス１０３６とを比較し、両者が一致すればコピー終了であることを認識することができる。
【００２５】
ＴＭＲユニット１０の処理装置１０−１〜１０−３及びシステムアダプタ７００は、バス１２に対し例えばスプリット方式に従ったコマンド及びデータのパケット転送を行う。システムアダプタ７００のメモリコピー制御部７０８によるメモリコピー処理のため、バス１２において、図４のフォーマット構成をもつコマンドパケットが準備される。
【００２６】
図４（Ａ）はコマンドパケット７４６の基本フォーマットであり、パケット番号フィールド７４８、コマンド種別フィールド７５０、ロックフラグ７５２、アンロックフラグ７５４、アドレスフィールド７５６で構成される。パケット番号フィールド７４８にはパケット番号ＰＫＮＯが格納され、個々のパケットに付けられるもので、パケットの識別に使用する。
【００２７】
コマンド種別フィールド７５０には、パケットの種別を指定するコマンド種別ＣＭＤが格納される。ロックフィールド７５２には、アクセス先のメモリのリードまたはライト後に同一アドレスの他の装置によるアクセスを禁止するためのロックフラグＬＣＫのセットを行う。
アンロックフィールド７５４には、ロックフィールド７５２のロックフラグＬＣＫのオンでアクセス禁止状態としたメモリ側に対し、アクセス禁止を解除するためのアンロックフラグＵＬＣＫをセットする。アドレスフィールド７５６には、メモリのアクセスアドレスが格納される。
【００２８】
この図４（Ａ）の基本的なコマンドパケットに基づき、本発明のコピー処理にあっては、図４（Ｂ）（Ｃ）のノーマルリードコマンドパケットＣ１、ノーマルライトパケットＣ２に加え、図４（Ｄ）（Ｅ）のロックリードコマンドパケットＣ３及びアンロックライトパケットＣ４が新たに準備されている。
図４（Ｄ）のロックリードコマンドパケットＣ３は、パケット番号フィールド７４８のパケット番号ＰＫＮＯ＝３であり、コマンド種別フィールド７５０には図４（Ｂ）のノーマルリードコマンドパケットＣ１と同様、ＣＭＤ＝０が格納されている。次のロックフィールド７５２のロックフラグＬＣＫは、ＬＣＫ＝１にセット（オン）される。
【００２９】
図４（Ｅ）のアンロックライトコマンドパケットＣ４は、パケット番号ＰＫＮＯ＝４であり、コマンド種別フィールド７５０には図７６（Ｃ）のノーマルライトコマンドパケットＣ２と同じＣＭＤ＝１がセットされる。次のロックフィールド７５２は０にオフされているが、アンロックフィールド７５４のアンロックフラグＵＬＣＫが１にセットされている。
【００３０】
図５は、図４のコマンドパケットに対するリプライパケットであり、図５（Ａ）にリプライパケットの基本フォーマットを示し、図５（Ｂ）（Ｃ）にリードリプライパケットＣ５、ライトリプライパケットＣ６を示している。
図５（Ａ）のリプライパケット７５８の基本フォーマットは、先頭のパケットフィールド７６０に続いてコマンド種別フィールド７６２が設けられ、次のフィールドをステータスフィールド７６４とし、最後にアドレスフィールド７６６を設けている。
【００３１】
図４のコマンドパケット及び図５のリプライパケットに続いては、ライトパケットについては１または複数のデータパケットが続き、またリードリプライパケットについても同様に１または複数のデータパケットが続くことになる。
図６は、システムアダプタ７００のメモリコピー制御部７０８によるＴＭＲユニット１０に対するメモリコピー処理の手順を示している。
【００３２】
図６において、マスター処理装置１０−１のプロセッサ７０２−１は、故障によりＴＭＲユニット１０から切り離された処理装置１０−３が活性保守により新たな処理装置に交換されたか否かを監視している。具体的には、バス１２に対する処理装置１０−３の取外しと取外し後の再接続に伴うポート接続情報をバス１２のバスタグ制御線により得ることで、マスター処理装置１０−１のプロセッサ７０２−１は処理装置１０−３の交換を認識する。
【００３３】
装置交換を認識したマスタ処理装置１０−１は、二重化構成としてのシステム動作を停止し、この状態で処理装置１０−１〜１０−３のクロックレベルの同期化および内部状態の共通設定を行った後、二重化構成によるシステム動作を際スタートする。
システム動作を際スタートしたマスター処理装置１０−１のプロセッサエレメント７０２−１は、システムアダプタ７００に対しコピースタート▲１▼を指示する。このコピースタート▲１▼の指示は、バス１２を使用してもよいし、専用の制御線による指示であってもよい。
【００３４】
またマスター処理装置１０−１からのコピースタート▲１▼の指示に基づき、システムアダプタ７００に設けているコマンドアドレスレジスタ７１０には、図３  （Ａ）のように、そのスタートフラグ１０３２がオンにセットされ、また最初のロックリードコマンドパケット発行のためにロックフラグ１０２８も１にセットされる。またコピーアドレスレジスタ７１２にはコピー開始アドレスがセットされ、コピー終了アドレスレジスタ７１４にはコピー終了アドレスがセットされる。
【００３５】
このようなマスター処理装置１０−１からのコピースタート▲１▼の指示を受けたシステムアダプタ７００のメモリコピー制御部７０８は、新たに交換した処理装置１０−３のメモリ７０４−３に対し、現在動作中の処理装置１０−１，１０−２のメモリ７０４−１，７０４−２の内容をコピーするためのメモリコピー処理を開始する。
【００３６】
まずメモリコピー制御部７０８は、バス１２に対しロックリードコマンドパケット▲２▼を発行する。このロックリードコマンドパケット▲２▼は、処理装置１０−１〜１０−３のそれぞれでメモリ制御部７０６−１〜７０６−３に取り込まれ、コマンド解読によりメモリ７０４−１〜７０４−３のリードが行われる。
このメモリリードにより、ＴＭＲユニット１０を構成する処理装置１０−１〜１０−３のうちマスター処理装置１０−１のみがバス１２にリプライパケット▲３▼を送出する。このため、システムアダプタ７００のメモリコピー制御部７０８は、マスター処理装置１０−１から送信されたリプライパケット▲３▼を受信し、リプライパケット▲３▼に続いて送出されるデータパケットからリードデータを取り込んでバッファする。
【００３７】
一方、システムアダプタ７００からバス１２に送信したロックリードコマンドパケット▲２▼は、図４（Ｄ）のように、ロックフィールド７５２のロックフラグＬＣＫが１にセットされているため、メモリ制御部７０６−１〜７０６−３のそれぞれは、この時点で指定されたコピーアドレスに対するノーマルリードコマンドパケット及びノーマルライトパケットによるアクセスを禁止するための禁止フラグをセットする。
【００３８】
次に図７に示すように、システムアダプタ７００のメモリコピー制御部７０８は、バス１２に対しコピーアドレスレジスタ７１２のコピーアドレスをセットしたアンロックライトパケット▲４▼を発行する。またアンロックライトパケット▲４▼に続いて、図７のロックリードコマンドパケット▲２▼に対するリプライパケット▲３▼によって得られたリードデータを含むデータパケットをバス１２に転送する。
【００３９】
処理装置１０−１〜１０−３のそれぞれは、システムアダプタ７００から送信されたバス１２上のアンロックライトコマンドパケット▲４▼及び、これに続くデータパケットを取り込む。このとき、既に実行されたロックリードコマンドパケットによりメモリ制御部７０６−１〜７０６−３のそれぞれにあっては、同じコピーアドレスに対するアクセスを禁止するアクセス禁止フラグがオンとなっている。
【００４０】
しかしながら、システムアダプタ７００からのパケットはアンロックライトコマンドパケットであり、図４（Ｅ）のようにアンロックフィールド７５４のアンロックフラグＵＬＣＫが１にセットされているため、このアンロックフラグの解読に基づき、セット状態にあるアクセス禁止フラグをオフにリセットする。
これにより、同じコピーアドレスに対するアクセスが可能となり、アンロックライトパケット▲４▼に続いて受信したデータパケットのリードデータをメモリ７０４−１〜７０４−３において、同じコピーアドレスに書き込むことができる。このときＴＭＲユニット１０として動作中の処理装置１０−１，１０−２については、メモリ７０４−１〜７０４−２のコピーアドレスのリードデータをそのまま書き込むだけであるが、新品として交換した処理装置１０−３にあっては、メモリ７０４−３に処理装置１０−１，１０−２と同じデータを書き込むためのコピー処理を行うことになる。
【００４１】
このような図６，図７に示すコピー処理を所定のデータ量単位に繰り返す。１回のコピー処理が終了すると、メモリコピー制御部７０８はコピーアドレスレジスタ７１２を更新する。このコピーアドレスの更新ごとに、メモリコピー制御部７０８は、コピー終了アドレスレジスタ７１４のコピー終了アドレスと更新されたコピーアドレスとを比較している。
【００４２】
コピーアドレスがコピー終了アドレスに一致するとコピー終了を認識し、割込制御線などを使用して、処理装置１０−１〜１０−３にコピー終了を通知する。システムアダプタ７００からのコピー終了通知を受けたマスター処理装置１０−１は、新たに交換した処理装置１０−３のメモリ７０４−３に動作中の処理装置１０−１，１０−２のメモリ７０４−１，７０４−２と同じデータが格納されたことを認識し、交換した処理装置１０−３をＴＭＲユニットに加え、３台の処理装置１０−１〜１０−３によるＴＭＲユニット１０の再構築を行い、二重化構成から三重化構成に移行する。
【００４３】
図８は、図６及び図７における所定データ量ごとのコピー処理に伴うメモリコピー制御部７０８の処理機能を示している。メモリコピー制御部７０８にはコピー終了検出部１０１２が設けられ、コピー終了検出部１０１２には比較器８６６が設けられる。比較器８６６は、コピーアドレスレジスタ７１２のコピーアドレスとコピー終了アドレスレジスタ７１４の終了アドレスとを比較している。
【００４４】
コピーアドレスレジスタ７１２のコピーアドレスは、所定データ量ごとのコピー処理が終了するごとに更新部７１６により更新される。比較器８６６において、更新後のコピーアドレスとコピー終了アドレスとの一致が判別されると、ストップ指示部７１５に対し一致出力が与えられ、終了ステータス１０２４がオンになる。この終了ステータス１０２４は図３（Ａ）のコピーコマンドレジスタ７１２のフィールドの１つであり、この終了ステータス１０２４のセットで、例えば割込み等によりＴＭＲユニット１０を構成する処理装置１０−１〜１０−３に対しコピー終了が通知されることになる。
【００４５】
図９は、図６，図７におけるコピー処理中におけるエラー発生時のメモリコピー制御部７０８の機能を示している。本発明の高信頼性処理装置としてのＴＭＲユニット１０におけるメモリ容量は、例えば数十メガバイトから数ギガバイトといった容量をもっており、ＴＭＲユニット１０としての処理動作を継続しながらメモリコピー処理を完了するためには、それ相当の処理時間が必要となり、コピー処理の途中でエラーが発生する可能性もある。
【００４６】
図９のシステムアダプタに設けられたメモリコピー制御部７０８にあっては、コピー終了検出部１０１２の中に更にエラー検出部７１７が設けられている。エラー検出部７１７は、コピー処理中にエラー例えばリプライパケットに続いて受信したデータパケットでパリティエラーを検出すると、ストップ指示部７１５に対しエラー検出を通知し、更新部７１６の更新を停止する。
【００４７】
同時に、終了ステータス１０２４をセットし、エラー検出に伴う異常終了処理を行う。実際には、エラー検出出力が得られた際に、予め定めた回数のリトライを行ってもエラーが検出されない場合に、ストップ指示部７１５によるエラー検出に伴う異常終了処理を行う。
このエラー検出に伴う異常終了処理にあっては、更新部７１６による更新の停止でコピーアドレスレジスタ７１２にエラーを検出したときのコピーアドレスが保持されている。またエラー検出部７１７により図３（Ａ）のコピーコマンドレジスタ７１２の中のエラーステータス１０２４をセットすることで、そのときのエラー内容を保持する。
【００４８】
このようにメモリコピー制御部７０８にエラー検出時のコピーアドレスとエラー内容を保持しておけば、その後にマスター処理装置１０−１からの参照でエラーステータス１０２４よりエラー内容を知り、エラー回復措置を取った後に再度コピースタートを指示することで、エラー停止となったコピーアドレスからのコピー処理の再開が可能となる。
【００４９】
図１０のフローチャートは、図２のシステムアダプタ７００におけるメモリコピー制御部７０８のコピー処理である。まずステップＳ１で、ＴＭＲユニット１０のマスター処理装置１０−１よりコピースタートの指示を受けると、コピー開始アドレス及び終了アドレスのセット、更にはロックリードコマンドパケット送信のためのロックフラグのセットを行い、ステップＳ２で、コピー開始アドレスを指定したロックリードコマンドパケットをバス１２に送信する。
【００５０】
続いてステップＳ３で、マスター処理装置１０−３からのリプライパケットを待っており、リプライパケットを受信するとステップＳ４に進み、リプライパケットに続くデータパケットで受信したリードデータをリードバッファに格納し、ステップＳ５で、アンロックライトコマンドのパケットをバス１２に送信する。次にステップＳ６で、リードバッファに格納しているデータから構築したデータパケットをバス１２に送信する。ステップＳ７では、マスター処理装置１０−１からのアンロックライトパケットに対するリプライパケットの有無をチェックしている。リプライパケットを受信すると、ステップＳ８でコピーアドレスを更新し、ステップＳ９でコピー終了アドレスか否かチェックし、一致するまでステップＳ２からの処理を繰り返す。終了アドレスにコピーアドレスが一致すれば、ＴＭＲユニット１０の各処理装置１０−１〜１０−３に対しメモリコピー終了を割込み等により通知する。
【００５１】
図１１は、ＴＭＲユニット１０のマスター処理装置１０−１の処理である。なお、スレーブ処理装置１０−２，１０−３は、バスに対するパケット送信を行わない以外はマスター処理装置１０−１と同じである。
図１１において、マスター処理装置１０−１は、ステップＳ１でＴＭＲユニット１０を構成した通常のマスター処理装置としての動作を行っている。この状態で、故障により離脱した処理装置１０−３の活性保守による交換があると、ステップＳ２で処理装置交換を認識し、ステップＳ３で、システムアダプタ７００に対しコピー処理の開始を指示する。続いてステップＳ４で、バス１２からのコマンドパケットの受信をチェックしている。
【００５２】
コマンドパケットを受信すると、ステップＳ５でロックリードコマンドか否かチェックする。コピー処理の場合には、最初ロックリードコマンドが送られてくることから、ステップＳ６に進み、アクセスアドレスのロックフラグをオンし、同時にステップＳ７でアクセスアドレスのメモリリードを行う。続いてステップＳ８で、リプライコマンドのコマンドパケットをバス１２に送信し、続いてステップＳ９で、リードデータのデータパケットを送信する。
【００５３】
このようなロックリードコマンドに対するリプライコマンド及びリードデータの送信に対し、システムアダプタ側からアンロックライトコマンドのコマンドパケットが送信されてくる。そこでステップＳ４で新たなコマンド受信が行われたならば、ステップＳ５からＳ１０に進んで、アンロックライトコマンドのコマンドパケットであることを認識し、ステップＳ１１で、アクセスアドレスのロックフラグをオフとした後、ステップＳ１２で、受信データのメモリライトを行い、ステップＳ１３でリプライコマンドのリプライパケットをバス１２に送信する。
【００５４】
一方、ステップＳ６〜Ｓ９のロックリードコマンドに対するリード処理が終了した後にステップＳ４でノーマルライトコマンドのコマンドパケットが受信されたとすると、ステップＳ１４に進んで、ノーマルライトコマンドが判別され、この場合には、ステップＳ１５でアクセスアドレスのロックフラグをリードする。ノーマルライトコマンドによるアクセスコマンドがステップＳ６のコピー処理のためのアクセスアドレスと同一アドレスであった場合には、ロックフラグがオン状態にセットされており、ロックフラグのオンをステップＳ６で判別すると、ステップＳ１７で、ビジィのステータスをもった応答コマンドのパケットをバス１２に送信する。このため、メモリコピーのためのリードが行われたアドレスに対するノーマルライトコマンドによるアクセスは禁止されることになる。
【００５５】
このアクセス禁止は、ステップＳ１１でアンロックライトコマンドに基づくロックフラグのオフが行われるまで維持される。ロックフラグがオフされると、それまでビジィ応答によりリトライとなっていたノーマルライトコマンドが正常に受領されて、ステップＳ１２の受信データのメモリライト、及びステップＳ１３のリプライコマンドのパケット送信が正常に行われることになる。
【００５６】
更に、ロックフラグのオン状態で同じアクセスアドレスに対するノーマルリードコマンドを受信した場合には、ステップＳ１８のメモリリード処理に進む。このメモリリード処理にあっても、もしコピー処理中のアクセスアドレスと同一アドレスであったならば、ビジィ応答を返してアクセスを禁止させてもよい。またノーマルリードについては、コピーアドレスのデータの更新は行われないことから、正常にリード動作を行って応答するようにしてもよい。
２．コピーテスト
ＴＭＲユニットに対し活性保守により故障した処理装置を新品の装置に交換した場合のメモリコピー処理に際しては、メモリコピー処理が確実に行われるかどうかを確認するため、メモリコピー処理に先立ってテストコピー処理を行うことが望ましい。
【００５７】
図１２は、メモリコピー処理に先立って行うテストコピー処理を示している。ＴＭＲユニット１０のマスター処理装置１０−１は、故障した処理装置１０−３の交換を認識すると、システムアダプタ７００のメモリコピー制御部７０８にコピー処理の開始を指示するが、これに対しメモリコピー制御部７０８は、直ちにメモリコピー処理を開始せず、まずテストコピー▲１▼のためのコマンドパケットをバス１２に送信する。
【００５８】
テストコピー▲１▼のためのコマンドパケットを受領した処理装置１０−１〜１０−３のそれぞれは、図１３のマスター処理装置１０−１に代表して示すように、メモリ７０４−１の予め定められた領域Ａ１にテストデータを書き込み、続いて領域Ａ１のテストデータを別の領域Ａ２にコピーするコピー処理を行う。
再び図１２を参照するに、続いてシステムアダプタ７００のメモリコピー制御部７０８は、バス１２に対しコンペアリードのためのコマンドパケットを送信し、処理装置１０−１よりリプライ▲３▼として、リプライコマンドに続いて比較のための２つのリードデータのデータパケットを受信する。即ち図１３のように、マスター処理装置１０−１のメモリ７０４−１における領域Ａ１のテストデータと領域Ａ２にコピーしたテストデータをそれぞれシステムアダプタ７００に読み出し、リードコンペア処理部１０４０で両者を比較する。
【００５９】
このリードコンペア処理部１０４０による２つのテストデータの比較で一致が得られればテストコピーを正常終了とし、本来のメモリコピー処理に移行する。もしリードコンペア処理部１０４０で２つのテストデータが不一致であった場合には、バス１２あるいはＴＭＲユニット１０−１側に障害があることから、メモリコピー処理を異常終了させる。
【００６０】
もちろん、テストコピー処理が異常終了した場合には、マスター処理装置１０−１においてＴＭＲユニットのどの処理装置が故障かあるいはバス１２の障害かは判別され、故障判別結果に対応した適切なリカバリ処理が行われることになる。
図１４のフローチャートは、図１２のテストコピー処理について、システムアダプタ７００側とマスター処理装置１０−１側の処理を併せて示している。
【００６１】
図１４においてシステムアダプタは、まずステップＳ１で、アドレスＡ１にテストデータをライトするコマンドのパケットを送信する。このコマンドパケットの送信を受けて、マスター処理装置はステップＳ１０１でメモリのアドレスＡ１に所定のテストデータをライトし、リプライコマンドを応答する。
続いてシステムアダプタは、ステップＳ２でアドレスＡ１からＡ２へのコピーコマンドのパケットを送信する。このコマンドパケットの送信を受けて、マスター処理装置はステップＳ１０２でメモリのアドレスＡ１のテストデータをアドレスＡ２にコピーし、リプライコマンドをパケット送信する。
【００６２】
続いてシステムアダプタは、ステップＳ３で、アドレスＡ１のリードコマンドのパケットを送信し、マスター処理装置はステップＳ１０３でメモリのアドレスＡ１のリードによりリードデータを応答する。次に、システムアダプタは、ステップＳ４でアドレスＡ２のリードコマンドのパケットを送信し、マスター処理装置はステップＳ１０４でメモリのアドレスＡ２のリードによる応答を行う。
【００６３】
この状態でマスター処理装置より２つのアドレスＡ１，Ａ２のリードデータが得られることから、システムアダプタはステップＳ５で２つのリードデータを比較する。ステップＳ６でリードデータの一致が判別されると、ステップＳ７に進み、メモリコピー処理を起動する。不一致であれば異常終了とする。このようなメモリコピー処理開始前のテストコピー処理によりＴＭＲユニット１０の処理装置におけるメモリコピーの機能を確認することで、より確実に、交換した処理装置に対するメモリコピーを実行することができる。
３．メモリコピーのハードウェア構成
図１５は、図１２のシステムアダプタ７００に設けたメモリコピー制御部７０８の回路ブロックである。メモリコピー制御部７０８は、転送制御部７１１を有し、転送制御部７１１に対してはコマンドレジスタ７１０、コピーアドレスレジスタ７１２、コピー終了アドレスレジスタ７１４が接続されている。このうちコピーアドレスレジスタ７１２には更新回路７１６が設けられ、転送制御部７１１からの更新イネーブル信号により所定データ量単位のコピー終了ごとにコピーアドレスの更新が行われる。
【００６４】
システムアダプタ７００が接続されるバス１２は、例えば３２ビットのデータバス線と所定数のバスタグ制御線で構成されている。データバス線はデータバス端子７１８に接続される。タグ制御線は、制御端子７２０，７２２，７２４，７２６，７２８，７３０に接続される。制御端子７２０はアドレスセンド信号の入出力端子である。制御端子７２２は、データセンド信号の入出力端子である。制御端子７２４は、システムアダプタバスリクエストの出力端子である。
【００６５】
制御端子７２６は、システムアダプタバスグラント信号の入力端子である。制御端子７２８は、処理装置に対するＰＭバスグラント信号の入力端子である。制御端子７３０は、処理装置に対するＰＭ割込通知信号の出力端子である。これ以外にも、必要とするバスタグ制御線に応じて対応する制御端子が設けられるが、説明を簡単にするため省略している。
データバス端子７１８に対しては、出力バッファ７４２とリードバッファ７４４が設けられている。出力バッファ７４２にはバスに対するコマンドパケット及びデータパケットが格納される。リードバッファ７４４には、バスから受信したデータパケットによるリードデータが格納される。出力バッファ７４２におけるコマンドパケットの生成及びデータパケットの生成は、転送制御部７１６からのセットクロックに同期したＯＲゲート７４０からの出力で行われる。
【００６６】
ＯＲゲート７４０は５入力のＯＲゲートであり、それぞれＡＮＤゲート７３０，７３２，７３４，７３６，７３８を備えている。ＡＮＤゲート７３０，７３２，７３４，７３６，７３８には、ノーマルリードコマンドＣ１、ノーマルライトコマンドＣ２、ロックリードコマンドＣ３、アンロックライトコマンドＣ４、及びリードバッファ７４４からのリードデータＲＤが入力されている。
【００６７】
それぞれのコマンド及びデータは転送制御部７１１からの選択信号Ｓ１〜Ｓ５により選択され、出力バッファ７４２に格納されてコマンドパケットまたはデータパケットが作成される。
図１６は図１５に示したシステムアダプタのメモリコピー制御部７０８の詳細であり、同一の回路要素は同じ番号で表わしている。このメモリコピー制御部７０８は、図１６に示すコピースタート指示回路１０００、送受信タイミング回路１００２、コマンドデータ選択指示回路１００４、及び図１７に示すパケット送信回路１００６、コマンドデコード回路１００８、コピーアドレス更新回路１０１０、及びコピー終了検出回路１０１２で構成される。
【００６８】
また図１８は、図２のマスター処理装置１０−１に設けたメモリ制御部７０６−１の詳細であり、他の処理装置１０−２，１０−３のメモリ制御部７０６−２，７０６−３も同じ回路構成をもつ。マスター処理装置１０−１のメモリ制御部７０６−１は、受信タイミング回路１０１４、パケット受信回路１０１６、メモリ制御回路１０１８、送信タイミング回路１０２０、パケット送信回路１０２２で構成されている。
【００６９】
このようなシステムアダプタのメモリコピー制御部７０８及びマスター処理装置のメモリ制御部について動作と共に構成を説明すると、次のようになる。
▲１▼コピースタートとロックリードコマンド
まずマスター処理装置１０−１からの指示により、図１５のシステムアダプタのコマンドレジスタ７１０のスタートフラグがオンとなり、同時にロックリードコマンドを発行するためにロックフラグのビットオンも行われる。このコマンドレジスタ７１０のスタートフラグのセット論理により、図１６のコピースタート指示回路１０００のＯＲゲート７６８よりセット論理信号ｅ１がオンし、ＦＦ７７２で保持された後、コピースタート信号ｅ３としてＦＦ７７４に保持され、ＡＮＤゲート７７６、ＯＲゲート７７８を介してコピースタート信号ｅ４がオンする。
【００７０】
コピースタート信号ｅ４は送受信タイミング回路１００２に与えられ、ＯＲゲート８１２、ＦＦ８１６及びドライバ８１８を介して制御端子７２４に対するＳＡバスリクエスト信号ｅ１１をオンし、バスアービタ１１に対するバス利用権の獲得を要求する。このＳＡリクエスト信号ｅ１１のオンに対し、バスアービタ１１からは許可信号としてのＳＡグラント信号ｅ１２が制御端子７２６に応答される。
【００７１】
したがって、制御端子７２６及びドライバ８２６を介して得られたＳＡグラント信号ｅ１２は、ＡＮＤゲート８２２の出力をオンして、ＦＦ８２４，８２６を介してシステムアダプタ内の動作ステージ信号ＣＳＴ１，ＣＳＴ２，ＣＳＴ３を順次オンとする。
一方、コピースタート指示回路１０００より出力されたコピースタート信号ｅ４は、コマンドデータ選択指示回路１００４からロックリードコマンド選択信号Ｓ３をオンとする。即ち、セット論理によりＦＦ７８０よりロック信号ｅ５がオンとなっており、またＦＦ８１０からのリードを示す信号ｅ１０がオンとなっており、更にコピースタート信号ｅ４がオンとなることで、ＡＮＤゲート７８４の出力がオンとなってロックリードコマンド選択信号ｅ３を出力する。
【００７２】
このロックリードコマンド選択信号ｅ３は図１７のパケット送信回路１００６のＡＮＤゲート７３４に与えられ、同時に入力しているロックリードコマンドＣ３を選択し、ＯＲゲート７４０及びゲート回路８４２を介して出力バッファ７４２に格納し、ロックリードコマンドの送信パケットを生成し、このときＯＲゲート８４３で得られるアドレスセンド信号ｅ１４のオンによるイネーブル状態で、データバス端子７１８に対しロックリードコマンドのコマンドパケットを送信する。
【００７３】
即ち、図１６の送受信タイミング回路１００２における送信動作ステージ信号ＣＳＴ１のタイミングでパケット送信回路１００６の出力バッファ７４２にロックリードコマンドＣ３のコマンドパケットをセットし、次の送信動作ステージ信号ＣＳＴ２のタイミングでバスデータＢＤとしてバスに出力する。この送信動作ステージ信号ＣＳＴ２のタイミングでは、同時に図１６の送受信タイミング回路１００２における制御端子７２０に対しドライバ８３０を介してアドレスセンド信号ｅ１４がオンとなる。
【００７４】
このようなシステムアダプタ側からのロックリードコマンドのパケット送信に対し、図１８のマスター処理装置のメモリ制御部は次のように動作する。
送受信タイミング回路１０１４は、制御端子８８８にアドレスセンド信号ｅ３０を受けると、ＦＦ８９２で保持した後、ＡＮＤゲート８９４に続いて設けた３つのＦＦ８９６，８９８，９００によって３段階の受信動作ステージ信号ＭＳＴ１〜ＭＳＴ３を生成する。同時にＦＦ９０４によるラッチでチップセレクト信号ｅ３１をオンとする。チップセレクト信号ｅ３１は、ＡＮＤゲート９０２に対する受信動作ステージ信号ＭＳＴ３がオンとするまで維持される。
【００７５】
同時にパケット受信回路１０１６にデータバス端子９０６よりシステムアダプタから送信されたロックリードコマンドのコマンドパケットが受信され、ドライバ９０８を介してバッファ９１０に保持される。バッファ９１０に保持されたロックリードコマンドはデコーダ９１２により解読され、メモリアクセス信号ｅ３２をオンし、またリードを示す信号ｅ３３をオンし、ゲート回路９１４を介してＦＦ９１６に保持した後、リード信号ｅ３４をオンする。
【００７６】
またロックリードコマンドの中のロックフラグはＦＦ９１８に保持され、ゲート回路９２０からのロック信号ｅ３６をオンし、これをＦＦ９２２で保持してフラグメモリ９３２に出力する。フラグメモリ９３２はＦＦ９３０に保持されたアクセスアドレスの指定を受け、同時にライトイネーブル信号ｅ３７及びチップセレクト信号ｅ３１がオンしていることから、フラグメモリ９３２のアクセスアドレスにアクセス禁止フラグ９３４を書き込んでオンとする。
【００７７】
更にバッファ９１０に保持されたアドレスパケット番号コマンドを示す信号ｅ３４は、ゲート回路９４８を通ってＦＦ９５０に保持され、メモリ７０４をアクセスする。このときチップセレクト信号ｅ３１はオン、ＡＮＤゲート９４６からのライトイネーブル信号ｅ４３はオフとなってリードイネーブルであるため、メモリ７０４からはロックリードコマンドで指定されたアドレスのリードデータｅ４４が読み出され、ゲート回路９５２を介して受信動作ステージ信号ＭＳＴ２のタイミングでリードバッファ９５４に格納される。
【００７８】
このロックリードコマンドの受信時には、ロック信号ｅ３６のオンによりＦＦ９２４がゲート回路９２６及びＦＦ９２８を経て得られるマスク信号ｅ３６はオフとなっている。このときフラグメモリ９３２のアクセスアドレスからのアクセス禁止フラグ９３４の読出しでゲート回路９３８及びＦＦ９４０から得られるビジィステータス信号ｅ４０がオンしていても、マスク信号ｅ３８のオフによる禁止でビジィステータス信号ｅ４０が出力バッファ９８８に与えられず、ロックリードコマンドを発行したシステムアダプタ２００からの要求がビジィとなることを防止している。
【００７９】
続いてメモリ７０４からリードしたりとデータのバス１２に対する送信動作に入る。送信動作は、送信タイミング回路１０２０が受信タイミング回路１０１４からの受信動作ステージ信号ＭＳＴ３をＯＲゲート９５６を介して入力してＦＦ９６０に保持し、制御端子９６２よりバスに対し処理装置におけるＰＭバスリクエスト信号ｅ４６をオンする。このＰＭバスリクエスト信号ｅ４６のオンに対し、バスアービタ１より制御端子９６４に対するＰＭバスグラント信号ｅ４７がオンとなり、ＦＦ９６６，９６８，９７４によって順次、送信動作ステージ信号ＳＳＴ１，ＳＳＴ２，ＳＳＴ３が作成される。
【００８０】
パケット送信回路１０２２は、送信動作ステージ信号ＳＳＴ１のタイミングで出力バッファ９８８にリプライコマンドとアドレスをセットしてコマンドパケットを作成し、次の送信動作ステージ信号ＳＳＴ２のタイミングでアドレスセンド信号ｅ５０のオンに同期して、ドライバ９９０よりデータバス端子９９４を介してバスにリプライパケットを送信し、同時に出力バッファ９８８にリードバッファ９５４のリードデータを格納してデータパケットを作成し、次の送信動作ステージ信号ＳＳＴ３のタイミングでデータセンド信号ｅ５１のオンに同期してバスに送信する。
【００８１】
次に、図１８のマスター処理装置１０−１側からのリプライコマンドに対する図１６，図１７のシステムアダプタ側は次のように動作する。
図１６の送受信タイミング回路１０００には、制御端子７２８からドライバ８３４を介してＰＭバスグラント信号ｅ１５のオンを入力すると、ＡＮＤゲート８３６、ＦＦ８３８及び８４０によって受信動作ステージ信号ＳＴ１，ＳＴ２，ＳＴ３を生成する。
【００８２】
このＰＭバスグラント信号ｅ１５のオンに同期した受信動作ステージ信号ＳＴ１のオンにより、図８９のパケット受信回路１００７に対しデータバス端子７１８より受信したリプライパケットのリードデータを、ドライバ８４６を介しＡＮＤゲート８４８及びＯＲゲート８５２を介して受信動作ステージ信号ＳＴ２のタイミングでリードバッファ７４４に格納する。
【００８３】
またコマンドデコード回路１００８において、受信コマンドをデコード８５２で解読し、リードリプライ信号ｅ１７をオンする。このためゲート回路８５４及びＦＦ８５６を介してリードリプライフェーズ信号ｅ７がオンとなる。リードリプライフェーズ信号ｅ７がオンになると、図８８のコピースタート指示回路１０００のＡＮＤゲート７９４の出力がオンとなり、ＯＲゲート７９８を介して再アクセス指示信号ｅ９がオンする。
【００８４】
このため、ＡＮＤゲート８００、ＦＦ８０２、更にＯＲゲート７７８を介してコピースタート信号ｅ４が再びオンとなる。このとき再アクセス指示信号ｅ９のオンによりＦＦ８１０からのライト信号ｅ１０側がオンとなる。またＦＦ７８２に対するセット論理によりアンロック信号ｅ６もオンしているため、ＡＮＤゲート７８６の出力がオンし、アンロックライトコマンド選択信号ｅ４を出力する。
【００８５】
一方、再アクセス指示信号ｅ９のオンに伴うコピースタート信号ｅ４のオンで、送信タイミング回路１００２の制御端子７２４からのＳＡバスリクエスト信号ｅ１１がオンとなり、バスアービタ１１からの許可により制御端子７２６に対するＳＡバスグラント信号ｅ１２がオンする。このＳＡバスグラント信号ｅ１２のオンにより、最初のロックリードコマンドの送信時と同様にして送信動作ステージ信号ＣＳＴ１〜ＣＳＴ３が順次オンし、アドレスセンド信号ｅ１４のオン、データセンド信号ｅ１３のオンが順番に行われる。
【００８６】
コマンドデータ選択指示回路１００４からのアンロックライトコマンド選択信号Ｓ４は、図１７のパケット送信回路１００６のＡＮＤゲート７３６に与えられ、アンロックライトコマンドＣ４が選択され、送信動作ステージ信号ＣＳＴ１のタイミングで出力バッファ４２に格納され、次の送信動作ステージ信号ＣＳＴ２のタイミングにおけるアドレスセンド信号ｅ１４のオンに同期し、データバス端子７１８よりバスにアンロックライトコマンドのコマンドパケットが送信される。
【００８７】
同時にパケット受信回路１００７のリードバッファ７４４に保持されているリードデータＲＤが、コマンド選択指示回路１００４からのデータ選択信号Ｓ５のオンによりＡＮＤゲート７３８、ＯＲゲート７４０、更にゲート回路８４２を介して出力バッファ７４２に格納される。そして、最後の送信動作ステージ信号ＣＳＴ３のタイミングにおけるデータセンド信号ｅ１３のオンに同期し、出力バッファ７４２のリードデータＲＤのデータパケットがバスに送信される。
【００８８】
システムアダプタからのアンロックライトコマンドのコマンドパケット及びリードデータのデータパケットを送信された図１８のマスター処理装置のメモリ制御部は、次のように動作する。
受信タイミング回路１０１４のアドレス信号ｅ３０のオンに伴う受信動作ステージ信号ＭＳＴ０，ＭＳＴ１，ＭＳＴ２，ＭＳＴ３に応じ、パケット受信回路１０１６のバッファ９１０に格納されたアンロックライトコマンド及びリードデータによるメモリ制御回路１０１８のメモリ７０４に対する書込動作が行われる。まずデコーダ９１２は、ライトを示すライト信号ｅ３３をオンとし、ＦＦ９１６からのライト信号ｅ３４が有効となる。
【００８９】
またＦＦ９１８からのアンロック信号ｅ３５がオンとなり、フラグメモリ９３２に対するロック信号ｅ３６がオフとなる。このため、ＦＦ９３０で保持したアクセスアドレスによるフラグメモリ９３２のアクセスで、それまでオン状態にセットされていたアクセス禁止フラグ９３４がロック信号ｅ３６のオフによる書込みでリセットされる。
【００９０】
このため、メモリ７０４に対するライトイネーブル信号ｅ４３をオフとしていたＡＮＤゲート９４６の禁止状態が解除され、ライトイネーブル信号ｅ４３がオンとなり、メモリ７０４のライトアクセスを可能とする。メモリ７０４はＦＦ９５０を介したアドレスパケット番号及びコマンドのアクセス信号ｅ４３によるアクセスを受けて、ＦＦ９４４の保持で得られたライトデータｅ４２のアクセスアドレスへの書込を行う。
【００９１】
書込みが済むと、受信動作ステージ信号ＭＳＴ３のオンに基づき送信タイミング回路１０２０がＰＭバスリクエストｅ４６をオンとし、これに対するバスアービタ１１からのＭＰバスグラント信号ｅ４７のオンに基づき送信動作ステージ信号ＳＳＴ１〜ＳＳＴ３を生成して、メモリ７０４に対するアンロックライトコマンドの正常終了を示すリプライコマンドのシステムアダプタに対する送信を行う。
【００９２】
一方、フラグメモリ９３２にアクセス禁止フラグ９３４がセットされた状態でノーマルライトコマンドによる同じアクセスアドレスのメモリ７０４に対するライト要求があった場合、フラグメモリ９３２によるアクセスアドレスの指定によるアクセス禁止フラグ９３４の読出しでライトイネーブル信号ｅ４３のオフ状態が作り出され、メモリ７０４に対するアクセスが禁止される。
【００９３】
フラグメモリ９３２からのアクセス禁止フラグ９３４の読出しに基づいてゲート回路９３８及びＦＦ９４０からのビジィステータス信号ｅ４０がオンとなり、このときマスク信号ｅ３８はオンしていることから、パケット送信回路１０２２のＡＮＤゲート９８０の出力がオンとなり、ゲート回路９８４を介して出力バッファ９８８にビジィステータス信号ｅ４０が与えられ、ビジィステータスのリプライパケットをノーマルライトコマンドの送信元に送り返すようになる。
【００９４】
これによってコピー処理のためのリードが終了してから次にコピーのためのライトが行われるまでの間、同一のコピーアドレスに対するノーマルライトコマンドによるアクセスが禁止される。
最後に、マスター処理装置からのアンロックライトコマンドに基づくメモリ書込み終了のリプライコマンドを受信したときの図１６，図１７のシステムアダプタ側の動作は次のようになる。
【００９５】
図１７のコマンドデコード回路１００８は、パケット受信回路１００７を介してマスター処理装置１０−１側から送信されたライトリプライコマンドを受信すると、デコーダ８５２による解読でライトリプライ信号ｅ１８をオンする。このため、ゲート回路８５８，ＦＦ８６０を介してライトリプライフェーズ信号ｅ８がオンする。ライトリプライフェーズ信号ｅ８がオンすると、図１６のコピースタート指示回路１０００のＡＮＤゲート７９６の出力がオンし、ＯＲゲート７９８を介して再アクセス指示信号ｅ９が再びオンする。
【００９６】
同時にＦＦ８１０からのリード信号ｅ１０側を次のコピー処理のロックリードコマンドの送信のためにオンする。更に図１７のコマンドデコード回路１００８で得られたライトリプライフェーズ信号ｅ８は、コピーアドレス更新回路１０１０に与えられる。コピーアドレス更新回路１０１０に対するライトリプライフェーズ信号ｅ８がオンになると、コピーアドレスレジスタ７１２に対するイネーブル信号ｅ１９をオフとし、コピーアドレスレジスタ７１２を次のメモリコピーアドレスに更新する。
【００９７】
更新されたコピーアドレスレジスタ７１２のコピーアドレスｅ２０は、コピー終了検出回路１０１２に設けた比較器８６６で終了アドレス信号ｅ２１と比較されており、不一致であれば一致信号ｅ２２はオフとなり、コピー終了信号ｅ２３もオフとなっている。このため、図１６のコピースタート指示回路１０００からのコピースタート信号ｅ４が再びオンとなり、ロックリードコマンドとアンロックライトコマンドの送信によるコピー処理を繰り返す。
【００９８】
図１７のコピー終了検出回路１０１２の比較器８６６で、コピーアドレスｅ２１と終了アドレスｅ２１の一致によって比較器８６６からの一致信号ｅ２２がオンすると、このときロック信号ｅ５，アンロック信号ｅ６は共にオンし、またコピーアドレス更新回路１０１０のドライバ８６４による反転で出力される終了信号ｅ１９もオンであることから、ＡＮＤゲート８６８の出力がオンする。このため、ＯＲゲート８７２及びＦＦ８７６を介して正常終了信号ｅ２４がオンし、ドライバ８８０より制御端子７３０を介してマスター処理装置１０−２に対しＰＭ割込信号ｅ２５がオンする。
【００９９】
またＯＲゲート８７０を介してコピー終了信号ｅ２３がオンし、図１６のコピースタート指示回路１０００のＡＮＤゲート７７０の出力を反転入力によりオフとし、ＦＦ７７２に対するスタートフラグのセット論理信号ｅ１のラッチを解除する。このため、ＡＮＤゲート８００が禁止状態となり、再アクセス指示信号ｅ９のオンによるコピースタート信号ｅ４のオンを禁止する。
【０１００】
正常終了時のＰＭ割込通知信号ｅ２５のオンに対しては、マスター処理装置１０−１がコピーコマンドレジスタ７１２の終了ステータス１０２４の参照でメモリコピー処理の正常終了を認識することができる。
次にコピー処理中に何らかのエラーが検出された場合、例えばマスター処理装置からのリプライコマンドによる受信データのパリティエラーが発生したとすると、図１７のコピー終了検出回路１０１２においてパリティエラー信号ｅ１６がオンとなる。このため、ＯＲゲート８８２，ＦＦ８８６を介してエラー信号ｅ２６がオンとなり、ＯＲゲート８７８，ドライバ８８０を介して制御端子７３０よりＰＭ割込通知信号ｅ２５をオンする。
【０１０１】
同時に、図３（Ａ）に示したコピーコマンドレジスタ７１２のエラーステータス１０２６にパリティエラーを示すエラー情報を格納する。このため、ＰＭ割込通知信号ｅ２５を受けたマスター処理装置１０−１にあっては、システムアダプタに設けているコピーコマンドレジスタ７１２のエラーステータス１０２４を参照することにより割込内容を解析して、エラー終了であることを認識できる。
【０１０２】
なお上記の実施例にあってはスプリット方式のバスを例にとるものであったが、本発明はこれに限定されず、インターロック方式やそれ以外のバスであっても全く同様に適用できる。
【０１０３】
【発明の効果】
以上説明してきたように本発明によれば、少なくとも３台の処理装置で構成された三重化処理による高信頼性情報処理装置において、１台の処理装置が故障した際の活性保守による復旧を、新たに交換した処理装置のメモリを動作中の処理装置のメモリに一致させるためのコピー処理により可能とし、速やかな三重化構成への復旧を可能とし、耐故障性を大きく高めることができる。
【０１０４】
またメモリコピー処理中に他の装置からのコピー対象領域に対するアクセスを抑制することで、メモリコピー中の更新を抑止すると同時に、通常動作における制限を最小限に抑えることが可能となり、メモリコピーに時間が掛かっても、業務の停止といった事態を確実に回避できる。またメモリコピーに先立ってテストコピーを行うことで、転送制御系回路の正常動作を確認できるため、早期に異常の検出が可能となり、システムの迅速な復旧を図ることができる。
【０１０５】
更に、メモリコピーの処理中に特定のメモリ領域がアクセス禁止に陥っても、処理装置側からのアンロックコマンドの発行で簡単にロック状態を解除できるため、システムを通常状態に復旧してリトライするなどの適切な処理ができる。更にまた、コピー処理中にエラー終了した場合、終了アドレス及びエラー内容を処理装置側から認識できるため、エラー原因に対応したエラー回復が確実にでき、またエラー時のコピーアドレスから処理を再開できるため、リトライに要する時間を低減することができる。
【図面の簡単な説明】
【図１】本発明の原理説明図
【図２】処理装置交換時にメモリコピー処理を行うブロック図
【図３】図２のシステムアダプタのレジスタ内容の説明図
【図４】バスコマンドパケットと具体例の説明図
【図５】バスリプライパケットと具体例の説明図
【図６】メモリコピー処理のスタートとロックリードコマンドの処理説明図
【図７】図６に続くアンロックライトコマンドの処理説明図
【図８】メモリコピー処理におけるシステムアダプタの機能ブロック図
【図９】エラー検出時のシステムアダプタの機能ブロック図
【図１０】システムアダプタのコピー処理のフローチャート
【図１１】マスター処理装置のコピー処理のフローチャート
【図１２】コピーテスト処理の説明図
【図１３】コピーテスト処理の機能ブロック図
【図１４】コピーテスト処理のフローチャート
【図１５】図２のシスタムアダプタのメモリコピー制御部のブロック図
【図１６】図１５のメモリコピー制御部の回路図
【図１７】図１５のメモリコピー制御部の回路図（続き）
【図１８】図２の処理装置のメモリ制御回路の回路図
【符号の説明】
１０：ＴＭＲユニット（３重化構成ユニット）
１０−１，１０−２，１０−３，１０−ｎ：処理装置
１２，１２−１，１２−２：バス
７００：シスタムアダプタ
７０２−１〜７０２−３：プロセッサ
７０４−１〜７０４−３：メモリ
７０６−１〜７０６−３：メモリ制御部
７０８：メモリコピー制御部
７１０：コマンドレジスタ
７１２：コピーアドレスレジスタ
７１４：コピー終了アドレスレジスタ
７１６：転送制御
７４２，９８８；出力バッファ
７４４，９５４ドバッファ
８８６：比較器
９３２：フラグメモリ
１０００：コピースタート指示回路
１００２：送受信タイミング回路
１００４：コマンドデータ選択指示回路
１００６：パケット送信回路
１００７：パケット受信回路
１００８：コマンドデコード回路
１０１０：コピーアドレス更新回路
１０１２：コピー終了検出回路
１０１４：受信タイミング回路
１０１６：パケット受信回路
１０１８：メモリ制御回路
１０２０：送信タイミング回路
１０２２：パケット送信回路
【図１】
0003696689.tif 000002
【図２】
0003696689.tif 000003
【図３】
0003696689.tif 000004
【図４】
0003696689.tif 000005
【図５】
0003696689.tif 000006
【図６】
0003696689.tif 000007
【図７】
0003696689.tif 000008
【図８】
0003696689.tif 000009
【図９】
0003696689.tif 000010
【図１０】
0003696689.tif 000011
【図１１】
0003696689.tif 000012
【図１２】
0003696689.tif 000013
【図１３】
0003696689.tif 000014
【図１４】
0003696689.tif 000015
【図１５】
0003696689.tif 000016
【図１６】
0003696689.tif 000017
【図１７】
0003696689.tif 000018
【図１８】
0003696689.tif 000019