(57)【要約】  フラッシュメモリ内蔵マイコンは、順に更新される２つのメモリブロックを含む。それぞれのメモリブロックは、ブロック管理情報とデータを格納する複数のスロットとを含む。ブロック管理情報はデータが更新された順を示す更新カウンタを含む。複数のスロットの各々は、更新されたデータと、その書込みが完了した旨の書込み完了フラグ（ＷＣＭ）とを有し、複数のスロットについて、所定の順でデータが更新され、２つのメモリブロックの更新カウンタに基づいて最も新しく更新されたメモリブロックを検出するメモリブロック検出手段（Ｓ１４）と、メモリブロック検出手段の検出したメモリブロックにおいて、所定の順および書込み完了フラグを考慮して最も新しくデータの書込みが完了したスロットを検出するスロット検出手段（Ｓ１５〜Ｓ１７）とを含む。
2016046940.tif 000002
【特許請求の範囲】
【請求項１】
順に更新される２つのメモリブロックを含み、
前記それぞれのメモリブロックは、ブロック管理情報とデータを格納する複数のスロットとを含み、
前記ブロック管理情報はデータが更新された順を示す更新カウンタを含み、
前記複数のスロットの各々は、更新されたデータと、その書込みが完了した旨の書込み完了フラグとを有し、
前記複数のスロットについて、所定の順でデータが更新され、
前記２つのメモリブロックの更新カウンタに基づいて最も新しく更新されたメモリブロックを検出するメモリブロック検出手段と、
前記メモリブロック検出手段の検出したメモリブロックにおいて、前記所定の順および前記書込み完了フラグを考慮して最も新しくデータの書込みが完了したスロットを検出するスロット検出手段とを含む、フラッシュメモリ内蔵マイコン。
【請求項２】
前記メモリブロックは所定のフォーマットに構成され、
前記メモリブロックが前記所定のフォーマットに構成されたことを示すフォーマット完了フラグを有し、
前記ブロック管理情報は前記フォーマット完了フラグを含む、請求項１に記載のフラッシュメモリ内蔵マイコン。
【請求項３】
前記メモリブロックはブロックが消去されたときにその完了を示す消去完了フラグを有し、
前記ブロック管理情報は前記消去完了フラグを含む、請求項１または２に記載のフラッシュメモリ内蔵マイコン。
【請求項４】
前記メモリブロックは所定のユーザデータのサイズを有し、
前記ブロック管理情報は前記ユーザデータのサイズを含む、請求項１〜３のいずれかに記載のフラッシュメモリ内蔵マイコン。
【請求項５】
前記ブロック管理情報は、前記更新カウンタをビット反転したビット反転カウンタを含む、請求項１〜４のいずれかに記載のフラッシュメモリ内蔵マイコン。
【請求項６】
順に更新される２つのメモリブロックを含む、マイコンに内蔵されたフラッシュメモリへのデータの書込み方法であって、
それぞれのメモリブロックは、ブロック管理情報とデータを格納する複数のスロットとを含み、
ブロック管理情報はデータが更新された順を示す更新カウンタを含み、
複数のスロットの各々は、更新されたデータと、その書込みが完了した旨の書込み完了フラグとを有し、
前記複数のスロットについて、所定の順でデータが更新され、
前記２つのメモリブロックの更新カウンタに基づいて最も新しく更新されたメモリブロックを検出するステップと、
検出ステップで検出されたメモリブロックにおいて、所定の順および書込み完了フラグを考慮して最も新しくデータの書込みが完了したスロットを検出するステップとを含む、マイコンに内蔵されたフラッシュメモリへのデータ書込み方法。
【請求項７】
順に更新される２つのメモリブロックを含む、内蔵されたフラッシュメモリを有するマイコンにおける、フラッシュメモリへのデータを書込むプログラムであって、
それぞれのメモリブロックは、ブロック管理情報とデータを格納する複数のスロットとを含み、
ブロック管理情報はデータが更新された順を示す更新カウンタを含み、
複数のスロットの各々は、更新されたデータと、その書込みが完了した旨の書込み完了フラグとを有し、
複数のスロットについて、所定の順でデータが更新され、
マイコンを、２つのメモリブロックの更新カウンタに基づいて最も新しく更新されたメモリブロックを検出するステップと、
検出ステップで検出されたメモリブロックにおいて、所定の順および書込み完了フラグを考慮して最も新しくデータの書込みが完了したスロットを検出するステップとを含む、ように実行させる、マイコンを用いて内蔵されたフラッシュメモリへデータを書込むプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明はフラッシュメモリ内蔵マイコン、マイコンに内蔵されたフラッシュメモリへのデータ書込み方法、および、フラッシュメモリへのデータを書込むプログラムに関し、特に、電源断を考慮したフラッシュメモリ内蔵マイコン、マイコンに内蔵されたフラッシュメモリへのデータ書込み方法、および、フラッシュメモリへのデータを書込むプログラムに関する。
【背景技術】
【０００２】
ＩＣカード等に搭載されたフラッシュメモリ内蔵マイコンにおいて、不揮発メモリ上のデータ更新時の電源断等による異常終了時のメモリの管理方法が提案されている。例えば、特開２００８−３０５２６３号公報（特許文献１）に記載されている。同公報によれば、複数アドレスからなるメモリセルブロックを複数備える不揮発性メモリと、メモリセルブロック単位での一括消去処理、所定アドレス数の記憶領域単位またはビット単位での書き込み処理、メモリセルブロック単位でのデータ更新処理の制御を行うメモリ制御手段を備える不揮発性半導体記憶装置のメモリの管理方法において、データ更新処理が複数の要素処理を含み、メモリセルブロックが、データ領域と実行中の要素処理を特定可能なステータス情報を記憶するステータス情報記憶領域を備え、ステータス情報の夫々が、上書き込み処理の実行のみでステータス情報記憶領域を次に実行する要素処理のステータス情報に更新可能なデータ構成を有している。また、メモリセルブロックは、物理アドレス以外に論理アドレスを記憶する必要がある（特許文献１、段落番号００４８）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００８−３０５２６３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
従来のフラッシュメモリ内蔵マイコンが内蔵している不揮発性メモリに対するデータ更新処理及び電源断等に対する異常対応処理は上記のように行われていた。ビット単位での書き込み処理が必要であるとともに、メモリセルブロックは、物理アドレス以外に論理アドレスを記憶する必要があった。【０００５】
しかしながら、物理アドレスと論理アドレスとを記憶するため、本来保存すべきユーザデータに対する管理データが増加するために、マイコンに内蔵されているフラッシュメモリを有効に使用できなくなるとともに、処理速度が低下するという問題があった。【０００６】
この発明は上記のような問題点を解消するためになされたもので、フラッシュメモリが有効に使用でき、省スペースが図れるとともに、電源断等に対処するための無駄なデータの書込み読み出しを不要にし、省電力が可能であるフラッシュメモリ内蔵マイコン、マイコンに内蔵されたフラッシュメモリへのデータ書込み方法、および、フラッシュメモリへのデータを書込むプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
この発明に係るフラッシュメモリ内蔵マイコンは、順に更新される２つのメモリブロックを含む。それぞれのメモリブロックは、ブロック管理情報とデータを格納する複数のスロットとを含む。ブロック管理情報はデータが更新された順を示す更新カウンタを含む。複数のスロットの各々は、更新されたデータと、その書込みが完了した旨の書込み完了フラグとを有し、複数のスロットについて、所定の順でデータが更新され、２つのメモリブロックの更新カウンタに基づいて最も新しく更新されたメモリブロックを検出するメモリブロック検出手段と、メモリブロック検出手段の検出したメモリブロックにおいて、所定の順および書込み完了フラグを考慮して最も新しくデータの書込みが完了したスロットを検出するスロット検出手段とを含む。【０００８】
好ましくは、メモリブロックは所定のフォーマットに構成され、メモリブロックが所定のフォーマットに構成されたことを示すフォーマット完了フラグを有し、ブロック管理情報はフォーマット完了フラグを含む。【０００９】
さらに好ましくは、メモリブロックはブロックが消去されたときにその完了を示す消去完了フラグを有し、ブロック管理情報は消去完了フラグを含む。【００１０】
メモリブロックは所定のユーザデータのサイズを有し、ブロック管理情報はユーザデータのサイズを含んでもよい。【００１１】
ブロック管理情報は、更新カウンタをビット反転したビット反転カウンタを含んでもよい。【００１２】
この発明の他の局面は、順に更新される２つのメモリブロックを含む、マイコンに内蔵されたフラッシュメモリへのデータの書込み方法である。それぞれのメモリブロックは、ブロック管理情報とデータを格納する複数のスロットとを含み、ブロック管理情報はデータが更新された順を示す更新カウンタを含み、複数のスロットの各々は、更新されたデータと、その書込みが完了した旨の書込み完了フラグとを有し、複数のスロットについて、所定の順でデータが更新される。マイコンに内蔵されたフラッシュメモリへのデータの書込み方法は、２つのメモリブロックの更新カウンタに基づいて最も新しく更新されたメモリブロックを検出するステップと、検出ステップで検出されたメモリブロックにおいて、所定の順および書込み完了フラグを考慮して最も新しくデータの書込みが完了したスロットを検出するステップとを含む。【００１３】
この発明のさらに他の局面は、順に更新される２つのメモリブロックを含む、内蔵されたフラッシュメモリを有するマイコンにおける、フラッシュメモリへのデータを書込むプログラムである。それぞれのメモリブロックは、ブロック管理情報とデータを格納する複数のスロットとを含み、ブロック管理情報はデータが更新された順を示す更新カウンタを含み、複数のスロットの各々は、更新されたデータと、その書込みが完了した旨の書込み完了フラグとを有し、複数のスロットについて、所定の順でデータが更新され、プログラムは、２つのメモリブロックの更新カウンタに基づいて最も新しく更新されたメモリブロックを検出するステップと、検出ステップで検出されたメモリブロックにおいて、所定の順および書込み完了フラグを考慮して最も新しくデータの書込みが完了したスロットを検出するステップとを含む、ように実行させる。【００１４】
この発明によれば、２つのメモリブロックを用いて、２つのメモリブロックのうちのより遅く更新されたメモリブロックを検出し、検出されたメモリブロックにおいて、最も遅くデータの書込みが完了したスロットを検出するため、どのスロットのデータが最新の更新データかを判断できる。
【発明の効果】
【００１５】
電源断等に対処するために、従来のようなビット操作や、物理アドレスと論理アドレスとを記憶するといった必要がない。【００１６】
その結果、フラッシュメモリが有効に使用でき、省スペースが図れるとともに、電源断等に対処するための無駄なデータの書込み読み出しを不要にし、省電力が可能であるフラッシュメモリ内蔵マイコン、マイコンに内蔵されたフラッシュメモリへのデータ書込み方法、および、フラッシュメモリへのデータを書込むプログラムを提供できる。  
【図面の簡単な説明】
【００１７】
【図１】フラッシュメモリ内蔵マイコンの全体構成を示すブロック図である。
【図２】所定のフォーマットを有する２つのブロックを示す図である。
【図３】スロットの構成、および、そこに格納されるデータの例を示す図である。
【図４】ブロックの遷移と電源断時の処理内容を示すフローチャートである。
【図５】ブロックの切り替わりを示すフローチャートである。
【発明を実施するための形態】
【００１８】
以下、この発明の一実施の形態を、図面を参照して説明する。図１はこの発明が適用されるフラッシュメモリ内蔵マイコンの全体構成を示すブロック図である。図１を参照して、フラッシュメモリ内蔵マイコン１０は、マイコン１０の制御部であるＣＰＵ１１と、ＣＰＵ１１を駆動するためのプログラムやデータを格納するフラッシュメモリ１２と、作業領域としてのＲＡＭのようなメモリ１３と、複数のブロックを有するブロック領域１４とを含む。
【００１９】
ブロック領域１４は、ブロック０、ブロック１、ブロック２、…、ブロックｎを含む。
【００２０】
ここで、フラッシュメモリ１２は、従来のＥＥＰＲＯＭの代わりに使用できる。そのため、ここでは、単一のデータのみを格納するものとする。
【００２１】
図２はフラッシュメモリ１２に格納される所定のフォーマットを有する２つのブロックの具体的構成を示す図である。この実施の形態においては、これらの所定のフォーマットを有する２つのブロックを用いて、電源断のような、プログラムが正常に終了しなかったときの処理を行う。
【００２２】
図２を参照して、所定のフォーマットを有するブロックはブロック０とブロック１とを含む。ブロック０は、ブロック管理情報記憶部２１と複数のスロット２２ａ〜２２ｃとを含む。
【００２３】
ブロック管理情報はＥＣＭ（Erase Complete Mark、消去完了フラグ）と、更新カウンタと、更新カウンタをビット反転した反転情報を含む更新カウンタ（ビット反転）と、ユーザデータのサイズ情報と、ＦＣＭ（Format Complete Mark,フォーマット完了フラグ）と、を含む。
【００２４】
ＥＣＭはブロックの消去が完了していることを示す情報（０ｘ５Ａ）を格納する。ＦＣＭはブロックのフォーマットが完了していることを示す情報（０ｘＡ５）を格納する。ユーザデータのサイズ情報は、スロットに格納されるユーザデータのサイズを格納する。ユーザデータのサイズとしては、例えば、１６バイトや、５１２バイト等である。
【００２５】
更新カウンタは、スロットに格納されるデータの順を格納する。初期値はＦＦＦＦＦＦＦＥ（１６進）であり、順に０００００００１（１６進）まで減算される。更新カウンタ（ビット反転）は更新カウンタの１６進によるビット反転した情報を格納する。カウンタ情報がＦＦＦＦＦＦＦＥであれば、更新カウンタ（ビット反転）は０００００００１（１６進）である。カウンタ情報と更新カウンタ（ビット反転）とが格納されるのは電源断が発生して、更新カウンタが正しく書込めたか否かを判断するために使用する。
【００２６】
ブロック管理情報を書き込むときは、次の手順で行う。まず、ブロックをイレーズ（消去）する。ＥＣＭを書き込む。更新カウンタ、更新カウンタ（ビット反転）を書き込む。サイズ情報を書き込む。その後、ＦＣＭ（Format Complete Mark、フォーマット完了フラグ）を書き込む。
【００２７】
スロットの構成、および、そこに格納されるデータの例を図３に示す。図３（Ａ）はスロットの構成を示す図であり、図３（Ｂ）はスロットの所定の位置に格納されたデータとそのデータにおけるスロットの状態を示す図である。
【００２８】
図３（Ａ）を参照して、スロット２２はユーザデータエリア２３とＷＣＭ記録領域２４とを含む。ユーザデータエリア２３にユーザがユーザデータを書き込むときは、１バイト目から書き込む。データの書込みが完了したら、その旨を示すＷＣＭ（Write Complete Mark、書込み完了フラグ）をＷＣＭ記録領域２４に記録する。
【００２９】
ここで、データの書込みの流の順は、ＥＣＭ、更新カウンタ、更新カウンタ（ビット反転）、サイズ情報、および、ＦＣＭとなる。それぞれのデータの初期値（ブロックが消去されて何も書かれていないとき）のデータは０ｘＦＦで埋められる。
【００３０】
スロットへのデータの書込みは、まずブロック０のスロット２２ａから行われ、スロット２２ｂ、…スロット２２ｃの順に行われる。ブロック０のスロットがすべて書き込まれてフルブロックになると、次に、ブロック１のスロット３２ａ、スロット３２ｂ、…スロット３２ｃの順に行われる。スロット３２ｃまで書き込まれると、次は、ブロック０のスロット２２ａに戻る。以下、これを繰り返す。
【００３１】
図３（Ｂ）を参照して、ユーザデータエリア２３の１バイト目のデータとＷＣＭ記録領域２４のデータをチェックすれば、そのスロットの状態が判断できる。すなわち、１バイト目とＥＣＭのデータが、０ｘＦＦと０ｘＦＦであれば、何も書き込まれていないため、フリースロットである。１バイト目とＥＣＭのデータが、０ｘＦＦでない値と０ｘＦＦ、または、０ｘＦＦでない値と０ｘＦ０でない値であれば、書込みの途中で電源断等が生じたスロットである。１バイト目が０ｘＦＦでなく、ＦＣＭのデータが０ｘＦ０であれば、正しく記録されたスロットである。
【００３２】
次に、ブロックの遷移と電源断時の処理内容について説明する。図４はＣＰＵ１１が電源断後に実行する処理内容を示すフローチャートである。図４を参照して、電源断が発生すると、まず、２つのブロックの状態を確認する（ステップＳ１１、以下ステップを省略する）。ブロック管理情報からＥＣＭ，更新カウンタ、更新カウンタ（ビット反転）、ユーザデータのサイズ、ＦＣＭがＯＫか否かを判断する（Ｓ１２）。
【００３３】
Ｓ１２ですべての値がＯＫであれば、フォーマット完了ブロックであると判断する（Ｓ１３）。そして、そのブロックの中で、最新のスロットを見つける。
【００３４】
Ｓ１２でブロック管理情報の値がＯＫでなければ（消去完了ブロック、または、不定状態ブロックであれば）（Ｓ１２でＮＯ）、ＥＣＭがＯＫか否かを判断する（Ｓ２６）。ＥＣＭがＯＫであれば（Ｓ２６でＹＥＳ）、消去（イレーズ）完了ブロックであると判断して（Ｓ２７）、ブロックのフォーマットを実行し、ブロックにブロック管理情報を書き込む（Ｓ２８）、ＦＣＭを書き込んで（Ｓ２９）フォーマットを完了してＳ１３へ進む。
【００３５】
次に、Ｓ１３に示すフォーマット完了ブロックに対する処理について説明する。まず、２つあるブロックの更新カウンタをチェックして、値が小さい方のブロックを見つける（Ｓ１４）。見つけた更新カウンタの値が小さい方のブロックを、スロットの書込み順（所定の順）とは逆順にみて、ＷＣＭが０ｘＦ０になっているスロットを見つける（Ｓ１５）。スロットが見つからないときは（Ｓ１６でＹＥＳ）、他方のブロックについてＷＣＭが０ｘＦ０になっているスロットを見つける（Ｓ１７）。このスロットが最新のスロットである（Ｓ１８）。一方、Ｓ１６でスロットが見つかるときは（Ｓ１６でＮＯ）、そのスロットが最新のスロットになる（Ｓ１８）。
【００３６】
最新のスロットが発見されると（Ｓ１８）、次に、最新のスロットからデータが読み出すか否かを判断する（Ｓ１９）。読み出すときは（Ｓ１９でＹＥＳ）、データを読みだす（Ｓ２０）。読み出さないときは（Ｓ１９でＮＯ）、フリースロットを見つける（Ｓ２１）。スロットに空きがあるか否かを判断する（Ｓ２２）。スロットに空きがあれば（Ｓ２２でＹＥＳ）、フリースロットにユーザデータを書き込んで（Ｓ２３）、ＷＣＭを書き込んで（Ｓ２４）、Ｓ１９に戻る。
【００３７】
Ｓ２２でスロットに空きがないときは（Ｓ２２でＮＯ）、ブロックがフルブロックの状態であるから（Ｓ２５）、Ｓ３１へ進んでブロックの消去（イレーズ）を行い（Ｓ３１）、ＥＣＭを書き込んで（Ｓ３２）、消去完了ブロックとして、Ｓ２７へ進む。Ｓ２６でＥＣＭがＯＫでないときは（Ｓ２６でＮＯ）、不定状態ブロックとして（Ｓ３０）、Ｓ３１へ進む。
【００３８】
次にブロックの切り替わりについて説明する。図５はブロックの切り替りを示すフローチャートである。図５を参照して、ここでは、２つのブロックとして、ブロック０とブロック１との変遷について説明する。
【００３９】
ブロック０で不定状態のブロックについて（Ｓ４１）、ブロックを消去し（Ｓ４２）、ＥＣＭを書き込み（Ｓ４３）、消去完了ブロックとする（Ｓ４４）。これをフォーマット処理して（Ｓ４５）、ＦＣＷを書き込んで（Ｓ４６）、フォーマット完了ブロックとする（Ｓ４７）。このブロックのフリースロットにデータを書き込む（Ｓ４８）。すべてのフリースロットに書き込みが完了してフルブロックの状態になると、Ｓ５２に進んでブロック１の消去を行う。
【００４０】
次にブロック１について説明する。ブロック１もブロック０と同様である。ブロック１の不定状態のブロックについて（Ｓ５１）、ブロックを消去し（Ｓ５２）、ＥＣＭを書き込み（Ｓ５３）、イレーズ完了ブロックとする（Ｓ５４）。これをフォーマット処理して（Ｓ５５）、ＦＣＷを書き込んで（Ｓ５６）、フォーマット完了ブロックとする（Ｓ５７）。このブロックのフリースロットにデータを書き込む（Ｓ５８）。
【００４１】
すべてのフリースロットに書き込みが完了してフルブロックの状態になると（Ｓ５９）、ブロック０に戻って上記の処理を再度行って、ブロックのイレーズを行い、フォーマットを行い、ＦＣＷの書込みを行い、ユーザデータをフリースロットに書込み、最後にフルブロックとする（Ｓ６０、Ｓ６１）。ブロック０がフルブロックになると、ブロック１について同様の処理を行う（Ｓ６２、Ｓ６３）。以下、この処理を繰り返す。
【００４２】
以上のように、この実施の形態においては、所定のフォーマットを有する２つのブロックを用いて、最後に処理されたブロックを特定する。
【００４３】
その結果、処理の途中で電源断等が生じても、どこまで処理が完了していたのかを判断でき、そのブロックから新たな処理を続行することができる。
【００４４】
図面を参照してこの発明の実施形態を説明したが、本発明は、図示した実施形態に限定されるものではない。本発明と同一の範囲内において、または均等の範囲内において、図示した実施形態に対して種々の変更を加えることが可能である。
【産業上の利用可能性】
【００４５】
この発明によると、電源断等に対処するための無駄なデータの書込み読み出しを不要にし、省電力が可能であるとともに、ビット単位での書込み操作を必要としないフラッシュメモリ内蔵マイコンを提供できるため、フラッシュメモリ内蔵マイコンとして有利に利用される。
【符号の説明】
【００４６】
１０  フラッシュメモリ内蔵マイコン、１１  ＣＰＵ、１２  フラッシュメモリ、１３  ＲＡＭ、１４  メモリブロック、２０，３１  ブロック管理情報、２２、３２  スロット。
【図１】
2016046940.tif 000003
【図２】
2016046940.tif 000004
【図３】
2016046940.tif 000005
【図４】
2016046940.tif 000006
【図５】
2016046940.tif 000007
【手続補正書】
【提出日】平成29年2月28日(2017.2.28)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
順に更新される２つのみのメモリブロックを含み、
前記それぞれのメモリブロックは、ブロック管理情報とデータを格納する複数のスロットとを含み、
前記ブロック管理情報はデータが更新された順を示す更新カウンタを含み、
前記複数のスロットの各々は、更新されたデータと、その書込みが完了した旨の書込み完了フラグとを有し、
前記複数のスロットについて、所定の順でデータが更新され、
前記２つのみのメモリブロックの更新カウンタに基づいて最も新しく更新されたメモリブロックを検出するメモリブロック検出手段と、
前記メモリブロック検出手段の検出したメモリブロックにおいて、前記所定の順および前記書込み完了フラグを考慮して最も新しくデータの書込みが完了したスロットを検出するスロット検出手段とを含む、フラッシュメモリ内蔵マイコン。
【請求項２】
前記メモリブロックは所定のフォーマットに構成され、
前記メモリブロックが前記所定のフォーマットに構成されたことを示すフォーマット完了フラグを有し、
前記ブロック管理情報は前記フォーマット完了フラグを含む、請求項１に記載のフラッシュメモリ内蔵マイコン。
【請求項３】
前記メモリブロックはブロックが消去されたときにその完了を示す消去完了フラグを有し、
前記ブロック管理情報は前記消去完了フラグを含む、請求項１または２に記載のフラッシュメモリ内蔵マイコン。
【請求項４】
前記メモリブロックは所定のユーザデータのサイズを有し、
前記ブロック管理情報は前記ユーザデータのサイズを含む、請求項１〜３のいずれかに記載のフラッシュメモリ内蔵マイコン。
【請求項５】
前記ブロック管理情報は、前記更新カウンタをビット反転したビット反転カウンタを含む、請求項１〜４のいずれかに記載のフラッシュメモリ内蔵マイコン。
【請求項６】
順に更新される２つのみのメモリブロックを含む、マイコンに内蔵されたフラッシュメモリへのデータの書込み方法であって、
それぞれのメモリブロックは、ブロック管理情報とデータを格納する複数のスロットとを含み、
ブロック管理情報はデータが更新された順を示す更新カウンタを含み、
複数のスロットの各々は、更新されたデータと、その書込みが完了した旨の書込み完了フラグとを有し、
前記複数のスロットについて、所定の順でデータが更新され、
前記２つのみのメモリブロックの更新カウンタに基づいて最も新しく更新されたメモリブロックを検出するステップと、
検出ステップで検出されたメモリブロックにおいて、所定の順および書込み完了フラグを考慮して最も新しくデータの書込みが完了したスロットを検出するステップとを含む、マイコンに内蔵されたフラッシュメモリへのデータ書込み方法。
【請求項７】
順に更新される２つのみのメモリブロックを含む、内蔵されたフラッシュメモリを有するマイコンにおける、フラッシュメモリへのデータを書込むプログラムであって、
それぞれのメモリブロックは、ブロック管理情報とデータを格納する複数のスロットとを含み、
ブロック管理情報はデータが更新された順を示す更新カウンタを含み、
複数のスロットの各々は、更新されたデータと、その書込みが完了した旨の書込み完了フラグとを有し、
複数のスロットについて、所定の順でデータが更新され、
マイコンを、２つのみのメモリブロックの更新カウンタに基づいて最も新しく更新されたメモリブロックを検出するステップと、
検出ステップで検出されたメモリブロックにおいて、所定の順および書込み完了フラグを考慮して最も新しくデータの書込みが完了したスロットを検出するステップとを含む、ように実行させる、マイコンを用いて内蔵されたフラッシュメモリへデータを書込むプログラム。
【国際調査報告】
2016046940.tif 000008
2016046940.tif 000009
2016046940.tif 000010
2016046940.tif 000011