JP2003508850A - ローカルi/oバスに近接するブリッジでの入出力(i/o)アドレス変換 - Google Patents

ローカルi/oバスに近接するブリッジでの入出力(i/o)アドレス変換

Info

Publication number
JP2003508850A
JP2003508850A JP2001520657A JP2001520657A JP2003508850A JP 2003508850 A JP2003508850 A JP 2003508850A JP 2001520657 A JP2001520657 A JP 2001520657A JP 2001520657 A JP2001520657 A JP 2001520657A JP 2003508850 A JP2003508850 A JP 2003508850A
Authority
JP
Japan
Prior art keywords
bus
address
memory
agp
transaction
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2001520657A
Other languages
English (en)
Other versions
JP4607405B2 (ja
JP2003508850A5 (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 JP2003508850A publication Critical patent/JP2003508850A/ja
Publication of JP2003508850A5 publication Critical patent/JP2003508850A5/ja
Application granted granted Critical
Publication of JP4607405B2 publication Critical patent/JP4607405B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

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/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1081Address translation for peripheral access to main memory, e.g. direct memory access [DMA]
    • 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/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges
    • G06F13/404Coupling between buses using bus bridges with address mapping

Landscapes

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

Abstract

(57)【要約】 入出力(I/O)拡張ブリッジでのアドレス変換を実行するための方法および装置が提供される。I/O拡張ブリッジは、第1インターフェース・ユニット、第2インターフェース・ユニット、およびアドレス変換ユニットを含む。第1インターフェース・ユニットは、1つまたは複数のI/Oポートを介して、システム・メモリおよびI/Oコントローラに結合するように構成される。第1インターフェース・ユニットにより、1つまたは複数のI/Oポートを介してコンピュータ・システムのメイン・メモリとの間でのデータ転送が可能となる。第2インターフェース・ユニットは、バスを介して周辺装置との間でのデータ転送を可能とするための、バス制御信号およびアドレスを供給する。アドレス変換ユニットは、第1インターフェース・ユニットおよび第2インターフェース・ユニットに結合される。アドレス変換ユニットは、コンピュータ・システムのメイン・メモリ内のページの物理アドレスを含むローカル・メモリにアクセスすることによって、第2インターフェース上で受け取ったトランザクションに関連するアドレスを変換する。

Description

【発明の詳細な説明】
【0001】 (著作権表示) 本明細書に含まれる資料は著作権保護の対象となる。著作権者は、この特許開
示が米国特許商標局の特許ファイルまたは記録中に見出されるとき、それが何人
によって複製されることに対しても異議はないが、そうでない場合は、その著作
権に対するすべての権利を何であれ留保する。
【0002】 (発明の背景) 発明の分野 本発明は、一般にバス・プロトコル・ブリッジングに関する。より詳細には、
本発明は、連続する論理アドレス空間を不連続かもしれないアドレス空間に再マ
ップすることなど、ブリッジでの入出力(I/O)アドレス変換に関する。
【0003】 関連技術の説明 入出力(I/O)周辺装置は、一般に、システム・メモリ(メイン・メモリ)
の大きな連続するビューとともに示された場合により効率的に動作する。これに
より、このような装置が、注目するデータを含むメモリの広い領域にランダム・
アクセスを行うことが可能となる。メモリの連続するビューは、ディスプレイ装
置にシーンをレンダリングするために、テクスチャ・マップ全体を取り出さなけ
ればならないことが多いグラフィックス・カードにとって特に重要である。本願
では、大規模な連続するアドレス空間を認識する、I/O周辺装置がその中で動
作するアドレス空間を「仮想アドレス空間」と呼ぶ。
【0004】 いずれにしても、周辺装置は、ホスト・コンピュータ・システムのメイン・メ
モリとは異なるアドレス空間を利用するので、周辺装置によって供給される仮想
アドレスを、対応するメイン・メモリ内の不連続かもしれないアドレスにマップ
する「アドレス変換」と呼ばれるプロセスが必要である。
【0005】 次に、アドレス変換のための現在の技法の例を図1を参照しながら説明する。
図1は、グラフィックス・アドレスの物理アドレスへの変換を示す、汎用コンピ
ュータ・システム100の高レベルブロック図である。コンピュータ・システム
100は、1つまたは複数のプロセッサ105および110などの処理手段、チ
ップセット120、メイン・メモリ125、メモリ・バス124、アクセラレー
テッド・グラフィックス・ポート(AGP)バス130、およびPCIバス14
0を含む。この例では、メイン・メモリは、グラフィックス・アクセラレータ1
35などの周辺装置によって使用される仮想アドレスを、メイン・メモリ125
中の物理アドレスにマップするためのエントリを含むグラフィックス・アドレス
再配置テーブル(GART)を含む。
【0006】 チップセット120は、AGPバス130、PCIバス140、およびメモリ
・バス124の間のブリッジング機能を提供する。ブリッジング機能の一部とし
て、チップセット120は、インバウンド読取りおよび書込みトランザクション
(例えば、グラフィックス・アクセラレータ135から発信された読取りおよび
書込みトランザクション)中に含まれるグラフィックス・アドレスを、GART
126を用いて、対応するメイン・メモリ125中の物理アドレスに変換する。
したがって、図1に従って構成されたコンピュータ・システムでは、テクスチャ
・マップなどのグラフィックス・データの処理は、メイン・メモリ125に複数
のアクセスを必要とする。まず、チップセット120は、実行されるトランザク
ション中で指定されたグラフィックス・アドレスに対応するGART126から
エントリを取り出さなければならない。次いで、所望の物理アドレスがチップセ
ット120によって決定された後、チップセット120は、トランザクションに
よって指定されたデータを読み書きするために、メイン・メモリ125に第2の
アクセスを実行しなければならない。
【0007】 AGPの大きな利点の1つは、コンピュータ・システムの残りの部分からAG
Pがビデオ・サブシステムを分離し、したがってI/O帯域幅を介する競合がP
CIほどではないことである。しかし、上述の説明より、AGPトランザクショ
ンの変換が現在処理されている方式に関連するいくつかの非効率が存在すること
は明らかであろう。まず、動的ランダム・アクセス・メモリ(DRAM)から一
般に構成されるメイン・メモリ125へのアクセスは、例えば静的ランダム・ア
クセス・メモリ(SRAM)へのアクセスと比較して相対的に低速である。第2
に、アドレス変換のためのメイン・メモリ125アクセスは、プロセッサ105
または110から発信され、システム・バス115を介して受け取られるアクセ
ス要求、またはPCIバス140上で受け取られるアクセス要求などの他のアク
セス要求と競合しなければならない。その結果、AGP変換は競合するトラフィ
ックによってスローダウンする。最後に、変換ユニット(図示せず)が複数のタ
イプのトラフィック、例えばシステム・バス・トラフィック、PCIトラフィッ
ク、およびAGPトラフィックを処理する場合、様々なタイプのインバウンド・
トランザクションおよびアウトバウンド・トランザクションの間の変換ユニット
についての競合をアービトレーション論理が解決することが必要となるので、こ
の状況はさらに悪化する。
【0008】 したがって、I/Oトランザクションの実行をスピードアップし、アドレス変
換論理の単純な実装を提供する、I/Oアドレスを変換するための技法を提供す
ることが望ましい。加えて、システム・バス・トラフィックまたは他のI/O装
置からのトラフィックなどの他のタイプのトラフィックから分離する装置中で、
必要なI/Oアドレス変換を実行することが有利である。
【0009】 (発明の簡潔な概要) 入出力(I/O)拡張ブリッジでのアドレス変換を実行するための方法および
装置を説明する。I/O拡張ブリッジは、第1インターフェース・ユニット、第
2インターフェース・ユニット、およびアドレス変換ユニットを含む。第1イン
ターフェース・ユニットは、1つまたは複数のI/Oポートを介して、システム
・メモリとI/Oコントローラに結合するように構成される。第1インターフェ
ース・ユニットは、コンピュータ・システムのメイン・メモリとの間で、1つま
たは複数のI/Oポートを介してデータを転送できる。第2インターフェース・
ユニットは、周辺装置との間で、バスを介してデータを転送するための、バス制
御信号およびアドレスを供給する。アドレス変換ユニットは、第1インターフェ
ース・ユニットおよび第2インターフェース・ユニットに結合される。アドレス
変換ユニットは、コンピュータ・システムのメイン・メモリ内のページの物理ア
ドレスを含むローカル・メモリにアクセスすることによって、第2インターフェ
ースで受け取ったトランザクションに関連するアドレスを変換する。
【0010】 本発明の他の特徴および利点は、添付の図面および詳細な説明から明らかとな
ろう。
【0011】 本発明を、限定的なものではなく、例示的なものとして添付の図面に示す。同
一の参照番号は、類似の要素を指す。
【0012】 (発明の詳細な説明) I/O拡張ブリッジでのアドレス変換を実行するための方法および装置を説明
する。本発明の実施形態は、I/O拡張ブリッジなどのI/O変換装置をシステ
ム・バス・トランザクションなどの他のタイプのトラフィックから分離すること
によって、I/Oトランザクションの実行をスピードアップする、I/Oアドレ
スを変換するための技法を提供することを試みる。本発明の一特徴によれば、G
ARTは、メモリ・バスを通らずに、ローカルSRAM中に格納することができ
る。インターフェースはローカルであり、かつ、GARTエントリを取り出すた
めのアクセスが他のタイプのトラフィックと競合する必要がないので、トランザ
クションをより高速に完了することができ、変換装置の実装を単純にすることが
できる。
【0013】 以下の説明では、説明の目的で、本発明の完全な理解を与えるために多数の特
定の細部を説明する。しかし、本発明をこれらの特定の細部の一部を用いずに実
施できることは当業者には明らかであろう。他の場合には、周知の構造および装
置をブロック図形式で示す。
【0014】 本発明は、以下で説明する様々なステップを含む。本発明のステップは、ハー
ドウェア構成要素によって実行することができ、あるいは、汎用プロセスもしく
は特殊目的プロセッサ、または命令によってプログラムされた論理回路にこのス
テップを実行させるために使用することのできるマシン実行可能命令で実施する
ことができる。あるいは、このステップは、ハードウェアおよびソフトウェアの
組み合わせによって実行することもできる。
【0015】 重要なことであるが、本発明の実施形態は、様々なAGPおよびPCIライク
のトランザクションを変換するための、様々なグラフィックス拡張ブリッジ(G
XB)にとってローカルにアクセス可能なアクセラレーテッド・グラフィックス
・ポート(AGP)およびグラフィックス・アドレス再配置テーブル(GART
)に関連して説明するが、本明細書で説明する方法および装置は、他のタイプの
I/OトランザクションおよびI/O拡張ブリッジ、あるいはI/Oバスの装置
がメイン・メモリの連続するビューを必要とする他のタイプのバスにも等しく適
用することができる。例えば、本明細書で説明する技法は、VESAローカル・
バス(VLB)および/または周辺構成要素相互接続(PCI)バスに関係する
トランザクションに関連して有用であると考えられる。
【0016】 用語 本発明の様々な実施形態を実装することができる例示的環境を説明する前に、
本願全体を通して使用する、いくつかの用語を簡潔に説明する。
【0017】 用語「バス」は、一般に、情報が2つ以上の装置の間を流れる物理的通信媒体
またはチャネルを指す。装置をその上に2つだけ有するバスは、本明細書で使用
する「ポート」と見ることもあるが、バスという用語は、このようなポートも包
含するものとする。
【0018】 用語「プロセッサ・バス」、「システム・バス」、または「ホスト・バス」は
、一般に、コンピュータ・システムのバスの階層中の最高レベルのバスを指す。
このバスは、一般にシステム・チップセットによって使用され、コンピュータ・
システムの1つまたは複数のプロセッサに情報が送受信される。
【0019】 メモリ・バスは、メモリ・サブシステムを、システム・チップセットおよびプ
ロセッサに接続するバスを指す。重要なことであるが、一部のコンピュータ・シ
ステムでは、プロセッサ・バスおよびメモリ・バスは、同じバスとすることがで
きる。
【0020】 「ローカルI/Oバス」は、一般に、メモリ、システム・チップセット、およ
び/またはコンピュータ・システムのプロセッサに様々なタイプの周辺装置を接
続するために使用される高速入出力(I/O)バスである。例えば、ビデオ・カ
ード、ディスク記憶装置、高速ネットワーク・インターフェース、パフォーマン
ス・クリティカルな他の周辺装置は、一般にこの種類のバスに結合される。共通
ローカルI/Oバスは、VESAローカル・バス(VLB)、周辺構成要素相互
接続(PCI)バス、およびアクセラレーテッド・グラフィックス・ポート(A
GP)バスを含む。やはり、この開示では、I/OポートまたはAGPなどの、
3つ以上の装置が共用するために設計されたバスと、2つだけの装置が使用する
ために設計されたポートのどちらもバスとする。
【0021】 「アクセラレーテッド・グラフィックス・ポート」(AGP)は、3Dグラフ
ィックスおよびビデオ・イメージの高速で高品質な表示の目的で設計されている
、Accelerated Graphics Port Interface
Specification,Revision2.0,May 4,199
8およびそれに続く改訂に記載されている高性能バス仕様である。
【0022】 「PCIトランザクション」は、一般に、AGPバスに対して発行されるAG
Pセマンティクスを有するPCIトランザクションを指す。
【0023】 本明細書で仕様するように、「ブリッジ」は、一般に、例えば2つのバスを接
続し、一方のバスの装置が他のバスの装置と通信できるようにすると共にその逆
をも可能にするために、チップセットで具体化された論理および回路を指す。一
例として、コンピュータ・システムで見つかる1つの共通ブリッジは、PCI−
ISAブリッジであり、一般にシステム・チップセットの一部である。PCIバ
スは、PCI拡張ブリッジ(PXB)と呼ばれる、プロセッサ・バスへのブリッ
ジも有することができる。
【0024】 本願では、「トランザクション」は、1つまたは複数の要求(アドレス)フェ
ーズおよびデータ・フェーズを含む。トランザクションは、一般に、開始アドレ
ス、トランザクション・タイプ、および転送すべきデータ量の表示を含む。
【0025】 特定のトランザクションの指示は、プロセッサの予測から決定される。したが
って、「インバウンド・トランザクション」は、一般に、ビデオ・カード、ディ
スク記憶装置、または高速ネットワーク・インターフェースなどの周辺装置によ
って、コンピュータ・システムに向けて送られる読取り要求または書込み要求を
指し、「アウトバウンド・トランザクション」は、一般に、コンピュータ・シス
テムによって周辺装置に向けて送られる読取り要求または書込み要求を指す。
【0026】 (入出力アドレス変換) 本発明の様々な特徴は、I/O拡張ブリッジでアドレス変換を実行することに
関連して一般に有用であると考えられる。本発明のこの広範な態様を説明する目
的で、次に、本発明の一実施形態を実現することのできる例示的コンピュータ・
システム・アーキテクチャを、図2を参照しながら説明する。図2は、本発明の
一実施形態による方法の1つまたは複数のステップを実行することができ、本発
明による一実施形態による装置がその中に常駐することができる汎用コンピュー
タ・システム200を示す。コンピュータ・システム200は、1つまたは複数
のプロセッサ205および210、チップセット220、メイン・メモリ225
、メモリ・バス224、およびローカルI/Oバス230などの処理手段を含む
。この実施形態によれば、チップセット220は、アドレス変換テーブル226
を含む。アドレス変換テーブルは、周辺装置235から受け取った仮想アドレス
を、メイン・メモリ225中の物理アドレスに変換するエントリ(図示せず)を
含む。以下でさらに説明するように、チップセット220は、様々なチップセッ
ト機能、例えばシステム・バス・アービトレーション、I/Oアドレス変換など
を配置させることのできる1つまたは複数の集積回路を含むことができる。この
例では、チップセット220は、ローカルI/Oバス230とシステム・バス2
15およびローカルI/Oバス230とメモリ・バス224の双方の間でブリッ
ジとして働く。そのブリッジ動作の一部として、チップセット220は、ローカ
ル・アドレス変換テーブル226にアクセスして、周辺装置235によって利用
される連続するI/Oアドレス空間を、メイン・メモリ225の物理アドレス空
間にマップする。重要なことであるが、以下でさらに説明するように、アドレス
変換テーブル226をチップセット220にローカルに(例えば専用オンチップ
またはオフチップSRAM中に)配置することによって、周辺装置235からの
インバウンド・トランザクションをより効率的に実行することができる。
【0027】 グラフィックス・アドレス変換 本発明の様々な特徴は、AGP互換グラフィックス装置によって利用されるグ
ラフィックス・アドレス空間などのグラフィックス・アドレス空間から、メイン
・メモリ225の物理アドレス空間にアドレス変換を実行するために特に有用で
あると考えられる。図3は、本発明の一実施形態による、改善された仮想アドレ
ス変換技法を実装することのできる汎用コンピュータ・システム300を示す高
レベル・ブロック図である。コンピュータ・システム300は、1つまたは複数
のプロセッサ305および310、チップセット320、メイン・メモリ225
、メモリ・バス324、アクセラレーテッド・グラフィックス・ポート(AGP
)バス330、およびPCIバス340などの処理手段を含む。図の実施形態で
は、チップセット320はグラフィックス・アドレス再配置テーブル(GART
)326を含む。GART326は、グラフィックス・アクセラレータ335か
ら受け取った仮想アドレスをメイン・メモリ325の物理アドレスに変換するた
めの情報を含むGARTエントリ(以下で説明する)を含む。
【0028】 この実施形態によれば、GART326は、メモリ・バス324を通ってメイ
ン・メモリ325中で見つけられるのではなく、チップセット320にローカル
にアクセス可能となる。チップセット320は、AGPバス330、PCIバス
340、およびメモリ・バス324との間のブリッジング機能を果たしている。
ブリッジング機能の一部として、チップセット320は、インバウンド読取りお
よび書込みトランザクション(例えば、グラフィックス・アクセラレータ335
から発信された読取りおよび書込みトランザクション)中に含まれるグラフィッ
クス・アドレスを、ローカルGART326を用いて、対応するメイン・メモリ
325中の物理アドレスに変換する。図2を参照して上記で説明したのと同様に
、チップセット320中にGART326を位置付けることによって、グラフィ
ックス・アクセラレータ335などの、周辺装置からのインバウンド・トランザ
クションをより効率的に処理し、実行することができる。重要なことであるが、
メイン・メモリ325(例えばDRAM)からデータを取り出すのにおよそ30
0〜500ナノ秒が必要であるのに対して、ローカルSRAMからの取出しは、
約30ナノ秒以下で実行することができる。
【0029】 例示的チップセット 本発明を利用することができる例示的環境を簡潔に説明したので、次に例示的
チップセット実装を、図4を参照しながら説明する。図4は、本発明の一実施形
態による、複数のユニット(例えばチップ)間の機能の例示的割り振りを示す。
この例では、チップセット320は、システム・アドレス・コントローラ(SA
C)415、システム・データ・コントローラ(SDC)420、PCI拡張ブ
リッジ(PXB)425、グラフィックス拡張ブリッジ(GXB)410、およ
び静的RAM(SRAM)405を含む。
【0030】 SAC415は、システム・バス315のアドレス部分と制御部分(図示せず
)に接続される。SACは、システム・バス315アクセスを翻訳し、適切なI
/Oポートまたはメイン・メモリ325に向けて送ることを担当する。SACは
、インバウンド・トラフィックに対して経路指定エージェントとしても働き、イ
ンバウンド・トラフィックをピアI/Oポート412または427、メイン・メ
モリ325、またはシステム・バス315に向けて送る。
【0031】 SDCは、システム・バス315上のデータ信号(図示せず)に接続され、メ
モリ・バス324およびSAC415によってメイン・メモリ325にも接続す
る。システム・バス315からメイン・メモリ325に、I/Oポート412ま
たは427の一方からメモリに、あるいはピア・ツー・ピアでI/Oポート41
2または427に転送される場合でも、すべての転送に関するデータはSDCを
通過する。SAC415とSDC420の間の接続により、システム・バス31
5へ、ならびにI/Oポート412または427への同時データ転送が可能とな
り、それによって各システム・エージェントに対する利用可能な帯域幅を最大に
することができる。代替方法実施形態では、SAC420およびSDCの機能は
、単一のシステム・メモリおよびI/Oコントローラ421に組み合わせること
ができ、または追加の集積回路を介して分散させることもできる。
【0032】 PXB425は、F16バスなどのI/Oポート427と、PCIバス340
の間のバス・プロトコル・ブリッジング機能を提供する。単一のPXB425は
、一般に、1つのI/Oポート427に接続し、2つの33Mhz、32ビット
PCIバスを形成する。あるいは、PXB425は、単一の64ビットPCIバ
スをサポートすることもできる。コンピュータ・システムは、複数のPXBを含
むことができる(一般には1〜4個)。
【0033】 GXB410は、I/Oポート412とAGPバス330の間のバス・プロト
コル・ブリッジング機能を提供することによって、I/Oポート412、例えば
2つのF16バスと、AGPバス330の間のブリッジを形成する。このように
して、GXB410は、コンピュータ・システムに高性能な専用グラフィックス
・ポートを加える。複数のGXBをコンピュータ・システム中でインスタンス化
して、複数の多重グラフィックス・ポート・ワークステーションを形成すること
ができる。GXB410の主要機能は、I/Oポート412とAGPバス330
の間のブリッジを形成することである。簡単に言えば、GXB410は、I/O
ポート412からアウトバウンド・トランザクションを受諾し、内部にそれを格
納し、次いで適切な信号プロトコルを使用して、AGPバス330に対してそれ
を送ることによってこのことを行う。逆に言えば、GXB410は、AGPバス
330に発行されたインバウンド・トランザクションを受諾し、それをこの場合
も内部に格納し、インバウンド・トランザクションに関連するグラフィックス・
アドレスに変換し、変換後インバウンド・トランザクションをI/Oポート41
2に発行する。以下にさらに詳細に説明するように、GXB410は、オンチッ
プまたはオフチップSRAM405中に格納されたGART326にアクセスす
ることによってアドレス変換を実行する。図4のチップセット・アーキテクチャ
により、いくつかの利点が達成される。第1に、GXB410はシステム・バス
315および関連するシステム・トラフィックから分離し、それによってGXB
410のリソースについての競合の源がなくなり、関連するアービトレーション
論理の必要がなくなる。第2に、GART326はGXB410中に常駐するの
で、アドレス変換処理はメイン・メモリトラフィックとは干渉せず、メモリ・バ
ス324はより効率的に使用される。加えて、GART326にアクセスするロ
ーカルSRAMは、GXB410がメモリ・バス324を介して進まなければな
らない場合よりも約10倍高速になる。したがって、最終結果として、AGPバ
ス330上のトランザクションを処理するためのプロトコル・ブリッジが改善さ
れる。この改善されたプロトコル・ブリッジは、前述の、現在のブリッジング技
法よりも単純であり、高速であり、かつ効率的である。GXB410の例示的な
内部区分化を以下で説明する。
【0034】 重要なことであるが、最近の集積化の波を考えて、GXB410構成要素のう
ちの1つまたは複数を単一の集積回路(IC)上に統合できることを企図する。
加えて、代替実施形態では、GXB410構成要素のうちの1つまたは複数を、
単一の集積回路上のプロセッサおよび/またはメモリで統合することもできる。
【0035】 グラフィックス拡張ブリッジ機能区分化 次に、特定のユニットへの、GXB410の様々な機能の例示的区分化を、図
5Aを参照しながら説明する。図5Aは、本発明の一実施形態によるグラフィッ
クス拡張ブリッジの機能単位間の高レベル相互接続を示す概略ブロック図である
。この例では、GXB410は、AGPバス・インターフェース・ユニット50
5、データ・バッファ・ユニット510、トランザクション・キュー・ユニット
515、GARTユニット520、およびI/Oポート・インターフェース・ユ
ニット525を含む。AGPバス・インターフェース・ユニット505は、66
Mhz、32−ビットPCIバスに基づくことができる。実際には、実装を容易
にするために、AGPバス・インターフェース・ユニット505を、コアPCI
バスと、AGP機能を追加する増分論理にさらに分割することができる。AGP
側では、AGPバス・インターフェース・ユニット505は、インバウンド・ト
ランザクションとアウトバウンド・トランザクションとの間でAGPバス330
所有権を管理するためのアービトレーション論理(図示せず)を含む。加えて、
バス制御信号およびアドレスが、AGPバス・インターフェース・ユニット50
5によって供給され、AGPバス330を介したAGPデータ転送が可能となる
。AGPバス・インターフェース・ユニット505は、必要などんなイントラ・
ストリーム記録も実行し、かつ、トランザクションを処理するためにトランザク
ション・キュー・ユニット515中で十分なリソースが利用可能となるまでトラ
ンザクションを保持するために、内部トランザクション・キューおよびデータ・
バッファ(図示せず)を維持することもできる。
【0036】 以下でさらに詳細に説明するように、トランザクション・キュー・ユニット5
15は、インバウンド・トランザクションおよびアウトバウンド・トランザクシ
ョンについての、1つまたは複数の内部トランザクション・キューを実装する。
様々なデータ・バッファリングの必要をサポートするために、GXB410中に
バッファ・スペースも実装することができる。例えば、データ・バッファ・ユニ
ット510は、GXB410内にデータを一時的に格納するためのデータ・バッ
ファを含むことができる。このデータ・バッファは、各指示でのトランザクショ
ン・タイプごとに別々のバッファとして実装することができ、または共通バッフ
ァとして実装することができる。
【0037】 前述のように、現在のグラフィックス・アドレス変換機構では、GART12
6はメイン・メモリ125中に格納される。したがって、そのような実装では、
GART機能はメイン・メモリ125の近くで実行される。それとは対照的に、
本実施形態によれば、GART機能は、GARTユニット520によってGXB
410内で実行される。一実施形態によれば、GARTユニットは、プッシュ・
モデルを実装し、有効なトランザクションがトランザクション・キューの1つに
あるときはいつでも、トランザクションを変換する。これに関して、GARTユ
ニット520は、トランザクション・キューからインバウンド・トランザクショ
ンを受諾し、必要に応じてそのトランザクションを変換することを担当する。こ
こで示す実施形態では、GARTユニット520は、GART326を含むロー
カル・オフチップSRAM405に結合される。あるいは、GART326は、
オンチップSRAM中に格納することもできる。GARTユニット520は、S
RAM405の内容をプログラムすることも担当する。SRAM405は、無効
として初期化するか、またはどんなアクセスが開始する前にもプログラムすべき
である。例えば新しいアプリケーションが開始するごとに動的にSRAM405
をプログラムするように、GARTユニット520に指示することができる。プ
ログラミングは、システム・バス315からプログラミング・アクセス要求を発
行することによって達成することができる。
【0038】 I/Oポート・インターフェース・ユニット525は、1つまたは複数のI/
Oポートを介する要求およびデータ転送を使用可能にすることによって、1つま
たは複数のI/Oポートに対するインターフェースを提供する。例えば、一実施
形態によれば、I/Oポート・インターフェース・ユニット525は、2つのF
16バスとインターフェースをとる。I/Oポート・インターフェース・ユニッ
ト525は、可用性およびストリーム優先度に基づいてトランザクション・キュ
ー・ユニット515中に維持されるインバウンド・トランザクション・キューか
らトランザクションを削除し、適切なI/Oポート412を通じてトランザクシ
ョンを送信する。要求が書込みである場合、データがデータ・バッファ・ユニッ
ト510の中の適切なバッファから読み取られ、送信もされる。アウトバウンド
・トランザクションについては、トランザクション・キュー・ユニット515中
の適切なアウトバウンド・トランザクション・キューにエントリが加えられる。
必要な場合、アウトバウンド・トランザクションに関連するデータは、データ・
バッファ・ユニット510中の適切なバッファに送られる。
【0039】 この説明では、トランザクションと、それに関係するデータは、別々の単位に
区分される。しかし、様々な他の代替方法実施形態を企図することができる。例
えば、一実施形態によれば、関係するデータ・バッファおよびトランザクション
は、グループ化することができる。したがって、本明細書で開示される事柄は、
GXB機能の特定の区分化に基づく実施形態に本発明を限定するものとして解釈
すべきではない。
【0040】 図5Bは、本発明の一実施形態によるグラフィックス拡張ブリッジ410のよ
り詳細なビューを示す概略ブロック図である。この例によれば、AGP仕様の精
神において、高および低AGPおよびPCIストリームが、I/Oポート・イン
ターフェース・ユニット525まで、別々の構造として維持される。トランザク
ション・キュー・ユニット515は、AGP低優先度キュー560、AGP高優
先度キュー565、PCIインバウンド・キュー570、SACインバウンド制
御論理580、SACアウトバウンド制御論理585、PCIアウトバウンド・
キュー590を含む。AGPバス・インターフェース・ユニット505は、AG
Pバス330からインバウンドAGPトランザクションを受け取り、それを適切
なキュー560、565、または570に加える。例えば、AGPバス330か
らのインバウンドPCIトランザクションは、AGPバス・インターフェース・
ユニット505によってPCIインバウンド・キュー570に発送される。
【0041】 SACアウトバウンド制御論理585は、I/Oポート412からアウトバウ
ンド・トランザクションを受け取り、それをPCIアウトバウンド・キュー59
0上に待ち行列化する。PCIアウトバウンド・キュー590は、AGPバス・
インターフェース・ユニット505によってアンロードされる。重要なことであ
るが、アウトバウンド・トランザクションはアドレス変換を必要としないので、
GARTユニット520を介して進む必要がない。
【0042】 この実施形態によれば、GARTユニット620は、アービトレーション・ユ
ニット530、実行ユニット535、および書戻しユニット540を含む。アー
ビトレーション・ユニット530は、(1)AGPおよびPCIアクセスと、構
成制御ユニット595から来るSRAMアクセス(プログラミング・アクセス)
との間のアービトレーション、(2)SRAMアドレス(GART索引)の生成
という2つの主要な機能を実行する。アービトレーション・ユニット530のア
ービトレーション機能は、トランザクション・キュー560、565、および5
70の先頭のトランザクションのうちのどのトランザクションを次に変換するか
を決定するものである。トランザクション・キュー560、565、および57
0中のインバウンド・トランザクションに関連する仮想アドレス(一実施形態で
は40ビット幅である)は、SRAM 405に直接供給するには広過ぎる。し
たがって、アービトレーション・ユニット530のSRAMアドレス生成関数(
GART指標生成関数)は、アービトレーションを得たトランザクションの仮想
アドレスに基づいてSRAMアドレスを決定する。次いで、アービトレーション
・ユニット530は、SRAMオペレーションのための適切な制御信号(例えば
書込みまたは読取り)をアサートすべき実行ユニット535と通信することがで
きる。このようにして、実行ユニット535は、アドレスをさらに処理する必要
がなく、直ちにSRAMサイクルを発行することができる。あるいは、アービト
レーション・ユニット530は、SRAMアドレスで実行ユニット535を提供
することもでき、実行ユニット535は、全パケットをアセンブルし、それをS
RAM405に発行することができる。
【0043】 理想的には、SRAM405は、パイプライン・モードで動作すべきであり、
クロックごとに、アービトレーション・ユニット530は、変換すべき次のトラ
ンザクションについてのアドレスを供給し、次のトランザクションの可用性を実
行ユニット535に通信することができるべきである。
【0044】 一実施形態では、実行ユニット535は、適切な時にSRAM制御信号をアサ
ートし、デアサートすることによって、様々なSRAMオペレーションを開始し
、制御する。代替実施形態では、実行ユニット535は、アービトレーション・
ユニット530からの着信SRAMアドレスを処理し、それをSRAM405に
送ることによってそれを実行することを含む実行ステージを実行することができ
る。実行ユニット535がGARTエントリを受け取ったとき、アドレス変換を
実行するためにGARTエントリを使用し、またはそれを廃棄する。GARTエ
ントリに対応するインバウンド・トランザクション・アドレスがGARTアパー
チャ内にある場合、GARTエントリを使用してアドレス変換が実行される。し
かし、インバウンド・トランザクション・アドレスがGARTアパーチャの外に
ある場合(例えば物理アドレスである場合)、GARTエントリは飛ばされ、変
換は実行されない。代替実施形態では、実行ユニット535は、古い変換を保持
し、または変換索引バッファを使用して、アドレス変換を行うことができる。い
ずれにしても、「変換後アドレス」、例えば元のインバウンド・トランザクショ
ン・アドレスまたは物理アドレスは、書戻しユニット540に供給される。
【0045】 書戻しユニット540は、SRAMデータを受け取り、実行ユニット535に
よって供給された情報を使用し、構成制御ユニット595は、データをフォーマ
ットしてそれを正しい宛先(例えばトランザクション・キュー・ユニット515
の中のキューのエントリ)に発送する。例えば、ここで示す実施形態によれば、
書戻しユニット540は、インバウンド・トランザクションの仮想アドレスを、
実行ユニットによって供給される変換後アドレスで上書きすることを担当する。
【0046】 高レベル・トランザクション処理 図6は、本発明の一実施形態によるトランザクション処理を概念的に示す高レ
ベルの流れ図である。この例では、ステップ610で、トランザクションを受け
取る。その後、ステップ620で、トランザクション・タイプに基づいて、アド
レス変換を実行するかどうかの決定を行う。トランザクションがインバウンド・
トランザクション(例えば、AGPバス330から受け取ったトランザクション
)である場合、トランザクション処理はステップ630に進む。そうでない場合
、トランザクションがアウトバウンド・トランザクション(例えば1つまたは複
数のI/Oポート412から受け取ったトランザクション)である場合、処理は
ステップ640に進む。ステップ630で変換処理を実行する。便宜上、GAR
TエントリをSRAM410から予測的に取り出すことができるが、すべてのイ
ンバウンド・トランザクションが変換されるわけではない。例えば、AGP範囲
外の仮想アドレス(例えばGARTアパーチャ)を指定するインバウンド・トラ
ンザクションは、変換されないことになる。ステップ640では、アウトバウン
ド・トランザクションは変換処理を迂回する。最後に、ステップ650では、適
切なバスのトランザクションを実行する(例えば、1つまたは複数のI/Oポー
ト412に対してインバウンド・トランザクションを実行し、AGPバス330
に対してアウトバウンド・トランザクションを実行する)。
【0047】 インバウンドPCI書込みトランザクション処理 好ましくは、図5Bに示すように、GXB410は、AGPバス330上で受
け取ったAGPトランザクションおよびPCIトランザクションの両方を処理し
、下位互換性のレベルを提供するように構成される。GXB410を通過する処
理は、PCI、低優先度AGP、および高優先度AGPストリームのそれぞれに
対して非常に類似している。したがって、例示的なPCIトランザクションの処
理だけを本明細書で説明する。
【0048】 図7は、本発明の一実施形態によるインバウンドPCI書込みトランザクショ
ン処理を示す流れ図である。ここで説明する例では、ステップ710で、PCI
サイクルは、AGPバス330上で動作してPCIトランザクションをGXB4
10に送り、その後にPCIトランザクションに関連するデータが続く。ステッ
プ720では、PCIトランザクションをPCIインバウンド・バッファ570
中にバッファリングする。アービトレーションを得ると、以下でさらに詳細に説
明するように、PCIトランザクションに関連する仮想アドレスをメイン・メモ
リ325中の物理アドレスに変換する(ステップ730)。PCIトランザクシ
ョンの仮想アドレスは、ステップ740で、変換後アドレスで上書きされる。G
ARTエントリの検索の予測的な性質のために、変換を実行すべきでないとき、
変換後アドレスを仮想アドレスと同じにすることができる。いずれにしても、ス
テップ750で、トランザクションを適切なI/Oポート412に対して実行す
ることができるまで、変換後PCIトランザクションをSACインバウンド・バ
ッファ580中にバッファリングする。最後に、I/Oポート412に対して書
込みサイクルを実行することによって、変換後PCIトランザクションを実行す
る。
【0049】 アウトバウンドPCI書込みトランザクション処理 前述のように、アウトバウンド・トランザクションをGXB410で変換する
必要はない。このことをさらに示すために、次に、アウトバウンドPCI書込み
トランザクションに関連する処理を図8を参照しながら説明する。この例によれ
ば、I/Oポート412に対して書込み要求を実行し、PCI要求が受け取られ
、SACアウトバウンド制御論理585に発送される(ステップ810および8
20)。PCI要求に関連するデータは、データ・バッファ・ユニット510に
転送される。ステップ840では、アービトレーション時間スロットを得ると、
AGPバス330に対して書込みサイクルを実行することによって、アウトバウ
ンドPCI書込みトランザクションを実行する。アウトバウンドPCI書込みト
ランザクションが首尾よく完了した後に、書込み完了表示を供給することができ
る(ステップ850および860)。
【0050】 アドレス変換の概要 図9は、本発明の一実施形態による物理アドレス空間変換に対するグラフィッ
クス(仮想)を概念的に示す。簡潔には、この例では、仮想アドレス915は、
AGPアドレス920およびオフセット925を含む。仮想アドレス915は、
例えばグラフィックス・アクセラレータ335が利用する、連続する論理アドレ
ス空間中のアドレスを表す。AGPアドレス920、その一部、またはAGPア
ドレス920から導出される他の情報は、GART905からの適切なエントリ
を取り出すために使用される。GARTエントリ内に含まれる情報は、仮想アド
レス915に対応する物理アドレスを含むメイン・メモリ325中の物理ページ
を識別する。GARTエントリで識別される物理ページは、仮想アドレス915
からのオフセット925と共に組み合わされ、メイン・メモリ・アドレス930
が形成される。
【0051】 複数ページ・サイズのサポート 一実施形態によれば、GXB410は、メイン・メモリ325中の2つの異な
るページ・サイズをサポートする。仮想アドレス915の変換は、対応する物理
アドレスがその中に常駐するページ・サイズに依存する。一実施形態では、GA
RTアパーチャ内にあるすべてのページに対して固定ページ・サイズ(例えば4
Kバイトまたは4Mバイト)が使用され、ページ・サイズの表示は、システム・
ブート中にGXB410中の制御レジスタ中に格納される。現在、AGPプログ
ラミング・モデルは、GARTエントリに対して4Kバイト・ページを用いて設
計される。より大きなページ・サイズ(例えば2Mバイト、4Mバイトなど)を
使用可能にすることによって、GXB410は、高性能コンピュータ・システム
と互換となる。
【0052】 上記で、GARTアパーチャ中のすべてのページは1つのサイズまたは別のサ
イズであるが、代替実施形態では、GARTアパーチャは、異なるサイズのペー
ジを同時に含むことができる。この実施形態では、以下で説明するように、アド
レス変換を動的に制御する必要がある。
【0053】 図10Aに、メイン・メモリ内の4Kバイト・ページ中に常駐するデータを参
照するために利用することができる、例示的な仮想アドレス・フォーマットを示
す。この実施形態によれば、仮想アドレス915は40ビット幅である。AGP
アドレス1020は28ビットを有し、オフセット1025は12ビットを有す
る。
【0054】 図10Bに、メイン・メモリ内の4Mバイト・ページ中に常駐するデータを参
照するために利用することができる、例示的な仮想アドレス・フォーマットを示
す。この実施形態によれば、仮想アドレス915はやはり40ビット幅である。
しかし、AGPアドレス1021は18ビットに減少し、オフセット1025は
22ビットに増加する。様々な他のページ・サイズも収容できるものとする。
【0055】 図11Aに、メイン・メモリ内の4Kバイト・ページへのアドレス変換をサポ
ートするための、例示的なGARTエントリ・フォーマット1105を示す。こ
の例では、エントリ1105は32ビット幅で、パリティ・ビット1115、コ
ヒーレンス・ビット1120、有効ビット1125、新しいページ・アドレス1
130、および予約済み領域1110を含む。各エントリは、1つの4Kバイト
・ページをカバーする。256kエントリ、または4Kバイト・ページについて
の合計1GBの変換可能スペースを保持するのに1メガバイトで十分である。
【0056】 パリティ・ビット1115は、GARTエントリ1105全体をカバーする。
パリティ・ビット1115はハードウェアで生成することができ、パリティ・ビ
ット1115を含む1の合計数が、偶数または奇数になるように計算することが
できる。
【0057】 コヒーレント・ビット1120は、グラフィックス・カードからのトラフィッ
クがシステム・バス315とコヒーレントである必要があるかどうかを示す。コ
ヒーレンスは以下でさらに論じる。
【0058】 有効ビット1125は、SRAM405がこのエントリに関する有効データを
含むかどうかを示す。データがこのエントリに関して有効であることを有効ビッ
ト1125が示す場合、アドレス変換のためにこのエントリを使用することがで
きる。
【0059】 この例では、この新しいページ・アドレス1130は24ビット幅である。こ
の新しいページ・アドレス1130は、所望の物理アドレスを含むメイン・メモ
リ325中の4Kバイト物理ページの開始アドレスを含む。
【0060】 図11Bに、メイン・メモリ内の4Mバイト・ページへのアドレス変換をサポ
ートするための、例示的なGARTエントリ・フォーマットを示す。この例では
、上記と同様に、エントリ1106は32ビット幅で、パリティ・ビット111
6、コヒーレンス・ビット1121、有効ビット1126、新しいページ・アド
レス1131、および予約済み領域1111および1136を含む。各エントリ
は、4Mバイト・ページをカバーする。
【0061】 上記と同様に、パリティ・ビット1116は、GARTエントリ1106全体
をカバーし、パリティ・ビット1116を含む1の合計数が、偶数または奇数に
なるように計算することができる。
【0062】 コヒーレンス・ビット1121は、グラフィックス・カードからのトラフィッ
クがシステム・バス315とコヒーレントである必要があるかどうかを示す。コ
ヒーレンスは以下でさらに論じる。
【0063】 有効ビット1126は、SRAM405が当該のエントリに関する有効データ
を含むかどうかを示す。データがこのエントリに関して有効であることを有効ビ
ット1126が示す場合、アドレス変換のためにこのエントリを使用することが
できる。
【0064】 この例では、この新しいページ・アドレス1131は14ビット幅である。こ
の新しいページ・アドレス1131は、所望の物理アドレスを含むメイン・メモ
リ325中の4Mバイト物理ページの開始アドレスを含む。
【0065】 代替実施形態では、ビットおよびフィールドの相対的位置決めを図11Aおよ
び図11Bの例で示したものとは異なるものとすることができる。やはり、代替
実施形態では、エントリ・フォーマットは、宛先ページ・サイズ(例えば4Kバ
イトまたは4Mバイト)を示すためのページ・モードビットも含むことができ、
アドレス変換プロセスの動的制御を実現することができる。このようにして複数
の異なるページ・サイズを同時にサポートすることができる。
【0066】 (コヒーレンス) グラフィックス・カード(例えばグラフィックス・アクセラレータ335)か
らのトラフィックは、システム・バス325とコヒーレントにしたいこともあり
、そうでないこともある。一実施形態によれば、コヒーレンスはページごとに選
択可能である。この開示では、「コヒーレンス」とは、1つまたは複数のプロセ
ッサ305および310がアドレスに関するキャッシュをスヌープすることがで
きるように、そのアドレスがシステム・バス325上に出現することを意味する
。テクスチャ・マップまたは他のイメージ・データが、プロセッサによって、書
込み結合(WC)とマークされた場合、そのデータはコヒーレントではない。プ
ロセッサのWCバッファ中でヒットする、システム・バス325に対するアドレ
スはスヌープされない。あるいは、アプリケーションは、メイン・メモリ325
中のデータがプロセッサによって使用されなかった(例えば、データがディスク
から来た)ことを認識し、システム・バス325帯域幅を使用せずにデータを取
り出すようにグラフィックス・カードに要求し、したがって強制的にアクセスを
非コヒーレントにすることができる。
【0067】 前述と同様に、AGP範囲中にヒットするすべてのAGPタイプ・アクセスに
ついて、アドレスがコヒーレントであるかどうかを判定するGARTエントリご
とのビットが存在する。AGP範囲外のAGPタイプ・アクセスについて、情報
(例えば1ビット・コヒーレンス標識)をGXB410の構成レジスタから読み
取り、コヒーレンスを判定することができる。重要なことであるが、コヒーレン
スまたは非コヒーレンスは、AGPプロトコルを使用するアクセスだけに当ては
まる。PCIプロトコルを使用するアクセスは、変換テーブルにヒットするかど
うかに関わらず、常にコヒーレントに行われる。
【0068】 上記の明細書において、本発明の特定の実施形態を参照しながら本発明を説明
した。しかし、本発明のより広範な精神および範囲から逸脱することなく、それ
に対して様々な修正形態および変更を行えることは明らかであろう。したがって
、この明細書および図面は、限定的な意味ではなく、例示的な意味とみなすべき
である。
【図面の簡単な説明】
【図1】 グラフィックス・アドレス変換のための従来技術の手法を示すブロック図であ
る。
【図2】 本発明の一実施形態による入出力アドレス変換を示すブロック図である。
【図3】 本発明の一実施形態によるグラフィックス・アドレス変換を示すブロック図で
ある。
【図4】 本発明の実施形態を実装することができる例示的チップセットを示すブロック
図である。
【図5A】 本発明の一実施形態によるグラフィックス拡張ブリッジの機能単位間の高レベ
ル相互接続を示す単純化したブロック図である。
【図5B】 本発明の一実施形態によるグラフィックス拡張ブリッジのより詳細なビューを
示す単純化したブロック図である。
【図6】 本発明の一実施形態によるトランザクション処理を概念的に示す高レベル流れ
図である。
【図7】 本発明の一実施形態によるインバウンドPCI書込みトランザクション処理を
示す流れ図である。
【図8】 本発明の一実施形態によるアウトバウンドPCI書込みトランザクション処理
を示す流れ図である。
【図9】 本発明の一実施形態によるグラフィックス(仮想)−物理アドレス空間変換を
概念的に示す図である。
【図10】 メイン・メモリ内の4Kバイト・ページ中に常駐するデータを参照するために
利用することができる例示的仮想アドレス・フォーマットを示す図である。
【図11】 メイン・メモリ内の4Kバイト・ページへのアドレス変換をサポートするため
の例示的GARTエントリ・フォーマットを示す図である。
───────────────────────────────────────────────────── フロントページの続き (81)指定国 EP(AT,BE,CH,CY, DE,DK,ES,FI,FR,GB,GR,IE,I T,LU,MC,NL,PT,SE),OA(BF,BJ ,CF,CG,CI,CM,GA,GN,GW,ML, MR,NE,SN,TD,TG),AP(GH,GM,K E,LS,MW,MZ,SD,SL,SZ,TZ,UG ,ZW),EA(AM,AZ,BY,KG,KZ,MD, RU,TJ,TM),AE,AG,AL,AM,AT, AU,AZ,BA,BB,BG,BR,BY,BZ,C A,CH,CN,CR,CU,CZ,DE,DK,DM ,DZ,EE,ES,FI,GB,GD,GE,GH, GM,HR,HU,ID,IL,IN,IS,JP,K E,KG,KP,KR,KZ,LC,LK,LR,LS ,LT,LU,LV,MA,MD,MG,MK,MN, MW,MX,MZ,NO,NZ,PL,PT,RO,R U,SD,SE,SG,SI,SK,SL,TJ,TM ,TR,TT,TZ,UA,UG,US,UZ,VN, YU,ZA,ZW (72)発明者 クロス,レナード・ダブリュ アメリカ合衆国・97229・オレゴン州・ポ ートランド・ノースウエスト 124ティエ イチ プレイス・3701 Fターム(参考) 5B005 JJ11 KK16 LL11 RR02 5B061 FF04 FF05 GG02 RR07

Claims (19)

    【特許請求の範囲】
  1. 【請求項1】 1つまたは複数のI/Oポートを介してシステム・メモリお
    よびI/Oコントローラに結合するように構成され、1つまたは複数のI/Oポ
    ートを介してコンピュータ・システムのメイン・メモリとの間でデータ転送を可
    能にする第1インターフェース・ユニットと、 バスを介して周辺装置との間でのデータ転送を可能にするためにバス制御信号
    およびアドレスを供給する第2インターフェース・ユニットと、 第1インターフェース・ユニットおよび第2インターフェース・ユニットと結
    合され、コンピュータ・システムのメイン・メモリ内のページの物理アドレスを
    含むローカル・メモリにアクセスすることによって、第2インターフェースで受
    け取ったトランザクションに関連するアドレスを変換するアドレス変換ユニット
    とを備える入出力(I/O)拡張ブリッジ。
  2. 【請求項2】 バスがアクセラレーテッド・グラフィックス・ポート(AG
    P)バスを備える請求項1に記載のI/O拡張ブリッジ。
  3. 【請求項3】 ローカル・メモリが、その中にグラフィックス・アドレス再
    配置テーブル(GART)を含む請求項2に記載のI/O拡張ブリッジ。
  4. 【請求項4】 ローカル・メモリがオンチップのスタティック・ランダム・
    アクセス・メモリ(SRAM)を備える請求項3に記載のI/O拡張ブリッジ。
  5. 【請求項5】 ローカル・メモリがオフチップのスタティック・ランダム・
    アクセス・メモリ(SRAM)を備える請求項3に記載のI/O拡張ブリッジ。
  6. 【請求項6】 メイン・メモリ内のページにそれぞれ関連し、ページ内のア
    ドレスをコンピュータ・システムのプロセッサ・バスでスヌープすべきか否かを
    識別する表示を含む複数のエントリをGARTが含む請求項3に記載のI/O拡
    張ブリッジ。
  7. 【請求項7】 アドレス変換ユニットが、第1フォーマットまたは第2フォ
    ーマットに従うGART内のエントリを解釈することによって、複数のページ・
    サイズをサポートする請求項3に記載のI/O拡張ブリッジ。
  8. 【請求項8】 複数のページ・サイズが、4Kバイト・ページ、2Mバイト
    ・ページ、および4Mバイト・ページのうち2つ以上を含む請求項7に記載のI
    /O拡張ブリッジ。
  9. 【請求項9】 1つまたは複数のI/Oポートを介してシステム・メモリお
    よびI/Oコントローラに結合するように構成され、1つまたは複数のI/Oポ
    ートを介してコンピュータ・システムのメイン・メモリとの間でデータ転送を可
    能にする第1インターフェース・ユニットと、 バス制御信号およびアドレスを供給し、AGPバスを介して周辺装置との間で
    データ転送を可能にするアクセラレーテッド・グラフィックス・ポート(AGP
    )インターフェース・ユニットと、 第1インターフェース・ユニットおよびAGPインターフェース・ユニットと
    結合され、グラフィックス・アドレス再配置テーブル(GART)を含むオフチ
    ップのスタティック・ランダム・アクセス・メモリ(SRAM)にアクセスする
    ことによって、AGPバスで受け取ったインバウンドAGPトランザクションに
    関連するグラフィックス・アドレスを変換し、GARTが、コンピュータ・シス
    テムのメイン・メモリ内のページの物理アドレスを含むアドレス変換ユニットと
    を備えるグラフィックス拡張ブリッジ。
  10. 【請求項10】 メイン・メモリ内のページにそれぞれ関連し、ページ内の
    アドレスをコンピュータ・システムのプロセッサ・バスでスヌープすべきか否か
    を識別する表示を含む複数のエントリをGARTが含む請求項9に記載のグラフ
    ィックス拡張ブリッジ。
  11. 【請求項11】 アドレス変換ユニットが、第1フォーマットまたは第2フ
    ォーマットに従うGART内のエントリを解釈することによって複数のページ・
    サイズをサポートする請求項9に記載のI/O拡張ブリッジ。
  12. 【請求項12】 複数のページ・サイズが、4Kバイトおよび4Mバイトを
    含む請求項11に記載のI/O拡張ブリッジ。
  13. 【請求項13】 1つまたは複数の入出力(I/O)ポートと、アクセラレ
    ーテッド・グラフィックス・ポート(AGP)バスとの間のバス・プロトコル・
    ブリッジング機能を提供し、ローカル・メモリ内に格納されたグラフィックス・
    アドレス再配置テーブル(GART)に基づいて、インバウンド・トランザクシ
    ョンに関連する仮想アドレスを、コンピュータ・システムのメイン・メモリ内の
    物理アドレスに変換するように構成されたブリッジング手段と、 コンピュータ・システムのブリッジング手段に結合され、システム・バスおよ
    びメモリ・バスに結合するように構成された、ブリッジング手段のためにメイン
    ・メモリとの間でのデータ転送を実行するコントローラ手段と を備えるチップセット。
  14. 【請求項14】 1つまたは複数の入出力(I/O)ポートと、アクセラレ
    ーテッド・グラフィックス・ポート(AGP)バスとの間でのバス・プロトコル
    ・ブリッジング機能を提供し、ローカル・メモリ内に格納されたグラフィックス
    ・アドレス再配置テーブル(GART)に基づいて、インバウンド・トランザク
    ションに関連する仮想アドレスを、コンピュータ・システムのメイン・メモリ内
    の物理アドレスに変換するように構成されたグラフィックス拡張ブリッジと、 グラフィックス拡張ブリッジに結合され、コンピュータ・システムのシステム
    ・バスおよびメモリ・バスに結合するように構成され、グラフィックス拡張ブリ
    ッジのためにメイン・メモリとの間でのデータ転送を実行するように構成された
    システム・メモリおよびI/Oコントローラとを備えるチップセット。
  15. 【請求項15】 ブリッジが、ローカルI/OバスでI/Oトランザクショ
    ンを受け取るステップと、 I/Oトランザクションに関連するアドレスおよびオフセットを決定するステ
    ップと、 ブリッジに直接結合されたローカル・メモリ内に格納されているアドレス変換
    テーブルからアドレスに基づいてエントリを取り出すステップと、 エントリおよびオフセットに基づいて、コンピュータ・システムのメイン・メ
    モリ内の位置を識別する物理アドレスを形成するステップと を含むブリッジ内で入出力(I/O)トランザクションを変換する方法。
  16. 【請求項16】 ローカルI/Oバスが、アクセラレーテッド・グラフィッ
    クス・ポート(AGP)バスを備え、ブリッジがローカルI/OバスでI/Oト
    ランザクションを受け取るステップが、ブリッジがAGPバスでAGPトランザ
    クションを受け取るステップを含む請求項15に記載の方法。
  17. 【請求項17】 ローカル・メモリが、静的ランダム・アクセス・メモリ(
    SRAM)を備える請求項15に記載の方法。
  18. 【請求項18】 前記位置が、メイン・メモリ内の4Kバイト・ページまた
    は4Mバイト・ページ内に常駐するかどうかを判定するステップと、 前記判定するステップの結果に基づいてエントリを解釈するステップとをさら
    に含む請求項15に記載の方法。
  19. 【請求項19】 物理アドレスへのアクセスをコヒーレントにすべきか、そ
    れとも非コヒーレントにすべきかを決定するステップをさらに含む請求項15に
    記載の方法。
JP2001520657A 1999-08-30 2000-08-18 ローカルi/oバスに近接するブリッジでの入出力(i/o)アドレス変換 Expired - Fee Related JP4607405B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/385,209 1999-08-30
US09/385,209 US6457068B1 (en) 1999-08-30 1999-08-30 Graphics address relocation table (GART) stored entirely in a local memory of an expansion bridge for address translation
PCT/US2000/022833 WO2001016772A1 (en) 1999-08-30 2000-08-18 Input/output (i/o) address translation in a bridge proximate to a local i/o bus

Publications (3)

Publication Number Publication Date
JP2003508850A true JP2003508850A (ja) 2003-03-04
JP2003508850A5 JP2003508850A5 (ja) 2007-08-16
JP4607405B2 JP4607405B2 (ja) 2011-01-05

Family

ID=23520487

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001520657A Expired - Fee Related JP4607405B2 (ja) 1999-08-30 2000-08-18 ローカルi/oバスに近接するブリッジでの入出力(i/o)アドレス変換

Country Status (10)

Country Link
US (2) US6457068B1 (ja)
EP (1) EP1208443B1 (ja)
JP (1) JP4607405B2 (ja)
KR (1) KR100432470B1 (ja)
CN (1) CN1213374C (ja)
AU (1) AU6789800A (ja)
DE (1) DE60026539T2 (ja)
HK (1) HK1043222B (ja)
TW (1) TW552515B (ja)
WO (1) WO2001016772A1 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007519102A (ja) * 2003-12-24 2007-07-12 インテル・コーポレーション グラフィックスメモリ・スイッチ
JP2007257637A (ja) * 2006-03-23 2007-10-04 Internatl Business Mach Corp <Ibm> アクセラレータ用低コストのキャッシュ一貫性を維持する方法及びシステム
JP2011118732A (ja) * 2009-12-04 2011-06-16 Yokogawa Electric Corp I/oノード
JP2016051420A (ja) * 2014-09-02 2016-04-11 株式会社メガチップス バスブリッジ及びバスブリッジ群
JP2017151622A (ja) * 2016-02-23 2017-08-31 富士通株式会社 情報処理装置、演算処理装置及び情報処理装置の制御方法

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6457068B1 (en) * 1999-08-30 2002-09-24 Intel Corporation Graphics address relocation table (GART) stored entirely in a local memory of an expansion bridge for address translation
US6785759B1 (en) * 2000-05-10 2004-08-31 International Business Machines Corporation System and method for sharing I/O address translation caching across multiple host bridges
US6789154B1 (en) * 2000-05-26 2004-09-07 Ati International, Srl Apparatus and method for transmitting data
US6748512B2 (en) * 2000-12-08 2004-06-08 Intel Corporation Method and apparatus for mapping address space of integrated programmable devices within host system memory
US7009618B1 (en) * 2001-07-13 2006-03-07 Advanced Micro Devices, Inc. Integrated I/O Remapping mechanism
US7069442B2 (en) 2002-03-29 2006-06-27 Intel Corporation System and method for execution of a secured environment initialization instruction
JP2004087867A (ja) * 2002-08-28 2004-03-18 Renesas Technology Corp 半導体集積回路装置
US7900017B2 (en) 2002-12-27 2011-03-01 Intel Corporation Mechanism for remapping post virtual machine memory pages
GB0301448D0 (en) * 2003-01-22 2003-02-19 Falanx Microsystems As Microprocessor systems
US6874042B2 (en) * 2003-03-11 2005-03-29 Dell Products L.P. System and method for using a switch to route peripheral and graphics data on an interconnect
US7073010B2 (en) * 2003-12-02 2006-07-04 Super Talent Electronics, Inc. USB smart switch with packet re-ordering for interleaving among multiple flash-memory endpoints aggregated as a single virtual USB endpoint
US7296139B1 (en) 2004-01-30 2007-11-13 Nvidia Corporation In-memory table structure for virtual address translation system with translation units of variable range size
US7278008B1 (en) 2004-01-30 2007-10-02 Nvidia Corporation Virtual address translation system with caching of variable-range translation clusters
US7334108B1 (en) 2004-01-30 2008-02-19 Nvidia Corporation Multi-client virtual address translation system with translation units of variable-range size
US7496706B2 (en) * 2004-06-30 2009-02-24 Intel Corporation Message signaled interrupt redirection table
CN100345136C (zh) * 2004-06-30 2007-10-24 中国科学院计算技术研究所 使64位处理器兼容32位桥接芯片的系统及转换装置
US8533777B2 (en) 2004-12-29 2013-09-10 Intel Corporation Mechanism to determine trust of out-of-band management agents
US7469312B2 (en) * 2005-02-24 2008-12-23 International Business Machines Corporation Computer system bus bridge
US20060190655A1 (en) * 2005-02-24 2006-08-24 International Business Machines Corporation Apparatus and method for transaction tag mapping between bus domains
US7339591B2 (en) * 2005-03-10 2008-03-04 Microsoft Corporation Method to manage graphics address remap table (GART) translations in a secure system
US7370137B2 (en) * 2005-06-06 2008-05-06 Intel Corporation Inter-domain data mover for a memory-to-memory copy engine
US20070005865A1 (en) * 2005-06-29 2007-01-04 Spry Bryan L Enforcing global ordering using an inter-queue ordering mechanism
US20080028181A1 (en) * 2006-07-31 2008-01-31 Nvidia Corporation Dedicated mechanism for page mapping in a gpu
WO2008033963A2 (en) * 2006-09-12 2008-03-20 Boa Technology, Inc. Closure system for braces, protective wear and similar articles
US20080259556A1 (en) * 2007-04-20 2008-10-23 Tracy Mark S Modular graphics expansion system
US20090157949A1 (en) * 2007-12-18 2009-06-18 Leibowitz Robert N Address translation between a memory controller and an external memory device
US7904693B2 (en) * 2008-02-01 2011-03-08 International Business Machines Corporation Full virtualization of resources across an IP interconnect using page frame table
US7900016B2 (en) * 2008-02-01 2011-03-01 International Business Machines Corporation Full virtualization of resources across an IP interconnect
CN101414970B (zh) * 2008-11-26 2011-11-30 中兴通讯股份有限公司 Ioc模块分配方法及io交换器
US8291415B2 (en) * 2008-12-31 2012-10-16 Intel Corporation Paging instruction for a virtualization engine to local storage
US8793439B2 (en) * 2010-03-18 2014-07-29 Oracle International Corporation Accelerating memory operations using virtualization information
US9477634B2 (en) * 2010-06-04 2016-10-25 Intersil Americas LLC I2C address translation
CN102880587B (zh) * 2012-10-09 2014-12-24 无锡江南计算技术研究所 基于嵌入式加速核心的独立显卡架构
CN103092797B (zh) * 2012-12-13 2016-02-03 中国航空无线电电子研究所 离散量接口同步控制装置、离散量采集及输出控制方法
US10372663B2 (en) * 2017-07-25 2019-08-06 Qualcomm Incorporated Short address mode for communicating waveform
CN109413122B (zh) * 2017-08-16 2022-05-13 深圳市中兴微电子技术有限公司 一种数据处理方法、网络处理器及计算机存储介质
TWI720345B (zh) * 2018-09-20 2021-03-01 威盛電子股份有限公司 多核心系統的內連線結構

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1173386A (ja) * 1997-05-13 1999-03-16 Compaq Computer Corp 周辺要素接続バスを備えたコンピュータ・システム
US5905509A (en) * 1997-09-30 1999-05-18 Compaq Computer Corp. Accelerated Graphics Port two level Gart cache having distributed first level caches
JPH11167524A (ja) * 1997-09-09 1999-06-22 Compaq Computer Corp コンピュータ・システム
JPH11167523A (ja) * 1997-09-09 1999-06-22 Compaq Computer Corp コンピュータ・システム
WO1999034293A1 (en) * 1997-12-30 1999-07-08 Micron Technology, Inc. Accelerated graphics port for multiple memory controller computer system
WO1999041671A1 (en) * 1998-02-13 1999-08-19 Intel Corporation Accessing a messaging unit from a secondary bus

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01181163A (ja) 1988-01-13 1989-07-19 Seiko Instr & Electron Ltd 図形表示システム
US5072369A (en) 1989-04-07 1991-12-10 Tektronix, Inc. Interface between buses attached with cached modules providing address space mapped cache coherent memory access with SNOOP hit memory updates
US5335329A (en) 1991-07-18 1994-08-02 Texas Microsystems, Inc. Apparatus for providing DMA functionality to devices located in a bus expansion chassis
WO1994016391A1 (en) 1992-12-31 1994-07-21 Intel Corporation Bus to bus interface with address translation
US5479627A (en) * 1993-09-08 1995-12-26 Sun Microsystems, Inc. Virtual address to physical address translation cache that supports multiple page sizes
US5606683A (en) * 1994-01-28 1997-02-25 Quantum Effect Design, Inc. Structure and method for virtual-to-physical address translation in a translation lookaside buffer
EP0674269B1 (en) * 1994-03-24 2001-12-19 Hewlett-Packard Company, A Delaware Corporation Translation mechanism for input/output addresses
US6029224A (en) * 1995-06-07 2000-02-22 Lucent Technologies Inc. Self-contained memory apparatus having diverse types of memory and distributed control
US5937436A (en) * 1996-07-01 1999-08-10 Sun Microsystems, Inc Network interface circuit including an address translation unit and flush control circuit and method for checking for invalid address translations
US5983332A (en) * 1996-07-01 1999-11-09 Sun Microsystems, Inc. Asynchronous transfer mode (ATM) segmentation and reassembly unit virtual address translation unit architecture
US5857080A (en) 1996-09-10 1999-01-05 Lsi Logic Corporation Apparatus and method for address translation in bus bridge devices
US6141701A (en) * 1997-03-13 2000-10-31 Whitney; Mark M. System for, and method of, off-loading network transactions from a mainframe to an intelligent input/output device, including off-loading message queuing facilities
US6249853B1 (en) * 1997-06-25 2001-06-19 Micron Electronics, Inc. GART and PTES defined by configuration registers
US6195734B1 (en) * 1997-07-02 2001-02-27 Micron Technology, Inc. System for implementing a graphic address remapping table as a virtual register file in system memory
US5999743A (en) * 1997-09-09 1999-12-07 Compaq Computer Corporation System and method for dynamically allocating accelerated graphics port memory space
US5914727A (en) 1997-09-09 1999-06-22 Compaq Computer Corp. Valid flag for disabling allocation of accelerated graphics port memory space
US5949436A (en) * 1997-09-30 1999-09-07 Compaq Computer Corporation Accelerated graphics port multiple entry gart cache allocation system and method
US6130680A (en) * 1997-12-01 2000-10-10 Intel Corporation Method and apparatus for multi-level demand caching of textures in a graphics display device
US6252612B1 (en) * 1997-12-30 2001-06-26 Micron Electronics, Inc. Accelerated graphics port for multiple memory controller computer system
US6199145B1 (en) * 1998-02-27 2001-03-06 Intel Corporation Configurable page closing method and apparatus for multi-port host bridges
US6145030A (en) * 1998-03-27 2000-11-07 Intel Corporation System for managing input/output address accesses at a bridge/memory controller
US6192455B1 (en) * 1998-03-30 2001-02-20 Intel Corporation Apparatus and method for preventing access to SMRAM space through AGP addressing
US6326973B1 (en) * 1998-12-07 2001-12-04 Compaq Computer Corporation Method and system for allocating AGP/GART memory from the local AGP memory controller in a highly parallel system architecture (HPSA)
US6457068B1 (en) * 1999-08-30 2002-09-24 Intel Corporation Graphics address relocation table (GART) stored entirely in a local memory of an expansion bridge for address translation

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1173386A (ja) * 1997-05-13 1999-03-16 Compaq Computer Corp 周辺要素接続バスを備えたコンピュータ・システム
JPH11167524A (ja) * 1997-09-09 1999-06-22 Compaq Computer Corp コンピュータ・システム
JPH11167523A (ja) * 1997-09-09 1999-06-22 Compaq Computer Corp コンピュータ・システム
US5905509A (en) * 1997-09-30 1999-05-18 Compaq Computer Corp. Accelerated Graphics Port two level Gart cache having distributed first level caches
WO1999034293A1 (en) * 1997-12-30 1999-07-08 Micron Technology, Inc. Accelerated graphics port for multiple memory controller computer system
WO1999041671A1 (en) * 1998-02-13 1999-08-19 Intel Corporation Accessing a messaging unit from a secondary bus

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007519102A (ja) * 2003-12-24 2007-07-12 インテル・コーポレーション グラフィックスメモリ・スイッチ
JP2007257637A (ja) * 2006-03-23 2007-10-04 Internatl Business Mach Corp <Ibm> アクセラレータ用低コストのキャッシュ一貫性を維持する方法及びシステム
JP2011118732A (ja) * 2009-12-04 2011-06-16 Yokogawa Electric Corp I/oノード
JP2016051420A (ja) * 2014-09-02 2016-04-11 株式会社メガチップス バスブリッジ及びバスブリッジ群
JP2017151622A (ja) * 2016-02-23 2017-08-31 富士通株式会社 情報処理装置、演算処理装置及び情報処理装置の制御方法

Also Published As

Publication number Publication date
KR20020064280A (ko) 2002-08-07
US6618770B2 (en) 2003-09-09
KR100432470B1 (ko) 2004-05-20
HK1043222A1 (en) 2002-09-06
US20020129187A1 (en) 2002-09-12
CN1213374C (zh) 2005-08-03
CN1382277A (zh) 2002-11-27
HK1043222B (zh) 2006-06-30
JP4607405B2 (ja) 2011-01-05
AU6789800A (en) 2001-03-26
US6457068B1 (en) 2002-09-24
EP1208443A1 (en) 2002-05-29
EP1208443B1 (en) 2006-03-08
TW552515B (en) 2003-09-11
DE60026539D1 (de) 2006-05-04
WO2001016772A1 (en) 2001-03-08
DE60026539T2 (de) 2006-08-17

Similar Documents

Publication Publication Date Title
JP4607405B2 (ja) ローカルi/oバスに近接するブリッジでの入出力(i/o)アドレス変換
US6434639B1 (en) System for combining requests associated with one or more memory locations that are collectively associated with a single cache line to furnish a single memory operation
US6385705B1 (en) Circuit and method for maintaining order of memory access requests initiated by devices in a multiprocessor system
JP4805314B2 (ja) 入出力(i/o)仮想化動作のプロセッサへのオフロード
US6076139A (en) Multimedia computer architecture with multi-channel concurrent memory access
US5864876A (en) DMA device with local page table
US6813653B2 (en) Method and apparatus for implementing PCI DMA speculative prefetching in a message passing queue oriented bus system
USRE37980E1 (en) Bus-to-bus bridge in computer system, with fast burst memory range
US6928529B2 (en) Data transfer between virtual addresses
US5936640A (en) Accelerated graphics port memory mapped status and control registers
US6330630B1 (en) Computer system having improved data transfer across a bus bridge
US5964859A (en) Allocatable post and prefetch buffers for bus bridges
US20090077320A1 (en) Direct access of cache lock set data without backing memory
JP2001517844A (ja) マルチポートメモリを用いる知的データバスインタフェース
JP2002535763A (ja) ダイナミック・ディスプレイ・メモリを実装するための方法および装置
JPH11175454A (ja) 自動直接メモリ・アクセス機能を備えたコンピュータ・システム
JPH11175455A (ja) コンピュータ・システムにおける通信方法及び装置
US6313845B1 (en) Method and apparatus for transporting information to a graphic accelerator card
US7308557B2 (en) Method and apparatus for invalidating entries within a translation control entry (TCE) cache
JP2001147858A (ja) ハイブリッドコヒーレンスプロトコル
US6425071B1 (en) Subsystem bridge of AMBA&#39;s ASB bus to peripheral component interconnect (PCI) bus
JP2001516089A (ja) メモリ属性パレット
US6832274B2 (en) Address translation
CN112559434B (zh) 一种多核处理器及核间数据转发方法
US6301648B1 (en) Method and apparatus for processing memory accesses utilizing a TLB

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070626

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070626

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100323

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100406

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20100706

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20100713

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100806

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

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

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

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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