(57)【要約】【課題】デバイスの面積を増大させること無く且つ、書き換え回数を仕様以下に制限すること無く、簡単な回路構成で不揮発性メモリへのデータの書き換えを行う。【解決手段】不揮発性メモリ装置１の１つの論理アドレスに対して複数個の物理アドレスメモリを設け、１つの論理アドレスへの書き込み動作に対して、複数個の物理アドレスメモリの中の空のメモリを探し、この空の物理アドレスメモリにデータを書き込む。１つの論理アドレスへの読み出し動作に対して、最後に書き込みを行なった物理アドレスメモリを探し、このメモリの内容を読み出す。これにより簡単な回路構成で１つの論理アドレスに対して消去動作を伴わずにデータの書き換えを可能でき、デバイスの面積を増大させること無く且つ、書き換え回数を仕様以下に制限すること無く、不揮発性メモリへの書き換えを行うことができる。【選択図】  図１
2005004845.tif 000002
【特許請求の範囲】
【請求項１】
１つの論理アドレスに対して複数個の物理アドレスメモリを割り当てたメモリ手段と、
前記複数個の物理アドレスメモリの中で空いている物理アドレスメモリを選択する書き込み先選択手段と、
前記選択された空いている物理アドレスメモリにデータを書き込む書き込み手段と、
を備えたことを特徴とする半導体メモリ装置。
【請求項２】
前記複数個の物理アドレスメモリの中で最後にデータを書き込んだ物理アドレスメモリを選択する読み出し先選択手段と、
前記選択された最後にデータを書き込んだ物理アドレスメモリからデータを読み出す読み出し手段と、
を備えたことを特徴とする請求項１に記載の半導体メモリ装置。
【請求項３】
１つの論理アドレスに対して複数個の物理アドレスメモリとアドレス識別データ領域を割り当てたメモリ手段と、
前記複数個の物理アドレスメモリの中で空いている物理アドレスメモリを前記アドレス識別データ領域のアドレス識別データに基づいて選択する書き込み先選択手段と、
前記選択された空いている物理アドレスメモリにデータを書き込む書き込み手段と、
を備えたことを特徴とする半導体メモリ装置。
【請求項４】
前記複数個の物理アドレスメモリの中で最後にデータを書き込んだ物理アドレスメモリを前記アドレス識別データ領域のアドレス識別データに基づいて選択する読み出し先選択手段と、
前記選択された最後にデータを書き込んだ物理アドレスメモリからデータを読み出す読み出し手段と、
を備えたことを特徴とする請求項３に記載の半導体メモリ装置。
【請求項５】
前記書き込み先選択手段は、前記１つの論理アドレスに物理アドレス対応で設けられているアドレス識別データ領域をアドレス番に指定してアドレス識別データを読み出し、その結果からアクセスする物理アドレスを選択することを特徴とする請求項３に記載の半導体メモリ装置。
【請求項６】
前記読み出し先選択手段は、前記１つの論理アドレスに物理アドレス対応で設けられているアドレス識別データ領域をアドレス順に指定してアドレス識別データを読み出し、その結果から空の物理アドレスメモリを選択し、その一つ前のアドレスの物理アドレスメモリを最後にデータを書き込んだ物理アドレスメモリとして選択することを特徴とする請求項４に記載の半導体メモリ装置。
【請求項７】
前記１つの論理アドレスに対して設けられた前記各物理アドレスメモリの一部の領域を前記アドレス識別データ領域に設定することを特徴とする請求項３から６のいずれか一項に記載の半導体メモリ装置。
【請求項８】
前記１つの論理アドレスに対して設けられた複数個の物理アドレスメモリとは別の物理アドレスメモリに前記アドレス識別データ領域を物理アドレス対応で設定することを特徴とする請求項３から６のいずれか一項に記載の半導体メモリ装置。
【請求項９】
前記１つの論理アドレスに対して複数のアドレス識別データ領域を前記複数個の物理アドレスメモリとは別のメモり領域に物理アドレス毎に１ビットずつ設定することを特徴とする請求項３から６のいずれか一項に記載の半導体メモリ装置。
【請求項１０】
前記別のメモリ領域に設定された各１ビットのアドレス識別データを揮発性のメモリに読み出して用いることを特徴とする請求項９に記載の半導体メモリ装置。
【請求項１１】
前記メモリ手段を構成する１つの論理アドレスに対する複数個の物理アドレスを複数個の異なる書き換え可能な不揮発性メモリの消去ブロックに配置し、前記書き込み手段により第１の消去ブロック内の前記複数個の物理アドレスメモリ全てに対する書き込みが完了すると第２の消去ブロック内の前記複数個の物理アドレスメモリに対して書き込みを行い、その間に前記第１の消去ブロックを消去する制御手段を備えたことを特徴とする請求項３に記載の半導体メモリ装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、電気的に書き込み可能な不揮発性メモリを搭載した半導体メモリ装置に関する。
【０００２】
【従来の技術】
従来より、システム制御のプログラムおよびパラメータ格納用またはデータ格納用メモリとして不揮発性メモリが不可欠である。その中で最も安価に製造できるのはマスクＲＯＭであるが、半導体メモリ装置の製造工程においてデータを物理的に作りこんでおく必要があり、ＲＯＭデータ確定から製品出荷までの納期が長くなる。
【０００３】
一方ＥＰＲＯＭは電気的に書き込みができ且つ、紫外線消去可能なメモリで、任意のアドレスに任意の値を１回だけ書き込むことができるため、ＲＯＭデータが確定してから短納期が実現できる。また紫外線消去により全メモリ領域を消去できる。しかし、紫外線を通さない材質のパッケージに組み立てられると書き込むだけで消去はできない。
【０００４】
そこで、近年主流になっているのは電気的に書き込み・消去が行えるＥＥＰＲＯＭである。ＥＥＰＲＯＭのうちワード単位で書き込み・消去可能なメモリは、消去単位毎にメモリセルアレイの分割が必要で、面積が大きくなりコスト面で大容量化に不向きのため、現在はワード単位で書き込めるが、消去はある一定の領域を一括消去するフラッシュＥＥＰＲＯＭが多く使われている。
【０００５】
ＥＰＲＯＭまたはフラッシュＥＥＰＲＯＭを用いることにより短納期が実現できるだけでなく、仕向け先別にＲＯＭデータに変更が必要な場合の生産調整にも用いられており、それ故、ＥＰＲＯＭまたはフラッシュＥＥＰＲＯＭはほとんどの機器に搭載されている。
【０００６】
しかし、ＥＥＰＲＯＭのようなワード単位で複数回の書き換えを必要とする用途も多く、システム上にＥＰＲＯＭやフラッシュＥＥＰＲＯＭと共にＥＥＰＲＯＭが搭載されていることが多い。このＥＥＰＲＯＭは例えば個別のシリアルナンバーの格納やセキュリティコードの格納に用いられている。
【０００７】
シリアルナンバーはユーザが変わると書き換える必要があり、セキュリティコードは定期的に書き換えてセキュリティレベルを高める必要があるなど、小単位での書き換えが必要である。このような用途に用いる場合、例えばフラッシュＥＥＰＲＯＭが８Ｍｂｉｔで、ＥＥＰＲＯＭが５１２ｂｉｔのようにＥＥＰＲＯＭの必要容量が非常に小さい場合が多く、同一チップ内に両方を搭載する場合、フラッシュＥＥＰＲＯＭとは別に小単位で個別に消去可能にするためにメモリセルの基板を分割する必要があり、両メモリを同一メモリセルアレイ内に配置できず、デバイスの面積が大きくなる（例えば、非特許文献１参照）。
【０００８】
そのため、ＥＥＰＲＯＭを搭載せずにフラッシュＥＥＰＲＯＭを制御するプログラムで対応している場合があり、図１８にその処理フローを示している。まず、書き換えアドレスから該当消去ブロックを算出し（ステップ１３１）、書き換えが必要なデータが存在する消去ブロックのデータ全てをＲＡＭなどに格納する（ステップ１３２）。前記消去ブロックの消去を実行し（ステップ１３３）、書き換えが必要なデータに相当するＲＡＭに格納されたデータを書き換えて（ステップ１３４）、再度ＲＡＭの全データをフラッシュＥＥＰＲＯＭに書き込む（ステップ１３５）。これにより任意のワード単位の書き換えが可能になる。
【０００９】
【非特許文献１】
伊藤清男著「アドバンスト  エレクトロニクスＩ−９  超ＬＳＩメモリ」培風館、２０００年２月２０日、ｐ．２３−２４  初版第６刷
【００１０】
【発明が解決しようとする課題】
以上に述べたように、フラッシュＥＥＰＲＯＭと小容量のＥＥＰＲＯＭを同時に搭載する際、同一チップ上に混載するとデバイスの面積が増大するという問題があった。またプログラム制御で実現した場合、書き戻し作業に時間がかかり、また毎回消去が必要であるために、書き換え回数に制限のあるフラッシュＥＥＰＲＯＭではＥＥＰＲＯＭとして用いる領域の書き換え回数がフラッシュＥＥＰＲＯＭの書き換え回数以下に制限されるという問題がある。
【００１１】
本発明は、上記従来の問題点を解決するもので、デバイスの面積を増大させること無く且つ、書き換え回数を仕様以下に制限すること無く、簡単な回路構成で書き換え可能な半導体メモリ装置を提供することを目的とする。
【００１２】
【課題を解決するための手段】
上記課題を解決するために第１の発明は、１つの論理アドレスに対して複数個の物理アドレスメモリを割り当てたメモリ手段と、前記複数個の物理アドレスメモリの中で空いている物理アドレスメモリを選択する書き込み先選択手段と、前記選択された空いている物理アドレスメモリにデータを書き込む書き込み手段とを備えたことを特徴とする。
【００１３】
上記発明によれば、１つの論理アドレスに記憶されている内容を書き替える時、対応して設けられている複数個の物理アドレスメモリの中で空いているメモリに、データを書き込めば、消去処理を行わず、また、特別な書き込み制限を設けることなく、再書込みを行うことができる。
【００１４】
第２の発明は、前記複数個の物理アドレスメモリの中で最後にデータを書き込んだ物理アドレスメモリを選択する読み出し先選択手段と、前記選択された最後にデータを書き込んだ物理アドレスメモリからデータを読み出す読み出し手段とを備えたことを特徴とする。
【００１５】
上記発明によれば、消去処理を行わないため、１つの論理アドレスに対応する複数の物理アドレスメモリにデータが書き込まれている可能性があるが、最後に書き込まれたデータが最新の有効なデータであるため、最後にデータを書き込んだ物理アドレスメモリからデータを読み出すことにより、消去処理を行わなくとも、最後に書き込まれた有効なデータを読み出すことができる。
【００１６】
第３の発明は、１つの論理アドレスに対して複数個の物理アドレスメモリとアドレス識別データ領域を割り当てたメモリ手段と、前記複数個の物理アドレスメモリの中で空いている物理アドレスメモリを前記アドレス識別データ領域のアドレス識別データに基づいて選択する書き込み先選択手段と、前記選択された空いている物理アドレスメモリにデータを書き込む書き込み手段とを備えたことを特徴とする。
【００１７】
上記発明によれば、１つの論理アドレスに記憶されている内容を書き替える時に、対応して設けられているアドレス識別データ領域のアドレス識別データによって複数個の物理アドレスメモリの中で空いているメモリを選択し、この空いている物理アドレスメモリにデータを書き込めば、消去処理を行わず、また、特別な書き込み制限を設けることなく、再書込みを行うことができる。
【００１８】
第４の発明は、前記複数個の物理アドレスメモリの中で最後にデータを書き込んだ物理アドレスメモリを前記アドレス識別データ領域のアドレス識別データに基づいて選択する読み出し先選択手段と、前記選択された最後にデータを書き込んだ物理アドレスメモリからデータを読み出す読み出し手段とを備えたことを特徴とする。
【００１９】
上記発明によれば、消去処理を行わないため、１つの論理アドレスに対応する複数の物理アドレスメモリにデータが書き込まれている可能性があるが、最後に書き込まれたデータが最新の有効なデータであるため、最後にデータを書き込んだ物理アドレスメモリを前記アドレス識別データ領域のアドレス識別データに基づいて選択し、この物理アドレスメモリからデータを読み出すことにより、消去処理を行わなくとも、最後に書き込まれた有効なデータを読み出すことができる。
【００２０】
第５の発明の前記書き込み先選択手段は、前記１つの論理アドレスに物理アドレス対応で設けられているアドレス識別データ領域をアドレス番に指定してアドレス識別データを読み出し、その結果からアクセスする物理アドレスを選択することを特徴とする。
【００２１】
上記発明によれば、１つの論理アドレスに設けられているアドレス識別データ領域をアドレス順に指定して空いている物理アドレスメモリを選択するため、データが書き込まれる物理アドレスメモリを物理アドレス順とすることができる。
【００２２】
第６の発明は、前記読み出し先選択手段は、前記１つの論理アドレスに物理アドレス対応で設けられているアドレス識別データ領域をアドレス順に指定してアドレス識別データを読み出し、その結果から空の物理アドレスメモリを選択し、その一つ前のアドレスの物理アドレスメモリを最後にデータを書き込んだ物理アドレスメモリとして選択することを特徴とする。
【００２３】
上記発明によれば、データが書き込まれる物理アドレスメモリが物理アドレス順である場合、アドレス識別データ領域のアドレス識別データをアドレス順に読み出して空の物理アドレスメモリが見つかると、その一つ前のアドレスの物理アドレスメモリにはデータが入っており、しかも、この物理アドレスメモリに入っているデータが最後に書き込まれた読み出すべき有効なデータとなる。
【００２４】
第７の発明は、前記１つの論理アドレスに対して設けられた前記各物理アドレスメモリの一部の領域を前記アドレス識別データ領域に設定することを特徴とする。
【００２５】
上記発明によれば、複数個の物理アドレスメモリの一部の領域がアドレス識別データ領域であるため、アドレス識別データ領域を確保するために別の物理アドレスメモリを用意する必要がなく、デバイスの面積を大きくすることがない。
【００２６】
第８の発明は、前記１つの論理アドレスに対して設けられた複数個の物理アドレスメモリとは別の物理アドレスメモリに前記アドレス識別データ領域を物理アドレス対応で設定することを特徴とする。
【００２７】
上記発明によれば、データ書き込み用の物理アドレスメモリにアドレス識別データ領域が設定されないため、ワード長を変えずに書き換え可能な領域を設けることができる。
【００２８】
第９の発明は、前記１つの論理アドレスに対して複数のアドレス識別データ領域を前記複数個の物理アドレスメモリとは別のメモり領域に物理アドレス毎に１ビットずつ設定することを特徴とする。
【００２９】
上記発明によれば、アドレス識別データが１ビットで済むため、アドレス識別データ領域を小さくすることにより、無駄な領域を発生させずに書き換え可能な領域を設けることができる。
【００３０】
第１０の発明は、前記別のメモリ領域に設定された各１ビットのアドレス識別データを揮発性のメモリに読み出して用いることを特徴とする。
【００３１】
上記発明によれば、アドレス識別データが各１ビットのため、これをレジスタなどの揮発性メモリに容易に読み出して格納することができ、以降は、この揮発性メモリに高速アクセスして、アドレス識別データを用いることができるため、メモリ手段へのデータの書き込み及び読み出し速度を向上させることができる。
【００３２】
第１１の発明は、前記メモリ手段を構成する１つの論理アドレスに対する複数個の物理アドレスを複数個の異なる書き換え可能な不揮発性メモリの消去ブロックに配置し、前記書き込み手段により第１の消去ブロック内の前記複数個の物理アドレスメモリ全てに対する書き込みが完了すると第２の消去ブロック内の前記複数個の物理アドレスメモリに対して書き込みを行い、その間に前記第１の消去ブロックを消去する制御手段を備えたことを特徴とする。
【００３３】
上記発明によれば、１つの論理アドレスに対する複数個の物理アドレスメモリを書き換え可能な不揮発性メモリ（フラッシュＥＥＰＲＯＭなど）の少なくとも２つの消去ブロックに配置することにより、第１の消去ブロック内の複数個の物理アドレスメモリ全てにデータが書き込まれると、次に第２の消去ブロック内の複数個の物理アドレスメモリにデータの書き込みを行い、その間に第１の消去ブロックの書き込みデータを消去することにより、次に第２の消去ブロック内の複数個の物理アドレスメモリ全てにデータが書き込まれると、また第１の消去ブロック内の複数個の物理アドレスメモリにデータを書き込むことができ、１つの論理アドレスに対する書き換え回数を大幅に増加させることができる。
【００３４】
【発明の実施の形態】
（第１の実施の形態）
以下、本発明の実施の形態を図面に基づいて説明する。図１は、本発明の第１の実施の形態に係る半導体メモリ装置の構成を示す模式図である。１は不揮発性メモリ装置（ＥＰＲＯＭまたはフラッシュＥＥＰＲＯＭ）、２は複数個の物理アドレスメモリ＃０、＃１、…、＃ｎの集合体である不揮発性メモリ、３はメモリデータの出力を制御する出力制御部である。
【００３５】
ここで、不揮発性メモリ２は論理アドレス＃Ａに割り当てられている。また不揮発性メモリ２内の全メモリ集合体の初期状態は消去状態（データ“１”）である。ここで、不揮発性メモリ２に格納するデータは例えばセキュリティコードなど常に“ＦＦ”以外のデータを格納するものとする。なお、ここでは不揮発性メモリが消去後はデータ“１”、書き込み後はデータ“０”として説明する。
【００３６】
次に本実施の形態の動作について説明する。まず、書き込み動作について説明する。図２は第１の実施の形態における書き込み動作の流れを示すフローチャートである。論理アドレス＃Ａに対して書き込み動作が行われると、不揮発性メモリ２内のまず物理アドレス＃０の読み出しを行い（ステップ１０１）、読み出した値が“ＦＦ”であれば（ステップ１０２）、物理アドレス＃０に対して書き込みを行う（ステップ１０３）。
【００３７】
もし読み出した値が“ＦＦ”以外であれば、アドレスを＋１インクリメントし（ステップ１０４）、次に物理アドレス＃１の読み出しを行う。以下同様で、読み出した値が“ＦＦ”であれば物理アドレス＃１対して書き込みを行い、“ＦＦ”以外であれば次に物理アドレス＃２の読み出しを行う。物理アドレス＃２の読み出し値が“ＦＦ”であれば物理アドレス＃２に対して書き込みを行い、“ＦＦ”以外であれば次に物理アドレス＃３の読み出しを行う。このように物理アドレス＃ｎまで順番にデータが書き込まれていない（つまり“ＦＦ”でない）メモリ領域に対して書き込みを行う。
【００３８】
次に、読み出し動作について説明する。図３は第１の実施の形態における読み出し動作の流れを示すフローチャートである。論理アドレス＃Ａに対して読み出し動作が行われると、不揮発性メモリ２内のまず物理アドレス＃０の読み出しを行い（ステップ２０１）、読み出した値が“ＦＦ”であれば（ステップ２０２）、物理アドレスを−１ディクリメントとするが（ステップ２０３）、この場合は物理アドレス＃０であるためディクリメントを行わず、この物理アドレス＃０の読み出し値を出力制御部３の制御により論理アドレス＃Ａのデータとして出力する（ステップ２０４）。この場合は、論理アドレス＃Ａにはデータが入っていない。
【００３９】
もし、読み出した値が“ＦＦ”以外であれば（ステップ２０３）、物理アドレスを＋１インクリメントした後（ステップ２０５）、次に物理アドレス＃１の読み出しを行い、読み出した値が“ＦＦ”であれば（ステップ２０２）、物理アドレスを−１ディクリメントとして（ステップ２０３）一つ前の物理アドレス＃０の読み出し値を論理アドレス＃Ａのデータとして出力する（ステップ２０４）。
【００４０】
以下同様で、もし物理アドレス＃１の読み出し値が“ＦＦ”以外であれば、次に物理アドレス＃２の読み出しを行い、読み出し値が“ＦＦ”であれば物理アドレス＃１の読み出し値を出力制御部３の制御により論理アドレス＃Ａのデータとして出力する。もし物理アドレス＃２の読み出し値が“ＦＦ”以外であれば次に物理アドレス＃３の読み出しを行う。このように物理アドレス＃０から順番にデータを読み出し、読み出し値が“ＦＦ”であった物理アドレスの１つ前の物理アドレスメモリの値を読み出しデータとして出力する。
【００４１】
このように論理アドレス＃Ａに対する書き込みにおいて、物理アドレスを＃０、＃１、＃２、…、順番に移動させていくことにより、消去処理を行わずデータの再書き込みを行うことができ、また読み出し時は物理アドレス＃０、＃１、＃２、…、と順番に読み出しを行うことにより、最後に書き込まれたデータを判定し、論理アドレス＃Ａの出力として出力することができる。つまりは論理アドレス＃Ａが書き換えられたと見做すことができる。
【００４２】
（第２の実施の形態）
図４は本発明の第２の実施の形態に係る半導体メモリ装置の構成を示すブロック図である。１は不揮発性メモリ装置（ＥＰＲＯＭまたはフラッシュＥＥＰＲＯＭ）、１２は書き込みデータ領域とアドレス識別データ領域からなる複数個の物理アドレスメモリ＃０、＃１、…、＃ｎの集合体である不揮発性メモリ、３はメモリデータの出力を制御する出力制御部、１４は通常のＥＰＲＯＭまたはフラッシュＥＥＰＲＯＭのアドレスデコード回路、１５は書き込みデータ生成回路、１６はアドレス識別データを読み出す読み出しパルス発生回路、１７はアドレス識別データ読み出しパルスに同期してアドレス識別データ領域の最下位アドレスから順番にインクリメントするアドレス生成カウンタ、１８はアドレス識別データ領域から読み出されたデータと所定の識別データ値とを比較する比較器、１９は比較器１８の出力に応じてアドレス生成カウンタ１７の値を取り込むアドレスラッチ、２０はアドレス識別データ領域と書き込みデータ領域のいずれの領域に対する処理であるかによってアドレス生成カウンタ１７の値とアドレスラッチ１９の値から選択するアドレス選択回路、２１は入力アドレスをｍビット左シフトさせるシフト回路、２２はアドレス選択回路２０の出力とシフト回路２１の出力を合成してアドレスデコード回路に所望の物理アドレスを供給するアドレス合成回路、２３は書き込みパルスと論理アドレス＃Ａに対する読み出しパルスを生成するパルス生成回路である。
【００４３】
まず、書き込み動作について説明する。図５は第２の実施の形態における書き込み動作の流れを示すフローチャートである。論理アドレス＃Ａに対して書き込み動作が行われると、まずアドレス生成カウンタ１７はリセットされ（ステップ３０１）、アドレス＃０になり、同時に読み出しパルス発生回路１６が読み出しパルスを発生する。
【００４４】
アドレス選択回路２０はアドレス識別データの読み出し中はアドレス生成カウンタ１７の値を、それ以外（つまり論理アドレス＃Ａに対する読み出し・書き込み処理中）はアドレスラッチ１９の値を選択するが、ここではアドレス識別データ読み出し中であるのでアドレス生成カウンタ１７の値が選択される。
【００４５】
一方、その間に入力アドレス（論理アドレス＃Ａ）はシフト回路２１でｍビット左シフトされており（ステップ３０２）、シフト回路２１の出力とアドレス選択回路２０の出力であるアドレスのビット０〜（ｍ−１）がアドレス合成回路２２で合成され（ステップ３０３）、アドレスデコード回路１４により物理アドレス＃０が選択される。
【００４６】
これにより、不揮発性メモリ１２内の物理アドレス＃０の読み出しが行われ、読み出しデータは比較器１８で所定の識別データと比較される（ステップ３０４）。比較結果が不一致ならばアドレス生成カウンタ１７の値がアドレスラッチ１９に取り込まれ、同時にパルス生成回路２３が書き込みパルスを生成する。
【００４７】
書き込みパルスが生成されると、アドレス選択回路２０はアドレスラッチ１９の値を選択し、シフト回路２１の出力とアドレス合成回路２２で合成され、アドレスデコード回路１４により物理アドレス＃０が選択される。また書き込みデータ生成回路１５において、入力された書き込みデータに所定の識別データを合成した書き込みデータが生成され（ステップ３０５）、物理アドレス＃０の書き込みデータ領域には入力データが、アドレス識別データ領域には所定の識別データの書き込みが行われる（ステップ３０６）。
【００４８】
ここで、比較器１８の比較結果が一致であった場合について説明する。比較結果が一致であれば、アドレス生成カウンタ１７はインクリメントされ（ステップ３０７）、その値は０から１に変化する。また、読み出しパルス発生回路１６が再度読み出しパルスを発生するが、このときアドレス選択回路２０は再度アドレス生成カウンタ１７の値を選択し、その出力であるアドレスのビット０〜ｍ−１とシフト回路２１の出力とがアドレス合成回路２２で合成され（ステップ３０３）、不揮発性メモリ１２内の物理アドレス＃１の読み出しが行われ、読み出しデータは比較器１８で所定の識別データと比較される（ステップ３０４）。比較結果が不一致になれば、上記物理アドレス＃０の場合と同様、物理アドレス＃１に対して書き込みデータと所定の識別データの書き込みが行われる（ステップ３０５）。
【００４９】
一方、一致した場合は上記物理アドレス＃０の場合と同様、アドレス生成カウンタ１７がインクリメントされ（ステップ３０６）、読み出しパルス発生回路が再度アドレス識別データ読み出しパルスを発生し、物理アドレス＃２の読み出しを行う。そこで比較結果が一致であれば、次は物理アドレス＃３…と順番にアドレス＃ｎ（ｎ＝２ｍ−１）まで読み出した識別データが、所定の識別データと一致しないメモリ（すなわちまだ書き込まれていないメモリ）に対して書き込みを行う（ステップ３０５）。
【００５０】
次に、読み出し動作について説明する。図６は本発明の第２の実施の形態における読み出し動作の流れを示すフローチャートである。論理アドレス＃Ａに対して読み出し動作が行われると、まずアドレス生成カウンタ１７はリセットされアドレス＃０になり（ステップ４０１）、同時に読み出しパルス発生回路１６が読み出しパルスを発生させる。
【００５１】
アドレス選択回路２０はアドレス識別データの読み出し中はアドレス生成カウンタ１７の値を、それ以外（つまり論理アドレス＃Ａに対する読み出し・書き込み処理中）はアドレスラッチ１９の値を選択するが、ここではアドレス識別データ読み出し中であるのでアドレス生成カウンタ１７の値が選択される。
【００５２】
一方、その間に入力アドレス（論理アドレス＃Ａ）はシフト回路２１でｍビット左シフトされており（ステップ４０２）、シフト回路２１の出力とアドレス選択回路２０の出力であるアドレスのビット０〜（ｍ−１）がアドレス合成回路２２で合成され（ステップ４０３）、アドレスデコード回路１４により物理アドレス＃０が選択される。
【００５３】
それ故、不揮発性メモリ１２内の物理アドレス＃０の読み出しが行われ、読み出しデータは比較器１８で所定の識別データと比較される（ステップ４０４）。比較結果が一致の場合は、上記書き込み動作と同じように順番にアドレス生成カウンタがインクリメントされ（ステップ４０８）、所定の識別データと不一致になるまで繰り返す。
【００５４】
比較結果が不一致であればアドレス生成カウンタ１７の値がアドレスラッチ１９に取り込まれ、同時にパルス生成回路２３が論理アドレス＃Ａに対する読み出しパルスを生成する。
【００５５】
このときアドレス選択回路２０はアドレスラッチ１９の値―１の値を出力し  （ステップ４０５）、シフト回路２１の出力とアドレス合成回路２２で合成され（ステップ４０６）、アドレスデコーダ１４により所望の物理アドレスが選択される。これにより識別データが不一致であった物理アドレスの１つ前の物理アドレスメモリ、つまり最後に書き込まれた物理アドレスの値を出力制御部３の制御により読み出しデータとして出力する（ステップ４０７）。
【００５６】
このように本実施の形態によれば、第１の実施の形態と同様に、論理アドレス＃Ａに対する書き込みにおいて、物理アドレスを＃０、＃１、＃２、…と順番に移動させていくことにより消去処理を行わずデータの再書き込みを行うことができ、また読み出し時は物理アドレス内の識別データ領域＃０、＃１、＃２、…と順番に読み出しを行うことにより、最後に書き込まれたデータを判定して論理アドレス＃Ａの出力として出力することができる。このような効果により、不揮発性メモリ１２の論理アドレス＃Ａが書き換えられたと見做すことができる。さらに論理アドレス＃Ａに書き込むデータに特別な制限を設けることなく任意の書き換えたいデータ格納用途に用いることができる。
【００５７】
（第３の実施の形態）
図７は本発明の第３の実施の形態に係る半導体メモリ装置の構成を示すブロック図である。但し、第２の実施の形態と同様の部分には同一符号を付して説明する。１は不揮発性メモリ装置（ＥＰＲＯＭまたはフラッシュＥＥＰＲＯＭ）、３２は複数個の書き込みデータ領域物理アドレスメモリ＃０、＃２、…、＃ｎ−１と複数個のアドレス識別データ領域物理アドレスメモリ＃１、＃３、…、＃ｎの集合体である不揮発性メモリ、３はメモリデータの出力を制御する出力制御部、３０はアドレス識別データ領域と書き込みデータ領域のいずれの領域に対する処理であるかによってアドレス生成カウンタ１７の値とアドレスラッチ１９の値からの選択と、最下位アドレスの選択を行うアドレス選択回路、３１は入力アドレスを（ｍ＋１）ビット左シフトさせるシフト回路、３３は論理アドレス＃Ａに対する読み出しパルスと書き込みデータ領域への書き込みパルスとアドレス識別データ領域への書き込みパルスとを生成するパルス生成回路、３５はアドレスが書き込みデータ領域かアドレス識別データ領域かによって書き込むデータを入力データと所定の識別データから選択する書き込みデータ選択回路（ＭＰＸ）である。
【００５８】
次に本実施の形態の動作について説明する。まず、書き込み動作について説明する。図８は第３の実施の形態における書き込み動作の流れを示すフローチャートである。論理アドレス＃Ａに対して書き込み動作が行われると、まずアドレス生成カウンタ１７はリセットされてアドレス＃０になり、同時に読み出しパルス発生回路１６が読み出しパルスを発生させる。
【００５９】
アドレス選択回路３０は、アドレス識別データの読み出し中、アドレス生成カウンタ１７の値（アドレス１〜ｍ）を選択し、それ以外（つまり論理アドレス＃Ａに対する読み出し・書き込み処理中）はアドレスラッチ１９の値を選択するが、ここではアドレス識別データ読み出し中であるのでアドレス生成カウンタ１７の値を選択する。
【００６０】
またアドレス選択回路３０はアドレス識別データ領域へのアクセス時は最下位アドレス“１”を、書き込みデータ領域へのアクセス時は最下位アドレス“０”を選択するが、ここではアドレス識別データ読み出し中であるので最下位アドレスは“１”が選択される（ステップ５０１）ため、アドレス生成カウンタ１７のアドレスは下位１〜ｍビットアドレスが＃０になる（ステップ５０２）。
【００６１】
一方その間に、入力アドレス（論理アドレス＃Ａ）はシフト回路３１で（ｍ＋１）ビット左シフトされており（ステップ５０３）、このシフト回路３１の出力とアドレス選択回路３０の出力であるアドレスのビット０〜ｍがアドレス合成回路２２で合成されて（ステップ５０４）、アドレスデコード回路１４により物理アドレス＃１が選択される。
【００６２】
それ故、不揮発性メモリ３２内の物理アドレス＃１の読み出しが行われ、読み出しデータは比較器１８で所定の識別データと比較される（ステップ５０５）。比較結果が不一致ならばアドレス生成カウンタ１７の値がアドレスラッチ１９に取り込まれ、同時にパルス生成回路３３が書き込みパルスを生成する。
【００６３】
書き込みパルスが生成されるとアドレス選択回路３０はアドレスラッチ１９の値を選択し、シフト回路３１の出力とアドレス合成回路２２で合成され、アドレスデコード回路１４により物理アドレスが選択されるが、ここでパルス生成回路は連続で２回の書き込みパルスを発生し、それに同期してアドレス選択回路３０は最下位アドレスが“０”→“１”と変化するので、最下位アドレスが“０”の時（ステップ５０６）は、物理アドレス＃０が選択され、続いて最下位アドレスが“１”の時（ステップ５０８）は、物理アドレス＃１が選択される。
【００６４】
また書き込みデータ選択回路３５において、最下位アドレスが“０”のときには入力データが選択され、“１”のときには所定の識別データが選択される。これにより物理アドレス＃０の書き込みデータ領域には入力データの書き込みが行われ（ステップ５０７）、物理アドレス＃１のアドレス識別データ領域には所定の識別データの書き込みが行われる（ステップ５０９）。
【００６５】
ここで、比較器１８の比較結果が一致であった場合について説明する。比較結果が一致であればアドレス生成カウンタ１７はインクリメントされて（ステップ５１０）、その値は０から１に変化する。また、読み出しパルス発生回路１６が再度読み出しパルスを発生させるが、このときアドレス選択回路３０は再度アドレス生成カウンタ１７の値と最下位ビット“１”を選択し、その出力であるアドレスのビット０〜ｍとシフト回路３１の出力とがアドレス合成回路２２で合成され、不揮発性メモリ３２内の物理アドレス＃３の読み出しが行われる。読み出しデータは比較器１８で所定の識別データと比較される。
【００６６】
比較結果が不一致になれば、上記物理アドレス＃１の場合と同様物理アドレス＃０に対して所定の識別データ、物理アドレス＃１に対して書き込みデータの書き込みが行われる。一方一致した場合は上記物理アドレス＃１の場合と同様、アドレス生成カウンタ１７がインクリメントされ、読み出しパルス発生回路が再度アドレス識別データ読み出しパルスを発生させ、物理アドレス＃５の読み出しを行う。そこで比較結果が一致であれば、次は物理アドレス＃７、…と順番にアドレス＃ｎ（ｎ＝２ｍ＋１）まで順番に読み出した識別データが所定の識別データと一致しないメモリ（すなわちまだ書き込まれていないメモリ）に対して入力データと所定の識別データの書き込みを行う。
【００６７】
次に、読み出し動作について説明する。図９は本発明の第３の実施の形態における読み出し動作の流れを示すフローチャートである。論理アドレス＃Ａに対して読み出し動作が行われると、まずアドレス生成カウンタ１７はリセットされアドレス＃０になり、同時に読み出しパルス発生回路１６が読み出しパルスを発生させる。
【００６８】
アドレス選択回路３０はアドレス識別データの読み出し中はアドレスビット１〜ｍはアドレス生成カウンタ１７の値、最下位ビットは“１”を選択する（ステップ６０１）ため、アドレス生成カウンタ１７のアドレスは下位１〜ｍビットアドレスが＃０になる（ステップ６０２）。
【００６９】
一方その間に、入力アドレス（論理アドレス＃Ａ）はシフト回路３１で（ｍ＋１）ビット左シフトされており（ステップ６０３）、シフト回路３１の出力とアドレス選択回路３０の出力がアドレス合成回路２２で合成され（ステップ６０４）、アドレスデコード回路１４により物理アドレス＃１が選択される。
【００７０】
それ故、不揮発性メモリ３２内の物理アドレス＃１の読み出しが行われ、読み出しデータは比較器１８で所定の識別データと比較される（ステップ６０５）。比較結果が一致の場合は、上記書き込み動作と同じように順番にアドレス生成カウンタがインクリメントされ（ステップ６１０）、所定の識別データと不一致になるまで繰り返す。
【００７１】
比較結果が不一致であればアドレス生成カウンタ１７の値がアドレスラッチ１９に取り込まれ、同時にパルス生成回路２３が論理アドレス＃Ａに対する読み出しパルスを生成する。このときアドレス選択回路３０は、最下位アドレスは“０”で（ステップ６０６）、アドレス１〜ｍはアドレスラッチ１９の値−１の値（ステップ６０７）を出力し、この出力とシフト回路３１の出力とがアドレス合成回路２２で合成され（ステップ６０８）、アドレスデコーダ１４により所望の物理アドレスが選択される。これにより識別データが不一致であったアドレス識別データ領域物理アドレスの１つ前の物理アドレスメモリに対応する書き込みデータ領域の物理アドレスメモリ、つまり書き込みデータ領域で最後に書き込まれた物理アドレスの値を読み出し（ステップ６０９）、出力制御部３の制御により読み出しデータとして出力する。
【００７２】
このように本発明の第２の実施の形態と同様に、論理アドレス＃Ａに対する書き込みにおいて、物理アドレスを＃０、＃１、＃２、…と順番に移動させていくことにより消去処理を行わず、また書き込みデータに特別な制限を設けることなくデータの再書き込みを行うことができ、また読み出し時は物理アドレス内の識別データ領域＃０、＃１、＃２、…と順番に読み出しを行うことにより最後に書き込まれたデータを判定し、論理アドレス＃Ａの出力として出力することができ、つまりは論理アドレス＃Ａが書き換えられたとみなすことができる。さらに、データのワード長を減らすことなくワード単位での書き換えが可能である。
【００７３】
（第４の実施の形態）
図１０は本発明の第４の実施の形態に係る半導体メモリ装置の構成を示すブロック図である。１は不揮発性メモリ装置（ＥＰＲＯＭまたはフラッシュＥＥＰＲＯＭ）、４２は複数個の物理アドレスメモリ＃０、＃１、…、＃ｎの集合体である不揮発性メモリ、３はメモリデータの出力を制御する出力制御部、４３は不揮発性メモリ４２のワード数と同じビット数の不揮発性メモリで構成され論理アドレスＸに配置された不揮発性メモリであるアドレス識別データメモリ、４４は不揮発性メモリ４２に対する読み出しまたは書き込み時にアドレス識別データメモリ４３の値を取り込む識別データラッチ、４５は識別データラッチ４４の値から次に書き込む識別データ値の算出と不揮発性メモリ４２の物理アドレス０〜  （ｍ−１）を算出するアドレス・データ算出器、４６は入力アドレスからアドレス識別データメモリのアドレス算出と読み出しパルスを発生させる識別データ読み書き制御部、４７はアドレス識別データメモリ領域へのアクセス時は識別データ読み出し制御部４６の出力を、書き込みデータ領域へのアクセス時はアドレス合成回路２２の出力を選択するアドレス選択回路である。アドレスデコード回路１４、シフト回路２１、アドレス合成回路２２、パルス生成回路２３は第２の実施の形態と同じ機能を有する。
【００７４】
次に本実施の形態の動作について説明する。まず、書き込み動作について説明する。図１１は第４の実施の形態における書き込み動作の流れを示すフローチャートである。論理アドレス＃Ａに対して書き込み動作が行われると、まず識別データ読み書き制御部４６が入力アドレスに基づいて識別データアドレスの算出と（ステップ７０１）、識別データ領域の読み出しパルスを発生する。
【００７５】
このときアドレス選択回路４７は識別データ読み書き制御部４６の出力を選択するため、アドレスデコード回路１４によってアドレス識別データメモリ４３内の物理アドレスＸが選択され、識別データの読み出しが行われる（ステップ７０２）。その際、識別データラッチ４４に読み出しデータを取り込む。
【００７６】
そこでアドレス・データ算出器４５は識別用データの値から次に書き込む不揮発性メモリ４２内の物理アドレスを選択するアドレス０〜（ｍ−１）を算出して（ステップ７０３）アドレス合成回路２２に入力する。アドレス合成回路２２はシフト回路２１によりｍビット左シフトされた書き込みアドレス（ステップ７０４）とアドレス・データ算出器４５の出力を合成し（ステップ７０５）、アドレス選択回路４７に入力する。
【００７７】
パルス生成回路２３は論理アドレス＃Ａへの書き込みパルスを発生するため、アドレス選択回路４７はアドレス合成回路２２の出力を選択してアドレスデコード回路１４が物理アドレス＃０〜＃ｎ（ｎ＝２ｍ−１）のいずれかを選択する。例えば識別データラッチ４４の値が（１１１１１１００）であれば、物理アドレス＃０、＃１にはすでにデータが書き込まれていると判断し、物理アドレス＃２を選択する。
【００７８】
書き込みデータ選択回路３５は識別データ読み書き制御部４６の出力から書き込みデータ領域へのアクセスであると判定して、書き込みデータを選択し、物理アドレス＃２に書き込みデータが書き込まれる（ステップ７０６）。
【００７９】
書き込みが完了したら次にアドレス・データ算出器４５は識別用データの中でまだ０が書かれていない最も下位のビットのみが０である識別データ領域書き込みデータを生成する（ステップ７０７）。
【００８０】
例えば識別データラッチ４４の値が（１１１１１１００）であれば（１１１１１０１１）を生成する。このとき識別データ読み書き制御部４６は識別データの書き込みパルスを発生させ、書き込みデータ選択回路３５はアドレス・データ算出器４５の出力である識別データを選択し、またアドレス選択回路４７は識別データ読み書き制御部４６の出力である識別データ領域アドレスを選択する（ステップ７０８）。これにより、識別データ領域の論理アドレスＸに識別データが書き込まれる（ステップ７０９）。消去せずに書き込んでいるため、書き込み後の論理アドレスＸの値は（１１１１１０００）となる。
【００８１】
次に読み出し動作について説明する。図１２は第４の実施の形態における読み出し動作の流れを示すフローチャートである。論理アドレス＃Ａに対して読み出し動作が行われると、まず識別データ読み書き制御部４６が入力アドレスから識別データアドレスの算出と（ステップ８０１）、識別データ領域の読み出しパルスを発生する。このときアドレス選択回路４７は識別データ読み書き制御部４６の出力を選択するため、アドレスデコード回路１４によってアドレス識別データメモリ４３内の物理アドレスＸが選択され、識別データの読み出しが行われる（ステップ８０２）。
【００８２】
その際、識別データラッチ４４に読み出しデータを取り込む。そこでアドレス・データ算出器４５は識別用データの値から読み出しを行う不揮発性メモリ４２内の物理アドレスを選択するアドレス０〜（ｍ−１）を算出し（ステップ８０３）、アドレス合成回路２２に入力する。
【００８３】
アドレス合成回路２２はシフト回路２１によりシフトされた読み出しアドレスと（ステップ８０４）と、アドレス・データ算出器４５の出力を合成し（ステップ８０５）、アドレス選択回路４７に入力する。パルス生成回路２３が論理アドレス＃Ａへの読み出しパルスを発生するため、アドレス選択回路４７はアドレス合成回路２２の出力を選択しアドレスデコード回路１４が物理アドレス＃０〜＃ｎ（ｎ＝２ｍ−１）のいずれかを選択する。例えば識別データラッチ４４の値が（１１１１１０００）であれば物理アドレス＃２を読み出し（ステップ８０６）、出力制御部３の制御により読み出しデータとして出力する。
【００８４】
このように本実施の形態によれば、第３の実施の形態と同様に、論理アドレス＃Ａに対する書き込みにおいて、物理アドレスを＃０、＃１、＃２、…と順番に移動させていくことにより、消去処理を行わず、また書き込みデータに特別な制限を設けることなくデータの再書き込みを行うことができ、また読み出し時は識別データ領域の読み出しを行うことにより、短時間で複数の物理アドレスのうちの１つを選択することができる。
【００８５】
また識別データを不揮発性メモリ４２の１物理アドレスにつき１ビットとしたことで、識別データ領域の占める割合を大幅に減らすことができる。
【００８６】
（第５の実施の形態）
図１３は本発明の第５の実施の形態に係る半導体メモリ装置の構成を示すブロック図である。１は不揮発性メモリ装置（ＥＰＲＯＭまたはフラッシュＥＥＰＲＯＭ）、４２は複数個の物理アドレスメモリ＃０、＃１、…、＃ｎの集合体である不揮発性メモリ、３はメモリデータの出力を制御する出力制御部、４３は不揮発性メモリ４２のワード数と同じビット数の不揮発性メモリで構成され論理アドレスＸに配置された不揮発性メモリであるアドレス識別データメモリ、５４は識別データメモリ４３の書き込み処理完了時に識別データメモリ４３の値を取り込んで保持しておく揮発性の識別データレジスタである。アドレス・データ算出器４５、識別データ読み書き制御部４６、シフト回路２１、パルス生成回路２３、アドレス合成回路２２、アドレス選択回路４７、アドレスデコード回路１４、書き込みデータ選択回路３５は全て第４の実施の形態と同じ機能を有する。
【００８７】
次に本実施の形態の動作について説明する。まず、書き込み動作について説明する。図１４は本発明の第５の実施の形態における書き込み動作の流れを示すフローチャートである。まず不揮発性メモリ１の電源立ち上げ時に、識別データメモリ４３の内容を読み出し識別データレジスタ５４に書き込んでおく。
【００８８】
論理アドレス＃Ａに対して書き込み動作が行われると、アドレス・データ算出器４５は識別データレジスタ５４に格納されている識別データ値から次に書き込む不揮発性メモリ４２内の物理アドレスを選択するアドレス０〜（ｍ−１）を算出して（ステップ９０１）、アドレス合成回路２２に入力する。
【００８９】
アドレス合成回路２２はシフト回路２１により書き込みアドレスをｍビット左にシフトして得た（ステップ９０２）出力とアドレス・データ算出器４５の出力を合成し（ステップ９０３）、アドレス選択回路４７に入力する。パルス生成回路２３が論理アドレス＃Ａへの書き込みパルスを発生するため、アドレス選択回路４７はアドレス合成回路２２の出力を選択してアドレスデコード回路１４に入力し、アドレスデコード回路１４が物理アドレス＃０〜＃ｎ（ｎ＝２ｍ−１）のいずれかを選択する。
【００９０】
例えば識別データラッチ４４の値が（１１１１１１００）であれば、物理アドレス＃０、＃１にはすでにデータが書き込まれていると判断し、物理アドレス＃２を選択する。書き込みデータ選択回路３５は識別データ読み書き制御部４６の出力から書き込みデータ領域へのアクセスであると判定して、書き込みデータを選択し、物理アドレス＃２に書き込みデータが書き込まれる（ステップ９０４）。
【００９１】
書き込みが完了したら次にアドレス・データ算出器４５は識別用データの中でまだ０が書かれていない最も下位のビットのみが０である識別データ領域書き込みデータを生成する（ステップ９０６）。例えば識別データラッチ４４の値が（１１１１１１００）であれば（１１１１１０１１）を生成する。このとき識別データ読み書き制御部４６は識別データの書き込みパルスを発生させ、書き込みデータ選択回路３５はアドレス・データ算出器４５の出力である識別データを選択し、またアドレス選択回路は識別データ読み書き制御部４６の出力（ステップ９０５）である識別データ領域アドレスを選択する。
【００９２】
これにより、識別データ領域の論理アドレスＸに識別データが書き込まれる  （ステップ９０７）。消去せずに書き込んでいるため、書き込み後の論理アドレスＸの値は（１１１１１０００）となる。ここまでの動作は第４の実施の形態とほぼ同じであるが、本実施の形態では、書き込み完了を示す識別データ書き込みパルスの立下りで新規に書き込んだ識別データを識別データレジスタ５４に書き込む（ステップ９０８）。
【００９３】
次に読み出し動作について説明する。図１５は本発明の第５の実施の形態における読み出し動作の流れを示すフローチャートである。論理アドレス＃Ａに対して読み出し動作が行われると、アドレス・データ算出器４５は識別データレジスタ５４に格納されている識別データ値から次に書き込む不揮発性メモリ４２内の物理アドレスを選択するアドレス０〜（ｍ−１）を算出し（ステップ１１１）、アドレス合成回路２２に入力する。
【００９４】
アドレス合成回路２２はシフト回路２１により読み出しアドレスをｍビット左にシフトして得た出力（ステップ１１２）とアドレス・データ算出器４５の出力を合成し（ステップ１１３）、アドレス選択回路４７に入力する。パルス生成回路２３が論理アドレス＃Ａへの読み出しパルスを発生するため、アドレス選択回路４７はアドレス合成回路２２の出力を選択しアドレスデコード回路１４が物理アドレス＃０〜＃ｎ（ｎ＝２ｍ−１）のいずれかを選択する。例えば識別データラッチ４４の値が（１１１１１０００）であれば物理アドレス＃２を読み出し（ステップ１１４）、出力制御部３の制御により読み出しデータとして出力する。
【００９５】
このように本発明の第４実施の形態と同様に、論理アドレス＃Ａに対する書き込みにおいて、物理アドレスを＃０、＃１、＃２、…と順番に移動させていくことにより消去処理を行わず、また書き込みデータに特別な制限を設けることなくデータの再書き込みを行うことができ、また読み出し時は識別データ領域の読み出しを行うことにより短時間で複数の物理アドレスのうちの１つを選択することができる。
【００９６】
また識別データを不揮発性メモリ４２の１物理アドレスにつき１ビットとしたことで、識別データ領域の占める割合を大幅に減らすことができる。
【００９７】
さらに、識別データを不揮発性メモリで構成された識別データメモリ４３とともに揮発性の識別データレジスタ５４にも格納しておくことにより、アドレスデコードのための不揮発性メモリの読み出しが不要で、アドレスデコードを瞬時に行うことができ、特に読み出しにおいては、１つの論理アドレスに対して１つの物理アドレスをもつ通常のＥＰＲＯＭやフラッシュＥＥＰＲＯＭと同じ速度で読み出すことができる。
【００９８】
（第６の実施の形態）
図１６は本発明の第６の実施の形態に係る半導体メモリ装置の構成を示すブロック図である。６はブロック単位で一括消去できる不揮発性メモリ装置（フラッシュＥＥＰＲＯＭ）、６２は書き込みデータ領域である複数個の物理アドレスメモリ＃０、＃１、…、＃ｎの集合体６４と識別用メモリ領域である不揮発性メモリ６５と不揮発性メモリで構成された消去ブロックＡの状態フラグ６８を内蔵し、消去ブロックＡに配置されている不揮発性メモリ、６３は書き込みデータ領域である複数個の物理アドレスメモリ＃０、＃１、…、＃ｎの集合体６６と識別用メモリ領域である不揮発性メモリ６７と不揮発性メモリで構成された消去ブロックＢの状態フラグ６９を内蔵し、消去ブロックＢに配置されている不揮発性メモリ、７０は１つの論理アドレス＃Ａに対して不揮発性メモリ６２と不揮発性メモリ６３のどちらを用いるかを制御するブロック切り替え制御部、６１は不揮発性メモリ６２と不揮発性メモリ６３とブロック切り替え制御部６８を内蔵した１論理アドレスに対応する不揮発性メモリ、７１は不揮発性メモリ装置６の消去・書き込みの制御を行う書き換え制御部である。不揮発性メモリ６２と不揮発性メモリ６３は上記の第５の実施の形態と同じ機能を有するものとする。
【００９９】
次に本実施の形態の動作について説明する。１つの論理アドレス＃Ａに対応した不揮発性メモリ６１へのデータ書き込み方法について説明する。消去ブロックＡの状態フラグ６８にはブロックＡが有効であることを表すデータが予め書き込まれているものとする。
【０１００】
論理アドレス＃Ａへの書き込み動作が行なわれると、まずブロック切り替え制御部７０は消去ブロックＡ状態フラグ６８と消去ブロックＢ状態フラグ６９の読み出し有効が書き込まれている消去ブロックに対応する上位アドレスを発生させる。
【０１０１】
初期状態では消去ブロックＡが有効になっているため、上位アドレスが消去ブロックＡに該当する物理アドレスに決定し、消去ブロックＡの物理アドレスが選択され、以降上記の第５の実施の形態に記載の方法で不揮発性メモリ６２に対して書き込みを行い、ｎ回目までの書き換えを行なうことができる（ステップ１２１〜１２３）。
【０１０２】
ｎ回目の書き換え時に識別データレジスタの値をデコードした結果が＃ｎになったことをトリガーとして、ブロック切り替え制御部６８に内蔵されている不揮発性メモリの値をブロックＢが有効であることを示す値として書き込む（ステップ１２４〜１２７）。
【０１０３】
ｎ＋１回目の書き込みが発生すると、ブロック切り替え制御部７０は消去ブロックＡ状態フラグ６８と消去ブロックＢ状態フラグ６９を読み出し、双方に有効であることを示す値が書き込まれている場合は優先度の低い消去ブロック（この場合は消去ブロックＢ）を選択し、消去ブロックＢに該当する物理アドレスが選択される。
【０１０４】
これにより、以降ｎ＋ｎ回目まで上記の第５の実施の形態に記載の方法で不揮発性メモリ６３に対して書き込みを行う。ｎ＋１回目からｎ＋ｎ回目までの書き込みの間に書換制御部７１が処理の空いているタイミングを使って消去ブロックＡ全体を消去する。
【０１０５】
ｎ＋ｎ回目の書き込み時にすでに消去されている消去ブロックＡの状態フラグ６８に消去ブロックＡが有効であることを示す値を書き込み、ｎ＋ｎ＋１回目の書き込み時にはブロック切り替え制御部７０は消去ブロックＡを選択し、消去ブロックＡに該当する物理アドレスを選択する。
【０１０６】
このように本実施の形態によれば、順番に消去ブロックＡ→Ｂ→Ａ→Ｂと順番に書き込んでいくことにより、フラッシュＥＥＰＲＯＭの消去回数×ｎ回の書き換えが可能になり、論理アドレス＃Ａに対する書き換え回数が大幅に増加する。
【０１０７】
尚、不揮発性メモリ６２、６３は上記第５の実施の形態に記載の不揮発性メモリと同等の機能を有することとしたが、上記第１〜第５実施の形態のどの不揮発性メモリでもよい。
【０１０８】
また、本発明は上記実施の形態に限定されることなく、その要旨を逸脱しない範囲において、具体的な構成、機能、作用、効果において、他の種々の形態によっても実施することができる。
【０１０９】
【発明の効果】
請求項１に記載の発明によれば、１つの論理アドレスに対して複数個の物理アドレスメモリを割り当てることにより、１つの論理アドレスに記憶されている内容を書き替える時、対応して設けられている複数個の物理アドレスメモリの中で空いているメモリにデータを書き込むことにより、１つの論理アドレスに対して消去動作を伴わずにデータの書き換えを行うことできる。これにより、デバイスの面積を増大させること無く、不揮発性メモリの書き換えを可能することができ、その上、消去動作を伴わないため、電気的に消去できないＥＰＲＯＭを書き換え可能にすることができ、さらに、一括消去型のフラッシュＥＥＰＲＯＭに少量単位（ワード単位）での書き換えが可能な領域を設けることができる。
【０１１０】
請求項２に記載の発明によれば、１つの論理アドレスに記憶されている内容を読み出す時、最後に書き込まれた物理アドレスメモリの内容を読み出すことにより、書き込み時に消去動作を行なわなくとも有効なデータを読み出すことができる。
【０１１１】
請求項３、５に記載の発明によれば、１つの論理アドレスに対して複数個の物理アドレスメモリとアドレス識別領域を割り当てることにより、１つの論理アドレスに記憶されている内容を書き替える時、対応して設けられている複数個の物理アドレスメモリの中で空いているメモリをアドレス識別領域のアドレス識別データにより探し出し、この空いている物理アドレスメモリにデータを書き込むことにより、１つの論理アドレスに対して消去動作を伴わずにデータの書き換えを行うことができる。それ故、デバイスの面積を増大させること無く、不揮発性メモリの書き換えを可能することができ、しかも、アドレス識別データを空きメモリの検索に用いるため、物理アドレスメモリに格納するデータに空きメモリの検索情報を含ませる必要がなく、物理アドレスメモリに特別な書き込み制限を設けることなく、再書込みを行うことができる。
【０１１２】
請求項４、６に記載の発明によれば、１つの論理アドレスに記憶されている内容を読み出す時、アドレス識別データによって最後に書き込まれた物理アドレスメモリを探し出し、この物理アドレスメモリの内容を読み出すことにより、書き込み時に消去動作を行なわなくとも有効なデータを読み出すことができる。
【０１１３】
請求項７に記載の発明によれば、前記１つの論理アドレスに対する複数個の物理アドレスメモリの一部の領域を前記アドレス識別データ領域に設定することにより、アドレス識別データ領域を確保するために別の物理アドレスメモリを用意する必要がなく、デバイスの面積の増加を防止することができる。
【０１１４】
請求項８に記載の発明によれば、１つの論理アドレスに対する複数個の物理アドレスメモリに対して別の物理アドレスメモリを前記アドレス識別データ領域に設定することにより、ワード長を変えずに書き換え可能な領域を設けることができる。
【０１１５】
請求項９に記載の発明によれば、アドレス識別データ領域として１物理アドレスにつき１ビットを割り当てることにより、アドレス識別データ領域を小さくすることにより、無駄な領域を発生させずに書き換え可能な領域を設けることができる。
【０１１６】
請求項１０に記載の発明によれば、アドレス識別データ領域のアドレス識別データを揮発性のメモリに読み出して用いることにより、書き込み、読み出し時のアドレスデコード時間をほとんど無視できる程度に小さくすることができ、通常のＥＰＲＯＭやフラッシュＥＥＰＲＯＭと同じ読み出しスピードを保ったまま書き換え可能な領域を設けることができ、さらに、既存のＥＥＰＲＯＭでのワード書き換えは消去処理と書き込み処理の組み合わせになっているが、本発明では読み出し処理と書き込み処理のみで書き換えを行なっているので、ＥＥＰＲＯＭに比べてはるかに書き換え時間を短くすることができる。
【０１１７】
請求項１１に記載の発明によれば、異なる複数の消去ブロックに物理アドレスメモリを配置することにより、第１の消去ブロック内の複数個の物理アドレスメモリ全てにデータが書き込まれると、次に第２の消去ブロック内の複数個の物理アドレスメモリにデータの書き込みを行い、その間に第１の消去ブロックの書き込みデータを消去し、次に第２の消去ブロック内の複数個の物理アドレスメモリ全てにデータが書き込まれると、また第１の消去ブロック内の複数個の物理アドレスメモリにデータを書き込むことを繰り返すことにより、１つの論理アドレスに対する書き換え回数を大幅に増加させることができる。
【図面の簡単な説明】
【図１】本発明の第１の実施の形態に係る半導体メモリ装置の構成を示す模式図。
【図２】第１の実施の形態における書き込み動作の流れを示すフローチャート。
【図３】第１の実施の形態における読み出し動作の流れを示すフローチャート。
【図４】本発明の第２の実施の形態に係る半導体メモリ装置の構成を示すブロック図。
【図５】第２の実施の形態における書き込み動作の流れを示すフローチャート。
【図６】本発明の第２の実施の形態における読み出し動作の流れを示すフローチャート。
【図７】本発明の第３の実施の形態に係る半導体メモリ装置の構成を示すブロック図。
【図８】第３の実施の形態における書き込み動作の流れを示すフローチャート。
【図９】本発明の第３の実施の形態における読み出し動作の流れを示すフローチャート。
【図１０】本発明の第４の実施の形態に係る半導体メモリ装置の構成を示すブロック図。
【図１１】第４の実施の形態における書き込み動作の流れを示すフローチャート。
【図１２】第４の実施の形態における読み出し動作の流れを示すフローチャート。
【図１３】本発明の第５の実施の形態に係る半導体メモリ装置の構成を示すブロック図。
【図１４】本発明の第５の実施の形態における書き込み動作の流れを示すフローチャート。
【図１５】本発明の第５の実施の形態における読み出し動作の流れを示すフローチャート。
【図１６】本発明の第６の実施の形態に係る半導体メモリ装置の構成を示すブロック図。
【図１７】本発明の第６の実施の形態における書き込み動作の流れを示すフローチャート。
【図１８】従来の不揮発性メモリの書き換え処理の流れを示すフロチャート。
【符号の説明】
１、６  不揮発性メモリ装置
２、１２、３２、４２、６１、６２、６３、６５、６７  不揮発性メモリ
３  出力制御部
１４  アドレスデコード回路
１５  書き込みデータ生成回路
１６  アドレスデコード用読み出しパルス発生回路
１７  アドレス生成カウンタ
１８  比較器
１９  ラッチ
２０、３０、４７  アドレス選択回路
２１  ｍビット左シフト回路
２２  アドレス合成回路
２３、３３  読み出し・書き込みパルス生成回路
３１  ｍ＋１ビット左シフト回路
３５  書き込みデータ選択回路（ＭＰＸ）
４３  アドレス識別データメモリ
４４  識別データラッチ
４５  アドレス・データ算出器
４６  識別データ読み書き制御部
５４  識別データレジスタ
７０  ブロック切り替え制御部
７１  フラッシュＥＥＰＲＯＭ書き換え制御部
【図１】
2005004845.tif 000003
【図２】
2005004845.tif 000004
【図３】
2005004845.tif 000005
【図４】
2005004845.tif 000006
【図５】
2005004845.tif 000007
【図６】
2005004845.tif 000008
【図７】
2005004845.tif 000009
【図８】
2005004845.tif 000010
【図９】
2005004845.tif 000011
【図１０】
2005004845.tif 000012
【図１１】
2005004845.tif 000013
【図１２】
2005004845.tif 000014
【図１３】
2005004845.tif 000015
【図１４】
2005004845.tif 000016
【図１５】
2005004845.tif 000017
【図１６】
2005004845.tif 000018
【図１７】
2005004845.tif 000019
【図１８】
2005004845.tif 000020