(57)【要約】【課題】通常のパリティチェック方式の利点を保持しつつ、パリティエラー発生時には、送受信装置間で自律的に障害ビットを特定し、その障害ビットを回避して運用を継続できるようにする。【解決手段】送信装置100からの通常データに対してパリティエラーを受信装置200で検出すると、これに伴って送受信装置100,200双方においてデバッグモードへの切替を行う。これと共に、送信装置100からビット毎にパリティを付加したパターンデータを送信し、これを受信装置200側でパリティチェックする。これにより、ビット毎にパリティチェックを実施して障害ビットの特定を行う。このように障害ビットを特定した後、或る決められたデータを受信装置200から送信装置100へ転送する事で、送信装置100は、例えば上位又は下位のどちらに障害ビットがあるのか、或いは障害ビットはどれかを認識し、通常データの上位又は下位のビット列どちらか正常な方で運用を継続させる。【選択図】図1
2008288984.tif 000002
【特許請求の範囲】
【請求項１】
送信した通常データに対するパリティエラーの発生通知を受信したとき、ビット毎にパリティチェックを行うためのパターンデータを送信する第1ステップと、
該パターンデータの送信に応答して障害ビットを特定したデータを受信したとき、該障害ビットを検出する第2ステップと、
を備え、該第1及び第2ステップが、該通常データのアクセスモードからデバッグモードに切り替えて実行されることを特徴とした障害検出方法。
【請求項２】
受信した通常データに対して行ったパリティチェックによりパリティエラーを検出したとき、該パリティエラーの発生通知を行う第1ステップと、
該発生通知に応答してビット毎にパリティチェックを行うためのパターンデータを受信したとき、該パターンデータから障害ビットを特定したデータを生成して送信する第2ステップと、
を備え、該第1及び第2ステップが、該通常データのアクセスモードからデバッグモードに切り替えて実行されることを特徴とした障害検出方法。
【請求項３】
請求項１又は２において、
該デバッグモードを解除した後、該通常データのアクセスモードにおいて該障害ビットを含まないビット列で通信を行うステップをさらに備えたことを特徴とする障害検出方法。
【請求項４】
請求項１又は２において、
該パリティエラーの発生通知及び該デバッグモードの切替・解除が、該通常データのバスとは別の線路を経由して行われ、該パターンデータ及び該障害特定データが該通常バスを経由して送信されることを特徴とした障害検出方法。
【請求項５】
送信した通常データに対するパリティエラーの発生通知を受信したとき、ビット毎にパリティチェックを行うためのパターンデータを送信する第1手段と、
該パターンデータの送信に応答して障害ビットを特定したデータを受信したとき、該障害ビットを検出する第2手段と、
を備え、該第1及び第2手段が、該通常データのアクセスモードからデバッグモードに切り替えて実行されることを特徴とした障害検出装置。
【請求項６】
受信した通常データに対して行ったパリティチェックによりパリティエラーを検出したとき、該パリティエラーの発生通知を行う第1手段と、
該発生通知に応答してビット毎にパリティチェックを行うためのパターンデータを受信したとき、該パターンデータから障害ビットを特定したデータを生成して送信する第2手段と、
を備え、該第1及び第2手段が、該通常データのアクセスモードからデバッグモードに切り替えて実行されることを特徴とした障害検出装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、障害検出方法及び装置に関し、特に一般的な電気回路に多用されているパリティビットを含むバス接続に適用される障害ビットの検出方法及び装置に関するものである。
【背景技術】
【０００２】
パリティチェックビットを用いた一般的なパリティチェック方式は、データバスの正常性を診断するものであるが、一般的なパリティチェック方式では障害ビットが特定できない為に、パリティエラー発生時には、調査者自身が測定器などを用いて障害ビットを特定しなければならないといった面倒な手間が発生していた。
【０００３】
そこで、パリティエラーが発生したときのデータを送受信側で保持し、これらのデータを調査者が比較するというデータ保持方式が提案されている（例えば、特許文献1参照。）。
【０００４】
すなわち、この従来技術では、データバスにパリティビットを付加して、データ受信側ノードにおいてパリティチェックを行う。その際、受信側ノードにおいてパリティエラーを検出した場合には、データ・エラーを示す信号線を有効にすることによって、データ送信側ノードにデータにパリティエラーが検出されたことを通知するとともに、受信したデータを保持する。データ送信側ノードは、常に送信したデータを一時退避しておく。データ・エラー発生の際には、データ送受信側の保持データを読み出し、両者を比較することによって、エラー・ビットを特定可能にしている。
【０００５】
なお、下記の参考文献によるデータ比較回路がある（例えば、特許文献2参照。）。
すなわち、デ−タA(A0〜A7)及びデ−タB(B0〜B7)とデ−タA, BのパリティビットAP, BPが夫々2入力排他的論理和回路に入力され、夫々入力対が一致した時、その出力は0、不一致の時は1となって9入力論理和回路に入力される。9入力論理和回路は入力信号が全て0の時、0を出力し、1つでも1の時は1を出力する。更に2入力排他的論理和回路の出力がパリティチェック回路に入力され、その入力信号の論理1の数が奇数個の時は1を出力し、偶数個の時は0を出力する。これにより出力信号の論理値が1か否かによりエラ−の有無を判断し、エラ−処理回路に入力して主制御回路にエラ−の有無を報告する。
【特許文献１】特開平11-85551号公報
【特許文献２】特開昭55-066031号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
上記の特許文献1では、パリティエラーが検出されたときに、送受信側で保持しているデータ同士を比較するだけであり、送受信装置間で自律的に障害ビットを特定していない為、そのままでは送受信装置間で運用継続させる事ができないという課題があった。
【０００７】
従って、本発明は、通常のパリティチェック方式の利点を保持しつつ、パリティエラー発生時には、送受信装置間で自律的に障害ビットを特定し、そのビットを回避して運用を継続できる障害検出方法及び装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記の目的を達成するため、本発明に係る障害検出方法（又は装置）は、送信装置として、送信した通常データに対するパリティエラーの発生通知を受信したとき、ビット毎にパリティチェックを行うためのパターンデータを送信する第1手段（又は手段）と、該パターンデータの送信に応答して障害ビットを特定したデータを受信したとき、該障害ビットを検出する第2ステップ（又は手段）とを備え、該第1及び第2ステップ（又は手段）が、該通常データのアクセスモードからデバッグモードに切り替えて実行されることを特徴としている。
【０００９】
また、本発明では、受信装置として、受信した通常データに対して行ったパリティチェックによりパリティエラーを検出したとき、該パリティエラーの発生通知を行う第1ステップ（又は手段）と、該発生通知に応答してビット毎にパリティチェックを行うためのパターンデータを受信したとき、該パターンデータから障害ビットを特定したデータを生成して送信する第2ステップ（又は手段）とを備え、該第1及び第2ステップ（又は手段）が、該通常データのアクセスモードからデバッグモードに切り替えて実行されることも可能である。
【００１０】
そして、本発明では、送受信装置共通に、該デバッグモードを解除した後、該通常データのアクセスモードにおいて該障害ビットを含まないビット列で通信を行うステップ（又は手段）をさらに備えることができる。
【００１１】
すなわち、本発明では、送信装置からの通常データに対してパリティエラーを受信装置で検出すると、これに伴って送受信装置双方においてデバッグモードへの切替を行うと共に、送信装置からビット毎にパリティを付加したパターンデータを送信し、これを受信装置側でパリティチェックする。これにより、ビット毎にパリティチェックを実施する為、障害ビットの特定が可能となる。このように障害ビットを特定した後、或る決められたデータを受信装置から送信装置へ転送する事で、送信装置は、例えば上位又は下位のどちらに障害ビットがあるのか、或いは障害ビットはどれかを認識し、通常データの上位又は下位のビット列どちらか正常な方で運用を継続させることが可能となる。
【００１２】
このように、送受信装置間でステータス信号を追加し、障害ビット探索方式を決めておくだけで容易に障害ビットのシステム自律検出を実現させる。
【００１３】
ここで、上記のパリティエラーの発生通知及びデバッグモードの切替・解除は、該通常データのバスとは別の線路を経由して行われ、該パターンデータ及び該障害特定データが該通常バスを経由して送信され得る。
また、上記のパターンデータは、各ビット毎に“1”及び“0”を交互に設定したビット列にそれぞれ1ビットのパリティを付加して構成され得る。
【００１４】
さらに、上記の障害ビット特定データは、上記の通常データにおいて該障害ビットを含む上位又は下位のビット列のみを所定値に設定したデータか、または該障害ビットのみを所定値に設定したデータであればよい。
【００１５】
なお、上記の処理は、ハードのみで実現させてもソフトを介在させても構わない。
【発明の効果】
【００１６】
本発明の優位性は送受信装置間で自律的に障害ビットを検出できる事にある。よって、以下の効果が挙げられる。
【００１７】
1)障害ビットの調査作業そのものが必要なくなる。
【００１８】
2)パリティエラー発生時、即時に障害ビットを特定できる為、そのビットを避けてデータバス動作を継続させることが可能となる。
【００１９】
3)パリティチェック方式を用いた全てのデータバスに適用可能である。この場合、パリティビットの本数及びデータの本数に制約はなく、送受信装置間でステータスを渡し合えば、1:n接続のデータバスにも容易に適用可能である。更に片方向、双方向、クロック同期、及びクロック非同期も問わない。
【発明を実施するための最良の形態】
【００２０】
装置構成例：図1
図1は、本発明に係る障害検出方法を実現する装置の構成例を示す。この構成例は、端的に言えば、送信装置100−受信装置200間において、通常データバスBUS及びパリティビット線路PLに加えて、デバッグ用の付加線路Lが設けられ、この付加線路Lによって送信装置100及び受信装置200内にそれぞれに設けられたデバッグ機能部130及び230が相互に接続されている点が従来技術と異なっている。この付加線路Lは、パリティエラー(Perr)線路L1と、デバッグ(Dbg)線路L2と、応答(Ack)線路L3の3本のハード線から成っている。
【００２１】
より具体的には、送信装置100は、通常制御部110とパリティ生成部120とデバッグ機能部130とデータ送受信部140とパリティ送信部150とデータ受信部160とで構成されている。また、受信装置200は、通常制御部210とパリティチェック部220とデバッグ機能部230とデータ受信部240とパリティ受信部250とデータ送信部260とで構成されている。
【００２２】
送信装置100の通常制御部110と受信装置200の通常制御部210は、通常データバスBUSアクセス時にデータ送信部140及びデータ受信部240を介して機能する。パリティビットは、送信装置100の通常制御部110の制御により、パリティ生成部120で生成され、パリティ送信部150からパリティビット線路PLを介して受信装置200のパリティ受信部250に送られ、パリティチェック部220でパリティチェックされた後、そのチェック結果が通常制御部210に送られる。
【００２３】
パリティエラー発生時は、デバッグ機能部130及び230がそれぞれ通常制御部110及び210の代わりに機能する。デバッグ機能部130及び230は、一連の障害ビット特定シーケンスを監視しており、応答信号Ackが返って来ないなどの異常を検出した場合は、デバッグ機能そのものの異常をレジスタなどで通知し、障害ビット特定シーケンスを中断させる。中断した後、通常機能に戻し、パリティエラーが発生したアクセスをリトライさせる事も可能であるし、通常データバスBUSの動作そのものを停止させる事も可能である。
【００２４】
以下に、通常データバスBUSを8ビットa〜hのデータバス（上位4ビットをa, b,c, d、下位4ビットをe, f, g, h）と定義し、ビットfが故障していた場合の動作例を説明する。
【００２５】
動作例[1]：図2及び図3
まず、初期状態として、送信装置100のデータ送信部140はイネーブル状態、データ受信部160はディセーブル状態とし、受信装置200のデータ受信部240はイネーブル状態、データ送信部260はディセーブル状態とする。
【００２６】
ステップS1：
送信装置100の通常制御部110はデータ送信部140から通常データバスBUSを介して受信装置200のデータ受信部240及び通常制御部210へ通常データを送る（通常データバスアクセスモード）と共に、この通常データに基づいてパリティ生成部120で生成されたパリティビットは、パリティ送信部150からパリティビット線路PLを介してパリティ受信部250に送られる。
【００２７】
ステップS2：
パリティ受信部250からパリティビットを受けたパリティチェック部220は、パリティエラーを検出すると、通常制御部210とデバッグ機能部230へパリティエラー発生（検出）通知を行う。ここで、デバッグ機能を有効とするかどうかを予めユーザー側で設定できるようレジスタ（図示せず）などを設けることができる。
【００２８】
ステップS3：
デバッグ機能が、有効設定されている場合、デバッグ機能部230は、送信装置100のデバッグ機能部130へパリティエラー線路L1を介してパリティエラー信号Perrによりパリティエラー発生通知を行い、通常制御部210はパリティエラー発生通知レジスタ（図示せず）などでログとして保持する。無効設定の場合は、デバッグ機能部230はパリティエラー発生通知を無視する。
【００２９】
ステップS4：
送信装置100のデバッグ機能部130はパリティエラー信号Perr信号を受信すると、デバッグモードへの切替のため通常制御部110のバス制御を停止させる。
【００３０】
ステップS5：
デバッグ機能部130は、受信装置200のデバッグ機能部230へデバッグ線路L2を介してデバッグ信号Dbgにより受信装置200もデバッグモードへ切り替るように要求する。
【００３１】
ステップS6：
受信装置200のデバッグ機能部230は、デバッグ機能を有効とするか否かを予めユーザー側で設定できるようレジスタ（図示せず）などを設けることができる。デバッグモード要求を有効とする場合には通常制御部210の制御を停止すると同時に、パリティチェック部220を図2に示す障害ビット探索シーケンスに則った手順で各ビットのパリティチェックを行うよう制御する（デバッグモードへの切替）。デバッグモード要求を無効とする場合は、デバッグ機能部230はデバッグ信号Dbgを無視する。この場合、受信装置200は、パリティエラー信号Perrを送信装置100に中継するだけの構造としている為、デバッグ信号Dbgが返って来なくても問題はない。
【００３２】
ステップS7：
送信装置100のデバッグ機能部130へ受信装置200もデバッグモードへ切り替った事を通知する為に応答信号Ackを応答線路L3を介して返す。この場合、受信装置200はあくまでもスレーブであり、マスタである送信装置100がデバッグモードへ切り替らない限り、受信装置200はデバッグモードに切り替えてはならない。
【００３３】
ステップS8：
送信装置100のデバッグ機能部130は、応答信号Ackを受信すると、パリティ生成部120とデータ送信部140とに対して、図示の障害ビット探索シーケンスに則った手順でパターン化されたデータを送信する。
【００３４】
この時のパターンデータ例が図3に示されており、障害によって、“L”レベル又は“H”レベルに張り付いた状態を検出する為に各ビットを“1”及び“0”の2種類で交互にアクセスさせる。パリティ付加対象のビット以外はドントケア(Don't care)であり“1”又は“0”のどちらを送信しても構わない。
【００３５】
すなわち、例えば、ビットaの場合、1ビット目を“1”とし、残りの7ビットをドントケアとした8ビットデータにパリティビットPを付加した9ビットデータ(a(0)+Ptg)を送る。次に、1ビット目を“0”とし、残りの7ビットをドントケアとした8ビットデータにパリティビットPを付加した9ビットデータ(a(1)+Ptg)を送る。このようにして、図示のように8ビット×2＝16のパターンデータが送信されることになる。
【００３６】
パターンデータ送信後、デバッグ機能部130は、速やかにデータ送信部140をディセーブル状態、データ受信部160をイネーブル状態に制御する。
【００３７】
また、受信装置200のデバッグ機能部230は、図3に示す如く8ビットバス＋1ビットパリティのバス構成の場合、デバッグモード切替直後に16回連続アクセスされる事と、どのビットに対応したアクセスなのか（順番）が予め判っている為、パリティチェック部220がパリティエラーを検出した際は障害ビットを特定できる。ここは、図2に示すようにビットfの障害を検出したとする。
【００３８】
ステップS9：
デバッグ機能部230は障害ビットをログとしてレジスタ（図示せず）などで保持すると共に、データ受信部240をディセーブル状態、データ送信部260をイネーブル状態に制御し、ビット列(a,b, c, d)＝(1, 1, 1, 1)を送信する。この時、障害ビットのfを含むビット列（e, f, g, h）はドントケアで構わない。逆に上位ビットである、例えばビットaが故障していた場合はビット列(e, f, g, h)＝(1, 1, 1, 1)を送信する。
【００３９】
ステップS10：
送信装置100のデバッグ機能部130は(a,b, c, d)＝(1, 1, 1, 1)を受信し、下位4ビットの障害を認識する。
【００４０】
ステップS11：
ビット障害の認識と同時に、速やかに線路L2のデバッグ信号Dbgをネゲートしてデバッグモード解除要求を行う。
【００４１】
ステップS12：
受信装置200のデバッグ機能部230は、デバッグ信号Dbgによりデバッグモード解除要求された事を知ると、データ受信部240をイネーブル状態、データ送信部260をディセーブル状態に制御してデバッグモードを解除する。
【００４２】
ステップS13：
デバッグ機能部230は、送信装置100へ応答信号Ackを線路L3により返信してデバッグモード解除応答を行うのと同時に通常制御部210へ制御権を与える。
【００４３】
ステップS14：
送信装置100のデバッグ機能部130は、応答信号Ackの受信により受信装置200がデバッグモードを解除したのを知ると、データ送信部140をイネーブル状態、データ受信部160をディセーブル状態に制御し（デバッグモード解除）、通常制御部110へ上位4ビットモードとして制御権を与える。
【００４４】
ステップS15：
送信装置100の通常制御部110は、デバッグ機能部130から下位4ビット側の障害である事を通知されている為、上位4ビットだけを使用して通常バスアクセスモードを再開する。
【００４５】
動作例[2]：図3及び図4
図2に示した動作例[1]の場合には、受信装置200において障害ビット通知（ステップS9）を行う際、障害ビットfを含まない上位ビット列又は下位ビット列を“1”にして（その他はドントケア）送信装置100へ送っているが、この動作例[2]の場合は、図4のステップS9’に示すように、障害ビットfのみを“0”とし、その他を“1”にすることによって、送信装置100ではビットfで障害があったことを検出し（ステップS10’）、この障害ビットfが属する下位ビット列e〜hを除いた上位4ビットa〜dで動作例[1]と同様に通常データバスアクセス（ステップS15）を行っている点が異なっている。
【００４６】
なお、本発明は、上記実施例によって限定されるものではなく、特許請求の範囲の記載に基づき、当業者によって種々の変更が可能なことは明らかである。
【００４７】
例えば、障害ビット探索シーケンスにて障害ビットが検出されない場合や、シーケンス通りに動作しない障害も考えられる。この場合は、デバッグモードを途中解除して、デバッグ機能部エラーをレジスタなどでログとして表示しても良いし、リトライ動作も容易に実現できる。
【図面の簡単な説明】
【００４８】
【図１】本発明に係る障害検出方法を実現する装置（送信装置及び受信装置）の実施例を示したブロック図である。
【図２】本発明に用いる障害検出方法及び装置の動作例[1]を示したシーケンス図である。
【図３】本発明に用いる障害ビット特定シーケンスに用いられるパターンデータ例を示した図である。
【図４】本発明に用いる障害検出方法及び装置の動作例[2]を示したシーケンス図である。
【符号の説明】
【００４９】
100  送信装置
200  受信装置
110, 210  通常制御部
120, 220  パリティ生成部
130, 230  デバッグ機能部
140, 240  データ送信部
150, 250  パリティ送信部
160, 260  データ受信部
BUS  通常データバス
PL  パリティビット線路
L  付加線路
L1  パリティエラー(Perr)線路
L2  デバッグ(Dbg)線路
L3  応答(Ack)線路
図中、同一符号は同一又は相当部分を示す。
【図１】
2008288984.tif 000003
【図２】
2008288984.tif 000004
【図３】
2008288984.tif 000005
【図４】
2008288984.tif 000006