(57)【要約】【課題】再ネゴシエーションによるデータ転送の中断を抑えつつ、２レーンの伝送品質が交互に悪化するような状態に対応すること。【解決手段】送信装置は、媒体アクセス制御部１ａと２つの物理部１ｂを有する。媒体アクセス制御部１ａは、冗長モードによる送信指示を受け取ると、受信装置との間の再ネゴシエーションなしで送信データを２つの物理部１ｂに送る。そして、２つの物理部１ｂは、それぞれのレーンを用いて送信データを送信する。【選択図】図１Ｃ
2019134368.tif 000002
【特許請求の範囲】
【請求項１】
複数のレーンを用いて送受信を行う転送装置において、
同じデータを複数のレーンを用いて転送する冗長モードによる送信指示を受け取ると、他の転送装置との間の再ネゴシエーションなしで送信データを第１データと第２データとして出力する送信制御部と、
前記送信制御部が出力した前記第１データを第１のレーンを用いて送信する第１送信部と、
前記送信制御部が出力した前記第２データを第２のレーンを用いて送信する第２送信部と
を有することを特徴とする転送装置。
【請求項２】
前記第１のレーンを用いて他の転送装置から送信された第３データを受信する第１受信部と、
前記第２のレーンを用いて前記他の転送装置から送信された第４データを受信する第２受信部と、
前記第３データ及び前記第４データのうち少なくとも一方にエラーが含まれないと判定した場合にエラーが含まれないデータを出力する冗長受信処理を行う受信制御部と
をさらに有することを特徴とする請求項１に記載の転送装置。
【請求項３】
前記受信制御部は、前記第３データ及び前記第４データに含まれるシリアル番号に基づいて、前記冗長モードであると判定した場合に前記冗長受信処理を行うことを特徴とする請求項２に記載の転送装置。
【請求項４】
前記受信制御部は、前記第３データ及び前記第４データの両方にエラーが含まれないと所定の回数連続して判定した場合に、前記冗長モードからデータを分配して送信する分配モードへの変更を依頼することを特徴とする請求項２又は３に記載の転送装置。
【請求項５】
複数のレーンを用いて送受信を行う転送方法において、
同じデータを複数のレーンを用いて転送する冗長モードによる送信指示を受け取ると、他の転送装置との間の再ネゴシエーションなしで送信データを第１データと第２データとして出力し、
出力された前記第１データを第１のレーンを用いて送信し、
出力された前記第２データを第２のレーンを用いて送信する
ことを特徴とする転送方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、転送装置及び転送方法に関する。
【背景技術】
【０００２】
近年、データ転送が必要な集積回路間の相互接続にシリアル伝送方式が用いられる。ここで、シリアル伝送方式とは、クロックとデータを１つの信号に重ね合わせて伝送する方式である。また、マルチレーンのシリアル伝送方式は、複数のシリアル伝送を束ねて広帯域を実現する。
【０００３】
マルチレーンのシリアル伝送では、送信側はデータを複数のレーンのビット列に分配し、各レーンはビット列をクロックで送信する。受信側は、レーン毎に受信信号からクロックを再生し、再生したクロックで受信信号からビット列を読み取る。受信側は、さらにレーン間の伝送遅延のスキューを補正して、複数レーンのビット列から元のデータを復元する。
【０００４】
複数レーンへのデータの分配と複数レーンからのデータの復元は一般的に物理層内の物理符号化副層により行われる。物理層が伝送媒体の違いを吸収することにより、物理層の上位層は、伝送媒体に依存せずにマルチレーンのシリアル伝送を実装することができる。
【０００５】
マルチレーンのシリアル伝送では、可用性を高めるため、初期化時に伝送速度及び使用レーンに関するネゴシエーションが行われる。また、耐故障性や省電力の目的で、稼働中にデータ転送を一時中断して再ネゴシエーションが行われる。
【０００６】
マルチレーンのシリアル伝送は、厳しい伝送条件で使用される場合、電源品質や温度等の環境条件に左右され、エラー率が上昇する。発生したエラーは上位層によって検出され、上位層はデータを再送信することでエラーを訂正するが、エラー率が高い場合、再送信を繰り返しても転送が成功しない。すると、上位層は、シリアル伝送の故障と診断する。そして、再ネゴシエーションが行われ、伝送品質の悪くなったレーンを検出、隔離することにより、マルチレーンのシリアル伝送は継続稼働する。
【０００７】
なお、リンクのうちの１つで障害のある通信を自動的に検出し、障害のある通信が検出されたリンクに接続されたＰＨＹを無効にすることによって、障害を分離するＳＡＳ（Serial  Attached  SCSI）エクスパンダがある。
【０００８】
また、第１ＰＣＩブリッジと第１ＩＯデバイスとを接続する第１リンク中で障害が検出されると、第２ＰＣＩブリッジと第２ＩＯデバイスとを接続する第２リンクの使われていない部分を用いて第１リンクを代替するフェイルオーバ技術がある。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特表２００９−５４０４３６号公報
【特許文献２】特開２０１２−１１８９６９号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
再ネゴシエーションを行って伝送品質の悪くなったレーンを検出、隔離する従来技術は、特定のレーンの伝送品質が継続して悪くなる場合には有効である。しかしながら、複数レーンの伝送品質が交互に悪化するような状態では、時間のかかる再ネゴシエーションが頻繁に行われ、再ネゴシエーション中にデータ転送が行えないという問題がある。
【００１１】
本発明は、１つの側面では、複数レーンの伝送品質が交互に悪化するような状態にデータ転送を中断することなく対応することを目的とする。
【課題を解決するための手段】
【００１２】
１つの態様では、転送装置は、複数のレーンを用いて送受信を行う。前記転送装置は、送信制御部と、第１送信部と第２送信部とを有する。前記送信制御部は、同じデータを複数のレーンを用いて転送する冗長モードによる送信指示を受け取ると、他の転送装置との間の再ネゴシエーションなしで送信データを第１データと第２データとして出力する。前記第１送信部は、前記送信制御部が出力した前記第１データを第１のレーンを用いて送信する。前記第２送信部は、前記送信制御部が出力した前記第２データを第２のレーンを用いて送信する。
【発明の効果】
【００１３】
１つの側面では、本発明は、複数レーンの伝送品質が交互に悪化するような状態にデータ転送を中断することなく対応することができる。
【図面の簡単な説明】
【００１４】
【図１Ａ】図１Ａは、分配モードを説明するための図である。
【図１Ｂ】図１Ｂは、単独モードを説明するための図である。
【図１Ｃ】図１Ｃは、冗長モードを説明するための図である。
【図２】図２は、実施例に係る送信装置の媒体アクセス制御部の機能ブロック図である。
【図３】図３は、実施例に係る受信装置の媒体アクセス制御部の機能ブロック図である。
【図４】図４は、送信装置の媒体アクセス制御部による処理のフローを示すフローチャートである。
【図５】図５は、受信装置の媒体アクセス制御部による処理のフローを示すフローチャートである。
【発明を実施するための形態】
【００１５】
以下に、本願の開示する転送装置及び転送方法の実施例を図面に基づいて詳細に説明する。なお、この実施例は開示の技術を限定するものではない。
【実施例】
【００１６】
まず、実施例に係る３つの転送モードについて説明する。３つの転送モードは、分配モード、単独モード及び冗長モードである。図１Ａは、分配モードを説明するための図であり、図１Ｂは、単独モードを説明するための図であり、図１Ｃは、冗長モードを説明するための図である。なお、実施例では、レーンの数が２つである場合について説明するが、レーンの数は３つ以上でもよい。マルチレーンのシリアル伝送の例としては、イーサネット（登録商標）、ＵＳＢ（Universal  Serial  Bus）、ＰＣＩ（Peripheral  Component  Interconnect）等がある。
【００１７】
分配モードでは、図１Ａに示すように、送信側の媒体アクセス制御部（Media  Access  Control  部）１ａは、送信データ「ＡＢＣＤＥＦＧＨ」が上位層から入力されると、＃Ｎ及びＣＲＣを付加した上で、キャラクタ単位で送信データを各レーンに分配する。ここで、＃Ｎは送信データのシリアル番号であり、ＣＲＣはエラー検出のための巡回冗長検査（Cyclic  Redundancy  Check）コードである。図１Ａでは、左レーンに＃Ｎ及び「ＡＣＥＧ」、右レーンに「ＢＤＦＨ」及びＣＲＣが分配される。
【００１８】
各レーンの送信側の物理部１ｂは、分配されたデータの先頭と末尾に識別コード（それぞれＳｔａｒｔとＥｎｄ）を付加した上で、ビット列としてシリアル伝送路に送り出す。各レーンの受信側の物理部２ｂは受信したビット列から識別コードを認識して分配データを取り出す。
【００１９】
受信側の媒体アクセス制御部２ａは左レーンが受信した＃Ｎ及び「ＡＣＥＧ」と右レーンが受信した「ＢＤＦＨ」及びＣＲＣを結合し、＃ＮとＣＲＣのチェックを実施する。＃Ｎが次に受信すべきデータのシリアル番号であり、なおかつＣＲＣエラーがなければ、受信側の媒体アクセス制御部２ａは、結合した受信データ「ＡＢＣＤＥＦＧＨ」を上位層に出力する。
【００２０】
単独モードでは、図１Ｂに示すように、２レーンのうち１レーンだけでデータが転送される。送信側の媒体アクセス制御部１ａは、送信データ「ＡＢＣＤＥＦＧＨ」が上位層から入力されると、＃Ｎ及びＣＲＣを付加した上で、送信データを左レーンの物理部１ｂに渡す。
【００２１】
左レーンの送信側の物理部１ｂは、先頭と末尾に識別コードを付加した上で、ビット列としてシリアル伝送路に送り出す。ここで、右レーンはネゴシエーションの際に伝送品質が悪く、隔離されているとする。
【００２２】
左レーンの受信側の物理部２ｂは、受信したビット列から識別コードを認識して＃Ｎ、「ＡＢＣＤＥＦＧＨ」及びＣＲＣを取り出して受信側の媒体アクセス制御部２ａに渡す。受信側の媒体アクセス制御部２ａは、＃Ｎ及びＣＲＣのチェックを実施し、＃Ｎが次に受信すべきデータのシリアル番号であり、なおかつＣＲＣエラーがなければ「ＡＢＣＤＥＦＧＨ」を上位層に出力する。
【００２３】
冗長モードでは、図１Ｃに示すように、２つのレーンに同じデータが転送される。送信側の媒体アクセス制御部１ａは、送信データ「ＡＢＣＤＥＦＧＨ」が上位層から入力されると、＃Ｎ及びＣＲＣを付加した上で、送信データを左右両方のレーンの物理部１ｂに渡す。左右両方のレーンの物理部１ｂは、それぞれ先頭と末尾に識別コードを付加した上で、ビット列としてシリアル伝送路に送り出す。
【００２４】
左右両レーンの受信側の物理部２ｂは、受信したビット列から識別コードを認識して＃Ｎ、「ＡＢＣＤＥＦＧＨ」及びＣＲＣを取り出して受信側の媒体アクセス制御部２ａに渡す。ここで、左レーンのデータは一部にエラーを含んでいるとする。
【００２５】
受信側の媒体アクセス制御部２ａは、左レーンの受信データのＣＲＣチェックを行い、エラーを検出してこれを廃棄する。また、受信側の媒体アクセス制御部２ａは、右レーンの＃Ｎ及びＣＲＣのチェックを実施し、＃Ｎが次に受信すべきデータのシリアル番号であり、なおかつＣＲＣエラーがないことを確認し、右レーンで受信したデータ「ＡＢＣＤＥＦＧＨ」を上位層に出力する。
【００２６】
このように、冗長モードでは、受信側の媒体アクセス制御部２ａは、左右両レーンのいずれかにエラーがない場合に受信データを上位層に出力する。また、分配モードから冗長モードへの切替は、再ネゴシエーションなしで行われる。したがって、実施例に係るデータ転送は、左右のレーンの伝送品質が交互に悪化するような状態に再ネゴシエーションを行うことなく対応することができる。
【００２７】
次に、実施例に係る送信装置の媒体アクセス制御部１ａ及び受信装置の媒体アクセス制御部２ａの構成について説明する。図２は、実施例に係る送信装置の媒体アクセス制御部１ａの機能ブロック図であり、図３は、実施例に係る受信装置の媒体アクセス制御部２ａの機能ブロック図である。
【００２８】
図２に示すように、送信装置１の媒体アクセス制御部１ａは、上位部送信インタフェース１１と、送信処理回路１２と、２つの媒体独立インタフェース送信ブロック１３とを有する。
【００２９】
上位部送信インタフェース１１は、送信装置１の上位部（上位層）から送信データを受信し、送信処理回路１２に渡す。
【００３０】
送信処理回路１２は、上位部によって指定された送信モード（転送モード）に基づいて、送信データを２つの媒体独立インタフェース送信ブロック１３に渡す。すなわち、上位部によって指定された送信モードが分配モードである場合には、送信処理回路１２は、送信データを２つの媒体独立インタフェース送信ブロック１３に分配する。また、送信処理回路１２は、一方の媒体独立インタフェース送信ブロック１３にはシリアル番号を渡し、他方の媒体独立インタフェース送信ブロック１３にはＣＲＣを渡す。
【００３１】
また、上位部によって指定された送信モードが単独モードである場合には、送信処理回路１２は、ネゴシエーションにより決定された媒体独立インタフェース送信ブロック１３にシリアル番号、送信データ、ＣＲＣを渡す。また、上位部によって指定された送信モードが冗長モードである場合には、送信処理回路１２は、両方の媒体独立インタフェース送信ブロック１３にシリアル番号、送信データ、ＣＲＣを渡す。
【００３２】
なお、送信処理回路１２は、例えば、送信モードが分配モードである場合には、シリアル番号を連続した値とし、分配モードでない場合には、１つとびの値とする。別の例としては、シリアル番号の最下位ビットを送信モードの表示に使用する。
【００３３】
媒体独立インタフェース送信ブロック１３は、送信処理回路１２から渡されたデータの先頭と末尾に識別コードを付加し、対応する物理部１ｂに渡す。媒体独立インタフェース送信ブロック１３は、伝送媒体に依存することなく処理を行う。
【００３４】
また、図３に示すように、受信装置２の媒体アクセス制御部２ａは、２つの媒体独立インタフェース受信ブロック２１と、受信処理回路２２と、上位部受信インタフェース２３とを有する。
【００３５】
媒体独立インタフェース受信ブロック２１は、対応する物理部２ｂからデータを受信し受信処理回路２２に渡す。媒体独立インタフェース受信ブロック２１は、伝送媒体に依存することなく処理を行う。
【００３６】
受信処理回路２２は、２つの媒体独立インタフェース受信ブロック２１の受信状況に基づいて受信処理を行い、受信モード(転送モード)、受信データ及び受信エラー（受信エラーがある場合）を上位部受信インタフェース２３に渡す。
【００３７】
具体的には、２つの媒体独立インタフェース受信ブロック２１から、分配されたデータを受け取った場合には、受信処理回路２２は、復元受信処理を行う。すなわち、受信処理回路２２は、一方の媒体独立インタフェース受信ブロック２１から受け取った＃Ｎ及び分配データと他の媒体独立インタフェース受信ブロック２１から受け取った分配データ及びＣＲＣを結合し、＃ＮとＣＲＣのチェックを行う。そして、受信処理回路２２は、結合した分配データを受信データとして分配モードであることを示す情報とともに上位部受信インタフェース２３に渡す。また、受信処理回路２２は、＃ＮとＣＲＣのチェックによりエラーを検出した場合に、受信エラーを上位部受信インタフェース２３に渡す。
【００３８】
なお、受信処理回路２２は、分配されたデータを受け取ったか否かの判定を、例えば、シリアル番号が連続した値であるか１つとびの値であるかに基づいて判定する。別の例では、シリアル番号の最下位ビットに基づいて判定する。
【００３９】
また、受信処理回路２２は、一方の媒体独立インタフェース受信ブロック２１だけからデータを受け取った場合には、片側受信処理を行う。すなわち、受信処理回路２２は、一方の媒体独立インタフェース受信ブロック２１から受け取ったデータに含まれる＃ＮとＣＲＣを用いてエラーチェックを行う。そして、受信処理回路２２は、媒体独立インタフェース受信ブロック２１から受け取ったデータのうち＃Ｎ及びＣＲＣを取り除いた部分を受信データとして単独モードであることを示す情報とともに上位部受信インタフェース２３に渡す。また、受信処理回路２２は、＃ＮとＣＲＣのチェックによりエラーを検出した場合に、受信エラーを上位部受信インタフェース２３に渡す。
【００４０】
また、受信処理回路２２は、２つの媒体独立インタフェース受信ブロック２１から分配されていないデータを受け取った場合には、冗長受信処理を行う。すなわち、受信処理回路２２は、各媒体独立インタフェース受信ブロック２１から受け取ったデータに含まれる＃ＮとＣＲＣを用いてエラーチェックを行う。そして、受信処理回路２２は、少なくとも一方でエラーが発生していない場合、媒体独立インタフェース受信ブロック２１から受け取ったデータのうちエラーがないデータの＃Ｎ及びＣＲＣを取り除いた部分を受信データとして上位部受信インタフェース２３に渡す。このとき、受信処理回路２２は、冗長モードであることを示す情報も上位部受信インタフェース２３に渡す。また、受信処理回路２２は、＃ＮとＣＲＣのチェックによりエラーを検出した場合に、受信エラーを上位部受信インタフェース２３に渡す。
【００４１】
また、受信処理回路２２は、冗長受信処理において、２つの媒体独立インタフェース受信ブロック２１から受け取ったデータの両方にエラーが検出されないことが所定の回数連続して発生すると、上位部に冗長モードから分配モードへの変更を依頼する。
【００４２】
上位部受信インタフェース２３は、受信データ、受信モード（分配モード、単独モード又は冗長モード）及び受信エラー（チェック結果で受信エラーがある場合）を上位部に渡す。
【００４３】
次に、送信装置１の媒体アクセス制御部１ａ及び受信装置２の媒体アクセス制御部２ａによる処理のフローについて説明する。図４は、送信装置１の媒体アクセス制御部１ａによる処理のフローを示すフローチャートであり、図５は、受信装置２の媒体アクセス制御部２ａによる処理のフローを示すフローチャートである。なお、図４は、２つのレーンが利用可能である場合を示す。
【００４４】
図４に示すように、媒体アクセス制御部１ａは、送信データありか否かを判定し（ステップＳ１）、送信データがあるまでステップＳ１の処理を繰り返す。そして、送信データがあると、媒体アクセス制御部１ａは、送信モードが分配モードであるか否かを判定し（ステップＳ２）、送信モードが分配モードである場合には、分配送信処理を行う（ステップＳ３）。ここで、分配送信処理とは、送信データを２つのレーンに分配して送信する処理である。
【００４５】
一方、送信モードが分配モードでない場合には、媒体アクセス制御部１ａは、複製送信処理を行う（ステップＳ４）。ここで、複製送信処理とは、送信データを両方のレーンで送信する処理である。
【００４６】
そして、媒体アクセス制御部１ａは、シリアル番号を更新する（ステップＳ５）。なお、シリアル番号は、例えば、分配モードの場合には、連続する値として更新され、分配モードでない場合には、１つとびの値として更新される。
【００４７】
このように、媒体アクセス制御部１ａが、複製送信処理を行うことによって、２つのレーンの伝送品質が交互に悪化するような状態でも、データ転送を継続して行うことができる。
【００４８】
また、図５に示すように、媒体アクセス制御部２ａは、受信データありか否かを判定し（ステップＳ１１）、受信データがあるまでステップＳ１１の処理を繰り返す。そして、受信データがあると、媒体アクセス制御部２ａは、受信データは分配データであるか否かを判定する（ステップＳ１２）。媒体アクセス制御部２ａは、例えば、シリアル番号が連続する値であるか１つとびの値であるかによって分配データであるか否かを判定する。
【００４９】
そして、媒体アクセス制御部２ａは、受信データが分配データである場合には、両受信待ち時間切れであるか否かを判定する（ステップＳ１３）。そして、媒体アクセス制御部２ａは、両受信待ち時間切れである場合には、処理を終了し、両受信待ち時間切れでない場合には、復元受信処理を行う（ステップＳ１４）。
【００５０】
一方、受信データが分配データでない場合には、媒体アクセス制御部２ａは、両受信待ち時間切れであるか否かを判定し（ステップＳ１５）、両受信待ち時間切れである場合には、片側受信処理を行う（ステップＳ１６）。一方、両受信待ち時間切れでない場合には、媒体アクセス制御部２ａは、冗長受信処理を行う（ステップＳ１７）。
【００５１】
このように、媒体アクセス制御部２ａは、転送モードを特定し、転送モードに応じた受信処理を行うので、送信装置１は、転送モードを変えてデータを送信することができる。
【００５２】
上述してきたように、実施例では、送信装置１の媒体アクセス制御部１ａは、冗長モードによる送信指示を受け取ると、受信装置２との間の再ネゴシエーションなしで送信データを２つの物理部１ｂに送る。そして、２つの物理部１ｂは、それぞれのレーンを用いて送信データを送信する。したがって、送信装置１と受信装置２の間のデータ転送は、再ネゴシエーションによるデータ転送の中断を抑えつつ、２レーンの伝送品質が交互に悪化するような状態に対応することができる。
【００５３】
また、実施例では、受信処理回路２２は、２つの媒体独立インタフェース受信ブロック２１から分配されていないデータを受け取った場合には、冗長受信処理を行うので、２レーンの伝送品質が交互に悪化するような状態に対応することができる。
【００５４】
また、実施例では、受信処理回路２２は、シリアル番号が連続する値であるか１つとびの値であるかによって分配データであるか否かを判定するので、再ネゴシエーションなしで、受信モードを特定することができる。
【００５５】
また、実施例では、受信処理回路２２は、２つの媒体独立インタフェース受信ブロック２１から受け取ったデータの両方にエラーが検出されないことが所定の回数連続して発生すると、上位部に冗長モードから分配モードへの変更を依頼する。したがって、受信装置２の上位部は、送信装置１の上位部へ冗長モードから分配モードへの変更を要求することができる。
【００５６】
なお、実施例では、送信装置１と受信装置２が異なる装置である場合について説明したが、送信装置１と受信装置２は１つの転送装置に含まれてもよい。
【符号の説明】
【００５７】
１    送信装置
１ａ    媒体アクセス制御部
１ｂ    物理部
２    受信装置
２ａ    媒体アクセス制御部
２ｂ    物理部
１１    上位部送信インタフェース
１２    送信処理回路
１３    媒体独立インタフェース送信ブロック
２１    媒体独立インタフェース受信ブロック
２２    受信処理回路
２３    上位部受信インタフェース
【図１Ａ】
2019134368.tif 000003
【図１Ｂ】
2019134368.tif 000004
【図１Ｃ】
2019134368.tif 000005
【図２】
2019134368.tif 000006
【図３】
2019134368.tif 000007
【図４】
2019134368.tif 000008
【図５】
2019134368.tif 000009