JPH0619633A - 二重化システムにおける信号処理方式 - Google Patents
二重化システムにおける信号処理方式Info
- Publication number
- JPH0619633A JPH0619633A JP4175568A JP17556892A JPH0619633A JP H0619633 A JPH0619633 A JP H0619633A JP 4175568 A JP4175568 A JP 4175568A JP 17556892 A JP17556892 A JP 17556892A JP H0619633 A JPH0619633 A JP H0619633A
- Authority
- JP
- Japan
- Prior art keywords
- channel
- cpu
- data
- command
- system bus
- 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.)
- Withdrawn
Links
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
- Hardware Redundancy (AREA)
- Bus Control (AREA)
Abstract
(57)【要約】 (修正有)
【目的】 二重化システムにおける信号方式に関し、C
PUから各チャネルへのコマンド発信・データ転送を1
回ずつで済むようにし、システムバスの占有率を小さく
して全体の性能向上を図る。 【構成】 CPU10にDMA手段101を設け、シス
テムバス2を介して接続され、二重化されたチャネル3
0,40に現用/待機モードを設定する手段301,4
01とチャネル識別子設定手段302,402を設け、
チャネル毎にアドレス設定手段303,403を設け
る。CPUからの書き込みにはチャネル30,40で同
一アドレスに設定し、読出し時のアドレスは異ったアド
レスに設定。コマンドやデータ書込み後のバス2への確
認応答は現用チャネルのみが行い、コマンドまたはデー
タの受信完了時におけるCPU10への確認応答は現用
及び待機用の両方のチャネルが自己の識別子を使用して
行う構成とする。
PUから各チャネルへのコマンド発信・データ転送を1
回ずつで済むようにし、システムバスの占有率を小さく
して全体の性能向上を図る。 【構成】 CPU10にDMA手段101を設け、シス
テムバス2を介して接続され、二重化されたチャネル3
0,40に現用/待機モードを設定する手段301,4
01とチャネル識別子設定手段302,402を設け、
チャネル毎にアドレス設定手段303,403を設け
る。CPUからの書き込みにはチャネル30,40で同
一アドレスに設定し、読出し時のアドレスは異ったアド
レスに設定。コマンドやデータ書込み後のバス2への確
認応答は現用チャネルのみが行い、コマンドまたはデー
タの受信完了時におけるCPU10への確認応答は現用
及び待機用の両方のチャネルが自己の識別子を使用して
行う構成とする。
Description
【0001】
【産業上の利用分野】本発明は、例えばCPUとチャネ
ルがシステムバスで接続され、上記チャネルを二重化し
て電子計算機の高信頼化を図る二重化システムにおける
信号処理方式に関する。
ルがシステムバスで接続され、上記チャネルを二重化し
て電子計算機の高信頼化を図る二重化システムにおける
信号処理方式に関する。
【0002】
【従来の技術】電子計算機の信頼性向上を図る手段の1
つとして二重化システムがある。これは例えばCPUに
対してファイルチャネルなどを二重化して、通常は一方
のファイルチャネルを使用し、そのファイルチャネルの
異常時に他方のファイルチャネルを使用するというもの
である。
つとして二重化システムがある。これは例えばCPUに
対してファイルチャネルなどを二重化して、通常は一方
のファイルチャネルを使用し、そのファイルチャネルの
異常時に他方のファイルチャネルを使用するというもの
である。
【0003】図7はファイルチャネルを二重化した従来
の具体例を示すものである。同図は電子計算機システム
において、ファイルチャネルとハードディスクを二重化
した例を示すものであり、1はCPU、2はシステムバ
ス、3,4はファイルチャネル、5,6はハードディス
クである。
の具体例を示すものである。同図は電子計算機システム
において、ファイルチャネルとハードディスクを二重化
した例を示すものであり、1はCPU、2はシステムバ
ス、3,4はファイルチャネル、5,6はハードディス
クである。
【0004】上記CPU1において、11はプロセッ
サ、12は内部バス、13は主記憶部、14はシステム
バスインタフェースである。また、ファイルチャネル
3,4は同一構成となっており、ファイルチャネル3は
プロセッサ31、内部バス32、バッファメモリ33、
システムバスインタフェース34、DMA(Direct Mem
ory Access) コントローラ35、プロセッサ31の動作
プログラム格納用のROM36、SCSI(Small Comp
uter System Interface)などのI/Oインタフェース3
7で構成され、ファイルチャネル4も同様に、プロセッ
サ41、内部バス42、バッファメモリ43、システム
バスインタフェース44、DMAコントローラ45、R
OM46、I/Oインタフェース47から構成されてい
る。
サ、12は内部バス、13は主記憶部、14はシステム
バスインタフェースである。また、ファイルチャネル
3,4は同一構成となっており、ファイルチャネル3は
プロセッサ31、内部バス32、バッファメモリ33、
システムバスインタフェース34、DMA(Direct Mem
ory Access) コントローラ35、プロセッサ31の動作
プログラム格納用のROM36、SCSI(Small Comp
uter System Interface)などのI/Oインタフェース3
7で構成され、ファイルチャネル4も同様に、プロセッ
サ41、内部バス42、バッファメモリ43、システム
バスインタフェース44、DMAコントローラ45、R
OM46、I/Oインタフェース47から構成されてい
る。
【0005】このような構成において、主記憶部13内
のデータをハードディスク5,6に書き込む場合は、ハ
ードディスク5,6の双方への書き込みを行い、これら
ハードディスク5,6に書き込まれた内容は、常時一致
させておく。一方、ハードディスク5,6に書き込まれ
た内容をCPU1の主記憶部13に読み出す場合は、ハ
ードディスク5,6のいずれか一方を現用側、他方を待
機側とし、通常時は現用側のハードディスクからデータ
の読み出しを行い、現用側に異常があったときは待機側
のハードディスクからデータを読み出すようにしてい
る。2つのハードディスク5,6が同時に異常発生とな
る確率はきわめて小さいので、このような方式を採用す
ることで信頼性の向上が図れる。
のデータをハードディスク5,6に書き込む場合は、ハ
ードディスク5,6の双方への書き込みを行い、これら
ハードディスク5,6に書き込まれた内容は、常時一致
させておく。一方、ハードディスク5,6に書き込まれ
た内容をCPU1の主記憶部13に読み出す場合は、ハ
ードディスク5,6のいずれか一方を現用側、他方を待
機側とし、通常時は現用側のハードディスクからデータ
の読み出しを行い、現用側に異常があったときは待機側
のハードディスクからデータを読み出すようにしてい
る。2つのハードディスク5,6が同時に異常発生とな
る確率はきわめて小さいので、このような方式を採用す
ることで信頼性の向上が図れる。
【0006】上記主記憶部13の内容をハードディスク
5,6に書き込む操作は具体的には次のように行われ
る。まず、CPU1はファイルチャネル3,4に対し
て、主記憶部13からハードディスク5,6への書き込
みを指令する。具体的には、プロセッサ11がコマンド
を送出するが、このコマンドはシステムバスインタフェ
ース14からシステムバス2を経由してファイルチャネ
ル3,4に送られ、ファイルチャネル3側においては、
上記コマンドはシステムバスインタフェース34を介し
てバッファメモリ33に書き込まれる。また、ファイル
チャネル4側においては、システムバスインタフェース
44を介してバッファメモリ43に書き込まれる。
5,6に書き込む操作は具体的には次のように行われ
る。まず、CPU1はファイルチャネル3,4に対し
て、主記憶部13からハードディスク5,6への書き込
みを指令する。具体的には、プロセッサ11がコマンド
を送出するが、このコマンドはシステムバスインタフェ
ース14からシステムバス2を経由してファイルチャネ
ル3,4に送られ、ファイルチャネル3側においては、
上記コマンドはシステムバスインタフェース34を介し
てバッファメモリ33に書き込まれる。また、ファイル
チャネル4側においては、システムバスインタフェース
44を介してバッファメモリ43に書き込まれる。
【0007】これによりファイルチャネル3側のプロセ
ッサ31はバッファメモリ33に書き込まれたコマンド
を解読し、それが主記憶部13からハードディスク5へ
の書き込み指令であることを知ると、DMAコントロー
ラ35を起動して、主記憶部13内のデータをバッファ
メモリ33に転送する。そして次に、プロセッサ31は
I/Oインタフェース37のDMAを起動して、バッフ
ァメモリ33からハードディスク5へのデータ転送を行
う。
ッサ31はバッファメモリ33に書き込まれたコマンド
を解読し、それが主記憶部13からハードディスク5へ
の書き込み指令であることを知ると、DMAコントロー
ラ35を起動して、主記憶部13内のデータをバッファ
メモリ33に転送する。そして次に、プロセッサ31は
I/Oインタフェース37のDMAを起動して、バッフ
ァメモリ33からハードディスク5へのデータ転送を行
う。
【0008】このデータ転送が終了すると、プロセッサ
31はコマンドの終了情報をバッファメモリ33に格納
し、DMAコントローラ35を起動してそのコマンドの
終了情報を主記憶部13へ転送する。
31はコマンドの終了情報をバッファメモリ33に格納
し、DMAコントローラ35を起動してそのコマンドの
終了情報を主記憶部13へ転送する。
【0009】一方、ファイルチャネル4側においても、
上記ファイルチャネル3側と同様、プロセッサ41は、
主記憶部13からバッファメモリ43にデータ転送を行
ったのち、バッファメモリ43からハードディスク6へ
データを転送する。このデータ転送終了後、プロセッサ
41はコマンドの終了情報をバッファメモリ43に格納
し、DMAコントローラ45を起動して、そのコマンド
終了情報を主記憶部13へ転送する。
上記ファイルチャネル3側と同様、プロセッサ41は、
主記憶部13からバッファメモリ43にデータ転送を行
ったのち、バッファメモリ43からハードディスク6へ
データを転送する。このデータ転送終了後、プロセッサ
41はコマンドの終了情報をバッファメモリ43に格納
し、DMAコントローラ45を起動して、そのコマンド
終了情報を主記憶部13へ転送する。
【0010】CPU1はファイルチャネル3,4の両方
からの終了情報を受信して初めて、主記憶部13からハ
ードディスク5,6へのデータ書き込みが終了したもの
と判断する。
からの終了情報を受信して初めて、主記憶部13からハ
ードディスク5,6へのデータ書き込みが終了したもの
と判断する。
【0011】以上がCPU1の主記憶部13からハード
ディスク5,6へのデータ書き込み操作手順であるが、
ハードディスク5,6から主記憶部13へのデータ読み
出し操作手順は、次のようにして行われる。
ディスク5,6へのデータ書き込み操作手順であるが、
ハードディスク5,6から主記憶部13へのデータ読み
出し操作手順は、次のようにして行われる。
【0012】ここではファイルチャネル3とハードディ
スク5を現用側、ファイルチャネル4とハードディスク
6を待機側とすると、CPU1は現用側にのみコマンド
を発信し、待機側には発信しない。しかし、現用側から
の終了情報が異常終了であった場合、あるいは現用側の
終了情報を受信できなかった場合は、直ちに待機側にも
同様の読みだしコマンドを発信し、現用に代えて待機側
に読み出し処理を代替させる。
スク5を現用側、ファイルチャネル4とハードディスク
6を待機側とすると、CPU1は現用側にのみコマンド
を発信し、待機側には発信しない。しかし、現用側から
の終了情報が異常終了であった場合、あるいは現用側の
終了情報を受信できなかった場合は、直ちに待機側にも
同様の読みだしコマンドを発信し、現用に代えて待機側
に読み出し処理を代替させる。
【0013】
【発明が解決しようとする課題】このような二重化シス
テムは、信頼性の向上を図れる利点があるが、上記した
従来の二重化システムにおける信号処理方式では、次の
ような問題点がある。
テムは、信頼性の向上を図れる利点があるが、上記した
従来の二重化システムにおける信号処理方式では、次の
ような問題点がある。
【0014】すなわち、従来方式では、CPU1からフ
ァイルチャネル3,4へのコマンド発信と、CPU1の
主記憶部13からファイルチャネル3,4の各バッファ
メモリ33,43へのデータ転送がそれぞれ2回行われ
るので、二重化しない場合に比べて、ディスクアクセス
の性能が低下するとともに、システムバス2の占有率が
増大することから、計算機システム全体の性能の低下に
つながる問題がある。
ァイルチャネル3,4へのコマンド発信と、CPU1の
主記憶部13からファイルチャネル3,4の各バッファ
メモリ33,43へのデータ転送がそれぞれ2回行われ
るので、二重化しない場合に比べて、ディスクアクセス
の性能が低下するとともに、システムバス2の占有率が
増大することから、計算機システム全体の性能の低下に
つながる問題がある。
【0015】本発明は、二重化を行う場合であっても、
CPUから各チャネルへのコマンド発信と、CPU内の
主記憶部から各チャネルのバッファメモリへのデータ転
送を1回づつで済むようにし、システムバスの占有率を
小さくしてシステム全体の性能の向上を図れる二重化シ
ステムにおける信号処理方式を実現することを目的とす
る。
CPUから各チャネルへのコマンド発信と、CPU内の
主記憶部から各チャネルのバッファメモリへのデータ転
送を1回づつで済むようにし、システムバスの占有率を
小さくしてシステム全体の性能の向上を図れる二重化シ
ステムにおける信号処理方式を実現することを目的とす
る。
【0016】
【課題を解決するための手段】図1は、本発明原理を説
明するブロック図であり、CPU10とチャネル30,
40がシステムバス2で接続され、CPU10に対して
チャネル30,40が二重化された構成となっている。
明するブロック図であり、CPU10とチャネル30,
40がシステムバス2で接続され、CPU10に対して
チャネル30,40が二重化された構成となっている。
【0017】上記、CPU10はDMA手段101を有
し、また、チャネル30,40は現用側モードと待機側
モードを設定するモード設定手段301,401と、そ
れぞれのチャネルを識別するための識別子(IDentifir
e, 以下IDという)を設定するID設定手段302,
402とを設け、さらにチャネル30,40に設けられ
たバッファメモリ(図示せず)に対して書き込み時と読
み出し時の2つの異なるアドレスを設定するアドレス設
定手段303,403を設ける。
し、また、チャネル30,40は現用側モードと待機側
モードを設定するモード設定手段301,401と、そ
れぞれのチャネルを識別するための識別子(IDentifir
e, 以下IDという)を設定するID設定手段302,
402とを設け、さらにチャネル30,40に設けられ
たバッファメモリ(図示せず)に対して書き込み時と読
み出し時の2つの異なるアドレスを設定するアドレス設
定手段303,403を設ける。
【0018】そして、上記チャネル30,40はモード
設定手段301,401により、現用側であるか待機側
であるかのモード設定を行い、ここではチャネル30を
現用側、チャネル40を待機側とする。また、チャネル
30,40はID設定手段302,402によりチャネ
ル識別用のIDをそれぞれ設定するとともに、アドレス
設定手段303,403により、書き込み時のアドレス
を、チャネル30,40が同一アドレスとなるように設
定し、読み出し時のアドレスを、チャネル30,40で
異なるように設定しておく。
設定手段301,401により、現用側であるか待機側
であるかのモード設定を行い、ここではチャネル30を
現用側、チャネル40を待機側とする。また、チャネル
30,40はID設定手段302,402によりチャネ
ル識別用のIDをそれぞれ設定するとともに、アドレス
設定手段303,403により、書き込み時のアドレス
を、チャネル30,40が同一アドレスとなるように設
定し、読み出し時のアドレスを、チャネル30,40で
異なるように設定しておく。
【0019】
【作用】このような設定を行ったのち、CPU10の主
記憶部(図1においては図示せず)に格納されているデ
ータをチャネル30,40に接続されたデータ格納手段
(図1においては図示せず)に書き込む動作は次のよう
に行われる。
記憶部(図1においては図示せず)に格納されているデ
ータをチャネル30,40に接続されたデータ格納手段
(図1においては図示せず)に書き込む動作は次のよう
に行われる。
【0020】CPU10からのコマンド発信は、システ
ムバス2を経由してチャネル30に対して行われ、その
コマンドはチャネル30に書き込まれるが、書き込み時
のアドレスはチャネル30,40がともに同一アドレス
となっているため、上記コマンドはチャネル40にも同
時に書き込まれる。このとき、チャネル40は待機側で
あり、CPU10の書き込みに対するシステムバス2上
の確認応答はこのチャネル40からは出力されないよう
になっており、現用側のチャネル30のみがシステムバ
ス2上の確認応答を行う。そして、コマンド受信後、チ
ャネル30,40からのCPU10に対するデータ受信
可の応答は、チャネル30,40が自己のIDを使用し
て通知する。
ムバス2を経由してチャネル30に対して行われ、その
コマンドはチャネル30に書き込まれるが、書き込み時
のアドレスはチャネル30,40がともに同一アドレス
となっているため、上記コマンドはチャネル40にも同
時に書き込まれる。このとき、チャネル40は待機側で
あり、CPU10の書き込みに対するシステムバス2上
の確認応答はこのチャネル40からは出力されないよう
になっており、現用側のチャネル30のみがシステムバ
ス2上の確認応答を行う。そして、コマンド受信後、チ
ャネル30,40からのCPU10に対するデータ受信
可の応答は、チャネル30,40が自己のIDを使用し
て通知する。
【0021】これにより、CPU10はDMA手段10
1を使用して、主記憶部からデータをチャネル30に送
出し、チャネル30のバッファメモリに書き込むが、そ
のデータは上記コマンド同様、チャネル40のバッファ
メモリにも書き込まれる。その後、チャネル30,40
は書き込まれたデータをそれぞれのチャネルに接続され
たデータ格納手段に転送する。そして、チャネル30,
40は処理完了のメッセージを、自己のIDを使用して
CPU10に通知する。
1を使用して、主記憶部からデータをチャネル30に送
出し、チャネル30のバッファメモリに書き込むが、そ
のデータは上記コマンド同様、チャネル40のバッファ
メモリにも書き込まれる。その後、チャネル30,40
は書き込まれたデータをそれぞれのチャネルに接続され
たデータ格納手段に転送する。そして、チャネル30,
40は処理完了のメッセージを、自己のIDを使用して
CPU10に通知する。
【0022】一方、CPU10が上記データを読み出す
場合、CPU10からの読み出しのコマンドは、チャネ
ル30,40の両方に同時に書き込まれる。そして、各
チャネル30,40に接続されたデータ格納手段内のデ
ータは、対応するチャネルに転送されるが、チャネルか
らCPU10へのデータ転送は、現用側のチャネル30
のみが行う。なお、現用側チャネル30に異常があった
場合は、待機側チャネル40からの読み出しを行う。
場合、CPU10からの読み出しのコマンドは、チャネ
ル30,40の両方に同時に書き込まれる。そして、各
チャネル30,40に接続されたデータ格納手段内のデ
ータは、対応するチャネルに転送されるが、チャネルか
らCPU10へのデータ転送は、現用側のチャネル30
のみが行う。なお、現用側チャネル30に異常があった
場合は、待機側チャネル40からの読み出しを行う。
【0023】したがって、二重化の場合であっても、C
PUから各チャネルへのコマンド発信とデータ転送が1
回づつで済む。
PUから各チャネルへのコマンド発信とデータ転送が1
回づつで済む。
【0024】
【実施例】次に本発明の実施例を説明する。図2は本発
明の第1の実施例を示すブロック図であり、図1と同一
部分には同一符号を付してある。またこの実施例では、
チャネルとしてファイルチャネルを用いた例を示してお
り、基本的な構成としては、前記従来方式の説明を行っ
た図7と同じであるが、図7と異なるのは、CPU10
(図7ではCPU1に対応)にDMAコントローラ15
を設けたことと、チャネル(実施例ではファイルチャネ
ルとして説明する)30,40(図7ではファイルチャ
ネル3,4に対応)のシステムバスインタフェース3
4,44を図3で示すような構成としたことであり、他
の構成要素は図7と同一であるため、同一部分には同一
符号を付すことにより、機能などの説明は省略する。な
お、図2におけるファイルチャネル30,40の各シス
テムバスインタフェースは以降、システムバスインタフ
ェース341,441として説明する。
明の第1の実施例を示すブロック図であり、図1と同一
部分には同一符号を付してある。またこの実施例では、
チャネルとしてファイルチャネルを用いた例を示してお
り、基本的な構成としては、前記従来方式の説明を行っ
た図7と同じであるが、図7と異なるのは、CPU10
(図7ではCPU1に対応)にDMAコントローラ15
を設けたことと、チャネル(実施例ではファイルチャネ
ルとして説明する)30,40(図7ではファイルチャ
ネル3,4に対応)のシステムバスインタフェース3
4,44を図3で示すような構成としたことであり、他
の構成要素は図7と同一であるため、同一部分には同一
符号を付すことにより、機能などの説明は省略する。な
お、図2におけるファイルチャネル30,40の各シス
テムバスインタフェースは以降、システムバスインタフ
ェース341,441として説明する。
【0025】上記システムバスインタフェース341,
441は、図3に示すように、システムバス2のレシー
バ51,52,53、システムバス2のドライバ(ナン
ドゲート)54、モード/ID設定レジスタ55、イン
バータ56、アドレスコンパレータ57、ナンドゲート
58、セレクタ59、アドレス設定器60,61で構成
されている。このような構成において、上記システムバ
スインタフェース341、441は、従来のシステムバ
スインタフェース34,44に対して、図3における点
線で囲った部分、すなわちモード/ID設定レジスタ5
5,インバータ56,ナンドゲート58,セレクタ5
9,アドレス設定器60を追加した構成となっている。
441は、図3に示すように、システムバス2のレシー
バ51,52,53、システムバス2のドライバ(ナン
ドゲート)54、モード/ID設定レジスタ55、イン
バータ56、アドレスコンパレータ57、ナンドゲート
58、セレクタ59、アドレス設定器60,61で構成
されている。このような構成において、上記システムバ
スインタフェース341、441は、従来のシステムバ
スインタフェース34,44に対して、図3における点
線で囲った部分、すなわちモード/ID設定レジスタ5
5,インバータ56,ナンドゲート58,セレクタ5
9,アドレス設定器60を追加した構成となっている。
【0026】なお、図3において、S1はシステムバス
2のデータ信号、S2はシステムバス2のアドレス信
号、S3はシステムバス2のライト信号、S4,S7は
システムバス2の応答信号、S5はID信号、S6はバ
ッファメモリ選択信号である。
2のデータ信号、S2はシステムバス2のアドレス信
号、S3はシステムバス2のライト信号、S4,S7は
システムバス2の応答信号、S5はID信号、S6はバ
ッファメモリ選択信号である。
【0027】このような構成において、CPU10のプ
ロセッサ11は、まずイニシャル処理において、ファイ
ルチャネル30,40のモード/ID設定レジスタ55
の設定を行う。ここで、上記モード/ID設定レジスタ
55は具体的には図4のような、構成となっている。す
なわち、0ビット目から7ビット目までの8ビットを、
IDを構成するID設定ビットとし、15ビット目の1
ビットをモード設定ビットMとしている。
ロセッサ11は、まずイニシャル処理において、ファイ
ルチャネル30,40のモード/ID設定レジスタ55
の設定を行う。ここで、上記モード/ID設定レジスタ
55は具体的には図4のような、構成となっている。す
なわち、0ビット目から7ビット目までの8ビットを、
IDを構成するID設定ビットとし、15ビット目の1
ビットをモード設定ビットMとしている。
【0028】このモード設定ビットMは、現用側のファ
イルチャネルであるか待機側のファイルチャネルである
かを設定するもので、このモード設定ビットMが“1”
のときは現用側、“0”のときは待機側とする。
イルチャネルであるか待機側のファイルチャネルである
かを設定するもので、このモード設定ビットMが“1”
のときは現用側、“0”のときは待機側とする。
【0029】ここでは、ファイルチャネル30を現用側
としているので、システムバスインタフェース341
(ファイルチャネル30側)におけるモード/ID設定
レジスタ55のモード設定ビットMを“1”とし、バス
インタフェース441(ファイルチャネル40側)にお
けるモード/ID設定レジスタ55のモード設定ビット
Mを“0”としておく。このモード/ID設定はCPU
10がプログラムで設定することにより行う。
としているので、システムバスインタフェース341
(ファイルチャネル30側)におけるモード/ID設定
レジスタ55のモード設定ビットMを“1”とし、バス
インタフェース441(ファイルチャネル40側)にお
けるモード/ID設定レジスタ55のモード設定ビット
Mを“0”としておく。このモード/ID設定はCPU
10がプログラムで設定することにより行う。
【0030】また、上記モード/ID設定の他にシステ
ムバスインタフェース341,441のアドレス設定器
60,61のアドレスも予め設定しておく。図3では、
アドレス設定器60,61はマニュアルによる切り換え
設定を想定しているが、これは上記モード/ID設定レ
ジスタ55と同様にシステムバス上のレジスタであって
も良い。このシステムバス上のレジスタである場合は、
モード/ID設定レジスタ55と同様にCPU10がプ
ログラムで設定することになる。このアドレス設定器6
0,61は、ファイルチャネル30,40のバッファメ
モリ33,43に対するシステムバスアドレスを決定す
るためのものであり、それぞれのファイルチャネル3
0,40に2つずつ設けられている理由は、コマンドま
たはデータをバッファメモリ33,43に書き込む場合
と、バッファメモリ33,43から読み出す場合とでア
ドレスを変えるためである。ここで今アドレス設定器6
0を書き込み用のアドレス設定器、アドレス設定器61
を読み出し用のアドレス設定器とすれば、アドレス設定
器60による設定アドレスは、ファイルチャネル30と
ファイルチャネル40とで同一アドレスに設定し、アド
レス設定器61による設定アドレスは、ファイルチャネ
ル30とファイルチャネル40とで異なったアドレスに
設定しておく。
ムバスインタフェース341,441のアドレス設定器
60,61のアドレスも予め設定しておく。図3では、
アドレス設定器60,61はマニュアルによる切り換え
設定を想定しているが、これは上記モード/ID設定レ
ジスタ55と同様にシステムバス上のレジスタであって
も良い。このシステムバス上のレジスタである場合は、
モード/ID設定レジスタ55と同様にCPU10がプ
ログラムで設定することになる。このアドレス設定器6
0,61は、ファイルチャネル30,40のバッファメ
モリ33,43に対するシステムバスアドレスを決定す
るためのものであり、それぞれのファイルチャネル3
0,40に2つずつ設けられている理由は、コマンドま
たはデータをバッファメモリ33,43に書き込む場合
と、バッファメモリ33,43から読み出す場合とでア
ドレスを変えるためである。ここで今アドレス設定器6
0を書き込み用のアドレス設定器、アドレス設定器61
を読み出し用のアドレス設定器とすれば、アドレス設定
器60による設定アドレスは、ファイルチャネル30と
ファイルチャネル40とで同一アドレスに設定し、アド
レス設定器61による設定アドレスは、ファイルチャネ
ル30とファイルチャネル40とで異なったアドレスに
設定しておく。
【0031】上記のようにモード/ID設定レジスタ5
5及びアドレス設定器60,61を設定したものとし
て、次にCPU10の主記憶部13のデータをハードデ
ィスク5,6へ書き込む場合の動作を説明する。
5及びアドレス設定器60,61を設定したものとし
て、次にCPU10の主記憶部13のデータをハードデ
ィスク5,6へ書き込む場合の動作を説明する。
【0032】CPU10のプロセッサ11は、現用側で
あるファイルチャネル30のバッファメモリ33へコマ
ンドの書き込みを行う。このとき、書き込み時のアドレ
スは前記したようにアドレス設定器60により、ファイ
ルチャネル30,40が同一に設定されており、また、
ライト信号S3によりセレクタ59はアドレス設定器6
0をセレクトするようになっている。このため、上記コ
マンドはファイルチャネル40のバッファメモリ43に
も同時に書き込まれる。ただしこの時、ファイルチャネ
ル40はそのモード/ID設定レジスタ55のモード設
定ビットMが“0”(待機側)に設定されているので、
ナンドゲート58によって、システムバス2上への確認
応答信号がシステムバス2に出力されるのを阻止されて
いる。したがって、このシステムバス2上への確認応答
は現用側のファイルチャネル30のみが行う。なお、2
つのバッファメモリ33,43への同時書き込みは、シ
ステムバス2が同期バスであれば容易に実現できるが、
バッファメモリ33への書き込みに対するシステムバス
2への応答は、バッファメモリ43がプロセッサ41に
よってアクセスされている場合を考慮したタイミングと
する必要がある。またシステムバス2への転送時間を短
くするために、バッファメモリ33,43に対するプロ
セッサ31,41のアクセスより、システムバスインタ
フェース341,441のバッファメモリ33,34に
対するアクセスを優先させる必要がある。
あるファイルチャネル30のバッファメモリ33へコマ
ンドの書き込みを行う。このとき、書き込み時のアドレ
スは前記したようにアドレス設定器60により、ファイ
ルチャネル30,40が同一に設定されており、また、
ライト信号S3によりセレクタ59はアドレス設定器6
0をセレクトするようになっている。このため、上記コ
マンドはファイルチャネル40のバッファメモリ43に
も同時に書き込まれる。ただしこの時、ファイルチャネ
ル40はそのモード/ID設定レジスタ55のモード設
定ビットMが“0”(待機側)に設定されているので、
ナンドゲート58によって、システムバス2上への確認
応答信号がシステムバス2に出力されるのを阻止されて
いる。したがって、このシステムバス2上への確認応答
は現用側のファイルチャネル30のみが行う。なお、2
つのバッファメモリ33,43への同時書き込みは、シ
ステムバス2が同期バスであれば容易に実現できるが、
バッファメモリ33への書き込みに対するシステムバス
2への応答は、バッファメモリ43がプロセッサ41に
よってアクセスされている場合を考慮したタイミングと
する必要がある。またシステムバス2への転送時間を短
くするために、バッファメモリ33,43に対するプロ
セッサ31,41のアクセスより、システムバスインタ
フェース341,441のバッファメモリ33,34に
対するアクセスを優先させる必要がある。
【0033】ところで、上記ファイルチャネル30は、
上記コマンドを受信すると、データ受信が可能であるこ
とを示す応答削除をCPU10に対してメッセージで通
知する。このCPU10に対するデータ受信可を示す応
答は待機側のファイルチャネル40も同様に行う。この
とき、CPU10が受信する上記ファイルチャネル3
0,40からの各々のメッセージが、いずれのファイル
チャネルからのものかを区別するために前記IDを用い
る。このIDは前記したように、モード/ID設定レジ
スタ55におけるID設定ビットの8ビットで構成され
るチャネル識別符号であり、ファイルチャネル30,4
0に対応して予め定めておく。
上記コマンドを受信すると、データ受信が可能であるこ
とを示す応答削除をCPU10に対してメッセージで通
知する。このCPU10に対するデータ受信可を示す応
答は待機側のファイルチャネル40も同様に行う。この
とき、CPU10が受信する上記ファイルチャネル3
0,40からの各々のメッセージが、いずれのファイル
チャネルからのものかを区別するために前記IDを用い
る。このIDは前記したように、モード/ID設定レジ
スタ55におけるID設定ビットの8ビットで構成され
るチャネル識別符号であり、ファイルチャネル30,4
0に対応して予め定めておく。
【0034】CPU10はファイルチャネル30,40
の両方からのメッセージを受信すると、DMAコントロ
ーラ15を起動して、主記憶部13からバッファメモリ
33に対してデータの書き込みを行うが、この場合も前
記コマンド送出時と同様に、待機側ファイルチャネル4
0のバッファメモリ43にも同一のデータの書き込みを
行う。
の両方からのメッセージを受信すると、DMAコントロ
ーラ15を起動して、主記憶部13からバッファメモリ
33に対してデータの書き込みを行うが、この場合も前
記コマンド送出時と同様に、待機側ファイルチャネル4
0のバッファメモリ43にも同一のデータの書き込みを
行う。
【0035】これによりファイルチャネル30,40
は、その後、それぞれのバッファメモリ33,43から
ハードディスク5,6に対してディスク転送を行い、コ
マンド処理完了のメッセージをCPU10に対してそれ
ぞれ通知する。CPU10はファイルチャネル30,4
0の両方のコマンド処理完了メッセージを受信すること
により、ハードディスク5,6へのデータの書き込みが
完了したとみなす。
は、その後、それぞれのバッファメモリ33,43から
ハードディスク5,6に対してディスク転送を行い、コ
マンド処理完了のメッセージをCPU10に対してそれ
ぞれ通知する。CPU10はファイルチャネル30,4
0の両方のコマンド処理完了メッセージを受信すること
により、ハードディスク5,6へのデータの書き込みが
完了したとみなす。
【0036】一方、ハードディスク5,6のデータを主
記憶部13へ読み出す場合、データ読み出しのコマンド
は、ファイルチャネル30,40の両方に書き込まれ
る。そして、ハードディスク5,6からのバッファメモ
リ33,43へのデータの読み出しは、ファイルチャネ
ル30,40の両方が行うが、バッファメモリから主記
憶部13へのデータ転送は現用側のファイルチャネル3
0のみが行い、待機側のファイルチャネル40は行わな
い。
記憶部13へ読み出す場合、データ読み出しのコマンド
は、ファイルチャネル30,40の両方に書き込まれ
る。そして、ハードディスク5,6からのバッファメモ
リ33,43へのデータの読み出しは、ファイルチャネ
ル30,40の両方が行うが、バッファメモリから主記
憶部13へのデータ転送は現用側のファイルチャネル3
0のみが行い、待機側のファイルチャネル40は行わな
い。
【0037】ここで現用側のファイルチャネル30に故
障が発生した場合は、CPU10は待機側のファイルチ
ャネル40を現用側に設定変更し、ファイルチャネル4
0に処理続行のコマンドを発信する。この現用/待機の
モード設定は前記したように、モード/ID設定レジス
タ55において、モード設定ビットMを“1”から
“0”あるいは“0”から“1”と書き換えることによ
り行う。
障が発生した場合は、CPU10は待機側のファイルチ
ャネル40を現用側に設定変更し、ファイルチャネル4
0に処理続行のコマンドを発信する。この現用/待機の
モード設定は前記したように、モード/ID設定レジス
タ55において、モード設定ビットMを“1”から
“0”あるいは“0”から“1”と書き換えることによ
り行う。
【0038】以上のようにこの実施例によれば、CPU
10からファイルチャネル30,40へのコマンド発信
時、あるいは主記憶部13から各ファイルチャネル3
0,40のバッファメモリ33,43へのデータ書き込
み時、コマンドあるいはデータを2つのファイルチャネ
ル30,40に同時に書き込むようにし、この時のシス
テムバス上への確認応答は現用側のファイルチャネル3
0のみが行い、またコマンドあるいはデータの受信完了
時点でのCPU10に対するメッセージによる確認応答
は、それぞれのファイルチャネル30,40が自己のI
Dを使用して行うようにしている。したがって、ファイ
ルチャネルを二重化した場合でも、コマンド発行とデー
タ転送は1回づつで済む。
10からファイルチャネル30,40へのコマンド発信
時、あるいは主記憶部13から各ファイルチャネル3
0,40のバッファメモリ33,43へのデータ書き込
み時、コマンドあるいはデータを2つのファイルチャネ
ル30,40に同時に書き込むようにし、この時のシス
テムバス上への確認応答は現用側のファイルチャネル3
0のみが行い、またコマンドあるいはデータの受信完了
時点でのCPU10に対するメッセージによる確認応答
は、それぞれのファイルチャネル30,40が自己のI
Dを使用して行うようにしている。したがって、ファイ
ルチャネルを二重化した場合でも、コマンド発行とデー
タ転送は1回づつで済む。
【0039】図5は本発明の第2の実施例を示すもの
で、図5が図2と異なる部分は、ファイルチャネル3
0,40の内部バス32,42をトランシーバ38,4
8で分離したバス上に、もう1つのバッファメモリ3
9,49を設けたことである。この第2の実施例では、
ファイルチャネル30,40のそれぞれのバッファメモ
リ39,49は書き込み時におけるアドレスが同一に設
定されている。また、このバッファメモリ39,49
は、データバッファ専用とし、システムバス2との間で
のデータ転送中は、プロセッサ31,41はデータバッ
ファ39,49をアクセスしないものとする。
で、図5が図2と異なる部分は、ファイルチャネル3
0,40の内部バス32,42をトランシーバ38,4
8で分離したバス上に、もう1つのバッファメモリ3
9,49を設けたことである。この第2の実施例では、
ファイルチャネル30,40のそれぞれのバッファメモ
リ39,49は書き込み時におけるアドレスが同一に設
定されている。また、このバッファメモリ39,49
は、データバッファ専用とし、システムバス2との間で
のデータ転送中は、プロセッサ31,41はデータバッ
ファ39,49をアクセスしないものとする。
【0040】この第2の実施例によれば、ファイルチャ
ネル30がシステムバス2への確認応答信号を帰すタイ
ミングは、2つのファイルチャネル30,40のそれぞ
れのバッファメモリ39,49のアクセスタイムのバラ
ツキだけを考慮すれば良く、システムバス2への転送を
高速化できる。
ネル30がシステムバス2への確認応答信号を帰すタイ
ミングは、2つのファイルチャネル30,40のそれぞ
れのバッファメモリ39,49のアクセスタイムのバラ
ツキだけを考慮すれば良く、システムバス2への転送を
高速化できる。
【0041】図6は本発明の第3の実施例を示すもの
で、上記第2の実施例(図5)において、ファイルチャ
ネル30,40のDMAコントローラ35,45を除去
したものである。前記第1の実施例では、コマンドやデ
ータの受信完了時にファイルチャネル30,40がDM
Aコントローラ35,45を使用してメッセージをCP
U10に通知していたが、この第3の実施例では、ファ
イルチャネル30,40はバッファメモリ上にステータ
スを表示するだけとし、CPU10がそのステータスを
システムバス2より検知するという方式としている。
で、上記第2の実施例(図5)において、ファイルチャ
ネル30,40のDMAコントローラ35,45を除去
したものである。前記第1の実施例では、コマンドやデ
ータの受信完了時にファイルチャネル30,40がDM
Aコントローラ35,45を使用してメッセージをCP
U10に通知していたが、この第3の実施例では、ファ
イルチャネル30,40はバッファメモリ上にステータ
スを表示するだけとし、CPU10がそのステータスを
システムバス2より検知するという方式としている。
【0042】また、この第3の実施例では、ハードディ
スク5,6から主記憶部13へのデータ読み込みの場合
も、バッファメモリから主記憶部13への転送は、CP
U10上のDMAコントローラ15が行う。
スク5,6から主記憶部13へのデータ読み込みの場合
も、バッファメモリから主記憶部13への転送は、CP
U10上のDMAコントローラ15が行う。
【0043】このようにすることで、ファイルチャネル
30,40からDMAコントローラ35,45を除去で
きるもので、これによりコストダウンを図ることができ
る。また、現用側に故障があった場合、待機側に新たな
コマンドを発信することなく、直ちに待機側のバッファ
メモリを読み出すことができるので、現用側の故障時に
おける待機側の読み出しを高速に行うことができる。
30,40からDMAコントローラ35,45を除去で
きるもので、これによりコストダウンを図ることができ
る。また、現用側に故障があった場合、待機側に新たな
コマンドを発信することなく、直ちに待機側のバッファ
メモリを読み出すことができるので、現用側の故障時に
おける待機側の読み出しを高速に行うことができる。
【0044】なお、上記各実施例においては、チャネル
としてファイルチャネルを用いた側について説明した
が、本発明はファイルチャネルに限定されるものではな
く、例えば通信制御チャネルや画像処理チャネルなどに
も適用できる。また、CPUを二重化するような場合で
も、データ転送に関しては本発明を適用することが可能
である。
としてファイルチャネルを用いた側について説明した
が、本発明はファイルチャネルに限定されるものではな
く、例えば通信制御チャネルや画像処理チャネルなどに
も適用できる。また、CPUを二重化するような場合で
も、データ転送に関しては本発明を適用することが可能
である。
【0045】
【発明の効果】本発明によれば、例えばCPUとチャネ
ルがシステムバス接続され、上記チャネルを二重化した
電子計算機の二重化システムにおいて、CPUから各チ
ャネルに対するシステムバス経由のコマンド発行及びデ
ータ転送が1回づつで済むので、システムバスの占有率
を小さくでき、システム全体の処理性能の向上を図るこ
とができる。
ルがシステムバス接続され、上記チャネルを二重化した
電子計算機の二重化システムにおいて、CPUから各チ
ャネルに対するシステムバス経由のコマンド発行及びデ
ータ転送が1回づつで済むので、システムバスの占有率
を小さくでき、システム全体の処理性能の向上を図るこ
とができる。
【図1】本発明の原理を説明するブロック図である。
【図2】本発明の第1の実施例を示すブロック図であ
る。
る。
【図3】図2におけるシステムバスインタフェース34
1,441の構成図である。
1,441の構成図である。
【図4】図2におけるモード/ID設定レジスタの具体
例を示す図である。
例を示す図である。
【図5】本発明の第2の実施例を示すブロック図であ
る。
る。
【図6】本発明の第3の実施例を示すブロック図であ
る。
る。
【図7】従来の二重化システムにおける信号処理方式を
説明するブロック図である。
説明するブロック図である。
10 CPU 30,40 チャネル 101 DMA手段 301,401 モード設定手段 302,402 ID設定手段 303,403 アドレス設定手段
Claims (2)
- 【請求項1】 CPU(10)と、このCPUに対して
二重化されたチャネル(30,40)がシステムバス
(2)で接続され、一方のチャネルを現用側、他方のチ
ャネルを待機側とした二重化システムにおける信号処理
方式において、 前記CPU(10)にDMA(Direct Memory Access)
手段(101)を設けるとともに、前記各チャネル(3
0,40)に現用側モードと待機側モードを設定するモ
ード設定手段(301,401)及びチャネル識別用の
識別子設定手段(302,402)を設け、さらに各チ
ャネル(30,40)に対する前記CPU(10)から
のコマンドまたはデータの書き込み時と読み出し時のそ
れぞれのアドレスを各チャネル毎に設定できるアドレス
設定手段(303,403)を設け、 前記CPU(10)から各チャネル(30,40)への
コマンド書き込み時及びCPU(10)がDMA手段
(101)を用いて各チャネル(30,40)内のそれ
ぞれのバッファメモリへのデータ書き込み時における書
き込みアドレスを、各チャネルとも同一アドレスに設定
するとともに、上記各チャネルからのデータ読み出し時
における読み出しアドレスは、各チャネルで異なったア
ドレスに設定し、 CPU(10)からのコマンド及びデータが各チャネル
(30,40)に同時に書き込まれたのち、チャネル側
からCPUへのシステムバス(2)上の確認応答は、現
用側に設定されたチャネルが行い、コマンドあるいはデ
ータの受信完了時点でのメッセージによるCPU(1
0)への確認応答は、前記チャネル識別子を用いて両方
のチャネルが共に行うようにしたことを特徴とする二重
化システムにおける信号処理方式。 - 【請求項2】 前記コマンドまたはデータの受信完了確
認を、各チャネル(30,40)が、これらチャネル内
のバッファメモリ上にステータス表示を行い、CPU
(10)がシステムバス(2)により、そのステータス
を検知することにより行うことを特徴とする請求項1記
載の二重化システムにおける信号処理方式。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP4175568A JPH0619633A (ja) | 1992-07-02 | 1992-07-02 | 二重化システムにおける信号処理方式 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP4175568A JPH0619633A (ja) | 1992-07-02 | 1992-07-02 | 二重化システムにおける信号処理方式 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH0619633A true JPH0619633A (ja) | 1994-01-28 |
Family
ID=15998360
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP4175568A Withdrawn JPH0619633A (ja) | 1992-07-02 | 1992-07-02 | 二重化システムにおける信号処理方式 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0619633A (ja) |
-
1992
- 1992-07-02 JP JP4175568A patent/JPH0619633A/ja not_active Withdrawn
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| KR100290944B1 (ko) | 복합 유니버설 시리얼 버스 제어기에 인터페이스를 제공하기 위한 장치 및 방법 | |
| US5159671A (en) | Data transfer unit for small computer system with simultaneous transfer to two memories and error detection and rewrite to substitute address | |
| US6052795A (en) | Recovery method and system for continued I/O processing upon a controller failure | |
| JP2846837B2 (ja) | 障害を早期検出するためのソフトウェア制御方式のデータ処理方法 | |
| JP2996440B2 (ja) | データ処理システムの診断方式 | |
| US5935204A (en) | System for a multi-processor system wherein each processor transfers a data block from cache if a cache hit and from main memory only if cache miss | |
| JPH07281840A (ja) | 2重化ディスク記録装置 | |
| US7062593B2 (en) | Circuit system and method for data transmission between LPC devices | |
| JP2988443B2 (ja) | データ転送方式 | |
| KR100324279B1 (ko) | 교환기에서 이중화 프로세서 간 메모리 일치 시스템 및 방법 | |
| US5603057A (en) | System for initiating data transfer between input/output devices having separate address spaces in accordance with initializing information in two address packages | |
| JP2892429B2 (ja) | 入出力制御装置 | |
| JP2522412B2 (ja) | プログラマブルコントロ―ラと入出力装置の間の通信方法 | |
| US5692218A (en) | System for transferring data between input/output devices having separate address spaces in accordance with initializing information in address packages | |
| JPH0520107A (ja) | 二重化制御装置 | |
| JPH10198524A (ja) | ハードディスク制御装置 | |
| JP3012402B2 (ja) | 情報処理システム | |
| JP2671743B2 (ja) | マイクロコンピュータ | |
| JPS61165160A (ja) | バス制御方式 | |
| JPH0934726A (ja) | 割り込み制御方法 | |
| JP3036449B2 (ja) | メモリ診断装置 | |
| JPH07109599B2 (ja) | 処理システムの情報転送装置 | |
| JPH01175656A (ja) | 高速データ転送方式 | |
| JPS63223946A (ja) | デ−タメモリ方式 | |
| JPH03131953A (ja) | プロセッサ間通信装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 19991005 |