JP6853162B2 - 半導体装置 - Google Patents

半導体装置 Download PDF

Info

Publication number
JP6853162B2
JP6853162B2 JP2017222695A JP2017222695A JP6853162B2 JP 6853162 B2 JP6853162 B2 JP 6853162B2 JP 2017222695 A JP2017222695 A JP 2017222695A JP 2017222695 A JP2017222695 A JP 2017222695A JP 6853162 B2 JP6853162 B2 JP 6853162B2
Authority
JP
Japan
Prior art keywords
signal
error
semiconductor device
arithmetic core
output
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.)
Active
Application number
JP2017222695A
Other languages
English (en)
Other versions
JP2019095893A (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.)
Renesas Electronics Corp
Original Assignee
Renesas Electronics 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 Renesas Electronics Corp filed Critical Renesas Electronics Corp
Priority to JP2017222695A priority Critical patent/JP6853162B2/ja
Priority to US16/128,342 priority patent/US10915393B2/en
Priority to EP18206256.2A priority patent/EP3486781B1/en
Priority to KR1020180140716A priority patent/KR20190058310A/ko
Priority to CN201811386781.7A priority patent/CN109815036A/zh
Publication of JP2019095893A publication Critical patent/JP2019095893A/ja
Application granted granted Critical
Publication of JP6853162B2 publication Critical patent/JP6853162B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0721Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment within a central processing unit [CPU]
    • G06F11/0724Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment within a central processing unit [CPU] in a multiprocessor or a multi-core unit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0727Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a storage system, e.g. in a DASD or network based storage system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/079Root cause analysis, i.e. error or fault diagnosis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1048Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1068Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1629Error detection by comparing the output of redundant processing systems
    • G06F11/1641Error detection by comparing the output of redundant processing systems where the comparison is not performed by the redundant processing components
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3006Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3055Monitoring arrangements for monitoring the status of the computing system or of the computing system component, e.g. monitoring if the computing system is on, off, available, not available
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/1652Handling requests for interconnection or transfer for access to memory bus based on arbitration in a multiprocessor architecture
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/38Response verification devices
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/52Protection of memory contents; Detection of errors in memory contents

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Mathematical Physics (AREA)
  • Hardware Redundancy (AREA)

Description

