(57)【要約】【課題】本発明は、複数のホストがそれぞれデバイスを管理する管理領域を分離するとともに分離した領域の間でデバイスを識別して確実に通信することができるデータ処理装置を提供することを目的とするものである。【解決手段】データ処理装置１は、ホストにより送信されるコンフィグレーションリードリクエストのＩＤデータを管理情報としてＩＤ管理テーブル１０に保存する登録処理部９１と、一方の管理領域から送信された送信情報のＩＤデータを管理情報に基づいて変換して他方の管理領域に送信情報を送信する送信ＩＤ処理部９２と、他方の管理領域から送信情報に対して返信された返信情報のＩＤデータを管理情報に基づいて元のＩＤデータに変換して一方の管理領域に返信する返信ＩＤ処理部９３とを備えている。【選択図】図２
2013196593.tif 000002
【特許請求の範囲】
【請求項１】
複数のホストがそれぞれ接続するデバイスを管理する管理領域を分離するとともに各管理領域に接続してホスト間の通信を行うデータ処理装置であって、
各管理領域の前記デバイスを識別するＩＤデータを管理情報として保存するＩＤ管理テーブルと、一方の前記管理領域から送信された送信情報のＩＤデータを前記管理情報に基づいて変換して他方の前記管理領域に当該送信情報を送信する送信ＩＤ処理部と、他方の前記管理領域から前記送信情報に対して返信された返信情報のＩＤデータを前記管理情報に基づいて元のＩＤデータに変換して一方の前記管理領域に返信する返信ＩＤ処理部とを備えているデータ処理装置。
【請求項２】
前記ホストにより送信されるコンフィグレーションリードリクエストのリクエスタＩＤを前記ＩＤデータとして前記ＩＤ管理テーブルに保存する登録処理部を備えている請求項１に記載のデータ処理装置。
【請求項３】
前記送信ＩＤ処理部は、前記送信情報の前記ＩＤデータと一致するＩＤデータが前記ＩＤ管理テーブルに保存されている場合に前記ＩＤデータに関連付けられた識別番号を前記ＩＤデータに書き込んで変換する請求項１又は２に記載のデータ処理装置。
【請求項４】
前記返信ＩＤ処理部は、前記返信情報の前記ＩＤデータに含まれる前記識別番号と一致する識別番号が前記ＩＤ管理テーブルに保存されている場合に前記識別番号に関連付けられて保存されているＩＤデータに変換する請求項３に記載のデータ処理装置。
【請求項５】
複数のホストがそれぞれ接続するデバイスを管理する管理領域を分離するとともに各管理領域に接続してホスト間の通信を行うデータ処理方法であって、各管理領域の前記デバイスを識別するＩＤデータを管理情報としてＩＤ管理テーブルに保存し、一方の前記管理領域から送信された送信情報のＩＤデータを前記管理情報に基づいて変換して他方の前記管理領域に当該送信情報を送信し、他方の前記管理領域から前記送信情報に対して返信された返信情報のＩＤデータを前記管理情報に基づいて元のＩＤデータに変換して一方の前記管理領域に返信するデータ処理方法。
【請求項６】
複数のホストがそれぞれ接続するデバイスを管理する管理領域を分離するとともに各管理領域に接続してホスト間の通信を行うデータ処理装置を機能させるためのプログラムであって、
前記データ処理装置を、
前記ホストにより送信されるコンフィグレーションリードリクエストのリクエスタＩＤを管理情報としてＩＤ管理テーブルに保存する手段、
一方の前記管理領域から送信された送信情報のＩＤデータを前記管理情報に基づいて変換して他方の前記管理領域に当該送信情報を送信する手段、
他方の前記管理領域から前記送信情報に対して返信された返信情報のＩＤデータを前記管理情報に基づいて元のＩＤデータに変換して一方の前記管理領域に返信する手段、
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ホストのアドレス領域を分離して、分離したアドレス領域の間でホスト間通信を行うデータ処理装置に関する。
【背景技術】
【０００２】
近年、高速シリアルインターフェースとしてPCI Expressが普及してきている。PCI Expressは、高いデータ転送速度及びデータ帯域幅を有しており、その特徴を生かしてパーソナルコンピュータ等の様々な電子機器に使用されている。PCIバス（Peripheral Components Interconnect bus）はパーソナルコンピュータ内のインターコネクトとして設計されたため、規格上複数のホスト間で通信を行うことは想定されていなかった。PCIバスと互換性を有するPCI Expressは、PCIバスと同様にホスト間通信を行うことができなかったが、PCI Expressに設けられたNon-Transparentポートを介してホスト間通信が可能となっている。
【０００３】
図６は、２つのホストの間でPCI Expressを用いて通信するシステム構成例である。ホストＨ１は、ＣＰＵ１０１を備えており、ＣＰＵ１０１には１つのルートコンプレックス１０２が接続されている。ルートコンプレックス１０２には、メモリ１０３、接続されるデバイスであるエンドポイント１０４及びPCI Express対応スイッチ（以下「PCIeスイッチ」と略称する）１０５が接続されている。PCIeスイッチ１０５には、エンドポイント１０６及びNon-Transparentポート（以下「NTポート」と略称する）を備えたPCIeスイッチ１０７が接続されており、PCIeスイッチ１０７にはエンドポイント１０８が接続されている。ホストＨ２は、ＣＰＵ２０１を備えており、ＣＰＵ２０１には１つのルートコンプレックス２０２が接続されている。ルートコンプレックス２０２には、メモリ２０３、エンドポイント２０５及びPCIeスイッチ２０４が接続されている。PCIeスイッチ２０４には、エンドポイント２０６が接続されているとともに、PCIeスイッチ２０４は、PCIeスイッチ１０７のNTポートに接続されている。
【０００４】
こうしたルートコンプレックス、PCIeスイッチ及びエンドポイントからなるPCI Expressのデバイスツリー構造を構築する場合、デバイスツリー構造には複数のルートコンプレックスを接続することはできない。そのため、NTポートを備えたPCIeスイッチにより２つのホストに接続されたデバイスツリー構造を接続することで、複数のルートコンプレックスの接続を実現することができる。この場合、図６の点線で囲まれた領域で示すように、NTポートにより２つのホストのアドレス領域が分離した状態に設定されている。
【０００５】
図７は、PCIeスイッチ１０７の論理的な内部構造に関するブロック構成図である。PCIeスイッチ１０７は、アップストリームポート３０１、ダウンストリームポート３０２及びNTポート３０３を備えている。システムの上流側に対応するアップストリームポート３０１には、PCIeスイッチ１０５が接続されており、システムの下流側に対応するダウンストリームポート３０２には、エンドポイント１０８が接続されている。そして、NTポート３０３は、ホストＨ２側のPCIeスイッチ２０４に接続されている。
【０００６】
PCIeスイッチ１０７は、複数のポート３０１、３０２及び３０３を結合し、ポート間でパケットルーティングを行う。論理的には、２つの仮想PCI-PCIブリッジ３０４及び３０５と仮想PCIバス３０６を接続して構成される。NTポート３０３に対応して設定されるNon-transparentブリッジ（以下「NTブリッジ」と略称する）３０７についても他のポートに対応して設定された仮想PCI-PCIブリッジ３０４及び３０５との間を仮想PCIバス３０６により接続されている。NTブリッジ３０７は、システムの上流側からはNTエンドポイント３０８として認識され、システム構成の末端のデバイスとして識別されるようになる。以後、NTブリッジが認識されるエンドポイントをNTエンドポイントと称する。また、NTブリッジ３０７は、ホストＨ２側からもNTエンドポイント３０９として認識されるため、どちらのホストからみてもシステム構成の末端のデバイスとして識別されるようになり、２つのホストのアドレス領域が分離した状態に設定される。そして、NTブリッジ３０７は、仮想PCI-PCIブリッジ３０４及び３０５と同様にトランザクションを転送する。そして、トランザクションがNTブリッジを通過する際にトランザクションのアドレス変換処理が行われる。そのため、一方のホスト側から他方のホスト側にアクセスする際に他方のホスト側のアドレス領域に対応するアドレス変換が行われてアクセス可能となる。
【０００７】
こうしたシステム構成の具体例としては、特許文献１には、画像処理ユニット部及び情報処理ユニット部にPCI Expressによるデータ転送ユニットを備え、データ転送ユニット間をPCI ExpressスイッチのNon-Transparentポートを使用して接続する構成が記載されている。
【０００８】
図８は、上述したシステム構成におけるPCI Expressのデバイスツリー構造におけるメモリトランザクションの流れに関する説明図である。図８（ａ）は、メモリリードリクエストを実行した場合のトランザクションの流れを示している。リクエスタからエンドポイントを介して送信されたメモリリードリクエストは、リクエストのアドレスデータに基づいてルーティングされ、メモリにアクセスされる（図中の矢印Ａ参照）。メモリにアクセスしてリクエストされたデータを取得した後に、コンプリータからルートコンプレックスを介してリードデータを含むコンプリーションがリクエスタに返信される。リクエスタは、コンプリーションを受信することでデータを獲得する。このとき、コンプリーションの返信経路（図中の矢印Ｂ参照）は、ＩＤ（Identification）ルーティングによって設定される。
【０００９】
図８（ｂ）は、メモリライトリクエストを実行した場合のトランザクションの流れを示している。リクエスタからエンドポイントを介して送信されたメモリライトリクエストは、リクエストのアドレスデータに基づいてルーティングされ、メモリにアクセスしてデータの書き込みを行う（図中の矢印Ｃ参照）。メモリライトリクエストでは、リクエスタが送信したトランザクションに対して、コンプリータがコンプリーションを返信しない。
【００１０】
図９は、アドレスルーティング及びＩＤルーティングのヘッダ構造に関する説明図である。PCI Expressでは、トランザクションは、パケットの形にして転送される。PCI Expressのトランザクション層で転送されるパケット(Transaction Layer Packet；以下TLPと略称する)は、転送するデータ（データペイロード）、トランザクションの種類を決定するTLPヘッダ、及び、データのエラー検出を行うTLPダイジェストから構成されている。TLPヘッダは、トランザクションの送信先を決定するために用いられる。トランザクションの送信先へのルーティング方法としては、アドレスルーティング及びIDルーティングがある。図９（ａ）は、３２ビットの場合のアドレスルーティングにおけるヘッダ構造を示している。この例では、Ｂｙｔｅ８のアドレス［３１：２］に格納されたアドレス値を用いて、それに対応するアドレスを割り当てたデバイスがトランザクションの送信先に設定されることになる。図９（ｂ）は、３２ビットの場合のＩＤルーティングにおけるヘッダ構造を示している。Ｂｙｔｅ８のバス番号、デバイス番号及びファンクション番号がトランザクションの送信先を決定するために使用され、システム内で対応する番号を割り当てたデバイスがトランザクションの送信先に設定されることになる。
【００１１】
こうしたヘッダ構造に基づいてトランザクションはルーティングされるが、図６に示すようにNTポートを介して別のホストシステムを接続した場合、分離したシステム領域間で使用しているアドレス空間が異なる場合がある。また、分離したシステム領域間では、バス番号、デバイス番号及びファンクション番号に同じ値が使用される場合がある。そのため、一方から他方のシステム領域へトランザクション送信を行う場合、例えば、図８（ｂ）に示すメモリライトリクエストの処理では、リクエストパケットがNTブリッジを通過する際にアドレス変換が行われ、他方のシステム領域で使用しているアドレス空間にアクセスすることが可能となる。一方、図８（ａ）に示すメモリリードリクエストの場合、送信先のデバイスまではアドレスでルーティングされるため、アドレス変換によりアクセス可能である。しかしながら、コンプリーションの返信処理では、ＩＤルーティングで行われるため、各ホストシステムで使用しているバス番号、デバイス番号及びファンクション番号に同じ値が使用されている場合、別のシステム領域内で誤ったルーティングが行われてしまう。
【発明の概要】
【発明が解決しようとする課題】
【００１２】
そこで、本発明は、複数のホストがそれぞれデバイスを管理する管理領域を分離するとともに分離した管理領域の間でデバイスを識別して確実に通信することができるデータ処理装置を提供することを目的とするものである。
【課題を解決するための手段】
【００１３】
本発明に係るデータ処理装置は、複数のホストがそれぞれ接続するデバイスを管理する管理領域を分離するとともに各管理領域に接続してホスト間の通信を行うデータ処理装置であって、各管理領域の前記デバイスを識別するＩＤデータを管理情報として保存するＩＤ管理テーブルと、一方の前記管理領域から送信された送信情報のＩＤデータを前記管理情報に基づいて変換して他方の前記管理領域に当該送信情報を送信する送信ＩＤ処理部と、他方の前記管理領域から前記送信情報に対して返信された返信情報のＩＤデータを前記管理情報に基づいて元のＩＤデータに変換して一方の前記管理領域に返信する返信ＩＤ処理部とを備えている。
【発明の効果】
【００１４】
本発明は、上記の構成を有することで、複数のホストがそれぞれデバイスを管理する管理領域を分離するとともに分離した管理領域の間でデバイスを識別して確実に通信することができる。そのため、例えば、ＩＤルーティングによるメモリリードリクエストの返信処理を分離した領域の間で実現することが可能となる。
【図面の簡単な説明】
【００１５】
【図１】本発明に係る実施形態を備えたホストシステム構成図である。
【図２】データ処理装置に関するブロック構成図である。
【図３】ＩＤ管理テーブルに保存されるＩＤデータに関する説明図である。
【図４】メモリリードリクエストの処理に関する説明図である。
【図５】データ処理装置におけるＩＤ変換処理に関する説明図である。
【図６】２つのホストの間でPCI Expressを用いて通信するシステム構成例である。
【図７】PCIeスイッチの論理的な内部構造に関するブロック構成図である。
【図８】PCI Expressのデバイスツリー構造におけるメモリトランザクションの流れに関する説明図である。
【図９】アドレスルーティング及びＩＤルーティングのヘッダ構造に関する説明図である。
【発明を実施するための形態】
【００１６】
以下、本発明の実施形態について図面を用いて説明する。図１は、本発明に係る実施形態を備えたホストシステム構成図である。この例では、２つのホストＨ１及びホストＨ２の間でPCI Expressを用いて通信するようにシステム構成されている。ホストＨ１は、ＣＰＵ１１を備えており、ＣＰＵ１１には１つのルートコンプレックス１２が接続されている。ルートコンプレックス１２には、メモリ１３、接続されるデバイスであるエンドポイント１４及びPCI Express対応スイッチ（以下「PCIeスイッチ」と略称する）１５が接続されている。PCIeスイッチ１５には、エンドポイント１６及びデータ処理装置１が接続されており、データ処理装置１にはエンドポイント１７が接続されている。ホストＨ２は、ＣＰＵ２１を備えており、ＣＰＵ２１には１つのルートコンプレックス２２が接続されている。ルートコンプレックス２２には、メモリ２３、エンドポイント２４及びPCIeスイッチ２５が接続されている。PCIeスイッチ２５には、エンドポイント２６が接続されている。
【００１７】
データ処理装置１は、NTポートを備えており、PCIeスイッチ２５とNTポートで接続されている。そのため、ホストＨ１が接続されたデバイスを管理する管理領域Ｒ１とホストＨ２が接続されたデバイスを管理する管理領域Ｒ２とは、データ処理装置１により分離された状態に設定される。そして、データ処理装置１を介してホストＨ１及びホストＨ２の一方が他方の管理領域内のデバイスとの間で通信可能となっている。
【００１８】
図２は、データ処理装置１に関するブロック構成図である。データ処理装置１は、アップストリームポート２、ダウンストリームポート３及びNTポート４を備えている。システムの上流側に対応するアップストリームポート２には、PCIeスイッチ１５が接続されており、システムの下流側に対応するダウンストリームポート３には、エンドポイント１７が接続されている。そして、NTポート４は、ホストＨ２側のPCIeスイッチ２５に接続されている。
【００１９】
データ処理装置１は、複数のポート２、３及び４を結合し、ポート間でパケットルーティングを行う。論理的には、２つの仮想PCI-PCIブリッジ５及び６と仮想PCIバス７を接続して構成される。
【００２０】
NTポート４には、内部側であるホストＨ１側と外部側であるホストＨ２側との間でトランザクションを転送する転送部８が設けられており、転送部８は、内部側のホストＨ１に対して仮想的なエンドポイントが存在するようにみせる内部側インターフェース部８１、外部側のホストＨ２に対して仮想的なエンドポイントが存在するようにみせる外部側インターフェース部８３、及び、内部側インターフェース部８１と外部側インターフェース部８３との間をトランザクションを転送する際にアドレス変換を行う転送処理部８２を備えている。ここでは、内部側インターフェース部８１がホストＨ１により認識される仮想的なエンドポイントをNTエンドポイントＰ１０１とし、外部側インターフェース部８３がホストＨ２により認識される仮想的なエンドポイントをNTエンドポイントＰ１０３とする。また、転送処理部８２は、図７に示すNTブリッジ３０７を同様の機能を備えている。
【００２１】
また、内部側インターフェース部８１及び外部側インターフェース部８３には、送信又は返信されるデバイスを識別するＩＤを変換処理するＩＤ変換部９を備えている。ＩＤ変換部９には、ＩＤルーティングのために必要となるリクエストのＩＤデータを管理情報としてＩＤ管理テーブル１０に保存する登録処理部９１、送信されたＩＤデータを変換処理する送信ＩＤ処理部９２、及び、返信されたＩＤデータを変換処理する返信ＩＤ処理部９３を備えている。
【００２２】
PCI Expressでは、システムの電源をオンにしたとき、ホストはシステムのデバイスツリー構造を把握するために、システム内に接続されている各デバイスのコンフィグレーションを実施する。このとき、ルートコンプレックスから送信されるコンフィグレーションリードリクエストのTLPヘッダには、パケット送信元のリクエスタＩＤ（バス番号／デバイス番号／ファンクション番号）が格納されている。データ処理装置１は、NTエンドポイントＰ１０１及びNTエンドポイントＰ１０３としてコンフィグレーションリードリクエストを受信したときに、リクエスト内に含まれる送信元のリクエスタＩＤをＩＤ管理テーブルに格納する。
【００２３】
図３は、ＩＤ管理テーブル１０に保存されるＩＤデータに関する説明図である。ＩＤ管理テーブル１０には、コンフィグレーションリードリクエストに含まれるＩＤデータが格納され、コンフィグレーションリードリクエストが入力されたNTエンドポイント別に分類して識別番号を付与する。そのため、ＩＤ管理テーブル１０には、ＩＤデータとともに関連するNTエンドポイント及び識別番号が管理情報として保存される。
【００２４】
図３に示す例では、ルートコンプレックス１２から送信されたコンフィグレーションリードリクエストをNTエンドポイントＰ１０１で受信することによって取得したリクエスタＩＤが０／１／０（バス番号／デバイス番号／ファンクション番号）であり、取得したリクエスタＩＤにＥｎｔｒｙ  Ｎｏ．０の識別番号を割り当てて保存する。こうして、ホストＨ１の管理領域内のパケット送信元のリクエスタＩＤがすべて個別の識別番号を付与されてNTエンドポイントＰ１０１に関連付けられて保存されるようになる。また、ルートコンプレックス２２から送信されたコンフィグレーションリードリクエストをNTエンドポイントＰ１０３で受信することによって取得したリクエスタＩＤが０／２／０であり、取得したリクエスタＩＤにＥｎｔｒｙ  Ｎｏ．１の識別番号を割り当てて保存する。ホストＨ２の管理領域内のパケット送信元のリクエスタＩＤについてもすべて個別の識別番号を付与されてNTエンドポイントＰ１０３に関連付けられて保存されるようになる。
【００２５】
図４は、メモリリードリクエストの処理に関する説明図である。この例は、ホストＨ１からホストＨ２のエンドポイント２４に対してメモリリードリクエストを送信した場合のシーケンスを示している。
【００２６】
処理（１）では、ホストＨ１の電源がオンになってコンフィグレーションが実施される。コンフィグレーションによってデータ処理装置１にコンフィグレーションリードリクエストが転送され、データ処理装置１は、コンフィグレーションリードリクエストのリクエスタＩＤを取得してＩＤ管理テーブルに格納する。処理（２）では、ホストＨ２の電源がオンになってコンフィグレーションが実行される。コンフィグレーションによってデータ処理装置１にコンフィグレーションリードリクエストが転送され、データ処理装置１は、コンフィグレーションリードリクエストのリクエスタＩＤを取得してＩＤ管理テーブルに格納する。
【００２７】
処理（３）では、コンフィグレーション終了後、任意のタイミングでＣＰＵ１１がホストＨ２のエンドポイント２４に対するメモリリードをルートコンプレックス１２に指示する。処理（４）では、ＣＰＵ１１の指示に基づいてルートコンプレックス１２からメモリリードリクエストが送信され、メモリリードリクエストがデータ処理装置１に送信される。処理（５）では、データ処理装置１は、ホストＨ２のアドレス空間にアクセスするためのアドレス変換処理及びホストＨ２のエンドポイント２４から返信されるコンプリーションをルーティングするためのリクエスタＩＤ変換処理が実行される。処理（６）では、アドレス変換処理及びリクエスタＩＤ変換処理を終了した後ホストＨ２にメモリリードリクエストを送信する。アドレス変換処理によりホストＨ２側におけるデバイスのアドレスに変換されているため、エンドポイント２４にルーティングされるようになる。
【００２８】
処理（７）では、エンドポイント２４においてメモリリードリクエストを受信した後、対象のアドレスに格納されているデータをコンプリーションとしてエンドポイント２４から返信する。コンプリーションのヘッダには、処理（５）において変換したリクエスタＩＤが格納されており、変換されたリクエスタＩＤに基づいてデータ処理装置１へルーティングされるようになる。処理（８）では、データ処理装置１は、受信したコンプリーションのヘッダに格納されている処理（５）において変換したリクエスタＩＤに基づいて、ホストＨ１側で使用している元のリクエスタＩＤに戻すように変換処理する。処理（９）では、変換した元のリクエスタＩＤに基づいてルーティング処理が行われ、ルートコンプレックス１２にコンプリーションが返信される。
【００２９】
図５は、データ処理装置１におけるＩＤ変換処理に関する説明図である。この例では、ホストＨ１及びホストＨ２の電源をオンにして各ホストがコンフィグレーション処理を実行した場合における、NTエンドポイントＰ１０１及びNTエンドポイントＰ１０３に割り当てられたリクエスタＩＤ（バス番号／デバイス番号／ファンクション番号）がそれぞれ２／０／１及び３／０／１に設定されており、ＩＤ管理テーブルに保存されている。なお、ホストＨ１及びホストＨ２の管理領域内のパケット送信元に関するすべてのリクエスタＩＤは、図３に示すように、ＩＤ管理テーブルに識別番号を付与されて格納されている。そして、ホストＨ１からルートコンプレックス１２を介して送信されたホストＨ２側のエンドポイント２４に対するメモリリードリクエストのリクエスタＩＤは、０／１／０としている。
【００３０】
処理（１１）では、ホストＨ１からルートコンプレックス１２を介して送信されたメモリリードリクエストをデータ処理装置１が受信する。そして、処理（１２）では、受信したメモリリードリクエストのリクエスタＩＤ（０／１／０）がＩＤ管理テーブルに保存されたリクエスタＩＤと比較される。リクエスタＩＤが一致する場合には、保存されたリクエスタＩＤに付与された識別番号（Ｅｎｔｒｙ  Ｎｏ．ｎ）をリクエスタＩＤのファンクション番号として書き込む。そのため、リクエスタＩＤ（０／１／０）は、リクエスタＩＤ（０／１／Ｅｎｔｒｙ  Ｎｏ．ｎ）に変換処理されるようになる。処理（１２）と同時にアドレス変換処理も行われて、メモリリードリクエストの送信先アドレスがホストＨ２側のエンドポイント２４のアドレスに変換される。
【００３１】
処理（１３）では、識別番号に基づいて変換処理されたリクエスタＩＤ（０／１／Ｅｎｔｒｙ  Ｎｏ．ｎ）に対して、NTエンドポイントＰ１０３のバス番号及びデバイス番号を書き込む。そのため、リクエスタＩＤ（０／１／Ｅｎｔｒｙ  Ｎｏ．ｎ）は、リクエスタＩＤ（３／０／Ｅｎｔｒｙ  Ｎｏ．ｎ）に変換処理される。そして、処理（１４）では、変換処理されたリクエスタＩＤを含むメモリリードリクエストがNTエンドポイントＰ１０３からホストＨ２側に送信されて、処理（１２）で変換処理されたアドレスに応じてエンドポイント２４にルーティングされる。
【００３２】
処理（１５）では、エンドポイント２４は、メモリリードリクエストを受信した後にコンプリーションを返信する。コンプリーションは、処理（１３）で変換処理されたリクエスタＩＤ（３／０／Ｅｎｔｒｙ  Ｎｏ．ｎ）に書き込まれたバス番号及びデバイス番号（３／０）に基づいてNTエンドポイントＰ１０３にルーティングされ、データ処理装置１は、コンプリーションを受信する。処理（１６）では、受信したコンプリーションのリクエスタＩＤ（３／０／Ｅｎｔｒｙ  Ｎｏ．ｎ）のファンクション番号として書き込まれている識別番号（Ｅｎｔｒｙ  Ｎｏ．ｎ）とＩＤ管理テーブルに保存されている識別番号とを比較する。識別番号が一致する場合には、その識別番号に対応するリクエスタＩＤをコンプリーションのリクエスタＩＤとして書き込む。そのため、リクエスタＩＤ（３／０／Ｅｎｔｒｙ  Ｎｏ．ｎ）は、元のリクエスタＩＤ（０／１／０）に変換処理される。処理（１７）では、コンプリーションは、変換処理されたリクエスタＩＤに基づいてNTエンドポイントＰ１０１からルーティングされて、ルートコンプレックス１２を介してメモリリードリクエストの発信元に返信される。
【００３３】
以上説明したように、データ処理装置１のNTポートにより分離されたホストＨ１及びホストＨ２の管理領域の間でホスト間通信を行う場合、データ処理装置１において、各ホストの管理領域から送信されるリクエストのＩＤデータをＩＤ管理テーブルに保存しておく。そして、データ処理装置１で受信したトランザクションのＩＤデータを、ＩＤ管理テーブルを参照して各ホストの管理領域で使用可能なＩＤデータに変換し、ＩＤルーティングが確実に行えるようにしている。そのため、複数のホスト間の通信において確実に通信処理を行うことができる。
【符号の説明】
【００３４】
Ｒ１、Ｒ２・・・管理領域、１・・・データ処理装置、２・・・アップストリームポート、３・・・ダウンストリームポート、４・・・NTポート、８・・・転送部、９・・・ＩＤ変換部、１０・・・ＩＤ管理テーブル、８１・・・内部側インターフェース部、８２・・・転送処理部、８３・・・外部側インターフェース部、９１・・・登録処理部、９２・・・送信ＩＤ処理部、９３・・・返信ＩＤ処理部。
【先行技術文献】
【特許文献】
【００３５】
【特許文献１】特開２００８−０６７２４２号公報
【図１】
2013196593.tif 000003
【図２】
2013196593.tif 000004
【図３】
2013196593.tif 000005
【図４】
2013196593.tif 000006
【図５】
2013196593.tif 000007
【図６】
2013196593.tif 000008
【図７】
2013196593.tif 000009
【図８】
2013196593.tif 000010
【図９】
2013196593.tif 000011