JP4395511B2 - マルチcpuシステムのメモリアクセス性能を改善する方法及び装置 - Google Patents

マルチcpuシステムのメモリアクセス性能を改善する方法及び装置 Download PDF

Info

Publication number
JP4395511B2
JP4395511B2 JP2006514349A JP2006514349A JP4395511B2 JP 4395511 B2 JP4395511 B2 JP 4395511B2 JP 2006514349 A JP2006514349 A JP 2006514349A JP 2006514349 A JP2006514349 A JP 2006514349A JP 4395511 B2 JP4395511 B2 JP 4395511B2
Authority
JP
Japan
Prior art keywords
memory
tracking
bus
snoop address
bus agent
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
JP2006514349A
Other languages
English (en)
Other versions
JP2006526224A (ja
Inventor
ドッド,ジェイムズ
ミルストレー,ロバート
Original Assignee
インテル コーポレイション
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 インテル コーポレイション filed Critical インテル コーポレイション
Publication of JP2006526224A publication Critical patent/JP2006526224A/ja
Application granted granted Critical
Publication of JP4395511B2 publication Critical patent/JP4395511B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • 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
    • G06F13/1631Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement by reordering requests through address comparison
    • 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/1652Handling requests for interconnection or transfer for access to memory bus based on arbitration in a multiprocessor architecture
    • G06F13/1663Access to shared memory

Landscapes

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

Description

関連する出願
この出願は、2002年12月24日に出願され、本願出願人に譲渡された出願番号第_____号「A Method and Apparatus for determining a dynamic random access memory page management implementation(ダイナミックランダムアクセスメモリページ管理実装を決定するための方法と装置)」(発明者E. Sprangle、A. Rohillah)と関連する。
本開示は、マイクロプロセッサシステムの分野に関し、特に、システムバス上でメモリコントローラとともに動作することができるマイクロプロセッサシステムに関する。
ダイナミックランダムアクセスメモリ(DRAM)は、メモリプリチャージ、アクティベート、リード、及びライトの動作をする。特に、メモリバンクをアドレスするメモリコントローラは、メモリバンクをプリチャージし、その後、1つのページのアドレスされたカラムをアクセス(リードまたはライト)する前に、そのバンク内のアドレスされたそのページをアクティベートしなければならない。開かれたDRAMページにアクセス(ページヒット)することは、アクセスされるメモリがすでにプリチャージされ、アクティベートされていることを示す。各メモリアクセスの間にはそのメモリをプリチャージしアクティベートすることなくDRAMページとの間でデータをリード及びライトすることができる。「ページミス」(すなわち、開かれたページ以外のページのデータへのアクセス)が発生すると、新しいメモリページをプリチャージしアクティベートしてアクセス可能とする前に、現在開いているページを閉じなければならない(すなわち、センスアンプからDRAMチップに書き戻し)。古いページをDRAMに書き込み、新しいDRAMページをプリチャージ及びアクティベートするには、時間とメモリコマンド帯域幅を要する。そうするとメモリアクセスのアクセスレイテンシが増大し、その結果メモリバスの使用が不効率となり(帯域幅利用効率の減少)、DRAMを使用している装置(例えば、コンピュータ)の性能が落ちる。
発明の詳細な説明
メモリアクセスを最適化することによりマルチCPUシステムにおけるCPU性能を改善する方法を以下に説明する。以下の説明では、具体的な詳細を多数説明するが、それは本発明をよりよく理解してもらうためである。しかし、当業者には言うまでもなく、これらの具体的な詳細がなくても本発明を実施することができる。当業者は、以下の説明に基づいて、必要以上の実験をすることなく適当なロジック回路を実施することができるであろう。以下に説明するいろいろな実施形態により、CPUはメモリの状態をトラックすることができ、そのメモリ(例えばDRAM)をマルチCPUシステムにおいて効率的に使用することができる。例えば、クレームした主題により、他のCPUからのインカミングスヌープアドレスをデコードし、それをDRAMトラッキングレジスタの内容と比較し、そのトラッキングレジスタを適宜更新することが容易になる。同様に、ピンやプロトコルを追加しなくても、他の非CPUバスエージェント及び/またはバスマスタリングデバイス(例えば、バスブリッジ、メモリコントローラ、入出力(I/O)、グラフィックス)からのトランザクションをトラックすることもできるであろう。前述の通り、E. SprangleとA. Rohillaによる関連出願においてDRAMトラッキングロジックが開示されている。
このように、CPUはDRAMアクセスの状態と開いているページをトラックすることができる。それゆえ、クレームした主題によりDRAMメモリへのアクセスを最適化することによりCPU性能が改善されるが、それはそのCPUがトランザクションを順序付け、現在開いているDRAMページを効率的に利用するからである。
従来のDRAMメモリを変形したものが多数あるので、この開示では「DRAM」という用語を広い意味で使用している。一部の実施形態では単一トランジスタ、容量性メモリセルを用いて高密度メモリアレイを設けたが、開示した技術及びこの開示とクレームの範囲は特定タイプのメモリには限定されない。メモリセルの構成そのもの、センスアンプ、出力ラッチ、出力マルチプレクサにかかわらず、最終アドレスの区分的仕様(piece-wise specification of the ultimate address)が可能ないろいろなメモリアレイに開示した実施形態を生かすことができる。
図1は、一実施形態において使用する装置を示す図である。DRAMメモリのページ状態のトラッキングを可能とするように結合されたN個のCPUを示すハイレベルの概略図である。一実施形態において、この装置は、メモリコントローラハブ(MCH)106を介してDRAMメモリ108と結合した複数のプロセッサ102と104を有するシステムである。同実施形態において、各プロセッサ102と104は複数のDRAMトラッキングレジスタを有する。
しかし、クレームされた主題はプロセッサが2つの場合に限定されない。そうではなく、図1は、マルチプロセッサ共有バス構成の一例を示しているだけである。あるいは、同様の共有バス構成において3つまたは4つのマイクロプロセッサを使用することもできる。また、クレームした主題は共有バス構成のプロセッサに限定されるものでもない。複数のプロセッサを独立バス構成で使用することもできる。独立バス構成では、複数のトラッキングレジスタがスヌープフィルタロジックに組み込まれている。これらのトラッキングレジスタは、各プロセッサにダミースヌープを生成し、本発明を実施するプロセッサにそのトラッキングレジスタを更新させる。別の実施形態において、プロセッサを他の構成(例えば、スイッチングファブリックやポイントツーポイント)で使用してもよい。
各プロセッサ(102と104)は、各バンク及びランクでどのDRAMメモリページが開いているかをトラックする1以上のDRAMトラッキングレジスタを有する。例えば、CPUはアウトゴーイングトランザクションキューからのアウトゴーイングトランザクションのアドレスをデコードし、DRAMトラッキングロジックはページアドレスを適当なトラッキングレジスタにロードすることを容易にする。このように、トラッキングレジスタの内容は、そのDRAMバンク中のどのページが開いているかを示す。さらにまた、CPUはトランザクションを順序付け、開いているとトラックされたページにアクセスすることにより、ページヒットの確率を高める。
図2は、一実施形態による装置を示す図である。この装置は、一実施形態において、図1に関して示したDRAMトラッキングロジックと共に使用されるロジックである。
一実施形態において、この装置は、図1に関して説明した各CPU内に組み込まれている。1つのCPUの観点から、本装置は他のCPU及びエージェントから少なくとも1つのスヌープアドレス202を受け取り、そのスヌープアドレスをデコードし、複数のDRAMトラッキングレジスタ204と比較する。CPUはそのトラッキングレジスタ比較の結果を用いて、トラッキングレジスタの内容を更新する。DRAM中の開いたページの状態に基づき、CPUはトランザクションを順序付け、開いたページを利用してページヒットの可能性を向上する。逆に、CPUはページミス条件が解消するのを待つため、ページミスは性能を低下させるので、CPUはトランザクションを順序付けてページミストランザクションのプライオリティを下げ、ページミスの可能性を下げる。
バンクデコーダ208は、スヌープアドレス202をデコードして、CPUがアクセスしているDRAMバンクを判断する。マルチプレクサ206は、バンクデコーダからのデコードされたバンク情報に少なくとも部分的に基づいて、トラッキングレジスタ204を選択し、そのトラッキングレジスタの内容をコンパレータ210に送る。コンパレータ210により、スヌープアドレスの複数のページアドレスビットをそのトラッキングレジスタの内容と比較する。一致しない場合、他のCPUまたはバスエージェントが別のDRAMページにアクセスしていて、現在開いているページを閉じて、スヌープアドレスにより決まる新しいページを開くことを示す。また、スヌープアドレスを有するCPUはトラッキングレジスタの内容にそのスヌープアドレスをリロードする。それ故、そのCPUは、自分のDRAMトラッキングレジスタ204を比較更新するために、自分のアウトゴーイングトランザクションと併せて他のCPU及びエージェントからのスヌープアドレス情報を利用する。
図3は、一実施形態による方法を示す図である。この方法は、ブロック302に示したように、第1のCPUが第2のCPUまたはエージェントからスヌープアドレスを受け取るステップを有する。ブロック304に示したように、第1のCPUはそのスヌープアドレスをデコードし、適当なDRAMバンクを判断する。第1のCPUはそのバンク情報に少なくとも部分的に基づいてレジスタを選択する。その後、ブロック306に示したように、第1のCPUはそのバンク情報を選択されたレジスタの内容と比較する。一致しない場合、ブロック308に示したように、第1のCPUは選択されたレジスタの内容をスヌープアドレスの値で更新する。ブロック310に示したように、一致した場合、CPUは何もしない。
図4は、一実施形態による装置を示す図である。一実施形態によるこの装置は、メモリ406に結合したメモリコントローラ404と複数のプロセッサ402を有する。例えば、このプロセッサは、メモリコントローラ機能の実行を可能とするメモリコントローラと一体となっており、そのプロセッサ自体がメモリコントローラ機能を持っていてもよい。
逆に、他の実施形態において、プロセッサ402はメモリ406と結合したメモリコントローラ404と結合し、そのプロセッサ自体はメモリコントローラ機能は持っていない。前述の両方の実施形態においては、この装置は図1−3に示した前述の実施形態を有する。また、一実施形態において、装置はシステムである。
また、メモリは、シンクロナスDRAM(SDRAM)、ラムバスDRAM(RDRAM)、ダブルデータレートDRAM(DDR DRAM)、スタティックランダムアクセスメモリ(SRAM)、メモリの完全なアドレスを生成するために少なくとも2回のアクセスを利用するいかなるメモリであってもよい。例えば、一実施形態において、単一のマルチプレクサを通して経路指定される複数のメモリチップを有するSRAMを用いてもよい。複数の実施形態を説明し図に示したが、言うまでもなく、上記実施形態は単なる例示であって、本発明を限定するものではない。また、本発明は、図示し説明した具体的な構成に限定されるものでもない。当業者は、この開示を研究して、いろいろな修正を加えることができるであろう。
一実施形態で使用される装置を示す図である。 一実施形態で使用される装置を示す図である。 一実施形態で使用される方法を示すフローチャートである。 一実施形態で使用されるシステムを示す図である。

Claims (10)

  1. バスエージェントに結合した、複数のメモリバンクを有する少なくとも1つのメモリを有し、
    各バスエージェントは各メモリバンクの開いているページアドレスを格納するための複数のトラッキングレジスタを含むトラッキングロジックを有し、前記トラッキングロジックは、到来するスヌープアドレスに基づいて前記トラッキングレジスタを更新し
    前記各バスエージェントは、スヌープアドレスを生成して他のバスエージェントにそのトラッキングレジスタを更新させ、
    前記バスエージェントの少なくとも1つは、前記トラッキングレジスタに格納された値により決定された前記複数のメモリバンクのページオープン状態に基づいて、前記メモリに対するメモリトランザクションを並び替える装置。
  2. 前記バスエージェントは共有バス構成であることを特徴とする、請求項1に記載の装置。
  3. 前記バスエージェントは独立バス構成であることを特徴とする、請求項1に記載の装置。
  4. 前記バスエージェントはスイッチングファブリック構成であることを特徴とする、請求項1に記載の装置。
  5. 前記バスエージェントはポイントツーポイント構成であることを特徴とする、請求項1に記載の装置。
  6. 前記メモリはダイナミックランダムアクセスメモリ(DRAM)であることを特徴とする、請求項1に記載の装置。
  7. 前記バスエージェントは、プロセッサ、バスブリッジ、メモリコントローラ、入出力デバイス(I/Oデバイス)、またはグラフィックスモジュールのうちいずれかであることを特徴とする、請求項に記載の装置。
  8. 前記バスエージェントの各々は、他のバスエージェントから到来するスヌープアドレスを受け取りデコードするデコーダにより前記到来するスヌープアドレスに対応するメモリバンクを決定し、前記決定したバンクに対応するトラッキングレジスタの値を前記到来するスヌープアドレスで比較更新することにより、前記複数のメモリバンクのページオープン状態を追跡することを特徴とする、請求項に記載の装置。
  9. 第1と第2のメモリトランザクションを受け取るステップと、
    到来するスヌープアドレスをデコードして前記スヌープアドレスに対応するメモリバンクを決定し、バスエージェントのトラッキングロジックに含まれる前記決定したメモリバンクに対応するトラッキングレジスタの値を、前記到来するスヌープアドレスで比較更新することにより、メモリバンクのページオープン状態を追跡するステップと、
    メモリトランザクションのアドレスと前記トラッキングレジスタに維持された値とを比較することにより判定された、前記メモリトランザクションがアクセス対象とするメモリバンクのページオープン/クローズ状態に基づき、第1と第2のメモリトランザクションを並べ替えるステップと、を有し、
    前記トラッキングレジスタは他のバスエージェントにそのトラッキングレジスタを更新させるスヌープアドレスを選択的に生成することを特徴とする方法。
  10. 前記第2のメモリトランザクションがオープン状態を有するメモリバンクに対するものであり、前記第1のメモリトランザクションがクローズ状態を有するメモリバンクに対するものであるとき、前記第2のメモリトランザクションを前記第1のメモリトランザクションの前に実行するように並べ替えることを特徴とする、請求項に記載の方法。
JP2006514349A 2003-05-27 2004-05-12 マルチcpuシステムのメモリアクセス性能を改善する方法及び装置 Expired - Fee Related JP4395511B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/446,986 US7404047B2 (en) 2003-05-27 2003-05-27 Method and apparatus to improve multi-CPU system performance for accesses to memory
PCT/US2004/014807 WO2004107184A2 (en) 2003-05-27 2004-05-12 A method and apparatus to improve multi-cpu system performance for accesses to memory

Publications (2)

Publication Number Publication Date
JP2006526224A JP2006526224A (ja) 2006-11-16
JP4395511B2 true JP4395511B2 (ja) 2010-01-13

Family

ID=33451139

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006514349A Expired - Fee Related JP4395511B2 (ja) 2003-05-27 2004-05-12 マルチcpuシステムのメモリアクセス性能を改善する方法及び装置

Country Status (7)

Country Link
US (1) US7404047B2 (ja)
JP (1) JP4395511B2 (ja)
CN (1) CN100573486C (ja)
DE (1) DE112004000694B4 (ja)
GB (1) GB2416055B (ja)
HK (1) HK1079311A1 (ja)
WO (1) WO2004107184A2 (ja)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7159066B2 (en) * 2002-08-27 2007-01-02 Intel Corporation Precharge suggestion
US6888777B2 (en) * 2002-08-27 2005-05-03 Intel Corporation Address decode
US7120765B2 (en) * 2002-10-30 2006-10-10 Intel Corporation Memory transaction ordering
US7469316B2 (en) * 2003-02-10 2008-12-23 Intel Corporation Buffered writes and memory page control
US7076617B2 (en) * 2003-09-30 2006-07-11 Intel Corporation Adaptive page management
US20070005907A1 (en) * 2005-06-29 2007-01-04 Intel Corporation Reduction of snoop accesses
US7426621B2 (en) * 2005-12-09 2008-09-16 Advanced Micro Devices, Inc. Memory access request arbitration
CN100428209C (zh) * 2006-12-22 2008-10-22 清华大学 一种自适应的外部存储设备io性能优化方法
KR100879463B1 (ko) * 2007-05-11 2009-01-20 삼성전자주식회사 억세스 권한 이양 시 프리차아지 스킵을 방지하는 동작을갖는 멀티패쓰 억세스블 반도체 메모리 장치
US8605099B2 (en) * 2008-03-31 2013-12-10 Intel Corporation Partition-free multi-socket memory system architecture
US8635381B2 (en) 2010-08-26 2014-01-21 International Business Machines Corporation System, method and computer program product for monitoring memory access
US8930589B2 (en) 2010-08-26 2015-01-06 International Business Machines Corporation System, method and computer program product for monitoring memory access
US8738875B2 (en) * 2011-11-14 2014-05-27 International Business Machines Corporation Increasing memory capacity in power-constrained systems
EP2811413B1 (en) 2013-05-02 2016-10-19 Huawei Technologies Co., Ltd. Computer system, access method and apparatus for peripheral component interconnect express endpoint device
US9459676B2 (en) 2013-10-28 2016-10-04 International Business Machines Corporation Data storage device control with power hazard mode
CN111625377B (zh) * 2017-04-01 2023-11-28 北京忆芯科技有限公司 代理及向队列添加条目的方法

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4937791A (en) * 1988-06-02 1990-06-26 The California Institute Of Technology High performance dynamic ram interface
US5850534A (en) * 1995-06-05 1998-12-15 Advanced Micro Devices, Inc. Method and apparatus for reducing cache snooping overhead in a multilevel cache system
US5822772A (en) 1996-03-22 1998-10-13 Industrial Technology Research Institute Memory controller and method of memory access sequence recordering that eliminates page miss and row miss penalties
US5923857A (en) * 1996-09-06 1999-07-13 Intel Corporation Method and apparatus for ordering writeback data transfers on a bus
US6088772A (en) 1997-06-13 2000-07-11 Intel Corporation Method and apparatus for improving system performance when reordering commands
US5983325A (en) 1997-12-09 1999-11-09 Advanced Micro Devices, Inc. Dataless touch to open a memory page
CA2239426A1 (en) 1998-06-03 1999-12-03 Newbridge Networks Corporation Shared memory system
US6374323B1 (en) * 1998-11-16 2002-04-16 Infineon Technologies Ag Computer memory conflict avoidance using page registers
US6484238B1 (en) 1999-12-20 2002-11-19 Hewlett-Packard Company Apparatus and method for detecting snoop hits on victim lines issued to a higher level cache
US7127573B1 (en) * 2000-05-04 2006-10-24 Advanced Micro Devices, Inc. Memory controller providing multiple power modes for accessing memory devices by reordering memory transactions
US6829665B2 (en) * 2001-09-28 2004-12-07 Hewlett-Packard Development Company, L.P. Next snoop predictor in a host controller
US6823409B2 (en) * 2001-09-28 2004-11-23 Hewlett-Packard Development Company, L.P. Coherency control module for maintaining cache coherency in a multi-processor-bus system
US7194561B2 (en) * 2001-10-12 2007-03-20 Sonics, Inc. Method and apparatus for scheduling requests to a resource using a configurable threshold
US7020762B2 (en) 2002-12-24 2006-03-28 Intel Corporation Method and apparatus for determining a dynamic random access memory page management implementation

Also Published As

Publication number Publication date
GB0521374D0 (en) 2005-11-30
DE112004000694B4 (de) 2018-04-12
GB2416055A (en) 2006-01-11
US7404047B2 (en) 2008-07-22
GB2416055B (en) 2007-03-21
CN100573486C (zh) 2009-12-23
CN1795441A (zh) 2006-06-28
WO2004107184A3 (en) 2005-01-27
HK1079311A1 (en) 2006-03-31
US20040243768A1 (en) 2004-12-02
DE112004000694T5 (de) 2007-07-26
JP2006526224A (ja) 2006-11-16
WO2004107184A2 (en) 2004-12-09

Similar Documents

Publication Publication Date Title
US11482260B2 (en) Apparatuses and methods for scatter and gather
US7236421B1 (en) Read-modify-write memory using read-or-write banks
JP4395511B2 (ja) マルチcpuシステムのメモリアクセス性能を改善する方法及び装置
US5890195A (en) Dram with integral sram comprising a plurality of sets of address latches each associated with one of a plurality of sram
JP3304413B2 (ja) 半導体記憶装置
US20080256305A1 (en) Multipath accessible semiconductor memory device
US20060203584A1 (en) Modified persistent auto precharge command protocol system and method for memory devices
JP4304172B2 (ja) 集積回路装置
EP3570286B1 (en) Apparatus for simultaneous read and precharge of a memory
US8358152B2 (en) Integrated circuit including pulse control logic having shared gating control
US20090182977A1 (en) Cascaded memory arrangement
CN101165662A (zh) 实现存储器访问的方法和装置
US8032695B2 (en) Multi-path accessible semiconductor memory device with prevention of pre-charge skip
JPH04102948A (ja) データ処理システム及び方法
US7386658B2 (en) Memory post-write page closing apparatus and method
US5963468A (en) Low latency memories and systems using the same
US5434990A (en) Method for serially or concurrently addressing n individually addressable memories each having an address latch and data latch
KR100831491B1 (ko) 어드레스 디코드
JP3187465B2 (ja) コンピューターメモリオープンページバイアス法とその装置
US20040236921A1 (en) Method to improve bandwidth on a cache data bus
US8521951B2 (en) Content addressable memory augmented memory

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080903

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080909

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081209

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090609

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090907

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

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

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

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20131023

Year of fee payment: 4

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

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