JP6579140B2 - Conversion device, host device, input / output switch system, information processing system, method and program - Google Patents

Conversion device, host device, input / output switch system, information processing system, method and program Download PDF

Info

Publication number
JP6579140B2
JP6579140B2 JP2017057747A JP2017057747A JP6579140B2 JP 6579140 B2 JP6579140 B2 JP 6579140B2 JP 2017057747 A JP2017057747 A JP 2017057747A JP 2017057747 A JP2017057747 A JP 2017057747A JP 6579140 B2 JP6579140 B2 JP 6579140B2
Authority
JP
Japan
Prior art keywords
identification information
input
output
bits
conversion
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.)
Active
Application number
JP2017057747A
Other languages
Japanese (ja)
Other versions
JP2018160163A (en
Inventor
妙嶋 慎二郎
慎二郎 妙嶋
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.)
NEC Corp
Original Assignee
NEC Corp
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
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2017057747A priority Critical patent/JP6579140B2/en
Publication of JP2018160163A publication Critical patent/JP2018160163A/en
Application granted granted Critical
Publication of JP6579140B2 publication Critical patent/JP6579140B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、情報処理システムにおいて、ホスト装置に接続される入出力デバイスを識別する技術に関する。   The present invention relates to a technique for identifying an input / output device connected to a host device in an information processing system.

情報処理システムにおいて、ホスト装置に1つ以上の入出力デバイスを接続してデータを送受信する際には、入出力デバイスを識別する識別情報が用いられる。   In an information processing system, when one or more input / output devices are connected to a host device to transmit / receive data, identification information for identifying the input / output devices is used.

例えば、ホスト装置に入出力デバイスを接続するインタフェースとして、PCIe(Peripheral Component Interconnect Express)が良く知られている。PCIeは、PCI(Peripheral Component Interconnect)とソフトウェアレベルで互換性があり、かつ、PCIより処理能力が高いインタフェースである。PCIeでは、ソフトウェアから見たPCIeデバイスの識別に、PCI仕様を継承したデバイス識別情報が用いられる。ここで、PCIにおけるデバイス識別情報は、バス番号、デバイス番号およびファンクション番号の組合せからなる。   For example, PCIe (Peripheral Component Interconnect Express) is well known as an interface for connecting an input / output device to a host device. PCIe is an interface that is compatible with PCI (Peripheral Component Interconnect) at the software level and has higher processing capability than PCI. In PCIe, device identification information that inherits the PCI specification is used to identify a PCIe device as viewed from the software. Here, the device identification information in PCI consists of a combination of a bus number, a device number, and a function number.

PCIでは、デバイスはバス型トポロジーによってホスト装置に接続される。つまり、1つのバスの配下に複数のPCIデバイスが接続され得る。そのため、PCIデバイスは、そのPCIデバイスが接続されたバスを識別するバス番号と、当該バス上のスロットによって特定されるデバイス番号とによって識別される。すなわち、PCIデバイスは、バス番号およびデバイス番号の組み合わせによって表せる個数まで、ホスト装置に接続することが可能であった。   In PCI, a device is connected to a host device by a bus topology. That is, a plurality of PCI devices can be connected under one bus. Therefore, the PCI device is identified by a bus number that identifies the bus to which the PCI device is connected and a device number that is specified by a slot on the bus. That is, the PCI device can be connected to the host device up to the number that can be represented by the combination of the bus number and the device number.

しかしながら、PCIeは、シリアルインタフェースであるため、ホスト装置に対する接続形態がピアツーピアとなる。そのため、ホスト装置に、PCIeポート数以上のPCIeデバイスを接続するために、一般的に、PCIeスイッチによってポート数が拡張される。PCIeスイッチは、内部に複数の仮想PCI−PCIブリッジを含むため、それらの間を接続するバスによってバス番号を内部で消費する。そして、PCIeスイッチのダウンストリームポート毎に、さらにバス番号が割り当てられる。これにより、そのポートに接続されたPCIeデバイスは、そのバス番号により識別可能となっている。このように、PCIeスイッチ配下に接続されたPCIeデバイスは、バス番号によってのみ識別されることになる。さらに、前述のように、PCIeスイッチ内部で消費されるバス番号も考慮すると、ホスト装置に接続可能なPCIeデバイスの個数は、バス番号によって表せる個数よりさらに少なくなる。これは、バス番号およびデバイス番号の組合せによって表される個数まで接続可能なPCIデバイスの個数に比較すると、大幅に少ない。   However, since PCIe is a serial interface, the connection form to the host device is peer-to-peer. Therefore, the number of ports is generally expanded by a PCIe switch in order to connect a PCIe device having more than the number of PCIe ports to the host device. Since the PCIe switch includes a plurality of virtual PCI-PCI bridges therein, a bus number is internally consumed by a bus connecting them. Further, a bus number is assigned to each downstream port of the PCIe switch. Thereby, the PCIe device connected to the port can be identified by the bus number. As described above, the PCIe device connected under the PCIe switch is identified only by the bus number. Furthermore, as described above, considering the bus number consumed inside the PCIe switch, the number of PCIe devices that can be connected to the host device is further smaller than the number that can be represented by the bus number. This is significantly less than the number of PCI devices that can be connected up to the number represented by the combination of bus number and device number.

例えば、図37は、PCIeスイッチを用いて、複数のPCIeデバイスをホスト装置に接続する一般的な構成の一例を示している。図37において、ホスト装置には、PCIeスイッチを介して、4つのPCIeデバイスd1〜d4が接続されている。PCIeスイッチは、PCIeポートを増やすためのデバイスである。この例では、PCIeスイッチは、5つの仮想PCI−PCIブリッジb1〜b5によって構成される。以降、仮想PCI−PCIブリッジを、単に仮想PCIブリッジと記載する。各仮想PCIブリッジは、2本のPCIバスを相互接続する。また、各バスには、バス番号が割り当てられている。バス番号の割り当ては、ホスト装置で動作するソフトウェアによって、情報処理システムの初期化時等に行われる。図37では、バス番号xxは、16進数で表されているものとする。以降、バス番号xxが割り当てられたバスを、Bus#xxとも記載する。図37の例では、図示されないBus#00は、プロセッサの内部で消費される。また、ホスト装置と仮想PCIブリッジb1とを接続するバスに、Bus#01が割り当てられている。また、仮想PCIブリッジb1と仮想PCIブリッジb2〜b5とを接続するバスに、Bus#02が割り当てられている。また、仮想PCIブリッジb2にPCIeデバイスd1を接続可能なポートの配下には、Bus#04〜05が占有可能に割り当てられる。つまり、仮想PCIブリッジb2およびPCIeデバイスd1を結ぶバスには、Bus#04および05のいずれかが割り当てられる。同様に、仮想PCIブリッジb3、b4、b5の配下には、それぞれ、Bus#06〜07、Bus#08〜09、Bus#0A〜0Bが占有可能に割り当てられている。つまり、図37のホスト装置の下流では、バス番号として、Bus#00〜#0Bが消費される。   For example, FIG. 37 illustrates an example of a general configuration in which a plurality of PCIe devices are connected to a host device using a PCIe switch. In FIG. 37, four PCIe devices d1 to d4 are connected to the host device via a PCIe switch. The PCIe switch is a device for increasing the PCIe port. In this example, the PCIe switch is configured by five virtual PCI-PCI bridges b1 to b5. Hereinafter, the virtual PCI-PCI bridge is simply referred to as a virtual PCI bridge. Each virtual PCI bridge interconnects two PCI buses. Each bus is assigned a bus number. The bus number is assigned by software operating on the host device when the information processing system is initialized. In FIG. 37, it is assumed that the bus number xx is expressed in hexadecimal. Hereinafter, the bus to which the bus number xx is assigned is also referred to as Bus # xx. In the example of FIG. 37, Bus # 00 (not shown) is consumed inside the processor. Also, Bus # 01 is assigned to the bus connecting the host device and the virtual PCI bridge b1. Also, Bus # 02 is assigned to the bus connecting the virtual PCI bridge b1 and the virtual PCI bridges b2 to b5. In addition, Bus # 04 to 05 are assigned to be occupied under a port that can connect the PCIe device d1 to the virtual PCI bridge b2. That is, one of Bus # 04 and 05 is assigned to the bus connecting the virtual PCI bridge b2 and the PCIe device d1. Similarly, under the virtual PCI bridges b3, b4, and b5, Bus # 06 to 07, Bus # 08 to 09, and Bus # 0A to 0B are allocated to be occupying, respectively. That is, Bus # 00 to # 0B are consumed as the bus number downstream of the host device in FIG.

このように各バスに割り当てられたバス番号は、前述のように、そのバス番号が示すバスに接続されたPCIeデバイスを、ホスト装置で動作するソフトウェアから識別するために用いられる。ここで、PCIおよびPCIeにおいて定められたデバイス識別情報の構造を図38に示す。図38において、デバイス識別情報は、16ビットで表され、バス番号8ビットと、デバイス番号5ビットと、ファンクション番号3ビットとからなる。ファンクション番号は、1つのデバイスに含まれる機能を識別する情報である。   As described above, the bus number assigned to each bus is used to identify the PCIe device connected to the bus indicated by the bus number from software operating on the host device. Here, FIG. 38 shows the structure of device identification information defined in PCI and PCIe. In FIG. 38, the device identification information is represented by 16 bits, and consists of a bus number of 8 bits, a device number of 5 bits, and a function number of 3 bits. The function number is information for identifying a function included in one device.

例えば、図37に示したような、4つのPCIeデバイスd1〜d4を接続したPCIeスイッチ以降を1つのPCIeボックスとしてまとめて表すとする。そして、図39に示すように、このPCIeボックスを4個接続したホスト装置を、複数備える情報処理システムを想定する。このような構成の情報処理システムには、バス番号の制限により、64個程度のPCIeデバイスしか接続することが出来ない。   For example, suppose that the PCIe switch and the subsequent ones connected to four PCIe devices d1 to d4 as shown in FIG. 37 are collectively represented as one PCIe box. Then, as shown in FIG. 39, an information processing system including a plurality of host devices to which four PCIe boxes are connected is assumed. Only about 64 PCIe devices can be connected to the information processing system having such a configuration due to bus number limitations.

具体的には、図39に示す1つ目のホスト装置に接続された1つ目のPCIeボックスb1の下流では、図37で説明したように、ポート0〜3に合計4つのPCIeデバイスを接続可能であり、Bus#04〜0Bが消費される。また、同じ1つ目のホスト装置に接続された2つ目のPCIeボックスb2配下では、Bus#14〜1Bが消費される。なお、1つ目のPCIeボックスb1配下で消費される範囲で割り当てられていないBus#03がある。また、1つ目のPCIeボックスb1および2つ目のPCIeボックスb2間で、2つ目のPCIeボックス内部で消費されるバス番号を考慮しても、割り当てられていないバス番号が存在する。このように、バス番号の割り当ては、管理しやすさ等のため必ずしも緻密に割り当てられるわけではなく、飛ばされる番号が存在する場合もある。なお、バス番号の割り当ては、PCIeデバイスを初期化するソフトウェアにより行われる。   Specifically, in the downstream of the first PCIe box b1 connected to the first host device shown in FIG. 39, a total of four PCIe devices are connected to ports 0 to 3, as described in FIG. Yes, Bus # 04-0B is consumed. Further, Bus # 14 to 1B are consumed under the second PCIe box b2 connected to the same first host device. Note that there is a Bus # 03 that is not allocated within the range consumed under the first PCIe box b1. Further, even if the bus number consumed in the second PCIe box is taken into consideration between the first PCIe box b1 and the second PCIe box b2, there is an unassigned bus number. As described above, the bus numbers are not necessarily assigned precisely for ease of management, and there may be skipped numbers. The assignment of the bus number is performed by software that initializes the PCIe device.

同様にして、図39の例のように、各PCIeボックス配下でバス番号が8ずつ消費され、かつ、管理しやすさ等のために一部のバス番号が飛ばされていくとする。すると、この例では、情報処理システムは、Bus#FBまでを消費するPCIeボックスb16までしか接続できない。つまり、接続可能なPCIeボックスがB1〜B16までの16個までであり、各PCIeボックスに接続可能なPCIeデバイスが4個までであるため、接続可能なPCIeデバイスの個数は64個程度までとなってしまう。なお、バス番号が飛ばされずに緻密に割り当てが行われるとすれば、64個より多くのPCIeデバイスを接続することは可能となる。しかしながら、PCIeスイッチ内部で消費されるバス番号等を考慮すると、8ビットで表すことが可能な個数のバス番号を全てPCIeデバイスに割り当てることはできない。   Similarly, as in the example of FIG. 39, it is assumed that eight bus numbers are consumed under each PCIe box, and some bus numbers are skipped for ease of management. Then, in this example, the information processing system can connect only to the PCIe box b16 that consumes up to Bus # FB. That is, up to 16 PCIe boxes B1 to B16 and up to 4 PCIe devices connectable to each PCIe box, the number of connectable PCIe devices is up to about 64. End up. If the bus number is not skipped and the assignment is performed precisely, it is possible to connect more than 64 PCIe devices. However, in consideration of the bus number consumed inside the PCIe switch, the number of bus numbers that can be represented by 8 bits cannot be all assigned to the PCIe device.

このように、PCIeでは、バス番号のみでデバイスを識別しなければいけないだけでなく、デバイス以外で消費されるバス番号もある。このため、PCIeでは、接続可能なデバイスの個数が、PCIに比べて大幅に少なくなるという問題がある。   Thus, in PCIe, not only the device must be identified by the bus number alone, but there are also bus numbers consumed by devices other than the device. For this reason, PCIe has a problem that the number of devices that can be connected is greatly reduced compared to PCI.

このような問題に関連する技術の一例が、特許文献1に記載されている。特許文献1に記載された関連技術は、サーバとデバイスとを複数のPCIeスイッチで接続する構成を想定している。そして、この関連技術は、PCIeスイッチのポートのうちデバイスまたはサーバに接続する外部ポートにおいて、転送されるパケットに含まれるバス番号をシステムポートアドレスに変換し、パケットにラベルとして付加する。また、各外部ポートは、バス番号とシステムポートアドレスとを関連付けた変換テーブルを有する。また、この関連技術は、PCIeスイッチ同士が接続される内部ポート間では、システムポートアドレスを用いてパケットを転送する。そして、この関連技術は、変換テーブルにおいて、デバイスとして識別される必要がない場所に付与されるバス番号に対してシステムポートアドレスを関連付けないようにしたり、各外部ポート毎に異なる変換テーブルを有するようにする。これにより、この関連技術は、バス番号として表される個数より多くのPCIeデバイスの識別を可能にする。   An example of a technique related to such a problem is described in Patent Document 1. The related technology described in Patent Document 1 assumes a configuration in which a server and a device are connected by a plurality of PCIe switches. In this related technology, the bus number included in the transferred packet is converted into a system port address in an external port connected to the device or the server among the ports of the PCIe switch, and is added to the packet as a label. Each external port has a conversion table that associates a bus number with a system port address. In this related technique, a packet is transferred using a system port address between internal ports to which PCIe switches are connected. In this related technique, in the conversion table, the system port address is not associated with the bus number assigned to the place that does not need to be identified as a device, or a different conversion table is provided for each external port. To. Thus, this related technique allows identification of more PCIe devices than the number represented as the bus number.

国際公開第2012/086068号International Publication No. 2012/086068

しかしながら、特許文献1に記載された関連技術には、以下の課題がある。この関連技術では、サーバまたはデバイスに接続される各PCIeスイッチが、バス番号をシステムポートアドレスに変換する変換テーブルおよび変換機能を有する必要がある。また、各PCIeスイッチは、システムポートアドレスがラベルとして付加されたパケットを認識して転送する機能を有する必要がある。つまり、この関連技術では、全てのPCIeスイッチを、これらの機能を有する専用のPCIeスイッチで構成する必要があり、導入にコストがかかる。   However, the related technique described in Patent Document 1 has the following problems. In this related technology, each PCIe switch connected to a server or a device needs to have a conversion table and a conversion function for converting a bus number into a system port address. Each PCIe switch needs to have a function of recognizing and transferring a packet with a system port address added as a label. In other words, in this related technology, it is necessary to configure all the PCIe switches with dedicated PCIe switches having these functions, which is expensive to introduce.

このように、情報処理システムにおいては、接続可能な入出力デバイスの個数を増加させようとすると、導入にコストがかかるという問題がある。   As described above, in the information processing system, there is a problem that it is expensive to introduce if the number of connectable input / output devices is increased.

本発明は、上述の課題を解決するためになされたものである。すなわち、本発明は、導入コストを抑えながら、情報処理システムにおいて接続可能な入出力デバイスの個数を増加させる技術を提供することを目的とする。   The present invention has been made to solve the above-described problems. That is, an object of the present invention is to provide a technique for increasing the number of input / output devices that can be connected in an information processing system while suppressing the introduction cost.

本発明の変換装置は、ホスト装置と、1つ以上の入出力デバイスを接続可能な入出力スイッチとに接続され、前記ホスト装置から入力される前記入出力デバイス宛のパケットにおいて、宛先の識別子として含まれる第1識別情報であって、前記入出力デバイスが準拠する入出力インタフェースの仕様に基づく識別情報を構成する各ビットおよびn個の追加ビット(nは1以上の整数)からなる第1識別情報を、前記追加ビットの情報が含まれるよう、前記仕様に基づく識別情報と同一ビット幅の第2識別情報に変換し、変換した第2識別情報を前記宛先の識別子として前記仕様に基づく識別情報の位置に含めて前記入出力スイッチに出力するアウトバウンド変換部と、前記入出力スイッチから入力される前記ホスト装置宛のパケットにおいて、送信元の前記入出力デバイスの識別子として含まれる前記第2識別情報を元の前記第1識別情報に変換し、変換した第1識別情報を前記送信元の識別子として前記仕様に基づく識別情報の位置および前記追加ビットの位置に含めて前記ホスト装置に出力するインバウンド変換部と、を有する。   The conversion device of the present invention is connected to a host device and an input / output switch to which one or more input / output devices can be connected, and in a packet addressed to the input / output device input from the host device, as a destination identifier 1st identification information which is the 1st identification information contained, Comprising: Each identification bit which comprises the identification information based on the specification of the input / output interface which the said input / output device conforms, and n additional bits (n is an integer greater than or equal to 1) The information is converted into second identification information having the same bit width as the identification information based on the specification so that the information of the additional bit is included, and the identification information based on the specification is converted to the second identification information as the identifier of the destination. In the outbound conversion unit included in the position and output to the input / output switch, and in the packet addressed to the host device input from the input / output switch The second identification information included as an identifier of the input / output device of the transmission source is converted into the original first identification information, and the position of the identification information based on the specification is converted into the first identification information of the transmission source. And an inbound conversion unit that is included in the position of the additional bit and outputs to the host device.

また、本発明のホスト装置は、上述の変換装置および前記入出力スイッチを介して自装置に接続される前記入出力デバイスに対して、前記第1識別情報を付与するデバイス初期化部と、前記入出力デバイスに対して、前記第1識別情報を用いてアクセスするデバイスアクセス部と、を有する。   The host device of the present invention includes a device initialization unit that assigns the first identification information to the input / output device connected to the host device via the conversion device and the input / output switch. A device access unit that accesses the entry output device using the first identification information.

また、本発明の入出力スイッチシステムは、上述の変換装置と、前記入出力スイッチと、を備える。   An input / output switch system according to the present invention includes the conversion device described above and the input / output switch.

また、本発明の情報処理システムは、上述のホスト装置と、上述の変換装置と、前記入出力スイッチと、を備える。   An information processing system according to the present invention includes the host device described above, the conversion device described above, and the input / output switch.

また、本発明の方法は、ホスト装置と、1つ以上の入出力デバイスを接続可能な入出力スイッチとに接続されるコンピュータ装置を用いて、前記ホスト装置から入力される前記入出力デバイス宛のパケットにおいて、宛先の識別子として含まれる第1識別情報であって、前記入出力デバイスが準拠する入出力インタフェースの仕様に基づく識別情報を構成する各ビットおよびn個の追加ビット(nは1以上の整数)からなる第1識別情報を、前記追加ビットの情報が含まれるよう、前記仕様に基づく識別情報と同一ビット幅の第2識別情報に変換し、変換した第2識別情報を前記宛先の識別子として前記仕様に基づく識別情報の位置に含めて前記入出力スイッチに出力し、前記入出力スイッチから入力される前記ホスト装置宛のパケットにおいて、送信元の前記入出力デバイスの識別子として含まれる前記第2識別情報を元の前記第1識別情報に変換し、変換した第1識別情報を前記送信元の識別子として前記仕様に基づく識別情報の位置および前記追加ビットの位置に含めて前記ホスト装置に出力する。   In addition, the method of the present invention uses a computer device connected to a host device and an input / output switch to which one or more input / output devices can be connected, and addresses the input / output device input from the host device. In the packet, each bit and n additional bits (n is 1 or more), which is first identification information included as a destination identifier, which constitutes identification information based on the specifications of the input / output interface to which the input / output device complies. First identification information consisting of an integer) is converted into second identification information having the same bit width as the identification information based on the specification so that the information of the additional bits is included, and the converted second identification information is the identifier of the destination Included in the position of the identification information based on the specifications, output to the input / output switch, and in the packet addressed to the host device input from the input / output switch. Then, the second identification information included as the identifier of the input / output device of the transmission source is converted into the original first identification information, and the converted first identification information is used as the transmission source identifier to identify information based on the specification And the position of the additional bit are output to the host device.

また、本発明のプログラムは、ホスト装置と、1つ以上の入出力デバイスを接続可能な入出力スイッチとに接続されるコンピュータ装置に、前記ホスト装置から入力される前記入出力デバイス宛のパケットにおいて、宛先の識別子として含まれる第1識別情報であって、前記入出力デバイスが準拠する入出力インタフェースの仕様に基づく識別情報を構成する各ビットおよびn個の追加ビット(nは1以上の整数)からなる第1識別情報を、前記追加ビットの情報が含まれるよう、前記仕様に基づく識別情報と同一ビット幅の第2識別情報に変換し、変換した第2識別情報を前記宛先の識別子として前記仕様に基づく識別情報の位置に含めて前記入出力スイッチに出力するアウトバウンド変換ステップと、前記入出力スイッチから入力される前記ホスト装置宛のパケットにおいて、送信元の前記入出力デバイスの識別子として含まれる前記第2識別情報を元の前記第1識別情報に変換し、変換した第1識別情報を前記送信元の識別子として前記仕様に基づく識別情報の位置および前記追加ビットの位置に含めて前記ホスト装置に出力するインバウンド変換ステップと、を実行させる。   Further, the program of the present invention is provided in a packet addressed to the input / output device input from the host device to a computer device connected to the host device and an input / output switch that can connect one or more input / output devices. , First identification information included as a destination identifier, each bit constituting identification information based on the specifications of the input / output interface to which the input / output device conforms, and n additional bits (n is an integer of 1 or more) Is converted into second identification information having the same bit width as the identification information based on the specification so that the additional bit information is included, and the converted second identification information is used as the destination identifier. An outbound conversion step that includes the position of identification information based on specifications and outputs to the input / output switch, and is input from the input / output switch In the packet addressed to the host device, the second identification information included as the identifier of the transmission source input / output device is converted into the original first identification information, and the converted first identification information is used as the transmission source identifier. An inbound conversion step of including the position of the identification information based on the specification and the position of the additional bit and outputting the same to the host device.

また、本発明の他の方法は、コンピュータ装置を用いて、上述の変換装置および前記入出力スイッチを介して自装置に接続される前記入出力デバイスに対して、前記第1識別情報を付与し、前記入出力デバイスに対して、前記第1識別情報を用いてアクセスする。   According to another method of the present invention, the computer device is used to give the first identification information to the input / output device connected to the own device via the conversion device and the input / output switch. The input / output device is accessed using the first identification information.

本発明は、導入コストを抑えながら、情報処理システムにおいて接続可能な入出力デバイスの個数を増加させる技術を提供することができる。   The present invention can provide a technique for increasing the number of input / output devices that can be connected in an information processing system while suppressing the introduction cost.

本発明の第1の実施の形態としての変換装置の機能ブロック図である。FIG. 2 is a functional block diagram of a conversion apparatus as the first embodiment of the present invention. 本発明の第1の実施の形態としての変換装置のハードウェア構成の一例を示す図である。FIG. 2 is a diagram illustrating an example of a hardware configuration of a conversion device according to the first embodiment of the present invention. 本発明の第1の実施の形態としての変換装置が入出力デバイス宛のパケットを転送する動作を説明するフローチャートである。6 is a flowchart for explaining an operation in which the conversion apparatus as the first embodiment of the present invention transfers a packet addressed to an input / output device. 本発明の第1の実施の形態としての変換装置がホスト装置宛のパケットを転送する動作を説明するフローチャートである。6 is a flowchart for explaining an operation in which the conversion apparatus as the first embodiment of the present invention transfers a packet addressed to a host apparatus. 本発明の第2の実施の形態としてのホスト装置の機能ブロック図である。It is a functional block diagram of a host device as a 2nd embodiment of the present invention. 本発明の第2の実施の形態としてのホスト装置のハードウェア構成の一例を示す図である。It is a figure which shows an example of the hardware constitutions of the host apparatus as the 2nd Embodiment of this invention. 本発明の第2の実施の形態としてのホスト装置の動作を説明するフローチャートである。It is a flowchart explaining operation | movement of the host apparatus as the 2nd Embodiment of this invention. 本発明の第3の実施の形態としての情報処理システムの構成を示すブロック図である。It is a block diagram which shows the structure of the information processing system as the 3rd Embodiment of this invention. 本発明の第3の実施の形態としての情報処理システムのハードウェア構成の一例を示す図である。It is a figure which shows an example of the hardware constitutions of the information processing system as the 3rd Embodiment of this invention. 本発明の第4の実施の形態としての入出力スイッチシステムの構成を示すブロック図である。It is a block diagram which shows the structure of the input / output switch system as the 4th Embodiment of this invention. 本発明の第4の実施の形態としての入出力スイッチシステムのハードウェア構成の一例を示す図である。It is a figure which shows an example of the hardware constitutions of the input / output switch system as the 4th Embodiment of this invention. 本発明の第5の実施の形態としての情報処理システムの構成を示すブロック図である。It is a block diagram which shows the structure of the information processing system as the 5th Embodiment of this invention. 本発明の第5の実施の形態における第1識別情報の構成を説明する図である。It is a figure explaining the structure of the 1st identification information in the 5th Embodiment of this invention. 本発明の第5の実施の形態における変換装置の機能ブロック図である。It is a functional block diagram of the converter in the 5th Embodiment of this invention. 本発明の第5の実施の形態におけるPCIeスイッチの機能ブロック図である。It is a functional block diagram of the PCIe switch in the 5th Embodiment of this invention. 本発明の第5の実施の形態におけるホスト装置の機能ブロック図である。It is a functional block diagram of the host apparatus in the 5th Embodiment of this invention. 本発明の第5の実施の形態におけるホスト装置の動作を説明するフローチャートである。It is a flowchart explaining operation | movement of the host apparatus in the 5th Embodiment of this invention. 本発明の第5の実施の形態における変換装置がPCIeデバイス宛のパケットを転送する動作を説明するフローチャートである。It is a flowchart explaining the operation | movement in which the converter in the 5th Embodiment of this invention transfers the packet addressed to a PCIe device. 本発明の第5の実施の形態における変換装置がホスト装置宛のパケットを転送する動作を説明するフローチャートである。It is a flowchart explaining the operation | movement which the converter in the 5th Embodiment of this invention transfers the packet addressed to a host apparatus. 本発明の第5の実施の形態において送受信されるパケットのヘッダの構成を説明する図である。It is a figure explaining the structure of the header of the packet transmitted / received in the 5th Embodiment of this invention. 本発明の第5の実施の形態において送受信される他のパケットのヘッダの構成を説明する図である。It is a figure explaining the structure of the header of the other packet transmitted / received in the 5th Embodiment of this invention. 本発明の第5の実施の形態において送受信されるさらに他のパケットのヘッダの構成を説明する図である。It is a figure explaining the structure of the header of the other packet transmitted / received in the 5th Embodiment of this invention. 本発明の第5の実施の形態における変換装置がPCIeデバイス宛のパケットを転送する動作の具体例を説明するフローチャートである。It is a flowchart explaining the specific example of the operation | movement which the converter in the 5th Embodiment of this invention transfers the packet addressed to a PCIe device. 本発明の第5の実施の形態において第1識別情報が第2識別情報に変換される過程の一例を模式的に説明する図である。It is a figure which illustrates typically an example of the process in which 1st identification information is converted into 2nd identification information in the 5th Embodiment of this invention. 本発明の第5の実施の形態における変換装置がホスト装置宛のパケットを転送する動作の具体例を説明するフローチャートである。It is a flowchart explaining the specific example of the operation | movement which the converter in the 5th Embodiment of this invention transfers the packet addressed to a host apparatus. 本発明の第5の実施の形態において第2識別情報が第1識別情報に変換される過程の一例を模式的に説明する図である。It is a figure which illustrates typically an example of the process in which 2nd identification information is converted into 1st identification information in the 5th Embodiment of this invention. 図26に続く模式図である。FIG. 27 is a schematic diagram following FIG. 26. 本発明の第5の実施の形態において各PCIeデバイスに付与される第1識別情報の一例を説明する図である。It is a figure explaining an example of the 1st discernment information given to each PCIe device in a 5th embodiment of the present invention. 本発明の第5の実施の形態において接続可能なPCIeデバイスの個数を説明する図である。It is a figure explaining the number of the PCIe devices which can be connected in the 5th Embodiment of this invention. 本発明の第6の実施の形態としての情報処理システムの構成を示すブロック図である。It is a block diagram which shows the structure of the information processing system as the 6th Embodiment of this invention. 本発明の第6の実施の形態における変換装置の機能ブロック図である。It is a functional block diagram of the converter in the 6th Embodiment of this invention. 本発明の第6の実施の形態におけるホスト装置の機能ブロック図である。It is a functional block diagram of the host apparatus in the 6th Embodiment of this invention. 本発明の第6の実施の形態において変換機能が有効であるか否かに基づく変換処理の一例を模式的に説明する図である。It is a figure which illustrates typically an example of the conversion process based on whether the conversion function is effective in the 6th Embodiment of this invention. 本発明の第6の実施の形態におけるホスト装置の動作を説明するフローチャートである。It is a flowchart explaining operation | movement of the host apparatus in the 6th Embodiment of this invention. 本発明の第6の実施の形態における変換装置がPCIeデバイス宛のパケットを転送する動作を説明するフローチャートである。It is a flowchart explaining the operation | movement which the packet in the 6th Embodiment of this invention transfers the packet addressed to a PCIe device. 本発明の第6の実施の形態における変換装置がホスト装置宛のパケットを転送する動作を説明するフローチャートである。It is a flowchart explaining the operation | movement which the converter in the 6th Embodiment of this invention transfers the packet addressed to a host apparatus. 入出力スイッチを介して入出力デバイスが接続される一般的な情報処理システムにおいて入出力デバイスの識別に用いられる情報を説明する図である。It is a figure explaining the information used for the identification of an input / output device in the general information processing system to which an input / output device is connected via an input / output switch. 入出力スイッチを介して入出力デバイスが接続される一般的な情報処理システムにおいて、入出力デバイスを識別するデバイス識別情報の構成の一例を示す図である。It is a figure which shows an example of a structure of the device identification information which identifies an input / output device in the general information processing system to which an input / output device is connected via an input / output switch. 入出力スイッチを介して入出力デバイスが接続される一般的な情報処理システムの構成を示す図である。1 is a diagram illustrating a configuration of a general information processing system to which an input / output device is connected via an input / output switch.

以下、本発明の実施の形態について、図面を参照して詳細に説明する。   Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.

(第1の実施の形態)
本発明の第1の実施の形態としての変換装置10の機能ブロック構成を図1に示す。図1において、変換装置10は、アウトバウンド変換部11と、インバウンド変換部12とを有する。変換装置10は、ホスト装置と、1つ以上の入出力デバイスを接続可能な入出力スイッチとに接続される。
(First embodiment)
FIG. 1 shows a functional block configuration of a conversion apparatus 10 as the first embodiment of the present invention. In FIG. 1, the conversion device 10 includes an outbound conversion unit 11 and an inbound conversion unit 12. The conversion device 10 is connected to a host device and an input / output switch to which one or more input / output devices can be connected.

ここで、変換装置10のハードウェア構成の一例を図2に示す。図2において、変換装置10は、上流ポート101と、下流ポート102と、ブリッジ回路103と、変換回路104とを含んで構成される。ブリッジ回路103は、上流ポート101または下流ポート102から入力されるパケットを他方のポートから出力するか否かの制御を行う集積回路である。また、変換回路104は、変換装置10の各機能ブロックを実現する集積回路である。なお、変換装置10を構成するハードウェア構成は、上述の構成に限定されない。   Here, an example of the hardware configuration of the conversion apparatus 10 is shown in FIG. In FIG. 2, the conversion device 10 includes an upstream port 101, a downstream port 102, a bridge circuit 103, and a conversion circuit 104. The bridge circuit 103 is an integrated circuit that controls whether a packet input from the upstream port 101 or the downstream port 102 is output from the other port. The conversion circuit 104 is an integrated circuit that implements each functional block of the conversion device 10. Note that the hardware configuration of the conversion device 10 is not limited to the above configuration.

次に、変換装置10の各機能ブロックの詳細について説明する。   Next, details of each functional block of the conversion apparatus 10 will be described.

アウトバウンド変換部11は、ホスト装置から入力される入出力デバイス宛のパケットにおいて、宛先の識別子として含まれる第1識別情報を第2識別情報に変換する。そして、アウトバウンド変換部11は、変換した第2識別情報を、当該パケットに含めて入出力スイッチに出力する。なお、第2識別情報を含める位置は、当該パケットにおける宛先の識別子として入出力インタフェースの仕様に基づく識別情報の位置である。   The outbound conversion unit 11 converts the first identification information included as the destination identifier into the second identification information in the packet addressed to the input / output device input from the host device. And the outbound conversion part 11 includes the converted 2nd identification information in the said packet, and outputs it to an input / output switch. The position including the second identification information is the position of the identification information based on the specifications of the input / output interface as the destination identifier in the packet.

ここで、入出力インタフェースとは、入出力スイッチおよび入出力デバイスが準拠するインタフェースを指すものとする。以下、入出力インタフェースの仕様のことを、単に「仕様」とも記載する。   Here, the input / output interface indicates an interface to which the input / output switch and the input / output device comply. Hereinafter, the specification of the input / output interface is also simply referred to as “specification”.

また、第1識別情報とは、入出力デバイス宛のパケットにおいて、宛先の識別子として仕様に基づく識別情報を構成する各ビットと、n個の追加ビット(nは1以上の整数)とからなる情報である。例えば、n個の追加ビットは、宛先の識別子として仕様に基づく識別情報の下位に連続するn個のビットであってもよいが、その位置は限定されない。ただし、n個の追加ビットは、仕様に基づくパケットのヘッダにおいて使用されないビットであることが望ましい。   The first identification information is information including each bit constituting identification information based on the specification as a destination identifier and n additional bits (n is an integer of 1 or more) in a packet addressed to an input / output device. It is. For example, the n additional bits may be n bits consecutive in the lower order of the identification information based on the specification as the destination identifier, but the position thereof is not limited. However, it is desirable that the n additional bits are bits that are not used in the header of the packet based on the specification.

また、第2識別情報は、仕様に基づく識別情報と同一ビット幅の情報である。アウトバウンド変換部11は、第1識別情報から、第1識別情報に含まれていたn個の追加ビットの情報を含むよう、第2識別情報を生成する。   The second identification information is information having the same bit width as the identification information based on the specification. The outbound conversion part 11 produces | generates 2nd identification information so that the information of n additional bits contained in 1st identification information may be included from 1st identification information.

例えば、アウトバウンド変換部は、第1識別情報の上位nビットを破棄し、n個の追加ビットを下位nビットとして含むよう、第2識別情報を構成してもよい。   For example, the outbound conversion unit may configure the second identification information such that the upper n bits of the first identification information are discarded and n additional bits are included as the lower n bits.

具体的には、第1識別情報に含まれる追加ビットが、前述のように、宛先の識別子として仕様に基づく識別情報の下位に連続するnビットであるとする。この場合、アウトバウンド変換部11は、パケットから第1識別情報を取り出してnビット左論理シフトを行ったものを、取り出した第1識別情報の位置に書き戻せばよい。   Specifically, it is assumed that the additional bits included in the first identification information are n bits consecutively below the identification information based on the specification as the destination identifier as described above. In this case, the outbound conversion unit 11 may write back the first identification information extracted from the packet and subjected to n-bit left logical shift at the position of the extracted first identification information.

インバウンド変換部12は、入出力スイッチから入力されるホスト装置宛のパケットにおいて、送信元の入出力デバイスの識別子として含まれる第2識別情報を、元の第1識別情報に変換する。そして、インバウンド変換部12は、変換した第1識別情報を、当該パケットに含めてホスト装置に出力する。なお、第1識別情報を含める位置は、当該パケットにおいて送信元の識別子として仕様に基づく識別情報の位置およびn個の追加ビットの位置である。   The inbound conversion unit 12 converts the second identification information included as the identifier of the transmission source input / output device into the original first identification information in the packet addressed to the host device input from the input / output switch. Then, the inbound conversion unit 12 includes the converted first identification information in the packet and outputs the packet to the host device. Note that the positions where the first identification information is included are the position of identification information based on the specification as the transmission source identifier and the position of n additional bits in the packet.

例えば、インバウンド変換部は、アウトバウンド変換部11により破棄された上位nビットを第2識別情報の上位に追加することにより、第1識別情報を構成してもよい。   For example, the inbound conversion unit may configure the first identification information by adding the upper n bits discarded by the outbound conversion unit 11 to the upper level of the second identification information.

ここで、変換装置10より下流に接続される各デバイスに対して付与される第1識別情報の少なくとも上位nビットが同一であることが想定されるとする。この場合、インバウンド変換部12は、そのような上位nビットを記憶しておき、変換の際に用いればよい。   Here, it is assumed that at least the upper n bits of the first identification information given to each device connected downstream from the conversion apparatus 10 are the same. In this case, the inbound conversion unit 12 may store such upper n bits and use them in the conversion.

具体的には、第1識別情報に含まれる追加ビットが、送信元の識別子として仕様に基づく識別情報の下位に連続するnビットであるとする。この場合、インバウンド変換部12は、パケットから第2識別情報およびその下位に連続するnビットを取り出して、nビット右論理シフトを行う。そして、インバウンド変換部12は、右論理シフトの結果と、記憶している上位nビットとの論理和をとったものを、取り出した第2識別情報の位置およびその下位に連続するnビットの位置に書き戻せばよい。   Specifically, it is assumed that the additional bits included in the first identification information are n bits that are continuous to the lower order of the identification information based on the specification as the identifier of the transmission source. In this case, the inbound conversion unit 12 extracts the second identification information and n bits consecutive in the lower order from the packet, and performs an n-bit right logical shift. Then, the inbound conversion unit 12 obtains the logical sum of the result of the right logical shift and the stored upper n bits, and the position of the extracted second identification information and the position of the n bits continuous to the lower position. You can write back to

以上のように構成された変換装置10の動作について、図面を参照して説明する。   The operation of the conversion apparatus 10 configured as described above will be described with reference to the drawings.

まず、入出力デバイス宛のパケットを転送する動作を図3に示す。図3において、まず、アウトバウンド変換部11は、入出力デバイス宛のパケットをホスト装置から受信する(ステップA1)。   First, an operation for transferring a packet addressed to an input / output device is shown in FIG. In FIG. 3, the outbound conversion unit 11 first receives a packet addressed to the input / output device from the host device (step A1).

次に、アウトバウンド変換部11は、受信したパケットから、宛先の識別子としての第1識別情報を取り出す(ステップA2)。   Next, the outbound conversion unit 11 extracts first identification information as a destination identifier from the received packet (step A2).

次に、アウトバウンド変換部11は、取り出した第1識別情報に基づいて、n個の追加ビットの情報を含むよう、仕様に基づく識別情報と同一ビット幅の第2識別情報を生成する(ステップA3)。   Next, the outbound conversion unit 11 generates second identification information having the same bit width as the identification information based on the specification so as to include information of n additional bits based on the extracted first identification information (step A3). ).

次に、アウトバウンド変換部11は、生成した第2識別情報を、パケットにおいて宛先の識別子として仕様に基づく識別情報の位置に含める(ステップA4)。   Next, the outbound conversion unit 11 includes the generated second identification information in the position of the identification information based on the specification as a destination identifier in the packet (step A4).

そして、アウトバウンド変換部11は、第2識別情報を含むパケットを、入出力スイッチに出力する(ステップA5)。   And the outbound conversion part 11 outputs the packet containing 2nd identification information to an input / output switch (step A5).

以上で、変換装置10は、入出力デバイス宛のパケットを転送する動作を終了する。   Thus, the conversion apparatus 10 ends the operation of transferring the packet addressed to the input / output device.

次に、ホスト装置宛のパケットを転送する動作を図4に示す。図4において、まず、インバウンド変換部12は、ホスト装置宛のパケットを入出力スイッチから受信する(ステップB1)。   Next, FIG. 4 shows an operation of transferring a packet addressed to the host device. In FIG. 4, first, the inbound conversion unit 12 receives a packet addressed to the host device from the input / output switch (step B1).

次に、インバウンド変換部12は、受信したパケットから、送信元の識別子としての第2識別情報を取り出す(ステップB2)。   Next, the inbound conversion part 12 takes out the 2nd identification information as a transmission source identifier from the received packet (step B2).

次に、インバウンド変換部12は、取り出した第2識別情報に基づいて、元の第1識別情報を生成する(ステップB3)。   Next, the inbound conversion part 12 produces | generates the original 1st identification information based on the taken out 2nd identification information (step B3).

次に、インバウンド変換部12は、生成した第1識別情報を、パケットにおける送信元の識別子として仕様に基づく識別情報の位置およびn個の追加ビットの位置に含める(ステップB4)。   Next, the inbound conversion unit 12 includes the generated first identification information as the identifier of the transmission source in the packet in the position of the identification information based on the specification and the position of n additional bits (step B4).

そして、インバウンド変換部12は、第1識別情報を含むパケットを、ホスト装置に出力する(ステップB5)。   Then, the inbound conversion unit 12 outputs a packet including the first identification information to the host device (step B5).

以上で、変換装置10は、ホスト装置宛のパケットを転送する動作を終了する。   Thus, the conversion device 10 ends the operation of transferring the packet addressed to the host device.

次に、本発明の第1の実施の形態の効果について述べる。   Next, effects of the first exemplary embodiment of the present invention will be described.

本発明の第1の実施の形態としての変換装置は、導入コストを抑えながら、情報処理システムに接続可能な入出力デバイスの個数を増加させることができる。   The conversion apparatus according to the first embodiment of the present invention can increase the number of input / output devices that can be connected to the information processing system while suppressing the introduction cost.

その理由について説明する。本実施の形態の変換装置は、ホスト装置と、1つ以上の入出力デバイスを接続可能な入出力スイッチとに接続される。そして、ホスト装置から変換装置に入力される入出力デバイス宛のパケットには、宛先の識別子として第1識別情報が含まれる。第1識別情報は、入出力デバイスが準拠する入出力インタフェースの仕様に基づく識別情報を構成する各ビットおよびn個の追加ビットからなる。そして、アウトバウンド変換部が、第1識別情報を、追加ビットの情報を含むよう、仕様に基づく識別情報と同一ビット幅の第2識別情報に変換する。そして、アウトバウンド変換部が、変換した第2識別情報を、パケットにおける宛先の識別子として仕様に基づく識別情報の位置に含めて、入出力スイッチに出力するからである。   The reason will be described. The conversion device according to the present embodiment is connected to a host device and an input / output switch to which one or more input / output devices can be connected. The packet addressed to the input / output device input from the host device to the conversion device includes first identification information as a destination identifier. The first identification information is composed of each bit constituting the identification information based on the specification of the input / output interface to which the input / output device conforms and n additional bits. Then, the outbound conversion unit converts the first identification information into the second identification information having the same bit width as the identification information based on the specification so as to include the additional bit information. This is because the outbound conversion unit includes the converted second identification information in the position of the identification information based on the specification as the destination identifier in the packet and outputs it to the input / output switch.

また、インバウンド変換部が、入出力スイッチから入力されるホスト装置宛のパケットにおいて、送信元の入出力デバイスの識別子として含まれる第2識別情報を元の第1識別情報に変換する。そして、インバウンド変換部が、変換した第1識別情報を、パケットにおける送信元の識別子として仕様に基づく識別情報の位置および追加ビットの位置に含めて、ホスト装置に出力するからである。   The inbound conversion unit converts the second identification information included as the identifier of the transmission source input / output device into the original first identification information in the packet addressed to the host device input from the input / output switch. This is because the inbound conversion unit includes the converted first identification information as a transmission source identifier in the packet in the position of the identification information based on the specification and the position of the additional bit, and outputs it to the host device.

ここで、第2識別情報は、第1識別情報よりビット幅が短いため、第1識別情報に含まれていた一部の情報が失われていることになる。換言すると、異なる第1識別情報から同一の第2識別情報が生成される可能性がある。しかしながら、アウトバウンド変換部は、追加ビットの情報を含むよう第2識別情報を生成する。そのため、変換装置の下流では、少なくとも追加ビットの情報を用いて入出力デバイスが識別される。このとき、情報処理システムに複数の変換装置が含まれるとする。この場合、ある変換装置の下流において、他の変換装置の下流で用いられる第2識別情報と同一の第2識別情報が用いられるとしても、ホスト装置から変換装置までの転送経路が正しければ、パケットは正しい宛先に転送される。そして、このように構成した場合、ホスト装置は、仕様に基づく識別情報より高ビット幅の第1識別情報を用いて入出力デバイスを識別できる。その結果、本実施の形態は、情報処理システムにおいて接続可能な入出力デバイスの個数を増加させることができる。   Here, since the second identification information has a bit width shorter than that of the first identification information, a part of the information included in the first identification information is lost. In other words, the same second identification information may be generated from different first identification information. However, the outbound conversion unit generates the second identification information so as to include additional bit information. Therefore, the input / output device is identified at least using the information of the additional bits downstream of the conversion apparatus. At this time, it is assumed that the information processing system includes a plurality of conversion devices. In this case, even if the second identification information that is the same as the second identification information used downstream of another conversion device is used downstream of a certain conversion device, if the transfer path from the host device to the conversion device is correct, the packet Is forwarded to the correct destination. And when comprised in this way, the host apparatus can identify an input / output device using the 1st identification information of bit width higher than the identification information based on a specification. As a result, the present embodiment can increase the number of input / output devices that can be connected in the information processing system.

しかも、本実施の形態では、入出力スイッチおよび入出力デバイスは、自装置の識別情報として、仕様に基づく識別情報と同等の第2識別情報を用いて動作すればよい。そのため、入出力スイッチおよび入出力デバイスとしては、一般的な入出力スイッチおよび入出力デバイスを適用可能である。したがって、本実施の形態は、本実施の形態の変換装置をホスト装置および入出力スイッチの間に適用すればよく、導入コストを抑えることができる。   Moreover, in the present embodiment, the input / output switch and the input / output device may operate using second identification information equivalent to the identification information based on the specification as the identification information of its own device. Therefore, general input / output switches and input / output devices are applicable as the input / output switches and input / output devices. Therefore, in this embodiment, the conversion device of this embodiment may be applied between the host device and the input / output switch, and the introduction cost can be suppressed.

(第2の実施の形態)
次に、本発明の第2の実施の形態について説明する。本発明の第2の実施の形態では、本発明の第1の実施の形態としての変換装置を用いて入出力デバイスが接続されるホスト装置の一例について説明する。なお、本実施の形態の説明において参照する各図面において、本発明の第1の実施の形態と同一の構成および同様に動作するステップには同一の符号を付して本実施の形態における詳細な説明を省略する。
(Second Embodiment)
Next, a second embodiment of the present invention will be described. In the second embodiment of the present invention, an example of a host apparatus to which an input / output device is connected using the conversion apparatus according to the first embodiment of the present invention will be described. Note that, in each drawing referred to in the description of the present embodiment, the same reference numerals are given to the same configuration and steps that operate in the same manner as in the first embodiment of the present invention, and the detailed description in the present embodiment. Description is omitted.

まず、本発明の第2の実施の形態としての構成を図5に示す。図5において、ホスト装置20は、デバイス初期化部21と、デバイスアクセス部22とを有する。また、ホスト装置20は、本発明の第1の実施の形態としての変換装置10に接続される。   First, FIG. 5 shows a configuration as a second embodiment of the present invention. In FIG. 5, the host device 20 includes a device initialization unit 21 and a device access unit 22. The host device 20 is connected to the conversion device 10 as the first embodiment of the present invention.

ここで、ホスト装置20のハードウェア構成の一例を図6に示す。図6において、ホスト装置20は、プロセッサ201と、メモリ202と、入出力インタフェース203とを含んで構成される。プロセッサ201は、メモリ202に格納されたプログラムを読み込んで実行することにより、入出力インタフェース203を介して入出力デバイスとの通信を行う。入出力インタフェース203は、変換装置10に接続し、入出力デバイスとの通信を行うインタフェースである。この場合、ホスト装置20の各機能ブロックは、メモリ202に記憶されたプログラムを読み込んで実行するプロセッサ201によって構成される。   An example of the hardware configuration of the host device 20 is shown in FIG. 6, the host device 20 includes a processor 201, a memory 202, and an input / output interface 203. The processor 201 communicates with an input / output device via the input / output interface 203 by reading and executing a program stored in the memory 202. The input / output interface 203 is an interface that is connected to the conversion apparatus 10 and communicates with the input / output device. In this case, each functional block of the host device 20 is configured by a processor 201 that reads and executes a program stored in the memory 202.

次に、ホスト装置20の機能の詳細について説明する。   Next, details of functions of the host device 20 will be described.

デバイス初期化部21は、変換装置10に接続される入出力スイッチを介して自装置に接続される入出力デバイスに対して、第1識別情報を付与する。   The device initialization unit 21 gives first identification information to an input / output device connected to the own device via an input / output switch connected to the conversion device 10.

デバイスアクセス部22は、入出力デバイスに対して、第1識別情報を用いてアクセスする。   The device access unit 22 accesses the input / output device using the first identification information.

なお、これらの機能ブロックは、メモリ202に記憶されたファームウェアやオペレーティングシステムが、プロセッサ201によって読み込まれて実行されることにより実現される。   Note that these functional blocks are realized by the firmware and operating system stored in the memory 202 being read and executed by the processor 201.

以上のように構成されたホスト装置20の動作について、図7を参照して説明する。   The operation of the host device 20 configured as described above will be described with reference to FIG.

図7において、まず、デバイス初期化部21は、変換装置10に接続される入出力スイッチを介して自装置に接続される入出力デバイスに対して、第1識別情報を付与する(ステップC1)。   In FIG. 7, first, the device initialization unit 21 assigns first identification information to an input / output device connected to its own device via an input / output switch connected to the conversion device 10 (step C1). .

以降、デバイスアクセス部22は、自装置に接続される入出力デバイスに対して、第1識別情報を用いてアクセスする(ステップC2)。   Thereafter, the device access unit 22 accesses the input / output device connected to the own apparatus using the first identification information (step C2).

以上で、ホスト装置20の動作の説明を終了する。   Above, description of operation | movement of the host apparatus 20 is complete | finished.

次に、本発明の第2の実施の形態の効果について述べる。   Next, the effect of the second exemplary embodiment of the present invention will be described.

本実施の形態のホスト装置は、導入コストを抑えながら、自装置が含まれる情報処理システムに接続可能な入出力デバイスの個数を増加させることができる。その理由について説明する。本実施の形態は、本発明の第1の実施の形態としての変換装置に接続される。そして、デバイス初期化部が、変換装置に接続される入出力スイッチを介して自装置に接続される入出力デバイスに対して、第1識別情報を付与する。そして、デバイスアクセス部が、入出力デバイスに対して、第1識別情報を用いてアクセスするからである。   The host device according to the present embodiment can increase the number of input / output devices that can be connected to the information processing system including the host device, while suppressing the introduction cost. The reason will be described. The present embodiment is connected to the conversion device as the first embodiment of the present invention. Then, the device initialization unit gives the first identification information to the input / output device connected to the own device via the input / output switch connected to the conversion device. This is because the device access unit accesses the input / output device using the first identification information.

これにより、本実施の形態のホスト装置は、仕様に基づく識別情報より高ビット幅の第1識別情報を用いて、入出力デバイスを識別できる。その結果、情報処理システムに接続可能な入出力デバイスの個数が増加する。   Thereby, the host device according to the present embodiment can identify the input / output device by using the first identification information having a bit width higher than the identification information based on the specification. As a result, the number of input / output devices connectable to the information processing system increases.

(第3の実施の形態)
次に、本発明の第3の実施の形態について説明する。本発明の第3の実施の形態では、本発明の第1および第2の実施の形態を含む情報処理システムについて説明する。なお、本実施の形態の説明において参照する各図面において、本発明の第1〜第2の実施の形態と同一の構成および同様に動作するステップには同一の符号を付して本実施の形態における詳細な説明を省略する。
(Third embodiment)
Next, a third embodiment of the present invention will be described. In the third embodiment of the present invention, an information processing system including the first and second embodiments of the present invention will be described. In each drawing referred to in the description of the present embodiment, the same reference numerals are given to the same configurations and steps that operate in the same manner as in the first and second embodiments of the present invention. The detailed description in is omitted.

まず、本発明の第3の実施の形態としての情報処理システム3の機能ブロック構成を図8に示す。図8において、情報処理システム3は、本発明の第2の実施の形態としてのホスト装置20と、本発明の第1の実施の形態としての変換装置10と、入出力スイッチ30とを含む。1つのホスト装置20には、1つ以上の変換装置10が接続される。また、各変換装置10には、1つの入出力スイッチ30が接続される。また、各入出力スイッチ30には、1つ以上の入出力デバイスが接続可能となっている。   First, FIG. 8 shows a functional block configuration of an information processing system 3 as a third embodiment of the present invention. In FIG. 8, the information processing system 3 includes a host device 20 as a second embodiment of the present invention, a conversion device 10 as a first embodiment of the present invention, and an input / output switch 30. One host device 20 is connected to one or more conversion devices 10. Also, one input / output switch 30 is connected to each conversion device 10. Each input / output switch 30 can be connected to one or more input / output devices.

なお、図8では、1つのホスト装置20が示されているが、この数は限定されない。例えば、情報処理システム3は、複数のホスト装置20を含み、各ホスト装置20に、変換装置10および入出力スイッチ30の組合せが1つ以上接続されてもよい。また、図8では、1つのホスト装置20に対して、変換装置10および入出力スイッチ30の組合せが2つ接続されているが、1つのホスト装置20に接続されるこの組合せの数は限定されない。また、図8では、1つの入出力スイッチ30に2つの入出力デバイスが接続される例が示されているが、接続可能な入出力デバイスの個数は限定されない。ただし、これらの個数は、情報処理システム3全体で接続可能な入出力デバイスの個数が、本実施の形態における第1識別情報に基づき識別可能な個数までとなるよう限定される。   In FIG. 8, one host device 20 is shown, but this number is not limited. For example, the information processing system 3 may include a plurality of host devices 20, and one or more combinations of the conversion device 10 and the input / output switch 30 may be connected to each host device 20. In FIG. 8, two combinations of the conversion device 10 and the input / output switch 30 are connected to one host device 20, but the number of the combinations connected to one host device 20 is not limited. . FIG. 8 shows an example in which two input / output devices are connected to one input / output switch 30, but the number of connectable input / output devices is not limited. However, these numbers are limited so that the number of input / output devices that can be connected in the entire information processing system 3 is limited to the number that can be identified based on the first identification information in the present embodiment.

ここで、情報処理システム3のハードウェア構成の一例について、図9を参照して説明する。図9において、変換装置10およびホスト装置20のハードウェア構成は、図2および図6を用いて説明した通りであるため、説明を省略する。ここでは、入出力スイッチ30のハードウェア構成について説明する。   Here, an example of the hardware configuration of the information processing system 3 will be described with reference to FIG. In FIG. 9, the hardware configurations of the conversion device 10 and the host device 20 are the same as described with reference to FIGS. Here, the hardware configuration of the input / output switch 30 will be described.

図9において、入出力スイッチ30は、上流ポート301と、複数の下流ポート302と、入出力スイッチ回路303とを含む。上流ポート301は、変換装置10に接続される。また、下流ポート302は、それぞれ入出力デバイスを接続可能となっている。また、入出力スイッチ回路303は、上流ポート301と複数の下流ポート302との間でパケットの転送を制御するため集積回路であり、階層的に接続される複数の仮想ブリッジ31を実現する。   In FIG. 9, the input / output switch 30 includes an upstream port 301, a plurality of downstream ports 302, and an input / output switch circuit 303. The upstream port 301 is connected to the conversion device 10. Each downstream port 302 can be connected to an input / output device. The input / output switch circuit 303 is an integrated circuit for controlling packet transfer between the upstream port 301 and the plurality of downstream ports 302, and implements a plurality of virtual bridges 31 that are hierarchically connected.

なお、情報処理システム3を構成するハードウェア構成は、上述の構成に限定されない。   Note that the hardware configuration of the information processing system 3 is not limited to the above configuration.

次に、入出力スイッチ30の機能について説明する。入出力スイッチ30は、変換装置10から入力される入出力デバイス宛のパケットを、第2識別情報に基づき適切な下流ポート302から出力する。また、入出力スイッチ30は、入出力デバイスから入力されるホスト装置20宛のパケットを、変換装置10に出力する。   Next, the function of the input / output switch 30 will be described. The input / output switch 30 outputs a packet addressed to the input / output device input from the conversion device 10 from an appropriate downstream port 302 based on the second identification information. Further, the input / output switch 30 outputs a packet addressed to the host device 20 input from the input / output device to the conversion device 10.

以上のように構成された情報処理システム3において、変換装置10は、本発明の第1の実施の形態で説明したように動作する。また、ホスト装置20は、本発明の第2の実施の形態で説明したように動作する。   In the information processing system 3 configured as described above, the conversion device 10 operates as described in the first embodiment of the present invention. The host device 20 operates as described in the second embodiment of the present invention.

次に、本発明の第3の実施の形態の効果について述べる。   Next, effects of the third exemplary embodiment of the present invention will be described.

本発明の第3の実施の形態としての情報処理システムは、導入コストを抑えながら、情報処理システムに接続可能な入出力デバイスの個数を増加させることができる。その理由は、本発明の第1および第2の実施の形態で述べたとおりである。   The information processing system as the third exemplary embodiment of the present invention can increase the number of input / output devices that can be connected to the information processing system while suppressing the introduction cost. The reason is as described in the first and second embodiments of the present invention.

(第4の実施の形態)
次に、本発明の第4の実施の形態について説明する。本発明の第4の実施の形態では、本発明の第1の実施の形態を含む入出力スイッチシステムについて説明する。なお、本実施の形態の説明において参照する各図面において、本発明の第1〜第3の実施の形態と同一の構成および同様に動作するステップには同一の符号を付して本実施の形態における詳細な説明を省略する。
(Fourth embodiment)
Next, a fourth embodiment of the present invention will be described. In the fourth embodiment of the present invention, an input / output switch system including the first embodiment of the present invention will be described. In each drawing referred to in the description of the present embodiment, the same reference numerals are given to the same configuration and steps that operate in the same manner as in the first to third embodiments of the present invention. The detailed description in is omitted.

まず、本発明の第4の実施の形態としての入出力スイッチシステム4の構成を図10に示す。図10において、入出力スイッチシステム4は、本発明の第1の実施の形態としての変換装置10と、本発明の第3の実施の形態における入出力スイッチ30とを含む。変換装置10は、ホスト装置に接続される。入出力スイッチ30には、1つ以上の入出力デバイスを接続可能である。   First, FIG. 10 shows the configuration of an input / output switch system 4 according to a fourth embodiment of the present invention. In FIG. 10, an input / output switch system 4 includes a conversion device 10 as a first embodiment of the present invention and an input / output switch 30 according to a third embodiment of the present invention. The conversion device 10 is connected to a host device. One or more input / output devices can be connected to the input / output switch 30.

ここで、入出力スイッチシステム4のハードウェア構成の一例について、図11を参照して説明する。図11において、変換装置10および入出力スイッチ30のハードウェア構成は、図2および図9を用いて説明した通りであるため、説明を省略する。なお、入出力スイッチシステム4において、変換装置10および入出力スイッチ30は、物理的に同一の基板上に構成されてもよい。   Here, an example of a hardware configuration of the input / output switch system 4 will be described with reference to FIG. In FIG. 11, the hardware configurations of the conversion device 10 and the input / output switch 30 are as described with reference to FIGS. In the input / output switch system 4, the conversion device 10 and the input / output switch 30 may be physically configured on the same substrate.

以上のように構成された入出力スイッチシステム4において、変換装置10は、本発明の第1の実施の形態で説明したように動作する。入出力スイッチ30は、本発明の第3の実施の形態で説明したように動作する。   In the input / output switch system 4 configured as described above, the conversion device 10 operates as described in the first embodiment of the present invention. The input / output switch 30 operates as described in the third embodiment of the present invention.

次に、本発明の第4の実施の形態の効果について述べる。   Next, effects of the fourth exemplary embodiment of the present invention will be described.

本発明の第4の実施の形態としての入出力スイッチシステムは、導入コストを抑えながら、情報処理システムにおいて接続可能な入出力デバイスの個数を増加させることができる。その理由については、本発明の第1の実施の形態で説明した通りである。   The input / output switch system according to the fourth embodiment of the present invention can increase the number of input / output devices that can be connected in the information processing system while suppressing the introduction cost. The reason is the same as described in the first embodiment of the present invention.

なお、もし、本実施の形態を物理的に同一の基板として構成した場合、本実施の形態は、ホスト装置に対して、一般的な入出力スイッチの代わりに接続可能である。このため、本実施の形態は、システム構成を複雑にすることがなく、導入をより容易にすることができる。   If this embodiment is configured as the same physical substrate, this embodiment can be connected to the host device instead of a general input / output switch. For this reason, this Embodiment can make introduction easier without complicating the system configuration.

(第5の実施の形態)
次に、本発明の第5の実施の形態について説明する。本発明の第5の実施の形態では、本発明における入出力インタフェースとして、PCIeを適用した例について説明する。なお、本実施の形態の説明において参照する各図面において、本発明の第1〜第4の実施の形態と同一の構成および同様に動作するステップには同一の符号を付して本実施の形態における詳細な説明を省略する。
(Fifth embodiment)
Next, a fifth embodiment of the present invention will be described. In the fifth embodiment of the present invention, an example in which PCIe is applied as an input / output interface according to the present invention will be described. In each drawing referred to in the description of the present embodiment, the same reference numerals are given to the same configuration and steps that operate in the same manner as in the first to fourth embodiments of the present invention. The detailed description in is omitted.

