フラッシュメモリと、データ群の単位で前記フラッシュメモリへアクセスするメモリ制御回路とを備えた半導体装置であって、前記データ群は、データと前記データに関連づけられた付加情報である付加ビットデータとの組を複数備え、前記フラッシュメモリは、前記データを複数格納するデータ領域と前記付加ビットデータを複数格納する付加ビット領域とを備え、前記メモリ制御回路は、前記フラッシュメモリへの前記データ群の書き込み時は、前記データが前記データ群の識別情報である第1のデータの場合、前記第1のデータに関連付けられた第1の付加ビットデータを前記付加ビット領域に書き込み、前記データが前記データ群の識別情報でない第2のデータの場合、前記第2のデータに関連付けられ前記第1の付加ビットデータとは異なる第2の付加ビットデータを前記付加ビット領域に書き込むことを特徴とする半導体装置。前記メモリ制御回路は、前記データ群の書き込み時、アドレスを昇順または降順のいずれか一方の第1の方向に、前記フラッシュメモリのアドレスを変えて、前記付加ビット領域の各アドレスに格納された値を読み出し、読み出した値が、前記第1の付加ビットデータの値となった第1のアドレスを検出し、前記第1のアドレスから見て、前記第1の方向とは逆の第2の方向に変えたアドレスを基点に前記データ群を書き込むことを特徴とする請求項1に記載の半導体装置。前記メモリ制御回路は、前記データ群の書き込み時、前記データ群を前記組単位で前記フラッシュメモリに書き込み、1つの組の書き込みごとに前記アドレスを前記第2の方向に変えて書き込むこと特徴とする請求項2に記載の半導体装置。前記メモリ制御回路は、前記データ群の書き込み時、前記第1のデータと前記第1の付加ビットデータとの組を前記データ群の書き込みの最後に行うことを特徴とする請求項3に記載の半導体装置。前記メモリ制御回路は、前記データ群の書き込み時、前記組のデータを書き込んだ後、前記組の付加ビットデータを書き込むことを特徴とする請求項3または4のいずれか一に記載の半導体装置。前記メモリ制御回路は、前記データ群の読み出し時、アドレスを前記第1の方向または前記第2の方向のいずれか一方の方向に、前記フラッシュメモリのアドレスを変えて、前記付加ビット領域の各アドレスに格納された値を読み出し、読み出した値が第1の値と同じ値であるアドレスに格納された前記付加ビットデータに関連付けられた前記第1のデータを抽出し、抽出された第1のデータが読み出すべき識別情報であるデータ群を読み出すことを特徴とする請求項1乃至5のいずれか一に記載の半導体装置。前記第1の付加ビットデータは、前記フラッシュメモリの消去状態を示す値と逆の値である第1の値であることを特徴とする請求項1乃至6のいずれか一に記載の半導体装置。前記第1の値は0であることを特徴とする請求項6または7のいずれか一に記載の半導体装置。前記第2の付加ビットデータは1であることを特徴とする請求項1乃至8のいずれか一に記載の半導体装置。前記データが格納された前記データ領域のアドレスと前記付加ビットデータが格納された前記付加ビット領域のアドレスとが同一である場合、前記メモリ制御回路は、前記データと前記付加ビットデータとを関連付けることを特徴とする請求項1乃至9のいずれか一に記載の半導体装置。前記データが格納された前記データ領域のアドレスの一部が前記付加ビットデータが格納された付加ビット領域のアドレスの一部と同一である場合、前記メモリ制御回路は、前記データと前記付加ビットデータとを関連付けることを特徴とする請求項1乃至9のいずれか一に記載の半導体装置。前記付加ビットデータのビット長は、1ビットであることを特徴とする請求項1乃至11のいずれか一に記載の半導体装置。前記フラッシュメモリの付加ビット領域の1アドレスに対応付けられたビット幅が1ビットであることを特徴とする請求項1乃至11のいずれか一に記載の半導体装置。前記第1のデータと前記第1の付加ビットデータとの組と前記第2のデータと前記第2の付加ビットデータとの組とは、前記データ領域および前記付加ビット領域の互いに異なるアドレスに格納されることを特徴とする請求項1に記載の半導体装置。前記半導体装置は、さらに中央演算装置を備え、前記メモリ制御回路は、前記中央演算装置の命令に従って、前記フラッシュメモリへのアクセスを実行することを特徴とする請求項1乃至12のいずれか一に記載の半導体装置。フラッシュメモリと、中央演算装置と、前記中央演算装置の命令に従って、データ群の単位で前記フラッシュメモリへアクセスするメモリ制御回路とを備えるマイクロコンピュータであって、前記データ群は、データと前記データに関連づけられた付加情報である付加ビットデータとの組を複数備え、前記フラッシュメモリは、前記データを複数格納するデータ領域と前記付加ビットデータを複数格納する付加ビット領域とを備え、前記メモリ制御回路は、前記フラッシュメモリへの前記データ群の書き込み時は、前記データが前記データ群の識別情報である第1のデータの場合、前記第1のデータに関連付けられた第1の付加ビットデータを前記付加ビット領域に書き込み、前記データが前記データ群の識別情報でない第2のデータの場合、前記第2のデータに関連付けられ前記第1の付加ビットデータとは異なる第2の付加ビットデータを前記付加ビット領域に書き込むことを特徴とするマイクロコンピュータ。前述のように、EEPROMエミュレーションを使用して書き込まれたデータ群の読み出し処理は、エミュレーション書き込み単位データ群毎に関連付けされたデータ番号IDの検索を行い、検索したIDが読み出し対象データのIDであるか否かを判断することで行われる。このとき、フラッシュメモリに書き込まれたデータのどこにIDが格納されているかがわからないと、IDの検索をすることができない。そのため、従来では、エミュレーション書き込み単位データ群に含まれるデータの個数を各エミュレーション書き込み単位データ群で共通とすることにより、フラッシュメモリの各番地にIDを規則的に格納することで、IDの検索を可能としている。図15では、データ群0~データ群2において、エミュレーション書き込み単位データ群を、ID、DATA_0~DATA_4からなる6個のデータから構成されるものとし、フラッシュメモリにIDを6番地ごとに規則的に配置して書き込む構成としている。しかしながら、エミュレーション書き込み単位を構成するデータ数がエミュレーション書き込み単位データ群で共通固定値にしなくてはならないのは、ユーザの観点からみると、製品設計に制限がかかることとなり、大きなディメリットになってしまう。なお、IDとして使用する値を、DATA_0~DATA_nの値としては使わないと禁止するならば、エミュレーション書き込み単位データ群を構成するデータ数は、各エミュレーション書き込み単位データ群で共通固定値にしなくても、IDの検索を行うことが可能となる。但し、この場合には、ユーザが使用するDATA_0~DATA_nそのものの値に制限を課すことになり、これはユーザによって非常に都合が悪く、実用的ではない。本発明のフラッシュメモリは、ll>0ビットの第1および第2のデータを格納するデータ領域と、前記第1のデータを識別するためのmビットの第1の付加ビットおよび前記第2のデータを識別するためのmm>0ビットの第2の付加ビットを格納する付加ビット領域と、を備え、前記第1の付加ビットは、前記第2の付加ビットとは異なる値を有する、ことを特徴とする。また、本発明のメモリ制御回路は、第1のデータおよび第2のデータから構成されるデータ単位でフラッシュメモリへのアクセスを行うメモリ制御回路であって、前記メモリ制御回路は、前記第1のデータを前記フラッシュメモリ書き込むときには、前記第1のデータを識別するための第1の付加ビットを書き込み、前記第2のデータを前記フラッシュメモリに書き込むときには、前記第2のデータを識別するための前記第1の付加ビットとは異なる第2の付加ビットを書き込む、ことを特徴とする。また、本発明のマイクロコンピュータは、フラッシュメモリと、中央演算装置と、第1のデータおよび第2のデータから構成されるデータ単位で、前記中央演算装置の命令に従って前記フラッシュメモリへのアクセスを行うメモリ制御回路と、を備えるマイクロコンピュータであって、前記メモリ制御回路は、前記第1のデータを前記フラッシュメモリ書き込むときには、前記第1のデータを識別するための第1の付加ビットを書き込み、前記第2のデータを前記フラッシュメモリに書き込むときには、前記第2のデータを識別するための前記第1の付加ビットとは異なる第2の付加ビットを書き込む、ことを特徴とする。また、本発明のメモリ制御方法は、第1のデータおよび前記第1のデータから構成されるデータ単位でフラッシュメモリへのアクセスを行うメモリ制御方法であって、前記第1のデータおよび前記第1のデータを識別するための第1の付加ビットを前記フラッシュメモリに書き込む第1の工程と、前記第2のデータおよび前記第2のデータを識別するための前記第1の付加ビットとは異なる第2の付加ビットを前記フラッシュメモリに書き込む第2の工程と、を備えることを特徴とする。本発明によれば、エミュレーション書き込み単位のデータ数、すなわち、DATA0~DATAnのnの値は、各データ群で共通にしなくてもよく、データ群毎に自由に設定することが可能となり、ユーザの設計自由度が向上する。以下、本発明の好ましい実施例について、図面を参照して詳細に説明する。実施の形態1図1は、実施の形態1に係るマイクロコンピュータの構成を示すブロック図である。マイクロコンピュータ1は、中央演算装置CPU2、メモリ制御回路3およびフラッシュメモリ4を備えている。CPU2は、バス5、6を介して、それぞれメモリ制御回路3およびフラッシュメモリ4に接続されている。CPU2は、メモリ制御回路3に対し、書き込み/読み出し命令、書き込み/読み出し先のアドレス番地および書き込みデータを出力する。また、フラッシュメモリ4から読み出されたデータを取得する。メモリ制御回路3は、フラッシュメモリ4と配線7を介して接続されており、フラッシュメモリ対し、書き込み/読み出しの制御信号ライト/リードモードの制御信号、書き込み/読み出し先のアドレス番地および書き込みデータを出力する。フラッシュメモリ4は、メモリ制御回路3からの制御信号等に基づいて、書き込み/読み出しの動作を行い、読み出しの場合には、読み出したデータをCPUに出力する。図2は、実施の形態1に係るマイクロコンピュータ1に搭載されたフラッシュメモリ4の構成を示す概念図である。図2に示すフラッシュメモリ4は、1つのブロックから構成つまり、消去単位はフラッシュメモリ4全体され、0000H番地~FFFFH番地の最小書き込み単位領域番地を持ち、それぞれの番地が格納できるデータの大きさは9ビット長000H~1FFHである。すなわち、図17等の従来のフラッシュメモリに対し、実施の形態1に係るフラッシュメモリ4は、それぞれの番地に対してメモリセルを1ビット追加した構成になっている。9ビット長のデータは、本来取り扱う8ビット長のデータに1ビット長の付加ビット後述するを加えて構成される。本説明においては、本来取り扱うデータを8ビット長のデータとしているが、8ビット長に関わらず、lビット但し、l>0であればよく、また、付加ビットに関しても、1ビット長に関わらず、mビット但し、m>0であればよい。但し、フラッシュメモリ4に対し、lビット長のデータとmビット長の付加ビットを同時に書き込み/読み出し処理を行う場合には、配線7は、少なくともlmビット幅を有する必要があり、フラッシュメモリ4についても、lmビット幅の信号が入力できる端子が必要になる。なお、8ビット長のデータが格納される領域をデータ領域とし、また付加ビットが格納される領域を付加ビット領域とする。また、フラッシュメモリ4の0000H番地~000EH番地には、データ群0~データ群2が既に書き込まれているものとし、未使用領域の読み出し値、すなわち、消去状態の読み出し値を1FFH1Hの付加ビットFFHのデータとする。図3a~dに、実施の形態1に係るエミュレーション書き込み単位データ群の一般的なデータ構造および図2のフラッシュメモリ4に書き込まれたデータ群0~データ群2を示す。図3aには、エミュレーション書き込み単位データ群の一般的なデータ構造を示す。従来と同様、エミュレーション書き込み単位データ群8は、DATA_0~DATA_nのn個のDATA9と、そのn1個のDATAグループの名称であるデータ番号ID10から構成されるつまり、IDは複数のDATAと関連付けが行われたデータである。しかし、従来と比較して、2点の相違がある。1点目は、データ群を構成する複数のデータのそれぞれに対して、付加ビットと呼ばれる1ビット長のデータが付加されることである。図3aに示す通り、DATA_0~DATA_nには、1Hの付加ビット10が付加され、IDには、0Hの付加ビット11が付加される。これらの付加ビットは、DATA_0~DATA_nやIDの識別を可能とするために、付加されるものである。2点目は、nの値は、各データ群で共通の値を取らず、自由に設定できる点である。b~dに示すデータ群0~データ群2のデータ構造が示されているが、それぞれのデータ群は、データ群0が5個、データ群1が3個、データ群2が7個のデータで構成されている。なお、n=1、つまり、DATA_0とIDから構成されるデータ群であってもよい。次に、本発明の実施形態1に係るEEPROMエミュレーション時の書き込み動作について説明する。図4に、実施の形態1に係る書き込み処理を示す動作フローチャートを示す。図1、図2および4を用いて、図4の書き込み処理フローに従い、図1に示すマイクロコンピュータ1が、図2に示すフラッシュメモリ4の未使用ブランク領域に、データ群1図3b参照を書き込む処理についての具体例と共に説明する。なお、図4に示すように、書き込み処理は、書き込み先を特定するためのブランクサーチの工程S4-1~S4-4と、特定したブランク領域に1HDATA_0~1HDATA_n、0HIDを順次書き込む工程S4-5~S4-6の2段階の処理で行われる。S4-1CPU2は、フラッシュメモリ4の最終番地であるFFFFH番地からスタートし、FFFFH番地→FFFEH番地→FFFDH番地→→0001H番地→0000H番地の検索方向で、付加ビットの読み出しを行う。具体的には、CPU2は、メモリ制御回路3に対し、読み出し命令および読み出し先の番地最初の読み出し先はFFFFH番地を出力する。CPU2の読み出し命令を受けたメモリ制御回路3は、フラッシュメモリ4に対し、読み出し先として指定された番地に格納されている9ビット長のデータの読み出し制御を行う。フラッシュメモリ4は、読み出した9ビット長のデータをCPU2に出力する。CPU2は、フラッシュメモリ4から読み出した9ビット長のデータの中から付加ビットを判別し取得する。S4-2CPU2は、読み出した付加ビットが0Hであるか否かを判定する。0Hの付加ビットが読み出された場合には、S4-4に遷移する。一方、1Hの付加ビットが読み出された場合には、S4-3に遷移する。S4-3CPU2は、読み出し先の番地を1ディクリメント検索方向は最終番地から開始番地の方向であるため、読み出し先の番地は、-1番地分加算する。以下、同様。して、再度付加ビットの読み出しを行う。図2では、FFFFH番地~000FH番地まで未使用ブランク領域であり、付加ビット領域の読み出し値は、消去状態の1Hであるため、000FH番地までは、S4-2とS4-3の処理を繰り返すことになる。S4-4CPU2は、S4-2において、0Hの付加ビットを読み出した場合には、当該0Hの付加ビットを読み出した番地の直前に読み出し処理を行った番地をブランク領域の先頭番地書き込みを開始する番地であると特定する。0Hの付加ビットが読み出されたということは、その番地から開始番地まではデータが書き込まれていることになり、当該番地は、使用領域と未使用ブランク領域の境界であると判断することができる。従って、最後に1Hの付加ビットが読み出された番地がブランク領域の先頭番地であると特定することができる。図2では、000EH番地において0Hの付加ビットが読み出されるので、000EH番地が使用領域の最終番地境界であると判断され、直前に読み出し処理を行った番地である000FH番地がブランク領域の先頭番地、つまり、これから新しいデータの書き込みを開始する番地であると特定できる。S4-5CPU2は、DATADATA_0~DATA_nおよび付加ビットの書き込みを行う。具体的には、CPU2は、S4-4において特定したブランク領域の先頭番地を書き込み先の番地として指定し、書き込みデータを1HDATA_0として、メモリ制御回路3に出力する。メモリ制御回路3は、フラッシュメモリ4の指定された番地に対し、1HDATA_0の書き込み制御を行う。続いて、CPU2は、書き込み先の番地を1インクリメントし、当該番地を指定して、書き込みデータを1HDATA_1として、メモリ制御回路3に出力する。メモリ制御回路3は、フラッシュメモリ4の指定された番地に対し、1HDATA_1の書き込み制御を行う。同様に、1HDATA_2~1HDATA_nまで、フラッシュメモリ4に対する書き込み処理を行う。図2のフラッシュメモリ4にデータ群1DATA_0、DATA_1、IDから構成を書き込む処理では、000FH番地に1HDATA_0を、0010H番地に1HDATA_1をそれぞれ書き込む図5。S4-6CPU2は、メモリ制御回路3を介して、付加ビット0HおよびIDの書き込みを行う。IDに付加される付加ビットは0Hであるので、S4-5で最後に書き込みを行った番地に1インクリメントし、当該番地を指定して、0HIDを書き込む。IDの書き込みは、エミュレーション書き込み単位の最後に行われるで、IDの書き込み終了をもって、エミュレーション書き込み単位での一連の書き込み処理は完了する。図6では、0011H番地に0HIDを書き込む。本発明の実施の形態1のEEPROMエミュレーション時の書き込み処理は、このようなステップを持って行われ、その後新規のデータ群の書き込みを行う際には、同様のステップを持って追記書き込みが行われる。図6では、0012H番地から新規データの書き込み処理が行われる。また、S4-1において、フラッシュメモリ4から付加ビットの読み出しを行う際に、同じ番地内のデータ領域に格納されている8ビット長のデータも同時に読み出しているが、付加ビットの1ビットのみを読み出す構成にしてもよい。その場合には、例えば、図7に示すように、付加ビットが格納される付加ビット領域とDATAやIDが格納されるデータ領域のそれぞれに対し番地を割り当て従って、フラッシュメモリ4に割り当てられる番地は、00000000H番地~FFFFFFFFH番地となり、それぞれが最小書き込み単位となる、CPU2がメモリ制御回路3に対し、付加ビット領域に割り当てられた番地のみを指定する形式にする。具体的には、S4-1における読み出し先の番地は、FFFFFFFEH番地→FFFFFFFCH番地→FFFFFFFA番地→→00000001H番地→00000000H番地となる。また、図8に示す通り、付加ビット領域を指定する0H番地とデータ領域を指定する1H番地をそれぞれ示す追加の番地を作成し、2つの番地を用いて、付加ビットのみを読み出せるようにしてもよい。なお、従来と同様、既に書き込まれているデータ群がなければ、データの書き込みは、0000H番地からとなる。また、S4-1~S4-4のブランクサーチの工程での説明では省いたが、ブランク領域があっても、これから書き込もうとするデータ群に含まれる全てのデータが書き込むだけのブランク領域が存在しない場合には、フラッシュメモリ4にブランク領域がないものと判断し、必要なデータ群今回の書き込みに関係ないデータ群を保護しつつ、フラッシュメモリ4全体の消去を行い、消去後のフラッシュメモリ4に必要なデータの書き戻し処理と新しいデータ群の書き込み処理をそれぞれ行う。続いて、本発明の実施の形態1に係るEEPROMエミュレーション時の読み出し動作について説明する。図9に、実施の形態1に係る読み出し処理を示す動作フローチャートを示す。読み出し処理においては、0Hの付加ビットを検索し、検索により見つかった0Hの付加ビットと同じ番地に格納されているデータ領域のIDを読み出し、読み出したIDが読み出す対象のデータ群に含まれる複数のDATAに関連付けられたIDか否かを判定することで、読み出し対象データを特定するIDサーチの工程S9-1~S9-5と、特定した読み出し対象データを読み出す工程S9-6の2段階の処理で行われる。また、具体例として、図6のフラッシュメモリ4からデータ群0および1を読み出す事例をあげて説明する。なお、図6のフラッシュメモリ4は、2度目のデータ群1の書き込みデータの更新が行われているため、最後に書き込まれたデータ群1000FH番地~0011H番地が有効なデータ群であり、以前に書き込まれたデータ群10005H番地~0007H番地は、無効なデータ群として取り扱われる。S9-1CPU2は、フラッシュメモリ4の最終番地であるFFFFH番地からスタートし、FFFFH番地→FFFEH番地→FFFDH番地→→0001H番地→0000H番地の検索方向で、付加ビットの読み出しを行う。具体的には、CPU2は、メモリ制御回路3に対し、読み出し命令および読み出し先の番地最初の読み出し先はFFFFH番地を出力する。CPU2の読み出し命令を受けたメモリ制御回路3は、フラッシュメモリ4に対し、読み出し先として指定された番地に格納されている9ビット長のデータの読み出し制御を行う。フラッシュメモリ4は、読み出した9ビット長のデータをCPU2に出力する。CPU2は、フラッシュメモリ4から読み出した9ビット長のデータの中から付加ビットを判別し取得する。本ステップは、書き込み処理のS4-1と同様の処理となる。S9-2CPU2は、取得した付加ビットが0Hであるか否かを判定する。0Hであった場合には、S9-4に遷移し、1Hであった場合には、S9-3に遷移する。S9-3S9-2で、CPU2が取得した付加ビットが1Hであった場合には、読み出し先の番地を1ディクリメントして、再度読み出しを行いS9-2に遷移する。図6では、FFFFH番地~0012H番地まで未使用ブランク領域であり、付加ビット領域の読み出し値は消去状態の1Hであるため、0012H番地までは、S9-2とS9-3の処理を繰り返すことになる。S9-4CPU2は、S9-2において、付加ビットの値として0Hを取得した場合には、当該0Hの付加ビットが格納された同じ番地から読み出した8ビット長のデータIDが、読み出し対象データ群のDATAに関連付けされたID目的のIDであるか否かを判定する。読み出したIDが目的のIDであった場合には、S9-5に遷移する。一方、読み出したIDが目的のIDでなかった場合には、S9-3に遷移し、再び0Hの付加ビットを見つけるまで、S9-2とS9-3の処理を繰り返す。図6において、読み出し対象をデータ群0とすると、読み出したIDがID=0であれば、読み出し対象データに関連付けされたIDであると判断できる。S9-2で、IDが読み出されるのは、0011H番地であり、0011H番地に格納されている値は、ID=1である。従って、読み出し対象はデータ群0であるため、このIDは、目的のIDではないと判断できる。そのため、S9-3に遷移し、読み出し先の番地を1ディクリメントし、再び0Hの付加ビットをフラッシュメモリ4から読み出すまで、S9-2とS9-3の処理を繰り返し、0Hの付加ビットが読み出された場合には、同じ番地のデータ領域に格納されたIDが目的のIDか否かを判定する。0Hの付加ビットが読み出されるのは、000EH番地、0007H番地、0004H番地であるが、目的のIDID=0が格納されているのは、0004H番地であるので、0004H番地まで、S9-2~S9-4の処理を繰り返す。一方、読み出し対象をデータ群1とすると、0011H番地に格納されているデータはID=1であるため、このIDは、目的のIDであると判断でき、S9-5に遷移する。S9-5S9-4で、目的のIDを特定することができた場合には、当該目的のIDを読み出した番地から5ディクリメントした番地を、読み出し対象データ群の先頭番地であると特定する。図6において、データ群0を読み出す場合には、S9-4で、0004H番地が目的のIDであると判定されるので、0004H番地から4ディクリメントした番地は0000H番地となり、この0000H番地を、読み出し対象のデータ群0の先頭番地であると特定する。4ディリメントするのは、データ群0は、DATA_0~DATA_3、IDの5個のデータから構成されていることがわかっているので、DATA_0が格納されている番地は、IDが格納されている番地から4ディクリメントした番地となるからである。また、データ群1を読み出す場合には、0011H番地が目的のIDであるので、0011H番地から2ディクリメントデータ群1は3個のデータから構成されているした番地は000FH番地となり、この000FH番地を、読み出し対象データのデータ群1の先頭番地であると特定する。S9-6S9-5で特定した読み出し対象データの先頭番地からDATA_0を読み出し、順に番地を1インクリメントしながらDATA_1~DATA_nを読み出す。図6において、0000H番地~0003H番地よりDATA_0~DATA_3を読み出すことによって、データ群0の読み出しを行う。また、000FH番地~0010H番地よりDATA_0、DATA_1を読み出すことによって、データ群1の読み出しを行う。図6のフラッシュメモリ4では、データ群1が更新されていて、そのためデータ群1に関するデータ群が2箇所に格納されているが、有効なデータ群は最後に書かれた方、すなわち、ブランク領域側に近い方である。S9-1~S9-6で説明した方式では、ブランク領域側から0Hの付加ビットIDの検索を行い、目的のIDが特定された時点で読み出し対象データの検索を終了するため、フラッシュメモリ4内に同じIDを有する複数のデータ群が格納されていたとしても、適切に一番新しいデータ群、つまり、有効なデータ群を読み出すことができる。図6におけるデータ群1の読み出しの例においても、無効なデータ群10005H番地~0007H番地を選択せずに、有効なデータ群1000FH番地~0011H番地を選択している。また、S9-5において、読み出し対象のデータ群のIDが格納された番地を基準にして、読み出し対象のデータ群のDATA_0が格納された番地を特定する方法を説明したが、目的のIDが読み出された番地から順次1ディリメントして1Hの付加ビットDATAを読み出していき、0Hの付加ビットIDが読み出された時点で、読み出し対象のデータ群の読み出しを終了する方法をとってもよい。この方式では、事前にデータ群が何個のデータ数で構成されているか否かわからない場合に有効である。なお、図4および9の書き込み処理フローおよび読み出し処理フローにおいて、ブランクサーチおよびIDサーチの方向をFFFFH番地最終番地から行うと説明したが、従来の説明でも記載したように、逆に0000H番地開始番地から行ってもよい。但し、その場合には、書き込み処理フローにおいては、最後に0Hの付加ビットを読み出した番地に1インクリメントした番地が未使用ブランク領域の先頭番地となり、また、読み出し処理フローにおいても、最後に目的のIDを読み出した番地が有効なデータ群のIDであると特定することになる。このように、本実施の形態によれば、EEPROMエミュレーション時のエミュレーション書き込み単位を構成するデータ数は、IDが異なるエミュレーション書き込み単位間、つまり、データ群間において、共通の値でなくてもよい。そのため、ユーザは、自由にデータ群に含まれるデータ数を設定することができるようになり、その結果、ユーザの設計自由度が向上することになる。また、書き込み処理におけるブランクサーチの工程および読み出し処理におけるIDサーチの工程において、IDを検索するのに付加ビットのみを確認すればよいことから、従来に比べ、IDの検出手段が容易となる。実施の形態2図10は、本発明の実施の形態2に関するデータの書き込み順序を示したものである。実施の形態2では、書き込み処理における0HIDを書き込む際の書き込み順序に実施の形態1と異なる特徴がある。従って、これ以外の点においては、実施の形態1と同じであるので説明は省略する。EEPROMエミュレーションの書き込み処理では、エミュレーション書き込み単位毎に複数のデータDATA_0~DATA_n、IDおよび付加ビットをフラッシュメモリ4に書き込むS4-4およびS4-5。実施の形態1では、最後に0HIDを書き込むと説明したがS4-5、実施の形態2では、1HID→0HFFHという2ステップに分けて書き込みを行う。フラッシュメモリ4は、消去状態例えば、フラッシュメモリ4を構成する複数のメモリセルの浮遊ゲートに電荷がない状態を1Hとしているため、1Hの付加ビットの書き込み、或いは、FFH11111111Bのデータの書き込みは、フラッシュメモリ4構成するメモリセルに対して、実際には何ら動作を行わない。すなわち、1ステップ目の1HIDは、フラッシュメモリ4内のデータ領域のみに対して書き込みを行う処理であり、付加ビット領域に対する書き込み処理は行われない。また逆に、2ステップ目の0HFFHは、フラッシュメモリ4内の付加ビット領域にのみに対して書き込みを行う処理であり、データ領域に対する書き込み処理は行われない。換言すれば、1ステップ目にIDを書き込み、2ステップ目、つまり、一連の書き込み処理の最後に0Hの付加ビットが書き込まれることになる。図10に示す通り、まず1HDATA_0の書き込みを行うS10-1。次に1HDATA_1の書き込みを行うS10-2。同様に、1HDATA_2~1HDATA_nまでの書き込みを行うS10-3~S10-5。DATAの書込みが終了後、0HIDの書き込みを行う。まずIDだけの書き込みを行うため、1HIDの書き込みを行うS10-6。最後に0Hの付加ビットの書き込みを行うため、0HFFHの書き込みを行うS10-7。以上で、付加ビットおよびDATA_0~DATA_n、IDからなる1個のデータ群の書き込みが完了する。このように、本実施の形態によれば、0Hの付加ビットを最後に書くことにより、電源瞬停等に起因する書き込みエラーが発生していないことを確認することができる。すなわち、最後に書き込まれた0Hの付加ビットが正しく読み出せたとすると、その前に書かれたDATA_0~DATA_n、IDの書き込みは正常に実行されたと判断することができるからである。以上、本発明の実施の形態に基づいて詳細に説明したが、本発明は、上述のような実施の形態に限定されるものでなく種々の変形が可能である。例えば、付加ビットは1ビット長に限定されるわけではなく、2ビット長以上であってもよい。また、図面では、付加ビットは、識別する8ビット長のデータと同じ番地に、9ビット長のデータの最上位ビットの位置に配置されるように書かれているが、それに限られるわけではない。さらに、図8において、付加ビット領域と、データ領域が交互に配置されているが、どのように配置されていてもかまわない。また、実施の形態の説明では、CPU2が、メモリ制御回路3に対する書き込み/読み出し命令や、書き込みデータの生成、読み出した値の判定を行っているが、この機能の全て、或いは、一部をメモリ制御回路3が実行しても構わない。逆に、メモリ制御回路3が担うフラッシュメモリ4に対する直接的なアクセス制御機能を、メモリ制御回路3を介さずに、CPU2が実行してもよい。さらには、実施の形態1と実施の形態2を組み合わせることなども可能である。