【実施例】
【0026】
次に、本発明の実施例に係るNAND型フラッシュメモリの内部構成を
図4に示す。フラッシュメモリ100は、複数のメモリセルが行列状に配列されたメモリセルアレイ110と、外部入出力端子I/Oに接続された入出力バッファ120と、入出力バッファ120からアドレスデータを受け取るアドレスレジスタ130と、入出力バッファ120からコマンドデータ等を受け取り、各部を制御するコントローラ140と、アドレスレジスタ130から行アドレス情報Axを受け取り、行アドレス情報Axをデコードし、デコード結果に基づきブロックの選択およびワード線の選択等を行うワード線選択回路150と、ワード線選択回路150によって選択されたページから読み出されたデータを保持したり、選択されたページにプログラムすべき入力データを保持するページバッファ/センス回路160と、アドレスレジスタ130から列アドレス情報Ayを受け取り、列アドレス情報Ayをデコードし、当該デコード結果に基づきページバッファ/センス回路160内の列アドレスのデータを選択する列選択回路170と、データの読出し、プログラムおよび消去等のために必要な種々の電圧(書込み電圧Vpgm、読出しパス電圧Vpassr、読出し電圧Vread、消去電圧Versなど)を生成する内部電圧発生回路180とを含んで構成される。
【0027】
メモリセルアレイ110は、複数のブロックを含み、各ブロック内に複数のNANDストリングが形成される。NANDストリングは、基板上に2次元的に形成されるものであっても良いし、基板の主面から垂直方向に3次元的に形成されるものであってもよい。また、1つのメモリセルは、2値データまたは多値データを記憶することが可能である。
【0028】
コントローラ140は、ハードウエアおよび/またはソフトウェアを用いて構成することができ、例えば、マイクロコンピュータ、ステートマシン、ロジック等を含むことができる。コントローラ140は、外部から入力されたコマンドおよび/または制御信号(アドレスラッチイネーブル信号やコマンドラッチイネーブル信号)に基づき読出し、書込み(プログラム)、消去動作等を制御する。
【0029】
読出し動作では、選択ワード線に読出し電圧Vreadを印加し、非選択ワード線に読出しパス電圧Vpassrを印加し、選択ゲート線SGDに正の電圧を印加し、ビット線側選択トランジスタおよびソース線側選択トランジスタを導通させ、ビット線に或る正の電圧を印加し、共通ソース線に例えば0Vを印加する。書込み(プログラム)動作では、選択ワード線に高電圧のプログラム電圧Vprogを印加し、非選択ワード線に中間のパス電圧Vpass−progを印加し、ビット線側選択トランジスタを導通させ、ソース線側選択トランジスタを非導通にし、「0」または「1」のデータに応じた電位をビット線に供給する。消去動作では、ブロック内の選択ワード線に或る電圧を印加し、Pウエルに高電圧の消去パルスを印加し、浮遊ゲートの電子を基板に引き抜くことでブロック単位の消去を行う。
【0030】
次に、本実施例のNAND型フラッシュメモリの動作について説明する。本実施例による新規な読出し方法を説明する前に、前提となる読出し方法を前もって説明する。読出し動作には2つの種類がある。1つは、読出しコマンドに応じて実施される読出しであり、もう1つは、プログラムコマンドに応じて実施される書込み動作中のベリファイ読出しである。
図5に、書込み動作時に選択ワード線と非選択ワード線に印加されるバイアス電圧を例示する。選択ワード線(書込みのために選択されるワード線)には、書込み時に高電圧パルスVprogが印加され、当該パルスの印加後のベリファイ読出し時にベリファイ読出し電圧Vverifyが印加され、非選択ワード線には、書込み時にプログラムのための中間電圧パルスVpass-progが印加され、当該パルスの印加のベリファイ読出し時にベリファイ読出し電圧Vpassrが印加される。
【0031】
選択ワード線に接続されたあるメモリセルが同時にプログラムされ、これはページプログラムと呼ばれる。ベリファイ読出しは、それぞれのプログラムされたメモリセルの閾値Vtを検出することである。データ「0」がプログラムされたメモリセルの閾値Vtは、ベリファイ読出し電圧Vverifyよりも高く、このようなメモリセルがベリファイ読出しで検出されたとき、当該メモリセルへのプログラムは停止される。他方、データ「0」をプログラムすべきメモリセルの閾値Vtがベリファイ読出し電圧Vverifyよりも低ければ、ΔVだけ高くされた次の高電圧パルスが印加され、当該メモリセルがさらにプログラムされ、最終的に、データ「0」がプログラムされたメモリセルの閾値Vtがベリファイ読出し電圧Vverifyよりも高くなったとき、プログラム動作が終了される。プログラムベリファイシーケンスを用いることによって、データ「0」がプログラムされたメモリセルの閾値Vtの分布を狭くすることができる。また、ベリファイ読出し電圧Vverifyと読出し電圧Vreadとの間の電圧マージンを得るため、ベリファイ読出し電圧Vverifyは、読出し電圧Vreadよりも低くされる。
【0032】
本発明の第1の実施例に係る読出しでは、ベリファイ読出し電圧Vverifyは、プログラムするときの選択ワード線とは無関係に一定の大きさに設定される。他方、読出し動作時に選択メモリセルのデータ「0」または「1」を判定するための読出し電圧Vreadは、ワード線の番号または位置に応じて変更される。
【0033】
ワード線WLi(i=0,1,2,…,n)がソース線側から順に0、1、2、...、nの番号を有するとき、読出し動作時、n本のワード線WLは、2より大きい幾つかのグループに分離される。例えば、最初のグループは、ワード線WL0からWLi−1であり、2番目のグループは、ワード線WLiからワード線WLjであり、最後のグループは、ワード線WLkからワード線WLnである。ここで、iは、2よりも大きく、jはiよりも大きく、kはjよりも大きい関係にある。
【0034】
図6に示すテーブルは、ワード線を複数のグループに分離したときの各グループと読出し電圧Vreadとの関係を示している。同図に示すように、読出し電圧Vreadの大きさは、ワード線のグループがビット線側にシフトするにつれ、段階的に増加するように設定される。このような読出し電圧Vreadとワード線のグループとの関係を規定する設定は、例えば、フラッシュメモリの動作に関する設定情報を記憶するヒューズセルに格納することができる。ヒューズセルに格納された設定情報は、例えば、フラッシュメモリの電源投入時にレジスタにロードされ、コントローラ140は、読出し動作時にレジスタに保持された設定情報に従い読出し電圧Vreadの大きさを決定する。
【0035】
多数のW/Eサイクル後のビット線BL近傍のデータ「1」のメモリセルの閾値Vtは、W/Eサイクル前よりも高くなる傾向がある。しかしながら、本実施例のように、ビット線BL近傍の読出し電圧Vreadを増加することによって、ビット線近傍のメモリセルの閾値Vtの増加を相殺し、故障(多数のW/Eサイクル後にデータ「1」を「0」に読み違えること)の数を減少させることができる。ビット線BL近傍の読出し電圧Vreadの増加が大きすぎる場合、ベリファイ読出し電圧Vverifyと読出し電圧Vreadとの間で読み出されるメモリセルの閾値マージンが小さくなってしまう。従って、ビット線側のワード線の読出し電圧Vreadの増加には最適な値がある。例えば、ワード線WLnの読出し電圧Vread(n)とワード線WL0の読出し電圧Vread(0)の差分、Vread(n)−Vread(0)=0.2〜0.4Vである。
【0036】
読出し動作が行われるとき、入出力バッファ120を介して読出しコマンドおよびアドレス情報が内部に取り込まれる。コントローラ140は、
図6に示すテーブルを参照し、行アドレスに基づき読出しのために選択される選択ワード線に印加する読出し電圧Vreadの大きさを決定する。具体的には、内部電圧発生回路180は、
図6のテーブルで設定された読出し電圧Vreadを生成し、ワード線選択回路150は、行アドレスに基づき選択ワード線に接続されたトランジスタを導通させ、当該トランジスタを介して、内部電圧発生回路180で生成された読出し電圧Vreadが選択ワード線に印加される。
【0037】
次に、本発明の第2の実施例について説明する。第2の実施例では、読出し動作時に非選択ワード線に印加される読出しパス電圧Vpassrは、読出しのために選択されるワード線の位置または番号に応じて変更される。
【0038】
第2の実施例では、読出しのために選択されるワード線は、1より大きい幾つかのグループに分離される。例えば、最初のグループは、ワード線WL0からワード線WLi−1であり、2番目のグループは、ワード線WLiからワード線WLjであり、最後のグループは、ワード線WLkからワード線WLnに分離され、各グループに、対応する読出しパス電圧Vpassrが設定される。ここで、iは、2よりも大きく、jはiよりも大きく、kはjよりも大きい関係にある。もし、選択ワード線が最初のグループに属するならば、当該最初のグループに設定された読出しパス電圧Vpassrが非選択ワード線に印加され、選択ワード線が2番目のグループに属するならば、当該2番目のグループに設定された読出しパス電圧Vpassrが非選択ワード線に印加される。
【0039】
図7のテーブルは、読み出しのために選択されるワード線を複数のグループに分離したときの各グループと読出しパス電圧Vpassrとの関係を規定している。同図に示すように、読出しパス電圧Vpassrの大きさは、読出しのために選択されるワード線がビット線側にシフトするにつれ、段階的に増加するように設定される。ワード線WL0からWLi−1までのグループ1には、読出しパス電圧Vpassr1が設定され、ワード線WLiからワード線WLjまでのグループ2には、読出しパス電圧Vpassr2が設定され、ワード線WLj+1からワード線WLk−1までのグループyには、読出しパス電圧Vpassyが設定され、ワード線WLkからワード線WLnまでのグループxには、読出しパス電圧Vpassxが設定され、読出しパス電圧には、Vpassr1<Vpassr2<…<Vpassry<Vpassrxの関係がある。例えば、選択ワード線WLがグループ1に該当する場合、非選択ワード線には、読出しパス電圧Vpassr1が印加され、選択ワード線がグループ2に該当する場合には、非選択ワード線には、読出しパス電圧Vpass2が印加される。このように、各非選択ワード線に与える読出しパス電圧Vpassrはどの非選択ワード線でも同一値である。
【0040】
読出しパス電圧Vpassrの設定は、読出し動作時に使用され、さらにプログラム動作中のベリファイ読出しにも使用される。つまり、
図5に示すように、書込み動作時のベリファイ読出しにおいて、非選択ワード線に印加される読出しパス電圧Vpassrは、選択ワード線に応じて変更される。本実施例による読出しパス電圧の設定により、NANDストリングの抵抗は、従来のより低い均一の読出しパス電圧の設定と比較して、ビット線近傍のメモリセルの読出し時に低くなる。本実施例による読出しパス電圧Vpassrの設定により、多数のW/Eサイクル後のNANDストリングの抵抗の増加を相殺し、故障(多数のW/Eサイクル後にデータ「1」を「0」に読み違えること)の数を減少させることができる。
【0041】
図7に示すテーブルは、第1の実施例のときと同様に、例えば、ヒューズセル内にフラッシュメモリの動作に関する設定情報として格納することができる。ヒューズセルに格納された設定情報は、例えば、フラッシュメモリの電源投入時にレジスタにロードされ、コントローラ140は、読出し動作時にレジスタに保持された設定情報に従い読出しパス電圧Vpassrの大きさを決定する。
【0042】
読出し動作が行われるとき、入出力バッファ120を介して読出しコマンドおよびアドレス情報が内部に取り込まれる。コントローラ140は、行アドレスに基づき読出しのために選択される選択ワード線に読出し電圧Vreadを印加させ、また、
図7に示すテーブルに基づき非選択ワード線に印加する読出しパス電圧Vpassrの大きさを決定する。具体的には、内部電圧発生回路180は、
図7のテーブルで設定された読出しパス電圧Vpassrを生成し、ワード線選択回路150によって選択され選択ワード線には読出し電圧Vreadが印加され、非選択ワード線には、内部電圧発生回路180で生成された読出しパス電圧Vpassrが印加される。また、書込み動作中のベリファイ読出しについても同様に、コントローラ140は、書込むために選択された選択ワード線についてベリファイ読出しを行うとき、
図7のテーブルで設定された読出しパス電圧Vpassrを非選択ワード線に印加させる。
【0043】
次に、本発明の第3の実施例について説明する。第3の実施例では、読出し動作時の読出しのために選択ワード線の位置または番号に応じて読出しパス電圧Vpassrの値を変化させるものである。
図8は、NANDストリングのi番目のメモリセルiが読み出されるときの読出しパス電圧Vpassr1とVpassr2を示している。同図に示すように、読出しパス電圧Vpassrは、2つのグループに分離される。1つ目のグループは、選択ワード線WLiからソース線側のワード線に印加される読出しパス電圧Vpassr2であり、
図8の例では、ワード線WL0からワード線WLi−1である。もう1つグループは、選択ワード線WLiからビット線側のワード線に印加される読出しパス電圧Vpassr1であり、
図8の例では、ワード線WLi+1からワード線WLnである。
【0044】
読出しパス電圧Vpassr2は、読出しパス電圧Vpassr1よりも高くセットされる(Vpassr2>Vpassr1)。ビット線BL近傍のワード線に接続されたメモリセルが読み出されるとき、読出しパス電圧Vpassrの大部分が読出しパス電圧Vpassr2にセットされる。本実施例による読出しパス電圧Vpassrの設定は、読出し動作に使用され、かつプログラム動作中のベリファイ読出しにも使用される。本実施例による読出しパス電圧Vpassrの設定により、NANDストリングの抵抗は、従来のより低い均一な読出しパス電圧Vpassrの設定と比較して、ビット線BL近傍のメモリセルの読出し時に低くなる。本実施例による読出しパス電圧Vpassrの設定により、多数のW/Eサイクル後のNANDストリングの抵抗の増加を相殺し、故障(多数のW/Eサイクル後にデータ「1」を「0」に読み違えること)の数を減少させることができる。
【0045】
読出しパス電圧Vpassr1、Vpassr2の大きさの設定は、第1の実施例のときと同様に、例えば、ヒューズセル内にフラッシュメモリの動作に関する設定情報として格納することができる。ヒューズセルに格納された設定情報は、例えば、フラッシュメモリの電源投入時にレジスタにロードされ、コントローラ140は、読出し動作時にレジスタに保持された設定情報に従い読出しパス電圧Vpassr1、Vpassr2の大きさを決定する。
【0046】
読出し動作が行われるとき、入出力バッファ120を介して読出しコマンドおよびアドレス情報が内部に取り込まれる。コントローラ140は、行アドレスに基づき読出しのために選択される選択ワード線に読出し電圧Vreadを印加させ、また、選択ワード線の位置に応じて、選択ワード線からソース線側の非選択ワード線に読出しパス電圧Vpassr2を印加させ、選択ワード線からビット線側の非選択ワード線に読出しパス電圧Vpassr1を印加させる。また、書込み動作中のベリファイ読出しについても同様に、コントローラ140は、書込むために選択された選択ワード線についてベリファイ読出しを行うとき、選択ワード線を基準にソース線側の非選択ワード線に読出しパス電圧Vpassr2を印加させ、ビット線側の非選択ワード線に読出しパス電圧Vpassr1を印加させる。
【0047】
次に、本発明の変形例について説明する。NANDストリング抵抗は、W/Eサイクル数の増加につれ高くなる。そして、多数のW/Eサイクル後にデータ「1」を「0」に誤って読み出すことがビット線近傍のメモリセルに引き起こされる傾向がある。このような故障を抑制するため、上記第1ないし第3の実施例は、読出し電圧Vreadおよび読出しパス電圧Vpassrの新規なバイアス方法を提案している。第1の実施例は、読み出すためにワード線に印加されるワード線の電圧設定、すなわち読出し電圧Vreadの設定である。第2および第3の実施例は、読出しのために非選択ワード線に印加されるワード線の電圧設定、すなわち読出しパス電圧Vpassrの設定である。これらの全ては、多数のW/Eサイクル後にビット線側の近傍のメモリセルで引き起こされるデータ「1」をデータ「0」に誤って読み出すことを減少させる効果を有する。それ故、本発明の変形例として、上記第1ないし第3の実施例を組み合わせて使用することも可能である。例えば、第1の実施例と第2の実施例の組合せ、第1の実施例と第3の実施例の組合せ、第2の実施例と第3の実施例の組合せ、あるいは第1および第2の実施例の組合せと第3の実施例との組合せである。
【0048】
上記実施例では、簡略化のためNANDストリングにはダミーメモリセルが含まれていないが、ビット線側選択トランジスタおよび/またはソース線側選択トランジスタに隣接してダミーメモリセルを設けるようにしてもよい。
【0049】
本発明の好ましい実施の形態について詳述したが、本発明は、特定の実施形態に限定されるものではなく、特許請求の範囲に記載された発明の要旨の範囲内において、種々の変形・変更が可能である。