まず、本発明の第5の実施の形態としての情報処理システム5の構成を図12に示す。図12において、情報処理システム5は、変換装置50と、ホスト装置60と、PCIeスイッチ70とを含む。変換装置50は、ホスト装置60とPCIeスイッチ70とに接続される。PCIeスイッチ70には、1つ以上のPCIeデバイスが接続される。なお、PCIeスイッチ70は、本発明における入出力スイッチの一実施形態を構成する。また、PCIeデバイスは、本発明に接続される入出力デバイスの一実施形態を構成する。なお、変換装置50およびPCIeスイッチ70は、本発明の入出力スイッチシステムの一実施形態として、物理的に一体に構成されていてもよい。   First, FIG. 12 shows the configuration of an information processing system 5 as a fifth embodiment of the present invention. In FIG. 12, the information processing system 5 includes a conversion device 50, a host device 60, and a PCIe switch 70. The conversion device 50 is connected to the host device 60 and the PCIe switch 70. One or more PCIe devices are connected to the PCIe switch 70. The PCIe switch 70 constitutes an embodiment of the input / output switch in the present invention. The PCIe device constitutes an embodiment of an input / output device connected to the present invention. The conversion device 50 and the PCIe switch 70 may be physically integrated as an embodiment of the input / output switch system of the present invention.

ここで、情報処理システム5は、ホスト装置60に対して、変換装置50およびPCIeスイッチ70の組合せを、1つ以上接続した構成であってもよい。また、図12では、1つのPCIeスイッチ70に2つのPCIeデバイスが接続される例が示されているが、接続可能なPCIeデバイスの個数は限定されない。また、図12では、1つのホスト装置60に接続される変換装置50およびPCIeスイッチ70の組合せを2つ示しているが、この組合せの個数は限定されない。ただし、これらの個数は、情報処理システム5全体で接続可能なPCIeデバイスの個数が、本実施の形態における第1識別情報に基づき識別可能な個数までとなるよう限定される。   Here, the information processing system 5 may have a configuration in which one or more combinations of the conversion device 50 and the PCIe switch 70 are connected to the host device 60. FIG. 12 shows an example in which two PCIe devices are connected to one PCIe switch 70, but the number of connectable PCIe devices is not limited. In FIG. 12, two combinations of the conversion device 50 and the PCIe switch 70 connected to one host device 60 are shown, but the number of combinations is not limited. However, these numbers are limited so that the number of PCIe devices that can be connected in the entire information processing system 5 is limited to the number that can be identified based on the first identification information in the present embodiment.

なお、情報処理システム5のハードウェア構成は、図9を用いて本発明の第3の実施の形態で説明した通りである。ただし、図9に示した各ハードウェア要素として、PCIeに準拠するハードウェア要素が採用されているものとする。   The hardware configuration of the information processing system 5 is as described in the third embodiment of the present invention with reference to FIG. However, it is assumed that a hardware element conforming to PCIe is adopted as each hardware element shown in FIG.

本実施の形態では、ホスト装置60からPCIeデバイス宛のパケットに含まれる宛先の第1識別情報として、PCIeにおいて各バスに付与されるバス番号と、デバイス番号の上位nビットとが用いられる。つまり、バス番号は、本発明における「仕様に基づく識別情報」の一実施形態である。また、デバイス番号の上位nビットは、本発明における「n個の追加ビット」」の一実施形態である。   In the present embodiment, the bus number assigned to each bus in PCIe and the upper n bits of the device number are used as the first identification information of the destination included in the packet addressed from the host device 60 to the PCIe device. In other words, the bus number is an embodiment of “identification information based on specifications” in the present invention. The upper n bits of the device number are an embodiment of “n additional bits” in the present invention.

ここで、第1識別情報およびn個の追加ビットの構成を、図13を用いて説明する。図13において、PCIから継承されたデバイス識別情報の構成は、図38を参照して背景技術で説明したように、バス番号8ビットと、デバイス番号5ビットと、ファンクション番号3ビットとからなる。ただし、背景技術で述べたように、PCIeでは、事実上バス番号のみによってデバイスが識別されることになり、デバイス番号は、デバイスの識別に寄与していない。なお、ファンクション番号は、背景技術で述べたように、1つのデバイスに含まれる機能を識別する情報であるため、デバイス自体の識別には寄与していない。   Here, the configuration of the first identification information and n additional bits will be described with reference to FIG. In FIG. 13, the configuration of the device identification information inherited from the PCI includes a bus number of 8 bits, a device number of 5 bits, and a function number of 3 bits as described in the background art with reference to FIG. However, as described in the background art, in PCIe, a device is virtually identified only by a bus number, and the device number does not contribute to device identification. As described in the background art, the function number is information for identifying a function included in one device, and thus does not contribute to the identification of the device itself.

そこで、図13に示すように、第1識別情報は、このようなデバイス識別情報において、バス番号8ビットと、デバイス番号の上位1ビットとによって構成されていてもよい。つまり、図13の例では、追加ビットの個数nとして、1が適用されている。ただし、この場合、ホスト装置60に接続されるPCIeデバイスが有するデバイス番号が、デバイス番号の残り4ビットで表される範囲であることが前提となる。なお、デバイス番号は、通常、デバイスのメーカ等によって割り当てられている。   Therefore, as shown in FIG. 13, the first identification information may be configured by 8 bits of the bus number and upper 1 bits of the device number in such device identification information. That is, in the example of FIG. 13, 1 is applied as the number n of additional bits. However, in this case, it is assumed that the device number of the PCIe device connected to the host device 60 is in a range represented by the remaining 4 bits of the device number. The device number is usually assigned by a device manufacturer or the like.

次に、変換装置50の機能ブロックの詳細を、図14を参照して説明する。図14において、変換装置50は、アウトバウンド変換部51と、インバウンド変換部52と、仮想PCIブリッジ53とを有する。なお、アウトバウンド変換部51および仮想PCIブリッジ53は、本発明におけるアウトバウンド変換部の一実施形態として構成される。また、インバウンド変換部52および仮想PCIブリッジ53は、本発明におけるインバウンド変換部の一実施形態として構成される。   Next, details of functional blocks of the conversion device 50 will be described with reference to FIG. In FIG. 14, the conversion device 50 includes an outbound conversion unit 51, an inbound conversion unit 52, and a virtual PCI bridge 53. The outbound conversion unit 51 and the virtual PCI bridge 53 are configured as an embodiment of the outbound conversion unit in the present invention. The inbound conversion unit 52 and the virtual PCI bridge 53 are configured as an embodiment of the inbound conversion unit in the present invention.

仮想PCIブリッジ53は、ホスト装置60から入力されるアウトバウンドTLP(Transaction Layer Packet)が自装置の下流に流すパケットであれば、アウトバウンド変換部51に出力する。自装置の下流に流すパケットであるか否かは、自装置の下流に接続されるバスであるセカンダリバス番号に基づいて判定可能である。なお、変換装置50は、セカンダリバス番号を記憶しているものとする。また、仮想PCIブリッジ53は、インバウンド変換部52から入力されるインバウンドTLPを、ホスト装置60に出力する。   If the outbound TLP (Transaction Layer Packet) input from the host device 60 is a packet that flows downstream from the virtual PCI bridge 53, the virtual PCI bridge 53 outputs the packet to the outbound conversion unit 51. Whether or not the packet is to flow downstream from the own device can be determined based on a secondary bus number that is a bus connected downstream from the own device. It is assumed that the conversion device 50 stores the secondary bus number. Further, the virtual PCI bridge 53 outputs the inbound TLP input from the inbound conversion unit 52 to the host device 60.

アウトバウンド変換部51は、アウトバウンドTLPに宛先の識別子として含まれる第1識別情報から、バス番号の上位nビットを破棄し、デバイス番号の上位nビットを下位nビットとして含むよう、第2識別情報に変換する。そして、アウトバウンド変換部51は、変換した第2識別情報を、アウトバウンドTLPの第1識別情報が含まれていた箇所のバス番号の位置に含める。   The outbound conversion unit 51 discards the upper n bits of the bus number from the first identification information included as the destination identifier in the outbound TLP, and changes the second identification information to include the upper n bits of the device number as the lower n bits. Convert. And the outbound conversion part 51 includes the converted 2nd identification information in the position of the bus number of the location where the 1st identification information of outbound TLP was contained.

具体的には、アウトバウンド変換部51は、アウトバウンドTLPに含まれる宛先を示すデバイス識別情報の中から、第1識別情報を取り出す。そして、アウトバウンド変換部51は、第1識別情報のバス番号の上位nビットを破棄し、デバイス番号の上位nビットを下位nビットとして含むよう、第2識別情報に変換する。そして、アウトバウンド変換部51は、変換した第2識別情報を、アウトバウンドTLPにおいて宛先を示すデバイス識別情報のバス番号の位置に含めればよい。   Specifically, the outbound conversion unit 51 extracts the first identification information from the device identification information indicating the destination included in the outbound TLP. Then, the outbound conversion unit 51 discards the upper n bits of the bus number of the first identification information and converts it into the second identification information so as to include the upper n bits of the device number as the lower n bits. And the outbound conversion part 51 should just include the converted 2nd identification information in the position of the bus number of the device identification information which shows a destination in outbound TLP.

インバウンド変換部52は、自装置のセカンダリバスについて記憶しているバス番号の上位nビットを用いて、第2識別情報を第1識別情報に変換する。これは、自装置より下流の各バスに少なくとも上位nビットが同一の第1識別情報が付与されることを前提としている。そして、インバウンド変換部52は、変換した第1識別情報を、インバウンドTLPの第2識別情報が含まれていた箇所であるバス番号の位置およびそれに続くnビットの位置に含める。   The inbound conversion unit 52 converts the second identification information into the first identification information using the upper n bits of the bus number stored for the secondary bus of the own device. This is based on the premise that the first identification information having at least the upper n bits is assigned to each bus downstream from the own device. Then, the inbound conversion unit 52 includes the converted first identification information in the position of the bus number that is the location where the second identification information of the inbound TLP was included, and the subsequent n-bit position.

具体的には、インバウンド変換部52は、インバウンドTLPに含まれる送信元を示すデバイス識別情報の中から、第2識別情報を取り出す。そして、インバウンド変換部52は、第2識別情報の上位に、セカンダリバス番号の上位nビットを追加することにより、第1識別情報に変換する。そして、インバウンド変換部52は、変換した第1識別情報を、インバウンドTLPにおいて送信元を示すデバイス識別情報のバス番号の位置およびデバイス番号の上位nビットの位置に含めればよい。   Specifically, the inbound conversion unit 52 extracts the second identification information from the device identification information indicating the transmission source included in the inbound TLP. And the inbound conversion part 52 is converted into 1st identification information by adding the high-order n bit of a secondary bus number to the high rank of 2nd identification information. And the inbound conversion part 52 should just include the converted 1st identification information in the position of the bus number of the device identification information which shows a transmission source in the inbound TLP, and the upper n bit position of a device number.

次に、PCIeスイッチ70の機能について説明する。図15に示すように、PCIeスイッチ70は、複数の仮想PCIブリッジ71によって構成される。例えば、PCIeスイッチ70は、上流ポート301に接続する仮想PCIブリッジ71と、下流ポート302に接続する複数の仮想PCIブリッジ71とを含む。この例では、下流ポート302に接続する各仮想PCIブリッジ71は、上流ポート301に接続する仮想PCIブリッジ71に接続されている。なお、PCIeスイッチ70が有する仮想PCIブリッジ71の個数およびその接続関係は、図15に示すものに限定されない。   Next, the function of the PCIe switch 70 will be described. As shown in FIG. 15, the PCIe switch 70 includes a plurality of virtual PCI bridges 71. For example, the PCIe switch 70 includes a virtual PCI bridge 71 connected to the upstream port 301 and a plurality of virtual PCI bridges 71 connected to the downstream port 302. In this example, each virtual PCI bridge 71 connected to the downstream port 302 is connected to the virtual PCI bridge 71 connected to the upstream port 301. Note that the number of virtual PCI bridges 71 included in the PCIe switch 70 and the connection relationship thereof are not limited to those illustrated in FIG. 15.

各仮想PCIブリッジは、仮想的な上流ポートおよび下流ポートを有し、一方のポートから入力されたTLPに含まれる宛先の識別子に基づいて、そのTLPを通過させる(すなわち、他方のポートから出力する)か否かを決定する。   Each virtual PCI bridge has a virtual upstream port and a downstream port, and passes the TLP based on a destination identifier included in the TLP input from one port (that is, outputs from the other port). ) Or not.

なお、PCIeスイッチ70としては、一般的なPCIeスイッチを適用可能であるため、各仮想PCIブリッジの詳細な構成および動作の説明を省略する。   Note that since a general PCIe switch can be applied as the PCIe switch 70, the detailed configuration and operation of each virtual PCI bridge will be omitted.

次に、ホスト装置60の機能について説明する。図16に示すように、ホスト装置60は、デバイス初期化部61と、デバイスアクセス部62とを有する。   Next, functions of the host device 60 will be described. As illustrated in FIG. 16, the host device 60 includes a device initialization unit 61 and a device access unit 62.

デバイス初期化部61は、情報処理システム5の初期化時に、各PCIeスイッチ70や各PCIeデバイスに、バス番号の8ビットおよびデバイス番号の上位nビットを組み合わせた第1識別情報を付与する。   When the information processing system 5 is initialized, the device initialization unit 61 assigns first identification information that combines the eight bits of the bus number and the upper n bits of the device number to each PCIe switch 70 and each PCIe device.

デバイスアクセス部62は、第1識別情報を用いて、各PCIeデバイスにアクセスする。   The device access unit 62 accesses each PCIe device using the first identification information.

なお、これらの機能ブロックは、メモリ202に記憶されたファームウェアやオペレーティングシステムが、プロセッサ201によって読み込まれて実行されることにより実現される。   Note that these functional blocks are realized by the firmware and operating system stored in the memory 202 being read and executed by the processor 201.

以上のように構成された情報処理システム5の動作について説明する。   The operation of the information processing system 5 configured as described above will be described.

まず、ホスト装置60の動作を、図17に示す。   First, the operation of the host device 60 is shown in FIG.

図17において、デバイス初期化部61は、情報処理システム5の初期化時に、各PCIeスイッチ70や各PCIeデバイスに、バス番号の8ビットおよびデバイス番号の上位nビットを組み合わせた第1識別情報を付与する(ステップC51)。   In FIG. 17, when initializing the information processing system 5, the device initialization unit 61 provides first identification information obtained by combining each PCIe switch 70 and each PCIe device with 8 bits of the bus number and upper n bits of the device number. (Step C51).

以降、デバイスアクセス部62は、第1識別情報を用いて、PCIeデバイスにアクセスする(ステップC52)。   Thereafter, the device access unit 62 accesses the PCIe device using the first identification information (step C52).

具体的には、デバイスアクセス部62は、アクセス対象となるPCIeデバイスの第1識別情報を、アウトバウンドTLPのヘッダにおける宛先の識別子として含めて、変換装置50に対して送信する。また、デバイスアクセス部62は、受信したインバウンドTLPのヘッダにおける送信元の識別子に含まれる第1識別情報を認識して、送信元のPCIeデバイスを識別する。   Specifically, the device access unit 62 includes the first identification information of the PCIe device to be accessed as a destination identifier in the header of the outbound TLP and transmits the first identification information to the conversion device 50. In addition, the device access unit 62 recognizes the first identification information included in the transmission source identifier in the received header of the inbound TLP, and identifies the transmission source PCIe device.

以上で、ホスト装置60の動作の説明を終了する。   Above, description of operation | movement of the host apparatus 60 is complete | finished.

次に、アウトバウンドTLPを転送する変換装置50の動作を図18に示す。   Next, FIG. 18 shows the operation of the conversion device 50 that transfers the outbound TLP.

図18では、まず、仮想PCIブリッジ53は、アウトバウンドTLPをホスト装置60から受信し、アウトバウンド変換部51に出力する(ステップA51)。   In FIG. 18, first, the virtual PCI bridge 53 receives an outbound TLP from the host device 60 and outputs it to the outbound conversion unit 51 (step A51).

次に、アウトバウンド変換部51は、アウトバウンドTLPから、宛先の識別子に含まれる第1識別情報であるバス番号およびデバイス番号の上位nビットを取り出す(ステップA52)。   Next, the outbound conversion unit 51 takes out the bus number and the upper n bits of the device number, which are the first identification information included in the destination identifier, from the outbound TLP (step A52).

次に、アウトバウンド変換部51は、バス番号の上位nビットを破棄し、デバイス番号の上位nビットを下位nビットとして含むよう構成した第2識別情報を生成する(ステップA53)。   Next, the outbound conversion unit 51 discards the upper n bits of the bus number and generates second identification information configured to include the upper n bits of the device number as the lower n bits (step A53).

次に、アウトバウンド変換部51は、生成した第2識別情報を、アウトバウンドTLPにおける宛先の識別子のバス番号の位置に含める(ステップA54)。   Next, the outbound conversion unit 51 includes the generated second identification information in the position of the bus number of the destination identifier in the outbound TLP (step A54).

そして、アウトバウンド変換部51は、宛先の識別子として第2識別情報を含めたアウトバウンドTLPを、PCIeスイッチ70に出力する(ステップA55)。   Then, the outbound conversion unit 51 outputs the outbound TLP including the second identification information as the destination identifier to the PCIe switch 70 (step A55).

以上で、変換装置50は、アウトバウンドTLPを転送する動作を終了する。   Thus, the conversion device 50 ends the operation of transferring the outbound TLP.

また、アウトバウンドTLPを受信したPCIeデバイスは、自装置を識別する第2識別情報をヘッダに含めたインバウンドTLPを、ホスト装置60に向けて送信する。   In addition, the PCIe device that has received the outbound TLP transmits an inbound TLP including second identification information for identifying the own device in a header toward the host device 60.

そこで、インバウンドTLPを転送する変換装置50の動作を図19に示す。図19において、まず、インバウンド変換部52は、インバウンドTLPをPCIeスイッチ70から受信する(ステップB51)。   Accordingly, FIG. 19 shows the operation of the conversion apparatus 50 that transfers inbound TLP. In FIG. 19, first, the inbound conversion unit 52 receives an inbound TLP from the PCIe switch 70 (step B51).

次に、インバウンド変換部52は、インバウンドTLPから、送信元の識別子に含まれる第2識別情報であるバス番号を取り出す(ステップB52)。   Next, the inbound conversion part 52 takes out the bus number which is the 2nd identification information contained in the identifier of a transmission source from inbound TLP (step B52).

次に、インバウンド変換部52は、取り出した第2識別情報の上位に、自装置で記憶しているセカンダリバス番号の上位nビットを追加して、第1識別情報を生成する(ステップB53)。   Next, the inbound conversion unit 52 generates the first identification information by adding the upper n bits of the secondary bus number stored in its own device to the upper order of the extracted second identification information (step B53).

次に、インバウンド変換部52は、生成した第1識別情報を、インバウンドTLPにおける送信元の識別子のバス番号の位置およびデバイス番号の上位nビットの位置に含める(ステップB54)。   Next, the inbound conversion unit 52 includes the generated first identification information in the position of the bus number of the transmission source identifier and the position of the upper n bits of the device number in the inbound TLP (step B54).

そして、インバウンド変換部52は、送信元の識別子として第1識別情報を含むインバウンドTLPを、仮想PCIブリッジ53に出力する(ステップB55)。   Then, the inbound conversion unit 52 outputs the inbound TLP including the first identification information as the transmission source identifier to the virtual PCI bridge 53 (step B55).

そして、仮想PCIブリッジ53は、インバウンドTLPをホスト装置60に出力する(ステップB56)。   Then, the virtual PCI bridge 53 outputs the inbound TLP to the host device 60 (step B56).

以上で、変換装置50は、インバウンドTLPを転送する動作を終了する。   Thus, the conversion device 50 ends the operation of transferring the inbound TLP.

次に、変換装置50の動作の具体例を、図面を用いて説明する。   Next, a specific example of the operation of the conversion device 50 will be described with reference to the drawings.

ここでは、図13に示したように、追加ビットの個数nとして1が採用されているとする。   Here, as shown in FIG. 13, it is assumed that 1 is employed as the number n of additional bits.

また、具体例の説明にあたり、PCIeにおけるTLPヘッダの構成について説明しておく。PCIeで送受信されるTLPには、メモリリード/ライト、コンフィグレーションリード/ライト等の要求(リクエスト)と、リクエストに対する応答(コンプリーション)がある。TLPの種類によってヘッダの構成が異なる。   In the description of the specific example, the configuration of the TLP header in PCIe will be described. A TLP transmitted and received by PCIe includes a request (request) such as memory read / write and configuration read / write, and a response (completion) to the request. The structure of the header differs depending on the type of TLP.

図20は、メモリリード要求に使用されるTLPヘッダの一例である。このTLPヘッダにおいて、バイト4、5の「Requester ID」には、要求元の識別子が格納される。つまり、PCIeデバイスからのメモリリード要求において、「Requester ID」には、当該PCIeデバイスの第2識別情報を含む情報が格納される。   FIG. 20 is an example of a TLP header used for a memory read request. In this TLP header, “Requester ID” in bytes 4 and 5 stores the identifier of the request source. That is, in the memory read request from the PCIe device, “Requester ID” stores information including the second identification information of the PCIe device.

また、図21は、コンフィグレーションリード/ライト要求に使用されるTLPヘッダである。このTLPヘッダにおいて、バイト4、5の「Requester ID」には、要求元の識別子が格納される。つまり、PCIeデバイスからのコンフィグレーションリード/ライト要求において、「Requester ID」には、当該PCIeデバイスの第2識別情報を含む情報が格納される。また、バイト8、9の「バス番号、デバイス番号、ファンクション番号」には、要求先の識別子が格納される。つまり、ホスト装置60からのコンフィグレーションリード/ライト要求において、「バス番号、デバイス番号、ファンクション番号」には、要求先のPCIeデバイスの第1識別情報を含む情報が格納される。   FIG. 21 shows a TLP header used for a configuration read / write request. In this TLP header, “Requester ID” in bytes 4 and 5 stores the identifier of the request source. That is, in the configuration read / write request from the PCIe device, “Requester ID” stores information including the second identification information of the PCIe device. In bytes 8 and 9, “bus number, device number, function number” stores the identifier of the request destination. That is, in the configuration read / write request from the host device 60, the “bus number, device number, function number” stores information including the first identification information of the requested PCIe device.

また、図22は、各要求に対する応答で使用されるTLPヘッダである。このTLPヘッダにおいて、バイト4、5の「Completer ID」には、要求の応答元の識別子が格納される。つまり、PCIeデバイスからの応答において、「Completer ID」には、当該PCIeデバイスの第2識別情報を含む情報が格納される。また、バイト8、9の「Requester ID」には、要求元の識別子が格納される。つまり、PCIeデバイスからの要求に対するホスト装置60からの応答である場合、「Requester ID」には、当該PCIeデバイスの第1識別情報を含む情報が格納される。   FIG. 22 shows a TLP header used in response to each request. In this TLP header, the identifier of the response source of the request is stored in “Completer ID” of bytes 4 and 5. That is, in the response from the PCIe device, “Completer ID” stores information including the second identification information of the PCIe device. In “Requester ID” in bytes 8 and 9, the identifier of the request source is stored. That is, in the case of a response from the host device 60 in response to a request from the PCIe device, “Requester ID” stores information including the first identification information of the PCIe device.

なお、図20〜22において、「Requester ID」および「Completer ID」の構成は、図38に示したデバイス識別情報と同様である。   20 to 22, the configurations of “Requester ID” and “Completer ID” are the same as the device identification information shown in FIG.

このように、アウトバウンドTLPのうち、メモリリード/ライト要求には、宛先となるPCIeデバイスの第1識別情報が含まれない。コンフィグレーションリード/ライト要求またはコンプリーションには、バイト8、9に、宛先となるPCIeデバイスの第1識別情報が含まれる。そこで、アウトバウンド変換部51は、受信したアウトバウンドTLPが、コンフィグレーションリード/ライト要求またはコンプリーションである場合に、ヘッダのバイト8、9からデバイス識別情報を取り出し、変換処理を行えばよい。また、アウトバウンド変換部51は、受信したアウトバウンドTLPが、コンフィグレーションリード/ライト要求またはコンプリーション以外である場合には、変換処理を行わずにそのまま下流に流せばよい。   Thus, in the outbound TLP, the memory read / write request does not include the first identification information of the PCIe device that is the destination. The configuration read / write request or completion includes the first identification information of the destination PCIe device in bytes 8 and 9. Therefore, when the received outbound TLP is a configuration read / write request or completion, the outbound conversion unit 51 may extract the device identification information from the bytes 8 and 9 of the header and perform conversion processing. Further, when the received outbound TLP is other than a configuration read / write request or completion, the outbound conversion unit 51 may flow downstream without performing conversion processing.

この場合、アウトバウンド変換部51の動作の具体例を、図23および図24を参照しながら説明する。なお、この具体例において、アウトバウンド変換部51は、内部に、それぞれ2バイト長のレジスタAおよびBを有するものとする。   In this case, a specific example of the operation of the outbound conversion unit 51 will be described with reference to FIGS. In this specific example, the outbound conversion unit 51 includes registers A and B each having a length of 2 bytes.

図23において、アウトバウンド変換部51は、仮想PCIブリッジ53によってステップA51で受信されたアウトバウンドTLPが、コンフィグレーションリード/ライト要求またはコンプリーションであるか否かを判断する(ステップA521)。   In FIG. 23, the outbound conversion unit 51 determines whether or not the outbound TLP received in step A51 by the virtual PCI bridge 53 is a configuration read / write request or completion (step A521).

ここで、コンフィグレーションリード/ライト要求またはコンプリーションであった場合について説明する(ステップA521でYes)。   Here, a case where the request is a configuration read / write request or a completion will be described (Yes in step A521).

この場合、アウトバウンド変換部51は、アウトバウンドTLPのヘッダのバイト8、9から、バス番号、デバイス番号およびファンクション番号を取り出して、レジスタAおよびBに格納する(ステップA522)。レジスタA、Bに格納されるデータは、図24の符号501が示す通りである。   In this case, the outbound conversion unit 51 extracts the bus number, device number, and function number from the bytes 8 and 9 of the header of the outbound TLP and stores them in the registers A and B (step A522). Data stored in the registers A and B is as indicated by reference numeral 501 in FIG.

なお、ステップA521〜A522は、図18のステップA52の具体例に相当する。   Steps A521 to A522 correspond to a specific example of step A52 in FIG.

次に、アウトバウンド変換部51は、レジスタAを1ビット左論理シフトした上で、0xFF00との論理積を、レジスタAに格納する(ステップA531)。   Next, the outbound conversion unit 51 shifts the register A by 1 bit to the left and stores the logical product with 0xFF00 in the register A (step A531).

これにより、図24の符号502に示すように、元のバス番号の下位7ビットに元のデバイス番号の上位1ビットが連結された8ビット(すなわち第2識別情報)が、レジスタAの上位8ビットに格納される。   As a result, as indicated by reference numeral 502 in FIG. 24, 8 bits (that is, second identification information) obtained by concatenating the lower 7 bits of the original bus number with the upper 1 bit of the original device number are used as the upper 8 bits of the register A Stored in bits.

次に、アウトバウンド変換部51は、レジスタBと0x007Fとの論理積を、レジスタBに格納する(ステップA532)。   Next, the outbound conversion unit 51 stores the logical product of the register B and 0x007F in the register B (step A532).

これにより、図24の符号503に示すように、デバイス番号の下位4ビットと、ファンクション番号3ビットとが、レジスタBの下位7ビットに格納される。   As a result, as indicated by reference numeral 503 in FIG. 24, the lower 4 bits of the device number and the 3 bits of the function number are stored in the lower 7 bits of the register B.

次に、アウトバウンド変換部51は、レジスタAおよびレジスタBの論理和をレジスタAに格納する(ステップA533)。   Next, the outbound conversion unit 51 stores the logical sum of the register A and the register B in the register A (step A533).

これにより、図24の符号504に示すように、第2識別情報と、元のデバイス番号の下位4ビットと、ファンクション番号とが、レジスタAに格納される。   Thereby, as indicated by reference numeral 504 in FIG. 24, the second identification information, the lower 4 bits of the original device number, and the function number are stored in the register A.

なお、ステップA531〜A533は、図18のステップA53の具体例に相当する。   Steps A531 to A533 correspond to a specific example of step A53 in FIG.

次に、アウトバウンド変換部51は、レジスタAを、アウトバウンドTLPのヘッダのバイト8、9に格納する(ステップA54)。   Next, the outbound conversion unit 51 stores the register A in bytes 8 and 9 of the header of the outbound TLP (step A54).

そして、アウトバウンド変換部51は、アウトバウンドTLPを、下流ポート102に送信する(ステップA55)。   And the outbound conversion part 51 transmits outbound TLP to the downstream port 102 (step A55).

一方、受信されたアウトバウンドTLPがコンフィグレーションリード/ライト要求でもコンプリーションでもない場合(ステップA521でNo)について説明する。この場合、アウトバウンド変換部51は、ステップA55を実行し、受信されたアウトバウンドTLPをそのまま下流ポート102に送信する。   On the other hand, a case where the received outbound TLP is neither a configuration read / write request nor a completion (No in step A521) will be described. In this case, the outbound conversion unit 51 executes Step A55 and transmits the received outbound TLP to the downstream port 102 as it is.

このように、変換後のアウトバウンドTLPでは、ホスト装置60から受信したアウトバウンドTLPに含まれていたデバイス番号のMSB(Most Significant Bit)が、バス番号のLSB(Least Significant Bit)となっている。また、デバイス番号のMSBは、0に固定されている。   As described above, in the converted outbound TLP, the MSB (Most Significant Bit) of the device number included in the outbound TLP received from the host device 60 is the LSB (Least Significant Bit) of the bus number. The MSB of the device number is fixed to 0.

以上で、アウトバウンド変換部51の動作の具体例の説明を終了する。   Above, description of the specific example of operation | movement of the outbound conversion part 51 is complete | finished.

次に、この具体例におけるインバウンド変換部52の動作を、図25〜図27を参照しながら説明する。   Next, the operation of the inbound conversion unit 52 in this specific example will be described with reference to FIGS.

なお、インバウンド変換部52の変換動作において必要となるセカンダリバスのバス番号は、仮想PCIブリッジ53のコンフィグレーションレジスタのbyte0x18に格納されているものとする。また、コンフィグレーションレジスタのbyte0x19には、プライマリバスのバス番号が格納されている。   It is assumed that the bus number of the secondary bus necessary for the conversion operation of the inbound conversion unit 52 is stored in byte0x18 of the configuration register of the virtual PCI bridge 53. The configuration register byte 0x19 stores the bus number of the primary bus.

また、インバウンドTLPは、その種類に関わらず、ヘッダのバイト4、5にPCIeデバイスの第2識別情報を含む。したがって、インバウンド変換部52は、インバウンドTLPの種類に応じて分岐処理をする必要はない。   The inbound TLP includes the second identification information of the PCIe device in bytes 4 and 5 of the header regardless of the type. Therefore, the inbound conversion unit 52 does not need to perform branch processing according to the type of inbound TLP.

また、この具体例において、インバウンド変換部52は、内部に、それぞれ2バイト長のレジスタA、BおよびCを有するものとする。   In this specific example, it is assumed that the inbound conversion unit 52 includes registers A, B, and C each having a length of 2 bytes.

図25において、まず、インバウンド変換部52は、ステップB51で受信されたインバウンドTLPのバイト4、5から、バス番号、デバイス番号およびファンクション番号を取り出して、レジスタAおよびBに格納する(ステップB52)。レジスタA、Bに格納されるデータは、図26の符号601が示す通りである。   In FIG. 25, first, the inbound conversion unit 52 extracts the bus number, device number, and function number from the bytes 4 and 5 of the inbound TLP received at step B51, and stores them in the registers A and B (step B52). . Data stored in the registers A and B is as indicated by reference numeral 601 in FIG.

次に、インバウンド変換部52は、レジスタAを1ビット右論理シフトした上で、0x7F80との論理積を、レジスタAに格納する(ステップB531)。   Next, the inbound conversion unit 52 logically shifts the register A by 1 bit to the right, and stores the logical product of 0x7F80 in the register A (step B531).

これにより、図26の符号602に示すように、レジスタAにおいて、第1識別情報の下位8ビットの位置に、第2識別情報が格納される。   As a result, as indicated by reference numeral 602 in FIG. 26, in the register A, the second identification information is stored at the position of the lower 8 bits of the first identification information.

次に、インバウンド変換部52は、レジスタBと0x007Fの論理積を、レジスタBに格納する(ステップB532)。   Next, the inbound conversion unit 52 stores the logical product of the register B and 0x007F in the register B (step B532).

これにより、図26の符号603に示すように、インバウンドTLPに含まれていたデバイス番号の下位4ビットおよびファンクション番号3ビットが、レジスタBに格納される。   As a result, as shown by reference numeral 603 in FIG. 26, the lower 4 bits of the device number and the function number 3 bits included in the inbound TLP are stored in the register B.

次に、インバウンド変換部52は、自装置の仮想PCIブリッジ53のコンフィグレーションレジスタのバイト0x18および0x19を読み出して、レジスタCに格納する(ステップB533)。   Next, the inbound conversion unit 52 reads the bytes 0x18 and 0x19 of the configuration register of the virtual PCI bridge 53 of the own device and stores them in the register C (step B533).

これにより、図27の符号604に示すように、セカンダリバス番号およびプライマリバス番号が、レジスタCに格納される。   Thereby, the secondary bus number and the primary bus number are stored in the register C as indicated by reference numeral 604 in FIG.

次に、インバウンド変換部52は、レジスタCと0x8000との論理積を、レジスタCに格納する(ステップB534)。   Next, the inbound conversion unit 52 stores the logical product of the register C and 0x8000 in the register C (step B534).

これにより、図27の符号605に示すように、セカンダリバス番号のMSB(図27において「V」と記載)が、レジスタCに格納される。第1識別情報におけるバス番号のMSBに変更がなければ、セカンダリバス番号のMSBと、第1識別情報におけるバス番号のMSBは同一である。   As a result, as indicated by reference numeral 605 in FIG. 27, the MSB of the secondary bus number (described as “V” in FIG. 27) is stored in the register C. If the MSB of the bus number in the first identification information is not changed, the MSB of the secondary bus number and the MSB of the bus number in the first identification information are the same.

次に、インバウンド変換部52は、レジスタA、BおよびCの論理和を、レジスタAに格納する(ステップB535)。   Next, the inbound conversion unit 52 stores the logical sum of the registers A, B, and C in the register A (step B535).

これにより、図27の符号606に示すように、元の第1識別情報と、デバイス番号の下位4ビットおよびファンクション番号とが、レジスタCに格納される。   As a result, the original first identification information, the lower 4 bits of the device number, and the function number are stored in the register C, as indicated by reference numeral 606 in FIG.

なお、ステップB531〜B535は、図19のステップB53の具体例に相当する。   Note that steps B531 to B535 correspond to a specific example of step B53 in FIG.

次に、インバウンド変換部52は、インバウンドTLPのヘッダのバイト4、5に、レジスタAの値を格納する(ステップB54)。   Next, the inbound conversion unit 52 stores the value of the register A in bytes 4 and 5 of the header of the inbound TLP (step B54).

次に、インバウンド変換部52は、インバウンドTLPを仮想PCIブリッジ53に送信し、仮想PCIブリッジ53は、インバウンドTLPを上流ポート101に送信する(ステップB55〜B56)。   Next, the inbound conversion unit 52 transmits the inbound TLP to the virtual PCI bridge 53, and the virtual PCI bridge 53 transmits the inbound TLP to the upstream port 101 (steps B55 to B56).

以上で、インバウンド変換部52の動作の具体例の説明を終了する。   Above, description of the specific example of operation | movement of the inbound conversion part 52 is complete | finished.

次に、情報処理システム5において、接続可能なPCIeデバイスの個数の具体例について、図28〜図29を参照して説明する。   Next, a specific example of the number of connectable PCIe devices in the information processing system 5 will be described with reference to FIGS.

図28の例では、ホスト装置60に接続された1つの変換装置50に、4つのPCIeデバイスd1〜d4を接続可能なPCIeスイッチ70が接続されている。PCIeスイッチ70において上流ポート301に接続される仮想PCIブリッジ71を、仮想PCIブリッジ71_0と記載する。また、4つの下流ポート302に接続される仮想PCIブリッジ71を、仮想PCIブリッジ71_1〜71_4と記載する。   In the example of FIG. 28, a PCIe switch 70 that can connect four PCIe devices d1 to d4 is connected to one conversion device 50 connected to the host device 60. The virtual PCI bridge 71 connected to the upstream port 301 in the PCIe switch 70 is referred to as a virtual PCI bridge 71_0. The virtual PCI bridge 71 connected to the four downstream ports 302 is referred to as virtual PCI bridges 71_1 to 71_4.

また、図28において、変換装置50およびPCIeスイッチ70の組合せを、PCIeボックス500として表記している。PCIeボックス500は、本発明の入出力スイッチシステムの一実施形態である。   In FIG. 28, the combination of the conversion device 50 and the PCIe switch 70 is represented as a PCIe box 500. The PCIe box 500 is an embodiment of the input / output switch system of the present invention.

また、図28の例では、ホスト装置60によって各バスに図示の第1識別情報が付与されているとする。なお、図28では、第1識別情報を、「Bus#/Dev=bb/dx」として表記している。「bb」は、デバイス識別情報における8ビットのバス番号を16進数で表したものである。また、「dx」のうち左側の「d」は、デバイス識別情報におけるデバイス番号のMSBを表し、0または1である。なお、「d」として、0または1の代わりに「x」を表記したものは、0または1のどちらもとり得ることを表している。また、「dx」のうち右側の「x」は、デバイス識別情報におけるデバイス番号の下位4ビットとしての任意の値を表している。また、図28において、第1識別情報の下部に、対応する第2識別情報を「Bus#=bb」と表記している。ただし、ホスト装置60および変換装置50間を結ぶバスに付与される識別情報は変換対象ではないため、デバイス識別情報におけるバス番号「Bus#=bb」のみを表示している。   In the example of FIG. 28, it is assumed that the first identification information shown in the figure is given to each bus by the host device 60. In FIG. 28, the first identification information is expressed as “Bus # / Dev = bb / dx”. “Bb” represents the 8-bit bus number in the device identification information in hexadecimal. Also, “d” on the left side of “dx” represents the MSB of the device number in the device identification information and is 0 or 1. As “d”, “x” instead of 0 or 1 indicates that either 0 or 1 can be taken. Further, “x” on the right side of “dx” represents an arbitrary value as the lower 4 bits of the device number in the device identification information. In FIG. 28, the corresponding second identification information is expressed as “Bus # = bb” below the first identification information. However, since the identification information given to the bus connecting the host device 60 and the conversion device 50 is not a conversion target, only the bus number “Bus # = bb” in the device identification information is displayed.

このとき、Bus#00は、ホスト装置60内で消費される。また、ホスト装置60および変換装置50を結ぶバスに、Bus#01が付与されている。   At this time, Bus # 00 is consumed in the host device 60. Also, Bus # 01 is assigned to the bus connecting the host device 60 and the conversion device 50.

また、変換装置50および仮想PCIブリッジ71_0とを結ぶバスには、第1識別情報として、「Bus#/Dev#=02/0x」が付与されている。この第1識別情報が、変換装置50によって変換された第2識別情報は、「Bus#=04」である。   Also, “Bus # / Dev # = 02 / 0x” is assigned as the first identification information to the bus connecting the conversion device 50 and the virtual PCI bridge 71_0. The second identification information obtained by converting the first identification information by the conversion device 50 is “Bus # = 04”.

また、仮想PCIブリッジ71_0および各仮想PCIブリッジ71_1〜71_4を結ぶバスには、第1識別情報として、「Bus#/Dev#=02/1x」が付与されている。この第1識別情報が、変換装置50によって変換された第2識別情報は、「Bus#=05」である。   Further, “Bus # / Dev # = 01/2 / 1x” is assigned as the first identification information to the bus connecting the virtual PCI bridge 71_0 and the virtual PCI bridges 71_1 to 71_4. The second identification information obtained by converting the first identification information by the conversion device 50 is “Bus # = 05”.

また、仮想PCIブリッジ71_1およびPCIeデバイスd1を結ぶバスには、第1識別情報として、「Bus#/Dev#=04/xx」の2つが占有可能に付与されている。この第1識別情報が、変換装置50によって変換された第2識別情報は、「Bus#=08」から「Bus#=09」までとなる。   In addition, two buses “Bus # / Dev # = 04 / xx” are occupiably assigned as the first identification information to the bus connecting the virtual PCI bridge 71_1 and the PCIe device d1. The second identification information obtained by converting the first identification information by the conversion device 50 is “Bus # = 08” to “Bus # = 09”.

また、仮想PCIブリッジ71_2およびPCIeデバイスd2を結ぶバスには、第1識別情報として、「Bus#/Dev#=05/xx」が占有可能に付与されている。この第1識別情報が、変換装置50によって変換された第2識別情報は、「Bus#=0A」から「Bus#=0B」までとなる。   Also, the bus connecting the virtual PCI bridge 71_2 and the PCIe device d2 is provided with “Bus # / Dev # = 05 / xx” as occupying it as the first identification information. The second identification information obtained by converting the first identification information by the conversion device 50 is from “Bus # = 0A” to “Bus # = 0B”.

また、仮想PCIブリッジ71_3およびPCIeデバイスd3を結ぶバスには、第1識別情報として、「Bus#/Dev#=06/xx」が占有可能に付与されている。この第1識別情報が、変換装置50によって変換された第2識別情報は、「Bus#=0C」から「Bus#=0D」までとなる。   Also, the bus connecting the virtual PCI bridge 71_3 and the PCIe device d3 is provided with “Bus # / Dev # = 06 / xx” as occupying it as the first identification information. The second identification information obtained by converting the first identification information by the conversion device 50 is from “Bus # = 0C” to “Bus # = 0D”.

また、仮想PCIブリッジ71_4およびPCIeデバイスd4を結ぶバスには、第1識別情報として、「Bus#/Dev#=07/xx」が占有可能に付与されている。この第1識別情報が、変換装置50によって変換された第2識別情報は、「Bus#=0E」から「Bus#=0F」までとなる。   Also, the bus connecting the virtual PCI bridge 71_4 and the PCIe device d4 is provided with “Bus # / Dev # = 07 / xx” as occupying it as the first identification information. The second identification information obtained by converting the first identification information by the conversion device 50 is from “Bus # = 0E” to “Bus # = 0F”.

この場合、ホスト装置60は、各PCIeデバイスd1〜d4に対して、第1識別情報を用いてアクセスする。各PCIeデバイスd1〜d4は、自装置の識別子として第2識別情報を用いて動作する。   In this case, the host device 60 accesses the PCIe devices d1 to d4 using the first identification information. Each of the PCIe devices d1 to d4 operates using the second identification information as an identifier of the own device.

このように、この例では、PCIeスイッチ70の4つの下流ポート302のそれぞれの下流で2つずつの第1識別情報が占有可能に割り当てられる。したがって、PCIeスイッチ70の下流では、8つの第1識別情報が占有されることになる。また、ホスト装置60および変換装置50を結ぶバス、変換装置50およびPCIeスイッチ70を結ぶバスおよびPCIeスイッチ70の内部バスで消費される第1識別情報は、合計3つである。したがって、PCIeボックス500およびそれより下流の構成において、合計11個の第1識別情報が占有される。   Thus, in this example, two pieces of first identification information are occupiably allocated downstream from each of the four downstream ports 302 of the PCIe switch 70. Accordingly, eight pieces of first identification information are occupied downstream of the PCIe switch 70. Further, the first identification information consumed by the bus connecting the host device 60 and the conversion device 50, the bus connecting the conversion device 50 and the PCIe switch 70, and the internal bus of the PCIe switch 70 is three in total. Accordingly, a total of eleven pieces of first identification information are occupied in the PCIe box 500 and the configuration downstream thereof.

次に、複数個のPCIeボックス500をホスト装置60に接続し、さらに、そのホスト装置60配下の構成を複数個備える情報処理システム5を想定する。そのような情報処理システム5の一例を図29に示す。   Next, it is assumed that the information processing system 5 includes a plurality of PCIe boxes 500 connected to the host device 60 and a plurality of configurations under the host device 60. An example of such an information processing system 5 is shown in FIG.

図29において、情報処理システム5は、m個(mは正の整数)のホスト装置60を有する。また、各ホスト装置60には、PCIeボックス500が4つずつ接続されている。なお、m個のホスト装置60は、互いに通信可能に接続され、各ホスト装置60のデバイス初期化部61は、情報処理システム5全体で重複しない第1識別情報を、各バスに付与するものとする。なお、各ホスト装置60を、ホスト装置60_i(i=1〜m)とも記載する。また、ホスト装置60_iに接続された4つのPCIeボックス500を、PCIeボックス500_i1〜500_i4とも記載する。   In FIG. 29, the information processing system 5 has m host devices 60 (m is a positive integer). In addition, four PCIe boxes 500 are connected to each host device 60. The m host devices 60 are connected to be communicable with each other, and the device initialization unit 61 of each host device 60 gives first identification information that is not duplicated in the entire information processing system 5 to each bus. To do. Each host device 60 is also referred to as a host device 60_i (i = 1 to m). The four PCIe boxes 500 connected to the host device 60_i are also referred to as PCIe boxes 500_i1 to 500_i4.

なお、この例では、前述のように、PCIeボックス500配下の構成において、合計11個の第1識別情報が占有される。ただし、管理しやすさのため、あるPCIeボックス500配下で16個の連番の第1識別情報が占有されたと仮定して、他のPCIeボックス500配下に第1識別情報が付与されていく規則が適用されるものとする。つまり、一部の番号は飛ばされて第1識別情報が付与されるものとする。   In this example, as described above, a total of eleven pieces of first identification information are occupied in the configuration under the PCIe box 500. However, for ease of management, it is assumed that the first identification information of 16 consecutive numbers is occupied under a certain PCIe box 500, and the first identification information is assigned under the other PCIe boxes 500. Shall apply. That is, a part of the numbers are skipped and the first identification information is given.

この場合、前述のように、PCIeボックス500_11より下流では、第1識別情報として、「Bus#/Dev#=04/xx〜07/xx」の8つの第1識別情報が占有される。また、前述したように、PCIeボックス500_11の前後や内部で、それ以外に3つの第1識別情報が消費される。また、一部の第1識別情報の番号は飛ばされる。したがって、前述の規則に基づいて、PCIeボックス500_11およびその下流で、「Bus#/Dev#=01/xx〜08/xx」の16個の第1識別情報が占有されたと仮定して、次のPCIeボックス500_12配下に第1識別情報が付与される。   In this case, as described above, eight pieces of first identification information “Bus # / Dev # = 04 / xx to 07 / xx” are occupied as the first identification information downstream from the PCIe box 500_11. In addition, as described above, three pieces of first identification information are consumed before and after or inside the PCIe box 500_11. In addition, some numbers of the first identification information are skipped. Therefore, based on the above rule, assuming that the first identification information of “Bus # / Dev # = 01 / xx to 08 / xx” is occupied downstream of the PCIe box 500_11 and the following, The first identification information is assigned under the PCIe box 500_12.

すなわち、PCIeボックス500_12配下では、第1識別情報として、「Bus#/Dev#=0C/xx〜0F/xx」の8つの第1識別情報が占有される。ただし、前述の規則に基づいて、PCIeボックス500_12配下では、「Bus#/Dev#=09/xx〜10/xx」の16個の第1識別情報が占有されたと仮定して、次のPCIeボックス500_13配下に第1識別情報が付与される。   That is, under the PCIe box 500_12, eight first identification information of “Bus # / Dev # = 0C / xx to 0F / xx” is occupied as the first identification information. However, on the basis of the above-mentioned rule, it is assumed that 16 pieces of first identification information “Bus # / Dev # = 09 / xx to 10 / xx” are occupied under the PCIe box 500_12, and the next PCIe box The first identification information is assigned under 500_13.

同様にして、PCIeボックス500_13〜500_14それぞれの配下に、前述の規則に基づいて第1識別情報が付与されたとする。すると、ホスト装置60_1以下の構成では、第1識別情報として、「Bus#/Dev#=00/xx〜1F/xx」の64個の第1識別情報が占有される。   Similarly, it is assumed that the first identification information is assigned to each of the PCIe boxes 500_13 to 500_14 based on the above-described rules. Then, in the configuration below the host device 60_1, 64 pieces of first identification information of “Bus # / Dev # = 00 / xx to 1F / xx” are occupied as the first identification information.

同様にして、ホスト装置60_2以降でも、それぞれの下流で、64個ずつの第1識別情報が占有されるとする。すると、情報処理システム5は、9ビットの第1識別情報で表現可能な512個まで、合計8個のホスト装置60配下の構成を含むことができる。つまり、m=8となる。   Similarly, it is assumed that 64 pieces of first identification information are occupied downstream of each of the host devices 60_2 and later. Then, the information processing system 5 can include a total of eight subordinate host device 60 configurations, up to 512 that can be represented by 9-bit first identification information. That is, m = 8.

すると、1つのホスト装置60以下に16個のPCIeデバイスを接続可能であるため、全体として、128個のPCIeデバイスが接続可能となる。このように、本実施の形態は、背景技術の図39を参照して説明した一般的なPCIeスイッチを用いたときに64個程度までしかデバイスを接続できない場合に比べて、接続可能なPCIeデバイスの個数を倍増させている。これは、情報処理システム5が、本来識別に利用可能なバス番号の8ビットより多い9ビットの第1識別情報を用いて、PCIeデバイスを識別可能なためである。   Then, since 16 PCIe devices can be connected to one host apparatus 60 or lower, 128 PCIe devices can be connected as a whole. As described above, the present embodiment provides a connectable PCIe device as compared to a case where only about 64 devices can be connected when the general PCIe switch described with reference to FIG. 39 of the background art is used. The number of the is doubled. This is because the information processing system 5 can identify the PCIe device by using the first identification information of 9 bits, which is larger than the 8 bits of the bus number originally usable for identification.

しかも、この具体例において、各PCIeスイッチ70および各PCIeデバイスは、PCIeのデバイス識別情報に含まれるバス番号8ビットに相当する第2識別情報を用いて動作すればよい。したがって、PCIeデバイスには、一般的なデバイスを適用可能である。   In addition, in this specific example, each PCIe switch 70 and each PCIe device may operate using second identification information corresponding to 8 bits of the bus number included in the device identification information of PCIe. Therefore, a general device can be applied to the PCIe device.

なお、図29の例において、例えば、第1識別情報「Bus#/Dev#=7F/xx」は、第2識別情報「Bus#=FE」から「Bus#=FF」までに変換される。また、第1識別情報「Bus#/Dev#=FF/xx」も、同様の第2識別情報「Bus#=FE」から「Bus#=FF」までに変換される。しかしながら、第1識別情報「Bus#/Dev#=7F/xx」によって識別されるPCIeデバイスは、ホスト装置60_4配下のPCIeボックス500_44に接続される。また、第1識別情報「Bus#/Dev#=FF/xx」によって識別されるPCIeデバイスは、ホスト装置60_8配下のPCIeボックス500_84に接続される。したがって、これらの各PCIeデバイス宛のパケットは、該当するホスト装置60から該当するPCIeボックス500まで正しく転送されることを前提とすれば、その後、第2識別情報により正しく転送される。また、各PCIeデバイスが、他と同一の第2識別情報を用いて動作しても、該当するホスト装置60は、それぞれが変換された他と互いに異なる第1識別情報によって送信元のPCIeデバイスを識別可能である。   In the example of FIG. 29, for example, the first identification information “Bus # / Dev # = 7F / xx” is converted from the second identification information “Bus # = FE” to “Bus # = FF”. The first identification information “Bus # / Dev # = FF / xx” is also converted from the same second identification information “Bus # = FE” to “Bus # = FF”. However, the PCIe device identified by the first identification information “Bus # / Dev # = 7F / xx” is connected to the PCIe box 500_44 under the host device 60_4. The PCIe device identified by the first identification information “Bus # / Dev # = FF / xx” is connected to the PCIe box 500_84 under the host device 60_8. Therefore, if it is assumed that the packets addressed to the respective PCIe devices are correctly transferred from the corresponding host device 60 to the corresponding PCIe box 500, then the packets are correctly transferred according to the second identification information. Further, even if each PCIe device operates using the same second identification information as the others, the corresponding host device 60 uses the first identification information that is different from the other converted each other to identify the source PCIe device. Be identifiable.

以上で、本実施の形態の具体例の説明を終了する。   Above, description of the specific example of this Embodiment is complete | finished.

次に、本発明の第5の実施の形態の効果について述べる。   Next, effects of the fifth exemplary embodiment of the present invention will be described.

本発明の第5の実施の形態としての情報処理システムは、導入コストを抑えながら、情報処理装置に接続可能なPCIeデバイスの個数を増加させることができる。   The information processing system as the fifth exemplary embodiment of the present invention can increase the number of PCIe devices that can be connected to the information processing apparatus while suppressing the introduction cost.

その理由について説明する。本実施の形態では、第1識別情報として、PCIe仕様に基づくデバイス識別情報に含まれるバス番号と、n個の追加ビットとしてのデバイス番号の上位nビットとからなる情報を適用する。そして、アウトバウンド変換部が、アウトバウンドTLPのヘッダに含まれる宛先を示すデバイス識別情報において、第1識別情報のバス番号の上位nビットを破棄し、デバイス番号の上位nビットを下位nビットとして含むよう、第2識別情報を生成する。そして、アウトバウンド変換部が、生成した第2識別情報を、宛先を示すデバイス識別情報におけるバス番号の位置に含める。また、インバウンド変換部が、自装置のセカンダリバスについて記憶しているバス番号の上位nビットを用いて、インバウンドTLPのヘッダに含まれる送信元を示すデバイス識別情報における第2識別情報を、元の第1識別情報に変換する。そして、インバウンド変換部が、変換した第1識別情報を、送信元を示すデバイス識別情報におけるバス番号の位置およびデバイス番号の上位nビットの位置に含めるからである。   The reason will be described. In the present embodiment, information including the bus number included in the device identification information based on the PCIe specification and the upper n bits of the device number as n additional bits is applied as the first identification information. Then, in the device identification information indicating the destination included in the header of the outbound TLP, the outbound conversion unit discards the upper n bits of the bus number of the first identification information and includes the upper n bits of the device number as the lower n bits. The second identification information is generated. Then, the outbound conversion unit includes the generated second identification information in the position of the bus number in the device identification information indicating the destination. In addition, the inbound conversion unit uses the upper n bits of the bus number stored for the secondary bus of its own device, and converts the second identification information in the device identification information indicating the transmission source included in the header of the inbound TLP to the original Convert to first identification information. This is because the inbound conversion unit includes the converted first identification information in the position of the bus number and the upper n bits of the device number in the device identification information indicating the transmission source.

このように、本実施の形態は、一般的な情報処理システムでは、バス番号8ビットで表される個数未満までしか接続できなかったPCIeデバイスを、バス番号8ビット+デバイス番号の上位nビットで表される個数未満まで接続可能にする。しかも、本実施の形態において変換装置の下流に接続されるPCIeスイッチおよびPCIeデバイスは、PCIeの仕様に準拠する第2識別情報である通常のバス番号を用いて動作すればよい。したがって、本実施の形態において、PCIeスイッチおよびPCIeデバイスとしては、一般的なPCIeスイッチおよびPCIeデバイスを適用可能である。このため、本実施の形態は、導入コストを抑えることができる。   As described above, in this embodiment, in a general information processing system, a PCIe device that can be connected to less than the number represented by the bus number 8 bits is represented by the bus number 8 bits + the upper n bits of the device number. Allow connections up to the number shown. In addition, the PCIe switch and the PCIe device connected downstream of the conversion apparatus in the present embodiment may operate using a normal bus number that is second identification information that conforms to the PCIe specification. Therefore, in this embodiment, general PCIe switches and PCIe devices can be applied as the PCIe switches and PCIe devices. For this reason, this Embodiment can hold down introduction cost.

なお、本実施の形態の具体例として、本発明におけるn個の追加ビットとして、デバイス番号のMSBを適用する例について説明したが、デバイス番号の上位2ビット以上を適用してもよい。ただし、接続が想定されるPCIeデバイスが有するデバイス番号が、デバイス番号の残りの5−nビットで表される範囲であることが前提である。   Note that, as a specific example of the present embodiment, an example in which the MSB of the device number is applied as n additional bits in the present invention has been described, but the upper 2 bits or more of the device number may be applied. However, it is assumed that the device number of the PCIe device that is assumed to be connected is in the range represented by the remaining 5-n bits of the device number.

また、本実施の形態における変換処理の具体例として、アウトバウンド変換部がレジスタA〜Bを用いて論理演算を行う手順と、インバウンド変換部がレジスタA〜Cを用いて論理演算を行う手順とについて説明した。ただし、各変換部は、本実施の形態における第1識別情報と第2識別情報との間を変換可能な手順であれば、他の手順によって変換処理を行ってもよい。   In addition, as a specific example of the conversion processing in the present embodiment, a procedure in which the outbound conversion unit performs a logical operation using the registers A to B and a procedure in which the inbound conversion unit performs a logical operation using the registers A to C. explained. However, each conversion unit may perform the conversion process according to another procedure as long as it can convert between the first identification information and the second identification information in the present embodiment.

(第6の実施の形態)
次に、本発明の第6の実施の形態について説明する。本発明の第6の実施の形態では、本発明の第5の実施の形態における変換装置に改良を加えた例について説明する。なお、本実施の形態の説明において参照する各図面において、本発明の第1〜第5の実施の形態と同一の構成および同様に動作するステップには同一の符号を付して本実施の形態における詳細な説明を省略する。
(Sixth embodiment)
Next, a sixth embodiment of the present invention will be described. In the sixth embodiment of the present invention, an example in which the conversion device in the fifth embodiment of the present invention is improved will be described. In each drawing referred to in the description of the present embodiment, the same reference numerals are given to the same configurations and steps that operate in the same manner as in the first to fifth embodiments of the present invention. The detailed description in is omitted.

まず、本発明の第6の実施の形態としての情報処理システム6の構成を図30に示す。図30において、情報処理システム6は、本発明の第5の実施の形態としての情報処理システム5に対して、変換装置50に替えて変換装置80と、ホスト装置60に替えてホスト装置90とを有する点が異なる。   First, FIG. 30 shows a configuration of an information processing system 6 as a sixth embodiment of the present invention. In FIG. 30, the information processing system 6 is different from the information processing system 5 according to the fifth embodiment of the present invention in that a conversion device 80 is used instead of the conversion device 50 and a host device 90 is used instead of the host device 60. Is different.

また、図31に示すように、変換装置80は、本発明の第5の実施の形態における変換装置50に対して、アウトバウンド変換部51に替えてアウトバウンド変換部81と、インバウンド変換部52に替えてインバウンド変換部82とを有する点が異なる。   Further, as shown in FIG. 31, the conversion device 80 is replaced with an outbound conversion unit 81 and an inbound conversion unit 52 instead of the outbound conversion unit 51 with respect to the conversion device 50 according to the fifth embodiment of the present invention. And the inbound conversion unit 82 is different.

また、図32に示すように、ホスト装置90は、本発明の第5の実施の形態におけるホスト装置60に対して、デバイス初期化部61に替えてデバイス初期化部91と、デバイスアクセス部62に替えてデバイスアクセス部92とを有する点が異なる。   Also, as shown in FIG. 32, the host device 90 is different from the host device 60 in the fifth embodiment of the present invention in that it replaces the device initialization unit 61 with a device initialization unit 91 and a device access unit 62. The difference is that a device access unit 92 is provided instead.

ここで、情報処理システム6のハードウェア構成は、図9を用いて本発明の第3の実施の形態で説明した通りである。ただし、図9に示した各ハードウェア要素として、PCIeに準拠するハードウェア要素が採用されているものとする。   Here, the hardware configuration of the information processing system 6 is as described in the third embodiment of the present invention with reference to FIG. However, it is assumed that a hardware element conforming to PCIe is adopted as each hardware element shown in FIG.

まず、ホスト装置90の機能のうち、本発明の第5の実施の形態と異なる点について説明する。   First, of the functions of the host device 90, differences from the fifth embodiment of the present invention will be described.

デバイス初期化部91は、情報処理システム6の初期化時に、変換装置80による変換機能を有効にするか否かを判断する。この判断処理は、例えば、外部から入力される指示情報や、メモリ202に記憶された設定情報に基づいて行われてもよい。もし、複数の変換装置80が自装置に接続される場合、変換装置80毎に、変換機能を有効にするか否かを判断してもよい。そして、デバイス初期化部91は、変換機能を有効にすると判断された変換装置80の配下に、第1識別情報を付与する。また、デバイス初期化部91は、変換機能を有効にしないと判断された変換装置80の配下には、通常のバス番号による識別情報を付与する。   The device initialization unit 91 determines whether or not to enable the conversion function of the conversion device 80 when the information processing system 6 is initialized. This determination process may be performed based on, for example, instruction information input from the outside or setting information stored in the memory 202. If a plurality of conversion devices 80 are connected to the own device, it may be determined for each conversion device 80 whether to enable the conversion function. Then, the device initialization unit 91 gives the first identification information to the subordinate of the conversion device 80 that is determined to enable the conversion function. In addition, the device initialization unit 91 gives identification information based on a normal bus number to the subordinates of the conversion device 80 that is determined not to enable the conversion function.

また、デバイスアクセス部92は、初期化時に変換機能を有効にすると判断された変換装置80を介して送信するパケットには、宛先の識別子としての第1識別情報と、変換機能を有効にすることを表す情報とをヘッダに含めて送信する。また、デバイスアクセス部92は、初期化時に変換機能を有効にしないと判断された変換装置80を介して送信するパケットには、宛先の識別子としての通常のバス番号と、変換機能を有効にしないことを表す情報とをヘッダに含めて送信する。   In addition, the device access unit 92 enables the first identification information as the destination identifier and the conversion function for a packet transmitted via the conversion device 80 that is determined to enable the conversion function at the time of initialization. The information indicating is included in the header and transmitted. Further, the device access unit 92 does not enable the normal bus number as the destination identifier and the conversion function for packets transmitted via the conversion device 80 that are determined not to enable the conversion function at the time of initialization. Information indicating that is included in the header and transmitted.

例えば、変換機能を有効する/しないことを表す情報としては、宛先の識別子としてのデバイス識別情報に含まれるファンクション番号のMSBを適用してもよい。この場合、ファンクション番号のMSBが1であれば「有効」を示し、0であれば「無効」を示すものとしてもよい。   For example, the MSB of the function number included in the device identification information as the destination identifier may be applied as the information indicating that the conversion function is enabled / disabled. In this case, if the MSB of the function number is 1, “valid” may be indicated, and if it is 0, “invalid” may be indicated.

