JP2009205334A - Performance monitor circuit and performance monitor method - Google Patents
Performance monitor circuit and performance monitor method Download PDFInfo
- Publication number
- JP2009205334A JP2009205334A JP2008045730A JP2008045730A JP2009205334A JP 2009205334 A JP2009205334 A JP 2009205334A JP 2008045730 A JP2008045730 A JP 2008045730A JP 2008045730 A JP2008045730 A JP 2008045730A JP 2009205334 A JP2009205334 A JP 2009205334A
- Authority
- JP
- Japan
- Prior art keywords
- buffer
- packet
- transmitted
- counter
- performance monitor
- 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
- Information Transfer Systems (AREA)
Abstract
Description
本発明は、PCI Expressコンポーネントに係り、特にPCI(Peripheral component interconnect) Expressコンポーネントのデータ転送性能の情報を計測し記録する回路及びその方法に関する。 The present invention relates to a PCI Express component, and more particularly, to a circuit and a method for measuring and recording data transfer performance information of a PCI (Peripheral component interconnect) Express component.
最近では、非特許文献1で定義されるルート・コンプレックス、スイッチ、エンド・ポイントといったPCI Expressコンポーネントにおいても性能モニタ機能を持つ必要が出てきた。理由は、現在PCIの標準化団体であるPCI−SIG(PCI Special Interest Group)において、IOV(I/O Virtulization)という名称で、PCI Expressデバイスを仮想化するための標準仕様の策定が進んでおり、近い将来IOV対応のPCI Expressデバイスが実現する可能性があるためである。PCI Expressデバイスが仮想化されると、計算機システム設計者は、物理PCI Expressデバイス数を削減することによるコスト低減を目的に、VMM(Virtual Machine Monitor)上で、1つの物理PCI Expressデバイスを複数の仮想PCI Expressデバイスに分割し、ゲストOSと呼ぶVMM上で動作するOSのそれぞれに対して割り当てる。
Recently, PCI Express components such as a root complex, a switch, and an end point defined in Non-Patent
現在、Intel社製CPUが備えている性能モニタ機能(非特許文献2記載)のように、一般的に計算機を構成するコンポーネントが備える性能モニタ機能は、使用者が設定した時間内に発生したイベント数をカウントするのみである。そのため、例えば10秒間に発生したイベント数を、1秒間隔で解析したい場合、性能モニタに対し1秒間のイベント数の計測を10回指示する必要がある。このような解析をするためには、例としてあげたIntel社製CPUにはIntel社が販売しているVtuneアナライザーといった、専用の性能解析用ソフトウェアを必要とする。性能モニタ機能の使用者は、性能解析用ソフトウェア上でイベント数の計測を行う時間であるサンプリング期間と、イベント数の計測を行う間隔であるサンプリング間隔を指定する。そうすれば、性能解析ソフトウェアが、指定に従って性能モニタに指示を出し、イベント数の計測を複数回自動で行ってくれる。 Currently, the performance monitoring function provided in the components that make up the computer, such as the performance monitoring function provided by the Intel CPU (described in Non-Patent Document 2), is an event that occurs within the time set by the user. It only counts the number. Therefore, for example, when it is desired to analyze the number of events generated in 10 seconds at intervals of 1 second, it is necessary to instruct the performance monitor to measure the number of events for 1 second 10 times. In order to perform such an analysis, the Intel CPU as an example requires dedicated performance analysis software such as a Vtune analyzer sold by Intel. The user of the performance monitoring function designates a sampling period that is a time for measuring the number of events on the performance analysis software and a sampling interval that is an interval for measuring the number of events. Then, the performance analysis software gives instructions to the performance monitor according to the specifications, and automatically measures the number of events multiple times.
上述のように、計算機システム設計者が物理PCI Expressデバイス数を削減した結果、各ゲストOSが行うデータ転送のQoS(Quality of Service)が保証されないのであれば、計算機システムとしての必要性能を満たせなくなるのでコスト削減は意味をなさない。従って、計算機システム設計者は、ゲストOSのデータ転送性能を解析し、QoSを保証できるように1つの物理PCI Expressデバイスを複数のゲストOSに割り当てる必要がある。そのためには、データ転送経路上に存在するPCI Expressコンポーネントにおいても、データ転送性能を解析するための性能モニタ機能を搭載する必要が出る。 As described above, if the computer system designer reduces the number of physical PCI Express devices, if the quality of service (QoS) performed by each guest OS is not guaranteed, the required performance as the computer system cannot be satisfied. So cost reduction doesn't make sense. Accordingly, the computer system designer needs to analyze the data transfer performance of the guest OS and assign one physical PCI Express device to a plurality of guest OSes so that QoS can be guaranteed. For this purpose, the PCI Express component existing on the data transfer path also needs to be equipped with a performance monitor function for analyzing the data transfer performance.
また、性能解析ソフトウェアは、ソフトウェアの実行時間の制約から、最短のサンプリング間隔がミリ秒と制限される。近年、CPUはマルチコア化が進み、ますます性能が上がっている。それに伴い、I/Oも転送性能を上げる必要が出てきて、2007年には、1リンクあたり5Gbpsの転送性能を持つPCI Express Gen2対応のPCI Expressコンポーネントが出荷され始めている。この流れは今後も続くと予想され、PCI Expressコンポーネントが単位時間あたりに処理するデータ量は益々増える。すると、これまでミリ秒単位のサンプリング間隔で十分な解析ができる数しか発生していなかったパケットの衝突や輻輳といったデータ転送に関わるイベントが、単位時間に扱うデータ量が増えることにより、ミリ秒単位のサンプリング間隔では十分な解析ができないほど多く発生する可能性が考えられる。よって、今後より細かいサンプリング間隔の指定が必要となると予想される。現在、PCI Expressコンポーネントは1クロック・サイクルが数ナノ秒で動いており、今後サンプリング間隔を最低限ミリ秒より細かいマイクロ秒単位か、動作クロック・サイクルと同じナノ秒単位で指定する必要が出ると考えられる。 In the performance analysis software, the shortest sampling interval is limited to milliseconds because of software execution time constraints. In recent years, CPUs have become increasingly multi-core and performance has been increasing. Accordingly, I / O needs to improve transfer performance, and in 2007, PCI Express components compatible with PCI Express Gen2 having a transfer performance of 5 Gbps per link have started to be shipped. This flow is expected to continue, and the amount of data processed by the PCI Express component per unit time will increase more and more. As a result, data transfer events such as packet collisions and congestion that had only been able to be analyzed sufficiently at the sampling interval in milliseconds until now will increase in the amount of data handled per unit time. It is conceivable that a large number of sampling intervals may occur so that sufficient analysis cannot be performed. Therefore, it is expected that a finer sampling interval will be required in the future. Currently, the PCI Express component runs in a few nanoseconds in one clock cycle, and when it becomes necessary to specify the sampling interval in microseconds, which is finer than a minimum of milliseconds, or in the same nanosecond unit as the operation clock cycle. Conceivable.
以上説明した通り、現在PCI Expressコンポーネントの開発をする上で、3つの課題が存在する。
(1)PCI Expressデバイスを仮想化して使用する環境では、ゲストOSのQoSを保証するために、データ転送性能の解析を可能とする性能モニタ機能をPCI Expressコンポーネントに搭載する必要がある。
(2)サンプリング期間とサンプリング間隔をそれぞれ指定して計算機を構成するコンポーネントの性能解析を行う場合、従来の性能モニタ機能では、専用の性能解析ソフトウェアが必要となる。このことは、性能モニタ機能の使用者に、性能解析ソフトウェアの購入コストもしくは開発コストの負担が生じることを意味する。
(3)性能解析ソフトウェアを使用した性能解析では、現在サンプリング間隔をミリ秒単位より下の単位では指定できない。そのため、例えばPCI Expressコンポーネントのクロック・サイクル単位といった、よりサンプリング間隔の粒度を細かくした性能解析ができない。
As described above, there are currently three problems in developing the PCI Express component.
(1) In an environment where a PCI Express device is virtualized and used, in order to guarantee the QoS of the guest OS, it is necessary to mount a performance monitor function that enables analysis of data transfer performance on the PCI Express component.
(2) When performing performance analysis of components constituting a computer by specifying a sampling period and a sampling interval, the conventional performance monitoring function requires dedicated performance analysis software. This means that the user of the performance monitoring function is charged with the purchase cost or development cost of the performance analysis software.
(3) In performance analysis using performance analysis software, the current sampling interval cannot be specified in units lower than milliseconds. Therefore, for example, performance analysis with a finer granularity of sampling intervals such as clock cycle units of PCI Express components cannot be performed.
本発明の目的は、PCI Expressコンポーネントのデータ転送性能の解析を可能とし、性能解析の際に性能解析用ソフトウェアを必要とせず、サンプリング間隔をクロック・サイクル単位で指定できる性能モニタ回路及びその方法を提供することである。 An object of the present invention is to provide a performance monitoring circuit and method for enabling analysis of data transfer performance of a PCI Express component, not requiring performance analysis software for performance analysis, and specifying a sampling interval in units of clock cycles. Is to provide.
本発明の性能モニタ回路及びその方法は、次のような構成である。バッファを備え、受信したPCI Expressのトランザクション層のパケットを前記バッファに格納し、前記バッファに格納された前記パケットを送信するPCI expressコンポーネントと接続する性能モニタ回路及びその性能モニタ回路による性能モニタ方法である。バッファから送信されたパケットのデータ量を計測する第1のカウンタ、バッファにパケットが存在するクロック・サイクル数を計測する第2のカウンタ、バッファ内に送信するパケットが存在するが送信できなかったクロック・サイクル数を計測する第3のカウンタ、及び前記第1〜第3のカウンタによる前記計測を所定時間間隔で繰り返すように制御する制御回路を有する。 The performance monitoring circuit and method of the present invention have the following configuration. A performance monitoring circuit comprising a buffer, storing a received PCI Express transaction layer packet in the buffer, and connecting to a PCI express component for transmitting the packet stored in the buffer, and a performance monitoring method using the performance monitoring circuit is there. A first counter that measures the amount of data of a packet transmitted from the buffer, a second counter that measures the number of clock cycles in which the packet exists in the buffer, and a clock in which a packet to be transmitted exists but could not be transmitted A third counter that measures the number of cycles and a control circuit that controls the measurement by the first to third counters to be repeated at predetermined time intervals.
本発明の他の態様は、記憶回路を設け、その記憶回路に制御回路が第1〜第3のカウンタによる計測値を格納する。 In another embodiment of the present invention, a memory circuit is provided, and the control circuit stores the measurement values obtained by the first to third counters in the memory circuit.
本発明のさらに他の態様は、第1〜第3のカウンタによる計測値の記憶回路への格納に応答して、第1〜第3のカウンタを初期化する。 According to still another aspect of the present invention, the first to third counters are initialized in response to the storage of the measurement values by the first to third counters in the storage circuit.
本発明のさらに他の態様は、所定時間及び所定時間間隔で繰り返す第1〜第3のカウンタによる計測期間を制御レジスタに設定する。 According to still another aspect of the present invention, a measurement period by first to third counters repeated at a predetermined time and a predetermined time interval is set in the control register.
本発明のさらに他の態様は、所望のパケットのデータ量を計測するためのマスクデータをマスクレジスタに設定する。 According to still another aspect of the present invention, mask data for measuring the data amount of a desired packet is set in the mask register.
本発明のさらに他の態様は、アップストリーム用のバッファとダウンストリーム用のバッファとの各々に関して、所定時間内の、バッファから送信されたパケットのデータ量、バッファにパケットが存在するクロック・サイクル数、及びバッファ内に送信するパケットが存在するが送信できなかったクロック・サイクル数を計測する。 According to still another aspect of the present invention, for each of the upstream buffer and the downstream buffer, the data amount of the packet transmitted from the buffer within a predetermined time, and the number of clock cycles in which the packet exists in the buffer And the number of clock cycles in which there is a packet to be transmitted in the buffer but could not be transmitted.
本発明の性能モニタ回路及びその方法によれば、サンプリング間隔をクロック・サイクル単位で指定できる。 According to the performance monitoring circuit and method of the present invention, the sampling interval can be specified in units of clock cycles.
以下、実施例を用いて本発明を実施するための最良の形態を詳細に説明する。 Hereinafter, the best mode for carrying out the present invention will be described in detail using examples.
図1は、実施例1の計算機システムの一例である。本計算機システムは、CPU100とメモリ101、そしてPCI Expressコンポーネントであるルート・コンプレックス110とスイッチ111、エンド・ポイント112とエンド・ポイント113を備える。ルート・コンプレックス110とスイッチ111はPCI Expressリンク140で接続する。そして、スイッチ111とエンド・ポイント112及びエンド・ポイント113は、それぞれPCI Expressリンク141と142で接続する。
FIG. 1 is an example of a computer system according to the first embodiment. The computer system includes a
サービス・プロセッサ120の機能は、計算機システムの各構成要素の電源管理(投入/切断)、構成要素情報の管理、障害発生時の計算機システム内トランザクション情報・処理状態履歴の採取・障害通報、システム内環境(温度・電源)監視である。本実施例では、管理用コンソール130とサービス・プロセッサ120は、インターフェース160を介して通信が可能である。サービス・プロセッサ120と管理用コンソール130間の通信は、例えばLANインターフェースやシリアル・インターフェースで実現すればよい。計算機システムの使用者は、管理用コンソール130を使用して、サービス・プロセッサ120を介し計算機システムの管理/操作を行う。
The functions of the
サービス・プロセッサ120は、管理用コンソール180から各PCI Expressコンポーネントにある性能モニタ回路に対する設定値のリード・ライト及び計測結果の記録のリードができるインターフェース150、151、152及び153を備える。各PCI Expressコンポーネントとサービス・プロセッサ120間のインターフェースは、例えばハードウェアのモニタ用標準インターフェース仕様であるI2Cインタ−フェースを用いればよい。
The
本実施例の性能モニタ回路は、PCI Expressコンポーネントである、ルート・コンプレックス110、スイッチ111、及びエンド・ポイント112に備える。通常、PCI Expressコンポーネント(ルート・コンプレックス、スイッチ、エンド・ポイント等)は、PCI Expressコンポーネントが受信したTLP(Transaction Layer Packet)を一旦格納し、格納後パケットを他のPCI Expressコンポーネントか、計算機を構成する他のコンポーネント(CPU、メモリ等)に送信するためのトランザクション層に位置するバッファをデータ転送経路上に備える。このバッファに性能モニタ回路を備えることで、PCI Expressコンポーネントのデータ転送性能を解析するために必要な情報を得る。
The performance monitor circuit of this embodiment is provided in the
以下、スイッチ111に備える性能モニタ回路を使用して、性能モニタ回路の機能を説明する。性能モニタ回路の機能は、PCI Expressコンポーネントの種類により異なるものではない。
Hereinafter, the function of the performance monitor circuit will be described using the performance monitor circuit included in the
図2に、本実施例におけるスイッチ111を示す。スイッチ111は、アップストリーム・ポート200とダウンストリーム・ポート201、ダウンストリーム・ポート202を備える。アップストリーム・ポート200はPCI Expressのデータリンク層及び物理ポート層の機能を備え、PCI Expressリンク140を介してルート・コンプレックス110からTLP(Transaction Layer Packet)を受信、もしくはルート・コンプレックス110に対してTLPを送信する。ダウンストリーム・ポート201とダウンストリーム・ポート202も同様にPCI Expressのデータリンク層及び物理ポート層の機能を備え、それぞれPCI Expressリンク141と142を介してエンド・ポイント112とエンド・ポイント113からTLPを受信、もしくはエンド・ポイント112とエンド・ポイント113に対してTLPを送信する。
FIG. 2 shows the
各ポートは、常にTLPの宛先であるPCI Expressコンポーネントのルート・コンプレックス110、エンド・ポイント112、及びエンド・ポイント113にあるTLPを受信するバッファの状態を各々監視している。宛先のPCI Excpressコンポーネントのバッファに空きが有り、ポートが宛先のPCI Expressコンポーネントに対しTLPを送信することが可能であれば、その情報をバッファ(アップストリーム用のバッファ)210とバッファ(ダウンストリーム用のバッファ)211に教える。その情報を見たバッファ210とバッファ211は、(バッファ211はクロスバ220を介して)送信可能なポートへ、送信可能なPCI Expressコンポーネント宛てのTLPを送信する。TLPを受け取ったポートは、TLPを宛先のPCI Expressコンポーネントに対して送信する。また、各ポートは、バッファ210とバッファ211の状態を監視し、TLPの送信元でもあるPCI ExpressコンポーネントにTLPをスイッチ111が受信可能であるとの情報を送る。その情報を見たTLP送信元であるPCI ExpressコンポーネントはTLPをスイッチ111に対して送信し、各ポートは直接、もしくはクロスバ・スイッチ220を介してバッファ210またはバッファ211に対しTLPを送信する。
Each port constantly monitors the state of the buffer that receives the TLP at the
バッファ210及びバッファ211はPCI Expressのトランザクション層に位置するバッファで、一旦バッファに対して送られてきたTLPを格納する。そして、TLPを見て宛先を確認し、宛先のPCI Expressコンポーネントが受信可能であれば、直接かクロスバ・スイッチ220を介して各ポートにTLPを送る。ただし、バッファ211が送信するTLPの宛先が性能モニタ回路230であるときは、TLP送信の動作が異なる。性能モニタ回路230宛てのTLPとは、使用者がCPU100上で動作するOSを介して性能モニタ回路230の設定値のリード/ライトや計測結果の記録のリードを行うときに、CPU100が発行する。送信するTLPが性能モニタ回路230宛ての場合、性能バッファ211はクロスバ・スイッチ220とパス252を介して性能モニタ回路230に対しTLPを送信する。本実施例では、性能モニタ回路230は毎クロック・サイクルでTLPを処理できるものとし、性能モニタ回路230がTLPを受信可能かどうかは見ていない。もし性能モニタ回路が毎サイクルTLPを受信できないのであれば、バッファ211は、PCI ExpressコンポーネントにTLPを送信するのと同じく、性能モニタ回路230がTLPを受信可能であるか、TLPを送信する前に確認する必要がある。
A
クロスバ・スイッチ220は、ダウンストリーム・ポート201またはダウンストリーム・ポート202、もしくは性能モニタ回路230からパス253を介して送られてきたTLPをバッファ210に対して送る。性能モニタ回路230が送信するTLPとは、性能モニタ回路230の設定値のリード・データや計測結果の記録のリード・データである。また、クロスバ・スイッチ220は、バッファ211から送られてきたTLPを、TLPの宛先を見て、宛先のPCI Expressコンポーネントと接続しているダウンストリーム・ポート201か202、もしくは性能モニタ回路230に対して送信する。
The
性能モニタ回路230は、パス250を介してバッファ211と接続している。パス250を介してバッファ211は、性能モニタ回路230に対して毎クロック・サイクル、バッファ211に送信するTLPが存在することを示す情報と、バッファ211内に送信するTLPが存在するが送信できないことを示す情報を送る。情報は、例えば2つのレベル信号で実現され、1つのレベル信号の1'は送信するTLPがバッファ211内に存在することを示し、もう1つのレベル信号の1'はバッファ211内にTLPが存在するが送信できないことを示す。両レベル信号の0'は、どちらの状態でもないことを示す。また、性能モニタ回路230は、パス251を介し、バッファ211が送信したTLPのコピーを受信する。そして、性能モニタ回路230は、サービスプロセッサ120とのインターフェース151と直接接続する。
The
図3を用いて、本実施例の性能モニタ回路の内部構成及び処理内容について詳細に説明する。 The internal configuration and processing contents of the performance monitor circuit of this embodiment will be described in detail with reference to FIG.
毎クロック・サイクル、カウンタ回路300は、パス250を介して送られてくるバッファ211に送信するTLPが存在することを示す情報を見て、バッファ211に送信するTLPが存在するのであれば、カウンタ・レジスタ310の値を+1する。同様に、毎クロック・サイクル、カウンタ回路300は、パス250を介して送られてくるバッファ211内に送信するTLPが存在するが送信できないことを示す情報を見て、バッファ211内に送信するTLPが存在するが送信できないのであれば、カウンタ・レジスタ311の値を+1する。また、毎クロック・サイクル、カウンタ回路300は、パス251を介してバッファ211が送信したTLPのコピーを受信する。カウンタ回路300はTLPを受信した時、最初にマスク・レジスタ320を参照する。
Every clock cycle, the
マスク・レジスタ320は、スイッチ111の性能モニタ機能の使用者が性能解析のために任意に設定するレジスタであり、バッファ211が転送するTLP数の計測を所定のTLPに限定するときに使用する。
The
マスク・レジスタ320の一例を図4に示す。マスク・レジスタ320は272ビットで構成される。400〜402の3つのフィールドは各々1ビットで構成される。フィールド400が“enable”であることは、TLPヘッダを受信した時に、カウンタ回路300がカウンタ・レジスタ312にTLPヘッダのパケット・サイズ分をDW(Double Word、32bit)単位でプラスすることを示す。同様に、フィールド401が“enable”であることは、TLPデータを受信した時に、カウンタ回路300がカウンタ・レジスタ312にTLPデータのパケット・サイズ分をDW単位でプラスすることを示し、フィールド402が“enable”であることは、TLPダイジェストを受信した時に、カウンタ回路300がカウンタ・レジスタ312にTLPダイジェストのデータ・サイズ分をDW単位でプラスすることを示す。
An example of the
フィールド403は13ビットで構成され、将来制御回路を機能拡張する際に使用するために予約しているフィールドであり、特に今回使用するものではない。
The
フィールド404は、PCI Express仕様で定められるTLPヘッダの最大サイズである128ビットで構成され、性能モニタ回路の使用者は、データ量を計測する対象のTLPのTLPヘッダを本フィールドに設定する。フィールド405は、フィールド404と同じサイズである128ビットで構成され、フィールド404の各bitの有効・無効を指定するのに使用する。例えば、フィールド404で設定したTLPヘッダの一部のbitのみでTLPをマスクしたい時は、フィールド405で対応するbitのみを“1”に設定して“enable”とすればよい。カウンタ回路300はフィールド404及び405を見て、マスク条件に合うTLPがバッファ211から送信されたら、カウンタ・レジスタ312にTLPのパケット・サイズ分をDW単位でプラスする。
The
以上説明したマスク・レジスタ320のマスク機能は次のような二つの場合に使用することが効果的である。
It is effective to use the mask function of the
第一に、TLPは、TLPヘッダ、TLPデータ、TLPダイジェストの3つで構成され、通常、データ転送量はTLPデータの量のみを指す。他の2つはデータ転送のオーバヘッドである。純粋にデータ転送量を測りたい場合に、マスク・レジスタ320のマスク機能を使用する。
First, a TLP is composed of a TLP header, a TLP data, and a TLP digest, and the data transfer amount usually indicates only the amount of TLP data. The other two are data transfer overheads. When the data transfer amount is to be measured purely, the mask function of the
第二に、TLPヘッダには、発行元、発行先、トランザクション種別等を示す情報を格納しているので、TLPヘッダをマスクすることで、発行元単位、発行先、トランザクション種別に分類してデータ転送量を計測することができる。 Second, since information indicating the issuer, issuer, transaction type, etc. is stored in the TLP header, data is classified into issuer units, issuer, transaction type by masking the TLP header. Transfer amount can be measured.
以上、マスク・レジスタの構成について説明したが、マスク機能及び構成については必要最小限のもののみ説明している。マスク機能及び構成は特に制限するものではなく、例えば性能モニタ回路を搭載するPCI Expressコンポーネントの仕様や、性能モニタ機能の使用者の要求に従い、マスク機能及び構成を拡張しても良い。 Although the configuration of the mask register has been described above, only the minimum necessary mask function and configuration are described. The mask function and configuration are not particularly limited. For example, the mask function and configuration may be expanded according to the specifications of the PCI Express component on which the performance monitor circuit is mounted or the user's request for the performance monitor function.
制御回路330は、バッファ211が送信したTLP数と、バッファ211に送信するTLPが存在するクロック・サイクル数と、バッファ211内に送信するTLPが存在するが送信できないクロック・サイクル数を、制御レジスタ321の設定値に従い計測する。
The
バッファ211が送信したTLP数の計測は、バッファが送信したデータ転送量の計測を意味する。毎クロック・サイクル、バッファが送信したTLPのパケット・サイズを、TLPの最小のパケット・サイズであるDW(Double Word、32bit)を単位としてプラスする。例えば、1クロック・サイクルで3DWのTLPを送信した時は、これまで計測したTLPのパケット・サイズの合計に+3する。本計測により、サンプリング期間内の、バッファ211が存在するデータ転送経路のデータ転送量が分かる。
The measurement of the number of TLPs transmitted by the
バッファ211に送信可能なTLPが存在するクロック・サイクル数の計測は、サンプリング期間の、バッファ211が存在するデータ転送経路の使用率が分かる。
The measurement of the number of clock cycles in which there is a TLP that can be transmitted to the
バッファ211内に送信するパケットが存在するが送信できなかったクロック・サイクル数の計測は、バッファ211より先のデータ転送経路でTLPの送信が滞っている時間の計測であり、データ転送経路の混雑度の計測を意味する。サンプリング期間のデータ転送量が期待値より低い場合は、原因として、(a)TLP発行元が発行するTLPのデータ量が少ない、(b)バッファより先のデータ転送経路でTLPの送信が滞っている、の2つが考えられる。本計測により、バッファ211より先のデータ転送経路でTLPの送信が滞っている時間を計測でき、データ転送経路の混雑度が分かるので、原因(a)(b)の区別が可能となる。
The measurement of the number of clock cycles in which a packet to be transmitted exists in the
また、制御回路330は、パス252を介して性能モニタ回路230宛てのTLPを受信した時、TLPを見て、マスク・レジスタ320と制御レジスタ321のリード/ライトや、カウンタ・レジスタ310〜312、状態レジスタ322とSRAM(記憶回路)323のリードを行う。リード処理後、制御回路330は、パス253を介してリード・データをCPU100宛てに返す。性能モニタ機能の使用者が、管理用コンソール130を介して性能モニタ回路230の設定値のリード/ライトや計測結果の記録のリードを行った時は、インターフェース151から受信したリクエストに従い、マスク・レジスタ320と制御レジスタ321のリード/ライトや、カウンタ・レジスタ310〜312、状態レジスタ322とSRAM323のリードを行う。リード処理後、制御回路330は、インターフェース151を介してリード・データを管理用コンソール130宛てに返す。
When the
制御レジスタ321の一例を図5に示す。制御レジスタ330は112ビットで構成され、500〜504の5つのフィールドに分かれる。フィールド500は1ビットで構成され、“1”の値で計測開始を示し、“0”の値で計測停止を示す。性能モニタ機能の使用者は、フィールド500を操作する事で、計測の開始と停止を指示できる。制御回路330は、フィールド500が“1”に設定されている間は計測を続け、“0”に設定された時は計測を止める。
An example of the
フィールド501は1ビットで構成され、“1”の値でカウンタ・レジスタ310〜312とSRAM323、そして状態レジスタ322の初期化を示し、“0”の値では何もしない。カウンタ・レジスタ310〜312とSRAM323、そして状態レジスタ322の初期化が指示された時、制御回路330は、カウンタ・レジスタ310〜312に格納している値を“0”にクリアする。そして、SRAM323の全エントリに格納している値を全て“0”の値にクリアし、状態レジスタ322に格納している値も全て“0”にクリアする。各初期化対象において初期化が完了するまで、制御回路330はフィールド500に“1”が設定されても計測を開始しない。初期化処理が完了した時、フィールド501は“0”の値に戻る。通常、性能モニタ機能の使用者は、計測開始を指示する前に、フィールド501に“1”を設定し、カウンタ・レジスタ310〜312とSRAM323、そして状態レジスタ322に格納している値を“0”にクリアする。
The
フィールド502は14ビットで構成され、将来制御回路を機能拡張する際に使用するために予約しているフィールドであり、特に今回使用するものではない。
The
フィールド503は48ビットで構成され、サンプリング間隔をクロック・サイクル単位で設定するフィールドである。性能モニタ機能の使用者は、当該フィールドに計測するサンプリング間隔を設定する。制御回路330は、設定したサンプリング間隔分のクロック・サイクルが経過した後、SRAM323に各カウンタ・レジスタ310〜312の値を格納する。制御回路330は、初期化後、SRAM323のエントリ0番から各カウンタ・レジスタ310〜312の値の格納を開始し、その後エントリ番号を+1しながらSRAM323にカウンタ・レジスタ310〜312の値の格納を繰り返す。
A
フィールド504は48ビットで構成され、サンプリング期間(計測期間)をクロック・サイクル単位で格納するフィールドである。性能モニタ機能の使用者は、当該フィールドに計測するサンプリング期間を設定する。制御回路330は、設定したサンプリング期間分のクロック・サイクルが経過した後、SRAM323にカウンタ・レジスタ310〜312の値を最後に書き込んだエントリのフラグ・フィールドに“1”の値をライトする。
A
状態レジスタ322は、スイッチ111の性能モニタ回路のステータスを示すレジスタである。状態レジスタ322の一例を図6に示す。状態レジスタ322は112ビットで構成され、600〜606の7つのフィールドに分かれる。
The
フィールド600は2ビットで構成され、制御回路330のステータスを示す。“00”で制御回路330が計測していないことを示し、“01”で制御回路330が計測中であることを示す。そして、“10”は計測開始後計測が完了する前に制御レジスタ321のフィールド500が“0”に設定されて計測が停止したことを示し、“11”は計測が終了したことを示す。制御回路330は、フィールド500に“1”が設定され計測を開始したら、フィールド600を“01”に設定する。次に、制御回路330は、計測開始後フィールド500に“0”が設定されたら、フィールド600に“10”を設定する。そして、制御回路330は、フィールド606の値と制御レジスタ321のフィールド504の値が同じになった時、“11”を設定する。
The
フィールド601〜603はそれぞれ1ビットで構成され、カウンタ・レジスタでオーバーフローが発生した時に、制御回路330が“1”に設定し、オーバーフローを報告する。フィールド601はカウンタ・レジスタ310、フィールド602はカウンタ・レジスタ311、フィールド603はカウンタ・レジスタ312にそれぞれ対応する。
Each of the
フィールド604は11ビットで構成され、将来制御回路を機能拡張する際に使用するために予約しているフィールドであり、特に今回使用するものではない。
A
フィールド605のインターバル・タイマは48ビットで構成され、クロック・サイクル単位で計測時間を示す。制御回路330は、計測中であるならば、インターバル・タイマの値を1クロック・サイクル毎に+1する。ただし、制御レジスタ321のサンプリング間隔の値とインターバル・タイマの値が等しくなった時、制御回路330は、インターバル・タイマを“0”にクリアし、計測が続くのであれば再び計測時間を記録する。
The interval timer in the
フィールド606のイベント・タイマは48ビットで構成され、クロック・サイクル単位で計測時間を示す。制御回路330は、計測中であるならば、イベント・タイマの値を1クロック・サイクル毎に+1する。ただし、インターバル・タイマとは異なり、初期化以外でイベント・タイマはクリアされない。制御レジスタ322のサンプリング期間の値とイベント・タイマの値が等しくなった時、性能モニタ回路230の計測は終了したことを示す。
The event timer in
SRAM323の1例を図7に示す。本実施例では、SRAMのエントリ数を1024とする。SRAM323は、701〜704の4つのフィールドで構成される。フィールド700はエントリ番号を示しているが、実際のSRAMには当該フィールドはなく、説明を容易にするために仮に定めたフィールドである。フィールド701は各エントリに1ビットで構成され、“1”は計測が終了した時に最後に値が格納されたエントリであることを示す。フィールド702〜704は、各カウンタ・レジスタの値を格納するフィールドであり、各エントリにカウンタ・レジスタと同じビット数で構成される。制御回路330は、フィールド702にはカウンタ・レジスタ310の値を、フィールド703にはカウンタ・レジスタ311の値を、フィールド704にはカウンタ・レジスタ312の値をそれぞれ格納する。
An example of the
以上、制御レジスタ321、状態レジスタ322、SRAM323の構成を説明したが、用いた例は必要最低限の構成であり、構成及び各フィールドのビット数は、特に規定するものではない。性能モニタ回路を搭載するPCI Expressコンポーネントの仕様に応じて、必要なフィールド及びビット数の拡張を行っても構わない。
The configuration of the
図8に、制御回路330が1クロック・サイクル毎に実行する処理フローチャートを示す。図8に示すフローチャートでは、性能モニタ機能の使用者が、CPU100もしくは管理用コンソール130を介して、性能モニタ回路230の設定値のリード/ライトや計測結果の記録のリードを行う際の処理については示していないが、容易に推敲されるだろう。図8に示す処理と並行して、制御回路330は、使用者の操作に伴う処理を実行できる。また、制御レジスタ322のフィールド501を“1”に設定することで、性能モニタ機能の使用者が性能モニタ回路230の初期化を指示した場合の処理も図8には示していないが、容易に推敲されるだろう。性能モニタ回路230の初期化指示を受けた制御回路330は、初期化処理が完了するまで、図8に示す処理は行わない。
FIG. 8 shows a process flowchart executed by the
以下、図8に示す処理フローチャートの各ステップについて説明する。ステップ800で、制御回路330は、制御レジスタ321のフィールド500のスタート/ストップが“1”の“計測開始”の設定であるか判定する。制御回路330は、“計測開始”の設定であった場合はステップ801の処理を行い、“0”で“計測停止”の設定であった場合はステップ802の処理を行う。ステップ801で、制御回路330は、状態レジスタ322のフィールド600の制御回路ステータスを“01”の“計測中”に設定する。
Hereinafter, each step of the processing flowchart shown in FIG. 8 will be described. In
ステップ802で、制御回路330は、状態レジスタ322フィールド600の制御回路ステータスが“01”の“計測中”であるか判定する。“計測中”の設定であった場合、制御回路330は、ステップ803の処理を行い、その他の設定であった場合は当該クロック・サイクルの処理を終了する。ステップ803で、制御回路330は、状態レジスタ322のフィールド600の制御回路ステータスを“10”の“ポーズ”に設定し、当該クロック・サイクルの処理を終了する。
In
ステップ804で、制御回路330は、状態レジスタ322のフィールド605のインターバル・タイマと制御レジスタ321のフィールド503のサンプリング間隔の値が等しいかを判定する。制御回路330は、等しかった場合はステップ805の処理を行い、等しくなかった場合はステップ806の処理を行う。
In
ステップ805で、制御回路330は、カウンタ・レジスタ310〜312の値をSRAM323に格納する。また、制御回路330は、SRAM323に値を格納するために各カウンタ・レジスタから値をリードしたと同時に、各カウンタ・レジスタの値を“0”にクリアする。そして、制御回路330は、状態レジスタ322のフィールド605のインターバル・タイマの値を“0”にクリアする。ステップ806で、制御回路330は、状態レジスタ322のフィールド605のインターバル・タイマの値を+1する。
In
ステップ807で、制御回路330は、状態レジスタ322のフィールド606のイベント・タイマと制御レジスタ321のフィールド504のサンプリング期間の値が等しいかを判定する。制御回路330は、等しい場合はステップ808の処理を行い、等しくない場合はステップ809の処理を行う。
In
ステップ808で、制御回路330は、SRAM323の最後に格納したエントリのフィールド701のフラグに“1”をセットする。また、状態レジスタ322フィールド600の制御回路ステータスを“11”の“計測終了”に設定し、当該クロック・サイクルの処理を終了する。ステップ809で、制御回路330は、状態レジスタ322フィールド606のイベント・タイマの値を+1して、当該クロック・サイクルの処理を終了する。
In
本実施例によれば、サンプリング間隔をクロック・サイクル単位で指定できる性能モニタ回路を実現することができる。 According to the present embodiment, it is possible to realize a performance monitor circuit that can specify the sampling interval in units of clock cycles.
図9に、実施例2のスイッチ111を示す。本実施例のスイッチ111は、実施例1にバッファ210の性能モニタ機能を追加したものである。バッファ210が送信したTLPの数と、バッファ210に送信するTLPが存在するクロック・サイクル数と、バッファ210内に送信するTLPが存在するが送信できなかったクロック・サイクル数を計測するために、バッファ211と同様に、パス250と同じ機能を持つパス950と、パス251と同じ機能を持つパス951を備える。性能モニタ回路930は、バッファ210の上記3つの計測を行うために、性能モニタ回路230の機能を拡張したものである。
FIG. 9 shows the
図10に性能モニタ回路930の一例を示す。以下、性能モニタ回路930について、性能モニタ回路230に追加した構成の説明を行う。追加構成以外の性能モニタ回路930の構成は、性能モニタ回路230の構成と同じである。
FIG. 10 shows an example of the
毎クロック・サイクル、カウンタ回路1000は、パス950を介して送られてくるバッファ210に送信するTLPが存在することを示す情報を見て、バッファ210に送信するTLPが存在するのであれば、カウンタ・レジスタ1010の値を+1する。同様に、毎クロック・サイクル、カウンタ回路1000は、パス950を介して送られてくるバッファ210内に送信するTLPが存在するが送信できないことを示す情報を見て、バッファ210内に送信するTLPが存在するが送信できないのであれば、カウンタ・レジスタ1011の値を+1する。また、毎クロック・サイクル、カウンタ回路1000は、パス951を介してバッファ210が送信したTLPのコピーを受信する。カウンタ回路1000はTLPを受信した時、最初にマスク・レジスタ320を参照し、マスク・レジスタ320の設定内容が示す計測対象のTLPであれば、パケット・サイズ分をDW単位でカウンタ・レジスタ1012の値にプラスする。
Every clock cycle, the
制御回路1030の構成は、制御回路330の構成に、カウンタ・レジスタ310〜312に対する処理と同様の処理をカウンタ・レジスタ1010〜1012に対して行う構成を追加したものである。また、制御回路1030の動作は、SRAM1023に対する動作も追加している。
The configuration of the
SRAM1023の1例を、図11に示す。SRAM323に対してSRAM1023は、フィールド1102〜1104の3つのフィールドを追加している。フィールド1102〜1104は、フィールド702〜704と同様に、各エントリにカウンタ・レジスタと同じビット数で構成される。制御回路1030は、フィールド1102はカウンタ・レジスタ1010の値を、フィールド1103にはカウンタ・レジスタ1011の値を、フィールド1104にはカウンタ・レジスタ1012の値をそれぞれ格納する。
An example of the
制御回路1030は、状態レジスタ322のフィールド605のインターバル・タイマと制御レジスタ321フィールド503のサンプリング間隔の値が等しいと判定したクロック・サイクルで、カウンタ・レジスタ310〜312の値に加え、カウンタ・レジスタ1010〜1012の値をSRAM1021に格納する。また、制御回路1030は、SRAM1023に値を格納するために各カウンタ・レジスタから値をリードしたと同時に、各カウンタ・レジスタの値を“0”にクリアする。
The
また、状態レジスタ322もフィールドを追加して、状態レジスタ1022とする。図12に状態レジスタ1022の一例を示す。追加したフィールド1201〜1203は、それぞれカウンタ・レジスタ1010〜1012がオーバーフローした時に、制御回路1030が“1”に設定して、オーバーフローがあったことを報告するためのフィールドである。
In addition, the
実施例2のスイッチ111は、データ転送性能を計測するバッファの数が2の例であるが、さらにデータ転送性能を計測するバッファの数が増えても、同様の拡張をバッファ単位に施すことで、性能モニタ回路はバッファが1つである時と同様に複数バッファのデータ転送性能の計測ができる。従って、PCI Expressコンポーネント内で複数バッファが存在する場合でも、性能モニタ回路は、同じサンプリング間隔とサンプリング期間で計測と計測結果の記録を行うことができる。これにより、各バッファの計測結果の時間的な相関を見ることができる。
The
以上の実施形態によれば、性能モニタ回路は、解析の対象となるデータ転送経路の単位時間内のデータ転送量、使用率、混雑度を計測することができ、さらに、発行元や発行先、トランザクション種別等に分けてデータ転送量を計測できる。これにより、計算機システム設計者は、データ転送経路のデータ転送性能を解析するために必要な情報を得ることができる。 According to the above embodiment, the performance monitor circuit can measure the data transfer amount, usage rate, and congestion level within the unit time of the data transfer path to be analyzed. Data transfer volume can be measured by dividing transaction types. Thereby, the computer system designer can obtain information necessary for analyzing the data transfer performance of the data transfer path.
1つの物理PCI Expressデバイスを、複数の仮想PCI Expressデバイスに分割して複数のゲストOSに割り当てる計算機システム設計者が、どのように性能モニタ回路を使用するのか一例を挙げて説明する。まず、計算機システム設計者は、PCI Expressデバイスに繋がるデータ転送経路上の、各ゲストOSのデータ転送性能を各々計測する。その後、計算機システム設計者は、各ゲストOSのQoSを保証するために、各ゲストOSのデータ転送性能の合計が、データ転送経路が持つデータ転送性能の最大値を越えないようにゲストOSを物理デバイスに割り当てればよい。また、実際に運用を開始した後、各ゲストOSのデータ転送性能が設計通りに出ない場合がある。原因としては、先の計測時と異なった挙動をゲストOSがする、もしくはデータ転送経路上にある回路の不良等が考えられる。このような状況において計算機システム設計者は、データ転送経路の使用率及び混雑度等を見て、性能低下を引き起こしている原因を突き止める。その際、データ転送量を計測するTLPをマスクすることは、解析の精度を向上させることに寄与する。 An example of how a computer system designer who divides one physical PCI Express device into a plurality of virtual PCI Express devices and allocates it to a plurality of guest OSs uses a performance monitor circuit will be described. First, the computer system designer measures the data transfer performance of each guest OS on the data transfer path connected to the PCI Express device. Thereafter, in order to guarantee the QoS of each guest OS, the computer system designer physically sets the guest OS so that the total data transfer performance of each guest OS does not exceed the maximum value of the data transfer performance of the data transfer path. Assign it to a device. In addition, after actually starting operation, the data transfer performance of each guest OS may not be as designed. Possible causes are that the guest OS behaves differently from the previous measurement, or that a circuit on the data transfer path is defective. In such a situation, the computer system designer looks at the usage rate of the data transfer path, the degree of congestion, and the like to find out the cause of the performance degradation. At that time, masking the TLP for measuring the data transfer amount contributes to improving the accuracy of analysis.
先に述べた通り、性能モニタ回路は、PCI Expressコンポーネント内に実装し、毎クロック・サイクル発生するイベント数をカウントするために、PCI Expressコンポーネントと同じクロック・サイクルで動作する。これに伴い、サイクル間隔及びサイクル期間をクロック・サイクル単位で指定可能とし、最低でもサイクル間隔及びサイクル期間を格納するレジスタは、ミリ秒を満たすクロック・サイクル数を格納できる大きさとする。同様に、イベント数をカウントするのに使用するカウンタ・レジスタも、最低でもミリ秒間で発生するイベント数をカウントするのに十分な大きさとする。以上により、ナノ秒〜ミリ秒単位でのサンプリング間隔及びサンプリング期間の指定を実現する。 As described above, the performance monitor circuit is implemented in the PCI Express component and operates in the same clock cycle as the PCI Express component in order to count the number of events that occur every clock cycle. Accordingly, the cycle interval and cycle period can be specified in units of clock cycles, and at least the register for storing the cycle interval and cycle period is sized to store the number of clock cycles that satisfy milliseconds. Similarly, the counter register used to count the number of events is at least large enough to count the number of events that occur in milliseconds. As described above, the sampling interval and sampling period in nanoseconds to milliseconds can be specified.
ただし、サイクル間隔及びサイクル期間を格納するレジスタやイベント数をカウントするのに使用するカウンタ・レジスタは、特に大きさを規定するものではなく、サイクル間隔及びサイクル期間を1秒間指定できるようにする等、必要に応じて拡張もしくは削減して構わない。 However, the register that stores the cycle interval and cycle period and the counter register that is used to count the number of events are not particularly limited in size, so that the cycle interval and cycle period can be specified for 1 second, etc. You can expand or reduce as necessary.
次に、性能モニタ回路は、使用者が指定するサンプリング間隔に従って、サンプリング期間内に上記3つの計測と計測結果の記録を複数回に分割して実行することができる、例えば、サンプリング期間を10秒としてサンプリング間隔も同じく10秒とした時は記録を1回だけ行い、サンプリング間隔を1秒とした時は1秒間の計測と計測結果の記録を10回繰り返す。 Next, the performance monitoring circuit can divide and execute the above three measurements and the recording of the measurement results within the sampling period according to the sampling interval specified by the user. For example, the sampling period is 10 seconds. When the sampling interval is also set to 10 seconds, recording is performed only once. When the sampling interval is set to 1 second, measurement for 1 second and recording of the measurement result are repeated 10 times.
さらに、性能モニタ回路は、PCI Expressコンポーネント内で複数バッファが存在した場合に、同じサンプリング間隔とサンプリング期間で上記3つの計測と計測結果の記録を行うことができる。これにより、各バッファの計測結果の時間的な相関を見ることができる。 Furthermore, the performance monitor circuit can record the above three measurements and measurement results at the same sampling interval and sampling period when there are a plurality of buffers in the PCI Express component. Thereby, the temporal correlation of the measurement result of each buffer can be seen.
以上に説明した通り、本発明を実施するための形態によれば、サンプリング期間とサンプリング間隔をそれぞれ指定してPCI Expressコンポーネントの性能解析を行う場合にも、性能解析用ソフトウェアを用いずにPCI Expressコンポーネントのデータ転送性能の解析が可能となる。またPCI Expressコンポーネント内に性能モニタ回路を実装するので、PCI Expressコンポーネントと同じクロック・サイクルで動作可能となり、性能解析の際にサンプリング間隔をミリ秒単位より細かいクロック・サイクル単位で指定できる。結果、従来技術と比べてより細かい粒度の性能解析ができる。 As described above, according to the embodiment for carrying out the present invention, even when the performance analysis of the PCI Express component is performed by designating the sampling period and the sampling interval, the PCI Express is used without using the performance analysis software. Analysis of component data transfer performance is possible. Since the performance monitor circuit is mounted in the PCI Express component, it can operate in the same clock cycle as that of the PCI Express component, and the sampling interval can be specified in units of clock cycles smaller than milliseconds in performance analysis. As a result, it is possible to perform a performance analysis with a finer granularity than in the prior art.
100:CPU、101:メモリ、110:ルート・コンプレックス、111:スイッチ、112〜113:エンド・ポイント、120:サービス・プロセッサ、130:管理用コンソール、140〜142:PCI Expressリンク、150〜153:サービス・プロセッサとPCI Expressコンポーネント間のインターフェース、160:管理用コンソールとサービス・プロセッサ間のインターフェース、200:アップストリーム・ポート、201〜202:ダウンストリーム・ポート、210〜211:バッファ、220:クロスバ・スイッチ、230、930:性能モニタ回路、250、950:データ転送性能計測のための情報を性能モニタ回路に渡すパス、251、951:バッファが転送するTLPのコピーを性能モニタ回路に渡すパス、252〜253:性能モニタ回路の設定及び計測結果を読み出すためのパス、300:カウンタ回路、310〜312、1010〜1012:カウンタ・レジスタ、320:マスク・レジスタ、321:制御レジスタ、322、1022:状態レジスタ、323、1023:SRAM、330、1030:性能モニタ回路。 100: CPU, 101: Memory, 110: Root Complex, 111: Switch, 112-113: End Point, 120: Service Processor, 130: Management Console, 140-142: PCI Express Link, 150-153: Interface between service processor and PCI Express component, 160: Interface between management console and service processor, 200: Upstream port, 201-202: Downstream port, 210-211: Buffer, 220: Crossbar Switch, 230, 930: Performance monitor circuit, 250, 950: Path for passing information for data transfer performance measurement to the performance monitor circuit, 251, 951: Copy of TLP transferred by buffer A path to be passed to the performance monitor circuit, 252 to 253: a path for reading the setting of the performance monitor circuit and a measurement result, 300: a counter circuit, 310-312, 1010 to 1012: a counter register, 320: a mask register, 321 Control register, 322, 1022: status register, 323, 1023: SRAM, 330, 1030: performance monitor circuit.
Claims (12)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008045730A JP2009205334A (en) | 2008-02-27 | 2008-02-27 | Performance monitor circuit and performance monitor method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008045730A JP2009205334A (en) | 2008-02-27 | 2008-02-27 | Performance monitor circuit and performance monitor method |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2009205334A true JP2009205334A (en) | 2009-09-10 |
Family
ID=41147540
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008045730A Pending JP2009205334A (en) | 2008-02-27 | 2008-02-27 | Performance monitor circuit and performance monitor method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2009205334A (en) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011081769A (en) * | 2009-09-14 | 2011-04-21 | Ricoh Co Ltd | Apparatus, device and method for transferring data |
JP2013073289A (en) * | 2011-09-27 | 2013-04-22 | Nec Corp | Multiplex system, data communication card, state abnormality detection method and program |
JP2013534680A (en) * | 2010-07-15 | 2013-09-05 | アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド | System and method for accessing PCI Express compatible device resources |
JP2014078065A (en) * | 2012-10-09 | 2014-05-01 | Nec Corp | Data communication device and control method thereof, and computer program |
US11372782B2 (en) | 2019-08-14 | 2022-06-28 | Samsung Electronics Co., Ltd. | Computing system for reducing latency between serially connected electronic devices |
US11733872B2 (en) | 2021-09-28 | 2023-08-22 | Samsung Electronics Co., Ltd. | Storage device and system of controlling operation through flow control monitoring |
JP7581932B2 (en) | 2021-02-02 | 2024-11-13 | 株式会社オートネットワーク技術研究所 | In-vehicle device, communication speed control method, and program |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08298536A (en) * | 1995-01-30 | 1996-11-12 | Hewlett Packard Co <Hp> | Frame period monitoring system |
JP2003318961A (en) * | 2002-04-22 | 2003-11-07 | Hitachi Ltd | Network repeater and method for collecting statistic information therefor |
JP2007249816A (en) * | 2006-03-17 | 2007-09-27 | Ricoh Co Ltd | Data communication circuit and arbitration method |
-
2008
- 2008-02-27 JP JP2008045730A patent/JP2009205334A/en active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08298536A (en) * | 1995-01-30 | 1996-11-12 | Hewlett Packard Co <Hp> | Frame period monitoring system |
JP2003318961A (en) * | 2002-04-22 | 2003-11-07 | Hitachi Ltd | Network repeater and method for collecting statistic information therefor |
JP2007249816A (en) * | 2006-03-17 | 2007-09-27 | Ricoh Co Ltd | Data communication circuit and arbitration method |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011081769A (en) * | 2009-09-14 | 2011-04-21 | Ricoh Co Ltd | Apparatus, device and method for transferring data |
JP2013534680A (en) * | 2010-07-15 | 2013-09-05 | アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド | System and method for accessing PCI Express compatible device resources |
JP2013073289A (en) * | 2011-09-27 | 2013-04-22 | Nec Corp | Multiplex system, data communication card, state abnormality detection method and program |
US8990632B2 (en) | 2011-09-27 | 2015-03-24 | Nec Corporation | System for monitoring state information in a multiplex system |
JP2014078065A (en) * | 2012-10-09 | 2014-05-01 | Nec Corp | Data communication device and control method thereof, and computer program |
US11372782B2 (en) | 2019-08-14 | 2022-06-28 | Samsung Electronics Co., Ltd. | Computing system for reducing latency between serially connected electronic devices |
JP7581932B2 (en) | 2021-02-02 | 2024-11-13 | 株式会社オートネットワーク技術研究所 | In-vehicle device, communication speed control method, and program |
US11733872B2 (en) | 2021-09-28 | 2023-08-22 | Samsung Electronics Co., Ltd. | Storage device and system of controlling operation through flow control monitoring |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7247213B2 (en) | debug controller circuit | |
US11048569B1 (en) | Adaptive timeout mechanism | |
US20180077228A1 (en) | Dynamic Configuration of Inter-Chip and On-Chip Networks In Cloud Computing System | |
US10691576B1 (en) | Multiple reset types in a system | |
Larsen et al. | Architectural breakdown of end-to-end latency in a TCP/IP network | |
US9086965B2 (en) | PCI express error handling and recovery action controls | |
US8874959B2 (en) | Information processing apparatus, image forming apparatus, and information processing program | |
EP2767899A2 (en) | Non-volatile memory channel control using a general purpose programmable processor in combination with a low level programmable sequencer | |
US9448870B2 (en) | Providing error handling support to legacy devices | |
US8286027B2 (en) | Input/output device including a mechanism for accelerated error handling in multiple processor and multi-function systems | |
US10078543B2 (en) | Correctable error filtering for input/output subsystem | |
US10896001B1 (en) | Notifications in integrated circuits | |
JP2009205334A (en) | Performance monitor circuit and performance monitor method | |
US7783817B2 (en) | Method and apparatus for conditional broadcast of barrier operations | |
US6526501B2 (en) | Adapter for a microprocessor | |
US11442844B1 (en) | High speed debug hub for debugging designs in an integrated circuit | |
WO2009123848A2 (en) | Apparatus and method for low overhead correlation of multi-processor trace information | |
US20190286223A1 (en) | System, Apparatus And Method For Bulk Register Accesses In A Processor | |
CN115203095A (en) | PCIe device and operating method thereof | |
EP0942375A1 (en) | Adapter device with a local memory and method for processor emulation | |
US8832664B2 (en) | Method and apparatus for interconnect tracing and monitoring in a system on chip | |
CN115685785B (en) | Universal bus model and simulation test method | |
JP2008165556A (en) | Computer system and chip set therefor | |
US20150378949A1 (en) | Method of Transaction and Event Ordering within the Interconnect | |
Coleman et al. | Emerging COTS architecture support for real-time TSN Ethernet |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Effective date: 20100621 Free format text: JAPANESE INTERMEDIATE CODE: A621 |
|
A977 | Report on retrieval |
Effective date: 20120127 Free format text: JAPANESE INTERMEDIATE CODE: A971007 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120207 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20120605 |