JP5239985B2 - バッファ制御システム及びバッファ制御方法 - Google Patents

バッファ制御システム及びバッファ制御方法 Download PDF

Info

Publication number
JP5239985B2
JP5239985B2 JP2009071842A JP2009071842A JP5239985B2 JP 5239985 B2 JP5239985 B2 JP 5239985B2 JP 2009071842 A JP2009071842 A JP 2009071842A JP 2009071842 A JP2009071842 A JP 2009071842A JP 5239985 B2 JP5239985 B2 JP 5239985B2
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.)
Expired - Fee Related
Application number
JP2009071842A
Other languages
English (en)
Other versions
JP2010224897A (ja
Inventor
逸朗 村井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2009071842A priority Critical patent/JP5239985B2/ja
Publication of JP2010224897A publication Critical patent/JP2010224897A/ja
Application granted granted Critical
Publication of JP5239985B2 publication Critical patent/JP5239985B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Systems (AREA)
  • Communication Control (AREA)

Description

本発明は、バッファ制御システム及びバッファ制御法に係り、特に複数のパーティションが共有するインタフェースを持つシステムの共有バッファ制御に関する。
図4は、関連技術の複数パーティションが共有するインタフェースを持つシステムの構成を示している。プロセッサS21、S22、S23、S24、メモリS31、S32、S33、S34、ディスクS41からなるノードS01と、プロセッサS25、S26、S27、S28、メモリS35、S36、S37、S38、ディスクS42からなるノードS02が、クロスバS11及び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のデータで共有されるバッファが存在する構成となる。
当該共有バッファには、クロスバS11の送信側の共有バッファS11T及びクロスバS12の受信側の共有バッファS12Rには、ノードS01からノードS02へ転送されるパーティション1及びパーティション2のデータが混在する。同様にクロスバS12の送信側の共有バッファS12T及びクロスバS11の受信側の共有バッファS11Rには、ノードS02からノードS01へ転送されるパーティション1及びパーティション2のデータが混在することになる。
このように複数パーティションが共有するバッファが存在するシステム構成において、あるパーティションでタイムアウト障害が発生するケースでは、障害パーティションの転送データが共有バッファに停滞してしまうため、後続の転送データとして共有バッファに格納されている他のパーティションの転送データも停滞してしまい、マルチパーティション障害に至ってしまう可能性がある。この状況について、図5を参照して説明する。
図5は、図4に示すシステムにおける片側ノードのクロスバ部分(図の例ではクロスバN01)を詳細に説明したものである。
図5に示す複数のパーティションのデータが混在するパーティション共有部の共有バッファN50において、例えば先頭のエントリがパーティション2のプロセッサN40宛の転送データであった場合、共有バッファN50のリード制御部N51は、調停部N42に対して送信要求を出す。通常ならば、調停部N42から許可応答がリード制御部N51に返り、共有バッファN50から転送データが読み出され、宛先制御部N52、セレクタ部N41、バッファN43を経由してプロセッサN40へ送信される。
その際、パーティション2のプロセッサN30からもプロセッサN40宛の転送データがあり、バッファN31のリード制御部N32が調停部N42に対して送信要求を出し、調停部N42で調停を行った結果、故障などによりリード制御部N32に対してのみ許可応答が返却されると、セレクタ部N41は、プロセッサN30からのリクエストのみを選択し、共有バッファN50からのリクエストは選択されない状態が継続される。
このように調停部N42からリード制御部N51に対してリード許可が出ない場合、例えば共有バッファN50内に後続エントリのデータとしてパーティション1のプロセッサN20宛の転送データが格納されていると、リード制御部N51から調停部N23に対して送信要求が出せない状態になり、健全なパーティション1の転送データがパーティション2の転送データ停滞による要因でタイムアウト障害を起こしてしまう課題がある。
これに関連して、特許文献1では、複数ノードで共有するバッファ制御に関し、1つのノードに障害が発生しそのノード復旧後の再組込み時においてシステム全体に与える影響を少なくするための共有バッファが開示されている。この共有バッファは、コンピュータであるノード夫々に対応して設けられ対応するノードがシステムに組込まれて正常に動作できる状態であるかどうかを示す情報を保持するレジスタと、ノードから出力されるデータを順次格納する複数のデータフィールドとそのデータが無効であるかどうかを示す情報を保持するコンフィグフィールドとを含むメモリと、レジスタが正常動作できる状態であることを示している場合において該レジスタに対応するノードに障害が発生したときデータが格納されるデータフィールドに対応するコンフィグフィールドを無効状態にする制御手段とを含む。
特開平11−096035号公報
図4、図5に示す関連技術の複数パーティションが共有するインタフェースを持つシステムにおけるマルチパーティション障害を回避するためには、複数のパーティションで共有するインタフェースを持たない構成とするか、またはパーティション数が少ない場合にはパーティション単位にバッファを分けて所有するなどして、可能な限りパーティション共有部分の極小化を行う必要があった。
また、複数パーティションが共有するバッファ制御を行うケースでも、あるパーティションで障害が生じ特にタイムアウトを検出するようなケースでは、障害の発生したパーティションの障害処理を実施中に、共有バッファ内に残存している後続の障害の起きていない健全なパーティションのデータが巻き込まれてタイムアウト障害を起こしてしまい、マルチパーティション障害となるケースがあった。
さらに、特許文献1のように複数ノードで共有するバッファ制御を行うケースでも、共有バッファの外部より障害発生の通知がある事例では、全てのノード数から共有バッファに対して障害通知手段を設けなければならず、タイムアウト障害の検出には障害通知が無いあるいは遅れるケースがあり、健全なパーティションのデータが巻き込まれる可能性がある。そのような背景があることに加えて、近年ではサーバ統合、プロセッサのマルチコア化、VM(Virtual Machine)、IO(Input Output)仮想化、LSI(Large Scale Integration)の1チップ化などの傾向があり、複数のパーティションで共有する部分を持たざるを得ない状況が生じてきている。
本発明の目的は、上記課題を解決し、通常のトランザクションによるタイムアウト検出より前に停滞状態を検出し、障害発生時のバッファリード制御を高速化し、ひとつのパーティションでのタイムアウト障害を契機に他の健全なパーティションが巻き込まれて起きるマルチパーティション障害を軽減させることができるバッファ制御システム及びバッファ制御法を提供することにある。
上記目的を達成するため、本発明に係るパーティション共有インタフェースのバッファ制御システムは、複数のパーティションが共有するインタフェースのバッファを制御するシステムにおいて、前記バッファ内のデータの停滞状態を自立的に監視し、そのデータの停滞状態によるタイムアウト障害の発生を、トランザクションのリクエスト及びリプライによるタイムアウト検出よりも前に検出する停滞監視部と、前記停滞監視部により、あるパーティションのデータの停滞状態によるタイムアウト障害が発生したことが検出された場合、前記バッファからデータを読み出すときに、前記タイムアウト障害を引き起こすパーティションのデータの格納されるアドレスをスキップするアドレススキップ制御部とを備えたバッファ制御システムであって、前記データは、パケットを構成する複数のフリットからなり、前記データを前記バッファに格納するときに、フリットデータと、フリットの有効性を示す情報と、パケットのパーティション番号と、パケットのフリット数とを第1の記憶手段に格納し、前記第1の記憶手段に格納したフリットデータ及びフリットの有効性を示す情報とを第2の記憶手段に格納し、前記第1の記憶手段に格納したパケットのパーティション番号及びパケットのフリット数と、前記第2の記憶手段に格納したフリットデータ及びフリットの有効性を示す情報とを前記バッファに格納することを特徴とする。
本発明に係るパーティション共有インタフェースのバッファ制御方法は、複数のパーティションが共有するインタフェースのバッファを制御する方法において、停滞監視部が、前記バッファ内のデータの停滞状態を自立的に監視し、そのデータの停滞状態によるタイムアウト障害の発生を、トランザクションのリクエスト及びリプライによるタイムアウト検出よりも前に検出し、アドレススキップ制御部が、あるパーティションのデータの停滞状態によるタイムアウト障害が発生したことが検出された場合、前記バッファからデータを読み出すときに、前記タイムアウト障害を引き起こすパーティションのデータの格納されるアドレスをスキップするバッファ制御方法であって、前記データは、パケットを構成する複数のフリットからなり、前記データを前記バッファに格納するときに、フリットデータと、フリットの有効性を示す情報と、パケットのパーティション番号と、パケットのフリット数とを第1の記憶手段に格納し、前記第1の記憶手段に格納したフリットデータ及びフリットの有効性を示す情報とを第2の記憶手段に格納し、前記第1の記憶手段に格納したパケットのパーティション番号及びパケットのフリット数と、前記第2の記憶手段に格納したフリットデータ及びフリットの有効性を示す情報とを前記バッファに格納することを特徴とする。
本発明によれば、複数パーティションが共有するインタフェースの共有バッファ制御において、共有バッファ内の停滞データを自立的にタイマ監視することで通常のトランザクションによるタイムアウト検出より前に停滞状態を検出することができる。また、共有バッファからのリード制御では、健全なパーティションのデータだけをアドレススキップして読み出せるようにすることで、障害発生時のバッファリード制御を高速化し、ひとつのパーティションでのタイムアウト障害を契機に他の健全なパーティションが巻き込まれて起きるマルチパーティション障害を軽減させることができる。
本発明の実施の形態に係るパーティション共有インタフェースのバッファ制御システムの構成を示すブロック図である。 図1の共有バッファに格納される転送データの一例を示す図である。 図1に示すパーティション共有インタフェースのバッファ制御システムの動作を説明するタイミングチャートである。 関連技術の複数パーティションが共有するインタフェースを持つシステムの構成を示すブロック図である。 図4に示すシステムにおける片側ノードのクロスバ部分の詳細構成を示すブロック図である。
次に、本発明に係るバッファ制御システム及びバッファ制御法の実施の形態について、図面を参照して詳細に説明する。
図1は、本実施の形態に係るバッファ制御システムの構成を示す。同図に示すバッファ制御システムは、例えば前述した図4、図5に示すような複数のパーティションが共有するインタフェース(共有部)の共有バッファB08を制御するものであり、パケット解析部B01、レジスタなどの第1の記憶手段B02〜B05及び第2の記憶手段B06、B07、リードポインタB13、停滞監視タイマ(停滞監視部)B14、及びアドレススキップ制御部B15を有する。
パケット解析部B01は、複数のパーティションが共有するインタフェース(共有部)の共有バッファB08に入力されるパケットB00を解析し、第1の記憶手段B02〜B05、第2の記憶手段B06、B07を介して共有バッファB08に格納する。ここで、入力パケットB00は、1つのパケットが固定長でない複数のフリットから構成され、1つのフリットには、フリットデータのほか、その制御情報として、フリットの有効性を示すValid情報、パケットのパーティション番号を示す情報、パケットのフリット数を示す情報を直接あるいはそれらを算出可能な情報がそれぞれ格納されている。このうち、パケットのパーティション番号を示す情報と、パケットのフリット数を示す情報は、1つのパケットを構成する複数のフリットの内のいずれかのフリット、例えば最初のフリット又はそれ以外のフリットに格納されている。いずれのフリットに格納されるかは、入力パケットB00のフォーマットによって異なる。
本実施の形態では、パケット解析部B01は、1つのパケットが複数のフリットからなる入力パケットB00のうち、フリットデータそのものを第1の記憶手段B05に格納すると共に、フリットの有効性を示すValid情報を第1の記憶手段B02に、パケットのパーティション番号を示す情報を第1の記憶手段B03に、パケットのフリット数を示す情報を第1の記憶手段B04にそれぞれ直接あるいは算出して格納する。
ここで、パケットのパーティション番号を示す情報及びパケットのフリット数を示す情報が、1つのパケットを構成する複数のフリットの内の最初のフリットにある場合には、図1のようにフリットの有効性を示すValid情報は、第1の記憶手段B02から第2の記憶手段B06に、フリットデータは、第1の記憶手段B05から第2の記憶手段B07にそれぞれ格納し、パケットのパーティション番号を示す情報及びパケットのフリット数を示す情報と所定時間(1T)分の時間差を設けて、共有バッファB08に格納する。
一方、パケットのフォーマットによって、パケットのパーティション番号を示す情報及びパケットのフリット数を示す情報が、1つのパケットを構成する複数のフリットの内の最初のフリットにない場合は、最初のフリットとこれらの情報を格納するフリットとの差に応じた時間差をつけ、共有バッファB08に格納する。
本実施の形態では、入力パケットB00を上記の第1の記憶手段B02〜B05、第2の記憶手段B06、B07を介して共有バッファB08に格納することで、共有バッファB08から読み出した際に、フリットの有効性を示すValid情報B09と、次のパケットのパーティション番号を示す情報B10と、次のパケットのフリット数を示す情報B11と、現在の先頭エントリのフリットデータB12とが、共有バッファB08の同一アドレスの同一エントリから読み出されるバッファ構成が実現できる。
リードポインタB13は、共有バッファB08から出力パケットB16として読み出すフリットを格納しているエントリのアドレスを指定する。
停滞監視タイマB14は、共有バッファB08からの読み出し時に、読み出すフリットが有効でかつリードポインタB13が変化しないことでタイマを動作させることにより、通常のトランザクションのリクエスト・リプライによるタイムアウトの検出よりも前に停滞状態のタイムアウトを検出する。ここで、タイマ値は、通常のトランザクションのリクエスト・リプライによるタイムアウトより短い適切な値を可変で設定できるものとする。
アドレススキップ制御部B15は、停滞監視タイマB14による停滞状態のタイムアウト検出時に、次のパケットのパーティション番号を示す情報B10と、次のパケットのフリット数を示す情報B11と、現在の先頭エントリのフリットデータB12とに基づいて、アドレスのスキップ値(+x)を決定し、リードポインタB13に通知する。
次に、図1を参照して、本実施の形態の共有バッファの制御方法について説明する。同図は、入力パケットB00が共有バッファB08に格納され、共有バッファB08から出力パケットB16が送出される際のバッファ制御を示したものである。
まず、複数のパーティションが共有するインタフェース(共有部)が入力パケットB00を受信すると、パケット解析部B01は、パケット内容を解析し、フリットの有効性を示すValid情報を第1の記憶手段B02、パケットのパーティション番号を第1の記憶手段B03、パケットのフリット数を第1の記憶手段B04の各記憶手段に格納し、同時にフリットデータを第1の記憶手段B05に格納する。
更に共有バッファB08に格納するまでの間に、フリットの有効性を示す情報及びフリットデータを、パーティション番号及びフリット数とは時間差を設けて、それぞれ第2の記憶手段B06及びB07に格納してから共有バッファB08に格納することにより、共有バッファB08の同一エントリから、現在のフリットの有効性情報B09、現在のフリットデータB12、及び次のパケットのパーティション番号B10、次のパケットのフリット数B11を読み出すことが可能となる。
更に、本実施の形態では、現在のフリットの有効性情報B09がフリット有効状態を示していてリードポインタB13が読み出し可能にもかかわらず共有バッファB08から読み出されずに停滞しているフリットを監視する停滞監視タイマB14を備えている。
これにより、アドレススキップ制御部B15は、停滞監視タイマB14がタイムアウトを検出した場合、次のパケットのパーティション番号B10、次のパケットのフリット数B11、現フリットデータB12の情報から、停滞タイムアウトが発生したパーティションデータの格納されるアドレスをスキップして他の健全なパーティションデータの格納されるアドレスを算出してリードポインタB13に通知することで共有バッファB08から読み出しを行う。
このようにすることで、トランザクションのリクエスト・リプライによるタイムアウト検出より前に停滞するパーティションデータを無効化処理し、更に後続の健全なパーティションデータのみを読み出すことができ、高速化を図ることができる。
図2は、図1の共有バッファB08に格納される転送データの一例を示している。
転送データは、共有バッファB08のエントリ0から順に格納される。図2の例は、パーティション2のフリット1、2、パーティション1のフリット1、2、パーティション2のフリット1、2、3、パーティション1のフリット1の順で格納されていることを示している。
各エントリには、フリットの有効状態を示すValidフィールド、次のパケットのパーティション番号を示すフィールド、次のパケットのフリット数を示すフィールド、フリットデータが格納されるフィールドで構成される。したがって、例えばエントリ1では、パーティション2のフリット2とともに、当該フリットの有効性を示すValid情報、次のパケットのパーティションの番号であるパーティション番号1、次のパケットのフリット数であるフリット数2が同一エントリに格納されるバッファの構成である。
ここで、図2で示すようなフリット順序で共有バッファF00にデータが格納されていた場合、共有バッファF00の先頭エントリ0にパーティション2のフリット1が格納され、当該フリットが停滞タイムアウトを検出したケースについて説明する。
停滞監視タイマB14は、エントリ0のパーティション2のフリット1が有効かつアドレススキップ制御部B15からリードポインタB13に対してポインタ更新指示が出ない状態を監視し、タイマを動作させる。タイマ値は、通常のトランザクションのリクエスト・リプライによるタイムアウトより短い適切な値を可変で設定できるものとする。
この状態で、停滞監視タイマB14によるタイマ動作により停滞タイムアウトが検出されると、その検出パルスがアドレススキップ制御部B15に通知される。そうすると、停滞タイムアウト検出直後では、現在のフリットデータB12から現パケットのパーティション番号とフリット数からの情報を基に、アドレススキップ制御部B15は、タイムアウト検出したパーティション2のフリット1及びパーティション2のフリット2の格納エントリ分(+2エントリ)だけアドレスをスキップし、リードポインタB13に通知する。
アドレススキップ制御部B15は、続くエントリ2のリードでは次のパーティション番号B10がタイムアウト検出パーティションでないパーティション番号1なので通常通りアドレスがエントリ3を示すように1だけインクリメントする。
更に続いて、エントリ3のリードでは、タイムアウト検出直後ではなく、次のパケットのパーティション番号B10が停滞タイムアウト検出したパーティションであるパーティション番号2なので、アドレススキップ制御部B15が次のパーティションのフリット数3に1インクリメントした値を算出し、アドレスがエントリ7を示すようにアドレスを+4スキップし、リードポインタB13に通知する。
このような動作を継続することで、停滞タイムアウト検出したパーティションデータが格納されるエントリ0、1、4、5、6の格納データを可能な限り高速に無効化し、健全なパーティションデータが格納されるエントリ2、3、7の格納データは影響を与えずに読み出す制御が可能となる。
図3は、共有バッファにおいて停滞監視タイムアウトを検出した場合、当該パーティションデータが格納される共有バッファのアドレスをスキップし、健全なパーティションデータの格納されるアドレスを算出して共有バッファからの読み出しを行う際のアドレススキップのタイミングチャートを示している。
図3の時刻t0〜t4の間、エントリ0に格納されるパーティション2のフリットのフリットデータT03、すなわちDat0が読み出されずに停滞した場合に、バッファリードアドレスT06は、Adr0を示した状態である。この状態では、次のパケットのパーティション番号T04は2、次のパケットのフリット数T05は2である。
この状態にあるフリットが停滞し続けて、時刻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を読み出す。
引き続いて、次のパケットのパーティション番号T04が1なので、アドレススキップ制御部B15は、時刻t6にて、通常通りアドレスを+1としたAdr3をリードポインタB13に指定し、これにより共有バッファB08のアドレスAdr2のエントリに格納されたフリットのフリットデータT03、すなわちDat3を読み出す。
このとき、パーティション2のタイムアウトエラーT01の検出中で、次のパケットのパーティション番号T04が2を示し、次のパケットのフリット数T05が3であるので、アドレススキップ制御部B15は、アドレススキップ量の+3(Adr3からAdr7へのアドレススキップ)を決定し、時刻t7にて、アドレスAdr3を3+1としたAdr7をリードポインタB13に指定し、これにより共有バッファB08のアドレスAdr7のエントリに格納されたフリットのフリットデータT03、すなわちDat7を読み出す。
それ以降は、同様にパーティション2のタイムアウトエラーT01の検出中で次のパケットのパーティション番号T04が2を示している場合、アドレススキップ制御部B15により、次のパケットのフリット数T05+1としたアドレスを算出することで、健全なパーティションのフリットが格納されたエントリのアドレスにスキップすることができる。
以上のように、本実施の形態では、マルチパーティション障害の軽減のため、共有バッファ内のデータの停滞状態をタイマ監視することでタイムアウト障害を事前に予測可能にし、これを契機に障害パーティションのデータの無効化処理を開始している。また、パーティション毎の障害通知手段を特に設けずに共有部に自立的な停滞タイムアウト検出手段を設けることで、共有するパーティションが多い場合にも対応が容易となる。
更に、本実施の形態では、共有バッファからの読み出し制御において、共有バッファ内の停滞タイムアウト障害が発生したパーティションのデータが格納されているアドレスをスキップして読み出すことで高速化をはかり、後続の健全なパーティションの転送データが影響を受けてタイムアウト障害となるケースを軽減できる。
すなわち、本実施の形態では、複数パーティションが共有するインタフェースのバッファ制御において、あるパーティションでタイムアウト障害が発生した場合に、パーティション共有するバッファに残存するデータのうち、非障害パーティションのデータには影響を極力与えずに障害パーティションのデータは高速に無効化処理し、マルチパーティション障害となるケースを軽減させることができる。
以上説明したように、本実施の形態によれば、複数パーティションが共有するインタフェースの共有バッファ制御において、共有バッファ内の停滞データを自立的にタイマ監視することで通常のトランザクションによるタイムアウト検出より前に停滞状態を検出することができる。また、共有バッファからのリード制御では、健全なパーティションのデータだけをアドレススキップして読み出せるようにすることで、障害発生時のバッファリード制御を高速化し、ひとつのパーティションでのタイムアウト障害を契機に他の健全なパーティションが巻き込まれて起きるマルチパーティション障害を軽減させることができる。
なお、アドレススキップの条件として使用した情報は、パーティション番号、フリット数そのものでなくても、それらを特定できる情報であれば構わない。また、これらの情報が最初のフリットに位置しないプロトコルのパケットであっても、フリットデータとの時間差を調整することで同様の動作対応が可能である。また、共有するパーティション数は上記実施の形態の2つのパーティションに限らず、タイムアウト検出とパーティション番号から情報を得るので更に多数のパーティション数を共有する場合においても対応可能である。
なお、上記のバッファ制御システムは、そのハードウェア及びソフトウェア構成は特に限定されるものではなく、上述した各部の機能(手段)を実現可能なものであれば、いずれのものでも適用可能である。例えば、各部の機能毎に回路を独立させて構成したものでも、複数の機能を1つの回路にまとめて一体に構成したものでも、いずれのものであってもよい。
また、上記のバッファ制御システムを構成する各部の少なくとも一部の機能を、プログラムコードを用いて実現する場合、かかるプログラムコード及びこれを記録する記録媒体は、本発明の範疇に含まれる。この場合、オペレーティングシステム(OS)等の他のソフトウェアと協働して上記機能が実現される場合は、それらのプログラムコードも含まれる。
以上、実施の形態を参照して本願発明を説明したが、本願発明は上記実施の形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
本発明は、バッファ制御システム及びバッファ制御法の用途に利用可能である。
B01 パケット解析部
B02〜B05 第1の記憶手段
B06、B07 第2の記憶手段
B08 共有バッファ
B13 リードポインタ
B14 停滞監視タイマ(停滞監視部)
B15 アドレススキップ制御部

Claims (8)

  1. 複数のパーティションが共有するインタフェースのバッファを制御するシステムにおいて、
    前記バッファ内のデータの停滞状態を自立的に監視し、そのデータの停滞状態によるタイムアウト障害の発生を、トランザクションのリクエスト及びリプライによるタイムアウト検出よりも前に検出する停滞監視部と、
    前記停滞監視部により、あるパーティションのデータの停滞状態によるタイムアウト障害が発生したことが検出された場合、前記バッファからデータを読み出すときに、前記タイムアウト障害を引き起こすパーティションのデータの格納されるアドレスをスキップするアドレススキップ制御部とを備えたバッファ制御システムであって、
    前記データは、パケットを構成する複数のフリットからなり、
    前記データを前記バッファに格納するときに、フリットデータと、フリットの有効性を示す情報と、パケットのパーティション番号と、パケットのフリット数とを第1の記憶手段に格納し、前記第1の記憶手段に格納したフリットデータ及びフリットの有効性を示す情報とを第2の記憶手段に格納し、前記第1の記憶手段に格納したパケットのパーティション番号及びパケットのフリット数と、前記第2の記憶手段に格納したフリットデータ及びフリットの有効性を示す情報とを前記バッファに格納することを特徴とするバッファ制御システム。
  2. 前記アドレススキップ制御部は、現在のフリットの有効性を示す情報と、現在のフリットデータと、次のパケットのパーティション番号と、次のパケットのフリット数とを前記バッファの同一エントリから読み出すことを特徴とする請求項に記載のバッファ制御システム。
  3. 前記停滞監視部は、タイマ値がトランザクションのリクエスト・リプライによるタイムアウトより短い値に可変設定される停滞監視タイマを備え、前記停滞監視タイマにより、前記フリットの有効性を示す情報がフリット有効状態を示し、前記バッファのリードポインタが読み出し可能にもかかわらず前記バッファから読み出されずに停滞しているフリットのタイムアウトを検出することを特徴とする請求項に記載のバッファ制御システム。
  4. 前記アドレススキップ制御部は、前記停滞監視タイマにより前記タイムアウトの発生が検出された場合、次のパケットのパーティション番号と、次のパケットのフリット数と、現在のフリットデータの情報とから、前記アドレスのスキップ値を決定し、前記バッファのリードポインタに通知することを特徴とする請求項に記載のバッファ制御システム。
  5. 複数のパーティションが共有するインタフェースのバッファを制御する方法において、
    停滞監視部が、前記バッファ内のデータの停滞状態を自立的に監視し、そのデータの停滞状態によるタイムアウト障害の発生を、トランザクションのリクエスト及びリプライによるタイムアウト検出よりも前に検出し、
    アドレススキップ制御部が、あるパーティションのデータの停滞状態によるタイムアウト障害が発生したことが検出された場合、前記バッファからデータを読み出すときに、前記タイムアウト障害を引き起こすパーティションのデータの格納されるアドレスをスキップするバッファ制御方法であって、
    前記データは、パケットを構成する複数のフリットからなり、
    前記データを前記バッファに格納するときに、フリットデータと、フリットの有効性を示す情報と、パケットのパーティション番号と、パケットのフリット数とを第1の記憶手段に格納し、前記第1の記憶手段に格納したフリットデータ及びフリットの有効性を示す情報とを第2の記憶手段に格納し、前記第1の記憶手段に格納したパケットのパーティション番号及びパケットのフリット数と、前記第2の記憶手段に格納したフリットデータ及びフリットの有効性を示す情報とを前記バッファに格納することを特徴とするバッファ制御方法。
  6. 前記アドレススキップ制御部が、現在のフリットの有効性を示す情報と、現在のフリットデータと、次のパケットのパーティション番号と、次のパケットのフリット数とを前記バッファの同一エントリから読み出すことを特徴とする請求項に記載のバッファ制御方法。
  7. 前記停滞監視部が、タイマ値がトランザクションのリクエスト・リプライによるタイムアウトより短い値に可変設定される停滞監視タイマにより、前記フリットの有効性を示す情報がフリット有効状態を示し、前記バッファのリードポインタが読み出し可能にもかかわらず前記バッファから読み出されずに停滞しているフリットのタイムアウトを検出することを特徴とする請求項に記載のバッファ制御方法。
  8. 前記アドレススキップ制御部が、前記停滞監視タイマにより前記タイムアウトの発生が検出された場合、次のパケットのパーティション番号と、次のパケットのフリット数と、現在のフリットデータの情報とから、前記アドレスのスキップ値を決定し、前記バッファのリードポインタに通知することを特徴とする請求項に記載のバッファ制御方法。
JP2009071842A 2009-03-24 2009-03-24 バッファ制御システム及びバッファ制御方法 Expired - Fee Related JP5239985B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009071842A JP5239985B2 (ja) 2009-03-24 2009-03-24 バッファ制御システム及びバッファ制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009071842A JP5239985B2 (ja) 2009-03-24 2009-03-24 バッファ制御システム及びバッファ制御方法

Publications (2)

Publication Number Publication Date
JP2010224897A JP2010224897A (ja) 2010-10-07
JP5239985B2 true JP5239985B2 (ja) 2013-07-17

Family

ID=43042014

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009071842A Expired - Fee Related JP5239985B2 (ja) 2009-03-24 2009-03-24 バッファ制御システム及びバッファ制御方法

Country Status (1)

Country Link
JP (1) JP5239985B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101449882B1 (ko) 2010-10-04 2014-10-10 캐논 가부시끼가이샤 대전 부재, 프로세스 카트리지 및 전자 사진 장치

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4723470B2 (ja) * 2006-12-28 2011-07-13 株式会社日立製作所 計算機システムおよびそのチップセット
JP2008235988A (ja) * 2007-03-16 2008-10-02 Fujitsu Ltd フレーム転送装置

Also Published As

Publication number Publication date
JP2010224897A (ja) 2010-10-07

Similar Documents

Publication Publication Date Title
US10002085B2 (en) Peripheral component interconnect (PCI) device and system including the PCI
US8473667B2 (en) Network on chip that maintains cache coherency with invalidation messages
JP5270077B2 (ja) 調停回路、クロスバ、リクエスト選択方法、及び情報処理装置
EP2634696B1 (en) Information processing apparatus, control method, and control program
JP5498505B2 (ja) データバースト間の競合の解決
US20160275015A1 (en) Computing architecture with peripherals
US8615586B2 (en) Discovery of logical images at storage area network endpoints
JP2003316753A (ja) マルチプロセッサ装置
CN107636630B (zh) 中断控制器
JP2011070655A (ja) 情報処理装置、メモリダンプシステムおよびメモリダンプ方法
CN110032335B (zh) 原子数据访问请求的调节
WO2014206078A1 (zh) 内存访问方法、装置及系统
JP5360061B2 (ja) マルチプロセッサシステム及びその制御方法
KR100280862B1 (ko) 명령처리추적방법및장치
US10176131B1 (en) Controlling exclusive access using supplemental transaction identifiers
US8346975B2 (en) Serialized access to an I/O adapter through atomic operation
CN110737618B (zh) 内嵌处理器进行快速数据通信的方法、装置及存储介质
JP5239985B2 (ja) バッファ制御システム及びバッファ制御方法
JP2009187314A (ja) 二重化コントローラ・システム、cpuモジュール、そのプログラム
JP5500272B2 (ja) 中継装置、中継履歴記録方法、及びデータ処理装置
JP6049961B1 (ja) Cpu監視装置
US9081673B2 (en) Microprocessor and memory access method
JP2008165318A (ja) 計算機システム
US11593289B2 (en) Direct memory access
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