(57)【特許請求の範囲】
【請求項１】
複数のメモリブロックに分割されたメモリ装置内のデータを前記メモリブロック毎に個別に更新するメモリ装置のデータ更新方法において、
前記複数のメモリブロックに各メモリブロック毎のデータ更新回数を示す回数データを記憶する回数データ領域を設け、
データ更新中のメモリブロックの回数データを、他のメモリブロックの回数データを用いてバックアップすることを特徴とするメモリ装置のデータ更新方法。
【請求項２】
前記データ更新中のメモリブロックの回数データを、前記他のメモリブロックの回数データの最大値を用いてバックアップすることを特徴とする請求項１に記載のメモリ装置のデータ更新方法。
【請求項３】
前記データ更新中のメモリブロックの回数データを、前記他のメモリブロックの回数データの平均値を用いてバックアップすることを特徴とする請求項１に記載のメモリ装置のデータ更新方法。
【請求項４】
前記複数のメモリブロックのうちの少なくとも１つをバックアップ用メモリブロックとして用い、前記バックアップ用メモリブロックの回数データ領域に他のメモリブロックの回数データを記憶させたことを特徴とする請求項１に記載のメモリ装置のデータ更新方法。
【請求項５】
前記他のメモリブロック内のデータ更新時には、前記他のメモリブロック内のデータを更新した後に前記バックアップ用メモリブロック内のデータを更新し、
前記バックアップ用メモリブロック内のデータ更新時には、前記他のメモリブロックのうちの少なくとも１つのデータを更新した後に前記バックアップ用メモリブロック内のデータを更新し、
前記バックアップ用メモリブロックの回数データを、前記他のメモリブロックの回数データの和を用いてバックアップすることを特徴とする請求項４に記載のメモリ装置のデータ更新方法。
【請求項６】
前記メモリブロックを複数のグループに分割し、
前記グループの数に対応した複数のバックアップ用メモリブロックを設定し、
前記各バックアップ用メモリブロックに、前記各グループ毎の他のメモリブロックの回数データを記憶させたことを特徴とする請求項４または請求項５に記載のメモリ装置のデータ更新方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、複数のメモリブロックに分割されたメモリ装置のデータ更新方法に関し、特に各メモリブロック毎のデータ更新回数をバックアップできるメモリ装置のデータ更新方法に関するものである。
【０００２】
【従来の技術】
従来より、たとえば、自動車用エンジンの制御装置などに用いられる電子制御ユニット（ＥＣＵ）には、種々の制御用プログラムデータおよびパラメータ演算用データなどを格納するためのメモリ装置が設けられている。
【０００３】
このようなメモリ装置には、たとえば、ＥＥＰＲＯＭやフラッシュメモリなどの電気的にデータ書き換え（更新）可能なメモリ装置がある。
【０００４】
通常、フラッシュメモリなどのメモリ装置のデータを更新する場合には、メモリ装置の寿命を常に管理してＥＣＵの機能を保障するため、および、ユーザなどによる不正なデータ更新の有無をチェックするために、データ更新と同時に更新回数（回数データ）を常に記憶する必要がある。
【０００５】
図１７および図１８はたとえば特開平８−２７３３９０号公報に記載された従来のメモリ装置のデータ更新方法を説明するための図であり、図１７はメモリ装置内の分割領域を示すブロック図、図１８はメモリブロック内のデータを消去する場合の処理動作を示すフローチャートである。
【０００６】
図１７において、１はフラッシュメモリ、２はフラッシュメモリ１内で分割された複数のメモリブロック、５は各メモリブロック２内に構成された回数データ領域である。
【０００７】
各メモリブロック２は、たとえば６４Ｋバイトの領域を有している。また、各回数データ領域５は、たとえば３バイトの領域からなり、各メモリブロック２毎のデータ更新回数（回数データ）を記憶する。
【０００８】
次に、図１８を参照しながら、図１７に示した従来のメモリ装置のデータ更新方法について説明する。
【０００９】
通常、メモリ装置のデータを更新するためには、ツールと称される外部ハードウェアを用いられるが、この外部ハードウェアは、あらかじめ更新対象となるブロック２を認識しており、各ブロック２内の回数データ領域５のアドレス位置も認識している。
【００１０】
一般に、フラッシュメモリ１は、データの上書きが不可能なので、更新対象となるブロック２内のデータを一旦消去する必要がある。この場合、外部ハードウェア内には、更新対象ブロックの情報および更新データなどがあらかじめ格納されているものとする。
【００１１】
また、回数データの領域は、ブロックが消去されたときの限定データ値（または、消去値）と重複しないようになっている。
【００１２】
図１８において、まず、フラッシュメモリ１にデータ書込み用の外部ハードウェア（図示せず）を接続し、外部ハードウェアからフラッシュメモリ１に、消去対象となるブロック２に対するデータ消去命令を出力する（ステップＳ１）。
【００１３】
外部ハードウェアは、ブロック消去命令の生成（ステップＳ１）に続いて、消去対象ブロック２の回数データを外部ハードウェア内のメモリに退避させ（ステップＳ２）、消去対象ブロック２内のデータ（回数データを含む）を消去する（ステップＳ３）。
【００１４】
次に、対処ブロックに更新データを書き込む（ステップＳ４）。このとき、ブロック２の回数データ領域には、ステップＳ２で退避していた回数データを１回分だけインクリメントした新規の回数データが書き込まれる。
【００１５】
こうして、図１８の処理を終了し、各ブロック２内には、正確な回数データが格納される。
【００１６】
したがって、もし、回数データ領域５内の回数データがフラッシュメモリ１の寿命回数（たとえば、１００００回）に到達すれば、警告を発生することにより、メモリ装置の交換を促すことができる。または、これ以上のデータ更新を禁止して、ＥＣＵ機能を保障することができる。
【００１７】
また、たとえば、メーカ出荷時の各ブロックの回数データと各ブロックの回数データとが異なる場合には、出荷以降にデータが変更されたことが分かるので、不正な書き換えがあったことを知ることができる。
【００１８】
しかし、図１８に示した処理手順において、回数データを退避させて（ステップＳ２）、ブロック２のデータを消去（ステップＳ３）した直後にトラブルが発生し、外部ハードウェアの電源がダウンした場合には、退避させた回数データが消失してしまうので、消去対象ブロック２の回数データを二度と復帰させることはできない。
【００１９】
【発明が解決しようとする課題】
従来のメモリ装置のデータ更新方法は以上のように行われているので、ブロック２のデータ消去後に外部ハードウェア側でトラブルが発生して退避データが消失すると、ブロック２の回数データを復帰させることができないという問題点があった。
【００２０】
この発明は上記のような問題点を解決するためになされたもので、ブロックデータ消去後に外部ハードウェア側のトラブル発生により退避中の回数データが消失しても、更新対象となるブロックの回数データを復帰させることのできるメモリ装置のデータ更新方法を得ることを目的とする。
【００２１】
【課題を解決するための手段】
この発明の請求項１に係るメモリ装置のデータ更新方法は、複数のメモリブロックに分割されたメモリ装置内のデータをメモリブロック毎に個別に更新するメモリ装置のデータ更新方法において、複数のメモリブロックに各メモリブロック毎のデータ更新回数を示す回数データを記憶する回数データ領域を設け、データ更新中のメモリブロックの回数データを、他のメモリブロックの回数データを用いてバックアップするものである。
【００２２】
また、この発明の請求項２に係るメモリ装置のデータ更新方法は、請求項１において、データ更新中のメモリブロックの回数データを、他のメモリブロックの回数データの最大値を用いてバックアップするものである。
【００２３】
また、この発明の請求項３に係るメモリ装置のデータ更新方法は、請求項１において、データ更新中のメモリブロックの回数データを、他のメモリブロックの回数データの平均値を用いてバックアップするものである。
【００２４】
また、この発明の請求項４に係るメモリ装置のデータ更新方法は、請求項１において、複数のメモリブロックのうちの少なくとも１つをバックアップ用メモリブロックとして用い、バックアップ用メモリブロックの回数データ領域に他のメモリブロックの回数データを記憶させたものである。
【００２５】
また、この発明の請求項５に係るメモリ装置のデータ更新方法は、請求項４において、他のメモリブロック内のデータ更新時には、他のメモリブロック内のデータを更新した後にバックアップ用メモリブロック内のデータを更新し、バックアップ用メモリブロック内のデータ更新時には、他のメモリブロックのうちの少なくとも１つのデータを更新した後にバックアップ用メモリブロック内のデータを更新し、バックアップ用メモリブロックの回数データを、他のメモリブロックの回数データの和を用いてバックアップするものである。
【００２６】
また、この発明の請求項６に係るメモリ装置のデータ更新方法は、請求項４または請求項５において、メモリブロックを複数のグループに分割し、グループの数に対応した複数のバックアップ用メモリブロックを設定し、各バックアップ用メモリブロックに、各グループ毎の他のメモリブロックの回数データを記憶させたものである。
【００２７】
【発明の実施の形態】
実施の形態１．
以下、この発明の実施の形態１を図について説明する。
図１〜図５はこの発明の実施の形態１の処理手順を示す説明図であり、前述と同様に、メモリ装置としてフラッシュメモリ１を用いた場合を示している。
各図において、１、２および５は前述（図１７参照）と同様のものである。
【００２８】
フラッシュメモリ１において、各ブロック２内の「Ａ１」、「Ａ２」は更新前のデータ内容を示し、各回数データ領域５内の「ｎ１」、「ｎ２」は更新前の回数を示している。
【００２９】
１０はフラッシュメモリ１に接続される外部ハードウェアであり、各更新データ内容「Ｂ１」、「Ｂ２」を格納するブロック１２と、更新中のブロック２の回数データを退避させて格納するためのバッファ１５とを有する。
【００３０】
ここでは、便宜的に、フラッシュメモリ１内の２つのブロック２と、外部ハードウェア１０内の２つのブロック１２とを対応させて示しているが、フラッシュメモリ１および外部ハードウェア１０内のそれぞれのブロック数は、任意に設定され得る。また、回数データ領域５の各ブロック２内での位置（アドレス位置）も任意に設定され得る。
【００３１】
次に、図１〜図５を参照しながら、この発明の実施の形態１の処理動作について説明する。
なお、ここでは、代表的に、フラッシュメモリ１内の１つのブロック２のデータ内容「Ａ１」を「Ｂ１」に更新する場合を例にとって説明するが、フラッシュメモリ１内の全領域のデータを更新する場合には、同様の更新処理が各ブロック２毎に順次に繰り返し実行されるのみである。
【００３２】
まず、フラッシュメモリ１に接続された外部ハードウェア１０は、更新対象となるブロック２の回数データ領域５から、現在の回数データ値「ｎ１」を読み込み、図１（破線矢印参照）のようにバッファ１５内に格納する。
【００３３】
続いて、図２のように、更新対象となるブロック２のデータを消去するが、このとき、外部ハードウェア１０が健全ならば、消去されたブロック２の回数データ「ｎ１」は、バッファ１５内に退避されている。
【００３４】
したがって、図示を省略するが、外部ハードウェア１０は、消去されたブロック２内に更新データ「Ｂ１」を格納すると同時に、このブロック２の回数データ領域５内に新規の回数データ「ｎ１＋１」を格納して、データ更新処理を終了することになる。
【００３５】
しかしながら、図２の状態で外部ハードウェア１０にトラブルが発生すると、電源ダウンによりバッファ１５内の回数データ「ｎ１」は消失する。
したがって、外部ハードウェア１０を再起動させても、図３のように、ブロック１２内のデータ「Ｂ１」、「Ｂ２」は復帰するものの、バッファ１５内の回数データは復帰しない。
【００３６】
この場合、外部ハードウェア１０は、消去されていない他のブロック２の回数データ「ｎ２」を読み込み、図４（破線矢印参照）のように、バッファ１５内に格納する。
【００３７】
次に、バッファ１５内において、回数データ「ｎ２」をインクリメントして新規の回数データ「ｎ２＋１」を生成する。続いて、これを更新後の回数データとして、図５（破線矢印参照）のように、更新データ「Ｂ１」の格納と同時に、更新対象となるブロック２の回数データ領域５内に「ｎ２＋１」を格納する。
【００３８】
このように、データ更新中のブロック２の回数データ「ｎ１」を、他のブロック２の回数データ「ｎ２」を用いてバックアップすることができる。
【００３９】
通常、１つのフラッシュメモリ１内の各ブロック２の更新回数は、近似していると見なされるので、他のブロック２の回数データ「ｎ２」を用いても大きな支障が生じることはない。
特に、常にフラッシュメモリ１内の全領域を更新する場合には、各ブロック２毎の更新回数が一致しているので、復帰された回数データは正確である。
【００４０】
したがって、外部ハードウェア１０でトラブルが発生して退避データが消失しても、他のブロック２の回数データからデータ更新回数を復帰させて常に把握することができるので、メモリ装置１の寿命の保障および警告を報知することができるとともに、不正なデータ更新が行われたことを認識することができる。
【００４１】
また、データ更新回数を復帰させるための別のメモリ装置を必要としないので、コストアップを招くこともない。
【００４２】
ここでは、メモリ装置がフラッシュメモリ１の場合について説明したが、ＥＥＰＲＯＭやＨＤなどの他のメモリ装置にも適用可能なことは言うまでもない。
また、メモリ装置自体がハード的に分割されていても適用可能であり、たとえば、複数個のメモリ装置を用いた場合には、複数個のメモリ装置が複数のメモリブロック２に相当することになる。
【００４３】
実施の形態２．
なお、上記実施の形態１では、フラッシュメモリ１内の２つのブロック２のみに注目して、他のブロック２の回数データ「ｎ２」をバックアップデータとしたが、他の複数のブロックに注目してバックアップデータを生成してもよい。
【００４４】
たとえば、データ更新中のブロック２の回数データ「ｎ１」を、他のメモリブロックの回数データ「ｎ２」、「ｎ３（図示せず）」・・・のうちの最大値「ｎｍａｘ」を用いてバックアップしてもよい。
【００４５】
この場合、消失した回数データ「ｎ１」のバックアップ値として、推定可能な範囲内の最大値「ｎｍａｘ」が用いられるので、フラッシュメモリ１の寿命回数に到達し易いことから、メモリ装置の寿命チェックに対して安全側の管理を実現することができる。
【００４６】
実施の形態３．
なお、上記実施の形態２では、消失した回数データ「ｎ１」のバックアップ値として、他のブロックの回数データ「ｎ２」、「ｎ３」・・・のうちの最大値「ｎｍａｘ」を用いたが、平均値「ｎｍｅａｎ」を用いてもよい。
【００４７】
この場合、他のブロックの更新回数の平均値「ｎｍｅａｎ」がバックアップ値として用いられるので、フラッシュメモリ１の平均的な寿命管理を実現することができる。
【００４８】
実施の形態４．
なお、上記実施の形態３では、消失した回数データ「ｎ１」のバックアップ値として、他のブロックの回数データ「ｎ２」、「ｎ３」・・・のうちの平均値「ｎｍｅａｎ」を用いたが、最小値「ｎｍｉｎ」を用いてもよい。
【００４９】
実施の形態５．
なお、上記実施の形態１〜４では、他のブロック２の回数データを用いて更新対象ブロック２の回数データ「ｎ１」をバックアップしたが、複数のブロック２のうちの少なくとも１つをバックアップ用メモリブロック（以下、「バックアップブロック」という）として用い、バックアップブロックの回数データ領域５に他のブロック２（更新対象ブロックを含む）の回数データを記憶させてもよい。
【００５０】
以下、複数のブロック２のうちの１つをバックアップブロックとして用いたこの発明の実施の形態５について説明する。
図６〜図１５はこの発明の実施の形態５の処理手順を示す説明図であり、前述と同様に、メモリ装置としてフラッシュメモリ１を用いた場合を示している。
【００５１】
図６〜図１５において、前述と同様のものについては、同一符号を付して詳述を省略する。
ここでは、フラッシュメモリ１内の３つ目のブロック２０がバックアップブロックとして機能するものとする。
【００５２】
バックアップブロック２０は、他のブロック２と同様に回数データ領域２５を有する。
この場合、バックアップブロック２０の回数データ領域２５内には、他のブロック２の回数データ「ｎ１」および「ｎ２」が格納されている。
【００５３】
また、バックアップブロック２０内の「Ａ３」は更新前のデータ内容、外部ハードウェア１０内の「Ｂ３」は更新データ内容を示している。
【００５４】
なお、ここでは、フラッシュメモリ１および外部ハードウェア１０内の各３つのブロック内のデータ内容「Ａ１」〜「Ａ３」と「Ｂ１」〜「Ｂ３」とを対応させて示しているが、これらのブロック数は、任意に設定され得る。
また、前述と同様に、回数データ領域５の各ブロック２内での位置（アドレス位置）も任意に設定され得る。
【００５５】
以下、１つのブロック２のデータ内容「Ａ１」を「Ｂ１」に更新する場合を例にとって説明する。
ここでは、データ内容「Ａ１」および「Ｂ１」は互いに異なっているものとする。また、他のデータ内容、すなわち「Ａ２」および「Ｂ２」、ならびに、「Ａ３」および「Ｂ３」は、それぞれ、互いに同一内容であるものとする。
【００５６】
まず、外部ハードウェア１０は、図６において、前述の図１と同様に、更新対象となるブロック２の回数データ領域５から、現在の回数データ値「ｎ１」を読み込み、バッファ１５内に格納する（破線矢印参照）。
【００５７】
続いて、図７のように更新対象ブロック２のデータ「Ａ１」を消去するが、このとき、外部ハードウェア１０が健全ならば、回数データ「ｎ１」がバッファ１５内に退避されているので、図８のように、更新対象ブロック２内に更新データ「Ｂ１」および新規の回数データ「ｎ１＋１」が格納される。
【００５８】
その後、バックアップブロック２０に格納されている回数データ「ｎ１」を「ｎ１＋１」に更新する。
このときの処理は、前述のデータ内容「Ａ１」を「Ｂ１」に更新した場合と同様である。
【００５９】
すなわち、バックアップブロック２０内の回数データ「ｎ１」および「ｎ２」を外部ハードウェア１０のバッファ１５に退避させた後、図９のように、バックアップブロック２０のデータ「Ａ３」を消去する。
【００６０】
ここで、外部ハードウェア１０が健全ならば、回数データ「ｎ１」のみをインクリメントし、図１０のように、バックアップブロック２０にデータ内容「Ｂ３（＝Ａ３）」を格納すると同時に、回数データ「ｎ１＋１」および「ｎ２」を格納する。
こうして、ブロック２内のデータ内容「Ａ１」が「Ｂ１」に更新される。
【００６１】
しかしながら、図７の状態で外部ハードウェア１０にトラブルが発生すると、バッファ１５内の回数データ「ｎ１」が消失する。
したがって、外部ハードウェア１０を再起動させても、図１１のように、ブロック１２内のデータ「Ｂ１」〜「Ｂ３」は復帰するものの、バッファ１５内の回数データは復帰しない。
【００６２】
この場合、外部ハードウェア１０は、バックアップブロック２０内の回数データ領域２５から更新対象ブロック２の回数データ「ｎ１」を読み込み、図１２内の破線矢印のように、バッファ１５内に格納する。
【００６３】
続いて、バッファ１５内において、回数データ「ｎ１」をインクリメントして新規の回数データ「ｎ１＋１」を生成する。以降は、トラブル発生前と同様の処理により、図１３のように、既に消去された更新対象ブロック２内に、データ内容「Ｂ１」を格納すると同時に、バッファ１５内の回数データ「ｎ１＋１」を格納する。
【００６４】
このように、データ更新中のブロック２の回数データ「ｎ１」が、バックアップブロック２０内の回数データ領域２５に常に格納されていることにより、回数データ「ｎ１」を正確にバックアップすることができる。
【００６５】
以上の処理動作は、２つ目のブロック２のデータ内容「Ａ２」を更新する場合でも同様であり、バッファ１５に退避させた回数データ「ｎ２」が消失したときには、バックアップブロック２０内の回数データ領域２５から正確な回数データ「ｎ２」を読み込めばよい。
【００６６】
一方、図９の状態で外部ハードウェア１０にトラブルが発生すると、バッファ１５内の回数データ「ｎ１」および「ｎ２」が消失する。
したがって、外部ハードウェア１０を再起動しても、図１４のように、ブロック１２内のデータ内容「Ｂ１」〜「Ｂ３」は復帰するものの、バッファ１５内の回数データは復帰しない。
【００６７】
この場合、外部ハードウェア１０は、図１５のように、更新対象ブロック２の回数データ「ｎ１＋１」と、更新対象でないブロック２内の回数データ「ｎ２」とを読み込み、バッファ１５に格納する。
【００６８】
続いて、トラブル発生前と同様の処理により、既に消去されたバックアップブロック２０にデータ内容「Ｂ３」を格納すると同時に、バッファ１５内の回数データ「ｎ１＋１」および「ｎ２」を格納する。
こうして、どのような状況下においても、正しく回数データをバックアップすることができる。
【００６９】
実施の形態６．
なお、上記実施の形態５では、特に言及しなかったが、バックアップブロック２０のデータ更新時に、他のブロック２のうちの少なくとも１つの更新動作に続いて、必ずバックアップブロック２０を更新すれば、バックアップブロック２０の回数データは、他のブロック２の回数データの和「ｎ１＋ｎ２」を用いて正確に表わすことができる。
【００７０】
すなわち、１つのブロック２を更新対象とする場合に、前述と同様の処理を実行することにより、どのような状況下においても、正しく回数データをバックアップすることができる。
【００７１】
一方、バックアップブロック２０を更新対象とする場合には、まず、他のブロック２のうちの少なくとも１つのデータを更新した後に、バックアップブロック２０内のデータを更新する。
【００７２】
たとえば、図６内のデータ内容「Ａ３」を「Ｂ３」に更新する場合を例にとり、各データ内容「Ａ１」および「Ｂ１」、ならびに、「Ａ２」および「Ｂ２」がそれぞれ同一内容であるとする。
【００７３】
このとき、上記実施の形態５の場合と同様に、１つ目のブロック２のデータ内容「Ａ１」を「Ｂ１」に更新すると、更新対象ブロックの回数データは、「ｎ１」から「ｎ１＋１」に更新される。
【００７４】
その後、本来の更新処理として、上記実施の形態５の場合と同様に、データ内容を「Ａ３」から「Ｂ３」に更新すると、バックアップブロック２０の回数データ領域２５内の回数データは、「ｎ１＋１」および「ｎ２」に更新される。
このとき、バックアップブロック２０の更新回数は、「Ｎ１＋１＋ｎ２」である。
【００７５】
このように、ブロック２またはバックアップブロック２０のデータ更新時にかかわらず、必ず、ブロック２のうちの少なくとも１つの更新動作に続いてバックアップブロック２０を更新することにより、バックアップブロック２０の回数データを、他のブロックの回数データの和を用いて正確にバックアップすることができる。
【００７６】
ここでは、更新対象ブロック２の更新動作に続いて、更新対象でないブロックのうちの１つのブロックを更新してバックアップブロック２０を更新したが、更新対象でない２つのブロックを連続更新してから、バックアップブロック２０を更新してもよい。
【００７７】
実施の形態７．
なお、上記実施の形態５では、フラッシュメモリ１内に１つのバックアップブロック２０のみを設けたが、フラッシュメモリ１内のブロック２をグループ分けして、各グループ毎に対応した複数のバックアップブロックを設けてもよい。
【００７８】
図１６はブロック２を複数のグループに分割して複数のバックアップブロックを設けたこの発明の実施の形態７に用いられるメモリ装置の構成を示す説明図であり、１、２、５、２０、２５およびｎ１〜ｎ６は前述（図６参照）と同様のものである。
【００７９】
図１６において、「Ａ１」〜「Ａ３」はブロック２のうちの一方のグループのデータ内容、「Ａ４」〜「Ａ７」はブロック２のうちの他方のグループのデータ内容である。
【００８０】
この場合、バックアップブロック２０内の回数データ領域２５は、ブロック２のうちの一方のグループの回数データ「ｎ１」、「ｎ２」を格納している。
【００８１】
また、２０ａはフラッシュメモリ１内の別のバックアップブロックであり、バックアップブロック２０ａ内の回数データ領域２５ａは、ブロック２のうちの他方のグループの回数データ「ｎ４」〜「ｎ６」を格納している。
【００８２】
図１６のように構成されたフラッシュメモリ１を更新する場合、一方のグループに対しては、一方のバックアップブロック２０が回数データの復帰に寄与し、他方のグループに対しては、他方のバックアップブロック２０ａが回数データの復帰に寄与する。
【００８３】
このように、フラッシュメモリ１内のブロック２を複数のグループに分割し、各グループ毎にバックアップブロック２０、２０ａを設けることにより、ブロック２の総数が増大しても、バックアップブロックの更新回数のみが著しく増大して寿命回数に到達してしまうことを防止することができる。
【００８４】
また、１つのバックアップブロックに格納される回数データ量が軽減されるので、バックアップブロック内の回数データ領域の容量を軽減することができる。
【００８５】
また、この場合、各グループをそれぞれ１つのブロックおよび１つのバックアップブロックで構成すれば、１つのグループ内において２つのブロックが常に同時に更新されることから、１つのブロック内の各ブロックの回数データが同一のデータ値となり、回数データの管理が容易になる。また、回数データ領域の容量を軽減することができる。
【００８６】
さらに、各グループが３つ以上のブロックで構成されている場合でも、１つのグループ内で或るブロック（バックアップブロックも含む）を更新するときに、必ず全てのブロックを更新するようにすれば、バックアップブロックの回数データが他のブロックの回数データの和となるうえ、他のブロックの回数データは同一値となって管理が容易になる。
【００８７】
【発明の効果】
以上のようにこの発明の請求項１によれば、複数のメモリブロックに分割されたメモリ装置内のデータをメモリブロック毎に個別に更新するメモリ装置のデータ更新方法において、複数のメモリブロックに各メモリブロック毎のデータ更新回数を示す回数データを記憶する回数データ領域を設け、データ更新中のメモリブロックの回数データを、他のメモリブロックの回数データを用いてバックアップするようにしたので、ブロックデータ消去後に外部ハードウェア側のトラブル発生により退避中の回数データが消失しても、更新対象となるメモリブロックの回数データを復帰させることができ、寿命管理や不正なデータ更新のチェックが可能なメモリ装置のデータ更新方法が得られる効果がある。
【００８８】
また、この発明の請求項２によれば、請求項１において、データ更新中のメモリブロックの回数データを、他のメモリブロックの回数データの最大値を用いてバックアップするようにしたので、ブロックデータ消去後に外部ハードウェア側のトラブル発生により退避中の回数データが消失しても、更新対象となるメモリブロックの回数データを復帰させることができるうえ、メモリ寿命を安全側でチェックすることのできるデータ更新方法が得られる効果がある。
【００８９】
また、この発明の請求項３によれば、請求項１において、データ更新中のメモリブロックの回数データを、他のメモリブロックの回数データの平均値を用いてバックアップするようにしたので、ブロックデータ消去後に外部ハードウェア側のトラブル発生により退避中の回数データが消失しても、更新対象となるメモリブロックの回数データを復帰させることができるうえ、メモリ寿命を適切にチェックすることのできるデータ更新方法が得られる効果がある。
【００９０】
また、この発明の請求項４によれば、請求項１において、複数のメモリブロックのうちの少なくとも１つをバックアップ用メモリブロックとして用い、バックアップ用メモリブロックの回数データ領域に他のメモリブロックの回数データを記憶させたので、ブロックデータ消去後に外部ハードウェア側のトラブル発生により退避中の回数データが消失しても、更新対象となるメモリブロックの回数データを正確に復帰させることのできるデータ更新方法が得られる効果がある。
【００９１】
また、この発明の請求項５によれば、請求項４において、他のメモリブロック内のデータ更新時には、他のメモリブロック内のデータを更新した後にバックアップ用メモリブロック内のデータを更新し、バックアップ用メモリブロック内のデータ更新時には、他のメモリブロックのうちの少なくとも１つのデータを更新した後にバックアップ用メモリブロック内のデータを更新し、バックアップ用メモリブロックの回数データを、他のメモリブロックの回数データの和を用いてバックアップするようにしたので、ブロックデータ消去後に外部ハードウェア側のトラブル発生により退避中の回数データが消失しても、更新対象となるメモリブロックの回数データを正確に復帰させることができるうえ、バックアップ用メモリブロック内の回数データ領域の容量を軽減することのできるデータ更新方法が得られる効果がある。
【００９２】
また、この発明の請求項６によれば、請求項４または請求項５において、メモリブロックを複数のグループに分割し、グループの数に対応した複数のバックアップ用メモリブロックを設定し、各バックアップ用メモリブロックに、各グループ毎の他のメモリブロックの回数データを記憶させたので、ブロックデータ消去後に外部ハードウェア側のトラブル発生により退避中の回数データが消失しても、更新対象となるメモリブロックの回数データを復帰させることができるうえ、各バックアップ用メモリブロックの回数データ領域容量および更新回数を抑制することのできるデータ更新方法が得られる効果がある。
【図面の簡単な説明】
【図１】この発明の実施の形態１による回数データ退避処理を示す説明図である。
【図２】この発明の実施の形態１によるデータ消去処理を示す説明図である。
【図３】この発明の実施の形態１におけるトラブル発生時のデータ消失状態を示す説明図である。
【図４】この発明の実施の形態１による回数データバックアップ処理を示す説明図である。
【図５】この発明の実施の形態１によるデータ更新処理を示す説明図である。
【図６】この発明の実施の形態５による回数データ退避処理を示す説明図である。
【図７】この発明の実施の形態５によるデータ消去処理を示す説明図である。
【図８】この発明の実施の形態５によるデータ消去処理を示す説明図である。
【図９】この発明の実施の形態５によるデータ消去処理を示す説明図である。
【図１０】この発明の実施の形態５によるデータ消去処理を示す説明図である。
【図１１】この発明の実施の形態５におけるトラブル発生時のデータ消失状態を示す説明図である。
【図１２】この発明の実施の形態５による回数データバックアップ処理を示す説明図である。
【図１３】この発明の実施の形態５によるデータ更新処理を示す説明図である。
【図１４】この発明の実施の形態５によるデータ更新処理を示す説明図である。
【図１５】この発明の実施の形態５によるデータ更新処理を示す説明図である。
【図１６】この発明の実施の形態７に用いられるメモリ装置の構成を示す説明図である。
【図１７】一般的なメモリ装置の構成を示す説明図である。
【図１８】従来のメモリ装置のデータ更新方法を示すフローチャートである。
【符号の説明】
１  フラッシュメモリ（メモリ装置）、２  ブロック（メモリブロック）、５、２５、２５ａ  回数データ領域、１０  外部ハードウェア、２０、２０ａ  バックアップブロック（バックアップ用メモリブロック）、Ａ１〜Ａ７  データ内容、Ｂ１〜Ｂ３  更新後のデータ内容、ｎ１〜ｎ６  回数データ。
【図１】
0003583639.tif 000002
【図２】
0003583639.tif 000003
【図３】
0003583639.tif 000004
【図４】
0003583639.tif 000005
【図５】
0003583639.tif 000006
【図６】
0003583639.tif 000007
【図７】
0003583639.tif 000008
【図８】
0003583639.tif 000009
【図９】
0003583639.tif 000010
【図１０】
0003583639.tif 000011
【図１１】
0003583639.tif 000012
【図１２】
0003583639.tif 000013
【図１３】
0003583639.tif 000014
【図１４】
0003583639.tif 000015
【図１５】
0003583639.tif 000016
【図１６】
0003583639.tif 000017
【図１７】
0003583639.tif 000018
【図１８】
0003583639.tif 000019