WO2023112646A1 - 情報処理装置、及び情報処理装置の制御方法 - Google Patents
情報処理装置、及び情報処理装置の制御方法 Download PDFInfo
- Publication number
- WO2023112646A1 WO2023112646A1 PCT/JP2022/043678 JP2022043678W WO2023112646A1 WO 2023112646 A1 WO2023112646 A1 WO 2023112646A1 JP 2022043678 W JP2022043678 W JP 2022043678W WO 2023112646 A1 WO2023112646 A1 WO 2023112646A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- information processing
- fabric
- devices
- iou
- pci express
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
Abstract
特殊なソフトウェアを用意することなく、認識できるデバイスの数を増加させることができる情報処理装置、及び情報処理装置の制御方法を提供する。情報処理装置は、中央処理装置と、PCI Express規格に沿ったI/O(Input/Output)デバイスがファブリックに接続されるホストバスアダプタと、を有する情報処理装置であって、上記ホストバスアダプタは、PCI Express規格の入出力インターフェースであり、少なくとも1つの上記I/Oデバイスを含むIOU(Input/Output Unit)とファブリック通信機能で通信するものであり、上記ホストバスアダプタは、PCI Express規格に沿った複数のファンクションを含む機能部と、上記機能部のファンクションと上記ファブリックに接続される外部のI/Oデバイスとを対応付けてマッピングするマッピングテーブルと、を含む。
Description
本発明は、情報処理装置、及び情報処理装置の制御方法に関し、特にネットワーク機器やストレージ機器に代表される外部機器が接続される情報処理装置、及び情報処理装置の制御方法に関する。
情報処理装置には、ネットワーク機器やストレージ機器に代表される外部機器が接続されるI/O(Input/Output)インターフェースとして、例えばHBA(Host Bus Adapter)が設けられている。このようなI/Oインターフェースの一例として、PCI Express(Peripheral Component Interconnect Express)(登録商標)がある。なお、この明細書では以下、PCI ExpressをPCIeと略称する場合がある。PCIeは、PCI-SIG(PCI Special Interest Group)により策定された拡張バスの一種であって、計算機で使用されるものである。PCIeは、シリアル転送インターフェースと全二重通信方式とを採用している。
PCIeでは、接続される外部機器をBDF(Bus、Device、Function)という3つの番号で識別する。PCIeでは、バス番号が8bitで定義されている。
特許文献1は、PCIeファブリックの拡張に関するものである。特許文献1では、PCIeデバイスは、ホストルートコンプレックスを含むホストPCIeファブリックを備えること、ホストPCIeファブリックは、ホストCPU上に、バス番号の第1のセットと、第1のメモリマップト入力/出力(MMIO)空間を有すること、が提案されている。また特許文献1では、PCIeファブリックは、ホストPCIeファブリックのエンドポイントの一部として、ルートコンプレックスエンドポイント(RCEP)を含むこと、が提案されている。また特許文献1では、PCIeファブリックは、バス番号の第1のセットおよび第1のMMIO空間からそれぞれ別けられたバス番号の第2のセットおよび第2のMMIO空間を有すること、が提案されている。
特許文献2は、複数の計算機と複数のI/OデバイスとをPCIeスイッチを介して接続するといった計算機システムに関するものである。特許文献2では、I/OコントローラにPCIeスイッチを多段に接続し、末端のPCIeスイッチにI/Oデバイスを接続した構成の場合に、PCI-PCIブリッジの接続の対応付けを変更することが提案されている。特許文献2では、このPCI-PCIブリッジの接続の対応付けを変更することによって、バス番号をI/Oデバイスに柔軟に割り当てて、接続可能なI/Oデバイスの数が減少するのを防止することが提案されている。
特許文献3は、Express Etherネットワークを制御する通信システムに関するものである。特許文献3には、Express Etherは、“PCI Express over Ether”を実現する技術であることが記載されている。なお、“PCI Express over Ether”は、PCI ExpressバスをEthernet(登録商標)上に拡張するものである。また特許文献3には、Express Etherでは、PCI expressの仕様で規定されたTLP(Transaction Layer Packet)がカプセル化され、ネットワークを経由して送受信されることが記載されている。
しかしながら、I/OインターフェースをPCIeとした情報処理装置では、PCIeの仕様上、バス番号が8bitで定義されているため、1つの情報処理装置に256デバイスまでしか認識実装できないという課題がある。
1つのデバイス内に仮想的に複数のファンクションを実装するSR-IOV(Single Root-I/O Virtualization)という技術が、PCIeで規定されている。この技術では、1つのバス番号で、複数のデバイスであるかのようにシステムに認識させることが可能である。しかしながら、SR-IOVに対応していないデバイスは、複数に見せることができない。このためSR-IOVに対応していないデバイスであっても、1つの情報処理装置で257以上のデバイスを認識できる技術が望まれる。
特許文献2や特許文献3では、このようなPCIeの仕様を越える数のデバイスを認識できるようにする実現手段は、提案されていない。特許文献2の場合、PCIeスイッチ内でバス番号が消費されるのを防止することを提案するのみであり、1つの情報処理装置で257以上のデバイスを認識できるようにする実現手段を提案するものではない。
特許文献1では、第1レベルPCIeファブリックのPCIeコンフィグレーション空間は256MBまでしか使えない。そのため、拡張PCIeファブリックを第1レベルPCIeファブリックと別の空間にアサインしてアクセスするためには、特殊なソフトウェアが必要になる。
本発明の目的は、上述した課題を鑑み、特殊なソフトウェアを用意することなく、認識できるデバイスの数を増加させることができる情報処理装置、及び情報処理装置の制御方法を提供することにある。
前記目的を達成するため、本発明に係る情報処理装置は、中央処理装置と、PCI Express規格に沿ったI/O(Input/Output)デバイスがファブリックに接続されるホストバスアダプタと、を有する情報処理装置であって、
上記ホストバスアダプタは、PCI Express規格の入出力インターフェースであり、少なくとも1つの上記I/Oデバイスを含むIOU(Input/Output Unit)とファブリック通信機能で通信するものであり、
上記ホストバスアダプタは、PCI Express規格に沿った複数のファンクションを含む機能部と、上記機能部のファンクションと上記ファブリックに接続される外部のI/Oデバイスとを対応付けてマッピングするマッピングテーブルと、を含む。
上記ホストバスアダプタは、PCI Express規格の入出力インターフェースであり、少なくとも1つの上記I/Oデバイスを含むIOU(Input/Output Unit)とファブリック通信機能で通信するものであり、
上記ホストバスアダプタは、PCI Express規格に沿った複数のファンクションを含む機能部と、上記機能部のファンクションと上記ファブリックに接続される外部のI/Oデバイスとを対応付けてマッピングするマッピングテーブルと、を含む。
本発明に係る情報処理装置の制御方法は、中央処理装置と、PCI Express規格に沿ったI/O(Input/Output)デバイスがファブリックに接続されるホストバスアダプタと、を有する情報処理装置の制御方法であって、
上記ホストバスアダプタは、PCI Express規格の入出力インターフェースであり、
上記ホストバスアダプタは、PCI Express規格に沿った複数のファンクションと上記ファブリックに接続される外部のI/Oデバイスとを対応付けたマッピングテーブルを参照して、少なくとも1つの上記I/Oデバイスを含むIOU(Input/Output Unit)とファブリック通信機能で通信する。
上記ホストバスアダプタは、PCI Express規格の入出力インターフェースであり、
上記ホストバスアダプタは、PCI Express規格に沿った複数のファンクションと上記ファブリックに接続される外部のI/Oデバイスとを対応付けたマッピングテーブルを参照して、少なくとも1つの上記I/Oデバイスを含むIOU(Input/Output Unit)とファブリック通信機能で通信する。
本発明によれば、特殊なソフトウェアを用意することなく、認識できるデバイスの数を増加させることができる情報処理装置、及び情報処理装置の制御方法を提供することができる。
(実施形態の概要)
本発明の実施形態による情報処理装置は、例えば、Express EtherのようなPCI Express(PCIe)をファブリックに拡張できる技術をベースとした情報処理システムである。そして情報処理装置側に搭載するHBA(Host Bus Adapter)において、PCIeをマルチファンクションに対応したエンドポイントとして終端させる。そして、ファブリックの先に接続したI/OデバイスをHBA内のマルチファンクションにマッピングさせる。これによって、情報処理システムに257以上のI/Oデバイス(PCIe規格)を認識させることを可能とする。
本発明の実施形態による情報処理装置は、例えば、Express EtherのようなPCI Express(PCIe)をファブリックに拡張できる技術をベースとした情報処理システムである。そして情報処理装置側に搭載するHBA(Host Bus Adapter)において、PCIeをマルチファンクションに対応したエンドポイントとして終端させる。そして、ファブリックの先に接続したI/OデバイスをHBA内のマルチファンクションにマッピングさせる。これによって、情報処理システムに257以上のI/Oデバイス(PCIe規格)を認識させることを可能とする。
〔上位概念の実施形態〕
本発明の具体的な実施形態について説明する前に、本発明の上位概念の実施形態による情報処理装置、及び情報処理装置の制御方法について、説明する。図1は、本発明の上位概念の実施形態による情報処理装置の一例を説明するためのブロック図である。
本発明の具体的な実施形態について説明する前に、本発明の上位概念の実施形態による情報処理装置、及び情報処理装置の制御方法について、説明する。図1は、本発明の上位概念の実施形態による情報処理装置の一例を説明するためのブロック図である。
図1の情報処理装置は、図示しない中央処理装置と、PCI Express規格に沿ったI/O(Input/Output)デバイス111とがファブリックに接続されるホストバスアダプタ100とを有する。図1の情報処理装置の上記ホストバスアダプタ100は、PCI Express規格の入出力インターフェースであり、少なくとも1つの上記I/Oデバイス111を含むIOU(Input/Output Unit)110とファブリック通信機能で通信する。
上記ホストバスアダプタ100は、機能部101と、外部のI/Oデバイス111とを対応付けてマッピングするマッピングテーブル102と、を含む。ここで、機能部101は、PCI Express規格に沿った複数のファンクションを含む。外部のI/Oデバイス111は、機能部101のファンクションと上記ファブリックに接続される。ホストバスアダプタ100のマッピングテーブル102では、機能部101のファンクションと、ファブリック通信機能で接続したI/Oデバイス111とのマッピングを管理する。
図1の情報処理装置では、機能部101のファンクションと上記ファブリックに接続される外部のI/Oデバイス111とを対応付けてマッピングするマッピングテーブル102を参照する。ファブリックの先に接続したI/OデバイスをHBA内のマルチファンクションにマッピングさせる。これによって、特殊なソフトウェアを用意することなく、認識できるデバイスの数を増加させることができる。これにより、257以上のI/Oデバイス(PCIe規格)を認識させることを可能とする。以下、より具体的な実施形態について、図面を参照しながら詳細に説明する。
〔一実施形態〕
次に、本発明の一実施形態による情報処理装置、及び情報処理装置の制御方法について、説明する。図2は、本発明の一実施形態による情報処理装置を説明するためのブロック図である。図3は、図2の主要部分の詳細構成を説明するためのブロック図である。図4は、図3のマッピングテーブル22の一例を示す概念図である。図5は、ルーティングテーブルの一例を示す概念図である。
次に、本発明の一実施形態による情報処理装置、及び情報処理装置の制御方法について、説明する。図2は、本発明の一実施形態による情報処理装置を説明するためのブロック図である。図3は、図2の主要部分の詳細構成を説明するためのブロック図である。図4は、図3のマッピングテーブル22の一例を示す概念図である。図5は、ルーティングテーブルの一例を示す概念図である。
(実施形態の構成)
図2の情報処理装置は、CPU(Central Processing Unit)10と、HBA(Host Bus Adapter)20とを含む。図2の情報処理装置には、ファブリック25を経由してIOU(Input/Output Unit)30が接続される。図2では、複数のIOUが接続される場合を示しており、IOU301と、IOU30kと、IOU30nとが接続される場合を一例として示している。なおここでkとnは一例として、1<k<nを満たすような整数である。図2では、さらに複数のI/Oデバイスが接続される場合を示しており、I/Oデバイス401がIOU301と接続され、I/Oデバイス40kがIOU30kと接続され、I/Oデバイス40mがIOU30nと接続される場合を一例として示している。なおここでkとmは一例として、1<k<256<mを満たすような整数である。
図2の情報処理装置は、CPU(Central Processing Unit)10と、HBA(Host Bus Adapter)20とを含む。図2の情報処理装置には、ファブリック25を経由してIOU(Input/Output Unit)30が接続される。図2では、複数のIOUが接続される場合を示しており、IOU301と、IOU30kと、IOU30nとが接続される場合を一例として示している。なおここでkとnは一例として、1<k<nを満たすような整数である。図2では、さらに複数のI/Oデバイスが接続される場合を示しており、I/Oデバイス401がIOU301と接続され、I/Oデバイス40kがIOU30kと接続され、I/Oデバイス40mがIOU30nと接続される場合を一例として示している。なおここでkとmは一例として、1<k<256<mを満たすような整数である。
図3には、図2の情報処理装置の詳細構成として、図2のHBA20と、複数のIOU30の一例としてIOU301及びIOU302を含む場合を示している。図3のHBA20は、複数のファンクション部の一例として複数のファンクション部(Func#0~Func#255)と、マッピングテーブル22と、ファブリック通信機能部23とを含む。複数のファンクション部(Func#0~Func#255)については、以下では複数のファンクション部21と称したり、ファンクション部210~21255と称したりする場合がある。なおここで図3では、ファンクション部21の数が0~255の合計256個の場合を示しているが、本発明の実施形態で複数のファンクション部の数はこれに限られず、これより多くてもよい。
図3のHBA20と接続されるIOU30は、ファブリック通信機能部31と、仮想Root Port32と、1又は複数のI/Oデバイス40とを含む。図3では、IOU301は、ファブリック通信機能部31と、仮想Root Port32と、I/Oデバイス40とを含んでいる。また図3では、IOU302は、ファブリック通信機能部31と、仮想Root Port32と、複数のI/Oデバイス(I/Oデバイス400及びI/Oデバイス401)とを含んでいる。
HBA20の複数のファンクション部21は、PCIeの規格に沿ったファンクションであり、マルチファンクションデバイスとして定義する。マルチファンクションを示す箇所以外のコンフィグレーションレジスタ等については、マッピングされるI/Oデバイス40のものをそのまま使用する。このため、マルチファンクションを示す箇所以外のコンフィグレーションレジスタ等については、ファンクション部21には実装しない。図3では、ファンクション部21の数が0~255の合計256個としているが、実装する数は任意である。
マッピングテーブル22は、ファンクション部21とI/Oデバイス40とのマッピングを管理する。マッピングテーブル22が管理する情報を図4に示す。図4の「Func番号」は、ファンクション部21の番号を表す。図4の「IOU番号」は、IOU30の番号を表しており、このIOU30の番号は、ファンクション部21にマッピングされたI/Oデバイス40が搭載されているIOU30の番号である。なお図3のIOU302に示すように、1つのIOUに複数のI/Oデバイス(例えば、I/Oデバイス400及びI/Oデバイス401)が搭載されることもありえる。図4の「IOU MAC」は、該当するIOU30がファブリックで通信する際に使用するMAC(Media Access Control)アドレスを表す。これにより、ファンクション部21に対してアクセスがあった際、ファブリック通信機能を経由して、どのIOU宛にパケットを送信すればよいかが判定可能である。
ファブリック通信機能部23、31は、HBA20とIOU30間での接続を管理する機能を持つ。ファブリック通信機能部23、31によるファブリック通信機能は、接続している機器間で情報を共有する機能を含んでいる。この共有する情報は、どのHBAとどのIOUを論理的に接続するのか、および/または、接続先のMACアドレスが何かである。情報共有は、Express Etherのように定期的なパケット送信やグループ管理機能によって行う。ここで得られるMACアドレスはマッピングテーブル22に用いられる。マッピングテーブル22の情報は、ファブリック通信機能を通してHBA20とIOU30との間で共有される。
各IOU30の仮想RootPort32は、ルーティングテーブルを含むと共に、RootPortとして配下にあるI/Oデバイス40に対して、仮想的なバス番号を設定する機能を持つ。設定したバス番号は、ルーティングテーブルによって管理される。ルーティングテーブルの一例を、図5に示す。
図3のI/Oデバイス40(40、400や401)は、PCIeの規格に沿った一般的なI/Oデバイスである。
次に、情報処理装置と、IOUとを含む情報処理システム50としての動作について、記載する。情報処理システム50が起動すると、一般的にPCIエニュメレーションソフトウェアによって、PCIバス番号、BAR空間が、情報処理システム50を構成するデバイスに割り当てられる。
本実施形態による情報処理システム50では、PCIエニュメレーションソフトウェアが動作する前に、ファブリック通信機能によってHBA20とIOU30は接続されているものとする。さらに、PCIエニュメレーションソフトウェアが動作する前に、マッピングテーブル22にはFunc番号、IOU番号、IOU MACが登録済みであり、ルーティングテーブルには「I/Oデバイス番号」、「仮想バス番号」、「割当Func番号」が登録済みであるものとする。
次に、PCIエニュメレーションソフトウェアが動作することによって、デバイスにPCIバス番号、BAR空間が割り当てられる。本実施形態による情報処理システム50では、システムによって割り当てられるPCIバス番号はHBA20の1つのみである。BAR空間は、ファンクションごとにファンクションが要求する分だけ割り当てられる。この時、PCIエニュメレーションソフトウェアは、ファンクションが要求するBARサイズを、ファンクションが持つコンフィグレーションレジスタから取得する。
本実施形態による情報処理システム50では、PCIエニュメレーションソフトウェアからのコンフィグレーションレジスタへのアクセスをマッピングテーブル22の情報を用いてI/Oデバイスにルーティングする。このマッピングテーブル22の情報を用いたルーティングによって、I/Oデバイスが要求するBARサイズを取得する。これにより情報処理システム50において、I/Oデバイス40がファンクションとして認識される。取得したBAR空間はマッピングテーブルとルーティングテーブルに、図4や図5に示すような「Mem範囲」、「IO範囲」として登録される。次に、実際のアクセスでの手順について、順番に説明する。
(CPUからI/Oデバイスに対してのアクセス)
図6Aのシーケンスチャートを参照しながら、CPU10からI/Oデバイス40に対するアクセスについて説明する。CPU10からHBA20に届いたパケットに対して、HBA20はマッピングテーブル22を参照することによって、接続先のIOUを判定する(S11)。さらにHBA20は、S11で判定されたIOUへ向けてこのパケットをファブリック通信機能で送信する。
図6Aのシーケンスチャートを参照しながら、CPU10からI/Oデバイス40に対するアクセスについて説明する。CPU10からHBA20に届いたパケットに対して、HBA20はマッピングテーブル22を参照することによって、接続先のIOUを判定する(S11)。さらにHBA20は、S11で判定されたIOUへ向けてこのパケットをファブリック通信機能で送信する。
パケットを受信したIOU30は、その仮想Root Port32のルーティングテーブルを参照する(S12)。IOU30は、さらにルーティングテーブルの参照結果に基づいて、受信したパケットをI/Oデバイス40に転送する。この時、バス番号を使ったIDルーティングを用いるパケットの場合、IOU30は、ルーティングテーブルにある仮想バス番号にバス番号を変換して、変換後のバス番号(仮想バス番号)をI/Oデバイスに転送する。これらの手順によって、CPU10はI/Oデバイス40にアクセスすることができる。
(I/OデバイスからCPUに対してのアクセス)
図6Bのシーケンスチャートを参照しながら、I/Oデバイス40からCPU10に対するアクセスについて説明する。IOU30は、I/Oデバイス40から届いたパケットについて、その仮想Root Port32のルーティングテーブルを参照する(S21)。ルーティングテーブルを参照した結果、届いたパケットがCPU10宛であると判定したときには、IOU30はこのパケットをファブリック通信機能でHBA20へ送信する。
図6Bのシーケンスチャートを参照しながら、I/Oデバイス40からCPU10に対するアクセスについて説明する。IOU30は、I/Oデバイス40から届いたパケットについて、その仮想Root Port32のルーティングテーブルを参照する(S21)。ルーティングテーブルを参照した結果、届いたパケットがCPU10宛であると判定したときには、IOU30はこのパケットをファブリック通信機能でHBA20へ送信する。
ファブリック通信機能経由でパケットを受信したHBA20は、マッピングテーブル22に基づいてファンクション部21にこのパケットを転送する。
ファンクション部21は、パケットを自身のバス番号等(BDF[Bus、Device、Function]番号)に付け替えてCPU10に送信する。これらの手順によって、I/Oデバイス40はCPU10にアクセスすることができる。
(I/OデバイスからI/Oデバイスに対してのアクセス)
図6Cのシーケンスチャートを参照しながら、I/Oデバイス401から他のI/Oデバイス402に対するアクセスについて説明する。I/Oデバイス401から届いたパケットに対して、このI/Oデバイス401を含むIOU30は、仮想Root Port32のルーティングテーブルを参照する(S31)。
図6Cのシーケンスチャートを参照しながら、I/Oデバイス401から他のI/Oデバイス402に対するアクセスについて説明する。I/Oデバイス401から届いたパケットに対して、このI/Oデバイス401を含むIOU30は、仮想Root Port32のルーティングテーブルを参照する(S31)。
ルーティングテーブルを参照した結果、届いたパケットがI/Oデバイス402宛であると判定したときには、IOU30は、HBA20から共有されているマッピングテーブルから対象I/Oデバイス402が接続されているIOU30を判定する(S32)。さらにIOU30は、ファブリック通信機能経由でIOU30間でパケットを直接送信する。
ファブリック通信機能経由でパケットを受信したIOU30は、その仮想Root Port32のルーティングテーブルを参照し、ルーティングテーブルの参照結果に基づいて、受信したパケットをI/Oデバイス402に転送する。この時、バス番号を使ったIDルーティングを用いるパケットの場合、ルーティングテーブルにある仮想バス番号に変換してI/Oデバイスに転送する。これらの手順によって、I/Oデバイス401は他のI/Oデバイス(I/Oデバイス402)にアクセスすることができる。
(実施形態の効果)
本実施形態の情報処理装置によれば、PCI Express規格のバス番号による数を越えて、PCI Express規格に沿ったI/Oデバイスを1つの情報処理システムに接続することができる。具体的には、PCI Express規格に沿ったI/Oデバイスを、1つの情報処理システムに257以上接続することができる。補足すると、バス番号が8bitで定義されているPCI Express規格の仕様上の上限の数(256デバイス)を越えて、1つの情報処理システムに257以上のデバイスを接続することができる。これにより、様々なシステムが構築可能となる。
本実施形態の情報処理装置によれば、PCI Express規格のバス番号による数を越えて、PCI Express規格に沿ったI/Oデバイスを1つの情報処理システムに接続することができる。具体的には、PCI Express規格に沿ったI/Oデバイスを、1つの情報処理システムに257以上接続することができる。補足すると、バス番号が8bitで定義されているPCI Express規格の仕様上の上限の数(256デバイス)を越えて、1つの情報処理システムに257以上のデバイスを接続することができる。これにより、様々なシステムが構築可能となる。
図2や図3に示される情報処理システム50では、HBA20が、マッピングテーブル22を有しており、アクセスの際にマッピングテーブル22を参照する。マッピングテーブル22では、複数のファンクション部21のファンクション(Func#0~Func#255)とファブリックに接続されるI/Oデバイス40とを対応付けてマッピングしている。言い換えると、マッピングテーブル22は、ファブリックの先に接続したI/Oデバイス40を、HBA20内のマルチファンクションにマッピングさせている。これによって、特殊なソフトウェアを用意することなく、認識できるデバイスの数を増加させることができる。その結果、図2や図3に示される情報処理システム50では、257以上のI/Oデバイス(PCIe規格)を認識させることができる。
〔その他の実施形態〕
以上、本発明の好ましい実施形態を説明したが、本発明はこれに限定されるものではない。図3の情報処理装置の詳細構成では0~255のファンクション部21(210~21255)を有する場合を示しているが、複数のファンクション部21の数はこれに限られず、ファンクション部21を実装する数は任意である。また、図2の情報処理装置において、ファブリック25の先にあるIOU30(301、…、30k、…、30n)の数や、IOU30の配下にあるI/Oデバイス40(401、…、40k、…、40m)の数も任意である。
以上、本発明の好ましい実施形態を説明したが、本発明はこれに限定されるものではない。図3の情報処理装置の詳細構成では0~255のファンクション部21(210~21255)を有する場合を示しているが、複数のファンクション部21の数はこれに限られず、ファンクション部21を実装する数は任意である。また、図2の情報処理装置において、ファブリック25の先にあるIOU30(301、…、30k、…、30n)の数や、IOU30の配下にあるI/Oデバイス40(401、…、40k、…、40m)の数も任意である。
本発明の上述した実施形態を用いると、1つのバス番号に対して最大で256デバイスを接続可能となる。そのため、60,000以上のデバイスをシステムに接続できるが、システムソフトウェアがそのような構成に対応できない場合もありえる。その場合、システムソフトウェアが対応できる上限を想定し、想定された上限までのファンクション数に制限する等も考えられる。請求の範囲に記載した発明の範囲内で、種々の変形が可能であり、それらも本発明の範囲に含まれることはいうまでもない。
上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
(付記1)中央処理装置と、PCI Express規格に沿ったI/O(Input/Output)デバイスがファブリックに接続されるホストバスアダプタと、を有する情報処理装置であって、
前記ホストバスアダプタは、PCI Express規格の入出力インターフェースであり、少なくとも1つの前記I/Oデバイスを含むIOU(Input/Output Unit)とファブリック通信機能で通信するものであり、
前記ホストバスアダプタは、PCI Express規格に沿った複数のファンクションを含む機能部と、前記機能部のファンクションと前記ファブリックに接続される外部のI/Oデバイスとを対応付けてマッピングするマッピングテーブルと、を含む
情報処理装置。
(付記2)少なくとも1つの前記I/Oデバイスを含むIOUが、仮想Root Portを含む、
付記1に記載の情報処理装置。
(付記3)前記仮想Root Portは、ルーティングテーブルを含み、
前記仮想Root Portは、前記ファブリック通信機能を経由して受信したパケットを、前記ルーティングテーブルに基づいて対応するI/Oデバイスに転送する、
付記2に記載の情報処理装置。
(付記4)中央処理装置と、PCI Express規格に沿ったI/O(Input/Output)デバイスがファブリックに接続されるホストバスアダプタと、を有する情報処理装置の制御方法であって、
前記ホストバスアダプタは、PCI Express規格の入出力インターフェースであり、
前記ホストバスアダプタは、PCI Express規格に沿った複数のファンクションと前記ファブリックに接続される外部のI/Oデバイスとを対応付けたマッピングテーブルを参照して、少なくとも1つの前記I/Oデバイスを含むIOU(Input/Output Unit)とファブリック通信機能で通信する、
情報処理装置の制御方法。
(付記1)中央処理装置と、PCI Express規格に沿ったI/O(Input/Output)デバイスがファブリックに接続されるホストバスアダプタと、を有する情報処理装置であって、
前記ホストバスアダプタは、PCI Express規格の入出力インターフェースであり、少なくとも1つの前記I/Oデバイスを含むIOU(Input/Output Unit)とファブリック通信機能で通信するものであり、
前記ホストバスアダプタは、PCI Express規格に沿った複数のファンクションを含む機能部と、前記機能部のファンクションと前記ファブリックに接続される外部のI/Oデバイスとを対応付けてマッピングするマッピングテーブルと、を含む
情報処理装置。
(付記2)少なくとも1つの前記I/Oデバイスを含むIOUが、仮想Root Portを含む、
付記1に記載の情報処理装置。
(付記3)前記仮想Root Portは、ルーティングテーブルを含み、
前記仮想Root Portは、前記ファブリック通信機能を経由して受信したパケットを、前記ルーティングテーブルに基づいて対応するI/Oデバイスに転送する、
付記2に記載の情報処理装置。
(付記4)中央処理装置と、PCI Express規格に沿ったI/O(Input/Output)デバイスがファブリックに接続されるホストバスアダプタと、を有する情報処理装置の制御方法であって、
前記ホストバスアダプタは、PCI Express規格の入出力インターフェースであり、
前記ホストバスアダプタは、PCI Express規格に沿った複数のファンクションと前記ファブリックに接続される外部のI/Oデバイスとを対応付けたマッピングテーブルを参照して、少なくとも1つの前記I/Oデバイスを含むIOU(Input/Output Unit)とファブリック通信機能で通信する、
情報処理装置の制御方法。
この出願は、2021年12月16日に出願された日本出願特願2021-204359を基礎とする優先権を主張し、その開示の全てをここに取り込む。
10 CPU
20 HBA
21、210~21255 ファンクション部
22 マッピングテーブル
23 ファブリック通信機能部
25 ファブリック
30、301~30k、30n IOU
31 ファブリック通信機能部
32 仮想Root Port
40、401~40k、40n I/Oデバイス
50 情報処理システム
100 ホストバスアダプタ
101 機能部
102 マッピングテーブル
110 IOU
111 I/Oデバイス
20 HBA
21、210~21255 ファンクション部
22 マッピングテーブル
23 ファブリック通信機能部
25 ファブリック
30、301~30k、30n IOU
31 ファブリック通信機能部
32 仮想Root Port
40、401~40k、40n I/Oデバイス
50 情報処理システム
100 ホストバスアダプタ
101 機能部
102 マッピングテーブル
110 IOU
111 I/Oデバイス
Claims (4)
- 中央処理装置と、PCI Express規格に沿ったI/O(Input/Output)デバイスがファブリックに接続されるホストバスアダプタと、を有する情報処理装置であって、
前記ホストバスアダプタは、PCI Express規格の入出力インターフェースであり、少なくとも1つの前記I/Oデバイスを含むIOU(Input/Output Unit)とファブリック通信機能で通信するものであり、
前記ホストバスアダプタは、PCI Express規格に沿った複数のファンクションを含む機能部と、前記機能部のファンクションと前記ファブリックに接続される外部のI/Oデバイスとを対応付けてマッピングするマッピングテーブルと、を含む
情報処理装置。 - 少なくとも1つの前記I/Oデバイスを含むIOUが、仮想Root Portを含む、
請求項1に記載の情報処理装置。 - 前記仮想Root Portは、ルーティングテーブルを含み、
前記仮想Root Portは、前記ファブリック通信機能を経由して受信したパケットを、前記ルーティングテーブルに基づいて対応するI/Oデバイスに転送する、
請求項2に記載の情報処理装置。 - 中央処理装置と、PCI Express規格に沿ったI/O(Input/Output)デバイスがファブリックに接続されるホストバスアダプタと、を有する情報処理装置の制御方法であって、
前記ホストバスアダプタは、PCI Express規格の入出力インターフェースであり、
前記ホストバスアダプタは、PCI Express規格に沿った複数のファンクションと前記ファブリックに接続される外部のI/Oデバイスとを対応付けたマッピングテーブルを参照して、少なくとも1つの前記I/Oデバイスを含むIOU(Input/Output Unit)とファブリック通信機能で通信する、
情報処理装置の制御方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021204359 | 2021-12-16 | ||
JP2021-204359 | 2021-12-16 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2023112646A1 true WO2023112646A1 (ja) | 2023-06-22 |
Family
ID=86774107
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2022/043678 WO2023112646A1 (ja) | 2021-12-16 | 2022-11-28 | 情報処理装置、及び情報処理装置の制御方法 |
Country Status (1)
Country | Link |
---|---|
WO (1) | WO2023112646A1 (ja) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11288400A (ja) * | 1998-04-03 | 1999-10-19 | Nec Shizuoka Ltd | Pciブリッジデバイス |
US20090006710A1 (en) * | 2007-04-20 | 2009-01-01 | Daniel David A | Virtualization of a host computer's native I/O system architecture via the internet and LANs |
JP2012059064A (ja) * | 2010-09-09 | 2012-03-22 | Fujitsu Ltd | スイッチ装置 |
JP2018160163A (ja) * | 2017-03-23 | 2018-10-11 | 日本電気株式会社 | 変換装置、ホスト装置、入出力スイッチシステム、情報処理システム、方法およびプログラム |
-
2022
- 2022-11-28 WO PCT/JP2022/043678 patent/WO2023112646A1/ja unknown
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11288400A (ja) * | 1998-04-03 | 1999-10-19 | Nec Shizuoka Ltd | Pciブリッジデバイス |
US20090006710A1 (en) * | 2007-04-20 | 2009-01-01 | Daniel David A | Virtualization of a host computer's native I/O system architecture via the internet and LANs |
JP2012059064A (ja) * | 2010-09-09 | 2012-03-22 | Fujitsu Ltd | スイッチ装置 |
JP2018160163A (ja) * | 2017-03-23 | 2018-10-11 | 日本電気株式会社 | 変換装置、ホスト装置、入出力スイッチシステム、情報処理システム、方法およびプログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8223745B2 (en) | Adding packet routing information without ECRC recalculation | |
EP2997483B1 (en) | System and method for extended peripheral component interconnect express fabrics | |
US7293129B2 (en) | Flexible routing and addressing | |
US7565463B2 (en) | Scalable routing and addressing | |
US7574536B2 (en) | Routing direct memory access requests using doorbell addresses | |
US7620741B2 (en) | Proxy-based device sharing | |
US7603508B2 (en) | Scalable distributed memory and I/O multiprocessor systems and associated methods | |
US7934033B2 (en) | PCI-express function proxy | |
US20060253619A1 (en) | Virtualization for device sharing | |
US20130151750A1 (en) | Multi-root input output virtualization aware switch | |
JP5660053B2 (ja) | ネットワーク装置、ネットワーク構成方法及びネットワーク装置のプログラムを記録したプログラム記録媒体 | |
EP2570913A1 (en) | Method and system for accessing storage device | |
US11609866B2 (en) | PCIe peripheral sharing | |
GB2455347A (en) | Control path I/O virtualisation | |
US11836105B2 (en) | Communication device, information processing system, and communication method | |
WO2023112646A1 (ja) | 情報処理装置、及び情報処理装置の制御方法 | |
US10509751B2 (en) | Information processing apparatus that converts an address and requester ID on a local host to an address and requester ID on a system host | |
US10565147B2 (en) | Information processing apparatus for data transfer between a system host and a local device | |
US20200341928A1 (en) | Information processing system | |
JP2012083979A (ja) | 通信制御装置、ネットワーク、及びネットワークシステム | |
US20230350824A1 (en) | Peripheral component interconnect express device and operating method thereof | |
US20230318606A1 (en) | Interface device and method of operating the same | |
WO2015015652A1 (ja) | サーバ間通信機構を備えるサーバシステムおよびその複数サーバ間における通信方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 22907176 Country of ref document: EP Kind code of ref document: A1 |