JP4417346B2 - 微細粒度変換判別方法及び装置 - Google Patents
微細粒度変換判別方法及び装置 Download PDFInfo
- Publication number
- JP4417346B2 JP4417346B2 JP2006112312A JP2006112312A JP4417346B2 JP 4417346 B2 JP4417346 B2 JP 4417346B2 JP 2006112312 A JP2006112312 A JP 2006112312A JP 2006112312 A JP2006112312 A JP 2006112312A JP 4417346 B2 JP4417346 B2 JP 4417346B2
- Authority
- JP
- Japan
- Prior art keywords
- memory
- instructions
- host
- target
- sub
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3802—Instruction prefetching
- G06F9/3812—Instruction prefetching with instruction modification, e.g. store into instruction stream
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/3017—Runtime instruction translation, e.g. macros
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3802—Instruction prefetching
- G06F9/3808—Instruction prefetching for instruction reuse, e.g. trace cache, branch target cache
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45504—Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Executing Machine-Instructions (AREA)
- Medicines Containing Plant Substances (AREA)
- Liquid Crystal Substances (AREA)
- Pharmaceuticals Containing Other Organic And Inorganic Compounds (AREA)
Description
Claims (6)
- ターゲット命令セットからホスト命令セットに命令を変換するコンピュータにおいて、メモリ・ページに対する書き込みが、ホスト命令に変換されたターゲット命令に対するものか否かについて判定を行う方法であって、
ホスト命令に変換されたターゲット命令を格納しているメモリ・ページ毎のインディケータを格納するステップと、
メモリ・ページに対するインディケータが格納されたとき、ホスト命令に変換されたターゲット命令を格納しているメモリ・ページの各サブエリアに対するサブエリア・インディケータを格納するステップと、
前記メモリ・ページに書き込みが行われようとしたときに、前記メモリ・ページに対するインディケータを検出するステップと、
前記書き込みがアドレスされた前記メモリ・ページのサブエリアが、変換されたターゲット命令を格納しているか否かについて判定を行うステップであって、前記サブエリアに対するサブエリア・インディケータが格納されているか否かを検出することから成るものと、
前記サブエリアに対するサブエリア・インディケータが格納されているとき、前記サブエリア内に格納されている、ターゲット命令から変換されたホスト命令を無効にするステップと、
を含む方法。 - ターゲット命令セットからホスト命令セットに命令を変換するコンピュータであって、
ホスト命令を実行する処理ユニットと、
システム・メモリと、
システム・メモリへのアクセスを制御するメモリ管理ユニットであって、
ホスト命令に変換されたターゲット命令を格納し、第1の数のエントリーを有する前記システム・メモリの部分を示す第1の手段と、
ホスト命令に変換されたターゲット命令を格納し、前記第1の数のエントリーより少数の第2の数のエントリーを有するシステム・メモリの前記部分のサブエリアを示す第2の手段と、
前記システム・メモリの部分に対して書き込みが行われようとしたときに、前記第1の手段及び第2の手段が、前記部分がターゲット命令のみを格納していることを示す場合、前記システム・メモリの前記部分に格納されているターゲット命令から変換されたホスト命令を無効にする手段と、
システム・メモリの前記サブエリアに対して書き込みが行われようとしたときに、前記第2の手段が、前記サブエリアがターゲット命令を格納していることを示す場合、前記システム・メモリの部分の前記サブエリアに格納されているターゲット命令から変換されたホスト命令を無効にする手段と、
を含むメモリ管理ユニットと、
を備えているコンピュータ。 - ターゲット命令セットからホスト命令セットに命令を変換するコンピュータにおいてシステム・メモリに対するアクセスを制御するメモリ管理ユニットであって、
ホスト命令に変換されたターゲット命令を格納し第1の数のエントリーを有する前記システム・メモリの部分を示す第1の手段と、
ホスト命令に変換されたターゲット命令を格納し前記第1の数のエントリーより少数の第2の数のエントリーを有するシステム・メモリの前記部分のサブエリアを示す第2の手段と、
前記システム・メモリの部分に対して書き込みが行われようとしたときに、前記第1の手段及び第2の手段が、前記部分がターゲット命令のみを格納していることを示す場合、前記システム・メモリの前記部分に格納されているターゲット命令から変換されたホスト命令を無効にする手段と、
システム・メモリの前記サブエリアに対して書き込みが行われようとしたときに、前記第2の手段が、前記サブエリアがターゲット命令を格納していることを示す場合、前記システム・メモリの部分の前記サブエリアに格納されているターゲット命令から変換されたホスト命令を無効にする手段と、
を含むメモリ管理ユニット。 - あるページ・テーブル・サイズを有しかつページ・テーブル・エントリーを含むページ・テーブルと、
前記ページ・テーブル・サイズより小さな微粒子テーブル・サイズを有しかつ微粒子テーブル・エントリーを含む微粒子テーブルと、
を含むコンピュータ・システムのメモリを保護するための方法であって、
ターゲット命令をメモリ・ページの第1のサブエリアに記憶するステップと、
前記ターゲット命令をホスト命令の変換されたグループに変換するステップと、
前記メモリ・ページに対応するページ・テーブル・エントリ内に第1のインディケータをセットするステップと、
前記第1のサブエリアに対応する微粒子テーブル・エントリ内に第2のインディケータをセットするステップと、
から成る方法。 - 請求項4記載のコンピュータ・システムのメモリを保護するための方法であって、更に、
前記第1のサブエリアに対する書き込み処理を始める時に前記第1のインディケータを検査するステップと、
前記第1のインディケータがセットされていた時に前記第2のインディケータを検査するステップと、
前記第2のインディケータがセットされていた時に前記ホスト命令の変換されたグループを無効化するステップと、
を含むことを特徴とする方法。 - 請求項5記載のコンピュータ・システムのメモリを保護するための方法であって、更に、
第2のサブエリアに対応するインディケータが前記微粒子テーブルにセットされていない場合、前記ホスト命令の変換されたグループを無効化すること無しに、前記メモリ・ページの前記第2のサブエリアにデータを書き込むステップを含む、
ことを特徴とする方法。
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US09/417,356 US6363336B1 (en) | 1999-10-13 | 1999-10-13 | Fine grain translation discrimination |
Related Parent Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2001530689A Division JP4275884B2 (ja) | 1999-10-13 | 2000-09-06 | 微細粒度変換判別 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2006244516A JP2006244516A (ja) | 2006-09-14 |
| JP4417346B2 true JP4417346B2 (ja) | 2010-02-17 |
Family
ID=23653666
Family Applications (2)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2001530689A Expired - Lifetime JP4275884B2 (ja) | 1999-10-13 | 2000-09-06 | 微細粒度変換判別 |
| JP2006112312A Expired - Lifetime JP4417346B2 (ja) | 1999-10-13 | 2006-04-14 | 微細粒度変換判別方法及び装置 |
Family Applications Before (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2001530689A Expired - Lifetime JP4275884B2 (ja) | 1999-10-13 | 2000-09-06 | 微細粒度変換判別 |
Country Status (9)
| Country | Link |
|---|---|
| US (1) | US6363336B1 (ja) |
| EP (1) | EP1240582B1 (ja) |
| JP (2) | JP4275884B2 (ja) |
| KR (1) | KR100573446B1 (ja) |
| CN (1) | CN1196994C (ja) |
| AT (1) | ATE377212T1 (ja) |
| CA (1) | CA2384254C (ja) |
| DE (1) | DE60036960T2 (ja) |
| WO (1) | WO2001027743A1 (ja) |
Families Citing this family (33)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7275246B1 (en) | 1999-01-28 | 2007-09-25 | Ati International Srl | Executing programs for a first computer architecture on a computer of a second architecture |
| US7941647B2 (en) | 1999-01-28 | 2011-05-10 | Ati Technologies Ulc | Computer for executing two instruction sets and adds a macroinstruction end marker for performing iterations after loop termination |
| US8121828B2 (en) * | 1999-01-28 | 2012-02-21 | Ati Technologies Ulc | Detecting conditions for transfer of execution from one computer instruction stream to another and executing transfer on satisfaction of the conditions |
| US8074055B1 (en) | 1999-01-28 | 2011-12-06 | Ati Technologies Ulc | Altering data storage conventions of a processor when execution flows from first architecture code to second architecture code |
| US6763452B1 (en) | 1999-01-28 | 2004-07-13 | Ati International Srl | Modifying program execution based on profiling |
| US8127121B2 (en) | 1999-01-28 | 2012-02-28 | Ati Technologies Ulc | Apparatus for executing programs for a first computer architechture on a computer of a second architechture |
| US7111290B1 (en) * | 1999-01-28 | 2006-09-19 | Ati International Srl | Profiling program execution to identify frequently-executed portions and to assist binary translation |
| US7065633B1 (en) | 1999-01-28 | 2006-06-20 | Ati International Srl | System for delivering exception raised in first architecture to operating system coded in second architecture in dual architecture CPU |
| US6978462B1 (en) | 1999-01-28 | 2005-12-20 | Ati International Srl | Profiling execution of a sequence of events occuring during a profiled execution interval that matches time-independent selection criteria of events to be profiled |
| US7013456B1 (en) | 1999-01-28 | 2006-03-14 | Ati International Srl | Profiling execution of computer programs |
| US6954923B1 (en) | 1999-01-28 | 2005-10-11 | Ati International Srl | Recording classification of instructions executed by a computer |
| US6779107B1 (en) | 1999-05-28 | 2004-08-17 | Ati International Srl | Computer execution by opportunistic adaptation |
| US7254806B1 (en) | 1999-08-30 | 2007-08-07 | Ati International Srl | Detecting reordered side-effects |
| US7761857B1 (en) | 1999-10-13 | 2010-07-20 | Robert Bedichek | Method for switching between interpretation and dynamic translation in a processor system based upon code sequence execution counts |
| US6845353B1 (en) | 1999-12-23 | 2005-01-18 | Transmeta Corporation | Interpage prologue to protect virtual address mappings |
| US6934832B1 (en) | 2000-01-18 | 2005-08-23 | Ati International Srl | Exception mechanism for a computer |
| US7680999B1 (en) * | 2000-02-08 | 2010-03-16 | Hewlett-Packard Development Company, L.P. | Privilege promotion based on check of previous privilege level |
| US6594821B1 (en) * | 2000-03-30 | 2003-07-15 | Transmeta Corporation | Translation consistency checking for modified target instructions by comparing to original copy |
| US6615300B1 (en) | 2000-06-19 | 2003-09-02 | Transmeta Corporation | Fast look-up of indirect branch destination in a dynamic translation system |
| US6826682B1 (en) | 2000-06-26 | 2004-11-30 | Transmeta Corporation | Floating point exception handling in pipelined processor using special instruction to detect generated exception and execute instructions singly from known correct state |
| GB2393274B (en) * | 2002-09-20 | 2006-03-15 | Advanced Risc Mach Ltd | Data processing system having an external instruction set and an internal instruction set |
| US7310723B1 (en) | 2003-04-02 | 2007-12-18 | Transmeta Corporation | Methods and systems employing a flag for deferring exception handling to a commit or rollback point |
| US6925928B2 (en) * | 2003-09-18 | 2005-08-09 | Anthony Fox | Trash compactor for fast food restaurant waste |
| JP4520790B2 (ja) * | 2004-07-30 | 2010-08-11 | 富士通株式会社 | 情報処理装置およびソフトウェアプリフェッチ制御方法 |
| US8413162B1 (en) | 2005-06-28 | 2013-04-02 | Guillermo J. Rozas | Multi-threading based on rollback |
| US7774583B1 (en) | 2006-09-29 | 2010-08-10 | Parag Gupta | Processing bypass register file system and method |
| US7478226B1 (en) | 2006-09-29 | 2009-01-13 | Transmeta Corporation | Processing bypass directory tracking system and method |
| US8006055B2 (en) | 2008-03-04 | 2011-08-23 | Microsoft Corporation | Fine granularity hierarchiacal memory protection |
| JP5246014B2 (ja) * | 2009-04-22 | 2013-07-24 | 富士通株式会社 | 仮想化プログラム、仮想化処理方法及び装置 |
| KR101744081B1 (ko) | 2012-12-27 | 2017-06-07 | 인텔 코포레이션 | 이진 변환된 자가 수정 코드 및 교차 수정 코드의 처리 |
| US9081707B2 (en) | 2012-12-29 | 2015-07-14 | Intel Corporation | Apparatus and method for tracking TLB flushes on a per thread basis |
| US9411600B2 (en) * | 2013-12-08 | 2016-08-09 | Intel Corporation | Instructions and logic to provide memory access key protection functionality |
| CN106796506B (zh) * | 2014-05-12 | 2019-09-27 | 英特尔公司 | 用于向自修改代码提供硬件支持的方法和装置 |
Family Cites Families (14)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4589092A (en) * | 1983-12-12 | 1986-05-13 | International Business Machines Corporation | Data buffer having separate lock bit storage array |
| US4638462A (en) * | 1985-01-31 | 1987-01-20 | International Business Machines Corporation | Self-timed precharge circuit |
| US4794522A (en) * | 1985-09-30 | 1988-12-27 | International Business Machines Corporation | Method for detecting modified object code in an emulator |
| EP0425771A3 (en) * | 1989-11-03 | 1992-09-02 | International Business Machines Corporation | An efficient mechanism for providing fine grain storage protection intervals |
| CA2078310A1 (en) * | 1991-09-20 | 1993-03-21 | Mark A. Kaufman | Digital processor with distributed memory system |
| US5437017A (en) * | 1992-10-09 | 1995-07-25 | International Business Machines Corporation | Method and system for maintaining translation lookaside buffer coherency in a multiprocessor data processing system |
| US5548746A (en) * | 1993-11-12 | 1996-08-20 | International Business Machines Corporation | Non-contiguous mapping of I/O addresses to use page protection of a process |
| US5781750A (en) * | 1994-01-11 | 1998-07-14 | Exponential Technology, Inc. | Dual-instruction-set architecture CPU with hidden software emulation mode |
| US5577231A (en) * | 1994-12-06 | 1996-11-19 | International Business Machines Corporation | Storage access authorization controls in a computer system using dynamic translation of large addresses |
| US5560013A (en) * | 1994-12-06 | 1996-09-24 | International Business Machines Corporation | Method of using a target processor to execute programs of a source architecture that uses multiple address spaces |
| US5832205A (en) * | 1996-08-20 | 1998-11-03 | Transmeta Corporation | Memory controller for a microprocessor for detecting a failure of speculation on the physical nature of a component being addressed |
| US6199152B1 (en) * | 1996-08-22 | 2001-03-06 | Transmeta Corporation | Translated memory protection apparatus for an advanced microprocessor |
| US6009516A (en) * | 1996-10-21 | 1999-12-28 | Texas Instruments Incorporated | Pipelined microprocessor with efficient self-modifying code detection and handling |
| US6243668B1 (en) * | 1998-08-07 | 2001-06-05 | Hewlett-Packard Company | Instruction set interpreter which uses a register stack to efficiently map an application register state |
-
1999
- 1999-10-13 US US09/417,356 patent/US6363336B1/en not_active Expired - Lifetime
-
2000
- 2000-09-06 KR KR1020027004731A patent/KR100573446B1/ko not_active Expired - Fee Related
- 2000-09-06 CA CA002384254A patent/CA2384254C/en not_active Expired - Fee Related
- 2000-09-06 JP JP2001530689A patent/JP4275884B2/ja not_active Expired - Lifetime
- 2000-09-06 WO PCT/US2000/024651 patent/WO2001027743A1/en not_active Ceased
- 2000-09-06 CN CNB00814186XA patent/CN1196994C/zh not_active Expired - Lifetime
- 2000-09-06 EP EP00960034A patent/EP1240582B1/en not_active Expired - Lifetime
- 2000-09-06 DE DE60036960T patent/DE60036960T2/de not_active Expired - Lifetime
- 2000-09-06 AT AT00960034T patent/ATE377212T1/de not_active IP Right Cessation
-
2006
- 2006-04-14 JP JP2006112312A patent/JP4417346B2/ja not_active Expired - Lifetime
Also Published As
| Publication number | Publication date |
|---|---|
| JP2006244516A (ja) | 2006-09-14 |
| US6363336B1 (en) | 2002-03-26 |
| JP2003511788A (ja) | 2003-03-25 |
| CN1196994C (zh) | 2005-04-13 |
| DE60036960T2 (de) | 2008-08-14 |
| EP1240582A4 (en) | 2005-08-31 |
| WO2001027743A1 (en) | 2001-04-19 |
| CN1399735A (zh) | 2003-02-26 |
| CA2384254C (en) | 2004-11-02 |
| JP4275884B2 (ja) | 2009-06-10 |
| CA2384254A1 (en) | 2001-04-19 |
| ATE377212T1 (de) | 2007-11-15 |
| EP1240582B1 (en) | 2007-10-31 |
| DE60036960D1 (de) | 2007-12-13 |
| KR20020039685A (ko) | 2002-05-27 |
| EP1240582A1 (en) | 2002-09-18 |
| KR100573446B1 (ko) | 2006-04-26 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP4417346B2 (ja) | 微細粒度変換判別方法及び装置 | |
| US7404181B1 (en) | Switching to original code comparison of modifiable code for translated code validity when frequency of detecting memory overwrites exceeds threshold | |
| US6604187B1 (en) | Providing global translations with address space numbers | |
| US8028341B2 (en) | Providing extended memory protection | |
| JP5855632B2 (ja) | ページ属性サポートのある仮想アドレスから物理アドレスへの変換 | |
| EP0118828B1 (en) | Instruction fetch apparatus and method of operating same | |
| CN1993683B (zh) | 体系结构事件期间维持处理器资源 | |
| JP3016575B2 (ja) | 複数キャッシュ・メモリ・アクセス方法 | |
| US7434100B2 (en) | Systems and methods for replicating virtual memory on a host computer and debugging using replicated memory | |
| EP0851357A1 (en) | Method and apparatus for preloading different default address translation attributes | |
| EP2851804A1 (en) | Arithmetic processing device, information processing device, control method for information processing device, and control program for information processing device | |
| JP2004503870A (ja) | 変換索引バッファのフラッシュフィルタ | |
| CN112639750A (zh) | 用于控制存储器存取的装置及方法 | |
| EP3746899B1 (en) | Controlling guard tag checking in memory accesses | |
| US5764944A (en) | Method and apparatus for TLB invalidation mechanism for protective page fault | |
| US7100006B2 (en) | Method and mechanism for generating a live snapshot in a computing system | |
| CN110291507B (zh) | 用于提供对存储器系统的加速访问的方法和装置 | |
| US10423537B2 (en) | Address space resizing table for simulation of processing of target program code on a target data processing apparatus | |
| US20110004869A1 (en) | Program, apparatus, and method of optimizing a java object | |
| US7971002B1 (en) | Maintaining instruction coherency in a translation-based computer system architecture | |
| JPH02239330A (ja) | 情報処理装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060627 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20080729 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080908 |
|
| A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20081205 |
|
| A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20081210 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20081217 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090326 |
|
| A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20090626 |
|
| A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20090701 |
|
| A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20090724 |
|
| A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20090729 |
|
| A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20090814 |
|
| A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20090820 |
|
| A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20090917 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090924 |
|
| 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: 20091027 |
|
| 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: 20091125 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 4417346 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121204 Year of fee payment: 3 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121204 Year of fee payment: 3 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131204 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 |
|
| 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 |
|
| EXPY | Cancellation because of completion of term |