(57)【要約】【課題】非標準入力／出力（Ｉ／Ｏ）アダプタを、標準化されたＩ／Ｏアーキテクチャ中に実装するためのシステムおよび方法を提供する。【解決手段】非標準入力／出力（Ｉ／Ｏ）アダプタを、Ｉ／Ｏバスに通信可能に連結されたＩ／Ｏハブ、および複数のＩ／Ｏアダプタ・アドレスのＩ／Ｏアダプタを含む、標準化されたＩ／Ｏアーキテクチャの中に実装するためのシステムであって、Ｉ／Ｏハブは、複数のＩ／Ｏアダプタからの要求を受信するステップと、要求元のＩ／Ｏアダプタ・アドレスを、その対応するターゲット受信先アドレスおよびオペレーション・コードとともに格納するステップと、応答先から応答を受信するステップであって、応答は要求が完了されたことを示す、該受信するステップと、応答が、Ｉ／Ｏバスによってサポートされているフォーマット以外のフォーマットであることを判定するステップと、応答を、Ｉ／Ｏバスによってサポートされているフォーマットに変換するステップと、応答先アドレスにマッチする対応ターゲット受信先アドレスと応答先オペレーション・コードにマッチする対応オペレーション・コードとを有する、格納済みのＩ／Ｏアダプタ・アドレスを検索するステップと、変換された応答をその格納済みのＩ／Ｏアダプタ・アドレスに送信するステップと、を含む方法を実装するためのロジックを包含する。【選択図】図１
2013527955.tif 000002
【特許請求の範囲】
【請求項１】
非標準入力／出力（Ｉ／Ｏ）アダプタを、Ｉ／Ｏバスに通信可能に連結されたＩ／Ｏハブ、および複数のＩ／Ｏアダプタ・アドレスのＩ／Ｏアダプタを含む、標準化されたＩ／Ｏアーキテクチャの中に実装するためのシステムであって、前記Ｉ／Ｏハブは、
前記複数のＩ／Ｏアダプタから要求を受信するための手段であって、各要求はターゲット受信先のアドレスとオペレーション・コードとを含む、前記受信するための手段と、
要求元の前記Ｉ／Ｏアダプタ・アドレスを、それらの対応するターゲット受信先アドレスおよびオペレーション・コードとともに格納するための手段と、
前記要求を前記ターゲット受信先に送信するための手段と、
応答先アドレスの応答先から応答を受信するための手段であって、前記応答は要求が完了されたことを示し、前記応答はターゲット受信先のアドレスおよび応答先オペレーション・コードを包含する、前記受信するための手段と、
前記応答が、前記Ｉ／Ｏバスによってサポートされているフォーマット以外のフォーマットであることを判定するための手段と、
前記応答を、前記Ｉ／Ｏバスによってサポートされている前記フォーマットに変換するための手段と、
前記応答先アドレスにマッチする対応ターゲット受信先アドレスと前記応答先オペレーション・コードにマッチする対応オペレーション・コードとを有する、格納済みのＩ／Ｏアダプタ・アドレスを検索する手段と、
前記変換された応答を前記格納済みのＩ／Ｏアダプタ・アドレスに送信するための手段と、
を含む、前記システム。
【請求項２】
前記Ｉ／ＯバスはＰＣＩｅバスである、請求項１に記載のシステム。
【請求項３】
前記要求の前記フォーマットはＩ／Ｏ拡張フォーマットである、請求項１または請求項２に記載のシステム。
【請求項４】
前記Ｉ／Ｏアダプタは、少なくとも一つのＩ／Ｏ拡張アダプタと少なくとも一つのＰＣＩｅアダプタとを含む、請求項１〜請求項３のいずれか一項に記載のシステム。
【請求項５】
前記変換された要求は、前記Ｉ／Ｏアダプタおよび前記要求元によってサポートされていないフォーマットである、請求項１〜請求項４のいずれか一項に記載のシステム。
【請求項６】
前記要求がデータを格納する要求であることを判定するための手段と、
前記判定するのに応じて、前記要求元についての情報を前記Ｉ／Ｏハブに格納するための手段であって、前記情報は、
前記要求元アドレス、および
前記オペレーション・コードを含み、
前記オペレーション・コードは遂行対象のオペレーションを識別する、前記格納するための手段と、
をさらに含む、請求項１に記載のシステム。
【請求項７】
前記応答が前記Ｉ／Ｏバス上でサポートされていないと判定するのに応じて新規要求を生成するための手段と、
前記要求が完了されたことを前記新規要求のヘッダ内に表示している前記応答を、前記Ｉ／Ｏバスを介して送信するための手段と、
をさらに含む、請求項１〜請求項６のいずれか一項に記載のシステム。
【請求項８】
標準化された入力／出力（Ｉ／Ｏ）アーキテクチャ内に、非標準Ｉ／Ｏアダプタを実装する方法であって、前記方法は、
複数のＩ／Ｏアダプタからの要求をＩ／Ｏハブにおいて受信するステップであって、各要求は、ターゲット受信先のアドレスとオペレーション・コードとを包含する、前記受信するステップと、
要求元のＩ／Ｏアダプタ・アドレスを、それらの対応するターゲット受信先アドレスおよびオペレーション・コードとともに格納するステップと、
前記要求を前記ターゲット受信先に送信するステップと、
応答先アドレスの応答先から応答を受信するステップであって、前記応答は要求が完了されたことを示し、前記応答はターゲット受信先のアドレスおよび応答先オペレーション・コードを包含する、前記受信するステップと、
前記応答が、Ｉ／Ｏバスによってサポートされているフォーマット以外のフォーマットであることを判定するステップと、
前記応答を、前記Ｉ／Ｏバスによってサポートされている前記フォーマットに変換するステップと、
前記応答先アドレスにマッチする対応ターゲット受信先アドレス、および前記応答先オペレーション・コードにマッチする対応オペレーション・コードを有する、格納済みのＩ／Ｏアダプタ・アドレスを検索するステップと、
前記変換された応答を前記格納済みのＩ／Ｏアダプタ・アドレスに送信するステップと、
を含む方法。
【請求項９】
前記Ｉ／ＯバスはＰＣＩｅバスである、請求項８に記載の方法。
【請求項１０】
前記要求の前記フォーマットはＩ／Ｏ拡張フォーマットである、請求項８または請求項９に記載の方法。
【請求項１１】
前記Ｉ／Ｏアダプタは、少なくとも一つのＩ／Ｏ拡張アダプタと少なくとも一つのＰＣＩｅアダプタとを含む、請求項８〜請求項１０のいずれか一項に記載の方法。
【請求項１２】
前記変換された要求は、前記Ｉ／Ｏアダプタおよび前記要求元によってサポートされていないフォーマットである、請求項８〜請求項１１のいずれか一項に記載の方法。
【請求項１３】
前記要求がデータを格納する要求であることを判定するステップと、
前記判定するのに応じて、前記要求元についての情報を前記Ｉ／Ｏハブに格納するステップであって、前記情報は、
前記要求元アドレス、および
前記オペレーション・コードを含み、
前記オペレーション・コードは遂行対象のオペレーションを識別する、前記格納するステップと、
をさらに含む、請求項８〜請求項１２のいずれか一項に記載の方法。
【請求項１４】
前記応答が前記Ｉ／Ｏバス上でサポートされていないと判定するのに応じて新規要求を生成するステップと、
前記要求が完了されたことを前記新規要求のヘッダ内に表示している前記応答を、前記Ｉ／Ｏバスを介して送信するステップと、
をさらに含む、請求項８〜請求項１３のいずれか一項に記載の方法。
【請求項１５】
コンピュータ・システム中にロードされ、その中で実行されたとき、前記コンピュータに、請求項８〜請求項１４のいずれかに記載の方法の全ステップを遂行させる、コンピュータ可読媒体に格納されたコンピュータ・プログラム・コード、を含むコンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般にコンピューティング環境内でインターフェースする処理装置の入力／出力（Ｉ／Ｏ：ｉｎｐｕｔ／ｏｕｔｐｕｔ）に関し、さらに具体的には、ＰＣＩｅバスおよびスイッチ・アーキテクチャを通したＩ／Ｏ拡張要求および応答のルーティングに関する。
【背景技術】
【０００２】
ＰＣＩｅは、Ｉ／Ｏアダプタとホスト・システムとの間のトランザクションのための双方向性通信プロトコルを定義する、コンポーネント・レベルの相互接続規格である。ＰＣＩｅ通信は、ＰＣＩｅバスでの伝送に関するＰＣＩｅ規格に従ってパケット中にカプセル化される。Ｉ／Ｏアダプタで生成され、ホスト・システムで終了するパケットは、上りパケットといわれる。ホスト・システムで生成され、Ｉ／Ｏアダプタで終了するパケットは、下りパケットといわれる。ＰＣＩｅトランザクションは、要求パケットと、必要に応じて、逆方向の完了パケット（本明細書では「応答パケット」ともいう）とを含む。ＰＣＩｅ接続形態は、対になってＰＣＩｅバスを形成する２点間（ｐｏｉｎｔ−ｔｏ−ｐｏｉｎｔ）の単方向リンク（例、一つの上りリンク、一つの下りリンク）に基づいている。ＰＣＩｅ規格は、Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ  Ｓｐｅｃｉａｌ  Ｉｎｔｅｒｅｓｔ  Ｇｒｏｕｐ（ＰＣＩ−ＳＩＧ：ＰＣＩ専門グループ）によって維持され公開されている。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
ＰＣＩｅの使用上の一つの欠点は、ＰＣＩｅバスに接続された全てのＩ／Ｏアダプタは、ＰＣＩｅ規格中に定められたパラメータ内で作動する必要があることである（すなわち、それらはＰＣＩｅ準拠のＩ／Ｏアダプタである）。ＰＣＩｅ規格は、要求および完了、並びにパケットのパッケージングおよびアドレッシングに対し厳重な制約を設定している。例えばＩＢＭ（ＩＢＭ社の登録商標）のＳｙｓｔｅｍ  ｚ（ＩＢＭ社の登録商標）アーキテクチャなど、一部のシステム・アーキテクチャでは、ＰＣＩｅ規格でサポートされていないトランザクションを使って、Ｉ／Ｏアダプタとホスト・システムとの間でＰＣＩｅバスを介した通信をサポートできるようにすることが必要になっている。一例は、（例えば、技術的問題もしくは費用またはその両方に起因して）ＰＣＩｅ規格に変換することが困難なことのあるレガシー・システムおよびアプリケーションを、一般的にサポートしている非ＰＣＩｅ準拠アダプタ（例、Ｉ／Ｏ拡張アダプタ）を使って通信する能力である。しかして、ＰＣＩｅは、その意図する目的であるＰＣＩｅ準拠アダプタとの通信に適してはいるが、レガシー・システムをサポートするため、ＰＣＩｅが非ＰＣＩｅ準拠アダプタと通信できるようその能力を拡張する必要性はいまだに残っている。
【課題を解決するための手段】
【０００４】
第一態様において、本発明は、標準化されたＩ／Ｏアーキテクチャ内に非標準入力／出力（Ｉ／Ｏ）アダプタを実装するためのシステムを提供し、本システムは、Ｉ／Ｏバスと複数のＩ／Ｏアダプタ・アドレスのＩ／Ｏアダプタとに通信可能に連結されたＩ／Ｏハブを含み、Ｉ／Ｏハブは、複数のＩ／Ｏアダプタからの要求を受信するアクションであって、各要求は、ターゲット受信先のアドレスとオペレーション・コードとを包含する、該受信するアクションと、要求元のＩ／Ｏアダプタ・アドレスを、それらの対応するターゲット受信先アドレスおよびオペレーション・コードとともに格納するアクションと、要求をターゲット受信先に送信するアクションと、応答先アドレスの応答先から応答を受信するアクションであって、応答は要求が完了されたことを示し、該応答はターゲット受信先のアドレスおよび応答先オペレーション・コードを包含する、該受信するアクションと、応答が、Ｉ／Ｏバスによってサポートされているフォーマット以外のフォーマットであることを判定するアクションと、応答を、Ｉ／Ｏバスによってサポートされているフォーマットに変換するアクションと、応答先アドレスにマッチする対応ターゲット受信先アドレスおよび応答先オペレーション・コードにマッチする対応オペレーション・コードを有する、格納済みのＩ／Ｏアダプタ・アドレスを検索するアクションと、変換された応答を該格納済みのＩ／Ｏアダプタ・アドレスに送信するアクションと、のための手段を含む。
【０００５】
望ましくは、上記Ｉ／ＯバスはＰＣＩｅバスである。望ましくは、要求のフォーマットはＩ／Ｏ拡張フォーマットである。望ましくは、上記Ｉ／Ｏアダプタは、少なくとも一つのＩ／Ｏ拡張アダプタと少なくとも一つのＰＣＩｅアダプタとを含む。望ましくは、変換された要求は、Ｉ／Ｏアダプタおよび要求元によってサポートされていないフォーマットである。本システムには、該要求がデータを格納する要求であることを判定するアクションと、その判定をするのに応じて、要求元についての情報をＩ／Ｏハブに格納するアクションとをさらに含めることができ、該情報は、要求元アドレスおよびオペレーション・コードを含み、オペレーション・コードは遂行対象のオペレーションを識別する。本システムには、応答がＩ／Ｏバス上でサポートされていないと判定するのに応じて新規要求を生成するアクションと、要求が完了されたことを新規要求のヘッダ内に表示している応答を、Ｉ／Ｏバスを介して送信するアクションとをさらに含めることができる。
【０００６】
第二態様において、標準化された入力／出力（Ｉ／Ｏ）アーキテクチャ内に、非標準Ｉ／Ｏアダプタを実装する方法が提供され、本方法は、複数のＩ／Ｏアダプタからの要求をＩ／Ｏハブにおいて受信するステップであって、各要求は、ターゲット受信先のアドレスとオペレーション・コードとを包含する、該受信するステップと、要求元のＩ／Ｏアダプタ・アドレスを、それらの対応するターゲット受信先アドレスおよびオペレーション・コードとともに格納するステップと、要求をターゲット受信先に送信するステップと、応答先アドレスの応答先から応答を受信するステップであって、応答は要求が完了されたことを示し、該応答はターゲット受信先のアドレスおよび応答先のオペレーション・コードを包含する、該受信するステップと、応答が、Ｉ／Ｏバスによってサポートされているフォーマット以外のフォーマットであることを判定するステップと、応答を、Ｉ／Ｏバスによってサポートされているフォーマットに変換するステップと、応答先アドレスにマッチする対応ターゲット受信先アドレスおよび応答先オペレーション・コードにマッチする対応オペレーション・コードを有する、格納済みのＩ／Ｏアダプタ・アドレスを検索するステップと、変換された応答を該格納済みのＩ／Ｏアダプタ・アドレスに送信するステップと、を含む。第二態様の好適な方法の機能は、第一態様におけるシステムの手段のアクションに対応する方法ステップを含む。
【０００７】
第三態様において、コンピュータ・システム中にロードされ、その中で実行されたとき、該コンピュータ・システムに、第二態様による方法の全ステップを遂行させる、コンピュータ可読媒体に格納されたコンピュータ・プログラム・コード、を含むコンピュータ・プログラムが提供される。
【０００８】
ある実装において、標準化されたＩ／Ｏアーキテクチャ内に非標準入力／出力（Ｉ／Ｏ）アダプタを実装するためのシステムが提供され、本システムは、Ｉ／Ｏバスと複数のＩ／Ｏアダプタ・アドレスのＩ／Ｏアダプタとに通信可能に連結された、Ｉ／Ｏハブを含み、Ｉ／Ｏハブは、複数のＩ／Ｏアダプタからの要求を受信するステップであって、各要求は、ターゲット受信先のアドレスとオペレーション・コードとを包含する、該受信するステップと、要求元のＩ／Ｏアダプタ・アドレスを、それらの対応するターゲット受信先アドレスおよびオペレーション・コードとともに格納するステップと、要求をターゲット受信先に送信するステップと、を含む方法を実装するためのロジックを包含する。本方法は、応答先アドレスの応答先から応答を受信するステップであって、応答は要求が完了されたことを示し、該応答はターゲット受信先のアドレスと応答先オペレーション・コードとを包含する、該受信するステップと、応答が、Ｉ／Ｏバスによってサポートされているフォーマット以外のフォーマットであることを判定するステップと、応答を、Ｉ／Ｏバスによってサポートされているフォーマットに変換するステップと、応答先アドレスにマッチする対応ターゲット受信先アドレスおよび応答先オペレーション・コードにマッチする対応オペレーション・コードを有する、格納済みのＩ／Ｏアダプタ・アドレスを検索するステップと、変換された応答をその格納済みのＩ／Ｏアダプタ・アドレスに送信するステップと、をさらに含む。
【０００９】
ある実装において、標準化されたＩ／Ｏアーキテクチャ内に非標準入力／出力（Ｉ／Ｏ）アダプタを実装するための方法が提供され、本方法は、複数のＩ／Ｏアダプタからの要求をＩ／Ｏハブにおいて受信するステップであって、各要求は、ターゲット受信先のアドレスとオペレーション・コードとを包含する、該受信するステップと、要求元のＩ／Ｏアダプタ・アドレスを、それらの対応するターゲット受信先アドレスおよびオペレーション・コードとともに格納するステップと、要求をターゲット受信先に送信するステップと、を含む。この方法は、応答先アドレスの応答先から応答を受信するステップであって、応答は要求が完了されたことを示し、該応答はターゲット受信先のアドレスと応答先オペレーション・コードとを包含する、該受信するステップと、応答が、Ｉ／Ｏバスによってサポートされているフォーマット以外のフォーマットであることを判定するステップと、応答を、Ｉ／Ｏバスによってサポートされているフォーマットに変換するステップと、応答先アドレスにマッチする対応ターゲット受信先アドレスおよび応答先オペレーション・コードにマッチする対応オペレーション・コードを有する、格納済みのＩ／Ｏアダプタ・アドレスを検索するステップと、変換された応答をその格納済みのＩ／Ｏアダプタ・アドレスに送信するステップと、をさらに含む。
【００１０】
ある実装において、コンピュータによって実行されたとき、標準化されたＩ／Ｏアーキテクチャ内に非標準のＩ／Ｏアダプタを実装する命令を格納する不揮発性のストレージ媒体を含む、コンピュータ・プログラム製品が提供され、本コンピュータ・プログラム製品は方法を実装しており、この方法は、複数のＩ／Ｏアダプタからの要求をＩ／Ｏハブにおいて受信するステップであって、各要求は、ターゲット受信先のアドレスとオペレーション・コードとを包含する、該受信するステップと、要求元のＩ／Ｏアダプタ・アドレスを、それらの対応するターゲット受信先アドレスおよび応答先オペレーション・コードとともに格納するステップと、要求をターゲット受信先に送信するステップと、を含む。この方法は、応答アドレスの応答先から応答を受信するステップであって、応答は要求が完了されたことを示し、該応答はターゲット受信先のアドレスと応答先オペレーション・コードとを包含する、該受信するステップと、応答が、Ｉ／Ｏバスによってサポートされているフォーマット以外のフォーマットであることを判定するステップと、応答を、Ｉ／Ｏバスによってサポートされているフォーマットに変換するステップと、応答先アドレスにマッチする対応ターゲット受信先アドレスおよび応答先オペレーション・コードにマッチする対応オペレーション・コードを有する、格納済みのＩ／Ｏアダプタ・アドレスを検索するステップと、変換された応答をその格納済みのＩ／Ｏアダプタ・アドレスに送信するステップと、をさらに含む。
【００１１】
単なる例示を目的として、添付の図面を参照しながら、以下に本発明の好適な実施形態を説明する。
【図面の簡単な説明】
【００１２】
【図１】例示的な実施形態において実装可能なコンピュータ・システムのブロック図を示す。
【図２】図２ａは標準的ＰＣＩｅ要求ヘッダを示し、図２ｂは標準的ＰＣＩｅ完了ヘッダを示す。
【図３】下り要求および完了の処理のためのＩ／Ｏ拡張ロジックの例示的な実施形態のブロック図を示す。
【図４】上り要求および完了の処理のためのＩ／Ｏ拡張ロジックの例示的な実施形態のブロック図を示す。
【図５】ＰＣＩｅ要求における下り応答のルーティングのためのＩ／Ｏ拡張ロジックの例示的な実施形態の処理フローを示す。
【図６】Ｉ／Ｏ拡張アダプタから発信される、変換済みのＰＣＩ要求のブロック図を示す。
【図７】Ｉ／Ｏ拡張応答を包含する、変換済みのＰＣＩ要求のヘッダの例示的な実施形態のブロック図を示す。
【発明を実施するための形態】
【００１３】
本発明のある例示的な実施形態は、ＰＣＩｅバスおよびＰＣＩｅスイッチ・インフラストラクチャの変更を必要とせずに、ＰＣＩｅアーキテクチャ内での入力／出力（Ｉ／Ｏ）拡張要求および応答の処理法を提供する。
【００１４】
図１は、本発明の例示的な実施形態によって実装可能なコンピュータ・システム１００を示す。ある実施形態において、コンピュータ・システム１００は、インターナショナル・ビジネス・マシーンズ・コーポレーション（ＩＢＭ（ＩＢＭ社の登録商標））が提供しているＳｙｓｔｅｍ  ｚ（ＩＢＭ社の登録商標）サーバである。Ｓｙｓｔｅｍ  ｚ（ＩＢＭ社の登録商標）は、ＩＢＭ（ＩＢＭ社の登録商標）が提供しているｚ／Ａｒｃｈｉｔｅｃｔｕｒｅ（ＩＢＭ社の登録商標）に基づいている。ｚ／Ａｒｃｈｉｔｅｃｔｕｒｅ（ＩＢＭ社の登録商標）についての詳細は、ＩＢＭ（ＩＢＭ社の登録商標）出版番号第ＳＡ２２−７８３２−０７号、２００９年２月発行の「ｚ／Ａｒｃｈｉｔｅｃｔｕｒｅ  （ＩＢＭ社の登録商標）Ｐｒｉｎｃｉｐｌｅｓ  ｏｆ  Ｏｐｅｒａｔｉｏｎ，（ｚ／Ａｒｃｈｉｔｅｃｔｕｒｅ（ＩＢＭ社の登録商標）オペレーションの原理）」と題された文献に説明されている。
【００１５】
ある例示的な実施形態において、コンピュータ・システム１００は、メモリ・コントローラ１０６を介してシステム・メモリ１０４に連結された一つ以上の中央処理装置（ＣＰＵ：ｃｅｎｔｒａｌ  ｐｒｏｃｅｓｓｉｎｇ  ｕｎｉｔ）１０２を含む。システム・メモリ１０４は、ＣＰＵ１０２、ＰＣＩｅアダプタ１１０、またはＩ／Ｏ拡張アダプタ１１１（総称してＩ／Ｏアダプタとして知られる）が、システム・メモリ１０４にアクセスするのに使われたアドレスを含む、メモリ要求（読み取りまたは書き込み）を発行したときにアクセスを受ける。このメモリ要求に含まれるアドレスは、通常、システム・メモリ１０４にアクセスするため直接には使えず、従って、これを、システム・メモリ１０４にアクセスするため直接使えるアドレスに変換する必要がある。ある実施形態において、アドレスは、アドレス変換メカニズム（ＡＴＭ：ａｄｄｒｅｓｓ  ｔｒａｎｓｌａｔｉｏｎ  ｍｅｃｈａｎｉｓｍ）１０８を介して変換される。ある実施形態では、ＡＴＭ１０８は、例えば動的アドレス変換（ＤＡＴ：ｄｙｎａｍｉｃ  ａｄｄｒｅｓｓ  ｔｒａｎｓｌａｔｉｏｎ）を使って、仮想アドレスから実アドレスまたは絶対アドレスに変換する。
【００１６】
変換済みアドレスを含むメモリ要求は、メモリ・コントローラ１０６によって受信される。ある実施形態において、メモリ・コントローラ１０６は、システム・メモリ１０４内の整合性を維持し、以下に限らないが、総称してＩ／Ｏアダプタとして知られるＣＰＵ１０２、ＰＣＩｅアダプタ１１０、およびＩ／Ｏ拡張アダプタ１１１を含めた、ハードウェアおよびソフトウェア・コンポーネントからのシステム・メモリ１０４へのアクセス要求の間を調停する。
【００１７】
ある例示的な実施形態において、ＰＣＩｅアダプタ１１０は一つ以上のＰＣＩｅＩ／Ｏ機能を遂行し、Ｉ／Ｏ拡張アダプタ１１１はＰＣＩｅ互換性がなく、一つ以上の非ＰＣＩｅＩ／Ｏ機能を遂行する。ＣＰＵ１０２、ＰＣＩｅアダプタ１１０またはＩ／Ｏ拡張アダプタ１１１の一つから送信されたメモリ要求（すなわち、下りメモリ要求）は、まず、Ｉ／Ｏハブ１１２（例、ＰＣＩｅハブ）に送られ、該ハブは、ＰＣＩｅバス１２６（本明細書ではＩ／Ｏバスとも表す）に接続されている。次いで、メモリ要求は、ＰＣＩｅバス１２６から、一つ以上のＰＣＩｅスイッチ１１４を介して、別のＰＣＩｅアダプタ１１０の一つまたは別のＩ／Ｏ拡張アダプタ１１１の一つに送信される。ＰＣＩｅバス１２６およびＰＣＩｅスイッチ１１４は、当該技術分野で既知の標準的ＰＣＩｅフォーマットで通信する。
【００１８】
ある例示的な実施形態において、Ｉ／Ｏハブ１１２は、一つ以上の状態マシン、およびＩ／Ｏ拡張オペレーションを解釈し、ホスト・システム１２４とＩ／Ｏ拡張アダプタ１１１との間で双方向に伝送するための、Ｉ／Ｏ拡張ロジック１２２を含む。ホスト・システム１２４は、Ｉ／Ｏ拡張アダプタ１１１にはサポートされているが、ＰＣＩｅバス１２６とＰＣＩｅスイッチ１１４とには互換性がない（すなわちサポートされていない）フォーマットで、要求をＩ／Ｏ拡張アダプタ１１１に送信する。Ｉ／Ｏ拡張ロジック１２２は、ホスト・システム１２４から、ホスト・バス１２０経由で要求および応答を受信し、それらをＰＣＩｅバス１２６にサポートされているフォーマットに変換する。図１に示されるように、Ｉ／Ｏ拡張ロジック１２２は、別個のロジック・ブロックとして示されている、下り拡張ロジック１２８および上り拡張ロジック１３０の両方を含むが、これらのブロック内のロジックの一部または全部をオーバーラップさせることもできる。また、図１に示されたＩ／Ｏハブ１１２は、ＰＣＩｅスイッチ１１４の一つから要求および完了を受信するルート・コンプレックス（ｒｏｏｔ  ｃｏｍｐｌｅｘ）１１６も含む。メモリ要求は、変換が必要であり得るＩ／Ｏアドレスを含み、しかして、Ｉ／Ｏハブ１１２は、そのアドレスを、アドレス変換および保護ユニット（ＡＴＰユニット：ａｄｄｒｅｓｓ  ｔｒａｎｓｌａｔｉｏｎ  ａｎｄ  ｐｒｏｔｅｃｔｉｏｎユニット）１１８に提示する。ＡＴＰユニット１１８は、必要に応じ、Ｉ／Ｏアドレスをシステム・メモリ１０４へのアクセスに直接使用可能なアドレスに変換するために使われる。
【００１９】
ＰＣＩｅアダプタ１１０またはＩ／Ｏ拡張アダプタ１１１の一つから発信され、アドレス（変換済みのアドレス、または変換が必要ない場合は初期のアドレス）を含む、上りメモリ要求は、例えば、ホスト・バス１２０を介して、メモリ・コントローラ１０６に提供される。メモリ・コントローラ１０６は、アービトレーションを行い、該アドレスを備えたメモリ要求を、システム・メモリ１０４にとって適切な時間に、システム・メモリ１０４に転送する。
【００２０】
ある例示的な実施形態において、ＰＣＩｅアダプタ１１０の一つによって、Ｉ／Ｏ拡張アダプタ１１１の一つによって、またはホスト・システム１２４によって、メモリ要求が発信される。ある例示的な実施形態には、ポステッド（ｐｏｓｔｅｄ）要求および非ポステッド要求の２種類のメモリ要求がある。非ポステッド要求（例えば、メモリ読み取り）は、要求されたデータと関連メモリ要求の処理結果の状態に関する情報とを包含する、完了と呼ばれる応答を返信する。このさらなる詳細については後記で説明する。ポステッド・トランザクション（例えば、メモリ書き込み）は、データがペイロードであり、ポステッド・トランザクションは完了パケットを返信しないことを除けば、非ポステッド・トランザクションと同様である。従って、ポステッド・トランザクションの過程で生じたいかなるエラーも要求元には分からないことになる。ポステッド要求および非ポステッド要求の両方は、それらのヘッダに包含されたアドレス情報に基づいて、ＰＣＩｅインフラストラクチャを流通する。このさらなる詳細については後記で説明する。
【００２１】
ＰＣＩは、ＰＣＩｅアダプタ１１０からルート・コンプレックス１１６へのメモリ読み取り要求およびポステッド・メモリ書き込み要求だけを定義しているが、Ｓｙｓｔｅｍ  ｚ（ＩＢＭ社の登録商標）は、ＰＣＩ仕様に定義されていないいくつかのより高度な機能の要求を用いている。これらの要求は全て、プロトコルおよびビット操作をロックするために使われる、さまざまな種類のアトミックな要求である。
【００２２】
一つの要求は、Ｔｅｓｔ  ａｎｄ  Ｓｅｔ（検査および設定）と呼ばれる。この要求は、メモリ読み取りのように動作し、ロック・バイトおよびメモリ・アドレスを含む。（８バイト整列の）ターゲット・アドレスの第一バイトがゼロの場合、ロック・バイトは、この第一バイト中に書き込まれる。この実装では、ターゲット・データは２５６バイトまでであり、要求元に返信される。第二の要求は、Ｔｅｓｔ  ａｎｄ  Ｓｔｏｒｅ（検査および格納）と呼ばれる。この要求は、このインプリメンテーションでは２５６バイトまでのペイロードを有し、メモリ書き込みのように動作する。これは、ペイロードの第一バイトがロック・バイトとして使われている点で、メモリ書き込み要求とは異なっている。ターゲット・アドレスの第一バイトがゼロの場合、ペイロードはターゲット・アドレス中に書き込まれる。ターゲット・アドレスの第一バイトがゼロでない場合、ペイロードはターゲット・アドレス中に書き込まれず、第一ターゲット・バイトがゼロでなかったことを表す応答が生成される。
【００２３】
他の３つの要求は、メモリ中のビットを操作するもので、一つは割り込みも生じさせる。この３つの全ては  メモリ書き込み要求のように動作し、３つ全てが、どのターゲット・ビットがセットまたはリセットされるべきかを示すマスクを含む。このインプリメンテーションにおいて、マスクは８バイトである。Ｓｅｔ  Ｂｉｔ（ビットのセット）要求は、マスクによって示されたビットをメモリ中のターゲットにセットする。Ｒｅｓｅｔ  Ｂｉｔ（ビットのリセット）要求は、マスクによって示されたビットをターゲット・メモリにリセットする。割り込み要求を伴うＳｅｔ  Ｂｉｔは、最初にマスクに示されたビットをメモリ中のターゲットにセットし、次いで、ホスト処理装置への割り込みを生じさせる。
【００２４】
ここで図２ａおよび２ｂに転じ、標準的なＰＣＩｅ要求および完了のヘッダについて説明する。典型的なＰＣＩｅメモリ要求はヘッダを含み、要求が書き込みの場合は、ペイロード・データも含む。読み取り要求に対する典型的ＰＣＩｅメモリ完了は、ヘッダおよびペイロード・データを含む。標準的ＰＣＩｅ要求ヘッダ２００は複数のフィールドを含む。図２ａの実施形態に示すように、標準的な６４ビット・アドレスＰＣＩｅ要求のヘッダ２００の最初の４バイト２０２は、「Ｒ」で表された８つの予備ビットと、アドレス長（３２または６４ビットのいずれか）およびパケットが要求かまたは完了かを表すフォーマット・フィールド（Ｆｍｔ）と、トラフィック・クラス・フィールド（「ＴＣ」）と、トランザクション・レイヤ・パケット・ダイジェスト（「ＴＤ」）と、ポイズン・ビット（「ＥＰ」）と、属性（「Ａｔｔｒ」）と、アドレス型（「ＡＴ」）と、４バイト・インクリメントでの長さと、を含み、ＰＣＩｅ要求ヘッダは、さらに、一緒にトランザクションＩＤを構成する要求元ＩＤフィールド２０４およびタグ・フィールド２１０と、最終および第一ダブルワード・バイト・イネーブル（最終ＤＷ  ＢＥおよび第一ＤＷ  ＢＥ）と、を含む。要求元ＩＤフィールド２０４は、応答が提供される場合に、要求の発信元を識別し、応答を該要求元に送るため、コンピュータ・システム１００のルーティング・メカニズムが使用する情報を含む。アドレス・フィールド（２０６および２０８）は、高位ビットのセット２０６および低位ビットのセット２０８を含む。アドレス・フィールド（２０６および２０８）は両方合わさって、下りトランザクションのため、要求が向けられるＰＣＩｅアダプタ１１０またはＩ／Ｏ拡張アダプタ１１１のアドレス、あるいは、上りトランザクションのためのシステム・メモリ１０４のシステム・メモリ・アドレスのうちのいずれかを示す。
【００２５】
完了パケットは、一般に、ヘッダおよびペイロード（図示せず）セグメントを含む。図２ｂは、標準的なＰＣＩｅ完了のヘッダ２５０を示す。ＰＣＩｅ完了ヘッダ２５０の最初のバイト群２５２は、「Ｒ」で表された９つの予備ビットと、アドレス長（３２または６４ビットのいずれか）およびパケットが要求かまたは完了かを表すフォーマット・フィールド（Ｆｍｔ）と、トラフィック・クラス・フィールド（「ＴＣ」）と、トランザクション・レイヤ・パケット・ダイジェスト（「ＴＤ」）と、ポイズン・ビット（「ＥＰ」）と、属性（「Ａｔｔｒ」）と、４バイト・インクリメントでの長さと、を含み、ＰＣＩｅ完了ヘッダは、さらに、完了先ＩＤ２５４と、完了ステータス２５８と、修正バイト・カウント２６０（「ＢＣＭ」）と、バイト・カウント２６２と、要求のトランザクションＩＤを構成する要求元ＩＤフィールド２５６およびタグ・フィールド２６４と、ペイロード・データの開始点を示す低位アドレス２６８と、を含む。完了先ＩＤフィールド２５４は、完了を遂行したＰＣＩｅアダプタ１１０、またはＩ／Ｏ拡張アダプタ１１１、またはホストの識別である。ＰＣＩｅ完了ヘッダ２５０の要求元ＩＤ２５６およびタグ２６４は、メモリ完了をそれらが対応するメモリ要求にマッチさせるため、ＰＣＩｅ要求ヘッダ２００の要求元ＩＤ２０４およびタグ２１０を包含する。要求元ＩＤ２５６は、完了情報をメモリ要求の発信元に返送するために使われる。また、ＰＣＩｅ完了ヘッダ２５０は、要求が成功裏に完了したのか、もしくは、アダプタ（ＰＣＩｅアダプタ１１０またはＩ／Ｏ拡張アダプタ１１１）あるいはホストが要求を処理した過程でエラーが生じたのかどうかを示すための完了ステータス・フィールド２５８も含む。
【００２６】
ここで図３に転じて、Ｉ／Ｏ拡張オペレーションを解釈し、ホスト・バス１２０からＰＣＩｅバス１２６に伝送するための、図１に示された下り拡張ロジック１２８（Ｉ／Ｏ拡張ロジック１２２の部分）の例示的な実施形態を説明する。Ｉ／Ｏ拡張オペレーションは、複数のメモリ要求（本明細書では「下り要求」ともいう）および複数の応答（本明細書では「下り応答」ともいう）を含む。ホスト・バス１２０は、ホスト・システム１２４を図１のＩ／Ｏハブ１１２に接続し、要求および応答を、ホスト・システム１２４から、ＰＣＩｅアダプタ１１０およびＩ／Ｏ拡張アダプタ１１１に向かわせるための伝送サービスを提供する。Ｉ／Ｏ拡張アダプタ１１１は、ＰＣＩｅバス１２６が使うＰＣＩｅ標準フォーマットとは互換性のない（すなわちサポートされていない）通信フォーマットで動作し、従い、Ｉ／Ｏ拡張アダプタ１１１内で、ＰＣＩｅバス１２６との通信を可能にするために変換ロジック１３２が実行される。変換ロジック１３２は、Ｉ／Ｏ拡張アダプタ１１１内で、要求および応答を、ＰＣＩｅバス１２６が解釈できるフォーマットに変換（すなわち、再フォーマット）する。ある例示的な実施形態において、変換ロジック１３２は、Ｉ／Ｏ拡張アダプタ１１１中の論理回路で実行される。別の実施形態では、変換ロジック１３２は、Ｉ／Ｏ拡張アダプタ１１１とＰＣＩｅバス１２６とに通信可能に連結された一つ以上の特殊ハードウェア回路上で実行される。さらに別の実施形態においては、変換ロジック１３２は、Ｉ／Ｏ拡張アダプタ１１１内でソフトウェアとして実行される。下り要求および下り応答は、両方共にホスト・システム１２４によって発信されるオペレーションであるが、これらのオペレーションの各々を処理するために、下り拡張ロジック１２８の中の各種の処理フローが使われる。
【００２７】
ある例示的な実施形態において、下り要求がホスト・バス１２０の上に置かれる。下り要求がホスト・バス１２０の上に置かれた後、図１のＩ／Ｏバス１１２が、その下り要求を回収し、それを下り拡張ロジック１２８に渡す。下り拡張ロジック１２８は、メモリ要求中に包含される情報に基づいて、ルーティングおよび変換サービスを提供する。下りＩ／Ｏ拡張ベクトル３０４を使って、該下り要求が、図１のＩ／Ｏ拡張アダプタ１１１の一つに送信されるのかどうかが判定される。下りＩ／Ｏ拡張ベクトル３０４は、下り要求のヘッダから情報を読み出し、ビット選択ロジック３０６を使って下り要求の送り先を判定する。キャッシュ禁止（ＣＩ：ｃａｃｈｅ  ｉｎｈｉｂｉｔｅｄ）ロード／ストア・コントローラ３０８は、ホスト・システム１２４が、応答が必要なことを示している場合、ターゲットＩ／Ｏ拡張アダプタ１１１を表すホスト・アドレスの部分、およびオペレーション・コードなど下り要求に関する情報を格納する。
【００２８】
ある例示的な実施形態において、図１のＩ／Ｏ拡張アダプタ１１１の一つに宛てられた下り要求が、マルチプレクサ３１２によってＰＣＩｅ互換性の下り要求に変換される。さらなる実施形態において、ＣＩロード／ストア・コントローラ３０８は、Ｉ／Ｏハブ１１２からＰＣＩｅバス１２６に送信されるメモリ要求のヘッダ中にオペコードをセットし、このデータは、ブロック３１０で上り応答を処理するために使われる。このさらなる詳細については、図４を参照しながら後記で説明する。
【００２９】
ある例示的な実施形態において、Ｉ／Ｏ拡張アダプタ１１１の一つからの要求を完了するのに応じて、ホスト・システム１２４から下り応答が発信される。この下り応答は、ホスト・バス１２０上に置かれ、Ｉ／Ｏハブ１１２により回収されて下り拡張ロジック１２８に渡される。図３に示されているＤＭＡ完了テーブル３２０は、応答を待っている全要求に対する記録を包含する。ある例示的な実施形態では、ＤＭＡ完了テーブル３２０中の記録は、更新され、ホスト・システム１２４からＩ／Ｏ拡張アダプタ１１１への下り応答を転送するために必要な情報が含められる。応答アドレス・テーブル（ＲＡＴ：ｒｅｓｐｏｎｓｅ  ａｄｄｒｅｓｓ  ｔａｂｌｅ）３１８は、下り応答のルーティングの情報を検索するために使われる。Ｉ／Ｏ拡張アダプタ１１１からホスト・バス１２０に送信された要求（本明細書では「上り要求」ともいう）が処理される際、これらに対するアドレス情報が格納される。このさらなる詳細については後記で説明する。上り処理ロジックは、ブロック３１６の適切な処理ステップにおいて、アドレス・データをＲＡＴ３１８に送信する。このさらなる詳細については後記で図４を参照しながら説明する。制御ロジック３２２は、オペレーション・コード（本明細書では「オペコード」ともいう）を下り応答に加え、これは下り応答を処理するため、Ｉ／Ｏ拡張アダプタ１１１によって使用される。ある例示的な実施形態において、下り拡張ロジック１２８は、Ｉ／Ｏハブ中のハードウェア回路の中に実装される。ただし、当然のことながら、別の実施形態では当該技術分野で周知のように、下り拡張ロジックを、ハブ内のソフトウェアとして、あるいはハードウェアと該ハブまたは他の論理回路上で実行されるソフトウェアとの組み合わせとして、実行することもできる。
【００３０】
ここで図４に転じ、図１に示された、Ｉ／Ｏ拡張オペレーションを解釈してＰＣＩｅバス１２６からホスト・バス１２０に伝送するための上り拡張ロジック１３０（Ｉ／Ｏ拡張ロジック１２２の部分）の例示的な実施形態について説明する。これらのＩ／Ｏ拡張オペレーションは、複数の要求（本明細書では「上り要求」ともいう）および複数の応答（本明細書では「上り完了」ともいう）を含む。上り要求および上り完了の両方は、Ｉ／Ｏ拡張アダプタ１１１の一つ以上によって発信される。上りＩ／Ｏ拡張ベクトル４２２を使って、上り要求がＩ／Ｏ拡張アダプタ１１１の一つから送信されているかどうかが判定される。上りＩ／Ｏ拡張ベクトル４２２は、上り要求のヘッダから情報を読み取り、ビット選択ロジック４２４を使って、上り要求の発信元を判定する。上り要求の発信元が判定されたならば、そのアドレス・ルーティング情報は、そのデータをブロック４１６のＲＡＴ３１８に移送して、図３のＲＡＴ３１８に格納する。マルチプレクサ４１２を使って、上り要求の、図２ａのＰＣＩｅ要求ヘッダ２００から要求元ＩＤフィールド２０４が抽出される。要求元ＩＤフィールド２０４のバス番号がＲＡＴ３１８に渡される。バス番号、デバイス番号、および機能番号を含む要求元ＩＤフィールド２０４が、マルチプレクサ４１２から、要求元ＩＤ内容アドレス可能メモリ（ＲＩＤ  ＣＡＭ：ｒｅｑｕｅｓｔｅｒ  ＩＤ  ｃｏｎｔｅｎｔ  ａｄｄｒｅｓｓａｂｌｅ  ｍｅｍｏｒｙ）４１４に渡される。ＲＩＤ  ＣＡＭ４１４は、デバイス・テーブル４０２中にインデックスを入力する。デバイス・テーブル４０２を使って、要求元ＩＤフィールド２０４に基づき、図１のＩ／Ｏ拡張アダプタ１１１内における特定の機能の仮想アドレスが判定される。デバイス・テーブル４０２から抽出されたデータは、マルチプレクサ４１０によって修正され、マルチプレクサ４１０のアウトプットは、要求を送信する対象のホスト・システム１２４の正確なアドレスおよび区画を判定するために、ゾーン再配置テーブル４０４によって使用される。パケットのオペレーション・コードは制御ロジック４１８によって処理され、適切なＩ／Ｏ拡張オペレーション・コードに変換された後、ホスト・バス１２０に送信される。
【００３１】
ある例示的な実施形態において、上り完了は前述のように処理されるが、ただし、制御ロジック４１８は、前述の下り要求が処理されたときブロック４２０のＣＩロード／ストア・コントローラ３０８から送信されてきたデータを使って、上り完了を下り要求とマッチさせる。
【００３２】
ここで図５に転じて、上りＩ／Ｏ拡張ポステッド書き込み応答のルーティング処理フローにおける例示的な実施形態の詳細なブロック図について以降に説明する。前述のように、ＰＣＩｅ規格は、ポステッド書き込み要求に対する応答をサポートしておらず、従い、ポステッド書き込み応答をＩ／Ｏ拡張アダプタ１１１に送るには、追加的な処理が必要となる。ある例示的な実施形態において、上りＩ／Ｏ拡張ポステッド書き込み応答のルーティング処理フローが、図１のＩ／Ｏハブ１１２のＩ／Ｏ拡張ロジック１２２中で実行され、下り要求（または下りトランザクション）に対するＩ／Ｏ拡張応答が、図２ａのＰＣＩｅ要求ヘッダ２００のフォーマットに変換される。ブロック５０２で、図１のＩ／Ｏ拡張アダプタ１１１の一つが、図６に示された変換済みＰＣＩｅ要求ヘッダ６００などのフォーマットで、図１のホスト・システム１２４の一つ（本明細書ではターゲット受信先ともいう）において実行されオペレーションに対する要求を発信する。このＰＣＩｅ要求ヘッダ２０２の最初の４バイトは変わらないままで、図２ａに関して前述したのと同じ仕方で機能する。図６に示されるように、図２ａの要求元ＩＤフィールド２０４は、２つの新規フィールド、要求ＩＤバス番号フィールド６０２とゾーンＩＤフィールド６０４とに置き換えられている。要求ＩＤバス番号フィールド６０２は、ホスト・システム１２４で受信された要求の送信元Ｉ／Ｏ拡張アダプタ１１１を識別する。ゾーンＩＤフィールド６０４は、ホスト・システム１２４の論理区画（図示せず）を示すために使用され、Ｉ／Ｏ拡張ロジック１２２によって、当該要求がシステム・メモリ１０４のどの領域に対するものであるかを示すために使われる。各論理区画（ＬＰＡＲ：Ｌｏｇｉｃａｌ  Ｐａｒｔｉｔｉｏｎ）（図示せず）は、ゾーン（図示せず）と呼ばれる、システム・メモリ１０４での個別領域を有する。図２ａのアドレス・フィールド２０６の高位ビットは、Ｉ／Ｏ拡張ロジック１２２に対して、この要求がポステッド・メモリ書き込み要求としてこれもＩ／Ｏ拡張アダプタ１１１から送信されてくるアトミックなオペレーションまたは検査／格納オペレーションとは対照的に、ＤＭＡ書き込みオペレーションであることを示すためのフィールドと、システム・メモリへの無許可アクセスに対する保護のため使われる鍵フィールド６０８とに置き換えられている。アドレス・フィールド２０６の高位ビットを含め、残りのセグメントは、変わらないままである。アドレス・フィールド２０８の低位ビットは変わらないままであり、予備ビット２１６も同様である。具体的な変更について説明しているが、当然のことながら、別の実施形態において、前述の機能を保ちながら、この要求ヘッダ中の他のフィールドまたは値を変更または追加が可能である。
【００３３】
ここでブロック５０４に戻ると、要求はＩ／Ｏハブ１１２で受信され、Ｉ／Ｏ拡張ロジック１２２によって処理される。要求は検査され、それが、Ｉ／Ｏ拡張アダプタ１１１の一つからの要求か、ＰＣＩｅアダプタ１１０の一つからの要求かの判定がされる。要求がＰＣＩｅアダプタ１１０の一つからのものである場合、ブロック５２０で、Ｉ／Ｏハブ１１２は、要求を図１のホスト・バス１２０に転送する。そうではなく、要求がＩ／Ｏ拡張アダプタ１１１の一つからのものである場合、要求ＩＤバス番号フィールド６０２が、ＲＡＴ３１８中へのインデックスとして使われる。ＲＡＴ３１８は、Ｉ／Ｏ拡張アダプタ１１１に返すＰＣＩｅ応答を生成するため使われることになるＰＣＩｅアドレスの一部を包含する。各要求ＩＤに対しＲＡＴ３１８中に一つのエントリがある。ＲＡＴ３１８は、２５６エントリまで収容し、これは可能な全ての要求ＩＤを収容できることになる。各ＲＡＴエントリは、図７のＰＣＩｅアドレス７０６の一部を含む。この部分は、スロット番号７０８およびサブスロット番号７１０を含む。ＲＡＴ３１８中の各エントリは、Ｉ／Ｏ拡張アダプタ１１１がオンライン化されたときに、ファームウェア（図示せず）によって初期化される。ブロック５０６で、ゾーンＩＤフィールド６０４および書き込みタグ・フィールド２１０がＰＣＩ要求から抽出され、これらのフィールドは、ホスト・システム１２４への要求を形成するために用いられる。ブロック５０８で、ＲＡＴ３１８から抽出されたルーティング情報は、図３のＤＭＡ完了テーブル３２０中に格納される。ブロック５１０で、要求は図１のホスト・バス１２０に送信され、該バスはそれをホスト・システム１２４に送信し、Ｉ／Ｏ拡張ロジック１２２は、Ｉ／Ｏ拡張アダプタ１１１から返信されることになる応答を待つ。ブロック５１２で、Ｉ／Ｏハブ１１２は、要求の完了ステータスを表す応答をホスト・システム１２４から受信する。Ｉ／Ｏ拡張ロジック１２２は、応答を処理し、マッチしている要求への応答であることを判定するために、ホスト応答の中のタグを、ＤＭＡ完了テーブル３２０に格納された待機中のルーティング情報とマッチさせる。応答が、ＰＣＩｅアダプタ１１０からのメモリ読み取り要求に対するものである場合、ホスト・システム１２４からの応答はＰＣＩ要求となる。応答が、ＰＣＩｅアダプタ１１０からのメモリ書き込み要求に対するものである場合、ホスト・システム１２４からの応答は投棄される。応答が、Ｉ／Ｏ拡張アダプタ１１１からのメモリ読み取り要求に対するものである場合、ホスト・システム１２４からの応答は、ＰＣＩ定義の完了となるが、ただし、完了先ＩＤ（図示せず）中のフィールドが、ホスト・システム１２４からの応答コードに置き換えられる。応答が、Ｉ／Ｏ拡張アダプタ１１１からのポステッド・メモリ書き込み要求に対するものである場合、ホスト・システム１２４からの応答は、ポステッド・メモリ書き込み要求に変換される。この場合、ブロック５１４で、ＤＭＡ完了テーブル３２０中に格納されたルーティング情報が、Ｉ／Ｏ拡張の送り先情報検索のため使われる。ホスト・システム１２４からの応答コード・フィールド７１４、およびオペレーション・コード・フィールド７０４は、このパケットが、ポステッド・メモリ書き込み要求からの応答であることを示す。
【００３４】
スロット番号およびサブスロット番号を含む送り先情報は、図７に示された変換済みＰＣＩ要求ヘッダ７００などの変換済みＰＣＩｅ要求ヘッダ中に組み込まれる。ＰＣＩｅ要求ヘッダ２０２の最初の４バイトは、変わらないままで、図２ａに関して前述したのと同じ仕方で機能する。図７に示されるように、図２ａの要求元ＩＤフィールド２０４は、２つの新規フィールド、要求ＩＤバス番号フィールド７０２とオペレーション・コード・フィールド７０４とに置き換えられている。要求ＩＤバス番号フィールド７０２は、ホスト・ルート・コンプレックス（図示せず）のバス番号である。オペレーション・コード・フィールド７０４は、Ｉ／Ｏ拡張アダプタ１１１によって発行されている要求の種類を示すために使用され、ホスト・システム１２４の一つによって、それが遂行すべきオペレーションを示すために使われる。図２ａのアドレス・フィールド２０６の高位ビットは、どのＩ／Ｏ拡張アダプタに応答を送信するのかを示すため、上記のブロック５１４で、ＲＡＴ３１８から読み出されたスロット番号フィールド７０８とサブスロット番号フィールド７１０とに置き換えられている。アドレス・フィールド２０６の高位ビットを含め、残りのセグメントは、変わらないままである。アドレス・フィールド２０８の低位ビットは使われずゼロにセットされている。応答コード・フィールド７１４は、ホスト・システム１２４からの応答に沿った応答コードにセットされ、要求されたオペレーションのステータスを表すために使われる。この応答コードは、良好ステータス・コードと、無効アドレスおよび一般エラーなど、いくつかの不具合ステータス・コードとを含む。タグ・フィールド７１０は、要求に従ってセットされ、応答を要求とマッチさせるために使われる。追加フィラー・フィールド７１８は、一切のペイロードを整列２５６バイト境界内に保つため、ゼロにセットされる。図２ａの予備ビット２１６は変わらないままである。具体的な変更内容について説明しているが、当然のことながら、別の実施形態において、前述の機能を保ちながら、この要求ヘッダ中の他のフィールドまたは値を変更または追加することもあり得る。
【００３５】
ここで、図５のブロック５１８に戻ると、ＰＣＩｅ要求ヘッダがＩ／Ｏ拡張ロジック１２２によって変更されたならば、その要求は、ＰＣＩｅ要求ヘッダ６００に記されたＩ／Ｏ拡張アダプタ１１１に送信される。
【００３６】
技術的効果および利益には、ＰＣＩｅ準拠アダプタとともにＰＣＩｅアーキテクチャに実装される、非ＰＣＩｅ準拠のＩ／Ｏアダプタが、ＰＣＩｅバスおよびＰＣＩｅスイッチ・メカニズムの修正を要することなく使用可能になることが含まれる。
【００３７】
本明細書で使用する用語は、単に特定の実施形態を説明する目的のためのものであり、本発明を限定することは意図されていない。本明細書で用いられる、単数形「ある（“ａ”、“ａｎ”）」、および「該（“ｔｈｅ”）」は、文脈上明確に別途に示されていなければ、複数形も同じように含むことが意図されている。さらに、当然のことながら、本明細書で用いられる「含む（“ｃｏｍｐｒｉｓｅ”）」もしくは「含んでいる（“ｃｏｍｐｒｉｓｉｎｇ”）」またはその両方は、述べられた機能、完全体、ステップ、オペレーション、エレメント、またはコンポーネント、あるいはこれらの複数の存在を特定するが、一つ以上の他の機能、完全体、ステップ、オペレーション、エレメント、コンポーネント、もしくはこれらの群、または上記の組み合わせの存在あるいは追加を排除するものではない。
【００３８】
添付の請求項中のミーンズ・プラス・ファンクションまたはステップ・プラス・ファンクションの要素全ての、対応する構造、材料、動作および均等物は、具体的に請求された他の請求要素と組み合わせて機能を遂行するための、一切の構造、材料または動作を包含することが意図されている。本発明の記述は、例示および説明の目的で提示されたもので、網羅的であることも、または本発明を開示した形態に限定することも意図されていない。当業者には、本発明の範囲および精神から逸脱することのない多くの修改および変形が明白であろう。本実施形態は、本発明の原理および実際的な応用を最善に説明し、他の当業者が、意図する特定の用途に適したさまざまな修改を加えたさまざまな実施形態に関して、本発明を理解できるように選択し説明されたものである。
【００３９】
当業者には明らかなように、本発明の態様は、システム、方法、またはコンピュータ・プログラム製品として具現することができる。従って、本発明の態様は、全体がハードウェアの実施形態、全体がソフトウェアの実施形態（ファームウエア、常駐ソフトウェア、マイクロコードなどを含む）、あるいは、一般に本明細書では全て「回路」、「モジュール」、または「システム」と呼ばれることもある、ソフトウェアおよびハードウェア態様を組み合わせた実施形態の形を取ることができる。さらに、本発明の態様は、コンピュータ可読プログラム・コードが具現化されている一つ以上のコンピュータ可読媒体（群）において具現されたコンピュータ・プログラム製品の形を取ることもできる。
【００４０】
一つ以上のコンピュータ可読媒体（群）の任意の組み合わせを用いることができる。コンピュータ可読媒体は、コンピュータ可読信号媒体、またはコンピュータ可読記憶媒体とすることができる。コンピュータ可読記憶媒体は、例えば、以下に限らないが、電子、磁気、光学、電磁気、赤外線、もしくは半導体システム、装置、またはデバイス、あるいはこれらの任意の適切な組み合わせとすることができる。コンピュータ可読記憶媒体のさらに具体的な例（非包括的リスト）には、一つ以上の配線を有する電気接続、携帯型コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ（ＲＡＭ：ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ）、読み取り専用メモリ（ＲＯＭ：ｒｅａｄ−ｏｎｌｙ  ｍｅｍｏｒｙ）、消去可能プログラム可能読み取り専用メモリ（ＥＰＲＯＭ（ｅｒａｓａｂｌｅ  ｐｒｏｇｒａｍｍａｂｌｅ  ｒｅａｄ−ｏｎｌｙ  ｍｅｍｏｒｙ）またはフラッシュ・メモリ）、光ファイバ、携帯型コンパクト・ディスク読み取り専用メモリ（ＣＤ−ＲＯＭ：ｃｏｍｐａｃｔ  ｄｉｓｃ  ｒｅａｄ−ｏｎｌｙ  ｍｅｍｏｒｙ）、光記憶デバイス、磁気記憶デバイス、またはこれらの任意の適切な組み合わせが含まれよう。本文書の文脈において、コンピュータ可読記憶媒体は、命令実行システム、装置、またはデバイスによってまたはこれらに関連させて使用するためのプログラムを、包含または格納できる任意の有形媒体とすることができる。
【００４１】
コンピュータ可読信号媒体には、例えばベースバンド中にまたは搬送波の一部としてコンピュータ可読プログラム・コードが具現化された、伝播データ信号を含めることができる。かかる伝播信号は、以下に限らないが、電磁気、光学、またはこれらの任意の適切な組み合わせを含め、さまざまな形態の任意の形を取ることができる。コンピュータ可読信号媒体は、コンピュータ可読記憶媒体ではないが、命令実行システム、装置、もしくはデバイスによってまたはこれらに関連させて使用するためのプログラムを通信、伝播、または伝送が可能な任意のコンピュータ可読媒体であり得る。
【００４２】
コンピュータ可読媒体中に具現されたプログラム・コードは、以下に限らないが、無線、有線、光ファイバ・ケーブル、ＲＦなど、またはこれらの任意の適した組み合わせを含め、任意の適切な媒体を用いて送信することができる。
【００４３】
本発明の態様のオペレーションを実行するためのコンピュータ・プログラム・コードは、Ｊａｖａ（Ｒ）、Ｓｍａｌｌｔａｌｋ（Ｒ）、Ｃ＋＋などのオブジェクト指向プログラミング言語、および、“Ｃ”プログラミング言語または類似のプログラミング言語などの従来式手続き型プログラミング言語を含め、一つ以上のプログラミング言語の任意の組み合せで記述することができる。このプログラム・コードは、スタンドアロン・ソフトウェア・パッケージとしてユーザのコンピュータで全体的に実行することも、ユーザのコンピュータで部分的に実行することも、またはユーザのコンピュータで部分的に、且つ遠隔コンピュータで部分的に実行することも、または遠隔のコンピュータもしくはサーバで全体的に実行することもできる。後者のシナリオでは、ローカル・エリア・ネットワーク（ＬＡＮ：ｌｏｃａｌ  ａｒｅａ  ｎｅｔｗｏｒｋ）または広域ネットワーク（ＷＡＮ：ｗｉｄｅａｒｅａ ｎｅｔｗｏｒｋ）を含む任意の種類のネットワークを介して、遠隔コンピュータをユーザのコンピュータに接続することができ、あるいは（例えばインターネット・サービス・プロバイダを使いインターネットを介し）外部のコンピュータへの接続を行うことができる。
【００４４】
本発明の実施形態による方法、装置（システム）およびコンピュータ・プログラム製品のフローチャート図もしくはブロック図またはその両方を参照しながら、本発明の態様を上記で説明している。当然のことながら、フローチャート図もしくはブロック図またはその両方の各ブロック、および、フローチャート図もしくはブロック図またはその両方中のブロックの組み合せは、コンピュータ・プログラム命令によって実装可能である。これらのコンピュータ・プログラム命令を、汎用コンピュータ、特殊用途コンピュータ、またはマシンを形成する他のプログラム可能データ処理装置のプロセッサに供給し、コンピュータまたは他のプログラム可能データ処理装置のプロセッサを介して実行されるこれらの命令が、フローチャートもしくはブロック図またはその両方のブロックまたはブロック群中に規定された機能群／処理群を実施するための手段を生成するようにすることができる。
【００４５】
また、これらのコンピュータ・プログラム命令を、コンピュータ、他のプログラム可能データ処理装置、または他のデバイスに対し特定の仕方で機能するよう命令できるコンピュータ可読媒体に格納し、そのコンピュータ可読媒体に格納された命令が、フローチャートもしくはブロック図またはその両方のブロックまたはブロック群中に規定された機能／処理を実装する命令群を包含する製造品を生成するようにすることができる。
【００４６】
さらに、コンピュータ・プログラム命令を、コンピュータ、他のプログラム可能データ処理装置、または他のデバイスにロードして、これらコンピュータ、他のプログラム可能装置、または他のデバイス上で一連のオペレーション・ステップを実行させてコンピュータに実装されるプロセスを生成し、これらコンピュータまたは他のプログラム可能装置で実行されるこれらの命令が、フローチャートもしくはブロック図またはその両方のブロックまたはブロック群中に規定された機能群／処理群を実装するためのプロセスを提供するようにすることもできる。
【００４７】
前述のように、諸実施形態は、コンピュータ実装の処理およびそれらの処理を実行する装置の形で具現することができる。例示的な諸実施形態において、本発明は、一つ以上のネットワーク・エレメントによって実行される、コンピュータ・プログラム・コード中に具現される。諸実施形態は、製造品として、有形の媒体中に具現された命令群を包含するコンピュータ・プログラム・コード・ロジックを備えた、コンピュータ可用媒体によるコンピュータ・プログラム製品を含む。コンピュータ可用媒体に対する例示的な製造品は、フレキシブル・ディスケット、ＣＤ−ＲＯＭ、ハード・ドライブ、ユニバーサル・シリアル・バス（ＵＳＢ：ｕｎｉｖｅｒｓａｌ  ｓｅｒｉａｌ  ｂｕｓ）フラッシュ・ドライブ、または他の任意のコンピュータ可読ストレージ媒体を含み、コンピュータ・プログラム・コード・ロジックがコンピュータにロードされ実行されたとき、該コンピュータは本発明を実行するための装置となる。諸実施形態は、コンピュータ・プログラム・コード・ロジックを含み、本コンピュータ・プログラム・コード・ロジックは、例えば、ストレージ媒体に格納されても、コンピュータにロードされもしくはコンピュータにより実行されてもまたはその両方が行われても、あるいは、電気配線もしくはケーブルを通じ、光ファイバを通し、または電磁放射を介するなど何らかの送信媒体を介して伝送されても、本コンピュータ・プログラム・コード・ロジックがコンピュータにロードされ実行されたとき、そのコンピュータは本発明を実行するための装置になる。汎用マイクロプロセッサに実装された場合、本コンピュータ・プログラム・コード・ロジックのセグメントは、該マイクロプロセッサを、特定の論理回路を生成するように構成する。
【００４８】
図中のフローチャートおよびブロック図は、本発明のさまざまな実施形態による、システム、方法、およびコンピュータ・プログラム製品の考えられる実装のアーキテクチャ、機能、およびオペレーションを例示している。この点に関し、フローチャートまたはブロック図中の各ブロックは、所定の論理機能（群）を実装するための一つ以上の実行可能命令を含む、モジュール、セグメント、またはコードの部分を表し得る。また、一部の別の実装においては、ブロック中に記載された機能が、図に記載された順序を外れて行われることがあり得ることに留意すべきである。例えば、連続して示された２つのブロックが、実際にはほぼ同時に実行されることがあり、関与する機能によっては、時には、これらブロックが逆の順序で実行されることもあり得る。さらに、ブロック図もしくはフローチャート図またはその両方の各ブロック、およびブロック図もしくはフローチャート図またはその両方中のブロックの組み合わせは、特定の機能または処理を実施する、専用ハードウェア・ベースのシステム、または専用ハードウェアとコンピュータ命令との組み合わせによって実装可能なことにも留意すべきである。
【図１】
2013527955.tif 000003
【図２】
2013527955.tif 000004
【図３】
2013527955.tif 000005
【図４】
2013527955.tif 000006
【図５】
2013527955.tif 000007
【図６】
2013527955.tif 000008
【図７】
2013527955.tif 000009
【手続補正書】
【提出日】平成24年10月11日(2012.10.11)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
非標準入力／出力（Ｉ／Ｏ）アダプタを、Ｉ／Ｏバスに通信可能に連結されたＩ／Ｏハブ、および複数のＩ／Ｏアダプタ・アドレスのＩ／Ｏアダプタを含む、標準化されたＩ／Ｏアーキテクチャの中に実装するためのシステムであって、前記Ｉ／Ｏハブは、
前記複数のＩ／Ｏアダプタから要求を受信するための手段であって、各要求はターゲット受信先のアドレスとオペレーション・コードとを含む、前記受信するための手段と、
要求元の前記Ｉ／Ｏアダプタ・アドレスを、それらの対応するターゲット受信先アドレスおよびオペレーション・コードとともに格納するための手段と、
前記要求を前記ターゲット受信先に送信するための手段と、
応答先アドレスの応答先から応答を受信するための手段であって、前記応答は要求が完了されたことを示し、前記応答はターゲット受信先のアドレスおよび応答先オペレーション・コードを包含する、前記受信するための手段と、
前記応答が、前記Ｉ／Ｏバスによってサポートされているフォーマット以外のフォーマットであることを判定するための手段と、
前記応答を、前記Ｉ／Ｏバスによってサポートされている前記フォーマットに変換するための手段と、
前記応答先アドレスにマッチする対応ターゲット受信先アドレスと前記応答先オペレーション・コードにマッチする対応オペレーション・コードとを有する、格納済みのＩ／Ｏアダプタ・アドレスを検索する手段と、
前記変換された応答を前記格納済みのＩ／Ｏアダプタ・アドレスに送信するための手段と、
を含む、前記システム。
【請求項２】
前記Ｉ／ＯバスはＰＣＩｅバスである、請求項１に記載のシステム。
【請求項３】
前記要求の前記フォーマットはＩ／Ｏ拡張フォーマットである、請求項１または請求項２に記載のシステム。
【請求項４】
前記Ｉ／Ｏアダプタは、少なくとも一つのＩ／Ｏ拡張アダプタと少なくとも一つのＰＣＩｅアダプタとを含む、請求項１〜請求項３のいずれか一項に記載のシステム。
【請求項５】
前記変換された要求は、前記Ｉ／Ｏアダプタおよび前記要求元によってサポートされていないフォーマットである、請求項１〜請求項４のいずれか一項に記載のシステム。
【請求項６】
前記要求がデータを格納する要求であることを判定するための手段と、
前記判定するのに応じて、前記要求元についての情報を前記Ｉ／Ｏハブに格納するための手段であって、前記情報は、
前記要求元アドレス、および
前記オペレーション・コードを含み、
前記オペレーション・コードは遂行対象のオペレーションを識別する、前記格納するための手段と、
をさらに含む、請求項１に記載のシステム。
【請求項７】
前記応答が前記Ｉ／Ｏバス上でサポートされていないと判定するのに応じて新規要求を生成するための手段と、
前記要求が完了されたことを前記新規要求のヘッダ内に表示している前記応答を、前記Ｉ／Ｏバスを介して送信するための手段と、
をさらに含む、請求項１〜請求項６のいずれか一項に記載のシステム。
【請求項８】
標準化された入力／出力（Ｉ／Ｏ）アーキテクチャ内に、非標準Ｉ／Ｏアダプタを実装する方法であって、前記方法は、
複数のＩ／Ｏアダプタからの要求をＩ／Ｏハブにおいて受信するステップであって、各要求は、ターゲット受信先のアドレスとオペレーション・コードとを包含する、前記受信するステップと、
要求元のＩ／Ｏアダプタ・アドレスを、それらの対応するターゲット受信先アドレスおよびオペレーション・コードとともに格納するステップと、
前記要求を前記ターゲット受信先に送信するステップと、
応答先アドレスの応答先から応答を受信するステップであって、前記応答は要求が完了されたことを示し、前記応答はターゲット受信先のアドレスおよび応答先のオペレーション・コードを包含する、前記受信するステップと、
前記応答が、Ｉ／Ｏバスによってサポートされているフォーマット以外のフォーマットであることを判定するステップと、
前記応答を、前記Ｉ／Ｏバスによってサポートされている前記フォーマットに変換するステップと、
前記応答先アドレスにマッチする対応ターゲット受信先アドレス、および前記応答先オペレーション・コードにマッチする対応オペレーション・コードを有する、格納済みのＩ／Ｏアダプタ・アドレスを検索するステップと、
前記変換された応答を前記格納済みのＩ／Ｏアダプタ・アドレスに送信するステップと、
を含む方法。
【請求項９】
前記Ｉ／ＯバスはＰＣＩｅバスである、請求項８に記載の方法。
【請求項１０】
前記要求の前記フォーマットはＩ／Ｏ拡張フォーマットである、請求項８または請求項９に記載の方法。
【請求項１１】
前記Ｉ／Ｏアダプタは、少なくとも一つのＩ／Ｏ拡張アダプタと少なくとも一つのＰＣＩｅアダプタとを含む、請求項８〜請求項１０のいずれか一項に記載の方法。
【請求項１２】
前記変換された要求は、前記Ｉ／Ｏアダプタおよび前記要求元によってサポートされていないフォーマットである、請求項８〜請求項１１のいずれか一項に記載の方法。
【請求項１３】
前記要求がデータを格納する要求であることを判定するステップと、
前記判定するのに応じて、前記要求元についての情報を前記Ｉ／Ｏハブに格納するステップであって、前記情報は、
前記要求元アドレス、および
前記オペレーション・コードを含み、
前記オペレーション・コードは遂行対象のオペレーションを識別する、前記格納するステップと、
をさらに含む、請求項８〜請求項１２のいずれか一項に記載の方法。
【請求項１４】
前記応答が前記Ｉ／Ｏバス上でサポートされていないと判定するのに応じて新規要求を生成するステップと、
前記要求が完了されたことを前記新規要求のヘッダ内に表示している前記応答を、前記Ｉ／Ｏバスを介して送信するステップと、
をさらに含む、請求項８〜請求項１３のいずれか一項に記載の方法。
【請求項１５】
コンピュータ・システム中にロードされ、その中で実行されたとき、前記コンピュータに、請求項８〜請求項１４のいずれかに記載の方法の全ステップを遂行させるコンピュータ・プログラム・コード、を含むコンピュータ・プログラム。
【手続補正書】
【提出日】平成25年4月2日(2013.4.2)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
非標準入力／出力（Ｉ／Ｏ）アダプタを、Ｉ／Ｏバスに通信可能に連結されたＩ／Ｏハブ、および複数のＩ／Ｏアダプタ・アドレスのＩ／Ｏアダプタを含む、標準化されたＩ／Ｏアーキテクチャの中に実装するためのシステムであって、前記Ｉ／Ｏハブは、
前記複数のＩ／Ｏアダプタから要求を受信するための手段であって、各要求はターゲット受信先のアドレスとオペレーション・コードとを含む、前記受信するための手段と、
要求元の前記Ｉ／Ｏアダプタ・アドレスを、それらの対応するターゲット受信先アドレスおよびオペレーション・コードとともに格納するための手段と、
前記要求を前記ターゲット受信先に送信するための手段と、
応答先アドレスの応答先から応答を受信するための手段であって、前記応答は要求が完了されたことを示し、前記応答はターゲット受信先のアドレスおよび応答先オペレーション・コードを包含する、前記受信するための手段と、
前記応答が、前記Ｉ／Ｏバスによってサポートされているフォーマット以外のフォーマットであることを判定するための手段と、
前記応答を、前記Ｉ／Ｏバスによってサポートされている前記フォーマットに変換するための手段と、
前記応答先アドレスにマッチする対応ターゲット受信先アドレスと前記応答先オペレーション・コードにマッチする対応オペレーション・コードとを有する、格納済みのＩ／Ｏアダプタ・アドレスを検索する手段と、
前記変換された応答を前記格納済みのＩ／Ｏアダプタ・アドレスに送信するための手段と、
を含む、前記システム。
【請求項２】
前記Ｉ／ＯバスはＰＣＩｅバスである、請求項１に記載のシステム。
【請求項３】
前記要求の前記フォーマットはＩ／Ｏ拡張フォーマットである、請求項１または請求項２に記載のシステム。
【請求項４】
前記Ｉ／Ｏアダプタは、少なくとも一つのＩ／Ｏ拡張アダプタと少なくとも一つのＰＣＩｅアダプタとを含む、請求項１〜請求項３のいずれか一項に記載のシステム。
【請求項５】
前記要求がデータを格納する要求であることを判定するための手段と、
前記判定するのに応じて、前記要求元についての情報を前記Ｉ／Ｏハブに格納するための手段であって、前記情報は、
前記要求元アドレス、および
前記オペレーション・コードを含み、
前記オペレーション・コードは遂行対象のオペレーションを識別する、前記格納するための手段と、
をさらに含む、請求項１に記載のシステム。
【請求項６】
標準化された入力／出力（Ｉ／Ｏ）アーキテクチャ内に、非標準Ｉ／Ｏアダプタを実装する方法であって、前記方法は、
複数のＩ／Ｏアダプタからの要求をＩ／Ｏハブにおいて受信するステップであって、各要求は、ターゲット受信先のアドレスとオペレーション・コードとを包含する、前記受信するステップと、
要求元のＩ／Ｏアダプタ・アドレスを、それらの対応するターゲット受信先アドレスおよびオペレーション・コードとともに格納するステップと、
前記要求を前記ターゲット受信先に送信するステップと、
応答先アドレスの応答先から応答を受信するステップであって、前記応答は要求が完了されたことを示し、前記応答はターゲット受信先のアドレスおよび応答先のオペレーション・コードを包含する、前記受信するステップと、
前記応答が、Ｉ／Ｏバスによってサポートされているフォーマット以外のフォーマットであることを判定するステップと、
前記応答を、前記Ｉ／Ｏバスによってサポートされている前記フォーマットに変換するステップと、
前記応答先アドレスにマッチする対応ターゲット受信先アドレス、および前記応答先オペレーション・コードにマッチする対応オペレーション・コードを有する、格納済みのＩ／Ｏアダプタ・アドレスを検索するステップと、
前記変換された応答を前記格納済みのＩ／Ｏアダプタ・アドレスに送信するステップと、
を含む方法。
【請求項７】
前記Ｉ／ＯバスはＰＣＩｅバスである、請求項６に記載の方法。
【請求項８】
前記要求の前記フォーマットはＩ／Ｏ拡張フォーマットである、請求項６または請求項７に記載の方法。
【請求項９】
前記Ｉ／Ｏアダプタは、少なくとも一つのＩ／Ｏ拡張アダプタと少なくとも一つのＰＣＩｅアダプタとを含む、請求項６〜請求項８のいずれか一項に記載の方法。
【請求項１０】
コンピュータ・システム中にロードされ、その中で実行されたとき、前記コンピュータに、請求項６〜請求項９のいずれかに記載の方法の全ステップを遂行させる、コンピュータ・プログラム・コード、を含むコンピュータ・プログラム。
【国際調査報告】
2013527955.tif 000010
2013527955.tif 000011