JP2010541106A - 誤りの投機的更新のリンクスタック修復 - Google Patents
誤りの投機的更新のリンクスタック修復 Download PDFInfo
- Publication number
- JP2010541106A JP2010541106A JP2010528173A JP2010528173A JP2010541106A JP 2010541106 A JP2010541106 A JP 2010541106A JP 2010528173 A JP2010528173 A JP 2010528173A JP 2010528173 A JP2010528173 A JP 2010528173A JP 2010541106 A JP2010541106 A JP 2010541106A
- Authority
- JP
- Japan
- Prior art keywords
- link stack
- link
- instruction
- pipeline
- stack
- 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
Links
- 230000008439 repair process Effects 0.000 title description 16
- 239000000872 buffer Substances 0.000 claims abstract description 42
- 238000000034 method Methods 0.000 claims description 13
- 238000011156 evaluation Methods 0.000 claims description 8
- 238000001514 detection method Methods 0.000 claims description 5
- 230000004044 response Effects 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 6
- 230000002411 adverse Effects 0.000 description 4
- 238000013459 approach Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 229910052710 silicon Inorganic materials 0.000 description 2
- 239000010703 silicon Substances 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 230000017525 heat dissipation Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000008263 repair mechanism Effects 0.000 description 1
- 230000003362 replicative effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 210000003813 thumb Anatomy 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
- G06F9/3842—Speculative instruction execution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/3804—Instruction prefetching for branches, e.g. hedging, branch folding
- G06F9/3806—Instruction prefetching for branches, e.g. hedging, branch folding using address prediction, e.g. return stack, branch history buffer
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/3861—Recovery, e.g. branch miss-prediction, exception handling
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Advance Control (AREA)
Abstract
Description
Claims (18)
- それぞれがリンクアドレスを保存するように動作可能である複数のエントリ、を備えているリンクスタックを管理する方法であって、
リンクスタックエントリに任意の新しいリンクアドレスを書き込むときに、前記リンクスタックエントリの前の値を保存することと、
分岐命令の前記分岐評価を予測することと、
前記予測に応じて、命令を投機的に実行することと、
前記分岐評価は誤予測されたということを検出し、前記リンクスタックは投機的に書き込まれたということを検出することと、
前記リンクスタックに前記保存された値を復元することと、
を備えている方法。 - 前記リンクスタックが投機的に書き込まれたということを検出することは、
前記パイプラインにおいてコミットされていないリンクスタック書き込み命令の合計数のカウントを保持することと、
各コミットされていない分岐命令に関連づけられた、前記パイプラインにおけるそれの前の前記コミットされていないリンクスタック書き込み命令のカウント、を保持することと、
分岐が誤予測されたということを検出するとき、前記分岐命令に関連づけられたカウントと合計カウントを比較し、前記カウントが同じでない場合にはリンクスタックが投機的に書き込まれたということを検出することと、
を備える請求項1に記載の方法。 - 前記パイプラインにおいてコミットされていないリンクスタック書き込み命令の合計数のカウントを保持することは、
リンクスタック書き込み命令を復号するときにアップ/ダウンカウンタをインクリメントすることと、
リンクスタック書き込み命令が実行をコミットするときには、前記アップ/ダウンカウンタをデクリメントすることと、
を備えている、
請求項2に記載の方法。 - 各コミットされていない分岐命令に関連づけられた、前記パイプラインにおけるそれの前の前記コミットされていないリンクスタック書き込み命令のカウント、を保持することとは、
前記分岐命令を復号するときに前記分岐命令に関連づけられたカウンタに前記アップ/ダウンカウンタの値をコピーすることと、
リンクスタック書き込み命令が実行をコミットするときには前記カウンタをデクリメントすることと、
を備えている、
請求項3に記載の方法。 - 前記分岐命令に関連づけられた前記カウンタは、前記分岐命令に関連づけられた分岐命令キューエントリにおけるフィールドである、請求項4に記載の方法。
- 前記前の値と共に新しく書き込まれたリンクスタックエントリの前記リンクスタックインデクスを保存すること、をさらに備えており、前記リンクスタックに前記保存された値を復元することは、前記保存されたリンクスタックインデクスにおいて前記リンクスタックエントリに前記値を復元することを備えている、請求項1に記載の方法。
- 前記リンクスタックが投機的に読み取られたということを検出すること、をさらに備えており、前記リンクスタックに前記保存された値を復元することは、前記リンクスタックが投機的に読み取られ且つ投機的に書き込まれた場合にのみ、前記リンクスタックに前記保存された値を復元することを備える、請求項1に記載の方法。
- 前記リンクスタックに前記保存された値を保存することは、前記リンクスタックが投機的に書き込まれる前に投機的に読み取られた場合にのみ、前記リンクスタックに前記保存された値を復元することを備えている、請求項7に記載の方法。
- 命令実行パイプラインと、
それぞれがリンクアドレスを保存するように動作可能である複数のエントリ、を備えているリンクスタックと、
任意のリンクスタックエントリが新しいリンクアドレスで上書きされているときにリンクスタックエントリの前の値を保存するように動作可能な、また、それを置き換えた前記リンクスタック書き込みが投機的で誤りであるという検出のときに、前記リンクスタックエントリに前記前の値を復元するように動作可能な、リンクスタック復元バッファと、
前記リンクスタックへの誤りの、投機的な書き込みを検出するように動作可能なリンクスタックモニタ回路と、
を備えるプロセッサ。 - 前記リンクスタックモニタ回路は、誤予測された分岐命令にしたがった前記パイプラインにおいて1つまたは複数のリンクスタック書き込み命令を検出することによって、前記リンクスタックへの誤りの、投機的な書き込みを検出するように動作可能である、請求項9に記載のプロセッサ。
- 前記リンクスタックモニタ回路は、前記パイプラインにおける誤予測された分岐命令の前の前記コミットされていないリンクスタック書き込み命令のカウントと、前記パイプラインにおけるコミットされていないリンクスタック書き込み命令の合計数のカウントと、を比較することによって、誤予測分岐命令にしたがった前記パイプラインにおいて1つまたは複数のリンクスタック書き込み命令を検出するように動作可能である、請求項10に記載のプロセッサ。
- 前記パイプラインにおいてコミットされていないリンク書き込み命令の合計数のカウントは、リンクスタック書き込み命令が復号されるときにインクリメントし、リンクスタック書き込み命令が実行をコミットするときにデクリメントする、アップ/ダウンカウンタの値である、請求項11に記載のプロセッサ。
- 前記パイプラインにおける誤予測された分岐命令の前の前記コミットされていないリンクスタック書き込み命令のカウントは、前記分岐命令が復号されるときには前記アップ/ダウンカウンタの前記値に初期化しリンクスタック書き込み命令が実行をコミットするときにはデクリメントする、分岐命令に関連づけられたカウンタの値であり、前記分岐命令は、誤予測されたと評価される、請求項12に記載のプロセッサ。
- プロセッサであって、
命令実行パイプラインと;
それぞれがリンクアドレスを保存するように動作可能である複数のエントリ、を備えているリンクスタックと;
任意のリンクスタックエントリが新しいリンクアドレスで上書きされているときにリンクスタックエントリの前の値を保存するように動作可能で、それを置き換えた前記リンクスタック書き込みが投機的で誤りであったという検出のときに前記リンクスタックエントリに前記前の値を復元するように動作可能な、リンクスタック復元バッファと;
リンクスタック書き込み命令を復号するときにインクリメントし、リンクスタック書き込み命令が実行をコミットしているときにデクリメントすることによって、前記パイプラインにおいてコミットされていないリンクスタック書き込み命令のカウントを保持するように動作可能なアップ/ダウンカウンタと;
前記パイプラインにおいて各コミットされていない分岐命令に関連づけられたカウンタと、なお、前記カウンタは、分岐命令を復号するときに前記アップ/ダウンカウンタ値に初期化し、リンクスタック書き込み命令が実行にコミットするときにデクリメントすることによって、前記パイプラインにおける前記分岐命令の前のコミットされていないリンクスタック書き込み命令のカウントを保持するように動作可能である;
前記アップ/ダウンカウンタ値と誤予測された分岐命令に関連づけられた前記カウンタの前記値とを比較することによって、誤りの、投機的なリンクスタック書き込みオペレーションを検出するように動作可能な比較器と;
を備えるプロセッサ。 - 前記リンクスタック復元バッファは、前記上書きされたエントリの前記リンクスタックインデクスを保存するように動作可能である、請求項14に記載のプロセッサ。
- 前記リンクスタック復元バッファは、単独のエントリを備えている、請求項14に記載のプロセッサ。
- 前記比較器は、ビットワイズXOR及び縮小AND関数をインプリメントする、請求項14に記載のプロセッサ。
- 前記パイプラインにおいて各コミットされていない分岐命令に関連づけられた前記カウンタは、分岐命令キューにおいてカウントフィールドを備えている、請求項14に記載のプロセッサ。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/867,727 US7971044B2 (en) | 2007-10-05 | 2007-10-05 | Link stack repair of erroneous speculative update |
US11/867,727 | 2007-10-05 | ||
PCT/US2008/078789 WO2009046326A1 (en) | 2007-10-05 | 2008-10-03 | Link stack repair of erroneous speculative update |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2010541106A true JP2010541106A (ja) | 2010-12-24 |
JP5313253B2 JP5313253B2 (ja) | 2013-10-09 |
Family
ID=39951564
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010528173A Expired - Fee Related JP5313253B2 (ja) | 2007-10-05 | 2008-10-03 | 誤りの投機的更新のリンクスタック修復 |
Country Status (6)
Country | Link |
---|---|
US (2) | US7971044B2 (ja) |
EP (1) | EP2195735A1 (ja) |
JP (1) | JP5313253B2 (ja) |
KR (1) | KR101174560B1 (ja) |
CN (2) | CN103353833B (ja) |
WO (1) | WO2009046326A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016517092A (ja) * | 2013-03-15 | 2016-06-09 | クアルコム,インコーポレイテッド | プロセッサにおいてリターン分岐命令を実行する速度を向上させる方法 |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8510596B1 (en) | 2006-02-09 | 2013-08-13 | Virsec Systems, Inc. | System and methods for run time detection and correction of memory corruption |
US7971044B2 (en) * | 2007-10-05 | 2011-06-28 | Qualcomm Incorporated | Link stack repair of erroneous speculative update |
US8438372B2 (en) | 2007-10-05 | 2013-05-07 | Qualcomm Incorporated | Link stack repair of erroneous speculative update |
US8943299B2 (en) * | 2010-06-17 | 2015-01-27 | International Business Machines Corporation | Operating a stack of information in an information handling system |
WO2012103359A2 (en) | 2011-01-27 | 2012-08-02 | Soft Machines, Inc. | Hardware acceleration components for translating guest instructions to native instructions |
WO2014151652A1 (en) | 2013-03-15 | 2014-09-25 | Soft Machines Inc | Method and apparatus to allow early dependency resolution and data forwarding in a microprocessor |
CN109358948B (zh) * | 2013-03-15 | 2022-03-25 | 英特尔公司 | 用于支持推测的访客返回地址栈仿真的方法和装置 |
AU2014318585B2 (en) | 2013-09-12 | 2018-01-04 | Virsec Systems, Inc. | Automated runtime detection of malware |
GB2516999B (en) | 2014-01-31 | 2015-07-22 | Imagination Tech Ltd | An improved return stack buffer |
AU2015279923B9 (en) | 2014-06-24 | 2018-01-25 | Virsec Systems, Inc. | System and methods for automated detection of input and output validation and resource management vulnerability |
AU2015279920B2 (en) | 2014-06-24 | 2018-03-29 | Virsec Systems, Inc. | Automated root cause analysis of single or N-TIERED applications |
US20160139933A1 (en) * | 2014-11-18 | 2016-05-19 | Qualcomm Incorporated | Providing loop-invariant value prediction using a predicted values table, and related apparatuses, methods, and computer-readable media |
US11409870B2 (en) | 2016-06-16 | 2022-08-09 | Virsec Systems, Inc. | Systems and methods for remediating memory corruption in a computer application |
CN106527335B (zh) * | 2016-12-08 | 2019-03-19 | 湖南戈人自动化科技有限公司 | 一种支持协程功能的plc控制器 |
GB2573119A (en) * | 2018-04-24 | 2019-10-30 | Advanced Risc Mach Ltd | Maintaining state of speculation |
US11995443B2 (en) | 2022-10-04 | 2024-05-28 | Microsoft Technology Licensing, Llc | Reuse of branch information queue entries for multiple instances of predicted control instructions in captured loops in a processor |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020129226A1 (en) * | 2001-03-08 | 2002-09-12 | International Business Machines Corporation | Circuits and methods for recovering link stack data upon branch instruction mis-speculation |
US6560696B1 (en) * | 1999-12-29 | 2003-05-06 | Intel Corporation | Return register stack target predictor |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5563594A (en) * | 1994-08-31 | 1996-10-08 | Motorola | Circuit and method of timing data transfers |
US5964868A (en) * | 1996-05-15 | 1999-10-12 | Intel Corporation | Method and apparatus for implementing a speculative return stack buffer |
US6151671A (en) * | 1998-02-20 | 2000-11-21 | Intel Corporation | System and method of maintaining and utilizing multiple return stack buffers |
US6910124B1 (en) * | 2000-05-02 | 2005-06-21 | International Business Machines Corporation | Apparatus and method for recovering a link stack from mis-speculation |
CN1326037C (zh) * | 2004-02-06 | 2007-07-11 | 智慧第一公司 | 用于更正微处理器中的内部调用或返回堆栈的方法与装置 |
US20070204142A1 (en) * | 2006-02-27 | 2007-08-30 | Dieffenderfer James N | Method and apparatus for repairing a link stack |
US7971044B2 (en) | 2007-10-05 | 2011-06-28 | Qualcomm Incorporated | Link stack repair of erroneous speculative update |
US8438372B2 (en) | 2007-10-05 | 2013-05-07 | Qualcomm Incorporated | Link stack repair of erroneous speculative update |
-
2007
- 2007-10-05 US US11/867,727 patent/US7971044B2/en active Active
-
2008
- 2008-10-03 KR KR1020107009928A patent/KR101174560B1/ko active IP Right Grant
- 2008-10-03 CN CN201310139414.8A patent/CN103353833B/zh not_active Expired - Fee Related
- 2008-10-03 EP EP08836285A patent/EP2195735A1/en not_active Withdrawn
- 2008-10-03 CN CN2008801101411A patent/CN101815984B/zh not_active Expired - Fee Related
- 2008-10-03 WO PCT/US2008/078789 patent/WO2009046326A1/en active Application Filing
- 2008-10-03 JP JP2010528173A patent/JP5313253B2/ja not_active Expired - Fee Related
-
2011
- 2011-05-16 US US13/108,227 patent/US8438371B2/en not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6560696B1 (en) * | 1999-12-29 | 2003-05-06 | Intel Corporation | Return register stack target predictor |
US20020129226A1 (en) * | 2001-03-08 | 2002-09-12 | International Business Machines Corporation | Circuits and methods for recovering link stack data upon branch instruction mis-speculation |
Non-Patent Citations (2)
Title |
---|
JPN6012043957; Kevin Skadran et al.: 'Improving Prediction for Procedure Returns with Return-Address-Stack Repair Mechanisms' Proceedings of 31st Annual ACM/IEEE International Symposium on Microarchitecture , 19981130, Pages:259-271, IEEE * |
JPN6012043959; Guan-Ying Chiu et al.: 'Mechanism for Return Stack and Branch History Corrections under Misprediction in Deep Pipeline Desig' Proceedings of 13th Asia-Pacific Computer Systems Architecture Conference(ACSAC 2008) , 20080804, Pages:1-8, IEEE * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016517092A (ja) * | 2013-03-15 | 2016-06-09 | クアルコム,インコーポレイテッド | プロセッサにおいてリターン分岐命令を実行する速度を向上させる方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101815984A (zh) | 2010-08-25 |
WO2009046326A1 (en) | 2009-04-09 |
US20090094444A1 (en) | 2009-04-09 |
US20110219220A1 (en) | 2011-09-08 |
KR101174560B1 (ko) | 2012-08-17 |
CN103353833A (zh) | 2013-10-16 |
US8438371B2 (en) | 2013-05-07 |
KR20100075607A (ko) | 2010-07-02 |
US7971044B2 (en) | 2011-06-28 |
CN103353833B (zh) | 2016-04-13 |
EP2195735A1 (en) | 2010-06-16 |
CN101815984B (zh) | 2013-05-29 |
JP5313253B2 (ja) | 2013-10-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5313253B2 (ja) | 誤りの投機的更新のリンクスタック修復 | |
US8438372B2 (en) | Link stack repair of erroneous speculative update | |
JP6370829B2 (ja) | 誤予測された分岐のためにフラッシュするセグメント化パイプライン | |
JP4856100B2 (ja) | 非アラインドメモリアクセス予測 | |
JP3565504B2 (ja) | プロセッサにおける分岐予測方法及びプロセッサ | |
US10289415B2 (en) | Method and apparatus for execution of threads on processing slices using a history buffer for recording architected register data | |
EP2024820B1 (en) | Sliding-window, block-based branch target address cache | |
US20180121203A1 (en) | Shortcut path for a branch target buffer | |
EP1562107B1 (en) | Apparatus and method for performing early correction of conditional branch instruction mispredictions | |
US10073699B2 (en) | Processing instructions in parallel with waw hazards and via a distributed history buffer in a microprocessor having a multi-execution slice architecture | |
US5740393A (en) | Instruction pointer limits in processor that performs speculative out-of-order instruction execution | |
US7185182B2 (en) | Pipelined microprocessor, apparatus, and method for generating early instruction results | |
US9535744B2 (en) | Method and apparatus for continued retirement during commit of a speculative region of code | |
US20170109167A1 (en) | Method and apparatus for restoring data to a register file of a processing unit | |
JPH096612A (ja) | カウント・レジスタおよびリンク・レジスタへの書込みを行う多重分岐命令を処理するための方法と装置 | |
KR100305487B1 (ko) | 특정유형의인스트럭션을동시에처리할수있는방법및데이터프로세싱시스템 | |
US6871275B1 (en) | Microprocessor having a branch predictor using speculative branch registers | |
IE940854A1 (en) | Data processor with branch prediction and method of¹operation | |
US6718460B1 (en) | Mechanism for error handling in a computer system | |
US7100024B2 (en) | Pipelined microprocessor, apparatus, and method for generating early status flags |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120828 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20121126 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20121203 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130128 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130219 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130520 |
|
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: 20130604 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130703 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 Ref document number: 5313253 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
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 |