(57)【要約】【課題】隣接セルの容量結合によるメモリセルの閾値分布のシフトを補償でき、高速な書き込みが可能な半導体記憶装置を提供する。【解決手段】メモリセルアレイ１は、ワード線、及びビット線に接続され、１つのメモリセルに、ｎ値（ｎは２以上の自然数）のうちの１値を記憶する複数のメモリセルＭＣがマトリックス状に配置されて構成されている。制御回路８，９は、入力データに応じてワード線、ビット線の電位を制御し、メモリセルにデータを書き込む。制御回路８，９は、メモリセルアレイの第１メモリセルに書き込むとき、第１メモリセルに隣接する第２メモリセルに書き込む書き込みデータに基づき、書き込みレベルを変える。【選択図】      図１
2010123210.tif 000002
【特許請求の範囲】
【請求項１】
ワード線、及びビット線に接続され、１つのメモリセルに、ｎ値（ｎは２以上の自然数）のうちの１値を記憶する複数のメモリセルがマトリックス状に配置されて構成されたメモリセルアレイと、
入力データに応じて前記ワード線、ビット線の電位を制御し、前記メモリセルにデータを書き込む制御回路とを具備し、
前記制御回路は、前記メモリセルアレイの第１メモリセルに書き込むとき、前記第１メモリセルに隣接する第２メモリセルに書き込む書き込みデータに基づき、書き込みレベルを変えることを特徴とする半導体記憶装置。
【請求項２】
前記半導体記憶装置は、前記第１メモリセルの書き込みデータを保持する第１データラッチと、前記第２メモリセルの書き込みデータを保持する第２データラッチを有することを特徴とする請求項１記載の半導体記憶装置。
【請求項３】
前記第１及び第２メモリセルは、“０”レベル（消去レベル）、“１”レベル〜“（ｎ−１）”レベルのｎ値（“０”レベル＜“（ｎ−１）”レベル）のうち１つのレベルによりデータを記憶し、前記第１メモリセルに“ｋ”レベル（ｋは０〜（ｎ−１））を書き込む時、第２メモリセルの書込みデータが“０”レベル（消去レベル）の場合、“ｋ_０”レベル、“１”レベルの場合、“ｋ_１”レベル、…“（ｎ−１）”レベルの場合、“ｋ_（ｎ−１)”レベル（“ｋ_０”レベル＝＞“ｋ_１”レベル＝＞…＝＞“ｋ_（ｎ−１)”レベル）に書き込まれることを特徴とする請求項１記載の半導体記憶装置。
【請求項４】
前記第１メモリセルに“ｋ”レベル（ｋは０〜（ｎ−１））を書き込んだ後、“ｋ_ｈ”レベル（ｈは、０〜（ｎ−１））でベリファイされ、“ｋ_ｈ”レベル以外への書き込みは、“ｋ_ｈ”レベル（ｈは、０〜（ｎ−１）を超えた後、第２メモリセルのデータに基づいた回数、書き込み電圧を印加することにより“ｋ_ｈ+１”レベル、“ｋ_ｈ＋２”レベル…“ｋ_（ｎ−１)”レベルに書き込むことを特徴とする請求項３記載の半導体記憶装置。
【請求項５】
前記第１メモリセルの“ｋ”レベル（ｋは０〜（ｎ−１））への書き込み後、“ｋ_ｈ”レベル（ｈは、０〜（ｎ−１））でベリファイされ、“ｋ_ｈ+１”レベル、“ｋ_ｈ＋２”レベル…“ｋ_ｉ”レベル（ｉは、０〜（ｎ−１））への書き込みは、“ｋ_ｈ”レベルを超えた後、第２メモリセルのデータに基づいた回数、書き込み電圧を印加することを特徴とする請求項３記載の半導体記憶装置。
【請求項６】
前記第１メモリセルにデータを書き込むとき、前記第２メモリセルに書き込むデータが定まっていない場合、前記第１メモリセルの“ｋ”レベル（ｋは０〜（ｎ−１））への書き込み時、“ｋ_（ｎ−１)”レベルに書き込むことを特徴とする請求項３記載の半導体記憶装置。
【請求項７】
前記第１メモリセルにデータを書き込むとき、前記第２メモリセルに書き込むデータが定まっていない場合、前記第１メモリセルの“ｋ”レベル（ｋは０〜（ｎ−１））への書き込み時、“ｋ_ｉ”レベル（ｉは０、１、…（ｎ−１)のいずれか）に書き込むことを特徴とする請求項３記載の半導体記憶装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体記憶装置に係わり、例えば１つのメモリセルに複数ビットを記憶するＮＡＮＤフラッシュメモリに関する。
【背景技術】
【０００２】
ＮＡＮＤフラッシュメモリは、ソース線とビット線の間に複数のメモリセルが直列接続されてＮＡＮＤユニットが構成されている。ＮＡＮＤフラッシュメモリは、ソース線に近いメモリセルから順次書き込まれる。このため、既に書き込まれたメモリセルよりビット線側に位置するメモリセルの書き込みを行う際、容量結合により既に書き込まれたメモリセルの閾値電圧がシフトしてしまう。
【０００３】
この容量結合の影響は、１つのワード線に接続された複数のメモリセルにおいても生じる。すなわち、１つのワード線に接続された例えば３つのメモリセルに注目した場合において、２つのメモリセルの間のメモリセルにデータを書き込む場合、２つのメモリセルの閾値電圧により、書き込みセルの閾値電圧がシフトする。
【０００４】
上記隣接セルの書き込みによる閾値電圧のシフトは、素子の微細化による容量結合の増加により顕著となっている。この容量結合を補償するために最初にラフに書き込みを行ったのち、細かく書き込む手法などが用いられている（例えば特許文献１）。しかし、ラフに書き込んだ状態を検知する読み出しなどにより書き込み時間の増大を招いている。したがって、隣接セルの容量結合によるメモリセルの閾値分布のシフトを補償でき、高速な書き込みが可能な半導体記憶装置が望まれている。
【特許文献１】特開２００７−３２３７３１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
本発明は、隣接セルの容量結合によるメモリセルの閾値分布のシフトを補償でき、高速な書き込みが可能な半導体記憶装置を提供しようとするものである。
【課題を解決するための手段】
【０００６】
本発明の半導体記憶装置の態様は、ワード線、及びビット線に接続され、１つのメモリセルに、ｎ値（ｎは２以上の自然数）のうちの１値を記憶する複数のメモリセルがマトリックス状に配置されて構成されたメモリセルアレイと、入力データに応じて前記ワード線、ビット線の電位を制御し、前記メモリセルにデータを書き込む制御回路とを具備し、前記制御回路は、前記メモリセルアレイの第１メモリセルに書き込むとき、前記第１メモリセルに隣接する第２メモリセルに書き込む書き込みデータに基づき、書き込みレベルを変えることを特徴とする。
【発明の効果】
【０００７】
本発明によれば、隣接セルの容量結合によるメモリセルの閾値分布のシフトを補償でき、高速な書き込みが可能な半導体記憶装置を提供できる。
【発明を実施するための最良の形態】
【０００８】
以下、本発明の実施の形態について、図面を参照して説明する。
【０００９】
図１は、本発明の実施形態に係る半導体記憶装置の概略構成を示している。
【００１０】
図１において、メモリセルアレイ１は、１つのメモリセルに例えば２ビットのデータを記憶することが可能なＮＡＮＤ型フラッシュメモリにより構成されている。すなわち、メモリセルアレイ１は、後述するように、複数のビット線と複数のワード線と共通ソース線、及び電気的にデータを書き換え可能でロウ方向、カラム方向に配置された例えばＥＥＰＲＯＭセルからなる複数のメモリセルを含んでいる。ロウデコーダとしてのワード線制御回路２は、メモリセルアレイ１のワード線に接続され、ワード線の選択及び駆動を行う。センスアンプ回路３は、メモリセルアレイ１のビット線に接続され、後述するように、データの読み出し、書き込み機能、及び書き込みデータを残りの書き込み回数に変換する機能を有している。カラムデコーダ４は、アドレスデコーダ７の出力信号に応じて、メモリセルアレイ１のビット線を選択するカラム選択信号を出力する。
【００１１】
入出力制御回路５は、外部から供給される各種コマンド、アドレス信号、及び書き込みデータを受ける。データ書き込み時、書き込みデータは、入出力制御回路５からデータ入出力バッファ６を介してセンスアンプ回路３に供給される。データ読み出し時、センスアンプ回路３に読み出されたデータは、データ入出力バッファ６を介して、入出力制御回路５に供給され、入出力制御回路５から外部に出力される。
【００１２】
入出力制御回路５からデータ入出力バッファ６に供給されたアドレス信号は、アドレスデコーダ７に供給される。このアドレスデコーダ７によりデコードされた信号は、ワード線制御回路２、及びカラムデコーダ４に供給される。
【００１３】
また、入出力制御回路５からデータ入出力バッファ６に供給されたコマンドは、制御信号発生回路８に供給される。制御信号発生回路８には、外部からチップイネーブル信号／ＣＥ、書き込みイネーブル信号／ＷＥ、読み出しイネーブル信号／ＲＥ、アドレスラッチイネーブル信号ＡＬＥ、コマンドラッチイネーブル信号ＣＬＥ等の外部制御信号が供給される。制御信号発生回路８は、動作モードに応じて供給される外部制御信号及びコマンドに基づいて、データ書き込み及び消去のシーケンスを制御する制御信号、及びデータの読み出しを制御する制御信号を発生する。この制御信号は、制御電圧発生回路９、アドレスデコーダ７に供給される。
【００１４】
制御電圧生成回路９は、制御信号生成回路８から供給される各種制御信号に応じて、読み出し電圧、書き込み電圧、ベリファイ電圧、消去電圧など、メモリセルアレイやセンスアンプ回路３、カラムデコーダ４の各種動作に必要な電圧を生成する。
【００１５】
パラメータ記憶部１０は、入出力制御回路５、制御信号発生回路８に接続され、テスト工程で決定されたチップの品質に適したパラメータを記憶する。
【００１６】
図２は、図１に示すメモリセルアレイ１とセンスアンプ回路３の構成例を示している。メモリセルアレイ１は、破線で示すように複数のブロックＢＬＫを含んでいる。これらブロックは消去単位を構成する。各ブロックＢＬＫには複数のＮＡＮＤセルが配置されている。１つのＮＡＮＤセルは、直列接続された例えば３２個のＥＥＰＲＯＭからなるメモリセルＭＣと、選択ゲートトランジスタＳ１、Ｓ２とにより構成されている。選択ゲートトランジスタＳ１はビット線ＢＬ０に接続され、選択ゲートＳ２はソース線ＳＲＣに接続されている。各ロウに配置されたメモリセルＭＣの制御ゲートはワード線ＷＬ０、ＷＬ１、ＷＬ２〜ＷＬ３１に共通接続されている。また、選択ゲートトランジスタＳ１はセレクト線ＳＧＤに共通接続され、選択ゲートトランジスタＳ２はセレクト線ＳＧＳに共通接続されている。
【００１７】
センスアンプ回路３は、複数のセンスアンプユニット（ＳＡＵ）３ａと、複数のデータ制御ユニット（ＤＣＵ）３ｂを有している。各センスアンプユニット３ａは、ビット線ＢＬ０、ＢＬ１、ＢＬ２〜ＢＬｎに接続されている。各データ制御ユニット３ｂは各センスアンプユニット３ａに接続されている。各センスアンプユニット３ａは、データの読み出し時、メモリセルからビット線に読み出されたデータを検知し、保持する。各データ制御ユニット３ｂは、カラム選択信号ＳＥＬ０〜ＳＥＬｎに従って動作するトランジスタを介してデータ入出力バッファに接続されている。
【００１８】
書き込み動作（プログラム動作とも呼ぶ）、読み出し動作、及びプログラムベリファイ動作（ベリファイ動作とも呼ぶ）において、センスアンプユニット３ａに接続されているビット線が選択されるとともに、１本のワード線が選択される。この選択されたワード線に接続されている全てのメモリセルに、書き込み、又は読み出し電圧を印加することにより一斉に書き込み、又は読み出し動作が行われる。
【００１９】
また、データ制御ユニット３ｂは、外部から供給された書き込みデータを保持するとともに、センスアンプユニット３ａから読み出されたデータを保持する。さらに、データの書き込み時、書き込みデータを、書き込み電圧の印加回数に対応したデータに変換する操作を行う。
【００２０】
尚、図２において、センスアンプユニット３ａは、各ビット線に接続されているが、これに限定されるものではなく、例えば２つのビット線に１つ設けてもよい。また、データ制御回路３ｂは、各センスアンプユニット３ａに接続されているが、これに限定されるものではなく、例えば８つのセンスアンプに対して１つのデータ制御回路３ｂを設け、このデータ制御回路３ｂをセンスアンプユニット３ａに選択的に接続するような構成とすることも可能である。
【００２１】
図３は、センスアンプユニット（ＳＡＵ）３ａの一例を示している。センスアンプユニット３ａは、複数のＰチャネルＭＯＳトランジスタ（以下、ＰＭＯＳと称す）２０、２１、２２、２３と、複数のＮチャネルＭＯＳトランジスタ（以下、ＮＭＯＳと称す）３１、３２、３３、３４、３５、３６、３７と、例えばクロックドインバータ回路により構成されラッチ回路ＬＡＴ１とにより構成されている。
【００２２】
ＰＭＯＳ２０のソースは電源Ｖｄｄが供給されるノードに接続され、ドレインはＰＭＯＳ２１、ＮＭＯＳ３１、３２を介してデータ制御ユニット（ＤＣＵ）３ｂに接続される。ＰＭＯＳ２０のゲートは、後述するラッチ回路ＬＡＴ１のノードＩＮＶに接続されている。ＰＭＯＳ２１のゲートには信号ＢＬＣ１が供給され、ＮＭＯＳ３１、３２のゲートには信号ＢＬＣ２、ＢＬＣ３がそれぞれ供給されている。ＮＭＯＳ３１とＮＭＯＳ３２の接続ノードは、ビット線ＢＬに接続されるとともに、ＮＭＯＳ３３、３４を介して接地されている。ＮＭＯＳ３３のゲートは、ラッチ回路ＬＡＴ１のノードＩＮＶに接続され、ＮＭＯＳ３３は、ラッチ回路ＬＡＴ１に保持されたデータにより制御される。さらに、ＮＭＯＳ３４のゲートには、信号ＤＩＳが供給されている。
【００２３】
また、ＰＭＯＳ２２のソースは電源Ｖｄｄが供給されるノードに接続され、ドレインはＰＭＯＳ２３、ＮＭＯＳ３６、ＮＭＯＳ３７を介してデータ制御ユニット３ｂに接続される。ＰＭＯＳ２２のゲートには信号ＢＬＣ４が供給され、ＰＭＯＳ２３のゲートはＮＭＯＳ３５を介してＰＭＯＳ２１とＮＭＯＳ３１の接続ノードに接続されている。ＮＭＯＳ３５のゲートには信号ＸＸＬが供給され、ＮＭＯＳ３６のゲートにはリセット信号ＲＳＴが供給されている。ＮＭＯＳ３７のゲートには信号ＢＬＣ５が供給されている。ラッチ回路ＬＡＴ１は、ＮＭＯＳ３６に並列接続されている。
【００２４】
上記センスアンプユニットの動作について概略的に説明する。
【００２５】
（書き込み動作）
メモリセルにデータを書き込む場合、先ず、リセット信号ＲＳＴが一旦ハイレベル（以下、Ｈレベルと記す）とされ、ラッチ回路ＬＡＴ１がリセットされる。すなわち、ラッチ回路ＬＡＴ１のノードＩＮＶがＬレベルに設定される。この後、信号ＢＬＣ１、ＢＬＣ４、ＤＩＳがＬレベル（以下、Ｌレベルと記す）とされる。
【００２６】
この後、信号ＢＬＣ２、ＢＬＣ３、ＸＸＬがＨレベルとされ、信号ＢＬＣ４がＬレベルとされて、データ制御ユニット３ｂからデータが取り込まれる。このデータが書き込みを示すＬレベル“０”である場合、ＰＭＯＳ２３のゲートがＬレベルとなり、ＰＭＯＳ２３はオン状態となる。このため、ラッチ回路ＬＡＴ１にはＨレベル“１”がセットされる。また、データが非書き込みを示すＨレベル“１”である場合、ＰＭＯＳ２３がオフ状態となる。このため、ラッチ回路ＬＡＴ１にはＬレベル“０”がセットされる。すなわち、データを書き込む場合、ラッチ回路ＬＡＴ１のノードＩＮＶはＨレベルに設定され、非書き込みの場合、ノードＩＮＶはＬレベルに設定される。
【００２７】
次いで、信号ＢＬＣ１、ＢＬＣ３、ＤＩＳ、ＸＸＬがＬレベル、信号ＢＬＣ２がＨレベルとされ、ビット線ＢＬがＨレベルに充電される。この後、信号ＤＩＳがＨレベルに設定される。すると、ラッチ回路ＬＡＴ１のノードＩＮＶが書き込みを示すＨレベルの場合、ＮＭＯＳ３３がオンし、ＮＭＯＳ３３、３４を介してビット線の電荷が放電される。また、ラッチ回路ＬＡＴ１のノードＩＮＶが非書き込みを示すＬレベルの場合、ＮＭＯＳ３３がオフするため、ビット線の電位はＨレベルに保持される。この後、図２に示すビット線とＮＡＮＤセルとを接続する選択ゲートトランジスタＳ１のセレクト線ＳＧＤがＨレベルとされると、ビット線の電位がメモリセルのチャネルに転送される。これと同時に選択されたメモリセルのワード線に書き込み電圧Ｖｐｇｍを印加される。このため、書き込みセルの場合、チャネルがＬレベル（Ｖｓｓ）、ワード線が書き込み電圧Ｖｐｇｍとなり、書き込みが行われる。また、非書き込みセルの場合、チャネルがＨレベル（Ｖｄｄ−Ｖｔｈ：Ｖｔｈは選択ゲートトランジスタの閾値電圧）、ワード線がＶｐｇｍとなるため、書き込みが行われない。
【００２８】
（読み出し動作）
メモリセルからデータを読み出す場合、先ず、リセット信号ＲＳＴが一旦Ｈレベルとされ、ラッチ回路ＬＡＴ１がリセットされる。この後、信号ＢＬＣ１、ＢＬＣ３、ＤＩＳ、ＸＸＬがＬレベル、信号ＢＬＣ２がＨレベルとされ、ビット線がＨレベルに充電される。この後、信号ＢＬＣ２をＬレベルとして選択ワード線に読み出しレベルが供給される。メモリセルの閾値電圧が読み出しレベルより高い場合、メモリセルはオフ状態であり、ビット線はＨレベルに保持される。また、メモリセルの閾値電圧が読み出しレベルより低い場合、メモリセルはオン状態となり、ビット線の電荷が放電される。このため、ビット線はＬレベルとなる。次いで、信号ＢＬＣ３がＨレベルとされ、ビット線の電位がデータ制御ユニット３ｂに読み出される。
【００２９】
（プログラムベリファイ動作）
書き込み動作後、メモリセルの閾値電圧を検証するプログラムベリファイ動作は、読み出し動作とほぼ同様である。この場合、ビット線をＨレベルに充電した後、選択ワード線に所定のベリファイ電圧が供給される。メモリセルの閾値電圧がベリファイ電圧に達している場合、メモリセルはオフ状態となる。このため、ビット線の電位はＨレベルに保持される。また、メモリセルの閾値電圧がベリファイ電圧に達していない場合、メモリセルはオン状態となる。このため、ビット線の電位はＬレベルとなる。
【００３０】
この状態において、信号ＢＬＣ１、ＢＬＣ２、ＸＸＬがＨレベル、信号ＢＬＣ４、ＢＬＣ３、ＤＩＳ、ＲＳＴがＬレベルとされ、ビット線ＢＬの電位がラッチ回路ＬＡＴ１に保持される。すなわち、メモリセルの閾値電圧がベリファイ電圧に達しており、ビット線ＢＬの電位がＨレベルの場合、ＰＭＯＳ２３がオフ状態となる。このため、ラッチ回路ＬＡＴ１にはＬレベルが保持される。また、メモリセルの閾値電圧がベリファイ電圧に達しておらず、ビット線ＢＬの電位がＬレベルの場合、ＰＭＯＳ２３がオン状態となる。このため、ラッチ回路ＬＡＴ１にはＨレベルが保持される。すなわち、ベリファイをパスした場合、ラッチ回路ＬＡＴ１のノードＩＮＶの電位はＬレベルとなり、ベリファイをパスしない場合、ノードＩＮＶの電位はＨレベルとなる。
【００３１】
また、ラッチ回路ＬＡＴ１の反転ノードＩＮＶｎのデータは、信号ＢＬＣ５をＨレベルとして、ＮＭＯＳ３７をオンした状態において、データ制御ユニット３ｂに転送される。
【００３２】
図４は、データ制御ユニット（ＤＣＵ）３ｂの一例を示している。このデータ制御ユニット３ｂは、例えば５個のデータラッチ回路０ＤＬ、１ＤＬ、２ＤＬ、３ＤＬ、４ＤＬと、バス４１と、データ形成回路４２を含んでいる。
【００３３】
バス４１の一端部は、センスアンプユニット３ａに接続され、他端部はデータ入出力バッファに接続されている。
【００３４】
データラッチ回路０ＤＬは、ラッチ回路ＬＡＴ２と、トランスファーゲート４３により構成されている。ラッチ回路ＬＡＴ２は、トランスファーゲート４３を介してバス４１に接続される。トランスファーゲート４３は信号φ及びその反転信号φｎにより制御される。データラッチ回路１ＤＬ、２ＤＬ、３ＤＬ、４ＤＬは、データラッチ回路０ＤＬと同一構成であり、トランスファーゲートに供給される信号がそれぞれ相違している。したがって、各データラッチ回路０ＤＬ、１ＤＬ、２ＤＬ、３ＤＬ、４ＤＬは、選択的にバス４１に接続可能とされている。
【００３５】
データ形成回路４２は、ラッチ回路ＬＡＴ３、ＰＭＯＳ５２〜５６、ＮＭＯＳ６１〜７０、及びインバータ回路７１により構成されている。ＰＭＯＳ５１のソースは電源Ｖｄｄが供給されるノードに接続されている。このＰＭＯＳ５１のゲートにはセット信号ＳＥＴ１が供給され、ドレインはラッチ回路ＬＡＴ３に接続されている。さらに、ＰＭＯＳ５１のドレインはＮＭＯＳ６１を介して接地されるとともに、ＮＭＯＳ６２、６３を介して接地されている。ＮＭＯＳ６１のゲートにはリセット信号ＲＳＴ２が供給され、ＮＭＯＳ６２のゲートには、信号ＬＡＴＨが供給されている。ＮＭＯＳ６３のゲートは、入力端がバス４１に接続されたインバータ回路７１の出力端に接続されている。さらに、ＰＭＯＳ５１のドレインは、ＮＭＯＳ６４、６５を介して接地されている。ＮＭＯＳ６４のゲートには信号ＬＡＴＬが供給され、ＮＭＯＳ６５のゲートは、バス４１に接続されている。
【００３６】
電源Ｖｄｄが供給されるノードとバス４１との間には、ＰＭＯＳ５２、５３の直列回路と、ＰＭＯＳ５４、５５の直列回路と、ＰＭＯＳ５６が接続されている。
【００３７】
ＰＭＯＳ５２のゲートには、信号ＢＵＳＨ２が供給され、ＰＭＯＳ５３のゲートはＬＡＴ３のノードＬＡＴｎに接続されている。ＰＭＯＳ５２、５３は、信号ＢＵＳＨ２とＬＡＴ３のノードＬＡＴｎの電位に応じてバス４１をＨレベルに充電する回路である。
【００３８】
ＰＭＯＳ５４のゲートには、信号ＢＵＳＬ２が供給され、ＰＭＯＳ５５のゲートはＬＡＴ３のノードＬＡＴに接続されている。ＰＭＯＳ５４、５５は、信号ＢＵＳＬ２とＬＡＴ３のノードＬＡＴの電位に応じてバス４１をＨレベルに充電する回路である。
【００３９】
ＰＭＯＳ５６のゲートには、セット信号ＳＥＴ２が供給されている。ＰＭＯＳ５６は、セット信号ＳＥＴ２に応じてバス４１をＨレベルに充電する回路である。
【００４０】
バス４１と接地間には、ＮＭＯＳ６６、６７の直列回路と、ＮＭＯＳ６８、６９の直列回路と、ＮＭＯＳ７０が接続されている。
【００４１】
ＮＭＯＳ６６のゲートには、信号ＢＵＳＨ１が供給され、ＮＭＯＳ６７のゲートはＬＡＴ３のノードＬＡＴｎに接続されている。ＮＭＯＳ６６、６７は、信号ＢＵＳＨ１とＬＡＴ３のノードＬＡＴｎの電位に応じてバス４１をＬレベルに放電する回路である。
【００４２】
ＮＭＯＳ６８のゲートには、信号ＢＵＳＬ１が供給され、ＮＭＯＳ６９のゲートはＬＡＴ３のノードＬＡＴに接続されている。ＮＭＯＳ６８、６９は、信号ＢＵＳＬ１とＬＡＴ３のノードＬＡＴの電位に応じてバス４１をＬレベルに放電する回路である。
【００４３】
ＮＭＯＳ７０のゲートには、リセット信号ＲＳＴ２が供給されている。ＮＭＯＳ７０は、リセット信号ＲＳＴ２に応じてバス４１をＬレベルに放電する回路である。
【００４４】
データ制御ユニット３ｂは、データラッチ回路０ＤＬ、１ＤＬ、２ＤＬ、３ＤＬ、４ＤＬにデータを保持するとともに、保持したデータを加工することが可能とされている。つまり、データ制御ユニット３ｂは、後述するように、保持したデータの例えば論理積“ＡＮＤ”、“ＮＡＮＤ”、論理和“ＯＲ”、反転に相当する動作が可能とされている。
【００４５】
（データ制御ユニットの基本動作）
上記データ制御ユニットの基本動作について説明する。データ入出力バッファ６から供給された２ビットの書き込みデータは、データラッチ回路１ＤＬ、２ＤＬに１ビットずつラッチされる。ここで、データラッチ回路１ＤＬ、２ＤＬは、例えばロワーページ、アッパーページのデータをそれぞれ保持する。データラッチ回路０ＤＬは、ベリファイがパスしたことを示すフラグデータを保持するために用いられる。データラッチ回路０ＤＬ、１ＤＬ、２ＤＬ、３ＤＬ、４ＤＬのデータは、トランスファーゲート４３を介してバス４１に転送可能とされている。
【００４６】
バス４１のデータをＬＡＴ３に取り込む場合、リセット信号ＲＳＴ２をＨレベルとしてＮＭＯＳ６１、７０をオンさせ、バス４１、及びラッチ回路ＬＡＴ３をＬレベルにリセットする。
【００４７】
次いで、セット信号ＳＥＴ１をＬレベルとしてＰＭＯＳ５１をオンさせ、ラッチ回路ＬＡＴ３をＨレベルにセットする。ラッチ回路ＬＡＴ３にデータを取り込む場合、ラッチ回路ＬＡＴ３は、先ず、Ｈレベルにセットされる。この後、例えばデータラッチ回路０ＤＬ〜４ＤＬの何れかより、バス４１にデータを転送する。この状態において、信号ＬＡＴＨをＨレベルとする。バス４１のデータがＨレベルの場合、インバータ回路７１の出力信号がローレベルとなり、ＮＭＯＳ６３はオフ状態のままである。このため、ラッチ回路ＬＡＴ３はＨレベルのままである。
【００４８】
また、バス４１がＬレベルの場合、インバータ回路７１の出力信号がＨレベルとなり、ＮＭＯＳ６３がオンとなる。このため、ラッチ回路ＬＡＴ３は、ＮＭＯＳ６２、６３を介して放電され、Ｌレベルとなる。
【００４９】
次に、バス４１のデータを反転してラッチ回路ＬＡＴ３に取り込む場合の動作について説明する。上記のようにして、ラッチ回路ＬＡＴ３をＨレベルにセットした状態において、バス４１にデータを転送する。この後、信号ＬＡＴＬをＨレベルとする。バス４１のデータがＨレベルの場合、ＮＭＯＳ６５はオンとなる。このため、ラッチ回路ＬＡＴ３は、ＮＭＯＳ６４、６５を介して放電され、Ｌレベルとなる。
【００５０】
また、バス４１がＬレベルの場合、ＮＭＯＳ６５はオフ状態のままである。このため、ラッチ回路ＬＡＴ３はＨレベルのままである。
【００５１】
このようにして、ラッチ回路ＬＡＴ３に保持されたデータを、データラッチ回路０ＤＬ〜４ＤＬに転送することにより、データラッチ回路０ＤＬ〜４ＤＬのデータを操作することができる。
【００５２】
（データラッチ回路に記憶されたデータの反転動作）
データラッチ回路０ＤＬ〜４ＤＬのデータを反転させる反転動作について説明する。先ず、前述した動作によりバス４１を充電し、データラッチ回路０ＤＬ〜４ＤＬのいずれかのトランスファーゲート４３が開けられる。例えばデータラッチ回路０ＤＬのトランスファーゲート４３が開けられた場合において、データラッチ回路０ＤＬのノードＤＴがＨレベルである場合、データラッチ回路０ＤＬのクロックドインバータ回路を介してバス４１が放電され、ノードＤＴの反転データがバス４１へ転送されたこととなる。
【００５３】
次に、上記のようにして、ＬＡＴ３リセットした後、信号ＳＥＴ１をＬレベルとしてＬＡＴ３のノードＬＡＴをＨレベルとする。
【００５４】
次に、信号ＬＡＴＬをＨレベルとすると、バス４１がデータラッチ回路のデータによって放電されている場合、ノードＬＡＴはＨレベルを維持し、バス４１が充電状態を維持したままの場合、ＮＭＯＳ６５がオンするため、ノードＬＡＴはＬレベルに放電される。
【００５５】
次に、上述したようにバス４１を充電し、信号ＢＵＳＨ１をＨレベルにすると、ノードＬＡＴがＨレベル（ノードＬＡＴｎがＬレベル）の場合、バス４１はＨレベルを維持し、ノードＬＡＴがＬレベル（ノードＬＡＴｎがＨレベル）の場合、バス４１はＬレベルとなる。
【００５６】
最後に、データラッチ回路０ＤＬのラッチ回路ＬＡＴ２をリセットした後、トランスファーゲート４３を開けることにより、バス４１のデータがトランスファーゲート４３を介してラッチ回路ＬＡＴ２に取り込まれる。この結果、バス４１のデータがＨレベルの場合、ノードＤＴはＬレベルとなり、バス４１のデータがＬレベルの場合、ノードＤＴはＨレベルとなる。
【００５７】
上記一連の動作を纏めると、ラッチ回路ＬＴＡ２のノードＤＴの反転データがバス４１へ転送され、その反転データがラッチ回路ＬＴＡ１へ転送される。ラッチ回路ＬＡＴ１のデータがバス４１に転送され、バス４１の反転データがラッチ回路ＬＴＡ２に保持される。このようにして、データラッチ回路０ＤＬ〜４ＤＬのノードＤＴが反転される。
【００５８】
尚、データ制御ユニット３ｂの基本動作は、これに限定されるものではなく、他の動作によっても可能である。この動作を基本としてデータの“ＡＮＤ”、“ＮＡＮＤ”、“ＯＲ”動作を行うことが可能である。
【００５９】
図５は、ＮＡＮＤ型フラッシュメモリの各書き込みデータに対応した閾値電圧分布と隣接容量結合による閾値電圧のシフトの関係を示している。
【００６０】
本実施形態は、１つのメモリセルが２ビットのデータを記憶する場合を示している。２ビットのデータは、同時にメモリセルに書き込まれる。書き込みデータと閾値電圧の間関係は、図５に実線で示す通りである。すなわち、閾値電圧の低い側から高い側へ順にデータ“１１”、データ“０１”、データ“１０”、データ“００”の閾値電圧が所定の間隔を隔てて分布し、これら閾値電圧の１つがメモリセルに設定される。
【００６１】
２ビットのデータを記憶する場合、閾値電圧分布はデータに応じて４つであるが、１つのメモリセルに３ビットのデータを記憶する場合、閾値電圧分布はデータに応じて８つとなり、１つのメモリセルに４ビットのデータを記憶する場合、閾値電圧分布はデータに応じて１６個となる。尚、データ“１１”の閾値電圧は、ほぼ消去状態の閾値電圧に対応する。
【００６２】
ＮＡＮＤ型フラッシュメモリは、ソース線に近いメモリセルより順に書き込まれる。したがって、次の書き込み動作において、現在選択されているワード線よりビット線側に１つ近いワード線に接続されたメモリセルにデータが書き込まれる。また、ＮＡＮＤ型フラッシュメモリの特徴として、選択ワード線に接続されたメモリセルにデータを書き込んだ後、次のワード線に接続されたメモリセルにデータを書き込む場合、次のメモリセルに書き込まれるデータに応じて、先に書き込まれたメモリセルと次に書き込まれるメモリセルの隣接結合容量が異なってくる。特に、閾値電圧を高い側に書き込む程、隣接結合容量によるメモリセルの閾値電圧のシフト量が大きくなる。
【００６３】
図５に複数の破線で示す閾値分布は、次の書き込み動作において、隣接セルに書き込まれるデータに対応した閾値電圧のシフトの様子を示している。図５から明らかなように、隣接セルに書き込まれる閾値電圧が高い程、閾値電圧のシフトが大きくなる。このため、データの読み出し時、閾値電圧が高めにシフトして読み出される。具体的には、次の書き込みデータが“１１”、つまり非書き込みの場合、次のデータによる隣接結合容量はゼロであるため、メモリセルの閾値は正しく読まれる。しかし、次のデータが“１１”以外である場合、閾値電圧がデータに応じて３通りの隣接結合容量による影響を受け、閾値電圧が実際よりも高めにシフトして読まれる。
【００６４】
（第１の実施形態）
図６乃至図１０は、第１の実施形態を示すものであり、隣接結合容量によるメモリセルのシフトを考慮した書き込み動作の例を示している。
【００６５】
第１の実施形態は、図６に示すように、次の書き込みデータを考慮して、現在の書き込みベリファイレベルが設定される。データ“０１”を書き込む場合において、ベリファイレベルがＡ−１に設定され、隣接セルに書き込まれるデータ（次の書き込みデータ）が“００”である場合、ベリファイレベルＡ−１が設定され、次の書き込みデータが“１０”である場合、ベリファイレベルＡ−１より高いベリファイレベルＡ−２が設定される。さらに、次の書き込みデータが“０１”である場合、ベリファイレベルＡ−２より高いベリファイレベルＡ−３が設定され、次の書き込みデータが“１１”である場合、ベリファイレベルＡ−３より高いベリファイレベルＡ−４が設定される。すなわち、次の書き込みにおいて、最も閾値電圧のシフトが大きいデータ“００”に、閾値電圧が収束するように制御される。
【００６６】
図６乃至図１０を参照して、書き込み動作について説明する。
【００６７】
先ず、図３に示すセンスアンプユニット３ａのラッチ回路ＬＡＴ１が初期化される。すなわち、リセット信号ＲＳＴがＨレベルとされ、ラッチ回路ＬＡＴ１がイコライズされる。この後、信号ＢＬＣ４がＬレベルとされて、ノードＩＮＶがＨレベルに設定される。
【００６８】
次に、書き込みデータが、図４に示すデータ入出力バッファからデータラッチ回路１ＤＬ、２ＤＬに順次ロードされる。この後、データラッチ回路１ＤＬ、２ＤＬに保持されたデータの“ＡＮＤ”が取られる。すなわち、データラッチ回路１ＤＬ、２ＤＬのトランスファーゲート４３が同時に開けられる。データラッチ回路１ＤＬ、２ＤＬのデータが“０１”“１０”“００”である場合、バス４１はＬレベルとなり、データラッチ回路０ＤＬ、１ＤＬのデータが“１１”である場合、バス４１はＨレベルとなる。
【００６９】
バス４１のレベルは、前述したようにして、図４に示すラッチ回路ＬＡＴ３に保持される。データラッチ回路１ＤＬ、２ＤＬの論理積がＨレベル（非書き込み）の場合、ラッチ回路ＬＡＴ３にＬレベルが保持され、データラッチ回路１ＤＬ、２ＤＬの論理積がＬレベル（書き込み）の場合、ラッチ回路ＬＡＴ３にＨレベルが保持される。
【００７０】
ラッチ回路ＬＡＴ３に保持されたデータは、バス４１を介してセンスアンプユニット３ａに転送される。すなわち、先ず、信号ＢＵＳＬ２がＬレベルとされる。ラッチ回路ＬＡＴ３のノードＬＡＴがＬレベルの場合、ＰＭＯＳ５２、５３がオンし、バス４１がＨレベルに充電される。この後、信号ＢＵＳＬ１がＨレベルとされる。ラッチ回路ＬＡＴ３のノードＬＡＴがＬレベルの場合、ＮＭＯＳ６８はオン、ＮＭＯＳ６９はオフとなる。このため、バス４１はＨレベルとなる。
【００７１】
また、信号ＢＵＳＬ２がＬレベルとされ、ラッチ回路ＬＡＴ３のノードＬＡＴがＨレベルの場合、ＰＭＯＳ５２がオンし、ＰＭＯＳ５３がオフする。この後、信号ＢＵＳＬ１がＨレベルとされる。ラッチ回路ＬＡＴ３のノードＬＡＴがＨレベルの場合、ＮＭＯＳ６８、６９はオンとなる。このため、バス４１はＬレベルとなる。
【００７２】
センスアンプユニット３ａの信号ＢＬＣ５がＨレベルとされ、バス４１のレベルがラッチ回路ＬＡＴ１に保持される。この結果、非書き込みデータの場合、ラッチ回路ＬＡＴ１のノードＩＮＶがＬレベルに設定され、書き込みデータの場合、ラッチ回路ＬＡＴ１のノードＩＮＶがＨレベルに設定される。この後、前述したように、書き込み動作が実行される。
【００７３】
この書き込み動作の間に、次のワード線に接続されたメモリセルに書き込まれるデータが、データラッチ回路３ＤＬ、４ＤＬにロードされる。
【００７４】
図６に示すように、書き込みベリファイレベルは、それぞれの閾値分布に対して、次の書き込みデータの数だけ用意されている。すなわち、書き込みデータ“０１”に対して、ベリファイレベルＡ−１、Ａ−２、Ａ−３が用意され、書き込みデータ“１０”に対して、ベリファイレベルＢ−１、Ｂ−２、Ｂ−３が用意され、書き込みデータ“００”に対して、ベリファイレベルＣ−１、Ｃ−２、Ｃ−３が用意されている。これらベリファイレベルは、次の書き込みデータに対応して、隣接結合容量の補整値分高く設定されている。これらのベリファイレベルを用いてメモリセルの閾値電圧がベリファイされる。
【００７５】
図７は、書き込みデータ“０１”に対するベリファイ動作を示し、図８は、書き込みデータ“１０”に対するベリファイ動作を示し、図９は、書き込みデータ“００”に対するベリファイ動作を示している。これらベリファイ動作は同様であるため、図７を用いてその動作を説明し、図８、図９において、図７と同一部分には、同一符号に“ａ”に代わり“ｂ”“ｃ”を付して説明を省略する。
【００７６】
図７に示すように、データ“０１”に対応するベリファイ動作は、先ず、最も低いベリファイレベルＡ−１が選択ワード線に供給される。このベリファイレベルＡ−１を用いて上述したようにベリファイ動作が行われる（Ｓ１１ａ）。
【００７７】
ベリファイの結果、ベリファイレベルＡ−１より高い閾値電圧を持っている集合のうち、次のワード線に接続されたメモリセルの書き込みデータが“００”、つまり、最も高い閾値電圧を有するメモリセルかどうかが判別される（Ｓ１２ａ）。
【００７８】
この判別は、前記データラッチ回路３ＤＬ、４ＤＬにロードされたデータを用いて行われる。尚、前述したように、ベリファイの結果、“ベリファイパス”である場合、図３に示すセンスアンプユニット３ａのラッチ回路ＬＡＴ１のノードＩＮＶがＬレベルとなっている。このとき、次のデータが“００”であり、ベリファイパスであることは、例えば次の条件により検出される。
【００７９】
／３ＤＬ＆／４ＤＬ＆ＬＡＴ１
ここで、“／”は反転データを示し、“＆”は論理積“ＡＮＤ”を示している。すなわち、上記の場合、データラッチ回路２ＤＬの反転データと、データラッチ回路３ＤＬの反転データとラッチ回路ＬＡＴ１のデータの論理積をとることを意味している。この演算は、上記データ制御ユニット３ｂの基本動作を組み合わせることにより実行される。この演算結果は、ラッチ回路ＬＡＴ３に保持される。この動作の後、ベリファイパスである場合、ＬＡＴ３にＨレベルが保持され、それ以外はＬレベルが保持される。
【００８０】
次に、上記条件でベリファイパスした場合、このメモリセルに対して書き込む必要がない。このため、このメモリセルに対応するデータラッチ回路０ＤＬ、１ＤＬ、２ＤＬに非書き込みデータをセットする必要がある。この際、それ以外の条件のメモリセルに対応するデータラッチ回路０ＤＬ、１ＤＬ、２ＤＬに非書き込みデータをセットしてはならないため、それをケアしたセットが必要となる。
【００８１】
すなわち、先ず、バス４１にデータラッチ回路０ＤＬのデータの反転データがロードされる。次に、信号ＢＵＳＬ１がＨレベルとされ、ラッチ回路ＬＡＴ３のノードＬＡＴがＨレベルの場合だけ、放電パスができるようにする。このとき、ノードＬＡＴがＨレベルであれば、いかなるデータであっても、バス４１はＬレベルに設定される。この反転データ、すなわち、Ｈレベルがデータとしてラッチされる。このため、データラッチ回路０ＤＬは、ベリファイパスというデータがセットされる。
【００８２】
一方、まだベリファイパスしていないメモリセル、あるいは判定条件と違うデータは、バス４１に対して放電パスが形成されない。このため、データの反転状態がそのままバス４１に残ることになる。これを反転してロードすることにより、データラッチ回路０ＤＬには、元のデータがそのまま保持される。
【００８３】
上記動作により、（／３ＤＬ＆／４ＤＬ＆ＬＡＴ１）｜０ＤＬ−＞０ＤＬという動作が完了したこととなる。ここで、“｜”は、論理和“ＯＲ”を示している。すなわち、（／３ＤＬ＆／４ＤＬ＆ＬＡＴ１）又は０ＤＬのデータが０ＤＬに保持される。
【００８４】
データラッチ回路１ＤＬと２ＤＬについても、データラッチ回路０ＤＬと同様の動作が実行される。
【００８５】
（／３ＤＬ＆／４ＤＬ＆ＬＡＴ１）｜１ＤＬ−＞１ＤＬ
（／３ＤＬ＆／４ＤＬ＆ＬＡＴ１）｜２ＤＬ−＞２ＤＬ
すなわち、（／３ＤＬ＆／４ＤＬ＆ＬＡＴ１）又は１ＤＬのデータが１ＤＬに保持され、（／３ＤＬ＆／４ＤＬ＆ＬＡＴ１）又は２ＤＬのデータが２ＤＬに保持される。
【００８６】
全ての動作が完了すると、ベリファイがパスしたメモリセルに対応するデータラッチ回路０ＤＬ〜２ＤＬは全てＨレベルとなり、書き込みが完了したこととなる。
【００８７】
上記判別の結果、次の書き込みデータが“００”ではない場合、及びベリファイレベルＡ−１の結果が採用された場合、ベリファイレベルＡ−２によるベリファイ動作が行われる（Ｓ１４ａ）。すなわち、ベリファイレベルＡ−２が選択ワード線に供給され、ベリファイ動作が行われる。この後、上述したようにして、次の書き込みデータが“１０”であるかどうかが判別され（Ｓ１５ａ）、“１０”である場合、ベリファイレベルＡ−２の結果が採用される（Ｓ１６ａ）。
【００８８】
すなわち、次のような動作が行われる。
【００８９】
（３ＤＬ＆／４ＤＬ＆ＬＡＴ１）｜０ＤＬ−＞０ＤＬ
（３ＤＬ＆／４ＤＬ＆ＬＡＴ１）｜１ＤＬ−＞１ＤＬ
（３ＤＬ＆／４ＤＬ＆ＬＡＴ１）｜２ＤＬ−＞２ＤＬ
この結果、ベリファイパスであるメモリセルに対応するデータラッチ回路０ＤＬ〜２ＤＬは全てＨレベルとなる。
【００９０】
一方、まだベリファイパスしていないメモリセル、あるいは判定条件と違うデータは、バス４１に対して放電パスが形成されない。このため、データの反転状態がそのままバス４１に残ることになる。これを反転してロードすることにより、データラッチ回路０ＤＬ〜２ＤＬには、元のデータがそのまま保持される。
【００９１】
以下、同様にして、ベリファイレベルＡ−３、Ａ−４を用いたベリファイ動作、及び次の書き込みデータ“０１”“１１”に応じた動作が実行される（Ｓ１７ａ〜Ｓ２２ａ）。
【００９２】
上記判別の結果、次の書き込みデータが“１０”ではない場合、及びベリファイレベルＡ−２の結果が採用された場合、ベリファイレベルＡ−３によるベリファイ動作が行われる（Ｓ１７ａ）。すなわち、ベリファイレベルＡ−３が選択ワード線に供給され、ベリファイ動作が行われる。
【００９３】
この後、次の書き込みデータが“０１”であるかどうかが判別される（Ｓ１８ａ）。この結果、次の書き込みデータが“０１”である場合、ベリファイレベルＡ−３のベリファイ結果が採用される（Ｓ１９ａ）。
【００９４】
上記判別の結果、次の書き込みデータが“０１”ではない場合、及びベリファイレベルＡ−３の結果が採用された場合、ベリファイレベルＡ−４によるベリファイ動作が行われる（Ｓ２０ａ）。すなわち、ベリファイレベルＡ−４が選択ワード線に供給され、ベリファイ動作が行われる。
【００９５】
この後、次の書き込みデータが“１１”であるかどうかが判別される（Ｓ２１ａ）。この結果、次の書き込みデータが“１１”である場合、ベリファイレベルＡ−４のベリファイ結果が採用される（Ｓ２２ａ）。
【００９６】
上記のようにして、ベリファイレベルＡのベリファイ動作が終了される。
【００９７】
次に、ベリファイレベルＡと同様にして、図８に示すベリファレベルＢのベリファイ動作が行われ、この後、図９に示すベリファイレベルＣのベリファイ動作が実行される。
【００９８】
上記各ベリファイレベルＡ、Ｂ、Ｃを用いたベリファイ動作の結果、ベリファイがパスしない場合、プログラム電圧が僅かに増加されて、再度書き込み動作が行われる。この後、上記各ベリファイレベルＡ、Ｂ、Ｃを用いたベリファイ動作が実行される。このような動作が、選択された全てのメモリセルがベリファイパスとなるまで繰り返される。
【００９９】
上記第１の実施形態によれば、書き込み動作中に、次に書き込むデータをデータラッチ回路２ＤＬ、３ＤＬにロードし、次に書き込むデータに応じたベリファイレベルを用いたベリファイ動作において、ベリファイ結果が次に書き込むデータと一致している場合、ベリファイをパスとして、ベリファイ結果を採用している。このように、次に書き込むデータが高い閾値電圧に対応する場合、隣接容量結合によるシフトは当然大きいものと考えられる。このため、低めのベリファイレベルでベリファイし、隣接容量結合の高い順に、閾値電圧を低く書き込んでいる。したがって、次のワード線により選択されるメモリセルにデータを書き込んだことによる閾値電圧のシフト分を予め相殺することができる。
【０１００】
図１０は、第１の実施形態に係る容量結合の補償を行った後の閾値電圧分布を示している。破線で示す各ベリファイレベルにおいて、次の書き込みデータに対応した各閾値電圧分布を合わせることにより、次の書き込みデータによる容量結合の依存性を除くことができる。したがって、次の書き込みデータに係わらず、各データの閾値電圧分布を破線で示す各ベリファイレベルに揃えることができる。このため、データ“０１”“１０”“１１”の読み出しにおいて、各データに対応した閾値電圧分布と各読み出しレベルマージンを揃えることができる。したがって、読み出し誤りを防止できる。
【０１０１】
（第２の実施形態）
図１１、図１２、図１３、図１４は、第２の実施形態を示している。第２の実施形態は、第１の実施形態よりベリファイ回数を削減して、プログラム時間を短縮する手法の例を示している。図１１乃至図１４において、第１の実施形態と同一部分には同一符号を付し、異なる部分について説明する。
【０１０２】
第１の実施形態におけるベリファイ手法は、次のワード線に接続されたメモリセルに書き込まれる全てのデータに対応してベリファイを行った。これによるとベリファイ回数が次に書き込まれるデータの数だけ必要となるため、プログラム及びベリファイ時間が長くなり現実的ではない。
【０１０３】
そこで、第２の実施形態は、次のワード線に接続されたメモリセルに書き込まれるデータのうち、隣接容量結合の度合いの大きいペアを纏めてベリファイすることにより、ベリファイ時間を削減する。すなわち、次のワード線に接続されたメモリセルに書き込まれるデータのうち、“１１”と“０１”、“１０”と“００”のペアは、閾値電圧の変動が近い。このため、これらペアに基づき、各データに応じたベリファイレベルを設定し、ベリファイする。
【０１０４】
具体的には、図１１に示すように、本実施形態のビットアサインの場合、“１１”と“０１”のペアと、“１０”と“００”のペアは、ロアービット(lower bit)データが“１”と“０”に分けることができる。そこで、第２の実施形態において、例えばデータ“０１”を書き込む場合において、先ず、ベリファイレベルＡ−１を用いてベリファイされ、次いで、ベリファイレベルＡ−３を用いてベリファイされる。また、データ“１０”を書き込む場合において、先ず、ベリファイレベルＢ−１を用いてベリファイされ、次いで、ベリファイレベルＢ−３を用いてベリファイされる。さらに、データ“００”を書き込む場合において、先ず、ベリファイレベルＣ−１を用いてベリファイされ、次いで、ベリファイレベルＣ−３を用いてベリファイされる。
【０１０５】
図１２乃至図１４は、第２の実施形態に係るベリファイ動作を示している。第２の実施形態も第１の実施形態と同様に、次のワード線に接続されたメモリセルに書き込まれるデータの隣接結合容量による影響が大きい方がより低く書き込まれる。
【０１０６】
図１２、図１１に示すように、データ“０１”に対応するベリファイ動作は、先ず、最も低いベリファイレベルＡ−１が選択ワード線に供給される。このベリファイレベルＡ−１を用いて上述したようにベリファイ動作が行われる（Ｓ１１ａ）。
【０１０７】
ベリファイの結果、ベリファイレベルＡ−１より高い閾値電圧を持っている集合のうち、次のワード線に接続されたメモリセルの書き込みデータのロワービットが“０”かどうか前述したような動作により判別される（Ｓ３１ａ）。
【０１０８】
上記条件でベリファイパスした場合、このメモリセルに対して書き込む必要がない。このため、このメモリセルに対応するデータラッチ回路０ＤＬ、１ＤＬ、２ＤＬに非書き込みデータがセットされる。
【０１０９】
一方、まだベリファイパスしていないメモリセル、あるいは判定条件と違うデータの場合、データラッチ回路０ＤＬ、１ＤＬ、２ＤＬには、元のデータがそのまま保持される。
【０１１０】
上記判別の結果、次の書き込みデータのロワービットが“０”ではない場合、及びベリファイレベルＡ−１の結果が採用された場合、ベリファイレベルＡ−３によるベリファイ動作が行われる（Ｓ１７ａ）。すなわち、ベリファイレベルＡ−３が選択ワード線に供給され、ベリファイ動作が行われる。この後、上述したようにして、次の書き込みデータのロワービットが“１”であるかどうかが判別され（Ｓ３２ａ）、“１”である場合、ベリファイレベルＡ−３の結果が採用される（Ｓ１９ａ）。
【０１１１】
上記条件でベリファイパスした場合、このメモリセルに対して書き込む必要がない。このため、このメモリセルに対応するデータラッチ回路０ＤＬ、１ＤＬ、２ＤＬに非書き込みデータがセットされる。
【０１１２】
一方、まだベリファイパスしていないメモリセル、あるいは判定条件と違うデータの場合、データラッチ回路０ＤＬ、１ＤＬ、２ＤＬには、元のデータがそのまま保持される。
【０１１３】
上記のようにして、ベリファイレベルＡのベリファイ動作が終了される。
【０１１４】
次に、ベリファイレベルＡと同様にして、図１３に示すベリファレベルＢのベリファイ動作が行われ、この後、図１４に示すベリファイレベルＣのベリファイ動作が実行される。
【０１１５】
上記第２の実施形態によれば、第１の実施形態に比べてベリファイレベルを削減できる。このため、ベリファイ時間を短縮でき、第１の実施形態に比べて高速な書き込みが可能となる。
【０１１６】
（第３の実施形態）
図１５乃至図２１は、第３の実施形態を示している。第３の実施形態は、第２の実施形態よりさらに高速な書き込みを可能とする隣接結合容量の補償手法である。
【０１１７】
第３の実施形態は、第１、第２の実施形態のように、各書き込みデータ“０１”“１０”“００”にそれぞれ対応して複数のベリファイレベルを設定するのではなく、各書き込みデータ“０１”“１０”“００”に対応して唯一のベリファイレベルを設定する。このベリファイレベルによるベリファイ動作の後、次のワード線に接続されたメモリセルに書き込まれるデータによる隣接結合容量の度合いを“残りのプログラム電圧印加回数”すなわち、“残りの書き込み回数”という概念に変換することで補償する。
【０１１８】
例えば図１５に示すように、次のワード線に接続されたメモリセルの書き込みデータが“１１”の場合、閾値電圧のシフト無し、次の書き込みデータが“０１”の場合、プログラム１回分閾値電圧がシフトするとし、次の書き込みデータが“１０”の場合、プログラム２回分閾値電圧がシフトするとし、次の書き込みデータが“００”の場合、プログラム３回分の閾値電圧がシフトするとする。
【０１１９】
この場合、次のワード線に接続されたメモリセルの書き込みデータが“１１”の場合、ベリファイ後の残りのプログラム（書き込み）回数が３回と設定され、次の書き込みデータが“０１”の場合、残りのプログラム回数が２回と設定され、次の書き込みデータが“１０”の場合、残りのプログラム回数が１回と設定され、次の書き込みデータが“００”の場合、残りのプログラム回数が０回と設定される。このように、残りの書き込み回数をコントロールすることにより、それぞれの容量結合に応じた閾値電圧のシフト量を補償することができる。
【０１２０】
図１６（ａ）（ｂ）は、データ変換動作に伴うデータの意味の変化を示している。図１６（ａ）は、データラッチ回路１ＤＬ、２ＤＬに保持された変換前の書き込みデータを示し、図１６（ｂ）は、データラッチ回路１ＤＬ、２ＤＬに保持された変換後のプログラム回数データを示している。変換後において、データラッチ回路１ＤＬ、２ＤＬのデータ“１１”は書き込み完了を示し、データラッチ回路１ＤＬ、２ＤＬのデータ“１０”は残りプログラム回数１回を示し、データラッチ回路１ＤＬ、２ＤＬのデータ“０１”は残りプログラム回数２回を示し、データラッチ回路のデータ“００”は残りプログラム回数３回を示している。
【０１２１】
図１７は、第３の実施形態の書き込みシーケンスの一例を示している。図１７を参照して第３の実施形態の書き込みシーケンスについて概略的に説明する。
【０１２２】
先ず、書き込みデータがデータラッチ回路１ＤＬ、２ＤＬにロードされる。この後、ロック（Ｌｏｃｋ）の期間において、データラッチ回路０ＤＬが非書き込み状態を示すデータ“０”に設定されるとともに、データラッチ回路１ＤＬ、２ＤＬに保持されたデータが前述したように操作され、センスアンプユニット３ａに設定される。次いで、選択ワード線に書き込み電圧（プログラム電圧）が印加され、第１のプログラム動作が実行される。この書き込み動作の期間に、次のワード線に接続されたメモリセルに対する書き込みデータが、データラッチ回路３ＤＬ、４ＤＬにロードされる。
【０１２３】
書き込み動作が終了した後、ベリファイレベルＡによりベリファイ動作が行われる（Verify A）。次いで、ＯｐＡの期間において、データラッチ回路３ＤＬ、４ＤＬに保持された次の書き込みデータに基づき、データラッチ回路１ＤＬ、２ＤＬの書き込みデータが残りの書き込み回数に変換される。
【０１２４】
この後、ベリファイレベルＢによりベリファイ動作が行われる（Verify B）。次いで、ＯｐＢの期間において、データラッチ回路３ＤＬ、４ＤＬに保持された次の書き込みデータに基づき、データラッチ回路１ＤＬ、２ＤＬの書き込みデータが残りの書き込み回数に変換される。
【０１２５】
さらに、ベリファイレベルＣによりベリファイ動作が行われる（Verify C）。次いで、ＯｐＣの期間において、データラッチ回路３ＤＬ、４ＤＬに保持された次の書き込みデータに基づき、データラッチ回路１ＤＬ、２ＤＬの書き込みデータが残りの書き込み回数に変換される。
【０１２６】
このように、データラッチ回路１ＤＬ、２ＤＬのデータが残りの書き込み回数に変換された後、Ｌｏｃｋ期間において、データラッチ回路１ＤＬ、２ＤＬのデータがセンスアンプユニットに設定される。
【０１２７】
この後、選択ワード線に書き込み電圧が印加され、第２のプログラム動作（プログラム２）が実行される。この後、ＳＵＢ期間において、データラッチ回路１ＤＬ、２ＤＬの残り書き込み回数から“１”が減算される。次いで、データラッチ回路１ＤＬ、２ＤＬのデータがセンスアンプユニットに設定され、図示せぬ第３のプログラム動作が実行される。このように、プログラム動作が実行される毎に、データラッチ回路１ＤＬ、２ＤＬの残り書き込み回数がマイナス“１”される。この動作は、全てのデータラッチ回路１ＤＬ、２ＤＬのデータが“１１”となるまで繰り返される。
【０１２８】
次に、図１８乃至図２１を参照して、第３の実施形態の動作についてさらに説明する。
【０１２９】
図１８は、上記プログラム、ベリファイ動作に伴うデータラッチ回路０ＤＬ〜４ＤＬのデータの変化の様子を示している。図１８は、４つのカラムＸ、Ｙ、Ｚ、Ｗを例として示している。ここで、データラッチ回路０ＤＬは、データ変換用フラグを保持するものとする。また、書き込みデータのアッパービット（upper bit）はデータラッチ回路２ＤＬに保持され、ロワービットは１ＤＬに保持されているとする。次の書き込みデータのアッパービットはデータラッチ回路４ＤＬに保持され、ロワービットはデータラッチ回路３ＤＬに保持されているとする。
【０１３０】
図１８（ａ）はプログラム前の各データラッチ回路の内容を示している。図１８（ａ）において、各カラムの書き込みデータは全て“０１”であり、次の書き込みデータがカラムＸ、Ｙ、Ｚ、Ｗに対応して“１１”“１０”“０１”“００”に設定されている。この状態において、前述したように、第１のプログラム動作（プログラム１）が行われ、ベリファレベルＡ、Ｂ、Ｃによるベリファイ動作、及びデータ変換動作が行われる。
【０１３１】
図１９は、ベリファイレベルＡによるベリファイ及びデータ変換動作を示し、図２０は、ベリファイレベルＢによるベリファイ及びデータ変換動作を示し、図２１は、ベリファイレベルＣによるベリファイ及びデータ変換動作を示している。図１９乃至図２１において、同様の動作部分には同一符号に添え字“ａ”“ｂ”“ｃ”を付して示している。ここでは、図１９に示すベリファイレベルＡについての動作を具体的に説明する。
【０１３２】
第１のプログラム動作が終了すると、ベリファイレベルＡによるベリファイ動作が実行される（Ｓ４１ａ）。ベリファイが完了すると、図１８（ｂ）に示すように、全てのデータラッチ回路０ＤＬのデータが“１”とされる。
【０１３３】
次に、ベリファイレベルＡより高い閾値電圧を有する集合に対して、次の書き込みデータが“００”であるかどうかが判別される（Ｓ４２ａ）。この結果、次の書き込みデータが“００”である場合、データラッチ回路１ＤＬ、２ＤＬに保持された書き込みデータが、書き込み完了データに変換される（Ｓ４３ａ）。すなわち、データラッチ回路３ＤＬ、４ＤＬのデータが反転され、データラッチ回路１ＤＬ、２ＤＬにそれぞれラッチされる。具体的には、カラムＷのように、次のデータが“００”である場合、このデータ“００”が反転されてデータラッチ回路１ＤＬ、２ＤＬにデータ“１１”としてラッチされる。データ“１１”は、残りのプログラム回数が０回であるため、書き込み完了に変換されたこととなる（Ｓ４３ａ）。
【０１３４】
また、次のデータが“１０”である場合（Ｓ４４ａ）、このデータ“１０”が反転されてデータラッチ回路１ＤＬ、２ＤＬにデータ“０１”としてラッチされる。このため、残りのプログラム回数が１回であることを示すデータに変換されたこととなる（Ｓ４５ａ）。
【０１３５】
また、次のデータが“０１”である場合（Ｓ４６ａ）、このデータ“０１”が反転されてデータラッチ回路１ＤＬ、２ＤＬにデータ“１０”としてラッチされる。このため、残りのプログラム回数が２回であることを示すデータに変換されたこととなる（Ｓ４７ａ）。
【０１３６】
また、次のデータが“１１”である場合（Ｓ４８ａ）、このデータ“１１”が反転されてデータラッチ回路１ＤＬ、２ＤＬにデータ“００”としてラッチされる。このため、残りのプログラム回数が３回であることを示すデータに変換されたこととなる（Ｓ４９ａ）。
【０１３７】
次に、図２０に示すベリファイレベルＢに基づくベリファイ動作が、ベリファイレベルＡと同様に行われ、この後、データ変換動作が実行される。次いで、図２１に示すベリファイレベルＣに基づくベリファイ動作が、ベリファイレベルＡと同様に行われ、この後、データ変換動作が実行される。
【０１３８】
上記のようにデータ変換動作が終了した後、変換されたデータラッチ回路１ＤＬ、２ＤＬのデータに基づき、図１８に示すように、第２回目のプログラム（プログラム２）が行われる。この後、図１８（ｃ）に示すように、各データラッチ回路１ＤＬ、２ＤＬの残りの書き込み回数から“１”が減算される。この減算動作は、例えばデータラッチ回路３ＤＬ、４ＤＬに保持された次の書き込みデータを反転して、データラッチ回路１ＤＬ、２ＤＬのデータと論理和をとることにより実現できる。
【０１３９】
このようにして、残りの書き込み回数が更新された後、第３のプログラム動作（プログラム３）が実行される。この後、図１８（ｄ）に示すように、各データラッチ回路１ＤＬ、２ＤＬの残りの書き込み回数から“１”が減算される。
【０１４０】
上記のように、書き込み動作が行われる毎に、残りの書き込み回数が減算され、全てのデータラッチ回路１ＤＬ，２ＤＬのデータが“１１”となるまで上記動作が繰り返される。
【０１４１】
上記第３の実施形態によれば、書き込みデータ“０１”“１０”“００”にそれぞれ対応する３つのベリファイレベルを用いてベリファイし、隣接結合容量の度合いを残りの書き込み回数（書き込み電圧印加回数）に変換し、プログラム動作後、この残りの書き込み回数を減算し、プログラム、ベリファイを制御している。このため、第１、第２の実施形態に比べてさらにベリファイレベルを削減でき、ベリファイ回数を低減できる。したがって、書き込み速度を高速化することが可能である。
【０１４２】
尚、第３の実施形態において、残りのプログラム回数は、１回、２回、３回というように、整数倍に設定した。しかし、これに限定されるものではなく、例えば書き込み時のビット線の電位を制御することにより、残りのプログラム回数を少数倍に設定することも可能である。このように、少数倍に設定することにより、より高精度のプログラムが可能となる。この具体例については後述する。
【０１４３】
（第４の実施形態）
図２２は、第４の実施形態を示している。第４の実施形態は第３の実施形態を変形したものである。第３の実施形態は、書き込みデータ“０１”“１０”“００”にそれぞれ対応する３つのベリファイレベルを用いてベリファイした。これに対して、第４の実施形態は、３つの書き込みデータ“０１”“１０”“００”に対して１つのベリファイレベルを設定してベリファイし、この後、書き込みデータ及び次の書き込みデータに基づき、書き込みデータを残りの書き込み回数に変換する。
【０１４４】
すなわち、図２２に示すように、３つの書き込みデータ“０１”“１０”“００”に対して１つのベリファイレベルＡが設定され、このベリファイレベルＡを用いて３つの書き込みデータ“０１”“１０”“００”に対応する閾値電圧がベリファイされる。書き込みデータ“０１”“１０”“００”に対して、次の書き込みデータが“１１”“０１”“１０”“００”である場合の閾値電圧のシフトをプログラム回数で示すと、図２２に示すようになる。
【０１４５】
すなわち、書き込みデータ“０１”において、次の書き込みデータが“１１”の場合、プログラム回数０回分シフトし、次の書き込みデータが“０１”の場合、プログラム回数１回分シフトし、次の書き込みデータが“１０”の場合、プログラム回数２回分シフトし、次の書き込みデータが“００”の場合、プログラム回数３回分シフトするとする。
【０１４６】
書き込みデータ“１０”において、次の書き込みデータが“１１”の場合、プログラム回数６回分シフトし、次の書き込みデータが“０１”の場合、プログラム回数７回分シフトし、次の書き込みデータが“１０”の場合、プログラム回数８回分シフトし、次の書き込みデータが“００”の場合、プログラム回数９回分シフトするとする。
【０１４７】
書き込みデータ“００”において、次の書き込みデータが“１１”の場合、プログラム回数１２回分シフトし、次の書き込みデータが“０１”の場合、プログラム回数１３回分シフトし、次の書き込みデータが“１０”の場合、プログラム回数１４回分シフトし、次の書き込みデータが“００”の場合、プログラム回数１５回分シフトするとする。
【０１４８】
上記仮定に基づき、書き込みデータと次の書き込みデータに基づき、書き込みデータと次の書き込みデータが残りの書き込み回数に変換される。
【０１４９】
図２３は、第４の実施形態の書き込みシーケンスの一例を示し、図２４は、データ変換動作の一例を示している。
【０１５０】
第４の実施形態において、非書き込みデータの場合、データラッチ回路０ＤＬ〜４ＤＬが全て“１”にリセットされる。このため、プログラム動作の前に、書き込みデータや次の書き込みデータが、データラッチ回路１ＤＬ〜４ＤＬにロードされている必要がある。このデータロード、及び非書き込みデータの場合に対応するデータラッチ回路０ＤＬ〜４ＤＬを全て“１”にリセットする動作は、Ｌｏｃｋ期間より前のＣｏｎｖ期間において実行される。
【０１５１】
図２４（ａ）は、Ｃｏｎｖ期間後のデータラッチ回路０ＤＬ〜４ＤＬを示している。データラッチ回路１ＤＬ、２ＤＬのデータが“１１”で、データラッチ回路３ＤＬ、４ＤＬのデータが“１１”、すなわち、非書き込みの場合、データラッチ回路０ＤＬのデータがベリファイパスを示す“１”に設定される。その他のデータラッチ回路０ＤＬ〜４ＤＬには、書き込みデータ、及び次の書き込みデータが保持されている。
【０１５２】
この後、Ｌｏｃｋ期間において、データラッチ回路１ＤＬ、２ＤＬの書き込みデータがセンスアンプユニットに設定される。次に、選択ワード線にプログラム電圧が印加されて第１のプログラム動作（プログラム１）が実行される。
【０１５３】
次いで、ベリファイレベルＡによりベリファイ動作が実行される。ベリファイ動作の結果、ベリファイをパスしたメモリセルのデータは次の書き込みデータに基づいて、残りの書き込み回数（残りの書き込み電圧印加動作の回数）に変換される。
【０１５４】
すなわち、図２４（ｂ）に示すように、先ず、ＯｐＡにおいて、書き込みデータ“０１”に対して変換動作が行われ、次にＯｐＢにおいて、書き込みデータ“１０”に対して変換動作が行われ、最後に、“ＯｐＣ”において、書き込みデータ“００”に対して変換動作が行われる。この結果、ＯｐＣに示すように、データラッチ回路１ＤＬ、２ＤＬに保持されたデータと、データラッチ回路３ＤＬ、４ＤＬに保持されたデータに基づき、残りの書き込み回数がデータラッチ回路１ＤＬ、２ＤＬ、３ＤＬ、４ＤＬに設定される。すなわち、残り１５回の書き込み回数が４ビットのデータで表されている。
【０１５５】
このように、データ変換動作が実行された後、Ｌｏｃｋ期間において、データラッチ回路１ＤＬ、２ＤＬがセンスアンプユニット３ａに設定され、第２のプログラム動作（プログラム２）が実行される。
【０１５６】
第２のプログラム動作の後、ＳＵＢ期間において、上記残りの書き込み回数から“１”が減算される。このプログラム動作と減算動作が、全てのデータラッチ回路０ＤＬ〜４ＤＬのデータが“１”となるまで繰り返し実行される。
【０１５７】
上記第４の実施形態によれば、ベリファイレベルを１つとすることができる。このため、ベリファイ時間を短縮することができ、一層書き込み動作を高速化することが可能である。
【０１５８】
（第５の実施形態）
図２５、図２６、図２７は、第５の実施形態を示している。第５の実施形態は、第３の実施形態の変形例である。第３の実施形態は、１つのメモリセルに２ビットのデータを書き込む場合について説明した。これに対して、第５の実施形態は、１つのメモリセルに３ビットのデータを書き込む場合を示している。
【０１５９】
図２５は、隣接した異なるワード線にそれぞれ接続されたメモリセル“ａ”“ｂ”“ｃ”“ｄ”に対するデータの書き込み順序を示している。
【０１６０】
図２５に示すように、第５の実施形態の場合、（１）において、メモリセル“ａ”に３ビットのデータが書き込まれる。この後、（２）において、次のワード線に接続されたメモリセル“ｂ”に３ビットのデータが書き込まれる。次いで、（３）において、次のワード線に接続されたメモリセル“ｃ”に３ビットのデータを書き込まれる。この後、（４）において、次のワード線に接続されたメモリセル“ｄ”に３ビットのデータが書き込まれる。
【０１６１】
図２６（ａ）において、（１）は、メモリセル“ａ”に３ビットのデータを書き込んだ場合における閾値電圧分布を示している。ＶＡ、ＶＢ〜ＶＧは、それぞれベリファイレベルを示している。
【０１６２】
図２６（ａ）（ｂ）において、（２）は、次のワード線に接続されたメモリセル“ｂ”に３ビットのデータを書き込んだ場合における、メモリセル“ａ”の閾値電圧分布を示している。このように、メモリセル“ａ”に対して次のワード線に接続されたメモリセルメモリセル“ｂ”にデータが書き込まれることにより、容量結合により、メモリセル“ａ”の閾値電圧分布が本来のレベルに分布する。
【０１６３】
図２６（ｂ）は、図２６（ａ）の一部を拡大したものである。
【０１６４】
第５の実施形態の場合、８値のデータを保持するため、７つのデータラッチ回路を必要とする。また、３ビットのデータは同時に書き込まれ、データ変換動作により、残りの書き込み回数が最大７回設定され、書き込み動作が実行される。
【０１６５】
図２７は、第５の実施形態の書き込み順序を示しており、図２５と同一部分には同一符号を付している。図２７は書き込みデータの順序の推移を示しており、０ＤＬから５ＤＬに対応した記載された番号、例えば“０”〜“５ｂ”〜“e１４”は、それぞれ図２５のページ番号を意味し、“ａ”，“ｂ”，“ｃ”などのアルファベットは各セルを意味する。例えば、５ＤＬの最初に格納されているデータ“a０”は、セル“ａ”の最下位ビット（ページ０）、“a１”は、セル“ａ”の次のビット（ページ１）ということを意味している。
【０１６６】
このように、各書き込みデータの閾値電圧分布を最大の容量結合に合わせることにより、次のワード線に接続されたメモリセルにデータが書き込まれることにより、閾値電圧分布を本来のレベルに設定することができる。
【０１６７】
第５の実施形態によれば、隣接セルの結合容量を補償して３ビットのデータを高精度に書き込むことができる。
【０１６８】
（第６の実施形態）
図２８、図２９は、第６の実施形態を示している。第６の実施形態は、第５の実施形態の変形例である。第５の実施形態は、隣接するワード線を順次選択してメモリセルに３ビットのデータを１度に書き込んだ。
【０１６９】
これに対して、第６の実施形態は、図２８に示すように、１つのメモリセルに２回に分けて３ビットのデータを書き込んでいる。すなわち、先ず、（１）において、メモリセル“ａ”に３ビットのデータが書き込まれる。この後、（２）において、次のワード線に接続されたメモリセル“ｂ”に３ビットのデータが書き込まれる。次いで、（３）において、メモリセル“ａ”に３ビットのデータが再度書き込まれる。この後、（４）において、メモリセル“ａ”が接続されたワード線から２つ離れたワード線に接続されたメモリセル“ｃ”に３ビットのデータが書き込まれる。この後、（５）において、メモリセル“ａ”が接続されたワード線の隣のワード線に接続されたメモリセル“ｂ”に３ビットのデータが書き込まれる。
【０１７０】
図２９は、メモリセル“ａ”の閾値電圧分布の変化を示している。（１）において、先ずメモリセル“ａ”に３ビットのデータが書き込まれる。第５の実施形態において、残りの書き込み回数は、最大７回に設定されたが、第６の実施形態の場合、最大３回に設定される。この後、残りの書き込み動作が実行され、おおよそのレベルに閾値電圧が設定される。
【０１７１】
次に、（２）において、メモリセル“ｂ”が書き込まれると、容量結合により、閾値電圧分布がシフトする。
【０１７２】
この後（３）において、再度メモリセル“ａ”に対して３ビットのデータにより書き込み動作が実行される。この場合、前記ベリファイレベルＶＡ、Ｖｂ…ＶＧよりそれぞれ若干高いベリファイレベルＶＡ＋α、Ｖｂ＋α…ＶＧ＋αが用いられる。
【０１７３】
次いで、（４）において、メモリセル“ｂ”に２回目の書き込みが行われると、容量結合により、メモリセル“ａ”の閾値電圧分布が本来のレベルにシフトする。
【０１７４】
図３０は、第６の実施形態の書き込み順序を示しており、図２８と同一部分には同一符号を付している。図３０において、各ラッチ回路０ＤＬ〜５ＤＬに対応して記載された“a０”などの記号の意味は、図２７と同様である。
【０１７５】
また、図３１は、１回目のプログラム及びベリファイシーケンスを示し、図３２は、２回目のプログラム及びベリファイシーケンスを示している。
【０１７６】
図３１に示すように、書き込みの初期においては、閾値電圧の高いほうは書かれていないため、高いほうのベリファイは省略されている。書き込みが進むに従って、ベリファイ動作が増加する。また、書き込みの終盤において、閾値電圧の低いほうは、既に書かれているため、低いほうのベリファイが省略されている。
【０１７７】
図３２に示す２回目のプログラム及びベリファイシーケンスも同様の動作であるが、最初の書き込み時のみ、全てのベリファイが行われている。
【０１７８】
上記第６の実施形態によれば、１つのメモリセルに対するデータの書き込みを、隣接セルの容量結合を考慮して２回行っている。このため、メモリセルに各閾値電圧分布を高精度の設定することができる。
【０１７９】
（第７の実施形態）
図３３、図３４は、第７の実施形態を示している。第７の実施形態は、第４の実施形態の変形例である。第４の実施形態は、１つのベリファイレベルを用いて２ビットのデータに対応する閾値電圧をベリファイし、この後、書き込みデータと次の書き込みデータを残りの書き込み回数に変換した。
【０１８０】
これに対して、第７の実施形態は、２つのベリファイレベルを用いて３ビットのデータに対応する閾値電圧をベリファイし、この後、書き込みデータと次の書き込みデータを残りの書き込み回数に変換する。
【０１８１】
また、第７の実施形態は、図３３に示すように、第６の実施形態と同様に、１つのメモリセルに２回に分けて３ビットのデータを書き込んでいる。すなわち、先ず、（１）において、メモリセル“ａ”に３ビットのデータが書き込まれる。この後、（２）において、次のワード線に接続されたメモリセル“ｂ”に３ビットのデータが書き込まれる。次いで、（３）において、メモリセル“ａ”に３ビットのデータが再度書き込まれる。この後、（４）において、メモリセル“ａ”が接続されたワード線から２つ離れたワード線に接続されたメモリセル“ｃ”に３ビットのデータが書き込まれる。この後、（５）において、メモリセル“ａ”が接続されたワード線の隣のワード線に接続されたメモリセル“ｂ”に３ビットのデータが書き込まれる。
【０１８２】
図３４は、メモリセル“ａ”の閾値電圧分布の変化を示している。（１）において、先ずメモリセル“ａ”に３ビットのデータが書き込まれる。この後、例えばベリファイレベルＶＡ、ＶＤを用いてベリファイされる。この結果、ベリファイがパスした場合、書き込みデータ及び次の書き込みデータが残りの書き込み回数に変換される。この場合、残りの書き込み回数は、第６の実施形態と同様に最大３回に設定される。このようにして、残りの書き込み動作が実行され、おおよそのレベルに閾値電圧が設定される。
【０１８３】
次に、（２）において、メモリセル“ｂ”が書き込まれると、容量結合により、閾値電圧分布がシフトする。
【０１８４】
この後、（３）において、再度メモリセル“ａ”に３ビットのデータにより書き込み動作が実行される。この場合、前記ベリファイレベルＶＡ、Ｖｂ…ＶＧよりそれぞれ若干高いベリファイレベルＶＡ＋α、Ｖｂ＋α…ＶＧ＋αが用いられる。
【０１８５】
次いで、（４）において、メモリセル“ｂ”に２回目の書き込みが行われると、容量結合により、メモリセル“ａ”の閾値電圧分布が本来のレベルにシフトする。
【０１８６】
上記第７の実施形態によれば、２つのベリファイレベルを用いて３ビットのデータを書き込むことができるため、ベリファイを高速化できる。しかも、残りの書き込み回数を最大３回に設定しているため、書き込み速度を高速化できる。
【０１８７】
また、１つのメモリセルに対するデータの書き込みを、隣接セルの容量結合を考慮して２回行っている。このため、メモリセルに各閾値電圧分布を高精度の設定することができる。
【０１８８】
（第８の実施形態）
上記各実施形態は、１つのＮＡＮＤユニット内において、隣接するワード線に接続されたメモリセルに書き込まれるデータによる容量結合を補償する場合について説明した。これに対して、第８の実施形態は、１つのワード線に接続された隣接セルに書き込まれるデータによる容量結合を補償する場合について説明する。
【０１８９】
尚、１つのメモリセルに書き込まれるデータは２ビットである場合について説明する。しかし、３ビット以上の場合においても適用可能である。
【０１９０】
図３５（ａ）は、同一のワード線に接続された３つのメモリセルの閾値電圧の関係を示している。例えばメモリセルＭＣｍにデータを書き込む場合において、このメモリセルＭＣｍの両隣のメモリセルＭＣｍ−１、ＭＣｍ＋１が共に消去状態“１１”である場合、メモリセルＭＣｍは、隣接結合容量による閾値電圧のシフトは生じない。
【０１９１】
一方、図３５（ｂ）に示すように、メモリセルＭＣｍの両隣のメモリセルＭＣｍ−１、ＭＣｍ＋１が共に消去状態より高い閾値電圧、例えば“００”である場合、メモリセルＭＣｍにデータを書き込む時、隣接結合容量により閾値電圧のシフトが生じる。
【０１９２】
第８の実施形態は、隣接カラムのメモリセルのデータに応じて、書き込み完了からさらに追加の書き込みを行うことにより、隣接セルの結合容量を補償する。しかし、隣接カラムのデータは、様々であるため、これらデータの関係により追加の書き込み回数が設定される。
【０１９３】
図３６は、隣接カラムのデータと追加書き込み回数の関係を示している。図３６に示すように、書き込み対象のメモリセルに隣接する２つのメモリセルのデータが共に“１１”である場合、及び一方のメモリセルのデータが“１１”で他方のメモリセルのデータが“０１”、又は隣接する２つのメモリセルのデータが共に“１０”である場合、１回追加書き込みが行われるように制御される。図３６において（＋１）は、１回追加書き込みを行うことを示し、（０）は追加書き込みを行わないことを示している。
【０１９４】
図３７は、追加書き込みが必要なカラムを検出する手法を示している。図３７は、一例として、カラム１（ｃｏｌ１）からカラム１０（ｃｏｌ１０）のみを示している。
【０１９５】
先ず、各カラムの例えばデータラッチ回路１ＤＬ、２ＤＬ（ここでは、データ制御ユニットＤＵＣとして示している）に、外部より、それぞれデータがロードされる。すなわち、カラム１のデータラッチ回路にはデータ“０１”がロードされ、カラム２のデータラッチ回路にはデータ“１０”がロードされる。
【０１９６】
次に、Ｌｏｗｅｒで示すように、各カラムのロワービットのデータがロードされる。このとき、例えば“（ａ）ｃｏｌ ｓｈｉｆｔ＋”で示すように、先ず、ロワービットのデータが１カラム分、上位のカラム方向にシフトして、例えばデータラッチ回路３ＤＬにロードされる。この際、対応するデータがないカラム１には、データ“１”がセットされる。
【０１９７】
この後、“（ｂ）ｃｏｌ ｓｈｉｆｔ−”で示すように、ロワービットのデータが１カラム分、下位のカラム方向にシフトして、例えばデータラッチ回路４ＤＬにロードされる。このように、１カラム上位、及び１カラム下位にシフトしたデータをロードすることにより、各カラムにそのカラムの両隣のデータを対応させることができる。この際、対応するデータがないカラム１０には、データ“１”がセットされる。
【０１９８】
このように、外部からデータを３回ロードした後、／（（ａ）＆（ｂ））で示すように、上位方向にシフトされたデータと下位方向にシフトされたデータの“ＮＡＮＤ”が演算される。この演算結果に基づき、追加の書き込みが行われる。すなわち、データ“０”のカラム２、カラム５に対して追加書き込みが行われ、その他のカラムに対しては書き込みが行われない。ＱＰＷは、追加書き込みが行われるカラムを示している。
【０１９９】
上記第８の実施形態によれば、１つのワード線に接続された複数のメモリセルにおいて、隣接するメモリセルのデータに基づき追加書き込みの必要なカラムを検出し、必要なカラムに対してのみ追加書き込みを可能としている。このため、ワード線方向に隣接するメモリセルの結合容量に基づく閾値電圧のシフトを補償することができる。
【０２００】
尚、上記各実施形態において、残りの書き込み回数は、上記例に限定されるものではない。ＮＡＮＤ型フラッシュメモリにおいて、書き込み、消去が繰り返されると、プログラム電圧に対する閾値電圧のシフト量が増加することが知られている。このため、書き込み、消去回数が多いメモリセルに対しては、上記残りの書き込み回数を削減することが望ましい。この制御は、例えば図示せぬコントローラにより、書き込み、消去回数をカウントし、このカウント数が規定値に達した場合、残りの書き込み回数を削減するように制御すればよい。
【０２０１】
（センスアンプユニットの変形例）
上述したように、書き込み時のビット線の電位を制御することにより、残りのプログラム回数を少数倍に設定することできる。この制御は、センスアンプユニットを用いて行われる。
【０２０２】
図３８は、図３に示すセンスアンプユニット３ａの変形例を示している。図３８において図３と同一部分には同一符号を付し、異なる部分についてのみ説明する。
【０２０３】
図３８において、電源電圧Ｖｄｄが供給されるノードとビット線ＢＬとの間にＮＭＯＳ８０、８１が直列接続されている。ＮＭＯＳ８０のゲートは、ＮＭＯＳ８２を介して電源電圧Ｖｄｄが供給されるノードに接続されるとともに、キャパシタＣ１の一端に接続されている。キャパシタＣ１の他端は接地されている。前記ＮＭＯＳ８１のには、信号ＳＷＡが供給され、ＮＭＯＳ８２のゲートには信号ＳＷＢが供給されている。
【０２０４】
（キャパシタに加える電荷をアナログ値とする例）
上記各実施形態のプログラム動作において、図３の信号ＢＬＣ２を中間電位とすることにより、ベリファイレベルを超えたセルに対して、半分の書込みパルスに相当する０．５回の書き込みを実現することができる。
【０２０５】
これに対して、図３８に示す変形例の場合、キャパシタＣ１の充電電荷に応じて、必要な電位を発生することができる。すなわち、信号ＳＷＢをＨレベルとすると、ＮＭＯＳ８２がオンし、このＮＭＯＳ８２を介してキャパシタＣ１に電荷が蓄積される。信号ＳＷＢによりＮＭＯＳ８２のオン時間を制御でき、キャパシタＣ１の充電電荷を制御することができる。
【０２０６】
この状態において、信号ＳＷＡをＨレベルとすることにより、ＮＭＯＳ８１がオンとされる。ＮＭＯＳ８０はキャパシタＣ１に蓄積された電荷に応じてオンとされる。このため、ＮＭＯＳ８０、８１を介してビット線ＢＬに電位を供給することができる。この電位は、キャパシタＣ１の充電電荷に応じて制御される。すなわち、キャパシタＣ１の充電電荷を制御することにより、ビット線ＢＬに必要な中間電位を供給することができる。１未満の回数の書き込みパルスに相当する、最適なパルスをメモリセルに与えることが可能である。
【０２０７】
（バックパターン補償の例）
次に、ブロック内の次に書き込まれるデータに応じて、中間電位を変えるバックパターン補償（Back Pattern compensation）について説明する。
【０２０８】
上記各実施形態は、ベリファイレベルを超えたセルに対して、隣接するメモリセルに書き込まれるデータに応じて、書き込み完了としたり、数回書き込み電圧パルスを印加してターゲットレベルに書き込んだりすることにより、隣接セルの結合容量の影響を補償した。
【０２０９】
これに対して、バックパターン補償を行う場合、ブロック内に書き込まれるデータに応じて書き込みを制御する必要がある。すなわち、図２に示すように、あるワード線ＷＬｎに接続されたメモリセルにデータが書き込まれた後、ワード線ＷＬｎ＋１〜ＷＬ３１に接続されたメモリセルにデータが書き込まれる。ここで、データ“００”が書き込まれるセルが多い場合、ベリファイリードやリード時に電流が減少する。このため、先に書き込んだワード線ＷＬｎに接続されたセルの閾値レベルが見かけ上少し高くなってしまうという問題がある。
【０２１０】
そこで、ワード線ＷＬｎ＋１〜ＷＬ３１に接続されたセルに書き込まれるデータが、低いレベルが多く、高いレベルが少ない場合、事前に本来のベリファイレベルより高いレベルに書き込んでおくことで、ブロック内のバックパターンを補正することが可能である。
【０２１１】
具体的には、例えばワード線ＷＬｎ＋１〜ＷＬ３１に書き込まれるデータが“１１”である場合３点、“０１”の場合２点、“１０”の場合１点、“００”の場合０点として、ワード線ＷＬｎ＋１〜ＷＬ３１に書き込むデータの合計点が求められる。この後、合計点がワード線ＷＬの数で割られ、平均点が求められる。この演算は、例えば外部の図示せぬコントローラ（ホスト装置）により行われる。
【０２１２】
ワード線ＷＬｎに対するデータの書き込み時、コントローラから演算された平均点が半導体記憶装置に送られ、ベリファイレベルに達したメモリセルに対して、平均点に応じて追加の書き込み電圧パルスが印加される。すなわち、平均点が高い場合程多くの書き込み電圧パルスが印加される。この場合、パルス数は簡単のために、例えば、０回、０．５回、１回、１．５回の４パターンなど、数回に減らすことも可能である。
【０２１３】
このように、ブロック内に書き込まれるデータの状態に応じて、先に書き込まれる閾値電圧を補償することにより、ブロック内のバックパターンを補正することができる。
【０２１４】
尚、各実施形態と同様に、ビット線に中間電位を供給することにより、１回未満の書き込み電圧パルスを印加することができる。
【０２１５】
（次の書き込みデータがない場合の例）
また、上記各実施形態において、メモリセルにデータを書き込む時、隣接セルに書き込むデータがない場合がある。すなわち、例えば１つのメモリセルに２ビット（２ページ）のデータを書き込む場合において、１ビット目及び２ビット目の両方がない場合、又は２ビット目のデータがない場合がある。あるいは、１つのメモリセルに３ビット（３ページ）のデータを書き込む場合において、３ビットのデータ全てがない場合、又は２ビット目以降のデータがない場合がある。このような場合、半導体記憶装置の外部のコントローラ、例えばホスト装置において、例えばダミーデータが生成され、このダミーデータが半導体記憶装置に供給されて、メモリセルに書き込まれる。このダミーデータは、２ビット（２ページ）以上のデータを例えばオール“１”又はオール“０”に設定したり、２ビット（２ページ）以上のデータを例えば“０１”又は“１０”のような、任意の値に設定したりすることが可能である。すなわち、書き込み後のデータを消去レベル以上で、最も低いレベル又は最も高い閾値レベル、或いは中間レベルのいずれかに設定すればよい。
【０２１６】
このようにダミーデータを書き込むことにより、隣接セルに書き込みデータがない場合であっても先に書き込まれるメモリセルの閾値レベルを正確に設定することができる。
【０２１７】
（アプリケーションの例）
次に、上記半導体記憶装置が適用されるアプリケーションについて説明する。
【０２１８】
図３９は、半導体記憶装置が適用されるメモリカードの例を示している。図３９において、メモリカード９００は、上記実施形態で説明したＮＡＮＤ型フラッシュメモリを含む半導体記憶装置９０１を有している半導体記憶装置９０１は、図示せぬ外部装置から所定の制御信号及びデータを受け取る。また、図示せぬ外部装置へ所定の制御信号及びデータを出力する。
【０２１９】
すなわち、メモリカード９００に搭載された半導体記憶装置９０１は、データ、アドレス、若しくは、コマンドを転送する信号線（ＤＡＴ）、信号線ＤＡＴにコマンドが転送されている事を示すコマンドラインイネーブル信号線（ＣＬＥ）、信号線ＤＡＴにアドレスが転送されている事を示すアドレスラインイネーブル信号線（ＡＬＥ）、及び、フラッシュメモリ１０が動作可能か否かを示すレディービジー信号線（Ｒ／Ｂ）が接続される。
【０２２０】
図４０は、別のメモリカードの例を示している。このメモリカードは、図４０に示したメモリカードと異なり、フラッシュメモリ３を制御し、図示せぬ外部装置と信号を授受するコントローラ９１０を有している。
【０２２１】
コントローラ９１０は、例えば図示せぬ外部装置から信号を入力し、若しくは、外部装置へ信号を出力するインターフェース部（Ｉ／Ｆ）９１１と、ＮＡＮＤ型フラッシュメモリを含む半導体記憶装置９０１と信号を授受するインターフェース部９１２と、外部装置から入力された論理アドレスを物理アドレスに変換するなどの計算を行うマイクロプロセッサ（ＭＰＵ）９１３と、データを一時的に記憶するバッファとしてのＲＡＭ９１４と、誤り訂正符合を生成する誤り訂正部（ＥＣＣ）９１５を有している。また、メモリカード９００のインターフェース部９１１には、コマンド信号線（ＣＭＤ）、クロック信号線（ＣＬＫ）、信号線（ＤＡＴ）が接続されている。
【０２２２】
尚、上記メモリカードにおいて、各種信号線の数、信号線のビット幅、及びコントローラの構成は変形可能である。また、この構成を適用してハードディスクに変わるＳＳＤ（Solid State Drive）を構成することも可能である。
【０２２３】
図４１は、別のアプリケーションを示している。図４１に示すように、前述したメモリカード９００は、カードホルダー９２０に挿入され、図示せぬ電子機器に接続される。カードホルダー９２０は、コントローラ９１０の機能の一部を有していても良い。
【０２２４】
図４２は、別のアプリケーションを示している。メモリカード９００、若しくは、メモリカード９００が挿入されたカードホルダー９２０は、接続装置１０００に挿入される。接続装置１０００は接続配線１１００、及びインターフェース回路１２００を介してボード１３００に接続される。ボード１３００にはＣＰＵ１４００やバス１５００が搭載される。
【０２２５】
図４３は、別のアプリケーションを示している。メモリカード９００、若しくは、メモリカード９００が挿入されたカードホルダー９２０が接続装置１０００に挿入される。接続装置１０００は接続配線１１００を介して、パーソナルコンピュータ２０００に接続されている。
【０２２６】
図４４、図４５は、別のアプリケーションを示している。図４４、図４５に示すように、ＩＣカード２１００は、ＭＣＵ２２００を搭載している。ＭＣＵ２２００は、上記実施形態に従ったＮＡＮＤ型フラッシュメモリを含む半導体記憶装置９０１と、例えばＲＯＭ２３００、ＲＡＭ２４００、及びＣＰＵ２５００を備えている。ＩＣカード２１００は、図２０に示すように、その一表面に露出されたプレーンターミナル（plane terminal）２６００を有し、プレーンターミナル２６００はＭＣＵ２２００に接続されている。ＣＰＵ２５００は、演算部２５１０と、フラッシュメモリ３、ＲＯＭ２３００及びＲＡＭ２４００に接続された制御部２５２０を備えている。
【０２２７】
図４６は、他のアプリケーションを示すものであり、例えば携帯音楽記録再生装置３０００の例を示している。この携帯音楽記録再生装置３０００は、例えば本体内に上記実施形態に従ったＮＡＮＤ型フラッシュメモリを含む半導体記憶装置９０１を内蔵している。さらに、上記ＮＡＮＤ型フラッシュメモリを含むメモリカード９００が装着可能とされている。
【０２２８】
図４７は、他のアプリケーションを示すものであり、例えば携帯電話等の携帯端末装置４０００を示している。携帯端末装置４０００は、例えば本体内に上記実施形態に従ったＮＡＮＤ型フラッシュメモリを含む半導体記憶装置９０１を内蔵している。さらに、上記ＮＡＮＤ型フラッシュメモリを含むメモリカード９００が装着可能とされている。
【０２２９】
図４８は、他のアプリケーションを示すものであり、例えばＵＳＢメモリ５０００を示している。ＵＳＢメモリ５０００は、例えば本体内に上記実施形態に従ったＮＡＮＤ型フラッシュメモリを含む半導体記憶装置９０１を内蔵している。
【０２３０】
その他、本発明は、上記実施形態に限定されるものではなく、発明の要旨を変えない範囲において種々変形実施可能なことは勿論である。
【図面の簡単な説明】
【０２３１】
【図１】実施形態に係る半導体記憶装置の概略構成図。
【図２】メモリセルアレイとセンスアンプ回路の一例を示す構成図。
【図３】センスアンプユニットの一例を示す回路図。
【図４】データ制御ユニットの一例を示す回路図。
【図５】閾値電圧分布と隣接容量結合による閾値電圧のシフトの関係を示す図。
【図６】第１の実施形態を示すものであり、隣接結合容量によるメモリセルのシフトを考慮した書き込み動作の例を示す図。
【図７】第１の実施形態に係る書き込み動作を示すフローチャート。
【図８】第１の実施形態に係る書き込み動作を示すフローチャート。
【図９】第１の実施形態に係る書き込み動作を示すフローチャート。
【図１０】第１の実施形態に係る容量結合の補償を行った後の閾値電圧分布の例を示す図。
【図１１】第２の実施形態に係るベリファイレベルとデータの関係を示す図。
【図１２】第２の実施形態に係るベリファイ動作の例を示すフローチャート。
【図１３】第２の実施形態に係るベリファイ動作の例を示すフローチャート。
【図１４】第２の実施形態に係るベリファイ動作の例を示すフローチャート。
【図１５】第３の実施形態に係るベリファイレベルとデータの関係を示す図。
【図１６】第３の実施形態に係わり、データ変換動作に伴うデータの意味の変化を示す図。
【図１７】第３の実施形態の書き込みシーケンスの一例を示す図。
【図１８】第３の実施形態の書き込み動作の一例を示す図。
【図１９】第３の実施形態のベリファイ及びデータ変換動作の一例を示すフローチャート。
【図２０】第３の実施形態のベリファイ及びデータ変換動作の一例を示すフローチャート。
【図２１】第３の実施形態のベリファイ及びデータ変換動作の一例を示すフローチャート。
【図２２】第４の実施形態の概略動作を示す図。
【図２３】第４の実施形態に係る書き込みシーケンスの一例を示す図。
【図２４】第４の実施形態に係るデータ変換動作の一例を示す図。
【図２５】第５の実施形態に係る書き込み順序を示す図。
【図２６】図２６（ａ）（ｂ）は、第５の実施形態に係る書き込み動作の一例を示す図。
【図２７】第５の実施形態に係る書き込み動作の一例を示す図。
【図２８】第６の実施形態に係る書き込み順序を示す図。
【図２９】第６の実施形態に係る書き込み動作の一例を示す図。
【図３０】第６の実施形態に係る書き込み動作の一例を示す図。
【図３１】第６の実施形態に係るプログラム、ベリファイ動作の一例を示す図。
【図３２】第６の実施形態に係るプログラム、ベリファイ動作の一例を示す図。
【図３３】第７の実施形態に係る書き込み順序を示す図。
【図３４】第７の実施形態に係る書き込み動作の一例を示す図。
【図３５】図３５（ａ）（ｂ）は、第８の実施形態に係り、隣接カラムのデータの関係を示す図。
【図３６】第８の実施形態に係り、隣接カラムのデータと追加書き込み回数の関係を示す図。
【図３７】第８の実施形態に係り、データ変換動作の一例を示す図。
【図３８】センスアンプユニットの変形例を示す回路図。
【図３９】実施形態に係る半導体記憶装置が適用されるアプリケーションを示す構成図。
【図４０】他のアプリケーションの例を示す構成図。
【図４１】他のアプリケーションの例を示す構成図。
【図４２】他のアプリケーションの例を示す構成図。
【図４３】他のアプリケーションの例を示す構成図。
【図４４】他のアプリケーションの例を示す構成図。
【図４５】他のアプリケーションの例を示す構成図。
【図４６】他のアプリケーションの例を示す構成図。
【図４７】他のアプリケーションの例を示す構成図。
【図４８】他のアプリケーションの例を示す構成図。
【符号の説明】
【０２３２】
１…メモリセルアレイ、２…ワード線制御回路、３…センスアンプ回路、３ａ…センスアンプユニット、３ｂ…データ制御ユニット、０ＤＬ〜４ＤＬ…データラッチ回路、８…制御信号発生回路、９…制御電圧発生回路。
【図１】
2010123210.tif 000003
【図２】
2010123210.tif 000004
【図３】
2010123210.tif 000005
【図４】
2010123210.tif 000006
【図５】
2010123210.tif 000007
【図６】
2010123210.tif 000008
【図７】
2010123210.tif 000009
【図８】
2010123210.tif 000010
【図９】
2010123210.tif 000011
【図１０】
2010123210.tif 000012
【図１１】
2010123210.tif 000013
【図１２】
2010123210.tif 000014
【図１３】
2010123210.tif 000015
【図１４】
2010123210.tif 000016
【図１５】
2010123210.tif 000017
【図１６】
2010123210.tif 000018
【図１７】
2010123210.tif 000019
【図１８】
2010123210.tif 000020
【図１９】
2010123210.tif 000021
【図２０】
2010123210.tif 000022
【図２１】
2010123210.tif 000023
【図２２】
2010123210.tif 000024
【図２３】
2010123210.tif 000025
【図２４】
2010123210.tif 000026
【図２５】
2010123210.tif 000027
【図２６】
2010123210.tif 000028
【図２７】
2010123210.tif 000029
【図２８】
2010123210.tif 000030
【図２９】
2010123210.tif 000031
【図３０】
2010123210.tif 000032
【図３１】
2010123210.tif 000033
【図３２】
2010123210.tif 000034
【図３３】
2010123210.tif 000035
【図３４】
2010123210.tif 000036
【図３５】
2010123210.tif 000037
【図３６】
2010123210.tif 000038
【図３７】
2010123210.tif 000039
【図３８】
2010123210.tif 000040
【図３９】
2010123210.tif 000041
【図４０】
2010123210.tif 000042
【図４１】
2010123210.tif 000043
【図４２】
2010123210.tif 000044
【図４３】
2010123210.tif 000045
【図４４】
2010123210.tif 000046
【図４５】
2010123210.tif 000047
【図４６】
2010123210.tif 000048
【図４７】
2010123210.tif 000049
【図４８】
2010123210.tif 000050