(57)【要約】  受信回路は、複数のレーンを用いてデータを受信する。レーン全体制御部５０５は、前記複数のレーンのうち１つのレーンに障害が発生した場合、当該障害が発生した障害発生レーンを含む所定数のレーンを縮退させる。そして、運用継続レーン制御部５０４は、複数のレーンから縮退された所定数のレーンを除いた残りのレーンを用いて受信回路にデータを受信させる。縮退レーン制御部５０３は、所定数のレーンにおけるリンクを確立させるリトレーニングを行う。レーン全体制御部５０５は、縮退レーン制御部５０３によるリトレーニングによりリンクが確立した場合、所定数のレーンと残りのレーンとを合わせたレーンを用いて受信回路にデータを受信させる。
2013145240.tif 000002
【特許請求の範囲】
【請求項１】
複数のレーンを用いてデータを受信する受信部と、
前記複数のレーンのうち１つのレーンに障害が発生した場合、当該障害が発生した障害発生レーンを含む所定数のレーンを縮退させ、前記複数のレーンから縮退された前記所定数のレーンを除いた残りのレーンを用いて前記受信部にデータを受信させる縮退制御部と、
縮退させている前記所定数のレーンにおけるリンクを確立させるリトレーニングを行うリトレーニング部と、
前記リトレーニング部によるリトレーニングにより縮退させている前記所定数のレーンにおいてリンクが確立した場合、前記所定数のレーンと前記残りのレーンとを合わせたレーンを用いて前記受信部にデータを受信させる復帰制御部と
を備えたことを特徴とする情報処理装置。
【請求項２】
テスト用データを送受信することで、前記障害発生レーンを特定する障害特定部をさらに備えたことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記縮退制御部は、前記リトレーニングにより前記所定数のレーンのリンクが確立しない場合、前記残りのレーンを用いたデータの受信を前記受信部に継続させることを特徴とする請求項１に記載の情報処理装置。
【請求項４】
前記リトレーニング部は、リトレーニングとして、縮退している各前記レーンにおいてテスト信号を受信し、各前記レーンでのビットの境界を区切り直し、レーン間のデータのずれを補償し、受信側と送信側のクロック周波数の差を補正して各前記レーンにおけるデータの受信タイミングを合わせる処理を行うことを特徴とする請求項１に記載の情報処理装置。
【請求項５】
前記復帰制御部は、前記リトレーニング部によりレーン間のデータの受信タイミングが合わせられた縮退している前記所定数のレーンと前記残りのレーンとのデータの受信タイミングを合わせた後に、前記所定数のレーンと前記残りのレーンとを合わせたレーンを用いて前記受信部に受信させることを特徴とする請求項４に記載の情報処理装置。
【請求項６】
複数のレーンを用いてデータを送信する送信部と、
前記複数のレーンを用いて前記送信部から送信された前記データを受信する受信部と、
前記複数のレーンのうち１つのレーンに障害が発生した場合、当該障害が発生した障害発生レーンを含む所定数のレーンを縮退させ、前記複数のレーンから縮退された前記所定数のレーンを除いた残りのレーンを用いて前記受信部にデータを受信させる縮退制御部と、
縮退させている前記所定数のレーンにおけるリンクを確立させるリトレーニングを行うリトレーニング部と、
前記リトレーニング部によるリトレーニングにより縮退させている前記所定数のレーンにおいてリンクが確立した場合、前記所定数のレーンと前記残りのレーンとを合わせたレーンを用いて前記受信部にデータを受信させる復帰制御部と
を備えたことを特徴とする情報処理装置。
【請求項７】
複数のレーンを用いてデータを受信し、
前記複数のレーンのうち１つのレーンに障害が発生した場合、当該障害が発生した障害発生レーンを含む所定数のレーンを縮退し、
前記複数のレーンから縮退された前記所定数のレーンを除いた残りのレーンを用いてデータを受信し、
縮退させている前記所定数のレーンにおけるリンクを確立させるリトレーニングを行い、
前記リトレーニングにより縮退させている前記所定数のレーンにおいてリンクが確立した場合、前記所定数のレーンと前記残りのレーンとを合わせたレーンを用いてデータを受信する
ことを特徴とする情報処理装置制御方法。  
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置及び情報処理装置制御方法に関する。
【背景技術】
【０００２】
ＣＰＵ（Central  Processing  Unit）やクロスバスイッチなどのポート間のデータ伝送において、複数レーンを用いてシリアル通信を行う技術がある。この場合、送信側のポートは、送信データを分割し各レーンでデータを送信する。そして、受信側のポートは、それぞれのレーンで受信したデータから１つのデータを復元する。このように複数レーンを用いた運用の場合、ある１レーンで故障が発生すると、受信側でデータの復元ができなくなるおそれがある。このような場合、送信側と受信側との間の通信の確立の手順を再度実行し再リンクし直す処理が行われる。この処理をリトレーニングと呼ぶ。【０００３】
ここで、リトレーニングの処理手順について説明する。リトレーニングでは、送信側又は受信側のうちリンク確立を要求する装置が、通常パケットの送信を停止し、ＴＳＯＳ（Training  Sequence  Order  Set）と呼ばれるリンク確立用のパターンの送信を開始する。相手側の装置は、ＴＳＯＳを受信すると、通常パケットの送信を停止し、ＴＳＯＳを送信し返す。【０００４】
次に、ＴＳＯＳを受けた装置は、各レーンのビットの境界を区切りなおすシンボルロックを実行する。具体的には、ＴＳＯＳにはシンボルロックを行うためのパターンが含まれている。そして、ＴＳＯＳを受信した各装置は、ＴＳＯＳにパターンとして含まれる意味のあるビット列を検出し、各レーンのデータにおけるビットの境界線を区切り直す。【０００５】
次に、各装置は、各レーンのデータの読み出しのタイミングを調整するデスキューを実行する。具体的には、使用する複数のレーン間には、スキューと呼ばれるデータの位置ずれが存在する。データ１単位のことを１シンボルと呼び、レーン間のスキューがシンボルの数でどのくらいずれているかが表される。レーン間のデスキューは、このレーン間のスキューを補償する処理である。レーン間のデスキューは、トレーニングパターンに含まれるデスキューシンボルを用いて実行される。各レーンでデスキューシンボルを同時に送出し、受信側のデスキューバッファに格納する。一番遅くデスキューシンボルが到達したレーンに合わせて、デスキューバッファからのデータの読み出しを開始することで、全てのレーン間のスキューを補償することができる。【０００６】
次に、各装置は、送信側の受信側の装置におけるクロック周波数のずれを調整するクロックコンペンセーションを実行する。具体的には、送信側のポートと受信側のポートの間でクロック周波数差が存在する場合がある。このクロック周波数差を吸収する仕組みとして、エラスティックバッファが存在する。エラスティックバッファとは、装置間のデータ伝送において、クロック周波数を吸収するためのバッファである。読み込みのクロックが書き込みのクロックよりも遅い場合、エラスティックバッファに一時保存した受信データのＳＫＰＯＳ（Skip  Order  Set）を検出した後、ＳＫＰＳｙｍｂｏｌを受信データに埋め込む。ここでは、クロック周波数差補償パターンと呼ばれるＣＯＭＳｙｍｂｏｌとその後に続くＳＫＰＳｙｍｂｏｌとを合わせたものを、ＳＫＰＯＳと呼ぶ。読み込みのクロックが書き込みのクロックより遅い場合、エラスティックバッファに一時保存した受信データのＳＫＰＯＳを検出し、受信データを読み込む際に、ＳＫＰＳｙｍｂｏｌを読み飛ばす。【０００７】
次に、各装置はリンク構成ネゴシエーションを実行する。具体的には、ＴＳＯＳは各レーンで送出されているので、各装置は、正常にＴＳＯＳを受信しきれなかったレーンが故障していると判断する。そして、送信側及び受信側の双方の装置が、それぞれにおいてＴＳＯＳを受けることができたレーンの情報を、ＴＳＯＳを使用して送信し合い、どのレーンを使用するかを決定する。各装置は、どのレーンも故障していなければ全てのレーンでのリンクを確立する。【０００８】
構成ネゴシエーションにおいて使用するレーンが決定すると、各装置は、お互いに合意を取得するためのＴＳＯＳを送信し合い、リンクが確立する。【０００９】
以上で説明したリトレーニングの処理中は、各ポート間でＴＳＯＳを送信し合っているので、各装置間で通常のパケットを伝送することができない。この状態をパケットの停滞と呼ぶ。【００１０】
なお、このような複数のレーンを用いた通信において、指定されたレーンを残して、他のレーンを休止状態とすることで、省電力を図る従来技術がある。
【先行技術文献】
【特許文献】
【００１１】
【特許文献１】特開２０１０−１４７７０２号公報
【発明の概要】
【発明が解決しようとする課題】
【００１２】
しかしながら、上述したリトレーニングの手順では、間欠故障か固定故障かを判定するために、ＴＳＯＳ受信を数十ｍｓｅｃ程度の時間監視することになる。そして、監視開始から一定の時間が経過してもＴＳＯＳが受信できない場合に、固定故障としてレーン縮退を行う。このように、間欠故障か固定故障かの判定のために時間がかかるため、リトレーニング期間が全体として長くなり、パケットの停滞が長時間に及ぶおそれがある。【００１３】
また、ＣＰＵなどのタイムアウト時間がリトレーニング時間より短い場合がある。この場合、パケットの停滞により、ＣＰＵなどがタイムアウトエラーを発生させ、そのタイムアウトエラーを起こした箇所を含むシステムが使用できなくなるおそれもある。【００１４】
指定されたレーン以外を休止状態にする従来技術を用いても、長時間のパケットの停滞やＣＰＵのタイムアウトエラーを回避することは困難である。【００１５】
１つの側面では、本発明は、レーンにおける故障発生時のパケットの停滞を軽減する情報処理装置及び情報処理装置制御方法を提供することを目的とする。
【課題を解決するための手段】
【００１６】
本願の開示する情報処理装置及び情報処理装置制御方法は、一つの態様において、  受信部は、複数のレーンを用いてデータを受信する。縮退制御部は、前記複数のレーンのうち１つのレーンに障害が発生した場合、当該障害が発生した障害発生レーンを含む所定数のレーンを縮退させ、前記複数のレーンから縮退された前記所定数のレーンを除いた残りのレーンを用いて前記受信部にデータを受信させる。リトレーニング部は、縮退させている前記所定数のレーンにおけるリンクを確立させるリトレーニングを行う。復帰制御部は、前記リトレーニング部によるリトレーニングにより縮退させている前記所定数のレーンにおいてリンクが確立した場合、前記所定数のレーンと前記残りのレーンとを合わせたレーンを用いて前記受信部にデータを受信させる。
【発明の効果】
【００１７】
本発明の開示する情報処理装置及び情報処理装置制御方法の一実施態様によれば、レーンにおける故障発生時のパケットの停滞を軽減することができるという効果を奏する。
【図面の簡単な説明】
【００１８】
【図１】図１は、実施例に係る情報処理装置の構成例を示す図である。
【図２】図２は、実施例に係る情報処理装置が有するポートのブロック図である。
【図３】図３は、デスキューを説明するための図である。
【図４】図４は、クロックコンペンセーションを説明するための図である。
【図５】図５は、縮退制御部の詳細を表すブロック図である。
【図６】図６は、３つのレーンを縮退させた場合の概念図である。
【図７Ａ】図７Ａは、縮退レーンが早い場合のデスキュー位置のずれの調整を説明するための図である。
【図７Ｂ】図７Ｂは、縮退レーンが遅い場合のデスキューの位置ずれの調整を説明するための図である。
【図８】図８は、実施例に係る情報処理装置における故障発生及び回復時の処理のフローチャートである。
【図９】図９は、縮退した後に縮退レーンを復帰させて運用を行う場合の実施例と従来例との比較図である。
【図１０】図１０は、縮退した後に縮退レーンを復帰させずに運用を行う場合の実施例と従来例との比較図である。
【発明を実施するための形態】
【００１９】
以下に、本願の開示する情報処理装置及び情報処理装置制御方法の実施例を図面に基づいて詳細に説明する。なお、以下の実施例により本願の開示する情報処理装置及び情報処理装置制御方法が限定されるものではない。
【実施例１】
【００２０】
図１は、実施例に係る情報処理装置の構成例を示す図である。図１に示すように、本実施例に係る情報処理装置は、システムボード１Ａ、１Ｂ及びクロスバボード２を有している。そして、各システムボード１Ａ及び１Ｂには、複数のＣＰＵ（Central  Processing  Unit）１０が搭載されている。また、クロスバボード２には、クロスバスイッチ２０が搭載されている。そして、各ＣＰＵ１０のポートとクロスバスイッチ２０のポートとがシステムバスで接続されている。ここで、図６の構成は本実施例に係る情報処理装置の一例であり、ＣＰＵ１０とクロスバスイッチ２０との間の接続だけでなく、クロスバスイッチ２０同士の接続などに適用することもできる。【００２１】
図２は、実施例に係る情報処理装置が有するポートのブロック図である。図２は、図１におけるクロスバスイッチ２０のポート２００とＣＰＵ１０のポート１００との間で通信を行う各部を表している。クロスバスイッチ２０のポート２００は、送信回路２０１、オシレータ２０２、受信回路２０３、トレーニングパターン受信部２０４、縮退制御部２０５及びポート制御部２０６を有する。ＣＰＵ１０のポート１００は、受信回路１０１、オシレータ１０２、送信回路１０３、トレーニングパターン受信部１０４、縮退制御部１０５及びポート制御部１０６を有する。送信回路２０１と送信回路１０３とは、同じ動作をするため、以下では、送信回路２０１について主に説明する。また、受信回路１０１と受信回路２０３とは同じ動作をするため、以下では、受信回路１０１について主に説明する。また、トレーニングパターン受信部１０４、縮退制御部１０５及びポート制御部１０６と、トレーニングパターン受信部２０４、縮退制御部２０５及びポート制御部２０６とは同じ動作を行う。そこで、トレーニングパターン受信部１０４、縮退制御部１０５及びポート制御部１０６について主に説明する。【００２２】
送信回路２０１と受信回路１０１とは、８つのレーンのシリアルバスにより接続されている。ただし、図では、説明の便宜上、３つのレーンしか図示していない。【００２３】
送信回路２０１は、パターン生成部２１０、送信データ生成部２２０、８ｂ／１０ｂエンコーダ部２３１〜２３３及びＳｅｒＤｅｓ（Serializer/Deserializer）２４１〜２４３を有している。ここで、８ｂ／１０ｂエンコーダ部２３１〜２３３及びＳｅｒＤｅｓ２４１〜２４３はそれぞれレーンと同数の８つ存在するが、説明の都合上、図２では３つずつ図示している。【００２４】
送信データ生成部２２０は、ＣＰＵ１０に送信するデータを送信に使用するレーンの数にあわせて分割する。ここでは、８つのレーンを用いてデータを送信するので、送信データ生成部２２０は、データを８つに分割する。そして、分割したデータ１つずつをそれぞれ８つの８ｂ／１０ｂエンコーダ部２３１〜２３３へ出力する。【００２５】
パターン生成部２１０は、ポート２００とポート１００との間のリンク確立時に、ＴＳＯＳを生成する。ここで、リンク確立時とは、ポート２００とポート１００との間で通信を開始する場合、又は、いずれかのレーンで故障が発生した場合に、故障発生レーンを復帰させる場合などである。以下では、障害復旧時に、ポート２００とポート１００との間のリンクを確立させるときの動作をリトレーニングという場合がある。パターン生成部２１０は、ＴＳＯＳを８ｂ／１０ｂエンコーダ部２３１〜２３３へ出力する。このＴＳＯＳは、リンク確立用のトレーニングパターンを含んでいる。ＴＳＯＳに含まれるトレーニングパターンは、シンボルロック用のパターン及びデスキュー用のデスキューシンボルを含んでいる。シンボルロック及びデスキューについては、後で詳細に説明する。さらに、パターン生成部２１０は、クロック周波数差補償パターンを生成する。そして、パターン生成部２１０は、生成したクロック周波数差補償パターンを８ｂ／１０ｂエンコーダ部２３１〜２３３へ出力する。【００２６】
８ｂ／１０ｂエンコーダ部２３１〜２３３は、レーンと同数存在する。８ｂ／１０ｂエンコーダ部２３１〜２３３は、同じ機能を有するので、以下の説明では、８ｂ／１０ｂエンコーダ部２３１〜２３３を区別しない場合、単に「８ｂ／１０ｂエンコーダ部２３０」という。８ｂ／１０ｂエンコーダ部２３０は、リトレーニング時などに、ＴＳＯＳの入力をパターン生成部２１０から受ける。また、８ｂ／１０ｂエンコーダ部２３０は、リトレーニング時などに、クロック周波数差補償パターンの入力をパターン生成部２１０からうける。また、ポート２００とポート１００との間でリンク確立後データの送受信を行う場合、８ｂ／１０ｂエンコーダ部２３０は、レーンの数に分割されたデータの入力を送信データ生成部２２０から受ける。そして、８ｂ／１０ｂエンコーダ部２３０は、受信したデータを８ビットコードから１０ビットコードに変換する。そして、８ｂ／１０ｂエンコーダ部２３０は、１０ビットコードに変換したデータをＳｅｒＤｅｓ２４１〜２４３へ出力する。【００２７】
ＳｅｒＤｅｓ２４１〜２４３は、レーンと同数存在する。ＳｅｒＤｅｓ２４１〜２４３は、同じ機能を有するので、以下の説明では、ＳｅｒＤｅｓ２４１〜２４３を区別しない場合、単に「ＳｅｒＤｅｓ２４０」という。ＳｅｒＤｅｓ２４０は、８ｂ／１０ｂエンコーダ部２３０から受信したデータをパラレルデータからシリアルデータに変換する。そして、ＳｅｒＤｅｓ２４０は、シリアルデータに変換したデータをポート２００とポート１００とを接続するシリアルバスへ出力する。【００２８】
受信回路１０１は、受信データＳｅｒＤｅｓ１１１〜１１３、シンボルロック部１２１〜１２３、デスキュー部１３１〜１３３、周波数差調整部１４１〜１４３、８ｂ／１０ｂデコーダ部１５１〜１５３及び受信データ処理部１６０を有している。ここで、受信データＳｅｒＤｅｓ１１１〜１１３、シンボルロック部１２１〜１２３、デスキュー部１３１〜１３３、周波数差調整部１４１〜１４３及び８ｂ／１０ｂデコーダ部１５１〜１５３はそれぞれレーンと同数の８つ存在するが、説明の都合上、図２では３つずつ図示している。【００２９】
受信データＳｅｒＤｅｓ１１１〜１１３は、レーンと同数存在する。受信データＳｅｒＤｅｓ１１１〜１１３は、同じ機能を有するので、以下の説明では、受信データＳｅｒＤｅｓ１１１〜１１３を区別しない場合、単に「受信データＳｅｒＤｅｓ１１０」という。受信データＳｅｒＤｅｓ１１０は、受信したデータをシリアルデータからパラレルデータに変換する。そして、受信データＳｅｒＤｅｓ１１０は、パラレルデータに変換したデータをシンボルロック部１２１〜１２３へ出力する。【００３０】
シンボルロック部１２１〜１２３は、レーンと同数存在する。シンボルロック部１２１〜１２３は、同じ機能を有するので、以下の説明では、シンボルロック部１２１〜１２３を区別しない場合、単に「シンボルロック部１２０」という。【００３１】
シンボルロック部１２０は、リンク確立を行う時には、ＴＳＯＳの入力をＳｅｒＤｅｓ１１０から受信する。このとき、ＴＳＯＳは、各レーンにそれぞれ入力される。そして、シンボルロック部１２０は、受信した各レーンのＴＳＯＳからシンボルロック用のパターンを検出する。そして、シンボルロック部１２０は、検出したシンボルロック用のパターンの位置を用いて、各レーンのデータのビットの境界線を区切り直すことで各レーンのデータの境界を検出する。シンボルロックとは、データの境界の検出の処理を指す。【００３２】
シンボルロック部１２０は、通常のデータ受信時には、各レーンに入力されたデータに対してリンク確立時に決定した位置でシンボルロックを行う。そして、シンボルロック部１２０は、シンボルロックを行った各レーンのデータをデスキュー部１３１〜１３３へ出力する。【００３３】
デスキュー部１３１〜１３３は、レーンと同数存在する。デスキュー部１３１〜１３３は、同じ機能を有するので、以下の説明では、デスキュー部１３１〜１３３を区別しない場合、単に「デスキュー部１３０」という。【００３４】
図３を参照して、デスキュー部１３０の、リトレーニングなどのリンク確立時の動作を説明する。図３は、デスキューを説明するための図である。図３に示すように、デスキュー部１３０は、読出アドレス制御部３０１、読出制御部３０２及びデスキューシンボル検出部３０３を有している。【００３５】
次に、デスキュー部１３０は、シンボルロックが行われた各レーンのＴＳＯＳをシンボルロック部１２０から受信する。そして、デスキュー部１３０は、受信したＴＳＯＳをデスキューバッファに格納する。図３のデータ３１１は、デスキューバッファに格納される８つのレーンのそれぞれに入力されたＴＳＯＳの状態を表している。データ３１１は、左側から順にデスキューバッファに格納されたデータを表している。例えば、データ３１１は、１つのブロックが１０ビットのデータを表している。そして、デスキューシンボル検出部３０３は、デスキューバッファに格納されている各レーンのデータからデスキューシンボルを検出する。データ３１１における黒く塗られたデータがデスキューシンボル３１２である。デスキューを行う前は、各レーン間のスキューがずれているので、デスキューシンボル３１２のデスキューバッファへの格納タイミングは、各レーンでずれが生じている。データ３１１では、紙面に向かって上から３番目のレーンのデータが一番遅れている。すなわち、このまま読み出しては、レーン毎にデータのタイミングのずれが生じてしまう。デスキューシンボル検出部３０３は、デスキューシンボルを検出した通知を読出制御部３０２へ通知する。【００３６】
読出制御部３０２は、デスキューシンボルを検出した通知をデスキューシンボル検出部３０３から受信する。そして、読出制御部３０２は、デスキューシンボルを検出した通知を受けたレーンのリードアドレスのインクリメントの停止を読出アドレス制御部３０１へ指示する。そして、読出制御部３０２は、８つのレーンのうちの一番データが遅れているレーンのデスキューシンボルの検出の通知を受けるまで、他のレーンのリードアドレスのインクリメントの停止を順に読出アドレス制御部３０１へ指示していく。そして、８つのレーンのうちの一番データが遅れているレーンのデスキューシンボルの検出の通知を受信すると、読出制御部３０２は、全てのレーンのリードアドレスのインクリメントを読出アドレス制御部３０１へ通知する。【００３７】
読出アドレス制御部３０１は、デスキューバッファに格納されている各レーンのデータを、リードアドレスをインクリメントしていきながら読み出していく。そして、読出アドレス制御部３０１は、読出制御部３０２からのリードアドレスのインクリメントの停止の指示を受けて、指示されたレーンのデータのリードアドレスのインクリメントを停止する。その後、全てのレーンのリードアドレスのインクリメントの指示を読出制御部３０２から受けると、読出アドレス制御部３０１は、デスキューバッファに格納されている８つの全てのレーンのデータを、リードアドレスをインクリメントしていきながら読み出していく。これにより、データ３１３に示すように、読出アドレス制御部３０１は、各レーンのデータのデスキューシンボル３１４が一番遅いデータのデスキューシンボル３１４のタイミングでそろうように、各レーンのデータを読み出すことができる。このように、各レーンのデータのタイミングを合わせて読み出すためのリードアドレスのインクリメントの停止時間の調整などのデータ読出しタイミングの調整パターンを、以下では「デスキューパターン」という。また、以下では、デスキューシンボルの読み出しのタイミングが全てのレーンで合うように調整されたデータ読出しタイミングにおける各レーンのデスキューシンボルの位置を「デスキュー位置」という。【００３８】
デスキュー部１３０は、起動時などには、８レーン全てに対してここで説明したデスキューを行う。また、デスキュー部１３０は、故障時に縮退させる縮退レーンに対するリトレーニングをポート制御部１０６から指示された場合は、ここで説明したデスキューを縮退レーンである３レーンに対して行う。さらに、後述するように、デスキュー部１３０は、縮退レーンのリトレーニング完了後、後述するように縮退レーンと故障時に運用を継続させる運用継続レーンとの間のスキューの調整の指示を縮退制御部１０５から受ける場合がある。その場合、デスキュー部１３０は、指示にしたがいデスキューを行い、縮退レーンと運用継続レーンとのデスキュー位置を合わせる。【００３９】
次に、デスキュー部１３０の、通常のデータ受信時の動作について説明する。デスキュー部１３０は、受信データＳｅｒＤｅｓ１１０からデータを受信する。そして、デスキュー部１３０は、シンボルロック部１２０によるシンボルロックで決定した各レーンのデータの境界位置を用いて、受信したデータをデスキューバッファに格納していく。そして、デスキュー部１３０は、リンク確立時に決定したデスキューパターンでデスキューバッファに格納した各レーンのデータを読み出す。そして、デスキュー部１３０は、読み出したデータを周波数差調整部１４１〜１４３へ出力する。【００４０】
周波数差調整部１４１〜１４３は、レーンと同数存在する。周波数差調整部１４１〜１４３は、同じ機能を有するので、以下の説明では、周波数差調整部１４１〜１４３を区別しない場合、単に「周波数差調整部１４０」という。ポート２００はオシレータ２０２からリファレンスクロックの供給を受ける。また、ポート１００は、オシレータ１０２からリファレンスクロックの供給を受ける。すなわち、ポート２００とポート１００とは、それぞれ異なるオシレータからリファレンスクロックの供給を受ける。この場合、オシレータの個体差により、リファレンスクロックの周波数が異なる場合がある。そこで、周波数差調整部１４０は、ポート２００とポート１００との周波数差を吸収する処理を行う。この処理を「クロックコンペンセーション」という場合がある。【００４１】
図４を参照して、周波数差調整部１４０の、リトレーニングなどのリンク確立時の動作を説明する。図４は、クロックコンペンセーションを説明するための図である。図４に示すように、周波数差調整部１４０は、書込アドレス制御部４０１、読出アドレス制御部４０２、差分検出部４０３、補償パターン検出部４０４及びエラスティックバッファ４０５を有している。【００４２】
周波数差調整部１４０は、デスキューが行われたクロック周波数差補償パターンの入力をデスキュー部１３０から受ける。【００４３】
書込アドレス制御部４０１は、受信したクロック周波数差補償パターンをクロック周波数差補償パターンのクロックを用いてエラスティックバッファ４０５に書き込んでいく。例えば、周波数差調整部１４０が受信したデータ４１１は、エラスティックバッファ４０５に書込アドレス制御部４０１によって書き込まれ、データ４１２のように格納されていく。図４では、書込アドレス制御部４０１に、参照クロックが供給されるように記載されているがこれは、受信したデータから参照クロックを取得することを表している。例えば、本実施例では、書込アドレス制御部４０１は、１クロックで１０ビットを書き込むものとする。ここで、１０ビットは、本実施例では１シンボルである。【００４４】
補償パターン検出部４０４は、読出アドレス制御部４０２が読み出したデータを取得する。データには、クロック周波数差補償パターンであるＣＯＭＳｙｍｂｏｌが含まれる。さらに、データにはＣＯＭＳｙｍｂｏｌの後に、ＳＫＰ（Skip）Ｓｙｍｂｏｌが続く。このＣＯＭＳｙｍｂｏｌとＳＫＰＳｙｍｂｏｌをあわせてＳＫＰＯＳ（Skip  Order  Set）と呼ぶ場合がある。このとき、補償パターン検出部４０４は、オシレータ１０２から供給された内部クロックで動作する。そして、補償パターン検出部４０４は、取得したデータの中からＳＫＰＯＳを検出する。補償パターン検出部４０４は、ＳＫＰＯＳの検出を読出アドレス制御部４０２へ通知する。【００４５】
差分検出部４０３は、書込アドレス制御部４０１によるエラスティックバッファ４０５の書き込みのタイミングと読出アドレス制御部４０２のエラスティックバッファ４０５からのタイミングとの差分を算出する。そして、差分検出部４０３は、算出した差分を読出アドレス制御部４０２へ通知する。【００４６】
読出アドレス制御部４０２は、補償パターン検出部４０４からクロック周波数差補償パターンの検出の通知を受ける。そして、読出アドレス制御部４０２は、差分検出部４０８から受信した差分を吸収するように、エラスティックバッファ内のデータを読み出していく。【００４７】
まず、読出アドレス制御部４０２によるデータの読出しが、書込アドレス制御部４０１によるデータの書込みよりも速い場合について説明する。この場合、読出アドレス制御部４０２は、補償パターン検出部４０４からＳＫＰＯＳの検出の通知を受けて、ＳＫＰＳｙｍｂｏｌをエラスティックバッファ４０５内のデータに埋め込む。そして、読出アドレス制御部４０２は、埋め込んだＳＫＰＳｙｍｂｏｌを含むエラスティックバッファ４０５内のデータを読み出していく。これにより、読出アドレス制御部４０２による読み出しが遅延し、読出アドレス制御部４０２によるデータの読出しと、書込アドレス制御部４０１によるデータの書込みとの同期が取れる。【００４８】
次に、読出アドレス制御部４０２によるデータの読出しが、書込アドレス制御部４０１によるデータの書込みよりも遅い場合について説明する。この場合、読出アドレス制御部４０２は、補償パターン検出部４０４からＳＫＰＯＳの検出の通知を受けて、エラスティックバッファ４０５内のデータを読み出すときにＳＫＰＳｙｍｂｏｌを読み飛ばしながら、エラスティックバッファ４０５内のデータを読み出していく。これにより、読出アドレス制御部４０２による読み出しが早くなり、読出アドレス制御部４０２によるデータの読出しと、書込アドレス制御部４０１によるデータの書込みとの同期が取れる。【００４９】
次に、周波数差調整部１４０の、通常のデータ受信時の動作について説明する。周波数差調整部１４０は、デスキュー部１３０からデータを受信し、エラスティックバッファ４０５へ格納する。そして、周波数差調整部１４０は、リンク確立時に決定したＳＫＰＳｙｍｂｏｌの読み飛ばし又は埋め込みを書くデータについて行いながら、エラスティックバッファ４０５に格納したデータを読み出していく。そして、周波数差調整部１４０は、読み出したデータを８ｂ／１０ｂでデコーダ部１５１〜１５３へ出力する。【００５０】
８ｂ／１０ｂデコーダ部１５１〜１５３は、レーンと同数存在する。８ｂ／１０ｂデコーダ部１５１〜１５３は、同じ機能を有するので、以下の説明では、８ｂ／１０ｂデコーダ部１５１〜１５３を区別しない場合、単に「８ｂ／１０ｂデコーダ部１５０」という。８ｂ／１０ｂデコーダ部１５０は、データの入力を周波数差調整部１４０から受ける。そして、８ｂ／１０ｂデコーダ部１５０は、受信したデータを１０ビットコードから８ビットコードに変換する。そして、８ｂ／１０ｂデコーダ部１５０は、８ビットコードに変換したデータが通常のデータであれば受信データ処理部１６０へ送信する。また、データがＴＳＯＳであれば、８ｂ／１０ｂデコーダ部１５０は、ＴＳＯＳをトレーニングパターン受信部１０４へ出力する。【００５１】
受信データ処理部１６０は、８ｂ／１０ｂデコーダ部１５０からデータを受信する。そして、受信データ処理部１６０は、受信した各レーンのデータをまとめて１つのデータを生成する。その後、受信データ処理部１６０は、他の処理部へのデータ転送などを行う。【００５２】
トレーニングパターン受信部１０４は、各レーンを経由して送られてきたＴＳＯＳを８ｂ／１０ｂデコーダ部１５０から受信する。そして、トレーニングパターン受信部１０４は、受信したＴＳＯＳを縮退制御部１０５へ出力する。【００５３】
縮退制御部１０５は、図５に示すように、ＴＳＯＳ検出部５０１、故障レーン検出部５０２、縮退レーン制御部５０３、運用継続レーン制御部５０４及びレーン全体制御部５０５を有している。図５は、縮退制御部の詳細を表すブロック図である。【００５４】
ＴＳＯＳ検出部５０１は、レーン毎のＴＳＯＳの入力をトレーニングパターン受信部１０４から受信する。ＴＳＯＳ検出部５０１は、レーン毎にＴＳＯＳが正常に受信できたレーンの情報を故障レーン検出部５０２へ通知する。【００５５】
故障レーン検出部５０２は、ＴＳＯＳが正常に受信できたレーンの情報をＴＳＯＳ検出部５０１から受信する。そして、故障レーン検出部５０２は、８つのレーンのうちＴＳＯＳが正常に検出できなかったレーンを故障レーンとして検出する。その後、故障レーン検出部５０２は、検出した故障レーンの情報をレーン全体制御部５０５へ通知する。【００５６】
レーン全体制御部５０５は、故障レーンの情報を故障レーン検出部５０２から受ける。そして、レーン全体制御部５０５は、故障レーンを含む縮退させる３つのレーンを決定する。この縮退させるレーンは、例えば、レーン全体制御部５０５が、あるレーンが壊れた場合の縮退させる３つのレーンの組合せをレーン毎に予め記憶しておいてもよい。また、レーン番号を１〜８とし、あるレーンが故障した場合、レーン番号が隣り合うレーンを縮退するレーンとして予めレーンの選択規則を決めておいてもよい。一番端のレーンの隣り合うレーンの一方は、逆の端のレーンとすることが考えられる。この場合、レーン全体制御部５０５は、予め決められた選択規則にしたがって縮退させるレーンを決定する。【００５７】
図６は、３つのレーンを縮退させた場合の概念図である。状態６０１は、縮退前の通常の８レーンで運用している状態である。そして、状態６０１で、レーン６１１に故障が発生すると、レーン全体制御部５０５は、レーン６１１を含む縮退させる３つのレーンを選択する。図６では、状態６０２のように、３つのレーン６２１が縮退させられ、残りの５つのレーンで運用が継続される。【００５８】
そして、レーン全体制御部５０５は、決定した縮退させるレーンの情報をポート制御部１０６に通知する。さらに、レーン全体制御部５０５は、保持している故障発生以前のデスキューパターン及び縮退後に使用するレーンの情報とともに、縮退運用を行う旨を運用継続レーン制御部５０４へ通知する。さらに、レーン全体制御部５０５は、縮退させるレーンの情報を縮退レーン制御部５０３へ通知する。【００５９】
また、故障回復の後リトレーニングが完了すると、レーン全体制御部５０５は、縮退レーン制御部５０３からリトレーニング完了の通知を受信する。そして、レーン全体制御部５０５は、リトレーニング完了を運用継続レーン制御部５０４へ通知する。その後、レーン全体制御部５０５は、復帰用のＯＳ（Oder  Set）の送受信をポート制御部１０６に指示する。そして、復帰用のＯＳの送受信により８レーンへの復帰がポート２００の縮退制御部２０５及びポート１００の縮退制御部１０５の間で確認されると、レーン全体制御部５０５は、縮退レーン制御部５０３からデスキューパターンの情報を取得する。同様に、レーン全体制御部５０５は、運用継続レーン制御部５０４からもデスキューパターンの情報を取得する。そして、レーン全体制御部５０５は、使用している５レーンのデスキュー位置と縮退していた３レーンのデスキュー位置のずれを取得する。その後、レーン全体制御部５０５は、使用している５レーンのデスキュー位置と縮退していた３レーンのデスキュー位置が一致するように、リードアドレスのインクリメントの調整をデスキュー部１３０に指示する。この調整方法は、デスキュー部１３０で行われる各レーン間のデスキューのときと同様に、早い側のリードアドレスのインクリメントを停止させて、遅い側にタイミングを合わせる方法である。【００６０】
図７Ａは、縮退レーンが早い場合のデスキュー位置のずれの調整を説明するための図である。また、図７Ｂは、縮退レーンが遅い場合のデスキューの位置ずれの調整を説明するための図である。【００６１】
図７Ａの場合、故障前は、状態７０１のように各レーンを遅らせることで、デスキュー位置を合わせていた。しかし、故障が発生して、図７Ａの下の３レーンが縮退された後に、８レーンに復帰させる場合、状態７０２のように、故障前に比べて縮退された３レーンが進んでいる。この場合、レーン全体制御部５０５は、デスキュー部１３０による縮退された３レーンのリードアドレスのインクリメントを停止させ、使用している５レーンのデスキュー位置とあわせる。その後、レーン全体制御部５０５は、全てのレーンのリードアドレスをインクリメントしながらデータの読み出しを行うようデスキュー部１３０に指示する。【００６２】
図７Ｂの場合、故障前は、状態７０３のように各レーンを遅らせることで、デスキュー位置を合わせていた。しかし、故障が発生して、図７Ｂの下の３レーンが縮退された後に、８レーンに復帰させる場合、状態７０４のように、故障前に比べて縮退された３レーンが遅れている。この場合、レーン全体制御部５０５は、デスキュー部１３０に対して、使用している５レーンのリードアドレスのインクリメントを停止させ、縮退された３レーンのデスキュー位置とあわせる。その後、レーン全体制御部５０５は、全てのレーンのリードアドレスをインクリメントしながらデータの読み出しを行うようデスキュー部１３０に指示する。【００６３】
縮退レーン制御部５０３は、故障発生時に縮退させるレーンの情報をレーン全体制御部５０５から受ける。その後、故障が回復すると、縮退レーン制御部５０３は、ＴＳＯＳの検出の通知をＴＳＯＳ検出部５０１から受ける。そして、縮退レーン制御部５０３は、縮退させていた３レーンのリトレーニングをポート制御部１０６に指示する。【００６４】
そして、縮退させていた３レーンのリトレーニングが完了しリンクが確立すると、縮退レーン制御部５０３は、レーン全体制御部５０５へ、リトレーニング完了を通知する。このとき、縮退レーン制御部５０３は、縮退された３レーンに対応するデスキュー部１３０から送られてきたデスキューパターンをレーン全体制御部５０５へ通知する。【００６５】
運用継続レーン制御部５０４は、故障発生時にそのまま運用を継続させる５つの運用継続レーンの情報をレーン全体制御部５０５から受ける。さらに、運用継続レーン制御部５０４は、通常運用時における運用継続レーンのデスキューパターンの情報をレーン全体制御部５０５から受ける。そして、運用継続レーン制御部５０４は、ポート２００との間で運用継続レーンを用いてＴＳＯＳの送受信を行うことをポート制御部１０６に指示する。そして、運用継続レーンにおけるＴＳＯＳの送受信が完了すると、運用継続レーン制御部５０４は、通常運用時の運用継続レーンで用いていたデスキューパターンを用いたデータの送受信をポート制御部１０６に支持する。【００６６】
その後、故障が回復し縮退された３レーンのリトレーニングが完了すると、運用継続レーン制御部５０４は、リトレーニング完了の通知をレーン全体制御部５０５から受ける。そして、運用継続レーン制御部５０４は、データの送受信に使用しているデスキューパターンの情報をレーン全体制御部５０５に通知する。【００６７】
ポート制御部１０６は、通常運用時にはレーン全体制御部５０５からデスキューパターンを取得し、そのデスキューパターンを用いてデータの送受信を行うように、受信回路１０１及び送信回路１０３を制御する。【００６８】
また、故障発生時、ポート制御部１０６は、縮退させるレーンの情報をレーン全体制御部５０５から受ける。さらに、ポート制御部１０６は、運用を継続する運用継続レーンにおけるＴＳＯＳの送受信の指示を運用継続レーン制御部５０４から受ける。そして、ポート制御部１０６は、運用継続レーンにおいてＴＳＯＳの送受信を行うよう受信回路１０１及び送信回路１０３を制御する。そして、運用継続レーンにおけるＴＳＯＳの送受信が完了すると、ポート制御部１０６は、運用継続レーン制御部５０４から受信した運用継続レーンのデスキューパターンを使用して、運用継続レーンを用いたデータの送受信を行うように、受信回路１０１及び送信回路１０３に指示する。その後、故障が回復すると、ポート制御部１０６は、リトレーニングの実行を縮退レーン制御部５０３から受信する。これを受けて、ポート制御部１０６は、受信回路１０１及び送信回路１０３に対してリトレーニングを実行するよう指示する。さらに、ポート制御部１０６は、リトレーニング完了後、レーン全体制御部５０５から８レーンへの復帰の指示を受ける。このとき、ポート制御部１０６は、デスキューパターンをレーン全体制御部５０５から受信する。そして、ポート制御部１０６は、受信したデスキューパターンを使用して、８レーン全てを用いたデータの送受信を行うように受信回路１０１及び送信回路１０３に指示する。【００６９】
次に、図８を参照して、本実施例に係る情報処理装置における故障発生及び回復時の処理について説明する。図８は、実施例に係る情報処理装置における故障発生及び回復時の処理のフローチャートである。【００７０】
故障発生前の通常運用時は、クロスバスイッチ２０のポート２００の送信回路２０１とＣＰＵ１０のポート１００の受信回路１０１とは、互いに８レーンを使用してデータの送受信を行っている（ステップＳ１０１）。【００７１】
そして、受信回路１０１は、ＣＲＣ（Cyclic  Redundancy  Check）などを用いてエラーを検出する（ステップＳ１０２）。このようなエラーは、固定故障以外にも、シンボルロックの位置ずれやデスキューパターンのずれによって生じる間欠故障が考えられる。【００７２】
送信回路２０１のパターン生成部２１０は、エラー検出の通知を受けて、各レーンにＴＳＯＳを送信する。そして、ＴＳＯＳ検出部５０１は、トレーニングパターン受信部１０４を介してＴＳＯＳを受信し、各レーンを経由してきたＴＳＯＳを検出する。ＴＳＯＳ検出部５０１は、ＴＳＯＳを検出したレーンの情報を故障レーン検出部５０２に通知する。故障レーン検出部５０２は、ＴＳＯＳ検出部５０１から受信したＴＳＯＳが検出されたレーンの情報から故障が発生したレーンを特定する（ステップＳ１０３）。【００７３】
故障レーン検出部５０２は、故障レーンの情報をレーン全体制御部５０５へ通知する。レーン全体制御部５０５は、故障レーンを含む縮退させる３レーンを決定する。そして、レーン全体制御部５０５は、縮退させる３レーンの情報をポート制御部１０６に通知する。また、レーン全体制御部５０５は、縮退させる３レーンの情報を縮退レーン制御部５０３に通知する。さらに、レーン全体制御部５０５は、縮退後も運用を継続する５レーンのデスキューパターンと共に、その５レーンを用いて運用を継続する指示を運用継続レーン制御部５０４に通知する。運用継続レーン制御部５０４は、ＴＳＯＳの送受信を行い運用継続レーンの接続を確認した後、デスキューパターンを用いた５レーンによるデータの送受信をポート制御部１０６に通知する。ポート制御部１０６は、レーン全体制御部５０５に指示された３レーンを縮退させるとともに、残りの５レーンを使用した縮退運用を行う（ステップＳ１０４）。【００７４】
縮退レーン制御部５０３は、縮退している３レーンでリトレーニングを開始する（ステップＳ１０５）。縮退レーン制御部５０３は、縮退している３レーンでのリトレーニングを完了した（ステップＳ１０６）後、３レーンを使用しての運用が可能か否かを判定する（ステップＳ１０７）。運用が可能でない場合（ステップＳ１０７：否定）、運用継続レーン制御部５０４は、縮退状態での５レーンを用いた運用を継続する（ステップＳ１０８）。【００７５】
これに対して、運用が可能な場合（ステップＳ１０７：肯定）、縮退レーン制御部５０３は、リトレーニングの完了をレーン全体制御部５０５に通知する（ステップＳ１０９）。【００７６】
レーン全体制御部５０５は、縮退させていた３レーンのデスキューパターンと運用を継続していた５レーンのデスキューパターンとを比較し、デスキュー位置にずれがあるか否かを判定する（ステップＳ１１０）。【００７７】
デスキュー位置にずれがある場合（ステップＳ１１０：肯定）、レーン全体制御部５０５は、縮退させていた側のデスキュー位置が早いか否かを判定する（ステップＳ１１１）。図では、縮退させていた側のことを縮退側と記載している。【００７８】
縮退させていた側のデスキュー位置が早い場合（ステップＳ１１１：肯定）、レーン全体制御部５０５は、縮退させていた側のデスキュー位置を遅らせる（ステップＳ１１２）。これに対して、運用継続していた側のデスキュー位置が早い場合（ステップＳ１１１：否定）、運用継続していた側のデスキュー位置を遅らせる（ステップＳ１１３）。【００７９】
そして、レーン全体制御部５０５は、８レーンを用いた運用への復帰をポート制御部１０６へ指示する（ステップＳ１１４）。【００８０】
送信回路２０１は、受信回路１０１に対してＴＳＯＳを送信し接続を確認する。その後、送信回路２０１と受信回路１０１とは、８レーンを用いた運用に復帰する（ステップＳ１１５）。【００８１】
次に、図９を参照して、縮退した後に縮退レーンを復帰させて運用を行う場合の通信の停滞について説明する。図９は、縮退した後に縮退レーンを復帰させて運用を行う場合の実施例と従来例との比較図である。すなわち、図９は間欠故障の場合の運用を表している。【００８２】
図９では、時刻８０１で故障が発生している。そして、従来例に係る情報処理装置の場合、情報処理装置は、すぐに全てのレーンを用いたリトレーニングを開始し、その期間８１１の間、パケットは停滞し続ける。その後、リトレーニングが終わると、情報処理装置は、期間８１２で８レーンの運用に復帰する。【００８３】
これに対して、実施例に係る情報処理装置の場合、故障発生後、情報処理装置が３レーンを縮退させ５レーンを使用して運用を継続するまでの期間８２１の間、パケットが停滞する。この期間８２１は、従来例における期間８１１に比較して非常に短い期間である。その後、情報処理装置は、５レーンで運用している期間８２２の間に、縮退中の３レーンを用いてリトレーニングを行う。そして、縮退中の３レーンのリトレーニングが完了すると、縮退中の３レーンを復帰させるため、期間８２３の間、パケットが停滞する。その後、情報処理装置は、期間８２４で８レーンの運用に復帰する。【００８４】
実施例の場合、期間８２２において５レーンで運用を継続しながら縮退レーンでのリトレーニングを行っているため、従来例のようにリトレーニングの間ずっとパケットが停滞してしまうことを回避できる。また、期間８２１及び期間８２３に行う処理は、リトレーニングに比べて少ない処理なので、全体的なパケットの停滞時間を比較しても、実施例の方が従来例に比較してパケットの停滞時間が短くなる。【００８５】
次に、図１０を参照して、縮退した後に縮退レーンを復帰させずに運用を行う場合のパケットの停滞について説明する。図１０は、縮退した後に縮退レーンを復帰させずに運用を行う場合の実施例と従来例との比較図である。すなわち、図１０は固定故障の場合の運用を表している。【００８６】
図１０では、時刻８３０で故障が発生している。そして、従来例に係る情報処理装置の場合、情報処理装置は、すぐに全てのレーンを用いたリトレーニングを開始し、その期間８４１の間、パケットは停滞し続ける。その後、リトレーニングが終わると、固定故障のため故障レーンを復帰させることはできず、情報処理装置は、３レーンを縮退させて、期間８４２で５レーンでの運用を開始する。【００８７】
これに対して、実施例に係る情報処理装置の場合、故障発生後、情報処理装置が３レーンを縮退させ５レーンを使用して運用を継続するまでの期間８５１の間、パケットが停滞する。その後、情報処理装置は、５レーンで運用している期間８５２の間に、縮退中の３レーンを用いてリトレーニングを行う。そして、縮退中の３レーンのリトレーニングが完了すると、この場合固定故障であることが判明し、縮退中の３レーンを復帰させることはできない。そこで、情報処理装置は、期間８５３で５レーンの運用を継続する。【００８８】
実施例の場合、期間８５２において５レーンで運用を継続しながら縮退レーンでのリトレーニングを行っているため、従来例のようにリトレーニングの間ずっとパケットが停滞してしまうことを回避できる。また、期間８５１及び期間８５３に行う処理は、リトレーニングに比べて少ない処理なので、全体的なパケットの停滞時間を比較しても、実施例の方が従来例に比較してパケットの停滞時間が短くなる。【００８９】
このように、従来例に係る情報処理装置は、故障が発生するとリトレーニングを行い、間欠故障か固定故障かという切り分けを行うとともに、運用を再開していた。これに対して、本実施例に係る情報処理装置は、間欠故障か固定故障かの切り分けの前に、故障レーンを含む所定数のレーンを縮退させ、残りのレーンで運用を継続する。そして、本実施例に係る情報処理装置は、縮退させたレーンでリトレーニングを行い、間欠故障か固定故障かという切り分けを行い、縮退運用の継続又は通常運用への復帰を行っている。そのため、本実施例に係る情報処理装置は、全てのレーンを用いたリトレーニングを行う場合に比べて、パケットの停滞時間を短くすることができる。【００９０】
本実施例では、１つのレーンが故障した場合に、そのレーンを含む３レーンを縮退させたが、この縮退させるレーンの数には特に制限は無い。例えば、故障レーンである１レーンのみを縮退させてもよいし、故障レーンを含む４レーンを縮退させてもよい。また、本実施例では、送信回路と受信回路との間が８つレーンで結ばれている場合で説明したが、このレーンの数も複数であれば特に制限は無い。【００９１】
以上に説明したように、本実施例に係る情報処理装置は、全てのレーンでのデータの送出を止めてリトレーニングを行うことをしないので、故障を発見して縮退するまでの期間のみにパケットの停滞を抑えられる。【００９２】
また、本実施例に係る情報処理装置は、縮退中の３レーンを独立させてリトレーニングを行い、通常の運用に復帰させることができるので、全体的なスループットを向上させることができる。【００９３】
さらに、本実施例に係る情報処理装置は、復帰不可能な故障が発生した場合でも、縮退させたレーンを除く残りの５レーンでの運用に直ぐに移行し、そのまま５レーンによる運用を継続する。これにより、パケットの停滞時間を短くすることができる。【００９４】
このようなことから、通信の停滞によるＣＰＵなどのタイムアウトの発生を軽減することができ、システムに影響するような致命的なエラーを軽減することができる。
【符号の説明】
【００９５】
１Ａ、１Ｂ  システムボード
２  クロスバボード
１０  ＣＰＵ
２０  クロスバスイッチ
１００  ポート
１０１  受信回路
１０２  オシレータ
１０３  送信回路
１０４  トレーニングパターン受信部
１０５  縮退制御部
１０６  ポート制御部
１１１〜１１３  受信データＳｅｒＤｅｓ
１２１〜１２３  シンボルロック部
１３１〜１３３  デスキュー部
１４１〜１４３  周波数差調整部
１５１〜１５３  ８ｂ／１０ｂデコーダ部
１６０  受信データ処理部
２０１  送信回路
２０２  オシレータ
２０３  受信回路
２０４  トレーニングパターン受信部
２０５  縮退制御部
２０６  ポート制御部
２１０  パターン生成部
２２０  送信データ生成部
２３１〜２３３  ８ｂ／１０ｂエンコーダ部
２４１〜２４３  ＳｅｒＤｅｓ
５０１  ＴＳＯＳ検出部
５０２  故障レーン検出部
５０３  縮退レーン制御部
５０４  運用継続レーン制御部
５０５  レーン全体制御部
【図１】
2013145240.tif 000003
【図２】
2013145240.tif 000004
【図３】
2013145240.tif 000005
【図４】
2013145240.tif 000006
【図５】
2013145240.tif 000007
【図６】
2013145240.tif 000008
【図７Ａ】
2013145240.tif 000009
【図７Ｂ】
2013145240.tif 000010
【図８】
2013145240.tif 000011
【図９】
2013145240.tif 000012
【図１０】
2013145240.tif 000013
【国際調査報告】
2013145240.tif 000014
2013145240.tif 000015
2013145240.tif 000016
2013145240.tif 000017