Nothing Special   »   [go: up one dir, main page]

JP3929872B2 - キャッシュメモリ、プロセッサ及びキャッシュ制御方法 - Google Patents

キャッシュメモリ、プロセッサ及びキャッシュ制御方法 Download PDF

Info

Publication number
JP3929872B2
JP3929872B2 JP2002315896A JP2002315896A JP3929872B2 JP 3929872 B2 JP3929872 B2 JP 3929872B2 JP 2002315896 A JP2002315896 A JP 2002315896A JP 2002315896 A JP2002315896 A JP 2002315896A JP 3929872 B2 JP3929872 B2 JP 3929872B2
Authority
JP
Japan
Prior art keywords
data
memory
cache
cache memory
main memory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP2002315896A
Other languages
English (en)
Other versions
JP2004151962A (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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2002315896A priority Critical patent/JP3929872B2/ja
Priority to US10/695,997 priority patent/US7219197B2/en
Publication of JP2004151962A publication Critical patent/JP2004151962A/ja
Application granted granted Critical
Publication of JP3929872B2 publication Critical patent/JP3929872B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • 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/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0864Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using pseudo-associative means, e.g. set-associative or hashing
    • 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/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0875Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with dedicated cache, e.g. instruction or stack

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)

Description

【0001】
【発明の属する技術分野】
本発明は、キャッシュメモリと、このキャッシュメモリを内蔵するプロセッサと、キャッシュメモリのキャッシュ制御方法とに関する。
【0002】
【従来の技術】
CPUの動作速度は、年々高くなる傾向にあるが、メモリはCPUほどには高速動作できないため、両者の速度差を埋めるために、キャッシュメモリを設けるのが一般的である。
【0003】
キャッシュメモリには、原則として、メインメモリに格納された、あるいは格納されるべきデータの一部が格納され、キャッシュメモリ内のデータは、メインメモリ内のデータと一貫性が維持される。したがって、キャッシュメモリに格納されたデータで、まだメインメモリに格納していないデータは、キャッシュメモリを更新する前に、メインメモリへの書き戻しを行わなければならない。
【0004】
【発明が解決しようとする課題】
通常のキャッシュメモリは、複数のインデックスを持つウェイを複数並列に並べて構成されている。
【0005】
キャッシュメモリは、メインメモリよりも高速のメモリであるが、CPUが実行するプログラムによっては、キャッシュミスが起こる確率が非常に高くなる。特に、ウェイの数よりも多くの異なるアドレスに対して連続的にアクセスする場合、キャッシュミスが連続的に起こることになり、メモリアクセスに余計な時間がかかってしまう。
【0006】
このように、プログラムによっては、キャッシュメモリの高速性能が生かされないおそれがある。
【0007】
本発明は、このような点に鑑みてなされたものであり、その目的は、メインメモリとのデータの一貫性を維持するという目的以外の目的でも利用可能なキャッシュメモリ、この種のキャッシュメモリを内蔵するプロセッサ及びキャッシュ制御方法を提供することにある。
【0008】
【課題を解決するための手段】
本発明の一態様によれば、メインメモリとのデータの一貫性を要求するデータを格納可能なデータ格納部を備えたキャッシュメモリにおいて、前記データ格納部のうちプログラマにより指定されたデータ領域に、前記メインメモリとのデータの一貫性を要求しないデータを格納する制御を行う格納制御部を備え、前記メインメモリ及び前記キャッシュメモリが共通のシステムバスに接続されるルック・アサイド(Look−Aside)型接続方式で、かつCPUが前記メインメモリ及び前記キャッシュメモリに同時にデータを書き込むライト・スルー(Write−through)書き込み方式を採用することを特徴とするキャッシュメモリが提供される。
【0009】
【発明の実施の形態】
以下、本発明に係るキャッシュメモリ、プロセッサ及びキャッシュ制御方法について、図面を参照しながら具体的に説明する。
【0010】
図1は本発明に係るキャッシュメモリ21の一実施形態の内部構成を示すブロック図である。図1のキャッシュメモリ21は、アドレスの中位ビット列(インデックス)でキャッシュラインの置き換え候補が一意に決まる図2のようなダイレクトマップキャッシュを複数並列に並べ、複数(n個のウェイ数分)の置き換え候補を有する図3のようなn-Wayセット・アソシアティブ・キャッシュである。
【0011】
図2及び図3の升目の一つ一つがキャッシュラインに相当し、あるアドレスが指定されると、そのアドレスの中位ビット列(インデックス)に対応するn個のウェイそれぞれのキャッシュラインがアクセスの候補となる。キャッシュメモリ21は、インデックスを単位としてアクセスされる。
【0012】
本実施形態のキャッシュメモリ21のデータ容量は、キャッシュラインのサイズ×インデックス数×ウェイ数で表される。
【0013】
図1のキャッシュメモリ21は、大きく分けて、データを格納するデータメモリ1と、各データのアドレス情報を格納するタグメモリ2と、キャッシュメモリ21にヒットしたか否かを判定するキャッシュ制御部3とを備えている。
【0014】
タグメモリ2は、各ウェイごとに設けられて対応するPFNをそれぞれ格納する複数のPFN部4と、キャッシュメモリ21のリフィル情報を格納するリフィル情報格納部5とを有する。リフィル情報格納部5は、例えば各インデックスごとに設けられる。
【0015】
ここで、リフィル情報とは、過去にどのような順番で各ウェイのリフィルが発生したかを示す情報である。例えば、2つのウェイが存在する場合、最近リフィルされたウェイが0であれば、リフィル情報格納部5に0を格納し、最近リフィルされたウェイが1であれば、リフィル情報格納部5に1を格納するものとする(ただし、これは一例にすぎない)。
【0016】
この状態で、あるインデックスによるキャッシュアクセスがミスして、リフィルが発生したとし、そのインデックスに対応するリフィル情報格納部5が0であったとする。この場合、次のリフィル時には、ウェイ1を置き換えるとともに、リフィル情報格納部5に1を格納する。
【0017】
このようにすれば、その後に、同じインデックスについてのリフィルが発生したときに、リフィル情報格納部5に1が格納されているので、リフィルを行ってからの経過時間が長いウェイ0を置き換えることになる。
【0018】
なお、リフィル情報格納部5は、インデックスごとに設けてもよいし、PFN部4ごとに設けてもよい。
【0019】
複数のPFN部4のそれぞれはインデックスで指定される複数の領域を有し、これら各領域には、アドレスの上位アドレス(PFN)が格納される。
【0020】
タグメモリ2は、図1に示した構成以外に、キャッシュラインが有効であることを示すValidビットなどの種々のフラグを有するが、本実施形態の動作に直接関係しないため、説明を省略する。
【0021】
また、図1では、データメモリ1の内部構成を省略しているが、データメモリ1も、タグメモリ2と同様に、複数のインデックスからなるウェイを複数並列に並べて構成されている。
【0022】
キャッシュ制御部3は、ヒット検出器&エンコーダ6と、固定アドレスメモリ指定部7と、リフィル対象生成器8とを有する。
【0023】
ヒット検出器&エンコーダ6は、指定されたアドレスのPFNが、同アドレスのインデックスに対応する各PFN部4内のPFNと一致するか否かを判定し、一致(ヒット)したPFN部4を特定する。固定アドレスメモリ指定部7は、キャッシュメモリ21の一部を、メインメモリとのデータの一貫性を要求しない固定アドレスメモリとして使用する場合に、固定アドレスメモリとして使用するアドレス(以下、固定アドレスと呼ぶ)を指定するとともに、外部から指定されたアドレスが固定アドレスと一致するか否かを判定する。
【0024】
固定アドレスメモリ指定部7は、より詳細には、固定アドレスを格納する固定アドレス格納部9と、固定アドレスを格納したか否かを示すフラグ情報を格納する固定アドレスフラグ格納部10と、PFN部4に格納されたPFNと固定アドレスとのいずれか一方を選択するマルチプレクサ11とを、各ウェイごとに有する。
【0025】
固定アドレス格納部9と固定アドレスフラグ格納部10は、後述するように、プログラムに記述されたストア命令で指定された値を格納する。したがって、固定アドレス格納部9と固定アドレスフラグ格納部10に格納される値は、プログラマが任意に指定可能である。
【0026】
固定アドレスメモリは、メインメモリやI/Oデバイス用に現実に割り当てられているアドレス範囲とは別個のアドレス範囲に割り当てられる。このように割り当てられたアドレス範囲内の任意のアドレスをプログラマは指定できる。
【0027】
リフィル対象生成器8は、リフィル情報格納部5に格納されているリフィル情報と固定アドレスフラグ格納部10に格納されているフラグ情報とをパラメータとする関数f(R,C)に従って、キャッシュすべきウェイを選択する。関数f(R,C)の具体的な形式は特に問わないが、例えば、最後にリフィルを行ってからの経過時間が最も長いウェイを選択するようにしてもよい。
【0028】
キャッシュメモリ21の接続方式として、Look-Aside型とLook-through型がある。Look-Aside型は、図4に示すように、キャッシュメモリ21とメインメモリ12がともに直接システムバスに接続されている方式である。一方、Look-through型は、図5に示すように、CPU13−キャッシュメモリ21間、及びキャッシュメモリ21−メインメモリ12間がそれぞれ専用のバスを持つ方式である。
【0029】
また、キャッシュメモリ21の書き込み方式として、Write-through書き込み方式とWrite-back書き込み方式とがある。Write-through書き込み方式は、キャッシュメモリ21に対してデータを書き込む際に、同時にメインメモリ12にもデータを書き込む方式である。一方、Write-back書き込み方式は、メインメモリ12よりも先にキャッシュメモリ21にデータを書き込み、データを書き込んだキャッシュラインを書き換えるときにメインメモリ12への書き戻しを行う方式である。
【0030】
本実施形態は、Look-Aside型の接続方式とWrite-through書き込み方式とを組み合わせたキャッシュメモリ21を用いる。これにより、メインメモリ12とキャッシュメモリ21との間でデータの一貫性を維持でき、キャッシュメモリ21内の一部のウェイを固定アドレスメモリとして利用しても、データの一貫性が崩れるおそれはない。
【0031】
図6は本実施形態のキャッシュメモリ21の一部を固定アドレスメモリとして使用するプログラムの一例を示す図である。図6の例では、ラインサイズが64バイトで、ウェイ数が4で、インデックス数が1024の例を示している。図示された特定のメモリアドレスR0〜R3はそれぞれ対応するウェイの固定アドレス格納部9と固定アドレスフラグ格納部10にデータを設定するために用いられる。例えば、メモリアドレスR0に0x20000001を設定すると、上位16ビット「2000」が固定アドレス格納部9に格納され、最下位ビット「1」が固定アドレスフラグ格納部10に設定される。
【0032】
まず、ステップS1では、0x60000001をレジスタrAにロードする。次に、ステップS2では、メモリアドレスR0にレジスタrAの内容をストアする。このメモリアドレスR0にデータを格納することにより、図1のウェイ0の固定アドレス格納部9と固定アドレスフラグ格納部10にそれぞれ対応する値が格納される。したがって、ステップS2を実行した時点で、固定アドレス格納部9には、0x60000001のPFNである6000が格納され、固定アドレスフラグ格納部10には、最下位ビット「1」が格納される。
【0033】
これらステップS1,S2の処理を実行することにより、0x60000000以降が固定アドレスメモリとして利用されることが指定される。
【0034】
固定アドレスメモリとして利用する場合、まず、該当アドレスの初期化が行われる。まず、ステップS3では、レジスタrAに0x60000000をロードする。次に、ステップS4では、レジスタrAが示すアドレスに、レジスタr0が示す初期値をストアする。
【0035】
次に、ステップS5では、レジスタrAの値を4バイト分インクリメントする。次に、ステップS6では、繰返し数をカウントするレジスタRcの値を1だけデクリメントする。次に、ステップS7では、レジスタRcが示す値がゼロになるまで、ステップS4〜S7の処理を繰り返す。
【0036】
上記のステップS3〜S7の処理により、固定アドレスメモリとして使用する範囲を初期化することができる。
【0037】
このように、本実施形態では、プログラマの任意の指定により、キャッシュメモリ21をウェイ単位で固定アドレスメモリとして使用できるようにしたため、キャッシュメモリ21の一部を、メインメモリとのデータの一貫性を要求しない高速メモリとして利用できる。
【0038】
また、本実施形態では、Look-Aside型の接続方式とWrite-through書き込み方式とを組み合わせたキャッシュメモリ21を用いるため、キャッシュメモリ21の一部を固定アドレスメモリとして用いても、メインメモリとのデータの一貫性が損なわれるおそれはない。
【0039】
上述したキャッシュメモリ21は、プロセッサに内蔵されてもよいし、プロセッサとは別個に設けてもよいし、キャッシュメモリ21の一部(例えば、タグメモリ2とキャッシュ制御部3)のみをプロセッサに内蔵してもよい。
【0040】
また、図6に示した命令列は一例であり、本発明は、RISC型やCISC型等の種々のプロセッサに適用可能である。
【0041】
また、図1に示したキャッシュ制御部3は、ソフトウェアにより実現してもよい。
【0042】
【発明の効果】
以上詳細に説明したように、本発明によれば、データ格納部のうちプログラマにより指定されたデータ領域に、メインメモリとのデータの一貫性を要求しないデータを格納できるようにしたため、キャッシュヒット/ミスにかかわらず、常に高速アクセス可能なメモリとしてキャッシュメモリを利用できる。
【図面の簡単な説明】
【図1】本発明に係るキャッシュメモリ21の一実施形態の内部構成を示すブロック図。
【図2】ダイレクトマップキャッシュを説明する図。
【図3】 n-Wayセット・アソシアティブ・キャッシュを説明する図。
【図4】キャッシュメモリの接続方式を説明する図。
【図5】キャッシュメモリの書き込み方式を説明する図。
【図6】本実施形態のキャッシュメモリ21の一部を固定アドレスメモリとして使用するプログラムの一例を示す図。
【符号の説明】
1 データメモリ
2 タグメモリ
3 キャッシュ制御部
4 PFN部
5 リフィル情報格納部
6 ヒット検出器&エンコーダ
7 固定アドレスメモリ指定部
8 リフィル対象生成器
9 固定アドレス格納部
10 固定アドレスフラグ格納部
11 マルチプレクサ
21 キャッシュメモリ

Claims (3)

  1. メインメモリとのデータの一貫性を要求するデータを格納可能なデータ格納部を備えたキャッシュメモリにおいて、
    前記データ格納部のうちプログラマにより指定されたデータ領域に、前記メインメモリとのデータの一貫性を要求しないデータを格納する制御を行う格納制御部を備え、
    前記メインメモリ及び前記キャッシュメモリが共通のシステムバスに接続されるルック・アサイド(Look−Aside)型接続方式で、かつCPUが前記メインメモリ及び前記キャッシュメモリに同時にデータを書き込むライト・スルー(Write−through)書き込み方式を採用することを特徴とするキャッシュメモリ。
  2. メインメモリと、メインメモリとのデータの一貫性を要求するデータを格納可能なデータ格納部を備えたキャッシュメモリとが共通のシステムバスに接続されるルック・アサイド(Look−Aside)型接続方式で、かつ前記メインメモリ及び前記キャッシュメモリに同時にデータを書き込むライト・スルー(Write−through)書き込み方式を採用するプロセッサであって、
    前記キャッシュメモリは、
    前記データ格納部のうち、プログラマにより指定されたデータ領域に、前記メインメモリとのデータの一貫性を要求しないデータを格納する制御を行う格納制御部を備えることを特徴とするプロセッサ。
  3. メインメモリと、メインメモリとのデータの一貫性を要求するデータを格納可能なデータ格納部を備えたキャッシュメモリとが共通のシステムバスに接続されるルック・アサイド(Look−Aside)型接続方式で、かつ前記メインメモリ及び前記キャッシュメモリに同時にデータを書き込むライト・スルー(Write−through)書き込み方式を採用するキャッシュ制御方法であって、
    前記データ格納部のうち、プログラマにより指定されたデータ領域に、前記メインメモリとのデータの一貫性を要求しないデータを格納する制御を行うことを特徴とするキャッシュ制御方法。
JP2002315896A 2002-10-30 2002-10-30 キャッシュメモリ、プロセッサ及びキャッシュ制御方法 Expired - Lifetime JP3929872B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2002315896A JP3929872B2 (ja) 2002-10-30 2002-10-30 キャッシュメモリ、プロセッサ及びキャッシュ制御方法
US10/695,997 US7219197B2 (en) 2002-10-30 2003-10-30 Cache memory, processor and cache control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002315896A JP3929872B2 (ja) 2002-10-30 2002-10-30 キャッシュメモリ、プロセッサ及びキャッシュ制御方法

Publications (2)

Publication Number Publication Date
JP2004151962A JP2004151962A (ja) 2004-05-27
JP3929872B2 true JP3929872B2 (ja) 2007-06-13

Family

ID=32459760

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002315896A Expired - Lifetime JP3929872B2 (ja) 2002-10-30 2002-10-30 キャッシュメモリ、プロセッサ及びキャッシュ制御方法

Country Status (2)

Country Link
US (1) US7219197B2 (ja)
JP (1) JP3929872B2 (ja)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008544366A (ja) * 2005-06-15 2008-12-04 フリースケール セミコンダクター インコーポレイテッド 柔軟な構成を有するキャッシュ、それを使用するデータ処理システム、およびそのための方法
US9104599B2 (en) 2007-12-06 2015-08-11 Intelligent Intellectual Property Holdings 2 Llc Apparatus, system, and method for destaging cached data
US8489817B2 (en) 2007-12-06 2013-07-16 Fusion-Io, Inc. Apparatus, system, and method for caching data
US9116823B2 (en) 2006-12-06 2015-08-25 Intelligent Intellectual Property Holdings 2 Llc Systems and methods for adaptive error-correction coding
US9495241B2 (en) 2006-12-06 2016-11-15 Longitude Enterprise Flash S.A.R.L. Systems and methods for adaptive data storage
US8443134B2 (en) 2006-12-06 2013-05-14 Fusion-Io, Inc. Apparatus, system, and method for graceful cache device degradation
KR101532951B1 (ko) 2006-12-06 2015-07-09 론지튜드 엔터프라이즈 플래시 에스.에이.알.엘. 고-용량, 비-휘발성 스토리지를 위한 캐시로서의 솔리드-스테이트 스토리지 장치, 시스템 및 방법
US8706968B2 (en) 2007-12-06 2014-04-22 Fusion-Io, Inc. Apparatus, system, and method for redundant write caching
US7836226B2 (en) 2007-12-06 2010-11-16 Fusion-Io, Inc. Apparatus, system, and method for coordinating storage requests in a multi-processor/multi-thread environment
US9519540B2 (en) 2007-12-06 2016-12-13 Sandisk Technologies Llc Apparatus, system, and method for destaging cached data
US9092337B2 (en) 2011-01-31 2015-07-28 Intelligent Intellectual Property Holdings 2 Llc Apparatus, system, and method for managing eviction of data
WO2012116369A2 (en) 2011-02-25 2012-08-30 Fusion-Io, Inc. Apparatus, system, and method for managing contents of a cache
US9767032B2 (en) 2012-01-12 2017-09-19 Sandisk Technologies Llc Systems and methods for cache endurance
US9251086B2 (en) 2012-01-24 2016-02-02 SanDisk Technologies, Inc. Apparatus, system, and method for managing a cache

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01183750A (ja) 1988-01-14 1989-07-21 Fujitsu Ltd キャッシュメモリ常駐化方式
JPH03263144A (ja) 1990-03-13 1991-11-22 Nec Corp キャッシュメモリ装置
US5696937A (en) * 1995-04-28 1997-12-09 Unisys Corporation Cache controller utilizing a state machine for controlling invalidations in a network with dual system busses
US6516387B1 (en) * 2001-07-30 2003-02-04 Lsi Logic Corporation Set-associative cache having a configurable split and unified mode

