(57)【要約】  送信切替選択部１２は、複数の接続線を複数のグループに分け、複数のグループにおいて相互に対応する接続線を定め、テストパターンの同一位置のビットを対応する接続線に割当て、前記接続線の割当てに従って、複数の接続線にテストパターンを出力する。受信切替選択部２２は、前記接続線の割当てに従って、複数の接続線に出力されたテストパターンを、複数の接続線を介して受信する。エラー検出部２３は、受信切替選択部２２からテストパターンを受信して、前記接続線の割当てに従って、複数のグループにおいて相互に対応する接続線を介して受信したテストパターンの同一位置のビットを比較し、障害発生接続線を示す障害発生接続線情報を生成する。
2010103564.tif 000002
【特許請求の範囲】
【請求項１】
データを送信する送信装置と、前記データを受信する受信装置と、前記送信装置と前記受信装置との間を接続する複数の接続線を含むシステムバスとを備える送受信装置であって、
前記送信装置に設けられ、複数のビットを含むテストパターンを生成するテストパターン発生部と、
前記送信装置に設けられ、前記複数の接続線を複数のグループに分け、前記複数のグループにおいて相互に対応する接続線を定め、前記テストパターンの同一位置のビットを前記対応する接続線に割当てることにより、前記テストパターンと接続線との対応を定め、前記テストパターンと接続線との対応に従って、前記複数の接続線に前記テストパターンを出力する送信切替選択部と、
前記受信装置に設けられ、前記テストパターンと接続線との対応に従って、前記複数の接続線に出力された前記テストパターンを、前記複数の接続線を介して受信する受信切替選択部と、
前記受信装置に設けられ、前記受信切替選択部から前記テストパターンを受信して、前記テストパターンと接続線との対応に従って、前記複数のグループにおいて相互に対応する接続線を介して受信した前記テストパターンの同一位置のビットを比較し、前記比較の結果に基づいて、前記複数の接続線の中でエラーが発生した接続線である障害発生接続線を示す障害発生接続線情報を生成するエラー検出部とを備える
ことを特徴とする送受信装置。
【請求項２】
前記送受信装置は、更に、
前記送信装置に設けられ、前記テストパターン発生部が生成したテストパターンを出力するか、又は、入力データを出力するかを指示する制御信号を、前記送信切替選択部に出力する送信切替制御部を備え、
前記送信切替選択部は、前記送信切替制御部からの前記制御信号に従って、前記テストパターン又は前記入力データを出力する
ことを特徴とする請求項１に記載の送受信装置。
【請求項３】
前記送受信装置は、更に、
前記送信装置に設けられ、前記入力データを送信データ変換部に出力する送信処理部と、
前記送信装置に設けられ、前記受信装置から受信した、前記複数の接続線の中でエラーが発生した接続線である障害発生接続線を示す障害発生接続線情報に基づいて、前記入力データを前記送信データに変換する送信データ変換部とを備え、
前記送信データ変換部は、前記障害発生接続線情報に基づいて、障害発生接続線が存在しない場合、前記入力データの各ビットを前記複数の接続線に順に割当てることにより、前記入力データと接続線との対応を定め、前記入力データと接続線との対応に従って、前記入力データを前記送信データに変換し、障害発生接続線が存在する場合、前記入力データと接続線との対応を前記障害発生接続線を除外するように新たな入力データと接続線との対応に変更し、前記新たな入力データとレーンとの対応に従って、前記入力データを前記送信データに変換し、前記送信データを前記送信切替選択部に出力する
ことを特徴とする請求項１に記載の送受信装置。
【請求項４】
前記エラー検出部は、前記障害発生接続線情報を前記送信装置に送信する
ことを特徴とする請求項３に記載の送受信装置。
【請求項５】
前記送受信装置は、更に、
前記受信装置に設けられ、前記複数の接続線を介して受信したデータを、前記システムバスのエラー診断を行うためのテストデータとするか、又は、前記テストデータ以外のデータとするかを指示する制御信号を、前記受信切替選択部に出力する受信切替制御部を備え、
前記受信切替選択部は、前記受信切替制御部からの前記制御信号に従って、前記複数の接続線を介して受信したデータを、前記テストデータ又は前記テストデータ以外のデータとして出力する
ことを特徴とする請求項１に記載の送受信装置。
【請求項６】
前記送受信装置は、更に、
前記受信装置に設けられ、前記エラー検出部が生成した前記障害発生接続線情報に基づいて、前記受信データを前記出力データに変換する受信データ変換部と、
前記出力データを出力する受信処理部とを備え、
前記受信データ変換部は、前記障害発生接続線情報に基づいて、障害発生接続線が存在しない場合、前記出力データの各ビットを前記複数の接続線に順に割当てることにより、前記出力データと接続線との対応を定め、前記出力データと接続線との対応に従って、前記受信データを前記出力データに変換し、障害発生接続線が存在する場合、前記出力データと接続線との対応を前記障害発生接続線を除外するように新たな出力データと接続線との対応に変更し、前記新たな出力データと接続線との対応に従って、前記受信切替選択部から出力された前記受信データを前記出力データに変換する
ことを特徴とする請求項１に記載の送受信装置。
【請求項７】
データを受信する受信装置と複数の接続線を含むシステムバスを介して接続され、前記受信装置にデータを送信する送信装置であって、
複数のビットを含むテストパターンを生成するテストパターン発生部と、
前記複数の接続線を複数のグループに分け、前記複数のグループにおいて相互に対応する接続線を定め、前記テストパターンの同一位置のビットを前記対応する接続線に割当てることにより、前記テストパターンと接続線との対応を定め、前記テストパターンと接続線との対応に従って、前記複数の接続線に前記テストパターンを出力する送信切替選択部とを備える
ことを特徴とする送信装置。
【請求項８】
データを送信する送信装置と複数の接続線を含むシステムバスを介して接続され、前記データを受信する受信装置であって、
前記複数の接続線を複数のグループに分け、前記複数のグループにおいて相互に対応する接続線を定め、複数のビットを含むテストパターンの同一位置のビットを前記対応する接続線に割当てることにより、前記テストパターンと接続線との対応を定め、前記テストパターンと接続線との対応に従って、前記複数の接続線に出力された前記テストパターンを、前記複数の接続線を介して受信する受信切替選択部と、
前記受信切替選択部から前記テストパターンを受信して、前記接続線の割当てに従って、前記複数のグループにおいて相互に対応する接続線を介して受信した前記テストパターンの同一位置のビットを比較し、前記比較の結果に基づいて、前記複数の接続線の中でエラーが発生した接続線である障害発生接続線を示す障害発生接続線情報を生成するエラー検出部とを備える
ことを特徴とする受信装置。
【請求項９】
データを送信する送信装置と、前記データを受信する受信装置と、前記送信装置と受信装置との間を接続する複数の接続線を含むシステムバスとを備える送受信装置におけるデータの送受信方法であって、
前記送信装置において、複数のビットを含むテストパターンを生成する処理と、
前記送信装置において、前記複数の接続線を複数のグループに分け、前記複数のグループにおいて相互に対応する接続線を定め、前記テストパターンの同一位置のビットを前記対応する接続線に割当てることにより、前記テストパターンと接続線との対応を定め、前記テストパターンと接続線との対応に従って、前記複数の接続線に前記テストパターンを出力する処理と、
前記受信装置において、前記接続線の割当てに従って、前記複数の接続線に出力された前記テストパターンを、前記複数の接続線を介して受信する処理と、
前記受信装置において、受信した前記テストパターンについて、前記テストパターンと接続線との対応に従って、前記複数のグループにおいて相互に対応する接続線を介して受信した前記テストパターンの同一位置のビットを比較し、前記比較の結果に基づいて、前記複数の接続線の中でエラーが発生した接続線である障害発生接続線を示す障害発生接続線情報を生成する処理とを含む
ことを特徴とするデータの送受信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、送受信装置、送信装置、受信装置、データの送受信方法に関する。
【背景技術】
【０００２】
情報処理システムの送受信装置において、Point to Pointで接続されるシリアルインターフェースを複数束ねた送受信ポートの間においてデータ伝送を行う伝送方式が採用されている。Point to Pointで接続されるシリアルインターフェースとしては、例えば、PCI(Peripheral Component Interconnect)-Expressが代表的である。シリアルインターフェースにおける、このようなポート間における接続線は、一般に、レーンと呼ばれる。【０００３】
なお、プリント基板チップ間接続試験方法において、プリント基板内の接続線のチップの出力ピンにテストパターンを与え、接続線のチップの入力ピンからテスト値をとり出し、期待値と比較する手段を備えることが提案されている。【０００４】
また、ＬＳＩ間接続試験回路において、テストデータ格納手段からのテストデータを外部の集積回路を介して戻す信号授受手段により戻し、戻したテストデータの内容と比較する比較手段を備えることが提案されている。【０００５】
更に、接続検査機能付きＬＳＩにおいて、ＬＳＩチップの接続テスト時に、１個の入力端子から入力された入力信号を複数の出力端子に、かつ複数の入力端子からの入力信号を１個の出力端子に切換え可能な入出力選択回路を備えることが提案されている。【０００６】
更に、また、不良のレーンを特定し、リンクを通じて接続された２つのＣＳＩ（Common System Interface）エージェントの幅の容量を交換するための方法において、第１及び第２のエージェント間でリンク幅の情報を送受信し、リンク幅を調整する方法が提案されている。
【特許文献１】特開平２−２４５６７５号公報
【特許文献２】特開平５−５３８５７号公報
【特許文献３】特開２００４−２０５３５２号公報
【特許文献４】特開２００５−３３２３５７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
送受信装置は、レーンの故障による伝送障害を回避するため、伝送障害が発生したレーンを検出し、伝送障害が発生したレーンを縮退即ち送受信装置から分離する。これにより、送受信装置は、送受信ポート間において、伝送障害が発生していないレーンによりデータ伝送を継続する。しかし、伝送障害が発生したレーンを検出し分離するために、エラー診断が必要となる。このために、受信装置が、エラー診断のためのデータを備える必要がある。【０００８】
本発明は、エラー診断を簡単化し、エラー診断に要する時間を短縮することができる送受信装置を提供することを目的とする。
【課題を解決するための手段】
【０００９】
開示される送受信装置は、データを送信する送信装置と、前記データを受信する受信装置と、前記送信装置と受信装置との間を接続する複数の接続線を含むシステムバスとを備える送受信装置である。送受信装置は、テストパターン発生部と、送信切替選択部と、受信切替選択部と、エラー検出部とを備える。テストパターン発生部は、送信装置に設けられ、複数のビットを含むテストパターンを生成する。送信切替選択部は、送信装置に設けられ、複数の接続線を複数のグループに分け、複数のグループにおいて相互に対応する接続線を定め、テストパターンの同一位置のビットを対応する接続線に割当て、前記接続線の割当てに従って、複数の接続線にテストパターンを出力する。受信切替選択部は、受信装置に設けられ、前記接続線の割当てに従って、複数の接続線に出力されたテストパターンを、複数の接続線を介して受信する。エラー検出部は、受信装置に設けられ、受信切替選択部からテストパターンを受信して、前記接続線の割当てに従って、複数のグループにおいて相互に対応する接続線を介して受信したテストパターンの同一位置のビットを比較し、比較の結果に基づいて、複数の接続線の中でエラーが発生した接続線である障害発生接続線を示す障害発生接続線情報を生成する。
【発明の効果】
【００１０】
開示される送受信装置によれば、システムバスのエラー診断において、例えば、受信装置がテストパターンに対応した期待値を備える必要を無くすことができ、また、エラー診断を簡単にすることができ、更に、複数の接続線について同時にエラー診断を行いエラー箇所を特定することができるので、エラー診断の時間を短縮することができる。
【図面の簡単な説明】
【００１１】
【図１】送受信装置の構成の一例を示す図である。
【図２】送受信装置の構成の一例を示す図である。
【図３】送受信装置の構成の一例を示す図である。
【図４】送受信装置におけるエラー検出の説明図である。
【図５】エラー検出器の構成の一例を示す図である。
【図６】エラー検出時の送受信の説明図である。
【図７】本発明者が検討した背景となる送受信装置の構成の一例を示す図である。
【図８】本発明者が検討した背景となる送受信装置の構成の一例を示す図である。
【符号の説明】
【００１２】
１      送信デバイス
２      受信デバイス
３      システムバス
１０    送信ポート
１１    送信切替制御部
１２    送信切替選択部
１３    テストパターン発生部
１４    送信エラーレーンレジスタ
１５    送信処理部
１６    送信データ変換部
２０    受信ポート
２１    受信切替制御部
２２    受信切替選択部
２３    エラー検出部
２４    受信エラーレーンレジスタ
２５    受信処理部
２６    受信データ変換部
【発明を実施するための最良の形態】
【００１３】
図７及び図８は、本発明者が検討した送受信装置の構成の一例を示す図である。【００１４】
図７（Ａ）は、送受信装置における接続線としてのレーンを説明する図である。送受信装置は、複数のデバイス１００１、複数のレーンを有するシステムバス３０００を備える。デバイス１００１は、システムバス３０００に接続されたポート１０１０を備える。なお、デバイス１００１は、デバイス１００１Ａ、デバイス１００１Ｂを代表し、ポート１０１０は、ポート１０１０Ａ、ポート１０１０Ｂを代表する。ポート１０１０は、ポート１０１０Ａとポート１０１０Ｂの間に接続されるシステムバス３０００の複数のレーンを介して、データ伝送を行う。【００１５】
本発明者は、図７（Ａ）に示す送受信装置において、システムバス３０００のデータ伝送のエラー診断を、図７（Ｂ）又は図８に示すようにして、実施する送受信装置について検討した。【００１６】
図７（Ｂ）は、送信デバイス１１０１から受信デバイス２１０１にシステムバス上の複数のレーンの中のレーン[0]におけるデータ伝送のエラー検出を説明する図である。送信デバイス１１０１は、テストパターンTestpatを発生するテストパターン発生部１１１３を有する送信ポート１１１０を備える。受信デバイス２１０１は、テストパターン発生部１１１３の生成するテストパターンに対応した期待値を格納する期待値格納部２１２１と、期待値格納部２１２１の期待値を参照して、レーンを介して受信したデータのエラー検出を行うエラー検出部２１２２とを備える。【００１７】
図７（Ｂ）において、システムバス３０００のレーンの中の１個のレーンlane[0]を例として、受信ポート２１２０のエラー診断について説明する。【００１８】
送信デバイス１１０１において、テストパターン発生部１１１３は、受信デバイス２１０1に対して、テストパターンTestpatを出力する。テストパターンTestpatは、システムバス３０００を介して出力される。具体的には、最初に、送信ポート１１１０は、予め、受信ポート２１２０へテストパターンの期待値の種別の通知を行う。次に、テストパターン発生部１１１３は、受信デバイス２１０1に対し、システムバス３０００を介してテストパターンTestpatのデータを出力する。受信デバイス２１０1では、受信ポート２１２０に備えられた期待値格納部２１２１が、送信ポート１１１０からテストパターンTestpatの種別の通知を受信する。期待値格納部２１２１は、テストパターンTestpatの種別の通知に基づいて、予め記憶したテストパターンTestpatの期待値をエラー検出部２１２２に通知する。【００１９】
エラー検出部２１２２は、受信ポート２１２０がシステムバス３０００を介して受信したテストパターンTestpatのデータを入力する。エラー検出部２１２２は、レーンlane[0]を介して、受信したテストパターンTestpatのデータと期待値格納部２１２１から通知された期待値とを比較する。エラー検出部２１２２は、レーンlane[0]を介して受信したデータと期待値格納部２１２１から通知された期待値とが一致しない場合、エラー情報lane[0]_errにエラー検出信号（例えば、出力“１”）を出力する。これにより、受信デバイス２１０1は、受信したデータのエラーが発生したレーンである障害発生接続線としてのエラーレーンを特定することができる。即ち、図７（Ｂ）に示す送受信装置においては、システムバス３０００のエラーレーンを特定するためには、テストパターンTestpatに対応した期待値を受信側で持つ必要がある。【００２０】
図８において、送受信装置は、送信デバイス１２０１に備えられた送信ポート１２１０と受信デバイス２２０１に備えられた受信ポート２２２０との間のレーンlane[0]及びレーンlane[1]を介して、エラー診断のためにデータのループバックを行う。これにより、送信ポート１２１０のエラー検出部１２１４は、ループバックされたデータとテストパターンTestpatのデータを比較することにより、エラー診断を実施することができる。【００２１】
例えば、テストパターン発生部１２１３は、レーンlane[0]を介して、テストパターンTestpatのデータをデータとして送信する。受信ポート２２２０は、このデータをlane[0]を介して受信し、この受信したデータを折り返し、lane[1]を介して送信する。送信ポート１２１０は、この折り返されたデータをlane[1]を介して受信し、受信したデータを、テストパターンTestpatのデータと共にエラー検出部１２１４に送信する。エラー検出部１２１４は、これらのデータに基づいて、データのエラー診断を行う。エラー検出部１２１４は、そのエラー診断の結果をエラー情報lane[1:0]_errとして生成する。【００２２】
しかし、この場合、図８に示す送受信装置において、エラー検出部１２１４は、結果的に、送信側信号と受信側信号とを併せた折り返し（ループバック）となる。このため、エラー検出時において、送信側レーンlane[0]及び受信側レーンlane[1]のどちらのレーンに故障箇所があるかを特定することができない。【００２３】
以上のように、情報処理システムにおける送受信装置は、送受信ポート間においてデータ伝送を継続させるためには、障害が発生したレーンを特定する必要がある。このために、送受信装置は、レーン毎にエラー診断を行う必要がある。例えば、送受信装置は、送信装置の送信するテストパターンを予め定め、受信装置においてテストパターンの期待値を持つことにより、エラー検出を行う。しかし、この場合、受信装置は、予め複数のテストパターンの期待値を記憶する必要があり、また、送信装置から送信されたテストパターンと受信したデータとを比較する回路を必要とする。更に、受信装置が送信装置からの期待値を正常に受信できないと、比較する期待値が不定となり、エラー診断が実施できない。【００２４】
以上とは別に、ループバックを用いて複数の入出力端子間信号の同時診断を可能とする送受信装置は、テストパターンに対応した期待値を受信側で持つ必要がなく、エラー検出時に送信側と受信側のどちらのレーンに故障箇所が存在するかを特定することができる。しかし、ループバックを用いる方法では、診断対象のループバック経路のレーンを切替えることによりレーンの組合せを替えて、複数回の診断を実施しないと、故障箇所の特定が行えない。このため、ループバックを用いる方法では、エラー検出の診断に長時間を要する。【００２５】
ループバックによる診断方法によれば、送信装置で１個のレーンから送信したデータを受信装置で折り返し、受信装置で他のレーンを経由して送信するため、テストパターンに応じた期待値を受信装置で持つ必要はない。しかし、２つのレーンを経由した折り返しのデータとなるために、エラー検出時に２つのレーンのいずれのレーンにおけるデータエラーか特定することができない。更に、ループバックによる診断方法において、複数のレーンの入出力端子間の折り返しを複数の組合せで行い、その組合せのループバックテストを複数回実施して故障箇所を特定することができる。しかし、この場合、エラー検出の診断を実施するために長い時間を要する。【００２６】
以下に開示される送受信装置によれば、エラー診断を簡単化し、エラー診断に要する時間を短縮することができる。【００２７】
図１〜図３は、送受信装置の構成の一例を示す。特に、図１は、送受信装置の全体の構成を示し、図２は主として送受信装置を構成する送信デバイスの構成を示し、図３は主として送受信装置を構成する受信デバイスの構成を示す。図１〜図３は、一体となって１個の送受信装置を示す。【００２８】
図１において、送受信装置は、送信デバイス１、受信デバイス２、システムバス３を備える。送信デバイス１は、例えばコンピュータであり、データを受信デバイス２に送信する。送信デバイス１は、データを送信する送信ポート１０を備える。送信デバイス１には、受信デバイスに送信すべきデータである入力データが入力される。受信デバイス２は、例えばコンピュータであり、送信ポート１０から送信されたデータを受信する。受信デバイス２は、送信ポート１０から送信されたデータを受信する受信ポート２０を備える。受信デバイス２は、受信したデータに基づいて形成された出力データを出力する。システムバス３は、送信デバイス１と受信デバイス２との間を接続する通信路である。データは、システムバス３を介して伝送される。【００２９】
システムバス３は、送信ポート１０と受信ポート２０間に接続される複数のレーンを備える。図１の送受信装置において、システムバス３は、１２個のレーンlane[0]〜[11]を備える。各レーンは、例えば、point to pointで接続されるシリアル接続のインタフェースである。レーンは、プリント基板上に形成された配線、プリント基板の間のケーブル等の物理インタフェースである。具体的には、レーンは、例えば、PCI用マザーボードに対応した送受信装置であるマザーボードのコネクタに挿入されるプリント基板ユニットにおいて、コネクタを含むマザーボードの送受信装置であるプリント基板ユニット間のパターン配線である。【００３０】
ここで、例えば、lane[0]において、カッコ内の数字は、システムバス３におけるレーンの位置を表す。従って、例えば、lane[0]は、システムバス３における第０番のレーンを表す。レーンは、第０番のレーンlane[0]から第１２番のレーンlane[11]まで、１２本存在する。換言すれば、第０番〜第１２番のレーンをレーンlane[11:0]と表すこともできる。【００３１】
送信ポート１０は、システムバス３を介して、受信ポート２０へデータを送信する。このために、送信ポート１０は、図２に示すように、送信切替制御部１１、送信切替選択部１２、テストパターン発生部１３、送信エラーレーンレジスタ１４、送信処理部１５、送信データ変換部１６を備える。【００３２】
受信ポート２０へ送信されるデータは、本来の送信すべきデータである送信データ、又は、テストパターンのいずれかである。送信データは、送信処理部１５により形成され、送信データ変換部１６により変換されたデータである。テストパターンは、テストパターン発生部１３により形成されたデータである。【００３３】
テストパターン発生部１３は、受信デバイス２に送信するためのテストパターンTestpatを生成する。テストパターンとしては、例えば、複数のビット、例えば４ビットのテストパターンTestpat[3:0]が生成される。テストパターンのビット数は、これに限られない。４ビットのテストパターンTestpat[3:0]は、データが必要なビット幅となるように、連続して繰り返し用いられる。【００３４】
ここで、例えば、Testpat[3:0]において、カッコ内の最初の数字はテストパターンにおける最上位ビットを表し、カッコ内の最後の数字はテストパターンにおける最下位ビットを表す。従って、Testpat[3:0]は、第０ビットから第３ビットまでの４ビットを含むテストパターンを表す。【００３５】
また、例えば、Testpat[0]において、カッコ内の数字は、テストパターンにおけるビットの位置又はその値を表す。従って、例えば、Testpat[0]は、テストパターンにおける第０ビット又はその値を表す。【００３６】
以上は、後述するテストデータTestData[3:0]及びテストデータTestData[0]等についても、同様である。【００３７】
テストパターン発生部１３は、予め定められたテストパターンの中から１個のテストパターンを選択し、例えば第１のテストパターンTestpat[3:0]として生成する。予め定められたテストパターンは、例えば、テストパターン発生部１３の備えるメモリに、予め格納される。テストパターン発生部１３は、生成した第１のテストパターンTestpat[3:0]を送信切替選択部１２へ出力する。【００３８】
また、テストパターン発生部１３は、第１のテストパターンを出力してから所定の時間の経過後、予め定められたテストパターンの中から１個のテストパターンを選択し、例えば第２のテストパターンとして出力する。所定の時間は、例えば、受信ポート２０側で、次のデータを受信可能な時間である。【００３９】
第１及び第２のテストパターンにおいて、対応する各ビットTestpat[0]〜Testpat[3]の値が異なるようにされる。従って、第１及び第２のテストパターンは相補データである。第１及び第２のテストパターンを用いることにより、レーンの異常等により受信デバイス２においてデータが“０”又は“１”に固定された場合であっても、受信ポート２０は、いずれか一方のテストパターンによりエラー検出を行うことができる。【００４０】
送信切替制御部１１は、テストパターン発生部１３が生成したテストパターンを出力するか、又は、入力データを出力するかを指示する制御信号を、送信切替選択部１２に出力する。【００４１】
例えば、送信切替制御部１１は、テストパターンTestpat[3:0]及び送信データSData[11:0]の何れを送信するか指示する制御信号を出力する。この制御信号は、例えば、送信切替制御部１１が送受信装置の電源立上げ動作等によりパワーオン信号又はリセット信号PowOn/Rstを受信した場合に出力される。この制御信号は、例えば、テストモード信号のオン（又はハイレベル）である。【００４２】
ここで、例えば、SData[11:0]において、カッコ内の最初の数字は送信データにおける最上位ビットを表し、カッコ内の最後の数字は送信データにおける最下位ビットを表す。従って、SData[11:0]は、第０ビットから第１１ビットまでの１２ビットを含む送信データを表す。送信データのビット数は、これに限られない。【００４３】
また、例えば、SData[0]において、カッコ内の数字は、送信データにおけるビットの位置又はその値を表す。従って、例えば、SData[0]は、送信データにおける第０ビット又はその値を表す。【００４４】
以上は、後述する受信データSData[11:0]及び受信データSData[0]等についても、同様である。【００４５】
例えば、送信切替制御部１１は、送信切替選択部１２及び送信処理部１５に対し、予め定められたエラー診断を実施する期間中、テストモード＃Ａ信号testmode#Aのオンを出力する。テストモード＃Ａ信号のオンは、例えば、テスト開始を指示する制御信号である。これにより、テストモード＃Ａ信号のオンの期間中、テストパターンTestpat[3:0]が送信切替選択部１２から選択的に出力される。換言すれば、テストモード＃Ａによるレーンのテストが実行される。他のテストモードについても、同様である。【００４６】
また、送信切替制御部１１は、例えばテストモード＃Ａ信号のオンの出力に先立って、送信エラーレーンレジスタ１４に対し、これを初期化するためのクリア＃Ａ信号clr#Aのオンを出力する。クリア＃Ａ信号のオンは、例えば、初期化の開始即ちクリア開始を指示する制御信号である。他のクリアモードについても、同様である。【００４７】
送信エラーレーンレジスタ１４は、受信ポート２０のエラー検出部２３から送信されるエラー情報err_setを受信して保持する。送信エラーレーンレジスタ１４は、保持したエラー情報に基づいて、エラーが発生したレーンであるエラーレーンを特定し、特定したエラーレーンを示すエラーレーン情報を保持する。【００４８】
一方、送信エラーレーンレジスタ１４は、送信切替制御部１１から出力されるクリア＃Ａ信号のオンを受信した場合、エラーレーン情報を初期化する。送信エラーレーンレジスタ１４は、保持したエラーレーン情報に基づいて、送信データ変換部１６へエラーレーン情報を通知する。送信エラーレーンレジスタ１４は、クリア＃Ａ信号のオンを受信するまで、エラーレーン情報を保持する。【００４９】
送信処理部１５は、他のコンピュータ又は記憶装置等から送信された入力データを受信して、一時的に保持する。入力データは、例えば内部バッファに保持される。内部バッファは、送信処理部１５が備えるレジスタ又はメモリのような記憶手段である。入力データは、送信処理部１５における受信の順に、内部バッファの先頭から順に格納される。内部バッファに保持された入力データは、受信デバイス２に送信すべきデータである。【００５０】
送信切替制御部１１からのテストモード＃Ａ信号のオフを受信した場合、入力データを内部バッファから格納した順に取り出し、取り出した順に送信データ変換部１６へ出力する。一方、送信処理部１５は、送信切替制御部１１からのテストモード＃Ａ信号のオンを受信した場合、受信した入力データを内部バッファに保持すると共に、入力データを内部バッファから取り出さない。この場合、入力データは、内部バッファに蓄積されるのみである。入力データは、テストモード＃Ａ信号のオフから送信データ変換部１６へ出力されるまでの間、内部バッファに保持される。【００５１】
送信データ変換部１６は、受信装置から受信した、複数のレーンの中でエラーが発生したレーンであるエラーレーンを示すエラーレーン情報に基づいて、入力データを送信データに変換する。具体的には、送信データ変換部１６は、エラーレーン情報に基づいて、エラーレーンが存在しない場合、入力データの各ビットを複数のレーンに順に割当てることにより、入力データとレーンとの対応を定める。送信データ変換部１６は、入力データとレーンとの対応に従って、入力データを送信データに変換する。送信データ変換部１６は、エラーレーンが存在する場合、入力データとレーンとの対応を、エラーレーンを除外するように新たな入力データとレーンとの対応に変更する。送信データ変換部１６は、新たな入力データとレーンとの対応に従って、入力データを送信データに変換し、送信データを送信切替選択部１２に出力する。【００５２】
例えば、送信データ変換部１６は、送信処理部１５から入力データを受信した場合、受信した入力データを送信データSData[11:0]に変換する。送信データ変換部１６は、変換した送信データSData[11:0]を、送信切替選択部１２へ出力する。送信データ変換部１６が実行する送信データへの変換の詳細については、後述する。【００５３】
この変換のために、送信データ変換部１６は、送信エラーレーンレジスタ１４から通知されたエラーレーン情報に基づいて、エラーレーンが存在するか否かを判断する。送信データ変換部１６は、エラーレーンが存在する場合、入力データの各ビットをエラーレーン以外のレーンへ割当て、この割当ての結果に従って、受信した入力データを送信データに変換する。一方、送信データ変換部１６は、エラーレーンが存在しない場合、入力データの各ビットを全てのレーンに割当て、この割当ての結果に従って、入力データを送信データに変換する。【００５４】
送信切替選択部１２は、送信切替制御部１１からの制御信号に従って、テストパターン又は入力データを出力する。このために、送信切替選択部１２は、複数のレーンを複数のグループに分け、複数のグループにおいて相互に対応するレーンを定め、テストパターンの同一位置のビットを対応するレーンに割当てることにより、テストパターンとレーンとの対応を定める。送信切替選択部１２は、テストパターンとレーンとの対応に従って、複数のレーンにテストパターンを出力する。【００５５】
例えば、送信切替選択部１２は、送信切替制御部１１の制御信号に応じて、テストパターン又は送信データのいずれかを、選択的にシステムバス３へ出力する。即ち、送信切替選択部１２は、送信切替制御部１１からテストモード＃Ａ信号のオンを受信した場合、テストパターン発生部１３から出力されたテストパターンを、データとしてシステムバス３へ出力する。送信切替選択部１２は、テストモード＃Ａ信号のオフ（テスト解除の制御信号）を受信した場合、送信データ変換部１６から出力される送信データを、データとしてシステムバス３へ出力する。即ち、送信ポート１０は、データを受信ポート２０に送信する。【００５６】
受信ポート２０は、送信ポート１０から送信されたデータを受信する。このために、受信ポート２０は、図３に示すように、受信切替制御部２１、受信切替選択部２２、エラー検出部２３、受信エラーレーンレジスタ２４、受信処理部２５、受信データ変換部２６を備える。【００５７】
受信ポート２０が受信したデータは、前述したように、送信データ、又は、テストパターンのいずれかである。送信データは、受信データ変換部２６により変換され、受信処理部２５により出力される。テストパターンは、エラー検出部２３に送信されレーンのエラー検出に用いられる。【００５８】
受信切替制御部２１は、複数のレーンを介して受信したデータを、システムバスのエラー診断を行うためのテストデータとするか、又は、テストデータ以外のデータとするかを指示する制御信号を、受信切替選択部２２に出力する。【００５９】
例えば、受信切替制御部２１は、受信切替選択部２２がシステムバス３を介して受信したデータを、テストデータ又は受信データの何れのデータとして出力するかを指示する制御信号を出力する。具体的には、受信切替制御部２１は、送受信装置の電源立上げ動作等によりパワーオン信号又はリセット信号PowOn/Rstのオンの出力を受信した場合、受信切替選択部２２及び受信処理部２５に対し、テストモード＃Ｂ信号testmode#Bのオンを出力する。受信切替制御部２１は、この出力に先立って、受信エラーレーンレジスタ２４に対し、初期化するためのクリア＃Ｂ信号clr#Bのオンを出力する。【００６０】
受信切替選択部２２は、送信切替選択部１２と同様にして、テストパターンとレーンとの対応を定める。受信切替選択部２２が定めるテストパターンとレーンとの対応は、送信切替選択部１２が定めるテストパターンとレーンとの対応と同一である。受信切替選択部２２は、テストパターンとレーンとの対応に従って、複数のレーンに出力されたテストパターンを、複数のレーンを介して受信する。【００６１】
例えば、受信切替選択部２２は、システムバス３を介して、送信ポート１０からのデータを受信する。受信切替選択部２２は、受信切替制御部２１の制御信号に応じて、出力として、テストデータTestData[11:0]又は受信データRData[11:0]を選択する。これにより、受信切替選択部２２は、受信切替制御部２１からの制御信号に従って、複数のレーンを介して受信したデータを、テストデータ又はテストデータ以外のデータとして出力する。【００６２】
例えば、受信切替選択部２２は、受信切替制御部２１からテストモード＃Ｂ信号のオンを受信した場合、システムバス３から入力されたデータを、テストデータとして、エラー検出部２３へ出力する。一方、受信切替選択部２２は、受信切替制御部２１からテストモード＃Ｂ信号のオフを受信した場合、システムバス３から入力したデータを、受信データ変換部２６へ出力する。【００６３】
エラー検出部２３は、受信切替選択部２２からテストパターンを受信して、テストパターンとレーンとの対応に従って、複数のグループにおいて相互に対応するレーンを介して受信したテストパターンの同一位置のビットを比較し、比較の結果に基づいて、複数のレーンの中でエラーが発生したレーンであるエラーレーンを示すエラーレーン情報を生成する。エラー検出部２３は、エラーレーン情報を、送信デバイス1の送信エラーレーンレジスタ１４に送信する。【００６４】
例えば、エラー検出部２３は、受信切替選択部２２からテストデータを受信した場合、後述するエラー検出の演算に基づいて、テストデータTestData[11:0]の後述する対応関係のビット同士のデータを比較し、エラー検出の結果を生成する。エラー検出部２３は、エラー検出の結果であるエラー情報err_setを受信エラーレーンレジスタ２４に出力する。【００６５】
受信エラーレーンレジスタ２４は、エラー検出部２３から出力されたエラー情報err_setに基づいて、システムバス３のエラーレーンに関する情報であるエラーレーン情報を生成し、生成したエラーレーン情報を保持する。一方、受信エラーレーンレジスタ２４は、受信切替制御部２１から出力されるクリア＃Ｂ信号のオンを受信した場合、保持したエラーレーン情報を初期化する。受信エラーレーンレジスタ２４は、保持したエラーレーン情報に従って、受信データ変換部２６へエラーレーン情報を通知する。【００６６】
受信データ変換部２６は、エラー検出部２３が生成したエラーレーン情報に基づいて、受信データを出力データに変換する。具体的には、受信データ変換部２６は、エラーレーン情報に基づいて、エラーレーンが存在しない場合、出力データの各ビットを複数のレーンに順に割当てることにより、出力データとレーンとの対応を定める。受信データ変換部２６は、出力データとレーンとの対応に従って、受信データを出力データに変換する。受信データ変換部２６は、エラーレーンが存在する場合、出力データとレーンとの対応を、エラーレーンを除外するように新たな出力データとレーンとの対応に変更する。受信データ変換部２６は、新たな出力データとレーンとの対応に従って、受信切替選択部２２から出力された受信データを出力データに変換する。【００６７】
例えば、受信データ変換部２６は、受信エラーレーンレジスタ２４のエラーレーン情報に基づいて、受信切替選択部２２から入力した受信データRData[11:0]を所定の出力データに変換する。具体的には、受信データ変換部２６は、受信エラーレーンレジスタ２４から通知されたエラーレーン情報に基づいて、エラーレーンが存在するか否かを判断する。【００６８】
受信データ変換部２６は、エラーレーンが存在する場合、エラーレーン以外のレーンを介して受信したビットのみを有効として、出力データの変換を行う。受信データ変換部２６は、エラーレーンが存在しない場合、全てのレーンを介して受信したビットを有効として、出力データの変換を行う。受信データ変換部２６は、このように変換した出力データを受信処理部２５へ出力する。なお、受信データ変換部２６の出力データの変換の内容は、詳しくは後述する。【００６９】
受信処理部２５は、受信データ変換部２６から送信されたデータを受信して一時的に保持する。受信データ変換部２６から受信されたデータは、例えば内部バッファに保持される。内部バッファは、受信処理部２５が備えるレジスタ又はメモリのような記憶手段である。受信データ変換部２６から受信されたデータは、受信処理部２５における受信の順に、内部バッファの先頭から順に格納される。内部バッファに保持されたデータは、他のコンピュータ又は記憶装置等に出力すべきデータである。【００７０】
受信処理部２５は、受信切替制御部２１からのテストモード＃Ｂ信号のオンを受信した場合、受信データ変換部２６からのデータの受信を中止し、内部バッファにデータを保持しない。一方、受信処理部２５は、受信切替制御部２１からのテストモード＃Ｂ信号のオフを受信した場合、保持したデータを内部バッファから格納した順に取り出し、取り出した順に出力データとして、他のコンピュータ又は記憶装置等に出力する。受信データ変換部２６から受信されたデータは、テストモード＃Ｂ信号のオフから他のコンピュータ又は記憶装置等に出力されるまでの間、内部バッファに保持される。【００７１】
図４は、図１の送受信装置におけるエラー検出の説明図である。図５は、図１の送受信装置が備えるエラー検出器の構成の一例を示す図である。以下、図４及び図５を参照して、図１に示す送受信装置のシステムバス３におけるエラー検出の動作を説明する。【００７２】
テストパターン発生部１３は、テストパターンTestpat［3:0］を生成する。テストパターンTestpat［3:0］は、４ビットである。換言すれば、テストパターン発生部１３は、生成するテストパターンの４ビットTestpat[3]〜[0]に、各々、選択したテストパターンにおいて定められている“０”又は“１”の値を設定することにより、テストパターンを生成する。【００７３】
実際には、テストパターン発生部１３は、少なくとも、第１のテストパターンTestpat［3:0］と、第２のテストパターンTestpat［3:0］とを生成する。例えば、第１のテストパターンTestpat[3:0]が“１０１０”である場合、第２のテストパターンTestpat[3:0]は“０１０１”とされる。テストパターン発生部１３は、生成したテストパターンを送信切替選択部１２に出力する。【００７４】
なお、テストパターン発生部１３は、テストパターンTestpat［3:0］をメモリに予め記憶するようにしても良い。【００７５】
送信切替選択部１２は、テストパターン発生部１３から出力されたテストパターンを受信する。送信切替選択部１２は、送信切替制御部１１からテストモード＃Ａ信号のオンを受信した場合、受信したテストパターンの各ビットを、システムバス３の複数のグループにおける対応するレーンに割当てる。送信切替選択部１２は、割当てに応じて、テストパターンの各ビットを、システムバス３上の各レーンに出力する。【００７６】
複数のグループは、予め定められる。各グループに含まれるレーンの数は、同一とされる。その上で、各グループに含まれるレーンは、相互に他のグループのレーンと対応させられる。【００７７】
図４においては、受信したテストパターンTestpat[3:0]が4ビットであり、システムバス３のレーンlane[0]〜lane[11]の数が１２本であるので、グループの数は３（＝１２÷４）とされる。従って、図４においては、受信したテストパターンTestpat[3:0]の各ビットTestpat[3]〜[0]が、３個のグループGroup＃A〜＃Cの対応するレーンに割当てられる。送信切替選択部１２は、この割当てに応じて、受信したテストパターンTestpat[3:0]の各ビットを、システムバス３上のレーンlane[0]〜lane[11]に出力する。【００７８】
具体的には、図４に示すように、送信切替選択部１２は、テストパターンTestpat[3:0]のビットTestpat[0]〜Testpat[3]を、各々、グループGroup#Aのレーンlane[0]〜lane[3]に所定のタイミングで出力する。また、送信切替選択部１２は、ビットTestpat[0]〜Testpat[3]を、各々、グループGroup#Bのレーンlane[4]〜lane[7]に所定のタイミングで出力する。グループGroup#Cのレーンlane[8]〜lane[11]も、同様である。【００７９】
ここで、所定のタイミングとは、送信切替選択部１２が、システムバス３上のレーンlane[0]〜lane[11]に対して、同一のタイミングとされる。これにより、送信すべきデータは、同一のタイミングで、システムバス３上の複数のレーンlane[0]〜lane[11]上に送出される。【００８０】
これにより、レーンlane[0]、lane[4]及びlane[8]のレーン上に出力されるデータは、同一のテストパターンTestpat[3:0]の同一位置のビットTestpat[0]である。同様に、その他のレーン上に出力されるデータは、図４に示すように、複数のグループにおける対応するレーンについて、同一位置のビットTestpat[1]〜[3]のいずれかとなる。【００８１】
このように、テストパターンTestpat[3:0]がレーンlane[0]〜lane[11]に出力されたデータを、テストデータTestData[11:0]即ちビットTestData[0]〜[11]と言うこととする。換言すれば、送信切替選択部１２は、４ビットのテストパターンTestpat[3:0]に基づいて、前述したように、１２ビットのテストデータTestData[11:0]を生成し、生成したテストデータTestData[11:0]をシステムバス３へ出力する。【００８２】
この結果、レーンに障害が発生していない場合、受信ポート２０が受信するデータにおいて、複数のグループにおける対応するレーンのデータは、同一のデータとなる。このデータの同一性を用いて、受信ポート２０は、テストパターンの期待値無しで、エラー診断を行うことができる。【００８３】
以上説明したように、送信デバイス１は、送信ポート１０からシステムバス３を介して、前述のデータを送信（出力）する。受信デバイス２は、システムバス３を介して、受信ポート２０により、送信ポート１０から送信されたデータを受信（入力）する。即ち、受信ポート２０の受信切替選択部２２は、システムバス３上のレーンlane[0]〜lane[11]を介して、送信ポート１０から送信されたデータをデータとして受信する。【００８４】
受信切替選択部２２は、受信切替制御部２１からテストモード＃Ｂ信号のオンを受信した場合、受信ポート２０を介して受信したデータをテストデータTestData[11:0]として、エラー検出部２３に出力する。テストデータTestData[11:0]のビットTestData[0]のデータは、レーンlane[0]から受信したデータである。同様に、テストデータのビットTestData[1]〜[11]のデータは、各々、レーンlane[1]〜[11]から受信したデータである。【００８５】
エラー検出部２３は、受信切替選択部２２から受信したテストデータTestData[11:0]を、テストパターンTestpat［3:0］の各ビットTestpat[0]〜[3]に対応したエラー検出器２３１Ａ〜Ｄに振り分ける。エラー検出器２３１Ａ〜Ｄは、テストパターンTestpat［3:0］の各ビットTestpat[0]〜[3]に対応する。【００８６】
例えば、エラー検出部２３は、エラー検出器２３１Ａに対して、テストデータTestData[11:0]の中からビットTestData[0]、TestData[4]及びTestData[8]のデータを送信する。エラー検出部２３は、エラー検出器２３１Ｂに対し、ビットTestData[1]、TestData[5]及びTestData[9]のデータを送信する。エラー検出器２３１Ｃ及びエラー検出器２３１Ｄに対しても、同様である。【００８７】
エラー検出器２３１は、入力dt_in[0]〜[2]の一致を検査する論理回路である。図５に示すように、エラー検出器２３１は、エラー検出部２３で振り分けられたデータ（入力dt_in[0]〜[2]）を入力として、エラー検出のための論理回路に基づいて、出力dt_in[0]_err、dt_in[1]_err及びdt_in[2]_errのエラー情報を生成する。このために、エラー検出器２３１は、複数の比較器２３１１、複数のＡＮＤ回路２３２２を備える。【００８８】
なお、エラー検出器２３１は２３１Ａ〜Ｄを代表し、比較器２３１１は２３１１Ａ〜Ｄを代表し、ＡＮＤ回路２３２２は２３２２Ａ〜Ｃを代表する。【００８９】
以下、主に図５に従って、エラー検出のための論理回路の一例について説明する。【００９０】
比較器２３１１Ａは、３入力の論理が全て一致した場合には“1”を、それ以外の場合には“0”を、ＡＮＤ回路２３２２Ａ〜Ｃの各々へ出力する。比較器２３１１Ｂは、入力dt_in[1]と入力dt_in[2]の一致を演算し、一致した場合には“1”、一致しない場合には“0”の論理を２３２２Ａへ出力する。【００９１】
ＡＮＤ回路２３２２Ａは、比較器２３１１Ａの出力の反転した論理を入力と、比較器２３１１Ｂの出力とを入力とのＡＮＤ論理を取り、この結果を出力dt_in[0]_errとして出力する。同様に、比較器２３２２Ｂは、出力dt_in[1]_errを出力する。また、比較器２３２２Ｃは、出力dt_in[2]_errを出力する。【００９２】
以上により、エラー検出器２３１は、例えば、入力dt_in[0]が“０”で、入力dt_in[1]及びdt_in[2]が“１”である場合、出力dt_in[0]_err＝“１”、dt_in[1]_err＝“０”及びdt_in[2]_err＝“０”を生成する。エラー検出器２３１は、この生成した出力dt_in[0]_err〜dt_in[2]_errを、受信エラーレーンレジスタ２４へ出力する。これにより、受信エラーレーンレジスタ２４は、この出力に基づいて、入力dt_in[0]が他の入力と一致しないことを判断することができる。この場合、受信エラーレーンレジスタ２４は、多数決論理に従って、不一致の入力に対してエラーが発生したと判断する。即ち、受信エラーレーンレジスタ２４は、エラー検出器２３１から出力を受信した場合、前述の判断に従って、入力dt_in[0]に対応するレーンにエラーが発生したと判断する。【００９３】
図４において、エラー検出器２３１Ａは、テストパターン発生部１３から出力されたテストパターンTestpat［3:0］にビットTestpat[0]に対応する入力（dt_in[0]〜[2]）として、以下のように割当てる。【００９４】
例えば、エラー検出器２３１Ａは、入力dt_in[0]〜[2]に対して、テストデータTestData[11:0]のビットTestData[0]、TestData[4]、TestData[8]のデータを入力する。例えば、エラー検出器２３１Ａは、ビットTestData[0]の入力“０”で、ビットTestData[4]及びTestData[8]が入力“１”であった場合、出力lane[0]_err＝“１”、lane[1]_err＝“０”及びlane[2]_err＝“０”を生成し、出力する。受信エラーレーンレジスタ２４は、エラー検出器２３１Ａの出力した結果に基づいて、レーンlane[0]においてエラーが発生したと判断することができる。【００９５】
以上の処理は、テストパターンTestpat［3:0］のビットTestpat[1]〜[3]の比較の論理演算に対応するエラー検出器２３１Ｂ〜Ｄにおいても、同様である。【００９６】
以上に説明したように、受信エラーレーンレジスタ２４は、出力lane[0]_err〜lane[11]_errのエラー情報err_setをエラー検出部２３から受信して、受信したエラー情報を保持する。これにより、受信エラーレーンレジスタ２４は、このエラー情報に基づいて、エラーレーンを特定することができる。【００９７】
一方、受信エラーレーンレジスタ２４は、受信切替制御部２１からクリア＃Ｂ信号のオンを受信した場合、保持していたエラー情報を初期化する。即ち、受信エラーレーンレジスタ２４は、初期化終了後、エラーレーンが存在しないことを示すエラーレーン情報を保持する。従って、受信エラーレーンレジスタ２４の初期化後、受信エラーレーンレジスタ２４は、エラー検出器２３１からエラー診断を実施した結果を受信して、エラーレーン情報を生成し、このエラーレーン情報が新たに保持される。【００９８】
このように、システムバス３のレーンを複数のグループに分けて、複数のグループにおいて対応するレーンに出力するテストパターン信号が、共通とされる。これにより、複数のグループにおいて対応するレーンを介して受信したデータを比較することができる。この結果、複数のグループにおける対応するレーンのデータを比較することにより、システムバス３のエラー検出を行うことができる。従って、受信装置は、予めテストパターンの期待値を持つ必要はない。また、受信データの比較回路は、簡単に実現することができ、また、共通化することができる。この結果、エラー検出を簡単な回路で実現することができ、また、短時間でエラー診断を実施することができる。【００９９】
前述したように、エラー検出部２３は、各エラー検出器２３１が生成した出力lane[0]_err〜lane[11]_errを、エラー情報err_setとして、送信エラーレーンレジスタ１４及び受信エラーレーンレジスタ２４に出力する。更に、図１〜図３の送受信装置によれば、送信ポート１０及び受信ポート２０は、このエラー情報に基づいて、後述の説明に示すようにエラーレーンを除外して、データ伝送を継続して行うことができる。【０１００】
以下、送信ポート１０及び受信ポート２０が、エラーレーンを除外して、データ伝送を継続して行う内容について説明する。図６は、エラー検出時の送受信の説明図であり、図４に示す送受信装置におけるエラー検出時の送受信について説明する。【０１０１】
エラー検出部２３は、エラー情報err_setを、送信エラーレーンレジスタ１４及び受信エラーレーンレジスタ２４へ出力する。例えば、図４に示す送信ポート１０のテストモード＃Ａ信号のオン及び受信ポート２０のテストモード＃Ｂ信号のオンの期間内に、エラー検出部２３は、レーンlane[0]〜lane[11]に関するエラー情報を出力する。これを受信した送信エラーレーンレジスタ１４は、エラー検出部２３からのエラー情報に基づいて、エラーレーンをレーンlane[6]とするエラーレーン情報を生成し、生成したエラーレーン情報を保持する。送信エラーレーンレジスタ１４は、送信データ変換部１６に対してエラーレーン情報を通知する。【０１０２】
送信データ変換部１６は、入力データを送信処理部１５から入力する。入力データは、例えば、ビット０〜２３を含む２４ビットのデータである。送信データ変換部１６は、エラーレーン情報に基づいて、レーンlane[0]〜lane[11] の中にエラーレーンが存在する場合、送信データSData[11:0]の中のエラーレーンに対応するビットに対して、入力データの対応するビットの割当てを除外する。即ち、送信データ変換部１６は、送信処理部１５から送られる入力データのビット０〜２３の２４ビットに対して、エラーレーン情報に基づいて、エラーレーンのレーンlane[6]に対応する送信データのビットSData[6]を除外して、入力データのビット０〜２３を割当てる。送信データ変換部１６は、この割当てに従って、入力データを送信データSData[11:0]に変換し、送信切替選択部１２に送信する。【０１０３】
具体的には、送信データ変換部１６は、送信データSData[11:0]のビットSData[0]〜SData[5]に入力データのビット０〜５のデータを割当て、送信データSData[11:0]のビットSData[7]〜SData[11]に入力データのビット６〜１０を割当てる。即ち、送信データ変換部１６は、送信データSData[11:0]のビットSData[6]のみに入力データのビットを割当てない。以下、同様にして、送信データ変換部１６は、入力データのビット１１〜２３のビット割当てを行う。送信データ変換部１６は、このビット割当てに従い、３回に分けて送信データSData［11:0］を送信切替選択部１２に送信する。これにより、送信ポート１０は、システムバス３上のエラーレーンと特定したレーンlane[6]以外のレーンを介して、データを送信することができる。【０１０４】
受信ポート２０は、送信ポート１０からシステムバス３を介して、このデータを受信する。受信ポート２０では、受信切替選択部２２が、システムバス３を介して送信されたデータを受信する。受信切替選択部２２は、前述したように、受信したデータを受信データRData[11:0]として、受信データ変換部２６へ出力する。【０１０５】
受信エラーレーンレジスタ２４は、エラー検出部２３からレーンlane［6］のエラー情報を受信して、受信したエラー情報に基づいてエラーレーン情報を生成して保持する。受信エラーレーンレジスタ２４は、受信データ変換部２６に対して、エラーレーン情報を通知する。【０１０６】
受信データ変換部２６は、受信エラーレーンレジスタ２４のエラーレーン情報に基づいて、エラーレーンがレーンlane[6]であると判断し、レーンlane[6]に対応する受信データRData[11:0]の中のビットRData[6]を採用しない。換言すれば、受信データ変換部２６は、受信した受信データRData[11:0]の中のビットRData[6]のデータを廃棄すると共に、一連の３回の受信データRData[11:0]の受信の後、出力データ即ち２４ビットデータに変換する。【０１０７】
具体的には、受信データ変換部２６は、受信データRData[11:0]のビットRData[0]〜RData[5]に出力データのビット０〜５のデータを割当て、受信データRData[11:0]のビットRData[7]〜RData[11]に出力データのビット６〜１０を割当てる。換言すれば、受信データ変換部２６は、受信データRData[11:0]のビットRData[6]に出力データのビットを割当てない。以下、同様にして、受信データ変換部２６は、出力データのビット１１〜２３のビット割当てを行う。【０１０８】
従って、この場合には、図６に示すように、受信データ変換部２６は、３回の受信データの受信により出力データ即ち２４ビットデータを生成する。受信データ変換部２６は、生成した出力データを受信処理部２５へ出力する。受信処理部２５は、受信データ変換部２６から出力データを入力し、入力した出力データを内部バッファに保持する。【０１０９】
以上説明したように、開示された送受信装置は、システムバス３の複数のレーンの中にエラーレーンを検出したか否かを判断し、エラーレーン情報を生成することができる。これにより、送信ポート１０は、エラーレーン情報に基づいてエラーレーンを除外し、正常なレーンに対して入力データの各ビットを割当て、システムバス３を介して、データを送信する。受信ポート２０は、データを受信し、エラーレーン情報に基づいて、データを出力データに変換する。即ち、受信ポート２０は、エラーレーンが存在する場合、データの中でエラーレーン以外のレーンを介して受信したデータを有効として、受信した有効なデータを出力データに変換する。従って、レーンに障害が発生した場合においても、送受信装置は、継続してデータ伝送を行うことができる。【０１１０】
このように、開示された送受信装置によれば、レーン診断を各グループ内の同一位置のビットの比較で実施する。これにより、受信側のエラー検出器にテストパターンに対応した期待値を備えることなく、レーンのエラー診断を実現することができる。また、エラー検出器でテストパターンに対応した期待値を必要とせず、複数レーンの診断をレーンの複数のグループにおける対応するレーンで共通のテストパターン及びエラー検出器を用いて実施することで、エラー診断回路の簡単化を実現することができる。更に、全レーン同時診断及びエラー箇所の特定が可能となり、診断時間の短縮化を実現することができる。
【図１】
2010103564.tif 000003
【図２】
2010103564.tif 000004
【図３】
2010103564.tif 000005
【図４】
2010103564.tif 000006
【図５】
2010103564.tif 000007
【図６】
2010103564.tif 000008
【図７】
2010103564.tif 000009
【図８】
2010103564.tif 000010
【手続補正書】
【提出日】平成24年6月15日(2012.6.15)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
データを送信する送信装置と、前記データを受信する受信装置と、前記送信装置と前記受信装置との間を接続する複数の接続線を含むシステムバスとを備える送受信装置であって、
前記送信装置に設けられ、複数のビットを含むテストパターンを生成するテストパターン発生部と、
前記送信装置に設けられ、前記複数の接続線を複数のグループに分け、前記複数のグループにおいて相互に対応する接続線を定め、前記テストパターンの同一位置のビットを前記対応する接続線に割当てることにより、前記テストパターンと接続線との対応を定め、前記テストパターンと接続線との対応に従って、前記複数の接続線に前記生成されたテストパターンを出力する送信切替選択部と、
前記受信装置に設けられ、前記テストパターンと接続線との対応に従って、前記複数の接続線に出力された前記テストパターンを、前記複数の接続線を介して受信する受信切替選択部と、
前記受信装置に設けられ、前記受信切替選択部から前記テストパターンを受信して、前記テストパターンと接続線との対応に従って、前記複数のグループにおいて相互に対応する接続線を介して受信した前記テストパターンの同一位置のビットを比較し、前記比較の結果に基づいて、前記複数の接続線の中でエラーが発生した接続線である障害発生接続線を示す障害発生接続線情報を生成するエラー検出部とを備え、
前記テストパターン発生部は、第１のテストパターンを生成してから所定時間経過後に、該第１のテストパターンの相補データである第２のテストパターンを生成する
ことを特徴とする送受信装置。
【請求項２】
前記送受信装置は、更に、
前記送信装置に設けられ、前記テストパターン発生部が生成したテストパターンを出力するか、又は、入力データを出力するかを指示する制御信号を、前記送信切替選択部に出力する送信切替制御部を備え、
前記送信切替選択部は、前記送信切替制御部からの前記制御信号に従って、前記テストパターン又は前記入力データを出力する
ことを特徴とする請求項１に記載の送受信装置。
【請求項３】
前記送受信装置は、更に、
前記送信装置に設けられ、前記入力データを送信データ変換部に出力する送信処理部と、
前記送信装置に設けられ、前記受信装置から受信した、前記複数の接続線の中でエラーが発生した接続線である障害発生接続線を示す障害発生接続線情報に基づいて、前記入力データを前記送信データに変換する送信データ変換部とを備え、
前記送信データ変換部は、前記障害発生接続線情報に基づいて、障害発生接続線が存在しない場合、前記入力データの各ビットを前記複数の接続線に順に割当てることにより、前記入力データと接続線との対応を定め、前記入力データと接続線との対応に従って、前記入力データを前記送信データに変換し、障害発生接続線が存在する場合、前記入力データと接続線との対応を前記障害発生接続線を除外するように新たな入力データと接続線との対応に変更し、前記新たな入力データとレーンとの対応に従って、前記入力データを前記送信データに変換し、前記送信データを前記送信切替選択部に出力する
ことを特徴とする請求項１に記載の送受信装置。
【請求項４】
前記エラー検出部は、前記障害発生接続線情報を前記送信装置に送信する
ことを特徴とする請求項３に記載の送受信装置。
【請求項５】
前記送受信装置は、更に、
前記受信装置に設けられ、前記複数の接続線を介して受信したデータを、前記システムバスのエラー診断を行うためのテストデータとするか、又は、前記テストデータ以外のデータとするかを指示する制御信号を、前記受信切替選択部に出力する受信切替制御部を備え、
前記受信切替選択部は、前記受信切替制御部からの前記制御信号に従って、前記複数の接続線を介して受信したデータを、前記テストデータ又は前記テストデータ以外のデータとして出力する
ことを特徴とする請求項１に記載の送受信装置。
【請求項６】
前記送受信装置は、更に、
前記受信装置に設けられ、前記エラー検出部が生成した前記障害発生接続線情報に基づいて、前記受信データを前記出力データに変換する受信データ変換部と、
前記出力データを出力する受信処理部とを備え、
前記受信データ変換部は、前記障害発生接続線情報に基づいて、障害発生接続線が存在しない場合、前記出力データの各ビットを前記複数の接続線に順に割当てることにより、前記出力データと接続線との対応を定め、前記出力データと接続線との対応に従って、前記受信データを前記出力データに変換し、障害発生接続線が存在する場合、前記出力データと接続線との対応を前記障害発生接続線を除外するように新たな出力データと接続線との対応に変更し、前記新たな出力データと接続線との対応に従って、前記受信切替選択部から出力された前記受信データを前記出力データに変換する
ことを特徴とする請求項１に記載の送受信装置。
【請求項７】
データを受信する受信装置と複数の接続線を含むシステムバスを介して接続され、前記受信装置にデータを送信する送信装置であって、
複数のビットを含むテストパターンを生成するテストパターン発生部と、
前記複数の接続線を複数のグループに分け、前記複数のグループにおいて相互に対応する接続線を定め、前記テストパターンの同一位置のビットを前記対応する接続線に割当てることにより、前記テストパターンと接続線との対応を定め、前記テストパターンと接続線との対応に従って、前記複数の接続線に前記生成されたテストパターンを出力する送信切替選択部とを備え、
前記テストパターン発生部は、第１のテストパターンを生成してから所定時間経過後に、該第１のテストパターンの相補データである第２のテストパターンを生成する
ことを特徴とする送信装置。
【請求項８】
データを送信する送信装置と、前記データを受信する受信装置と、前記送信装置と受信装置との間を接続する複数の接続線を含むシステムバスとを備える送受信装置におけるデータの送受信方法であって、
前記送信装置において、複数のビットを含むテストパターンを生成する処理と、
前記送信装置において、前記複数の接続線を複数のグループに分け、前記複数のグループにおいて相互に対応する接続線を定め、前記テストパターンの同一位置のビットを前記対応する接続線に割当てることにより、前記テストパターンと接続線との対応を定め、前記テストパターンと接続線との対応に従って、前記複数の接続線に前記生成されたテストパターンを出力する処理と、
前記受信装置において、前記接続線の割当てに従って、前記複数の接続線に出力された前記テストパターンを、前記複数の接続線を介して受信する処理と、
前記受信装置において、受信した前記テストパターンについて、前記テストパターンと接続線との対応に従って、前記複数のグループにおいて相互に対応する接続線を介して受信した前記テストパターンの同一位置のビットを比較し、前記比較の結果に基づいて、前記複数の接続線の中でエラーが発生した接続線である障害発生接続線を示す障害発生接続線情報を生成する処理とを含み、
前記テストパターンを生成する処理は、第１のテストパターンを生成してから所定時間経過後に、該第１のテストパターンの相補データである第２のテストパターンを生成する処理を行う
ことを特徴とするデータの送受信方法。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】０００９
【補正方法】変更
【補正の内容】
【０００９】
開示される送受信装置は、データを送信する送信装置と、前記データを受信する受信装置と、前記送信装置と受信装置との間を接続する複数の接続線を含むシステムバスとを備える送受信装置である。送受信装置は、テストパターン発生部と、送信切替選択部と、受信切替選択部と、エラー検出部とを備える。テストパターン発生部は、送信装置に設けられ、複数のビットを含むテストパターンを生成する。送信切替選択部は、送信装置に設けられ、複数の接続線を複数のグループに分け、複数のグループにおいて相互に対応する接続線を定め、テストパターンの同一位置のビットを対応する接続線に割当て、前記接続線の割当てに従って、複数の接続線に生成されたテストパターンを出力する。受信切替選択部は、受信装置に設けられ、前記接続線の割当てに従って、複数の接続線に出力されたテストパターンを、複数の接続線を介して受信する。エラー検出部は、受信装置に設けられ、受信切替選択部からテストパターンを受信して、前記接続線の割当てに従って、複数のグループにおいて相互に対応する接続線を介して受信したテストパターンの同一位置のビットを比較し、比較の結果に基づいて、複数の接続線の中でエラーが発生した接続線である障害発生接続線を示す障害発生接続線情報を生成する。この送受信装置において、前記テストパターン発生部は、第１のテストパターンを生成してから所定時間経過後に、該第１のテストパターンの相補データである第２のテストパターンを生成する。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００７６
【補正方法】変更
【補正の内容】
【００７６】
複数のグループの数は、テストパターン生成部１３が生成するテストパターンのビット数とシステムバス３のレーンの数とに基づき、予め定められる。各グループに含まれるレーンの数は、同一とされる。その上で、各グループに含まれるレーンは、相互に他のグループのレーンと対応させられる。
【国際調査報告】
2010103564.tif 000011
2010103564.tif 000012