(57)【要約】【課題】セル間干渉による閾値電圧のシフトの影響を低減させた不揮発性半導体記憶装置を提供する。【解決手段】第１及び第２の選択ゲートトランジスタ、並びに前記第１及び第２の選択ゲートトランジスタ間に設けられ電気的に書き換え可能で実効的なデータを記憶する複数のメモリセルが直列接続されたメモリストリングスからなるセルユニットと、前記メモリセルにデータの書き込みを行うデータ書き込み手段とを備える。前記メモリストリングスの両端の少なくとも一方のメモリセルのプログラム段階数は、他のメモリセルのプログラム段階数よりも少ない。前記データ書き込み手段は、前記プログラム段階数が前記他のメモリセルよりも少ないメモリセルの第１段階のプログラムを前記他のメモリセルの第１段階のプログラムよりも後に実行することを特徴とする。【選択図】図５
2010250891.tif 000002
【特許請求の範囲】
【請求項１】
第１及び第２の選択ゲートトランジスタ、並びに前記第１及び第２の選択ゲートトランジスタ間に設けられ電気的に書き換え可能で実効的なデータを記憶する複数のメモリセルが直列接続されたメモリストリングスからなるセルユニットと、
前記メモリセルにデータの書き込みを行うデータ書き込み手段と
を備え、
前記メモリストリングスの両端の少なくとも一方のメモリセルのプログラム段階数は、他のメモリセルのプログラム段階数よりも少なく、
前記データ書き込み手段は、前記プログラム段階数が前記他のメモリセルよりも少ないメモリセルの第１段階のプログラムを前記他のメモリセルの第１段階のプログラムよりも後に実行する
ことを特徴とする不揮発性半導体記憶装置。
【請求項２】
前記メモリストリングスの両端の少なくとも一方のメモリセルのプログラム段階数と、他のメモリセルのプログラム段階数との差が２以上である
ことを特徴とする請求項１記載の不揮発性半導体記憶装置。
【請求項３】
第１及び第２の選択ゲートトランジスタ、並びに前記第１及び第２の選択ゲートトランジスタ間に設けられ電気的に書き換え可能な複数のメモリセルが直列接続されたメモリストリングスからなるセルユニットと、
前記メモリセルにデータの書き込みを行うデータ書き込み手段と
を備え、
前記メモリストリングスの総記憶ビット数は２のべき乗であり、前記メモリストリングスの両端の少なくとも一方のメモリセルの記憶ビット数は、他のメモリセルの記憶ビット数よりも少なく、
前記データ書き込み手段は、前記メモリストリングスに対するデータ書き込みの際、前記記憶ビット数の少ないメモリセルに隣接するメモリセルに第１段階のプログラムを実行した後、このメモリセルに隣接する前記記憶ビット数の少ないメモリセルにプログラムを実行する
ことを特徴とする不揮発性半導体記憶装置。
【請求項４】
前記メモリストリングスの両端のメモリセルは１ビットを記憶し、他のメモリセルは３ビットを記憶する
ことを特徴とする請求項１〜３いずれか１項記載の不揮発性半導体記憶装置。
【請求項５】
前記セルユニットは、前記第１の選択ゲートトランジスタ及び前記メモリストリングス間並びに前記第２の選択ゲートトランジスタ及び前記メモリストリングス間の少なくとも一方に前記メモリセルと同等の構造を持つダミーセルを有する
ことを特徴とする請求項１〜４のいずれか１項記載の不揮発性半導体記憶装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、不揮発性半導体記憶装置に関し、特にＮＡＮＤ型フラッシュメモリに関する。
【背景技術】
【０００２】
電気的書き換えが可能でかつ、高集積化が可能な不揮発性半導体記憶装置（ＥＥＰＲＯＭ）として、ＮＡＮＤ型フラッシュメモリが知られている。ＮＡＮＤ型フラッシュメモリでは、複数のメモリセルを隣接するもの同士でソース／ドレイン拡散層を共有する形で直列接続して、ＮＡＮＤセルユニットを構成する。ＮＡＮＤセルユニットの両端はそれぞれ、選択ゲートトランジスタを介してビット線及びソース線に接続する。この様なＮＡＮＤセルユニット構成により、ＮＯＲ型と比べて単位セル面積が小さくかつ大容量記憶が可能となる。
【０００３】
ＮＡＮＤ型フラッシュメモリのメモリセルは、半導体基板にトンネル絶縁膜を介して形成された電荷蓄積層（浮遊ゲート）とその上にゲート間絶縁膜を介して積層された制御ゲートとを有し、浮遊ゲートの電荷蓄積状態によりデータを不揮発に記憶する。具体的には、浮遊ゲートに電子を注入したしきい値電圧の高い状態を例えばデータ“０”、浮遊ゲートの電子を放出させたしきい値電圧の低い状態をデータ“１”として、２値データ記憶を行う。最近は、書き込みしきい値分布を細分化して、４値等の多値記憶も行われている。
【０００４】
しかし、フラッシュメモリの微細化及び、書き込み閾値分布の細分化に伴い、以下のような問題が生じる。
【０００５】
第１に、選択ゲートトランジスタに隣接するメモリセルについては、ゲート誘導ドレインリーク電流ＧＩＤＬ（Gate-Induced Drain Leakage）の影響によって、浮遊ゲートに電子が注入されるため、誤書き込みが生じやすくなる。
【０００６】
第２に、メモリセル間の距離が小さくなることにより、隣接するセル間の干渉が強くなることが挙げられる。これは、セルアレイの横方向のスケーリングによる縮小に比べて、縦方向のスケーリングが難しいためである。
【０００７】
より具体的に説明すると、メモリセルの浮遊ゲートは、その上の制御ゲート（ワード線）及び直下の基板（チャネル）との間でそれぞれ容量結合されている。セルが微細化されると、１つのメモリセルの浮遊ゲートとこれに隣接するメモリセルの浮遊ゲートとの間の容量が、浮遊ゲートと制御ゲート及び基板との間の容量に対して相対的に増大する。この隣接セルの浮遊ゲート間の容量に基づくセル間干渉は、既にデータが書き込まれたメモリセルのしきい値を後にデータを書き込むメモリセルのしきい値変動によってシフトさせるという影響を与える。
【０００８】
第１の問題については、選択ゲートトランジスタの隣に、データ記憶に利用されないダミーセルを配置する方式が一定程度有効になる（例えば、特許文献１参照）。
【０００９】
また、多値記憶によるメモリセルを用いることで大容量化を図るともに、選択ゲートトランジスタに隣接するメモリストリングスの両端のメモリセルのみを２値記憶のメモリセルとすることで閾値分布に余裕を持たせ、信頼性を向上させる技術も提案されている（非特許文献１）。
【００１０】
しかし、これらの対策によっても、第２の問題は解決できない。特に、非特許文献１のような構造の場合、メモリストリングスの両端のメモリセルに対するプログラム段階数が他のメモリセルのプログラム段階数よりも少ないため、隣接するメモリセルからのセル間干渉による閾値分布の変動をリカバーし難い点が問題となる。
【先行技術文献】
【特許文献】
【００１１】
【特許文献１】特開２００４−１２７３４６号公報
【非特許文献】
【００１２】
【非特許文献１】"16-Gigabit, 8-level NAND Flash Memory with 51nm 44-Cell String Technology", Tae-Kyung Kim, et al. Solid-State Device Research Conference, 2008. ESSDERC 2008. 38th European
【発明の概要】
【発明が解決しようとする課題】
【００１３】
本発明によれば、セル間干渉による閾値電圧のシフトの影響を低減させた不揮発性半導体記憶装置を提供することを目的とする。
【課題を解決するための手段】
【００１４】
本発明の一態様に係る不揮発性半導体記憶装置は、第１及び第２の選択ゲートトランジスタ、並びに前記第１及び第２の選択ゲートトランジスタ間に設けられ電気的に書き換え可能で実効的なデータを記憶する複数のメモリセルが直列接続されたメモリストリングスからなるセルユニットと、前記メモリセルにデータの書き込みを行うデータ書き込み手段とを備える。前記メモリストリングスの両端の少なくとも一方のメモリセルのプログラム段階数は、他のメモリセルのプログラム段階数よりも少ない。前記データ書き込み手段は、前記プログラム段階数が前記他のメモリセルよりも少ないメモリセルの第１段階のプログラムを前記他のメモリセルの第１段階のプログラムよりも後に実行することを特徴とする。
【００１５】
本発明の他の一態様に係る不揮発性半導体記憶装置は、第１及び第２の選択ゲートトランジスタ、並びに前記第１及び第２の選択ゲートトランジスタ間に設けられ電気的に書き換え可能で実効的なデータを記憶する複数のメモリセルが直列接続されたメモリストリングスからなるセルユニットと、前記メモリセルにデータの書き込みを行うデータ書き込み手段とを備える。前記メモリストリングスの総記憶ビット数は２のべき乗であり、前記メモリストリングスの両端の少なくとも一方のメモリセルの記憶ビット数は、他のメモリセルの記憶ビット数よりも少ない。前記データ書き込み手段は、前記メモリストリングスに対するデータ書き込みの際、前記記憶ビット数の少ないメモリセルに隣接するメモリセルに第１段階のプログラムを実行した後、このメモリセルに隣接する前記記憶ビット数の少ないメモリセルにプログラムを実行することを特徴とする。
【発明の効果】
【００１６】
本発明によれば、セル間干渉による閾値電圧のシフトの影響を低減させた不揮発性半導体記憶装置を提供することができる。
【図面の簡単な説明】
【００１７】
【図１】本発明の第１の実施形態に係るフラッシュメモリの構成を示す図である。
【図２】同フラッシュメモリのメモリセルアレイ構成を示す図である。
【図３】同フラッシュメモリのデータ割り付けを示す図である。
【図４】同フラッシュメモリのデータ分布例を示す図である。
【図５】同フラッシュメモリのデータ書き込み順序を示す図である。
【図６】図５のデータ書き込み順序におけるセル間干渉効果を示す図である。
【図７】本発明の第２の実施形態に係るフラッシュメモリのデータ書き込み順序を示す図である。
【図８】図７のデータ書き込み順序におけるセル間干渉効果を示す図である。
【図９】本発明の第３の実施形態に係るフラッシュメモリのデータ書き込み順序を示す図である。
【図１０】図９のデータ書き込み順序におけるセル間干渉効果を示す図である。
【図１１】本発明の第４の実施形態に係るフラッシュメモリのデータ書き込み順序を示す図である。
【図１２】図１１のデータ書き込み順序におけるセル間干渉効果を示す図である。
【図１３】本発明の第５の実施形態に係るフラッシュメモリのデータ分布例を示す図である。
【図１４】同フラッシュメモリのデータ書き込み順序を示す図である。
【図１５】図１４のデータ書き込み順序におけるセル間干渉効果を示す図である。
【図１６】本発明の第６の実施形態に係るフラッシュメモリのデータ分布例を示す図である。
【図１７】同フラッシュメモリのデータ書き込み順序を示す図である。
【図１８】図１７のデータ書き込み順序におけるセル間干渉効果を示す図である。
【図１９】本発明の第１の実施形態に対する比較例に係るフラッシュメモリのデータ書き込み順序を示す図である。
【図２０】図１９のデータ書き込み順序におけるセル間干渉効果を示す図である。
【図２１】本発明の第５の実施形態に対する比較例に係るフラッシュメモリのデータ書き込み順序を示す図である。
【図２２】図２１のデータ書き込み順序におけるセル間干渉効果を示す図である。
【図２３】本発明の第６の実施形態に対する比較例に係るフラッシュメモリのデータ書き込み順序を示す図である。
【図２４】図２３のデータ書き込み順序におけるセル間干渉効果を示す図である。
【発明を実施するための形態】
【００１８】
以下、図面を参照しながら、本発明に係る不揮発性半導体記憶装置の実施の形態について詳細に説明する。
【００１９】
［第１の実施形態］
図１は、本発明の第１の実施形態に係るＮＡＮＤ型フラッシュメモリの構成を示すブロック図である。このＮＡＮＤ型フラッシュメモリは、ＮＡＮＤチップ１０及びこのＮＡＮＤチップ１０を制御するコントローラ１１を備えて構成されている。
【００２０】
ＮＡＮＤチップ１０を構成するメモリセルアレイ１は、後に説明するように、複数の浮遊ゲート型メモリセルＭＣをマトリクス配列して構成される。ロウデコーダ／ワード線ドライバ２ａ、カラムデコーダ２ｂ、ページバッファ３及び高電圧発生回路８は、メモリセルアレイ１に対してページ単位でデータの書き込み及び読み出しを行うデータ書き込み／読み出し回路を構成する。ロウデコーダ／ワード線ドライバ２ａは、メモリセルアレイ１のワード線及び選択ゲート線を駆動する。ページバッファ３は、１ページ分のセンスアンプ回路とデータ保持回路を備えて、メモリセルアレイ１のページ単位のデータ読み出し及び書き込みを行う。
【００２１】
ページバッファ３の１ページ分の読み出しデータは、カラムデコーダ２ｂにより順次カラム選択されて、Ｉ／Ｏバッファ９を介して外部Ｉ／Ｏ端子に出力される。Ｉ／Ｏ端子から供給される書き込みデータは、カラムデコーダ２ｂにより選択されてページバッファ３にロードされる。ページバッファ３には１ページ分の書き込みデータがロードされる。ロウ及びカラムアドレス信号はＩ／Ｏバッファ９を介して入力され、それぞれ、ロウデコーダ２ａ及びカラムデコーダ２ｂに転送される。ロウアドレスレジスタ５ａは、消去動作では、消去ブロックアドレスを保持し、書き込みや読み出し動作ではページアドレスを保持する。カラムアドレスレジスタ５ｂには、書き込み動作開始前の書き込みデータロードのための先頭カラムアドレスや、読み出し動作のための先頭カラムアドレスが入力される。書き込みイネーブル／ＷＥや読み出しイネーブル／ＲＥが、所定の条件でトグルされるまで、カラムアドレスレジスタ５ｂは入力されたカラムアドレスを保持する。
【００２２】
ロジック制御回路６は、チップイネーブル信号／ＣＥ、コマンドイネーブル信号ＣＬＥ、アドレスラッチイネーブル信号ＡＬＥ、書き込みイネーブル信号／ＷＥ、読み出しイネーブル信号／ＲＥ等の制御信号に基づいて、コマンドやアドレスの入力、データの入出力を制御する。読み出し動作や書き込み動作はコマンドで実行される。コマンドを受けて、シーケンス制御回路７は、読み出し動作や、書き込み或いは消去のシーケンス制御を行う。高電圧発生回路８は、制御回路７により制御されて、種々の動作に必要な所定の電圧を発生する。
【００２３】
コントローラ１１は、ＮＡＮＤチップ１０の現在の書込状態に適した条件でデータの書き込み及び読み出しの制御を実行する。なお、後述する読み出し制御の一部をＮＡＮＤチップ１０側で行うようにしても良いことは言うまでもない。
【００２４】
図２は、セルアレイ１の具体的構成を示す。この例では、８６個の直列接続されたメモリセルＭＣ０〜ＭＣ８５からなるメモリストリングスＭＳＴＲとその両端に接続された選択ゲートトランジスタＳ１、Ｓ２によってＮＡＮＤセルユニット４が構成されている。選択ゲートトランジスタＳ１のソースは、共通ソース線ＣＥＬＳＲＣに接続され、選択ゲートトランジスタＳ２のドレインはビット線ＢＬ（ＢＬ０〜ＢＬｉ−１）に接続される。メモリセルＭＣ０〜ＭＣ８５の制御ゲートはそれぞれワード線ＷＬ（ＷＬ０〜ＷＬ８５）に接続され、選択ゲートトランジスタＳ１、Ｓ２のゲートは、選択ゲート線ＳＧＳ、ＳＧＤに接続される。
【００２５】
なお、図２に示す通り、必要に応じてメモリストリングスＭＳＴＲと選択トランジスタＳ１、Ｓ２との間に、それぞれワード線ＷＬと同等の構造を有するダミーワード線ＤＷＬ１、ＤＷＬ２と、メモリセルＭＣと同等の構造を有するダミーセルＤＣ１、ＤＣ２を設けても良い。この場合、選択ゲートトランジスタＳ１、Ｓ２から受けるゲート誘導ドレインリーク電流ＧＩＤＬの影響が緩和されるため、メモリストリングスＭＳＴＲの両端のメモリセルＭＣ０、ＭＣ８５のディスターブ耐性をより向上させることができる。
【００２６】
一つのワード線ＷＬに沿う複数のメモリセルＭＣの範囲が、一括したデータ読み出し及びデータ書き込みの単位となるページになる。以下、ワード線ＷＬｉ（ｉ＝０〜８５）に沿う複数のメモリセルＭＣｉで構成されたページをページ＜ｉ＞と表現することもある。また、ワード線ＷＬ方向に並ぶ複数のＮＡＮＤセルユニット４の範囲が、データ一括消去の単位となるセルブロックＢＬＫを構成する。図２では、ビット線ＢＬ方向にビット線ＢＬを共有する複数のセルブロックＢＬＫ０〜ＢＬＫｍ−１を配列して、セルアレイ１が構成されている。
【００２７】
ワード線ＷＬ及び選択ゲート線ＳＧＳ、ＳＧＤは、ロウデコーダ２ａにより駆動される。各ビット線ＢＬは、ページバッファ３のセンスアンプ回路ＳＡ（ＳＡ０〜ＳＡｉ−１）に接続されている。
【００２８】
図３は、図２に示すメモリセルアレイのデータ割り付けを示す図である。
【００２９】
このＮＡＮＤ型フラッシュメモリのメモリストリングスＭＳＴＲは、８６個のメモリセルＭＣからなり、その多くは３ビットを記憶するものである。但し、計算機との親和性の観点から、選択ゲートトランジスタＳ１に隣接するメモリセルＭＣ０及び選択ゲートトランジスタＳ２に隣接するメモリセルＭＣ８５の少なくともいずれか一方の記憶ビット数を３ビットより少なくすることで、メモリストリングスＭＳＴＲの総記憶ビット数を２のべき乗としている。
【００３０】
図３のケース１の場合、選択ゲートトランジスタＳ１に最も近いメモリセルＭＣ０に１ビット分のデータを割り付けし（Ｄ１）、その他のメモリセルＭＣ１〜ＭＣ８５に３ビット分のデータを割り付けている（Ｄ３）。
【００３１】
ケース２の場合、選択ゲートトランジスタＳ２に最も近いメモリセルＭＣ８５に１ビット分のデータを割り付けし（Ｄ１）、その他のメモリセルＭＣ０〜ＭＣ８４に３ビット分のデータを割り付けている（Ｄ３）。
【００３２】
ケース３の場合、メモリセルＭＣ０及びＭＣ８５に２ビット分のデータを割り付けし（Ｄ２）、その他のメモリセルＭＣ１〜ＭＣ８４に３ビット分のデータを割り付けている（Ｄ３）。
【００３３】
上記、いずれのケースであっても、メモリストリングスＭＳＴＲの総記憶ビット数は、２のべき乗である２５６ビットとなる。
【００３４】
なお、本実施形態における以下の説明では、ケース１のデータ割り付けによるフラッシュメモリを取り扱う。
【００３５】
次に、このように構成された本実施形態の動作について説明する。
【００３６】
なお、以後の説明において、「ページ」とは、異なる２つの意味を有するので注意を要する。
【００３７】
第１は、１つのワード線に沿う一括したデータアクセス単位として「ページ」である。
【００３８】
第２は、１つのメモリセルに多値データを記憶する場合の記憶データの階層、すなわちプログラムの段階を示す「ページ」で、この場合、Ｌ（Lower）ページ、Ｍ（Middle）ページ、Ｕ（Upper）ページ等と呼ぶ。
【００３９】
図４は、３ビットのデータの書き込みを、３回のプログラム段階数で実行する際の各メモリセルＭＣの閾値分布例を示す図である。
【００４０】
メモリセルＭＣは、予めブロック消去によってデータが消去されており、ブロック内の全てのメモリセルＭＣの閾値は、最も低い“０”レベルになっている。
【００４１】
図４（ａ）の場合、第１段階のプログラム（1st stage）において、データに応じてＬページの書き込みを行い、Ｌページデータ“０”の閾値を“１”に引き上げる。なお、図４中のＬページデータ“０”、及び“１”は、それぞれ２進数のデータ１、及び０に相当している。
【００４２】
続いて、第２段階のプログラム（2nd stage）において、Ｍページの書き込みを行い、Ｌページデータ“０”又は“１”から、それぞれＭページデータ“０”又は“１”、“２”、“３”の閾値分布を生成する。なお、図４中のＭページデータ“０”、“１”、“２”、及び“３”は、それぞれ２進数のデータ１１、０１、００、及び１０に相当している。
【００４３】
最後に、第３段階のプログラム（3rd stage）において、Ｕページの書き込みを行い、Ｍページデータ“０”又は“１”〜“３”から、それぞれＵページデータ“０”又は“１”〜“７”の閾値分布を生成する。なお、図４中のＵページデータ“０”、“１”、“２”、“３”、“４”、“５”、“６”、及び“７”は、一例として、それぞれ２進数のデータ１１１、０１１、００１、１０１、１００、０００、０１０、１１０に相当している。
【００４４】
図４（ｂ）の場合、図４（ａ）の場合と同様、第１段階のプログラム（1st stage）において、Ｌページの書き込みを行い、Ｌページデータ“０”の閾値を“１”レベルに引き上げる。
【００４５】
続いて、第２段階のプログラム（2nd stage）において、Ｍページ及びＵページの大まかな書き込みを行う。これによって、Ｌページデータ“０”又は“１”からＵページデータ“０”又は“１”〜“７”の閾値分布を生成する。但し、この時点においては、Ｕページデータ“１”〜“７”の閾値分布は、それぞれ隣接する閾値分布と重なりあった分布となっている。
【００４６】
最後に、第３段階のプログラム（3rd stage）において、Ｍページ及びＵページの緻密な書き込みを行う。これによって、第２段階のプログラム後の重なりあっていたＵページデータ“１”〜“７”の閾値分布は、それぞれ狭まり明確に分離される。
【００４７】
図４（ｃ）の場合、第１段階のプログラム（1st stage）において、Ｌページ及びＭページの書き込みを行う。これによって、Ｌページデータ“０”から、Ｍページデータ“０”〜“３”の閾値分布が生成される。
【００４８】
続いて、第２段階のプログラム（2nd stage）において、Ｕページの大まかな書き込みを行う。これによって、Ｍページデータ“０”〜“３”からＵページデータ“０”〜“７”の閾値分布が生成される。但し、この時点においては、Ｕページデータ“１”〜“７”の閾値分布は、それぞれ隣接する閾値分布と重なりあった分布となっている。
【００４９】
最後に、第３段階のプログラム（3rd stage）において、Ｕページの緻密な書き込みを行う。これよって、第２段階のプログラム後の重なりあっていたＵページデータ“１”〜“７”の閾値分布は、それぞれ狭まり明確に分離される。
【００５０】
以上、図４（ａ）〜（ｃ）のいずれの場合であっても、メモリセルＭＣｉの各プログラム段階後の閾値分布は、その後に実行される隣接するメモリセルＭＣｉ−１及びメモリセルｉ＋１に対するプログラムによって生じるセル間干渉効果によって、閾値分布が広がる。しかし、その後のメモリセルＭＣｉに対するプログラムによって、この効果をある程度修正することが可能である。一方、一度のセル間干渉で受ける影響は、その隣接するメモリセルＭＣｉ−１及びメモリセルＭＣｉ＋１に対するプログラムが何段階目かによっても異なる。例えば、図４（ａ）〜（ｃ）のいずれの場合であっても、第３段階のプログラムについては、印加される電気エネルギが比較的小さいため、それによって生じるセル間干渉の影響は、第１段階及び第２段階のプログラム時よりも相対的に小さくなる。
【００５１】
次に、以上のような構成のＮＡＮＤ型フラッシュメモリに対するデータ書き込み順序について説明する。
【００５２】
先ず、本実施形態におけるデータ書き込み順序を説明する前に、図１９及び図２０を参照しながら、比較例となるフラッシュメモリのデータ書き込み順序について説明する。
【００５３】
図１９は、比較例におけるデータ書き込み順序を示す図であり、図２０は、図１９のデータ書き込み順序におけるセル間干渉効果を示す図である。この例は、ワード線ＷＬ０に接続されたメモリセルＭＣ０からなるページについては、１回のプログラム段階数で１ビットのデータを書き込み、その他のメモリセルＭＣ１〜ＭＣ８５からなるページについては、３回のプログラム段階数で３ビットのデータを書き込む場合について示している（以下の説明において、ワード線ＷＬｋ（ｋ＝０〜８５の整数）に接続されたメモリセルＭＣｋからなるページを“ページ＜ｋ＞”と表す。）。また、図２０の×印は、セル間干渉効果が生じることを示しており、例えば、図２０（ａ）の場合、ページ＜１＞の第１段階のプログラムが、隣接するページ＜０＞の第１段階のプログラム後の閾値分布に対してセル間干渉効果をもたらすことを示している。
【００５４】
１ブロックのプログラムは、２５６回のプログラム動作によって終了する。
【００５５】
最初に、１回目のプログラム動作において、選択ゲートトランジスタＳ１に最も近いページ＜０＞に第１段階のプログラムを行う。
【００５６】
ここで、１回目のプログラム動作とは、ブロックに対する消去後の最初のプログラム動作をいい、例えば、２ブロック分のデータ書き込みを行う過程において、プログラム対象となるページの属するブロックが変化して最初に実行されるプログラム動作がこれにあたる。
【００５７】
続いて、２回目のプログラム動作において、ページ＜１＞に第１段階のプログラムを行う。これによって、図２０（ａ）に示す通り、ページ＜０＞に隣接するページ＜１＞の第１段階のプログラム後における閾値分布は、セル間干渉によって変動する。
【００５８】
続いて、３回目のプログラム動作において、ページ＜２＞に第１段階のプログラムを行う。これによって、図２０（ｂ）に示す通り、ページ＜２＞に隣接するページ＜１＞の第１段階のプログラム後における閾値分布は、セル間干渉によって変動する。
【００５９】
続いて、４回目のプログラム動作において、ページ＜１＞に第２段階のプログラムを行う。これによって、図２０（ａ）及び図２０（ｃ）に示す通り、ページ＜１＞に隣接するページ＜０＞の第１段階のプログラム後における閾値分布及びページ＜２＞の第１段階のプログラム後における閾値分布は、セル間干渉によって変動する。
【００６０】
続いて、５〜２５３回目のプログラム動作において、ページ＜ｋ＞の第１段階のプログラム、ページ＜ｋ−１＞の第２段階のプログラム、ページ＜ｋ−２＞の第３段階のプログラムをｋ＝５〜８５の範囲で順次行う。これによって、図２０（ｃ）に示す通り、所定のページ＜ｋ＞の第ｉ（ｉ＝１〜３の整数）段階のプログラム後の閾値分布は、ページ＜ｋ−１＞の第ｉ＋１（ｉ＝３を除く）段階のプログラム、ページ＜ｋ＋１＞の第ｉ段階のプログラムによるセル間干渉によって変動する。
【００６１】
最後に、２５４〜２５６回目のプログラム動作において、ページ＜８５＞の第２段階のプログラム、ページ＜８４＞の第３段階のプログラム、ページ＜８５＞の第３段階のプログラムを順次行う。
【００６２】
次に、図５及び図６を参照しながら、本実施形態におけるデータ書き込み順序について説明する。
【００６３】
図５は、本実施形態におけるデータ書き込み順序を示す図であり、図６は、図５のデータ書き込み順序におけるセル間干渉効果を示す図である。なお、図６では、ページ＜ｋ＞（ｋ＝２〜８５の整数）に対するセル間干渉効果については、図２０（ｃ）と同様であるため省略している。
【００６４】
最初に、１回目のプログラム動作において、選択ゲートトランジスタＳ１に最も近いページ＜０＞以外のページ＜１＞に第１段階のプログラムを行う。
【００６５】
続いて、２回目のプログラム動作において、ページ＜２＞に第１段階のプログラムを行う。これによって、図６（ｂ）に示す通り、ページ＜２＞に隣接するページ＜１＞の第１段階のプログラム後における閾値分布は、セル間干渉によって変動する。
【００６６】
続いて、３回目のプログラム動作において、ページ＜１＞に第２段階のプログラムを行う。これによって、図２０（ｃ）に示す通り、ページ＜１＞に隣接するページ＜２＞の第１段階のプログラム後における閾値分布は、セル間干渉によって変動する。
【００６７】
続いて、４回目のプログラム動作において、選択ゲートトランジスタＳ１に最も近いページ＜０＞に第１段階のプログラムを行う。これによって、図６（ｂ）に示す通り、ページ＜０＞に隣接するページ＜１＞の第２段階のプログラム後における閾値分布は、セル間干渉によって変動する。
【００６８】
以後、５〜２５６回目のプログラム動作については、図１９に示す比較例の場合と同じであるので説明を省略する。
【００６９】
本実施形態によれば、選択ゲートトランジスタＳ１に最も近いページ＜０＞のメモリセルＭＣ０の記憶ビット数を１ビットとすることで、プログラム動作時におけるディスターブ特性が向上する。
【００７０】
また、図１９に示す比較例の場合、ページ＜０＞の第１段階のプログラム後の閾値分布は、ページ＜１＞に対する全てのプログラムによるセル間干渉の影響を受けることになる。また、ページ＜１＞の第２段階のプログラム後の閾値分布は、ページ＜２＞の第２段階のプログラムによるセル間干渉の影響を受ける。
【００７１】
一方、本実施形態の場合、ページ＜０＞の第１段階のプログラム後の閾値分布は、ページ＜１＞の第３段階のプログラムによるセル間干渉のみ影響を受けることになる。また、ページ＜１＞の第２段階のプログラム後の閾値分布は、ページ＜０＞の第１段階のプログラム及びページ＜２＞の第２段階のプログラムによるセル間干渉の影響を受ける。また、ページ＜ｋ＞（ｋ＝２〜８４の整数）の第２段階のプログラム後の閾値分布は、ページ＜ｋ−１＞に対する第３段階のプログラム及びページ＜ｋ＋１＞に対する第２段階のプログラムによるセル間干渉を受ける。
【００７２】
したがって、本実施形態によれば、第３段階のプログラムによって生じるセル間干渉の影響と、第１段階のプログラムによって生じるセル間干渉の影響に大きな差がない場合、ページ＜０＞がページ＜１＞に対するプログラムによって受けるセル間干渉の影響を低減することができる。
【００７３】
なお、本実施形態は、図４（ａ）〜（ｃ）に示すような様々な書き込み方式にも適用することができる。
【００７４】
［第２の実施形態］
次に、本発明の第２の実施形態におけるデータ書き込み順序について説明する。本実施形態は、第１の実施形態と同様、図４のケース１のデータ割り付けによるフラッシュメモリに関するものであり、ページ＜０＞については、１回のプログラム段階数、その他のページ＜ｋ＞（ｋ＝２〜８５の整数）については、３回のプログラム段階数でデータ書き込みを実行するものである。
【００７５】
図７は、本実施形態におけるデータ書き込み順序であり、図８は、図７のデータ書き込み順序におけるセル間干渉効果を示す図である。なお、図８では、ページ＜ｋ＞（ｋ＝２〜８５の整数）に対するセル間干渉効果については、図２０（ｃ）と同様であるため省略している。
【００７６】
最初に、１回目のプログラム動作において、選択ゲートトランジスタＳ１に最も近いページ＜０＞以外のページ＜１＞に第１段階のプログラムを行う。
【００７７】
続いて、２回目のプログラム動作において、選択ゲートトランジスタＳ１に最も近いページ＜０＞に第１段階のプログラムを行う。これによって、図８（ｂ）に示す通り、ページ＜０＞に隣接するページ＜１＞の第１段階のプログラム後における閾値分布は、セル間干渉によって変動する。
【００７８】
続いて、３回目のプログラム動作において、ページ＜２＞に第１段階のプログラムを行う。これによって、図８（ｂ）に示す通り、ページ＜２＞に隣接するページ＜１＞の第１段階のプログラム後における閾値分布は、セル間干渉によって変動する。
【００７９】
続いて、４回目のプログラム動作において、ページ＜１＞に第２段階のプログラムを行う。これによって、図８（ａ）及び図２１（ｃ）に示す通り、ページ＜１＞に隣接するページ＜０＞の第１段階のプログラム後における閾値分布及びページ＜２＞の第１段階のプログラム後における閾値分布は、セル間干渉によって変動する。
【００８０】
以後、５〜２５６回目のプログラム動作については、図１９に示す比較例の場合と同じであるので説明を省略する。
【００８１】
以上のように、本実施例では、ページ＜０＞の第１段階のプログラム後の閾値分布は、ページ＜１＞の第２段階、第３段階のプログラムによって生じるセル間干渉のみの影響を受ける。また、ページ＜１＞の第２段階のプログラム後の閾値分布は、ページ＜２＞の第２段階のプログラムによって生じるセル間干渉の影響を受ける。
【００８２】
したがって、本実施例によれば、図１９に示す比較例に比べ、ページ＜０＞が受けるセル間干渉の影響を、ページ＜１＞に対する第１段階のプログラムによって生じるセル間干渉分だけ影響を低減させることができる。
【００８３】
［第３の実施形態］
次に、本発明の第３の実施形態におけるデータ書き込み順序について説明する。本実施形態は、図４のケース２のデータ割り付けによるフラッシュメモリに関するものであり、ページ＜８５＞に対して１回のプログラム段階数でデータ書き込みを実行し、その他のページ＜ｋ＞（ｋ＝０〜８４の整数）に対して３回のプログラム段階数でデータ書き込みを実行するものである。
【００８４】
図９は、本実施形態におけるデータ書き込み順序であり、図１０は、図９のデータ書き込み順序におけるセル間干渉効果を示す図である。なお、図９では、ページ＜０＞〜ページ＜８３＞に対するセル間干渉効果については、図２０（ｃ）と同様であるため省略している。
【００８５】
最初に、１回目のプログラム動作において、ページ＜０＞に第１段階のプログラムを行う。
【００８６】
続いて、２回目のプログラム動作において、ページ＜１＞に第１段階のプログラムを行う。これによって、図２０（ｃ）に示す通り、ページ＜１＞に隣接するページ＜０＞の第１段階のプログラム後における閾値分布は、セル間干渉によって変動する。
【００８７】
続いて、３回目のプログラム動作において、ページ＜０＞に第２段階のプログラムを行う。これによって、図２０（ｃ）に示す通り、ページ＜０＞に隣接するページ＜１＞の第１段階のプログラム後における閾値分布は、セル間干渉によって変動する。
【００８８】
続いて、４〜２５５回目のプログラム動作において、ページ＜ｋ＞の第１段階のプログラム、ページ＜ｋ−１＞の第２段階のプログラム、ページ＜ｋ−２＞の第３段階のプログラムをｋ＝５〜８５の範囲で順次行う。これによって、図２０（ｃ）に示す通り、所定のページ＜ｋ＞の第ｉ（ｉ＝１〜３）段階のプログラム後の閾値分布は、ページ＜ｋ−１＞の第ｉ＋１（ｉ＝３を除く）段階のプログラム、ページ＜ｋ＋１＞の第ｉ段階のプログラムによるセル間干渉によって変動する。
【００８９】
最後に、２５６回目のプログラム動作において、選択ゲートトランジスタＳ２に最も近いページ＜８５＞以外のページ＜８４＞に第３段階のプログラムを行う。これによって、図２０（ｃ）及び図１０（ａ）に示す通り、ページ＜８４＞に隣接するページ＜８３＞の第３段階のプログラム後における閾値分布及びページ＜８５＞の第１段階のプログラム後における閾値分布は、セル間干渉によって変動する。
【００９０】
本実施形態によれば、ページ＜０＞〜ページ＜８３＞とページ＜８４＞がそれぞれ受けるセル間干渉は、ページ＜ｋ＋１＞の２回目、第３段階のプログラムによって生じるセル間干渉を除いて、同じにすることができる。つまり、ページ＜０＞〜ページ＜８４＞の各プログラム段階後の閾値分布に影響を与えることなく、１ビット記憶のページ＜８５＞を追加することができる。また、ページ＜８５＞については、ページ＜８４＞に対する第２段階及び第３段階のプログラムによって生じるセル間干渉のみ影響し、図１９の比較例のページ＜０＞のように隣接するページに対する第１段階のプログラムによるセル間干渉の影響を受けない。
【００９１】
［第４の実施形態］
次に、本発明の第４の実施形態におけるデータ書き込み順序について説明する。本実施形態は、第３の実施形態と同様、図４のケース２のデータ割り付けによるフラッシュメモリに関するものであり、ページ＜８５＞に対して１回のプログラム段階数でデータ書き込みを実行し、その他のページ＜ｋ＞（ｋ＝０〜８４の整数）に対して３回のプログラム段階数でデータ書き込みを実行するものである。
【００９２】
図１１は、本実施形態におけるデータ書き込み順序であり、図１２は、図１１のデータ書き込み順序におけるセル間干渉効果を示す図である。なお、図１２では、ページ＜０＞〜ページ＜８３＞に対するセル間干渉効果については、図２０（ｃ）と同様であるため省略している。
【００９３】
１〜２５２回目のプログラム動作については、図９に示す第３の実施形態の場合と同じであるので説明を省略する。
【００９４】
続いて、２５３回目のプログラム動作において、ページ＜８４＞に第２段階のプログラムを行う。これによって、図２０（ｃ）に示す通り、ページ＜８４＞に隣接するページ＜８３＞の第２段階のプログラム後における閾値分布は、セル間干渉によって変動する。
【００９５】
続いて、２５４回目のプログラム動作において、ページ＜８３＞に第３段階のプログラムを行う。これによって、図２０（ｃ）に示す通り、ページ＜８３＞に隣接するページ＜８２＞の第３段階のプログラム後における閾値分布及びページ＜８４＞の第２段階のプログラム後における閾値分布は、セル間干渉によって変動する。
【００９６】
続いて、２５５回目のプログラム動作において、選択ゲートトランジスタＳ２に最も近いページ＜８５＞に第１段階のプログラムを行う。これによって、図１２（ｂ）に示す通り、ページ＜８５＞に隣接するページ＜８４＞の第２段階のプログラム後における閾値分布は、セル間干渉によって変動する。
【００９７】
最後に、２５６回目のプログラム動作において、選択ゲートトランジスタＳ２に最も近いページ＜８５＞以外のページ＜８４＞に第３段階のプログラムを行う。これによって、図２０（ｃ）及び図１２（ａ）に示す通り、ページ＜８４＞に隣接するページ＜８３＞の第３段階のプログラム後における閾値分布及びページ＜８５＞の第１段階のプログラム後における閾値分布は、セル間干渉によって変動する。
【００９８】
以上のように、本実施形態の場合、第４の実施形態と比べ、ページ＜８５＞の第１段階のプログラム後の閾値分布及びページ＜８４＞の第２段階のプログラム後の閾値分布が受けるセル間干渉の影響が異なる。
【００９９】
第４の実施形態の場合、ページ＜８５＞の第１段階のプログラム後の閾値分布は、ページ＜８４＞の第２段階及び第３段階のプログラムによって生じるセル間干渉の影響を受ける。また、ページ＜８４＞の第２段階のプログラム後の閾値分布は、ページ＜８３＞に対する第３段階のプログラムによって生じるセル間干渉の影響を受ける。
【０１００】
一方、本実施形態では、ページ＜８５＞の第１段階のプログラム後の閾値分布は、ページ８４の第３段階のプログラムによって生じるセル間干渉の影響を受ける。また、ページ＜８４＞の第２段階のプログラム後の閾値分布は、ページ＜８５＞に対する第１段階のプログラム及びページ＜８３＞に対する第３段階のプログラムによって生じるセル間干渉の影響を受ける。一般に、ページ＜ｋ＞（ｋ＝１〜８３の整数）の第２段階のプログラム後の閾値分布は、ページ＜ｋ−１＞に対する第３段階のプログラム及びページ＜ｋ＋１＞に対する第２段階のプログラムによって生じるセル間干渉の影響を受ける。
【０１０１】
したがって、本実施形態によれば、第２段階のプログラムによって生じるセル間干渉の影響と、第１段階のプログラムによって生じるセル間干渉の影響に大きな差がない場合、ページ＜８５＞がページ＜８４＞に対するプログラムによって受けるセル間干渉の影響を低減することができる。
【０１０２】
［第５の実施形態］
次に、本発明の第５の実施形態におけるデータ書き込み順序について説明する。本実施形態は、図４のケース３のデータ割り付けによるフラッシュメモリに関するものであり、ページ＜０＞及びページ＜８５＞に対して２回のプログラム段階数でデータ書き込みを実行し、その他のページ＜ｋ＞（ｋ＝１〜８４の整数）に対して３回のプログラム段階数でデータ書き込みを実行するものである。
【０１０３】
まず、データ書き込み順序について説明する前に、図１３を参照しながら、２ビットのデータの書き込みを、２回のプログラム段階数で実行する際の各メモリセルＭＣの閾値分布例について説明する。
【０１０４】
メモリセルＭＣは、予めブロック消去によってブロック内の全てのメモリセルＭＣの閾値は、最も低い“０”レベルになっている。
【０１０５】
図１３（ａ）の場合、第１段階のプログラム（1st stage）において、Ｌページの書き込みを行い、Ｌページデータ“０”の閾値を“１”に引き上げる。なお、図１３中のＬページデータ“０”、及び“１”は、それぞれ２進数のデータ１、及び０に相当している。
【０１０６】
その後、第２段階のプログラム（2nd stage）において、Ｕページの書き込みを行い、Ｌページデータ“０”又は“１”から、それぞれＵページデータ“０”又は“１”、“２”、“３”の閾値分布を生成する。なお、図１３中のＭページデータ“０”、“１”、“２”、及び“３”は、それぞれ２進数のデータ１１、０１、００、及び１０に相当している。
【０１０７】
図１３（ｂ）の場合、第１段階のプログラム（1st stage）において、Ｌページ及びＵページの大まかな書き込みを行い、Ｌページデータ“０”の閾値分布からＵページデータ“０”〜“３”の閾値分布を生成する。但し、この時点においては、Ｕページデータ“１”〜“３”の閾値分布は、それぞれ隣接する閾値分布と重なりあった分布となっている。
【０１０８】
その後、第２段階のプログラム（2rd stage）において、Ｌページ及びＵページの緻密な書き込みを行う。これによって、第１段階のプログラム後の重なりあっていたＵページデータ“１”〜“３”の閾値分布は、それぞれ狭まり明確に分離される。
【０１０９】
以上、図１３（ａ）、（ｂ）のいずれの場合であっても、メモリセルＭＣｋのプログラム後の閾値分布は、その後に実行される隣接するメモリセルＭＣｋ−１及びメモリセルＭＣｋ＋１に対するプログラムによって生じるセル間干渉効果によって、閾値分布が広がる。しかし、その後のメモリセルＭＣｋに対するプログラムによって、この効果をある程度修正することが可能である。一方、一度のセル間干渉で受ける影響は、その隣接するメモリセルＭＣｋ−１及びメモリセルＭＣｋ＋１に対するプログラムが何段階目かによっても異なる。例えば、図１３（ａ）、（ｂ）のいずれの場合であっても、第２段階のプログラムについては、印加される電気エネルギが比較的小さいため、それによって生じるセル間干渉の影響は、第１段階のプログラム時よりも相対的に小さくなる。
【０１１０】
次に、本実施形態の比較例となるフラッシュメモリにおけるデータ書き込み順序について説明する。図２１は、比較例におけるデータ書き込み順序であり、図２２は、図２１のデータ書き込み順序におけるセル間干渉効果を示す図である。なお、図２２では、ページ＜２＞〜ページ＜８５＞に対するセル間干渉については、図２０（ｃ）と同様であるため省略している。
【０１１１】
最初に、１回目のプログラム動作において、選択ゲートトランジスタＳ１に最も近いページ＜０＞に第１段階のプログラムを行う。
【０１１２】
続いて、２回目のプログラム動作において、ページ＜１＞に第１段階のプログラムを行う。これによって、図２２（ａ）に示す通り、ページ＜１＞に隣接するページ＜０＞の第１段階のプログラム後の閾値分布は、セル間干渉によって変動する。
【０１１３】
続いて、３回目のプログラム動作において、ページ＜０＞に第２段階のプログラムを行う。これによって、図２２（ｂ）に示す通り、ページ＜０＞に隣接するページ＜１＞の第１段階のプログラム後の閾値分布は、セル間干渉によって変動する。
【０１１４】
続いて、４回目のプログラム動作において、ページ＜２＞に第１段階のプログラムを行う。これによって、図２２（ｂ）に示す通り、ページ＜２＞に隣接するページ＜１＞の第１段階のプログラム後の閾値分布は、セル間干渉によって変動する。
【０１１５】
続いて、５回目のプログラム動作において、ページ＜１＞に第２段階のプログラムを行う。これによって、図２２（ａ）及び図２０（ｃ）に示す通り、ページ＜１＞に隣接するページ＜０＞の第２段階のプログラム後の閾値分布及びページ＜２＞の第１段階のプログラム後の閾値分布は、セル間干渉によって変動する。
【０１１６】
続いて、６〜２５４回目のプログラム動作において、ページ＜ｋ＞の第１段階のプログラム、ページ＜ｋ−１＞の第２段階のプログラム、ページ＜ｋ−２＞の第３段階のプログラムをｋ＝３〜８５の範囲で順次行う。これによって、図２０（ｃ）に示す通り、所定のページ＜ｋ＞の第ｉ（ｉ＝１〜３）段階のプログラム後の閾値分布は、ページ＜ｋ−１＞の第ｉ＋１（ｉ＝３を除く）段階のプログラム、ページ＜ｋ＋１＞の第ｉ段階のプログラムによって生じるセル間干渉によって変動する。
【０１１７】
続いて、２５５回目のプログラム動作において、選択ゲートトランジスタＳ２に最も近いページ＜８５＞に第２段階のプログラムを行う。これによって、図２０（ｃ）に示す通り、ページ＜８５＞に隣接するページ＜８４＞の第２段階のプルグラム後における閾値分布は、セル間干渉によって変動する。
【０１１８】
最後に、２５６回目のプログラム動作において、選択ゲートトランジスタＳ２に最も近いページ＜８５＞以外のページ＜８４＞に第３段階のプログラムを行う。これによって、図２０（ｃ）に示す通り、ページ＜８４＞に隣接するページ＜８３＞の第３段階のプログラム後の閾値分布及びページ＜８５＞の第２段階のプログラム後の閾値分布は、セル間干渉によって変動する。
【０１１９】
次に、本発明の第５の実施形態におけるデータ書き込み順序について説明する。図１４は、本実施形態におけるデータ書き込み順序であり、図１５は、図１４のデータ書き込み順序におけるセル間干渉効果を示す図である。なお、図１４では、ページ＜２＞〜ページ＜８５＞に対するセル間干渉については、図２０（ｃ）と同様であるため省略している。
【０１２０】
最初に、１回目のプログラム動作において、選択ゲートトランジスタＳ１に最も近いページ＜０＞以外のページ＜１＞に第１段階のプログラムを行う。
【０１２１】
続いて、２回目のプログラム動作において、選択ゲートトランジスタＳ１に最も近いページ＜０＞に第１段階のプログラムを行う。これによって、図１５（ｂ）に示す通り、ページ＜０＞に隣接するページ＜１＞の第１段階のプログラム後の閾値分布は、セル間干渉によって変動する。
【０１２２】
続いて、３〜２５４回目のプログラム動作において、ページ＜ｋ＞の第１段階のプログラム、ページ＜ｋ−１＞の第２段階のプログラム、ページ＜ｋ−２＞の第３段階のプログラムをｋ＝２〜８５の範囲で順次行う。これによって、図２０（ｃ）に示す通り、所定のページ＜ｋ＞の第ｉ（ｉ＝１〜３）段階のプログラム後の閾値分布は、ページ＜ｋ−１＞の第ｉ＋１（ｉ＝３を除く）段階のプログラム、ページ＜ｋ＋１＞の第ｉ段階のプログラムによるセル間干渉によって変動する。
【０１２３】
以後、２５５、２５６回目のプログラム動作については、図２１に示す比較例の場合と同じであるので説明を省略する。
【０１２４】
以上のように、本実施形態の場合、比較例に比べ、特に、ページ＜０＞の第２段階のプログラム後の閾値分布及びページ＜１＞の第２段階のプログラム後の閾値分布が受けるセル間干渉の影響が異なる。
【０１２５】
図２１に示す比較例の場合、ページ＜０＞の第２段階のプログラム後の閾値分布は、ページ＜１＞に対する第２段階及び第３段階のプログラムによって生じるセル間干渉の影響を受ける。また、ページ＜１＞の第２段階のプログラム後の閾値分布は、ページ＜２＞に対する第２段階のプログラムによって生じるセル間干渉の影響を受ける。
【０１２６】
一方、本実施形態の場合、ページ＜０＞の第２段階のプログラム後の閾値分布は、ページ＜１＞に対する第３段階のプログラムによって生じるセル間干渉の影響のみを受ける。また、ページ＜１＞の第２段階のプログラム後の閾値分布は、ページ＜０＞に対する第２段階のプログラム及びページ＜２＞に対する第２段階のプログラムによって生じるセル間干渉の影響を受ける。一般に、ページ＜ｋ＞（ｋ＝２〜８４の整数）の第２段階のプログラム後の閾値分布は、ページ＜ｋ−１＞に対する第３段階のプログラム及びページ＜ｋ＋１＞に対する第２段階のプログラムによって生じるセル間干渉の影響を受ける。
【０１２７】
したがって、本実施形態によれば、ページ＜０＞に対する第２段階のプログラム後によって生じるセル間干渉の影響が、それぞれのメモリセルＭＣが３ビットを記憶するページ＜１＞〜ページ＜８４＞に対する第３段階のプログラムによって生じるセル間干渉の影響と大差ない場合には、ページ＜０＞がページ＜１＞に対する各プログラムによって受けるセル間干渉の影響を、図２１に示す比較例の場合と比べ、ページ＜１＞に対する第２段階のプログラムによって生じるセル間干渉分だけ低減させることができる。
【０１２８】
［第６の実施形態］
次に、本発明の第６の実施形態におけるデータ書き込み順序について説明する。本実施形態は、図４のケース１のデータ割り付けによるフラッシュメモリに関するものであり、ページ＜０＞に対して１回のプログラム段階数でデータ書き込みを実行し、その他のページ＜ｋ＞（ｋ＝１〜８４の整数）に対して２回のプログラム段階数でデータ書き込みを実行するものである。
【０１２９】
まず、データ書き込み順序について説明する前に、図１６を参照しながら、３ビットのデータの書き込みを、２回のプログラム段階数でデータ書き込みを実行する際の各メモリセルＭＣの閾値分布例について説明する。
【０１３０】
メモリセルＭＣは、予めブロック消去によってブロック内の全てのメモリセルＭＣの閾値は、最も低い“０”レベルになっている。
【０１３１】
第１段階のプログラム（1st stage）において、Ｌページ、Ｍページ、及びＵページの大まかな書き込みを行い、Ｌページデータ“０”の閾値分布からＵページデータ“０”〜“７”の閾値分布を生成する。但し、この時点においては、Ｕページデータ“１”〜“７”の閾値分布は、それぞれ隣接する閾値分布と重なりあった分布となっている。
【０１３２】
その後、第２段階のプログラム（2rd stage）において、Ｌページ、Ｍページ、及びＵページの緻密な書き込みを行う。これによって、第１段階のプログラム後の重なりあっていたＵページデータ“１”〜“７”の閾値分布は、それぞれ狭まり明確に分離される。
【０１３３】
次に、以上のような構成のフラッシュメモリに対するデータ書き込み順序について説明する。
【０１３４】
先ず、本実施形態におけるデータ書き込み順序を説明する前に、比較例となるフラッシュメモリのデータ書き込み順序について説明する。図２３は、比較例におけるデータ書き込み順序であり、図２４は、図２３のデータ書き込み順序におけるセル間干渉効果を示す図である。
【０１３５】
最初に、１回目のプログラム動作において、選択ゲートトランジスタＳ１に最も近いページ＜０＞に第１段階のプログラムを行う。
【０１３６】
続いて、２回目のプログラム動作において、ページ＜１＞に第１段階のプログラムを行う。これによって、図２４（ａ）に示す通り、ページ＜１＞に隣接するページ＜０＞の第１段階のプログラム後の閾値分布は、セル間干渉によって変動する。
【０１３７】
続いて、３回目のプログラム動作において、ページ＜２＞に第１段階のプログラムを行う。これによって、図２４（ｂ）に示す通り、ページ＜２＞に隣接するページ＜１＞の第１段階のプログラム後の閾値分布は、セル間干渉によって変動する。
【０１３８】
続いて、４回目のプログラム動作において、ページ＜１＞に第２段階のプログラムを行う。これによって、図２４（ａ）及び（ｃ）に示す通り、ページ＜１＞に隣接するページ＜０＞の第１段階のプログラム後の閾値分布及びページ＜２＞の第１段階のプログラム後の閾値分布は、セル間干渉によって変動する。
【０１３９】
続いて、５〜１７０回目のプログラム動作において、ページ＜ｋ＞の第１段階のプログラム、ページ＜ｋ−１＞の第２段階のプログラムをｋ＝２〜８５の範囲で順次行う。これによって、図２４（ｃ）に示す通り、所定のページ＜ｋ＞の第ｉ（ｉ＝１、２）段階のプログラム後の閾値分布は、ページ＜ｋ−１＞の第ｉ＋１（ｉ＝２を除く）段階のプログラム、ページ＜ｋ＋１＞の第ｉ段階のプログラムによるセル間干渉によって変動する。
【０１４０】
最後に、１７１回目のプログラム動作において、選択ゲートトランジスタに最も近いページ＜８５＞に第２段階のプログラムを行う。これによって、図２４（ｃ）に示す通り、ページ＜８５＞に隣接するページ＜８４＞の第２段階のプログラム後の閾値分布は、セル間干渉によって変動する。
【０１４１】
次に、本発明の第６の実施形態に係るフラッシュメモリにおけるデータ書き込み順序を説明する。図１７は、本実施形態におけるデータ書き込み順序であり、図１８は、図１７のデータ書き込み順序におけるセル間干渉効果を示す図である。なお、図１８では、ページ＜０＞〜ページ＜８３＞に対するセル間干渉効果については、図２４（ｃ）と同様であるため省略している。
【０１４２】
最初に、１回目のプログラム動作において、選択ゲートトランジスタＳ１に最も近いページ＜０＞以外のページ＜１＞に第１段階のプログラムを行う。
【０１４３】
続いて、２回目のプログラム動作において、選択ゲートトランジスタＳ１に最も近いページ＜０＞に第１段階のプログラムを行う。これによって、図１８（ｂ）に示す通り、ページ＜０＞に隣接するページ＜１＞の第１段階のプログラム後の閾値分布は、セル間干渉によって変動する。
【０１４４】
続いて、３回目のプログラム動作において、ページ＜０＞に第２段階のプログラムを行う。これによって、図１８（ｂ）に示す通り、ページ＜０＞に隣接するページ＜１＞の第１段階のプログラム後の閾値分布は、セル間干渉によって変動する。
【０１４５】
以後、３〜１７１回目のプログラム動作については、図２３に示す比較例の場合と同じであるので説明を省略する。
【０１４６】
本実施形態によれば、選択ゲートトランジスタＳ１に最も近いページ＜０＞のメモリセルＭＣ０の記憶ビット数を１ビットとすることで、プログラム動作時におけるディスターブ特性が向上する。
【０１４７】
また、図２３に示す比較例の場合、ページ＜０＞の第１段階のプログラム後の閾値分布は、ページ＜１＞に対する第１段階及び第２段階のプログラムによって生じるセル間干渉の影響を受ける。また、ページ＜１＞の第１段階のプログラム後における閾値分布は、ページ＜２＞に対する第１段階のプログラムによって生じるセル間干渉のみ影響を受ける。
【０１４８】
一方、本実施形態の場合、ページ＜０＞の第１段階のプログラム後における閾値分布は、ページ＜１＞に対する第２段階のプログラムによって生じるセル間干渉のみ影響を受ける。また、ページ＜１＞の第１段階のプログラム後の閾値分布は、ページ＜２＞に対する第１段階のプログラム及びページ＜０＞の第１段階のプログラムによって生じるセル間干渉の影響を受ける。一般に、ページ＜ｋ＞（ｋ＝２〜８５の整数）の第１段階のプログラム後の閾値分布は、ページ＜ｋ−１＞に対する第２段階のプログラム及びページ＜ｋ＋１＞に対する第１段階のプログラムによって生じるセル間干渉の影響を受ける。
【０１４９】
したがって、本実施形態によれば、ページ＜０＞に対する第１段階のプログラムによって生じるセル間干渉の影響が、それぞれのメモリセルＭＣが３ビットを記憶するページ＜１＞〜ページ＜８５＞に対する第２段階のプログラムによって生じるセル間干渉の影響と大差ない場合には、ページ＜０＞がページ＜１＞に対する各プログラムによって受けるセル間干渉の影響を、図２３に示す比較例の場合と比べ、ページ＜１＞に対する第１段階のプログラムによって生じるセル間干渉分だけ低減させることができる。
【０１５０】
［その他］
以上、発明の実施の形態を説明したが、本発明はこれらに限定されるものではなく、発明の趣旨を逸脱しない範囲内において、種々の変更、追加等が可能である。
【０１５１】
上記実施形態に係る不揮発性メモリは、いずれも電荷蓄積層として浮遊ゲートを備えるメモリセルを用いていたが、この他にも、例えば、ＭＯＮＯＳ構造のような、電荷蓄積層として絶縁膜を備えるチャージトラップ型のメモリセルセルを用いても上記実施形態と同様の効果が得られる。
【０１５２】
上記実施形態はまた、すべてＡＢＬ（All-Bit-Line）アクセス方式、シールドビット線アクセス方式のいずれの場合であっても適用可能であるが、例えば、シールドビット線アクセス方式を選択した場合、各データ書き込み順序のページアクセスにおいて、偶数ビット線、奇数ビット線の順番にプログラムすれば良い。
【０１５３】
ただし、ＡＢＬアクセス方式の方が、シールドビット線アクセス方式と比較して、隣接ビット線間のメモリセルに同時にプログラムできるため、隣接ビット線間のセル間干渉を少なくすることができる。
【０１５４】
また、データ書き込みをシールドビット線アクセスにし、データ読み出しをＡＢＬアクセス方式にする場合でも同様の効果が得られる。この場合、（１）偶数ビット線に対するプログラム、奇数ビット線に対するプログラム、ＡＢＬに対するベリファイ、（２）偶数ビット線に対するプログラム、ＡＢＬに対するベリファイ、奇数ビット線に対するプログラム、（３）偶数ビット線／奇数ビット線に対するプログラム／ベリファイ、若しくは（４）偶数ビット線／奇数ビット線に対するベリファイ／プログラム、など様々な順番の組み合わせによっても同様の効果を得ることができる。
【符号の説明】
【０１５５】
１・・・メモリセルアレイ、２ａ・・・ロウデコーダ／ワード線ドライバ、２ｂ・・・カラムデコーダ、３・・・ページバッファ、４・・・ＮＡＮＤセルユニット、５ａ・・・ロウアドレスレジスタ、５ｂ・・・カラムアドレスレジスタ、６・・・ロジック制御回路、８・・・高電圧発生回路、９・・・Ｉ／Ｏバッファ、１０・・・ＮＡＮＤチップ、１１・・・コントローラ。
【図１】
2010250891.tif 000003
【図２】
2010250891.tif 000004
【図３】
2010250891.tif 000005
【図４】
2010250891.tif 000006
【図５】
2010250891.tif 000007
【図６】
2010250891.tif 000008
【図７】
2010250891.tif 000009
【図８】
2010250891.tif 000010
【図９】
2010250891.tif 000011
【図１０】
2010250891.tif 000012
【図１１】
2010250891.tif 000013
【図１２】
2010250891.tif 000014
【図１３】
2010250891.tif 000015
【図１４】
2010250891.tif 000016
【図１５】
2010250891.tif 000017
【図１６】
2010250891.tif 000018
【図１７】
2010250891.tif 000019
【図１８】
2010250891.tif 000020
【図１９】
2010250891.tif 000021
【図２０】
2010250891.tif 000022
【図２１】
2010250891.tif 000023
【図２２】
2010250891.tif 000024
【図２３】
2010250891.tif 000025
【図２４】
2010250891.tif 000026