JP4144986B2 - 情報処理装置、及び、トランザクション処理方法、プロセッサ、並びに、リトライ方法 - Google Patents

情報処理装置、及び、トランザクション処理方法、プロセッサ、並びに、リトライ方法 Download PDF

Info

Publication number
JP4144986B2
JP4144986B2 JP35372899A JP35372899A JP4144986B2 JP 4144986 B2 JP4144986 B2 JP 4144986B2 JP 35372899 A JP35372899 A JP 35372899A JP 35372899 A JP35372899 A JP 35372899A JP 4144986 B2 JP4144986 B2 JP 4144986B2
Authority
JP
Japan
Prior art keywords
transaction
retry
address
excessive
state
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
JP35372899A
Other languages
English (en)
Other versions
JP2001167048A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP35372899A priority Critical patent/JP4144986B2/ja
Priority to US09/668,377 priority patent/US6691191B1/en
Publication of JP2001167048A publication Critical patent/JP2001167048A/ja
Application granted granted Critical
Publication of JP4144986B2 publication Critical patent/JP4144986B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/362Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)
  • Memory System (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は情報処理装置、及び、トランザクション処理方法、プロセッサ、並びに、リトライ方法に係り、特に、トランザクションリトライを行なう情報処理装置、及び、トランザクション処理方法、プロセッサ、並びに、リトライ方法に関する。近年、大規模サーバの需要が高まっているにしたがって、大量のデータ処理能力と高い信頼性をもつ、マルチプロセッサシステムの出現が望まれている。
【0002】
マルチプロセッサシステムの性能を向上するための最も重要な要素の一つとしてシステムバスの高速化がある。システムバスを高速化するための手法としてシステムバスのパイプライン化がある。
システムバスのパイプライン化は、バスのスループットを向上させることができる。一方、エラーが発生した場合、処理の流れが滞るので性能低下が著しい。このため、エラーが発生した場合の性能低下を避ける手法が提案されている。
【0003】
この手法の一つとしてリトライ処理がある。リトライ処理は、エラーを起こしたアドレストランザクションを再び発行して失敗した処理を再開する処理である。リトライ処理は、マルチプロセッサシステムの性能に大きく影響する重要な要素である。したがって、このようなリトライ処理には、高性能、高信頼性が望まれている。
【0004】
【従来の技術】
パイプイン化されたシステムバスは、アドレストランザクションを複数の段階に分けて、それぞれの段階に対応するバスが独立に異なるトランザクションを処理できるように構成されている。すなわち、パイプライン化されていた。
また、マルチプロセッサシステムでは、共有メモリ型マルチプロセッサシステムが主流を占めている。共有メモリ型マルチプロセッサシステムは、複数のプロセッサが共通のメモリにアクセスするため、システム全体でアドレススヌープを行なって、コヒーレンスを保つようにしていた。
【0005】
上記のようなシステムでは、大別して二種類のエラーが存在する。一つは、システム故障等によるエラー、もう一つはアドレス競合などによる通常動作時に頻繁に起こるエラーである。
後者のアドレス競合は、同一アドレスに対して連続してトランザクションが発行された場合に、先行して発行されたトランザクションの処理結果の反映が後に発行されたトランザクションの参照に間に合わない場合に生じる。
【0006】
このようなエラーの対処方法は、2つある。一つは、後に発行されたトランザクションが処理可能になるまでのバスを一時的に停止する方法である。もう一つは、後に発行されたトランザクションを打ち切り、再度同一のアドレスをバスに発行する方法である。
後者の対処方法は、アドレスリトライと呼ばれている。このアドレスリトライを実現する機構は、アドレスリトライ機構と呼ばれている。従来のマルチプロセッサシステムの多くは、システムの能力低下を防ぐためにアドレスリトライ機構が搭載されていた。
【0007】
図1はマルチプロセッサシステムのブロック構成図を示す。
マルチプロセッサシステム1は、プロセッサ2−1〜2−N、共有メモリ3、入出力装置4、バス制御部5、システムバス6から構成される。
プロセッサ2−1〜2−Nは、命令に応じた演算を実行する。
メモリ3は、N個のプロセッサ2−1〜2−Nとシステムバス6を介して接続されており、N個のプロセッサ2−1〜2−Nからアクセス可能とされており、N個のプロセッサ2−1〜2−Nで共有して用いられる。
【0008】
入出力装置4は、キーボード、マウス、ディスプレイ、プリンタ、通信装置などから構成される。入出力装置4は、データの入出力、処理の指示入力、処理結果の入出力が行なわれる。
バス制御部5は、N個のプロセッサ2−1〜2−N、入出力装置4に接続され、バス6の使用権を制御する。バス6は、N個のプロセッサ2−1〜2−N、メモリ3、入出力装置4間のデータの伝送に用いられる。
【0009】
図2は従来の一例の要部の構成図を示す。
プロセッサ2−Xは、N個のプロセッサ2−1〜2−Nのうち、一つのプロセッサを示す。プロセッサ2−Xとバス制御部5とは、バス6により接続されている。バス6は、アドレスバス11、12、ステータスバス13、14、データバス15から供給される。
【0010】
アドレスバス11は、プロセッサ2−Xからバス制御部5にアドレスを伝送する。アドレスバス11で伝送されるアドレスは、例えば、プロセッサ2−Xで発行されたトランザクションのアドレスである。
アドレスバス12は、バス制御部5からプロセッサ2−Xにアドレスを伝送する。アドレスバス12で伝送されるアドレスは、例えば、バス制御部5で調停され、バス6の使用が許可されたアドレスである。
【0011】
ステータスバス13は、プロセッサ2−Xからバス制御部5にプロセッサ2−Xのステータスを供給する。ステータスバス13を伝送されるステータスは、プロセッサ2−Xでキャッシュスヌープを行なった結果を伝送する。
ステータスバス14は、バス制御部5からプロセッサ2−Xにテータスを供給する。ステータスバス14を伝送されるステータスは、N個のプロセッサ2−1〜2−Nでのキャッシュスヌープの結果を合成したものが伝送される。データバス15は、キャッシュスヌープ結果に応じてデータを転送する。
【0012】
次に、従来のアドレストランザクション処理の動作について説明する。
プロセッサ2−Xは、演算部21、アドレス制御部22、スヌープ制御部23から構成される。
演算部21は、データ処理を行ない、データ処理の結果に応じてアドレストランザクションを要求する。アドレス制御部22は、演算部21からのアドレストランザクションの要求に応じてアドレスを発行する。
アドレス制御部22は、キュー発行部22a、リトライ制御部22b、カウント部22cを有する。キュー発行部22aは、アドレストランザクションに応じてアドレスを発行する。
【0013】
リトライ制御部22bは、演算部21、スヌープ制御部23、バス制御部5に接続されている。リトライ制御部22bは、スヌープ制御部23からのリトライ指示に応じてキュー発行部22aを制御する。
このとき、リトライ制御部22bには、演算部21からのリトライ回数、タイムアウト時間が設定され、カウント部22cからは、リトライ回数、タイムアウト時間が供給される。リトライ制御部22bは、カウント部22cのからのリトライ回数又はタイムアウト時間が演算部21によって設定されたリトライ回数又はタイムアウト時間になるまで、リトライを繰り返す。
【0014】
また、リトライ制御部22bには、バス制御部5からバス6の使用状況に関する情報が供給される。リトライ制御部22bは、バス制御部5からの情報に応じてリトライ頻度を制御する。
カウント部22cは、リトライ回数、タイムアウト時間をカウントする。リトライ制御部22bは、カウント部22cからのリトライ回数、タイムアウト時間を参照して、所定の回数並びに所定の時間に制限する。
【0015】
スヌープ制御部23は、バス制御部5からアドレスに応じてキャッシュステータスを求める。また、スヌープ制御部23は、バス制御部5からのシステム全体のキャッシュステータスに応じてデータの転送を制御するとともに、アドレスリトライの指示を発行する。
次に、アドレストランザクションの発生時の動作を図面とともに説明する。
ステップS1で、プロセッサ2−Xの演算部21からアドレストランザクションが発生される。演算部21からのアドレストランザクションは、アドレス制御部22のキュー発行部22aに供給される。
【0016】
ステップS2 で、キュー発行部22aから演算部21からのアドレストランザクションに応じたアドレスが発行される。キュー発行部22aから発行されたアドレスは、バス制御部5にアドレスを供給される。
ステップS3 で、バス制御部5によりプロセッサ2−Xからのアドレスがプロセッサ2−1〜2−Nのアドレスバス12に供給される。
【0017】
ステップS4 では、プロセッサ2−1〜2−Nにより、バス制御部5からのアドレスに対してキャッシュステータスが求められる。
プロセッサ2−1〜2−Nは、キャッシュステータスをバス制御部5に供給する。
ステップS5 は、バス制御部5での処理であり、プロセッサ2−1〜2−Nからのキャッシュステータスを合成してシステム全体のキャッシュステータスが求められる。
【0018】
ステップS6は、バス制御部5の処理であり、システム全体のキャッシュステータスをプロセッサ2−1〜2−Nに供給する。プロセッサ2−Xは、バス制御部5からシステム全体のキャッシュステータスを受信する。
ステップS7は、プロセッサ2−Xでの処理であり、バス制御部5からのシステム全体のキャッシュステータスに基づいてデータの転送制御が行なわれる。
【0019】
なお、上記ステップS 1〜S7は、プロセッサ2−1〜2−Nで発生される各トランザクションに対して行なわれる。ステップS 1〜S7をパイプライン的に処理することにより処理の多重度を向上でき、高速化が可能となる。
図3は従来の一例のパイプライン処理の動作説明図を示す。
図3において、AT1〜AT3はトランザクションを示す。トランザクションAT1は、時刻t1でステップS2、次の時刻t2でステップS3、次の時刻t3でステップS4、次の時刻t4でステップS5、次の時刻t5でステップS6、次の時刻t6でステップS7が実行される。トランザクションAT2は、時刻t2でステップS2、次の時刻t3でステップS3、次の時刻t4でステップS4、次の時刻t5でステップS5、次の時刻t6でステップS6、次の時刻t7でステップS7が実行される。トランザクションAT3は、時刻t3でステップS2、次の時刻t4でステップS3、次の時刻t5でステップS4、次の時刻t6でステップS5、次の時刻t7でステップS6、次の時刻t8でステップS7が実行される。
【0020】
このように異なるトランザクションAT1〜AT3は、同一ステップが異なる時刻で処理される。よって、バスを一つのトランザクションで占有することがないので、効率よく処理を行なうことができる。このパイプライン処理の利点を生かすため、アドレスリトライ機構が用いられている。
【0021】
【発明が解決しようとする課題】
しかしながら、上記システムでは、アドレストランザクションがアドレスリトライ機構によって、リトライされ続けると、処理の時間が長くなり、処理効率が低下する。また、規定のリトライ回数、タイムアウト時間が経過すると、システムに異常があると判定され、システムが停止してしまう等の問題点があった。
【0022】
本発明は上記の点に鑑みてなされたもので、システムを効率よく、かつ、高い信頼性を持って運用できる情報処理装置、及び、トランザクション処理方法、プロセッサ、並びに、リトライ方法を提供することを目的とする。
【0023】
【課題を解決するための手段】
本発明は、バスに接続された処理手段を有し、該処理手段により前記バスに対してトランザクションの発行を行う情報処理装置において、処理手段は前記処理手段は、検査用トランザクションを発行して、前記トランザクションの再発行であるリトライが過剰に要求された過剰リトライ状態を検出する過剰リトライ状態検出手段と、過剰リトライ検出手段により過剰リトライ状態が検出された場合にはバスに対して、過剰リトライ状態でないトランザクションの発行を抑制する処理制御手段とを有することを特徴とする。
本発明によれば、トランザクションの再発行であるリトライが過剰に要求された過剰リトライ状態が検出された場合にはバスに対して、過剰リトライ状態でない他のトランザクションの発行を抑制することにより、処理を一定時間内に終了させることを保証でき、よって、処理がタイムアウトし、システムダウンすることを防止できる。
【0024】
た、本発明によれば、通常処理への影響を低減できる。
【0025】
さらに、処理制御手段は、複数のトランザクションを複数のグループに分類し、所定のトランザクションが属するグループに含まれる他のトランザクションの要求を抑止することを特徴とする。本発明によれば、処理の要求の抑制を影響が大きい処理だけに限定することができ、関係のない処理への影響は低減できる。
【0026】
【発明の実施の形態】
図4は本発明の第1実施例のブロック構成図を示す。同図中、図2と同一構成部分には同一符号を付し、その説明は省略する。
本実施例は、リトライ制御部22bの処理が図2とは相違する。また、スヌープ制御部23にリトライ監視部23aを設けてなる。
【0027】
図5は本発明の第1実施例のリトライ制御部の処理フローチャートを示す。
リトライ制御部22bは、ステップS1−1〜S1−5の処理を実行する。
ステップS1−1は、カウント部22cからのリトライ回数が所定のリトライ回数以上になったか否かを判定する。なお、所定のリトライ回数は、演算部21によって、設定された規定のリトライ回数以下の回数に設定されている。このため、所定のリトライ回数となってもタイムアウトとならず、システムダウンはしない。ステップS1−1の判断は、複数の条件の組み合わせで行なわれる。
【0028】
例えば、第1の条件は、経過時間が演算部21によって設定されたタイムアウト時間の80パーセントを越えた場合とする。第2の条件は、プロセッサ数が32個未満の場合に、リトライ回数が40回以上になった場合とする。第3の条件は、プロセッサ数が32個以上の場合に、20回以上になった場合とする。
ステップS1−1で、リトライ回数が規定の回数以上であれば、次に、ステップS1−2、S1−3が実行され、規定の回数以下であれば、次に、ステップS1−4が実行される。
【0029】
ステップS1−2は、過剰にリトライされたアドレストランザクションにマーキングを行う。図6は本発明の第1実施例の動作を説明するための図を示す。図6(A)は通常時に発行されるアドレストランザクションの状態、図6(B)は過剰にリトライされたときに発行されるアドレストランザクションの状態を示す。キュー発行部22aは、通常は図6(A)に示すようにアドレストランザクション51を出力する。また、キュー発行部22aは、リトライ制御部22bで過剰リトライが検出されると、リトライ制御部22bからの指示により図6(B)に示すようにアドレストランザクション51にマーク61を発行する。
【0030】
ステップS1−3は、ステップS1−2でマークが付与されたアドレスをバス制御部5に通知する。
ステップS1−4は、システム過剰リトライ状態か否かを判定する。
ステップS1−4でシステムが過剰リトライ状態でなければ、そのまま処理を終了し、アドレスリトライが解消されるまで、リトライを継続する。
【0031】
また、ステップS1−4で、システムが過剰リトライ状態であれば、ステップS1−5が実行される。ステップS1−5は、リトライ制御部22bを制御して、過剰リトライ状態でない他のトランザクションの発行を抑制する。
ステップS1―5で、過剰リトライ状態でないトランザクションの発行を抑制させることに過剰リトライ状態のトランザクションを優先して実行させることができる。よって、タイムアウトを抑制できる。
【0032】
次に、リトライ監視部23aの動作について説明する。
図7は本発明の第1実施例のリトライ監視部の処理フローチャートを示す。
リトライ監視部23aは、ステップS2−1〜S2−6を実行する。ステップS2−1は、リトライ回数が所定の回数か否かを判定する。ステップS2−1でリトライ回数が所定の回数以上になると、次に、ステップS2−2が実行される。
【0033】
ステップS2−2は、過剰リトライ状態が検出されていない他のトランザクションのスヌープ結果を強制的リトライ状態にする。
ステップS2−3は、強制的リトライ状態か否かを判定する。ステップS2−3で、強制リトライ状態と判定された場合には、次に、ステップS2−4が実行される。
【0034】
ステップS2−4は、リトライ制御部22aに過剰リトライ状態である旨の通知を行なう。
ステップS2−5は、過剰リトライ状態が解消したか否かが判断される。ステップS2−5で過剰リトライ状態である旨判断されると、次に、ステップS2−6が実行される。
【0035】
ステップS2−6は、ステップS2−4でリトライ制御部22aに通知した過剰リトライ状態である旨の通知を解除する。
リトライ監視部23aにより、過剰でないリトライ状態のアドレストランザクションについては、強制的にリトライ状態とされる。よって、過剰なリトライ状態のアドレストランザクションが優先して実行される。このため、システムがタイムアウトしてシステムダウンする確率を低減することができる。
【0036】
ここで、過剰ステップS2−1の過剰リトライ状態の判定方法について説明する。
過剰リトライ状態の判定は、リトライ制御部22bに設けられたカウンタC 01及びカウンタC 02のカウント値により実行される。カウンタC 01は、リトライ制御部22bに設けられており、過剰にリトライ状態となったアドレストランザクションをカウントする。カウンタC 02は、リトライ監視部23a に設けられており、システムが過剰リトライ状態のときにキャッシュスヌープが成功またはエラーで終了したアドレストランザクションをカウントする。
【0037】
図8は本発明の第1実施例のリトライ制御部の過剰リトライ状態を判定する処理のフローチャートを示す。
リトライ制御部22bは、ステップS3−1〜S3−8を実行する。ステップS3−1は、トランザクションがリトライされたか否かを判定する。ステップS3−1で、トランザクションがリトライされたと判断された場合には、ステップS3−2を実行する。
ス テップS3−2は、リトライされたトランザクションが過剰にリトライされているか否かを判定する。ステップS3−2で、過剰にリトライされている場合には、ステップS3−3が実行される。
【0038】
ステップS3−3は、過剰にリトライされたトランザクションが既にカウンタC01によりカウント済みか否かを判定する。ステップS3−3で、過剰にリトライされたトランザクションがカウンタC01によりカウント済みでなければ、ステップS3−4を実行する。ステップS3−4は、カウンタC01の値を1増加させる。
【0039】
ステップS3−5は、トランザクションが自装置の制御下に存在するか否かを判定する。ステップS3−5でトランザクションが自装置の制御下に存在すれば、ステップS3−6を実行する。ステップS3−6は、トランザクションにカウント済みの情報を。
ステップS3−7は、カウント値c01とカウント値c02とが一致するか否かを判定する。ステップS3−7でカウント値c01とカウント値c02とが一致すれば、過剰にリトライされたトランザクションは、解消されたと判断できるので、次にステップS3−8を実行する。ステップS3−8は、カウンタC01のカウント値c01を「0」にする。
【0040】
図9は本発明の第1実施例のリトライ監視部の過剰リトライ状態を判定する処理のフローチャートを示す。
リトライ監視部23aは、ステップS4−1〜S4−5を実行する。
ステップS 4−1は、システムが過剰リトライ状態か否かを判定する。ステップS 4−1で、システムが過剰リトライ状態であれば、次に、ステップS 4−2の判断を行なう。
【0041】
ステップS 4−2は、過剰リトライされたトランザクションの処理が終了したか否かを判定する。ステップS4−2で過剰リトライされたトランザクションが処理されると、ステップS4−3が実行される。
ステップS4−3は、カウンタC02のカウント値c02を「1」増加させる。
【0042】
ステップS4−4は、カウンタC02のカウント値c02とリトライ制御部22bのカウンタC01からのカウント値c01とが同一か否かを判定する。ステップS4−4で、カウント値c01とカウント値C02とが同一になった場合には、ステップS4−5を実行する。ステップS4−5は、過剰リトライのトランザクションがないと判断できるので、カウンタC02のカウント値c02を「0」にする。
【0043】
以上のように過剰リトライとなったトランザクションの数をカウントすることにより過剰リトライ状態の判定が可能となる。
なお、上記の過剰リトライ状態の判定方法では、過剰リトライとされたトランザクションの数をカウントしたが、リトライ監視部23aに過剰リトライとなったトランザクションに対応したフラグを設けフラグをオン/オフすることにより過剰リトライ状態を判定するようにしてもよい。
【0044】
図10は本発明の第1実施例の過剰リトライ状態を判定する方法を説明するための図を示す。
リトライ監視部23aに、複数のフラグFLAG1〜FLAGmを設ける。フラグの数mは、システムに現れる過剰にリトライされたアドレスの最大数と同じだけの数とする。
【0045】
過剰にリトライされたアドレスが現れると、該当するフラグをオンする。また、過剰にリトライされたアドレスが処理されると、該当するフラグをオフする。すべてのフラグがオフになると、リトライ制御部22bへの過剰リトライ状態の通知を停止する。
また、検査用のトランザクションを発行することにより、過剰リトライ状態か否かを判定するようにしてもよい。
【0046】
図11は本発明の第1実施例のリトライ制御部の過剰リトライ判定処理の変形例のフローチャートを示す。
本変形例では、リトライ制御部22bは、ステップS5−1〜S5−5を実行する。
ステップS5−1は、システムが過剰リトライ状態か否かを判定する。ステップS5−1で、システムが過剰リトライ状態であると判定されると、ステップS5−2が実行される。また、ステップS5−1でシステムが過剰リトライ状態でないと判定された場合には、処理を終了する。
【0047】
ステップS5−2は、リトライ制御部22bに予め設定された所定時間が経過したかを判定する。
ステップS5−2で、所定時間経過すると、ステップS5−3を実行させる。ステップS5−3は、キュー発行部22aから検査用トランザクションをバス制御部5に発行させる。
【0048】
図12は本発明の第1実施例の過剰リトライ判定処理の変形例に用いられる検査用トランザクションを説明するための図を示す。
検査用トランザクションは、図12(B)に71で示すように1ビットのアドレストランザクションから構成される。
ステップS5−4は、検査用トランザクションが強制的リトライ通知を受けたか否かを判定する。ステップS5−4で検査用トランザクションが強制的リトライ通知を受けない場合には、過剰リトライ状態が解消されたと判断できるため、ステップS5−5が実行される。ステップS5−5は、過剰リトライ通知を停止する。
【0049】
以上のように1ビットの検査用トランザクションを用いることによりバス6を混雑させることがない。
なお、上記変形例では、1ビットの検査用トランザクションを用いたが、これに限定されるものではなく、過剰リトライ状態でない、他のアドレストランザクションを試験用トランザクションとして発行するようにするようにしてもよい。
【0050】
また、図12(C)に示すアドレス51の一部81を検査用アドレストランザクションとして用いるようにしてもよい。
なお、上記の試験用トランザクションの発行は、システムバス6を混雑させない程度の頻度で発行される。
また、上記実施例では、通常のアドレストランザクションの処理について説明した。しかし、アドレストランザクションには、特殊なトランザクションが存在する。特殊なアドレストランザクションとは、抑制を受ける必要がないもの、抑制を受けてはいけないトランザクションである。
【0051】
次に本発明の第2実施例について説明する。
本実施例の構成は第1実施例と同一であり、リトライ制御部22b及びリトライ監視部23aの処理動作が異なる。よって、構成の説明は省略する。
まず、本実施例におけるリトライ制御部22bの動作を説明する。図13は本発明の第2実施例のリトライ制御部のフローチャートを示す。
【0052】
リトライ制御部22bは、ステップS6−1〜S6−7を実行する。ステップS6−1は、リトライ制御部22bの制御下のアドレストランザクションが過剰にリトライされているか否かを判定する。ステップS6−1で制御下のトランザクションが過剰にリトライされていると、判断された場合には、ステップS6−2が実行される。また、ステップS6−1で制御下のアドレストランザクションが過剰にリトライされていない場合には、次にステップS6−4が実行される。
【0053】
ステップS6−2は、過剰にリトライされたトランザクションの存在をリトライ監視部23aに通知する。ステップS6−3は、発行するアドレスに図6(B)に示すように過剰リトライ状態であるマークを発行する。次に、ステップS6−4が実行される。
ステップS6−4は、システムが過剰リトライ状態か否かを判定する。ステップS6−4でシステムが過剰リトライ状態の場合には、ステップS6−5が実行される。
【0054】
ステップS6−5は、制御下のアドレストランザクションが特殊なトランザクションが否かを判定する。ステップS6−5で制御下のトランザクションが特殊なアドレストランザクションの場合には、ステップS6−6が実行され、ステップS6−5で制御下のアドレストランザクションが特殊なトランザクションではない場合には、ステップS6−7が実行される。
ステップS6−6は、特殊なトランザクションの発行頻度を低下させる。ステップS6−7は、他のトランザクションの発行を抑制する。
【0055】
次に本実施例におけるリトライ監視部23aの動作を説明する。
図14は本発明の第2実施例のリトライ監視部の処理フローチャートを示す。
リトライ監視部23aは、ステップS7−1〜ステップS7−7を実行する。ステップS7−1は、制御下のアドレストランザクションが過剰リトライ状態か否かを判定する。ステップS7−1で制御下のアドレストランザクションが過剰リトライ状態であれば、次にステップS7−2が実行される。ステップS7−1で、過剰リトライ状態でなければ、次に、ステップS7−4が実行される。
【0056】
ステップS7−2は、バス制御部5からのアドレストランザクションが特殊なアドレストランザクションか否かを判定させる。ステップS7−2でバス制御部5からのアドレストランザクションが特殊なアドレストランザクション場合には、次にステップS7−4が実行され、バス制御部5からのアドレストランザクションが通常のアドレストランザクションの場合には、ステップS7−3が実行された後、ステップS7−4が実行される。
【0057】
ステップS7−3は、他のアドレストランザクションのスヌープ結果を強制リトライ状態に設定させる。ステップS7−4は、アドレストランザクションが強制リトライ状態か否かを判定する。
ステップS7−4でアドレストランザクションが強制リトライ状態の場合には、ステップS7−5が実行された後ステップS7−6が実行され、ステップS7−4でアドレストランザクションが強制リトライ状態ではない場合には、ステップS7−6が実行される。
【0058】
ステップS7−5は、リトライ制御部22bに過剰リトライ状態である旨を通知する。
ステップS7−6は、過剰リトライ状態が解消したか否か判定する。
ステップS7−6で、過剰リトライ状態が解消したと判断された場合には、ステップS7−7が実行される。
【0059】
ステップS7−7は、リトライ制御部22bへの過剰リトライ状態の通知を停止する。
リトライ監視部23aでは、上記ステップS7−1〜S7−7が繰り返される。
本実施例によれば、特殊なアドレストランザクションの存在を許しつつも、過剰リトライ状態のアドレストランザクションを効率的に処理できる。
【0060】
次に、本発明の第3実施例について説明する。
本実施例は、アドレストランザクションをグループ分けして制御する場合の実装例を示す。なお、本実施例の構成は、第1実施例と同一であり、リトライ制御部22b及びリトライ監視部23aでの処理が相違するだけであるので、構成についての説明は省略する。
【0061】
図15は本発明の第3実施例のアドレストランザクションのデータ構成図を示す。
本実施例のアドレストランザクションは、図15(A )に示すようにトランザクション情報T1〜Tn及びアドレス91から構成される。
図15(B)に示すようにアドレス91の上位ビット91−1は、アドレスのキャッシュライン毎のグループ分けに用いられる。
【0062】
また、図15(C)に示すようにトランザクション情報Tx及びアドレスの上位ビット91−2は、アドレスが含まれるプロセッサのグループ分けに用いられる。なお、トランザクション情報Txは、トランザクション情報T1〜Tnのうちの任意のトランザクション情報を示す。
次に、リトライ制御部22bの動作について説明する。
【0063】
図16は本発明の第3実施例のリトライ制御部の処理フローチャートを示す。リトライ制御部22bは、ステップS8−1〜S8−7を実行する。ステップS8−1は、制御下のアドレストランザクションが過剰のリトライ状態か否かを判定する。ステップS8−1でアドレストランザクションが過剰リトライ状態である場合には、ステップS8−2、S8−3が実行された後ステップS8−4が実行される。また、ステップS8―1でアドレストランザクションが過剰リトライ状態でない場合には、次にステップS8−4が実行される。
【0064】
ステップS8−2は、過剰にリトライされたアドレストランザクションの存在をリトライ監視部23aに通知する。ステップS8−3は、発行するアドレストランザクションに過剰にリトライされたアドレストランザクションである旨のマークを付ける。
ステップS8−4は、システムの配下のアドレストランザクションが属するグループが過剰リトライ状態か否かを判定する。アドレストランザクションが属するグループは、例えば、図15(B)に示すアドレス91の上位ビット91−1や図15(C)に示すトランザクション情報Tx及びアドレス91の上記ビット91−2により判定できる。
【0065】
ステップS8−4で、システムの配下のグループが過剰リトライ状態である場合には、ステップS8―5が実行される。ステップS8−5は、特殊なアドレストランザクションか否かを判定する。ステップS8−5で特殊なアドレストランザクションであると判断された場合には、ステップS8−6が実行され、特殊なアドレストランザクションでなないと判断された場合には、ステップS8−7が実行される。
【0066】
ステップS8−6は、特殊なアドレストランザクションの発行頻度を低下させる。ステップS8−7は、他のアドレストランザクションの発行を抑制する
次に、リトライ監視部23aの動作を説明する。
図17は本発明の第3実施例のリトライ監視部の動作フローチャートを示す。
リトライ監視部23aは、ステップS9−1〜S9−7の処理を実行する。
【0067】
ステップS9−1は、制御下のアドレストランザクションは過剰リトライ状態か否かを判定する。ステップS9−1で制御下のアドレストランザクションが過剰リトライ状態である場合には、ステップS9−2〜S9−4が実行された後ステップS9−5が実行される。また、ステップS9−1で、制御下のアドレストランザクションが過剰リトライ状態ではない場合には、次にステップS9−5が実行される。
【0068】
ステップS9−2は、バス制御部5からのアドレストランザクションが制御下のグループと同一のグループか否かを判定する。ステップS9−2で、同一グループである場合には、次にステップS9−3が実行され、同一グループでない場合には、次にステップS9−5が実行される。
ステップS9−3は、バス制御部5からのトランザクションが特殊なトランザクションか否かを判定する。ステップS9−3で特殊なトランザクションであると判定された場合には、次にステップS9−5が実行され、特殊なトランザクションではないと判定された場合には、次にステップS9−4が実行される。
【0069】
ステップS9−4は、他のトランザクションを強制的リトライ状態にする。
ステップS9−5は、スヌープ結果が強制的リトライ状態か否かを判定する。ステップS9−5で、スヌープ結果が強制的リトライ状態であると判定された場合には、次にステップS9−7が実行され、スヌープ結果が強制的リトライ状態ではないと判定された場合には、次にステップS9−6が実行された後ステップS9−7が実行される。
【0070】
ステップS9−6は、リトライ制御部22bにグループ情報の通知及び過剰リトライ状態である旨の通知を行なう。
ステップS9−7は、過剰リトライ状態が解消したが否かが判定される。ステップS9−7で、過剰リトライ状態が解消していないと判断された場合には、そのまま処理を終了する。また、ステップS9−7で過剰リトライ状態が解消したと判断された場合には、次にステップS9−8が実行される。
【0071】
ステップS9−8は、リトライ制御部22bへのグループ情報の通知及び過剰リトライ状態である旨の通知を停止する。
リトライ監視部23aは、上記ステップS9−1〜S9−7の処理をバス制御部5からアドレストランザクションが供給される毎に実行する。
なお、アドレストランザクションのグループ分けは、複数のグループで過剰リトライ状態が干渉しないように行なわれる。
【0072】
グループの分類方法としては、アドレスのキャッシュライン毎、及びアドレスの対象が含まれるプロセッサ毎などの分類方法がある。
また、過剰なリトライが発生したアドレストランザクションのグループ分類を切り換えることにより、優先してリトライが行なわれるようにしてもよい。
図18は本発明の第3実施例の変形例のリトライ制御部の動作フローチャートを示す。
【0073】
グループ分類を切り換える処理は、ステップS10−1〜S10−5から構成される。
ステップS10−1は、制御下の所定のアドレストランザクションが過剰にリトライされているか否かを判定する。ステップS10−1で過剰にリトライされた状態であると判定された場合には、次に、ステップS10−2が実行される。また、ステップS10−1で過剰にリトライされた状態ではないと判定された場合には、そのまま処理を終了する。
【0074】
ステップS10−2は、所定のアドレストランザクションが別のグループ分類でも新たに過剰リトライ状態とされたか否かがが判定される。ステップS10−2で、別のグループ分類でも過剰リトライ状態とされた場合には、次にステップS10−3が実行された後、S10−4が実行される。また、ステップS10−2で、別のグループ分類では過剰リトライ状態とされていない場合には、そのまま処理を終了する。
【0075】
ステップS10−3は、所定のアドレストランザクションが属する複数のグループ分類を比較する。
ステップS10−4は、新たなグループ分類の優先順位が別のグループ分類より高いか否かを判定する。ステップS10−4で、新たに過剰リトライ状態とされたグループ分類の優先順位が高い場合には、ステップS10−5を実行する。また、ステップS10−4で、新たに過剰リトライ状態とされたグループ分類の優先順位が元のグループ分類より低い場合には、そのまま処理を終了する。
ステップS10−5は、制御対象とするグループ分類を新たなグループ分類に設定する。
【0076】
本変形例によれば、グループ分類の設定を優先順位の高いグループ分類に切り換えることにより、優先してリトライ処理が行なわれ、過剰リトライ状態を解消できる。
なお、本実施例では、図1に示すようにN個のプロセッサ2−1〜2−Nをシステムバス6に接続してメモリ3を共有する場合について説明したが、複数のプロセッサとメモリからなるシステムボードをシステムバス6に接続するようにしてもよい。
【0077】
図19は本発明の他の適用例のブロック構成図を示す。同図中、図1と同一構成部分には同一符号を付し、その説明は省略する。
本適用例のシステム100は、M個のシステムボード101−1〜
101−Mをシステムバス6に接続してなる。システムボード101−1〜101−Mは、N個のプロセッサ102−1〜102−N及びメモリ103から構成される。システムバス6には、M×N個のプロセッサが接続される。各プロセッサは、アドレストランザクションにエラーが発生した場合には、上記のような処理によってリトライ処理が実行される。
【0078】
【発明の効果】
上述の如く、本発明によれば、トランザクションの再発行であるリトライが過剰に要求された過剰リトライ状態が検出された場合にはバスに対する他のトランザクションの発行を抑止することにより、処理を一定時間内に終了させることを保証でき、よって、処理がタイムアウトし、システムダウンすることを防止できる等の特長を有する。
【0079】
また、本発明によれば、所定の条件に基づいて過剰リトライ状態が解消したか否かの検査を行うための検査用トランザクションの要求を行い、検査用トランザクションが抑制されない場合には過剰リトライ状態が解消したものと判断することにより、通常処理への影響を低減できる等の特長を有する。
さらに、本発明によれば、複数のトランザクションを複数のグループに分類し、所定のトランザクションが属するグループに含まれる他のトランザクションの要求を抑止することにより、処理の要求の抑制を影響が大きい処理だけに限定することができ、関係のない処理への影響は低減できる等の特長を有する。
【図面の簡単な説明】
【図1】マルチプロセッサシステムのブロック構成図である。
【図2】従来の一例の要部の構成図である。
【図3】従来の一例のパイプライン処理の動作説明図である。
【図4】本発明の第1実施例のブロック構成図である。
【図5】本発明の第1実施例のリトライ制御部の処理フローチャートである。
【図6】本発明の第1実施例の動作を説明するための図である。
【図7】本発明の第1実施例のリトライ監視部の処理フローチャートである。
【図8】本発明の第1実施例のリトライ制御部の過剰リトライ状態を判定する処理のフローチャートである。
【図9】本発明の第1実施例のリトライ監視部の過剰リトライ状態を判定する処理のフローチャートである。
【図10】本発明の第1実施例の過剰リトライ状態を判定する方法を説明するための図である。
【図11】本発明の第1実施例のリトライ制御部の過剰リトライ判定処理の変形例のフローチャートである。
【図12】本発明の第1実施例の過剰リトライ判定処理の変形例に用いられる検査用トランザクションを説明するための図である。
【図13】本発明の第2実施例のリトライ制御部のフローチャートである。
【図14】本発明の第2実施例のリトライ監視部の処理フローチャートである。
【図15】本発明の第3実施例のアドレストランザクションのデータ構成図である。
【図16】本発明の第3実施例のリトライ制御部の処理フローチャートである。
【図17】本発明の第3実施例のリトライ監視部の動作フローチャートである。
【図18】本発明の第3実施例の変形例のリトライ制御部の動作フローチャートである。
【図19】本発明の他の適用例のブロック構成図である。
【符号の説明】
1 マルチプロセッサシステム
2−1〜2−N プロセッサ
3 メモリ
4 入出力装置
5 バス制御部
6 システムバス
21 演算部
22 アドレス制御部
22a キュー発行部
22b リトライ制御部
22c カウント部
23 スヌープ制御部
23a リトライ監視部
C01、C02 カウンタ

Claims (7)

  1. バスに接続された処理手段を有し、該処理手段により前記バスに対してトランザクションの発行を行う情報処理装置において、
    前記処理手段は、検査用トランザクションを発行して、所定のリトライ回数を超えた場合に、前記トランザクションの再発行であるリトライが過剰に要求された過剰リトライ状態を検出する過剰リトライ状態検出手段と、
    前記過剰リトライ検出手段により過剰リトライ状態が検出された場合には、前記バスに対して、過剰リトライ状態でないトランザクションの発行を抑制する処理制御手段とを有することを特徴とする情報処理装置。
  2. 前記処理制御手段は、前記複数のトランザクションを複数のグループに分類し、所定のトランザクションが属するグループに含まれる他のトランザクションの要求を抑制することを特徴とする請求項1記載の情報処理装置。
  3. 複数のトランザクションを処理する情報処理装置のトランザクション処理方法において、
    前記処理手段は、検査用トランザクションを発行して、所定のリトライ回数を超えた場合に、前記トランザクションの再発行であるリトライが過剰に要求された過剰リトライ状態を検出する過剰リトライ状態検出手順と、
    前記過剰リトライ検出手段により過剰リトライ状態が検出された場合には、前記バスに対して、過剰リトライ状態でないトランザクションの発行を抑制する処理制御手順とを有することを特徴とするトランザクション処理方法。
  4. データ処理を行うとともに、前記データ処理の処理結果に応じてアドレストランザクションの要求を行う演算部と、前記アドレストランザクションの要求に応じてアドレストランザクションの発行を行うキュー発行部と、前記キュー発行部によるアドレストランザクションを再発行するアドレスリトライ制御を行うリトライ制御部とを有するプロセッサであって、
    前記アドレスリトライ制御部は、検査用トランザクションを発行して、所定のリトライ回数を超えた場合に、前記トランザクションの再発行であるリトライが過剰に要求された過剰リトライ状態を検出し、前記過剰リトライ状態を検出した場合、前記リトライ制御部を制御することによって過剰リトライ状態でない他のアドレストランザクションの発行を抑制することを特徴とするプロセッサ。
  5. データ処理を行うとともに、前記データ処理結果に応じてアドレストランザクションの要求を行う演算部と、前記アドレストランザクションの要求に応じてアドレストランザクションの発行を行うキュー発行部と、前記キュー発行部によるアドレストランザクションを再発行するものであるアドレスリトライの制御を行うリトライ制御部とを有するプロセッサにおいて、
    前記リトライ制御部は、前記アドレスリトライ制御部は、検査用トランザクションを発行して、所定のリトライ回数を超えた場合に、前記トランザクションの再発行であるリトライが過剰に要求された過剰リトライ状態を検出し、過剰リトライ状態を検出した場合には過剰リトライ状態のアドレスリトライを優先的に発行することを特徴とするプロセッサ。
  6. データ処理を行うとともに、前記データ処理の結果に応じてアドレストランザクションの要求に応じてアドレストランザクションの発行を行うキュー発行部と、前記キュー発行部によるアドレストランザクションを再発行するものであるアドレスリトライの制御を行うリトライ制御部とを有するプロセッサにおいて、
    前記アドレスリトライ制御部は、検査用トランザクションを発行して、所定のリトライ回数を超えた場合に、前記トランザクションの再発行であるリトライが過剰に要求された過剰リトライ状態を検出し、過剰リトライ状態を検出した場合に、前記過剰リトライ状態のアドレス状態のアドレストランザクションにマーキングを行うことを特徴とするプロセッサ。
  7. データ処理を行うとともに、前記データ処理の結果に応じてアドレストラン ザクションの要求に応じてアドレストランザクションの発行を行うキュー発行部と、前記キュー発行部によるアドレストランザクションを再発行するものであるアドレスリトライの制御を行うリトライ制御部とを有する情報処理装置において、
    前記アドレスリトライ制御部は、検査用トランザクションを発行して、所定のリトライ回数を超えた場合に、前記トランザクションの再発行であるリトライが過剰に要求された過剰リトライ状態を検出し、過剰リトライ状態を検出した場合に、前記過剰リトライ状態のアドレス状態のアドレストランザクションにマーキングを行うことにより、前記システムバスに接続された他のプロセッサに前記過剰リトライ状態を通知することを特徴とする情報処理装置。
JP35372899A 1999-12-13 1999-12-13 情報処理装置、及び、トランザクション処理方法、プロセッサ、並びに、リトライ方法 Expired - Fee Related JP4144986B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP35372899A JP4144986B2 (ja) 1999-12-13 1999-12-13 情報処理装置、及び、トランザクション処理方法、プロセッサ、並びに、リトライ方法
US09/668,377 US6691191B1 (en) 1999-12-13 2000-09-25 Transaction retry in multi-processor system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP35372899A JP4144986B2 (ja) 1999-12-13 1999-12-13 情報処理装置、及び、トランザクション処理方法、プロセッサ、並びに、リトライ方法

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2007038222A Division JP4610570B2 (ja) 2007-02-19 2007-02-19 情報処理装置及びトランザクション処理方法

Publications (2)

Publication Number Publication Date
JP2001167048A JP2001167048A (ja) 2001-06-22
JP4144986B2 true JP4144986B2 (ja) 2008-09-03

Family

ID=18432824

Family Applications (1)

Application Number Title Priority Date Filing Date
JP35372899A Expired - Fee Related JP4144986B2 (ja) 1999-12-13 1999-12-13 情報処理装置、及び、トランザクション処理方法、プロセッサ、並びに、リトライ方法

Country Status (2)

Country Link
US (1) US6691191B1 (ja)
JP (1) JP4144986B2 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6912608B2 (en) * 2001-04-27 2005-06-28 Pts Corporation Methods and apparatus for pipelined bus
US20040059858A1 (en) * 2002-09-23 2004-03-25 Blankenship Robert G. Methods and arrangements to enhance a downbound path
US7099971B1 (en) * 2003-06-26 2006-08-29 Emc Corporation Arbitration system
US7484131B2 (en) * 2005-09-13 2009-01-27 International Business Machines Corporation System and method for recovering from a hang condition in a data processing system
US7529866B2 (en) 2005-11-17 2009-05-05 P.A. Semi, Inc. Retry mechanism in cache coherent communication among agents
CN100511162C (zh) * 2006-09-29 2009-07-08 华为技术有限公司 一种隔离总线故障的方法、装置与一种单板
JP4362135B2 (ja) 2007-02-13 2009-11-11 富士通株式会社 データ転送装置およびデータ転送方法
JP4975605B2 (ja) * 2007-12-26 2012-07-11 東京エレクトロン株式会社 処理システム、処理システムの制御方法およびソフトウェアのバージョンアップ方法
JP4969513B2 (ja) * 2008-05-14 2012-07-04 三菱電機株式会社 データ転送システム
EP2829986B1 (en) * 2013-05-20 2017-07-12 Huawei Technologies Co., Ltd. Computer system, access method and apparatus for peripheral component interconnect express endpoint devices

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU633724B2 (en) * 1990-06-29 1993-02-04 Digital Equipment Corporation Interlock queueing
US5546546A (en) * 1994-05-20 1996-08-13 Intel Corporation Method and apparatus for maintaining transaction ordering and arbitrating in a bus bridge
US5706446A (en) * 1995-05-18 1998-01-06 Unisys Corporation Arbitration system for bus requestors with deadlock prevention
US5644733A (en) * 1995-05-18 1997-07-01 Unisys Corporation Dual coupled partitionable networks providing arbitration logic for managed access to commonly shared busses
US6128677A (en) * 1997-10-15 2000-10-03 Intel Corporation System and method for improved transfer of data between multiple processors and I/O bridges

Also Published As

Publication number Publication date
US6691191B1 (en) 2004-02-10
JP2001167048A (ja) 2001-06-22

Similar Documents

Publication Publication Date Title
JP4144986B2 (ja) 情報処理装置、及び、トランザクション処理方法、プロセッサ、並びに、リトライ方法
US5796941A (en) Method for supervising software execution in a license restricted environment
US6920516B2 (en) Anti-starvation interrupt protocol
US7136970B2 (en) Storage system and dynamic load management method thereof
US7793143B2 (en) Switching a defective signal line with a spare signal line without shutting down the computer system
US5404535A (en) Apparatus and method for providing more effective reiterations of processing task requests in a multiprocessor system
US10560537B2 (en) Function based dynamic traffic management for network services
US20150067277A1 (en) Multiprocessor system for restricting an access request to a shared resource
CN110399034A (zh) 一种SoC系统的功耗优化方法及终端
US8417974B2 (en) Power efficient stack of multicore microprocessors
JP4610570B2 (ja) 情報処理装置及びトランザクション処理方法
US20040143691A1 (en) Sender to receiver request retry method and apparatus
CN102169454A (zh) 多处理器调试串口电路切换方法、装置及系统
US9053031B2 (en) System and method for handling data access
CN1255717C (zh) 用于在盘驱动器接口之间共享中断的方法和设备
GB2409906A (en) Testing agents in a computer system using harassing transactions from a library
US8959290B2 (en) Methods and apparatus for reusing snoop responses and data phase results in a cache controller
JP2024505635A (ja) 監視排他命令
US11900164B2 (en) Intelligent query planning for metric gateway
CN117234711B (zh) Flink系统资源动态分配方法、系统、设备及介质
JP2000122832A (ja) プリンティングジョブ管理装置およびプリンティングジョブ管理方法並びにプリンティングジョブ管理プログラムを記憶した記憶媒体
CN106502947A (zh) 一种基于vpx总线的多处理器计算机任务动态分配方法
CN116991576A (zh) 跑批作业任务的调节方法、装置、电子设备和存储介质
JPH1069404A (ja) データ処理装置
JP3403932B2 (ja) データ入出力装置

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060308

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060322

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060517

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20061219

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070219

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070219

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20070426

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: 20080610

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080617

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110627

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120627

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120627

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130627

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140627

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees