[go: up one dir, main page]

JP2011113163A - Inter-end point communication control device and method in io access communication system - Google Patents

Inter-end point communication control device and method in io access communication system Download PDF

Info

Publication number
JP2011113163A
JP2011113163A JP2009267147A JP2009267147A JP2011113163A JP 2011113163 A JP2011113163 A JP 2011113163A JP 2009267147 A JP2009267147 A JP 2009267147A JP 2009267147 A JP2009267147 A JP 2009267147A JP 2011113163 A JP2011113163 A JP 2011113163A
Authority
JP
Japan
Prior art keywords
endpoint
transfer
inter
communication
control
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP2009267147A
Other languages
Japanese (ja)
Inventor
Tetsuya Kataoka
哲哉 片岡
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 JP2009267147A priority Critical patent/JP2011113163A/en
Publication of JP2011113163A publication Critical patent/JP2011113163A/en
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Information Transfer Systems (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a communication control device and method by which an IC access can be autonomously performed at an end point side to another end point. <P>SOLUTION: The inter-end point communication control device is configured to perform the communication control of an end point (EP) in a PCIe system, and provided with: a port (102) for communicating with a low order EP; a PCIe port (101) for communicating with high order communication equipment; a control part (105) for performing the synchronous processing of control information to associate EP as the object of IO access with each other between itself and a CPU; an RTI function part (103) for executing processing to transfer data received from the port (102) to a transfer EP by referring to the control information, and transmits the data through the PCIe port (101); and an RTO function part (104) for executing the data received from the PCIe port (101) to the transfer EP by referring to the control information, and transmitting the data through the port (102). <P>COPYRIGHT: (C)2011,JPO&INPIT

Description

本発明はPCIエクスプレス(PCI Express)という高速シリアルインタフェースを採用した通信システムに係り、特にIOアクセス通信制御を行う装置および方法に関する。   The present invention relates to a communication system employing a high-speed serial interface called PCI Express, and more particularly to an apparatus and method for performing IO access communication control.

近年、PCI Express(以下、適宜「PCIe」と記す。)が普及し、PCIeスロットを搭載したパーソナルコンピュータも市販されている。このようなPCIeシステムの一般的な構成を図9に示す(たとえば特許文献1を参照)。PCIeシステムの構成要素は、周知のように、ルートコンプレックス、PCIeスイッチ、PCIeブリッジ、IOデバイスであるエンドポイント(EP:End Point)などである。   In recent years, PCI Express (hereinafter referred to as “PCIe” as appropriate) has become widespread, and personal computers equipped with a PCIe slot are also commercially available. A general configuration of such a PCIe system is shown in FIG. 9 (see, for example, Patent Document 1). As is well known, the components of the PCIe system are a root complex, a PCIe switch, a PCIe bridge, an IO device end point (EP), and the like.

特開2007−95025号公報JP 2007-95025 A

上述した既存のPCIeシステムにおいて、各デバイス(EP)に対するIOアクセスはCPUが各EPのデバイスドライバを起動してアクセスすることが必要である。PCI Expressでは、PCIeリンク上でエラー情報をやり取りする規定が定まっているだけであるために、PCIeスイッチやPCIeブリッジの先に接続される各デバイス(EP)は、PCIeリンク上にどのようなデバイス(EP)がつながっているかを直接知ることができない。このためにIOアクセスをデバイス同士がやり取りするためには、CPU上のOS(Operating System)が各デバイスに通信先の宛先を教えるプロセスが必要となる。   In the existing PCIe system described above, the IO access to each device (EP) requires the CPU to access the device driver of each EP. Since PCI Express only defines the rules for exchanging error information on the PCIe link, each device (EP) connected to the end of the PCIe switch or PCIe bridge is what kind of device on the PCIe link. (EP) can't know directly if connected. For this reason, in order for devices to exchange IO access, an OS (Operating System) on the CPU requires a process of teaching each device the destination of the communication destination.

このように、既存のPCIeシステムでは、各EP側で宛先EPのアドレス情報等を知り得る手段がないためにEP側で自律的に他のEPに対してIOアクセスすることができない。このためにEP間のIOアクセス通信では常にCPUが介在することとなりCPUの負荷が大きくなる。   Thus, in the existing PCIe system, since there is no means by which each EP side can know the address information of the destination EP, it is impossible for the EP side to autonomously make IO access to other EPs. For this reason, CPU access is always involved in IO access communication between EPs, increasing the load on the CPU.

そこで、本発明の目的は、エンドポイント側で自律的に他のエンドポイントに対してIOアクセスすることができる通信システム、エンドポイント間通信制御装置および方法を提供することにある。   Accordingly, an object of the present invention is to provide a communication system, an inter-endpoint communication control apparatus, and a method capable of performing IO access to other end points autonomously on the end point side.

本発明によるエンドポイント間通信制御装置は、高速シリアルインタフェースを用いた通信システムにおけるエンドポイントの通信制御を行う装置であって、下位のエンドポイントと通信するための第1ポートと、上位の通信機器と通信するための第2ポートと、前記通信システムの汎用制御部との間で、少なくともIOアクセスの対象となるエンドポイントを相互に対応付ける制御情報の同期処理を行う制御手段と、前記制御情報を参照して、前記第1ポートから受信したデータに対して転送先のエンドポイントへ転送するための処理を実行して前記第2ポートを通して送出する第1転送手段と、前記制御情報を参照して、前記第2ポートから受信したデータに対して転送先のエンドポイントへ転送するための処理を実行して前記第1ポートを通して送出する第2転送手段と、を有することを特徴とする。   An inter-endpoint communication control apparatus according to the present invention is an apparatus for performing end point communication control in a communication system using a high-speed serial interface, and includes a first port for communicating with a lower end point, and an upper communication apparatus. Between the second port for communicating with the general-purpose control unit of the communication system, a control means for performing synchronization processing of control information for associating at least endpoints to be IO accessed, and the control information Referring to the control information, the first transfer means executes processing for transferring the data received from the first port to the transfer destination endpoint and sends it through the second port; , Executing processing for transferring data received from the second port to a transfer destination endpoint, the first port A second transfer means for sending through, and having a.

本発明による通信システムは、上述したエンドポイント間通信制御装置の第1ポートに下位のエンドポイントが接続され、第2ポートに通信システムのスイッチが接続され、当該スイッチに汎用制御部がルートコンプレックスを介して接続されていることを特徴とする。   In the communication system according to the present invention, a lower-order endpoint is connected to the first port of the inter-endpoint communication control apparatus described above, a switch of the communication system is connected to the second port, and a general-purpose control unit has a route complex connected to the switch. It is characterized by being connected via.

本発明によるエンドポイント間通信制御方法は、汎用制御部から複数のエンドポイントまで複数の通信機器が階層的に接続された高速シリアルインタフェースを用いた通信システムにおけるエンドポイント間の通信制御方法であって、制御手段が前記汎用制御部との間で少なくともIOアクセスの対象となるエンドポイントを相互に対応付ける制御情報の同期処理を実行し、前記汎用制御部から転送開始要求を送信元として受信すると、第1転送手段が前記制御情報を参照して下位のエンドポイントから受信したデータに対して転送先のエンドポイントへ転送するための処理を実行して上位の通信機器へ送信し、前記汎用制御部から転送開始要求を転送先として受信すると、第2転送手段が前記上位の通信機器から受信したデータに対して転送先のエンドポイントへ転送するための処理を実行して当該転送先のエンドポイントへ送信する、を有することを特徴とする。   An inter-endpoint communication control method according to the present invention is a communication control method between end points in a communication system using a high-speed serial interface in which a plurality of communication devices are hierarchically connected from a general-purpose control unit to a plurality of end points. When the control means executes a synchronization process of control information for associating at least an endpoint that is an IO access target with the general-purpose control unit, and receives a transfer start request from the general-purpose control unit as a transmission source, One transfer means executes processing for transferring data received from a lower-order endpoint with reference to the control information to a transfer-destination endpoint, and transmits the data to a higher-order communication device. When the transfer start request is received as the transfer destination, the second transfer means transfers the data received from the host communication device. Transmitting executes processing for transferring the endpoint to endpoint of the destination, and having a.

本発明によるプログラムは、汎用制御部から複数のエンドポイントまで複数の通信機器が階層的に接続された高速シリアルインタフェースを用いた通信システムにおけるエンドポイント間の通信制御装置としてプログラム制御プロセッサを機能させるためのプログラムであって、前記汎用制御部との間で少なくともIOアクセスの対象となるエンドポイントを相互に対応付ける制御情報の同期処理を実行し、前記汎用制御部から転送開始要求を送信元として受信すると、第1転送手段が前記制御情報を参照して下位のエンドポイントから受信したデータに対して転送先のエンドポイントへ転送するための処理を実行して上位の通信機器へ送信し、前記汎用制御部から転送開始要求を転送先として受信すると、第2転送手段が前記上位の通信機器から受信したデータに対して転送先のエンドポイントへ転送するための処理を実行して当該転送先のエンドポイントへ送信する、ように前記プログラム制御プロセッサを機能させることを特徴とする。   A program according to the present invention causes a program control processor to function as a communication control apparatus between endpoints in a communication system using a high-speed serial interface in which a plurality of communication devices are hierarchically connected from a general-purpose control unit to a plurality of endpoints. And executing a synchronization process of control information for associating at least an endpoint that is an IO access target with the general-purpose control unit, and receiving a transfer start request from the general-purpose control unit as a transmission source. The first transfer means executes processing for transferring the data received from the lower-order endpoint with reference to the control information to the transfer-destination endpoint, and transmits the data to the higher-order communication device. When the transfer start request is received from the transfer unit as the transfer destination, the second transfer means sends the upper communication device Wherein the running process for transfer to the destination endpoint with respect et received data transmitted to the endpoint of the transfer destination, the functioning of the said program-controlled processor such.

本発明によれば、エンドポイント側で自律的に他のエンドポイントに対するIOアクセスが可能となる。   According to the present invention, IO access to other endpoints can be autonomously performed on the endpoint side.

本発明の第1実施形態によるEP間通信制御装置の機能的構成を示すブロック図である。It is a block diagram which shows the functional structure of the communication control apparatus between EP by 1st Embodiment of this invention. 本発明の第1実施形態によるEP間通信制御装置を採用したPCIe通信システムの一例を示すシステム構成図である。1 is a system configuration diagram showing an example of a PCIe communication system employing an inter-EP communication control device according to a first embodiment of the present invention. 図2に示すPCIe通信システムにおけるコンフィグレーション処理の一例を示すシーケンス図である。FIG. 3 is a sequence diagram illustrating an example of configuration processing in the PCIe communication system illustrated in FIG. 2. 図2に示すPCIe通信システムにおけるVF(Virtual Function)を有効にするための処理の一例を示すシーケンス図である。FIG. 3 is a sequence diagram illustrating an example of processing for enabling a VF (Virtual Function) in the PCIe communication system illustrated in FIG. 2. 図2に示すPCIe通信システムにおけるEP間のIOアクセス通信の一例を示すシーケンス図である。It is a sequence diagram which shows an example of IO access communication between EP in the PCIe communication system shown in FIG. 図1に示すEP間通信制御装置にて参照されるテーブル内容の一例を示す模式図である。It is a schematic diagram which shows an example of the table content referred with the communication control apparatus between EP shown in FIG. 図2に示すPCIe通信システムにおけるEP間でのVFの対応付けを示す模式図である。It is a schematic diagram which shows matching of VF between EP in the PCIe communication system shown in FIG. 本発明の第2実施形態によるEP間IOアクセス通信システムの一例を示すシステム構成図である。It is a system block diagram which shows an example of the IO access communication system between EP by 2nd Embodiment of this invention. 一般的なPCIeシステムの一例を示すシステム構成図である。It is a system configuration diagram showing an example of a general PCIe system.

以下、本発明を実施するための形態について図面を参照して詳細に説明する。なお、本発明は、以下に述べる実施形態により限定されるものではない。   Hereinafter, embodiments for carrying out the present invention will be described in detail with reference to the drawings. In addition, this invention is not limited by embodiment described below.

1.EP間通信制御装置
本発明の第1実施形態によるEP間通信制御装置は、PCIeスイッチ等の上位機器とエンドポイントEPとの間に接続され、各EPに対応するデバイスドライバが装備されているものとする。また、本実施形態におけるエンドポイントEPにはPCI-SIG策定のSR-IOV(Single Root I/O Virtualization)機能が設けられているものとする。なお、後述するように、EP間通信制御装置は、システム全体を制御するCPUとEPとの間またはEP-EP間のデータスイッチング動作を行うので、図面ではe2eSW(end point to end point switch)と表示される。
1. Inter-EP communication control apparatus The inter-EP communication control apparatus according to the first embodiment of the present invention is connected between a host device such as a PCIe switch and an end point EP, and is equipped with a device driver corresponding to each EP. And Further, it is assumed that the endpoint EP in this embodiment is provided with an SR-IOV (Single Root I / O Virtualization) function developed by PCI-SIG. As will be described later, the inter-EP communication control device performs data switching operation between the CPU and the EP or the EP-EP that controls the entire system. Therefore, in the drawing, e2eSW (end point to end point switch) Is displayed.

図1において、EP間通信制御装置(e2eSW)100は、CPU側の上位機器に接続するためのPCIeポート101とエンドポイントEP に接続するためのポート102とを有し、さらにRTI(Routing to Inside)機能部103とRTO(Routing to Outside)機能部104と、装置100の動作制御を行う制御部105とを有する。   In FIG. 1, an inter-EP communication control device (e2eSW) 100 has a PCIe port 101 for connecting to a host device on the CPU side and a port 102 for connecting to an endpoint EP, and further RTI (Routing to Inside). ) A functional unit 103, an RTO (Routing to Outside) functional unit 104, and a control unit 105 that controls the operation of the apparatus 100.

RTI機能部103は、ポート102からPCIeポート101へのアップストリーム方向のデータ転送機能部であり、受信部110、メモリ111、送信部112およびテーブル113を含む。受信部110はポート102を通してEPからデータを受信し、受信データをバッファ機能を有するメモリ111に退避させる。送信部112は、テーブル113を参照してメモリ111に格納されたデータのあて先EPのデバイスドライバを選択し、宛先EPへデータ転送を行う。後述するように、テーブル113のテーブル情報はCPUと同期処理が行われる。   The RTI function unit 103 is a data transfer function unit in the upstream direction from the port 102 to the PCIe port 101, and includes a reception unit 110, a memory 111, a transmission unit 112, and a table 113. The receiving unit 110 receives data from the EP through the port 102 and saves the received data in the memory 111 having a buffer function. The transmission unit 112 refers to the table 113, selects the device driver of the data destination EP stored in the memory 111, and performs data transfer to the destination EP. As will be described later, the table information of the table 113 is synchronized with the CPU.

RTO機能部104はPCIeポート101からポート102へのダウンストリーム方向のデータ転送機能部であり、受信部120、メモリ121、送信部122およびテーブル123を含む。受信部120はPCIeポート101を通して上位デバイスからデータを受信し、受信データをバッファ機能を有するメモリ121に退避させる。送信部122は、テーブル123を参照してメモリ121に格納されたデータをポート102に接続されているEPへ転送する。後述するように、テーブル123のテーブル情報は、RTI機能部103のテーブル113と共通であり、CPUと同期処理が行われる。   The RTO function unit 104 is a data transfer function unit in the downstream direction from the PCIe port 101 to the port 102, and includes a reception unit 120, a memory 121, a transmission unit 122, and a table 123. The receiving unit 120 receives data from the upper device through the PCIe port 101 and saves the received data in the memory 121 having a buffer function. The transmission unit 122 refers to the table 123 and transfers the data stored in the memory 121 to the EP connected to the port 102. As will be described later, the table information of the table 123 is common to the table 113 of the RTI function unit 103, and synchronization processing with the CPU is performed.

制御部105はCPUとの制御情報の同期を管理し、後述するように、RTI機能部103およびRTO機能部104のデータ転送管理を行うことで汎用的な要求を処理する。制御部105は仮想的なコンフィグレーションType1レジスタを有し、後述するコンフィグレーション処理においてPCIeポート#1を通してCPUによってWrite設定され、それに対する応答を返すことで、CPUからは既存のPCIeスイッチとして認識される。   The control unit 105 manages synchronization of control information with the CPU, and processes general-purpose requests by performing data transfer management of the RTI function unit 103 and the RTO function unit 104, as will be described later. The control unit 105 has a virtual configuration Type 1 register, which is set to Write by the CPU through the PCIe port # 1 in the configuration processing described later, and returns a response to it, so that the CPU recognizes it as an existing PCIe switch. The

たとえば、電源投入時にCPUから発せられるコンフィグレーションサイクルにより、各EPにおいて設定されているコンフィグレーション情報(VF BAR、First VF Offset、VF Stride等)を基にVF(Virtual Function)が生成され、BDF(Bus/Device/Function)番号の設定が行われる。CPUが装置100の制御部105との間でマッピングテーブル情報の同期を取ることで、EP間通信制御装置100は各EPに存在するVFのアドレス、BDFを知ることが可能となる。これにより、本実施形態によるEP間EP間通信制御装置100は、一般的なPCIeシステムにおいてCPU側で行っているIOアクセスの命令を代行することができる。すなわち、EP間通信制御装置100はEPからのデータの宛先情報によって転送先を振り分けることができ、IOアクセスにおいてもEP間で直接通信することが可能となる。   For example, a VF (Virtual Function) is generated based on configuration information (VF BAR, First VF Offset, VF Stride, etc.) set in each EP by a configuration cycle issued from the CPU when the power is turned on. Bus / Device / Function) number is set. When the CPU synchronizes the mapping table information with the control unit 105 of the apparatus 100, the inter-EP communication control apparatus 100 can know the address and BDF of the VF existing in each EP. As a result, the inter-EP communication control apparatus 100 according to the present embodiment can substitute an IO access command performed on the CPU side in a general PCIe system. That is, the inter-EP communication control apparatus 100 can assign the transfer destination based on the destination information of the data from the EP, and can directly communicate between the EPs even in the IO access.

なお、制御部105はプログラム制御プロセッサ上で図示しない記憶装置に格納されたプログラムを実行することにより上述した同等の機能を実現することも可能である。   The control unit 105 can also realize the above-described equivalent function by executing a program stored in a storage device (not shown) on the program control processor.

2.IOアクセス通信システム
IOアクセス通信システムにおいて、図1に示すEP間通信制御装置100は各EPとその上位のPCIeデバイスとの間に接続される。ここで、EPはPCI-SIG策定のSR-IOV機能を有するSR-IOV対応EPであるものとする。
2. IO access communication system
In the IO access communication system, the inter-EP communication control apparatus 100 shown in FIG. 1 is connected between each EP and its upper PCIe device. Here, it is assumed that the EP is an SR-IOV compatible EP having an SR-IOV function formulated by PCI-SIG.

図2に示すように、本実施形態によるIOアクセス通信システムは、既存のIOアクセス通信システムと同様にCPU201、ルートコンプレックス202、メインメモリ203、PCIeスイッチ204、および、SR-IOV対応EP206−1〜206−nを有するが、さらに、PCIeスイッチ204のn個のPCIeポートとそれらにそれぞれ対応するSR-IOV対応EP206−1〜206−n(Device#1〜Device#n)との間に、n個のEP間通信制御装置205−1〜205−n(e2eSW#1〜e2eSW#n)がそれぞれ接続されている。すなわち、CPU201、ルートコンプレックス202、メインメモリ203、PCIeスイッチ204などは汎用のものを利用するが、EP間通信制御装置e2eSW#iをEP206−iの前段に配置することによってEP間での直接IOアクセス(CPUを介在しないIOアクセス)が可能となる(ここで、i=1,2,・・・n)。   As shown in FIG. 2, the IO access communication system according to the present embodiment is similar to the existing IO access communication system in that the CPU 201, the root complex 202, the main memory 203, the PCIe switch 204, and the SR-IOV compatible EPs 206-1. 206-n, but n between the PCIe ports of the PCIe switch 204 and the SR-IOV compatible EPs 206-1 to 206-n (Device # 1 to Device # n) respectively corresponding to the n PCIe ports The inter-EP communication control devices 205-1 to 205-n (e2eSW # 1 to e2eSW # n) are respectively connected. That is, the CPU 201, the root complex 202, the main memory 203, the PCIe switch 204, and the like use general-purpose ones. However, by arranging the inter-EP communication control device e2eSW # i before the EP 206-i, direct IO between the EPs Access (IO access without CPU intervention) is possible (where i = 1, 2,... N).

具体的には、電源投入後にCPUによってコンフィグレーションアクセスが実施されることによって、各EP間通信制御装置e2eSW#iにおいてSR-IOVコンフィグレーション空間に設定されている情報に基づいてm個のバーチャルファンクションVFi1〜VFimが生成され、生成されたVFを考慮したEPのアドレスマッピング情報を対応するEP間通信制御装置e2eSW#iとの間で同期を取ることでEP間の直接IOアクセスを可能にする。   Specifically, the configuration access is performed by the CPU after the power is turned on, so that m virtual functions based on information set in the SR-IOV configuration space in each inter-EP communication control device e2eSW # i. VFi1 to VFim are generated, and the address mapping information of the EP considering the generated VF is synchronized with the corresponding inter-EP communication control device e2eSW # i, thereby enabling direct IO access between the EPs.

図2において、一例として、EP206−p(Device#p)のバーチャルファンクションVFp1とEP206−q(Device#q)のバーチャルファンクションVFq1との間で直接転送されるデータの流れを破線の矢印で示す。EP206−p(Device#p)のバーチャルファンクションVFp1からEP206−q(Device#q)のバーチャルファンクションVFq1宛のデータは、EP間通信制御装置e2eSW#pのRTI機能部、PCIeスイッチ204およびEP間通信制御装置e2eSW#qのRTO機能部を通して、EP間EP間通信制御装置205−qへ転送される。このように、初期設定を除いて、EP間でCPUを介在させることなくデータ転送が実行される。   In FIG. 2, as an example, the flow of data directly transferred between the virtual function VFp1 of EP206-p (Device # p) and the virtual function VFq1 of EP206-q (Device # q) is indicated by a dashed arrow. Data from the virtual function VFp1 of EP206-p (Device # p) to the virtual function VFq1 of EP206-q (Device # q) is the communication between the RTI function unit of the inter-EP communication control device e2eSW # p, the PCIe switch 204, and the inter-EP communication. The data is transferred to the inter-EP communication control device 205-q through the RTO function unit of the control device e2eSW # q. As described above, data transfer is executed between the EPs without intervention of the CPU except for the initial setting.

3.EP間IOアクセス通信
本発明では、電源投入時から、IOアクセス通信システムが構築されるまでのシーケンスは既存のものと同一であることを想定している。EP間におけるIOアクセス通信処理要求が発生したとき、CPUと各EPとの間で、制御情報の同期シーケンスが作動し、それがトリガとなってEP間のIOアクセス通信が実現する。既存のIOアクセス通信システムでは、データを一つ転送するのにもCPUが間に介在しなければならないが、その処理を省略することが可能となる。
3. Inter-EP IO access communication In the present invention, it is assumed that the sequence from when the power is turned on to when the IO access communication system is constructed is the same as the existing one. When an IO access communication processing request between EPs occurs, a control information synchronization sequence is activated between the CPU and each EP, and this triggers IO access communication between the EPs. In the existing IO access communication system, the CPU must intervene to transfer one data, but the processing can be omitted.

3.1)コンフィグレーション処理
図3において、CPU201は、電源投入直後に、PCIeバス配下のEPを検索するバスサイクルを発生させる(実際はルートコンプレックス(RC)202が発生させる)。バスサイクルを受取ったEP間通信制御装置e2eSW#iがそれに対して応答することでコンフィグレーションアクセスが完了する(ステップ301)。これにより、EP間通信制御装置e2eSW#iのアドレスおよびBDF番号が決定される。
3.1) Configuration Processing In FIG. 3, the CPU 201 generates a bus cycle for searching for an EP under the PCIe bus immediately after power-on (actually, the root complex (RC) 202 is generated). The inter-EP communication control device e2eSW # i that has received the bus cycle responds to it to complete the configuration access (step 301). Thus, the address and BDF number of the inter-EP communication control device e2eSW # i are determined.

すべてのEP間通信制御装置e2eSW(ここではe2eSW#pおよびe2eSW#q)に対してコンフィグレーションアクセスが完了すると、CPU201はさらに先のデバイスに対してコンフィグレーションバスサイクルを発生させ、バスサイクルを受取ったEPがそれに対して応答することでEPに対するコンフィグレーションアクセスが完了する(ステップ302)。このコンフィグレーションアクセスに対しては、EP間通信制御装置e2eSW#iは既存のPCIブリッジと同様にほぼスルー転送を行う。これによりCPU201がEPをメモリ空間上にマッピングする事を可能にする。   When configuration access is completed for all the inter-EP communication control devices e2eSW (here e2eSW # p and e2eSW # q), the CPU 201 generates a configuration bus cycle for the further device and receives the bus cycle. When the EP responds, the configuration access to the EP is completed (step 302). For this configuration access, the inter-EP communication control device e2eSW # i performs through transfer almost like the existing PCI bridge. This enables the CPU 201 to map the EP onto the memory space.

汎用PCIeスイッチは論理的には複数のPCI-PCIブリッジで構成されていると考えることができるので、CPUによるコンフィグレーションサイクルの結果、汎用のPCIeスイッチは自らの配下にどれだけEPが存在し、アドレスはどの範囲内にいるかを判断することができる。したがって、PCIブリッジ動作と同様に、外部より入ってきたデータの宛先アドレスを確認することによるスイッチ動作が可能となる。   Since a general-purpose PCIe switch can be considered to be logically composed of multiple PCI-PCI bridges, as a result of the configuration cycle by the CPU, the general-purpose PCIe switch has an EP under its own control. It is possible to determine which range the address is in. Therefore, similarly to the PCI bridge operation, the switch operation by confirming the destination address of the data entered from the outside is possible.

また、本システムではEPがSR-IOV機能に対応していることを想定しているため、VFを有効にするために、図4に示すシーケンスが実行される。ただし、CPU201によるSR-IOV対応EPのコンフィグレーションアクセスの結果もたらされるアドレスマッピング等において、EP間通信制御装置e2eSW#iは影響を与えないので、簡単に説明する。   Further, in this system, since it is assumed that the EP supports the SR-IOV function, the sequence shown in FIG. 4 is executed in order to enable the VF. However, since the inter-EP communication control device e2eSW # i does not affect the address mapping or the like resulting from the configuration access of the SR-IOV-compatible EP by the CPU 201, it will be briefly described.

図4において、CPU201から各EPに対してコンフィグレーションType0レジスタをリードし、SR-IOV Capabilityを発見した場合には、そのファンクションをフィジカルファンクション(PF:Physical function)と判定する(ステップ303)。続いて、SR-IOV Capabilityから有効VF数を検索し、検索できたVF数内でVFを有効化する(ステップ304)。そして、VF Stride, First VF Offset等のRID(Requester ID)情報を整理し、VF BAR, System Page Size等を用いてメモリマップを整理する(ステップ305)。   In FIG. 4, when the configuration type 0 register is read from the CPU 201 to each EP and SR-IOV Capability is found, the function is determined to be a physical function (PF: Physical function) (step 303). Subsequently, the number of valid VFs is retrieved from the SR-IOV Capability, and the VF is validated within the retrieved number of VFs (step 304). Then, RID (Requester ID) information such as VF Stride and First VF Offset is organized, and a memory map is organized using VF BAR, System Page Size, etc. (Step 305).

3.2)テーブル情報
上述したようにコンフィグレーションアクセスにより生成されたアドレスマッピング情報やBDF番号等の制御情報はEP間通信制御装置e2eSW#iのテーブル情報として汎用CPU201との間で同期が取られる。またEP間通信制御装置e2eSW#iは、対応するデバイスドライバをインストールして送信部112、122の送信動作を可能にする。
3.2) Table information As described above, control information such as address mapping information and BDF number generated by configuration access is synchronized with the general-purpose CPU 201 as table information of the inter-EP communication control device e2eSW # i. . Further, the inter-EP communication control device e2eSW # i installs a corresponding device driver and enables the transmission units 112 and 122 to perform the transmission operation.

図5は、図1におけるテーブル113および123のテーブル情報の一例を示す。テーブル情報では、IOアクセスの送信元を示す送信元アドレス、送信元BDFおよび送信元VFの情報と、転送先を示す転送先アドレス、転送先BDFおよび転送先VFの情報と、利用するデバイスドライバと、の対応が示されている。各EPでのVFのアドレスとBDF等は一意に決定され、それぞれのVFは他のEPのVFと1対多で対応付けられる。EP間通信制御装置e2eSW#iは、このようなテーブル情報を利用することでRTI機能部103およびRTO機能部104にてEP間IOアクセス通信を実現する。なお、テーブル情報は、RTI機能部内テーブル113、RTO機能部内テーブル123ともに共通であり、それぞれの参照先を区別することで転送を実現することができる。   FIG. 5 shows an example of the table information of the tables 113 and 123 in FIG. In the table information, the source address indicating the source of IO access, the information of the source BDF and the source VF, the information of the transfer destination address indicating the transfer destination, the information of the transfer destination BDF and the transfer destination VF, and the device driver to be used The correspondence of is shown. The VF address, BDF, etc. in each EP are uniquely determined, and each VF is associated with the VFs of other EPs in a one-to-many manner. The inter-EP communication control device e2eSW # i realizes inter-EP IO access communication in the RTI function unit 103 and the RTO function unit 104 by using such table information. The table information is common to both the RTI function unit internal table 113 and the RTO function unit internal table 123, and transfer can be realized by distinguishing each reference destination.

3.3)データ転送処理
次に、EP間のIOアクセス通信について図6および図7を参照しながら説明する。本システムにおいて、EP間のデータ転送を行うトリガとして制御情報の同期を行う。
3.3) Data Transfer Processing Next, IO access communication between EPs will be described with reference to FIGS. In this system, control information is synchronized as a trigger for data transfer between EPs.

図6において、まず、CPU201は、EP(Device#p)とEP(Device#q)との間でIOアクセス通信要求が発生した場合、送信元および転送先EPにそれぞれ対応するEP間通信制御装置e2eSW#pおよびEP間通信制御装置e2eSW#qに対して、それぞれ特殊なメッセージ・リクエストを送信して転送開始要求を行う(ステップ401)。   In FIG. 6, first, when an IO access communication request is generated between an EP (Device # p) and an EP (Device # q), the CPU 201 inter-EP communication control device corresponding to each of the transmission source and transfer destination EPs. A special message request is transmitted to e2eSW # p and the inter-EP communication control device e2eSW # q to make a transfer start request (step 401).

この転送開始要求を受信すると、各EP間通信制御装置e2eSWの制御部105はCPU201との間でテーブル情報の同期を行う(ステップ402)。すなわち、制御部105は、CPU201から制御情報を受信してRTI機能部103のテーブル113およびRTO機能部104のテーブル123に格納すると、その応答を返すことで同期完了を通知する。現在のPCI-SIG規定ではトランザクションとしてEP間で直接命令するものは規定されていないため、本システムではメッセージ・リクエストを本システム固有のパケットとして送出するものとする。   When this transfer start request is received, the control unit 105 of each inter-EP communication control device e2eSW synchronizes table information with the CPU 201 (step 402). That is, when the control unit 105 receives control information from the CPU 201 and stores it in the table 113 of the RTI function unit 103 and the table 123 of the RTO function unit 104, the control unit 105 notifies the synchronization completion by returning the response. Since the current PCI-SIG standard does not stipulate what is directly commanded between EPs as a transaction, this system shall send a message request as a packet specific to this system.

テーブル同期がCPUと各e2eSWの間において行われることによって、図7に示すような各EPにおけるVFを対応付けるメッシュ構造が構築される。すなわち、図5における送信元アドレスおよび送信元VFと転送先アドレスおよび転送先VFとによる対応関係が構築される。   By performing table synchronization between the CPU and each e2eSW, a mesh structure associating VF in each EP as shown in FIG. 7 is constructed. That is, the correspondence relationship between the transmission source address and transmission source VF and the transfer destination address and transfer destination VF in FIG. 5 is established.

こうしてテーブル同期が完了すると、送信元となるEP間通信制御装置e2eSW#pの制御部105は送信部122を制御してEP(Device#p)の該当VFに対して転送リクエストを送信する(ステップ403)。EP(Device#p)は、対象VFに対する転送リクエストを受信すると、EP間通信制御装置e2eSW#pに対して当該データのバースト転送を実行する(ステップ404)。   When the table synchronization is completed in this way, the control unit 105 of the inter-EP communication control device e2eSW # p as the transmission source controls the transmission unit 122 to transmit a transfer request to the corresponding VF of EP (Device # p) (step 403). When the EP (Device # p) receives the transfer request for the target VF, the EP (Device # p) performs burst transfer of the data to the inter-EP communication control device e2eSW # p (step 404).

EP(Device#p)からポート102を通してデータを受信すると、EP間通信制御装置e2eSW#pの受信部110は受信データをメモリ111に退避させる。続いて送信部112は、テーブル113のテーブル情報を参照して、転送先のEP(Device#q)で利用されるデバイスドライバを動作させ、転送先アドレス、転送先VFのBDFなどを確認してデータパケットのヘッダ部をEP間通信制御装置e2eSW#qの転送先アドレスに書き換え、PCIeポート101からPCIeスイッチ204へ送出する(ステップ405)。   When data is received from the EP (Device # p) through the port 102, the receiving unit 110 of the inter-EP communication control device e2eSW # p saves the received data in the memory 111. Subsequently, the transmission unit 112 refers to the table information of the table 113, operates the device driver used in the transfer destination EP (Device # q), and confirms the transfer destination address, the BDF of the transfer destination VF, and the like. The header portion of the data packet is rewritten to the transfer destination address of the inter-EP communication control device e2eSW # q, and is sent from the PCIe port 101 to the PCIe switch 204 (step 405).

PCIeスイッチ204からパケットを受信したEP間通信制御装置e2eSW#qの受信部120は受信データをメモリ121に退避させる。続いて送信部122は、テーブル123を参照して、受信データの宛先アドレスとテーブル123の転送先アドレスが、自己の配下に存在するVFと一致していることを確認すると、当該データをEP(Device#q)へ転送するステップ406)。こうして天童が完了すると、EP間通信制御装置e2eSW#pはCPU201に対して転送完了通知を送出する(ステップ407)。   The receiving unit 120 of the inter-EP communication control device e2eSW # q that has received the packet from the PCIe switch 204 saves the received data in the memory 121. Subsequently, when the transmission unit 122 refers to the table 123 and confirms that the destination address of the reception data and the transfer destination address of the table 123 match the VF existing under its own, the transmission unit 122 stores the data in EP ( Step 406) of transferring to Device # q). When the Tendo is completed in this manner, the inter-EP communication control device e2eSW # p sends a transfer completion notification to the CPU 201 (step 407).

4.効果
以上説明したように、本実施形態によれば、CPU201がEP間転送開始要求(メッセージ・リクエスト)を対応するEP間通信制御装置へ送出し、それによりCPU201とEP間通信制御装置との間でテーブル情報の同期がとれれば、当該EP間で直接IOアクセスが可能となり、CPUを介在させることなくデータ転送を行うことができる。これにより、CPUへの負荷を軽減することができる。
4). Effects As described above, according to the present embodiment, the CPU 201 sends an inter-EP transfer start request (message request) to the corresponding inter-EP communication control device, and thereby, between the CPU 201 and the inter-EP communication control device. Thus, if the table information is synchronized, direct IO access between the EPs becomes possible, and data transfer can be performed without intervention of the CPU. As a result, the load on the CPU can be reduced.

また、SR-IOV対応のEPを利用することで、複数のEPから一つのEPに対して直接IOアクセスが可能となりEPでの処理速度の向上が期待できる。   Also, by using SR-IOV compatible EPs, multiple EPs can directly access one EP, and the processing speed of EPs can be expected to improve.

5.他の実施形態
図8に示すように、本発明の他の実施形態によるIOアクセス通信システムでは、基本的構成は図2に示す実施形態と同じであるが、EP間通信制御装置e2eSWを備えたPCIeボード501としてEP(Device)を設計することもできる。この場合、既存のサーバに設置されている拡張PCIeスロット502の数だけIO間通信を実現することが可能になる。
5. Other Embodiments As shown in FIG. 8, an IO access communication system according to another embodiment of the present invention has the same basic configuration as the embodiment shown in FIG. 2, but includes an inter-EP communication control device e2eSW. An EP (Device) can be designed as the PCIe board 501. In this case, it is possible to realize inter-IO communication by the number of expansion PCIe slots 502 installed in an existing server.

また、図6に示す実施形態では、CPUからのメッセージ・リクエストにトリガとする制御情報の同期の完了がEP間のIOアクセスを起こすトリガであったが、CPUと制御テーブルの同期を行った後にCPUからのメッセージ・リクエストをEP間のIOアクセスを起こすトリガとすることもできる。   In the embodiment shown in FIG. 6, the completion of the synchronization of the control information triggered by the message request from the CPU is a trigger that causes the IO access between the EPs, but after the synchronization of the CPU and the control table is performed. A message request from the CPU can also be used as a trigger for IO access between EPs.

また、図5に示すようにEP間IOアクセス通信の対象となる情報のみをテーブルとして保持していたが、IOアクセスを行う対象だけではなく、IOアクセス通信システムに存在する全てのEPとその中のVFの全ての情報を同期し、トリガとしてCPUからデータ転送命令があった場合のみ、該当するEP間通信制御装置の間でデータ転送を実施することもできる。   Further, as shown in FIG. 5, only the information that is the target of the IO access communication between the EPs is held as a table, but not only the target to perform the IO access but all the EPs existing in the IO access communication system It is also possible to synchronize all the information of the VFs and transfer data between the corresponding inter-EP communication control devices only when there is a data transfer command from the CPU as a trigger.

本発明はPCI Expressを用いた通信システムに適用可能である。   The present invention is applicable to a communication system using PCI Express.

100 EP間通信制御装置(e2eSW)
101 PCIeポート
102 EPに接続するポート
103 RTI(Routing to Inside)機能部
104 RTO(Routing to Outside)機能部
105 制御部
110 受信部
111 メモリ
112 送信部
113 テーブル
120 受信部
121 メモリ
122 送信部
123 テーブル
201 CPU
202 ルートコンプレックス(RC)
203 メモリ
204 PCIeスイッチ
205−p EP間通信制御装置(e2eSW#p)
205−q EP間通信制御装置(e2eSW#q)
206−p EP (Device#p)
206−q EP (Device#q)
100 Inter-EP communication controller (e2eSW)
101 PCIe port 102 Port 103 connected to EP 103 RTI (Routing to Inside) function unit 104 RTO (Routing to Outside) function unit 105 Control unit 110 Reception unit 111 Memory 112 Transmission unit 113 Table 120 Reception unit 121 Memory 122 Transmission unit 123 Table 201 CPU
202 Route Complex (RC)
203 Memory 204 PCIe switch 205-p Communication control device between EPs (e2eSW # p)
205-q Inter-EP communication controller (e2eSW # q)
206-p EP (Device # p)
206-q EP (Device # q)

Claims (21)

高速シリアルインタフェースを用いた通信システムにおけるエンドポイントの通信制御を行う装置であって、
下位のエンドポイントと通信するための第1ポートと、
上位の通信機器と通信するための第2ポートと、
前記通信システムの汎用制御部との間で、少なくともIOアクセスの対象となるエンドポイントを相互に対応付ける制御情報の同期処理を行う制御手段と、
前記制御情報を参照して、前記第1ポートから受信したデータに対して転送先のエンドポイントへ転送するための処理を実行して前記第2ポートを通して送出する第1転送手段と、
前記制御情報を参照して、前記第2ポートから受信したデータに対して転送先のエンドポイントへ転送するための処理を実行して前記第1ポートを通して送出する第2転送手段と、
を有することを特徴とするエンドポイント間通信制御装置。
An apparatus for performing endpoint communication control in a communication system using a high-speed serial interface,
A first port for communicating with lower endpoints;
A second port for communicating with a host communication device;
Control means for performing synchronization processing of control information that correlates at least endpoints that are targets of IO access with the general-purpose control unit of the communication system,
A first transfer means for referring to the control information, executing a process for transferring data received from the first port to a transfer destination endpoint, and sending the data through the second port;
A second transfer means for referring to the control information, executing a process for transferring the data received from the second port to a transfer destination endpoint, and sending the data through the first port;
An inter-endpoint communication control apparatus characterized by comprising:
前記第1転送手段は、
少なくともIOアクセスの対象となるエンドポイントのアドレスマッピング情報およびBDF(Bus Device Function) 番号を含む前記制御情報を格納する第1テーブルと、
前記第1ポートからデータを受信する第1受信手段と、
前記第1テーブルを参照して、前記受信したデータに対して転送先のエンドポイントへ転送するための処理を実行し前記第2ポートを通して送出する第1送信手段と、
を有することを特徴とする請求項1に記載のエンドポイント間通信制御装置。
The first transfer means includes
A first table storing the control information including at least address mapping information of an endpoint subject to IO access and a BDF (Bus Device Function) number;
First receiving means for receiving data from the first port;
A first transmission means for referring to the first table and executing processing for transferring the received data to a destination endpoint and sending it through the second port;
The inter-endpoint communication control device according to claim 1, comprising:
前記制御情報はIOアクセスの対象となるエンドポイントが利用するデバイスドライバ情報を更に含み、前記第1送信手段は前記転送先のエンドポイントに対応するデバイスドライバを選択してデータ転送処理を行うことを特徴とする請求項2に記載のエンドポイント間通信制御装置。   The control information further includes device driver information used by an endpoint that is a target of IO access, and the first transmission unit performs data transfer processing by selecting a device driver corresponding to the transfer destination endpoint. The inter-endpoint communication control apparatus according to claim 2, wherein the inter-endpoint communication control apparatus is characterized. 前記第2転送手段は、
少なくともIOアクセスの対象となるエンドポイントのアドレスマッピング情報およびBDF(Bus Device Function) 番号を含む前記制御情報を格納する第2テーブルと、
前記第2ポートからデータを受信する第2受信手段と、
前記第2テーブルを参照して、前記受信したデータに対して転送先のエンドポイントへ転送するための処理を実行し前記第1ポートを通して送出する第2送信手段と、
を有することを特徴とする請求項1−3のいずれか1項に記載のエンドポイント間通信制御装置。
The second transfer means includes
A second table for storing the control information including at least address mapping information of an endpoint subject to IO access and a BDF (Bus Device Function) number;
Second receiving means for receiving data from the second port;
A second transmission means for referring to the second table and executing the process for transferring the received data to a destination endpoint and sending it through the first port;
The inter-endpoint communication control apparatus according to any one of claims 1 to 3, further comprising:
前記制御情報は、前記IOアクセスの対象となるエンドポイントに設定されたバーチャルファンクション(VF)に関する情報を更に含むことを特徴とする請求項1−4のいずれか1項に記載のエンドポイント間通信制御装置。   5. The inter-endpoint communication according to claim 1, wherein the control information further includes information related to a virtual function (VF) set in the end point targeted for the IO access. 6. Control device. 請求項1−5のいずれか1項に記載のエンドポイント間通信制御装置の前記第1ポートに下位のエンドポイントが接続され、前記第2ポートに前記通信システムのスイッチが接続され、前記スイッチに前記汎用制御部がルートコンプレックスを介して接続していることを特徴とする通信システム。   A lower-order endpoint is connected to the first port of the inter-endpoint communication control device according to any one of claims 1 to 5, a switch of the communication system is connected to the second port, and the switch A communication system, wherein the general-purpose control unit is connected via a root complex. 請求項1−5のいずれか1項に記載のエンドポイント間通信制御装置と、前記第1ポートに下位のエンドポイントとして接続されたIOデバイスとが一体構成され、前記第2ポートが拡張PCI Expressスロットに接続可能であることを特徴とするPCI Expressボード。   The inter-endpoint communication control apparatus according to any one of claims 1 to 5, and an IO device connected as a lower endpoint to the first port are integrally configured, and the second port is an expansion PCI Express A PCI Express board that can be connected to a slot. 汎用制御部から複数のエンドポイントまで複数の通信機器が階層的に接続された高速シリアルインタフェースを用いた通信システムにおけるエンドポイント間の通信制御方法であって、
制御手段が前記汎用制御部との間で少なくともIOアクセスの対象となるエンドポイントを相互に対応付ける制御情報の同期処理を実行し、
前記汎用制御部から転送開始要求を送信元として受信すると、第1転送手段が前記制御情報を参照して下位のエンドポイントから受信したデータに対して転送先のエンドポイントへ転送するための処理を実行して上位の通信機器へ送信し、
前記汎用制御部から転送開始要求を転送先として受信すると、第2転送手段が前記上位の通信機器から受信したデータに対して転送先のエンドポイントへ転送するための処理を実行して当該転送先のエンドポイントへ送信する、
を有することを特徴とするエンドポイント間通信制御方法。
A communication control method between endpoints in a communication system using a high-speed serial interface in which a plurality of communication devices are hierarchically connected from a general-purpose control unit to a plurality of endpoints,
The control means executes a synchronization process of control information that correlates at least the endpoints that are the targets of IO access with the general-purpose control unit,
When a transfer start request is received from the general-purpose control unit as a transmission source, the first transfer unit refers to the control information and performs processing for transferring data received from a lower-order endpoint to a transfer destination endpoint. Execute and send to the higher-level communication device,
When a transfer start request is received as a transfer destination from the general-purpose control unit, the second transfer means executes processing for transferring the data received from the higher-level communication device to the transfer destination endpoint, and the transfer destination To the endpoint of
An inter-endpoint communication control method characterized by comprising:
前記第1転送手段は、
少なくともIOアクセスの対象となるエンドポイントのアドレスマッピング情報およびBDF(Bus Device Function) 番号を含む前記制御情報を第1テーブルに格納し、
下位のエンドポイントからデータを受信し、
前記第1テーブルを参照して、前記受信したデータに対して転送先のエンドポイントへ転送するための処理を実行して上位の通信機器へ送信する、
ことを特徴とする請求項8に記載のエンドポイント間通信制御方法。
The first transfer means includes
The control information including at least the address mapping information of the endpoint subject to IO access and the BDF (Bus Device Function) number is stored in the first table,
Receive data from lower endpoints,
Referring to the first table, a process for transferring the received data to a transfer destination endpoint is executed and transmitted to a higher-level communication device.
The inter-endpoint communication control method according to claim 8.
前記制御情報はIOアクセスの対象となるエンドポイントが利用するデバイスドライバ情報を更に含み、前記第1転送手段が前記転送先のエンドポイントに対応するデバイスドライバを選択してデータ転送処理を行うことを特徴とする請求項9に記載のエンドポイント間通信制御方法。   The control information further includes device driver information used by an endpoint that is an IO access target, and the first transfer unit selects a device driver corresponding to the transfer destination endpoint and performs data transfer processing. The inter-endpoint communication control method according to claim 9, wherein: 前記第2転送手段は、
少なくともIOアクセスの対象となるエンドポイントのアドレスマッピング情報およびBDF(Bus Device Function) 番号を含む前記制御情報を第2テーブルに格納し、
前記上位の通信機器からデータを受信し、
前記第2テーブルを参照して、前記受信したデータに対して転送先のエンドポイントへ転送するための処理を実行して前記転送先のエンドポイントへ送信する、
ことを特徴とする請求項8−10のいずれか1項に記載のエンドポイント間通信制御方法。
The second transfer means includes
Storing the control information including at least the address mapping information and BDF (Bus Device Function) number of the endpoint subject to IO access in the second table;
Receiving data from the higher-level communication device;
Referring to the second table, the process for transferring the received data to the transfer destination endpoint is executed and transmitted to the transfer destination endpoint.
The inter-endpoint communication control method according to any one of claims 8 to 10.
前記制御情報は、前記IOアクセスの対象となるエンドポイントに設定されたバーチャルファンクション(VF)に関する情報を更に含むことを特徴とする請求項8−11のいずれか1項に記載のエンドポイント間通信制御方法。   The inter-endpoint communication according to any one of claims 8 to 11, wherein the control information further includes information related to a virtual function (VF) set in an end point that is a target of the IO access. Control method. 前記制御手段は前記転送開始要求を受信すると前記制御情報の同期処理を実行し、当該同期処理終了をトリガとして前記第1転送手段あるいは前記第2転送手段が転送処理を開始することを特徴とする請求項8−12のいずれか1項に記載のエンドポイント間通信制御方法。   When the control means receives the transfer start request, the control means executes a synchronization process of the control information, and the first transfer means or the second transfer means starts the transfer process triggered by the end of the synchronization process. The inter-endpoint communication control method according to any one of claims 8-12. 前記制御手段による前記制御情報の同期処理終了後に、前記汎用制御部からの転送開始要求をトリガとして前記第1転送手段あるいは前記第2転送手段が転送処理を開始することを特徴とする請求項8−12のいずれか1項に記載のエンドポイント間通信制御方法。   9. The first transfer unit or the second transfer unit starts transfer processing with a transfer start request from the general-purpose control unit as a trigger after the control information synchronization processing by the control unit ends. The inter-endpoint communication control method according to any one of -12. 汎用制御部から複数のエンドポイントまで複数の通信機器が階層的に接続された高速シリアルインタフェースを用いた通信システムにおけるエンドポイント間の通信制御装置としてプログラム制御プロセッサを機能させるためのプログラムであって、
前記汎用制御部との間で少なくともIOアクセスの対象となるエンドポイントを相互に対応付ける制御情報の同期処理を実行し、
前記汎用制御部から転送開始要求を送信元として受信すると、第1転送手段が前記制御情報を参照して下位のエンドポイントから受信したデータに対して転送先のエンドポイントへ転送するための処理を実行して上位の通信機器へ送信し、
前記汎用制御部から転送開始要求を転送先として受信すると、第2転送手段が前記上位の通信機器から受信したデータに対して転送先のエンドポイントへ転送するための処理を実行して当該転送先のエンドポイントへ送信する、
ように前記プログラム制御プロセッサを機能させることを特徴とするプログラム。
A program for causing a program control processor to function as a communication control device between endpoints in a communication system using a high-speed serial interface in which a plurality of communication devices are hierarchically connected from a general-purpose control unit to a plurality of endpoints,
Execute synchronization processing of control information that correlates at least the endpoints that are the targets of IO access with the general-purpose control unit,
When a transfer start request is received from the general-purpose control unit as a transmission source, the first transfer unit refers to the control information and performs processing for transferring data received from a lower-order endpoint to a transfer destination endpoint. Execute and send to the higher-level communication device,
When a transfer start request is received as a transfer destination from the general-purpose control unit, the second transfer means executes processing for transferring the data received from the higher-level communication device to the transfer destination endpoint, and the transfer destination To the endpoint of
A program for causing the program control processor to function as described above.
前記第1転送手段が、
少なくともIOアクセスの対象となるエンドポイントのアドレスマッピング情報およびBDF(Bus Device Function) 番号を含む前記制御情報を第1テーブルに格納し、
下位のエンドポイントからデータを受信し、
前記第1テーブルを参照して、前記受信したデータに対して転送先のエンドポイントへ転送するための処理を実行して上位の通信機器へ送信する、
ように前記プログラム制御プロセッサを機能させることを特徴とする請求項15に記載のプログラム。
The first transfer means is
The control information including at least the address mapping information of the endpoint subject to IO access and the BDF (Bus Device Function) number is stored in the first table,
Receive data from lower endpoints,
Referring to the first table, a process for transferring the received data to a transfer destination endpoint is executed and transmitted to a higher-level communication device.
The program according to claim 15, wherein the program control processor functions as described above.
前記制御情報はIOアクセスの対象となるエンドポイントが利用するデバイスドライバ情報を更に含み、前記第1転送手段が前記転送先のエンドポイントに対応するデバイスドライバを選択してデータ転送処理を行うことを特徴とする請求項16に記載のプログラム。   The control information further includes device driver information used by an endpoint that is an IO access target, and the first transfer unit selects a device driver corresponding to the transfer destination endpoint and performs data transfer processing. The program according to claim 16, characterized in that: 前記第2転送手段が、
少なくともIOアクセスの対象となるエンドポイントのアドレスマッピング情報およびBDF(Bus Device Function) 番号を含む前記制御情報を第2テーブルに格納し、
前記上位の通信機器からデータを受信し、
前記第2テーブルを参照して、前記受信したデータに対して転送先のエンドポイントへ転送するための処理を実行して前記転送先のエンドポイントへ送信する、
ように前記プログラム制御プロセッサを機能させることを特徴とする請求項15−17のいずれか1項に記載のプログラム。
The second transfer means comprises:
Storing the control information including at least the address mapping information and BDF (Bus Device Function) number of the endpoint subject to IO access in the second table;
Receiving data from the higher-level communication device;
Referring to the second table, the process for transferring the received data to the transfer destination endpoint is executed and transmitted to the transfer destination endpoint.
The program according to any one of claims 15 to 17, wherein the program control processor is caused to function as described above.
前記制御情報は、前記IOアクセスの対象となるエンドポイントに設定されたバーチャルファンクション(VF)に関する情報を更に含むことを特徴とする請求項15−18のいずれか1項に記載のプログラム。   The program according to any one of claims 15 to 18, wherein the control information further includes information on a virtual function (VF) set in an endpoint that is a target of the IO access. 前記転送開始要求を受信すると前記制御情報の同期処理を実行し、当該同期処理終了をトリガとして前記第1転送手段あるいは前記第2転送手段が転送処理を開始するように前記プログラム制御プロセッサを機能させることを特徴とする請求項15−19のいずれか1項に記載のプログラム。   When the transfer start request is received, the control information synchronization process is executed, and the program control processor functions so that the first transfer means or the second transfer means starts the transfer process triggered by the end of the synchronization process. The program according to any one of claims 15 to 19, characterized by that. 前記制御情報の同期処理終了後に、前記汎用制御部からの転送開始要求をトリガとして前記第1転送手段あるいは前記第2転送手段が転送処理を開始することを特徴とする請求項15−19のいずれか1項に記載のプログラム。   20. The transfer process according to claim 15, wherein the first transfer unit or the second transfer unit starts the transfer process by using a transfer start request from the general-purpose control unit as a trigger after the control information synchronization process ends. The program according to item 1.
JP2009267147A 2009-11-25 2009-11-25 Inter-end point communication control device and method in io access communication system Withdrawn JP2011113163A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009267147A JP2011113163A (en) 2009-11-25 2009-11-25 Inter-end point communication control device and method in io access communication system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009267147A JP2011113163A (en) 2009-11-25 2009-11-25 Inter-end point communication control device and method in io access communication system

Publications (1)

Publication Number Publication Date
JP2011113163A true JP2011113163A (en) 2011-06-09

Family

ID=44235470

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009267147A Withdrawn JP2011113163A (en) 2009-11-25 2009-11-25 Inter-end point communication control device and method in io access communication system

Country Status (1)

Country Link
JP (1) JP2011113163A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016135875A1 (en) * 2015-02-25 2016-09-01 株式会社日立製作所 Information processing device
KR20190035988A (en) * 2017-09-25 2019-04-04 서울대학교산학협력단 Apparatus for controlling input/output device, operating method thereof and operating method of device driver for controlling input/output device
US10289560B2 (en) 2016-03-10 2019-05-14 Toshiba Memory Corporation Switch module and storage system

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016135875A1 (en) * 2015-02-25 2016-09-01 株式会社日立製作所 Information processing device
CN107241913A (en) * 2015-02-25 2017-10-10 株式会社日立制作所 information processing device
JPWO2016135875A1 (en) * 2015-02-25 2017-12-07 株式会社日立製作所 Information processing device
CN107241913B (en) * 2015-02-25 2020-06-19 株式会社日立制作所 information processing device
US10289560B2 (en) 2016-03-10 2019-05-14 Toshiba Memory Corporation Switch module and storage system
USRE49117E1 (en) 2016-03-10 2022-06-28 Kioxia Corporation Switch module and storage system
KR20190035988A (en) * 2017-09-25 2019-04-04 서울대학교산학협력단 Apparatus for controlling input/output device, operating method thereof and operating method of device driver for controlling input/output device
KR101980190B1 (en) * 2017-09-25 2019-05-21 서울대학교산학협력단 Apparatus for controlling input/output device, operating method thereof and operating method of device driver for controlling input/output device
US10664418B2 (en) 2017-09-25 2020-05-26 Seoul National University R&Db Foundation Peripheral device controlling device, operation method thereof, and operation method of peripheral device controlling device driver

Similar Documents

Publication Publication Date Title
US9467511B2 (en) Techniques for use of vendor defined messages to execute a command to access a storage device
US9986028B2 (en) Techniques to replicate data between storage servers
US8583848B2 (en) Switching circuit connected to an I/O device, and switching circuit connected to an I/O device control method
JP5440507B2 (en) Multi-root PCI express switch, its startup method, and multi-root PCI manager program
US8700856B2 (en) Method for accessing mirrored shared memories and storage subsystem using method for accessing mirrored shared memories
CN101068140B (en) A device and method for realizing primary/standby PCI device switching
JP3807250B2 (en) Cluster system, computer and program
US20080155145A1 (en) Discovery of a Bridge Device in a SAS Communication System
JP5310175B2 (en) Switch system and control method of switch system
JP2008046722A (en) I/o device and method
JP6070732B2 (en) INPUT / OUTPUT CONTROL DEVICE, INPUT / OUTPUT CONTROL SYSTEM, INPUT / OUTPUT CONTROL METHOD, AND PROGRAM
JP2006302250A (en) PCI-Express communication system
JP2013512519A (en) Controller directly accessing memory for direct transfer of data between memories of several peripheral devices, method and computer program enabling such controller
CN107209725A (en) Method, processor and the computer of processing write requests
US20030182482A1 (en) Mechanism for PCI I/O-initiated configuration cycles
JP2014002545A (en) Data transfer device, and data transfer method
WO2016041453A1 (en) Remote resource access method and exchange device
JP4799222B2 (en) Information processing apparatus, information processing system, and initialization method
JP2011113163A (en) Inter-end point communication control device and method in io access communication system
JP5904948B2 (en) The system that allows direct data transfer between memories of several components of the system
JP2008118630A (en) Bus port router management system
US20130326097A1 (en) Semiconductor device
JP2012212360A (en) Input/output control device, computer, and control method
US11487695B1 (en) Scalable peer to peer data routing for servers
CN110399322B (en) A data transmission method and ping-pong DMA architecture

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20130205