本発明は半導体装置に関し、例えば複数のプロセッサを含み、動作モードとして、複数のプロセッサが同一の動作を行うロックステップモードと、複数のプロセッサが個別の動作を行うスプリットモードとを有する半導体装置に関する。
近年、プログラムを実行する演算コアを内蔵した半導体装置では、複数の演算コアを内蔵することで信頼性の向上、或いは、処理能力の向上を実現しているものがある。このような半導体装置では、同じ演算結果を得られるようにして複数の演算コアを動作させるロックステップモードと、複数の演算コアを個別に動作させるスプリットモードと、を備えるものがある。そこで、特許文献1にこのロックステップモードとスプリットモードとを切替可能な半導体装置の例が開示されている。
米国特許第8051323号明細書
しかしながら、特許文献1に開示された半導体装置では、ロックステップモード時の故障によりチェック用演算コアが内蔵メモリや周辺回路に対して意図しないアクセスを発生させるリスクがある。また、このような故障が発生した場合、スプリットモード時にチェック用演算コアとして機能していた演算コアが内蔵メモリや周辺回路にアクセス出来なくなるリスクが発生する。つまり、特許文献1に記載の半導体装置では、演算コア以外のモード切替処理に必要な回路で生じた故障を検出することができず、信頼性が不十分である問題がある。
その他の課題と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
一実施の形態によれば、半導体装置は、複数の演算コアのうちロックステップモードでチェック用演算コアとなる演算コアに対応して設けられ、ロックステップモード時には対応する演算コアから出力されるインタフェース信号群を遮断し、スプリットモード時には対応する演算コアから出力されるインタフェース信号群を通過させる選択部と、前記選択部を介して出力されるインタフェース信号群を監視して、前記インタフェース信号群の異常状態をエラー信号として出力するアクセスモニタと、前記アクセスモニタから出力されるエラー信号に基づき異常状態処理要求を上位システムに出力するエラー制御部と、を有するものである。
一実施の形態によれば、半導体装置は、演算コア以外のモード切替処理に必要な回路で生じた故障を検出することができる。
実施の形態1にかかる半導体装置のブロック図である。 実施の形態1にかかるアクセスモニタ及びエラー制御部のブロック図である。 実施の形態1にかかる時間監視部の状態遷移図である。 実施の形態2にかかる半導体装置のブロック図である。 実施の形態2にかかるエラー注入部及びアクセスモニタのブロック図である。 実施の形態3にかかる半導体装置のブロック図である。 実施の形態3にかかるエラー注入部及びアクセスモニタのブロック図である。 実施の形態4にかかる半導体装置のブロック図である。 実施の形態5にかかるアクセスモニタのブロック図である。 実施の形態6にかかる半導体装置のブロック図である。 実施の形態7にかかる半導体装置のブロック図である。 実施の形態7にかかるアクセスモニタ及びエラー制御部のブロック図である。
説明の明確化のため、以下の記載及び図面は、適宜、省略、及び簡略化がなされている。また、様々な処理を行う機能ブロックとして図面に記載される各要素は、ハードウェア的には、CPU、メモリ、その他の回路で構成することができ、ソフトウェア的には、メモリにロードされたプログラムなどによって実現される。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによっていろいろな形で実現できることは当業者には理解されるところであり、いずれかに限定されるものではない。なお、各図面において、同一の要素には同一の符号が付されており、必要に応じて重複説明は省略されている。
また、上述したプログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non−transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば光磁気ディスク)、CD−ROM(Read Only Memory)CD−R、CD−R/W、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM(Random Access Memory))を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
実施の形態1
図1に実施の形態1にかかる半導体装置1のブロック図を示す。図1に示すように、半導体装置1は、それぞれがプログラムを実行する複数の演算コアを含む。実施の形態1にかかる半導体装置1は、内蔵する複数の演算コアの動作モードとして、それぞれの演算コアから同一の演算結果を得られるように複数の演算コアを動作させるロックステップモードと、複数の演算コアを独立して動作させるスプリットモードと、を有する。ロックステップモードでは、一方の演算コアを主たる演算処理に用い、他方の演算コアを一方の演算コアの動作を監視するチェック用演算コアとして用いる。つまり、ロックステップモードでは、2つの演算コアの演算結果の差に基づき演算コアの故障を早期に発見できるため、演算結果の信頼性を向上させることができる。一方、スプリットモードでは、複数の演算コアがそれぞれプログラムを実行するため、実行されるプログラム数の並列数を高めた高速な演算処理が可能である。
図1に示すように、実施の形態1にかかる半導体装置1は、第1の演算コア(例えば、第1のプロセッサ10)、第2の演算コア(例えば、第2のプロセッサ11)、第3のプロセッサ12、比較器13、選択部14、アクセスモニタ15、エラー制御部16、共有リソース17、18を有する。共有リソース17、18は、例えば、メモリや、タイマ・I/Oインタフェース回路・アナログデジタル変換器・デジタルアナログ変換器等の周辺回路である。また、共有リソースは、第1のプロセッサ10から第3のプロセッサ12により共有されるハードウェアリソースである。図1では、共有リソース17としてメモリが実装され、共有リソース18としてメモリ以外のハードウェアリソース(例えば、周辺回路)が実装される例を示した。
第1のプロセッサ10、第2のプロセッサ11、第3のプロセッサ12は、いずれもプログラムを実行する演算コアである。図1に示す実施の形態1にかかる半導体装置1は、ロックステップモードにおいて第1のプロセッサ10を主演算コア及び第2のプロセッサ11を主演算コアに対するチェック用演算コアとして用いる。このロックステップモード時の同一の演算結果を出力する演算コアは、同一の回路構成であることが好ましいが、異なる構成であっても構わない。また、図1に示す実施の形態1にかかる半導体装置1では、スプリットモードにおいては、第1のプロセッサ10、第2のプロセッサ11、第3のプロセッサ12がそれぞれ個別にプログラムを実行する。
また、図1に示すように実施の形態1にかかる半導体装置1では、第1のプロセッサ10、第2のプロセッサ11、第3のプロセッサ12、アクセスモニタ15、エラー制御部16、共有リソース17、18がシステムバスBUSを介して通信可能な状態で構成される。なお、第2のプロセッサ11については、選択部14を介してシステムバスBUSと接続される。
比較器13は、第1のプロセッサ10が共有リソース17、18に対して出力する第1のインタフェース信号群と第2のプロセッサ11が共有リソース17、18に対して出力する第2のインタフェース信号群とを比較して、第1のインタフェース信号群と第2のインタフェース信号群とが不一致な状態となった場合に第1のエラー信号ERR1をイネーブル状態とする。なお、比較器13が監視するインタフェース信号群に含まれる信号の一部(例えば、データ信号のみ)であっても構わない。
選択部14は、スプリットモード有効信号S_SLTに応じて、第2のプロセッサ11が出力するインタフェース信号群をシステムバスBUSに伝達するか否かを切り替える。また、選択部14は、スプリットモード有効信号S_SLTに応じて、第2のプロセッサ11宛にシステムバスBUSから伝達されるインタフェース信号群を第2のプロセッサ11に与えるのか、第1のプロセッサ10宛にシステムバスBUSから伝達されるインタフェース信号群を第2のプロセッサ11に与えるのか、を切り替える。
具体的には、選択部14は、スプリットモード有効信号S_SLTがロックステップモードを指示する状態においては、第2のプロセッサ11が出力する第2のインタフェース信号群がシステムバスBUSに出力されることを防止する。また、ロックステップモード時には、選択部14は、第2のプロセッサ11宛にシステムバスBUSから伝達される第2のインタフェース信号群と第1のプロセッサ10宛にシステムバスBUSから伝達される第1のインタフェース信号群とのうち第1のインタフェース信号群を選択して第2のプロセッサ11に与える。
また、選択部14は、スプリットモード有効信号S_SLTがスプリットモードを指示する状態においては、第2のプロセッサ11が出力する第2のインタフェース信号群をシステムバスBUSに出力する。また、スプリットモード時には、選択部14は、第2のプロセッサ11宛にシステムバスBUSから伝達される第2のインタフェース信号群と第1のプロセッサ10宛にシステムバスBUSから伝達される第1のインタフェース信号群とのうち第2のインタフェース信号群を選択して第2のプロセッサ11に与える。
アクセスモニタ15は、選択部14を介してシステムバスBUSに出力される第2のインタフェース信号群を監視し、第2のインタフェース信号群がシステムバスBUSに出力された場合に第2のエラー信号ERR2を出力すると共に第2のインタフェース信号群が一定期間の間出力されなかった場合に第3のエラー信号ERR3を出力する。このアクセスモニタ15の詳細は後述する。
エラー制御部16は、第1のエラー信号ERR1、第2のエラー信号ERR2及び第3のエラー信号ERR3に基づき第1のプロセッサ10、第2のプロセッサ11及び選択部14のいずれか1つの異常状態を検出し、検出された異常状態に応じて上位システムに異常状態に応じた処理を要求する異常状態処理要求を出力する。図1に示す例では、エラー制御部16は、異常状態処理要求を行うための信号として、外部エラー通知信号EX_OUT、エラー割込信号INT、リセット要求信号RSTを出力する。このエラー制御部16の詳細については後述する。
続いて、アクセスモニタ15、エラー制御部16について詳細に説明する。そこで、図2に実施の形態1にかかるアクセスモニタ15及びエラー制御部16のブロック図を示す。なお、図2においては、アクセスモニタ15及びエラー制御部16で扱う信号を説明するために、第2のプロセッサ11及び選択部14を示した。
図2に示すように、実施の形態1にかかる半導体装置1では、第2のプロセッサ11に入出力される第2のインタフェース信号群(以下、単にインタフェース信号群とも称す)に含まれる複数の信号のうちアクセス要求信号をアクセスモニタ15及びエラー制御部16によるエラー検出処理の対象とする。これはアクセス要求信号が既知の値を有する信号であるため、アクセスモニタ15及びエラー制御部16における値判定が容易であるためである。
図2に示すように、アクセスモニタ15は、第1のパスPS1、第2のパスPS2を有する。また、第2のパスPS2には時間監視部21が設けられる。第1のパスPS1は、第2のインタフェース信号群に含まれる信号のうち監視対象とする信号(実施の形態1ではアクセス要求信号)の値をそのまま第2のエラー信号ERR2としてエラー制御部16に出力する信号経路である。時間監視部21は、アクセス要求信号の信号変化を検出し、信号変化を検出したタイミングから所定の時間を計時し、所定の時間が経過したところで出力信号(例えば、エラー信号ERR3)の論理レベルを変化させる。時間監視部21としては、例えば、カウンタを用いることができる。つまり、第2のパスPS2は、第2のインタフェース信号群に含まれる信号のうち監視対象とする信号(例えば、アクセス要求信号)の値に応じてカウンタを動作させ、カウンタにオーバーフローが発生した際に論理レベルが変化する第3のエラー信号をエラー制御部16に出力する。なお、時間監視部21(例えば、カウンタ)がカウント値をオーバーフローさせるカウント値はシステムバスBUSを介して第1のプロセッサ10、或いは、他のプロセッサから与えられるものである。
ここで、実施の形態1にかかる半導体装置1では、時間監視部21の動作に特徴の1つがあるため、時間監視部21の動作について詳細に説明する。そこで、図3に実施の形態1にかかる時間監視部21の状態遷移図を示す。なお、図3に示す例は、アクセス要求信号を監視対象信号としたものである。
実施の形態1にかかる半導体装置1は、起動直後は、アクセス要求信号が無効状態、カウンタがリセット状態、かつ、第3のエラー信号ERR3がロウレベル(図3中のL)となる。そのため、時間監視部21は、図3の状態遷移図の最上段の状態から動作を開始する。そして、アクセス要求信号が無効状態を維持する間は、時間監視部21はリセット状態を維持する。そして、アクセス要求信号が無効から有効に切り替わると、時間監視部21はカウンタを動作させる。そして、時間監視部21は、アクセス要求信号が有効から無効に切り替わるとアクセス要求信号が無効な期間の長さをカウントする。
その後、時間監視部21はカウント値がオーバーフローするまでは第3のエラー信号ERR3をロウレベルで維持したままカウント値を増加させる。そして、時間監視部21は、カウンタを動作させている期間にアクセス要求信号が無効から有効に切り替わった場合には再度カウンタをリセット状態として第3のエラー信号ERR3をロウレベルとする状態に戻る。一方、時間監視部21は、アクセス要求信号が無効状態から有効状態に切り替わらずに、カウンタのカウント値がオーバーフローした場合には第3のエラー信号ERR3をロウレベルからハイレベルに切り替える。そして、時間監視部21は、再度アクセス要求信号が無効から有効に切り替わったことに応じて、最初の状態に状態を戻す。
つまり、アクセスモニタ15は、時間監視部21を有することで、半導体装置1がスプリットモードで動作している場合に、何らかの原因でアクセス要求信号が無効状態で固着した場合に第3のエラー信号ERR3により、当該エラーをエラー制御部16に通知する。
エラー制御部16は、第1のレジスタ(例えば、レジスタ31)、AND回路32、第2のレジスタ(例えば、レジスタ33)、34、OR回路35、エラー通知信号生成部36を有する。レジスタ31には、第2のエラー信号ERR2により発生したエラー状態を通知する第1のエラー値(例えば、第2のエラー信号ERR2用リセット制御ビット)が格納される。レジスタ33には、第3のエラー信号ERR3により発生したエラー状態を通知する第1のエラー値(例えば、第3のエラー信号ERR3用リセット制御ビット)が格納される。レジスタ31、33に格納される値は、システムバスBUSを介して第1のプロセッサ10、或いは、他のプロセッサから与えられるものである。
AND回路32は、第2のエラー信号ERR2がエラー状態を示す場合(例えばハイレベル)に、レジスタ31に格納された第2のエラー信号ERR2用リセット制御ビットの値を出力する。AND回路34は、第3のエラー信号ERR3がエラー状態を示す場合(例えばハイレベル)に、レジスタ33に格納された第3のエラー信号ERR3用リセット制御ビットの値を出力する。
OR回路35は、AND回路32及びAND回路34の出力信号のうち少なくとも一方がアクティブ(例えば、ハイレベル)となったことに応じて出力信号の論理レベルをロウレベルからハイレベルに切り替える。エラー通知信号生成部36は、第1のエラー信号ERR1及びOR回路35の出力信号がアクティブ(例えば、ハイレベル)となったことに応じて、異常状態処理要求を出力する。つまり、エラー通知信号生成部36は、第2のエラー信号ERR2として想定される値を格納するレジスタ31と、前記第3のエラー信号として想定される値を格納する第2のレジスタと、を有し、前記第1のレジスタに格納された値が前記第2のエラー信号として入力された場合、又は、前記第2のレジスタに格納された値が前記第3のエラー信号として入力された場合に、異常状態処理要求を出力する。
なお、エラー通知信号生成部36は、通知されたエラーの内容によって異常状態処理要求の内容を変更しても良い。例えば、第1のエラー信号ERR1によりエラーが通知された場合には、上位システムにロックステップモードによる動作の停止を要求する異常状態処理要求を出力し、第2のエラー信号ERR2又は第3のエラー信号ERR3(つまり、OR回路35の出力信号)によりエラーが通知された場合にはロックステップモードによる動作を停止すると共に第2のプロセッサ11を使用不可にする異常状態処理要求を出力する等が考えられる。
ここで、実施の形態1にかかる半導体装置1の動作について説明する。実施の形態1にかかる半導体装置1は、上述したようにロックステップモードとスプリットモードとを有する。そこで、以下の説明では、ロックステップモードとスプリットモードとにわけて実施の形態1にかかる半導体装置1の動作の説明を行う。
まず、ロックステップモード動作時の実施の形態1にかかる半導体装置1の動作について説明する。ロックステップモードでは、スプリットモード有効信号S_SLTが無効状態を指示する値(例えば、ロックステップモードを指示する値であって、ハイレベル)となる。これにより、選択部14は、第2のプロセッサ11から出力される第2のインタフェース信号群を遮断すると共に第1のプロセッサ10を宛先としてシステムバスBUSから入力される第1のインタフェース信号群を第2のプロセッサ11に与える。つまり、ロックステップモードでは、選択部14から出力されるインタフェース信号群は固定値(例えば、ロウレベル)となる。そのため、ロックステップモードでは、アクセスモニタ15にはロウレベル(無効状態)で固定された監視対象信号(例えば、アクセス要求信号)が入力され、第2のエラー信号ERR2は、無効状態(例えば、ロウレベル)が維持される。
しかしながら、選択部14の故障、或いは、スプリットモード有効信号S_SLTが有効状態(例えば、ハイレベル)で固着する故障が発生すると、選択部14が第2のプロセッサ11から出力される第2のインタフェース信号群を遮断できず、第2のインタフェース信号群がシステムバスBUSに出力される。そして、このような故障が発生した場合、アクセスモニタ15に与えられるアクセス要求信号の状態に変化が生じる。実施の形態1にかかる半導体装置1では、このアクセス要求信号の変化により第2のエラー信号ERR2がハイレベルとなり、エラー制御部16が異常状態処理要求を出力する。
ロックステップモードにおいて上記のような故障が発生した場合、第2のプロセッサ11がスプリットモードの動作を行ってしまうという誤作動を起こし、共有リソース17、18へのライトアクセスすることで、FIFOなどに対し、意図しない連続アクセスが発生し、正しくない動作となり、問題となる。なお、リードアクセスの場合は、第1のプロセッサ10と第2のプロセッサ11の動作の違いとなり、比較器で検出可能である。さらに、上記のような故障が発生した場合、共有リソース17、18へのアクセスの発行数が、2倍に増えることにより、バス性能が低下し、システムの制御周期が満足できないという問題がおきる可能性がある。
しかしながら、実施の形態1にかかる半導体装置1では、アクセスモニタ15及びエラー制御部16により、上記故障を検出することで、誤動作の発生を防ぐ処理を上位システムが行うことで、このような故障が発生した際の影響を最小限にとどめる。
続いて、スプリットモード動作時の実施の形態1にかかる半導体装置1の動作について説明する。スプリットモードでは、スプリットモード有効信号S_SLTが有効状態を指示する値(例えば、スプリットモードを指示する値であって、ロウレベル)となる。これにより、選択部14は、第2のプロセッサ11から出力される第2のインタフェース信号群をシステムバスBUSに出力すると共に第2のプロセッサ11を宛先としてシステムバスBUSから入力される第2のインタフェース信号群を第2のプロセッサ11に与える。つまり、スプリットモードでは、選択部14から出力されるインタフェース信号群は変動することになる。そのため、スプリットモードでは、アクセスモニタ15には値が変動する監視対象信号(例えば、アクセス要求信号)が入力され、第3のエラー信号ERR3は、無効状態(例えば、ロウレベル)が維持される。
しかしながら、選択部14の故障、或いは、スプリットモード有効信号S_SLTが無効状態(例えば、ロウレベル)で固着する故障が発生すると、選択部14が第2のプロセッサ11から出力される第2のインタフェース信号群を遮断し、第2のインタフェース信号群が遮断に出力される。そして、このような故障が発生した場合、アクセスモニタ15に与えられるアクセス要求信号の状態が無効状態(例えばロウレベル)に固定される。実施の形態1にかかる半導体装置1では、スプリットモード時にアクセス要求信号が無効状態で固定されるため第3のエラー信号ERR3がハイレベルとなり、エラー制御部16が異常状態処理要求を出力する。
スプリットモードの時に上記のような故障が発生すると、選択部14がロックステップモードとして誤動作し、第2のプロセッサ11が共有リソース17、18にアクセスできなくなり、問題となる。しかしながら、実施の形態1にかかる半導体装置1では、アクセスモニタ15及びエラー制御部16により、上記故障を検出することで、誤動作の発生を防ぐ処理を上位システムが行うことで、このような故障が発生した際の影響を最小限にとどめる。
なお、故障が無ければ、ロックステップモードにおいて第3のエラー信号ERR3が常にエラー通知状態になり、スプリットモードにおいて第2のエラー信号ERR2が常にエラー通知状態となる。これらのエラー通知状態は、故障によるものではないため、疑似エラーとして上位システムが異常が発生したと判定しない疑似エラーとして処理する必要がある。この疑似エラー対策としては、エラー制御部16(例えば、エラー通知信号生成部36)の設定により、疑似エラーによるリセット要求、割り込み要求、端子出力を抑制する必要がある。このエラー制御部36の設定は、独立した別の第3のプロセッサ12により実施されることが望ましい。
上記説明より、実施の形態1にかかる半導体装置1では、比較器13によるプロセッサ動作の監視だけでは検出できない選択部14及びスプリットモード有効信号S_SLTに関する故障を検出して、ロックステップモード時に生じた不具合に対処することが可能になる。
また、実施の形態1にかかる半導体装置1では、アクセスモニタ15がスプリットモード時に生じた選択部14及びスプリットモード有効信号S_SLTに関する故障を検出して、スプリットモード時に生じた不具合に対処することが可能になる。
つまり、実施の形態1にかかる半導体装置1では、プロセッサの動作の監視のみでは検出することができない選択部14及びスプリットモード有効信号S_SLTに関する故障を検出し、不具合に対処することが可能になる。
実施の形態2
実施の形態2では、実施の形態1にかかる半導体装置1の別の例となる半導体装置2について説明する。なお、実施の形態2の説明では、実施の形態1の説明において説明した構成要素と同じ構成要素については実施の形態1と同じ符号を付して説明を省略する。
図4に実施の形態2にかかる半導体装置2のブロック図を示す。図4に示すように、実施の形態2にかかる半導体装置2は、実施の形態1のアクセスモニタ15をアクセスモニタ15aに置き換え、エラー注入部19を追加したものである。そこで、アクセスモニタ15aとエラー注入部19について詳細に説明する。図5に実施の形態2にかかるエラー注入部及びアクセスモニタのブロック図を示す。
図5に示すように、アクセスモニタ15aは、アクセスモニタ15にセレクタ22を追加したものである。また、エラー注入部19は、エラー注入有効レジスタ41及びエラー注入データレジスタ42を有する。エラー注入有効レジスタ41は、エラー制御部が前記異常状態処理要求を出力する監視対象信号の値(例えばエラーデータ)が格納される。エラー注入データレジスタ42は、エラー注入データレジスタの値を第1のパスPS1及び第2のパスPS2に入力するか否かを切り替える切替設定値を格納する。セレクタ22は、切替設定値に応じて、エラーデータ注入レジスタ42に格納された値と、監視対象信号とのいずれか一方を選択して第1のパス及び第2のパスに出力する。なお、エラー注入有効レジスタ41に格納される切替設定値とエラー注入データレジスタ42に格納される値は、第1のプロセッサ10或いは第3のプロセッサ12により与えられるものである。
実施の形態2にかかる半導体装置2では、アクセスモニタ15a及びエラー注入部19を有することで、アクセスモニタ15a及びエラー制御部16が正しく動作しているか否かを確認することができる。つまり、実施の形態2にかかる半導体装置2では、選択部14のみならずアクセスモニタ15a及びエラー制御部16の故障も検出かのうであり、実施の形態1にかかる半導体装置1より高い信頼性を得ることができる。
実施の形態3
実施の形態3では、実施の形態1にかかる半導体装置2の別の例となる半導体装置3について説明する。なお、実施の形態3の説明では、実施の形態1、2の説明において説明した構成要素と同じ構成要素については実施の形態1、2と同じ符号を付して説明を省略する。
図6に実施の形態3にかかる半導体装置3のブロック図を示す。図6に示すように、実施の形態3にかかる半導体装置3は、アクセスモニタ15をアクセスモニタ15bに置き換えたものである。また、実施の形態3にかかる半導体装置3は、比較器13にスプリットモード有効信号S_SLTが入力される。そこで、アクセスモニタ15bについて詳細に説明する。図7に実施の形態3にかかるエラー注入部及びアクセスモニタのブロック図を示す。
図7に示すように、アクセスモニタ15bは、アクセスモニタ15aにAND回路23、24を追加したものである。AND回路23は、スプリットモード有効信号S_SLTに応じて第1のパスPS1を有効と無効化のいずれか一方とする第1のゲーティング回路である。AND回路24は、スプリットモード有効信号S_SLTに応じて第2のパスPS2を有効と無効化のいずれか一方とする第2のゲーティング回路である。ここで、AND回路23の2つの入力端子のうちスプリットモード有効信号S_SLTを入力する入力端子は、スプリットモード有効信号S_SLTがロウレベルのときにアクティブ(例えば、ハイレベルが入力された時の状態)となる端子である。一方、AND回路24の2つの入力端子のうちスプリットモード有効信号S_SLTを入力する入力端子は、スプリットモード有効信号S_SLTがハイレベルのときにアクティブとなる端子である。つまり、AND回路23とAND回路24は、排他的に有効と無効とが切り替えられる。
このようにAND回路23、24を設けることで、実施の形態3にかかる半導体装置3では、ロックステップモード時には第2のパスPS2を無効にして第3のエラー信号ERR3が有効になることを防止し、スプリットモードには第1のパスPS1を無効にして第2のエラー信号ERR2が有効になることを防止する。
また、実施の形態3にかかる半導体装置3では、比較器13にスプリットモード有効信号S_SLTが入力されることで、スプリットモード時に比較器13を停止させる。
上記説明より、実施の形態3にかかる半導体装置3では、AND回路23、24を用いることで各モードにおいて疑似エラーを生じさせる経路を無効化して、疑似エラーの発生を抑制する。これにより、実施の形態3ではエラー制御部16における疑似エラーに関する処理をなくすことができる。また、実施の形態3では、比較器13の動作期間を短縮して、消費電力を低減することができる。
実施の形態4
実施の形態4では、実施の形態3にかかる半導体装置3の別の例となる半導体装置4について説明する。なお、実施の形態4の説明では、実施の形態1〜3の説明において説明した構成要素と同じ構成要素については実施の形態1〜3と同じ符号を付して説明を省略する。
図8に実施の形態4にかかる半導体装置4のブロック図を示す。図8に示すように、実施の形態4にかかる半導体装置4は、第2のプロセッサ11、比較器13、アクセスモニタ15b、エラー制御部16を第2のプロセッサ11c、比較器13c、アクセスモニタ15c、エラー制御部16cに置き換えたものである。
エラー制御部16cは、エラー制御部16に第1のエラー信号ERR1から第3のエラー信号ERR3によりエラーを検出した場合に、第2のプロセッサ11c、比較器13c、アクセスモニタ15cに動作を初期化するローカルリセット信号RST_Lを出力する機能を追加したものである。そして、第2のプロセッサ11c、比較器13c、アクセスモニタ15cは、第2のプロセッサ11、比較器13、アクセスモニタ15bにローカルリセット信号RST_Lによるリセットを実行可能な機能を追加したものである。
実施の形態4にかかる半導体装置4は、第2のプロセッサ11c及び比較器13cをリセット状態とすることで、第2のプロセッサ11による共有リソース17、18への侵害、或いは、比較器、アクセスモニタ15cからの疑似エラーの発生を抑止する。また、これにより、実施の形態4にかかる半導体装置4では、第1のプロセッサ10や第3のプロセッサ12等による動作継続が可能となる。また、第1のプロセッサ10や第3のプロセッサ12はエラー制御部からの割込み通知により、第2のプロセッサ11、比較器13c、アクセスモニタ15cがリセット状態であることを理解した上での動作継続が可能である。
実施の形態5
実施の形態5では、実施の形態1にかかるアクセスモニタ15の別の形態となるアクセスモニタ15dについて説明する。なお、実施の形態5の説明では、実施の形態1の説明において説明した構成要素と同じ構成要素については実施の形態1と同じ符号を付して説明を省略する。
図9に実施の形態5にかかるアクセスモニタ15dのブロック図を示す。図9に示すように、アクセスモニタ15dは、アクセスモニタ15にECCデコーダ25を追加したものである。ECCデコーダ25は、第2のインタフェース信号群に含まれる監視対象信号と監視対象信号に付加されるECCコードとを用いて、ロックステップモード時に前記選択部を介して出力される前記監視対象信号の固着エラーを検出する。そして、アクセスモニタ15dでは、ECCデコーダ25の出力を第1パスPS1及び第2のパスPS2に出力する。なお、選択部14から出力される監視対象信号と監視対象信号に付随するECCコードとの組み合わせは、選択部14が故障した際にECCデコーダ25におけるデコード処理によりエラーとなる組み合わせが好ましい。
実施の形態5にかかる半導体装置では、ECCデコーダ25を用いることで、監視対象信号としてアクセス要求信号等の既知の値を有する信号のみならず、データ信号等の値がその都度変化するような信号を用いることができる。これは、ロックステップモード時に選択部14に故障が発生した場合、選択部14を介して出力される何れかの信号に固着が発生するが、ECCコードのようなエラー検出コードを用いたデコード処理を用いることで、インタフェース信号群に含まれる信号がその都度変化する信号であったとしても、この固着エラーを検出できるためである。
実施の形態6
実施の形態6では、実施の形態1にかかる半導体装置1の別の形態となる半導体装置6について説明する。なお、実施の形態6の説明では、実施の形態1の説明において説明した構成要素と同じ構成要素については実施の形態1と同じ符号を付して説明を省略する。
図10に実施の形態6にかかる半導体装置6のブロック図を示す。図10に示すように、実施の形態6にかかる半導体装置6は、ロックステップモードとスプリットモードとで動作を切り替え可能な構成を2組有する。図10に示す例では、第1のプロセッサ10、第2のプロセッサ11、比較器13、選択部14が第1のロックステップ構成であり、第3のプロセッサ50、第4のプロセッサ51、比較器53、選択部54が第2のロックステップ構成である。そして、実施の形態6にかかる半導体装置6では、調停回路(例えば、OR回路)が追加される。OR回路60は、選択部14を介して出力される第2のインタフェース信号群と、選択部54を介して第4のプロセッサ51が出力する第4のインタフェース信号群とを調停してアクセスモニタ15に選択部を介して出力されるインタフェース信号群を伝達する。
実施の形態6にかかる半導体装置6では、OR回路60を用いて2つのロックステップ構成の動作を1組のアクセスモニタ15及びエラー制御部16により監視することができる。これにより、実施の形態6にかかる半導体装置6では、ロックステップ構成の回路の数に対するアクセスモニタ15及びエラー制御部16の回路面積を削減することができる。
実施の形態7
実施の形態7では、実施の形態1にかかる半導体装置1の別の形態となる半導体装置7について説明する。なお、実施の形態7の説明では、実施の形態1の説明において説明した構成要素と同じ構成要素については実施の形態1と同じ符号を付して説明を省略する。
図11に実施の形態7にかかる半導体装置7のブロック図を示す。図11に示すように、実施の形態7にかかる半導体装置7は、アクセスモニタ15及びエラー制御部16に代えてアクセスモニタ15e及びエラー制御部16eを有する。
アクセスモニタ15eは、選択部14を介してシステムバスBUSに出力される第2のインタフェース信号群に含まれる監視対象信号を監視し、監視対象信号がシステムバスBUSに出力された場合に第2のエラー信号ERR2を出力する。エラー制御部16eは、第1のエラー信号ERR1及び第2のエラー信号ERR2に基づき第1のプロセッサ10、第2のプロセッサ11及び選択部14のいずれか1つの異常状態を検出し、検出された異常状態に応じて上位システムに異常状態に応じた処理を要求する異常状態処理要求(例えば、リセット要求信号RST、エラー割込信号INT、外部エラー通知信号EX_OUT)を出力する。
ここで、アクセスモニタ15e及びエラー制御部16eについて詳細に説明する。そこで、図12に実施の形態7にかかるアクセスモニタ15e及びエラー制御部16eのブロック図を示す。図12に示すように、アクセスモニタ15eは、アクセスモニタ15から時間監視部21及び第2のパスPS2を除いたものである。また、エラー制御部16eは、エラー制御部16からレジスタ33、AND回路34、OR回路35を除いたものである。そして、実施の形態7にかかるアクセスモニタ15eは、ロックステップモード時において、正常時には予め値が定まっており、前記選択部が故障した異常時に値に変化が生じる信号を監視対象信号とする。図12に示す例では、アクセスモニタ15eは、第2のプロセッサ11が共有リソース17、18へのアクセスの許可を要求するアクセス要求信号を監視対象信号とする。アクセス要求信号は、ロックステップモード時には選択部14がロウレベルを維持する信号であり、選択部14に故障が発生した場合には、第2のプロセッサ11の動作に応じてハイレベルとなることがある信号である。アクセスモニタ15eは、ロックステップモード時に選択部14から出力されるアクセス要求信号がハイレベルとなった場合に、第2のエラー信号ERR2によりエラーが発生したことをエラー制御部16eに伝達する。
実施の形態7にかかる半導体装置7では、実施の形態1にかかる半導体装置1からスプリットモード時のエラー検出機能を削減したものである。しかしながら、共有リソースへのアクセス集中(或いは衝突)等のより重大な不具合は、ロックステップモードに発生する。そのため、半導体装置の仕様に応じて、実施の形態7にかかる半導体装置7を採用することで、時間監視部21、レジスタ33等の回路を削減して回路面積を削減することができる。
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は既に述べた実施の形態に限定されるものではなく、その要旨を逸脱しない範囲において種々の変更が可能であることはいうまでもない。
1〜4、6、7 半導体装置
10 第1のプロセッサ
11 第2のプロセッサ
12 第3のプロセッサ
13 比較器
14 選択部
15 アクセスモニタ
16 エラー制御部
17 共有リソース
18 共有リソース
19 エラー注入部
21 時間監視部
22 セレクタ
23 AND回路
24 AND回路
25 ECCデコーダ
31 レジスタ
32 AND回路
33 レジスタ
34 AND回路
35 OR回路
36 エラー通知信号生成部
41 エラー注入有効レジスタ
42 エラー注入データレジスタ
50 第3のプロセッサ
51 第4のプロセッサ
53 比較器
54 選択部
60 OR回路
PS1 第1のパス
PS2 第2のパス
S_SLT スプリットモード有効信号
ERR1 第1のエラー信号
ERR2 第2のエラー信号
ERR3 第3のエラー信号
EX_OUT 外部エラー通知信号
INT エラー割込信号
RST リセット要求信号

