[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JP4589384B2 - 高速メモリモジュール - Google Patents

高速メモリモジュール Download PDF

Info

Publication number
JP4589384B2
JP4589384B2 JP2007516849A JP2007516849A JP4589384B2 JP 4589384 B2 JP4589384 B2 JP 4589384B2 JP 2007516849 A JP2007516849 A JP 2007516849A JP 2007516849 A JP2007516849 A JP 2007516849A JP 4589384 B2 JP4589384 B2 JP 4589384B2
Authority
JP
Japan
Prior art keywords
memory
request
point
memory read
write
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
JP2007516849A
Other languages
English (en)
Other versions
JP2008503808A (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 JP2008503808A publication Critical patent/JP2008503808A/ja
Application granted granted Critical
Publication of JP4589384B2 publication Critical patent/JP4589384B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/161Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement
    • G06F13/1626Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement by reordering requests
    • 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)
  • Multi Processors (AREA)
  • Communication Control (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Description

発明の実施例は、強いトランザクションオーダリングおよび緩和されたトランザクションオーダリングの両方を有するコンピュータシステムにおけるメモリリードおよびメモリライト要求の処理に関する。また、他の実施例が説明される。
コンピュータシステムは、トランザクションを用いて互いに通信するいくつかのデバイスのファブリックを有する。例えば、プロセッサ(マルチプロセッサシステムの一部であってもよい)は、メインメモリにアクセスすること、および、(グラフィックディスプレイアダプタ、ネットワークインタフェースコントローラなどの)I/Oデバイスにアクセスするために、トランザクション要求を発行する。I/Oデバイスは、また、メモリアドレスマップ内の場所にアクセスするために、トランザクション要求を発行することができる(メモリリードおよびメモリライト要求)。また、異なるプロトコルを介して通信するデバイス間におけるブリッジとして動作する中間デバイスが存在する。ファブリックは、また、要求が伝播または転送される前にリソースが解放されるまで、要求を一時的に格納するために、様々な場所にキューを有する。
トランザクションがソフトウェアの製作者によって意図された順序で完了することを保証するために、同時にファブリックを移動するトランザクションに対して強いオーダリングルールが課されてもよい。しかしながら、この安全な方法は、概して、複雑なファブリックの性能に悪影響を及ぼす。例えば、トランザクションの長いシーケンスの後に無関係のトランザクションが続くシナリオを考える。シーケンスの進行が遅い場合、無関係のトランザクションの完了を待つデバイスの性能は、著しく悪化する。この理由から、いくつかのシステムは、一定のトランザクションが以前のトランザクションを追い越すことを許可される、緩和されたオーダリングを実装する。
しかしながら、ここで、ファブリックがオレゴン州ポートランドのPCI−SIG Administrationから入手可能であるPCI Express Base仕様1.0に説明されるようなPeripheral Component Interconnect(PCI)Express通信プロトコルを使用するシステムを考える。PCI Expressプロトコルは、メモリリード要求がメモリライトを追い越すことを許可されないポイント・トゥ・ポイントプロトコルの例である。換言すると、PCI Expressファブリックでは、メモリリードは、(メモリリードとキューのようなハードウェアリソースを共有する)以前のメモリライトがグローバルに認識可能になるまで、実行を進めることが許可されない。グローバルに認識可能とは、全ての他のデバイスまたはエージェントが書き込まれたデータにアクセスできることを意味する。
本発明の実施形態は、参照数字が同様の要素を指す添付図面を本発明の実施例として使用することにより説明され、添付図面は本発明を限定するものではない。本開示における参照される発明の「ある」実施例は、必ずしも同一の実施例ではなく、少なくとも1つの実施例であることを示す。
ファブリックがPCI Expressのようなポイント・トゥ・ポイントプロトコルおよび緩和されたオーダリングのキャッシュコヒーレント・プロトコルに基づく、コンピュータシステムのブロック図を示す。
緩和されたオーダリングフラグを用いてメモリリードおよびライトトランザクションを処理するための、より一般化された方法を示すフロー図である。
本発明の他の実施例を示すブロック図である。
緩和されたオーダリングフラグに依存することなくリードおよびライトトランザクションを処理する方法のフロー図を示す。
図1を参照すると、ファブリックが部分的にPCI Expressプロトコルのようなポイント・トゥ・ポイントプロトコルに基づく例示のコンピュータシステムのブロック図が示される。システムは、(本実施例では大部分がダイナミックランダムアクセスメモリ(DRAM)デバイスからなる)メインメモリ部106に接続されたプロセッサ104を有する。プロセッサ104は、マルチプロセッサシステムの一部であってもよく、本実施例では、独立した(大部分がDRAMデバイスからなる)メインメモリ部110に接続された第2のプロセッサ108を有する。DRAM以外のメモリデバイスが代わりに用いられてもよい。システムは、また、プロセッサ104とスイッチデバイス118とを接続するルートデバイス114を有する。ルートデバイスは、プロセッサ104に代わって、ルートデバイス114から離れるダウンストリーム方向にトランザクション要求を送信する。ルートデバイス114は、また、エンドポイント122に代わってメモリ要求を送信する。エンドポイント122は、ネットワークインタフェースコントローラ又はディスクコントローラのような、I/Oデバイスであってもよい。ルートデバイス114は、送信されるメモリ要求が通過する、プロセッサ104へのポート124を有する。当該ポート124は、メモリリードがメモリライトを追い越しうるやや緩和されたトランザクションオーダリングルールを有する、キャッシュコヒーレント・ポイント・トゥ・ポイント通信プロトコルに従って設計される。従って、ポート124は、ルートデバイス114とプロセッサ104または108とを接続するコヒーレント・ポイント・トゥ・ポイントリンクの一部であると考えられる。
ルートデバイス114は、また、送受信されるトランザクション要求が通過する、スイッチデバイス118への第2のポート128を有する。第2のポート128は、メモリリードがメモリライトを追い越すことができない比較的強いトランザクションオーダリングルールを有するポイント・トゥ・ピント通信プロトコルに従って設計される。そのようなプロトコルの例は、PCI Expressプロトコルである。同様のトランザクションオーダリングルールを有する他の通信プロトコルが代わりに用いられてもよい。ルートデバイスは、また、本実施例ではスイッチデバイス119から送信される、受信されたアップストリーム方向のメモリリードおよびメモリライト要求を格納するために、入力キュー(図示されない)を有する。出力キュー(図示されない)は、プロセッサ104に送信されるメモリリードおよびメモリライト要求を格納するために提供される。
処理において、エンドポイント122は、ルートデバイス114に伝播するまたはスイッチデバイス118によって転送されるメモリリード要求を開始する。そして、ルートデバイス114は、要求を、例えばプロセッサ104に、順に転送する。本発明のある実施例によると、メモリリード要求パケットは、(リード要求緩和されたオーダリングヒント、RRROとしても称される)緩和されたオーダリングフラグと共に提供される。エンドポイント122は、システム内で実行される(プロセッサ104によって実行されている)デバイスドライバにアクセス可能な設定レジスタ(図示されない)を有してもよい。レジスタは、デバイスドライバによってアサートされたとき、メモリリードのアウトオブオーダー処理が許容可能であることが予期される場合、リード要求パケットの送信前にエンドポイント122がパケット内のRRROヒントまたはフラグをセットすることを許可するフィールドを有する。ロジック(図示されない)は、メモリリード要求内の緩和されたオーダリングフラグを検出すること、および、それに応じてメモリリード要求が以前に入力または出力キューのいずれかにエンキューされた1つ以上のメモリライト要求を追い越すことを許可するために、ルートデバイス114において提供されてもよい。この並べ替えは、ロジックがメモリリードと追い越されるメモリライトの間においてアドレスコンフリクトが無いと判定した場合にのみ、許可されるべきである。アドレスコンフリクトが存在する場合、リードが以前に書き込まれた全てのデータを取得できることを保証するために、リードおよびライト要求は、ソースに基づく順序に保たれる。並べ替えることによって、スイッチデバイス118またはルートデバイス114は、トランザクションをアップストリーム方向の以前にエンキューされたメモリライト要求の前に移す。
メモリリードおよびライト要求は、メインメモリ部106または110をターゲットにしてもよい。本実施例では、そのような要求は、プロセッサ104または108内のロジックによって処理される。これは、例えば、メインメモリ部106および110におけるDRAMデバイスに実際にアクセスするために使用される、オンチップメモリコントローラ(図示されない)を含んでもよい。上記に説明された本発明の実施例は、I/Oデバイスからのメモリリード要求に対する緩和されたオーダリング要件により、(本実施例のようにメモリがプロセッサに「組み込まれている」場合に特に大きくなる)リード要求の遅延を削減することを支援しうる。これは、強いオーダリングを有するPCI Expressプロトコルに従う全二重ポイント・トゥ・ポイントシステムインタフェースと、緩和されたオーダリングを有し、プロセッサ104および108と通信するために使用されるコヒーレント・ポイント・トゥ・ポイントリンクとを有するシステムにおいて特に有用である。これは、メモリリード要求に対する強いトランザクションオーダリングが、例えば、アウトバウンドまたはダウンストリーム方向(すなわち、メインメモリ106および110からリクエスタに対するリードの完了によって用いられる方向)のコヒーレント・リンクの比較的低い使用率を引き起こしうるためである。従って、スイッチデバイス118は、強いトランザクションオーダリングルールを有するポイント・トゥ・ポイントリンクへのインタフェースを有するが、少なくともメモリリード要求がメモリライトを追い越すことを許可されない点に関して、スイッチデバイス118およびルートデバイス114は、アサートされた緩和されたオーダリングフラグまたはヒントを有するメモリリードに関して、本願明細書において説明されるような緩和されたオーダリングを実際に実装する本発明の実施例に従って変更されうる。
図2を参照すると、緩和されたオーダリングフラグを用いてメモリリードおよびライトトランザクションを処理する、より一般化された方法のフロー図が示される。処理は、例えばルートデバイス114によって実行される処理であってもよい。処理は、第1のデバイスをターゲットする1つより多いメモリライト要求を受信することから開始する(ブロック204)。これらのライト要求は、例えば、コンプリータからリクエスタに完了パケットが返信されず、リクエスタからコンプリータへの単方向に送信された要求パケットだけからなる、ポストされたトランザクションの一部であってもよい。ターゲットされた第1のデバイスは、メインメモリ部106または110であってもよい(図1を参照)。これに続いて、同様に第1のデバイスをターゲットするメモリリード要求が受信される(208)。例えば、リード要求は、リクエスタがコンプリータに要求パケットを送信し、コンプリータがリクエスタに(要求されたデータと共に)完了パケットを返信する、分割トランザクションモデルを実装したポストされないトランザクションの一部であってもよい。特に、リード要求は、メモリリードがメモリライトを追い越すことができない比較的強いトランザクションオーダリングルールを有する通信プロトコルに従って受信される。そのようなプロトコルの例は、PCI Expressプロトコルである。
メモリリードおよびメモリライト要求は、メモリリードがメモリライトを追い越しうる比較的緩和されたトランザクションオーダリングルールを有する異なる通信プロトコルに従って、第1のデバイスに転送される(212)。この方法では、受信されたメモリリード要求内の緩和されたオーダリングフラグがアサートされている場合は常に、転送されたメモリリード要求は、転送されたメモリライト要求を追い越すことを許可される。これは、追い越す側のメモリリードと追い越される側のメモリライトの間にアドレスコンフリクトが無い場合にのみ許可されるべきである。アドレスコンフリクトは、2つのトランザクションが同時に同一アドレスにアクセスした場合に生じる。
図3を参照すると、本発明の他の実施例のブロック図が示される。この場合、スイッチデバイス118は、リード要求をメモリライトと厳格にオーダリングし、受信されるリード要求パケット内にヒントまたはRRROフラグはセットされない。ルートデバイス114は、ロジック(図示されない)によりエンハンスされる。このロジックは、アドレスコンフリクトが無い場合に、受信されたメモリリード要求が、自身の入力キューおよび出力キューのいずれかにエンキューされているメモリライト要求を実際に追い越すことを許可する。従って、ルートデバイス114は、実際にはプロセッサ104および108と接続するコヒーレント・リンクにおいて、リード要求と以前にエンキューされたライトとを並べ替えることについて、全面的な許可を有する。しかしながら、本実施例では、リード要求により意図されうる、いわゆるレガシー・フラッシュ・セマンティックに対応する必要がありうる。例えば、リード要求は、レガシーマルチドロップバス318上に存在するネットワークインタフェースコントローラ(NIC320)のような、レガシーI/Oデバイスから送信される可能性がある。ブリッジ314は、ポイント・トゥ・ポイントリンクを介してリード要求をスイッチデバイス118に伝播し、更に、プロセッサ104または108に伝播される前にルートデバイス114に伝播する。その場合、レガシー・フラッシュ・セマンティックは、メモリリードが同一方向のメモリライトを追い越さない保証を必要としてもよい。これは、(以前のライトが内容を更新する前にメモリ内の場所がアクセスされることにより)不正なデータを読み込む危険性が無いことを保証するために設計される。
本発明の他の実施例によると、NIC320を使用するソフトウェアの観点からフラッシュ・セマンティックを保護するために、ルートデバイス114は、(リード要求と、入力または出力キューのような一定のハードウェアリソースを共有する)全ての以前のメモリライトがグローバルに認識可能となった場合にのみ、スイッチデバイス118へのポイント・トゥ・ポイントリンクを介してメモリリード要求の完了パケットをそのリクエスタ(ここではNIC320)に対して送信するように設計される。この場合、コヒーレント・リンクを介してプロセッサに送信されたメモリライトは、ルートデバイス114が、メモリライトが適用されたことに応じてアクセスされたメインメモリ部106または110からアクナリッジメント(ack)パケットを受信した場合に、グローバルに認識可能となる。当該ackパケットは、グローバルな認識状況を示すために使用されうる、コヒーレント・リンクの機能である。従って、ルートデバイス114は、(リード要求とリソースを共有する)全ての以前の待機中のライトがグローバルに認識可能となるまで、メインメモリから受信されるリード完了を保持または遅延させる。
レガシー・フラッシュ・セマンティックを実装するために、(NIC320のような)リクエスタは、メモリライト要求のシーケンスに続いて、リードを送信してもよい。これは、レガシーバス318またはポイント・トゥ・ポイントリンク(例:PCI Expressインタフェース)上におけるメモリライトトランザクションが、リクエスタに対して完了パケットが返信されることを求めないためである。そのようなリクエスタ、が以前のライト要求が実際にメインメモリに到達したかどうかを判定できる唯一の方法は、これらに続いて(ライトと同一のアドレスまたは異なるアドレスに向けられうる)リードを行うことである。ライトとは対照的に、リードは、リード要求がターゲットデバイスにおいて適用されると完了パケット(データを含むかどうかに関らない)がリクエスタに返信される、ポストされないトランザクションである。定義により、レガシーおよびポイント・トゥ・ポイントリンクインタフェースではリードは以前のライトを追い越すべきではないので、そのような機構を用いて、リクエスタは、ライトのシーケンスが実際に完了したことを自身のソフトウェアに確認することができる。これは、リード完了が受信された場合、ソフトウェアは、全ての以前のライトがそのターゲットデバイスに到達したと仮定することを意味する。
リクエスタへのリード完了の転送を遅延させる上記に説明された技術の有利点は、以下の実施例によって理解されるであろう。本実施例ではNIC320であるエンドポイントが、ネットワーク(例:インターネット)からデータを取得してそのデータをメインメモリに書き込む、レガシーネットワークアダプタカードであると仮定する。従って、ブリッジとスイッチデバイスの間およびスイッチデバイスとルートデバイスの間においてポイント・トゥ・ポイントリンクを介して転送されるライトの長いシーケンスは、NIC320によって生成される。その場合、これらのライトは、リクエスタに対して完了パケットが返信されないという点で、ポストされる。レガシー・フラッシュ・セマンティックを維持するために、NIC320は、最後のライト要求に続いてメモリリード要求を行う。次に、NIC320は、それに応じて直ちにサイドバンド経路またはピン(図示されない)上のプロセッサをインタラプトする、リード完了パケットを待つ。当該インタラプトは、ネットワークから取得されたデータがメモリに存在することをプロセッサに通知するように設計され、例えば、NIC320に対応するデバイスドライバルーチン内のインタラプトサービスルーチンに従って処理されるべきである。当該デバイスドライバルーチンは、以前のライトによる全てのデータが既にメインメモリに書き込まれたと仮定して、そのデータのリードを試みる。サイドバンドピンが使用可能であるため、インタラプトは、比較的高速である。このため、NIC320における完了パケットの受信と、デバイスドライバのメインメモリからのデータ読み取り開始との間における遅延は、比較的短い。それに応じて、そのような状況では、NIC320によるリード完了パケットの受信が早すぎた場合、すなわち全てのライトデータがメインメモリに書き込まれる前は、ライトトランザクションが完了していないので、不正なデータが読み込まれうる。従って、ルートデバイスが、メインメモリから最後のメモリライトに対するackパケットを受信するまで、(スイッチデバイス118へのポイント・トゥ・ポイントリンクを介した)リード完了パケットの転送を遅延させた場合、NIC320のデバイスドライバソフトウェアは、実際に、インタラプトに応じて正しく更新されたデータを読み込むことを保証されることが理解されるであろう。
図4を参照すると、緩和されたオーダリングヒントに依存することなくリードおよびライトトランザクションを処理するより一般化された方法が示される。処理は、メモリライト要求の受信から開始し(ブロック404)、次に、同一方向のメモリリード要求を受信する(ブロック408)。これらの要求は、同一のリクエスタからのものであってもよい。リード要求は、メモリリードがメモリライトを追い越すことができないトランザクションオーダリングルールを有するポイント・トゥ・ポイント通信プロトコルに従って受信される。そして、処理は、第2の通信プロトコルに従ってメモリリードおよびライト要求を転送する。このとき、メモリライト要求は、メモリリードがメモリライトを追い越しうるトランザクションオーダリングルールを有する(ブロック412)。当該転送されたメモリリード要求は、アドレスコンフリクトが無い場合、転送されたメモリライト要求を追い越すことを許可される(ブロック416)。そして、第2のプロトコルに従って、リード要求の完了が受信される(ブロック420)。最後に、メモリライトがグローバルに認識可能となった場合にのみ、第1のプロトコルに従って、完了がリクエスタに送信される(ブロック424)。一例として、(コヒーレント・リンクを介したポストされないライトトランザクションの一部として)ルートデバイス114(図3を参照)がメインメモリ部106からackパケットを受信した場合、メモリライトは、グローバルに認識可能とされてもよい。リードと同一方向の以前の全てのメモリライトがグローバルに認識可能となるまで、この方法で完了の返信を遅延させることによって、リクエスタにおいて必要とされうるレガシー・フラッシュ・セマンティックは、満たされる。
上記の例は、論理回路に関連して本発明の実施例を説明しうるが、本発明の他の実施例は、ソフトウェアによって実施されることができる。例えば、いくつかの実施例では、本発明は、コンピュータが本発明の実施例に従った処理を実行するようにプログラムするために使用されうる命令群(例:デバイスドライバ)を格納したマシンまたはコンピュータ読み取り可能な媒体を含みうる、コンピュータプログラム製品またはソフトウェアとして提供されてもよい。他の実施例では、処理は、マイクロコード、ハードウェアロジック、またはプログラムされたコンピュータコンポーネントおよびカスタムハードウェアコンポーネントの組合せを含む、特定のハードウェアコンポーネントによって実行されてもよい。
マシン読み取り可能な媒体は、マシン(例:コンピュータ)によって読み取り可能な形態で情報を格納または送信するすべての媒体を含んでもよく、フロッピーディスク、光ディスク、コンパクトディスクリードオンリーメモリ(CD−ROM)、および、磁気光ディスク、リードオンリーメモリ(ROM)、ランダムアクセスメモリ(RAM)、消去可能プログラマブルリードオンリーメモリ(EPROM)、電気的消去可能プログラマブルリードオンリーメモリ(EEPROM)、磁気または光カード、フラッシュメモリ、インターネットを介した送信、電気、光、音響または他の形態の伝播信号(例:搬送波、赤外線信号、デジタル信号など)などに限定されない。
更に、設計は、創作、シミュレーションから製造に至るまで、様々な段階を経てもよい。設計を示すデータは、多くの方法によって設計を示してもよい。まず、シミュレーションにおいて便利であるように、ハードウェアは、ハードウェア記述言語または他の機能説明言語を用いて表現されてもよい。更に、ロジックおよび/またはトランジスタゲートを有する回路レベルモデルが、デザインプロセスのいくつかの段階において作成されてもよい。更に、多くの設計は、いくつかの段階において、ハードウェアモデルにおける様々なデバイスの物理的配置を示すデータのレベルに達する。従来の半導体製造技術が使用される場合、ハードウェアモデルを示すデータは、集積回路を製造するために使用されるマスクの、異なるマスクレイヤにおける様々な要素の存在または不在を指定するデータであってもよい。設計の表現において、データは、いかなる形態のマシン読み取り可能な媒体に格納されてもよい。そのような情報を送信するために変調または生成された光波または電波、メモリ、またはディスクのような磁気または光ストレージは、マシン読み取り可能な媒体であってもよい。これらの媒体は全て、設計またはソフトウェア情報を「搬送」または「示す」ことができてもよい。コードまたは設計を示すまたは搬送する電気搬送波が伝送された場合、電気信号のコピー、バッファリング、または再送信の範囲において、新規のコピーが作成される。従って、通信プロバイダまたはネットワークプロバイダは、本発明の技術を実装する対象物(搬送波)の複製を生成してもよい。
本発明は、上記に説明された特定の実施例によって限定されない。例えば、ルートデバイスとプロセッサの間における接続は、いくつかの実施例では、コヒーレント・ポイント・トゥ・ポイントリンクと称されるが、キャッシュコヒーレント・スイッチのような中間デバイスは、プロセッサとルートデバイスの間に含まれてもよい。更に、図1では、プロセッサ104は、メインメモリ部106をターゲットする要求がプロセッサではなくメモリコントローラによって処理されるようなメモリコントローラノードによって置き換えられてもよい。それに応じて、他の実施例は、請求項の範囲内に含まれる。

Claims (48)

  1. メモリリードおよびライトトランザクションを処理する方法であって、
    メモリライト要求を受信することと、
    次に、メモリリードがメモリライトを追い越すことができないトランザクションオーダリングルールを有する第1の通信プロトコルに従ってメモリリード要求を受信することと、
    メモリリードがメモリライトを追い越しうるトランザクションオーダリングルールを有する第2の通信プロトコルに従って前記メモリリードおよびライト要求を転送することと
    を備え、
    前記転送されたメモリリード要求は、前記受信されたメモリリード要求内の緩和されたオーダリングフラグがアサートされた場合は常に、前記転送されたメモリライト要求を追い越すことを許可される
    ことを特徴とする方法。
  2. 前記受信されたメモリライトおよびリード要求がメインメモリをターゲットとすることを特徴とする請求項1に記載の方法。
  3. 前記転送されたメモリリード要求と前記転送されたメモリライト要求の間にアドレスコンフリクトが無い場合にのみ、前記転送されたメモリリード要求は、前記転送されたメモリライト要求を追い越すことを、許可されることを特徴とする請求項2に記載の方法。
  4. 前記受信されたメモリリードおよびライト要求は、同一のエンドポイントから送信されたことを特徴とする請求項2に記載の方法。
  5. 第2の通信プロトコルは、システムチップセットと複数のプロセッサ間における通信のための、キャッシュコヒーレント・ポイント・トゥ・ポイントプロトコルであることを特徴とする請求項2に記載の方法。
  6. 前記第1の通信プロトコルは、強いトランザクションオーダリングを有するポイント・トゥ・ポイントプロトコルであることを特徴とする請求項5に記載の方法。
  7. 前記第1の通信プロトコルは、PCI Expressプロトコルであることを特徴とする請求項5に記載の方法。
  8. プロセッサと、I/Oデバイスを含むI/Oファブリックとを接続し、前記プロセッサに代わってトランザクション要求を送信し、前記I/Oデバイスに代わってメモリ要求を送信するルートデバイスであって、前記プロセッサに接続され、送信される前記メモリ要求が通り、メモリリードがメモリライトを追い越しうるトランザクションオーダリングルールを含むコヒーレント・ポイント・トゥ・ポイント通信プロトコルに従って設計された第1のポートと、前記I/Oファブリックに接続され、前記トランザクション要求が通り、メモリリードがメモリライトを追い越すことができないトランザクションオーダリングルールを含むポイント・トゥ・ポイント通信プロトコルに従って設計された第2のポートとを有し、前記I/Oファブリックからのメモリリードおよびメモリライト要求を格納する入力キューと、前記プロセッサに送信されるメモリリードおよびメモリライト要求を格納する出力キューとを有する前記ルートデバイスと、
    前記I/Oデバイスから受信されたメモリリード要求内の緩和されたオーダリングフラグを検出し、それに応じて前記受信されたメモリリード要求が前記入力および出力キューのいずれかに格納されたメモリライト要求を追い越すことを許可するするロジックと
    を備えることを特徴とする装置。
  9. 前記ポイント・トゥ・ポイント通信プロトコルは、PCI Expressプロトコルであることを特徴とする請求項8に記載の装置。
  10. 前記ポイント・トゥ・ポイント通信プロトコルは、複数の双方向シリアル経路を有する全二重経路を定義することを特徴とする請求項8に記載の装置。
  11. メモリリードがメモリライトを追い越すことができないトランザクションオーダリングルールを含むポイント・トゥ・ポイント通信プロトコルに従って設計されたアップストリームデバイスへの第1のポートと、アップストリーム方向のトランザクション要求を格納する出力キューとを有し、前記アップストリームデバイスとダウンストリームデバイスとをブリッジするスイッチデバイスと、
    前記プロトコルに従って設計された前記ダウンストリームデバイスへの第2のポートと、アップストリーム方向のトランザクション要求を格納する入力キューと、
    受信されたアップストリーム方向のメモリリード要求内の緩和されたオーダリングフラグを検出し、それに応じて前記受信されたメモリリード要求が前記入力および出力キューのいずれかに存在するメモリライト要求を追い越すことを許可するロジックと
    を備えることを特徴とする装置。
  12. 前記ポイント・トゥ・ポイント通信プロトコルは、PCI Expressプロトコルであることを特徴とする請求項11に記載の装置。
  13. 前記ポイント・トゥ・ポイント通信プロトコルは、複数の双方向シリアル経路を有する全二重経路を定義することを特徴とする請求項11に記載の装置。
  14. プロセッサと、
    前記プロセッサによってアクセスされるメインメモリと、
    I/Oデバイスをブリッジするスイッチデバイスと、
    前記メインメモリをターゲットとして前記I/Oデバイスに代わって送信されるメモリ要求が通過し、メモリリードがメモリライトを追い越しうるトランザクションオーダリングルールを含むコヒーレント・ポイント・トゥ・ポイント通信プロトコルに従って設計された第1のポートと、前記プロセッサに代わって送信されるトランザクション要求が通過し、メモリリードがメモリライトを追い越すことができないトランザクションオーダリングルールを含むポイント・トゥ・ポイント通信プロトコルに従って設計された、前記スイッチデバイスへの第2のポートと、前記スイッチデバイスから受信されたメモリリードおよびメモリライト要求を格納する入力キューと、前記メインメモリに送信されるメモリリードおよびメモリライト要求を格納する出力キューとを有し、前記プロセッサと前記スイッチデバイスとを接続するルートデバイスと、
    前記I/Oデバイスからのメモリリード要求内の緩和されたオーダリングフラグを検出し、それに応じて前記メモリリード要求が前記入力および出力キューのいずれかに格納されたメモリライト要求を追い越すことを許可するロジックと
    を備えることを特徴とするシステム。
  15. 前記スイッチデバイスは、
    前記ポイント・トゥ・ポイント通信プロトコルに従って設計された、前記ルートデバイスへの第1のポートと、アップストリーム方向のメモリリードおよびライト要求を格納する出力キューと、
    前記ポイント・トゥ・ポイント通信プロトコルに従って設計された、前記I/Oデバイスへの第2のポートと、前記I/Oデバイスからのメモリリードおよびライト要求を格納する入力キューと、
    前記メモリリード要求内の前記緩和されたオーダリングフラグを検出し、それに応じて前記メモリリード要求が、前記スイッチデバイスの前記入力および出力キューのいずれかにあるメモリライト要求を追い越すことを許可するロジックと
    を備えることを特徴とする請求項14に記載のシステム。
  16. 前記ポイント・トゥ・ポイント通信プロトコルは、PCI Expressプロトコルであることを特徴とする請求項15に記載のシステム。
  17. 前記コヒーレント・ポイント・トゥ・ポイント通信プロトコルに従って前記ルートデバイスと前記メインメモリとを接続するメモリコントローラノードを更に備えることを特徴とする請求項15に記載のシステム。
  18. 前記緩和されたオーダリングフラグを含む前記メモリリード要求が送信されるネットワークアダプタカードである、I/Oデバイスと併用されることを特徴とする請求項15に記載のシステム。
  19. 前記スイッチの前記第2のポートと、PCIレガシーデバイスである前記ネットワークアダプタカードとを接続する、ブリッジを更に備えることを特徴とする請求項18に記載のシステム。
  20. リードおよびライトトランザクションを処理する方法であって、
    メモリライト要求を受信することと、
    次に、メモリリードがメモリライトを追い越すことができないトランザクションオーダリングルールを有する第1の通信プロトコルに従ってメモリリード要求を受信することと、
    次に、メモリリードがメモリライトを追い越しうるトランザクションオーダリングルールを有する第2の通信プロトコルに従って前記メモリリードおよびライト要求を転送し、アドレスコンフリクトが無い場合に、前記転送されたメモリリード要求が前記転送されたメモリライト要求を追い越すことを許可することと、
    次に、前記第2の通信プロトコルに従って前記リード要求の完了を受信することと、
    次に、前記メモリライトがグローバルに認識可能となった場合にのみ前記第1の通信プロトコルに従って前記完了をリクエスタに送信することと
    を備えることを特徴とする方法。
  21. 前記メモリライトおよびリード要求は、メインメモリをターゲットとすることを特徴とする請求項20に記載の方法。
  22. 前記メモリリードおよびライト要求は、同一のエンドポイントから送信されることを特徴とする請求項21に記載の方法。
  23. 前記第2の通信プロトコルは、システムチップセットと複数のプロセッサの間における通信のための、キャッシュコヒーレント・ポイント・トゥ・ポイントプロトコルであることを特徴とする請求項22に記載の方法。
  24. 前記第1の通信プロトコルは、強いトランザクションオーダリングを有するポイント・トゥ・ポイントプロトコルであることを特徴とする請求項23に記載の方法。
  25. 前記第1の通信プロトコルは、PCI Expressプロトコルであることを特徴とする請求項23に記載の方法。
  26. プロセッサと、I/Oデバイスを含むI/Oファブリックとを接続し、前記プロセッサに代わってトランザクション要求を送信し、前記I/Oデバイスに代わってメモリ要求を送信するルートデバイスであって、メモリリードがメモリライトを追い越しうるトランザクションオーダリングルールを含むコヒーレント・ポイント・トゥ・ポイント通信プロトコルに従って設計され、送信される前記メモリ要求が通過する前記プロセッサへの第1のポートと、メモリリードがメモリライトを追い越すことができないトランザクションオーダリングルールを含むポイント・トゥ・ポイント通信プロトコルに従って設計された、送信される前記トランザクション要求が通過する、前記I/Oファブリックへの第2のポートとを有し、前記I/Oファブリックからのメモリリードおよびメモリライト要求を格納する入力キューと、前記プロセッサに送信されるメモリリードおよびメモリライト要求を格納する出力キューとを有するルートデバイスと、
    アドレスコンフリクトが無い場合に、受信されたメモリリード要求が、前記入力および出力キューのいずれかに格納されたメモリライト要求を追い越すことを許可し、前記メモリライトがグローバルに認識可能となった場合にのみ、前記ポイント・トゥ・ポイント通信プロトコルに従って、前記メモリリード要求の完了をそのリクエスタに送信するロジックと
    を備えることを特徴とする装置。
  27. 前記ポイント・トゥ・ポイント通信プロトコルは、PCI Expressプロトコルであることを特徴とする請求項26に記載の装置。
  28. 前記ポイント・トゥ・ポイント通信プロトコルは、双方向において複数のシリアル経路を有する全二重経路を定義することを特徴とする請求項26に記載の装置。
  29. プロセッサと、
    前記プロセッサによってアクセスされるメインメモリと、
    I/Oデバイスをブリッジするスイッチデバイスと、
    前記メインメモリをターゲットとして前記I/Oデバイスに代わって送信されるメモリ要求が通過し、メモリリードがメモリライトを追い越しうるトランザクションオーダリングルールを含むコヒーレント・ポイント・トゥ・ポイント通信プロトコルに従って設計された第1のポートと、前記プロセッサに代わって送信されるトランザクション要求が通過し、メモリリードがメモリライトを追い越すことができないトランザクションオーダリングルールを含むポイント・トゥ・ポイント通信プロトコルに従って設計された、前記スイッチデバイスへの第2のポートと、前記スイッチデバイスから受信されたメモリリードおよびメモリライト要求を格納する入力キューと、前記メインメモリに送信されるメモリリードおよびメモリライト要求を格納する出力キューとを有し、前記プロセッサと前記スイッチデバイスとを接続するルートデバイスと、
    アドレスコンフリクトが無い場合に、受信されたメモリリード要求が前記入力および出力キューのいずれかに格納されたメモリライト要求を追い越すことを許可し、前記メモリライトがグローバルに認識可能となった場合にのみ、前記ポイント・トゥ・ポイント通信プロトコルに従って、前記メモリリード要求の完了をそのリクエスタに送信するロジックと
    を備えることを特徴とするシステム。
  30. 前記ポイント・トゥ・ポイント通信プロトコルは、PCI Expressプロトコルであることを特徴とする請求項29に記載のシステム。
  31. 前記コヒーレント・ポイント・トゥ・ポイント通信プロトコルに従って前記ルートデバイスと前記メインメモリとを接続するメモリコントローラノードを更に備えることを特徴とする請求項29に記載のシステム。
  32. 前記スイッチデバイスは、メモリリード要求が同一方向のメモリライト要求を追い越すことができないトランザクションオーダリングルールを含む強いトランザクションオーダリングを実装することを特徴とする請求項29に記載のシステム。
  33. 前記受信されたメモリリード要求が送信されるネットワークアダプタカードである、I/Oデバイスと併用されることを特徴とする請求項29に記載のシステム。
  34. 前記スイッチデバイスと、前記プロセッサをインタラプトするサイドバンドピンを有するレガシーデバイスである前記ネットワークアダプタカードとを接続するブリッジを更に備えることを特徴とする請求項33に記載のシステム。
  35. メモリライト要求を受信する手段と、
    メモリリードがメモリライトを追い越すことができないトランザクションオーダリングルールを有する第1の通信プロトコルに従ってメモリリード要求を受信する手段と、
    メモリリードがメモリライトを追い越しうるトランザクションオーダリングルールを有する第2の通信プロトコルに従って前記メモリリードおよびライト要求を転送する手段と、
    を備え、
    前記転送されたメモリリード要求は、前記受信されたメモリリード要求内の緩和されたオーダリングフラグがアサートされた場合は常に、前記転送されたメモリライト要求を追い越すことを許可されることを特徴とする装置。
  36. 前記装置は、ネットワークインタフェースコントローラであることを特徴とする請求項35に記載の装置。
  37. 前記装置は、グラフィックディスプレイコントローラであることを特徴とする請求項35に記載の装置。
  38. 前記装置は、メモリリードが同一方向のメモリライトを追い越すことができないトランザクションオーダリングルールを含むポイント・トゥ・ポイント通信プロトコルに従って設計されたリンクインタフェースを有し、
    前記リンクインタフェースは、PCI Expressプロトコルに従って設計されることを特徴とする請求項35から請求項37のいずれか1つに記載の装置。
  39. コンピュータに実行させるためのプログラムであって、
    メモリライト要求を受信することと、
    メモリリードがメモリライトを追い越すことができないトランザクションオーダリングルールを有する第1の通信プロトコルに従ってメモリリード要求を受信することと、
    メモリリードがメモリライトを追い越しうるトランザクションオーダリングルールを有する第2の通信プロトコルに従って前記メモリリードおよびライト要求を転送することと
    を前記コンピュータに実行させ、
    前記転送されたメモリリード要求は、前記受信されたメモリリード要求内の緩和されたオーダリングフラグがアサートされた場合は常に、前記転送されたメモリライト要求を追い越すことを許可される
    プログラム。
  40. 前記コンピュータは、ネットワークインタフェースコントローラであることを特徴とする請求項39に記載のプログラム
  41. 前記コンピュータは、グラフィックディスプレイコントローラであることを特徴とする請求項39に記載のプログラム
  42. メモリリードおよびライト要求を処理する方法であって、
    メモリリードが同一方向のメモリライトを追い越さないトランザクションオーダリングルールを有するI/Oリンクを介して、リクエスタから、メモリリード要求が後続する複数のメモリライト要求を受信することと、
    メモリリードが同一方向のメモリライトを追い越しうるキャッシュコヒーレント・リンクを介して、前記要求をメインメモリに転送することと、
    前記I/Oリンクを介して、前記リード要求に対応する完了パケットを前記リクエスタに転送することと
    を備え、
    前記完了パケットは、複数の前記ライト要求のうちの最後の1つが前記メインメモリに到達する前に前記I/Oリンクに出現する
    ことを特徴とする方法。
  43. 前記I/Oリンクは、PCI Expressリンクであることを特徴とする請求項42に記載の方法。
  44. 前記リクエスタは、プロセッサをインタラプトするサイドバンドピンを有するI/Oデバイスであることを特徴とする請求項42に記載の方法。
  45. メモリリードおよびライト要求を処理する方法であって、
    メモリリードが同一方向のメモリライトを追い越すことができないトランザクションオーダリングルールを有するI/Oリンクを介して、メモリリード要求が後続するメモリライト要求を受信することと、
    メモリリードが同一方向のメモリライトを追い越しうるトランザクションオーダリングルーツを有するキャッシュコヒーレント・リンクを介して、前記要求をメインメモリに転送することと、
    前記キャッシュコヒーレント・リンクを介して、前記メモリライト要求に応じて送信されたアクナリッジパケットを受信することと、
    前記キャッシュコヒーレント・リンクを介して、前記メモリリード要求に応じて送信された完了パケットを受信することと、
    前記I/Oリンクを介して、前記完了パケットを転送することと
    を備え、
    前記完了パケットは、前記アクナリッジパケットが前記キャッシュコヒーレント・リンクに出現する前に前記I/Oリンクに出現する
    ことを特徴とする方法。
  46. 前記メモリライトおよびリード要求は、同一のリクエスタから受信されることを特徴とする請求項45に記載の方法。
  47. 前記リクエスタは、I/Oデバイスであることを特徴とする請求項46に記載の方法。
  48. 前記I/Oリンクは、PCI Expressリンクであることを特徴とする請求項47に記載の方法。
JP2007516849A 2004-06-28 2005-06-24 高速メモリモジュール Expired - Fee Related JP4589384B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/879,778 US20050289306A1 (en) 2004-06-28 2004-06-28 Memory read requests passing memory writes
PCT/US2005/022455 WO2006012289A2 (en) 2004-06-28 2005-06-24 Memory read requests passing memory writes

Publications (2)

Publication Number Publication Date
JP2008503808A JP2008503808A (ja) 2008-02-07
JP4589384B2 true JP4589384B2 (ja) 2010-12-01

Family

ID=35501300

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007516849A Expired - Fee Related JP4589384B2 (ja) 2004-06-28 2005-06-24 高速メモリモジュール

Country Status (6)

Country Link
US (1) US20050289306A1 (ja)
JP (1) JP4589384B2 (ja)
CN (1) CN1985247B (ja)
GB (1) GB2428120B (ja)
TW (1) TWI332148B (ja)
WO (1) WO2006012289A2 (ja)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7778245B2 (en) * 2003-11-10 2010-08-17 Broadcom Corporation Method and apparatus for remapping module identifiers and substituting ports in network devices
JP2005242806A (ja) * 2004-02-27 2005-09-08 Renesas Technology Corp データ処理装置
JP4410190B2 (ja) * 2005-03-24 2010-02-03 富士通株式会社 PCI−Express通信システム
US7765357B2 (en) * 2005-03-24 2010-07-27 Fujitsu Limited PCI-express communications system
US7529245B1 (en) * 2005-04-04 2009-05-05 Sun Microsystems, Inc. Reorder mechanism for use in a relaxed order input/output system
US7721023B2 (en) * 2005-11-15 2010-05-18 International Business Machines Corporation I/O address translation method for specifying a relaxed ordering for I/O accesses
US7949794B2 (en) 2006-11-02 2011-05-24 Intel Corporation PCI express enhancements and extensions
US7685352B2 (en) * 2008-07-31 2010-03-23 International Business Machines Corporation System and method for loose ordering write completion for PCI express
US8108584B2 (en) * 2008-10-15 2012-01-31 Intel Corporation Use of completer knowledge of memory region ordering requirements to modify transaction attributes
EP2423820A4 (en) * 2009-04-24 2012-10-17 Fujitsu Ltd MEMORY CONTROL DEVICE AND ITS CONTROL METHOD
US8199759B2 (en) * 2009-05-29 2012-06-12 Intel Corporation Method and apparatus for enabling ID based streams over PCI express
GB2474446A (en) * 2009-10-13 2011-04-20 Advanced Risc Mach Ltd Barrier requests to maintain transaction order in an interconnect with multiple paths
JP5625737B2 (ja) * 2010-10-22 2014-11-19 富士通株式会社 転送装置、転送方法および転送プログラム
US9489304B1 (en) * 2011-11-14 2016-11-08 Marvell International Ltd. Bi-domain bridge enhanced systems and communication methods
US8782356B2 (en) 2011-12-09 2014-07-15 Qualcomm Incorporated Auto-ordering of strongly ordered, device, and exclusive transactions across multiple memory regions
GB2497525A (en) 2011-12-12 2013-06-19 St Microelectronics Ltd Controlling shared memory data flow
CN102571609B (zh) * 2012-03-01 2018-04-17 重庆中天重邮通信技术有限公司 快速串行接口pci‑e协议数据完成包的重组排序方法
US9990327B2 (en) * 2015-06-04 2018-06-05 Intel Corporation Providing multiple roots in a semiconductor device
CN106817307B (zh) * 2015-11-27 2020-09-22 佛山市顺德区顺达电脑厂有限公司 用于丛集式储存系统的建立路由的方法
US10846126B2 (en) * 2016-12-28 2020-11-24 Intel Corporation Method, apparatus and system for handling non-posted memory write transactions in a fabric
US10353833B2 (en) * 2017-07-11 2019-07-16 International Business Machines Corporation Configurable ordering controller for coupling transactions
US11748285B1 (en) * 2019-06-25 2023-09-05 Amazon Technologies, Inc. Transaction ordering management
WO2022205130A1 (zh) * 2021-03-31 2022-10-06 华为技术有限公司 读写操作执行方法和SoC芯片
CN115857834B (zh) * 2023-01-05 2023-05-09 摩尔线程智能科技(北京)有限责任公司 一种用于检查针对存储器的读写一致性的方法和装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6954209B2 (en) * 2000-12-06 2005-10-11 Hewlett-Packard Development Company, L.P. Computer CPU and memory to accelerated graphics port bridge having a plurality of physical buses with a single logical bus number
KR100750036B1 (ko) * 2001-08-24 2007-08-16 인텔 코오퍼레이션 플로우 제어를 구현하는 범용 입출력 아키텍쳐, 프로토콜및 관련 방법
US6801970B2 (en) * 2001-09-30 2004-10-05 Hewlett-Packard Development Company, L.P. Priority transaction support on the PCI-X bus
US7000060B2 (en) * 2002-09-27 2006-02-14 Hewlett-Packard Development Company, L.P. Method and apparatus for ordering interconnect transactions in a computer system

Also Published As

Publication number Publication date
CN1985247B (zh) 2010-09-01
CN1985247A (zh) 2007-06-20
GB0621769D0 (en) 2006-12-20
US20050289306A1 (en) 2005-12-29
GB2428120B (en) 2007-10-03
TW200617667A (en) 2006-06-01
WO2006012289A2 (en) 2006-02-02
GB2428120A (en) 2007-01-17
JP2008503808A (ja) 2008-02-07
WO2006012289A3 (en) 2006-03-23
TWI332148B (en) 2010-10-21

Similar Documents

Publication Publication Date Title
JP4589384B2 (ja) 高速メモリモジュール
US11036650B2 (en) System, apparatus and method for processing remote direct memory access operations with a device-attached memory
US20230035420A1 (en) Non-posted write transactions for a computer bus
TWI566088B (zh) 標頭同位錯誤處置技術
JP3579198B2 (ja) データ処理システム及びデータ処理方法
JP6141379B2 (ja) トランザクション属性を修正するためのメモリ領域オーダリング要求に関するコンプリータ知識の使用
US6098137A (en) Fault tolerant computer system
US20020174229A1 (en) System and method of maintaining coherency in a distributed communication system
US7003615B2 (en) Tracking a non-posted writes in a system using a storage location to store a write response indicator when the non-posted write has reached a target device
JP3807250B2 (ja) クラスタシステム、コンピュータ及びプログラム
JP2008090375A (ja) 割込み制御システム、およびこれを利用した記憶制御システム
JP4891405B2 (ja) バリア操作の条件付き伝搬のための方法および装置
JP2009043256A (ja) 記憶装置のアクセス方法及び装置
JP2013512519A (ja) いくつかの周辺装置のメモリ間のデータの直接転送のためにメモリに直接アクセスするコントローラ、そのようなコントローラを実現可能にする方法およびコンピュータプログラム
WO1999041671A1 (en) Accessing a messaging unit from a secondary bus
US6347349B1 (en) System for determining whether a subsequent transaction may be allowed or must be allowed or must not be allowed to bypass a preceding transaction
JP5904948B2 (ja) システムのいくつかの構成要素のメモリ間の直接データ転送を許可するそのシステム
WO2012124431A1 (ja) 半導体装置
US8341360B2 (en) Method and apparatus for memory write performance optimization in architectures with out-of-order read/request-for-ownership response
US6735659B1 (en) Method and apparatus for serial communication with a co-processor
US20070073977A1 (en) Early global observation point for a uniprocessor system
US20140052879A1 (en) Processor, information processing apparatus, and interrupt control method
JP2004030161A (ja) コンピュータシステムにおける割り込み制御方法、コンピュータシステム、半導体集積回路、及びプログラム
US20180052790A1 (en) Interconnect circuitry and a method of operating such interconnect circuitry
US7930459B2 (en) Coherent input output device

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100126

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20100423

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20100506

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20100525

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20100601

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20100625

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20100702

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100723

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

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

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

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees