(57)【特許請求の範囲】
【請求項１】
ＬＳＩ間でデータの転送をなすデータ転送システムであって、
前記ＬＳＩの各々に、転送元のＬＳＩにより転送された受信データにエラーがある場合に当該データの再送を前記転送元のＬＳＩに要求する再送要求手段と、転送先のＬＳＩの前記再送要求手段からの再送要求に応答して再送要求されているデータを前記転送先のＬＳＩに再送すべく制御をなす再送制御手段とを含み、
前記再送制御手段は、前記再送要求されているデータに対してエラー検出／訂正をなすエラー検出／訂正手段を有し、このエラー検出／訂正手段によりエラー検出／訂正されたデータが再送されるようにしたことを特徴とするデータ転送システム。
【請求項２】
前記再送制御手段は、記憶手段を有し、自ＬＳＩから前記転送先のＬＳＩに転送されるデータを前記記憶手段に順次書込み、前記再送要求に応答して前記再送要求されているデータから順にデータを前記記憶手段から読出し、前記エラー検出／訂正手段は、前記記憶手段からの読出しデータに対してエラー検出／訂正をなすことを特徴とする請求項１記載のデータ転送システム。
【請求項３】
前記ＬＳＩ間で転送されるデータにはエラー訂正符号が付加されており、前記エラー検出／訂正手段は前記エラー訂正符号を基にエラー検出／訂正をなすことを特徴とする請求項１又は２記載のデータ転送システム。
【請求項４】
他のＬＳＩとの間でデータの転送をなすＬＳＩであって、
前記他のＬＳＩにより転送された受信データにエラーがある場合に当該データの再送を前記他のＬＳＩに要求する再送要求手段と、前記他のＬＳＩの前記再送要求手段からの再送要求に応答して再送要求されているデータを前記他のＬＳＩに再送すべく制御をなす再送制御手段とを含み、
前記再送制御手段は、前記再送要求されているデータに対してエラー検出／訂正をなすエラー検出／訂正手段を有し、このエラー検出／訂正手段によりエラー検出／訂正されたデータが再送されるようにしたことを特徴とするＬＳＩ。
【請求項５】
前記再送制御手段は、記憶手段を有し、自ＬＳＩから前記他のＬＳＩに転送されるデータを前記記憶手段に順次書込み、前記再送要求に応答して前記再送要求されているデータから順にデータを前記記憶手段から読出し、前記エラー検出／訂正手段は、前記記憶手段からの読出しデータに対してエラー検出／訂正をなすことを特徴とする請求項４記載のＬＳＩ。
【請求項６】
前記他のＬＳＩとの間で転送されるデータにはエラー訂正符号が付加されており、前記エラー検出／訂正手段は前記エラー訂正符号を基にエラー検出／訂正をなすことを特徴とする請求項４又は５記載のＬＳＩ。
【請求項７】
ＬＳＩ間のデータ転送方法であって、
前記ＬＳＩの各々は、転送元のＬＳＩにより転送された受信データにエラーがある場合に当該データの再送を前記転送元のＬＳＩに要求する再送要求ステップと、転送先のＬＳＩにおける前記再送要求ステップによる再送要求に応答して再送要求されているデータを前記転送先のＬＳＩに再送すべく制御をなす再送制御ステップとを含み、
前記再送制御ステップは、前記再送要求されているデータに対してエラー検出／訂正をなすエラー検出／訂正ステップを有し、このエラー検出／訂正ステップによりエラー検出／訂正されたデータが再送されるようにしたことを特徴とするデータ転送方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はデータ転送システム、ＬＳＩ及びデータ転送方法に関し、特に論理ユニット間でデータの転送をなすデータ転送システムに関する。
【０００２】
【従来の技術】
図６は従来のＬＳＩの構成を示す図である。図６に示した従来のＬＳＩは、ＬＳＩ内部から外部へ転送するデータを一時的に保持するフリップフロップ（Ｆ／Ｆ）１００及び１０２と、エラーの検出と訂正を行うエラー訂正部１０１と、ＬＳＩ間のデータ転送におけるデータ送信を行うデータ送信部１０３とを有している。
【０００３】
図６に示した従来のＬＳＩにおいて、ＬＳＩ内部から外部へ転送するデータはまずＦ／Ｆ１００に入力される。なお、このデータにはエラー訂正符号（ＥＣＣ）が付加されている。Ｆ／Ｆ１００から出力されたデータはエラー訂正部１０１に入力され、エラー訂正部１０１は、入力データに付加されているＥＣＣを基に入力データに対してエラー検出を行うと共に、エラーを検出した場合は当該エラーの訂正をなす。
【０００４】
エラー訂正部１０１から出力されたデータは、Ｆ／Ｆ１０２を介してデータ送信部１０３に入力される。なお、Ｆ／Ｆ１０２は、一般的にエラー訂正回路の回路遅延が大きいために設けられたものである。そして、データ送信部１０３により、エラー訂正部１０１からのデータが転送先のＬＳＩへ送信される。
【０００５】
【発明が解決しようとする課題】
一般に、エラー訂正符号を付与したデータにおいてエラーを訂正するには、比較的多段の排他的論理和ゲートが使用される。排他的論理和ゲートの回路遅延は一般に大きいため、この部分の回路遅延がＬＳＩのクリティカルパスになり、ＬＳＩの高速動作を妨げる一因となっていた。
【０００６】
したがって、図６に示した従来のＬＳＩのエラー訂正部１０１において、クロックの１周期分の回路遅延を使い切ってしまう場合には、エラー訂正部１０１からの出力データを上述したように一旦Ｆ／Ｆ１０２に保持する必要が生じ、データ転送のレイテンシ（ｌａｔｅｎｃｙ）が悪化するという問題があった。
【０００７】
本発明の目的は、通常のデータ転送時の性能低下を伴うことなくエラーデータのエラー訂正を行うことができるデータ転送システム、ＬＳＩ及びデータ転送方法を提供することにある。
【０００８】
【課題を解決するための手段】
本発明によるデータ転送システムは、ＬＳＩ間でデータの転送をなすデータ転送システムであって、前記ＬＳＩの各々に、転送元のＬＳＩにより転送された受信データにエラーがある場合に当該データの再送を前記転送元のＬＳＩに要求する再送要求手段と、転送先のＬＳＩの前記再送要求手段からの再送要求に応答して再送要求されているデータを前記転送先のＬＳＩに再送すべく制御をなす再送制御手段とを含み、前記再送制御手段は、前記再送要求されているデータに対してエラー検出／訂正をなすエラー検出／訂正手段を有し、このエラー検出／訂正手段によりエラー検出／訂正されたデータが再送されるようにしたことを特徴とする。
【０００９】
本発明によるＬＳＩは、他のＬＳＩとの間でデータの転送をなすＬＳＩであって、前記他のＬＳＩにより転送された受信データにエラーがある場合に当該データの再送を前記他のＬＳＩに要求する再送要求手段と、前記他のＬＳＩの前記再送要求手段からの再送要求に応答して再送要求されているデータを前記他のＬＳＩに再送すべく制御をなす再送制御手段とを含み、前記再送制御手段は、前記再送要求されているデータに対してエラー検出／訂正をなすエラー検出／訂正手段を有し、このエラー検出／訂正手段によりエラー検出／訂正されたデータが再送されるようにしたことを特徴とする。
【００１０】
本発明によるデータ転送方法は、ＬＳＩ間のデータ転送方法であって、前記ＬＳＩの各々は、転送元のＬＳＩにより転送された受信データにエラーがある場合に当該データの再送を前記転送元のＬＳＩに要求する再送要求ステップと、転送先のＬＳＩにおける前記再送要求ステップによる再送要求に応答して再送要求されているデータを前記転送先のＬＳＩに再送すべく制御をなす再送制御ステップとを含み、前記再送制御ステップは、前記再送要求されているデータに対してエラー検出／訂正をなすエラー検出／訂正ステップを有し、このエラー検出／訂正ステップによりエラー検出／訂正されたデータが再送されるようにしたことを特徴とする。
【００１１】
本発明の作用は次の通りである。一方の論理ユニットから他方の論理ユニットへデータが転送されると、他方の論理ユニットは、受信データにエラーがある場合にこれを再送するよう要求する。一方の論理ユニットは、他方からの再送要求に応答して再送を開始する。このような再送を行うデータ転送システムにおいて、その再送時に再送データに対してエラー検出／訂正を行ってから再送するようにしている。
【００１２】
このように、通常のデータ転送時に発生したエラーの訂正を再送時に行うようにしているので、通常のデータ転送時にエラー検出／訂正を行わずとも、エラー訂正が可能なデータ転送を行うことができるようになる。
【００１３】
【発明の実施の形態】
以下に、本発明の実施例について図面を参照して説明する。図１は本発明の実施例によるデータ転送方式が適用される情報処理装置（ＬＳＩ）の構成を示す図である。
【００１４】
図１において、本発明の実施例によるデータ転送方式が適用されるＬＳＩは、フリップフロップ（Ｆ／Ｆ）１と、セレクタ２と、データ送信部３と、再送制御部４と、データ受信部５と、再送要求パケット検出部６と、エラーポイント検出部７とを有している。再送制御部４は、再送バッファ８と、エラー訂正部９と、再送要求パケット生成部１０と、セレクタ制御部１１とを有している。
【００１５】
Ｆ／Ｆ１は、ＬＳＩ内部から外部へ転送するデータを一時的に保持する。なお、このデータにはエラー訂正符号（ＥＣＣ）が付加されている。セレクタ２は、再送制御部４から出力される再送データＤ２、Ｆ／Ｆ１が出力するデータＤ１及び再送制御部４からの再送要求パケットＰ１から一つを選択出力する。
【００１６】
データ送信部３は、ＬＳＩ間のデータ転送におけるデータ送信を行い、データ受信部５は、ＬＳＩ間のデータ転送におけるデータ受信を行う。ここで、図２は本発明の実施例によるデータ転送方式が適用されるＬＳＩ間の接続を示す図であり、図１と同等部分は同一符号にて示している。図２に示されているように、ＬＳＩ２００のデータ送信部３とＬＳＩ３００のデータ受信部５とが互いに接続され、同様にＬＳＩ２００のデータ受信部５とＬＳＩ３００のデータ送信部３とが互いに接続されており、これにより、ＬＳＩ２００とＬＳＩ３００との間のデータ転送が行われる。
【００１７】
再送要求パケット検出部６は、データ受信部５により受信された受信データＤ３を基に、向かい合うＬＳＩ（受信データＤ３を送信したＬＳＩ）から再送要求があることを検出し、再送制御部４へ再送指示Ｉ１を出力する。エラーポイント検出部７は、データ受信部５により受信された受信データＤ３にエラーが有ることを検出し、エラー検出通知Ｎ１を出力することにより、再送制御部４内の再送要求パケット生成部１０に対して再送要求パケットＰ１の生成を要求する。
【００１８】
再送要求パケット生成部１０は、エラーポイント検出部７からのエラー検出通知Ｎ１の受信に応答して再送要求パケットＰ１を生成出力する。セレクタ制御部１１は、セレクタ２に入力される３つの入力データＤ１，Ｄ２及びＰ１のいずれか一つを選択するようにセレクタ２を制御する。
【００１９】
次に、図１に示した再送制御部４について図３を用いて詳細に説明する。図３は図１に示した再送制御部４の構成を示す図であり、図１と同等部分は同一符号にて示している。
【００２０】
図３において、図１に示した再送制御部４は、再送バッファ８と、エラー訂正部９と、再送要求パケット生成部１０と、セレクタ制御部１１と、Ｆ／Ｆ１２及び１３と、セレクタ１４及び１７と、ライトポインタ（ＷＰ）１５と、加算器１６及び１９と、リードポインタ（ＲＰ）１８とを有している。
【００２１】
図１のＦ／Ｆ１から出力されたデータＤ１は複数ワードで構成される再送バッファ８に格納され、再送バッファ８は再送時に備えてデータを保持している。なお、上述したようにデータＤ１にはエラー訂正符号（ＥＣＣ）が付加されている。Ｆ／Ｆ１２は、再送バッファ８から出力されるデータを一時的に保持する。これは、一般的にバッファはＲＡＭで構成され回路遅延が大きいために設けられたものである。
【００２２】
エラー訂正部９は、再送バッファ８から出力されたデータのＥＣＣを基に、そのエラーの検出と訂正を行う。Ｆ／Ｆ１３は、エラー訂正部９から出力されるデータを一時的に保持する。これは、一般的にエラー訂正回路の回路遅延が大きいために設けられたものである。再送データＤ２は、再送バッファ８から出力されたデータであり、エラー訂正部９によりエラーが検出された場合は、エラー訂正済みのデータとなっている。
【００２３】
データ出力指示Ｉ３は、データＤ１と同期しており、有効なデータＤ１が有る場合（アイドル状態でない場合）にアサートされる。データ出力指示Ｉ３がセレクタ１４に入力されると、セレクタ１４は加算器１６の出力を選択出力する。ＷＰ１５は、セレクタ１４の出力を保持し、再送バッファ８の書き込みエントリを示し、セレクタ１４及び加算器１６に入力される。加算器１６は、ＷＰ１５を＋１し、加算器１６の出力はセレクタ１４に入力される。
【００２４】
図１の再送要求パケット検出部６からの再送指示Ｉ１は、向かい合うＬＳＩのエラーポイント検出部７（図１参照）による受信データＤ３のエラー検出に伴って向かい合うＬＳＩから送信された再送要求パケットＰ１の受信時に再送要求パケット検出部６から出力され、再送バッファ８からの再送データ出力の契機となるものであり、セレクタ１７とセレクタ制御部１１に入力される。
【００２５】
再送エントリＥ１は、図１のデータ受信部５で受信した再送要求パケットＰ１に含まれる情報である再送エントリの情報を図１の再送要求パケット検出部６により抽出したものである。この再送エントリＥ１は、エラーを検出した向かいあうＬＳＩのエラーポイント検出部７（図１参照）内の後述する受信カウンタで保持されていた値のコピーである。
【００２６】
セレクタ１７は、再送エントリＥ１と加算器１９の出力とのいずれか一方を選択出力する。セレクタ１７は、再送指示Ｉ１の入力に応答して再送エントリＥ１を選択出力し、次クロックサイクル以降は加算器１９の出力を選択出力する。ＲＰ１８は、セレクタ１７の出力を保持し、再送バッファ８の読み出しエントリを示す。加算器１９は、ＲＰ１８を＋１し、加算器１９の出力はセレクタ１７に入力される。
【００２７】
エラー検出通知Ｎ１は、図１のエラーポイント検出部７が受信データＤ３にエラーを検出したとき、後述する再送ポイントと共に再送要求パケット生成部１０に出力され、これにより、エラー検出を再送要求パケット生成部１０に通知する。再送要求パケット生成部１０は、エラー検出通知Ｎ１に応答して再送要求パケットＰ１を生成出力すると共に、セレクタ制御部１１に対し、図１のセレクタ２が再送要求パケットＰ１を選択出力するように指示する。
【００２８】
セレクタ制御部１１は、通常時は、ＬＳＩ内部からのデータである、図１のＦ／Ｆ１からのデータＤ１を図１のセレクタ２が選択出力するよう、選択指示Ｉ２を出力している。また、セレクタ制御部１１は、再送指示Ｉ１が入力されると、図１のセレクタ２が再送バッファ８からの再送データＤ２を選択出力するよう、選択指示Ｉ２を出力する。そして、図１のセレクタ２は、再送データＤ２が無くなるまで再送データＤ２を選択出力する。すなわち、セレクタ制御部１１は、再送指示Ｉ１が入力されるとＷＰ１５とＲＰ１８とを比較し、ＷＰ１５とＲＰ１８とが一致するまで、図１のセレクタ２に再送データＤ２を選択出力させる。
【００２９】
また、セレクタ制御部１１は、エラー検出通知Ｎ１に応答して再送要求パケット生成部１０により生成された再送要求パケットＰ１を向かい合うＬＳＩに送出するため、再送要求パケット生成部１０からの指示に応答して、図１のセレクタ２が再送要求パケットＰ１を選択出力するよう、選択指示Ｉ２を出力する。選択指示Ｉ２は、図１のセレクタ２に対するセレクタ出力信号選択指示である。
【００３０】
次に、図１に示した再送要求パケット検出部６について図４を用いて詳細に説明する。図４は図１に示した再送要求パケット検出部６の構成を示す図であり、図１及び３と同等部分は同一符号にて示している。
【００３１】
図４において、図１に示した再送要求パケット検出部６は、データデコーダ２０と、再送エントリ取り出し部２１と、再送指示部２２とを有している。
【００３２】
図１のデータ受信部５により受信された受信データＤ３は、データデコーダ２０及び再送エントリ取り出し部２１に入力される。データデコーダ２０は、入力データＤ３のデータパタンをテストし、それが再送要求パケットＰ１である場合に再送指示部２２に対しその旨を通知する、すなわち、再送要求パケット受信通知Ｎ２を出力する。また、再送エントリ取り出し部２１は、入力された再送要求パケットＰ１中の再送エントリＥ１を抽出し、再送指示部２２に出力する。
【００３３】
再送指示部２２は、再送要求パケット受信通知Ｎ２と再送エントリＥ１を基に、図１の再送制御部４に対して再送指示Ｉ１を送出する。再送制御部４では、上述したように、再送指示Ｉ１を契機に再送バッファ８からの再送データＤ２の出力を開始する。
【００３４】
次に、図１に示したエラーポイント検出部７について図５を用いて詳細に説明する。図５は図１に示したエラーポイント検出部７の構成を示す図であり、図１と同等部分は同一符号にて示している。
【００３５】
図５において、図１に示したエラーポイント検出部７は、エラー検出部３０と、セレクタ３１と、受信カウンタ３２と、加算器３３とを有している。
【００３６】
図１のデータ受信部５により受信された受信データＤ３は、エラー検出部３０に入力される。エラー検出部３０は、ＥＣＣを基に入力データＤ３に対してエラーの検出を行う。そして、エラー検出部３０は、有効な入力データＤ３（アイドルパターンでないデータ）にエラーが無い場合には加算器３３の出力を選択出力するよう、エラーが有る場合には受信カウンタ３２の出力を選択出力するよう、セレクタ３１を制御する。
【００３７】
セレクタ３１は、エラー検出部３０の制御に従って、受信カウンタ３２あるいは加算器３３の出力のいずれかを選択し、受信カウンタ３２へ出力する。受信カウンタ３２は、エラーを検出することなく正常に受信したデータＤ３の数を計数するカウンタであり、エラー検出部３０がエラーを検出した場合における再送ポイントＥ２となる（この再送ポイントＥ２は、向かい合うＬＳＩにおける再送時の再送バッファ８の再送開始エントリを示す、すなわち、この向かい合うＬＳＩに送出される再送要求パケットＰ１中の再送エントリとなるものである）。
【００３８】
エラー検出部３０は、入力データＤ３にエラーを検出すると、図１の再送要求パケット生成部１０に対しエラー検出通知Ｎ１を出力することにより再送要求パケットＰ１の生成を指示する。なお、エラー検出通知Ｎ１により受信カウンタ３２の出力である再送ポイントＥ２が図１の再送要求パケット生成部１０に通知される。
【００３９】
次に、本発明の実施例によるデータ転送方式の動作について図１〜図５を用いて説明する。ここでは、図２に示したＬＳＩ２００，３００間のデータ転送、特に、ＬＳＩ３００のデータ受信部５により受信されたデータにエラーが検出され、ＬＳＩ２００のデータ送信部３から再送が行われる場合について説明する。
【００４０】
・再送データの書き込み
図２のＬＳＩ２００において、Ｆ／Ｆ１からデータ送信部３にデータＤ１を送出する場合、エラー発生時の再送に備えて再送バッファ８にデータＤ１の書き込みを行う（図１参照）。
【００４１】
図３を用いて説明すると、図２のＬＳＩ２００において、図１のデータ送信部３に出力すべきデータＤ１が有る場合、データ出力指示Ｉ３がアサートされる。データ出力指示Ｉ３がアサートされると、ＷＰ１５が指し示す再送バッファ８の対応するエントリに対してデータＤ１の書き込みが行われると共に、セレクタ１４が加算器１６の出力を選択出力し、ＷＰ１５の値が＋１され、再送バッファ８の書き込みエントリが次エントリに進む。
【００４２】
同様に出力すべきデータＤ１が有ると、ＷＰ１５が指し示す再送バッファ８の対応するエントリに対して順次、データＤ１の書き込みが行われていく。出力すべきデータＤ１が無い場合には、データ出力指示Ｉ３はアサートされず、よって、セレクタ１４はＷＰ１５を選択出力するため、ＷＰ１５の加算は行われず、また、再送バッファ８への書き込みも行われない。
【００４３】
・データ受信
図２のＬＳＩ３００において、データ受信部５により受信された図２のＬＳＩ２００からのデータＤ３が正常である場合、受信カウンタ３２の更新を行う（図１及び５参照）。
【００４４】
図５を用いて説明すると、図２のＬＳＩ３００において、図１のデータ受信部５により受信されたデータＤ３は図１のエラーポイント検出部７内のエラー検出部３０に入力される。エラー検出部３０は、データＤ３にエラーが無い場合、セレクタ３１に対して加算器３３の出力を選択するように指示する。すなわち、入力データＤ３にエラーが発生していない場合は、受信カウンタ３２の出力である再送ポイントＥ２は＋１される。
【００４５】
このようにして更新された図２のＬＳＩ３００における再送ポイントＥ２の値と、図２のＬＳＩ２００において更新されたＷＰ１５（図３参照）の値とは一致しており、再送ポイントＥ２は、再送時の再送開始エントリの情報として図２のＬＳＩ２００において用いられることになる。なお、エラー検出部３０は、有効な入力データＤ３が無い場合（アイドル状態の場合）、セレクタ３１に対して受信カウンタ３２の出力を選択するよう指示するので、再送ポイントＥ２は＋１されない。
【００４６】
・エラー検出
図２のＬＳＩ３００において、データ受信部５により受信された図２のＬＳＩ２００からのデータＤ３にエラーが発生している場合、再送要求パケット発行指示が行われる（図１参照）。
【００４７】
図５を用いて説明すると、図２のＬＳＩ３００において、エラー検出部３０はエラーを検出すると、セレクタ３１に対して受信カウンタ３２の出力を選択するよう指示する。すなわち、受信カウンタ３２の値である再送ポイントＥ２は＋１されない。
【００４８】
上述したように、この再送ポイントＥ２は、図２のＬＳＩ２００の再送バッファ８（図３参照）に格納されているエラー検出データ（図２のＬＳＩ３００のエラー検出部３０によりエラー検出されたデータ）を示している。したがって、この再送ポイントＥ２を再送要求パケットに付与して、図２のＬＳＩ２００に再送要求することにより、エラーが発生したデータから再送を行うことができる。これは、エラー検出部３０が、エラー検出を契機に、受信カウンタ３２の出力である再送ポイントＥ２を、エラー検出通知Ｎ１により図３の再送要求パケット生成部１０に通知することによって行われる。
【００４９】
・再送要求パケット発行
図２のＬＳＩ３００において、再送要求パケット生成部１０にエラー検出通知Ｎ１が入力されると、再送要求パケット生成部１０により再送要求パケットＰ１が生成され、データ送信部３から図２のＬＳＩ２００へ送出される（図１参照）。
【００５０】
図３を用いて説明すると、図２のＬＳＩ３００において、再送要求パケット生成部１０は、エラー検出通知Ｎ１を受信すると、エラー検出通知Ｎ１内に記述された再送ポイントＥ２（図５参照）を再送エントリＥ１として有する再送要求パケットＰ１を作成する。この再送要求パケットＰ１は、図２のＬＳＩ２００の再送要求パケット検出部６（図１参照）が再送要求パケットであると一意に判定し得るデータフォーマットにエンコードされている。例えば、データの所定のフィールドに、そのデータが通常データであるか再送要求パケットであるかを識別するための情報を格納するようにする。これにより、再送要求パケット検出部６が入力データが通常データであるか再送要求パケットであるかを識別することを可能としている。
【００５１】
また、再送要求パケット生成部１０は、再送要求パケットＰ１の生成出力と共に、セレクタ制御部１１が図１のセレクタ２に再送要求パケットＰ１を選択出力させるための選択指示Ｉ２を出力するよう、セレクタ制御部１１を制御する。これにより、図２のＬＳＩ３００において、再送要求パケットＰ１が図１のセレクタ２を介して図１のデータ送信部３に入力され、図２のＬＳＩ２００へ出力される。
【００５２】
・再送要求パケット受信
図２のＬＳＩ２００において、再送要求パケットＰ１がデータ受信部５により受信されると、再送要求パケット検出部６から再送制御部４に対して再送の開始を指示する（図１参照）。
【００５３】
図４を用いて説明すると、図２のＬＳＩ２００において、データデコーダ２０は、入力データＤ３が再送要求パケットであることを検出すると、再送指示部２２に再送要求パケット受信通知Ｎ２を出力すると同時に、再送エントリ取り出し部２１により再送要求パケット内に記述された再送エントリＥ１の抽出を行う。再送指示部２２は、再送要求パケット受信通知Ｎ２の入力に応答して、再送エントリＥ１の情報と共に、図１の再送制御部４に対し再送指示Ｉ１を出力して再送の開始を指示する。
【００５４】
・再送データの出力
図２のＬＳＩ２００において、再送制御部４が再送指示Ｉ１を受信すると、再送要求パケットに記述されていた再送エントリＥ１から再送バッファ８内のデータを読み出し、この読み出された再送データＤ２をデータ送信部３から出力する（図１参照）。
【００５５】
図３を用いて説明すると、図２のＬＳＩ２００において、セレクタ１７は、再送指示Ｉ１が入力されると、再送指示Ｉ１に記述された再送エントリＥ１を選択出力する。この値が、ＲＰ１８に書き込まれ、再送バッファ８の読み出しエントリとなる。この読み出しエントリは、上述したように、図２のＬＳＩ３００のエラーポイント検出部７により検出されたエラーデータを指し示している。
【００５６】
また、再送指示Ｉ１はセレクタ制御部１１にも入力され、セレクタ制御部１１は、再送指示Ｉ１に応答して、図１のセレクタ２が再送データＤ２を選択するように選択指示Ｉ２を用いてセレクタ２を制御する。再送指示Ｉ１が入力された次のクロックサイクルから、セレクタ１７は加算器１９の出力を選択出力し、これにより、再送バッファ８からデータが出力される度にＲＰ１８が＋１ずつ加算され、再送バッファ８の読み出しエントリが進んでいく。
【００５７】
ＷＰ１５とＲＰ１８が一致すると再送バッファ８内に未送出の再送データが無いことを示すので、セレクタ制御部１１は、ＷＰ１５とＲＰ１８が一致すると、図１のセレクタ２がＦ／Ｆ１からのデータＤ１を選択するよう選択指示Ｉ２を用いてセレクタ２を制御する。なお、再送バッファ８から出力されたデータＤ２は、Ｆ／Ｆ１２、エラー訂正部９、Ｆ／Ｆ１３、セレクタ２を介して、図１のデータ送信部３から図２のＬＳＩ３００へ順次出力されていく。このとき、エラー訂正部９により、データＤ２に対してエラー検出、エラー訂正が行われる。
【００５８】
・エラーデータの出力と訂正
図２のＬＳＩ２００のＦ／Ｆ１から出力されたデータＤ１にエラーが発生している場合、このエラーデータはそのエラーが訂正されることなくそのままデータ送信部３から出力され、図２のＬＳＩ３００のデータ受信部５に受信され、図２のＬＳＩ３００のエラー検出部３０によりエラーが検出される（図１及び５参照）。その後の動作は、前述したとおりであり、このエラーデータ（ただし、エラー訂正部９によりエラーの訂正がなされる）の再送が行われる。
【００５９】
図６に示した従来のＬＳＩでは、通常のデータ転送パスにエラー訂正論理を設けていたが、本発明の実施例では、上述のように、論理ゲート段数が深くなることによりＬＳＩの動作速度の向上を妨げる一要因である、エラーの検出／訂正論理を再送のパス（Ｆ／Ｆ１〜再送バッファ８〜データ送信部３のパス）に設け、通常のデータ転送時に発生するデータのエラーは受信側で検出し、この受信側からの再送要求に応答して再送を行うことにより、通常のデータパス（再送バッファ８を介さないＦ／Ｆ１〜データ送信部３のパス）の論理ゲート段数を深くすることなくエラー訂正が可能なデータ転送を行うことができる。また、再送要求に専用の信号線を用いる必要がないので、ＬＳＩ間の配線本数を削減することができる。
【００６０】
なお、再送要求に専用の信号線を用いてもよいことは勿論である。また、本発明の実施例では、ＬＳＩ内部でのエラー訂正符号（ＥＣＣ）と、ＬＳＩ間の転送に用いられるＥＣＣとが同じものとして記述されているが異なっていてもよい。この場合は、図１のＦ／Ｆ１の出力に対してＥＣＣ生成部を設ければよいが、このＥＣＣ生成部において、入力データからＥＣＣの生成をそのまま行うと、入力データに誤りがあったとしても正常なＥＣＣが生成される。そこで、ＥＣＣ生成部において、入力データ中のＬＳＩ内部で既に付加されているＥＣＣを基にエラー検出を行い、エラー検出時は、生成したＥＣＣにＥＸＯＲ演算する等して、ＥＣＣをエラー状態に表示させる必要がある。
【００６１】
【発明の効果】
本発明による効果は、通常のデータ転送時の性能低下を伴うことなくエラーデータのエラー訂正を行うことができることである。その理由は、受信側においてエラーが検出されたとき、そのデータの再送を可能にする再送制御手段を設け、再送制御手段のエラー検出／訂正手段が再送時に再送データに対してエラー検出／訂正を行うようにしており、これにより、通常のデータ転送時にエラー検出／訂正を行わずとも、通常のデータ転送時に発生したエラーの訂正が可能となるためである。
【図面の簡単な説明】
【図１】本発明の実施例によるデータ転送方式が適用されるＬＳＩの構成を示す図である。
【図２】本発明の実施例によるデータ転送方式が適用されるＬＳＩ間の接続を示す図である。
【図３】図１の再送制御部４の構成を示す図である。
【図４】図１の再送要求パケット検出部６の構成を示す図である。
【図５】図１のエラーポイント検出部７の構成を示す図である。
【図６】従来のＬＳＩの構成を示す図である。
【符号の説明】
１，１２，１３    Ｆ／Ｆ
２，１４，１７，３１    セレクタ
３    データ送信部
４    再送制御部
５    データ受信部
６    再送要求パケット検出部
７    エラーポイント検出部
８    再送バッファ
９    エラー訂正部
１０    再送要求パケット生成部
１１    セレクタ制御部
１５    ライトポインタ
１６，１９，３３    加算器
１８    リードポインタ
２０    データデコーダ
２１    再送エントリ取り出し部
２２    再送指示部
３０    エラー検出部
３２    受信カウンタ
【図１】
0004239482.tif 000002
【図２】
0004239482.tif 000003
【図３】
0004239482.tif 000004
【図４】
0004239482.tif 000005
【図５】
0004239482.tif 000006
【図６】
0004239482.tif 000007