JP2014063497A - 論理装置の機能を有するpciエクスプレススイッチ - Google Patents

論理装置の機能を有するpciエクスプレススイッチ Download PDF

Info

Publication number
JP2014063497A
JP2014063497A JP2013195758A JP2013195758A JP2014063497A JP 2014063497 A JP2014063497 A JP 2014063497A JP 2013195758 A JP2013195758 A JP 2013195758A JP 2013195758 A JP2013195758 A JP 2013195758A JP 2014063497 A JP2014063497 A JP 2014063497A
Authority
JP
Japan
Prior art keywords
host
management system
local host
queue
switch
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.)
Withdrawn
Application number
JP2013195758A
Other languages
English (en)
Other versions
JP2014063497A5 (ja
Inventor
Regula Jack
レグーラ ジャック
Subramaniyan Nagarajan
スブラマニヤン ナガラジャン
Michael Dodson Jeffrey
マイケル ダドソン ジェフリー
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
PLX Technology Inc
Original Assignee
PLX Technology Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Priority claimed from US13/624,781 external-priority patent/US9141571B2/en
Application filed by PLX Technology Inc filed Critical PLX Technology Inc
Publication of JP2014063497A publication Critical patent/JP2014063497A/ja
Publication of JP2014063497A5 publication Critical patent/JP2014063497A5/ja
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4022Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0026PCI express

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)
  • Information Transfer Systems (AREA)

Abstract

【課題】PCIeスイッチに接続される物理装置の機能を統合する。
【解決手段】PCIeスイッチが、接続ホストシステムによって使用される論理装置を実装する。論理装置は、ホスト管理システム上で実行される論理装置イネーブルソフトウェアによって生成される。論理装置は、1つまたは複数の物理装置を統合できるか、または完全にソフトウェアベースでもよい。接続ホストからのコマンドはホスト内のコマンドおよび応答キュー内で処理され、管理システム内に記憶されるシャドウキューにも反映される。接続(ローカル)ホスト内のキューに対して自動でトリガするために、接続ホストに関連するDMAエンジンがセットアップされる。作業を完了するためのコマンドが物理装置に送られ、管理ソフトウェアに完了信号が送られ、作業に対する応答が、論理装置が存在しないことを知らず、管理システム内のソフトウェアによって実装される接続ホストに直接送られる。
【選択図】図2

Description

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

Claims (14)

  1. PCIeスイッチ内の合成装置の動作を可能にする方法であって、
    前記合成装置を、前記PCIeスイッチに接続されるローカルホストのコンポーネントに提供すること、
    前記ローカルホスト内の読み込み動作および書き込み動作を取得して、前記PCIeスイッチの管理システムにローカルホスト・コンポーネントキューのシャドウコピーを生成させること、
    前記管理システムにローカルホストドライバの動作を通知することであって、前記ローカルホストは、ドライバをロードする、前記ローカルホストドライバの動作を通知すること、
    前記ローカルホスト内で実行される書込みを、前記管理システム上のメモリ内に反映させること、
    前記管理システム上でのシャドウキューを生成することであって、前記シャドウキューは、前記ローカルホスト内のコマンドおよび応答キューを反映する、前記シャドウキューを生成すること、
    前記ローカルホストのポートに関連するDMAエンジンをセットアップして、前記ローカルホスト内のキューに対して自動でトリガすること、
    DMAエンジンのドアベルに対して合成装置のドアベルをマッピングすることを備える、方法。
  2. 前記ローカルホスト上の割込みベクトルを前記管理システムに供給することをさらに備える、請求項1に記載の方法。
  3. 適切なホスト装置の応答のために、割込みベクトルをDMAエンジンキューに関連させることをさらに備える、請求項1または2に記載の方法。
  4. 複数のローカルホストおよび複数の物理装置が前記合成装置を使用する、請求項1〜3のいずれか一項に記載の方法。
  5. 前記管理システムが、前記PCIeスイッチ内に前記合成装置を実装するための実行可能命令を提供する合成装置のイネーブルモジュールを有する、請求項1〜4のいずれか一項に記載の方法。
  6. 前記イネーブルモジュールが、前記ローカルホストからのデータに対して演算を行って、前記データを物理装置に供給する、請求項5に記載の方法。
  7. 前記管理システムが、前記ローカルホスト上に記憶されるキューのシャドウコピーを有する、請求項1〜6のいずれか一項に記載の方法。
  8. 物理装置が前記ローカルホストによって要求された機能を完了すると、前記管理システムに完了信号が送信され、応答が前記ローカルホストに直接送信される、請求項1〜7のいずれか一項に記載の方法。
  9. 前記管理システムと物理装置との間に、前記合成装置に関係するコマンドを伝送するための制御経路があり、前記物理装置と前記ローカルホストとの間にはデータ経路がある、請求項1〜8のいずれか一項に記載の方法。
  10. 前記管理システム内の前記シャドウキューに反映される、前記ローカルホスト内のキューの更新の1対1のマッピングが存在する、請求項1〜9のいずれか一項に記載の方法。
  11. 前記合成装置が、関連する物理装置がないソフトウェアによって生成される装置である、請求項1〜10のいずれか一項に記載の方法。
  12. 前記ローカルホストと前記管理システムとの間でアドレスをマッピングして、物理装置と前記ローカルホストとの間のデータ伝送を可能にすることをさらに備える、請求項1〜11のいずれか一項に記載の方法。
  13. 前記ローカルホスト内のキューを割り当てること、
    前記キューを前記合成装置に書き込むことをさらに備える、請求項1〜12のいずれか一項に記載の方法。
  14. PCIエクスプレススイッチであって、
    前記PCIエクスプレススイッチ内で物理装置の論理的統合を実施するための論理装置のイネーブルモジュールを有する管理システムに関連するPCIエクスプレススイッチであって、
    前記論理的統合が接続ホストによって使用され、前記管理システム内のメモリが、前記論理装置内に記憶されるコマンドキュー、応答キュー、およびドアベルのシャドウコピーを記憶する、PCIエクスプレススイッチ。
JP2013195758A 2012-09-21 2013-09-20 論理装置の機能を有するpciエクスプレススイッチ Withdrawn JP2014063497A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/624,781 US9141571B2 (en) 2010-12-28 2012-09-21 PCI express switch with logical device capability
US13/624,781 2012-09-21

Publications (2)

Publication Number Publication Date
JP2014063497A true JP2014063497A (ja) 2014-04-10
JP2014063497A5 JP2014063497A5 (ja) 2016-01-21

Family

ID=49263122

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013195758A Withdrawn JP2014063497A (ja) 2012-09-21 2013-09-20 論理装置の機能を有するpciエクスプレススイッチ

Country Status (4)

Country Link
EP (1) EP2711845B1 (ja)
JP (1) JP2014063497A (ja)
CN (1) CN103678201B (ja)
TW (1) TW201415236A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020061149A (ja) * 2018-10-12 2020-04-16 三星電子株式会社Samsung Electronics Co.,Ltd. FPGA+SSD内部のエンベデッドPCIeスイッチによるイレイジャーコードデータ保護機能をサポートするシステム
US11860672B2 (en) 2018-03-02 2024-01-02 Samsung Electronics Co., Ltd. Method for supporting erasure code data protection with embedded PCIE switch inside FPGA+SSD

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104536701B (zh) * 2014-12-23 2018-02-06 记忆科技(深圳)有限公司 一种nvme协议多命令队列的实现方法及***
US10140057B2 (en) * 2016-02-18 2018-11-27 Micron Technology, Inc. Apparatuses and methods for multiple address registers for a solid state device
CN107145459B (zh) 2016-03-01 2021-05-18 华为技术有限公司 一种级联板、ssd远程共享访问的***和方法
CN109844725B (zh) * 2016-07-01 2023-07-25 英特尔公司 点对点互连中的非对称通道
CN110865960B (zh) * 2018-08-28 2022-07-22 上海忆芯实业有限公司 在网络上模拟PCIe总线
CN110659122A (zh) * 2019-07-31 2020-01-07 杭州阿姆科技有限公司 一种ssd中断实现方法及装置
CN112732166B (zh) * 2019-10-28 2024-06-18 华为技术有限公司 访问固态硬盘的方法及装置
CN112256601B (zh) * 2020-10-19 2023-04-21 苏州凌云光工业智能技术有限公司 数据存取控制方法、嵌入式存储***及嵌入式设备
CN114138702B (zh) * 2022-01-29 2022-06-14 阿里云计算有限公司 计算***、pci设备管理器及其初始化方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7293129B2 (en) * 2005-04-22 2007-11-06 Sun Microsystems, Inc. Flexible routing and addressing
US20080313364A1 (en) * 2006-12-06 2008-12-18 David Flynn Apparatus, system, and method for remote direct memory access to a solid-state storage device
CN101277195B (zh) * 2007-03-30 2011-12-07 杭州华三通信技术有限公司 一种交换网通信***、实现方法及交换装置
CN101159649B (zh) * 2007-09-21 2010-04-14 杭州华三通信技术有限公司 一种pci快速总线***及其能量管理方法
CN100478935C (zh) * 2007-10-10 2009-04-15 福建星网锐捷网络有限公司 Pcie通道扩展装置、***及其配置方法
US7934033B2 (en) * 2008-03-25 2011-04-26 Aprius, Inc. PCI-express function proxy
US8521941B2 (en) 2010-12-28 2013-08-27 Plx Technology, Inc. Multi-root sharing of single-root input/output virtualization

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11860672B2 (en) 2018-03-02 2024-01-02 Samsung Electronics Co., Ltd. Method for supporting erasure code data protection with embedded PCIE switch inside FPGA+SSD
JP2020061149A (ja) * 2018-10-12 2020-04-16 三星電子株式会社Samsung Electronics Co.,Ltd. FPGA+SSD内部のエンベデッドPCIeスイッチによるイレイジャーコードデータ保護機能をサポートするシステム
JP7370801B2 (ja) 2018-10-12 2023-10-30 三星電子株式会社 FPGA+SSD内部のエンベデッドPCIeスイッチによるイレイジャーコードデータ保護機能をサポートするシステム

Also Published As

Publication number Publication date
EP2711845A2 (en) 2014-03-26
CN103678201B (zh) 2017-12-22
EP2711845A3 (en) 2014-10-01
TW201415236A (zh) 2014-04-16
CN103678201A (zh) 2014-03-26
EP2711845B1 (en) 2015-12-02

Similar Documents

Publication Publication Date Title
US9141571B2 (en) PCI express switch with logical device capability
JP2014063497A (ja) 論理装置の機能を有するpciエクスプレススイッチ
US9223734B2 (en) Switch with synthetic device capability
US9734096B2 (en) Method and system for single root input/output virtualization virtual functions sharing on multi-hosts
EP3173937B1 (en) Pcie network system with fail-over capability and operation method thereof
US10846254B2 (en) Management controller including virtual USB host controller
US20140095769A1 (en) Flash memory dual in-line memory module management
EP1934751A2 (en) Smart scalable storage switch architecture
JP2012133405A (ja) ストレージ装置及びそのデータ転送制御方法
JP6464777B2 (ja) 情報処理装置及びプログラム
US7809068B2 (en) Integrated circuit capable of independently operating a plurality of communication channels
US7958293B2 (en) Virtualized serial attached SCSI adapter
CN108885572B (zh) 安全驱动程序平台
CN115203095A (zh) PCIe装置及其操作方法
US8402195B2 (en) Storage system mounted with plurality of processors
CN114417373A (zh) 一种NVMe-oF用户态客户端的数据访问方法和装置
US9047264B2 (en) Low pin count controller
US11093175B1 (en) Raid data storage device direct communication system
TW201112131A (en) Controllers, apparatuses, and methods for transferring data
US7930445B2 (en) Computer system using remote I/O and I/O data transfer method
JP2018524697A (ja) ネットワークラインカード(lc)のホストオペレーティングシステム(os)への統合
US11513983B2 (en) Interrupt migration
US20200159439A1 (en) Multi host controller and semiconductor device including the same
JP2018032061A (ja) ストレージ制御装置、およびストレージシステム
CN116339475A (zh) 硬件的复位方法、配置方法、电子设备与存储介质

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20150223

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20150223

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20151126

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20151126

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20160706