JP2010224897A - Buffer control system, method, partition sharing interface using the same, and system - Google Patents
Buffer control system, method, partition sharing interface using the same, and system Download PDFInfo
- Publication number
- JP2010224897A JP2010224897A JP2009071842A JP2009071842A JP2010224897A JP 2010224897 A JP2010224897 A JP 2010224897A JP 2009071842 A JP2009071842 A JP 2009071842A JP 2009071842 A JP2009071842 A JP 2009071842A JP 2010224897 A JP2010224897 A JP 2010224897A
- Authority
- JP
- Japan
- Prior art keywords
- buffer
- data
- partition
- flit
- packet
- 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.)
- Granted
Links
Images
Abstract
Description
本発明は、バッファ制御システム、方法、これを用いたパーティション共有インタフェース及びシステムに係り、特に複数のパーティションが共有するインタフェースを持つシステムの共有バッファ制御に関する。 The present invention relates to a buffer control system, a method, and a partition sharing interface and system using the same, and more particularly to a shared buffer control of a system having an interface shared by a plurality of partitions.
図4は、関連技術の複数パーティションが共有するインタフェースを持つシステムの構成を示している。プロセッサS21、S22、S23、S24、メモリS31、S32、S33、S34、ディスクS41からなるノードS01と、プロセッサS25、S26、S27、S28、メモリS35、S36、S37、S38、ディスクS42からなるノードS02が、クロスバS11及びS12を介して接続されているシステムである。 FIG. 4 shows the configuration of a system having an interface shared by a plurality of partitions of the related art. A node S01 consisting of processors S21, S22, S23, S24, memories S31, S32, S33, S34 and a disk S41, a node S02 consisting of processors S25, S26, S27, S28, memories S35, S36, S37, S38 and a disk S42. Is a system connected via crossbars S11 and S12.
パーティションの分割方法として、例えばプロセッサS21、S22、S25、S26、メモリS31、S32、S35、S36、ディスクS41によりパーティション1を構成し、プロセッサS23、S24、S27、S28、メモリS33、S34、S37、S38、ディスクS42によりパーティション2を構成した場合、クロスバS11及びS12の内部には、パーティション1のデータ及びパーティション2のデータで共有されるバッファが存在する構成となる。
As a partition dividing method, for example, a
当該共有バッファには、クロスバS11の送信側の共有バッファS11T及びクロスバS12の受信側の共有バッファS12Rには、ノードS01からノードS02へ転送されるパーティション1及びパーティション2のデータが混在する。同様にクロスバS12の送信側の共有バッファS12T及びクロスバS11の受信側の共有バッファS11Rには、ノードS02からノードS01へ転送されるパーティション1及びパーティション2のデータが混在することになる。
In the shared buffer, the data of the
このように複数パーティションが共有するバッファが存在するシステム構成において、あるパーティションでタイムアウト障害が発生するケースでは、障害パーティションの転送データが共有バッファに停滞してしまうため、後続の転送データとして共有バッファに格納されている他のパーティションの転送データも停滞してしまい、マルチパーティション障害に至ってしまう可能性がある。この状況について、図5を参照して説明する。 In such a system configuration where a buffer shared by multiple partitions exists, if a timeout failure occurs in a certain partition, the transfer data of the failed partition stagnate in the shared buffer. The stored transfer data of other partitions may also be stagnant, resulting in a multi-partition failure. This situation will be described with reference to FIG.
図5は、図4に示すシステムにおける片側ノードのクロスバ部分(図の例ではクロスバN01)を詳細に説明したものである。 FIG. 5 illustrates in detail the crossbar portion (crossbar N01 in the illustrated example) of one side node in the system shown in FIG.
図5に示す複数のパーティションのデータが混在するパーティション共有部の共有バッファN50において、例えば先頭のエントリがパーティション2のプロセッサN40宛の転送データであった場合、共有バッファN50のリード制御部N51は、調停部N42に対して送信要求を出す。通常ならば、調停部N42から許可応答がリード制御部N51に返り、共有バッファN50から転送データが読み出され、宛先制御部N52、セレクタ部N41、バッファN43を経由してプロセッサN40へ送信される。
In the shared buffer N50 of the partition sharing unit where data of a plurality of partitions shown in FIG. 5 is mixed, for example, when the top entry is transfer data addressed to the processor N40 of the
その際、パーティション2のプロセッサN30からもプロセッサN40宛の転送データがあり、バッファN31のリード制御部N32が調停部N42に対して送信要求を出し、調停部N42で調停を行った結果、故障などによりリード制御部N32に対してのみ許可応答が返却されると、セレクタ部N41は、プロセッサN30からのリクエストのみを選択し、共有バッファN50からのリクエストは選択されない状態が継続される。
At that time, there is also transfer data addressed to the processor N40 from the processor N30 of the
このように調停部N42からリード制御部N51に対してリード許可が出ない場合、例えば共有バッファN50内に後続エントリのデータとしてパーティション1のプロセッサN20宛の転送データが格納されていると、リード制御部N51から調停部N23に対して送信要求が出せない状態になり、健全なパーティション1の転送データがパーティション2の転送データ停滞による要因でタイムアウト障害を起こしてしまう課題がある。
When read permission is not issued from the arbitration unit N42 to the read control unit N51 in this way, for example, if transfer data addressed to the processor N20 in the
これに関連して、特許文献1では、複数ノードで共有するバッファ制御に関し、1つのノードに障害が発生しそのノード復旧後の再組込み時においてシステム全体に与える影響を少なくするための共有バッファが開示されている。この共有バッファは、コンピュータであるノード夫々に対応して設けられ対応するノードがシステムに組込まれて正常に動作できる状態であるかどうかを示す情報を保持するレジスタと、ノードから出力されるデータを順次格納する複数のデータフィールドとそのデータが無効であるかどうかを示す情報を保持するコンフィグフィールドとを含むメモリと、レジスタが正常動作できる状態であることを示している場合において該レジスタに対応するノードに障害が発生したときデータが格納されるデータフィールドに対応するコンフィグフィールドを無効状態にする制御手段とを含む。
In relation to this, in
図4、図5に示す関連技術の複数パーティションが共有するインタフェースを持つシステムにおけるマルチパーティション障害を回避するためには、複数のパーティションで共有するインタフェースを持たない構成とするか、またはパーティション数が少ない場合にはパーティション単位にバッファを分けて所有するなどして、可能な限りパーティション共有部分の極小化を行う必要があった。 In order to avoid a multi-partition failure in a system having an interface shared by a plurality of partitions according to the related technology shown in FIGS. 4 and 5, a configuration without an interface shared by a plurality of partitions or a small number of partitions is used. In some cases, it was necessary to minimize partition sharing as much as possible, such as by owning a buffer for each partition.
また、複数パーティションが共有するバッファ制御を行うケースでも、あるパーティションで障害が生じ特にタイムアウトを検出するようなケースでは、障害の発生したパーティションの障害処理を実施中に、共有バッファ内に残存している後続の障害の起きていない健全なパーティションのデータが巻き込まれてタイムアウト障害を起こしてしまい、マルチパーティション障害となるケースがあった。 Also, even in the case of buffer control shared by multiple partitions, in the case where a failure occurs in a partition and a timeout is detected in particular, it remains in the shared buffer during failure processing of the failed partition. There was a case where a multi-partition failure occurred due to a time-out failure caused by data of a healthy partition that did not have a subsequent failure.
さらに、特許文献1のように複数ノードで共有するバッファ制御を行うケースでも、共有バッファの外部より障害発生の通知がある事例では、全てのノード数から共有バッファに対して障害通知手段を設けなければならず、タイムアウト障害の検出には障害通知が無いあるいは遅れるケースがあり、健全なパーティションのデータが巻き込まれる可能性がある。そのような背景があることに加えて、近年ではサーバ統合、プロセッサのマルチコア化、VM(Virtual Machine)、IO(Input Output)仮想化、LSI(Large Scale Integration)の1チップ化などの傾向があり、複数のパーティションで共有する部分を持たざるを得ない状況が生じてきている。
Furthermore, even in the case of performing buffer control shared by a plurality of nodes as in
本発明の目的は、上記課題を解決し、通常のトランザクションによるタイムアウト検出より前に停滞状態を検出し、障害発生時のバッファリード制御を高速化し、ひとつのパーティションでのタイムアウト障害を契機に他の健全なパーティションが巻き込まれて起きるマルチパーティション障害を軽減させることができるバッファ制御システム、方法、これを用いたパーティション共有インタフェース及びシステムを提供することにある。 The object of the present invention is to solve the above problems, detect a stagnation state before time-out detection by a normal transaction, speed up buffer read control when a failure occurs, and trigger another time-out failure in one partition. It is an object to provide a buffer control system, method, and partition sharing interface and system using the same, which can reduce a multi-partition failure caused by a healthy partition being involved.
上記目的を達成するため、本発明に係るパーティション共有インタフェースのバッファ制御システムは、複数のパーティションが共有するインタフェースのバッファを制御するシステムにおいて、前記バッファ内のデータの停滞状態を自立的に監視し、そのデータの停滞状態によるタイムアウト障害の発生を、トランザクションのリクエスト及びリプライによるタイムアウト検出よりも前に検出する停滞監視部と、前記停滞監視部により、あるパーティションのデータの停滞状態によるタイムアウト障害が発生したことが検出された場合、前記バッファからデータを読み出すときに、前記タイムアウト障害を引き起こすパーティションのデータの格納されるアドレスをスキップするアドレススキップ制御部とを備えたことを特徴とする。 To achieve the above object, a buffer control system for a partition sharing interface according to the present invention is a system for controlling a buffer of an interface shared by a plurality of partitions, and independently monitors a stagnation state of data in the buffer, A stagnation monitoring unit that detects the occurrence of a timeout failure due to the stagnation state of the data before the timeout detection by the transaction request and reply, and the stagnation monitoring unit caused a timeout failure due to the stagnation state of data in a certain partition And an address skip control unit for skipping an address in which data of the partition causing the time-out failure is stored when data is read from the buffer.
本発明に係るパーティション共有インタフェースのバッファ制御方法は、複数のパーティションが共有するインタフェースのバッファを制御する方法において、停滞監視部が、前記バッファ内のデータの停滞状態を自立的に監視し、そのデータの停滞状態によるタイムアウト障害の発生を、トランザクションのリクエスト及びリプライによるタイムアウト検出よりも前に検出し、アドレススキップ制御部が、あるパーティションのデータの停滞状態によるタイムアウト障害が発生したことが検出された場合、前記バッファからデータを読み出すときに、前記タイムアウト障害を引き起こすパーティションのデータの格納されるアドレスをスキップすることを特徴とする。 The buffer control method for a partition shared interface according to the present invention is a method for controlling a buffer of an interface shared by a plurality of partitions, wherein a stagnation monitoring unit independently monitors a stagnation state of data in the buffer, and the data When the occurrence of a timeout failure due to a stagnation state is detected before timeout detection by a transaction request and reply, and the address skip control unit detects that a timeout failure has occurred due to a stagnation of data in a partition When reading data from the buffer, an address at which data of a partition causing the timeout failure is skipped.
本発明によれば、複数パーティションが共有するインタフェースの共有バッファ制御において、共有バッファ内の停滞データを自立的にタイマ監視することで通常のトランザクションによるタイムアウト検出より前に停滞状態を検出することができる。また、共有バッファからのリード制御では、健全なパーティションのデータだけをアドレススキップして読み出せるようにすることで、障害発生時のバッファリード制御を高速化し、ひとつのパーティションでのタイムアウト障害を契機に他の健全なパーティションが巻き込まれて起きるマルチパーティション障害を軽減させることができる。 According to the present invention, in shared buffer control of an interface shared by a plurality of partitions, it is possible to detect a stagnation state before time-out detection by a normal transaction by independently monitoring stagnation data in the shared buffer by timer monitoring. . In addition, read control from the shared buffer speeds up buffer read control in the event of a failure by enabling only the data of a healthy partition to be read and skipped, and triggered by a timeout failure in one partition. Multi-partition failures that occur when other healthy partitions are involved can be reduced.
次に、本発明に係るバッファ制御システム、方法、これを用いたパーティション共有インタフェース及びシステムの実施の形態について、図面を参照して詳細に説明する。 Next, embodiments of a buffer control system and method, a partition sharing interface using the same, and a system according to the present invention will be described in detail with reference to the drawings.
図1は、本実施の形態に係るバッファ制御システムの構成を示す。同図に示すバッファ制御システムは、例えば前述した図4、図5に示すような複数のパーティションが共有するインタフェース(共有部)の共有バッファB08を制御するものであり、パケット解析部B01、レジスタなどの第1の記憶手段B02〜B05及び第2の記憶手段B06、B07、リードポインタB13、停滞監視タイマ(停滞監視部)B14、及びアドレススキップ制御部B15を有する。 FIG. 1 shows a configuration of a buffer control system according to the present embodiment. The buffer control system shown in the figure controls a shared buffer B08 of an interface (shared part) shared by a plurality of partitions as shown in FIGS. 4 and 5, for example, and includes a packet analysis part B01, a register, etc. First storage means B02 to B05, second storage means B06, B07, read pointer B13, stagnation monitoring timer (stagnation monitoring part) B14, and address skip control part B15.
パケット解析部B01は、複数のパーティションが共有するインタフェース(共有部)の共有バッファB08に入力されるパケットB00を解析し、第1の記憶手段B02〜B05、第2の記憶手段B06、B07を介して共有バッファB08に格納する。ここで、入力パケットB00は、1つのパケットが固定長でない複数のフリットから構成され、1つのフリットには、フリットデータのほか、その制御情報として、フリットの有効性を示すValid情報、パケットのパーティション番号を示す情報、パケットのフリット数を示す情報を直接あるいはそれらを算出可能な情報がそれぞれ格納されている。このうち、パケットのパーティション番号を示す情報と、パケットのフリット数を示す情報は、1つのパケットを構成する複数のフリットの内のいずれかのフリット、例えば最初のフリット又はそれ以外のフリットに格納されている。いずれのフリットに格納されるかは、入力パケットB00のフォーマットによって異なる。 The packet analysis unit B01 analyzes the packet B00 input to the shared buffer B08 of the interface (shared unit) shared by a plurality of partitions, and passes through the first storage unit B02 to B05 and the second storage unit B06, B07. And stored in the shared buffer B08. Here, the input packet B00 is composed of a plurality of flits in which one packet is not a fixed length, and in addition to flit data, one flit includes Valid information indicating the validity of the flit, packet partition as its control information. Information indicating a number and information indicating the number of flits of a packet are stored directly or information capable of calculating them. Among these, information indicating the partition number of the packet and information indicating the number of flits of the packet are stored in any one of a plurality of flits constituting one packet, for example, the first flit or other flits. ing. Which flit is stored differs depending on the format of the input packet B00.
本実施の形態では、パケット解析部B01は、1つのパケットが複数のフリットからなる入力パケットB00のうち、フリットデータそのものを第1の記憶手段B05に格納すると共に、フリットの有効性を示すValid情報を第1の記憶手段B02に、パケットのパーティション番号を示す情報を第1の記憶手段B03に、パケットのフリット数を示す情報を第1の記憶手段B04にそれぞれ直接あるいは算出して格納する。 In the present embodiment, the packet analysis unit B01 stores the flit data itself in the first storage means B05 among the input packets B00 in which one packet is composed of a plurality of flits, and also shows Valid information indicating the validity of the flits. Are stored in the first storage unit B02, information indicating the packet partition number is stored in the first storage unit B03, and information indicating the number of packet flits is stored in the first storage unit B04, either directly or calculated.
ここで、パケットのパーティション番号を示す情報及びパケットのフリット数を示す情報が、1つのパケットを構成する複数のフリットの内の最初のフリットにある場合には、図1のようにフリットの有効性を示すValid情報は、第1の記憶手段B02から第2の記憶手段B06に、フリットデータは、第1の記憶手段B05から第2の記憶手段B07にそれぞれ格納し、パケットのパーティション番号を示す情報及びパケットのフリット数を示す情報と所定時間(1T)分の時間差を設けて、共有バッファB08に格納する。 Here, when the information indicating the packet partition number and the information indicating the number of flits of the packet are in the first flit of a plurality of flits constituting one packet, the validity of the flits as shown in FIG. Is stored in the second storage unit B06 from the first storage unit B02, and the flit data is stored in the second storage unit B07 from the first storage unit B05, and indicates the partition number of the packet. In addition, information indicating the number of packet flits and a time difference of a predetermined time (1T) are provided and stored in the shared buffer B08.
一方、パケットのフォーマットによって、パケットのパーティション番号を示す情報及びパケットのフリット数を示す情報が、1つのパケットを構成する複数のフリットの内の最初のフリットにない場合は、最初のフリットとこれらの情報を格納するフリットとの差に応じた時間差をつけ、共有バッファB08に格納する。 On the other hand, depending on the format of the packet, when the information indicating the partition number of the packet and the information indicating the number of flits of the packet are not in the first flit of a plurality of flits constituting one packet, A time difference corresponding to the difference from the frit for storing information is added and stored in the shared buffer B08.
本実施の形態では、入力パケットB00を上記の第1の記憶手段B02〜B05、第2の記憶手段B06、B07を介して共有バッファB08に格納することで、共有バッファB08から読み出した際に、フリットの有効性を示すValid情報B09と、次のパケットのパーティション番号を示す情報B10と、次のパケットのフリット数を示す情報B11と、現在の先頭エントリのフリットデータB12とが、共有バッファB08の同一アドレスの同一エントリから読み出されるバッファ構成が実現できる。 In the present embodiment, when the input packet B00 is stored in the shared buffer B08 via the first storage means B02 to B05 and the second storage means B06 and B07, when read from the shared buffer B08, Valid information B09 indicating the validity of the flit, information B10 indicating the partition number of the next packet, information B11 indicating the number of flits of the next packet, and flit data B12 of the current first entry are stored in the shared buffer B08. A buffer configuration for reading from the same entry at the same address can be realized.
リードポインタB13は、共有バッファB08から出力パケットB16として読み出すフリットを格納しているエントリのアドレスを指定する。 The read pointer B13 designates the address of the entry storing the flit read from the shared buffer B08 as the output packet B16.
停滞監視タイマB14は、共有バッファB08からの読み出し時に、読み出すフリットが有効でかつリードポインタB13が変化しないことでタイマを動作させることにより、通常のトランザクションのリクエスト・リプライによるタイムアウトの検出よりも前に停滞状態のタイムアウトを検出する。ここで、タイマ値は、通常のトランザクションのリクエスト・リプライによるタイムアウトより短い適切な値を可変で設定できるものとする。 The stagnation monitoring timer B14 operates before the time-out is detected by a normal transaction request / reply by operating the timer when the read flit is valid and the read pointer B13 does not change when reading from the shared buffer B08. Detect stagnation timeout. Here, it is assumed that the timer value can be variably set to an appropriate value shorter than a timeout due to a normal transaction request reply.
アドレススキップ制御部B15は、停滞監視タイマB14による停滞状態のタイムアウト検出時に、次のパケットのパーティション番号を示す情報B10と、次のパケットのフリット数を示す情報B11と、現在の先頭エントリのフリットデータB12とに基づいて、アドレスのスキップ値(+x)を決定し、リードポインタB13に通知する。 The address skip control unit B15 detects information B10 indicating the partition number of the next packet, information B11 indicating the number of flits of the next packet, and flit data of the current first entry when the stagnation monitoring timer B14 detects a stagnation timeout. Based on B12, an address skip value (+ x) is determined and notified to the read pointer B13.
次に、図1を参照して、本実施の形態の共有バッファの制御方法について説明する。同図は、入力パケットB00が共有バッファB08に格納され、共有バッファB08から出力パケットB16が送出される際のバッファ制御を示したものである。 Next, a method for controlling the shared buffer according to the present embodiment will be described with reference to FIG. This figure shows the buffer control when the input packet B00 is stored in the shared buffer B08 and the output packet B16 is transmitted from the shared buffer B08.
まず、複数のパーティションが共有するインタフェース(共有部)が入力パケットB00を受信すると、パケット解析部B01は、パケット内容を解析し、フリットの有効性を示すValid情報を第1の記憶手段B02、パケットのパーティション番号を第1の記憶手段B03、パケットのフリット数を第1の記憶手段B04の各記憶手段に格納し、同時にフリットデータを第1の記憶手段B05に格納する。 First, when an interface (shared unit) shared by a plurality of partitions receives the input packet B00, the packet analysis unit B01 analyzes the packet contents and sends Valid information indicating the validity of the flit to the first storage unit B02, the packet Are stored in the first storage means B03, the number of flits of the packet is stored in each storage means of the first storage means B04, and the flit data is simultaneously stored in the first storage means B05.
更に共有バッファB08に格納するまでの間に、フリットの有効性を示す情報及びフリットデータを、パーティション番号及びフリット数とは時間差を設けて、それぞれ第2の記憶手段B06及びB07に格納してから共有バッファB08に格納することにより、共有バッファB08の同一エントリから、現在のフリットの有効性情報B09、現在のフリットデータB12、及び次のパケットのパーティション番号B10、次のパケットのフリット数B11を読み出すことが可能となる。 Further, before storing in the shared buffer B08, information indicating the validity of the flit and flit data are stored in the second storage means B06 and B07, respectively, with a time difference from the partition number and the number of flits. By storing in the shared buffer B08, the current flit validity information B09, the current flit data B12, the next packet partition number B10, and the next packet flit number B11 are read from the same entry in the shared buffer B08. It becomes possible.
更に、本実施の形態では、現在のフリットの有効性情報B09がフリット有効状態を示していてリードポインタB13が読み出し可能にもかかわらず共有バッファB08から読み出されずに停滞しているフリットを監視する停滞監視タイマB14を備えている。 Furthermore, in the present embodiment, the current flit validity information B09 indicates the flit valid state, and the stagnation for monitoring the flit that is not read from the shared buffer B08 but is stagnant even though the read pointer B13 is readable. A monitoring timer B14 is provided.
これにより、アドレススキップ制御部B15は、停滞監視タイマB14がタイムアウトを検出した場合、次のパケットのパーティション番号B10、次のパケットのフリット数B11、現フリットデータB12の情報から、停滞タイムアウトが発生したパーティションデータの格納されるアドレスをスキップして他の健全なパーティションデータの格納されるアドレスを算出してリードポインタB13に通知することで共有バッファB08から読み出しを行う。 As a result, when the stagnation monitoring timer B14 detects a timeout, the address skip control unit B15 generates a stagnation timeout from the information of the partition number B10 of the next packet, the number of flits B11 of the next packet, and the current flit data B12. Reading from the shared buffer B08 is performed by skipping the address where the partition data is stored and calculating the address where other healthy partition data is stored and notifying the read pointer B13.
このようにすることで、トランザクションのリクエスト・リプライによるタイムアウト検出より前に停滞するパーティションデータを無効化処理し、更に後続の健全なパーティションデータのみを読み出すことができ、高速化を図ることができる。 By doing so, it is possible to invalidate the partition data stagnating before the time-out detection by the transaction request / reply, and to read only the subsequent healthy partition data, thereby increasing the speed.
図2は、図1の共有バッファB08に格納される転送データの一例を示している。 FIG. 2 shows an example of transfer data stored in the shared buffer B08 of FIG.
転送データは、共有バッファB08のエントリ0から順に格納される。図2の例は、パーティション2のフリット1、2、パーティション1のフリット1、2、パーティション2のフリット1、2、3、パーティション1のフリット1の順で格納されていることを示している。
The transfer data is stored in order from entry 0 of shared buffer B08. The example of FIG. 2 shows that the data is stored in the order of
各エントリには、フリットの有効状態を示すValidフィールド、次のパケットのパーティション番号を示すフィールド、次のパケットのフリット数を示すフィールド、フリットデータが格納されるフィールドで構成される。したがって、例えばエントリ1では、パーティション2のフリット2とともに、当該フリットの有効性を示すValid情報、次のパケットのパーティションの番号であるパーティション番号1、次のパケットのフリット数であるフリット数2が同一エントリに格納されるバッファの構成である。
Each entry includes a Valid field indicating the valid state of a flit, a field indicating the partition number of the next packet, a field indicating the number of flits of the next packet, and a field storing flit data. Therefore, for example, in
ここで、図2で示すようなフリット順序で共有バッファF00にデータが格納されていた場合、共有バッファF00の先頭エントリ0にパーティション2のフリット1が格納され、当該フリットが停滞タイムアウトを検出したケースについて説明する。
Here, when data is stored in the shared buffer F00 in the flit order as shown in FIG. 2, the
停滞監視タイマB14は、エントリ0のパーティション2のフリット1が有効かつアドレススキップ制御部B15からリードポインタB13に対してポインタ更新指示が出ない状態を監視し、タイマを動作させる。タイマ値は、通常のトランザクションのリクエスト・リプライによるタイムアウトより短い適切な値を可変で設定できるものとする。
The stagnation monitoring timer B14 monitors the state where the
この状態で、停滞監視タイマB14によるタイマ動作により停滞タイムアウトが検出されると、その検出パルスがアドレススキップ制御部B15に通知される。そうすると、停滞タイムアウト検出直後では、現在のフリットデータB12から現パケットのパーティション番号とフリット数からの情報を基に、アドレススキップ制御部B15は、タイムアウト検出したパーティション2のフリット1及びパーティション2のフリット2の格納エントリ分(+2エントリ)だけアドレスをスキップし、リードポインタB13に通知する。
In this state, when a stagnation timeout is detected by the timer operation by the stagnation monitoring timer B14, the detection pulse is notified to the address skip control unit B15. Then, immediately after the stagnation timeout is detected, the address skip control unit B15, based on the information from the current flit data B12 and the partition number of the current packet and the number of flits, detects
アドレススキップ制御部B15は、続くエントリ2のリードでは次のパーティション番号B10がタイムアウト検出パーティションでないパーティション番号1なので通常通りアドレスがエントリ3を示すように1だけインクリメントする。
The address skip control unit B15 increments by 1 so that the address indicates entry 3 as usual because the next partition number B10 is the
更に続いて、エントリ3のリードでは、タイムアウト検出直後ではなく、次のパケットのパーティション番号B10が停滞タイムアウト検出したパーティションであるパーティション番号2なので、アドレススキップ制御部B15が次のパーティションのフリット数3に1インクリメントした値を算出し、アドレスがエントリ7を示すようにアドレスを+4スキップし、リードポインタB13に通知する。
Further, in the read of entry 3, since the partition number B10 of the next packet is the
このような動作を継続することで、停滞タイムアウト検出したパーティションデータが格納されるエントリ0、1、4、5、6の格納データを可能な限り高速に無効化し、健全なパーティションデータが格納されるエントリ2、3、7の格納データは影響を与えずに読み出す制御が可能となる。
By continuing such an operation, the stored data of the
図3は、共有バッファにおいて停滞監視タイムアウトを検出した場合、当該パーティションデータが格納される共有バッファのアドレスをスキップし、健全なパーティションデータの格納されるアドレスを算出して共有バッファからの読み出しを行う際のアドレススキップのタイミングチャートを示している。 In FIG. 3, when a stagnation monitoring timeout is detected in the shared buffer, the address of the shared buffer in which the partition data is stored is skipped, and the address in which the healthy partition data is stored is calculated and read from the shared buffer. The timing chart of the address skip at the time is shown.
図3の時刻t0〜t4の間、エントリ0に格納されるパーティション2のフリットのフリットデータT03、すなわちDat0が読み出されずに停滞した場合に、バッファリードアドレスT06は、Adr0を示した状態である。この状態では、次のパケットのパーティション番号T04は2、次のパケットのフリット数T05は2である。
When the flit data T03 of the flit of the
この状態にあるフリットが停滞し続けて、時刻t4にて、停滞監視タイマB14の動作によりパーティション2のタイムアウトエラーT01が検出され、そのタイムアウトエラー検出パルスT02がアドレススキップ制御部B15に通知される。これにより、アドレススキップ制御部B15は、タイムアウトエラー検出パルスT02を検出すると、現在のフリットデータT03から、当該フリットを含むパケットがいくつのフリットから構成されているかを算出する。この場合、次のパケットのパーティション番号T04が2を示し、次のパケットのフリット数T05が2であるので、アドレススキップ制御部B15は、アドレススキップ量の+2(Adr0からAdr2へのアドレススキップ)を決定し、時刻t5にて、そのアドレスAdr0を+2としたAdr2をリードポインタB13に指定し、これにより共有バッファB08のアドレスAdr2のエントリに格納されたフリットのフリットデータT03、すなわちDat2を読み出す。
The flit in this state continues to stagnate, and at time t4, the timeout error T01 of the
引き続いて、次のパケットのパーティション番号T04が1なので、アドレススキップ制御部B15は、時刻t6にて、通常通りアドレスを+1としたAdr3をリードポインタB13に指定し、これにより共有バッファB08のアドレスAdr2のエントリに格納されたフリットのフリットデータT03、すなわちDat3を読み出す。 Subsequently, since the partition number T04 of the next packet is 1, the address skip control unit B15 designates Adr3 with the address +1 as usual at the time t6 as the read pointer B13, thereby the address Adr2 of the shared buffer B08. The flit data T03 of the flit stored in the entry, that is, Dat3 is read.
このとき、パーティション2のタイムアウトエラーT01の検出中で、次のパケットのパーティション番号T04が2を示し、次のパケットのフリット数T05が3であるので、アドレススキップ制御部B15は、アドレススキップ量の+3(Adr3からAdr7へのアドレススキップ)を決定し、時刻t7にて、アドレスAdr3を3+1としたAdr7をリードポインタB13に指定し、これにより共有バッファB08のアドレスAdr7のエントリに格納されたフリットのフリットデータT03、すなわちDat7を読み出す。
At this time, while the timeout error T01 of the
それ以降は、同様にパーティション2のタイムアウトエラーT01の検出中で次のパケットのパーティション番号T04が2を示している場合、アドレススキップ制御部B15により、次のパケットのフリット数T05+1としたアドレスを算出することで、健全なパーティションのフリットが格納されたエントリのアドレスにスキップすることができる。
Thereafter, similarly, when the timeout error T01 of the
以上のように、本実施の形態では、マルチパーティション障害の軽減のため、共有バッファ内のデータの停滞状態をタイマ監視することでタイムアウト障害を事前に予測可能にし、これを契機に障害パーティションのデータの無効化処理を開始している。また、パーティション毎の障害通知手段を特に設けずに共有部に自立的な停滞タイムアウト検出手段を設けることで、共有するパーティションが多い場合にも対応が容易となる。 As described above, in this embodiment, in order to reduce the multi-partition failure, a time-out failure can be predicted in advance by monitoring the stagnation state of the data in the shared buffer by using a timer. The invalidation process has started. Further, by providing an independent stagnation timeout detection means in the sharing unit without providing a failure notification means for each partition, it becomes easy to deal with a case where there are many shared partitions.
更に、本実施の形態では、共有バッファからの読み出し制御において、共有バッファ内の停滞タイムアウト障害が発生したパーティションのデータが格納されているアドレスをスキップして読み出すことで高速化をはかり、後続の健全なパーティションの転送データが影響を受けてタイムアウト障害となるケースを軽減できる。 Furthermore, in the present embodiment, in the read control from the shared buffer, the speed is increased by skipping and reading the address where the data of the partition in which the stagnation timeout failure has occurred in the shared buffer is stored. This can reduce the case where transfer data of a partition is affected and causes a timeout failure.
すなわち、本実施の形態では、複数パーティションが共有するインタフェースのバッファ制御において、あるパーティションでタイムアウト障害が発生した場合に、パーティション共有するバッファに残存するデータのうち、非障害パーティションのデータには影響を極力与えずに障害パーティションのデータは高速に無効化処理し、マルチパーティション障害となるケースを軽減させることができる。 That is, in this embodiment, when a timeout failure occurs in a certain partition in the buffer control of an interface shared by multiple partitions, the data in the non-failed partition is affected among the data remaining in the buffer shared by the partition. The data in the failed partition can be invalidated at high speed without giving as much as possible, and the case of a multi-partition failure can be reduced.
以上説明したように、本実施の形態によれば、複数パーティションが共有するインタフェースの共有バッファ制御において、共有バッファ内の停滞データを自立的にタイマ監視することで通常のトランザクションによるタイムアウト検出より前に停滞状態を検出することができる。また、共有バッファからのリード制御では、健全なパーティションのデータだけをアドレススキップして読み出せるようにすることで、障害発生時のバッファリード制御を高速化し、ひとつのパーティションでのタイムアウト障害を契機に他の健全なパーティションが巻き込まれて起きるマルチパーティション障害を軽減させることができる。 As described above, according to the present embodiment, in the shared buffer control of the interface shared by a plurality of partitions, the stagnation data in the shared buffer is independently monitored to detect the timeout before the normal transaction timeout detection. A stagnation state can be detected. In addition, read control from the shared buffer speeds up buffer read control in the event of a failure by enabling only the data of a healthy partition to be read and skipped, and triggered by a timeout failure in one partition. Multi-partition failures that occur when other healthy partitions are involved can be reduced.
なお、アドレススキップの条件として使用した情報は、パーティション番号、フリット数そのものでなくても、それらを特定できる情報であれば構わない。また、これらの情報が最初のフリットに位置しないプロトコルのパケットであっても、フリットデータとの時間差を調整することで同様の動作対応が可能である。また、共有するパーティション数は上記実施の形態の2つのパーティションに限らず、タイムアウト検出とパーティション番号から情報を得るので更に多数のパーティション数を共有する場合においても対応可能である。 The information used as the address skip condition is not limited to the partition number and the number of flits, but may be any information that can identify them. Even if the information is a packet of a protocol that is not located in the first flit, the same operation can be handled by adjusting the time difference from the flit data. Further, the number of partitions to be shared is not limited to the two partitions in the above embodiment, and information can be obtained from time-out detection and the partition number, so that it is possible to deal with a case where a larger number of partitions are shared.
なお、上記のバッファ制御システムは、そのハードウェア及びソフトウェア構成は特に限定されるものではなく、上述した各部の機能(手段)を実現可能なものであれば、いずれのものでも適用可能である。例えば、各部の機能毎に回路を独立させて構成したものでも、複数の機能を1つの回路にまとめて一体に構成したものでも、いずれのものであってもよい。 The above-described buffer control system is not particularly limited in hardware and software configuration, and any buffer control system can be used as long as it can realize the functions (means) of each unit described above. For example, the circuit may be configured independently for each function of each unit, or may be configured by integrating a plurality of functions into a single circuit.
また、上記のバッファ制御システムを構成する各部の少なくとも一部の機能を、プログラムコードを用いて実現する場合、かかるプログラムコード及びこれを記録する記録媒体は、本発明の範疇に含まれる。この場合、オペレーティングシステム(OS)等の他のソフトウェアと協働して上記機能が実現される場合は、それらのプログラムコードも含まれる。 Further, when at least a part of the functions of each unit constituting the buffer control system is realized using a program code, the program code and a recording medium for recording the program code are included in the scope of the present invention. In this case, when the above functions are realized in cooperation with other software such as an operating system (OS), those program codes are also included.
以上、実施の形態を参照して本願発明を説明したが、本願発明は上記実施の形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。 Although the present invention has been described with reference to the embodiments, the present invention is not limited to the above embodiments. Various changes that can be understood by those skilled in the art can be made to the configuration and details of the present invention within the scope of the present invention.
本発明は、バッファ制御システム、方法、これを用いたパーティション共有インタフェース及びシステムの用途に利用可能である。 INDUSTRIAL APPLICABILITY The present invention can be used for a buffer control system, a method, a partition sharing interface using the buffer control system, and a system.
B01 パケット解析部
B02〜B05 第1の記憶手段
B06、B07 第2の記憶手段
B08 共有バッファ
B13 リードポインタ
B14 停滞監視タイマ(停滞監視部)
B15 アドレススキップ制御部
B01 Packet analysis unit B02 to B05 First storage unit B06, B07 Second storage unit B08 Shared buffer B13 Read pointer B14 Stagnation monitoring timer (stagnation monitoring unit)
B15 Address skip controller
Claims (12)
前記バッファ内のデータの停滞状態を自立的に監視し、そのデータの停滞状態によるタイムアウト障害の発生を、トランザクションのリクエスト及びリプライによるタイムアウト検出よりも前に検出する停滞監視部と、
前記停滞監視部により、あるパーティションのデータの停滞状態によるタイムアウト障害が発生したことが検出された場合、前記バッファからデータを読み出すときに、前記タイムアウト障害を引き起こすパーティションのデータの格納されるアドレスをスキップするアドレススキップ制御部とを備えたことを特徴とするバッファ制御システム。 In a system that controls an interface buffer shared by multiple partitions,
A stagnation monitoring unit that independently monitors the stagnation state of the data in the buffer, and detects the occurrence of a timeout failure due to the stagnation state of the data before the timeout detection by a transaction request and reply; and
When the stagnation monitoring unit detects that a timeout failure has occurred due to the stagnation state of data in a partition, when reading data from the buffer, the address storing the partition data causing the timeout failure is skipped. A buffer control system comprising: an address skip control unit that performs
前記データを前記バッファに格納するときに、フリットデータと、フリットの有効性を示す情報と、パケットのパーティション番号と、パケットのフリット数とを第1の記憶手段に格納し、前記第1の記憶手段に格納したフリットデータ及びフリットの有効性を示す情報とを第2の記憶手段に格納し、前記第1の記憶手段に格納したパケットのパーティション番号及びパケットのフリット数と、前記第2の記憶手段に格納したフリットデータ及びフリットの有効性を示す情報とを前記バッファに格納することを特徴とする請求項1に記載のバッファ制御システム。 The data is composed of a plurality of flits constituting a packet,
When storing the data in the buffer, the flit data, information indicating the validity of the flit, the partition number of the packet, and the number of packet flits are stored in a first storage means, and the first storage The flit data stored in the means and the information indicating the validity of the frit are stored in the second storage means, the partition number of the packet stored in the first storage means, the number of packet frits, and the second storage 2. The buffer control system according to claim 1, wherein flit data stored in the means and information indicating the validity of the frit are stored in the buffer.
停滞監視部が、前記バッファ内のデータの停滞状態を自立的に監視し、そのデータの停滞状態によるタイムアウト障害の発生を、トランザクションのリクエスト及びリプライによるタイムアウト検出よりも前に検出し、
アドレススキップ制御部が、あるパーティションのデータの停滞状態によるタイムアウト障害が発生したことが検出された場合、前記バッファからデータを読み出すときに、前記タイムアウト障害を引き起こすパーティションのデータの格納されるアドレスをスキップすることを特徴とするバッファ制御方法。 In a method of controlling an interface buffer shared by multiple partitions,
The stagnation monitoring unit independently monitors the stagnation state of the data in the buffer, detects the occurrence of a timeout failure due to the stagnation state of the data before the timeout detection by the transaction request and reply,
When the address skip control unit detects that a timeout failure has occurred due to a stagnation of data in a partition, when reading data from the buffer, it skips the address where the partition data causing the timeout failure is stored. And a buffer control method.
前記データを前記バッファに格納するときに、フリットデータと、フリットの有効性を示す情報と、パケットのパーティション番号と、パケットのフリット数とを第1の記憶手段に格納し、前記第1の記憶手段に格納したフリットデータ及びフリットの有効性を示す情報とを第2の記憶手段に格納し、前記第1の記憶手段に格納したパケットのパーティション番号及びパケットのフリット数と、前記第2の記憶手段に格納したフリットデータ及びフリットの有効性を示す情報とを前記バッファに格納することを特徴とする請求項6に記載のバッファ制御方法。 The data is composed of a plurality of flits constituting a packet,
When storing the data in the buffer, the flit data, information indicating the validity of the flit, the partition number of the packet, and the number of packet flits are stored in a first storage means, and the first storage The flit data stored in the means and the information indicating the validity of the frit are stored in the second storage means, the partition number of the packet stored in the first storage means, the number of packet frits, and the second storage 7. The buffer control method according to claim 6, wherein flit data stored in the means and information indicating validity of the frit are stored in the buffer.
請求項1から5のいずれか1項に記載のバッファ制御システムを用いたことを特徴とするパーティション共有インタフェース。 An interface shared by multiple partitions,
6. A partition sharing interface using the buffer control system according to claim 1.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009071842A JP5239985B2 (en) | 2009-03-24 | 2009-03-24 | Buffer control system and buffer control method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009071842A JP5239985B2 (en) | 2009-03-24 | 2009-03-24 | Buffer control system and buffer control method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2010224897A true JP2010224897A (en) | 2010-10-07 |
JP5239985B2 JP5239985B2 (en) | 2013-07-17 |
Family
ID=43042014
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009071842A Expired - Fee Related JP5239985B2 (en) | 2009-03-24 | 2009-03-24 | Buffer control system and buffer control method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5239985B2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012046862A1 (en) | 2010-10-04 | 2012-04-12 | キヤノン株式会社 | Charging member, process cartridge, and electrophotographic device |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008165556A (en) * | 2006-12-28 | 2008-07-17 | Hitachi Ltd | Computer system and chip set therefor |
JP2008235988A (en) * | 2007-03-16 | 2008-10-02 | Fujitsu Ltd | Frame transfer device |
-
2009
- 2009-03-24 JP JP2009071842A patent/JP5239985B2/en not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008165556A (en) * | 2006-12-28 | 2008-07-17 | Hitachi Ltd | Computer system and chip set therefor |
JP2008235988A (en) * | 2007-03-16 | 2008-10-02 | Fujitsu Ltd | Frame transfer device |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012046862A1 (en) | 2010-10-04 | 2012-04-12 | キヤノン株式会社 | Charging member, process cartridge, and electrophotographic device |
Also Published As
Publication number | Publication date |
---|---|
JP5239985B2 (en) | 2013-07-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6328134B2 (en) | Method, apparatus, and program for performing communication channel failover in a clustered computer system | |
US8190864B1 (en) | APIC implementation for a highly-threaded x86 processor | |
US11880329B2 (en) | Arbitration based machine learning data processor | |
US20160275015A1 (en) | Computing architecture with peripherals | |
US10007629B2 (en) | Inter-processor bus link and switch chip failure recovery | |
JP2002373115A (en) | Replacement control method for shared cache memory and device therefor | |
CN107636630B (en) | Interrupt controller | |
JP2008046997A (en) | Arbitration circuit, crossbar, request selection method, and information processor | |
JP5360061B2 (en) | Multiprocessor system and control method thereof | |
CN106371898B (en) | Event queue management | |
WO2014206078A1 (en) | Memory access method, device and system | |
JP2011070655A (en) | Information processing apparatus, memory dump system and memory dump method | |
JP2009238001A (en) | Computer system | |
JP2007034392A (en) | Information processor and data processing method | |
US8346975B2 (en) | Serialized access to an I/O adapter through atomic operation | |
JP5239985B2 (en) | Buffer control system and buffer control method | |
CN110737618B (en) | Method, device and storage medium for embedded processor to carry out rapid data communication | |
JP5500272B2 (en) | Relay device, relay history recording method, and data processing device | |
US8719499B2 (en) | Cache-line based notification | |
JP6049961B1 (en) | CPU monitoring device | |
US7254667B2 (en) | Data transfer between an external data source and a memory associated with a data processor | |
JP2016058835A (en) | Relay system and switch device | |
US9753859B2 (en) | Input output value prediction with physical or virtual addressing for virtual environment | |
JP2008165318A (en) | Computer system | |
US20230185682A1 (en) | Resilient and adaptive cloud processing of parallel computing workloads |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20100712 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20100712 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20120112 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20121207 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20121214 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130212 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20130305 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130318 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20160412 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 Ref document number: 5239985 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |