(57)【要約】【課題】ＣＰＵのアクセス動作を低下させることなく現用系および予備系のメモリに書き込みを行うことができる複合計算機システムを得る。【解決手段】現用系ＣＰＵ１１がバス１３を介して現用系メモリ１２にデータを書き込むとき系間データ送信バッファ３は、バス１３を通過する書き込みアドレスおよびデータを監視し、予備系計算機２へ送信する必要があるアドレスをデコードするとそのアドレスおよびデータをバッファ３に取り込む。バッファ３は系間データ受信バッファ４の空き領域に転送データおよびアドレスを転送する。バッファ４は、データおよびアドレスを受信すると予備系ＣＰＵ２１に対してバス権獲得のためのバスリクエストを出し、バス権を獲得すると予備系競合制御スイッチ２３によってバス１５とバス２５が接続され、バッファ４の内容がメモリ２２に書き込まれる。【選択図】        図１
2004213479.tif 000002
【特許請求の範囲】
【請求項１】
第１の中央処理装置と第１のメモリとを有する第１の計算機と、第２の中央処理装置と第２のメモリとを有する第２の計算機とを備え、第１のメモリに書き込む情報と同一の情報を第２のメモリに書き込む複合計算機システムにおいて、
第１の中央処理装置と第１のメモリとを接続する接続手段を通過する情報を監視して第２の計算機に転送するように分類される情報を取り込み、当該情報を第２のメモリに転送するバッファを備えたことを特徴とする複合計算機システム。
【請求項２】
第１の中央処理装置が、メモリに書き込む情報に誤り訂正符号を付加する符号付加回路を備え、
第２の中央処理装置が、第２のメモリに格納される情報の誤りを検出する誤り検出回路を備えたことを特徴とする請求項１記載の複合計算機システム。
【請求項３】
第１の計算機が、バッファと第１の中央処理装置のうち第１の中央処理装置が優先的に第１のメモリと接続するように前記第１の中央処理装置によって調停される第１のスイッチを備え、
第２の計算機が、バッファと第２の中央処理装置のうちバッファが優先的に第２のメモリと接続するように前記第２の中央処理装置によって調停される第２のスイッチを備え、
前記第１のメモリが前記第１の中央処理装置に優先的に接続され、前記第２のメモリが前記バッファに優先的に接続されている間に、前記バッファが前記第１のメモリの情報を取り込み前記第２のメモリに転送することを特徴とする請求項１または請求項２記載の複合計算機システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、現用系の計算機が格納する情報と同一の情報を予備系の計算機に格納する複合計算機システムに関するものである。
【０００２】
【従来の技術】
現用系計算機と予備系計算機とを備えた複合計算機システムでは、現用系計算機に障害が発生した場合に予備系計算機に速やかに切り替わり処理が継続される必要があるため、現用系と予備系のメモリの内容を一致させておく必要がある。従来の複合計算機システムでは、現用系のＣＰＵが自系メモリに書き込む際に、ＣＰＵからの書き込み要求信号が書き込みの制御を行うソフトウエアを実行する書き込み制御部に供給され、この書き込み制御部が現用系メモリに書き込みを行うと同時に予備系メモリにも書き込みを行っていた。書き込み制御部は、両系のメモリに対して書き込みが終わると、現用系ＣＰＵに対して書き込み終了の通知を行う。例えば、特許文献１はこの種の複合計算機システムを開示する。
【０００３】
【特許文献１】
特開昭５９−１７６８５９号公報（第１図）
【０００４】
【発明が解決しようとする課題】
以上のように従来の複合計算機システムでは、書き込み制御部が両系のメモリに同時に書き込みを行うため、現用系（自系）メモリだけでなく予備系メモリの書き込みが完了するまで現用系ＣＰＵは次の動作を実行できない。したがって、大量の書き込みを行う必要がある場合等に現用系ＣＰＵを長い時間待機させてしまい、ＣＰＵのアクセス性能を低下させてしまうという課題があった。
【０００５】
この発明は上記のような課題を解決するためになされたもので、現用系計算機と予備系計算機とを備えた複合計算機システムにおいて、ＣＰＵのアクセス性能を低下させることなく現用系および予備系のメモリに書き込みを行うことができる複合計算機システムを得ることを目的する。
【０００６】
【課題を解決するための手段】
この発明に係る複合計算機システムは、第１の中央処理装置と第１のメモリとを接続する接続手段を通過する情報を監視して第２の計算機に転送するように分類される情報を取り込み、当該情報を第２のメモリに転送するバッファを備えたものである。
【０００７】
【発明の実施の形態】
以下、この発明の様々な実施の形態を説明する。
実施の形態１．
図１はこの発明の実施の形態１による複合計算機システムを示す図である。図１に示すように、複合計算機システムは、現用系計算機（第１の計算機）１と予備系計算機（第２の計算機）２とを備える。現用系計算機１は、現用系ＣＰＵ（第１の中央処理装置）１１、現用系メモリ（第１のメモリ）１２を備える。ＣＰＵ１１とメモリ１２とはバス（接続手段）１３を介して接続され、ＣＰＵ１１はメモリ１２に対してリードおよびライトを行う。予備系計算機２は、予備系ＣＰＵ（第２の中央処理装置）２１、予備系メモリ（第２のメモリ）２２、予備系競合制御スイッチ（第２のスイッチ）２３を備える。予備系競合制御スイッチ２３はＣＰＵ２１によって制御され（バス調停）、ＣＰＵ２１がバス権を獲得するとバス２４とバス２５とが接続される。このときＣＰＵ２１はメモリ２２と接続されメモリ２２に対してリードおよびライトを行うことが可能である。
平常時は現用系計算機１が使用され、予備系はいつでも現用系に切り替わる（ホットスタンバイ）状態となっている。現用系計算機１が故障すると予備系計算機２が現用系に切り替わって使用される。
【０００８】
ＣＰＵ１１とメモリ１２とを接続するバス１３にはバス１５が接続され、バス１５によって現用系計算機１と予備系計算機２とが接続される。現用系計算機１と予備系計算機２との間には、系間データ送信バッファ３と系間データ受信バッファ４とが接続されている。バッファ３，４はそれぞれプロセッサを備える。ＣＰＵ２１によってバス調停が行われ、系間データ受信バッファ４がバス権を獲得するとバス１５とバス２５とが接続される。このとき、バッファ４の内容がメモリ２２に書き込まれる。
【０００９】
次に動作について説明する。
現用系ＣＰＵ１１はバス１３を介して現用系メモリ１２にデータを書き込む。このとき系間データ送信バッファ３は、バス１３を通過する書き込みアドレスおよびデータを監視し、予備系計算機２へ送信するように分類されるアドレスをデコードするとそのアドレスおよびデータを取り込む。続いて、バッファ３は系間データ受信バッファ４の空き領域が存在するか否かを調べ、存在する場合は取り込んだ転送データおよびアドレスをバッファ４へ転送する。空き領域が存在しない場合は、バッファ３はバッファ４に空き領域ができるまで転送データおよびアドレスを格納し続け、空き領域ができたらバッファ４に転送する。
【００１０】
系間データ受信バッファ４は、データおよびアドレスを受信すると予備系ＣＰＵ２１に対してバス権獲得のためのバスリクエストを出す。バスリクエストに応じてＣＰＵ２１はバス調停を行い、バッファ４がバス権を獲得するとバス１５とバス２５が競合制御スイッチ２３によって接続される。但し、バス権獲得の優先権はＣＰＵ２１が予備系であることから平常時はバッファ４が有する。バッファ４とメモリ２２とが接続されるとバッファ４の内容がメモリ２２に書き込まれる。バッファ４は空になるまで予備系ＣＰＵ２１に対してバスリクエストを出し、データをメモリ２２に転送する。
【００１１】
ＣＰＵ２１はバッファ３，４が溢れる（オーバーフロー）ことのないようにバス調停を行う。バッファ３，４はそれぞれデータの滞留量を常時監視し、溢れを検知した場合はハードウエア障害として予備系計算機２を切り離す。すなわち、予備系は現用系になるには不適切であるため、ホットスタンバイ状態が解除される。
【００１２】
以上のように、この実施の形態１によれば、バッファ３が現用系ＣＰＵ１１と現用系メモリ１２とを接続するバス１３を通過するアドレスおよびデータを監視して予備系計算機２に送信するように分類されたデータを取り込みバッファ４に転送し、バッファ４が予備系メモリ２２にデータを転送するようにしたので、現用系ＣＰＵ１１が現用系メモリ１２にデータを書き込む動作と、系間データ転送とを独立させることができ、現用系ＣＰＵ１１は予備系への系間データ転送の負荷を受けずにメモリ１２への書き込みができる。したがって、現用系ＣＰＵ１１のアクセス動作を低下させることなく、かつ最速で現用系および予備系のメモリに書き込みを行うことができる効果が得られる。
【００１３】
なお、２つのバッファ３，４の替わりにバッファ３，４の機能を有する１つのバッファを用いてもよい。
【００１４】
実施の形態２．
図２はこの発明の実施の形態２による複合計算機システムを示す図である。図２において、図１と共通する要素には同一符号を付し、その説明を省略する。現用系ＣＰＵ１１および予備系ＣＰＵ２１は、ソフトウエアに従って動作する演算回路（図示せず）と別体のＥＣＣ生成チェック回路１６，２６をそれぞれ備える。現用系ＣＰＵ１１のＥＣＣ生成チェック回路（符号付加回路）１６は、転送するデータに誤り訂正符号（ＥＣＣ：Ｅｒｒｏｒ  Ｃｏｒｒｅｃｔｉｎｇ  Ｃｏｄｅ）を付加する。予備系ＣＰＵ２１のＥＣＣ生成チェック回路（誤り検出回路）２６は、メモリ２２に格納されるデータをＥＣＣを使ってチェックし、現用系から転送されたデータに異常がないかどうかを調べる。ＥＣＣを使ってデータをチェックすることによってデータの誤りを検出・訂正できる。
【００１５】
この実施の形態２では、系間転送データが正しく転送されたか否かをチェックする。従来のデータ転送では、ソフトウエアによって系間転送データにチェックサムを付加し、このチェックサムを受信側で調べることによってデータの信頼性を確認していた。しかしながら、チェックサムでは誤りの訂正ができず、またＣＰＵ処理に負荷がかかってしまう。そこでこの発明では、図２に示すように、現用系ＣＰＵ１１のＥＣＣ生成チェック回路１６が系間転送データにＥＣＣを付加し、予備系ＣＰＵ２１のＥＣＣ生成チェック回路２６がＥＣＣのチェックを行うことによって、正しくデータ転送されたか否かを調べるようにする。このようなＥＣＣ生成チェック用のハードウエアはＣＰＵ負荷に影響を与えない。
【００１６】
次に動作について説明する。
現用系ＣＰＵ１１はＥＣＣ生成チェック回路１６によって転送データにＥＣＣを付加し、バス１３を介して現用系メモリ１２にデータを書き込む。このとき、系間データ送信バッファ３は、バス１３を通過する書き込みアドレスおよびデータを監視し、予備系計算機２へ送信するように分類されるアドレスをデコードするとそのアドレスおよびデータを取り込む。続いて、バッファ３は系間データ受信バッファ４の空き領域が存在するか否かを調べ、存在する場合は取り込んだ転送データおよびアドレスをバッファ４へ転送する。空き領域が存在しない場合は、バッファ３はバッファ４に空き領域ができるまで転送データおよびアドレスを格納し続け、空き領域ができたらバッファ４に転送する。
【００１７】
系間データ受信バッファ４は、データおよびアドレスを受信すると予備系ＣＰＵ２１に対してバス権獲得のためのバスリクエストを出す。ＣＰＵ２１がバス調停を行い、バッファ４がバス権を獲得するとバス１５とバス２５が競合制御スイッチ２３によって接続される。但し、バス権獲得の優先権はＣＰＵ２１が予備系であることから平常時はバッファ４が有する。バッファ４とメモリ２２とが接続されバッファ４の内容がメモリ２２に書き込まれる。バッファ４は空になるまで予備系ＣＰＵ２１に対してバスリクエストを出し、データをメモリ２２に転送する。
【００１８】
予備系ＣＰＵ２１は、定周期で自身にバス権を与えるようにバス調停すると、ＥＣＣ生成チェック回路２６がメモリ２２の内容をリードしＥＣＣチェックを行う。転送エラーがありＥＣＣ生成チェック回路２６がＥＣＣエラーを検出すると、ＣＰＵ２１に対してＮＭＩ（Ｎｏｎ  Ｍａｓｋａｂｌｅ  Ｉｎｔｅｒｒｕｐｔ）が発生し、予備系計算機２が切り離される。すなわち、予備系は現用系になるには不適切であるため、ホットスタンバイ状態が解除される。
【００１９】
以上のように、この実施の形態２によれば、現用系ＣＰＵ１１のＥＣＣ生成チェック回路１６が転送データにＥＣＣを付加し、予備系ＣＰＵ２１のＥＣＣ生成チェック回路２６がメモリ２２に格納されたデータのＥＣＣをチェックするようにしたので、実施の形態１と同様の効果に加えて、現用系ＣＰＵ１１の負荷を増大させることなくデータ転送の信頼性を確保できる効果が得られる。また、現用系ＣＰＵ１１が現用系メモリ１２にデータを書き込む動作と、系間データ転送とを独立にしたため、系間転送データにエラーが発生しても現用系メモリ１２の内容には問題がない。したがって、転送エラーが発生した場合に予備系計算機２を切り離すことによって動作を正常に継続できる。また、一旦メモリ２２に格納したデータの正常性をＥＣＣ生成チェック回路２６がチェックするため、バッファ４とメモリ２２の間のデータ転送の監視は不要となる。
【００２０】
実施の形態３．
図３はこの発明の実施の形態３による複合計算機システムを示す図である。図３では、図１と共通する要素には同一符号を付し、その説明を省略する。現用系計算機１は予備系計算機２と同様に現用系競合制御スイッチ（第１のスイッチ）１７を備える。ＣＰＵ１１がバス調停する平常時は現用系競合制御スイッチ１７のバス権獲得優先権はＣＰＵ１１が有し、予備系競合制御スイッチ２３のバス権獲得優先権はバッファ４が有する。ＣＰＵ１１がバス権を獲得すると、現用系競合制御スイッチ１７はバス１３とバス１４とを接続する。このときＣＰＵ１１はメモリ１２に対してリードおよびライトを行う。また、メモリ１２とバッファ３とはバス１８を介して常に接続されている。したがって、メモリ１２の内容はＣＰＵを介さずに予備系メモリ２２にコピーできる。
【００２１】
この系は、計算機システムが現用系計算機１のみで運用中に予備系計算機を新たに組み込む場合に特に効果がある。この場合の動作について説明する。
現用系計算機１のみで運用中、現用系ＣＰＵ１１はバス１３、競合制御スイッチ１７、バス１４を介して現用系メモリ１２にデータを書き込む。ＣＰＵ１１からメモリ１２への書き込み途中または書き込み終了後にバッファ３、バッファ４を介して予備系計算機を組み込むと、バッファ３は現用系メモリ１２に格納されているデータをバス１８を介して取り込む。また、ＣＰＵ１１からの書き込みデータおよびアドレスは、メモリ１２に書き込まれるとともにバス１３、競合制御スイッチ１７、バス１４、バス１８を介してバッファ３に転送される。バッファ３は取り込んだデータおよびアドレスを系間データ受信バッファ４の空き領域に転送し、バッファ４は予備系競合制御スイッチ２３を介してメモリ２２にデータを転送する。
【００２２】
このような複合計算機システムでは、ＣＰＵ１１がバス調停を行うことによってＣＰＵ１１を一切介さずに系間データ転送と系間データコピーを同時に実行できる。この場合、バス調停にセマフォを採用して系間データ転送と系間データコピーを実行する場合等に起こる現用系ＣＰＵ１１に対するアクセス競合を防ぐことができる。
【００２３】
以上のように、この実施の形態３によれば、現用系計算機１と予備系計算機２がそれぞれ競合制御スイッチ１７，２３を備え、競合制御スイッチ１７のバス権獲得優先権をＣＰＵ１１、競合制御スイッチ２３のバス権獲得優先権をバッファ４が有するようにしたので、ＣＰＵ１１からメモリ１２への書き込み途中または書き込み終了後に予備系計算機を組み込むと、ＣＰＵ１１の処理負荷を上げることなく系間データ転送と系間データコピーを実行できる効果が得られる。
【００２４】
【発明の効果】
以上のように、この発明によれば、複合計算機システムが、第１の中央処理装置と第１のメモリとを接続する接続手段を通過する情報を監視して第２の計算機に転送するように分類される情報を取り込み、当該情報を第２のメモリに転送するバッファを備えるように構成したので、第１の中央処理装置が第１のメモリにデータを書き込む動作と、系間データ転送とを独立させることができ、第１の中央処理装置は第２の計算機への系間データ転送の負荷を受けずにメモリへの書き込みができ、第１の中央処理装置のアクセス動作を低下させることなく、かつ最速で第１のメモリおよび第２のメモリに書き込みを行うことができる効果がある。
【図面の簡単な説明】
【図１】この発明の実施の形態１による複合計算機システムを示すブロック図である。
【図２】この発明の実施の形態２による複合計算機システムを示すブロック図である。
【図３】この発明の実施の形態３による複合計算機システムを示すブロック図である。
【符号の説明】
１  現用系計算機（第１の計算機）、２  予備系計算機（第２の計算機）、３系間データ送信バッファ、４  系間データ受信バッファ、１１  現用系ＣＰＵ（第１の中央処理装置）、１２  現用系メモリ（第１のメモリ）、１３，１４，１５，１８，２４，２５  バス（接続手段）、１６  ＥＣＣ生成チェック回路（符号付加回路）、１７  現用系競合制御スイッチ（第１のスイッチ）、２１  予備系ＣＰＵ（第２の中央処理装置）、２２  予備系メモリ（第２のメモリ）、２３  予備系競合制御スイッチ（第２のスイッチ）、２６  ＥＣＣ生成チェック回路（誤り検出回路）。
【図１】
2004213479.tif 000003
【図２】
2004213479.tif 000004
【図３】
2004213479.tif 000005