(57)【要約】【課題】再起動時間を短縮できる情報処理システムを提供する。【解決手段】情報処理システム１は、第１演算装置１０と、第１演算装置１０とデータを通信する第２演算装置２０と、第２演算装置２０からデータを書き込む不揮発性メモリ３０と、を備える。第１演算装置１０は、電源オフ時、起動時に必要な記憶データを第２演算装置２０に転送してから停止する。第２演算装置２０は、転送された記憶データを不揮発性メモリ３０に書き込む。【選択図】図１
2017157116.tif 000002
【特許請求の範囲】
【請求項１】
第１演算装置と、
前記第１演算装置とデータを通信する第２演算装置と、
前記第２演算装置からデータを書き込む不揮発性メモリと、を備え、
前記第１演算装置は、電源オフ時、起動時に必要な記憶データを前記第２演算装置に転送してから停止し、
前記第２演算装置は、転送された前記記憶データを前記不揮発性メモリに書き込むことを特徴とする情報処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、２つの演算装置を備える情報処理システムに関する。
【背景技術】
【０００２】
起動時間が長いメインＣＰＵと、起動時間が短いサブマイコンとを備える情報処理システムにおいて、電源オン後、起動処理を行っているメインＣＰＵが、先に起動処理が完了したサブマイコンのメモリから起動に必要なデータを取得する技術が知られている（例えば、特許文献１参照）。これにより、システムの起動時間を短縮できる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００８−２８７３１７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、上記技術では、電源オフから電源オンまでの時間が短く、電源オフによる終了処理中に再度電源オンされる場合の再起動処理については考慮されていない。このような場合に、電源オンからメインＣＰＵの再起動が完了するまでの再起動時間を短縮することが望ましい。
【０００５】
本発明はこうした状況に鑑みてなされたものであり、その目的は、再起動時間を短縮できる情報処理システムを提供することにある。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、本発明のある態様の情報処理システムは、第１演算装置と、前記第１演算装置とデータを通信する第２演算装置と、前記第２演算装置からデータを書き込む不揮発性メモリと、を備える。前記第１演算装置は、電源オフ時、起動時に必要な記憶データを前記第２演算装置に転送してから停止する。前記第２演算装置は、転送された前記記憶データを前記不揮発性メモリに書き込む。
【０００７】
この態様によると、電源オフ時、第１演算装置が記憶データを不揮発性メモリに直接書き込んでから停止する場合と比較して、第１演算装置は、より短時間で停止できる。従って、電源オフ後、第１演算装置が停止する前に再度電源オンされた場合に、電源オンから第１演算装置の再起動が完了するまでの再起動時間を短縮できる。
【発明の効果】
【０００８】
本発明によれば、再起動時間を短縮できる。
【図面の簡単な説明】
【０００９】
【図１】一実施形態に係る情報処理システムの概略的な構成を示すブロック図である。
【図２】図２（ａ）は、図１の情報処理システムの起動時の動作を説明するタイミング図であり、図２（ｂ）は、比較例の情報処理システムの起動時の動作を説明するタイミング図である。
【図３】図１のサブマイコンの初回の起動時の処理を示すフローチャートである。
【図４】図１のサブマイコンの２回目以降の起動時の処理を示すフローチャートである。
【図５】図５（ａ）は、図１の情報処理システムの再起動時および終了時の動作を説明するタイミング図であり、図５（ｂ）は、比較例の情報処理システムの再起動時および終了時の動作を説明するタイミング図である。
【図６】図１のメインマイコンの終了時および再起動時の処理を示すフローチャートである。
【図７】図１のサブマイコンの終了時および再起動時の処理を示すフローチャートである
【図８】変形例に係る図１のサブマイコンの終了時の処理を示すフローチャートである。
【発明を実施するための形態】
【００１０】
図１は、一実施形態に係る情報処理システム１の概略的な構成を示すブロック図である。情報処理システム１は、メインマイコン（第１演算装置）１０と、サブマイコン（第２演算装置）２０と、不揮発性メモリ３０とを備える。以下では、情報処理システム１は、車両に搭載される車載システムである一例について説明するが、車載システムに限定されるものではない。また、車両は、ハイブリッド車、プラグインハイブリッド車または電気自動車であるとして説明するが、これら以外の車種であってもよい。
【００１１】
メインマイコン１０は、ブレーキペダルセンサ４０によりブレーキペダルの踏み込みが検知され、且つ、車両の車室内に設けられたスタートスイッチ４２が操作されてオンになると、補機バッテリ５０から電源が供給され、起動する。補機バッテリ５０は、例えば、鉛バッテリである。メインマイコン１０は、起動後、定常処理として、車両を制御するための主な処理を実行する。
【００１２】
サブマイコン２０は、バッテリ５２から電源が常時供給されている。バッテリ５２は、例えば、車両の走行用モータに電力を供給するバッテリである。このように、メインマイコン１０とサブマイコン２０は、互いに異なる電源に接続される。サブマイコン２０は、工場などでバッテリ５２に初めて接続された時、初回の起動処理を行い、起動後、所定の処理を行い、低消費電力のスタンバイ状態となる。サブマイコン２０は、バッテリ５２が接続されている限り、少なくともスタンバイ状態となっている。
【００１３】
スタンバイ状態のサブマイコン２０は、ブレーキペダルセンサ４０によりブレーキペダルの踏み込みが検知された場合、起動し、定常処理を行う。サブマイコン２０は、車両のドアが開かれた場合にも起動してもよい。このように、サブマイコン２０の起動処理は、メインマイコン１０の起動処理より先に開始される。サブマイコン２０は、定常処理として、車両を制御するための一部の処理を実行する。
【００１４】
サブマイコン２０は、バックアップＲＡＭ（Random Access memory）２２を有し、バックアップＲＡＭ２２に対してデータの書き込みおよび読み出しを行う。バックアップＲＡＭ２２は、不揮発性メモリ３０よりも記憶容量が少ない。また、バックアップＲＡＭ２２として揮発性メモリを用いてもよい。そのため、バックアップＲＡＭ２２は、不揮発性メモリ３０より高速に読み出しおよび書き込みが行える。また、バックアップＲＡＭ２２はサブマイコン２０に内蔵されていることからも、高速に読み出しおよび書き込みが行える。
【００１５】
サブマイコン２０は、例えばシリアル通信によってメインマイコン１０とデータを通信し、データを互いに共有する。
【００１６】
サブマイコン２０は、不揮発性メモリ３０に対してデータの書き込みおよび読み出しを行う。不揮発性メモリ３０は、例えば、フラッシュメモリ、ＥＰＲＯＭ、ＭＲＡＭまたはＦｅＲＡＭでもよい。
【００１７】
次に、情報処理システム１の起動時、終了時、および、再起動時の処理について説明する。
【００１８】
（起動時）
図２（ａ）は、図１の情報処理システム１の起動時の動作を説明するタイミング図である。サブマイコン２０は、バッテリ５２が接続されると（時刻ｔ１）、初回の起動処理を行う。サブマイコン２０は、初回の起動処理が終了すると（時刻ｔ２）、不揮発性メモリ３０から所定の記憶データを読み出し、この記憶データを内部のバックアップＲＡＭ２２に書き込む。記憶データは、メインマイコン１０のアプリの起動時に必要なデータである。
【００１９】
サブマイコン２０は、記憶データの読み出しおよび書き込みが終了すると（時刻ｔ３）、停止し、スタンバイ状態となる。バッテリ５２から電力が供給され続けるため、バックアップＲＡＭ２２として揮発性メモリを用いても、サブマイコン２０の停止中もバックアップＲＡＭ２２に記憶されたデータは保持される。
【００２０】
次に、ユーザによりブレーキペダルが踏み込まれると（時刻ｔ４）、サブマイコン２０は起動処理を行う。
次に、スタートスイッチ４２がオンになると（時刻ｔ５）、メインマイコン１０はシステムソフトウェアの起動処理を行う。
【００２１】
次に、スタートスイッチ４２がオンであり、且つ、自己の起動処理が終了すると（時刻ｔ６）、サブマイコン２０は、内部のバックアップＲＡＭ２２から記憶データを読み出す。サブマイコン２０は、記憶データの読み出しが終了すると（時刻ｔ７）、定常処理を行う。バックアップＲＡＭ２２の読み出し時間は、不揮発性メモリ３０の読み出し時間より短いため、読み出し完了までの待ち時間による起動の遅延を抑制できる。
【００２２】
次に、メインマイコン１０のシステムソフトウェアの起動処理が終了すると（時刻ｔ８）、サブマイコン２０は、記憶データをメインマイコン１０に送信する。メインマイコン１０は、サブマイコン２０から送信された記憶データを用いて、アプリＡ、アプリＢ、アプリＣ、アプリＤを順番に起動する。メインマイコン１０は、アプリＤの起動が終了すると（時刻ｔ９）、定常処理を行う。
【００２３】
これに対して、比較例の情報処理システムでは、図２（ｂ）に示すように、スタートスイッチがオンになり（時刻ｔ５）、自己のシステムソフトウェアの起動処理が終了すると、メインマイコンは、不揮発性メモリから各アプリの記憶データを読み出す。不揮発性メモリからの記憶データの読み出しは、本実施形態のようなサブマイコン２０からメインマイコン１０への記憶データの転送時間より長時間を要するため、アプリＡ、アプリＢ、アプリＣ、アプリＤが実行可能となるまでの時間も本実施形態より長くなる。よって、時刻ｔ５からｔ９ｘまでの全アプリが実行可能となるまでの時間が期間Ｔ１だけ本実施形態よりも長くなり、定常処理の開始が遅くなる。なお、比較例では、時刻ｔ４より前の時刻ｔ４ｘにてブレーキペダルが踏み込まれている。
【００２４】
従って、本実施形態では、スタートスイッチ４２がオンになってからアプリの起動が完了するまでの時間、即ちスタートスイッチ４２がオンになってからメインマイコン１０の起動が完了するまでの時間を比較例よりも短縮できる。
【００２５】
図３は、図１のサブマイコン２０の初回の起動時の処理を示すフローチャートである。サブマイコン２０は、バッテリ５２が接続されると（Ｓ１）、初回の起動処理を行い（Ｓ２）、不揮発性メモリ３０から記憶データを読み出す（Ｓ３）。
【００２６】
図４は、図１のサブマイコン２０の２回目以降の起動時の処理を示すフローチャートである。サブマイコン２０は、スタートスイッチ４２がオンになると（Ｓ１１）、バックアップＲＡＭ２２から記憶データを読み出し（Ｓ１２）、全データの読み出しが完了したか判定する（Ｓ１３）。読み出しが完了していない場合（Ｓ１３のＮ）、Ｓ１２に戻る。
【００２７】
読み出しが完了した場合（Ｓ１３のＹ）、サブマイコン２０は、メインマイコン１０のシステムソフトウェアの起動処理の完了を待ち、その間は定常処理を行う（Ｓ１４）。次に、サブマイコン２０は、メインマイコン１０のシステムソフトウェアの起動処理が完了したか判定し（Ｓ１５）、起動処理が完了していない場合（Ｓ１５のＮ）、Ｓ１４に戻る。起動処理が完了した場合（Ｓ１５のＹ）、サブマイコン２０は、メインマイコン１０に読み出した記憶データを送信する（Ｓ１６）。
【００２８】
（再起動時および終了時）
図５（ａ）は、図１の情報処理システム１の再起動時および終了時の動作を説明するタイミング図である。定常処理を行っているメインマイコン１０は、スタートスイッチ４２が操作されてオフになると（時刻ｔ１１）、すなわち電源オフ時、終了処理を行う。
【００２９】
メインマイコン１０の終了処理中の時刻ｔ１２においてスタートスイッチ４２が再操作されてオンになっている。終了処理中は再起動できないため、時刻ｔ１２ではメインマイコン１０は再起動しない。
【００３０】
メインマイコン１０は、終了処理中に、サブマイコン２０に記憶データを転送する。記憶データは、定常処理中に得られた学習値を含んでいる。
【００３１】
サブマイコン２０は、時刻ｔ１３から、メインマイコン１０から転送された記憶データをバックアップＲＡＭ２２および不揮発性メモリ３０に書き込む。
【００３２】
メインマイコン１０は、終了処理が完了時（時刻ｔ１４）、再起動処理を行う。再起動処理は、前述のアプリの起動を含み、メインマイコン１０が記憶している記憶データを用いて行われる。メインマイコン１０は、再起動処理が終了すると（時刻ｔ１５）、定常処理を行う。
【００３３】
サブマイコン２０は、メインマイコン１０の再起動処理の終了に合わせてバックアップＲＡＭ２２および不揮発性メモリ３０への記憶データの書き込みを中断し（時刻ｔ１５）、定常処理を行う。これにより、サブマイコン２０も、メインマイコン１０の定常処理の開始とほぼ同時に定常処理を開始できる。
【００３４】
この後、定常処理を行っているメインマイコン１０は、スタートスイッチ４２がオフになると（時刻ｔ１６）、終了処理を行う。メインマイコン１０は、終了処理中に、サブマイコン２０に記憶データを転送する。
【００３５】
サブマイコン２０は、時刻ｔ１７から、メインマイコン１０から転送された記憶データを、バックアップＲＡＭ２２および不揮発性メモリ３０に書き込む。
【００３６】
メインマイコン１０は、終了処理が完了すると（時刻ｔ１８）、停止する。
サブマイコン２０は、記憶データのバックアップＲＡＭ２２および不揮発性メモリ３０への書き込みが終了すると（時刻ｔ１９）、終了処理を行い、終了処理が完了すると（時刻ｔ２０）、停止する。
【００３７】
これに対して、比較例の情報処理システムでは、図５（ｂ）に示すように、メインマイコンは、自己の終了処理中に書き込みの準備が完了すると（時刻ｔ１４およびｔ１８）、記憶データを不揮発性メモリに直接書き込む。不揮発性メモリへの記憶データの書き込みは、本実施形態におけるメインマイコン１０からサブマイコン２０への記憶データの転送より長時間を要する。終了処理が完了する時刻、即ちメインマイコンによる不揮発性メモリへの書き込みが終了する時刻ｔ１５ｘおよびｔ１９ｘまで、メインマイコンは再起動処理を開始できず、停止できない。
【００３８】
したがって、本実施形態では、比較例においてメインマイコンが不揮発性メモリに記憶データを書き込む期間Ｔ２だけ、終了処理の時間を短縮できる。即ち、スタートスイッチ４２のオフからメインマイコン１０の停止または再起動処理の開始までの時間を短縮できる。また、メインマイコン１０はより短時間で停止するので、補機バッテリ５０の寿命をより長くできる。
【００３９】
図６は、図１のメインマイコン１０の終了時および再起動時の処理を示すフローチャートである。メインマイコン１０は、スタートスイッチ４２がオフになると（Ｓ２１）、終了処理を実行する（Ｓ２２）。次に、メインマイコン１０は、データの転送を開始可能か判定し（Ｓ２３）、不可能な場合（Ｓ２３のＮ）、Ｓ２２に戻る。可能な場合（Ｓ２３のＹ）、メインマイコン１０は、記憶データをサブマイコン２０に送信する（Ｓ２４）。
【００４０】
次に、メインマイコン１０は、全データの送信が完了したか判定し（Ｓ２５）、完了していない場合（Ｓ２５のＮ）、Ｓ２４に戻る。完了した場合（Ｓ２５のＹ）、メインマイコン１０は再起動要求があるか判定し（Ｓ２６）、再起動要求が無い場合（Ｓ２６のＮ）、停止する（Ｓ２７）。再起動要求がある場合（Ｓ２６のＹ）、メインマイコン１０は再起動する（Ｓ２８）。
【００４１】
図７は、図１のサブマイコン２０の終了時および再起動時の処理を示すフローチャートである。サブマイコン２０は、定常処理を行い（Ｓ３１）、メインマイコン１０から記憶データを受信したか判定する（Ｓ３２）。受信していない場合（Ｓ３２のＮ）、Ｓ３１に戻る。受信した場合（Ｓ３２のＹ）、サブマイコン２０は、記憶データをバックアップＲＡＭ２２および不揮発性メモリ３０に書き込む（Ｓ３３）。
【００４２】
次に、サブマイコン２０は、メインマイコン１０が再起動したか判定し（Ｓ３４）、再起動した場合（Ｓ３４のＹ）、Ｓ３１に戻る。即ち、この場合、サブマイコン２０は、バックアップＲＡＭ２２および不揮発性メモリ３０への書き込みを中断する。再起動していない場合（Ｓ３４のＮ）、全データの記憶が完了したか判定し（Ｓ３５）、完了していない場合（Ｓ３５のＮ）、Ｓ３３に戻る。全データの記憶が完了した場合（Ｓ３５のＹ）、サブマイコン２０は停止する（Ｓ３６）。
【００４３】
なお、前述のように、停止している状態からの起動時には、サブマイコン２０は、バックアップＲＡＭ２２の記憶データをメインマイコン１０に送信する。これにより、メインマイコン１０は、学習値を含む記憶データを用いて、アプリを起動することができる。
【００４４】
また、バッテリ５２が取り外された場合であっても、不揮発性メモリ３０が記憶データを記憶しているので、バッテリ５２が再び接続された時、サブマイコン２０は、不揮発性メモリ３０の記憶データを読み出すことができる。
【００４５】
以上で説明したように、本実施形態によれば、電源オフ時、メインマイコン１０は、記憶データをサブマイコン２０に転送してから停止し、サブマイコン２０は、転送された記憶データを不揮発性メモリ３０に書き込んでから停止する。メインマイコン１０が記憶データをサブマイコン２０に転送するために必要な時間は、メインマイコン１０が記憶データを不揮発性メモリ３０に書き込むために必要な時間より短い。そのため、メインマイコン１０が記憶データを不揮発性メモリ３０に直接書き込んでから停止する比較例と比較して、メインマイコン１０は、より短時間で停止できる。
【００４６】
従って、電源オフ後、メインマイコン１０が停止する前に再度電源オンされた場合に、電源オンからメインマイコン１０の再起動が完了するまでの再起動時間を比較例より短縮できる。
【００４７】
以上から、記憶データのデータ量が増加しても、再起動時間の増加を抑制できる。これにより、ユーザビリティの低下、および、工場での検査タクトの増加を抑制できる。
【００４８】
（変形例）
以上の実施形態では、メインマイコン１０の再起動時、サブマイコン２０は書き込みを中断して定常処理を行ったが、書き込みを中断しなくてもよい。
【００４９】
図８は、変形例に係る図１のサブマイコン２０の終了時の処理を示すフローチャートである。サブマイコン２０は、スタートスイッチ４２がオフになると（Ｓ４１）、終了処理を実行する（Ｓ４２）。次に、サブマイコン２０は、記憶データの記憶を開始可能か判定し（Ｓ４３）、不可能な場合（Ｓ４３のＮ）、Ｓ４２に戻る。
【００５０】
記憶データの記憶を開始可能な場合（Ｓ４３のＹ）、サブマイコン２０は、メインマイコン１０から転送された記憶データをバックアップＲＡＭ２２および不揮発性メモリ３０に書き込む（Ｓ４４）。次に、サブマイコン２０は、全データを記憶したか判定し（Ｓ４５）、記憶していない場合（Ｓ４５のＮ）、Ｓ４４に戻る。
【００５１】
全てのデータを記憶した場合（Ｓ４５のＹ）、サブマイコン２０は、再起動要求があるか判定する（Ｓ４６）。再起動要求が無い場合（Ｓ４６のＮ）、サブマイコン２０は停止する（Ｓ４７）。再起動要求がある場合（Ｓ４６のＹ）、サブマイコン２０は再起動する（Ｓ４８）。
【００５２】
このような変形例でも、電源オフ後、メインマイコン１０が停止する前に再度電源オンされた場合に、メインマイコン１０の再起動時間を比較例より短縮できる。また、不揮発性メモリ３０への書き込みを中断しないので、処理を簡略化できる。
【００５３】
以上、実施例をもとに本発明を説明した。実施例はあくまでも例示であり、各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【符号の説明】
【００５４】
１…情報処理システム、１０…メインマイコン（第１演算装置）、２０…サブマイコン（第２演算装置）、３０…不揮発性メモリ。
【図１】
2017157116.tif 000003
【図２】
2017157116.tif 000004
【図３】
2017157116.tif 000005
【図４】
2017157116.tif 000006
【図５】
2017157116.tif 000007
【図６】
2017157116.tif 000008
【図７】
2017157116.tif 000009
【図８】
2017157116.tif 000010