JP2012212360A - Input/output control device, computer, and control method - Google Patents
Input/output control device, computer, and control method Download PDFInfo
- Publication number
- JP2012212360A JP2012212360A JP2011078276A JP2011078276A JP2012212360A JP 2012212360 A JP2012212360 A JP 2012212360A JP 2011078276 A JP2011078276 A JP 2011078276A JP 2011078276 A JP2011078276 A JP 2011078276A JP 2012212360 A JP2012212360 A JP 2012212360A
- Authority
- JP
- Japan
- Prior art keywords
- pci express
- input
- main memory
- data
- control unit
- 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.)
- Pending
Links
Images
Landscapes
- Bus Control (AREA)
- Memory System (AREA)
Abstract
Description
本発明は、入出力制御装置、コンピュータ、及び制御方法に関する。特に、本発明は、CPU(Central Processing Unit)の命令に応じてPCI Express(Peripheral Component Interconnect Express)デバイスとメインメモリとの間のデータの入出力を制御する入出力制御装置、当該入出力制御装置を備えるコンピュータ、並びに当該入出力制御装置を制御する制御方法に関する。 The present invention relates to an input / output control device, a computer, and a control method. In particular, the present invention relates to an input / output control device that controls input / output of data between a PCI Express (Peripheral Component Interconnect Express) device and a main memory in accordance with an instruction of a CPU (Central Processing Unit), and the input / output control device And a control method for controlling the input / output control device.
PCI Expressデバイス用の入出力制御装置は、ファームウェア制御部と、データ転送部と、PCI Expressスイッチとが、相互にPCI Expressで接続された構造を持つ。ファームウェア制御部は、システムにおける入出力処理全般を制御するファームウェアを搭載する制御機構である。ファームウェア制御部は、CPUからの入出力要求に対して、入出力制御装置を構成するホストバスアダプタ、PCI Expressスイッチ、データ転送部を制御することで、PCI Expressデバイスと、メインメモリとの間の入出力データ転送を実現している。 The input / output control device for a PCI Express device has a structure in which a firmware control unit, a data transfer unit, and a PCI Express switch are connected to each other by PCI Express. The firmware control unit is a control mechanism that incorporates firmware that controls overall input / output processing in the system. The firmware control unit controls the host bus adapter, the PCI Express switch, and the data transfer unit that constitute the input / output control device in response to an input / output request from the CPU, so that the PCI Express device is connected to the main memory. I / O data transfer is realized.
メモリライト信号の転送、即ち、PCI Expressデバイスからメインメモリ方向への入力データを想定した場合、データ転送は、PCI Expressデバイス→ホストバスアダプタ→PCI Expressスイッチ→データ転送部→メインメモリコントローラ→メインメモリの経路を通じて転送される。これに対して、入力転送の完了通知は、ホストバスアダプタ→PCI Expressスイッチ→ファームウェア制御部→データ転送部→メインメモリコントローラ→CPUの経路を通じて通知されるが、入出力制御装置内でデータ転送の経路と、転送終了通知の経路が2系統に分かれているため、データ転送終了通知の同期保証をとる(メインメモリへ書き込むべきデータがデータ転送部から完全に掃けたことを確認してからCPUへの転送終了通知を発行する)必要がある。 Assuming memory write signal transfer, that is, input data from the PCI Express device in the main memory direction, the data transfer is performed by PCI Express device → host bus adapter → PCI Express switch → data transfer unit → main memory controller → main memory Forwarded through the path. On the other hand, the completion notification of the input transfer is notified through the path of the host bus adapter → the PCI Express switch → the firmware control unit → the data transfer unit → the main memory controller → the CPU. Since the route and the transfer end notification route are divided into two systems, the synchronization of the data transfer end notification is ensured (after confirming that the data to be written to the main memory has been completely swept from the data transfer unit to the CPU Issue a transfer end notification).
このため、既知の方式による同期保証では、ファームウェア制御部が、ホストバスアダプタからの入力データ転送(メモリライト信号の転送)の完了を認識した際に、ホストバスアダプタに対してメインメモリのダミーリード転送(長さ0のリードリクエスト)を発行するよう制御し、このダミーリード転送の完了を検出した際に、CPUに対して入力データ転送の転送終了通知を発行するよう制御している。このダミーリード転送による同期保証は、入力転送の後処理として毎回必要な処理であるが、PCI Expressデバイスとメインメモリとの間のデータ転送が終了したことをCPUに通知するのに遅延が生じてしまい、このことが入出力制御装置の性能低下の要因となっている。 For this reason, in the synchronization guarantee by the known method, when the firmware control unit recognizes the completion of the input data transfer (transfer of the memory write signal) from the host bus adapter, a dummy read of the main memory to the host bus adapter is performed. Control is performed to issue a transfer (read request with a length of 0), and control is performed to issue a transfer end notification of input data transfer to the CPU when the completion of this dummy read transfer is detected. This synchronization guarantee by dummy read transfer is necessary every time as post-processing of input transfer, but there is a delay in notifying the CPU that the data transfer between the PCI Express device and the main memory has been completed. In other words, this is a cause of performance degradation of the input / output control device.
上記課題を解決するために、本発明の第1の形態によると、CPUの命令に応じてPCI Expressデバイスとメインメモリとの間のデータの入出力を制御する入出力制御装置であって、外部のPCI Expressデバイスと接続されるホストバスアダプタと、ホストバスアダプタとメインメモリとの間に接続されて、ホストバスアダプタを介してPCI Expressデバイスとメインメモリとの間においてデータを転送するデータ転送部と、ホストバスアダプタ、及びデータ転送部を含む当該入出力制御装置の各部を制御するファームウェア制御部とを備え、ファームウェア制御部は、PCI Expressデバイスからメインメモリへ転送すべき全てのパケットの送出が完了したときに、その旨をCPUへ通知する。 In order to solve the above-described problem, according to a first aspect of the present invention, there is provided an input / output control device that controls input / output of data between a PCI Express device and a main memory in accordance with a command from a CPU. Host bus adapter connected to the PCI Express device, and a data transfer unit connected between the host bus adapter and the main memory, and transferring data between the PCI Express device and the main memory via the host bus adapter And a firmware control unit that controls each unit of the input / output control device including the host bus adapter and the data transfer unit. The firmware control unit sends all packets to be transferred from the PCI Express device to the main memory. When it is completed, it notifies the CPU to that effect.
本発明の第2の形態によると、PCI Expressインターフェースを有するPCI Expressデバイスと、PCI Expressデバイスとデータを送受信するメインメモリと、PCI Expressデバイス、及びメインメモリとそれぞれ接続されて、PCI Expressデバイスとメインメモリとの間のデータの入出力を制御する入出力制御装置と、入出力制御装置に対し、PCI Expressデバイスとメインメモリとの間のデータ転送を命令するCPUとを備える。 According to the second aspect of the present invention, a PCI Express device having a PCI Express interface, a main memory that transmits and receives data to and from the PCI Express device, a PCI Express device, and a main memory are connected to the PCI Express device and the main memory, respectively. An input / output control device that controls input / output of data to / from the memory, and a CPU that instructs the input / output control device to transfer data between the PCI Express device and the main memory.
本発明の第3の形態によると、外部のPCI Expressデバイスと接続されるホストバスアダプタと、ホストバスアダプタとメインメモリとの間に接続されて、ホストバスアダプタを介してPCI Expressデバイスとメインメモリとの間においてデータを転送するデータ転送部と、ホストバスアダプタ、及びデータ転送部を含む当該入出力制御装置の各部を制御するファームウェア制御部とを備え、CPUの命令に応じてPCI Expressデバイスとメインメモリとの間のデータの入出力を制御する入出力制御装置を制御する制御方法であって、ファームウェア制御部が、PCI Expressデバイスからメインメモリへ転送すべき全てのパケットの送出が完了したときに、その旨をCPUへ通知する段階を備える。 According to the third aspect of the present invention, the host bus adapter connected to the external PCI Express device, and connected between the host bus adapter and the main memory, and the PCI Express device and the main memory via the host bus adapter. A data transfer unit that transfers data to and from the controller, a firmware control unit that controls each part of the input / output control device including the host bus adapter and the data transfer unit, and a PCI Express device according to a command from the CPU, A control method for controlling an input / output control device that controls input / output of data to / from a main memory, when the firmware control unit has completed sending all packets to be transferred from the PCI Express device to the main memory And a step of notifying the CPU to that effect.
なおまた、上記のように発明の概要は、本発明の必要な特徴の全てを列挙したものではなく、これらの特徴群のサブコンビネーションもまた、発明となり得る。 In addition, as described above, the summary of the invention does not enumerate all necessary features of the present invention, and sub-combinations of these feature groups can also be the invention.
以上の説明から明らかなように、この発明は、入出力装置の性能を低下させることなく、PCI Expressデバイスとメインメモリとの間のデータ転送に同期させて、データ転送が終了した場合に、その旨をCPUへ通知することができる。 As is apparent from the above description, the present invention can be used when the data transfer is completed in synchronization with the data transfer between the PCI Express device and the main memory without degrading the performance of the input / output device. This can be notified to the CPU.
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は、特許請求の範囲にかかる発明を限定するものではなく、また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。 Hereinafter, the present invention will be described through embodiments of the invention. However, the following embodiments do not limit the invention according to the scope of claims, and are combinations of features described in the embodiments. Not all are essential to the solution of the invention.
図1は、一実施形態に係るコンピュータCのハードウェア構成の一例を示す。コンピュータCは、入出力制御装置(IOP(Input−Output Processer))100、CPU200、メインメモリ(MEM)300、メインメモリコントローラ(MMC)400、及び複数のPCI Expressデバイス(Disk)D0、D1、・・・、Dn(以下、PCI ExpressデバイスDと総称する)を備える。
FIG. 1 shows an example of a hardware configuration of a computer C according to an embodiment. The computer C includes an input / output control device (IOP (Input-Output Processor)) 100, a
入出力制御装置100は、CPU200の命令に応じてPCI ExpressデバイスDとメインメモリ300との間のデータの入出力を制御する装置である。CPU200は、コンピュータを構成する部品の一つで、各装置の制御やデータの計算、加工を行う装置である。メインメモリ300は、コンピュータC内でデータやプログラムを記憶する装置である。メインメモリコントローラ400は、メインメモリ300に対するデータの書込み、又は読出しを制御する装置である。PCI ExpressデバイスDは、例えば、PCI Expressインターフェースを有するハードディスクである。
The input /
入出力制御装置100は、ファームウェア(FW)制御部110、データ転送部(IOC(Input−Output Controller))120、PCI Expressスイッチ(PCIeSW)130、及び複数のホストバスアダプタ(HBA)H0、H1、・・・、Hn(以下、ホストバスアダプタHと総称する。)を備える。
The input /
ファームウェア制御部110は、入出力制御装置100を構成する部品の一つで、データ転送部120、PCI Expressスイッチ130、及びホストバスアダプタHの制御やデータの計算、加工を行う装置である。より具体的に説明すると、ファームウェア制御部110は、データ転送部120、及びPCI Expressスイッチ130とそれぞれ電気的に接続されている。
The
データ転送部120は、PCI Expressスイッチ130とメインメモリコントローラ400との間でデータを転送する回路である。
The data transfer unit 120 is a circuit that transfers data between the
以下に、本発明である入力データ転送(メモリライト信号)時の、トランザクション・レイヤ・パケットのデータ構成と、制御方法について詳しく説明する。 The data structure of the transaction layer packet and the control method during input data transfer (memory write signal) according to the present invention will be described in detail below.
最初に、CPU200から入出力制御装置100に対して入力データ転送要求が送られてくると、ファームウェア制御部110は、データ転送部120に対してHRN(Hardware Resource Number)(HRN0〜HRNn)に対応した入力転送データの開始を示すセット信号と、有効期間中のデータであることを示すValid信号を発行すると共に、PCI Expressスイッチ130に対して、PCI Expressインターフェースで、通常使用されているトランザクション・レイヤ・パケットのメモリライト信号を、HRN単位(HRN0〜HRNn)で発行する。データ転送部120は、ファームウェア制御部110からのセット信号とValid信号を受け取って、最初のメモリライト信号転送のトランザクション・レイヤ・パケット(TLP0)データを受信すると、HRN対応した仕掛り中リクエスト表示を点灯する。
First, when an input data transfer request is sent from the
図2に、PCI Expressのトランザクション・レイヤ・パケット形式に準拠した、メモリライト信号のデータ構造(3DW)の一例を示す。トランザクション・レイヤ・パケットのデータ形式は、入出力処理内容である入力データ転送(メモリライト信号)を示すフォーマットFmt(1x)とタイプType(00000)の他に、対象デバイスを識別するトランザクションID情報(PCI Expressのバス番号、デバイス番号、機能番号、Tag情報)と、入力データをメインメモリ300に格納するメモリアドレス情報(Address)、DW単位のカウントのデータペイロード長(Length)、最終DWのデータバイト(N−1)と、先頭DWのデータバイト0のバイトイネーブル情報(Last DW BE、1st DW BE)等のトランザクション・レイヤ・パケットのヘッダ情報及び、入力データペイロード(バイトデータ0〜バイトデータN−1)から構成されている。ここで、HRN単位のデータ転送の場合、書き込む先のDMA(Direct Memory Access)空間(3DWの場合Address[31:0])に、予めHRN番号を割り当てておき、HRN番号の情報を反映したトランザクション・レイヤ・パケットのアドレスにすることで、HRN0〜HRNnの識別を可能としている。
FIG. 2 shows an example of a data structure (3DW) of a memory write signal in conformity with the PCI Express transaction layer packet format. The data format of the transaction layer packet includes, in addition to the format Fmt (1x) indicating the input data transfer (memory write signal) that is the input / output processing content and the type Type (00000), transaction ID information that identifies the target device ( PCI Express bus number, device number, function number, Tag information), memory address information (Address) for storing input data in the
ファームウェア制御部110から、メモリライト信号の開始通知を受け取った、HRN対応のホストバスアダプタHは、対応する入出力機器PCI ExpressデバイスD内の指定アドレス、カウント情報に基づいた入力データを、Txn(TLP0〜TLPm)のメモリライト信号のデータ形式で、PCI Expressスイッチ130→データ転送部120→メインメモリコントローラ400へ転送し、指定アドレスと、カウント情報に基づいて、メインメモリ300内のダイレクトメモリアクセス(DMA)空間に、順次データの書き込み処理を行っていく。PCI ExpressデバイスDからのデータTxn(TLP0〜TLPm)が全て掃けると、ホストバスアダプタHはPCI Expressスイッチ130を通して、ファームウェア制御部110にメモリライト信号終了通知を発行する。
Upon receiving the memory write signal start notification from the
図3に、ダミーのメモリライト信号である、特殊Txn(Marking Write Txn)のトランザクション・レイヤ・パケットのデータ構造の一例を示す。本発明に係る特殊Txnは、メモリライト信号である。これに対し、既知の特殊Txnは、メモリリード信号である。したがって、本発明に係る入出力制御装置は、メモリライト後、続けてメモリライトTxn処理を行うため、既知の入出力制御装置のようにメモリライト後にメモリリードTxn処理を行う場合よりも早く処理を終えることができる。以下、このメモリライト信号のTxn処理について詳細に説明する。 FIG. 3 shows an example of the data structure of a transaction layer packet of special Txn (Marking Write Txn), which is a dummy memory write signal. The special Txn according to the present invention is a memory write signal. On the other hand, the known special Txn is a memory read signal. Therefore, since the input / output control apparatus according to the present invention performs the memory write Txn process after the memory write, the process is performed faster than the case of performing the memory read Txn process after the memory write as in the known input / output control apparatus. Can finish. Hereinafter, the Txn processing of the memory write signal will be described in detail.
ファームウェア制御部110は、HRN対応のホストバスアダプタHからメモリライト信号転送が完了して、終了通知を受けとると、PCI Expressスイッチ130に対して、このダミーのメモリライト信号である特殊Txn(Marking Write Txn)を発行するが、トランザクション・レイヤ・パケットのデータ構造は、図2で示したメモリライト信号転送時の構造と基本的に同じであり、PCI Expressのトランザクション・レイヤ・パケット形式に準拠している。トランザクション・レイヤ・パケットのアドレス(Address)は、最後にメモリライト信号転送したトランザクション・レイヤ・パケット(TLPm)と同じアドレス値、又は最後にメモリライト信号転送したトランザクション・レイヤ・パケット(TLPm)のアドレスに、最後のトランザクション・レイヤ・パケット(TLPm)が書き込みしたカウント数を加えた値等を適用していて、HRN番号を識別するため、DMA空間内にHRN番号を割り当てたアドレスを反映した構成となっている。更に、トランザクション・レイヤ・パケットのアドレス内にDMA空間へのメモリライト信号転送終了時に、転送終了を認識させるための特殊なマークビット(m)を1ビット、予め用意しておき、メモリライト信号転送完了後にホストバスアダプタHからの終了通知を受けると、ファームウェア制御部110は、マークビット(m=1)を点灯する。該DMA空間にPCI Expressスイッチ130を通じて、ダミーのメモリライト信号である特殊Txn(Marking Write Txn)を発行することで、データ転送部120にメモリライト信号の転送終了を通知する。また、指定されたデータペイロード長(Length)と、バイトイネーブル(Last DW BEと1st DW BE)に基づいたダミーの入力データペイロード(データバイト0)から構成している。
When the
データ転送部120は、ファームウェア制御部110からHRN(HRN0〜HRNn)に対応した、仕掛り中リクエスト表示を点灯している期間中、PCI Expressスイッチ130からTxn(TLP0〜TLPm)を受信するたびに、メモリライト信号転送終了を示すマークビットを監視する。マークビットが点灯した特殊Txn(Marking Write Txn)を受信すると、データ転送部120は、最終転送データ(TLPm)が、送達完了したことを認識する。この特殊Txn(Marking Write Txn)は、データ転送部120内で持ち回るが、メインメモリコントローラ400へは発行しないで破棄する。また、ファームウェア制御部110に対して、メモリライト信号のデータ転送が完了したことを報告する。ファームウェア制御部110は、データ転送部120からメモリライト信号の転送完了報告を受けると、CPU200に対してメモリライト信号転送が完了したことを報告する。
Each time the data transfer unit 120 receives Txn (TLP0 to TLPm) from the
図4は、仕掛り中表示のタイミングチャートの一例を示す。次に、DMA空間へのメモリライト信号転送において、HRN対応した仕掛り中リクエスト表示の動作と、メモリライト信号転送のトランザクション・レイヤ・パケット(TLP0〜TLPm)の転送が、全て完了したことを意味する特殊Txn(Marking Write Txn)発行の動作を、図4のタイミングチャートを使用して説明する。 FIG. 4 shows an example of a timing chart for in-process display. Next, in the memory write signal transfer to the DMA space, it means that the in-process request display operation corresponding to HRN and the transfer of the memory layer signal transfer transaction layer packet (TLP0 to TLPm) are all completed. The operation of issuing special Txn (Marking Write Txn) will be described with reference to the timing chart of FIG.
最初に、ファームウェア制御部110は、CPU200から入力データ転送開始の通知を受けると、データ転送部120に対して、HRN(HRN0〜HRNn)に対応したメモリライト信号転送開始指示を示すセット信号と、Txn(TLP0〜TLPm)が有効期間中であることを意味するValid信号を発行する。
First, when receiving a notification of input data transfer start from the
データ転送部120は、ファームウェア制御部110からセット信号とValid信号を受信後に、HRN番号(HRNn)対応したPCI ExpressデバイスDからの最初のトランザクション・レイヤ・パケット(TLP0)がPCI Expressスイッチ130から転送されてくると、HRNnに対応した仕掛り中リクエスト表示1を立ち上げる。
After receiving the set signal and the valid signal from the
ホストバスアダプタHは、ファームウェア制御部110からの指示により、PCI ExpressデバイスDからメインメモリ300へのTxn(TLP0〜TLPm)の入力データ転送が順次処理され、指定されたメインメモリ300のアドレスにデータが書き込まれていく。PCI ExpressデバイスDからの全てのデータ転送(TLP0〜TLPm)が掃けると、ホストバスアダプタHからファームウェア制御部110に対して、入力データ転送終了報告がくる。
The host bus adapter H sequentially processes input data transfer of Txn (TLP0 to TLPm) from the PCI Express device D to the
ファームウェア制御部110は、この通知を受信すると、PCI Expressスイッチ130に対して、最終メモリライト信号のデータ転送終了を意味するダミーのメモリライト信号である特殊Txn(Marking Write Txn)を発行する。
Upon receiving this notification, the
データ転送部120は、この特殊TxnをPCI Expressスイッチ130から受信すると、ホストバスアダプタHからの最終メモリライト信号のTxnデータ(TLPm)の送達が完了したとことを認識する。ダミーのメモリライト信号である特殊Txn(Marking Write Txn)を、ダミーの識別データとして、通常のメモリライト信号の転送データと同様に、データ転送部120内部で持ちまわる(図中○m)。
When receiving the special Txn from the
最終トランザクション・レイヤ・パケット(TLPm)をメインメモリコントローラ400に転送終了後に、特殊Txnを取り出した時点で破棄すると共に、仕掛り中リクエスト表示1を立ち下げ、ファームウェア制御部110に、メモリライト信号の最終Txnデータ転送が完了したことを報告する。即ち、データ転送部120は、メインメモリコントローラ400からのリプライ(Cpl)を待たずに、ファームウェア制御部110への通知が可能となる。
After the transfer of the final transaction layer packet (TLPm) to the
ファームウェア制御部110は、この報告を受け取ると、CPU200に対して、メモリライト信号データ完了の報告をすることで、メインメモリ300へ書き込むべき全てのデータが入出力制御装置100からメインメモリコントローラ400へ転送されたと判定する。
When the
図5は、ダミーのメモリリード信号の一例を示す。また、実際のメモリライト信号転送が確実にメインメモリ300に格納されたか否かは、図5に示したような、既知の方式のダミーのMRd特殊Txnである、1DWのメモリリードでバイトイネーブルが0のダミーリクエスト(MRd)形式に、変更して、メモリーリードリクエスト(MRd)転送を、最終トランザクション・レイヤ・パケット(TLPm)のメインメモリ300のDMAアドレスに向けて発行し、メモリリードのリプライデータつまり、データ転送部120→メインメモリコントローラ400→データ転送部120からのコンプリーション(Cpl)を待って検出することで確認することで判断ができる。
FIG. 5 shows an example of a dummy memory read signal. Further, whether or not the actual memory write signal transfer is reliably stored in the
図7は、既知の入出力制御装置によるメモリライト信号転送の完了確認までに掛かるレイテンシの一例を示す。既知のダミーメモリリード転送の場合、入力データ(TLP0〜TLPn)のメモリライト転送が全て終了後に、ファームウェア制御部が、ホストバスアダプタからメモリライト完了通知を受けると、ホストバスアダプタに対してダミーメモリリード転送を発行する。具体的には、ファームウェア制御部が、ダミーメモリリード(1DWのメモリリードでバイトイネーブルをゼロにしたリクエストつまり、長さ0のリードリクエスト)である特殊Txnを発行(2μs程度)すると、ホストバスアダプタからメインメモリに対してダミーメモリリード転送が行われ、メインメモリから、ホストバスアダプタに対して、ダミーメモリリードのリプライであるコンプリーション(Cpl)が戻ってくるのを確認(3μs程度)する。このダミーメモリリード転送命令を発行してから、メインメモリに対して、ダミーメモリリード転送を行い、そのコンプリーションが戻ってくるのを待ち、転送が完了したことを確認するまでに必要なレイテンシは、5μs程度かかる。このダミーメモリリード転送による同期保証は、入力転送の後処理として、毎回必要な処理であり、性能低下の要因となっている。 FIG. 7 shows an example of the latency required until confirmation of completion of memory write signal transfer by a known input / output control device. In the case of a known dummy memory read transfer, when the firmware control unit receives a memory write completion notification from the host bus adapter after completion of memory write transfer of input data (TLP0 to TLPn), the dummy memory is sent to the host bus adapter. Issue a read transfer. Specifically, when the firmware control unit issues a special Txn that is a dummy memory read (a request in which byte enable is zeroed by a 1 DW memory read, that is, a read request having a length of 0) (about 2 μs), the host bus adapter From the main memory, a dummy memory read transfer is performed, and it is confirmed that the completion (Cpl), which is a dummy memory read reply, returns from the main memory to the host bus adapter (about 3 μs). The latency required to issue a dummy memory read transfer to the main memory after issuing this dummy memory read transfer command, wait for the completion to return, and confirm that the transfer is complete is It takes about 5 μs. The synchronization guarantee by the dummy memory read transfer is a process necessary every time as a post-process of the input transfer, which is a factor of performance degradation.
図6は、本発明に係る入出力制御装置によるメモリライト信号転送の完了確認までに掛かるレイテンシの一例を示す。図7の既知の方式と比較すると、メモリライト完了後に、ファームウェア制御部がダミー特殊Txn発行するまでのレイテンシ(差は約1μs)、及びダミーリード転送にかかるレイテンシ(約3μs)に差分があるため、メモリライト転送終了時に、毎回、約4μs程度のレイテンシ改善効果が見込める。 FIG. 6 shows an example of the latency required until the completion of the memory write signal transfer by the input / output control apparatus according to the present invention. Compared with the known method of FIG. 7, there is a difference in latency (difference is approximately 1 μs) until the firmware control unit issues a dummy special Txn after the memory write is completed, and latency (approximately 3 μs) for dummy read transfer. At the end of memory write transfer, a latency improvement effect of about 4 μs can be expected every time.
なおまた、上述した実施形態は、複数のPCI ExpressデバイスDを接続することができるように、入出力制御装置100が複数のホストバスアダプタHを備え、各ホストバスアダプタHに対する信号の入出力を切替えるPCI Expressスイッチ130を備えることとしたが、ホストバスアダプタHが1つしかない場合、PCI Expressスイッチ130を省いてもよい。その場合、ファームウェア制御部110は、ホストバスアダプタHに直接接続される。
In the above-described embodiment, the input /
また、上述した実施形態は、コンピュータCがPCI ExpressデバイスDを備えることとしたが、PCI ExpressデバイスDは、コンピュータCに対して外部接続されていてもよい。 In the above-described embodiment, the computer C includes the PCI Express device D. However, the PCI Express device D may be externally connected to the computer C.
以上説明したように、入出力制御装置100内で、データ転送の経路と、転送終了通知の経路が2系統に分岐した、入出力制御装置100において、以下に記載するような効果を奏する。
As described above, the input /
第1の効果は、PCI ExpressデバイスDからメインメモリ300への書き込みを行う入力データ転送において、ファームウェア制御部110が、HRN(HRN0〜HRNn)に対応したセット信号/リセット信号とValid信号及び入力データ転送の最終データであることを意味する特殊Txn(Marking Write Txn)を発行して、データ転送部120が、HRNに対応した仕掛り中リクエスト管理することで、データ転送と転送終了通知の処理の同期保証を、確実に実現できることである。
The first effect is that in the input data transfer for writing from the PCI Express device D to the
第2の効果は、ファームウェア制御部110の特殊ダミーのメモリライト信号転送の完了確認までにかかるレイテンシを、既知のダミーのメモリリード信号の転送方式と比較すると、ファームウェア制御部110が、メモリライト信号終了後の後処理に、最終データ転送であることを意味するダミーのメモリライト信号である特殊Txn(Marking Write Txn)を発行して、データ転送部120が管理する方式にすることで、既知の方式では、メモリライト信号終了後の後処理に、ホストバスアダプタが追加のダミーのメモリリード信号を発行する時間と、メインメモリコントローラ400へダミーのメモリリード信号を発行してから、メインメモリコントローラからのCpl(ダミーのメモリリード信号のリプライ)が戻ってくるまでの時間のレイテンシを毎回省くことができるため、入出力装置の性能低下を抑えることが可能になることである。
The second effect is that when the latency until the completion of the transfer of the special dummy memory write signal of the
第3の効果は、PCI ExpressデバイスDからのメモリライト信号のTxn(TLP0〜TLPN)が、データ転送部120の途中経路(PCI Expressスイッチ130〜データ転送部120)に滞留した場合でも、HRNに対応した仕掛り中リクエスト表示を行うことにより、滞留している箇所が即座に判断できることである。
The third effect is that even if the Txn (TLP0 to TLPN) of the memory write signal from the PCI Express device D stays in the intermediate path of the data transfer unit 120 (the
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は、上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更又は改良を加えることが可能であることが当業者に明らかである。そのような変更又は改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。 As mentioned above, although this invention was demonstrated using embodiment, the technical scope of this invention is not limited to the range as described in the said embodiment. It will be apparent to those skilled in the art that various modifications or improvements can be added to the above embodiment. It is apparent from the scope of the claims that the embodiments added with such changes or improvements can be included in the technical scope of the present invention.
100 入出力制御装置
110 ファームウェア制御部
120 データ転送部
130 PCI Expressスイッチ
200 CPU
300 メインメモリ
400 メインメモリコントローラ
Dn PCI Expressデバイス
Hn ホストバスアダプタ
100 I /
300
Claims (7)
外部のPCI Expressデバイスと接続されるホストバスアダプタと、
前記ホストバスアダプタと前記メインメモリとの間に接続されて、前記ホストバスアダプタを介して前記PCI Expressデバイスとメインメモリとの間においてデータを転送するデータ転送部と、
前記ホストバスアダプタ、及び前記データ転送部を含む当該入出力制御装置の各部を制御するファームウェア制御部と
を備え、
前記ファームウェア制御部は、前記PCI Expressデバイスから前記メインメモリへ転送すべき全てのパケットの送出が完了したときに、その旨を前記CPUへ通知することを特徴とする入出力制御装置。 An input / output control device that controls input / output of data between a PCI Express device and a main memory according to a command of a CPU,
A host bus adapter connected to an external PCI Express device;
A data transfer unit connected between the host bus adapter and the main memory and transferring data between the PCI Express device and the main memory via the host bus adapter;
A firmware control unit that controls each unit of the input / output control device including the host bus adapter and the data transfer unit;
The firmware control unit notifies the CPU of the completion of transmission of all packets to be transferred from the PCI Express device to the main memory.
前記ファームウェア制御部は、パケット転送が完了した旨の通知を前記データ転送部から受け取ると、前記PCI Expressデバイスから前記メインメモリへ転送すべき全てのパケットの送出が完了したことを前記CPUへ通知することを特徴とする請求項1に記載の入出力制御装置。 The data transfer unit sequentially transfers transaction layer packets sequentially sent from the PCI Express device side to the main memory, and notifies the firmware control unit when the packet transfer is completed. And
When the firmware control unit receives notification from the data transfer unit that packet transfer is complete, the firmware control unit notifies the CPU that transmission of all packets to be transferred from the PCI Express device to the main memory is complete. The input / output control device according to claim 1.
を更に備え、
前記データ転送部は、前記特殊パケットを前記PCI Expressスイッチから受け取ると、パケット転送が完了した旨を前記ファームウェア制御部へ通知することを特徴とする請求項2に記載の入出力制御装置。 The transaction layer packets sequentially sent from the PCI Express device side are sequentially sent to the data transfer unit, and when there are no transaction layer packets sent from the PCI Express device side, the transaction A PCI Express switch for sending a special packet having the same data structure as the layer packet and including a mark bit indicating that there are no more packets to be transferred to the data transfer unit;
The input / output control apparatus according to claim 2, wherein when the special packet is received from the PCI Express switch, the data transfer unit notifies the firmware control unit that the packet transfer is completed.
前記PCI Expressスイッチは、前記特殊パケットを前記ファームウェア制御部から受け取ると、当該特殊パケットを、前記データ転送部へ送ることを特徴とする請求項3に記載の入出力制御装置。 When there is no transaction layer packet sent from the PCI Express device to the PCI Express switch, the firmware control unit has the same data structure as the transaction layer packet, and there is no packet to be transferred. Send a special packet including a mark bit indicating that to the PCI Express switch,
The input / output control apparatus according to claim 3, wherein the PCI Express switch sends the special packet to the data transfer unit when the special packet is received from the firmware control unit.
前記ファームウェア制御部は、前記PCI Expressスイッチへ送るべきトランザクション・レイヤ・パケットがなくなった旨の通知を、前記ホストバスアダプタから受け取ると、前記特殊パケットを、前記PCI Expressスイッチへ送ることを特徴とする請求項4に記載の入出力制御装置。 The host bus adapter sequentially sends transaction layer packets sequentially received from the PCI Express device to the PCI Express switch, and when there are no more transaction layer packets to be sent to the PCI Express switch, the host bus adapter notifies the PCI Express switch. Notifying the firmware control unit,
When the firmware control unit receives a notification from the host bus adapter that there is no transaction layer packet to be sent to the PCI Express switch, the firmware control unit sends the special packet to the PCI Express switch. The input / output control apparatus according to claim 4.
前記PCI Expressデバイスとデータを送受信するメインメモリと、
前記PCI Expressデバイス、及び前記メインメモリとそれぞれ接続されて、PCI Expressデバイスとメインメモリとの間のデータの入出力を制御する請求項1から5のいずれか一項に記載の入出力制御装置と、
前記入出力制御装置に対し、前記PCI Expressデバイスと前記メインメモリとの間のデータ転送を命令するCPUと
を備えることを特徴とするコンピュータ。 A PCI Express device having a PCI Express interface;
A main memory for transmitting and receiving data to and from the PCI Express device;
The input / output control device according to claim 1, wherein the input / output control device is connected to the PCI Express device and the main memory, and controls input / output of data between the PCI Express device and the main memory. ,
A computer comprising: a CPU that instructs the input / output control device to transfer data between the PCI Express device and the main memory.
前記ファームウェア制御部が、前記PCI Expressデバイスから前記メインメモリへ転送すべき全てのパケットの送出が完了したときに、その旨を前記CPUへ通知する段階を備えることを特徴とする制御方法。 A host bus adapter connected to an external PCI Express device, and connected between the host bus adapter and the main memory, and data is transferred between the PCI Express device and the main memory via the host bus adapter. A data transfer unit for transferring, a firmware control unit for controlling each part of the input / output control device including the host bus adapter and the data transfer unit, and a PCI Express device and a main memory according to a command from the CPU. A control method for controlling an input / output control device for controlling input / output of data between
A control method comprising: a step of notifying the CPU when the firmware control unit completes transmission of all packets to be transferred from the PCI Express device to the main memory.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011078276A JP2012212360A (en) | 2011-03-31 | 2011-03-31 | Input/output control device, computer, and control method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011078276A JP2012212360A (en) | 2011-03-31 | 2011-03-31 | Input/output control device, computer, and control method |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2012212360A true JP2012212360A (en) | 2012-11-01 |
Family
ID=47266242
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011078276A Pending JP2012212360A (en) | 2011-03-31 | 2011-03-31 | Input/output control device, computer, and control method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2012212360A (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015018314A (en) * | 2013-07-09 | 2015-01-29 | 富士通株式会社 | Storage control device, control program, and control method |
JP2016157235A (en) * | 2015-02-24 | 2016-09-01 | 日本電気株式会社 | Information processing device having distributed shared memory, method, and program |
JP2021103387A (en) * | 2019-12-25 | 2021-07-15 | Necプラットフォームズ株式会社 | Device access apparatus, processing unit, device access system, and device access method |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000010909A (en) * | 1998-06-19 | 2000-01-14 | Fujitsu Ltd | Data transfer controller |
JP2005346164A (en) * | 2004-05-31 | 2005-12-15 | Toshiba Corp | Data processor and data transfer control method |
JP2006195821A (en) * | 2005-01-14 | 2006-07-27 | Fujitsu Ltd | Method for controlling information processing system, information processing system, direct memory access controller, and program |
JP2006215873A (en) * | 2005-02-04 | 2006-08-17 | Toshiba Corp | Controller, information processor and transfer processing method |
JP2009009186A (en) * | 2007-06-26 | 2009-01-15 | Nec Electronics Corp | Dma transfer controller and dma transfer method |
-
2011
- 2011-03-31 JP JP2011078276A patent/JP2012212360A/en active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000010909A (en) * | 1998-06-19 | 2000-01-14 | Fujitsu Ltd | Data transfer controller |
JP2005346164A (en) * | 2004-05-31 | 2005-12-15 | Toshiba Corp | Data processor and data transfer control method |
JP2006195821A (en) * | 2005-01-14 | 2006-07-27 | Fujitsu Ltd | Method for controlling information processing system, information processing system, direct memory access controller, and program |
JP2006215873A (en) * | 2005-02-04 | 2006-08-17 | Toshiba Corp | Controller, information processor and transfer processing method |
JP2009009186A (en) * | 2007-06-26 | 2009-01-15 | Nec Electronics Corp | Dma transfer controller and dma transfer method |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015018314A (en) * | 2013-07-09 | 2015-01-29 | 富士通株式会社 | Storage control device, control program, and control method |
JP2016157235A (en) * | 2015-02-24 | 2016-09-01 | 日本電気株式会社 | Information processing device having distributed shared memory, method, and program |
JP2021103387A (en) * | 2019-12-25 | 2021-07-15 | Necプラットフォームズ株式会社 | Device access apparatus, processing unit, device access system, and device access method |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2126705B1 (en) | Serial advanced technology attachment (sata) and serial attached small computer system interface (scsi) (sas) bridging | |
US8949486B1 (en) | Direct memory access to storage devices | |
JP5546635B2 (en) | Data transfer apparatus and control method thereof | |
JP5159900B2 (en) | Computer program, apparatus, and method for reducing access conflict of reserved device | |
US8032686B2 (en) | Protocol translation in a data storage system | |
JP3807250B2 (en) | Cluster system, computer and program | |
JP2008090375A (en) | Interrupt control system and storage control system using the same | |
US7962676B2 (en) | Debugging multi-port bridge system conforming to serial advanced technology attachment (SATA) or serial attached small computer system interface (SCSI) (SAS) standards using idle/scrambled dwords | |
JP2014002545A (en) | Data transfer device, and data transfer method | |
US9678904B2 (en) | PCI express data transmission | |
JP2012212360A (en) | Input/output control device, computer, and control method | |
US8386725B2 (en) | USB host controller and controlling method for USB host controller | |
US10621082B2 (en) | Information processing device that guarantees consistency in access spaces | |
US10275388B2 (en) | Simultaneous inbound multi-packet processing | |
JP2014167818A (en) | Data transfer device and data transfer method | |
JP2011113163A (en) | Inter-end point communication control device and method in io access communication system | |
JP5847013B2 (en) | Computer and input / output control method in computer | |
JP6384359B2 (en) | Information processing apparatus having distributed shared memory, method, and program | |
CN110399322B (en) | Data transmission method and ping-pong DMA framework | |
JP5093986B2 (en) | Interprocessor communication method and interprocessor communication apparatus | |
JP2020135868A (en) | Information processing system | |
JP5637178B2 (en) | DMA transfer apparatus, DMA transfer method, and DMA transfer program | |
JP2005301714A (en) | Multi-cpu system, its data transfer method, and its program | |
JPWO2020156797A5 (en) | ||
JP2006092077A (en) | Bus system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20130313 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130319 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20130716 |