(57)【特許請求の範囲】
【請求項１】
主記憶装置に対する処理を行うメモリコントローラと周辺機器との間で命令の伝達を行うＩ／Ｏブリッジ装置であって、
前記周辺機器から前記メモリコントローラに対する命令であって応答を必要としない命令を示す命令信号を受信する命令受信部と、
前記命令受信部が受信した命令信号を、前記命令信号が示す命令と前記命令受信部が受信した命令信号を特定する識別情報とを含む命令パケットに変換する変換部と、
前記変換部が変換した命令パケットを前記メモリコントローラに送信する命令送信部と、
前記命令送信部が送信した命令パケットに含まれる識別情報を含む、前記命令送信部が送信した命令パケットに対する応答パケットを前記メモリコントローラから受信する応答受信部と、
前記応答受信部が受信した応答パケットに含まれる識別情報が示す命令信号の送信元の周辺機器に、前記応答受信部が受信した応答パケットの内容を内蔵メモリに書き込む命令を示す書込命令信号を送信する書込命令送信部と
を備えることを特徴とするＩ／Ｏブリッジ装置。
【請求項２】
前記命令受信部が受信した命令信号を特定する識別情報と前記命令受信部が受信した命令信号の送信元の周辺機器を示す送信元情報とを関連付けて記憶部に記録する記録部と、  前記応答受信部が受信した応答パケットに含まれる識別情報に関連付けられた送信元情報を前記記憶部から読み出す送信元情報読出部と
を備え、
前記書込命令送信部は、前記送信元情報読出部が読み出した送信元情報が示す周辺機器に、前記書込命令信号を送信する
ことを特徴とする請求項１に記載のＩ／Ｏブリッジ装置。
【請求項３】
自装置の内部エラーを検出する内部エラー検出部を備え、
前記内部エラー検出部が自装置の内部にエラーがあると判定した場合、
前記送信元情報読出部は、前記記憶部が記憶する送信元情報を読み出し、
前記書込命令送信部は、自装置内部に障害が発生していることを示す情報を内蔵メモリに書き込むメモリ書込命令を、前記送信元情報読出部が読み出した送信元情報が示す周辺機器に送信する
ことを特徴とする請求項２に記載のＩ／Ｏブリッジ装置。
【請求項４】
前記命令異常判定部が前記命令パケットに異常があると判定した場合に、自装置内部に障害が発生していることを外部に通知する障害通知部
を備えることを特徴とする請求項３に記載のＩ／Ｏブリッジ装置。
【請求項５】
前記命令受信部が受信した命令信号に、当該命令信号にエラーがあることを示すエラー情報が付加されている場合、
前記書込命令送信部は、自装置に到達する前に命令信号にエラーが発生していることを示す情報を内蔵メモリに書き込むメモリ書込命令を、前記命令信号の送信元の周辺機器に送信する
ことを特徴とする請求項１から請求項４の何れか１項に記載のＩ／Ｏブリッジ装置。
【請求項６】
主記憶装置に対する処理を行うメモリコントローラと周辺機器との間で命令の伝達を行うＩ／Ｏブリッジ装置を用いた応答通知方法であって、
命令受信部は、前記周辺機器から前記メモリコントローラに対する命令であって応答を必要としない命令を示す命令信号を受信し、
変換部は、前記命令受信部が受信した命令信号を、前記命令信号が示す命令と前記命令受信部が受信した命令信号を特定する識別情報とを含む命令パケットに変換し、
命令送信部は、前記変換部が変換した命令パケットを前記メモリコントローラに送信し、
応答受信部は、前記命令送信部が送信した命令パケットに含まれる識別情報を含む、前記命令送信部が送信した命令パケットに対する応答パケットを前記メモリコントローラから受信し、
書込命令送信部は、前記応答受信部が受信した応答パケットに含まれる識別情報が示す命令信号の送信元の周辺機器に、前記応答受信部が受信した応答パケットの内容を内蔵メモリに書き込む命令を示す書込命令信号を送信する
ことを特徴とする応答通知方法。
【請求項７】
主記憶装置に対する処理を行うメモリコントローラと周辺機器との間で命令の伝達を行うＩ／Ｏブリッジ装置を、
前記周辺機器から前記メモリコントローラに対する命令であって応答を必要としない命令を示す命令信号を受信する命令受信部、
前記命令受信部が受信した命令信号を、前記命令信号が示す命令と前記命令受信部が受信した命令信号を特定する識別情報とを含む命令パケットに変換する変換部、
前記変換部が変換した命令パケットを前記メモリコントローラに送信する命令送信部、  前記命令送信部が送信した命令パケットに含まれる識別情報を含む、前記命令送信部が送信した命令パケットに対する応答パケットを前記メモリコントローラから受信する応答受信部、
前記応答受信部が受信した応答パケットに含まれる識別情報が示す命令信号の送信元の周辺機器に、前記応答受信部が受信した応答パケットの内容を内蔵メモリに書き込む命令を示す書込命令信号を送信する書込命令送信部
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、主記憶装置に対する処理を行うメモリコントローラと周辺機器との間で命令の伝達を行うＩ／Ｏブリッジ装置、応答通知方法、及びプログラムに関する。
【背景技術】
【０００２】
近年、高速シリアルインタフェース技術としてＰＣＩ  Ｅｘｐｒｅｓｓ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ  Ｅｘｐｒｅｓｓ：以降『ＰＣＩｅ』と称す）の利用が拡大している。ＰＣＩｅは、２．５Ｇｂｐｓのシリアル信号伝送、ｐｏｉｎｔ−ｔｏ−ｐｏｉｎｔのバス構造を持たず分岐しない信号接続経路、プロトコルを使用したデータ通信、ソフトウェアとＰＣＩ互換性などを特徴とする規格であり、ＰＣＩに続くインタフェース規格と位置付けられている。
【０００３】
ＰＣＩｅは、通常の通信機能だけでなく、エラー処理に関しても、ＰＣＩを拡張した機能を有する。ＰＣＩでは、エラーをパリティ・エラーとシステムエラーの２種類に分類していた。これ対し、ＰＣＩｅでは、エラーを「回復可能なエラー」、「重大で回復不可能なエラー」、「重大では無いが回復不可能なエラー」の３種類に分類している。これらのエラー種別は、規定されたエラーメッセージによりルートコンプレックス（Ｉ／Ｏブリッジ装置）に通知される。ルートコンプレックスとは、１つまたは複数のＰＣＩｅポートを有し、ＰＣＩｅ規格の周辺機器とＣＰＵやメモリ（主記憶装置）との通信を中継する装置である。
【０００４】
また、ＰＣＩｅの基本的なエラー処理機能のみを用いた場合、取得しうる情報はエラーの種類に止まるが、拡張エラー通知『Ａｄｖａｎｃｅｄ  Ｅｒｒｏｒ  Ｒｅｐｏｒｔｉｎｇ』を用いることで、エラーが発生したときに発生原因など、詳細な情報を記録し、詳細なエラー解析を行うことができる。
このようにＰＣＩｅのエラー処理は、ＰＣＩと比較して拡張されている。
【０００５】
また、ＰＣＩｅで取り扱うトランザクションの種類として、「ポステッド・トランザクション（ｐｏｓｔｅｄ  ｔｒａｎｓａｃｔｉｏｎ）」、「ノンポステッド・トランザクション（ｎｏｎ−ｐｏｓｔｅｄ  ｔｒａｎｓａｃｔｉｏｎ）」、「コンプリーション・トランザクション（ｃｏｍｐｌｅｔｉｏｎ  ｔｒａｎｓａｃｔｉｏｎ）」の３種類が規定されている。ポステッド・トランザクションとは、メモリ・ライト・トランザクションなどの応答を必要としないトランザクションである。ノンポステッド・トランザクションとは、メモリ・リード・トランザクションなどの応答を必要とするトランザクションである。コンプリーション・トランザクションとは、ノンポステッド・トランザクションに対する応答のトランザクションである。
なお、本明細書において、「トランザクション」という文言は、ＰＣＩｅ規格の周辺機器とルートコンプレックスとの間の通信に用いるデータを送信する単位（ＰＤＵ：Ｐｒｏｔｏｃｏｌ  Ｄａｔａ  Ｕｎｉｔ）のことを示すものとする。
【０００６】
ところで、特許文献１には、ルートコンプレックスが障害により停止した場合にも、運用を継続する方法が開示されている。
特許文献１によれば、周辺機器またはＣＰＵがルートコンプレックスにノンポステッド・トランザクションを送信し、その応答であるコンプリーション・トランザクションが周辺機器またはＣＰＵに到達する前にＩ／Ｏブリッジ装置が停止した場合に、ルートコンプレックスに備えられたエラーリプライ生成回路がルートコンプレックスに代わってエラーリプライを示すノンポステッド・トランザクションを送信する。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００５−２０８９７２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
上述したように、ルートコンプレックスは、ＰＣＩｅのエラー処理機能により、エラーの発生を知ることができ、このタイミングで発生原因などの細かな情報を取得することができる。しかし、ＣＰＵや周辺機器が送信したトランザクションがポステッド・トランザクションである場合、トランザクションの送信元の装置は、エラーの通知を受けることができない。
つまり、周辺機器がメモリ・ライト・トランザクション等のポステッド・トランザクションを発行し、そのトランザクション処理でエラーが発生したとしても、その周辺機器はエラーの発生を知ることができず、動作を継続してしまうこととなる。
【０００９】
たとえ、エラー通知を受けたルートコンプレックスが、障害情報を取得・解析し、対象となる周辺機器にエラーの発生を伝えたとしても、エラーが発生した時刻からのタイムラグが発生することとなる。そのため、周辺機器はやはりエラーとなったトランザクションに対する障害処理として処理することが出来ない。
上記の様なＰＣＩｅのエラー処理の課題があるが、通常、ＰＣＩｅデバイスからのメモリへのデータ書込み等の処理は、パフォーマンスを優先させる為にポステッド・トランザクションにより行われる。そのため、周辺機器は、処理結果の応答を受信することはなく、トランザクションの発行元はそのトランザクションの処理状態を知ることができない。
【００１０】
このため、ＰＣＩｅデバイスが発行したメモリ・ライト・トランザクションの処理にてエラーが発生した場合、「重大で回復不可能なエラー」として処理され、システムダウン等の重大な障害を引き起してしまう惧れがある。
パーソナルコンピュータ等の比較的小規模なコンピュータシステムならば、このようなエラー処理でも問題にならないかもしれないが、可能な限り運用を継続することが望まれる大規模なコンピュータシステム（メインフレームや大型サーバ等で常時運用するシステムなど）では、システムの運用停止は致命的であり、避けなければならない。
【００１１】
また、特許文献１に開示された方法を用いたとしても、ノンポステッド・トランザクションに対する応答は得られても、ポステッド・トランザクションに対する応答を得ることはできない。
【課題を解決するための手段】
【００１２】
本発明は上記の課題を解決するためになされたものであり、主記憶装置に対する処理を行うメモリコントローラと周辺機器との間で命令の伝達を行うＩ／Ｏブリッジ装置であって、前記周辺機器から前記メモリコントローラに対する命令であって応答を必要としない命令を示す命令信号を受信する命令受信部と、前記命令受信部が受信した命令信号を、前記命令信号が示す命令と前記命令受信部が受信した命令信号を特定する識別情報とを含む命令パケットに変換する変換部と、前記変換部が変換した命令パケットを前記メモリコントローラに送信する命令送信部と、前記命令送信部が送信した命令パケットに含まれる識別情報を含む、前記命令送信部が送信した命令パケットに対する応答パケットを前記メモリコントローラから受信する応答受信部と、前記応答受信部が受信した応答パケットに含まれる識別情報が示す命令信号の送信元の周辺機器に、前記応答受信部が受信した応答パケットの内容を内蔵メモリに書き込む命令を示す書込命令信号を送信する書込命令送信部とを備えることを特徴とする。
【００１３】
また、本発明は、主記憶装置に対する処理を行うメモリコントローラと周辺機器との間で命令の伝達を行うＩ／Ｏブリッジ装置を用いた応答通知方法であって、命令受信部は、前記周辺機器から前記メモリコントローラに対する命令であって応答を必要としない命令を示す命令信号を受信し、変換部は、前記命令受信部が受信した命令信号を、前記命令信号が示す命令と前記命令受信部が受信した命令信号を特定する識別情報とを含む命令パケットに変換し、命令送信部は、前記変換部が変換した命令パケットを前記メモリコントローラに送信し、応答受信部は、前記命令送信部が送信した命令パケットに含まれる識別情報を含む、前記命令送信部が送信した命令パケットに対する応答パケットを前記メモリコントローラから受信し、書込命令送信部は、前記応答受信部が受信した応答パケットに含まれる識別情報が示す命令信号の送信元の周辺機器に、前記応答受信部が受信した応答パケットの内容を内蔵メモリに書き込む命令を示す書込命令信号を送信することを特徴とする。
【００１４】
また、本発明は、主記憶装置に対する処理を行うメモリコントローラと周辺機器との間で命令の伝達を行うＩ／Ｏブリッジ装置を、前記周辺機器から前記メモリコントローラに対する命令であって応答を必要としない命令を示す命令信号を受信する命令受信部、前記命令受信部が受信した命令信号を、前記命令信号が示す命令と前記命令受信部が受信した命令信号を特定する識別情報とを含む命令パケットに変換する変換部、前記変換部が変換した命令パケットを前記メモリコントローラに送信する命令送信部、前記命令送信部が送信した命令パケットに含まれる識別情報を含む、前記命令送信部が送信した命令パケットに対する応答パケットを前記メモリコントローラから受信する応答受信部、前記応答受信部が受信した応答パケットに含まれる識別情報が示す命令信号の送信元の周辺機器に、前記応答受信部が受信した応答パケットの内容を内蔵メモリに書き込む命令を示す書込命令信号を送信する書込命令送信部として機能させるためのプログラムである。
【発明の効果】
【００１５】
本発明によれば、Ｉ／Ｏブリッジ装置は、メモリコントローラから応答パケットを受信すると、当該応答パケットの内容を、命令信号の送信元の周辺機器の内蔵メモリに書き込む。これにより、周辺機器は、内蔵メモリに書き込まれた情報を参照することでエラーの内容を取得することができる。
【図面の簡単な説明】
【００１６】
【図１】本発明の第１の実施形態によるＩ／Ｏブリッジ装置を備えるコンピュータシステムの構成を示す概略ブロック図である。
【図２】本発明の第１の実施形態によるＩ／Ｏブリッジ装置の構成を示す概略ブロック図である。
【図３】メモリライト処理が正常に行われた場合の動作を示すフローチャートである。
【図４】メモリコントローラからの応答パケットがエラーを示していた場合の動作を示すフローチャートである。
【図５】Ｉ／Ｏブリッジ装置の内部に障害が発生した場合の動作を示すフローチャートである。
【図６】メモリ・ライト・トランザクションがＩ／Ｏブリッジ装置に到達する前にエラーを検出していた場合の動作を示すフローチャートである。
【図７】本発明の第２の実施形態によるＩ／Ｏブリッジ装置の構成を示す概略ブロック図である。
【図８】メモリ・ライト・トランザクションのフォーマットを示す図である。
【図９】特種フラグ及び特種エントリとリプライ方法との関係を示す表である。
【発明を実施するための形態】
【００１７】
以下、図面を参照しながら本発明の実施形態について詳しく説明する。
《第１の実施形態》
図１は、本発明の第１の実施形態によるＩ／Ｏブリッジ装置１００を備えるコンピュータシステムの構成を示す概略ブロック図である。
コンピュータシステムは、ＣＰＵ３００、メモリ４００（主記憶装置）、メモリコントローラ２００、Ｉ／Ｏブリッジ装置１００、ＰＣＩｅスイッチ装置５００、及び複数のＰＣＩｅデバイス６００（周辺機器）を備える。
メモリコントローラ２００は、ＣＰＵ３００、メモリ４００、Ｉ／Ｏブリッジ装置１００に接続される。また、メモリコントローラ２００は、ＣＰＵ３００及びメモリ４００とＩ／Ｏブリッジ装置１００との通信を中継する。
Ｉ／Ｏブリッジ装置１００は、ＰＣＩｅスイッチ装置５００とＰＣＩｅスイッチ装置５００に接続される。また、Ｉ／Ｏブリッジ装置１００は、ルートコンプレックスであり、ＰＣＩｅスイッチ装置５００とＰＣＩｅデバイス６００との通信を中継する。
ＰＣＩｅスイッチ装置５００は、複数のＰＣＩｅデバイス６００とＩ／Ｏブリッジ装置１００とに接続される。また、ＰＣＩｅスイッチ装置５００は、ＰＣＩｅデバイス６００とＩ／Ｏブリッジ装置１００との通信を中継する。
ＰＣＩｅデバイス６００は、ＰＣＩｅスイッチ装置５００を介してＩ／Ｏブリッジ装置１００に、ＣＰＵ３００やメモリ４００に対するトランザクションを送信する。また、ＰＣＩｅデバイス６００は、エラー情報を格納するための内蔵メモリ６０１を有する。
【００１８】
図２は、本発明の第１の実施形態によるＩ／Ｏブリッジ装置１００の構成を示す概略ブロック図である。
Ｉ／Ｏブリッジ装置１００は、ＰＣＩｅインタフェース制御部１１０（命令受信部、書込命令送信部）、受信バッファ制御部１２０、送信バッファ制御部１３０、トランザクション制御部１４０（変換部）、Ｉｎｂｏｕｎｄ制御部１５０、Ｏｕｔｂｏｕｎｄ制御部１６０、メモリコントローラインタフェース制御部１７０（命令送信部、応答受信部）、診断制御部１８０（内部エラー検出部、障害通知部）、リプライ制御部１９０（記録部、送信元情報読出部）を備える。
【００１９】
ＰＣＩｅインタフェース制御部１１０は、接続されたＰＣＩｅスイッチ装置５００とのトランザクション（命令信号）の送受信処理を行う。また、ＰＣＩｅインタフェース制御部１１０は、ＰＣＩｅスイッチ装置５００から受信したトランザクションを受信バッファ制御部１２０に出力する。また、ＰＣＩｅインタフェース制御部１１０は、送信バッファ制御部１３０から入力したトランザクションをＰＣＩｅスイッチ装置５００に送信する。
【００２０】
受信バッファ制御部１２０は、ＰＣＩｅインタフェース部１１０から入力したトランザクションを格納するための受信バッファを複数備え、ＰＣＩｅインタフェース制御部１１０から入力したトランザクションを、空いている受信バッファに格納する。また、受信バッファ制御部１２０は、ＰＣＩｅインタフェース制御部１１０から入力したトランザクションのヘッダと、当該トランザクションを格納した受信バッファの識別情報であるバッファ番号をリプライ制御部１９０に出力する。つまり、当該バッファ番号を参照することで、トランザクションを特定することができる。
【００２１】
送信バッファ制御部１３０は、トランザクション制御部１４０から入力したトランザクションを格納するための送信バッファを複数備え、トランザクション制御部１４０から入力したトランザクションをリプライ制御部１９０から指定されたバッファ番号の送信バッファに格納する。また、送信バッファ制御部１３０は、送信バッファに格納したトランザクションをＰＣＩｅインタフェース制御部１１０に送信する。
【００２２】
トランザクション制御部１４０は、受信バッファ制御部１２０の受信バッファに格納されたトランザクションを取り出し、当該トランザクションが示す処理内容（命令）とユニークなＩＤとを含む命令パケットに変換する。ここで、「取り出す」とは、バッファから情報を読み出し、当該情報をバッファから削除する処理のことである。また、トランザクション制御部１４０は、取り出したトランザクションが格納されていた受信バッファのバッファ番号と、変換した命令パケットのＩＤとを関連付けて内部メモリに記録する。
また、トランザクション制御部１４０は、変換した命令パケットをＩｎｂｏｕｎｄ制御部１５０に出力し、当該命令パケットに対する応答パケットをＯｕｔｂｏｕｎｄ制御部１６０から入力する。また、トランザクション制御部１４０は、Ｏｕｔｂｏｕｎｄ制御部１６０から受け取った応答パケットのＩＤに関連付けられたバッファ番号を内部メモリから読み出し、当該バッファ番号と応答パケットを共にリプライ制御部１９０に出力する。
【００２３】
Ｉｎｂｏｕｎｄ制御部１５０は、メモリコントローラ２００に送信するパケットを格納するためのバッファを備え、トランザクション制御部１４０から入力した命令パケットをバッファに格納する。また、Ｉｎｂｏｕｎｄ制御部１５０は、バッファに格納した命令パケットをメモリコントローラインタフェース制御部１７０に出力する。
Ｏｕｔｂｏｕｎｄ制御部１６０は、メモリコントローラ２００から受信したパケットを格納するためのバッファを備え、メモリコントローラインタフェース制御部１７０から受け取った応答パケットをバッファに格納する。また、Ｏｕｔｂｏｕｎｄ制御部１６０は、バッファに格納した応答パケットをトランザクション制御部１４０に出力する機能を有する。
メモリコントローラインタフェース制御部１７０は、Ｉｎｂｏｕｎｄ制御部１５０から入力した命令パケットをメモリコントローラ２００へ送信する。また、メモリコントローラ２００から応答パケットを受信し、受信した応答パケットをＯｕｔｂｏｕｎｄ制御部１６０に出力する。
【００２４】
診断制御部１８０は、他の処理部から障害が発生したことを通知された場合に、障害インジケータ１８１を点灯させ、自装置内部に障害が発生したことを外部に通知する。また、診断制御部１８０は、他の処理部から障害が発生したことを通知された場合に障害の発生をＰＣＩｅインタフェース制御部１１０、受信バッファ制御部１２０、送信バッファ制御部１３０、トランザクション制御部１４０、Ｉｎｂｏｕｎｄ制御部１５０、Ｏｕｔｂｏｕｎｄ制御部１６０、メモリコントローラインタフェース制御部１７０、リプライ制御部１９０それぞれに通知する。
【００２５】
リプライ制御部１９０は、トランザクションのヘッダと当該トランザクションを格納していた受信バッファのバッファ番号を関連付けて記憶する記憶部１９１を備え、受信バッファ制御部１２０から入力したトランザクションのヘッダ及びバッファ番号を当該記憶部１９１に記録する。また、リプライ制御部１９０は、トランザクション制御部１４０から応答パケットに含まれるＩＤに関連付けられたバッファ番号を入力し、当該バッファ番号に関連付けられたトランザクションのヘッダを読み出す。また、リプライ制御部１９０は、トランザクション制御部１４０から応答パケットを入力し、当該応答パケットを元にＰＣＩｅデバイス６００への応答となるトランザクションを生成し、当該トランザクションをバッファ番号と共に送信バッファ制御部１３０に出力する。なお、応答となるトランザクションとは、応答パケットの内容をＰＣＩｅデバイス６００の内蔵メモリ６０１に書き込むメモリ・ライト・トランザクション（書込命令信号）である。
【００２６】
また、ＰＣＩｅインタフェース制御部１１０、受信バッファ制御部１２０、送信バッファ制御部１３０、トランザクション制御部１４０、Ｉｎｂｏｕｎｄ制御部１５０、Ｏｕｔｂｏｕｎｄ制御部１６０、メモリコントローラインタフェース制御部１７０、及びリプライ制御部１９０は、処理中に何らかの障害（パリティーエラー、ＥＣＣエラー、制御矛盾等）を検出した場合、障害の発生を診断制御部１８０１８０に通知する。
【００２７】
そして、このような構成を備えることで、Ｉ／Ｏブリッジ装置１００は、以下に示す処理を行う。即ち、ＰＣＩｅインタフェース制御部１１０は、ＰＣＩｅデバイス６００からメモリコントローラ２００に対する命令を示すトランザクションを受信する。次に、トランザクション制御部１４０は、ＰＣＩｅインタフェース制御部１１０が受信したトランザクションを、当該トランザクションが示す命令とＩＤとを含む命令パケットに変換する。なお、当該ＩＤは、上述したようにバッファ番号に関連付けられており、ＰＣＩｅインタフェース制御部１１０が受信したトランザクションを特定することができる。
メモリコントローラインタフェース制御部１７０は、トランザクション制御部１４０が変換した命令パケットをメモリコントローラ２００に送信し、当該命令パケットに含まれるＩＤを含む、命令パケットに対する応答パケットをメモリコントローラ２００から受信する。そして、ＰＣＩｅインタフェース制御部１１０は、メモリコントローラインタフェース制御部１７０が受信した応答パケットに含まれるＩＤによって特定されるトランザクションの送信元のＰＣＩｅデバイス６００に、メモリコントローラインタフェース制御部１７０が受信した応答パケットの内容を内蔵メモリ６０１に書き込む命令を示すメモリ・ライト・トランザクションを送信する。
これにより、ＰＣＩｅデバイス６００は、内蔵メモリ６０１に書き込まれた情報を参照することでエラーの内容を取得することができる。
【００２８】
次に、本実施形態によるＩ／Ｏブリッジ装置１００の動作を説明する。ここでは、ＰＣＩｅデバイス６００がメモリ・ライト・トランザクションを送信する場合を例に説明を行う。
まず、メモリライト処理が正常に行われた場合の動作を説明する。
図３は、メモリライト処理が正常に行われた場合の動作を示すフローチャートである。
ＰＣＩｅデバイス６００が送信したメモリ・ライト・トランザクションは、ＰＣＩｅスイッチ装置５００を経由して、Ｉ／Ｏブリッジ装置１００のＰＣＩｅインタフェース制御部１１０が受信する（ステップＳ１）。受信したメモリ・ライト・トランザクションは、受信バッファ制御部１２０に受け渡され、空いている受信バッファに格納される（ステップＳ２）。
【００２９】
受信バッファ制御部１２０は、受信バッファに格納されたメモリ・ライト・トランザクションを読み出し、格納されていたバッファを特定するバッファ番号とメモリ・ライト・トランザクションのヘッダとをリプライ制御部１９０に出力する。リプライ制御部１９０は、受信バッファ制御部１２０から入力したバッファ番号とヘッダとを関連付けて記憶部１９１に保持し（ステップＳ３）、当該バッファ番号に対する問い合わせを待機する。
また、受信バッファ制御部１２０は、受信バッファから読みだしメモリ・ライト・トランザクションを、格納されていた受信バッファのバッファ番号と共にトランザクション制御部１４０に出力する。トランザクション制御部１４０は、受信バッファ制御部１２０から入力したメモリ・ライト・トランザクションを、メモリ・ライト・パケット（命令パケット）に変換し（ステップＳ４）、Ｉｎｂｏｕｎｄ制御部１５０のバッファに格納する。
【００３０】
なお、トランザクション制御部１４０は、メモリ・ライト・トランザクションをメモリ・ライト・パケットに変換する際に、メモリ・ライト・パケットにユニークなＩＤを設定し、当該メモリ・ライト・パケットに格納する。また、トランザクション制御部１４０は、設定したＩＤをバッファ番号に関連付けて内部メモリに記録する（ステップＳ５）。当該ＩＤはメモリコントローラ２００が送信する応答パケットにも反映されるため、トランザクション制御部１４０が、当該ＩＤを用いてパケットとを管理することにより、応答のタイムアウトやパケットのロストを検出することができる。
【００３１】
Ｉｎｂｏｕｎｄ制御部１５０は、バッファに格納されたメモリ・ライト・パケットをメモリコントローラインタフェース制御部１７０を介して、メモリコントローラ２００に送信する（ステップＳ６）。
メモリコントローラ２００は、受信したメモリ・ライト・パケットに含まれるデータを該当するメモリアドレスに格納し、その応答パケット（正常終了）をＩ／Ｏブリッジ装置１００に送信する。
メモリコントローラ２００が応答パケットを送信すると、Ｉ／Ｏブリッジ装置１００のメモリコントローラインタフェース制御部１７０は、メモリコントローラ２００からの応答パケットを受信し（ステップＳ７）、Ｏｕｔｂｏｕｎｄ制御部１６０のバッファに格納する。
【００３２】
次に、Ｏｕｔｂｏｕｎｄ制御部１６０は、格納された応答パケットを読み出してトランザクション制御部１４０に出力する。次に、トランザクション制御部１４０は、応答パケットに含まれるＩＤを読み出し、内部メモリから当該ＩＤに関連付けられたバッファ番号を読み出す（ステップＳ８）。次に、トランザクション制御部１４０は、応答パケットの内容（正常終了）をバッファ番号と共にリプライ制御部１９０に出力する。
【００３３】
次に、リプライ制御部１９０は、トランザクション制御部１４０から入力したバッファ番号に関連付けられたヘッダを、記憶部１９１から読み出す（ステップＳ９）。そして、リプライ制御部１９０は、当該ヘッダからトランザクションの送信元のＰＣＩｅデバイス６００を特定し、当該ＰＣＩｅデバイス６００宛てのメモリ・ライト・トランザクションを生成する（ステップＳ１０）。このとき、リプライ制御部１９０は、トランザクション制御部１４０１４０から入力した応答パケットの内容（正常終了）をメモリ・ライト・トランザクションに反映する。次に、リプライ制御部１９０は、生成したメモリ・ライト・トランザクションを、送信バッファ制御部１３０の送信バッファに格納する。
【００３４】
そして、送信バッファ制御部１３０は、送信バッファに格納されたメモリ・ライト・トランザクションを読み出し、ＰＣＩｅインタフェース制御部１１０を介して、当該メモリ・ライト・トランザクションをＰＣＩｅスイッチ装置５００へ送信する（ステップＳ１１）。
ＰＣＩｅスイッチ装置５００は、受信したメモリ・ライト・トランザクションを該当するＰＣＩｅデバイス６００に転送する。そして、メモリ・ライト・トランザクションを受信したＰＣＩｅデバイス６００は、メモリ・ライト・トランザクションに含まれるライトデータ（即ち、応答パケットの内容）を内蔵メモリ６０１に格納する。
これにより、ＰＣＩｅデバイス６００は、内蔵メモリ６０１に書き込まれた情報を参照することで、トランザクションが正常に終了したことを認識することができる。
【００３５】
次に、メモリコントローラ２００からの応答パケットがエラーを示していた場合の動作を説明する。なお、上述したメモリライト処理が正常に行われた場合の動作と同一の処理については、同じ符号を用いて説明する。
図４は、メモリコントローラ２００からの応答パケットがエラーを示していた場合の動作を示すフローチャートである。
ＰＣＩｅデバイス６００が送信したメモリ・ライト・トランザクションは、ＰＣＩｅスイッチ装置５００を経由して、Ｉ／Ｏブリッジ装置１００のＰＣＩｅインタフェース制御部１１０が受信する（ステップＳ１）。受信したメモリ・ライト・トランザクションは、受信バッファ制御部１２０に受け渡され、空いている受信バッファに格納される（ステップＳ２）。
【００３６】
受信バッファ制御部１２０は、受信バッファに格納されたメモリ・ライト・トランザクションを読み出し、格納されていたバッファを特定するバッファ番号とメモリ・ライト・トランザクションのヘッダとをリプライ制御部１９０に出力する。リプライ制御部１９０は、受信バッファ制御部１２０から入力したバッファ番号とヘッダとを関連付けて記憶部１９１に保持し（ステップＳ３）、当該バッファ番号に対する問い合わせを待機する。
また、受信バッファ制御部１２０は、受信バッファから読みだしメモリ・ライト・トランザクションを、格納されていた受信バッファのバッファ番号と共にトランザクション制御部１４０に出力する。トランザクション制御部１４０は、受信バッファ制御部１２０から入力したメモリ・ライト・トランザクションを、メモリ・ライト・パケットに変換し（ステップＳ４）、Ｉｎｂｏｕｎｄ制御部１５０のバッファに格納する。
【００３７】
なお、トランザクション制御部１４０は、メモリ・ライト・トランザクションをメモリ・ライト・パケットに変換する際に、メモリ・ライト・パケットにユニークなＩＤを設定し、当該メモリ・ライト・パケットに格納する。また、トランザクション制御部１４０は、設定したＩＤをバッファ番号に関連付けて内部メモリに記録する（ステップＳ５）。
【００３８】
Ｉｎｂｏｕｎｄ制御部１５０は、バッファに格納されたメモリ・ライト・パケットをメモリコントローラインタフェース制御部１７０を介して、メモリコントローラ２００に送信する（ステップＳ６）。
メモリコントローラ２００は、受信したメモリ・ライト・パケットに含まれるデータを該当するメモリアドレスに格納する際に何らかのエラーを検出した場合、その応答パケット（異常終了）をＩ／Ｏブリッジ装置１００に送信する。
メモリコントローラ２００が応答パケットを送信すると、Ｉ／Ｏブリッジ装置１００のメモリコントローラインタフェース制御部１７０は、メモリコントローラ２００からの応答パケットを受信し（ステップＳ１２）、Ｏｕｔｂｏｕｎｄ制御部１６０のバッファに格納する。
【００３９】
次に、Ｏｕｔｂｏｕｎｄ制御部１６０は、格納された応答パケットを読み出してトランザクション制御部１４０に出力する。次に、トランザクション制御部１４０は、応答パケットに含まれるＩＤを読み出し、内部メモリから当該ＩＤに関連付けられたバッファ番号を読み出す（ステップＳ１３）。次に、トランザクション制御部１４０は、応答パケットの内容（異常終了）をバッファ番号と共にリプライ制御部１９０に出力する。
【００４０】
次に、リプライ制御部１９０は、トランザクション制御部１４０から入力したバッファ番号に関連付けられたヘッダを、記憶部１９１から読み出す（ステップＳ１４）。そして、リプライ制御部１９０は、当該ヘッダからトランザクションの送信元のＰＣＩｅデバイス６００を特定し、当該ＰＣＩｅデバイス６００宛てのメモリ・ライト・トランザクションを生成する（ステップＳ１５）。このとき、リプライ制御部１９０は、トランザクション制御部１４０１４０から入力した応答パケットの内容（異常終了）をメモリ・ライト・トランザクションに反映する。次に、リプライ制御部１９０は、生成したメモリ・ライト・トランザクションを、送信バッファ制御部１３０の送信バッファに格納する。
【００４１】
そして、送信バッファ制御部１３０は、送信バッファに格納されたメモリ・ライト・トランザクションを読み出し、ＰＣＩｅインタフェース制御部１１０を介して、当該メモリ・ライト・トランザクションをＰＣＩｅスイッチ装置５００へ送信する（ステップＳ１６）。
ＰＣＩｅスイッチ装置５００は、受信したメモリ・ライト・トランザクションを該当するＰＣＩｅデバイス６００に転送する。そして、メモリ・ライト・トランザクションを受信したＰＣＩｅデバイス６００は、メモリ・ライト・トランザクションに含まれるライトデータを内蔵メモリ６０１に格納する。
これにより、ＰＣＩｅデバイス６００は、内蔵メモリ６０１に書き込まれた情報を参照することで、メモリライト処理にて異常が発生したことを確認し、障害処理を実行することができる。
【００４２】
次に、Ｉ／Ｏブリッジ装置１００の内部に障害が発生した場合の動作を説明する。なお、上述したメモリライト処理が正常に行われた場合の動作と同一の処理については、同じ符号を用いて説明する。
図５は、Ｉ／Ｏブリッジ装置１００の内部に障害が発生した場合の動作を示すフローチャートである。
ＰＣＩｅデバイス６００が送信したメモリ・ライト・トランザクションは、ＰＣＩｅスイッチ装置５００を経由して、Ｉ／Ｏブリッジ装置１００のＰＣＩｅインタフェース制御部１１０が受信する（ステップＳ１）。受信したメモリ・ライト・トランザクションは、受信バッファ制御部１２０に受け渡され、空いている受信バッファに格納される（ステップＳ２）。
【００４３】
受信バッファ制御部１２０は、受信バッファに格納されたメモリ・ライト・トランザクションを読み出し、格納されていたバッファを特定するバッファ番号とメモリ・ライト・トランザクションのヘッダとをリプライ制御部１９０に出力する。リプライ制御部１９０は、受信バッファ制御部１２０から入力したバッファ番号とヘッダとを関連付けて記憶部１９１に保持し（ステップＳ３）、当該バッファ番号に対する問い合わせを待機する。
また、受信バッファ制御部１２０は、受信バッファから読みだしメモリ・ライト・トランザクションを、格納されていた受信バッファのバッファ番号と共にトランザクション制御部１４０に出力する。トランザクション制御部１４０は、受信バッファ制御部１２０から入力したメモリ・ライト・トランザクションを、メモリ・ライト・パケットに変換し（ステップＳ４）、Ｉｎｂｏｕｎｄ制御部１５０のバッファに格納する。
【００４４】
なお、トランザクション制御部１４０は、メモリ・ライト・トランザクションをメモリ・ライト・パケットに変換する際に、メモリ・ライト・パケットにユニークなＩＤを設定し、当該メモリ・ライト・パケットに格納する。また、トランザクション制御部１４０は、設定したＩＤをバッファ番号に関連付けて内部メモリに記録する（ステップＳ５）。
【００４５】
ここで、Ｉｎｂｏｕｎｄ制御部１５０は、バッファに格納されたメモリ・ライト・パケットに異常があることを検出した場合、診断制御部１８０に障害を検出したことを通知する（ステップＳ１７）。診断制御部１８０は、Ｉｎｂｏｕｎｄ制御部１５０からの障害を検出したことを示す通知を受けると、障害インジケータ１８１を点灯させ、Ｉ／Ｏブリッジ装置１００の内部に障害が発生したことを通知する（ステップＳ１８）。また、診断制御部１８０は、Ｉ／Ｏブリッジ装置１００の内部に障害が発生したことを他の処理部に通知する。
【００４６】
リプライ制御部１９０は、診断制御部１８０から障害が発生したことを示す通知を受けると、記憶部１９１が記憶するヘッダを読み出す（ステップＳ１９）。そして、リプライ制御部１９０は、当該ヘッダからトランザクションの送信元のＰＣＩｅデバイス６００を特定し、当該ＰＣＩｅデバイス６００宛てのメモリ・ライト・トランザクションを生成する（ステップＳ２０）。このとき、リプライ制御部１９０は、Ｉ／Ｏブリッジ装置１００の内部に障害が発生したことを示す情報をメモリ・ライト・トランザクションに反映する。次に、リプライ制御部１９０は、生成したメモリ・ライト・トランザクションを、送信バッファ制御部１３０の送信バッファに格納する。
【００４７】
そして、送信バッファ制御部１３０は、送信バッファに格納されたメモリ・ライト・トランザクションを読み出し、ＰＣＩｅインタフェース制御部１１０を介して、当該メモリ・ライト・トランザクションをＰＣＩｅスイッチ装置５００へ送信する（ステップＳ２１）。
ＰＣＩｅスイッチ装置５００は、受信したメモリ・ライト・トランザクションを該当するＰＣＩｅデバイス６００に転送する。そして、メモリ・ライト・トランザクションを受信したＰＣＩｅデバイス６００は、メモリ・ライト・トランザクションに含まれるライトデータを内蔵メモリ６０１に格納する。
これにより、ＰＣＩｅデバイス６００は、内蔵メモリ６０１に書き込まれた情報を参照することで、Ｉ／Ｏブリッジ装置１００の内部に障害が発生したことを確認し、障害処理を実行することができる。
【００４８】
次に、メモリ・ライト・トランザクションがＩ／Ｏブリッジ装置１００に到達する前にエラーを検出していた場合の動作を説明する。なお、上述したメモリライト処理が正常に行われた場合の動作と同一の処理については、同じ符号を用いて説明する。
図６は、メモリ・ライト・トランザクションがＩ／Ｏブリッジ装置１００に到達する前にエラーを検出していた場合の動作を示すフローチャートである。
ＰＣＩｅデバイス６００が送信したメモリ・ライト・トランザクションは、ＰＣＩｅスイッチ装置５００を経由して、Ｉ／Ｏブリッジ装置１００に送信される。ＰＣＩｅスイッチ装置５００は、Ｉ／Ｏブリッジ装置１００にメモリ・ライト・トランザクションを転送する前に、当該メモリ・ライト・トランザクションにエラーがあるか否かを判定する。そして、ＰＣＩｅスイッチ装置５００は、メモリ・ライト・トランザクションにエラーがあると判定した場合、当該メモリ・ライト・トランザクションにエラーポイズンド状態を示すＥＰフィールドに、エラー検出を示す値（ＥＰ＝１）を設定する。
【００４９】
ＰＣＩｅスイッチ装置５００から転送されたメモリ・ライト・トランザクションは、Ｉ／Ｏブリッジ装置１００のＰＣＩｅインタフェース制御部１１０が受信する（ステップＳ１）。受信したメモリ・ライト・トランザクションは、受信バッファ制御部１２０に受け渡され、空いている受信バッファに格納される（ステップＳ２）。
【００５０】
受信バッファ制御部１２０は、受信バッファに格納されたメモリ・ライト・トランザクションを読み出し、格納されていたバッファを特定するバッファ番号とメモリ・ライト・トランザクションのヘッダとをリプライ制御部１９０に出力する。リプライ制御部１９０は、受信バッファ制御部１２０から入力したバッファ番号とヘッダとを関連付けて記憶部１９１に保持する（ステップＳ３）。
次に、受信バッファ制御部１２０は、読み出したメモリ・ライト・トランザクションがエラーポイズンド状態であると判定した場合、当該メモリ・ライト・トランザクションをトランザクション制御部１４０１４０に受け渡さずに破棄する（ステップＳ２２）。
【００５１】
次に、リプライ制御部１９０１９０は、記憶部１９１からヘッダ情報を読み出し（ステップＳ２３）、、当該ヘッダからトランザクションの送信元のＰＣＩｅデバイス６００を特定し、当該ＰＣＩｅデバイス６００宛てのメモリ・ライト・トランザクションを生成する（ステップＳ２４）。このとき、リプライ制御部１９０は、エラーポイズンドを示す情報をメモリ・ライト・トランザクションに反映する。次に、リプライ制御部１９０は、生成したメモリ・ライト・トランザクションを、送信バッファ制御部１３０の送信バッファに格納する。
【００５２】
そして、送信バッファ制御部１３０は、送信バッファに格納されたメモリ・ライト・トランザクションを読み出し、ＰＣＩｅインタフェース制御部１１０を介して、当該メモリ・ライト・トランザクションをＰＣＩｅスイッチ装置５００へ送信する（ステップＳ２５）。
ＰＣＩｅスイッチ装置５００は、受信したメモリ・ライト・トランザクションを該当するＰＣＩｅデバイス６００に転送する。そして、メモリ・ライト・トランザクションを受信したＰＣＩｅデバイス６００は、メモリ・ライト・トランザクションに含まれるライトデータを内蔵メモリ６０１に格納する。
これにより、ＰＣＩｅデバイス６００は、内蔵メモリ６０１に書き込まれた情報を参照することで、メモリ・ライト・トランザクションにエラーポイズンド状態であることを確認し、障害処理を実行することができる。
【００５３】
このように、本実施形態によれば、Ｉ／Ｏブリッジ装置１００は、メモリコントローラ２００から応答パケットを受信すると、当該応答パケットの内容を、トランザクションの送信元のＰＣＩｅデバイス６００の内蔵メモリ６０１に書き込むためのメモリ・ライト・トランザクションを生成する。これにより、ＰＣＩｅデバイス６００は、内蔵メモリ６０１に書き込まれた情報を参照することでエラーの内容を取得することができる。
また、本実施形態によれば、ハードウェアで構成されるＩ／Ｏブリッジ装置１００のリプライ制御部１９０によって通知処理を行うため、ＰＣＩｅデバイス６００のデバイスドライバによるＣＰＵ処理を介在して処理状態の確認を行う必要が無い。これにより、メモリ・ライト・トランザクションによるデータ転送性能を、通知処理を行わないＩ／Ｏブリッジのそれと同程度の速度とすることができる。
【００５４】
《第２の実施形態》
次に、本発明の第２の実施形態について詳細に説明する。なお、第２の実施形態において、第１の実施形態と同様の構成要素については、同一の符号を付して詳細な説明を省略する。
図７は、本発明の第２の実施形態によるＩ／Ｏブリッジ装置１００の構成を示す概略ブロック図である。
第２の実施形態によるＩ／Ｏブリッジ装置１００の受信バッファ制御部１２０は、特種フラグ解析部１２１を備える。特種フラグ解析部１２１は、トランザクションに含まれる特種フラグ及び特種エントリの情報を読み取り、当該情報に従って、リプライ方法を決定する。
【００５５】
図８は、メモリ・ライト・トランザクションのフォーマットを示す図である。
本実施形態によるメモリ・ライト・トランザクションのフォーマットは、ＰＣＩｅの仕様に準じたフォーマットに加え、ＡＤＤＲＥＳＳ［５４：５２］に特殊フラグを設定するエントリ（３ｂｉｔ）と、ＡＤＤＲＥＳＳ［４３：４０］に特殊コマンドを設定するエントリ  （４ｂｉｔ）とを追加したものである。
【００５６】
図９は、特種フラグ及び特種エントリとリプライ方法との関係を示す表である。
図９を参照すると、特殊フラグが「０００」を示す場合、Ｉ／Ｏブリッジ装置１００は、通常のメモリ・ライト・トランザクション処理と同様にポステッド処理を実行する。また、特殊フラグが「０１０」を示し、特殊コマンドが「００００」を示す場合、Ｉ／Ｏブリッジ装置１００は、第１の実施形態と同様のメモリ・ライト・トランザクション処理による応答を実行する。また、特殊フラグが「０１０」を示し、特殊コマンドが「０００１」を示す場合、Ｉ／Ｏブリッジ装置１００は、メモリライト処理の完了を待たずに応答のみを通知する処理を実行する。
【００５７】
具体的には、特種フラグ解析部１２１は、受信バッファ部が受信バッファから読み出したトランザクションの特殊フラグが「０００」を示す場合、読み出したメモリ・ライト・トランザクションのヘッダを、リプライ制御部１９０に出力しないように受信バッファ部を制御する。これにより、リプライ制御部１９０は、トランザクション制御部１４０１４０から応答パケットを受け取っても、応答通知用のトランザクションを生成せず、応答通知を発行しない。結果として、Ｉ／Ｏブリッジ装置１００にポステッド処理と同じ動作を行わせることができる。
【００５８】
また、特種フラグ解析部１２１は、特殊フラグが「０１０」を示し、特殊コマンドが「００００」を示す場合、特に処理を行わない。これにより、第１の実施形態で説明したメモリ・ライト・トランザクション処理による応答を行うため、メモリライト処理状態を該当ＰＣＩｅデバイス６００に通知する事ができる。
【００５９】
そして、特殊フラグが「０１０」を示し、特殊コマンドが「０００１」を示す場合、受信バッファ部が受信バッファから読み出したトランザクションのヘッダ部を、リプライ制御部１９０に通知すると同時に、リプライ制御部１９０に対してリプライ実行を指示する。
リプライ実行を指示されたリプライ制御部１９０は、受け取ったメモリ・ライト・トランザクションのヘッダに基づいて、応答用のトランザクションを生成し、送信バッファ制御部１３０の送信バッファに格納する。これにより、Ｉ／Ｏブリッジ装置１００は、メモリライト処理完了の応答パケットを待たずに該当ＰＣＩｅデバイス６００へ応答を通知することができる。
【００６０】
第２の実施形態では、メモリ・ライト・トランザクションのアドレス空間に完了通知機能の使用有無フラグ（特種フラグ・特種コマンド）を設けるため、通常のＰＣＩｅデバイス６００をも、本発明のＩ／Ｏブリッジ装置１００に接続できる。これによりシステム構築の拡張性を確保出来るという新たな効果を有する。さらに、特殊フラグと特殊コマンドエントリの組合せで、その他のメモリアクセスの方法（例えば、Ｔｅｓｔ＆Ｓｅｔ、同期化など）を指定することもでき、デバイス機能の拡張も容易に行うことができる。
【００６１】
以上、図面を参照してこの発明の一実施形態について詳しく説明してきたが、具体的な構成は上述のものに限られることはなく、この発明の要旨を逸脱しない範囲内において様々な設計変更等をすることが可能である。
例えば、本実施形態では、リプライ制御部１９０が、受信バッファ制御部１２０の受信バッファのバッファ番号とトランザクションのヘッダとを関連付けて記憶する場合を説明したが、これに限られない。例えば、リプライ制御部１９０がトランザクション制御部１４０が生成したパケットのＩＤを入力し、当該ＩＤとヘッダとを関連付けて記憶するようにしても良い。
【００６２】
また、本実施形態では、Ｉ／Ｏブリッジ装置１００の各処理部をハードウェアにて構成する場合を説明したが、これに限られない。例えば、Ｉ／Ｏブリッジ装置１００が内部に、コンピュータシステムを有しており、上述した各処理部の動作は、プログラムの形式でコンピュータ読み取り可能な記録媒体に記憶されており、このプログラムをコンピュータが読み出して実行することによって、上記処理が行われるようにしても良い。ここでコンピュータ読み取り可能な記録媒体とは、磁気ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、半導体メモリ等をいう。また、このコンピュータプログラムを通信回線によってコンピュータに配信し、この配信を受けたコンピュータが当該プログラムを実行するようにしても良い。
【００６３】
また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であっても良い。
【符号の説明】
【００６４】
１００…Ｉ／Ｏブリッジ装置  １１０…ＰＣＩｅインタフェース制御部  １２０…受信バッファ制御部  １２１…特種フラグ解析部  １３０…送信バッファ制御部  １４０…トランザクション制御部  １５０…Ｉｎｂｏｕｎｄ制御部  １６０…Ｏｕｔｂｏｕｎｄ制御部  １７０…メモリコントローラインタフェース制御部  １８０…診断制御部  １８１…診断インジケータ  １９０…リプライ制御部  １９１…記憶部  ２００…メモリコントローラ  ３００…ＣＰＵ  ４００…メモリ  ５００…ＰＣＩｅスイッチ装置  ６００…ＰＣＩｅデバイス  ６０１…内蔵メモリ
【図１】
0005316502.tif 000002
【図２】
0005316502.tif 000003
【図３】
0005316502.tif 000004
【図４】
0005316502.tif 000005
【図５】
0005316502.tif 000006
【図６】
0005316502.tif 000007
【図７】
0005316502.tif 000008
【図８】
0005316502.tif 000009
【図９】
0005316502.tif 000010