Claims (12)

  1. 第1の演算コアと、
    第2の演算コアと、
    前記第1の演算コアと前記第2の演算コアとが共通して利用する共有リソースと、
    前記第1の演算コア及び前記第2の演算コアと、前記共有リソースと、の間の信号の送受信を仲介するシステムバスと、
    前記第1の演算コアが前記共有リソースに対して出力する第1のインタフェース信号群と前記第2の演算コアが前記共有リソースに対して出力する第2のインタフェース信号群とを比較して、前記第1のインタフェース信号群と前記第2のインタフェース信号群とが不一致な状態となった場合に第1のエラー信号をイネーブル状態とする比較器と、
    ロックステップモード時には前記第2のインタフェース信号群が前記システムバスに出力されることを防止し、前記第1の演算コアと前記第2の演算コアとが異なる動作を行うスプリットモード時には前記第2のインタフェース信号群を前記システムバスに伝達する選択部と、
    前記選択部を介して前記システムバスに出力される前記第2のインタフェース信号群に含まれる監視対象信号を監視し、前記監視対象信号が前記システムバスに出力された場合に第2のエラー信号を出力すると共に前記監視対象信号が一定期間の間出力されなかった場合に第3のエラー信号を出力するアクセスモニタと、
    前記第1のエラー信号、前記第2のエラー信号及び前記第3のエラー信号に基づき前記第1の演算コア、前記第2の演算コア及び前記選択部のいずれか1つの異常状態を検出し、検出された異常状態に応じて上位システムに前記異常状態に応じた処理を要求する異常状態処理要求を出力するエラー制御部と、
    を有する半導体装置。
  2. 前記アクセスモニタは、前記第2のインタフェース信号群のうち既知の値を有するアクセス要求信号を監視する請求項1に記載の半導体装置。
  3. 前記アクセスモニタは、前記監視対象信号の値をそのまま前記第2のエラー信号として前記エラー制御部に出力する第1のパスと、経路上にカウンタを有し、前記監視対象信号の値に応じてカウンタを動作させ、前記カウンタにオーバーフローが発生した際に論理レベルが変化する前記第3のエラー信号を前記エラー制御部に出力する第2のパスとを有する請求項1に記載の半導体装置。
  4. 前記カウンタは、前記監視対象信号が第1の論理レベルから第2の論理レベルに切り替わった後に前記第2の論理レベルが維持される期間が所定の期間を超えた場合に前記オーバフローが発生する請求項3に記載の半導体装置
  5. 前記半導体装置は、
    前記エラー制御部が前記異常状態処理要求を出力する前記監視対象信号の値を格納したエラー注入データレジスタと、
    前記エラー注入データレジスタの値を前記第1のパス及び前記第2のパスに入力するか否かを切り替える切替設定値を格納するエラー注入有効レジスタと、を有し、
    前記アクセスモニタは、
    前記切替設定値に応じて、前記エラーデータ注入レジスタに格納された値と、前記監視対象信号とのいずれか一方を選択して前記第1のパス及び前記第2のパスに出力するセレクタを更に有する請求項3に記載の半導体装置。
  6. 前記アクセスモニタは、前記第2のインタフェース信号群に含まれる前記監視対象信号と前記監視対象信号に付加されるECCコードとを用いて、前記ロックステップモード時に前記選択部を介して出力される前記監視対象信号の固着エラーを検出するECCデコーダを有し、前記ECCデコーダの出力を前記第1パス及び前記第2のパスに出力する請求項3に記載の半導体装置。
  7. 前記アクセスモニタは、前記ロックステップモードと前記スプリットモードとの切り替えを指示するスプリットモード有効信号に応じて前記第1のパスを有効と無効化のいずれか一方とする第1のゲーティング回路と、スプリットモード有効信号に応じて前記第2のパスを有効と無効化のいずれか一方とする第2のゲーティング回路と、を有し、前記第1のゲーティング回路と前記第2のゲーティング回路は、排他的に有効と無効とが切り替えられる請求項1に記載の半導体装置。
  8. 前記エラー制御部は、
    前記第2のエラー信号により発生したエラー状態を通知する第1のエラー値を格納する第1のレジスタと、
    前記第3のエラー信号により発生したエラー状態を通知する第2のエラー値を格納する第2のレジスタと、を有し、
    前記第1のレジスタに格納された値が前記第2のエラー信号として入力された場合、又は、前記第2のレジスタに格納された値が前記第3のエラー信号として入力された場合に、前記異常状態処理要求を出力する請求項1に記載の半導体装置。
  9. 前記エラー制御部は、
    前記第1のエラー信号から前記第3のエラー信号によりエラーを検出した場合に、前記第1の演算コア、前記比較器、及び前記アクセスモニタに動作を初期化するローカルリセット信号を出力する請求項1に記載の半導体装置。
  10. 前記選択部を第1の選択部とし、
    前記システムバスを介して前記共有リソースにアクセスを行うと共に前記ロックステップモードと前記スプリットモードとで動作可能な第3の演算コア及び第4の演算コアと、
    ロックステップモード時には前記共有リソースに対して前記第4の演算コアが出力する第4のインタフェース信号群が前記システムバスに出力されることを防止し、前記第3の演算コアと前記第4の演算コアとが異なる動作を行うスプリットモード時には前記第4のインタフェース信号群を前記システムバスに伝達する第2の選択部と、
    前記第1の選択部を介して前記システムバスに出力される前記第2のインタフェース信号群と、前記第2の選択部を介して前記システムバスに出力される前記第4のインタフェース信号群と、を調停して前記アクセスモニタに出力する調停回路と、
    を有する請求項1に記載の半導体装置。
  11. 第1の演算コアと、
    第2の演算コアと、
    前記第1の演算コアと前記第2の演算コアとが共通して利用する共有リソースと、
    前記第1の演算コア及び前記第2の演算コアと、前記共有リソースと、の間の信号の送受信を仲介するシステムバスと、
    前記第1の演算コアが前記共有リソースに対して出力する第1のインタフェース信号群と前記第2の演算コアが前記共有リソースに対して出力する第2のインタフェース信号群とを比較して、前記第1のインタフェース信号群と前記第2のインタフェース信号群とが不一致な状態となった場合に第1のエラー信号をイネーブル状態とする比較器と、
    ロックステップモード時には前記第2のインタフェース信号群が前記システムバスに出力されることを防止し、前記第1の演算コアと前記第2の演算コアとが異なる動作を行うスプリットモード時には前記第2のインタフェース信号群を前記システムバスに伝達する選択部と、
    前記選択部を介して前記システムバスに出力される前記第2のインタフェース信号群に含まれる監視対象信号を監視し、前記監視対象信号が前記システムバスに出力された場合に第2のエラー信号を出力するアクセスモニタと、
    前記第1のエラー信号及び前記第2のエラー信号に基づき前記第1の演算コア、前記第2の演算コア及び前記選択部のいずれか1つの異常状態を検出し、検出された異常状態に応じて上位システムに前記異常状態に応じた処理を要求する異常状態処理要求を出力するエラー制御部と、を有し、
    前記監視対象信号は、前記ロックステップモード時において、正常時には予め値が定まっており、前記選択部が故障した異常時に値に変化が生じる信号である半導体装置。
  12. 前記監視対象信号は、前記第2の演算コアが前記共有リソースへのアクセスの許可を要求するアクセス要求信号である請求項11に記載の半導体装置。
JP2017222695A 2017-11-20 2017-11-20 半導体装置 Active JP6853162B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2017222695A JP6853162B2 (ja) 2017-11-20 2017-11-20 半導体装置
US16/128,342 US10915393B2 (en) 2017-11-20 2018-09-11 Semiconductor device and failure detection system
EP18206256.2A EP3486781B1 (en) 2017-11-20 2018-11-14 Semiconductor device
KR1020180140716A KR20190058310A (ko) 2017-11-20 2018-11-15 반도체 장치
CN201811386781.7A CN109815036A (zh) 2017-11-20 2018-11-20 半导体装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017222695A JP6853162B2 (ja) 2017-11-20 2017-11-20 半導体装置

Publications (2)

Publication Number Publication Date
JP2019095893A JP2019095893A (ja) 2019-06-20
JP6853162B2 true JP6853162B2 (ja) 2021-03-31

Family

ID=64331684

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017222695A Active JP6853162B2 (ja) 2017-11-20 2017-11-20 半導体装置

Country Status (5)

Country Link
US (1) US10915393B2 (ja)
EP (1) EP3486781B1 (ja)
JP (1) JP6853162B2 (ja)
KR (1) KR20190058310A (ja)
CN (1) CN109815036A (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112424753A (zh) * 2018-07-18 2021-02-26 三垦电气株式会社 多核系统
CN111176170B (zh) * 2019-12-31 2021-07-09 北京北方华创微电子装备有限公司 半导体设备控制系统的启动方法及装置
KR20210094301A (ko) 2020-01-21 2021-07-29 에스케이하이닉스 주식회사 비교회로
KR20220039404A (ko) * 2020-09-22 2022-03-29 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작 방법
JPWO2023022035A1 (ja) * 2021-08-18 2023-02-23

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6173351B1 (en) * 1998-06-15 2001-01-09 Sun Microsystems, Inc. Multi-processor system bridge
US5991900A (en) * 1998-06-15 1999-11-23 Sun Microsystems, Inc. Bus controller
US6625749B1 (en) * 1999-12-21 2003-09-23 Intel Corporation Firmware mechanism for correcting soft errors
GB2366012B (en) * 2000-08-14 2002-08-14 Sun Microsystems Inc A computer system
GB2369690B (en) * 2000-11-29 2002-10-16 Sun Microsystems Inc Enhanced protection for memory modification tracking
EP1246033A1 (de) * 2001-08-23 2002-10-02 Siemens Aktiengesellschaft Verfahren zur Überwachung konsistenter Speicherinhalte in redundanten Systemen
GB2399917B (en) * 2002-03-19 2005-01-19 Sun Microsystems Inc Computer system
JP2004046599A (ja) * 2002-07-12 2004-02-12 Nec Corp フォルトトレラントコンピュータ装置、その再同期化方法及び再同期化プログラム
JP3982353B2 (ja) * 2002-07-12 2007-09-26 日本電気株式会社 フォルトトレラントコンピュータ装置、その再同期化方法及び再同期化プログラム
US8051323B2 (en) * 2010-01-21 2011-11-01 Arm Limited Auxiliary circuit structure in a split-lock dual processor system
US8108730B2 (en) * 2010-01-21 2012-01-31 Arm Limited Debugging a multiprocessor system that switches between a locked mode and a split mode
US20110179255A1 (en) * 2010-01-21 2011-07-21 Arm Limited Data processing reset operations
JP6312550B2 (ja) * 2014-08-01 2018-04-18 ルネサスエレクトロニクス株式会社 半導体装置

Also Published As

Publication number Publication date
CN109815036A (zh) 2019-05-28
US10915393B2 (en) 2021-02-09
EP3486781B1 (en) 2022-02-16
US20190155680A1 (en) 2019-05-23
JP2019095893A (ja) 2019-06-20
KR20190058310A (ko) 2019-05-29
EP3486781A1 (en) 2019-05-22

Similar Documents

Publication Publication Date Title
JP6853162B2 (ja) 半導体装置
JP6496562B2 (ja) 半導体装置、診断テスト方法及び診断テスト回路
US11119874B2 (en) Memory fault detection
US10365979B2 (en) Lockstepped CPU selection based on failure status
JP5541368B2 (ja) アクセス方法、およびマルチコアプロセッサシステム
KR20170120559A (ko) 워치독 타이머
CN112015599A (zh) 错误恢复的方法和装置
US10360115B2 (en) Monitoring device, fault-tolerant system, and control method
JP6341795B2 (ja) マイクロコンピュータ及びマイクロコンピュータシステム
US20240054085A1 (en) Method for controlling a target memory by programmably selecting an action execution circuit module corresponding to a triggered preset state
US20140181496A1 (en) Method, Apparatus and Processor for Reading Bios
KR102030461B1 (ko) 복수의 프로세서 오류 감지 시스템 및 그 방법
CN115576734A (zh) 一种多核异构日志存储方法和系统
TWI772024B (zh) 減少停機時間的方法及系統
US9176806B2 (en) Computer and memory inspection method
JP6654662B2 (ja) サーバ装置およびサーバシステム
US20160321149A1 (en) Computer apparatus and computer mechanism
JP7120957B2 (ja) 半導体装置
JPWO2014112039A1 (ja) 情報処理装置、情報処理装置制御方法及び情報処理装置制御プログラム
TWI781452B (zh) 監控及復原異質性元件的系統及方法
JP2019020869A (ja) 車両制御装置
JP2015135599A (ja) バス制御回路、情報処理装置および共通バス衝突回避方法
JP2006276947A (ja) 電源制御装置および電源制御方法
JP6710128B2 (ja) 通信装置及び通信装置の復旧方法
JP2015141589A (ja) サーバ装置、サーバシステムおよび障害対策方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200313

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210224

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210311

R150 Certificate of patent or registration of utility model

Ref document number: 6853162

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150