(57)【要約】【課題】  不揮発性のメモリセルを有する半導体メモリの書き込み動作時間を短縮する。【解決手段】  メモリトランジスタは、制御ゲート電圧に応じて閾値電圧が変化する。ステートマシンは、ベリファイ動作によりフェイルが判定されたときに、ソフトプログラム動作を実行するためのソフトプログラム信号を生成する。電圧生成部は、通常プログラム信号、ベリファイ信号およびソフトプログラム信号に応答して通常プログラム電圧、ベリファイ電圧および通常プログラム電圧より低いソフトプログラム電圧を制御ゲート電圧としてそれぞれ生成する。メモリトランジスタの閾値電圧が通常プログラム動作により所定の値に到達しないときに、ソフトプログラム動作を実行することで、例えば、分布の端にある閾値電圧の変化量を大きくできる。これにより、通常プログラム動作の実行回数を削減でき、書き込み動作時間を短縮できる。【選択図】    図１
2011040120.tif 000002
【特許請求の範囲】
【請求項１】
書き込み動作において制御ゲートに印加される制御ゲート電圧に応じてフローティングゲートに電荷が蓄積され、閾値電圧が変化するメモリトランジスタを有し、前記閾値電圧に応じてデータの論理を記憶する不揮発性のメモリセルと、
前記閾値電圧を所定の値に設定する前記書き込み動作において、通常プログラム動作を実行するための通常プログラム信号と、前記通常プログラム動作により前記閾値電圧が所定の値に到達したことを確認するベリファイ動作を実行するためのベリファイ信号とを、前記ベリファイ動作によりパスが判定されるまで交互に生成するとともに、前記通常プログラム動作後の前記ベリファイ動作によりフェイルが判定されたときに、ソフトプログラム動作を実行するためのソフトプログラム信号を生成するステートマシンと、
前記通常プログラム信号および前記ベリファイ信号に応答して通常プログラム電圧およびベリファイ電圧を前記制御ゲート電圧としてそれぞれ生成し、前記ソフトプログラム信号に応答して前記通常プログラム電圧より低いソフトプログラム電圧を前記制御ゲート電圧として生成する電圧生成部と、
前記ベリファイ動作時に、前記閾値電圧が前記所定の値に到達したときにパスを判定し、前記閾値電圧が前記所定の値まで到達していないときにフェイルを判定する判定部と
を備えていることを特徴とする半導体メモリ。
【請求項２】
前記書き込み動作は、複数のステップを用いて実行され、
前記ステートマシンは、前記ステップ毎に前記通常プログラム信号および前記ベリファイ信号を生成し、前記ステップのいずれかにおいて前記ソフトプログラム信号を生成し、
前記電圧生成部は、前記ステップ毎に徐々に高くなる前記通常プログラム電圧と、前記ステップ毎に徐々に高くなる前記ベリファイ電圧とを生成すること
を特徴とする請求項１記載の半導体メモリ。
【請求項３】
前記書き込み動作は、複数のステップを用いて実行され、
前記ステートマシンは、前記ステップ毎に前記通常プログラム信号、前記ベリファイ信号および前記ソフトプログラム信号を生成し、
前記電圧生成部は、前記ステップ毎に徐々に高くなる前記通常プログラム電圧と、前記ステップ毎に徐々に高くなる前記ベリファイ電圧と、前記ステップ毎に徐々に高くなる前記ソフトプロラム電圧とを生成すること
を特徴とする請求項１記載の半導体メモリ。
【請求項４】
前記ソフトプログラム動作は、前記ベリファイ動作がフェイルした後の前記通常プログラム動作の前に実行されること
を特徴とする請求項１なし請求項３のいずれか１項記載の半導体メモリ。
【請求項５】
前記ソフトプログラム動作は、前記ベリファイ動作がフェイルした後の前記通常プログラム動作の後に実行されること
を特徴とする請求項１なし請求項３のいずれか１項記載の半導体メモリ。
【請求項６】
前記ステートマシンは、前記ソフトプログラム信号と、前記ソフトプログラム動作により前記閾値電圧が所定の値に設定されたことを確認するソフトベリファイ動作を実行するためのソフトベリファイ信号とを、前記ソフトベリファイ動作がパスするまで交互に生成し、
前記電圧生成部は、前記ソフトベリファイ信号に応答してソフトベリファイ電圧を前記制御ゲート電圧として生成すること
を特徴とする請求項１なし請求項５のいずれか１項記載の半導体メモリ。
【請求項７】
前記判定部は、
前記メモリセルにそれぞれ接続され、前記ベリファイ動作において、対応する前記メモリトランジスタの閾値電圧が前記所定の値に設定されときに前記ベリファイ動作によるパスを検出するセンスアンプ部と、
前記各メモリセルに対応して設けられ、前記センスアンプ部により前記ベリファイ動作によるパスが検出された後に、前記通常プログラム動作および前記ソフトプログラム動作において、対応する前記メモリトランジスタのソース、ドレイン間にプログラム用の電圧が印加されることを禁止するプログラムマスク回路と
を備えていることを特徴とする請求項１なし請求項６のいずれか１項記載の半導体メモリ。
【請求項８】
請求項１ないし請求項７のいずれか１項記載の半導体メモリと、
前記半導体メモリにアクセスするコントローラと
を備えていることを特徴とするシステム。
【請求項９】
書き込み動作において制御ゲートに印加される制御ゲート電圧に応じてフローティングゲートに電荷が蓄積され、閾値電圧が変化するメモリトランジスタを有し、前記閾値電圧に応じてデータの論理を記憶する不揮発性のメモリセルを備えた半導体メモリの動作方法であって、
前記閾値電圧を所定の値に設定する前記書き込み動作において、通常プログラム動作を実行するための通常プログラム信号と、前記通常プログラム動作により前記閾値電圧が所定の値に到達したことを確認するベリファイ動作を実行するためのベリファイ信号とを、前記ベリファイ動作によりパスが判定されるまで交互に生成するとともに、前記通常プログラム動作後の前記ベリファイによりフェイルが判定されたときに、ソフトプログラム動作を実行するためのソフトプログラム信号を生成し、
前記通常プログラム信号および前記ベリファイ信号に応答して通常プログラム電圧およびベリファイ電圧を前記制御ゲート電圧としてそれぞれ生成し、前記ソフトプログラム信号に応答して前記通常プログラム電圧より低いソフトプログラム電圧を前記制御ゲート電圧として生成し、
前記ベリファイ動作時に、前記閾値電圧が前記所定の値に到達したときにパスを判定し、前記閾値電圧が前記所定の値まで到達していないときにフェイルを判定すること
を特徴とする半導体メモリの動作方法。
【請求項１０】
前記書き込み動作を複数のステップを用いて実行し、
前記ステップ毎に前記通常プログラム信号および前記ベリファイ信号を生成し、前記ステップのいずれかにおいて前記ソフトプログラム信号を生成し、
前記ステップ毎に徐々に高くなる前記通常プログラム電圧と、前記ステップ毎に徐々に高くなる前記ベリファイ電圧とを生成すること
を特徴とする請求項９記載の半導体メモリの動作方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、不揮発性のメモリセルを有する半導体メモリに関する。
【背景技術】
【０００２】
一般に、フラッシュメモリ等の半導体メモリは、メモリセル内のメモリトランジスタの閾値電圧に応じて、データの論理を記憶する。メモリトランジスタの閾値電圧は、フローティングゲートに蓄積される電荷量に応じて変化する。消去状態のメモリセルにデータをプログラムするとき、メモリセルトランジスタのチャネル領域にホットエレクトロンを発生させるために、メモリトランジスタの制御ゲートは高レベルに設定される。そして、メモリトランジスタの閾値電圧は、ホットエレクトロンがメモリトランジスタのフローティングゲートに注入されることで高くなる。これにより、メモリセルにデータがプログラムされる。
【０００３】
メモリトランジスタに記憶されている論理を正しく読み出すためには、各論理に対応するメモリトランジスタの閾値電圧を所定の範囲内に分布させる必要がある。例えば、過剰な消去状態のメモリトランジスタの閾値電圧は、弱い書き込みを実施することで正しい消去状態にされる（例えば、特許文献１−２参照。）。あるいは、メモリトランジスタが過剰な書き込み状態になることを防止するため、消去状態からの書き込みは、パルス幅の小さい複数の書き込みパルスを用いて実施される（例えば、特許文献３参照。）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平５−３１４７８３号公報
【特許文献２】特開２００２−２５２８０号公報
【特許文献３】特開２００２−１０９８９１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
消去状態のメモリトランジスタの閾値電圧は、ある幅に分布されている。本発明は、消去状態のメモリトランジスタの閾値電圧がある幅に分布されているメモリセルへの書き込み動作を提供するものである。
【課題を解決するための手段】
【０００６】
本発明の一形態では、半導体メモリは、書き込み動作において制御ゲートに印加される制御ゲート電圧に応じてフローティングゲートに電荷が蓄積され、閾値電圧が変化するメモリトランジスタを有し、閾値電圧に応じてデータの論理を記憶する不揮発性のメモリセルと、閾値電圧を所定の値に設定する書き込み動作において、通常プログラム動作を実行するための通常プログラム信号と、通常プログラム動作により閾値電圧が所定の値に到達したことを確認するベリファイ動作を実行するためのベリファイ信号とを、ベリファイ動作によりパスが判定されるまで交互に生成するとともに、通常プログラム動作後のベリファイ動作によりフェイルが判定されたときに、ソフトプログラム動作を実行するためのソフトプログラム信号を生成するステートマシンと、通常プログラム信号およびベリファイ信号に応答して通常プログラム電圧およびベリファイ電圧を制御ゲート電圧としてそれぞれ生成し、ソフトプログラム信号に応答して通常プログラム電圧より低いソフトプログラム電圧を制御ゲート電圧として生成する電圧生成部と、ベリファイ動作時に、閾値電圧が所定の値に到達したときにパスを判定し、閾値電圧が所定の値まで到達していないときにフェイルを判定する判定部とを有している。
【発明の効果】
【０００７】
メモリトランジスタの閾値電圧が通常プログラム動作により所定の値に到達しないときに、ソフトプログラム動作を実行することで、特に分布の端にある閾値電圧の変化量を大きくできる。
【図面の簡単な説明】
【０００８】
【図１】一実施形態における半導体メモリの例を示している。
【図２】別の実施形態における半導体メモリの例を示している。
【図３】図２に示したメモリセルアレイ、Ｙデコーダおよびセンスアンプ部の例を示している。
【図４】図２に示したステートマシンの例を示している。
【図５】図２に示した電圧生成部の例を示している。
【図６】図２に示した半導体メモリが動作するときの内部電圧の設定例を示している。
【図７】図２に示した半導体メモリにおける書き込み動作の動作フローの例を示している。
【図８】図２に示した半導体メモリの書き込み動作における制御電圧の設定シーケンスの例を示している。
【図９】図２に示した半導体メモリの書き込み動作における制御電圧の設定シーケンスの別の例を示している。
【図１０】図２に示した半導体メモリにおけるメモリセルのプログラム特性の例を示している。
【図１１】図２に示した半導体メモリの書き込み動作時におけるメモリセルの閾値電圧の変化の例を示している。
【図１２】図２に示した半導体メモリの書き込み動作において、ソフトプログラムを適用しないときのメモリセルの閾値電圧の変化の例を示している。
【図１３】図２に示した半導体メモリの書き込み動作において、ソフトプログラムを適用しないときの通常プログラム動作ＰＧＭ０後のメモリセルの閾値電圧の分布の例を示している。
【図１４】別の実施形態におけるステートマシンの例を示している。
【図１５】図１４に示したステートマシンを有する半導体メモリの内部電圧の設定例を示している。
【図１６】図１４に示したステートマシンを有する半導体メモリの書き込み動作における動作フローの例を示している。
【図１７】図１４に示したステートマシンを有する半導体メモリの書き込み動作における制御電圧の設定シーケンスの例を示している。
【図１８】別の実施形態の半導体メモリにおける書き込み動作の動作フローの例を示している。
【図１９】図１８に示した半導体メモリの書き込み動作における制御電圧の設定シーケンスの例を示している。
【図２０】別の実施形態の半導体メモリにおける書き込み動作の動作フローの例を示している。
【図２１】図２０に示した半導体メモリの書き込み動作における制御電圧の設定シーケンスの例を示している。
【図２２】別の実施形態の半導体メモリにおけるメモリセルアレイ、Ｙデコーダおよびセンスアンプ部の例を示している。
【図２３】図２２に示した半導体メモリが動作するときの内部電圧の設定例を示している。
【図２４】電圧生成部の別の例を示している。
【図２５】上述した実施形態の半導体メモリが搭載されるシステムの例を示している。
【発明を実施するための形態】
【０００９】
消去状態のメモリトランジスタの閾値電圧は、ある幅に分布されているため、オーバードライブ電圧はばらつきやすい。ここで、オーバードライブ電圧は、制御ゲートの電圧から閾値電圧を差し引いた実効的なプログラム電圧である。消去状態の閾値電圧が低いメモリトランジスタでは、書き込み動作時のオーバードライブ電圧は高くなる。メモリトランジスタの電気的特性から、オーバードライブ電圧が高いと閾値電圧の変化は小さくなる。このため、消去状態の閾値電圧が低いメモリトランジスタは、消去状態の閾値電圧が正常なメモリトランジスタよりも、多くの回数のプログラム動作が必要になる。
【００１０】
予め設定されているプログラム動作の回数を超えるプログラム動作が、閾値電圧を所定の値に設定するために必要な場合、その半導体メモリは誤動作する。誤動作を防止するためには、プログラム動作の最大回数を増やす必要がある。この場合、書き込み動作時間は長くなり、半導体メモリの性能は低下する。このように、消去状態の閾値電圧がばらついている半導体メモリの書き込み動作時間は長くなる。
【００１１】
本発明は、消去状態のメモリトランジスタの閾値電圧がある幅に分布されているメモリセルへの書き込み動作を提供するものである。
【００１２】
以下、実施形態を図面を用いて説明する。
【００１３】
図１は、一実施形態における半導体メモリＭＥＭの例を示している。例えば、半導体メモリＭＥＭは、フラッシュメモリ等の不揮発性半導体メモリである。半導体メモリＭＥＭは、少なくとも１つの不揮発性のメモリセルＭＣ、ステートマシンＳＭ、電圧生成部ＶＧＥＮおよび判定部ＪＤＧを有している。各メモリセルＭＣは、ソースおよびドレインがソース線ＳＬおよびビット線ＢＬにそれぞれ接続され、制御ゲートが共通の制御ゲート線ＣＧに接続されたメモリトランジスタＭＴを有している。メモリトランジスタＭＴは、制御ゲート線ＣＧに供給される制御ゲート電圧に応じて閾値電圧が変化し、閾値電圧に応じてデータの論理を記憶する。
【００１４】
ステートマシンＳＭは、メモリトランジスタＭＴの閾値電圧を所定の値に設定する書き込み動作において、通常プログラム動作を実行するときに通常プログラム信号ＰＧＭを生成し、ベリファイ動作を実行するときにベリファイ信号ＶＲＦＹを生成する。通常プログラム信号ＰＧＭおよびベリファイ信号ＶＲＦＹは、ベリファイ動作によりパスが判定されるまで交互に生成される。また、ステートマシンＳＭは、通常プログラム動作後のベリファイ動作によりフェイルが判定されたときに、ソフトプログラム動作を実行するためのソフトプログラム信号ＳＰＧＭを生成する。
【００１５】
電圧生成部ＶＧＥＮは、通常プログラム信号ＰＧＭおよびベリファイ信号ＶＲＦＹに応答して通常プログラム電圧ＶＰＧおよびベリファイ電圧ＶＶＦを制御ゲート電圧ＣＧとしてそれぞれ生成する。また、電圧生成部ＶＧＥＮは、ソフトプログラム信号ＳＰＧＭに応答して通常プログラム電圧ＶＰＧより低いソフトプログラム電圧ＶＳＰを制御ゲート電圧ＣＧとして生成する。判定部ＪＤＧは、ベリファイ動作時に、メモリトランジスタＭＴの閾値電圧が所定の値に到達したときにパスを判定し、閾値電圧が所定の値まで到達していないときにフェイルを判定する。判定結果は、ステートマシンＳＭにフィードバックされる。
【００１６】
ソフトプログラム動作では、通常プログラム動作より低い制御ゲート電圧ＣＧがメモリトランジスタＭＴに供給される。このため、消去状態のメモリトランジスタＭＴに印加されるオーバードライブ電圧は、相対的に低くなる。特に、消去状態で閾値電圧が低すぎるメモリトランジスタＭＴは、オーバードライブ電圧を下げることで、閾値電圧の変化量を大きくできる。換言すれば、閾値電圧が、その分布の端にあるメモリトランジスタＭＴは、オーバードライブ電圧を下げることで、閾値電圧の変化量を大きくできる。これにより、通常プログラム動作およびベリファイ動作の実行回数を削減できる。この結果、書き込み動作時間を短縮でき、半導体メモリＭＥＭの性能を向上できる。
【００１７】
図２は、別の実施形態における半導体メモリの例を示している。図中の二重の四角印は、外部端子を示している。外部端子は、例えば、半導体チップ上のパッド、あるいは半導体チップが収納されるパッケージのリードである。外部端子を介して供給される信号には、端子名と同じ符号を使用する。
【００１８】
例えば、半導体メモリＭＥＭは、フラッシュメモリ等の不揮発性半導体メモリである。半導体メモリＭＥＭは、メモリセルアレイ１０、リファレンスメモリセルアレイ１２、Ｘデコーダ１４、１６、Ｙデコーダ１８、２０、センスアンプ部２２、データ入出力バッファ２４、アドレスバッファ２６、コマンドバッファ２８、ステートマシン３０および電圧生成部３２を有している。
【００１９】
メモリセルアレイ１０は、マトリックス状に配置された不揮発性のメモリセル（図３のＭＣ）を有している。リファレンスメモリセルアレイ１２は、予め閾値電圧がそれぞれ設定された複数のリファレンスメモリセルを有している。例えば、リファレンスメモリセルは、メモリセルアレイ１０内のメモリセルＭＣと同じ構造を有している。
【００２０】
Ｘデコーダ１４は、アドレスバッファ２６を介して供給されるアドレス信号ＡＤ（ロウアドレス信号）をデコードし、図３に示す制御ゲート線ＣＧ、選択ゲート線ＳＧおよびソース線ＳＬを選択する。選択された制御ゲート線ＣＧ、選択ゲート線ＳＧおよびソース線ＳＬは、電圧生成部３２により生成される制御電圧にそれぞれ設定される。Ｘデコーダ１６は、メモリセルＭＣが動作するときに、電圧生成部３２からの制御電圧をリファレンスメモリセルＭＣに出力する。
【００２１】
Ｙデコーダ１８は、アドレス信号ＡＤ（カラムアドレス信号）をデコードし、アクセスされるメモリセルＭＣに対応するビット線ＢＬ（図３）を選択する。Ｙデコーダ２０は、アドレス信号ＡＤ（カラムアドレス信号）をデコードし、アクセスされるメモリセルＭＣに接続されたビット線ＢＬに対応するリファレンスビット線を選択する。センスアンプ部２２は、ビット線ＢＬおよびリファレンスビット線の電圧レベルをそれぞれ増幅するセンスアンプと、増幅された電圧レベルを比較するコンパレータを有している。
【００２２】
データ入出力バッファ２４は、読み出し動作時に、センスアンプ部２２から出力される読み出しデータの論理をデータ端子Ｉ／Ｏに出力する。データ入出力バッファ２４は、メモリセルＭＣに論理０を書き込む書き込み動作時に、データ端子Ｉ／Ｏに供給されるデータ信号の論理をステートマシン３０に出力する。データ入出力バッファ２４は、メモリセルＭＣを論理１に設定する消去動作時に、データ端子Ｉ／Ｏに供給されるデータ信号の論理をステートマシン３０に出力する。なお、消去動作において、所定数のメモリセルＭＣを一括で消去するとき、データ入出力バッファ２４にデータ信号を供給しなくてもよい。
【００２３】
アドレスバッファ２６は、読み出し動作、書き込み動作および消去動作時に、アドレス信号ＡＤを受け、受けたアドレス信号ＡＤをＸデコーダ１４、１６、Ｙデコーダ１８、２０およびステートマシン３０に出力する。コマンドバッファ２８は、コマンド信号ＣＭＤを受け、受けたコマンド信号ＣＭＤをステートマシン３０に出力する。コマンド信号ＣＭＤは、読み出し動作を実行するための読み出しコマンド、書き込み動作を実行するための書き込みコマンド、または消去動作を実行するための消去コマンドを含んでいる。
【００２４】
ステートマシン３０は、メモリセルＭＣからデータを読み出し、あるいは、メモリセルＭＣを論理０または論理１に設定するために、電圧生成部３２に制御信号を出力する。例えば、ステートマシン３０は、メモリセルＭＣを論理０に設定する書き込み動作時およびメモリセルＭＣを論理１に設定する消去動作時に、センスアンプ部２２の出力に基づいて、選択されたメモリセルＭＣの閾値電圧をモニタする。ステートマシン３０は、モニタ結果に応じて、電圧生成部３２に制御信号を出力する。ステートマシン３０による制御は、選択されたメモリセルＭＣが所定の閾値電圧に設定されるまで繰り返される。なお、書き込み動作は、図６および図９等に示す通常プログラム動作ＰＧＭ０−２、ベリファイ動作ＶＲＦＹ０−２およびソフトプログラム動作ＳＰＧＭを含む。
【００２５】
電圧生成部３２は、ステートマシン３０からの制御信号に応じて、メモリセルアレイ１０の制御ゲート線ＣＧ、選択ゲート線ＳＧおよびソース線ＳＬに供給する制御電圧およびリファレンスメモリセルアレイ１２に供給する制御電圧を生成する。電圧生成部３２により生成される電圧は図６に示す。なお、以降の説明では、書き込み動作に必要な回路およびその動作について述べる。
【００２６】
図３は、図２に示したメモリセルアレイ１０、Ｙデコーダ１８およびセンスアンプ部２２の例を示している。なお、図３では、書き込み動作に必要な最小限の回路のみを示している。例えば、読み出し動作では、コンパレータＣＭＰは、ビット線ＢＬに流れる電流に対応する電圧ＶＤに応じて、メモリセルＭＣに保持されている論理に応じた電圧を生成する。
【００２７】
メモリセルアレイ１０は、マトリックス状に配置される複数の不揮発性のメモリセルＭＣを有している。ソース線ＳＬ、制御ゲート線ＣＧおよび選択ゲート線ＳＧは、図の横方向に並ぶメモリセルＭＣの列に共通に接続されている。図３では、８本のビット線ＢＬに接続された１列に並ぶメモリセル群のみを示している。しかし、メモリセルアレイ１０は、複数のメモリセル群を有していてもよい。この場合、メモリセル群の各メモリセルＭＣは、共通のビット線ＢＬに接続される。メモリセル群の選択は、選択ゲート線ＳＧを高レベルに設定することで行われる。ビット線ＢＬの数は、図３に限定されない。
【００２８】
各メモリセルＭＣは、ソース線ＳＬとビット線ＢＬとの間に直列に配置されたメモリトランジスタＭＴおよび選択トランジスタＳＴを有している。メモリトランジスタＭＴは、ｎＭＯＳトランジスタの構造を有しており、電子を蓄積するフローティングゲートと、制御ゲート線ＣＧに接続された制御ゲートとを有する。なお、メモリトランジスタＭＴは、電子が所定の場所に蓄積されるトラップゲートを用いて形成されてもよい。メモリトランジスタＭＴは、制御ゲートに印加される制御ゲート電圧ＣＧに応じてフローティングゲートに蓄積される電荷量を変えることで、閾値電圧が変化する。そして、メモリトランジスタＭＴは、閾値電圧に応じてデータの論理を記憶する。選択トランジスタＳＴは、ゲートが選択ゲート線ＳＧに接続されたｎＭＯＳトランジスタである。メモリトランジスタＭＴは、選択トランジスタＳＴのオンによりビット線ＢＬに接続される。
【００２９】
Ｙデコーダ１８は、書き込みトランジスタＷＴ、スイッチ回路ＳＷおよび読み出しトランジスタＲＴを、各ビット線ＢＬに対応して有している。書き込みトランジスタＷＴは、ゲートをプログラム信号線ＰＲＧに接続し、ソース、ドレインをビット線およびスイッチ回路ＳＷにそれぞれ接続している。プログラム信号線ＰＲＧは、通常プログラム動作中に書き込みトランジスタＷＴをオンするためにステートマシン３０から出力される。
【００３０】
スイッチ回路ＳＷは、通常プログラム動作中およびソフトプログラム動作中に、活性化された再プログラム信号ＲＰ（ＲＰ０−７）を受けたときに、ビット線ＢＬを接地線ＶＳＳに接続する。スイッチ回路ＳＷは、通常プログラム動作中およびソフトプログラム中に、非活性化された再プログラム信号ＲＰ（ＲＰ０−７）を受けたときに、ビット線ＢＬを電源線ＶＤＤに接続する。再プログラム信号ＲＰの活性化レベルは、ベリファイ動作によるフェイル判定を示す。再プログラム信号ＲＰの非活性化レベルは、ベリファイ動作によるパス判定を示す。
【００３１】
図３において、電源線ＶＤＤに接続されたスイッチ回路ＳＷに対応するメモリトランジスタＭＴは、書き込み状態での最低の閾値電圧を超えており、ベリファイ動作によりパスが判定されている。パスが判定されたメモリトランジスタＭＴは、その後の他のメモリトランジスタＭＴに対する通常プログラム動作およびソフトプログラム動作において、ソース、ドレイン間にプログラム用の電圧が印加されることはない。一方、接地線ＶＳＳに接続されたスイッチ回路ＳＷに対応するメモリトランジスタＭＴは、書き込み状態での最低の閾値電圧に達しておらず、ベリファイ動作によりフェイルが判定されている。フェイルが判定されたメモリトランジスタＭＴは、その後の通常プログラム動作およびソフトプログラム動作において、ソース、ドレイン間にプログラム用の電圧が印加される。
【００３２】
例えば、スイッチ回路ＳＷは、対応するメモリトランジスタＭＴのソース、ドレイン間にプログラム用の電圧が印加されることを禁止するプログラムマスク回路に含まれる。プログラムマスク回路は、センスアンプ部２２により、対応するメモリトランジスタＭＴのベリファイ動作によるパスが検出された後に、通常プログラム動作およびソフトプログラム動作において、プログラム用の電圧の印加を禁止する。
【００３３】
読み出しトランジスタＲＴは、ゲートをベリファイ信号線ＶＥＲに接続し、ソース、ドレインをビット線ＢＬおよびセンスアンプに接続している。ベリファイ信号線ＶＥＲは、書き込み動作中のベリファイ時、消去動作中のベリファイ時および読み出し動作中に、読み出しトランジスタＲＴをオンするためにステートマシン３０から出力される。
【００３４】
センスアンプ部２２は、センスアンプＳＡおよびコンパレータＣＭＰを各ビット線ＢＬに対応して有している。センスアンプＳＡは、読み出しトランジスタＲＴを介して流れるビット線ＢＬの電流を電圧に変換し、ベリファイデータＶＤ（ＶＤ０−７）としてコンパレータＣＭＰに出力する。コンパレータＣＭＰは、ベリファイ動作時に、ベリファイデータＶＤ（ＶＤ０−７）とプログラムデータＰＤ（ＰＤ０−７）の電圧を比較し、比較結果を再プログラム信号ＲＰ（ＲＰ０−７）として出力する。例えば、プログラムデータＰＤは、ベリファイ用のリファレンスメモリセルから図２に示したＹデコーダ２０を介して供給されるリファレンス電流を、リファレンスセンスアンプで電圧に変換することで生成される。
【００３５】
例えば、センスアンプＳＡおよびコンパレータＣＭＰは、ベリファイ動作において、対応するメモリトランジスタＭＴの閾値電圧が所定の値（範囲）に設定されたときに、パスを検出し、非活性化レベルの再プログラム信号ＲＰ（ＲＰ０−７）を出力する。センスアンプＳＡおよびコンパレータＣＭＰは、ベリファイ動作において、対応するメモリトランジスタＭＴの閾値電圧が所定の値（範囲）に達していないときに、フェイルを検出し、活性化レベルの再プログラム信号ＲＰ（ＲＰ０−７）を出力する。例えば、センスアンプＳＡおよびコンパレータＣＭＰは、ベリファイ動作時に、閾値電圧が所定の値に到達したときにパスを判定し、閾値電圧が所定の値まで到達していないときにフェイルを判定する判定部に含まれる。
【００３６】
図４は、図２に示したステートマシン３０の例を示している。図４では、書き込み動作に必要な回路を示している。ステートマシン３０は、ベリファイフェイルカウンタＶＦＣＯＮＴ、プログラム制御回路ＰＧＭＣＮＴ、プログラムステップカウンタＰＳＣＯＵＮＴ、ＡＮＤ回路、プログラムセレクタＰＧＭＳＥＬ、プログラムステップ制御回路ＰＳＣＮＴおよびＯＲ回路を有している。
【００３７】
ベリファイフェイルカウンタＶＦＣＯＵＮＴは、ベリファイフェイル信号ＦＲＦＹＦＡＩＬに応じて、ベリファイ動作時のフェイル回数をカウントする。例えば、ベリファイフェイル信号ＦＲＦＹＦＡＩＬは、センスアンプ部２２からの再プログラム信号ＲＰ０−７のオア論理を用いて生成される。ベリファイフェイルカウンタＶＦＣＯＵＮＴは、ベリファイ動作が２回以上フェイルしたことをベリファイフェイル信号ＦＲＦＹＦＡＩＬにより検出したときに、高レベルをＡＮＤ回路に出力する。
【００３８】
プログラム制御回路ＰＧＭＣＮＴは、通常プログラム動作またはソフトプログラム動作を実行するときにプログラムアクティブ信号ＰＧＭＡＣＴを高レベルに活性化する。プログラム制御回路ＰＧＭＣＮＴは、書き込み動作中にベリファイ動作を実行するときにベリファイアクティブ信号ＶＲＦＹＡＣＴを高レベルに活性化する。
【００３９】
プログラムステップカウンタＰＳＣＯＵＮＴは、書き込み動作における３つのステップをそれぞれ示すステップ信号ＳＴＥＰ０−２を順次に出力する。後述する図８および図９に示すように、プログラム動作ＰＧＭ０、ベリファイ動作ＶＲＦＹ０およびソフトプログラム動作ＳＰＧＭが実行されるとき、ステップ信号ＳＴＥＰ０が高レベルに活性化される。プログラム動作ＰＧＭ１およびベリファイ動作ＶＲＦＹ１が実行されるとき、ステップ信号ＳＴＥＰ１が高レベルに活性化される。プログラム動作ＰＧＭ２およびベリファイ動作ＶＲＦＹ２が実行されるとき、ステップ信号ＳＴＥＰ２が高レベルに活性化される。この実施形態では、ステップＳＴＥＰ０−２の３回の書き込み動作サイクルにより、メモリセルＭＣに論理０が書き込まれる。換言すれば、メモリセルＭＣの閾値電圧は、３段階に分けて徐々に高くなる。
【００４０】
ＡＮＤ回路は、最初のステップＳＴＥＰ０の通常プログラム動作中に、ベリファイ動作によるフェイルが２回以上検出されたときに、プログラムセレクタＰＧＭＳＥＬに高レベルを出力する。プログラムセレクタＰＧＭＳＥＬは、ＡＮＤ回路から高レベルを受けたときに動作し、ソフトプログラム信号ＳＰＧＭおよびプログラムイネーブル信号Ｐ０ＥＮ０を順次に出力する。これにより、最初のステップＳＴＥＰ０の通常プログラム動作中に、ベリファイ動作が２回以上フェイルしたときに、通常プログラム動作の前にソフトプログラム動作が挿入される。
【００４１】
プログラムステップ制御回路ＰＳＣＮＴは、プログラムアクティブ信号ＰＧＭＡＣＴ、ベリファイアクティブ信号ＶＲＦＹＡＣＴおよびステップ信号ＳＴＥＰ０−２に応じて、プログラムイネーブル信号Ｐ０ＥＮ１、通常プログラム信号ＰＧＭ１−２およびベリファイ信号ＶＲＦＹ０−２を出力する。具体的には、最初のステップＳＴＥＰ０の通常プログラム動作を実行するときに、高レベルのプログラムイネーブル信号Ｐ０ＥＮ１が出力される。最初のステップＳＴＥＰ０の通常プログラム動作に対応するベリファイ動作が実行されるときに、高レベルのベリファイ信号ＶＲＦＹ０が出力される。２番目のステップＳＴＥＰ１の通常プログラム動作を実行するときに、高レベルの通常プログラム信号ＰＧＭ１が出力される。２番目のステップＳＴＥＰ１の最初の通常プログラム動作に対応するベリファイ動作が実行されるときに、高レベルのベリファイ信号ＶＲＦＹ１が出力される。
【００４２】
３番目のステップＳＴＥＰ２の通常プログラム動作を実行するときに、高レベルの通常プログラム信号ＰＧＭ２が出力される。３番目のステップＳＴＥＰ２の最初の通常プログラム動作に対応するベリファイ動作が実行されるときに、高レベルのベリファイ信号ＶＲＦＹ２が出力される。ＯＲ回路は、プログラムイネーブル信号Ｐ０ＥＮ０またはＰ０ＥＮ１が高レベルのときに、高レベルの通常プログラム信号ＰＧＭ０を出力する。
【００４３】
電圧生成部３２は、通常プログラム信号ＰＧＭ０−２に応答して通常プログラム電圧ＶＰＧ０−２をそれぞれ生成する。電圧生成部３２は、ベリファイ信号ＶＲＦＹ０−２に応じてベリファイ電圧ＶＶＦ０−２を生成する。電圧生成部３２は、ソフトプログラム信号ＳＰＧＭに応答して、通常プログラム電圧ＶＰＧ０より低いソフトプログラム電圧ＶＳＰ０を生成する。さらに、電圧生成部３２は、選択ゲート線ＳＧ、ソース線ＳＬおよびビット線ＢＬに供給する電圧ＶＳＧＰ、ＶＳＧＶ、ＶＤＶ、ＶＳを生成する。
【００４４】
図５は、図２に示した電圧生成部３２の例を示している。図５では、プログラム動作に必要な回路を示している。電圧生成部３２は、レギュレータＲＧＬ、コンパレータＣＭＰおよび昇圧回路ＢＯＳＴを有している。
【００４５】
レギュレータＲＧＬは、ソフトプログラム信号ＳＰＧＭ、通常プログラム信号ＰＧＭ０−２およびベリファイ信号ＶＲＦＹ０−２のそれぞれに対応するスイッチ回路ＳＷおよびキャパシタＣ２０−Ｃ２６と、キャパシタＣ１とを有している。キャパシタＣ１は、一端が制御ゲート電圧線ＣＧに接続され、他端がレギュレータＲＧＬの電圧出力ノードＶＯＵＴに接続されている。各キャパシタＣ２０−２６は、一端がスイッチ回路ＳＷに接続され、他端が電圧出力ノードＶＯＵＴに接続されている。
【００４６】
各スイッチ回路ＳＷは、対応する制御信号（ソフトプログラム信号ＳＰＧＭ、通常プログラム信号ＰＧＭ０−２およびベリファイ信号ＶＲＦＹ０−２のいずれか）が高レベルのとき、対応するキャパシタ（Ｃ２０−２６のいずれか）の一端を接地線ＶＳＳに接続する。これにより、キャパシタＣ１と対応するキャパシタ（Ｃ２０−２６のいずれか）の容量比に応じた電圧ＶＯＵＴに生成される。図５に示したスイッチ回路ＳＷは、後述するソフトプログラム動作に必要な制御ゲート電圧ＣＧを生成するときの状態を示している。
【００４７】
コンパレータＣＭＰは、電圧ＶＯＵＴがリファレンス電圧ＶＲＥＦより低いとき、ポンプイネーブル信号を活性化する。昇圧回路ＢＯＳＴは、活性化レベルのポンプイネーブル信号ＰＥＮを受けているときに、クロック信号ＰＣＬＫに同期して内蔵するポンプ回路を動作し、制御ゲート電圧ＣＧを生成する。生成された制御ゲート電圧ＣＧは、プログラム動作を実行するメモリセルＭＣに対応する制御ゲート線ＣＧに供給される。
【００４８】
制御ゲート電圧ＣＧが所定の値になると、コンパレータＣＭＰは、ポンプイネーブル信号ＰＥＮを非活性化する。これにより、昇圧回路ＢＯＳＴは昇圧動作を停止する。これにより、ソフトプログラム動作ＳＰＧＭ、プログラム動作ＰＧＭ０−２およびベリファイ動作ＶＲＦＹ０−２の各々に対応して、制御ゲート線ＣＧの電圧が生成される。
【００４９】
図６は、図２に示した半導体メモリが動作するときの内部電圧の設定例を示している。図６では、書き込み動作に必要な電圧を示している。制御ゲート線ＣＧの電圧ＶＳＰ０、ＶＰＧ０−２およびＶＶＦ０−２は、図５に示した電圧生成部３２により生成される。ビット線ＢＬのドレイン電圧ＶＤＶおよびソース線ＳＬのソース電圧ＶＳも、電圧生成部３２により生成される。
【００５０】
ソフトプログラム動作ＳＰＧＭでは、制御ゲート線ＣＧ、選択ゲート線ＳＧ、ビット線ＢＬおよびソース線ＳＬは、電圧ＶＳＰ０、ＶＳＧＰ、ＶＳＳ（０Ｖ）およびＶＳにそれぞれ設定される。例えば、選択ゲート線ＳＧに供給される電圧ＶＳＧＰは、電源電圧ＶＤＤ（１．８Ｖ）である。例えば、ソース電圧ＶＳは、５Ｖである。
【００５１】
通常プログラム動作ＰＧＭ０−２では、制御ゲート線ＣＧは、ステップ番号ＳＥＴＰ０−２に応じて、電圧ＶＰＧ０−２にそれぞれ設定される。選択ゲート線ＳＧ、ビット線ＢＬおよびソース線ＳＬは、電圧ＶＳＧＰ、ＶＳＳ（０Ｖ）およびＶＳにそれぞれ設定される。
【００５２】
ベリファイ動作ＶＲＦＹ０−２では、制御ゲート線ＣＧは、ステップ番号ＳＥＴＰ０−２に応じて、電圧ＶＶＦ０−２にそれぞれ設定される。選択ゲート線ＳＧ、ビット線ＢＬおよびソース線ＳＬは、電圧ＶＳＧＶ、ＶＤＶおよびＶＳＳ（０Ｖ）にそれぞれ設定される。例えば、選択ゲート線ＳＧに供給される電圧ＶＳＧＶは、１．８Ｖである。例えば、ビット線ＢＬに供給される電圧ＶＤＶは、１．０Ｖである。
【００５３】
ソフトプログラム動作ＳＰＧＭおよび通常プログラム動作ＰＧＭでは、プログラムされるメモリセルＭＣの選択トランジスタＳＴがオンし、ソース線ＳＬからビット線ＢＬに電流が流れる。これにより、プログラムされるメモリトランジスタＭＴのチャネル領域にホットエレクトロンが発生する。ホットエレクトロンは、制御ゲート線ＣＧの高レベル電圧により、メモリトランジスタＭＴのフローティングゲートに注入され、蓄積される。すなわち、メモリトランジスタＭＴの閾値電圧が上がり、メモリセルＭＣに保持されているデータを論理１から論理０に変化する。
【００５４】
図７は、図２に示した半導体メモリにおける書き込み動作の動作フローの例を示している。書き込み動作は、ベリファイ動作ＶＲＦＹ（ＶＲＦＹ０−２）、プログラム動作ＰＧＭ（ＰＧＭ０−２）およびソフトプログラム動作ＳＰＧＭを含む。但し、ソフトプログラム動作ＳＰＧＭは、実行されない場合もある。図７に示すフローは、ステートマシン３０により制御される。
【００５５】
先ず、ステップＳ１００において、カウンタ値Ｓｎ、Ｐｎ、Ｆｎは、”０”にリセットされる。カウンタ値Ｓｎは、書き込み動作のステップ番号（ＳＴＥＰ０−２）を示す。カウンタ値Ｐｎは、各ステップＳＴＥＰ０−２での通常プログラム動作ＰＧＭの回数を示す。カウンタ値Ｆｎは、各ステップＳＴＥＰ０−２でのベリファイ動作ＶＲＦＹのフェイル回数を示す。
【００５６】
ステップＳ１０２において、制御ゲート線ＣＧがベリファイ用の電圧ＶＶＦ（Ｓｎ）に設定され、ベリファイ動作ＶＲＦＹが実行される。ステップＳ１０４において、ベリファイ動作ＶＲＦＹがパスしたとき、処理はステップＳ１０６に移行する。ベリファイ動作ＶＲＦＹがフェイルしたとき、処理はステップＳ１１０に移行する。
【００５７】
ステップＳ１０６において、ステップ番号Ｓｎが最大値ＭＡＸｓのとき、次のアドレスのプログラム動作の処理に移行する。ステップ番号Ｓｎが最大値ＭＡＸｓに達していないとき、処理はステップＳ１０８に移行する。この実施形態では、最大のステップ番号Ｓｎを示す最大値ＭＡＸｓは”２”である。すなわち、書き込み動作は、３回のステップ書き込み動作に分けて実行される。
【００５８】
ステップＳ１０８において、ベリファイ動作ＶＲＦＹがパスしたため、次の通常プログラム動作ＰＧＭを実行するためにステップ番号Ｓｎが１増加され、フェイル回数Ｆｎが”０”にリセットされる。この後、処理は再びステップＳ１０２に移行する。
【００５９】
一方、ステップＳ１１０では、ベリファイ動作ＶＲＦＹがフェイルしたため、フェイル回数Ｆｎが１増加される。ステップＳ１１２において、プログラム回数Ｐｎが最大値ＭＡＸｐを超えているとき、書き込み動作のフェイル（ＰＧＭ  Ｆａｉｌ）と判定される。プログラム回数Ｐｎが最大値ＭＡＸｐを超えていないとき、通常プログラム動作ＰＧＭをさらに実行するために、処理はステップＳ１１４に移行する。この実施形態では、最大値ＭＡＸｐは２回である。すなわち、同じステップ番号ＳＴＥＰの通常プログラム動作ＰＧＭが３回実施された後のベリファイ動作ＶＲＦＹがフェイルしたとき、書き込み動作は未完了となる。実際には、書き込み動作のフェイルが発生しないように、プログラム回数Ｐｎの最大値ＭＡＸｐが設定される。後述するように、この実施形態では、ソフトプログラム動作ＳＰＧＭを挿入することで、プログラム回数Ｐｎの最大値ＭＡＸｐを増やすことなく、書き込み動作のフェイルを防止できる。これにより、半導体メモリＭＥＭの信頼性を向上できる。
【００６０】
ステップＳ１１４において、フェイル回数Ｆｎが１回のとき、通常プログラム動作ＰＧＭのみを実行するために、処理はステップＳ１２０に移行する。フェイル回数Ｆｎが２回以上のとき、処理はステップＳ１１５に移行する。
【００６１】
ステップＳ１１５において、ステップ番号Ｓｎが”０”でないとき、すなわち、ステップＳＴＥＰ１−２の通常プログラム動作ＰＧＭ１−２を実行するとき、処理はステップＳ１２０に移行する。ステップ番号Ｓｎが”０”のとき、ソフトプログラム動作ＳＰＧＭと通常プログラム動作ＰＧＭを実行するために、処理はステップＳ１１６に移行する。
【００６２】
なお、ソフトプログラム動作ＳＰＧＭを実行するステップは、ＳＥＴＰ０でなく、ステップＳＴＥＰ１−２のいずれかでもよい。あるいは、ステップＳＥＴＰ０−２の２つにソフトプログラム動作ＳＰＧＭを挿入してもよい。ソフトプログラム動作ＳＰＧＭを挿入するステップＳＥＴＰは、図１１および図１２に示すメモリトランジスタＭＴの書き込み特性に応じて決められる。
【００６３】
例えば、ソフトプログラム動作ＳＰＧＭをステップＳＥＴＰ１に挿入することで、通常プログラム動作ＰＧＭの回数が減らせることが、事前の評価により判明しているとする。このとき、ステートマシン３０の論理が変更される。具体的には、図４に示したＡＮＤ回路の入力は、ステップ信号線ＳＴＥＰ０でなく、ステップ信号線ＳＥＴＰ１に接続される。接続の変更は、最上層の配線層のフォトマスクを切り替えることで行われる。あるいは、接続の変更は、ヒューズ回路やモードレジスタの設定により行われる。
【００６４】
ステップＳ１１６において、制御ゲート線ＣＧがソフトプログラム用の電圧ＶＳＰ（Ｓｎ）に設定され、ソフトプログラム動作ＳＰＧＭが実行される。ステップＳ１１８において、制御ゲート線ＣＧが通常プログラム用の電圧ＶＰＧ（Ｓｎ）に設定され、通常プログラム動作ＰＧＭが実行される。この後、処理はステップＳ１２２に移行する
一方、ステップＳ１２０では、制御ゲート線ＣＧが通常プログラム用の電圧ＶＰＧ（Ｓｎ）に設定され、通常プログラム動作ＰＧＭのみが実行される。ステップＳ１２２において、プログラム回数Ｐｎが１増加され、処理は再びステップＳ１０２に移行する。
【００６５】
図８は、図２に示した半導体メモリの書き込み動作における制御電圧の設定シーケンスの例を示している。図中に示したステップ番号Ｓ１０２、Ｓ１２０は、図７の処理に対応する。この例では、各ステップＳＴＥＰ０−２は、１回の通常プログラム動作ＰＧＭ０−２の後のベリファイ動作ＶＲＦＹ０−２でそれぞれパスする。図７に示したフェイル回数Ｆｎが２回以上になることはないため、ソフトプログラム動作ＳＰＧＭは実行されない。
【００６６】
図９は、図２に示した半導体メモリの書き込み動作における制御電圧の設定シーケンスの別の例を示している。図中に示したステップ番号Ｓ１０２、Ｓ１１６、Ｓ１８、Ｓ１２０は、図７の処理に対応する。この例では、ステップＳＴＥＰ０において、通常プログラム動作ＰＧＭ０が３回実行される。２番目および３番目の通常プログラム動作ＰＧＭ０の前には、ソフトプログラム動作ＳＰＧＭが挿入される。
【００６７】
ステップＳＴＥＰ１では、通常プログラム動作ＰＧＭ１が２回実行される。しかし、ステップＳＴＥＰ１では、ステートマシン３０の仕様によりソフトプログラム動作ＳＰＧＭは挿入されない。ステップＳＴＥＰ２は、１回の通常プログラム動作ＰＧＭ２の後のベリファイ動作ＶＲＦＹ２でパスする。
【００６８】
図１０は、図２に示した半導体メモリにおけるメモリセルのプログラム特性（実測値）の例を示している。図１０の横軸はソース電圧Ｖｓを示し、縦軸はドレイン電流Ｉｄを示す。ソース電圧ＶＳは、通常プログラム動作ＰＧＭ０−２時およびソフトプログラム動作ＳＰＧＭ時に使用される値である。ドレイン電流Ｉｄは、メモリトランジスタＭＴのソース、ドレイン間を流れる電流である。電圧Ｖ１−Ｖ５は、オーバードライブ電圧を示している。オーバードライブ電圧は、制御ゲート線ＣＧの電圧からメモリトランジスタＭＴの閾値電圧を引いた値を示す。すなわち、オーバードライブ電圧は、メモリトランジスタＭＴに実効的に印加されるゲート電圧を示す。
【００６９】
通常プログラム動作ＰＧＭ０−２およびソフトプログラム動作ＳＰＧＭで必要なホットエレクトロンは、ドレイン電流値Ｉｄが大きいほど発生しやすい。一方、ドレイン電流値Ｉｄは、オーバードライブ電圧が低すぎても、高すぎても小さくなる。図１０において、最適なオーバードライブ電圧は、Ｖ２およびＶ３である。
【００７０】
例えば、消去状態のメモリトランジスタＭＴの閾値電圧が低すぎるとき、通常プログラム動作ＰＧＭ０でのオーバードライブ電圧は高くなる。このときドレイン電流値Ｉｄは小さくなり、ホットエレクトロンは発生しにくくなる。この結果、メモリトランジスタＭＴの閾値電圧は変化しにくくなる。このとき、ソフトプログラム動作ＳＰＧＭを実行することで、オーバードライブ電圧を相対的に下げることができ、メモリトランジスタＭＴの閾値電圧を変化しやすくできる。例えば、通常プログラム動作ＰＧＭ０でのオーバードライブ電圧がＶ５のとき、ソフトプログラム動作ＳＰＧＭでは、オーバードライブ電圧をＶ３に設定できる。これにより、少ないプログラム回数でメモリトランジスタＭＴの閾値電圧を所定の値まで高くできる。換言すれば、少ないプログラム回数でメモリセルＭＣに論理０を書き込むことができる。
【００７１】
図１１は、図２に示した半導体メモリの書き込み動作時におけるメモリセルＭＣのメモリトランジスタＭＴの閾値電圧の変化の例（実測値）を示している。図１１の横軸は閾値電圧を示し、縦軸は、規格化されたメモリセルＭＣの確率分布を示す。
【００７２】
この例では、消去状態のメモリセルＭＣにソフトプログラム動作ＳＰＧＭ、通常プログラム動作ＰＧＭ０および通常プログラム動作ＰＧＭ１がそれぞれ２回実行され、最後に通常プログラム動作ＰＧＭ２が実行される。消去状態でのメモリセルＭＣにソフトプログラム動作ＳＰＧＭを実行することで、閾値電圧は大きく変化する。これにより、消去状態からの書き込み動作は、ソフトプログラム動作ＳＰＧＭの挿入が有効であることが分かる。
【００７３】
図１２は、図２に示した半導体メモリの書き込み動作において、ソフトプログラムＳＰＧＭを適用しないときのメモリセルの閾値電圧の変化の例（実測値）を示している。図１２の横軸は閾値電圧を示し、縦軸は規格化されたメモリセルＭＣの確率分布を示す。
【００７４】
消去状態のメモリセルＭＣにソフトプログラム動作ＳＰＧＭを挿入することなく、通常プログラム動作ＰＧＭ０を繰り返し実行する場合、閾値電圧の変化が少ないメモリセルＭＣが存在する。これは、オーバードライブ電圧が高すぎるためである。このため、ソフトプログラム動作ＳＰＧＭを挿入することなく、プログラム回数Ｐｎの最大値ＭＡＸｐを”２”とすると、図７のステップＳ１１２において、書き込み動作でフェイルする可能性は高くなる。
【００７５】
図１３は、図２に示した半導体メモリの書き込み動作において、ソフトプログラムを適用しないときのプログラム動作ＰＧＭ０後のメモリセルの閾値電圧の分布の例（実測値；サンプル数＝１０）を示している。図１３の横軸は閾値電圧を示し、縦軸はビット数を示す。
【００７６】
図１３の例では、通常プログラム動作ＰＧＭ０を３回実行したにも拘わらず、フェイルしたメモリセルＭＣが２つ存在している。２つのフェイルは、オーバードライブ電圧が高すぎるために発生する。しかし、ソフトプログラム動作ＳＰＧＭを挿入し、オーバードライブ電圧を下げることで、フェイルするメモリセルＭＣを無くすことができる。
【００７７】
以上、この実施形態においても、上述した実施形態と同様の効果を得ることができる。さらに、この実施形態の半導体メモリＭＥＭの閾値電圧のシフト量は、例えば、ステップＳＴＥＰ０で印加される通常プログラム電圧ＶＰＧ０でのみ小さい。これは、消去状態のメモリトランジスタＭＴでは、通常プログラム動作ＰＧＭ０でのオーバードライブ電圧が相対的に高くなり、閾値電圧のシフト量が小さいメモリトランジスタＭＴの存在確率が増えるためである。このときに、ベリファイ動作ＶＲＦＹ０の判定結果に基づいてソフトプログラム動作ＳＰＧＭを挿入することで、通常プログラム動作ＰＧＭ０およびベリファイ動作ＶＦＲＹ０の実行回数を削減できる。
【００７８】
また、この実施形態の半導体メモリＭＥＭでは、例えば、ステップＳＥＴＰ１−２における閾値電圧のシフト量は標準的であり、ソフトプログラム動作ＳＰＧＭを挿入する必要がない。換言すれば、ステップＳＥＴＰ１−２では、ソフトプログラム動作ＳＰＧＭを挿入しないことで、ステップＳＥＴＰ１−２に必要な時間を最小限にできる。この結果、書き込み動作時間を短縮でき、半導体メモリＭＥＭの性能を向上できる。
【００７９】
図１４は、別の実施形態におけるステートマシン３０Ａの例を示している。上述した実施形態で説明した要素と同一の要素については、同一の符号を付し、これ等については、詳細な説明を省略する。ステートマシン３０Ａは、図４のステートマシン３０に比べてＡＮＤ回路およびプログラムセレクタＰＧＭＳＥＬが相違している。また、ＯＲ回路が通常プログラム信号ＰＧＭ０−２に対応してそれぞれ配置されている。ステートマシン３０Ａ以外の構成は、図２および図３と同じである。すなわち、半導体メモリＭＥＭは、フラッシュメモリ等の不揮発性半導体メモリである。
【００８０】
ＡＮＤ回路は、プログラムアクティブ信号ＰＧＭＡＣＴおよびステップ信号ＳＴＥＰ０−２を受けて動作する。これにより、ＡＮＤ回路は、全てのステップＳＥＴＰ０−２における通常プログラム動作ＰＧＭ０−２中に、ベリファイ動作が２回以上フェイルしたときに、プログラムセレクタＰＧＭＳＥＬに高レベルを出力する。
【００８１】
プログラムセレクタＰＧＭＳＥＬは、ＡＮＤ回路から高レベルを受けたときに動作する。プログラムセレクタＰＧＭＳＥＬは、ＡＮＤ回路からの高レベルを、ステップ信号ＳＴＥＰ０とともに受けたとき、ソフトプログラム信号ＳＰＧＭ０およびプログラムイネーブル信号Ｐ０ＥＮ０を順次に出力する。プログラムセレクタＰＧＭＳＥＬは、ＡＮＤ回路からの高レベルを、ステップ信号ＳＴＥＰ１とともに受けたとき、ソフトプログラム信号ＳＰＧＭ１およびプログラムイネーブル信号Ｐ１ＥＮ０を順次に出力する。プログラムセレクタＰＧＭＳＥＬは、ＡＮＤ回路からの高レベルを、ステップ信号ＳＴＥＰ２とともに受けたとき、ソフトプログラム信号ＳＰＧＭ２およびプログラムイネーブル信号Ｐ２ＥＮ０を順次に出力する。
【００８２】
通常プログラム信号線ＰＧＭ０に接続されたＯＲ回路は、プログラムイネーブル信号Ｐ０ＥＮ０またはＰ０ＥＮ１が高レベルのときに、高レベルの通常プログラム信号ＰＧＭ０を出力する。通常プログラム信号線ＰＧＭ１に接続されたＯＲ回路は、プログラムイネーブル信号Ｐ１ＥＮ０またはＰ１ＥＮ１が高レベルのときに、高レベルの通常プログラム信号ＰＧＭ１を出力する。通常プログラム信号線ＰＧＭ２に接続されたＯＲ回路は、プログラムイネーブル信号Ｐ２ＥＮ０またはＰ２ＥＮ１が高レベルのときに、高レベルの通常プログラム信号ＰＧＭ２を出力する。これにより、全てのステップＳＥＴＰ０−２における通常プログラム動作ＰＧＭ０−２中に、ベリファイ動作が２回以上フェイルしたときに、各通常プログラム動作ＰＧＭ０−２の前にソフトプログラム動作ＳＰＧＭが挿入される。
【００８３】
図１５は、図１４に示したステートマシン３０Ａを有する半導体メモリの内部電圧の設定例を示している。この例では、各ステップＳＴＥＰ０−２毎にソフトプログラム動作ＳＰＧＭ０−２が実行可能である。このため、ソフトプログラム動作ＳＰＧＭ０−２では、制御ゲート線ＣＧに電圧ＶＳＰ０−２がそれぞれ設定される。その他の電圧は、図６と同じである。
【００８４】
図１６は、図１４に示したステートマシン３０Ａを有する半導体メモリの書き込み動作における動作フローの例を示している。図１６のフローは、図７のフローのステップＳ１１５を削除している。すなわち、図１６では、全てのステップＳＴＥＰ０−２でソフトプログラム動作ＳＰＧＭ０−２を挿入可能である。その他のフローは、図７と同じである。
【００８５】
図１７は、図１４に示したステートマシンを有する半導体メモリの書き込み動作における制御電圧の設定シーケンスの例を示している。図中に示したステップ番号Ｓ１０２、Ｓ１１６、Ｓ１１８、Ｓ１２０、Ｓ１３０は、図１６の処理に対応する。図９との違いは、ステップＳＴＥＰ１−２において、ソフトプログラム動作ＳＰＧＭ１−２が実行されることである。また、ステップＳＴＥＰ０では、２回の通常プログラム動作ＰＧＭ０と１回のソフトプログラム動作ＳＰＧＭ０により、ベリファイ動作ＶＲＦＹ０がパスする。
【００８６】
この例では、最初の通常プログラム動作ＰＧＭ１（またはＰＧＭ２）の後のベリファイ動作ＶＲＦＹ１（またはＶＦＲＹ２）はフェイルし、ソフトプログラム動作ＳＰＧＭ１（またはＳＰＧＭ２）が挿入される。そして、ソフトプログラム動作ＳＰＧＭ１（またはＳＰＧＭ２）後の通常プログラム動作ＰＧＭ１（またはＰＧＭ２）により、メモリトランジスタＭＴの閾値電圧が所定の値に設定され、ベリファイ動作ＶＲＦＹ１（またはＶＦＲＹ２）はパスする。
【００８７】
以上、この実施形態においても、上述した実施形態と同様の効果を得ることができる。さらに、この実施形態の半導体メモリＭＥＭでは、例えば、閾値電圧のシフト量は、全てのステップＳＴＥＰ０−２で印加される通常プログラム電圧ＶＰＧ０−２で小さい。このような電気的特性を持つメモリトランジスタＭＴを有する半導体メモリＭＥＭでは、全てのステップＳＥＴＰ０−２でソフトプログラム動作ＳＰＧＭを挿入可能にすることで、通常プログラム動作ＰＧＭ０−２およびベリファイ動作ＶＦＲＹ０−２の実行回数を削減できる。この結果、書き込み動作時間を短縮でき、半導体メモリＭＥＭの性能を向上できる。
【００８８】
図１８は、別の実施形態の半導体メモリＭＥＭにおける書き込み動作の動作フローの例を示している。図１８のフローは、図７のフローのステップＳ１１６とステップＳ１１８とを入れ替えている。すなわち、図１８では、通常プログラム動作ＰＧＭの後にソフトプログラム動作ＳＰＧＭが挿入される。その他のフローは、図７と同じである。半導体メモリＭＥＭは、ステートマシン３０の論理を除いて、図２および図３と同じである。すなわち、半導体メモリＭＥＭは、フラッシュメモリ等の不揮発性半導体メモリである。なお、図１８のフローからステップＳ１１５を削除してもよい。すなわち、図１６のフローのステップＳ１１６とステップＳ１１８とを入れ替えてもよい。
【００８９】
図１９は、図１８に示した半導体メモリの書き込み動作における制御電圧の設定シーケンスの例を示している。図中に示したステップ番号Ｓ１０２、Ｓ１１６、Ｓ１１８、Ｓ１２０は、図１８の処理に対応する。この例では、２回目のベリファイ動作ＶＲＦＹ０がフェイルしたときに、通常プログラム動作ＰＧＭ０が実行され、その後ソフトプログラム動作ＳＰＧＭ０が実行される。換言すれば、最初のソフトプログラム動作ＳＰＧＭ０は、通常プログラム動作ＰＧＭが２回実行された後に実行される。ステップＳＴＥＰ１−２の動作は、図８と同じである。
【００９０】
以上、この実施形態においても、上述した実施形態と同様の効果を得ることができる。さらに、この実施形態では、例えば、既存のステートマシンの論理を用いて新たなステートマシンを設計する場合に、ステップＳ１１８、Ｓ１１６（図１８）の順に制御ゲート電圧ＶＰＧ（Ｓｎ）、ＶＳＰ（Ｓｎ）を印加するほうが、論理の変更が少なくて済む。このような場合に、図１８に示したフローでステートマシンを設計することで、設計期間を短縮できる。
【００９１】
図２０は、別の実施形態の半導体メモリＭＥＭにおける書き込み動作の動作フローの例を示している。図２０のフローは、図１６のフローのステップＳ１１６、Ｓ１１８の前に、ステップＳ１３０、Ｓ１３２、Ｓ１３４を追加している。すなわち、図２０では、ソフトプログラム動作ＳＰＧＭ０−２に対応してソフトベリファイ動作ＳＶＲＦＹが実行される。その他のフローは、図１６と同じである。半導体メモリＭＥＭは、ステートマシンおよび電圧生成部の論理を除いて、図２および図３と同じである。すなわち、半導体メモリＭＥＭは、フラッシュメモリ等の不揮発性半導体メモリである。なお、図７のステップＳ１１５とＳ１１６の間にステップＳ１３０、Ｓ１３２、Ｓ１３４を追加してもよい。また、図１８のステップＳ１１５とＳ１１６の間にステップＳ１３０、Ｓ１３２、Ｓ１３４を追加してもよい。
【００９２】
ステップＳ１３０において、制御ゲート線ＣＧがソフトベリファイ電圧ＶＳＰＶ（Ｓｎ）に設定され、ソフトベリファイ動作ＳＶＲＦＹが実行される。ステップＳ１３２において、ソフトベリファイ動作ＳＶＲＦＹがパスしたとき、処理はステップＳ１１８に移行する。ソフトベリファイ動作ＳＶＲＦＹがフェイルしたとき、処理はステップＳ１３４に移行する。
【００９３】
ステップＳ１３４において、プログラム回数Ｐｎが最大値ＭＡＸｐを超えているとき、通常プログラム動作ＰＧＭのフェイルと判定される。プログラム回数Ｐｎが最大値ＭＡＸｐを超えていないとき、ソフトプログラム動作ＳＰＧＭを実行するために、処理はステップＳ１１６に移行する。
【００９４】
なお、ソフトベリファイ電圧ＶＳＰＶ（Ｓｎ）は、ステートマシンが生成するソフトベリファイ信号に応答して電圧生成部３２により生成される。ステートマシンは、図１４に示したステートマシン３０Ａにソフトベリファイ信号を生成する機能を追加している。そして、ステートマシンは、ソフトプログラム信号ＳＰＧＭ０−２と、ソフトプログラム動作ＳＰＧＭにより閾値電圧が所定の値に設定されたことを確認するソフトベリファイ動作ＳＶＲＦＹを実行するためのソフトベリファイ信号とを、ソフトベリファイ動作ＳＶＲＦＹがパスするまで交互に生成する。
【００９５】
電圧生成部は、図１４に示した電圧生成部３２Ａにソフトベリファイ電圧ＶＳＰＶ（Ｓｎ）を生成する機能を追加している。そして、電圧生成部は、ソフトベリファイ信号に応答してソフトベリファイ電圧ＶＳＰＶ（Ｓｎ）を制御ゲート電圧ＶＣＧとして生成する。
【００９６】
図２１は、図２０に示した半導体メモリの書き込み動作における制御電圧の設定シーケンスの例を示している。図中に示したステップ番号Ｓ１０２、Ｓ１１６、Ｓ１１８、Ｓ１２０、Ｓ１３０は、図２０の処理に対応する。この例では、ステップＳＴＥＰ０において、２回目のベリファイ動作ＶＲＦＹ０がフェイルしたときに、制御ゲート線ＣＧに印加する電圧をＶＳＰＶ０に下げて、ソフトベリファイ動作ＳＶＲＦＹ０が実行される。そして、ソフトベリファイ動作ＳＶＲＦＹ０がパスするまでソフトプログラム動作ＳＰＧＭ０が実行される。ステップＳＴＥＰ１−２の動作は、図８と同じである。
【００９７】
以上、この実施形態においても、上述した実施形態と同様の効果を得ることができる。さらに、この実施形態では、ソフトプログラム動作ＳＰＧＭ０−２毎にソフトベリファイ動作ＳＶＲＦＹ０−２を実行することで、閾値電圧の調整の精度を向上できる。このため、例えば、３値以上のいずれかの論理を記憶するマルチレベルタイプの半導体メモリＭＥＭに適用すると有効である。
【００９８】
図２２は、別の実施形態の半導体メモリＭＥＭにおけるメモリセルアレイ１０Ｂ、Ｙデコーダ１８およびセンスアンプ部２２の例を示している。この例では、メモリセルアレイ１０Ｂは、マトリックス状に配置される複数の不揮発性のメモリセルＭＣを有している。但し、各メモリセルＭＣは、選択トランジスタＳＴを有しておらず、メモリトランジスタＭＴのみを有している。したがって、選択ゲート線ＳＧは、配線されていない。その他の構成は、ステートマシン３０の論理を除いて、図２および図３と同じである。すなわち、半導体メモリＭＥＭは、フラッシュメモリ等の不揮発性半導体メモリである。
【００９９】
図２３は、図２２に示した半導体メモリが動作するときの内部電圧の設定例を示している。図２２に示した半導体メモリＭＥＭのメモリセルＭＣは、選択トランジスタＳＴを有していない。このため、内部電圧生成部３２は、選択ゲート線ＳＧ用の電圧を生成しない。また、ソフトプログラム動作ＳＰＧＭおよび通常プログラムＰＧＭ０−２において、ビット線ＢＬはドレイン電圧ＶＤＰに設定され、ソース線ＳＬは接地電圧ＶＳＳ（０Ｖ）に設定される。例えば、ドレイン電圧ＶＤＰは、５Ｖである。その他の電圧は、図６と同じである。以上、この実施形態においても、上述した実施形態と同様の効果を得ることができる。
【０１００】
図２４は、電圧生成部３２Ｃの別の例を示している。図２４は、制御ゲート線ＣＧに供給される制御ゲート電圧ＣＧを生成する回路を示している。電圧生成部３０Ｃは、半導体メモリＭＥＭの外部端子を介して供給される高レベル電圧ＶＥＸＴと接地線ＶＳＳの間に直列に接続された複数の抵抗Ｒ０−６を有している。そして、抵抗分割により生成される分圧ＶＰＧ２−０、ＶＶＦ２−１、ＶＳＰ０、ＶＶＦ０のいずれかがｎＭＯＳトランジスタＮ０−６により選択され、制御ゲート電圧ＣＧとして出力される。高レベル電圧ＶＥＸＴは、外部電源電圧ＶＤＤより高く、例えば、１０Ｖである。
【０１０１】
ｎＭＯＳトランジスタＮ０−６のゲートは、図４に示したステートマシン３０から出力される通常プログラム信号ＰＧＭ２−０、ベリファイ信号ＶＲＦＹ２−１、ソフトプログラム信号ＳＰＧＭおよびベリファイ信号ＶＲＦＹ０をそれぞれ受けて動作する。なお、ベリファイ動作用の電圧ＶＶＦ２−０およびソフトプログラム動作用の電圧ＶＳＰ０は、外部電源電圧ＶＤＤに基づいて生成されてもよい。
【０１０２】
図２５は、上述した実施形態の半導体メモリが搭載されるシステムの例を示している。システムＳＹＳ（ユーザシステム）は、例えば、携帯機器等のマイクロコンピュータシステムの少なくとも一部を構成する。システムＳＹＳは、シリコン基板上に複数のマクロが集積されたシステムオンチップＳｏＣを有している。あるいは、システムＳＹＳは、パッケージ基板上に複数のチップが積層されたマルチチップパッケージＭＣＰを有している。あるいは、システムＳＹＳは、リードフレーム等のパッケージ基板上に複数のチップが搭載されたシステムインパッケージＳｉＰを有している。さらに、システムＳＹＳは、チップオンチップＣｏＣあるいはパッケージオンパッケージＰｏＰの形態で構成されてもよい。
【０１０３】
例えば、ＳｏＣは、ＣＰＵ（コントローラ）と、上述した実施形態の半導体メモリＭＥＭのいずれかと、周辺回路Ｉ／Ｏとを有している。ＣＰＵ、半導体メモリＭＥＭおよび周辺回路Ｉ／Ｏは、システムバスＳＢＵＳにより互いに接続されている。なお、ＣＰＵと半導体メモリＭＥＭの間にメモリコントローラを配置してもよい。
【０１０４】
ＣＰＵは、半導体メモリＭＥＭおよび周辺回路Ｉ／Ｏにアクセスするとともにシステム全体の動作を制御する。半導体メモリＭＥＭは、ＣＰＵからのアクセス要求に応じて、読み出し動作、書き込み動作および消去動作を実行する。なお、システムＳＹＳの最小構成は、ＣＰＵと半導体メモリＭＥＭである。
【０１０５】
なお、上述した実施形態は、メモリセルＭＣに２値の論理のいずれかを記憶する半導体メモリＭＥＭに適用する例について述べた。しかし、上述した実施形態は、メモリセルＭＣに３値以上の論理のいずれかを記憶する半導体メモリＭＥＭに適用してもよい。
【０１０６】
以上の実施形態において説明した発明を整理して、付記として開示する。
（付記１）
書き込み動作において制御ゲートに印加される制御ゲート電圧に応じてフローティングゲートに電荷が蓄積され、閾値電圧が変化するメモリトランジスタを有し、前記閾値電圧に応じてデータの論理を記憶する不揮発性のメモリセルと、
前記閾値電圧を所定の値に設定する前記書き込み動作において、通常プログラム動作を実行するための通常プログラム信号と、前記通常プログラム動作により前記閾値電圧が所定の値に到達したことを確認するベリファイ動作を実行するためのベリファイ信号とを、前記ベリファイ動作によりパスが判定されるまで交互に生成するとともに、前記通常プログラム動作後の前記ベリファイ動作によりフェイルが判定されたときに、ソフトプログラム動作を実行するためのソフトプログラム信号を生成するステートマシンと、
前記通常プログラム信号および前記ベリファイ信号に応答して通常プログラム電圧およびベリファイ電圧を前記制御ゲート電圧としてそれぞれ生成し、前記ソフトプログラム信号に応答して前記通常プログラム電圧より低いソフトプログラム電圧を前記制御ゲート電圧として生成する電圧生成部と、
前記ベリファイ動作時に、前記閾値電圧が前記所定の値に到達したときにパスを判定し、前記閾値電圧が前記所定の値まで到達していないときにフェイルを判定する判定部と
を備えていることを特徴とする半導体メモリ。
（付記２）
前記書き込み動作は、複数のステップを用いて実行され、
前記ステートマシンは、前記ステップ毎に前記通常プログラム信号および前記ベリファイ信号を生成し、前記ステップのいずれかにおいて前記ソフトプログラム信号を生成し、
前記電圧生成部は、前記ステップ毎に徐々に高くなる前記通常プログラム電圧と、前記ステップ毎に徐々に高くなる前記ベリファイ電圧とを生成すること
を特徴とする付記１記載の半導体メモリ。
（付記３）
前記書き込み動作は、複数のステップを用いて実行され、
前記ステートマシンは、前記ステップ毎に前記通常プログラム信号、前記ベリファイ信号および前記ソフトプログラム信号を生成し、
前記電圧生成部は、前記ステップ毎に徐々に高くなる前記通常プログラム電圧と、前記ステップ毎に徐々に高くなる前記ベリファイ電圧と、前記ステップ毎に徐々に高くなる前記ソフトプロラム電圧とを生成すること
を特徴とする付記１記載の半導体メモリ。
（付記４）
前記ソフトプログラム動作は、前記ベリファイ動作がフェイルした後の前記通常プログラム動作の前に実行されること
を特徴とする付記１なし付記３のいずれか１項記載の半導体メモリ。
（付記５）
前記ソフトプログラム動作は、前記ベリファイ動作がフェイルした後の前記通常プログラム動作の後に実行されること
を特徴とする付記１なし付記３のいずれか１項記載の半導体メモリ。
（付記６）
前記ステートマシンは、前記ソフトプログラム信号と、前記ソフトプログラム動作により前記閾値電圧が所定の値に設定されたことを確認するソフトベリファイ動作を実行するためのソフトベリファイ信号とを、前記ソフトベリファイ動作がパスするまで交互に生成し、
前記電圧生成部は、前記ソフトベリファイ信号に応答してソフトベリファイ電圧を前記制御ゲート電圧として生成すること
を特徴とする付記１なし付記５のいずれか１項記載の半導体メモリ。
（付記７）
前記判定部は、
前記メモリセルにそれぞれ接続され、前記ベリファイ動作において、対応する前記メモリトランジスタの閾値電圧が前記所定の値に設定されときに前記ベリファイ動作によるパスを検出するセンスアンプ部と、
前記各メモリセルに対応して設けられ、前記センスアンプ部により前記ベリファイ動作によるパスが検出された後に、前記通常プログラム動作および前記ソフトプログラム動作において、対応する前記メモリトランジスタのソース、ドレイン間にプログラム用の電圧が印加されることを禁止するプログラムマスク回路と
を備えていることを特徴とする付記１なし付記６のいずれか１項記載の半導体メモリ。
（付記８）
付記１ないし付記７のいずれか１項記載の半導体メモリと、
前記半導体メモリにアクセスするコントローラと
を備えていることを特徴とするシステム。
（付記９）
書き込み動作において制御ゲートに印加される制御ゲート電圧に応じてフローティングゲートに電荷が蓄積され、閾値電圧が変化するメモリトランジスタを有し、前記閾値電圧に応じてデータの論理を記憶する不揮発性のメモリセルを備えた半導体メモリの動作方法であって、
前記閾値電圧を所定の値に設定する前記書き込み動作において、通常プログラム動作を実行するための通常プログラム信号と、前記通常プログラム動作により前記閾値電圧が所定の値に到達したことを確認するベリファイ動作を実行するためのベリファイ信号とを、前記ベリファイ動作によりパスが判定されるまで交互に生成するとともに、前記通常プログラム動作後の前記ベリファイによりフェイルが判定されたときに、ソフトプログラム動作を実行するためのソフトプログラム信号を生成し、
前記通常プログラム信号および前記ベリファイ信号に応答して通常プログラム電圧およびベリファイ電圧を前記制御ゲート電圧としてそれぞれ生成し、前記ソフトプログラム信号に応答して前記通常プログラム電圧より低いソフトプログラム電圧を前記制御ゲート電圧として生成し、
前記ベリファイ動作時に、前記閾値電圧が前記所定の値に到達したときにパスを判定し、前記閾値電圧が前記所定の値まで到達していないときにフェイルを判定すること
を特徴とする半導体メモリの動作方法。
（付記１０）
前記書き込み動作を複数のステップを用いて実行し、
前記ステップ毎に前記通常プログラム信号および前記ベリファイ信号を生成し、前記ステップのいずれかにおいて前記ソフトプログラム信号を生成し、
前記ステップ毎に徐々に高くなる前記通常プログラム電圧と、前記ステップ毎に徐々に高くなる前記ベリファイ電圧とを生成すること
を特徴とする付記９記載の半導体メモリの動作方法。
（付記１１）
前記書き込み動作を複数のステップを用いて実行し、
前記ステップ毎に前記通常プログラム信号、前記ベリファイ信号および前記ソフトプログラム信号を生成し、
前記ステップ毎に徐々に高くなる前記通常プログラム電圧と、前記ステップ毎に徐々に高くなる前記ベリファイ電圧と、前記ステップ毎に徐々に高くなる前記ソフトプロラム電圧とを生成すること
を特徴とする付記９記載の半導体メモリの動作方法。
（付記１２）
前記ソフトプログラム動作を、前記ベリファイ動作がフェイルした後の前記通常プログラム動作の前に実行すること
を特徴とする付記９なし付記１１のいずれか１項記載の半導体メモリの動作方法。
（付記１３）
前記ソフトプログラム動作を、前記ベリファイ動作がフェイルした後の前記通常プログラム動作の後に実行すること
を特徴とする付記９なし付記１１のいずれか１項記載の半導体メモリの動作方法。
（付記１４）
前記ソフトプログラム信号と、前記ソフトプログラム動作により前記閾値電圧が所定の値に設定されたことを確認するソフトベリファイ動作を実行するためのソフトベリファイ信号とを、前記ソフトベリファイ動作がパスするまで交互に生成し、
前記ソフトベリファイ信号に応答してソフトベリファイ電圧を前記制御ゲート電圧として生成すること
を特徴とする付記９なし付記１３のいずれか１項記載の半導体メモリの動作方法。
（付記１５）
前記ベリファイ動作において、前記メモリトランジスタの閾値電圧が前記所定の値に設定されときに前記ベリファイ動作によるパスを、前記メモリセル毎に検出し、
前記ベリファイ動作によるパスを検出した後に、前記通常プログラム動作および前記ソフトプログラム動作において、対応する前記メモリトランジスタのソース、ドレイン間にプログラム用の電圧が印加されることを禁止すること
を特徴とする付記９なし付記１４のいずれか１項記載の半導体メモリの動作方法。
【０１０７】
以上の詳細な説明により、実施形態の特徴点および利点は明らかになるであろう。これは、特許請求の範囲がその精神および権利範囲を逸脱しない範囲で前述のような実施形態の特徴点および利点にまで及ぶことを意図するものである。また、当該技術分野において通常の知識を有する者であれば、あらゆる改良および変更に容易に想到できるはずであり、発明性を有する実施形態の範囲を前述したものに限定する意図はなく、実施形態に開示された範囲に含まれる適当な改良物および均等物に拠ることも可能である。
【符号の説明】
【０１０８】
１０、１０Ｂ‥メモリセルアレイ；１２‥リファレンスメモリセル；１４、１６‥Ｘデコーダ；１８、２０‥Ｙデコーダ；２２‥センスアンプ部；２４‥データ入出力バッファ；２６‥アドレスバッファ；２８‥コマンドバッファ；３０、３０Ａ‥ステートマシン；３２、３２Ｃ‥電圧生成部；ＢＬ‥ビット線；ＢＯＳＴ‥昇圧回路；ＣＧ‥制御ゲート線；ＣＭＰ‥コンパレータ；ＭＣ‥メモリセル；ＭＥＭ‥半導体メモリ；ＭＴ‥メモリトランジスタ；ＰＧＭＣＮＴ‥プログラム制御回路；ＰＧＭＳＥＬ‥プログラムセレクタ；ＰＳＣＮＴ‥プログラムステップ制御回路；ＰＳＣＯＵＮＴ‥プログラムステップカウンタ；ＲＧＬ‥レギュレータ；ＲＴ‥読み出しトランジスタ；ＳＡ‥センスアンプ；ＳＧ‥選択ゲート線；ＳＬ‥ソース線；ＳＴ‥選択トランジスタ；ＳＷ‥スイッチ回路；ＶＦＣＯＮＴ‥ベリファイフェイルカウンタ；ＷＴ‥書き込みトランジスタ
【図１】
2011040120.tif 000003
【図２】
2011040120.tif 000004
【図３】
2011040120.tif 000005
【図４】
2011040120.tif 000006
【図５】
2011040120.tif 000007
【図６】
2011040120.tif 000008
【図７】
2011040120.tif 000009
【図８】
2011040120.tif 000010
【図９】
2011040120.tif 000011
【図１０】
2011040120.tif 000012
【図１１】
2011040120.tif 000013
【図１２】
2011040120.tif 000014
【図１３】
2011040120.tif 000015
【図１４】
2011040120.tif 000016
【図１５】
2011040120.tif 000017
【図１６】
2011040120.tif 000018
【図１７】
2011040120.tif 000019
【図１８】
2011040120.tif 000020
【図１９】
2011040120.tif 000021
【図２０】
2011040120.tif 000022
【図２１】
2011040120.tif 000023
【図２２】
2011040120.tif 000024
【図２３】
2011040120.tif 000025
【図２４】
2011040120.tif 000026
【図２５】
2011040120.tif 000027