(57)【要約】【課題】データの信頼性を向上することが可能な半導体記憶装置及びメモリシステムを提供する。【解決手段】実施形態の半導体記憶装置１０は、２ビット以上のデータを記憶可能な複数のメモリセルＭＣと、複数のメモリセルＭＣに接続されたワード線ＷＬと、を備える。複数のメモリセルＭＣの書き込み動作において、ワード線ＷＬにプログラム電圧Ｖpgmを印加するプログラム動作を含むプログラムループが繰り返される。書き込み動作は、それぞれが複数回のプログラムループを含む第１期間と第１期間に続く第２期間とを含む。プログラム電圧Ｖpgmは、第１期間中にはプログラムループ毎に第１電圧ΔＶpgm１ずつ増加し、第２期間中にはプログラムループ毎に第１電圧より小さい第２電圧ΔＶpgm２ずつ増加する。【選択図】図６
2017208152.tif 000002
【特許請求の範囲】
【請求項１】
それぞれが２ビット以上のデータを記憶可能な複数の第１メモリセルと、
前記複数の第１メモリセルに接続された第１ワード線と、を備え、
第１書き込み動作において、前記第１ワード線にプログラム電圧を印加するプログラム動作を含むプログラムループが繰り返され、
前記第１書き込み動作は、それぞれが複数回の前記プログラムループを含む第１期間と前記第１期間に続く第２期間とを含み、
前記プログラム電圧は、前記第１期間中には前記プログラムループ毎に第１電圧ずつ増加し、前記第２期間中には前記プログラムループ毎に前記第１電圧より小さい第２電圧ずつ増加する
ことを特徴とする半導体記憶装置。
【請求項２】
前記プログラムループは、前記プログラム動作に続いて前記複数の第１メモリセルの閾値電圧が第１閾値を超えたかどうかを確認するベリファイ動作を含み、
前記第１書き込み動作は、前記ベリファイ動作によって前記第１閾値のベリファイにパスしたことに基づいて、前記第１期間から前記第２期間に移行する
ことを特徴とする請求項１に記載の半導体記憶装置。
【請求項３】
前記第１閾値のベリファイにパスすると、その次のプログラムループから前記プログラム電圧の増加量が変化する
ことを特徴とする請求項２に記載の半導体記憶装置。
【請求項４】
前記第１閾値のベリファイにパスすると、その２つ後のプログラムループから前記プログラム電圧の増加量が変化する
ことを特徴とする請求項２に記載の半導体記憶装置。
【請求項５】
各プログラムループにおけるベリファイ動作の結果から前記第１閾値のベリファイにパスしたかどうかを判定する判定動作は、その次のプログラムループにおけるプログラム動作と並列処理される
ことを特徴とする請求項４に記載の半導体記憶装置。
【請求項６】
それぞれが２ビット以上のデータを記憶可能な複数の第２メモリセルと、
前記複数の第２メモリセルに接続された第２ワード線と、をさらに備え、
前記プログラム動作において、前記第２ワード線には書き込みパス電圧が印加され、
前記書き込みパス電圧は、前記第１期間中には前記プログラムループ毎に第３電圧ずつ増加し、前記第２期間中には前記プログラムループ毎に前記第３電圧より小さい第４電圧ずつ増加する
ことを特徴とする請求項１に記載の半導体記憶装置。
【請求項７】
前記第３電圧は前記第１電圧以下であり、前記第４電圧は前記第２電圧以下である
ことを特徴とする請求項６に記載の半導体記憶装置。
【請求項８】
前記第１書き込み動作は、複数回の前記プログラムループを含み且つ前記第２期間に続く第３期間をさらに含み、
前記プログラム電圧は、前記３期間中には前記プログラムループ毎に前記第２電圧より小さい第３電圧ずつ増加する
ことを特徴とする請求項１に記載の半導体記憶装置。
【請求項９】
複数の第１メモリセルにそれぞれ接続された複数のビット線をさらに備え、
前記第１書き込み動作において、前記第１メモリセルに第１データを書き込む場合、第１閾値と前記第１閾値より低い第２閾値とが設定され、
前記プログラム動作において前記ビット線には、前記第１及び第２閾値のベリファイにフェイルした場合第３電圧が印加され、前記第１及び第２閾値のベリファイにそれぞれフェイル及びパスした場合前記第３電圧より高い第４電圧が印加され、前記第１及び第２閾値のベリファイにパスした場合前記第４電圧より高い第５電圧が印加される
ことを特徴とする請求項１に記載の半導体記憶装置。
【請求項１０】
前記第１書き込み動作は、前記第１期間で実行された前記プログラムループの回数に基づいて、前記第１期間から前記第２期間に移行する
ことを特徴とする請求項１に記載の半導体記憶装置。
【請求項１１】
前記第１書き込み動作は、前記第１期間で実行された前記プログラムループ毎の前記プログラム電圧の値に基づいて、前記第１期間から前記第２期間に移行する
ことを特徴とする請求項１に記載の半導体記憶装置。
【請求項１２】
前記第１メモリセルには、３ビット又は４ビットのデータが１回の前記第１書き込み動作で書き込まれる
ことを特徴とする請求項１に記載の半導体記憶装置。
【請求項１３】
コマンドに応じて書き込み動作を実行する制御回路をさらに備え、
前記制御回路は、第１コマンドを受けた場合に前記第１書き込み動作を実行し、第２コマンドを受けた場合に前記第１書き込み動作と異なる第２書き込み動作を実行し、
前記第１書き込み動作の実行時間と、前記第２書き込み動作の実行時間とは異なる
ことを特徴とする請求項１に記載の半導体記憶装置。
【請求項１４】
前記第２書き込み動作において、前記プログラムループが繰り返され、
前記プログラム電圧は、前記第２書き込み動作中には前記プログラムループ毎に第３電圧ずつ増加する
ことを特徴とする請求項１３に記載の半導体記憶装置。
【請求項１５】
請求項１３に記載の半導体記憶装置と、
前記第１及び第２コマンドを発行可能なコントローラと、を備える
ことを特徴とするメモリシステム。
【請求項１６】
それぞれが２ビット以上のデータを記憶可能な複数の第２メモリセルと、
前記複数の第２メモリセルに接続された第２ワード線と、を備え、
半導体基板の上方には、前記第１及び第２ワード線にそれぞれ対応する第１及び第２配線層が積層されている
ことを特徴とする請求項１に記載の半導体記憶装置。
【発明の詳細な説明】
【技術分野】
【０００１】
実施形態は半導体記憶装置及びメモリシステムに関する。
【背景技術】
【０００２】
２ビット以上のデータを記憶するメモリセルを用いた半導体記憶装置が知られている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１４−２４１１８０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
データの信頼性を向上することが可能な半導体記憶装置及びメモリシステムを提供する。
【課題を解決するための手段】
【０００５】
実施形態の半導体記憶装置は、２ビット以上のデータを記憶可能な複数の第１メモリセルと、複数の第１メモリセルに接続された第１ワード線と、を備える。書き込み動作において、第１ワード線にプログラム電圧を印加するプログラム動作を含むプログラムループが繰り返される。書き込み動作は、それぞれが複数回のプログラムループを含む第１期間と第１期間に続く第２期間とを含む。プログラム電圧は、第１期間中にはプログラムループ毎に第１電圧ずつ増加し、第２期間中にはプログラムループ毎に第１電圧より小さい第２電圧ずつ増加する。
【図面の簡単な説明】
【０００６】
【図１】第１実施形態に係るメモリシステムのブロック図。
【図２】第１実施形態に係る半導体記憶装置のブロック図。
【図３】第１実施形態に係る半導体記憶装置の備えるメモリセルアレイ及びセンスアンプモジュールの回路図。
【図４】第１実施形態に係る半導体記憶装置の備えるメモリセルの閾値分布。
【図５】第１実施形態に係る半導体記憶装置の備えるセンスアンプモジュールの回路図。
【図６】第１実施形態に係る半導体記憶装置における書き込み動作のフローチャート。
【図７】第１実施形態に係る半導体記憶装置における書き込み動作の波形図。
【図８】第１実施形態に係る半導体記憶装置における書き込み動作の説明図。
【図９】第１実施形態に係る半導体記憶装置における効果の説明図。
【図１０】第２実施形態に係る半導体記憶装置における書き込み動作のフローチャート。
【図１１】第２実施形態に係る半導体記憶装置における書き込み動作の波形図。
【図１２】第２実施形態に係る半導体記憶装置における書き込み動作の説明図。
【図１３】第３実施形態に係る半導体記憶装置における書き込み動作のフローチャート。
【図１４】第３実施形態に係る半導体記憶装置における書き込み動作の波形図。
【図１５】第３実施形態に係る半導体記憶装置における書き込み動作の説明図。
【図１６】第４実施形態に係る半導体記憶装置における書き込み動作の説明図。
【図１７】第４実施形態に係る半導体記憶装置における書き込み動作の波形図。
【図１８】第５実施形態に係る半導体記憶装置における書き込み動作のフローチャート。
【図１９】第５実施形態に係る半導体記憶装置における書き込み動作の波形図。
【図２０】第５実施形態に係る半導体記憶装置における書き込み動作の説明図。
【図２１】第５実施形態に係る半導体記憶装置における書き込み動作のフローチャート。
【図２２】第６実施形態に係る半導体記憶装置の備えるメモリセルの閾値分布。
【図２３】第６実施形態に係る半導体記憶装置の備えるメモリセルの閾値分布。
【図２４】第７実施形態に係るメモリシステムにおける書き込み動作の説明図。
【図２５】第７実施形態に係るメモリシステムにおける書き込み動作のコマンドシーケンス。
【図２６】第７実施形態に係るメモリシステムにおける書き込み動作のコマンドシーケンス。
【図２７】第７実施形態に係るメモリシステムにおける設定変更動作のコマンドシーケンス。
【図２８】第８実施形態に係る半導体記憶装置におけるメモリセルアレイの回路図。
【図２９】第８実施形態に係る半導体記憶装置におけるメモリセルアレイの断面図。
【発明を実施するための形態】
【０００７】
以下に、実施形態について図面を参照して説明する。参照される図面は模式的なものである。以下の説明において、同一の機能及び構成を有する要素については、共通する参照符号を付す。参照符号を構成する数字の後のアルファベットは、同じ数字を含んだ参照符号によって参照され、且つ同様の構成を有する要素同士を区別するために用いられている。同じ数字を含んだ参照符号で示される要素を相互に区別する必要がない場合、これらの要素は数字のみを含んだ参照符号により参照される。
【０００８】
［１］第１実施形態
以下に、第１実施形態に係る半導体記憶装置について説明する。
【０００９】
［１−１］メモリシステム１の構成
まず、図１を用いてメモリシステムの構成について説明する。図１にはメモリシステムのブロック図が示されている。図１に示すようにメモリシステム１は、半導体記憶装置１０、及びコントローラ２０を備えている。
【００１０】
半導体記憶装置１０は、データを不揮発に記憶するＮＡＮＤ型フラッシュメモリである。半導体記憶装置１０の構成の詳細については後述する。
【００１１】
コントローラ２０は、外部の図示せぬホスト機器からの命令に応答して、半導体記憶装置１０に対して読み出し、書き込み、及び消去等を命令する。またコントローラ２０は、半導体記憶装置１０におけるメモリ空間を管理する。
【００１２】
図１に示すようにコントローラ２０は、プロセッサ（ＣＰＵ）２１、内蔵メモリ（ＲＡＭ）２２、ＥＣＣ回路２３、ＮＡＮＤインターフェイス回路２４、バッファメモリ２５、及びホストインターフェイス回路２６を備えている。
【００１３】
プロセッサ２１は、コントローラ２０全体の動作を制御する。例えばプロセッサ２１は、ホスト機器から受信した書き込み命令に応答して、ＮＡＮＤインターフェイスに基づく書き込み命令を発行する。この動作は、読み出し及び消去の場合についても同様である。
【００１４】
内蔵メモリ２２は、例えばＤＲＡＭ等の半導体メモリであり、プロセッサ２１の作業領域として使用される。内蔵メモリ２２は、半導体記憶装置１０を管理するためのファームウェアや、各種の管理テーブル等を保持する。
【００１５】
ＥＣＣ回路２３は、データのエラー訂正（ＥＣＣ：Error Checking and Correcting）処理を行う。具体的には、ＥＣＣ回路２３は、データの書き込み時に書き込みデータに基づいてパリティを生成する。そしてＥＣＣ回路２３は、データの読み出し時にパリティからシンドロームを生成してエラーを検出し、検出したエラーを訂正する。
【００１６】
ＮＡＮＤインターフェイス回路２４は、半導体記憶装置１０と接続され、半導体記憶装置１０との通信を司る。例えばＮＡＮＤインターフェイス回路２４は、半導体記憶装置１０との間で入出力信号Ｉ／Ｏを送信及び受信する。例えば、コントローラ２０が半導体記憶装置１０に送信する入出力信号Ｉ／ＯはコマンドＣＭＤ、アドレス情報ＡＤＤ、及び書き込みデータＤＡＴを含み、コントローラ２０が半導体記憶装置１０から受信する入出力信号Ｉ／Ｏはステータス情報ＳＴＳ、及び読み出しデータＤＡＴを含んでいる。
【００１７】
バッファメモリ２５は、コントローラ２０が半導体記憶装置１０及びホスト機器から受信したデータ等を一時的に保持する。
【００１８】
ホストインターフェイス回路２６は、図示せぬホストバスを介してホスト機器と接続され、ホスト機器との通信を司る。例えばホストインターフェイス回路２６は、ホスト機器から受信した命令及びデータをそれぞれ、プロセッサ２１及びバッファメモリ２５に転送する。
【００１９】
［１−１−１］半導体記憶装置１０の構成
次に、図２を用いて半導体記憶装置１０の構成について説明する。図２には半導体記憶装置１０のブロック図が示されている。図２に示すように半導体記憶装置１０は、メモリセルアレイ１１、センスアンプモジュール１２、ロウデコーダ１３、入出力回路１４、レジスタ１５、ロジック制御回路１６、シーケンサ１７、レディ／ビジー制御回路１８、及び電圧生成回路１９を備えている。
【００２０】
メモリセルアレイ１１は、ブロックＢＬＫ０〜ＢＬＫｎ（ｎは１以上の自然数）を備えている。ブロックＢＬＫは、ビット線及びワード線に関連付けられた複数の不揮発性メモリセルの集合であり、例えばデータの消去単位となる。半導体記憶装置１０は、各メモリセルにおいて、２ビット以上のデータを記憶させるＭＬＣ（Multi-Level Cell）方式を適用してデータを保持することが出来る。本実施形態は、メモリセルに２ビットのデータを記憶させる場合を例に説明する。
【００２１】
センスアンプモジュール１２は、メモリセルアレイ１１から読み出したデータＤＡＴを、入出力回路１４を介してコントローラ２０に出力する。またセンスアンプモジュール１２は、コントローラ２０から入出力回路１４を介して受け取った書き込みデータＤＡＴを、メモリセルアレイ１１に転送する。
【００２２】
ロウデコーダ１３は、読み出し動作及び書き込み動作を行う対象のメモリセルに対応するワード線を選択する。そしてロウデコーダ１３は、選択ワード線及び非選択ワード線にそれぞれ所望の電圧を印加する。
【００２３】
入出力回路１４は、コントローラ２０との間で例えば８ビット幅の入出力信号Ｉ／Ｏ（Ｉ／Ｏ１〜Ｉ／Ｏ８）を送信及び受信する。例えば入出力回路１４は、コントローラ２０から受信した入出力信号Ｉ／Ｏに含まれた書き込みデータＤＡＴを、センスアンプモジュール１２に転送する。また入出力回路１４は、センスアンプモジュール１２から転送された読み出しデータＤＡＴを入出力信号Ｉ／Ｏとしてコントローラ２０に送信する。
【００２４】
レジスタ１５は、ステータスレジスタ１５Ａ、アドレスレジスタ１５Ｂ、コマンドレジスタ１５Ｃを含む。ステータスレジスタ１５Ａは、ステータス情報ＳＴＳを保持する。またステータスレジスタ１５Ａは、シーケンサ１７の指示に応じてこのステータス情報ＳＴＳを入出力回路１４に転送する。アドレスレジスタ１５Ｂは、入出力回路１４からアドレス情報ＡＤＤを受け取り、このアドレス情報ＡＤＤを保持する。そしてアドレスレジスタ１５Ｂは、アドレス情報ＡＤＤに含まれたカラムアドレス信号ＣＡ及びロウアドレス信号ＲＡをそれぞれ、センスアンプモジュール１２及びロウデコーダ１３に転送する。コマンドレジスタ１５Ｃは、入出力回路１４からコマンドＣＭＤを受け取り、このコマンドＣＭＤを保持する。そしてコマンドレジスタ１５Ｃは、コマンドＣＭＤをシーケンサ１７に転送する。
【００２５】
ロジック制御回路１６は、コントローラ２０から各種制御信号を受信し、入出力回路１４及びシーケンサ１７を制御する。この制御信号としては、例えばチップイネーブル信号／ＣＥ、コマンドラッチイネーブル信号ＣＬＥ、アドレスラッチイネーブル信号ＡＬＥ、ライトイネーブル信号／ＷＥ、リードイネーブル信号／ＲＥ、及びライトプロテクト信号／ＷＰが使用される。信号／ＣＥは、半導体記憶装置１０をイネーブルにするための信号である。信号ＣＬＥは、アサートされている信号ＣＬＥと並行して半導体記憶装置１０に入力される信号がコマンドＣＭＤであることを入出力回路１４に通知する信号である。信号ＡＬＥは、アサートされている信号ＡＬＥと並行して半導体記憶装置１０に入力される信号がアドレス情報ＡＤＤであることを入出力回路１４に通知する信号である。信号／ＷＥ及び／ＲＥはそれぞれ、例えば入出力信号Ｉ／Ｏ１〜Ｉ／Ｏ８の入力及び出力を入出力回路１４に指示する信号である。信号/ＷＰは、例えば電源のオンオフ時に半導体記憶装置１０を保護状態するための信号である。
【００２６】
シーケンサ１７は、半導体記憶装置１０全体の動作を制御する。具体的には、シーケンサ１７は、コマンドレジスタ１５Ｃから転送されたコマンドＣＭＤに基づいてセンスアンプモジュール１２、ロウデコーダ１３、電圧生成回路１９等を制御し、データの書き込み動作、読み出し動作等を実行する。また、シーケンサ１７はカウンタを備えている。このカウンタは書き込み動作時に使用され、後述するプログラムループが繰り返された回数をカウントするものである。
【００２７】
レディ／ビジー制御回路１８は、シーケンサ１７の動作状態に基づいてレディ／ビジー信号ＲＹ／(／ＢＹ)を生成し、この信号をコントローラ２０に送信する。信号ＲＹ／(／ＢＹ)は、半導体記憶装置１０がレディ状態（コントローラ２０からの命令を受け付ける状態）であるか、ビジー状態（コントローラ２０からの命令を受け付けない状態）であるかをコントローラ２０に通知する信号である。また信号ＲＹ／(／ＢＹ)は、レディ／ビジー制御回路１８が、その出力に接続されたトランジスタＴｒのオンオフを制御することによって生成される。例えば信号ＲＹ／(／ＢＹ)は、半導体記憶装置１０がデータの読み出し等の動作中には “Ｌ”レベルとされ（ビジー状態）、これらの動作が完了すると“Ｈ”レベルとされる（レディ状態）。
【００２８】
電圧生成回路１９は、シーケンサ１７の指示に基づいて所望の電圧を生成する。そして電圧生成回路１９は、生成した電圧をメモリセルアレイ１１、センスアンプモジュール１２、及びロウデコーダ１３に供給する。
【００２９】
［１−１−２］メモリセルアレイ１１の構成
次に、図３を用いてメモリセルアレイ１１の構成について説明する。図３はメモリセルアレイ１１及びセンスアンプモジュール１２の回路図であり、メモリセルアレイ１１内の１つのブロックＢＬＫについて詳細な回路構成が示されている。図３に示すようにブロックＢＬＫは、複数のＮＡＮＤストリングＮＳを備えている。
【００３０】
各ＮＡＮＤストリングＮＳは、ビット線ＢＬ０〜ＢＬ（Ｌ−１）（（Ｌ−１）は１以上の自然数）に対応して設けられ、例えば８個のメモリセルトランジスタＭＴ（ＭＴ０〜ＭＴ７）、及び選択トランジスタＳＴ１、ＳＴ２を含んでいる。尚、１つのＮＡＮＤストリングＮＳが含むメモリセルトランジスタＭＴの数はこれに限定されず、任意の数にすることが出来る。
【００３１】
メモリセルトランジスタＭＴは、制御ゲート及び電荷蓄積層を備え、データを不揮発に保持する。また、メモリセルトランジスタＭＴ０〜ＭＴ７は、選択トランジスタＳＴ１のソースと選択トランジスタＳＴ２のドレインとの間に直列接続されている。同一ブロックＢＬＫ内の選択トランジスタＳＴ１及びＳＴ２のゲートはそれぞれ、セレクトゲート線ＳＧＤ及びＳＧＳに共通接続されている。同様に、同一ブロックＢＬＫ内のメモリセルトランジスタＭＴ０〜ＭＴ７の制御ゲートはそれぞれ、ワード線ＷＬ０〜ＷＬ７に共通接続されている。
【００３２】
またメモリセルアレイ１１内において、同一列にあるＮＡＮＤストリングＮＳにおける選択トランジスタＳＴ１のドレインは、ビット線ＢＬに共通接続されている。つまりビット線ＢＬは、複数のブロックＢＬＫ間で同一列にあるＮＡＮＤストリングＮＳを共通に接続している。さらに、複数の選択トランジスタＳＴ２のソースは、ソース線ＳＬに共通接続されている。
【００３３】
以上の構成において、共通のワード線ＷＬに接続された複数のメモリセルの保持する１ビットデータの集合を「ページ」と呼ぶ。従って、１つのメモリセルに２ビットデータを記憶させる場合、１本のワード線ＷＬに接続された複数のメモリセルの集合には、２ページ分のデータが記憶される。
【００３４】
本実施形態においてデータの書き込み動作は、ワード線ＷＬ毎に行われる。例えば、１つのメモリセルに２ビットデータを記憶させる場合には、書き込み動作の実行を指示するコマンドの入力で、１本のワード線ＷＬに割り当てられた２ページ分のデータが一括して書き込まれる。以下では、このワード線ＷＬ毎にデータを書き込む方式のことをsequential writingと呼ぶ。
【００３５】
図３に示すセンスアンプモジュール１２の構成の詳細については後述する。
【００３６】
尚、以上で説明したメモリセルトランジスタＭＴの閾値分布は、例えば図４に示すものとなる。図４には、２ビットデータを保持するメモリセルトランジスタＭＴの閾値分布、及びベリファイ時に用いる電圧が示されている。図４の縦軸及び横軸はそれぞれ、メモリセルトランジスタＭＴの数及び閾値電圧Ｖthに対応している。
【００３７】
メモリセルトランジスタＭＴが２ビットのデータを保持する場合、その閾値電圧の分布は、図４に示すように４個に分かれる。この４個の閾値分布にそれぞれ対応する２ビットのデータを、閾値電圧の低いものから順に“ＥＲ”レベル、“Ａ”レベル、“Ｂ”レベル、及び“Ｃ”レベルと呼ぶ。また、図４に示すベリファイ電圧ＡＶ、ＢＶ、及びＣＶはそれぞれ、書き込み動作時における“Ａ”レベル、“Ｂ”レベル、及び“Ｃ”レベルのベリファイに用いられる。読み出し電圧Ｖreadは、読み出し電圧Ｖreadがゲートに印加されたメモリセルトランジスタＭＴが、保持するデータに依らずにオンする電圧である。これらの電圧値の関係は、ＡＶ＜ＢＶ＜ＣＶ＜Ｖreadである。
【００３８】
“ＥＲ”レベルを保持するメモリセルトランジスタＭＴの閾値電圧は、電圧ＡＶ未満であり、データの消去状態に相当する。“Ａ”レベルを保持するメモリセルトランジスタＭＴの閾値電圧は、電圧ＡＶ以上であり且つＢＶ未満である。“Ｂ”レベルを保持するメモリセルトランジスタＭＴの閾値電圧は、電圧ＢＶ以上であり且つＣＶ未満である。“Ｃ”レベルを保持するメモリセルトランジスタＭＴの閾値電圧は、電圧ＣＶ以上である。
【００３９】
読み出し動作の際、読み出し対象のメモリセルトランジスタＭＴの閾値電圧がどのレベルに含まれるか判定される。この判定のために、種々の読み出し電圧が定められている。あるメモリセルトランジスタＭＴが“ＥＲ”レベルの閾値電圧を有するか“Ａ”レベル以上の閾値電圧を有するかを判定するための電圧は、“ＥＲ”レベルの高い方の裾と“Ａ”レベルの低い方の裾との間に設定される。あるメモリセルトランジスタＭＴが“Ａ”レベル以下の閾値電圧を有するか“Ｂ”レベル以上の閾値電圧を有するかを判定するための電圧は、“Ａ”レベルの高い方の裾と“Ｂ”レベルの低い方の裾との間に設定される。あるメモリセルトランジスタＭＴが“Ｂ”レベル以下の閾値電圧を有するか“Ｃ”レベルの閾値電圧を有するかを判定するための電圧は、“Ｂ”レベルの高い方の裾と“Ｃ”レベルの低い方の裾との間に設定される。
【００４０】
［１−１−３］センスアンプモジュール１２の構成
次に、図３に戻りセンスアンプモジュール１２の構成について説明する。図３に示すようにセンスアンプモジュール１２は、ビット線ＢＬ毎に設けられたセンスアンプユニットＳＡＵ（ＳＡＵ０〜ＳＡＵ（Ｌ−１））を備えている。
【００４１】
各センスアンプユニットＳＡＵは、センスアンプ部ＳＡ、ラッチ回路ＳＤＬ、ＬＤＬ、ＵＤＬ、及びＸＤＬを備えている。これらセンスアンプ部ＳＡ、ラッチ回路ＳＤＬ、ＬＤＬ、ＵＤＬ、及びＸＤＬは、互いにデータを送受信可能なように接続されている。
【００４２】
センスアンプ部ＳＡは、読み出し動作時には対応するビット線ＢＬに読み出されたデータをセンスし、読み出しデータが“０”であるか“１”であるかを判断する。また書き込み動作時には、書き込みデータに基づいてビット線ＢＬに電圧を印加する。
【００４３】
ラッチ回路ＳＤＬ、ＬＤＬ、及びＵＤＬは、読み出しデータ及び書き込みデータを一時的に保持する。読み出し動作時にセンスアンプ部ＳＡが確定させた読み出しデータ、及び書き込み時にラッチ回路ＸＤＬに転送された書き込みデータは、例えばラッチ回路ＳＤＬ、ＬＤＬ、及びＵＤＬのいずれかに転送される。
【００４４】
ラッチ回路ＸＤＬは、センスアンプユニットＳＡＵとコントローラ２０との間のデータの入出力に用いられる。つまりコントローラ２０から受信したデータは、ラッチ回路ＸＤＬを介してラッチ回路ＳＤＬ、ＬＤＬ、若しくはＵＤＬ、又はセンスアンプ部ＳＡに転送される。また、ラッチ回路ＳＤＬ、ＬＤＬ、若しくはＵＤＬ、又はセンスアンプ部ＳＡのデータは、ラッチ回路ＸＤＬを介してコントローラ２０に転送される。
【００４５】
以上で説明したセンスアンプユニットＳＡＵの回路構成は、例えば図５に示すものとなる。図５はセンスアンプユニットＳＡＵの回路図であり、センスアンプ部ＳＡ及びラッチ回路ＳＤＬの詳細な回路構成が示されている。
【００４６】
まず、センスアンプ部ＳＡの回路構成について説明する。図５に示すようにセンスアンプ部ＳＡは、ｐチャネルＭＯＳトランジスタ３０、ｎチャネルＭＯＳトランジスタ３１〜３７、及びキャパシタ３８を備えている。
【００４７】
トランジスタ３０は、一端が電源端子に接続され、ゲートがノードＩＮＶに接続されている。トランジスタ３１は、一端がトランジスタ３０の他端に接続され、他端がノードＣＯＭに接続され、ゲートに制御信号ＢＬＸが入力される。トランジスタ３２は、一端がノードＣＯＭに接続され、他端が対応するビット線ＢＬに接続され、ゲートに制御信号ＢＬＣが入力される。トランジスタ３３は、一端がノードＣＯＭに接続され、他端がノードＳＲＣに接続され、ゲートがノードＩＮＶに接続されている。
【００４８】
トランジスタ３４は、一端がトランジスタ３０の他端に接続され、他端がノードＳＥＮに接続され、ゲートに制御信号ＨＬＬが入力される。トランジスタ３５は、一端がノードＳＥＮに接続され、他端がノードＣＯＭに接続され、ゲートに制御信号ＸＸＬが入力される。トランジスタ３６は、一端が接地端子に接続され、ゲートがノードＳＥＮに接続されている。トランジスタ３７は、一端がトランジスタ３６の他端に接続され、他端がバスＬＢＵＳに接続され、ゲートに制御信号ＳＴＢが入力される。キャパシタ３８は、一端がノードＳＥＮに接続され、他端にクロックＣＬＫが供給される。
【００４９】
尚、トランジスタ３０の一端に接続された電源端子に印加される電圧は、例えばＶddである。また、ノードＳＲＣに印加される電圧は、例えばＶssである。
【００５０】
次に、ラッチ回路ＳＤＬの回路構成について説明する。図５に示すようにラッチ回路ＳＤＬは、インバータ４０及び４１、並びにトランジスタ４２及び４３を備えている。
【００５１】
インバータ４０は、入力端子がノードＬＡＴに接続され、出力端子がノードＩＮＶに接続されている。インバータ４１は、入力端子がノードＩＮＶに接続され、出力端子がノードＬＡＴに接続されている。トランジスタ４２は、一端がノードＩＮＶに接続され、他端がバスＬＢＵＳに接続され、ゲートに制御信号ＳＴＩが入力される。トランジスタ４３は、一端がノードＬＡＴに接続され、他端がバスＬＢＵＳに接続され、ゲートに制御信号ＳＴＬが入力される。
【００５２】
尚、ラッチ回路ＬＤＬ及びＵＤＬの回路構成は、以上で説明したラッチ回路ＳＤＬの回路構成と同様のため、説明を省略する。
【００５３】
以上で説明したセンスアンプユニットＳＡＵの構成において、各種制御信号は例えばシーケンサ１７によって生成される。読み出し動作において、センスアンプユニットＳＡＵが読み出しデータを確定するタイミングは、信号ＳＴＢがアサートされるタイミングに基づく。また、各種動作においてトランジスタ３２は、信号ＢＬＣに基づいてビット線ＢＬの電圧をクランプする。
【００５４】
尚、センスアンプモジュール１２の構成はこれに限定されず、種々変更が可能である。例えば、センスアンプユニットＳＡＵが備えるラッチ回路の個数は、１つのメモリセルトランジスタＭＴが保持するデータのビット数に基づいて設計される。
【００５５】
また、センスアンプモジュール１２の構成には、例えば“THRESHOLD DETECTING METHOD AND VERIFY METHOD OF MEMORY CELL”という２０１１年３月２１日に出願された米国特許出願１３／０５２，１４８に記載された構成を適用することが出来る。この特許出願の内容は、その全体が本願明細書において参照により援用されている。
【００５６】
［１−２］書き込み動作
次に、半導体記憶装置１０における書き込み動作の概略について説明する。書き込み動作では、プログラム動作、ベリファイ動作、及び検知動作の組み合わせであるプログラムループが繰り返される。
【００５７】
プログラム動作では、ワード線ＷＬにプログラム電圧が印加されることによりメモリセルトランジスタＭＴの電荷蓄積層に電子が注入され、メモリセルトランジスタＭＴの閾値電圧が上昇する。書き込み完了及び書き込み禁止のメモリセルトランジスタＭＴについては、例えばセルフブースト技術等によって閾値電圧の変動が抑制される。この書き込み完了及び書き込み禁止のメモリトランジスタＭＴとは、書き込み動作において所望の閾値電圧に達したメモリセルトランジスタＭＴのことを示している。
【００５８】
このプログラム動作において、ワード線ＷＬに印加されるプログラム電圧は、プログラムループ毎にステップアップされる。つまりプログラム電圧は、プログラムループ毎に一定量ずつ増加する。さらに本実施形態の書き込み動作では、任意のレベルのベリファイにパスしたことに基づいて、以降のプログラムループ毎におけるプログラム電圧の増加量が小さくされる。
【００５９】
ベリファイ動作では、プログラム動作によって変動した閾値電圧が適切なレベルに達したかどうかを確認する。ベリファイにパスした場合、以降のベリファイ動作で当該レベルのベリファイは行われない。尚、ベリファイ動作においてベリファイするレベルは、例えばプログラムサイクル数に基づいて設定される。例えば１回目のプログラムループでは、閾値の低い“Ａ”レベル及び“Ｂ”レベルのベリファイを実行する。
【００６０】
検知動作では、例えばシーケンサ１７が、ベリファイ動作の結果から各レベルのベリファイにパスしたかどうかを判定する。具体的には、書き込むレベル毎に書き込みを終了したメモリセルの数が所定の数未満の場合、そのレベルのベリファイにフェイルしたと判定され、所定の数以上の場合そのレベルのベリファイにパスしたと判定される。
【００６１】
次に、図６及び図７を用いて半導体記憶装置１０の書き込み動作の詳細について説明する。図６には書き込み動作のフローチャートが示され、図７には書き込み動作の一例がタイミングチャートで示されている。
【００６２】
図６に示すように本実施形態の書き込み動作は、それぞれがプログラムループを含む２つの段階に分けられる。これらを実行される順に書き込み動作の第１及び第２段階と呼び、以下に各段階の動作について説明する。
【００６３】
以下の説明において、書き込み動作の対象のメモリセルトランジスタＭＴの組に接続されたワード線ＷＬのことを選択ワード線ＷＬselと呼び、その他のワード線ＷＬのことを非選択ワード線ＷＬuselと呼ぶ。また、書き込み動作によって閾値電圧を上昇させたいメモリセルトランジスタＭＴを含むＮＡＮＤストリングＮＳと接続されたビット線ＢＬのことを書き込み対象のビット線ＢＬと呼び、書き込み動作によって閾値電圧の変動を抑制したいメモリセルトランジスタＭＴを含むＮＡＮＤストリングＮＳと接続されたビット線ＢＬのことを書き込み禁止のビット線ＢＬinhと呼ぶ。
【００６４】
まず、書き込み動作の第１段階について説明する。  
まずシーケンサ１７は、プログラム動作を実行する（ステップＳ１０）。具体的には、図７に示すようにセンスアンプモジュール１２が、書き込み対象のビット線ＢＬに電圧Ｖssを印加し、書き込み禁止のビット線ＢＬinhに電圧Ｖddsaを印加する。電圧Ｖssは接地電圧であり、電圧Ｖddsaはセンスアンプモジュール１２から供給される電源電圧である。ビット線ＢＬinhに電圧Ｖddsaが印加されると、対応する選択トランジスタＳＴ１がカットオフされ、メモリセルトランジスタＭＴのチャネルがフローティング状態になる。
【００６５】
そしてロウデコーダ１３が、選択ワード線ＷＬselにプログラム電圧Ｖpgmを印加し、非選択ワード線ＷＬuselに書き込みパス電圧Ｖpassを印加する。電圧Ｖpgmは、メモリセルトランジスタＭＴの電荷蓄積層に電子を注入可能な高電圧であり、その初期値は電圧Ｖpassより大きい。また、電圧Ｖpassの初期値は、Ｖread≧Ｖpass＞Ｖssである。すると、書き込み対象のメモリセルトランジスタＭＴは、制御ゲート及びチャネル間の電位差により閾値電圧が上昇する。一方、書き込み禁止のメモリセルトランジスタＭＴは、チャネルの電圧がブーストされることにより閾値電圧の変動が抑制される。
【００６６】
次にシーケンサ１７は、ベリファイ動作を実行する（ステップＳ１１）。具体的には、図７に示すようにセンスアンプモジュール１２が、各ビット線ＢＬに電圧Ｖblを印加する。電圧Ｖblは、センスアンプモジュール１２がメモリセルトランジスタＭＴに記憶されたデータの判定に用いる電圧であり、その値はＶddsa＞Ｖbl＞Ｖssである。
【００６７】
そしてロウデコーダ１３が、選択ワード線ＷＬselに各ベリファイ電圧を順に印加し、非選択ワード線ＷＬuselに電圧Ｖreadを印加する。このときシーケンサ１７は、選択ワード線ＷＬselに各ベリファイ電圧が印加される度に信号ＳＴＢをアサートする。信号ＳＴＢがアサートされるとセンスアンプモジュール１２は、書き込み対象のメモリセルトランジスタＭＴの閾値電圧がベリファイ電圧以上になったか否かを判定する。
【００６８】
次にシーケンサ１７は、検知動作を実行する（ステップＳ１２）。続けてシーケンサ１７は、“Ａ”レベルのベリファイ結果を確認する（ステップＳ１３）。ここで“Ａ”レベルのベリファイにフェイルしていた場合（ステップＳ１３、Ｎｏ）、シーケンサ１７はプログラム電圧ＶpgmをΔＶpgm１だけ増加させて（ステップＳ１４）、ステップＳ１０の動作に戻る。尚、ステップＳ１４において書き込みパス電圧ＶpassもΔＶpass１だけ増加される。このΔＶpass１は、ΔＶpgm１以下である。
【００６９】
以上のように書き込み動作の第１段階では、プログラム電圧Ｖpgm及び書き込みパス電圧ＶpassをそれぞれΔＶpgm１及びΔＶpass１ずつ増加させて、ステップＳ１０〜Ｓ１２に対応するプログラムループが繰り返される。そして、“Ａ”レベルのベリファイにパスした場合（ステップＳ１３、Ｙｅｓ）、半導体記憶装置１０の書き込み動作は第２段階に移行する。つまり本例において第１段階におけるプログラムループは、“Ａ”レベルのベリファイにパスするまで繰り返される。
【００７０】
次に、書き込み動作の第２段階について説明する。第２段階におけるプログラムループでは、プログラムループ毎に増加させられるプログラム電圧Ｖpgmの量が第１段階より小さくされる。
【００７１】
具体的には、まずシーケンサ１７は、電圧Ｖpgm及びＶpassをそれぞれΔＶpgm２及びΔＶpass２だけ増加させる（ステップＳ１５）。このΔＶpgm２及びΔＶpass２はそれぞれ、ΔＶpgm１及びΔＶpass１より小さい。続けてシーケンサ１７は、プログラム動作、ベリファイ動作、及び検知動作を順に実行する（ステップＳ１６〜Ｓ１８）。ステップＳ１６〜Ｓ１８に対応するプログラムループの動作は、ステップＳ１０〜Ｓ１２に対応するプログラムループの動作と同様である。
【００７２】
次にシーケンサ１７は、残りのレベルのベリファイにパスしたか否かを確認する（ステップＳ１９）。ここでベリファイにフェイルしていた場合（ステップＳ１９、Ｎｏ）、ステップＳ１５の動作に戻る。
【００７３】
以上のように書き込み動作の第２段階では、プログラム電圧Ｖpgm及び書き込みパス電圧ＶpassをそれぞれΔＶpgm２及びΔＶpass２ずつ増加させて、ステップＳ１６〜Ｓ１８に対応するプログラムループが繰り返される。そして、残りのレベルのベリファイにパスした場合（ステップＳ１９、Ｙｅｓ）、半導体記憶装置１０は書き込み動作を終了する。
【００７４】
以上の動作について、図７に示す一例に対応する各パラメータをテーブルとして示したものが図８である。図８には、プログラムループ数、１つ前のプログラムループに対するプログラム電圧の増加量ΔＶpgm、及び当該プログラムループで実行したベリファイのレベルが示されている。
【００７５】
図８に示すように本例では、３回目のプログラムループで“Ａ”レベルのベリファイにパスして、４回目のプログラムループでΔＶpgmが変化している。具体的には、“Ａ”レベルのベリファイにパスするまでのΔＶpgmが0.4Ｖ（ΔＶpgm１）であるのに対して、“Ａ”レベルのベリファイにパスした後のΔＶpgmが0.3Ｖ（ΔＶpgm２）と小さくなっている。つまり本例において、１〜３回目のプログラムループが書き込み動作の第１段階に対応し、４〜８回目のプログラムループが書き込み動作の第２段階に対応している。
【００７６】
このように、本実施形態に係る半導体記憶装置１０の書き込み動作では、“Ａ”レベルのベリファイにパスしたことに基づいて、その次のプログラムループからΔＶpgmが小さくされる。尚、本実施形態は“Ａ”レベルのベリファイにパスすることをΔＶpgm変更のトリガーとした場合を例に説明したが、これに限定されない。例えば、“Ｂ”レベルのベリファイをパスすることをΔＶpgm変更のトリガーとしても良い。
【００７７】
［１−３］第１実施形態の効果
次に、第１実施形態の効果について説明する。本実施形態に係る半導体記憶装置１０によれば、書き込んだデータの信頼性を向上することが出来る。以下に、この効果の詳細について説明する。
【００７８】
半導体記憶装置の書き込み動作において、メモリセルの閾値電圧は、プログラムループ毎のプログラム電圧の増加量（ΔＶpgm）ずつ上昇することが理想である。しかしメモリセルの閾値電圧は、その閾値電圧が高くなる程上昇し辛くなり、ΔＶpgmに対する閾値電圧の上昇量（プログラムスロープ）が悪化する。また、閾値電圧が高くなったメモリセルに書き込む際のプログラムスロープは、ΔＶpgmが大きい程悪くなる傾向にある。
【００７９】
プログラムスロープが悪化したメモリセルに対しては、大きいΔＶpgmでプログラム電圧を印加しても、その閾値電圧の上昇に大きく貢献しない。それにも関わらず、プログラムスロープが悪化した状態でプログラムループが繰り返されると、閾値電圧の上昇量とプログラム電圧の増加量との乖離が大きくなり、最終的に到達するプログラム電圧が高くなる。このような余計に高いプログラム電圧が印加された場合、書き込みが終了したメモリセルに対するプログラムディスターブの影響が大きくなってしまう。具体的には、図９に示す閾値分布図の破線に示すように閾値分布がシフトして、読み出し動作時におけるエラービット数が増加してしまう可能性がある。
【００８０】
このようなプログラムディスターブの影響を低減する方法としては、プログラムループ毎のΔＶpgmを小さくすることが考えられる。プログラムループ毎のΔＶpgmを小さくすると、閾値電圧が高くなったメモリセルに書き込む際のプログラムスロープが改善する。つまり、閾値電圧の上昇量とプログラム電圧の増加量との乖離が小さくなるため、最終的に到達するプログラム電圧を抑制することが出来る。しかし書き込み動作全体でΔＶpgmを小さく設定すると、書き込み動作におけるプログラムループ数が多くなるため、書き込み動作の時間が長くなってしまう。
【００８１】
そこで本実施形態に係る半導体記憶装置１０は、書き込み動作の途中からプログラムループ毎のプログラム電圧の増加量ΔＶpgmを小さくする。具体的には、所定のレベルの書き込みが終了したことに基づいて、当該書き込みが終了したプログラムループ以降のプログラムループ毎のΔＶpgmを小さくする。さらに言い換えると、所定のレベルのベリファイにパスしたことに基づいて、当該レベルのベリファイにパスしたプログラムループ以降のプログラムループ毎のΔＶpgmが小さく変更される。
【００８２】
つまりメモリセルの閾値電圧が低い書き込み動作前半と、メモリセルの閾値電圧が高くなった書き込み動作後半とで、プログラムループ毎のΔＶpgmを変更している。具体的には、ΔＶpgmの大きさによらずプログラムスロープが良好な書き込み動作前半には、プログラムループ毎のΔＶpgmが大きく設定される。そしてΔＶpgmが大きいとプログラムスロープが悪化する書き込み動作後半には、プログラムスロープが改善するようにプログラムループ毎のΔＶpgmが小さく設定される。
【００８３】
これにより本実施形態に係る半導体記憶装置１０の書き込み動作では、最終的に到達するプログラム電圧の値を抑制することが出来る。従って本実施形態に係る半導体記憶装置１０は、プログラムディスターブの影響を低減することが出来、書き込んだデータの信頼性を向上することが出来る。
【００８４】
また、本実施形態に係る半導体記憶装置１０の書き込み動作では、書き込み動作前半のプログラムループ毎のΔＶpgmを大きく設定することにより、書き込み動作前半におけるプログラムループ毎の閾値電圧の上昇量を大きくすることが出来る。これにより本実施形態に係る半導体記憶装置１０は、書き込み動作前半におけるプログラムループ数を抑制することが出来、書き込み動作の速度低下を抑制することが出来る。
【００８５】
また、メモリセルの閾値電圧が高くなった書き込み動作後半において大きいΔＶpgmは、プログラムスロープが悪化するため閾値電圧の上昇に大きく貢献しない。つまり書き込み動作後半では、小さいΔＶpgmを設定した場合と大きいΔＶpgmを設定した場合とで閾値電圧の上昇量に大きな差がない場合がある。従って本実施形態に係る半導体記憶装置１０は、書き込み動作後半に小さいΔＶpgmを設定した場合においても、プログラムループ数の増加が抑制されるため、書き込み動作の速度低下を抑制することが出来る。
［２］第２実施形態
次に、第２実施形態に係る半導体記憶装置について説明する。第２実施形態は、第１実施形態で説明した書き込み動作に対して、各プログラムループの検知動作とその次のプログラムループのプログラム動作とを並列処理する点が異なる。以下に、第１実施形態と異なる点を説明する。
【００８６】
［２−１］書き込み動作
まず、図１０及び図１１を用いて半導体記憶装置１０の書き込み動作について説明する。図１０には書き込み動作のフローチャートが示され、図１１には書き込み動作の一例がタイミングチャートで示されている。
【００８７】
図１０に示すように本実施形態の書き込み動作は、第１実施形態と同様にそれぞれがプログラムループを含む２つの段階に分けられる。以下に各段階の動作について説明する。
【００８８】
まず、書き込み動作の第１段階について説明する。  
まずシーケンサ１７は、プログラム動作を実行する（ステップＳ２０）。図１１に示すこの具体的な動作は、第１実施形態で説明したステップＳ１０と同様である。これにより、書き込み対象のメモリセルトランジスタＭＴは閾値電圧が変動し、書き込み禁止のメモリセルトランジスタＭＴは閾値電圧の変動が抑制される。
【００８９】
次にシーケンサ１７は、ベリファイ動作を実行する（ステップＳ２１）。図１１に示すこの具体的な動作は、第１実施形態で説明したステップＳ１１と同様である。これにより、書き込み対象のメモリセルトランジスタＭＴの閾値電圧がベリファイ電圧以上になったか否かが判定される。
【００９０】
次にシーケンサ１７は、プログラム電圧ＶpgmをΔＶpgm１だけ増加させる（ステップＳ２２）。このステップＳ２２において、書き込みパス電圧ＶpassもΔＶpass１だけ増加される。
【００９１】
次にシーケンサ１７は、プログラム動作及び検知動作を実行する（ステップＳ２３）。具体的には、ステップＳ２０と同様のプログラム動作が実行されている裏で、ステップＳ２１で得られたベリファイ結果に対する検知動作が実行される。つまり、各ベリファイ動作に対する検知動作と、それに続くプログラム動作とが並列処理される。
【００９２】
次にシーケンサ１７は、“Ａ”レベルのベリファイ結果を確認する（ステップＳ２４）。ここで“Ａ”レベルのベリファイにフェイルしていた場合（ステップＳ２４、Ｎｏ）、シーケンサ１７はステップＳ２１の動作に戻る。
【００９３】
以上のように書き込み動作の第１段階では、プログラム電圧Ｖpgm及び書き込みパス電圧ＶpassをそれぞれΔＶpgm１及びΔＶpass１ずつ増加させて、ステップＳ２１〜Ｓ２３に対応するプログラムループが繰り返される。そして、“Ａ”レベルのベリファイにパスした場合（ステップＳ２４、Ｙｅｓ）、半導体記憶装置１０の書き込み動作は第２段階に移行する。つまり本例において第１段階におけるプログラムループは、“Ａ”レベルのベリファイにパスするまで繰り返される。
【００９４】
次に、書き込み動作の第２段階について説明する。第２段階におけるプログラムループでは、第１実施形態と同様に、プログラムループ毎に増加させられるプログラム電圧Ｖpgmの量が第１段階より小さくされる。
【００９５】
具体的には、まずステップＳ２１と同様のベリファイ動作が実行される（ステップＳ２５）。次にシーケンサ１７は、プログラム電圧Ｖpgm及び書き込みパス電圧ＶpassをそれぞれΔＶpgm２及びΔＶpass２だけ増加させる（ステップＳ２６）。このΔＶpgm２及びΔＶpass２はそれぞれ、ΔＶpgm１及びΔＶpass１より小さい。
【００９６】
次にシーケンサ１７は、ステップ２３と同様のプログラム動作及び検知動作を実行する（ステップＳ２７）。続けてシーケンサ１７は、残りのレベルのベリファイにパスしたか否かを確認する（ステップＳ２８）。ここでベリファイにフェイルしていた場合（ステップＳ２８、Ｎｏ）、ステップＳ２５の動作に戻る。
【００９７】
以上のように書き込み動作の第２段階では、プログラム電圧Ｖpgm及び書き込みパス電圧ＶpassをそれぞれΔＶpgm２及びΔＶpass２ずつ増加させて、ステップＳ２５〜Ｓ２７に対応するプログラムループが繰り返される。そして、残りのレベルのベリファイにパスした場合（ステップＳ２８、Ｙｅｓ）、半導体記憶装置１０は書き込み動作を終了する。
【００９８】
尚、本実施形態の書き込み動作では、ベリファイ動作の後の検知動作が次のプログラム動作と並列処理される為、ベリファイ動作から次のプログラム動作に移行する間隔が第１実施形態より短くなる。また、ベリファイ動作及びプログラム動作が並列処理される為、各レベルのベリファイ結果が次のプログラムループで反映される場合がある。つまり図１１に示すように、プログラム電圧を印加した後に書き込み動作が終了する場合がある。
【００９９】
以上の動作について、図１１に示す一例に対応する各パラメータをテーブルとして示したものが図１２である。図１２には、プログラムループ数、１つ前のプログラムループに対するプログラム電圧の増加量ΔＶpgm、及び当該プログラムループで実行したベリファイのレベルが示されている。
【０１００】
図１２に示すように本例では、３回目のプログラムループで“Ａ”レベルのベリファイにパスして、５回目のプログラムループでプログラム電圧の増加量ΔＶpgmが変化している。具体的には、“Ａ”レベルのベリファイにパスした次のプログラムループまでのΔＶpgmが0.4Ｖ（ΔＶpgm１）であるのに対して、“Ａ”レベルのベリファイにパスした２つ後のΔＶpgmが0.3Ｖ（ΔＶpgm２）と小さくなっている。つまり本例において、１〜４回目のプログラムループが書き込み動作の第１段階に対応し、５〜８回目のプログラムループが書き込み動作の第２段階に対応している。
【０１０１】
このように、本実施形態に係る半導体記憶装置１０の書き込み動作では、“Ａ”レベルのベリファイにパスしたことに基づいて、その２つ後のプログラムループからΔＶpgmが小さくされる。尚、本実施形態は、“Ａ”レベルのベリファイにパスすることをΔＶpgm変更のトリガーとした場合を例に説明したが、これに限定されない。例えば、“Ｂ”レベルのベリファイをパスすることをΔＶpgm変更のトリガーとしても良い。
【０１０２】
また、本実施形態は、検知動作がプログラム動作と同じステップで実行される場合を例に説明したが、これに限定されない。例えば、各プログラムループにおいて検知動作が開始するタイミングと、その次のプログラムループにおいてプログラム動作が開始するタイミングとはずれていても良い。また、検知動作がステップＳ２１及びＳ２６のベリファイ動作の直後から検知動作が開始されるようにしても良い。
【０１０３】
［２−２］第２実施形態の効果
次に、第２実施形態の効果について説明する。本実施形態に係る半導体記憶装置１０によれば、第１実施形態よりも書き込み動作を高速化することが出来る。以下に、この効果の詳細について説明する。
【０１０４】
半導体記憶装置１０の書き込み動作のプログラムループにおいて、ベリファイ毎に入る検知動作は、動作速度低下の要因の一つとなる。
【０１０５】
そこで本実施形態に係る半導体記憶装置１０は、各プログラムループの検知動作とその次のプログラムループのプログラム動作とを並列処理する。具体的には、ベリファイ動作に続く検知動作の終了を待たずに、プログラム電圧のステップアップ及びプログラム動作を実行する。すると検知動作の時間を隠すことが可能となり、書き込み動作の時間を圧縮することが出来る。
【０１０６】
これにより本実施形態に係る半導体記憶装置１０は、第１実施形態と同様に書き込んだデータの信頼性を向上することが出来、さらに第１実施形態よりも書き込み動作を高速化することが出来る。
【０１０７】
［３］第３実施形態
次に、第３実施形態に係る半導体記憶装置について説明する。第３実施形態は、第１実施形態で説明した書き込み動作において、さらにもう一段階プログラム電圧を小さく変化させるものである。以下に、第１及び第２実施形態と異なる点を説明する。
【０１０８】
［３−１］書き込み動作
次に、図１３及び図１４を用いて半導体記憶装置１０の書き込み動作について説明する。図１３には書き込み動作のフローチャートが示され、図１４には書き込み動作の一例がタイミングチャートで示されている。
【０１０９】
図１３に示すように本実施形態の書き込み動作は、それぞれがプログラムループを含む３つの段階に分けられる。これらを実行される順に書き込み動作の第１〜第３段階と呼び、以下に各段階の動作について説明する。尚、図１４に示す各段階のプログラムループにおける具体的な動作は、第１実施形態で説明した図７と同様のため説明を省略する。
【０１１０】
書き込み動作の第１段階は、第１実施形態で説明した図７と同様である。つまり、”Ａ”レベルのベリファイにパスするまで、プログラム電圧Ｖpgm及び書き込みパス電圧ＶpassをそれぞれΔＶpgm１及びΔＶpass１ずつ増加させて、プログラムループが繰り返される。“Ａ”レベルのベリファイにパスすると、書き込み動作の第２段階に移行する。
【０１１１】
続く書き込み動作の第２段階は、第１実施形態で説明した図７に対して、ステップＳ１９の動作を“Ｂ”レベルのベリファイ結果の確認（ステップＳ３０）に置き換えたものと同様である。
【０１１２】
具体的には、第１実施形態で説明した図７と同様に、電圧Ｖpgm及びＶpassをそれぞれ、ΔＶpgm１及びΔＶpass１より小さいΔＶpgm２及びΔＶpass２だけ増加させる（ステップＳ１５）。続けてシーケンサ１７は、プログラム動作、ベリファイ動作、及び検知動作を順に実行する（ステップＳ１６〜Ｓ１８）。そして“Ｂ”レベルのベリファイにフェイルしていた場合（ステップＳ３０、Ｎｏ）、ステップＳ１５に戻る。
【０１１３】
つまり、”Ｂ”レベルのベリファイにパスするまで、プログラム電圧Ｖpgm及び書き込みパス電圧ＶpassをそれぞれΔＶpgm２及びΔＶpass２ずつ増加させて、プログラムループが繰り返される。そして、“Ｂ”レベルのベリファイにパスした場合（ステップＳ３０、Ｙｅｓ）、書き込み動作の第３段階に移行する。
【０１１４】
続く書き込み動作の第３段階におけるプログラムループでは、プログラムループ毎に増加させられるプログラム電圧Ｖpgmの量が第２段階より小さくされる。
【０１１５】
具体的には、まずシーケンサ１７は、電圧Ｖpgm及びＶpassをそれぞれΔＶpgm３及びΔＶpass３だけ増加させる（ステップＳ３１）。このΔＶpgm３及びΔＶpass３はそれぞれ、ΔＶpgm２及びΔＶpass２より小さい。続けてシーケンサ１７は、プログラム動作、ベリファイ動作、及び検知動作を順に実行する（ステップＳ３２〜Ｓ３４）。ステップＳ３２〜Ｓ３４に対応するプログラムループの動作は、ステップＳ１０〜Ｓ１２に対応するプログラムループの動作と同様である。
【０１１６】
次にシーケンサ１７は、残りのレベルのベリファイにパスしたか否かを確認する（ステップＳ３５）。ここでベリファイにフェイルしていた場合（ステップＳ３５、Ｎｏ）、ステップＳ３１の動作に戻る。
【０１１７】
以上のように書き込み動作の第３段階では、プログラム電圧Ｖpgm及び書き込みパス電圧ＶpassをそれぞれΔＶpgm３及びΔＶpass３ずつ増加させて、プログラムループが繰り返される。そして、残りのレベルのベリファイにパスした場合（ステップＳ３５、Ｙｅｓ）、半導体記憶装置１０は書き込み動作を終了する。
【０１１８】
以上の動作について、図１４に示す一例に対応する各パラメータをテーブルとして示したものが図１５である。図１５には、プログラムループ数、１つ前のプログラムループに対するプログラム電圧の増加量ΔＶpgm、及び当該プログラムループで実行したベリファイのレベルが示されている。
【０１１９】
図１５に示すように本例は、図８で説明した例に対して、さらに６回目のプログラムループで“Ｂ”レベルのベリファイにパスして、７回目のプログラムループでΔＶpgmが変化している点が異なっている。
【０１２０】
具体的には、“Ｂ”レベルのベリファイにパスするまでのΔＶpgmが0.3Ｖ（ΔＶpgm２）であるのに対して、“Ｂ”レベルのベリファイにパスした後のΔＶpgmが0.2Ｖ（ΔＶpgm３）と小さくなっている。つまり本例において、１〜３回目のプログラムループが書き込み動作の第１段階に対応し、４〜６回目のプログラムループが書き込み動作の第２段階に対応し、７及び８回目のプログラムループが書き込み動作の第３段階に対応している。
【０１２１】
［３−２］第３実施形態の効果
次に、第３実施形態の効果について説明する。本実施形態に係る半導体記憶装置１０によれば、第１実施形態よりもデータの信頼性を向上することが出来る。以下に、この効果の詳細について説明する。
【０１２２】
半導体記憶装置の書き込み動作では、第１実施形態の効果の項目で述べたように、プログラムスロープ毎のΔＶpgmの最適な値が書き込み動作の進行に伴い変化する。
【０１２３】
そこで本実施形態に係る半導体記憶装置１０は、第１実施形態に対して、書き込み動作の途中でさらにもう１段階プログラムスロープ毎のΔＶpgmを小さくする。具体的には、例えば“Ａ”レベルのベリファイにパスした以降、及び“Ｂ”レベルのベリファイにパスした以降にそれぞれ、プログラムスロープ毎のΔＶpgmを小さく変更する。このようにΔＶpgmを小さくするタイミングは、第１実施形態と同様に所定のレベルのベリファイにパスしたことに基づいている。
【０１２４】
つまり本実施形態に係る半導体記憶装置１０では、書き込み動作が３つの段階に分類され、各段階においてそれぞれプログラムループ毎のΔＶpgmが変更される。そしてこの３つの段階におけるプログラムスロープ毎のΔＶpgmは、各段階におけるプログラムスロープが改善するように、後半のΔＶpgmの方が小さく設定される。
【０１２５】
これにより本実施形態に係る半導体記憶装置１０の書き込み動作では、第１実施形態よりも書き込み動作後半におけるプログラムループ毎の閾値電圧の上昇量とプログラム電圧の増加量との乖離が小さくなるため、最終的に到達するプログラム電圧の値を抑制することが出来る。従って本実施形態に係る半導体記憶装置１０は、第１実施形態よりもプログラムディスターブを低減することが出来、書き込んだデータの信頼性を向上することが出来る。
【０１２６】
［４］第４実施形態
次に、第４実施形態に係る半導体記憶装置について説明する。第４実施形態は、第１実施形態で説明した書き込み動作に対して、ＱＰＷ（Quick Pass Write）方式を適用したものである。以下に、第１〜第３実施形態と異なる点を説明する。
【０１２７】
［４−１］書き込み動作
まず、図１６及び図１７を用いてＱＰＷ方式を適用した書き込み動作について説明する。図１６にはＱＰＷ方式を適用した書き込み動作によりメモリセルの閾値分布がシフトする様子が示され、図１７には書き込み動作の一例がタイミングチャートで示されている。
【０１２８】
図１６に示すようにＱＰＷ方式の書き込み動作では、書き込むレベル毎に２種類のベリファイ電圧ＶＨ及びＶＬが設定される。電圧ＶＨは、メモリセルの最終的な目標閾値に対応する。電圧ＶＬは、電圧ＶＨより任意の値ΔＶＲだけ低く設定される。
【０１２９】
ＱＰＷ方式を適用した場合のプログラム動作において、ビット線ＢＬには、直前のベリファイ結果に基づいて図１７に示すような３種類の電圧が印加される。
【０１３０】
具体的には、メモリセルトランジスタＭＴの閾値電圧が電圧ＶＬ未満の場合、ビット線ＢＬには電圧Ｖssが印加される。このときメモリセルトランジスタＭＴの制御ゲート及びチャネル間には高い電位差が発生するため、メモリセルトランジスタＭＴの閾値電圧が上昇する。
【０１３１】
メモリセルトランジスタＭＴの閾値電圧が電圧ＶＬ以上電圧ＶＨ未満の場合、対応するビット線ＢＬqpwには電圧Ｖqpwが印加される。この電圧Ｖqpwは、電圧Ｖss及びＶddsaの間に設定される。このとき、ビット線ＢＬに電圧Ｖssが印加されている場合と比べて、メモリセルトランジスタＭＴの制御ゲート及びチャネル間に生じる電位差が小さくなる。すると、メモリセルトランジスタＭＴの閾値電圧の上昇量は、ビット線ＢＬに電圧Ｖssを印加する場合と比べて小さくなる。
【０１３２】
メモリセルトランジスタＭＴの閾値電圧が電圧ＶＨ以上の場合、対応するビット線ＢＬinhには電圧Ｖddsaが印加される。このとき、選択トランジスタＳＴ１がカットオフされてチャネルの電圧がブーストされるため、メモリセルトランジスタＭＴの閾値電圧の変動が抑制される。
【０１３３】
以上のようにＱＰＷ方式を適用した書き込み動作は、目標とするベリファイ電圧ＶＨより低いベリファイ電圧ＶＬを設定する。そしてメモリセルトランジスタＭＴの閾値電圧がベリファイ電圧ＶＬを超えた場合に、ビット線ＢＬを電圧Ｖqpwに充電したプログラム動作によって閾値電圧の変動量を小さくする。すると図１７に示すように、書き込みを終了したメモリセルトランジスタＭＴの閾値分布が細くなる。その他の動作は、第１実施形態で説明した図７と同様である。
【０１３４】
尚、図１７では、各レベルに対応するベリファイ電圧が印加されている間に、２回の信号ＳＴＢがアサートされている。この２回の信号ＳＴＢはそれぞれ、各レベルのベリファイ電圧ＶＬ及びＶＨのベリファイ読み出しに対応している。この電圧ＶＬ及びＶＨに対応するベリファイ読み出しは、検知する電流量に閾値を設けることによって実現される。
【０１３５】
また本実施形態において、印加するベリファイ電圧を一定にした状態で電圧ＶＬ及びＶＨのベリファイ読み出しを実現した場合を例に説明したが、これに限定されない。例えば、ワード線ＷＬに各レベルのベリファイ電圧ＶＬ及びＶＨを順に印加することにより、それぞれのベリファイ読み出しを行っても良い。
【０１３６】
また、ＱＰＷ方式の詳細は“不揮発性半導体記憶装置”という２０１４年４月２８日に出願された米国特許出願１４／２６３，９４８号、及び“不揮発性半導体記憶装置”という２００９年９月２１日に出願された米国特許出願１２／５６３，２９６号に記載されている。これらの特許出願は、その全体が本願明細書において参照により援用されている。
【０１３７】
［４−２］第４実施形態の効果
次に、第４実施形態の効果について説明する。本実施形態に係る半導体記憶装置１０によれば、第１実施形態よりも書き込んだデータの信頼性を向上することが出来る。以下に、この効果の詳細について説明する。
【０１３８】
半導体記憶装置の書き込み方法としてＱＰＷ方式が知られている。ＱＰＷ方式を適用した書き込み動作では、ビット線ＢＬを充電することによりメモリセルのゲート−チャネル間の電位差を小さくして、電荷蓄積層に注入する電子の量を調整する。ＱＰＷ方式を適用した場合、閾値分布が細くなるため書き込んだデータの信頼性が向上する。このＱＰＷ方式の書き込み方法は、第１実施形態に係る半導体記憶装置１０に対しても適用することが可能である。
【０１３９】
そこで本実施形態に係る半導体記憶装置１０は、ＱＰＷ方式の書き込み方法を上記第１実施形態の半導体記憶装置１０に適用する。これにより本実施形態に係る半導体記憶装置１０は、第１実施形態に係る半導体記憶装置１０に対してさらにＱＰＷ方式を適用することによって閾値電圧の分布が細くなる効果が得られる。つまり本実施形態に係る半導体記憶装置１０は、第１実施形態よりも書き込んだデータの信頼性を向上することが出来る。
【０１４０】
尚、ＱＰＷ方式の書き込み方法は、第２及び第３実施形態に係る半導体記憶装置１０に対しても適用することが可能である。つまり第２及び第３実施形態に係る半導体記憶装置１０もＱＰＷ方式を適用することにより、書き込んだデータの信頼性を向上することが出来る。
【０１４１】
［５］第５実施形態
次に、第５実施形態に係る半導体記憶装置について説明する。第５実施形態は、第１実施形態で説明した書き込み動作において、プログラムループ毎のプログラム電圧の増加量が変更されるタイミングが、プログラムループの回数に基づくものである。以下に、第１〜第４実施形態と異なる点を説明する。
【０１４２】
［５−１］書き込み動作
まず、図１８及び図１９を用いて半導体記憶装置１０の書き込み動作について説明する。図１８には書き込み動作のフローチャートが示され、図１９には書き込み動作の一例がタイミングチャートで示されている。
【０１４３】
図１８に示すように本実施形態の書き込み動作は、第１実施形態と同様にそれぞれがプログラムループを含む２つの段階に分けられる。以下に各段階の動作について説明する。尚、図１９に示す各段階のプログラムループにおける具体的な動作は、第１実施形態で説明した図７と同様のため説明を省略する。
【０１４４】
まず、書き込み動作の第１段階について説明する。  
まずシーケンサ１７は、カウンタをリセットする（Ｎ＝０、ステップＳ４０）。続けてシーケンサ１７は、プログラム動作、ベリファイ動作、及び検知動作を順に実行する（ステップＳ１０〜Ｓ１２）。
【０１４５】
次にシーケンサ１７は、カウンタを参照してステップＳ１０〜１２に対応するプログラムループが繰り返された回数を確認する（ステップＳ４１）。ここでカウンタの数値がｋ（ｋは１以上の自然数）未満だった場合（ステップＳ４１、Ｎｏ）、シーケンサ１７はカウンタをインクリメントする（ステップＳ４２）。この数値ｋは、書き込み動作の第１段階においてプログラムループを繰り返す回数であり、任意の数値に設定される。続けてシーケンサ１７は、プログラム電圧Ｖpgm及びＶpassをそれぞれΔＶpgm１及びΔＶpass１だけ増加させ（ステップＳ１４）、ステップＳ１０の動作に戻る。
【０１４６】
以上のように書き込み動作の第１段階では、第１実施形態と同様に、プログラム電圧Ｖpgm及び書き込みパス電圧ＶpassをそれぞれΔＶpgm１及びΔＶpass１ずつ増加させて、ステップＳ１０〜Ｓ１２に対応するプログラムループが繰り返される。そしてカウンタの数値がｋに一致した場合（ステップＳ４１、Ｙｅｓ）、つまり書き込み動作の第１段階においてプログラムループを繰り返した回数がｋ回に達した場合、半導体記憶装置１０の書き込み動作は第２段階に移行する。尚、書き込み動作の第２段階は、第１実施形態で説明した図６と同様のため、説明を省略する。
【０１４７】
以上の動作について、図１９に示す一例に対応する各パラメータをテーブルとして示したものが図２０である。図２０には、プログラムループ数、１つ前のプログラムループに対するプログラム電圧の増加量ΔＶpgm、及び当該プログラムループで実行したベリファイのレベルが示されている。
【０１４８】
図２０に示すように本例では、プログラム電圧の増加量ΔＶpgmが５回目のプログラムループで0.4から0.3に変化している。具体的には、本例はｋ＝３に設定された場合の例であり、第１段階においてプログラムループが３回繰り返される。つまり、４回目のプログラムループで書き込み動作の第１段階が終了し、５回目以降のプログラムループから書き込み動作の第２段階に移行する。
【０１４９】
以上ように、本実施形態に係る半導体記憶装置１０の書き込み動作では、第１期間で実行されたプログラムループの回数に基づいて第１期間から第２期間に移行する。言い換えると、半導体記憶装置１０は、プログラムループが実行された回数が所定の回数に達したことを検知して、プログラムループ毎のΔＶpgmを小さい値に変更する。
【０１５０】
このように、本実施形態においてΔＶpgmが変化するタイミングはベリファイにパスしたタイミングに依存しない。従って本実施形態に係る半導体記憶装置では、第１及び第２実施形態と異なり、図１９に示すように“Ａ”レベルのベリファイにパスしてから３つ以上後のプログラムループでΔＶpgmが変化する場合がある。
【０１５１】
［５−２］第５実施形態の効果
次に、第５実施形態の効果について説明する。第５実施形態に係る半導体記憶装置１０によれば、第１実施形態と同様に書き込んだデータの信頼性を向上することが出来る。以下に、この効果の詳細について説明する。
【０１５２】
上記実施形態に係る半導体記憶装置の書き込み動作では、プログラムループ毎のΔＶpgmを変更するトリガーとしてベリファイ結果を参照している。しかし書き込み動作途中におけるメモリセルの閾値電圧は、プログラムループを繰り返した回数によってある程度予測できる場合がある。
【０１５３】
そこで本実施形態に係る半導体記憶装置１０は、プログラムループ毎のプログラム電圧の増加量ΔＶpgmを小さくするタイミングを、プログラムループ数に基づいて決定する。具体的には、プログラムループ数をカウントして、プログラムループを所定の回数実行した後にプログラムループ毎のΔＶpgmを小さくする。
【０１５４】
これにより本実施形態に係る半導体記憶装置１０は、第１実施形態と同様に、最終的に到達するプログラム電圧の値を抑制することが出来る。従って本実施形態に係る半導体記憶装置１０は、第１実施形態と同様にプログラムディスターブを低減することが出来、書き込んだデータの信頼性を向上することが出来る。
【０１５５】
尚、本実施形態に係る半導体記憶装置１０は、第３実施形態のように３段階のΔＶpgmを設定しても良い。この場合、プログラムループ毎のΔＶpgm変更のタイミングを指定するプログラムループ数が２種類設定され、書き込み動作ではそれぞれのタイミングでΔＶpgmが小さくされる。
【０１５６】
また、本実施形態のようにプログラムループ毎のΔＶpgmを変更するタイミングを一定にしたい場合、半導体記憶装置がプログラムループ毎のプログラム電圧Ｖpgmの電圧値に基づいてプログラムループ毎のΔＶpgmを変更するようにしても良い。この場合の動作は、例えば図２１に示すフローチャートのようになる。
【０１５７】
図２１に示す動作は、本実施形態で説明した図１８に対してステップＳ４０及びＳ４２の動作を削除し、ステップＳ４１の動作をプログラム電圧Ｖpgmの電圧値を判定する動作（ステップＳ５０）に置き換えたものと同様である。具体的には、ステップＳ５０においてシーケンサ１７は、プログラムループ毎にステップアップされたプログラム電圧Ｖpgmの電圧値が、Ｖsetを超えたかどうかを判断する。この電圧値Ｖsetは、プログラム電圧Ｖpgmの初期値よりも大きい任意の値に設定される。
【０１５８】
プログラム電圧Ｖpgmの値がＶset以下の場合（ステップＳ５０、Ｎｏ）、ステップＳ１４に移行し、プログラム電圧をステップアップしてプログラムループが繰り返される。一方、プログラムループを繰り返すことによりプログラム電圧Ｖpgmの電圧値がＶsetを超えた場合（ステップＳ５０、Ｙｅｓ）、ステップＳ１５に移行し、プログラムループ毎のステップアップ量を小さくしたプログラムループが繰り返される。
【０１５９】
つまり本例では、図２１に示す第１期間で実行されたプログラムループ毎のプログラム電圧Ｖpgmの値に基づいて、第１期間から第２期間に移行する。その他の動作は、本実施形態で説明した図１８と同様のため説明を省略する。
【０１６０】
以上のように、プログラムループ毎にステップアップされるプログラム電圧が所定の電圧値を超えたかどうかが判断され、プログラムループ毎のΔＶpgmが小さくされる。これにより半導体記憶装置は、第１実施形態と同様にプログラムディスターブを低減することが出来、書き込んだデータの信頼性を向上することが出来る。
【０１６１】
尚、図２１に示す例ではプログラム電圧Ｖpgmが所定の電圧値を超えたかどうかをΔＶpgm変更のトリガーとしたが、これに限定されない。例えば、プログラム電圧Ｖpgmが所定の電圧値と一致した場合にΔＶpgmが変更されるようにしても良い。
【０１６２】
［６］第６実施形態
次に、第６実施形態に係る半導体記憶装置について説明する。第６実施形態は、第１実施形態に係る書き込み動作を、３ビット又は４ビットデータのsequential writingに適用する場合の一例である。以下に、第１〜第５実施形態と異なる点を説明する。
【０１６３】
［６−１］メモリセルの閾値分布
まず、図２２及び図２３を用いて、メモリセルトランジスタＭＴの閾値分布について説明する。図２２及び図２３にはそれぞれ、３ビット及び４ビットデータを記憶するメモリセルの閾値分布が示されている。図２２及び図２３の縦軸及び横軸はそれぞれ、メモリセルの数及び閾値電圧Ｖｔｈに対応している。
【０１６４】
半導体記憶装置１０は、１つのメモリセルに３ビットのデータを記憶させるＴＬＣ（Triple Level Cell）方式の書き込み動作や、４ビットのデータを記憶させるＱＬＣ（Quadruple Level Cell）方式の書き込み動作を実行することが出来る。
【０１６５】
メモリセルが３ビットのデータを保持する場合、その閾値電圧の分布は、図２２に示すように９個に分かれる。この９個の閾値分布にそれぞれ対応する３ビットのデータを、閾値電圧の低いものから順に“ＥＲ”レベル、“Ａ”レベル、“Ｂ”レベル、“Ｃ”レベル、“Ｄ”レベル、“Ｅ”レベル、“Ｆ”レベル、及び“Ｇ”レベルと呼ぶ。
【０１６６】
一方、メモリセルが４ビットのデータを保持する場合、その閾値電圧の分布は、図２３に示すように１６個に分かれる。この１６個の閾値分布にそれぞれ対応する４ビットのデータを、閾値電圧の低いものから順に“ＥＲ”レベル、“Ａ”レベル、“Ｂ”レベル、“Ｃ”レベル、“Ｄ”レベル、“Ｅ”レベル、“Ｆ”レベル、“Ｇ”レベル、“Ｈ”レベル、“Ｉ”レベル、“Ｊ”レベル、“Ｋ”レベル、“Ｌ”レベル、“Ｍ”レベル、及び“Ｎ”レベルと呼ぶ。
【０１６７】
このように、メモリセルが複数ビットのデータを保持する場合、記憶するビット数が多くなる程、閾値分布の山が多くなる。また、３ビット及び４ビットのデータが記憶されたメモリセルに対して書き込み動作及び読み出し動作を行う場合、ベリファイ電圧及び読み出し電圧は、図４で説明した２ビットの場合と同様に設定される。
【０１６８】
［６−２］書き込み動作
次に、半導体記憶装置１０の書き込み動作について説明する。  
第６実施形態では、３ビット又は４ビットデータのsequential writingに対して、第１実施形態の書き込み動作を適用する。具体的には、例えば３ビットデータのsequential writingを実行する場合、“Ａ”〜“Ｆ”のいずれかのレベルのベリファイをパスした後にプログラムループ毎におけるプログラム電圧の増加量ΔＶpgmを小さくする。同様に、４ビットデータのsequential writingを実行する場合、“Ａ”〜“Ｍ”のいずれかのレベルのベリファイをパスした後にΔＶpgmを小さくする。
【０１６９】
この動作は、第１実施形態で説明した図６に示すフローチャートにおいて、ステップＳ１３に対応する動作を、所望のレベルのベリファイにパスしたか否かを確認する動作に変更したものと同様である。
【０１７０】
［６−３］第６実施形態の効果
次に、第６実施形態の効果について説明する。本実施形態に係る半導体記憶装置１０によれば、メモリセルに３ビット又は４ビットのデータを記憶させる場合においても、書き込んだデータの信頼性を向上することが出来る。以下に、この効果の詳細について説明する。
【０１７１】
半導体記憶装置においてメモリセルが複数ビットのデータを保持する場合、保持するビット数に基づいて閾値分布の山が増加する。この閾値分布の山は、消去レベルの電圧と読み出し電圧との間に設けられる。つまり、メモリセルが記憶するデータのビット数が増加する程、各データに対応するレベルの閾値分布の間隔が狭くなり、プログラムディスターブの影響が大きくなる。
【０１７２】
そこで本実施形態に係る半導体記憶装置１０は、３ビット又は４ビットデータのsequential writingに対して、第１実施形態の書き込み方法を適用する。具体的には、３ビット又は４ビットデータのsequential writingで、第１実施形態と同様に、所定のレベルの書き込みが終了したことに基づいてプログラムループ毎のΔＶpgmを小さくする。
【０１７３】
これにより本実施形態に係る半導体記憶装置１０は、メモリセルに３ビット又は４ビットのデータを記憶させる場合においても、最終的に到達するプログラム電圧の値を下げることが出来、プログラムディスターブを低減することが出来る。従って本実施形態に係る半導体記憶装置１０は、第１実施形態と同様に、書き込んだデータの信頼性を向上することが出来る。
【０１７４】
尚、上記説明において、３ビット又は４ビットデータのsequential writingにおいて第１実施形態の書き込み方法を適用した場合を例に説明したが、これに限定されない。例えば、３ビット又は４ビットデータを書き込む場合に、第２〜第５実施形態の書き込み方法を適用することが出来る。例えば、３ビットデータのsequential writingで第３実施形態の書き込み方法を適用する場合、“Ａ”〜“Ｆ”のうち２つのレベルのベリファイにパスした後にΔＶpgmが変更される。
【０１７５】
［７］第７実施形態
次に、第７実施形態に係るメモリシステムについて説明する。第７実施形態は、上記第１〜第６実施形態で説明した半導体記憶装置の書き込み方法を、コントローラの制御によって使い分けるものである。以下に、第１〜第６実施形態と異なる点を説明する。
【０１７６】
［７−１］書き込み動作
まず、図２４を用いてメモリシステム１における書き込み動作の概略について説明する。図２４には、２種類の書き込み動作と、それに対応する書き込み方法の組み合わせの一例が示されている。
【０１７７】
メモリシステム１は、複数種類の書き込み方法を使い分けることが可能である。例えば、半導体記憶装置１０はコントローラ２０の制御に基づいて、図２４に示すように第１及び第２書き込み動作を実行することが出来る。
【０１７８】
第１書き込み動作には、例えば通常の書き込み方法が適用され、第２書き込み動作には、例えば第１実施形態で説明した書き込み方法が適用される。この書き込み方法の割り当てをケース１とする。ここで通常の書き込み方法とは、書き込み動作の途中でプログラムループ毎のプログラム電圧の増加量ΔＶpgmが変化しない書き込み方法のことを示している。
【０１７９】
また、図２４のケース２及び３に示すように、第１書き込み動作に通常の書き込み方法を適用して、第２書き込み動作に例えば第２及び第３実施形態で説明した書き込み方法を適用しても良い。さらに、図２４のケース４及び５に示すように、第１及び第２書き込み動作に対してそれぞれ、異なる実施形態の書き込み方法を適用しても良い。
【０１８０】
以上で説明した書き込み動作は、コントローラ２０がホストからの命令に基づいて、発行するコマンドを変更することによって実現される。以下に、メモリシステム１の書き込み動作におけるコマンドシーケンスの一例について説明する。
【０１８１】
［７−１−１］書き込み動作のコマンドシーケンス
まず、図２５を用いて第１書き込み動作のコマンドシーケンスについて説明する。図２５には、第１書き込み動作のコマンドシーケンスの一例が示されている。以下の説明においてコントローラ２０から発行されたアドレス及びコマンドはそれぞれ、アドレスレジスタ１５Ｂ及びコマンドレジスタ１５Ｃに格納されるものとする。
【０１８２】
２ページデータのsequential writingにおいて、コントローラ２０は２ページ分の書き込みデータに対応する情報を、１ページ分ずつ２回に分けて半導体記憶装置１０に送信する。まず始めに、１ページ目の情報を送信するコマンドシーケンスについて説明する。
【０１８３】
まずコントローラ２０は、書き込みコマンド“８０ｈ”を発行して半導体記憶装置１０に送信する。コマンド“８０ｈ”は、書き込み動作の開始を命令するコマンドである。
【０１８４】
次にコントローラ２０は、例えば５サイクルに渡ってアドレス情報ＡＤＤを発行して半導体記憶装置１０に送信する。このアドレス情報ＡＤＤは、データを書き込む先のアドレスを指定するものである。
【０１８５】
次にコントローラ２０は、複数サイクルに渡って書き込みデータＤinを半導体記憶装置１０に出力する。ここで出力されたデータＤinは、１ページ分の書き込みデータに相当し、センスアンプモジュール１２のラッチ回路ＸＤＬに保持される。
【０１８６】
続けてコントローラ２０は、コマンド“１Ａｈ”を発行して半導体記憶装置１０に送信する。コマンド“１Ａｈ”は、コントローラ２０がここまで送信した情報がsequential writingにおける１ページ分の情報に相当することを示すものである。コマンド“１Ａｈ”がレジスタ１５Ｃに格納されると、シーケンサ１７はセンスアンプユニットＳＡＵを制御して、ラッチ回路ＸＤＬが保持しているデータを空いているラッチ回路（例えばラッチ回路ＬＤＬ）に転送させる。
【０１８７】
このときレディ／ビジー制御回路１８は、レディ／ビジー信号を“Ｌ”レベルにして、半導体記憶装置１０がビジー状態であることをコントローラ２０に知らせる。そしてデータの転送が終了すると、レディ／ビジー制御回路１８はレディ／ビジー信号を“Ｈ”レベルにして、半導体記憶装置１０がレディ状態であることをコントローラ２０に知らせる。図示するｔＤＬtransは、データ転送が行われている期間を示している。
【０１８８】
以上のコマンドシーケンスによって、コントローラ２０から半導体記憶装置１０に対して１ページ目の情報が送信される。
【０１８９】
続く２ページ目の情報を送信するコマンドシーケンスは、１ページ目の情報を送信するコマンドシーケンスに対して、コマンド“１Ａｈ”をコマンド“１０ｈ”に変更したものと同様である。コマンド“１０ｈ”は、直前に送信されたアドレス情報ＡＤＤ及びデータＤinに基づいて半導体記憶装置１０に書き込み動作を実行させるためのコマンドである。
【０１９０】
コマンド“１０ｈ”がレジスタ１５Ｃに保持されると、シーケンサ１７はセンスアンプモジュール１２及びロウデコーダ１３等を制御して、第１書き込み動作を開始する。この際センスアンプモジュール１２は、レジスタ内のアドレス情報のうちのカラムアドレス信号ＣＡをデコードし、各ビット線ＢＬに対してラッチ回路ＸＤＬに保持されたデータＤinを転送する。またロウデコーダ１３は、レジスタ内のアドレス情報のうちのロウアドレス情報ＲＡをデコードし、選択ワード線及び非選択ワード線に所望の電圧を印加する。
【０１９１】
このときレディ／ビジー制御回路１８は、レディ／ビジー信号を“Ｌ”レベルにして、半導体記憶装置１０がビジー状態であることをコントローラ２０に知らせる。そして半導体記憶装置１０が第１書き込み動作を終了すると、レディ／ビジー制御回路１８はレディ／ビジー信号を“Ｈ”レベルにして、半導体記憶装置１０がレディ状態であることをコントローラ２０に知らせる。図示するｔProg１は、この第１書き込み動作が行われている時間を示している。
【０１９２】
次に、図２６を用いて第２書き込み動作のコマンドシーケンスについて説明する。図２６には、第２書き込み動作のコマンドシーケンスの一例が示されている。第２書き込み動作のコマンドシーケンスは、前述した第１書き込み動作のコマンドシーケンスに対して、始めに特殊コマンドが追加されている点が異なっている。
【０１９３】
具体的には、まずコントローラ２０は、特殊コマンド“ｘｘｈ”を発行して半導体記憶装置１０に送信する。コマンド“ｘｘｈ”は、特殊な書き込み方法による書き込みを命令するコマンドである。続けてコントローラ２０は、書き込みコマンド“８０ｈ”を発行して半導体記憶装置１０に送信する。これ以降のコマンドシーケンスは、図２５を用いて説明した第１書き込み動作と同様である。図示するｔProg２は、この第２書き込み動作が実行されている時間を示している。
【０１９４】
尚、特殊コマンド“ｘｘｈ”は、少なくとも１ページ目の情報を送信するコマンドシーケンスの始めに追加されていれば良く、２ページ目以降の情報に送信するコマンドシーケンスには含まれていなくても良いし、含まれていても良い。
【０１９５】
以上で説明した第１及び第２書き込み動作は通常、処理速度が異なる書き込み方法が適用されるため、対応するｔProg１及びｔProg２の処理時間は異なっている。
【０１９６】
また、以上で説明した第１及び第２書き込み動作に対応する書き込み方法は、Set featureと呼ばれるパラメータ設定シーケンスによって変更することが出来る。
【０１９７】
［７−１−２］Set featureのコマンドシーケンス
ここで、図２７を用いてSet featureのコマンドシーケンスについて説明する。図２７にはSet featureのコマンドシーケンスの一例が示されている。
【０１９８】
図２７に示すように、まずコントローラ２０は、Set featureコマンド“ＥＦｈ”を発行し、半導体記憶装置１０に送信する。コマンド“ＥＦｈ”は、半導体記憶装置１０に対してパラメータの変更を命令するコマンドである。
【０１９９】
次にコントローラ２０は、アドレス情報ＡＤＤを発行し、半導体記憶装置１０に送信する。このアドレス情報ＡＤＤは、変更したいパラメータに対応するアドレスを指定するものである。次にコントローラ２０は、複数サイクルに渡って設定データＤinを半導体記憶装置１０に出力する。ここで出力されたデータＤinは、変更するパラメータに相当するデータである。
【０２００】
するとシーケンサ１７はセンスアンプモジュール１２及びロウデコーダ１３等を制御して、Set featureを開始する。Set featureが開始すると、前述した書き込み方法と同様の動作で、設定のパラメータが書き換えられる。図示するｔSetは、このSet featureが行われている期間を示している。
【０２０１】
Set featureが終了すると、半導体記憶装置１０は例えば特殊書き込みモードになる。この特殊書き込みモードとは、図２５で説明した第１書き込み動作のコマンドシーケンスによって、上記実施形態の書き込み動作を実行するものである。つまり半導体記憶装置１０は、特殊書き込みモードの場合、特殊コマンドの受信無しに上記実施形態の書き込み動作を実行する。
【０２０２】
［７−２］第７実施形態の効果
次に、第７実施形態の効果について説明する。第７実施形態に係るメモリシステム１によれば、メモリシステム１の動作速度を向上することが出来る。以下に、この効果の詳細について説明する。
【０２０３】
メモリシステムに記憶されるデータには、書き換え頻度が高いものと、書き換え頻度が低いものがある。例えば、書き換え頻度が低いデータとしては画像データが挙げられ、書き換え頻度が高いデータとしてはドキュメントデータが挙げられる。いずれのデータも読み出し時にエラーが少ない方が好ましい。
【０２０４】
しかし、信頼性を高めた書き込み動作は、通常の書き込み動作と比較して動作速度が遅い場合がある。また、書き換え頻度が高いデータについては、多少のフェイルビットを許容してでも動作速度を優先したい場合がある。
【０２０５】
そこで本実施形態に係るメモリシステム１は、書き込むデータに応じて、データの書き込み方法を使い分ける。具体的には、外部のホストが書き込むデータを判別してコントローラ２０に指示を出し、コントローラ２０がホストの指示に基づいて書き込みコマンドを発行する。このコマンドとしては、例えば動作速度を重視したい場合には通常の書き込みコマンド（８０ｈ）を使用し、データの信頼性を重視したい場合には特殊コマンド（ｘｘｈ＋８０ｈ）を使用する。
【０２０６】
そして半導体記憶装置１０は、この書き込みコマンドに基づいて、動作速度を重視した書き込み動作、又はデータの信頼性を重視した書き込み動作を実行する。動作速度を重視した書き込み動作には、例えば通常の書き込み方法が適用され、信頼性を重視した書き込み動作には、例えば第１実施形態の書き込み方法が適用される。
【０２０７】
このように第７実施形態に係る半導体記憶装置１０は、異なる書き込み方法をコントローラ２０の発行するコマンドによって使い分けることが出来る。これにより第７実施形態に係る半導体記憶装置１０は、ユーザが書き込み動作において動作速度、及びデータの信頼性のどちらを優先するか選択できるようになる。
【０２０８】
尚、上記実施形態で説明した書き込み方法は、Set featureによってデフォルト設定を変えることにより実行するようにしても良い。この場合、書き込むデータに応じて、書き込み動作の冒頭にSet featureが実行される。これにより半導体記憶装置１０は、特殊コマンドを受けること無く、適切な書き込み方法によるデータの書き込みを実行することが出来る。
【０２０９】
また、特殊コマンドの種類は上記に限定されず、２種類以上あってもよい。この場合も同様に、それぞれの特殊コマンドに対して異なる書き込み方法を割り当てることによって、用途に合わせた書き込み方法を選択することが出来る。
【０２１０】
［８］第８実施形態
次に、第８実施形態に係る半導体記憶装置について説明する。第８実施形態は、上記実施形態におけるメモリセルアレイの構成を、メモリセルが積層された構成に変更したものである。以下に、第１〜第７実施形態と異なる点を説明する。
【０２１１】
［８−１］半導体記憶装置１０の構成
［８−１−１］メモリセルアレイ１１の回路構成
図２８を用いて、メモリセルアレイ１１の回路構成について説明する。図２８には、メモリセルアレイ１１の回路図が示されている。メモリセルが三次元に積層された半導体記憶装置１０の回路構成は、第１実施形態で説明した図３に対して、ブロックＢＬＫ内の構成が異なる。以下に、この回路構成について１つのブロックＢＬＫを用いて説明する。
【０２１２】
ブロックＢＬＫは、例えば４個のストリングユニットＳＵを備えている。ストリングユニットＳＵの各々は、Ｌ個（Ｌは１以上の自然数）のＮＡＮＤストリングＮＳを備えている。ＮＡＮＤストリングＮＳの構成は、第１実施形態で説明した図３と同様である。
【０２１３】
ストリングユニットＳＵ０〜ＳＵ３内の選択トランジスタＳＴ１のゲートはそれぞれ、セレクトゲート線ＳＧＤ０〜ＳＧＤ３に共通接続されている。同一ブロック内の選択トランジスタＳＴ２のゲートは、セレクトゲート線ＳＧＳに共通接続されている。同様に、同一ブロック内のメモリセルトランジスタＭＴ０〜ＭＴ７の制御ゲートはそれぞれ、ワード線ＷＬ０〜ＷＬ７に共通接続されている。
【０２１４】
また、メモリセルアレイ１１内において同一列にあるＮＡＮＤストリングＮＳの選択トランジスタＳＴ１のドレインは、ビット線ＢＬに共通接続されている。つまりビット線ＢＬは、複数のブロックＢＬＫ間で同一列にあるＮＡＮＤストリングＮＳを共通に接続している。さらに、複数の選択トランジスタＳＴ２のソースは、ソース線ＳＬに共通に接続されている。
【０２１５】
［８−１−２］メモリセルアレイ１１の断面構造
次に、図２９を用いて、メモリセルアレイ１１の断面構造について説明する。図２９にはメモリセルアレイ１１の断面図と、それぞれが互いに直行するＸ軸、Ｙ軸、及びＺ軸とが示されている。尚、図２９では層間絶縁膜を省略して示している。
【０２１６】
図２９に示すように半導体記憶装置１０は、Ｐ型ウェル領域５０、配線層５１〜５６、複数の半導体ピラーＭＨ、及び複数のコンタクトプラグＬＩを備えている。
【０２１７】
Ｐ型ウェル領域５０は、半導体基板の表面内に形成されている。Ｐ型ウェル領域５０の上方には、配線層５１〜５３が順に積層されている。この配線層５１〜５３はそれぞれ、セレクトゲート線ＳＧＳ、ワード線ＷＬ、及びセレクトゲート線ＳＧＤとして機能する。つまり配線層５１〜５３の層数はそれぞれ、セレクトゲート線ＳＧＳ、ワード線ＷＬ、及びセレクトゲート線ＳＧＤの本数に対応している。
【０２１８】
尚、セレクトゲート線ＳＧＳ及びＳＧＤにそれぞれ対応する配線層５１及び５３は、図２９に示すように複数設けられても良い。また、配線層５１〜５３は、Ｘ方向とＹ方向に広がった板状に設けられている。
【０２１９】
複数の半導体ピラーＭＨは、配線層５３の上面からＰ型ウェル領域５０の上面に達するように形成されている。つまり半導体ピラーＭＨは、Ｚ方向に沿って配線層５１〜５３を通過するように設けられている。これら半導体ピラーＭＨの側面には、ブロック絶縁膜５７、絶縁膜（電荷蓄積層）５８、及びトンネル酸化膜５９が順に形成されている。また半導体ピラーＭＨにおいて、トンネル酸化膜５９より内側には、導電性の材料を含む半導体材料６０が埋め込まれている。
【０２２０】
配線層５３及び半導体ピラーＭＨの上方には、ビット線ＢＬに対応する配線層５４が形成されている。ビット線ＢＬは、対応する半導体ピラーＭＨと接続されている。尚、ビット線ＢＬと対応する半導体ピラーＭＨとの間には、導電性の材料を含むコンタクトプラグを形成してもよい。
【０２２１】
配線層５３及び５４の間には、ソース線ＳＬ及びウェル線ＣＰＷＥＬＬにそれぞれ対応する配線層５５及び５６が形成されている。ソース線ＳＬは、コンタクトプラグＬＩを介して、ウェル領域５０の表面内に形成されたｎ＋不純物拡散領域６１に接続されている。ウェル線ＣＰＷＥＬＬは、コンタクトプラグＬＩを介して、ウェル領域５０の表面内に形成されたｐ＋不純物拡散領域６２に接続されている。尚、コンタクトプラグＬＩは、Ｘ方向とＺ方向に広がった板状に設けられている。
【０２２２】
以上の構成において、１つの半導体ピラーＭＨが、１つのＮＡＮＤストリングＮＳに対応している。具体的には、セレクトゲート線ＳＧＤ及びＳＧＳと、半導体ピラーＭＨとの交点がそれぞれ選択トランジスタＳＴ１及びＳＴ２に対応している。同様に、ワード線ＷＬと半導体ピラーＭＨとの交点がメモリセルトランジスタＭＴに対応している。
【０２２３】
また、以上の構成はＸ方向に複数配列される。例えば、１つのストリングユニットＳＵは、Ｘ方向に配列する複数のＮＡＮＤストリングＮＳの集合によって構成される。同一のブロックＢＬＫ内に複数のストリングユニットＳＵを設ける場合、セレクトゲート線ＳＧＤに対応する配線層５３は、ストリングユニットＳＵ間で分離される。
【０２２４】
尚、最下層の配線層５１及びトンネル酸化膜５９は、ｎ＋型不純物拡散領域６１の近傍まで設けられている。これにより、選択トランジスタＳＴ２がオン状態になると、ＮＡＮＤストリングＮＳ及びｎ＋型不純物拡散領域６１間に電流経路が形成される。
【０２２５】
また、メモリセルアレイ１１の構成については、その他の構成であってもよい。メモリセルアレイ１１の構成については、例えば“三次元積層不揮発性半導体メモリ”という２００９年３月１９日に出願された米国特許出願１２／４０７，４０３号に記載されている。また、“三次元積層不揮発性半導体メモリ”という２００９年３月１８日に出願された米国特許出願１２／４０６，５２４号、“不揮発性半導体記憶装置及びその製造方法”という２０１０年３月２５日に出願された米国特許出願１２／６７９，９９１号、“半導体メモリ及びその製造方法”という２００９年３月２３日に出願された米国特許出願１２／５３２，０３０号に記載されている。これらの特許出願は、その全体が本願明細書において参照により援用されている。
【０２２６】
［８−２］第８実施形態の効果
次に、第８実施形態の効果について説明する。第８実施形態に係る半導体記憶装置１０によれば、メモリセルが三次元に積層された半導体記憶装置においても、データの信頼性を向上することが出来る。以下に、この効果の詳細について説明する。
【０２２７】
半導体記憶装置の書き込み動作において、メモリセルにプログラム電圧を印加した場合、メモリセルの特性によって閾値電圧が上昇する量が決まる。例えば、メモリセルに導電層を適用した場合と、絶縁層を適用した場合とで特性が異なる。また、メモリセルを平面に配列させた場合と、メモリセルを三次元に積層させた場合とでも特性が異なる。このため、メモリセルを三次元に積層させた場合、より精密なプログラム電圧の調整が必要になる場合がある。
【０２２８】
そこで第８実施形態の半導体記憶装置１０は、メモリセルを三次元に積層させた半導体記憶装置に対して第１〜第７実施形態の書き込み動作を適用する。これらの実施形態の書き込み動作は、メモリセルが平面上に形成された半導体記憶装置だけでなく、メモリセルを三次元に積層させた半導体記憶装置においても同様に動作させることが可能である。
【０２２９】
これにより第８実施形態に係る半導体記憶装置１０は、上記実施形態の書き込み方法を適用することにより、上記実施形態と同様の効果を得ることが出来る。
【０２３０】
［９］変形例等
上記実施形態に係る半導体記憶装置＜１０、図１＞は、それぞれが２ビット以上のデータを記憶可能な複数の第１メモリセル＜ＭＣ、図３＞と、複数の第１メモリセルに接続された第１ワード線＜ＷＬ＞と、を備える。書き込み動作において、第１ワード線にプログラム電圧＜Ｖpgm、図６＞を印加するプログラム動作＜Program、図６＞を含むプログラムループが繰り返される。書き込み動作は、それぞれが複数回のプログラムループを含む第１期間＜1st phase、図６＞と第１期間に続く第２期間＜2nd phase、図６＞とを含む。プログラム電圧は、第１期間中にはプログラムループ毎に第１電圧＜ΔＶpgm１、図６＞ずつ増加し、第２期間中にはプログラムループ毎に第１電圧より小さい第２電圧＜ΔＶpgm２、図６＞ずつ増加する。
【０２３１】
これにより、データの信頼性を向上することが可能な半導体記憶装置を提供することが出来る。
【０２３２】
尚、実施形態は上記第１〜第８実施形態に限定されず、種々の変形が可能である。例えば、第６実施形態のようにメモリセルに３ビット以上のデータを記憶させる場合、ΔＶpgmを３段階以上変化させるようにしてもよい。つまり書き込み動作の間に３種類以上のΔＶpgmを使用してもよい。この場合も上記実施形態と同様に、書き込み動作後半のΔＶpgmの方が小さくなるように設定される。
【０２３３】
また、上記実施形態において、ベリファイ動作についてベリファイ電圧をステップ状に上昇させた場合を例に説明したが、これに限定されない。例えば、電圧を連続的に上昇させることにより、ベリファイ電圧を生成するようにしても良い。この場合のベリファイ電圧とは、センスアンプモジュール１２がビット線ＢＬの電圧をセンスするタイミングの電圧値のことを指す。また、ベリファイ電圧を印加する回数とは、ベリファイ動作時にビット線ＢＬの電圧をセンスする回数に対応している。
【０２３４】
また、上記実施形態において、複数のレベルに対してベリファイ動作を連続して行った場合を例に説明したが、これに限定されない。例えば、各レベルに対するベリファイを、それぞれ分けて行っても良い。また、ベリファイ電圧を印加する順番も、低い方から順にベリファイする場合を例に説明したがこれに限定されず、それぞれ順番を入れ替えることが可能である。
【０２３５】
また、第５実施形態においてプログラムループの実行回数をカウントするカウンタは、数値をインクリメントすることにより回数をカウントしていたが、これに限定されない。例えば、カウンタの数値をデクリメントすることによりプログラムループ数をカウントしても良い。この場合、例えば第５実施形態において、ステップＳ４０で説明したカウンタのリセット動作の替わりに、カウンタにＮ＝ｋをセットする。そして、ステップＳ４１でシーケンサ１７にＮ＝０かどうかを判定させ、ステップＳ４２でカウンタをデクリメントさせる。これにより、カウンタをインクリメントさせる場合と同様に、所望の回数だけプログラムループを実行した後に、ΔＶpgmを変更することが出来る。
【０２３６】
また、上記実施形態において、最終的にベリファイがパスする場合を例に説明したが、これに限定されない。例えば、規定の回数のプログラムループを実行してベリファイをパスしない場合、そのページの書き込み自体をフェイルとするようにしても良い。
【０２３７】
また、第７実施形態において、２ページデータのsequential writingの場合を例にコマンドシーケンスの説明をしたが、３ページ以上のデータのsequential writingを行う場合についても同様のコマンドシーケンスとなる。例えば、コントローラ２０はページ毎に対応する情報を半導体記憶装置１０に送信し、所望のページ数のデータが揃ったらコマンド“１０ｈ”によりsequential writingを実行する。つまり１回の書き込み動作とは、一番初めに送信された書き込みコマンド”８０ｈ”と、書き込み動作の実行するコマンド”１０ｈ”との間に送信された情報に基づいて実行されるものとも言える。
【０２３８】
また、上記説明において「接続」とは電気的に接続していることを示し、直接接続される場合だけでなく、任意の素子を介して接続される場合も含んでいる。
【０２３９】
また、コントローラ２０が半導体記憶装置１０の動作状態を知る手段として、レディ／ビジー制御回路１８を使用しなくても良い。この場合シーケンサ１７は、レディ／ビジー信号に対応するレディ／ビジー情報をステータスレジスタ１５Ａに格納する。そこでコントローラ２０がステータスリードコマンドを発行すると、この情報がステータスレジスタ１５Ａから読み出され、入出力回路１４から出力される。これによりコントローラ２０は、半導体記憶装置１０の動作状態を知ることが出来る。
【０２４０】
また、上記実施形態において、ブロックＢＬＫがデータの消去単位にならなくても良い。例えば他の消去動作は、“不揮発性半導体記憶装置”という２０１１年９月１８日に出願された米国特許出願１３／２３５，３８９号、“不揮発性半導体記憶装置”という２０１０年１月２７日に出願された米国特許出願１２／６９４，６９０号に記載されている。これらの特許出願は、その全体が本願明細書において参照により援用されている。
【０２４１】
尚、上記各実施形態において、  
（１）読み出し動作では、“Ａ”レベルの読み出し動作に選択されたワード線に印加される電圧は、例えば0〜0.55Ｖの間である。これに限定されることなく、0.1〜0.24Ｖ、0.21〜0.31Ｖ、0.31〜0.4Ｖ、0.4〜0.5Ｖ、0.5〜0.55Ｖのいずれかの間にしてもよい。
【０２４２】
“Ｂ”レベルの読み出し動作に選択されたワード線に印加される電圧は、例えば1.5〜2.3Ｖの間である。これに限定されることなく、1.65〜1.8Ｖ、1.8〜1.95Ｖ、1.95〜2.1Ｖ、2.1〜2.3Ｖのいずれかの間にしてもよい。
【０２４３】
“Ｃ”レベルの読み出し動作に選択されたワード線に印加される電圧は、例えば3.0Ｖ〜4.0Ｖの間である。これに限定されることなく、3.0〜3.2Ｖ、3.2〜3.4Ｖ、3.4〜3.5Ｖ、3.5〜3.6Ｖ、3.6〜4.0Ｖのいずれかの間にしてもよい。
【０２４４】
読み出し動作の時間（ｔRead）としては、例えば25〜38μs、38〜70μs、70〜80μsの間にしてもよい。
（２）書き込み動作は、上述したとおりプログラム動作とベリファイ動作を含む。書き込み動作では、プログラム動作時に選択されたワード線に最初に印加される電圧は、例えば13.7〜14.3Ｖの間である。これに限定されることなく、例えば13.7〜14.0Ｖ、14.0〜14.6Ｖのいずれかの間としてもよい。
【０２４５】
奇数番目のワード線を書き込む際の、選択されたワード線に最初に印加される電圧と、偶数番目のワード線を書き込む際の、選択されたワード線に最初に印加される電圧を変えてもよい。
【０２４６】
プログラム動作をＩＳＰＰ方式（Incremental Step Pulse Program）としたとき、ステップアップの電圧として、例えば0.5Ｖ程度が挙げられる。
【０２４７】
非選択のワード線に印加される電圧としては、例えば6.0〜7.3Ｖの間としてもよい。この場合に限定されることなく、例えば7.3〜8.4Ｖの間としてもよく、6.0Ｖ以下としてもよい。
【０２４８】
非選択のワード線が奇数番目のワード線であるか、偶数番目のワード線であるかで、印加するパス電圧を変えてもよい。
【０２４９】
書き込み動作の時間（ｔProg）としては、例えば1700〜1800μs、1800〜1900μs、1900〜2000μsの間にしてもよい。
（３）消去動作では、半導体基板上部に形成され、かつ、上記メモリセルが上方に配置されたウェルに最初に印加する電圧は、例えば12〜13.6Ｖの間である。この場合に限定されることなく、例えば13.6〜14.8Ｖ、14.8〜19.0Ｖ、19.0〜19.8Ｖ、19.8〜21Ｖの間であってもよい。
【０２５０】
消去動作の時間（ｔErase）としては、例えば3000〜4000μs、4000〜5000μs、4000〜9000μsの間にしてもよい。
（４）メモリセルの構造は、半導体基板（シリコン基板）上に膜厚が4〜10ｎｍのトンネル絶縁膜を介して配置された電荷蓄積層を有している。この電荷蓄積層は膜厚が2〜3ｎｍのＳｉＮ、又はＳｉＯＮ等の絶縁膜と膜厚が3〜8ｎｍのポリシリコンとの積層構造にすることが出来る。また、ポリシリコンにはＲｕ等の金属が添加されていてもよい。電荷蓄積層の上には絶縁膜を有している。この絶縁膜は、例えば、膜厚が3〜10ｎｍの下層Ｈｉｇｈ−ｋ膜と膜厚が3〜10ｎｍの上層Ｈｉｇｈ−ｋ膜に挟まれた膜厚が4〜10ｎｍのシリコン酸化膜を有している。Ｈｉｇｈ−ｋ膜はＨｆＯ等が挙げられる。また、シリコン酸化膜の膜厚はＨｉｇｈ−ｋ膜の膜厚よりも厚くすることが出来る。絶縁膜上には膜厚が3〜10ｎｍの材料を介して膜厚が30〜70ｎｍの制御電極が形成されている。ここで材料はＴａＯ等の金属酸化膜、ＴａＮ等の金属窒化膜である。制御電極にはＷ等を用いることが出来る。
【０２５１】
また、メモリセル間にはエアギャップを形成することが出来る。
【０２５２】
尚、本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことが出来る。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
【符号の説明】
【０２５３】
１…メモリシステム、１０…半導体記憶装置、１１…メモリセルアレイ、１２…センスアンプモジュール、１３…ロウデコーダ、１４…入出力回路、１５…レジスタ、１６…ロジック制御回路、１７…シーケンサ、１８…レディ／ビジー制御回路、１９…電圧生成回路、２０…コントローラ、２１…プロセッサ、２２…内蔵メモリ、２３…ＥＣＣ回路、２４…ＮＡＮＤインターフェイス回路、２５…バッファメモリ、２６…ホストインターフェイス回路。
【図１】
2017208152.tif 000003
【図２】
2017208152.tif 000004
【図３】
2017208152.tif 000005
【図４】
2017208152.tif 000006
【図５】
2017208152.tif 000007
【図６】
2017208152.tif 000008
【図７】
2017208152.tif 000009
【図８】
2017208152.tif 000010
【図９】
2017208152.tif 000011
【図１０】
2017208152.tif 000012
【図１１】
2017208152.tif 000013
【図１２】
2017208152.tif 000014
【図１３】
2017208152.tif 000015
【図１４】
2017208152.tif 000016
【図１５】
2017208152.tif 000017
【図１６】
2017208152.tif 000018
【図１７】
2017208152.tif 000019
【図１８】
2017208152.tif 000020
【図１９】
2017208152.tif 000021
【図２０】
2017208152.tif 000022
【図２１】
2017208152.tif 000023
【図２２】
2017208152.tif 000024
【図２３】
2017208152.tif 000025
【図２４】
2017208152.tif 000026
【図２５】
2017208152.tif 000027
【図２６】
2017208152.tif 000028
【図２７】
2017208152.tif 000029
【図２８】
2017208152.tif 000030
【図２９】
2017208152.tif 000031