JP3696689B2 - 情報処理システムのメモリコピー装置 - Google Patents
情報処理システムのメモリコピー装置 Download PDFInfo
- Publication number
- JP3696689B2 JP3696689B2 JP09223896A JP9223896A JP3696689B2 JP 3696689 B2 JP3696689 B2 JP 3696689B2 JP 09223896 A JP09223896 A JP 09223896A JP 9223896 A JP9223896 A JP 9223896A JP 3696689 B2 JP3696689 B2 JP 3696689B2
- Authority
- JP
- Japan
- Prior art keywords
- copy
- memory
- processing
- command
- unit
- 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 - Fee Related
Links
Images
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
- Hardware Redundancy (AREA)
Description
【発明の属する技術分野】
本発明は、多重化ユニットを有する少なくとも3台のプロセッサをバスで接続して同じ処理を同時に実行することで故障を検出して必要な処理を行う情報処理システムのメモリコピー装置に関する。
近年、情報処理装置が各種分野で広く使用されてきたのに伴い、情報処理装置が故障した場合、社会的、経済的に大きな影響を与える可能性が考えられる。
【0002】
このため出来る限り故障が発生しにくく、また、万一故障が発生した場合でも、確実に故障が検出でき、更には、処理装置が停止せずに、処理内容の整合性を保ちながら、処理を続行できるような、信頼性の高い情報処理システムが求められている。
【0003】
【従来の技術】
従来、高信頼性の情報処理システムとしては、3重以上の多重化構成を備えた情報処理システムが提供されている。
このような多重化処理システムを実現する方法としては、次のようなものが考えられている。一つのユニット内に、3台以上のプロセッサ等の処理装置と多数決論理回路を用意する。多数決論理回路は、同一クロックで同期動作している3個以上の処理装置の出力信号に対し、多数決論理に基づいた演算を行い、その結果を、主記憶ユニット等の他の処理装置に送出する方法である。
【0004】
しかしながら、多数決論理を用いた多重化処理システムにあっては、各処理装置の実行サイクル数は増えないが、多数決論理を行う分だけ実行サイクル数が増して処理時間が遅くなる。また、専用の多数決論理回路そのもののハードウェア量が大きく、また処理装置と多数決論理回路の間にも多数の信号線が必要になり、回路構成が複雑化しコスト的にも高価であった。
【0005】
このような状況に鑑み、同じ処理動作を同時に行う少なくとも3台の処理装置をバスを回して接続し、3台の処理装置のうちの1台をマスター処理装置とし、残りをチェッカとして動作するスレーブ処理装置とした3重多数決の多重化ユニット(以下「TMRユニット」という)を用いたフォルトトレーラントな高信頼性情報処理システムが構築されている。
【0006】
このTMRユニットを用いたシステムにあっては、マスター処理装置は生成した情報のバスへの送出とバス上の情報の取り込みんで情報処理を行い、一方、スレーブ処理装置は生成した情報をバスへ送出せずバス上のマスター生成情報の取り込みを行って自己の生成した情報と比較するチェック処理を行っている。
【0007】
【発明が解決しようとする課題】
このようなTMRユニットを用いたシステムにあっては、TMRユニットを構成する3台の処理装置のうちの1つが故障すると、故障した処理装置をTMRユニットから切り離し、残された2台の処理装置で縮退したTMRユニットを再構成して処理を継続する。
【0008】
この場合、3台の処理装置で構成されたTMRユニットにおいて、その内の1台が故障して切り離されると、残り2台の処理装置によるTMRユニットに縮退してしまう。このような2重化構成では、再度装置故障が発生するとTMRユニットは解体され、直ちにシステム停止に陥ってしまう。このため、装置故障が発生した場合は、故障した処理装置を新しい装置と交換してTMRユニットに復帰させる活性保守が必要となる。
【0009】
しかし、活性保守による処理装置の交換だけでは、TMRユニットに復帰させて三重化構成を再構築することはできない。これは、新規に交換した処理装置のメモリ内容が、動作中の処理装置のメモリ内容と異なっているからである。このため、動作中の処理装置のメモリ内容を新規に導入した処理装置のメモリにコピーする必要がある。
【0010】
しかし、二重化構成の動作状態にある処理装置のコピー元のメモリは、コピー中に更新される可能性があり、コピー処理を行うことはできない。
本発明は、このような問題点に鑑みてなされたもので、TMRユニットを構成する処理装置の1つが故障して縮退した場合、故障した処理装置を新しい処理装置に交換してTMRユニットを再構築できる活性保守ができるようにした高信頼性情報処理システムのメモリコピー装置を提供することを目的とする。
【0011】
【課題を解決するための手段】
図1は本発明の原理説明図である。
まず本発明は、バス12を介して接続され、同じ処理動作を同時に行う複数の処理装置、例えば3台の処理装置10−1〜10−3を有し、処理装置10−1〜10−3のうちの1台をマスター処理装置10−1とし、残りをスレーブ処理装置10−2,10−3とし、マスター処理装置10−1は生成した情報のバス12への送出とバス12上の情報の取り込んで情報処理を行い、スレーブ処理装置10−2,10−3は生成した情報をバスへ送出せずバス12上のマスタ−出力情報の取り込んでチェック処理を行う高信頼性情報処理システムのメモリコピー装置を提供する。
【0012】
メモリコピー装置は、コピー処理部708とメモリ制御部706で構成される。コピー処理部708は、TMRユニット10を構成する3台の処理装置10−1〜10−3の内の1台、例えば処理装置10−3が故障して新たな処理装置に交換した際に、動作中の処理装置10−1,10−2のメモリ704の内容を、交換した処理装置10−3のメモリ704へのコピーを指示する。
【0013】
各処理装置10−1〜10−3のメモリ制御部706は、コピー処理部708の指示に基づいてメモリ704の特定領域からメモリ704の同じ領域へのコピー動作を並列的に行うと共に、コピー中におけるメモリ704のコピー領域に対する他の装置によるアクセスを禁止する。
即ち、コピー処理部708は、まず図1(A)のように、処理装置10−1〜10−3のメモリ制御部706にコピースタート▲1▼に続いてリードコマンド▲2▼を発行してコピー領域のリードデータ▲3▼を取得する。続いて図1(B)のように、処理装置10−1〜10−3の各メモリ制御部706にライトコマンド▲4▼を発行し、コピー領域のアクセス禁止を解除しリードデータ▲5▼を各メモリ704の同じコピー領域へライトさせる。
【0014】
近年のコンピュータシステムのメモリ容量は拡大の一途を辿っており、数十メガバイトから数ギガバイトといった容量を持つものも少なくない。活性保守によって交換された処理装置10−3に、動作中の処理装置10−1,10−2のメモリ内容を全てコピーするには、それ相当の時間がかかる。そこで、コピー処理部は、所定データ量単位にメモリのコピー動作を行うようにする。
【0015】
このためコピー処理部708は、コピー開始アドレスを保持した第1レジスタ712、コピー終了アドレスを保持した第2レジスタ714、所定データ量単位にメモリ制御部706にリードコマンドを発行してコピー領域のリードデータを取得し、続いてメモリ制御部706にライトコマンドを発行してリードデータの同じコピー領域へライトさせるコピー指示部、コピー指示部による所定データ量単位のコピーが終了する毎に、第1レジスタ712のコピーアドレスを更新する更新部、及び第1レジスタ712と第2レジスタ714のコピーアドレスを比較し、両者が一致した時に、コピー処理の正常終了検出するコピー処理を停止させるコピー終了検出部で構成される。
【0016】
コピー処理部708のコピー指示部によるコマンド発行として、例えば、メモリ制御部706にリード領域の通常コマンドによるアクセスを禁止するロック情報を付加したリードコマンド(ロックリードコマンド)を発行し、続いてメモリ制御部706にロック情報を解除するアンロック情報を付加したライトコマンド(アンロックライトコマンド)を発行する。
【0017】
コピー処理部はテストコピー処理部を備え、コピー処理に先立ってメモリ制御部に、処理装置のメモリの第1領域から第2領域へのデータのコピーを指示し、コピー元とコピー先の各データをリードして比較することにより、コピーが正常に行われたか否か確認する。
交換した処理装置10−3に対するメモリ内容のコピー動作は、メモリ704の更新を抑止しながらコピーを行うため、処理装置10−1〜10−3がコマント及びデータの転送を直接制御すると、処理装置のもつプロセッサの負荷が大きくなり、本来のジョブの動作が遅くなってしまう。そこで、処理装置10−1〜10−3以外に、バス12にシステムアダプタ700を接続し、このシステムアダプタ700にコピー処理部708の機能を持たせ、処理装置10−1〜10−3とは独立にコピー処理を行わせ、TMRユニット10における処理装置の本来の動作を極力妨げないようにしてもよい。
【0018】
【発明の実施の形態】
<目次>
1.メモリコピー
2.コピーテスト
3.メモリコピーのハードウェア構成
1.メモリコピー
図2はTMRユニット10を3台の処理装置10−1〜10−3で構築しており、処理装置10−3が故障により離脱し、新品の処理装置10−3に交換したときのメモリコピー処理の実施形態である。
【0019】
TMRユニット10を構成する処理装置10−1〜10−3は、バス12を介して接続される。バス12はシステムバスとして機能し、バスアービタ11を備えている。ここで処理装置10−1がマスターであり、残りの処理装置10−2,10−3がスレーブとなっている。
処理装置10−1〜10−3は、マスター処理装置10−1を例にとると、CPU及びキャッシュを備えたプロセッサエレメント702−1、メモリ704−1、メモリ制御部706−1及びTMR制御回路(多重化制御回路)48−1で構成される。マスター処理装置10−1のTMR制御回路48−1のバス12に対する出力と入力の両方を行う。これに対し、スレーブ処理装置10−2,10−3のTMR制御回路48−2,48−3は、システムバス12上のバス情報は取り込むが、バス12に対する出力は行わない。
【0020】
このようなバス12で接続された処理装置10−1〜10−3で構築されるTMRユニット10に対し、この実施形態にあっては、メモリコピー処理を制御するための装置としてシステムアダプタ700を接続している。システムアダプタ700にはメモリコピー制御部708が設けられる。メモリコピー制御部708は、コピーコマンドレジスタ710、コピーアドレスレジスタ712及びコピー終了アドレスレジスタ714を備える。
【0021】
コピーコマンドレジスタ710は、図3(A)のように、終了ステータス1024、エラーステータス1026、ロックフラグ1028、アンロックフラグ1030及びスタートフラグ1032等を、メモリコピー制御の制御条件としてセットすることができる。ここで終了ステータス1024は、メモリコピー処理の終了を示す情報をセットする。
【0022】
エラーステータス1026は、メモリコピー中におけるエラー要因をセットする。ロックフラグ1028は、メモリコピーに使用するリードコマンドに続いて、アクセスアドレスのリード後の通常のライトコマンドによる書込みを禁止するためのフラグ情報をセットする。
アンロックフラグ1030は、ロックフラグ1028により発行したロックリードコマンドによるメモリのアクセス禁止状態を、アンロックフラグのセットで発行したアンロックライトコマンドにより解除させるためのものである。スタートフラグ1032は、メモリコピー処理のスタートをセットする。
【0023】
またコピーアドレスレジスタ712は、図3(B)のように、初期状態にあってはコピー開始アドレス1034がセットされる。コピー開始アドレス1034は、この実施形態におけるコピー処理が所定データ用単位に行われることから、1回のコピー処理が終了するごとに、更新された現時点のコピーアドレスを格納することになる。
【0024】
更に、コピー終了アドレスレジスタ714には、図3(C)のうよに、コピーを終了させるメモリの最終アドレスであるコピー終了アドレス1036が格納される。このため、コピーアドレスレジスタ712で更新されるコピーアドレスとコピー終了アドレスレジスタ714のコピー終了アドレス1036とを比較し、両者が一致すればコピー終了であることを認識することができる。
【0025】
TMRユニット10の処理装置10−1〜10−3及びシステムアダプタ700は、バス12に対し例えばスプリット方式に従ったコマンド及びデータのパケット転送を行う。システムアダプタ700のメモリコピー制御部708によるメモリコピー処理のため、バス12において、図4のフォーマット構成をもつコマンドパケットが準備される。
【0026】
図4(A)はコマンドパケット746の基本フォーマットであり、パケット番号フィールド748、コマンド種別フィールド750、ロックフラグ752、アンロックフラグ754、アドレスフィールド756で構成される。パケット番号フィールド748にはパケット番号PKNOが格納され、個々のパケットに付けられるもので、パケットの識別に使用する。
【0027】
コマンド種別フィールド750には、パケットの種別を指定するコマンド種別CMDが格納される。ロックフィールド752には、アクセス先のメモリのリードまたはライト後に同一アドレスの他の装置によるアクセスを禁止するためのロックフラグLCKのセットを行う。
アンロックフィールド754には、ロックフィールド752のロックフラグLCKのオンでアクセス禁止状態としたメモリ側に対し、アクセス禁止を解除するためのアンロックフラグULCKをセットする。アドレスフィールド756には、メモリのアクセスアドレスが格納される。
【0028】
この図4(A)の基本的なコマンドパケットに基づき、本発明のコピー処理にあっては、図4(B)(C)のノーマルリードコマンドパケットC1、ノーマルライトパケットC2に加え、図4(D)(E)のロックリードコマンドパケットC3及びアンロックライトパケットC4が新たに準備されている。
図4(D)のロックリードコマンドパケットC3は、パケット番号フィールド748のパケット番号PKNO=3であり、コマンド種別フィールド750には図4(B)のノーマルリードコマンドパケットC1と同様、CMD=0が格納されている。次のロックフィールド752のロックフラグLCKは、LCK=1にセット(オン)される。
【0029】
図4(E)のアンロックライトコマンドパケットC4は、パケット番号PKNO=4であり、コマンド種別フィールド750には図76(C)のノーマルライトコマンドパケットC2と同じCMD=1がセットされる。次のロックフィールド752は0にオフされているが、アンロックフィールド754のアンロックフラグULCKが1にセットされている。
【0030】
図5は、図4のコマンドパケットに対するリプライパケットであり、図5(A)にリプライパケットの基本フォーマットを示し、図5(B)(C)にリードリプライパケットC5、ライトリプライパケットC6を示している。
図5(A)のリプライパケット758の基本フォーマットは、先頭のパケットフィールド760に続いてコマンド種別フィールド762が設けられ、次のフィールドをステータスフィールド764とし、最後にアドレスフィールド766を設けている。
【0031】
図4のコマンドパケット及び図5のリプライパケットに続いては、ライトパケットについては1または複数のデータパケットが続き、またリードリプライパケットについても同様に1または複数のデータパケットが続くことになる。
図6は、システムアダプタ700のメモリコピー制御部708によるTMRユニット10に対するメモリコピー処理の手順を示している。
【0032】
図6において、マスター処理装置10−1のプロセッサ702−1は、故障によりTMRユニット10から切り離された処理装置10−3が活性保守により新たな処理装置に交換されたか否かを監視している。具体的には、バス12に対する処理装置10−3の取外しと取外し後の再接続に伴うポート接続情報をバス12のバスタグ制御線により得ることで、マスター処理装置10−1のプロセッサ702−1は処理装置10−3の交換を認識する。
【0033】
装置交換を認識したマスタ処理装置10−1は、二重化構成としてのシステム動作を停止し、この状態で処理装置10−1〜10−3のクロックレベルの同期化および内部状態の共通設定を行った後、二重化構成によるシステム動作を際スタートする。
システム動作を際スタートしたマスター処理装置10−1のプロセッサエレメント702−1は、システムアダプタ700に対しコピースタート▲1▼を指示する。このコピースタート▲1▼の指示は、バス12を使用してもよいし、専用の制御線による指示であってもよい。
【0034】
またマスター処理装置10−1からのコピースタート▲1▼の指示に基づき、システムアダプタ700に設けているコマンドアドレスレジスタ710には、図3 (A)のように、そのスタートフラグ1032がオンにセットされ、また最初のロックリードコマンドパケット発行のためにロックフラグ1028も1にセットされる。またコピーアドレスレジスタ712にはコピー開始アドレスがセットされ、コピー終了アドレスレジスタ714にはコピー終了アドレスがセットされる。
【0035】
このようなマスター処理装置10−1からのコピースタート▲1▼の指示を受けたシステムアダプタ700のメモリコピー制御部708は、新たに交換した処理装置10−3のメモリ704−3に対し、現在動作中の処理装置10−1,10−2のメモリ704−1,704−2の内容をコピーするためのメモリコピー処理を開始する。
【0036】
まずメモリコピー制御部708は、バス12に対しロックリードコマンドパケット▲2▼を発行する。このロックリードコマンドパケット▲2▼は、処理装置10−1〜10−3のそれぞれでメモリ制御部706−1〜706−3に取り込まれ、コマンド解読によりメモリ704−1〜704−3のリードが行われる。
このメモリリードにより、TMRユニット10を構成する処理装置10−1〜10−3のうちマスター処理装置10−1のみがバス12にリプライパケット▲3▼を送出する。このため、システムアダプタ700のメモリコピー制御部708は、マスター処理装置10−1から送信されたリプライパケット▲3▼を受信し、リプライパケット▲3▼に続いて送出されるデータパケットからリードデータを取り込んでバッファする。
【0037】
一方、システムアダプタ700からバス12に送信したロックリードコマンドパケット▲2▼は、図4(D)のように、ロックフィールド752のロックフラグLCKが1にセットされているため、メモリ制御部706−1〜706−3のそれぞれは、この時点で指定されたコピーアドレスに対するノーマルリードコマンドパケット及びノーマルライトパケットによるアクセスを禁止するための禁止フラグをセットする。
【0038】
次に図7に示すように、システムアダプタ700のメモリコピー制御部708は、バス12に対しコピーアドレスレジスタ712のコピーアドレスをセットしたアンロックライトパケット▲4▼を発行する。またアンロックライトパケット▲4▼に続いて、図7のロックリードコマンドパケット▲2▼に対するリプライパケット▲3▼によって得られたリードデータを含むデータパケットをバス12に転送する。
【0039】
処理装置10−1〜10−3のそれぞれは、システムアダプタ700から送信されたバス12上のアンロックライトコマンドパケット▲4▼及び、これに続くデータパケットを取り込む。このとき、既に実行されたロックリードコマンドパケットによりメモリ制御部706−1〜706−3のそれぞれにあっては、同じコピーアドレスに対するアクセスを禁止するアクセス禁止フラグがオンとなっている。
【0040】
しかしながら、システムアダプタ700からのパケットはアンロックライトコマンドパケットであり、図4(E)のようにアンロックフィールド754のアンロックフラグULCKが1にセットされているため、このアンロックフラグの解読に基づき、セット状態にあるアクセス禁止フラグをオフにリセットする。
これにより、同じコピーアドレスに対するアクセスが可能となり、アンロックライトパケット▲4▼に続いて受信したデータパケットのリードデータをメモリ704−1〜704−3において、同じコピーアドレスに書き込むことができる。このときTMRユニット10として動作中の処理装置10−1,10−2については、メモリ704−1〜704−2のコピーアドレスのリードデータをそのまま書き込むだけであるが、新品として交換した処理装置10−3にあっては、メモリ704−3に処理装置10−1,10−2と同じデータを書き込むためのコピー処理を行うことになる。
【0041】
このような図6,図7に示すコピー処理を所定のデータ量単位に繰り返す。1回のコピー処理が終了すると、メモリコピー制御部708はコピーアドレスレジスタ712を更新する。このコピーアドレスの更新ごとに、メモリコピー制御部708は、コピー終了アドレスレジスタ714のコピー終了アドレスと更新されたコピーアドレスとを比較している。
【0042】
コピーアドレスがコピー終了アドレスに一致するとコピー終了を認識し、割込制御線などを使用して、処理装置10−1〜10−3にコピー終了を通知する。システムアダプタ700からのコピー終了通知を受けたマスター処理装置10−1は、新たに交換した処理装置10−3のメモリ704−3に動作中の処理装置10−1,10−2のメモリ704−1,704−2と同じデータが格納されたことを認識し、交換した処理装置10−3をTMRユニットに加え、3台の処理装置10−1〜10−3によるTMRユニット10の再構築を行い、二重化構成から三重化構成に移行する。
【0043】
図8は、図6及び図7における所定データ量ごとのコピー処理に伴うメモリコピー制御部708の処理機能を示している。メモリコピー制御部708にはコピー終了検出部1012が設けられ、コピー終了検出部1012には比較器866が設けられる。比較器866は、コピーアドレスレジスタ712のコピーアドレスとコピー終了アドレスレジスタ714の終了アドレスとを比較している。
【0044】
コピーアドレスレジスタ712のコピーアドレスは、所定データ量ごとのコピー処理が終了するごとに更新部716により更新される。比較器866において、更新後のコピーアドレスとコピー終了アドレスとの一致が判別されると、ストップ指示部715に対し一致出力が与えられ、終了ステータス1024がオンになる。この終了ステータス1024は図3(A)のコピーコマンドレジスタ712のフィールドの1つであり、この終了ステータス1024のセットで、例えば割込み等によりTMRユニット10を構成する処理装置10−1〜10−3に対しコピー終了が通知されることになる。
【0045】
図9は、図6,図7におけるコピー処理中におけるエラー発生時のメモリコピー制御部708の機能を示している。本発明の高信頼性処理装置としてのTMRユニット10におけるメモリ容量は、例えば数十メガバイトから数ギガバイトといった容量をもっており、TMRユニット10としての処理動作を継続しながらメモリコピー処理を完了するためには、それ相当の処理時間が必要となり、コピー処理の途中でエラーが発生する可能性もある。
【0046】
図9のシステムアダプタに設けられたメモリコピー制御部708にあっては、コピー終了検出部1012の中に更にエラー検出部717が設けられている。エラー検出部717は、コピー処理中にエラー例えばリプライパケットに続いて受信したデータパケットでパリティエラーを検出すると、ストップ指示部715に対しエラー検出を通知し、更新部716の更新を停止する。
【0047】
同時に、終了ステータス1024をセットし、エラー検出に伴う異常終了処理を行う。実際には、エラー検出出力が得られた際に、予め定めた回数のリトライを行ってもエラーが検出されない場合に、ストップ指示部715によるエラー検出に伴う異常終了処理を行う。
このエラー検出に伴う異常終了処理にあっては、更新部716による更新の停止でコピーアドレスレジスタ712にエラーを検出したときのコピーアドレスが保持されている。またエラー検出部717により図3(A)のコピーコマンドレジスタ712の中のエラーステータス1024をセットすることで、そのときのエラー内容を保持する。
【0048】
このようにメモリコピー制御部708にエラー検出時のコピーアドレスとエラー内容を保持しておけば、その後にマスター処理装置10−1からの参照でエラーステータス1024よりエラー内容を知り、エラー回復措置を取った後に再度コピースタートを指示することで、エラー停止となったコピーアドレスからのコピー処理の再開が可能となる。
【0049】
図10のフローチャートは、図2のシステムアダプタ700におけるメモリコピー制御部708のコピー処理である。まずステップS1で、TMRユニット10のマスター処理装置10−1よりコピースタートの指示を受けると、コピー開始アドレス及び終了アドレスのセット、更にはロックリードコマンドパケット送信のためのロックフラグのセットを行い、ステップS2で、コピー開始アドレスを指定したロックリードコマンドパケットをバス12に送信する。
【0050】
続いてステップS3で、マスター処理装置10−3からのリプライパケットを待っており、リプライパケットを受信するとステップS4に進み、リプライパケットに続くデータパケットで受信したリードデータをリードバッファに格納し、ステップS5で、アンロックライトコマンドのパケットをバス12に送信する。次にステップS6で、リードバッファに格納しているデータから構築したデータパケットをバス12に送信する。ステップS7では、マスター処理装置10−1からのアンロックライトパケットに対するリプライパケットの有無をチェックしている。リプライパケットを受信すると、ステップS8でコピーアドレスを更新し、ステップS9でコピー終了アドレスか否かチェックし、一致するまでステップS2からの処理を繰り返す。終了アドレスにコピーアドレスが一致すれば、TMRユニット10の各処理装置10−1〜10−3に対しメモリコピー終了を割込み等により通知する。
【0051】
図11は、TMRユニット10のマスター処理装置10−1の処理である。なお、スレーブ処理装置10−2,10−3は、バスに対するパケット送信を行わない以外はマスター処理装置10−1と同じである。
図11において、マスター処理装置10−1は、ステップS1でTMRユニット10を構成した通常のマスター処理装置としての動作を行っている。この状態で、故障により離脱した処理装置10−3の活性保守による交換があると、ステップS2で処理装置交換を認識し、ステップS3で、システムアダプタ700に対しコピー処理の開始を指示する。続いてステップS4で、バス12からのコマンドパケットの受信をチェックしている。
【0052】
コマンドパケットを受信すると、ステップS5でロックリードコマンドか否かチェックする。コピー処理の場合には、最初ロックリードコマンドが送られてくることから、ステップS6に進み、アクセスアドレスのロックフラグをオンし、同時にステップS7でアクセスアドレスのメモリリードを行う。続いてステップS8で、リプライコマンドのコマンドパケットをバス12に送信し、続いてステップS9で、リードデータのデータパケットを送信する。
【0053】
このようなロックリードコマンドに対するリプライコマンド及びリードデータの送信に対し、システムアダプタ側からアンロックライトコマンドのコマンドパケットが送信されてくる。そこでステップS4で新たなコマンド受信が行われたならば、ステップS5からS10に進んで、アンロックライトコマンドのコマンドパケットであることを認識し、ステップS11で、アクセスアドレスのロックフラグをオフとした後、ステップS12で、受信データのメモリライトを行い、ステップS13でリプライコマンドのリプライパケットをバス12に送信する。
【0054】
一方、ステップS6〜S9のロックリードコマンドに対するリード処理が終了した後にステップS4でノーマルライトコマンドのコマンドパケットが受信されたとすると、ステップS14に進んで、ノーマルライトコマンドが判別され、この場合には、ステップS15でアクセスアドレスのロックフラグをリードする。ノーマルライトコマンドによるアクセスコマンドがステップS6のコピー処理のためのアクセスアドレスと同一アドレスであった場合には、ロックフラグがオン状態にセットされており、ロックフラグのオンをステップS6で判別すると、ステップS17で、ビジィのステータスをもった応答コマンドのパケットをバス12に送信する。このため、メモリコピーのためのリードが行われたアドレスに対するノーマルライトコマンドによるアクセスは禁止されることになる。
【0055】
このアクセス禁止は、ステップS11でアンロックライトコマンドに基づくロックフラグのオフが行われるまで維持される。ロックフラグがオフされると、それまでビジィ応答によりリトライとなっていたノーマルライトコマンドが正常に受領されて、ステップS12の受信データのメモリライト、及びステップS13のリプライコマンドのパケット送信が正常に行われることになる。
【0056】
更に、ロックフラグのオン状態で同じアクセスアドレスに対するノーマルリードコマンドを受信した場合には、ステップS18のメモリリード処理に進む。このメモリリード処理にあっても、もしコピー処理中のアクセスアドレスと同一アドレスであったならば、ビジィ応答を返してアクセスを禁止させてもよい。またノーマルリードについては、コピーアドレスのデータの更新は行われないことから、正常にリード動作を行って応答するようにしてもよい。
2.コピーテスト
TMRユニットに対し活性保守により故障した処理装置を新品の装置に交換した場合のメモリコピー処理に際しては、メモリコピー処理が確実に行われるかどうかを確認するため、メモリコピー処理に先立ってテストコピー処理を行うことが望ましい。
【0057】
図12は、メモリコピー処理に先立って行うテストコピー処理を示している。TMRユニット10のマスター処理装置10−1は、故障した処理装置10−3の交換を認識すると、システムアダプタ700のメモリコピー制御部708にコピー処理の開始を指示するが、これに対しメモリコピー制御部708は、直ちにメモリコピー処理を開始せず、まずテストコピー▲1▼のためのコマンドパケットをバス12に送信する。
【0058】
テストコピー▲1▼のためのコマンドパケットを受領した処理装置10−1〜10−3のそれぞれは、図13のマスター処理装置10−1に代表して示すように、メモリ704−1の予め定められた領域A1にテストデータを書き込み、続いて領域A1のテストデータを別の領域A2にコピーするコピー処理を行う。
再び図12を参照するに、続いてシステムアダプタ700のメモリコピー制御部708は、バス12に対しコンペアリードのためのコマンドパケットを送信し、処理装置10−1よりリプライ▲3▼として、リプライコマンドに続いて比較のための2つのリードデータのデータパケットを受信する。即ち図13のように、マスター処理装置10−1のメモリ704−1における領域A1のテストデータと領域A2にコピーしたテストデータをそれぞれシステムアダプタ700に読み出し、リードコンペア処理部1040で両者を比較する。
【0059】
このリードコンペア処理部1040による2つのテストデータの比較で一致が得られればテストコピーを正常終了とし、本来のメモリコピー処理に移行する。もしリードコンペア処理部1040で2つのテストデータが不一致であった場合には、バス12あるいはTMRユニット10−1側に障害があることから、メモリコピー処理を異常終了させる。
【0060】
もちろん、テストコピー処理が異常終了した場合には、マスター処理装置10−1においてTMRユニットのどの処理装置が故障かあるいはバス12の障害かは判別され、故障判別結果に対応した適切なリカバリ処理が行われることになる。
図14のフローチャートは、図12のテストコピー処理について、システムアダプタ700側とマスター処理装置10−1側の処理を併せて示している。
【0061】
図14においてシステムアダプタは、まずステップS1で、アドレスA1にテストデータをライトするコマンドのパケットを送信する。このコマンドパケットの送信を受けて、マスター処理装置はステップS101でメモリのアドレスA1に所定のテストデータをライトし、リプライコマンドを応答する。
続いてシステムアダプタは、ステップS2でアドレスA1からA2へのコピーコマンドのパケットを送信する。このコマンドパケットの送信を受けて、マスター処理装置はステップS102でメモリのアドレスA1のテストデータをアドレスA2にコピーし、リプライコマンドをパケット送信する。
【0062】
続いてシステムアダプタは、ステップS3で、アドレスA1のリードコマンドのパケットを送信し、マスター処理装置はステップS103でメモリのアドレスA1のリードによりリードデータを応答する。次に、システムアダプタは、ステップS4でアドレスA2のリードコマンドのパケットを送信し、マスター処理装置はステップS104でメモリのアドレスA2のリードによる応答を行う。
【0063】
この状態でマスター処理装置より2つのアドレスA1,A2のリードデータが得られることから、システムアダプタはステップS5で2つのリードデータを比較する。ステップS6でリードデータの一致が判別されると、ステップS7に進み、メモリコピー処理を起動する。不一致であれば異常終了とする。このようなメモリコピー処理開始前のテストコピー処理によりTMRユニット10の処理装置におけるメモリコピーの機能を確認することで、より確実に、交換した処理装置に対するメモリコピーを実行することができる。
3.メモリコピーのハードウェア構成
図15は、図12のシステムアダプタ700に設けたメモリコピー制御部708の回路ブロックである。メモリコピー制御部708は、転送制御部711を有し、転送制御部711に対してはコマンドレジスタ710、コピーアドレスレジスタ712、コピー終了アドレスレジスタ714が接続されている。このうちコピーアドレスレジスタ712には更新回路716が設けられ、転送制御部711からの更新イネーブル信号により所定データ量単位のコピー終了ごとにコピーアドレスの更新が行われる。
【0064】
システムアダプタ700が接続されるバス12は、例えば32ビットのデータバス線と所定数のバスタグ制御線で構成されている。データバス線はデータバス端子718に接続される。タグ制御線は、制御端子720,722,724,726,728,730に接続される。制御端子720はアドレスセンド信号の入出力端子である。制御端子722は、データセンド信号の入出力端子である。制御端子724は、システムアダプタバスリクエストの出力端子である。
【0065】
制御端子726は、システムアダプタバスグラント信号の入力端子である。制御端子728は、処理装置に対するPMバスグラント信号の入力端子である。制御端子730は、処理装置に対するPM割込通知信号の出力端子である。これ以外にも、必要とするバスタグ制御線に応じて対応する制御端子が設けられるが、説明を簡単にするため省略している。
データバス端子718に対しては、出力バッファ742とリードバッファ744が設けられている。出力バッファ742にはバスに対するコマンドパケット及びデータパケットが格納される。リードバッファ744には、バスから受信したデータパケットによるリードデータが格納される。出力バッファ742におけるコマンドパケットの生成及びデータパケットの生成は、転送制御部716からのセットクロックに同期したORゲート740からの出力で行われる。
【0066】
ORゲート740は5入力のORゲートであり、それぞれANDゲート730,732,734,736,738を備えている。ANDゲート730,732,734,736,738には、ノーマルリードコマンドC1、ノーマルライトコマンドC2、ロックリードコマンドC3、アンロックライトコマンドC4、及びリードバッファ744からのリードデータRDが入力されている。
【0067】
それぞれのコマンド及びデータは転送制御部711からの選択信号S1〜S5により選択され、出力バッファ742に格納されてコマンドパケットまたはデータパケットが作成される。
図16は図15に示したシステムアダプタのメモリコピー制御部708の詳細であり、同一の回路要素は同じ番号で表わしている。このメモリコピー制御部708は、図16に示すコピースタート指示回路1000、送受信タイミング回路1002、コマンドデータ選択指示回路1004、及び図17に示すパケット送信回路1006、コマンドデコード回路1008、コピーアドレス更新回路1010、及びコピー終了検出回路1012で構成される。
【0068】
また図18は、図2のマスター処理装置10−1に設けたメモリ制御部706−1の詳細であり、他の処理装置10−2,10−3のメモリ制御部706−2,706−3も同じ回路構成をもつ。マスター処理装置10−1のメモリ制御部706−1は、受信タイミング回路1014、パケット受信回路1016、メモリ制御回路1018、送信タイミング回路1020、パケット送信回路1022で構成されている。
【0069】
このようなシステムアダプタのメモリコピー制御部708及びマスター処理装置のメモリ制御部について動作と共に構成を説明すると、次のようになる。
▲1▼コピースタートとロックリードコマンド
まずマスター処理装置10−1からの指示により、図15のシステムアダプタのコマンドレジスタ710のスタートフラグがオンとなり、同時にロックリードコマンドを発行するためにロックフラグのビットオンも行われる。このコマンドレジスタ710のスタートフラグのセット論理により、図16のコピースタート指示回路1000のORゲート768よりセット論理信号e1がオンし、FF772で保持された後、コピースタート信号e3としてFF774に保持され、ANDゲート776、ORゲート778を介してコピースタート信号e4がオンする。
【0070】
コピースタート信号e4は送受信タイミング回路1002に与えられ、ORゲート812、FF816及びドライバ818を介して制御端子724に対するSAバスリクエスト信号e11をオンし、バスアービタ11に対するバス利用権の獲得を要求する。このSAリクエスト信号e11のオンに対し、バスアービタ11からは許可信号としてのSAグラント信号e12が制御端子726に応答される。
【0071】
したがって、制御端子726及びドライバ826を介して得られたSAグラント信号e12は、ANDゲート822の出力をオンして、FF824,826を介してシステムアダプタ内の動作ステージ信号CST1,CST2,CST3を順次オンとする。
一方、コピースタート指示回路1000より出力されたコピースタート信号e4は、コマンドデータ選択指示回路1004からロックリードコマンド選択信号S3をオンとする。即ち、セット論理によりFF780よりロック信号e5がオンとなっており、またFF810からのリードを示す信号e10がオンとなっており、更にコピースタート信号e4がオンとなることで、ANDゲート784の出力がオンとなってロックリードコマンド選択信号e3を出力する。
【0072】
このロックリードコマンド選択信号e3は図17のパケット送信回路1006のANDゲート734に与えられ、同時に入力しているロックリードコマンドC3を選択し、ORゲート740及びゲート回路842を介して出力バッファ742に格納し、ロックリードコマンドの送信パケットを生成し、このときORゲート843で得られるアドレスセンド信号e14のオンによるイネーブル状態で、データバス端子718に対しロックリードコマンドのコマンドパケットを送信する。
【0073】
即ち、図16の送受信タイミング回路1002における送信動作ステージ信号CST1のタイミングでパケット送信回路1006の出力バッファ742にロックリードコマンドC3のコマンドパケットをセットし、次の送信動作ステージ信号CST2のタイミングでバスデータBDとしてバスに出力する。この送信動作ステージ信号CST2のタイミングでは、同時に図16の送受信タイミング回路1002における制御端子720に対しドライバ830を介してアドレスセンド信号e14がオンとなる。
【0074】
このようなシステムアダプタ側からのロックリードコマンドのパケット送信に対し、図18のマスター処理装置のメモリ制御部は次のように動作する。
送受信タイミング回路1014は、制御端子888にアドレスセンド信号e30を受けると、FF892で保持した後、ANDゲート894に続いて設けた3つのFF896,898,900によって3段階の受信動作ステージ信号MST1〜MST3を生成する。同時にFF904によるラッチでチップセレクト信号e31をオンとする。チップセレクト信号e31は、ANDゲート902に対する受信動作ステージ信号MST3がオンとするまで維持される。
【0075】
同時にパケット受信回路1016にデータバス端子906よりシステムアダプタから送信されたロックリードコマンドのコマンドパケットが受信され、ドライバ908を介してバッファ910に保持される。バッファ910に保持されたロックリードコマンドはデコーダ912により解読され、メモリアクセス信号e32をオンし、またリードを示す信号e33をオンし、ゲート回路914を介してFF916に保持した後、リード信号e34をオンする。
【0076】
またロックリードコマンドの中のロックフラグはFF918に保持され、ゲート回路920からのロック信号e36をオンし、これをFF922で保持してフラグメモリ932に出力する。フラグメモリ932はFF930に保持されたアクセスアドレスの指定を受け、同時にライトイネーブル信号e37及びチップセレクト信号e31がオンしていることから、フラグメモリ932のアクセスアドレスにアクセス禁止フラグ934を書き込んでオンとする。
【0077】
更にバッファ910に保持されたアドレスパケット番号コマンドを示す信号e34は、ゲート回路948を通ってFF950に保持され、メモリ704をアクセスする。このときチップセレクト信号e31はオン、ANDゲート946からのライトイネーブル信号e43はオフとなってリードイネーブルであるため、メモリ704からはロックリードコマンドで指定されたアドレスのリードデータe44が読み出され、ゲート回路952を介して受信動作ステージ信号MST2のタイミングでリードバッファ954に格納される。
【0078】
このロックリードコマンドの受信時には、ロック信号e36のオンによりFF924がゲート回路926及びFF928を経て得られるマスク信号e36はオフとなっている。このときフラグメモリ932のアクセスアドレスからのアクセス禁止フラグ934の読出しでゲート回路938及びFF940から得られるビジィステータス信号e40がオンしていても、マスク信号e38のオフによる禁止でビジィステータス信号e40が出力バッファ988に与えられず、ロックリードコマンドを発行したシステムアダプタ200からの要求がビジィとなることを防止している。
【0079】
続いてメモリ704からリードしたりとデータのバス12に対する送信動作に入る。送信動作は、送信タイミング回路1020が受信タイミング回路1014からの受信動作ステージ信号MST3をORゲート956を介して入力してFF960に保持し、制御端子962よりバスに対し処理装置におけるPMバスリクエスト信号e46をオンする。このPMバスリクエスト信号e46のオンに対し、バスアービタ1より制御端子964に対するPMバスグラント信号e47がオンとなり、FF966,968,974によって順次、送信動作ステージ信号SST1,SST2,SST3が作成される。
【0080】
パケット送信回路1022は、送信動作ステージ信号SST1のタイミングで出力バッファ988にリプライコマンドとアドレスをセットしてコマンドパケットを作成し、次の送信動作ステージ信号SST2のタイミングでアドレスセンド信号e50のオンに同期して、ドライバ990よりデータバス端子994を介してバスにリプライパケットを送信し、同時に出力バッファ988にリードバッファ954のリードデータを格納してデータパケットを作成し、次の送信動作ステージ信号SST3のタイミングでデータセンド信号e51のオンに同期してバスに送信する。
【0081】
次に、図18のマスター処理装置10−1側からのリプライコマンドに対する図16,図17のシステムアダプタ側は次のように動作する。
図16の送受信タイミング回路1000には、制御端子728からドライバ834を介してPMバスグラント信号e15のオンを入力すると、ANDゲート836、FF838及び840によって受信動作ステージ信号ST1,ST2,ST3を生成する。
【0082】
このPMバスグラント信号e15のオンに同期した受信動作ステージ信号ST1のオンにより、図89のパケット受信回路1007に対しデータバス端子718より受信したリプライパケットのリードデータを、ドライバ846を介しANDゲート848及びORゲート852を介して受信動作ステージ信号ST2のタイミングでリードバッファ744に格納する。
【0083】
またコマンドデコード回路1008において、受信コマンドをデコード852で解読し、リードリプライ信号e17をオンする。このためゲート回路854及びFF856を介してリードリプライフェーズ信号e7がオンとなる。リードリプライフェーズ信号e7がオンになると、図88のコピースタート指示回路1000のANDゲート794の出力がオンとなり、ORゲート798を介して再アクセス指示信号e9がオンする。
【0084】
このため、ANDゲート800、FF802、更にORゲート778を介してコピースタート信号e4が再びオンとなる。このとき再アクセス指示信号e9のオンによりFF810からのライト信号e10側がオンとなる。またFF782に対するセット論理によりアンロック信号e6もオンしているため、ANDゲート786の出力がオンし、アンロックライトコマンド選択信号e4を出力する。
【0085】
一方、再アクセス指示信号e9のオンに伴うコピースタート信号e4のオンで、送信タイミング回路1002の制御端子724からのSAバスリクエスト信号e11がオンとなり、バスアービタ11からの許可により制御端子726に対するSAバスグラント信号e12がオンする。このSAバスグラント信号e12のオンにより、最初のロックリードコマンドの送信時と同様にして送信動作ステージ信号CST1〜CST3が順次オンし、アドレスセンド信号e14のオン、データセンド信号e13のオンが順番に行われる。
【0086】
コマンドデータ選択指示回路1004からのアンロックライトコマンド選択信号S4は、図17のパケット送信回路1006のANDゲート736に与えられ、アンロックライトコマンドC4が選択され、送信動作ステージ信号CST1のタイミングで出力バッファ42に格納され、次の送信動作ステージ信号CST2のタイミングにおけるアドレスセンド信号e14のオンに同期し、データバス端子718よりバスにアンロックライトコマンドのコマンドパケットが送信される。
【0087】
同時にパケット受信回路1007のリードバッファ744に保持されているリードデータRDが、コマンド選択指示回路1004からのデータ選択信号S5のオンによりANDゲート738、ORゲート740、更にゲート回路842を介して出力バッファ742に格納される。そして、最後の送信動作ステージ信号CST3のタイミングにおけるデータセンド信号e13のオンに同期し、出力バッファ742のリードデータRDのデータパケットがバスに送信される。
【0088】
システムアダプタからのアンロックライトコマンドのコマンドパケット及びリードデータのデータパケットを送信された図18のマスター処理装置のメモリ制御部は、次のように動作する。
受信タイミング回路1014のアドレス信号e30のオンに伴う受信動作ステージ信号MST0,MST1,MST2,MST3に応じ、パケット受信回路1016のバッファ910に格納されたアンロックライトコマンド及びリードデータによるメモリ制御回路1018のメモリ704に対する書込動作が行われる。まずデコーダ912は、ライトを示すライト信号e33をオンとし、FF916からのライト信号e34が有効となる。
【0089】
またFF918からのアンロック信号e35がオンとなり、フラグメモリ932に対するロック信号e36がオフとなる。このため、FF930で保持したアクセスアドレスによるフラグメモリ932のアクセスで、それまでオン状態にセットされていたアクセス禁止フラグ934がロック信号e36のオフによる書込みでリセットされる。
【0090】
このため、メモリ704に対するライトイネーブル信号e43をオフとしていたANDゲート946の禁止状態が解除され、ライトイネーブル信号e43がオンとなり、メモリ704のライトアクセスを可能とする。メモリ704はFF950を介したアドレスパケット番号及びコマンドのアクセス信号e43によるアクセスを受けて、FF944の保持で得られたライトデータe42のアクセスアドレスへの書込を行う。
【0091】
書込みが済むと、受信動作ステージ信号MST3のオンに基づき送信タイミング回路1020がPMバスリクエストe46をオンとし、これに対するバスアービタ11からのMPバスグラント信号e47のオンに基づき送信動作ステージ信号SST1〜SST3を生成して、メモリ704に対するアンロックライトコマンドの正常終了を示すリプライコマンドのシステムアダプタに対する送信を行う。
【0092】
一方、フラグメモリ932にアクセス禁止フラグ934がセットされた状態でノーマルライトコマンドによる同じアクセスアドレスのメモリ704に対するライト要求があった場合、フラグメモリ932によるアクセスアドレスの指定によるアクセス禁止フラグ934の読出しでライトイネーブル信号e43のオフ状態が作り出され、メモリ704に対するアクセスが禁止される。
【0093】
フラグメモリ932からのアクセス禁止フラグ934の読出しに基づいてゲート回路938及びFF940からのビジィステータス信号e40がオンとなり、このときマスク信号e38はオンしていることから、パケット送信回路1022のANDゲート980の出力がオンとなり、ゲート回路984を介して出力バッファ988にビジィステータス信号e40が与えられ、ビジィステータスのリプライパケットをノーマルライトコマンドの送信元に送り返すようになる。
【0094】
これによってコピー処理のためのリードが終了してから次にコピーのためのライトが行われるまでの間、同一のコピーアドレスに対するノーマルライトコマンドによるアクセスが禁止される。
最後に、マスター処理装置からのアンロックライトコマンドに基づくメモリ書込み終了のリプライコマンドを受信したときの図16,図17のシステムアダプタ側の動作は次のようになる。
【0095】
図17のコマンドデコード回路1008は、パケット受信回路1007を介してマスター処理装置10−1側から送信されたライトリプライコマンドを受信すると、デコーダ852による解読でライトリプライ信号e18をオンする。このため、ゲート回路858,FF860を介してライトリプライフェーズ信号e8がオンする。ライトリプライフェーズ信号e8がオンすると、図16のコピースタート指示回路1000のANDゲート796の出力がオンし、ORゲート798を介して再アクセス指示信号e9が再びオンする。
【0096】
同時にFF810からのリード信号e10側を次のコピー処理のロックリードコマンドの送信のためにオンする。更に図17のコマンドデコード回路1008で得られたライトリプライフェーズ信号e8は、コピーアドレス更新回路1010に与えられる。コピーアドレス更新回路1010に対するライトリプライフェーズ信号e8がオンになると、コピーアドレスレジスタ712に対するイネーブル信号e19をオフとし、コピーアドレスレジスタ712を次のメモリコピーアドレスに更新する。
【0097】
更新されたコピーアドレスレジスタ712のコピーアドレスe20は、コピー終了検出回路1012に設けた比較器866で終了アドレス信号e21と比較されており、不一致であれば一致信号e22はオフとなり、コピー終了信号e23もオフとなっている。このため、図16のコピースタート指示回路1000からのコピースタート信号e4が再びオンとなり、ロックリードコマンドとアンロックライトコマンドの送信によるコピー処理を繰り返す。
【0098】
図17のコピー終了検出回路1012の比較器866で、コピーアドレスe21と終了アドレスe21の一致によって比較器866からの一致信号e22がオンすると、このときロック信号e5,アンロック信号e6は共にオンし、またコピーアドレス更新回路1010のドライバ864による反転で出力される終了信号e19もオンであることから、ANDゲート868の出力がオンする。このため、ORゲート872及びFF876を介して正常終了信号e24がオンし、ドライバ880より制御端子730を介してマスター処理装置10−2に対しPM割込信号e25がオンする。
【0099】
またORゲート870を介してコピー終了信号e23がオンし、図16のコピースタート指示回路1000のANDゲート770の出力を反転入力によりオフとし、FF772に対するスタートフラグのセット論理信号e1のラッチを解除する。このため、ANDゲート800が禁止状態となり、再アクセス指示信号e9のオンによるコピースタート信号e4のオンを禁止する。
【0100】
正常終了時のPM割込通知信号e25のオンに対しては、マスター処理装置10−1がコピーコマンドレジスタ712の終了ステータス1024の参照でメモリコピー処理の正常終了を認識することができる。
次にコピー処理中に何らかのエラーが検出された場合、例えばマスター処理装置からのリプライコマンドによる受信データのパリティエラーが発生したとすると、図17のコピー終了検出回路1012においてパリティエラー信号e16がオンとなる。このため、ORゲート882,FF886を介してエラー信号e26がオンとなり、ORゲート878,ドライバ880を介して制御端子730よりPM割込通知信号e25をオンする。
【0101】
同時に、図3(A)に示したコピーコマンドレジスタ712のエラーステータス1026にパリティエラーを示すエラー情報を格納する。このため、PM割込通知信号e25を受けたマスター処理装置10−1にあっては、システムアダプタに設けているコピーコマンドレジスタ712のエラーステータス1024を参照することにより割込内容を解析して、エラー終了であることを認識できる。
【0102】
なお上記の実施例にあってはスプリット方式のバスを例にとるものであったが、本発明はこれに限定されず、インターロック方式やそれ以外のバスであっても全く同様に適用できる。
【0103】
【発明の効果】
以上説明してきたように本発明によれば、少なくとも3台の処理装置で構成された三重化処理による高信頼性情報処理装置において、1台の処理装置が故障した際の活性保守による復旧を、新たに交換した処理装置のメモリを動作中の処理装置のメモリに一致させるためのコピー処理により可能とし、速やかな三重化構成への復旧を可能とし、耐故障性を大きく高めることができる。
【0104】
またメモリコピー処理中に他の装置からのコピー対象領域に対するアクセスを抑制することで、メモリコピー中の更新を抑止すると同時に、通常動作における制限を最小限に抑えることが可能となり、メモリコピーに時間が掛かっても、業務の停止といった事態を確実に回避できる。またメモリコピーに先立ってテストコピーを行うことで、転送制御系回路の正常動作を確認できるため、早期に異常の検出が可能となり、システムの迅速な復旧を図ることができる。
【0105】
更に、メモリコピーの処理中に特定のメモリ領域がアクセス禁止に陥っても、処理装置側からのアンロックコマンドの発行で簡単にロック状態を解除できるため、システムを通常状態に復旧してリトライするなどの適切な処理ができる。更にまた、コピー処理中にエラー終了した場合、終了アドレス及びエラー内容を処理装置側から認識できるため、エラー原因に対応したエラー回復が確実にでき、またエラー時のコピーアドレスから処理を再開できるため、リトライに要する時間を低減することができる。
【図面の簡単な説明】
【図1】本発明の原理説明図
【図2】処理装置交換時にメモリコピー処理を行うブロック図
【図3】図2のシステムアダプタのレジスタ内容の説明図
【図4】バスコマンドパケットと具体例の説明図
【図5】バスリプライパケットと具体例の説明図
【図6】メモリコピー処理のスタートとロックリードコマンドの処理説明図
【図7】図6に続くアンロックライトコマンドの処理説明図
【図8】メモリコピー処理におけるシステムアダプタの機能ブロック図
【図9】エラー検出時のシステムアダプタの機能ブロック図
【図10】システムアダプタのコピー処理のフローチャート
【図11】マスター処理装置のコピー処理のフローチャート
【図12】コピーテスト処理の説明図
【図13】コピーテスト処理の機能ブロック図
【図14】コピーテスト処理のフローチャート
【図15】図2のシスタムアダプタのメモリコピー制御部のブロック図
【図16】図15のメモリコピー制御部の回路図
【図17】図15のメモリコピー制御部の回路図(続き)
【図18】図2の処理装置のメモリ制御回路の回路図
【符号の説明】
10:TMRユニット(3重化構成ユニット)
10−1,10−2,10−3,10−n:処理装置
12,12−1,12−2:バス
700:シスタムアダプタ
702−1〜702−3:プロセッサ
704−1〜704−3:メモリ
706−1〜706−3:メモリ制御部
708:メモリコピー制御部
710:コマンドレジスタ
712:コピーアドレスレジスタ
714:コピー終了アドレスレジスタ
716:転送制御
742,988;出力バッファ
744,954ドバッファ
886:比較器
932:フラグメモリ
1000:コピースタート指示回路
1002:送受信タイミング回路
1004:コマンドデータ選択指示回路
1006:パケット送信回路
1007:パケット受信回路
1008:コマンドデコード回路
1010:コピーアドレス更新回路
1012:コピー終了検出回路
1014:受信タイミング回路
1016:パケット受信回路
1018:メモリ制御回路
1020:送信タイミング回路
1022:パケット送信回路
Claims (4)
- バスを介して接続され、同じ処理動作を同時に行う複数の処理装置を有し、前記処理装置のうちの1台をマスター処理装置とし、残りをスレーブ処理装置とし、前記マスター処理装置は生成した情報の前記バスへの送出と前記バス上の情報の取り込みを行い、前記スレーブ処理装置は生成した情報を前記バスへ送出せず前記バス上の情報の取り込みのみを行う多重化ユニットで構成された情報処理システムのメモリコピー装置に於いて、
前記多重化ユニットを構成する前記複数の処理装置のうちの1台が故障して新たな処理装置に交換した際に、動作中の処理装置のメモリの内容の交換した処理装置のメモリへのコピーを指示するコピー処理部と、
前記コピー処理部の指示に基づいてメモリのコピー動作を行うと共に、コピー中における前記メモリのコピー領域に対する他の装置によるアクセスを禁止するメモリ制御部と、を設け、
前記コピー処理部のコピー指示は、前記メモリ制御部にリード領域の通常コマンドによるアクセスを禁止するロック情報を付加したリードコマンドを発行し、続いて前記メモリ制御部に前記ロック情報を解除するアンロック情報を付加したライトコマンドを発行することを特徴とする情報処理システムのメモリコピー装置。 - 請求項1記載の情報処理システムのメモリコピー装置に於いて、
前記コピー処理部は、前記メモリ制御部にリードコマンドを発行してコピー領域のリードデータを取得し、続いて前記メモリ制御部にライトコマンドを発行して前記リードデータを同じコピー領域へライトさせ、
前記メモリ制御部は、前記コピー処理部からのリードコマンドに基づいてメモリのコピー領域のデータをリードすると共に該コピー領域に対する他の装置からのアクセスを禁止し、前記コピー処理部からのライトコマンドに基づいて前記コピー領域に前記リードデータをライトすると共に前記アクセス禁止状態を解除することを特徴とする情報処理システムのメモリコピー装置。 - 請求項1記載の情報処理システムのメモリコピー装置に於いて、前記コピー処理部は、
コピー開始アドレスを保持した第1レジスタと、
コピー終了アドレスを保持した第2レジスタと、
所定データ量単位に前記メモリ制御部にリードコマンドを発行してコピー領域のリードデータを取得し、続いて前記メモリ制御部にライトコマンドを発行して前記リードデータの同じコピー領域へライトさせるコピー指示部と、
該コピー指示部による所定データ量単位のコピーが終了する毎に、前記第1レジスタのコピーアドレスを更新する更新部と、
前記第1レジスタと第2レジスタのコピーアドレスを比較し、両者が一致した時に、コピー処理の正常終了を検出してコピー処理を停止させるコピー終了検出部と、
を備えたことを特徴とする情報処理システムのメモリコピー装置。 - 請求項1記載の情報処理システムのメモリコピー装置に於いて、前記コピー処理部は、コピー処理に先立って前記メモリ制御部に、前記処理装置のメモリの第1領域から第2領域へのデータのコピーを指示し、コピー元とコピー先の各データをリードして比較することにより、コピーが正常に行われたか否か確認するテストコピー処理部を備えたことを特徴とする情報処理システムのメモリコピー装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP09223896A JP3696689B2 (ja) | 1996-04-15 | 1996-04-15 | 情報処理システムのメモリコピー装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP09223896A JP3696689B2 (ja) | 1996-04-15 | 1996-04-15 | 情報処理システムのメモリコピー装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH09282292A JPH09282292A (ja) | 1997-10-31 |
JP3696689B2 true JP3696689B2 (ja) | 2005-09-21 |
Family
ID=14048866
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP09223896A Expired - Fee Related JP3696689B2 (ja) | 1996-04-15 | 1996-04-15 | 情報処理システムのメモリコピー装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3696689B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3481485B2 (ja) | 1999-01-28 | 2003-12-22 | エヌイーシーコンピュータテクノ株式会社 | マルチプロセッサシステム |
JP4161276B2 (ja) | 2004-12-17 | 2008-10-08 | 日本電気株式会社 | フォルトトレラントコンピュータ装置およびその同期化方法 |
-
1996
- 1996-04-15 JP JP09223896A patent/JP3696689B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH09282292A (ja) | 1997-10-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5185877A (en) | Protocol for transfer of DMA data | |
US7493517B2 (en) | Fault tolerant computer system and a synchronization method for the same | |
US20090044044A1 (en) | Device and method for correcting errors in a system having at least two execution units having registers | |
JPH01154243A (ja) | 耐欠陥性でない要素と耐欠陥性システムとのインターフェイス | |
US20060150006A1 (en) | Securing time for identifying cause of asynchronism in fault-tolerant computer | |
JPH01154241A (ja) | 同期二重コンピュータシステム | |
JPH02118872A (ja) | I/oの読み取りに対するエラーチェック機能を有したデュアルレールプロセッサ | |
US5163138A (en) | Protocol for read write transfers via switching logic by transmitting and retransmitting an address | |
EP0415546A2 (en) | Memory device | |
JP2000181887A (ja) | 情報処理装置における障害処理方法及び記憶制御装置 | |
JP4182948B2 (ja) | フォールト・トレラント・コンピュータシステムと、そのための割り込み制御方法 | |
EP1380950B1 (en) | Fault tolerant information processing apparatus | |
JP3329986B2 (ja) | マルチプロセッサシステム | |
JP3774826B2 (ja) | 情報処理装置 | |
GB2369690A (en) | A dirty memory using redundant entries indicating that blocks of memory associated with the entries have been written to | |
JP3696689B2 (ja) | 情報処理システムのメモリコピー装置 | |
JP3069585B2 (ja) | データ処理装置における目標指定リセット法 | |
JP3063334B2 (ja) | 高信頼度化情報処理装置 | |
JPH10133926A (ja) | ミラー化ディスク復旧方法と復旧システム | |
JPH06124242A (ja) | 二重化共有メモリ等価性保証方式 | |
JPH0221353A (ja) | マルチプロセッサシステム | |
JP2815730B2 (ja) | アダプタ及びコンピュータシステム | |
JPH05108493A (ja) | メモリ制御方式 | |
JP2000047948A (ja) | 共有メモリモジュールを備えた情報処理装置 | |
JPH01298454A (ja) | バスのパリティチェック方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20040511 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050301 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050428 |
|
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: 20050607 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050630 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080708 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090708 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100708 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100708 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110708 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110708 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120708 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120708 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130708 Year of fee payment: 8 |
|
LAPS | Cancellation because of no payment of annual fees |