Also Published As

Publication number Publication date
US20040139277A1 (en) 2004-07-15
JP2004151962A (ja) 2004-05-27
US7219197B2 (en) 2007-05-15

Similar Documents

Publication Publication Date Title
USRE45078E1 (en) Highly efficient design of storage array utilizing multiple pointers to indicate valid and invalid lines for use in first and second cache spaces and memory subsystems
US7426626B2 (en) TLB lock indicator
US10019369B2 (en) Apparatuses and methods for pre-fetching and write-back for a segmented cache memory
JP2839060B2 (ja) データ処理システムおよびデータ処理方法
US6912623B2 (en) Method and apparatus for multithreaded cache with simplified implementation of cache replacement policy
JP3618385B2 (ja) データをバッファリングする方法およびそのシステム
TWI522802B (zh) 確保微處理器之快取記憶體層級之資料一致性的裝置與方法
US6990557B2 (en) Method and apparatus for multithreaded cache with cache eviction based on thread identifier
JP7049338B2 (ja) タグマッチングコマンドに応答する記憶回路
JP4447580B2 (ja) 分散共有メモリマルチプロセッサシステムのための分割疎ディレクトリ
JP3718302B2 (ja) 命令取り出し方法および装置
US5787478A (en) Method and system for implementing a cache coherency mechanism for utilization within a non-inclusive cache memory hierarchy
JP3929872B2 (ja) キャッシュメモリ、プロセッサ及びキャッシュ制御方法
JPH0326863B2 (ja)
JP4920378B2 (ja) 情報処理装置およびデータ検索方法
JP5622155B2 (ja) キャッシュメモリおよびその制御方法
JPH09259036A (ja) ライトバックキャッシュおよびライトバックキャッシュ内で整合性を維持する方法
US20070168617A1 (en) Patrol snooping for higher level cache eviction candidate identification
JPH11509356A (ja) キャッシュシステム
US8621152B1 (en) Transparent level 2 cache that uses independent tag and valid random access memory arrays for cache access
US20100318741A1 (en) Multiprocessor computer cache coherence protocol
US20150026410A1 (en) Least recently used (lru) cache replacement implementation using a fifo
US20040215900A1 (en) System and method for reducing contention in a multi-sectored cache
US20190034335A1 (en) Cache and method
JPH04205041A (ja) マルチプロセッサシステム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040409

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060913

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060915

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061114

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20061205

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070205

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20070209

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070307

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

Free format text: PAYMENT UNTIL: 20100316

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20110316

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120316

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20130316

Year of fee payment: 6