説明

データ転送システム、データ転送方法およびクロスバLSI

【課題】 リンク調整に起因するデータ転送効率の低下を抑制することができるデータ転送システムを提供する。
【解決手段】 タイマカウンタ52の値が”0”になった場合には、リンク調整検出回路54は、そのことを検出して、リンク調整中フラグレジスタ55に”1”をセットする。すなわち、リンク調整を指示する。リンク切断判定回路62は、エラー発生数に応じてタイマ設定値選択回路50が扱うタイマ設定値を調整するための信号を生成して、タイマ設定値選択回路50に出力する。以後、タイマ設定値選択回路50は、リンク切断判定回路62が出力した信号が示すタイマ設定値を選択する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、複数の通信ノード間に複数のリンクが存在するネットワークシステムにおいてリンクを介して通信ノード間でデータ転送が行われるデータ転送システムおよびデータ転送方法、ならびに通信ノードの間のデータ転送を中継するクロスバLSIに関する。
【背景技術】
【0002】
サーバ装置等において、複数のプロセッサを搭載する場合に、各プロセッサをクロスバLSIで接続する手法が用いられることがある。クロスバLSIには、例えば、送信元の通信ノードであるプロセッサから送信先の通信ノードであるプロセッサへのデータの転送経路を設定する交換処理を行う交換処理部とリンク調整の制御を行うリンク調整部とを有するクロスバ部が搭載される(例えば、特許文献1参照。)。また、クロスバLSIには、プロセッサから受信したデータをクロスバ部に出力するとともに、クロスバ部から入力するデータを送信するポート部が搭載される。クロスバ部は、ポート部における入力ポートが受信して出力したデータを、他のプロセッサまたはクロスバLSIに送信するために、他のポート部における出力ポートに出力する。
【0003】
図6は、特許文献1に記載されたクロスバLSIの構成を示すブロック図である。図6に示す構成では、入力ポート91Aと出力ポート91Bとを含むポート部、入力ポート92Aと出力ポート92Bとを含むポート部、入力ポート93Aと出力ポート93Bとを含むポート部、入力ポート94Aと出力ポート94Bとを含むポート部、およびクロスバ部90で、1つのクロスバLSIが構成されている。
【0004】
プロセッサ間のデータ転送を高速化するために、データ転送速度は高速であることが望ましい。データ転送速度を高速化した場合には、温度変化やスキューの影響を考慮して、一般に、ポート部において、定期的に調整信号を用いたリンク調整を実行して、各リンクを同調させる。
【0005】
例えば、特許文献2には、リンクを同調させる場合に、テストパターンを生成して、テストパターンを送受信することによって、出力AC電流レベルや出力DCレベル等を調整する技術が記載されている。すなわち、テストパターンを送受信することによってリンクの自動調整が実行される。
【0006】
【特許文献1】特開2004−110507号公報(段落0009−0011、図5)
【特許文献2】特開2000−236323号公報(段落0008−0011、図2)
【発明の開示】
【発明が解決しようとする課題】
【0007】
リンク調整が実行されているときには、ポート部を介するプロセッサ間のデータ転送を行うことができないので、スループット(データ転送効率)を低下させないようにするために、調整動作の実行時間は短いことが好ましい。
【0008】
複数の通信ノードを接続するネットワークシステムでは、通信ノード間がケーブルで接続されているのかパッケージ(基板)上の配線で接続されているのかの違いなどに起因して、また、データ転送を中継するLSIを構成する素材の違い等に起因して各リンクの特性が異なってくる。すなわち、集積回路(IC)、ICがさらに集積化されたLSI、LSIを搭載するパッケージ、パッケージ上の配線パターン、LSI間を接続するケーブルの材質、ケーブル長、ドライバ、レシーバ、その他の種々の要因に影響によって、各リンクの特性が異なってくる。
【0009】
しかし、従来のリンク調整方法では、リンク調整は一定の時間間隔で実施されている。そのために、調整が不要であるリンクについてもリンク調整がなされる。リンク調整がなされているときには、そのリンクでは本来のデータ転送を行うことができないので、データ転送効率(スループット)の低下を招く。また、一度エラーが検出されると、エラーを検出したリンクでのデータ転送を中断し、そのリンクの調整処理、初期化処理および診断処理等が完了するまでネットワークシステムにおいてデータ転送を停止するように構成されることもあるが、そのような構成では、複数のリンクで同時に調整処理、初期化処理および診断処理がなされている訳ではなく、それらの処理がなされていないリンクがあるにも関わらずネットワークシステムにおいてデータ転送が停止されることになり、さらにデータ転送効率の低下を招く。
【0010】
そこで、本発明は、リンク調整に起因するデータ転送効率の低下を抑制することができるデータ転送システム、データ転送方法およびクロスバLSIを提供することを目的とする。
【課題を解決するための手段】
【0011】
本発明によるデータ転送システムは、通信ノードが、他の通信ノードから受信したデータのエラーを検出するエラー検出手段(例えば、エラー検出回路58で実現される。)と、エラー検出手段が検出したエラーの発生数を集計するエラー集計手段(例えば、加算器59、加算結果格納部60、エラーサンプリング回路61で実現される。)と、エラー集計手段が集計したエラーの発生数にもとづいて、リンク調整の実行間隔を決定するリンク調整間隔設定手段(例えば、タイマ設定値選択回路50、−1減算回路51、タイマカウンタ52、リンク調整検出回路54で実現される。)とを備えたことを特徴とする。
【0012】
リンク調整間隔設定手段は、所定時間におけるリンクを転送されたデータのエラーの発生数が少ないほどリンク調整の実行間隔を長くし、エラーの発生数が多いほどリンク調整の実行間隔を短くすることが好ましい。
【0013】
他の通信ノードとの間で送受信されるデータが、当該フレームデータの順序保証が不要であるか否かを示すフィールドを含むフレームデータである場合に、リンク調整の実行時に、転送されていたフレームデータが、順序保証が不要であることを示すフィールドを含むフレームデータである場合には、そのフレームデータを他のリンクを介して転送するように転送経路を切り換える調整時リンク再設定制御回路(例えば、クロスバ部18,28内のリンク再設定制御回路で実現される。)を備えていてもよい。
【0014】
所定の一定時間におけるリンクを転送されたデータのエラーの発生数が規定数を越えた場合に、そのリンクでのデータ転送を止め、そのデータを他のリンクを介して転送するように転送経路を切り換えるエラー時リンク再設定制御回路(例えば、リンク制御部5内の転送抑止回路63およびクロスバ部18,28内のリンク再設定制御回路で実現される。)を備えていてもよい。
【0015】
本発明によるデータ転送方法は、他の通信ノードから受信したデータのエラーを検出し、所定時間毎に検出したエラーの発生数を集計し、集計したエラーの発生数が少ないほどリンク調整の実行間隔を長くし、エラーの発生数が多いほどリンク調整の実行間隔を短くすることを特徴とする。
【0016】
あらかじめ所定時間あたりのエラー発生数を複数段階に区分して、それぞれに対応したリンク調整の実行間隔を定義し、複数段階のうちで、集計したエラーの発生数が属する段階に対応した実行間隔でリンク調整を実行するようにしてもよい。
【0017】
本発明によるクロスバLSIは、他のクロスバLSIまたはプロセッサから受信したデータのエラーを検出するエラー検出手段と、エラー検出手段が検出したエラーの発生数を集計するエラー集計手段と、エラー集計手段が集計したエラーの発生数にもとづいて、リンク調整の実行間隔を決定するリンク調整間隔設定手段とを備えたことを特徴とする。
【0018】
他のクロスバLSIまたはプロセッサとの間で送受信されるデータが、当該フレームデータの順序保証が不要であるか否かを示すフィールドを含むフレームデータである場合に、リンク調整の実行時に、転送されていたフレームデータが、順序保証が不要であることを示すフィールドを含むフレームデータである場合には、そのフレームデータを他のリンクを介して転送するように転送経路を切り換える調整時リンク再設定制御回路を備えていてもよい。
【0019】
所定の一定時間におけるリンクを転送されたデータのエラーの発生数が規定数を越えた場合に、そのリンクでのデータ転送を止め、そのデータを他のリンクを介して転送するように転送経路を切り換えるエラー時リンク再設定制御回路を備えていてもよい。
【発明の効果】
【0020】
本発明によれば、エラー発生頻度をもとにそれぞれのリンクに最適なリンク調整間隔を自動的に設定することができ、データ転送システムのスループットを向上させることができる。
【0021】
また、順序保証が不要なデータフレームを、リンク調整(初期化および再送処理中を含む。)でも空きリンクを使用して転送可能にすることによって、調整対象のリンク以外で使用可能なリンクがある場合に他の空きリンクを介してデータフレームが転送可能になり、高効率なデータ転送が可能になる。
【0022】
さらに、エラー発生頻度に応じて自動的にリンク切断およびリンク切替を行うことによって、エラー発生頻度に応じてリンクを切断し他のリンクを使用してフレームデータの転送を行うことができ、あるリンクの状態が悪いことに起因してシステム性能全体を低下させてしまうことを防止できる。
【発明を実施するための最良の形態】
【0023】
以下、本発明の実施の形態を図面を参照して説明する。
図1は、本発明によるデータ転送システムの一構成例を示すブロック図である。図1に示すシステムでは、信号線100,101,102,103が、通信ノードとしての装置1と他の通信ノード(図示せず)との間に接続されている。信号線104,105,106,107が、装置1と通信ノードとしての装置2との間に接続されている。信号線108,109,110,111が、装置2と他の通信ノード(図示せず)との間に接続されている。
【0024】
通信ノードとしての装置1,2は、他の通信ノードが送信したデータを、送信先である通信ノードに宛てて中継する交換機能を有する。ここでは、装置1,2はクロスバLSIであり、他の通信ノードがプロセッサである場合を例にする。すなわち、並列処理を行うマルチプロセッサ間のデータ転送を行うデータ転送システムを例にする。なお、ここでは、装置1の先に通信ノードとしてのプロセッサが接続され、装置2の先に通信ノードとしてのプロセッサが接続されている場合を例にするが、装置1,2の先には、通信ノードとして、装置1,2と同様の構成の装置が接続されていてもよい。以下、装置1の先に接続されている通信ノードおよび装置2の先に接続されている通信ノードを、それぞれ、接続先装置ということがある。
【0025】
装置1において、データ交換処理を行うクロスバ部18とそれぞれの信号線100,101,102,103との間に、リンク制御部10,11,12,13が設けられている。また、クロスバ部18とそれぞれの信号線104,105,106,107との間に、リンク制御部14,15,16,17が設けられている。装置2において、データ交換処理を行うクロスバ部28とそれぞれの信号線104,105,106,107との間に、リンク制御部20,21,22,23が設けられている。また、クロスバ部28とそれぞれの信号線108,109,110,111との間に、リンク制御部24,25,26,27が設けられている。なお、クロスバ部18の構成とクロスバ部28の構成は同じである。
【0026】
この実施の形態では、2つのリンク制御部とそれらの間に接続されている信号線とでリンクが形成されているとする。例えば、リンク制御部14、信号線104およびリンク制御部20で、1つのリンクが形成されている。
【0027】
図1に示す各リンク制御部10〜17,20〜27の構成は同じである。図2は、図1に示すリンク制御部10〜17,20〜27の構成例を示すブロック図である。図2では、リンク制御部10〜17,20〜27を、リンク制御部5として示す。リンク制御部5は、信号線205にデータ(シリアルデータ)を出力するとともに、信号線206からデータ(シリアルデータ)を入力する送受信制御ユニット(ポート部)70を有する。信号線205,206は、図1における信号線100〜111のいずれかに相当する。例えば、リンク制御部5を図1に示すリンク制御部10と見なすと、信号線205,206は、信号線100に相当する。
【0028】
図2に示す例では、送受信制御ユニット70は、データをクロック信号に同期させる同期化回路71、PLL調整を行うとともに並列データ間のばらつきを吸収するPLL調整/デスキュー回路72、およびパラレルデータをシリアルデータに変換して出力し、入力されたシリアルデータをパラレルデータに変換するシリアルパラレル変換回路73を有する。送受信制御ユニット70は、装置内部(図2に示す例では具体的には選択回路57)から入力されたデータを信号線205を介して接続先装置に送信し、接続先装置から信号線206を介して受信したデータを装置内部(図2に示す例では具体的には転送抑止回路63)に出力する。
【0029】
また、リンク制御部5は、リンク調整間隔を規定する時間を選択するタイマ設定値選択回路50、タイマ設定値選択回路50が選択した時間に応じた値(タイマ設定値)を初期値として計時を行うタイマカウンタ52、およびタイマカウンタ52に設定されている値をクロック信号に同期して1ずつ減算する−1減算回路51を含む。タイマカウンタ52は、エラー検出回路58がエラー検出したとき、またはリンク調整検出回路54がリンク調整を行うことに決定したときに、タイマ設定値選択回路50が選択したタイマ設定値を初期値としてロードする。
【0030】
図3には、タイマ設定値選択回路50が選択するタイマ設定値の例が示されている。タイマ設定値選択回路50は、リンク調整を実行する時間の間隔(リンク調整間隔)を選択する。具体的には、タイマ設定値選択回路50は、一定時間あたりに発生したエラー数をサンプリングしているエラーサンプリング回路61によるエラー数にもとづいてリンク切断判定回路62が出力するエラー数に応じてタイマ設定値を選択する。例えば、エラー数が規定値(リンクの性能に見合った初期値)より多い場合にはリンク調整間隔を一定の割合(例えば、−10%、−20%、−30%、−n%)で短縮し、規定値よりエラー数が少ない場合には、リンク調整間隔を一定の割合(例えば、+10%、+20%、+30%、+n%)で延長する。
【0031】
また、リンク制御部5は、リンク調整を行うか否かを検出するリンク調整検出回路54を含む。リンク調整検出回路54は、タイマカウンタ52がタイムアップしたこと、すなわちタイマカウンタ52に設定されている値が”1”から”0”になったこと、または、エラー検出回路58がエラー検出したことをもって、リンク調整を行うことに決定し、リンク調整中フラグレジスタ55に、リンク調整中フラグとしての”1”をセットする。リンク調整中フラグの状態は、信号線200を介してクロスバ部18にも出力される。なお、以下の説明では、リンク制御部5は、図1に示す装置1に設けられているものとする。なお、リンク制御部5が図1に示す装置2に設けられているものである場合には、リンク調整中フラグの状態はクロスバ部28に出力されることになる。
【0032】
また、リンク制御部5は、信号線201を介してクロスバ部18側から入力したフレームデータと、調整パータン出力回路56が出力するデータとのうちのいずれかを選択して送受信制御ユニット70に出力する選択回路57を含む。調整パータン出力回路56は、リンク切断判定回路62から切断指示が出力されているときにはリンク切断メッセージを出力し、リンク調整中フラグレジスタ55に”1”がセットされているときには、リンク調整パターンを出力する。選択回路57は、リンク調整中フラグレジスタ55に”1”がセットされているとき、またはリンク切断判定回路62から切断指示が出力されているときには、調整パータン出力回路56が出力するデータを選択する。なお、リンク切断判定回路62からの切断指示は、信号線202を介してクロスバ部18にも出力される。
【0033】
さらに、リンク制御部5は、信号線206を介して接続先装置から受信し送受信制御ユニット70を経由したフレームデータのエラー検出を行うエラー検出回路58、エラー検出回路58がエラーを検出したときに検出されたエラーの数と加算結果格納部60に格納されているエラー数(累積数)とを加算して加算結果を加算結果格納部60に格納する加算器59、および信号線204を介してクロスバ部18から入力されたセットパルスによって加算結果格納部60に格納されているエラー数(エラー発生数)をサンプリングするエラーサンプリング回路61を含む。リンク切断判定回路62は、エラーサンプリング回路61のサンプリング結果であるエラー数を、リンクを切断するか否か判定するためのしきい値と比較し、エラー数がしきい値を越えていれば、切断指示を出力する。なお、リンク切断判定回路62には、あらかじめ、診断プロセッサ等から、リンクを切断するか否か判定するためのしきい値が設定されている。
【0034】
また、接続先装置から信号線206を介して受信し送受信制御ユニット70を経由したフレームデータは、さらに転送抑止回路63を経由して、信号線203を介してクロスバ部18側に出力される。転送抑止回路63は、エラー検出回路58がエラーを検出したときに、送受信制御ユニット70からのフレームデータをクロスバ部18側に出力しないようにする。
【0035】
なお、クロスバ部18,28には、交換機能を実行する回路の他に、少なくとも、信号線を204介して定期的にセットパルスを出力する回路と、リンク切断メッセージを他の装置から受信したときに、リンクの切断を認識して、切断されたリンクで転送されていたフレームデータを、他のリンクを介して転送するように転送経路を切り換えるリンク再設定制御回路(エラー時リンク再設定制御回路)とが含まれている。また、リンク調整が開始されたときに、転送されていたフレームデータが順序保証が不要であるフレームデータである場合には、そのフレームデータを、他のリンクを介して転送するように転送経路を切り換えるリンク再設定制御回路(調整時リンク再設定制御回路)が含まれている。
【0036】
次に、図4のフローチャートおよび図5の説明図を参照して動作について説明する。図5には、この実施の形態において用いられるフレームデータのフレーム構成例が示されている。
【0037】
装置1と装置2との間のデータ転送が可能な状態になると、例えば、装置1と装置2とを含むシステムが立ち上がると、リンク制御部10〜17、20〜27において、まず、タイマ設定値選択回路50は、リンク調整間隔を規定する値であるタイマ設定値(一例として図3に示すデフォルト値である5000(1388h))を選択する。そして、そのタイマ設定値がタイマカウンタ52にセットされる(ステップS1)。−1減算回路51は、タイマカウンタ52に設定されている値をクロック信号に同期して1ずつ減算する。すなわち、タイマカウンタ52の設定値は、クロック信号に同期して1ずつ減算される。
【0038】
エラー検出回路58は、接続先装置から信号線206を介して受信されたフレームデータのエラーの有無をチェックする(ステップS2)。エラー検出回路58がエラーを検出しなければ、転送抑止回路63は、フレームデータを信号線203を介してクロスバ部18に出力する。クロスバ部18は、フレームデータを、接続先装置(送信先装置)に至る信号線に接続されているタイマ制御部を介して接続先装置に転送する。
【0039】
タイマカウンタ52には、論理和回路(OR回路)53の出力が”0”で、かつ、タイマカウンタ52の値が”0”でない限り、クロック信号に同期して−1減算回路51で減算された値が格納される。
【0040】
タイマカウンタ52の値が”0”になっていない場合には、フレームデータの転送が継続される(ステップS3,S14)。タイマカウンタ52の値が”0”になった場合、すなわちタイマ設定値に相当する時間が経過した場合には(ステップS3)、タイマカウンタ52は、タイマ設定値選択回路50が出力する値を再びセットする。同時に、リンク調整検出回路54は、タイマカウンタ52の値が”0”になったことを検出して、リンク調整中フラグレジスタ55に”1”をセットする。すなわち、リンク調整を指示する。調整パターン出力回路56は、リンク調整中フラグレジスタ55に”1”がセットされているときには、リンク調整パターンを生成して出力する(ステップS4)。リンク調整検出回路54は、リンク調整を指示する回路でありタイマカウンタ52の値が”1”から”0”になった場合、またはエラー検出回路58がエラー検出したときにリンク調整中フラグを”1”にする。
【0041】
リンク調整中フラグレジスタ55に設定されるリンク調整中フラグは、リンク調整検出回路54によって”1”にセットされるが、リンク調整パターンを用いたリンク調整が実行完了するまでセットされ続け、調整パターン出力回路56が最終調整パターンを送信したときに”0”にリセットされる(ステップS5)。選択回路57は、リンク調整フラグが”0”である場合には、信号線201を介して受信したデータフレームを送受信ユニット70を介して接続先装置に送信し、リンク調整フラグが”1”である場合には、調整パターン出力回路56が出力するリンク調整パターンを選択する。
【0042】
なお、リンク調整パターンは、送受信制御ユニット70を介して接続先装置に送信される。接続先装置におけるリンク制御部の送受信制御ユニット70は、リンク調整パターンを受信すると、例えば特開2004−110507号公報に記載されているようにリンク調整を実行する。調整パターン出力回路56は、リンク調整時に、リンク調整パターンとして、例えば、00000000〜0Z、01010101〜1Z、00110011〜1Z等の固定パターンを送信する。
【0043】
また、調整パターン出力回路56は、リンク切断判定回路62からリンクの切断の実行を意味する切断指示を入力した場合には、リンク切断メッセージを出力する。リンク切断メッセージは、送受信制御ユニット70を介して接続先装置に送信されるが、接続先装置において、クロスバ部28は、リンク切断メッセージの受信を検出すると、そのリンクを切断する。
【0044】
また、ステップS4,S5でリンク調整が実行されているときに、クロスバ部18は、後続フレームデータのアウト・オブ・オーダトランザクションフィールドをチェックする(ステップS6)。
【0045】
図5は、この実施の形態で使用されるフレームデータの一例を示す。第1フレームにおいてOOTFがアウト・オブ・オーダトランザクションフィールドを示し、このフィールドが”0”の場合は順序保証を必要とするフレームデータであることを示し、”1”の場合は順序保証が不要である(後に発生したフレームデータを先に転送してもよい)ことを示す。フレームデータは、第1フレームからデータ長に応じた第nフレームまでを1つの命令(またはパケット)として定義される。
【0046】
クロスバ部18は、アウト・オブ・オーダトランザクションフィールドが”0”である場合には、順序保証が必要であるフレームデータであると判断し、追い越し禁止対象の命令になることから、リンク調整中(初期化、診断、再送処理中を含む)に信号線201を介するフレームデータの転送を抑止する。アウト・オブ・オーダトランザクションフィールドが”1”である場合には、命令の順序保証は不要であることから、クロスバ部18は、他の複数のリンクからデータ転送可能なリンクを判定して、OOTF=1のフレームデータの転送経路をデータ転送可能なリンクに切り替え、データ転送を継続する(ステップS7)。
【0047】
ステップS2においてエラー検出回路58がエラーを検出した場合には、転送抑止回路63は、エラー検出されたデータを無効化する。すなわち、データ転送させないようにする。エラー検出回路58は、信号線206を介して接続先装置から受信したデータについてECCチェックまたはCRCチェック等を実施する。そして、チェックにもとづいてエラーを検出した場合には、エラー数を加算する加算器59と、エラー検出されたデータの転送を中断する転送抑止回路63と、エラー検出に起因してリンク調整を指示するリンク調整検出回路54とに、エラー検出の通知を示す”1”を出力する。リンク調整検出回路54は、エラー検出回路58からエラー検出した旨の通知を受けたら、ステップS4,S5の場合と同様に、リンクの初期化/調整を実行させる。その後、再送シーケンスが実行される。
【0048】
加算器59は、加算結果格納部60とエラー検出回路58の出力とを加算し、加算値を、加算結果格納部60に格納する。エラーサンプリング回路61は、信号線204を介してクロスバ部18が出力するセットパルスを入力すると、加算結果格納部60に格納されているエラー数をサンプリングしておく(ステップ9)。なお、クロスバ部18は、例えば、1時間毎に1回セットパルスを出力する。従って、エラーサンプリング回路61は、一定時間内に発生したエラー数を定期的にサンプリングすることになる。この一定時間は、例えば診断プロセッサ等によって任意に設定可能である。
【0049】
リンク切断判定回路62は、エラーサンプリング回路61が出力する信号すなわち一定時間内に発生したエラー数を示す信号によって、一定時間内におけるエラー発生数があらかじめ規定されているエラー発生数を越えたと判断した場合に、リンク切断の決定を行って切断指示を出力する回路である。なお、診断プロセッサ等から、あらかじめ規定されているエラー発生数として、システム構成等にもとづいた任意の値を設定可能である。リンク切断判定回路62がリンク切断の決定を行った場合に、リンク切断判定回路62は、切断指示を、信号線202を介してクロスバ部18にも出力する。
【0050】
クロスバ部18は、切断指示に応じて、他のリンクを使用してデータ転送をするように切り替える。また、調整パターン出力回路56に切断指示が出力され、調整パターン出力回路56は、リンク切断メッセージを生成して出力する(ステップS11)。選択回路57は、リンク切断判定回路62から切断指示が出力されているときには、調整パータン出力回路56が出力するデータを選択する。従って、リンク切断メッセージは、選択回路57を介して送受信制御部70に出力され、さらに、信号線205を介して接続先装置に送信され、接続先装置においてもリンク切断処理がなされる(ステップS12)。
【0051】
ステップS10で、リンク切断判定回路62が、エラー発生数があらかじめ規定されているエラー発生数を越えていないと判断した場合には、エラー発生数に応じて、タイマ設定値選択回路50が扱うタイマ設定値を調整するための信号を生成して(図3参照)、タイマ設定値選択回路50に出力する。以後、タイマ設定値選択回路50は、リンク切断判定回路62が出力した信号が示すタイマ設定値を選択する(ステップS13)。
【0052】
図3に示す例では、一定時間あたりのエラー発生数を0から6以上までに区分して、それぞれに対応してリンク調整間隔を選択するコード(図3ではSelect)が定義されている。すなわち、あらかじめ所定時間あたりのエラー発生数を複数段階に区分して、それぞれに対応したリンク調整の実行間隔が定義されている。そして。エラー発生数に応じたコードに対応したタイマ設定値を調整するための信号が、タイマ設定値選択回路50に出力される。エラー発生数に応じて適切なリンク調整間隔の時間がタイマカウンタ52にセットされることになる。すなわち、複数段階のうちで、集計したエラーの発生数が属する段階に対応した実行間隔でリンク調整が実行される。なお、それぞれのリンク制御部10〜17、20〜27において、それぞれ異なる区分を設定可能であるようにしてもよい。
【0053】
以上に説明したように、この実施の形態では、それぞれのリンク特性(エラー発生頻度)に応じてリンク調整間隔を自動的に設定する手段を設けたので、エラー発生頻度をもとにそれぞれのリンクに最適なリンク調整間隔を自動的に設定することができ、クロスバLSIのスループットを向上させることができる。
【0054】
また、データフレームにOOTF(アウト・オブ・オーダトランザクションフィールド)を設け、順序保証が不要なデータフレームを、リンク調整、初期化、再送処理中でも空きリンクを使用して転送可能な手段を設けたので、調整対象のリンク以外で使用可能なリンクがある場合に他の空きリンクを介してデータフレームが転送可能になり、高効率なデータ転送が可能になる。
【0055】
さらに、エラー発生頻度に応じて自動的にリンク切断およびリンク切り替えを行う手段を設けたので、エラー発生頻度に応じてリンクを切断し他のリンクを使用してフレームデータの転送を行うことができ、あるリンクの状態が悪いことに起因してシステム性能全体を低下させてしまうことを防止できる。また、従来、エラーが多発する場合には、オペレータに通知を出し、リンクの切断をオペレータが操作していたが、この実施の形態では、自動的にリンクの切断を行うことができる。
【0056】
なお、上記の実施の形態では、装置1,2としてクロスバLSIを例示したが、本発明は、クロスバLSIに適用される場合に限られず、本発明を、データ転送機能を有するプロセッサ、情報処理装置、ルータ装置など、データ転送機能を有するLSIや装置などに広く適用することができる。
【産業上の利用可能性】
【0057】
本発明は、ネットワークシステムにおけるリンク調整を制御する用途に適用できる。特に、複数のリンクのリンク特性が、構成素材、設置環境、使用状況に応じて異なる場合にも、好適に適用できる。
【図面の簡単な説明】
【0058】
【図1】本発明によるデータ転送システムの一構成例を示すブロック図である。
【図2】リンク制御部の構成例を示すブロック図である。
【図3】タイマ設定値の例を示す説明図である。
【図4】データ転送システムの動作を示すフローチャートである。
【図5】フレームデータのフレーム構成例を示す説明図である。
【図6】従来のクロスバLSIの構成を示すブロック図である。
【符号の説明】
【0059】
1,2 装置
100〜111 信号線
5,10〜17,20〜27 リンク制御部
18,28 クロスバ部
50 タイマ設定値選択回路
51 −1減算回路
52 タイマカウンタ
53 OR回路
54 リンク調整検出回路
55 リンク調整中フラグレジスタ
56 調整パターン出力回路
57 選択回路
58 エラー検出回路
59 加算器
60 加算結果格納部
61 エラーサンプリング回路
62 リンク切断判定回路
63 転送抑止回路
70 送受信制御ユニット
71 同期化回路
72 PLL調整/デスキュー回路
73 シリアルパラレル変換回路

【特許請求の範囲】
【請求項1】
複数の通信ノード間に複数のリンクが存在し、リンクを介して通信ノード間でデータ転送が行われるデータ転送システムであって、所定の時期にリンク調整を行うデータ転送システムにおいて、
通信ノードは、
他の通信ノードから受信したデータのエラーを検出するエラー検出手段と、
前記エラー検出手段が検出したエラーの発生数を集計するエラー集計手段と、
前記エラー集計手段が集計したエラーの発生数にもとづいて、リンク調整の実行間隔を決定するリンク調整間隔設定手段と
を備えたことを特徴とするデータ転送システム。
【請求項2】
リンク調整間隔設定手段は、所定時間におけるリンクを転送されたデータのエラーの発生数が少ないほどリンク調整の実行間隔を長くし、エラーの発生数が多いほどリンク調整の実行間隔を短くする
請求項1記載のデータ転送システム。
【請求項3】
他の通信ノードとの間で送受信されるデータは、当該フレームデータの順序保証が不要であるか否かを示すフィールドを含むフレームデータであり、
リンク調整の実行時に、転送されていたフレームデータが、順序保証が不要であることを示すフィールドを含むフレームデータである場合には、そのフレームデータを他のリンクを介して転送するように転送経路を切り換える調整時リンク再設定制御回路を備えた
請求項1または請求項2記載のデータ転送システム。
【請求項4】
所定の一定時間におけるリンクを転送されたデータのエラーの発生数が規定数を越えた場合に、そのリンクでのデータ転送を止め、そのデータを他のリンクを介して転送するように転送経路を切り換えるエラー時リンク再設定制御回路を備えた
請求項1から請求項3のうちのいずれか1項に記載のデータ転送システム。
【請求項5】
複数の通信ノード間に複数のリンクが存在し、リンクを介して通信ノード間でデータ転送を行うデータ転送方法であって、所定の時期にリンク調整を行うデータ転送方法において、
他の通信ノードから受信したデータのエラーを検出し、
所定時間毎に検出したエラーの発生数を集計し、
集計したエラーの発生数が少ないほどリンク調整の実行間隔を長くし、エラーの発生数が多いほどリンク調整の実行間隔を短くする
ことを特徴とするデータ転送方法。
【請求項6】
あらかじめ所定時間あたりのエラー発生数を複数段階に区分して、それぞれに対応したリンク調整の実行間隔を定義し、
前記複数段階のうちで、集計したエラーの発生数が属する段階に対応した実行間隔でリンク調整を実行する
請求項5記載のデータ転送方法。
【請求項7】
他のクロスバLSIまたはプロセッサとの間でデータ転送を行うクロスバLSIにおいて、
他のクロスバLSIまたはプロセッサから受信したデータのエラーを検出するエラー検出手段と、
前記エラー検出手段が検出したエラーの発生数を集計するエラー集計手段と、
前記エラー集計手段が集計したエラーの発生数にもとづいて、リンク調整の実行間隔を決定するリンク調整間隔設定手段と
を備えたことを特徴とするクロスバLSI。
【請求項8】
他のクロスバLSIまたはプロセッサとの間で送受信されるデータは、当該フレームデータの順序保証が不要であるか否かを示すフィールドを含むフレームデータであり、
リンク調整の実行時に、転送されていたフレームデータが、順序保証が不要であることを示すフィールドを含むフレームデータである場合には、そのフレームデータを他のリンクを介して転送するように転送経路を切り換える調整時リンク再設定制御回路を備えた
請求項7記載のクロスバLSI。
【請求項9】
所定の一定時間におけるリンクを転送されたデータのエラーの発生数が規定数を越えた場合に、そのリンクでのデータ転送を止め、そのデータを他のリンクを介して転送するように転送経路を切り換えるエラー時リンク再設定制御回路を備えた
請求項7または請求項8記載のクロスバLSI。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate


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