(57)【要約】【課題】書き換え可能なメモリを有する装置においてデータを確実に保存できる技術を提供する。【解決手段】マスタ装置１０は、判断部と決定部と指示部とを備える。判断部は、複数のスレーブ装置２０、３０のうち少なくとも１つのスレーブ装置から送信される要求であって、スレーブ装置が有する書き換え可能なメモリに保存するデータである保存データを他のスレーブ装置に保存させるための保存要求、を取得したか否かを判断する。決定部は、複数のスレーブ装置のうち保存要求の要求元である要求元装置以外のスレーブ装置であって、保存データを要求元装置の代わりに保存する代理装置、を決定する。指示部は、代理装置に保存データを保存させる指示である保存指示を送信する。【選択図】図１
2019149682.tif 000002
【特許請求の範囲】
【請求項１】
複数の通信装置（１０、２０、３０）と通信線（９）とを備え、前記複数の通信装置のうちの１つであるマスタ装置（１０）と、前記複数の通信装置のうち前記マスタ装置以外の通信装置である複数のスレーブ装置（２０、３０）と、を前記通信線によって通信可能に接続する通信システム（１）であって、
前記マスタ装置は、
前記複数のスレーブ装置のうちの少なくとも１つのスレーブ装置から送信される要求であって、前記スレーブ装置が有する書き換え可能なメモリに保存するデータである保存データを他のスレーブ装置に保存させるための保存要求、を取得したか否かを判断する判断部（Ｓ１０）と、
前記保存要求を取得した場合に、前記複数のスレーブ装置のうち前記保存要求を送信したスレーブ装置である要求元装置以外のスレーブ装置であって前記保存データを前記要求元装置の代わりに保存する代理装置、を決定する決定部（Ｓ５０）と、
前記代理装置に前記保存データを保存させる指示である保存指示を送信する指示部（Ｓ８０）と、
を備え、
前記複数のスレーブ装置は、少なくとも１つの第１のスレーブ装置と少なくとも１つの第２のスレーブ装置とを備え、
前記第１のスレーブ装置は、前記保存要求を前記マスタ装置に送信する要求部（Ｓ２２０）を備え、
前記第２のスレーブ装置は、前記マスタ装置から前記保存指示を受信したか否かを判断し、前記保存指示を受信したと判断された場合に、前記保存データを取得して、前記保存データを前記第２のスレーブ装置が有する書き換え可能なメモリに保存する実行部（Ｓ３２０）を備える、
通信システム。
【請求項２】
請求項１に記載の通信システムであって、
前記書き換え可能なメモリでは、データを保存する際に前記書き換え可能なメモリにデータを書き込むことのできる回数の上限値である書込上限値が予め定められており、
前記マスタ装置では、
前記第２のスレーブ装置が有する書き換え可能なメモリへの書き込み回数と前記書込上限値との差である書き込み可能回数及び前記書き込み回数のうち少なくとも一方を含む状態情報を取得する状態取得部（Ｓ４０）を備え、
前記決定部は、前記状態情報に基づいて、前記要求元装置以外の第２のスレーブ装置であって少なくとも前記書き込み可能回数が予め定められた閾値回数以上である第２のスレーブ装置を前記代理装置として決定し、
前記スレーブ装置では、
前記状態情報を生成して、生成した前記状態情報を前記マスタ装置へ出力する情報出力部（Ｓ１１０）を備える
通信システム。
【請求項３】
請求項２に記載の通信システムであって、
前記マスタ装置では、
前記決定部は、前記状態情報に基づいて、前記要求元装置以外の第２のスレーブ装置であって前記書き込み可能回数が最も大きい第２のスレーブ装置を前記代理装置として決定する
通信システム。
【請求項４】
請求項２または請求項３に記載の通信システムであって、
前記マスタ装置では、
前記状態取得部は、前記第２のスレーブ装置から、前記状態情報であって、前記書き換え可能なメモリへの書き込みが正常に行われたか否かを表す正常情報を更に含む状態情報を取得し、
前記決定部は、前記状態情報に基づいて、前記第２のスレーブ装置のうち、少なくとも前記書き換え可能なメモリへの書き込みが正常に行われている第２のスレーブ装置を前記代理装置として決定し、
前記スレーブ装置では、
前記第２のスレーブ装置が、前記状態情報であって前記正常情報を更に含む状態情報を生成して、生成した前記状態情報を前記マスタ装置へ出力する
通信システム
【請求項５】
複数のスレーブ装置と通信線によって通信可能に接続される通信装置としてのマスタ装置であって、
少なくとも、当該マスタ装置によって送信された指示に従って、書き換え可能なメモリへのデータの書き込みを行う通信装置を前記スレーブ装置として、
前記複数のスレーブ装置のうちの少なくとも１つのスレーブ装置から送信される要求であって、前記スレーブ装置が有する書き換え可能なメモリに保存するデータである保存データを他のスレーブ装置に保存させるための保存要求、を取得したか否かを判断する判断部（Ｓ１０）と、
前記保存要求を取得した場合に、前記複数のスレーブ装置のうち前記保存要求を送信したスレーブ装置である要求元装置以外のスレーブ装置であって前記保存データを前記要求元装置の代わりに保存する代理装置、を決定する決定部（Ｓ５０）と、
前記代理装置に前記保存データを保存させる指示である保存指示を送信する指示部（Ｓ８０）と、
を備えるマスタ装置。
【請求項６】
マスタ装置と通信線によって通信可能に接続される複数のスレーブ装置のうちの１つのスレーブ装置であって、
前記複数のスレーブ装置のうちの少なくとも１つのスレーブ装置から送信される要求であって、前記スレーブ装置が有する書き換え可能なメモリに保存するデータである保存データを他のスレーブ装置に保存させるための保存要求、を取得したか否かを判断する判断部（Ｓ１０）と、前記保存要求を取得した場合に、前記複数のスレーブ装置のうち前記保存要求を送信したスレーブ装置である要求元装置以外のスレーブ装置であって前記保存データを前記要求元装置の代わりに保存する代理装置、を決定する決定部（Ｓ５０）と、前記代理装置に前記保存データを保存させる指示である保存指示を送信する指示部（Ｓ８０）と、備える通信装置を前記マスタ装置として、
当該スレーブ装置は、
前記保存要求を前記マスタ装置に送信する要求部（Ｓ２２０）を備える
スレーブ装置。
【請求項７】
マスタ装置と通信線によって通信可能に接続される複数のスレーブ装置のうちの１つのスレーブ装置であって、
前記複数のスレーブ装置のうちの少なくとも１つのスレーブ装置から送信される要求であって、前記スレーブ装置が有する書き換え可能なメモリに保存するデータである保存データを他のスレーブ装置に保存させるための保存要求、を取得したか否かを判断する判断部（Ｓ１０）と、前記保存要求を取得した場合に、前記複数のスレーブ装置のうち前記保存要求を送信したスレーブ装置である要求元装置以外のスレーブ装置であって前記保存データを前記要求元装置の代わりに保存する代理装置、を決定する決定部（Ｓ５０）と、前記代理装置に前記保存データを保存させる指示である保存指示を送信する指示部（Ｓ８０）と、備える通信装置を前記マスタ装置として、
当該スレーブ装置は、
前記マスタ装置から前記保存指示を受信したか否かを判断し、前記保存指示を受信したと判断された場合に、前記保存データを取得して、前記保存データを前記第２のスレーブ装置が有する書き換え可能なメモリに保存する実行部（Ｓ３２０）を備える
スレーブ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、通信装置としてのマスタ装置及びスレーブ装置を通信線によって通信可能に接続する通信システム、マスタ装置、及びスレーブ装置に関する。
【背景技術】
【０００２】
複数の通信装置を通信線によって通信可能に接続する通信システムが知られている。複数の通信装置のそれぞれは、種々のデータを記憶するために、例えばフラッシュメモリ等といった書き換え可能なメモリを備える。下記特許文献１には、フラッシュメモリを用いた記憶装置について開示がある。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第４８６３７４９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
フラッシュメモリは、データ書き換え時に、ブロック単位でデータを消去する。上記特許文献１には、フラッシュメモリにおいて特定のブロックにデータ消去が集中しないように、ブロック毎のデータ消去回数を平準化する、という技術が提案されている。
【０００５】
しかしながら、フラッシュメモリのような書き換え可能なメモリへのデータ書き込み回数には上限がある。このため、仮に、書き換え可能なメモリにおいて上述のようなデータ消去回数の平準化がなされたとしても、データ消去回数、換言すればデータの書き込み回数が上限に達した書き換え可能なメモリを有する装置では、データの保存ができない、という問題が生じ得る。
【０００６】
本開示の１つの局面は、書き換え可能なメモリを有する通信装置において、データを確実に保存できる技術を提供することにある。
【課題を解決するための手段】
【０００７】
本開示の１つの局面による通信システム（１）は、複数の通信装置（１０、２０、３０）と通信線（９）とを備える。通信システムは、複数の通信装置のうちの１つであるマスタ装置（１０）と、複数の通信装置のうちマスタ装置以外の通信装置である複数のスレーブ装置（２０、３０）と、を通信線によって通信可能に接続する。
【０００８】
マスタ装置は、判断部（Ｓ１０）と、決定部（Ｓ５０）と、指示部（Ｓ８０）と、を備える。判断部は、複数のスレーブ装置のうちの少なくとも１つのスレーブ装置から送信される要求であって、該スレーブ装置が有する書き換え可能なメモリに保存するデータである保存データを他のスレーブ装置に保存させるための保存要求、を取得したか否かを判断する。決定部は、保存要求を取得した場合に、複数のスレーブ装置のうち保存要求を送信したスレーブ装置である要求元装置以外のスレーブ装置であって保存データを要求元装置の代わりに保存する代理装置、を決定する。指示部は、代理装置に保存データを保存させる指示である保存指示を送信する。
【０００９】
複数のスレーブ装置は、第１のスレーブ装置と第２のスレーブ装置とを備える。第１のスレーブ装置は、要求部（Ｓ２２０）を備える。要求部は、保存要求をマスタ装置に送信する。第２のスレーブ装置は、実行部（Ｓ３２０）を備える。実行部は、マスタ装置から保存指示を受信したか否かを判断し、保存指示を受信したと判断された場合に、保存データを取得し、保存データを第２のスレーブ装置が有する書き換え可能なメモリに保存する。
【００１０】
このような構成によれば、マスタ装置は、要求元装置となるスレーブ装置の保存データを、要求元装置以外のスレーブ装置が有する書き換え可能なメモリに保存させることができる。例えば、スレーブ装置は、該スレーブ装置が有する書き換え可能なメモリにおいて書き換え回数が上限値に達する前に保存要求を出力することにより、保存データを他のスレーブ装置のメモリに保存することができる。その結果、書き換え可能なメモリを有する通信装置において、データを確実に保存することができる。
【００１１】
なお、この欄及び特許請求の範囲に記載した括弧内の符号は、一つの態様として後述する実施形態に記載の具体的手段との対応関係を示すものであって、本開示の技術的範囲を限定するものではない。
【図面の簡単な説明】
【００１２】
【図１】通信システムの構成を示すブロック図。
【図２】マスタ装置が実行する選択処理のフローチャート。
【図３】スレーブ装置が実行する状態出力処理のフローチャート。
【図４】スレーブ装置が実行する保存要求処理のフローチャート。
【図５】スレーブ装置が実行する保存実行処理のフローチャート。
【図６】通信システムの作動を説明するシーケンス図。
【図７】データの種類と書き込みタイミングとの関係を説明する説明図。
【発明を実施するための形態】
【００１３】
以下、図面を参照しながら、本開示の実施形態を説明する。
［１．実施形態］
［１−１．全体構成］
図１に示す通信システム１は、車両に搭載されるシステムである。通信システム１は、複数の電子制御装置（以下、ＥＣＵ）１０、２０、３０と、通信線９と、を備える。通信線９は、複数のＥＣＵ１０−３０を接続する。複数のＥＣＵ１０−３０は、共通の通信線９を介して、予め定められた通信プロトコルに従った通信を実行する通信装置である。
【００１４】
上述の通信プロトコルとしては、ＣＡＮ、ＬＩＮ、イーサネット等が適用され得る。ＣＡＮ、及びイーサネットは、登録商標である。本実施形態では一例として、マスタ・スレーブ方式の通信プロトコルであるＬＩＮが通信プロトコルとして適用される。マスタ・スレーブ方式の通信プロトコルが適用される本実施形態では、複数のＥＣＵ１０−３０のうち、ＥＣＵ１０がマスタノードとして機能し、複数のＥＣＵ２０、３０のそれぞれがスレーブノードとして機能する。
【００１５】
［１−２．ＥＣＵの構成］
ＥＣＵ１０、２０、３０は、それぞれ、エンジンやブレーキなどの車両に搭載された制御対象の制御を行う。ＥＣＵ１０、２０、３０は、それぞれ、同様の構成であるため、以下では、ＥＣＵ１０について説明する。ＥＣＵ１０は、ＣＰＵ１１、ＲＡＭ１２、ＲＯＭ１３、及びデータ送受信部１４を有するマイクロコンピュータ１５（以下、マイコン１５）を備える。
【００１６】
ＣＰＵ１１は、演算装置であり、ＲＡＭ１２は、ＣＰＵ１１の演算結果等を一時記憶するための揮発性メモリである。ＲＯＭ１３は、書き換え可能な記憶領域を有する不揮発性メモリであり、本実施形態ではフラッシュメモリである。ＲＯＭ１３には、ＣＰＵ１１により実行されるプログラムが記憶される。また、ＲＯＭ１３には、ＣＰＵ１１によって、プログラムを実行した結果として得られる種々のデータが記憶される。なお、以下では、データを記憶することを、データを保存するというようにも記載する。
【００１７】
データ送受信部１４は、通信システム１を構成する各ＥＣＵとの間で、通信線９を介してデータの送受信を行う。ＥＣＵ１０の各種機能は、ＣＰＵ１１がＲＯＭ１３に格納されたプログラムを実行することにより実現される。
【００１８】
［１−３．ＥＣＵが実行する機能］
ＥＣＵ１０は、ＣＰＵ１１は、ＲＯＭ１３へのデータの書き込みが正常に行われたかを判断し、判断結果を表す正常情報を生成してＲＡＭ１２に記憶する機能を有する。正常情報とは、ＲＯＭ１３へのデータの書き込みが正常に行われたか否かを表す情報である。上述のようにＲＯＭ１３は、データを書き換え可能な領域を有するフラッシュメモリである。このような書き換え可能なメモリでは、データを書き込むことのできる回数について上限値である書込上限値が予め定められている。
【００１９】
書込上限値とは、書き換え可能なメモリにデータを保存する際に、該書き換え可能なメモリにデータを書き込むことのできる回数の上限値である。書込上限値は、固定値であり、予めＲＯＭ１３に保存されている。ＥＣＵ１０は、ＣＰＵ１１はＲＯＭ１３への書き込み回数をカウントする機能を有する。
【００２０】
ここで、ＥＣＵ１０単体においては、ＲＯＭ１３への書き込み回数が書込上限値以上となると、ＲＯＭ１３にデータを保存する、という機能を実現することができない。
これに対し、通信システム１においては、複数のＥＣＵ１０−３０のうち、例えば、ＥＣＵ１０単体においてＲＯＭ１３へデータを保存することが不可能であったとしても、ＥＣＵ２０のＲＯＭ２３への書き込み回数、またはＥＣＵ３０のＲＯＭ３３への書き込み回数が少なくとも書込上限値未満であれば、これらのＥＣＵ２０またはＥＣＵ３０にＥＣＵ１０の代わりにデータを保存させることが可能である。通信システム１では、複数のＥＣＵ１０−３０は、互いに通信可能に接続されているからである。このようなＥＣＵ１０の構成は、ＥＣＵ２０、ＥＣＵ３０においても同様である。
【００２１】
そこで、本実施形態では特に、ＥＣＵ１０は、後述する選択処理を実行することによって、選択機能を実現するように構成されている。選択機能とは、ＥＣＵ２０またはＥＣＵ３０が、ＥＣＵ２０が有するＲＯＭ２３またはＥＣＵ３０が有するＲＯＭ３３に保存するべきデータを保存できない場合に、少なくともＲＯＭへの書き込み回数が書込上限値未満である他のＥＣＵの中から代わりとなるＥＣＵを決定し、上述の保存するべきデータを代わりとなるＥＣＵに保存させる、という機能である。
【００２２】
また、ＥＣＵ２０、３０は、後述する保存処理を実行することによって、保存要求機能を実現するように構成されている。保存要求機能は、自装置が有するＲＯＭにデータを保存することが不可能な場合に、自装置が有するＲＯＭに保存するべきデータを他のＥＣＵが有するＲＯＭに保存するという要求を出力する機能である。また、ＥＣＵ２０、３０は、保存実行機能を実現する。保存実行機能は、ＥＣＵ１０の指示に従って、上述の代わりとなるＥＣＵに決定された場合に、上述の保存するべきデータを自装置が有するＲＯＭに書き込む、という機能である。
【００２３】
なお、ＥＣＵ１０、２０、３０は、セルフシャットオフ機能を有する。セルフシャットオフ機能とは、イグニションスイッチ（以下、ＩＧＳＷ）のオフ後にＥＣＵ１０、２０、３０がバッテリからの電源供給を一定時間保持させてその間に所定の処理（以下、ＩＧＳＷオフ後処理）を実行し、ＩＧＳＷオフ後処理の完了後にＥＣＵ１０、２０、３０自ら自身への電源供給を遮断して動作を停止する、という機能である。
【００２４】
［２．処理］
次に、ＥＣＵ１０が実行する選択処理、ＥＣＵ２０、３０が実行する保存処理について説明する。ここでは、複数のＥＣＵ１０−３０のうちの１つであるＥＣＵ１０が、マスタ装置に相当する。また、複数のＥＣＵ１０−３０のうちのマスタ装置であるＥＣＵ１０以外の複数のＥＣＵ２０、３０が、それぞれ、スレーブ装置に相当する。また、ＥＣＵ２０及びＥＣＵ３０が複数のスレーブ装置に相当する。
【００２５】
また、ＥＣＵ２０及びＥＣＵ３０のそれぞれが第１のスレーブ装置に相当する。第１のスレーブ装置は、上述の保存要求機能を有するスレーブ装置である。また、ＥＣＵ２０及びＥＣＵ３０のそれぞれが第２のスレーブ装置に相当する。第２のスレーブ装置とは、上述の保存実行機能を有するスレーブ装置である。
【００２６】
［２−１．選択処理］
はじめに、マスタ装置としてのＥＣＵ１０が実行する選択処理について、図２のフローチャートを用いて説明する。選択処理は、予め定められた周期で繰り返し実行される。
【００２７】
ＥＣＵ１０は、Ｓ１０では、複数のスレーブ装置のうち少なくとも１つスレーブ装置から、保存要求を取得したか否か、を判断する。ＥＣＵ１０は、保存要求を受信した場合に処理をＳ２０へ移行させ、受信していない場合に選択処理を終了する。
【００２８】
保存要求とは、複数のスレーブ装置のうち少なくとも１つのスレーブ装置から送信される要求である。以下でいう要求元装置とは、保存要求を送信したスレーブ装置をいう。また、保存データとは、要求元装置が該要求元装置の有する書き換え可能なメモリに保存するデータである。保存データは、例えば、要求元装置によって生成または取得されたデータであって、要求元装置における処理にて用いられるデータであり得る。上述の保存要求は、要求元装置から送信される要求であって、複数のスレーブ装置のうち要求元装置以外の他のスレーブ装置が有する書き換え可能なメモリに、保存データを保存させるための要求である。
【００２９】
具体的には、ＥＣＵ１０は、ＥＣＵ２０、３０のうち少なくとも１つのＥＣＵから保存要求を受信した場合に処理をＳ２０へ移行させ、保存要求を受信していない場合に選択処理を終了する。以下では、ＥＣＵ１０がＥＣＵ２０から送信された保存要求を受信した例について説明する。つまり、この例でいう保存要求は、ＥＣＵ２０から送信される要求であって、ＥＣＵ２０がＲＯＭ２３に保存するデータである保存データを他のスレーブ装置が有する書き換え可能なメモリに保存するための要求である。
【００３０】
ＥＣＵ１０は、Ｓ２０では、要求元装置をＲＡＭ１２に記憶する。具体的には、ＥＣＵ１０は、例えば、ＥＣＵ２０から送信された保存要求を受信した場合、ＥＣＵ２０を要求元装置としてＲＡＭ１２に記憶する。
【００３１】
ＥＣＵ１０は、Ｓ３０では、第２のスレーブ装置それぞれに、情報送信要求を送信する。情報送信要求とは、第２のスレーブ装置に後述する状態情報を送信させるための要求である。具体的には、ＥＣＵ１０は、ＥＣＵ２０、３０それぞれに情報送信要求を送信する。これにより、情報送信要求を受信したＥＣＵ２０、３０それぞれから、状態情報がＥＣＵ１０へ送信される。
【００３２】
なお、ＥＣＵ１０は、通信システム１が複数の第２のスレーブ装置を備えており、要求元装置が第２のスレーブ装置である場合は、複数の第２のスレーブ装置のうち要求元装置以外の第２のスレーブ装置に情報送信要求を送信するように構成されてもよい。つまり、ＥＣＵ１０は、少なくとも、複数の第２のスレーブ装置のうち要求元装置以外の第２のスレーブ装置に情報送信要求を送信するように構成されてもよい。
【００３３】
ＥＣＵ１０は、Ｓ４０では、状態情報を取得する。状態情報とは、第２のスレーブ装置が備えるメモリにおいてデータの書き込みが可能であるか否かを表すための情報である。具体的には、状態情報は、書き込み可能回数及び書き込み回数のうち、少なくとも一方を含む情報であり得る。また、状態情報は、上述の正常情報を含む情報であり得る。
【００３４】
書き込み回数とは、書き換え可能なメモリへデータの書き込みが行われた回数である。上述のように、ＥＣＵ１０、及びＥＣＵ１０と同様に構成されるＥＣＵ２０、３０では、ＣＰＵ１１、及びＣＰＵ２１、３１によって書き込み回数がカウントされている。書き込み可能回数とは、書き込み回数と上述の書込上限値との差である。本実施形態では、状態情報は、書き込み可能回数と正常情報とを含む。
【００３５】
具体的には、ＥＣＵ１０は、本ステップでは、ＥＣＵ２０におけるＲＯＭ２３の書き込み可能回数及び正常情報を状態情報として取得し、ＥＣＵ３０におけるＲＯＭ３３の書き込み回数及び正常情報を状態情報として取得する。
【００３６】
ＥＣＵ１０は、Ｓ５０では、第２のスレーブ装置それぞれから取得した状態情報に基づいて、代理装置を決定する。代理装置とは、第２のスレーブ装置のうち保存要求の要求元である要求元装置以外のスレーブ装置であって、保存データを要求元装置の代わりに保存する装置である。ＥＣＵ１０は、第２のスレーブ装置のうち要求元装置以外のスレーブ装置の中から、予め定められた選択条件を満たす第２のスレーブ装置を代理装置として選択する。
【００３７】
本実施形態では、書き込み可能回数が予め定められた閾値回数以上であること、及び、書き込みが正常に行われていること、を選択条件とする。閾値回数は、１以上の任意の整数に定められ得る。上述の正常情報は、書き込みが正常に行われている場合に「正常」を表し、書き込みが正常に行われていない場合に「異常」を表すようになっている。
【００３８】
ＥＣＵ１０は、本ステップでは、状態情報に基づいて、要求元装置以外の第２のスレーブ装置のうち、書き込み可能回数が予め定められた閾値回数以上であり、且つ、前記メモリへの書き込みが正常に行われている第２のスレーブ装置を代理装置として決定する。
【００３９】
ここでは、上述のように、ＥＣＵ２０、３０が第２のスレーブ装置に相当し、ＥＣＵ２０が要求元装置である。ＥＣＵ１０は、本ステップでは、ＥＣＵ３０が、書き込み可能回数が閾値回数以上であり、且つ、ＣＰＵ３１によってＲＯＭ３３へのデータの書き込みが正常に行われている場合に、ＥＣＵ３０を代理装置として決定する。
【００４０】
なお、ＥＣＵ１０は、ＥＣＵ３０が上述の選択条件を満たしていない場合、代理装置を決定せず、選択処理を終了する。この場合、ＥＣＵ１０は、代理装置が決定されなかったことを要求元装置に通知して、選択処理を終了してもよい。
【００４１】
ＥＣＵ１０は、Ｓ６０では、要求元装置に保存データを送信するよう要求する。具体的には、ＥＣＵ１０は、要求元装置であるＥＣＵ２０に、保存データを送信させるための要求であるデータ送信要求を送信する。
【００４２】
ＥＣＵ１０は、Ｓ７０では、要求元装置から送信された保存データを取得する。
ＥＣＵ１０は、Ｓ８０では、代理装置に保存指示を送信する。保存指示は、代理装置に保存データを保存させるための指示である。具体的には、ＥＣＵ１０は、代理装置であるＥＣＵ３０に保存指示を送信する。
【００４３】
ＥＣＵ１０は、Ｓ９０では、代理装置に保存データを送信する。具体的には、ＥＣＵ１０はＥＣＵ３０に保存データを送信する。これにより、代理装置は、保存データを自身が有する書き換え可能なメモリに保存する。つまり、ＥＣＵ３０はＲＯＭ３３に保存データを保存する。以上でＥＣＵ１０は、選択処理を終了する。なお、保存データは、上述の保存指示に含まれて保存指示と共に送信されてもよい。
【００４４】
［２−２．状態送信処理］
次に、スレーブ装置としてのＥＣＵ２０、３０が実行する状態送信処理を図３のフローチャートに基づいて説明する。状態送信処理は、ＥＣＵ２０、３０がマスタ装置としてのＥＣＵ１０から送信された情報送信要求を受信したことをきっかけとして実行される。以下では、ＥＣＵ２０が状態送信処理を実行する例について説明する。
【００４５】
ＥＣＵ２０は、Ｓ１１０では、状態情報を生成して、生成した状態情報をＥＣＵ１０へ送信する。本実施形態では、上述の書き込み可能回数と正常情報とを含む状態情報を生成する。以上で、ＥＣＵ２０は状態送信処理を終了する。
【００４６】
［２−３．保存要求処理］
次に、スレーブ装置としてのＥＣＵ２０、３０が実行する保存要求処理を図４のフローチャートに基づいて説明する。保存要求処理は、予め定められた周期で繰り返し実行される。以下では、ＥＣＵ２０が保存要求処理を実行する例について説明する。
【００４７】
ＥＣＵ２０は、Ｓ２１０では、ＥＣＵ２０が有するＲＯＭ２３に保存データを保存できる状態であるか否か、を判断する。保存データは、上述のように、ＥＣＵ２０が生成または取得したデータであって、ＥＣＵ２０がＲＯＭ２３に保存するべきデータである。ＥＣＵ２０は、保存データを保存できる状態でないと判断すると処理をＳ２２０へ移行させ、保存データを保存できる状態であると判断すると保存要求処理を終了する。
【００４８】
ＥＣＵ２０は、ＲＯＭ２３の書き込み回数が書込上限値以上であること、及び、上述の正常情報が異常を表していること、の少なくとも一方を満たす場合に、保存データを保存できる状態にないと判断する。
【００４９】
なお、ＥＣＵ２０は、本実施形態では、ＲＯＭ２３の書き込み回数が書込上限値以上であること、を保存データが保存できる状態にないことを判断するための判断条件として挙げているが、これに限定されるものではない。ＥＣＵ２０は、ＲＯＭ２３の書き込み回数が所定の判断閾値以上であること、を保存データが保存できる状態にないことを判断するための判断条件としてもよい。判断閾値は、書込上限値未満の任意の値に設定され得る。
【００５０】
ＥＣＵ２０は、Ｓ２２０では、ＥＣＵ１０に保存要求を送信する。
ＥＣＵ２０は、Ｓ２３０では、ＥＣＵ１０からデータ送信要求を受信するまで待機し、ＥＣＵ１０からデータ送信要求を受信すると処理をＳ２４０へ移行させる。
【００５１】
ＥＣＵ２０は、Ｓ２４０では、ＥＣＵ１０に保存データを送信する。以上で、ＥＣＵ２０は保存要求処理を終了する。
［２−４．保存実行処理］
次に、スレーブ装置としてのＥＣＵ２０、３０が実行する保存実行処理を図５のフローチャートに基づいて説明する。保存実行処理は、予め定められた周期で繰り返し実行される。以下では、ＥＣＵ３０が保存実行処理を実行する例について説明する。
【００５２】
ＥＣＵ３０は、Ｓ３１０では、マスタ装置としてのＥＣＵ１０から保存指示と保存データとを受信したか否か、を判断する。ＥＣＵ３０は、ＥＣＵ１０から保存指示と保存データとを受信したと判断した場合に処理をＳ３２０へ移行させ、ＥＣＵ１０から保存指示と保存データとを受信していないと判断した場合に保存実行処理を終了する。
【００５３】
ＥＣＵ３０は、Ｓ３２０では、保存データをＲＯＭ３３に書き込む。以上で、ＥＣＵ３０は保存実行処理を終了する。
［２−５．通信システムとしての作動］
このように構成された通信システム１の作動を図６のシーケンス図に基づいて説明する。ここでは、上述のように、ＥＣＵ２０が要求元装置である例について説明する。
【００５４】
まずＡ１では、ＥＣＵ２０がＥＣＵ１０へ保存要求を送信する。
Ａ２、Ａ３では、ＥＣＵ１０が、第２のスレーブ装置としてのＥＣＵ２０、３０へ情報送信要求を送信する。
【００５５】
Ａ４、Ａ５では、ＥＣＵ２０、３０がそれぞれ状態情報をＥＣＵ１０へ送信する。
Ａ６では、ＥＣＵ１０が状態情報に基づいて代理装置を決定する。ここでは、ＥＣＵ３０を代理装置として決定する。
【００５６】
Ａ７では、ＥＣＵ１０は、要求元装置であるＥＣＵ２０にデータ送信要求を送信する。
Ａ８では、要求元装置であるＥＣＵ２０が保存データをＥＣＵ１０へ送信する。
Ａ９では、ＥＣＵ１０が、保存指示と保存データとをＥＣＵ３０へ送信する。
【００５７】
Ａ１０では、ＥＣＵ３０が受信した保存データをフラッシュメモリであるＲＯＭ３３に書き込む。
このようにして、ＥＣＵ２０からの保存要求をきっかけとしてＥＣＵ１０によってＥＣＵ３０が代理装置として選択され、ＥＣＵ２０の保存データが代理装置としてのＥＣＵ３０のＲＯＭ３３に保存される。
【００５８】
［３．効果］
以上詳述した実施形態によれば、以下の効果を得ることができる。
（３ａ）マスタ装置としてのＥＣＵ１０は、Ｓ１０では、保存要求を取得したか否かを判断する。ＥＣＵ１０は、Ｓ５０では、保存要求を取得した場合に、複数のスレーブ装置のうち要求元装置以外のスレーブ装置であって保存データを要求元装置の代わりに保存する代理装置、を決定する。ＥＣＵ１０は、Ｓ８０では、代理装置に保存データを保存させる指示である保存指示を送信する。
【００５９】
複数のスレーブ装置は、第１のスレーブ装置としてのＥＣＵ２０、３０と、第２のスレーブ装置としてのＥＣＵ２０、３０とを備える。第１のスレーブ装置は、Ｓ２２０では、保存要求をＥＣＵ１０に送信する。第２のスレーブ装置は、Ｓ３１０では、ＥＣＵ１０から保存指示を受信したか否かを判断する。第２のスレーブ装置は、Ｓ３２０では、保存指示を受信したと判断された場合に、保存データを第２のスレーブ装置が有する書き換え可能なメモリに保存する。
【００６０】
その結果、ＥＣＵ１０は、要求元装置となるスレーブ装置の保存データを、要求元装置以外のスレーブ装置が有する書き換え可能なメモリに保存させることができる。例えば、スレーブ装置は、該スレーブ装置が有する書き換え可能なメモリにおいて書き換え回数が上限値に達する前に保存要求を出力することにより、保存データを他のスレーブ装置のメモリに保存することができる。その結果、書き換え可能なメモリを有するＥＣＵにおいて、データを確実に保存することができる。
【００６１】
（３ｂ）書き換え可能なメモリでは、書込上限値が予め定められている。ＥＣＵ１０は、Ｓ４０では、状態情報を取得する。状態情報は、第２のスレーブ装置が有する書き換え可能なメモリへの書き込み可能回数、及び書き込み回数のうち少なくとも一方を含む。ＥＣＵ１０は、状態情報に基づいて、少なくとも書き込み可能回数が予め定められた閾値回数以上である、要求元装置以外の第２のスレーブ装置を代理装置として決定する。ＥＣＵ２０、３０といった第２のスレーブ装置は、Ｓ１１０では生成した上述の状態情報をＥＣＵ１０へ出力する。
【００６２】
その結果、ＥＣＵ１０は、書き込み回数が書込上限値に達していない書き換え可能なメモリを有する第２のスレーブ装置であって要求装置以外の第２のスレーブ装置を、代理装置として選択することができる。
【００６３】
（３ｃ）ＥＣＵ１０は、Ｓ４０では、状態情報であって、書き換え可能なメモリへの書き込みが正常に行われたか否かを表す正常情報を更に含む状態情報を取得する。ＥＣＵ１０は、Ｓ５０では、状態情報に基づいて、少なくとも書き換え可能なメモリへの書き込みが正常に行われている、要求元装置以外の第２のスレーブ装置を代理装置として決定する。
【００６４】
その結果、ＥＣＵ１０は、書き換え可能なメモリへの書き込みが正常に行われている第２のスレーブ装置であって要求装置以外の第２のスレーブ装置を、代理装置として選択することができる。
【００６５】
なお、上記実施形態では、ＲＯＭ１３、ＲＯＭ２３、ＲＯＭ３３が書き換え可能なメモリに相当する。また、ＥＣＵ１０が、判断部、決定部、指示部、状態取得部に相当する。また、Ｓ１０が判断部としての処理に相当し、Ｓ５０が決定部としての処理に相当し、Ｓ８０が指示部としての処理に相当し、Ｓ４０が状態取得部としての処理に相当する。また、ＥＣＵ２０、３０が、要求部、実行部、情報出力部に相当する。また、Ｓ２２０が要求部としての処理に相当し、Ｓ３２０が実行部としての処理に相当し、Ｓ１１０が情報出力部としての処理に相当する。
【００６６】
［４．他の実施形態］
以上、本開示の実施形態について説明したが、本開示は上述の実施形態に限定されることなく、種々変形して実施することができる。
【００６７】
（４ａ）上記実施形態では、通信システム１はＥＣＵ２０、３０といった２つのスレーブ装置を備えていたが、これに限定されるものではない。通信システムは、３以上の複数のスレーブ装置を備えていてもよい。そして、通信システムでは、複数のスレーブ装置は、少なくとも１つの第１のスレーブ装置と、少なくとも１つの第２のスレーブ装置と、を備えていてもよい。第１のスレーブ装置は、保存要求機能及び保存実行機能のうち保存実行機能を備えないので、上述の保存要求処理のみを実行するように構成されてもよい。第２のスレーブ装置は、保存要求機能及び保存実行機能のうち保存要求機能を備えないので、上述の保存実行処理のみを実行するように構成されてもよい。
【００６８】
なお、通信システムが備える複数のスレーブ装置のうち、全てのスレーブ装置が第１のスレーブ装置であり、且つ、全てのスレーブ装置が第２のスレーブ装置であってもよい。この場合、複数のスレーブ装置全ては、上述の保存要求処理及び保存実行処理の両方を実行するように構成されてもよい。
【００６９】
（４ｂ）ＥＣＵ１０は、Ｓ５０では、第２のスレーブ装置のうち書き換え可能回数が閾値回数以上である任意の１つの第２のスレーブ装置を代理装置として選択してもよい。
また、ＥＣＵ１０は、Ｓ５０では、状態情報に基づいて、第２のスレーブ装置のうち書き込み可能回数が最も大きい第２のスレーブ装置を代理装置として選択してもよい。
【００７０】
また、ＥＣＵ１０は、第２のスレーブ装置のうち、書き込み可能回数が閾値回数以上であり、且つ、要求元装置からの通信経路が最も短いスレーブ装置を代理装置として選択してもよい。その結果、保存不可装置と代理装置間との通信経路におけるエラーの発生が抑制されるように、代理装置を選択することができる。
【００７１】
（４ｃ）上記実施形態では、通信システム１において１つの要求元装置が生じた場合について説明したが、これに限定されるものではない。通信システムが３以上の複数のスレーブ装置を有しており、通信システムにおいて複数の要求元装置が生じる場合があり得る。このような場合、マスタ装置は、スレーブ装置のうち書き換え可能回数が多い順に、要求元装置の数のスレーブ装置をそれぞれ代理装置として選択してもよい。
【００７２】
または、マスタ装置は、スレーブ装置のうち書き換え可能回数が所定回数以上である任意の複数の装置をそれぞれ代理装置として選択してもよい。
または、マスタ装置は、スレーブ装置のうち、書き換え可能回数が閾値回数以上であり、且つ、要求元装置からの通信経路が短い順に複数のスレーブ装置を、それぞれ代理装置として選択してもよい。
【００７３】
（４ｄ）ＥＣＵ２０がＣＰＵ２１によってＲＯＭ２３に保存させる種々のデータ、及び、ＥＣＵ３０がＣＰＵ３１によってＲＯＭ３３に保存させる種々のデータには、図７に示すように、制御用データと、制御用データではない非制御用データと、が含まれ得る。ここで、制御用データとは、上述のエンジンやブレーキなどの車両に搭載された制御対象の制御を行うためのデータである。一方、非制御用データとは、例えばダイアグデータ等といった、車両の走行に関する制御に直接的には用いられないデータである。ダイアグデータとは、ＥＣＵ１０において何らかの異常が生じた際に、異常が生じたこと及び異常の内容のうち少なくとも一方を表すデータである。
【００７４】
また、上述の種々データには、データが生成されて即時にＲＯＭ２３またはＲＯＭ３３に書き込まれるデータと、上述のセルフシャットオフ時にＲＯＭ２３またはＲＯＭ３３に書き込まれるデータとが有り得る。即時に保存される場合は、データが生成または取得されたときにデータの書き込み要求に従ってＲＯＭ１３にデータが書き込まれる。
【００７５】
非制御用データであって、セルフシャットオフ機能の実行時に書き込みが行われるデータは、走行中にＥＣＵ２０、３０自身によって用いられるデータではなく、且つ、ＥＣＵ２０、３０自身によって何らかの制御が行われる際の基となるデータでもない。換言すれば、非制御用データであって、セルフシャットオフ機能の実行時に書き込みが行われるデータは、データを生成した自装置が有するＲＯＭ以外に保存されることに適したデータである、といえる。そこで、上述の通信システム１において、ＥＣＵ２０、３０は、このような非制御用データであって、セルフシャットオフ機能の実行時に書き込みが行われるデータを保存データとして用いるように構成されてもよい。つまり、スレーブ装置は、非制御用データであって、セルフシャットオフ機能の実行時に書き込みが行われるデータを保存データとして用いるように構成されてもよい。
【００７６】
（４ｅ）上記実施形態では、通信システム１が車両に搭載されていたが、通信システムは車両に搭載されるものでなくてもよい。例えば、通信システムは、書き換え可能なメモリを有する複数の電子制御装置を備え、該電子制御装置間で通信を実行する種々のシステムであり得る。
【００７７】
（４ｆ）上記実施形態では、通信システム１において、複数のＥＣＵ１０−３０は、共通の通信線９を介して通信プロトコルとしてのＬＩＮに基づいて通信を実行していたが、これに限定されるものではない。通信システム１において、複数のＥＣＵ１０−３０は、共通の通信線９を介して、ＬＩＮ以外のマスタ・スレーブ方式の通信プロトコルに従って通信を行うよう構成されていてもよい。
【００７８】
また、通信システム１において、複数のＥＣＵ１０−３０は、共通の通信線を介して通信プロトコルとしてのＣＡＮに基づいて通信を実行してもよい。また、通信システム１では、複数のＥＣＵ１０−３０は、通信線を介して互いに通信可能に接続され、通信プロトコルとしてのイーサネットに従って通信を実行してもよい。つまり、通信システム１において、複数のＥＣＵ１０−３０は、通信線を介して、例えば、ＣＡＮやイーサネット等といった、マスタ・スレーブ方式でない通信プロトコルに従って通信を行うように構成されていてもよい。この場合、通信システム１が備える複数のＥＣＵ１０−３０のうちの１つがマスタ装置として作動し、残りのＥＣＵがスレーブ装置として作動するように構成されていてもよい。
【００７９】
（４ｇ）上記実施形態における１つの構成要素が有する複数の機能を、複数の構成要素によって実現したり、１つの構成要素が有する１つの機能を、複数の構成要素によって実現したりしてもよい。また、複数の構成要素が有する複数の機能を、１つの構成要素によって実現したり、複数の構成要素によって実現される１つの機能を、１つの構成要素によって実現したりしてもよい。また、上記実施形態の構成の一部を省略してもよい。また、上記実施形態の構成の少なくとも一部を、他の上記実施形態の構成に対して付加または置換してもよい。なお、特許請求の範囲に記載した文言から特定される技術思想に含まれるあらゆる態様が本開示の実施形態である。
【００８０】
（４ｈ）上述したＥＣＵ１０、ＥＣＵ２０、ＥＣＵ３０、通信システム１の他、ＥＣＵ１０、ＥＣＵ２０、ＥＣＵ３０のそれぞれを機能させるためのプログラム、このプログラムを記録した半導体メモリ等の非遷移的実態的記録媒体、代理装置選択方法、保存要求方法、保存実行方法など、種々の形態で本開示を実現することもできる。
【符号の説明】
【００８１】
１  通信システム、９  通信線、１０  ＥＣＵ、２０  ＥＣＵ、３０  ＥＣＵ。
【図１】
2019149682.tif 000003
【図２】
2019149682.tif 000004
【図３】
2019149682.tif 000005
【図４】
2019149682.tif 000006
【図５】
2019149682.tif 000007
【図６】
2019149682.tif 000008
【図７】
2019149682.tif 000009