(57)【要約】【課題】複数の通信回線を用いてデータ通信を行う際に、すべての通信回線を確実に利用できるようにする。【解決手段】制御回路２１５は、インタフェース回路２１２−１〜インタフェース回路２１２−Ｎを初期化する制御を行い、それぞれのインタフェース回路の初期化が完了したか否かを検知する。そして、制御回路２１５は、すべてのインタフェース回路の初期化が完了したことを検知した場合、それらのインタフェース回路を介したデータ通信を開始するように通信回路２１１を制御する。制御回路２１６は、インタフェース回路２１３−１〜インタフェース回路２１３−Ｎを初期化する制御を行い、それぞれのインタフェース回路の初期化が完了したか否かを検知する。そして、制御回路２１６は、すべてのインタフェース回路の初期化が完了したことを検知した場合、それらのインタフェース回路を介したデータ通信を開始するように通信回路２１４を制御する。【選択図】図２
2014048730.tif 000002
【特許請求の範囲】
【請求項１】
データの送信又は受信のうち少なくとも一方のデータ通信を行う通信回路と、
前記通信回路に接続されるとともに、複数の通信回線にそれぞれ接続された複数のインタフェース回路と、
前記複数のインタフェース回路を初期化する制御を行い、前記複数のインタフェース回路のそれぞれの初期化が完了したか否かを検知し、前記複数のインタフェース回路のすべての初期化が完了したことを検知した場合、前記複数のインタフェース回路を介したデータ通信を開始するように前記通信回路を制御する制御回路と、
を備えることを特徴とする情報処理装置。
【請求項２】
前記制御回路は、前記複数のインタフェース回路のうち１つのインタフェース回路の初期化が一定時間内に完了しなかった場合、前記複数のインタフェース回路のうち前記１つのインタフェース回路以外のインタフェース回路を介したデータ通信を開始するように、前記通信回路を制御することを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記制御回路は、前記通信回路を通信相手との電気的接続を確認する状態で停止させ、前記複数のインタフェース回路のすべての初期化が完了したことを検知した場合、前記電気的接続を確認する状態での停止を解除するように前記通信回路を制御することを特徴とする請求項１又は２記載の情報処理装置。
【請求項４】
前記通信回路に接続されたプロセッサをさらに備え、前記制御回路は、前記複数のインタフェース回路を介した通信を行う状態を前記プロセッサに認識させないように前記通信回路を制御し、前記複数のインタフェース回路のすべての初期化が完了したことを検知した場合、前記複数のインタフェース回路を介した通信を行う状態を前記プロセッサに認識させるように前記通信回路を制御することを特徴とする請求項１又は２記載の情報処理装置。
【請求項５】
データの送信又は受信のうち少なくとも一方の通信を行う通信回路に接続されるとともに、複数の通信回線にそれぞれ接続された複数のインタフェース回路を初期化する制御を行い、
前記複数のインタフェース回路のそれぞれの初期化が完了したか否かを検知し、
前記複数のインタフェース回路のすべての初期化が完了したことを検知した場合、前記複数のインタフェース回路を介したデータ通信を開始するように前記通信回路を制御する、
ことを特徴とする制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置及び制御方法に関する。
【背景技術】
【０００２】
従来、サーバ等の情報処理装置（コンピュータ）においては、シリアル通信回線を用いた高速伝送が用いられている。
シリアル通信回線を用いた高速伝送では、光ケーブルによる伝送方式、電気信号による伝送方式、無線通信による伝送方式等が用いられている。いずれの伝送方式においても、通信回線に接続された回路の初期化を行ってから、データ通信が開始される。
【０００３】
図１は、このような従来の情報処理装置１０１の構成例を示している。図１の情報処理装置１０１は、通信回路１１１、インタフェース回路１１２、通信回路１１３、及びリセットパルス発生器１１４を含む。通信回路１１１は、例えば、中央処理装置（Central Processing Unit，ＣＰＵ）に接続され、通信回路１１３は、例えば、入出力（Input Output，ＩＯ）デバイスに接続される。
【０００４】
通信回路１１１は、通信回線１２１によりインタフェース回路１１２と接続され、インタフェース回路１１２は、通信回線１２２により通信回路１１３と接続される。インタフェース回路１１２は、例えば、通信回線１２１と通信回線１２２の間で信号を増幅する中継回路である。
【０００５】
リセットパルス発生器１１４は、リセットパルスを通信回路１１１、インタフェース回路１１２、及び通信回路１１３へ出力することで、これらの回路を初期化する。これにより、通信回路１１１及び通信回路１１３は互いを通信相手として認識し、データ通信を開始する。
【０００６】
信号処理装置を構成する各ハードウェア部へ電源を供給したときに各ハードウェア部の回路を初期化する初期化方式も知られている（例えば、特許文献１を参照）。この初期化方式では、管理部が、電源供給の情報から各ハードウェア部の初期化を所定の順番で行わせるタイミング信号を生成し、そのタイミング信号により、各ハードウェア部の初期化に必要な情報を各ハードウェア部の初期化回路へ順番に供給する。
【０００７】
外部装置からのアクセスを許可・禁止する機能を持つインタフェース回路の制御装置も知られている（例えば、特許文献２を参照）。この制御装置は、起動開始直後はインタフェース回路をアクセス禁止状態に制御し、一定時間経つと自動的にアクセス許可状態に制御する。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開平５−２５００７２号公報
【特許文献２】特開２００２−３２３９１９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
上述した従来の情報処理装置には、以下のような問題がある。
近年の情報処理装置では、その高性能化に伴って、２つの通信回路の間で同時に複数のシリアル通信回線を用いてデータ通信が行われる場合がある。この場合、２つの通信回路の間に、シリアル通信回線の数に対応する複数のインタフェース回路が設けられる。ここで、２つの通信回路と複数のインタフェース回路の初期化完了のタイミングが異なると、一部のシリアル通信回線を利用できなくなることがある。
【００１０】
なお、かかる問題は、シリアル通信回線を用いてデータ通信を行う情報処理装置に限らず、パラレル通信回線を用いてデータ通信を行う情報処理装置においても生ずるものである。
【００１１】
１つの側面において、本発明は、複数の通信回線を用いてデータ通信を行う際に、すべての通信回線を確実に利用できるようにすることを目的とする。
【課題を解決するための手段】
【００１２】
１つの案では、情報処理装置は、通信回路、複数のインタフェース回路、及び制御回路を備える。
通信回路は、データの送信又は受信のうち少なくとも一方のデータ通信を行う。複数のインタフェース回路は、通信回路に接続されるとともに、複数の通信回線にそれぞれ接続される。制御回路は、複数のインタフェース回路を初期化する制御を行い、複数のインタフェース回路のそれぞれの初期化が完了したか否かを検知する。そして、制御回路は、複数のインタフェース回路のすべての初期化が完了したことを検知した場合、複数のインタフェース回路を介したデータ通信を開始するように通信回路を制御する。
【発明の効果】
【００１３】
実施形態の情報処理装置によれば、複数の通信回線を用いてデータ通信を行う際に、すべての通信回線を確実に利用することができる。
【図面の簡単な説明】
【００１４】
【図１】従来の情報処理装置の構成図である。
【図２】第１の情報処理装置の構成図である。
【図３】第１の制御処理のフローチャートである。
【図４】第２の情報処理装置の構成図である。
【図５】第３の情報処理装置の構成図である。
【図６】第２の制御処理のフローチャートである。
【図７】第３の制御処理のフローチャートである。
【図８】第４の制御処理のフローチャートである。
【図９】第５の制御処理のフローチャートである。
【図１０】第６の制御処理のフローチャートである。
【図１１】第７の制御処理のフローチャートである。
【図１２】第４の情報処理装置の構成図である。
【図１３】第５の情報処理装置の構成図である。
【発明を実施するための形態】
【００１５】
以下、図面を参照しながら、実施形態を詳細に説明する。
近年の情報処理装置では、その高性能化に伴って、２つの通信回路の間で同時に複数のシリアル通信回線を用いてデータ通信が行われる場合がある。この場合、２つの通信回路の間に、シリアル通信回線の数に対応する複数のインタフェース回路が設けられる。ここで、２つの通信回路と複数のインタフェース回路の初期化完了のタイミングが異なると、一部のシリアル通信回線を利用できなくなることがある。
【００１６】
例えば、第１の通信回路と第２の通信回路が第１及び第２の通信回線で接続されており、第１及び第２の通信回線上にそれぞれ第１及び第２のインタフェース回路が設けられている場合を想定する。情報処理装置の起動時に、第１及び第２の通信回路と第１及び第２のインタフェース回路の初期化が、以下の順序で完了したとする。
【００１７】
時刻ｔ１：第１のインタフェース回路の初期化が完了。
時刻ｔ２：第１及び第２の通信回路の初期化が完了。
時刻ｔ３：第２のインタフェース回路の初期化が完了。
【００１８】
この場合、時刻ｔ２では第２のインタフェース回路の初期化が完了していないため、第１及び第２の通信回路は、第２の通信回線が利用不可能であると判断して、第１の通信回線のみを利用した縮退運用を行うことがある。したがって、第２のインタフェース回路が正常であり、第２の通信回線が利用可能であるにもかかわらず、第２の通信回線が利用されない可能性がある。そこで、すべての通信回線を確実に利用できるようにすることが望ましい。
【００１９】
図２は、実施形態の情報処理装置２０１の構成例を示している。図２の情報処理装置２０１は、通信回路２１１、インタフェース回路２１２−１〜インタフェース回路２１２−Ｎ（Ｎは２以上の整数）、インタフェース回路２１３−１〜インタフェース回路２１３−Ｎ、通信回路２１４、制御回路２１５、及び制御回路２１６を含む。
【００２０】
通信回路２１１は、通信回線２２１−１〜通信回線２２１−Ｎによりインタフェース回路２１２−１〜インタフェース回路２１２−Ｎと接続される。インタフェース回路２１２−１〜インタフェース回路２１２−Ｎは、通信回線２２２−１〜通信回線２２２−Ｎによりインタフェース回路２１３−１〜インタフェース回路２１３−Ｎと接続される。インタフェース回路２１３−１〜インタフェース回路２１３−Ｎは、通信回線２２３−１〜通信回線２２３−Ｎにより通信回路２１４と接続される。
【００２１】
通信回路２１１及び通信回路２１４は、データの送信又は受信のうち少なくとも一方のデータ通信を行う。通信回路２１１がデータを送信する場合は、通信回路２１４がデータを受信し、通信回路２１４がデータを送信する場合は、通信回路２１１がデータを受信する。
【００２２】
図３は、図２の制御回路２１５及び制御回路２１６が行う制御処理の例を示すフローチャートである。
制御回路２１５は、インタフェース回路２１２−１〜インタフェース回路２１２−Ｎを初期化する制御を行い（ステップ３０１）、それぞれのインタフェース回路の初期化が完了したか否かを検知する（ステップ３０２）。そして、制御回路２１５は、インタフェース回路２１２−１〜インタフェース回路２１２−Ｎのすべての初期化が完了したことを検知した場合、それらのインタフェース回路を介したデータ通信を開始するように通信回路２１１を制御する（ステップ３０３）。
【００２３】
制御回路２１６は、インタフェース回路２１３−１〜インタフェース回路２１３−Ｎを初期化する制御を行い（ステップ３０１）、それぞれのインタフェース回路の初期化が完了したか否かを検知する（ステップ３０２）。そして、制御回路２１６は、インタフェース回路２１３−１〜インタフェース回路２１３−Ｎのすべての初期化が完了したことを検知した場合、それらのインタフェース回路を介したデータ通信を開始するように通信回路２１４を制御する（ステップ３０３）。
【００２４】
このような情報処理装置２０１によれば、通信回線２２２−１〜通信回線２２２−Ｎを用いてデータ通信を行う際に、すべての通信回線を確実に利用することができる。
なお、制御回路２１５による制御処理と制御回路２１６による制御処理は独立して行われ、２つの制御処理のいずれが先に開始してもよく、いずれが先に終了しても構わない。この場合、通信回線２２２−ｉ（ｉ＝１〜Ｎ）が長いケーブルであり、通信回路２１１及びインタフェース回路２１２−ｉを含む装置と、通信回路２１４及びインタフェース回路２１３−ｉを含む装置とが離れている場合でも、両方の装置を同期制御する必要はない。したがって、通信回線２２２−１〜通信回線２２２−Ｎの長さに依存することなく、すべての通信回線を確実に利用することができる。
【００２５】
図４は、別の実施形態の情報処理装置４０１の構成例を示している。図４の情報処理装置４０１は、通信回路４１１、インタフェース回路４１２−１〜インタフェース回路４１２−Ｎ（Ｎは２以上の整数）、通信回路４１３、及び制御回路４１４を含む。
【００２６】
通信回路４１１は、通信回線４２１−１〜通信回線４２１−Ｎによりインタフェース回路４１２−１〜インタフェース回路４１２−Ｎと接続される。インタフェース回路４１２−１〜インタフェース回路４１２−Ｎは、通信回線４２２−１〜通信回線４２２−Ｎにより通信回路４１３と接続される。
【００２７】
通信回路４１１及び通信回路４１３は、データの送信又は受信のうち少なくとも一方のデータ通信を行う。通信回路４１１がデータを送信する場合は、通信回路４１３がデータを受信し、通信回路４１３がデータを送信する場合は、通信回路４１１がデータを受信する。
【００２８】
図４の制御回路４１４は、図２の制御回路２１５及び制御回路２１６と同様に、図３に示した制御処理を行う。
制御回路４１４は、インタフェース回路４１２−１〜インタフェース回路４１２−Ｎを初期化する制御を行い（ステップ３０１）、それぞれのインタフェース回路の初期化が完了したか否かを検知する（ステップ３０２）。そして、制御回路４１４は、インタフェース回路４１２−１〜インタフェース回路４１２−Ｎのすべての初期化が完了したことを検知した場合、それらのインタフェース回路を介したデータ通信を開始するように通信回路４１１及び通信回路４１３を制御する（ステップ３０３）。
【００２９】
このような情報処理装置４０１によれば、通信回線４２１−１〜通信回線４２１−Ｎ及び通信回線４２２−１〜通信回線４２２−Ｎを用いてデータ通信を行う際に、すべての通信回線を確実に利用することができる。
【００３０】
図５は、図２の情報処理装置２０１の具体的な構成例を示している。図５の情報処理装置２０１は、本体装置５０１及び拡張装置５０２を備える。本体装置５０１と拡張装置５０２の間では、Peripheral Components Interconnect Express（ＰＣＩｅ）のシリアル通信回線によるデータ通信が行われる。
【００３１】
本体装置５０１は、ＣＰＵ５１１（プロセッサ）、メモリ５１２、ルートコンプレックス（ＲＣ）５１３、スイッチ５１４、内蔵デバイス５１５、リタイマ５１６、コネクタ回路５１７−１、コネクタ回路５１７−２、及び制御回路５１８を備える。
【００３２】
拡張装置５０２は、コネクタ回路５２１−１、コネクタ回路５２１−２、リタイマ５２２、スイッチ５２３、ＰＣＩｅスロット５２４−１〜ＰＣＩｅスロット５２４−Ｍ（Ｍは２以上の整数）、及び制御回路５２５を備える。
【００３３】
例えば、ＣＰＵ５１１、ＲＣ５１３、スイッチ５１４、及びリタイマ５１６は、図２の通信回路２１１に対応し、リタイマ５２２及びスイッチ５２３は、通信回路２１４に対応する。この場合、コネクタ回路５１７−１及びコネクタ回路５１７−２は、インタフェース回路２１２−１及びインタフェース回路２１２−２に対応する。コネクタ回路５２１−１及びコネクタ回路５２１−２は、インタフェース回路２１３−１及びインタフェース回路２１３−２に対応する。
【００３４】
また、ＱＳＦＰケーブル５０３−１及びＱＳＦＰケーブル５０３−２は、通信回線２２２−１及び通信回線２２２−２に対応する。制御回路５１８及び制御回路５２５は、制御回路２１５及び制御回路２１６にそれぞれ対応する。
【００３５】
ＲＣ５１３は、ＣＰＵ５１１、メモリ５１２、及びスイッチ５１４に接続され、ＣＰＵ５１１又はメモリ５１２とスイッチ５１４の間のデータ転送を行う。スイッチ５１４及びスイッチ５２３は、ＰＣＩｅポートを増やすための中継回路であり、受信したパケットの宛先に基づいて対応するポートへそのパケットを転送する。
【００３６】
スイッチ５１４には、内蔵デバイス５１５及びリタイマ５１６が接続される。内蔵デバイス５１５は、例えば、ハードディスクドライブ、ＩＯデバイス等である。一方、スイッチ５２３には、ＰＣＩｅスロット５２４−１〜ＰＣＩｅスロット５２４−Ｍが接続される。ＰＣＩｅスロット５２４−ｊ（ｊ−１〜Ｍ）には、例えば、ハードディスクドライブ、ＩＯデバイス等が接続される。
【００３７】
リタイマ５１６及びリタイマ５２２は、受信信号とは別のクロックを使用してアウトバウンド信号を生成する回路であり、双方向全二重通信を行うことができる。リタイマ５１６及びリタイマ５２２は、物理層のうちPhysical Coding Sublayer（ＰＣＳ）層の中継を行う。リタイマ５１６及びリタイマ５２２は、Media Access Control（ＭＡＣ）層の中継を行う場合もある。
【００３８】
リタイマ５１６には、スイッチ５１４、コネクタ回路５１７−１、及びコネクタ回路５１７−２が接続され、リタイマ５２２には、スイッチ５２３、コネクタ回路５２１−１、及びコネクタ回路５２１−２が接続される。コネクタ回路５１７−１は、ケーブル５０３−１によりコネクタ回路５２１−１と接続され、コネクタ回路５１７−２は、ケーブル５０３−２によりコネクタ回路５２１−２と接続される。
【００３９】
リタイマ５１６及びリタイマ５２２は、ケーブル５０３−１及びケーブル５０３−２を介してハンドシェイクを行うことで、通信回線のリンクアップ制御を行う。
ケーブル５０３−ｉ（ｉ＝１，２）は１本以上のレーンを含み、１レーンは送信差動信号のための２本の信号線と、受信差動信号のための２本の信号線からなる。ケーブル５０３−ｉは、電気信号を伝送する電気ケーブル又は光信号を伝送する光ファイバケーブルである。
【００４０】
コネクタ回路５１７−ｉは、リタイマ５１６とケーブル５０３−ｉの間で送受信信号を中継するインタフェース回路であり、コネクタ回路５２１−ｉは、リタイマ５２２とケーブル５０３−ｉの間で送受信信号を中継するインタフェース回路である。
【００４１】
コネクタ回路５１７−ｉ及びコネクタ回路５２１−ｉは、初期化が完了するまでは、リタイマ５１６又はリタイマ５２２の一方が信号を送信しても他方がその信号を認識できない、いわゆる不定状態になっている。そして、コネクタ回路５１７−ｉ及びコネクタ回路５２１−ｉは、正常に初期化を完了した後に、送受信信号を中継できるようになる。コネクタ回路５１７−ｉ及びコネクタ回路５２１−ｉは、初期化が完了したか否かを示す情報を格納する初期化完了レジスタを含む。
【００４２】
ケーブル５０３−ｉが４本のレーンを含む光ファイバケーブルである場合、コネクタ回路５１７−ｉ及びコネクタ回路５２１−ｉとして、Quad Small Form-factor Pluggable （ＱＳＦＰ）コネクタを用いることができる。この場合、各ケーブルはｘ４リンクの通信回線に対応し、２本のケーブルを並列に使用することでｘ８リンクが実現される。
【００４３】
ＱＳＦＰコネクタは、電気信号を光信号に変換する変換素子、光信号を電気信号に変換する変換素子、及びそれらの変換素子を制御する制御部を含む。ＱＳＦＰコネクタは、制御部が正常に初期化を完了した後に、送受信信号を中継できるようになる。
【００４４】
制御回路５１８及び制御回路５２５は、例えば、マイクロプロセッサ又はマイクロコントローラである。制御回路５１８は、制御用のバスを介して、スイッチ５１４、リタイマ５１６、コネクタ回路５１７−１、及びコネクタ回路５１７−２を制御する。また、制御回路５２５は、制御用のバスを介して、スイッチ５２３、リタイマ５２２、コネクタ回路５２１−１、及びコネクタ回路５２１−２を制御する。
【００４５】
なお、本体装置５０１と拡張装置５０２のデータ通信には、ＰＣＩｅの代わりに、Infiniband等の別のシリアル通信回線を用いてもよく、パラレル通信回線を用いてもよい。
【００４６】
図６は、図５の制御回路５１８及び制御回路５２５が行う制御処理の例を示すフローチャートである。図６の制御処理は、本体装置５０１及び拡張装置５０２の電源が投入された後に開始される。
【００４７】
まず、制御回路５１８は、コネクタ回路５１７−１及びコネクタ回路５１７−２に初期化を指示する（ステップ６０１）。これにより、コネクタ回路５１７−１及びコネクタ回路５１７−２は、初期化を行い、初期化が完了したことを示す情報を初期化完了レジスタに格納する。
【００４８】
次に、制御回路５１８は、それぞれのコネクタ回路の初期化完了レジスタをポーリングして（ステップ６０２）、それぞれのコネクタ回路の初期化が完了したか否かを検知する（ステップ６０３）。
【００４９】
このとき、制御回路５１８は、コネクタ回路５１７−ｉの初期化完了レジスタに格納された情報を一定時間毎に読み出し、その情報が初期化が完了したことを示している場合、コネクタ回路５１７−ｉの初期化が完了したことを検知する。一方、制御回路５１８は、コネクタ回路５１７−ｉの初期化完了レジスタから読み出した情報が初期化が完了していないことを示している場合、コネクタ回路５１７−ｉの初期化が完了していないことを検知する。
【００５０】
いずれかのコネクタ回路の初期化が完了していないことを検知した場合（ステップ６０３，Ｎｏ）、制御回路５１８は、ステップ６０２の処理を繰り返す。一方、両方のコネクタ回路の初期化が完了したことを検知した場合（ステップ６０３，Ｙｅｓ）、制御回路５１８は、リタイマ５１６に初期化を指示する（ステップ６０４）。
【００５１】
これにより、リタイマ５１６は、初期化を行って、コネクタ回路５１７−１及びコネクタ回路５１７−２を介したデータ通信を開始できる状態になる。この場合、スイッチ５１４を初期化するタイミングは、図６の制御処理と同時でもよく、図６の制御処理の前又は後でもよい。
【００５２】
制御回路５２５は、コネクタ回路５２１−１及びコネクタ回路５２１−２に初期化を指示する（ステップ６０１）。次に、制御回路５２５は、それぞれのコネクタ回路の初期化完了レジスタをポーリングして（ステップ６０２）、それぞれのコネクタ回路の初期化が完了したか否かを検知する（ステップ６０３）。
【００５３】
いずれかのコネクタ回路の初期化が完了していないことを検知した場合（ステップ６０３，Ｎｏ）、制御回路５２５は、ステップ６０２の処理を繰り返す。一方、両方のコネクタ回路の初期化が完了したことを検知した場合（ステップ６０３，Ｙｅｓ）、制御回路５２５は、リタイマ５２２に初期化を指示する（ステップ６０４）。
【００５４】
これにより、リタイマ５２２は、初期化を行って、コネクタ回路５２１−１及びコネクタ回路５２１−２を介したデータ通信を開始できる状態になる。この場合、スイッチ５２３を初期化するタイミングは、図６の制御処理と同時でもよく、図６の制御処理の前又は後でもよい。
【００５５】
このような制御処理によれば、コネクタ回路の初期化完了レジスタをポーリングすることで初期化が完了したか否かが検知され、両方のコネクタ回路の初期化が完了した後にリタイマが初期化される。したがって、リタイマは、両方のコネクタ回路が送受信信号を中継できる状態であることを検知でき、両方のコネクタ回路を用いてデータ通信を行うことができる。
【００５６】
なお、制御回路５１８による制御処理と制御回路５２５による制御処理は独立して行われ、２つの制御処理のいずれが先に開始してもよく、いずれが先に終了しても構わない。
【００５７】
図７は、図６の制御処理の具体例を示すフローチャートである。まず、制御回路５１８は、リタイマ５１６、コネクタ回路５１７−１、及びコネクタ回路５１７−２のリセット信号をアサートし（ステップ７０１）、コネクタ回路５１７−１及びコネクタ回路５１７−２のリセット信号をデアサートする（ステップ７０２）。
【００５８】
これにより、リタイマ５１６は、初期化待ちの状態になり、コネクタ回路５１７−１及びコネクタ回路５１７−２は初期化を開始する。
次に、制御回路５１８は、コネクタ回路５１７−１の初期化完了レジスタをポーリングして（ステップ７０３）、コネクタ回路５１７−１の初期化が完了したか否かを検知する（ステップ７０４）。
【００５９】
コネクタ回路５１７−１の初期化が完了していないことを検知した場合（ステップ７０４，Ｎｏ）、制御回路５１８は、ステップ７０３の処理を繰り返す。一方、コネクタ回路５１７−１の初期化が完了したことを検知した場合（ステップ７０４，Ｙｅｓ）、制御回路５１８は、コネクタ回路５１７−２の初期化完了レジスタをポーリングする（ステップ７０５）。そして、制御回路５１８は、コネクタ回路５１７−２の初期化が完了したか否かを検知する（ステップ７０６）。
【００６０】
コネクタ回路５１７−２の初期化が完了していないことを検知した場合（ステップ７０６，Ｎｏ）、制御回路５１８は、ステップ７０５の処理を繰り返す。一方、コネクタ回路５１７−２の初期化が完了したことを検知した場合（ステップ７０６，Ｙｅｓ）、制御回路５１８は、リタイマ５１６のリセット信号をデアサートする（ステップ７０７）。
【００６１】
これにより、リタイマ５１６は、初期化を開始して、コネクタ回路５１７−１及びコネクタ回路５１７−２を介したデータ通信を開始できる状態になる。
拡張装置５０２の制御回路５２５による制御処理も、本体装置５０１の制御回路５１８による制御処理と同様である。
【００６２】
ところで、コネクタ回路５１７−ｉが故障している等の原因により、コネクタ回路５１７−ｉの初期化が先に進まず、いつまで待っても初期化が完了しない場合があり得る。この場合、制御回路５１８又は制御回路５２５がポーリングを継続すると、いつまで待っても情報処理装置を起動することができない。そこで、一定時間経過してもコネクタ回路の初期化が完了しない場合には、ポーリングを終了して次の処理に移行することが望ましい。
【００６３】
図８は、一定時間経過後にポーリングを中止する制御処理の例を示すフローチャートである。図８のステップ８０１〜ステップ８０４、ステップ８０６、ステップ８０７、及びステップ８０９の処理は、図７のステップ７０１〜ステップ７０７の処理と同様である。
【００６４】
ステップ８０４においてコネクタ回路５１７−１の初期化が完了していないことを検知した場合（ステップ８０４，Ｎｏ）、制御回路５１８は、ポーリング開始から一定時間が経過したか否かをチェックする（ステップ８０５）。一定時間が経過していない場合（ステップ８０５，Ｎｏ）、制御回路５１８は、ステップ８０３の処理を繰り返す。
【００６５】
一方、一定時間が経過している場合（ステップ８０５，Ｙｅｓ）、制御回路５１８は、コネクタ回路５１７−１の初期化が完了した場合と同様に、コネクタ回路５１７−２の初期化完了レジスタをポーリングする（ステップ８０６）。
【００６６】
また、ステップ８０７においてコネクタ回路５１７−２の初期化が完了していないことを検知した場合（ステップ８０７，Ｎｏ）、制御回路５１８は、ポーリング開始から一定時間が経過したか否かをチェックする（ステップ８０８）。一定時間が経過していない場合（ステップ８０８，Ｎｏ）、制御回路５１８は、ステップ８０６の処理を繰り返す。
【００６７】
一方、一定時間が経過している場合（ステップ８０８，Ｙｅｓ）、制御回路５１８は、コネクタ回路５１７−２の初期化が完了した場合と同様に、リタイマ５１６のリセット信号をデアサートする（ステップ８０９）。
【００６８】
これにより、リタイマ５１６は、初期化を行って、コネクタ回路５１７−１及びコネクタ回路５１７−２が使用できるか否かをチェックする。いずれか一方のコネクタ回路の初期化が完了していない場合、リタイマ５１６は、そのコネクタ回路が使用できない状態であると判断し、他方のコネクタ回路のみを利用した縮退運用を行う。また、両方のコネクタ回路の初期化が完了していない場合、リタイマ５１６は、両方のコネクタ回路が使用できない状態であると判断し、全故障の場合のエラー処理を行う。
【００６９】
ステップ８０５及びステップ８０８で用いられる一定時間としては、例えば、コネクタ回路の初期化完了に必要な時間より十分長い時間を用いることができる。拡張装置５０２の制御回路５２５による制御処理も、本体装置５０１の制御回路５１８による制御処理と同様である。
【００７０】
このような制御処理によれば、ポーリング開始から一定時間が経過した場合にポーリングを強制的に終了することで、いずれかのコネクタ回路が故障している場合でも、情報処理装置を起動することが可能になる。
【００７１】
図９は、図６の制御処理の別の具体例を示すフローチャートである。図９の制御処理では、ＰＣＩｅにおける状態遷移を利用してリタイマ５１６及びリタイマ５２２の初期化を制御する。リタイマ５１６及びリタイマ５２２は、リセットされた後、以下の順序で状態遷移を行い、初期化を完了する。
【００７２】
（１）Ｄｅｔｅｃｔ状態：リタイマが通信相手との電気的接続（電源が投入されたか否か）を確認する状態。リタイマは、通信相手との電気的接続を確認すると、次の状態に遷移する。
（２）Ｐｏｌｌｉｎｇ状態：リタイマが通信相手とＰＣＳ層の伝送を確立する状態。複数のレーンが存在する場合、リタイマは、レーン毎にシンボル伝送を確立する。一定時間でシンボル伝送を確立できないレーンは、Ｃｏｎｆｉｇｕｒａｔｉｏｎ状態へ遷移する際に、使用できないレーンとして識別される。
（３）Ｃｏｎｆｉｇｕｒａｔｉｏｎ状態：リタイマが通信相手とＭＡＣ層のリンクを確立する状態。複数のレーンが存在する場合、リタイマは、それらのレーンの全部が使用できるか、又は一部しか使用できないかに基づいて、安定的に使用できる本数のレーンを活性化する。また、リタイマは、速度調節が可能な場合は速度設定も行う。
（４）Ｌ０状態：リタイマが通信相手とデータ通信を行う運用状態。この状態では、初期化は既に完了している。
【００７３】
まず、制御回路５１８は、リタイマ５１６、コネクタ回路５１７−１、及びコネクタ回路５１７−２のリセット信号をアサートする（ステップ９０１）。そして、制御回路５１８は、リタイマ５１６、コネクタ回路５１７−１、及びコネクタ回路５１７−２のリセット信号をデアサートする（ステップ９０２）。
【００７４】
これにより、リタイマ５１６、コネクタ回路５１７−１、及びコネクタ回路５１７−２のすべての回路が初期化を開始する。
次に、制御回路５１８は、リタイマ５１６をＤｅｔｅｃｔ状態で停止させるために、停止指示をリタイマ５１６に発行する（ステップ９０３）。これにより、初期化を開始したリタイマ５１６は、初期化の途中であるＤｅｔｅｃｔ状態で停止する。
【００７５】
ただし、制御回路５１８からの停止指示の発行が遅れて、リタイマ５１６の初期化がＰｏｌｌｉｎｇ状態以降の状態に進んでしまっている可能性がある。そこで、制御回路５１８は、Ｈｏｔ  Ｒｅｓｅｔ指示をリタイマ５１６に発行し（ステップ９０４）、そのＨｏｔ  Ｒｅｓｅｔ指示を解除する（ステップ９０５）。
【００７６】
リタイマ５１６は、Ｈｏｔ  Ｒｅｓｅｔ指示を受け取ると現在の状態からＨｏｔ  Ｒｅｓｅｔ状態へ遷移し、その後、Ｈｏｔ  Ｒｅｓｅｔ指示が解除されると、Ｈｏｔ  Ｒｅｓｅｔ状態からＤｅｔｅｃｔ状態へ遷移する。したがって、ステップ９０４及びステップ９０５の処理を行うことで、確実にリタイマ５１６をＤｅｔｅｃｔ状態で停止させることができる。
【００７７】
図９のステップ９０６〜ステップ９０９の処理は、図７のステップ７０３〜ステップ７０６の処理と同様である。
ステップ９０９においてコネクタ回路５１７−２の初期化が完了したことを検知した場合（ステップ９０９，Ｙｅｓ）、制御回路５１８は、リタイマ５１６に対する停止指示を解除する（ステップ９１０）。
【００７８】
これにより、Ｄｅｔｅｃｔ状態で停止していたリタイマ５１６は、初期化を続行して最終的にＬ０状態へ遷移し、コネクタ回路５１７−１及びコネクタ回路５１７−２を介したデータ通信を開始できる状態になる。
【００７９】
拡張装置５０２の制御回路５２５による制御処理も、本体装置５０１の制御回路５１８による制御処理と同様である。
このような制御処理によれば、コネクタ回路の初期化が完了する前に、リタイマの初期化を途中まで進めておくことができる。したがって、制御処理に要する時間が図７の場合よりも短縮され、情報処理装置をより早く起動することができる。
【００８０】
図１０は、本体装置５０１の制御回路５１８がＰＣＩｅにおける状態遷移を利用してリタイマ５１６の初期化を制御する、別の制御処理の例を示すフローチャートである。
まず、制御回路５１８は、スイッチ５１４、リタイマ５１６、コネクタ回路５１７−１、及びコネクタ回路５１７−２のリセット信号をアサートする（ステップ１００１）。そして、制御回路５１８は、リタイマ５１６、コネクタ回路５１７−１、及びコネクタ回路５１７−２のリセット信号をデアサートする（ステップ１００２）。
【００８１】
これにより、リタイマ５１６、コネクタ回路５１７−１、及びコネクタ回路５１７−２が初期化を開始する。
ここで、もし制御回路５１８がスイッチ５１４のリセット信号をデアサートすると、スイッチ５１４の初期化が開始され、その初期化が完了してしまう可能性がある。スイッチ５１４及びリタイマ５１６の初期化が完了すると、ＣＰＵ５１１がリタイマ５１６のＬ０状態を認識し、ＲＣ５１３を介してデータ通信を開始することが可能になる。このため、データ通信の途中でリタイマ５１６にＨｏｔ  Ｒｅｓｅｔ指示を発行する必要が生じる。そこで、意図しないデータ通信の開始を防止するため、制御回路５１８は、ステップ１００２においてスイッチ５１４のリセット信号をデアサートしない。
【００８２】
図１０のステップ１００３〜ステップ１００６の処理は、図７のステップ７０３〜ステップ７０６の処理と同様である。
一方、拡張装置５０２の制御回路５２５は、図１０の制御処理ではなく、図１１のような制御処理を行う。図１１のステップ１１０１及びステップ１１０２の処理は、図９のステップ９０１及びステップ９０２の処理と同様である。図１１の制御処理では、制御回路５２５は、拡張装置５０２のリタイマ５２２をＤｅｔｅｃｔ状態で停止させずに、初期化を続行させる。
【００８３】
図１０のステップ１００６においてコネクタ回路５１７−２の初期化が完了したことを検知した場合（ステップ１００６，Ｙｅｓ）、制御回路５１８は、リタイマ５１６の状態を検知する（ステップ１００７）。そして、制御回路５１８は、リタイマ５１６の状態がＬ０状態であるか否かをチェックする（ステップ１００８）。
【００８４】
リタイマ５１６は、既に初期化を開始しているため、Ｄｅｔｅｃｔ状態、Ｐｏｌｌｉｎｇ状態、Ｃｏｎｆｉｇｕｒａｔｉｏｎ状態、又はＬ０状態のいずれかの状態にあると考えられる。
【００８５】
リタイマ５１６の状態がＬ０状態である場合（ステップ１００８，Ｙｅｓ）、コネクタ回路５１７−２が初期化を完了する前にリタイマ５１６が初期化を完了している可能性がある。そこで、制御回路５１８は、Ｈｏｔ  Ｒｅｓｅｔ指示をリタイマ５１６に発行する（ステップ１００９）。
【００８６】
ところで、リタイマ５１６がＬ０状態である場合、その通信相手であるリタイマ５２２の初期化も完了していることが確定する。したがって、リタイマ５１６とリタイマ５２２の間の少なくとも一部のレーンが通信可能な状態になっている。そこで、制御回路５１８は、通信可能なレーンを介して、リタイマ５２２にもＨｏｔ  Ｒｅｓｅｔ指示を発行する。
【００８７】
次に、制御回路５１８は、リタイマ５１６及びリタイマ５２２に対するＨｏｔ  Ｒｅｓｅｔ指示を解除する（ステップ１０１０）。これにより、リタイマ５１６及びリタイマ５２２は、Ｄｅｔｅｃｔ状態に戻り、再びＤｅｔｅｃｔ状態以降の処理を行って初期化を完了する。
【００８８】
次に、制御回路５１８は、スイッチ５１４のリセット信号をデアサートする（ステップ１０１１）。これにより、スイッチ５１４は、初期化を開始する。そして、スイッチ５１４及びリタイマ５１６の初期化が完了すると、ＣＰＵ５１１がリタイマ５１６のＬ０状態を認識するため、本体装置５０１及び拡張装置５０２は、コネクタ回路５１７−１及びコネクタ回路５１７−２を介したデータ通信を開始できる状態になる。
【００８９】
このような制御処理によれば、ＣＰＵ５１１は、両方のコネクタ回路の初期化が完了した後に、それらのコネクタ回路を介したデータ通信を行う状態を認識して、データ通信を開始することができる。
【００９０】
図１０の制御処理において、制御回路５１８は、スイッチ５１４をＤｅｔｅｃｔ状態で停止させておき、コネクタ回路５１７−１及びコネクタ回路５１７−２の初期化が完了した後に初期化を続行させてもよい。
【００９１】
また、制御回路５１８は、スイッチ５１４の代わりに、ＲＣ５１３又はＣＰＵ５１１の初期化を制御することもできる。
ＲＣ５１３の初期化を制御する場合、制御回路５１８は、コネクタ回路５１７−１及びコネクタ回路５１７−２の初期化が完了した後に、ＲＣ５１３に初期化を開始させてもよい。あるいは、制御回路５１８は、ＲＣ５１３をＤｅｔｅｃｔ状態で停止させておき、コネクタ回路５１７−１及びコネクタ回路５１７−２の初期化が完了した後に初期化を続行させてもよい。
【００９２】
ＣＰＵ５１１の初期化を制御する場合、制御回路５１８は、コネクタ回路５１７−１及びコネクタ回路５１７−２の初期化が完了した後に、ＣＰＵ５１１をリセットしてもよい。
【００９３】
図１２は、図５の情報処理装置２０１において、本体装置５０１と拡張装置５０２の間にコネクタ回路１２０１−１及びコネクタ回路１２０１−２を設けた構成例を示している。
【００９４】
図１２の構成において、コネクタ回路５１７−ｉ（ｉ＝１，２）とコネクタ回路１２０１−ｉはケーブル５０３−ｉにより接続され、コネクタ回路１２０１−ｉとコネクタ回路５２１−ｉはケーブル１２１１−ｉにより接続されている。リタイマ５１６は、図５のスイッチ５１４に接続され、リタイマ５２２は、図５のスイッチ５２３に接続されている。
【００９５】
この場合、制御回路５１８は、コネクタ回路５１７−１、コネクタ回路５１７−２、コネクタ回路１２０１−１、及びコネクタ回路１２０１−２を制御対象として、図６〜図１０のいずれかの制御処理を行う。一方、制御回路５２５は、コネクタ回路５２１−１及びコネクタ回路５２１−２を制御対象として、図６〜図９又は図１１のいずれかの制御処理を行う。
【００９６】
図１３は、図１２の制御回路５２５を省略した構成例を示している。この場合、制御回路５１８は、コネクタ回路５１７−１、コネクタ回路５１７−２、コネクタ回路１２０１−１、コネクタ回路１２０１−２、コネクタ回路５２１−１、及びコネクタ回路５２１−２を制御対象として、図６〜図１０のいずれかの制御処理を行う。
【００９７】
そして、制御回路５１８は、本体装置５０１の通信回路だけでなく、拡張装置５０２の通信回路も制御対象とする。したがって、図６のステップ６０４、図７のステップ７０１及びステップ７０７、図８のステップ８０１及びステップ８０９においては、リタイマ５１６及びリタイマ５２２の両方が制御対象となる。また、図９のステップ９０１〜ステップ９０５及びステップ９１０、図１０のステップ１００１、ステップ１００２、ステップ１００９、及びステップ１０１０においても、リタイマ５１６及びリタイマ５２２の両方が制御対象となる。
【００９８】
図５、図１２、及び図１３に示した情報処理装置２０１の構成は一例に過ぎず、情報処理装置２０１が行う処理に応じて一部の構成要素を省略又は変更してもよい。例えば、内蔵デバイス５１５を省略することも可能である。また、本体装置５０１と拡張装置５０２とを３本以上のケーブルで接続してもよく、複数のケーブルの代わりに、複数の無線回線で接続してもよい。
【００９９】
１本のケーブルに含まれるレーンの数が限られている場合でも、ケーブルの本数を増やすことで、多数のレーンを用いたシリアル通信を実現することができる。例えば、ｘ３２リンクを実装する場合は、ｘ４リンクのケーブルを８本並列に用いて、本体装置５０１と拡張装置５０２を接続すればよい。また、ｘ１リンクのケーブルを用いる場合は、レーンの本数と同じ本数のケーブルを並列に用いて、本体装置５０１と拡張装置５０２を接続すればよい。
【０１００】
図６〜図１１のフローチャートは一例に過ぎず、情報処理装置２０１の構成や条件に応じて一部の処理を省略又は変更してもよい。例えば、図６、図９、及び図１０の制御処理においても、図８の制御処理と同様に、制御回路は、ポーリング開始から一定時間が経過した場合にポーリングを中止することができる。
【０１０１】
また、制御回路は、コネクタ回路の初期化完了レジスタをポーリングする方法とは別の方法で、コネクタ回路の初期化が完了したか否かを検知してもよい。例えば、制御回路及びコネクタ回路が通信機能を有する場合は、制御回路が問い合わせメッセージをコネクタ回路へ送信し、コネクタ回路が応答メッセージを制御回路へ送信することができる。この場合、制御回路は、コネクタ回路からの応答メッセージに基づいて、コネクタ回路の初期化が完了したか否かを検知する。
【０１０２】
開示の実施形態とその利点について詳しく説明したが、当業者は、特許請求の範囲に明確に記載した本発明の範囲から逸脱することなく、様々な変更、追加、省略をすることができるであろう。
【符号の説明】
【０１０３】
１０１、２０１、４０１  情報処理装置
１１１、１１３、２１１、２１４、４１１、４１３  通信回路
１１２、２１２−１〜２１２−Ｎ、２１３−１〜２１３−Ｎ、４１２−１〜４１２−Ｎ  インタフェース回路
１１４  リセットパルス発生器
１２１、１２２、２２１−１〜２２１−Ｎ、２２２−１〜２２２−Ｎ、２２３−１〜２２３−Ｎ、４２１−１〜４２１−Ｎ、４２２−１〜４２２−Ｎ  通信回線
２１５、２１６、４１４、５１８、５２５  制御回路
５０１  本体装置
５０２  拡張装置
５０３−１、５０３−２、１２１１−１、１２１１−２  ケーブル
５１１  ＣＰＵ
５１２  メモリ
５１３  ＲＣ
５１４、５２３  スイッチ
５１５  内蔵デバイス
５１６、５２２  リタイマ
５１７−１、５１７−２、５２１−１、５２１−２、１２０１−１、１２０１−２  コネクタ回路
５２４−１〜５２４−Ｍ  ＰＣＩｅスロット
【図１】
2014048730.tif 000003
【図２】
2014048730.tif 000004
【図３】
2014048730.tif 000005
【図４】
2014048730.tif 000006
【図５】
2014048730.tif 000007
【図６】
2014048730.tif 000008
【図７】
2014048730.tif 000009
【図８】
2014048730.tif 000010
【図９】
2014048730.tif 000011
【図１０】
2014048730.tif 000012
【図１１】
2014048730.tif 000013
【図１２】
2014048730.tif 000014
【図１３】
2014048730.tif 000015