次に、変換装置80の機能ブロックのうち、本発明の第5の実施の形態と異なる点について詳細に説明する。   Next, of the functional blocks of the conversion device 80, differences from the fifth embodiment of the present invention will be described in detail.

アウトバウンド変換部81は、PCIeデバイス宛のパケットに、変換機能を有効にすることを示す情報が含まれる場合に、本発明の第5の実施の形態におけるアウトバウンド変換部51と同様に動作する。なお、この場合、アウトバウンド変換部81は、変換機能が有効であることを記憶しておく。   The outbound conversion unit 81 operates in the same manner as the outbound conversion unit 51 in the fifth embodiment of the present invention when the packet addressed to the PCIe device includes information indicating that the conversion function is enabled. In this case, the outbound conversion unit 81 stores that the conversion function is valid.

また、前述のように、ファンクション番号のMSBが、変換機能を有効にする/しないことを表す情報として適用されている場合について説明する。この場合、アウトバウンド変換部81は、受信したアウトバウンドTLPのヘッダにおいて、宛先の識別子としてのデバイス識別情報に含まれるファンクション番号のMSBが1である場合に、次のように動作する。すなわち、アウトバウンド変換部81は、第1識別情報を第2識別情報に変換するとともに、ファンクション番号のMSBを0に変換する。   In addition, as described above, a case will be described in which the MSB of the function number is applied as information indicating whether or not to enable the conversion function. In this case, the outbound conversion unit 81 operates as follows when the MSB of the function number included in the device identification information as the destination identifier is 1 in the header of the received outbound TLP. That is, the outbound conversion unit 81 converts the first identification information into the second identification information and converts the MSB of the function number to 0.

これにより、変換後のアウトバウンドTLPを受信したPCIeデバイスでは、宛先の識別子に含まれるファンクション番号を、仕様に基づくファンクション番号として認識することができる。ただし、この場合、本来のファンクション番号が、MSBを除いた2ビットで表される範囲であることが前提である。ファンクション番号のMSBが1であるか0であるかに応じたアウトバウンド変換部81の処理を、模式的に図33に示す。   As a result, the PCIe device that has received the converted outbound TLP can recognize the function number included in the destination identifier as a function number based on the specification. In this case, however, it is assumed that the original function number is in a range represented by 2 bits excluding the MSB. FIG. 33 schematically shows the processing of the outbound conversion unit 81 depending on whether the MSB of the function number is 1 or 0.

図33において、受信されたアウトバウンドTLPにおける宛先の識別子としてのデバイス識別情報701では、ファンクション番号のMSBが1である。そこで、変換機能が有効となる。その結果、下流に送信されるアウトバウンドTLPにおける宛先の識別子としてのデバイス識別情報702では、元のバス番号の下位7ビットおよび元のデバイス番号のMSBからなる合計8ビットの第2識別情報が、バス番号の位置に含まれている。また、変換により、デバイス番号のMSBは0となっている。また、ファンクション番号のMSBは、0に変換されている。   In FIG. 33, the MSB of the function number is 1 in the device identification information 701 as the destination identifier in the received outbound TLP. Therefore, the conversion function becomes effective. As a result, in the device identification information 702 as the destination identifier in the outbound TLP transmitted downstream, the second identification information having a total of 8 bits including the lower 7 bits of the original bus number and the MSB of the original device number is Included in the number position. Also, the MSB of the device number is 0 by the conversion. The MSB of the function number is converted to 0.

また、図33において、受信されたアウトバウンドTLPにおける宛先の識別子としてのデバイス識別情報703では、ファンクション番号のMSBが0である。そこで、変換機能は無効となる。その結果、受信されたアウトバウンドTLPはそのまま下流に送信される。   In FIG. 33, the MSB of the function number is 0 in the device identification information 703 as the destination identifier in the received outbound TLP. Therefore, the conversion function becomes invalid. As a result, the received outbound TLP is transmitted downstream as it is.

インバウンド変換部82は、アウトバウンド変換部81による変換機能が有効である場合に、本発明の第5の実施の形態におけるインバウンド変換部52と同様に動作する。   The inbound conversion unit 82 operates in the same manner as the inbound conversion unit 52 in the fifth embodiment of the present invention when the conversion function by the outbound conversion unit 81 is valid.

以上のように構成された情報処理システム6の動作について説明する。   The operation of the information processing system 6 configured as described above will be described.

まず、ホスト装置90の動作を図34に示す。   First, the operation of the host device 90 is shown in FIG.

図34において、まず、情報処理システム6の初期化時等に、デバイス初期化部91が、変換装置80の変換機能を有効にするか否かを判断する(ステップC91)。   34, first, at the time of initialization of the information processing system 6 or the like, the device initialization unit 91 determines whether or not to enable the conversion function of the conversion device 80 (step C91).

ここで、変換機能を有効にすると判断した場合(ステップC91でYes)、デバイス初期化部91は、変換装置80配下の各PCIeスイッチ70や各PCIeデバイスに、第1識別情報を付与する。   If it is determined that the conversion function is to be enabled (Yes in step C91), the device initialization unit 91 provides first identification information to each PCIe switch 70 and each PCIe device under the conversion device 80.

以降、デバイスアクセス部92は、第1識別情報および変換機能を有効にすることを表す情報を、ヘッダにおける宛先のデバイス識別情報に含めたアウトバウンドTLPを、変換装置80に対して送信する。また、デバイスアクセス部92は、受信したインバウンドTLPに含まれる送信元のデバイス識別情報における第1識別情報を用いて、送信元のPCIeデバイスを識別する(ステップC93)。   Thereafter, the device access unit 92 transmits, to the conversion device 80, the outbound TLP including the first identification information and information indicating that the conversion function is enabled in the destination device identification information in the header. The device access unit 92 identifies the source PCIe device using the first identification information in the source device identification information included in the received inbound TLP (step C93).

一方、変換機能を有効にしないと判断した場合(ステップC91でNo)、デバイス初期化部91は、変換装置80配下の各PCIeスイッチ70や各PCIeデバイスに、通常のバス番号に基づくデバイス識別情報を付与する(ステップC94)。   On the other hand, if it is determined that the conversion function is not enabled (No in step C91), the device initialization unit 91 sends device identification information based on a normal bus number to each PCIe switch 70 and each PCIe device under the conversion device 80. (Step C94).

以降、デバイスアクセス部92は、通常のデバイス識別情報および変換機能を有効にしないことを表す情報を、ヘッダにおける宛先のデバイス識別情報に含めたアウトバウンドTLPを、変換装置80に対して送信する。また、デバイスアクセス部92は、受信したインバウンドTLPに含まれる送信元のデバイス識別情報におけるバス番号を用いて、送信元のPCIeデバイスを識別する(ステップC95)。   Thereafter, the device access unit 92 transmits, to the conversion apparatus 80, an outbound TLP including normal device identification information and information indicating that the conversion function is not enabled in the destination device identification information in the header. The device access unit 92 identifies the source PCIe device using the bus number in the source device identification information included in the received inbound TLP (step C95).

以上で、ホスト装置90の動作の説明を終了する。   Above, description of operation | movement of the host apparatus 90 is complete | finished.

次に、アウトバウンドTLPを転送する変換装置80の動作を図35に示す。   Next, FIG. 35 shows the operation of the conversion device 80 for transferring the outbound TLP.

図35では、まず、アウトバウンド変換部81は、ステップA51で受信されたアウトバウンドTLPに、変換機能を有効にすることを示す情報が含まれているか否かを判断する(ステップA91)。   In FIG. 35, first, the outbound conversion unit 81 determines whether or not the outbound TLP received in step A51 includes information indicating that the conversion function is enabled (step A91).

前述のように、例えば、アウトバウンド変換部81は、アウトバウンドTLPのヘッダに宛先の識別子として含まれるデバイス識別情報のファンクション番号のMSBが、1であるか否かを判断してもよい。   As described above, for example, the outbound conversion unit 81 may determine whether or not the MSB of the function number of the device identification information included as the destination identifier in the outbound TLP header is 1.

ここで、変換機能を有効にすることを示す情報が含まれている場合(ステップA91でYes)、アウトバウンド変換部81は、ステップA52〜A55まで、本発明の第5の実施の形態と同様に動作する。   Here, when information indicating that the conversion function is enabled is included (Yes in Step A91), the outbound conversion unit 81 performs Steps A52 to A55 in the same manner as in the fifth embodiment of the present invention. Operate.

一方、変換機能を有効にすることを示す情報が含まれていない場合(ステップA91でNo)、アウトバウンド変換部81は、ステップA51で受信されたアウトバウンドTLPを、そのまま下流に送信する(ステップA55)。   On the other hand, when the information indicating that the conversion function is enabled is not included (No in Step A91), the outbound conversion unit 81 transmits the outbound TLP received in Step A51 as it is (Step A55). .

以上で、アウトバウンド変換部81は、アウトバウンドTLPを送信する動作を終了する。   Thus, the outbound conversion unit 81 ends the operation for transmitting the outbound TLP.

次に、インバウンドTLPを転送する変換装置80の動作を図36に示す。   Next, FIG. 36 shows the operation of the conversion apparatus 80 that transfers inbound TLP.

図36では、まず、インバウンド変換部82は、ステップB51でインバウンドTLPを受信すると、アウトバウンド変換部81において変換機能が有効であるか否かを判断する(ステップB91)。   In FIG. 36, first, when receiving the inbound TLP in step B51, the inbound conversion unit 82 determines whether or not the conversion function is valid in the outbound conversion unit 81 (step B91).

ここで、変換機能が有効である場合(ステップB91でYes)、インバウンド変換部82は、ステップB52〜B56まで、本発明の第5の実施の形態と同様に動作する。   Here, when the conversion function is valid (Yes in Step B91), the inbound conversion unit 82 operates from Steps B52 to B56 in the same manner as in the fifth embodiment of the present invention.

一方、変換機能が有効でない場合(ステップS91でNo)、インバウンド変換部82は、受信されたインバウンドTLPを、そのまま仮想PCIブリッジ53を介して上流に送信する(ステップB55、B56)。   On the other hand, when the conversion function is not valid (No in step S91), the inbound conversion unit 82 transmits the received inbound TLP as it is to the upstream via the virtual PCI bridge 53 (steps B55 and B56).

以上で、インバウンド変換部82は、インバウンドTLPを転送する動作を終了する。   Thus, the inbound conversion unit 82 ends the operation of transferring the inbound TLP.

次に、本発明の第6の実施の形態の効果について述べる。   Next, effects of the sixth exemplary embodiment of the present invention will be described.

本発明の第6の実施の形態としての情報処理システムは、情報処理システムに接続可能な入出力デバイスの個数を増加させるかどうかを柔軟に設定可能にして、システム構成の自由度を高めることができる。   The information processing system as the sixth exemplary embodiment of the present invention can flexibly set whether to increase the number of input / output devices connectable to the information processing system, and can increase the degree of freedom of the system configuration. it can.

その理由について説明する。本実施の形態では、変換装置のアウトバウンド変換部が、パケットに変換機能を有効にすることを示す情報が含まれる場合に、該パケットに含まれる第1識別情報を第2識別情報に変換する。また、インバウンド変換部が、アウトバウンド変換部における変換機能が有効である場合に、パケットに含まれる第2識別情報を元の第1識別情報に変換するからである。   The reason will be described. In the present embodiment, if the packet includes information indicating that the conversion function is enabled, the outbound conversion unit of the conversion device converts the first identification information included in the packet into second identification information. Moreover, it is because an inbound conversion part converts the 2nd identification information contained in a packet into the original 1st identification information, when the conversion function in an outbound conversion part is effective.

これにより、本実施の形態は、情報処理システムに含まれる変換装置毎に、その配下を、第1識別情報を用いて識別する拡張空間として構成するか、通常のデバイス識別情報を用いて識別する通常空間として構成するかを選択できる。これにより、本実施の形態は、情報処理システムに拡張空間および通常空間を混在させることも可能とする。   Thus, in the present embodiment, for each conversion device included in the information processing system, the subordinates thereof are configured as an extended space that is identified using the first identification information, or are identified using normal device identification information. You can choose whether to configure as a normal space. As a result, the present embodiment also allows the expansion space and the normal space to be mixed in the information processing system.

なお、本実施の形態において、ファンクション番号のMSBを、変換機能を有効にするか否かを示す情報として適用する例について説明した。これに限らず、変換機能を有効にするか否かを示す情報としては、ヘッダに含まれるその他の情報が適用可能である。ただし、そのような他の情報は、ヘッダにおいて使用されていないことが望ましい。   In the present embodiment, the example in which the MSB of the function number is applied as information indicating whether or not to enable the conversion function has been described. Not limited to this, other information included in the header can be applied as information indicating whether or not to enable the conversion function. However, it is desirable that such other information is not used in the header.

また、本実施の形態において、入出力インタフェースがPCIeである場合について説明した。これに限らず、本実施の形態は、その他の入出力インタフェースの場合にも適用可能である。   In the present embodiment, the case where the input / output interface is PCIe has been described. The present embodiment is not limited to this, and can be applied to other input / output interfaces.

また、上述した本発明の各実施の形態において、変換装置の各機能ブロックが、専用のハードウェア要素により実現される例について説明した。ただし、変換装置の各機能ブロックの一部または全部は、メモリに格納されたプログラムを実行するプロセッサにより実現されてもよい。   Further, in each of the embodiments of the present invention described above, the example in which each functional block of the conversion device is realized by a dedicated hardware element has been described. However, some or all of the functional blocks of the conversion device may be realized by a processor that executes a program stored in a memory.

また、上述した本発明の各実施の形態において、各フローチャートを参照して説明した各装置の動作を、本発明のプログラムとしてコンピュータ装置の記憶装置(記憶媒体)に格納しておく。そして、係るプログラムを当該プロセッサが読み出して実行するようにしてもよい。そして、このような場合において、本発明は、係るプログラムのコードあるいは記憶媒体によって構成される。   In each embodiment of the present invention described above, the operation of each device described with reference to each flowchart is stored in a storage device (storage medium) of a computer device as a program of the present invention. Then, the program may be read and executed by the processor. In such a case, the present invention is constituted by the code of the program or a storage medium.

また、上述した各実施の形態は、適宜組み合わせて実施されることが可能である。   Moreover, each embodiment mentioned above can be implemented in combination as appropriate.

また、本発明は、上述した各実施の形態に限定されず、様々な態様で実施されることが可能である。   The present invention is not limited to the above-described embodiments, and can be implemented in various modes.

また、上述した各実施の形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
(付記1)
ホスト装置と、1つ以上の入出力デバイスを接続可能な入出力スイッチとに接続され、
前記ホスト装置から入力される前記入出力デバイス宛のパケットにおいて、宛先の識別子として含まれる第1識別情報であって、前記入出力デバイスが準拠する入出力インタフェースの仕様に基づく識別情報を構成する各ビットおよびn個の追加ビット(nは1以上の整数)からなる第1識別情報を、前記追加ビットの情報が含まれるよう、前記仕様に基づく識別情報と同一ビット幅の第2識別情報に変換し、変換した第2識別情報を前記宛先の識別子として前記仕様に基づく識別情報の位置に含めて前記入出力スイッチに出力するアウトバウンド変換部と、
前記入出力スイッチから入力される前記ホスト装置宛のパケットにおいて、送信元の前記入出力デバイスの識別子として含まれる前記第2識別情報を元の前記第1識別情報に変換し、変換した第1識別情報を前記送信元の識別子として前記仕様に基づく識別情報の位置および前記追加ビットの位置に含めて前記ホスト装置に出力するインバウンド変換部と、
を有する変換装置。
(付記2)
前記アウトバウンド変換部は、前記第1識別情報の上位nビットを破棄して前記n個の追加ビットを下位nビットとして含むよう前記第2識別情報を構成し、
前記インバウンド変換部は、前記第2識別情報を、前記第1識別情報に含まれていた前記上位nビットに基づいて、前記第1識別情報に変換することを特徴とする付記1に記載の変換装置。
(付記3)
前記アウトバウンド変換部は、前記パケットに、変換機能を有効にすることを示す情報が含まれる場合に、前記第1識別情報を前記第2識別情報に変換し、
前記インバウンド変換部は、前記アウトバウンド変換部において前記変換機能が有効である場合に、前記第2識別情報を元の前記第1識別情報に変換することを特徴とする付記1または付記2に記載の変換装置。
(付記4)
前記入出力インタフェースがPCIe(Peripheral Component Interconnect Express)であるとき、
前記アウトバウンド変換部は、前記仕様に基づく識別情報としてのバス番号と、前記n個の追加ビットとしてのデバイス番号の上位nビットとからなる前記第1識別情報から、前記バス番号の上位nビットを破棄し、前記デバイス番号の上位nビットを下位nビットとして含むよう、前記第2識別情報を生成し、
前記インバウンド変換部は、自装置のセカンダリバスについて記憶しているバス番号の上位nビットを用いて、前記第2識別情報を元の前記第1識別情報に変換することを特徴とする付記1から付記3のいずれか1つに記載の変換装置。
(付記5)
付記1から付記4のいずれか1つに記載の変換装置および前記入出力スイッチを介して自装置に接続される前記入出力デバイスに対して、前記第1識別情報を付与するデバイス初期化部と、
前記入出力デバイスに対して、前記第1識別情報を用いてアクセスするデバイスアクセス部と、
を有するホスト装置。
(付記6)
付記1から付記4のいずれか1つに記載の変換装置と、
前記入出力スイッチと、
を備えた入出力スイッチシステム。
(付記7)
付記5に記載のホスト装置と、
付記1から付記4のいずれか1つに記載の変換装置と、
前記入出力スイッチと、
を備えた情報処理システム。
(付記8)
ホスト装置と、1つ以上の入出力デバイスを接続可能な入出力スイッチとに接続されるコンピュータ装置を用いて、
前記ホスト装置から入力される前記入出力デバイス宛のパケットにおいて、宛先の識別子として含まれる第1識別情報であって、前記入出力デバイスが準拠する入出力インタフェースの仕様に基づく識別情報を構成する各ビットおよびn個の追加ビット(nは1以上の整数)からなる第1識別情報を、前記追加ビットの情報が含まれるよう、前記仕様に基づく識別情報と同一ビット幅の第2識別情報に変換し、変換した第2識別情報を前記宛先の識別子として前記仕様に基づく識別情報の位置に含めて前記入出力スイッチに出力し、
前記入出力スイッチから入力される前記ホスト装置宛のパケットにおいて、送信元の前記入出力デバイスの識別子として含まれる前記第2識別情報を元の前記第1識別情報に変換し、変換した第1識別情報を前記送信元の識別子として前記仕様に基づく識別情報の位置および前記追加ビットの位置に含めて前記ホスト装置に出力する方法。
(付記9)
ホスト装置と、1つ以上の入出力デバイスを接続可能な入出力スイッチとに接続されるコンピュータ装置に、
前記ホスト装置から入力される前記入出力デバイス宛のパケットにおいて、宛先の識別子として含まれる第1識別情報であって、前記入出力デバイスが準拠する入出力インタフェースの仕様に基づく識別情報を構成する各ビットおよびn個の追加ビット(nは1以上の整数)からなる第1識別情報を、前記追加ビットの情報が含まれるよう、前記仕様に基づく識別情報と同一ビット幅の第2識別情報に変換し、変換した第2識別情報を前記宛先の識別子として前記仕様に基づく識別情報の位置に含めて前記入出力スイッチに出力するアウトバウンド変換ステップと、
前記入出力スイッチから入力される前記ホスト装置宛のパケットにおいて、送信元の前記入出力デバイスの識別子として含まれる前記第2識別情報を元の前記第1識別情報に変換し、変換した第1識別情報を前記送信元の識別子として前記仕様に基づく識別情報の位置および前記追加ビットの位置に含めて前記ホスト装置に出力するインバウンド変換ステップと、
を実行させるプログラム。
(付記10)
コンピュータ装置を用いて、
付記1から付記4のいずれか1つに記載の変換装置および前記入出力スイッチを介して自装置に接続される前記入出力デバイスに対して、前記第1識別情報を付与し、
前記入出力デバイスに対して、前記第1識別情報を用いてアクセスする方法。
(付記11)
付記1から付記4のいずれか1つに記載の変換装置および前記入出力スイッチを介して自装置に接続される前記入出力デバイスに対して、前記第1識別情報を付与するデバイス初期化ステップと、
前記入出力デバイスに対して、前記第1識別情報を用いてアクセスするデバイスアクセスステップと、
をコンピュータ装置に実行させるプログラム。
A part or all of each of the above-described embodiments can be described as in the following supplementary notes, but is not limited thereto.
(Appendix 1)
Connected to the host device and an input / output switch to which one or more input / output devices can be connected,
In the packet addressed to the input / output device input from the host device, each of the first identification information included as a destination identifier and constituting the identification information based on the specification of the input / output interface to which the input / output device conforms First identification information consisting of bits and n additional bits (n is an integer equal to or greater than 1) is converted into second identification information having the same bit width as the identification information based on the specification so that the information of the additional bits is included. An outbound conversion unit that includes the converted second identification information as an identifier of the destination in the position of the identification information based on the specification and outputs it to the input / output switch;
In the packet addressed to the host device input from the input / output switch, the second identification information included as the identifier of the source input / output device is converted into the original first identification information, and the converted first identification An inbound conversion unit that outputs information to the host device by including information in the position of identification information based on the specification and the position of the additional bit as an identifier of the transmission source;
Conversion device.
(Appendix 2)
The outbound conversion unit configures the second identification information to discard the upper n bits of the first identification information and include the n additional bits as lower n bits,
The conversion according to appendix 1, wherein the inbound conversion unit converts the second identification information into the first identification information based on the upper n bits included in the first identification information. apparatus.
(Appendix 3)
The outbound conversion unit converts the first identification information into the second identification information when the packet includes information indicating that the conversion function is enabled.
The inbound conversion unit converts the second identification information into the original first identification information when the conversion function is valid in the outbound conversion unit. Conversion device.
(Appendix 4)
When the input / output interface is PCIe (Peripheral Component Interconnect Express),
The outbound conversion unit obtains the upper n bits of the bus number from the first identification information including the bus number as identification information based on the specification and the upper n bits of the device number as the n additional bits. Discard, and generate the second identification information to include the upper n bits of the device number as the lower n bits,
From the supplementary note 1, the inbound conversion unit converts the second identification information into the original first identification information by using upper n bits of the bus number stored for the secondary bus of the own device. The conversion device according to any one of appendix 3.
(Appendix 5)
A device initialization unit that gives the first identification information to the conversion device according to any one of appendix 1 to appendix 4 and the input / output device connected to the device via the input / output switch; ,
A device access unit that accesses the input / output device using the first identification information;
A host device.
(Appendix 6)
The conversion device according to any one of appendix 1 to appendix 4,
The input / output switch;
Input / output switch system with
(Appendix 7)
A host device according to appendix 5,
The conversion device according to any one of appendix 1 to appendix 4,
The input / output switch;
Information processing system with
(Appendix 8)
Using a computer device connected to a host device and an input / output switch to which one or more input / output devices can be connected,
In the packet addressed to the input / output device input from the host device, each of the first identification information included as a destination identifier and constituting the identification information based on the specification of the input / output interface to which the input / output device conforms First identification information consisting of bits and n additional bits (n is an integer equal to or greater than 1) is converted into second identification information having the same bit width as the identification information based on the specification so that the information of the additional bits is included. The converted second identification information is included in the position of identification information based on the specification as the destination identifier and output to the input / output switch,
In the packet addressed to the host device input from the input / output switch, the second identification information included as the identifier of the source input / output device is converted into the original first identification information, and the converted first identification A method in which information is included in the position of identification information based on the specification and the position of the additional bit as an identifier of the transmission source and output to the host device.
(Appendix 9)
A computer device connected to a host device and an input / output switch to which one or more input / output devices can be connected;
In the packet addressed to the input / output device input from the host device, each of the first identification information included as a destination identifier and constituting the identification information based on the specification of the input / output interface to which the input / output device conforms First identification information consisting of bits and n additional bits (n is an integer equal to or greater than 1) is converted into second identification information having the same bit width as the identification information based on the specification so that the information of the additional bits is included. An outbound conversion step of including the converted second identification information in the position of identification information based on the specification as an identifier of the destination and outputting the identification information to the input / output switch;
In the packet addressed to the host device input from the input / output switch, the second identification information included as the identifier of the source input / output device is converted into the original first identification information, and the converted first identification An inbound conversion step of including information in the position of the identification information based on the specification and the position of the additional bit as an identifier of the transmission source and outputting the information to the host device;
A program that executes
(Appendix 10)
Using computer equipment,
Giving the first identification information to the conversion device according to any one of Supplementary Notes 1 to 4 and the input / output device connected to the device through the input / output switch,
A method of accessing the input / output device using the first identification information.
(Appendix 11)
A device initialization step of assigning the first identification information to the conversion device according to any one of appendix 1 to appendix 4 and the input / output device connected to the device via the input / output switch; ,
A device access step of accessing the input / output device using the first identification information;
That causes a computer device to execute the program.

10、50、80 変換装置
20、60、90 ホスト装置
3、5、6 情報処理システム
4 入出力スイッチシステム
11、51、81 アウトバウンド変換部
12、52、82 インバウンド変換部
21、61、91 デバイス初期化部
22、62、92 デバイスアクセス部
30 入出力スイッチ
31 仮想ブリッジ
53、71 仮想PCIブリッジ
70 PCIeスイッチ
101、301 上流ポート
102、302 下流ポート
103 ブリッジ回路
104 変換回路
201 プロセッサ
202 メモリ
203 入出力インタフェース
303 入出力スイッチ回路
500 PCIeボックス
10, 50, 80 Conversion device 20, 60, 90 Host device 3, 5, 6 Information processing system 4 Input / output switch system 11, 51, 81 Outbound conversion unit 12, 52, 82 Inbound conversion unit 21, 61, 91 Initial device Control unit 22, 62, 92 Device access unit 30 Input / output switch 31 Virtual bridge 53, 71 Virtual PCI bridge 70 PCIe switch 101, 301 Upstream port 102, 302 Downstream port 103 Bridge circuit 104 Conversion circuit 201 Processor 202 Memory 203 Input / output interface 303 I / O switch circuit 500 PCIe box

Claims (9)

ホスト装置と、1つ以上の入出力デバイスを接続可能な入出力スイッチとに接続され、
前記ホスト装置から入力される前記入出力デバイス宛のパケットにおいて、宛先の識別子として含まれる第1識別情報であって、前記入出力デバイスが準拠する入出力インタフェースの仕様に基づく識別情報を構成する各ビットおよびn個の追加ビット(nは1以上の整数)からなる第1識別情報を、前記追加ビットの情報が含まれるよう、前記仕様に基づく識別情報と同一ビット幅の第2識別情報に変換し、変換した第2識別情報を前記宛先の識別子として前記仕様に基づく識別情報の位置に含めて前記入出力スイッチに出力するアウトバウンド変換部と、
前記入出力スイッチから入力される前記ホスト装置宛のパケットにおいて、送信元の前記入出力デバイスの識別子として含まれる前記第2識別情報を元の前記第1識別情報に変換し、変換した第1識別情報を前記送信元の識別子として前記仕様に基づく識別情報の位置および前記追加ビットの位置に含めて前記ホスト装置に出力するインバウンド変換部と、
を有し、
前記アウトバウンド変換部は、前記第1識別情報の上位nビットを破棄して前記n個の追加ビットを下位nビットとして含むよう前記第2識別情報を構成し、
前記インバウンド変換部は、前記第2識別情報を、前記第1識別情報に含まれていた前記上位nビットに基づいて、前記第1識別情報に変換する変換装置。
Connected to the host device and an input / output switch to which one or more input / output devices can be connected,
In the packet addressed to the input / output device input from the host device, each of the first identification information included as a destination identifier and constituting the identification information based on the specification of the input / output interface to which the input / output device conforms First identification information consisting of bits and n additional bits (n is an integer equal to or greater than 1) is converted into second identification information having the same bit width as the identification information based on the specification so that the information of the additional bits is included. An outbound conversion unit that includes the converted second identification information as an identifier of the destination in the position of the identification information based on the specification and outputs it to the input / output switch;
In the packet addressed to the host device input from the input / output switch, the second identification information included as the identifier of the source input / output device is converted into the original first identification information, and the converted first identification An inbound conversion unit that outputs information to the host device by including information in the position of identification information based on the specification and the position of the additional bit as an identifier of the transmission source;
I have a,
The outbound conversion unit configures the second identification information to discard the upper n bits of the first identification information and include the n additional bits as lower n bits,
The said inbound conversion part is a conversion apparatus which converts said 2nd identification information into said 1st identification information based on the said upper n bits contained in said 1st identification information .
ホスト装置と、1つ以上の入出力デバイスを接続可能な入出力スイッチとに接続され、
前記ホスト装置から入力される前記入出力デバイス宛のパケットにおいて、宛先の識別子として含まれる第1識別情報であって、前記入出力デバイスが準拠する入出力インタフェースの仕様に基づく識別情報を構成する各ビットおよびn個の追加ビット(nは1以上の整数)からなる第1識別情報を、前記追加ビットの情報が含まれるよう、前記仕様に基づく識別情報と同一ビット幅の第2識別情報に変換し、変換した第2識別情報を前記宛先の識別子として前記仕様に基づく識別情報の位置に含めて前記入出力スイッチに出力するアウトバウンド変換部と、
前記入出力スイッチから入力される前記ホスト装置宛のパケットにおいて、送信元の前記入出力デバイスの識別子として含まれる前記第2識別情報を元の前記第1識別情報に変換し、変換した第1識別情報を前記送信元の識別子として前記仕様に基づく識別情報の位置および前記追加ビットの位置に含めて前記ホスト装置に出力するインバウンド変換部と、
を有し、
前記入出力インタフェースがPCIe(Peripheral Component Interconnect Express)であるとき、
前記アウトバウンド変換部は、前記仕様に基づく識別情報としてのバス番号と、前記n個の追加ビットとしてのデバイス番号の上位nビットとからなる前記第1識別情報から、前記バス番号の上位nビットを破棄し、前記デバイス番号の上位nビットを下位nビットとして含むよう、前記第2識別情報を生成し、
前記インバウンド変換部は、自装置のセカンダリバスについて記憶しているバス番号の上位nビットを用いて、前記第2識別情報を元の前記第1識別情報に変換する変換装置。
Connected to the host device and an input / output switch to which one or more input / output devices can be connected,
In the packet addressed to the input / output device input from the host device, each of the first identification information included as a destination identifier and constituting the identification information based on the specification of the input / output interface to which the input / output device conforms First identification information consisting of bits and n additional bits (n is an integer equal to or greater than 1) is converted into second identification information having the same bit width as the identification information based on the specification so that the information of the additional bits is included. An outbound conversion unit that includes the converted second identification information as an identifier of the destination in the position of the identification information based on the specification and outputs it to the input / output switch;
In the packet addressed to the host device input from the input / output switch, the second identification information included as the identifier of the source input / output device is converted into the original first identification information, and the converted first identification An inbound conversion unit that outputs information to the host device by including information in the position of identification information based on the specification and the position of the additional bit as an identifier of the transmission source;
Have
When the input / output interface is PCIe (Peripheral Component Interconnect Express),
The outbound conversion unit obtains the upper n bits of the bus number from the first identification information including the bus number as identification information based on the specification and the upper n bits of the device number as the n additional bits. Discard, and generate the second identification information to include the upper n bits of the device number as the lower n bits,
The said inbound conversion part is a conversion apparatus which converts said 2nd identification information into said original 1st identification information using the upper n bits of the bus number memorize | stored about the secondary bus of an own apparatus.
前記アウトバウンド変換部は、前記パケットに、変換機能を有効にすることを示す情報が含まれる場合に、前記第1識別情報を前記第2識別情報に変換し、
前記インバウンド変換部は、前記アウトバウンド変換部において前記変換機能が有効である場合に、前記第2識別情報を元の前記第1識別情報に変換することを特徴とする請求項1または請求項2に記載の変換装置。
The outbound conversion unit converts the first identification information into the second identification information when the packet includes information indicating that the conversion function is enabled.
The inbound conversion unit converts the second identification information into the original first identification information when the conversion function is valid in the outbound conversion unit. The conversion device described.
請求項1から請求項のいずれか1項に記載の変換装置および前記入出力スイッチを介して自装置に接続される前記入出力デバイスに対して、前記第1識別情報を付与するデバイス初期化部と、
前記入出力デバイスに対して、前記第1識別情報を用いてアクセスするデバイスアクセス部と、
を有するホスト装置。
The device initialization which provides the said 1st identification information with respect to the said input / output device connected to a self-apparatus via the converter and the said input / output switch of any one of Claims 1-3 And
A device access unit that accesses the input / output device using the first identification information;
A host device.
請求項1から請求項のいずれか1項に記載の変換装置と、
前記入出力スイッチと、
を備えた入出力スイッチシステム。
The conversion device according to any one of claims 1 to 3 ,
The input / output switch;
Input / output switch system with
請求項に記載のホスト装置と、
請求項1から請求項のいずれか1項に記載の変換装置と、
前記入出力スイッチと、
を備えた情報処理システム。
A host device according to claim 4 ;
The conversion device according to any one of claims 1 to 3 ,
The input / output switch;
Information processing system with
ホスト装置と、1つ以上の入出力デバイスを接続可能な入出力スイッチとに接続されるコンピュータ装置
前記ホスト装置から入力される前記入出力デバイス宛のパケットにおいて、宛先の識別子として含まれる第1識別情報であって、前記入出力デバイスが準拠する入出力インタフェースの仕様に基づく識別情報を構成する各ビットおよびn個の追加ビット(nは1以上の整数)からなる第1識別情報を、前記追加ビットの情報が含まれるよう、前記仕様に基づく識別情報と同一ビット幅の第2識別情報に変換し、変換した第2識別情報を前記宛先の識別子として前記仕様に基づく識別情報の位置に含めて前記入出力スイッチに出力し、
前記入出力スイッチから入力される前記ホスト装置宛のパケットにおいて、送信元の前記入出力デバイスの識別子として含まれる前記第2識別情報を元の前記第1識別情報に変換し、変換した第1識別情報を前記送信元の識別子として前記仕様に基づく識別情報の位置および前記追加ビットの位置に含めて前記ホスト装置に出力し、
前記第1識別情報の上位nビットを破棄して前記n個の追加ビットを下位nビットとして含むよう前記第2識別情報を構成し、
前記第2識別情報を、前記第1識別情報に含まれていた前記上位nビットに基づいて、前記第1識別情報に変換する方法。
And the host device, one or more computer devices connected input and output devices to the input and output switch capable connection,
In the packet addressed to the input / output device input from the host device, each of the first identification information included as a destination identifier and constituting the identification information based on the specification of the input / output interface to which the input / output device conforms First identification information consisting of bits and n additional bits (n is an integer equal to or greater than 1) is converted into second identification information having the same bit width as the identification information based on the specification so that the information of the additional bits is included. The converted second identification information is included in the position of identification information based on the specification as the destination identifier and output to the input / output switch,
In the packet addressed to the host device input from the input / output switch, the second identification information included as the identifier of the source input / output device is converted into the original first identification information, and the converted first identification The information is included in the position of the identification information based on the specification and the position of the additional bit as an identifier of the transmission source and output to the host device ,
Configuring the second identification information to discard the upper n bits of the first identification information and include the n additional bits as lower n bits;
A method for converting the second identification information into the first identification information based on the upper n bits included in the first identification information .
ホスト装置と、1つ以上の入出力デバイスを接続可能な入出力スイッチとに接続されるコンピュータ装置に、
前記ホスト装置から入力される前記入出力デバイス宛のパケットにおいて、宛先の識別子として含まれる第1識別情報であって、前記入出力デバイスが準拠する入出力インタフェースの仕様に基づく識別情報を構成する各ビットおよびn個の追加ビット(nは1以上の整数)からなる第1識別情報を、前記追加ビットの情報が含まれるよう、前記仕様に基づく識別情報と同一ビット幅の第2識別情報に変換し、変換した第2識別情報を前記宛先の識別子として前記仕様に基づく識別情報の位置に含めて前記入出力スイッチに出力するアウトバウンド変換ステップと、
前記入出力スイッチから入力される前記ホスト装置宛のパケットにおいて、送信元の前記入出力デバイスの識別子として含まれる前記第2識別情報を元の前記第1識別情報に変換し、変換した第1識別情報を前記送信元の識別子として前記仕様に基づく識別情報の位置および前記追加ビットの位置に含めて前記ホスト装置に出力するインバウンド変換ステップと、
を実行させ
前記アウトバウンド変換ステップにおいて、前記コンピュータ装置に、前記第1識別情報の上位nビットを破棄して前記n個の追加ビットを下位nビットとして含むよう前記第2識別情報を構成させ、
前記インバウンド変換ステップにおいて、前記コンピュータ装置に、前記第2識別情報を、前記第1識別情報に含まれていた前記上位nビットに基づいて、前記第1識別情報に変換させるプログラム。
A computer device connected to a host device and an input / output switch to which one or more input / output devices can be connected;
In the packet addressed to the input / output device input from the host device, each of the first identification information included as a destination identifier and constituting the identification information based on the specification of the input / output interface to which the input / output device conforms First identification information consisting of bits and n additional bits (n is an integer equal to or greater than 1) is converted into second identification information having the same bit width as the identification information based on the specification so that the information of the additional bits is included. An outbound conversion step of including the converted second identification information in the position of identification information based on the specification as an identifier of the destination and outputting the identification information to the input / output switch;
In the packet addressed to the host device input from the input / output switch, the second identification information included as the identifier of the source input / output device is converted into the original first identification information, and the converted first identification An inbound conversion step of including information in the position of the identification information based on the specification and the position of the additional bit as an identifier of the transmission source and outputting the information to the host device;
Was executed,
In the outbound conversion step, the computer apparatus is configured to configure the second identification information to discard the upper n bits of the first identification information and include the n additional bits as lower n bits,
Wherein the inbound conversion step, the computer device, the second identification information, on the basis of the said upper n bits contained in the first identification information, program Ru is converted to the first identification information.
コンピュータ装置
請求項1から請求項のいずれか1項に記載の変換装置および前記入出力スイッチを介して自装置に接続される前記入出力デバイスに対して、前記第1識別情報を付与し、
前記入出力デバイスに対して、前記第1識別情報を用いてアクセスする方法。
Computer device,
Claims 1 via the conversion device and said input switch according to any one of claims 3 to the input-output device connected to the own device, and applying the first identification information,
A method of accessing the input / output device using the first identification information.
JP2017057747A 2017-03-23 2017-03-23 Conversion device, host device, input / output switch system, information processing system, method and program Active JP6579140B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017057747A JP6579140B2 (en) 2017-03-23 2017-03-23 Conversion device, host device, input / output switch system, information processing system, method and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017057747A JP6579140B2 (en) 2017-03-23 2017-03-23 Conversion device, host device, input / output switch system, information processing system, method and program

Publications (2)

Publication Number Publication Date
JP2018160163A JP2018160163A (en) 2018-10-11
JP6579140B2 true JP6579140B2 (en) 2019-09-25

Family

ID=63796702

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017057747A Active JP6579140B2 (en) 2017-03-23 2017-03-23 Conversion device, host device, input / output switch system, information processing system, method and program

Country Status (1)

Country Link
JP (1) JP6579140B2 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105073434B (en) 2012-12-27 2017-12-26 科迪华公司 For pad-ink fixing fabric structure with the method and system of the deposits fluid in precision tolerance
US11673155B2 (en) 2012-12-27 2023-06-13 Kateeva, Inc. Techniques for arrayed printing of a permanent layer with improved speed and accuracy
KR102221640B1 (en) 2013-12-12 2021-03-03 카티바, 인크. Ink-based layer fabrication using halftoning to control thickness
WO2023112646A1 (en) * 2021-12-16 2023-06-22 日本電気株式会社 Information processing device, and method for controlling information processing device

Also Published As

Publication number Publication date
JP2018160163A (en) 2018-10-11

Similar Documents

Publication Publication Date Title
JP6579140B2 (en) Conversion device, host device, input / output switch system, information processing system, method and program
JP5360607B2 (en) PCI express switch, PCI express system, and network control method
US6996658B2 (en) Multi-port system and method for routing a data element within an interconnection fabric
CN111092773B (en) PCIE (peripheral component interface express) switching chip port configuration system and method supporting virtual switching
CN100580648C (en) Method and apparatus for transformation of identifier within communication packets
US9025495B1 (en) Flexible routing engine for a PCI express switch and method of use
JP5452733B2 (en) Computer system and routing control method
US20130151750A1 (en) Multi-root input output virtualization aware switch
JP5267943B2 (en) PCI-Express communication system and PCI-Express communication method
US10162780B2 (en) PCI express switch and computer system using the same
US10698849B2 (en) Methods and apparatus for augmented bus numbering
US9921970B2 (en) Multi-level paging and address translation in a network environment
US20100250807A1 (en) Switch system, sub-switch and method of controlling switch system
US10467179B2 (en) Method and device for sharing PCIe I/O device, and interconnection system
US10169279B2 (en) Input/output control device, input/output control system, and input/output control method for conversion of logical address of instruction into local address of device specified in instruction
WO2012157103A1 (en) Multi-route switch, computer, and inter-computer communication method
US7447208B2 (en) Configuration access mechanism for packet switching architecture
US20090235048A1 (en) Information processing apparatus, signal transmission method, and bridge
US6842817B2 (en) Method for generating configuration tables and for forwarding packets through a network
JP5483020B2 (en) Communication control apparatus, network, and network system
US20200341928A1 (en) Information processing system
CN112711557B (en) Interface module of processor, operation method thereof and processor
WO2023112646A1 (en) Information processing device, and method for controlling information processing device
JP4529231B2 (en) Electronics
JP2023143302A (en) Relay device and relay method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180713

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190425

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190521

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190711

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20190730

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190812

R150 Certificate of patent or registration of utility model

Ref document number: 6579140

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150