(57)【要約】【課題】  リンク調整に起因するデータ転送効率の低下を抑制することができるデータ転送システムを提供する。【解決手段】  タイマカウンタ５２の値が”０”になった場合には、リンク調整検出回路５４は、そのことを検出して、リンク調整中フラグレジスタ５５に”１”をセットする。すなわち、リンク調整を指示する。リンク切断判定回路６２は、エラー発生数に応じてタイマ設定値選択回路５０が扱うタイマ設定値を調整するための信号を生成して、タイマ設定値選択回路５０に出力する。以後、タイマ設定値選択回路５０は、リンク切断判定回路６２が出力した信号が示すタイマ設定値を選択する。【選択図】  図２
2006178866.tif 000002
【特許請求の範囲】
【請求項１】
複数の通信ノード間に複数のリンクが存在し、リンクを介して通信ノード間でデータ転送が行われるデータ転送システムであって、所定の時期にリンク調整を行うデータ転送システムにおいて、
通信ノードは、
他の通信ノードから受信したデータのエラーを検出するエラー検出手段と、
前記エラー検出手段が検出したエラーの発生数を集計するエラー集計手段と、
前記エラー集計手段が集計したエラーの発生数にもとづいて、リンク調整の実行間隔を決定するリンク調整間隔設定手段と
を備えたことを特徴とするデータ転送システム。
【請求項２】
リンク調整間隔設定手段は、所定時間におけるリンクを転送されたデータのエラーの発生数が少ないほどリンク調整の実行間隔を長くし、エラーの発生数が多いほどリンク調整の実行間隔を短くする
請求項１記載のデータ転送システム。
【請求項３】
他の通信ノードとの間で送受信されるデータは、当該フレームデータの順序保証が不要であるか否かを示すフィールドを含むフレームデータであり、
リンク調整の実行時に、転送されていたフレームデータが、順序保証が不要であることを示すフィールドを含むフレームデータである場合には、そのフレームデータを他のリンクを介して転送するように転送経路を切り換える調整時リンク再設定制御回路を備えた
請求項１または請求項２記載のデータ転送システム。
【請求項４】
所定の一定時間におけるリンクを転送されたデータのエラーの発生数が規定数を越えた場合に、そのリンクでのデータ転送を止め、そのデータを他のリンクを介して転送するように転送経路を切り換えるエラー時リンク再設定制御回路を備えた
請求項１から請求項３のうちのいずれか１項に記載のデータ転送システム。
【請求項５】
複数の通信ノード間に複数のリンクが存在し、リンクを介して通信ノード間でデータ転送を行うデータ転送方法であって、所定の時期にリンク調整を行うデータ転送方法において、
他の通信ノードから受信したデータのエラーを検出し、
所定時間毎に検出したエラーの発生数を集計し、
集計したエラーの発生数が少ないほどリンク調整の実行間隔を長くし、エラーの発生数が多いほどリンク調整の実行間隔を短くする
ことを特徴とするデータ転送方法。
【請求項６】
あらかじめ所定時間あたりのエラー発生数を複数段階に区分して、それぞれに対応したリンク調整の実行間隔を定義し、
前記複数段階のうちで、集計したエラーの発生数が属する段階に対応した実行間隔でリンク調整を実行する
請求項５記載のデータ転送方法。
【請求項７】
他のクロスバＬＳＩまたはプロセッサとの間でデータ転送を行うクロスバＬＳＩにおいて、
他のクロスバＬＳＩまたはプロセッサから受信したデータのエラーを検出するエラー検出手段と、
前記エラー検出手段が検出したエラーの発生数を集計するエラー集計手段と、
前記エラー集計手段が集計したエラーの発生数にもとづいて、リンク調整の実行間隔を決定するリンク調整間隔設定手段と
を備えたことを特徴とするクロスバＬＳＩ。
【請求項８】
他のクロスバＬＳＩまたはプロセッサとの間で送受信されるデータは、当該フレームデータの順序保証が不要であるか否かを示すフィールドを含むフレームデータであり、
リンク調整の実行時に、転送されていたフレームデータが、順序保証が不要であることを示すフィールドを含むフレームデータである場合には、そのフレームデータを他のリンクを介して転送するように転送経路を切り換える調整時リンク再設定制御回路を備えた
請求項７記載のクロスバＬＳＩ。
【請求項９】
所定の一定時間におけるリンクを転送されたデータのエラーの発生数が規定数を越えた場合に、そのリンクでのデータ転送を止め、そのデータを他のリンクを介して転送するように転送経路を切り換えるエラー時リンク再設定制御回路を備えた
請求項７または請求項８記載のクロスバＬＳＩ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の通信ノード間に複数のリンクが存在するネットワークシステムにおいてリンクを介して通信ノード間でデータ転送が行われるデータ転送システムおよびデータ転送方法、ならびに通信ノードの間のデータ転送を中継するクロスバＬＳＩに関する。
【背景技術】
【０００２】
サーバ装置等において、複数のプロセッサを搭載する場合に、各プロセッサをクロスバＬＳＩで接続する手法が用いられることがある。クロスバＬＳＩには、例えば、送信元の通信ノードであるプロセッサから送信先の通信ノードであるプロセッサへのデータの転送経路を設定する交換処理を行う交換処理部とリンク調整の制御を行うリンク調整部とを有するクロスバ部が搭載される（例えば、特許文献１参照。）。また、クロスバＬＳＩには、プロセッサから受信したデータをクロスバ部に出力するとともに、クロスバ部から入力するデータを送信するポート部が搭載される。クロスバ部は、ポート部における入力ポートが受信して出力したデータを、他のプロセッサまたはクロスバＬＳＩに送信するために、他のポート部における出力ポートに出力する。
【０００３】
図６は、特許文献１に記載されたクロスバＬＳＩの構成を示すブロック図である。図６に示す構成では、入力ポート９１Ａと出力ポート９１Ｂとを含むポート部、入力ポート９２Ａと出力ポート９２Ｂとを含むポート部、入力ポート９３Ａと出力ポート９３Ｂとを含むポート部、入力ポート９４Ａと出力ポート９４Ｂとを含むポート部、およびクロスバ部９０で、１つのクロスバＬＳＩが構成されている。
【０００４】
プロセッサ間のデータ転送を高速化するために、データ転送速度は高速であることが望ましい。データ転送速度を高速化した場合には、温度変化やスキューの影響を考慮して、一般に、ポート部において、定期的に調整信号を用いたリンク調整を実行して、各リンクを同調させる。
【０００５】
例えば、特許文献２には、リンクを同調させる場合に、テストパターンを生成して、テストパターンを送受信することによって、出力ＡＣ電流レベルや出力ＤＣレベル等を調整する技術が記載されている。すなわち、テストパターンを送受信することによってリンクの自動調整が実行される。
【０００６】
【特許文献１】特開２００４−１１０５０７号公報（段落０００９−００１１、図５）
【特許文献２】特開２０００−２３６３２３号公報（段落０００８−００１１、図２）
【発明の開示】
【発明が解決しようとする課題】
【０００７】
リンク調整が実行されているときには、ポート部を介するプロセッサ間のデータ転送を行うことができないので、スループット（データ転送効率）を低下させないようにするために、調整動作の実行時間は短いことが好ましい。
【０００８】
複数の通信ノードを接続するネットワークシステムでは、通信ノード間がケーブルで接続されているのかパッケージ（基板）上の配線で接続されているのかの違いなどに起因して、また、データ転送を中継するＬＳＩを構成する素材の違い等に起因して各リンクの特性が異なってくる。すなわち、集積回路（ＩＣ）、ＩＣがさらに集積化されたＬＳＩ、ＬＳＩを搭載するパッケージ、パッケージ上の配線パターン、ＬＳＩ間を接続するケーブルの材質、ケーブル長、ドライバ、レシーバ、その他の種々の要因に影響によって、各リンクの特性が異なってくる。
【０００９】
しかし、従来のリンク調整方法では、リンク調整は一定の時間間隔で実施されている。そのために、調整が不要であるリンクについてもリンク調整がなされる。リンク調整がなされているときには、そのリンクでは本来のデータ転送を行うことができないので、データ転送効率（スループット）の低下を招く。また、一度エラーが検出されると、エラーを検出したリンクでのデータ転送を中断し、そのリンクの調整処理、初期化処理および診断処理等が完了するまでネットワークシステムにおいてデータ転送を停止するように構成されることもあるが、そのような構成では、複数のリンクで同時に調整処理、初期化処理および診断処理がなされている訳ではなく、それらの処理がなされていないリンクがあるにも関わらずネットワークシステムにおいてデータ転送が停止されることになり、さらにデータ転送効率の低下を招く。
【００１０】
そこで、本発明は、リンク調整に起因するデータ転送効率の低下を抑制することができるデータ転送システム、データ転送方法およびクロスバＬＳＩを提供することを目的とする。
【課題を解決するための手段】
【００１１】
本発明によるデータ転送システムは、通信ノードが、他の通信ノードから受信したデータのエラーを検出するエラー検出手段（例えば、エラー検出回路５８で実現される。）と、エラー検出手段が検出したエラーの発生数を集計するエラー集計手段（例えば、加算器５９、加算結果格納部６０、エラーサンプリング回路６１で実現される。）と、エラー集計手段が集計したエラーの発生数にもとづいて、リンク調整の実行間隔を決定するリンク調整間隔設定手段（例えば、タイマ設定値選択回路５０、−１減算回路５１、タイマカウンタ５２、リンク調整検出回路５４で実現される。）とを備えたことを特徴とする。
【００１２】
リンク調整間隔設定手段は、所定時間におけるリンクを転送されたデータのエラーの発生数が少ないほどリンク調整の実行間隔を長くし、エラーの発生数が多いほどリンク調整の実行間隔を短くすることが好ましい。
【００１３】
他の通信ノードとの間で送受信されるデータが、当該フレームデータの順序保証が不要であるか否かを示すフィールドを含むフレームデータである場合に、リンク調整の実行時に、転送されていたフレームデータが、順序保証が不要であることを示すフィールドを含むフレームデータである場合には、そのフレームデータを他のリンクを介して転送するように転送経路を切り換える調整時リンク再設定制御回路（例えば、クロスバ部１８，２８内のリンク再設定制御回路で実現される。）を備えていてもよい。
【００１４】
所定の一定時間におけるリンクを転送されたデータのエラーの発生数が規定数を越えた場合に、そのリンクでのデータ転送を止め、そのデータを他のリンクを介して転送するように転送経路を切り換えるエラー時リンク再設定制御回路（例えば、リンク制御部５内の転送抑止回路６３およびクロスバ部１８，２８内のリンク再設定制御回路で実現される。）を備えていてもよい。
【００１５】
本発明によるデータ転送方法は、他の通信ノードから受信したデータのエラーを検出し、所定時間毎に検出したエラーの発生数を集計し、集計したエラーの発生数が少ないほどリンク調整の実行間隔を長くし、エラーの発生数が多いほどリンク調整の実行間隔を短くすることを特徴とする。
【００１６】
あらかじめ所定時間あたりのエラー発生数を複数段階に区分して、それぞれに対応したリンク調整の実行間隔を定義し、複数段階のうちで、集計したエラーの発生数が属する段階に対応した実行間隔でリンク調整を実行するようにしてもよい。
【００１７】
本発明によるクロスバＬＳＩは、他のクロスバＬＳＩまたはプロセッサから受信したデータのエラーを検出するエラー検出手段と、エラー検出手段が検出したエラーの発生数を集計するエラー集計手段と、エラー集計手段が集計したエラーの発生数にもとづいて、リンク調整の実行間隔を決定するリンク調整間隔設定手段とを備えたことを特徴とする。
【００１８】
他のクロスバＬＳＩまたはプロセッサとの間で送受信されるデータが、当該フレームデータの順序保証が不要であるか否かを示すフィールドを含むフレームデータである場合に、リンク調整の実行時に、転送されていたフレームデータが、順序保証が不要であることを示すフィールドを含むフレームデータである場合には、そのフレームデータを他のリンクを介して転送するように転送経路を切り換える調整時リンク再設定制御回路を備えていてもよい。
【００１９】
所定の一定時間におけるリンクを転送されたデータのエラーの発生数が規定数を越えた場合に、そのリンクでのデータ転送を止め、そのデータを他のリンクを介して転送するように転送経路を切り換えるエラー時リンク再設定制御回路を備えていてもよい。
【発明の効果】
【００２０】
本発明によれば、エラー発生頻度をもとにそれぞれのリンクに最適なリンク調整間隔を自動的に設定することができ、データ転送システムのスループットを向上させることができる。
【００２１】
また、順序保証が不要なデータフレームを、リンク調整（初期化および再送処理中を含む。）でも空きリンクを使用して転送可能にすることによって、調整対象のリンク以外で使用可能なリンクがある場合に他の空きリンクを介してデータフレームが転送可能になり、高効率なデータ転送が可能になる。
【００２２】
さらに、エラー発生頻度に応じて自動的にリンク切断およびリンク切替を行うことによって、エラー発生頻度に応じてリンクを切断し他のリンクを使用してフレームデータの転送を行うことができ、あるリンクの状態が悪いことに起因してシステム性能全体を低下させてしまうことを防止できる。
【発明を実施するための最良の形態】
【００２３】
以下、本発明の実施の形態を図面を参照して説明する。
図１は、本発明によるデータ転送システムの一構成例を示すブロック図である。図１に示すシステムでは、信号線１００，１０１，１０２，１０３が、通信ノードとしての装置１と他の通信ノード（図示せず）との間に接続されている。信号線１０４，１０５，１０６，１０７が、装置１と通信ノードとしての装置２との間に接続されている。信号線１０８，１０９，１１０，１１１が、装置２と他の通信ノード（図示せず）との間に接続されている。
【００２４】
通信ノードとしての装置１，２は、他の通信ノードが送信したデータを、送信先である通信ノードに宛てて中継する交換機能を有する。ここでは、装置１，２はクロスバＬＳＩであり、他の通信ノードがプロセッサである場合を例にする。すなわち、並列処理を行うマルチプロセッサ間のデータ転送を行うデータ転送システムを例にする。なお、ここでは、装置１の先に通信ノードとしてのプロセッサが接続され、装置２の先に通信ノードとしてのプロセッサが接続されている場合を例にするが、装置１，２の先には、通信ノードとして、装置１，２と同様の構成の装置が接続されていてもよい。以下、装置１の先に接続されている通信ノードおよび装置２の先に接続されている通信ノードを、それぞれ、接続先装置ということがある。
【００２５】
装置１において、データ交換処理を行うクロスバ部１８とそれぞれの信号線１００，１０１，１０２，１０３との間に、リンク制御部１０，１１，１２，１３が設けられている。また、クロスバ部１８とそれぞれの信号線１０４，１０５，１０６，１０７との間に、リンク制御部１４，１５，１６，１７が設けられている。装置２において、データ交換処理を行うクロスバ部２８とそれぞれの信号線１０４，１０５，１０６，１０７との間に、リンク制御部２０，２１，２２，２３が設けられている。また、クロスバ部２８とそれぞれの信号線１０８，１０９，１１０，１１１との間に、リンク制御部２４，２５，２６，２７が設けられている。なお、クロスバ部１８の構成とクロスバ部２８の構成は同じである。
【００２６】
この実施の形態では、２つのリンク制御部とそれらの間に接続されている信号線とでリンクが形成されているとする。例えば、リンク制御部１４、信号線１０４およびリンク制御部２０で、１つのリンクが形成されている。
【００２７】
図１に示す各リンク制御部１０〜１７，２０〜２７の構成は同じである。図２は、図１に示すリンク制御部１０〜１７，２０〜２７の構成例を示すブロック図である。図２では、リンク制御部１０〜１７，２０〜２７を、リンク制御部５として示す。リンク制御部５は、信号線２０５にデータ（シリアルデータ）を出力するとともに、信号線２０６からデータ（シリアルデータ）を入力する送受信制御ユニット（ポート部）７０を有する。信号線２０５，２０６は、図１における信号線１００〜１１１のいずれかに相当する。例えば、リンク制御部５を図１に示すリンク制御部１０と見なすと、信号線２０５，２０６は、信号線１００に相当する。
【００２８】
図２に示す例では、送受信制御ユニット７０は、データをクロック信号に同期させる同期化回路７１、ＰＬＬ調整を行うとともに並列データ間のばらつきを吸収するＰＬＬ調整／デスキュー回路７２、およびパラレルデータをシリアルデータに変換して出力し、入力されたシリアルデータをパラレルデータに変換するシリアルパラレル変換回路７３を有する。送受信制御ユニット７０は、装置内部（図２に示す例では具体的には選択回路５７）から入力されたデータを信号線２０５を介して接続先装置に送信し、接続先装置から信号線２０６を介して受信したデータを装置内部（図２に示す例では具体的には転送抑止回路６３）に出力する。
【００２９】
また、リンク制御部５は、リンク調整間隔を規定する時間を選択するタイマ設定値選択回路５０、タイマ設定値選択回路５０が選択した時間に応じた値（タイマ設定値）を初期値として計時を行うタイマカウンタ５２、およびタイマカウンタ５２に設定されている値をクロック信号に同期して１ずつ減算する−１減算回路５１を含む。タイマカウンタ５２は、エラー検出回路５８がエラー検出したとき、またはリンク調整検出回路５４がリンク調整を行うことに決定したときに、タイマ設定値選択回路５０が選択したタイマ設定値を初期値としてロードする。
【００３０】
図３には、タイマ設定値選択回路５０が選択するタイマ設定値の例が示されている。タイマ設定値選択回路５０は、リンク調整を実行する時間の間隔（リンク調整間隔）を選択する。具体的には、タイマ設定値選択回路５０は、一定時間あたりに発生したエラー数をサンプリングしているエラーサンプリング回路６１によるエラー数にもとづいてリンク切断判定回路６２が出力するエラー数に応じてタイマ設定値を選択する。例えば、エラー数が規定値（リンクの性能に見合った初期値）より多い場合にはリンク調整間隔を一定の割合（例えば、−１０％、−２０％、−３０％、−ｎ％）で短縮し、規定値よりエラー数が少ない場合には、リンク調整間隔を一定の割合（例えば、＋１０％、＋２０％、＋３０％、＋ｎ％）で延長する。
【００３１】
また、リンク制御部５は、リンク調整を行うか否かを検出するリンク調整検出回路５４を含む。リンク調整検出回路５４は、タイマカウンタ５２がタイムアップしたこと、すなわちタイマカウンタ５２に設定されている値が”１”から”０”になったこと、または、エラー検出回路５８がエラー検出したことをもって、リンク調整を行うことに決定し、リンク調整中フラグレジスタ５５に、リンク調整中フラグとしての”１”をセットする。リンク調整中フラグの状態は、信号線２００を介してクロスバ部１８にも出力される。なお、以下の説明では、リンク制御部５は、図１に示す装置１に設けられているものとする。なお、リンク制御部５が図１に示す装置２に設けられているものである場合には、リンク調整中フラグの状態はクロスバ部２８に出力されることになる。
【００３２】
また、リンク制御部５は、信号線２０１を介してクロスバ部１８側から入力したフレームデータと、調整パータン出力回路５６が出力するデータとのうちのいずれかを選択して送受信制御ユニット７０に出力する選択回路５７を含む。調整パータン出力回路５６は、リンク切断判定回路６２から切断指示が出力されているときにはリンク切断メッセージを出力し、リンク調整中フラグレジスタ５５に”１”がセットされているときには、リンク調整パターンを出力する。選択回路５７は、リンク調整中フラグレジスタ５５に”１”がセットされているとき、またはリンク切断判定回路６２から切断指示が出力されているときには、調整パータン出力回路５６が出力するデータを選択する。なお、リンク切断判定回路６２からの切断指示は、信号線２０２を介してクロスバ部１８にも出力される。
【００３３】
さらに、リンク制御部５は、信号線２０６を介して接続先装置から受信し送受信制御ユニット７０を経由したフレームデータのエラー検出を行うエラー検出回路５８、エラー検出回路５８がエラーを検出したときに検出されたエラーの数と加算結果格納部６０に格納されているエラー数（累積数）とを加算して加算結果を加算結果格納部６０に格納する加算器５９、および信号線２０４を介してクロスバ部１８から入力されたセットパルスによって加算結果格納部６０に格納されているエラー数（エラー発生数）をサンプリングするエラーサンプリング回路６１を含む。リンク切断判定回路６２は、エラーサンプリング回路６１のサンプリング結果であるエラー数を、リンクを切断するか否か判定するためのしきい値と比較し、エラー数がしきい値を越えていれば、切断指示を出力する。なお、リンク切断判定回路６２には、あらかじめ、診断プロセッサ等から、リンクを切断するか否か判定するためのしきい値が設定されている。
【００３４】
また、接続先装置から信号線２０６を介して受信し送受信制御ユニット７０を経由したフレームデータは、さらに転送抑止回路６３を経由して、信号線２０３を介してクロスバ部１８側に出力される。転送抑止回路６３は、エラー検出回路５８がエラーを検出したときに、送受信制御ユニット７０からのフレームデータをクロスバ部１８側に出力しないようにする。
【００３５】
なお、クロスバ部１８，２８には、交換機能を実行する回路の他に、少なくとも、信号線を２０４介して定期的にセットパルスを出力する回路と、リンク切断メッセージを他の装置から受信したときに、リンクの切断を認識して、切断されたリンクで転送されていたフレームデータを、他のリンクを介して転送するように転送経路を切り換えるリンク再設定制御回路（エラー時リンク再設定制御回路）とが含まれている。また、リンク調整が開始されたときに、転送されていたフレームデータが順序保証が不要であるフレームデータである場合には、そのフレームデータを、他のリンクを介して転送するように転送経路を切り換えるリンク再設定制御回路（調整時リンク再設定制御回路）が含まれている。
【００３６】
次に、図４のフローチャートおよび図５の説明図を参照して動作について説明する。図５には、この実施の形態において用いられるフレームデータのフレーム構成例が示されている。
【００３７】
装置１と装置２との間のデータ転送が可能な状態になると、例えば、装置１と装置２とを含むシステムが立ち上がると、リンク制御部１０〜１７、２０〜２７において、まず、タイマ設定値選択回路５０は、リンク調整間隔を規定する値であるタイマ設定値（一例として図３に示すデフォルト値である５０００（１３８８ｈ））を選択する。そして、そのタイマ設定値がタイマカウンタ５２にセットされる（ステップＳ１）。−１減算回路５１は、タイマカウンタ５２に設定されている値をクロック信号に同期して１ずつ減算する。すなわち、タイマカウンタ５２の設定値は、クロック信号に同期して１ずつ減算される。
【００３８】
エラー検出回路５８は、接続先装置から信号線２０６を介して受信されたフレームデータのエラーの有無をチェックする（ステップＳ２）。エラー検出回路５８がエラーを検出しなければ、転送抑止回路６３は、フレームデータを信号線２０３を介してクロスバ部１８に出力する。クロスバ部１８は、フレームデータを、接続先装置（送信先装置）に至る信号線に接続されているタイマ制御部を介して接続先装置に転送する。
【００３９】
タイマカウンタ５２には、論理和回路（ＯＲ回路）５３の出力が”０”で、かつ、タイマカウンタ５２の値が”０”でない限り、クロック信号に同期して−１減算回路５１で減算された値が格納される。
【００４０】
タイマカウンタ５２の値が”０”になっていない場合には、フレームデータの転送が継続される（ステップＳ３，Ｓ１４）。タイマカウンタ５２の値が”０”になった場合、すなわちタイマ設定値に相当する時間が経過した場合には（ステップＳ３）、タイマカウンタ５２は、タイマ設定値選択回路５０が出力する値を再びセットする。同時に、リンク調整検出回路５４は、タイマカウンタ５２の値が”０”になったことを検出して、リンク調整中フラグレジスタ５５に”１”をセットする。すなわち、リンク調整を指示する。調整パターン出力回路５６は、リンク調整中フラグレジスタ５５に”１”がセットされているときには、リンク調整パターンを生成して出力する（ステップＳ４）。リンク調整検出回路５４は、リンク調整を指示する回路でありタイマカウンタ５２の値が”１”から”０”になった場合、またはエラー検出回路５８がエラー検出したときにリンク調整中フラグを”１”にする。
【００４１】
リンク調整中フラグレジスタ５５に設定されるリンク調整中フラグは、リンク調整検出回路５４によって”１”にセットされるが、リンク調整パターンを用いたリンク調整が実行完了するまでセットされ続け、調整パターン出力回路５６が最終調整パターンを送信したときに”０”にリセットされる（ステップＳ５）。選択回路５７は、リンク調整フラグが”０”である場合には、信号線２０１を介して受信したデータフレームを送受信ユニット７０を介して接続先装置に送信し、リンク調整フラグが”１”である場合には、調整パターン出力回路５６が出力するリンク調整パターンを選択する。
【００４２】
なお、リンク調整パターンは、送受信制御ユニット７０を介して接続先装置に送信される。接続先装置におけるリンク制御部の送受信制御ユニット７０は、リンク調整パターンを受信すると、例えば特開２００４−１１０５０７号公報に記載されているようにリンク調整を実行する。調整パターン出力回路５６は、リンク調整時に、リンク調整パターンとして、例えば、００００００００〜０Ｚ、０１０１０１０１〜１Ｚ、００１１００１１〜１Ｚ等の固定パターンを送信する。
【００４３】
また、調整パターン出力回路５６は、リンク切断判定回路６２からリンクの切断の実行を意味する切断指示を入力した場合には、リンク切断メッセージを出力する。リンク切断メッセージは、送受信制御ユニット７０を介して接続先装置に送信されるが、接続先装置において、クロスバ部２８は、リンク切断メッセージの受信を検出すると、そのリンクを切断する。
【００４４】
また、ステップＳ４，Ｓ５でリンク調整が実行されているときに、クロスバ部１８は、後続フレームデータのアウト・オブ・オーダトランザクションフィールドをチェックする（ステップＳ６）。
【００４５】
図５は、この実施の形態で使用されるフレームデータの一例を示す。第１フレームにおいてＯＯＴＦがアウト・オブ・オーダトランザクションフィールドを示し、このフィールドが”０”の場合は順序保証を必要とするフレームデータであることを示し、”１”の場合は順序保証が不要である（後に発生したフレームデータを先に転送してもよい）ことを示す。フレームデータは、第１フレームからデータ長に応じた第ｎフレームまでを１つの命令（またはパケット）として定義される。
【００４６】
クロスバ部１８は、アウト・オブ・オーダトランザクションフィールドが”０”である場合には、順序保証が必要であるフレームデータであると判断し、追い越し禁止対象の命令になることから、リンク調整中（初期化、診断、再送処理中を含む）に信号線２０１を介するフレームデータの転送を抑止する。アウト・オブ・オーダトランザクションフィールドが”１”である場合には、命令の順序保証は不要であることから、クロスバ部１８は、他の複数のリンクからデータ転送可能なリンクを判定して、ＯＯＴＦ＝１のフレームデータの転送経路をデータ転送可能なリンクに切り替え、データ転送を継続する（ステップＳ７）。
【００４７】
ステップＳ２においてエラー検出回路５８がエラーを検出した場合には、転送抑止回路６３は、エラー検出されたデータを無効化する。すなわち、データ転送させないようにする。エラー検出回路５８は、信号線２０６を介して接続先装置から受信したデータについてＥＣＣチェックまたはＣＲＣチェック等を実施する。そして、チェックにもとづいてエラーを検出した場合には、エラー数を加算する加算器５９と、エラー検出されたデータの転送を中断する転送抑止回路６３と、エラー検出に起因してリンク調整を指示するリンク調整検出回路５４とに、エラー検出の通知を示す”１”を出力する。リンク調整検出回路５４は、エラー検出回路５８からエラー検出した旨の通知を受けたら、ステップＳ４，Ｓ５の場合と同様に、リンクの初期化／調整を実行させる。その後、再送シーケンスが実行される。
【００４８】
加算器５９は、加算結果格納部６０とエラー検出回路５８の出力とを加算し、加算値を、加算結果格納部６０に格納する。エラーサンプリング回路６１は、信号線２０４を介してクロスバ部１８が出力するセットパルスを入力すると、加算結果格納部６０に格納されているエラー数をサンプリングしておく（ステップ９）。なお、クロスバ部１８は、例えば、１時間毎に１回セットパルスを出力する。従って、エラーサンプリング回路６１は、一定時間内に発生したエラー数を定期的にサンプリングすることになる。この一定時間は、例えば診断プロセッサ等によって任意に設定可能である。
【００４９】
リンク切断判定回路６２は、エラーサンプリング回路６１が出力する信号すなわち一定時間内に発生したエラー数を示す信号によって、一定時間内におけるエラー発生数があらかじめ規定されているエラー発生数を越えたと判断した場合に、リンク切断の決定を行って切断指示を出力する回路である。なお、診断プロセッサ等から、あらかじめ規定されているエラー発生数として、システム構成等にもとづいた任意の値を設定可能である。リンク切断判定回路６２がリンク切断の決定を行った場合に、リンク切断判定回路６２は、切断指示を、信号線２０２を介してクロスバ部１８にも出力する。
【００５０】
クロスバ部１８は、切断指示に応じて、他のリンクを使用してデータ転送をするように切り替える。また、調整パターン出力回路５６に切断指示が出力され、調整パターン出力回路５６は、リンク切断メッセージを生成して出力する（ステップＳ１１）。選択回路５７は、リンク切断判定回路６２から切断指示が出力されているときには、調整パータン出力回路５６が出力するデータを選択する。従って、リンク切断メッセージは、選択回路５７を介して送受信制御部７０に出力され、さらに、信号線２０５を介して接続先装置に送信され、接続先装置においてもリンク切断処理がなされる（ステップＳ１２）。
【００５１】
ステップＳ１０で、リンク切断判定回路６２が、エラー発生数があらかじめ規定されているエラー発生数を越えていないと判断した場合には、エラー発生数に応じて、タイマ設定値選択回路５０が扱うタイマ設定値を調整するための信号を生成して（図３参照）、タイマ設定値選択回路５０に出力する。以後、タイマ設定値選択回路５０は、リンク切断判定回路６２が出力した信号が示すタイマ設定値を選択する（ステップＳ１３）。
【００５２】
図３に示す例では、一定時間あたりのエラー発生数を０から６以上までに区分して、それぞれに対応してリンク調整間隔を選択するコード（図３ではSelect）が定義されている。すなわち、あらかじめ所定時間あたりのエラー発生数を複数段階に区分して、それぞれに対応したリンク調整の実行間隔が定義されている。そして。エラー発生数に応じたコードに対応したタイマ設定値を調整するための信号が、タイマ設定値選択回路５０に出力される。エラー発生数に応じて適切なリンク調整間隔の時間がタイマカウンタ５２にセットされることになる。すなわち、複数段階のうちで、集計したエラーの発生数が属する段階に対応した実行間隔でリンク調整が実行される。なお、それぞれのリンク制御部１０〜１７、２０〜２７において、それぞれ異なる区分を設定可能であるようにしてもよい。
【００５３】
以上に説明したように、この実施の形態では、それぞれのリンク特性（エラー発生頻度）に応じてリンク調整間隔を自動的に設定する手段を設けたので、エラー発生頻度をもとにそれぞれのリンクに最適なリンク調整間隔を自動的に設定することができ、クロスバＬＳＩのスループットを向上させることができる。
【００５４】
また、データフレームにＯＯＴＦ（アウト・オブ・オーダトランザクションフィールド）を設け、順序保証が不要なデータフレームを、リンク調整、初期化、再送処理中でも空きリンクを使用して転送可能な手段を設けたので、調整対象のリンク以外で使用可能なリンクがある場合に他の空きリンクを介してデータフレームが転送可能になり、高効率なデータ転送が可能になる。
【００５５】
さらに、エラー発生頻度に応じて自動的にリンク切断およびリンク切り替えを行う手段を設けたので、エラー発生頻度に応じてリンクを切断し他のリンクを使用してフレームデータの転送を行うことができ、あるリンクの状態が悪いことに起因してシステム性能全体を低下させてしまうことを防止できる。また、従来、エラーが多発する場合には、オペレータに通知を出し、リンクの切断をオペレータが操作していたが、この実施の形態では、自動的にリンクの切断を行うことができる。
【００５６】
なお、上記の実施の形態では、装置１，２としてクロスバＬＳＩを例示したが、本発明は、クロスバＬＳＩに適用される場合に限られず、本発明を、データ転送機能を有するプロセッサ、情報処理装置、ルータ装置など、データ転送機能を有するＬＳＩや装置などに広く適用することができる。
【産業上の利用可能性】
【００５７】
本発明は、ネットワークシステムにおけるリンク調整を制御する用途に適用できる。特に、複数のリンクのリンク特性が、構成素材、設置環境、使用状況に応じて異なる場合にも、好適に適用できる。
【図面の簡単な説明】
【００５８】
【図１】本発明によるデータ転送システムの一構成例を示すブロック図である。
【図２】リンク制御部の構成例を示すブロック図である。
【図３】タイマ設定値の例を示す説明図である。
【図４】データ転送システムの動作を示すフローチャートである。
【図５】フレームデータのフレーム構成例を示す説明図である。
【図６】従来のクロスバＬＳＩの構成を示すブロック図である。
【符号の説明】
【００５９】
１，２        装置
１００〜１１１  信号線
５，１０〜１７，２０〜２７  リンク制御部
１８，２８  クロスバ部
５０  タイマ設定値選択回路
５１  −１減算回路
５２  タイマカウンタ
５３  ＯＲ回路
５４  リンク調整検出回路
５５  リンク調整中フラグレジスタ
５６  調整パターン出力回路
５７  選択回路
５８  エラー検出回路
５９  加算器
６０  加算結果格納部
６１  エラーサンプリング回路
６２  リンク切断判定回路
６３  転送抑止回路
７０  送受信制御ユニット
７１  同期化回路
７２  ＰＬＬ調整／デスキュー回路
７３  シリアルパラレル変換回路
【図１】
2006178866.tif 000003
【図２】
2006178866.tif 000004
【図３】
2006178866.tif 000005
【図４】
2006178866.tif 000006
【図５】
2006178866.tif 000007
【図６】
2006178866.tif 000008