(57)【要約】【課題】故障発生時に、適正な故障処理動作を行う。【解決手段】ＣＰＵ１１０は、３個の第１ＶＣＰＵ１２、２２、３２上にそれぞれ配設され、３個の第１ＶＣＰＵ１２、２２、３２上でそれぞれ動作する第１ソフトウェア１１、２１、３１が故障を検出した場合の処理を規定する第１故障レベル情報を予め格納する３個の第１レジスタ１３、２３、３３と、第１ソフトウェア１１、２１、３１が故障を検出した場合に、故障を検出した第１ソフトウェアに対応する第１故障レベル情報を第１レジスタ１３、２３、３３から読み出し、故障処理動作を規定する故障レベルとして設定する故障レベル設定部４５１と、設定された故障レベルに対応する故障処理動作を実行する処理実行部４５３と、を備える。【選択図】図１
2011008702.tif 000002
【特許請求の範囲】
【請求項１】
１個の物理プロセッサ上に搭載された２個以上の第１個数の第１仮想プロセッサにおいて、それぞれ動作する前記第１個数の第１ソフトウェアのいずれかが故障を検出した場合に、故障が発生した第１ソフトウェアが動作する第１仮想プロセッサに対応する処理を行う、前記１個の物理プロセッサ上に搭載された故障処理装置であって、
前記第１個数の仮想プロセッサ上にそれぞれ配設され、前記第１個数の仮想プロセッサ上でそれぞれ動作する第１ソフトウェアが故障を検出した場合の処理を規定する第１故障レベル情報を予め格納する前記第１個数の第１記憶手段と、
前記第１ソフトウェアが故障を検出した場合に、故障を検出した第１ソフトウェアに対応する第１故障レベル情報を前記第１記憶手段から読み出し、故障処理動作を規定する故障レベルとして設定する故障レベル設定手段と、
前記故障レベル設定手段によって設定された故障レベルに対応する故障処理動作を実行する処理実行手段と、を備える、故障処理装置。
【請求項２】
前記第１個数の第１仮想プロセッサは、それぞれ、前記１個の物理プロセッサ上に機能統合された、前記第１個数の物理プロセッサの機能を模擬するプロセッサである、請求項１に記載の故障処理装置。
【請求項３】
前記１個の物理プロセッサ、及び、前記第１個数の物理プロセッサは、それぞれ、車両に搭載されたＥＣＵ（Electronic Control Unit）である、請求項２に記載の故障処理装置。
【請求項４】
前記故障レベル設定手段、及び、前記処理実行手段は、前記１個の物理プロセッサ上に搭載された第２仮想プロセッサの一部として構成されている、請求項１に記載の故障処理装置。
【請求項５】
前記第１記憶手段は、レジスタから構成されている、請求項１に記載の故障処理装置。
【請求項６】
前記第２仮想プロセッサは、該第２仮想プロセッサ上で動作する第２ソフトウェアが故障を検出した場合の処理を規定する第２故障レベル情報を予め格納する第２記憶手段を備え、
前記故障レベル設定手段は、前記第２ソフトウェアが故障を検出した場合に、前記第２記憶手段に格納された第２故障レベルに基づいて、故障処理動作を規定する故障レベルを設定し、
前記処理実行手段は、前記故障レベル設定手段によって設定された故障レベルに対応する故障処理動作を実行する、請求項４に記載の故障処理装置。
【請求項７】
前記故障レベル設定手段は、前記第１記憶手段から読み出された第１故障レベルが、前記第２記憶手段に格納された第２故障レベルと一致するか否かを判定する比較回路を備え、
前記処理実行手段は、前記比較回路において第２故障レベルと一致すると判定された場合に、前記第２ソフトウェアに規定された故障処理動作を実行する、請求項６に記載の故障処理装置。
【請求項８】
前記第２記憶手段は、レジスタから構成されている、請求項６に記載の故障処理装置。
【請求項９】
前記故障レベル情報は、故障が発生した第１ソフトウェアを、前記第１個数の第１仮想プロセッサの内、故障が発生していない第１仮想プロセッサ上で動作させる故障処理動作である第１故障処理動作に対応する第１の特定故障レベル情報を含む、請求項１に記載の故障処理装置。
【請求項１０】
前記故障レベル設定手段によって設定された故障レベルが、前記第１の特定故障レベルである場合に、前記第１個数の第１仮想プロセッサの中から、前記第１故障処理動作を実行させる故障が発生していない１個の第１仮想プロセッサである代替仮想プロセッサを選定する選定手段を備え、
前記処理実行手段は、前記選定手段によって選定された代替仮想プロセッサ上で、故障が発生した第１ソフトウェアを動作させる、請求項９に記載の故障処理装置。
【請求項１１】
前記選定手段は、前記第１個数の第１仮想プロセッサの中から、各第１仮想プロセッサの負荷率に基づいて、前記代替仮想プロセッサを選定する、請求項１０に記載の故障処理装置。
【請求項１２】
前記選定手段は、前記第１個数の第１仮想プロセッサの中から、各第１仮想プロセッサの第１記憶手段に格納された第１故障レベルに基づいて、前記代替仮想プロセッサを選定する、請求項１０に記載の故障処理装置。
【請求項１３】
前記処理実行手段は、前記選定手段によって選定された代替仮想プロセッサ上で、故障が発生した第１ソフトウェアの内、予め設定された一部の機能を動作させる、請求項１０に記載の故障処理装置。
【請求項１４】
前記処理実行手段は、前記選定手段によって選定された代替仮想プロセッサ上で、故障が発生した第１ソフトウェアの内、必要最低限の機能を動作させる、請求項１０に記載の故障処理装置。
【請求項１５】
前記故障レベル情報は、故障が発生した第１ソフトウェアに対応する第１仮想プロセッサのリセットを、予め設定された所定回数迄繰り返し実行し、故障が解消しない場合には、該第１ソフトウェアの実行を停止する故障処理動作である第２故障処理動作に対応する第２の特定故障レベル情報を含む、請求項１に記載の故障処理装置。
【請求項１６】
前記第１個数の第１記憶手段にそれぞれ格納された前記第１個数の第１故障レベル情報のいずれかに対応する第３故障レベル情報を、予め格納する第３記憶手段を備え、
前記故障レベル設定手段は、前記第１ソフトウェアが故障を検出した場合に、故障を検出した第１ソフトウェアに対応する第１故障レベル情報を前記第１記憶手段から読み出すと共に第３故障レベル情報を前記第３記憶手段から読み出し、読み出された第１故障レベル情及び第３故障レベル情報に基づいて、故障処理動作を規定する故障レベルを設定する、請求項１に記載の故障処理装置。
【請求項１７】
前記故障レベル設定手段は、前記第１故障レベル情及び前記第３故障レベル情報の内、要求レベルの高い方の故障レベルを、故障処理動作を規定する故障レベルとして設定する、請求項１６に記載の故障処理装置。
【請求項１８】
前記第３記憶手段は、レジスタから構成されている、請求項１６に記載の故障処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば、１個の物理プロセッサ上に搭載された２個以上の第１個数の第１仮想プロセッサにおいて、それぞれ動作する前記第１個数の第１ソフトウェアのいずれかが故障を検出した場合に、故障が発生した第１ソフトウェアが動作する第１仮想プロセッサに対応する処理を行う、前記１個の物理プロセッサ上に搭載された故障処理装置に関する。特に、車両に搭載される故障処理装置に関する。更に特定的には、車両に搭載されるＥＣＵ（Electronic Control Unit）を機能統合する場合に配設される故障処理装置に関する。
【背景技術】
【０００２】
従来、車両に搭載された種々の機器は、ＥＣＵによって制御されている。また、近年、車両に搭載される各種機器における制御の高度化、複雑化に伴い、車両に搭載されるＥＣＵの個数が増大しており、ＥＣＵを機能統合して、その個数を削減することが提案されている（例えば、特許文献１参照）。
【０００３】
特許文献１には、自動車に搭載される複数の機器をそれぞれ制御する複数の電子制御ユニット（ＥＣＵに相当する）を統合した統合電子制御装置が記載されており、当該統合電子制御装置は、以下の構成を備えている。すなわち、上記統合電子制御装置は、複数の電子制御ユニットの演算処理部を統合して設けた基板と、複数の電子制御ユニットの入出力部と駆動回路とを統合して設けた入出力ユニットとを備え、基板の演算処理部と、入出力ユニットの入出力部及び駆動回路とは、基板又は入出力ユニットのいずれか一方に設けたシフト記憶手段と、該シフト記憶手段に接続した専用回路とを介して接続し、基板と入出力ユニットとは専用回線を構成する配線を介して接続している。
【０００４】
上記統合電子制御装置によれば、演算処理部を設けた基板と入出力ユニットとを多重通信で接続して信号の送受信を行うのではなく、シフト記憶手段及び専用回路を介して信号の送受信を行っているため、演算処理部を設けた基板及び入出力ユニットに多重通信用の部品を設ける必要がなく、基板及び入出力ユニットを小型化できる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００８−２９６８７１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１に記載の統合電子制御装置では、機能統合前の複数のＥＣＵにそれぞれ予め設定されていた故障レベルを保ちながら動作することは困難である。すなわち、ＥＣＵには、それぞれ、故障レベルが設定されており、設定された故障レベルに応じた設計が行われている。従って、複数のＥＣＵを１個のＥＣＵに機能統合する場合に、故障発生時に、統合された１個のＥＣＵの故障レベルで動作することは適切ではないのである。
【０００７】
例えば、故障に対して強いことが要求されるブレーキ等を制御するＥＣＵでは、故障が発生した場合であっても、最低限の動作が可能なＥＣＵとして設計されている。これに対して、故障に対する強さの要求が比較的緩やかなパワーシート等を制御するＥＣＵでは、故障が発生した場合に、インパネ等にアラームを表示してその動作を停止する等の処理がなされる。
【０００８】
本発明は、上記事情に鑑みてなされたものであって、故障発生時に、適正な故障処理動作を行うことの可能な故障処理装置を提供することにある。
【課題を解決するための手段】
【０００９】
上記目的を達成するために、本発明は、以下の特徴を有している。第１の発明は、１個の物理プロセッサ上に搭載された２個以上の第１個数の第１仮想プロセッサにおいて、それぞれ動作する前記第１個数の第１ソフトウェアのいずれかが故障を検出した場合に、故障が発生した第１ソフトウェアが動作する第１仮想プロセッサに対応する処理を行う、前記１個の物理プロセッサ上に搭載された故障処理装置であって、前記第１個数の仮想プロセッサ上にそれぞれ配設され、前記第１個数の仮想プロセッサ上でそれぞれ動作する第１ソフトウェアが故障を検出した場合の処理を規定する第１故障レベル情報を予め格納する前記第１個数の第１記憶手段と、前記第１ソフトウェアが故障を検出した場合に、故障を検出した第１ソフトウェアに対応する第１故障レベル情報を前記第１記憶手段から読み出し、故障処理動作を規定する故障レベルとして設定する故障レベル設定手段と、前記故障レベル設定手段によって設定された故障レベルに対応する故障処理動作を実行する処理実行手段と、を備える。
【００１０】
第２の発明は、上記第１の発明において、前記第１個数の第１仮想プロセッサが、それぞれ、前記１個の物理プロセッサ上に機能統合された、前記第１個数の物理プロセッサの機能を模擬するプロセッサである。
【００１１】
第３の発明は、上記第２の発明において、前記１個の物理プロセッサ、及び、前記第１個数の物理プロセッサが、それぞれ、車両に搭載されたＥＣＵ（Electronic Control Unit）である。
【００１２】
第４の発明は、上記第１の発明において、前記故障レベル設定手段、及び、前記処理実行手段が、前記１個の物理プロセッサ上に搭載された第２仮想プロセッサの一部として構成されている。
【００１３】
第５の発明は、上記第１の発明において、前記第１記憶手段が、レジスタから構成されている。
【００１４】
第６の発明は、上記第４の発明において、前記第２仮想プロセッサが、該第２仮想プロセッサ上で動作する第２ソフトウェアが故障を検出した場合の処理を規定する第２故障レベル情報を予め格納する第２記憶手段を備え、前記故障レベル設定手段が、前記第２ソフトウェアが故障を検出した場合に、前記第２記憶手段に格納された第２故障レベルに基づいて、故障処理動作を規定する故障レベルを設定し、前記処理実行手段が、前記故障レベル設定手段によって設定された故障レベルに対応する故障処理動作を実行する。
【００１５】
第７の発明は、上記第６の発明において、前記故障レベル設定手段が、前記第１記憶手段から読み出された第１故障レベルが、前記第２記憶手段に格納された第２故障レベルと一致するか否かを判定する比較回路を備え、前記処理実行手段が、前記比較回路において第２故障レベルと一致すると判定された場合に、前記第２ソフトウェアに規定された故障処理動作を実行する。
【００１６】
第８の発明は、上記第６の発明において、前記第２記憶手段が、レジスタから構成されている。
【００１７】
第９の発明は、上記第１の発明において、前記故障レベル情報が、故障が発生した第１ソフトウェアを、前記第１個数の第１仮想プロセッサの内、故障が発生していない第１仮想プロセッサ上で動作させる故障処理動作である第１故障処理動作に対応する第１の特定故障レベル情報を含む。
【００１８】
第１０の発明は、上記第９の発明において、前記故障レベル設定手段によって設定された故障レベルが、前記第１の特定故障レベルである場合に、前記第１個数の第１仮想プロセッサの中から、前記第１故障処理動作を実行させる故障が発生していない１個の第１仮想プロセッサである代替仮想プロセッサを選定する選定手段を備え、前記処理実行手段が、前記選定手段によって選定された代替仮想プロセッサ上で、故障が発生した第１ソフトウェアを動作させる。
【００１９】
第１１の発明は、上記第１０の発明において、前記選定手段が、前記第１個数の第１仮想プロセッサの中から、各第１仮想プロセッサの負荷率に基づいて、前記代替仮想プロセッサを選定する。
【００２０】
第１２の発明は、上記第１０の発明において、前記選定手段が、前記第１個数の第１仮想プロセッサの中から、各第１仮想プロセッサの第１記憶手段に格納された第１故障レベルに基づいて、前記代替仮想プロセッサを選定する。
【００２１】
第１３の発明は、上記第１０の発明において、前記処理実行手段が、前記選定手段によって選定された代替仮想プロセッサ上で、故障が発生した第１ソフトウェアの内、予め設定された一部の機能を動作させる。
【００２２】
第１４の発明は、上記第１０の発明において、前記処理実行手段が、前記選定手段によって選定された代替仮想プロセッサ上で、故障が発生した第１ソフトウェアの内、必要最低限の機能を動作させる。
【００２３】
第１５の発明は、上記第１の発明において、前記故障レベル情報が、故障が発生した第１ソフトウェアに対応する第１仮想プロセッサのリセットを、予め設定された所定回数迄繰り返し実行し、故障が解消しない場合には、該第１ソフトウェアの実行を停止する故障処理動作である第２故障処理動作に対応する第２の特定故障レベル情報を含む。
【００２４】
第１６の発明は、上記第１の発明において、前記第１個数の第１記憶手段にそれぞれ格納された前記第１個数の第１故障レベル情報のいずれかに対応する第３故障レベル情報を、予め格納する第３記憶手段を備え、前記故障レベル設定手段が、前記第１ソフトウェアが故障を検出した場合に、故障を検出した第１ソフトウェアに対応する第１故障レベル情報を前記第１記憶手段から読み出すと共に第３故障レベル情報を前記第３記憶手段から読み出し、読み出された第１故障レベル情及び第３故障レベル情報に基づいて、故障処理動作を規定する故障レベルを設定する。
【００２５】
第１７の発明は、上記第１６の発明において、前記故障レベル設定手段が、前記第１故障レベル情及び前記第３故障レベル情報の内、要求レベルの高い方の故障レベルを、故障処理動作を規定する故障レベルとして設定する。
【００２６】
第１８の発明は、上記第１６の発明において、前記第３記憶手段は、レジスタから構成されている。
【発明の効果】
【００２７】
上記第１の発明によれば、１個の物理プロセッサ上に搭載された２個以上の第１個数の仮想プロセッサ上にそれぞれ配設され、前記第１個数の仮想プロセッサ上でそれぞれ動作する第１ソフトウェアが故障を検出した場合の処理を規定する第１故障レベル情報が、前記第１個数の第１記憶手段に予め格納されている。また、前記第１ソフトウェアが故障を検出した場合に、故障レベル設定手段によって、故障を検出した第１ソフトウェアに対応する第１故障レベル情報が前記第１記憶手段から読み出され、故障処理動作を規定する故障レベルとして設定される。そして、処理実行手段によって、設定された故障レベルに対応する故障処理動作が実行される。従って、故障発生時に、適正な故障処理動作を行うことができる。
【００２８】
すなわち、故障を検出した第１ソフトウェアに対応する第１故障レベル情報が前記第１記憶手段から読み出され、故障処理動作を規定する故障レベルとして設定され、設定された故障レベルに対応する故障処理動作が実行されるため、前記第１個数の第１記憶手段に適正な故障レベル情報を格納することによって、適正な故障処理動作を行うことができるのである。
【００２９】
上記第２の発明によれば、前記第１個数の第１仮想プロセッサが、それぞれ、前記１個の物理プロセッサ上に機能統合された、前記第１個数の物理プロセッサの機能を模擬するプロセッサである。従って、前記第１個数の物理プロセッサを前記１個の物理プロセッサ上に機能統合した場合に、適正な故障処理動作を行うことができる。
【００３０】
すなわち、例えば、前記第１個数の第１記憶手段に、前記前記第１個数の物理プロセッサに設定されていた故障レベル情報を、それぞれ格納することによって、適正な故障処理動作を行うことができるのである。
【００３１】
上記第３の発明によれば、前記１個の物理プロセッサ、及び、前記第１個数の物理プロセッサが、それぞれ、車両に搭載されたＥＣＵである。従って、前記第１個数のＥＣＵを前記１個のＥＣＵ上に機能統合した場合に、適正な故障処理動作を行うことができる。
【００３２】
すなわち、例えば、前記第１個数の第１記憶手段に、前記前記第１個数のＥＣＵに設定されていた故障レベル情報を、それぞれ格納することによって、適正な故障処理動作を行うことができるのである。
【００３３】
上記第４の発明によれば、前記故障レベル設定手段、及び、前記処理実行手段が、前記１個の物理プロセッサ上に搭載された第２仮想プロセッサの一部として構成されている。従って、簡素な構成で、適正な故障処理動作を行うことができる。
【００３４】
上記第５の発明によれば、前記第１記憶手段が、レジスタから構成されている。従って、簡素な構成で、故障処理動作を迅速に行うことができる。
【００３５】
上記第６の発明によれば、前記第２仮想プロセッサの第２記憶手段に、該第２仮想プロセッサ上で動作する第２ソフトウェアが故障を検出した場合の処理を規定する第２故障レベル情報が予め格納されている。そして、前記第２ソフトウェアが故障を検出した場合に、前記第２記憶手段に格納された第２故障レベルに基づいて、故障処理動作を規定する故障レベルが設定される。更に、設定された故障レベルに対応する故障処理動作が実行される。従って、前記第２ソフトウェアが故障を検出した場合にも、適正な故障処理動作を行うことができる。
【００３６】
すなわち、前記第２ソフトウェアが故障を検出した場合に、前記第２記憶手段に格納された第２故障レベルに基づいて故障処理動作が実行されるため、前記第２故障レベルとして適正な故障レベルを設定することによって、前記第２ソフトウェアが故障を検出した場合にも、適正な故障処理動作を行うことができるのである。
【００３７】
上記第７の発明によれば、比較回路において、前記第１記憶手段から読み出された第１故障レベルが、前記第２記憶手段に格納された第２故障レベルと一致するか否かが判定される。そして、該比較回路において第２故障レベルと一致すると判定された場合に、前記第２ソフトウェアに規定された故障処理動作が実行される。従って、故障発生時に、適正な故障処理動作を迅速に行うことができる。
【００３８】
上記第８の発明によれば、前記第２記憶手段が、レジスタから構成されている。従って、簡素な構成で、故障処理動作を迅速に行うことができる。
【００３９】
上記第９の発明によれば、前記故障レベル情報が、故障が発生した第１ソフトウェアを、前記第１個数の第１仮想プロセッサの内、故障が発生していない第１仮想プロセッサ上で動作させる故障処理動作である第１故障処理動作に対応する第１の特定故障レベル情報を含む。従って、前記第１仮想プロセッサに対して、故障に対して強いことが要求される場合に、適切な故障処理動作を行うことができる。
【００４０】
すなわち、故障に対して強いことが要求され、前記第１の特定故障レベルが設定されている前記第１仮想プロセッサにおいて、故障が検出された場合に、故障が発生した第１ソフトウェアが、故障が発生していない第１仮想プロセッサ上で動作されるため、適切な故障処理動作を行うことができるのである。
【００４１】
上記第１０の発明によれば、前記故障レベル設定手段によって設定された故障レベルが、前記第１の特定故障レベルである場合に、前記第１個数の第１仮想プロセッサの中から、前記第１故障処理動作を実行させる故障が発生していない１個の第１仮想プロセッサである代替仮想プロセッサが選定される。そして、選定された代替仮想プロセッサ上で、故障が発生した第１ソフトウェアが動作される。従って、前記第１仮想プロセッサに対して、故障に対して強いことが要求される場合に、更に適切な故障処理動作を行うことができる。
【００４２】
すなわち、故障に対して強いことが要求され、前記第１の特定故障レベルが設定されている前記第１仮想プロセッサにおいて、故障が検出された場合に、故障が発生していない１個の第１仮想プロセッサである代替仮想プロセッサが選定され、選定された代替仮想プロセッサ上で、故障が発生した第１ソフトウェアが動作されるため、前記代替仮想プロセッサを適正に選定することによって、更に適切な故障処理動作を行うことができるのである。
【００４３】
上記第１１の発明によれば、前記第１個数の第１仮想プロセッサの中から、各第１仮想プロセッサの負荷率に基づいて、前記代替仮想プロセッサが選定される。従って、前記代替仮想プロセッサを適正に選定することができる。
【００４４】
すなわち、例えば、前記代替仮想プロセッサとして、負荷率の最も低い第１仮想プロセッサを選定することによって、故障が発生した第１ソフトウェアを前記代替仮想プロセッサ上でスムーズに動作させることができるのである。
【００４５】
上記第１２の発明によれば、前記第１個数の第１仮想プロセッサの中から、各第１仮想プロセッサの第１記憶手段に格納された第１故障レベルに基づいて、前記代替仮想プロセッサが選定される。従って、前記代替仮想プロセッサを適正に選定することができる。
【００４６】
すなわち、例えば、前記代替仮想プロセッサとして、故障が発生した第１ソフトウェアと同一の（又は同程度の）第１故障レベルが設定されている第１仮想プロセッサを選定することによって、故障が発生した第１ソフトウェアを前記代替仮想プロセッサ上で適正に動作させることができるのである。
【００４７】
上記第１３の発明によれば、選定された代替仮想プロセッサ上で、故障が発生した第１ソフトウェアの内、予め設定された一部の機能が動作する。従って、前記第１仮想プロセッサに対して、故障に対して強いことが要求される場合に、更に適切な故障処理動作を行うことができる。
【００４８】
すなわち、故障に対して強いことが要求され、前記第１故障レベルが設定されている前記第１仮想プロセッサにおいて、故障が検出された場合に、選定された代替仮想プロセッサ上で、故障が発生した第１ソフトウェアの内、予め設定された一部の機能が動作するため、故障が発生した第１ソフトウェアに対応する処理を実行することに伴う代替仮想プロセッサの負荷の増加を抑制することができるのである。
【００４９】
上記第１４の発明によれば、選定された代替仮想プロセッサ上で、故障が発生した第１ソフトウェアの内、必要最低限の機能が動作する。従って、前記第１仮想プロセッサに対して、故障に対して強いことが要求される場合に、更に適切な故障処理動作を行うことができる。
【００５０】
すなわち、故障に対して強いことが要求され、前記第１故障レベルが設定されている前記第１仮想プロセッサにおいて、故障が検出された場合に、選定された代替仮想プロセッサ上で、故障が発生した第１ソフトウェアの内、必要最低限の機能が動作するため、故障が発生した第１ソフトウェアに対応する処理を実行することに伴う代替仮想プロセッサの負荷の増加を更に抑制することができるのである。
【００５１】
上記第１５の発明によれば、前記故障レベル情報が、故障が発生した第１ソフトウェアに対応する第１仮想プロセッサのリセットを、予め設定された所定回数迄繰り返し実行し、故障が解消しない場合には、該第１ソフトウェアの実行を停止する故障処理動作である第２故障処理動作に対応する第２の特定故障レベル情報を含む。従って、前記第１仮想プロセッサに対して、故障に対する強さの要求が比較的緩やかな場合に、適切な故障処理動作を行うことができる。
【００５２】
すなわち、故障に対する強さの要求が比較的緩やかであり、前記第２の特定故障レベルが設定されている前記第１仮想プロセッサにおいて、故障が検出された場合に、故障が発生したソフトウェアに対応する第１仮想プロセッサのリセットが、予め設定された所定回数迄繰り返し実行され、故障が解消しない場合には、該ソフトウェアの実行が停止されるため、適切な故障処理動作を行うことができるのである。
【００５３】
例えば、前記所定回数が３回である場合には、前記第１仮想プロセッサのリセットが、３回迄繰り返し実行され、その間に、故障が解消された場合には、故障が発生したソフトウェアの実行が再開される。一方、前記第１仮想プロセッサのリセットが３回繰り返し実行されても故障が解消されない場合には、故障が発生したソフトウェアの実行が停止される。従って、故障に対する強さの要求が比較的緩やかな場合に、適切な故障処理動作を行うことができるのである。
【００５４】
上記第１６の発明によれば、前記第１個数の第１記憶手段にそれぞれ格納された前記第１個数の第１故障レベル情報のいずれかに対応する第３故障レベル情報が、第３記憶手段に予め格納されている。そして、前記第１ソフトウェアが故障を検出した場合に、故障を検出した第１ソフトウェアに対応する第１故障レベル情報が前記第１記憶手段から読み出されると共に第３故障レベル情報が前記第３記憶手段から読み出され、読み出された第１故障レベル情報及び第３故障レベル情報に基づいて、故障処理動作を規定する故障レベルが設定される。従って、前記第３故障レベルを適正に設定することによって、前記処理実行手段の処理を簡略化することが可能となる。
【００５５】
上記第１７の発明によれば、前記第１故障レベル情及び前記第３故障レベル情報の内、要求レベルの高い方の故障レベルが、故障処理動作を規定する故障レベルとして設定される。従って、前記第３故障レベルを適正に設定することによって、前記処理実行手段を簡略化することができる。
【００５６】
上記第１８の発明によれば、前記第３記憶手段が、レジスタから構成されている。従って、簡素な構成で、故障処理動作を迅速に行うことができる。
【図面の簡単な説明】
【００５７】
【図１】本発明の第１実施形態に係る故障処理装置の構成の一例を示すブロック図
【図２】故障レベルの一例を示す図表
【図３】第１実施形態に係る故障処理装置の動作の一例を示すフローチャート
【図４】図３に示すフローチャートのステップＳ１０９において実行される第１故障処理の一例を示す詳細フローチャート
【図５】図３に示すフローチャートのステップＳ１１３において実行される第２故障処理の一例を示す詳細フローチャート
【図６】図３に示すフローチャートのステップＳ１１５において実行される第３故障処理の一例を示す詳細フローチャート
【図７】本発明の第２実施形態に係る故障処理装置の構成の一例を示すブロック図
【図８】第２実施形態に係る故障処理装置の動作の一例を示すフローチャート（前半部）
【図９】第２実施形態に係る故障処理装置の動作の一例を示すフローチャート（後半部）
【図１０】機能統合前の状態の一例を示すブロック図
【発明を実施するための形態】
【００５８】
以下、図面を参照して本発明に係る故障処理装置の実施形態について説明する。以下に示す実施形態（第１実施形態、第２実施形態）では、本発明に係る故障処理装置が、車両に搭載されている場合について説明する。また、本発明に係る故障処理装置は、車両に搭載された第１個数（ここでは、３個）のＥＣＵ（Electronic Control Unit）（物理プロセッサに相当する）を、１個のＥＣＵ上に機能統合した場合について説明する。
【００５９】
すなわち、機能統合前には、前記第１個数の第１ソフトウェアが、それぞれ、前記第１個数のＥＣＵ上で動作している。図１０は、機能統合前の状態の一例を示すブロック図である。図１０に示すように、機能統合前は、第１ソフトウェア１０１が、ＥＣＵ１０に搭載されたＣＰＵ１０２上で実行されている。また、第１ソフトウェア２０１が、ＥＣＵ２０に搭載されたＣＰＵ２０２上で実行されている。更に、第１ソフトウェア３０１が、ＥＣＵ３０に搭載されたＣＰＵ３０２上で実行されている。
【００６０】
そして、機能統合後は、例えば、図１に示すように、１個のＥＣＵ１００において、前記第１個数（ここでは、３個）の第１ソフトウェア１１、２１、３１が、それぞれ、前記第１個数（ここでは、３個）のＣＰＵ（図１０に示すＣＰＵ１０２、２０２、３０２）にそれぞれ対応する前記第１個数の第１ＶＣＰＵ（仮想ＣＰＵ：Virtual Central Processing Unit）上で実行される。本発明に係る故障処理装置は、例えば、図１に示すように、前記第１個数の第１ＶＣＰＵ１２、２２、３２において、それぞれ動作する前記第１個数の第１ソフトウェア１１、２１、３１のいずれかが故障を検出した場合に、故障が発生した第１ソフトウェア１１、２１、３１が動作する第１ＶＣＰＵ１２、２２、３２に対応する故障処理を行うものである。
【００６１】
＜第１実施形態＞
図１は、本発明の第１実施形態に係る故障処理装置の構成の一例を示すブロック図である。図１に示すように、ＥＣＵ１００は、ＣＰＵ１１０を備えている。また、ＣＰＵ（Central Processing Unit）１１０（故障処理装置に相当する）は、第１ＶＣＰＵ１２、２２、３２、及び、第２ＶＣＰＵ４２を備えている。更に、第１ＶＣＰＵ１２、２２、３２は、それぞれ、第１レジスタ１３、２３、３３を備えている。
【００６２】
第１ＶＣＰＵ１２は、ＣＰＵ１１０上に仮想的に搭載され、第１ソフトウェア１１を実行する仮想ＣＰＵである。換言すれば、第１ソフトウェア１１及び第１ＶＣＰＵ１２は、図１０に示すＥＣＵ１０の機能を仮想的に実現する仮想ＥＣＵ１である。ここでは、第１ソフトウェア１１の第１故障レベルは、例えば、「５」に設定されている。第１レジスタ１３（第１記憶手段に相当する）は、第１ソフトウェア１１が故障を検出した場合の処理を規定する第１故障レベル情報として、第１故障レベルが「５」であることを示す情報（図２参照）を予め格納するレジスタである。
【００６３】
第１ＶＣＰＵ２２は、ＣＰＵ１１０上に仮想的に搭載され、第１ソフトウェア２１を実行する仮想ＣＰＵである。換言すれば、第１ソフトウェア２１及び第１ＶＣＰＵ２２は、図１０に示すＥＣＵ２０の機能を仮想的に実現する仮想ＥＣＵ２である。ここでは、第１ソフトウェア２１の第１故障レベルは、例えば、「３」に設定されている。第１レジスタ２３（第１記憶手段に相当する）は、第１ソフトウェア２１が故障を検出した場合の処理を規定する第１故障レベル情報として、第１故障レベルが「３」であることを示す情報（図２参照）を予め格納するレジスタである。
【００６４】
第１ＶＣＰＵ３２は、ＣＰＵ１１０上に仮想的に搭載され、第１ソフトウェア３１を実行する仮想ＣＰＵである。換言すれば、第１ソフトウェア３１及び第１ＶＣＰＵ３２は、図１０に示すＥＣＵ３０の機能を仮想的に実現する仮想ＥＣＵ３である。ここでは、第１ソフトウェア３１の第１故障レベルは、例えば、「１」に設定されている。第１レジスタ３３（第１記憶手段に相当する）は、第１ソフトウェア３１が故障を検出した場合の処理を規定する第１故障レベル情報として、第１故障レベルが「１」であることを示す情報（図２参照）を予め格納するレジスタである。
【００６５】
図２は、故障レベルの一例を示す図表である。ここでは、故障レベルが、故障レベル５、故障レベル３、故障レベル１を含む場合について説明する。故障レベル５、故障レベル３、故障レベル１は、この順に故障に対する強さの要求が高い故障レベルである。なお、ここでは、図１に示すように、第１ソフトウェア１１、２１、３１がそれぞれ、故障レベル５、故障レベル３、故障レベル１に設定されている場合について説明する。
【００６６】
故障レベル５（第１の特定故障レベルに相当する）は、故障に対して非常に強いことが要求されるブレーキ等を制御するＥＣＵ１０（図１０参照）において設定される故障レベルであって、故障が発生した第１ソフトウェア１１の必要最低限の機能を、第１個数（ここでは、３個）の第１ＶＣＰＵ１２、２２、３２の内、故障が発生していない第１ＶＣＰＵ２２（又は、第１ＶＣＰＵ３２）上で実行させる旨の故障処理動作（以下、第１故障処理動作という）が規定された故障レベルである。
【００６７】
故障レベル３（第２の特定故障レベルの一例に相当する）は、故障に対して中程度に強いことが要求されるＥＣＵ２０（図１０参照）において設定される故障レベルであって、故障が発生した第１ソフトウェア２１に対応する第１ＶＣＰＵ２２のリセットを、予め設定された所定回数（ここでは、３回）迄繰り返し実行し、故障が解消しない場合には、該第１ソフトウェア２１の実行を停止する旨の故障処理動作（以下、第２故障処理動作という）が規定された故障レベルである。
【００６８】
故障レベル１（第２の特定故障レベルの一例に相当する）は、故障に対する要求が比較的緩やかなパワーシート等を制御するＥＣＵ３０（図１０参照）において設定される故障レベルであって、故障が発生した第１ソフトウェア３１に対応する第１ＶＣＰＵ３２のリセットを、１回だけ実行し、故障が解消しない場合には、該第１ソフトウェア３１の実行を停止する旨の故障処理動作（以下、第２故障処理動作という）が規定された故障レベルである。
【００６９】
再び、図１に戻って、ＣＰＵ１１０の構成について説明する。第２ＶＣＰＵ４２は、ＣＰＵ１１０上に仮想的に搭載され、第２ソフトウェア４１を実行する仮想ＣＰＵである。また、第２ＶＣＰＵ４２は、第２レジスタ４３、比較回路４４，及び、故障制御回路４５を備えている。ここでは、第２ソフトウェア４１の第２故障レベルは、例えば、「３」に設定されている。第２レジスタ４３（第２記憶手段に相当する）は、第２ソフトウェア４１が故障を検出した場合の処理を規定する第２故障レベル情報として、第２故障レベルが「３」であることを示す情報（図２参照）を予め格納するレジスタである。
【００７０】
第２ソフトウェア４１（故障レベル設定手段の一部、処理実行手段の一部に相当する）は、第１ソフトウェア１１、２１、３１、又は、該第２ソフトウェア４１において、故障が検出された場合に、比較回路４４、故障制御回路４５を介して、故障に対応する処理を実行するものである。
【００７１】
比較回路４４（故障レベル設定手段の一部に相当する）は、第１ソフトウェア１１、２１、３１のいずれかが故障を検出した場合に、対応する第１レジスタ１３、２３、３３から第１故障レベルを読み出すと共に、第２レジスタ４３から第２故障レベルを読み出す回路である。そして、比較回路４４は、第１レジスタ１３、２３、３３から読み出された第１故障レベルが、第２レジスタ４３に格納された第２故障レベルと一致するか否かを判定する。
【００７２】
故障制御回路４５（故障レベル設定手段の一部、処理実行手段の一部に相当する）は、比較回路４４の判定結果に基づいて、故障処理動作を規定する故障レベルを設定すると共に、設定された故障レベルに対応する故障処理動作を実行する回路である。また、故障制御回路４５は、故障レベル設定部４５１、選定部４５２、及び、処理実行部４５３を備えている。
【００７３】
故障レベル設定部４５１（故障レベル設定手段の一部に相当する）は、第１レジスタ１３、２３、３３から読み出された第１故障レベル、第２レジスタ４３から読み出された第２故障レベルに基づいて、故障処理動作を規定する故障レベルを設定する回路である。
【００７４】
具体的には、比較回路４４において、第１レジスタ１３、２３、３３から読み出された第１故障レベルが、第２レジスタ４３に格納された第２故障レベルと一致すると判定された場合に、故障レベル設定部４５１は、故障処理動作を規定する故障レベルとして、第２故障レベル（ここでは、故障レベル３）を設定する。ここでは、第１レジスタ２３に格納された第１故障レベルは、故障レベル３であるため、比較回路４４において、第２故障レベルと一致すると判定され、故障処理動作を規定する故障レベルとして、故障レベル３が設定される。
【００７５】
また、比較回路４４において、第１レジスタ１３、２３、３３から読み出された第１故障レベルが、第２レジスタ４３に格納された第２故障レベルと一致しないと判定された場合に、故障レベル設定部４５１は、故障処理動作を規定する故障レベルとして、第１レジスタ１３、２３、３３から読み出された第１故障レベルを設定する。ここでは、第１レジスタ１３に格納された第１故障レベルは、故障レベル５であるため、比較回路４４において、第２故障レベルと一致しないと判定され、故障処理動作を規定する故障レベルとして、故障レベル５が設定される。また、第１レジスタ３３に格納された第１故障レベルは、故障レベル１であるため、比較回路４４において、第２故障レベルと一致しないと判定され、故障処理動作を規定する故障レベルとして、故障レベル１が設定される。
【００７６】
選定部４５２（処理実行手段の一部に相当する）は、故障レベル設定部４５１によって設定された故障レベルが、第１故障レベル（＝故障レベル５）である場合に、前記第１個数（ここでは、３個）の第１ＶＣＰＵ１２、２２、３２の中から、前記第１故障処理動作（＝故障レベル５に対応する故障処理動作）を実行させる故障が発生していない１個の第１ＶＣＰＵである代替仮想プロセッサを選定する回路である。
【００７７】
具体的には、ここでは、選定部４５２は、故障が発生していない第１ＶＣＰＵ２２、２３の負荷率に基づいて、前記代替仮想プロセッサを選定する。例えば、選定部４５２は、故障が発生していない第１ＶＣＰＵ２２、２３の内、負荷率の最も低いものを、前記代替仮想プロセッサとして選定する。なお、負荷率は、図１０に示す３個のＥＣＵ１０、２０、３０を、本発明に係る１個のＥＣＵ１００に機能統合する際に、予め推定される負荷率であっても良いし、機能統合後の実績の負荷率であっても良い。
【００７８】
処理実行部４５３（処理実行手段の一部に相当する）は、故障レベル設定部４５１によって設定された故障レベルに対応する故障処理動作を実行する回路である。具体的には、故障レベル設定部４５１によって故障レベル５に設定された場合には、処理実行部４５３は、選定部４５２によって選定された代替仮想プロセッサ（例えば、第１ＶＣＰＵ２２）に、故障が発生した第１ソフトウェア１１の必要最低限の機能を実行させる。
【００７９】
また、故障レベル設定部４５１によって故障レベル３に設定された場合には、処理実行部４５３は、故障が発生した第１ソフトウェア２１（又は、第２ソフトウェア４１）に対応する第１ＶＣＰＵ２２（又は、第２ＶＣＰＵ４２）のリセットを、予め設定された所定回数（ここでは、３回）迄繰り返し実行し、故障が解消しない場合には、第１ＶＣＰＵ２２（又は、第２ＶＣＰＵ４２）に対して、第１ソフトウェア２１（又は、第２ソフトウェア４１）の実行を停止させる。
【００８０】
更に、故障レベル設定部４５１によって故障レベル１に設定された場合には、処理実行部４５３は、故障が発生した第１ソフトウェア３１に対応する第１ＶＣＰＵ３２のリセットを、１回だけ実行し、故障が解消しない場合には、第１ＶＣＰＵ２２に対して、第１ソフトウェア３１の実行を停止させる。
【００８１】
このようにして、故障に対して強いことが要求され、故障レベル５が設定されている第１ＶＣＰＵ１２において、故障が検出された場合に、故障が発生した第１ソフトウェア１１が、故障が発生していない第１ＶＣＰＵ２２（又は、第１ＶＣＰＵ３２）上で動作されるため、適切な故障処理動作を行うことができる。
【００８２】
また、故障に対して強いことが要求され、故障レベル５が設定されている第１ＶＣＰＵ１２において、故障が検出された場合に、故障が発生していない１個の第１ＶＣＰＵである代替仮想プロセッサ（例えば、第１ＶＣＰＵ２２）が選定され、選定された代替仮想プロセッサ上で、故障が発生した第１ソフトウェア１１が動作されるため、前記代替仮想プロセッサを適正に選定することによって、更に適切な故障処理動作を行うことができる。
【００８３】
第１実施形態では、故障レベル設定部４５１によって故障レベル５に設定されたときに、処理実行部４５３が、選定部４５２によって選定された代替仮想プロセッサに、故障が発生した第１ソフトウェア１１の機能を実行させる場合について説明するが、処理実行部４５３が、予め設定された代替仮想プロセッサ（例えば、第１ＶＣＰＵ２２）に故障が発生した第１ソフトウェア１１の機能を実行させる形態でも良い。この場合には、処理が簡略化される。
【００８４】
更に、前記代替仮想プロセッサとして、負荷率の最も低い第１ＶＣＰＵ（例えば、第１ＶＣＰＵ２２）を選定することによって、故障が発生した第１ソフトウェア１１を前記代替仮想プロセッサ（ここでは、第１ＶＣＰＵ２２）上でスムーズに動作させることができる。
【００８５】
第１実施形態では、選定部４５２が、負荷率に基づいて前記代替仮想プロセッサを選定する場合について説明するが、選定部４５２が、その他の方法で前記代替仮想プロセッサを選定する形態でも良い。例えば、選定部４５２が、故障が検出されていない第１ＶＣＰＵ２２、３２の第１レジスタ２３、３３に格納された第１故障レベル（ここでは、故障レベル３、故障レベル１）に基づいて、前記代替仮想プロセッサを選定する形態でも良い。具体的には、選定部４５２が、故障に対して高いレベルを要求する第１故障レベルが設定されている第１ＶＣＰＵを選定する形態でも良い。この場合には、故障が発生した第１ソフトウェア１１を前記代替仮想プロセッサ（ここでは、第１ＶＣＰＵ２２）上で適正に動作させることができる。
【００８６】
加えて、故障に対して強いことが要求され、故障レベル５が設定されている第１ＶＣＰＵ１２において、故障が検出された場合に、選定された代替仮想プロセッサ（ここでは、第１ＶＣＰＵ２２）上で、故障が発生した第１ソフトウェア１１の内、必要最低限の機能が動作するため、故障が発生した第１ソフトウェア１１に対応する処理を実行することに伴う代替仮想プロセッサの負荷の増加を抑制することができる。
【００８７】
第１実施形態では、故障レベル５が設定されている第１ＶＣＰＵ１２において、故障が検出されたときに、処理実行部４５３が、代替仮想プロセッサ（ここでは、第１ＶＣＰＵ２２）に、故障が発生した第１ソフトウェア１１の内、必要最低限の機能を実行させる場合について説明するが、処理実行部４５３が、代替仮想プロセッサ（ここでは、第１ＶＣＰＵ２２）に、故障が発生した第１ソフトウェア１１の一部を実行させる形態であれば良い。例えば、処理実行部４５３が、代替仮想プロセッサの負荷率に応じて、代替仮想プロセッサ上で実行させる第１ソフトウェア１１の範囲を設定する形態でも良い。すなわち、代替仮想プロセッサの負荷率が低い程、代替仮想プロセッサ上で実行させる第１ソフトウェア１１の範囲を拡張する形態でも良い。
【００８８】
また、故障に対する強さの要求が比較的緩やかであり、故障レベル３が設定されている第１ＶＣＰＵ２２（又は、第２ＶＣＰＵ４２）において、故障が検出された場合に、故障が発生した第１ソフトウェア２１（又は、第２ソフトウェア４１）に対応する第１ＶＣＰＵ２２（又は、第２ＶＣＰＵ４２）のリセットが、予め設定された所定回数（ここでは、３回）迄繰り返し実行され、故障が解消しない場合には、該第１ソフトウェア２１（又は、第２ソフトウェア４１）の実行が停止されるため、適切な故障処理動作を行うことができる。
【００８９】
第１実施形態では、故障レベル３が設定されているときのリセットの最大回数である所定回数が、３回である場合について説明するが、該所定回数は、２回以上の回数であれば良い。該所定回数が多い程、故障が解消する可能性が高いため、故障に対する強さが増大する。
【００９０】
更に、故障に対する強さの要求が緩やかであり、故障レベル１が設定されている第１ＶＣＰＵ３２において、故障が検出された場合に、故障が発生した第１ソフトウェア３１に対応する第１ＶＣＰＵ３２のリセットが、１回だけ実行され、故障が解消しない場合には、該第１ソフトウェア３１の実行が停止されるため、適切な故障処理動作を行うことができる。
【００９１】
図３は、第１実施形態に係る故障処理装置（主に、ＣＰＵ１１０）の動作の一例を示すフローチャートである。まず、比較回路４４によって、第１ソフトウェア１１、２１、３１のいずれかが故障を検出したか否かの判定が行われる（Ｓ１０１）。故障を検出していないと判定された場合（Ｓ１０１でＮＯ）には、処理が待機状態とされる。故障を検出したと判定された場合（Ｓ１０１でＹＥＳ）には、比較回路４４によって、第１レジスタ１３、２３、３３から第１故障レベルＬ１が読み出される（Ｓ１０３）。そして、比較回路４４によって、第２レジスタ４３から第２故障レベルＬ２が読み出される（Ｓ１０５）。次いで、比較回路４４によって、ステップＳ１０３において読み出された第１故障レベルＬ１が、ステップＳ１０５において読み出された第２故障レベルＬ２と一致するか否かの判定が行われる（Ｓ１０７）。
【００９２】
第１故障レベルＬ１が第２故障レベルＬ２と一致すると判定された場合（Ｓ１０７でＹＥＳ）には、故障レベル設定部４５１によって、故障処理動作を規定する故障レベルが故障レベル３に設定され、処理実行部４５３によって故障レベル３に対応する故障処理である第１故障処理が実行されて（Ｓ１０９）、処理が終了される。第１故障レベルＬ１が第２故障レベルＬ２と一致しないと判定された場合（Ｓ１０７でＮＯ）には、故障レベル設定部４５１によって、第１故障レベルＬ１が故障レベル１であるか否かの判定が行われる（Ｓ１１１）。第１故障レベルＬ１が故障レベル１であると判定された場合（Ｓ１１１でＹＥＳ）には、故障処理動作を規定する故障レベルが故障レベル１に設定され、処理実行部４５３によって故障レベル１に対応する故障処理である第２故障処理が実行されて（Ｓ１１３）、処理が終了される。第１故障レベルＬ１が故障レベル１ではない（＝故障レベル５である）と判定された場合（Ｓ１１１でＮＯ）には、故障処理動作を規定する故障レベルが故障レベル５に設定され、処理実行部４５３等によって故障レベル５に対応する故障処理である第５故障処理が実行されて（Ｓ１１５）、処理が終了される。
【００９３】
図４は、図３に示すフローチャートのステップＳ１０９において実行される第１故障処理の一例を示す詳細フローチャートである。なお、以下の処理は全て処理実行部４５３によって実行される。まず、第１ＶＣＰＵ２２がリセットされる（Ｓ２０１）。そして、第１ソフトウェア２１における故障が回復したか否かの判定が行われる（Ｓ２０３）。故障が回復したと判定された場合（Ｓ２０３でＹＥＳ）には、処理が終了される。故障が回復していないと判定された場合（Ｓ２０３でＮＯ）には、実行されたリセット回数Ｎが３回以上であるか否かの判定が行われる（Ｓ２０５）。リセット回数Ｎが３回未満であると判定された場合（Ｓ２０５でＮＯ）には、処理がステップＳ２０１に戻され、ステップＳ２０１以降の処理が繰り返し実行される。リセット回数Ｎが３回以上であると判定された場合（Ｓ２０５でＹＥＳ）には、アラームが出力され（Ｓ２０７）、第１ＶＣＰＵ２２の動作が停止されて（Ｓ２０９）、処理が終了される。
【００９４】
図５は、図３に示すフローチャートのステップＳ１１３において実行される第２故障処理の一例を示す詳細フローチャートである。なお、以下の処理は全て処理実行部４５３によって実行される。まず、第１ＶＣＰＵ３２がリセットされる（Ｓ３０１）。そして、第１ソフトウェア３１における故障が回復したか否かの判定が行われる（Ｓ３０３）。故障が回復したと判定された場合（Ｓ３０３でＹＥＳ）には、処理が終了される。故障が回復していないと判定された場合（Ｓ３０３でＮＯ）には、アラームが出力され（Ｓ３０５）、第１ＶＣＰＵ３２の動作が停止されて（Ｓ３０７）、処理が終了される。
【００９５】
図６は、図３に示すフローチャートのステップＳ１１５において実行される第３故障処理の一例を示す詳細フローチャートである。まず、選定部４５２によって、故障が発生していない第１ＶＣＰＵ２２、３２の負荷率が求められる（Ｓ４０１）。そして、ステップＳ４０１において求められた負荷率が最も低い第１ＶＣＰＵ（例えば、第１ＶＣＰＵ２２）が代替仮想プロセッサ（ここでは、便宜上、代替ＶＣＰＵと表記する）が選定される（Ｓ４０３）。次いで、処理実行部４５３によって、ステップＳ４０３において選定された代替ＶＣＰＵに対して、故障が発生した第１ソフトウェア１１の必要最低限の機能を実行させる準備をする旨の指示情報が出力される（Ｓ４０５）。次に、処理実行部４５３によって、故障が発生した第１ＶＣＰＵ１２による第１ソフトウェア１１の動作が停止される（Ｓ４０７）。そして、処理実行部４５３によって、ステップＳ４０３において選定された代替ＶＣＰＵに対して、故障が発生した第１ソフトウェア１１における必要最低限の機能の実行を開始する旨の指示情報が出力されて（Ｓ４０９）、処理が終了される。
【００９６】
このようにして、故障を検出した第１ソフトウェア１１、２１、３１に対応する第１故障レベルＬ１が第１レジスタ１３、２３、３３から読み出され、故障処理動作を規定する故障レベルとして設定され、設定された故障レベルに対応する故障処理動作が実行されるため、前記第１個数（ここでは、３個）の第１レジスタ１３、２３、３３に適正な故障レベル情報を格納することによって、適正な故障処理動作を行うことができる。
【００９７】
＜第２実施形態＞
図７は、本発明の第２実施形態に係る故障処理装置の構成の一例を示すブロック図である。図７に示すように、ＥＣＵ１００Ａは、第１実施形態に係るＥＣＵ１００のＣＰＵ１１０に換えて、ＣＰＵ１１０Ａを備えている。また、ＣＰＵ（Central Processing Unit）１１０Ａ（故障処理装置に相当する）は、第１実施形態に係る第１ＶＣＰＵ１２、２２、３２に換えて、第１ＶＣＰＵ１２Ａ、２２Ａ、３２Ａを備え、第１実施形態に係る第２ＶＣＰＵ４２に換えて、第２ＶＣＰＵ４２Ａを備えている。更に、第１ＶＣＰＵ１２Ａ、２２Ａ、３２Ａは、それぞれ、それぞれ、第１レジスタ１３、２３、３３に加えて、第３レジスタ１４、２４、３４を備えている。また、第２ＶＣＰＵ４２Ａは、比較回路４４に換えて、比較回路４４Ａを備えている。
【００９８】
すなわち、第２実施形態に係るＣＰＵ１１０Ａは、第３レジスタ１４、２４、３４を備える点、及び、比較回路４４に換えて、比較回路４４Ａを備えている点において、第１実施形態に係るＣＰＵ１１０と相違している。以下の説明においては、第１実施形態に係るＣＰＵ１１０との相違点について説明し、第１実施形態に係るＣＰＵ１１０と同一の構成については、同一の参照符号を付してその説明を省略する。
【００９９】
第３レジスタ１４、２４、３４（第３記憶手段に相当する）は、いわゆるマスクレジスタ（マスキング処理を行うレジスタ）として機能するレジスタであって、前記第１個数（ここでは、３個）の第１レジスタ１３、２３、３３にそれぞれ格納された３個の第１故障レベル（ここでは、故障レベル５、故障レベル３、故障レベル１）のいずれかに対応する第３故障レベルＬ３情報を、予め格納するレジスタである。
【０１００】
具体的には、例えば、第３レジスタ１４、２４、３４は、第１レジスタ２３に格納された第１故障レベル（＝故障レベル３）を予め格納している。そして、第３レジスタ１４、２４、３４は、第１レジスタ１３、２３、３３に格納されている第１故障レベルＬ１が、第３レジスタ１４、２４、３４に格納されている第１故障レベルＬ３より低い場合には、第１故障レベルＬ３を出力する。一方、第３レジスタ１４、２４、３４は、第１レジスタ１３、２３、３３に格納されている第１故障レベルＬ１が、第３レジスタ１４、２４、３４に格納されている第１故障レベルＬ３より高い場合には、第１故障レベルＬ１を出力する。
【０１０１】
比較回路４４Ａは、第１ソフトウェア１１、２１、３１のいずれかが故障を検出した場合に、対応する第３レジスタ１４、２４、３４から第１故障レベルＬ１（又は、第１故障レベルＬ３）を読み出すと共に、第２レジスタ４３から第２故障レベルＬ２を読み出す回路である。そして、比較回路４４は、第３レジスタ１４、２４、３４から読み出された第１故障レベルＬ１（又は、第１故障レベルＬ３）が、第２レジスタ４３に格納された第２故障レベルＬ２と一致するか否かを判定する。
【０１０２】
ここでは、第３レジスタ１４、２４、３４は、故障レベル３を格納している場合について説明する。第１ソフトウェア１１において故障が検出された場合には、第１レジスタ１３に格納された故障レベル５が第３レジスタ１４に格納された故障レベル３より高いため、第３レジスタ１４から第１レジスタ１３に格納された故障レベル５が出力される。
また、第１ソフトウェア２１において故障が検出された場合には、第１レジスタ２３に格納された故障レベル３が第３レジスタ２４に格納された故障レベル３と同じであるため、第３レジスタ２４から第１レジスタ２３に格納された故障レベル３が出力される。更に、第１ソフトウェア３１において故障が検出された場合には、第１レジスタ３３に格納された故障レベル１が第３レジスタ３４に格納された故障レベル３より低いため、第３レジスタ３４から第３レジスタ２４に格納された故障レベル３が出力される。
【０１０３】
図８、図９は、第２実施形態に係る故障処理装置（ＣＰＵ１１０Ａ）の動作の一例を示すフローチャートである。なお、図８、図９に示すフローチャートでは、便宜上、第３レジスタ１４、２４、３４に格納された、第１故障レベルが故障レベルＬ３（Ｌ３＝１、３、５）である場合について説明する。まず、図８に示すように、比較回路４４Ａによって、第１ソフトウェア１１、２１、３１のいずれかが故障を検出したか否かの判定が行われる（Ｓ５０１）。故障を検出していないと判定された場合（Ｓ５０１でＮＯ）には、処理が待機状態とされる。故障を検出したと判定された場合（Ｓ５０１でＹＥＳ）には、比較回路４４Ａによって、第１レジスタ１３、２３、３３から第１故障レベルＬ１が読み出される（Ｓ５０３）。そして、第３レジスタ１４、２４、３４において、第１レジスタ１３、２３、３３に格納された第１故障レベルＬ１が、第３レジスタ１４、２４、３４に格納されている第１故障レベルＬ３以上であるか否かの判定が行われる（Ｓ５０５）。
【０１０４】
第１故障レベルＬ１が第１故障レベルＬ３未満であると判定された場合（Ｓ５０５でＮＯ）には、第３レジスタ１４、２４、３４から出力される故障レベルである判定故障レベルＬＤが第３故障レベルＬ３に設定される（Ｓ５０７）。一方、第１故障レベルＬ１が第１故障レベルＬ３以上であると判定された場合（Ｓ５０５でＹＥＳ）には、第３レジスタ１４、２４、３４から出力される故障レベルである判定故障レベルＬＤが第１故障レベルＬ１に設定される（Ｓ５０９）。ステップＳ５０７の処理が終了した場合、又は、ステップＳ５０９の処理が終了した場合には、比較回路４４Ａによって、第２レジスタ４３から第２故障レベルＬ２が読み出される（Ｓ５１１）。次いで、図９に示すように、比較回路４４Ａによって、ステップＳ５０７又はステップＳ５０９において設定された判定故障レベルＬＤが、ステップＳ５１１において読み出された第２故障レベルＬ２と一致するか否かの判定が行われる（Ｓ５１３）。
【０１０５】
判定故障レベルＬＤが第２故障レベルＬ２と一致すると判定された場合（Ｓ５１３でＹＥＳ）には、故障レベル設定部４５１によって、故障処理動作を規定する故障レベルが故障レベル３に設定され、処理実行部４５３によって故障レベル３に対応する故障処理である第１故障処理が実行されて（Ｓ５１５）、処理が終了される。判定故障レベルＬＤが第２故障レベルＬ２と一致しないと判定された場合（Ｓ５１３でＮＯ）には、故障レベル設定部４５１によって、判定故障レベルＬＤが故障レベル１であるか否かの判定が行われる（Ｓ５１７）。判定故障レベルＬＤが故障レベル１であると判定された場合（Ｓ５１７でＹＥＳ）には、故障処理動作を規定する故障レベルが故障レベル１に設定され、処理実行部４５３によって故障レベル１に対応する故障処理である第２故障処理が実行されて（Ｓ５１９）、処理が終了される。判定故障レベルＬＤが故障レベル１ではない（＝故障レベル５である）と判定された場合（Ｓ５１７でＮＯ）には、故障処理動作を規定する故障レベルが故障レベル５に設定され、処理実行部４５３等によって故障レベル５に対応する故障処理である第５故障処理が実行されて（Ｓ１１５）、処理が終了される。
【０１０６】
このようにして、第１故障レベルＬ１及び第３故障レベルＬ３に基づいて、故障処理動作を規定する故障レベルが設定されるため、前記第３故障レベルＬ３を適正に設定することによって、処理実行部４５３の処理を簡略化することができる。例えば、第３故障レベルＬ３が、故障レベル３に設定されている場合には、処理実行部４５３は、故障レベル３、又は、故障レベル５に対応する故障処理を行うため、故障レベル１に対応する故障処理を行う必要がないのである。
【０１０７】
なお、本発明に係る故障処理装置は、上記第１実施形態に係るＣＰＵ１１０、第２実施形態に係るＣＰＵ１１０Ａに限定されず、下記の形態でも良い。
（Ａ）第１実施形態、第２実施形態においては、車両に搭載された第１個数（ここでは、３個）のＥＣＵを、１個のＥＣＵ１００、１００Ａ上に機能統合する場合について説明したが、２個以上の第１個数の物理プロセッサを１個の物理プロセッサに機能統合する形態でも良い。更に、２個以上の第１個数の物理プロセッサを１個の物理プロセッサに機能統合する場合に限らず、１個の物理プロセッサが、２個以上の第１個数の仮想プロセッサを搭載する形態であれば良い。
【０１０８】
（Ｂ）第１実施形態、第２実施形態においては、ＣＰＵ１１０、１１０Ａが、ＥＣＵに搭載されている形態について説明したが、ＣＰＵ１１０、１１０Ａが、他の形態の制御ユニット等に搭載されている形態でも良い。例えば、ＣＰＵ１１０、１１０Ａが、パーソナルコンピュータ等に搭載されている形態でも良い。
【０１０９】
（Ｃ）第１実施形態、第２実施形態においては、第１記憶手段、第２記憶手段、第３記憶手段が、それぞれ、レジスタから構成されている場合について説明したが、第１記憶手段、第２記憶手段、第３記憶手段が、その他の形態のメモリで構成されている形態でも良い。例えば、第１記憶手段、第２記憶手段、第３記憶手段が、それぞれ、ＲＯＭ（Read Only Memory）、又は、ＲＡＭ（Random Access Memory）で構成されている形態でも良い。
【０１１０】
（Ｄ）第１実施形態、第２実施形態においては、第２ＶＣＰＵ４２、４２Ａが、比較回路４４、４４Ａ、故障制御回路４５を備える場合について説明したが、第２ＶＣＰＵ４２、４２Ａが、比較回路４４、４４Ａ、故障制御回路４５の機能を有する機能部を備える形態でも良い。すなわち、ＥＣＵ１００（又は、ＥＣＵ１００Ａ）が、ＣＰＵ１１０（又は、ＣＰＵ１１０Ａ）に、ＥＣＵ１００（又は、ＥＣＵ１００Ａ）の適所に配設されたＲＯＭ（Read Only Memory）等に予め格納された制御プログラムを実行させることにより、ＣＰＵ１１０（又は、ＣＰＵ１１０Ａ）を、機能的に、比較回路４４（又は、比較回路４４Ａ）、故障制御回路４５の機能をそれぞれ有する機能部として機能させる形態でも良い。
【０１１１】
（Ｅ）第１実施形態、第２実施形態においては、第１個数が３個である場合について説明したが、第１個数が２個以上であれば良い。第１個数が多い程、本発明の効果は顕在化する。
【産業上の利用可能性】
【０１１２】
本発明は、例えば、１個の物理プロセッサ上に搭載された２個以上の第１個数の第１仮想プロセッサにおいて、それぞれ動作する前記第１個数の第１ソフトウェアのいずれかが故障を検出した場合に、故障が発生した第１ソフトウェアが動作する第１仮想プロセッサに対応する処理を行う、前記１個の物理プロセッサ上に搭載された故障処理装置に適用することができる。
【符号の説明】
【０１１３】
１００、１００Ａ    ＥＣＵ
１１０、１１０Ａ    ＣＰＵ（故障処理装置）
１１、２１、３１    第１ソフトウェア
１２、２２、３２    第１ＶＣＰＵ（第１仮想プロセッサ）
１２Ａ、２２Ａ、３２Ａ    第１ＶＣＰＵ（第１仮想プロセッサ）
１３、２３、３３    第１レジスタ（第１記憶手段）
１４、２４、３４    第３レジスタ（第３記憶手段）
４１    第２ソフトウェア（故障レベル設定手段の一部、処理実行手段の一部）
４２、４２Ａ    第２ＶＣＰＵ（第２仮想プロセッサ）
４３    第２レジスタ（第２記憶手段）
４４、４４Ａ    比較回路（故障レベル設定手段の一部）
４５    故障制御回路
４５１    故障レベル設定部（故障レベル設定手段の一部）
４５２    選定部（選定手段の一部）
４５３    処理実行部（処理実行手段の一部）
【図１】
2011008702.tif 000003
【図２】
2011008702.tif 000004
【図３】
2011008702.tif 000005
【図４】
2011008702.tif 000006
【図５】
2011008702.tif 000007
【図６】
2011008702.tif 000008
【図７】
2011008702.tif 000009
【図８】
2011008702.tif 000010
【図９】
2011008702.tif 000011
【図１０】
2011008702.tif 000012