JP4412852B2 - 無応答検出を備えたグローバルバス同期トランザクション肯定応答 - Google Patents
無応答検出を備えたグローバルバス同期トランザクション肯定応答 Download PDFInfo
- Publication number
- JP4412852B2 JP4412852B2 JP2000609887A JP2000609887A JP4412852B2 JP 4412852 B2 JP4412852 B2 JP 4412852B2 JP 2000609887 A JP2000609887 A JP 2000609887A JP 2000609887 A JP2000609887 A JP 2000609887A JP 4412852 B2 JP4412852 B2 JP 4412852B2
- Authority
- JP
- Japan
- Prior art keywords
- bus
- command
- tack
- data
- circuit
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4063—Device-to-bus coupling
- G06F13/4068—Electrical coupling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/004—Error avoidance
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Bus Control (AREA)
Description
技術分野
この発明は、オンチップまたはオフチップで装着された多数の中速デバイスを備えるオンチップ高速バスを有する集積回路アーキテクチャに関し、特に、バスを渡るデバイス間のコマンドまたはデータ転送と、バス上に配置されるコマンドまたはデータパケットのターゲットデバイスによる肯定応答受信のためのハンドシェイク方法および回路に関する。
【0002】
背景技術
典型的なバスシステムにおいては、バスは装着されるデバイスと同じ速度であるか、またはこれよりも遅い速度である。システムバスはプリント配線板上に位置決めされ、プロセッサとメモリチップモジュールとはボードにボンディングされ、バスはさまざまなチップ間のバスを渡る情報転送を遅くするキャパシタンスおよびインダクタンス遅延を受ける。そのようなシステムにおいては、情報転送における第1のボトルネックはデバイスではなくバスであり、レイテンシおよび帯域幅の計算は、バスへのアクセスを得るためのアービトレーション遅延に関わる。
【0003】
システム全体、またはその大部分がチップに集積される場合、バス自体もチップ上に集積され得る。そのようなオンチップバスは非常に速く、典型的にはプリント回線板上に配置されるものよりも6倍から10倍速い。640から800MHzのクロックレートで動作するオンチップバスは、約4から5ギガバイト/秒のレートでデータを転送できる。この速度ではバスが非常に速いので、事実上バスは透過性である。バスは、バスに装着された最も速いターゲットデバイスにさえも、速度が顕著に勝る。たとえば、DRAMは、0.8ギガバイト/秒のピークの維持可能量伝送レートを有する。2つのDRAMモジュールを備えていても、それらを総合した帯域幅はわずかに1.6ギガバイト/秒であり、まだバスの帯域幅よりも顕著に少ない。これは、システムの速度はバスの速度によって制限されるのではなく、バス上のターゲットデバイスの速度によって制限されることを意味する。
【0004】
1つのデバイスが、バス上の別のデバイスからデータを受取るのを待機する間にバスを停滞させるのを避けるために、スプリットトランザクションバスを用い得る。この方法で、バスは同時に多くのトランザクションを進行させることができる。データ読出動作の各々は2つのステップで起こる。すなわち、読出開始、次いで読出完了である。読出開始と読出完了との間には遅延がある。この遅延は、ターゲットが要求をデコードし、要求されたデータを獲得し、それを要求するデバイス(マスタ)に送り返すために必要となる時間である。この時間の間には、マスタデバイスもターゲットデバイスもバス上にない。そうではなく、マスタデバイスはそのデータ読出コマンドを第1のバスサイクルで送った後に、バスを解放する。こうして、マスタデバイスがその読出の完了を待機する間に、バスは他のトランザクションをサポートすることができる。一方、ターゲットデバイスは受取った要求を処理し、かつ読出データが準備できたときにのみ、バスをアービトレーションし、要求されたデータをマスタデバイスに送る。データを要求するデバイスに転送することにより、読出サイクルは終了する。
【0005】
スプリットトランザクションバスに関して起こり得る1つの問題は、ターゲットデバイスが存在しない場合である。もしコマンドを受取るデバイスがなければ、データは戻ってこない。しかしながら、スプリットトランザクションバスは通常は読出コマンドとその結果であるデータの受取りとの間に遅延を有するために、無応答は見出されないまま発生し得る。要求デバイスは無期限に待機し続ける。必要なのは、ターゲットデバイスによるトランザクション肯定応答を提供するハンドシェイク方法である。マスタデバイスが要求を送ってから2クロックサイクル以内に、ターゲットデバイスがその要求を受取ったという示唆を受取ることが望ましい。この本質的に即時のフィードバックに対する要件では、肯定応答を返すのに要求される時間の間バスを停滞させることなく、あるいは、ターゲットがデータ送信サイクルとは別の肯定応答サイクルに対してバスをアービトレーションすることを要求することなく、スプリットトランザクションバスで行なうことは困難である。
【0006】
ワイザー(Wisor)他の米国特許第5,666,559号は、データを受取る周辺デバイスが中央ユニットに肯定応答信号を提供するシステムを記載する。タイムアウトカウンタが設けられ、もしタイムアウト期間が肯定応答信号の返信前に満了すると、制御ユニットはエラーフラグをアサートし、割込ルーチンを開始する。
【0007】
この発明の目的は、高速スプリットトランザクションバスのための無応答検出を備えた同期トランザクション肯定応答回路を提供することである。
【0008】
発明の要約
この発明の目的は、バスに別々のトランザクション肯定応答ラインを設け、ターゲットデバイスがそれ自体に向けられたコマンドを受取ったときにトランザクション肯定応答ラインの現在の状態を反対の状態に反転させるドライバ回路をターゲットデバイスの各々に設け、かつバスシステムにトランザクション肯定応答ラインの状態が反転されたかどうかを監視する肯定応答検出回路を設けることにより、達成される。この方策は、要求するマスタデバイスにそのコマンドが指定されたターゲットデバイスによって受取られたという即時のフィードバックを提供する。もしトランザクション肯定応答ラインの状態が変化していなければ、ターゲットデバイスが存在しないことが示唆される。
【0009】
バスアイドルデフォルトデバイス(BIDD)が、他のデバイスがバスを駆動していない場合にトランザクション肯定応答ラインを駆動するために提供されてもよい。一実施例においては、BIDDは、存在しないターゲットデバイスからの無応答を検出し、次いで要求するマスタデバイスにダミー応答を生成する回路を含み得る。ダミーデータは、要求されたデータではないことを示すフラグを立てられる。これに代えて、トランザクション肯定応答の不在の検出は、マスタデバイスごとのバスインターフェイスにおける検出器によって行なわれてもよい。
【0010】
発明を実行するためのベストモード
図1を参照すると、マルチプロセッサシステムを形成する集積回路11は、入力/出力(I/O)クラスタ14として複数の処理クラスタ130−133(ここでは数は4個)と、SDRAMメモリコントローラ15とを有し、これらすべてはバスインターフェイスユニット17によってオンチップ高速グローバルバス16に装着される。典型的なシステムは、640MHzクロックレートで動作するグローバルバス16を有し得る一方、クラスタ13−15はその半分のクロックレート、すなわち320MHzで動作する。グローバルバス制御ユニット18は、さまざまなクラスタ13−15によるバス16へのアクセスを規制するバスアービタおよび、どのクラスタ要素もバスを駆動していない場合に用いるバスアイドルデフォルトデバイス(BIDD)をも含む。I/Oクラスタ14およびSDRAMコントローラ15は、I/Oバス19およびプログラム可能I/Oサブシステム20を介してオフチップデバイスと通信し、該プログラム可能I/Oサブシステム20は、チップのI/Oパッド21と1つ以上のSDRAMメモリチップ22とに接続される。この発明では主に、グローバルバス16、バスインターフェイスユニット17、およびグローバルバス制御ユニット18内のBIDDデバイスに焦点を当てる。
【0011】
図2を参照すると、集積回路のバス構造は、単一のグローバルバス16と、図1に示すようにグローバルバス16に装着された複数のクラスタ13−15ごとのローカルバス29とからなる。処理クラスタ13の各々は、処理要素、デジタル信号エンジン、メモリ転送制御エンジンならびに関連のクラスタデータ、および命令メモリ、キャッシュならびにレジスタなどの複数の処理機能を含み、すべてはクラスタ13のローカルバス28に装着される。I/Oクラスタ(図1では14)も同様であるが、I/O転送エンジンがデジタル信号エンジンおよびメモリ転送制御エンジンに置換わり、I/Oバス(図1では19)もまたローカルバス29とインターフェイスする点が異なる。バス16および29は、バス上のさまざまな要素が情報(データ、命令など)を転送することを可能にする。バス要素は2種類からなる。すなわち、マスタ25およびターゲット27である。バスマスタデバイス25の例は、処理要素、デジタル信号エンジン、メモリ転送制御エンジンおよびI/O転送エンジンである。バスターゲットデバイス27の例は、クラスタデータおよび命令メモリならびにキャッシュを含む、メモリおよびレジスタ、処理要素デジタル信号エンジンおよびメモリ転送制御エンジンのためのクラスタハードウェアレジスタ、およびDRAMメモリおよびシステムレジスタである。すべての情報転送はマスタとターゲットとの間で行なわれ、マスタはターゲットとの間の転送を開始する。クラスタ13内のすべての転送はローカルバス29を渡って行なわれるのに対し、I/Oクラスタ(図1においては14)およびSDRAMコントローラ(図1においては15)を含むクラスタ間の情報転送は、グローバルバスインターフェイス17を介してグローバルバス16を渡って行なわれる。グローバルバスインターフェイス17は、関連のFIFOレジスタバンク31Aを備えたマスタインターフェイス31Bと、やはり関連のFIFOレジスタバンク33Bを備えたターゲットインターフェイス33Bとを含む。すべての書込動作はマスタからターゲットへの直接トランザクションである。すべての読出動作はスプリットトランザクションであり、マスタからターゲットへのコマンド書込がトランザクションを開始し、その後にターゲットから発信マスタへの別の応答書込によりトランザクションが終了する。グローバルバス制御(図1においては18)は、グローバルバス16へのアクセスのためにマスタおよびターゲットインターフェイス31Bおよび33Bの間でアービトレーションし、かつマスタとターゲットFIFO31Aおよび33Aとの間でデータ転送のためにクロッキングを提供する。
【0012】
図3を参照すると、グローバルバスインターフェイス17は、マスタインターフェイス31とターゲットインターフェイス33とを含む。マスタインターフェイス31は転送を開始し、ターゲットインターフェイス33はマスタインターフェイス31から受取った転送要求に応答する。ほとんどのグローバルバスインターフェイス17は、マスタインターフェイス31およびターゲットインターフェイス33の両方を有するが、レジスタバンクまたはメモリなどのグローバルバス上のいくつかのデバイスは1つのみのターゲットインターフェイス33を有し得る。バスシステムはすべてのバス要素に対して単一の32ビットアドレスの一様のアドレス指定を用いる。いずれのバスマスタ要素も、ターゲット要素のバスアドレスを用いて他のいずれのバスターゲット要素にもアドレス指定できる。したがって、グローバルバスマスタインターフェイス31の各々はレジスタ41にストアされる「マイデバイス番号」と呼ばれる独自のハードウェアに割当てられたデバイス番号を有する。この番号は、グローバルバス転送においてデータを受取るべき独自のインターフェイス31を示唆する。これはハードウェアポート番号であり、プログラマーによっては生成されずまた参照もできない。ターゲットインターフェイス33の各々はまた、「マイグローバルアドレス範囲」と呼ばれるグローバルバスアドレスの範囲を有し、これはターゲットが応答するであろうアドレスを識別する。このアドレス範囲も同様にターゲットインターフェイス33内のレジスタ43にストアされる。
【0013】
グローバルバス16は、単一のトランザクション書込、スプリットトランザクション読出バスである。これは64ビットバスであり、32ビットアドレスと64ビットデータ転送とを備える。バスサイクルの各々は、トランザクションタイプ(アイドル、コマンド、データ、最後のデータ)と、情報を受取るバスデバイスと、64ビットのコマンドまたはデータとを特定する。コマンドオクテットは、コマンド情報(読出/書込など)と32ビット転送アドレスとを含む。データを受取るデスティネーション(読出コマンドまたは書込コマンドに加えて書込データを受取るターゲットデバイス、またはターゲットデバイスによって返信されるデータを受取るマスタデバイスのいずれか)は特定のデバイスであってもよいし、すべてのデバイスに対するブロードキャストであってもよい(「デバイス0」として指定される)。推奨されるグローバルバス転送アトムは各々4バイトの8ワードであり、これにより各々8バイトの4バスオクテット(64ビット)となり、1、2および4オクテット転送は特別な場合である。4オクテットデータ転送は、80%のバス効率を有する(4データオクテットごとに1コマンドオクテット)。すべての転送は、バス16上のグローバルバスインターフェイス17におけるFIFO(図3においては56、63、82、85)への書込である。アドレスおよびデータはパイプライン化される。バス上のすべてのデータ転送は、自然に整列されたアドレスでの64ビットバスオクテットである。転送はどのアドレスにおいても開始できる。データはバスクロックに同期して転送され、各々のバスインターフェイスデバイス17におけるFIFOレジスタは主にソースとデスティネーションとの間のクロック速度差およびスキューに対して補償するためにグローバルバス16との間のアドレスおよびデータ情報をバッファするよう機能する。FIFOレジスタは、ソースとデスティネーションとの間で最大4クロックサイクル(それぞれの側で2クロックサイクル)のパイプライン遅延を加えることができる。
【0014】
グローバルバス16は、4つの情報転送タイプを有する。すなわち、データ書込、データ読出、制御書込および制御読出である。バスマスタによるデータ書込動作は、第1のバスサイクルで転送コマンドを送り、次いで1、2または4データオクテットを後続のサイクルで送る。最後のデータオクテットの転送が書込サイクルを完了させる。バスマスタによるデータ読出動作は、転送コマンドを第1のサイクルで送り、次いでバスを解放する。ターゲットとされたデバイスはコマンドを受取る。読出データが準備できたとき、ターゲットはバスに対してアービトレーションし、読出データをコマンドオクテットに示されたバスマスタに返送する。要求するマスタデバイスへの最後のデータオクテットの転送は読出サイクルを完了させる。制御書込は、データ書込動作のアドレス変形であり、単一のデータオクテットを備える。すなわち、これはデータを別の32ビット制御アドレス空間に書込む。コマンドオクテットのデータ/制御ビットは制御アドレス空間への書込を示唆する。すべてのターゲットがコマンドおよびデータオクテットを受取り、サイクルを完了させる。制御書込は、これらを受取るインターフェイス内の別のデータレジスタに向かう。これはインターフェイスがデータ動作でビジーになることによるコマンド拒絶を回避するものである。制御書込は、クラスタの各々にベースアドレスを送り、かつグローバルレジスタのような他のすべてのグローバルバスデバイスにベースアドレスと構成データとを送るために用いられる。制御書込もまた、すべてのクラスタにグローバルタイミング信号およびグローバルウェークアップ割込を送るために用いられる。クラスタの各々は、そのクラスタベースアドレスのグローバルバス制御書込を受取る。クラスタベースアドレスを受取ると、クラスタの各々はそのベースアドレスをそのすべての処理要素とデジタル信号エンジンとに送り、これらはこのアドレスをストアして、クラスタデータバス上に適切なグローバルアドレスが存在する場合に内部レジスタへの転送要求に応答できるようにする。制御読出は制御書込の対になるものである。制御読出は、ホストまたは構成デバイスが、グローバルバス制御アドレス空間におけるベースアドレスと構成レジスタとを読出し、かつこれらを書込むことを可能にする。これはPCI構成レジスタ(たとえばPCIインターフェイスを介して外部PCIデバイスが参照可能なもの)に対して必要となる。
【0015】
グローバルバスマスタの各々は、いかなる一時点においても1つの処理中のトランザクションだけを有する。これは、現在のトランザクションが完了するまで別のトランザクションを開始することができない。マスタの各々が一度に1つのトランザクションしかサポートできなくても、バスは進行中に多くのトランザクションを有し得る。読出動作の各々は2つのステップで起こる。すなわち、読出開始、次いで読出完了である。読出開始と読出完了との間には遅延がある。この遅延は、ターゲットがコマンドをデコードし、読出データを獲得し、これをマスタに返信するのに要求される時間である。この時間の間、マスタもターゲットもバス上にない。マスタがその読取の完了を待機する間、バスは他のトランザクションをサポートし得る。たとえば、他のマスタは書込転送を行ない、かつ他の読出転送を行なうこともできる。
【0016】
グローバルバストランザクションの各々は、ターゲットデバイスに書込まれるコマンドオクテットで開始する。コマンドオクテットは、以下のフィールドを含み得る。すなわち、読出/書込転送ビットと、データ/制御タイプビットと、予想される転送長をオクテット(1、2、4または4以上)でDRAMメモリに示すための2ビット転送長フィールドと、2ビット優先フィールドと、2つのマルチビットフィールド(たとえば、各々6ビット)とを含み、該2つのマルチビットフィールドはそれぞれ、読出コマンドに応答するデスティネーションとしてターゲットデバイスが用いるための発信マスタインタフェースデバイスのデバイス番号とクラスタ内で特定のデバイスを指定するサブデバイス番号とを指定し、フィールドはさらに、ターゲット内のデータのアドレスおよびターゲットデバイスアドレスを指定する32ビットアドレスフィールドを含む。所望であれば他のフィールドを定義するか、またはコマンドのサイズを総合してもグローバルバスによって確立された1オクテットサイズを超えなければフィールドサイズを拡張してもよい。
【0017】
図4のタイミング図とともに再び図3のインターフェイス構造を参照すると、マスタデバイスが1から4データオクテットを指定されたターゲットデバイスに書込むデータ書込動作は、マスタデバイスがマスタインターフェイス31へコマンドを転送することにより開始するが、これはローカルバス29を介してマスタインターフェイスバス47に、次いでライン51を介してコマンドバッファ53へ転送される。「マイデバイス番号」記憶レジスタ41からライン52を介してコマンドバッファ53によって受取られるマスタインターフェイスのデバイス番号は、適切なフィールド内のコマンドに付与される。次いで、マスタインターフェイス31はグローバルバスへのアクセスを要求するが、これは図4において参照番号91でグローバルバスの要求ライン(GBR♯)がローになることにより示される。要求はコマンドオクテットに対して行なわれ、かつデータオクテットの各々の書込に対しても行なわれる。図4に示す例においては、マスタの要求信号は5オクテット転送に対して5クロックサイクルの間ローにとどまる。グローバルバス制御のアービタ(図1においては18)はマスタインターフェイスへのアクセスを要求されたサイクルの数だけ承認するが、これは参照符号93において5クロックサイクルの間承認ライン(GBA♯)がローになっていることにより示される。マスタインターフェイス31は次いで書込コマンドオクテットとデータオクテットとを、図3におけるコマンド出力ライン54を介して送り、インターフェイスバス47と書込データライン55とを介して通信する書込FIFOレジスタバンク56からの書込データライン57を介してグローバルバスに送る。この書込コマンドの後に要求された数のデータオクテットが続く発信は、図4におけるオクテット95−99によって示される。
【0018】
書込コマンドオクテットは、ターゲットデバイスコード(ターゲットデバイス)=0によって図4において100で示されるように、すべてのグローバルバスターゲットインターフェイス(それ自体をも含む)へのブロードキャストである。これがブロードキャストであるのは、マスタがどのグローバルバスがコマンドオクテットに含まれるアドレスに応答するかわからないためである。コマンドオクテットは、転送のための32ビットグローバルアドレス101と、転送タイプ(書込)と、転送長(1−4オクテット)とを含む。これはまた、マスタのデバイス番号であるマイデバイス番号をも含むが、これは書込動作においては用いられない。ターゲットデバイス33の各々は、コマンド入力ライン71を介してターゲットインターフェイスのコマンドバッファ72内に書込コマンドと、データライン81を介してターゲットインターフェイスの書込FIFOレジスタ82内に書込データとをそれぞれ受取る。これは、ターゲットアドレスライン74を介して比較回路95で受取った書込コマンド内の32ビットアドレスと、記憶レジスタ43からライン76を介して比較回路75で受取ったマイグローバルアドレスであるそれ自体のグローバルアドレスと比較する。もし整合すれば、これは書込データ102−105を受取り、その書込FIFO82からライン83を渡ってクロックアウトする。これにより書込動作は終了する。もし整合するがデバイスが先行のコマンドによりビジーであれば、これはコマンド拒絶をバスに送る。もし整合しなければ、ターゲットはコマンドを無視し、次の書込コマンドに対して準備するために書込FIFO82をフラッシュする。すべての書込がブロードキャストであることに留意されたい。通常は意図されるターゲットのみがブロードキャスト書込データを受取り、他のデバイスはこれを捨てる。しかしながら、1つ以上のターゲットに書込データをブロードキャストすることも、もしターゲットが一連のブロードキャストアドレスをデコードするよう設計されていれば可能である。
【0019】
次に図3および図5を参照して、ターゲットからのマスタデータ読出を考察する。マスタインターフェイス31は、図5において121、123および125に示されるように、バスへのアクセスを要求し受取った後に、グローバルバスに読出コマンドオクテットを送ることにより転送を開始する。読出コマンドオクテットは、(図5の126でデバイス0によって示されるように)すべてのグローバルバスターゲットインターフェイス(それ自体のものも含む)に対するブロードキャストである。これがブロードキャストであるのは、マスタがどのグローバルバスデバイスがコマンドオクテットに含まれるアドレス(図5においては127)に応答するかわからないためである。コマンドオクテットは、転送のための32ビットグローバルアドレスと、転送タイプ(書込)と転送長(1−4オクテット)とを含む。これはまた、ターゲットデバイスがその応答のために用いる、マスタのデバイス番号であるマイデバイス番号をも含む。マスタは読出コマンドオクテットを送信し終わると、後で読出ライン62を渡って読出データを受けるためにその読出FIFO63を作動状態にする。通常はこの時点でマスタはストールし、ターゲットが読出データを送って読出コマンドを完了させるのを待機する。ターゲットインターフェイス33の各々は、コマンド入力ライン71を渡って読出コマンドオクテットをバッファ72内に受取る。比較回路75を用いることにより、これはその読出コマンド内の32ビットアドレスと、レジスタ43内にストアされたそれ自体のグローバルアドレスであるマイグローバルアドレスとを比較する。もし整合すれば、コマンドはライン73および77を渡ってインターフェイスバス67に転送され、次いでローカルバス29に送られ、要求されたデータを受取り、ローカルバス29と、インターフェイスバス67と、読出ライン84および86と、読出FIFOレジスタバンク85とを介して、これをグローバルバス16に転送する。図5において131および133に示されるように、グローバルバス16へのアクセスを要求しこれを獲得した後に、図5においてマスタデバイスコード139の使用により示されるように、応答アドレスとしてコマンドオクテット内に含まれるマスタのデバイス番号を用いることにより要求された読出データをマスタに送る。これにより読出動作が終了する。もし整合するがデバイスが先行のコマンドによりビジーであれば、これはコマンド拒絶145をバス16に送る。もし整合しなければ、ターゲットはコマンドを無視する。データ140−143を、マスタ内の待機中の読出FIFO63に送ることができる唯一の有効な方法は、先行の読出コマンドに応答してのみであることに留意されたい。コマンドオクテットのみがコマンドを送信したマスタのデバイス番号を含み、このデバイス番号はコマンドを送信するマスタデバイス内にハードウェアとして組み込まれる(41)。デバイス番号は比較回路60によってライン58上で読出され、ライン59を渡って比較回路60によって受取られたストアされたデバイス番号(41)に対して調べられる。整合は、制御ライン61を介してFIFO63をイネーブルする。他の何らかのデバイスが、開いたマスタ読出FIFOにデータを送り、オープンリードコマンドの不適切な完了をもたらし得る他の有効な方法はない。
【0020】
ターゲットデバイスはブロードキャスト書込を受取り、読出に応答する。これに代えて、もしマスタデバイスがどのデバイスがコマンドを受取るべきであるかわかっていれば、マスタデバイスはその書込コマンドおよびデータをブロードキャストする代わりに特定のターゲットデバイスに、送ってもよい。これを行なうと、他のデバイスがコマンドを受取り、その結果電力を散逸させることがないために、電力を節約することができる。
【0021】
要約すると、例として4オクテットデータ転送を用いた、基本的な書込転送シーケンスは以下のとおりである。
【0022】
1.マスタデバイスが、バス上の5オクテット転送を要求する。
2.マスタがターゲットバスデバイス番号および書込コマンドを発する。もし書込に対するターゲットバスデバイス番号が未知であれば、ターゲットデバイス番号は0(ブロードキャスト)であってもよい。書込コマンドは、書込アドレス、書込コマンド、コマンド優先、チェーンビットおよびマスタデバイスコードを含む。
【0023】
3.データオクテット0−2を発する(転送は、転送長コードに応じて1〜4オクテットであり得る)。
【0024】
4.データオクテット3と最後の転送タイプを発し、バスを解放する。バスアービトレーションは再びこのサイクルで開始する。
【0025】
例として4オクテットデータ転送を用いた、基本的な読出転送シーケンスは以下のとおりである。
【0026】
1.マスタデバイスが、読出コマンドのために1オクテット転送を要求する。
2.マスタが、ターゲットバスデバイス番号と読出コマンドとを発する。もし読出に対するターゲットバスデバイス番号が未知であれば、ターゲットデバイス番号は0(ブロードキャスト)であってもよい。読出コマンドは、読出アドレス、読出コマンド、コマンド優先、チェーンビットおよびマスタデバイスコードを含む。マスタデバイスコードはDRAM応答アドレスである。
【0027】
3.バスを解放する。
4.ターゲットデバイスが、読出データ応答のために4オクテット転送を要求する。
【0028】
5.ターゲットが、ターゲットデバイスアドレスと読出データの第1のオクテットを発する。マスタデバイスコードは読出データに対するターゲットである。転送は、転送長コードに応じて1〜4オクテットであり得る。
【0029】
6.データオクテット1〜2を発する。
7.データオクテット3、最後の転送タイプを発し、バスを解放する。バスのアービトレーションはこのサイクルで再び開始する。
【0030】
スプリットトランザクションバスを用いる、上述のシステムと同様のものにおいて、この発明はトランザクション肯定応答(TACK)信号をバスシステムに与えて、少なくとも1つのターゲットデバイスによるコマンドまたはデータの受取りを示唆する。特に、グローバルバス16上で転送されるオクテットの各々を受取るターゲットデバイスは、グローバルバス16の転送肯定応答(TACK)ラインを活性化することにより、オクテットに肯定応答する。これは転送されるオクテット、コマンドまたはデータの各々に対して当てはまる。TACKは、ターゲットがこれに意図されたコマンドオクテットまたはデータオクテットを受取ったことを示唆する。図3に示すように、ターゲットデバイス33が制御読出または書込オクテットを受取ったとき、これは比較回路75を用いて、これが意図されたターゲットであるかどうかを調べるためにデコードする。もしそうであれば、これはTACKを(TACK信号をライン80に与えるTACK生成回路79によって)、図4および図5に106および144で示されるようにオクテットが転送された2クロック後にTACK信号のために活性化させる。ターゲットはTACKを、これが(図4および図5に111および145で見られるように)コマンドを拒絶した場合でも活性化させる。もしコマンドが書込であれば、書込データオクテットの各々もまたターゲットによって(図4の107−110で)肯定応答される。同様に、読取データを受取るマスタはオクテット読出の各々に対してTACKを(図5の146−148で)活性化させる。TACKにより、コマンドにどのデバイスも応答しない状態、すなわちバスエラーを検出することができる。TACKは、バスタイムアウトを待機する必要なくこれを即時に検出する。TACKはデバッギングに対しても有用である。すなわち、応答したデバイスがあるかどうか見出すことができる。干渉なしに、1つ以上のデバイスがTACK信号に応答することができる。
【0031】
TACKは独自のコーディングを有する。TACKを活性化するためには、先行のクロックからその状態を変化させる。連続的なTACK信号に対しては、TACKラインはクロックごとに反転する。ターゲットデバイスの各々は、バスクロックごとにTACKを活性化させる。1つ以上のデバイスがTACK信号に応答できることに留意されたい。すなわち、すべての応答するデバイスは同じ方向にTACKを駆動する。図6および図7は、TACK信号を生成し、かつTACK信号を検出するための論理のブロック図である。図6の生成器論理においては、最後のTACKフリップフロップ151は先行のサイクルに対してTACK信号値を記録する。デコードフリップフロップ153は、先行のサイクルにおける有効なアドレスデコードを記録する。もしターゲットアドレスが先行のサイクルで有効であれば、この論理はTACKドライバ155をイネーブルすることによりTACK信号に応答する。TACKドライバ155は、フリップフロップ151の反転出力を用いて先行のTACK値に相補的である現在のTACK値を生成する。このTACK生成回路は、ターゲットデバイスの各々の、またはグローバルバス上にターゲットデバイスを含むクラスタのターゲットバスインターフェイス33の一部である。
【0032】
図7の検出器論理内で、最後のTACKフリップフロップ157は先行のサイクルに対するTACK信号値を記録する。もし現在のTACK信号値が先行のサイクルにおけるTACK信号に対して相補的であれば、現在のTACK信号は有効であり、XORゲート159は「真」TACK検出済信号値を出力する。TACK検出器回路はマスタデバイスの、またはグローバルバス上のマスタデバイスのクラスタの各々のマスタバスインターフェイスの一部である。これに代えて、単一のTACK生成器がグローバルバス制御(図1における18)のバスアイドルデフォルトデバイス(BIDD)の一部を形成してもよい。いずれの場合においても、もしバスがアイドルであれば、BIDDはTACKを活性化し、バスをデフォルトレベルに駆動する。もしコマンドが発信されどのデバイスも応答しなければ、TACKラインは変化しない。これにより、存在しないデバイスに対してアドレス指定したかどうかを検出することができる。もしどのデバイスもTACKを駆動していなければ、浮遊容量およびバス保持論理がTACKラインをその先行のレベルに保持する。
【0033】
グローバルバス(GB)上のマスタデバイスの各々は、いずれの一時点においても1つの進行中のGB転送しか有し得ない。読出転送に対しては、GBマスタは読出データが返信されるのを待機する。書込転送に対しては、マスタはコマンドに対するバスの承認と、バスからのコマンド拒絶の不在とを待機するが、これらは書込コマンドおよびデータが認証されたことを示す。これはマスタとターゲットとの間の転送帯域幅の自動制御をもたらす。これは自己スロットリングと呼ばれる。マスタの各々はターゲットが応答するのを待機する。ターゲットは多くのGB転送コマンドを受取っており、それらを処理している途中であるかもしれない。これらのコマンドは典型的にはコマンドFIFOにおいてバッファされる。ターゲットは、そのFIFO内にN個のマスタからのN個のコマンドを有し得る。一旦コマンドがFIFOに入ると、N個のデバイスのすべては、各々のコマンドが肯定応答されるまで待機する。時間がかかってもマスタの各々は転送が完了するまで待機するために、ターゲットがオーバーランすることはない。
【0034】
図8および図9を参照すると、グローバルバスがアイドルである場合、バスを駆動するために選択さるたアクティブなデバイスはない。もしいずれのアクティブなデバイスも選択されていなければ、アービタはデフォルトデバイスであるバスアイドルデフォルトデバイス(BIDD)をバスを駆動するために選択する。そうでなければ、デバイスラインは浮動し、ノイズとエラーとを引起す可能性がある。BIDDは、アービタからのアイドル承認信号に応答するアイドルバス論理およびバスドライバ161によってバスラインを有効なレベルに駆動する。これはデータワード、バイトイネーブルおよびデバイスアドレスに対して0を送り、ワードタイプに対しても0を送る。すなわち、アイドルコマンドである。これに代えて、アドレス/データラインはそれらの先行の値に保持され(低出力のために)、すなわちバイトイネーブルは不活性に、ターゲットデバイス番号はすべて1に保持されてもよい。これは出力163においてTACK信号を活性化させるが、これはBIDDが有効なデバイスであり、バスを有効に駆動しているためである。TACK信号が駆動されない唯一の時間は、コマンドまたはデータワードがバス上に送られて、いずれのデバイスもそれに応答しない場合だけである。
【0035】
BIDDはまた、TACK検出論理105(図7に示す)を介して、TACKなしで読出コマンドに応答するが、これによりいかなるデバイスも読出に応答しないことを示す。グローバルバスマスタデバイスは、存在しないターゲットアドレスに対して読出および書込コマンドを発信することができる(図9の例においてはデバイス36、15および27)。この場合では、いかなるデバイスもアドレスをデコードし、コマンドに応答し、TACK信号を発信しない(図9においてはTACK応答なしにより示される)。コマンドを発信したGBマスタは、TACKの不在を見出しコマンドを打切らない限り読出データを待機する。次の問題はどのようにコマンドを打切るかである。最も簡単な方法は、代替的なデータ(図9における175−177)を与え、データが有効ではないことを示すフラグを立ててコマンドを通常の完了状態までランさせることである。これは受取状態機械(およびこれらに依存する他の状態機械)に対して特別な変更がないことを意味するが、ダミーデータを挿入することが必要である。グローバルバスマスタはこれを行なうために、バスに要求を行ない(図9に示す179での要求および171での承認)、バス上にそれ自体が受取るためのダミーデータを配置するか、または1〜4バスアイドルサイクルを送ることが必要となる。ダミーデータを挿入する間にグローバルバスをオフに保持するためにこれを行なうことが必要となる。そうでなければ、グローバルバスは、グローバルバスマスタ論理がダミーデータを挿入している間に、データをFIFOに入れようと試行することが考えられる。
【0036】
図8は、TACKなし応答論理を備えた、BIDDに対するマイクロアーキテクチャを示す。BIDDは、バッファレジスタ167を通してデバイス0ブロードキャストコマンドを監視し、TACKなし応答を備えた読出コマンドを調べる。TACKなし応答の場合(図9において183)、状態機械169はグローバルバスに要求を行ない、コマンド内の2長さビットによって決定される1、2または4オクテットの0データの読出応答を発信する。これは読出応答のための適切なワードタイプコードを備えて、0データ値と0バイトイネーブルとを返信する。0バイトイネーブルは、データが無効であることを示す。(読出データは通常はすべてのバイトイネーブルが1に設定されたデータを返信する)。BIDDはまた、読出コマンドからのデバイスアドレスに応答し(図9における183)、それによりダミーデータは発信元の要求デバイスに進む。BIDDはFIFO171を用いて、TACKなし読出応答に対してバスの制御が認証される前に、GBからの最大5つの読出要求まで保留する。
【0037】
図9は、TACKなし応答のタイミング図を示す。BIDDは、TACKなしを備えた読出コマンドに対するコマンドバッファリングを最小化するようGBに要求する場合に最上級の優先性を有する。コマンドバッファリングが必要であるのは、TACKなし応答を備えたいくつもの読出コマンドが連続して起こり得るためである。最上級の優先性により、3つのコマンドのみがバッファされる必要があり、これらは状態の検出とGBにダミー読出データを入れる間のクロックの数に対応する。すなわち、1つは状態を検出するためであり、1つはGB要求を発信するためであり、1つはGB承認を受取るためである。図9のタイミング図は、BIDDがGBアービタに対して最上級の優先性を有し、かつBIDDがパルス状の要求に対してDC要求(179)を提示できることを想定する。BIDDは必要であるよりも長い期間GB要求を保持することができるが、これはTACKなし応答が頻繁には起こらないためである。一旦BIDD応答要求が発信されると、BIDDはもし要求されるよりも承認時間が長ければアイドルサイクルを入れることができる。存在しないアドレスに対していくつもの読出コマンドが連続して起こり得るが、これはBIDDがこれらの読出コマンドをバッファしなければならないことを意味する。これがGBに対するアクセスを得ることができるまで、コマンドをバッファしなければならない。TACKなし応答論理を最上級優先度GBデバイスとすることにより、TACKが検出された時間と、GB承認が受取られる時間との間のバッファリングをクロックの数にまで最小化することができる。これは3つのコマンドであろう。すなわち、1つはこれを検出し、1つは要求を発信し、1つは承認を受取る。14ビットのみをコマンドワードから退避させればよいことに留意されたい。2ビットの長さコードと、12ビットの読出応答に対するデバイスおよびサブデバイスアドレスである。
【図面の簡単な説明】
【図1】 この発明の無応答検出を備える同期トランザクション肯定応答が配置される、高速スプリットトランザクションバスを備えた集積されたマルチプロセッサシステムの概略ブロック図である。
【図2】 この発明のトランザクション肯定応答を含むグローバルバスインターフェイスを備えた、図1のシステムにおける処理クラスタの概略ブロック図である。
【図3】 ターゲットインターフェイスにおけるトランザクション肯定応答生成器79を示す、図2のグローバルバスインターフェイス17の詳細なブロック図である。
【図4】 信号状態の反転として示されるトランザクション肯定応答(信号TACK番号)を備えた、図1から図3におけるグローバルバス16上の、書込転送のタイミング図である。
【図5】 信号状態の反転として示されるトランザクション肯定応答(信号TACK番号)を備えた、図1から図3におけるグローバルバス16上の、読出転送のタイミング図である。
【図6】 トランザクション肯定応答(TACK)生成論理のブロック回路図である。
【図7】 トランザクション肯定応答(TACK)検出論理のブロック回路図である。
【図8】 図8のTACKなし検出器を含む、図1のグローバルバス制御ユニット18の一部である、バスアイドルデフォルトデバイス(BIDD)の詳細なブロック図である。
【図9】 TACKなし検出に対する図8のBIDDの応答を示すタイミング図である。
Claims (8)
- オンチップバスに装着された多数の回路デバイスを有する集積回路において、前記バスに入れられたコマンドが指定されたターゲット回路デバイスによって受取られていないことを示す無応答検出を備えるトランザクション肯定応答回路であって、
前記バスに設けられる別々のトランザクション肯定応答ラインと、
ターゲット回路デバイスの各々に関連するドライブ回路手段とを含み、前記ドライブ回路手段は、特定のターゲット回路デバイスに指定されたコマンドがそのデバイスによって受取られた場合にはいつでも、前記トランザクション肯定応答ラインを反対の状態に反転し、指定されたターゲット回路によるコマンドの未受信は、前記トランザクション肯定応答ラインが変化しないことにより示され、さらに
前記バスに装着され前記バスがアイドルである場合にはいつでも前記トランザクション肯定応答ラインをその反対の状態に駆動するよう接続されるバスアイドルデフォルトデバイスを含み、前記バスアイドルデフォルトデバイスは、前記トランザクション肯定応答ラインを監視しかつコマンドの未受信が示される場合にはいつでもダミー応答を生成するための手段を含む、トランザクション肯定応答回路。 - 装着された多数の回路デバイスを備えるオンチップバスを有する集積回路アーキテクチャにおいて、コマンドとデータとは前記回路デバイス間で前記バスを渡って転送され、前記バスはデータ読出動作のためのスプリットトランザクションバスであり、指定されたデバイスが前記バスに入れられたコマンドまたはデータを受信したかを判断するための無応答検出回路を備えた同期トランザクション肯定応答(TACK)システムであって、
前記オンチップバスに関連のTACKラインを含み、前記TACKラインは2つの反対の状態を有し、さらに
回路デバイスが、その回路デバイスに意図されたコマンドまたはデータを受取ったときにはいつでも、TACKラインの現在の状態をその反対の状態に反転させるための回路デバイスの各々に関連のバスインターフェイス手段と、
前記バスがアイドルである場合にはいつでもTACKラインの現在の状態をその反対の状態に反転させるよう前記バスに装着されるバスアイドルデフォルトデバイス(BIDD)と、
前記TACKラインの状態を監視するための無応答検出手段とを含み、指定された回路デバイスによるコマンドまたはデータの未受信は、前記TACKラインが変化されないままである場合に示され、前記無応答検出手段は、コマンドの未受信に応答してダミーデータを生成し、かつ前記ダミーデータを前記コマンドを発信した前記回路装置に送信するための手段を含み、前記ダミーデータは前記コマンドの前記未受信状態を示す、TACKシステム。 - 前記無応答検出手段は前記BIDDの一部である、請求項2に記載のTACKシステム。
- 前記無応答検出手段は、前記バスに装着された前記回路デバイスの各々に関連する検出回路を含む、請求項2に記載のTACKシステム。
- 回路デバイスの各々に関連する前記バスインターフェイス手段は、前記バス上に入れられたいずれのコマンドのアドレスフィールドと、その回路装置が応答するアドレス範囲とを比較するための手段を有し、整合するときにはいつでも、前記コマンドを前記回路デバイスに転送し、かつ前記TACKラインの状態を反転する、請求項2に記載のTACKシステム。
- 前記TACKラインの状態を反転するための前記手段は、
前記TACKラインに接続された入力と、反転出力とを有する第1のフリップフロップと、
前記アドレス比較手段に接続された入力と、出力とを有する第2のフリップフロップとを含み、両方のフリップフロップは前記バスに対するクロックによってクロックされ、さらに
トライステートドライバを含み、前記トライステートドライバは、前記第1のフリップフロップの前記反転出力に接続された入力と、前記第2のフリップフロップの前記出力に接続されたイネーブルと、前記TACKラインに接続された出力とを有する、請求項5に記載のTACKシステム。 - 前記無応答検出手段は、
フリップフロップを含み、前記フリップフロップは前記バスに対するクロックによってクロックされ、前記TACKラインに接続される入力と、出力とを有し、
排他的ORゲートをさらに含み、前記排他的ORゲートは第1の入力を前記TACKラインに接続され、第2の入力を前記フリップフロップの出力に接続され、出力は前記バス上のコマンドまたはデータの未受信の示唆を提供する、請求項2に記載のTACKシステム。 - 前記集積回路アーキテクチャはマルチプロセッサシステムを形成し、前記オンチップバスに装着される回路デバイスのいくつかは処理クラスタであり、前記バスは前記クラスタよりも速いクロックレートで動作する、請求項2に記載のTACKシステム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12822299P | 1999-04-07 | 1999-04-07 | |
US60/128,222 | 1999-04-07 | ||
PCT/US2000/009155 WO2000060462A1 (en) | 1999-04-07 | 2000-04-06 | Global bus synchronous transaction acknowledge with nonresponse detection |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002541548A JP2002541548A (ja) | 2002-12-03 |
JP4412852B2 true JP4412852B2 (ja) | 2010-02-10 |
Family
ID=22434254
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000609887A Expired - Fee Related JP4412852B2 (ja) | 1999-04-07 | 2000-04-06 | 無応答検出を備えたグローバルバス同期トランザクション肯定応答 |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP1257917A4 (ja) |
JP (1) | JP4412852B2 (ja) |
WO (1) | WO2000060462A1 (ja) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2367646B (en) | 2000-10-03 | 2002-11-20 | Sun Microsystems Inc | Resource access control |
GB2367648B (en) | 2000-10-03 | 2002-08-28 | Sun Microsystems Inc | Multiple trap avoidance mechanism |
GB2367645B (en) * | 2000-10-03 | 2002-11-20 | Sun Microsystems Inc | Memory access control |
GB2367647B (en) | 2000-10-03 | 2002-11-20 | Sun Microsystems Inc | Resource access control for a processor |
JP4592944B2 (ja) * | 2000-12-19 | 2010-12-08 | Necエンジニアリング株式会社 | Cpuインターフェース回路 |
DE10110778A1 (de) * | 2001-03-07 | 2002-09-12 | Philips Corp Intellectual Pty | Integrierter Schaltkreis |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4459665A (en) * | 1979-01-31 | 1984-07-10 | Honeywell Information Systems Inc. | Data processing system having centralized bus priority resolution |
US4486855A (en) * | 1982-01-28 | 1984-12-04 | Ncr Corporation | Activity detector usable with a serial data link |
US4785394A (en) * | 1986-09-19 | 1988-11-15 | Datapoint Corporation | Fair arbitration technique for a split transaction bus in a multiprocessor computer system |
EP0358715B1 (en) * | 1987-05-01 | 1994-03-09 | Digital Equipment Corporation | Interrupting node for providing interrupt requests to a pended bus |
EP0676696B1 (en) * | 1994-04-06 | 1999-01-20 | Advanced Micro Devices, Inc. | Parallel port circuits in computer systems |
US5659718A (en) * | 1994-08-19 | 1997-08-19 | Xlnt Designs, Inc. | Synchronous bus and bus interface device |
US5963721A (en) * | 1995-12-29 | 1999-10-05 | Texas Instruments Incorporated | Microprocessor system with capability for asynchronous bus transactions |
US5687381A (en) * | 1996-02-09 | 1997-11-11 | Advanced Micro Devices, Inc. | Microprocessor including an interrupt polling unit configured to poll external devices for interrupts using interrupt acknowledge bus transactions |
US5948093A (en) * | 1996-02-09 | 1999-09-07 | Advanced Micro Devices, Inc. | Microprocessor including an interrupt polling unit configured to poll external devices for interrupts when said microprocessor is in a task switch state |
US5991900A (en) * | 1998-06-15 | 1999-11-23 | Sun Microsystems, Inc. | Bus controller |
-
2000
- 2000-04-06 EP EP00923146A patent/EP1257917A4/en not_active Withdrawn
- 2000-04-06 WO PCT/US2000/009155 patent/WO2000060462A1/en active Search and Examination
- 2000-04-06 JP JP2000609887A patent/JP4412852B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
WO2000060462A1 (en) | 2000-10-12 |
EP1257917A4 (en) | 2004-11-10 |
JP2002541548A (ja) | 2002-12-03 |
EP1257917A1 (en) | 2002-11-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6405271B1 (en) | Data flow control mechanism for a bus supporting two-and three-agent transactions | |
US5535341A (en) | Apparatus and method for determining the status of data buffers in a bridge between two buses during a flush operation | |
KR100360064B1 (ko) | 고도로파이프라인된버스구조 | |
US5870568A (en) | Double buffering operations between the memory bus and the expansion bus of a computer system | |
JP3255908B2 (ja) | メモリー制御ユニット | |
US8086915B2 (en) | Memory controller with loopback test interface | |
US5925118A (en) | Methods and architectures for overlapped read and write operations | |
JP3218773B2 (ja) | キャッシュ・コントローラ | |
US20020065967A1 (en) | Transmission of signals synchronous to a common clock and transmission of data synchronous to strobes in a multiple agent processing system | |
JPH0696030A (ja) | マルチプロセッサのための拡張プロセッサバッファインターフェース | |
JPH02227765A (ja) | デジタル・コンピユータのデータ転送装置 | |
US6993612B2 (en) | Arbitration method for a source strobed bus | |
JP4891405B2 (ja) | バリア操作の条件付き伝搬のための方法および装置 | |
WO1998059298A1 (en) | Method and apparatus for switching between source-synchronous and common clock data transfer modes in a multiple agent processing system | |
US6256693B1 (en) | Master/slave data bus employing undirectional address and data lines and request/acknowledge signaling | |
JPH05197647A (ja) | 入力/出力装置及びデータ転送方法 | |
US20040044877A1 (en) | Computer node to mesh interface for highly scalable parallel processing system | |
JP4412852B2 (ja) | 無応答検出を備えたグローバルバス同期トランザクション肯定応答 | |
US6701398B1 (en) | Global bus synchronous transaction acknowledge with nonresponse detection | |
US7043612B2 (en) | Compute node to mesh interface for highly scalable parallel processing system and method of exchanging data | |
US7346072B2 (en) | Arbitration mechanism for packet transmission | |
US6253302B1 (en) | Method and apparatus for supporting multiple overlapping address spaces on a shared bus | |
KR100276136B1 (ko) | 캐시 스트리밍을 가능하게 하기 위한 방법 및 장치 | |
US6269360B1 (en) | Optimization of ordered stores on a pipelined bus via self-initiated retry | |
WO2001025941A1 (en) | Multiprocessor computer systems with command fifo buffer at each target device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20061130 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20091016 |
|
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: 20091020 |
|
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: 20091117 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121127 Year of fee payment: 3 |
|
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: 20121127 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131127 Year of fee payment: 4 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |