JP4774152B2 - 統合されたメモリ・アーキテクチャにおけるアービトレーションのための方法および装置 - Google Patents

統合されたメモリ・アーキテクチャにおけるアービトレーションのための方法および装置 Download PDF

Info

Publication number
JP4774152B2
JP4774152B2 JP2000592741A JP2000592741A JP4774152B2 JP 4774152 B2 JP4774152 B2 JP 4774152B2 JP 2000592741 A JP2000592741 A JP 2000592741A JP 2000592741 A JP2000592741 A JP 2000592741A JP 4774152 B2 JP4774152 B2 JP 4774152B2
Authority
JP
Japan
Prior art keywords
memory
agent
access
arbitration
main memory
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
JP2000592741A
Other languages
English (en)
Other versions
JP2002539509A5 (ja
JP2002539509A (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.)
Intel Corp
Original Assignee
Intel 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 Intel Corp filed Critical Intel Corp
Publication of JP2002539509A publication Critical patent/JP2002539509A/ja
Publication of JP2002539509A5 publication Critical patent/JP2002539509A5/ja
Application granted granted Critical
Publication of JP4774152B2 publication Critical patent/JP4774152B2/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/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/18Handling requests for interconnection or transfer for access to memory bus based on priority 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)
  • Multi Processors (AREA)
  • Read Only Memory (AREA)

Description

【0001】
(発明の分野)
本発明は、メモリ・システムに関し、より詳細には、本発明は、統合されたメモリ・アーキテクチャ(Unified Memory Architecture:UMA)におけるアービトレーション・ポリシー(arbitration policy)に関する。
【0002】
(発明の背景)
通常のコンピュータ・システムは、要求元エージェントからメモリ・システムへのアクセスを制御する、少なくとも2つのメモリ・サブシステムを用いるように実装されている。2つのサブシステムは、通常はメイン・メモリ・サブシステムと、グラフィックス・ローカル・メモリ・サブシステムである。メイン・メモリ・サブシステムは、システム・メモリ・コントローラを含み、一方グラフィックス・ローカル・メモリ・サブシステムは、グラフィックス・メモリ・コントローラを含む。許容できる呼び出し時間内にシステム・メモリにアクセスするために全ての要求のトラフィック要件をサポートするために、通常は、2つのメモリ・サブシステムが必要である。したがって、2つのメモリ・アーキテクチャは、通常のコンピュータ・システムに有利な性能を提供する。それにもかかわらず、第2のメモリ・サブシステムを設ける追加のコストが、通常のコンピュータ・システムの製造コストを増加させる。
【0003】
統合されたメモリ・アーキテクチャを含むコンピュータ・システムは、メイン・メモリ・サブシステムと、グラフィックス・ローカル・メモリ・サブシステムとの機能性を結合する。UMAを備えるコンピュータ・システムは、第2のメモリ・コントローラ(すなわち、グラフィックス・メモリ・コントローラ)が存在しないために、明らかに安価に製造される。しかしながら、システム・メモリへアクセスするためのグラフィック要求が追加されることによって、共通のシステム・メモリ・コントローラがオーバーロードになる。したがって、通常のUMAコンピュータ・システムは、システム・メモリ・コントローラでのトラフィック要求のオーバロードのため、性能の著しい低下を受ける。したがって、システム・メモリに対する要求のバランスをとり、UMAコンピュータ・システムにおける利用可能な帯域幅を最大化するためのアービトレーション・ポリシーが必要となる。
【0004】
(発明の概要)
一つの実施態様によれば、メモリと、メモリに結合されたメモリ・コントローラとを含むコンピュータ・システムが開示される。メモリ・コントローラは、第1のアービトレーション・モードまたは第2のアービトレーション・モードに従って動作するようにプログラムされたアービトレーション・ユニットを含む。
【0005】
本発明は、以下に与えられる詳細な説明、および本発明の様々な実施形態の添付の図面から、より完全に理解されるであろう。しかしながら、図面は、特定の実施形態に本発明を限定するものではなく、単に説明および理解のためのものである。
【0006】
(発明の詳細な説明)
図1は、コンピュータ・システム100の一実施形態のブロック図である。コンピュータ・システム100は、プロセッサ・バス110に結合された中央処理装置(プロセッサ)105を含む。一実施形態において、プロセッサ105は、California、Santa ClaraのIntel Corporationから入手可能な、Pentium(登録商標)IIプロセッサ・ファミリ、およびmobile Pentium(登録商標)を含むプロセッサ、およびPentium(登録商標)IIプロセッサのPentium(登録商標)ファミリにおけるプロセッサである。代わりに、他のプロセッサを使用することが可能である。プロセッサ105は、第1レベル(L1)キャッシュ・メモリ(図1に示されていない)を含むことが可能である。
【0007】
一実施形態では、プロセッサ105は、また、専用のキャッシュ・バス102を介して、第2レベル(L2)キャッシュ・メモリであるキャッシュ・メモリ107に結合される。L1およびL2キャッシュ・メモリを単一の装置内に統合することができる。代わりに、キャッシュ・メモリ107を共有されるバスによってプロセッサ105に結合してもよい。
【0008】
チップ・セット120がプロセッサ・バス110に結合されている。一実施形態では、チップ・セット120は、統合されたメモリ・アーキテクチャ(UMA)に従って動作する。メイン・メモリ113は、チップ・セット120を介してプロセッサ・バス110に結合される。メイン・メモリ113およびキャッシュ・メモリ107は、プロセッサ105によって実行される命令のシーケンスを記憶する。一実施形態では、メイン・メモリ113は、ダイナミック・ランダム・アクセス・メモリ(DRAM)を含む。しかしながら、メイン・メモリ113を他のメモリのタイプを用いて実装することができる。プロセッサ105によって実行される命令のシーケンスは、メイン・メモリ113、キャッシュ・メモリ107、または他の記憶装置から取り出される。マルチ・プロセッサおよび/またはマルチ・メイン・メモリ装置のような、追加の装置をプロセッサ・バス110に結合してもよい。コンピュータ・システム100は、単一のプロセッサとして説明されるが、多数のプロセッサをプロセッサ・バス110に結合してもよい。
【0009】
ビデオ装置125がチップ・セット120に結合されている。一実施形態では、ビデオ装置は、カソード・レイ・チューブ(CRT)または液晶表示装置(LCD)などのビデオ・モニタや必要な給電回路を含む。
【0010】
プロセッサ・バス110は、チップ・セット120によってシステム・バス130に結合される。一実施形態では、システム・バス130は、California、Santa ClaraのIntel Corporationによって開発された、周辺構成部品相互接続(Peripheral Component Interconnect、PCI)標準バスである。しかしながら、他のバス標準を使用することも可能である。音響装置127などの多数の装置をシステム・バス130に結合してもよい。
【0011】
バス・ブリッジ140は二次バス150にシステム・バス130を結合する。一実施形態では、二次バス150は、New York、ArmonkのInternational Business Machinesによって開発された、工業標準アーキテクチャ(Industry Standard Architecture:ISA)バスである。しかしながら、例えば、Compaq Computerなどによって開発された、拡張された工業標準アーキテクチャ(Extended Industry Standard Architecture:EISA)などの他のバス標準も使用することができる。ハード・ディスク153およびディスク・ドライブ154などの多数の装置を二次バス150に結合することができる。カーソル制御装置(図1に示されていない)などの他の装置を二次バス150に結合してもよい。
【0012】
図2は、チップ・セット120の一実施形態のブロック図である。チップ・セット120は、プロセッサ・バス110に結合されたホスト・インタフェース210を含み、プロセッサ105から要求を受けてメイン・メモリ113にアクセスする。ライト・バッファ212がホスト・インタフェース210に結合され、ホスト・インタフェース210からの要求をバッファして書き込みトランザクションをメイン・メモリ113に行わせる。リード・バッファ214がホスト・インタフェース210に結合され、ホスト・インタフェース210からの要求をバッファして読み取りトランザクションをメイン・メモリ113に行わせる。
【0013】
チップ・セット120はグラフィックス・コントローラ220をも含む。グラフィックス・コントローラ220はビデオ・データ要求を操作してメイン・メモリ113にアクセスする。リフレッシュ・ユニット230がチップ・セット120内に含まれている。リフレッシュ・ユニット230は、データの完全性を維持するために、メイン・メモリ113内の電気的セルを再充電するメモリ・リフレッシュをトリガする。さらに、チップ・セット120は、システム・バス130に結合されたシステム・バス・インタフェース240を含む。システム・バス・インタフェース240は、システム・バス130に配置される入力/出力(I/O)装置(例えば、音響装置127)からの要求を受けてメイン・メモリ113にアクセスする。
【0014】
さらに、チップ・セット120はメモリ・コントローラ250を含む。メモリ・コントローラ250は、ライト・バッファ212、リード・バッファ214、グラフィックス・コントローラ220、リフレッシュ・ユニット230、およびシステム・バス・インタフェース240に結合されている。メモリ・コントローラ250は、プロセッサ105、およびビデオ装置125などのチップ・セット120に結合された1つまたは複数の周辺装置から受けたコマンドに基づいて、メモリ・トランザクションのためにメイン・メモリ113にアクセスする。メモリ・コントローラ250は、メイン・メモリ113からデータを読み取り、およびメイン・メモリ113にデータを書き込むことができる。
【0015】
メモリ・コントローラ250はアービトレーション・ユニット255を含む。アービトレーション・ユニット255は、ライト・バッファ212、リード・バッファ214、リフレッシュ・ユニット230などの様々なエージェントによるメイン・メモリ113へのアクセスを調整する。図3は、アービトレーション・ユニット255の一実施形態のブロック図である。アービトレーション・ユニット255は、タイム・スライス・モードにおける動作のためのスライス・タイマ、条件付きのグレース許可モード(conditional grace grant mode)における動作のためのグレース・タイマ320およびページ比較ユニット330、ウォータマーク・モード(watermark mode)における動作のためのウォータマーク・ユニット340、およびアービタ350を含む。アービタ350は、エージェントからのアクセス要求を受け、アクセス要求の相対優先度を決定し、相対優先度に応じて、一度に1つのエージェントにアクセスを許可する。
【0016】
上記に暗示したように、アービトレーション・ユニット255およびアービタ350は、動作の様々なモードに従って実行することができる。一実施形態では、アービタ350は、以下に基づきメイン・メモリ113へのアクセスを調整することができる。
1.優先度指定モード、または
2.タイム・スライス・モード
さらに、優先度指定モードまたはタイム・スライス・モードで動作しているときに、アービタ350は、以下に従って動作することもできる。
3.条件付きのグレース許可モード、および
4.ウォータマーク・モード
【0017】
さらに、動作の上述のアービトレーション・モードは、システム100のユーザが、所望の性能に応じてモードを選択できるようにプログラムされてもよい。アービトレーション・ユニット255は、動作すべきモードを示すMODE信号を受ける。モード構成は、二次バス150に結合された、基本的な入力出力システム(Basic Input Output System:BIOS)のメモリ(図示せず)に記憶されていてもよく、PCI構成書き込みなどの構成機構を介して、システム100が開始またはリセットするときに、チップ・セット120へ伝送される。
【0018】
I.アービトレーション・モード
A.優先度指定モード
優先度指定モードで動作している間、メイン・メモリ113へのアクセス要求は、以下のようなカテゴリーに分けられる。数字1が最も高い優先度を有する。
1.高い優先度
2.ホストおよびシステムI/O
3.通常の優先度のグラフィックス
4.オポテュニスティクス(opportunistics)
【0019】
高い優先度のカテゴリーは、リアル・タイム要求を満たすために、所定の呼び出し時間以内に、メイン・メモリ113によってサービスされなければならない要求を含む。例えば、グラフィック・コントローラ220に結合されるビデオ装置125は、メイン・メモリ113によるサービスが実質的に遅延すると、フリッカーするであろう。また高い優先度のカテゴリーは、システム停止を防止するために、サービスされなければならない要求を含む。例えば、リフレッシュ・ユニット230から受けるメモリ・リフレッシュ・サイクルが実行されることなく過度に遅延されると、データ破壊がメイン・メモリ113で発生する。
【0020】
ホストおよびシステムI/Oカテゴリーは、プロセッサ105から受ける要求(例えば、リード・バッファ214からの読み取りトランザクション)を含み、システム・バス・インタフェース240を介して受けたシステム・バス130上のシステムI/O装置から要求する。システム・バス130上の装置からの要求は、アイソクロナスおよび非同期として分類される。アイソクロナス要求(例えば、ビデオ・カメラ、ネットワーク・トラフィックなどからの要求)は、呼び出し時間に敏感であり、許容できる時間内にメイン・メモリ113によってサービスされなければならない。非同期要求(例えば、ハード・ディスク153、ディスク・ドライブ154などからの要求)は、そのような時間制限を有さない。
【0021】
図8は、バス・インタフェース240の一実施形態のブロック図である。システム・バス・インタフェースは、システム・バス130に結合された、アイソクロナス待ち行列810と非同期待ち行列815とを含む。アイソクロナス待ち行列810は、メイン・メモリ113のゲイン・アクセスへのアイソクロナス要求を格納し、一方非同期待ち行列815は、非同期要求を格納する。また、システム・バス・インタフェース240は、アイソクロナス待ち行列810および非同期待ち行列815に結合されたプレ・アービタ820を含む。プレ・アービタ820は、メイン・メモリ113へのアクセスのための調停が許可される、システムI/O要求(アイソクロナスまたは非同期)を選択する。アイソクロナス要求は、重大な呼び出し時間の故により高い優先度を与えられる。
【0022】
通常の優先度のグラフィックス・カテゴリーは、メイン・メモリ113へのアクセスのための、グラフィックス・コントローラ220からのリアル・タイムではないグラフィックス要求を含む。オポテュニスティクス・カテゴリーは、システム100の性能を低下させることなく、ある実質的な時間だけ遅れることができる、緩い呼び出し要件を有する要求を含む。例えば、ライト・バッファ212からの提示された書き込みトランザクション、およびメイン・メモリ・リフレッシュは、それぞれのバッファ内で待ち行列に入れられ、後で実行されるために遅らされる。
【0023】
図4aは、優先度指定モードで動作しているアービタ350の状態図である。状態図の多くの移行アークは、不明瞭さを避けるために意図的に省略されていることに留意されたい。アービタ350は以下の状態を含む。すなわち、高い優先度(HP)410、ホストおよびシステムI/O(HIO)420、通常の優先度のグラフィックス(NPG)430、およびオポテュニスティクス(OPP)440である。アービタ350が作動状態にあり、メイン・メモリ113にアクセスするための1つまたは複数の要求を受けると、要求と現在の状態との間の優先度に応じて決定がなされる。例えば、アービタ350が、HIO420で動作し、メイン・メモリ113の通常のアクセスを行うために、グラフィックス・コントローラ220からの通常の優先度のグラフィックス要求を受けると、アービタ350はHIO420のままである。より高い優先度エージェントがその後にアクセスを要求しないなら、メイン・メモリ113がHIO420のサービスを完了した後、アービタ350はNPG430に移行する。しかしながら、高い優先度要求が受けられると、アービタ350は、直ちにHIO420からHP410へ移行する。
【0024】
上述したように、高い優先度要求は、そのリアル・タイム要件のせいに最も高く、オポテュニスティクス要求は、見る性能の影響がわずかで遅れてもいいので最も低い。ホストおよびシステムI/O要求は、プロセッサ105がデータの呼び出し時間に敏感であるので、通常の優先度グラフィックス要求よりも高い優先度を指定される。例えば、サービスするプロセッサ105における遅延は、著しい性能低下を引き起こす可能性がある。
【0025】
さらに、典型的にプロセッサ105は、適正な方法でメイン・メモリ113にアクセスする。例えば、典型的にプロセッサ105は、データ要求のバーストと非作動の期間との間を循環する。ほとんどのプロセッサ要求(95パーセントまたはそれより高い)は、キャッシュ・メモリ107でサービスされる。しかし、データをフェッチするために、プロセッサ105がメイン・メモリ113にアクセスする必要がたまにある。メイン・メモリ113におけるプロセッサ・データ要求間の非作動の期間は、通常の優先度のグラフィックス要求のための十分な帯域幅を可能にする。
【0026】
しかしながら、重いグラフィックス・アプリケーション、または小さいキャッシュ・メモリ107サイズの使用などの例では、ホストおよびシステムI/O要求は、通常の優先度のグラフィックス要求のスターベーション(starvation)に陥る可能性がある。そのような場合、ホストおよびシステムI/O要求と、通常の優先度のグラフィックス要求との間に、等しい優先度順位を与える必要があるであろう。さらに、ホストおよびシステムI/O要求による通常の優先度のグラフィックス要求の連続する中断は、メイン・メモリ113の動作の効率を低減する結果になる。例えば、通常の優先度要求が中断されるごとにメイン・メモリ113のアクセスされたページが閉じられなければならない、なぜなら、ホストおよびシステムI/O要求は同じページにはめったにアクセスしないためである。引き続いて、ホストおよびシステムI/O要求をサービスするために、メモリの新しいページが開かれなければならない。ホストおよびシステムI/O要求が、メイン・メモリ113へのアクセスを完了し、通常の優先度のグラフィックス要求が、再びアクセスを許可された後、ホストおよびシステムI/O要求によってアクセスされるページは閉じられ、通常の優先度のグラフィックス要求ページが再び開かれなければならない。タイム・スライス・モードは、ホストおよびシステムI/O要求と、通常の優先度のグラフィックス要求との間に等しい優先度順位を与えることによって、これらの事柄を軽減する。
【0027】
B.タイム・スライス・モード
タイム・スライス・モードの動作を示すMODE信号によって構成された情報を受けると、アービタ350は、タイム・スライス・アービトレーション技術に従って動作する。タイム・スライス技術を用いて、メイン・メモリ113へのアクセス要求は、最も高い優先度を有する数字1(1)を伴って以下のようなカテゴリーに分けられる。
1.高い優先度
2.ホストおよびシステムI/Oおよび通常の優先度のグラフィックス要求、および
3.オポテュニスティクス
【0028】
タイム・スライス技術は、通常の優先度のグラフィックス要求スターベーションが、優先度指定スキームとして確実に発生しないようにする。メイン・メモリ113のホストおよびシステムI/Oアクセスは、図3に示されるスライス・タイマ315によって調整される。スライス・タイマ315は、ホストおよびシステムI/O要求がメイン・メモリ113によってサービスされる期間を制限する。スライス・タイマ315の終了後、高い優先度の要求がないなら、通常の優先度のグラフィックス要求は、メイン・メモリ113へのアクセスを許可される。一旦通常の優先度の要求がアクセスを許可されると、スライス・タイマ315の終了するまで、ホストおよびシステムI/O要求は、メイン・メモリ113へのアクセスを許可されない。一実施形態によれば、スライス・タイマ315の期間は、システム100のユーザがプログラムする。
【0029】
図4bは、タイム・スライス・モードで動作しているアービタ350の状態図である。アービタ350は、ほとんどの状況において、同じ優先度モードで動作する。例えば、アービタ350が、作動状態であり(例えば、OPP440)、より高い優先度のエージェントからのメイン・メモリ113へのアクセス要求を受けるなら、アービタ350は、より低い優先度状態からより高い優先度順位(例えば、HP410)へシフトし、より高い優先度要求にメイン・メモリ113の制御を許可する。しかしながら、アービタ350が、作動状態であり(例えば、NPG430)、等しい優先度を有するエージェント(例えば、ホストおよびシステムI/Oグループ)から要求を受けると、スライス・タイマ315が終了するまで、アービタ350は、NPG要求をサービスする現在の状態のままである。スライス・タイマ315が終了した後、より高い優先度エージェントからの要求がないなら、アービタ350は、等しい優先度を有する状態にシフトする。
【0030】
図5は、アービタ350がタイム・スライス・モードで動作している間の、アービタ350の動作のフロー図である。アービタ350が、NPG状態かHIO状態であるとき、異なるエージェントからのメイン・メモリ113へのアクセス要求は、プロセス・ブロック510で受けられる。プロセス・ブロック520で、要求が、アービタ350の現在の状態より高い優先度を有するエージェントからのものであるかどうかが決定される。要求が、より高い優先度のエージェントからのものであるなら、アービタ350は、プロセス・ブロック530で、現在の状態からより高い優先度状態へと移行する。したがって、より高い優先度状態が、メイン・メモリ113のアクセスを許可される。その後、制御は、他の要求が受けられるプロセス・ブロック510へ戻る。
【0031】
要求が、より高い優先度のエージェントからのものでないと決定されると、プロセス・ブロック540で、受けられた要求が等しい優先度順位を有するエージェントからのものであるかどうかが決定される。要求が等しい優先度を有するエージェントからのものではないなら、要求は、より低い優先度のエージェントからのものであり、プロセス・ブロック550で少なくともより高い優先度要求が受けられるまで、アービタ350は、現在のエージェントにサービスを続けるために現在の状態のままである。もし、受けられた要求が、等しい優先度を有するエージェントからのものであるなら、プロセス・ブロック560で、スライス・タイマ315が終了したかどうかが決定される。
【0032】
スライス・タイマ315が終了していないと決定されたなら、アービタ350は、現在の制御エージェントにサービスする現在の状態のままである。しかしながら、スライス・タイマ315が終了すると、プロセス・ブロック570で、アービタ350は、等しい優先度を有する状態にシフトする。プロセス・ブロック580で、スライス・タイマ315は、新しく許可されたエージェントに新しいカウントを提供するためにリセットされる。その後、制御は、異なるエージェントの要求が受けられるプロセス・ブロック510に戻る。当業者は、プロセス・ブロック520〜560が、様々な異なるシーケンスで処理されることができることを、理解するであろう。例えば、プロセス・ブロック540で開示されたプロセスは、プロセス・ブロック520のプロセスの前に実行されてもよい。代わりに、プロセス・ブロック520〜560は、並列に実行されることができる。
【0033】
一実施形態によれば、アービタ350が、サービスが終了する前に、HIO420またはNPG430からより高い優先度のエージェントにシフトするなら、アービタ350は、スライス・タイマ315が終了していないなら、より高い優先度のエージェントにサービスした後にその前の状態に戻る。その場合、スライス・タイマはその状態に再び入るときにリセットされる。しかしながら、他の実施形態では、等しい状態の1つに再び入るときに、スライス・タイマ315は、より高い優先度のエージェントへシフトするときに生じた時間からカウントを続ける。
【0034】
タイム・スライス技術の追加の利点は、ホストおよびシステムI/O要求をサービスするために、通常の優先度のグラフィックス要求を中断しないことによって、メモリ・アドレス空間の所定の範囲に当然に位置するトランザクションのグルーピングが可能にあることである。例えば、バック・ツー・バック・トランザクション(back to back transaction)が、メイン・メモリ113の同じページにアクセスする(すなわち、ページ・ヒット)ときはいつでもアクセス時間が低減され、最小化されることができる。一方、バック・ツー・バック・トランザクションが、メイン・メモリ113の異なるページにアクセスする(すなわち、ページ・ミス)するときはいつでも、各トランザクションは、データ・アクセスがなされる前に、異なるページのプレチャージの追加時間を必要とするので、アクセス時間は最大化される。したがって、ホストおよびシステムI/Oグループからの要求、ならびに通常の優先度のグラフィックス・グループからの要求が、メイン・メモリ113の同じページに位置する傾向であるので、タイム・スライス技術は、ページ・ヒットの可能性を増加する。
【0035】
C.条件付きのグレース許可
条件付きのグレース許可技術は、メイン・メモリ113のページ・ヒットの可能性を最大化する概念に拡張する。このアービトレーション・スキームにおいて、メイン・メモリ113を現在制御しているエージェントによる要求と、より高い優先度のエージェントからの要求との両方を受けたときに、アービタ350は現在の状態のままである。それにもかかわらず、制御するエージェントに戻るメイン・メモリ113のアクセス許可は、ページ・ヒットである以下の要求次第である。図3に示されるページ比較ユニット330は、後の要求がページ・ヒットであるかどうかの決定を行う。制御するエージェントによる後の要求がページ・ヒットである限り、エージェントは、メイン・メモリ113の制御を維持する。しかしながら、一旦、ページ比較ユニット330が、制御するエージェントによる後の要求が結果としてページ・ミスであることを決定すると、アービタ350は、より高い優先度状態へシフトする。
【0036】
さらに、エージェントが、メイン・メモリ113の制御を維持できる時間は、グレース・タイマ320によって制限される。グレース・タイマ320は、グレース条件の下で、エージェントがメイン・メモリ113の制御を最初に回復したときに活動化される。しかしながら、グレース・タイマ320の終了時に、ページ比較ユニット330が、後の要求がページ・ヒットを決定するかどうかに関わらず、エージェントはメイン・メモリ113の制御を放棄しなければならない。グレース・タイマ320は、メイン・メモリ113へアクセス要求する他のエージェントのために、過度の待ち時間が課されることを防止する。ユーザは、グレース・タイマ320を最適な値を選択するようにプログラムすることができる。最適な値は、他の要求するエージェントに重大な呼び出し時間を課す時間制限である。さらに、条件許可技術は、タイム・スライス・モード、または優先度指定モードで動作できる。
【0037】
図6は、本発明の一実施形態による、アービタ350の動作のフロー図である。プロセス・ブロック610で、高い優先度要求、ならびにメイン・メモリ113を現在制御しているエージェントからの要求が受けられる。プロセス・ブロック620で、ページ比較ユニット330は、制御エージェントからの以下の要求がページ・ヒットであるかどうかを決定する。ページ比較ユニット330が後の要求がページ・ミスであることを決定すると、より高い優先度要求がメイン・メモリ113へのアクセスを許可される。しかしながら、ページ比較ユニット330が、後の要求がページ・ヒットであることを決定すると、プロセス・ブロック640で、グレース・タイマ320が終了したどうかが決定される。
【0038】
グレース・タイマ320が終了すると、制御は、メイン・メモリ113へのアクセスが、より高い優先度状態が許可されるプロセス・ブロック630に戻る。グレース・タイマ320が終了していないと、プロセス・ブロック650で、制御エージェントはメイン・メモリ113の制御を続ける。その後、制御は、他の要求が受けられるプロセス・ブロック610に戻る。多くのページ・ヒット・アクセスをともにグループにすることによって、不必要なメイン・メモリ113のプレチャージ・タイム(precharge time)が削除される。したがって、利用可能なメイン・メモリ113の帯域幅が最大化される。
【0039】
D.ウォータマーク・レベル
ウォータマーク技術は、オポテュニスティクス要求に対する緩い呼び出し時間要件の利点がある。例えば、ライト・バッファ212からの提示された書き込み要求、およびリフレッシュ・ユニット230からのメイン・メモリ113のリフレッシュ要求は、保持バッファで待ち行列に入れられ、アービタ350がアイドル状態になるまで、実行が遅らされる。しかしながら、メイン・メモリ113での重い作動負荷の時間の間、メイン・メモリ113のアクセスを得るためのオポテュニスティクス・エージェントのためのオポテュニティは低減される。メイン・メモリ113からのサービスがほとんどないなら、各エージェント内の保持待ち行列は、最大の能力に達し、有害な性能の影響を生じる可能性がある。
【0040】
ウォータマーク技術は、タイム・スライス・モード、または優先度指定モードで動作し、オポテュニスティクス・エージェントの保持待ち行列のレベル(すなわちウォータマーク)に敏感であるアービタ350に要求する。保持待ち行列がほぼ空であるなら、ウォータマーク・レベルは低く、オポテュニスティクス・グループは、上述のように低い優先度を受ける。しかしながら、保持待ち行列がほぼ満たされるなら、ウォータマーク・レベルは高く、オポテュニスティクス・グループは、高い優先度を受ける。例えば、リフレッシュ・ユニット230内のライト・バッファ212または保持待ち行列が、ほぼ満たされるなら、上述の優先度順位を用いて、オポテュニスティクス・グループの順位は、最も高い優先度に上げられる。さらに、オポテュニスティクス・グループの優先度を、保持待ち行列が満たされるにつれて次第に増加させることができる。例えば、待ち行列が半分まで満たされるなら、優先度は、2番目の順位、または3番目の順位へ増加されることができる。
【0041】
図7は、本発明の一実施形態によれば、アービタ350の動作のフロー図である。プロセス・ブロック710で、メイン・メモリ113にアクセスするために、オポテュニスティクス・エージェントによって要求がなされる。プロセス・ブロック720で、アービタ350は、ウォータマーク・レベルを検査し、オポテュニスティクス・グループが、現在の状態または他の受けた要求より高い優先度を有するかどうかを決定する。ウォータマーク・レベルが比較的低いと決定されると、プロセス・ブロック730で、アービタ350は現在の状態のままであり、より高い優先度を有する他の要求するエージェントへシフトする。ウォータマーク・レベルが比較的高いと決定されると、プロセス・ブロック740で、アービタ350はオポテュニスティクス状態へシフトし、メイン・メモリ113へのアクセスは、要求するオポテュニスティクス・エージェントに許可される。
【0042】
本発明は、統合されたメモリ・アーキテクチャに関して説明されたが、当業者は、本発明が他のメモリ・システム構成を用いて実施できることを理解するであろう。さらに、本発明で説明されたアービトレーション技術は、ネットワーク、プリンタなどの他の電子システムで実施されることができる。
【0043】
したがって、UMAコンピュータ・システムの利用可能な帯域幅を増加するためのアービトレーション・ポリシーが説明された。
【図面の簡単な説明】
【図1】 コンピュータ・システムの一実施形態のブロック図である。
【図2】 チップ・セットの一実施形態のブロック図である。
【図3】 アービトレーション・ユニットの一実施形態のブロック図である。
【図4a】 アービタの一実施形態の状態図である。
【図4b】 アービタの一実施形態の状態図である。
【図5】 アービタの動作の一実施形態のフロー図である。
【図6】 アービタの動作の一実施形態のフロー図である。
【図7】 アービタの動作の一実施形態のフロー図である。
【図8】 システム・バス・インタフェースの一実施形態のブロック図を示す。

Claims (2)

  1. コンピュータ・システムであって、メモリと;このメモリに結合しておりモード選択信号を受信するアービトレーション・ユニットを有するメモリ・コントローラと;上記アービトレーション・ユニットに結合した第1の装置と;上記アービトレーション・ユニットに結合した第2の装置とから構成され、
    前記アービトレーション・ユニットはモード選択信号が第1の状態にある間は第1のアービトレーション・モードに従って動作し、またモード選択信号が第2の状態にある間は第2のアービトレーションに従って動作するものであり、
    前記第1の装置が、前記アービトレーション・ユニットが第1のアービトレーション・モードに従って動作する間、前記メモリにアクセスするために、前記第2の装置よりも高い優先度分類を割り当てられ、前記第1の装置および前記第2の装置が、前記アービトレーション・ユニットが第2のアービトレーション・モードに従って動作する間、前記メモリにアクセスするために、等しい優先度分類を割り当てられ、更に前記アービトレーション・ユニットが、前記第2のアービトレーション・モードに従って動作するときはいつでも、前記第1の装置が前記メモリの制御を有する間、所定の時間間隔について前記第2の装置からの前記メモリのアクセスを保留することを特徴とするコンピュータ・システム。
  2. 統合されたメモリ・アーキテクチャ(UMA)コンピュータ・システムのメモリにアクセスする方法であって、
    アービトレーション後に第1のエージェントへの前記メモリのアクセスを許可するステップと、
    第2のエージェントから前記メモリへのアクセス要求を受けるステップと、
    第1のエージェントより低い要求度を有する第3のエージェントからの前記メモリへのアクセス要求を受けるステップと、
    前記第2のエージェントが、前記第1のエージェントと等しい優先要求度を有するかどうかを決定するステップと、
    有していれば、前記第1のエージェントが前記メモリへのアクセスを許可されてから、所定の時間間隔が経過しているかどうか決定するステップと、
    有していないならば、前記第2のエージェントから前記メモリのアクセスを保留するステップと、
    前記第3のエージェント内のバッファが比較的満ちているかどうかを決定するステップと、
    満ちているならば、前記第3のエージェントへの前記メモリのアクセスを許可するステップとを含むことを特徴とする統合されたメモリ・アーキテクチャ(UMA)コンピュータ・システムのメモリにアクセスする方法。
JP2000592741A 1999-01-08 1999-12-21 統合されたメモリ・アーキテクチャにおけるアービトレーションのための方法および装置 Expired - Fee Related JP4774152B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/226,965 US6330646B1 (en) 1999-01-08 1999-01-08 Arbitration mechanism for a computer system having a unified memory architecture
US09/226,965 1999-01-08
PCT/US1999/030719 WO2000041083A2 (en) 1999-01-08 1999-12-21 Method and apparatus for arbitration in a unified memory architecture

Publications (3)

Publication Number Publication Date
JP2002539509A JP2002539509A (ja) 2002-11-19
JP2002539509A5 JP2002539509A5 (ja) 2007-02-22
JP4774152B2 true JP4774152B2 (ja) 2011-09-14

Family

ID=22851205

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000592741A Expired - Fee Related JP4774152B2 (ja) 1999-01-08 1999-12-21 統合されたメモリ・アーキテクチャにおけるアービトレーションのための方法および装置

Country Status (10)

Country Link
US (1) US6330646B1 (ja)
EP (1) EP1222552B1 (ja)
JP (1) JP4774152B2 (ja)
KR (1) KR100422781B1 (ja)
CN (1) CN1294502C (ja)
AU (1) AU2593400A (ja)
DE (1) DE69924039T2 (ja)
HK (1) HK1044838B (ja)
TW (1) TW468108B (ja)
WO (1) WO2000041083A2 (ja)

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6504549B1 (en) * 1999-05-19 2003-01-07 Ati International Srl Apparatus to arbitrate among clients requesting memory access in a video system and method thereof
US6542159B1 (en) * 1999-05-19 2003-04-01 Ati International S.R.L. Apparatus to control memory accesses in a video system and method thereof
US6469703B1 (en) 1999-07-02 2002-10-22 Ati International Srl System of accessing data in a graphics system and method thereof
US6629220B1 (en) * 1999-08-20 2003-09-30 Intel Corporation Method and apparatus for dynamic arbitration between a first queue and a second queue based on a high priority transaction type
US6950893B2 (en) 2001-03-22 2005-09-27 I-Bus Corporation Hybrid switching architecture
JP2003177958A (ja) * 2001-06-11 2003-06-27 Emblaze Semiconductor Ltd 特殊メモリデバイス
US6775727B2 (en) * 2001-06-23 2004-08-10 Freescale Semiconductor, Inc. System and method for controlling bus arbitration during cache memory burst cycles
JP2003114825A (ja) * 2001-10-04 2003-04-18 Hitachi Ltd メモリ制御方法、その制御方法を用いたメモリ制御回路、及びそのメモリ制御回路を搭載する集積回路
US6715042B1 (en) * 2001-10-04 2004-03-30 Cirrus Logic, Inc. Systems and methods for multiport memory access in a multimaster environment
US20040059879A1 (en) * 2002-09-23 2004-03-25 Rogers Paul L. Access priority protocol for computer system
KR100518576B1 (ko) * 2003-05-24 2005-10-04 삼성전자주식회사 버스 중재기 및 버스 중재방법
US7206866B2 (en) * 2003-08-20 2007-04-17 Microsoft Corporation Continuous media priority aware storage scheduler
US7013357B2 (en) * 2003-09-12 2006-03-14 Freescale Semiconductor, Inc. Arbiter having programmable arbitration points for undefined length burst accesses and method
JP4625620B2 (ja) * 2003-10-10 2011-02-02 株式会社日立製作所 フェイルセイフ制御装置
JP2005190092A (ja) * 2003-12-25 2005-07-14 Matsushita Electric Ind Co Ltd メモリアクセスコントロール回路
EP1811394B1 (en) * 2004-10-28 2012-01-18 Magima Digital Information Co., Ltd. An arbitrator and its arbitration method
JP4817725B2 (ja) * 2005-06-20 2011-11-16 キヤノン株式会社 データ処理装置及び方法
US7640381B1 (en) * 2005-10-07 2009-12-29 Ji Zhang Input/output decoupling system method having a cache for exchanging data between non-volatile storage and plurality of clients having asynchronous transfers
KR100839494B1 (ko) * 2006-02-28 2008-06-19 삼성전자주식회사 버스 중재 시스템 및 버스 중재 방법
JP2008198127A (ja) * 2007-02-15 2008-08-28 Toshiba Corp プロセッサシステム
US8112566B2 (en) * 2007-06-06 2012-02-07 Intel Corporation Methods and apparatuses for processing I/O requests of data storage devices
US8051232B2 (en) * 2007-06-25 2011-11-01 Intel Corporation Data storage device performance optimization methods and apparatuses
US7908440B2 (en) * 2007-08-09 2011-03-15 Intel Corporation Simultaneous personal sensing and data storage
JP2010165175A (ja) * 2009-01-15 2010-07-29 Internatl Business Mach Corp <Ibm> バスの使用権を制御する装置および方法
CN101840382B (zh) * 2009-03-19 2013-03-27 北京普源精电科技有限公司 数据存储系统和数据存取方法
FR2975893B1 (fr) 2011-05-30 2013-07-12 3Dceram Implant renforce en ceramique biocompatible et son procede de fabrication
US9411774B2 (en) * 2013-04-23 2016-08-09 Arm Limited Memory access control
JP6146128B2 (ja) * 2013-05-20 2017-06-14 ヤマハ株式会社 データ処理装置
US9971711B2 (en) * 2014-12-25 2018-05-15 Intel Corporation Tightly-coupled distributed uncore coherent fabric
US10198789B2 (en) * 2016-12-13 2019-02-05 Advanced Micro Devices, Inc. Out-of-order cache returns
CN110515871B (zh) * 2019-08-09 2021-05-25 苏州浪潮智能科技有限公司 一种中断方法、装置及fpga和存储介质
KR20210081699A (ko) 2019-12-24 2021-07-02 서강대학교산학협력단 자연어 피처를 결합한 주식 매도 및 매수 시그널 판별기
CN113495858A (zh) * 2021-06-08 2021-10-12 青岛本原微电子有限公司 一种同步总线访存的仲裁系统及仲裁方法

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS56149629A (en) * 1980-04-21 1981-11-19 Nec Corp Information processor
JPH02144652A (ja) * 1988-11-25 1990-06-04 Fujitsu Ltd バス調停方式
JPH0528103A (ja) * 1990-05-22 1993-02-05 Mitsubishi Electric Corp バス多重方式
JPH05120206A (ja) * 1991-10-25 1993-05-18 Nec Corp Dmaコントローラ
JPH06110828A (ja) * 1992-09-28 1994-04-22 Toshiba Corp メモリ制御装置
JPH07200386A (ja) * 1993-12-28 1995-08-04 Toshiba Corp 共有メモリのアクセス制御装置および画像形成装置
JPH07319756A (ja) * 1994-05-25 1995-12-08 Casio Electron Mfg Co Ltd メモリアクセス制御装置
JPH08339346A (ja) * 1995-06-09 1996-12-24 Toshiba Corp バスアービタ
JPH1091577A (ja) * 1996-09-17 1998-04-10 Toshiba Corp バスアクセス権制御方式

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4901230A (en) * 1983-04-25 1990-02-13 Cray Research, Inc. Computer vector multiprocessing control with multiple access memory and priority conflict resolution method
JPS60246471A (ja) * 1984-05-22 1985-12-06 Yokogawa Hokushin Electric Corp メモリ制御装置
US4858107A (en) * 1985-03-11 1989-08-15 General Electric Company Computer device display system using conditionally asynchronous memory accessing by video display controller
US4716523A (en) * 1985-06-14 1987-12-29 International Business Machines Corporation Multiple port integrated DMA and interrupt controller and arbitrator
JPH0786853B2 (ja) * 1988-02-29 1995-09-20 株式会社ピーエフユー バス転送制御方式
US5247649A (en) * 1988-05-06 1993-09-21 Hitachi, Ltd. Multi-processor system having a multi-port cache memory
US4937781A (en) * 1988-05-13 1990-06-26 Dallas Semiconductor Corporation Dual port ram with arbitration status register
JPH0810445B2 (ja) * 1990-09-21 1996-01-31 インターナショナル・ビジネス・マシーンズ・コーポレイション 動的バス調停方法及び装置
US5603061A (en) * 1991-07-23 1997-02-11 Ncr Corporation Method for prioritizing memory access requests using a selected priority code
US5629950A (en) * 1992-04-24 1997-05-13 Digital Equipment Corporation Fault management scheme for a cache memory
WO1995015528A1 (en) * 1993-11-30 1995-06-08 Vlsi Technology, Inc. A reallocatable memory subsystem enabling transparent transfer of memory function during upgrade
US5611053A (en) * 1994-01-21 1997-03-11 Advanced Micro Devices, Inc. Apparatus and method for integrating bus master ownership of local bus load by plural data transceivers
US5528766A (en) * 1994-03-24 1996-06-18 Hewlett-Packard Company Multiple arbitration scheme
JPH07281942A (ja) * 1994-04-14 1995-10-27 Asahi Kasei Micro Syst Kk 共有資源のアービトレーション方法
US5524235A (en) * 1994-10-14 1996-06-04 Compaq Computer Corporation System for arbitrating access to memory with dynamic priority assignment
US5809539A (en) * 1995-04-27 1998-09-15 Hitachi, Ltd. Processor system having address allocation and address lock capability adapted for a memory comprised of synchronous DRAMs
US5664152A (en) * 1995-06-06 1997-09-02 Hewlett-Packard Company Multiple segmenting of main memory to streamline data paths in a computing system
CN1095125C (zh) * 1995-09-28 2002-11-27 联华电子股份有限公司 共用系统存储器的可扩充式仲裁装置
US5937205A (en) * 1995-12-06 1999-08-10 International Business Machines Corporation Dynamic queue prioritization by modifying priority value based on queue's level and serving less than a maximum number of requests per queue
US6070215A (en) * 1998-03-13 2000-05-30 Compaq Computer Corporation Computer system with improved transition to low power operation

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS56149629A (en) * 1980-04-21 1981-11-19 Nec Corp Information processor
JPH02144652A (ja) * 1988-11-25 1990-06-04 Fujitsu Ltd バス調停方式
JPH0528103A (ja) * 1990-05-22 1993-02-05 Mitsubishi Electric Corp バス多重方式
JPH05120206A (ja) * 1991-10-25 1993-05-18 Nec Corp Dmaコントローラ
JPH06110828A (ja) * 1992-09-28 1994-04-22 Toshiba Corp メモリ制御装置
JPH07200386A (ja) * 1993-12-28 1995-08-04 Toshiba Corp 共有メモリのアクセス制御装置および画像形成装置
JPH07319756A (ja) * 1994-05-25 1995-12-08 Casio Electron Mfg Co Ltd メモリアクセス制御装置
JPH08339346A (ja) * 1995-06-09 1996-12-24 Toshiba Corp バスアービタ
JPH1091577A (ja) * 1996-09-17 1998-04-10 Toshiba Corp バスアクセス権制御方式

Also Published As

Publication number Publication date
CN1294502C (zh) 2007-01-10
KR20010089791A (ko) 2001-10-08
DE69924039D1 (de) 2005-04-07
HK1044838A1 (en) 2002-11-01
HK1044838B (zh) 2005-06-10
DE69924039T2 (de) 2006-04-13
WO2000041083A2 (en) 2000-07-13
WO2000041083A3 (en) 2002-05-16
KR100422781B1 (ko) 2004-03-12
EP1222552B1 (en) 2005-03-02
EP1222552A2 (en) 2002-07-17
TW468108B (en) 2001-12-11
AU2593400A (en) 2000-07-24
US6330646B1 (en) 2001-12-11
CN1615474A (zh) 2005-05-11
JP2002539509A (ja) 2002-11-19

Similar Documents

Publication Publication Date Title
JP4774152B2 (ja) 統合されたメモリ・アーキテクチャにおけるアービトレーションのための方法および装置
US6505260B2 (en) Computer system with adaptive memory arbitration scheme
US7051172B2 (en) Memory arbiter with intelligent page gathering logic
US5948081A (en) System for flushing queued memory write request corresponding to a queued read request and all prior write requests with counter indicating requests to be flushed
US9141568B2 (en) Proportional memory operation throttling
US9135072B2 (en) QoS-aware scheduling
TWI465903B (zh) 具有與訊務類別相關聯之埠之多埠控制器
US6519666B1 (en) Arbitration scheme for optimal performance
US8095744B2 (en) Device for controlling access from a plurality of masters to shared memory composed of a plurality of banks each having a plurality of pages
KR101881089B1 (ko) 스트림 트랜잭션 정보에 기초하여 페이지 관리 정책들을 적용하기 위한 메모리 제어기들, 시스템들 및 방법들
TW201234188A (en) Memory access device for memory sharing among multiple processors and access method for the same
EP1820107A2 (en) Streaming memory controller
US20070294447A1 (en) Information Processing Apparatus and Access Control Method Capable of High-Speed Data Access
US6393505B1 (en) Methods and apparatus for data bus arbitration
US9213545B2 (en) Storing data in any of a plurality of buffers in a memory controller
JP2009518753A (ja) メモリアクセス要求のアービトレーション
US20070294448A1 (en) Information Processing Apparatus and Access Control Method Capable of High-Speed Data Access
US5301332A (en) Method and apparatus for a dynamic, timed-loop arbitration
US6970978B1 (en) System and method for providing a pre-fetch memory controller
US6215703B1 (en) In order queue inactivity timer to improve DRAM arbiter operation
US6240475B1 (en) Timer based arbitrations scheme for a PCI multi-function device
US7035984B2 (en) Memory arbiter with grace and ceiling periods and intelligent page gathering logic
JPH11345165A (ja) アクセス待ち時間を減少するため優先度とバースト制御を使用するトラフィック・コントローラ
JP4335327B2 (ja) 調停装置および方法
JP2752834B2 (ja) データ転送装置

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061219

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20061219

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100209

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20100510

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20100517

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20100609

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20100616

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100618

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110405

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110510

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

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

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

Free format text: PAYMENT UNTIL: 20140701

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees