説明

データ伝送方式及び方法

【課題】 固定障害発生Laneを特定し切り離し、正常Laneのみでデータ伝送を再構築し代替的に伝送を可能とし、伝送を継続できるデータ伝送方式及び方法の提供。
【解決手段】装置Aトランスミッタ回路1が、伝送データ及びECCをワード分割し各ワードを対応のパラレル−シリアル変換回路7に渡し、伝送路障害情報を受けると、各ワードを、障害Laneを除いた残りのLaneの各パラレル−シリアル変換回路に再割り当てし渡すデータ転送変更回路12、再送要求に従い該当データを再送バッファ15より取り出し再送する再送回路13を有し、装置Bレシーバ回路3が、正常時は受信した伝送データをスルーとし障害時は伝送データ及びECCのワード並びを変更前に復元するデータ復元回路20、エラー検出回路21、エラー通知を受けると再送要求し、再送要求が規定回数に達すれば障害情報をトランスミッタ回路1に通知する障害処理手段とを有する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明はデータ伝送方式及び方法に関し、特に、複数の伝送路から構成されるインタフェースによるデータ伝送方式や方法であって、伝送誤りを検出し、固定障害であれば、障害伝送路を特定し、伝送データやチェックコードを、障害状態伝送路を除いた残りの伝送路に割り当てし直して送出することで、インタフェースの継続動作を可能とするデータ伝送方式及び方法に関する。
【背景技術】
【0002】
PCI−Expressにみられるように、最近のシリアルインタフェースでは、8b/10bエンコーディングによるエンベデッドクロック方式が取られている。
【0003】
また、シリアルデータを伝送する際に、8ビットワード列データにおけるワード間に8ビット同期ワードデータを含んだ付加ワードデータグループを配し、8−10ビット変換を施し複合10ビットワード列データを得る例が示されている(特許文献1参照。)。
【0004】
また、エラー検出方式は、CRC方式が採用されている。
【0005】
しかし、8b/10bエンコーディングやCRCによるエラー検出では、レイテンシ悪化に繋がる。
【0006】
近年のサーバにおいては、レイテンシが性能を大きく左右するファクターであり、製品の差別化要因としても短レイテンシのインタフェース技術が求められている。
【0007】
その技術の1つに8b/10bエンコーディングをせず、エラー検出をECCで行うインタフェースが存在するが、この場合、高周期で動作させると信号線間のskewが問題となるため、信号線を出来るだけ少なくすることが求められている。
【0008】
従って、信号線を極力少なくするためには、ECCで使用している信号線を犠牲にする必要があり、ECCを検出だけのコードとすることで、信号線本数の削減を図り、LINKでエラーが発生した場合には、再送処理を行うことでエラーを訂正し救済していた。
【0009】
【特許文献1】特開2000−182861号公報(第1ページ)
【発明の開示】
【発明が解決しようとする課題】
【0010】
上記従来の8b/10bコードによる方法では、転送効率が悪く、エラー検出もCRCを用いるため、レイテンシが悪化するという課題がある。
【0011】
また、従来の、エラー検出用の信号線を削減し、エラー検出コードは訂正ではなく、エラー検出コードを採用し、障害には再送処理を行うことで対応する方式では、インタフェースにノイズがのることによって生じる間欠障害には有効であるが、信号線に固定障害が発生すると、再送は必ず失敗してしまうため救済出来ないためLINK切断に至ってしまうという課題がある。
【0012】
本発明の目的は、固定障害のように救済出来ない障害が発生した場合でも、障害発生Laneを特定して切り離し、正常なLaneのみでデータ伝送を再構築して、代替的にデータ伝送を可能とすることで、LINK切断せずに動作継続できるデータ伝送方式及び方法を提供することにある。
【課題を解決するための手段】
【0013】
本発明の第1のデータ伝送方式は、複数の伝送路から構成されるインタフェースによるデータ伝送方式であって、前記インタフェースの送信部が、伝送データに第1のECC(エラーチェックコード)を付加する手段と、伝送データ及び第1のECCをワードに分割し、各ワードを対応する伝送路に送出し、伝送路障害情報を受けると、第1のECCに代わり、これより短い第2のECCを伝送データに付加し、これらをワードに分割し、各ワードを、障害状態伝送路を除いた残りの伝送路に再割り当てし送出するデータ転送変更手段と、前記伝送路に送出するデータの控えをバッファに保持し、再送要求に従い該当データをバッファより取り出し、前記第1のECCを付加する手段に渡す再送手段とを有し、前記インタフェースの受信部が、正常時は受信した伝送データの第1のエラーチェックを行い、伝送路障害時は、伝送データ及び第2のECCのワード並びを変更される前の並びに復元し、伝送データの第2のエラーチェックを行い、チェック結果を障害処理手段に渡すデータ復元チェック手段と、エラー検出を伴うチェック結果を受けると、伝送データの供給先への転送を抑止し、前記送信部に再送要求し、再送に成功しなければ再送要求を繰り返し、規定回数に達すれば、伝送路障害情報を送信部に通知する障害処理手段とを有する。
【0014】
本発明の第2のデータ伝送方式は、複数のシリアル伝送路から構成されるインタフェースによるデータ伝送方式であって、前記インタフェースの送信部が、前記伝送路毎に設けられ伝送するワードデータをビット列に変換するパラレル−シリアル変換手段と、伝送データに第1のECC(エラーチェックコード)を付加する手段と、伝送データ及び第1のECCをワードに分割し、各ワードを対応するパラレル−シリアル変換手段に渡し、伝送路障害情報を受けると、第1のECCに代わり、これより短い第2のECCを伝送対象データに付加し、これらをワードに分割し、各ワードを、障害状態伝送路を除いた残りの伝送路の各パラレル−シリアル変換手段に再割り当てして渡すデータ転送変更手段と、前記パラレル−シリアル変換手段に渡すデータの控えをバッファに保持し、再送要求に従い該当データをバッファより取り出し、前記第1のECCを付加する手段に渡す再送手段とを有し、前記インタフェースの受信部が、前記伝送路毎に設けられ受信ビット列をワードに変換するシリアル−パラレル変換手段と、正常時は変換された伝送データの第1のエラーチェックを行い、伝送路障害時は、伝送データ及び第2のECCのワード並びを変更される前の並びに復元し、伝送データの第2のエラーチェックを行い、チェック結果を障害処理手段に渡すデータ復元チェック手段と、エラー検出を伴うチェック結果を受けると、伝送データの供給先への転送を抑止し、前記送信部に再送要求し、再送に成功しなければ再送要求を繰り返し、規定回数に達すれば、伝送路障害情報を送信部に通知する障害処理手段とを有する。
【0015】
本発明の第3のデータ伝送方式は、前記第1、または第2のデータ伝送方式であって、前記第1のECCを2ビット誤りまで検出可能なECCとし、前記第1のエラーチェックをこれによるエラーチェックとし、前記第2のECCを1ビット誤りが検出可能なパリティコードとし、前記第2のエラーチェックをこれによるパリティチェックとする。
【0016】
本発明の第4のデータ伝送方式は、複数の伝送路から構成されるインタフェースによるデータ伝送方式であって、前記インタフェースの送信部が、伝送データにECC(エラーチェックコード)を付加する手段と、伝送データ及びECCをワードに分割し、各ワードを対応する伝送路に送出し、伝送路障害情報を受けると、ECCの一部或いは全部のワードを除いた各ワードを、障害状態伝送路を除いた残りの伝送路に再割り当てし送出し、ECCの一部或いは全部のワードを後送するデータ転送変更手段と、前記伝送路に送出するデータの控えをバッファに保持し、再送要求に従い該当データをバッファより取り出し、前記ECCを付加する手段に渡す再送手段とを有し、前記インタフェースの受信部が、正常時は受信した伝送データのエラーチェックを行い、伝送路障害時は、伝送データ及びECCのワード並びを変更される前の並びに復元し、エラーチェックを行い、チェック結果を障害処理手段に渡すデータ復元チェック手段と、エラー検出を伴うチェック結果を受けると、伝送データの供給先への転送を抑止し、前記送信部に再送要求し、再送に成功しなければ再送要求を繰り返し、規定回数に達すれば伝送路障害情報を送信部に通知する障害処理手段とを有する。
【0017】
本発明の第5のデータ伝送方式は、複数のシリアル伝送路から構成されるインタフェースによるデータ伝送方式であって、前記インタフェースの送信部が、前記伝送路毎に設けられ伝送するワードデータをビット列に変換するパラレル−シリアル変換手段と、伝送データにECC(エラーチェックコード)を付加する手段と、伝送データ及びECCをワードに分割し、各ワードを対応するパラレル−シリアル変換手段に渡し、伝送路障害情報を受けると、ECCの一部或いは全部のワードを除いた各ワードを、障害状態伝送路を除いた残りの伝送路の各パラレル−シリアル変換手段に再割り当てして渡し、ECCの一部或いは全部のワードを後続サイクルで渡すデータ転送変更手段と、前記パラレル−シリアル変換手段に渡すデータの控えをバッファに保持し、再送要求に従い該当データをバッファより取り出し、前記ECCを付加する手段に渡す再送手段とを有し、前記インタフェースの受信部が、前記伝送路毎に設けられ受信ビット列をワードに変換するシリアル−パラレル変換手段と、正常時は変換された伝送データのエラーチェックを行い、伝送路障害時は、伝送データ及びECCのワード並びを変更される前の並びに復元し、エラーチェックを行い、チェック結果を障害処理手段に渡すデータ復元チェック手段と、エラー検出を伴うチェック結果を受けると、伝送データの供給先への転送を抑止し、前記送信部に再送要求し、再送に成功しなければ再送要求を繰り返し、規定回数に達すれば伝送路障害情報を送信部に通知する障害処理手段とを有する。
【0018】
本発明の第6のデータ伝送方式は、前記第1、第2、第4、又は第5の何れかのデータ伝送方式であって、前記受信部の障害処理手段が、再送要求を繰り返し、規定回数に達すれば、テストパターン送信指示を送信部に送信し、受信するテストパターンデータから障害状態の伝送路を特定し、伝送路障害情報を送信部に通知し、前記送信部が、前記指示により伝送データ及びECCをテストパターンに切り換えて送信する。
【0019】
本発明の第1のデータ伝送方法は、複数の伝送路から構成されるインタフェースによるデータ伝送方法であって、送信側が、伝送データに第1のECC(エラーチェックコード)を付加する手順と、伝送データ及び第1のECCをワードに分割し、各ワードを対応する伝送路に送出する手順と、受信側からテストパターン送信指示を受けると、伝送データ及びECCをテストパターンに切り換えて送信する手順と、伝送路障害情報を受けると、第1のECCに代わり、これより短い第2のECCを伝送データに付加し、これらをワードに分割し、各ワードを、障害状態伝送路を除いた残りの伝送路に再割り当てし送出するデータ転送変更手順と、前記伝送路に送出するデータの控えをバッファに保持し、再送要求に従い該当データをバッファより取り出し、前記第1のECCを付加する手順に渡す再送手順とを有し、受信部側が、正常時は受信した伝送データの第1のエラーチェックを行い、伝送路障害時は、伝送データ及び第2のECCのワード並びを変更される前の並びに復元し、伝送データの第2のエラーチェックを行い、チェック結果を障害処理手順に渡すデータ復元チェック手順と、エラー検出を伴うチェック結果を受けると、送信側に再送要求し、再送に成功しなければ再送要求を繰り返し、規定回数に達すれば、テストパターンの送信を送信側に指示し、受信するテストパターンデータから障害状態の伝送路を特定し、伝送路障害情報を送信側に通知する障害処理手順とを有する。
【0020】
本発明の第2のデータ伝送方法は、前記第1のデータ伝送方法であって、前記第1のECCを2ビット誤りまで検出可能なECCとし、前記第1のエラーチェックをこれによるエラーチェックとし、前記第2のECCを1ビット誤りが検出可能なパリティコードとし、前記第2のエラーチェックをこれによるパリティチェックとする。
【0021】
本発明の第3のデータ伝送方法は、複数の伝送路から構成されるインタフェースによるデータ伝送方法であって、送信側が、伝送データ及びECCをワードに分割し、各ワードを対応する伝送路に送出する手順と、受信側からテストパターン送信指示を受けると、伝送データ及びECCをテストパターンに切り換えて送信する手順と、伝送路障害情報を受けると、各ワードを、障害状態伝送路を除いた残りの伝送路に再割り当てして送出するデータ転送変更手順と、前記伝送路に送出するデータの控えをバッファに保持し、再送要求に従い該当データをバッファより取り出し、前記ECCを付加する手段に渡す再送手順とを有し、受信側が、正常時は受信した伝送データのエラーチェックを行い、伝送路障害時は、伝送データ及びECCのワード並びを変更される前の並びに復元し、エラーチェックを行い、チェック結果を障害処理手段に渡すデータ復元チェック手順と、エラー検出を伴うチェック結果を受けると、前記送信部に再送要求し、再送に成功しなければ再送要求を繰り返し、規定回数に達すれば、テストパターンの送信を送信側に指示し、受信するテストパターンデータから障害状態の伝送路を特定し、伝送路障害情報を送信部に通知する障害処理手順とを有する。
【0022】
本発明の第4のデータ伝送方法は、前記第1、又は第3のデータ伝送方法であって、前記受信部の障害処理手順が、再送要求を繰り返し、規定回数に達すれば、テストパターン送信指示を送信部に送信し、受信するテストパターンデータから障害状態の伝送路を特定し、伝送路障害情報を送信部に通知し、前記送信部が、前記指示により伝送データ及びECCをテストパターンに切り換えて送信する。
【発明の効果】
【0023】
本発明の効果は、再送によるエラー訂正方式のインタフェースで固定障害が発生した場合でも、障害発生箇所を取り除いて、データ転送を行うことが可能になるので、システムを停止させずに継続運用出来るということである。
【0024】
その理由は、障害発生箇所を特定し、転送Laneを再構築して転送出来る手段を設けたためである。
【発明を実施するための最良の形態】
【0025】
次に、本発明を実施するための最良の形態について図面を参照して詳細に説明する。
【0026】
図1に本発明の実施形態の構成を示す。
【0027】
図1は本発明のデータ伝送方式のブロック図で、装置Aと装置Bからなり、これらの装置はシリアルインタフェース5、6によりLINK接続されている。
【0028】
本実施形態では1実施例として、装置Aから装置Bにデータを転送する場合について説明する。
【0029】
また、簡単化のため、装置Aと装置Bを図1のように決めているが、どちらの装置においてもトランスミッタ回路及びレシーバ回路には同様な機能を有している。
【0030】
装置Aには、LINKにデータを送信する装置Aトランスミッタ回路(送信部)1と、LINKからデータを受信する装置Aレシーバ回路2を含む。
【0031】
同様に、装置Bには、LINKからデータを受信する装置Bレシーバ回路(受信部)3とLINKにデータを送信する装置Bトランスミッタ回路4を含む。
【0032】
まず、本実施例のシリアルインタフェース5、6について図2を用いて説明する。
【0033】
このシリアルインタフェース5、6は複数の信号線(転送路)からなり、この信号線をLaneと総称している。
【0034】
また、高速かつ高効率にデータを転送するために8b/10bエンコーディングせずに、データとECCを各Laneに割り当てて転送している。
【0035】
このインタフェースは高周期で動作させるので、信号線間のskewによるエラー検出を出来るだけ抑える必要があるため、信号線を極力削減することが求められている。
【0036】
よって、ECCは検出のみのコードを使用しており、バーストエラーを2Laneまで検出可能としているため、ECCは16bitとなっている。
【0037】
また図2に示すように、本例でのシリアルインタフェースは、データ64bit、ECC16bitの合計80bitを8bit毎に各Laneに割り当て、Lane当たり1bit×8回=8bitとして、10Lane使用しているものの、1実施例であり特に規定はない。
【0038】
パラレル−シリアル変換回路7、10は、シリアルインタフェース5、6にシリアル転送するために、Lane毎にパラレルデータをシリアルデータに変換する(図2参照)。
【0039】
シリアル−パラレル変換回路9、10は、シリアルインタフェース5、6からシリアル転送されるデータを、Lane毎にパラレルデータに変換する(図2参照)。
【0040】
次に、本実施例の装置について、図1を用いて説明する。
【0041】
セレクタ11は、運用データと再送回路13から読み出される再送データの何れかを選択し、データ転送変更回路12にデータを出力する。
【0042】
データ転送変更回路12は、データとECCを受け取り、転送するLaneを割り当てて再送回路13とセレクタ18にデータを送出する。
【0043】
障害情報保持回路16から障害が発生しているLaneが通知されている場合、データを転送するLaneの再構築を行い、ECCの変わりにパリティを生成する。
【0044】
このデータ転送変更方法について、図3を用いて説明する。また、図4に、データ転送変更方法の具体的な論理回路構成を示している。
【0045】
図3は、Lane1で障害が発生し、Lane1で転送していたデータをLane8に変更し、Lane9をパリティ転送に使用している場合を示している。
【0046】
図3のように、シリアルインタフェースの各Laneには、データ64bit、ECC16bitの合計80bitを8bit毎に割り当てている。
【0047】
装置Bで障害が検出され、この障害発生箇所がLane1であることを通知されると、Lane1への割り当てを抑止すると共に、障害発生Lane1に割り当てて転送していたデータを、ECCの転送に使用しているLane8に割り当てを変更して送出する。
【0048】
ECCを転送するLane8がデータを転送するLaneに割り当てられたことにより、ECC16bitを転送することが出来なくなるため、ECCに代わり、データ8bitに対するパリティを生成し、Lane9に割り当てて転送する(転送内容をデータ64bit+パリティ8bitに再構築する)。
【0049】
このように、障害により動作不可能となったLaneが発生した場合にも該障害Laneを切り離し、インタフェースを再構築することで継続動作を可能にしている。
【0050】
図1に戻り、再送回路13は、間欠障害を救済するための回路であり、IDカウンタ14と再送バッファ15とで構成されており、データパターン生成回路17から再送開始指示を受け取ると、再送データを読み出してセレクタ11に出力する。
【0051】
IDカウンタ14は、装置Aから装置Bに転送したデータが正常に受け取られたことを示すACK(Acknowledge)がトランザクション判別回路19から返却されるとカウントアップし、再送用に保持していたデータを破棄する。
【0052】
再送バッファ15には、データ転送変更回路12から出力されるデータが格納される。このデータはIDカウンタ14により、再送時の読み出しポインタが管理される。
【0053】
装置Bでも同様に、障害特定回路24のIDカウンタ25でIDが管理されている。IDカウンタ25は正常にデータを受信するとIDカウンタ25をカウントアップし、エラーを検出するとカウントアップを抑止する。
【0054】
従って、IDカウンタ14と25のカウンタ値が一致するので、このIDを再送バッファ15の読み出しポインタとしてデータを取り出し、再送することが出来る。
【0055】
障害情報保持回路16は、トランザクション判別回路19から受け取る障害発生Lane通知を元に、障害が発生しているLaneを特定すると共に、障害情報を保持してデータ転送変更回路12に通知する。
【0056】
データパターン生成回路17は、再送開始指示、障害が発生しているLaneを特定するための固定データ転送指示と固定データパターン、データ構築指示を生成する。
【0057】
再送開始指示は、再送回路13に出力し、固定データパターンはセレクタ18に出力する。
【0058】
また、装置Bのエラー検出回路21及びトランザクション判別回路22に出力する再送開始指示及び固定データ転送指示、データ構築指示は、装置Bに対するサイドバンドのインタフェースを使用して、データに同期して出力される。
【0059】
セレクタ18は、データ転送変更回路12からのデータ及び、データパターン生成回路17からの固定データパターンの何れかを選択する。
【0060】
トランザクション判別回路19は、装置Bから送出される再送通知、固定障害発生通知、障害発生Lane通知を判別する。
【0061】
データ復元回路20は、通常時はシリアル−パラレル変換回路9から受信するデータをエラー検出回路21に出力し、障害Lane保持回路23から障害が発生しているLaneが通知されると、データの並び替えを行ってからエラー検出回路21に出力する。
【0062】
エラー検出回路21は、データ復元回路20から受信するデータに対して、ECCチェック及びパリティチェックを行い、エラーを検出すると、トランザクション判別回路22と障害特定回路24にエラーを通知すると共に受信したデータをトランザクション判別回路22に出力する。
【0063】
トランザクション判別回路22は、エラー検出回路21からエラー通知とデータを受け取り、データパターン生成回路17からサイドバンドインタフェースで受け取る固定データ転送指示、データ構築指示の判別を行う。
【0064】
通常時は、受信データを運用データとして出力する共に、セレクタ28にACKを出力し、エラー検出回路21からエラー通知を受け取ると、受信データの出力を抑止する。
【0065】
トランザクション判別回路22は、固定データ転送指示を受け取ると、受信するデータのパターンをチェックして、期待するデータを受信することが出来ないLaneを特定し、障害Lane保持回路23とエラー通知回路27に通知する。
【0066】
障害特定回路24は、正常にデータを受信すると、IDカウンタ25をカウントアップし、エラー検出回路21でエラーが検出されると、カウントアップを抑止し、エラーカウンタ26をカウントアップする。
【0067】
このエラーカウンタ26のエラー回数が規定値に達するまでは再送要求を生成し、規定回数に達すると、固定障害発生通知を生成して、エラー通知回路27に通知する。
【0068】
エラー通知回路27は、障害特定回路24から再送要求と固定障害発生通知、トランザクション判別回路22から障害発生Lane通知を受け取り、セレクタ28に出力する。
【0069】
セレクタ28は、通常時の運用データ及び、トランザクション判別回路22からのACKトランザクション、エラー通知回路27からのエラートランザクションをセレクトする。
【0070】
尚、エラー検出回路21、トランザクション判別回路22、障害特定回路24、エラー通知回路27、障害Lane保持回路23を纏めて障害処理手段とする。
【0071】
次に、本発明を実施するための最良の形態の動作について図面を参照して説明する。
【0072】
本実施形態の動作について、図1を用いて説明する。
【0073】
本実施形態では1実施例として、装置Aから装置Bにデータを転送する場合について説明する。
【0074】
まず、通常時の動作について、説明する。
【0075】
装置Aトランスミッタ回路1は、運用データとECCをデータ転送変更回路12で受け取り、各Laneに転送するデータを割り当てて、セレクタ18と再送回路13にデータを出力する。
【0076】
また、再送回路13では、装備BからACKトランザクションが返却されるまで、データを保持している。
【0077】
このデータは、セレクタ18でセレクトされて、パラレル−シリアル変換回路7を介して、シリアルインタフェース5に送出される。
【0078】
装置Bレシーバ回路3は、シリアルインタフェース5より、シリアル−パラレル変換回路9を介して、データ復元回路20でデータを受信し、エラー検出回路21に出力する。
【0079】
エラー検出回路21は、データ復元回路20から受け取るデータに対して、ECCチェックを行い、トランザクション判別回路22にデータとエラー結果を出力する。
【0080】
トランザクション判別回路22は、エラー結果を判別してエラーがなければ、受信データを運用データとして出力すると共に、正常に受信したことを示すACKトランザクションを生成して、セレクタ28に出力する。
【0081】
ACKトランザクションは、セレクタ28でセレクトされ、パラレル−シリアル変換回路10を介して、シリアルインタフェース6に出力される。
【0082】
装置Aレシーバ回路2は、トランザクション判別回路19でACKトランザクションを判別すると、再送回路13にACKを出力する。
【0083】
再送回路13は、ACKを受信すると、IDカウンタ14をカウントアップし、再送用に保持していたデータを破棄する。
【0084】
以上の様にして、通常動作が行われる。
【0085】
ここで、シリアルインタフェース5で間欠障害が発生した場合を考える。
【0086】
エラー検出回路21でデータを受信するまでは、上記動作と同様である。
【0087】
エラー検出回路21は、データを受信すると、ECCチェックで障害を検出し、トランザクション判別回路22には、データとエラー通知を通知し、障害特定回路24には、エラー通知を行う。
【0088】
トランザクション判別回路22は、エラー通知により、受信データを破棄する。
【0089】
障害特定回路24は、エラー通知により、IDカウンタ25のカウントアップを抑止すると共に、エラーカウンタ26をカウントアップして、エラー回数を監視するが、この時点では、エラー回数が規定値に達していないので、再送要求を生成してエラー通知回路27に出力する。
【0090】
再送要求はセレクタ28でセレクトされ、パラレル−シリアル変換回路10を介して、シリアルインタフェース6に出力される。
【0091】
装置Aレシーバ回路2は、トランザクション判別回路19で再送要求を判別すると、データパターン生成回路17に再送要求を出力する。
【0092】
データパターン生成回路17は、再送要求を受け取ると、サイドバンドのインタフェースを使用して再送開始指示を装置Bレシーバ回路3のエラー検出回路21とトランザクション判別回路22に通知すると共に、再送回路13にも再送要求を通知する。
【0093】
再送回路13は、ACKが返却されないので、IDカウンタ14のカウンタ値を再送バッファ15の読み出しポインタとして、再送データを読み出し、セレクタ11に出力する。
【0094】
再送データは、セレクタ11でセレクトされ、ECCが生成されてデータ転送変更回路12で受信され、セレクタ18、パラレル−シリアル変換回路7を介して送出される。
【0095】
この再送データは、データパターン生成回路17から出力される再送開始指示に同期して出力される。
【0096】
装置Bレシーバ回路3は、シリアルインタフェース5より、シリアル−パラレル変換回路9を介して、データ復元回路20で再送データを受信し、エラー検出回路21に出力する。
【0097】
エラー検出回路21は、データ復元回路20から受け取る再送データに対して、ECCチェックを行い、トランザクション判別回路22にデータとエラー結果を出力する。
【0098】
このエラー結果は、再送開始指示によるエラー結果であることも通知する。
【0099】
トランザクション判別回路22は、エラー結果を判別してエラーがなければ、受信した再送データを運用データとして出力すると共に、正常に受信したことを示すACKトランザクションを生成して、セレクタ28に出力する。
【0100】
障害特定回路24は、エラー検出回路21のエラー結果から再送成功と判断し、IDカウンタ25をカウントアップし、エラーカウンタ26をリセットする。
【0101】
ACKトランザクションは、セレクタ28でセレクトされ、シリアル−パラレル変換回路10を介して、シリアルインタフェース6に出力される。
【0102】
装置Aレシーバ回路2は、トランザクション判別回路19でACKトランザクションを判別すると、再送回路13にACKを出力する。
【0103】
再送回路13は、ACKを受信すると、IDカウンタ14をカウントアップし、再送用に保持していたデータを破棄する。
【0104】
このように間欠障害であれば、再送データにより、エラーが訂正されて、動作が継続する。
【0105】
ここで更に、シリアルインタフェース5で固定障害が発生した場合を考える。
【0106】
エラー検出回路21で再送データを受信するまでは、上記間欠障害動作と同様である。
【0107】
エラー検出回路21は、データを受信すると、固定障害により、再度ECCチェックで障害を検出し、トランザクション判別回路22には、データとエラー結果を出力し、障害特定回路24には、エラー出力する。
【0108】
このエラー結果は、再送開始指示によるエラー結果であることも通知する。
【0109】
トランザクション判別回路22は、エラー通知により、受信データを破棄する。
【0110】
障害特定回路24は、エラー通知により、再送中に再度エラーが発生したことを判断し、IDカウンタ25のカウントアップを抑止すると共に、エラーカウンタ26をカウントアップし、再送要求を生成してエラー通知回路27に出力する。
【0111】
このように、固定障害が発生すると再送が繰り返し行われる。
【0112】
再送が繰り返し行われ、エラーカウンタ26のカウンタ値が規定回数に達すると、固定障害発生通知を生成し、エラー通知回路27に通知する。
【0113】
固定障害発生通知は、セレクタ28でセレクトされ、シリアル−パラレル変換回路10を介して、シリアルインタフェース6に出力される。
【0114】
装置Aレシーバ回路2は、トランザクション判別回路19で固定障害発生通知を判別すると、データパターン生成回路17に固定障害発生通知を出力する。
【0115】
データパターン生成回路17は、固定障害発生通知を受け取ると、サイドバンドのインタフェースを使用して固定データ転送指示を装置Bのトランザクション判別回路22とエラー検出回路21に通知すると共に、障害が発生しているLaneを特定するために固定データパターンを生成して、セレクタ18に出力する。
【0116】
固定データパターンは、セレクタ18でセレクトされ、パラレル−シリアル変換回路7を介して送出される。
【0117】
この固定データパターンは、データパターン生成回路17から出力される固定データ転送指示に同期して出力される。
【0118】
装置Bレシーバ回路3は、シリアルインタフェース5より、シリアル−パラレル変換回路9を介して、データ復元回路20で固定データパターンを受信し、エラー検出回路21に出力する。
【0119】
エラー検出回路21は、サイドバンドのインタフェースで受信する固定データ転送指示により、固定データパターンに対するECCを抑止して、トランザクション判別回路22に固定データパターンを出力する。
【0120】
トランザクション判別回路22は、サイドバンドインタフェースの固定データ転送指示により、受信する固定データパターンのチェックを行い、期待するデータが受信出来ていないLaneを特定し、エラー通知回路27と障害Lane保持回路23に障害が発生しているLaneを通知する。
【0121】
エラー通知回路27に出力された障害発生Lane通知は、セレクタ28でセレクトされ、パラレル−シリアル変換回路10を介して、シリアルインタフェース6に出力される。
【0122】
障害Lane保持回路23は、障害発生Lane通知を保持して、データ復元回路20に出力する。
【0123】
エラー通知回路27は、セレクタ28、パラレル−シリアル変換回路10を介して、データ送信元の装置Aレシーバ回路2に障害発生Lane通知を送出する。
【0124】
装置Aレシーバ回路2は、トランザクション判別回路19で障害発生Lane通知を判別すると、データパターン生成回路17と障害情報保持回路16に障害発生Lane通知を出力する。
【0125】
データパターン生成回路17は、障害発生Lane通知を受け取ると、サイドバンドのインタフェースを使用してデータ構築指示を装置Bのエラー検出回路21とトランザクション判別回路22に通知すると共に、再送回路13に再送要求を通知する。
【0126】
再送回路13は、ACKが返却されないので、IDカウンタ14のカウンタ値を再送バッファ15の読み出しポインタとして、再送データを読み出し、セレクタ11に出力する。
【0127】
障害情報保持回路16は、障害発生Lane通知を保持して、データ転送変更回路12に出力する。
【0128】
再送データは、セレクタ11でセレクトされ、ECCが生成されてデータ転送変更回路12で受信される。
【0129】
データ転送変更回路12は、障害情報保持回路16から障害が発生しているLane情報が通知されると、受信する再送データに対して、障害発生Laneを切り離して、正常に動作しているLaneのみで転送Laneを再構築する。
【0130】
更に、障害が発生しているLaneで転送していたデータは、ECCの転送で使用しているLaneに割り当てが変更されるので、本来使用しているECCの転送が出来なくなるので、ECCの代わりにデータ8bitに対するパリティを生成し、ECCの転送で使用していたもう一つのLaneをパリティ転送に変更して、セレクタ18に出力する。
【0131】
再構築されたデータは、セレクタ18でセレクトされ、パラレル−シリアル変換回路7を介して、シリアルインタフェース5に送出する。
【0132】
この再構築データは、データパターン生成回路17から出力されるデータ構築指示に同期して出力される。
【0133】
装置Bレシーバ回路3は、シリアルインタフェース5より、シリアル−パラレル変換回路9を介して、データ復元回路20で再構築されたデータを受信すると、障害Lane保持回路23から通知されているLane情報を元に、データの並び替えを行い、運用データを生成してエラー検出回路21に出力する。
【0134】
エラー検出回路21は、障害Lane保持回路23から通知されている障害Lane情報により、エラー検出方式をECCからパリティに切り替えてチェックして、トランザクション判別回路22にデータとエラー結果を出力し、障害特定回路24にエラー結果を出力する。
【0135】
このエラー結果は、データ構築指示によるエラー結果であることも通知する。
【0136】
トランザクション判別回路22は、エラー結果を判別してエラーがなければ、受信した再構築データを運用データとして出力すると共に、正常に受信したことを示すACKトランザクションを生成して、セレクタ28に出力する。
【0137】
障害特定回路24は、エラー検出回路21のエラー結果より、データ再構築による再送成功と判断し、IDカウンタ25をカウントアップし、エラーカウンタ26をリセットする。
【0138】
ACKトランザクションは、セレクタ28でセレクトされ、パラレル−シリアル変換回路10を介して、シリアルインタフェース6に出力される。
【0139】
装置A2は、トランザクション判別回路19でACKトランザクションを判別すると、再送回路13にACKを出力する。
【0140】
再送回路13は、ACKを受信すると、IDカウンタ14をカウントアップし、再送用に保持していたデータを破棄する。
【0141】
よって、正常にデータが転送されたことになる。
【0142】
このようにインタフェースに固定的な障害が発生した場合でも、本発明による解決手段により、障害発生箇所を取り除いたデータ転送を行うことが可能となるので、インタフェースを切断せずに動作継続させることが出来る。
【0143】
また、本例は、エラー検出方式をECCからパリティに変更する例であるが、1例にすぎず、ECCをCRCに変更することも可能である。
【0144】
本発明の第2の実施例では、データ転送変更回路12が、障害情報保持回路16より障害発生Lane通知を受け、障害発生Laneを切り離して、正常に動作しているLaneのみで転送Laneを再構築する。
【0145】
更に、障害が発生しているLane1で転送していたデータは、ECCの転送で使用しているLane8に割り当てが変更されるので、本来使用しているECC(15−0)の内、ECC(7−0)が転送出来なくなるので、ECC(7−0)を次のサイクルでLane8を使って送る。
【0146】
データ復元回路20では、サイドバンドインタフェースで「後送有り」フラグを受け、Lane8対応のレジスタで受けたデータを、Lane1対応のレジスタにもセットし、並行してECC(7−0)をLane8対応のレジスタに受ける。
【0147】
以上の実施例では、複数のシリアル伝送路での伝送方式で説明したが、複数のワード(或いはバイト)伝送路についても本発明は構成できる。
【0148】
この様な実施例では、パラレル−シリアル変換回路7,10やシリアル−パラレル変換回路8、10は含まない。
【0149】
また、再送要求を繰り返し、規定回数に達すれば、伝送データのエラーチェック情報で切り離しLaneを決める実施例もある。
【図面の簡単な説明】
【0150】
【図1】図1に本発明の実施形態のデータ伝送方式の構成を示す。
【図2】図1のシリアルインタフェース5、6の詳細構成を示す図。
【図3】データ転送変更方法を説明するための図。
【図4】図1のデータ転送変更回路12の具体的な構成例を示す図。
【符号の説明】
【0151】
1 装置Aトランスミッタ回路
2 装置Aレシーバ回路
3 装置Bレシーバ回路
4 装置Bトランスミッタ回路
5、6 シリアルインタフェース
7、10 パラレル−シリアル変換回路
8、9 シリアル−パラレル変換回路
11、18、28 セレクタ
12 データ転送変更回路
13 再送回路
14 IDカウンタ
15 再送バッファ
16 障害情報保持回路
17 データパターン生成回路
19、22 トランザクション判別回路
20 データ復元回路
21 エラー検出回路
23 障害Lane保持回路
24 障害特定回路
25 IDカウンタ
26 エラーカウンタ
27 エラー通知回路

【特許請求の範囲】
【請求項1】
複数の伝送路から構成されるインタフェースによるデータ伝送方式であって、前記インタフェースの送信部が、
伝送データに第1のECC(エラーチェックコード)を付加する手段と、
伝送データ及び第1のECCをワードに分割し、各ワードを対応する伝送路に送出し、伝送路障害情報を受けると、第1のECCに代わり、これより短い第2のECCを伝送データに付加し、これらをワードに分割し、各ワードを、障害状態伝送路を除いた残りの伝送路に再割り当てし送出するデータ転送変更手段と、
前記伝送路に送出するデータの控えをバッファに保持し、再送要求に従い該当データをバッファより取り出し、前記第1のECCを付加する手段に渡す再送手段とを有し、
前記インタフェースの受信部が、
正常時は受信した伝送データの第1のエラーチェックを行い、伝送路障害時は、伝送データ及び第2のECCのワード並びを変更される前の並びに復元し、伝送データの第2のエラーチェックを行い、チェック結果を障害処理手段に渡すデータ復元チェック手段と、
エラー検出を伴うチェック結果を受けると、伝送データの供給先への転送を抑止し、前記送信部に再送要求し、再送に成功しなければ再送要求を繰り返し、規定回数に達すれば、伝送路障害情報を送信部に通知する障害処理手段とを有することを特徴とするデータ伝送方式。
【請求項2】
複数のシリアル伝送路から構成されるインタフェースによるデータ伝送方式であって、前記インタフェースの送信部が、
前記伝送路毎に設けられ伝送するワードデータをビット列に変換するパラレル−シリアル変換手段と、
伝送データに第1のECC(エラーチェックコード)を付加する手段と、
伝送データ及び第1のECCをワードに分割し、各ワードを対応するパラレル−シリアル変換手段に渡し、伝送路障害情報を受けると、第1のECCに代わり、これより短い第2のECCを伝送対象データに付加し、これらをワードに分割し、各ワードを、障害状態伝送路を除いた残りの伝送路の各パラレル−シリアル変換手段に再割り当てして渡すデータ転送変更手段と、
前記パラレル−シリアル変換手段に渡すデータの控えをバッファに保持し、再送要求に従い該当データをバッファより取り出し、前記第1のECCを付加する手段に渡す再送手段とを有し、
前記インタフェースの受信部が、
前記伝送路毎に設けられ受信ビット列をワードに変換するシリアル−パラレル変換手段と、
正常時は変換された伝送データの第1のエラーチェックを行い、伝送路障害時は、伝送データ及び第2のECCのワード並びを変更される前の並びに復元し、伝送データの第2のエラーチェックを行い、チェック結果を障害処理手段に渡すデータ復元チェック手段と、エラー検出を伴うチェック結果を受けると、伝送データの供給先への転送を抑止し、前記送信部に再送要求し、再送に成功しなければ再送要求を繰り返し、規定回数に達すれば、伝送路障害情報を送信部に通知する障害処理手段とを有することを特徴とするデータ伝送方式。
【請求項3】
前記第1のECCを2ビット誤りまで検出可能なECCとし、前記第1のエラーチェックをこれによるエラーチェックとし、前記第2のECCを1ビット誤りが検出可能なパリティコードとし、前記第2のエラーチェックをこれによるパリティチェックとすることを特徴とする請求項1、または2に記載のデータ伝送方式。
【請求項4】
複数の伝送路から構成されるインタフェースによるデータ伝送方式であって、前記インタフェースの送信部が、
伝送データにECC(エラーチェックコード)を付加する手段と、
伝送データ及びECCをワードに分割し、各ワードを対応する伝送路に送出し、伝送路障害情報を受けると、ECCの一部或いは全部のワードを除いた各ワードを、障害状態伝送路を除いた残りの伝送路に再割り当てし送出し、ECCの一部或いは全部のワードを後送するデータ転送変更手段と、
前記伝送路に送出するデータの控えをバッファに保持し、再送要求に従い該当データをバッファより取り出し、前記ECCを付加する手段に渡す再送手段とを有し、
前記インタフェースの受信部が、
正常時は受信した伝送データのエラーチェックを行い、伝送路障害時は、伝送データ及びECCのワード並びを変更される前の並びに復元し、エラーチェックを行い、チェック結果を障害処理手段に渡すデータ復元チェック手段と、
エラー検出を伴うチェック結果を受けると、伝送データの供給先への転送を抑止し、前記送信部に再送要求し、再送に成功しなければ再送要求を繰り返し、規定回数に達すれば伝送路障害情報を送信部に通知する障害処理手段とを有することを特徴とするデータ伝送方式。
【請求項5】
複数のシリアル伝送路から構成されるインタフェースによるデータ伝送方式であって、前記インタフェースの送信部が、
前記伝送路毎に設けられ伝送するワードデータをビット列に変換するパラレル−シリアル変換手段と、
伝送データにECC(エラーチェックコード)を付加する手段と、
伝送データ及びECCをワードに分割し、各ワードを対応するパラレル−シリアル変換手段に渡し、伝送路障害情報を受けると、ECCの一部或いは全部のワードを除いた各ワードを、障害状態伝送路を除いた残りの伝送路の各パラレル−シリアル変換手段に再割り当てして渡し、ECCの一部或いは全部のワードを後続サイクルで渡すデータ転送変更手段と、
前記パラレル−シリアル変換手段に渡すデータの控えをバッファに保持し、再送要求に従い該当データをバッファより取り出し、前記ECCを付加する手段に渡す再送手段とを有し、
前記インタフェースの受信部が、
前記伝送路毎に設けられ受信ビット列をワードに変換するシリアル−パラレル変換手段と、
正常時は変換された伝送データのエラーチェックを行い、伝送路障害時は、伝送データ及びECCのワード並びを変更される前の並びに復元し、エラーチェックを行い、チェック結果を障害処理手段に渡すデータ復元チェック手段と、
エラー検出を伴うチェック結果を受けると、伝送データの供給先への転送を抑止し、前記送信部に再送要求し、再送に成功しなければ再送要求を繰り返し、規定回数に達すれば伝送路障害情報を送信部に通知する障害処理手段とを有することを特徴とするデータ伝送方式。
【請求項6】
前記受信部の障害処理手段が、再送要求を繰り返し、規定回数に達すれば、テストパターン送信指示を送信部に送信し、受信するテストパターンデータから障害状態の伝送路を特定し、伝送路障害情報を送信部に通知し、
前記送信部が、前記指示により伝送データ及びECCをテストパターンに切り換えて送信することを特徴とする請求項1、2、4、又は5の何れかに記載のデータ伝送方式。
【請求項7】
複数の伝送路から構成されるインタフェースによるデータ伝送方法であって、送信側が、
伝送データに第1のECC(エラーチェックコード)を付加する手順と、
伝送データ及び第1のECCをワードに分割し、各ワードを対応する伝送路に送出する手順と、
受信側からテストパターン送信指示を受けると、伝送データ及びECCをテストパターンに切り換えて送信する手順と、
伝送路障害情報を受けると、第1のECCに代わり、これより短い第2のECCを伝送データに付加し、これらをワードに分割し、各ワードを、障害状態伝送路を除いた残りの伝送路に再割り当てし送出するデータ転送変更手順と、
前記伝送路に送出するデータの控えをバッファに保持し、再送要求に従い該当データをバッファより取り出し、前記第1のECCを付加する手順に渡す再送手順とを有し、
受信部側が、正常時は受信した伝送データの第1のエラーチェックを行い、伝送路障害時は、伝送データ及び第2のECCのワード並びを変更される前の並びに復元し、伝送データの第2のエラーチェックを行い、チェック結果を障害処理手順に渡すデータ復元チェック手順と、
エラー検出を伴うチェック結果を受けると、送信側に再送要求し、再送に成功しなければ再送要求を繰り返し、規定回数に達すれば、テストパターンの送信を送信側に指示し、受信するテストパターンデータから障害状態の伝送路を特定し、伝送路障害情報を送信側に通知する障害処理手順とを有することを特徴とするデータ伝送方法。
【請求項8】
前記第1のECCを2ビット誤りまで検出可能なECCとし、前記第1のエラーチェックをこれによるエラーチェックとし、前記第2のECCを1ビット誤りが検出可能なパリティコードとし、前記第2のエラーチェックをこれによるパリティチェックとすることを特徴とする請求項7記載のデータ伝送方法。
【請求項9】
複数の伝送路から構成されるインタフェースによるデータ伝送方法であって、送信側が、伝送データ及びECCをワードに分割し、各ワードを対応する伝送路に送出する手順と、
受信側からテストパターン送信指示を受けると、伝送データ及びECCをテストパターンに切り換えて送信する手順と、
伝送路障害情報を受けると、各ワードを、障害状態伝送路を除いた残りの伝送路に再割り当てして送出するデータ転送変更手順と、
前記伝送路に送出するデータの控えをバッファに保持し、再送要求に従い該当データをバッファより取り出し、前記ECCを付加する手段に渡す再送手順とを有し、
受信側が、正常時は受信した伝送データのエラーチェックを行い、伝送路障害時は、伝送データ及びECCのワード並びを変更される前の並びに復元し、エラーチェックを行い、チェック結果を障害処理手段に渡すデータ復元チェック手順と、
エラー検出を伴うチェック結果を受けると、前記送信部に再送要求し、再送に成功しなければ再送要求を繰り返し、規定回数に達すれば、テストパターンの送信を送信側に指示し、受信するテストパターンデータから障害状態の伝送路を特定し、伝送路障害情報を送信部に通知する障害処理手順とを有することを特徴とするデータ伝送方法。
【請求項10】
前記受信部の障害処理手順が、再送要求を繰り返し、規定回数に達すれば、テストパターン送信指示を送信部に送信し、受信するテストパターンデータから障害状態の伝送路を特定し、伝送路障害情報を送信部に通知し、
前記送信部が、前記指示により伝送データ及びECCをテストパターンに切り換えて送信することを特徴とする請求項7、又は9に記載のデータ伝送方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate


【公開番号】特開2006−186527(P2006−186527A)
【公開日】平成18年7月13日(2006.7.13)
【国際特許分類】
【出願番号】特願2004−376149(P2004−376149)
【出願日】平成16年12月27日(2004.12.27)
【出願人】(000168285)エヌイーシーコンピュータテクノ株式会社 (572)
【Fターム(参考)】