(57)【要約】【課題】制御システムの安全性を向上させること。【解決手段】実施形態のメモリシステム１０は、第１及び第２記憶領域と、コントローラとを含む。第１記憶領域は、第１ファームウェアを格納する。第２記憶領域は、第２及び第３ファームウェアを格納する。外部のゲートウェイ２０が第１ソフトウェアで起動した場合に、ゲートウェイ２０は第１記憶領域にアクセス可能、且つ第２記憶領域にアクセス不可能に設定される。ゲートウェイ２０が第２ソフトウェアで起動した場合に、ゲートウェイ２０は第１及び第２記憶領域にアクセス可能に設定される。コントローラは、ゲートウェイ２０から受信した第１命令に基づいて、第２及び第３ファームウェアをゲートウェイ２０に送信し、第２及び前記第３ファームウェアをゲートウェイ２０に送信した後に、ゲートウェイ２０から受信した第２命令に基づいて、第１ファームウェアをゲートウェイ２０に送信する。【選択図】図６
2020154540.tif 000002
【特許請求の範囲】
【請求項１】
外部の第１電子制御装置に対応する第１ファームウェアを格納する第１記憶領域と、
外部のゲートウェイに対応する第２ファームウェアと、前記第１電子制御装置に対応する第３ファームウェアとを格納する第２記憶領域と、
コントローラと、を備え、
前記ゲートウェイが第１ソフトウェアで起動した場合に、前記ゲートウェイは前記第１記憶領域にアクセス可能、且つ前記第２記憶領域にアクセス不可能に設定され、
前記ゲートウェイが第２ソフトウェアで起動した場合に、前記ゲートウェイは前記第１記憶領域及び前記第２記憶領域にアクセス可能に設定され、
前記コントローラは、
前記ゲートウェイから受信した第１命令に基づいて、前記第２ファームウェア及び前記第３ファームウェアを前記ゲートウェイに送信し、
前記第２ファームウェア及び前記第３ファームウェアを前記ゲートウェイに送信した後に、前記ゲートウェイから受信した第２命令に基づいて、前記第１ファームウェアを前記ゲートウェイに送信する、メモリシステム。
【請求項２】
請求項１に記載のメモリシステムと、
前記メモリシステムに接続された前記ゲートウェイと、
前記ゲートウェイに接続された前記第１電子制御装置と、を備え、
前記ゲートウェイは、
前記メモリシステムから前記第２ファームウェア及び前記第３ファームウェアを受信すると、前記第２ファームウェアを実行し、前記第３ファームウェアを前記第１電子制御装置に送信し、
前記第３ファームウェアを前記第１電子制御装置に送信した後に前記第１電子制御装置から第１情報を受信すると、前記第１情報に基づいた前記第２命令を前記メモリシステムに送信し、
前記メモリシステムから前記第１ファームウェアを受信すると、前記第１ファームウェアを前記第１電子制御装置に送信する、制御システム。
【請求項３】
前記第１電子制御装置は、
前記ゲートウェイから前記第３ファームウェアを受信すると、前記第３ファームウェアを実行して、前記第１電子制御装置の状態を調べる自己診断動作を実行し、前記自己診断動作の結果を前記第１情報として前記ゲートウェイに送信し、
前記ゲートウェイから前記第１ファームウェアを受信すると、前記第１ファームウェアを実行する、
請求項２に記載の制御システム。
【請求項４】
前記ゲートウェイは、
前記第１電子制御装置が改ざんされているか否かを確認し、
前記第１電子制御装置が改ざんされている場合に、前記メモリシステムに対して前記ゲートウェイの前記第２ソフトウェアによる起動を要求し、前記第２ソフトウェアで起動した後に前記第１命令を前記メモリシステムに送信する、
請求項２又は請求項３に記載の制御システム。
【請求項５】
ウォッチドッグをさらに備え、
前記ウォッチドッグは、前記第１電子制御装置が改ざんされているか否かの確認を前記ゲートウェイに指示し、
前記ゲートウェイは、前記指示に対応する第２情報を前記ウォッチドッグに送信し、
前記ウォッチドッグは、受信した前記第２情報、又は前記指示から所定の期間に前記第２情報を受信できないことに基づいて、前記メモリシステムに対して前記ゲートウェイの前記第２ソフトウェアによる起動を要求し、
前記ゲートウェイは、前記第２ソフトウェアで起動した後に前記第１命令を前記メモリシステムに送信する、
請求項２又は請求項３に記載の制御システム。
【請求項６】
前記ゲートウェイに接続された第２電子制御装置をさらに備え、
前記ゲートウェイは、前記第１電子制御装置が前記第１ファームウェアを実行した後に、前記第２電子制御装置が改ざんされているか否かを確認する、
請求項４又は請求項５に記載の制御システム。
【請求項７】
請求項１に記載のメモリシステムと、
前記メモリシステムに接続された前記ゲートウェイと、
前記ゲートウェイに接続された前記第１電子制御装置と、
前記ゲートウェイに接続された第２電子制御装置と、を備え、
前記ゲートウェイは、
前記メモリシステムから前記第２ファームウェア及び前記第３ファームウェアを受信すると、前記第２ファームウェアを実行し、前記第３ファームウェアを前記第１電子制御装置に送信し、
前記第３ファームウェアを前記第１電子制御装置に送信した後に、前記第１電子制御装置から第１情報を受信すると、前記第１情報に基づいた前記第２命令を前記メモリシステムに送信し、
前記メモリシステムから前記第１ファームウェアを受信すると、前記第１ファームウェアを前記第２電子制御装置に送信する、制御システム。
【請求項８】
前記メモリシステムが前記第１命令を受信する前に、前記第１電子制御装置は外部の第１機器を制御し、前記第２電子制御装置は外部の第２機器を制御し、
前記第１電子制御装置は、前記ゲートウェイから前記第３ファームウェアを受信すると、前記第３ファームウェアを実行して、前記第１電子制御装置の状態を調べる自己診断動作を実行し、前記自己診断動作の結果を前記第１情報として前記ゲートウェイに送信し、
前記第２電子制御装置は、前記ゲートウェイから前記第１ファームウェアを受信すると、前記第１ファームウェアを実行し、前記第１機器及び前記第２機器の両方を制御する、
請求項７に記載の制御システム。
【請求項９】
前記メモリシステムが前記第１命令を受信する前に、前記第１電子制御装置は外部の第１機器を制御し、
前記第１電子制御装置は、前記ゲートウェイから前記第３ファームウェアを受信すると、前記第３ファームウェアを実行して、前記第１電子制御装置の状態を調べる自己診断動作を実行し、前記自己診断動作の結果を前記第１情報として前記ゲートウェイに送信し、
前記第２電子制御装置は、前記ゲートウェイから前記第１ファームウェアを受信すると、前記第１ファームウェアを実行し、前記第１機器を制御する、
請求項７に記載の制御システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、メモリシステム及び制御システムに関する。
【背景技術】
【０００２】
データを不揮発に記憶することが可能なＮＡＮＤ型フラッシュメモリが知られている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１８−０４５３９２号公報
【特許文献２】米国特許出願公開第２０１７／００７８４００号明細書
【特許文献３】特開２０１８−０２６７９１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
安全性を向上させることが可能なメモリシステム及び制御システムを提供する。
【課題を解決するための手段】
【０００５】
本発明の実施形態のメモリシステムは、第１記憶領域と、第２記憶領域と、コントローラとを含む。第１記憶領域は、外部の電子制御装置に対応する第１ファームウェアを格納する。第２記憶領域は、外部のゲートウェイに対応する第２ファームウェアと、電子制御装置に対応する第３ファームウェアとを格納する。ゲートウェイが第１ソフトウェアで起動した場合に、ゲートウェイは第１記憶領域にアクセス可能、且つ第２記憶領域にアクセス不可能に設定される。ゲートウェイが第２ソフトウェアで起動した場合に、ゲートウェイは第１記憶領域及び第２記憶領域にアクセス可能に設定される。コントローラは、ゲートウェイから受信した第１命令に基づいて、第２ファームウェア及び第３ファームウェアをゲートウェイに送信する。コントローラは、第２ファームウェア及び前記第３ファームウェアをゲートウェイに送信した後に、ゲートウェイから受信した第２命令に基づいて、第１ファームウェアをゲートウェイに送信する。
【図面の簡単な説明】
【０００６】
【図１】第１実施形態に係る制御システムのブロック図。
【図２】第１実施形態に係る制御システムの備えるメモリシステムのブロック図。
【図３】第１実施形態に係る制御システムの備えるゲートウェイのブロック図。
【図４】第１実施形態に係る制御システムの備える電子制御装置のブロック図。
【図５】第１実施形態に係る制御システムにおける改ざん検出動作のフローチャート。
【図６】第１実施形態に係る制御システムにおける復旧動作のフローチャート。
【図７】第２実施形態に係る制御システムのブロック図。
【図８】第２実施形態に係る制御システムにおける改ざん検出動作のフローチャート。
【図９】第２実施形態に係る制御システムにおける復旧動作のフローチャート。
【図１０】第３実施形態に係る制御システムにおける改ざん検出動作のフローチャート。
【図１１】第４実施形態に係る制御システムのブロック図。
【図１２】第４実施形態に係る制御システムにおける正常な動作状態の一例を示すブロック図。
【図１３】第４実施形態に係る制御システムにおける復旧動作のフローチャート。
【図１４】第４実施形態に係る制御システムにおける動作状態の一例を示すブロック図。
【図１５】第５実施形態に係る制御システムのブロック図。
【図１６】第５実施形態に係る制御システムにおける復旧動作のフローチャート。
【図１７】第５実施形態に係る制御システムにおける動作状態の一例を示すブロック図。
【発明を実施するための形態】
【０００７】
以下に、本発明の実施形態について図面を参照して説明する。実施形態は、発明の技術的思想を具体化するための装置や方法を例示している。図面は、模式的又は概念的なものである。本明細書において“接続”とは、電気的に接続されている事を示し、間に別の素子や機器を介することを除外しない。以下の説明において、略同一の機能及び構成を有する構成要素については、同一符号を付す。参照符号を構成する数字の後の文字は、同じ数字を含んだ参照符号によって参照され、且つ同様の構成を有する要素同士を区別するために使用される。同じ数字を含んだ参照符号で示される要素を相互に区別する必要がない場合、これらの要素はそれぞれ数字のみを含んだ参照符号により参照される。
【０００８】
［１］第１実施形態
以下に、第１実施形態に係る制御システム１について説明する。
【０００９】
［１−１］構成
（制御システム１の全体構成）
図１は、第１実施形態に係る制御システム１の構成例を示している。制御システム１は、例えば車載用のエンジン制御システムとして使用される。制御システム１は、例えばメモリシステム１０、ゲートウェイ２０、及びＥＣＵ（Electronic Control Unit）セット３０を備えている。
【００１０】
メモリシステム１０は、例えばＳＳＤ（Solid State Drive）である。メモリシステム１０は、データを不揮発に保持することが出来る。メモリシステム１０は、ゲートウェイ２０に接続され、例えばゲートウェイ２０の制御に基づいて動作する。メモリシステム１０には、例えばゲートウェイ２０のファームウェアや、電子制御装置（ＥＣＵ）のファームウェアや、制御システム１の動作ログ等が格納される。
【００１１】
ゲートウェイ２０は、制御システム１内の装置間の情報の送受信を可能とするネットワーク機器である。ゲートウェイ２０は、制御システム１全体の動作を制御する。ゲートウェイ２０は、ＥＣＵセット３０に含まれた電子制御装置の各々と接続され、例えば電子制御装置間の情報（データ）の送受信を中継する。また、ゲートウェイ２０は、ゲートウェイ２０に接続された各電子制御装置の動作に関する情報や、電子制御装置間において中継されたデータをログとしてメモリシステム１０に記憶させる機能を有し得る。さらに、ゲートウェイ２０は、制御システム１の中央演算装置としても動作し得る。
【００１２】
ＥＣＵセット３０は、例えば電子制御装置３１及び３２を含んでいる。電子制御装置３１及び３２のそれぞれは、ファームウェア（ソフトウェア）に予め記録された制御値に基づいて、当該電子制御装置に関連付けられた機器を制御する。電子制御装置３１は、例えば外部のネットワークとの通信に使用される通信用のマイクロコントローラである。電子制御装置３２は、例えばエンジンの運転制御を電気的な補助装置を用いて行う際に、その補助装置を制御する制御用のマイクロコントローラである。ＥＣＵセット３０内の各電子制御装置は、ゲートウェイ２０を介して情報を共有し得る。
【００１３】
尚、以上で説明した制御システム１の構成はあくまで一例であり、これに限定されない。例えば、メモリシステム１０は、ゲートウェイ２０に内蔵されていても良い。ＥＣＵセット３０に含まれた電子制御装置の数は、任意の数に設計され得る。ゲートウェイ２０と各電子制御装置との間の通信方式は、同じであっても良いし、異なっていても良い。電子制御装置の制御対象はエンジンに限定されず、実行するファームウェアに応じてあらゆる機器を制御し得る。
【００１４】
次に、第１実施形態に係る制御システム１の備えるメモリシステム１０、ゲートウェイ２０、及びＥＣＵセット３０のそれぞれの詳細な構成について順に説明する。
【００１５】
（メモリシステム１０の構成）
図２は、第１実施形態に係る制御システム１の備えるメモリシステム１０の構成例を示している。メモリシステム１０は、メモリコントローラ１１及び半導体記憶装置１２を備えている。
【００１６】
まず、メモリコントローラ１１について説明する。メモリコントローラ１１は、例えばＳＳＤコントローラである。メモリコントローラ１１は、半導体記憶装置１２を制御する。メモリコントローラ１１は、ＣＰＵ（Central Processing Unit）１３、ホストインターフェイス回路（ホストＩ／Ｆ）１４、ＲＯＭ（Read Only Memory）１５、ＲＡＭ（Random Access Memory）１６、及びＮＡＮＤインターフェイス回路（ＮＡＮＤ Ｉ／Ｆ）１７を含んでいる。
【００１７】
ＣＰＵ１３は、メモリコントローラ１１全体の動作を制御する演算処理装置である。例えば、ＣＰＵ１３は、外部のゲートウェイ２０の指示に基づいて、読み出し動作の実行を半導体記憶装置１２に命令する。また、ＣＰＵ１３は、例えばウェアレベリング等、半導体記憶装置１２のメモリ空間を管理するための様々な処理を実行する。
【００１８】
ホストインターフェイス回路１４は、外部のゲートウェイ２０と接続され、メモリシステム１０とゲートウェイ２０との間の通信を制御するハードウェアインターフェースである。例えば、ホストインターフェイス回路１４は、ＳＡＴＡ（Serial Advanced Technology Attachment）、ＳＡＳ（Serial Attached SCSI）、ＰＣＩｅ（PCI Express）（登録商標）等の通信インターフェイス規格をサポートしている。
【００１９】
ＲＯＭ１５は、データを不揮発に保持する読み出し専用の記憶装置である。ＲＯＭ１５には、例えばメモリコントローラ１１の制御プログラムや制御データ等が格納される。例えば、ＲＯＭ１５は、ＢＩＯＳ（Basic Input/Output System）を保持する。
【００２０】
ＲＡＭ１６は、ＣＰＵ１３の作業領域として使用される記憶装置である。ＲＡＭ１６には、例えば半導体記憶装置１２の記憶領域を管理するためのテーブル等が格納される。ＲＡＭ１６としては、例えばＤＲＡＭ（Dynamic Random Access Memory）やＳＲＡＭ（Static Random Access Memory）等の揮発性メモリが使用される。
【００２１】
ＮＡＮＤインターフェイス回路１７は、メモリコントローラ１１と半導体記憶装置１２との間におけるデータ、コマンド、及びアドレスの転送を制御するハードウェアインターフェースである。ＮＡＮＤインターフェイス回路１７は、ＮＡＮＤインターフェイス規格をサポートしている。
【００２２】
次に、半導体記憶装置１２について説明する。半導体記憶装置１２は、例えばＮＡＮＤ型フラッシュメモリである。半導体記憶装置１２の記憶領域は、例えば通常領域１８、及びＳｈａｄｏｗ−ＭＢＲ領域１９を含んでいる。
【００２３】
通常領域１８は、制御システム１の通常動作時において、ゲートウェイ２０がアクセス可能である領域である。制御システム１は、通常のＭＢＲ（Master Boot Record）ソフトで起動した場合に、通常動作に移行する。ＭＢＲソフトは、制御システム１の起動時にメモリシステム１０から読み出されるデータであり、制御システム１の起動に関する情報を含んでいる。通常のＭＢＲソフトは、制御システム１の通常動作時に選択されるＭＢＲソフトであり、例えば通常領域１８内に格納される。また、通常領域１８には、例えば通常ファームウェア（通常ＦＷ）と、縮退ファームウェア（縮退ＦＷ）とが格納される。
【００２４】
通常ファームウェア及び縮退ファームウェアのそれぞれは、ＥＣＵセット３０に含まれた電子制御装置のファームウェアである。通常ファームウェアを実行した電子制御装置は、通常モードで動作する。縮退ファームウェアを実行した電子制御装置は、縮退モードで動作する。縮退モードの電子制御装置は、通常モードよりも限定された制御をする。
【００２５】
Ｓｈａｄｏｗ−ＭＢＲ領域１９は、ゲートウェイ２０によるアクセスが制限された領域である。ゲートウェイ２０のＳｈａｄｏｗ−ＭＢＲ領域１９へのアクセスは、制御システム１がＳｈａｄｏｗ−ＭＢＲソフトで起動した場合に許可される。Ｓｈａｄｏｗ−ＭＢＲソフトは、メモリシステム１０内で認証が必要な記憶領域（例えば、Ｓｈａｄｏｗ−ＭＢＲ領域１９）にアクセスするためのＭＢＲソフトであり、例えば通常領域１８内に格納される。つまり、Ｓｈａｄｏｗ−ＭＢＲ領域１９は、制御システム１の通常動作時、すなわち通常のＭＢＲソフトで起動したゲートウェイ２０によってアクセス不可能に設定される。Ｓｈａｄｏｗ−ＭＢＲ領域１９には、例えば特殊ファームウェア（特殊ＦＷ）と、診断ファームウェア（診断ＦＷ）とが格納される。
【００２６】
特殊ファームウェアは、ゲートウェイ２０のファームウェアである。特殊ファームウェアを実行したゲートウェイ２０は、復旧モードで動作する。ゲートウェイ２０の復旧モードは、後述する制御システム１の復旧動作において使用される。診断ファームウェアは、ＥＣＵセット３０に含まれた電子制御装置のファームウェアである。診断ファームウェアを実行した電子制御装置は、当該電子制御装置における異常の発生箇所を特定する自己診断動作を実行する。
【００２７】
尚、以上で説明したメモリシステム１０の構成はあくまで一例であり、これに限定されない。例えば、メモリシステム１０が含む半導体記憶装置１２の数は１つに限定されず、任意の個数に設計され得る。メモリシステム１０が複数の半導体記憶装置１２を有する場合、ＮＡＮＤインターフェイス回路１７には複数の半導体記憶装置１２が接続され、メモリコントローラ１１は複数の半導体記憶装置１２を独立に制御する。通常ファームウェア及び縮退ファームウェアのそれぞれは、制御対象の機器毎に用意され得る。診断ファームウェアは、電子制御装置毎に設けられても良いし、電子制御装置間で共通のファームウェアが使用されても良い。
【００２８】
（ゲートウェイ２０の構成）
図３は、第１実施形態に係る制御システム１の備えるゲートウェイ２０の構成例を示している。ゲートウェイ２０は、ＣＰＵ２１、ＲＯＭ２２、ＲＡＭ２３、及び通信コントローラ２４を備えている。
【００２９】
ＣＰＵ２１、ＲＯＭ２２、及びＲＡＭ２３は、例えばメモリシステム１０内のＣＰＵ１３、ＲＯＭ１５、及びＲＡＭ１６とそれぞれ同様に構成される。ＣＰＵ２１は、ゲートウェイ２０全体の動作を制御する。ＲＯＭ２２には、ゲートウェイ２０の制御プログラムや制御データ等が記憶される。ＲＡＭ２３は、ＣＰＵ２１の作業領域として使用される。
【００３０】
通信コントローラ２４は、メモリシステム１０と、ＥＣＵセット３０内の各電子制御装置とのそれぞれに接続される。通信コントローラ２４は、ゲートウェイ２０とメモリシステム１０との間における通信と、ゲートウェイ２０とＥＣＵセット３０内の各電子制御装置との間における通信とを制御する。
【００３１】
（ＥＣＵセット３０の構成）
図４は、第１実施形態に係る制御システム１の備えるＥＣＵセット３０の構成例を示している。ＥＣＵセット３０に含まれた電子制御装置３１は、ＣＰＵ３３、ＲＯＭ３４、ＲＡＭ３５、通信コントローラ３６、及び外部通信コントローラ３７を備えている。
【００３２】
ＣＰＵ３３、ＲＯＭ３４、ＲＡＭ３５、及び通信コントローラ３６は、例えばゲートウェイ２０内のＣＰＵ２１、ＲＯＭ２２、ＲＡＭ２３、及び通信コントローラ３６とそれぞれ同様に構成される。ＣＰＵ３３は、電子制御装置全体の動作を制御する。ＲＯＭ３４には、電子制御装置の制御プログラムや制御データ等が記憶される。ＲＡＭ３５は、ＣＰＵ３３の作業領域として使用される。通信コントローラ３６は、電子制御装置とゲートウェイ２０との間における通信を制御する。
【００３３】
外部通信コントローラ３７は、制御システム１の外部の機器又はネットワークと接続可能なように構成される。外部通信コントローラ３７は、制御システム１と外部の機器との間の通信を制御する。制御システム１と外部の機器との間の通信方式には、任意の方式が使用され得る。例えば、制御システム１と外部との通信には、無線通信が使用されても良いし、有線通信が使用されても良い。
【００３４】
尚、電子制御装置３２の構成は、電子制御装置３１の構成から外部通信コントローラ３７を省略したものと同様のため、説明を省略する。ＥＣＵセット３０内の各電子制御装置の構成は同じであっても良いし、異なっていても良い。制御用の電子制御装置３２が、外部通信コントローラ３７を備えていても良い。
【００３５】
［１−２］動作
第１実施形態に係る制御システム１は、改ざん検出動作と復旧動作とを実行することが出来る。改ざん検出動作は、ＥＣＵセット３０内の電子制御装置が改ざんされたか否か、すなわち電子制御装置に異常が発生したか否かを検査する動作である。復旧動作は、改ざんされた電子制御装置を正常な状態に復旧させる動作である。復旧動作は、改ざん検出動作の結果から電子制御装置が改ざんされていることが検出された場合に実行される。
【００３６】
以下に、第１実施形態に係る制御システム１における改ざん検出動作と復旧動作との詳細について順に説明する。尚、第１実施形態に係る制御システム１における動作の説明では、ＥＣＵセット３０内の電子制御装置３１を対象とした改ざん検出動作と復旧動作とが実行される場合について例示する。
【００３７】
図５は、第１実施形態に係る制御システム１における改ざん検出動作のフローを示している。第１実施形態における改ざん検出動作は、ゲートウェイ２０及び電子制御装置３１によって実行される。
【００３８】
具体的には、まずゲートウェイ２０が、改ざんチェック情報の送信を電子制御装置３１に指示する（ステップＳ１１）。すると、電子制御装置３１は、ゲートウェイ２０の指示に基づいて、改ざんチェック情報をゲートウェイ２０に送信する（ステップＳ１２）。ゲートウェイ２０は、改ざんチェック情報を電子制御装置３１から受信すると、受信した改ざんチェック情報を確認する（ステップＳ１３）。
【００３９】
改ざんチェック情報は、電子制御装置で実行されているファームウェアの検証に使用される。例えば、改ざんチェック情報は、ゲートウェイ２０と電子制御装置３１との間で共有される検証用の参照値であり、任意の参照値が使用される。例えば、ファームウェアの検証にＭＡＣ（Message Authentication Code）が使用された場合、ゲートウェイ２０と電子制御装置３１との間で事前に共有されたＭＡＣ値が改ざんチェック情報に相当する。
【００４０】
例えば、電子制御装置３１から受信した参照値と事前に共有された参照値とが一致した場合、ゲートウェイ２０は、電子制御装置３１が正常に動作している（改ざん無し）と判断する（ステップＳ１４、ＮＯ）。ゲートウェイ２０は、電子制御装置３１が改ざんされていないことを確認すると、改ざん検出動作を終了する。
【００４１】
一方で、電子制御装置３１から受信した参照値と事前に共有された参照値とが不一致の場合、ゲートウェイ２０は、電子制御装置３１が正常に動作していない（改ざん有り）と判断する（ステップＳ１４、ＹＥＳ）。ゲートウェイ２０は、電子制御装置３１が改ざんされていることを確認すると、続けて改ざんされた電子制御装置３１を対象とした復旧動作を実行する（ステップＳ１５）。
【００４２】
図６は、第１実施形態に係る制御システム１における復旧動作のフローを示している。第１実施形態における復旧動作は、メモリシステム１０、ゲートウェイ２０、及び電子制御装置３１によって実行される。
【００４３】
具体的には、まずゲートウェイ２０が、復旧モードによる起動をメモリシステム１０に要求する（ステップＳ１０１）。すると、メモリシステム１０が、ゲートウェイ２０の要求に基づいて、Ｓｈａｄｏｗ−ＭＢＲソフトによる起動をゲートウェイ２０に指示する（ステップＳ１０２）。
【００４４】
ゲートウェイ２０は、メモリシステム１０の指示に基づいてＳｈａｄｏｗ−ＭＢＲソフトで起動し、Ｓｈａｄｏｗ−ＭＢＲ領域１９へのアクセスが許可されると、機器の認証とファームウェア（ＦＷ）の配信とをメモリシステム１０に要求する（ステップＳ１０３）。機器の認証とファームウェアの配信との要求を受信したメモリシステム１０は、まず機器の認証を実行し、例えばゲートウェイ２０で実行されているファームウェアが正規のものであるか否かを確認する。
【００４５】
例えば、ファームウェアが正規のものでない場合、メモリシステム１０は、機器の認証をフェイルと判定し、ファームウェアの配信を拒絶する。一方で、ファームウェアが正規のものである場合、メモリシステム１０は、機器の認証をパスと判定し、Ｓｈａｄｏｗ−ＭＢＲ領域１９に格納された特殊ファームウェア及び診断ファームウェアをゲートウェイ２０に配信する（ステップＳ１０４）。
【００４６】
ゲートウェイ２０は、メモリシステム１０から特殊ファームウェア及び診断ファームウェアを受信すると、受信した特殊ファームウェアを実行する（ステップＳ１０５）。特殊ファームウェアを実行したゲートウェイ２０は、復旧モードで動作する。すると、ゲートウェイ２０は、メモリシステム１０から配信された診断ファームウェアを、電子制御装置３１に配信する（ステップＳ１０６）。
【００４７】
電子制御装置３１は、ゲートウェイ２０から診断ファームウェアを受信すると、受信した診断ファームウェアを実行し、自己診断動作を実行する（ステップＳ１０７）。自己診断動作において電子制御装置３１は、診断ファームウェアが実行される前にどのような異常が発生していたかを自己診断する。自己診断動作では、例えば電子制御装置３１におけるハードウェアの故障箇所や、ファームウェアが改ざんされていた箇所等が特定される。
【００４８】
電子制御装置３１は、自己診断動作が完了すると、自己診断動作による診断結果をゲートウェイ２０に通知する（ステップＳ１０８）。ゲートウェイ２０は、自己診断動作による診断結果を電子制御装置３１から受信すると、診断結果を確認する（ステップＳ１０９）。診断結果の確認において、ゲートウェイ２０は、復旧動作の対象である電子制御装置３１に対して適切な復旧用ファームウェアが何であるかを判断する。
【００４９】
例えば、電子制御装置３１のファームウェアが改ざんされていた場合、ゲートウェイ２０は、電子制御装置３１の復旧用ファームウェアとして通常ファームウェアが適切であると判断する。一方で、電子制御装置３１のハードウェアの一部が故障していた場合、ゲートウェイ２０は、電子制御装置３１の復旧用ファームウェアとして縮退ファームウェアが適切であると判断する。
【００５０】
診断結果の確認が完了すると、ゲートウェイ２０は、復旧用ファームウェアの配信をメモリシステム１０に要求する（ステップＳ１１０）。復旧用ファームウェアの配信が要求されると、メモリシステム１０は、通常領域１８に格納された復旧用ファームウェア（通常ファームウェア又は縮退ファームウェア）をゲートウェイ２０に配信する（ステップＳ１１１）。それから、ゲートウェイ２０が、メモリシステム１０から配信された復旧用ファームウェアを、電子制御装置３１に配信する（ステップＳ１１２）。
【００５１】
電子制御装置３１は、ゲートウェイ２０から復旧用ファームウェアを受信すると、受信した復旧用ファームウェアを実行する（ステップＳ１１３）。つまり、電子制御装置３１は、通常ファームウェア又は縮退ファームウェアで再起動し、改ざんされていない通常モード又は縮退モードで動作する。そして、制御システム１は、電子制御装置３１が復旧用ファームウェアで起動したことを確認すると、復旧動作を終了する。
【００５２】
以上のように、第１実施形態に係る制御システム１は、改ざん検出動作と復旧動作とを実行することが出来る。制御システム１は、例えば改ざん検出動作を定期的に実行する。また、改ざん検出動作は、ユーザの操作に基づいて実行されても良い。
【００５３】
尚、以上の説明では、ＥＣＵセット３０内の電子制御装置３１を対象とした改ざん検出動作及び復旧動作が実行される場合について例示したが、改ざん検出動作及び復旧動作は、ＥＣＵセット３０内のその他の電子制御装置を対象とした場合にも実行され得る。
【００５４】
また、ステップＳ１０３の処理において、機器の認証とファームウェアの要求とが同時に行われる場合について例示したが、ゲートウェイ２０は、機器の認証が完了した後にファームウェアの配信を要求しても良い。メモリシステム１０及びゲートウェイ２０間の機器の認証では、ゲートウェイ２０が実行されているファームウェアが正規のものであるか否かによって認証の成否を決める場合について例示したが、その他の認証方法が使用されても良い。例えば、メモリシステム１０及びゲートウェイ２０間の機器の認証は、アカウントにより行われても良い。この場合、Ｓｈａｄｏｗ−ＭＢＲ領域１９へのアクセスが許可されるゲートウェイ２０のアカウントは、制御システム１の通常動作時に使用されるアカウントと異なるアカウントが設定される。
【００５５】
［１−３］第１実施形態の効果
以上で説明した第１実施形態に係る制御システム１に依れば、安全性を向上させることが出来る。以下に、第１実施形態の効果の詳細について説明する。
【００５６】
例えば、自動車の制御系が電子制御される場合、各制御系に対応して電子制御装置が設けられる。これらの電子制御装置は、ゲートウェイに接続される。そして、自動車は、各制御系を制御する電子制御装置がゲートウェイを介して相互に連携することによって動作する。このような電子制御装置及びゲートウェイによって構成されるネットワークを有する自動車は、電子制御装置が実行しているソフトウェアが改ざんされると正常に動作しなくなるおそれがある。
【００５７】
これに対して、第１実施形態に係る制御システム１では、ゲートウェイ２０が、改ざん検出動作によって定期的に電子制御装置の状態を確認する。そして、ゲートウェイ２０は、改ざん検出動作によって電子制御装置に異常が発生していることを確認すると、当該電子制御装置を対象とした復旧動作を実行する。復旧動作では、異常が発生している電子制御装置が、ゲートウェイ２０から受け取った復旧用ファームウェアを実行することによって、異常な状態から正常な状態に回復することが出来る。
【００５８】
このような復旧動作用のファームウェアの格納場所としては、例えばメモリシステム１０内の通常領域１８が考えられる。しかしながら、通常領域１８は、通常動作時においてアクセス可能であるため、ゲートウェイ２０が改ざんされた場合に、復旧動作用のファームウェアが悪用されるおそれがある。
【００５９】
これに対して、第１実施形態に係る制御システム１は、復旧動作に使用されるファームウェア、すなわちゲートウェイ２０に対応する特殊ファームウェアと、電子制御装置３１に対応する診断ファームウェアとの組を、メモリシステム１０内のＳｈａｄｏｗ−ＭＢＲ領域１９に格納する。Ｓｈａｄｏｗ−ＭＢＲ領域１９は、メモリシステム１０及びゲートウェイ２０間の相互認証後にアクセス可能となり、例えばＳｈａｄｏｗ−ＭＢＲソフトによる起動の際に使用されるゲートウェイ２０のアカウントが、通常動作時と異なっている。
【００６０】
このように、第１実施形態に係る制御システム１では、復旧動作に使用されるファームウェアが、通常動作時においてアクセス権限が付与されない領域に格納されている。このため、第１実施形態に係る制御システム１は、通常動作時にゲートウェイ２０が改ざんされた場合においても、Ｓｈａｄｏｗ−ＭＢＲ領域１９に格納された特殊ファームウェア及び診断ファームウェアが悪用されるおそれが無い。従って、第１実施形態に係る制御システム１は、安全性を向上させることが出来る。
【００６１】
また、メモリシステム１０内のＳｈａｄｏｗ−ＭＢＲ領域１９は、ゲートウェイ２０内のＲＯＭ２２よりも低コストで記憶容量を大きくすることが出来る。このため、Ｓｈａｄｏｗ−ＭＢＲ領域１９は、復旧用のファームウェア（特殊ファームウェア及び診断ファームウェア）を余裕を持って格納することが出来、ゲートウェイ２０内のＲＯＭ２２に格納するデータの容量を削減することが出来る。
【００６２】
尚、第１実施形態に係る制御システム１と同様の動作は、既存のハードウェアのソフトウェアを更新することによって実行され得る。つまり、第１実施形態に係る制御システム１は、Ｓｈａｄｏｗ−ＭＢＲソフトを更新し、Ｓｈａｄｏｗ−ＭＢＲ領域に特殊ファームウェア及び診断ファームウェアを格納することによって実現され得る。
【００６３】
［２］第２実施形態
第２実施形態に係る制御システム１は、ウォッチドッグを用いて、第１実施形態で説明した改ざん検出動作をゲートウェイ２０に実行させる。以下に、第２実施形態に係る制御システム１について、第１実施形態と異なる点を説明する。
【００６４】
［２−１］構成
図７は、第２実施形態に係る制御システム１の構成例を示している。第２実施形態に係る制御システム１は、第１実施形態に係る制御システム１の構成に加えて、ウォッチドッグ４０をさらに備えている。
【００６５】
ウォッチドッグ４０は、メモリシステム１０及びゲートウェイ２０のそれぞれに接続され、制御システム１が正常に動作しているかどうかを監視する。具体的には、ウォッチドッグ４０は、ゲートウェイ２０が正常に動作しているかどうかを定期的に監視する。そして、ウォッチドッグ４０は、ゲートウェイ２０を監視した結果に基づいて、メモリシステム１０に対して復旧動作の開始を命令する。
【００６６】
第２実施形態に係る制御システム１のその他の構成は、第１実施形態に係る制御システム１の構成と同様のため、説明を省略する。
【００６７】
［２−２］動作
次に、第２実施形態に係る制御システム１における改ざん検出動作と復旧動作との詳細について説明する。尚、第２実施形態に係る制御システム１における動作の説明では、ＥＣＵセット３０内の電子制御装置３１を対象とした改ざん検出動作と復旧動作とが実行される場合について例示する。
【００６８】
図８は、第２実施形態に係る制御システム１における改ざん検出動作のフローを示している。第２実施形態における改ざん検出動作は、ゲートウェイ２０、電子制御装置３１、及びウォッチドッグ４０によって実行される。
【００６９】
具体的には、まずウォッチドッグ４０が、改ざん検出動作の実行をゲートウェイ２０に指示する（ステップＳ２１）。すると、ゲートウェイ２０は、ウォッチドッグ４０の指示に基づいて、第１実施形態と同様の改ざん検出動作を実行する。すなわち、第１実施形態で説明したステップＳ１１〜Ｓ１４の処理が順に実行され、適宜ステップＳ１５の処理が実行される。
【００７０】
改ざん検出動作が終了すると、ゲートウェイ２０は、動作結果をウォッチドッグ４０に通知する（ステップＳ２２）。ウォッチドッグ４０は、動作結果を電子制御装置３１から受信すると、通知内容を確認する（ステップＳ２３）。通知内容の確認では、少なくともウォッチドッグ４０の指示に基づいたゲートウェイ２０の応答が正常か否かが判断出来れば良く、任意の確認方法が使用され得る。例えば、通知内容の確認では、改ざんチェック情報と同様の相互認証が実行されても良いし、改ざん検出動作の結果が確認されても良い。
【００７１】
ウォッチドッグ４０は、制御システム１に異常が発生していないと判断した場合、すなわちゲートウェイ２０が正常に動作している場合（ステップＳ２４、ＹＥＳ）に、改ざん検出動作を終了する。尚、改ざん検出動作が終了した後にウォッチドッグ４０は、一定の間隔で改ざん検出動作の実行をゲートウェイ２０に指示する。
【００７２】
一方で、ウォッチドッグ４０は、制御システム１に異常が発生していると判断した場合、すなわちゲートウェイ２０が正常に動作していない場合（ステップＳ２４、ＮＯ）に、続けて復旧動作を実行する（ステップＳ２５）。
【００７３】
図９は、第２実施形態に係る制御システム１における復旧動作のフローを示している。第２実施形態における復旧動作では、第１実施形態と同様の復旧動作がウォッチドッグ４０を起点として開始される。
【００７４】
具体的には、まずウォッチドッグ４０が、メモリシステム１０に対してゲートウェイ２０の復旧モードによる起動を要求する（ステップＳ２０１）。それから、ステップＳ１０２〜Ｓ１０５の処理が順に実行されることによって、ゲートウェイ２０が復旧モードで起動する。第２実施形態に係る制御システム１におけるステップＳ１０５以降の動作は、第１実施形態で説明した復旧動作と同様のため、説明を省略する。
【００７５】
以上のように、第２実施形態に係る制御システム１は、ウォッチドッグ４０を起点として改ざん検出動作と復旧動作とを実行する。ウォッチドッグ４０は、改ざん検出動作をゲートウェイ２０に対して定期的に実行させ、必要に応じてメモリシステム１０に対して復旧動作を開始させる。
【００７６】
尚、以上の説明では、ＥＣＵセット３０内の電子制御装置３１を対象とした改ざん検出動作及び復旧動作が実行される場合について例示したが、ウォッチドッグ４０の指示に基づいた改ざん検出動作及び復旧動作は、ＥＣＵセット３０内のその他の電子制御装置を対象とした場合にも実行され得る。
【００７７】
また、ステップＳ２２の処理において、ゲートウェイ２０の通知内容をウォッチドッグ４０が確認することによって、ゲートウェイ２０が正常に動作しているかどうかを判断する場合について例示したが、これに限定されない。例えば、ウォッチドッグ４０は、ステップＳ２１の処理において改ざん検出動作の実行指示をした後に、所定の期間においてゲートウェイ２０からの応答が無い場合にゲートウェイ２０が正常に動作していないと判断しても良い。この場合、ウォッチドッグ４０は、ゲートウェイ２０からの応答を待たずに復旧動作の実行を開始する。また、ウォッチドッグ４０は、ゲートウェイ２０に定期的に信号を送らせることによって、ゲートウェイ２０が正常に動作しているかどうかを判断しても良い。この場合、ウォッチドッグ４０が、一定周期でゲートウェイ２０からの信号を受信できなかった場合に、ゲートウェイ２０が異常な状態であると判断する。
【００７８】
［２−３］第２実施形態の効果
制御システム１においてゲートウェイ２０が改ざんされている場合、改ざん検出動作がスキップされるおそれがある。この場合に制御システム１は、改ざんされた電子制御装置３１を復旧させることが出来なくなり、自動車等が正常に動作しなくなる可能性がある。
【００７９】
これに対して、第２実施形態に係る制御システム１は、ウォッチドッグ４０をさらに備えている。ウォッチドッグ４０は、定期的にゲートウェイ２０に対して電子制御装置３１の改ざん検出動作の実行を指示する。そして、ウォッチドッグ４０は、指示を出してから所定の期間内にゲートウェイ２０から応答があるかどうかを確認する。
【００８０】
これにより、第２実施形態に係る制御システム１は、ゲートウェイ２０に異常が発生しているかどうかを検知することが出来る。さらに、ゲートウェイ２０が改ざんされていた場合においても、ウォッチドッグ４０がゲートウェイ２０を強制的にＳｈａｄｏｗ−ＭＢＲソフトによってゲートウェイ２０を再起動させ、ゲートウェイ２０を正常に動作させることが出来る。その結果、第２実施形態に係る制御システム１は、電子制御装置３１に対する復旧動作を実行することが出来る。従って、第２実施形態に係る制御システム１は、第１実施形態よりも制御システム１の信頼性を向上することが出来る。
【００８１】
［３］第３実施形態
第３実施形態に係る制御システム１の構成は、第１実施形態に係る制御システム１と同様である。第３実施形態に係る制御システム１は、特定の電子制御装置における改ざん検出動作の結果に基づいて、他の電子制御装置における改ざん検出動作を開始する。以下に、第３実施形態に係る制御システム１について、第１及び第２実施形態と異なる点を説明する。
【００８２】
［３−１］動作
図１０は、第３実施形態に係る制御システム１における改ざん検出動作のフローを示している。第３実施形態における改ざん検出動作では、第１実施形態における改ざん検出動作に対して、改ざん検出動作の対象である電子制御装置３１の復旧動作の後に、他の電子制御装置３２を対象とした改ざん検出動作が挿入されている。
【００８３】
具体的には、まず第１実施形態と同様に、ステップＳ１１〜Ｓ１３の処理が順に実行される。そして、電子制御装置３１が正常に動作している場合（ステップＳ１４、ＮＯ）。ゲートウェイ２０は、改ざん検出動作を終了する。一方で、電子制御装置３１が正常に動作していない場合（ステップＳ１４、ＹＥＳ）、ゲートウェイ２０は、通信用の電子制御装置３１を対象とした復旧動作を実行する（ステップＳ３１）。
【００８４】
ステップＳ３１における復旧動作の詳細は、第１実施形態で説明したステップＳ１５における復旧動作と同様のため、説明を省略する。ステップＳ３１における復旧動作が終了すると、ゲートウェイ２０は、続けて制御用の電子制御装置３２を対象とした改ざん検出動作を実行する（ステップＳ３２）。ステップＳ３２における改ざん検出動作の詳細は、第１実施形態で説明した改ざん検出動作と同様のため、説明を省略する。
【００８５】
尚、ＥＣＵセット３０が複数の制御用ＥＣＵを含んでいる場合、ゲートウェイ２０は、通信用ＥＣＵを対象とした復旧動作を実行した後に、複数の制御用ＥＣＵのそれぞれを選択した改ざん検出動作を順に実行しても良い。通信用ＥＣＵを対象とした復旧動作の後に改ざん検出動作が実行される制御用ＥＣＵは、任意に選択され得る。
【００８６】
［３−２］第３実施形態の効果
車載される制御システム１は、例えば通信用の電子制御装置３１と制御用の電子制御装置３２とを備えている。このような制御システム１において、通信用の電子制御装置３１は外部のネットワークと通信可能に構成されるため、不正にアクセスされ、改ざんされる危険性が高い。言い換えると、通信用の電子制御装置３１は、外部からの攻撃を受ける可能性が高い。また、通信用の電子制御装置３１が改ざんされている場合、その他の制御用の電子制御装置３２が改ざんされている可能性が高い。
【００８７】
これに対して、第３実施形態に係る制御システム１は、通信用の電子制御装置３１を対象とした改ざん検出動作を優先的に実行する。そして、第３実施形態に係る制御システム１は、通信用の電子制御装置３１を対象とした復旧動作が実行された場合に、続けて制御用の電子制御装置３２を対象とした改ざん検出動作を実行する。つまり、第３実施形態に係る制御システム１は、改ざんされている可能性が高い制御用の電子制御装置３２に対して、迅速に改ざん検出動作を実行する。
【００８８】
これにより、第３実施形態に係る制御システム１は、システム全体で発生している異常を短期間で検出することが出来る。その結果、第３実施形態に係る制御システム１は、改ざんされている又は異常が発生している電子制御装置を短期間で復旧することが出来、制御システム１の安全性を向上することが出来る。
【００８９】
［４］第４実施形態
第４実施形態に係る制御システム１は、正常に動作しない電子制御装置に割り当てられた動作を、他の電子制御装置に割り当てる復旧動作を実行する。以下に、第４実施形態に係る制御システム１について、第１〜第３実施形態と異なる点を説明する。
【００９０】
［４−１］構成
第４実施形態では、制御システム１が自動車５０を制御する場合について例示する。図１１は、第４実施形態に係る制御システム１の構成例を示している。図１２は、第４実施形態に係る制御システム１によって制御される自動車５０の構成例を示している。
【００９１】
第４実施形態に係る制御システム１は、第１実施形態に係る制御システム１の構成に対して、複数の制御用の電子制御装置３２が追加された構成を有している。具体的には、第４実施形態に係る制御システム１においてＥＣＵセット３０は、電子制御装置３１、３２Ａ、３２Ｂ、３２Ｃ、及び３２Ｄを備えている。第４実施形態に係る制御システム１によって制御される自動車５０は、エンジン５１、空調５２、窓＜１＞５３、及び窓＜２＞５４を備えている。
【００９２】
電子制御装置３２Ａ、３２Ｂ、３２Ｃ、及び３２Ｄのそれぞれは、ゲートウェイ２０に接続されている。電子制御装置３２Ａは、エンジン５１の制御に対応するファームウェアを実行したＥＣＵである。電子制御装置３２Ｂは、空調５２の制御に対応するファームウェアを実行したＥＣＵである。電子制御装置３２Ｃは、窓＜１＞５３の制御に対応するファームウェアを実行したＥＣＵである。電子制御装置３２Ｄは、窓＜２＞５４の制御に対応するファームウェアを実行したＥＣＵである。
【００９３】
以上のように、本例における自動車５０では、エンジン５１、空調５２、窓＜１＞５３、及び窓＜２＞５４が、それぞれ電子制御装置３２Ａ、３２Ｂ、３２Ｃ、及び３２Ｄによって制御される。第４実施形態に係る制御システム１のその他の構成は、第１実施形態に係る制御システム１の構成と同様のため、説明を省略する。尚、自動車５０が制御システム１によって制御される構成は以上で説明した構成に限定されず、その他の構成が制御システム１によって制御されても良い。
【００９４】
［４−２］動作
図１３は、第４実施形態に係る制御システム１における復旧動作のフローを示している。尚、以下の説明では、電子制御装置３２Ｃが故障した状態、且つ電子制御装置３２Ｄが正常な状態であり、復旧動作が電子制御装置３２Ｃを対象として実行される場合について例示する。
【００９５】
まず、第１実施形態と同様に、ステップＳ１０１〜Ｓ１０８の処理が順に実行される。つまり、ゲートウェイ２０がＳｈａｄｏｗ−ＭＢＲソフトで起動し、電子制御装置３２Ｃがゲートウェイ２０を介してメモリシステム１０内のＳｈａｄｏｗ−ＭＢＲ領域１９から転送された診断ファームウェアに基づいて自己診断動作を実行する。そして、ゲートウェイ２０は、自己診断動作による診断結果を電子制御装置３２Ｃから受信すると、診断結果を確認する（ステップＳ１０９）。
【００９６】
ステップＳ１０９の処理において、ゲートウェイ２０は、電子制御装置３２Ｃが故障していることを把握する。すると、ゲートウェイ２０は、補助用ファームウェアの配信をメモリシステム１０に要求する（ステップＳ４０１）。本例において、補助用ファームウェアは、当該ファームウェアの配信先である電子制御装置３２Ｄに割り当てられていた制御機能と、故障した電子制御装置３２Ｃに割り当てられていた制御機能とを含むファームウェアである。つまり、補助用ファームウェアを実行する電子制御装置では、補助用ファームウェア実行前の状態に対して、故障した電子制御装置が制御していた機能が追加される。
【００９７】
補助用ファームウェアの配信が要求されると、メモリシステム１０は、通常領域１８に格納された補助用ファームウェアをゲートウェイ２０に配信する（ステップＳ４０２）。それから、ゲートウェイ２０が、メモリシステム１０から配信された補助用ファームウェアを、電子制御装置３２Ｄに配信する（ステップＳ４０３）。
【００９８】
電子制御装置３２Ｄは、ゲートウェイ２０から補助用ファームウェアを受信すると、受信した補助用ファームウェアを実行する（ステップＳ４０４）。補助用ファームウェアを実行した電子制御装置３２Ｄは、電子制御装置３２Ｄが制御していた機器と、電子制御装置３２Ｃが制御していた機器との両方の機器の制御を開始する。そして、制御システム１は、電子制御装置３２Ｄが補助用ファームウェアで起動したことを確認すると、復旧動作を終了する。
【００９９】
図１４は、図１３を用いて説明した復旧動作を実行した後における、制御システム１と自動車５０との関係を示している。本例において、電子制御装置３２Ｃによって制御されていた窓＜１＞５３は、電子制御装置３２Ｄによって制御される。つまり、電子制御装置３２Ｄは、窓＜１＞及び窓＜２＞の両方を制御する電子制御装置として動作する。
【０１００】
尚、以上の説明では、電子制御装置３２Ｄが、補助用ファームウェアを実行することによって窓＜１＞及び窓＜２＞を制御する場合について例示したが、これに限定されない。補助用ファームウェアを実行する電子制御装置には、正常な電子制御装置が選択されていれば良い。正常な電子制御装置としては、例えば所定の期間において異常が検出されなかった電子制御装置が選択される。
【０１０１】
［４−３］第４実施形態の効果
制御システム１において電子制御装置が故障した場合、当該電子制御装置に割り当てられた機器を動かせなくなるおそれがある。
【０１０２】
そこで、第４実施形態に係る制御システム１では、異常が発生した電子制御装置３２に割り当てられていた制御を、他の正常な電子制御装置３２に負担させる。言い換えると、第４実施形態に係る制御システム１は、異常が発生した制御用の電子制御装置３２に制御させていた機器を、他の電子制御装置３２を用いて制御させる。
【０１０３】
これにより、第４実施形態に係る制御システム１では、電子制御装置３２に異常が発生した場合においても、当該電子制御装置３２に割り当てられた機器を動かすことが可能となる。その結果、第４実施形態に係る制御システム１は、以上が発生した電子制御装置３２に対応する機器が制御できなくなることを回避することが出来、制御システム１の安全性を向上することが出来る。
【０１０４】
尚、以上の説明では、１つ機器の制御が割り当てられた電子制御装置３２が、補助用ファームウェアを実行することによって２つの機器を制御する場合について例示したが、１つの電子制御装置３２が制御する機器の数は３つ以上であっても良い。複数の機器を制御する電子制御装置３２は、負荷が大きくなることによって処理が遅くなる可能性がある。このため、異常が発生した電子制御装置３２に割り当てられていた制御は、処理に余裕のある電子制御装置３２に負担させることが好ましい。例えば、自動車において、エンジンの制御系を担当する電子制御装置３２に対しては、複数の制御系を制御させるファームウェアを実行させないことが好ましい。
【０１０５】
また、以上の説明では、補助用ファームウェアが２種類の機器を制御する機能を含むファームウェアである場合を例に説明したが、これに限定されない。第４実施形態に係る制御システム１では、補助用ファームウェアが、異常が発生した電子制御装置に割り当てられた機器を制御する機能を含み、当該機能が補助用ファームウェアを実行した電子制御装置に追加されても良い。
【０１０６】
［５］第５実施形態
第５実施形態に係る制御システム１は、正常に動作しない電子制御装置に割り当てられた動作を、予備の電子制御装置に割り当てる復旧動作を実行する。以下に、第５実施形態に係る制御システム１について、第１〜第４実施形態と異なる点を説明する。
【０１０７】
［５−１］構成
図１５は、第５実施形態に係る制御システム１の構成例を示している。第５実施形態に係る制御システム１は、第４実施形態に係る制御システム１に対して、電子制御装置３２Ｒが追加された構成を有している。
【０１０８】
電子制御装置３２Ｒは、予備のＥＣＵである。電子制御装置３２Ｒは、他の電子制御装置と同様に、ファームウェアを実行することによって、当該ファームウェアに対応する機器を制御することが出来る。つまり、電子制御装置３２Ｒは、ＥＣＵセット３０内に異常が発生した電子制御装置が含まれない場合には使用されない。一方で、電子制御装置３２Ｒは、ＥＣＵセット３０内に異常が発生した電子制御装置が含まれる場合に、異常が発生した電子制御装置の代わりに使用される。第５実施形態に係る制御システム１のその他の構成は、第４実施形態に係る制御システム１の構成と同様のため、説明を省略する。
【０１０９】
［５−２］動作
図１６は、第５実施形態に係る制御システム１における復旧動作のフローを示している。尚、以下の説明では、電子制御装置３２Ｂが故障した状態であり、復旧動作が電子制御装置３２Ｂに対して実行される場合について例示する。
【０１１０】
まず、第１実施形態と同様に、ステップＳ１０１〜Ｓ１０８の処理が順に実行される。つまり、ゲートウェイ２０がＳｈａｄｏｗ−ＭＢＲソフトで起動し、電子制御装置３２Ｂがゲートウェイ２０を介してメモリシステム１０内のＳｈａｄｏｗ−ＭＢＲ領域１９から転送された診断ファームウェアに基づいて自己診断動作を実行する。そして、ゲートウェイ２０は、自己診断動作による診断結果を電子制御装置３２Ｂから受信すると、診断結果を確認する（ステップＳ１０９）。
【０１１１】
ステップＳ１０９の処理において、ゲートウェイ２０は、電子制御装置３２Ｂが故障していることを把握する。すると、ゲートウェイ２０は、代替用ファームウェアの配信をメモリシステム１０に要求する（ステップＳ５０１）。本例において、代替用ファームウェアは、電子制御装置３２Ｂに割り当てられていた制御機能を含む通常ファームウェア又は縮退ファームウェアである。
【０１１２】
代替用ファームウェアの配信が要求されると、メモリシステム１０は、通常領域１８に格納された代替用ファームウェアをゲートウェイ２０に配信する（ステップＳ５０２）。それから、ゲートウェイ２０が、メモリシステム１０から配信された代替用ファームウェアを、電子制御装置３２Ｒに配信する（ステップＳ５０３）。
【０１１３】
電子制御装置３２Ｒは、ゲートウェイ２０から代替用ファームウェアを受信すると、受信した代替用ファームウェアを実行する（ステップＳ５０４）。代替用ファームウェアを実行した電子制御装置３２Ｒは、電子制御装置３２Ｂが制御していた機器の制御を開始する。そして、制御システム１は、電子制御装置３２Ｒが代替用ファームウェアで起動したことを確認すると、復旧動作を終了する。
【０１１４】
図１７は、図１６を用いて説明した復旧動作を実行した後における、制御システム１と自動車５０との関係を示している。本例において、電子制御装置３２Ｂによって制御されていた空調５２は、電子制御装置３２Ｒによって制御される。つまり、電子制御装置３２Ｒは、空調制御ＥＣＵとして動作する。
【０１１５】
［５−３］第５実施形態の効果
以上のように、第５実施形態に係る制御システム１において、予備の電子制御装置３２Ｒは、実行するファームウェアに応じてその他の電子制御装置３２と同様に動作することが可能なように構成される。そして、第５実施形態に係る制御システム１は、異常が発生した制御用の電子制御装置３２に制御させていた機器を、予備の電子制御装置３２Ｒを用いて制御させる。
【０１１６】
その結果、第５実施形態に係る制御システム１では、電子制御装置３２に異常が発生した場合においても、当該電子制御装置３２に割り当てられた機器を予備の電子制御装置３２によって動かすことが可能となる。その結果、第５実施形態に係る制御システム１は、異常が発生した電子制御装置３２に対応する機器が制御できなくなることを回避することが出来、制御システム１の安全性を向上することが出来る。
【０１１７】
［６］変形例等
実施形態のメモリシステム＜例えば、図２の符号１０＞は、第１記憶領域と、第２記憶領域と、コントローラとを含む。第１記憶領域＜例えば、図２の符号１８＞は、外部の電子制御装置に対応する第１ファームウェア＜例えば、図２の通常ＦＷ＞を格納する。第２記憶領域＜例えば、図２の符号１９＞は、外部のゲートウェイに対応する第２ファームウェア＜例えば、図２の特殊ＦＷ＞と、電子制御装置に対応する第３ファームウェア＜例えば、図２の診断ＦＷ＞とを格納する。ゲートウェイが第１ソフトウェアで起動した場合に、ゲートウェイは第１記憶領域にアクセス可能、且つ第２記憶領域にアクセス不可能に設定される。ゲートウェイが第２ソフトウェアで起動した場合に、ゲートウェイは第１記憶領域及び第２記憶領域にアクセス可能に設定される。コントローラは、ゲートウェイから受信した第１命令に基づいて、第２ファームウェア及び第３ファームウェアをゲートウェイに送信する。コントローラは、第２ファームウェア及び前記第３ファームウェアをゲートウェイに送信した後に、ゲートウェイから受信した第２命令に基づいて、第１ファームウェアをゲートウェイに送信する。これにより、第１実施形態におけるメモリシステム１０は、安全性を向上させることが出来る。
【０１１８】
上記実施形態では、ゲートウェイ２０及び電子制御装置３１及び３２のそれぞれがファームウェアを実行することによって、復旧動作における各種動作を実行する場合について例示したが、これに限定されない。例えば、ゲートウェイ２０並びに電子制御装置３１及び３２は、ＦＰＧＡイメージによって動作しても良い。この場合、メモリシステム１０の通常領域１８及びＳｈａｄｏｗ−ＭＢＲ領域のそれぞれは、ＦＰＧＡイメージを格納する。そして、復旧動作において、各ファームウェアに対応するＦＰＧＡイメージが、適宜メモリシステム１０からゲートウェイ２０に配信される。
【０１１９】
上記実施形態では、メモリシステム１０がＳＳＤである場合について例示されたが、メモリシステム１０はその他の記憶装置であっても良い。通常の記憶領域と、Ｓｈａｄｏｗ−ＭＢＲ領域に相当する記憶領域とを有するメモリシステム１０であれば、上記実施形態で説明した動作を実行することが可能である。
【０１２０】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことが出来る。これら実施形態やその変形は、発明の範囲や要旨に含まれると共に、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【０１２１】
１…制御システム、１０…メモリシステム、２０…ゲートウェイ、１１…メモリコントローラ、１２…半導体記憶装置、１３…ＣＰＵ、１４…ホストインターフェイス回路、１５…ＲＯＭ、１６…ＲＡＭ、１７…ＮＡＮＤインターフェイス回路、１８…通常領域、１９…Ｓｈａｄｏｗ−ＭＢＲ領域、２１…ＣＰＵ、２２…ＲＯＭ、２３…ＲＡＭ、２４…通信コントローラ、３０…ＥＣＵセット、３１，３２…電子制御装置、３３…ＣＰＵ、３４…ＲＯＭ、３５…ＲＡＭ、３６…通信コントローラ、３７…外部通信コントローラ
【図１】
2020154540.tif 000003
【図２】
2020154540.tif 000004
【図３】
2020154540.tif 000005
【図４】
2020154540.tif 000006
【図５】
2020154540.tif 000007
【図６】
2020154540.tif 000008
【図７】
2020154540.tif 000009
【図８】
2020154540.tif 000010
【図９】
2020154540.tif 000011
【図１０】
2020154540.tif 000012
【図１１】
2020154540.tif 000013
【図１２】
2020154540.tif 000014
【図１３】
2020154540.tif 000015
【図１４】
2020154540.tif 000016
【図１５】
2020154540.tif 000017
【図１６】
2020154540.tif 000018
【図１７】
2020154540.tif 000019