JP2024076683A - 電子制御装置 - Google Patents
電子制御装置 Download PDFInfo
- Publication number
- JP2024076683A JP2024076683A JP2022188363A JP2022188363A JP2024076683A JP 2024076683 A JP2024076683 A JP 2024076683A JP 2022188363 A JP2022188363 A JP 2022188363A JP 2022188363 A JP2022188363 A JP 2022188363A JP 2024076683 A JP2024076683 A JP 2024076683A
- Authority
- JP
- Japan
- Prior art keywords
- virtual machine
- target virtual
- normal
- unit
- electronic control
- 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.)
- Pending
Links
- 230000002159 abnormal effect Effects 0.000 claims abstract description 62
- 238000000034 method Methods 0.000 claims abstract description 40
- 238000003745 diagnosis Methods 0.000 claims description 34
- 238000004092 self-diagnosis Methods 0.000 claims description 12
- 238000012544 monitoring process Methods 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 10
- 230000000694 effects Effects 0.000 description 9
- 230000005856 abnormality Effects 0.000 description 3
- 238000004590 computer program Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000011835 investigation Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
Images
Landscapes
- Hardware Redundancy (AREA)
- Debugging And Monitoring (AREA)
Abstract
【課題】異常になった仮想マシンの処理を他の仮想マシンが適切に代行する技術を提供する。
【解決手段】電子制御装置2は、ハイパーバイザ100と複数の仮想マシン110~160とを備える。複数の仮想マシンには、対象仮想120マシンと代行仮想マシン160とが設定されている。ハイパーバイザの判定部104は、対象仮想マシンが正常か異常かを判定する。ハイパーバイザのコピー部106は、対象仮想マシンが正常の場合、対象仮想マシンに割り当てられた揮発性メモリ30の記憶領域に記憶されているデータを、代行仮想マシンに割り当てられた揮発性メモリの記憶領域にコピーする。代行仮想マシンの代行部106は、対象仮想マシンが異常の場合、代行仮想マシンに割り当てられた揮発性メモリの記憶領域にコピーされたデータに基づき、対象仮想マシンの処理を代行する。
【選択図】図1
【解決手段】電子制御装置2は、ハイパーバイザ100と複数の仮想マシン110~160とを備える。複数の仮想マシンには、対象仮想120マシンと代行仮想マシン160とが設定されている。ハイパーバイザの判定部104は、対象仮想マシンが正常か異常かを判定する。ハイパーバイザのコピー部106は、対象仮想マシンが正常の場合、対象仮想マシンに割り当てられた揮発性メモリ30の記憶領域に記憶されているデータを、代行仮想マシンに割り当てられた揮発性メモリの記憶領域にコピーする。代行仮想マシンの代行部106は、対象仮想マシンが異常の場合、代行仮想マシンに割り当てられた揮発性メモリの記憶領域にコピーされたデータに基づき、対象仮想マシンの処理を代行する。
【選択図】図1
Description
本開示は、仮想マシンの処理を代行する技術に関する。
下記の特許文献1に記載されている技術では、マルチコアのCPUを備えるマイクロコントローラにおいて、第1コアと第2コアとが予め割り当てられた処理を実行しながら、互いに相手のコアが正常か異常かを監視する。そして、一方のコアが異常になると、他方のコアは一方のコアが実行していた処理を代行する。
一方のコアが異常になったときに、一方のコアが実行していた処理を他方のコアが代行する場合、他方のコアは、一方のコアが記憶していたデータを引き継いで使用する。
しかしながら、一方のコアが異常になったときに一方のコアが記憶していたデータが、正常か異常かを判定することは困難である。
しかしながら、一方のコアが異常になったときに一方のコアが記憶していたデータが、正常か異常かを判定することは困難である。
発明者の詳細な検討の結果、このように正常か異常かを判定できないデータを使用すると、一方のコアが実行していた処理を他方のコアが適切に代行できないという課題が見出された。コアを仮想マシンに置き換えても同様の課題が生じる。
本開示の1つの局面は、異常になった仮想マシンの処理を他の仮想マシンが適切に代行する技術を提供することが望ましい。
本開示の1つの態様による電子制御装置(2~6)は、ハイパーバイザ(100)と、ハイパーバイザにより動作を制御される複数の仮想マシン(110~170)と、を備える。
複数の仮想マシンには、正常か異常かを監視される監視対象となる少なくとも1つの対象仮想マシン(120、130)と、対象仮想マシンが異常の場合に対象仮想マシンの処理を代行する少なくとも1つの代行仮想マシン(160、170)とが設定されている。
1つまたは複数の対象仮想マシンの処理を1つの代行仮想マシンが代行する。
ハイパーバイザは、判定部(104、S420)と、コピー部(106、S422)と、を備える。
ハイパーバイザは、判定部(104、S420)と、コピー部(106、S422)と、を備える。
判定部は、対象仮想マシンが正常か異常かを判定する。コピー部は、対象仮想マシンが正常であると判定部が判定すると、揮発性メモリ(30)において対象仮想マシンに割り当てられた記憶領域(34、36)に記憶されているデータを、揮発性メモリにおいて代行仮想マシンに割り当てられた記憶領域(42、44)にコピーする。
代行仮想マシンは、対象仮想マシンが異常であると判定部が判定すると、揮発性メモリにおいて代行仮想マシンに割り当てられた記憶領域にコピーされたデータに基づき、対象仮想マシンの処理を代行するように構成された代行部(162、172、S430)を備える。
このような構成によれば、対象仮想マシンが正常だったときに、揮発性メモリにおいて代行仮想マシンに割り当てられた記憶領域にコピーされた対象仮想マシンのデータは正常である。
したがって、対象仮想マシンが異常になると、代行仮想マシンに割り当てられた記憶領域にコピーされた対象仮想マシンの正常なデータに基づいて、代行仮想マシンは対象仮想マシンの処理を適切に代行できる。
以下、図を参照しながら、本開示の実施形態を説明する。
[1.第1実施形態]
[1-1.構成]
図1および図2に示す電子制御装置であるマイクロコンピュータ2は、例えば、車両に搭載されており、メモリ20と、ハイパーバイザ100と、仮想マシン110~VM160と、を備える。マイクロコンピュータ2は例えばマルチコアのマイクロコンピュータである。以下、ハイパーバイザを略してHV、仮想マシンを略してVM、マイクロコンピュータを略してマイコンとも言う。
[1.第1実施形態]
[1-1.構成]
図1および図2に示す電子制御装置であるマイクロコンピュータ2は、例えば、車両に搭載されており、メモリ20と、ハイパーバイザ100と、仮想マシン110~VM160と、を備える。マイクロコンピュータ2は例えばマルチコアのマイクロコンピュータである。以下、ハイパーバイザを略してHV、仮想マシンを略してVM、マイクロコンピュータを略してマイコンとも言う。
メモリ20は、RAM30と、ROM50と、図示しないフラッシュメモリ等を備える。HV100とVM110~VM160とは、RAM30に設定された図示しない共有メモリ領域にデータを書き込んだり読み出したりすることにより、互いに通信をする。
6個のVM110~VM160は、後述する車両制御等を実行する機能をソフトウェアで仮想化したものである。図1および図2では、6個のVM110~VM160を図示しているが、これは例示であり、VMの数は6個に限るものではない。
図3に示すように、VM110~VM160のそれぞれに対応して、RAM30の記憶領域32~42とROM50の記憶領域52~62とが割り当てられている。VM120に割り当てられているROM50の記憶領域54のデータは、予め、VM160に割り当てられているROM50の記憶領域62にコピーされている。
尚、図3では、図を省略するために、RAM30とROM50とは、共通のメモリ領域として記載されているが、当然のことながら異なるメモリ領域である。
HV100は、VM制御部102と、判定部104と、コピー部106と、を備える。VM制御部102は、VM110~VM160に割り当てるコア、メモリ20等のハードウェアリソースを管理し、VM110~VM160の動作を制御する。本実施形態では、VM110~VM160のそれぞれに1個のコアが割り当てられる。
HV100は、VM制御部102と、判定部104と、コピー部106と、を備える。VM制御部102は、VM110~VM160に割り当てるコア、メモリ20等のハードウェアリソースを管理し、VM110~VM160の動作を制御する。本実施形態では、VM110~VM160のそれぞれに1個のコアが割り当てられる。
判定部104は、図4に示すように、VM120による自己診断結果に基づいて、VM120が正常か異常かを判定する。つまり、VM120は、正常か異常かを監視される監視対象となる対象仮想マシンである。
コピー部106は、VM120が正常であると判定部104が判定すると、図3および図4に示すように、VM120に割り当てられているRAM30の記憶領域34のデータを、VM160に割り当てられているRAM30の記憶領域42にコピーする。コピーされるRAM30の記憶領域34のデータには、VM120が実行するプログラムが含まれる。
6個のVM110~VM160のうち、5個のVM110~VM150は、ボディ制御、エンジン制御、等の車両制御を実行する。VM160は、VM120が異常になると、VM120が正常時に実行していた処理を代行する。つまり、VM160は、対象仮想マシンであるVM120が異常の場合にVM120の処理を代行する代行仮想マシンである。
VM110、120は前述した車両制御を実行する実行部112、122を備える。図1および図2には図示しないが、VM130~150も、車両制御を実行する実行部を備える。VM120は、さらに自己診断を実行する診断部124を備える。
VM160は、VM120が異常になるとVM120が正常時に実行していた処理を代行する代行部162を備える。VM160は、VM120が正常の場合、HV100から起動されず、待機状態である。
[1-2.処理]
次に、マイコン2が実行する処理について説明する。
(1)スケジューリング
図5に示すように、VM120の正常時、HV100とVM110~VM150とには、1msの周期において、実行時間が割り当てられている。VM120の正常時、VM160は待機状態であるから、VM160に割り当てられる実行時間は0μsである。
次に、マイコン2が実行する処理について説明する。
(1)スケジューリング
図5に示すように、VM120の正常時、HV100とVM110~VM150とには、1msの周期において、実行時間が割り当てられている。VM120の正常時、VM160は待機状態であるから、VM160に割り当てられる実行時間は0μsである。
VM120が異常になると、VM120に割り当てられていた200μsの実行時間がVM160に割り当てられる。そして、VM120に代わってVM160がVM120の実行タイミングで起動され、VM120の処理を代行する。尚、VM160は、VM120の処理を代行するだけであり、VM120の自己診断処理は実行しない。
(2)VM120の処理
図6に示すフローチャートは、HV100によりVM120が起動されると実行される。
まず、S400においてVM120の実行部122は、車両制御等の通常処理を実行する。通常処理の終了後、S402においてVM120の診断部124は、RAM診断を実行する。
図6に示すフローチャートは、HV100によりVM120が起動されると実行される。
まず、S400においてVM120の実行部122は、車両制御等の通常処理を実行する。通常処理の終了後、S402においてVM120の診断部124は、RAM診断を実行する。
診断部124は、RAM診断として、VM120に割り当てられたRAM30の記憶領域34において、例えば読み出し、書き込みを行う際に、ECCにより、VM120に割り当てられたRAM30の記憶領域34が正常か異常かを診断する。ECCは、Error Correcting Codeの略である。
RAM診断は、ECCに限るものではなく、書き込みデータが正常に読み出せるか否かにより実行されてもよい。
S404において診断部124は、RAM診断の結果が正常であるか否かを判定する。S404の判定がYesである、つまりRAM診断の結果が正常の場合、処理はS408に移行する。
S404において診断部124は、RAM診断の結果が正常であるか否かを判定する。S404の判定がYesである、つまりRAM診断の結果が正常の場合、処理はS408に移行する。
S404の判定がNoである、つまりRAM診断の結果が異常の場合、S406において診断部124は、HV100に、VM120の処理をVM160に切り替えて代行させるように要求する。この要求は、例えば代行フラグをオンにすることにより実現される。
S408において診断部124は、ROM診断を実行する。診断部124は、ROM診断として、VM120に割り当てられたROM50の記憶領域54において、例えばCRCにより、VM120に割り当てられたROM50の記憶領域54が正常か異常かを診断する。CRCは、Cyclic Redundancy Checkの略である。
ROM診断は、CRCに限るものではなく、チェックサムが一致するか否かにより行ってもよい。
S410において診断部124は、ROM診断の結果が正常であるか否かを判定する。S410の判定がYesである、つまりROM診断の結果が正常の場合、処理はS414に移行する。
S410において診断部124は、ROM診断の結果が正常であるか否かを判定する。S410の判定がYesである、つまりROM診断の結果が正常の場合、処理はS414に移行する。
S410の判定がNoである、つまりROM診断の結果が異常の場合、S412において診断部124は、HV100に、VM120の処理をVM160に切り替えて代行させるように要求する。
S414において診断部124は、実行部122が実行する処理フローにおいて、実行すべきステップが実行されているか否かのフロー診断を実行する。
S416において診断部124は、フロー診断の結果が正常であるか否かを判定する。S416の判定がYesである、つまりフロー診断の結果が正常の場合、本処理は終了する。
S416において診断部124は、フロー診断の結果が正常であるか否かを判定する。S416の判定がYesである、つまりフロー診断の結果が正常の場合、本処理は終了する。
S416の判定がNoである、つまりフロー診断の結果が異常の場合、S418において診断部124は、HV100に、VM120の処理をVM160に切り替えて代行させるように要求する。
(3)HV100の処理
図7に示すフローチャートは、前述した図6のVM120の処理が終了すると、HV100により実行される。
図7に示すフローチャートは、前述した図6のVM120の処理が終了すると、HV100により実行される。
S420においてHV100の判定部104は、VM120の処理をVM160に切り替えて代行させる代行要求があるか否かを判定する。この判定は、例えば、前述した代行フラグがオンかオフかに基づいて行われる。
S420の判定がNoである、つまり代行要求がない場合、S422においてHV100のコピー部106は、VM120に割り当てられたRAM30の記憶領域34のデータを、VM160に割り当てられたRAM30の記憶領域42にコピーする。S422の実行後、本処理は終了する。
S420の判定がYesである、つまり代行要求がある場合、S424においてHV100のVM制御部102は、VM120に割り当てられる実行時間を200μsから0μsに変更してVM120の実行を停止させる。
S426においてVM制御部102は、VM160に割り当てられる実行時間を0μsから200μsに変更して、VM120の処理をVM160に切り替えて代行させる。この場合、VM160は、VM120が起動されていたタイミングで起動される。
(4)VM160の処理
図8に示すフローチャートは、HV100によりVM160が起動されると実行される。
S430においてVM160の代行部162は、VM120の処理を代行する。この場合、VM160は、VM120の通常処理を代行するだけであり、VM120の自己診断処理は実行しない。
図8に示すフローチャートは、HV100によりVM160が起動されると実行される。
S430においてVM160の代行部162は、VM120の処理を代行する。この場合、VM160は、VM120の通常処理を代行するだけであり、VM120の自己診断処理は実行しない。
以上説明した第1実施形態では、マイコン2が電子制御装置に対応し、VM120が対象仮想マシンに対応し、VM160が代行仮想マシンに対応する。
また、S402、S404、S408、S410、S414、S416が診断部の処理に対応し、S420が判定部の処理に対応し、S422がコピー部の処理に対応し、S430が代行部の処理に対応する。
また、S402、S404、S408、S410、S414、S416が診断部の処理に対応し、S420が判定部の処理に対応し、S422がコピー部の処理に対応し、S430が代行部の処理に対応する。
[1-3.効果]
以上説明した第1実施形態によれば、以下の効果を得ることができる。
(1a)対象仮想マシンであるVM120が正常なときに、HV100が、VM120に割り当てられたRAM30の記憶領域34のデータを、VM160に割り当てられたRAM30の記憶領域42にコピーする。また、VM120に割り当てられたROM50の記憶領域54のデータは、予め、VM160に割り当てられたROM50の記憶領域62にコピーされている。
これにより、VM120に異常が発生しても、RAM30の記憶領域42にコピーされたVM120の正常なデータと、予め、ROM50の記憶領域62にコピーされていたVM120のデータと、に基づいて、VM160はVM120の処理を代行できる。
以上説明した第1実施形態によれば、以下の効果を得ることができる。
(1a)対象仮想マシンであるVM120が正常なときに、HV100が、VM120に割り当てられたRAM30の記憶領域34のデータを、VM160に割り当てられたRAM30の記憶領域42にコピーする。また、VM120に割り当てられたROM50の記憶領域54のデータは、予め、VM160に割り当てられたROM50の記憶領域62にコピーされている。
これにより、VM120に異常が発生しても、RAM30の記憶領域42にコピーされたVM120の正常なデータと、予め、ROM50の記憶領域62にコピーされていたVM120のデータと、に基づいて、VM160はVM120の処理を代行できる。
この場合、VM120が異常になる前のVM120が正常だったときのデータを使用できるので、VM160はVM120が実行していた処理を引き継いで適切に代行できる。
(1b)VM160は、VM120の正常時には待機状態にあり何も処理を実行していない。そして、VM120が異常になると、VM160は、VM120の処理を代行する代行処理以外の処理を実行しない。これにより、代行処理以外の処理でVM160の処理負荷が増加することを抑制できる。
(1b)VM160は、VM120の正常時には待機状態にあり何も処理を実行していない。そして、VM120が異常になると、VM160は、VM120の処理を代行する代行処理以外の処理を実行しない。これにより、代行処理以外の処理でVM160の処理負荷が増加することを抑制できる。
[2.第2実施形態]
[2-1.第1実施形態との相違点]
第2実施形態は、基本的な構成は第1実施形態と同様であるため、相違点について以下に説明する。尚、第1実施形態と同じ符号は、同一の構成を示すものであって、先行する説明を参照する。
[2-1.第1実施形態との相違点]
第2実施形態は、基本的な構成は第1実施形態と同様であるため、相違点について以下に説明する。尚、第1実施形態と同じ符号は、同一の構成を示すものであって、先行する説明を参照する。
前述した第1実施形態では、代行仮想マシンであるVM160が処理を代行する対象仮想マシンはVM120の1個だけであった。これに対し、第2実施形態では、図9に示すマイコン4において、VM160が処理を代行する対象仮想マシンがVM120とVM130の2個である点で、第1実施形態と相違する。
[2-2.構成]
図9に示すマイコン4では、VM130は、VM120と同様に実行部132と診断部134とを備える。VM120とVM130とが正常であるか異常であるかは、第1実施形態と同様に、VM120の診断部124とVM130の診断部134とが、RAM診断とROM診断とフロー診断とを実行した結果で設定する代行フラグがオンかオフかにより判定される。
図9に示すマイコン4では、VM130は、VM120と同様に実行部132と診断部134とを備える。VM120とVM130とが正常であるか異常であるかは、第1実施形態と同様に、VM120の診断部124とVM130の診断部134とが、RAM診断とROM診断とフロー診断とを実行した結果で設定する代行フラグがオンかオフかにより判定される。
図10に示すように、VM120に割り当てられているROM40の記憶領域54のデータ、ならびにVM130に割り当てられているROM40の記憶領域56のデータは、予め、VM160に割り当てられているROM40の記憶領域62にコピーされている。
HV100の判定部104は、VM120とVM130とがそれぞれ正常であるか異常であるかを、VM120とVM130とのそれぞれの代行フラグに基づいて判定する。
コピー部106は、VM120が正常であれば、VM120に割り当てられているRAM30の記憶領域34のデータを、VM160に割り当てられているRAM30の記憶領域42にコピーする。また、コピー部106は、VM130が正常であれば、VM130に割り当てられているRAM30の記憶領域36のデータを、VM160に割り当てられているRAM30の記憶領域42にコピーする。
コピー部106は、VM120が正常であれば、VM120に割り当てられているRAM30の記憶領域34のデータを、VM160に割り当てられているRAM30の記憶領域42にコピーする。また、コピー部106は、VM130が正常であれば、VM130に割り当てられているRAM30の記憶領域36のデータを、VM160に割り当てられているRAM30の記憶領域42にコピーする。
図11に示すように、VM制御部102は、VM120が異常であれば、VM120に割り当てられていた実行時間の100μsを0μsに変更し、VM120の実行を停止させる。そして、VM制御部102は、VM160に割り当てられている実行時間に100μsを加算して、VM120の処理をVM160に切り替えて代行させる。
また、VM制御部102は、VM130が異常であれば、VM130に割り当てられていた実行時間を100μsから0μsに変更し、VM130の実行を停止させる。そして、VM制御部102は、VM160に割り当てられている実行時間に100μsを加算して、VM130の処理をVM160に切り替えて代行させる。
VM160の代行部162は、VM120またはVM130の一方だけが異常であれば、一方だけの処理を代行し、VM120とVM130との両方が異常であれば、両方の処理を代行する。代行部162がVM120とVM130との両方の処理を代行する場合、VM160には合計200μsの実行時間が割り当てられる。
尚、VM160の代行部162は、VM120とVM130との通常処理を代行するだけであり、VM120とVM130との自己診断処理は実行しない。
以上説明した第2実施形態では、マイコン4が電子制御装置に対応し、VM120、VM130が対象仮想マシンに対応し、VM160が代行仮想マシンに対応する。
以上説明した第2実施形態では、マイコン4が電子制御装置に対応し、VM120、VM130が対象仮想マシンに対応し、VM160が代行仮想マシンに対応する。
[2-3.効果]
以上説明した第2実施形態によれば、以下の効果を得ることができる。
(2a)対象仮想マシンであるVM120、VM130が正常なときに、HV100は、VM120、VM130のそれぞれに割り当てられたRAM30の記憶領域34、36のデータを、VM160に割り当てられたRAM30の記憶領域42にコピーする。
以上説明した第2実施形態によれば、以下の効果を得ることができる。
(2a)対象仮想マシンであるVM120、VM130が正常なときに、HV100は、VM120、VM130のそれぞれに割り当てられたRAM30の記憶領域34、36のデータを、VM160に割り当てられたRAM30の記憶領域42にコピーする。
また、VM120に割り当てられたROM50の記憶領域54のデータと、VM130に割り当てられたROM50の記憶領域56のデータとは、予め、VM160に割り当てられたROM50の記憶領域62にコピーされている。
これにより、VM120とVM130との少なくともいずれかに異常が発生しても、RAM30の記憶領域42とROM50の記憶領域62とにコピーされたデータに基づいて、VM160はVM120、VM130の処理を代行できる。
これにより、VM120とVM130との少なくともいずれかに異常が発生しても、RAM30の記憶領域42とROM50の記憶領域62とにコピーされたデータに基づいて、VM160はVM120、VM130の処理を代行できる。
この場合、VM120、VM130が異常になる前のVM120、VM130が正常だったときのデータを使用できるので、VM160はVM120、VM130が実行していた処理を引き継いで適切に代行できる。
(2b)VM160は、VM120、VM130の正常時には待機状態にあり何も処理を実行していない。そして、VM120、VM130が異常になると、VM160は、VM120、VM130の処理を代行する代行処理以外の処理を実行しない。これにより、代行処理以外の処理でVM160の処理負荷が増加することを抑制できる。
(2c)VM120とVM130との両方が異常になると、図11示すように、VM160がVM120とVM130との両方の処理を連続して実行するので、1msの周期において、HV100はVM160を1回起動するだけでよい。これにより、HV100の処理負荷を低減できる。
[3.第3実施形態]
[3-1.第2実施形態との相違点]
第3実施形態は、基本的な構成は第2実施形態と同様であるため、相違点について以下に説明する。第2実施形態と同じ符号は、同一の構成を示すものであって、先行する説明を参照する。
[3-1.第2実施形態との相違点]
第3実施形態は、基本的な構成は第2実施形態と同様であるため、相違点について以下に説明する。第2実施形態と同じ符号は、同一の構成を示すものであって、先行する説明を参照する。
前述した第2実施形態では、対象仮想マシンである2個のVM120、130に対し、代行仮想マシンとして1個のVM160が設定されていた。
これに対し、第3実施形態では、図12のマイコン6において、VM120が異常の場合は代行仮想マシンとしてVM160が設定され、VM130が異常の場合は代行仮想マシンとしてVM170が設定されている点で、第2実施形態と相違する。
[3-2.構成]
図12に示すマイコン6は、7個のVM110~VM170を備えている。VM170は、VM160と同様に代行部172を備える。
これに対し、第3実施形態では、図12のマイコン6において、VM120が異常の場合は代行仮想マシンとしてVM160が設定され、VM130が異常の場合は代行仮想マシンとしてVM170が設定されている点で、第2実施形態と相違する。
[3-2.構成]
図12に示すマイコン6は、7個のVM110~VM170を備えている。VM170は、VM160と同様に代行部172を備える。
図13に示すように、VM120に割り当てられているROM50の記憶領域54のデータは、予め、VM160に割り当てられているROM40の記憶領域62にコピーされている。
VM130に割り当てられているROM40の記憶領域56のデータは、予め、VM170に割り当てられているROM40の記憶領域64にコピーされている。
HV100のコピー部106は、VM120が正常であれば、VM120に割り当てられているRAM30の記憶領域34のデータを、VM160に割り当てられているRAM30の記憶領域42にコピーする。
HV100のコピー部106は、VM120が正常であれば、VM120に割り当てられているRAM30の記憶領域34のデータを、VM160に割り当てられているRAM30の記憶領域42にコピーする。
コピー部106は、VM130が正常であれば、VM130に割り当てられているRAM30の記憶領域36のデータを、VM170に割り当てられているRAM30の記憶領域64にコピーする。
図14に示すように、VM制御部102は、VM120が異常であれば、VM120に割り当てられていた実行時間を100μsから0μsに変更し、VM120の実行を停止させる。そして、VM制御部102は、VM160に割り当てられる実行時間を0μsから100μsに変更し、VM120の処理をVM160に切り替えて代行させる。
また、VM制御部102は、VM130が異常であれば、VM130に割り当てられていた実行時間を100μsから0μsに変更し、VM130の実行を停止させる。そして、VM制御部102は、VM170に割り当てられる実行時間を0μsから100μsに変更し、VM120の処理をVM170に切り替えて代行させる。
尚、VM160の代行部162は、VM120の処理を代行するだけであり、VM120の自己診断処理は実行しない。また、VM170の代行部172は、VM130の処理を代行するだけであり、VM130の自己診断処理は実行しない。
以上説明した第3実施形態では、マイコン6が電子制御装置に対応し、VM120、VM130が対象仮想マシンに対応し、VM160、VM170が代行仮想マシンに対応する。
[3-3.効果]
以上説明した第3実施形態によれば、第1実施形態の効果(1a)~(1c)と同様の効果を得ることができる。さらに、第1実施形態の効果(1a)~(1c)において、VM120、160をVM130、170に、記憶領域34、42、54、62をそれぞれ記憶領域36、44、56、64のそれぞれに置き換えた効果と同様の効果を得ることができる。
以上説明した第3実施形態によれば、第1実施形態の効果(1a)~(1c)と同様の効果を得ることができる。さらに、第1実施形態の効果(1a)~(1c)において、VM120、160をVM130、170に、記憶領域34、42、54、62をそれぞれ記憶領域36、44、56、64のそれぞれに置き換えた効果と同様の効果を得ることができる。
[4.他の実施形態]
以上、本開示の実施形態について説明したが、本開示は前述した実施形態に限定されることなく、種々変形して実施することができる。
以上、本開示の実施形態について説明したが、本開示は前述した実施形態に限定されることなく、種々変形して実施することができる。
(4a)前述した第1実施形態と第2実施形態とでは、対象仮想マシンであるVM120、あるいはVM120とVM130とが正常の場合、代行仮想マシンであるVM160は何の処理も実行しない。
これに対し、対象仮想マシンであるVM120、あるいはVM120とVM130とが正常の場合、代行仮想マシンであるVM160は、何等かの車両制御の通常処理を実行してもよい。
そして、対象仮想マシンであるVM120、あるいはVM120とVM130との少なくともいずれかが異常になると、代行仮想マシンであるVM160は、通常処理に加えて異常なVMの処理を代行してもよい。
あるいは、代行仮想マシンであるVM160は、実行していた車両制御の通常処理を停止して異常なVMの処理を代行してもよい。この場合、VM160が実行する通常処理は、停止しても車両走行を阻害しないドアの開閉制御等の処理である。
(4b)前述した第3実施形態では、第1実施形態と同様に、VM130が正常の場合、代行仮想マシンであるVM170とは何の処理も実行しない。
これに対し、対象仮想マシンであるVM130が正常の場合、代行仮想マシンであるVM170は何等かの車両制御等の通常処理を実行してもよい。
これに対し、対象仮想マシンであるVM130が正常の場合、代行仮想マシンであるVM170は何等かの車両制御等の通常処理を実行してもよい。
そして、対象仮想マシンであるVM130が異常になると、代行仮想マシンであるVM170は、車両制御処理に加えて異常なVMの処理を代行してもよい。
あるいは、代行仮想マシンであるVM170は、実行していた車両制御処理を停止してVM130の処理を代行してもよい。この場合、VM170が実行する通常処理は、停止しても車両走行を阻害しないオーディオ制御等の処理である。
あるいは、代行仮想マシンであるVM170は、実行していた車両制御処理を停止してVM130の処理を代行してもよい。この場合、VM170が実行する通常処理は、停止しても車両走行を阻害しないオーディオ制御等の処理である。
(4c)前述した実施形態では、対象仮想マシンが異常になると、代行仮想マシンは対象仮想マシンの通常処理は代行するが、自己診断は実行しない。
これに対し、対象仮想マシンが異常になると、代行仮想マシンは対象仮想マシンの通常処理に加え、自己診断を実行してもよい。自己診断の結果、代行仮想マシンが異常の場合、代行仮想マシンを対象仮想マシンとする他の代行仮想マシンが異常な代行仮想マシンの処理を代行する。
これに対し、対象仮想マシンが異常になると、代行仮想マシンは対象仮想マシンの通常処理に加え、自己診断を実行してもよい。自己診断の結果、代行仮想マシンが異常の場合、代行仮想マシンを対象仮想マシンとする他の代行仮想マシンが異常な代行仮想マシンの処理を代行する。
異常な代行仮想マシンの処理を他の代行仮想マシンが代行することは、1段階で終了してもよいし、複数の段階まで行ってもよい。この場合、最終段階において、異常な代行仮想マシンの処理を代行する他の代行仮想マシンは、自己診断を実行しない。
(4d)前述した実施形態では、電子制御装置であるマイコン2~6は車両に搭載され、車両制御を実行したが、これに限るものではない。電子制御装置で仮想マシンが実行され、異常な仮想マシンの処理を他の仮想マシンが代行するのであれば、どのような技術分野で電子制御装置が使用されてもよい。
(4e)前述した実施形態では、マイコン2~6のそれぞれを電子制御装置として例示したがこれに限るものではない。例えば、電子制御装置は複数のマイコンを備えてもよい。
(4f)本開示に記載のマイコン2~6およびその手法は、コンピュータプログラムにより具体化された1つまたは複数の機能を実行するようにプログラムされたプロセッサおよびメモリを構成することによって提供された専用コンピュータにより、実現されてもよい。
(4f)本開示に記載のマイコン2~6およびその手法は、コンピュータプログラムにより具体化された1つまたは複数の機能を実行するようにプログラムされたプロセッサおよびメモリを構成することによって提供された専用コンピュータにより、実現されてもよい。
あるいは、本開示に記載のマイコン2~6およびその手法は、1つ以上の専用ハードウェア論理回路によってプロセッサを構成することによって提供された専用コンピュータにより、実現されてもよい。
もしくは、本開示に記載のマイコン2~6およびその手法は、1つまたは複数の機能を実行するようにプログラムされたプロセッサおよびメモリと1つ以上のハードウェア論理回路によって構成されたプロセッサとの組み合わせにより構成された1つ以上の専用コンピュータにより、実現されてもよい。
また、コンピュータプログラムは、コンピュータにより実行されるインストラクションとして、コンピュータ読み取り可能な非遷移有形記録媒体に記憶されてもよい。マイコン2~6に含まれる各部の機能を実現する手法には、必ずしもソフトウェアが含まれている必要はなく、その全部の機能が、1つまたは複数のハードウェアを用いて実現されてもよい。
(4g)前述した実施形態における1つの構成要素が備える複数の機能を、複数の構成要素によって実現したり、1つの構成要素が備える1つの機能を、複数の構成要素によって実現したりしてもよい。また、複数の構成要素が備える複数の機能を、1つの構成要素によって実現したり、複数の構成要素によって実現される1つの機能を、1つの構成要素によって実現したりしてもよい。また、前述した実施形態の構成の一部を省略してもよい。また、前述した実施形態の構成の少なくとも一部を、他の前述した実施形態の構成に対して付加または置換してもよい。
(4h)前述したマイコン2~6の他、当該マイコン2~6を構成要素とするシステム、当該マイコン2~6としてコンピュータを機能させるためのプログラム、このプログラムを記録した半導体メモリ等の非遷移的実体的記録媒体、当該マイコン2~6が実行する電子制御方法など、種々の形態で本開示を実現することもできる。
2~6:マイコン(電子制御装置)、100:HV(ハイパーバイザ)、104:判定部、106:コピー部、110~170:VM(仮想マシン)、112、122、132:実行部、124、134:診断部、162、172:代行部
Claims (8)
- ハイパーバイザ(100)と、前記ハイパーバイザにより動作を制御される複数の仮想マシン(110~170、)と、を備える電子制御装置(2~6)であって、
前記複数の仮想マシンには、正常か異常かを監視される監視対象となる少なくとも1つの対象仮想マシン(120、130)と、前記対象仮想マシンが異常の場合に前記対象仮想マシンの処理を代行する少なくとも1つの代行仮想マシン(160、170)とが設定され、
1つまたは複数の前記対象仮想マシンの前記処理を1つの前記代行仮想マシンが代行し、
前記ハイパーバイザは、
前記対象仮想マシンが正常か異常かを判定するように構成された判定部(104、S420)と、
前記対象仮想マシンが正常であると前記判定部が判定すると、揮発性メモリ(30)において前記対象仮想マシンに割り当てられた記憶領域(34、36)に記憶されているデータを、前記揮発性メモリにおいて前記代行仮想マシンに割り当てられた記憶領域(42、44)にコピーするように構成されたコピー部(106、S422)と、
を備え、
前記代行仮想マシンは、前記対象仮想マシンが異常であると前記判定部が判定すると、前記揮発性メモリにおいて前記代行仮想マシンに割り当てられた前記記憶領域にコピーされた前記データに基づき、前記対象仮想マシンの処理を代行するように構成された代行部(162、172、S430)を備える、
電子制御装置。 - 請求項1に記載の電子制御装置であって、
不揮発性メモリ(50)において前記対象仮想マシンに割り当てられた記憶領域(54、56)に記憶されているデータは、前記不揮発性メモリにおいて前記代行仮想マシンに割り当てられた記憶領域(62、64)にコピーされており、
前記代行部は、前記対象仮想マシンが異常の場合、前記揮発性メモリと前記不揮発性メモリとにおいて前記代行仮想マシンに割り当てられたそれぞれの前記記憶領域にコピーされた前記データに基づき、前記対象仮想マシンの処理を代行するように構成されている、
電子制御装置。 - 請求項1に記載の電子制御装置であって、
前記代行仮想マシンは、前記対象仮想マシンが正常の場合、待機状態であるように構成されている、
電子制御装置。 - 請求項1に記載の電子制御装置であって、
前記代行部は、前記対象仮想マシンが正常の場合、前記対象仮想マシンの処理を代行する代行処理以外の通常処理を実行し、前記対象仮想マシンが異常の場合、前記通常処理を停止して前記代行処理を実行するように構成されている、
電子制御装置。 - 請求項1に記載の電子制御装置であって、
前記代行部は、前記対象仮想マシンが正常の場合、前記対象仮想マシンの処理を代行する代行処理以外の通常処理を実行し、前記対象仮想マシンが異常の場合、前記通常処理に加えて前記代行処理を実行するように構成されている、
電子制御装置。 - 請求項1に記載の電子制御装置であって、
1つの前記代行仮想マシンの前記代行部は、1つの前記対象仮想マシンの処理を代行するように構成されている、
電子制御装置。 - 請求項1に記載の電子制御装置であって、
1つの前記代行仮想マシンの前記代行部は、複数の前記対象仮想マシンの処理を代行するように構成されている、
電子制御装置。 - 請求項1に記載の電子制御装置であって、
前記対象仮想マシンは、自己診断として前記揮発性メモリと前記不揮発性メモリと処理フローで実行するステップとの少なくともいずれかが正常か異常かを診断するように構成された診断部(124、134、S402、S404、S408、S410、S414、S416)をさらに備え、
前記判定部は、前記診断部の診断結果に基づいて、前記対象仮想マシンが正常か異常かを判定するように構成されている、
電子制御装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022188363A JP2024076683A (ja) | 2022-11-25 | 2022-11-25 | 電子制御装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022188363A JP2024076683A (ja) | 2022-11-25 | 2022-11-25 | 電子制御装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2024076683A true JP2024076683A (ja) | 2024-06-06 |
Family
ID=91332752
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022188363A Pending JP2024076683A (ja) | 2022-11-25 | 2022-11-25 | 電子制御装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2024076683A (ja) |
-
2022
- 2022-11-25 JP JP2022188363A patent/JP2024076683A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101110490B1 (ko) | 정보 처리 장치, 프로세서 및 메모리 관리 방법 | |
JP6393628B2 (ja) | 車両制御装置 | |
JP2005129053A (ja) | フォールトトレラント・マルチコア・マイクロプロセッシング | |
JP2009516277A (ja) | 少なくとも2つのレジスタ付き処理ユニットを有するシステムにおいてエラーを除去する装置および方法 | |
US20070245133A1 (en) | Method and Device for Switching Between at Least Two Operating Modes of a Processor Unit | |
JP2022112508A (ja) | 高速かつセキュアでレジリエントなシステムブートのための不揮発性メモリデバイス、システムおよび方法 | |
US20210124655A1 (en) | Dynamic Configurable Microcontroller Recovery | |
JP4443569B2 (ja) | プロセッサユニットにおけるオペランド処理方法および装置 | |
JP2012190460A (ja) | プロセッサのフォールト・トレランスを改善するための装置 | |
JP2009516276A (ja) | プロプラム制御型ユニットおよびその駆動方法 | |
JP2024076683A (ja) | 電子制御装置 | |
JP2015035121A (ja) | 半導体集積回路装置 | |
EP4113306A1 (en) | Verifying processing logic of a graphics processing unit | |
US20100011183A1 (en) | Method and device for establishing an initial state for a computer system having at least two execution units by marking registers | |
JP5579257B2 (ja) | 主記憶装置における情報を復元するための装置及び方法 | |
JP5978873B2 (ja) | 電子制御装置 | |
JP2011039667A (ja) | 数値制御装置 | |
JP2011039667A5 (ja) | ||
JP4853620B2 (ja) | マルチプロセッサシステムと初期立ち上げ方法およびプログラム | |
JP2020030507A (ja) | マルチコア制御装置 | |
JP4576433B2 (ja) | 情報処理装置、演算処理装置、情報処理装置の制御方法及びプログラム | |
JPS6229820B2 (ja) | ||
JP6645467B2 (ja) | マイクロコンピュータ | |
JPH1069399A (ja) | マイクロコンピュータ | |
JP6973856B2 (ja) | 情報処理装置、実行方法及びプログラムの修正方法 |