JP5906807B2 - Arithmetic processing device and stall monitoring method - Google Patents

Arithmetic processing device and stall monitoring method Download PDF

Info

Publication number
JP5906807B2
JP5906807B2 JP2012041902A JP2012041902A JP5906807B2 JP 5906807 B2 JP5906807 B2 JP 5906807B2 JP 2012041902 A JP2012041902 A JP 2012041902A JP 2012041902 A JP2012041902 A JP 2012041902A JP 5906807 B2 JP5906807 B2 JP 5906807B2
Authority
JP
Japan
Prior art keywords
monitoring process
arithmetic processing
monitoring
stall
control unit
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
JP2012041902A
Other languages
Japanese (ja)
Other versions
JP2013178653A (en
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP2012041902A priority Critical patent/JP5906807B2/en
Publication of JP2013178653A publication Critical patent/JP2013178653A/en
Application granted granted Critical
Publication of JP5906807B2 publication Critical patent/JP5906807B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は演算処理装置及びストール監視方法に関し、特に処理プロセス間の優先度を設定してストール監視を行う演算処理装置及びストール監視方法に関する。   The present invention relates to an arithmetic processing unit and a stall monitoring method, and more particularly to an arithmetic processing unit and a stall monitoring method that perform stall monitoring by setting priorities between processing processes.

一般的に、演算処理を実行する装置においては、プログラムの不具合等何らかの問題によって動作できなくなるストール状態が発生することがある。ストール状態は、演算処理装置が処理不能となっている状態である。そのため、演算処理装置は、ストール状態を検出して、速やかに復旧を図る必要がある。   Generally, in a device that executes arithmetic processing, a stall state may occur in which operation is not possible due to some problem such as a program defect. The stall state is a state in which the arithmetic processing device cannot be processed. For this reason, the arithmetic processing unit needs to detect the stall state and promptly recover it.

そこで、ストール状態を監視する方法として、ウォッチドッグタイマを用いる方法がある。具体的には、ウォッチドッグタイマを用いて、ストール監視プロセスを一定時間毎に起動し、ストール監視プロセスから応答信号が出力された場合、ストール状態は発生していないと判定され、ストール監視プロセスから応答信号が出力されない場合、ストール状態が発生していると判定される。   Therefore, as a method of monitoring the stall state, there is a method using a watch dog timer. Specifically, using a watchdog timer, the stall monitoring process is started at regular intervals, and if a response signal is output from the stall monitoring process, it is determined that no stall condition has occurred, and the stall monitoring process If no response signal is output, it is determined that a stall condition has occurred.

図6を用いて、一般的なウォッチドッグタイマを用いたストール監視プロセスのタイムチャートについて説明する。一般的なウォッチドッグタイマを用いたストール監視においては、一定時間毎にストール監視を行うプロセスが必ず起動されるように設計される。本図においては、例えば、実行優先度が中であるプロセス2が起動されている場合においても、あらかじめ定められた時間に実行優先度が高であるストール監視プロセスが起動される。同様に、実行優先度が中であるプロセス1が起動されている場合においても、あらかじめ定められた時間に実行優先度が高であるストール監視プロセスが起動される。更には、プロセス2にストール状態が発生している場合においても、ストール監視プロセスの実行優先度はプロセス2の実行優先度よりも高いため、あらかじめ定められた時間にストール監視プロセスが起動される。   A time chart of a stall monitoring process using a general watchdog timer will be described with reference to FIG. Stall monitoring using a general watchdog timer is designed so that a process for performing stall monitoring is always started at regular intervals. In this figure, for example, even when the process 2 having a medium execution priority is activated, the stall monitoring process having a high execution priority is activated at a predetermined time. Similarly, even when the process 1 having the medium execution priority is activated, the stall monitoring process having the high execution priority is activated at a predetermined time. Furthermore, even when a stall state occurs in the process 2, the stall monitoring process is activated at a predetermined time because the execution priority of the stall monitoring process is higher than the execution priority of the process 2.

図6のようなストール監視を行った場合、OSのタスク切り替えが出来ないようなストール状態においてはストール監視プロセスを起動することができないため、ストール状態を検出することができる。しかし、あるプロセスが論理不具合などによる無限ループに陥ったとしても、OSのタスク切り替えができる状態である時には、ストール監視プロセスが起動するため、そのプロセスのストール状態を監視プロセスが検出することはできない。   When the stall monitoring as shown in FIG. 6 is performed, the stall monitoring process cannot be started in the stall state where the OS task cannot be switched, so that the stall state can be detected. However, even if a certain process falls into an infinite loop due to a logic failure or the like, the stall monitoring process is activated when the OS task can be switched, so the monitoring process cannot detect the stall state of that process. .

このようなOSのタスク切り替えができるような状態におけるストール状態を検出する方法について、図7を用いて説明する。本図におけるストール監視プロセスは、実行優先度を他のプロセスと同じか、それ以下まで下げて設定されている。これにより、通常の処理プロセスにストール状態が発生している場合、ストール監視プロセスは起動されず、図6のような課題は解消される。   A method for detecting a stall state in such a state that task switching of the OS can be performed will be described with reference to FIG. The stall monitoring process in this figure is set by lowering the execution priority to the same or lower than other processes. Thereby, when a stall state occurs in the normal processing process, the stall monitoring process is not started, and the problem as shown in FIG. 6 is solved.

特開2010−160597号公報JP 2010-160597 A

しかし、上述したストール状態を検出する方法においては、ストール監視プロセスの優先度が、他のプロセスと同じか、それ以下まで下げている。そのため、ストール監視プロセスの起動要求が実行された際に、他のプロセスが起動している場合には、ストール監視プロセスは起動されない。そのため、正常に動作している他の処理プロセスが継続して多数実行されている場合、ストール監視プロセスの応答ができない状態が継続する。そのため、他の処理プロセスが正常に動作しているにもかかわらず、ストール監視プロセスからの応答がないため、ストール状態が発生していると誤った判定がなされる場合がある。   However, in the above-described method for detecting a stall state, the priority of the stall monitoring process is lowered to the same level as or lower than that of other processes. Therefore, if another process is activated when a stall monitoring process activation request is executed, the stall monitoring process is not activated. Therefore, when many other processing processes that are operating normally continue to be executed, a state in which the stall monitoring process cannot respond continues. For this reason, there is no response from the stall monitoring process even though other processing processes are operating normally, so that it may be erroneously determined that a stall condition has occurred.

また、特許文献1には、優先順位が定められたキューについて、優先順位が低いキューに対して優先順位の補正処理を行うことが開示されている。しかし、図7において、ストール監視プロセスの優先順位を上げて、他の処理プロセスよりもストール監視プロセスの優先度を上げた場合、再度図6にて示した問題が発生し得る。   Japanese Patent Application Laid-Open No. 2004-151561 discloses that priority level correction processing is performed on a queue with a low priority level for a queue with a low priority level. However, in FIG. 7, when the priority of the stall monitoring process is increased and the priority of the stall monitoring process is increased over other processing processes, the problem shown in FIG. 6 may occur again.

本発明は、監視プロセスを用いたストール監視において、ストール状態を検出する精度を向上させる演算処理装置及びストール監視方法を提供することを目的とする。   An object of the present invention is to provide an arithmetic processing unit and a stall monitoring method that improve the accuracy of detecting a stall state in stall monitoring using a monitoring process.

本発明の第1の態様にかかる演算処理装置は、演算処理プロセスと、前記演算処理プロセスよりも起動に関する優先度が低く前記演算処理プロセスのストール監視を行う監視プロセスと、を実行する制御部と、前記演算処理プロセスからアクセスされるデータキャッシュの状態変化を監視するキャッシュ確認部と、前記キャッシュ確認部の監視結果に基づいて、前記監視プロセスの起動を制御する監視プロセス起動制御部と、前記監視プロセスの起動結果に基づいて、前記演算処理プロセスにストール状態が発生しているか否かを判定する障害判定部と、を備えるものである。   The arithmetic processing device according to the first aspect of the present invention includes: a control unit that executes an arithmetic processing process; and a monitoring process that has a lower priority for activation than the arithmetic processing process and performs stall monitoring of the arithmetic processing process; A cache confirmation unit that monitors a change in state of a data cache accessed from the arithmetic processing process, a monitoring process activation control unit that controls activation of the monitoring process based on a monitoring result of the cache confirmation unit, and the monitoring And a failure determination unit that determines whether or not a stall state has occurred in the arithmetic processing process based on a process startup result.

本発明の第2の態様にかかるストール監視方法は、演算処理プロセスを実行する制御部からアクセスされるデータキャッシュの状態変化を監視し、前記データキャッシュにおける状態変化の監視結果に基づいて前記制御部における監視プロセスの起動を制御し、前記監視プロセスの起動結果に基づいて、前記演算処理プロセスにストール状態が発生しているか否かを判定するものである。   A stall monitoring method according to a second aspect of the present invention monitors a state change of a data cache accessed from a control unit that executes an arithmetic processing process, and controls the control unit based on a monitoring result of the state change in the data cache. Is controlled to determine whether or not a stall state has occurred in the arithmetic processing process based on the start result of the monitoring process.

本発明により、監視プロセスを用いたストール監視において、ストール状態を検出する精度を向上させる演算処理装置及びストール監視方法を提供することができる。   According to the present invention, it is possible to provide an arithmetic processing unit and a stall monitoring method that improve the accuracy of detecting a stall state in stall monitoring using a monitoring process.

実施の形態1にかかる演算処理装置の構成図である。1 is a configuration diagram of an arithmetic processing apparatus according to a first embodiment; 実施の形態1にかかる演算処理装置の構成図である。1 is a configuration diagram of an arithmetic processing apparatus according to a first embodiment; 実施の形態1にかかる正常状態における演算処理装置の処理動作を示す図である。FIG. 3 is a diagram illustrating a processing operation of the arithmetic processing device in a normal state according to the first embodiment. 実施の形態1にかかるストール状態が発生した場合における演算処理装置の処理動作を示す図である。It is a figure which shows the processing operation of the arithmetic processing unit when the stall state concerning Embodiment 1 generate | occur | produces. 実施の形態1にかかるストール状態の判定処理を示めすフローチャートである。5 is a flowchart showing a stall state determination process according to the first exemplary embodiment; 一般的なウォッチドッグタイマを用いたストール監視プロセスのタイムチャートである。It is a time chart of a stall monitoring process using a general watchdog timer. 一般的なウォッチドッグタイマを用いたストール監視プロセスのタイムチャートの図である。It is a figure of the time chart of the stall monitoring process using a general watchdog timer.

(実施の形態1)
以下、図面を参照して本発明の実施の形態について説明する。図1を用いて本発明の実施の形態1にかかる演算処理装置の構成例について説明する。演算処理装置は、例えば、CPUであってもよい。演算処理装置10は、プロセッサコア11と、プロセッサコア12と、データキャッシュ13とを備えている。また、演算処理装置は、メモリ14と接続されている。プロセッサコア12は、キャッシュ確認部20と、監視プロセス起動制御部21と、障害判定部22とを有している。
(Embodiment 1)
Embodiments of the present invention will be described below with reference to the drawings. A configuration example of the arithmetic processing apparatus according to the first embodiment of the present invention will be described with reference to FIG. The arithmetic processing unit may be a CPU, for example. The arithmetic processing device 10 includes a processor core 11, a processor core 12, and a data cache 13. The arithmetic processing unit is connected to the memory 14. The processor core 12 includes a cache confirmation unit 20, a monitoring process activation control unit 21, and a failure determination unit 22.

プロセッサコア11は、演算処理装置10における演算処理を実行する。プロセッサコア11は、演算処理装置10内の制御部と呼称されてもよい。プロセッサコア11は、演算処理プロセスと、ストール監視を行う監視プロセスとを実行する。監視プロセスは、演算処理プロセスよりも実行優先度が低く設定される。   The processor core 11 executes arithmetic processing in the arithmetic processing device 10. The processor core 11 may be referred to as a control unit in the arithmetic processing device 10. The processor core 11 executes an arithmetic processing process and a monitoring process for performing stall monitoring. The monitoring process is set to have a lower execution priority than the arithmetic processing process.

プロセッサコア12は、キャッシュ確認部20と、監視プロセス起動制御部21と、障害判定部22による制御処理を専用に実行する。キャッシュ確認部20は、データキャッシュ13の状態変化を監視する。例えば、プロセッサコア11において演算処理プロセスが実行され、プロセッサコア11からメモリ14へアクセスされ、メモリ14から出力されたデータがデータキャッシュ13へ格納された場合に、データキャッシュ13の状態が変化する。また、プロセッサコア11において演算処理プロセスが実行されていない場合、プロセッサコア11からデータキャッシュ13及びメモリ14へのアクセスがないため、データキャッシュ13の状態は変化しない。   The processor core 12 exclusively executes control processing by the cache confirmation unit 20, the monitoring process activation control unit 21, and the failure determination unit 22. The cache confirmation unit 20 monitors the state change of the data cache 13. For example, when an arithmetic processing process is executed in the processor core 11, the processor core 11 accesses the memory 14, and data output from the memory 14 is stored in the data cache 13, the state of the data cache 13 changes. Further, when the arithmetic processing process is not executed in the processor core 11, there is no access to the data cache 13 and the memory 14 from the processor core 11, so the state of the data cache 13 does not change.

データキャッシュ13は、メモリ14に格納されているデータへのデータアクセス速度向上を目的として、演算処理装置10内部に配置される。データキャッシュ13は、プロセッサコア11及びプロセッサコア12の両方からアクセスされる。メモリ14は、プロセッサコア11及びプロセッサコア12において実行されるプログラム及びプログラムの実行において使用されるデータが格納されている。   The data cache 13 is arranged inside the arithmetic processing unit 10 for the purpose of improving the data access speed to the data stored in the memory 14. The data cache 13 is accessed from both the processor core 11 and the processor core 12. The memory 14 stores a program executed in the processor core 11 and the processor core 12 and data used in executing the program.

監視プロセス起動制御部21は、キャッシュ確認部20によるデータキャッシュ13の監視結果に基づいて、プロセッサコア11における監視プロセスの起動を制御する。例えば、監視プロセス起動制御部21は、キャッシュ確認部20によりデータキャッシュ13の状態が変化していることを検出した場合、プロセッサコア11における監視プロセスを起動させない。監視プロセス起動制御部21は、キャッシュ確認部20によりデータキャッシュ13の状態が変化していることを検出しなかった場合、プロセッサコア11における監視プロセスを起動させる。   The monitoring process activation control unit 21 controls the activation of the monitoring process in the processor core 11 based on the monitoring result of the data cache 13 by the cache confirmation unit 20. For example, the monitoring process activation control unit 21 does not activate the monitoring process in the processor core 11 when the cache confirmation unit 20 detects that the state of the data cache 13 has changed. The monitoring process activation control unit 21 activates the monitoring process in the processor core 11 when the cache confirmation unit 20 does not detect that the state of the data cache 13 has changed.

障害判定部22は、監視プロセス起動制御部21がプロセッサコア11における監視プロセスを起動させる制御を実行した場合の監視プロセスの起動結果に基づいて、プロセッサコア11の演算処理プロセスにストール状態が発生しているか否かを判定する。例えば、障害判定部22は、監視プロセス起動制御部21によりプロセッサコア11における監視プロセスを起動させる制御が実行された際に、監視プロセスの起動が確認されない場合、プロセッサコア11の演算処理プロセスに障害が発生していると判定する。もしくは、障害判定部22は、監視プロセス起動制御部21によりプロセッサコア11における監視プロセスを起動させる制御が実行された際に、監視プロセスの起動が確認された場合、プロセッサコア11の演算処理プロセスが正常に動作していると判定する。   The failure determination unit 22 causes a stall state to occur in the arithmetic processing process of the processor core 11 based on the start result of the monitoring process when the monitoring process start control unit 21 executes control for starting the monitoring process in the processor core 11. It is determined whether or not. For example, when the monitoring process activation control unit 21 executes control for starting the monitoring process in the processor core 11, the failure determination unit 22 fails in the arithmetic processing process of the processor core 11 when the activation of the monitoring process is not confirmed. Is determined to have occurred. Alternatively, when the monitoring process activation control unit 21 executes the control to activate the monitoring process in the processor core 11, the failure determination unit 22 determines that the arithmetic processing process of the processor core 11 is performed when the activation of the monitoring process is confirmed. Judge that it is operating normally.

以上説明したように、図1の演算処理装置10を用いることにより、プロセッサコア12は、プロセッサコア12の監視プロセス起動処理を制御することができる。さらに、ストール発生状態が考えられるデータキャッシュ13の状態が変化していない場合に、プロセッサコア12が、プロセッサコア11における監視プロセスの起動状態を監視することにより、プロセッサコア11におけるストール状態の発生を正確に検出することができる。   As described above, by using the arithmetic processing unit 10 in FIG. 1, the processor core 12 can control the monitoring process activation process of the processor core 12. Furthermore, when the state of the data cache 13 in which the stall occurrence state is considered not changed, the processor core 12 monitors the start state of the monitoring process in the processor core 11, thereby generating the stall state in the processor core 11. It can be detected accurately.

続いて、図2を用いて本発明の実施の形態1にかかるプロセッサコア11とプロセッサコア12との動作について説明する。プロセッサコア12は、図1と同様の構成を有している。プロセッサコア11は、プロセス起動制御部30及びプロセス起動応答部31を備えている。   Next, operations of the processor core 11 and the processor core 12 according to the first exemplary embodiment of the present invention will be described with reference to FIG. The processor core 12 has the same configuration as in FIG. The processor core 11 includes a process activation control unit 30 and a process activation response unit 31.

プロセス起動制御部30は、プロセッサコア11が実行する演算処理プロセス及び監視プロセスをそれぞれの優先度に応じて起動させる。プロセス起動応答部31は、監視プロセスが起動された場合、監視プロセスが起動されたことをプロセッサコア12の障害判定部22へ通知する。   The process activation control unit 30 activates the arithmetic processing process and the monitoring process executed by the processor core 11 according to the respective priorities. When the monitoring process is activated, the process activation response unit 31 notifies the failure determination unit 22 of the processor core 12 that the monitoring process has been activated.

キャッシュ確認部20は、データキャッシュ13の状態を確認し、データキャッシュ13が有するデータに変化が発生しているか否かを判定する。キャッシュ確認部20は、データキャッシュ13が有するデータに変化が発生していないと判定した場合、その旨を監視プロセス起動制御部21へ通知する。   The cache confirmation unit 20 confirms the state of the data cache 13 and determines whether or not a change has occurred in the data included in the data cache 13. When the cache checking unit 20 determines that the data held in the data cache 13 has not changed, the cache checking unit 20 notifies the monitoring process activation control unit 21 to that effect.

監視プロセス起動制御部21は、キャッシュ確認部20から、データキャッシュ13が有するデータに変化が発生していないことを通知された場合、プロセッサコア11のプロセス起動制御部30に対して、監視プロセスを起動させるよう、監視プロセス起動指示に関する信号を通知する。また、監視プロセス起動制御部21は、監視プロセス起動指示に関する信号をプロセス起動制御部30へ通知したことを障害判定部22へ通知する。   When the monitoring process activation control unit 21 is notified from the cache confirmation unit 20 that the data in the data cache 13 has not changed, the monitoring process activation control unit 21 performs a monitoring process on the process activation control unit 30 of the processor core 11. A signal related to the monitoring process activation instruction is notified so as to be activated. In addition, the monitoring process activation control unit 21 notifies the failure determination unit 22 that the process activation control unit 30 has been notified of the signal related to the monitoring process activation instruction.

プロセス起動制御部30は、プロセッサコア12の監視プロセス起動制御部21から監視プロセスの起動指示が通知された場合、監視プロセスを実行する。ここで、監視プロセスは、他の演算処理プロセスよりも低い実行優先度もしくは同じ実行優先度が設定されている。そのため、プロセッサコア11において演算処理プロセスが実行されている場合、プロセス起動制御部30は、監視プロセスを実行することができない。プロセス起動制御部30は、演算処理プロセスが実行されていない場合、監視プロセスを実行することができる。   The process activation control unit 30 executes the monitoring process when a monitoring process activation instruction is notified from the monitoring process activation control unit 21 of the processor core 12. Here, the monitoring process is set with a lower execution priority or the same execution priority than the other arithmetic processing processes. Therefore, when an arithmetic processing process is being executed in the processor core 11, the process activation control unit 30 cannot execute a monitoring process. The process activation control unit 30 can execute a monitoring process when the arithmetic processing process is not executed.

プロセス起動応答部31は、プロセス起動制御部30により監視プロセスが実行された場合、監視プロセスの起動を障害判定部22へ通知する。   When the process activation control unit 30 executes a monitoring process, the process activation response unit 31 notifies the failure determination unit 22 of activation of the monitoring process.

障害判定部22は、監視プロセス起動制御部21から、監視プロセス起動指示に関する信号をプロセス起動制御部30へ通知されている状態において、プロセス起動応答部31から監視プロセスの起動が通知されない場合、プロセッサコア11においてストール状態が発生していると判定する。また、障害判定部22は、監視プロセス起動制御部21から、監視プロセス起動指示に関する信号をプロセス起動制御部30へ通知されている状態において、プロセス起動応答部31から監視プロセスの起動が通知された場合、プロセッサコア11は正常に動作していると判定する。   The failure determination unit 22 is a processor when the monitoring process activation control unit 21 notifies the process activation control unit 30 of a signal related to the monitoring process activation instruction and the process activation response unit 31 does not notify the activation of the monitoring process. It is determined that a stall condition has occurred in the core 11. In addition, the failure determination unit 22 is notified of the start of the monitoring process from the process activation response unit 31 while the monitoring process activation control unit 21 notifies the process activation control unit 30 of a signal related to the monitoring process activation instruction. In this case, it is determined that the processor core 11 is operating normally.

監視プロセス起動制御部21は、データキャッシュ13に変化が生じていない場合に、プロセッサコア11に対して監視プロセスの起動を指示する。データキャッシュ13に変化が生じていない場合には、プロセッサコア11が定常状態に遷移し、演算処理プロセッサが動作していない状態とプロセッサコア11においてストール状態が発生し、プロセッサコア11の演算処理プロセスが処理不能となっている状態とがある。   The monitoring process activation control unit 21 instructs the processor core 11 to activate the monitoring process when there is no change in the data cache 13. When there is no change in the data cache 13, the processor core 11 transitions to a steady state, a state where the arithmetic processing processor is not operating and a stall state occurs in the processor core 11, and the arithmetic processing process of the processor core 11 Is in a state where it cannot be processed.

プロセッサコア11は、定常状態に遷移している状態においては、監視プロセスを起動することができる。そのため、障害判定部22は、プロセス起動応答部31から監視プロセスの起動通知を受けた場合、プロセッサコア11は、正常に動作していると判定することができる。これに対して、プロセッサコア11は、ストール状態が発生している場合には、演算処理プロセスが起動されている状態であり、監視プロセスを起動することができない。そのため、障害判定部22は、プロセス起動応答部31から監視プロセスの起動通知を受けていない場合、プロセッサコア11にストール状態が発生していると判定することができる。   The processor core 11 can start the monitoring process in a state where the processor core 11 is transitioning to a steady state. Therefore, when the failure determination unit 22 receives the monitoring process activation notification from the process activation response unit 31, the failure determination unit 22 can determine that the processor core 11 is operating normally. On the other hand, when the stall state has occurred, the processor core 11 is in a state where the arithmetic processing process is activated, and the monitoring process cannot be activated. Therefore, the failure determination unit 22 can determine that the stall state has occurred in the processor core 11 when it has not received the monitoring process activation notification from the process activation response unit 31.

また、障害判定部22は、監視プロセス起動制御部21から監視プロセス起動指示に関する信号をプロセス起動制御部30へ通知されてから、一定時間以内に監視プロセスの起動通知を受け取ることができない場合、プロセッサコア11にストール状態が発生していると判定してもよい。   If the failure determination unit 22 cannot receive the monitoring process activation notification within a certain time after the monitoring process activation control unit 21 is notified of the signal related to the monitoring process activation instruction to the process activation control unit 30, the processor It may be determined that a stall condition has occurred in the core 11.

続いて、図3を用いて正常状態における演算処理装置の処理動作について説明する。プロセッサコア11は、通常の処理プロセス及び監視プロセスを実行し、両プロセスを実行しない場合、データの入力待ちもしくはプロセスの実行待ちを行う定常状態へ遷移する。監視プロセスは、通常の処理プロセスよりも実行優先度が低い。プロセッサコア12は、処理プロセスを実行し、処理プロセスを実行しない場合、データの入力待ちもしくはプロセスの実行待ちを行う定常状態へ遷移する。   Next, the processing operation of the arithmetic processing unit in a normal state will be described using FIG. The processor core 11 executes a normal processing process and a monitoring process. When both processes are not executed, the processor core 11 transitions to a steady state in which data input wait or process execution wait is performed. The monitoring process has a lower execution priority than the normal processing process. When the processor core 12 executes the processing process and does not execute the processing process, the processor core 12 transitions to a steady state in which it waits for data input or waits for execution of the process.

プロセッサコア11においては、処理プロセスP1〜P3が繰り返し実行されている。処理プロセスP1〜P3は、プロセス実行中にデータキャッシュ13へアクセスを行い、必要なデータを取得もしくはプログラムを実行する。プロセッサコア11からデータキャッシュ13へアクセスした際に、必要なデータ等がデータキャッシュ13に存在しない場合、プロセッサコア11は、メモリ14へアクセスし、必要なデータを取得し、取得したデータをデータキャッシュ13へ格納する。このようにして、データキャッシュ13の状態、つまり、格納データが変化する。本図においては、処理プロセスP1〜P3が実行される毎に、データキャッシュ13の状態が変化する様子を示している。   In the processor core 11, processing processes P1 to P3 are repeatedly executed. The processing processes P1 to P3 access the data cache 13 during the process execution to acquire necessary data or execute a program. When necessary data or the like does not exist in the data cache 13 when accessing the data cache 13 from the processor core 11, the processor core 11 accesses the memory 14, acquires the necessary data, and acquires the acquired data in the data cache. 13 is stored. In this way, the state of the data cache 13, that is, the stored data changes. This figure shows a state in which the state of the data cache 13 changes every time the processing processes P1 to P3 are executed.

プロセッサコア11は、処理プロセスP1〜P3の実行を完了すると、定常状態へ遷移する。プロセッサコア11が定常状態へ遷移した場合、プロセッサコア11からデータキャッシュ13及びメモリ14へのアクセスは実行されないため、データキャッシュ13の状態は変化しない。   When the processor core 11 completes the execution of the processing processes P1 to P3, the processor core 11 transitions to a steady state. When the processor core 11 transitions to the steady state, the access to the data cache 13 and the memory 14 from the processor core 11 is not executed, so the state of the data cache 13 does not change.

プロセッサコア12は、キャッシュ確認部20を用いて一定時間毎にデータキャッシュ状態を確認する処理プロセスを実行する。プロセッサコア12は、データキャッシュ13の状態が変化していることを検出した場合、定常状態へ遷移し、所定のタイミングに、キャッシュ状態を確認する処理プロセスを実行する。プロセッサコア12は、データキャッシュ13の状態が変化していないことを検出した場合、プロセッサコア11の監視プロセスを起動させるために、監視プロセス起動制御部21を用いてプロセッサコア11に対して、監視プロセス起動制御に関する処理プロセスを実行する。   The processor core 12 executes a processing process for confirming the data cache state at regular intervals using the cache confirmation unit 20. When the processor core 12 detects that the state of the data cache 13 has changed, the processor core 12 transitions to a steady state and executes a processing process for checking the cache state at a predetermined timing. When detecting that the state of the data cache 13 has not changed, the processor core 12 monitors the processor core 11 using the monitoring process activation control unit 21 in order to activate the monitoring process of the processor core 11. Execute the process related to process startup control.

キャッシュ確認部20は、前回のデータキャッシュ13確認時のキャッシュ内容と比較して、キャッシュ内容に差分がある場合に、データキャッシュ13の状態が変化していることを検出してもよい。   The cache confirmation unit 20 may detect that the state of the data cache 13 has changed when there is a difference in the cache contents as compared to the cache contents at the previous confirmation of the data cache 13.

なお、監視プロセス起動制御部21は、キャッシュ確認部20において、複数回データキャッシュ13の状態が変化していないことを検出した場合、プロセッサコア11の監視プロセスを起動させるように制御してもよい。これにより、プロセッサコア11の処理プロセスが実行された場合に、データキャッシュ13に格納されているデータのみを用いて処理プロセスが完了することにより、プロセッサコア11からメモリ14へアクセスが行われないことがある。このような場合、データキャッシュ13の状態は変化しない。そのため、監視プロセス起動制御部21は、データキャッシュ13の状態が変化していない回数に基づいてプロセッサコア11における監視プロセスの起動を制御することにより、プロセッサコア11において処理プロセスが起動されている状態に、プロセッサコア11に対して監視プロセスの起動を指示することを回避することができる。   The monitoring process activation control unit 21 may perform control so that the monitoring process of the processor core 11 is activated when the cache confirmation unit 20 detects that the state of the data cache 13 has not changed a plurality of times. . As a result, when the processing process of the processor core 11 is executed, the processing process is completed using only the data stored in the data cache 13, so that the processor core 11 does not access the memory 14. There is. In such a case, the state of the data cache 13 does not change. Therefore, the monitoring process activation control unit 21 controls the activation of the monitoring process in the processor core 11 based on the number of times that the state of the data cache 13 has not changed, so that the processing process is activated in the processor core 11. In addition, it is possible to avoid instructing the processor core 11 to start the monitoring process.

プロセッサコア12は、定常状態においてプロセッサコア11より監視プロセス起動制御が実行された場合、プロセス起動制御部30を用いて監視プロセスを起動する。さらに、プロセッサコア12は、監視プロセスを起動すると、プロセス起動応答部31を用いて、プロセッサコア12に対して監視プロセスの起動応答を通知する。   When monitoring process activation control is executed by the processor core 11 in a steady state, the processor core 12 activates a monitoring process using the process activation control unit 30. Further, when the processor core 12 starts the monitoring process, the processor core 12 notifies the processor core 12 of the start response of the monitoring process using the process start response unit 31.

プロセッサコア12は、プロセッサコア11から監視プロセスの起動応答を受け取った場合、プロセッサコア11においてストール状態が発生していないと判定する。   When the processor core 12 receives the start response of the monitoring process from the processor core 11, the processor core 12 determines that the stall state has not occurred in the processor core 11.

続いて、図4を用いてストール状態が発生した場合における演算処理装置の処理動作について説明する。本図は、プロセッサコア11において2度目の処理プロセスP3を実行中にストール状態が発生したことを示している。プロセッサコア11にストール状態が発生した場合、プロセッサコア11からデータキャッシュ13及びメモリ14へアクセスすることはなくなる。そのため、データキャッシュ13の状態は変化しなくなる。   Next, a processing operation of the arithmetic processing device when a stall state occurs will be described with reference to FIG. This figure shows that a stall condition has occurred during the execution of the second processing process P3 in the processor core 11. When the stall state occurs in the processor core 11, the processor core 11 does not access the data cache 13 and the memory 14. For this reason, the state of the data cache 13 does not change.

プロセッサコア12は、データキャッシュ13の状態が変化していないことを検出した場合、プロセッサコア11の監視プロセスを起動させるために、監視プロセス起動制御部21を用いてプロセッサコア11に対して、監視プロセス起動制御に関する処理プロセスを実行する。   When detecting that the state of the data cache 13 has not changed, the processor core 12 monitors the processor core 11 using the monitoring process activation control unit 21 in order to activate the monitoring process of the processor core 11. Execute the process related to process startup control.

ここで、プロセッサコア11は、処理プロセスP3が起動したままストール状態が発生している。そのため、プロセッサコア12から監視プロセス起動が実行された場合においても、通常の処理プロセスよりも実行優先度が低い監視プロセスは起動されない。そのため、プロセス起動応答部31は、プロセッサコア12に対して、プロセス起動応答を通知しない。プロセッサコア12の障害判定部22は、監視プロセス起動制御に関する処理プロセスが実行されてから、一定時間以内にプロセス起動応答を受け取らない場合、プロセッサコア11においてストール状態が発生していると判定する。   Here, the processor core 11 is stalled while the process P3 is activated. Therefore, even when the monitoring process is activated from the processor core 12, the monitoring process having an execution priority lower than that of the normal processing process is not activated. Therefore, the process activation response unit 31 does not notify the processor core 12 of a process activation response. The failure determination unit 22 of the processor core 12 determines that a stall state has occurred in the processor core 11 when a process activation response is not received within a predetermined time after the processing process related to the monitoring process activation control is executed.

続いて、図5を用いてストール状態の判定処理の流れについて説明する。はじめに、プロセッサコア12のキャッシュ確認部20は、データキャッシュ13の状態確認を行う(S11)。次に、キャッシュ確認部20が、データキャッシュ13の状態変化を検出しなかった場合(S12)、監視プロセス起動制御部21は、プロセッサコア11における監視プロセスを起動させる(S13)。   Next, the flow of stall state determination processing will be described with reference to FIG. First, the cache check unit 20 of the processor core 12 checks the state of the data cache 13 (S11). Next, when the cache confirmation unit 20 does not detect a change in the state of the data cache 13 (S12), the monitoring process activation control unit 21 activates the monitoring process in the processor core 11 (S13).

次に、プロセッサコア12の障害判定部22は、プロセッサコア11に対して監視プロセスの起動に関する制御を実行してから予め定めた規定時間内に監視プロセス起動応答を受け取ったか否かを判定する。(S14)。障害判定部22は、規定時間内に監視プロセス起動応答を受け取った場合、プロセッサコア11にはストール状態が発生していないと判定する(S15)。   Next, the failure determination unit 22 of the processor core 12 determines whether or not a monitoring process activation response has been received within a predetermined specified time after the control related to the activation of the monitoring process is performed on the processor core 11. (S14). When the failure determination unit 22 receives the monitoring process activation response within the specified time, the failure determination unit 22 determines that the stall state has not occurred in the processor core 11 (S15).

ステップS14において、障害判定部22は、規定時間内に監視プロセス起動応答を受け取っていないと判定した場合、プロセッサコア11にストール状態が発生していると判定する(S16)。また、ステップS12において、キャッシュ確認部20がデータキャッシュ13の状態変化を検出した場合、ステップS15以降の処理を実行する。   In step S14, when the failure determination unit 22 determines that the monitoring process activation response has not been received within the specified time, the failure determination unit 22 determines that the stall state has occurred in the processor core 11 (S16). If the cache checking unit 20 detects a change in the state of the data cache 13 in step S12, the processes after step S15 are executed.

以上説明したように、本発明の実施の形態1にかかる演算処理装置を用いることにより、一方のプロセッサコアで発生しているストール状態を、確実に検出することができる。一般的に行われているウォッチドックタイマ方式のストール監視においては、あるプロセスが論理不具合などにより無限ループに陥るなどしてストール状態が発生しても、優先起動されるストール監視プログラムが動作できる時には、ストール状態を検出することができなかった。しかし、本発明における演算処理装置を用いることにより、このような課題を解決することができる。   As described above, by using the arithmetic processing apparatus according to the first embodiment of the present invention, it is possible to reliably detect a stall state occurring in one processor core. In the watchdog timer type stall monitoring that is generally performed, even if a stall process occurs because a certain process falls into an infinite loop due to a logic failure, etc. The stall condition could not be detected. However, such a problem can be solved by using the arithmetic processing unit according to the present invention.

また、本発明の演算処理装置においては、通常の処理プロセスよりもストール監視プロセスの実行優先度を低く設定している。さらに、ストール監視プロセスは、他のプロセッサコアを用いて制御される。そのため、本発明の演算処理装置を用いることにより、ストール監視プロセスを実行するプロセッサコアの処理を遅延させることもなく、さらに、処理負担が増加することもない。   In the arithmetic processing unit of the present invention, the execution priority of the stall monitoring process is set lower than that of the normal processing process. Further, the stall monitoring process is controlled using other processor cores. Therefore, by using the arithmetic processing unit of the present invention, the processing of the processor core that executes the stall monitoring process is not delayed, and further, the processing load is not increased.

(他の実施の形態)
上述した実施の形態1においては、プロセッサコア11及びプロセッサコア12が共有するデータキャッシュ13を用いる構成について説明したが、プロセッサコア11及びプロセッサコア12毎にデータキャッシュが割り当てられる構成においても、同様に本発明を適用することができる。
(Other embodiments)
In the first embodiment described above, the configuration using the data cache 13 shared by the processor core 11 and the processor core 12 has been described, but the same applies to the configuration in which a data cache is allocated to each of the processor core 11 and the processor core 12. The present invention can be applied.

この場合、プロセッサコア12は、プロセッサコア11からメモリ14へアクセスされたことを検出することにより、プロセッサコア11に割り当てられているデータキャッシュの状態が変化したことを検出してもよい。例えば、プロセッサコア11は、メモリ14へアクセスする際に、プロセッサコア12へ、メモリ14へアクセスすることをあわせて通知するように動作してもよい。これにより、プロセッサコア12は、プロセッサコア11におけるメモリ14へのアクセスを検出することができる。   In this case, the processor core 12 may detect that the state of the data cache assigned to the processor core 11 has changed by detecting that the memory 14 is accessed from the processor core 11. For example, the processor core 11 may operate so as to notify the processor core 12 that the memory 14 is accessed when accessing the memory 14. Thereby, the processor core 12 can detect access to the memory 14 in the processor core 11.

CPU内にプロセッサコアを2つ配置する構成について説明したが、プロセッサコア毎にデータキャッシュが割り当てられる構成においては、プロセッサコアの数は2つに制限されない。CPUは、3以上のプロセッサコアを備える構成であってもよい。   Although the configuration in which two processor cores are arranged in the CPU has been described, in the configuration in which a data cache is allocated to each processor core, the number of processor cores is not limited to two. The CPU may be configured to include three or more processor cores.

なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。   Note that the present invention is not limited to the above-described embodiment, and can be changed as appropriate without departing from the spirit of the present invention.

10 演算処理装置
11 プロセッサコア
12 プロセッサコア
13 データキャッシュ
14 メモリ
20 キャッシュ確認部
21 監視プロセス起動制御部
22 障害判定部
30 プロセス起動制御部
31 プロセス起動応答部
DESCRIPTION OF SYMBOLS 10 Arithmetic processor 11 Processor core 12 Processor core 13 Data cache 14 Memory 20 Cache confirmation part 21 Monitoring process starting control part 22 Fault determination part 30 Process starting control part 31 Process starting response part

Claims (8)

演算処理プロセスと、前記演算処理プロセスよりも起動に関する優先度が低く前記演算処理プロセスのストール監視を行う監視プロセスと、を実行する制御部と、
前記演算処理プロセスからアクセスされるデータキャッシュの状態変化を監視するキャッシュ確認部と、
前記キャッシュ確認部の監視結果に基づいて、前記監視プロセスの起動を制御する監視プロセス起動制御部と、
前記監視プロセスの起動結果に基づいて、前記演算処理プロセスにストール状態が発生しているか否かを判定する障害判定部と、
前記監視プロセスの起動状態を通知する監視プロセス起動通知部と、を備え、
前記監視プロセス起動通知部は、
前記制御部が前記演算処理プロセス及び前記監視プロセスを実行していない定常状態に前記監視プロセス起動制御部から前記監視プロセスの起動指示が通知された場合、前記監視プロセスを起動し、前記起動指示に対する応答を前記障害判定部へ通知し、前記制御部が前記演算処理プロセスを実行している状態に前記監視プロセス起動制御部から前記監視プロセスの起動指示が通知された場合、前記監視プロセスを起動せず、前記起動指示に対する応答を前記障害判定部へ通知しない、演算処理装置。
A control unit that executes an arithmetic processing process, and a monitoring process that has a lower priority on activation than the arithmetic processing process and performs stall monitoring of the arithmetic processing process;
A cache confirmation unit that monitors a change in the state of the data cache accessed from the arithmetic processing process;
A monitoring process activation control unit that controls activation of the monitoring process based on a monitoring result of the cache confirmation unit;
A failure determination unit that determines whether or not a stall condition has occurred in the arithmetic processing process, based on a startup result of the monitoring process;
A monitoring process start notification unit for notifying the start state of the monitoring process,
The monitoring process activation notification unit
When the monitoring process activation control unit is notified of the monitoring process activation control unit in a steady state in which the control process and the monitoring process are not executed by the control unit, the monitoring process is activated, and the activation instruction A response is notified to the failure determination unit, and when the monitoring process activation control unit is notified that the control unit is executing the arithmetic processing process, the monitoring process is activated. The arithmetic processing unit does not notify the failure determination unit of a response to the activation instruction .
前記監視プロセス起動制御部は、
前記キャッシュ確認部において前記データキャッシュが変化していると判定された場合には、前記監視プロセスの起動を行わず、前記データキャッシュが変化していないと判定された場合に、前記監視プロセスの起動を行う、請求項1に記載の演算処理装置。
The monitoring process activation control unit
If the cache check unit determines that the data cache has changed, the monitoring process is not started. If it is determined that the data cache has not changed, the monitoring process is started. The arithmetic processing device according to claim 1, wherein:
前記障害判定部は、
前記監視プロセスの起動が確認できた場合には、前記演算処理プロセスにストール状態が発生していないと判定し、前記監視プロセスの起動が確認できない場合には、前記演算処理プロセスにストール状態が発生していると判定する、請求項1又は2に記載の演算処理装置。
The failure determination unit
If the start of the monitoring process can be confirmed, it is determined that the stall process has not occurred. If the start of the monitoring process cannot be confirmed, the stall process has occurred. The arithmetic processing device according to claim 1, wherein the arithmetic processing device determines that the operation is being performed.
前記キャッシュ確認部は、
定期的に前記データキャッシュの状態変化を確認し、
前記監視プロセス起動制御部は、
前記キャッシュ確認部において前記データキャッシュが変化していないと判定された回数が予め定められた回数を超えた場合に、前記監視プロセスの起動を行う、請求項1乃至のいずれか1項に記載の演算処理装置。
The cache confirmation unit
Periodically check the status change of the data cache,
The monitoring process activation control unit
If it exceeds the number of times that the front Kide over data cache in the cache checking unit is determined not to be changed is predetermined, carries out activation of the monitoring process, any of claims 1 to 3 1 The arithmetic processing unit according to item.
前記キャッシュ確認部、前記監視プロセス起動制御部及び前記障害判定部は、前記制御部とは異なる第1の制御部に備えられる、請求項1乃至のいずれか1項に記載の演算処理装置。 The cache checking unit, the monitoring process activation control unit and the fault determination unit is provided in a first control unit that is different from the control unit, the arithmetic processing apparatus according to any one of claims 1 to 4. 演算処理プロセスを実行する制御部からアクセスされるデータキャッシュの状態変化を監視し、
前記データキャッシュにおける状態変化の監視結果に基づいて前記制御部における監視プロセスの起動を制御し、
前記制御部が前記演算処理プロセス及び前記監視プロセスを実行していない定常状態に前記監視プロセスの起動指示が通知された場合、前記監視プロセスを起動し、前記起動指示に対する応答を通知し、前記制御部が前記演算処理プロセスを実行している状態に前記監視プロセスの起動指示が通知された場合、前記監視プロセスを起動せず、前記起動指示に対する応答を通知せず、
前記監視プロセスの起動結果に基づいて、前記演算処理プロセスにストール状態が発生しているか否かを判定する、ストール監視方法。
Monitor the status change of the data cache accessed from the control unit that executes the arithmetic processing process,
Control the start of the monitoring process in the control unit based on the monitoring result of the state change in the data cache,
When the control unit is instructed to start the monitoring process in a steady state in which the arithmetic processing process and the monitoring process are not executed, the control unit is started, a response to the start instruction is notified, and the control When the monitoring process activation instruction is notified when the unit is executing the arithmetic processing process, the monitoring process is not activated, the response to the activation instruction is not notified,
A stall monitoring method for determining whether or not a stall state has occurred in the arithmetic processing process based on a start result of the monitoring process.
前記データキャッシュの状態が変化していると判定された場合には、前記監視プロセスの起動を行わず、前記データキャッシュが変化していないと判定された場合に、前記監視プロセスの起動を行う、請求項に記載のストール監視方法。 When it is determined that the state of the data cache has changed, the monitoring process is not started, and when it is determined that the data cache has not changed, the monitoring process is started. The stall monitoring method according to claim 6 . 前記監視プロセスの起動が確認できた場合には、前記演算処理プロセスにストール状態が発生していないと判定し、前記監視プロセスの起動が確認できない場合には、前記演算処理プロセスにストール状態が発生していると判定する、請求項又はに記載のストール監視方法。 If the start of the monitoring process can be confirmed, it is determined that the stall process has not occurred. If the start of the monitoring process cannot be confirmed, the stall process has occurred. to have a determined stall monitoring method according to claim 6 or 7.
JP2012041902A 2012-02-28 2012-02-28 Arithmetic processing device and stall monitoring method Expired - Fee Related JP5906807B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012041902A JP5906807B2 (en) 2012-02-28 2012-02-28 Arithmetic processing device and stall monitoring method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012041902A JP5906807B2 (en) 2012-02-28 2012-02-28 Arithmetic processing device and stall monitoring method

Publications (2)

Publication Number Publication Date
JP2013178653A JP2013178653A (en) 2013-09-09
JP5906807B2 true JP5906807B2 (en) 2016-04-20

Family

ID=49270229

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012041902A Expired - Fee Related JP5906807B2 (en) 2012-02-28 2012-02-28 Arithmetic processing device and stall monitoring method

Country Status (1)

Country Link
JP (1) JP5906807B2 (en)

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02259845A (en) * 1989-03-30 1990-10-22 Nec Corp Processor
JPH05241906A (en) * 1991-10-21 1993-09-21 Mitsubishi Electric Corp Programmable controller
JPH08147255A (en) * 1994-11-18 1996-06-07 Hitachi Ltd Fault monitoring system
JPH1011327A (en) * 1996-06-25 1998-01-16 Nitsuko Corp System for monitoring abnormality in multitask
JP2009129301A (en) * 2007-11-27 2009-06-11 Nec Electronics Corp Self-diagnostic circuit and self-diagnostic method
JP5335552B2 (en) * 2009-05-14 2013-11-06 キヤノン株式会社 Information processing apparatus, control method therefor, and computer program

Also Published As

Publication number Publication date
JP2013178653A (en) 2013-09-09

Similar Documents

Publication Publication Date Title
JP4060322B2 (en) Application management apparatus and storage medium storing software thereof
JP2007188147A (en) Debugging support device, and program for making computer execute debug processing method
US10379931B2 (en) Computer system
JP4462238B2 (en) Mobile device
JP5579935B2 (en) Detection of abnormal operation caused by interrupt processing
JP4653838B2 (en) Arithmetic processing device, control method of arithmetic processing device, and control program
JP2010186242A (en) Computer system
US8156386B2 (en) Information processing apparatus, and method and computer program for controlling same, for detecting certain failures
JP6148129B2 (en) Information processing apparatus, firmware update method, and firmware update program
JP2008225807A (en) Control device, and program runaway monitoring method for the same
JP2016066139A (en) Vehicle control unit
JP5906807B2 (en) Arithmetic processing device and stall monitoring method
JP6049961B1 (en) CPU monitoring device
JP2006227962A (en) System and method for monitoring application task
JP2009151440A (en) Program hang-up detection method and computer device adopting the same method
JP6256087B2 (en) Dump system and dump processing method
JP2008204011A (en) Multi-thread system and thread operation failure detecting method
JP6765874B2 (en) Electronic control device
JP2009282601A (en) Operation monitoring program, monitoring system, and monitoring method
JP6787658B2 (en) Processing equipment, traffic signal equipment and information display equipment
JP5716396B2 (en) Information processing apparatus and information processing method
JP4983806B2 (en) System monitoring apparatus and monitoring method using dual timer
JP6232877B2 (en) Information processing apparatus, information processing method, and program
JP2007004364A (en) Debug system, debug method, and program
JP2019020869A (en) Vehicle control device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150114

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150819

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150901

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20151029

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160307

R150 Certificate of patent or registration of utility model

Ref document number: 5906807

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees