JP2022083383A - 車載情報処理装置及び車載情報処理方法 - Google Patents

車載情報処理装置及び車載情報処理方法 Download PDF

Info

Publication number
JP2022083383A
JP2022083383A JP2021093646A JP2021093646A JP2022083383A JP 2022083383 A JP2022083383 A JP 2022083383A JP 2021093646 A JP2021093646 A JP 2021093646A JP 2021093646 A JP2021093646 A JP 2021093646A JP 2022083383 A JP2022083383 A JP 2022083383A
Authority
JP
Japan
Prior art keywords
shared
information processing
vehicle
storage unit
shared storage
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
Application number
JP2021093646A
Other languages
English (en)
Other versions
JP2022083383A5 (ja
Inventor
孝之 塩澤
Takayuki Shiozawa
紀博 尾野
Norihiro Ono
成人 赤堀
Shigeto Akahori
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.)
Sumitomo Wiring Systems Ltd
AutoNetworks Technologies Ltd
Sumitomo Electric Industries Ltd
Original Assignee
Sumitomo Wiring Systems Ltd
AutoNetworks Technologies Ltd
Sumitomo Electric Industries Ltd
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 Sumitomo Wiring Systems Ltd, AutoNetworks Technologies Ltd, Sumitomo Electric Industries Ltd filed Critical Sumitomo Wiring Systems Ltd
Priority to US18/253,965 priority Critical patent/US20240046720A1/en
Priority to PCT/JP2021/041447 priority patent/WO2022113747A1/ja
Priority to CN202180078310.3A priority patent/CN116529124A/zh
Publication of JP2022083383A publication Critical patent/JP2022083383A/ja
Publication of JP2022083383A5 publication Critical patent/JP2022083383A5/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】車両に搭載される装置におけるマルチコア及び共有メモリの構成の採用に寄与することが期待できる車載情報処理装置及び車載情報処理方法を提供する。【解決手段】本実施の形態に係る車載情報処理装置は、車両に搭載され、並列的に処理を行う複数の処理部と、前記複数の処理部がアクセス可能な複数の共有記憶部とを備え、前記複数の処理部は、少なくとも1つの共有記憶部を介して情報の授受を行い、所定のタイミングで、情報の授受に用いる共有記憶部を変更する。前記共有記憶部の異常を検出する検出部を備え、前記所定のタイミングは、前記検出部が前記少なくとも1つの共有記憶部の異常を検出したタイミングであり、前記複数の処理部は、前記検出部が前記少なくとも1つの共有記憶部の異常を検出した場合に、別の共有記憶部を介して情報の授受を行ってもよい。【選択図】図2

Description

本開示は、複数の処理部の間で情報の授受を行う車載情報処理装置及び車載情報処理方法に関する。
特許文献1においては、第1コア、第2コア及び共有メモリを備え、両コアが共有メモリを介して通信するマルチコア演算装置が記載されている。このマルチコア演算装置では、第1コアが制御対象である車両用駆動伝達装置の挙動変化の順序を示す挙動スケジュールを決定する挙動スケジュールアプリケーションを実行し、第2コアが車両用駆動伝達装置を動作させるアクチュエータを制御するアクチュエータ制御アプリケーション及び物理情報を取得して提供するセンシングアプリケーションを実行する。
特開2018-13843号公報
特許文献1に記載のマルチコア演算装置は、複数のコアが共有メモリを介して通信を行う構成である。近年では、車両に搭載されるECU(Electronic Control Unit)等の装置の高機能化が進められており、マルチコア及び共有メモリの構成が採用される場合がある。
本開示は、斯かる事情に鑑みてなされたものであって、その目的とするところは、車両に搭載される装置におけるマルチコア及び共有メモリの構成の採用に寄与することが期待できる車載情報処理装置及び車載情報処理方法を提供することにある。
本態様に係る車載情報処理装置は、車両に搭載され、並列的に処理を行う複数の処理部と、前記複数の処理部がアクセス可能な複数の共有記憶部とを備え、前記複数の処理部は、少なくとも1つの共有記憶部を介して情報の授受を行い、所定のタイミングで、情報の授受に用いる共有記憶部を変更する。
本願は、このような特徴的な制御部を備える装置として実現することができるだけでなく、かかる特徴的な処理をステップとする方法として実現したり、かかるステップをコンピュータに実行させるためのコンピュータプログラムとして実現したりすることができる。これらの装置の一部又は全部を実現する半導体集積回路として実現したり、これらの装置を含むその他の装置又はシステムとして実現したりすることができる。
上記によれば、車両に搭載される装置におけるマルチコア及び共有メモリの構成の採用に寄与することが期待できる。
本実施の形態に係る車載情報処理装置の構成を示すブロック図である。 RAMの記憶領域を説明するための模式図である。 本実施の形態に係る車載情報処理装置のアドレス変換部11が行う処理の手順を示すフローチャートである。 本実施の形態に係る車載情報処理装置のコアがそれぞれ行う処理の手順を示すフローチャートである。 実施の形態2に係る車載情報処理装置のアドレス変換部11が行う処理の手順を示すフローチャートである。 実施の形態3に係る車載情報処理装置の構成を示すブロック図である。 実施の形態3に係る車載情報処理装置の第1RAM及び第2RAMの記憶領域を説明するための模式図である。 実施の形態4に係る車載情報処理装置の構成を示すブロック図である。 実施の形態4に係る車載情報処理装置が行う処理の手順を示すフローチャートである。 実施の形態4に係る車載情報処理装置が行う共有領域変更処理の手順を示すフローチャートである。
[本開示の実施の形態の説明]
最初に本開示の実施態様を列記して説明する。以下に記載する実施形態の少なくとも一部を任意に組み合わせてもよい。
(1)本態様に係る車載情報処理装置は、車両に搭載され、並列的に処理を行う複数の処理部と、前記複数の処理部がアクセス可能な複数の共有記憶部とを備え、前記複数の処理部は、少なくとも1つの共有記憶部を介して情報の授受を行い、所定のタイミングで、情報の授受に用いる共有記憶部を変更する。
本態様にあっては、車載情報処理装置が並列的に処理を行う複数の処理部と、この複数の処理部がアクセス可能な複数の共有記憶部とを備える。複数の処理部は、複数の共有記憶部のうちの少なくとも1つの共有記憶部を介して情報の授受を行うと共に、情報の授受に用いる共有記憶部を所定のタイミングで変更する。車載情報処理装置は、複数の共有記憶部を適宜に利用して様々な処理、例えば異常が生じた場合の対応又はセキュリティ性能の向上等のための処理を行うことができるため、車両に搭載される装置におけるマルチコア及び共有メモリの構成の採用に寄与することが期待できる。
(2)前記共有記憶部の異常を検出する検出部を備え、前記所定のタイミングは、前記検出部が前記少なくとも1つの共有記憶部の異常を検出したタイミングであり、前記複数の処理部は、前記検出部が前記少なくとも1つの共有記憶部の異常を検出した場合に、別の共有記憶部を介して情報の授受を行うことが好ましい。
本態様にあっては、情報授受に用いる少なくとも1つの共有記憶部に異常を検出した場合、複数の処理部は、複数の共有記憶部のうちの別の共有記憶部を介して情報の授受を行う。これにより、少なくとも1つの共有記憶部に異常が生じた場合であっても、複数の処理部は、別の共有記憶部を介して情報の授受を継続して行うことが期待できる。
(3)前記所定のタイミングには、装置が起動されたタイミング、外部からの攻撃を検出したタイミング、所定の周期が経過したタイミング、装置の筐体が開かれたタイミング及び装置に接続されたコネクタが外されたタイミングのうちの少なくとも1つを含むことが好ましい。
本態様にあっては、情報の授受に用いる共有記憶部を変更する所定のタイミングには、装置が起動されたタイミング、外部からの攻撃を検出したタイミング、所定の周期が経過したタイミング、装置の筐体が開かれたタイミング及び装置に接続されたコネクタが外されたタイミング等のうちの少なくとも1つを含む。このようなタイミングで共有記憶部を変更することにより、例えば外部から装置内へ悪意の侵入又は攻撃等がなされた場合に、複数の処理部がいずれの共有記憶部を利用しているかを特定されること困難化し、共有記憶部に対する情報の改ざん等が行われることを困難化することが期待できる。
(4)前記複数の処理部は、情報の授受に用いる共有記憶部を、前記複数の共有記憶部からランダムに選択された共有記憶部に変更することが好ましい。
本態様にあっては、情報の授受に用いる共有記憶部を変更する場合に、複数の共有記憶部の中から一又は複数の共有記憶部が変更先としてランダムに選択される。これにより、複数の処理部が利用している共有記憶部が外部から特定されることを困難化することが期待できる。
(5)前記複数の処理部及び前記複数の共有記憶部の間に設けられ、前記処理部が記憶された情報にアクセスする際に用いる仮想アドレスと、前記共有記憶部の物理アドレスとを変換するアドレス変換部を備え、前記アドレス変換部は、前記所定のタイミングで、前記仮想アドレス及び前記物理アドレスの対応を変更して、前記複数の処理部が情報の授受を行う前記共有記憶部を切り替えることが好ましい。
本態様にあっては、複数の処理部及び複数の共有記憶部の間にアドレス変換部が介在し、処理部が用いる仮想アドレスと共有記憶部の物理アドレスとの変換を行う。車載情報処理装置は、所定のタイミングで仮想アドレス及び前記物理アドレスの対応を変更することで、複数の処理部が情報授受に用いる共有記憶部を切り替える。これにより、処理部は共有記憶部の物理アドレスを考慮せずに情報に対するアクセスを行うことができる。
(6)前記仮想アドレス及び前記物理アドレスの対応を記憶したアドレス変換テーブルを記憶する記憶部を備え、前記アドレス変換部は、前記記憶部に記憶された前記アドレス変換テーブルに基づいてアドレス変換を行い、前記所定のタイミングで、前記アドレス変換テーブルに記憶された対応を変更するが好ましい。
本態様にあっては、仮想アドレス及び前記物理アドレスの対応を記憶したアドレス変換テーブルが記憶部に記憶されており、アドレス変換部は記憶部からアドレス変換テーブルを読み出してアドレス変換を行う。車載情報処理装置は、所定のタイミングでアドレス変換テーブルの対応を変更することで、アドレス変換部によるアドレス変換を変更する。これにより、アドレス変換部によるアドレス変換を容易に変更することができる。
(7)前記アドレス変換部は、装置の起動時に前記記憶部に記憶された前記アドレス変換テーブルを取得し、前記所定のタイミングで、前記記憶部に記憶された前記アドレス変換テーブルに記憶された対応を変更して、再起動することが好ましい。
本態様にあっては、車載情報処理装置の起動時にアドレス変換部が記憶部に記憶されたアドレス変換テーブルを取得し、取得したアドレス変換テーブルの内容に従ってアドレス変換を行う。車載情報処理装置は、所定のタイミングでアドレス変換テーブルの対応を変更し、装置の再起動を行う。これにより車載情報処理装置は、装置の再起動を行うことでアドレス変換部によるアドレス変換の変更を容易に反映させることができる。
(8)前記処理部からの情報の書き込み要求に対して、前記複数の共有記憶部はそれぞれ同じ情報を記憶することが好ましい。
本態様にあっては、処理部から情報の書き込み要求に対して複数の共有記憶部がそれぞれ同じ情報を記憶する。これにより、複数の共有記憶部にて情報をバックアップすることができる。異常検出等に応じて複数の処理部が情報授受に用いる共有記憶部を変更した場合であっても、変更後の共有記憶部に同じ情報が記憶されているため、複数の処理部が処理を継続することが容易である。
(9)前記複数の共有記憶部は、前記複数の処理部がアクセス可能な1つのメモリ素子に設けられた複数の記憶領域であることが好ましい。
本態様にあっては、1つのメモリ素子に設けられた複数の記憶領域が、複数の共有記憶部として用いられる。これにより、複数の共有記憶部を低コストで設けることが期待できる。
(10)前記複数の共有記憶部は、前記複数の処理部がアクセス可能な複数のメモリ素子であることが好ましい。
本態様にあっては、複数のメモリ素子が、複数の共有記憶部として用いられる。これにより、例えば複数の共有記憶部に同じ情報をバックアップとして記憶しておく場合等に、情報の書き込み等を並行して行うことができ、処理の高速化が期待できる。
(11)本態様に係る車載情報処理装置は、車両に搭載され、並列的に処理を行う複数の処理部と、前記複数の処理部がアクセス可能な複数の共有記憶部と、前記共有記憶部の異常を検出する検出部とを備え、前記複数の処理部は、少なくとも1つの共有記憶部を介して情報の授受を行い、前記検出部が前記少なくとも1つの共有記憶部の異常を検出した場合に、別の共有記憶部を介して情報の授受を行う。
本態様にあっては、態様(2)と同様に、少なくとも1つの共有記憶部に異常が生じた場合であっても、複数の処理部は、別の共有記憶部を介して情報の授受を継続して行うことが期待できる。
(12)本態様に係る車載情報処理方法は、並列的に処理を行う複数の処理部、及び、前記複数の処理部がアクセス可能な複数の共有記憶部を備える車載情報処理装置が、少なくとも1つの共有記憶部を介して前記複数の処理部の間の情報の授受を行い、所定のタイミングで、情報の授受に用いる共有記憶部を変更する。
本態様にあっては、態様(1)と同様に、車両に搭載される装置におけるマルチコア及び共有メモリの構成の採用に寄与することが期待できる。
[本開示の実施形態の詳細]
本開示の実施形態に係る車載情報処理装置の具体例を、以下に図面を参照しつつ説明する。本開示はこれらの例示に限定されるものではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。
<実施の形態1>
<装置構成>
図1は、本実施の形態に係る車載情報処理装置の構成を示すブロック図である。本実施の形態に係る車載情報処理装置10は、車両100に搭載される例えばECU(Electronic Control Unit)又はGW(ゲートウェイ)等の種々の装置であり得る。車載情報処理装置10は、プログラムを実行することによって種々の演算処理を行うCPU(Central Processing Unit)又はMPU(Micro-Processing Unit)等の処理部を複数備えている。本実施の形態においては、車載情報処理装置10が3つの処理部を備えているものとし、これら3つの処理部をコア1~3と呼ぶ。
本実施の形態に係る車載情報処理装置10は、上記のコア1~3、アドレス変換部11、不揮発性記憶部12及びRAM(Random Access Memory)20等を備えて構成されている。アドレス変換部11は、コア1~3と不揮発性記憶部12及びRAM20との間に設けられ、コア1~3から不揮発性記憶部12及びRAM20に対するアクセスを仲介する。コア1~3は、RAM20などのメモリにアクセス(データの書き込み及びデータの読み出し)する場合に、アクセス対象となる記憶領域を示すアドレスを指定する。コア1~3は、それぞれ個別のアドレス空間でデータを扱って処理を行っており、このアドレス空間のアドレス(仮想アドレス)と、RAM20のアドレス(物理アドレス)との変換をアドレス変換部11が行っている。
不揮発性記憶部12は、例えばフラッシュメモリ又はEEPROM(Electrically Erasable Programmable Read Only Memory)等のデータ書換可能な不揮発性のメモリ素子を用いて構成されている。不揮発性記憶部12は、例えばコア1~3が実行するプログラム又はコア1~3の処理に用いられるデータ等が予め記憶され得る。本実施の形態において不揮発性記憶部12は、アドレス変換部11の処理に用いられるアドレス変換テーブル13が予め記憶されている。アドレス変換テーブル13は、例えばコア1~3が使用する仮想アドレスと、RAM20の物理アドレスとの対応が記憶されたテーブルである。
RAM20は、例えばSRAM(Static Random Access Memory)又はDRAM(Dynamic Random Access Memory)等のデータ書換可能な大容量のメモリ素子を用いて構成されている。なお車載情報処理装置10は、RAM20に代えて、フラッシュメモリ等の不揮発性のメモリ素子を用いた記憶部を備えてもよい。RAM20は、コア1~3が行う種々の処理の処理過程で生じたデータを一時的に記憶する。本実施の形態においては、RAM20の記憶領域は複数の領域に分割されて用いられる。
図2は、RAM20の記憶領域を説明するための模式図である。本実施の形態に係る車載情報処理装置10のRAM20の記憶領域は、共有メモリ30、コア1用メモリ21、コア2用メモリ22及びコア3用メモリ23の大きく3つの記憶領域に分けて用いられる。更に共有メモリ30は、第1共有領域、第2共有領域、第3共有領域、…、第N共有領域のN個の記憶領域に分けて用いられる(N=1,2,3,…)。
RAM20のコア1用メモリ21は、コア1がデータを記憶する専用の記憶領域であり、コア2及びコア3はアクセスすることができない記憶領域である。アドレス変換部11は、コア1からRAM20へのアクセス要求に対しては、仮想アドレスをこのコア1用メモリ21の物理アドレスに変換する。同様に、RAM20のコア2用メモリ22は、コア2がデータを記憶する専用の記憶領域であり、コア3及びコア1はアクセスすることができない記憶領域である。アドレス変換部11は、コア2からRAM20へのアクセス要求に対しては、仮想アドレスをこのコア2用メモリ22の物理アドレスに変換する。RAM20のコア3用メモリ23は、コア3がデータを記憶する専用の記憶領域であり、コア1及びコア2はアクセスすることができない記憶領域である。アドレス変換部11は、コア3からRAM20へのアクセス要求に対しては、仮想アドレスをこのコア3用メモリ23の物理アドレスに変換する。
共有メモリ30は、コア1~3がアクセスすることができる記憶領域である。車載情報処理装置10のコア1~コア3は、RAM20の共有メモリ30に対するデータの書き込み及び読み出しを行うことによって、複数のコア1~3間のデータの授受、即ち通信を実現する。また本実施の形態においてコア1~3は、RAM20の共有メモリ30に記憶するデータには、誤り検出用の情報としてチェックサムなどを付す。コア1~3は、RAM20の共有メモリ30からデータを読み出した場合、データに付されたチェックサムに基づいて誤り検出を行う。なお共有メモリ30に記憶するデータに付す誤り検出用の情報は、チェックサムに限らず、例えばパリティ符号又は巡回符号等であってもよい。またデータに対する誤り検出用の情報の付与及び/又はこの情報に基づく誤り検出の処理は、コア1~3が行うのではなく、アドレス変換部11が行ってもよい。
なお共有メモリ30は、複数のコア1~3がアクセスすることができるが、少なくとも同じアドレスに対して複数のコア1~3が同時的にアクセスすることはできない。このためにアドレス変換部11は、複数のコア1~3による共有メモリ30への同時的なアクセスを禁止する排他処理(排他制御、相互排除、相互排他)を行う。排他処理は、例えばセマフォ又はモニタ等の既存の技術を用いて行われる。
また本実施の形態においてRAM20の共有メモリ30は、第1共有領域から第N共有領域までのN個の領域に分けられている。例えば車載情報処理装置10が製造されて初めて動作した場合、コア1~3の間のデータの授受はRAM20の共有メモリ30の第1共有領域を用いて行われ、第2共有領域から第N共有領域までは利用されない。この際にアドレス変換部11は、コア1~3から共有メモリ30へのデータの書き込み又は読み出しの要求が与えられた場合、コア1~3が指定する仮想アドレスを、共有メモリ30の第1共有領域の物理アドレスへ変換する。車載情報処理装置10は、第1共有領域を用いたデータの授受に異常等が生じるまで、コア1~3の間のデータ授受に第1共有領域を継続的に使用する。
第1共有領域を用いたデータ授受において異常等が検出された場合、本実施の形態に係る車載情報処理装置10は、コア1~3の間のデータ授受に用いる共有領域を第1共有領域から第2共有領域へ変更する。アドレス変換部11は、コア1~3から共有メモリ30へのデータの書き込み又は読み出しの要求が与えられた場合、コア1~3が指定する仮想アドレスを、共有メモリ30の第2共有領域の物理アドレスへ変換する。車載情報処理装置10は、第2共有領域を用いたデータの授受に異常等が生じるまで、コア1~3の間のデータ授受に第2共有領域を継続的に使用する。
このように車載情報処理装置10は、共有メモリ30の記憶領域を複数に分割した第1共有領域~第N共有領域の1つをコア1~3の間のデータ授受に使用し、使用している共有領域に異常等が生じるまではこの共有領域を使用し続ける。その後、コア1~3の間のデータ授受に使用している共有領域に異常等が生じた場合には、車載情報処理装置10は、別の(次の)共有領域を使用する。なお本実施の形態において車載情報処理装置10は、共有領域に異常等が生じたか否かを、共有領域から読み出したデータに付されたチェックサムに基づくデータの誤りが検出されたか否かにより判断する。
アドレス変換部11は、予め不揮発性記憶部12に記憶されたアドレス変換テーブル13を読み出して、このアドレス変換テーブル13に設定された変換規則等を自身のレジスタ等の記憶部に記憶し、記憶した変換規則等に従ってコア1~3の仮想アドレスをRAM20の物理アドレスに変換する。アドレス変換テーブル13は、例えば車載情報処理装置10の設計者等により予め作成され、車載情報処理装置10の製造段階等において不揮発性記憶部12に書き込まれる。アドレス変換部11は、例えば車載情報処理装置10の起動時に不揮発性記憶部12からアドレス変換テーブル13を読み出して自身の記憶部に記憶し、アドレス変換の処理を開始する。
上述のように、本実施の形態に係る車載情報処理装置10は、RAM20の共有メモリ30のいずれかの共有領域を用いてコア1~3の間のデータ授受を行い、共有領域に異常等が生じた場合には、別の共有領域への切り替えを行う。このときに車載情報処理装置10は、アドレス変換部11による以後のアドレス変換の規則を変更する必要がある。本実施の形態に係る車載情報処理装置10は、共有領域にて異常等が生じた場合に、不揮発性記憶部12に記憶されたアドレス変換テーブル13の変更を行うことによって、アドレス変換部11によるアドレス変換を変更する。車載情報処理装置10は、例えばコア1~3の共有メモリ30へのアクセスに関する仮想アドレスをRAM20の共有メモリ30の第1共有領域の物理アドレスに変換する変換規則が設定されているアドレス変換テーブル13に対し、第2共有領域の物理アドレスに変換するよう変換規則を変更する。不揮発性記憶部12のアドレス変換テーブル13の変更完了後に車載情報処理装置10は、リセット又はリブート等により装置を再起動する。この再起動によりアドレス変換部11は、変更されたアドレス変換テーブル13を不揮発性記憶部12から読み出してアドレス変換の処理を開始するため、アドレス変換の変換内容の変更が実現される。
なお車載情報処理装置10によるアドレス変換テーブル13の変更は、アドレス変換テーブル13に設定された変換規則を直接的に書き換えてもよいが、例えば複数のアドレス変換テーブル13を不揮発性記憶部12に記憶しておくと共に、いずれのアドレス変換テーブル13をアドレス変換部11が読み出して使用するかを示すフラグ等の情報を書き換えることでアドレス変換テーブル13の変更を行ってもよい。
またアドレス変換テーブル13を変更する処理は、コア1~3のいずれか(例えば共有領域の異常を検出したコア)が行ってもよく、アドレス変換部11が行ってもよく、これら以外の機能部が行ってもよい。本実施の形態に係る車載情報処理装置10では、RAM20の共有メモリ30の共有領域の異常検出を、共有領域から読み出したデータに付されたチェックサムに基づいてコア1~3が行い、異常が検出された場合にコア1~3からアドレス変換部11へ通知を行い、アドレス変換部11が不揮発性記憶部12のアドレス変換テーブル13の変更する処理を行うものとする。
<フローチャート>
図3は、本実施の形態に係る車載情報処理装置10のアドレス変換部11が行う処理の手順を示すフローチャートである。なお本フローチャートにおいては、コア1~3がRAM20の共有メモリ30にアクセスする際の処理手順を示し、RAM20のコア1用メモリ21、コア2用メモリ22又はコア3用メモリ23に対するアクセスについては図示を省略している。本実施の形態に係る車載情報処理装置10のアドレス変換部11は、装置の起動に伴って例えば自身のレジスタの初期化等の起動処理を行う(ステップS1)。起動処理の完了後、アドレス変換部11は、不揮発性記憶部12に記憶されたアドレス変換テーブル13を読み出して(ステップS2)、アドレス変換テーブル13の設定に基づくアドレス変換の処理を開始する。
アドレス変換部11は、コア1~3からRAM20の共有メモリ30に対するデータの書き込み又は読み出し等のアクセス要求が与えられたか否かを判定する(ステップS3)。アクセス要求が与えられていない場合(S3:NO)、アドレス変換部11は、アクセス要求が与えられるまで待機する。アクセス要求が与えられた場合(S3:YES)、アドレス変換部11は、RAM20の共有メモリ30の共有領域について別のコア1~3からのアクセスを制限する排他処理を行う(ステップS4)。アドレス変換部11は、アクセス要求元のコア1~3が指定した仮想アドレスを物理アドレスに変換してアクセス要求の対象となる共有領域にデータの書き込み又は読み出しのアクセスを実施する(ステップS5)。その後、アドレス変換部11は、この共有領域に対するアクセスの制限を解除する排他終了処理を行う(ステップS6)。
アドレス変換部11は、共有領域に対するアクセスを行ったコア1~3から異常ありの通知が与えられたか否かを判定する(ステップS7)。異常ありの通知を与えられていない場合(S7:NO)、アドレス変換部11は、ステップS3へ処理を戻す。異常ありの通知を与えられた場合(S7:YES)、アドレス変換部11は、現在のアクセス対象の共有領域から別の共有領域に切り替えるよう、不揮発性記憶部12に記憶されたアドレス変換テーブル13の設定内容を変更する(ステップS8)。アドレス変換テーブル13の変更完了後、アドレス変換部11は、車載情報処理装置10をリセットする処理を行って(ステップS9)、処理を終了する。なおこのリセット処理により車載情報処理装置10は再起動され、図示のフローチャートのステップS1の処理が開始される。
図4は、本実施の形態に係る車載情報処理装置10のコア1~3がそれぞれ行う処理の手順を示すフローチャートである。なお本フローチャートにおいては、コア1~3がRAM20の共有メモリ30にアクセスする際の処理手順を示し、RAM20のコア1用メモリ21、コア2用メモリ22又はコア3用メモリ23に対するアクセスについては図示を省略している。
本実施の形態に係る車載情報処理装置10のコア1~3は、RAM20の共有メモリ30に対するデータの書き込みを行う必要があるか否かを判定する(ステップS21)。データの書き込みを行う必要がある場合(S21:YES)、コア1~3は、書き込むデータにチェックサムを付与する(ステップS22)。コア1~3は、このデータを書き込むアドレスとチェックサムを付与したデータとを含む書き込み要求をアドレス変換部11へ出力し(ステップS23)、ステップS21へ処理を戻す。
データの書き込みを行う必要がない場合(S21:NO)、コア1~3は、RAM20の共有メモリ30からデータの読み出しを行う必要があるか否かを判定する(ステップS24)。データの読み出しを行う必要がない場合(S24:NO)、コア1~3は、ステップS21へ処理を戻す。データの読み出しを行う必要がある場合(S24:YES)、コア1~3は、データを読み出すアドレスを含む読み出し要求をアドレス変換部11へ出力する(ステップS25)。コア1~3は、読み出し要求に応じてRAM20の共有メモリ30から読み出されたデータを取得する(ステップS26)。コア1~3は、読み出したデータに付されたチェックサムを確認する処理を行う(ステップS27)。コア1~3は、チェックサムの確認結果に基づいて、RAM20の共有メモリ30の異常の有無を判定する(ステップS28)。異常がない場合(S28:NO)、コア1~3は、ステップS21へ処理を戻す。異常がある場合(S28:YES)、コア1~3は、アドレス変換部11に異常を通知して(ステップS29)、ステップS21へ処理を戻す。
<まとめ>
以上の構成の本実施の形態に係る車載情報処理装置10は、並列的に処理を行う複数のコア1~3と、このコア1~3がアクセス可能な複数の共有領域を含む共有メモリ30とを備える。複数のコア1~3は、複数の共有領域のうちの少なくとも1つの共有領域を介して情報の授受を行う。情報授受に用いる少なくとも1つの共有領域に異常を検出した場合、複数のコア1~3は、別の共有領域を介して情報の授受を行う。これにより、少なくとも1つの共有領域に異常が生じた場合であっても、複数のコア1~3は、別の共有領域を介して情報の授受を継続して行うことが期待できる。
また本実施の形態に係る車載情報処理装置10は、複数のコア1~3及び複数の共有領域を有するRAM20の間にアドレス変換部11が介在し、コア1~3が用いる仮想アドレスとRAM20の物理アドレスとの変換をアドレス変換部11が行う。複数のコア1~3が情報授受に用いる少なくとも1つの共有領域に異常を検出した場合、アドレス変換部11が仮想アドレス及び物理アドレスの対応を変更することで、複数のコア1~3が情報授受に用いる共有領域を切り替える。これにより、コア1~3は、共有領域の物理アドレスを考慮することなく情報に対するアクセスを行うことができる。
また本実施の形態に係る車載情報処理装置10は、仮想アドレス及び物理アドレスの対応を記憶したアドレス変換テーブル13が不揮発性記憶部12に記憶されており、アドレス変換部11は不揮発性記憶部12からアドレス変換テーブル13を読み出してアドレス変換を行う。車載情報処理装置10は、複数のコア1~3が情報の授受に用いる少なくとも1つの共有領域に異常を検出した場合、アドレス変換テーブル13の対応を変更することで、アドレス変換部11によるアドレス変換を変更する。これにより、アドレス変換部11によるアドレス変換を容易に変更することができる。
また本実施の形態に係る車載情報処理装置10は、車載情報処理装置10の起動時にアドレス変換部11が不揮発性記憶部12に記憶されたアドレス変換テーブル13を取得し、取得したアドレス変換テーブル13の内容に従ってアドレス変換を行う。車載情報処理装置10は、複数のコア1~3が情報の授受に用いる少なくとも1つの共有領域に異常を検出した場合には、不揮発性記憶部12のアドレス変換テーブル13の内容を変更した後に、車載情報処理装置10の再起動を行う。これにより、車載情報処理装置10の再起動を行うことでアドレス変換部11によるアドレス変換の変更を容易に反映させることができる。
また本実施の形態に係る車載情報処理装置10は、1つのRAM20の共有メモリ30に設けられた複数の領域が、コア1~3が情報の授受に用いる複数の共有領域として用いられる。これにより、コア1~3が情報の授受に用いる複数の共有領域を低コストで実現することができる。
なお本実施の形態においては、車載情報処理装置10の再起動によりアドレス変換部11のアドレス変換テーブル13を更新するものとしたが、これに限るものではなく、再起動以外の方法でアドレス変換部11のアドレス変換テーブル13を更新してもよい。例えば、異常を検出した場合に不揮発性記憶部12のアドレス変換テーブル13を変更し、変更完了後にアドレス変換部11が再起動を伴わずに不揮発性記憶部12からアドレス変換テーブル13を取得して以後のアドレス変換の処理に用いてもよい。
また本実施の形態においては、共有領域からデータを読み出した際に、この共有領域についての異常の有無を判定しているが、これに限るものではなく、例えば共有領域に対するデータの書き込みを行う際に異常の有無を判定してもよい。また共有領域の異常を検出した場合にアドレス変換テーブル13を変更して車載情報処理装置10を再起動する処理をアドレス変換部11が行うのではなく、コア1~3のいずれかが行ってもよい。
<実施の形態2>
実施の形態2に係る車載情報処理装置10は、RAM20の共有メモリ30の複数の共有領域に同じデータを書き込む。実施の形態2に係る車載情報処理装置10のアドレス変換部11は、コア1~3から共有メモリ30に対するデータの書き込み要求を与えられた場合、例えば共有メモリ30の第1共有領域及び第2共有領域に同じデータを書き込む。その後、コア1~3からこのデータの読み出し要求を与えられた場合、アドレス変換部11は第1共有領域に書き込んだデータを読み出して要求元のコア1~3へ与える。
読み出したデータに付されたチェックサムに基づいて第1共有領域に異常が生じたと判断した場合、車載情報処理装置10は、アドレス変換部11のアドレス変換テーブル13を変更することによって、データの書き込み及び読み出しを行う共有領域を第1共有領域から第2共有領域へ切り替える。以後、車載情報処理装置10のアドレス変換部11は、コア1~3からの書き込み要求に応じて、第2共有領域及び第3共有領域に同じデータを書き込む。またコア1~3からの読み出し要求に応じて、アドレス変換部11は、第2共有領域に書き込んだデータを読み出してコア1~3へ与える。
即ち、実施の形態2に係る車載情報処理装置10は、RAM20の複数の共有領域について、第i共有領域及び第i+1共有領域(i=1,2,…,N-1)に同じデータを書き込む。複数の共有領域に対する同じデータの書き込みは、並列的に行われてもよく、逐次的に行われてもよい。車載情報処理装置10は、データを読み出す場合には、第i共有領域に記憶されたデータを読み出す。ただし車載情報処理装置10は、第i+1共有領域のデータを読み出してもよい。また車載情報処理装置10は、2つの共有領域からデータを読み出して一致することを確認して要求元のコア1~3にデータを与えてもよい。この場合、2つの共有領域から読み出したデータが一致しない場合には、車載情報処理装置10は、共有領域に異常が生じたと判断してもよい。
また実施の形態2に係る車載情報処理装置10は、RAM20がSRAM又はDRAM等の揮発性のメモリ素子を用いて構成されている場合、共有領域の異常を検出して不揮発性記憶部12のアドレス変換テーブル13を変更した後、装置の再起動を行うことなく、アドレス変換部11が不揮発性記憶部12からアドレス変換テーブル13を取得して仮想アドレス及び物理アドレスの対応を変更する事が好ましい。または、再起動を行った場合にRAM20に記憶されたデータが初期化されない構成であることが好ましい。これにより、第i+1共有領域に書き込んだデータを用いてコア1~3が処理を継続して行うことが期待できる。なお車載情報処理装置10は、RAM20が不揮発性のメモリ素子を用いて構成されている場合、装置の再起動を行ってもよく、行わなくてもよい。
図5は、実施の形態2に係る車載情報処理装置10のアドレス変換部11が行う処理の手順を示すフローチャートである。なお本フローチャートにおいては、コア1~3がRAM20の共有メモリ30にアクセスする際の処理手順を示し、RAM20のコア1用メモリ21、コア2用メモリ22又はコア3用メモリ23に対するアクセスについては図示を省略している。
実施の形態2に係る車載情報処理装置10のアドレス変換部11は、コア1~3からRAM20の共有メモリ30に対するデータの書き込み要求が与えられたか否かを判定する(ステップS41)。書き込み要求が与えられた場合(S41:YES)、アドレス変換部11は、RAM20の共有メモリ30の共有領域について別のコア1~3からのアクセスを制限する排他処理を行う(ステップS42)。アドレス変換部11は、書き込み要求元のコア1~3が指定した仮想アドレスを物理アドレスに変換して書き込み要求の対象となる共有領域にデータの書き込みを行う(ステップS43)。更にアドレス変換部11は、ステップS43にてデータを書き込んだ共有領域の次の共有領域に同じデータの書き込みを行う(ステップS44)。その後、アドレス変換部11は、この共有領域に対するアクセスの制限を解除する排他終了処理を行って(ステップS45)、ステップS41へ処理を戻す。
コア1~3から書き込み要求が与えられていない場合(S41:NO)、アドレス変換部11は、コア1~3からRAM20の共有メモリ30に対するデータの読み出し要求が与えられたか否かを判定する(ステップS46)。読み出し要求が与えられていない場合(S46:NO)、アドレス変換部11は、ステップS41へ処理を戻す。読み出し要求が与えられた場合(S46:YES)、アドレス変換部11は、RAM20の共有メモリ30の共有領域について別のコア1~3からのアクセスを制限する排他処理を行う(ステップS47)。アドレス変換部11は、読み出し要求元のコア1~3が指定した仮想アドレスを物理アドレスに変換して読み出し要求の対象となる共有領域からデータの読み出しを行う(ステップS48)。その後、アドレス変換部11は、この共有領域に対するアクセスの制限を解除する排他終了処理を行う(ステップS49)。
アドレス変換部11は、共有領域に対するデータの読み出しを行ったコア1~3から異常ありの通知が与えられたか否かを判定する(ステップS50)。異常ありの通知を与えられていない場合(S50:NO)、アドレス変換部11は、ステップS41へ処理を戻す。異常ありの通知を与えられた場合(S50:YES)、アドレス変換部11は、現在のアクセス対象の共有領域から別の共有領域に切り替えるよう、不揮発性記憶部12に記憶されたアドレス変換テーブル13の設定内容を変更する(ステップS51)。その後、アドレス変換部11は、不揮発性記憶部12からアドレス変換テーブル13を取得して(ステップS52)、変更されたアドレス変換テーブル13の設定を反映したアドレス変換を開始し、ステップS41へ処理を戻す。
以上の構成の実施の形態2に係る車載情報処理装置10は、コア1~3からのデータの書き込み要求に対して、複数の共有領域にそれぞれ同じデータを書き込む。これにより複数の共有領域にてデータをバックアップすることができる。異常検出に応じて複数のコア1~3が情報授受に用いる共有領域を変更した場合であっても、変更後の共有領域に同じデータが記憶されているため、コア1~3が処理を継続することが容易である。
なお実施の形態2においては、車載情報処理装置10が複数の共有領域のうちの2つの共有領域に同じデータを書き込んでいるが、これに限るものではなく、3つ以上の共有領域に同じデータを書き込んでもよく、全ての共有領域に同じデータを書き込んでもよい。
また、実施の形態2に係る車載情報処理装置のその他の構成は、実施の形態1に係る車載情報処理装置と同様であるため、同様の箇所には同じ符号を付し、詳細な説明を省略する。
<実施の形態3>
図6は、実施の形態3に係る車載情報処理装置10の構成を示すブロック図である。実施の形態3に係る車載情報処理装置10は、コア1~3がアクセス可能なRAMを複数備えている。図示の例では、車載情報処理装置10は、第1RAM121と第2RAM122との2つのRAMを備えている。第1RAM121及び第2RAM122は同じ容量であることが好ましいが、これに限るものではなく、容量が異なっていてもよい。
図7は、実施の形態3に係る車載情報処理装置10の第1RAM121及び第2RAM122の記憶領域を説明するための模式図である。実施の形態3に係る車載情報処理装置10の第1RAM121の記憶領域は、共有メモリ30、コア1用メモリ21、コア2用メモリ22及びコア3用メモリ23の大きく3つの記憶領域に分けて用いられる。同様に、第2RAM122の記憶領域は、共有メモリ30、コア1用メモリ21、コア2用メモリ22及びコア3用メモリ23の大きく3つの記憶領域に分けて用いられる。第1RAM121及び第2RAM122のコア1用メモリ21は、コア1がデータを記憶する専用の記憶領域であり、コア2及びコア3はアクセスすることができない記憶領域である。同様に、コア2用メモリ22は、コア2がデータを記憶する専用の記憶領域であり、コア3及びコア1はアクセスすることができない記憶領域である。コア3用メモリ23は、コア3がデータを記憶する専用の記憶領域であり、コア1及びコア2はアクセスすることができない記憶領域である。
第1RAM121及び第2RAM122の共有メモリ30は、コア1~3がアクセスすることができる記憶領域である。実施の形態3に係る共有メモリ30は、図2に示した共有メモリのように複数の共有領域に分割して使用されるのではなく、共有メモリ30全体を1つの共有領域として使用される。例えば車載情報処理装置10が製造されて初めて動作した場合、コア1~3によるデータの書き込み及びデータの読み出しと、コア1~3の間のデータの授受は第1RAM121を用いて行われ、第2RAM122は利用されない。この際にアドレス変換部11は、コア1~3からデータの書き込み又は読み出しの要求が与えられた場合、コア1~3が指定する仮想アドレスを、第1RAM121の物理アドレスへ変換する。車載情報処理装置10は、第1RAM121を用いたデータの書き込み又は読み出しに異常等が生じるまで、コア1~3によるデータの書き込み及び読み出しに第1RAM121を継続的に使用する。
第1RAM121を用いたデータの書き込み及び読み出しにおいて異常等が検出された場合、実施の形態3に係る車載情報処理装置10は、コア1~3のデータの書き込み及び読み出しに用いるRAMを第1RAM121から第2RAM122へ変更する。アドレス変換部11は、コア1~3からデータの書き込み又は読み出しの要求が与えられた場合、コア1~3が指定する仮想アドレスを、第2RAM122の物理アドレスへ変換する。
実施の形態3に係る車載情報処理装置10は、第1RAM121の共有メモリ30を用いてコア1~3の間のデータ授受を行う。第1RAM121の共有メモリ30に異常等が生じた場合、車載情報処理装置10は、第2RAM122への切り替えを行う。このときに車載情報処理装置10は、不揮発性記憶部12に記憶されたアドレス変換テーブル13の変更を行うことによって、アドレス変換部11によるアドレス変換の対応を変更する。車載情報処理装置10は、例えばコア1~3の共有メモリ30へのアクセスに関する仮想アドレスを第1RAM121の共有メモリ30の物理アドレスに変換する変換規則が設定されているアドレス変換テーブル13に対し、第2RAM122の共有メモリ30の物理アドレスに変換するよう変換規則を変更する。
以上の構成の実施の形態3に係る車載情報処理装置10は、複数のメモリ素子を第1RAM121及び第2RAM122として備え、第1RAM121を介してコア1~3がデータの授受を行い、第1RAM121に異常が生じた場合には、第1RAM121から第2RAM122への切り替えを行い、第2RAM122を介してコア1~3がデータの授受を行う。これにより、第1RAM121に異常が生じた場合であっても、複数のコア1~3は、第2RAM122を介してデータの授受を継続して行うことが期待できる。
なお実施の形態3においては、車載情報処理装置10が第1RAM121及び第2RAM122の2つを備える構成を示したが、これに限るものではなく、車載情報処理装置10が3つ以上のRAMを備えて異常検出に応じて順番に使用するRAMを切り替えてもよい。また実施の形態3に係る車載情報処理装置10は、第1RAM121の共有メモリ30にて異常を検出した場合のみでなく、コア1用メモリ21、コア2用メモリ22又はコア3用メモリ23にて異常を検出した場合にも第1RAM121から第2RAM122への切り替えを行ってよい。この場合には、コア1用メモリ21、コア2用メモリ22及びコア3用メモリ23に気多くされるデータにチェックサム等の誤り検出用の情報が付される。また車載情報処理装置10の第2RAM122にコア1用メモリ21、コア2用メモリ22及びコア3用メモリ23が設けられる構成としたが、これに限るものではなく、第2RAM122には共有メモリのみが設けられる構成であってもよく、この場合に第2RAM122の容量は第1RAM121の容量よりも少なくてよい。
また実施の形態3に係る車載情報処理装置10は、第1RAM121及び第2RAM122の共有メモリ30に、図2に示した第1共有領域~第N共有領域を設けてもよい。この場合に車載情報処理装置10は、第1RAM121の共有メモリ30の第1共有領域から第N共有領域までを順に切り替えて使用し、第1RAM121の共有メモリ30の第N共有領域に異常を検出した場合に、第2RAM122の共有メモリ30の第1共有領域への切り替えを行う。また実施の形態3に係る車載情報処理装置10は、実施の形態2に係る車載情報処理装置10と同様に、第1RAM121及び第2RAM122の両方に同じデータを書き込んでもよい。
また、実施の形態3に係る車載情報処理装置のその他の構成は、実施の形態1に係る車載情報処理装置と同様であるため、同様の箇所には同じ符号を付し、詳細な説明を省略する。
<実施の形態4>
実施の形態1~3に係る車載情報処理装置は、異常検出に対して共有メモリ30の第1共有領域~第N共有領域の切り替えを行うことによって、異常による悪影響を排除する構成である。これに対して実施の形態4に係る発明は、外部からの悪意のある浸入又は攻撃等に対して、共有メモリ30の第1共有領域~第N共有領域のいずれを利用しているかを特定されることを防止し、共有メモリ30に対する不正なデータの書き換え等が行われることを防止する構成である。
図8は、実施の形態4に係る車載情報処理装置の構成を示すブロック図である。実施の形態4に係る車載情報処理装置は、コア1~3、アドレス変換部11、不揮発性記憶部12、RAM20、通信部415、コネクタ検知部416及び筐体開検知部417等を備えて構成されている。コア1~3、アドレス変換部11、不揮発性記憶部12及びRAM20については、図1に示した実施の形態1に係る車載情報処理装置が備えるものと同様であるため、説明を省略する。
通信部415は、車両100に備えられた車内ネットワークを介して他の装置との間で通信を行う。通信部415は、例えばCAN(Controller Area Network)又はイーサネット(登録商標)等の通信プロトコルに基づく通信を行う。車載情報処理装置10は車内ネットワークを構成する通信線に接続され、通信部415は、コア1~3から与えられた送信用のデータを電気信号に変換して通信線へ出力することによりデータを送信する。通信部415は、通信線の電位をサンプリングして取得することにより、通信線上の電気信号をデジタルのデータに変換し、変換したデータを受信データとしてコア1~3へ与える。
コネクタ検知部416は、車載情報処理装置が備える一又は複数のコネクタに対する、通信線又は電源線等に設けられたコネクタの接続状態を検知する。コネクタ検知部416は、例えば自身のコネクタを介して流れる電流量及びその変化等を検知することによって、自身のコネクタに対する通信線等のコネクタが接続されているか否かを検知する。コネクタ検知部416は、自身のコネクタに通信線等のコネクタが接続された場合、及び、接続されているコネクタが外された場合に、その旨をコア1~3等へ通知する。
筐体開検知部417は、車載情報処理装置10の筐体が開かれたことを検知する。車載情報処理装置10は、例えば合成樹脂又は金属等の筐体に、コア1~3等の回路素子が搭載された回路基板が収容された構成である。筐体は、例えば直方体形状であり、その一面が着脱可能な蓋とされている。筐体開検知部417は、例えば蓋の着脱に応じてオン/オフが切り替えられるスイッチに接続され、このスイッチのオン/オフの状態を検知することによって、筐体が開かれたか否かを検知し、検知結果をコア1~3等へ通知する。
車載情報処理装置は、複数のコア1~3がRAM20の共有メモリ30に含まれる第1共有領域~第N共有領域のいずれか1つ(複数であってもよい)を利用してデータの書き込み及び読み出しを行い、コア1~3の間でのデータの授受を行う。実施の形態4に係る車載情報処理装置は、所定のタイミングでコア1~3が利用する共有メモリ30の第1共有領域~第N共有領域を変更する処理を行うことで、コア1~3がいずれの共有領域を利用しているかを外部から特定されることを困難化する。
実施の形態4において車載情報処理装置が共有領域の変更処理を行う所定タイミングには、例えば以下の(1)~(5)が採用され得る。ただし共有領域の変更処理を行う所定タイミングには、以下の(1)~(5)とは異なるタイミングが採用されてもよい。
(1)車載情報処理装置が起動される都度、共有領域を変更する。
(2)外部から車載情報処理装置への何らかの攻撃を検出した場合に、共有領域を変更する。
(3)所定の周期で共有領域の変更を繰り返して行う。
(4)車載情報処理装置の筐体が開かれた場合に共有領域を変更する。
(5)車載情報処理装置に接続されたコネクタが外された場合に共有領域を変更する。
(1)装置起動時
実施の形態4に係る車載情報処理装置は、例えば車両100のイグニッションスイッチがオフ状態からオン状態へ切り替えられた場合に、バッテリ等からの電力が供給されて起動する。車載情報処理装置は、例えばコア1~3内のレジスタ及びRAM20の初期化等の処理を含む起動処理を行った後、RAM20の共有メモリ30の共有領域を変更する処理を開始する。
車載情報処理装置は、例えば第1共有領域~第N共有領域のN個の共有領域から1個の共有領域をランダムに選択する。なお、共有領域の選択方法はランダム以外の方法であってもよい。共有領域の選択は、例えば車載情報処理装置10のコア1~3のいずれか1つが行ってもよく、アドレス変換部11が行ってもよく、これら以外の制御回路等が行ってもよい。車載情報処理装置は、N個の共有領域からランダムに選択した1つの共有領域をコア1~3が共有する記憶領域となるよう、不揮発性記憶部12のアドレス変換テーブル13を変更する。車載情報処理装置のアドレス変換部11は、不揮発性記憶部12から変更されたアドレス変換テーブル13を取得し、取得したアドレス変換テーブル13に従ってコア1~3のRAM20に対するアクセス制御を行う。
(2)攻撃検出時
車載情報処理装置10は、通信部415にて車両100に搭載された他の装置と車内ネットワークを介した通信を行っている。実施の形態4に係る車載情報処理装置10の通信部415は、車内ネットワークを介した車載情報処理装置10への外部からの攻撃を検知する機能を有している。通信部415は、例えば未登録の識別情報(CAN-IDなど)が付されたデータを受信した場合、一定時間に車内ネットワークへ送信されるデータ量が閾値を超えた場合、又は、所定の周期で送信されるべきデータをこの周期とは異なるタイミングで受信した場合等に、車載情報処理装置10への攻撃がなされたことを検出することができる。攻撃を検出した通信部415は、その旨をコア1~3等へ通知する。通信部415により攻撃が検知された場合、車載情報処理装置10は、N個の共有領域からランダムに1つを選択し、選択した共有領域への変更を行う。
(3)所定周期
実施の形態4に係る車載情報処理装置10は、予め定められた周期で、コア1~3が利用する共有領域の変更を行う。共有領域の変更を行う所定周期は、例えば数分~数十分、数時間~数日等の適宜の期間が定められ得る。車載情報処理装置10は、共有領域の変更を行った後、自身のタイマ機能等による計時を開始し、タイマによる経過時間が所定周期として定められた時間に達した場合に、N個の共有領域からランダムに1つを選択し、選択した共有領域への変更を行う。
(4)筐体開
実施の形態4に係る車載情報処理装置10は、上述のように筐体開検知部417を備えている。筐体開検知部417が車載情報処理装置10の筐体が開かれた(筐体の蓋が外された)ことを検知した場合、車載情報処理装置10は、N個の共有領域からランダムに1つを選択し、選択した共有領域への変更を行う。
(5)コネクタ外し
実施の形態4に係る車載情報処理装置10は、上述のようにコネクタ検知部416を備えている。車載情報処理装置10のコネクタから通信線のコネクタが外されたことをコネクタ検知部416が検知した場合、車載情報処理装置10は、N個の共有領域からランダムに1つを選択し、選択した共有領域への変更を行う。
図9は、実施の形態4に係る車載情報処理装置10が行う処理の手順を示すフローチャートである。なお本図に示す処理は、車載情報処理装置10のコア1~3のいずれか1つ又はアドレス変換部11により行われる。ただし本処理を行う別の機能部又は回路等が車載情報処理装置10に備えられていてもよい。以下の説明では、コア1が処理を行うものとして記載する。
実施の形態4に係る車載情報処理装置のコア1は、車載情報処理装置10の起動に伴って例えば自身のレジスタの初期化等の起動処理を行う(ステップS61)。起動処理の終了後、コア1は、RAM20の共有メモリ30が有する複数の共有領域のうち、コア1~3がデータの授受に用いる共有領域を変更する処理を行う(ステップS62)。共有領域変更処理の終了後、コア1は、自身が有するタイマによる計時をスタートする(ステップS63)。このタイマは、共有領域変更処理を実行する周期を判断するためのものである。
コア1は、タイマにより計時される経過時間が予め設定された時間を超えたか否かに基づいて、前回の共有領域変更処理の実施から所定周期が経過したか否かを判定する(ステップS64)。所定周期を経過した場合(S64:YES)、コア1は、共有領域変更処理を行い(ステップS68)、タイマをリセットして(ステップS69)、ステップS64へ処理を戻す。
所定周期を経過していない場合(S64:NO)、コア1は、通信部415からの通知の有無に基づいて、外部からの攻撃の有無を判定する(ステップS65)。外部からの攻撃を受けた場合(S65:YES)、コア1は、共有領域変更処理を行い(ステップS68)、タイマをリセットして(ステップS69)、ステップS64へ処理を戻す。
外部からの攻撃を受けていない場合(S65:NO)、コア1は、筐体開検知部417からの通知の有無に基づいて、車載情報処理装置10の筐体が開かれたか否かを判定する(ステップS66)。筐体が開かれた場合(S66:YES)、コア1は、共有領域変更処理を行い(ステップS68)、タイマをリセットして(ステップS69)、ステップS64へ処理を戻す。
筐体が開かれていない場合(S66:NO)、コア1は、コネクタ検知部416からの通知に基づいて、車載情報処理装置10のコネクタに接続された通信線のコネクタが外されたか否かを判定する(ステップS67)。コネクタが外された場合(S67:YES)、コア1は、共有領域変更処理を行い(ステップS68)、タイマをリセットして(ステップS69)、ステップS64へ処理を戻す。コネクタが外されていない場合(S67:NO)、コア1は、ステップS64へ処理を戻す。
図10は、実施の形態4に係る車載情報処理装置10が行う共有領域変更処理の手順を示すフローチャートである。本図に示す共有領域変更処理は、図9に示したフローチャートのステップS62及びS68にて行われる処理である。
実施の形態4に係る車載情報処理装置のコア1は、他のコア2,3に対して共有領域変更処理の開始を通知する(ステップS81)。この通知を受けた他のコア2,3は、例えば自身の処理を一時的に停止し、共有領域変更処理の終了まで待機することができる。
コア1は、RAM20の共有メモリ30が有する複数の共有領域(第1共有領域~第N共有領域)から、コア1~3が利用する一又は複数の共有領域をランダムに選択する(ステップS82)。コア1は、選択した共有領域がコア1~3により利用されるよう、不揮発性記憶部12のアドレス変換テーブル13を変更する(ステップS83)。
コア1は、アドレス変換部11に対して不揮発性記憶部12からのアドレス変換テーブル13の読み出しを指示する(ステップS84)。この指示に応じてアドレス変換部11は変更されたアドレス変換テーブル13を読み出し、以後のアドレス変換を読み出したアドレス変換テーブル13に従って行う。
コア1は、他のコア2,3に対して共有領域変更処理の終了を通知し(ステップS85)、共有領域変更処理を終了する。この通知に応じて他のコア2,3は、共有領域変更処理の終了まで一時停止していた処理を再開することができる。
以上の構成の実施の形態4に係る車載情報処理装置10は、複数のコア1~3が情報の授受等に用いるRAM20の共有メモリ30の共有領域を、所定のタイミングで変更する。これにより車載情報処理装置10はセキュリティ性能の向上等が期待できるため、車両に搭載される装置におけるマルチコア及び共有メモリの構成の採用に寄与することが期待できる。
実施の形態4に係る車載情報処理装置10において共有領域を変更する所定のタイミングには、車載情報処理装置10が起動されたタイミング、外部からの攻撃を通信部415が検出したタイミング、所定の周期が経過したタイミング、車載情報処理装置10の筐体が開かれたことを筐体開検知部417が検知したタイミング及び車載情報処理装置10のコネクタに接続された通信線のコネクタが外されたタイミング等のうちの少なくとも1つを含む。このようなタイミングで共有領域を変更することにより、車載情報処理装置10は、例えば外部から装置内へ悪意の侵入又は攻撃等がなされた場合に、複数のコア1~3がいずれの共有領域を利用しているかを特定されること困難化し、共有領域に対する情報の改ざん等が行われることを困難化することが期待できる。
実施の形態4に係る車載情報処理装置10は、RAM20の共有メモリ30が有する複数の共有領域(第1共有領域~第N共有領域)の中から、コア1~3が利用する一又は複数の共有領域をランダムに選択する。これにより車載情報処理装置10は、複数のコア1~3が利用している共有領域が外部から特定されることを困難化することが期待できる。
なお実施の形態4においては、車載情報処理装置10が共有領域の変更を行うタイミングとして、装置の起動タイミング、外部からの攻撃を検出したタイミング、所定周期が経過したタイミング、筐体が開かれたタイミング及びコネクタが外されたタイミングの5つを挙げたが、これらは一例である。車載情報処理装置10は、上記の5つのタイミング以外の様々なタイミングで共有領域の変更処理を行ってよい。
実施の形態4に係る車載情報処理装置10は、1つのRAM20に複数の共有領域が設けられる構成であるが、これに限るものではない。車載情報処理装置10は、実施の形態3に係る車載情報処理装置10と同様に、複数のRAMを備える構成であってよく、コア1~3が共有するRAMを変更する構成であってよい。
また、実施の形態4に係る車載情報処理装置のその他の構成は、実施の形態1~3に係る車載情報処理装置と同様であるため、同様の箇所には同じ符号を付し、詳細な説明を省略する。
車載情報処理装置は、マイクロプロセッサ、ROM及びRAM等を含んで構成されるコンピュータを備える。マイクロプロセッサ等の演算処理部は、図3~図5に示すような、シーケンス図又はフローチャートの各ステップの一部又は全部を含むコンピュータプログラムを、ROM、RAM等の記憶部からそれぞれ読み出して実行してよい。これら複数の装置のコンピュータプログラムは、それぞれ、外部のサーバ装置等からインストールすることができる。また、これらのコンピュータプログラムは、それぞれ、CD-ROM、DVD-ROM、半導体メモリ等の記録媒体に格納された状態で流通する。
今回開示された実施形態はすべての点で例示であって、制限的なものではないと考えられるべきである。本開示の範囲は、上記した意味ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。
(付記)
(付記1)
車両に搭載され、
並列的に処理を行う複数の処理部と、
前記複数の処理部がアクセス可能な複数の共有記憶部と、
前記共有記憶部の異常を検出する検出部と
を備え、
前記複数の処理部は、
少なくとも1つの共有記憶部を介して情報の授受を行い、
前記検出部が前記少なくとも1つの共有記憶部の異常を検出した場合に、別の共有記憶部を介して情報の授受を行う、
車載情報処理装置。
(付記2)
前記複数の処理部及び前記複数の共有記憶部の間に設けられ、前記処理部が記憶された情報にアクセスする際に用いる仮想アドレスと、前記共有記憶部の物理アドレスとを変換するアドレス変換部を備え、
前記アドレス変換部は、前記検出部が異常を検出した場合に、前記仮想アドレス及び前記物理アドレスの対応を変更して、前記複数の処理部が情報の授受を行う前記共有記憶部を切り替える、
付記1に記載の車載情報処理装置。
(付記3)
前記仮想アドレス及び前記物理アドレスの対応を記憶したアドレス変換テーブルを記憶する記憶部を備え、
前記アドレス変換部は、前記記憶部に記憶された前記アドレス変換テーブルに基づいてアドレス変換を行い、
前記検出部が異常を検出した場合に、前記アドレス変換テーブルに記憶された対応を変更する、
付記2に記載の車載情報処理装置。
(付記4)
前記アドレス変換部は、装置の起動時に前記記憶部に記憶された前記アドレス変換テーブルを取得し、
前記検出部が異常を検出した場合に、前記記憶部に記憶された前記アドレス変換テーブルに記憶された対応を変更して、再起動する、
付記3に記載の車載情報処理装置。
(付記5)
前記処理部からの情報の書き込み要求に対して、前記複数の共有記憶部はそれぞれ同じ情報を記憶する、
付記1から付記4までのいずれか1つに記載の車載情報処理装置。
(付記6)
前記複数の共有記憶部は、前記複数の処理部がアクセス可能な1つのメモリ素子に設けられた複数の記憶領域である、
付記1から付記5までのいずれか1つに記載の車載情報処理装置。
(付記7)
前記複数の共有記憶部は、前記複数の処理部がアクセス可能な複数のメモリ素子である、
付記1から付記5までのいずれか1つに記載の車載情報処理装置。
(付記8)
並列的に処理を行う複数の処理部、及び、前記複数の処理部がアクセス可能な複数の共有記憶部を備える車載情報処理装置が、
少なくとも1つの共有記憶部を介して前記複数の処理部の間の情報の授受を行い、
前記共有記憶部の異常を検出し、
前記少なくとも1つの共有記憶部の異常を検出した場合に、別の共有記憶部を介して前記複数の処理部の間の情報の授受を行う、
車載情報処理方法。
1~3 コア(処理部、検出部)
10 車載情報処理装置
11 アドレス変換部
12 不揮発性記憶部(記憶部)
13 アドレス変換テーブル
20 RAM
21 コア1用メモリ
22 コア2用メモリ
23 コア3用メモリ
30 共有メモリ(共有記憶部)
100 車両
121 第1RAM
122 第2RAM
415 通信部
416 コネクタ検知部
417 筐体開検知部

Claims (12)

  1. 車両に搭載され、
    並列的に処理を行う複数の処理部と、
    前記複数の処理部がアクセス可能な複数の共有記憶部と
    を備え、
    前記複数の処理部は、
    少なくとも1つの共有記憶部を介して情報の授受を行い、
    所定のタイミングで、情報の授受に用いる共有記憶部を変更する、
    車載情報処理装置。
  2. 前記共有記憶部の異常を検出する検出部を備え、
    前記所定のタイミングは、前記検出部が前記少なくとも1つの共有記憶部の異常を検出したタイミングであり、
    前記複数の処理部は、前記検出部が前記少なくとも1つの共有記憶部の異常を検出した場合に、別の共有記憶部を介して情報の授受を行う、
    請求項1に記載の車載情報処理装置。
  3. 前記所定のタイミングには、装置が起動されたタイミング、外部からの攻撃を検出したタイミング、所定の周期が経過したタイミング、装置の筐体が開かれたタイミング及び装置に接続されたコネクタが外されたタイミングのうちの少なくとも1つを含む、
    請求項1又は請求項2に記載の車載情報処理装置。
  4. 前記複数の処理部は、情報の授受に用いる共有記憶部を、前記複数の共有記憶部からランダムに選択された共有記憶部に変更する、
    請求項3に記載の車載情報処理装置。
  5. 前記複数の処理部及び前記複数の共有記憶部の間に設けられ、前記処理部が記憶された情報にアクセスする際に用いる仮想アドレスと、前記共有記憶部の物理アドレスとを変換するアドレス変換部を備え、
    前記アドレス変換部は、前記所定のタイミングで、前記仮想アドレス及び前記物理アドレスの対応を変更して、前記複数の処理部が情報の授受を行う前記共有記憶部を切り替える、
    請求項1から請求項4までのいずれか1つに記載の車載情報処理装置。
  6. 前記仮想アドレス及び前記物理アドレスの対応を記憶したアドレス変換テーブルを記憶する記憶部を備え、
    前記アドレス変換部は、前記記憶部に記憶された前記アドレス変換テーブルに基づいてアドレス変換を行い、
    前記所定のタイミングで、前記アドレス変換テーブルに記憶された対応を変更する、
    請求項5に記載の車載情報処理装置。
  7. 前記アドレス変換部は、装置の起動時に前記記憶部に記憶された前記アドレス変換テーブルを取得し、
    前記所定のタイミングで、前記記憶部に記憶された前記アドレス変換テーブルに記憶された対応を変更して、再起動する、
    請求項6に記載の車載情報処理装置。
  8. 前記処理部からの情報の書き込み要求に対して、前記複数の共有記憶部はそれぞれ同じ情報を記憶する、
    請求項1から請求項7までのいずれか1つに記載の車載情報処理装置。
  9. 前記複数の共有記憶部は、前記複数の処理部がアクセス可能な1つのメモリ素子に設けられた複数の記憶領域である、
    請求項1から請求項8までのいずれか1つに記載の車載情報処理装置。
  10. 前記複数の共有記憶部は、前記複数の処理部がアクセス可能な複数のメモリ素子である、
    請求項1から請求項8までのいずれか1つに記載の車載情報処理装置。
  11. 車両に搭載され、
    並列的に処理を行う複数の処理部と、
    前記複数の処理部がアクセス可能な複数の共有記憶部と、
    前記共有記憶部の異常を検出する検出部と
    を備え、
    前記複数の処理部は、
    少なくとも1つの共有記憶部を介して情報の授受を行い、
    前記検出部が前記少なくとも1つの共有記憶部の異常を検出した場合に、別の共有記憶部を介して情報の授受を行う、
    車載情報処理装置。
  12. 並列的に処理を行う複数の処理部、及び、前記複数の処理部がアクセス可能な複数の共有記憶部を備える車載情報処理装置が、
    少なくとも1つの共有記憶部を介して前記複数の処理部の間の情報の授受を行い、
    所定のタイミングで、情報の授受に用いる共有記憶部を変更する、
    車載情報処理方法。
