JP5930046B2 - Information processing apparatus and control method of information processing apparatus - Google Patents
Information processing apparatus and control method of information processing apparatus Download PDFInfo
- Publication number
- JP5930046B2 JP5930046B2 JP2014530424A JP2014530424A JP5930046B2 JP 5930046 B2 JP5930046 B2 JP 5930046B2 JP 2014530424 A JP2014530424 A JP 2014530424A JP 2014530424 A JP2014530424 A JP 2014530424A JP 5930046 B2 JP5930046 B2 JP 5930046B2
- Authority
- JP
- Japan
- Prior art keywords
- port
- unit
- processing unit
- ntb
- communication
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5077—Logical partitioning of resources; Management or configuration of virtualized resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/17—Interprocessor communication using an input/output type connection, e.g. channel, I/O port
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/24—Handling requests for interconnection or transfer for access to input/output bus using interrupt
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5011—Pool
Description
本発明は、情報処理装置、及び情報処理装置の制御方法に関する。 The present invention relates to an information processing apparatus and a control method for the information processing apparatus.
サーバ等の情報処理装置は、複数のCPU(Central Processing Unit)を搭載し、CPUどうしをQPI(Quick Path Interconnect), HT(Hyper Transport)等によってポイントツーポイント接続し、物理パーティショニング機能を有する形態をとる場合がある。 An information processing apparatus such as a server has a plurality of CPUs (Central Processing Units), has a physical partitioning function by connecting the CPUs to each other by QPI (Quick Path Interconnect), HT (Hyper Transport), etc. May be taken.
例えば、図14は、物理パーティショニング機能を有する情報処理装置(サーバ)100の基本構成を示すブロック図である。図14に示すサーバ100には、4つのCPU101A〜101Dが搭載されている。なお、4つのCPUのうちの一つを特定する場合、符号101A〜101Dを用い、任意のCPUを指す場合、符号101を用いる。各CPU101は、2つのCPUインターコネクトポート102を有し、4つのCPU101A〜101Dは、CPUインターコネクトポート102およびCPUインターコネクトライン103を介してリング状に接続されている。
For example, FIG. 14 is a block diagram illustrating a basic configuration of an information processing apparatus (server) 100 having a physical partitioning function. The
図14に示す例では、サーバ100が物理パーティショニング機能により2つの物理サーバに分割され、2つのCPU101A,101Bと2つのCPU101C,101Dとが、それぞれ異なるパーティション#0,#1に割り当てられている。このとき、パーティション#0に属する2つのCPU101A,101B間のCPUインターコネクトライン103や、パーティション#1に属する2つのCPU101C,101D間のCPUインターコネクトライン103は、通常通り使用される。一方、異なるパーティション#0,#1にまたがるCPUインターコネクトライン103、つまりCPU101A,101D間およびCPU101B,101C間のライン103は、物理的に接続されたまま使用されないか、あるいは、CPUインターコネクトライン103への出力がセーブまたはパワーオフした状態に保たれる。
In the example shown in FIG. 14, is divided into two physical servers by the
図14に示すようにパーティションによって分断された2つのCPU101A,101D間でのデータ通信は、CPU101A,101D間におけるCPUインターコネクトライン103を使用することなく、例えば、図15または図16に示す形態で行なわれる。図15および図16は、それぞれ、パーティション間の通信形態の一例および他例を示すブロック図である。
As shown in FIG. 14, the data communication between the two
図15に示す通信形態の一例では、各CPU101の配下にPCIExpress(登録商標;PCIe(登録商標);Peripheral Components Interconnect express)スイッチ104がそなえられ、各PCIeスイッチ104のカードスロット104aにNIC(Network Interface Card)105が搭載される。そして、異なるパーティション#0,#1にそれぞれ属するNIC105,105が、ケーブル106を用いてEthernet(登録商標)経由で接続される。これにより、異なるパーティション#0,#1にそれぞれ属するCPU101A,101D間でのデータ通信が行なわれる。
In the example of the communication form shown in FIG. 15, a PCI Express (registered trademark; PCIe (registered trademark); Peripheral Components Interconnect express)
図16に示す通信形態の他例では、2つのパーティション#0,#1にそれぞれ属するCPU101A,101Dによって共用され且つパーティション分割機能およびNTB(Non-Transparent Bridge)ポート104bを有するPCIeスイッチ104′がそなえられる。そして、PCIeスイッチ104′のNTBポート104bを用い、異なるパーティション#0,#1にそれぞれ属するCPU101A,101D間でのデータ通信が行なわれる。なお、NTBポートとは、PCI仕様において、異なる2つのパーティション間やホスト間でデータを共有するための機能を果たすもので、メモリマップされた空間をポート内に有し、その空間を利用してパーティション間やホスト間でのデータのやりとりが可能なポートである。
In the other example of the communication form shown in FIG. 16, a
図15に示す通信形態では、異なる2つのパーティション#0,#1間のデータ通信を実現するために、別途、2枚のNIC105とケーブル106とを用意する必要がある。また、図16に示す通信形態では、異なる2つのパーティション#0,#1間で共有するスイッチ104′が必要になる。どちらの通信形態においても、異なるパーティションのCPU101A,101D間で通信をする際にスイッチ104,104′やネットワークを経由することになるため、CPUインターコネクトを使用するよりも通信性能は劣る。このように同一サーバ100内の別パーティションに属するCPU101どうしが通信する場合、低レイテンシで高バンド幅のインターフェイス(CPUインターコネクトライン103)が存在するにも関わらず活用されておらず、NIC105やPCIeスイッチ104,104′等を介して通信が行なわれており、極めて効率が悪い。
In the communication form shown in FIG. 15, it is necessary to prepare two
一つの側面で、本発明は、異なるパーティションに属する処理部間の通信を効率よく実現することを目的とする。 In one aspect, an object of the present invention is to efficiently realize communication between processing units belonging to different partitions.
一つの案では、情報処理装置は、複数の処理部と、前記複数の処理部に対しパーティション構成に則した設定を行なう設定部と、を備え、前記複数の処理部のそれぞれは、他の処理部に接続され前記他の処理部との通信を行なうポートを有している。前記ポートは、第1通信部,第2通信部および選択部を有している。前記第1通信部は、前記ポートの属する処理部と同一パーティションに属する処理部との通信を行なう。前記第2通信部は、前記ポートの属する処理部と異なるパーティションに属する処理部との通信を行なう。前記選択部は、前記設定部による前記設定に応じて前記第1通信部と前記第2通信部とのいずれか一方を選択し、選択した通信部に前記他の処理部との通信を実行させる。 In one proposal, the information processing apparatus includes a plurality of processing units and a setting unit configured to perform settings according to a partition configuration for the plurality of processing units, and each of the plurality of processing units includes other processing units. And a port for communicating with the other processing unit. The port includes a first communication unit, a second communication unit, and a selection unit. The first communication unit communicates with a processing unit belonging to the same partition as the processing unit to which the port belongs. The second communication unit communicates with a processing unit belonging to a partition different from the processing unit to which the port belongs. The selection unit selects one of the first communication unit and the second communication unit according to the setting by the setting unit, and causes the selected communication unit to perform communication with the other processing unit. .
一実施形態によれば、異なるパーティションに属する処理部間の通信を効率よく実現することができる。 According to one embodiment, communication between processing units belonging to different partitions can be efficiently realized.
以下、図面を参照して実施の形態を説明する。
〔1〕第1実施形態の情報処理装置(サーバ)
〔1−1〕第1実施形態の基本的な構成
まず、図1〜図3を参照しながら、第1実施形態としての情報処理装置(サーバ)1の構成および機能について説明する。なお、図1は、第1実施形態のサーバ1の要部構成を示すブロック図、図2は、図1に示す要部構成を適用される、第1実施形態のサーバ1の全体構成を概略的に示すブロック図である。また、図3は、図2に示すシステムファームウエア(設定部)40および図1に示すマルチプレクサ(選択部)25の機能を説明するフローチャート(ステップS1〜S7)である。Hereinafter, embodiments will be described with reference to the drawings.
[1] Information processing apparatus (server) of the first embodiment
[1-1] Basic Configuration of the First Embodiment First, the configuration and function of the information processing apparatus (server) 1 as the first embodiment will be described with reference to FIGS. FIG. 1 is a block diagram illustrating the main configuration of the
図1および図2に示すサーバ1には、4つのCPU(処理部)10A〜10Dが搭載されている。ここで、4つのCPUのうちの一つを特定する場合、符号10A〜10Dを用い、任意のCPUを指す場合、符号10を用いる。CPU10どうしは、QPI,HT等によってポイントツーポイント接続される。また、各CPU10は、2つのCPUインターコネクトポート20を有し、4つのCPU10A〜10Dは、CPUインターコネクトポート20およびCPUインターコネクトライン11を介してリング状に接続されている。
The
各CPU10において、CPUインターコネクトポート(以下、単にポートという場合がある)20には、CPU内部バス50を介して、プロセッサコア60(図7,図9,図10参照)や、メモリまたはI/O(Input/Output)装置70(図7,図9参照)が接続されている。
In each
また、サーバ1は、物理パーティショニング機能を有しており、4つのCPU10A〜10Dに対しパーティション構成に則した設定を行なうシステムファームウエア(F/W;設定部)40を有している(図2,図4,図5参照)。システムF/W40は、ネットワーク90を介しユーザによって操作可能に構成されている。さらに、各CPU10のチップ上において、2つのポート20のそれぞれにポートモード選択レジスタ(以下、単にレジスタという場合がある)30が付設されている。レジスタ30は、ポート20の動作モードを設定するためのもので、レジスタ30には、システムF/W40によって、CPU内部バス50を介し、ユーザからの指示により物理パーティション構成と図4および図5を参照しながら後述する第1情報または第2情報とが設定される。
The
各CPU10におけるポート20は、CPU10のチップ上に備えられ、CPUインターコネクトライン11を介して他のCPU10に接続され、他の処理部10との通信を行なう。ポート20内において、CPUインターコネクトライン11とCPU内部バス50との間には、物理層21,データリンク層22,CPUインターコネクト上位層23,PCIe-NTBポート上位層24およびマルチプレクサ25が備えられている。
A
ポート20において、物理層21,データリンク層22およびCPUインターコネクト上位層23は、CPUインターコネクトライン11とCPU内部バス50との間に備えられる既存の構成である。第1実施形態のポート20では、当該既存の構成に対し、PCIe-NTBポート上位層24およびマルチプレクサ25が追加されている。
In the
ここで、データリンク層22よりも上位のCPUインターコネクト上位層23は、当該ポート20の属するCPU10と同一パーティションに属するCPU10との通信を行なう第1通信部として機能する。このとき、CPUインターコネクト上位層23は、CPUインターコネクトポート20を、同一パーティションに属する他のCPU10との間で全てのメモリアクセスについてメモリ空間を共有するための通信を実行するポートとして機能させる。
Here, the CPU interconnect
一方、PCIe-NTBポート上位層24は、CPUインターコネクト上位層23と並列的に備えられ、当該ポート20の属するCPU10と異なるパーティションに属するCPU10との通信を行なう第2通信部として機能する。このとき、PCIe-NTBポート上位層24は、CPUインターコネクトポート20を、PCIデバイスのNTB(Non-Transparent Bridge)ポートとして機能させる。NTBポートは、異なるパーティションに属する他のCPU10との間で当該ポート20の属するCPU10を成すプロセッサコア60によって明示的に指示された通信を実行する。
On the other hand, the PCIe-NTB port
また、並列的に備えられた上位層23,24と、データリンク層22との間には、マルチプレクサ25が備えられている。マルチプレクサ25は、システムF/W40による設定に応じて、CPUインターコネクト上位層23とPCIe-NTBポート上位層24とのいずれか一方を選択し、選択した上位層(通信部)23または24に他のCPU10との通信を実行させる選択部として機能する。
A multiplexer 25 is provided between the
システムF/W40は、ネットワーク90を介してユーザから物理パーティションニングについての指示を受けると(図3のステップS1のYESルート参照)、4つのCPU10A〜10Dに対し、当該指示によるパーティション構成に則した設定を行なう(図3のステップS2参照)。その際、システムF/W40は、例えば図4または図5に示すように、ポート20毎に備えられるレジスタ30に対し、第1情報または第2情報の設定を行なう(図3のステップS3,S4)。ここで、第1情報は、ポート20と接続される他のCPU10が同一パーティションに属することを示す値で、例えば“0”である。第2情報は、ポート20と接続される他のCPU10が異なるパーティションに属することを示す値で、例えば“1”である。
When the system F /
マルチプレクサ25は、レジスタ30に第1情報“0”が設定されている場合(図3のステップS5の“0”ルート参照)、CPUインターコネクト上位層23を選択するようデータのパスを切り換え、ポート20をCPUインターコネクトポートとして機能させる(図3のステップS6参照)。一方、マルチプレクサ25は、レジスタ30に第2情報“1”が設定されている場合(図3のステップS5の“1”ルート参照)、PCIe-NTBポート上位層24を選択するようデータのパスを切り換え、ポート20をNTBポートとして機能させる(図3のステップS7参照)。
When the first information “0” is set in the register 30 (see the “0” route in step S5 in FIG. 3), the multiplexer 25 switches the data path so as to select the CPU interconnect
〔1−2〕第1実施形態の基本的な動作および効果
次に、上述のような構成を有するサーバ1の基本的な動作について、図4および図5を参照しながら説明する。
ここで、図4は、サーバ1の1パーティション状態を示すブロック図である。図4に示す状態では、4つのCPU10A〜10Dは同一パーティションに属しているので、システムF/W40により、4つのCPU10A〜10Dにおける全てのレジスタ30に第1情報“0”が設定される。これに伴い、マルチプレクサ25によって、CPUインターコネクト上位層23が選択されるようデータのパスが切り換えられ、全てのポート20は、通常のCPUインターコネクトポートとして機能する。したがって、同一パーティションに属する他のCPU10との間で全てのメモリアクセスについてメモリ空間を共有するための通信が実行される。[1-2] Basic Operation and Effect of First Embodiment Next, the basic operation of the
Here, FIG. 4 is a block diagram showing a one-partition state of the
また、図5は、サーバ1の2パーティション状態を示すブロック図である。図5に示す状態では、サーバ1が物理バーティショニング機能により2つの物理サーバに分割され、2つのCPU10A,10Bと2つのCPU10C,10Dとが、それぞれ異なるパーティション#0,#1に割り当てられている。
FIG. 5 is a block diagram showing a two-partition state of the
この場合、同一パーティション#0に属するCPU10A,10Bを相互に接続するポート20に対応するレジスタ30には、システムF/W40により、第1情報“0”が設定される。これに伴い、マルチプレクサ25により、当該ポート20ではCPUインターコネクト上位層23が選択されるようデータのパスが切り換えられ、当該ポート20は、通常のCPUインターコネクトポートとして機能する。したがって、同一パーティションに属するCPU10A,10B間で全てのメモリアクセスについてメモリ空間を共有するための通信が実行される。同一パーティション#1に属するCPU10C,10Dについても上述と同様の設定・選択が行なわれ、CPU10C,10D間で全てのメモリアクセスについてメモリ空間を共有するための通信が実行される。
In this case, the first information “0” is set by the system F /
一方、異なるパーティション#0,#1に属するCPU10A,10Dを相互に接続するポート20に対応するレジスタ30には、システムF/W40により、第2情報“1”が設定される。これに伴い、マルチプレクサ25により、当該ポート20ではPCIe-NTBポート上位層24が選択されるようデータのパスが切り換えられ、当該ポート20は、NTBポートとして機能する。つまり、通常、未使用になるCPUインターコネクトポート20をNTBポートとして用いることが可能になる。したがって、NTBポートを介し、異なるパーティション#0,#1に属するCPU10A,10D間でCPU10Aまたは10Dを成すプロセッサコア60によって明示的に指示された通信が実行される。異なるパーティション#0,#1に属するCPU10B,10Cについても上述と同様の設定・選択が行なわれ、CPU10B,10C間でCPU10Bまたは10Cを成すプロセッサコア60によって明示的に指示された通信が実行される。
On the other hand, the second information “1” is set by the system F /
上述のように、PCIe-NTBポート上位層24を選択し未使用だったポート20をNTBポートとして機能させ通信を実行することで、ポート20と他のCPU10との間に通信パスが確立される。このように確立された通信パスは、メモリミラーリングパスおよびフェイルオーバーパスの少なくとも一方として用いることができる。
As described above, a communication path is established between the
図14を参照しながら前述したように、サーバ100がパーティショニング機能で複数の物理サーバに分割されて使用されているときに、サーバ100中の2つのCPU101が別々のパーティション#0,#1に割り当てられている。この場合、通常、当該2つのCPU101を結ぶポイントツーポイントのCPUインターコネクト(ポート102およびライン103)は未使用となる。
As described above with reference to FIG. 14, when the
これに対し、第1実施形態のサーバ1によれば、従来、異なるパーティションに属するCPUどうしを接続する場合に未使用になっていたCPUインターコネクトポート20がPCIデバイスのNTBポートとして機能することになる。これにより、異なるパーティション#0,#1に属するCPU10A,10D間またはCPU10B,10C間に通信パスが確立され、異なるパーティション間でのメモリミラーリングパスやフェイルオーバーパスとして利用される。したがって、従来、使用していなかったCPUインターコネクト(ポート20およびライン11)を利用して、異なるパーティションに属するCPU10,10間の通信を効率よく実現することができる。
On the other hand, according to the
上述したNTBポートは、前述したように、PCI仕様において、異なる2つのパーティション間やホスト間でデータを共有するための機能を果たすもので、メモリマップされた空間をポート内に有し、その空間を利用してパーティション間やホスト間でのデータのやりとりが可能なポートである。 As described above, the NTB port described above fulfills a function for sharing data between two different partitions or between hosts in the PCI specification, and has a memory-mapped space in the port. It is a port that can exchange data between partitions and between hosts using.
〔1−3〕PCIe-NTBポート上位層(第2通信部)の詳細構成および動作
ついで、このようなNTBポートを実現するPCIe-NTBポート上位層(第2通信部)24の詳細構成(内部構造)および動作について、図6〜図11を参照しながら説明する。[1-3] Detailed Configuration and Operation of PCIe-NTB Port Upper Layer (Second Communication Unit) Next, detailed configuration of PCIe-NTB port upper layer (second communication unit) 24 for realizing such an NTB port (internal) Structure) and operation will be described with reference to FIGS.
図6は、PCIe-NTBポート上位層24の詳細構成を示すブロック図である。図6に示すように、PCIe-NTBポート上位層24は、CPU内部バスインターフェイス(I/F)241,PCIe-NTBトランザクション層242およびCPUインターコネクトデータリンクインターフェイス(I/F)243を有している。
FIG. 6 is a block diagram showing a detailed configuration of the PCIe-NTB port
CPU内部バスI/F(第1インターフェイス)241は、CPU内部バス50を介しプロセッサコア60と接続される。CPU内部バスI/F241は、キャッシュプロトコル制御を行なうとともに、プロセッサコア60側のデータ(DATAおよびCMD (command))とトランザクション層242側のPCIe使用に準拠したデータとの間の変換を行なう。つまり、CPU内部バスI/F241は、プロセッサコア60側のキャッシュラインサイズのデータを、トランザクション層242側のPCIeペイロードサイズのデータに分割/結合する機能を果たす。また、CPU内部バスI/F241は、トランザクション層242側のPCIeペイロードサイズのデータを、プロセッサコア60側のキャッシュラインサイズのデータに分割/結合する機能を果たす。
The CPU internal bus I / F (first interface) 241 is connected to the
なお、CPU内部バスI/F241は、バッファ241a〜241dを有している。バッファ241aは、CPU内部バス50(プロセッサコア60)からのコマンドCMD(RX)を受信し、変換後のコマンドは、バッファ241aからトランザクション層242へ出力される。同様に、バッファ241bは、CPU内部バス50(プロセッサコア60)からのデータDATA(RX)を受信し、変換後のデータは、バッファ241bからトランザクション層242へ出力される。また、バッファ241cは、トランザクション層242からのコマンドを受信し、変換後のコマンドCMD(TX)は、バッファ241cからCPU内部バス50を介してプロセッサコア60またはメモリ70へ送信される。同様に、バッファ241dは、トランザクション層242からのデータを受信し、変換後のデータDATA(TX)は、バッファ241dからCPU内部バス50を介してプロセッサコア60またはメモリ70へ送信される。
The CPU internal bus I / F 241 includes
CPUインターコネクトデータリンクI/F(第2インターフェイス)243は、マルチプレクサ25,データリンク層22,物理層21およびCPUインターコネクトライン11を介して他のCPU10と接続される。CPUインターコネクトデータリンクI/F243は、トランザクション層242で生成されたTLP(Transaction Layer Packet)の分割/再構成を行なう。TLPのパケット長とCPUインターコネクトで規定された最大パケット長とが必ずしも一致するとは限らないため、トランザクション層242は、必要に応じてTLPの分割あるいは結合を行なう。TLPのパケット分割およびカプセル化については、項目〔1−6〕において図11を参照しながら後述する。
The CPU interconnect data link I / F (second interface) 243 is connected to another
なお、CPUインターコネクトデータリンクI/F243は、バッファ243a,243bを有している。バッファ243aは、トランザクション層242からのTLPを受信し、分割後または結合後のパケットは、バッファ243aからマルチプレクサ25,データリンク層22,物理層21およびCPUインターコネクトライン11を介して他のCPU10へ送信される。また、バッファ243bは、他のCPU10からのパケットを受信し、分割または結合によって得られたTLPは、バッファ243bからトランザクション層242へ送出される。
The CPU interconnect data link I /
PCIe-NTBトランザクション層242は、CPU内部バスI/F241とCPUインターコネクトデータリンクI/F243との間に配置され、TLPの生成/解体(assemble/disassemble)およびアドレス変換を行なう。このため、トランザクション層242は、PCIコンフィグレーションレジスタ242a,メモリマップドI/O(MMIO)レジスタ242b,アドレス変換部242c,TLP生成部242d,TLP解体部242eおよびアドレス変換部242fを有している。
The PCIe-
PCIコンフィグレーションレジスタ242aは、PCIe使用に準拠したレジスタセットである。
The
MMIOレジスタ242bは、項目〔1−4〕,〔1−5〕において図7,図9,図10を参照しながら後述する、下記6種類のレジスタ242b−1〜242b−6を有している。
・ベースアドレスレジスタ(BAR;アドレス変換用レジスタ)242b−1
・リミットアドレスレジスタ(LAR;アドレス変換用レジスタ)242b−2
・送信用ドアベルレジスタ(送信用割込みレジスタ)242b−3
・受信用ドアベルレジスタ(受信用割込みレジスタ)242b−4
・送信用スクラッチパッドレジスタ(送信用交換情報レジスタ)242b−5
・受信用スクラッチパッドレジスタ(受信用交換情報レジスタ)242b−6The
Base address register (BAR; address conversion register) 242b-1
Limit address register (LAR; address conversion register) 242b-2
Transmission doorbell register (transmission interrupt register) 242b-3
Reception doorbell register (reception interrupt register) 242b-4
Transmission scratch pad register (transmission exchange information register) 242b-5
Reception scratch pad register (reception exchange information register) 242b-6
アドレス変換部242cは、他のCPU10へ送信すべきデータについて、項目〔1−4〕において図7〜図9を参照しながら後述するごとく、プロセッサコア60からのコマンドおよびMMIOレジスタ242bの値に基づきアドレス変換を行なう。
TLP生成部242dは、アドレス変換部242cで得られた情報に基づき、他のCPU10へ送信すべきデータを含むTLPを生成し、CPUインターコネクトデータリンクI/F243へ出力する。The
The
TLP解体部242eは、他のCPU10から受信したTLPを解体(ディスアセンブル)することによりアドレス情報および受信データを得て、アドレス情報をアドレス変換部242fへ出力する一方、受信データをCPU内部バスI/F241(バッファ241d)へ出力する。
アドレス変換部242fは、TLP解体部242eから受信したアドレス情報について、項目〔1−4〕において図7〜図9を参照しながら後述するごとく、MMIOレジスタ242bの値に基づきアドレス変換を行ない、変換結果をコマンドとしてCPU内部バスI/F241(バッファ241c)へ出力する。The
The
ここで、上述のごとく構成されるPCIe-NTBポート上位層24の動作について簡単に説明する。
PCIe-NTBポート上位層24がポート20をNTBポートとして用い他のCPU10へのデータ送信を行なう場合、まず、CPU内部バスI/F241は、他のCPU10へのデータをPCI仕様に準拠するデータに変換する。そして、トランザクション層242は、CPU内部バスI/F241からのデータに基づきTLPを生成する。この後、CPUインターコネクトデータリンクI/F243は、トランザクション層242からのTLPを、ポート20と他のCPU10との間の通信仕様(CPUインターコネクト)に準拠するパケットに変換する。Here, the operation of the PCIe-NTB port
When the PCIe-NTB port
一方、PCIe-NTBポート上位層24がポート20をNTBポートとして用い他のCPU10からのデータ受信を行なう場合、まず、CPUインターコネクトデータリンクI/F243は、他のCPU10からのパケットをTLPに変換する。そして、トランザクション層242は、CPUインターコネクトデータリンクI/F243からのTLPに基づき、PCI仕様に準拠するデータを生成する。この後、CPU内部バスI/F241は、トランザクション層242からのデータをプロセッサコア60またはメモリ(I/O装置)70へのデータに変換する。
On the other hand, when the PCIe-NTB port
〔1−4〕アドレス変換
次に、図7〜図9を参照しながら、PCIe-NTBトランザクション層242のアドレス変換部242c,242fによるアドレス変換機能について説明する。各物理パーティション#0,#1は別のメモリ空間を有するため、一般的にNTBポートは、アドレス変換機能が必要になる。アドレス変換機能は、PCIe-NTBトランザクション層242において、MMIOレジスタ242b(レジスタ242b−1,242b−2)の設定値に基づき、アドレス変換部242c,242fによって実現される。[1-4] Address Conversion Next, the address conversion function by the
まず、図7を参照しながら、上記アドレス変換機能を用いて、パーティション#0のプロセッサコア60からパーティション#1のメモリ(I/O装置)70に対し書込データの転送(Write転送)を行なう場合の手順(A1)〜(A4)について説明する。なお、図7は、図6に示すトランザクション層242のアドレス変換部242c,242fによるアドレス変換機能を説明するブロック図である。図7では、パーティション#0に属するCPU10Aのプロセッサコア60からパーティション#1に属するCPU10Dのメモリ70への書込データの転送が示されている。
First, referring to FIG. 7, using the above address conversion function, write data is transferred from the
(A1)送信側のパーティション#0のプロセッサコア60は、パーティション#1のメモリ70宛に送りたい書込データを、パーティション#0のNTBのBAR242b−1を宛先として書き込む。この時のアドレスをAとする。このアドレスAは、パーティション#0のメモリ空間に属するアドレスである。
(A1) The
(A2)パーティション#0のPCIe-NTBポート上位層24におけるアドレス変換部242cは、書込アドレスが下限値と上限値との間の範囲内にあることを確認し、アドレス変換を行なう。このとき、BAR242b−1の設定値(下限値)をBとすると、アドレス変換部242cは、アドレスAが設定値B以上で且つLAR242b−2に設定された上限値以下であることを確認した上で、A−Bで示される値を変換後のアドレスとして出力する。変換後のアドレスA−Bは、CPUインターコネクトアドレス空間に属するアドレスである。
(A2) The
(A3)データを受け取ったパーティション#1のPCIe-NTBポート上位層24におけるアドレス変換部242fは、受信したデータのアドレスA−Bを、パーティション#1のメモリ空間のアドレスに変換する。このとき、パーティション#1のBAR242b−1の設定値(下限値;ターゲットアドレス(TA))をCとすると、変換後のアドレスはA−B+Cとなり、このアドレスA−B+Cは、パーティション#1のメモリ空間に属するアドレスである。
(A3) The
(A4)パーティション#1のPCIe-NTBポート上位層24は、CPU内部バス50を介して、メモリ(I/O装置)70に対し、A−B+CをアドレスとしてDMA(Direct Memory Address)を実行する。
(A4) The PCIe-NTB port
ついで、図8および図9を参照しながら、上記アドレス変換機能を用いて、パーティション#0のプロセッサコア60からパーティション#1のメモリ(I/O装置)70に対する読出アクセス(Read転送)を行なう場合の手順(B1)〜(B6)について説明する。なお、図8は、トランザクションID(identification)の内容を示す図、図9は、図6に示すトランザクション層242のアドレス変換部242fによるタグ変換/逆変換機能およびトランザクションID変換/逆変換機能を説明するブロック図である。図9では、パーティション#0に属するCPU10Aのプロセッサコア60からパーティション#1に属するCPU10Dのメモリ70に対する読出アクセスが示されている。
Next, referring to FIG. 8 and FIG. 9, a read access (Read transfer) from the
読出アクセス(Read転送)の場合も、読出対象のアドレスについてのアドレス変換は、図7を参照しながら上述した手順(A1)〜(A4)と同様に行なわれる。ただし、読出アクセスの場合、読出データがパーティション#1からパーティション#0の方向へ転送される。要求元のパーティション#0のプロセッサコア60が、パーティション#1からの応答がどの要求に対する応答かを識別できるように、読出データのトランザクションIDは、読出要求(Read Request)のトランザクションIDと一対一で対応付けられている。図8に示すように、トランザクションIDは、リクエスタ(Requester)IDとタグとから構成される。リクエスタID(RID)は、バス番号,デバイス番号,ファンクション番号を含む読出要求元の情報(プロセッサコア60のID)である。タグは、例えば、プロセッサコア60により要求毎に生成される、シーケンシャルな番号である。以下、図9および手順(B1)〜(B6)では、リクエスタID(RID)およびタグの変換手順を説明する。
Also in the case of read access (Read transfer), address conversion for the read target address is performed in the same manner as the procedures (A1) to (A4) described above with reference to FIG. However, in the case of read access, read data is transferred from
(B1)送信側のパーティション#0のプロセッサコア60は、自身のリクエスタIDで読出要求をパーティション#0のPCIe-NTBポート上位層24に要求する。
(B1) The
(B2)読出要求を受け取ったパーティション#0のPCIe-NTBポート上位層24は、自身が受け取っている読出要求を一意に識別できるように、アドレス変換部242cにより、受け取ったトランザクションIDのうちタグを付け替えるタグ変換を行なう。これにより、PCIe-NTBポート上位層24は、タグのみで、読出要求と読出データとの対応を一意に認識できる。このとき、タグ変換前の元のトランザクションIDとタグ変換後のタグの値とは対応付けられて第1テーブル(図示略)に記憶される。この後、パーティション#0のPCIe-NTBポート上位層24は、タグ変換後のトランザクションIDを含む読出要求を、パーティション#1のPCIe-NTBポート上位層24に転送する。
(B2) The PCIe-NTB port
(B3)読出要求を受け取ったパーティション#1のPCIe-NTBポート上位層24におけるアドレス変換部242fは、受け取った読出要求のトランザクションIDのうちリクエスタID(パーティション#0のプロセッサコア60のID)をパーティション#1側のリクエスタIDに付け替えるRID変換を行なう。このパーティション#1側のリクエスタIDは、読出要求に対するメモリ70からの応答(読出データ/完了通知;Read Data / Completion)がパーティション#1のPCIe-NTBポート上位層24に戻ってきた際に使用される。このとき、パーティション#1のPCIe-NTBポート上位層24において、RID変換前のトランザクションIDは第2テーブル(図示略)に記憶される。
(B3) The
(B4)パーティション#1のメモリ(I/O装置)70からPCIe-NTBポート上位層24へ、読出データ(完了通知)が応答される。
(B4) Read data (completion notice) is returned from the memory (I / O device) 70 of the
(B5)パーティション#1のPCIe-NTBポート上位層24におけるアドレス変換部242cは、タグをキーにして上記第2テーブルにおけるRID変換前のトランザクションIDを検索し、受け取った読出データのリクエスタIDを元のリクエスタIDに付け替えるRID逆変換を行なう。この後、PCIe-NTBポート上位層24は、RID逆変換後のトランザクションIDを含む読出データを、パーティション#0のPCIe-NTBポート上位層24に転送する。
(B5) The
(B6)パーティション#0のPCIe-NTBポート上位層24におけるアドレス変換部242fは、受け取った読出データのトランザクションIDに含まれるタグをキーにして上記第1テーブルを検索し、トランザクションIDのタグを元のタグに付け替えるタグ逆変換を行なう。この後、PCIe-NTBポート上位層24は、タグ逆変換後のトランザクションIDを含む読出データを、CPU内部バス50を介しプロセッサコア60に転送する。
(B6) The
〔1−5〕ドアベル機能およびスクラッチパッド機能
次に、図10を参照しながら、PCIe-NTBトランザクション層242によるドアベル機能およびスクラッチパッド機能について説明する。なお、図10は、図6に示すトランザクション層242によるドアベル機能およびスクラッチパッド機能を説明するブロック図である。[1-5] Doorbell Function and Scratch Pad Function Next, the doorbell function and the scratch pad function by the PCIe-
異なるパーティション#0,#1に属するCPU10(例えばCPU10A,10D)どうしの通信のため、一般的に、NTBポート(PCIe-NTBトランザクション層242)は、ドアベル(Doorbell)機能およびスクラッチパッド(Scratchpad)機能を備えている。
In general, an NTB port (PCIe-NTB transaction layer 242) has a doorbell function and a scratchpad function for communication between CPUs 10 (for example,
〔1−5−1〕ドアベル機能
ドアベル機能は、一方のパーティション#0または#1のプロセッサコア60から他方のパーティション#1または#0のプロセッサコア60に対して割り込み(INT)を上げるための機能である。送信側のプロセッサコア60は、PIO(Programmed I/O)によって、送信側のPCIe-NTBトランザクション層242の送信用ドアベルレジスタ242b−3への書込みを実行する。この書込みを受けた送信側のPCIe-NTBトランザクション層242は、メッセージパケット(Msg;TLP)を生成し、受信側のPCIe-NTBトランザクション層242へ送信する。このときのメッセージパケットは、PCIe仕様のVendor Defined Messageの仕組みを用いて独自に定義される。メッセージパケットを受け取った受信側のPCIe-NTBトランザクション層242は、ドアベル機能に係るメッセージパケットを受信すると、メッセージパケットにより受け取った内容をドアベルと判断する。そして、受信側のPCIe-NTBトランザクション層242は、受信用ドアベルレジスタ242b−4への書込みを実行し、受信側のプロセッサコア60に対して割り込み(INT)を通知する。[1-5-1] Doorbell Function The doorbell function is a function for raising an interrupt (INT) from the
つまり、PCIe-NTBトランザクション層242(NTBポート)は、プロセッサコア60から他のCPU10に対する割込み指示を送信用ドアベルレジスタ242b−3に書き込まれると、割込みを指示するTLPを生成し他のCPUへ転送する。一方、PCIe-NTBトランザクション層242(NTBポート)は、他のCPU10からプロセッサコア60に対する割込み指示を受信用ドアベルレジスタ242b−4に書き込まれると、プロセッサコア60に対する割込み指示を行なう。
That is, the PCIe-NTB transaction layer 242 (NTB port) generates a TLP indicating an interrupt and transfers it to another CPU when an interrupt instruction for the
〔1−5−2〕スクラッチパッド機能
スクラッチパッド機能は、各パーティション#0,#1のプロセッサコア60が数バイト程度の情報を交換するために使用される機能である。送信側のプロセッサコア60は、PIOによって、送信側のPCIe-NTBトランザクション層242の送信用スクラッチパッドレジスタ242b−5に交換情報を書き込む。交換情報を書き込まれた送信側のPCIe-NTBトランザクション層242は、メッセージパケット(Msg;TLP)を生成し、受信側のPCIe-NTBトランザクション層242へ送信する。このときのメッセージパケットは、PCIe仕様のVendor Defined Messageの仕組みを用いて独自に定義される。メッセージパケットを受け取った受信側のPCIe-NTBトランザクション層242は、スクラッチパッド機能に係るメッセージパケットを受信すると、メッセージパケットにより受け取った内容をスクラッチパッドと判断する。そして、受信側のPCIe-NTBトランザクション層242は、メッセージパケットの内容(交換情報)を受信用スクラッチパッドレジスタ242b−6に反映する。受信側のプロセッサコア60は、PIOによって受信用スクラッチパッドレジスタ242b−6の内容を読み出すことで、送信側のプロセッサコア60からの交換情報を知ることが可能になっている。[1-5-2] Scratch Pad Function The scratch pad function is a function used by the
つまり、PCIe-NTBトランザクション層242(NTBポート)は、プロセッサコア60から他のCPU10と交換すべき交換情報をトランザクション層242の送信用スクラッチパッドレジスタ242b−5に書き込まれると、当該交換情報を含むTLPを生成し他のCPU10へ転送する。一方、PCIe-NTBトランザクション層242(NTBポート)は、他のCPU10からプロセッサコア60と交換すべき交換情報を受信用スクラッチパッドレジスタ242b−6に書き込まれると、プロセッサコア60からの問合せ(PIO)に応じて、受信用スクラッチパッドレジスタ242b−6の交換情報をプロセッサコア60に通知する。
That is, the PCIe-NTB transaction layer 242 (NTB port) includes the exchange information when the exchange information to be exchanged with the
〔1−6〕TLPの分割およびカプセル化
次に、図11を参照しながら、CPUインターコネクトデータリンクI/F(第2インターフェイス)243によるパケット分割およびカプセル化について説明する。なお、図11は、図6に示すCPUインターコネクトデータリンクI/F243によるパケット分割およびカプセル化を説明する図である。[1-6] TLP Division and Encapsulation Next, packet division and encapsulation by the CPU interconnect data link I / F (second interface) 243 will be described with reference to FIG. FIG. 11 is a diagram for explaining packet division and encapsulation by the CPU interconnect data link I /
送信側NTBポートのCPUインターコネクトデータリンクI/F243では、以下のような処理が行なわれる。まず、CPUインターコネクトデータリンクI/F243は、上流のPCIe-NTBトランザクション層242からPCIeのTLPを受信する。TLPのフォーマットは、図11の上段に示すとおりである。CPUインターコネクトデータリンクI/F243は、受信したTLPをCPUインターコネクトのパケットサイズ(パケット長)に合わせて分割したり、パディング(padding)を行なったりして、CPUインターコネクトのパケットサイズに揃えた一以上のパケットを生成する。
The CPU interconnect data link I /
図11では、受信したTLPがCPUインターコネクトのパケットサイズよりも大きい場合の、パケット分割およびカプセル化が示されている。つまり、まず、CPUインターコネクトデータリンクI/F243は、図11の上段に示すTLPを、図11の中段に示すように、2つのパケットに分割する。一方(左側)のパケットのサイズは、CPUインターコネクトのパケットサイズと同じである。しかし、他方(右側)のパケットのサイズは、CPUインターコネクトのパケットサイズよりも小さいため、他方のパケットに対しては、図11の中段の右側に示すごとく、そのサイズがCPUインターコネクトのパケットサイズと同じになるよう、パディングが行なわれている。
FIG. 11 shows packet division and encapsulation when the received TLP is larger than the packet size of the CPU interconnect. That is, first, the CPU interconnect data link I /
さらに、図11に示す例では、CPUインターコネクトデータリンクI/F243は、2つに分けられたパケットそれぞれの前後に、同図の下段に示すように、CPUインターコネクトのデータリンク層のヘッダ(Haeder)およびCRC(Cyclic Redundancy Check)を付加する。これにより、各パケットは、カプセル化される。一方、受信側NTBポートのCPUインターコネクトデータリンクI/F243は、上述した送信側NTBポートでのパケット分割およびカプセル化のプロセスとは逆のプロセスで、データリンク層のパケットからPCIeのTLPを再構築する。
Further, in the example shown in FIG. 11, the CPU interconnect data link I /
〔2〕第2実施形態の情報処理装置(サーバ)
次に、図12および図13を参照しながら、第2実施形態としての情報処理装置(サーバ)1′の構成について説明する。なお、図12は、第2実施形態のサーバ1′の要部構成を示すブロック図、図13は、図12に示すPCIe-NTBポート上位層(第2通信部)24′の詳細構成を示すブロック図である。図中、既述の符号と同一の符号は、同一もしくはほぼ同一の部分を示しているので、その説明は省略する。[2] Information processing apparatus (server) of the second embodiment
Next, the configuration of the information processing apparatus (server) 1 ′ according to the second embodiment will be described with reference to FIGS. FIG. 12 is a block diagram showing the main configuration of the
第2実施形態のサーバ1′におけるCPU10は、図12に示すように、PCIeポート81を有している。このようにCPU10がPCIeポート81を有している場合、CPU10は、CPU内部バス50とPCIeポート81との間にPCIeルートコンプレクス(Root Complex)80を備えている。この場合、第1実施形態のCPU内部バスI/F241をPCIeルートコンプレクス80内に実装し他のPCIeポート81と共用する形態とすることができる。
The
つまり、第2実施形態は、図12に示すように、PCIe-NTBポート上位層24′の上流側の接続先が、CPU内部バス50ではなく、PCIeルートコンプレクス80である点で、第1実施形態(PCIe-NTBポート上位層24)と異なっている。
第2実施形態では、図12に示すように、PCIe-NTBポート上位層24′がPCIeルートコンプレクス80と接続されるので、図13に示すように、第1実施形態では必要であったCPU内部バスI/F241のブロックは不要となる。そのほかのブロック(PCIe-NTBトランザクション層242およびCPUインターコネクトデータリンクI/F243)は、第2実施形態のPCIe-NTBポート上位層24′においても、第1実施形態のPCIe-NTBポート上位層24と同様に備えられる。That is, in the second embodiment, as shown in FIG. 12, the connection destination on the upstream side of the PCIe-NTB port
In the second embodiment, the PCIe-NTB port upper layer 24 'is connected to the
このように、第2実施形態のサーバ1′では、CPU10がPCIeポート81およびPCIeルートコンプレクス80を有する場合、PCIeルートコンプレクス80によって、第1実施形態におけるCPU内部バスI/F(第1インターフェイス)241の機能が実現される。したがって、第2実施形態のサーバ1′によれば、より簡素な構成で、第1実施形態と同様の作用効果を得ることができる。
Thus, in the
〔3〕その他
以上、本発明の好ましい実施形態について詳述したが、本発明は、係る特定の実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲内において、種々の変形、変更して実施することができる。
なお、上述した実施形態では、一つのサーバ1に4つのCPU10A〜10Dを備えた場合について説明したが、本発明は、これに限定されるものではない。[3] Others While preferred embodiments of the present invention have been described in detail above, the present invention is not limited to such specific embodiments, and various modifications and changes can be made within the scope of the present invention. It can be changed and implemented.
In addition, although embodiment mentioned above demonstrated the case where four CPU10A-10D was provided in the one
上述したCPUインターコネクト上位層(第1通信部)23,PCIe-NTBポート上位層(第2通信部)24,24′,マルチプレクサ(選択部)25およびシステムF/W(設定部)40を含むサーバ1,1′の各種機能の全部もしくは一部は、コンピュータ(CPU,情報処理装置,各種端末を含む)が所定のプログラムを実行することによって実現される。
Server including the above-described CPU interconnect upper layer (first communication unit) 23, PCIe-NTB port upper layer (second communication unit) 24, 24 ', multiplexer (selection unit) 25, and system F / W (setting unit) 40 All or some of the
そのプログラムは、例えばフレキシブルディスク,CD(CD−ROM,CD−R,CD−RWなど),DVD(DVD−ROM,DVD−RAM,DVD−R,DVD−RW,DVD+R,DVD+RWなど),ブルーレイディスク等のコンピュータ読取可能な記録媒体に記録された形態で提供される。この場合、コンピュータはその記録媒体からプログラムを読み取って内部記憶装置または外部記憶装置に転送し格納して用いる。 The program is, for example, a flexible disk, CD (CD-ROM, CD-R, CD-RW, etc.), DVD (DVD-ROM, DVD-RAM, DVD-R, DVD-RW, DVD + R, DVD + RW, etc.), Blu-ray Disc And the like recorded in a computer-readable recording medium. In this case, the computer reads the program from the recording medium, transfers it to the internal storage device or the external storage device, and uses it.
ここで、コンピュータとは、ハードウエアとOS(オペレーティングシステム)とを含む概念であり、OSの制御の下で動作するハードウエアを意味している。また、OSが不要でアプリケーションプログラム単独でハードウエアを動作させるような場合には、そのハードウエア自体がコンピュータに相当する。ハードウエアは、少なくとも、CPU等のマイクロプロセッサと、記録媒体に記録されたコンピュータプログラムを読み取る手段とをそなえている。上記プログラムは、上述のようなコンピュータに、上述したサーバ1,1′の各種機能を実現させるプログラムコードを含んでいる。また、その機能の一部は、アプリケーションプログラムではなくOSによって実現されてもよい。
〔4〕付記
以上の各実施形態を含む実施形態に関し、さらに以下の付記を開示する。
(付記1)
複数の処理部と、
前記複数の処理部に対しパーティション構成に則した設定を行なう設定部と、を備え、
前記複数の処理部のそれぞれは、他の処理部に接続され前記他の処理部との通信を行なうポートを有し、
前記ポートは、
前記ポートの属する処理部と同一パーティションに属する処理部との通信を行なう第1通信部と、
前記ポートの属する処理部と異なるパーティションに属する処理部との通信を行なう第2通信部と、
前記設定部による前記設定に応じて前記第1通信部と前記第2通信部とのいずれか一方を選択し、選択した通信部に前記他の処理部との通信を実行させる選択部と、を有することを特徴とする情報処理装置。
(付記2)
前記複数の処理部のそれぞれは、
前記設定部により、前記他の処理部が前記同一パーティションに属することを示す第1情報、または、前記他の処理部が前記異なるパーティションに属することを示す第2情報を設定されるレジスタをさらに有し、
前記選択部は、前記第1情報が前記レジスタに設定されている場合、前記第1通信部を選択する一方、前記第2情報が前記レジスタに設定されている場合、前記第2通信部を選択することを特徴とする、付記1に記載の情報処理装置。
(付記3)
前記第1通信部は、前記同一パーティションに属する前記他の処理部との間で、全てのメモリアクセスについてメモリ空間を共有するための通信を実行することを特徴とする、付記1または付記2に記載の情報処理装置。
(付記4)
前記第2通信部は、前記異なるパーティションに属する前記他の処理部との間で、前記ポートの属する処理部を成すプロセッサコアによって明示的に指示された通信を実行することを特徴とする、付記1〜付記3のいずれか一項に記載の情報処理装置。
(付記5)
前記第2通信部が通信を実行することにより、前記ポートは、PCI(Peripheral Components Interconnect)デバイスのNTB(Non-Transparent Bridge)ポートとして機能することを特徴とする、付記4に記載の情報処理装置。
(付記6)
前記第2通信部は、
前記プロセッサコアと接続される第1インターフェイスと、
前記他の処理部と接続される第2インターフェイスと、
前記第1インターフェイス部と前記第2インターフェイスとの間に配置されるNTBトランザクション層と、を有し、
前記第2通信部が前記ポートを前記NTBポートとして用い前記他の処理部へのデータ送信を行なう場合、前記第1インターフェイスは、前記他の処理部へのデータをPCI仕様に準拠するデータに変換し、前記NTBトランザクション層は、前記第1インターフェイスからのデータに基づきTLP(Transaction Layer Packet)を生成し、前記第2インターフェイスは、前記NTBトランザクション層からのTLPを、前記ポートと前記他の処理部との間の通信仕様に準拠するパケットに変換する一方、
前記第2通信部が前記ポートを前記NTBポートとして用い前記他の処理部からデータ受信を行なう場合、前記第2インターフェイスは、前記他の処理部からのパケットをTLPに変換し、前記NTBトランザクション層は、前記第2インターフェイスからのTLPに基づき、PCI仕様に準拠するデータを生成し、前記第1インターフェイスは、前記NTBトランザクション層からのデータを前記プロセッサコアまたはメモリへのデータに変換することを特徴とする、付記5に記載の情報処理装置。
(付記7)
前記複数の処理部のそれぞれは、PCIポートおよびルートコンプレクスを有し、
前記第2通信部の前記第1インターフェイスは、前記ルートコンプレクスによって構成されることを特徴とする、付記6に記載の情報処理装置。
(付記8)
前記第2通信部は、
前記プロセッサコアから前記他の処理部に対する割込み指示を前記NTBトランザクション層の送信用割込みレジスタに書き込まれると、割込みを指示するTLPを生成し前記他の処理部へ転送する一方、
前記他の処理部から前記プロセッサコアに対する割込み指示を前記NTBトランザクション層の受信用割込みレジスタに書き込まれると、前記プロセッサコアに対する割込み指示を行なうことを特徴とする、付記6または付記7に記載の情報処理装置。
(付記9)
前記第2通信部は、
前記プロセッサコアから前記他の処理部と交換すべき交換情報を前記NTBトランザクション層の送信用交換情報レジスタに書き込まれると、前記交換情報を含むTLPを生成し前記他の処理部へ転送する一方、
前記他の処理部から前記プロセッサコアと交換すべき交換情報を前記NTBトランザクション層の受信用交換情報レジスタに書き込まれると、前記プロセッサコアからの問合せに応じて、前記受信用交換情報レジスタの交換情報を前記プロセッサコアに通知することを特徴とする、付記6〜付記8のいずれか一項に記載の情報処理装置。
(付記10)
前記第2通信部が通信を実行することにより、前記ポートと前記他の処理部との間に確立されるパスは、メモリミラーリングパスおよびフェイルオーバーパスの少なくとも一方として機能することを特徴する、付記1〜付記9のいずれか一項に記載の情報処理装置。
(付記11)
他の処理部に接続され前記他の処理部との通信を行なうポートを有する複数の処理部を備えた情報処理装置において、前記複数の処理部に対しパーティション構成に則した設定を行なう制御方法であって、
前記ポートにおいて、前記ポートの属する処理部と同一パーティションに属する処理部との通信を行なう第1通信部と、前記ポートの属する処理部と異なるパーティションに属する処理部との通信を行なう第2通信部と、を備え、
前記設定に応じて前記第1通信部と前記第2通信部とのいずれか一方を選択し、選択した通信部に前記他の処理部との通信を実行させることを特徴とする情報処理装置の制御方法。
(付記12)
前記複数の処理部のそれぞれに、前記他の処理部が前記同一パーティションに属することを示す第1情報、または、前記他の処理部が前記異なるパーティションに属することを示す第2情報を設定されるレジスタを備え、
前記第1情報が前記レジスタに設定されている場合、前記第1通信部を選択する一方、前記第2情報が前記レジスタに設定されている場合、前記第2通信部を選択することを特徴とする、付記11に記載の情報処理装置の制御方法。
(付記13)
前記第1通信部に、前記同一パーティションに属する前記他の処理部との間で、全てのメモリアクセスについてメモリ空間を共有するための通信を実行させることを特徴とする、付記11または付記12に記載の情報処理装置の制御方法。
(付記14)
前記第2通信部に、前記異なるパーティションに属する前記他の処理部との間で、前記ポートの属する処理部を成すプロセッサコアによって明示的に指示された通信を実行させることを特徴とする、付記11〜付記13のいずれか一項に記載の情報処理装置の制御方法。
(付記15)
前記第2通信部が通信を実行することにより、前記ポートを、PCI(Peripheral Components Interconnect)デバイスのNTB(Non-Transparent Bridge)ポートとして機能させることを特徴とする、付記14に記載の情報処理装置の制御方法。
(付記16)
前記第2通信部が通信を実行することにより、前記ポートと前記他の処理部との間に確立されるパスを、メモリミラーリングパスおよびフェイルオーバーパスの少なくとも一方として機能させることを特徴する、付記11〜付記15のいずれか一項に記載の情報処理装置の制御方法。
Here, the computer is a concept including hardware and an OS (operating system), and means hardware operating under the control of the OS. Further, when the OS is unnecessary and the hardware is operated by the application program alone, the hardware itself corresponds to the computer. The hardware includes at least a microprocessor such as a CPU and means for reading a computer program recorded on a recording medium. The program includes a program code for causing the computer as described above to realize the various functions of the
[4] Notes
Regarding the embodiments including the above embodiments, the following additional notes are disclosed.
(Appendix 1)
A plurality of processing units;
A setting unit configured to perform settings in accordance with a partition configuration for the plurality of processing units,
Each of the plurality of processing units has a port connected to another processing unit and communicating with the other processing unit,
The port is
A first communication unit for communicating with a processing unit belonging to the same partition as the processing unit to which the port belongs;
A second communication unit for communicating with a processing unit belonging to a different partition from the processing unit to which the port belongs;
A selection unit that selects one of the first communication unit and the second communication unit according to the setting by the setting unit, and causes the selected communication unit to execute communication with the other processing unit; An information processing apparatus comprising:
(Appendix 2)
Each of the plurality of processing units is
The setting unit further includes a register configured to set first information indicating that the other processing unit belongs to the same partition or second information indicating that the other processing unit belongs to the different partition. And
The selection unit selects the first communication unit when the first information is set in the register, and selects the second communication unit when the second information is set in the register. The information processing apparatus according to
(Appendix 3)
The first communication unit performs communication for sharing the memory space for all memory accesses with the other processing unit belonging to the same partition. The information processing apparatus described.
(Appendix 4)
The second communication unit performs communication explicitly instructed by the processor core forming the processing unit to which the port belongs with the other processing unit belonging to the different partition. The information processing apparatus according to any one of 1 to
(Appendix 5)
The information processing apparatus according to
(Appendix 6)
The second communication unit is
A first interface connected to the processor core;
A second interface connected to the other processing unit;
An NTB transaction layer disposed between the first interface unit and the second interface;
When the second communication unit uses the port as the NTB port to transmit data to the other processing unit, the first interface converts the data to the other processing unit into data conforming to the PCI specification. The NTB transaction layer generates a TLP (Transaction Layer Packet) based on the data from the first interface, and the second interface converts the TLP from the NTB transaction layer into the port and the other processing unit. While converting the packet to comply with the communication specifications between
When the second communication unit uses the port as the NTB port to receive data from the other processing unit, the second interface converts a packet from the other processing unit into a TLP, and the NTB transaction layer Generates data conforming to the PCI specification based on the TLP from the second interface, and the first interface converts the data from the NTB transaction layer into data to the processor core or memory. The information processing apparatus according to
(Appendix 7)
Each of the plurality of processing units has a PCI port and a route complex,
The information processing apparatus according to
(Appendix 8)
The second communication unit is
When an interrupt instruction from the processor core to the other processing unit is written in the transmission interrupt register of the NTB transaction layer, a TLP instructing an interrupt is generated and transferred to the other processing unit.
The information according to
(Appendix 9)
The second communication unit is
When the exchange information to be exchanged with the other processing unit is written from the processor core to the exchange information register for transmission of the NTB transaction layer, a TLP including the exchange information is generated and transferred to the other processing unit.
When the exchange information to be exchanged with the processor core is written from the other processing unit to the reception exchange information register of the NTB transaction layer, the exchange information of the reception exchange information register is received in response to an inquiry from the processor core. The information processing apparatus according to any one of
(Appendix 10)
The path established between the port and the other processing unit when the second communication unit performs communication functions as at least one of a memory mirroring path and a failover path. The information processing apparatus according to any one of 1 to 9.
(Appendix 11)
In an information processing apparatus including a plurality of processing units connected to another processing unit and having a port for communicating with the other processing unit, a control method for setting the plurality of processing units according to a partition configuration There,
In the port, a first communication unit that communicates with a processing unit that belongs to the same partition as the processing unit to which the port belongs, and a second communication unit that communicates with a processing unit that belongs to a partition different from the processing unit to which the port belongs And comprising
An information processing apparatus comprising: selecting one of the first communication unit and the second communication unit according to the setting, and causing the selected communication unit to communicate with the other processing unit. Control method.
(Appendix 12)
Each of the plurality of processing units is set with first information indicating that the other processing unit belongs to the same partition or second information indicating that the other processing unit belongs to the different partition. With a register
When the first information is set in the register, the first communication unit is selected, and when the second information is set in the register, the second communication unit is selected. The control method of the information processing apparatus according to
(Appendix 13)
The
(Appendix 14)
The second communication unit is caused to execute communication explicitly instructed by a processor core constituting the processing unit to which the port belongs to the other processing unit belonging to the different partition. The control method of the information processing apparatus according to any one of 11 to appendix 13.
(Appendix 15)
15. The information processing apparatus according to appendix 14, wherein the second communication unit causes the port to function as an NTB (Non-Transparent Bridge) port of a PCI (Peripheral Components Interconnect) device by performing communication. Control method.
(Appendix 16)
Note that the second communication unit causes communication to cause a path established between the port and the other processing unit to function as at least one of a memory mirroring path and a failover path. The control method of the information processing apparatus according to any one of 11 to appendix 15.
1,1′ 情報処理装置(サーバ)
10,10A〜10D CPU(処理部)
11 CPUインターコネクトライン
20 CPUインターコネクトポート(ポート,NTBポート)
21 物理層
22 データリンク層
23 CPUインターコネクト上位層(第1通信部)
24,24′ PCIe-NTBポート上位層(第2通信部)
241 CPU内部バスインターフェイス(第1インターフェイス)
241a〜241d バッファ
242 PCIe-NTBトランザクション層(NTBトランザクション層)
242a PCIコンフィグレーションレジスタ
242b メモリマップドI/O(MMIO)レジスタ
242b−1 ベースアドレスレジスタ(BAR;アドレス変換用レジスタ)
242b−2 リミットアドレスレジスタ(LAR;アドレス変換用レジスタ)
242b−3 送信用ドアベルレジスタ(送信用割込みレジスタ)
242b−4 受信用ドアベルレジスタ(受信用割込みレジスタ)
242b−5 送信用スクラッチパッドレジスタ(送信用交換情報レジスタ)
242b−6 受信用スクラッチパッドレジスタ(受信用交換情報レジスタ)
242c アドレス変換部
242d TLP生成部
242e TLP解体部
242f アドレス変換部
243 CPUインターコネクトデータリンクインターフェイス(第2インターフェイス)
243a,243b バッファ
25 マルチプレクサ(選択部)
30 ポートモード選択レジスタ(レジスタ)
40 システムファームウエア(設定部)
50 CPU内部バス
60 プロセッサコア
70 メモリまたはI/O装置
80 PCIeルートコンプレクス(第1インターフェイス)
81 PCIeポート
90 ネットワーク1,1 'Information processing device (server)
10, 10A to 10D CPU (processing unit)
11
21
24, 24 'PCIe-NTB port upper layer (second communication unit)
241 CPU internal bus interface (first interface)
241a to
242a
242b-2 Limit address register (LAR; register for address conversion)
242b-3 Transmission doorbell register (transmission interrupt register)
242b-4 Reception doorbell register (Reception interrupt register)
242b-5 Scratch pad register for transmission (exchange information register for transmission)
242b-6 Receive Scratch Pad Register (Receive Exchange Information Register)
242c
243a, 243b buffer 25 multiplexer (selection unit)
30 Port mode selection register (register)
40 System firmware (setting part)
50 CPU
81 PCIe port 90 network
Claims (8)
前記複数の処理部に対しパーティション構成に則した設定を行なう設定部と、を備え、
前記複数の処理部のそれぞれは、他の処理部に接続され前記他の処理部との通信を行なうポートを有し、
前記ポートは、
前記ポートの属する処理部と同一パーティションに属する処理部との通信を行なう第1通信部と、
前記ポートの属する処理部と異なるパーティションに属する処理部との通信を行なう第2通信部と、
前記設定部による前記設定に応じて前記第1通信部と前記第2通信部とのいずれか一方を選択し、選択した通信部に前記他の処理部との通信を実行させる選択部と、を有することを特徴とする情報処理装置。 A plurality of processing units;
A setting unit configured to perform settings in accordance with a partition configuration for the plurality of processing units,
Each of the plurality of processing units has a port connected to another processing unit and communicating with the other processing unit,
The port is
A first communication unit for communicating with a processing unit belonging to the same partition as the processing unit to which the port belongs;
A second communication unit for communicating with a processing unit belonging to a different partition from the processing unit to which the port belongs;
A selection unit that selects one of the first communication unit and the second communication unit according to the setting by the setting unit, and causes the selected communication unit to execute communication with the other processing unit; An information processing apparatus comprising:
前記設定部により、前記他の処理部が前記同一パーティションに属することを示す第1情報、または、前記他の処理部が前記異なるパーティションに属することを示す第2情報を設定されるレジスタをさらに有し、
前記選択部は、前記第1情報が前記レジスタに設定されている場合、前記第1通信部を選択する一方、前記第2情報が前記レジスタに設定されている場合、前記第2通信部を選択することを特徴とする、請求項1に記載の情報処理装置。 Each of the plurality of processing units is
The setting unit further includes a register configured to set first information indicating that the other processing unit belongs to the same partition or second information indicating that the other processing unit belongs to the different partition. And
The selection unit selects the first communication unit when the first information is set in the register, and selects the second communication unit when the second information is set in the register. The information processing apparatus according to claim 1, wherein:
前記プロセッサコアと接続される第1インターフェイスと、
前記他の処理部と接続される第2インターフェイスと、
前記第1インターフェイス部と前記第2インターフェイスとの間に配置されるNTBトランザクション層と、を有し、
前記第2通信部が前記ポートを前記NTBポートとして用い前記他の処理部へのデータ送信を行なう場合、前記第1インターフェイスは、前記他の処理部へのデータをPCI仕様に準拠するデータに変換し、前記NTBトランザクション層は、前記第1インターフェイスからのデータに基づきTLP(Transaction Layer Packet)を生成し、前記第2インターフェイスは、前記NTBトランザクション層からのTLPを、前記ポートと前記他の処理部との間の通信仕様に準拠するパケットに変換する一方、
前記第2通信部が前記ポートを前記NTBポートとして用い前記他の処理部からデータ受信を行なう場合、前記第2インターフェイスは、前記他の処理部からのパケットをTLPに変換し、前記NTBトランザクション層は、前記第2インターフェイスからのTLPに基づき、PCI仕様に準拠するデータを生成し、前記第1インターフェイスは、前記NTBトランザクション層からのデータを前記プロセッサコアまたはメモリへのデータに変換することを特徴とする、請求項5に記載の情報処理装置。 The second communication unit is
A first interface connected to the processor core;
A second interface connected to the other processing unit;
An NTB transaction layer disposed between the first interface unit and the second interface;
When the second communication unit uses the port as the NTB port to transmit data to the other processing unit, the first interface converts the data to the other processing unit into data conforming to the PCI specification. The NTB transaction layer generates a TLP (Transaction Layer Packet) based on the data from the first interface, and the second interface converts the TLP from the NTB transaction layer into the port and the other processing unit. While converting the packet to comply with the communication specifications between
When the second communication unit uses the port as the NTB port to receive data from the other processing unit, the second interface converts a packet from the other processing unit into a TLP, and the NTB transaction layer Generates data conforming to the PCI specification based on the TLP from the second interface, and the first interface converts the data from the NTB transaction layer into data to the processor core or memory. The information processing apparatus according to claim 5.
前記第2通信部の前記第1インターフェイスは、前記ルートコンプレクスによって構成されることを特徴とする、請求項6に記載の情報処理装置。 Each of the plurality of processing units has a PCI port and a route complex,
Wherein the first interface of the second communication unit may be constituted by the root complex, information processing equipment according to claim 6.
前記ポートにおいて、前記ポートの属する処理部と同一パーティションに属する処理部との通信を行なう第1通信部と、前記ポートの属する処理部と異なるパーティションに属する処理部との通信を行なう第2通信部と、を備え、
前記設定に応じて前記第1通信部と前記第2通信部とのいずれか一方を選択し、選択した通信部に前記他の処理部との通信を実行させることを特徴とする情報処理装置の制御方法。 In an information processing apparatus including a plurality of processing units connected to another processing unit and having a port for communicating with the other processing unit, a control method for setting the plurality of processing units according to a partition configuration There,
In the port, a first communication unit that communicates with a processing unit that belongs to the same partition as the processing unit to which the port belongs, and a second communication unit that communicates with a processing unit that belongs to a partition different from the processing unit to which the port belongs And comprising
An information processing apparatus comprising: selecting one of the first communication unit and the second communication unit according to the setting, and causing the selected communication unit to communicate with the other processing unit. control how.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2012/070896 WO2014027416A1 (en) | 2012-08-17 | 2012-08-17 | Information processing device and method for controlling information processing device |
Publications (2)
Publication Number | Publication Date |
---|---|
JP5930046B2 true JP5930046B2 (en) | 2016-06-08 |
JPWO2014027416A1 JPWO2014027416A1 (en) | 2016-07-25 |
Family
ID=50685479
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014530424A Expired - Fee Related JP5930046B2 (en) | 2012-08-17 | 2012-08-17 | Information processing apparatus and control method of information processing apparatus |
Country Status (3)
Country | Link |
---|---|
US (1) | US20150160984A1 (en) |
JP (1) | JP5930046B2 (en) |
WO (1) | WO2014027416A1 (en) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6550693B2 (en) * | 2014-06-25 | 2019-07-31 | 日本電気株式会社 | IO device management device, IO device management method, and program |
CN105653481B (en) * | 2014-11-14 | 2019-03-26 | 华为技术有限公司 | Data transmission method and device based on PCIe bus |
CN105022715A (en) * | 2015-07-08 | 2015-11-04 | 浪潮(北京)电子信息产业有限公司 | Server backplane interconnection method and system |
TWI597953B (en) * | 2015-11-25 | 2017-09-01 | 財團法人工業技術研究院 | Pcie network system with failover capability and operation method thereof |
RU2017118316A (en) * | 2015-12-17 | 2018-11-26 | Хуавэй Текнолоджиз Ко., Лтд. | METHOD FOR PROCESSING RECORD REQUEST, PROCESSOR AND COMPUTER |
US10191878B2 (en) * | 2016-05-11 | 2019-01-29 | Tolefonaktiebolaget LM Ericsson (Publ) | High availability of PCIe devices under multiple processors to provide redundancy |
WO2018198325A1 (en) * | 2017-04-28 | 2018-11-01 | 株式会社日立製作所 | Storage system |
US10915330B2 (en) * | 2017-12-19 | 2021-02-09 | Advanced Micro Devices, Inc. | Pseudo-random logical to physical core assignment at boot for age averaging |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09231187A (en) * | 1996-02-22 | 1997-09-05 | Hitachi Ltd | Data transfer method of parallel computer |
JPH09274598A (en) * | 1996-04-08 | 1997-10-21 | Hitachi Ltd | Input/output channel extending method for information processor |
JP2003030162A (en) * | 2001-05-17 | 2003-01-31 | Fujitsu Ltd | Computer system |
JP2003076671A (en) * | 2001-06-29 | 2003-03-14 | Fujitsu Ltd | Fault containment and error handling in partitioned system with shared resources |
JP2006040285A (en) * | 2004-07-29 | 2006-02-09 | Hewlett-Packard Development Co Lp | Communication among partitioned devices |
JP2006209487A (en) * | 2005-01-28 | 2006-08-10 | Hitachi Ltd | Computer system, computer, storage device, and management terminal |
JP2008097276A (en) * | 2006-10-11 | 2008-04-24 | Hitachi Ltd | Fault recovery method, computing machine system, and management server |
JP2009151767A (en) * | 2007-12-03 | 2009-07-09 | Internatl Business Mach Corp <Ibm> | Method, computer program and data processing system for managing input-output(i/o) virtualization in data processing system |
WO2011045919A1 (en) * | 2009-10-15 | 2011-04-21 | 日本電気株式会社 | Distributed system, communication means selecting method and communication means selecting program |
JP2011221945A (en) * | 2010-04-14 | 2011-11-04 | Hitachi Ltd | Data transfer device, computer system and memory copy device |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7398380B1 (en) * | 2004-02-13 | 2008-07-08 | Fabric7 Systems, Inc. | Dynamic hardware partitioning of symmetric multiprocessing systems |
US7062594B1 (en) * | 2004-06-30 | 2006-06-13 | Emc Corporation | Root complex connection system |
US8244951B2 (en) * | 2008-09-25 | 2012-08-14 | Intel Corporation | Method and apparatus to facilitate system to system protocol exchange in back to back non-transparent bridges |
US7913027B2 (en) * | 2009-04-07 | 2011-03-22 | Lsi Corporation | Configurable storage array controller |
US8589613B2 (en) * | 2010-06-02 | 2013-11-19 | Intel Corporation | Method and system to improve the operations of an integrated non-transparent bridge device |
-
2012
- 2012-08-17 WO PCT/JP2012/070896 patent/WO2014027416A1/en active Application Filing
- 2012-08-17 JP JP2014530424A patent/JP5930046B2/en not_active Expired - Fee Related
-
2015
- 2015-02-16 US US14/622,985 patent/US20150160984A1/en not_active Abandoned
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09231187A (en) * | 1996-02-22 | 1997-09-05 | Hitachi Ltd | Data transfer method of parallel computer |
JPH09274598A (en) * | 1996-04-08 | 1997-10-21 | Hitachi Ltd | Input/output channel extending method for information processor |
JP2003030162A (en) * | 2001-05-17 | 2003-01-31 | Fujitsu Ltd | Computer system |
JP2003076671A (en) * | 2001-06-29 | 2003-03-14 | Fujitsu Ltd | Fault containment and error handling in partitioned system with shared resources |
JP2006040285A (en) * | 2004-07-29 | 2006-02-09 | Hewlett-Packard Development Co Lp | Communication among partitioned devices |
JP2006209487A (en) * | 2005-01-28 | 2006-08-10 | Hitachi Ltd | Computer system, computer, storage device, and management terminal |
JP2008097276A (en) * | 2006-10-11 | 2008-04-24 | Hitachi Ltd | Fault recovery method, computing machine system, and management server |
JP2009151767A (en) * | 2007-12-03 | 2009-07-09 | Internatl Business Mach Corp <Ibm> | Method, computer program and data processing system for managing input-output(i/o) virtualization in data processing system |
WO2011045919A1 (en) * | 2009-10-15 | 2011-04-21 | 日本電気株式会社 | Distributed system, communication means selecting method and communication means selecting program |
JP2011221945A (en) * | 2010-04-14 | 2011-11-04 | Hitachi Ltd | Data transfer device, computer system and memory copy device |
Also Published As
Publication number | Publication date |
---|---|
WO2014027416A1 (en) | 2014-02-20 |
JPWO2014027416A1 (en) | 2016-07-25 |
US20150160984A1 (en) | 2015-06-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5930046B2 (en) | Information processing apparatus and control method of information processing apparatus | |
JP7118922B2 (en) | Switching device, peripheral component interconnect express system and its initialization method | |
US7979621B2 (en) | Transparent PCI-based multi-host switch | |
US7979592B1 (en) | Virtualization bridge device | |
ES2642829T3 (en) | System and procedure for extended interconnection structures of express peripheral components | |
JP5440507B2 (en) | Multi-root PCI express switch, its startup method, and multi-root PCI manager program | |
US8589723B2 (en) | Method and apparatus to provide a high availability solid state drive | |
US7783822B2 (en) | Systems and methods for improving performance of a routable fabric | |
JP5903801B2 (en) | Communication apparatus and ID setting method | |
TWI557570B (en) | Memory mapping method and memory mapping system | |
JPWO2009139489A1 (en) | PCI express switch, PCI express system, and network control method | |
US20100250807A1 (en) | Switch system, sub-switch and method of controlling switch system | |
US20230018225A1 (en) | Apparatus and mechanism to bypass pcie address translation by using alternative routing | |
JP2014002545A (en) | Data transfer device, and data transfer method | |
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 | |
TWI791134B (en) | Communication device, information processing system and communication method | |
TWI309778B (en) | Integrated circuit having processor, switch capabilities and ports to receive and forward data | |
TWI567638B (en) | Multi-core processor, multi-core processing system, and method for initialization processing cores | |
JP2013196593A (en) | Data processing apparatus, data processing method and program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
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: 20160405 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20160418 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5930046 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |