(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-07-03
(45)【発行日】2024-07-11
(54)【発明の名称】データ保存システム
(51)【国際特許分類】
G06F 3/06 20060101AFI20240704BHJP
G06F 12/00 20060101ALI20240704BHJP
【FI】
G06F3/06 301E
G06F12/00 571B
G06F3/06 301R
(21)【出願番号】P 2022159739
(22)【出願日】2022-10-03
【審査請求日】2023-04-05
(31)【優先権主張番号】P 2022052111
(32)【優先日】2022-03-28
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】322003857
【氏名又は名称】パナソニックオートモーティブシステムズ株式会社
(74)【代理人】
【識別番号】100109210
【氏名又は名称】新居 広守
(74)【代理人】
【識別番号】100137235
【氏名又は名称】寺谷 英作
(74)【代理人】
【識別番号】100131417
【氏名又は名称】道坂 伸一
(72)【発明者】
【氏名】門田 浩樹
(72)【発明者】
【氏名】林 宙輝
【審査官】松平 英
(56)【参考文献】
【文献】特開2010-282405(JP,A)
【文献】特開2005-316609(JP,A)
【文献】特開2018-070121(JP,A)
【文献】特開2020-113137(JP,A)
【文献】特開2017-007642(JP,A)
【文献】PCI Express Base Specification Revision5.0 Version 1.0,[online],2019年05月22日,Page 107-108,182-183,[検索日:2024年2月16日]、インターネット<https://picture.iczhiku.com/resource/eetop/SYkDTqh0LhpUTnMx.pdf>
(58)【調査した分野】(Int.Cl.,DB名)
B60R 9/00-11/06
16/00-21/13
21/34-99/00
G06F 3/06-3/08
12/00-12/128
13/16-13/378
(57)【特許請求の範囲】
【請求項1】
移動体に搭載されるデータ保存システムであって、
前記移動体内のネットワークに接続される複数の電子制御装置と、
前記複数の電子制御装置のそれぞれがデータを書き込み可能な共用ストレージ装置と、
前記複数の電子制御装置と前記共用ストレージ装置との間に接続され、前記複数の電子制御装置から前記共用ストレージ装置へのデータの書き込みの優先順位を制御する共用優先制御部とを備え
、
前記複数の電子制御装置と、前記共用ストレージ装置との間では、PCIe(Peripheral Component Interconnect express)の規格に従って通信が行われており、
前記共用優先制御部は、前記複数の電子制御装置からの前記共用ストレージ装置へのデータの書き込みアクセスが衝突した場合、衝突したデータのVC(Virtual Channel)解析結果を監視するVC監視部を有する
データ保存システム。
【請求項2】
前記複数の電子制御装置のそれぞれは、
第1データを前記共用ストレージ装置へ書き込む処理を行う第1マスタ部、及び、前記第1データとは異なる第2データを前記共用ストレージ装置へ書き込む処理を行う第2マスタ部を含む複数のマスタ部と、
前記複数のマスタ部のそれぞれに接続される複数のテンポラリメモリと、
前記複数のマスタ部から前記共用ストレージ装置へのデータの書き込みの優先順位を制御する個別優先制御部とを有する
請求項1に記載のデータ保存システム。
【請求項3】
前記複数の電子制御装置は、1以上の第1電子制御装置を含み、
前記1以上の第1電子制御装置のそれぞれは、
第1データを前記共用ストレージ装置へ書き込む処理を行う第1マスタ部、及び、前記第1データとは異なる第2データを前記共用ストレージ装置へ書き込む処理を行う第1マスタ部を含む複数の第1マスタ部と、
前記複数の第1マスタ部のそれぞれのデータを書き込み可能な第1テンポラリメモリと、
前記複数の第1マスタ部と前記第1テンポラリメモリとに接続され、前記複数の第1マスタ部から前記共用ストレージ装置へのデータの書き込みの優先順位を制御する第1個別優先制御部とを有する
請求項1に記載のデータ保存システム。
【請求項4】
前記1以上の第1電子制御装置のそれぞれは、データの種類と前記共用ストレージ装置にデータを書き込む優先順位とが対応付けられた第1優先情報を管理する第1管理部を有し、
前記第1個別優先制御部は、前記複数の第1マスタ部のうち2以上の第1マスタ部からの前記共用ストレージ装置へのデータの書き込みアクセスが衝突する場合、前記第1優先情報に基づいてデータの書き込みの優先順位を制御する
請求項3に記載のデータ保存システム。
【請求項5】
前記第1個別優先制御部は、前記2以上の第1マスタ部からの前記共用ストレージ装置へのデータの書き込みアクセスが衝突する場合、前記第1優先情報に基づいて、優先順位が低いデータを当該データの優先順位を示す情報を付与して前記第1テンポラリメモリに書き込む
請求項4に記載のデータ保存システム。
【請求項6】
前記第1テンポラリメモリは、予めデータごとに記憶領域が分割されており、
前記第1個別優先制御部は、前記2以上の第1マスタ部からの前記共用ストレージ装置へのデータの書き込みアクセスが衝突する場合、前記第1優先情報に基づいて、優先順位が低いデータを前記第1テンポラリメモリ内の当該データに対応する記憶領域に書き込む
請求項4に記載のデータ保存システム。
【請求項7】
前記複数の電子制御装置は、前記1以上の第1電子制御装置より前記移動体の安全に関わる1以上の第2電子制御装置を含み、
前記1以上の第2電子制御装置のそれぞれは、
第3データを前記共用ストレージ装置へ書き込む処理を行う第2マスタ部、及び、前記第3データとは異なる第4データを前記共用ストレージ装置へ書き込む処理を行う第2マスタ部を含む複数の第2マスタ部と、
前記複数の第2マスタ部から前記共用ストレージ装置へのデータの書き込みの優先順位を制御する第2個別優先制御部とを有する
請求項3~6のいずれか1項に記載のデータ保存システム。
【請求項8】
前記1以上の第2電子制御装置のそれぞれは、データの種類と前記共用ストレージ装置にデータを書き込む優先順位とが対応付けられた第2優先情報を管理する第2管理部を有し、
前記第2個別優先制御部は、前記複数の第2マスタ部のうち2以上の第2マスタ部からの前記共用ストレージ装置へのデータの書き込みアクセスが衝突する場合、前記第2優先情報に基づいてデータの書き込みの優先順位を制御する
請求項7に記載のデータ保存システム。
【請求項9】
さらに、前記複数の第2マスタ部それぞれのデータを書き込み可能な第2テンポラリメモリを有し、
前記第2テンポラリメモリは、二重化されている
請求項8に記載のデータ保存システム。
【請求項10】
前記第2個別優先制御部は、前記2以上の第2マスタ部からの前記共用ストレージ装置へのデータの書き込みアクセスが衝突する場合、優先順位を安全最優先で制御する
請求項8に記載のデータ保存システム。
【請求項11】
前記複数の電子制御装置は、1以上の第1電子制御装置と、前記1以上の第1電子制御装置より前記移動体の安全に関わる1以上の第2電子制御装置とを含み、
前記1以上の第1電子制御装置のそれぞれは、
第1データを前記共用ストレージ装置へ書き込む処理を行う第1マスタ部、及び、前記第1データとは異なる第2データを前記共用ストレージ装置へ書き込む処理を行う第1マスタ部を含む複数の第1マスタ部と、
前記複数の第1マスタ部から前記共用ストレージ装置へのデータの書き込みの優先順位を制御する第1個別優先制御部とを有し、
前記1以上の第2電子制御装置のそれぞれは、
第3データを前記共用ストレージ装置へ書き込む処理を行う第2マスタ部、及び、前記第3データとは異なる第4データを前記共用ストレージ装置へ書き込む処理を行う第2マスタ部を含む複数の第2マスタ部と、
前記複数の第2マスタ部から前記共用ストレージ装置へのデータの書き込みの優先順位を安全最優先で制御する第2個別優先制御部とを有し、
前記共用優先制御部は、前記複数の電子制御装置からの前記共用ストレージ装置へのデータの書き込みアクセスが衝突する場合、優先順位を安全最優先で制御する
請求項1に記載のデータ保存システム。
【請求項12】
移動体に搭載されるデータ保存システムであって、
前記移動体内のネットワークに接続される複数の電子制御装置と、
前記複数の電子制御装置のそれぞれがデータを書き込み可能な共用ストレージ装置と、
前記複数の電子制御装置と前記共用ストレージ装置との間に接続され、前記複数の電子制御装置から前記共用ストレージ装置へのデータの書き込みの優先順位を制御する共用優先制御部とを備え、
前記共用優先制御部は、
前記複数の電子制御装置から取得したデータがログデータであるか否かを判定する判定部と、
前記判定部がログデータであると判定したデータを集約し、集約されたデータを一括して前記共用ストレージ装置に書き込む集約部とを有する
データ保存システム。
【請求項13】
移動体に搭載されるデータ保存システムであって、
前記移動体内のネットワークに接続される複数の電子制御装置と、
前記複数の電子制御装置のそれぞれがデータを書き込み可能な共用ストレージ装置と、
前記複数の電子制御装置と前記共用ストレージ装置との間に接続され、前記複数の電子制御装置から前記共用ストレージ装置へのデータの書き込みの優先順位を制御する共用優先制御部とを備え、
前記共用ストレージ装置は、第1メモリ部と第2メモリ部とを有し、
前記第1メモリ部は、前記第2メモリ部より容量が大きく、
前記第2メモリ部は、前記第1メモリ部より耐久性が高い
データ保存システム。
【請求項14】
前記共用優先制御部は、さらに、前記複数の電子制御装置から取得したデータを、当該データに含まれる前記共用ストレージ装置へのデータの書き込みの優先順位を示す情報に基づいて前記第1メモリ部及び前記第2メモリ部のいずれに書き込むかを選択する選択部を有する
請求項13に記載のデータ保存システム。
【請求項15】
前記優先順位を示す情報は、前記複数の電子制御装置から取得したデータに含まれるQoS(Quality of Service)制御用のレジスタ値により実現される
請求項14に記載のデータ保存システム。
【請求項16】
前記共用ストレージ装置は、基板と接続部とを有し、
前記第1メモリ部は、前記接続部を介して前記基板に着脱可能に取り付けられており、
前記第2メモリ部は、前記基板に着脱不可能に取り付けられている
請求項13に記載のデータ保存システム。
【請求項17】
前記VC監視部は、前記複数の電子制御装置からの前記共用ストレージ装置へのデータの書き込みアクセスが衝突した場合、データの前記VC解析結果に基づいて前記共用ストレージ装置への書き込みの前記優先順位を制御する
請求項
1に記載のデータ保存システム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、データ保存システムに関する。
【背景技術】
【0002】
従来、車両において、衝突、急ブレーキなどの所定のイベントが発生した場合、及び、通常時において取得されたログ、映像などのデータをデータ格納部(ストレージ装置)に保存することが行われている。車両が自動運転機能を搭載した車両である場合、保存すべきデータが膨大となる。そこで、特許文献1には、自動運転モードのレベルに応じてデータ格納部へのデータ記録対象を変更することで、データ格納量を減らす技術が開示されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、車両などの移動体におけるデータを保存するデータ保存システムにおいて、コスト削減されることが望まれる。
【0005】
そこで、本開示は、コスト削減されたデータ保存システムを提供する。
【課題を解決するための手段】
【0006】
本開示の一態様に係るデータ保存システムは、移動体に搭載されるデータ保存システムであって、前記移動体内のネットワークに接続される複数の電子制御装置と、前記複数の電子制御装置のそれぞれがデータを書き込み可能な共用ストレージ装置と、前記複数の電子制御装置と前記共用ストレージ装置との間に接続され、前記複数の電子制御装置から前記共用ストレージ装置へのデータの書き込みの優先順位を制御する共用優先制御部とを備える。
【発明の効果】
【0007】
本開示の一態様によれば、コスト削減されたデータ保存システムを実現することができる。
【図面の簡単な説明】
【0008】
【
図1】
図1は、実施の形態1に係る車両の機能構成を示すブロック図である。
【
図2】
図2は、実施の形態1に係るデータ保存システムの機能構成を示すブロック図である。
【
図3】
図3は、実施の形態2に係るデータ保存システムの機能構成を示すブロック図である。
【
図4】
図4は、実施の形態2に係るID管理表を示す図である。
【
図5】
図5は、実施の形態2に係るデータ管理表を示す図である。
【
図6A】
図6Aは、実施の形態2に係るデータ保存システムの動作を示すフローチャートである。
【
図6B】
図6Bは、
図6Aに示すステップS26、S29及びS31の動作の詳細を示すフローチャートである。
【
図7】
図7は、実施の形態2の変形例に係るテンポラリメモリの領域分割の例を示す図である。
【
図8】
図8は、実施の形態3に係るデータ保存システムの機能構成を示すブロック図である。
【
図9】
図9は、実施の形態3に係るID管理表を示す図である。
【
図10】
図10は、実施の形態3に係るデータ管理表を示す図である。
【
図11】
図11は、実施の形態3に係るデータ保存システムの動作を示すフローチャートである。
【
図12】
図12は、実施の形態3の変形例1に係るデータ保存システムの機能構成を示すブロック図である。
【
図13】
図13は、実施の形態3の変形例2に係るデータ保存システムの機能構成を示すブロック図である。
【
図14】
図14は、実施の形態3の変形例2に係るID管理表を示す図である。
【
図15】
図15は、実施の形態4に係るデータ保存システムの機能構成を示すブロック図である。
【
図16】
図16は、実施の形態5に係るデータ保存システムの機能構成を示すブロック図である。
【
図17】
図17は、実施の形態5に係るVC設定表を示す図である。
【
図18】
図18は、実施の形態5に係るデータ保存システムの動作を示すフローチャートである。
【発明を実施するための形態】
【0009】
本開示の一態様に係るデータ保存システムは、移動体に搭載されるデータ保存システムであって、前記移動体内のネットワークに接続される複数の電子制御装置と、前記複数の電子制御装置のそれぞれがデータを書き込み可能な共用ストレージ装置と、前記複数の電子制御装置と前記共用ストレージ装置との間に接続され、前記複数の電子制御装置から前記共用ストレージ装置へのデータの書き込みの優先順位を制御する共用優先制御部とを備える。
【0010】
これにより、データ保存システムでは、複数の電子制御装置のそれぞれがストレージ装置を有している場合に比べて、ストレージ装置の数を減らすことができる。よって、データ保存システムによれば、コスト削減されたデータ保存システムを実現することができる。
【0011】
また、例えば、前記複数の電子制御装置のそれぞれは、第1データを前記共用ストレージ装置へ書き込む処理を行う第1マスタ部、及び、前記第1データとは異なる第2データを前記共用ストレージ装置へ書き込む処理を行うマスタ部を含む複数の第2マスタ部と、前記複数のマスタ部のそれぞれに接続される複数のテンポラリメモリと、前記複数のマスタ部から前記共用ストレージ装置へのデータの書き込みの優先順位を制御する個別優先制御部とを有してもよい。
【0012】
これにより、複数のマスタ部のそれぞれにテンポラリメモリが接続されるので、マスタ部からの共用ストレージ装置へのデータの書き込みアクセスが衝突する場合に、データが消失することを抑制することができる。
【0013】
また、例えば、前記複数の電子制御装置は、1以上の第1電子制御装置を含み、前記1以上の第1電子制御装置のそれぞれは、第1データを前記共用ストレージ装置へ書き込む処理を行う第1マスタ部、及び、前記第1データとは異なる第2データを前記共用ストレージ装置へ書き込む処理を行う第1マスタ部を含む複数の第1マスタ部と、前記複数の第1マスタ部のそれぞれのデータを書き込み可能な第1テンポラリメモリと、前記複数の第1マスタ部と前記第1テンポラリメモリとに接続され、前記複数の第1マスタ部から前記共用ストレージ装置へのデータの書き込みの優先順位を制御する第1個別優先制御部とを有してもよい。
【0014】
これにより、複数の第1マスタ部のテンポラリメモリを共用することができるので、さらにコスト削減されたデータ保存システムを実現することができる。
【0015】
また、例えば、前記1以上の第1電子制御装置のそれぞれは、データの種類と前記共用ストレージ装置にデータを書き込む優先順位とが対応付けられた第1優先情報を管理する第1管理部を有し、前記第1個別優先制御部は、前記複数の第1マスタ部のうち2以上の第1マスタ部からの前記共用ストレージ装置へのデータの書き込みアクセスが衝突する場合、前記第1優先情報に基づいてデータの書き込みの優先順位を制御してもよい。
【0016】
これにより、第1個別優先制御部は、第1優先情報に基づいてデータの書き込みの優先順位を制御することができる。
【0017】
また、例えば、前記第1個別優先制御部は、前記2以上の第1マスタ部からの前記共用ストレージ装置へのデータの書き込みアクセスが衝突する場合、前記第1優先情報に基づいて、優先順位が低いデータを当該データの優先順位を示す情報を付与して前記第1テンポラリメモリに書き込んでもよい。
【0018】
これにより、優先順位が高い(安全性が高い)書き込みアクセスのデータを共用ストレージ装置に確実に書き込むことができ、かつ、優先順位が低い(安全性が低い)書き込みアクセスのデータが消失することを抑制することができる。また、第1テンポラリメモリに書き込まれるデータには優先順位を示す情報が付与されるので、データの識別(例えば、どのマスタ部からのデータであるかの識別)が可能となる。
【0019】
また、例えば、前記第1テンポラリメモリは、予めデータごとに記憶領域が分割されており、前記第1個別優先制御部は、前記2以上の第1マスタ部からの前記共用ストレージ装置へのデータの書き込みアクセスが衝突する場合、前記第1優先情報に基づいて、優先順位が低いデータを前記第1テンポラリメモリ内の当該データに対応する記憶領域に書き込んでもよい。
【0020】
これにより、第1テンポラリメモリにデータを書き込む場合、当該データに優先順位を示す情報を付与しなくてもよいので、第1テンポラリメモリの容量を削減することができる。第1テンポラリメモリの容量の削減は、データ保存システムのコスト削減につながる。
【0021】
また、例えば、前記複数の電子制御装置は、前記1以上の第1電子制御装置より前記移動体の安全に関わる1以上の第2電子制御装置を含み、前記1以上の第2電子制御装置のそれぞれは、第3データを前記共用ストレージ装置へ書き込む処理を行う第2マスタ部、及び、前記第3データとは異なる第4データを前記共用ストレージ装置へ書き込む処理を行う第2マスタ部を含む複数の第2マスタ部と、前記複数の第2マスタ部から前記共用ストレージ装置へのデータの書き込みの優先順位を制御する第2個別優先制御部とを有してもよい。
【0022】
これにより、データ保存システムでは、安全に関わる1以上の第2電子制御装置のデータを共用ストレージ装置に保存することができるので、1以上の第2電子制御装置のそれぞれがストレージ装置を有している場合に比べて、ストレージ装置の数を減らすことができる。よって、データ保存システムによれば、よりコスト削減されたデータ保存システムを実現することができる。
【0023】
また、例えば、前記1以上の第2電子制御装置のそれぞれは、データの種類と前記共用ストレージ装置にデータを書き込む優先順位とが対応付けられた第2優先情報を管理する第2管理部を有し、前記第2個別優先制御部は、前記複数の第2マスタ部のうち2以上の第2マスタ部からの前記共用ストレージ装置へのデータの書き込みアクセスが衝突する場合、前記第2優先情報に基づいてデータの書き込みの優先順位を制御してもよい。
【0024】
これにより、第2個別優先制御部は、第2優先情報に基づいてデータの書き込みの優先順位を制御することができる。
【0025】
また、例えば、さらに、前記複数の第2マスタ部それぞれのデータを書き込み可能な第2テンポラリメモリを有し、前記第2テンポラリメモリは、二重化されていてもよい。
【0026】
これにより、安全に関わる1以上の第2電子制御装置のデータの信憑性を高めることができる。
【0027】
また、例えば、前記第2個別優先制御部は、前記2以上の第2マスタ部からの前記共用ストレージ装置へのデータの書き込みアクセスが衝突する場合、優先順位を安全最優先で制御してもよい。
【0028】
これにより、複数の第2マスタ部(安全に関わるマスタ部)にテンポラリメモリが接続されていなくてもよいので、よりコスト削減されたデータ保存システムを実現することができる。
【0029】
また、例えば、前記複数の電子制御装置は、1以上の第1電子制御装置と、前記1以上の第1電子制御装置より前記移動体の安全に関わる1以上の第2電子制御装置とを含み、前記1以上の第1電子制御装置のそれぞれは、第1データを前記共用ストレージ装置へ書き込む処理を行う第1マスタ部、及び、前記第1データとは異なる第2データを前記共用ストレージ装置へ書き込む処理を行う第1マスタ部を含む複数の第1マスタ部と、前記複数の第1マスタ部から前記共用ストレージ装置へのデータの書き込みの優先順位を制御する第1個別優先制御部とを有し、前記1以上の第2電子制御装置のそれぞれは、第3データを前記共用ストレージ装置へ書き込む処理を行う第2マスタ部、及び、前記第3データとは異なる第4データを前記共用ストレージ装置へ書き込む処理を行う第2マスタ部を含む複数の第2マスタ部と、前記複数の第2マスタ部から前記共用ストレージ装置へのデータの書き込みの優先順位を安全最優先で制御する第2個別優先制御部とを有し、前記共用優先制御部は、前記複数の電子制御装置からの前記共用ストレージ装置へのデータの書き込みアクセスが衝突する場合、優先順位を安全最優先で制御してもよい。
【0030】
これにより、複数の第1マスタ部及び複数の第2マスタ部のそれぞれにテンポラリメモリが接続されていなくてもよいので、より一層コスト削減されたデータ保存システムを実現することができる。
【0031】
また、例えば、前記共用優先制御部は、前記複数の電子制御装置から取得したデータがログデータであるか否かを判定する判定部と、前記判定部がログデータであると判定したデータを集約し、集約されたデータを一括して前記共用ストレージ装置に書き込む集約部とを有してもよい。
【0032】
これにより、映像などに比べてデータ容量の少ないログデータを共用ストレージ装置に書き込む回数を減らすことができるので、共用ストレージ装置の寿命を延ばすことが可能となる。例えば、データ保存システムが車両のようなライフサイクルが長いものに用いられる場合、共用ストレージ装置の交換回数を削減することができるので、データ保存システムの維持においてコストメリットがある。
【0033】
また、例えば、前記共用ストレージ装置は、第1メモリ部と第2メモリ部とを有し、前記第1メモリ部は、前記第2メモリ部より容量が大きく、前記第2メモリ部は、前記第1メモリ部より耐久性が高くてもよい。
【0034】
これにより、共用ストレージ装置では、容量と耐久性とを両立することができる。
【0035】
また、例えば、前記共用優先制御部は、さらに、前記複数の電子制御装置から取得したデータを、当該データに含まれる前記共用ストレージ装置へのデータの書き込みの優先順位を示す情報に基づいて前記第1メモリ部及び前記第2メモリ部のいずれに書き込むかを選択する選択部を有してもよい。
【0036】
これにより、選択部は、データのデータ部を解析することなく、データのヘッダ部に含まれる優先順位を示す情報を用いてメモリ部を選択することができるので、データ保存システムにおけるスループットを改善することができる。
【0037】
また、例えば、前記優先順位を示す情報は、前記複数の電子制御装置から取得したデータに含まれるQoS(Quality of Service)制御用のレジスタ値により実現されてもよい。
【0038】
これにより、QoS制御用のレジスタ値を利用して、データ保存システムにおけるスループットを改善することができる。
【0039】
また、例えば、前記共用ストレージ装置は、基板と接続部とを有し、前記第1メモリ部は、前記接続部を介して前記基板に着脱可能に取り付けられており、前記第2メモリ部は、前記基板に着脱不可能に取り付けられていてもよい。
【0040】
これにより、例えば、データ保存システムが車両のようなライフサイクルが長いものに用いられる場合、第1メモリ部の交換が容易になるので、データ保存システムの維持においてコストメリットがある。
【0041】
また、例えば、前記複数の電子制御装置と、前記共用ストレージ装置との間では、PCIe(Peripheral Component Interconnect express)の規格に従って通信が行われており、前記共用優先制御部は、前記複数の電子制御装置からの前記共用ストレージ装置へのデータの書き込みアクセスが衝突した場合、衝突したデータのVC(Virtual Channel)解析結果を監視するVC監視部を有してもよい。
【0042】
これにより、衝突したデータのVCの解析結果が優先順位の制御に用いられる場合、PCIeの規格に従って通信が行われているときであっても、重要なデータをより確実に保存することができる。
【0043】
また、例えば、前記VC監視部は、前記複数の電子制御装置からの前記共用ストレージ装置へのデータの書き込みアクセスが衝突した場合、データの前記VC解析結果に基づいて前記共用ストレージ装置への書き込みの前記優先順位を制御してもよい。
【0044】
これにより、VC解析結果に基づいて優先順位を制御することができるので、PCIeの規格に従って通信が行われている場合であっても、重要なデータをより確実に保存することができる。
【0045】
また、例えば、前記複数の電子制御装置と、前記共用ストレージ装置との間では、PCIeの規格に従って通信が行われており、前記個別優先制御部は、前記第1マスタ部から前記第1データを取得すると、前記第1データのヘッダ部のVCに前記第1マスタ部に応じた第1値を格納し、前記第2マスタ部から前記第2データを取得すると、前記第2データのヘッダ部のVCに前記第2マスタ部に応じた第2値を格納してもよい。また、例えば、前記1以上の第1電子制御装置と、前記共用ストレージ装置との間では、PCIeの規格に従って通信が行われており、前記第1個別優先制御部は、前記第1データを前記共用ストレージ装置へ書き込む処理を行う前記第1マスタ部から前記第1データを取得すると、前記第1データのヘッダ部のVCに当該第1マスタ部に応じた第1値を格納し、前記第2データを前記共用ストレージ装置へ書き込む処理を行う前記第1マスタ部から前記第2データを取得すると、前記第2データのヘッダ部のVCに当該第1マスタ部に応じた第2値を格納してもよい。
【0046】
これらにより、共用優先制御部においてアクセスが衝突した場合、優先順位の制御にVCに格納されている情報(例えば、値)が用いられることで、PCIeの規格に従って通信が行われている場合であっても、重要なデータをより確実に保存することができる。
【0047】
以下、実施の形態について、図面を参照しながら具体的に説明する。
【0048】
なお、以下で説明する実施の形態は、いずれも包括的又は具体的な例を示すものである。以下の実施の形態で示される数値、形状、構成要素、構成要素の配置位置及び接続形態、ステップ、ステップの順序などは、一例であり、本開示を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、独立請求項に記載されていない構成要素については、任意の構成要素として説明される。
【0049】
また、各図は、模式図であり、必ずしも厳密に図示されたものではない。したがって、例えば、各図において縮尺などは必ずしも一致しない。また、各図において、実質的に同一の構成については同一の符号を付しており、重複する説明は省略又は簡略化する。
【0050】
また、本明細書において、同じなどの要素間の関係性を示す用語、並びに、数値、及び、数値範囲は、厳格な意味のみを表す表現ではなく、実質的に同等な範囲、例えば数%程度(例えば、10%程度)の差異をも含むことを意味する表現である。
【0051】
(実施の形態1)
[1-1.車両の構成]
図1は、本実施の形態に係る車両1の機能構成を示すブロック図である。
図1は、車両1に搭載される車載ネットワークシステムを示す。なお、以下では、データ保存システム1aは移動体の一例である車両1に搭載される例について説明するが、移動体は車両1であることに限定されず、ドローンなどの飛行体、船舶、鉄道などであってもよい。また、車両1は、自動運転車両であるが、手動運転車両、又は、自動運転と手動運転とが切り替え可能な車両であってもよい。
【0052】
なお、移動体が車両1であることにより、車両1に搭載されるデータ保存システム1aのコスト削減を実現することができる。車両1の自動運転化などに伴い、車両1に搭載される電子制御装置の数は今後も増加することが想定される。例えば、そのような多数の電子制御装置を備える車両1に本実施の形態のデータ保存システム1aが搭載されることで、特に効果を発揮すると考えられる。
【0053】
図1に示すように、車両1は、通信装置10と、セントラルECU(Electronic Control Unit:電子制御装置)20と、複数のECU30と、第2優先制御部40と、共用ストレージ装置50とを備える。本実施の形態では、複数のECU30(例えば、後述する第1優先制御部)と、共用ストレージ装置50とのインターフェースとしては、Ethernet(登録商標、以下同様)、PCIe(Peripheral Component Interconnect express)などを使用することができる。つまり、複数のECU30(例えば、後述する第1優先制御部)と、共用ストレージ装置50との間では、Ethernet、PCIeなど規格に従って通信が行われる。
【0054】
以下では、複数のECU30(例えば、後述する第1優先制御部)と、共用ストレージ装置50との間では、Ethernetの規格に従って通信が行われるものとして説明する。つまり、複数のECU30(例えば、後述する第1優先制御部)と、共用ストレージ装置50との間では、イーサネットフレームを用いて通信が行われる。
【0055】
通信装置10は、車両1の外部のネットワークとの通信インターフェースを有しており、例えば、セントラルECU20から通知される情報などを外部のネットワークを介して外部の装置(例えば、サーバ)に送信する。また、通信装置10は、外部の装置からソフトウェアの更新プログラムなどを受信する。通信装置10は、例えば、TCU(Telematic Control Unit)とも称される。
【0056】
セントラルECU20は、車両1において中心的な役割を担うECUであり、様々なアプリケーションが動作し、車両1の各機能を実現する。セントラルECU20は、例えば、車両1内で発生した異常について、外部の装置へ通知を行う。例えば、セントラルECU20は、共用ストレージ装置50に記憶されている情報を通信装置10を介して外部の装置に送信してもよい。
【0057】
ECU30は、車両1内のネットワークに複数接続され、車両1の各部を制御する。ECU30としては、例えば、自動運転に関するECU、車両1に搭載された各センサから取得された情報を通知するECU、車両1の駆動に関わるアクチュエータを制御するECUなどが例示されるが、これらに限定されない。
【0058】
セントラルECU20及びECU30は、例えば、プロセッサ(マイクロプロセッサ)、メモリなどのデジタル回路、アナログ回路、通信回路などを含む装置である。メモリは、ROM(Read Only Memory)、RAM(Random Access Memory)などであり、プロセッサにより実行される制御プログラム(コンピュータプログラム)を記憶することができる。例えばプロセッサが、制御プログラムにしたがって動作することにより、ECUは各種機能を実現する。コンピュータプログラムは、所定の機能を実現するために、プロセッサに対する命令コードが複数個組み合わされて構成されたものである。
【0059】
なお、車両1が備えるECU30の数は特に限定されず、2以上であればよい。
【0060】
第2優先制御部40は、複数のECU30と共用ストレージ装置50との間に接続され、複数のECU30から共用ストレージ装置50へのデータの書き込みの優先順位を制御する。本実施の形態では、第2優先制御部40は、例えば、ラウンドロビン制御により複数のECU30からのデータを共用ストレージ装置50へ書き込み制御を行う。第2優先制御部40は、共用優先制御部の一例である。
【0061】
共用ストレージ装置50は、複数のECU30のそれぞれと車載ネットワークを介して接続されており、複数のECU30からのデータの書き込みが可能な記憶装置である。本実施の形態では、共用ストレージ装置50は、セントラルECU20からのデータも書き込み可能である。共用ストレージ装置50は、不揮発性の記憶装置である。
【0062】
共用ストレージ装置50は、基板と基板上に配置された複数の不揮発性の半導体メモリとを含んで構成される。
【0063】
また、複数のECU30、第2優先制御部40及び共用ストレージ装置50により、データ保存システム1aが構成される。なお、データ保存システム1aには、セントラルECU20が含まれてもよい。
【0064】
以下、データ保存システム1aの構成について、
図2を参考しながら説明する。
図2は、本実施の形態に係るデータ保存システム1aの機能構成を示すブロック図である。また、以下では、複数のECU30のうち代表として2つのECU30A及び30Bを用いて説明する。ECU30Aは、電子制御装置及び第1電子制御装置の一例であり、ECU30Bは、電子制御装置及び第2電子制御装置の一例である。
【0065】
図2に示すように、データ保存システム1aは、ECU30A及び30Bと、第2優先制御部40と、共用ストレージ装置50とを備える。
【0066】
ECU30Aは、安全に関わらないECUであり、複数のマスタ部(マスタ部31A、32A及び33A)と、複数のテンポラリメモリ(テンポラリメモリ34A、35A及び36A)と、第1優先制御部37Aとを有する。ECU30Aは、車両1の走行制御に関わらないECUであり、例えば、車両1のウィンドウの開閉などのボディ機能を制御するECU、車両1に搭載されるディスプレイの出力を制御するECUなどが例示されるが、これらに限定されない。
【0067】
マスタ部31A、32A及び33Aのそれぞれは、互いに異なるデータを共用ストレージ装置50へ書き込むための処理を実行する処理部である。具体的には、マスタ部31Aは、データ(第1データの一例)を共用ストレージ装置50へ書き込むための処理を実行し、マスタ部32Aは、マスタ部31Aとは異なるデータ(第2データの一例)を共用ストレージ装置50へ書き込むための処理を実行し、マスタ部33Aは、マスタ部31A及び32Aとは異なるデータを共用ストレージ装置50へ書き込むための処理を実行する。これらのデータとしては、車両1内のイベントに関するイベントログ、車両1内のイベントに関する映像及びダウンロード情報などが例示される。言い換えると、マスタ部31A、32A及び33Aのそれぞれが実行する処理は、イベントログの記録、映像の録画及びダウンロード(ダウンロードされた情報の記録)などが例示される。マスタ部31A、32A及び33Aは、第1マスタ部の一例である。
【0068】
テンポラリメモリ34A、35A及び36Aは、アクセスが待たされたマスタ部のデータの消失を防止するためのメモリである。
【0069】
テンポラリメモリ34Aは、マスタ部31Aに接続され、アクセスが待たされたマスタ部31Aのデータの消失を防止するためのメモリである。テンポラリメモリ34Aは、マスタ部31Aからのデータを保存可能である。
【0070】
テンポラリメモリ35Aは、マスタ部32Aに接続され、アクセスが待たされたマスタ部32Aのデータの消失を防止するためのメモリである。テンポラリメモリ35Aは、マスタ部32Aからのデータを保存可能である。
【0071】
テンポラリメモリ36Aは、マスタ部33Aに接続され、アクセスが待たされたマスタ部33Aのデータの消失を防止するためのメモリである。テンポラリメモリ36Aは、マスタ部33Aからのデータを保存可能である。
【0072】
テンポラリメモリ34A、35A及び36Aは、例えば、揮発性の半導体メモリなどにより実現される。
【0073】
このように、ECU30Aは、マスタ部31A、32A及び33Aのそれぞれにテンポラリメモリ34A、35A及び36Aのそれぞれが接続される構成を有する。これにより、ECU30A内のマスタ部31A、32A及び33Aのライトアクセスがどのようなタイミングで衝突するかは不明であったとしても、アクセスを待たされるマスタ部のデータを当該マスタ部のテンポラリメモリに書き込みデータを退避させ、ライトアクセスの衝突が無くなった際に当該テンポラリメモリより退避したデータ読み出し共用ストレージ装置50に書き込むことで、データが消失することを抑制することができる。また、本実施の形態では、複数のECU30が1つの共用ストレージ装置50に接続されるので、ECU30間においてのライトアクセスの衝突が特に発生しやすい。複数のマスタ部31A、32A及び33Aのそれぞれに少なくとも1つのテンポラリメモリが接続されるので、このようなECU30間のライトアクセスの衝突の場合においても、アクセスを待たされるECUのマスタ部のデータの消失を抑制することができる。
【0074】
なお、以下において、ライトアクセスが衝突することを、データが衝突するとも記載する。
【0075】
第1優先制御部37Aは、マスタ部31A、32A及び33Aから共用ストレージ装置50へのデータの書き込みの優先順位を制御する。第1優先制御部37Aは、例えば、ラウンドロビン制御を行う。例えば、第1優先制御部37Aは、マスタ部31A、32A及び33Aからデータを順次読み出し、共用ストレージ装置50に書き込みを行う。また、第1優先制御部37Aは、マスタ部31A、32A及び33Aからデータを読み出す際、当該マスタ部に対するテンポラリメモリにデータが格納されている場合には、当該マスタ部に対するテンポラリメモリからデータを読み出し、共用ストレージ装置50に書き込みを行う。第1優先制御部37Aは、個別優先制御部及び第1個別優先制御部の一例である。
【0076】
ECU30Bは、安全に関わるECU(例えば、ECU30Aより車両1の安全に関わるECU)であり、複数のマスタ部(マスタ部31B、32B及び33B)と、複数のテンポラリメモリ(テンポラリメモリ34B、35B及び36B)と、第1優先制御部37Bとを有する。ECU30Bは、車両1の走行制御に関するECUであり、例えば、自動運転のための制御を行うECU、車両1の速度の加速(エンジン)及び減速(ブレーキ)を制御するECUなどが例示されるが、これらに限定されない。
【0077】
マスタ部31B、32B及び33Bのそれぞれは、ECU30Aのマスタ部31A、32A及び33Aのそれぞれと同様、互いに異なるデータを共用ストレージ装置50へ書き込むための処理を実行する処理部である。マスタ部31B、32B及び33Bは、第2マスタ部の一例である。
【0078】
テンポラリメモリ34Bは、マスタ部31Bに接続され、アクセスが待たされたマスタ部31Bのデータの消失を防止するためのメモリである。テンポラリメモリ34Bは、マスタ部31Bからのデータ(第3データの一例)を保存可能である。テンポラリメモリ34Bは、二重化されたテンポラリメモリであり、例えば、2つのテンポラリメモリが同じデータを記憶する。
【0079】
テンポラリメモリ35Bは、マスタ部32Bに接続され、アクセスが待たされたマスタ部32Bのデータの消失を防止するためのメモリである。テンポラリメモリ35Bは、マスタ部32Bからのデータ(第4データの一例)を保存可能である。テンポラリメモリ35Bは、二重化されたテンポラリメモリであり、例えば、2つのテンポラリメモリが同じデータを記憶する。
【0080】
テンポラリメモリ36Bは、マスタ部33Bに接続され、アクセスが待たされたマスタ部33Bのデータの消失を防止するためのメモリである。テンポラリメモリ36Bは、マスタ部33Bからのデータを保存可能である。テンポラリメモリ36Bは、二重化されたテンポラリメモリであり、例えば、2つのテンポラリメモリが同じデータを記憶する。
【0081】
なお、テンポラリメモリ34B、35B及び36Bは、二重化されていることに限定されない。
【0082】
テンポラリメモリ34B、35B及び36Bは、例えば、揮発性の半導体メモリなどにより実現される。
【0083】
第1優先制御部37Bは、マスタ部31B、32B及び33Bから共用ストレージ装置50へのデータの書き込みの優先順位を制御する。第1優先制御部37Bは、例えば、ラウンドロビン制御を行う。例えば、第1優先制御部37Bは、マスタ部31B、32B及び33Bからデータを順次読み出し、共用ストレージ装置50に書き込みを行う。また、第1優先制御部37Bは、マスタ部31B、32B及び33Bからデータを読み出す際、当該マスタ部に対するテンポラリメモリにデータが格納されている場合には、当該マスタ部に対するテンポラリメモリからデータを読み出し、共用ストレージ装置50に書き込みを行う。第1優先制御部37Bは、個別優先制御部及び第2個別優先制御部の一例である。
【0084】
なお、車両1は、複数のEUC30Aと複数のECU30Bとを備える。
【0085】
上記のように、データ保存システム1aは、共用ストレージ装置50を備えているので、ECU30A及び30Bは、マスタ部が処理するデータを記憶するストレージ装置を個別に有していない。これにより、データ保存システム1aでは、ストレージ装置の数を減らすことができるので、コストダウンが可能である。
【0086】
(実施の形態2)
[2-1.データ保存システムの構成]
本実施の形態に係るデータ保存システムの構成について、
図3~
図5を参照しながら説明する。
図3は、本実施の形態に係るデータ保存システム1bの機能構成を示すブロック図である。
【0087】
図3に示すように、データ保存システム1bは、ECU130A及び130Bと、第2優先制御部40と、共用ストレージ装置50とを備える。
【0088】
ECU130Aは、安全に関わらないECUであり、複数のマスタ部(マスタ部31A、32A及び33A)と、テンポラリメモリ134Aと、第1優先制御部137Aと、ID管理部138Aとを有する。
【0089】
テンポラリメモリ134Aは、第1優先制御部137Aに接続され、マスタ部31A、32A及び33Aのうちアクセスが待たされたマスタ部のデータの消失を防止するためのメモリである。テンポラリメモリ134Aは、マスタ部31A、32A及び33Aで共用のメモリであり、マスタ部31A、32A及び33Aそれぞれのデータを書き込み可能である。テンポラリメモリ134Aは、ECU130A内のマスタ部31A、32A及び33Aから出力され、かつ、共用ストレージ装置50に書き込まれていないデータを集約して記憶する。テンポラリメモリ134Aは、第1テンポラリメモリの一例である。
【0090】
第1優先制御部137Aは、複数のマスタ部に接続され、ID管理部138Aが管理するID管理表(第1優先情報の一例)に基づいて複数のマスタ部から共用ストレージ装置50へのデータの書き込みの優先順位を制御する。具体的には、第1優先制御部137Aは、ECU130A内の複数のマスタ部のうち2以上のマスタ部からのデータが衝突する場合、ID管理表に基づいて、2以上のマスタ部のうち一のマスタ部からのデータを共用ストレージ装置50へ出力し、他のマスタ部からのデータにID情報(IDとも記載する)を付与してテンポラリメモリ134Aへ記憶する。例えば、第1優先制御部137Aは、2以上のマスタ部からのデータが衝突する場合、優先順位が最も高いデータを共用ストレージ装置50へ出力し、優先順位が低いデータを当該データの優先順位を示す情報を(例えば、ID情報)付与してテンポラリメモリ134Aに書き込む。
【0091】
また、第1優先制御部137Aは、データ衝突のために一時的にテンポラリメモリ134Aに記憶されたデータを当該データに付与されたID情報に基づいて、共用ストレージ装置50へ順次出力する。
【0092】
このように、第1優先制御部137Aは、ID管理表に基づく制御(ID制御)により共用ストレージ装置50へのデータの書き込みの優先順位を制御する。
【0093】
また、第1優先制御部137Aは、ECU130A内の複数のマスタ部からのデータが衝突しない場合、つまり複数のマスタ部のうち一のマスタ部からのみデータを取得した場合、当該データをテンポラリメモリ134Aに記憶させずに第2優先制御部40に出力する。
【0094】
なお、第1優先制御部137Aは、共用ストレージ装置50へデータを出力する際、所定のデータフォーマットに書き換えて出力する。本実施の形態では、第1優先制御部137Aは、共用ストレージ装置50へデータを出力する際、マスタ部からのデータをイーサネットフレームのデータ形式に変換して共用ストレージ装置50へ出力する。
【0095】
ID管理部138Aは、データの種類と共用ストレージ装置50にデータを書き込む優先順位とが対応付けられたID管理表を管理する(記憶する)。ID管理表については、
図4を参照しながら後述する。ID管理部138Aは、第1管理部の一例である。
【0096】
ECU130Bは、安全に関わるECUであり、複数のマスタ部(マスタ部31B、32B及び33B)と、テンポラリメモリ134Bと、第1優先制御部137Bと、ID管理部138Bとを有する。
【0097】
テンポラリメモリ134Bは、第1優先制御部137Bに接続され、マスタ部31B、32B及び33Bのうちアクセスが待たされたマスタ部のデータの消失を防止するためのメモリである。テンポラリメモリ134Bは、マスタ部31B、32B及び33Bで共用のメモリであり、マスタ部31B、32B及び33Bそれぞれのデータを書き込み可能である。テンポラリメモリ134Bは、ECU130B内のマスタ部31B、32B及び33Bから出力され、かつ、共用ストレージ装置50に書き込まれていないデータを集約して記憶する。テンポラリメモリ134Bは、二重化されたテンポラリメモリであるが、これに限定されない。テンポラリメモリ134Bは、第2テンポラリメモリの一例である。
【0098】
第1優先制御部137Bは、複数のマスタ部に接続され、ID管理部138Bが管理するID管理表に基づいて複数のマスタ部から共用ストレージ装置50へのデータの書き込みの優先順位を制御する。具体的には、第1優先制御部137Bは、ECU130B内の複数のマスタ部のうち2以上のマスタ部からのデータが衝突する場合、ID管理部138Bが管理するID管理表(第2優先情報の一例)に基づいて、2以上のマスタ部のうち一のマスタ部からのデータを共用ストレージ装置50へ出力し、他のマスタ部からのデータにID情報を付与してテンポラリメモリ134Bへ記憶する。例えば、第1優先制御部137Bは、2以上のマスタ部からのデータが衝突する場合、優先順位が最も高いデータを共用ストレージ装置50へ出力し、優先順位が低いデータを当該データの優先順位を示す情報(例えば、ID情報)を付与してテンポラリメモリ134Bに書き込む。
【0099】
これにより、優先順位が高い(安全性が高い)書き込みアクセスのデータを共用ストレージ装置50に確実に書き込むことができ、かつ、優先順位が低い(安全性が低い)書き込みアクセスのデータが消失することを抑制することができる。また、テンポラリメモリ134Bに書き込まれるデータには優先順位を示す情報が付与されるので、データの識別(例えば、どのマスタ部からのデータであるかの識別)が可能となる。
【0100】
また、第1優先制御部137Bは、データ衝突のために一時的にテンポラリメモリ134Bに記憶されたデータをデータに付与されたID情報に基づいて、共用ストレージ装置50へ順次出力する。
【0101】
このように、第1優先制御部137Bは、ID管理表に基づく制御(ID制御)により共用ストレージ装置50へのデータの書き込みの優先順位を制御する。
【0102】
また、第1優先制御部137Bは、ECU130B内の複数のマスタ部からのデータが衝突しない場合、つまり複数のマスタ部のうち一のマスタ部からのみデータを取得した場合、当該データをテンポラリメモリ134Bに記憶させずに第2優先制御部40に転送する。
【0103】
なお、第1優先制御部137Bは、共用ストレージ装置50へデータを出力する際、所定のデータフォーマットに書き換えて出力する。本実施の形態では、第1優先制御部137Bは、共用ストレージ装置50へデータを出力する際、マスタ部からのデータをイーサネットフレームのデータ形式に変換して共用ストレージ装置50へ出力する。
【0104】
ID管理部138Bは、データの種類と共用ストレージ装置50にデータを書き込む優先順位とが対応付けられたID管理表を管理する(記憶する)。
【0105】
ここで、ID管理部138A及び138Bが管理するID管理表について、
図4を参照しながら説明する。
図4は、本実施の形態に係るID管理表を示す図である。なお、ID管理表は、第1優先情報の一例である。
【0106】
図4に示すように、ID管理表は、アクセス分類と、処理分類と、処理内容例と、優先順位とが対応付けられたテーブルである。
【0107】
アクセス分類は、データを書き込む処理の分類を示し、ASIL(Automotive Safety Integrity Level:自動車安全水準)ライト、非ASILライト、及び、通信ライトが含まれる。ASILライトは、安全に関わるアクセス(安全に関わるデータの書き込み)を示しており、非ASILライトは、安全に関わらないアクセス(安全に関わらないデータの書き込み)を示しており、通信ライトは、車両1の外部のサーバ装置からのダウンロードアクセス(ダウンロードしたデータの書き込み)を示している。
【0108】
処理分類は、アクセス分類ごとのデータに対する処理分類を示しており、イベントログ記録、イベント録画、常時ログ記録、常時録画、及び、ダウンロードが含まれる。
【0109】
イベントログ記録及びイベント録画は、アクセス分類がASILライトに含まれる。イベントログ記録は、車両1の安全に関わるイベントに関するログを共用ストレージ装置50に記録することであり、例えば、処理内容例に示されるように障害物検知でリスク検知発生前後のログを記録することを含む。イベント録画は、車両1の安全に関わるイベントに関する映像などを録画することであり、例えば、処理内容例に示されるように障害物検知でリスク検知発生前後の映像や検知解析画像などを録画することを含む。
【0110】
常時ログ記録及び常時録画は、アクセス分類が非ASILライトに含まれる。常時ログ記録は、安全に関わらないログを常時記録することであり、例えば、走行ログ(位置情報など)と、自車両情報(車両状況など)と、乗員状態(血圧など)とが含まれる。常時録画は、安全に関わらない映像を常時録画することであり、例えば、走行映像録画が含まれる。
【0111】
ダウンロードは、通信ライトに含まれる。ダウンロードは、車両1の外部のサーバからの情報をダウンロードすることであり、例えば、OTA(Over The Air)などのソフトウェア更新とサーバからの管理データとが含まれる。
【0112】
優先順位は、アクセス分類ごとの共用ストレージ装置50へのデータ書き込みの優先順位を示しており、車両1の安全に対して優先されるべき度合いに応じた順位である。例えば、ASILライトにおけるデータと、非ASILにおけるデータとが衝突する場合、ASILライトにおけるデータが優先して共用ストレージ装置50に書き込まれることを示している。
【0113】
ここで、処理内容例に示すID情報について説明する。「IDm-n」の表記の「m」は、アクセス分類に対する安全性による優先順位を示している。そのため、アクセス分類が同じであれば処理分類に関わらず「m」は同じ数値となり得る。また、「n」は、処理内容に対する安全性による優先順位を示している。そのため、アクセス分類は同じであっても処理内容が異なると「n」は異なる数値となり得る。このようなID情報は、「m」、「n」ともに数値が小さい方が安全性による優先順位が高いことを示す。
【0114】
例えば、
図4では、アクセス分類においてASILライトを安全性において優先度を高くし、各処理においてはログ記録を録画よりも安全性において優先度を高くすることで、事故が発生した際の詳細データであるイベントログを確実に共用ストレージ装置50に記録できるようにしている。
【0115】
処理内容「障害物検知でリスク検知発生前後のログを記録」のID情報は「ID1-1」であり、処理内容「障害物検知でリスク検知発生前後の映像や検知解析画像など録画」のID情報は「ID1-2」である。また、処理内容「走行ログ(位置情報など)」のID情報は「ID2-1」であり、処理内容「自車両情報(車両状況など)」のID情報は「ID2-2」であり、処理内容「乗員状態(血圧など)」のID情報は「ID2-3」であり、処理内容「走行映像録画」のID情報は「ID2-4」である。また、処理内容「ソフトウェア更新」のID情報は「ID3-1」であり、処理内容「サーバからの管理データ」のID情報は「ID3-2」である。
【0116】
例えば、アクセス分類が「ASILライト」においては、「イベントログ記録(障害物検知でリスク検知発生前後のログを記録)」が最も優先され、アクセス分類が「非ASILライト」においては、「常時ログ記録のうち走行ログ(位置情報など)」が最も優先され、アクセス分類が「通信ライト」では、「ソフトウェア更新」が最も優先される。
【0117】
なお、
図4に示すIDは一例であり、所望のデータが確実に共用ストレージ装置50に記録できるように、車両1の製造会社などにより「m」、「n」の数値が適宜決定されてもよい。
【0118】
なお、ID管理部138A及び138Bのそれぞれが
図4に示すID管理表の全ての情報を記憶していなくてもよい。ID管理部138Aは、例えば、ECU130Aにおける判定に必要な情報のみを記憶していてもよいし、ID管理部138Bは、例えば、ECU130Bにおける判定に必要な情報のみを記憶していてもよい。
【0119】
また、ID管理部138Aは、テンポラリメモリ134Aに記憶されているデータのリスト(データ管理表)を管理してもよいし、ID管理部138Bは、テンポラリメモリ134Bに記憶されているデータのリスト(データ管理表)を管理してもよい。ID管理部138A及び138Bが管理するデータ管理表の一例について
図5を参照しながら説明する。
図5は、本実施の形態に係るデータ管理表を示す図である。
【0120】
図5に示すように、データ管理表には、アクセス分類、処理分類、処理内容例、格納数、及び、テンポラリメモリのアドレスが含まれる。
【0121】
格納数は、処理内容が示すデータの数を示しており、例えば、イベントログ記録であれば、2つのデータが記録されていることを示す。テンポラリメモリのアドレスは、テンポラリメモリにおいてデータが記憶されているアドレスを示している。開始アドレスは、データがどのアドレスから記憶が開始されているかを示し、連続アドレス数は、データ数を示す。例えば、イベントログ記録であれば、開始アドレスが「0x0000_0000」でありデータ数8のデータ(ログ)と、開始アドレスが「0x0000_0010」でありデータ数8のデータ(ログ)とがこの順にテンポラリメモリに記録されていることを示している。
【0122】
例えば、アクセス分類ごとに、記憶された時刻が古い順にデータ管理表が作成されるが、これに限定されない。
【0123】
図5に示すデータ管理表は、第1優先制御部137A及び137Bがテンポラリメモリに記憶されているデータを共用ストレージ装置50へ出力する際に用いられる。第1優先制御部137Aは、テンポラリメモリ134Aに記憶されているデータをデータ管理表に基づいて共用ストレージ装置50へ順次出力する。また、第1優先制御部137Bは、テンポラリメモリ134Bに記憶されているデータをデータ管理表に基づいて共用ストレージ装置50へ順次出力する。第1優先制御部137A及び137Bは、例えは、テンポラリメモリに記憶された時刻が古い順に、データを共用ストレージ装置50へ順次出力してもよい。
【0124】
なお、ID管理部138A及び138Bのそれぞれが
図5に示すデータ管理表の全ての情報を記憶していなくてもよい。ID管理部138Aは、例えば、テンポラリメモリ134Aに記憶されているデータに関する情報のみを記憶していてもよいし、ID管理部138Bは、例えば、テンポラリメモリ134Bに記憶されているデータに関する情報のみを記憶していてもよい。
【0125】
[2-2.データ保存システムの動作]
上記のように構成されるデータ保存システム1bの動作について、
図6A及び
図6Bを参照しながら説明する。
図6Aは、本実施の形態に係るデータ保存システム1bの動作を示すフローチャートである。
図6Bは、
図6Aに示すステップS26、S29及びS31の動作の詳細を示すフローチャートである。以下では、ECU130Bの動作を例に説明する。また、以下では、ECU130BがASILライト、非ASILライト及び通信ライトのそれぞれのアクセスを行う例について説明する。
【0126】
図6Aに示すように、第1優先制御部137Bは、ライトアクセスが発生した場合、ライトアクセスの衝突が発生したか否かを判定する(S10)。ライトアクセスの衝突の判定は、既存のいかなる方法が用いられてもよい。
【0127】
次に、第1優先制御部137Bは、ライトアクセスの衝突が発生していないと判定した場合(S10でNo)、ASILライトのアクセスが発生したか否か、つまりマスタ部からのアクセスがASILライトのアクセスであるか否かを判定する(S11)。第1優先制御部137Bは、いずれのマスタ部から取得したデータであるか、又は、取得したデータの解析によりASILライトのアクセスであるか否かを判定してもよい。
【0128】
次に、第1優先制御部137Bは、ASILライトのアクセスが発生したと判定した場合(S11でYes)、データ管理表に基づいて、テンポラリメモリ134BにASILライトのデータ又は処理内容が同じデータが記憶されているか否かを判定する(S12)。第1優先制御部137Bは、テンポラリメモリ134Bにデータが記憶されていると判定した場合(S12でYes)、テンポラリメモリ134BからASILライトのアクセス処理を行う(S13)。つまり、第1優先制御部137Bは、現在取得したASILライトのデータより、過去にデータが衝突しテンポラリメモリ134Bに記憶されている(退避している)ASILライトのデータを優先して共用ストレージ装置50に書き込む処理を行う。この場合、第1優先制御部137Bは、現在取得したASILライトのデータをテンポラリメモリ134Bに記憶する。そして、第1優先制御部137Bは、データ管理表を更新してもよい。
【0129】
また、第1優先制御部137Bは、テンポラリメモリ134Bにデータが記憶されていないと判定した場合(S12でNo)、現在取得したASILライトのデータに対してASILライトのアクセス処理を行う(S14)。つまり、第1優先制御部137Bは、現在取得したASILライトのデータをテンポラリメモリ134Bに記憶せずに、共用ストレージ装置50に書き込む処理を行う。
【0130】
また、第1優先制御部137Bは、ASILライトのアクセスが発生していないと判定した場合(S11でNo)、非ASILライトのアクセスが発生したか否か、つまりマスタ部からのアクセスが非ASILライトのアクセスであるか否かを判定する(S15)。第1優先制御部137Bは、いずれのマスタ部から取得したデータであるか、又は、取得したデータの解析により非ASILライトのアクセスであるか否かを判定してもよい。
【0131】
次に、第1優先制御部137Bは、非ASILライトのアクセスであると判定した場合(S15でYes)、データ管理表に基づいて、テンポラリメモリ134Bに非ASILライトのデータ又は処理内容が同じデータが記憶されているか否かを判定する(S16)。第1優先制御部137Bは、テンポラリメモリ134Bにデータが記憶されていると判定した場合(S16でYes)、テンポラリメモリ134Bから非ASILライトのアクセス処理を行う(S17)。つまり、第1優先制御部137Bは、現在取得した非ASILライトのデータより、過去にデータが衝突しテンポラリメモリ134Bに記憶されている非ASILライトのデータを優先して共用ストレージ装置50に書き込む処理を行う。この場合、第1優先制御部137Bは、現在取得した非ASILライトのデータをテンポラリメモリ134Bに記憶する。そして、第1優先制御部137Bは、データ管理表を更新してもよい。
【0132】
また、第1優先制御部137Bは、テンポラリメモリ134Bにデータが記憶されていないと判定した場合(S16でNo)、現在取得した非ASILライトのデータに対して非ASILライトのアクセス処理を行う(S18)。つまり、第1優先制御部137Bは、現在取得した非ASILライトのデータをテンポラリメモリ134Bに記憶せずに、共用ストレージ装置50に書き込む処理を行う。
【0133】
また、第1優先制御部137Bは、非ASILライトのアクセスが発生していないと判定した場合(S15でNo)、通信ライトのアクセスが発生したか否か、つまりマスタ部からのアクセスが通信ライトのアクセスであるか否かを判定する(S19)。第1優先制御部137Bは、いずれのマスタ部から取得したデータであるか、又は、取得したデータの解析により通信ライトのアクセスであるか否かを判定してもよい。
【0134】
次に、第1優先制御部137Bは、通信ライトのアクセスが発生したと判定した場合(S19でYes)、データ管理表に基づいて、テンポラリメモリ134Bに通信ライトのデータ又は処理内容が同じデータが記憶されているか否かを判定する(S20)。第1優先制御部137Bは、テンポラリメモリ134Bにデータが記憶されていると判定した場合(S20でYes)、テンポラリメモリ134Bから通信ライトのアクセス処理を行う(S21)。つまり、第1優先制御部137Bは、現在取得した通信ライトのデータより、過去にデータが衝突しテンポラリメモリ134Bに記憶されている通信ライトのデータを優先して共用ストレージ装置50に書き込む処理を行う。この場合、第1優先制御部137Bは、現在取得した通信ライトのデータをテンポラリメモリ134Bに記憶する。そして、第1優先制御部137Bは、データ管理表を更新してもよい。
【0135】
また、第1優先制御部137Bは、テンポラリメモリ134Bにデータが記憶されていないと判定した場合(S20でNo)、現在取得した通信ライトのデータに対して通信ライトのアクセス処理を行う(S22)。つまり、第1優先制御部137Bは、現在取得した通信ライトのデータをテンポラリメモリ134Bに記憶せずに、共用ストレージ装置50に書き込む処理を行う。
【0136】
また、第1優先制御部137Bは、通信ライトのアクセスが発生していないと判定した場合(S19でNo)、ステップS10に戻る。
【0137】
また、第1優先制御部137Bは、ライトアクセスの衝突が発生していると判定した場合(S10でYes)、ASILライトのアクセスが発生したか否か、つまりマスタ部からのアクセスがASILライトのアクセスであるか否かを判定する(S23)。第1優先制御部137Bは、衝突した2つ(又は2つ以上)のアクセスにASILライトのアクセスが含まれるか否かを判定する。
【0138】
次に、第1優先制御部137Bは、ASILライトのアクセスが発生していると判定した場合(S23でYes)、非ASILライトのアクセスが発生したか否か、つまりマスタ部からのアクセスが非ASILライトのアクセスを含むか否かを判定する(S24)。
【0139】
次に、第1優先制御部137Bは、非ASILライトのアクセスが発生していると判定した場合(S24でYes)、通信ライトのアクセスが発生したか否か、つまりマスタ部からのアクセスが通信ライトのアクセスを含むか否かを判定する(S25)。
【0140】
次に、第1優先制御部137Bは、通信ライトのアクセスが発生していると判定した場合(S25でYes)、衝突したアクセスのうちASILライトのアクセス処理を行う(S26)。ステップS25でYesの場合、ASILライトのアクセスと、非ASILライトのアクセスと、通信ライトのアクセスとが衝突しているので、そのうちASILライトのデータをテンポラリメモリ134Bに記憶せずに、共用ストレージ装置50に書き込む処理を行う。
【0141】
図6Bに示すように、第1優先制御部137Bは、ASILライトのアクセスが発生したと判定した場合(S23でYes)、データ管理表に基づいて、テンポラリメモリ134BにASILライトのデータ又は処理内容が同じデータが記憶されているか否かを判定する(S26a)。第1優先制御部137Bは、テンポラリメモリ134Bにデータが記憶されていると判定した場合(S26aでYes)、テンポラリメモリ134BからASILライトのアクセス処理を行う(S26c)。つまり、第1優先制御部137Bは、現在取得したASILライトのデータより、過去にデータが衝突しテンポラリメモリ134Bに記憶されている(退避している)ASILライトのデータを優先して共用ストレージ装置50に書き込む処理を行う。この場合、第1優先制御部137Bは、現在取得したASILライトのデータをテンポラリメモリ134Bに記憶する。そして、第1優先制御部137Bは、データ管理表を更新してもよい。
【0142】
また、第1優先制御部137Bは、テンポラリメモリ134Bにデータが記憶されていないと判定した場合(S26aでNo)、現在取得したASILライトのデータに対してASILライトのアクセス処理を行う(S26b)。つまり、第1優先制御部137Bは、現在取得したASILライトのデータをテンポラリメモリ134Bに記憶せずに、共用ストレージ装置50に書き込む処理を行う。
【0143】
図6Aを再び参照して、次に、第1優先制御部137Bは、IDを付与してテンポラリメモリ134Bへ非ASILライトのデータを退避させ(S27)、かつ、IDを付与してテンポラリメモリ134Bへ通信ライトのデータを退避させる(S28)。そして、第1優先制御部137Bは、データ管理表を更新してもよい。
【0144】
これにより、ASILライトのアクセスと、非ASILライトのアクセスと、通信ライトのアクセスとが衝突した場合に、安全性の高いASILライトのアクセスのデータを共用ストレージ装置50に確実に書き込むことができ、かつ、非ASILライトのアクセスのデータと、通信ライトのアクセスのデータとが消失することを抑制することができる。なお、退避させるとは、消失させないためにデータをテンポラリメモリ134Bに一時的に記憶させることを意味する。
【0145】
また、第1優先制御部137Bは、通信ライトのアクセスが発生していないと判定した場合(S25でNo)、衝突したアクセスのうちASILライトのアクセス処理を行う(S29)。ステップS25でNoの場合、ASILライトのアクセスと、非ASILライトのアクセスとが衝突しているので、そのうちASILライトのデータをテンポラリメモリ134Bに記憶せずに、共用ストレージ装置50に書き込む処理を行う。なお、
図6Bに示すように、ステップS29の処理は、ステップS26と同様であり、説明を省略する。
【0146】
次に、第1優先制御部137Bは、IDを付与してテンポラリメモリ134Bへ非ASILライトのデータを退避させる(S30)。そして、第1優先制御部137Bは、データ管理表を更新してもよい。
【0147】
これにより、ASILライトのアクセスと、非ASILライトのアクセスとが衝突した場合に、安全性の高いASILライトのアクセスのデータを共用ストレージ装置50に確実に書き込むことができ、かつ、非ASILライトのアクセスのデータが消失することを抑制することができる。
【0148】
また、第1優先制御部137Bは、非ASILライトのアクセスが発生していないと判定した場合(S24でNo)、衝突したアクセスのうちASILライトのアクセス処理を行う(S31)。ステップS24でNoの場合、ASILライトのアクセスと、通信ライトのアクセスとが衝突しているので、そのうちASILライトのデータをテンポラリメモリ134Bに記憶せずに、共用ストレージ装置50に書き込む処理を行う。なお、
図6Bに示すように、ステップS31の処理は、ステップS26と同様であり、説明を省略する。
【0149】
次に、第1優先制御部137Bは、IDを付与してテンポラリメモリ134Bへ通信ライトのデータを退避させる(S32)。そして、第1優先制御部137Bは、データ管理表を更新してもよい。
【0150】
これにより、ASILライトのアクセスと、通信ライトのアクセスとが衝突した場合に、安全性の高いASILライトのアクセスのデータを共用ストレージ装置50に確実に書き込むことができ、かつ、通信ライトのアクセスのデータが消失することを抑制することができる。
【0151】
また、第1優先制御部137Bは、ASILライトのアクセスが発生していないと判定した場合(S23でNo)、テンポラリメモリ134Bに非ASILライトのデータが記憶されているか否かを判定する(S33)。ステップS33の判定は、例えば、
図5に示すデータ管理表に基づいて行われてもよい。なお、ステップS23でNoと判定される場合は、非ASILライトのアクセスと通信ライトのアクセスとが衝突している、非ASILライトのアクセス同士が衝突している、又は、通信ライトのアクセス同士が衝突している場合が例示される。以下では、非ASILライトのアクセスと通信ライトのアクセスとが衝突している場合について説明する。
【0152】
次に、第1優先制御部137Bは、テンポラリメモリ134Bに非ASILライトのデータが記憶されていると判定した場合(S33でYes)、テンポラリメモリ134Bから非ASILライトのアクセス処理を行う(S34)。つまり、第1優先制御部137Bは、現在取得した非ASILライトのデータより、過去にデータが衝突しテンポラリメモリ134Bに記憶されている非ASILライトのデータを優先して共用ストレージ装置50に書き込む処理を行う。この場合、第1優先制御部137Bは、現在取得されている非ASILライトのデータをテンポラリメモリ134Bに記録する。また、第1優先制御部137Bは、テンポラリメモリ134Bに非ASILライトのデータが記憶されていないと判定した場合(S33でNo)、衝突したアクセスのうち非ASILライトのデータに対して非ASILライトのアクセス処理を行う(S35)。つまり、第1優先制御部137Bは、現在取得した非ASILライトのデータをテンポラリメモリ134Bに記憶せずに、共用ストレージ装置50に書き込む処理を行う。
【0153】
次に、第1優先制御部137Bは、IDを付与してテンポラリメモリ134Bへ通信ライトのデータを退避させる(S36)。そして、第1優先制御部137Bは、データ管理表を更新してもよい。
【0154】
これにより、非ASILライトのアクセスと、通信ライトのアクセスとが衝突した場合に、安全性の高い非ASILライトのアクセスのデータを共用ストレージ装置50に確実に書き込むことができ、かつ、通信ライトのアクセスのデータが消失することを抑制することができる。
【0155】
(実施の形態2の変形例)
本変形例では、テンポラリメモリがIDごとに記憶領域が分割されており、IDごとにデータを当該IDに応じた記憶領域に書き込む例について説明する。
図7は、本変形例に係るテンポラリメモリの領域分割の例を示す図である。
図7は、本変形例に係るID管理部が管理するID管理表を示す。なお、本変形例に係るデータ保存システムの機能構成は実施の形態2に係るデータ保存システム1bと同じであってもよく、以下では、データ保存システム1bの符号を用いて説明する。
【0156】
図7に示すように、ID管理表は、アクセス分類と、処理分類と、処理内容例と、テンポラリメモリのアドレスとが対応付けられたテーブルである。なお、
図7に示すID管理表は、テンポラリメモリ134A及び134Bの少なくとも一方のテンポラリメモリに対応するID管理表であってもよい。以下では、
図7に示すID管理表がテンポラリメモリ134Bに対応するID管理表である、つまりID管理部138Bが管理するID管理表である例について説明する。
【0157】
テンポラリメモリ134Bのアドレスは、データを記憶する開始アドレスと終了アドレスとを含み、IDごとに互いに異なる開始アドレス及び終了アドレスが対応付けられている。例えば、ID1-1のデータ(イベントログ)は、アドレスが「0x0010_0000」から「0x001F_FFFF」の記憶領域に記憶される。つまり、テンポラリメモリ134Bは、予めデータごとに記憶領域が分割されている。
【0158】
この場合、第1優先制御部137Bは、ECU130Bの2以上のマスタ部から共用ストレージ装置50へのデータ書き込みのアクセスが衝突した場合、
図7に示すID管理表に基づいて、優先順位が低いデータをテンポラリメモリ134B内の当該データに対応する記憶領域に書き込む。
【0159】
これにより、テンポラリメモリ134Bに記憶するデータにIDを付与しなくてもよいので、テンポラリメモリ134Bの容量を削減することができる。テンポラリメモリ134Bの容量の削減は、データ保存システム1bのコスト削減につながる。
【0160】
また、ECU130Aにおいても同様に、テンポラリメモリ134Aは、予めデータごとに記憶領域が分割されており、第1優先制御部137Aは、ECU130A内の2以上のマスタ部から共用ストレージ装置50へのデータの書き込みが衝突した場合、ID管理部138Aが管理するID管理表(第2優先情報の一例)に基づいて、優先順位が低いデータをテンポラリメモリ134A内の当該データに対応する記憶領域に書き込む。
【0161】
(実施の形態3)
[3-1.データ保存システムの構成]
本実施の形態に係るデータ保存システムの構成について、
図8~
図10を参照しながら説明する。
図8は、本実施の形態に係るデータ保存システム1cの機能構成を示すブロック図である。
【0162】
図8に示すように、データ保存システム1cは、ECU130A及び230Bと、第2優先制御部240と、共用ストレージ装置50とを備える。データ保存システム1cは、実施の形態2に示すデータ保存システム1bのECU130Bに替えてECU230Bを備え、かつ、第2優先制御部40に替えて第2優先制御部240を備える。
【0163】
ECU230Bは、安全に関わるECUであり、複数のマスタ部(マスタ部31B、32B及び33B)と、第1優先制御部237Bとを有する。ECU230Bは、テンポラリメモリ及びID管理部を有していない。
【0164】
第1優先制御部237Bは、複数のマスタ部と第2優先制御部240との間に接続され、ECU230B内の2以上のマスタ部から共用ストレージ装置50へのデータの書き込みのアクセスが衝突した場合、優先順位を安全最優先で制御する。
【0165】
なお、このECU230Bでの安全最優先の制御は、マスタ部それぞれに対して安全最優先で設定されたQoS(Quality of Service)制御値に基づき行い、この設定値は第2優先制御部240に対するインターフェースのヘッダ部に格納され出力される。
【0166】
第1優先制御部237Bは、2以上のマスタ部から共用ストレージ装置50へのデータの書き込みのアクセスが衝突した場合、より安全性が高いデータを共用ストレージ装置50に書き込む。安全最優先とは、安全に関わるマスタ部のアクセスを他のマスタ部(例えば、安全に関わらないマスタ部)のアクセスより優先し、安全に関わるマスタ部のアクセスが待たされないようにすることである。例えば、安全最優先とは、安全に関わるマスタ部のアクセスを最優先とすることである。
【0167】
第2優先制御部240は、ECU130A及び230Bから共用ストレージ装置50へのデータの書き込みのアクセスが衝突した場合、優先順位を安全最優先で制御する。つまり、第2優先制御部240は、ECU130A及び230Bからのアクセスが衝突した場合、ECU230Bからのデータを優先して共用ストレージ装置50に書き込む。
【0168】
ここで、本実施の形態において、ID管理部138Aが管理するID管理表及びデータ管理表について、
図9及び
図10を参照しながら説明する。
図9は、本実施の形態に係るID管理表を示す図である。
【0169】
図9に示すように、アクセス分類がASILライトである処理分類において、IDが設定されていない。また、優先順位は、アクセス分類ごとではなく、処理分類ごとに設定されている。例えば、
図9に示すID管理表を用いる場合、イベントログ記録のアクセスと、イベント録画のアクセスとが衝突すると、優先順位が高いイベントログ記録のアクセスが優先される。
【0170】
この場合でも、イベントログ記録のアクセスはデータ量が少なく、またイベント録画のアクセスは非ASILライト及び通信ライトより優先順位が高いので、イベント録画のデータが消失されることがない様にシステム設計が可能となる。
【0171】
図10は、本実施の形態に係るデータ管理表を示す図である。
【0172】
図10に示すように、第1優先制御部237Bが安全最優先で制御するので、アクセス分類がASILライトであるデータは、データ管理表には含まれない。つまり、当該データは、テンポラリメモリに保存されない。
【0173】
[3-2.データ保存システムの動作]
上記のように構成されるデータ保存システム1cの動作について、
図11を参照しながら説明する。
図11は、本実施の形態に係るデータ保存システム1cの動作を示すフローチャートである。以下では、ECU230Bにおける処理を例に説明する。また、以下では、ECU230BがASILライト、非ASILライト及び通信ライトのそれぞれのアクセスを行う例について説明する。また、以下では、実施の形態2に示す
図6Aの動作との相違点を中心に説明し、
図6Aに示す動作と同一又は類似の動作については同一の符号を付し説明を省略又は簡略化する。
【0174】
図11に示すように、第1優先制御部237Bは、ライトアクセスの衝突が発生しておらず、かつ、ASILライトのアクセスが発生している場合(S10でNo、かつ、S11でYes)、現在取得したASILライトのデータに対してASILライトのアクセス処理を行う(S41)。つまり、第1優先制御部237Bは、現在取得したASILライトのデータを共用ストレージ装置50に書き込む処理を行う。
【0175】
また、第1優先制御部237Bは、ライトアクセス衝突発生時にASILライトのアクセスが発生している場合(S10でYes、かつ、S23でYes)で、現在取得したASILライトのデータに対してASILライトのアクセス処理を行う(S42、S43、S44)。つまり、第1優先制御部237Bは、現在取得したASILライトのデータを共用ストレージ装置50に書き込む処理を行う。
【0176】
(実施の形態3の変形例1)
本変形例では、第2優先制御部がデータ容量の小さいログデータを集約し一括して共用ストレージ装置に書き込む例について説明する。
図12は、本変形例に係るデータ保存システム1dの機能構成を示すブロック図である。
【0177】
図12に示すように、本変形例に係るデータ保存システム1dは、実施の形態3に係るデータ保存システム1cの第2優先制御部240に替えて第2優先制御部340を備える。
【0178】
第2優先制御部340は、ログデータ判定部341と、ログデータ集約部342とを有する。
【0179】
ログデータ判定部341は、ECU130A及び230B(複数のECUの一例)から取得したデータがログデータであるか否かを判定する。ログデータ判定部341は、ECU130A及び230Bからのデータに含まれるQoS制御用のレジスタ値によりログデータであるか否かを判定するが、取得したデータを解析することにより、ログデータであるか否かを判定してもよい。ログデータ判定部341は、判定部の一例である。
【0180】
複数のECU30と、共用ストレージ装置50とのインターフェースとしてEthernetが用いられている場合、イーサネットフレームのヘッダ部に含まれるVirtual LAN(VLAN)のPCP(Priority Code Point)、IP Precedence又はDSCP(Differentiated Services Code Point)において、当該データの優先度を示す情報が含まれる。例えば、第1優先制御部237Bは、マスタ部31Bなどからのデータをイーサネットフレームに変換する際、VLANのPCP、IP Precedence又はDSCPに当該データの優先度を示す情報(例えば、IDに応じた情報)を含める。また、複数のECU30と、共用ストレージ装置50とのインターフェースとしてPCIeが用いられている場合、Virtual Channel(VC)において、当該データの優先度を示す情報が含まれる。
【0181】
ログデータ集約部342は、ログデータ判定部341がログデータであると判定したデータを集約し、集約されたデータ一括して共用ストレージ装置50に書き込むための処理を行う。ログデータ集約部342は、例えば、ログデータをある程度の個数まとめてパッキングして共用ストレージ装置50に書き込む。パッキングとは、共用ストレージ装置50への1回の書き込み動作で書き込むデータとして、複数のログデータを1つのまとまりとすることを意味する。
【0182】
ログデータ集約部342は、集約したログデータの容量が第1閾値以上であり、かつ、第1閾値より高い第2閾値以下となるように、ログデータを集約する。第1閾値は、ログデータ2つ分の容量を合計した容量以上であり、第2閾値は、共用ストレージ装置50の1ページの容量に応じた値である。
【0183】
ログデータ集約部342は、ECU130Aを含む安全に関わらないECUのログデータと、ECU230Bを含む安全に関わるECUのログデータとを、別々に集約してもよいし、一括して集約してもよい。
【0184】
これにより、共用ストレージ装置50へのデータの書き込み回数を減らすことができるので、共用ストレージ装置50の寿命を延ばすことができる。例えば、車両1などのライフサイクルが長い移動体に対し、共用ストレージ装置50の交換回数を削減することができ、移動体に要するコストを削減することができる。
【0185】
(実施の形態3の変形例2)
本変形例では、性質の異なる2以上のメモリ部を有する共用ストレージ装置へデータを書き込む例について
図13及び
図14を参照しながら説明する。
図13は、本変形例に係るデータ保存システム1eの機能構成を示すブロック図である。
【0186】
図13に示すように、本変形例に係るデータ保存システム1eは、ECU130A及び230Bと、第2優先制御部440と、共用ストレージ装置450と、第1メモリ制御部461及び第2メモリ制御部462とを備える。データ保存システム1eは、実施の形態3に係るデータ保存システム1cの第2優先制御部240に替えて第2優先制御部440を備え、かつ、共用ストレージ装置50に替えて共用ストレージ装置450を備え、さらに、データ保存システム1cに加えて第1メモリ制御部461及び第2メモリ制御部462を備える。
【0187】
第2優先制御部440は、選択部441を有する。選択部441は、ECU130A及び230Bなどから取得したデータを、当該データに含まれる共用ストレージ装置450へのデータの書き込みの優先順位を示す情報に基づいて第1メモリ部451及び第2メモリ部452のいずれに書き込むかを選択する。第2優先制御部440は、後述する
図14に示すID管理表を用いて、どちらのメモリ部へデータを書き込むかを判定する。なお、データは、第1メモリ部451及び第2メモリ部452の一方のみに記憶される。
【0188】
選択部441は、選択したメモリ部に接続されるメモリ制御部(第1メモリ制御部461及び第2メモリ制御部462の一方)にデータを出力する。
【0189】
優先順位を示す情報は、例えば、複数のECU30などから取得したデータのヘッダ部に含まれるQoS制御用のレジスタ値により実現される。QoS制御用のレジスタ値を利用することで、データのヘッダ部及びデータ部のうちデータ部の解析することなく第1メモリ部451及び第2メモリ部452のどちらを選択するかを判定することができる。なお、優先順位を示す情報は、例えば、IDなどであってもよい。
【0190】
共用ストレージ装置450は、基板(図示しない)と、第1メモリ部451と、第2メモリ部452と、コネクタ451aとを有する。
【0191】
基板は、複数の半導体メモリ(半導体メモリチップ)が実装される基板(例えば、多層の配線基板)である。
【0192】
第1メモリ部451は、第2メモリ部452より容量が大きい不揮発性の半導体メモリである。第1メモリ部451には、例えば、容量及びコストにメリットがあるMLC(Multi Level Cell)メモリ、TLC(Triple Level Cell)メモリなどが使用される。MLCメモリは、1つのメモリセルに2ビットの情報を記録することができるメモリである。TLCメモリは、1つのメモリセルに3ビットの情報を記録することができるメモリである。
【0193】
第1メモリ部451は、コネクタ451aを介して基板に取り付けられる。第1メモリ部451は、コネクタ451aに着脱可能に取り付けられる。着脱可能とは、共用ストレージ装置450を破壊することなく、又は、半田ごてなどの道具を用いることなく、第1メモリ部451を取り付け及び取り外しできることを意味する。つまり、第1メモリ部451は、容易に取り替え可能である。
【0194】
第2メモリ部452は、第1メモリ部451より耐久性が高い不揮発性の半導体メモリである。第2メモリ部452には、例えば、信頼性及び寿命にメリットがあるpSLC(pseudo Single Level Cell(擬似SLC))、SLC(Single Level Cell)メモリなどが使用される。pSLCメモリは、pSLC方式に対応したメモリであり、1つのメモリセルに1ビットの情報を記録することができるメモリである。SLCメモリは、1つのメモリセルに1ビットの情報を記録することができるメモリである。
【0195】
第2メモリ部452は、基板の実装面に配置される。第2メモリ部452は、例えば、基板に着脱不可能に取り付けられる。第2メモリ部452は、例えば、ボンディングワイヤを介して基板と電気的に接続されていてもよい。着脱不可能とは、共用ストレージ装置450を破壊する、又は、半田ごてなどの道具を用いないと、第2メモリ部452を取り付け及び取り外しできないことを意味する。つまり、第2メモリ部452は、取り替えが困難である。
【0196】
なお、第1メモリ部451及び第2メモリ部452のそれぞれは、上書き不可な記憶領域(上書き不可領域)と上書き可能な記憶領域(上書き可領域)とを有する。上書き不可領域は、保存されているデータの上書きが実行不可能な領域であり、ソフトウェア的に自動的なデータの上書きが実行できない記憶領域である。上書き不可領域は、例えば、ライトプロテクトをかけた記憶領域である。上書き可領域は、保存されているデータを別のデータで上書き可能(つまり、保存されているデータの削除が可能)な領域であり、例えば、ライトプロテクトをかけていない記憶領域である。なお、上書き可領域と上書き不可領域とは、パーティション技術を用いて論理的に仕切られていてもよいし、物理的に独立していてもよい。
【0197】
なお、共用ストレージ装置450は、3つ以上の互いに性能が異なるメモリ部を有していてもよい。
【0198】
コネクタ451aは、基板の実装面に取り付けられ第1メモリ部451が着脱可能に差し込まれるコネクタである。コネクタ451aは、例えば、メモリカードコネクタ、USB(Universal Serial Bus)コネクタなどであるがこれらに限定されない。コネクタ451aは、接続部の一例である。
【0199】
第1メモリ制御部461は、第1メモリ部451と第2優先制御部440との間に接続され、第1メモリ部451にデータを書き込む制御を行う。第1メモリ制御部461は、第2優先制御部440から出力されたデータを第1メモリ部451に書き込む。
【0200】
第2メモリ制御部462は、第2メモリ部452と第2優先制御部440との間に接続され、第2メモリ部452にデータを書き込む制御を行う。第2メモリ制御部462は、第2優先制御部440から出力されたデータを第2メモリ部452に書き込む。
【0201】
図14は、本変形例に係るID管理表を示す図である。
図14に示すID管理表は、ID管理部138Aが管理している。なお、ASILライトを行うECUでは、インターフェースのQoSレジスタ値で優先順位が管理される。
図14に示す「pSLC/SLCメモリ」は、pSLCメモリ及びSLCメモリの少なくとも一方を含むメモリであり、第2メモリ部452に対応する。また、
図14に示す「MLC/TLCメモリ」は、MLCメモリ及びTLCメモリの少なくとも一方を含むメモリであり、第1メモリ部451に対応する。
【0202】
図14に示すように、ID管理表は、アクセス分類と、処理分類と、処理内容例と、優先順位と、ストレージメモリ選択とが対応付けられたテーブルである。ストレージメモリ選択は、どのデータをどのメモリ部及びどの領域に記憶するかを示す。なお、
図14に示す上書き可領域には、半導体メモリにおける上書き可能なアドレスが対応づけられており、上書き不可領域には、半導体メモリにおける上書き不可能なアドレスが対応づけられている。
【0203】
例えば、アクセス分類がASILライトであり処理分類がイベントログ記録である場合、データ(イベントログ)は、安全に関わるデータであるので第2メモリ部452の上書き不可領域に記憶される。また、例えば、アクセス分類がASILライトであり処理分類がイベント録画である場合、データ(映像)は、安全に関わるデータであるが容量が大きいので第1メモリ部451の上書き不可領域に記憶される。
【0204】
また、例えば、アクセス分類が非ASILライトであり処理分類が常時ログ記録である場合、データ(常時ログ)は、安全に関わらないデータであるので第1メモリ部451の上書き可領域に記憶される。また、例えば、アクセス分類が非ASILライトであり処理分類が常時録画である場合、データ(映像)は、安全に関わらないデータであり容量が大きいので第1メモリ部451の上書き可領域に記憶される。
【0205】
また、例えば、アクセス分類が通信ライトであり処理分類がダウンロードである場合、データ(ダウンロードデータ)は、安全に関わらないデータであるが重要なデータであるので第2メモリ部452の上書き不可領域に記憶される。
【0206】
選択部441は、ECU130A及び230Bからのデータと、
図14に示すID管理表とに基づいて、当該データをいずれのメモリ部に記憶するかを判定する。本変形例では、選択部441は、例えば、ECU130A及び230Bからのデータに含まれるQoS制御用のレジスタ値と、
図14に示すID管理表とに基づいて、第1メモリ部451及び第2メモリ部452のどちらに当該データを記憶するかを判定する。
【0207】
なお、上書き可領域が上書き不可領域に比べて書き込み回数が多く寿命が短くなるので、選択部441は、さらに、第1メモリ部451及び第2メモリ部452における上書き可領域と、上書き不可領域とを切り替えてもよい。具体的には、選択部441は、さらに、第1メモリ部451及び第2メモリ部452における上書き可領域として用いられる記憶領域(アドレス)と、上書き不可領域として用いられる記憶領域(アドレス)とを切り替えてもよい。
【0208】
選択部441は、例えば、上書き不可領域及び上書き可領域それぞれの書き込み回数を記憶しており、上書き不可領域のデータを更新する際にはまず上書き不可領域の書き込み回数が少ない未書き込み領域に更新データを書き込む。更新データとしては、例えば、更新プログラムなどが例示されるが、これに限定されない。
【0209】
次に、選択部441は、更新前のデータが書かれている上書き不可領域のデータを削除し、上書き可領域の未書き込み領域に切り替える。選択部441は、切り替えられた後のアドレスを用いて、
図14に示すID管理表のストレージメモリ選択に含まれる半導体メモリのアドレスを更新してもよい。
【0210】
次に、選択部441は、上書き可領域で書き込み回数が多い未書き込み領域を、上書き不可領域に切り替える。選択部441は、切り替えられた後のアドレスを用いて、
図14に示すID管理表のストレージメモリ選択に含まれる半導体メモリのアドレスを更新してもよい。
【0211】
また、共用ストレージ装置450の領域管理は、共用ストレージ装置450の管理部(図示しない)で管理されてもよい。管理部は、上書き不可領域とし、上記の切り替え制御も同様に行う。
【0212】
(実施の形態4)
[4-1.データ保存システムの構成]
本実施の形態に係るデータ保存システムの構成について、
図15を参照しながら説明する。
図15は、本実施の形態に係るデータ保存システム1fの機能構成を示すブロック図である。
【0213】
図15に示すように、データ保存システム1fは、ECU530A及び230Bと、第2優先制御部240と、共用ストレージ装置50とを備える。データ保存システム1fは、実施の形態3に示すデータ保存システム1cのECU130Aに替えてECU530Aを備える。データ保存システム1fは、安全に関わらないECUであるECU530A、及び、安全に関わるECUであるECU230Bのそれぞれが、テンポラリメモリを有していない。
【0214】
第2優先制御部240は、アクセスが衝突した場合、優先順位を安全最優先で制御する。
【0215】
以上のように、複数のECU30は、1以上のECU530A(第1電子制御装置の一例)と、1以上のECU530Aより車両1の安全に関わる1以上のECU230B(第2電子制御装置の一例)とを含む。1以上のECU530Aのそれぞれは、第1データを共用ストレージ装置50へ書き込む処理を行うマスタ部、及び、第1データとは異なる第2データを共用ストレージ装置50へ書き込む処理を行うマスタ部を含む複数のマスタ部31A、32A及び33Aと、複数のマスタ部31A、32A及び33Aから共用ストレージ装置50へのデータの書き込みの優先順位を制御する第1優先制御部237A(第1個別優先制御部の一例)とを有する。また、1以上のECU230B(第2電子制御装置の一例)のそれぞれは、第3データを共用ストレージ装置50へ書き込む処理を行うマスタ部、及び、第3データとは異なる第4データを共用ストレージ装置50へ書き込む処理を行うマスタ部を含む複数のマスタ部31B、32B及び33Bと、複数のマスタ部31B、32B及び33Bから共用ストレージ装置50へのデータの書き込みの優先順位を安全最優先で制御する第1優先制御部237B(第2個別優先制御部の一例)とを有する。そして、第2優先制御部240(共用優先制御部の一例)は、複数のECU30から共用ストレージ装置50へのデータの書き込みが衝突した場合、優先順位を安全最優先で制御する。
【0216】
これにより、データ保存システム1fでは、例えば事故発生時に、ASILライトアクセスと非ASILアクセスとが衝突した場合に、ASILライトアクセスは書き込みを保証し、非ASILライトアクセスのデータ消失を許容することで安全性への影響を抑制しつつ、コストダウンを行うことができる。
【0217】
(実施の形態5)
[5-1.データ保存システムの構成]
本実施の形態に係るデータ保存システムの構成について、
図16及び
図17を参照しながら説明する。
図16は、本実施の形態に係るデータ保存システム1gの機能構成を示すブロック図である。なお、以下では、上記各実施の形態との相違点を中心に説明し、各実施の形態と同一又は類似の内容については説明を省略又は簡略化する。
【0218】
図16に示すように、データ保存システム1gは、ECU630A及び330Bと、第2優先制御部540と、共用ストレージ装置50とを備える。本実施の形態では、ECU630A及び330Bと、共用ストレージ装置50とのインターフェースとして、PCIeを使用する例について説明する。つまり、本実施の形態では、ECU630A及び330Bと、共用ストレージ装置50との間では、PCIeの規格に従って通信が行われる。
【0219】
車載ネットワークを統合して管理するビークルコンピュータ(Vehicle Computer)における共用メモリのインターフェースでは、高性能であるPCIeが採用される傾向がある。また、PCIeは、チップレットの普及拡大に向けて登場した「UCIe1.0」にも採用されており、今後、高性能なインターコネクトにはPCIeが主流になると考えられる。
【0220】
PCIeの構成の基本はデバイスとホストとを1対1で接続するが、スイッチを介して複数のデバイスと1つのホストとが接続されることもある。一方、本実施の形態では、複数のホスト(ECU630A及び330Bを含む複数のECU)と、1つのデバイス(共用ストレージ装置50)とで通信を行うが、現状、複数のホストと1つのデバイスとの間で通信(アクセス)を行う場合の規格がない。そのため、例えば、アクセスが衝突した場合、複数のホスト間での優先順位付けは、固定優先順位付け又はラウンドロビンでの優先順位付けで行われることが想定されるが、車載向けのデータ保存システム1gにおいては、そのような優先順位付けでは安全上重要なデータを取りこぼしてしまう(保存漏れが発生してしまう)可能性がある。また、取りこぼしを救済するにはホスト間通信で調停を行うことも考えられるが、レーテンシーが増えてしまう課題がある。
【0221】
そこで、本実施の形態では、車載向けのデータ保存システム1gにおけるインターフェースとしてPCIeを使用しつつ、安全上重要なデータの取りこぼしを抑制する技術について説明する。
【0222】
ECU630A及び330Bはそれぞれ、安全に関わるマスタ部を少なくとも1つを含んで構成される。例えば、ECU630A及び330Bはそれぞれ、安全に関わるマスタ部と、安全に関わらないマスタ部とが混在する構成を有する。
【0223】
ECU630Aの第1優先制御部137Aは、マスタ部31A、32A及び33Aから共用ストレージ装置50へのデータの書き込みの優先順位を制御する。第1優先制御部137AはID管理部638Aに予め記憶されているマスタ部31A~33Aの優先順位を示す情報に基づいて、共用ストレージ装置50へのデータの書き込みの優先順位を制御する。
【0224】
また、第1優先制御部137Aは、マスタ部から取得したデータをPCIeに準拠したフレームに変換し、第2優先制御部540に出力するが、当該フレームのヘッダ部に当該データの優先度を示す情報を格納し、優先度を示す情報が格納されたフレームを第2優先制御部540に出力する。具体的には、第1優先制御部137Aは、ヘッダ部のパラメータの1つであるVirtual Channel(VC)に優先度を示す情報を格納する。マスタ部ごとの優先度を示す情報はID管理部638Aに予め記憶されており、第1優先制御部137Aは、ID管理部638Aから優先度を示す情報を読み出し、読み出した優先度を示す情報をVCに格納する。
【0225】
ID管理部638Aは、マスタ部と優先度を示す情報との関係を示すテーブルを記憶する。本実施の形態では、ID管理部638Aは、マスタ部31A~33Aそれぞれの優先度を示す情報を記憶する。ID管理部638Aは、記憶部の一例である。
【0226】
ECU330Bの第1優先制御部137Bは、マスタ部31B、32B及び33Bから共用ストレージ装置50へのデータの書き込みの優先順位を制御する。第1優先制御部137BはID管理部338Bに予め記憶されているマスタ部31B~33Bの優先度を示す情報に基づいて、共用ストレージ装置50へのデータの書き込みの優先順位を制御する。
【0227】
また、第1優先制御部137Bは、マスタ部から取得したデータをPCIeに準拠したフレームに変換し、第2優先制御部540に出力するが、当該フレームのヘッダ部に当該データの優先度を示す情報を格納し、優先度を示す情報が格納されたフレームを第2優先制御部540に出力する。具体的には、第1優先制御部137Bは、ヘッダ部のパラメータの1つであるVCに優先度を示す情報を格納する。マスタ部ごとの優先度を示す情報はID管理部338Bに予め記憶されており、第1優先制御部137Bは、ID管理部338Bから優先度を示す情報を読み出し、読み出した優先度を示す情報をVCに格納する。
【0228】
ID管理部338Bは、マスタ部と優先度を示す情報との関係を示すテーブルを記憶する。本実施の形態では、ID管理部338Bは、マスタ部31B~33Bそれぞれの優先度を示す情報を記憶する。ID管理部338Bは、記憶部の一例である。
【0229】
第2優先制御部540は、VC監視部541と、管理部542とを有する。本実施の形態では、第2優先制御部540は、PCIeスイッチとして機能する。
【0230】
VC監視部541は、ECU630A及び330Bから共用ストレージ装置50へのライトアクセスが発生すると、データのヘッダ部の解析を行う処理部である。VC監視部541は、ヘッダ部内のVCも解析を行い、VCに格納されている値(優先度を示す情報)を監視している。VC監視部541は、例えば、ライトアクセスの衝突の発生の有無に関わらずヘッダ部の解析を行う処理部である。
【0231】
また、VC監視部541は、ECU630A及び330Bからのライトアクセスの衝突が発生すると、ECU630A及び330Bからのデータ(衝突したデータ)それぞれのVC(VC解析結果)を監視し、優先度が高い方(例えば、値が大きい方)のデータを優先して共用ストレージ装置50に書き込む処理を行う。VC監視部541は、VCに格納されている情報を利用しているので、本来行っている処理に加えて、VCに格納されている値を比較する処理を追加で実行するだけで、いずれのデータを優先して共用ストレージ装置50に書き込むか否かの判定を行うことができる。
【0232】
これにより、VC解析結果に応じてアクセスを選択するのは、小規模なハードウェア追加又は容易なソフトウェア変更を第2優先制御部540のみに対して行えばよいので、PCIeの規格に従って通信が行われる場合であっても、低コストのデータ保存システム1gを提供することができる。
【0233】
また、VC監視部541は、VCに格納されている情報を利用しているので、ECU630A及び330B間の追加の通信を行うことなく、いずれのデータを優先して共用ストレージ装置50に書き込むかの判定を行うことができる。つまり、VC監視部541は、レーテンシーが増えることを抑制しつつ、当該判定を行うことができる。
【0234】
また、VC監視部541は、ECU630A及び330Bからのライトアクセスの衝突が発生し、かつ、それぞれのデータのVCに格納されている値が同じである場合、管理部542に予め記憶されているECU優先順を示す情報に基づいて、いずれのデータを優先して共用ストレージ装置50に書き込むか否かを判定する。
【0235】
これにより、ライトアクセスの衝突が発生し、かつ、それぞれのデータのVCに格納されている値が同じである場合でも、いずれのデータを優先して共用ストレージ装置50に書き込むかを判定することができる。
【0236】
管理部542は、ECU優先順を示す情報を記憶する。ECU優先順は、複数のECUそれぞれの優先順位を示す情報である。管理部542は、例えば、不揮発性の半導体メモリを含んで構成される。
【0237】
ここで、VCの値の設定について、
図17を参照しながら説明する。
図17は、本実施の形態に係るVC設定表を示す図である。
【0238】
図17に示すように、VC設定表は、VCと、優先度と、アクセス分類と、処理分類と、処理内容例とが対応付けられたテーブルである。
図17では、VCは、0~7までの8段階あり、VCの値が大きいほど優先度が高い例を示している。例えば、安全上重要なデータほど、優先度が高く設定される。なお、VCの値及びVCの値と優先
度との関係は、
図17に示す例に限定されない。
【0239】
VCの値、つまり優先度は、アクセス分類ごとではなく、処理分類ごとに設定されている。例えば、
図17に示すVC設定表の場合、イベントログ記録のアクセスと、イベント録画のアクセスとが衝突すると、VCの値が大きい(優先度が高い)イベントログ記録のアクセスが優先される。
【0240】
各ECUの各マスタ部に対して、
図17に示すVC設定表に基づいて、VCが割り当てられる。
【0241】
マスタ部31A~33A、及び、31B~33Bのそれぞれで、扱う対象のデータは予め決まっているので、扱う対象のデータに応じたVCの値がID管理部638A及び338Bに記憶されている。例えば、マスタ部31Aが扱うデータがイベントログのデータであり、マスタ部32Aが扱うデータがイベント録画されたデータであり、マスタ部33Aが扱うデータが常時ログ(走行ログ)のデータである場合、ID管理部638Aは、マスタ部31AにVCの値「7」が対応付けられ、マスタ部32AにVCの値「6」が対応付けられ、マスタ部33AにVCの値「4」が対応付けられたテーブルが、予め記憶されている。ID管理部338Bにおいても、同様である。
【0242】
[5-2.データ保存システムの動作]
上記のように構成されるデータ保存システム1gの動作について、
図18を参照しながら説明する。
図18は、本実施の形態に係るデータ保存システム1gの動作を示すフローチャートである。
【0243】
図18に示すように、第2優先制御部540は、車両1の電源がオン(例えば、イグニッションオン)すると、ECUの優先順を示す優先順情報を、管理部542から読み出すことで取得する(S101)。また、第1優先制御部137A及び137Bのそれぞれは、車両1の電源がオンすると、各マスタ部のVCの値を示すVC情報を、ID管理部638A及び338Bのそれぞれから読み出すことで取得する(S102)。優先順情報及びVC情報は、例えば、車両1の工場出荷時に予め設定されている。
【0244】
次に、第2優先制御部540は、ECUの優先順に変更があるか否かを判定する(S103)。例えば、特定のECUを例外的に最優先したい場合、ECUの優先順が変更されることがある。第2優先制御部540は、入力部(図示しない)等を介してECUの優先順を変更する指示を取得した場合、ECUの優先順に変更があると判定し(S103でYes)、ECUの優先順を変更する(S104)。第2優先制御部540は、例えば、管理部542に記憶されている優先順情報を更新する。また、第2優先制御部540は、入力部等を介してECUの優先順を変更する指示を取得していない場合、ECUの優先順に変更がないと判定し(S103でNo)、ステップS105に進む。
【0245】
次に、第2優先制御部540は、PCIeアクセスが発生したか否かを判定する(S105)。第2優先制御部540は、いずれかのECUからライトアクセスがあった場合、PCIeアクセスが発生したと判定する。第2優先制御部540は、PCIeアクセスが発生したと判定した場合(S105でYes)、ステップS106に進み、PCIeアクセスが発生していないと判定した場合(S105でNo)、ステップS105に戻り、PCIeアクセスが発生するまで待機する。
【0246】
次に、第2優先制御部540は、PCIeアクセスが発生したと判定した場合(S105でYes)、さらに同時アクセスが発生したか否かを判定する(S106)。第2優先制御部540は、2以上のECUから同時にライトアクセスが発生した場合、同時アクセスが発生したと判定する。
【0247】
第2優先制御部540は、同時アクセスが発生したと判定した場合(S106でYes)、衝突したデータのVCを監視する(S107)。具体的には、第2優先制御部540のVC監視部541は、衝突したデータのヘッダ部の情報を解析することにより、VCの値を取得する。
【0248】
次にVC監視部541は、同時アクセスがあった2以上のECUのうちVCが最大のECUからのPCIeアクセスを選択し、データを共用ストレージ装置50に保存する(S108)。
【0249】
また、第2優先制御部540は、同時アクセスが発生していないと判定した場合(S106でNo)、現ECUからのPCIeアクセスを選択し、データを共用ストレージ装置50に保存する(S109)。
【0250】
このように、データ保存システム1gでは、PCIeアクセスが衝突した場合、VCの値を比較し、優先度が最も高いデータを優先して共用ストレージ装置50に保存するので、レーテンシーの増加を抑制しつつ、安全上重要なデータをより確実に保存することができる。
【0251】
(その他の実施の形態)
以上、一つまたは複数の態様に係るデータ保存システム等について、各実施の形態に基づいて説明したが、本開示は、この各実施の形態に限定されるものではない。本開示の趣旨を逸脱しない限り、当業者が思いつく各種変形を本実施の形態に施したものや、異なる実施の形態における構成要素を組み合わせて構築される形態も、本開示に含まれてもよい。
【0252】
例えば、上記実施の形態等において、各構成要素は、専用のハードウェアで構成されるか、各構成要素に適したソフトウェアプログラムを実行することによって実現されてもよい。各構成要素は、CPUまたはプロセッサなどのプログラム実行部が、ハードディスクまたは半導体メモリなどの記録媒体に記録されたソフトウェアプログラムを読み出して実行することによって実現されてもよい。
【0253】
また、フローチャートにおける各ステップが実行される順序は、本開示を具体的に説明するために例示するためのものであり、上記以外の順序であってもよい。また、上記ステップの一部が他のステップと同時(並列)に実行されてもよいし、上記ステップの一部は実行されなくてもよい。
【0254】
また、ブロック図における機能ブロックの分割は一例であり、複数の機能ブロックを一つの機能ブロックとして実現したり、一つの機能ブロックを複数に分割したり、一部の機能を他の機能ブロックに移してもよい。また、類似する機能を有する複数の機能ブロックの機能を単一のハードウェア又はソフトウェアが並列又は時分割に処理してもよい。
【0255】
また、上記実施の形態等に係るデータ保存システムは、単一の装置として実現されてもよいし、複数の装置により実現されてもよい。データ保存システムが複数の装置によって実現される場合、当該データ保存システムが備える各構成要素は、複数の装置にどのように振り分けられてもよい。データ保存システムが複数の装置で実現される場合、当該複数の装置間の通信方法は、特に限定されず、無線通信であってもよいし、有線通信であってもよい。また、装置間では、無線通信および有線通信が組み合わされてもよい。
【0256】
また、上記実施の形態等で説明した各構成要素は、ソフトウェアとして実現されても良いし、典型的には、集積回路であるLSIとして実現されてもよい。これらは、個別に1チップ化されてもよいし、一部または全てを含むように1チップ化されてもよい。ここでは、LSIとしたが、集積度の違いにより、IC、システムLSI、スーパーLSI、ウルトラLSIと呼称されることもある。また、集積回路化の手法はLSIに限るものではなく、専用回路(専用のプログラムを実行する汎用回路)又は汎用プロセッサで実現してもよい。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)又は、LSI内部の回路セルの接続若しくは設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。更には、半導体技術の進歩または派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて構成要素の集積化を行ってもよい。
【0257】
システムLSIは、複数の処理部を1個のチップ上に集積して製造された超多機能LSIであり、具体的には、マイクロプロセッサ、ROM、RAMなどを含んで構成されるコンピュータシステムである。ROMには、コンピュータプログラムが記憶されている。マイクロプロセッサが、コンピュータプログラムに従って動作することにより、システムLSIは、その機能を達成する。
【0258】
また、本開示の一態様は、
図6A、
図6B及び
図11のいずれかに示されるデータ保存方法に含まれる特徴的な各ステップをコンピュータに実行させるコンピュータプログラムであってもよい。
【0259】
また、例えば、プログラムは、コンピュータに実行させるためのプログラムであってもよい。また、本開示の一態様は、そのようなプログラムが記録された、コンピュータ読み取り可能な非一時的な記録媒体であってもよい。例えば、そのようなプログラムを記録媒体に記録して頒布又は流通させてもよい。例えば、頒布されたプログラムを、他のプロセッサを有する装置にインストールして、そのプログラムをそのプロセッサに実行させることで、その装置に、上記各処理を行わせることが可能となる。
【0260】
(付記)
(技術1)
移動体に搭載されるデータ保存システムであって、
前記移動体内のネットワークに接続される複数の電子制御装置と、
前記複数の電子制御装置のそれぞれがデータを書き込み可能な共用ストレージ装置と、
前記複数の電子制御装置と前記共用ストレージ装置との間に接続され、前記複数の電子制御装置から前記共用ストレージ装置へのデータの書き込みの優先順位を制御する共用優先制御部とを備える
データ保存システム。
【0261】
(技術2)
前記複数の電子制御装置のそれぞれは、
第1データを前記共用ストレージ装置へ書き込む処理を行う第1マスタ部、及び、前記第1データとは異なる第2データを前記共用ストレージ装置へ書き込む処理を行う第2マスタ部を含む複数のマスタ部と、
前記複数のマスタ部のそれぞれに接続される複数のテンポラリメモリと、
前記複数のマスタ部から前記共用ストレージ装置へのデータの書き込みの優先順位を制御する個別優先制御部とを有する
技術1に記載のデータ保存システム。
【0262】
(技術3)
前記複数の電子制御装置は、1以上の第1電子制御装置を含み、
前記1以上の第1電子制御装置のそれぞれは、
第1データを前記共用ストレージ装置へ書き込む処理を行う第1マスタ部、及び、前記第1データとは異なる第2データを前記共用ストレージ装置へ書き込む処理を行う第1マスタ部を含む複数の第1マスタ部と、
前記複数の第1マスタ部のそれぞれのデータを書き込み可能な第1テンポラリメモリと、
前記複数の第1マスタ部と前記第1テンポラリメモリとに接続され、前記複数の第1マスタ部から前記共用ストレージ装置へのデータの書き込みの優先順位を制御する第1個別優先制御部とを有する
技術1に記載のデータ保存システム。
【0263】
(技術4)
前記1以上の第1電子制御装置のそれぞれは、データの種類と前記共用ストレージ装置にデータを書き込む優先順位とが対応付けられた第1優先情報を管理する第1管理部を有し、
前記第1個別優先制御部は、前記複数の第1マスタ部のうち2以上の第1マスタ部からの前記共用ストレージ装置へのデータの書き込みアクセスが衝突する場合、前記第1優先情報に基づいてデータの書き込みの優先順位を制御する
技術3に記載のデータ保存システム。
【0264】
(技術5)
前記第1個別優先制御部は、前記2以上の第1マスタ部からの前記共用ストレージ装置へのデータの書き込みアクセスが衝突する場合、前記第1優先情報に基づいて、優先順位が低いデータを当該データの優先順位を示す情報を付与して前記第1テンポラリメモリに書き込む
技術4に記載のデータ保存システム。
【0265】
(技術6)
前記第1テンポラリメモリは、予めデータごとに記憶領域が分割されており、
前記第1個別優先制御部は、前記2以上の第1マスタ部からの前記共用ストレージ装置へのデータの書き込みアクセスが衝突する場合、前記第1優先情報に基づいて、優先順位が低いデータを前記第1テンポラリメモリ内の当該データに対応する記憶領域に書き込む
技術4に記載のデータ保存システム。
【0266】
(技術7)
前記複数の電子制御装置は、前記1以上の第1電子制御装置より前記移動体の安全に関わる1以上の第2電子制御装置を含み、
前記1以上の第2電子制御装置のそれぞれは、
第3データを前記共用ストレージ装置へ書き込む処理を行う第2マスタ部、及び、前記第3データとは異なる第4データを前記共用ストレージ装置へ書き込む処理を行う第2マスタ部を含む複数の第2マスタ部と、
前記複数の第2マスタ部から前記共用ストレージ装置へのデータの書き込みの優先順位を制御する第2個別優先制御部とを有する
技術3~6のいずれかに記載のデータ保存システム。
【0267】
(技術8)
前記1以上の第2電子制御装置のそれぞれは、データの種類と前記共用ストレージ装置にデータを書き込む優先順位とが対応付けられた第2優先情報を管理する第2管理部を有し、
前記第2個別優先制御部は、前記複数の第2マスタ部のうち2以上の第2マスタ部からの前記共用ストレージ装置へのデータの書き込みアクセスが衝突する場合、前記第2優先情報に基づいてデータの書き込みの優先順位を制御する
技術7に記載のデータ保存システム。
【0268】
(技術9)
さらに、前記複数の第2マスタ部それぞれのデータを書き込み可能な第2テンポラリメモリを有し、
前記第2テンポラリメモリは、二重化されている
技術8に記載のデータ保存システム。
【0269】
(技術10)
前記第2個別優先制御部は、前記2以上の第2マスタ部からの前記共用ストレージ装置へのデータの書き込みアクセスが衝突する場合、優先順位を安全最優先で制御する
技術8又は9に記載のデータ保存システム。
【0270】
(技術11)
前記複数の電子制御装置は、1以上の第1電子制御装置と、前記1以上の第1電子制御装置より前記移動体の安全に関わる1以上の第2電子制御装置とを含み、
前記1以上の第1電子制御装置のそれぞれは、
第1データを前記共用ストレージ装置へ書き込む処理を行う第1マスタ部、及び、前記第1データとは異なる第2データを前記共用ストレージ装置へ書き込む処理を行う第1マスタ部を含む複数の第1マスタ部と、
前記複数の第1マスタ部から前記共用ストレージ装置へのデータの書き込みの優先順位を制御する第1個別優先制御部とを有し、
前記1以上の第2電子制御装置のそれぞれは、
第3データを前記共用ストレージ装置へ書き込む処理を行う第2マスタ部、及び、前記第3データとは異なる第4データを前記共用ストレージ装置へ書き込む処理を行う第2マスタ部を含む複数の第2マスタ部と、
前記複数の第2マスタ部から前記共用ストレージ装置へのデータの書き込みの優先順位を安全最優先で制御する第2個別優先制御部とを有し、
前記共用優先制御部は、前記複数の電子制御装置からの前記共用ストレージ装置へのデータの書き込みアクセスが衝突する場合、優先順位を安全最優先で制御する
技術1に記載のデータ保存システム。
【0271】
(技術12)
前記共用優先制御部は、
前記複数の電子制御装置から取得したデータがログデータであるか否かを判定する判定部と、
前記判定部がログデータであると判定したデータを集約し、集約されたデータを一括して前記共用ストレージ装置に書き込む集約部とを有する
技術1~11のいずれかに記載のデータ保存システム。
【0272】
(技術13)
前記共用ストレージ装置は、第1メモリ部と第2メモリ部とを有し、
前記第1メモリ部は、前記第2メモリ部より容量が大きく、
前記第2メモリ部は、前記第1メモリ部より耐久性が高い
技術1~12のいずれかに記載のデータ保存システム。
【0273】
(技術14)
前記共用優先制御部は、さらに、前記複数の電子制御装置から取得したデータを、当該データに含まれる前記共用ストレージ装置へのデータの書き込みの優先順位を示す情報に基づいて前記第1メモリ部及び前記第2メモリ部のいずれに書き込むかを選択する選択部を有する
技術13に記載のデータ保存システム。
【0274】
(技術15)
前記優先順位を示す情報は、前記複数の電子制御装置から取得したデータに含まれるQoS(Quality of Service)制御用のレジスタ値により実現される
技術14に記載のデータ保存システム。
【0275】
(技術16)
前記共用ストレージ装置は、基板と接続部とを有し、
前記第1メモリ部は、前記接続部を介して前記基板に着脱可能に取り付けられており、
前記第2メモリ部は、前記基板に着脱不可能に取り付けられている
技術13~15のいずれかに記載のデータ保存システム。
【0276】
(技術17)
前記複数の電子制御装置と、前記共用ストレージ装置との間では、PCIe(Peripheral Component Interconnect express)の規格に従って通信が行われており、
前記共用優先制御部は、前記複数の電子制御装置からの前記共用ストレージ装置へのデータの書き込みアクセスが衝突した場合、衝突したデータのVC(Virtual Channel)解析結果を監視するVC監視部を有する
技術1~16のいずれかに記載のデータ保存システム。
【0277】
(技術18)
前記VC監視部は、前記複数の電子制御装置からの前記共用ストレージ装置へのデータの書き込みアクセスが衝突した場合、データの前記VC解析結果に基づいて前記共用ストレージ装置への書き込みの前記優先順位を制御する
技術17に記載のデータ保存システム。
【0278】
(技術19)
前記複数の電子制御装置と、前記共用ストレージ装置との間では、PCIeの規格に従って通信が行われており、
前記個別優先制御部は、
前記第1マスタ部から前記第1データを取得すると、前記第1データのヘッダ部のVCに前記第1マスタ部に応じた第1情報を格納し、
前記第2マスタ部から前記第2データを取得すると、前記第2データのヘッダ部のVCに前記第2マスタ部に応じた第2情報を格納する
技術2に記載のデータ保存システム。
【0279】
(技術20)
前記1以上の第1電子制御装置と、前記共用ストレージ装置との間では、PCIeの規格に従って通信が行われており、
前記第1個別優先制御部は、
前記第1データを前記共用ストレージ装置へ書き込む処理を行う前記第1マスタ部から前記第1データを取得すると、前記第1データのヘッダ部のVCに当該第1マスタ部に応じた第1情報を格納し、
前記第2データを前記共用ストレージ装置へ書き込む処理を行う前記第1マスタ部から前記第2データを取得すると、前記第2データのヘッダ部のVCに当該第1マスタ部に応じた第2情報を格納する
技術3~10のいずれかに記載のデータ保存システム。
【産業上の利用可能性】
【0280】
本開示は、車両などの移動体で取得されるデータを保存するデータ保存システムなどに有用である。
【符号の説明】
【0281】
1 車両
1a、1b、1c、1d、1e、1f、1g データ保存システム
10 通信装置
20 セントラルECU
30、30A、30B、130A、130B、230B、330B、530A、630A ECU
31A、32A、33A マスタ部(第1マスタ部)
31B、32B、33B マスタ部(第2マスタ部)
34A、35A、36A、134A テンポラリメモリ(第1テンポラリメモリ)
34B、35B、36B、134B テンポラリメモリ(第2テンポラリメモリ)
37A、137A、237A 第1優先制御部(個別優先制御部、第1個別優先制御部)
37B、137B、237B 第1優先制御部(個別優先制御部、第2個別優先制御部)
40、240、340、440、540 第2優先制御部(共用優先制御部)
50、450 共用ストレージ装置
138A、138B ID管理部
338B、638A ID管理部(記憶部)
341 ログデータ判定部(判定部)
342 ログデータ集約部(集約部)
441 選択部
451 第1メモリ部
451a コネクタ(接続部)
452 第2メモリ部
461 第1メモリ制御部
462 第2メモリ制御部
541 VC監視部
542 管理部