JP2021093646A 2020-11-24 2021-06-03 車載情報処理装置及び車載情報処理方法 Pending JP2022083383A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US18/253,965 US20240046720A1 (en) 2020-11-24 2021-11-11 Vehicle-mounted information processing apparatus and vehicle-mounted information processing method
PCT/JP2021/041447 WO2022113747A1 (ja) 2020-11-24 2021-11-11 車載情報処理装置及び車載情報処理方法
CN202180078310.3A CN116529124A (zh) 2020-11-24 2021-11-11 车载信息处理装置及车载信息处理方法

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2020194514 2020-11-24
JP2020194514 2020-11-24

Publications (2)

Publication Number Publication Date
JP2022083383A true JP2022083383A (ja) 2022-06-03
JP2022083383A5 JP2022083383A5 (ja) 2023-04-05

Family

ID=81811897

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021093646A Pending JP2022083383A (ja) 2020-11-24 2021-06-03 車載情報処理装置及び車載情報処理方法

Country Status (1)

Country Link
JP (1) JP2022083383A (ja)

Similar Documents

Publication Publication Date Title
EP3556080B1 (en) Secure iot device update
JP3962026B2 (ja) 拡張されたインテリジェントプラットフォーム管理のためのアプリケーションプログラミングインタフェースシステムおよび方法
CN100388263C (zh) 具有嵌入式微控制器的微电脑桥式结构
US6427198B1 (en) Method, system, and program for determining system configuration
JP5209461B2 (ja) 集積回路内のデバイス間のデータ転送
CN101373433A (zh) 更新bios的方法以及使用该方法的电脑与系统
JP6965460B2 (ja) 車両の制御装置で実行可能な少なくとも1つのアプリケーションのアプリケーションデータ提供方法、制御装置の較正方法、制御装置および評価装置
CN110765032A (zh) 基于系统管理总线接口对i2c存储器进行读写的方法
WO2022113747A1 (ja) 車載情報処理装置及び車載情報処理方法
US7251744B1 (en) Memory check architecture and method for a multiprocessor computer system
JPWO2020158377A1 (ja) 電子制御装置、電子制御装置のセキュリティ検証方法
JP2022083383A (ja) 車載情報処理装置及び車載情報処理方法
JP2007213445A (ja) システム制御装置、システム制御方法及びシステム制御プログラム
CN101751311B (zh) 请求处理设备、请求处理系统和存取测试方法
JP2005182812A (ja) コンピュータシステムにおいてイメージファイルを格納するシステムおよび方法
US20100088471A1 (en) Field device
JP5103823B2 (ja) 情報処理装置および入出力要求制御方法
JP6070115B2 (ja) 情報処理装置、bmcおよびbiosアップデート方法
JP6856048B2 (ja) 制御システムおよび制御方法
US6813647B2 (en) Microcomputer system reading data from secondary storage medium when receiving upper address from outside and writing data to primary storage medium
CN116529124A (zh) 车载信息处理装置及车载信息处理方法
JP3840028B2 (ja) 制御システム
JP2006236371A (ja) 制御システム
JP5223612B2 (ja) ディスク制御装置およびファームウェアの更新方法
US20130262782A1 (en) Central processing unit, method for controlling central processing unit, and information processing apparatus

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230328

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20231027