(57)【要約】      （修正有）【課題】ＰＣＩｅスイッチに接続される物理装置の機能を統合する。【解決手段】ＰＣＩｅスイッチが、接続ホストシステムによって使用される論理装置を実装する。論理装置は、ホスト管理システム上で実行される論理装置イネーブルソフトウェアによって生成される。論理装置は、１つまたは複数の物理装置を統合できるか、または完全にソフトウェアベースでもよい。接続ホストからのコマンドはホスト内のコマンドおよび応答キュー内で処理され、管理システム内に記憶されるシャドウキューにも反映される。接続（ローカル）ホスト内のキューに対して自動でトリガするために、接続ホストに関連するＤＭＡエンジンがセットアップされる。作業を完了するためのコマンドが物理装置に送られ、管理ソフトウェアに完了信号が送られ、作業に対する応答が、論理装置が存在しないことを知らず、管理システム内のソフトウェアによって実装される接続ホストに直接送られる。【選択図】図２
2014063497.tif 000002
【特許請求の範囲】
【請求項１】
ＰＣＩｅスイッチ内の合成装置の動作を可能にする方法であって、
前記合成装置を、前記ＰＣＩｅスイッチに接続されるローカルホストのコンポーネントに提供すること、
前記ローカルホスト内の読み込み動作および書き込み動作を取得して、前記ＰＣＩｅスイッチの管理システムにローカルホスト・コンポーネントキューのシャドウコピーを生成させること、
前記管理システムにローカルホストドライバの動作を通知することであって、前記ローカルホストは、ドライバをロードする、前記ローカルホストドライバの動作を通知すること、
前記ローカルホスト内で実行される書込みを、前記管理システム上のメモリ内に反映させること、
前記管理システム上でのシャドウキューを生成することであって、前記シャドウキューは、前記ローカルホスト内のコマンドおよび応答キューを反映する、前記シャドウキューを生成すること、
前記ローカルホストのポートに関連するＤＭＡエンジンをセットアップして、前記ローカルホスト内のキューに対して自動でトリガすること、
ＤＭＡエンジンのドアベルに対して合成装置のドアベルをマッピングすることを備える、方法。
【請求項２】
前記ローカルホスト上の割込みベクトルを前記管理システムに供給することをさらに備える、請求項１に記載の方法。
【請求項３】
適切なホスト装置の応答のために、割込みベクトルをＤＭＡエンジンキューに関連させることをさらに備える、請求項１または２に記載の方法。
【請求項４】
複数のローカルホストおよび複数の物理装置が前記合成装置を使用する、請求項１〜３のいずれか一項に記載の方法。
【請求項５】
前記管理システムが、前記ＰＣＩｅスイッチ内に前記合成装置を実装するための実行可能命令を提供する合成装置のイネーブルモジュールを有する、請求項１〜４のいずれか一項に記載の方法。
【請求項６】
前記イネーブルモジュールが、前記ローカルホストからのデータに対して演算を行って、前記データを物理装置に供給する、請求項５に記載の方法。
【請求項７】
前記管理システムが、前記ローカルホスト上に記憶されるキューのシャドウコピーを有する、請求項１〜６のいずれか一項に記載の方法。
【請求項８】
物理装置が前記ローカルホストによって要求された機能を完了すると、前記管理システムに完了信号が送信され、応答が前記ローカルホストに直接送信される、請求項１〜７のいずれか一項に記載の方法。
【請求項９】
前記管理システムと物理装置との間に、前記合成装置に関係するコマンドを伝送するための制御経路があり、前記物理装置と前記ローカルホストとの間にはデータ経路がある、請求項１〜８のいずれか一項に記載の方法。
【請求項１０】
前記管理システム内の前記シャドウキューに反映される、前記ローカルホスト内のキューの更新の１対１のマッピングが存在する、請求項１〜９のいずれか一項に記載の方法。
【請求項１１】
前記合成装置が、関連する物理装置がないソフトウェアによって生成される装置である、請求項１〜１０のいずれか一項に記載の方法。
【請求項１２】
前記ローカルホストと前記管理システムとの間でアドレスをマッピングして、物理装置と前記ローカルホストとの間のデータ伝送を可能にすることをさらに備える、請求項１〜１１のいずれか一項に記載の方法。
【請求項１３】
前記ローカルホスト内のキューを割り当てること、
前記キューを前記合成装置に書き込むことをさらに備える、請求項１〜１２のいずれか一項に記載の方法。
【請求項１４】
ＰＣＩエクスプレススイッチであって、
前記ＰＣＩエクスプレススイッチ内で物理装置の論理的統合を実施するための論理装置のイネーブルモジュールを有する管理システムに関連するＰＣＩエクスプレススイッチであって、
前記論理的統合が接続ホストによって使用され、前記管理システム内のメモリが、前記論理装置内に記憶されるコマンドキュー、応答キュー、およびドアベルのシャドウコピーを記憶する、ＰＣＩエクスプレススイッチ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般にスイッチおよび電子通信に関する。より詳細には、本発明は、複数の装置の機能を統合するために、インテリジェントＰＣＩｅスイッチ内の合成装置または論理装置を使用可能にすることに関する。
【背景技術】
【０００２】
コンピュータアーキテクチャは長年にわたり著しく進歩してきた。最近では、チップ設計者が、ユニバーサルシリアルバス（USB:Universal Serial Bus）インターフェイスコントローラなどの外部データインターフェイスをそのマザーボード内に含めることがますます一般的になってきている。これらのインターフェイスは、ホストコントローラとして知られている。プロセッサは、典型的には入出力（I/O:input/output）相互接続システムを介してコンピュータシステムの他のコンポーネントに接続される。
【０００３】
多くの異なるコンピュータＩ／Ｏ相互接続規格が使用可能である。長年にわたり最も人気があるものの１つは、周辺装置相互接続（PCI:peripheral component interconnect）規格である。ＰＣＩはバスがブリッジのように働くことを可能にし、そのブリッジはローカルプロセッサバスを周辺装置から隔離し、コンピュータの中央処理装置（CPU:Central Processing Unit）が、この相互接続を介してＩＯ装置のホストに接続することを可能にする。
【０００４】
最近では、ＰＣＩエクスプレス（または単純にＰＣＩｅ）と呼ばれるＰＣＩの後継版が普及している。ＰＣＩｅは、既存のＰＣＩアプリケーションとのソフトウェアの互換性を維持しながら、次世代システム向けのより高い性能と、高められた柔軟性および拡張性を提供する。従来のＰＣＩに比べ、ＰＣＩエクスプレスプロトコルは３つの層、つまりトランザクション層、データリンク層、および物理層を有し、はるかに複雑である。
【０００５】
ＰＣＩエクスプレスシステムでは、ルートコンプレックス装置が、プロセッサおよびメモリサブシステムを、１つまたは複数のスイッチ装置からなるＰＣＩエクスプレススイッチファブリックに接続する（ただし実施形態はスイッチなしでも可能である）。ＰＣＩエクスプレスでは、二地点間アーキテクチャが使用される。ＰＣＩシステム内のホストブリッジと同様に、ルートコンプレックスが、ローカルＩ／Ｏ相互接続を介して相互接続されるプロセッサの代わりにトランザクション要求を生成する。ルートコンプレックスの機能は個別装置として実装することができ、またはプロセッサに統合されてもよい。ルートコンプレックスは、２つ以上のＰＣＩエクスプレスポートを含むことができ、複数のスイッチ装置がルートコンプレックス上のポートに接続されまたはカスケードされ得る。
【０００６】
一例として図１は、スイッチ管理ソフトウェアを実行する管理ホスト１０４によって制御される標準的なＰＣＩｅスイッチ１０２を有する、通常の共用ＩＯアーキテクチャを示すブロック図である。スイッチ１０２は、接続ホスト１０６および接続ホスト１０８（「ローカルホスト」とも呼ぶ）、例えばサーバ、ＰＣ、および他のコンピューティング装置として図示する、１つまたは複数のホストにサービス提供する。スイッチには、接続ホストに何らかの種類の機能またはサービスを一般に提供する１つまたは複数の装置１１０〜１１６も接続される。スイッチ１０２には仮想装置１１８〜１２４がある。接続ホスト１０６には仮想装置１１８および１２０が接続され、接続ホスト１０８には仮想装置１２２および１２４が接続される。これらの仮想装置の一部は、物理装置１１０〜１１４へのデータ経路を有する。仮想装置１１８〜１２４の機能および役割については、「単一ルート入出力仮想化のマルチルート共用（MULTI-ROOT SHARING OF SINGLE-ROOT INPUT/OUTPUT VIRTUALIZATION）」と題された同時係属出願の（特許文献１）の中で説明されており、共用Ｉ／Ｏ機構をサポートするＰＣＩｅスイッチの非透過ポートを使用して複数のホストが接続される場合に、リソースのリダイレクト方法を使用する解決策が記載されている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】米国特許出願第１２／９７９，９０４号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００８】
スイッチに接続される物理装置の機能を統合するために、ＤＭＡエンジン、アドレスマッピング、およびメモリ空間リダイレクトを使用することにより、ＰＣＩｅスイッチの機能をさらに高めることが望ましい。さらに、ＲＡＩＤなどの追加の特徴とともにまたは追加の特徴なしに、１組のＳＳＤドライブ（または他の記憶装置）に関する接続ホストのための合成ＮＶＭｅエンドポイントを使用可能にすること、または１組のＳＳＤ／記憶ドライブをいくつかの接続ホストと共用することが望ましい。最後に、たとえリソースが共用することを元々認めなくても、ソフトウェアおよびハードウェアの支援により、十分でないまたは高価なリソースを複数の接続ホスト間で共用することをスイッチが可能にする場合、スイッチの利用者にとって有益である。
【課題を解決するための手段】
【０００９】
本発明の一態様は、スイッチ内の存在しない論理（または合成）装置の動作を可能にすることにより、ＰＣＩエクスプレススイッチの機能を高める方法である。論理装置は、スイッチの動作を制御する管理システムホスト内の論理装置ソフトウェアによって実装される。合成装置は、スイッチに接続されるローカルホストに提供される。ローカルホスト内の書込み操作は取得され、それにより管理システムがローカルホストコンポーネントクエリのシャドウコピーを作成することを可能にする。ローカルホストは、合成装置のためのドライバをロードする。ローカルホスト内で生じる書込みは管理システム内で反映される。ローカルホスト内のコマンドおよび応答キューを反映するシャドウキューが管理システム上で作成される。ローカルホスト内のキューに対して自動でトリガするために、ローカルホストポートに関連するＤＭＡエンジンがセットアップされる。
【図面の簡単な説明】
【００１０】
【図１】スイッチ管理ソフトウェアを実行するシステム管理ホストによって制御される標準的なＰＣＩｅスイッチを有する、通常の共用ＩＯアーキテクチャを示すブロック図である。
【図２】一実施形態による、論理装置を有するＰＣＩｅスイッチ、および論理装置イネーブルソフトウェアを備える管理ホストシステムを示すブロック図である。
【図３】一実施形態による、ＰＣＩｅスイッチ上に合成装置または論理装置をインストールするプロセスのフローチャートである。
【発明を実施するための形態】
【００１１】
次に、本発明を実行するために発明者が考えた最良の態様を含む、本発明の特定の実施形態について詳細に言及する。これらの特定の実施形態の例を添付図面に示す。これらの特定の実施形態に関連して本発明を説明するが、本発明を、記載する実施形態に限定するつもりはないことが理解されよう。逆に、添付の特許請求の範囲によって定める本発明の趣旨および範囲に含まれ得る代替形態、修正形態、および等価物を対象として含むことを意図する。以下の説明では、本発明の完全な理解を提供するために具体的詳細を記載する。本発明は、これらの具体的詳細の一部または全てなしに実践してもよい。さらに、本発明を不要に曖昧にするのを避けるために、よく知られている特徴は詳細に説明していない場合がある。
【００１２】
本発明によれば、様々な種類のオペレーティングシステム、プログラミング言語、計算プラットフォーム、コンピュータプログラム、および／または汎用機械を用いて、コンポーネント、プロセスステップ、および／またはデータ構造を実装することができる。さらに、本明細書に開示する本発明の概念の範囲および趣旨から逸脱することなく、ハードワイヤード装置、書替え可能ゲートアレイ（FPGA:field programmable gate array）、特定用途向け集積回路（ASIC:application specific integrated circuit）など、より汎用性が低い装置も使用できることを当業者なら理解されよう。本発明は、メモリ装置などのコンピュータ可読媒体上に記憶される１組のコンピュータ命令として有形に具体化することもできる。
【００１３】
物理装置をＰＣＩｅスイッチ内の論理装置内に統合するための方法およびシステムであって、論理装置はスイッチ管理システム内のソフトウェアを用いて実装される、方法およびシステムを様々な図面内で説明する。通常、ドアベル（doorbell）とともにコマンドキューおよび完了または応答キューＦＩＦＯモデルを使用し、それらのＦＩＦＯのために割込む任意の装置ドライバモデルを、以下に記載する方法およびシステムを用いて接続ホストに提供することができる。先に進む前に、基本コンポーネントの特徴を述べることが有益である。述べたように、１つは、接続ホストメモリを使う、接続ホストドライバからＤＭＡエンジンへの入出力のためのＦＩＦＯモデルである。もう１つは、新たな作業（work）が追加されるかまたは待機していることをハードウェアに示すために、接続ホストドライバのためにドアベルを使用することである。負荷平衡のために、および作業の完了を示すために、完了キューごとに各完了または応答キューについて割込みが使用される。これらの特徴は、カルフォルニア州サニーベール（Sunnyvale,California）のＰＬＸテクノロジー（PLX Technologies）のカペラ２（Capella 2）スイッチなど、一部のＰＣＩｅスイッチに認められる。添付図面は、本発明の革新的なＰＣＩｅスイッチによって必要とされる追加の特徴を示す。最初に示すのは、これらの追加的特徴の概要である。
【００１４】
一実施形態では、接続ホストがそのコマンドキューに追加することにより作業を生成するとき、管理システム内のキュー／ＦＩＦＯコンテンツに対する自動更新がある。ＤＭＡエンジン（スイッチポートの一部）が、コマンドキュー内のキューに入れられた作業要求を消費システム（consumer systems）／統合システムとも呼ばれる管理システムに自動で転送する。別の特徴は、物理装置から接続ホストまでの直接データ経路である。コマンド（制御経路）が管理システム（ＭＣＰＵ）を通過するのに対し、データ経路は物理装置から接続ホストに直接進むことを認められる。このことは著しい性能利益をもたらし、管理システムにおけるボトルネックを防ぐことにより待ち時間を改善する。例えば、（ＳＳＤ記憶域を含む）典型的な装置は、装置から接続ホストメモリへのＤＭＡ要求を行い（読取りまたは書込み）、ＤＭＡ要求は物理装置から接続ホストに直接供給される。接続ホストの要求は、最初に管理システムに供給され、次いで管理システムは、等価のコマンドを個々の装置（またはドライブ）にリダイレクトするか発行する。別の特徴は、アドレス隔離、および任意の物理装置エンドポイントから様々な接続ホストにアクセスする能力である。この特徴は、管理システムソフトウェアによって使用可能にされるハードウェアのアドレスマッピング／トラッピング機能によって可能にすることができる。接続ホストに論理装置を提供するには、スイッチが接続ホストのＩ／Ｏ列挙サイクル（I/O enumeration cycle）をトラップし（trap）、さらに管理システム内の論理装置ソフトウェアを使ってそれらに正しく応答することが必要である。
【００１５】
本発明の一実施形態では、ＰＣＩｅスイッチに接続される論理装置または存在しない装置が、接続ホスト（ＰＣＩｅスイッチに接続されているホスト）に提供されるかまたは示される。論理装置は物理的に存在せず（非実在であり）、それにより接続ホストへの架空の装置の接続をいつでも可能にする。論理装置は、合成Ｉ／Ｏ統合ＰＣＩｅエンドポイントである。この論理装置は、物理装置を統合するための機構を提供する。論理装置は、物理装置に一切対応することなしに、純粋なソフトウェアによって作成された装置とすることもできる（すなわちその背後に物理装置はない）。論理装置は、ＰＣＩｅエンドポイントとして、またはＲＡＩＤ装置などの特定の実装もしくは配備として具体化される。論理装置は、ＰＣＩｅスイッチの特定のソフトウェアおよびハードウェア促進機能（hardware acceleration features）を使用する。
【００１６】
図２は、一実施形態による、論理装置を有するＰＣＩｅスイッチ、および論理装置イネーブルソフトウェアを備える管理ホストシステムを示すブロック図である。図示するのは、ホスト２０４および３つの物理装置２０６〜２１０に接続される革新的なＰＣＩｅスイッチ２０２である。論理装置ソフトウェアおよび管理システムを動作させるのに必要な他のソフトウェアを有する管理システムホスト２１２が、スイッチ２０２に接続される。論理装置イネーブルソフトウェアは、破線の四角形によって示す論理装置２１４（統合仮想装置とも呼ばれる）を実装する。論理装置２１４は、接続ホスト２０４とともに仮想的に動作する。論理装置２１４は、物理装置２０６〜２１０に進むデータ経路を有する。管理システムホスト２１２は、論理装置２１４を実行する物理装置２０６〜２１０への破線によって示す制御経路を有する。これらの制御経路は、実質的に管理システム２１２内の論理装置イネーブルソフトウェアから生じること、および論理（仮想）装置２１４の物理的な実装を担当することを示すために破線にしてある。
【００１７】
以下に記載する様々な実施形態では、ＰＣＩｅスイッチに論理装置を実装する一方法が、新たな容量（new capacity）内のＤＭＡエンジン、アドレスマッピング、変換、および構成、ならびにメモリ空間および構成空間リダイレクト機能（configuration space redirection features）を利用する。例えば、論理装置内の基底アドレスレジスタ（BAR:Base Address Register）がホスト管理システム内のソフトウェアによって管理メモリにマップされるように、アドレスマッピングが必要な場合がある。このようにして、様々な物理装置の機能が１つの論理装置の下で統合される。別の利点は、ある物理装置が誤りを有するか動作不能になる場合、論理装置が引き続き動作できることである（例えばホストシステムは「ブルースクリーン」シナリオに直面しない）。割込みの統合および生成も可能であり、それによりホストシステム上の負荷を緩和する。この統合なしでは、「ｎ」の物理装置がある場合、割込みを送信する「ｎ」もの数の装置がある可能性があり、場合によっては接続ホストにとって過負荷になり得る。１つの論理装置からの割込みは、ホストシステムの作業負荷を緩和することになる。別の配置シナリオでは、論理装置は、物理ＮＶＭｅまたは非ＮＶＭｅ記憶装置（例えばＳＡＴＡドライブ、ＳＳＣドライブ）を統合することができるＮＶＭｅエンドポイントとすることができる。
【００１８】
関連出願に記載されている方法は、物理装置がどのようにホストに提供されるのかを示す。上記で述べたように、本発明は、論理装置のためのアドレス空間をホスト管理システムＣＰＵ内にマッピングすることにより、存在しない論理装置をホストに提供することに対処する。論理装置はＤＭＡエンジンにも関係付けられ、したがって装置がホストに提供されるとき、ホストはＤＭＡ機能ではなく論理装置だけを見ることができる。通常、論理装置だけがＰＣＩｅスイッチに接続される場合、たとえＤＭＡおよびＮＴ機能が動作していても、接続ホストは他で動作する（underlying）ＤＭＡまたは非透過（NT:non-transparent）を見ないか認識せず、それらは単にホストに示されない。
【００１９】
以下で説明するように、ＤＭＡエンジンはキューおよびドアベルにアタッチされる。キューはホストメモリ内で割り当てられ、論理装置に書き込まれる。キューは、ホスト管理システムメモリ（FIFO）内にマップされる。次いで、論理装置内のキューをホストシステムメモリのキューに関係付けるためにＤＭＡがプログラムされる。さらに、接続ホスト内のドアベルも、ホスト管理システムのドアベルスタックにマップされてもよい。当技術分野で知られているように、装置ドライバは、装置内のコマンドキューにコマンドを送る。１つまたは複数のコマンドキューがあってもよい。ハードウェアがコマンドキュー内のデータに対して演算を行い、結果が応答キュー内に記憶される。述べたように、論理装置はこれらのキューを実装するためのＦＩＦＯを有し、ＤＭＡエンジンがそれらにアタッチされ、または論理装置内のキューを結び付けるためにプログラムされる。
【００２０】
接続ホストドライバが、論理装置のドアベルを活性化するかまたは「通知する（ring）」とき（すなわち接続ホストが論理装置によって提供される機能を使用したいとき）、論理装置のＤＭＡエンジンが、論理装置に関係付けられているため起動し、より詳細には論理装置コマンドキューを認識する。ＤＭＡエンジンは、これを管理システム割込みに供給する。接続ホストによって要求される作業がキュー内に挿入され、プロセスはその通常の動作を実行する。
【００２１】
ホスト上の論理ソフトウェアは、ホスト上の別のまたは追加のソフトウェアなしに作業を行うことができる。作業は専らハードウェアの支援によって行うことができる。
接続ホストドライバは、装置構成空間またはＢＡＲに操作を書き込む。とりわけ接続ホストドライバは、ホスト管理システムメモリ内のシャドウ空間に反映されるＢＡＲ内の装置のレジスタに書き込む。そのため、ＢＡＲのシャドウコピーがホスト管理システム上にある。したがって、論理装置内のＢＡＲへの書込みがある場合、それは管理システム内で反映される。
【００２２】
ホスト管理システム内のシャドウメモリが、最初は接続ホスト内にある書込みを取得する（capture）。当技術分野で知られているように、接続ホストがドライバをロードするとき、その接続ホストは、提供される装置に固有のＢＡＲ内のレジスタを使い始める。ドライバが動作し始め、コマンドを構成し、装置を立ち上げる。ＰＣＩｅスイッチは、全ての書込みおよびコマンドを管理システム内にリダイレクトする。述べたように、接続ホスト内の全ての書込みは、ＰＣＩｅスイッチを介してホスト管理システムのシャドウメモリ内に実施される。
【００２３】
ステップの一つは、ローカルホストメモリ上のデータコマンドおよび応答キューをセットアップすることである。空間をセットアップするか構成するためのコマンド（サポートする必要があるキューの数、論理ディスクの数等）、および他の構成質問（configuration question）は、ホスト管理システム上の論理ソフトウェアによって応答されるかまたは処理され得る。ドライバは、ＦＩＦＯのためにローカルシステムメモリを割り当て、基底アドレスおよびサイズをハードウェアに書き込むことによってキューを構成する。
【００２４】
図３は、一実施形態による、ＰＣＩｅスイッチ上に合成装置または論理装置をインストールするプロセスのフローチャートである。ステップ３０２で、スイッチに接続されるローカルホストに合成装置が提供されまたは示される。ローカルホスト（本明細書では「ホスト」）は、装置によって取得されるバスに対して構成サイクルを実行することにより、ＰＣＩｅ上の装置を列挙する。これについては親特許出願の中で説明されている。ステップ３０４で、ホストシステムソフトウェアが構成空間上にＢＡＲを書込み、論理装置を使用可能にする。ステップ３０６で、スイッチがステップ３０４の書込みを取得し、それにより管理システムがローカルホスト上と同じ構成を構築することを可能にする。スイッチは、同じメモリ空間を割り当てることができるので、ＢＡＲおよびメモリ空間内には１対１のマッピングが存在する。したがって、今では管理システム内にローカルホストＢＡＲのシャドウコピーがある。
【００２５】
ステップ３０８で、ローカルホストが論理装置のためのドライバをロードする。管理システムには、スイッチを介して同じ操作が知らされる。つまり、ローカルホストがホストメモリ内のＢＡＲに何かを書き込むとき、それらの書込みは管理システム内のシャドウメモリに反映される。ステップ３０９で、ローカルホストドライバが、ドライバの初期化および装置構成の問い合わせ（query）を行う。管理システムには、スイッチを介してこれらが知らされる。ステップ３１０で、ローカルホスト内の全ての書込みが管理システム上のシャドウメモリ内に実施される。ドライバは、セットアップコマンドを実行する。
【００２６】
ステップ３１２で、ドライバが、通常通りローカルホスト内のコマンドおよび応答のためのキューをセットアップする。コマンドおよび応答を記憶するためのこれらのＦＩＦＯキューは当技術分野で知られている。ステップ３１４で、シャドウキューが管理システム上のソフトウェアによって作成され、メモリ内に記憶される。ローカルホスト内のキューは、実質的に管理システムメモリにマップされる。ステップ３１６で、ローカルホスト上のキューに対して自動でトリガするために、ローカルホストのポートのためのＤＭＡエンジンがセットアップされる。つまり、ＤＭＡエンジンが、ローカルホスト内のコマンドキューを管理システムメモリ内のコマンドキューに関連付けられるためにプログラムされる。このマッピングは、ステップ２１８においてローカルホスト内のドアベルを使っても行われる。したがって、ホストドライバがドアベルを通知するとき、ＤＭＡが起動する（すなわち自動でトリガされる）。
【００２７】
ステップ３２０で、ローカルホストドライバが、ローカルホスト上で割込みベクトルおよびハンドラをセットアップする。これらの割込みは管理システムに送られ、そのとき２つの異なる動作の一方が発生し得る。ステップ３２２で、管理システムが、実行時中の直接アクセスのために割込みベクトルを記憶する。ステップ３２４で、割込みベクトルが、ローカルホスト応答キューを管理するＤＭＡエンジンキューに関連付けられる。この段階で、ＰＣＩｅスイッチ上への論理装置のインストールが完了する。
【００２８】
上記のように、論理装置は管理システム内のソフトウェアによって実装される。データを処理し、それを物理装置に導くのはこのソフトウェアである。物理装置が機能または作業を完了すると、物理装置の機能が統合される論理装置ソフトウェアによってその作業を命令した管理システムに完了信号が送られる。作業からの応答はローカルホストに直接送られ、ローカルホストでは、その応答が応答キュー内に記憶される。ローカルホスト応答キューのこの更新は、管理システムのシャドウメモリに引き続き反映される。
【００２９】
本明細書の説明は、既存のＰＣＩｅスイッチング技術に対するいくつかの新たな特徴および改善を提供する。一実施形態では、Ｉ／Ｏ物理装置の統合を可能にするハードウェア支援について説明する一方で、この統合を用いて付加価値のある特徴を追加するかまたは使用可能にする。接続ホスト内の論理または合成エンドポイントを使用することによる、接続物理装置から接続ポートへのホットプラグ事象の分離および隔離について説明した。接続ホストに対し、接続物理装置によって生じる割込みの統合および隔離による性能改善もある。最後に、上記に記載した実施形態は、管理システム内のソフトウェアとともに拡張可能であることに留意すべきである。複数のホストおよび物理装置があってもよい（例えば全て１つのＰＣＩｅスイッチに接続される５つの接続ホストによってシャドウィングされる１５の物理装置があってもよい）。
【００３０】
様々な態様、実施形態、実装形態、または説明した実施形態の特徴は、別々に使用しても任意の組合せで使用してもよい。記載した実施形態の様々な側面がソフトウェア、ハードウェア、またはハードウェアとソフトウェアとの組合せによって実装され得る。記載した実施形態は、コンピュータ可読媒体上のコンピュータ可読コードとして具体化されてもよい。コンピュータ可読媒体は、その後コンピュータシステムによって読取可能なデータを記憶することができる任意のデータ記憶装置として定義される。コンピュータ可読媒体の例には、読取専用メモリ、ランダムアクセスメモリ、ＣＤ−ＲＯＭ、ＤＶＤ、磁気テープ、および光学データ記憶装置が含まれる。コンピュータ可読コードが分散式に記憶され実行されるように、コンピュータ可読媒体は、ネットワークに結合されるコンピュータシステムの全体にわたって分散されてもよい。
【００３１】
本発明を、とりわけその特定の実施形態に関して図示し説明してきたが、本発明の趣旨または範囲から逸脱することなく、開示した実施形態の形式および詳細に変更を加えてもよいことを当業者なら理解されよう。さらに、本発明の様々な利点、態様、および目的を様々な実施形態に関して本明細書で論じてきたが、本発明の範囲は、かかる利点、態様、および目的を参照することにより限定されるべきでないことが理解されよう。むしろ、本発明の範囲は、添付の特許請求の範囲を参照することで決定されるべきである。
【図１】
2014063497.tif 000003
【図２】
2014063497.tif 000004
【図３】
2014063497.tif 000005
【外国語明細書】
2014063497000001.pdf