(57)【特許請求の範囲】
【請求項１】
不揮発性メモリセルアレイと、
前記不揮発性メモリセルアレイに書き込みと読み出しを行う書き込み・読み出し回路と、
外部データの入出力を行うデータ入出力回路と、
前記書き込み・読み出し回路に第１のビット線を介して接続され第１のデータを保持する第１のラッチ回路と前記データ入出力回路に前記第１のビット線と別に設けられる第２のビット線を介して結合され第２のデータを保持する第２のラッチ回路と、前記第１のラッチ回路と前記第２のラッチ回路間のデータ転送を制御するスイッチ手段とを含む揮発性メモリセルアレイとを備え、
前記スイッチ手段は、データ読み出しモードおよびデータ書き込みモード両者において、前記第１および第２のラッチ回路のうちの転送先のラッチ回路のラッチノードのリセット後に前記転送先のラッチ回路のラッチノードを前記第１および第２のラッチ回路の転送元のラッチ回路のラッチノードに接続し、
前記第１のラッチ回路は、前記データ読み出しモード時および前記データ書き込みモードそれぞれにおいて前記書き込み・読み出し回路を介して前記不揮発性メモリセルアレイから読み出されたデータおよび前記不揮発性メモリセルアレイに書込むデータをそれぞれ前記第１のデータとして保持し、
前記第２のラッチ回路は、前記データ書き込みモードおよび前記データ読み出しモード時それぞれにおいて前記データ入出力回路を介して転送される書き込みデータおよび読み出しデータをそれぞれ前記第２のデータとして保持する、
半導体装置。
【請求項２】
書き込み時、前記第１のデータの内実際に書き込みを行うビット数に応じて、該第１のデータを反転する反転回路をさらに含む請求項１記載の半導体装置。
【請求項３】
前記第１のデータを前記不揮発性メモリセルアレイに書き込み中に、前記第２のデータを前記第２のラッチ回路にロードするよう制御する制御回路をさらに含む請求項１又は請求項２に記載の半導体装置。
【請求項４】
前記第１のラッチ回路及び前記第２のラッチ回路を用いて、前記不揮発性メモリセルアレイから読み出した読み出しデータを前記不揮発性メモリセルアレイの他の領域に書き込むよう制御する制御回路をさらに含む請求項１又は請求項２に記載の半導体装置。
【請求項５】
前記第１のラッチ回路及び前記第２のラッチ回路を用いて、前記不揮発性メモリセルアレイから読み出した読み出しデータを外部から入力された書き込みデータによって上書きし、該上書きしたデータを前記不揮発性メモリセルアレイに書き込むよう制御する制御回路をさらに含む請求項１又は請求項２に記載の半導体装置。
【請求項６】
書き込み時、前記第１のデータの内実際に書き込みを行うビット数を検出する検出回路と、
前記検出回路が検出したビット数を所定のビット数と比較する比較回路と、
前記比較回路の比較結果に応じて、前記第１のデータを反転するかどうかを示すフラグを出力する出力回路とをさらに含む請求項２に記載の半導体装置。
【請求項７】
前記不揮発性メモリセルアレイは、書き込み時、前記第1のデータの内実際に書き込み行うビット数に応じて、該第１のデータを反転して書き込んだか否かを示すフラグを格納する領域を含む請求項２に記載の半導体装置。
【請求項８】
読み出し時、前記第１のデータの内実際に書き込み行うビット数に応じて該第１のデータを反転して書き込んだか否かを示すフラグに応じて、前記不揮発性メモリセルアレイから読み出したデータを反転する反転回路をさらに含む請求項２に記載の半導体装置。
【請求項９】
前記揮発性メモリセルアレイは、前記第１のラッチ回路内の前記第１のビット線をプリチャージするセンスアンプ回路をさらに含む請求項１に記載の半導体装置。
【請求項１０】
前記揮発性メモリセルアレイは、前記第２のラッチ回路内の前記第２のビット線をプリチャージするセンスアンプ回路をさらに含む請求項１に記載の半導体装置。
【請求項１１】
前記揮発性メモリセルアレイに対するデコーダをさらに含む請求項１に記載の半導体装置。
【請求項１２】
前記揮発性メモリアレイは、前記第１のラッチ回路及び前記第２のラッチ回路をそれぞれ１ページ分持つ請求項１に記載の半導体装置。
【請求項１３】
前記揮発性メモリセルアレイは、書き込み時、前記第１のデータの内実際に書き込み行うビット数に応じて、該第１のデータを反転して書き込んだか否かを示すフラグを格納する領域を含む請求項２に記載の半導体装置。
【請求項１４】
前記揮発性メモリは、ＳＲＡＭである請求項１に記載の半導体装置。
【請求項１５】
前記不揮発性メモリセルアレイは、ＳＯＮＯＳ型セルを含む請求項１に記載の半導体装置。
【請求項１６】
前記不揮発性メモリセルアレイは、ホットエレクトロン注入現象により書き込みを行うセルを含む請求項１に記載の半導体装置。
【請求項１７】
第１のデータを揮発性メモリセルアレイ内の第１のラッチ回路にロードするステップと、
前記第１のデータ内の実際に書き込みを行うビット数に応じて、前記第１のラッチ回路から第１のビット線を介して転送される前記第１のデータを反転するステップと、
前記反転させた書き込みデータを書き込み・読み出し回路を介して不揮発性メモリセルアレイに書き込むステップと、
データ入出力回路を介して与えられた第２のデータを前記揮発性メモリセルアレイ内の第２のラッチ回路に前記第１のビット線とは別に設けられる第２のビット線を介してロードするステップと、
前記第１のラッチ回路のラッチノードのリセット後に前記第１および第２のラッチ回路のラッチノードを結合して前記第２のラッチ回路のラッチノードから前記第１のラッチ回路のラッチノードへ前記第１のデータとして該ロードされたデータを転送するステップと、
前記不揮発性メモリセルアレイから前記書き込み・読み出し回路を介して読み出すとともに前記反転データを反転して前記第１のデータとして前記第１のビット線を介して前記第１のラッチ回路にロードするステップと、
前記第２のラッチ回路のラッチノードのリセット後に前記第１および第２のラッチ回路のラッチノードを結合して前記第１のラッチ回路のラッチノードのラッチデータを前記第２のラッチ回路のラッチノードに前記第２のデータとして転送してラッチするステップと、
前記第２のラッチ回路のラッチノードにラッチされた第２のデータを前記第２のビット線を介して転送して前記データ入出力回路を介して出力するするステップとを備える、
半導体装置の制御方法。
【請求項１８】
書き込み時、前記第１のデータの内実際に書き込みを行うビット数に応じて、該第１のデータを反転するステップをさらに含む請求項１７記載の半導体装置の制御方法。
【請求項１９】
前記第１のデータを前記不揮発性メモリセルアレイに書き込み中に、前記第２のデータを前記第２のラッチ回路にロードする請求項１７に記載の半導体装置の制御方法。
【請求項２０】
前記第１のラッチ回路及び前記第２のラッチ回路を用いて、前記不揮発性メモリセルアレイから読み出した読み出しデータを前記不揮発性メモリセルアレイの他の領域に書き込むステップをさらに含む請求項１７に記載の半導体装置の制御方法。
【請求項２１】
前記第１のラッチ回路及び前記第２のラッチ回路を用いて、前記不揮発性メモリセルアレイから読み出した読み出しデータを外部から入力された書き込みデータによって上書きし、該上書きしたデータを前記不揮発性メモリセルアレイに書き込むステップをさらに含む請求項１７に記載の半導体装置の制御方法。
【請求項２２】
前記第１のデータを分割するステップと、
前記分割したデータの内実際に書き込みを行うビット数を検出するステップと、
前記検出したビット数に応じて、前記第１のデータを反転するかどうかを示すフラグを出力するステップとをさらに含む請求項１７に記載の半導体装置の制御方法。
【請求項２３】
前記プログラムを行うビット数に応じて前記不揮発性メモリセルアレイから読み出したデータを反転するステップをさらに含む請求項１７に記載の半導体装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体装置及びその制御方法に関する。
【背景技術】
【０００２】
ＮＡＮＤフラッシュメモリは、ページ単位（例：２ｋＢｙｔｅ）で書き込みと読み出しを一括で行う。書き込みではその１ページ分のデータをＩ／Ｏ端子（１６ビット幅）からシリアルにページバッファに入力する。ページバッファには、プログラムデータをラッチしておくためのラッチ回路が１ページ分用意されており、ページバッファへのデータラッチが完了すると、当該メモリセルに対し同時にプログラムを行う。読み出しでは、１ページ分のメモリセルをデバイス内部で同時に読み出して、一括でページバッファの前記ラッチ回路に読み出しデータをラッチする。その後、チップ外部からの制御（／ＲＥピンのトグル動作）によりＩ／Ｏ端子からシリアルに読み出しデータの出力が行われる。【０００３】
近年、高速書き込みのために、キャッシュプログラムモードが提案されている。これは、ページバッファにラッチされている書き込みデータをメモリセルにプログラムしている最中に、別途設けられた１ページ分のキャッシュラッチ回路に外部から新たな書き込みデータをロードしておき、先のプログラムが完了するやいなや、その新たな書き込みデータをプログラムするというものである。よって、データのロード時間を短縮できる。またさらに、コピーバックモードが提案されている。これは、メモリセルに格納されている１ページ分のデータをページバッファに読み出しておいて、異なるアドレスのページにそのデータを書き込む（コピー）ものである。よって、ページバッファに読み出したデータを外部に出力せずに、内部において自動でコピー動作を行うために、動作時間が短縮できる。【０００４】
さらにこのモードは、一旦ページバッファにセルデータを読み出した時点で、外部から新たな書き込みデータを同ページバッファに入力し、結果上書きされた新データを別ページにプログラムする機能も有している（特許文献１）。【０００５】
従来のＮＡＮＤフラッシュメモリは、多結晶シリコンからなるフローティングゲートに電荷を注入して情報を記憶する。コントロールゲートも多結晶シリコンのため、ポリシリコン２層プロセスである。このメモリセルが複数直列に接続されたアレイ構造を有する。書き込みは、セルのコントロールゲートと基板間に高電位を生成してＦＮトンネル現象で行う。【０００６】
近年、フローティングゲートの代わりに窒化膜に電荷をトラップして情報を記憶するＳＯＮＯＳ（semiconductor-oxide-nitride-oxide-semiconductor）構造セルを使用したフラッシュメモリが登場してきている。これは、ポリシリコン１層プロセスで実現できるためコストで有利となっており、また、仮想接地型のアレイ構造をとることでセルの集積度を高めることができる。外部とのインタフェース（Ｉ／Ｆ）はＮＯＲ型フラッシュメモリと同じであり、書き込みはセルのドレインとコントロールゲートに高電圧を印加してホットエレクトロン注入現象により行う（特許文献２）。【０００７】
また、高速書き込みのため、入力データの内、データ“０”（書き込み状態）のビット数が所定数よりも多い場合、その入力データを反転させたデータと、それを示すフラグデータをメモリセルに書き込むという技術が、特許文献３及び特許文献４に提案されている。【０００８】
【特許文献１】米国特許公報  ６，６７１，２０４号
【特許文献２】米国特許公報  ６，０１１，７２５号
【特許文献３】日本国公開特許公報  特開平５−２９８８９４号
【特許文献４】日本国公開特許公報  特開昭６２−１６２２９９号
【非特許文献１】E. Maayan, et al., A 512 Mb NROM flash data storage memory with 8 MB/s data rate, Feb. 2002, Digest of Technical Papers, pp. 100-101.
【発明の開示】
【発明が解決しようとする課題】
【０００９】
また近年、このＳＯＮＯＳ型セルを有し、ＮＡＮＤ・Ｉ／Ｆをもつフラッシュメモリが非特許文献１に紹介されている。これには、１ページ分（ここでは５２８Ｂｙｔｅ）のデータをラッチするためのＳＲＡＭ（Static Random Access Memory）が開示されている。しかし、その具体的な構成や動作については記載がない。また、キャッシュプログラムやコピーバックについても記載がない。【００１０】
また、ＳＯＮＯＳ構造のセルを有するフラッシュメモリや通常のＮＯＲ型フラッシュメモリでは、ホットエレクトロン注入により書き込みを行うため、ＮＡＮＤフラッシュメモリに比べ電流消費量が多く、一度にプログラムできるビット数はせいぜい数十ビットと少ないため、プログラムが遅いという問題があった。【００１１】
一方で、従来のＮＡＮＤフラッシュメモリはＦＮトンネル書き込みのため、一度に２ｋＢｙｔｅという多くのセルを同時にプログラムできるが、その分のページバッファ回路を有するため、回路占有率が高いという問題があった。【００１２】
そこで、本発明は上記問題点に鑑みてなされたもので、書き込み時間を短縮して回路面積の小さい半導体装置および半導体装置の制御方法を提供することを目的とする。
【課題を解決するための手段】
【００１３】
上記課題を解決するために、本発明は、不揮発性メモリセルアレイと、前記不揮発性メモリセルアレイに書き込みと読み出しを行う書き込み・読み出し回路と、外部データの入出力を行うデータ入出力回路と、前記書き込み・読み出し回路に第１のビット線を介して接続され第1のデータを保持する第１のラッチ回路と前記データ入出力回路に第１のビット線と別に設けられる第２のビット線を介して結合され第２のデータを保持する第２のラッチ回路とこれらの第１および第２のラッチ回路の間のデータ転送を制御するスイッチ手段とを含む揮発性メモリセルアレイとを含む半導体装置である。前記スイッチ手段は、データ読み出しモードおよびデータ書き込みモード両者において、前記第１および第２のラッチ回路のうちの転送先のラッチ回路のラッチノードのリセット後に前記転送先のラッチ回路のラッチノードを前記第１および第２のラッチ回路の転送元のラッチ回路のラッチノードに接続する。第１のラッチ回路は、データ読み出しモード時およびデータ書き込みモードそれぞれにおいて書き込み・読み出し回路を介して不揮発性メモリセルアレイから読み出されたデータおよび不揮発性メモリセルアレイに書込むデータをそれぞれ第１のデータとして保持し、第２のラッチ回路は、データ書き込みモードおよびデータ読み出しモード時それぞれにおいてデータ入出力回路を介して転送される書き込みデータおよび読み出しデータをそれぞれ第２のデータとして保持する。本発明によれば、データを格納するラッチ回路をアレイ構成としたことで、回路面積が縮小できるとともに、キャッシュプログラムまたはコピーバックを実現できる。
【００１４】
本発明は、書き込み時、前記第１のデータの内実際に書き込みを行うビット数に応じて、該第1のデータを反転する反転回路をさらに含む。本発明によれば、実際にプログラムが行われるビット数を所定数以下に抑えることができるため書き込み時間が短縮できるＮＡＮＤ・Ｉ／Ｆを実現できる。また、回路面先を小さくできる。本発明は、前記第１のデータを前記不揮発性メモリセルアレイに書き込み中に、前記第２のデータを前記第２のラッチ回路にロードするよう制御する制御回路をさらに含む。これにより、キャッシュプログラムを実現できる。本発明は、前記第１のラッチ回路及び前記第２のラッチ回路を用いて、前記不揮発性メモリセルアレイから読み出した読み出しデータを前記不揮発性メモリセルアレイの他の領域に書き込むよう制御する制御回路をさらに含む。これにより、コピーバックを実現できる。【００１５】
本発明は、前記第１のラッチ回路及び前記第２のラッチ回路を用いて、前記不揮発性メモリセルアレイから読み出した読み出しデータを外部から入力された書き込みデータによって上書きし、該上書きしたデータを前記不揮発性メモリセルアレイに書き込むよう制御する制御回路をさらに含む。これにより、上書き可能なコピーバックを実現できる。本発明は、書き込み時、前記第１のデータの内実際に書き込みを行うビット数を検出する検出回路と、前記検出回路が検出したビット数を所定のビット数と比較する比較回路と、前記比較回路の比較結果に応じて、前記第１のデータを反転するかどうかを示すフラグを出力する出力回路とをさらに含む。【００１６】
前記不揮発性メモリセルアレイは、書き込み時、前記第1のデータの内実際に書き込み行うビット数に応じて、該第1のデータを反転して書き込んだか否かを示すフラグを格納する領域を含む。本発明は、読み出し時、前記第1のデータの内実際に書き込み行うビット数に応じて該第1のデータを反転して書き込んだか否かを示すフラグに応じて、前記不揮発性メモリセルアレイから読み出したデータを反転する反転回路をさらに含む。前記揮発性メモリセルアレイは、前記第１のラッチ回路内のビット線をプリチャージするセンスアンプ回路をさらに含む。【００１７】
前記揮発性メモリセルアレイは、前記第２のラッチ回路内のビット線をプリチャージするセンスアンプ回路をさらに含む。本発明は、前記揮発性メモリセルアレイに対するデコーダをさらに含む。
【００１８】
前記第1のラッチ回路と前記第２のラッチ回路間のデータ転送を行う前に、転送先の前記第1または前記第２のラッチ回路を所定の状態にリセットする。前記揮発性メモリアレイは、前記第１のラッチ回路及び前記第２のラッチ回路をそれぞれ１ページ分持つ。前記揮発性メモリセルアレイは、書き込み時、前記第1のデータの内実際に書き込み行うビット数に応じて、該第1のデータを反転して書き込んだか否かを示すフラグを格納する領域を含む。【００１９】
前記揮発性メモリはＳＲＡＭである。前記不揮発性メモリセルアレイは、ＳＯＮＯＳ型セルを含む。前記不揮発性メモリセルアレイは、ホットエレクトロン注入現象により書き込みを行うセルを含む。これにより、ホットエレクトロン注入現象を利用する、一度にプログラムできるビット数が少ないメモリであっても、書き込み時間を短縮できる。【００２０】
本発明は、第１のデータを揮発性メモリセルアレイ内の第１のラッチ回路にロードするステップと、前記第１のデータ内の実際に書き込みを行うビット数に応じて、前記第１のラッチ回路から第１のビット線を介して転送される前記第１のデータを反転するステップと、前記反転させた書き込みデータを不揮発性メモリセルアレイに書き込むステップと、データ入出力回路を介して与えられた第２のデータを前記第１のビット線と別に設けられる第２のビット線を介して前記揮発性メモリセルアレイ内の第２のラッチ回路にロードするステップとを含む半導体装置の制御方法である。本発明の半導体の制御方法は、さらに、前記第１のラッチ回路のラッチノードのリセット後に該第２のラッチ回路のラッチノードから前記第１のラッチ回路のラッチノードへ第１のデータとして該ロードされたデータを転送するステップと、前記不揮発性メモリセルアレイから書き込み・読み出し回路を介して読み出すとともに反転データを反転して前記第１のデータとして前記第１のビット線を介して前記第１のラッチ回路にロードするステップと、前記第２のラッチ回路のラッチノードのリセット後に第１のラッチ回路のラッチノードのラッチデータを第２のラッチ回路のラッチノードに第２のデータとして転送してラッチするステップと、第２のラッチ回路にラッチされた第２のデータを前記第２のビット線を介して転送して前記データ入出力回路を介して出力するするステップとを備える。本発明によれば、データを格納するラッチ回路をアレイ構成としたことで、回路面積が縮小できるとともに、キャッシュプログラムまたはコピーバックを実現できる。
【００２１】
本発明の半導体装置の制御方法は、書き込み時、前記第１のデータの内実際に書き込みを行うビット数に応じて、該第1のデータを反転するステップをさらに含む。本発明によれば、実際にプログラムが行われるビット数を所定数以下に抑えることができるため書き込み時間が短縮できるＮＡＮＤ・Ｉ／Ｆを実現できる。また、回路面先を小さくできる。【００２２】
前記第１のデータを前記不揮発性メモリセルアレイに書き込み中に、前記第２のデータを前記第２のラッチ回路にロードする。これにより、キャッシュプログラムを実現できる。本発明の半導体装置の制御方法は、前記第１のラッチ回路及び前記第２のラッチ回路を用いて、前記不揮発性メモリセルアレイから読み出した読み出しデータを前記不揮発性メモリセルアレイの他の領域に書き込むステップをさらに含む。これにより、コピーバックを実現できる。【００２３】
本発明の半導体装置の制御方法は、前記第１のラッチ回路及び前記第のラッチ回路を用いて、前記不揮発性メモリセルアレイから読み出した読み出しデータを外部から入力された書き込みデータによって上書きし、該上書きしたデータを前記不揮発性メモリセルアレイに書き込むステップをさらに含む。これにより、上書き可能なコピーバックを実現できる。本発明の半導体装置の制御方法は、前記第１のデータを分割するステップと、前記分割したデータの内実際に書き込みを行うビット数を検出するステップと、前記検出したビット数に応じて、前記第１のデータを反転するかどうかを示すフラグを出力するステップとをさらに含む。本発明の半導体装置の制御方法は、前記プログラムを行うビット数に応じて前記不揮発性メモリセルアレイから読み出したデータを反転するステップをさらに含む。
【発明の効果】
【００２４】
本発明によれば、書き込み時間を短縮して回路面積の小さい半導体装置および半導体装置の制御方法を提供することができる。
【図面の簡単な説明】
【００２５】
【図１】フラッシュメモリのブロック図である。
【図２】本発明に関するブロック図である。
【図３】ＳＲＡＭアレイ４０内のキャッシュラッチ回路４１とメインラッチ回路４２を示す図である。
【図４】ＷＲセンスアンプブロック３０内の１ｂｉｔ分の回路ブロックを示す図である。
【図５】ＷＲラッチ回路３１を示す図である。
【図６】ＤＭビット線チャージブロック５０の回路構成を示す図である。
【図７】ＤＣビット線チャージブロック６０のキャッシュラッチ回路のセンスアンプ回路図である。
【図８】ＩＯ＿ＳＡ（１５：０）回路８０を示す図である。
【図９】ビットディテクタ９０を示す図である。
【図１０】キャッシュラッチ回路４１とメインラッチ回路４２の動作を示したものである。
【図１１】キャッシュラッチ回路４１とメインラッチ回路４２の動作を示したものである。
【発明を実施するための最良の形態】
【００２６】
以下、添付の図面を参照して本発明の実施例を説明する。ここでは、ＳＯＮＯＳ型メモリセルからなるＮＡＮＤ・Ｉ／Ｆをもつフラッシュメモリについて説明する。以下、ＳＯＮＯＳ型に限らず、例えばＦＧ型のセルアレイでも同じことが言える。【００２７】
図１は、フラッシュメモリのブロック図である。図１に示すように、フラッシュメモリ１は、メモリセルアレイ２、ステートマシン・高電圧発生回路３、コマンドレジスタ４、アドレスレジスタ・デコーダ５、グローバルバッファ６、Ｘデコーダ７、データレジスタ・センスアンプ８、キャッシュレジスタ９、Ｙデコーダ１０、Ｉ／Ｏバッファ・ラッチ回路１１および入出力ドライバ１２を備える。【００２８】
メモリセルアレイ２はマトリクス状に配列された複数のワードラインＷＬ及び複数のビット線ＢＬに沿って書換え可能な不揮発性のメモリセルが配設されている。メモリセルはホットエレクトロン注入現象により書き込みを行うセルである。本実施例では不揮発性メモリセルとしてＳＯＮＯＳ型セルを用いる。ステートマシン３は、各制御信号に応答してデバイス内部の各回路の動作を制御するものである。高電圧発生回路３は、デバイス内部で用いられる高電圧を発生するものである。デバイス内部で用いられる高電圧には、データ書込み用の高電圧、データ消去用の高電圧、データ読み出し用の高電圧、データ書込み時／消去時にメモリセルに対して十分に書き込み／消去が行われているかどうかをチェックするのに用いられるベリファイ用の高電圧等が含まれる。【００２９】
コマンドレジスタ４は、グローバルバッファ６を通して入力された動作コマンドを一時格納しておくためのものである。アドレスレジスタ及びデコーダ５は、入力されたアドレス信号を一時格納しておくためのものである。【００３０】
データレジスタ・センスアンプ８は、後述する図２のＷＲセンスアンプブロック３０、ＳＲＡＭアレイ４０に対応する。キャッシュレジスタ９は、後述するＳＲＡＭアレイ４０に対応する。Ｙデコーダ１０は、後述するＹ―ｓｅｌ７２に対応する。Ｉ／Ｏバッファ・ラッチ回路１１は、Ｉ／Ｏ端子に対応する各種信号又はデータを制御するものである。入出力ドライバ１２は、外部へ出力するデータ、内部へ入力するデータを制御する。【００３１】
図２は、本発明に関するブロック図である。コアアレイ２は、１ページ分の領域として、通常メモリ領域（Ｒｅｇｕｌａｒ）、リファレンスメモリ領域（Ｒｅｆ）、スペア領域（Ｓｐａｒｅ）、インディケータビット領域（ＩＢ：Ｉｎｄｉｃａｔｏｒ  Ｂｉｔ）を含む。ここで、インディケータビットは、書き込み時、第1のデータの内実際に書き込み行うビット数に応じて、第1のデータを反転して書き込んだか否かを示すフラグである。リファレンスメモリ領域はセンス時の比較電流を生成するセルを含む。スペア領域はファイル管理データなどの格納するセルを含む。これら数ページからなるブロックが消去単位を構成し、このブロックがさらに複数形成される（不図示）。【００３２】
Ｙ−ｓｅｌ＿Ｃｏｒｅ２０は、ビット線を介してコアアレイ２に接続され、１ページデータのうち所定のビット単位を選択する回路である。ここで、所定ビット単位は例えば５３６ｂｉｔであり、これを内部アクセスウインドウと呼ぶことにする。５３６ビットは、通常メモリ領域に５１２ビット、インディケータビット領域に４ビット、スペア領域に１６ビット、リファレンス領域に４ビットが割り当てられている。ＷＲセンスアンプブロック３０は、メモリセルアレイ２に書き込みと読み出しを行う書き込み・読み出し回路を含み、配線ＤＡＴＡＢと接続されており、データを読むときに用いるセンスアンプ、プログラムするときにデータをラッチしておくＷＲラッチ、ＷＲラッチにラッチされたデータをもとに配線ＤＥＴＡＢをチャージするＷＲバッファなどの回路を含む。【００３３】
ＳＲＡＭアレイ４０は、揮発性メモリセルアレイであり、ＷＲセンスアンプブロック３０に接続され第1のデータを保持するメインラッチ回路４２とＩＯ＿ＳＡ（１５：０）回路８０に接続され第２のデータを保持するキャッシュラッチ回路４１とを含む。キャッシュラッチ回路４１とメインラッチ回路４２は、ＳＲＡＭのセル構成からなる。ＳＲＡＭアレイ４０は、キャッシュラッチ回路４１とメインラッチ回路４２とがそれぞれ１ページ分用意され、アレイ状に配列している。ここにおいても、コアアレイ２に対応して通常メモリ領域（Ｒｅｇｕｌａｒ）、リファレンスメモリ領域（Ｒｅｆ）、スペア領域（Ｓｐａｒｅ）、インディケータビット領域（ＩＢ）が設けられる。ＳＲＡＭアレイ４０は、ＤＭビット線チャージブロック５０及びＤＣビット線チャージブロック６０をさらに含む。Ｘ−ｄｅｃ７０とＹ−ｄｅｃ７１／Ｙ−ｓｅｌ７２はＳＲＡＭアレイ４０のデコーダである。【００３４】
キャッシュラッチ回路４１／メインラッチ回路４２は、横方向に内部アクセスウインドウ分並んでいる。内部アクセスウインドウ分のキャッシュラッチ回路４１のうち外部Ｉ／Ｏバス幅（１６ｂｉｔ）だけ選択してＳ／Ａ（１５：０）８０と接続させる。【００３５】
ＤＭビット線チャージブロック５０は、メインラッチ回路４２内のビット線をプリチャージするセンスアンプ回路を含み、メインラッチ回路４２のビット線ＤＭをプリチャージ、データをセンスしたりし、またＷＲセンスアンプブロック３０とＳＲＡＭアレイ４０間のデータ転送を制御する回路である。ＷＲセンスアンプブロック３０は、詳細は後述するが、ライト用とリード用のデータラッチ回路であるＷＲラッチ回路３１、カスコードアンプ３２、差動増幅型センスアンプ３３、ライトアンプ回路３４を含む（図４）。ＷＲセンスアンプブロック３０は、配線ＲＡＭＤＡＴによってＤＭビット線チャージブロック５０に接続され、Ｙ−ｓｅｌ＿ｃｏｒｅ２０を介してコアアレイ２に接続している。【００３６】
ビットディテクタ９０は、配線ＲＡＭＤＡＴ上のデータで“０”のもの（外部から入力されたプログラムデータ）がいくつあるかを数える回路であり、その結果をもとにＷＲセンスアンプブロック３０を制御する。ＤＣビット線チャージブロック６０は、キャッシュラッチ回路４１のビット線ＤＣをプリチャージしたりセンスしたりするセンスアンプ回路を含み、Ｙ−ｓｅｌ７２に接続している。ＩＯ＿ＳＡ（１５：０）回路８０は、データ入出力回路であり、キャッシュラッチ回路４１からＹ−ｓｅｌ７２によって選択されたデータを増幅して外部Ｉ／Ｏ端子に接続したり、逆に、外部Ｉ／Ｏ端子からの入力データを増幅してＹ−ｓｅｌ７２に接続したりする。【００３７】
次に、各回路の構成を説明する。図３は、ＳＲＡＭアレイ４０内のキャッシュラッチ回路４１とメインラッチ回路４２を示す図である。図３に示すように、キャッシュラッチ回路４１は、ＮＭＯＳトランジスタ４１１及び４１２、インバータ４１３及び４１４を含む。メインラッチ回路４２は、ＮＭＯＳトランジスタ４２１及び４２２、インバータ４２３及び４２４を含む。キャッシュラッチ回路４１とメインラッチ回路４２はそれぞれワード線ＷＬＣとＷＬＭにより選択される。キャッシュラッチ回路４１のビット線及びその相補ビット線をＤＣ及びＤＣＢ、メインラッチ回路４２のビット線およびその相補ビット線をＤＭ及びＤＭＢと呼ぶことにする。キャッシュラッチ用のワード線ＷＬＣを一本選ぶと横方向に配列している複数のキャッシュラッチ回路４１が同時に選択される。メインラッチ用のワード線ＷＬＭを一本選ぶと同様に複数のメインラッチ回路４２が同時に選択される。【００３８】
キャッシュラッチ回路４１とメインラッチ回路４２は、転送トランジスタ４３によりそれぞれのラッチ回路間がつながれており、信号ＴＲがＨｉｇｈになると、一方から他方のラッチ回路にデータが転送される。転送トランジスタ（スイッチ手段）４３により、キャッシュラッチ回路４１とメインラッチ回路４２間のデータ転送を制御する。信号ＲＳＴＭと信号ＲＳＴＣにより、それぞれのラッチ回路は所定の状態にリセットされる。具体的には、転送トランジスタ４３はＮＭＯＳトランジスタから構成され、それに接続される側のノードＡ及びＢをＨｉｇｈにリセットする。データ転送の際は、事前にこのリセット動作が行われる。例えば、リセットの後、メインラッチ回路４２のノードＡにビット線ＤＭからＬｏｗが入力されたとする。その後、信号ＴＲがＨｉｇｈになると、ＨｉｇｈにリセットされているノードＢは、ＬｏｗにセットされたノードＡに対してプルダウンし、その電位はＬｏｗに変わる。言い換えれば、ノードＡのデータがノードＢに転送されたことになる。一方、リセットの後、ノードＡにＨｉｇｈが入力されたとする。このときは、ノードＢは元々Ｈｉｇｈにリセットされているので、転送動作の後もこのＨｉｇｈを保つことになる。キャッシュラッチ回路４１とメインラッチ回路４２のセットは、横方向に内部アクセスウイドウ分配置され、縦方向にｋ行（たとえば３２行）配置されて計１ページ分（２ｋＢｙｔｅ）設けられている。【００３９】
外部Ｉ／Ｆとしては、書き込み、読み出し共に１ページ単位で行われるが、内部の動作としては、書き込み時には内部アクセスウインドウ単位で分割し、後述するライトアンプ回路３４（図４）にデータをセットして書き込み電圧を印加する。１ページ分のセルに対して、ライトアンプ回路３４へのセットは連続的にｋ回（たとえば３２回）行う。読み出し時には後述するカスコードアンプ３２及びディファレンシャルアンプ３３によって内部アクセスウインドウ単位でセンスされたデータを連続的に（ｋ回）ＳＲＡＭアレイ４０にセットする。【００４０】
図４は、ＷＲセンスアンプブロック３０内の１ｂｉｔ分の回路ブロックを示す図である。図４に示すように、ＷＲセンスアンプブロック３０は、ＷＲラッチ回路３１、カスコードアンプ３２およびディファレンシャルセンスアンプ３３を含む。ＷＲセンスアンプブロック３０は、内部アクセスウインドウ分設けられて、Ｙ−ｓｅｌ＿ｃｏｒｅ２０によって１ページ内の所定のセル（たとえば５３６ｂｉｔ）に接続される。セルアレイ２は隣接するセルのソースまたはドレインとなる拡散層が共有された仮想接地型構造である。セルアレイ２は、配線ＤＡＴＡＢを介してカスコードアンプ３２に接続される。カスコードアンプ３２は、セル電流を電圧に変換する電流電圧変換回路である。ディファレンシャルアンプ３３は、通常セルの電流とリファレンスセルの電流をそれぞれカスコードアンプ３２によって変換された電圧を比較、増幅するセンスアンプである。ＷＲラッチ回路３１は、配線ＲＡＭＤＡＴに接続され、リード時にセンス結果をラッチするとともに、書き込み時に書き込みデータをラッチする。【００４１】
図５はＷＲラッチ回路３１を示す図である。ＷＲラッチ回路３１は、反転回路３１０及び３２０、電気的に接続・分離するトランスファーゲート３３０及び３３１、ＮＭＯＳトランジスタ３３６乃至３４０、ＰＭＯＳトランジスタ３３２乃至３３５、インバータ３４１を含む。反転回路３１０は、読み出し時、インディケータビットに応じて、メモリセルアレイ２から読み出したデータを反転する回路であり、トランスファーゲート３１１、ＰＭＯＳトランジスタ３１２及びＮＭＯＳトランジスタ３１３を含む。読み出し時、センスアンプ回路の出力が端子ＤＳＩｎ＿ｉｗから送られてきて、インディケータビットの情報によって、信号ＩＮＤＳ＿ｗ及びＩＮＤＳＢ＿ｗが動いてデータを反転する場合にはデータを反転して、ラッチ回路ＰＤＩＮ、ＰＤＩＮＢｎ＿ｉｗにデータをセットする。【００４２】
反転回路３２０は、書き込み時、メインラッチ回路４２に保持された第１のデータの内実際に書き込みを行うビット数に応じて、第1のデータを反転する回路であり、トランスファーゲート３２１、ＰＭＯＳトランジスタ３２２及びＮＭＯＳトランジスタ３２３を含む。書き込み時、書き込みデータが端子ＲＡＭＤＡＴｎ＿ｉｗから入力され、インディケータビットの情報によって信号ＩＮＤＣ＿ｗ、ＩＮＤＣＢ＿ｗが動いてデータを反転する場合にはデータを反転し、ラッチ回路ＰＤＩＮ、ＰＤＩＮＢｎ＿ｉｗにデータをセットし、配線ＲＡＭＤＡＴから出力される。配線ＲＡＭＤＡＴは、ＤＭビット線チャージ／メインラッチ回路のセンスアンプ回路につながっている。信号ＷＴｗ及び信号ＷＴＢｗをアクティブにすることにより配線ＲＡＭＤＡＴにつながり、そこからＳＲＡＭアレイ４０に送られる。【００４３】
ノードＰＤＩＮＢはライトアンプ回路３４を制御し、ラッチデータに応じてそのライトアンプ回路３４を活性化し、セルのドレインに書き込み電圧を印加する。例えば、ノードＰＤＩＮＢにＨｉｇｈがラッチされている状態が書き込みを示す状態であり、当該ライトアンプ回路３４から配線ＤＡＴＡＢに高電圧を出力させ、ホットエレクトロン注入によりセルにプログラムする。【００４４】
そして、書き込み電圧印加後につづいて行われるベリファイにおいて、センスデータが配線ＤＳＩを介してノードＰＤＩＮＢに入力される。セルが“０”に正常にプログラムされていれば、ＨｉｇｈのベリファイデータがＰＤＩＮにラッチされる。書き込み対象のすべてのセルのデータが“０”に正常に書き込まれると、すべてのノードＰＤＩＮＢがＨｉｇｈからＬｏｗにラッチが反転する。すると、ノードＭＡＴＣＨＰはＨｉｇｈとなり、ベリファイはパスしたことを示し、プログラムは終了する。ここで、ＭＡＴＣＨＰはＶＣＣにプルアップされたノードであり、ＷｉｒｅｄＯＲ接続された複数のＮチャネルトランジスタがそこに構成されている。ＩＮＤＳ及びＩＮＤＣ等の信号については後述する。【００４５】
図６は、ＤＭビット線チャージブロック５０の回路構成を示す図である。ＤＢビット線チャージブロック５０は、図６に示すように、ディファレンシャルセンスアンプ３３によるセンスデータをＳＲＡＭアレイ４０に送るか、逆にＳＲＡＭアレイ４０のデータをライトアンプ回路３４に送るかの転送制御機能と、ディファレンシャルセンスアンプ３３によるセンスデータの増幅機能、またメインラッチ回路４２のデータを増幅する機能（つまりメインラッチ回路のセンスアンプ）を有している。【００４６】
このＤＭビット線チャージブロック５０は、ＮＭＯＳトランジスタ５０１乃至５０６、ＰＭＯＳトランジスタ５０７乃至５１２、インバータ５１３及び５１４を含む。左半分はＳＲＡＭアレイ４０のメインラッチ回路４２のセンスアンプである。センスに先立ち、メインラッチ回路４２のビット線をプリチャージする構成となっている。【００４７】
書き込み時は、ＳＲＡＭアレイ４０のメインラッチ回路４２に保持された書き込みデータが内部アクセス単位毎にＤＭビット線チャージブロック５０を介して配線ＲＡＭＤＡＴに出力され、書き込みデータは図５で示したＷＲラッチ回路３１のノードＰＤＩＮＢにラッチされる。読み出し時、信号ＲＤＭＢによりビット線をプリチャージして、ノードＤＭ、ＤＭＢをＶＣＣにしておき、信号ＷＴＰをＨｉｇｈにして、ノードＲＡＭＤＡＴから入力されたセンスデータによってメインラッチ回路４２のビット線ＤＭ及びＤＭＢを駆動し、ＳＲＡＭアレイ４０のメインラッチ回路４２にデータをセットする。信号ＮＲＳＴＮ及びＰＲＳＴＭは、ＳＲＡＭアレイ４０内のデータを強制的にリセットするための信号である。【００４８】
図７はＤＣビット線チャージブロック６０のキャッシュラッチ回路のセンスアンプ回路図である。図７に示すように、ＤＣビット線チャージブロック６０のセンスアンプ回路６１は、ＮＭＯＳトランジスタ６０１及び６０２、ＰＭＯＳトランジスタ６０３乃至６０６を含む。信号ＲＤＣＲＢによりビット線をプリチャージする。信号ＮＲＳＴＣ及びＰＲＳＴＣによってＳＲＡＭアレイ４０内のデータを強制的にリセットするための信号である。書き込み時、外部からＹ−ｓｅｌ７２を介して入力される書き込みデータを増幅し、キャッシュラッチ回路４１に送られる。逆に、読み出し時、キャッシュラッチ回路４１のデータを増幅して、Ｙ−ｓｅｌ７２を介して外部に送られる。【００４９】
このように、キャッシュラッチ回路４１とメインラッチ回路４２を介するデータの転送経路は、外部からのデータはキャッシュラッチ回路４１にセットされ、キャッシュラッチ回路４１からメインラッチ回路４２に転送されてコアに書き込まれ、逆に、コアのデータはメインラッチ回路４２にセットされ、メインラッチ回路４２からキャッシュラッチ回路４１に転送されて外部に出力されるという、直列型となっている。この構成により、特許文献１の多値用ページバッファを使う回路よりも回路規模を小さくできる。【００５０】
図８はＩＯ＿ＳＡ（１５:０）回路８０を示す図である。図８に示すように、ＩＯ＿ＳＡ（１５:０）回路８０は、ＰＭＯＳトランジスタ８０１乃至８０４、ＮＭＯＳトランジスタ８０５乃至８０８、インバータ８０９、８１０を含む。読み出し時、ノードＳｎ及びＳＢｎに現れたデータは、増幅されてインバータを介してノードＤＳＩｎから外部に出力される。書き込み時、信号ＷＴＭをＨｉｇｈにして、ノードＤＩＣｎから入力された書き込みデータによってノードＳｎ及びＳＢｎを駆動する。【００５１】
図９はビットディテクタ９０を示す図である。図９に示すように、ビットディテクタ９０は、ＭＵＸ９１、書き込み時、キャッシュラッチ回路４２に保持された第１のデータの内実際に書き込みを行うビット数を検出する加算器９２、加算器９２が検出したビット数を所定のビット数と比較する比較部９３及び比較部９３の比較結果に応じて、第１のデータを反転するかどうかを示すフラグを出力する出力部９４を含む。ビットディテクタ９０は、内部アクセスウインドウ中の、通常メモリ領域に対するレギュラーデータ（５１２ｂｉｔ）に対応するＲＡＭＤＡＴ上の“０”データの数を検出する回路である。書き込み電圧の印加は、消費電流を削減するため、内部アクセスウインドウをたとえば４分割し、レギュラーデータとして１２８ｂｉｔ）、インディケータビットとして１ビット、スペアデータとして４ビット、リファレンスデータとして１ビットの計１３４ビットを一つの内部書き込みウインドウとして実行される。このうち、レギュラーデータにおける書き込みデータ（メインラッチ回路４２に格納されている外部から入力された実データ）の数が６４ｂｉｔより多ければ、１２８ｂｉｔの信号をすべて反転後にコアに書き込むとともに、インディケータビットＩＢにフラグを立ててこれも同時に書き込む。ここでは簡単のため、スペアデータに対してはこの反転、非反転動作は行わないが、すべてのデータをビットディテクタ９０の計算対象として、同様の書き込み動作を実行してもよい。【００５２】
例えば、書き込み時、レギュラーデータである１２８ｂｉｔのメインラッチ回路４２中、データ“０”が７０ｂｉｔ分セットされているとすると、７０本のＲＡＭＤＡＴにＬ（“０”）が現れる。この数を加算器９２が数え、比較部９３において６４より多いかどうかを計算する。この例では６４より多いために、比較部９３の出力ＩＮＤＣはＨｉｇｈ、ＩＮＤＣＢはＬｏｗとなり、配線ＲＡＭＤＡＴの７０個のデータ“０”は図５のＷＲラッチ回路３１内の反転回路３２０において反転されてノードＰＤＩＮＢにＬｏｗがセットされ、当該ビットに対してはプログラムしないことになる。【００５３】
一方、残りの配線ＲＡＭＤＡＴの５８個のデータ“１”は同様にＷＲラッチ回路３１においてデータ反転され、ノードＰＤＩＮＢにはＨｉｇｈがセットされ、当該ビットに対してはプログラムすることになる。また同時に、インディケータビットＩＢ用のＷＲラッチ回路３１内のノードＰＤＩＮＢにはＨｉｇｈがセットされる。結果、ＷＲラッチ回路３１には５８ｂｉｔ（＝１２８−６４）＋１ｂｉｔ分の書き込み状態と、最大で４ビットのスペアデータ、１ビットのリファレンスデータの書き込み状態がセットされたことになる。このように、実際にプログラムが行われるビット数は最大で６９（＝６４＋４＋１）となるため、書き込み時間、書き込み電流が削減できる。インディケータビットＩＢは１ページ中４つ設けられている。これは、書き込みパルスを印加する単位（書き込みウインドウ）を４分割したためである。【００５４】
同様に、読み出し時は、１ページ分のセルデータのうち、まず、内部アクセスウインドウ単位のセルデータがセンスされて、データＤＳＩとしてＷＲセンスアンプブロック回路３０に出力される。これは当然ながら、実際にセルに書かれているデータである。このとき、インディケータビットＩＢも同時にセンスされる。４分割した内の一のインディケータビットＩＢにおいて、そのデータＤＳＩ_ＩＢがＨｉｇｈ、つまり、当該書き込みウインドウに書き込みを行ったときに、レギュラーデータにおける“０”データ数が６４を超えていて、反転データを書き込んでいることを示す場合、ビットディテクタ９０の出力部９４の出力ＩＤＮＳがＨｉｇｈなり、ＷＲラッチ回路３１の反転回路３１０がＤＳＩに現れているセンスデータを反転して、元のデータ（外部から入力された書き込みデータ）に戻して配線ＲＡＭＤＡＴに出力する。【００５５】
もし、インディケータビットＩＢのデータがＬｏｗであれば、ＩＮＤＳがＬｏｗとなり、ＤＳＩのデータは反転されずにそのまま配線ＲＡＭＤＡＴに出力する。これを、４分割した書き込みウインドウ毎に順に行って、一の内部アクセスウインドウに対する反転処理後のすべてのデータが配線ＲＡＭＤＡＴに出力されることになる。配線ＲＡＭＤＡＴに現れたデータはＳＲＡＭアレイ４０に転送され、これを３２回行うことで、ＳＲＡＭアレイ４０のメインラッチ回路４２への１ページ分の読み出しデータのセットが完了する。このように、ビットディテクタ９０は内部アクセスウインドウ分ではなく、書き込みウインドウ分のデータを検出できれば良い。【００５６】
次に、書き込み動作について説明する。まず、外部から１ページ分の書き込みデータが、ＩＯ＿Ｓ／Ａ（０：１５）８０、Ｙ−ｓｅｌ７２、ＤＣビット線チャージブロック６０を介し配線ＤＣを伝わってシリアルにＳＲＡＭアレイ４０内のキャッシュラッチ回路４１に書き込まれる。次に、転送トランジスタ４３を介してメインラッチ回路４２に全データが転送される。これは、動作の安定化のために複数の信号ＴＲを設けて分割して転送させても良い。【００５７】
次に、内部アクセス単位毎にメインラッチ回路４２がアクセスされ、配線ＤＭを伝わってその分のラッチデータがＤＭビット線チャージ／メインラッチ回路４２のセンスアンプ回路からＲＡＭＤＡＴに出力される。するとビットディテクタ９０が"０"データの数を数え、レギュラーデータにおける書き込みデータの数が６４ｂｉｔより多ければ、１２８ｂｉｔの信号をすべて反転後にコアに書き込むとともに、インディケータビットＩＢにフラグを立ててこれも同時に書き込む。【００５８】
次に、読み出し動作について説明する。前記のようにセンス後、ビットディテクタ９０の制御を介して配線ＤＭを伝わってメインラッチ回路４２に１ページ分のデータセットが完了する。すると、転送トランジスタ４３によってキャッシュラッチ回路４１に全データが転送される。次に、配線ＤＣを伝わってＤＣビット線チャージブロック６０、Ｙ−ｓｅｌ７２、ＩＯ＿Ｓ／Ａ（０：１５）８０を介してＤＳＩ（１５：０）から外部に読み出される。これは、１６ビット毎に／ＲＥ制御信号によるトグル動作によりシリアルに出力される。【００５９】
次に、キャッシュプログラムについて説明する。ステートマシン３は、キャッシュプログラムにおいて、メインラッチ回路４２に保持された第１のデータをメモリセルアレイ２に書き込み中に、外部から入力された第２のデータをキャッシュラッチ回路４１にロードするよう制御を行う。具体的には、外部から１ページ分の書き込みデータが入力されてセルに書き込みを行っている間は、メインラッチ回路４２のデータを使用しているが、信号ＴＲはＬｏｗのため、キャッシュラッチ回路４１は分離されて未使用状態にある。よって、その最中に別のプログラムを行うためのデータロードをキャッシュラッチ回路４１に行うことができる。このようにして次データのロードが完了し、先のプログラムも完了すると、信号ＴＲがＨｉｇｈとなってメインラッチ回路４２にデータ転送され、次のプログラムがスタートする。【００６０】
図１０は、キャッシュラッチ回路４１とメインラッチ回路４２の動作を示したものである。図１０のＡ及びＢは、図３に示すノードＡ及びＢに対応する。プログラムコマンドが入力されると、キャッシュラッチ回路４１及びメインラッチ回路４２をリセットする（Ｓ２１）。８０ｈはプログラムエントリーコマンドで、続いて１ｓｔページアドレスと１ｓｔプログラムデータがシーケンシャルに入力される（Ｓ１１、Ｓ１２）。１ｓｔプログラムデータをキャッシュラッチ回路４１にロードする（Ｓ２２）。続いて、キャッシュプログラムすることを示す１５ｈコマンドを入力する。するとＲＤ／ＢＹがＬｏｗ（ビジー状態）となり（Ｓ１３）、１ｓｔプログラムデータがキャッシュラッチ回路４１からメインラッチ回路４２に転送される（Ｓ２３）。キャッシュラッチ回路４１をリセットする（Ｓ２４）。【００６１】
ＲＤ／ＢＹがＨｉｇｈに戻ると（レディ状態、Ｓ１４）、１ｓｔプログラムデータの内部での書き込みが開始されるとともに、次データ（２ｎｄプログラムデータ）、２ｎｄページアドレスが入力可能となる（Ｓ１５、Ｓ１６）。キャッシュラッチ回路４１に２ｎｄプログラムデータをロードする（Ｓ２５）。先の１ｓｔプログラムが終了していれば、メインラッチ回路４２をリセットする（Ｓ２６）。ＲＤ／ＢＹがＬｏｗ（ビジー状態）となり（Ｓ１７）、２ｎｄプログラムデータがキャッシュラッチ回路４１からメインラッチ回路４２に転送される（Ｓ２７）。２ｎｄプログラムがスタートし、キャッシュラッチ回路４１をリセットする（Ｓ２８）。同様にして、３ｒｄプログラム、４ｔｈプログラムを行い、４ｔｈプログラムが最後であれば、１５ｈの代わりに１０ｈコマンドを入力して終了する。【００６２】
次にコピーバックについて説明する。図１１は、キャッシュラッチ回路４１とメインラッチ回路４２の動作を示したものである。ステートマシン３は、キャッシュラッチ回路４１及びメインラッチ回路４２を用いて、メモリセルアレイ２から読み出した読み出しデータを外部から入力された書き込みデータによって上書きし、該上書きしたデータをメモリセルアレイ２に書き込むよう制御を行う。具体的には、まず、リードコマンド１０ｈと、コピー元のページアドレス（Ｓｏｕｒｃｅ  ａｄｄｒｅｓｓ）が入力される（Ｓ３１）。キャッシュラッチ回路４１及びメインラッチ回路４２をリセットする（Ｓ４１）。続けてコマンド３５ｈを入力すると（Ｓ３２）、Ｓｏｕｒｃｅ  ａｄｄｒｅｓｓの１ページ分のセルが内部で読み出されてメインラッチ回路４２に書き込まれる（Ｓ４２）。このとき、前述のように、ビットディテクタ９０の制御によって反転前のデータ（反転していなければそのまま）がメインラッチ回路４２に書き込まれる。続けて、メインラッチ回路４２に書き込まれたデータはキャッシュラッチ回路４１に転送される（Ｓ４３）。メインラッチ回路４２をリセットする（Ｓ４４）。【００６３】
それまでの期間はＲＤ／ＢＹはＬｏｗであり、すべての転送が終わってＲＤ／ＢＹ信号がＨｉｇｈに戻ると（Ｓ３３）、コピー先のページアドレス（ｄｅｓｔｉｎａｔｉｏｎ  ａｄｄｒｅｓｓ）を入力する。このとき、もし、元のデータに変更を加えたいとき（上書き）は、アドレス入力につづけて外部から上書きデータを入力する（Ｓ３４）。従ってこのとき、先ほどキャッシュラッチ回路４１にセットされたデータに変更を加えるビットがあった場合には、外部からのデータが上書きされる（Ｓ４５）。それが終了すると、信号ＴＲをＨｉｇｈにすることで、キャッシュラッチ回路４１内のデータがメインラッチ回路４２に転送される（Ｓ４６）。【００６４】
プログラムコマンドの１０ｈを入力することで（Ｓ３５）、メインラッチ回路４２からＷＲラッチ回路３１にデータを転送し（Ｓ４７）、新しいページアドレスにプログラム（コピー）が行われる。元のデータに変更を加えないときは、ｄｅｓｔｉｎａｔｉｏｎ  ａｄｄｒｅｓｓ入力に続けてプログラムコマンド１０ｈを入力し、単純なコピープログラムが行われる。【００６５】
上述では上書き可能なコピーバックについて説明したが、上書きを行わないコピーバックを行うこともできる。この場合、ステートマシン３は、キャッシュラッチ回路４１及びメインラッチ回路４２を用いて、メモリセルアレイ２から読み出した読み出しデータをメモリセルアレイ２の他の領域に書き込むよう制御を行う。【００６６】
以上本発明の好ましい実施例について詳述したが、本発明は係る特定の実施例に限定されるものではなく、請求の範囲に記載された本発明の要旨の範囲内において、種々の変形、変更が可能である。
【図１】
0004896011.tif 000002
【図２】
0004896011.tif 000003
【図３】
0004896011.tif 000004
【図４】
0004896011.tif 000005
【図５】
0004896011.tif 000006
【図６】
0004896011.tif 000007
【図７】
0004896011.tif 000008
【図８】
0004896011.tif 000009
【図９】
0004896011.tif 000010
【図１０】
0004896011.tif 000011
【図１１】
0004896011.tif 000012