以下、図面を用いて実施形態を説明する。
図1は、情報処理装置、情報処理システムおよび通信装置の一実施形態を示す。図1に示す情報処理システムSYSは、複数のレーンL1および複数のレーンL2を介して互いに接続される複数の情報処理装置PDEV1、PDEV2を有する。各情報処理装置PDEV1、PDEV2は、演算処理装置10、記憶装置20および通信装置30を有する。記憶装置20は、演算処理装置10が処理するデータを記憶する。通信装置30は、フレーム転送部40とインタフェース部50とを有する。フレーム転送部40は、送信処理部42、受信処理部44および縮退管理部46を有する。フレーム転送部40は、演算処理装置10から出力される送信データSDATAを含む送信フレームデータSFRAMを出力し、受信フレームデータRFRAMに含まれる受信データを演算処理装置10に出力する転送部の一例である。送信フレームデータSFRAMは、送信情報の一例であり、受信フレームデータRFRAMは、受信情報の一例である。
インタフェース部50は、送信部52、受信部54および検出部56を有する。情報処理装置PDEV1、PDEV2は、互いに同一または同様の構成を有するため、以下では、情報処理装置PDEV1を中心に説明する。以下に示す情報処理装置PDEV1の動作は、情報処理装置PDEV2により実行されてもよい。
情報処理装置PDEV1のフレーム転送部40において、送信処理部42は、演算処理装置10から出力されるデータSDATAを受け、データSDATAを含むフレームデータSFRAMを生成する。また、送信処理部42は、縮退管理部46から受ける縮退情報DGRD2を含むフレームデータSFRAMを生成する。
受信処理部44は、複数のレーンL2から受信するフレームデータRFRAMに含まれるデータRDATAを抽出し、抽出したデータRDATAを演算処理装置10に出力する。また、受信処理部44は、フレームデータRFRAMに含まれる第1のレーンL1のいずれかのエラーを示すエラー情報ERR1を抽出し、抽出したエラー情報ERR1を縮退管理部46に出力する。
縮退管理部46は、エラー情報ERR1に基づいて、複数のレーンL1のうち、使用を停止する使用停止レーンを示す縮退情報DGRD1を生成し、生成した縮退情報DGRD1を送信部52に出力する。縮退管理部46は、検出部56から出力されるエラー情報ERR2に基づいて、複数のレーンL2のうち、使用を停止する使用停止レーンを示す縮退情報DGRD2を生成し、生成した縮退情報DGRD2を受信部54に出力する。また、縮退管理部46は、縮退情報DGRD2を送信処理部42に出力し、送信処理部42に縮退情報DGRD2を含むフレームデータSFRAMを生成させる。以下の説明では、レーンL1またはレーンL2のいずれかの使用を停止し、使用するレーンL1またはレーンL2の数を減らすことは、縮退とも称される。
情報処理装置PDEV1のインタフェース部50において、送信部52は、送信処理部42から出力されるフレームデータSFRAMを複数の分配送信データDSDに分配し、分配した分配送信データDSDを複数のレーンL1にそれぞれ送信する。この際、送信部52は、フレームデータSFRAMに対応する分配送信データDSDを、複数のレーンL1のうち、縮退情報DGRD1が示す使用停止レーンを除くレーンに送信する。
受信部54は、複数のレーンL2を介してそれぞれ受信する複数の分配受信データDRDをフレームデータRFRAMにまとめ、まとめたフレームデータRFRAMを受信処理部44に出力する。この際、受信部54は、複数のレーンL2のうち、縮退情報DGRD2が示す使用停止レーンを除くレーンを介して受信する分配受信データDRDからフレームデータRFRAMを生成する。
検出部56は、複数の分配受信データDRDのエラーを検出し、エラーが検出された分配受信データDRDを受信したレーンL2を示すエラー情報ERR2を生成し、生成したエラー情報ERR2を縮退管理部46に出力する。
例えば、検出部56が分配受信データDRDのいずれかのエラーを検出した場合、受信部54は、縮退管理部46が生成する縮退情報DGRD2に基づいて、エラーを検出した分配受信データDRDを受信したレーンL2の使用を停止する。さらに、送信処理部42は、縮退情報DGRD2に基づいて、使用を停止したレーンL2を示す情報を含むフレームデータSFRAMを生成し、送信部52を介して通信先の情報処理装置PDEV2に送信する。通信先の情報処理装置PDEV2の受信処理部42は、フレームデータRFRAMに含まれるエラー情報ERR1を抽出して縮退管理部46に出力する。通信先の情報処理装置PDEV2の縮退管理部46は、エラー情報ERR1に基づいて縮退情報DGRD1を送信部52に出力し、送信部52に、縮退情報DGRD1に含まれる使用停止レーンが示すレーンL2の使用を停止させる。すなわち、情報処理装置PDEV1、PDEV2は、情報処理装置PDEV1、PDEV2の一方が検出した分配受信データDRDのエラーの検出に基づいて、エラーを検出したレーンを縮退することができる。
エラーの検出に基づいて故障したレーンL2を特定し、特定したレーンL2の使用を停止する処理は、フレーム転送部40により実行される。すなわち、図1に示す実施形態では、レーンL1、L2にデータを入出力するインタフェース部50が、故障したレーンL2を特定する機能を持たない場合に、インタフェース部50のプロトコルを変えることなくレーンL2を縮退することができる。
したがって、インタフェース部50に新たな機能を追加することなく、分配受信データDRDのエラーの検出に基づいて、使用を停止するレーンL2を特定し、特定したレーンL2の使用を停止することができる。この際、使用を停止したレーンL2を示す縮退情報DGRD2を含むフレームデータSFRAMを通信先の情報処理装置PDEVに送信することで、通信先の情報処理装置PDEVにおいても、エラーが検出されたレーンL2の使用を停止することができる。
さらに、インタフェース部50が故障したレーンL1、L2を特定する機能を持たない場合にも、レーンL1、L2の故障を検出し、故障したレーンL1、L2を縮退することができるため、情報処理システムSYSの信頼性を向上することができる。
なお、情報処理装置PDEV1の縮退管理部46は、エラー情報ERR2に基づいて、使用を停止するレーンL2を示す縮退情報DGRD2を生成する場合、レーンL1の所定数の使用を停止させる縮退情報DGRD1を生成してもよい。この場合、縮退情報DGRD1は、送信処理部42を介して情報処理装置PDEV2にも送信され、情報処理装置PDEV2は、レーンL1の所定数の使用を停止する。同様に、情報処理装置PDEV2の縮退管理部46は、エラー情報ERR2に基づいて、使用を停止するレーンL1を示す縮退情報DGRD2を生成する場合、レーンL2の所定数の使用を停止させる縮退情報DGRD1を生成してもよい。この場合、縮退情報DGRD1は、送信処理部42を介して情報処理装置PDEV1にも送信され、情報処理装置PDEV2は、レーンL2の所定数の使用を停止する。この結果、レーンL2(またはレーンL1)を介して受信するデータのエラーの検出に基づいて、情報処理装置PDEV1、PDEV2の双方において、レーンL1、L2の所定数の使用が停止される。なお、レーンL1、L2でのデータの伝送レートを揃えるために、使用を停止するレーンL2の数と、使用を停止するレーンL1の数は、同じであることが望ましい。
図2は、情報処理装置、情報処理システムおよび通信装置の別の実施形態を示す。図2に示す情報処理システムSYS1は、複数の伝送路PHL(以下、物理レーンPHLとも称される)を含むリンクを介して接続される複数の情報処理装置PDEV(PDEV1、PDEV2)を有する。情報処理装置PDEV1、PDEV2は、複数の物理レーンPHLを用いて、データを相互に伝送する機能を有する。情報処理装置PDEV1、PDEV2を相互に接続するリンクは、光伝送方式または電気伝送方式が適用される。
情報処理装置PDEV1、PDEV2は、情報処理システムSYS1のノードにそれぞれ対応するため、以下では、情報処理装置PDEV1、PDEV2はノードとも称される。各情報処理装置PDEV1、PDEV2は、物理層(physical layer)の機能を実現するインタフェース部PHY、フレーム転送部FTR、CPU(Central Processing Unit)およびメインメモリMMを有する。
なお、情報処理システムSYS1は、3以上の情報処理装置PDEVを有してもよく、この場合、各情報処理装置PDEVは、物理レーンPHLを介して所定数の他の情報処理装置PDEVに接続される。また、情報処理装置PDEVは、インタフェース部PHYとフレーム転送部FTRとの組を1つのCPUに対して複数有してもよい。
CPUは、メインメモリMMに格納されたプログラムに基づいて動作し、演算処理を実行する。CPUは、演算処理を実行する演算処理装置の一例である。CPUは、フレーム転送部FTRにデータSDATAを送信し、フレーム転送部FTRからデータRDATAを受信する。データRDATAは、CPUが実行する演算に用いるデータを含んでもよく、データSDATAは、CPUが実行した演算の結果を含んでもよい。
なお、情報処理システムSYS1は、複数の物理レーンPHLの所定数の使用を停止することで、消費電力を削減する低電力モードを有している。CPUは、情報処理システムSYS1の動作モードを通常動作モードから低電力モードに移行する場合、および情報処理システムSYS1の動作モードを低電力モードから通常動作モードに移行する場合、切り替え通知GRDをフレーム転送部FTRに出力する。
メインメモリMMは、メモリモジュール等の記憶装置であり、CPUが実行するプログラムおよびCPUが処理するデータ等を記憶する。メインメモリMMは、CPUで扱うデータおよびプログラムを記憶し、CPUによりアクセスされる記憶装置の一例である。
フレーム転送部FTRは、インタフェース部PHYに対応する物理層より上位の層(例えば、データリンク層)に相当する回路ブロックである。フレーム転送部FTRは、CPUからデータSDATAを受信し、受信したデータSDATAを含むフレームデータSFRAMを生成し、生成したフレームデータSFRAMをインタフェース部PHYに転送する。また、フレーム転送部FTRは、インタフェース部PHYからフレームデータRFRAMを受信し、受信したフレームデータRFRAMに含まれるデータRDATAをCPUに転送する。フレームデータSFRAM、RFRAMの各々は、データの伝送単位である所定数のパケットを含む。フレームデータSFRAM、RFRAMの各々が含むパケットの数は、パケットに含まれるデータの大きさに応じて変化する。
さらに、フレーム転送部FTRは、CPUからの切り替え通知GRDに基づいて、複数の物理レーンPHLの所定数の使用を停止する制御を実行し、または、停止した物理レーンPHLの使用を再開する制御を実行する。以降の説明では、物理レーンPHLの使用を停止することは、縮退またはレーン縮退とも称され、停止した物理レーンPHLの使用を再開することは、レーンの復帰またはレーン縮退の解除とも称される。
フレーム転送部FTRは、インタフェース部PHYによるデータの送受信機能の起動または停止を指示する指示通知SINFおよび有効な物理レーンPHLを示すイネーブル信号LENをインタフェース部PHYに出力する。フレーム転送部FTRは、インタフェース部PHYの起動が完了したことを示す起動完了通知CINF、およびインタフェース部PHYが受信したデータのエラーを検出したことを示すエラー情報EINFをインタフェース部PHYから受信する。また、フレーム転送部FTRは、インタフェース部PHYがアライメントマーカを検出したことを示すアライメントマーカ検出情報AINFをインタフェース部PHYから受信する。アライメントマーカは、物理レーンPHL上に転送されるデータのスキューを吸収するとともに、データのビットエラーを検出するために所定数のデータブロック毎に挿入される。起動完了通知CINF、エラー情報EINFおよびアライメントマーカ検出情報AINFの仕様は、図3で説明する。フレーム転送部FTRの例は、図4に示す。
インタフェース部PHYは、OSI(Open Systems Interconnection)参照モデルの物理層に相当する物理層デバイスの一例であり、IEEE802.3ba規格のLayer1(物理層)に準拠した機能を有する。インタフェース部PHYは、フレーム転送部FTRから受信したフレームデータSFRAMを複数のデータに分配して複数の物理レーンPHLにそれぞれ送信する。また、インタフェース部PHYは、複数の物理レーンPHLを介して受信した複数のデータをフレームデータRFRAMにまとめ、まとめたフレームデータRFRAMをフレーム転送部FTRに出力する。フレームデータSFRAMを分配して生成される複数のデータは、分割送信データの一例であり、フレームデータRFRAMにまとめられる複数のデータは、分配受信データの一例である。
インタフェース部PHYは、フレーム転送部FTRからの指示通知SINFに基づいて、データの送受信機能を起動または停止する。指示通知SINFが起動の指示を示す場合、インタフェース部PHYは、相手の情報処理装置PDEVのインタフェース部PHYとの間で通信が可能な状態にするリンクアップ等の起動処理を実行する。インタフェース部PHYは、起動が完了した場合、起動完了通知CINFをフレーム転送部FTRに出力する。指示通知SINFが停止の指示を示す場合、インタフェース部PHYは、リンクの切断等、送受信機能を停止するための停止処理を実行する。
インタフェース部PHYは、フレーム転送部FTRからのイネーブル信号LENに基づいて複数の物理レーンPHLの所定数を有効または無効にする。有効にされた物理レーンPHLは、情報の伝送に使用され、無効にされた物理レーンPHLは、情報の伝送に使用されない。インタフェース部PHYは、物理レーンPHLを介して受信したデータのエラーを検出した場合、エラー情報EINFをフレーム転送部FTRに出力する。また、インタフェース部PHYは、物理レーンPHLを介して受信したデータに含まれるアライメントマーカを検出した場合、アライメントマーカ検出情報AINFをフレーム転送部FTRに出力する。以下、アライメントマーカ検出情報はAM(Alignment Marker)検出情報とも称される。インタフェース部PHYの例は、図3に示す。なお、以下では、説明を分かりやすくするため、物理レーンPHLを介して受信したデータのエラーは、情報処理装置PDEV1、PDEV2の両方で同時に発生しないものとする。
例えば、ノード1のCPUが通常動作モードから低電力モードへの移行を示す切り替え通知GRDを出力する場合、ノード1のフレーム転送部FTRは、インタフェース部PHYにイネーブル信号LENを出力する。インタフェース部PHYは、イネーブル信号LENに基づいて、送信側の所定数の物理レーンPHLを縮退し、受信側の所定数の物理レーンPHLを縮退する。また、フレーム転送部FTRは、ノード2の物理レーンPHLの縮退を指示する制御パケットを、インタフェース部PHYを介してノード2に送信する。ノード2のフレーム転送部FTRは、ノード1から受信する制御パケットに基づいて、インタフェース部PHYにイネーブル信号LENを出力する。そして、ノード2のインタフェース部PHYは、イネーブル信号LENに基づいて、送信側の所定数の物理レーンPHLを縮退し、受信側の所定数の物理レーンPHLを縮退する。
一方、ノード1のCPUが低電力モードから通常動作モードへの移行を示す切り替え通知GRDを出力する場合、ノード1のフレーム転送部FTRは、インタフェース部PHYにイネーブル信号LENを出力する。インタフェース部PHYは、イネーブル信号LENに基づいて、縮退していた送信側の所定数の物理レーンPHLを復帰し、縮退していた受信側の所定数の物理レーンPHLを復帰する。また、フレーム転送部FTRは、ノード2の物理レーンPHLの縮退の解除を指示する制御パケットを、インタフェース部PHYを介してノード2に送信する。ノード2のフレーム転送部FTRは、ノード1から受信する制御パケットに基づいて、インタフェース部PHYにイネーブル信号LENを出力する。そして、ノード2のインタフェース部PHYは、イネーブル信号LENに基づいて、縮退していた送信側の所定数の物理レーンPHLを復帰し、縮退していた受信側の所定数の物理レーンPHLを復帰する。
なお、ノード2のCPUが切り替え通知GRDを出力する場合も、上述と同様の動作が実行される。また、ノード1またはノード2のいずれかのCPUのみが切り替え通知GRDを出力する機能を有してもよい。さらに、物理レーンPHLの縮退および復帰は、一方向(ノード1からノード2にデータを送信経路、またはノード2からノード1にデータを送信する送信経路)の物理レーンPHLのみで実行されてもよい。この場合、切り替え通知GRDは、送信方向または受信方向のいずれの物理レーンPHLを縮退または復帰させるかを示す情報を含む。
図3は、図2に示すインタフェース部PHYの一例を示す。インタフェース部PHYは、PCS(Physical Coding Sublayer)およびPMA(Physical Medium Attachment)を有する。PCSは、フレーム転送部FTRから受信したデータを複数のPCSレーンPLs(PLs0−PLs19)に分配し、PCSレーンPLsに分配したデータを各物理レーンPHLに対応して集約し、出力する。また、PCSは、物理レーンPHLを介して受信したデータを複数のPCSレーンPLr(PLr0−PLr19)に分配し、PCSレーンPLrに分配したデータを集約してフレーム転送部FTRに出力する。
図3では、説明を分かりやすくするために、PCSレーンPLs0−PLs4は、物理レーンPHLs0に集約され、PCSレーンPLr0−PLr4は、物理レーンPHLr0に集約される。PCSレーンPLs5−PLs9は、物理レーンPHLs1に集約され、PCSレーンPLr5−PLr9は、物理レーンPHLr1に集約される。PCSレーンPLs10−PLs14は、物理レーンPHLs2に集約され、PCSレーンPLr10−PLr14は、物理レーンPHLr2に集約される。PCSレーンPLs15−PLs19は、物理レーンPHLs3に集約され、PCSレーンPLr15−PLr19は、物理レーンPHLr3に集約される。なお、PCSレーンPLsと物理レーンPHLsとの対応関係およびPCSレーンPLrと物理レーンPHLrとの対応関係は、アライメントマーカ等の伝送される情報に付加されてもよい。
PCSは、データ分割部DIVS、DIVR、AM挿入部AINS、BIP挿入部BINS、データ集約部AGGS、AGGR、AM検出部ADET、BIP検出部BDET、エラー通知部EREPおよび起動制御部SUCLTを有する。データ分割部DIVS、AM挿入部AINS、BIP挿入部BINSおよびデータ集約部AGGSは、フレームデータSFRAMに対応するデータをイネーブル信号LENが示す使用停止レーンを除く物理レーンPHLsに送信する送信部の一例である。データ分割部DIVR、AM検出部ADET、BIP検出部BDETおよびデータ集約部AGGRは、イネーブル信号LENが示す使用停止レーンを除く物理レーンPHLrを介して受信するデータからフレームデータRFRAMを生成する受信部の一例である。BIP検出部BDETおよびエラー通知部EREPは、物理レーンPHLrを介して受信するデータのエラーを検出して、エラー情報EINFを生成する検出部の一例である。
PMAは、パラレルシリアル変換部PSおよびシリアルパラレル変換部SPを有する。AM挿入部AINS(AINS0−AINS19)およびBIP挿入部BINS(BINS0−BINS19)は、PCSレーンPLs0−PLs19毎に設けられる。AM検出部ADET(ADET0−ADET19)およびBIP検出部BDET(BDET0−BDET19)は、PCSレーンPLr0−PLr19毎に設けられる。
データ分割部DIVSは、フレーム転送部FTRから受信するイネーブル信号LENにより示される有効な物理レーンPHLsに対応するPCSレーンPLsを選択する。イネーブル信号LENにより選択されるPCSレーンPLsは、データが転送される有効レーンであり、イネーブル信号LENにより選択されないPCSレーンPLsは、データが転送されない無効レーンである。
例えば、データ分割部DIVSは、フレーム転送部FTRから受信したフレームデータSFRAMを64ビット毎に66ビットのデータに符号化する(64B/66B符号化)。そして、データ分割部DIVSは、符号化された66ビットのブロックを、ブロック単位で有効なPCSレーンPLsに振り分けることで、PCSレーンPLsに対応するAM挿入部AINSに出力する。
各AM挿入部AINSは、データ分割部DIVSから受信した所定数のブロック毎にアライメントマーカを挿入し、ブロックおよびアライメントマーカを、対応するBIP挿入部BINS(BINS0−BINS19)に出力する。例えば、各AM挿入部AINSは、16383個のブロック毎にアライメントマーカを挿入する。なお、データ分割部DIVSが受信するイネーブル信号LENにより選択されないPCSレーンPLsに対応するAM挿入部AINSは、動作を停止してもよい。
各BIP挿入部BINSは、アライメントマーカおよび16383個のブロックに含まれるデータのパリティBIP(Bit Interleaved Parity)を算出し、算出したパリティBIPをアライメントマーカ内の所定の領域に格納する。そして、各BIP挿入部BINSは、パリティBIPを格納したアライメントマーカおよびブロックをデータ集約部AGGSに出力する。なお、アライメントマーカは、PCSレーンの識別子を格納する領域を有しており、データの送信先の情報処理装置PDEVは、アライメントマーカを解読することで、データの送信元の情報処理装置PDEVのPCSレーンとの対応を認識可能である。なお、データ分割部DIVSが受信するイネーブル信号LENにより選択されないPCSレーンPLsに対応するBIP挿入部BINSは、動作を停止してもよい。
データ集約部AGGSは、5つのPCSレーンPLs(例えば、PLs0−PLs4)毎に、BIP挿入部BINSから受信したデータをデータ群に集約し、集約したデータ群のそれぞれをPMAのパラレルシリアル変換部PSに出力する。なお、データ集約部AGGSにおいて、データ分割部DIVSが受信するイネーブル信号LENにより選択されないPCSレーンPLsに対応する回路は、動作を停止してもよい。
PMAのパラレルシリアル変換部PSは、データ集約部AGGSから受信した4つのデータ群のそれぞれをシリアルデータに変換する。例えば、データ群の各々のビット幅が32ビットの場合、パラレルシリアル変換部PSは、32ビットのパラレルデータを1ビットのシリアルデータに変換する。そして、パラレルシリアル変換部PSは、変換したシリアルデータのそれぞれを、物理レーンPHLs0−PHLs3を介して、データの送信先の情報処理装置PDEVに送信する。
物理レーンPHLs0−PHLs3は、データの送信先の情報処理装置PDEVでは物理レーンPHLr0−PHLr3と称される。なお、パラレルシリアル変換部PSにおいて、データ分割部DIVSが受信するイネーブル信号LENにより選択されないPCSレーンPLsに対応する回路は、動作を停止してもよい。また、物理レーンPHLs0−PHLs3を介して光信号が伝送される場合、電気信号を光信号に変換する光電変換部が、パラレルシリアル変換部PSと各物理レーンPHLs0−PHLs3との間に配置される。
PMAのシリアルパラレル変換部SPは、物理レーンPHLr0−PHLr3のそれぞれを介して、データの送信元の情報処理装置PDEVからシリアルデータを受信する。物理レーンPHLr0−PHLr3は、データの送信元の情報処理装置PDEVでは物理レーンPHLs0−PHLs3と称される。シリアルパラレル変換部SPは、シリアルデータのそれぞれをパラレルデータに変換して4つのデータ群を生成し、生成したデータ群のそれぞれをデータ分割部DIVRに出力する。
例えば、データ群の各々のビット幅が32ビットの場合、シリアルパラレル変換部SPは、1ビットのシリアルデータを32ビットのパラレルデータに変換する。なお、シリアルパラレル変換部SPにおいて、データ集約部AGGRが受信するイネーブル信号LENにより選択されないPCSレーンPLrに対応する回路は、動作を停止してもよい。また、物理レーンPHLs0−PHLs3を介して光信号が伝送される場合、光信号を電気信号に変換する光電変換部が、各物理レーンPHLr0−PHLr3とシリアルパラレル変換部SPとの間に配置される。
データ分割部DIVRは、シリアルパラレル変換部SPから受信した各データ群を5つのPCSレーンPLr(例えば、PLr0−PLr4)に分配する。データ分割部DIVRは、PCSレーンPLr0−PLr19のそれぞれに分配したデータを、対応するAM検出部ADET(ADET0−ADET19)に出力する。なお、データ分割部DIVRにおいて、データ集約部AGGRが受信するイネーブル信号LENにより選択されないPCSレーンPLrに対応する回路は、動作を停止してもよい。
各AM検出部ADETは、データ分割部DIVRから受信したデータおよびアライメントマーカを各BIP検出部BDET(BDET0−BDET19)に出力する。また、各AM検出部ADETは、データ分割部DIVRから受信したデータからアライメントマーカを検出した場合、アライメントマーカを検出したことを示すAM検出情報AINFを、起動制御部SUCLTに出力する。なお、データ集約部AGGRが受信するイネーブル信号LENにより選択されないPCSレーンPLrに対応するAM検出部ADETは、動作を停止してもよい。
各BIP検出部BDETは、AM検出部ADETから受信したデータをデータ集約部AGGRに出力する。また、各BIP検出部BDETは、アライメントマーカに含まれるパリティBIPを用いて、各AM検出部ADETから受信したデータの符号誤りを検出する。そして、各BIP検出部BDETは、符号誤りの検出結果をエラー情報EINFとして、エラー通知部EREPに出力する。なお、データ集約部AGGRが受信するイネーブル信号LENにより選択されないPCSレーンPLrに対応するBIP検出部BDETは、動作を停止してもよい。
データ集約部AGGRは、フレーム転送部FTRから受信するイネーブル信号LENに基づいて、複数のPCSレーンPLr(PLr0−PLr19)から有効な物理レーンPHLに対応するPCSレーンPLrを選択する。ここで、イネーブル信号LENに基づいて有効な物理レーンPHLの数およびPCSレーンPLrの数が減ることは、レーン縮退と称される。イネーブル信号LENに基づいて有効な物理レーンPHLの数およびPCSレーンPLrの数が増えることは、縮退した物理レーンPHLの復帰または使用を停止した物理レーンPHLの再開とも称される。
また、データ集約部AGGRは、送信元の情報処理装置PDEVが64B/66B符号化したデータを、有効なPCSレーンPLr毎に復号する。そして、データ集約部AGGRは、PCSレーンPLr毎に復号したデータを集約してフレームデータRFRAMを生成し、生成したフレームデータRFRAMを図2に示すフレーム転送部FTRに出力する。
起動制御部SUCLTは、データの送受信機能の起動の指示を示す指示通知SINFを受信した場合、インタフェース部PHYを起動させる起動処理を実行する。起動制御部SUCLTは、起動処理の実行後、イネーブル信号LENにより選択される有効なPCSレーンPLrの全てで、アライメントマーカが検出された場合、起動完了を示す起動完了通知CINFをフレーム転送部FTRに出力する。
また、起動制御部SUCLTは、AM検出部ADETからそれぞれ受信したPCSレーンPLrのAM検出情報AINFを、フレーム転送部FTRに出力する。起動制御部SUCLTは、AM検出部ADETからそれぞれ受信したAM検出情報AINFを保持するレジスタ等を有する。
エラー通知部EREPは、BIP検出部BDETからそれぞれ受信したPCSレーンPLrのエラー情報EINFをフレーム転送部FTRに出力する。エラー通知部EREPは、BIP検出部BDETからそれぞれ受信したエラー情報EINFを保持するレジスタ等を有する。
なお、インタフェース部PHYの構成は、図3に示す例に限定されない。例えば、起動制御部SUCLTがフレーム転送部FTRにAM検出情報AINFを出力するのではなく、各AM検出部ADETがフレーム転送部FTRにAM検出情報AINFを出力してもよい。また、例えば、エラー情報EINFは、各BIP検出部BDETからフレーム転送部FTRに直接出力されてもよい。さらに、PCSレーンPL(PLs、PLr)の数は、20個に限定されず、物理レーンPHL(PHLs、PHLr)の数は、4個に限定されない。
図2で説明したように、フレーム転送部FTRが生成するイネーブル信号LENに基づいて、インタフェース部PHYは、レーンPHLを縮退し、あるいは縮退した物理レーンPHLを復帰する。これにより、故障した物理レーンを特定する機能(以下、故障レーン特定機能とも称する)を含まないインタフェース部PHYを使用する場合においても、物理レーンPHLの縮退を制御することができる。
したがって、情報処理システムSYS1は、例えば、複数の物理レーンPHLのうち1つないし3つが故障した場合でも、故障した物理レーンPHLを縮退してリンクを維持できる。この結果、情報処理システムSYS1は、故障した物理レーンPHLを含むノード(情報処理装置PDEV)を使用した並列計算等の処理を実行できる。すなわち、複数の物理レーンPHLのうち1つでも故障した場合にノード間のリンクが切断される情報処理システムに比べて、情報処理システムSYS1の信頼性は向上する。
なお、情報処理システムSYS1は、通常モードから低電力モードへの切り替えの指示に基づいて物理レーンPHLの所定数を縮退し、低電力モードから通常モードへの切り替えの指示に基づいて縮退した物理レーンPHLを復帰する。低電力モードが複数種類ある場合、縮退する物理レーンPHLの数は、低電力モードの種類に応じて設定されてもよい。
図4は、図2に示すフレーム転送部FTRの一例を示す。フレーム転送部FTRは、フレーム生成部FGEN、フレーム送信部FSEN、再送制御部RTCLT、フレーム受信部FREC、バッファ部RBUF、フロー制御部FCLTおよびリンク制御部LCLTを有する。
フレーム生成部FGENおよびフレーム送信部FSENは、フレームデータSFRAMを生成する送信処理部の一例である。フレーム受信部FRECは、フレームデータRFRAMに含まれるデータRDATAおよびフレームデータRFRAMに含まれる縮退情報DINFRを抽出する受信処理部の一例である。リンク制御部LCLTは、エラー情報EINFに基づいて縮退情報DINFSおよびイネーブル信号LENを生成し、縮退情報DINFRに基づいてイネーブル信号LENを生成する縮退管理部の一例である。縮退情報DINFRは、フレームデータRFRAMに含まれる複数の物理レーンPHLrのいずれかのエラーを示すエラー情報の一例であり、物理レーンPHLrのいずれかの故障を示す故障情報の一例である。イネーブル信号LENは、使用を停止する物理レーンPHLsおよび使用を停止する物理レーンPHLrを示す縮退情報の一例である。
フレーム生成部FGENは、CPUから受信したデータSDATAまたはリンク制御部LCLTから受信した縮退情報DINFS等の情報をフレームの形式に変換してフレームデータSFRAMを生成する。フレーム生成部FGENは、生成したフレームデータSFRAMをフレーム送信部FSENおよび再送制御部RTCLTに出力する。また、フレーム生成部FGENは、フレームデータSFRAMのデータ長を示す情報DLをフロー制御部FCLTに出力する。
フレーム送信部FSENは、フレーム生成部FGENから受信したフレームデータSFRAM、または再送制御部RTCLTから受信したフレームデータSFRAMを保持するバッファを有する。フレーム送信部FSENは、バッファに保持したフレームデータSFRAMをインタフェース部PHYに送信する。
なお、フレーム転送部FTRで使用するクロックとインタフェース部PHYで使用するクロックとが異なる場合がある。この場合、フレーム送信部FSENのバッファは、フレーム転送部FTRで使用するクロックに同期して受けたフレームデータSFRAMを、インタフェース部PHYで使用するクロックに同期してインタフェース部PHYに出力する。すなわち、フレーム送信部FSENは、フレーム転送部FTRとインタフェース部PHYとで互いに非同期のクロックの乗り換え等を実行する。
フレーム受信部FRECは、インタフェース部PHYからフレームデータRFRAMを受信したフレームデータRFRAMを保持するバッファを有する。フレーム受信部FRECは、受信したフレームデータRFRAMをバッファ部RBUFに出力する。フレーム受信部FRECが受信するフレームデータRFRAMは、送信元の情報処理装置PDEVのフレーム転送部FTRから送信されるフレームデータSFRAMに対応する。
フレーム受信部FRECのバッファは、フレーム送信部FSENのバッファと同様に、インタフェース部PHYで使用するクロックに同期して受けたフレームデータRFRAMを、フレーム転送部FTRで使用するクロックに同期してバッファ部RBUFに出力する。すなわち、フレーム受信部FRECは、フレーム転送部FTRとインタフェース部PHYとで互いに非同期のクロックの乗り換え等を実行する。
フレーム受信部FRECは、制御用のパケットDLLP(Data Link Layer Packet)の検出機能を有する。フレーム受信部FRECは、データの送信先の情報処理装置PDEVにおけるバッファ部RBUFの空き容量を示すフロー制御情報FINFがパケットDLLP内に含まれることを検出した場合、検出したフロー制御情報FINFをフロー制御部FCLTに出力する。ここで、フロー制御情報FINFは、フロー制御フレームを用いて伝送される。例えば、データの送信先の情報処理装置PDEVのバッファ部RBUFが空いていることを示すクレジット解放通知は、フロー制御情報FINFに含まれる。
フレーム受信部FRECは、データリンク層のリンクアップ、リンクダウン、および物理レーンPHLの縮退に関する縮退情報DINFR等を示すリンク制御情報がパケットDLLP内に含まれることを検出する。フレーム受信部FRECは、リンク制御情報がパケットDLLP内に含まれる場合、検出したリンク制御情報を縮退情報DINFRとしてリンク制御部LCLTに出力する。なお、リンクダウンは、データを送受信する情報処理装置PDEVのインタフェース部PHY間で通信を遮断させることを示す。縮退情報DINFRは、データの送信元の情報処理装置PDEVのリンク制御部LCLTから送信される縮退情報DINFSに対応する。
また、フレーム受信部FRECは、フレーム送信部FSENが送信したフレームデータSFRAMに応答する肯定応答信号ACKまたは否定応答信号NACKをパケットDLLPが含むことを検出する。フレーム受信部FRECは、肯定応答信号ACKまたは否定応答信号NACKをパケットDLLPが含む場合、検出した肯定応答信号ACKまたは否定応答信号NACKを再送制御部RTCLTに出力する。
バッファ部RBUFは、フレーム受信部FRECから受信したフレームデータRFRAMを順次記憶し、記憶したフレームデータRFRAMをデータRDATAとしてCPUに順次に出力する。
フロー制御部FCLTは、エラー検出部EDETを有する。フロー制御部FCLTは、データの送信先の情報処理装置PDEVにおけるバッファ部RBUFの空き容量およびフレームデータSFRAMのデータ長DLに基づいて、フレームデータSFRAMの送信時期を調整するフロー制御を実行する。例えば、フロー制御部FCLTは、通信先の情報処理装置PDEVのバッファ部RBUFに空きがないことを示すフロー制御情報FINFを受信した場合、フレームデータSFRAMの送信を抑制するようにフレーム生成部FGENを制御する。
また、フロー制御部FCLTは、バッファ部RBUFの空き状態を示す情報をバッファ部RBUFから定期的に受信する。フロー制御部FCLTは、受信した空き状態を示す情報を、フレーム生成部FGENおよびフレーム送信部FSENを介して、相手の情報処理装置PDEVのフロー制御部FCLTに定期的に送信する。相手の情報処理装置PDEVのフレーム受信部FRECは、バッファ部RBUFの空き状態を示す情報を、フロー制御情報FINFとして検出する。
フロー制御部FCLTのエラー検出部EDETは、フロー制御情報FINFを受信しない期間が閾値(例えば、200マイクロ秒)を超えた場合、すなわち、フロー制御情報FINFを定期的に受信しない場合、フロー制御で異常が発生したと判定する。この場合、エラー検出部EDETは、伝送路PHL等に異常が発生したことを示すフロー制御プロトコルエラー通知FERRをリンク制御部LCLTに出力する。以下、フロー制御プロトコルエラー通知FERRを、FCPE(Flow Control Protocol Error)通知FERRとも称する。
再送制御部RTCLTは、異常検出部FDETおよびバッファBUFを有する。バッファBUFは、フレーム生成部FGENから受信したフレームデータSFRAMを保持する。再送制御部RTCLTは、フレーム受信部FRECから肯定応答信号ACKおよび否定応答信号NACKを受信する。肯定応答信号ACKは、送信したデータの受信処理が送信先の情報処理装置PDEVにより正常に完了した場合、送信先の情報処理装置PDEVのフレーム転送部FTRからパケットDLLPとして出力される。否定応答信号NACKは、送信したデータの受信処理が送信先の情報処理装置PDEVにより正常に完了しなかった場合、送信先の情報処理装置PDEVのフレーム転送部FTRからパケットDLLPとして出力される。
再送制御部RTCLTは、否定応答信号NACKを受信した場合、バッファBUFに保持したフレームデータSFRAMを、フレーム送信部FSENに出力し、フレーム送信部FSENにフレームデータSFRAMの再送信を実行させる。
異常検出部FDETは、フレーム受信部FRECからの肯定応答信号ACKおよび否定応答信号NACKに基づいて、ビットエラーレートの悪化、リトライアウト等を検出した場合、再送信に関する処理で異常が発生したと判定する。ビットエラーレートの悪化は、所定時間内の再送回数が閾値を超えた場合(例えば、24秒間に255回以上の再送要求(すなわち、否定応答信号NACK)が発生した場合)に検出される。リトライアウトは、送信したフレームデータSFRAMに対する肯定応答信号ACKおよび否定応答信号NACKがない場合と、連続した再送の回数が閾値を超えた場合に検出される。例えば、フレームデータSFRAMが送信されてから12.62ミリ秒が経過するまでに、肯定応答信号ACKあるいは否定応答信号NACKを受信しなかった場合、リトライアウトが判定される。また、連続した再送の回数が255回を超えた場合、リトライアウトが判定される。
異常検出部FDETは、ビットエラーレートの悪化を検出した場合、再送信エラー通知RERR1をリンク制御部LCLTに出力し、リトライアウトを検出した場合、再送信エラー通知RERR2をリンク制御部LCLTに出力する。
リンク制御部LCLTは、情報取得部ACQおよび選択部SELを有する。情報取得部ACQは、データの送信元の情報処理装置PDEVから送信されたアライメントマーカを検出したことを示すAM検出情報AINFを、PCSレーン毎にインタフェース部PHYから受信する。また、情報取得部ACQは、例えば、データの送信元の情報処理装置PDEVから送信されたデータに対する符号誤り検出の結果を示すエラー情報EINFを、PCSレーン毎にインタフェース部PHYから受信する。
選択部SELは、情報取得部ACQを介して受信するAM検出情報AINFおよびエラー情報EINFのいずれかに基づいて縮退対象の物理レーンPHLを特定する。縮退対象の物理レーンPHLは、故障したPCSレーンに対応する物理レーンPHLまたは故障した物理レーンPHL等である。
選択部SELは、インタフェース部PHYのリンクアップ前の起動処理中に、情報取得部ACQを介して受信するAM検出情報AINFに基づいて、PCSレーンおよび物理レーンPHLのいずれかの経路上(経路上の部品を含む)に故障が発生したことを検出する。選択部SELは、インタフェース部PHYのリンクアップ後に、情報取得部ACQを介して受信するエラー情報EINFに基づいて、PCSレーンおよび物理レーンPHLのいずれかの経路上に故障が発生したことを検出する。
また、選択部SELは、インタフェース部PHYのリンクアップ後に、FCPE通知FERRおよび再送信エラー通知RERR1、REER2に基づいて、PCSレーンおよび物理レーンPHLのいずれかの経路上に故障が発生したことを検出する。
そして、選択部SELは、故障の検出結果に基づいて、縮退する物理レーンPHLを特定し、特定した物理レーンPHLに対応するイネーブル信号LENを出力する。また、選択部SELは、インタフェース部PHYのリンクアップ前またはインタフェース部PHYのリンクアップ後に、CPUからの切り替え通知GRDに基づいて、縮退する物理レーンPHLまたは縮退を解除する物理レーンPHLを特定する。そして、選択部SELは、特定した物理レーンPHLに対応するイネーブル信号LENを出力する。
リンク制御部LCLTは、インタフェース部PHYの制御、リンクの制御、物理レーンPHLの縮退の制御等を実行する。例えば、インタフェース部PHYの制御に関して、リンク制御部LCLTは、インタフェース部PHYの起動を指示する指示通知SINFをインタフェース部PHYに出力する。また、リンク制御部LCLTは、インタフェース部PHYの起動が完了したことを示す起動完了通知CINFをインタフェース部PHYから受信する。さらに、リンク制御部LCLTは、インタフェース部PHYの動作の停止を指示する指示通知SINFをインタフェース部PHYに出力する。
リンクの制御に関して、リンク制御部LCLTは、フレーム転送部FTR内の各機能ブロックからのエラー通知に基づいてリンクを切断する処理、各機能ブロックにリンクの状態を通知する処理等を実行する。物理レーンPHLの縮退および縮退した物理レーンPHLの復帰は、リンク制御部LCLTにより実行される。リンク制御部LCLTは、AM検出情報AINFおよびエラー情報EINFをインタフェース部PHYから受信する。また、リンク制御部LCLTは、物理レーンPHLのイネーブル信号LENをインタフェース部PHYに出力し、縮退情報DINFSをフレーム生成部FGENに出力する。
図5は、図4に示すリンク制御部LCLTの一例を示す。リンク制御部LCLTは、起動指示部SCLT、情報取得部ACQおよび選択部SELを有する。情報取得部ACQは、エラー情報受信部ERECおよびAM検出情報受信部ARECを有する。選択部SELは、タイマTM、タイムアウト判定部TJG、エラーカウンタECT、故障判定部BJG、縮退指示部DCLT、レーン選択部LSELおよび縮退情報生成部DGENを有する。
起動指示部SCLTは、インタフェース部PHYの起動を指示するユーザ指示OPINFをCPUから受信する。CPUは、情報処理装置PDEVの操作部等を操作するユーザにより、インタフェース部PHYの起動または停止が指示されたことを検出した場合、フレーム転送部FTRにユーザ指示OPINFを出力する。起動指示部SCLTは、ユーザ指示OPINFに基づいて、インタフェース部PHYの起動を指示する指示通知SINFをインタフェース部PHYに出力する。さらに、起動指示部SCLTは、インタフェース部PHYの起動の指示が、例えば、情報処理装置PDEVの電源を立ち上げた後の最初の指示である場合、タイマTMを起動する。インタフェース部PHYの起動が完了した場合、起動指示部SCLTは、起動の完了を示す起動完了通知CINFをインタフェース部PHYから受信する。
また、起動指示部SCLTは、インタフェース部PHYの停止を指示するユーザ指示OPINFをCPUから受信した場合、インタフェース部PHYの停止を指示する指示通知SINFをインタフェース部PHYに出力する。
起動指示部SCLTは、インタフェース部PHYの再起動を指示する通知を縮退指示部DCLTから受信する。この場合、起動指示部SCLTは、例えば、インタフェース部PHYの停止を指示する指示通知SINFをインタフェース部PHYに出力した後、インタフェース部PHYの起動を指示する指示通知SINFをインタフェース部PHYに出力する。なお、起動指示部SCLTは、再起動時にタイマTMを有効にしない。
AM検出情報受信部ARECは、各PCSレーンPLrのAM検出情報AINFをインタフェース部PHYから受信する。そして、AM検出情報受信部ARECは、例えば、アライメントマーカを検出したことを示すAM検出情報AINFを1つ以上受信したとき、タイマTMに計測を開始させる開始指示信号をタイマTMに出力する。
また、AM検出情報受信部ARECは、各PCSレーンPLrのAM検出情報AINFをレーン選択部LSELに出力する。なお、AM検出情報受信部ARECは、例えば、IEEE802.3ba規格で規定されているアライメント検出情報通知機能を用いて、定期的にAM検出情報AINFをインタフェース部PHYから読み出してもよい。
タイマTMは、例えば、AM検出情報受信部ARECからの開始指示信号を受信したとき、所定時間(例えば、4ミリ秒)の計測を開始する。タイマTMは、インタフェース部PHYから受信する起動完了通知CINFに応じて計測を停止する。タイマTMは、所定時間の計測が終了したとき、所定時間が経過したことを示す情報をタイムアウト判定部TJGに出力する。
タイムアウト判定部TJGは、所定時間が経過するまでに、起動完了通知CINFをインタフェース部PHYから受信しなかった場合、物理レーンPHLの故障が発生していると判定する。そして、タイムアウト判定部TJGは、物理レーンPHLの故障が発生していることを示す情報を、縮退指示部DCLTに出力する。
エラー情報受信部ERECは、各PCSレーンPLrのエラー情報EINFをインタフェース部PHYから受信する。そして、エラー情報受信部ERECは、各PCSレーンPLrのエラー情報EINFをレーン選択部LSELおよびエラーカウンタECTに出力する。なお、エラー情報受信部ERECは、例えば、IEEE802.3ba規格で規定されているBIPエラー数通知機能を用いて、パリティBIPから求められるエラーの数をインタフェース部PHYから定期的に読み出してもよい。
エラーカウンタECTは、エラー情報受信部ERECから受信した各PCSレーンPLrのエラー情報EINFに基づいて、所定期間(例えば、80ミリ秒)に発生したパリティBIPのエラー数を物理レーンPHL毎に計算する。そして、エラーカウンタECTは、各物理レーンPHLのパリティBIPのエラー数を示す情報を、故障判定部BJGおよびレーン選択部LSELに出力する。エラーカウンタECTは、所定期間に発生した誤りの数(例えば、パリティBIPのエラー数)をエラー情報EINFに基づいて物理レーンPHL毎に計測する計測部の一例である。
故障判定部BJGは、所定期間内の各物理レーンPHLのパリティBIPのエラー数を示す情報に基づいて、物理レーンPHL等に故障(以下、レーン故障とも称される)が発生しているか否かを判定する。故障判定部BJGは、レーン故障が発生していると判定した場合、レーン故障が発生していることを示す情報を、縮退指示部DCLTに出力する。
縮退指示部DCLTは、切り替え通知GRDを図2に示すCPUから受信し、縮退情報DINFRを図4に示すフレーム受信部FRECから受信し、再送信エラー通知RERR1、RERR2を図4に示す再送制御部RTCLTの異常検出部FDETから受信する。また、縮退指示部DCLTは、FCPE通知FERRを、図4に示すフロー制御部FCLTのエラー検出部EDETから受信し、レーン故障が発生していることを示す情報を、タイムアウト判定部TJGおよび故障判定部BJGのそれぞれから受信する。そして、縮退指示部DCLTは、例えば、レーン縮退を実行するか否かを示す情報等を、レーン選択部LSELに出力する。
なお、縮退指示部DCLTは、データを受信する物理レーンPHLrのいずれかの故障が検出された場合、縮退する物理レーンPHLrを示す情報とともに、データを送信する物理レーンPHLsのいずれかを縮退する情報をレーン選択部LSELに出力してもよい。この場合、例えば、物理レーンPHLr2−PHLr3とともに、物理レーンPHLr2−PHLr3に対応する物理レーンPHLs2-PHLs3が縮退される。縮退する物理レーンPHLsを示す情報は、縮退する物理レーンPHLrを示す情報とともに、通信先の情報処理装置PDEVに制御パケットとして送信される。そして、通信先の情報処理装置PDEVは、物理レーンPHLs、PHLrの縮退を実行する。
同様に、縮退指示部DCLTは、データを送信する物理レーンPHLsのいずれかを縮退する場合、縮退する物理レーンPHLsを示す情報とともに、データを受信する物理レーンPHLrのいずれかを縮退する情報をレーン選択部LSELに出力してもよい。物理レーンPHLsの縮退は、通信先の情報処理装置PDEVから受信する制御パケットに含まれる縮退の指示に基づいて実行される。すなわち、物理レーンPHLsの縮退は、通信相手のノードから受信する制御用のパケットDLLPに縮退情報DINFRが含まれる場合(すなわち、通信相手のノードがデータを受信する物理PHLrの故障を検出した場合)に実行される。この場合、例えば、物理レーンPHLs2−PHLs3とともに、物理レーンPHLs2−PHLs3に対応する物理レーンPHLr2-PHLr3が縮退される。なお、通信先の情報処理装置PDEVは、エラーの検出に基づく物理レーンPHLrの縮退とともに、物理レーンPHLsを縮退する。
これにより、物理レーンPHLrを介して受信するデータのエラーの検出に基づいて、情報処理装置PDEV1、PDEV2の双方において、物理レーンPHLr、PHLsの所定数の使用が停止される。
縮退指示部DCLTは、CPUからの切り替え通知GRDの受信に基づいて、レーン縮退を実行する情報またはレーン縮退を解除する情報をレーン選択部LSELに出力する。また、縮退指示部DCLTは、通信先の情報処理装置PDEVに送信する縮退情報DINFSを生成するための情報を、縮退情報生成部DGENに出力する。
レーン選択部LSELは、物理レーンPHLs0−PHLs3、PHLr0−PHLr3毎に、レーンの縮退または復帰を示す情報を格納する領域を含むレジスタREGを有する。レーン選択部LSELは、縮退指示部DCLTから受信するレーン縮退を実行する情報およびレーン縮退を解除する情報に基づいてレジスタREGを設定する。すなわち、レジスタREGは、インタフェース部PHYからのエラー情報EINF、AINF、FCPE通知FERR、再送信エラー通知RERR1、RERR2およびCPUからの切り替え通知GRDに基づいて設定される。
特に限定されないが、レジスタREGにおいて、データ転送に使用する(縮退しない)物理レーンPHLに対応する領域は、論理1に設定され、データ転送に使用しない(縮退する)物理レーンPHLに対応する領域は、論理0に設定される。そして、レーン選択部LSELは、レジスタREGに設定した情報に基づいて、通信先の情報処理装置PDEVとのデータ転送に使用する物理レーンPHLを有効または無効にするイネーブル信号LENを生成し、インタフェース部PHYに出力する。
縮退情報生成部DGENは、縮退指示部DCLTから受信した情報に基づいて、通信先の情報処理装置PDEVに、レーン縮退を指示する縮退情報DINFS、または物理レーンPHLの故障の判定を指示する縮退情報DINFSを生成する。そして、縮退情報生成部DGENは、縮退情報DINFSを図4に示すフレーム生成部FGENに出力する。これにより、縮退情報DINFSは、通信先の情報処理装置PDEVに縮退情報DINFRとして転送される。
なお、リンク制御部LCLTの構成は、この例に限定されない。例えば、起動指示部SCLTは、再起動時にも、タイマTMを有効にしてもよい。
図6は、図5に示すエラーカウンタECTの一例を示す。エラーカウンタECTは、例えば、エラーカウンタECT0、ECT1、ECT2、ECT3を有する。エラーカウンタECT0−ECT3は、例えば、物理レーンPHLr0−PHLr3毎に、所定期間内のパリティBIPのエラーを計数する。なお、図6に示すエラー情報EINFの符号の末尾の括弧内の数字は、例えば、図3に示すPCSレーンPLr0−PLr19の符号の末尾の数字に対応する。
エラーカウンタECT0−ECT3の構成および動作は、互いに同一または同様であるため、図6では、エラーカウンタECT0について説明する。エラーカウンタECT0は、例えば、約80ミリ秒の間に発生した物理レーンPHLr0のパリティBIPのエラーの数を計測する。例えば、エラーカウンタECT0は、インタフェース部PHYのリンクアップを契機に計測を開始し、計測値(約80ミリ秒の間に発生したパリティBIPのエラーの数)を約20ミリ秒毎に更新する。
エラーカウンタECT0は、例えば、カウンタCUNT、レジスタREG1、REG2、REG3および加算部ADDを有する。カウンタCUNT、レジスタREG1、REG2のそれぞれは、例えば、保持している値を後段のレジスタREG1、REG2、REG3に約20ミリ秒毎にリレーする。
例えば、100Gbpsの転送レートでは、64B/66B符号ブロックをインタフェース部PHYが16384個受信するまでの時間が約210マイクロ秒である。この場合、例えば、カウンタCUNTは、物理レーンPHLr0のパリティBIPのエラーの総数(PCSレーンPLr0−PLr4のパリティBIPのエラー数)を約210マイクロ秒毎に加算する。そして、カウンタCUNTは、加算値(約20ミリ秒の間に発生した物理レーンPHLr0のパリティBIPのエラー数)を、約20ミリ秒毎に後段のレジスタREG1に転送する。このとき、レジスタREG1、REG2も、保持している値を後段のレジスタREG2、REG3に転送する。
また、カウンタCUNTおよびレジスタREG1、REG2、REG3は、例えば、カウンタCUNTが加算値をレジスタREG1に転送するタイミングで、保持している値を加算部ADDに出力する。例えば、カウンタCUNTは、現時点から約20ミリ秒前までの約20ミリ秒間に発生した物理レーンPHLr0のパリティBIPのエラー数を加算部ADDに出力する。また、レジスタREG1は、約20ミリ秒前から約40ミリ秒前までの約20ミリ秒間に発生した物理レーンPHLr0のパリティBIPのエラー数を加算部ADDに出力する。レジスタREG2は、約40ミリ秒前から約60ミリ秒前までの約20ミリ秒間に発生した物理レーンPHLr0のパリティBIPのエラー数を加算部ADDに出力する。レジスタREG3は、約60ミリ秒前から約80ミリ秒前までの約20ミリ秒間に発生した物理レーンPHLr0のパリティBIPのエラー数を加算部ADDに出力する。
加算部ADDは、カウンタCUNTおよびレジスタREG1、REG2、REG3から受信した値を加算する。これにより、約80ミリ秒の間に発生した物理レーンPHLr0のパリティBIPのエラー数が算出される。そして、加算部ADDは、加算結果(約80ミリ秒の間に発生した物理レーンPHLr0のパリティBIPのエラー数)を故障判定部BJGに出力する。なお、加算部ADDから出力される加算結果は、例えば、約20ミリ秒毎に更新される。したがって、故障判定部BJGは、物理レーンPHLに故障が発生しているか否かを約20ミリ秒毎に判定する。
なお、エラーカウンタECTの構成および所定期間等の数値例は、この例に限定されない。例えば、約40ミリ秒の間に発生した物理レーンPHLrのパリティBIPのエラー数を判定に使用する場合等では、レジスタREG2、REG3は、省かれてもよい。
図7は、レーン縮退の契機およびレーン縮退の解除の契機の一例を示す。
レーン縮退は、情報処理装置PDEVのリンクアップ前の起動処理中において、PCSレーンPLおよび物理レーンPHLの故障の検出を契機に実行される。
レーン縮退は、情報処理装置PDEVのリンクアップ後において、単位時間内の再送回数が閾値を超え、異常検出部FDETが、ビットエラーの悪化の検出に基づいて再送信エラー通知RERR1を出力したことを契機に実行される。また、レーン縮退は、情報処理装置PDEVのリンクアップ後において、連続した再送回数が閾値を超え、異常検出部FDETが、リトライアウトの検出に基づいて再送信エラー通知RERR2を出力したことを契機に実行される。リトライアウトは、例えば、送信したフレームデータSFRAMに対する応答(肯定応答信号ACK、否定応答信号NACK)がない場合や連続した再送の回数が閾値を超えた場合に検出される。
また、レーン縮退は、情報処理装置PDEVのリンクアップ後において、フロー制御フレームが所定の期間以上受信されず、フロー制御部FCLTが、フロー制御プロトコルエラーの検出に基づいてFCPE通知FERRを出力したことを契機に実行される。さらに、レーン縮退は、情報処理装置PDEVのリンクアップ後において、所定期間内のパリティBIPのエラー数が閾値を超えたことを契機に実行される。
また、レーン縮退は、情報処理装置PDEVのリンクアップ前およびリンクアップ後において、情報処理装置PDEVを通常動作モードから低電力モードへの切り替える切り替え通知GRDがCPU(ファームウェア)から出力されたことを契機に実行される。
一方、縮退した物理レーンPHLの解除は、情報処理装置PDEVのリンクアップ前およびリンクアップ後において、情報処理装置PDEVを低電力モードから通常動作モードへの切り替える切り替え通知GRDがCPUから出力されたことを契機に実行される。
なお、物理レーンPHLまたはPCSレーンPL等の故障によりレーン縮退が実行された場合、故障した部品が交換された後、情報処理システムSYS1が再起動される。再起動された情報処理システムSYS1は、全ての物理レーンPHLを使用してリンクアップの処理を実行する。このため、縮退した物理レーンPHLの解除の契機は、情報処理装置PDEVの低電力モードから通常動作モードへの切り替え時のみである。
図8は、図2に示す情報処理装置PDEVのリンクアップ前の動作の一例を示す。なお、図8は、図4に示すフレーム転送部FTRおよび図5に示すリンク制御部LCLTの動作の一例を示す。
図8に示す動作は、図2に示す情報処理装置PDEV1、PDEV2の双方でそれぞれ実行される。図8に示す動作は、図2に示すCPUからユーザ指示OPINFを受信したときに、図4および図5に示すリンク制御部LCLTにより実行される。なお、図8に示す動作は、ハードウエアで実現されてもよく、フレーム転送部FTRに搭載されるCPUが実行する制御プログラム等のソフトウエアにより実現されてもよい。
ステップS100では、起動指示部SCLTは、インタフェース部PHYの起動を指示するユーザ指示OPINFに応じて、インタフェース部PHYに起動を指示する。起動が指示されたインタフェース部PHYは、起動処理を実行し、インタフェース部PHY間でリンクアップ用のフレームの送受信を開始する。
次に、ステップS110では、AM検出情報受信部ARECは、リンクアップ用のフレームとともに受信するアライメントマーカを検出したことを示すAM検出情報AINFを、1つ以上受信したか否かを判定する。すなわち、AM検出情報受信部ARECは、1個以上のPCSレーンPLでAM検出情報AINFが観測されたか否かを判定する。
AM検出情報AINFを1つ以上受信した場合、動作はステップS120に移る。一方、AM検出情報AINFを1つも受信していない場合、動作はステップS110に戻る。
ステップS120では、タイマTMは、アライメントマーカを含むデータが1個以上のPCSレーンPLが観測されたことに基づいて所定時間(例えば、4ミリ秒)の計測を開始する。
次に、ステップS130では、タイムアウト判定部TJGは、所定時間が経過するまでに起動完了通知CINFをインタフェース部PHYから受信したか否かを判定する。すなわち、タイムアウト判定部TJGは、アライメントマーカが最初に検出されてから所定時間が経過するまでに全てのPCSレーンPLでアライメントマーカが検出されたか否かを判定する。
所定時間が経過するまでに起動完了通知CINFを受信した場合、リンク制御部LCLTの動作は、ステップS140に移る。一方、所定時間が経過するまでに起動完了通知CINFを受信していない場合、動作はステップS150に移る。
ステップS140では、リンク制御部LCLTは、全てのPCSレーンPLでアライメントマーカが検出されたため、故障レーンがないと判定し、レーン縮退を実行することなく、レーン縮退に関する処理(以下、レーン縮退処理とも称する)を終了する。
一方、ステップS150では、レーン選択部LSELは、AM検出情報AINFを観測したPCSレーンPLの数が、正規の数(図3では1つの物理レーンPHLに対応する5個)より少ない物理レーンPHLを、縮退するレーンと特定する。例えば、縮退が特定される物理レーンPHLは、データを受信する受信側の物理レーンPHLr0−PHLr3のいずれかである。なお、レーン選択部LSELは、縮退する受信側の物理レーンPHLrとともに、縮退する物理レーンPHLrに対応する送信側の物理レーンPHLsを縮退対象として特定してもよい。
次に、ステップS155では、フレーム転送部FTRは、ステップS150で特定した物理レーンPHL(縮退する物理レーンPHL)を示す縮退情報DINFSをパケットDLLPとして、通信先の情報処理装置PDEVに送信する。通信先の情報処理装置PDEVのフレーム転送部FTRは、縮退情報DINFSを含む縮退要求パケットDLLPを受信する。通信先の情報処理装置PDEVのリンク制御部LCLTは、縮退情報DINFS(受信側では、DINFR)が示す物理レーンPHLの使用を停止するイネーブル信号LENを出力する。例えば、通信先の情報処理装置PDEVが使用を停止する物理レーンPHLは、データを送信する送信側の物理レーンPHLs0−PHLs3のいずれかである。なお、通信先の情報処理装置PDEVは、送信側の物理レーンPHLsのいずれかとともに、縮退する送信側の物理レーンPHLsに対応する受信側の物理レーンPHLrの使用を停止してもよい。ステップS155により、通信先の情報処理装置PDEVに物理レーンPHLを縮退させる動作の一例は、図13に示す。
次に、ステップS160では、レーン選択部LSELは、ステップS150で特定した物理レーンPHL(縮退する物理レーンPHL)を使用しないように、レーン縮退を実行する。レーン選択部LSELは、ステップS150で特定した物理レーンPHL(縮退する物理レーンPHL)の使用を停止するイネーブル信号LENを出力する。また、レーン選択部LSELは、特定した物理レーンPHLを除く物理レーンPHLから、通信先の情報処理装置PDEVとのデータ転送に使用する物理レーンPHLを選択し、選択した物理レーンPHLを使用するイネーブル信号LENを出力する。そして、通信先の情報処理装置PDEVのインタフェース部PHYは再起動される。
縮退指示部DCLTは、インタフェース部PHYの再起動を指示する通知を起動指示部SCLTに出力する。起動指示部SCLTは、縮退指示部DCLTからの指示に基づいて、インタフェース部PHYに再起動を指示する。
なお、物理レーンPHLの縮退時に実行されるインタフェース部PHYの再起動では、物理レーンPHLのイネーブルの設定(イネーブル信号LENの値)は、ステップS160で設定した内容が引き継がれる。また、物理レーンPHLの縮退時に実行されるインタフェース部PHYの再起動後のリンクアップでは、縮退する物理レーンPHLが再起動前に判定されているため、図8に示す動作は、実行されない。
以上より、フレーム転送部FTRは、故障レーンを特定する機能を含まないインタフェース部PHYを使用する場合においても、AM検出情報AINF等を参照することにより、縮退する物理レーンPHLをリンクアップ前に特定することができる。なお、情報処理装置PDEVは、インタフェース部PHYの再起動時にも、図8に示すレーン縮退処理を実行してもよい。
図9は、図8に示すリンクアップ前の動作において、縮退する物理レーンPHLの特定方法の一例を示す。
図9に示す例では、物理レーンPHLr0では、全てのPCSレーンPLr0−PLr4でアライメントマーカが検出され、アライメントマーカが検出されたPCSレーンPLrの数は、”5”と判定される。物理レーンPHLr1では、全てのPCSレーンPLr5−PLr9でアライメントマーカが検出されたため、アライメントマーカが検出されたPCSレーンPLrの数は、”5”と判定される。物理レーンPHLr2では、全てのPCSレーンPLr10−PLr14でアライメントマーカが検出されたため、アライメントマーカが検出されたPCSレーンPLrの数は、”5”と判定される。
物理レーンPHLr3では、PCSレーンPLr15、PLr17−PLr19でアライメントマーカが検出され、PCSレーンPLr16でアライメントマーカが検出されない。このため、アライメントマーカが検出されたPCSレーンPLrの数は、”4”と判定される。
したがって、図8に示すステップS150において、レーン選択部LSELは、アライメントマーカが検出されたPCSレーンPLrの数が正規の数”5”より少ない物理レーンPHLr3を、縮退する物理レーンPHLと特定する。一方、アライメントマーカが検出されたPCSレーンPLrの数が正規の数”5”である物理レーンPHLr0−PHLr2は、正常な物理レーンPHLrと判定される。このように、レーン選択部LSELは、縮退するレーンPHLをAM検出情報AINFに基づいて特定する。
なお、例えば、図9において、物理レーンPHLr2に対応するPCSレーンPLr10−PLr14の少なくともいずれかでアライメントマーカが検出されない場合、レーン選択部LSELは、物理レーンPHLr2を、縮退するレーンと特定する。すなわち、レーン選択部LSELは、アライメントマーカが検出されなかったPCSレーンPLrを含む物理レーンPHLrを縮退対象とする。また、レーン選択部LSELは、アライメントマーカが検出されなかったPCSレーンPLrを含む物理レーンPHLrが複数存在する場合、複数の物理レーンPHLrを、縮退する物理レーンPHLと判定する。
図10は、図2に示す情報処理装置PDEVのリンクアップ後の動作の一例を示す。図10に示す動作では、レーン縮退は、所定期間内のパリティBIPのエラー数が閾値を超えたことを契機として実行される(例えば、図7に示す所定期間内のパリティBIPのエラー数の閾値超え)。
図10に示す動作は、図2に示す情報処理装置PDEV1、PDEV2の双方が互いに独立に実行する。図10に示す動作は、図4に示すフレーム転送部FTRがインタフェース部PHYからエラー情報EINFを受信したことに基づいて開始される。なお、図10に示す動作は、ハードウエアのみで実現されてもよくフレーム転送部FTRに搭載されるCPUが実行する制御プログラム等のソフトウエアにより実現されてもよい。
ステップS200では、図5に示すエラー情報受信部ERECは、各PCSレーンPLのエラー情報EINFをインタフェース部PHYから受信する。
次に、ステップS202では、図5に示すエラーカウンタECTは、過去80ミリ秒のパリティBIPのエラー数を物理レーンPHL毎に計測する。例えば、エラーカウンタECTは、エラー情報EINFの受信を基準として過去80ミリ秒の間に発生した各物理レーンPHLのパリティBIPのエラーを計数し、計数値を約20ミリ秒毎に更新する。
次に、ステップS204では、図5に示す故障判定部BJGは、ステップS202で算出されたパリティBIPのエラー数が閾値(例えば、”255”)を超えた物理レーンPHLrが存在するか否かを判定する。パリティBIPのエラー数が閾値を超えた物理レーンPHLrが存在する場合(レーン縮退の契機が検出された場合)、リンク制御部LCLTの動作は、ステップS206に移る。
一方、ステップS204において、パリティBIPのエラー数が閾値を超えた物理レーンPHLrが存在しない場合、リンク制御部LCLTの動作は、ステップS200に戻る。すなわち、過去80ミリ秒間のパリティBIPのエラー数が全ての物理レーンPHLrで閾値以下の場合、リンク制御部LCLTの動作は、ステップS200に戻る。
ステップS206では、図5に示すレーン選択部LSELは、過去80ミリ秒間のパリティBIPのエラー数が閾値を超えた物理レーンPHLrを、縮退するレーンと特定する。例えば、縮退が特定される物理レーンPHLは、データを受信する受信側の物理レーンPHLr0−PHLr3のいずれかである。なお、レーン選択部LSELは、縮退する受信側の物理レーンPHLrとともに、縮退する物理レーンPHLrに対応する送信側の物理レーンPHLsを縮退対象として特定してもよい。
故障判定部BJGは、縮退する物理レーンPHLが存在することを縮退指示部DCLTに通知する。これにより、縮退指示部DCLTは、パリティBIPのエラー数が閾値を超えた物理レーンPHLを縮退するように、レーン選択部LSELに指示する。
そして、レーン選択部LSELは、例えば、エラーカウンタECTがステップS202で算出したパリティBIPのエラー数に基づいて、縮退する物理レーンPHLを決定する。なお、レーン選択部LSELは、過去80ミリ秒間のパリティBIPのエラー数が閾値を超えた物理レーンPHLを示す情報を、故障判定部BJGから受信してもよい。
次に、ステップS208では、フレーム転送部FTRは、ステップS206で特定した物理レーンPHL(縮退するレーンPHL)を示す縮退情報DINFSをパケットDLLPとして、通信先の情報処理装置PDEVに送信する。通信先の情報処理装置PDEVのフレーム転送部FTRは、縮退情報DINFSを含む縮退要求パケットDLLPを受信する。通信先の情報処理装置PDEVのリンク制御部LCLTは、縮退情報DINFS(受信側では、DINFR)が示す送信側の物理レーンPHLの使用を停止するイネーブル信号LENを出力する。例えば、通信先の情報処理装置PDEVが使用を停止する物理レーンPHLは、データを送信する送信側の物理レーンPHLs0−PHLs3のいずれかである。なお、通信先の情報処理装置PDEVは、送信側の物理レーンPHLsのいずれかとともに、縮退する送信側の物理レーンPHLsに対応する受信側の物理レーンPHLrの使用を停止してもよい。ステップS208により、通信先の情報処理装置PDEVに物理レーンPHLを縮退させる動作の一例は、図13に示す。
ステップS210では、図8に示すステップS160と同様に、リンク制御部LCLTは、レーン縮退を実行し、インタフェース部PHYに再起動を指示する。すなわち、レーン選択部LSELは、ステップS206で特定した物理レーンPHLr(縮退する物理レーンPHLr)の使用を停止するイネーブル信号LENを出力する。また、レーン選択部LSELは、縮退する物理レーンPHLrを除く物理レーンPHLrの中から、通信先の情報処理装置PDEVからデータを受信する物理レーンPHLrを選択し、選択した物理レーンPHLrを有効にするイネーブル信号LENを出力する。そして、フレーム転送部FTRは、インタフェース部PHYを再起動する。
なお、図10に示す動作が、物理レーンPHLの縮退を既に実行した後に実行された場合、図10に示す動作が実行される前に使用が停止された物理レーンPHLは、選択対象の物理レーンPHLに含まれない。この場合、選択対象の物理レーンPHLは、図10に示す動作が実行される前に使用されていた物理レーンPHLからステップS206で特定した物理レーンPHL(縮退する物理レーンPHL)を除いた物理レーンPHLである。
また、レーン縮退により実行されるインタフェース部PHYの再起動では、物理レーンPHLのイネーブルの設定(イネーブル信号LENの値)は、ステップS210で設定した内容が引き継がれる。レーン縮退時に実行されるインタフェース部PHYの再起動後のリンクアップでは、縮退する物理レーンPHLが再起動前に判定されているため、図8に示す動作は、実行されない。
図10に示す動作では、レーン選択部LSELは、通信先の情報処理装置PDEVからインタフェース部PHYに転送されたデータに誤りがあることを示すエラー情報EINFに基づいて、縮退する物理レーンPHLを特定する。したがって、フレーム転送部FTRは、故障レーンを特定する機能を含まないインタフェース部PHYを使用する場合においても、エラー情報EINF等を参照することにより、縮退する物理レーンPHLをリンクアップ後に特定することができる。
図11は、図2に示す情報処理装置PDEVのリンクアップ後の動作の別の例を示す。図11に示す動作では、レーン縮退は、再送処理での異常の検出(例えば、図7に示すビットエラーレートの悪化、リトライアウトの検出)を契機として実行される。
図11に示す動作は、図2に示す情報処理装置PDEV1、PDEV2の双方が互いに独立に実行する。図11に示す動作は、図4に示すフレーム転送部FTRにより実行される。なお、図11に示す動作は、ハードウエアのみで実現されてもよく、フレーム転送部FTRに搭載されるCPUが実行する制御プログラム等のソフトウエアにより実現されてもよい。
図11において、ステップS302、S304は、レーン縮退の契機の検出処理に対応し、リンクアップ後に異常検出部FDETにより繰り返し実行される。ステップS310−S322は、異常検出部FDETが再送処理での異常を検出したことに基づいてリンク制御部LCLTより実行される。
ステップS302では、図4に示す異常検出部FDETは、フレーム受信部FRECが通信先の情報処理装置PDEVから受信するパケットDLLPに基づいて、再送信に関する処理(再送処理)で異常が発生したか否かを判定する。例えば、異常検出部FDETは、例えば、ビットエラーレートの悪化やリトライアウトを検出した場合、再送処理で異常が発生したと判定する。
例えば、異常検出部FDETは、所定時間(例えば、24秒間)に閾値(例えば、255回)以上の回数の再送要求(NACK)を通信先の情報処理装置PDEVから受信した場合、ビットエラーレートの悪化を判定する。また、異常検出部FDETは、フレームデータSFRAMが送信されてから所定時間(例えば、12.62ミリ秒)が経過するまでに、肯定応答信号ACKおよび否定応答信号NACKのいずれも受信しなかった場合、リトライアウトを判定する。あるいは、異常検出部FDETは、再送要求の連続回数が閾値(例えば、255回)を超えた場合、リトライアウトを判定する。
再送処理で異常が発生した場合、異常検出部FDETの動作は、ステップS304に移り、再送処理で異常が発生していない場合、異常検出部FDETの動作は、ステップS302に戻る。すなわち、異常検出部FDETは、再送処理で異常が発生していない場合、ステップS302において、再送処理での異常を検出する処理を継続する。
ステップS304では、異常検出部FDETは、ビットエラーレートの悪化を判定した場合、再送信エラー通知RERR1をリンク制御部LCLTに送信し、リトライアウトを判定した場合、再送信エラー通知RERR2をリンク制御部LCLTに送信する。
一方、ステップS310では、リンク制御部LCLTの縮退指示部DCLTは、再送信エラー通知RERR1、REER2のいずれかを異常検出部FDETから受信する。これにより、リンク制御部LCLTは、再送処理で異常が発生した場合のレーン縮退処理を開始する。
次に、ステップS312では、図5に示す故障判定部BJGは、図10に示すステップS204と同様に、通信先の情報処理装置PDEVから受信したデータのパリティBIPのエラー数が、所定期間内に閾値を超えた物理レーンPHLが存在するか否かを判定する。すなわち、再送処理で発生した異常が、通信先の情報処理装置PDEVからデータを受信する物理レーンPHLr側に起因するのか、通信先の情報処理装置PDEVにデータを送信する物理レーンPHLs側に起因するのかが識別される。なお、リンク制御部LCLTは、例えば、図11に示す動作と並列して、所定期間内のパリティBIPのエラー数を物理レーンPHL毎にエラーカウンタECTを用いて計数する。例えば、所定期間内の各物理レーンPHLのパリティBIPのエラー数は、図10のステップS202で算出される。
パリティBIPのエラー数が閾値を超えた物理レーンPHLrが存在する場合、通信先の情報処理装置PDEVからのデータを受信する物理レーンPHLr等に故障が存在する可能性が高いと判断され、リンク制御部LCLTの動作は、ステップS314に移る。一方、パリティBIPのエラー数が閾値を超えた物理レーンPHLrが存在しない場合、通信先の情報処理装置PDEVにデータを送信する物理レーンPHLs等に故障が存在する可能性が高いと判断され、リンク制御部LCLTの動作は、ステップS318に移る。なお、ステップS312の閾値は、図10のステップS204の閾値と同じ値でもよいし、異なる値でもよい。
ステップS314では、図5に示すレーン選択部LSELは、所定期間内のパリティBIPのエラー数が最も多い物理レーンPHLrを、縮退する物理レーンPHLと特定する。なお、レーン選択部LSELは、縮退する受信側の物理レーンPHLrとともに、縮退する物理レーンPHLrに対応する送信側の物理レーンPHLsを縮退対象として特定してもよい。例えば、レーン選択部LSELは、故障の検出に基づいて縮退する物理レーンPHLを、所定期間内(例えば、過去80ミリ秒の間)のパリティBIPのエラー数に基づいて特定する。すなわち、レーン選択部LSELは、再送信に関する処理での異常が検出された場合、縮退する物理レーンPHLを、所定期間分のエラー情報EINFに基づいて特定する。
この場合、レーン選択部LSELは、縮退する物理レーンPHLを再送処理での異常が検出された直前のパリティBIPに基づいて特定する場合に比べて、ノイズ等による影響を排除して、故障に基づいて縮退する物理レーンPHLを精度よく特定することができる。以下、故障に基づいて縮退する物理レーンPHLを特定する際の特定精度を、縮退するレーンの特定精度とも称する。
次に、ステップS316では、図10に示すステップS208と同様に、フレーム転送部FTRは、ステップS314で特定した物理レーンPHLを示す縮退情報DINFSをパケットDLLPとして、通信先の情報処理装置PDEVに送信する。そして、通信先の情報処理装置PDEVのリンク制御部LCLTは、縮退情報DINFSを含むパケットDLLP(縮退要求)が示す送信側の物理レーンPHLの使用を停止するイネーブル信号LENを出力する。ここで、通信先の情報処理装置PDEVが使用を停止する物理レーンPHLは、データを送信する送信側の物理レーンPHLs0−PHLs3のいずれかである。なお、通信先の情報処理装置PDEVは、送信側の物理レーンPHLsのいずれかとともに、縮退する送信側の物理レーンPHLsに対応する受信側の物理レーンPHLrの使用を停止してもよい。ステップS316の後、動作はステップS322に移る。
一方、ステップS318では、リンク制御部LCLTは、通信先の情報処理装置PDEVにデータを送信する物理レーンPHLs等の故障を判断する縮退依頼を通信先の情報処理装置PDEVに送信する。例えば、縮退情報生成部DGENは、縮退する物理レーンPHLsの特定を通信先の情報処理装置PDEVに依頼するための縮退情報DINFSを、フレーム生成部FGENに出力する。ここで、通信先の情報処理装置PDEVにデータを送信する物理レーンPHLsは、通信先の情報処理装置PDEVでは、データを受信する物理レーンPHLrである。
縮退依頼を受信した通信先の情報処理装置PDEVは、縮退する物理レーンPHLrを特定する処理を実行する。そして縮退する物理レーンPHLrを特定した通信先の情報処理装置PDEVは、縮退する物理レーンPHLrを示す縮退情報DINFSを含む縮退要求パケットDLLPを、レーン縮退処理の依頼元の情報処理装置PDEVに送信する。レーン縮退処理の依頼元の情報処理装置PDEVは、縮退依頼パケットDLLPを送信した情報処理装置PDEVである。これにより、図4に示すフレーム受信部FRECは、縮退依頼パケットDLLPに対する応答である縮退要求パケットDLLPを、通信先の情報処理装置PDEVから受信する。なお、縮退依頼を受信した通信先の情報処理装置PDEVは、縮退する受信側の物理レーンPHLrとともに、縮退する物理レーンPHLrに対応する送信側の物理レーンPHLsを縮退対象として特定してもよい。
次に、ステップS320では、縮退指示部DCLTは、ステップS318で通信先の情報処理装置PDEVに依頼したレーン縮退処理の結果として、縮退を要求する縮退情報DINFS(縮退要求)を受信する。これにより、レーン選択部LSELは、データ転送に使用する物理レーンPHL等を選択できる。
次に、ステップS322では、リンク制御部LCLTは、レーン縮退を実行し、インタフェース部PHYに再起動を指示する。例えば、レーン選択部LSELは、ステップS314で特定した物理レーンPHLr(縮退する物理レーンPHLr)の使用を停止するイネーブル信号LENを出力する。また、レーン選択部LSELは、縮退する物理レーンPHLrを除く物理レーンPHLrの中から、通信先の情報処理装置PDEVからデータを受信する物理レーンPHLrを選択し、選択した物理レーンPHLrを有効にするイネーブル信号LENを出力する。なお、レーン選択部LSELは、物理レーンPHLrの使用を停止するイネーブル信号LENとともに、縮退する物理レーンPHLsの使用を停止するイネーブル信号LENを出力してもよい。
あるいは、レーン選択部LSELは、ステップS320で受信した縮退情報DINFSに含まれる縮退する物理レーンPHLsの使用を停止するイネーブル信号LENを出力する。この場合、レーン選択部LSELは、物理レーンPHLsの使用を停止するイネーブル信号LENとともに、物理レーンPHLrの使用を停止するイネーブル信号LENを出力してもよい。
なお、図11に示す動作が、物理レーンPHLの縮退を既に実行した後に実行された場合、図11の動作が実行される前に使用が停止された物理レーンPHLは、選択対象の物理レーンPHLに含まれない。この場合、選択対象の物理レーンPHLは、図11の動作が実行される前に使用されていた物理レーンPHLからステップS314で特定した物理レーンPHL(縮退する物理レーンPHL)を除いた物理レーンPHLである。
また、縮退指示部DCLTは、インタフェース部PHYの再起動を指示する通知を起動指示部SCLTに出力する。そして、起動指示部SCLTは、縮退指示部DCLTからの再起動の指示に応じて、インタフェース部PHYに対して再起動を指示する。
なお、物理レーンPHLの縮退時に実行されるインタフェース部PHYの再起動では、物理レーンPHLのイネーブルの設定(イネーブル信号LENの値)は、ステップS322で設定した内容が引き継がれる。また、物理レーンPHLの縮退時に実行されるインタフェース部PHYの再起動後のリンクアップでは、縮退する物理レーンPHLが再起動前に判定されているため、図8に示す動作は、実行されない。
以上より、フレーム転送部FTRは、故障レーンを特定する機能を含まないインタフェース部PHYを使用する場合においても、再送処理での異常を検出した場合に、エラー情報EINF等に基づいて、縮退する物理レーンPHLをリンクアップ後に特定できる。
なお、情報処理装置PDEVのリンクアップ後の動作は、この例に限定されない。例えば、レーン選択部LSELは、再送処理での異常が検出された時点、直前または直後のパリティBIPのエラー数に基づいて、縮退する物理レーンPHLを特定してもよい。
図12は、図2に示す情報処理装置PDEVのリンクアップ後の動作の別の例を示す。図12に示す動作では、レーン縮退は、通信先の情報処理装置PDEVにデータを転送するためのフロー制御での異常の検出(例えば、図7に示すフロー制御プロトコルエラーの検出)を契機として実行される。
図12に示す動作は、図2に示す情報処理装置PDEV1、PDEV2の双方が互いに独立に実行する。図12に示す動作は、図4に示すフレーム転送部FTRにより実行される。なお、図12に示す動作は、ハードウエアのみで実現されてもよく、フレーム転送部FTRに搭載されるCPUが実行する制御プログラム等のソフトウエアにより実現されてもよい。
図12において、ステップS402、S404は、レーン縮退の契機の検出処理に対応し、エラー検出部EDETにより実行される。また、ステップS410−S422は、リンク制御部LCLTより実行される。
ステップS402では、図4に示すエラー検出部EDETは、FCPEを検出したか否かを判定する。例えば、エラー検出部EDETは、フロー制御フレーム(フロー制御情報FINF)を受信していない期間の長さが閾値(例えば、200マイクロ秒)を超えた場合、FCPEの発生を検出する。
FCPEが検出された場合、エラー検出部EDETの動作は、ステップS404に移る。一方、FCPEが検出されない場合、エラー検出部EDETの動作は、ステップS402に戻る。すなわち、エラー検出部EDETは、フロー制御で異常が発生していない場合、フロー制御での異常を検出する処理を継続する。
ステップS404では、エラー検出部EDETは、フロー制御で異常が発生したことを示すFCPE通知FERRをリンク制御部LCLTに出力する。これにより、リンク制御部LCLTは、ステップS410において、FCPE通知FERRを受信する。
ステップS410では、図5に示すリンク制御部LCLTの縮退指示部DCLTは、FCPE通知FERRをエラー検出部EDETから受信し、フロー制御で異常が発生した場合のレーン縮退処理を開始する。
次に、ステップS412では、図11に示すステップS312と同様に、図5に示す故障判定部BJGは、通信先の情報処理装置PDEVからのデータのパリティBIPのエラー数が、所定期間内に閾値を超えた物理レーンPHLrが存在するか否かを判定する。パリティBIPのエラー数が閾値を超えた物理レーンPHLrが存在する場合、通信先の情報処理装置PDEVからのデータを受信する物理レーンPHLr等の故障に基づいてFCPEが発生したと判断され、リンク制御部LCLTの動作は、ステップS414に移る。一方、パリティBIPのエラー数が閾値を超えた物理レーンPHLrが存在しない場合にも、通信先の情報処理装置PDEVからのデータを受信する物理レーンPHLr等の故障に基づいてFCPEが発生した可能性が高いと判断される。この場合、リンク制御部LCLTの動作は、ステップS418に移る。なお、ステップS412の閾値は、図10のステップS204の閾値と同じ値でもよいし、異なる値でもよい。
ステップS414では、図11に示すステップS314と同様に、レーン選択部LSELは、所定期間内のパリティBIPのエラー数が最も多い物理レーンPHLrを、縮退するレーンと特定する。なお、レーン選択部LSELは、縮退する受信側の物理レーンPHLrとともに、縮退する物理レーンPHLrに対応する送信側の物理レーンPHLsを縮退対象として特定してもよい。ここで、FCPEの検出時間間隔(例えば、4.5マイクロ秒)は、パリティBIPのエラーの検出時間間隔(例えば、210マイクロ秒)に比べて短い。このため、固定故障によりFCPEが検出された場合、パリティBIPのエラーの履歴(所定期間内のパリティBIPのエラー数)は、FCPEの検出に至るまでの状況を十分に反映していないおそれがある。したがって、縮退する物理レーンPHLrをパリティBIPのエラーの履歴に基づいて特定した場合、縮退する物理レーンPHLrの特定精度が低下するおそれがある。このため、レーン選択部LSELは、例えば、ステップS412、S414の処理を実行する際に、FCPEが検出された時点、直前または直後のパリティBIPのエラーの検出情報(エラー情報EINF)を参照する。ステップS414の後、動作はステップS416に移る。
一方、ステップS418では、データを受信する物理レーンPHLr間で、パリティBIPのエラーの数の差がないため、レーン選択部LSELは、特定の物理レーンPHLrを、縮退するレーンと特定する。例えば、特定の物理レーンPHLrは、予め決められた順序にしたがって選択される。なお、ステップS418において、レーン選択部LSELは、所定期間内のパリティBIPのエラー数が1以上で閾値以下の場合、所定期間内のパリティBIPのエラー数が最も多い物理レーンPHLrを、縮退するレーンと特定してもよい。なお、レーン選択部LSELは、縮退する受信側の物理レーンPHLrとともに、縮退する物理レーンPHLrに対応する送信側の物理レーンPHLsを縮退対象として特定してもよい。
図12に示す動作後、FCPEが再度検出された場合、前回の動作におけるステップS418で選択した物理レーンPHLrの縮退は解除され、ステップS418で、新たな物理レーンPHLrが選択される。すなわち、FCPEが検出されたにも拘わらず、パリティBIPのエラーの数に差がない場合、FCPEが検出されなくなるまで、物理レーンPHLrが交互に選択される。
次に、ステップS416では、フレーム転送部FTRは、ステップS414またはステップS418で特定した物理レーンPHL(縮退する物理レーンPHL)を示す縮退情報DINFSをパケットDLLPとして、通信先の情報処理装置PDEVに送信する。ステップS416の動作は、図10に示すステップS208の動作と同様である。縮退レーンを通知された通信先の情報処理装置PDEVのリンク制御部LCLTは、縮退情報DINFSを含むパケットDLLP(縮退要求)が示す物理レーンPHLの使用を停止するイネーブル信号LENを出力する。
次に、ステップS422では、図10に示すステップS210と同様に、リンク制御部LCLTは、レーン縮退を実行し、インタフェース部PHYに再起動を指示する。例えば、レーン選択部LSELは、ステップS414あるいはステップS418で特定した物理レーンPHLr(縮退する物理レーンPHLr)の使用を停止するイネーブル信号LENを出力する。また、レーン選択部LSELは、縮退する物理レーンPHLrを除く物理レーンPHLrの中から、通信先の情報処理装置PDEVからデータを受信する物理レーンPHLrを選択し、選択した物理レーンPHLrを有効にするイネーブル信号LENを出力する。そして、フレーム転送部FTRは、インタフェース部PHYを再起動する。
なお、例えば、図12に示す動作が、物理レーンPHLの縮退を既に実行した後に実行された場合、図12の動作が実行される前に使用が停止された物理レーンPHLは、選択対象の物理レーンPHLに含まれない。この場合、選択対象の物理レーンPHLは、図12の動作が実行される前に使用されていた物理レーンPHLからステップS414またはステップS418で特定した物理レーンPHL(縮退する物理レーンPHL)を除いた物理レーンPHLである。
また、縮退指示部DCLTは、インタフェース部PHYの再起動を指示する通知を起動指示部SCLTに出力する。そして、起動指示部SCLTは、例えば、縮退指示部DCLTからの再起動の指示に応じて、インタフェース部PHYに対して再起動を指示する。
このように、例えば、レーン選択部LSELは、フロー制御での異常が検出された場合、外部の装置とのデータ転送に使用する物理レーンPHLを、エラー情報EINFに基づいて選択する。
なお、物理レーンPHLの縮退時に実行されるインタフェース部PHYの再起動では、物理レーンPHLのイネーブルの設定(イネーブル信号LENの値)は、ステップS422で設定した内容が引き継がれる。また、物理レーンPHLの縮退時に実行されるインタフェース部PHYの再起動後のリンクアップでは、縮退する物理レーンPHLが再起動前に判定されているため、図8に示す動作は、実行されない。
以上より、フレーム転送部FTRは、故障レーンを特定する機能を含まないインタフェース部PHYを使用する場合においても、フロー制御での異常を検出した場合に、エラー情報EINF等に基づいて、縮退する物理レーンPHLをリンクアップ後に特定できる。
なお、情報処理装置PDEVのリンクアップ後の動作は、この例に限定されない。例えば、ステップS418の処理は、省かれてもよい。この場合、例えば、ステップS412は、パリティBIPのエラーが検出されるまで繰り返されてもよい。また、ステップS412において、パリティBIPのエラー数が閾値を超えた物理レーンPHLが存在しない場合、フレーム転送部FTRは、ステップS418の代わりに、図11に示すステップS318、S320と同じ動作を実行してもよい。
図13は、図2に示す情報処理装置PDEVのリンクアップ後の動作の別の例を示す。図13に示す動作では、物理レーンPHLsの縮退は、物理レーンPHLrの縮退の契機を検出した通信先の情報処理装置PDEVからの物理レーンPHLsの縮退要求の受信を契機として実行される。あるいは、物理レーンPHLrの縮退は、通信先の情報処理装置PDEVからの故障した物理レーンPHLrの縮退を要求する縮退依頼の受信を契機として実行される。
図13に示す動作は、図2に示す情報処理装置PDEV1、PDEV2の双方が互いに独立に実行する。図13において、ステップS502、S504は、レーン縮退の契機の検出処理に対応し、図4に示すフレーム受信部FRECにより実行される。また、ステップS510−S522は、図4および図5に示すリンク制御部LCLTより実行される。なお、図13に示す動作は、ハードウエアのみで実現されてもよく、フレーム転送部FTRに搭載されるCPUが実行する制御プログラム等のソフトウエアにより実現されてもよい。
ステップS502では、フレーム受信部FRECは、縮退情報DINFRを含む制御用パケットDLLPを受信したか否かを判定する。制御用パケットDLLPに含まれる縮退情報DINFRは、縮退する物理レーンPHLを指示する縮退要求パケットDLLPまたは縮退する物理レーンPHLの検出を指示する縮退依頼パケットDLLPである。
縮退要求パケットDLLPまたは縮退依頼パケットDLLPを受信した場合、フレーム受信部FRECの動作は、ステップS504に移る。一方、縮退要求パケットDLLPおよび縮退依頼パケットDLLPのいずれも受信していない場合、フレーム受信部FRECの動作は、ステップS502に戻る。
ステップS504では、フレーム受信部FRECは、ステップS502で受信した縮退要求パケットDLLPまたは縮退依頼パケットDLLPに含まれる縮退情報DINFRを、図4に示すリンク制御部LCLTに出力する。これにより、リンク制御部LCLTは、ステップS510において、縮退情報DINFRを受信する。
ステップS510では、リンク制御部LCLTの縮退指示部DCLTは、縮退情報DINFRをフレーム受信部FRECから受信する。これにより、リンク制御部LCLTは、通信先の情報処理装置PDEVでレーン縮退の契機が検出された場合のレーン縮退処理を開始する。
次に、ステップS511では、縮退指示部DCLTは、ステップS510で受信した縮退情報DINFRが、縮退する物理レーンPHLrの検出を指示する縮退依頼を示すか否かを判定する。縮退情報DINFRが縮退依頼を示す場合、リンク制御部LCLTの動作は、ステップS512に移る。一方、縮退情報DINFRが縮退依頼でない場合(すなわち、縮退する物理レーンPHLを指示する縮退要求の場合)、リンク制御部LCLTの動作は、ステップS522に移る。
次に、ステップS512では、故障判定部BJGは、図10に示すステップS204と同様に、通信先の情報処理装置PDEVから受信したデータのパリティBIPのエラー数が、所定期間内に閾値を超えた物理レーンPHLrが存在するか否かを判定する。なお、リンク制御部LCLTは、例えば、図13に示す動作と並列して、所定期間内のパリティBIPのエラー数を物理レーンPHL毎にエラーカウンタECTを用いて計測する。例えば、所定期間内の各物理レーンPHLのパリティBIPのエラー数は、図10のステップS202で算出される。
パリティBIPのエラー数が閾値を超えた物理レーンPHLrが存在する場合、リンク制御部LCLTの動作は、ステップS514に移る。一方、パリティBIPのエラー数が閾値を超えた物理レーンPHLrが存在しない場合、リンク制御部LCLTの動作は、ステップS518に移る。なお、ステップS512の閾値は、図10のステップS204の閾値と同じ値でもよいし、異なる値でもよい。
ステップS514では、図11に示すステップS314と同様に、図5に示すレーン選択部LSELは、所定期間内のパリティBIPのエラー数が最も多い物理レーンPHLrを、縮退するレーンと特定する。なお、レーン選択部LSELは、縮退する受信側の物理レーンPHLrとともに、縮退する物理レーンPHLrに対応する送信側の物理レーンPHLsを縮退対象として特定してもよい。ステップS514の後、動作はステップS520に移る。
一方、ステップS518では、図12に示すステップS418と同様に、データを受信する物理レーンPHLr間で、パリティBIPのエラーの数の差がないため、レーン選択部LSELは、特定の物理レーンPHLrを、縮退するレーンと特定する。例えば、特定の物理レーンPHLrは、予め決められた順序にしたがって選択される。なお、ステップS518において、レーン選択部LSELは、所定期間内のパリティBIPのエラー数が1以上で閾値以下の場合、所定期間内のパリティBIPのエラー数が最も多い物理レーンPHLrを、縮退するレーンと特定してもよい。なお、レーン選択部LSELは、縮退する受信側の物理レーンPHLrとともに、縮退する物理レーンPHLrに対応する送信側の物理レーンPHLsを縮退対象として特定してもよい。
次に、ステップS520では、フレーム転送部FTRは、ステップS514またはステップS518で特定した物理レーンPHL(縮退する物理レーンPHL)を示す縮退情報DINFSをパケットDLLPとして、通信先の情報処理装置PDEVに送信する。ステップS520の動作は、図10に示すステップS208の動作と同様である。縮退レーンを通知された通信先の情報処理装置PDEVのリンク制御部LCLTは、縮退情報DINFSを含むパケットDLLP(縮退要求)が示す物理レーンPHLの使用を停止するイネーブル信号LENを出力する。
次に、ステップS522では、図10に示すステップS210と同様に、リンク制御部LCLTは、レーン縮退を実行し、インタフェース部PHYに再起動を指示する。例えば、レーン選択部LSELは、ステップS514あるいはステップS518で特定した物理レーンPHL(縮退する物理レーンPHL)の使用を停止するイネーブル信号LENを出力する。また、レーン選択部LSELは、縮退する物理レーンPHLを除く物理レーンPHLrの中から、データを受信または送信する物理レーンPHLを選択し、選択した物理レーンPHLを有効にするイネーブル信号LENを出力する。
あるいは、レーン選択部LSELは、ステップS510で受信した縮退要求パケットDLLPに含まれる縮退を支持された物理レーンPHLの使用を停止するイネーブル信号LENを出力する。また、レーン選択部LSELは、縮退する物理レーンPHLを除く物理レーンPHLの中から、通信先の情報処理装置PDEVにデータを送信または受信する物理レーンPHLを選択し、選択した物理レーンPHLを有効にするイネーブル信号LENを出力する。そして、フレーム転送部FTRは、インタフェース部PHYを再起動する。
なお、例えば、図13に示す動作が、物理レーンPHLの縮退を既に実行した後に実行された場合、図13の動作が実行される前に使用が停止された物理レーンPHLは、選択対象の物理レーンPHLに含まれない。この場合、選択対象の物理レーンPHLは、図13の動作が実行される前に使用されていた物理レーンPHLからステップS514またはステップS518で特定した物理レーンPHL(縮退する物理レーンPHL)を除いた物理レーンPHLである。
また、縮退指示部DCLTは、インタフェース部PHYの再起動を指示する通知を起動指示部SCLTに出力する。そして、起動指示部SCLTは、例えば、縮退指示部DCLTからの再起動の指示に応じて、インタフェース部PHYに対して再起動を指示する。
なお、物理レーンPHLの縮退時に実行されるインタフェース部PHYの再起動では、物理レーンPHLのイネーブルの設定(イネーブル信号LENの値)は、ステップS522で設定した内容が引き継がれる。また、物理レーンPHLの縮退時に実行されるインタフェース部PHYの再起動後のリンクアップでは、縮退する物理レーンPHLが再起動前に判定されているため、図8に示す動作は、実行されない。
以上より、フレーム転送部FTRは、故障レーンを特定する機能を含まないインタフェース部PHYを使用する場合においても、縮退依頼の受信に基づいて、縮退する物理レーンPHLrをリンクアップ後に特定することができる。また、縮退を特定した物理レーンPHLrを示す情報を、依頼元の情報処理装置PDEVに通知することができる。あるいは、フレーム転送部FTRは、故障レーンを特定する機能を含まないインタフェース部PHYを使用する場合においても、縮退要求の受信に基づいて、物理レーンPHLsをリンクアップ後に縮退することができる。
なお、情報処理装置PDEVのリンクアップ後の動作は、この例に限定されない。例えば、ステップS518の処理は、省かれてもよい。この場合、例えば、ステップS512は、パリティBIPのエラーが検出されるまで繰り返されてもよい。また、ステップS512において、パリティBIPのエラー数が閾値を超えた物理レーンPHLが存在しない場合、フレーム転送部FTRは、ステップS518の代わりに、図11に示すステップS318、S320と同じ動作を実行してもよい。
以上より、フレーム転送部FTRは、故障レーンを特定する機能を含まないインタフェース部PHYを使用する場合においても、受信データのエラーを示すエラー情報EINF等を参照することにより、物理レーンPHLをリンクアップ後に縮退することができる。
例えば、フレーム転送部FTRは、図10のステップS200−S204、図11のステップS302−S304、図12のステップS402−S404、図13のステップS502−S504等のレーン縮退の契機の検出処理を、並列に実行する。この場合、フレーム転送部FTRは、複数のレーン縮退の契機のうちのいずれかを検出した場合に縮退する物理レーンPHLを特定するため、縮退する物理レーンPHLの特定を効率よく実行できる。
なお、フレーム転送部FTRは、図10から図13に示すレーン縮退の契機の検出処理の一部を省略してもよい。例えば、フレーム転送部FTRは、図7に示す所定期間内のパリティBIPのエラー数の閾値超えをレーン縮退の契機から省いてもよい。あるいは、図7に示すビットエラーの悪化、リトライアウトの検出、フロー制御プロトコルエラーの検出および低電力モードへの切り替えをレーン縮退の契機から省いてもよい。
図14は、図10から図13に示すリンクアップ後の動作において、縮退する物理レーンPHLの特定方法の例を示す。図14に示すパリティBIPのエラーの領域に示される”有り”、”無し”は、所定期間(例えば、80ミリ秒)のうちの一部の期間を抜粋した場合のパリティBIPのエラーの検出結果の一例を示す。また、縮退する物理レーンPHLか否かを判定するための閾値は、例えば、”3”である。
図14に示す例では、過去80ミリ秒の間に検出された5つのPCSレーンPLrの各々のパリティBIPのエラーの総数は、物理レーンPHLr0、PHLr1、PHLr2、PHLr3のそれぞれで、”5”、”1”、”2”、”4”である。このため、例えば、図10に示すステップS206において、レーン選択部LSELは、所定期間でのパリティBIPのエラーの数が閾値(=”3”)を超えた物理レーンPHLr0、PHLr3を、縮退するレーンと特定する。物理レーンPHLr1−PHLr2は、正常な物理レーンPHLrと判定される。あるいは、図11に示すステップS314、図12に示すステップS414および図13に示すステップS514において、レーン選択部LSELは、所定期間でのパリティBIPのエラーの数が最も多い物理レーンPHLr0を、縮退するレーンと特定する。物理レーンPHLr1−PHLr3は、正常な物理レーンPHLrと判定される。このように、レーン選択部LSELは、通信先の情報処理装置PDEVからインタフェース部PHYに転送されたデータに誤りがあることを示すエラー情報EINFに基づいて、縮退する物理レーンPHLを特定する。
図15は、図2に示す情報処理装置PDEVの動作の別の例を示す。図15に示す動作では、レーン縮退またはレーン縮退の解除は、CPUからの切り替え通知GRDの受信を契機として実行される。
図15に示す動作は、図2に示す情報処理装置PDEV1、PDEV2の双方が互いに独立に実行する。図15に示す動作は、図4および図5に示すリンク制御部LCLTにより実行される。なお、図15に示す動作は、ハードウエアのみで実現されてもよく、フレーム転送部FTRに搭載されるCPUが実行する制御プログラム等のソフトウエアにより実現されてもよい。
ステップS602では、縮退指示部DCLTは、フレーム転送部FTRとともに情報処理装置PDEVに搭載されるCPUから切り替え通知GRDを受信したか否かを判定する。切り替え通知GRDを受信した場合、動作はステップS604に移り、切り替え通知GRDを受信していない場合、動作はステップS602に戻る。
ステップS604では、縮退指示部DCLTは、縮退する物理レーンPHLを示す情報が切り替え通知GRDに含まれるか否かを判定する。縮退する物理レーンPHLを示す情報が切り替え通知GRDに含まれる場合、縮退指示部DCLTは、縮退する物理レーンPHLを示す情報をレーン選択部LSELに通知し、動作はステップS606に移る。縮退する物理レーンPHLを示す情報が切り替え通知GRDに含まれない場合、縮退した物理レーンPHLの解除の指示を示す情報が切り替え通知GRDに含まれる。このため、縮退指示部DCLTは、縮退した物理レーンPHLの解除の指示を示す情報をレーン選択部LSELに通知する。そして、動作はステップS612に移る。
なお、切り替え通知GRDに含まれる情報は、通信先の情報処理装置PDEVからデータを受信する物理レーンPHLrまたは通信先の情報処理装置PDEVにデータを送信する物理レーンPHLsを示す。なお、切り替え通知GRDに含まれる情報は、物理レーンPHLr、PHLsの両方を示してもよい。切り替え通知GRDに含ませる情報は、低電力モード中に縮退する物理レーンPHLr、PHLsの仕様に応じて決められる。また、切り替え通知GRDを出力するCPUは、図2に示す情報処理装置PDEV1、PDEV2の一方のCPUでもよい。
ステップS606では、レーン選択部LSELは、切り替え通知GRDに含まれる物理レーンPHLを縮退する物理レーンPHLと特定する。
次に、ステップS608では、フレーム転送部FTRは、ステップS606で特定した物理レーンPHLを示す縮退情報DINFSをパケットDLLPとして、通信先の情報処理装置PDEVに送信する。通信先の情報処理装置PDEVのリンク制御部LCLTは、縮退情報DINFSを含むパケットDLLP(縮退要求)が示す物理レーンPHLの使用を停止するイネーブル信号LENを出力する。
次に、ステップS610では、図8に示すステップS160と同様に、リンク制御部LCLTは、イネーブル信号LENを出力することで、インタフェース部PHYにレーン縮退を実行させ、インタフェース部PHYに再起動を指示し、動作を終了する。
一方、ステップS612では、レーン選択部LSELは、切り替え通知GRDに含まれる物理レーンPHLを、縮退を解除するレーンと特定する。
次に、ステップS614では、フレーム転送部FTRは、ステップS612で特定した縮退を解除する物理レーンPHLを示す縮退情報DINFSをパケットDLLPとして、通信先の情報処理装置PDEVに送信する。通信先の情報処理装置PDEVのリンク制御部LCLTは、縮退情報DINFSを含むパケットDLLP(縮退要求)が示す物理レーンPHLの使用を再開するイネーブル信号LENを出力する。通信先の情報処理装置PDEVが物理レーンPHLの使用を再開する一例(すなわち、物理レーンPHLの縮退の解除)は、図16に示す。
次に、ステップS616では、リンク制御部LCLTは、イネーブル信号LENを出力することで、物理レーンPHLの縮退を解除する処理をインタフェース部PHYに実行させる。また、リンク制御部LCLTは、図8に示すステップS160と同様に、インタフェース部PHYに再起動を指示し、動作を終了する。
図16は、図2に示す情報処理装置PDEVの動作の別の例を示す。図16は、通信先の情報処理装置PDEVが、縮退を解除する物理レーンPHLを示す縮退情報DINFSを含むパケットDLLPを受信し、縮退している物理レーンPHLを復帰する動作を示す。
まず、ステップS702において、フレーム受信部FRECは、縮退を解除する縮退解除情報DINFRを含む制御用パケットDLLPを受信したか否かを判定する。縮退解除情報DINFRを含む制御用パケットDLLPを受信した場合、フレーム受信部FRECの動作は、ステップS704に移る。一方、縮退解除情報DINFRを含む制御用パケットDLLPを受信していない場合、フレーム受信部FRECの動作は、ステップS702に戻る。
ステップS704では、フレーム受信部FRECは、ステップS702で受信した制御用パケットDLLPを、図4に示すリンク制御部LCLTに出力する。これにより、リンク制御部LCLTは、ステップS710において、縮退解除情報DINFRを含む制御用パケットDLLPを受信する。リンク制御部LCLTは、縮退している物理レーンPHLの使用を再開する処理を開始する。
次に、ステップS712では、リンク制御部LCLTは、縮退解除情報DINFRに基づいて、縮退されている物理レーンPHLの縮退を解除し、インタフェース部PHYに再起動を指示する。例えば、レーン選択部LSELは、縮退を解除する物理レーンPHLに対応するイネーブル信号LENを出力する。そして、物理レーンPHLの縮退を解除する動作は終了する。
図17は、レーン縮退および縮退レーンの解除に使用する縮退制御用パケットDLLPの一例を示す。縮退制御用パケットDLLPは、パケットDLLPのタイプ、送信側の物理レーンPHLsの縮退情報、受信側の物理レーンPHLrの縮退情報、およびバッファ部RBUFの空きを示すクレジット情報を格納する領域を有する。
送信側の物理レーンPHLsの縮退情報および受信側の物理レーンPHLrの縮退情報は、縮退制御用パケットDLLPを送信する情報処理装置PDEVを基準にして決められる。例えば、情報処理装置PDEVがデータを受信する物理レーンPHLrの縮退を指示する縮退制御用パケットDLLPを、通信先の情報処理装置PDEVに送信する場合、受信側の物理レーンPHLrの領域に縮退情報が格納される。
パケットDLLPのタイプの領域は、図18に示すコマンドDGRD_PUSH、DGRD_REQ、DGRD_ACK、DGRD_COMPを識別する情報のいずかが格納される。コマンドDGRD_PUSHは、縮退する物理レーンPHLsの特定を通信先の情報処理装置PDEVに依頼する場合(縮退依頼)に使用される。コマンドDGRD_REQは、物理レーンPHLsの縮退を通信先の情報処理装置PDEVに要求する場合(縮退要求)に使用される。また、コマンドDGRD_REQは、通常動作モードから低電力モードへの切り替えのために、通信先の情報処理装置PDEVに物理レーンPHLの縮退を要求する場合に使用される。さらに、コマンドDGRD_REQは、低電力モードから通常動作モードへの切り替えのために、通信先の情報処理装置PDEVに物理レーンPHLの縮退の解除を要求する場合に使用される。
コマンドDGRD_ACKは、物理レーンPHLの縮退の完了または縮退の解除の完了を、コマンドDGRD_REQの発行元の情報処理装置PDEVに通知する場合に使用される。コマンドDGRD_COMPは、コマンドDGRD_ACKの受信の応答を、コマンドDGRD_ACKの発行元の情報処理装置PDEVに通知する場合に使用される。コマンドDGRD_PUSH、DGRD_REQ、DGRD_ACK、DGRD_COMPの使用例は、図19から図21に示す。
物理レーンPHLsの縮退情報の領域は、物理レーンPHLの故障を要因とするレーン故障用の縮退情報の領域と、動作モード(低電力モード)を要因とする動作モード用の縮退情報の領域とを含む。各縮退情報の領域は、縮退する場合に論理0が設定され、縮退しない場合に論理1が設定されるフラグ領域を、物理レーンPHLs0−PHLs3毎に有する。
受信側の物理レーンPHLrの縮退情報の領域は、物理レーンPHLの故障を要因とするレーン故障用の縮退情報の領域と、動作モード(低電力モード)を要因とする動作モード用の縮退情報の領域とを含む。各縮退情報の領域は、縮退する場合に論理0が設定され、縮退しない場合に論理1が設定されるフラグ領域を、物理レーンPHLr0−PHLr3毎に有する。物理レーンPHLの故障の要因は、物理レーンPHL自体の故障に加えて、各物理レーンPHLに対応するPCSレーンPLの故障と、物理レーンPHLまたはPCSレーンPLに接続される回路および部品の故障とを含む。
なお、送信側の物理レーンPHLsの縮退情報の領域および受信側の物理レーンPHLrの縮退情報の領域において、物理レーンPHLの故障を要因とする縮退情報の領域と、動作モード(低電力モード)を要因とする縮退情報の領域とは、共用されてもよい。また、縮退制御用パケットDLLPは、クレジット情報を格納する領域を含まなくてもよい。
図18は、縮退する物理レーンPHLsの特定を通信先の情報処理装置PDEVに依頼する場合(縮退依頼)の情報処理システムSYS1の動作の一例を示す。図18では、図2に示す情報処理装置PDEV1が情報処理装置PDEV2に縮退依頼を発行する例を示す。なお、情報処理装置PDEV2が情報処理装置PDEV1に縮退依頼を発行する場合も、図18と同様の動作が実行される。以下の説明では、コマンドDGRD_PUSH、DGRD_REQ、DGRD_ACKまたはDGRD_COMPを用いた縮退制御用パケットDLLPは、コマンドDGRD_PUSH、DGRD_REQ、DGRD_ACKまたはDGRD_COMPと称される。
例えば、情報処理装置PDEV1は、ビットエラーレートの悪化またはリトライアウトを判定したが、BIPエラーの数が閾値を超えておらず、エラーの要因が見つからない場合に、情報処理装置PDEV2にコマンドDGRD_PUSHを送信する。例えば、コマンドDGRD_PUSHのパケットDLLP(図17)に含まれる物理レーンPHLsの縮退情報の領域と、物理レーンPHLrの縮退情報の領域とは、ダミーの値(例えば、論理1)が格納される。コマンドDGRD_PUSHは、情報処理装置PDEV2からコマンドDGRD_PUSHを受信するまで、繰り返し送信される。例えば、コマンドDGRD_PUSHは、図11に示すステップS318で送信される。
次に、コマンドDGRD_PUSHを受信した情報処理装置PDEV2は、情報処理装置PDEV1からデータを受信する物理レーンPHLrのパリティBIPのエラー数を閾値と比較することで、例えば、物理レーンPHLr2−PHLr3の故障を検出する。コマンドDGRD_PUSHを受信した情報処理装置PDEV2の動作の例は、図13のステップS512、S514、S518(縮退依頼の処理)に示される。なお、情報処理装置PDEV2は、2回目以降のコマンドDGRD_PUSHの受信を無視する。
情報処理装置PDEV2は、検出した物理レーンPHLr2−PHLr3を示す情報を、コマンドDGRD_REQを用いて情報処理装置PDEV1に通知する。コマンドDGRD_REQは、所定時間T1が経過するまで、繰り返し送信される。例えば、コマンドDGRD_REQのパケットDLLP(図17)に含まれる物理レーンPHLrの縮退情報の領域には、物理レーンPHLr0−PHLr1を示す領域に、縮退しないことを示す論理”1”が格納される。物理レーンPHLr2−PHLr3を示す領域に、縮退することを示す論理”0”が格納される。一方、コマンドDGRD_REQのパケットDLLP(図17)に含まれる物理レーンPHLsの縮退情報の領域には、ダミー(例えば、現在の縮退状況を示す情報)が格納される。
また、情報処理装置PDEV2は、コマンドDGRD_REQの送信に基づいて、所定時間T2の計測を開始する。所定時間T2は、コマンドDGRD_ACKを受信するまでの制限時間である。情報処理装置PDEV2は、コマンドDGRD_REQの送信を所定時間T1が経過するまで繰り返した後、故障を検出した物理レーンPHLr2−PHLr3に対応するイネーブル信号LENを生成する。そして、情報処理装置PDEV2は、故障を検出した物理レーンPHLr2−PHLr3の使用を停止する縮退処理を実行する。
例えば、情報処理装置PDEV2は、コマンドDGRD_PUSHの受信に基づいて、図10に示す動作を実行し、物理レーンPHLrの故障の検出、物理レーンPHLrの縮退および縮退した物理レーンPHLrの情報処理装置PDEV1への通知を実行する。図10のステップS208は、コマンドDGRD_REQを用いて実行される。
コマンドDGRD_REQを受信した情報処理装置PDEV1は、コマンドDGRD_PUSHの送信を終了する。情報処理装置PDEV1は、情報処理装置PDEV2が使用を停止した物理レーンPHLr2−PHLr3を、コマンドDGRD_REQに含まれる情報から検出する。そして、情報処理装置PDEV1は、情報処理装置PDEV2が使用を停止した物理レーンPHLr2−PHLr3に対応する物理レーンPHLs2−PHLs3の使用を停止する縮退処理を実行する。
情報処理装置PDEV1は、縮退処理後にインタフェース部PHYを再起動し、再起動の完了後、使用を継続している物理レーンPHLr0−PHLr1を用いて、縮退処理の完了を示すコマンドDGRD_ACKを情報処理装置PDEV2に送信する。コマンドDGRD_ACKは、情報処理装置PDEV2からコマンドDGRD_COMPを受信するまで、繰り返し送信される。例えば、コマンドDGRD_ACKのパケットDLLP(図17)に含まれる物理レーンPHLsの縮退情報の領域と、物理レーンPHLrの縮退情報の領域とは、ダミーの値(例えば、現在の縮退状況を示す情報)が格納される。情報処理装置PDEV1による物理レーンPHLrの縮退処理およびインタフェース部PHYの再起動処理は、図13に示すステップS522により実行される。
コマンドDGRD_ACKを受信した情報処理装置PDEV2は、縮退処理の完了を示すコマンドDGRD_COMPを情報処理装置PDEV1に送信する。なお、情報処理装置PDEV2から情報処理装置PDEV1へデータを送信する物理レーンPHLs0−PHLs3は、故障が検出されていない。このため、情報処理装置PDEV2は、全ての物理レーンPHLs0−PHLs3を用いて、コマンドDGRD_COMPを送信する。コマンドDGRD_COMPは、所定時間T3が経過するまで、繰り返し送信される。例えば、コマンドDGRD_COMPのパケットDLLP(図17)に含まれる物理レーンPHLsの縮退情報の領域と、物理レーンPHLrの縮退情報の領域とは、ダミーの値(例えば、現在の縮退状況を示す情報)が格納される。
コマンドDGRD_COMPの送信を完了した情報処理装置PDEV2は、通常のパケットTLP(Transaction Layer Packet)および制御用のパケットDLLPの送信を再開する。同様に、コマンドDGRD_COMPを受信した情報処理装置PDEV1は、通常のパケットTLPおよび制御用のパケットDLLPの送信を再開する。
なお、情報処理装置PDEV2は、所定時間T1の経過後、故障を検出した物理レーンPHLr2−PHLr3とともに、物理レーンPHLr2−PHLr3に対応する送信側の物理レーンPHLs2−PHLs3の使用を停止する縮退処理を実行してもよい。この場合、コマンドDGRD_REQを受信した情報処理装置PDEV1は、使用を停止した物理レーンPHLs2−PHLs3に対応する物理レーンPHLr2−PHLr3の使用を停止する縮退処理を実行する。そして、コマンドDGRD_COMPは、縮退された物理レーンPHL2−PHL3を除く物理レーンPHL0-PHL1を使用して伝送される。
図19は、物理レーンPHLrの故障を検出した情報処理装置PDEVが、通信先の情報処理装置PDEVに縮退する物理レーンPHLrを通知する場合(縮退要求)の情報処理システムSYS1の動作の一例を示す。図18と同一または同様の動作については、詳細な説明は省略する。
図19では、図2に示す情報処理装置PDEV2がBIPエラーの数の閾値超えを検出し、情報処理装置PDEV1に物理レーンPHLsの縮退要求を発行する例を示す。なお、情報処理装置PDEV1が情報処理装置PDEV2に縮退要求を発行する場合も、図19と同様の動作が実行される。
図19に示す動作は、情報処理装置PDEV2が、例えば、物理レーンPHLr2−PHLr3の故障を検出することで開始される。物理レーンPHLr2−PHLr3の故障を検出は、図10に示すステップS206、図11に示すステップS314および図12に示すステップS414、S418により実行される。図19に示す動作は、図18に示す動作からコマンドDGRD_PUSHを除いた動作と同様である。
なお、図19においても、図18と同様に、情報処理装置PDEV2は、所定時間T1の経過後、故障を検出した物理レーンPHLr2−PHLr3に対応する送信側の物理レーンPHLs2−PHLs3の使用を停止する縮退処理を実行してもよい。この場合、コマンドDGRD_REQを受信した情報処理装置PDEV1は、使用を停止した物理レーンPHLs2−PHLs3に対応する受信側の物理レーンPHLr2−PHLr3の使用を停止する縮退処理を実行する。そして、コマンドDGRD_COMPは、縮退された物理レーンPHL2−PHL3を除く物理レーンPHL0-PHL1を使用して伝送される。
図20は、低電力モードへの切り替えを示す切り替え通知GRDの受信に基づいて物理レーンPHLを縮退する情報処理システムSYS1の動作の一例を示す。図18と同一または同様の動作については、詳細な説明は省略する。図20では、図2に示す情報処理装置PDEV2のCPUが切り替え通知GRDを出力する例を示す。なお、情報処理装置PDEV1のCPUが切り替え通知GRDを出力する場合も、図20と同様の動作が実行される。
図20に示す動作は、情報処理装置PDEV2が、通常動作モードから低電力モードへの切り替えを示す切り替え通知GRDをCPUから受信することにより開始される。例えば、切り替え通知GRDは、通信先の情報処理装置PDEVからデータを受信する物理レーンPHLr2−PHLr3の使用を停止する情報を含む。図20に示す動作は、図15に示すステップS606からS610より実行される。図20に示す動作は、物理レーンPHLの縮退が、故障ではなく動作モードの切り替えに基づいて実行されることを除き、図18に示す動作からコマンドDGRD_PUSHを除いた動作と同様である。
なお、情報処理装置PDEV2は、CPUからの切り替え通知GRDに基づいて、通信先の情報処理装置PDEVにデータを送信する物理レーンPHLsの使用を停止してもよい。また、情報処理装置PDEV2は、切り替え通知GRDに基づいて、物理レーンPHLrと物理レーンPHLsとの両方の使用を停止してもよい。
物理レーンPHLr、PHLsの使用を停止する場合、図18と同様に、情報処理装置PDEV2は、所定時間T1の経過後、物理レーンPHLr2−PHLr3とともに物理レーンPHLs2−PHLs3の使用を停止する縮退処理を実行する。この場合、コマンドDGRD_REQを受信した情報処理装置PDEV1は、使用を停止した物理レーンPHLs2−PHLs3に対応する受信側の物理レーンPHLr2−PHLr3の使用を停止する縮退処理を実行する。そして、コマンドDGRD_COMPは、縮退された物理レーンPHL2−PHL3を除く物理レーンPHL0-PHL1を使用して伝送される。
図21は、通常動作モードへの切り替えを示す切り替え通知GRDの受信に基づいて物理レーンPHLの縮退を解除する情報処理システムSYS1の動作の一例を示す。図18と同一または同様の動作については、詳細な説明は省略する。図21では、図2に示す情報処理装置PDEV2のCPUが切り替え通知GRDを出力する例を示す。なお、情報処理装置PDEV1のCPUが切り替え通知GRDを出力する場合も、図21と同様の動作が実行される。
図21に示す動作は、情報処理装置PDEV2が、低電力モードから通常動作モードへの切り替えを示す切り替え通知GRDをCPUから受信することにより開始される。例えば、切り替え通知GRDは、縮退されている物理レーンPHLr2−PHLr3の使用を再開する情報を含む。図21に示す動作は、図15に示すステップS612からS616より実行される。図21に示す動作は、使用する物理レーンPHLと使用を停止する物理レーンPHLとが異なることを除き、図18に示す動作からコマンドDGRD_PUSHを除いた動作と同様である。
なお、図20で情報処理装置PDEV2が、切り替え通知GRDの受信に基づいて物理レーンPHLsの使用を停止した場合、図21において、情報処理装置PDEV2は、切り替え通知GRDに基づいて使用を停止した物理レーンPHLsの使用を再開してもよい。また、図20で情報処理装置PDEV2が、切り替え通知GRDの受信に基づいて物理レーンPHLr、PHLsの両方の使用を停止する仕様であるとする。この場合、図21において、情報処理装置PDEV2は、切り替え通知GRDに基づいて、使用を停止した物理レーンPHLr、PHLsの両方の使用を再開してもよい。
図20で物理レーンPHLr、PHLsの両方の使用を停止する場合、情報処理装置PDEV2は、所定時間T1の経過後、物理レーンPHLr2−PHLr3とともに、物理レーンPHLs2−PHLs3の使用を再開する。この場合、コマンドDGRD_REQを受信した情報処理装置PDEV1は、物理レーンPHLs2−PHLs3とともに、物理レーンPHLr2−PHLr3の使用を再開する。
以上、図2から図21に示す実施形態においても、図1に示す実施形態と同様に、インタフェース部PHYに新たな機能を追加することなく、使用を停止する物理レーンPHLrを特定することができ、特定した物理レーンPHLrの使用を停止することができる。この際、物理レーンPHLrを縮退した情報処理装置PDEVは、使用を停止した物理レーンPHLrを示す縮退情報DINFSを含むフレームデータSFRAMを通信先の情報処理装置PDEVに送信する。これにより、通信先の情報処理装置PDEVにおいても、エラーが検出された物理レーンPHLrに対応する物理レーンPHLsの使用を停止することができる。
さらに、図2から図21に示す実施形態では、コマンドDGRD_PUSH、DGRD_REQ、DGRD_ACK、DGRD_COMPを用いて、複数の情報処理装置PDEV間で、物理レーンPHLの縮退を相互に実行する。これにより、情報処理装置PDEVの一方で縮退した物理レーンPHLを示す情報に基づいて、情報処理装置PDEVの他方は、縮退した物理レーンPHLに対応する物理レーンPHLを縮退することができる。コマンドDGRD_PUSH、DGRD_REQ、DGRD_ACK、DGRD_COMPは、フレームデータRFRAM、RFRAMに含まれるため、インタフェース部PHYは、フレームデータRFRAM、RFRAMの中身を関知しない。このため、インタフェース部PHYに新たな機能を追加することなく、複数の情報処理装置PDEV間で、物理レーンPHLの縮退を相互に実行することができる。
例えば、情報処理装置PDEVのリンクアップ前の起動処理中に、アライメントマーカAMの検出/非検出に基づいて、複数の情報処理装置PDEV間で、物理レーンPHLの縮退を相互に実行することができる。情報処理装置PDEVのリンクアップ後において、パケットの再送処理での異常の検出(ビットエラーレートの悪化またはリトライアウトの検出)に基づいて、複数の情報処理装置PDEV間で、物理レーンPHLの縮退を相互に実行することができる。情報処理装置PDEVのリンクアップ後において、フロー制御プロトコルエラーの検出に基づいて、複数の情報処理装置PDEV間で、物理レーンPHLの縮退を相互に実行することができる。さらに、情報処理装置PDEVのリンクアップ前またはリンクアップ後において、情報処理システムSYS1の動作モードの切り替えに基づいて、複数の情報処理装置PDEV間で、物理レーンPHLの縮退または縮退の解除を相互に実行することができる。
なお、図2から図21に示す実施形態では、所定期間内のパリティBIPのエラー数が閾値を超えた場合、エラーが検出された物理レーンPHLr(受信側)の使用が停止され、通信先の情報処理装置PDEVの物理レーンPHLs(送信側)の使用が停止される。しかしながら、所定期間内のパリティBIPのエラー数が閾値を超えた場合、エラーが検出された物理レーンPHLr(受信側)の使用を停止した後、送信側の物理レーンPHLsの使用が停止されてもよい。この場合、通信先の情報処理装置PDEVは、通信元の情報処理装置PDEVからの縮退レーンの通知に基づいて、送信側の物理レーンPHLsと受信側の物理レーンPHLrの使用を順次に停止する。
以上の詳細な説明により、実施形態の特徴点および利点は明らかになるであろう。これは、特許請求の範囲がその精神および権利範囲を逸脱しない範囲で前述のような実施形態の特徴点および利点にまで及ぶことを意図するものである。また、当該技術分野において通常の知識を有する者であれば、あらゆる改良および変更に容易に想到できるはずである。したがって、発明性を有する実施形態の範囲を前述したものに限定する意図はなく、実施形態に開示された範囲に含まれる適当な改良物および均等物に拠ることも可能である。