(57)【要約】【課題】  PCIeインターフェース仕様を超えた長距離のデータ伝送において、サイドバンド信号を用いることなく、ランダムパターン信号の発生を抑制する。【解決手段】  PCIe仕様の物理層を少なくとも有する第１のコンポーネントと、PCIe仕様の物理層を少なくとも有する第２のコンポーネントと、前記第１及び第２のコンポーネント間を接続するための伝送線路を備え、前記第１及び第２のコンポーネント間でPCIe信号を伝送する伝送方式において、PCIe仕様により定義されるElectrical Idle（EI）状態の代替としてPCIe仕様の物理層が送信可能なEI代替信号を送信し続けることを特徴とする。【選択図】  図３
2012146041.tif 000002
【特許請求の範囲】
【請求項１】
第一のコンポーネントと第二のコンポーネントとが、信号を送受信するための伝送路により接続され、
前記第一のコンポーネントは、制御信号を送信する送信部を有し、
前記第二のコンポーネントは、制御信号を受信する受信部を有し、
前記第一のコンポーネントの送信部が、前記伝送路を通して、０／１／Idleの３状態を表す３値信号を、前記第二のコンポーネントの受信部に送信するときに、
前記第一のコンポーネントの送信部は、前記Idle状態を表す信号を、０／１を表す信号の組み合わせにより代替し、３値信号を２値信号として前記第二のコンポーネントの受信部に送信することを特徴とする計算機装置。
【請求項２】
前記第一のコンポーネント及び前記第二のコンポーネントは、PCIeポートを有するPCIeコンポーネントであり、
前記伝送路は、PCIeリンクであり、
前記第一のコンポーネントのPCIeポートは、制御信号を送信する送信部を有し、
前記第二のコンポーネントのPCIeポートは、制御信号を受信する受信部を有し、
前記Idle状態は、エレクトリカルアイドル(EI)状態であることを特徴とする請求項１記載の計算機装置。
【請求項３】
前記第一のコンポーネントの送信部は、エレクトリカルアイドル（EI)状態に遷移するときに、
エレクトリカルオーダードセット（EIOS)信号を前記第二のコンポーネントの受信部に送信し、
前記第二のコンポーネントの受信部へのEI代替信号の送信を継続することを特徴とする請求項２記載の計算機装置。
【請求項４】
前記第一のコンポーネントがEI状態から復帰するときに、前記第一のコンポーネントの送信部は、
前記第二のコンポーネントの受信部へのEI代替信号の送信を停止し、
エレクトリカルアイドルイグジットオーダードセット（EIEOS)信号を前記第二のコンポーネントの受信部に送信することを特徴とする請求項３記載の計算機装置。
【請求項５】
前記EI代替信号はEIOSであり、
前記第一のコンポーネントの送信部は、EI状態に遷移すると、前記第二のコンポーネントの受信部へのEIOSの送信を継続することを特徴とする請求項３記載の計算機装置。
【請求項６】
前記第一のコンポーネントの送信部は、制御信号生成部及び送信ドライバを有し、
前記制御信号生成部は、
前記EI状態に遷移すると、前記EIOS信号を生成して前記送信ドライバに出力し、
前記EIOS信号の出力後、前記EI代替信号を生成して前記送信ドライバに継続して出力し、
前記EI状態から復帰すると、前記EIEOS信号を生成して前記送信ドライバに出力し、
前記送信ドライバは、受信した各種信号を前記第二のコンポーネントに出力することを特徴とする請求項３記載の計算機装置。
【請求項７】
前記PCIeポートは、データリンク層と物理層とを有し、
前記第一のコンポーネントにおける前記PCIeポートの物理層は、前記送信部として前記制御信号生成部及び前記送信ドライバを備える送信部を有し、
前記物理層の送信部は、前記第二のコンポーネントにおけるPCIeポートのデータリンク層からデータ信号を受信すると、EI状態から復帰して、前記第二のコンポーネントの受信部へのEI代替信号の送信を停止することを特徴とする請求項３記載の計算機装置。
【請求項８】
前記伝送路は、光通信により信号を伝送するための光信号伝送デバイス及び光ケーブルであることを特徴とする請求項１記載の計算機装置。
【請求項９】
前記伝送路は、電気信号により信号を伝送するプリント基板上の配線またはメタルケーブルと、PCIe信号を波形補償するための中継バッファとを有することを特徴とする計算機装置。
【請求項１０】
PCIeポートを有する第一のコンポーネントとPCIeポートを有する第二のコンポーネントとが、PCIe信号を送受信する伝送路により接続された計算機装置における信号伝送方法において、
前記第一のPCIeポートは、制御信号を送信する送信部を有し、
前記第二のPCIeポートは、制御信号を受信する受信部を有し、
前記第一のコンポーネントから前記第二のコンポーネントに信号を送信するとき、前記第一のコンポーネントの送信部は、
エレクトリカルアイドル（EI)状態に遷移すると、エレクトリカルオーダードセット（EIOS)信号を前記第二のコンポーネントの受信部に送信し、
前記第二のコンポーネントの受信部へのEI代替信号の送信を継続し、
前記第二のコンポーネントに送信するデータ信号の受信により、EI状態から復帰すると、前記第二のコンポーネントの受信部へのEI代替信号の送信を停止し、
エレクトリカルアイドルイグジットオーダードセット（EIEOS)信号を前記第二のコンポーネントの受信部に送信することを特徴とする信号伝達方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、PCI Expressインターフェースを有する計算機装置及び信号伝送方法に関し、特にPCI Expressインターフェースの伝送距離を延長する計算機装置及び信号伝送方法に関する。
【背景技術】
【０００２】
従来、計算機装置において、I/Oデバイスの接続インターフェースにPeripheral Component Interconnect Express（PCIe）が広く使われている（非特許文献１参照）。PCIeでは、構成内部にスイッチを配置することで、計算機モジュールに接続可能なI/Oデバイスの数を増やすことが可能である。また、PCIeの拡張仕様であるMulti-Root I/O Virtualization（MR-IOV）では、MR-IOV対応のPCIeスイッチを介すことで、複数の計算機モジュールが、同じI/Oデバイスを共用して使用することも可能である。特にブレード型サーバモジュールの様な、構造上I/Oポートの実装数が制限される計算機モジュールにおいて、I/Oデバイスを拡張するためには、計算機モジュールとは別にI/Oデバイスを複数搭載可能な装置（I/Oモジュール）を設置し、計算機モジュールとI/Oモジュール間をケーブルで接続する形態が一般的である。
【０００３】
従来のPCI Express Base Specification 2.0ではインターフェースの通信速度が2.5Gbpsまたは5Gbpsであるのに対し、PCI Express Base Specification 3.0では、2.5Gbps、5Gbpsに加え、さらに通信速度を高めた8Gbpsの通信を定義することが決定している。しかし、一般にプリント基板上の配線やケーブルを用いた電気信号の伝送では、信号周波数が高まるほど表皮効果によって信号減衰率は大きくなるため、伝送距離が制限されるという問題点がある。よって2.5Gbps、5Gbpsでの通信に対して８Gbpsでの通信は信号減衰率の悪化がより顕著になり、伝送距離の制限が厳しくなる。
【０００４】
そこで、伝送距離を延長するために、例えば、特開２００１−２８５３１２号公報（特許文献１）に記載されたような、インターフェース上にリドライバやイコライザなどの波形補償のための中継バッファを搭載し、中継バッファにより、減衰した信号波形を回復させる方法が一般的に用いられている。また、特開２０００−１０５６４２号公報（特許文献２）に記載されたような、光ケーブル、電気/光変換デバイス、光/電気変換デバイスを用いて、電気信号を光信号に変換し、電気ケーブルより信号の減衰が小さい光ケーブルにより信号を伝送する方法がある。
【０００５】
また、中継バッファによる波形補償を行う場合、PCIeインターフェースに存在するElectrical Idle（EI）という状態に起因するランダムパターン信号の発生があるため、特開２００９−２８２７９８号公報（特許文献３）に記載されたようなサイドバンド信号によりランダムパターン信号の発生を抑制する方法がある。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００１−２８５３１２号公報
【特許文献２】特開２０００−１０５６４２号公報
【特許文献３】特開２００９−２８２７９８号公報
【非特許文献】
【０００７】
【非特許文献１】PCI Express Base Specification Revision 2.0（1章、4章）
【発明の概要】
【発明が解決しようとする課題】
【０００８】
PCIeインターフェースで中継バッファによる波形補償を行う場合の注意点として、PCIeインターフェース仕様にはElectrical Idle（EI）という状態がある。EIはPCIe仕様において、通信を行わない場合の省電力動作として、差動信号のP極とN極の電位差が0Vで一定となる状態である。
【０００９】
しかし、EI状態の電位差を0Vとしていても、実際には装置内の部品等のノイズにより、EI状態でも差動信号の電位差が厳密に0Vにならないため、PCIe仕様では、EI状態の閾値（最大175mV、非特許文献１、4.3.4.4節）を定め、閾値以下の信号をEI状態と検知するように定めている。
【００１０】
PCIeインターフェースに挿入された中継バッファは入力信号の振幅によってEI状態を判断し、設定された閾値以下の信号をノイズとしてフィルタリングする。
【００１１】
装置の実装上の制約などにより配線長がPCIeインターフェース仕様を超える場合、中継バッファへのPCIeインターフェースの入力信号が著しく減衰し、中継バッファで設定された閾値を下回る場合が存在するため、通常の信号がノイズとしてフィルタリングされてしまう。
【００１２】
一方、中継バッファがフィルタリングをせずに、入力信号を全て増幅した場合、PCIeインターフェースの通常動作時の信号とEI状態時におけるノイズの区別ができず、中継バッファがノイズまで増幅するため、不規則なパターンの信号が出力される恐れがある。
【００１３】
PCIeインターフェース仕様が定める閾値より小さい閾値を中継バッファに設定することで、ノイズ増幅によるランダムパターン信号の発生を抑止できるが、市販の中継バッファは一般的にPCIeインターフェース仕様の閾値が設定されているので、流通している市販品を使用できなくなる。これは部品開発費、部品購入価格上昇などコスト面でのデメリットが大きい。また、中継バッファの閾値レベルを下げた場合でも、LSIの製造のバラツキによってはEI状態時のノイズと通常信号の区別がつかなくなり、通常伝送時に出力が遮断される懸念がある。
【００１４】
ランダムパターン信号を受信したLSIは、PCIeインターフェース仕様にない信号の入力によって、内部論理が想定外の動作を引き起こす可能性がある。従来のシングルルート接続の場合では、I/Oデバイスで誤作動が発生した場合、障害の影響範囲は、計算機モジらュールと接続しているPCIデバイスで構成するPCIツリーの中だけに留まる。しかし、スイッチを介し、複数の計算機モジュールがI/Oデバイスを共有するマルチルート接続の場合、PCIeスイッチは誤作動により、接続するそれぞれのPCIeツリーに影響が波及し、システム全体を停止させてしまう恐れがある。
【００１５】
従来例では通常信号とEI状態時のノイズとの区別をつけるために、送信側中継バッファがEI状態であるか否かを判別し、その判別情報を、サイドバンド信号を用いて受信側中継バッファに転送し、受信側中継バッファが転送された判別情報に基づいてPCIeインターフェースからの信号をON/OFF制御することで、ランダムパターン信号の受信を回避していた。この場合、PCIeインターフェースとは別に中継バッファ制御用インターフェースを用意する必要があった。
【００１６】
また、EI状態はPCIe通信に光ケーブルを用いる場合にも課題となる。PCIeで用いられる差動信号では２本の信号線に同時に逆位相の信号を伝送し、受信側でP極とN極の電位差を見ることにより、データの１／０を判定する。たとえば、P極とN極の電位差が正である場合のデータを１、負である場合のデータを０と判定する。しかし、EI状態における電位差が0Vになる状態は、電位差が正でも負でもない第３の状態となる。一般的に光通信では光のON/OFFによりデータの１／０を表現し、２つの状態しか表現できない。このため、一般的な光ケーブルでは、電位差により表現される３つの状態のうちの１つであるEI状態を、伝送することができない。
【００１７】
PCIeインターフェース仕様において、EI状態は通信を行わない省電力動作状態時の他に、Dxステート遷移時やリンクトレーニングシーケンス時にも使用される。PCIeバスの初期化やリセット時、電源ON/OFF時にはリンクトレーニングやDxステートの経由が必要なため、EI状態を伝送できない場合、PCIeバスの通信確認が正常に行われない可能性がある。
【００１８】
光ケーブルを用いたPCIe通信においてEI状態になった場合、ノイズにより差動信号の電位差が０Ｖ付近で正／負に切り替わり、データの１／０と判定され不規則なパターンの信号が出力される恐れがある。
【００１９】
本発明の目的は、上記課題を解消し、ランダムパターン信号の発生を抑制することができる信号伝送方法を提供することにある。なお、本発明はPCIeに限定されるものではないが、背景技術で述べたようにPCIe規格が広く利用されているため、代表してこれを用いる。本発明をPCIe規格に適用すると、サイドバンド信号を用いることなく、PCIeインターフェース仕様を超えた長距離のデータ伝送が可能となる。
【課題を解決するための手段】
【００２０】
上述の目的を達成するために、本発明に係る計算機装置および信号伝送方法は、第一のコンポーネントと第二のコンポーネントとが、信号を送受信するための伝送路により接続され、前記第一のコンポーネントは、制御信号を送信する送信部を有し、前記第二のコンポーネントは、制御信号を受信する受信部を有し、前記第一のコンポーネントの送信部が、前記伝送路を通して、０／１／Idleの３状態を表す３値信号を、前記第二のコンポーネントの受信部に送信するときに、前記第一のコンポーネントの送信部は、前記Idle状態を表す信号を、０／１を表す信号の組み合わせにより代替し、３値信号を２値信号として前記第二のコンポーネントの受信部に送信することを特徴とする。
【００２１】
特に、PCIe仕様の物理層を少なくとも有する第１のコンポーネントと、PCIe仕様の物理層を少なくとも有する第２のコンポーネントと、前記第１及び第２のコンポーネント間を接続するための伝送線路を備え、前記第１及び第２のコンポーネント間でPCIe信号を伝送するとき、PCIe仕様により定義されるElectrical Idle（EI）状態の代替として、PCIe仕様の物理層が送信可能なEI代替信号を送信し続けることを特徴とする。
【発明の効果】
【００２２】
PCIe仕様を越えた伝送距離に、中継バッファを用いて信号を伝送する場合において、ＥＩ状態になることなく代替信号を送信することで、サイドバンド信号を用いることなく、ランダムパターン信号の発生を抑止し、PCIeコンポーネントの誤動作を防止できる。
【図面の簡単な説明】
【００２３】
【図１】実施例１のサーバ装置を示すブロック図。
【図２】２つのPCIeコンポーネント間の接続構成を示すブロック図。
【図３】PCIeポートの物理層の構成例を示すブロック図。
【図４】PCIeポートの通常モードの動作を説明するフローチャート前半。
【図５】PCIeポートの通常モードの動作を説明するフローチャート後半。
【図６】PCIeポートのEI未使用モードの動作を説明するフローチャート前半。
【図７】PCIeポートのEI未使用モードの動作を説明するフローチャート後半。
【図８】PCIeポートの送信差動ドライバがＥＩ状態時（ａ）に送信する信号及びEI代替状態時（ｂ）に送信する信号を示す図。
【図９】実施例２のサーバ装置を示すブロック図。
【発明を実施するための形態】
【００２４】
以下、図面を参照しながら本発明の実施形態について説明する。
【実施例１】
【００２５】
図１により、本発明を適用したの実施例１のサーバ装置の構成を説明する。
サーバ装置は、サーバモジュール１１０と、スイッチモジュール１３０とを有し、サーバモジュール１１０は、バックプレーン１２０を介して、スイッチモジュール１３０と接続される。
【００２６】
サーバモジュール１１０はＣＰＵ２００とルートコンプレックス３００を有し、ルートコンプレックス３００はPCIeインターフェース１４０によりスイッチモジュール１３０に搭載されたPCIeスイッチ４００と接続される。PCIeインターフェース１４０には、サーバモジュール１１０上の中継バッファ１４１、１４２と、スイッチモジュール１３０上の中継バッファ１４３、１４４が接続されており、これら中継バッファはイコライザ機能とプリエンファシス機能を持ち、信号波形の補償を行う。
【００２７】
スイッチモジュール１３０はPCIeスイッチ４００と、スイッチ管理マイコン１３１と、１つ以上のPCIeデバイス１３２、１３３とを有する。スイッチ管理マイコン１３１はPCIe４００スイッチの設定を管理する。
【００２８】
次に、図２により、PCIe仕様に対応した２つのコンポーネント間の接続構成について説明する。ここでは、ルートコンプレックス３００とPCIeスイッチ４００との接続を例にして説明する。
【００２９】
ルートコンプレックス３００は、PCIeポート３１０及びPCIeブリッジ３２０を有する。PCIeスイッチ４００は、PCIeポート４１０、４１１、４１２及びPCIeブリッジ４２０を有する。PCIeブリッジ３２０、４２０は、コンポーネント内部の通信を中継する。PCIeポート３１０、４１０、４１１、４１２は、自らの所属するコンポーネントの外部のPCIeポートとの通信を行う。
【００３０】
PCIeのアーキテクチャはトランザクション層３５０、４５０、データリンク層３４０、４４０、物理層３３０、４３０からなる層構造を持っている。各層の間で送受信されるデータ信号の単位をパケットと呼ぶ。
【００３１】
トランザクション層３５０、４５０は、PCIeブリッジ３２０、４２０と、データリンク層３４０、４４０との間で、データをトランザクション層パケット（TLP: Transaction Layer Packet）の形にして送受信を行う。PCIeファブリック内におけるデータのやり取りは、TLPの形で送受信される。
【００３２】
データリンク層３４０、４４０は、トランザクション層３５０、４５０から受信したTLPを物理層３３０、４３０に送信し、物理層３３０、４３０から受信したTLPをトランザクション層３５０、４５０に送信する。また、データリンク層３４０、４４０は、リンク管理のために接続先のデータリンク層との間でデータリンク層パケット（DLLP: Data Link Layer Packet）の送受信を行う。トランザクション層３５０、４５０とデータリンク層３４０、４４０の間でDLLPを送受信することはない。
【００３３】
物理層３３０、４３０は、データリンク層３４０、４４０から受信したTLPやDLLPを電気信号に変換し、接続先の物理層との間で物理的に信号の送受信を行う。また、物理層３３０、４３０は、リンク管理のために接続先の物理層との間でオーダードセット（Ordered set）の送受信を行う。オーダードセットは、物理層パケット（PLP: Physical Layer Packet）とも呼ばれる。
【００３４】
次に、図３により、物理層３３０の機能を説明する。物理層３３０と物理層４３０は同様の構成を有する。
【００３５】
物理層３３０は、送信部５００と、受信部６００と、物理層制御部７００を有し、送信部５００は、送信データバッファ５１０と、制御信号生成・追加部５２０と、エンコーダ５３０と、パラレル‐シリアル変換部５４０と、送信差動ドライバ５５０とを有する。受信部６００は、差動レシーバ６１０と、シリアル‐パラレル変換部６２０と、デコーダ６３０と、制御信号解釈・削除部６４０と、受信データバッファ６５０とを有する。
【００３６】
送信データバッファ５１０は、データリンク層３４０からパケット（TLPまたはDLLP）を、パケットの境界を示す情報と同時に受信し、制御信号生成・追加部５２０に出力する。また、送信データバッファ５１０は、データリンク層とデータ送受信を行うためのハンドシェイク機能を有する。
【００３７】
制御信号生成・追加部５２０は、送信データバッファ５１０からパケットを受け取ると、受信側物理層４３０にパケットの開始と終了を認識させるため、パケットの始まりと終わりにフレーミングキャラクタを追加し、エンコーダ５３０に出力する。
【００３８】
また、制御信号生成・追加部５２０は、リンク管理のため、物理層独自の通信コマンドであるオーダードセットを生成し、エンコーダ５３０に出力する。
【００３９】
エンコーダ５３０は、入力されたデータに8b/10b変換（8bits/10bits変換）または128b/130b変換（128bits/130bits変換）を行い、パラレル‐シリアル変換部５４０に出力する。エンコーダ５３０は、送信差動ドライバ５５０の伝送速度が2.5Gbps及び5Gbpsの場合には、8ビットキャラクタを10ビットシンボルに変換し、伝送速度が8Gbpsの場合には、128ビットのシンボルを130ビットのブロックに変換する。
【００４０】
パラレル‐シリアル変換部５４０はエンコーダ５３０から入力されたパラレル信号をシリアル信号に変換し、送信差動ドライバ５５０へ伝える。送信差動ドライバ５５０は受け取ったシリアル信号を差動信号として出力する。送信差動ドライバ５５０には、物理層制御部７００から出力制御信号が入力され、送信差動ドライバ５５０の出力のON/OFFを切り替えることができる。
【００４１】
差動レシーバ６１０は、受信した差動信号からクロック再生を行い、受信した差動信号をアナログ信号からシリアルのディジタル信号に変換する。
【００４２】
シリアル‐パラレル変換部６２０は、差動レシーバ６１０が出力したシリアル信号をパラレル信号に変換し、デコーダ６３０に伝える。
【００４３】
デコーダ６３０は、入力されたデータに8b/10b変換または128b/130b変換を行い、制御信号解釈・削除部６４０に出力する。差動信号の伝送速度が2.5Gbps及び5Gbpsの場合には10ビットシンボルを8ビットキャラクタに戻し、伝送速度が8Gbpsの場合には130ビットのブロックを128ビットのシンボルに戻す。
【００４４】
制御信号解釈・削除部６４０は、入力された信号からKコード、オーダードセットを削除し、TLPおよびDLLPを受信データバッファに送信する。TLPおよびDLLPの開始と終了を示すキャラクタは受信データバッファで削除される。
【００４５】
PCIe仕様で用いられる8b/10b変換及び128b/130b変換は、データ転送の効率が低下するデメリットがあるが、“１”や“０”が連続しないようにしたものであり、データ信号からのクロック再生が容易に行える。また、8b/10b変換及び128b/130b変換においては、データの表現に余裕が生じるため、この余裕を利用して制御用の特別な符号を定義することができる。この符号を用いた物理層独自の通信コマンドがオーダードセットである。
【００４６】
8b/10b変換において、制御用符号はKコードと呼ばれ、Kx.yの形式で表現される。Kコードに対して、通常のデータはDコードと呼ばれ、Dx.yの形式で表現される。
【００４７】
128b/130b変換において、130ビットの列をブロックと呼び、ブロックは、ブロックの種類を示す先頭2ビットのシンクヘッダと、後に続く16個の8ビットシンボルで構成される。シンクヘッダが10の場合、ブロックが通常のデータ信号であることを示し、シンクヘッダが01の場合、ブロックがオーダードセットであることを示す。
【００４８】
Electrical Idle Ordered Set (EIOS)と、Electrical Idle Exit Ordered Set (EIEOS)は、オーダードセットの例である。送信部５００はEI状態に遷移しようとする場合、受信先にEI状態に遷移することを伝えるため、送信する最後のデータ信号の直後、EI状態に遷移する直前にEIOSを送信し、EIOSを送信し終えるとEI状態に遷移する。データ信号の送信が再開されるときは、受信先にEI状態が終了することを伝えるため、最初にEIEOSを送信した後、データ送信を開始する。
【００４９】
EIOSは、8b/10b変換ではK28.5、K28.3、K28.3、K28.3の４つのKコードで定義され、128b/130b変換では、シンクヘッダ01と、16個の66h（16進表現。２進表現では01100110）で定義される。
【００５０】
EIEOSは、8b/10b変換では、１個のK28.5と、１４個のK28.7と、１個のD10.2とからなる合計16個のコードで定義され、128b/130b変換では、シンクヘッダ01の後に、16個のシンボルとして0と1が8bitずつ交互に並ぶ形で定義される。
【００５１】
本発明を適用したサーバ装置ではEI状態に遷移しようとしたとき、物理層の送信部５００は、実際にはEI状態に遷移せず、新たに定義するオーダードセットをEI代替信号として送信し続けるEI代替状態に遷移する。すなわち、物理層の送信部５００が、EI未使用モードを備えるものである。
【００５２】
EI代替信号は、オーダードセットの形式をとり、PCIe仕様において未定義であるもののほか、すでに定義されているオーダードセットを用いてもかまわない。但し、EI状態の終了を通知するEIEOSをEI代替状態の終了を通知するオーダードセットとしても用いるため、EIEOS以外のオーダードセットをEI代替信号とする。
【００５３】
EI代替信号の一例として、EIOSがあげられる。EIOSをEI代替信号として用いる場合は、未定義の信号を新たに用いることが無く、また、EIOSを連続して送信することはPCIe仕様の範囲内であるため、PCIe仕様からの変更部分が少なく、部品開発コストを抑えることができる。
【００５４】
物理層制御部７００は、動作モード設定レジスタ７１０を有し、動作モード設定レジスタ７１０には、設定信号７２０により、物理層３３０の動作モードの設定を記録する。設定信号７２０は、外部インターフェースを介しCPU２００から指定されるレベル信号であり、設定信号７２０がHの場合は物理層３３０の動作モードはEI未使用モードとなり、設定信号７２０がLの場合は物理層３３０の動作モードは通常モードとなる。また、物理層制御部７００は、制御信号生成・追加部５２０と、送信差動ドライバ５５０と、差動レシーバ制御信号解釈・削除部６４０と、接続されており、動作モードによって制御を切り替える。ここで、動作モード設定レジスタ７１０が物理層制御部７００の中に存在する必要は無く、物理層制御部７００に対してEI未使用モードと通常モードのどちらで動作するか通知する手段があれば、動作モード設定レジスタ７１０は、物理層制御部７００の外に存在してもよい。
【００５５】
次に、図４、５により、物理層３３０の従来と同様の通常モードにおける、EI状態の動作を説明する。物理層３３０の構成の符号にはaを付し、物理層４３０の構成の符号にはbを付す。
【００５６】
CPU２００は、外部インターフェースを介してあらかじめ選択された物理層３３０の動作モード（ここでは通常モード）の設定を動作モード設定レジスタ７１０aに記録する。（ステップS101）
また、スイッチモジュール１３０に搭載されるスイッチ管理マイコン１３１も同様に、外部インターフェースを介してあらかじめ選択された物理層４３０の動作モード（ここでは通常モード）の設定を動作モード設定レジスタ７１０bに記録する。（ステップS102）。
【００５７】
EI状態への遷移要因が発生すると、送信部５００aの制御信号生成・追加部５２０aはEIOSを規定回数だけ生成し出力する（ステップS103、S104）。EI状態への遷移要因はPCIe仕様に規定されており、たとえば一定時間PCIeインターフェース上の通信が無い場合や、リンクトレーニングの一部、PCIeデバイスがD3ステートに遷移する場合がある。また、EIOSを生成し出力する回数は、PCIe仕様に従い、2.5Gbpsと8Gbpsでの通信においては１回とし、5Gbpsでの通信においては２回とする。受信部６００bが確実にEIOSを受信できるようにするため、規定回数を増やすことも可能である。
【００５８】
物理層制御部７００aは、制御信号生成・追加部５２０aがEIOSを規定回数だけ出力し終えると同時に、制御信号生成・追加部５２０aが出力した最後のEIOS以降の出力を無効とする（ステップS105）。
【００５９】
制御信号生成・追加部５２０aから出力されたEIOSは、エンコーダ５３０a、パラレル‐シリアル変換部５４０aを経由して送信差動ドライバ５５０aから送信され、PCIeポート３１０の差動レシーバ６１０bが受信する（ステップS106、S107）。
【００６０】
送信差動ドライバ５５０aがEIOSを送信すると、物理層制御部７００aは送信差動ドライバ５５０aの出力を停止させ、送信部５００aはEI状態に遷移する（ステップS108、S109）。
【００６１】
EI状態に遷移した送信部５００aは、データリンク層３４０からデータを受け取るか、物理層制御部７００aから指示を受けるまでEI状態を継続する（ステップS110）。
【００６２】
一方、差動レシーバ６１０bは、送信差動ドライバ５５０aからの出力が無くなったことから、送信部５００aがEI状態となったことを検知する（ステップS111）。
【００６３】
差動レシーバ６１０bが受信したEIOSは、シリアル‐パラレル変換部６２０b、デコーダ６３０bを経由して制御信号解釈・削除部６４０bに入力される。
【００６４】
制御信号解釈・削除部６４０bは、EIOSを受信したことを物理層制御部７００bに通知し、物理層制御部７００bは、その通知を受けると制御信号解釈・削除部６４０bの出力を無効にする。制御信号解釈・削除部６４０bの出力が無効になった時点で、受信部６００bがEI状態へ遷移完了したとする（ステップS112、S113）。
【００６５】
この後、受信部６００bは、送信部５００aからEIEOSを受信するまでEI状態を継続する（ステップS114）。
【００６６】
EI状態にある送信部５００aにおいて、送信バッファ５４０aが、データリンク層３４０からデータ信号を受信すると、物理層制御部７００aは、制御信号生成・追加部５２０a及び送信差動バッファ５５０aの出力を有効にし、EI状態からの復帰が始まる（ステップS115、S116、S117）。
【００６７】
制御信号生成・追加部５２０aは、データリンク層３４０から受信したデータ信号を送信する前に、EIEOSを生成し出力する（ステップS118）。
【００６８】
送信差動バッファ５５０aは、EIEOSに続いてデータ信号を、差動レシーバ６１０bに向けて送信する（ステップS119、S120）。
【００６９】
差動レシーバ６１０bは、EI状態ではない差動信号を受信したことから、送信部がEI状態から復帰したことを検知する（ステップS121）。
【００７０】
物理層制御部７００bは、送信部がEI状態から復帰したことを検知すると、制御信号解釈・削除部６４０bの出力を有効にする（ステップS123）。
【００７１】
制御信号解釈部・削除部６４０bは、EIEOSに続いてデータ信号を受信し、受信データバッファにデータ信号を出力する。受信データバッファ６５０bは、データリンク層にデータ信号を出力する（ステップS124、S125、S126）。
【００７２】
次に、図６、７により、物理層３３０のEI未使用モードにおける、EI代替状態の動作を説明する。
【００７３】
CPU２００は、外部インターフェースを介してあらかじめ選択された物理層３３０の動作モード（ここではEI未使用モード）の設定を動作モード設定レジスタ７１０aに記録する（ステップS201）。
【００７４】
また、スイッチモジュールに搭載されるスイッチ管理マイコン１３１も同様に、外部インターフェースを介してあらかじめ選択された物理層４３０の動作モード（ここではEI未使用モード）の設定を動作モード設定レジスタ７２０bに記録する。（ステップS202）。
【００７５】
EI状態への遷移要因が発生すると、送信部５００aの制御信号生成・追加部５２０aは、EIOSを通常モードと同様の規定回数だけ生成し出力する（ステップS203、S204）。EI状態への遷移要因は通常モードと同様の要因による。受信部６００bが確実にEIOSを受信できるようにするため、規定回数を増やすことも可能である。
【００７６】
物理層制御部７００aは、制御信号生成・追加部５２０aが規定回数のEIOSを生成し終えると、最後に生成したEIOSに続けて、EI代替信号を生成し出力するよう指示し、制御信号生成・追加部５２０aは、物理層制御部７００aから停止の指示があるまでEI代替信号の生成と出力を続ける。（ステップS205）。
【００７７】
制御信号生成・追加部５２０aから出力されたEIOSは、送信差動ドライバ５５０aから送信され、PCIeポート４１０の差動レシーバ６１０bが受信する（ステップS206、S207）。
【００７８】
送信差動ドライバ５５０は、EIOSを送信した後、EI代替信号を送信し続けるため、物理層制御部７００aは送信差動ドライバ５５０aの出力を停止させることはない（ステップS208、S209）。
【００７９】
EI代替信号を送信し続ける状態を送信部５００aのEI代替状態とする（ステップS210）。
【００８０】
EI代替状態に遷移した送信部５００aは、データリンク層３４０aからデータを受け取るか、物理層制御部７００aから指示を受けるまでEI代替状態を継続する（ステップS211）。
【００８１】
一方、差動レシーバ６１０bは、送信差動ドライバ５５０aからの出力が続くため、送信部５００aがEI代替状態となったことは検知できない。
【００８２】
差動レシーバ６１０bが受信したEIOSは、シリアル‐パラレル変換部６２０b、デコーダ６３０bを経由して制御信号解釈・削除部６４０bに入力される（ステップS212）。
【００８３】
制御信号解釈・削除部６４０bは、EIOSを受信したことを物理層制御部７００bに通知し、物理層制御部７００bは、その通知を受けると制御信号解釈・削除部６４０bの出力を無効にする。制御信号解釈・削除部は、出力を無効とするため、EI代替状態において入力され続けるEI代替信号による動作はない（ステップS213）。
【００８４】
この後、受信部６００bは、送信部５００aからEIEOSを受信するまでEI状態を継続する（ステップS214）。
【００８５】
EI代替状態にある送信部５００aにおいて、データ送信バッファがデータリンク層３４０から受信部６００bに送信すべきデータ信号を受信すると、EI代替状態からの復帰が始まり、制御信号生成・追加部５２０aは、EI代替信号の生成と出力を停止するとともに、EIEOSを生成して出力する（ステップS215-S217）。
【００８６】
制御信号生成・追加部５２０aがEIEOSを出力した後は、通常モードと同様の動作によりEI代替状態から復帰する（ステップS218−S225）。
【００８７】
次に、図８により、PCIeコンポーネントの送信部がEI状態時及びEI代替状態時に送信する信号を説明する。Tx+とTx-は送信される差動信号出力のP極とN極を示す。
【００８８】
図８(ａ)は、物理層が通常モードの場合のEI状態時に、送信差動ドライバ５５０が送信する信号を示す図である。通常モードはPCIeの仕様に則った動作であり、送信部５００はEI状態に遷移しようとする場合、送信する最後のデータ信号パケットの直後、EI状態に遷移する直前にEIOSを送信し、EIOSを送信し終えるとEI状態に遷移する。データ信号の送信が再開されるときは、EIEOSを送信した後、データ信号パケットの送信を開始する。
【００８９】
図８(ｂ)は、物理層がEI未使用モードの場合のEI代替状態時に、送信差動ドライバが送信する信号を示す図である。送信部５００がEI状態に遷移しようとした場合、通常モードと同様にEIOSを送信する。EIOSを送信した後、通常モードでEI状態となるべきところを、EI状態の代替としてEI代替信号を送信し続け、電気的インターフェースを動作させ続けることでEI状態に遷移することを回避する。EI代替信号の送信はデータ信号の送信が再開されるまで継続し、データ信号の送信が再開される場合は、EIEOSを送信した後、データ送信を開始する。
【００９０】
ここで、通常モードによる動作はPCIe仕様に則った動作であり、伝送距離が限られるため、伝送距離が短い場合や、動作周波数が低くてもよい場合に有用である。
【００９１】
以上により、EI状態に遷移せずEI代替信号を伝送することで、バックプレーンのようなプリント基板上を、中継バッファを用いてPCIe信号を伝送する場合において、サイドバンド信号を用いることなく、EI状態時のノイズを増幅することによるランダムパターン信号の発生を抑止し、PCIeコンポーネントの誤動作を防止できる。
【００９２】
また、図１に示した構成において、バックプレーン１２０に代えて、PCIeインターフェース用の配線を有するメタルケーブルによりルートコンプレックス３００とPCIeスイッチ４００を接続した場合でも、サイドバンド信号を用いることなく、EI状態時のノイズを増幅することによるランダムパターン信号の発生を抑止し、PCIeコンポーネントの誤動作を防止できる。
【００９３】
また、本実施例ではルートコンプレックスとPCIeスイッチ間の接続を例に取ったが、本発明のPCIe伝送方法はいかなるPCIeコンポーネント間の接続（たとえばPCIeスイッチとPCIeスイッチ間）においても有効である。
【実施例２】
【００９４】
実施例２は、実施例１において、サーバモジュール１１０とスイッチモジュール１３０との間を、バックプレーン１２０に代えて光ケーブル１６０で接続したものである。
【００９５】
図９により、本発明の実施例１によるサーバ装置の構成を説明する。
【００９６】
サーバ装置は、サーバモジュール１１０と、スイッチモジュール１３０とを有し、サーバモジュール１１０は、電気/光変換部１６１、１６４及び光/電気変換部１６２、１６３と光ケーブル１６０を介して、スイッチモジュール１３０と接続される。その他の構成、動作は実施例１と同様である。
【００９７】
光ケーブルにおけるPCIe伝送では、PCIeポートの通常モードによる伝送では正常な動作ができないため、常にEI未使用モードによる伝送を用いる。
【００９８】
以上、ケーブルでPCIe信号を伝送する場合において、光ケーブルによる正常な動作での伝送が可能となり、メタルケーブルより長距離の伝送が可能となるので、サーバラックの配置の自由度が向上する。また、メタルケーブルより細く軽量な光ケーブルを用いることで配線の省スペースが可能となる。
【符号の説明】
【００９９】
１１０  サーバモジュール、１２０  バックプレーン、１３０  スイッチモジュール、１３１  スイッチ管理マイコン、１３２、１３３  PCIeデバイス、１４０、１６０  PCIeインターフェース、１４１〜１４４  中継バッファ、１５０  光ケーブル、１６１、１６４  電気/光変換部、１６２、１６３  光/電気変換部、２００  CPU、３００  ルートコンプレックス、３１０、４１０〜４１２  PCIeポート、３２０、４２０  PCIeブリッジ、３３０、４３０  物理層、３４０、４４０  データリンク層、３５０、４５０  トランザクション層、４００  PCIeスイッチ、５００  送信部、５１０  送信データバッファ、５２０  制御信号生成・追加部、５３０  エンコーダ、５４０  パラレル‐シリアル変換部、５５０  送信差動ドライバ、６００  受信部、６１０  差動レシーバ、６２０  シリアル‐パラレル変換部、６３０  デコーダ、６４０  制御信号解釈・削除部、６５０  受信データバッファ、７００  物理層制御部、７１０  動作モード設定レジスタ、７２０  設定信号
【図１】
2012146041.tif 000003
【図２】
2012146041.tif 000004
【図３】
2012146041.tif 000005
【図４】
2012146041.tif 000006
【図５】
2012146041.tif 000007
【図６】
2012146041.tif 000008
【図７】
2012146041.tif 000009
【図８】
2012146041.tif 000010
【図９】
2012146041.tif 000011