複数のブロックに分けられているフラッシュメモリの記憶領域からM個Mは2以上の自然数の前記ブロックで一単位を構成するステップと、それぞれのデータサイズが前記ブロックの書き込み可能容量以下であるN種類Nは自然数でN<Mのデータグループを、前記一単位を構成する前記ブロックの空き領域に複数回書き込むステップと、を有し、新たな前記データグループを書き込む時に、既に書き込まれた前記データグループを保持したまま最新の前記データグループを書き足すフラッシュメモリへのデータ書き込み方法。前記一単位を構成する前記ブロックの空き領域にN種類の前記データグループを複数回書き込むことにより、N種類の前記データグループのいずれの最新の前記データグループも存在せず且ついずれの新たな前記データグループも書き込むことができない前記ブロックが現れたときに、当該ブロック内のデータを全て消去するステップをさらに有する請求項1に記載のフラッシュメモリへのデータ書き込み方法。前記データグループには、書き込まれたデータグループが正しいか否かの誤り検出をするためのチェックデータが含まれている請求項1又は2に記載のフラッシュメモリへのデータ書き込み方法。前記データグループには、前記データグループの書き込み更新回数を示す更新回数データが含まれている請求項1乃至3のいずれか一項に記載のフラッシュメモリへのデータ書き込み方法。特許文献1の発明では、当該ブロックのいずれかのデータ領域に書き込み可能な領域がなくなると、各々の既存の最新のデータを一旦RAMに転記し、当該ブロックを初期化する。その後RAMから他のブロックに既存の最新のデータを再転記する。しかし、データを転記する際にはデータの一部が破損欠落してしまうおそれがあり、転記を2回行うとその可能性は高まる。データが正常に転記されなかったときには、最新のデータが喪失してしまうというおそれがあった。同様に、当該ブロックの初期化後且つ他のブロックへの転記完了前に通電が切断されると、RAM内のデータが消失するので、最新のデータが喪失してしまうというおそれがあった。上記問題に鑑み、本発明は、最新のデータが喪失されるおそれがないフラッシュメモリへのデータ書き込み方法を提供することを課題とする。上記課題を解決するために、本発明に係るフラッシュメモリへのデータ書き込み方法の特徴は、複数のブロックに分けられているフラッシュメモリの記憶領域からM個Mは2以上の自然数の前記ブロックで一単位を構成するステップと、それぞれのデータサイズが前記ブロックの書き込み可能容量以下であるN種類Nは自然数でN<Mのデータグループを前記一単位を構成する前記ブロックの空き領域に複数回書き込むステップとを有し、新たな前記データグループを書き込む時に、既に書き込まれた前記データグループを保持したまま最新の前記データグループを書き足す点にある。このような特徴によれば、N種類のデータグループをそれぞれM個のブロックの空き領域に複数回書き込む時に、上書きしたりせずに既に書き込まれたデータグループを保持したまま最新のデータグループを書き足すので、データグループの転記が行われず、データが破損欠落してしまうおそれがない。本発明に係るフラッシュメモリへのデータ書き込み方法においては、前記一単位を構成する前記ブロックの空き領域にN種類の前記データグループを複数回書き込むことによりN種類の前記データグループのいずれの最新の前記データグループも存在せず且ついずれの新たな前記データグループも書き込むことができない前記ブロックが現れたときに、当該ブロック内のデータを全て消去するステップをさらに有すると好適である。本方法によれば、N種類のデータグループの最新のデータグループが存在せず且ついずれの新たなデータグループも書き込むことができないブロックが現れた段階で、当該ブロック内のデータを全て消去する。このようなブロックはN種類のデータグループの最新のデータグループが存在しないので、データを消去しても最新のデータグループが失われることはない。またいずれの新たなデータグループも書き込むことができないのであれば、そのまま放置せずに、ブロック内のデータを消去することにより新たなデータグループを書き込めるようにする。データを消去するときは、既存の最新のデータグループの転記を行わないので、既存の最新のデータグループの一部が破損欠落してしまうおそれがなく、最新のデータグループのデータを誤りなく維持することができる。また、最新のデータグループを新たに書き込んでいる最中に通電が切断されて最新のデータグループを正常に書き込むことができなくても、既存の最新のデータグループはデータを消去していないブロックに存在している。よって、最新のデータグループのデータを誤りなく維持することができる。本発明に係るフラッシュメモリへのデータ書き込み方法においては、前記データグループには、書き込まれたデータグループが正しいか否かの誤り検出をするためのチェックデータが含まれていると好適である。本方法によれば、データグループ書き込み後に正しくデータが書き込まれたか否かの誤り検出を確実に行うことができる。本発明に係るフラッシュメモリへのデータ書き込み方法においては、前記データグループに、前記データグループの更新回数を示す更新回数データが含まれていると好適である。本方法によれば、同種のデータグループが複数回書き込まれているときに、いずれのデータグループが最新であるかを容易に判別することができる。以下、本発明の実施の形態について、図面に基づいて詳細に説明する。図1は、本発明の実施形態に係るフラッシュメモリ1を含むECUElectronicControlUnit2のソフトウェア構造を示す概略のブロック図である。フラッシュメモリ1は、車両用のECU2に搭載され、第1の車両用センサZ1ないし第Nの車両用センサZnN、nは自然数から取得した検出データや設定値が書き込まれ、読み取られ、または消去される。フラッシュメモリ1への検出データや設定値の書き込み、読み取り、消去等の処理は、第1の車両用センサZ1ないし第Nの車両用センサZnを動作させる第1のアプリケーションソフトウェアY1ないし第NのアプリケーションソフトウェアYnから指令を受けた第1のドライバX1ないし第N個のドライバXnにより実行される。本実施形態では、第Kの車両センサZkと第KのアプリケーションソフトウェアYkと第KのドライバXkが対応して一連の処理を実行する。KはN以下の任意の自然数であり、kはn以下の任意の自然数である。以後、Kおよびkは他のパラメータでも用いられるがその意味は同じである。第1の車両用センサZ1ないし第Nの車両用センサZnの検出データや設定値は適宜更新されるので、直近に更新された最新のデータや最新設定値を誤りなく保持することがフラッシュメモリ1において重要である。図1においては、N種類のデータグループを得るために、N種類のセンサやアプリケーションソフトウェア、ドライバを用いているが、これに限られない。1つのセンサやアプリケーションソフトウェアが複数のデータグループを作成するようにしてもよい。図2は、フラッシュメモリ1の構成を示す概念図である。図2の上段は、フラッシュメモリ1はその内部の記憶領域がP個のブロックB1、ブロックB2、、Bpに分けられていることを示している。Pおよびpは2以上の自然数である。これらのブロックそれぞれがデータ消去の単位である。また、P個のブロックの中でM個のブロックで一単位を構成する。すなわち、ブロックB1、ブロックB2、、ブロックBmで一単位を構成し、ブロックBm1、ブロックBm2、、ブロックB2mで一単位を構成する。MはNより大きくP以下の自然数である。また、mはnより大きくp以下の自然数である。ブロックB1、ブロックB2、、ブロックBpはそれぞれ32バイトの書き込み可能容量を持っている。ブロックB1、ブロックB2、、ブロックBmの空き領域には第1のデータグループD1、第2のデータグループD2、、第NのデータグループDnが複数回書き込まれる。第1のデータグループD1、第2のデータグループD2、、第NのデータグループDnはブロックに新たな書き込みがされるときでも上書きされることなく、既存の第1のデータグループD1、第2のデータグループD2、、第NのデータグループDnを保持したまま新たな第1のデータグループD1、第2のデータグループD2、、第NのデータグループDnが書き足される。すなわち、複数の第1のデータグループD1、複数の第2のデータグループD2、、複数の第NのデータグループDnがブロックB1、ブロックB2、、ブロックBm内に存在できる。図2の下段は、一単位を構成するブロックB1、ブロックB2、、ブロックBmに第1のデータグループD1、第2のデータグループD2、、第NのデータグループDnが複数回書き込まれている状態を表している。第KのデータグループDkはアプリケーションソフトウェアYkにて作成され、そのデータサイズは常に一定である。第KのデータグループDkには、そのデータ構成の中にIDおよび書き込み回数更新回数を示すデータが含まれている。IDおよび書き込み回数のデータにより、ブロックB1、ブロックB2、、ブロックBmに書き込まれたデータグループの中から、最新の第KのデータグループDkを特定できる。データグループのデータ構成については後述する。図3に、第KのデータグループDkがブロックB1、ブロックB2、、ブロックBmのいずれかに書き込まれるフローを示す。アプリケーションソフトウェアYkからドライバXkが第KのデータグループDkの書き込み命令を受けると、ドライバXkはブロックB1、ブロックB2、、ブロックBmを検索し、ブロックB1、ブロックB2、、ブロックBmのいずれかにデータグループが書き込まれているか否かを確認するS1。ブロックB1、ブロックB2、、ブロックBmのいずれのブロックにもデータグループが書き込まれていないときはS1のNo、ブロックB1の先頭のセルから第KのデータグループDkを書き込むS2。ブロックB1、ブロックB2、、ブロックBmのいずれかにデータグループが書き込まれているときはS1のYes、ドライバXkはブロックB1、ブロックB2、、ブロックBmの中から、第KのデータグループDkを書き込むことができる連続した空きセルを有するブロックを全て抽出するS3。データグループは一塊のデータとしてセルに書き込まれるため、第KのデータグループDkのデータサイズに相当する連続した空きセルがあるときに、第KのデータグループDkを書き込むことができると判断する。なお、同一ブロックに書き込まれた複数のデータグループの間には空きセルはなく、各データグループは連続して書き込まれる。次にドライバXkは、抽出されたブロックの中から、ブロックデータの消去回数が最も少ないブロックを全て抽出するS4。各ブロックのそれぞれのブロックデータの消去回数は、不図示の他のメモリに記憶されている。各ブロックのブロックデータが消去されると、ドライバXkはデータが消去されたブロックの情報を読み取り、ブロック番号と回数を他のメモリに記録する。アプリケーションソフトウェアYkはデータグループの書き込み時に他のメモリから消去回数の情報を読み出して各ブロックの消去回数を把握する。次にドライバXkは、抽出されたブロック数が2以上か否かを判断しS5、抽出されたブロック数が1の場合はS5のNo、当該ブロックに第KのデータグループDkを書き込むS7。抽出されたブロック数が2以上の場合はS5のYes、該当するブロックBの添え字1~mの中で該当するものの中で最も小さい添え字のブロックに第KのデータグループDkを書き込むS6。ブロックにデータグループを書き込む際は、当該ブロックに何のデータグループも書き込まれていないときには先頭のセルから書き込み、当該ブロックに既にデータグループが書き込まれているときには書き込まれたデータグループの最後尾のセルの次のセルから書き込む。なお、S2、S6、S7のステップにおいては、新たに書き込んだ第KのデータグループDkの誤り検出を行うことを含んでいる。誤り検出の手順については後述する。各ブロックのデータの消去回数は個別製品による上限があるが、データの消去回数の少ないブロックに優先的に新たなデータグループを書き込むことにより、データの消去回数の少ないブロックのデータが優先的に消去される可能性が高くなるので、各ブロックB1、ブロックB2、、ブロックBmの残存消去回数を平準化できる。それにより、各ブロックとも消去回数上限まで図3のフローに沿って第1のデータグループD1、第2のデータグループD2、、第NのデータグループDnを新たに書き込むことが可能になり、フラッシュメモリ1の製品としての寿命を長くすることができる。第KのデータグループDkの新たな書き込みS6、S7が正常に完了した後は、当該第KのデータグループDkを含む最新の第1のデータグループD1、最新の第2のデータグループD2、、最新の第NのデータグループDnが書き込まれているブロックを除いたそれ以外のブロックに、新たに第1のデータグループD1、第2のデータグループD2、、第NのデータグループDnのいずれかを書き込めるだけの連続した空きセルが存在するか否かを確認するS8。対象となる全てのブロックにおいていずれかのデータグループを書き込み可能な連続した空きセルが存在すればS8のYes、このフローを終了する。もし新たなデータグループを全く書き込むことができないブロックがあればS8のNo、当該ブロックのデータを全て消去してS9、このフローを終了する。このように、本実施形態においては、既にブロックに書き込まれている最新のデータグループの転記を行うことなく、第KのデータグループDkを新たに書き足すことができる。従って、最新のデータグループの一部が破損、欠落してしまうおそれがない。また、ブロックにおけるデータ消去中や第KのデータグループDkを新たに書き込んでいる最中に通電が切断されても、既存の最新の第KのデータグループDkはいずれかのブロックに残存しているので、既存の最新の第KのデータグループDkを誤りなく維持することができる。次に、データグループのブロックへの書き込みについてより具体的に説明する。以下では、4つのブロックM、m=4、すなわちブロックB1、ブロックB2、ブロックB3、ブロックB4を一単位として、3種類のデータグループN、n=3、すなわち第1のデータグループD1、第2のデータグループD2、第3のデータグループD3を書き込む場合について説明する。複数回書き込まれた第KのデータグループDkのそれぞれを区別して扱うために、最初に書き込まれた第KのデータグループをDk1、次に書き込まれた第KのデータグループをDk2、3回目に書き込まれた第KのデータグループをDk3のように記載する。図4aないし図4nにはそれぞれ4つのブロックB1、ブロックB2、ブロックB3、ブロックB4が示されている。各ブロックは1バイトのセル32個で構成されており、合計32バイトである。ブロック名称の右にあるカッコ内の数字、例えばブロックB10の0はブロックデータの消去回数を表している。図4aは、ブロックB1の先頭のセルから第1のデータグループD11が書き込まれた状態を示す概念図である。これは図3のS2の状態である。左からブロックB1、ブロックB2、ブロックB3、ブロックB4の順に並んでいる。図4aのブロックB1の第1のデータグループD11が示すように、ブロックにデータグループが書き込まれたセルは、ハッチングや塗りつぶしにより表示する。一方、ブロックB1におけるデータグループD11が書き込まれたセル以外のセル、ブロックB2、ブロックB3、ブロックB4の全てのセルは塗りつぶしをされていない。これらのセルはデータグループが書き込まれていないことを示している。第1のデータグループD1D11は、先頭から順に1バイトの第1のID11、3バイトの第1のデータ12、2バイトの第1のチェックデータ13、2バイトの第1の更新回数データ14から構成される8バイトのデータである。第1のID11はこのデータグループが第1のデータグループD1であることを示している。第1のデータ12は、第1の車両用センサZ1から取得した検出データや設定値のデータである。第1のチェックデータ13は、第1のデータ12を入力としてCRCCyclicRedundancyCheck演算により算出された誤り検出用のデータである。第1の更新回数データ14は、第1のデータグループD11がブロックに書き込まれた回数を示すデータである。なお、図4aないし図4nにおいて、太線で囲まれているデータグループが、書き込まれた最新のデータグループを示している。図4bは、図4aの状態から、ブロックB0に第2のデータグループD21が書き込まれた状態を示す概念図である。これは図3のS6の状態である。第2のデータグループD2D21は、先頭から順に1バイトの第2のID21、7バイトの第2のデータ22、2バイトの第2のチェックデータ23、2バイトの第2の更新回数データ24から構成される12バイトのデータである。図4aの状態では、最新の第1のデータグループD11が書き込まれているブロックB1には、24バイトの空きセルがあり、ブロックB2、ブロックB3、ブロックB4はそれぞれ32バイトの空きがあるため、ブロックB1ないしブロックB4のいずれのブロックにも第2のデータグループD21は書き込み可能である図3のS3。また、ブロックB1ないしブロックB4のいずれのデータ消去回数も0回である図3のS4からS5のYes。従って、ブロックの添字に一番小さいブロックB1の第1のデータグループD11の最後尾のセルの次のセルから第2のデータグループD21は書き込まれる。図4cは、図4bの状態から、ブロックB1に第1のデータグループD12が書き込まれた状態を示す概念図である。これは図3のS6の状態である。図4bの状態では、ブロックB1には12バイトの空きセルがあり、ブロックB2、ブロックB3、ブロックB4はそれぞれ32バイトの空きがあるため、ブロックB1ないしブロックB4のいずれのブロックにも第1のデータグループD12は書き込み可能である図3のS3。また、ブロックB1ないしブロックB4のいずれのデータ消去回数も0回である図3のS4からS5のYes。従って、ブロックの添字に一番小さいブロックB1の第2のデータグループD21の最後尾のセルの次のセルからに第1のデータグループD12は書き込まれる。なお、第1のデータグループD12が最新のデータグループになったので、図4c以降では最新のデータグループではない第1のデータグループD11は濃色で塗りつぶされて表示される。他のデータグループにおいても同様に、最新のデータグループでなくなった時点で濃色に塗りつぶされて表示される。図4dは、図4cの状態から、ブロックB2に第3のデータグループD31が書き込まれた状態を示す概念図である。これは図3のS6の状態である。第3のデータグループD3D31は、先頭から順に1バイトの第3のID31、5バイトの第3のデータ32、2バイトの第3のチェックデータ33、2バイトの第3の更新回数データ34から構成される10バイトのデータである。図4cの状態では、ブロックB1の空きセルは4バイトなので、ブロックB1に第3のデータグループD31を書き込むことはできない。ブロックB2、ブロックB3、ブロックB4はそれぞれ32バイトの空きがあるため、ブロックB2ないしブロックB4のいずれのブロックにも第3のデータグループD31は書き込み可能である図3のS3。また、ブロックB2ないしブロックB4のいずれのデータ消去回数も0回である図3のS4からS5のYes。従って、ブロックの添字に一番小さいブロックB2の先頭のセルから第3のデータグループD31は書き込まれる。図4eは、図4dの状態から、第3のデータグループD32、第3のデータグループD33、第3のデータグループD34が連続して書き込まれた状態を示す概念図である。これは図3のS6の状態である。図4dの状態では、ブロックB1の空きセルは4バイトなので、ブロックB1に第3のデータグループD32を書き込むことはできない。一方、ブロックB2は22バイト、ブロックB3、ブロックB4はそれぞれ32バイトの空きがあるため、ブロックB2ないしブロックB4のいずれのブロックにも第3のデータグループD32は書き込み可能である図3のS3。また、ブロックB2ないしブロックB4のいずれのデータ消去回数も0回である図3のS4からS5のYes。従って、ブロックの添字に一番小さいブロックB2の第3のデータグループD31の最後尾のセルの次のセルから第3のデータグループD32は書き込まれる。第3のデータグループD33についても同様に、ブロックB2の第3のデータグループD32の最後尾のセルの次のセルから書き込まれる。第3のデータグループD33が書き込まれた時点では、ブロックB1の空きセルは4バイトでブロックB2の空きセルは2バイトであるため、ブロックB1およびブロックB2には第3のデータグループD34を書き込むことはできない。しかし、ブロックB3、ブロックB4はそれぞれ32バイトの空きがあるため、ブロックB3およびブロックB4には第3のデータグループD34は書き込み可能である図3のS3。また、ブロックB3とブロックB4のいずれのデータ消去回数も0回である図3のS4からS5のYes。従って、ブロックの添字に一番小さいブロックB3の先頭のセルから第3のデータグループD34は書き込まれる。図4fは、図4eの状態から、ブロックB2の書き込みデータが消去された状態を示す概念図である。これは図3のS9の状態である。図4eの状態では、最新の第1のデータグループD12と最新の第2のデータグループD21はブロックB1に書き込まれており、最新の第3のデータグループD34はブロックB3に書き込まれている。ブロックB2には第3のデータグループD31ないし第3のデータグループD33が書き込まれているが、いずれも最新のデータグループではない。さらに、ブロックB2の空きセルは2バイトであり、8バイトの第1のデータグループD1、12バイトの第2のデータグループD2、10バイトの第3のデータグループD3のいずれをも新たに書き込むことができない図3のS8のNo。そこで、ブロックB2に書き込まれているデータを全て消去して図3のS9、新たなデータグループを書き込める状態にする。図4gは、図4fの状態から、ブロックB3に第1のデータグループD13、第1のデータグループD14が書き込まれた状態を示す概念図である。これは図3のS6の状態である。図4fの状態では、ブロックB1の空きセルは4バイトなので、ブロックB1に第1のデータグループD13を書き込むことはできない。ブロックB2には32バイト、ブロックB3には22バイト、ブロックB4には32バイトの空きがあるため、ブロックB2ないしブロックB4のいずれのブロックにも第1のデータグループD13は書き込み可能である図3のS3。また、ブロックB2のデータ消去回数は1回、ブロックB3とブロックB4のデータ消去回数は0回である。そこで、ブロックB3とブロックB4を書き込み対象のブロックとして抽出する図3のS4からS5のYes。ブロックB3とブロックB4とでは、ブロックB3の方がブロックの添字が小さいので、ブロックB3の第3のデータグループD34の次のセルから第1のデータグループD13は書き込まれる。同様に、第1のデータグループD14についてもブロックB3の第1のデータグループD13の次のセルから書き込まれる。図4hは、図4gの状態から、ブロックB4に第3のデータグループD35が書き込まれた状態を示す概念図である。これは図3のS7の状態である。図4gの状態では、ブロックB1の空きセルは4バイトで、ブロックB3の空きセルは6バイトなので、ブロックB1とブロックB3には第3のデータグループD35を書き込むことはできない。ブロックB2とブロックB4には32バイトの空きがあるため、ブロックB2とブロックB4のいずれのブロックにも第3のデータグループD35は書き込み可能である図3のS3。また、ブロックB2のデータ消去回数は1回、ブロックB4のデータ消去回数は0回である。そこで、ブロックB4だけが書き込み対象のブロックとなるので図3のS4からS5のNo、ブロックB4の先頭のセルから第3のデータグループD35は書き込まれる。図4iは、図4hの状態から、ブロックB4に第1のデータグループD15が書き込まれた状態を示す概念図である。これは図3のS7の状態である。図4hの状態では、ブロックB1の空きセルは4バイトで、ブロックB3の空きセルは6バイトなので、ブロックB1とブロックB3には第1のデータグループD15を書き込むことはできない。ブロックB2は32バイト、ブロックB4は22バイトの空きがあるため、ブロックB2とブロックB4のいずれのブロックにも第1のデータグループD15は書き込み可能である図3のS3。また、ブロックB2のデータ消去回数は1回、ブロックB4のデータ消去回数は0回である。そこで、ブロックB4だけが書き込み対象のブロックとなるので図3のS4からS5のNo、ブロックB4の第3のデータグループD35の最後尾のセルの次のセルから第1のデータグループD15は書き込まれる。図4jは、図4iの状態から、ブロックB3の書き込みデータが消去された状態を示す概念図である。これは図3のS9の状態である。図4iの状態では、最新の第1のデータグループD15と最新の第3のデータグループD35はブロックB4に書き込まれており、最新の第2のデータグループD21はブロックB1に書き込まれている。ブロックB3には第3のデータグループD34、第1のデータグループD13、第1のデータグループD14が書き込まれているが、いずれも最新のデータグループではない。さらに、ブロックB3の空きセルは6バイトであり、8バイトの第1のデータグループD1、12バイトの第2のデータグループD2、10バイトの第3のデータグループD3のいずれをも新たに書き込むことができない図3のS8のNo。そこで、ブロックB3に書き込まれているデータを全て消去して図3のS9、新たなデータグループを書き込める状態にする。図4kは、図4jの状態から、ブロックB4に第1のデータグループD16が書き込まれた状態を示す概念図である。これは図3のS7の状態である。図4jの状態では、ブロックB1の空きセルは4バイトなので、ブロックB1には第1のデータグループD16を書き込むことはできない。ブロックB2とブロックB3は32バイト、ブロックB4は14バイトの空きがあるため、ブロックB2ないしブロックB4のいずれのブロックにも第1のデータグループD16は書き込み可能である図3のS3。また、ブロックB2とブロックB3のデータ消去回数は1回、ブロックB4のデータ消去回数は0回である。そこで、ブロックB4だけが書き込み対象のブロックとなるので図3のS4からS5のNo、ブロックB4の第1のデータグループD15の最後尾のセルの次のセルから第1のデータグループD16は書き込まれる。図4lは、図4kの状態から、ブロックB2に第2のデータグループD22が書き込まれた状態を示す概念図である。これは図3のS6の状態である。図4kの状態では、ブロックB1の空きセルは4バイトでブロックB4の空きセルは6バイトなので、ブロックB1とブロックB4には第2のデータグループD22を書き込むことはできない。ブロックB2とブロックB3は32バイトの空きがあるため、ブロックB2とブロックB4のいずれのブロックにも第2のデータグループD22は書き込み可能である図3のS3。また、ブロックB2とブロックB3のデータ消去回数はどちらも1回である。従って、ブロックの添字に一番小さいブロックB2の先頭のセルから第2のデータグループD22は書き込まれる。図4mは、図4lの状態から、ブロックB1の書き込みデータが消去された状態を示す概念図である。これは図3のS9の状態である。図4lの状態では、最新の第1のデータグループD16と最新の第3のデータグループD35はブロックB4に書き込まれており、最新の第2のデータグループD22はブロックB2に書き込まれている。ブロックB1には第1のデータグループD11、第2のデータグループD21、第1のデータグループD12が書き込まれているが、いずれも最新のデータグループではない。さらに、ブロックB1の空きセルは4バイトであり、8バイトの第1のデータグループD1、12バイトの第2のデータグループD2、10バイトの第3のデータグループD3のいずれをも新たに書き込むことができない図3のS8のNo。そこで、ブロックB1に書き込まれているデータを全て消去して図3のS9、新たなデータグループを書き込める状態にする。図4nは、図4mの状態から、ブロックB1に第2のデータグループD23が書き込まれた状態を示す概念図である。これは図3のS6の状態である。図4mの状態では、ブロックB4の空きセルは6バイトなので、ブロックB4には第2のデータグループD22を書き込むことはできない。一方、ブロックB1とブロックB3の空きセルは32バイトあり、ブロックB2の空きセルは20バイトあるため、ブロックB1ないじブロックB3のいずれのブロックにも第2のデータグループD23は書き込み可能である図3のS3。また、ブロックB1ないしブロックB3のデータ消去回数はいずれも1回である。従って、ブロックの添字に一番小さいブロックB1の先頭のセルから第2のデータグループD23は書き込まれる。以後も、図3のフローに従って、第1のデータグループD1、第2のデータグループD2、第3のデータグループD3がブロックに書き込まれたり、ブロックのデータが消去されたりする。このようにブロックにある既存の最新の第1のデータグループD1、第2のデータグループD2、第3のデータグループD3の転記を行うことなく、新たな第1のデータグループD1、第2のデータグループD2、第3のデータグループD3とを書き足すことができる。従って、既存の最新の第1のデータグループD1、第2のデータグループD2、第3のデータグループD3の一部が破損、欠落してしまうおそれがない。また、ブロックにおけるデータ消去中や新たな第1のデータグループD1、第2のデータグループD2、第3のデータグループD3を書き込んでいる最中に通電が切断されても、既存の最新の第1のデータグループD1、第2のデータグループD2、第3のデータグループD3は残存しており、それらを誤りなく維持することができる。さらには、ブロックB1ないしブロックB4のそれぞれの残り消去回数を平準化できる。それにより、消去回数上限まで図3のフローに沿って第1のデータグループD1、第2のデータグループD2、第3のデータグループD3を新たに書き込むことが可能になり、フラッシュメモリ1の製品としての寿命を長くすることができる。本実施形態においては、4つのブロックを一単位として、3種類のデータグループを書き込む場合について説明した。しかし、本発明は本実施形態に限られず、M>Nを充足するM個のブロックにN種類のデータグループを書き込む場合に適用することができる。次に、第1のデータグループD11がブロックB1に正常に書き込まれたか否かの誤り検出について説明する。第KのアプリケーションソフトウェアYkは、第KのデータグループDkのブロックへの書き込み後に、その書き込みが正常に完了したか否かの誤り検出をしている。図5に、第1のデータグループD11がブロックB1に正常に書き込まれたか否かの誤り検出をするフローを示す。まず、第1のデータ12を第1の車両用センサZ1から取得しS51。第1のアプリケーションソフトウェアY1は、取得した第1のデータ12からCRC演算により書き込み前の第1のチェックデータ13aを算出するS52。そして、第1のID11、第1のデータ12、書き込み前の第1のチェックデータ13a、第1の更新回数データ14を統合し、第1のデータグループD11を構成するS53。第1のデータグループD11は、図3の手順に従い、第1のドライバX1によりフラッシュメモリ1のブロックB1に書き込まれるS54。第1のデータグループD11のブロックB1への書き込みが完了すると、書き込みが正常に完了したか否かの誤り検出を行う。具体的には、ブロックB1に書き込まれた第1のデータ12が第1のドライバX1により読み取られS55、第1のアプリケーションソフトウェアY1に送られる。第1のアプリケーションソフトウェアY1は当該読み取られた第1のデータ12を入力として新たにCRC演算し、書き込み後の第1のチェックデータ13bを算出するS56。そして、書き込み前の第1のチェックデータ13aの値と書き込み後の第1のチェックデータ13bの値とを比較するS57。書き込み前の第1のチェックデータ13aと書き込み後の第1のチェックデータ13bの値が同じであればS57のYes、第1のデータ12はブロックB1に正しく書き込まれたと判断し、フローは終了する。書き込み前の第1のチェックデータ13aと書き込み後の第1のチェックデータ13bの値が異なっていれば、ブロックB1に正しく書き込まれなかったと判断されるS57のNo。正しく書き込まれなかったと判断されたときには、再度図3の手順に従い、第1のデータグループD11をブロックの他の空き領域に書き込むS58。このようにして、ブロックB1に書き込まれた第1のデータグループD11は正確性が担保される。本発明は、書き換え可能な不揮発性メモリの一種であるフラッシュメモリに用いることが可能である。