(57)【要約】      （修正有）【課題】消去を伴わずに書き込み済みデータの一部書き換えを可能にする。【解決手段】既に書き込まれたデータの一部を変更する書き換え動作を消去動作を伴わずに簡便な方法で行う半導体不揮発性メモリにおいて、書き換え前と書き換え後のデータのいずれが有効かのフラグを記憶する有効データ記憶部を有し、読み出し動作時において、前記有効データ記憶部に書き換え前のデータを有効にする第１のフラグが記憶されている時は供給された読み出しアドレスに対応するデータを主メモリセルアレイから読み出し、前記有効データ記憶部に書き換え後のデータを有効にする第２のフラグが記憶されている時は、読み出しアドレスが対応情報の第１のアドレスと一致する時にそれに対応する第２のアドレスのデータをサブメモリセルアレイから読み出し、一致しない時に読み出しアドレスのデータを前記主メモリセルアレイから読み出すこと。【選択図】図１２
2008103076.tif 000002
【特許請求の範囲】
【請求項１】
半導体不揮発性メモリであって、
主メモリセルアレイと、
サブメモリセルアレイと、
アドレス記憶部とを有し、
前記主メモリセルアレイに書き込まれたデータの一部分を変更する書き換え動作の場合、当該主メモリセルアレイを消去せずに、変更データを前記サブメモリセルアレイに書き込み、変更対象データが格納されている前記主メモリセルアレイの第１のアドレスと、前記変更データが格納された前記サブメモリセルアレイの第２のアドレスとの対応情報を前記アドレス記憶部に記録する半導体不揮発性メモリにおいて、
更に、書き換え前のデータと書き換え後のデータのいずれが有効かのフラグを記憶する有効データ記憶部を有し、
読み出し動作時において、前記有効データ記憶部に書き換え前のデータを有効にする第１のフラグが記憶されているときは、供給された読み出しアドレスに対応するデータを前記主メモリセルアレイから読み出し、
前記有効データ記憶部に書き換え後のデータを有効にする第２のフラグが記憶されているときは、前記読み出しアドレスが前記対応情報の第１のアドレスと一致するときに、それに対応する第２のアドレスのデータを前記サブメモリセルアレイから読み出し、一致しないときに読み出しアドレスのデータを前記主メモリセルアレイから読み出すことを特徴とする半導体不揮発性メモリ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、フラッシュメモリなどの半導体不揮発性メモリに関し、特に、消去動作を伴わずにデータの一部書き換えを行うことができる半導体不揮発性メモリに関する。
【背景技術】
【０００２】
フラッシュメモリなどの半導体不揮発性メモリは、フローティングゲートやトラップゲートを有するトランジスタからなるメモリセルで構成される。フローティングゲートやトラップゲートに電荷を注入しない状態が消去状態（データ１）で、それらに電荷を注入した状態がプログラム状態（データ０）であり、消去状態ではセルトランジスタの閾値電圧が低く、プログラム状態では閾値電圧が高くなる。フローティングゲートなどに電荷を注入する書き込み動作（またはプログラム動作）により、データ「１」をデータ「０」に変更し、電荷を引き抜くまたは中和する消去動作により、データ「０」をデータ「１」に変更する。
【０００３】
図１は、従来の不揮発性メモリの構成図である。このメモリデバイス１００は、メモリセルアレイ１０と、行デコーダ１２と、列デコーダ１４とデータ入出回路１６とを有する。メモリセルアレイ１０は、複数のメモリセルをそれぞれ有する複数のブロックで構成されている。かかる不揮発性メモリでは、書き込み動作において、指定されたアドレスに書き込みデータが書き込まれ、消去動作において、ブロック単位で一斉に消去状態に変更される。
【０００４】
図２は、従来の不揮発性メモリの書き込み動作のフローチャート図である。最初に外部から書き込みコマンドと共にアドレスＡＤＤと書き込みデータＤＡが入力され（Ｓ１）、アドレスＡＤＤに応じてデコーダ１２，１６が図示しないワード線やビット線を選択し、選択されたワード線とビット線の交差位置のメモリセルに、書き込みデータが書き込まれる（Ｓ６）。そして、データ書き込み動作の後、メモリのデータが書き込みデータと一致することが確認されると（Ｓ２）、書き込み動作は正常終了し（Ｓ３）、確認されないと、書き込み回数が所定回数に達するまで（Ｓ４）、書き込み動作Ｓ６が繰り返される。書き込み回数が所定回数を超えると（Ｓ４）、書き込み異常が発生したとして異常終了する（Ｓ５）。
【０００５】
前述のとおり、フラッシュメモリでは、データの書き込みは、アドレスに対応するメモリセルにデータを書き込む。つまり、書き込みの単位は、アドレスで選択される１ビットのメモリセル、若しくは、アドレスで選択される１バイトや１ワード単位のメモリセル群である。或いは、アドレスで選択されるワード線単位のメモリセル群である。書き込み動作は、消去状態（データ１）のメモリセルをデータ「０」に変更することで行われる。それに対して、消去単位は、複数の書き込み単位のメモリセルを有するブロック（またはセクタ）単位あるいはチップ単位で行われる。具体的には、消去動作では、消去対象ブロック内のメモリセルを全てプログラム状態（データ０）にした後、全てのメモリセルを同時に消去状態（データ１）に変更する。チップ単位で消去する場合も同じである。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
フラッシュメモリには、プログラムや所定のデータが書き込まれる。その後、書き込んだプログラムやデータの一部のみを変更したい場合は、そのメモリブロックを一旦消去して、一部変更したプログラムやデータを全て再書き込みする必要がある。つまり、ブロック単位での消去しかできないので、ブロック内のごく一部分のデータ変更であっても、そのブロックの全データを消去し、変更がない部分も含めて全てのデータを再書き込みしなければならない。
【０００７】
従って、一部書き換えの要求が発生したとき、従来の不揮発性メモリでは、書き換え対象のデータが記録されているメモリブロックを消去して、一部書き換えられた新たなデータを再度書き込む必要があるので、書き換え処理が煩雑になり、書き換えに長い時間を要し、また、消去回数の増大を招く。ごく一部の書き換えであっても、上記のような消去、全書き込みが必要であることは、ユーザの利便性を損ねることになる。
【０００８】
そこで、本発明の目的は、一部書き換えの機能を有する半導体不揮発性メモリを提供することにある。
【０００９】
更に、本発明の目的は、メモリブロック消去やチップ消去を伴わずに書き込み済みデータの一部変更を可能にする半導体不揮発性メモリを提供することにある。
【課題を解決するための手段】
【００１０】
上記の目的を達成するために、本発明の一つの側面によれば、半導体不揮発性メモリにおいて、主メモリセルアレイとサブメモリセルアレイを有し、主メモリセルアレイに書き込まれたデータの一部分を変更する場合、当該主メモリセルアレイを消去せずに、変更データをサブメモリセルアレイに書き込み、変更対象データが格納される主メモリセルアレイの第１のアドレスと、変更データが格納されるサブメモリセルアレイの第２のアドレスとの対応情報を記録することを特徴とする。そして、読み出し時には、読み出しアドレスと対応情報の第１のアドレスとを比較し、一致するときは、当該第１のアドレスに対応する第２のアドレスのサブメモリセルアレイ内のデータを読み出し、一致しないときは、当該読み出しアドレスに対応する主メモリセルアレイ内のデータを読み出す。
【００１１】
上記の発明によれば、既に書き込まれたデータの一部分のみを変更する時は、そのメモリブロックを消去することなく、変更データをサブメモリセルアレイに書き込み、変更対象データの主メモリセルアレイの第１のアドレスと変更データが格納されるサブメモリセルアレイの第２のアドレスとの対応情報を記録する。従って、変更データのみをサブメモリセルアレイに書き込めばよいので、書き換え動作が簡単で高速に行われる。また、消去回数の増大を抑えることができる。
【００１２】
上記の発明の側面において、より好ましい実施例では、消去単位のメモリブロックが主メモリセルアレイとサブメモリセルアレイとをそれぞれ有し、当該メモリブロックが消去されるときに、主メモリセルアレイのみならずサブメモリセルアレイも同時に消去される。従って、主メモリセルアレイが消去状態になると、サブメモリセルアレイも消去状態になり、書き換え機能を再度利用することが可能になる。
【発明の効果】
【００１３】
以上、本発明によれば、半導体不揮発性メモリにおいて、既に書き込まれたデータの一部を変更する書き換え動作を、消去動作を伴わずに簡便な方法で行うことができる。
【発明を実施するための最良の形態】
【００１４】
以下、図面を参照して本発明の実施の形態例を説明する。しかしながら、本発明の保護範囲は、以下の実施の形態例に限定されるものではなく、特許請求の範囲に記載された発明とその均等物にまで及ぶものである。
【００１５】
図３は、本実施の形態における不揮発性メモリの構成図である。この不揮発性メモリ装置（以下一例としてフラッシュメモリ装置とする）１００は、メモリセルアレイが主メモリセルアレイ１０とサブメモリセルアレイ２０とで構成される。そして、消去単位であるメモリブロックＭＢ０，ＭＢ１は、この主メモリセルアレイ１０とサブメモリセルアレイ２０とをそれぞれ有する。この例では、ロウ方向にサブメモリセルアレイ２０が設けられる。また、フラッシュメモリ装置１００は、従来例と同様に、行デコーダ１２と、列デコーダ１４と、データ入出力回路１６と、コマンドに応答して書き込み、消去、読み出しを制御する制御回路（図示せず）とを有する。
【００１６】
図３のフラッシュメモリ装置１００は、更に、書き換え時に変更対象のデータが格納された主メモリセルアレイの第１のアドレスと、変更データが格納されるサブメモリセルアレイの第２のアドレスとの対応情報を記憶するアドレス記憶部２２と、書き込み時に上記対応情報をアドレス記憶部２２に書き込み、読み出し時に外部から供給される読み出しアドレスＡＤＤと、アドレス記憶部２２内の第１のアドレスとを比較するアドレス管理回路２４とを有する。
【００１７】
このフラッシュメモリ装置１００における書き換え動作について説明する。最初は、メモリブロックは消去済みであり、そのメモリブロック内の主メモリセルアレイ１０とサブメモリセルアレイ２０とは共に消去状態にある。そして、プログラムやデータベースなどの所定のデータが、消去状態の主メモリセルアレイ１０に書き込まれる。より厳密にいうと、書き込まれるデータが「０」の場合は、そのセルトランジスタがデータ「１」の消去状態からデータ「０」のプログラム状態に変更され、書き込まれるデータが「１」の場合は、消去状態のまま維持される。
【００１８】
次に、一旦書き込んだデータの一部のみを書き換えしたい場合は、従来のようにそのデータが書き込まれたメモリブロックを全て消去することを行わずに、変更データをサブメモリセルアレイ２０に書き込み、変更対象のデータが格納される主メモリセルアレイ１０の第１のアドレスと、変更データが格納されるサブメモリセルアレイ２０の第２のアドレスとの対応情報を、アドレス記憶部２２に書き込む。
【００１９】
図５は、メモリセルアレイ内のアドレスにより選択される単位を示す図である。図５に示されるとおり、アドレスＡＤＤをデコードするとそれにより選択されたワード線ＷＬが駆動される。従って、行方向に複数のメモリセルが選択される。但し、同時に出力されるビット数は、メモリセルアレイの構成に応じて異なる。例えば、８ビットまたは１６ビットのアクセス単位が、一つのアドレスに対して選択され、アクセスされる。このアクセス単位が、図５中に楕円形で示される。
【００２０】
上記の書き換え動作では、主メモリセルアレイ１０内のワード線ＷＬに属する書き換え対象のデータＤ１は、主メモリセルアレイ内にそのまま維持され、新たに書き換えられるデータＤ２が、サブメモリセルアレイ２０内のワード線ＳＷＬに属するアクセス単位のメモリセルに書き込まれる。従って、アドレス記憶部２２には、主メモリセルアレイの行アドレスと、サブメモリセルアレイの行アドレスとの対応情報が格納される。
【００２１】
図６は、アドレス記憶部２２の具体的構成を示す図である。アドレス記憶部２２は、主メモリセルアレイの第１のアドレスＡＤＤと、サブメモリセルアレイの第２のアドレスＳＡＤＤとの対応情報を記録する。図６の例では、サブメモリセルアレイのアドレスＳＡＤＤが、「０００」〜「１１１」と８つのアドレスを有し、書き換えに伴い変更データがサブメモリセルアレイに書き込まれるたびに、主メモリセルアレイの第１のアドレスＡＤＤ１、ＡＤＤ２が順番にアドレス記憶部２２に書き込まれる。
【００２２】
即ち、書き換え動作では、書き込みコマンドと共に変更すべきデータのアドレスＡＤＤと変更データとがメモリ装置１００に供給される。そして、アドレス管理回路２４は、アドレス記憶部２２にその供給アドレスＡＤＤを書き込み、それに対応するサブメモリセルアレイ内のアドレスＳＡＤＤをデコーダ１２に出力する。それに伴い、変更データがサブメモリセルアレイ２０内に書き込まれる。
【００２３】
図７は、読み出し動作のフローチャート図である。読み出し動作では、読み出し対象のアドレスが入力される（Ｓ１）。それに伴い、アドレス管理回路２４が、その読み出しアドレスとアドレス記憶部２２内の主メモリセルアレイの第１のアドレスとを比較する（Ｓ２）。一致しない場合は、アドレス管理回路２４が供給された読み出しアドレスをそのままデコーダ１２に出力して、主メモリセルアレイ１０内のデータを出力する（Ｓ３，Ｓ５，Ｓ６）。一方、一致する場合は、その読み出しアドレスのデータは書き換えられているので、アドレス管理回路２４は読み出しアドレスに対応するサブメモリセルアレイのアドレスＳＡＤＤをデコーダ１２に出力する。それにより、サブメモリセルアレイ内の変更データが出力される（Ｓ４、Ｓ５、Ｓ６）。
【００２４】
サブメモリセルアレイ２０内に書き込み可能なメモリセルが存在するかぎり、上記の書き換え動作を行うことができる。そして、サブメモリセルアレイ２０が全て書き込まれた状態になると、もはや上記の書き換え動作を行うことはできない。したがって、その場合は、書き込みエラーとなり、そのメモリブロックＭＢが消去される。そして、この消去動作により、そのメモリブロック内の主メモリセルアレイ１０とサブメモリセルアレイ２０とが共に消去状態となる。従って、その後は、再び、上記のサブメモリセルアレイを利用した書き換え動作が可能になる。この消去動作時に、アドレス記憶部の第１のアドレスも消去される。
【００２５】
図４は、本実施の形態の別の不揮発性メモリの構成図である。この例では、コラム方向にサブメモリセルアレイ２０を設けた例である。従って、この例では、変更対象のデータが格納されている主メモリセルアレイの第１のコラムアドレスと、変更データが格納されるサブメモリセルアレイの第２のコラムアドレスとの対応情報が、アドレス記憶部２２に記録される。そして、アドレス管理回路２４は、このコラムアドレスの比較を行い、アドレス記憶部２２の対応情報に従って、適宜サブメモリセルアレイのコラムアドレスをデコーダ１４に出力する。
【００２６】
図３と図４のサブメモリセルアレイ構成を同時に設けても良い。その場合は、アドレス記憶部は行アドレスとコラムアドレスの両方について、対応情報を記憶する必要がある。
【００２７】
以上のとおり、本実施の形態では、既に書き込まれたデータの一部を変更する書き換え動作を、消去動作と変更不要のデータの再書き込みを伴わずに、変更すべきデータのみをサブメモリセルアレイに書き込むだけで行うことができる。したがって、書き換え動作では、外部から書き込みコマンドと書き換えるべきデータのアドレスと変更データとを与えるのみで、見かけ上、書き換え動作が可能になる。
【００２８】
上記の書き換え動作は、通常書き込み動作とは区別される特別のモードにして行う場合と、通常書き込み動作と同じモード内で行う場合とが可能である。
【００２９】
図８は、特別のモードで書き換え動作を行う不揮発性メモリ装置の構成図である。図中、図３と同じ構成部分には同じ引用番号を与えている。図３のメモリ装置と異なる構成は、書き換えモード判定回路２６である。所定の外部ピンに通常動作とは異なる高電圧を印加したり、書き換えモードコマンドを供給すると、書き換えモード判定回路２６が、そのモードを検出して、アドレス管理回路２４に書き換えモードになったことを通知する。
【００３０】
図９は、図８の不揮発性メモリ装置の書き込み動作のフローチャート図である。通常の書き込み動作が左側に、一部変更する書き換え動作が右側に示される。通常の書き込み動作の各工程Ｓ１０〜Ｓ１５は、図２に示した従来の書き込み動作と同じである。つまり、書き込みコマンドと共に、書き込みアドレスと書き込みデータとが供給されると（Ｓ１０）、その書き込みデータが主メモリセルアレイ１０に書き込まれるまで、データ書き込み処理Ｓ１３が繰り返される。書き込みデータと書き込まれたデータとが一致すれば、正常終了する（Ｓ１４）。また、書き込み処理が所定回数を越えても書き込みが完了しない場合は、何らかの不良が発生したとみなして、書き込み異常が出力される（Ｓ１５）。
【００３１】
次に、書き換え動作を行う場合は、所定の外部端子に通常よりも高い電圧を印加したり、所定の書き換えモードコマンドを入力することにより、書き換えモードに入る（Ｓ１８）。このモード判定は、書き換えモード判定回路２６により行われる。書き換えモードが検出されると、アドレス管理回路２４にそれが通知される。
【００３２】
そして、その後は、変更すべきデータが格納されている主メモリセルアレイの第１のアドレスと、変更データとが、書き込みコマンドとと共に供給される（Ｓ２０）。アドレス管理回路２４は、アドレス記憶部２２の書き込み可能なサブメモリセルアレイの第２のアドレスを検出し、その第２のアドレスに対応させて、供給された第１のアドレスをアドレス記憶部２２に書き込む。そして、アドレス管理回路２４は、第２のアドレスをデコーダ１２に出力して、サブメモリセルアレイ２０の第２のアドレスに、変更データを書き込む（Ｓ２３）。この書き込み処理は、書き込みデータがサブメモリセルアレイ２０に書き込まれ、第１のアドレスがアドレス記憶部２２に書き込まれるまで繰り返される（Ｓ２１）。書き込み処理が完了すれば、正常終了する（Ｓ２４）。また、書き込み処理が所定回数を超えた場合は、異常終了となる（Ｓ２５）。
【００３３】
このように、図８のメモリ装置では、一部のデータを変更する場合は、一旦書き換えモードに入り、その後は通常の書き込み動作と同様に、変更すべきデータのアドレスと変更データを供給する。それに伴い、変更すべきデータは、サブメモリセルアレイ２０内に書き込まれる。
【００３４】
図１０は、自動で書き換え動作を行う不揮発性メモリ装置の構成図である。また、図１１は、その書き込み動作のフローチャート図である。このメモリ装置には、書き換え判定回路２８が設けられていて、その書き換え判定回路２８が、書き込みデータをサブメモリセルアレイに書き込むべきか否かの判定を行う。
【００３５】
書き換え判定回路２８は、書き込みコマンドと共に書き込みアドレスＡＤＤ及び書き込みデータＤＡが供給されると、主メモリセルアレイ１０の書き込みアドレスＡＤＤのデータを読み出し、書き込みデータＤＡをそのアドレスに書き込むことが可能か否かをチェックする。この判定では、読み出したデータと書き込みデータとを比較して、データ「０」からデータ「１」への変更が必要なビットが存在するか否かをチェックする。つまり、消去動作が必要か否かをチェックする。
【００３６】
書き込み動作は、消去状態のデータ「１」からプログラム状態のデータ「０」への変更である。一方、メモリブロック単位で行われる消去動作は、全てのメモリセルをデータ「１」にする動作である。
【００３７】
データ「０」からデータ「１」への変更が必要なビットが存在する場合は、供給された書き込みデータを主メモリセルアレイに書き込むことはできない。従って、その場合は、書き換え動作と判定され、書き込みデータをサブメモリセルアレイに書き込む必要がある。一方、データを比較して、データ「１」からデータ「０」への変更が必要なビットと、データの変更が不要なビットだけしかない場合は、主メモリセルアレイにその書き込みデータを書き込むことが可能である。このような状況は、典型的には主メモリセルアレイが消去状態にある場合である。一旦書き込みが行われていた場合は、まれにそのような状況になることもある。
【００３８】
図１１のフローチャートに従って書き込み動作を説明する。ユーザは、メモリ装置に通常の書き込みコマンドと共に、書き込みアドレスＡＤＤと書き込みデータＤＡを供給する（Ｓ１０）。そこで、主メモリセルアレイの書き込みアドレスのデータが書き込みデータと一致する場合を除いて（Ｓ１１）、書き換え判定回路２８が、上記のデータ比較判定を行う。そして、その主メモリセルアレイが消去状態であったり、偶然にも書き込みが可能なデータの組合せであった場合は、工程Ｓ１２，Ｓ１３，Ｓ１１により、主メモリセルアレイ１０への書き込みが実行される。
【００３９】
書き換え判定回路２８が、主メモリセルアレイ１０の書き込みアドレスには既に何らかのデータが書き込まれ、その状態で書き込みデータに書き換えできないことを判定すると、工程Ｓ２１〜Ｓ２５の書き換え動作を実行する。工程Ｓ２１〜Ｓ２５は、図９で説明した書き換え動作と同じである。つまり、アドレス管理回路２４が、供給された主メモリセルアレイ１０の第１のアドレスに代えて、サブメモリセルアレイの第２のアドレスをデコーダ１４に供給し、その第２のアドレスに対応させて第１のアドレスをアドレス記憶部２２に書き込む。また、供給された書き込みデータは、変更データとしてサブメモリセルアレイ２０の第２のアドレスに書き込まれる。
【００４０】
図８及び図１０の不揮発性メモリ装置において、読み出し動作は、図７に示した動作と同じである。即ち、通常のリードコマンドと共に供給される読み出しアドレスが、アドレス記憶部２２内の第１のアドレスと一致するか否かをアドレス管理回路２２が検出する。一致する場合は、第１のアドレスに対応する第２のアドレスがデコーダ１２に供給され、サブメモリセルアレイ２０内の第２のアドレスのデータが読み出される。不一致の場合は、供給された読み出しアドレスにしたがって、主メモリセルアレイ１０からデータが読み出される。
【００４１】
図８及び図１０の不揮発性メモリ装置において、消去動作は、図３，４と同じである。即ち、主メモリセルアレイ１０を消去する場合は、そのメモリブロックに属するサブメモリセルアレイも一緒に消去される。この消去動作により、サブメモリセルアレイに空き領域がなくなった場合でも、その後は、サブメモリセルアレイを利用して一部データ変更を伴う書き換え動作が可能になる。
【００４２】
図１２は、別の実施の形態における不揮発性メモリ装置の構成図である。このメモリ装置は、上記の実施の形態と同様に、一部データ変更を伴う書き換え機能を有すると共に、書き換え前のオリジナルデータか書き換え後の書き換えデータのいずれかを有効にすることができる有効データ選択機能を有する。その為に、有効データ記憶部３０を有し、オリジナルデータか書き換えデータのいずれを有効にするかを示す有効フラグが、この有効データ記憶部３０に格納される。
【００４３】
オリジナルデータを有効にするフラグが書き込まれると、読み出し動作において、主メモリセルアレイ１０内のオリジナルデータが読み出される。また、書き換えデータを有効にするフラグが書き込まれると、アドレス管理回路２４により適宜サブメモリセルアレイ２０のデータが主メモリセルアレイ内のデータに代えて読み出される。
【００４４】
図１３は、図１２のメモリ装置の読み出し動作のフローチャート図である。この読み出し動作では、図７の読み出し動作と異なり、読み出しコマンドと共に読み出しアドレスが入力されると（Ｓ１）、アドレス管理回路２４が、有効データ記憶部３０に格納されている有効フラグをチェックし、有効データがオリジナルデータか書き換えされたデータかを検出する（Ｓ４０）。この工程Ｓ４０が、図７のフローチャートと異なる。
【００４５】
有効データが書き換え後のデータである場合は、図７と同様に、アドレス管理回路２４が、供給された読み出しアドレスとアドレス記憶部２２に格納されている第１のアドレスと比較して、一致する時は、それに対応する第２のアドレスを出力して、サブメモリセルアレイ内の変更データを読み出す。不一致の場合は、第１のアドレスに対応する主メモリセルアレイ内のデータを読み出す。従って、書き換えデータがある場合はそのデータが、書き換えデータがない場合はオリジナルデータがそれぞれ読み出される。
【００４６】
有効データがオリジナルデータの場合は、アドレス管理回路２４は、供給された読み出しアドレスをそのままデコーダ１２に供給して、主メモリセルアレイ内のデータを読み出す。従って、書き換えデータがある場合でも、オリジナルデータが主メモリセルアレイから強制的に読み出される。
【００４７】
このように、本実施の形態のメモリ装置は、書き換え動作時にオリジナルのデータを消去することなく、変更データをサブメモリセルアレイ２０に書き込んだ。従って、オリジナルデータも書き換え後のデータもどちらのデータも記録された状態である。そこで、上記のとおり、有効データをどちらにするかフラグを、有効データ記憶部３０に設定することで、いずれか一方のデータを読み出すようにすることができる。従って、プログラム開発において、元のプログラムと一部変更したプログラムとを比較してデバッグを行う場合などに、この機能を利用することができる。
【００４８】
上記の実施の形態では、１種類の書き換えデータしか書き換えることができない。つまり、主メモリセルアレイにオリジナルデータが書き込まれ、オリジナルデータの変更部分（書き換えデータ）がサブメモリセルアレイに書き込まれる。そこで、サブメモリセルアレイを複数セット設けることにより、書き換えデータを複数バージョンにすることも可能である。つまり、オリジナルデータが主メモリセルアレイ内の書き込まれ、第１版の書き換えデータが第１のサブメモリセルアレイに書き込まれる。また、第２版の書き換えデータが第２のサブメモリセルアレイに書き込まれる。そして、有効データ記憶部２０に、オリジナルデータか、第１版若しくは第２版の書き換えデータかのいずれを有効にすべきかのフラグを記録することで、いずれかのデータを読み出すことができる。その場合は、アドレス記憶部２２にも、第１版と第２版のアドレス対応情報を別々に記録する必要がある。
【００４９】
このように複数版の書き換えデータを、書き換え動作により簡単に書き込むことができるようにするためには、複数セットのサブメモリセルアレイを設ける必要がある。但し、書き換えに伴う変更データの量を制限することで、サブメモリセルアレイの容量を少なく抑えることができる。従って、上記のように複数版の書き換えを可能にしても、それに伴いサブメモリセルアレイの容量が極端に大きくなることはない。
【００５０】
以上、実施の形態例をまとめると以下の付記の通りである。
（付記１）半導体不揮発性メモリにおいて、
主メモリセルアレイと、
サブメモリセルアレイと、
アドレス記憶部とを有し、
前記主メモリセルアレイに書き込まれたデータの一部分を変更する書き換え動作の場合、当該主メモリセルアレイを消去せずに、変更データを前記サブメモリセルアレイに書き込み、変更対象データが格納されている前記主メモリセルアレイの第１のアドレスと、前記変更データが格納された前記サブメモリセルアレイの第２のアドレスとの対応情報を前記アドレス記憶部に記録することを特徴とする半導体不揮発性メモリ。
（付記２）付記１において、
更に、読み出し動作の時に、読み出しアドレスと前記対応情報の第１のアドレスとを比較し、不一致の時は当該読み出しアドレスを出力し、一致する時は当該対応情報の第２のアドレスを出力するアドレス管理回路を有することを特徴とする半導体不揮発性メモリ。
（付記３）付記１において、
更に、外部からの信号に応答して、前記書き換え動作モードを検出する書き換えモード判定回路を有し、
前記書き換え動作モードが検出されると、前記変更データのサブメモリセルアレイへの書き込みと、前記対応情報の前記アドレス記憶部への記録とを行うことを特徴とする半導体不揮発性メモリ。
（付記４）付記１において、
更に、供給される書き込みデータと書き込みアドレスに応答して、前記書き込みアドレスに対応する前記主メモリセルアレイ内のデータと、前記書き込みデータとを比較し、前記主メモリセルアレイに前記書き込みデータが書き込み可能な場合は、当該主メモリセルアレイに前記供給された書き込みデータを書き込み、前記主メモリセルアレイに前記書き込みデータが書き込み不可能な場合は、前記サブメモリセルアレイに前記供給された書き込みデータを書き込み更に前記対応情報を前記アドレス記憶部に記録することを特徴とする半導体不揮発性メモリ。
（付記５）付記１において、
前記主メモリセルアレイとサブメモリセルアレイとを有するメモリブロックを有し、
消去動作時に、前記メモリブロック内の前記主メモリセルアレイとサブメモリセルアレイとが一緒に消去されることを特徴とする半導体不揮発性メモリ。
（付記６）付記５において、
前記メモリブロックを複数有し、
消去動作時に、選択されたメモリブロックが一斉に消去されることを特徴とする半導体不揮発性メモリ。
（付記７）付記１において、
消去動作において、
前記主メモリセルアレイ内のメモリセルが一斉に消去されることを特徴とする半導体不揮発性メモリ。
（付記８）付記１において、
更に、書き換え前のデータと書き換え後のデータのいずれが有効かのフラグを記憶する有効データ記憶部を有し、
読み出し動作時において、前記有効データ記憶部に書き換え前のデータを有効にする第１のフラグが記憶されているときは、供給された読み出しアドレスに対応するデータを前記主メモリセルアレイから読み出し、
前記有効データ記憶部に書き換え後のデータを有効にする第２のフラグが記憶されているときは、前記読み出しアドレスが前記対応情報の第１のアドレスと一致するときに、それに対応する第２のアドレスのデータを前記サブメモリセルアレイから読み出し、一致しないときに読み出しアドレスのデータを前記主メモリセルアレイから読み出すことを特徴とする半導体不揮発性メモリ。
（付記９）半導体不揮発性メモリにおいて、
消去動作により全てのメモリセルが消去状態にされ、消去状態の時に第１のデータが書き込まれる主メモリセルアレイと、
前記主メモリセルアレイに書き込まれた第１のデータの一部を第２のデータに変更する書き換え動作の時に、当該変更する第２のデータが書き込まれるサブメモリセルアレイと、
前記サブメモリセルアレイに前記第２のデータが書き込まれる時に、変更対象データが格納される前記主メモリセルアレイの第１のアドレスと、前記第２のデータが格納される前記サブメモリセルアレイの第２のアドレスとの対応情報を記憶するアドレス記憶部とを有することを特徴とする半導体不揮発性メモリ。
（付記１０）付記９において、
更に、読み出し動作の時に、読み出しアドレスと前記対応情報の第１のアドレスとを比較し、不一致の時は当該読み出しアドレスに対応する前記第１のデータを出力し、一致する時は当該対応情報の第２のアドレスに対応する前記第２のデータを出力することを特徴とする半導体不揮発性メモリ。
（付記１１）付記９において、
更に、外部からの信号に応答して、前記書き換え動作モードを検出する書き換えモード判定回路を有し、
前記書き換え動作モードが検出されると、前記第２のデータのサブメモリセルアレイへの書き込みと、前記対応情報の前記アドレス記憶部への記録とを行うことを特徴とする半導体不揮発性メモリ。
（付記１２）付記９において、
更に、供給される書き込みデータと書き込みアドレスに応答して、前記書き込みアドレスに対応する前記主メモリセルアレイ内のデータと、前記書き込みデータとを比較し、前記主メモリセルアレイに前記第２のデータが書き込み可能な場合は、当該主メモリセルアレイに前記供給された第２のデータを書き込み、前記主メモリセルアレイに前記第２のデータが書き込み不可能な場合は、前記サブメモリセルアレイに前記供給された第２のデータを書き込み更に前記対応情報を前記アドレス記憶部に記録することを特徴とする半導体不揮発性メモリ。
（付記１３）付記９において、
前記主メモリセルアレイとサブメモリセルアレイとを有するメモリブロックを有し、
消去動作時に、前記メモリブロック内の前記主メモリセルアレイとサブメモリセルアレイとが一緒に消去されることを特徴とする半導体不揮発性メモリ。
（付記１４）付記９において、
更に、第１のデータと第２のデータのいずれか有効かのフラグを記憶する有効データ記憶部を有し、
読み出し動作時において、前記有効データ記憶部に第１のデータを有効にする第１のフラグが記憶されているときは、供給された読み出しアドレスに対応する第１のデータを前記主メモリセルアレイから読み出し、前記有効データ記憶部に第２のデータを有効にする第２のフラグが記憶されているときは、前記読み出しアドレスが前記対応情報の第１のアドレスと一致するときに、それに対応する第２のアドレスの前記第２のデータを前記サブメモリセルアレイから読み出し、一致しないときに読み出しアドレスに対応する前記第１のデータを前記主メモリセルアレイから読み出すことを特徴とする半導体不揮発性メモリ。
【図面の簡単な説明】
【００５１】
【図１】従来の不揮発性メモリの構成図である。
【図２】従来の不揮発性メモリの書き込み動作のフローチャート図である。
【図３】本実施の形態における不揮発性メモリの構成図である。
【図４】本実施の形態における別の不揮発性メモリの構成図である。
【図５】メモリセルアレイ内のアドレスにより選択される単位を示す図である。
【図６】アドレス記憶部２２の具体的構成を示す図である。
【図７】読み出し動作のフローチャート図である。
【図８】特別のモードで書き換え動作を行う不揮発性メモリ装置の構成図である。
【図９】図８の不揮発性メモリ装置の書き込み動作のフローチャート図である。
【図１０】自動で書き換え動作を行う不揮発性メモリ装置の構成図である。
【図１１】図１０の不揮発性メモリ装置の書き込み動作のフローチャート図である。
【図１２】別の実施の形態における不揮発性メモリ装置の構成図である。
【図１３】図１２のメモリ装置の読み出し動作のフローチャート図である。
【符号の説明】
【００５２】
１０        主メモリセルアレイ
２０        サブメモリセルアレイ
２２        アドレス記憶部
２４        アドレス管理回路
２６        書き換えモード判定回路
２８        書き換え判定回路
３０        有効データ記憶部
ＭＢ０，ＭＢ１    メモリブロック
【図１】
2008103076.tif 000003
【図２】
2008103076.tif 000004
【図３】
2008103076.tif 000005
【図４】
2008103076.tif 000006
【図５】
2008103076.tif 000007
【図６】
2008103076.tif 000008
【図７】
2008103076.tif 000009
【図８】
2008103076.tif 000010
【図９】
2008103076.tif 000011
【図１０】
2008103076.tif 000012
【図１１】
2008103076.tif 000013
【図１２】
2008103076.tif 000014
【図１３】
2008103076.tif 000015