説明

シリアルインタフェース回路及びシリアル通信システム

【課題】複数のレーンを用いるシリアルインタフェースにおいて、通信効率を向上させること。
【解決手段】シリアルインタフェース回路は、複数のレーンのそれぞれに接続される複数の双方向IO回路を備える。各双方向IO回路は、送信レーンにデータを送信する送信IO回路、あるいは、受信レーンからデータを受信する受信IO回路のいずれとしても動作可能である。物理層処理回路は、上位レイヤから受け取る送信パケットを送信IO回路を介して送信レーンに送信し、且つ、受信レーンから受信IO回路を介して受け取る受信パケットを上位レイヤに出力する。各々のレーンは、送信レーンあるいは受信レーンのいずれとしても使用可能である。送信レーン数及び受信レーン数は、可変であり、レーン割当制御回路によって動的に制御される。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、シリアルインタフェース回路及びシリアル通信システムに関する。特に、本発明は、複数のレーンを用いてシリアル通信を行うシリアルインタフェース回路及びシリアル通信システムに関する。
【背景技術】
【0002】
従来、高速シリアルインタフェースとして、PCI Express(登録商標)やFBDが知られている。このような高速シリアルインタフェースにおいて、データ伝送を行う通信デバイス間を接続する一対(1ポート)のシリアルリンク(シリアル伝送路)は、「レーン(lane)」と呼ばれている。高いデータ帯域幅が要求される場合には、複数のレーンが並列的に設けられる。つまり、レーンの並列化により、データ伝送の高速化が可能である。
【0003】
複数のレーンを用いたシリアルインタフェースに関連する技術として、次のものが知られている。
【0004】
特許文献1(特開2007−122714号公報)に記載された技術によれば、電力供給モードの変化に応答して、レーン幅(レーン数)が削減される。例えば、交流(AC)電力から直流(DC)電力への変化に応答して、レーン幅が所定のレベルにまで削減される。これにより、電力消費が削減される。
【0005】
特許文献2(特開2007−226494号公報)に記載された技術によれば、スイッチから木構造の上位側に位置するノードに至るデータ転送経路を形成する高速シリアルバスのリンクのレーン数を、エンドポイントからスイッチに至る各データ転送経路を送信される各データ転送量の最大値を満たすレーン数をそれぞれ加算したレーン数とする。これにより、一のスイッチに対する複数のエンドポイントからのトランザクション(データ転送)が同時に発生するような場合であっても、同時動作によるボトルネックを解消することができる。
【0006】
特許文献3(特開2010−147702号公報)に記載された技術によれば、レーン数切替パケット生成部は、複数のレーンの動作状態(有効状態あるいは休止状態)の切り替えを指示するレーン数切替パケットを生成する。バイト・ストライピングは、レーン数切替パケットにおいて有効状態とされた有効レーンに伝送対象情報を振り分けて送信する。バイト・アンストライピングは、レーン数切替パケットにおいて有効状態された有効レーンに伝送される情報に基づいて伝送対象情報を復元する。これにより、伝送路の動作状態を移行させる際の移行時間が短縮される。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開2007−122714号公報
【特許文献2】特開2007−226494号公報
【特許文献3】特開2010−147702号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
上述の関連技術では、送信レーンは送信レーンとしてしか使用されず、予め決められた数の送信レーンの中で使用するものの数を変えることはできるが、送信レーンを受信レーンに切り替えることはできない。同様に、受信レーンは受信レーンとしてしか使用されず、予め決められた数の受信レーンの中で使用するものの数を変えることはできるが、受信レーンを送信レーンに切り替えることはできない。つまり、上述の関連技術では、使用するレーン数(有効レーン数)を切り替えることは可能であるが、単一のレーンを状況に応じて送信レーンあるいは受信レーンに動的に切り替えて使用することはできない。
【0009】
従って、上述の関連技術では、次のような問題点が生じる。例えば、ソフトウェア処理の過程で、送信及び受信のそれぞれで必要なデータ転送量に偏りが生じる場合を考える。この場合、一方のレーン(例えば送信レーン)がフルに使用されているにも拘わらず、他方のレーン(例えば受信レーン)が使用されずアイドル状態となる状況が発生し得る。つまり、空きレーンが存在するにも拘わらず、その空きレーンが有効に活用されないという状況が発生し得る。これは、通信効率の観点から無駄である。
【0010】
本発明の1つの目的は、複数のレーンを用いるシリアルインタフェース回路及びシリアル通信システムにおいて、通信効率を向上させることができる技術を提供することにある。
【課題を解決するための手段】
【0011】
本発明の1つの観点において、シリアルインタフェース回路が提供される。そのシリアルインタフェース回路は、複数のレーンのそれぞれに接続される複数の双方向IO回路と、上位レイヤ処理部と複数の双方向IO回路との間に設けられる物理層処理回路と、複数の双方向IO回路及び物理層処理回路の動作を制御するレーン割当制御回路と、を備える。複数の双方向IO回路の各々は、送信レーンにデータを送信する送信IO回路、あるいは、受信レーンからデータを受信する受信IO回路のいずれとしても動作可能なように構成される。物理層処理回路は、上位レイヤ処理部から受け取る送信パケットを送信IO回路を介して送信レーンに送信し、且つ、受信レーンから受信IO回路を介して受け取る受信パケットを上位レイヤ処理部に出力するように、物理層処理を行う。複数のレーンの各々は、送信レーンあるいは受信レーンのいずれとしても使用可能である。複数のレーンのうち送信レーンに割り当てられるレーンの数は、送信レーン数であり、複数のレーンのうち受信レーンに割り当てられるレーンの数は、受信レーン数であり、送信レーン数及び受信レーン数は、可変である。レーン割当制御回路は、指定された送信レーン数及び受信レーン数での物理層処理が実現されるように、物理層処理回路及び複数の双方向IO回路を動的に制御する。
【0012】
本発明の他の観点において、シリアル通信システムが提供される。そのシリアル通信システムは、第1通信装置と、複数のレーンを介して第1通信装置と接続された第2通信装置と、を備える。第1通信装置及び第2通信装置の各々は、複数のレーンのそれぞれに接続される複数の双方向IO回路と、上位レイヤ処理部と複数の双方向IO回路との間に設けられる物理層処理回路と、複数の双方向IO回路及び物理層処理回路の動作を制御するレーン割当制御回路と、を備える。複数の双方向IO回路の各々は、送信レーンにデータを送信する送信IO回路、あるいは、受信レーンからデータを受信する受信IO回路のいずれとしても動作可能なように構成される。物理層処理回路は、上位レイヤ処理部から受け取る送信パケットを送信IO回路を介して送信レーンに送信し、且つ、受信レーンから受信IO回路を介して受け取る受信パケットを上位レイヤ処理部に出力するように、物理層処理を行う。複数のレーンの各々は、送信レーンあるいは受信レーンのいずれとしても使用可能である。複数のレーンのうち送信レーンに割り当てられるレーンの数は、送信レーン数であり、複数のレーンのうち受信レーンに割り当てられるレーンの数は、受信レーン数であり、送信レーン数及び受信レーン数は、可変である。レーン割当制御回路は、指定された送信レーン数及び受信レーン数での物理層処理が実現されるように、物理層処理回路及び複数の双方向IO回路を制御する。
【発明の効果】
【0013】
本発明によれば、複数のレーンを用いるシリアルインタフェース回路及びシリアル通信システムにおいて、通信効率を向上させることが可能となる。
【図面の簡単な説明】
【0014】
【図1】図1は、本発明の実施の形態に係るシリアル通信システムの構成を概略的に示すブロック図である。
【図2】図2は、本発明の実施の形態におけるレーン割り当ての切り替えを説明するための概念図である。
【図3】図3は、本発明の実施の形態におけるレーン割り当ての切り替えを説明するための概念図である。
【図4】図4は、本発明の実施の形態におけるレーン割り当ての切り替えを説明するための概念図である。
【図5】図5は、本発明の実施の形態に係るシリアルインタフェース回路の構成例を示すブロック図である。
【図6】図6は、本発明の実施の形態における物理層処理回路の構成例を示すブロック図である。
【図7】図7は、シンボルパタンを示す概念図である。
【図8】図8は、物理層処理回路におけるレーン−シンボルマッピング処理の一例を示す概念図である。
【図9】図9は、物理層処理回路におけるレーン−シンボルマッピング処理の他の例を示す概念図である。
【図10】図10は、本発明の実施の形態に係るシリアル通信システムの動作例を示すタイミングチャートである。
【発明を実施するための形態】
【0015】
添付図面を参照して、本発明の実施の形態を説明する。
【0016】
1.概要
図1は、本発明の実施の形態に係るシリアル通信システム1の構成を概略的に示すブロック図である。シリアル通信システム1は、第1通信装置100A(第1通信コンポーネント)と第2通信装置100B(第2通信コンポーネント)を備えている。第1通信装置100Aと第2通信装置100Bは、複数のレーンLNを介して互いに接続されており、互いにシリアルデータ伝送を行う。図1では、N本(Nは2以上の整数)のレーンLN[0]〜LN[N−1]が示されている。尚、単一のレーンLNは、第1通信装置100Aと第2通信装置100Bとの間を接続する一対(1ポート)のシリアルリンクと定義される。
【0017】
図1に示されるように、各々の通信装置100は、上位レイヤ処理部200とシリアルインタフェース回路300を備えている。
【0018】
上位レイヤ処理部200は、少なくとも、上位層のソフトウェア処理を行う。具体的には、上位レイヤ処理部200は、アプリケーション部210とOS(Operating System)部220を備えている。アプリケーション部210及びOS部220は、演算処理装置がソフトウェアを実行することにより実現され、それぞれアプリケーション機能及びOS機能を提供する。尚、上位レイヤ処理部200は、更に、データリンク層の処理を行ってもよい。上位レイヤ処理部200は、シリアルインタフェース回路300に送信パケットを出力し、また、シリアルインタフェース回路300から受信パケットを受け取る。
【0019】
シリアルインタフェース回路300は、ハードウェアにより実現され、少なくとも物理層の処理を行う。第1通信装置100Aと第2通信装置100Bのそれぞれのシリアルインタフェース回路300は、複数のレーンLN[0]〜LN[N−1]に共通に接続されており、それら複数のレーンLN[0]〜LN[N−1]を用いてデータ送受信を行う。ここで、データ送信に用いられるレーンLNは「送信レーン」と参照され、データ受信に用いられるレーンLNは「受信レーン」と参照される。物理層の処理において、シリアルインタフェース回路300は、上位レイヤ処理部200から受け取る送信パケットを送信レーンに送信し、また、受信レーンから受け取る受信パケットを上位レイヤ処理部200に出力する。
【0020】
本実施の形態によれば、各々のレーンLNは、送信レーンあるいは受信レーンのいずれか一方に固定されるわけではなく、送信レーンあるいは受信レーンのいずれとしても使用可能である。すなわち、単一のレーンLNを、状況に応じて、送信レーンあるいは受信レーンに動的に切り替えることが可能である。複数のレーンLN[0]〜LN[N−1]をどのように送信レーンと受信レーンとに割り当てるかは、以下「レーン割り当て」と参照される。本実施の形態によれば、このレーン割り当てを動的に変更することが可能である。
【0021】
より詳細には、本実施の形態では、送信レーン数(送信レーン幅)及び受信レーン数(受信レーン幅)が可変である。ここで、送信レーン数とは、複数のレーンLN[0]〜LN[N−1]のうち送信レーンに割り当てられるレーンLNの数であり、受信レーン数とは、複数のレーンLN[0]〜LN[N−1]のうち受信レーンに割り当てられるレーンLNの数である。これら送信レーン数及び受信レーン数を、状況に応じて動的に変更することができる。好適には、送信レーン数及び受信レーン数は、上位レイヤ処理部200のソフトウェアによって決定され、指定される。例えば、アプリケーション部210が、アプリケーション特性に応じた最適な送信レーン数及び受信レーン数を決定し、それら送信レーン数及び受信レーン数をシリアルインタフェース回路300に通知する。シリアルインタフェース回路300は、指定された送信レーン数及び受信レーン数での物理層処理が実現されるように、レーン割り当て制御を行う。
【0022】
図2〜図4を参照して、レーン割り当ての切り替えを説明する。ここでは、例として、8本のレーンLN[0]〜LN[7]を考える。
【0023】
図2で示される例では、第1通信装置100Aから第2通信装置100Bへのデータ転送量と、第2通信装置100Bから第2通信装置100Aへのデータ転送量とが等しい。従って、4本のレーンLN[0]〜LN[3]が、第1通信装置100Aから第2通信装置100Bへのデータ転送に割り当てられ、4本のレーンLN[4]〜LN[7]が、第2通信装置100Bから第1通信装置100Aへのデータ転送に割り当てられている。
【0024】
図3で示される例では、第1通信装置100Aから第2通信装置100Bへのデータ転送量が、第2通信装置100Bから第2通信装置100Aへのデータ転送量よりも多い。従って、7本のレーンLN[0]〜LN[6]が、第1通信装置100Aから第2通信装置100Bへのデータ転送に割り当てられ、1本のレーンLN[7]が、第2通信装置100Bから第1通信装置100Aへのデータ転送に割り当てられている。
【0025】
図4で示される例では、第1通信装置100Aから第2通信装置100Bへのデータ転送量が、第2通信装置100Bから第2通信装置100Aへのデータ転送量よりも少ない。従って、2本のレーンLN[0]〜LN[1]が、第1通信装置100Aから第2通信装置100Bへのデータ転送に割り当てられ、6本のレーンLN[2]〜LN[7]が、第2通信装置100Bから第1通信装置100Aへのデータ転送に割り当てられている。
【0026】
このように、本実施の形態によれば、単一のレーンLNを、状況に応じて、送信レーンあるいは受信レーンに動的に切り替えることが可能である。従って、有限本数のレーンLN[0]〜LN[N−1]であっても、送信レーン数と受信レーン数の比を状況に応じて最適化することによって、状況に応じた最適な通信効率及び通信スループットを実現することが可能となる。上述の関連技術の場合のような、空きレーンが存在するにも拘わらずその空きレーンが有効に活用されない、といった無駄が省かれる。本実施の形態によれば、複数のレーンを用いるシリアルインタフェースにおいて、通信効率、通信スループット、処理性能を向上させることが可能である。
【0027】
2.構成
図5は、本実施の形態に係るシリアルインタフェース回路300の構成例を示している。シリアルインタフェース回路300は、複数の双方向IO回路310[0]〜310[N−1]、物理層処理回路320、及びレーン割当制御回路330を備えている。
【0028】
複数の双方向IO回路310[0]〜310[N−1]は、それぞれ、複数のレーンLN[0]〜LN[N−1]に接続される。各々の双方向IO回路310は、送信レーンにデータを送信する送信IO回路、あるいは、受信レーンからデータを受信する受信IO回路のいずれとしても動作可能なように構成されている。送信IO回路あるいは受信IO回路への切り替えを指示する信号が、切り替え信号SWである。つまり、双方向IO回路310は、切り替え信号SWを受け取り、その切り替え信号SWによる指示に従って、送信IO回路あるいは受信IO回路として動作する。
【0029】
より詳細には、図5に示されるように、双方向IO回路310は、送信バッファ311と受信バッファ312を備えている。送信バッファ311は、物理層処理回路320から受け取った送信データを、接続された一本のレーンLN(送信レーン)に送出する。一方、受信バッファ312は、接続された一本のレーンLN(受信レーン)から受け取った受信データを、物理層処理回路320に出力する。これら送信バッファ311及び受信バッファ312が、切り替え信号SWに応じて活性化/非活性化される。具体的には、双方向IO回路310が送信IO回路として使用される場合、切り替え信号SWによって、送信バッファ311が活性化され、受信バッファ312が非活性化される。また、双方向IO回路310が受信IO回路として使用される場合、切り替え信号SWによって、送信バッファ311が非活性化され、受信バッファ312が活性化される。
【0030】
物理層処理回路320は、物理層処理を行う回路であり、上位レイヤ処理部200と複数の双方向IO回路310[0]〜310[N−1]との間に設けられている。物理層処理において、物理層処理回路320は、上位レイヤ処理部200から受け取る送信パケットを送信IO回路を介して送信レーンに送信し、また、受信レーンから受信IO回路を介して受け取る受信パケットを上位レイヤ処理部200に出力する。上述の通り、本実施の形態によれば、レーン割り当て(レーン・マッピング)は動的に変更可能である。そのレーン割り当てを指定する信号が、レーン割当制御信号CONである。物理層処理回路320は、レーン割当制御信号CONを受け取り、そのレーン割当制御信号CONによる指示に従って、レーン割り当ての変更を行い、上記物理層処理を行う。
【0031】
レーン割当制御回路330は、上述の双方向IO回路310及び物理層処理回路320の動作を制御することによって、所望のレーン割り当てを実現する。具体的には、所望のレーン割り当て(送信レーン数、受信レーン数)は、レーン割当変更要求REQによって指定される。このレーン割当変更要求REQは、上位レイヤ処理部200に含まれるソフトウェアによって作成される特殊なパケットである。レーン割当制御回路330は、レーン割当変更要求REQを受け取ると、そのレーン割当変更要求REQによって指定されたレーン割り当てでの物理層処理が実現されるように、上述の切り替え信号SW及びレーン割当制御信号CONを生成する。そして、レーン割当制御回路330は、それら切り替え信号SW及びレーン割当制御信号CONを、それぞれ、双方向IO回路310及び物理層処理回路320に出力する。これにより、レーン割当変更要求REQに応じて、双方向IO回路310及び物理層処理回路320を動的に制御することが可能である。
【0032】
より詳細には、図5に示されるように、レーン割当制御回路330は、デコーダ331及び制御回路332を備えている。デコーダ331は、レーン割当変更要求REQ(レーン割当変更コマンド)をデコードする。制御回路332は、レーン割当変更要求REQのデコード結果に基づいて、切り替え信号SW及びレーン割当制御信号CONを生成する。ここで、レーン割当制御信号CONは、送信レーン数を示す情報、受信レーン数を示す情報、及び再リンク確立指示を含んでいる。
【0033】
レーン割当制御回路330は、レーン割当制御信号CONを物理層処理回路320に送出する。物理層処理回路320は、そのレーン割当制御信号CONによって指定される送信レーン数及び受信レーン数での物理層処理が実現されるように、「レーン−シンボルマッピング処理」を行う。レーン−シンボルマッピング処理については後述する。また、物理層処理回路320は、再リンク確立指示に応答して、通信相手との間で物理層のリンクを新たに確立する「再リンク確立処理」を行う。更に、レーン割当制御回路330は、再リンク確立処理時に、切り替え信号SWを各双方向IO回路310に送出する。各双方向IO回路310は、その切り替え信号SWに従って、送信IO回路あるいは受信IO回路に設定される。このようにして、レーン割り当ての動的制御が可能となる。
【0034】
尚、第1通信装置100Aと第2通信装置100Bの一方においてレーン割当変更要求REQが生成されると、そのレーン割当変更要求REQが、第1通信装置100Aと第2通信装置100Bの他方に転送される。例えば、第1通信装置100Aの上位レイヤ処理部200に含まれるソフトウェアが、レーン割当変更要求REQを生成した場合を考える。この場合、第1通信装置100Aの物理層処理回路320及びレーン割当制御回路330は、上位レイヤ処理部200からレーン割当変更要求REQを受け取る。第1通信装置100Aの物理層処理回路320は、受け取ったレーン割当変更要求REQを、第2通信装置100B(通信相手)に向けて送信する。第2通信装置100Bにおいて、物理層処理回路320は、第1通信装置100Aから送信されたレーン割当変更要求REQを受け取り、レーン割当制御回路330は、物理層処理回路320からそのレーン割当変更要求REQを受け取る。第1通信装置100A及び第2通信装置100Bのレーン割当制御回路330は、それぞれ受け取ったレーン割当変更要求REQに基づいて、上述のレーン割当制御を行う。ここで、第1通信装置100Aに関する送信レーン数が第2通信装置100Bに関する受信レーン数に一致し、且つ、第1通信装置100Aに関する受信レーン数が第2通信装置100Bに関する送信レーン数に一致するように、レーン割当制御が行われる。
【0035】
尚、第2通信装置100Bは、第1通信装置100Aから受け取ったレーン割当変更要求REQに応答する確認応答パケット(ACKパケット)を、第1通信装置100Aに返送する。好適には、第1通信装置100Aの物理層処理回路320は、そのACKパケットの受信に応答して、第2通信装置100Bとの間の再リンク確立処理を開始し、それに追随して、第2通信装置100Bの物理層処理回路320は、第1通信装置100Aとの間の再リンク確立処理を開始する。
【0036】
図6は、本実施の形態における物理層処理回路320の構成例を示している。物理層処理回路320は、送信SerDes回路321、受信SerDes回路322及びトレーニング回路323を備えている。レーン割当制御回路330によって生成されるレーン割当制御信号CONは、所望の送信レーン数を示す送信レーン数情報CON1、所望の受信レーン数を示す受信レーン数情報CON2、及び再リンク確立指示CON3を含んでいる。レーン割当制御回路330は、それら送信レーン数情報CON1、受信レーン数情報CON2及び再リンク確立指示CON3を、それぞれ、送信SerDes回路321、受信SerDes回路322及びトレーニング回路323に出力する。
【0037】
送信SerDes回路321は、データリンク層から送信パケットを受け取り、その送信パケットのシンボルコードをパラレル−シリアル変換した後、それぞれのシンボルコードを送信IO回路310を通して対応する送信レーンに送出する。ここで、それぞれのシンボルコードと送信レーンとの間の対応関係(マッピング)は、可変である。送信SerDes回路321は、レーン割当制御回路330から送信レーン数情報CON1を受け取り、その送信レーン数情報CON1によって指定される送信レーン数が実現されるようにレーン−シンボルマッピング処理(Lane−Symbol Mapping)を行う。
【0038】
図7、図8及び図9を参照して、レーン−シンボルマッピング処理を説明する。図7は、伝送されるシンボルパタンを概念的に示している。シンボルとは、伝送データの最小単位であり、例えば1バイトのデータである。例として、8個のシンボルバイト(Symbol Byte0〜Symbol Byte7)からなるシンボルパタンの伝送を考える。図8は、4本のレーンLane0〜Lane3が割り当てられた場合を示している。この場合、Symbol Byte0,Byte4がLane0にマッピングされ、Symbol Byte1,Byte5がLane1にマッピングされ、Symbol Byte2,Byte6がLane2にマッピングされ、Symbol Byte3,Byte7がLane3にマッピングされる。図9は、3本のレーンLane0〜Lane2が割り当てられた場合を示している。この場合、Symbol Byte0,Byte3,Byte6がLane0にマッピングされ、Symbol Byte1,Byte4,Byte7がLane1にマッピングされ、Symbol Byte2,Byte5がLane2にマッピングされる。
【0039】
受信SerDes回路322は、受信パケットのそれぞれのシンボルコードを、対応する受信レーンから受信IO回路310を通して受け取り、受け取ったシンボルコードをシリアル−パラレル変換した後、受信パケットをデータリンク層及びトレーニング回路323に送出する。ここで、それぞれのシンボルコードと受信レーンとの間の対応関係(マッピング)は、可変である。受信SerDes回路322は、レーン割当制御回路330から受信レーン数情報CON2を受け取り、その受信レーン数情報CON2によって指定される受信レーン数が実現されるようにレーン−シンボルマッピング処理を行う。そのレーン−シンボルマッピング処理は、上記と同様である。
【0040】
トレーニング回路323は、レーン割当制御回路330から再リンク確立指示CON3を受け取ると、再リンク確立処理(リンクトレーニング)を実行する。具体的には、トレーニング回路323は、再リンク確立に必要なトレーニング用送信パケットを生成、送信し、また、通信相手からトレーニング用受信パケットを受け取る。これらトレーニング用送信パケット及びトレーニング用受信パケットに基いて、トレーニング回路323は同期制御を行い、リンクトレーニングを行う。
【0041】
3.動作例
図10は、本実施の形態に係るシリアル通信システム1の動作例を示すタイミングチャートである。本例では、第1通信装置100Aによってレーン割当変更要求REQが生成されるとする。
【0042】
まず、第1通信装置100Aから通常パケット(Normal Packet)が2回出力される。その後に、特殊パケット(Special Packet)としてレーン割当変更要求REQが生成、出力される。第2通信装置100Bは、第1通信装置100Aから、2個の通常パケットを受信した後、レーン割当変更要求REQを受信する。そして、第2通信装置100Bは、受け取ったレーン割当変更要求REQに応答する確認応答パケット(ACKパケット)を、第1通信装置100Aに返送する。第1通信装置100Aは、そのACKパケットの受信を契機として、再リンク確立処理を開始する。第1通信装置100Aでの再リンク確立処理の開始を受けて、リンクステータスが、リンク確立状態から未確立状態に変わる。従って、第2通信装置100Bにおいても、再リンク確立処理が開始される。第1通信装置100Aと第2通信装置100Bのそれぞれにおいて、レーン割当変更要求REQに応じたレーン割り当ての変更が行われる。再リンク確立処理が完了すると、再び、通常パケットの送受信が開始される。
【0043】
以上、本発明の実施の形態が添付の図面を参照することにより説明された。但し、本発明は、上述の実施の形態に限定されず、要旨を逸脱しない範囲で当業者により適宜変更され得る。
【符号の説明】
【0044】
1 シリアル通信システム
100 通信装置
100A 第1通信装置
100B 第2通信装置
200 上位レイヤ処理部
210 アプリケーション部
220 OS部
300 シリアルインタフェース回路
310 双方向IO回路
311 送信バッファ
312 受信バッファ
320 物理層処理回路
321 送信SerDes回路
322 受信SerDes回路
323 トレーニング回路
330 レーン割当制御回路
331 デコーダ
332 制御回路
LN レーン
SW 切り替え信号
REQ レーン割当変更要求
CON レーン割当制御信号

【特許請求の範囲】
【請求項1】
複数のレーンのそれぞれに接続される複数の双方向IO回路と、
上位レイヤ処理部と前記複数の双方向IO回路との間に設けられる物理層処理回路と、
前記複数の双方向IO回路及び前記物理層処理回路の動作を制御するレーン割当制御回路と
を備え、
前記複数の双方向IO回路の各々は、送信レーンにデータを送信する送信IO回路、あるいは、受信レーンからデータを受信する受信IO回路のいずれとしても動作可能なように構成され、
前記物理層処理回路は、前記上位レイヤ処理部から受け取る送信パケットを前記送信IO回路を介して前記送信レーンに送信し、且つ、前記受信レーンから前記受信IO回路を介して受け取る受信パケットを前記上位レイヤ処理部に出力するように、物理層処理を行い、
前記複数のレーンの各々は、前記送信レーンあるいは前記受信レーンのいずれとしても使用可能であり、
前記複数のレーンのうち前記送信レーンに割り当てられるレーンの数は、送信レーン数であり、
前記複数のレーンのうち前記受信レーンに割り当てられるレーンの数は、受信レーン数であり、
前記送信レーン数及び前記受信レーン数は、可変であり、
前記レーン割当制御回路は、指定された前記送信レーン数及び前記受信レーン数での前記物理層処理が実現されるように、前記物理層処理回路及び前記複数の双方向IO回路を動的に制御する
シリアルインタフェース回路。
【請求項2】
請求項1に記載のシリアルインタフェース回路であって、
前記各々の双方向IO回路は、切り替え信号に従って、前記送信IO回路あるいは前記受信IO回路として動作し、
前記物理層処理回路は、レーン割当制御信号に従って、前記物理層処理を行い、
前記送信レーン数及び前記受信レーン数は、レーン割当変更要求によって指定され、
前記レーン割当制御回路は、前記レーン割当変更要求を受け取り、前記指定された送信レーン数及び受信レーン数での前記物理層処理が実現されるように、前記切り替え信号及び前記レーン割当制御信号を生成する
シリアルインタフェース回路。
【請求項3】
請求項2に記載のシリアルインタフェース回路であって、
前記上位レイヤ処理部に含まれるソフトウェアが、前記レーン割当変更要求を生成し、
前記レーン割当制御回路は、前記上位レイヤ処理部から前記レーン割当変更要求を受け取る
シリアルインタフェース回路。
【請求項4】
請求項3に記載のシリアルインタフェース回路であって、
前記物理層処理回路は、前記上位レイヤ処理部から前記レーン割当変更要求を受け取り、前記レーン割当変更要求を通信相手に向けて送信し、
前記通信相手から、前記レーン割当変更要求のパケットに応答する確認応答パケットが返送され、
前記物理層処理回路は、前記確認応答パケットの受信に応答して、前記通信相手との間で再リンク確立処理を行う
シリアルインタフェース回路。
【請求項5】
第1通信装置と、
複数のレーンを介して前記第1通信装置と接続された第2通信装置と
を具備し、
前記第1通信装置及び前記第2通信装置の各々は、
前記複数のレーンのそれぞれに接続される複数の双方向IO回路と、
上位レイヤ処理部と前記複数の双方向IO回路との間に設けられる物理層処理回路と、
前記複数の双方向IO回路及び前記物理層処理回路の動作を制御するレーン割当制御回路と
を備え、
前記複数の双方向IO回路の各々は、送信レーンにデータを送信する送信IO回路、あるいは、受信レーンからデータを受信する受信IO回路のいずれとしても動作可能なように構成され、
前記物理層処理回路は、前記上位レイヤ処理部から受け取る送信パケットを前記送信IO回路を介して前記送信レーンに送信し、且つ、前記受信レーンから前記受信IO回路を介して受け取る受信パケットを前記上位レイヤ処理部に出力するように、物理層処理を行い、
前記複数のレーンの各々は、前記送信レーンあるいは前記受信レーンのいずれとしても使用可能であり、
前記複数のレーンのうち前記送信レーンに割り当てられるレーンの数は、送信レーン数であり、
前記複数のレーンのうち前記受信レーンに割り当てられるレーンの数は、受信レーン数であり、
前記送信レーン数及び前記受信レーン数は、可変であり、
前記レーン割当制御回路は、指定された前記送信レーン数及び前記受信レーン数での前記物理層処理が実現されるように、前記物理層処理回路及び前記複数の双方向IO回路を制御する
シリアル通信システム。
【請求項6】
請求項5に記載のシリアル通信システムであって、
前記各々の双方向IO回路は、切り替え信号に従って、前記送信IO回路あるいは前記受信IO回路として動作し、
前記物理層処理回路は、レーン割当制御信号に従って、前記物理層処理を行い、
前記送信レーン数及び前記受信レーン数は、レーン割当変更要求によって指定され、
前記レーン割当制御回路は、前記レーン割当変更要求を受け取り、前記指定された送信レーン数及び受信レーン数での前記物理層処理が実現されるように、前記切り替え信号及び前記レーン割当制御信号を生成する
シリアル通信システム。
【請求項7】
請求項6に記載のシリアル通信システムであって、
前記第1通信装置において、前記上位レイヤ処理部に含まれるソフトウェアが前記レーン割当変更要求を生成し、前記レーン割当制御回路及び前記物理層処理回路は前記上位レイヤ処理部から前記レーン割当変更要求を受け取り、前記物理層処理回路は前記レーン割当変更要求を前記第2通信装置に向けて送信し、
前記第2通信装置の前記レーン割当制御回路は、前記第1通信装置から送信された前記レーン割当変更要求を受け取る
シリアル通信システム。
【請求項8】
請求項7に記載のシリアル通信システムであって、
前記第2通信装置は、前記受け取ったレーン割当変更要求のパケットに応答する確認応答パケットを、前記第1通信装置に返送し、
前記第1通信装置の前記物理層処理回路は、前記確認応答パケットの受信に応答して、前記第2通信装置との間で再リンク確立処理を行う
シリアル通信システム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate