JP4918284B2 - PCI−Express通信システム - Google Patents
PCI−Express通信システム Download PDFInfo
- Publication number
- JP4918284B2 JP4918284B2 JP2006143125A JP2006143125A JP4918284B2 JP 4918284 B2 JP4918284 B2 JP 4918284B2 JP 2006143125 A JP2006143125 A JP 2006143125A JP 2006143125 A JP2006143125 A JP 2006143125A JP 4918284 B2 JP4918284 B2 JP 4918284B2
- Authority
- JP
- Japan
- Prior art keywords
- packet
- module
- transfer
- pci
- express
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Information Transfer Systems (AREA)
Description
図17は、PCI-Expressスイッチにより各モジュールが接続され、PCI-Expressに基づいてモジュール間の通信を行う従来のPCI-Express通信システムを説明する図である。
PCI-Expressの仕様によれば、図17のモジュールA(1)のように、ルートコンプレックスと呼ばれる上位階層のトップに位置するモジュールが必要である。また、図17に示すように、各モジュールには、PCI-Expressスイッチ(6)のポート毎にバス番号(BusNum.)、デバイス番号(DeviceNum.)が割り当てられている。図17には、モジュールA(1)にはバス番号が0、デバイス番号は1が割り当てられ、モジュールB(2)にはバス番号が1、デバイス番号は2が割り当てられ、モジュールC(3)にはバス番号が1、デバイス番号は3が割り当てられ、モジュールD(4)にはバス番号が1、デバイス番号は4が割り当てられた例が示されている。
クスであるモジュールA(1)が異常により切り離されたとする。(4)すると、PCI-Expressスイッチ(6)では各ポートのコンフィギャ情報が変更され、バス番号、デバイス番号の
付け替え(以下、「IDの付け替え」ともいう。)が発生し、モジュールB(2) が新しい
ルートコンプレックスとなる。(5)モジュールC(3)はモジュールD(4)からのメモリリードリクエストコマンドによりリードデータをレスポンスパケットとして応答するが、その時のリクエスタIDは、モジュールDのバス番号とデバイス番号の付け替え前の番号で構成されている。(6)PCI-Expressスイッチ(6)はモジュールC(3)から送られてきたパ
ケットはレスポンスパケットであるため、IDルーティングによりルーティングを行う。(7)しかし、バス番号、デバイス番号は付け替えにより他のモジュールに割り振られているため、前記レスポンスパケットは誤って他のモジュールに送られるか、または紛失してしまう可能性がある。
また、パケットが紛失してもそれを知ることができない。
通信を行うPCI-Express通信システムにおいて、あるノードから他のノードにリクエスト
が発行された後、他のノードからリクエスト元のノードにレスポンスが返されるまでにPCI-Expressスイッチ内でバス番号/デバイス番号の付替えが発生しても、レスポンスパケットを当初のリクエスト元のノードであるターゲットに送付できるようにすることである。
また、一連のパケット転送においてパケットが順序正しく転送されたか確認可能とすることである。
相手モジュールにデータを書き込む(PUT転送)、相手モジュールからデータを読み出す(GET転送)のそれぞれに専用のチャネルを設け、各チャネルにチャネルIDを設定する。そして、PCI-Expressに従って転送されるトランザクションレイヤパケットのヘッ
ダのアドレス部内に、前記ノードIDとチャネルIDを設定するとともに、リクエストであるかレスポンスであるのかを識別するパケットタイプ及び一連のパケット転送におけるパケットのシーケンス番号を示すシーケンスコードを設定する。
また、リクエストの場合には必ずレスポンスパケット(レスポンスタイプのメモリライトリクエストパケット)により応答する。
デバイス番号の付替えが発生してもリクエストを発行したモジュールに確実にレスポンスを応答することができる。
また、シーケンスコードをチェックすることにより、パケットを順序正しく受信することができたか、パケットの紛失が発生しなかったかを確認することができる。
図1に記載された本発明のPCI-Express通信システム(100)における例示は、図21に記載された従来のPCI-Express通信システムにおける例示と同様な状況におけるものである。すなわち、図21に記載された場合と同様に、モジュールD(13)からモジュールC(12)に対して意味的にはメモリリード要求を発行し、それに対してモジュールC(12)からモジュールD(13)にリードデータを返そうとしているタイミングでモジュールA(10)の異常によりIDの付替えが発生し、図21に例示する場合と同様にモジュールD(13)のバス番号とデバイス番号が1、4から1、3に変化した場合である。
アドレス(Address)部(bit[63:2])には、図示するように、前記ノードID(bit[62:58])とチャネルID(bit[57:51])とさらにパケットタイプPT(bit[45])等を設定する。ノードIDはパケットの転送先のものである。チャネルIDで指定されるチャネルは、後に詳細に説明するように、PUT転送、GET転送及びノード間のメッセージ通信のためのメッセージ(MSG)転送毎に送信用チャネル、受信用チャネルが割り当てられている。したがって、メモリリード要求であればGET転送の受信用チャネルのチャネルIDが設定され、メモリライト要求であればPUT転送の受信用チャネルのチャネルIDが設定される。また、MSG転送のパケットにはMSG転送用の送信用あるいは受信用のチャネルIDが設定される。受信側モジュールは、このチャネルIDにより、MSG/PUT/GET転送を判別する。なお、MSG転送においても、PUT/GET転送と同様に、アドレスルーティングでルーティングされるメモリライトリクエストパケットを使用する。そして、レスポンスを要求することもできる。
パケットタイプPTはパケットがリクエストパケットであるかレスポンスパケットであるかの種別(0,1)を指定する。 タグ(Tag)部にはパケット転送元のチャネルIDがセットされ、転送先がレスポンスパケットを応答する際、応答先のチャネルIDとしてレスポンスパケットのアドレス部に使用される。
リクエストパケットの場合、送信側モジュールはリクエストパケット送信時に一連の各パケットに昇順の番号を設定する。受信側のモジュールでは、リクエストパケットの受信時に上記各パケットが順番どおりに受信されたかを確認する。確認の結果順番どおりでなければ、後述のステータスコードに値を設定してレスポンスパケットを送信する。
モード部は、そのパケットのモードを示すものである。モード部の第1ビット(bit[44])は、一連のパケットの始めのパケットであること(First Transfer)を示し、第2ビット(bit[43])は、一連のパケットの最後のパケットであること(Last Transfer)を示す。
パケットタイプPT=0かつチャネルIDがMSGの場合、bit[39:32]はシーケンスコードbit[50:46]の拡張シーケンスコードが割り当てられ、一連のパケットの数が多くてシーケンスコードのビット数で足りないときに使用される。bit[31:02]はゼロである。
パケットタイプPT=1(レスポンスパケット)の場合、レスポンスタイプbit[39:32],ステイタスコードbit[31:16]及び拡張シーケンスコード bit[11:03]などが割り付けられる。レスポンスタイプは、そのビット値により、PUT/MSGのレスポンスであるかGETのレスポンスであるかを示す。
以下、図3を参照して、メモリリード要求を実行する本発明のGET転送のシーケンスを説明する。
送信側がディスクリプタを解析してPUT転送要求を行い、メモリライトリクエストパケットを送信するところまでは、アドレス部とタグ部の設定を除いて、図19に記載された従来例と同様である。PCI-Expressスイッチは従来例と同様にアドレスルーティングによりパケットのルーティングを行い受信側に送信する。
本実施例は、それぞれのサブシステム内のすべての動作を管理する最大8個の集中管理モジュールCMがPCI-Expressスイッチを介して相互通信を行うPCI-Express通信システム(200)において、集中管理モジュールCM内のDMAチップが本発明の通信手法を実現するものである。
図6に示すように、DMAチップ(30)は、PCI-Expressスイッチ側のサウスポートにPCI-Expressインタフェース制御部(311)を、CPU側のノースポートにはPCI-Expressインタフェース制御部(312)備える。また各PCI-Expressインタフェース制御部(311)と PCI-Expressインタフェース制御部(312)にそれぞれ対応してパケット制御部(321)とパケット制御部(322)を備える。さらに、メッセージ受信用チャネル(331)、PUT受信用チャネル(341)、GET受信用チャネル(351)、転送バッファ(361,370,362)、メッセージ送信用チャネル(332)、PUT送信用チャネル(342)、GET送信用チャネル(352)を備える。
以下、本実施例におけるデータ転送例を説明する。なお、図3および図4で説明したものと同様な部分は、繰り返しとなることから、省略しているところもある。
(1)CPUからPUT受信用チャネルの起動をかけ、DMAチップに転送開始の指示を行う。(最初の一回のみ実施。)(2)DMAチップはサウスポート側からデータを受信する。(3)DMAチップは受信したデータをノースポート側に転送してメモリ内に書き込む。(4)DMAチップはサウスポート側にレスポンスを応答する。
(1)CPUはGET転送用のディスクリプタを作成し、メモリ内のディスクリプタ領域に書き込む。(2)CPUはDMAチップに対してGET転送開始を指示する。(3)DMAチップはメモリ上のディスクリプタ領域から、ディスクリプタデータを読み出す。(4)DMAチップはディスクリプタを解析して、相手側DMAチップにGETデータ要求を出す。(5)DMAチップはサウスポートよりGETデータを受け取り、ノースポートに転送する。(6)DMAチップはディスクリプタの完了ポインタを更新し、ポインタ値(ディスクリプタ終了ポインタ)をメモリ上のディスクリプタ終了ポインタ領域に書き込む。(7)DMAチップは転送終了を通知するため、CPUに割り込みを上げる。(8)CPUは終了ポインタの確定動作として、割り込みの解除と終了コードのクリアを行う。
(1)CPUからGET受信用チャネルの起動をかけ、DMAチップに転送開始の指示を行う。(最初の一回のみ実施。)(2)DMAチップはサウスポート側からGET要求を受信する。(3)DMAチップはノースポート側より、自集中管理モジュールCM上のメモリからデータを読み込む。(4)DMAチップはサウスポート側にGETデータを転送する。
図14の状態S10に示す装置のパワーオンもしくはリセット状態においてCPUによりチャネルが起動され、状態S11に遷移して図2において示したモード部のbit[41](Clean)に1を設定したパケット(クリーンパケット)を送信し受信側DMAチップに内部情報の初期化を指示する。
図15に示すのは、受信側DMAチップの各受信チャネルにおけるリクエストパケット受信処理フローである。
ステップS30での判定がクリーンパケットでなかった場合は、ステップS32でモード部のbit[44]をチェックしてFirst Transferか確認する。First TransferであればステップS33に進み、現在の状態が一連のパケットを転送中であるか判定する。転送中でなければステップS36に移行し、転送中であればFirst Transferと整合がとれないことからステップS40に移行してレスポンスパケットのアドレス部bit[31:16]にステイタスコードを設定し、エラーレスポンスパケットの送信処理に移行する。
次にステップS39に進み、モード部のbit[42]をチェックして一連のパケット一つ一つにレスポンスパケットが必要であるRequest Responseであるか確認をする。Request Responseであればレスポンスパケットの送信処理に移行し、そうでなければ処理を終了する。
送信側DMAチップの各送信チャネルは、レスポンスパケットを受信すると、まずステップS20においてモード部のbit[41](Clean)が1か確認し、1であればステップS21に進んで現在の状態がクリーンパケット送信状態であるか確認を行う。クリーンパケット送信状態でなければエラー処理に移行し、クリーンパケット送信状態であればステップS22に進んでアドレス部bit[50:46]のシーケンスコードを確認し、異常があればエラー処理に移行し、正常であれば正常終了する。
上記エラー処理では、図14に示したようにクリーンパケットが送信されて内部情報がクリアされ、転送処理を終了する。
複数のモジュール間を接続してパケット転送を行うPCI-Expressスイッチを用いたPCI-Express通信システムにおいて、
前記複数のモジュールの各々にそれらを識別する固有のノードIDを設定するとともに、データ転送に使用する各チャネルにチャネルIDを設定し、
データ転送についてのパケットのアドレス部内に、転送先モジュールの前記ノードIDと該データ転送に使用するチャネルの前記チャネルID、前記パケットがリクエストであるかレスポンスであるのかを識別するパケットタイプ及び一連のパケット転送におけるパケットのシーケンス番号を示すシーケンスコードを設定し、
データ転送には、アドレスルーティングでルーティングされるメモリライトリクエストパケットを使用し、
前記転送先モジュールは前記シーケンスコードに基づいて前記パケットが順番どおり受信されたかをチェックする、
ことを特徴とするPCI-Express通信システム。
(付記2)
前記転送先モジュールが受信したパケットに対してレスポンスパケットを返信する場合、該レスポンスパケットに前記受信したパケットのシーケンスコードと同一のシーケンスコードを設定し、
前記レスポンスパケットの返信先のモジュールは、該シーケンスコードに基づいて前記レスポンスパケットが順番どおり返信されたかをチェックする、
ことを特徴とする付記1に記載のPCI-Express通信システム。
(付記3)
前記データ転送についてのパケットのアドレス部内に、該パケットが一連のパケット転送における最初のパケットであるか最後のパケットであるかを示す識別ビットをさらに設定し、前記転送先モジュール及び前記返信先モジュールは、前記識別ビットと前記シーケンスコードの論理の整合性をチェックすることを特徴とする付記2に記載のPCI-Express通信システム。
(付記4)
前記データ転送についてのパケットのアドレス部内に、一連のパケット転送を終了し各モジュールにおいて一連のパケットを転送あるいは受信するのに必要な情報群である内部情報をクリアすることを指示するクリーンビットフラグをさらに設定し、
前記論理の整合性のチェックの結果エラーを検出したモジュールは、相手側モジュールに前記クリーンビットフラグにより一連のパケット転送を終了し前記内部情報をクリアすることを指示することを特徴とする付記3に記載のPCI-Express通信システム。
(付記5)
前記データ転送に使用するチャネルとして、相手モジュールにデータを書き込むPUT転送専用のチャネルと相手モジュールからデータを読み出すGET転送専用のチャネルを設けることを特徴とする付記1に記載のPCI-Express通信システム。
(付記6)
一方のモジュールから他方のモジュールにメモリリードリクエストを発行する場合は、前記一方のモジュールは、前記メモリライトリクエストパケットのアドレス部内に、前記他方のモジュールのノードIDと前記他方のモジュールが使用するGET転送専用チャネルのチャネルID、及びリクエストであることを識別する前記パケットタイプを設定することを特徴とする付記5に記載のPCI-Express通信システム。
(付記7)
前記一方のモジュールは、該一方のモジュールが使用するGET転送専用チャネルのチャネルIDを前記メモリライトリクエストパケットのヘッダ内に設定し、前記他方のモジュールは、該チャネルIDと前記一方のモジュールのノードID、及びレスポンスであることを識別する前記パケットタイプをメモリライトリクエストパケットのヘッダのアドレス部内に設定して該メモリライトリクエストパケットを前記一方のモジュールに返信することを特徴とする付記6に記載のPCI-Express通信システム。
(付記8)
一方のモジュールから他方のモジュールにメモリライトリクエストを発行する場合は、前記一方のモジュールは、前記メモリライトリクエストパケットのアドレス部内に、前記他方のモジュールのノードIDと前記他方のモジュールが使用するPUT転送専用チャネルのチャネルID、及びリクエストであることを識別する前記パケットタイプを設定することを特徴とする付記5に記載のPCI-Express通信システム。
(付記9)
前記一方のモジュールは、該一方のモジュールが使用するPUT転送専用チャネルのチャネルIDを前記メモリライトリクエストパケットのヘッダ内に設定し、前記他方のモジュールは、該チャネルIDと前記一方のモジュールのノードID、及びレスポンスであることを識別する前記パケットタイプをメモリライトリクエストパケットのヘッダのアドレス部内に設定して該メモリライトリクエストパケットを前記一方のモジュールに返信することを特徴とする付記8に記載のPCI-Express通信システム。
(付記10)
前記PUT専用のチャネルと前記GET専用のチャネルのそれぞれを受信用チャネルと送信用チャネルから構成することを特徴とする付記5に記載のPCI-Express通信システム。
(付記11)
一方のモジュールから他方のモジュールにメモリリードリクエストを発行する場合は、前記一方のモジュールは、前記メモリライトリクエストパケットのアドレス部内に、前記他方のモジュールのノードIDと前記他方のモジュールのGET転送専用の受信用チャネルのチャネルID、及びリクエストであることを識別する前記パケットタイプを設定し、かつ該一方のモジュールが使用するGET転送専用の送信用チャネルのチャネルIDを前記メモリライトリクエストパケットのヘッダ内に設定し、前記他方のモジュールは、該送信用チャネルのチャネルIDと前記一方のモジュールのノードID、及びレスポンスであることを識別する前記パケットタイプをメモリライトリクエストパケットのヘッダのアドレス部内に設定して該メモリライトリクエストパケットを前記一方のモジュールに返信することを特徴とする付記10に記載のPCI-Express通信システム。
(付記12)
一方のモジュールから他方のモジュールにメモリライトリクエストを発行する場合は、前記一方のモジュールは、前記メモリライトリクエストパケットのアドレス部内に、前記他方のモジュールのノードIDと前記他方のモジュールのPUT転送専用の受信用チャネルのチャネルID、及びリクエストであることを識別する前記パケットタイプを設定し、かつ該一方のモジュールが使用するPUT転送専用の送信用チャネルのチャネルIDを前記メモリライトリクエストパケットのヘッダ内に設定し、前記他方のモジュールは、該送信用チャネルのチャネルIDと前記一方のモジュールのノードID、及びレスポンスであることを識別する前記パケットタイプをメモリライトリクエストパケットのヘッダのアドレス部内に設定して該メモリライトリクエストパケットを前記一方のモジュールに返信することを特徴とする付記10に記載のPCI-Express通信システム。
(付記13)
複数のモジュール間を接続してパケット転送を行うPCI-Expressスイッチを用いたPCI-Express通信方法において、
前記複数のモジュールの各々にそれらを識別する固有のノードIDを設定するとともに、データ転送に使用する各チャネルにチャネルIDを設定し、
データ転送についてのパケットのアドレス部内に、転送先モジュールの前記ノードIDと該データ転送に使用するチャネルの前記チャネルID、前記パケットがリクエストであるかレスポンスであるのかを識別するパケットタイプ及び一連のパケット転送におけるパケットのシーケンス番号を示すシーケンスコードを設定し、
前記転送先モジュールは前記シーケンスコードに基づいて前記パケットが順番どおり受信されたかをチェックし、
リクエストの場合には必ずレスポンスパケットを応答し、
データ転送には、アドレスルーティングでルーティングされるメモリライトリクエストパケットを常に使用することを特徴とするPCI-Express通信方法。
(付記14)
前記転送先モジュールが受信したパケットに対してレスポンスパケットを返信する場合、該レスポンスパケットに前記受信したパケットのシーケンスコードと同一のシーケンスコードを設定し、
前記レスポンスパケットの返信先のモジュールは、該シーケンスコードに基づいて前記レスポンスパケットが順番どおり返信されたかをチェックする、
ことを特徴とする付記13に記載のPCI-Express通信方法。
(付記15)
前記データ転送についてのパケットのアドレス部内に、該パケットが一連のパケット転送における最初のパケットであるか最後のパケットであるかを示す識別ビットをさらに設定し、
前記転送先モジュール及び前記返信先モジュールは、前記識別ビットと前記シーケンスコードの論理の整合性をチェックする、
ことを特徴とする付記14に記載のPCI-Express通信方法。
(付記16)
前記データ転送についてのパケットのアドレス部内に、一連のパケット転送を終了し各モジュールにおいて一連のパケットを転送あるいは受信するのに必要な情報群である内部情報をクリアすることを指示するクリーンビットフラグをさらに設定し、
前記論理の整合性のチェックの結果エラーを検出したモジュールは、相手側モジュールに前記クリーンビットフラグにより一連のパケット転送を終了し前記内部情報をクリアすることを指示する、
ことを特徴とする付記15に記載のPCI-Express通信方法。
(付記17)
前記データ転送に使用するチャネルとして、相手モジュールにデータを書き込むPUT転送専用のチャネルと相手モジュールからデータを読み出すGET転送専用のチャネルを設けることを特徴とする付記13に記載のPCI-Express通信方法。
(付記18)
一方のモジュールから他方のモジュールにメモリリードリクエストを発行する場合は、前記一方のモジュールは、前記メモリライトリクエストパケットのアドレス部内に、前記他方のモジュールのノードIDと前記他方のモジュールが使用するGET転送専用チャネルのチャネルID、及びリクエストであることを識別する前記パケットタイプを設定することを特徴とする付記17に記載のPCI-Express通信方法。
(付記19)
前記一方のモジュールは、該一方のモジュールが使用するGET転送専用チャネルのチャネルIDを前記メモリライトリクエストパケットのヘッダ内に設定し、前記他方のモジュールは、該チャネルIDと前記一方のモジュールのノードID、及びレスポンスであることを識別する前記パケットタイプをメモリライトリクエストパケットのヘッダのアドレス部内に設定して該メモリライトリクエストパケットを前記一方のモジュールに返信することを特徴とする付記18に記載のPCI-Express通信方法。
(付記20)
一方のモジュールから他方のモジュールにメモリライトリクエストを発行する場合は、前記一方のモジュールは、前記メモリライトリクエストパケットのアドレス部内に、前記他方のモジュールのノードIDと前記他方のモジュールが使用するPUT転送専用チャネルのチャネルID、及びリクエストであることを識別する前記パケットタイプを設定することを特徴とする付記17に記載のPCI-Express通信方法。
(付記21)
前記一方のモジュールは、該一方のモジュールが使用するPUT転送専用チャネルのチャネルIDを前記メモリライトリクエストパケットのヘッダ内に設定し、前記他方のモジュールは、該チャネルIDと前記一方のモジュールのノードID、及びレスポンスであることを識別する前記パケットタイプをメモリライトリクエストパケットのヘッダのアドレス部内に設定して該メモリライトリクエストパケットを前記一方のモジュールに返信することを特徴とする付記20に記載のPCI-Express通信方法。
(付記22)
PCI-Expressスイッチを用いてパケット転送を行うPCI-Express通信システムのモジュールにおいて、
該モジュールを識別する固有のノードIDを設定するとともに、データ転送に使用する各チャネルにチャネルIDを設定し、
データ転送についてのパケットのアドレス部内に、転送先モジュールの前記ノードIDと該データ転送に使用するチャネルの前記チャネルID、前記パケットがリクエストであるかレスポンスであるのかを識別するパケットタイプ及び一連のパケット転送におけるパケットのシーケンス番号を示すシーケンスコードを設定し、
データ転送には、アドレスルーティングでルーティングされるメモリライトリクエストパケットを使用し、
前記転送先モジュールである場合には、前記シーケンスコードに基づいて前記パケットが順番どおり受信されたかをチェックする、
ことを特徴とするPCI-Express通信システムのモジュール。
(付記23)
前記転送先モジュールが受信したパケットに対してレスポンスパケットを返信する場合、該レスポンスパケットに前記受信したパケットのシーケンスコードと同一のシーケンスコードを設定し、
前記レスポンスパケットの返信先のモジュールは、該シーケンスコードに基づいて前記レスポンスパケットが順番どおり返信されたかをチェックする、
ことを特徴とする付記22に記載のPCI-Express通信システムのモジュール。
(付記24)
前記データ転送についてのパケットのアドレス部内に、該パケットが一連のパケット転送における最初のパケットであるか最後のパケットであるかを示す識別ビットをさらに設定し、
前記転送先モジュール及び前記返信先モジュールは、前記識別ビットと前記シーケンスコードの論理の整合性をチェックする、
ことを特徴とする付記23に記載のPCI-Express通信システムのモジュール。
(付記25)
前記データ転送についてのパケットのアドレス部内に、一連のパケット転送を終了し各モジュールにおいて一連のパケットを転送あるいは受信するのに必要な情報群である内部情報をクリアすることを指示するクリーンビットフラグをさらに設定し、
前記論理の整合性のチェックの結果エラーを検出したモジュールは、相手側モジュールに前記クリーンビットフラグにより一連のパケット転送を終了し前記内部情報をクリアすることを指示する、
ことを特徴とする付記24に記載のPCI-Express通信システムのモジュール。
(付記26)
前記データ転送に使用するチャネルとして、相手モジュールにデータを書き込むPUT転送専用のチャネルと相手モジュールからデータを読み出すGET転送専用のチャネルを設けることを特徴とする付記22に記載のPCI-Express通信システムのモジュール。
(付記27)
相手方のモジュールにメモリリードリクエストを発行する場合は、前記メモリライトリクエストパケットのアドレス部内に、前記相手方のモジュールのノードIDと前記相手方のモジュールが使用するGET転送専用チャネルのチャネルID、及びリクエストであることを識別する前記パケットタイプを設定することを特徴とする付記26に記載のPCI-Express通信システムのモジュール。
(付記28)
相手方のモジュールにメモリライトリクエストを発行する場合は、前記メモリライトリクエストパケットのアドレス部内に、前記相手方のモジュールのノードIDと前記相手方のモジュールが使用するPUT転送専用チャネルのチャネルID、及びリクエストであることを識別する前記パケットタイプを設定することを特徴とする付記26に記載のPCI-Express通信システムのモジュール。
(付記29)
相手方のモジュールからメモリライトリクエストを受信した場合は、メモリライトリクエストパケットのアドレス部内に、前記相手方のモジュールのノードIDとレスポンスであることを識別する前記パケットタイプを設定し、該メモリライトリクエストパケットを相手方のモジュールに返信することを特徴とする付記22に記載のPCI-Express通信システムのモジュール。
2、12 モジュールB
3、13 モジュールC
4、14 モジュールD
20〜27 集中管理モジュール
30 DMAチップ
311、312 PCI-Expressインタフェース制御部
321、322 パケット制御部
331 メッセージ受信用チャネル
332 メッセージ送信用チャネル
341 PUT受信用チャネル
342 PUT送信用チャネル
351 GET受信用チャネル
352 GET送信用チャネル
361 転送バッファ(NP→SP)
362 転送バッファ(SP→NP)
370 転送バッファ(ループバック)
40 メモリコントロールハブ
51、52 CPU
6、60〜62 PCI-Expressスイッチ
71、72 フロントエンドルータ
100 本発明のPCI-Express通信システム
200 本発明の実施例におけるPCI-Express通信システム
Claims (10)
- 複数のモジュール間を接続してパケット転送を行うPCI-Expressスイッチを用いたPCI-Express通信システムにおいて、
前記複数のモジュールのうち第1のモジュールから、データを読み出すGET転送のリクエストを示すパケットを受信した第2のモジュールは、該第1のモジュールへのアドレスルーティングのためのルーティング情報と、前記複数のモジュールの各々を識別する固有のIDであって各モジュールのデバイス番号が変化しても変化しないIDである、該第1のモジュールのノードIDと、データ転送に使用するGET転送専用チャネルのチャネルIDと、レスポンスであることを識別するパケットタイプと、一連のパケット転送におけるパケットのシーケンス番号を示すシーケンスコードとを含むアドレス部を有するメモリライトリクエストパケットを、該第1のモジュールへ返信し、
前記アドレス部を使用して前記メモリライトリクエストパケットのデータ転送を行い、
前記第1のモジュールは、前記シーケンスコードに基づいて前記メモリライトリクエストパケットが順番どおり受信されたかをチェックする、
ことを特徴とするPCI-Express通信システム。 - 前記第2のモジュールは、前記GET転送のリクエストを示すパケットのシーケンスコードと同一のシーケンスコードを前記アドレス部に設定し、
前記第1のモジュールは、該シーケンスコードに基づいて前記メモリライトリクエストパケットが順番どおり返信されたかをチェックする、
ことを特徴とする請求項1に記載のPCI-Express通信システム。 - 前記アドレス部内に、該パケットが一連のパケット転送における最初のパケットであるか最後のパケットであるかを示す識別ビットをさらに設定し、前記第2のモジュール及び前記第1のモジュールは、前記識別ビットと前記シーケンスコードの論理の整合性をチェックすることを特徴とする請求項2に記載のPCI-Express通信システム。
- 前記アドレス部内に、一連のパケット転送を終了し各モジュールにおいて一連のパケットを転送あるいは受信するのに必要な情報群である内部情報をクリアすることを指示するクリーンビットフラグをさらに設定し、
前記論理の整合性のチェックの結果エラーを検出したモジュールは、相手側モジュールに前記クリーンビットフラグにより一連のパケット転送を終了し前記内部情報をクリアすることを指示することを特徴とする請求項3に記載のPCI-Express通信システム。 - 複数のモジュール間を接続してパケット転送を行うPCI-Expressスイッチを用いたPCI-Express通信方法において、
前記複数のモジュールのうち第1のモジュールから、データを読み出すGET転送のリクエストを示すパケットを受信した第2のモジュールは、該第1のモジュールへのアドレスルーティングのためのルーティング情報と、前記複数のモジュールの各々を識別する固有のIDであって各モジュールのデバイス番号が変化しても変化しないIDである、該第1のモジュールのノードIDと、データ転送に使用するGET転送専用チャネルのチャネルIDと、レスポンスであることを識別するパケットタイプと、一連のパケット転送におけるパケットのシーケンス番号を示すシーケンスコードとを含むアドレス部を有するメモリライトリクエストパケットを、該第1のモジュールへ返信し、
前記アドレス部を使用して前記メモリライトリクエストパケットのデータ転送を行い、
前記第1のモジュールは、前記シーケンスコードに基づいて前記メモリライトリクエストパケットが順番どおり受信されたかをチェックする、
ことを特徴とするPCI-Express通信方法。 - 前記第2のモジュールは、前記GET転送のリクエストを示すパケットのシーケンスコードと同一のシーケンスコードを前記アドレス部に設定し、
前記第1のモジュールは、該シーケンスコードに基づいて前記メモリライトリクエストパケットが順番どおり返信されたかをチェックする、
ことを特徴とする請求項5に記載のPCI-Express通信方法。 - PCI-Expressスイッチを用いてパケット転送を行うPCI-Express通信システムの複数のモジュールのうちの1つのモジュールにおいて、
前記複数のモジュールのうち要求元モジュールから、データを読み出すGET転送のリクエストを示すパケットを受信し、
受信したパケットのアドレス部に含まれる、一連のパケット転送におけるパケットのシーケンス番号を示すシーケンスコードに基づいて、該パケットが順番どおり受信されたかをチェックし、
前記要求元モジュールへのアドレスルーティングのためのルーティング情報と、前記複数のモジュールの各々を識別する固有のIDであって各モジュールのデバイス番号が変化しても変化しないIDである、該要求元モジュールのノードIDと、データ転送に使用するGET転送専用チャネルのチャネルIDと、レスポンスであることを識別するパケットタイプと、シーケンスコードとを含むアドレス部を有するメモリライトリクエストパケットを、該要求元モジュールへ返信する、
ことを特徴とするPCI-Express通信システムのモジュール。 - 前記GET転送のリクエストを示すパケットのシーケンスコードと同一のシーケンスコードを前記メモリライトリクエストパケットのアドレス部に設定し、
前記要求元モジュールは、該シーケンスコードに基づいて前記メモリライトリクエストパケットが順番どおり返信されたかをチェックする、
ことを特徴とする請求項7に記載のPCI-Express通信システムのモジュール。 - 前記アドレス部内に、該パケットが一連のパケット転送における最初のパケットであるか最後のパケットであるかを示す識別ビットをさらに設定し、
前記1つのモジュール及び前記要求元モジュールは、前記識別ビットと前記シーケンスコードの論理の整合性をチェックする、
ことを特徴とする請求項8に記載のPCI-Express通信システムのモジュール。 - 前記アドレス部内に、一連のパケット転送を終了し各モジュールにおいて一連のパケットを転送あるいは受信するのに必要な情報群である内部情報をクリアすることを指示するクリーンビットフラグをさらに設定し、
前記論理の整合性のチェックの結果エラーを検出したモジュールは、相手側モジュールに前記クリーンビットフラグにより一連のパケット転送を終了し前記内部情報をクリアすることを指示する、
ことを特徴とする請求項9に記載のPCI-Express通信システムのモジュール。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006143125A JP4918284B2 (ja) | 2006-05-23 | 2006-05-23 | PCI−Express通信システム |
US11/604,361 US7765357B2 (en) | 2005-03-24 | 2006-11-27 | PCI-express communications system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006143125A JP4918284B2 (ja) | 2006-05-23 | 2006-05-23 | PCI−Express通信システム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2007316755A JP2007316755A (ja) | 2007-12-06 |
JP4918284B2 true JP4918284B2 (ja) | 2012-04-18 |
Family
ID=38850580
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006143125A Active JP4918284B2 (ja) | 2005-03-24 | 2006-05-23 | PCI−Express通信システム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4918284B2 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5112246B2 (ja) * | 2008-10-09 | 2013-01-09 | 株式会社日立製作所 | ストレージシステム及び通信方法 |
US8402189B2 (en) | 2010-05-13 | 2013-03-19 | Hitachi, Ltd. | Information processing apparatus and data transfer method |
US9400722B2 (en) * | 2011-11-15 | 2016-07-26 | Ge Aviation Systems Llc | Method of providing high integrity processing |
JP6273972B2 (ja) | 2014-03-31 | 2018-02-07 | 富士通株式会社 | 情報処理装置、送受信装置、及び情報処理装置の制御方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4003421B2 (ja) * | 2001-08-21 | 2007-11-07 | 日本ビクター株式会社 | ホットプラグ対応の通信装置、通信方法、通信装置用プログラム、及び通信装置用記録媒体 |
JP2005223545A (ja) * | 2004-02-04 | 2005-08-18 | Matsushita Electric Ind Co Ltd | データ伝送機器管理装置 |
-
2006
- 2006-05-23 JP JP2006143125A patent/JP4918284B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2007316755A (ja) | 2007-12-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4410190B2 (ja) | PCI−Express通信システム | |
JP4664159B2 (ja) | 独立したエラー回復機能を有するスレーブ装置 | |
US8305879B2 (en) | Peripheral component switch having automatic link failover | |
EP2237162B1 (en) | PCI.Express communication system and communication method thereof | |
US9052829B2 (en) | Methods and structure for improved I/O shipping in a clustered storage system | |
AU2007278728B2 (en) | Method and apparatus for distributing usb hub functions across a network | |
JP4536981B2 (ja) | 情報信号処理装置及び情報信号処理方法 | |
US6603744B2 (en) | Connection establishment method, communication method, state change transmission method, state changing method, wireless apparatus, wireless device, and computer | |
JP5310175B2 (ja) | スイッチシステム、及びスイッチシステムの制御方法 | |
CN109033004B (zh) | 一种基于Aurora总线的双机内存数据共享系统 | |
JPH1093635A (ja) | ネットワークのトポロジを識別するためのシステムおよび方法 | |
US20130179722A1 (en) | Ring topology for compute devices | |
JPWO2006114822A1 (ja) | Dmaコントローラ、ノード、データ転送制御方法、及びプログラム | |
KR20130045357A (ko) | Pci 익스프레스 호환 디바이스의 자원들에 액세스하는 방법 및 시스템 | |
JP4918284B2 (ja) | PCI−Express通信システム | |
US7765357B2 (en) | PCI-express communications system | |
KR20170086484A (ko) | 기록 요청 처리 방법, 프로세서, 그리고 컴퓨터 | |
US11940942B2 (en) | Peripheral component interconnect express interface device and operating method thereof | |
KR102033112B1 (ko) | Pci 익스프레스 스위치 장치 및 그의 접속 제어 방법 | |
US20080263248A1 (en) | Multi-drop extension for a communication protocol | |
JP6922879B2 (ja) | 通信装置、情報処理システム、および通信方法 | |
JP2011113163A (ja) | Ioアクセス通信システムにおけるエンドポイント間通信制御装置および方法 | |
JP2004513418A (ja) | 標準デバイス・インタフェース | |
US20240012770A1 (en) | Interface device having plurality of ports and method of operating the same | |
KR20050107724A (ko) | 링크-기반 컴퓨팅 시스템 내에서의 i/o 구성 메시징 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20090108 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110426 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110624 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20120124 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20120130 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150203 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4918284 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |