(57)【要約】【課題】  メモリエラーが発生しても制御を継続できる制御装置を提供する。【解決手段】  データが書き込まれたRAM111と、RAM111から読み出されるデータのエラーを検出するECCエラー訂正／異常検出部111bと、データエラーが発生したアドレスを記憶するアドレス情報記憶部111cと、RAM111から読み出されたデータを受信するコア112と、備え、データはRAM111内の異なるアドレスに冗長的に書き込まれ、読み出されるデータは冗長的に書き込まれたデータの１つであり、ECCエラー訂正／異常検出部111bによりエラーが検出されると、コア112は冗長的に書き込まれた異なるアドレスのデータに基づくデータを受信する。【選択図】  図２
2017049791.tif 000002
【特許請求の範囲】
【請求項１】
データが書き込まれたメモリと、
前記メモリから読み出されるデータのエラーを検出するエラー検出部と、
データエラーが発生したアドレスを記憶するアドレス情報記憶部と、
前記メモリから読み出されたデータを受信するコアと、
備え、
前記データは前記メモリ内の異なるアドレスに冗長的に書き込まれ、前記読み出されるデータは前記冗長的に書き込まれたデータの１つであり、
前記エラー検出部によりエラーが検出されると、前記コアは前記冗長的に書き込まれた異なるアドレスのデータに基づくデータを受信することを特徴とする制御装置。
【請求項２】
請求項１に記載の制御装置において、
前記コアは、前記異なるアドレスのデータに基づき訂正されたデータを受信することを特徴とする制御装置。
【請求項３】
請求項２に記載の制御装置において、
前記冗長的に書き込まれたデータは、互いに離れたアドレスに書き込まれていることを特徴とする制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御装置に関する。
【背景技術】
【０００２】
特許文献１には、エラー訂正符号（Error Correction Code：ECC）により訂正不可能な2bit以上のメモリエラーが検出された場合、制御装置をリセットする技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開2014-035730号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記従来技術にあっては、制御装置が再起動されるまで機能が停止するという問題があった。
本発明の目的は、メモリエラーが発生しても制御を継続できる制御装置を提供することにある。
【課題を解決するための手段】
【０００５】
本発明では、データのエラーが検出されると、コアは冗長的に書き込まれた異なるアドレスのデータに基づくデータを受信する。
【発明の効果】
【０００６】
よって、メモリエラーが発生しても制御を継続できる。
【図面の簡単な説明】
【０００７】
【図１】実施例１のブレーキ制御装置のシステム図である。
【図２】電子制御装置1のブロック図である。
【図３】マイクロコントローラ11の動作例を示す図である。
【図４】データ書き込み処理の流れを示すフローチャートである。
【図５】同一データの関連付け方法の一例である。
【図６】RAM111のエラー検出からエラー訂正に至るまでの処理の概要を示す図である。
【図７】RAMリード／エラー検出処理の流れを示すフローチャートである。
【図８】データ訂正処理の流れを示すフローチャートである。
【発明を実施するための形態】
【０００８】
〔実施例１〕
図１は、実施例１のブレーキ制御装置のシステム図である。
電子制御装置1は、液圧制御ユニット2を介して各輪3FL,3FR,3RL,3RRに設けられたディスク式のブレーキ作動ユニット4FL,4FR,4RL,4RRにブレーキ液を供給し、ブレーキ液圧を発生させることで、各輪3FL,3FR,3RL,3RRに制動力を付与する。電子制御装置1は、各輪3FL,3FR,3RL,3RRに設けられた車輪速センサ5FL,5FR,5RL,5RRや図外のブレーキペダルストロークセンサ、ヨーレイトセンサ、横Gセンサ等からの信号に基づいて情報処理を行う。電子制御装置1は、情報処理の結果に応じて液圧制御ユニット2の駆動指令を生成する。液圧制御ユニット2は、駆動指令に応じて内蔵する複数の電磁弁およびポンプを作動し、各ブレーキ作動ユニット4FL,4FR,4RL,4RRのブレーキ液を供給する。電子制御装置1には、運転者のブレーキ操作力を軽減する倍力制御、アンチスキッドブレーキ制御、横滑り防止制御等を実行可能なプログラムが内蔵されている。
【０００９】
図２は、電子制御装置1のブロック図である。
電子制御装置1は、マイクロコントローラ11、リレー12、リレー13、ドライバ14およびドライバ15を有する。マイクロコントローラ11は、RAM（メモリ）111、コア112、ROM113、リセット処理部114および入出力ポート115を有する。これらは、バス116により相互に接続されている。マイクロコントローラ11は、ROM113に記憶されたプログラムをコア112が実行することにより各種処理を実行する。リレー12は、液圧制御ユニット2の電磁弁を作動するソレノイド21の電源ラインに設けられ、マイクロコントローラ11からの制御信号によりオン状態とオフ状態の一方に切り替えられる。リレー13は、液圧制御ユニット2のポンプを作動するモータ22の電源ラインに設けられ、マイクロコントローラ11からの制御信号によりオン状態とオフ状態の一方に切り替えられる。ドライバ14は、マイクロコントローラ11からの制御信号に応じてソレノイド21へ供給する電流を制御する。ドライバ14は電磁弁毎に設けられている。ドライバ15は、マイクロコントローラ11からの制御信号に応じてモータ22へ供給する電流を制御する。
【００１０】
RAM111は、データ記憶部111a、ECCエラー訂正／異常検出部（エラー検出部）111bおよびECCエラー情報記憶部111cを有する。データ記憶部111aは、通常のデータに加え、エラー訂正符号（Error Correction Code：ECC）によるRAM111のメモリエラーを診断するための診断用データが記憶される。この診断用データは、RAM111にデータを書き込む際、自動的に計算される。ECCエラー訂正／異常検出部111bは、RAM111からデータを読み出す際、読み出すデータとそれに対応した診断用データを比較してデータの診断を行い、診断結果をECCエラー情報記憶部111cに通知する。ECCエラー情報記憶部111cは、ECCエラー訂正／異常検出部111bがエラーを検出した際、エラーの種類（ECCにより訂正可能な1bitエラー or 訂正不可能な2bit以上のエラー）や、エラーが発生したアドレス情報を記憶する。さらにECCエラー情報記憶部111cは、エラーの種類に応じてコア112に対して割り込み要求を行うほか、リセット処理部114に対してマイコンリセットの要求を行う。
【００１１】
次に、実施例１のマイクロコントローラ11の動作例を説明する。なお、動作例の説明では、'データ1'にエラーが発生したことを想定し、エラー発生領域を'アドレス1'、データ訂正用データが格納された領域を'アドレスN1'とする。
まず、大まかな処理の流れを、図３を用いて説明する。
(a) データ書き込み処理
RAM111にデータを書き込む際、同一のデータを異なるアドレス（アドレス1とアドレスN1）に冗長で書き込む。アドレス1とアドレスN1は、物理的に離れた位置とする。
(b) RAMリード／エラー検出処理
RAM111からデータを読み出す際、ECCにてデータのエラーを検出する。図３のケースでは、アドレス1に2bitエラーを検出した。
(c) データ訂正処理
ECCによるエラー検出後、エラーが発生しているデータを、データ書き込み処理で冗長に書き込んだデータを利用して訂正する。図３のケースでは、アドレスN1に格納されているデータを利用し、アドレス1のデータを訂正する。
【００１２】
図４は、データ書き込み処理の流れを示すフローチャートである。
ステップS41では、データ1をアドレス1に書き込む。
ステップS42では、データ1をアドレスN1に書き込む。
ここで、データ訂正処理では、アドレス1で発生したエラーをアドレスN1のデータを用いた訂正するため、アドレス1とアドレスN1とが関連付けされた状態（同一のデータが格納された２つの領域がそれぞれ特定できる状態）である必要がある。図５は、関連付けの一例であり、非冗長データ領域を挟んで物理的な離れた２つの冗長データ領域にそれぞれデータ1、データ2、データ3、…を書き込む際、各データのオフセット量を規定することにより、同一のデータの関連付けを行うものである。その他、各データの関連付けを示したテーブルを予めROM113に記憶しておいてもよい。物理的に離れた位置（アドレス）にデータを格納することにより、共通の要因（例えば宇宙線、α線）によって冗長のデータが同時にエラーとなるのを抑制できる。
【００１３】
図６は、RAM111のエラー検出からエラー訂正に至るまでの処理の概要を示す図であり、'C'のデータにエラーが発生している場合を示している。図６に示すように、RAMリード／エラー検出処理は、全てハードウェアで実現され、RAM111からデータを読み出す際に、図７に示すRAMリード／エラー検出処理を実施する。また、データ訂正処理は、RAMリード／エラー検出処理からの割り込み要求に応じて図８に示すデータ訂正処理を実施する。
図７は、RAMリード／エラー検出処理の流れを示すフローチャートである。
ステップS71では、データ記憶部111aからデータを読み出す。
ステップS72では、ECCエラー訂正／異常検出部111bにおいて、データのチェックを実施し、データに異常なしであるかを判定する。YESの場合はステップS73へ進み、NOの場合はステップS74へ進む。データのチェックは、データ記憶部111aに格納されたデータと診断用データとの比較により行う。
ステップS73では、ステップS61で読み出したデータをそのままコア112に渡す。
ステップS74では、ECCでエラー訂正可能かを判定する。YESの場合はステップS75へ進み、NOの場合はステップS77へ進む。
ステップS75では、ECCエラー訂正／異常検出部111bにおいて、エラー訂正を実施する。
ステップS76では、エラー訂正後のデータをコア112に渡す。
ステップS77では、ECCエラー情報記憶部111cにエラーが発生しているアドレスを記憶する。
ステップS78では、コア112に対して割り込みを発生させ、データ訂正処理を実施する。
【００１４】
図８は、データ訂正処理の流れを示すフローチャートである。
ステップS81では、ECCエラー情報記憶部111cからエラーが発生しているアドレスを読み込む。
ステップS82では、読み込んだアドレス情報から、同一のデータが記憶されたアドレスを特定する。
ステップS83では、アドレスN1のデータをアドレス1にコピーする。
ステップS84では、割り込み処理からメイン処理（図７）への戻り先を、エラーを検出した処理の直前に戻す。
以上のように、実施例１では、RAM111にデータを書き込む際、同一のデータをミラーリングにより異なるアドレスに冗長で書き込む。そして、EECにより一方のデータのメモリエラーを検出した場合は、冗長で書き込んだもう一方のデータを用い、正常値に訂正する。これにより、EECエラーによるエラー訂正が不可能な2bit以上のエラーが発生した場合であっても、エラーの影響を受けることなくブレーキ制御装置の制御機能を継続でき、ブレーキ制御装置の信頼性を確保できる。さらに、ミラーリングの際、隣り合うアドレスではなく、離れた位置にデータを書き込むことで、宇宙線やα線等の共通の要因で冗長のデータが同時にエラーになるのを抑制できる。
【００１５】
実施例１にあっては、以下の効果を奏する。
(1) データが書き込まれたRAM111と、RAM111から読み出されるデータのエラーを検出するECCエラー訂正／異常検出部111bと、データエラーが発生したアドレスを記憶するアドレス情報記憶部111cと、RAM111から読み出されたデータを受信するコア112と、備え、データはRAM111内の異なるアドレスに冗長的に書き込まれ、読み出されるデータは冗長的に書き込まれたデータの１つであり、ECCエラー訂正／異常検出部111bによりエラーが検出されると、コア112は冗長的に書き込まれた異なるアドレスのデータに基づくデータを受信する。
よって、メモリエラーが発生しても冗長的に書き込まれた他のアドレスのデータを用いてブレーキ制御を継続できる。
(2) コア112は、異なるアドレスのデータに基づき訂正されたデータを受信する。
よって、正常なデータを用いてブレーキ制御を継続できる。
(3) 冗長的に書き込まれたデータは、互いに離れたアドレスに書き込まれている。
よって、データの同時エラーの発生を抑制できる。
【００１６】
〔他の実施例〕
以上、本発明を実施するための形態を実施例に基づいて説明したが、本発明の具体的な構成は実施例に示した構成に限定されるものではなく、発明の要旨を逸脱しない範囲の設計変更等があっても本発明に含まれる。
例えば、同一のデータを３つ以上のアドレスに書き込んでもよい。
【符号の説明】
【００１７】
111  RAM（メモリ）
111b  ECCエラー訂正／異常検出部（エラー検出部）
112  コア
【図１】
2017049791.tif 000003
【図２】
2017049791.tif 000004
【図３】
2017049791.tif 000005
【図４】
2017049791.tif 000006
【図５】
2017049791.tif 000007
【図６】
2017049791.tif 000008
【図７】
2017049791.tif 000009
【図８】
2017049791.tif 000010