"エンジン停止操作、又は、少なくとも電動機を含む走行システムの停止操作を受け付けたタイミングで第一の記憶装置のデータを第二の記憶装置に書き出す情報処理装置であって、エンジン停止操作若しくはエンジン始動操作、又は、少なくとも電動機を含む走行システムの停止操作若しくは始動操作を受け付ける操作受け付け手段と、前記操作受け付け手段がエンジン停止操作又は走行システムの停止操作を受け付けてから所定時間内にエンジン始動操作又は走行システムの始動操作を受け付けた特定操作を記録すると共に、前記操作受け付け手段がエンジン停止操作又は走行システムの停止操作を受け付けてから所定時間経過後に前記特定操作の記録を消去する停止始動操作記録手段と、前記第一の記憶装置のデータを前記第二の記憶装置に書き出すデータ書き出し手段と、を有し、前記データ書き出し手段は、前記特定操作の記録がある場合には第一の記憶装置から第二の記憶装置へのデータの書き出しを取り消す、ことを特徴とする情報処理装置。前記データ書き出し手段は、エンジン停止操作、又は、走行システムの停止操作を受け付けたタイミングに、前記特定操作の記録がある場合には第一の記憶装置から第二の記憶装置へのデータの書き出しを取り消し、前記特定操作の記録が消去されてからデータの書き出しを行う、ことを特徴とする請求項1記載の情報処理装置。前記特定操作の記録がある間、電源から第一の記憶装置への電源供給を維持する電源制御手段、を有することを特徴とする請求項1又は2記載の情報処理装置。前記データ書き出し手段が第一の記憶装置から第二の記憶装置へのデータの書き出しを終了した場合、前記電源制御手段は、電源から第一の記憶装置への電源供給を停止する、ことを特徴とする請求項3記載の情報処理装置。前記停止始動操作記録手段は、最も新しい、エンジン停止操作又は走行システムの停止操作から、所定時間内にエンジン始動操作又は走行システムの始動操作を受け付けた場合に前記特定操作を記録する、ことを特徴とする請求項1~4いずれか1項記載の情報処理装置。前記停止始動操作記録手段は、前記特定操作の記録がある状態で、前記操作受け付け手段がエンジン停止操作又は走行システムの停止操作を受け付けた場合、最後のエンジン停止操作又は走行システムの停止操作から所定時間の経過後に前記特定操作の記録を消去する、ことを特徴とする請求項1~5いずれか1項記載の情報処理装置。第一のマイコンと、第二のマイコンと、前記第一のマイコンから前記第二のマイコンへデータを送信するデータ送信手段と、を有し、前記データ書き出し手段は、前記第一のマイコンが有する前記第一の記憶装置から前記第二のマイコンが有する前記第二の記憶装置にデータを書き込む、ことを特徴とする請求項1~6いずれか1項記載の情報処理装置。エンジン停止操作、又は、少なくとも電動機を含む走行システムの停止操作を受け付けたタイミングで第一の記憶装置のデータを第二の記憶装置に書き出す情報処理装置のデータ記録方法であって、操作受け付け手段が、エンジン停止操作若しくはエンジン始動操作、又は、少なくとも電動機を含む走行システムの停止操作若しくは始動操作を受け付けるステップと、停止始動操作記録手段が、前記操作受け付け手段がエンジン停止操作又は走行システムの停止操作を受け付けてから、所定時間内にエンジン始動操作又は走行システムの始動操作を受け付けた特定操作を記録するステップと、前記操作受け付け手段がエンジン停止操作又は走行システムの停止操作を受け付けてから所定時間経過後に前記特定操作の記録を消去するステップと、前記第一の記憶装置のデータを前記第二の記憶装置に書き出すデータ書き出し手段が、前記特定操作の記録がある場合には第一の記憶装置から第二の記憶装置へのデータの書き出しを取り消すステップと、を有するデータ記録方法。しかしながら、従来の電子制御ユニットでは、データの不整合を防止できないという問題がある。図1は、データの不整合を説明する図の一例である。マイコンは、IG‐OFFを検出すると、SRAMStaticRandomAccessMemory内に収集したデータをフラッシュメモリに退避し始める。全てのデータを退避するこの処理には、ある程度の時間システムによるが数秒から十秒弱が必要である。データの退避の最中に、運転者がIG‐ONして簡単な作業を行い例えばドアウィンドウを開閉した、再度、IG‐OFFするような、短時間のIG‐ON、IG‐OFFの繰り返しが生じることがある。例えば、マイコンが1~5までのデータを退避した段階で、運転者がIG‐ONを行い短時間にIG‐OFFを行った場合、マイコンは最初からデータの退避を始めようとする。この場合、途中まで書き込まれたデータの退避はそこで終了してしまうので、本来退避されるべき、データ図では6~10が退避されないことになってしまう。また、次にIG‐ONされた後に、SRAMのデータが書き換えられるおそれがある。このため、マイコンが、再度、データを退避しようとしても、SRAMの元のデータを全て退避できるとは限らない。以下、このようにSRAMのデータとデータフラッシュに記憶されるデータの違いをデータの不整合という。また、近年、半導体集積回路の微細化が進み、1つの電子制御ユニットに複数のCPU又はマイコンが搭載されることも少なくなくなった。また、車載されるECUの数を低減する試みも継続的に行われている。このため、ECU内のあるマイコンが別のマイコンのデータフラッシュにデータを退避するという状況が生じるようになった。この場合、データを退避する制御を行うマイコンと、データフラッシュを持つマイコンが別体なので、上述した問題がさらに生じやすくなる。本発明は、上記課題に鑑み、短時間にIG‐ON、IG‐OFFが繰り返されても、データの不整合を防止することができる情報処理装置を提供することを目的とする。本発明は、エンジン停止操作、又は、少なくとも電動機を含む走行システムの停止操作を受け付けたタイミングで第一の記憶装置のデータを第二の記憶装置に書き出す情報処理装置であって、エンジン停止操作若しくはエンジン始動操作、又は、少なくとも電動機を含む走行システムの停止操作若しくは始動操作を受け付ける操作受け付け手段と、前記操作受け付け手段がエンジン停止操作又は走行システムの停止操作を受け付けてから、所定時間内にエンジン始動操作又は走行システムの始動操作を受け付けた特定操作を記録すると共に、前記操作受け付け手段がエンジン停止操作又は走行システムの停止操作を受け付けてから所定時間経過後に前記特定操作の記録を消去する停止始動操作記録手段と、前記第一の記憶装置のデータを前記第二の記憶装置に書き出すデータ書き出し手段と、を有し、前記データ書き出し手段は、前記特定操作の記録がある場合には第一の記憶装置から第二の記憶装置へのデータの書き出しを取り消す、ことを特徴とする。データ退避中に短時間にIG‐ON、IG‐OFFが繰り返されても、データの不整合を防止することができる情報処理装置を提供することができる。以下、本発明を実施するための形態について図面を参照しながら説明する。図2は、本実施形態のデータ記憶方法の概略的な特徴を説明する図の一例である。S1:マイコンはIG‐OFFになったか否かを監視している。S2:IG‐OFFになった場合S1のYes、マイコンはそのIG‐OFFが頻繁なIG‐ONとIG‐OFFの繰り返しか否かを判定する。頻繁なIG‐ONとIG‐OFFの繰り返しとは、最後のIG‐OFFから所定時間内にIG‐ONかつIG‐OFFされるこという。S3:頻繁なIG‐ONとIG‐OFFの繰り返しが検出された場合S2のYes、マイコンはSRAMに記憶されたデータを保持する。すなわち、データフラッシュへの退避を開始することなく、SRAMへの電源供給を維持リフレッシュして揮発を防ぐするなどしてSRAMにデータを保全する。S4:頻繁なIG‐ONとIG‐OFFの繰り返しが検出されない場合S2のNo、マイコンはSRAMに記憶されたデータのデータフラッシュへの記録を開始する。最後のIG‐OFFから十分に時間が経過すれば、S2の判定はNoになるので、マイコンは最後のIG‐OFFから十分に時間が経過した状態のIG‐ON→IG‐OFFであれば、IG‐OFFの直後にデータの記録を開始する。これに対し、最後のIG‐OFFから所定時間内のIG‐ON→IG‐OFFでは、データの記録を行わないので、すでに行われているデータの記録が終わるまでに次のデータの記録を開始することを抑制できる。したがって、SRAMのデータとデータフラッシュのデータの不整合の発生を抑制できる。構成例図3は、車載ネットワーク200の概略構成図の一例を示す。車載ネットワーク200は、複数のECUElectronicControlUnitを電気的に接続し、所定のプロトコルに基づき、互いのECUが通信データを送受信することを可能にしている。本実施形態では、データ記録ECU100が、他のECUECU1、ECU2110から取得したデータ、及び、データ記録ECU100が演算したデータをデータ記録ECU100のデータフラッシュに記憶するものとする。車載ネットワーク200に接続されるECUは、いくつでもよく、また、ゲートウェイ経由のECUが接続されていてもよい。記憶されるデータは例えば、データ記憶日時、走行距離、走行時間、最高車速、平均車速、最高エンジン回転数、平均燃費、水温、排ガス濃度、位置情報、エアバッグの展開などのイベント等である。この他、車両の状態を特定するために有効なデータは記憶対象となりうる。車載ネットワーク200のプロトコルには、CANControllerAreaNetwork、LINLocalInterconnectNetwork、FrexRay等があるが、本実施形態では、各ECUはCANプロトコルにより通信するものとする。各ECUには、ドアECU、パワーシートECU、ライトECU、エアコンECU、メータECUなどのボディ系、エンジンECU、HVーECU、ブレーキECU、パワステECU、トランスミッションECU、エアバッグECU等の制御系、ナビECU、外部との通信を行う通信ECU、オーディオ機器を制御するAV用ECU等の情報AV系、などがある。図4は、本実施形態のデータ記録ECU100のハードウェア構成図の一例を示す。データ記録ECU100は、複数のマイコン区別するためメインマイコン10とサブマイコン20と称す、CANドライバ31、及び、電源IC32を有している。本実施形態では、メインマイコン10がデータ記録制御を行い、サブマイコン20がデータを記録するためのデータフラッシュ30を有している。したがって、メインマイコン10はデータ記録を行うタイミングか否かを判定し、データ記録を行うタイミングであると判定すると、データをサブマイコン20に送信する。サブマイコン20がデータ記録を行うタイミングであるか否かを判断することも可能であるし、メインマイコン10がデータフラッシュ30を有している場合はメインマイコン単体でデータ記録のタイミングの決定及びデータの記録を行うことも可能である。図示するように実装されるのは、メインマイコン10にはデータ記録の他にも多くの処理が要求されるため、データ記録のタイミングの判断とデータの保管とを別々のマイコンが受け持つ方が設計上好ましいためであるに過ぎない。メインマイコン10は、コア13、ADCAnalogDigitalConverter11、WDTWatchDogTimer14、SRAM12、ROM15、RAM16、I/O27、CANCCANController18及びDMACDMAController19を有する。コア13は例えばROM15に記憶されたプログラムを、RAM16を作業メモリにして実行するCPUである。ROM15に記憶されているプログラムにはデータ記録を行う機能が含まれている。また、プログラムにはメインマイコン10に特有の処理を行う機能が含まれている。なお、サブマイコン20の構成は、データフラッシュ30を有する以外はメインマイコン10とほぼ同様である。ADC11,21はA/Dコンバータであり、不図示のセンサが検出したアナログデータをデジタルデータに変換する。WDT14,24はコア13,23によるプログラムの実行状態を監視するタイマであり、予め決められた時間内にコア13,23がリセットしないことから、コア13,23の異常を検出し、リセットするなどの処理を行う。CANC18,28は、CANプロトコルに従って他のECU110等と通信する通信装置である。CANC18,28はCANドライバ31と接続されている。CANドライバ31は、データの送信時、通信データを差動電圧に変換してCANバスに出力する。また、データの受信時、差動電圧が所定の電圧範囲に含まれるように整形して受信信号を生成し、CANC18,28に出力する。SRAM12はRAMの一種であり、本実施形態ではデータを一時的に保持するために使用される。SRAM22は、サブマイコン20がデータを一時的に保持するために使用可能であるが、サブマイコン20にはなくてもよい。I/O17にはメインマイコン10が演算に用いる信号を検出する各種のセンサ、メインマイコン10が制御するアクチュエータやアクチュエータのドライバ回路等が接続されている。I/O27についても同様である。なお、ADC11やCANC18はI/O17に接続されていてもよい。DMAC19は、I/O17から入力されたデータを、コア13を介さずにRAM16やSRAM12に記録し、コア13からの要求を受け付けてRAM16やSRAM12の指定アドレスからセンサやアクチュエータにデータを転送する。本実施形態では、メインマイコン10とサブマイコン20の間の通信もDMAC19を介して行われる。この場合、コア13はDMAC19に、データの転送元としてSRAM12を指定するアドレスとデータサイズを、データの転送先としてサブマイコン20のデータフラッシュ30のアドレスをそれぞれ設定する。したがって、メインマイコン10のDMAC19はサブマイコン20のデータフラッシュ30をメインマイコン10の一部のようにアクセスできる。また、メインマイコン10のDMAC19が直接、サブマイコン20のデータフラッシュ30にアクセスするのでなく、メインマイコン10のDMAC19がサブマイコン20のDMAC29に、データフラッシュ30へのデータ転送を依頼してもよい。また、必ずしもDMAC19、29を使用するのでなく、UARTUniversalAsynchronousReceiverTransmitterやI2CInter‐IntegratedCircuitを利用して通信してもよい。電源IC32は、不図示のバッテリから電力供給を受けてマイコン駆動用の電圧電流を生成する。IG‐ON時は、ECU内の全ての回路を通常モードで動作させるために必要な大容量の電圧電流を生成し、IG‐OFF時は、メインマイコン10サブマイコン20の回路の一部を省電力モードに保持するために必要な最小限の電圧電流を生成する。また、電源IC32は、メインマイコン10又はサブマイコン20からの制御を取得して、バッテリから、メインマイコン10及びサブマイコン20への電力供給を遮断及び維持することができる。サブマイコン20が有するデータフラッシュ30は、データの消去及び書き込みを行うことができる不揮発メモリである。NAND型、NOR型のいずれでもよい。また、フラッシュメモリでなく、EEPROM、MRAMMagnetoresistiveRandomAccessMemory、FeRAMOUM相変化メモリなど書き換え可能な不揮発メモリであればよい。図5は、メインマイコン10及びサブマイコン20の機能ブロック図の一例を示す。図5において、図4と同一構成物には同一の符号を付しその説明は省略する。メインマイコン10は、コア13がROM15に記憶されたプログラムを実行することでソフト的に実現される、IG状態検出部41、フラグ設定部42、データ記録部43、リレー操作部44、及び、データ収集部45を有する。<データ収集>まず、データ収集部45によるデータ収集について説明する。図6は、データ記録ECU100がデータをSRAM12に記録する手順を示すフローチャート図の一例である。IG‐ONの間、ECU1,ECU2はそれぞれCANバスにデータを送信するS10。ECU1,ECU2が送信するデータは予めECU1,2に設定されている。データ記録ECU100のCANC18は予め定められたCANIDのデータを選択的に受信して、コア13に受信割込みする。コア13は受信割込みに対しデータ収集部45などを起動させるので、データ収集部45はCANIDに基づき記録すべきデータとして選択したデータをSRAM12に記憶するS20。データにはIG‐ONの直後に一度だけ取得すればよいもの例えば、カレンダ情報、IGオン時刻、周期的に送信されるが最新のデータで置き換えるもの例えば、走行距離、走行時間、過去の履歴を含め記憶しておくもの例えば、位置情報、IG‐OFF時に取得すべきもの例えば、IG‐OFF時刻、データ記憶日時、平均車速、平均燃費、特別のイベントが発生した場合に記憶されるもの例えば、故障情報、エアバッグの展開などがある。データ収集部45は、これらを判別してSRAM12に記憶していく。データ収集部45が収集するデータにはこのような性格があるので、SRAM12に記憶されるデータ量が一定であるとは限らない。このためデータ記録時間も一定とは限らない。そして、データ記録ECU100のIG状態検出部41がIG‐OFFを検出すると、メインマイコン10はSRAM12からデータフラッシュ30へのデータを記録するタイミングか否かを判定する。記録するタイミングであると判定されれば、データ記録部43がデータの記録を開始する。<IGーON、IGーOFFについて>図5に戻り、IG状態検出部41は、IG‐ON及びIG‐OFFを検出する。本実施形態ではIGーONを走行可能な状態又は走行可能な状態にするための操作と定義する。このため、エンジンのみを動力源とする車両と、電気モータを一部の動力源とするハイブリッド車、又は、電気モータを全ての動力源とする電気自動車とでは、IG‐ONの検出方法が異なっている。エンジン車両のIG‐ON運転者がメカニカルキーでIG‐ON/IG‐OFFを操作する車両の場合、IG‐ON状態とはメカニカルキーがキーシリンダ51のIG位置にあり、かつ、エンジンが作動していることをいう。運転者は、エンジン始動の際、ブレーキペダルを踏みながら、メカニカルキーをIG‐ONを超えてST位置まで回転させIG位置まで戻す。エンジンは完爆すると完爆信号を出力するので、IG状態検出部41この信号からIG‐ONを検出する。運転者がプッシュボタン52でIG‐ON/IG‐OFFを操作する車両の場合も、操作が異なるだけで、IG‐ONの定義は同じである。運転者は、エンジン始動の際、ブレーキペダルを踏みながら、プッシュボタン52を押下する。これにより、所定のECUがSTリレーをオンにしてエンジン始動を開始する。エンジンは完爆すると完爆信号を出力するので、IG状態検出部41この信号からIG‐ONを検出する。ハイブリッド車又は電気自動車のIG‐ONハイブリッド車は、運転者がIG‐ON操作をしてもエンジンが作動するとは限らず、電気自動車の場合はそもそもエンジンが搭載されていない。このため、ハイブリッド車又は電気自動車のIGーONとは、IG‐ONモードReady‐ON状態であると定義する。IG‐ONモードReady‐ON状態について簡単に説明する。ハイブリッド車又は電気自動車は、エンジン車両のIG‐ONに対応する2つの状態を有する。それぞれをIG‐ONモードReady‐ON状態、IG‐ONモードReady‐OFF状態という。IG‐ONモードReady‐ON状態は、走行を司るHVーECUが正常に起動し、エンジン走行やモータ走行により車両を走行させることが可能な状態である。IG‐ONモードReady‐OFF状態は、HV‐ECUが正常に動作していない状態である。したがって、IG‐ONモードReady‐ON状態であれば、走行可能であるといえる。運転者の操作は上記と同様である。すなわち、運転者がブレーキペダルを踏み込んだ状態でプッシュボタン52を押下した場合、所定のECUがメインリレーをオンにして、HVーECUに起動信号を出力する。HV‐ECUは、プログラムを読み出して初期処理や自己診断を実行し、正常に起動完了するとReady‐ON信号を他のECU110に出力する。IG状態検出部41はこのReady‐ON信号を受信することでIG‐ONを検出する。エンジン車両、ハイブリッド車又は電気自動車のIG‐OFF本実施形態では、IG‐OFFを運転者がIG‐OFF操作をしたこと、と定義する。したがって、IGーOFFの定義は、エンジン車両、ハイブリッド車又は電気自動車に共通である。運転者がメカニカルキーでIG‐ON/IG‐OFFを操作する車両の場合、運転者は、シフトポジションをPパーキングに設定し、メカニカルキーをキーシリンダ51のLock位置まで回転させる。運転者がプッシュボタン52でIG‐ON/IG‐OFFを操作する車両の場合、シフトポジションをPパーキングに設定し、プッシュボタン52を押下する。エンジン車両の場合、いずれの場合も所定のECUがメインリレーをオフにするのでエンジンは作動状態を維持できなくなりエンジンが停止する。ハイブリッド車又は電気自動車の場合、HV‐ECUがReady‐ON信号の出力を停止するので、車両は走行できない状態になる。したがって、IG‐OFFについては、IG状態検出部41は運転者がIG‐OFF操作をしたことからIG‐OFFを検出する。なお、厳密にはIG‐OFFにもIG‐ONにも含まれない状態が存在しうるが例えば、メカニカルキーがACCの位置、この場合は直前の状態であると判定するものとするつまり、その前の状態がIG‐ONであったならIG‐ON、その前の状態がIG‐OFFであったならIG‐OFFであると判定する。<フラグの設定>IG状態検出部41は、IG‐ON又はIG‐OFFを検出すると、フラグ設定部42に通知する。フラグ設定部42は、IG‐ON又はIG‐OFFの検出結果に応じてフラグAのON/OFFを切り換える。また、IG‐ON又はIG‐OFFの検出結果、及び、フラグAのON/OFFに応じてフラグBをON/OFFを切り換える。なお、フラグAはIG‐ONとIG‐OFFの検出結果により遷移し、以下の意味を持つ。フラグAON:最後のIG‐OFFから所定時間内にIG‐ONが検出されたフラグAOFF:最後のIG‐OFFから所定時間が経過最後のIG‐OFFから所定時間内であるがIG‐ONされていないフラグBはデータ退避が可能か否かの判定結果により遷移し、以下の意味を持つ。フラグBON:SRAM12のデータをデータフラッシュ30に記録可能フラグBOFF:SRAM12のデータをデータフラッシュ30に記録不可フラグAがONのまま、フラグBがONとなることはない。フラグBがOFFであれば、フラグAの状態に関係なくSRAM12からデータフラッシュ30にデータが記録されることはない。なお、フラグA、Bの初期状態はOFFである。フラグ設定部42は、IG状態検出部41が検出したIG‐OFFの時刻以下、IG‐OFF時刻というを記録している。IG‐OFF時刻は時計上の時刻である必要はなく、IG‐OFFとなった時に例えばゼロであることを示す情報でよい。フラグ設定部42は、IG‐OFF時刻を基準に数秒から数十秒の予め決められた所定時間を計測する。また、IG‐OFF時刻は、この予め決められた時間でもよく、フラグ設定部42は予め決められた時間からカウントダウンを開始しゼロになったことを検出する。<データ記録>データ記録部43はフラグBがONであると、SRAM12に記憶されたデータをサブマイコン20のデータフラッシュ30に記録する。データ記録はIG‐OFF後に行われるので、電源IC32がメインマイコン10やサブマイコン20への電源をカットするおそれが生じる。IG‐OFF後でも、常に一部の回路例えば、割込みを受け付けるためのコアにはバッテリから電源が供給されるECUだとしても、常にSRAM12に電源が供給されるとは限らない。そこで、データ記録の前に、データ記録部43はリレー操作部44にIGCTリレー53のオンを保持する保持指示を出力する。リレー操作部44は電源IC32にIGCTリレー53のONを保持させる。この後、データ記録部43はDMAC19を使用して、SRAM12のデータをサブマイコン20のデータフラッシュ30に記録させる。DMAC19はSRAM12のデータを読み出して、サブマイコン20のデータフラッシュ30に記録する。DMAC19は要求されたデータの記録が終了したことをデータ記録部43に通知する。データの記録が終了すると、データ記録部43は、リレー操作部44にIGCTリレー53のオンの保持を解除する解除指示を出力する。リレー操作部44は電源IC32にIGCTリレー53のONを保持する必要がないことを通知する。この後、電源IC32がIGCTリレー53をOFFするかどうかは車両状態に応じる。なお、データフラッシュ30がメインマイコン10内にあっても、同様の手順で不都合なくデータの記録が可能である。したがって、データ記録ECU100は1つのマイコンのみを有していてもよい。動作手順図7は、フラグ設定部42がIG‐ONとIG‐OFFの頻繁な繰り返しの有無を判定する手順を示すフローチャート図の一例である。フラグ設定部42は、IG状態検出部41が検出したIG‐OFF時刻を記録している。これを利用してフラグ設定部42はIG‐OFF時刻から所定時間以上が経過したか否かを判定するS110。この所定時間は、IG‐OFFから短時間にIG‐ONされたか否かを判定するための時間である。所定時間はデータ記録時間より長いことが好ましく、例えば、数秒から数十秒とする。所定時間については次述する。所定時間以上、経過するまで場合S110のNo、フラグ設定部42は、IG状態検出部41からIG‐ONが通知されたか否かを判定するS120。すなわち、ステップS110、S120の判定により、IGーOFFから所定時間内にIG‐ONされたか否かが判定される。IG状態検出部41からIG‐ONが通知された場合S120のYes、フラグ設定部42はフラグAをONに設定するS130。このように、フラグAはIGーOFFから所定時間内にIGーONされた場合にONになるので、フラグAがONか否かにより短時間にIGーOFF→IGーON操作が行われたか否かが判定される。一方、ステップS110において、IG‐OFF時刻から所定時間以上が経過した場合S110のYes、フラグ設定部42はフラグAにOFFを設定するS140。すなわち、フラグAがONに設定されても、IG‐OFFから所定時間が経過すると自動的にOFFになる。また、ステップS120において、所定時間内にIG状態検出部41からIG‐ONが通知されない場合S120のNo、フラグ設定部42はフラグAにOFFを設定したままにするS140。すなわち、フラグAは、IG‐OFFから所定時間が経過するまでにIG‐ONが検出されなければ、常にOFFとなる。図8を用いて、ステップS110の所定時間について説明する。図8は、所定時間を説明する図の一例である。図9にて説明するように、データ記録部43は一度開始したデータ記録が完了するまでデータ記録を継続するので、データ記録中のIG‐OFFの直後にIG‐ONが検出されても、データ記録が中断開始されることなく、データ不整合が生じるおそれはない。しかし、IG‐OFFから短時間にIG‐ON→IG‐OFFに操作されると、データ記録部43がデータ記録を開始するタイミングになってしまう。図8aは、所定時間が短く、短時間にIG‐ON→IG‐OFFの操作が行われた場合を示す。フラグAはIGーOFFからの所定時間内のIG‐ONによりONになり、最後のIG‐OFFから所定時間後にOFFとなる。図8aでは所定時間が短いため、データ記録中にフラグAがOFFになっている。この場合、記録中のデータは継続して記録されるが、フラグAの趣旨から好ましくないと言える。そこで、所定時間は、図8bに示すように、データ記録時間と同程度かやや長めであることが好ましい。このように所定時間を決定しておくことで、データ記録中にフラグAがONとなることを防止できる。したがって、仮にデータ記録部43が一度開始したデータ記録が完了するまでデータ記録を継続しない場合でも、データ記録が中断開始され、データ不整合が生じることを防止できる。なお、所定時間は、予め固定に設定しておくのでなく、データ転送部43がSRAMのデータ量に応じて決定してもよい。図9は、データ記録ECU100がフラグA、Bを参照して、SRAM12のデータをデータフラッシュ30に格納する手順を示すフローチャート図の一例である。データ記録部43は、原則的にIG‐OFFを契機にSRAM12のデータをデータフラッシュ30に記録するので、データ記録部43はIG‐OFF状態か否かを判定するS210。IG‐OFF状態でない場合S210のNo、IG‐ON状態となるので、SRAM12のデータをデータフラッシュ30に退避するタイミングでない。このためフラグ設定部42はフラグBをOFFに設定するS220。IG‐OFF状態の場合S210のYes、データ記録部43は、IG‐ONからIG‐OFFに操作された直後か否かを判定するS230。IGーOFF直後の場合S230のYes、データ記録部43はフラグAがONか否かを判定するS240。フラグAがONの場合S240のYes、IG‐OFFから所定時間内にIG‐ONとなっており、さらに、所定時間内にIG‐OFFとなったことになる。したがって、データ不整合の発生を抑制するため、データ記録部43はデータを記録すべきでない。しかし、IG‐OFFによりデータの記録前にSRAM12のデータが消去されるおそれがあるため、データ記録部43はSRAM12のデータを保持するS250。具体的には、データ記録部43はリレー操作部44に、電源IC32にIGCTリレー53をOFFにさせないように保持指示を出力するIGCTリレー53をオンに維持させる。これにより電源IC32はIG‐OFFを検出しても、IGCTリレー53をONに維持するので、バッテリ54からメインマイコン10及びサブマイコン20に電力が供給され、SRAM12の内容が消去されない。また、フラグ設定部42はフラグAがONであることから、IG‐OFFから短時間のIG‐ON→IG‐OFFであると判定し、フラグBをOFFに設定するS260。したがって、この場合、データ記録部43はデータを記録できない。一方、ステップS240にてフラグAがONでない場合S240のNo、IG‐OFFから所定時間にIG‐ONとなっていないか、又は、所定時間以上経過しているので、フラグ設定部42はフラグBをONに設定するS270。この場合、データ記録部43はデータ記録が可能になる。また、ステップS230にて、IG‐ONからIG‐OFFに操作された直後でない場合S230のNo、データ記録部43はフラグAがONからOFFに遷移したか否かを判定するS280。上記のようにフラグAは、IG‐OFFから所定時間が経過するとOFFになるので、フラグAがONだった場合でも、いずれフラグAはOFFになる。フラグAがONからOFFになった場合S280のYes、データ記録部43はデータを記録してよいので、フラグ設定部42はフラグBをONに設定するS290。これにより、IG‐OFFから短時間のIG‐ONであると判定され、その後、短時間にIG‐OFFに操作されても、いずれは最初のIG‐OFFから所定時間経過後データの記録が可能になる。フラグAがONからOFFになっていない場合S280のNo、フラグAはONのまま処理はステップS310に進む。ステップS310以降はデータ記録の処理となる。データ記録部43はフラグBがONか否かを判定するS310。フラグBがONの場合S310のYes、データ記録が許可されているので、データ記録部43はSRAM12のデータを保持して、データ記録を開始するS320。具体的には、データ記録部43はリレー操作部44に、IGCTリレー53をオンに維持させる。これにより電源IC32はIG‐OFFを検出しても、IGCTリレー53をONに維持するので、バッテリ54からメインマイコン10及びサブマイコン20に電力が供給され、SRAM12の内容が消去されない。データ記録部43は、SRAM12のデータを全て記録したか否かを判定するS330。SRAM12のデータを全て記録するまでの間S330のNo、データの記録を継続するS310、S320。データ記録の間にIG‐OFFから所定時間内に、運転者がIG‐ONの操作をする可能性がある。フラグAの操作はデータ記録とは独立なので、フラグAはONになる場合があるが、データ記録は連続して行われるので、データ記録部43はSRAM12のデータを全てデータフラッシュ30に記録することができる。また、データ記録の間にIG‐OFFから所定時間内に、運転者がIG‐ON→IG‐OFFの操作をした場合、最後のIG‐OFFから所定時間の間はフラグAはONのままなので、記録中のデータの送信が中断されるようなことは生じない。データ記録部43がSRAM12のデータを全て記録した場合S330のYes、データ記録部43は、データ記録のためのSRAM12のデータの保持を終了するS340。具体的には、データ記録部43はリレー操作部44に、IGCTリレー53をオフにすることを許可する。これにより電源IC32は、IG‐OFF、ACC‐ON、ACC‐OFF、車両状態等に基づく独自の基準により、IGCTリレー53をOFFにすることができる。フラグ設定部42は、データ記録部43からデータの記録の終了の通知を取得すると、フラグBをOFFに設定するS350。すなわち、フラグBがOFFになることで、データの記録が終了したため、データ記録が不要になったことを記録できる。図10は、IG‐ON、IG‐OFFとデータ記録の関係を説明する図の一例である。図10aは、運転者がIGーOFFから所定時間内にIG‐ONしない場合を示す。この場合、フラグAはONとなることなくOFFを維持する。したがって、図7,9に示したように、車両の走行後、初めて運転者がIGーOFFに操作した場合、S210、S230の判定はYes、S240の判定はNo、S310の判定はYesとなる。このため、頻繁なIG‐ON、IG‐OFFの繰り返しでないIG‐OFFの場合は、IG‐OFFの後、すぐにSRAM12の全てのデータがデータフラッシュ30に記録される。図10bは運転者がIG‐OFFから所定時間内にIG‐ONした場合を示す。IG‐OFFから所定時間内に、運転者がIG‐OFFからIG‐ONに操作した場合、フラグAは所定時間内に限りONになる。データ記録部43は、SRAM12のデータを全て記録することを、次のデータの記録の判定より優先するので、この場合もSRAM12のデータは全てデータフラッシュ30に記録され、データに不整合は生じない。図10cは運転者がIG‐OFFから所定時間内にIG‐ONして、所定時間内にIG‐OFFした場合を示す。IG‐OFFからの所定時間内のIG‐ONによりフラグAがONになることは図10bと同じである。しかし、IG‐OFFから所定時間内にIG‐OFFとなるため、フラグAがONのままIG‐OFFとなる。フラグAはIG‐OFFから所定時間経過しないとOFFにならないので、IG‐ONを起点に、2度目のIG‐OFFから所定時間が経過するまでフラグAはONを継続する。したがって、2度目のIG‐OFFが検出されても、データ記録部43がSRAM12からデータフラッシュ30へのデータ記録を開始するのは、フラグAがOFFになってからである。したがって、このような場合でも、本実施形態のデータ記録方法では、SRAM12のデータとデータフラッシュ30のデータに不整合が生じることはない。以上説明したように、本実施形態のデータ記憶方法は、IG‐ONとIG‐OFFが頻繁に繰り返されても、IG‐OFFから所定時間はデータ記録しないので、データの不整合が生じる可能性を低減できる。その他の構成例図11aはデータ記録ECU100が3つのマイコンを有する場合の構成例を示す図である。図11aでは最右のサブマイコン20がデータフラッシュ30を有しており、メインマイコン10は最右のサブマイコン20にデータを記録する。このように、データ記録ECU100が有するマイコンの数は3つでもよく、4つ以上でもよい。また、データ記録ECU100が2つ以上のサブマイコン20を有する場合、データを記録するサブマイコン20は1つである必要はない。例えば、2つのサブマイコン20が同じデータを重複して記録することで、データの信頼性や安全性が高まる。図11bはデータ記録ECU100とは別のECUがデータフラッシュ30を有する場合の構成例を示す図である。図11bではECU1のマイコンがデータフラッシュ30を有している。このような場合、データ記録ECU100は、上記に説明したタイミングでECU1へのデータの記録を開始する。この場合は、DMAC19ではなくCAN通信を使用すればよく、データの記録方法が異なっても、車載ネットワーク200の機能でデータ記録が可能である。ただし、データ記録ECU100のSRAM12のデータをECU1に記録するまでは、ECU1に電源を供給しておくことが望ましいため、データ記録時には、リレー操作部44はECU1に対し電源を保持するように要求しておく。これにより、ECU1もデータ記録ECU100からデータを受信してデータフラッシュ30に記録するまで電源が供給される。なお、データ記録ECU100とは別のECUがデータフラッシュ30を有する場合も、複数のECUがデータフラッシュ30を有することで、データの信頼性や安全性を高めることができる"