以下、図面を参照しながら、本発明を実施するための最良の形態について詳細に説明する。
1. 概要
本発明の例では、第一に、チップ自体に、メモリセルの特性に応じて、その閾値分布の形を自由に設定できる機能を持たせる。
メモリセルの閾値分布の形は、電源電圧の低下や、製造ばらつきなどを考慮すると、一般的には、幅が狭く、シャープであることが望まれるが、このような閾値分布を得るためには、例えば、書き込み電位Vpgmのステップアップ幅を狭くするなどの特別の工夫が必要であり、その結果、書き込みスピードが遅くなるなどの弊害が生じる。
従って、本発明の例では、チップ内に、第1の閾値分布が得られる第1のモード及び第2の閾値分布が得られる第2のモードのうちの1つを用いて、メモリセルに対して書き込みを行う内部回路と、第1のモードと第2のモードの切り替えを制御する閾値分布制御回路とを設ける。
そして、例えば、高度な製造技術により、高精度かつ高信頼性の多値フラッシュメモリを製造できるような場合には、書き込みスピードの向上のため、閾値分布制御回路により第1のモードを選択する。また、幅が狭く、シャープな閾値分布を得る必要がある場合には、閾値分布制御回路により第2のモードを選択する。
本発明の例では、第二に、チップ自体に、信頼性の高いメモリセルとそうでないメモリセルとの間で閾値分布の形を異ならせることができる機能を持たせる。
1チップ内のメモリセルについてみると、ある一部分のメモリセルについてのみ、信頼性が低く、その他のメモリセルについては、高信頼性を確保できるような場合がある。このような場合に、信頼性の低い一部分のメモリセルのために、そのチップが不良品となってしまうのは、歩留り向上やコストの低減にとって好ましいことではない。
従って、本発明の例では、チップ内に、第1の閾値分布が得られる第1のモードを用いて、高い信頼性のメモリセルに対して書き込みを行うと共に、第2の閾値分布が得られる第2のモードを用いて、低い信頼性のメモリセルに対して書き込みを行う内部回路と、第1のモードと第2のモードの切り替えを制御する閾値分布制御回路とを設ける。
なお、信頼性に関連したメモリセルの区分けは、ワード線単位、ブロック単位、又は、サブセルアレイ単位で行うことができる。
2. 回路例
以下、本発明の例に関わるフラッシュメモリの回路例について具体的に説明する。
(1) 全体図
図1は、本発明の例に関わるNAND型フラッシュメモリの主要部を示している。
メモリセルアレイ1は、例えば、直列接続された複数のメモリセルとその両端に1つずつ接続された2つのセレクトトランジスタとから構成されるNANDセルユニットを有する。メモリセルアレイ1の回路例及び構造例については、後述する。
データ回路2は、複数の記憶回路(ページバッファを含む)を有している。データ回路2の回路例については、後述する。ここでは、データ回路2の機能について簡単に述べる。
データ回路2は、書き込み時に、2ビット(4値)のライトデータを、読み出し時に、2ビット(4値)のリードデータを、それぞれ、一時的に記憶する。このため、書き込み/読み出し動作の対象となる選択されたメモリセルに接続される1本のビット線に対して、最低、2個の記憶回路が設けられる。2個の記憶回路のうちの一つは、論理下位ページデータを記憶し、他の一つは、論理上位ページデータを記憶する。
ワード線制御回路3は、ロウアドレスデコーダ及びワード線ドライバを含んでいる。ワード線制御回路3は、動作モード(書き込み、消去、読み出しなど)とロウアドレス信号が指定するアドレスとに基づいて、メモリセルアレイ1内の複数のワード線の電位を制御する。ワード線制御回路3の回路例については、後述する。
カラムデコーダ4は、カラムアドレス信号に基づいて、メモリセルアレイ1のカラムを選択する。
書き込み時、ライトデータは、データ入出力バッファ7及びI/Oセンスアンプ6を経由して、選択されたカラムに属するデータ回路2内の記憶回路内に入力される。また、読み出し時、リードデータは、選択されたカラムに属するデータ回路2内の記憶回路内に一時的に記憶され、この後、I/Oセンスアンプ6及びデータ入出力バッファ7を経由して、メモリチップ11の外部へ出力される。
ロウアドレス信号は、アドレスバッファ5を経由してワード線制御回路3に入力される。カラムアドレス信号は、アドレスバッファ5を経由して、カラムデコーダ4に入力される。
ウェル/ソース線電位制御回路8は、動作モード(書き込み、消去、読み出しなど)に基づいて、メモリセルアレイ1を構成する複数のブロックに対応する複数のウェル領域(例えば、nウェルとpウェルからなるダブルウェル領域)の電位、並びに、ソース線の電位を、それぞれ制御する。
電位発生回路(昇圧回路)9Aは、例えば、書き込み時に、書き込み電位(例えば、約20V)Vpgmや、転送電位(例えば、約10V)Vpassなどを発生する。これらの電位Vpgm,Vpassは、切替回路9Bにより、例えば、メモリセルアレイ1を構成する複数のブロックのうち、選択されたブロック内の複数本のワード線に振り分けられる。
また、電位発生回路9Aは、例えば、消去時に、消去電位(例えば、約20V)Veraを発生し、この電位Veraを、メモリセルアレイ1を構成する複数のブロックのうち、1つ又は2つ以上の選択されたブロックに対応する1つ又は2つ以上のウェル領域(nウェルとpウェルの双方)に与える。
閾値分布制御回路(モード切替回路)23は、メモリセルアレイ1内のメモリセルに対する書き込みに当たって、第1の閾値分布が得られる第1のモードと第2の閾値分布が得られる第2のモードとの切り替えを制御する。
ここで、第2の閾値分布は、第1の閾値分布よりも、幅が狭く、シャープであるものとする。例えば、書き込みスピードを優先させるチップの場合には、閾値分布制御回路により第1のモードが選択され、幅が狭く、シャープな閾値分布を得る必要があるチップの場合には、閾値分布制御回路により第2のモードが選択される。
また、1チップ内において、高い信頼性のメモリセルに対しては、第1のモードにより書き込みを行い、低い信頼性のメモリセルに対しては、第2のモードにより書き込みを行うこともできる。
例えば、図2に示すように、第1のモードが選択されるとき、第1のステップアップ幅(例えば、0.2V)を持つ第1の書き込み電位を用いてメモリセルに対する書き込みを行うと、高速に書き込みを行うことができるが、メモリセルの閾値分布の幅は、点線で示すように、幅の広いものとなる。
これに対し、第2のモードが選択されるとき、第1のステップアップ幅よりも小さい第2のステップアップ幅(例えば、0.05V)を持つ第2の書き込み電位を用いてメモリセルに対する書き込みを行うと、書き込みスピードは遅くなるが、メモリセルの閾値分布の幅は、実線で示すように、幅が狭く、シャープなものとなる。
また、図3に示すように、第1のモードと第2のモードとで、リード電位の値Vcgr10,Vcgr01,Vcgr00、又は、ベリファイリード電位の値Vcgv10,Vcgv01,Vcgv00を可変できるようにしてもよい。
表1は、モードに応じて、リード電位の値Vcgr10,Vcgr01,Vcgr00、ベリファイリード電位の値Vcgv10,Vcgv01,Vcgv00、又は、読み出し時転送電位の値Vreadを変え、モードに応じて、異なる閾値分布を得ることができるようにした例を示している。
モードの数は、2つに限られず、3つ以上であってもよい。また、リード電位の値Vcgr10,Vcgr01,Vcgr00、ベリファイリード電位の値Vcgv10,Vcgv01,Vcgv00、及び、読み出し時転送電位の値Vreadは、表1に示すように、モードに応じて、全て変えてもよいし、これらのうちの1つのみを変えてもよい。
一括検知回路 (batch detection circuit) 10は、書き込み時に、メモリセルに正確に所定のデータが書き込まれたか否かを検証し、消去時に、メモリセルのデータがきちんと消去されたか否かを検証する。
コマンドインターフェイス回路12は、フラッシュメモリチップ11とは別のチップ(例えば、ホストマイコン)により生成される制御信号に基づいて、データ入出力バッファ7に入力されるデータがホストマイコンから提供されたコマンドデータであるか否かを判断する。データ入出力バッファ7に入力されるデータがコマンドデータである場合、コマンドインターフェイス回路12は、コマンドデータをステートマシーン(制御回路)13に転送する。
ステートマシーン13は、コマンドデータに基づいて、フラッシュメモリの動作モード(書き込み、消去、読み出しなど)を決定し、かつ、その動作モードに応じて、フラッシュメモリの全体の動作、具体的には、データ回路2、ワード線制御回路3、カラムデコーダ4、アドレスバッファ5、I/Oセンスアンプ6、データ入出力バッファ7、ウェル/ソース線電位制御回路8、電位生成回路9A、切替回路9B及び一括検知回路10の動作を制御する。
(2) モード選択の例
本発明の例では、例えば、図4に示すように、1チップ内のメモリセルアレイを、高い信頼性の第1のメモリセルグループと、低い信頼性の第2のメモリセルグループとに分ける。そして、第1のメモリセルグループに対しては、第1のモードで書き込みを行い、図4に示すような閾値分布を実現し、第2のメモリセルグループに対しては、第2のモードで書き込みを行い、図4に示すような閾値分布を実現する。
ここで、第1のメモリセルグループと第2のメモリセルグループとは、サブセルアレイ単位又はブロック単位で分けることができる。
例えば、図5に示すように、サブセルアレイB,Cを第1のメモリセルグループとし、サブセルアレイA,Dを第2のメモリセルグループとした場合、サブセルアレイB,Cについては、第1のモードにより書き込みを行い、サブセルアレイA,Dについては、第2のモードにより書き込みを行うことができる。
また、サブセルアレイA内のブロック1A〜510Aを第1のメモリセルグループとし、サブセルアレイA内のブロック0A,511Aを第2のメモリセルグループとした場合には、ブロック1A〜510A内のメモリセルについては、第1のモードにより書き込みを行い、ブロック0A,511Aについては、第2のモードにより書き込みを行うことができる。
さらに、図6に示すように、ワード線WL1−i,WL2−iに接続されるメモリセルを第1のメモリセルグループとし、ワード線WL0−i,WL3−iに接続されるメモリセルを第2のメモリセルグループとした場合、ワード線WL1−i,WL2−iに接続されるメモリセルについては、第1のモードにより書き込みを行い、ワード線WL0−i,WL3−iに接続されるメモリセルについては、第2のモードにより書き込みを行うことができる。
通常、フラッシュメモリにおいては、製造ばらつきにより、セレクトゲート線SGS−i,SGD−iに近いワード線WL0−i,WL3−iが細くなり、それに繋がるメモリセルの信頼性が低下するため、これらのメモリセルについては、第2のモードにより、書き込み電位Vpgmのステップアップ幅を狭くしたり、ベリファイリード電位を低く設定したりして、幅が狭く、シャープな閾値分布を実現する。
これに対し、それ以外のメモリセルについては、第1のモードにより、書き込み電位Vpgmのステップアップ幅を広げたり、ベリファイリード電位を高く設定したりして、書き込みスピードの高速化を図る。
(3) モード決定の例
モード決定、即ち、第1の閾値分布を得る第1のモード及び第2の閾値分布を得る第2のモードのうちの1つを選択するための回路について説明する。
[1] 例1
図7は、モード決定の例1を示している。
この例は、フラッシュメモリチップとは異なるチップ、例えば、マイクロプロセッサからの制御信号(コマンド)に基づいてモードを決定する、というものである。
制御信号は、コマンドインターフェイス回路12を経由して、ステートマシーン13に入力される。ステートマシーン13は、制御信号を解読し、その結果を閾値分布制御回路23に与える。例えば、制御信号が第1のモードの選択を指示している場合には、閾値分布制御回路23は、第1のモードにより書き込みを行うよう内部回路を制御し、制御信号が第2のモードの選択を指示している場合には、第2のモードにより書き込みを行うよう内部回路を制御する。
[2] 例2〜例4
図8乃至図10は、モード決定の例2〜例4を示している。
これらの例は、フラッシュメモリチップ内の記憶素子に記憶されたデータに基づいてモードを決定する、というものである。
図8の例では、記憶素子として、メモリセルアレイ1の一部を使用している。つまり、モード決定のためのデータが予めメモリセルアレイ1の一部に記憶され、そのデータが閾値分布制御回路23に供給される。
図9の例では、記憶素子として、フューズ回路(レーザフューズ)25Aを使用している。この場合、ウェハプロセス時にモードが決定される。
これに対し、図10の例では、記憶素子として、フューズ回路(電気的に書き込み可能なE−フューズ、アンチフューズなど)25Bを使用している。この場合、ウェハプロセス時の他、アセンブリ工程又はパッケージング工程後においても、モードの決定が可能である。
[3] 例5
図11は、モード決定の例5を示している。
この例は、フラッシュメモリチップ外部からの制御信号を、直接、閾値分布制御回路23に入力させてモードを決定する、というものである。
制御信号には、別チップ(マイクロプロセッサなど)からの信号の他、ウェハプロセス時やチップボンディング時などにおいて、その値を固定された信号(電源電位Vdd,Vssなど)を含む。
(3) モード切替の例
本発明の例では、例えば、図12に示すように、メモリセルアレイのテストをした後(ステップS1)、メモリセルアレイを複数のメモリセルグループに分ける。そして、メモリセルグループごとにモードを決定し(ステップS2)、この後、書き込みに際して、メモリセルグループごとにモードを切り替える(ステップS3)。
ここで、モードの切り替えについては、既に述べたように、例えば、書き込み電位Vpgmのステップアップ幅や、リード電位又はベリファイリード電位の値などを可変にすることによって実現できる。
図13は、書き込み電位のステップアップ幅を可変にすることで閾値分布の形を制御する回路例を示している。
基準電位Vref(1V)は、例えば、バンドギャップレファレンス回路により生成される。この回路例では、可変抵抗の抵抗値を変えることにより、昇圧電位の値を変えることができる。従って、可変抵抗の抵抗値の変化量を制御することにより、書き込み電位のステップアップ幅を制御することができる。
図14は、リード電位又はベリファイリード電位の値を可変にすることで閾値分布の形を制御する回路例を示している。
基準電位Vref(1V)は、例えば、バンドギャップレファレンス回路により生成される。この回路例においても、可変抵抗の抵抗値を変えることにより、出力電位の値を変えることができる。従って、この出力電位をリード電位又はベリファイリード電位として用いれば、閾値分布の形を制御することができる。
(4) メモリセルアレイの構成例
図15は、メモリセルアレイの構成例を示している。図16は、図15に示される複数のブロックのうちの1つのブロックBLOCKiを示している。
メモリセルアレイ1は、複数(本例では、1024個)のブロックBLOCK0〜BLOCK1023から構成される。複数のブロックBLOCK0〜BLOCK1023は、Y方向に並んで配置される。ブロックとは、消去の最小単位、即ち、一度に消去できる最小のメモリセル数を意味する。
1つのブロックBLOCKiは、X方向に並んだ複数(本例では、8512個)のNANDセルユニットUから構成される。1つのNANDセルユニットUは、直列接続される4つのメモリセルM1,M2,M3,M4からなるNAND列と、NAND列の一端に接続されるセレクトゲートトランジスタS1と、NAND列の他端に接続されるセレクトゲートトランジスタS2とから構成される。
本例では、NAND列は、4つのメモリセルM1,M2,M3,M4から構成されるが、1つ又は2つ以上のメモリセルから構成されていればよく、特に、4つに限定されるものではない。
セレクトゲートトランジスタS1は、ビット線BLek又はビット線BLokに接続され(k=0,1,・・・4255)、セレクトゲートトランジスタS2は、コモンソース線C−sourceに接続される。
ワード線(コントロールゲート線)WL0−i,WL1−i,WL2−i,WL3−iは、X方向に延び、X方向の複数のメモリセルに共通に接続される。セレクトゲート線SGD−iは、X方向に延び、X方向の複数のセレクトゲートトランジスタS1に共通に接続される。セレクトゲート線SGS−iも、X方向に延び、X方向の複数のセレクトゲートトランジスタS2に共通に接続される。
本例では、書き込み/読み出し動作時において、ブロックBLOCKiの一端側から数えて偶数番目 (even) に位置する複数のビット線BLe0,BLe1,・・・BLe4255と、その一端側から数えて奇数番目 (odd) に位置する複数のビット線BLo0,BLo1,・・・BLo4255とは、互いに独立に駆動される。但し、ビット線は、0から数えるものとする。
つまり、1本のワード線、例えば、ワード線WL3−iに接続される8512個のメモリセルのうち、偶数番目に位置する複数のビット線BLe0,BLe1,・・・BLe4255に接続される4256個のメモリセル(三角で示す)に対して、同時に、書き込み/読み出し動作が実行される。また、ワード線WL3−iに接続される8512個のメモリセルのうち、奇数番目に位置する複数のビット線BLo0,BLo1,・・・BLo4255に接続される4256個のメモリセル(丸で示す)に対して、同時に、書き込み/読み出し動作が実行される。
1メモリセルが1ビットデータを記憶する場合、1本のワード線、例えば、ワード線WL3−iと偶数番目の複数のビット線BLe0,BLe1,・・・BLe4255との交点に位置する4256個のメモリセル(三角で示す)は、ページと呼ばれる単位を構成する。同様に、ワード線WL3−iと奇数番目の複数のビット線BLo0,BLo1,・・・BLo4255との交点に位置する4256個のメモリセル(丸で示す)も、ページと呼ばれる単位を構成する。
また、本例のように、1メモリセルが2ビットデータを記憶する場合、4256個のメモリセル(三角で示す)は、2ページ分のデータを記憶し、4256個のメモリセル(丸で示す)も、2ページ分のデータを記憶する。
(5) デバイス構造例
[1] ウェル構造例
図17は、NANDセル型フラッシュメモリのウェル構造の例を示している。
p型シリコン基板(p−sub)11−1内には、n型ウェル領域(C−n−well)11−2及びp型ウェル領域(C−p−well)11−3から構成されるいわゆるダブルウェル領域、n型ウェル領域(n−well)11−4、並びに、p型ウェル領域(p−well)11−5が形成される。
ダブルウェル領域は、メモリセルアレイ部に形成され、n型ウェル領域11−4及びp型ウェル領域11−5は、周辺回路部に形成される。
メモリセルは、nチャネルMOSトランジスタから構成され、p型ウェル領域11−3内に配置される。n型ウェル領域11−2及びp型ウェル領域11−3は、同電位に設定される。
電源電圧よりも高い電圧が印加される高電圧nチャネルMOSトランジスタは、P型シリコン基板(p−sub)11−1内に形成される。電源電圧が印加される低電圧pチャネルMOSトランジスタは、n型ウェル領域(n−well)11−4内に形成され、電源電圧が印加される低電圧nチャネルMOSトランジスタは、p型ウェル領域(p−well)11−5内に形成される。
[2] セルアレイ構造例
図18は、NANDセル型フラッシュメモリのメモリセルアレイ部のY方向の断面構造の例を示している。
p型シリコン基板11−1内には、n型ウェル領域11−2及びp型ウェル領域11−3から構成されるダブルウェル領域が形成される。
直列接続された4つのメモリセルM1,M2,M3,M4は、p型ウェル領域11−3内に配置される。4つのメモリセルM1,M2,M3,M4は、それぞれ、NチャネルMOSトランジスタから構成され、かつ、フローティングゲート電極FGとコントロールゲート電極WL0−i,WL1−i,WL2−i,WL3−iからなるスタックゲート構造を有する。
直列接続されたメモリセルM1,M2,M3,M4からなるNAND列の一端には、セレクトゲートトランジスタS1が接続され、その他端には、セレクトゲートトランジスタS2が接続される。セレクトゲートトランジスタS1,S2は、NチャネルMOSトランジスタから構成され、メモリセルM1,M2,M3,M4に近似する構造、即ち、二重構造のセレクトゲート線SGS−i,SGD−iを有する。
NANDセルユニットの一端、即ち、セレクトゲートトランジスタS1の拡散層(ドレイン拡散層)14は、コンタクトプラグCB1を経由して、第1メタル配線層M0に接続される。また、第1メタル配線層M0は、ビアプラグV1を経由して、ビット線BLとしての第2メタル配線層M1に接続される。ビット線BLは、データ回路に接続される。
NANDセルユニットの他端、即ち、セレクトゲートトランジスタS2の拡散層(ソース拡散層)15は、コンタクトプラグCB2を経由して、コモンソース線C−sourceとしての第1メタル配線層M0に接続される。コモンソース線C−sourceは、ソース電位制御回路に接続される。
n型ウェル領域(C−n−well)11−2は、n型拡散層16を経由して、C−p−well電位設定線18に接続され、p型ウェル領域(C−p−well)11−3は、p型拡散層17を経由して、C−p−well電位設定線18に接続される。つまり、n型ウェル領域11−2とp型ウェル領域11−3は、同電位に設定される。C−p−well電位設定線18は、ウェル電位制御回路に接続される。
なお、フローティングゲート電極FG、コントロールゲート電極WL0−i,WL1−i,WL2−i,WL3−i及びセレクトゲート線SGS−i,SGD−iは、例えば、不純物を含む導電性ポリシリコンから構成される。また、第1及び第2メタル配線層M0,M1は、例えば、アルミニウム、銅、これらの合金などから構成される。
図19は、メモリセルのX方向の断面構造の例を示し、図20は、セレクトゲートトランジスタのX方向の断面構造の例を示している。
X方向の複数のメモリセル(FG+WL)は、STI (Shallow Trench Isolation) 構造の素子分離層19によって、互いに電気的に分離されている。P型ウェル領域11−3上には、非常に薄いトンネル酸化膜20を経由して、フローティングゲート電極FGが配置される。フローティングゲート電極FG上には、ONO (oxide/nitride/oxide) 膜21を経由して、コントロールゲート電極WLが配置される。
セレクトゲート線SGS/SGDは、二重構造になっている。下側のセレクトゲート線SGS/SGDと上側のセレクトゲート線SGS/SGDとは、メモリセルアレイの端部において互いに電気的に接続されると共に、メモリセルアレイ内においても、一定間隔、例えば、512本のビット線ごとに、互いに電気的に接続される。
(6) 一括検知回路の構成例
図21は、一括検知回路の構成例を示している。
一括検知回路10は、ベリファイリードの後、選択された全てのメモリセルに対して、きちんと書き込み又は消去が行われたか否かを調べる機能を有する(completion detection)。
本例では、メモリセルアレイの構成例でも説明したように、書き込み/読み出し動作時に、偶数番目の複数のビット線と奇数番目の複数のビット線とが互いに独立に駆動されることを前提とする。このため、偶数番目の1本のビット線と奇数番目の1本のビット線とからなる合計2本のビット線に対して、1個のサブデータ回路が設けられる。
具体的には、8512本のビット線BLek,BLok(k=0,1,・・・4225)が存在するため、データ回路2は、4256個のサブデータ回路から構成される。なお、データ回路2内の各サブデータ回路の構成例については、後述する。
本例では、4256個のサブデータ回路のうち、8個のサブデータ回路REGR1−0,REGR1−1,REGR1−2,REGR1−3,REGR2−0,REGR2−1,REGR2−2,REGR2−3のみを示している。
サブデータ回路REGR1−yは、2本のビット線BLej+y,BLoj+yに接続されると共に、I/O線対IOj+y,nIOj+yに接続される。また、サブデータ回路REGR2−yは、2本のビット線BLej+y+4,BLoj+y+4に接続されると共に、I/O線対IOj+y+4,nIOj+y+4に接続される。但し、y=0,1,2、3である。
第1乃至第4サブデータ回路REGR1−0,REGR1−1,REGR1−2,REGR1−3の出力ノードRCD1は、共通接続され、その接続ノードRCD1は、PチャネルMOSトランジスタTP2のゲートに接続される。同様に、第5乃至第8サブデータ回路REGR2−0,REGR2−1,REGR2−2,REGR2−3の出力ノードRCD2も、共通接続され、その接続ノードRCD2は、PチャネルMOSトランジスタTP3のゲートに接続される。
PチャネルMOSトランジスタTP13,TP14は、completion detection 時に、制御信号COMHnに基づいて、ノードRCD1,RCD2をプリチャージする機能を有する。即ち、制御信号COMHnを“L”にして、ノードRCD1,RCD2を電源電位Vddに設定した後、制御信号COMHnを“L”にして、ノードRCD1,RCD2をフローティング状態にする。この時、PチャネルMOSトランジスタTP2,TP3は、オフ状態となる。
NチャネルMOSトランジスタTN15は、completion detection 時に、ノードNCOMを、接地電位Vssに設定した後、フローティング状態にする機能を有する。MOSトランジスタTN15は、制御信号NCOMLにより制御される。
completion detection 時、書き込み/消去が十分に行われていないメモリセルに対応するサブデータ回路は、共通ノードRCD1又は共通ノードRCD2の電位レベルを“H”から“L”に低下させる。
従って、書き込み/消去が十分に行われていないメモリセルが少なくとも1つ存在する場合には、PチャネルMOSトランジスタTP2又はPチャネルMOSトランジスタTP3がオン状態となり、ノードNCOMが“L”から“H”になり、FLAGが“L”になる。
一方、全てのメモリセルに対して、書き込み/消去が十分に行われている場合には、全てのサブデータ回路は、共通ノードRCD1,RCD2の電位レベルを“H”に維持する。従って、ノードNCOMは、“L”のままであり、FLAGは、“H”となる。
このように、FLAGの電位レベルを検出することにより、選択された全てのメモリセルに対して、きちんと書き込み/消去が行われたか否かを調べることができる。
本例では、8個のサブデータ回路を1つにまとめ、これら8個のサブデータ回路ごとに、completion detection 、即ち、FRAGの電圧レベルの検出を行っている。
このように、8個のサブデータ回路を一まとめにしたのは、これら8個のサブデータ回路に対応する8カラム単位で、リダンダンシイ回路によるメモリセルの置き換えを行っているためである。つまり、ヒューズ素子を切断すると、これら8個のサブデータ回路に接続されるメモリセルは、常に非選択状態になり、これに代わって、リダンダンシイ領域の予備のメモリセルが選択される。
従って、リダンダンシイ回路によるメモリセルの置き換えをn(nは、自然数)個のサブデータ回路に対応するnカラム単位で行う場合には、n個のサブデータ回路を一まとめにする。
なお、FRAGは、全てのカラムに対応する共通ノードとなっている。例えば、データ回路2が4256個のサブデータ回路から構成される場合、8個のサブデータ回路をリダンダンシイ置き換えの1単位とすると、チップ内には、図21に示す回路が、532個存在することになる。そして、これら532個の回路は、共通ノードFRAGに接続される。
(7) データ回路の構成例
図22は、データ回路内のサブデータ回路の構成例を示している。
本例では、データ回路は、複数個(例えば、4256個)のサブデータ回路から構成され、各サブデータ回路は、図22のような構成を有している。
サブデータ回路REGRは、3個のデータ記憶部PB,LATCH,C1を有している。これらデータ記憶部PB,LATCH,C1を使用して、選択された1メモリセルに対して、2ビットデータの書き込み動作及び読み出し動作を実行する。
また、サブデータ回路は、偶数番目の1本のビット線と奇数番目の1本のビット線とからなる合計2本のビット線に対して1個設けられる。偶数番目のビット線BLekは、NチャネルMOSトランジスタN1を経由して、サブデータ回路REGRに接続され、奇数番目のビット線BLokは、NチャネルMOSトランジスタN2を経由して、サブデータ回路REGRに接続される。
制御信号EVENBLが“H”、制御信号ODDBLが“L”のとき、NチャネルMOSトランジスタN1がオン状態となるため、偶数番目のビット線BLekは、サブデータ回路REGRに電気的に接続される。また、制御信号EVENBLが“L”、制御信号ODDBLが“H”のとき、NチャネルMOSトランジスタN2がオン状態となるため、奇数番目のビット線BLokは、サブデータ回路REGRに電気的に接続される。
なお、制御信号EVENBLは、偶数番目のビット線BLekに接続されるMOSトランジスタN1のゲートに共通に入力され、制御信号ODDBLは、奇数番目のビット線BLokに接続されるMOSトランジスタN2のゲートに共通に入力される。
図23は、図22のサブデータ回路の回路例を示している。
本例では、図22に対応させて、1カラム分(2本のビット線BLek,BLokに対応)のサブデータ回路を示す。
サブデータ回路REGRは、3つのデータ記憶部PB,LATCH,C1を有する。
データ記憶部C1は、ディプレッションタイプNチャネルMOSキャパシタから構成される。データ記憶部LATCHは、2つのインバータからなるCMOSフリップフロップ回路から構成され、データ記憶部PBも、2つのインバータからなるCMOSフリップフロップ回路から構成される。データ記憶部PBは、ページバッファに相当している。
MOSキャパシタC1の一端は、NチャネルMOSトランジスタN5,N1,N2を経由して、ビット線BLek,BLokに接続され、その他端は、接地点Vssに接続される。MOSトランジスタN5は、ビット線BLek,BLokとサブデータ回路REGRとの電気的接続/切断を行うクランプトランジスタである。
制御信号BLCLAMPが“H”のとき、MOSトランジスタN5は、オン状態となり、例えば、偶数番目のビット線BLekがMOSキャパシタC1の一端に電気的に接続される。この時、制御信号EVENBLは、“H”、制御信号ODDBLは、“L”に設定されている。また、この時、制御信号EVENBLCUは、“L”、制御信号ODDBLCUは、“H”に設定され、バイアス電位(例えば、接地電位)BLCRLが、奇数番目のビット線BLokに供給される。
また、奇数番目のビット線BLokがMOSキャパシタC1の一端に電気的に接続される場合、制御信号EVENBLは、“L”、制御信号ODDBLは、“H”に設定される。また、この時、制御信号EVENBLCUは、“H”、制御信号ODDBLCUは、“L”に設定され、バイアス電位(例えば、接地電位)BLCRLが、偶数番目のビット線BLekに供給される。
制御信号BLCLAMPが“L”のときは、MOSトランジスタN5は、オフ状態となるため、ビット線BLek,BLokとサブデータ回路REGRとは、電気的に切断される。
NチャネルMOSトランジスタN6は、MOSキャパシタC1の一端に接続される。MOSトランジスタN6は、MOSキャパシタC1の一端を、プリチャージ電位VPREに充電するための素子である。制御信号BLPREが“H”のとき、MOSキャパシタC1の一端は、プリチャージ電位VPREに充電される。
NチャネルMOSトランジスタN8は、NチャネルMOSトランジスタN7を経由して、MOSキャパシタC1の一端に接続される。制御信号REGが“H”、即ち、MOSトランジスタN7がオン状態のとき、MOSトランジスタN8は、そのゲートレベル(データ値)に基づいて、MOSキャパシタC1の一端の電位を、強制的に、VREGにする。
例えば、MOSトランジスタN8のゲートレベルが“H”、即ち、データ値が“1”のときは、制御信号REGが“H”になると、MOSキャパシタC1の一端が強制的にVREGに設定される。また、MOSトランジスタN8のゲートレベルが“L”、即ち、データ値が“0”のときは、MOSキャパシタC1の一端の電位は、VREGに影響されることはない。
データ記憶部LATCH,PBは、上述のように、共に、CMOSフリップフロップ回路から構成される。
データ記憶部C1とデータ記憶部LATCHとの間には、スイッチ素子としてのNチャネルMOSトランジスタN10が接続される。MOSトランジスタN10は、制御信号BLC1により制御され、データ記憶部C1とデータ記憶部LATCHとの間におけるデータの転送を実行するために使用される。
MOSトランジスタN8のゲートとデータ記憶部LATCHとの間には、スイッチ素子としてのNチャネルMOSトランジスタN9が接続される。MOSトランジスタN9は、制御信号DTGにより制御され、データ記憶部LATCHに記憶されたデータを、MOSトランジスタN8のゲートに転送するために使用される。
データ記憶部C1とデータ記憶部PBとの間には、スイッチ素子としてのNチャネルMOSトランジスタN11が接続される。MOSトランジスタN11は、制御信号BLC2により制御され、データ記憶部C1とデータ記憶部PBとの間におけるデータの転送を実行するために使用される。
NチャネルMOSトランジスタN15は、データ記憶部PBのデータをリセットするための素子である。例えば、書き込み動作時、MOSトランジスタN15は、ライトデータがデータ記憶部PBに入力する前に、データ記憶部PBの状態を“1”−データ保持の状態、即ち、ノードNODEを“H”の状態に設定する。
データ記憶部PBは、カラム選択スイッチとしてのNチャネルMOSトランジスタN13,N14を経由して、I/O線(データ線)IO,nIOに接続される。
カラムアドレス信号により選択されたカラムでは、カラム選択信号CSLk(K=0、1,・・・4255)が“H”になるため、その選択されたカラム内のデータ記憶部PBとI/O線IO,nIOとが電気的に接続される。
NチャネルMOSトランジスタN12は、データ記憶部LATCHに記憶されたデータに基づいて、共通ノードPCDのレベルを決定するための素子である。
例えば、“0”−書き込み時、“0”−データは、データ記憶部LATCHに記憶される。つまり、NチャネルMOSトランジスタN12は、オン状態となり、共通ノードPCDのレベルを“L”にする。ベリファイリード時、メモリセルにきちんと“0”−データがライトされていれば、リードデータは、“1”になるため、データ記憶部PBに、“1”−データが記憶される。つまり、NチャネルMOSトランジスタN12は、オフ状態となり、共通ノードPCDのレベルを“H”にする。
上述の説明においては、データに関しては、“0”と“1”が存在し、ノードのレベルに関しては、“L”と“H”が存在するが、両者の関係は、“0”が“L”に相当し、“1”が“H”に相当する。
また、本例では、1カラム内に2本のビット線BLek,BLokが配置され、この2本のビット線BLek,BLokに1個のサブデータ回路が接続される。このように、1個のサブデータ回路に2本のビット線BLek,BLokを接続する理由は、1.読み出し時において、互いに隣接するビット線間に容量結合によるノイズが生じることを防止する(シールドビット線読み出し手法の採用)、2.データ回路の数を減らし、チップ面積の縮小を図る、などの目的を達成することにある。
(8) ワード線制御回路の構成例
図24は、ワード線制御回路の構成例を示している。
メモリセルアレイ1は、Y方向に配置された複数個のメモリセルブロックから構成される。各々のメモリセルブロックは、X方向に配置された複数のNANDセルユニットを有する。メモリセルアレイ及びNANDセルユニットの回路例については、図16に示す通りである。
但し、本例では、1ブロック内のワード線WL1,…WL16の数は、16本を前提としており、上述の例(図16)とは異なっている。しかし、この点は、特に、重要な点ではないので、そのまま説明する。
本例では、1個のメモリセルブロックに対応して、1個のロウアドレスデコーダと1個のワード線ドライバが設けられる。
例えば、第1のメモリセルブロック内のワード線WL1,…WL16及びセレクトゲート線SG1,SG2は、第1のワード線ドライバRMAIN1に接続され、第1のワード線ドライバRMAIN1は、第1のメモリセルブロックの選択/非選択を決める第1のロウアドレスデコーダRADD1の出力信号(デコード結果)を受ける。
このように、第i(i=1,2,…)のメモリセルブロック内のワード線WL1,…WL16及びセレクトゲート線SG1,SG2は、第iのワード線ドライバRMAINiに接続され、第iのワード線ドライバRMAINiは、第iのメモリセルブロックの選択/非選択を決める第iのロウアドレスデコーダRADDiの出力信号(デコード結果)を受ける。
ここで、本例では、ワード線ドライバを、メモリセルアレイ1の両側(X方向の2つの端部)に配置している。
具体的には、奇数番目のメモリセルアレイブロックに対応するワード線ドライバRMAIN1,RMAIN3,…は、メモリセルアレイ1のX方向の2つの端部のうちの一方(左側)に配置され、偶数番目のメモリセルアレイブロックに対応するワード線ドライバRMAIN2,RMAIN4,…は、メモリセルアレイ1のX方向の2つの端部のうちの他方(右側)に配置される。
このように、ワード線ドライバRMAINiを、メモリセルアレイ1の両端に配置することにより、ワード線ドライバRMAINiの設計を容易にする(又はレイアウトの自由度を大きくする)ことができる。つまり、本例の場合、1個のワード線ドライバは、Y方向に関して、メモリセルブロック2個分のレイアウトスペースを確保できる。
また、1つのメモリセルブロック内のワード線WL1,…WL16及びセレクトゲート線SG1,SG2は、このメモリセルブロックに対応するワード線ドライバにより、常に、メモリセルアレイ1の一方側(又は他方側)から駆動されるため、選択されたブロック内の所定の1個のNANDセルユニット内のメモリセル及びセレクトトランジスタに関して、駆動信号が供給されるのタイミングのずれは生じない。
一方、ロウアドレスデコーダRADDi(i=1,2,…)は、メモリセルアレイ1のX方向の2つの端部のうちの一方(片側)のみに配置される。この場合、ロウアドレス信号をロウアドレスデコーダRADDiに供給するための信号線(アドレスバス)をメモリセルアレイ1の片側のみに配置すればよいため、アドレスバスの面積を減らすことができ、結果として、チップ面積の縮小に貢献できる。
つまり、仮に、ワード線ドライバRMAINiと同様に、ロウアドレスデコーダRADDiを、メモリセルアレイ1のX方向の2つの端部のそれぞれに配置すると、アドレスバスについても、メモリセルアレイ1のX方向の2つの端部のそれぞれに配置しなければならず、チップ面積の縮小に関しては、不利となる。
ロウアドレスデコーダRADDiを、メモリセルアレイ1のX方向の2つの端部のうちの一方(片側)のみに配置した結果、本例では、信号線22がメモリセルアレイ1上に配置される。信号線22は、偶数番目のメモリセルアレイブロックに対応するロウアドレスデコーダRADD2,RADD4,…の出力信号(デコード結果)RDECADSを、ワード線ドライバRMAIN2,RMAIN4,…に供給するために使用される。
この信号線22には、通常動作時において、信号RDECADSが伝わる。従って、通常動作時、この信号線22の電位がメモリセルの動作に悪影響を与えないようにする必要がある。なお、信号線22の電位がメモリセルの動作に悪影響を与えないようなロウアドレスデコーダRADDi及びワード線ドライバRMAINiについては、後述する。
電位発生回路9Aは、昇圧回路(チャージポンプ回路)を有し、例えば、書き込み動作時に使用する書き込み電位Vpgmや転送電位Vpassを生成する。
昇圧回路により発生する昇圧電位に関しては、本発明の例に関わるフラッシュメモリの特徴である第1のモードと第2のモードとの切り替えを行うために、例えば、図13に示すような構成により可変とする。
電位発生回路9Aは、切替回路9Bに接続される。切替回路9Bは、書き込み電位Vpgm、転送電位Vpass、チップ内電源電位Vdd、接地電位Vssなどの電位を、ワード線WL1,…WL16に対応する信号線CG1,…CG16に振り分ける。
信号線CG1,…CG16は、ワード線ドライバRMAINiに接続される。即ち、信号線CG1,…CG16は、ワード線ドライバRMAINi内の電位転送用トランジスタHNt1,HNt2,…HNt16(後述する)を経由して、ワード線WL1,…WL16に接続される。
(9) ロウアドレスデコーダ及びワード線ドライバの回路例
本発明の例に関わるフラッシュメモリは、これらロウアドレスデコーダ及びワード線ドライバから出力されるリード電位又はベリファイリード電位の値を制御することにより、第1のモードと第2のモードとを切り替え、1チップ内のメモリセルに関して異なる閾値分布を実現するというものである。
そこで、以下では、ロウアドレスデコーダ及びワード線ドライバの一般的な構成例について説明する。
図25は、奇数番目のメモリセルブロックに対応して設けられるロウアドレスデコーダの主要部を示している。
このロウアドレスデコーダRADD1は、正確には、ブロックデコーダとして機能する。即ち、例えば、第1のメモリセルブロックが選択されるとき、ロウアドレス信号AROWi,…AROWjの全てが“H”となり、出力信号RDECADが“H”となる。
図26は、奇数番目のメモリセルブロックに対応して設けられるワード線ドライバの主要部を示している。
ワード線ドライバRMAIN1の主な構成要素は、高電圧スイッチング回路26と転送用MOSトランジスタHN5,HN6,HNt1,…HNt16である。
高電圧スイッチング回路26は、MOSキャパシタDHN4及びMOSトランジスタIHN1からなる第1の昇圧ユニットと、MOSキャパシタDHN5及びMOSトランジスタIHN2からなる第2の昇圧ユニットを備える。
MOSトランジスタHN3のゲートは、MOSトランジスタIHN1,IHN2の接続ノードBに接続される。この場合、MOSトランジスタHN3のゲートとソースの電位レベルが逆相を維持しつつ、クロック信号Owcに同期して、次第に各ノードA,B,TransferG1の電位が上昇するため、昇圧効率が向上する。
高電圧スイッチング回路26は、ロウアドレスデコーダRADD1の出力信号RDECADが“H”のとき、動作状態となる。即ち、出力信号RDECADが“H”のとき、NAND回路NAND1の出力信号は、クロック信号Owcと逆相のクロック信号となる。NAND回路NAND1の出力信号は、MOSキャパシタDHN4,DHN5の一端に印加される。
その結果、転送用MOSトランジスタHN5,HN6,HNt1,…HNt16のゲートに昇圧電位が印加され、転送用MOSトランジスタHN5,HN6,HNt1,…HNt16は、オン状態となる。
ロウアドレスデコーダRADD1の出力信号RDECADが“H”のとき、MOSトランジスタHN7,HN8は、オフ状態となる。この時、信号線SGD,SGSは、例えば、チップ内電源電位Vddとなり、このVddは、転送用MOSトランジスタHN5,HN6を経由して、セレクトゲート線SG1,SG2に供給される。
また、信号線CG1,CG2,…CG16は、切替回路9B(図1参照)により、それぞれ動作モードに応じて所定の電位に設定される。そして、信号線CG1,CG2,…CG16の電位は、転送用MOSトランジスタHNt1,…HNt16を経由して、ワード線WL1,WL2,…WL16に供給される。
図27は、偶数番目のメモリセルブロックに対応して設けられるロウアドレスデコーダの主要部を示している。
ロウアドレスデコーダRADD2は、図25のロウアドレスデコーダRADD1と同じ回路を含んでいる。即ち、破線X1で囲んだ部分の回路は、図25のロウアドレスデコーダRADD1と同じである。なお、図27において、図25と同じ部分には、同じ符号が付してある。
このロウアドレスデコーダRADD2は、インバータI4、クロックドインバータCINV3,CINV4及びデプレッション型高電圧NチャネルMOSトランジスタDHN6,DHN7を有している。
クロックドインバータCINV4は、消去時に、選択されたメモリセルブロックに対応するロウアドレスデコーダの出力信号RDECADS(図24の信号線22の電位)を接地電位Vssにし、非選択のメモリセルブロックに対応するロウアドレスデコーダの出力信号RDECADSをチップ内電源電位Vddにする機能を有する。
MOSトランジスタDHN6は、後述する図28のトランジスタDHN9と共に、信号線22(図24参照)をフローティング状態にする機能を有する。
消去時、選択されたメモリセルブロックでは、信号RDECADS1は、“H(Vdd)”となり、非選択のメモリセルブロックでは、信号RDECADS1は、“L(Vss)”となる。
仮に、この信号RDECADS1を、メモリセルアレイ上の信号線22(図24参照)に与えると、非選択のメモリセルブロックでは、メモリセルアレイ上の信号線22(図24参照)が“L(Vss)”となる。
この場合、セルウェルとワード線の容量カップリングにより、セルウェルに消去電位Veraを与えたときに、非選択のメモリセルブロック内のワード線の電位を上昇させようとすると、接地電位Vssである信号線22(図24)の影響により、ワード線の電位が十分に上昇しなくなる。
本例では、クロックドインバータCINV4を設けているため、消去時、選択されたメモリセルブロックでは、出力信号RDECADSは、“L(Vss)”となり、非選択のメモリセルブロックでは、信号RDECADSは、“H(Vdd)”となる。
即ち、非選択のメモリセルブロックでは、メモリセルアレイ上の信号線22(図24参照)は、“H(Vdd)”となり、かつ、MOSトランジスタDHN6とMOSトランジスタDHN9(図28)のカットオフによりフローティング状態となる。
従って、セルウェルとワード線の容量カップリングにより、非選択のメモリセルブロック内のワード線の電位を上昇させる場合、チップ内電源電位Vddである信号線22(図24)の影響は少なくなり、ワード線の電位が十分に上昇する。
図28は、偶数番目のメモリセルブロックに対応して設けられるワード線ドライバの主要部を示している。
ワード線ドライバRMAIN2の主な構成要素のうち、高電圧スイッチ回路26と転送用MOSトランジスタHN5,HN6,HNt1,…HNt16に関しては、図26に示すワード線ドライバRMAIN1と同じである。即ち、破線X2で囲んだ部分の回路は、図26のロウアドレスデコーダRADD1とほぼ同じである。なお、図28において、図26と同じ部分には、同じ符号が付してある。
ワード線ドライバRMAIN2は、クロックドインバータCINV5,CINV6,CINV7、デプレッション型高電圧NチャネルMOSトランジスタDHN8,DHN9及びエンハンスメント型PチャネルMOSトランジスタTP6,TP7を有している。
クロックドインバータCINV7は、消去時に、選択されたメモリセルブロックに対応するロウアドレスデコーダの出力信号RDECADS(図24の信号線22の電位)を接地電位Vssからチップ内電源電位Vddに戻し、非選択のメモリセルブロックに対応するロウアドレスデコーダの出力信号RDECADSをチップ内電源電位Vddから接地電位Vssに戻した後に、破線X2内の回路に、信号RDECADS2として与える機能を有する。
MOSトランジスタDHN9は、図27のトランジスタDHN6と共に、信号線22(図24参照)をフローティング状態にする機能を有する。
このように、図27のロウアドレスデコーダRADD2内のインバータI4、クロックドインバータCINV3,CINV4及びデプレッション型高電圧NチャネルMOSトランジスタDHN6,DHN7と、図28のワード線ドライバRMAIN2内のクロックドインバータCINV5,CINV6,CINV7、デプレッション型高電圧NチャネルMOSトランジスタDHN8,DHN9及びエンハンスメント型PチャネルMOSトランジスタTP6,TP7は、同一の目的を達成するために、ペアで使用される。
なお、図25乃至図28では、これらの回路に電源電位としてVdd(外部電源電位Vccよりも低いチップ内電源電位)を供給したが、これに代えて、例えば、外部電源電位Vccを供給してもよい。
(10) 信号線22の電位レベルに関して
次に、各動作モードにおいて、信号線22(図24参照)の電位レベルがどのようになるかについて説明する。なお、ここでは、信号線22の電位レベルについてのみ説明する。
本例では、信号線22(図24)は、偶数番目のメモリセルブロックに対応するロウアドレスデコーダ(図27)とワード線ドライバ(図28)を接続する。従って、図27及び図28を参照しつつ、信号線22(図24)を伝わるワード線ドライバ選択信号RDECADSの電位レベルについて説明する。
ロウアドレスデコーダRADD2の出力信号RDECADSの電位レベルは、動作モードによって異なる。
消去動作以外の動作(書き込み、読み出し、ベリファイリード)では、ROWERASE1B、ROWPROG1、ROWERASE2B、ROWERASE3n,ROWGATEを、それぞれ電源電位Vdd(外部電源電位Vccよりも低いチップ内電源電位。但し、外部電源電位Vccでもよい。)に設定し、ROWERASE1、ROWPROG1B、ROWERASE2を、それぞれ接地電位Vssに設定する。
この時、クロックドインバータCINV3,CINV5,CINV6が動作状態になり、クロックドインバータCINV4,CINV7が非動作状態になる。また、MOSトランジスタTP6は、オフ状態になる。
選択されたメモリセルブロックでは、破線X1で囲んだ部分の出力信号RDECADS1は、“H”、即ち、チップ内電源電位Vddになり、ロウアドレスデコーダRADD2の出力信号RDECADSも、“H”、即ち、チップ内電源電位Vddになる。
一方、非選択のメモリセルブロックでは、破線X1で囲んだ部分の出力信号RDECADS1は、“L”、即ち、接地電位Vssになり、ロウアドレスデコーダRADD2の出力信号RDECADSも、“L”、即ち、接地電位Vssになる。
従って、消去動作以外の動作では、非選択のメモリセルブロック内のメモリセルアレイ上に配置される信号線22(図24参照)は、接地電位Vss、非選択のメモリセルブロック内のセレクトゲート線SG1,SG2も、接地電位Vssとなり、これらの信号線22,SG1,SG2は、ビット線とワード線の間のシールド線として機能する。結果として、ビット線を伝わるデータに生じるカップリングノイズを低減できる。
消去動作では、ROWERASE1B、ROWPROG1、ROWERASE2B、ROWERASE3n,ROWGATEを、それぞれ接地電位Vssに設定し、ROWERASE1、ROWPROG1B、ROWERASE2を、それぞれチップ内電源電位Vdd(電源電位Vccでもよい。)に設定する。
この時、クロックドインバータCINV4,CINV7が動作状態になり、クロックドインバータCINV3,CINV5,CINV6が非動作状態になる。また、MOSトランジスタTP6は、オン状態になる。
選択されたメモリセルブロックでは、破線X1で囲んだ部分の出力信号RDECADS1は、“H”、即ち、チップ内電源電位Vddになり、ロウアドレスデコーダRADD2の出力信号RDECADSは、“L”、即ち、接地電位Vssになる。
一方、非選択のメモリセルブロックでは、破線X1で囲んだ部分の出力信号RDECADS1は、“L”、即ち、接地電位Vssになり、ロウアドレスデコーダRADD2の出力信号RDECADSは、“H”、即ち、チップ内電源電位Vddになる。
また、ROWGATEが接地電位Vssであるため、非選択のメモリセルブロック内の信号線22(図24参照)は、その電位(RDECADSの電位)が1〜1.5V程度になると、MOSトランジスタDHN6,DHN9がカットオフすることにより、フローティング状態になる。
このように、消去動作では、非選択のメモリセルブロック内のメモリセルアレイ上に配置される信号線22(図24参照)は、1〜1.5Vで、かつ、フローティング状態となる。つまり、セルウェルに消去電位Veraを与えたときに、信号線22(図24)の電位も、ワード線と同様に、容量カップリングにより上昇するため、信号線22(図24)がワード線の電位の上昇を抑えることがない。
従って、セルウェルに消去電位Veraを与えたときに、セルウェルとワード線の間の容量カップリングにより、非選択のメモリセルブロック内のワード線の電位が上昇し易くなるという効果を得ることができる。
また、これに伴い、非選択のメモリセルブロック内のメモリセルのトンネル酸化膜に大きな電界がかかることがないため、非選択のメモリセルブロックにおける誤消去を防止できる。
ところで、図27の破線X1内のヒューズ素子(図25のヒューズ素子も同じ)は、そのヒューズ素子(ロウアドレスデコーダ)に対応するメモリセルブロックをユーザ用の通常のメモリ領域とする場合には、切断されない。
しかし、そのヒューズ素子(ロウアドレスデコーダ)に対応するメモリセルブロックを、例えば、デバイス・コードを記憶するROM・BLOCK領域とする場合には、そのヒューズ素子を切断し、ユーザが、ROM・BLOCK領域に対して、自由に、書き込み/消去を行えないようにしている。
このROM・BLOCK領域は、以下の意義がある。
近年、NAND型フラッシュメモリは、様々な電子機器のメモリに使用されている。しかし、電話通信により音楽情報を記憶するためのメモリなど、NAND型フラッシュメモリは、著作権に関わるデータのメモリとして使用される場合がある。
そこで、NAND型フラッシュメモリには、不正コピーを防止するために、チップの番号、即ち、デバイス・コードが記憶される。
このデバイス・コードは、個々のNAND型フラッシュメモリに固有のものであるが、仮に、ユーザがこのデバイス・コードを自由に書き換えられるようでは、デバイス・コードの本来の目的を達成することができない。
このため、デバイス・コードは、製品の出荷前に、NAND型フラッシュメモリのROM・BLOCK領域に書き込まれ、ROM・BLOCK領域に対しては、ユーザが書き込み/消去を行えないようにしている。つまり、ROM・BLOCK領域となるメモリセルブロックでは、ヒューズ素子が切断される。
これにより、例えば、情報提供側のNAND型フラッシュメモリから情報受け取り側のNAND型フラッシュメモリに音楽情報をコピーしようとする場合、情報提供側のNAND型フラッシュメモリからデバイス・コードを読み出し、これが、情報受け取り側のNAND型フラッシュメモリのデバイス・コードと異なる場合には、コピーができないようにしている。
ヒューズ素子は、ROM・BLOCK領域となるメモリセルブロックにデバイス・コードをプログラムした直後に切断する。
仮に、ヒューズ素子を切断しない状態で、出荷前試験を行うと、この試験で、デバイス・コードが消去されてしまうためである。
即ち、出荷前試験では、試験時間の短縮のために、全ブロックを同時に選択して、書き込み/消去を行う。つまり、全てのロウアドレス信号AROWi,…AROWjが“H”になるため、ヒューズ素子が切断されていないと、CMD ROMBAが“L”であっても、RDECADS1が“H”(図25では、RDECADが“H”)となり、ROM・BLOCK領域となるメモリセルブロックが選択されてしまう。
一方、出荷前試験において、全てのロウアドレス信号AROWi,…AROWjが“H”になっても、ヒューズ素子が切断されていれば、CMD ROMBAが“L”であるため、RDECADS1が“L”(図25では、RDECADが“L”)となり、ROM・BLOCK領域となるメモリセルブロックは、選択されない。
ヒューズ素子を切断しても、ROM・BLOCK領域に記憶されたデバイス・コードを読み出す必要がある。
ROM・BLOCK領域に対するデータ読み出しは、CMD ROMBAを“H”にすることにより達成できる。つまり、CMD ROMBAが“H”、ROM・BLOCK領域内のAROWi,…AROWjが“H”になると、ROM・BLOCK領域となるメモリセルブロックが選択される。
また、ヒューズ素子を切断した後においても、特殊なコマンドを入力することで、CMD ROMBA及びROM・BLOCK領域内のAROWi,…AROWjを“H”にすることにより、ROM・BLOCK領域内のデータを書き換えることも可能である。この場合には、CMD ROMBAを“H”にするコマンドは、一般のユーザには非公開にし、不正に、ROM・BLOCK領域内のデータが書き換えられないようにする。
なお、本例では、ROM・BLOCK領域のヒューズを切断する場合を説明したが、図25のヒューズや図27の破線X1内のヒューズは、メモリセルブロックが不良ブロックである場合にも、切断される。この場合、この不良ブロックは、リダンダンシイ回路により、予備のブロックに置き換えられる。
3. 基本動作の説明
以下では、書き込み、読み出しなどの各動作モードにおける本発明の例に関わるフラッシュメモリ(図1)の主要部、特に、データ回路(図23)の動作について詳細に説明する。
動作の説明を行う前に、まず、メモリセルに対する書き込み/読み出し方法の一例について説明する。
(1) 書き込み/読み出し方法
図29は、4値NAND型フラッシュメモリのメモリセルの閾値電圧(Vth)の分布の例を示している。
本発明の例では、1チップ内のメモリセルに対して、選択的に、異なる閾値分布を実現できることを特徴とする。但し、異なる閾値分布を実現する手段については、既に述べたので、ここでは、単に、メモリセルに対する書き込み/読み出し方法について説明する。
1つのメモリセルには、2ビットデータ(4値データ)が記憶される。本例では、上述したように、2ビットデータを、“11”、“10”、“01”、“00”とする。2ビットデータのうちの1ビットは、論理下位ページデータ(白抜きの四角で示す)として、また、他の1ビットは、論理上位ページデータ(丸で示す)として、同一のメモリセルに記憶される。
2ビットデータ(“11”、“10”、“01”、“00”)とメモリセルの閾値電圧との関係は、図29に示す関係になる。
“11”は、消去状態である。消去状態では、論理下位ページデータの値及び論理上位ページデータの値が、共に、“1”となっている。消去状態のメモリセルは、負の閾値電圧Vthを有する。
“10”、“01”、“00”は、書き込み状態である。書き込み状態のメモリセルは、正の閾値電圧Vthを有する。また、書き込み状態のうち、“10”状態は、最も低い閾値電圧を有し、“00”状態は、最も高い閾値電圧を有し、“01”状態は、“10”状態と“00”状態の間の閾値電圧を有する。
2ビットデータは、上述のように、論理下位ページデータと論理上位ページデータとからなり、2回の書き込み動作により、メモリセルに書き込まれる。
まず、論理下位ページデータの書き込みが行われる。
当初、全てのメモリセルは、消去状態、即ち、“11”状態にあるものとする。この後、図30に示すように、論理下位ページデータの書き込みを行うと、メモリセルの閾値電圧Vthの分布は、ライトデータ(論理下位ページデータ)の値(“1”,“0”)に応じて、2つに分けられる。
即ち、論理下位ページデータが“1”の場合には、ビット線を“H”にすることで(ワード線は書き込み電位)、メモリセルのトンネル酸化膜に高電界がかからないようにし、メモリセルの閾値電圧Vthの上昇を防止する。その結果、メモリセルは、消去状態(“11”状態)を維持する(論理下位ページデータ“1”の書き込み)。
一方、論理下位ページデータが“0”の場合には、ビット線を“L”にすることで(ワード線は書き込み電位)、メモリセルのトンネル酸化膜に高電界を印加し、フローティングゲート電極に電子を注入して、メモリセルの閾値電圧Vthを所定量だけ上昇させる。その結果、メモリセルは、書き込み状態(“10”状態)に変化する(論理下位ページデータ“0”の書き込み)。
この後、論理上位ページデータの書き込みが行われる。
論理上位ページデータの書き込みは、チップの外部から入力されるライトデータ(即ち、論理上位ページデータ)と、既に、メモリセルに書き込まれている論理下位ページデータとに基づいて行われる。
なお、論理下位ページデータについては、論理上位ページデータの書き込み前に、メモリセルからデータ回路に読み出し、かつ、保持しておく(Internal data load)。
図31に示すように、論理上位ページデータが“1”の場合には、ビット線を“H”にすることで(ワード線は書き込み電位)、メモリセルのトンネル酸化膜に高電界がかからないようにし、メモリセルの閾値電圧Vthの上昇を防止する。その結果、論理下位ページデータが“1”である“11”状態(消去状態)のメモリセルは、“11”状態をそのまま維持する(論理上位ページデータ“1”の書き込み)。また、論理下位ページデータが“0”である“10”状態のメモリセルは、“10”状態をそのまま維持する(論理上位ページデータ“1”の書き込み)。
一方、図31に示すように、論理上位ページデータが“0”の場合には、ビット線を“L”にすることで、メモリセルのトンネル酸化膜に高電界を印加し、フローティングゲート電極に電子を注入して、メモリセルの閾値電圧Vthを所定量だけ上昇させる。その結果、論理下位ページデータが“1”である“11”状態(消去状態)のメモリセルは、“01”状態に変化する(論理上位ページデータ“0”の書き込み)。また、論理下位ページデータが“0”である“10”状態のメモリセルは、“00”状態に変化する(論理上位ページデータ“0”の書き込み)。
つまり、本例では、論理下位ページデータが“1”、論理上位ページデータが“1”のとき、データ“11”がメモリセルに書き込まれ、論理下位ページデータが“0”、論理上位ページデータが“1”のとき、データ“10”がメモリセルに書き込まれる。また、論理下位ページデータが“1”、論理上位ページデータが“0”のとき、データ“01”がメモリセルに書き込まれ、論理下位ページデータが“0”、論理上位ページデータが“0”のとき、データ“00”がメモリセルに書き込まれる。
このように、2回の書き込み動作により、メモリセルの閾値電圧Vthの分布は、4つ(“11”,“10”,“01”,“00”)に分けられる。
本例では、論理上位ページデータが“0”のとき、“11”状態のメモリセルは、“01”状態に変化し、“10”状態のメモリセルは、“00”状態に変化する(図31参照)。
なお、図29において、Vcgv10は、“10”−ベリファイリードに用いるリード電位であり、例えば、0.4Vとなる。Vcgv01は、“01”−ベリファイリードに用いるリード電位(例えば、1.4V)であり、Vcgv00は、“00”−ベリファイリードに用いるリード電位(例えば、2.4V)である。Vreadは、非選択のワード線に与える転送電位である。
メモリセルの閾値電圧がVcgr10未満であれば、メモリセルのデータは、“11”であり、メモリセルの閾値電圧が、Vcgr10を超え、Vcgr01を下回る場合には、メモリセルのデータは、“10”であり、メモリセルの閾値電圧が、Vcgr01を超え、Vcgr00を下回る場合には、メモリセルのデータは、“01”であり、メモリセルの閾値電圧がVcgr00を超える場合には、メモリセルのデータは、“00”となる。
論理下位ページデータの通常の読み出しは、例えば、2回の読み出し動作(“READ00”,“READ10”)により実現できる。READ00は、リード電位として、Vcgr00(例えば、2V)を用いた読み出し動作のことであり、READ10は、リード電位として、Vcgr10(例えば、0V)を用いた読み出し動作のことである。また、論理上位ページデータの読み出しは、例えば、1回の読み出し動作(READ“01”)により実現できる。READ01は、リード電位として、Vcgr01(例えば、1V)を用いた読み出し動作のことである。
このように、本例では、合計3回の読み出し動作により、2ビットデータを読み出すことができ、リード時間の短縮又は読み出し動作の高速化を達成できる。
(2) 書き込み、消去及び読み出し動作
以下、書き込み、消去及び読み出し動作の具体例について説明する。
表2及び表3は、消去、書き込み、読み出し、及び、書き込みベリファイにおけるフラッシュメモリ内の各部の電位を示している。
但し、BLeは、偶数番目のビット線、BLoは、奇数番目のビット線、SGDは、ドレイン側(ビット線側)セレクトゲートトランジスタのセレクトゲート線、SGSは、ソース側(ソース線側)セレクトゲートトランジスタのセレクトゲート線、WL1,WL2,WL3,WL4は、ワード線、C−sourceは、ソース線、C−p−wellは、メモリセルが形成されるウェル(セルpウェル)をそれぞれ表している。
また、本例では、書き込み/読み出し時には、ワード線WL2及び偶数番目のビット線BLeが選択されるものとする。
初期状態では、メモリセルは、“11”状態になっている。また、消去動作において、セルpウェルC−p−wellを20V、選択されたブロック内の全てのワード線WL0,WL1,WL2,WL3を0Vにすることで、その選択されたブロック内のメモリセルでは、フローティングゲートから電子が放出され、“11”状態になる。
ここで、消去動作時、非選択ブロック内のワード線、全てのビット線及びコントロールゲート線、並びに、ソース線は、フローティング状態 (floating)にされる。このため、これらの導電線の電位は、セルpウェルC−p−wellとの容量結合により、20V近辺まで上昇している。
書き込みは、選択されたワード線WL2に、書き込み電位Vpgmとして、14V〜20Vを与えることにより行われる。選択されたビット線BLeは、0Vに設定されるため、これら選択されたワード線WL2及び選択されたビット線BLeに接続される選択されたメモリセルでは、フローティングゲート電極内に電子が注入され、閾値が高速に上昇する(第1段階書き込み)。
選択されたメモリセルの閾値が目標値の近くまで上昇したら、その選択されたメモリセルの閾値を目標値近傍に留めるため、閾値の上昇速度を抑えるべく、選択されたビット線BLeを0.4V程度まで上げる(第2段階書き込み)。
非選択メモリセルに対しては、その閾値の上昇を禁止するため、ビット線BLeを電源電位(例えば、約3V)Vddにする(書き込み禁止)。
読み出しは、選択されたワード線WL2に、読み出し電位として、0V、1V、又は、2V(図29参照)を与えることにより行われる。
この時、選択されたメモリセルの閾値が読み出し電位よりも低いと、ビット線BLeとコモンソース線C−sourceが短絡され、ビット線BLeの電位は、低レベル“L”になる。これに対し、選択されたメモリセルの閾値が読み出し電位を越えていると、ビット線BLeとコモンソース線C−sourceは、非導通であるため、ビット線BLeの電位は、高レベル“H”になる。
メモリセルが、“11”状態にあるか、又は、“10”状態、“01”状態若しくは“00”状態にあるかは、読み出し電位を0Vに設定することによって判断できる(10読み出し)。また、メモリセルが、“11”状態若しくは“10”状態にあるか、又は、“01”状態若しくは“00”状態にあるかは、読み出し電位を1Vに設定することによって判断できる(01読み出し)。さらに、メモリセルが、“11”状態、“10”状態若しくは“01”状態にあるか、又は、“00”状態にあるかは、読み出し電位を2Vに設定することによって判断できる(00読み出し)。
“10”状態のメモリセルの閾値分布の下限は、例えば、10読み出しの読み出し電位0Vに対して0.4V以上の読み出しマージンを持たせるため、0.4V以上の値、本例では、0.4Vに設定される。“10”状態の全てのメモリセルの閾値が0.4V以上であるか否かは、10書き込みベリファイにより検証する。そして、閾値が0.4Vに達したメモリセルに対しては、その後、書き込み禁止にして閾値の上昇を禁止する。
同様に、“01”状態のメモリセルの閾値分布の下限は、例えば、01読み出しの読み出し電位1Vに対して0.4V以上の読み出しマージンを持たせるため、1.4V以上の値、本例では、1.4Vに設定される。“01”状態の全てのメモリセルの閾値が1.4V以上であるか否かは、01書き込みベリファイにより検証する。そして、閾値が1.4Vに達したメモリセルに対しては、その後、書き込み禁止にして閾値の上昇を禁止する。
また、“00”状態のメモリセルの閾値分布の下限は、例えば、00読み出しの読み出し電位2Vに対して0.4V以上の読み出しマージンを持たせるため、2.4V以上の値、本例では、2.4Vに設定される。“00”状態の全てのメモリセルの閾値が2.4V以上であるか否かは、00書き込みベリファイにより検証する。そして、閾値が2.4Vに達したメモリセルに対しては、その後、書き込み禁止にして閾値の上昇を禁止する。
書き込みベリファイは、選択されたワード線WL2に、ベリファイ電位として、Vcgv10(=0.4V)、Vcgv01(=1.4V)、Vcgv00(=2.4V)を与えることにより行う。
ここで、閾値分布の幅を狭小にするには、2段階の書き込みベリファイを行うことが有効である。2段階の書き込みベリファイとは、ベリファイ電位を正規の値とそれよりも低い値の2種類用意し、この2種類のベリファイ電位を用いて、書き込みベリファイを実行するベリファイのことである。
例えば、10書き込みベリファイでは、まず、選択されたワード線WL2に、ベリファイ電位Vcgv10として、0.2Vを与え、10第1段階書き込みベリファイを行う。そして、10第1段階書き込みベリファイが完了したメモリセルについては、この後、個別に、ベリファイ電位Vcgv10として、0.4Vを与え、10第2段階書き込みベリファイを行う。
同様に、01書き込みベリファイでは、ベリファイ電位Vcgv01として、1.2V(01第1段階書き込みベリファイ)及び1.4V(01第2段階書き込みベリファイ)を用い、00書き込みベリファイでは、ベリファイ電位Vcgv00として、2.2V(00第1段階書き込みベリファイ)及び2.4V(00第2段階書き込みベリファイ)を用いる。
メモリセルの閾値がベリファイ電位に達していない場合には、ビット線BLeとコモンソース線C−sourceとが短絡するため、ビット線BLeの電位は、低レベル“L”になる。メモリセルの閾値がベリファイ電位を越えると、ビット線BLeとコモンソース線C−sourceとが非導通になるため、ビット線BLeの電位は、高レベル“H”になる。
(3) 書き込みと閾値の制御
本発明の例によれば、1チップ内のメモリセルに対して、選択的に、異なる閾値分布を実現できる。異なる閾値分布は、既に述べたように、書き込み方法を工夫することによって、容易に実現できる。
しかし、異なる閾値分布とは言っても、各々の閾値分布は、できるだけ幅狭で、かつ、シャープである方が、フラッシュメモリの信頼性にとっては好ましい。
そこで、以下では、異なる各々の閾値分布に関して、それぞれを、幅狭で、かつ、シャープに形成するための書き込み及び閾値の制御方法の例について説明する。
図32は、書き込み及び閾値の制御方法の第1例を示している。
白抜きの四角は、書き込み易いメモリセルに対する書き込み時の閾値の変化の様子を示し、塗潰しの四角は、書き込み難いメモリセルに対する書き込み時の閾値の変化の様子を示す。
これら2つのメモリセルは、同一ページ内に属し、かつ、同一のデータを記憶しているものとする。例えば、これら2つのメモリセルは、いずれも消去状態(“11”状態)にあり、負の閾値を有している。
書き込み電位Vpgmは、初期値から一定の割合Dvpgm(モードに応じて、例えば、0.2V、0.05Vなど)でステップアップされる。書き込み電位Vpgmは、パルス信号(書き込みパルス)としてメモリセルに印加され、パルス信号がメモリセルに与えられる度に、その高さ(書き込み電位Vpgm)が上昇していく。
書き込みの対象となるメモリセルに接続されるビット線に0Vを与えると、数個のパルス信号が与えられた後、そのメモリセルの閾値は、書き込み電位Vpgmの上昇率と同じ上昇率で上昇していく。
パルス信号を用いて書き込みを実行した後に書き込みベリファイが行われる。書き込みベリファイでは、閾値が書き込みベリファイ電位に達したメモリセルについては、それに接続されるビット線の電位がVdd(電源電位)に設定される。つまり、メモリセルごとに、書き込みが完了したか否かが検証され、書き込みが完了したメモリセルについては、個別に、書き込み禁止状態に設定される。
このような書き込み及び閾値の制御方法によれば、閾値分布の幅は、1パルス当りの閾値の上昇率と同じ程度に抑えることができる。
図33は、書き込み及び閾値の制御方法の第2例を示している。
白抜きの四角は、書き込み易いメモリセルに対する書き込み時の閾値の変化の様子を示し、塗潰しの四角は、書き込み難いメモリセルに対する書き込み時の閾値の変化の様子を示す。
これら2つのメモリセルは、同一ページ内に属し、かつ、同一のデータを記憶しているものとする。例えば、これら2つのメモリセルは、いずれも消去状態(“11”状態)にあり、負の閾値を有している。
書き込み電位Vpgmは、初期値から一定の割合Dvpgm(モードに応じて、例えば、0.2V、0.05Vなど)でステップアップされる。書き込み電位Vpgmは、パルス信号としてメモリセルに印加され、パルス信号がメモリセルに与えられる度に、その高さ(書き込み電位Vpgm)が上昇していく。
書き込みの対象となるメモリセルに接続されるビット線に0Vを与えると、数個のパルス信号が与えられた後、そのメモリセルの閾値は、書き込み電位Vpgmの上昇率と同じ上昇率で上昇していく。
パルス信号を用いて書き込みを実行した後に、第1段階書き込みベリファイと第2段階書き込みベリファイが行われる。
第1段階書き込みベリファイでは、閾値が書き込みベリファイ電位に達したメモリセルについては、それに接続されるビット線の電位が、例えば、0.4Vに設定される。第1段階書き込みベリファイが終了したメモリセルについては、それ以降、メモリセルごとに、第2段階書き込みベリファイが実行される。第2段階書き込みベリファイでは、閾値が書き込みベリファイ電位に達したメモリセルについては、それに接続されるビット線の電位が、例えば、Vdd(電源電位)に設定される。第2段階書き込みベリファイが終了したメモリセルについては、メモリセルごとに、書き込みが禁止される。
第2段階書き込みベリファイになると、1個のパルス信号が与えられることによる閾値の上昇率は、図33に示す例の場合、0V/パルス乃至0.05V/パルス程度になる。
従って、このような書き込み及び閾値の制御方法によれば、閾値分布の幅は、第2段階書き込みベリファイにおける1パルス当りの閾値の上昇率と同じ程度、即ち、0.05Vに抑えることができる。
ところで、パルス信号の幅を20μsec、1回の書き込みベリファイに要する時間を5μsecとすると、図32の第1例における書き込み時間は、
(20μsec+5μsec)×18パルス = 450μsec
となる。
しかし、第1例において、0.05Vの閾値分布幅を実現させるためには、書き込み電位Vpgmの上昇率を、0.2V/パルスから0.05V/パルス(0.2Vの4分の1)に縮小しなければならない。これは、書き込み完了までに必要とするパルス信号の数が4倍になることを意味する。
従って、書き込み時間としては、
450μm × 4 = 1800μsec
となる。
一方、図33の第2例によれば、書き込み電位Vpgmの上昇率を0.2V/パルスに維持したままで、0.05Vの閾値分布幅を実現できる。
この時の書き込み時間は、
(20μsec+5μsec+5μsec)×20パルス = 600μsec
となる。
このように、第2例では、第1例に比べて、同一条件下で0.05Vの閾値分布幅を実現するために要する書き込み時間が3分の1に大幅に短縮される。
(4) 下位ページに対する書き込み及び閾値の制御方法
図32の書き込みベリファイ電位を、Vcgv10(例えば、0.4V)に設定することにより、又は、図33の第1段階書き込みベリファイ電位を、Vcgv10(例えば、0.2V)に設定し、かつ、図33の第2段階書き込みベリファイ電位を、Vcgv10(例えば、0.4V)に設定することにより、10書き込み、即ち、下位ページに対する“0”書き込みが行われる。
書き込みの対象とならないメモリセル、言い換えると、下位ページデータとして“1”を書き込むメモリセルに対しては、“11”状態を維持する。
(4) 上位ページに対する書き込み及び閾値の制御方法
図34は、上位ページに対する書き込み及び制御方法の例を示している。
白抜きの四角は、書き込み易いメモリセルに対する書き込み時の閾値の変化の様子を示し、塗潰しの四角は、書き込み難いメモリセルに対する書き込み時の閾値の変化の様子を示す。
また、白抜きの四角で示されるメモリセルは、下位ページデータの書き込みが終わった時点で、消去状態、即ち、負の閾値を持つ“11”状態となっており、上位ページデータ“0”の書き込みに対して、“11”状態から“01”状態に変化する。なお、“0”書き込みの対象とならないメモリセルについては、閾値の変化はなく、“11”状態を維持する。
塗潰しの四角で示されるメモリセルは、下位ページデータの書き込みが終わった時点で、“10”状態となっており、上位ページデータ“0”の書き込みに対して、“10”状態から“00”状態に変化する。なお、“0”書き込みの対象とならないメモリセルについては、閾値の変化はなく、“10”状態を維持する。
書き込み電位Vpgmは、初期値から一定の割合Dvpgm(モードに応じて、例えば、0.2V、0.05Vなど)でステップアップされる。書き込み電位Vpgmは、パルス信号としてメモリセルに印加され、パルス信号がメモリセルに与えられる度に、その高さ(書き込み電位Vpgm)が上昇していく。
書き込みの対象となるメモリセルに接続されるビット線に0Vを与えると、数個のパルス信号が与えられた後、そのメモリセルの閾値は、書き込み電位Vpgmの上昇率と同じ上昇率で上昇していく。
パルス信号を用いて書き込みを実行した後に、01第1段階書き込みベリファイと01第2段階書き込みベリファイが行われ、さらに、その後、00第1段階書き込みベリファイと00第2段階書き込みベリファイが行われる。
01第1段階書き込みベリファイでは、白抜きの四角で示されるメモリセルの閾値が書き込みベリファイ電位に達すると、それに接続されるビット線の電位が、例えば、0.4Vに設定される。01第1段階書き込みベリファイが終了したメモリセルについては、それ以降、メモリセルごとに、01第2段階書き込みベリファイが実行される。
また、00第1段階書き込みベリファイでは、塗潰しの四角で示されるメモリセルの閾値が書き込みベリファイ電位に達すると、それに接続されるビット線の電位が、例えば、0.4Vに設定される。00第1段階書き込みベリファイが終了したメモリセルについては、それ以降、メモリセルごとに、00第2段階書き込みベリファイが実行される。
01第2段階書き込みベリファイでは、白抜きの四角で示されるメモリセルの閾値が書き込みベリファイ電位に達すると、それに接続されるビット線の電位が、例えば、Vdd(電源電位)に設定される。01第2段階書き込みベリファイが終了したメモリセルについては、メモリセルごとに、書き込みが禁止される。
また、00第2段階書き込みベリファイでは、塗潰しの四角で示されるメモリセルの閾値が書き込みベリファイ電位に達すると、それに接続されるビット線の電位が、例えば、Vdd(電源電位)に設定される。00第2段階書き込みベリファイが終了したメモリセルについては、メモリセルごとに、書き込みが禁止される。
白抜きの四角及び塗潰しの四角のいずれのメモリセルに対しても、第2段階書き込みベリファイになると、1個のパルス信号が与えられることによる閾値の上昇率は、図34の例の場合、0V/パルス乃至0.05V/パルス程度になる。
従って、このような書き込み及び閾値の制御方法によれば、閾値分布の幅は、第2段階書き込みベリファイにおける1パルス当りの閾値の上昇率と同じ程度、即ち、0.05Vに抑えることができる。
(5) 下位ページデータの書き込み時における動作波形
図35は、下位ページデータの書き込み時における動作波形を示している。
書き込みステップは、時間tp0から時間tp7までで、この期間に、パルス信号(書き込みパルス)がメモリセルに与えられる。10第1段階書き込みベリファイは、時間tfv0から時間tfv6までで、10第2段階書き込みベリファイは、時間tsv0から時間tsv6までである。
この波形図では、ワード線WL2及び偶数番目のビット線BLeが選択された場合の例を示している。
書き込みステップにおいて、選択されたビット線BLeは、書き込み制御電位、即ち、第1段階書き込みならば、0V、第2段階書き込みならば、0.4V、書き込み禁止状態ならば、Vdd(例えば、2.5V)に設定される。
10第1及び第2段階書き込みベリファイ時においては、まず、選択されたビット線BLeは、0.7Vに充電される。この後、選択されたワード線WL2が書き込みベリファイ電位(0.2V又は0.4V)に達すると、選択されたビット線BLeの電位は、メモリセルの閾値に応じて、以下のように変化する。
メモリセルの閾値が書き込みベリファイ電位(0.2V又は0.4V)に達しているときは、ビット線BLeは、0.7Vを維持し、メモリセルの閾値が書き込みベリファイ電位に達していないときは、ビット線BLeの電位は、0.7Vから0Vに向かって次第に低下する。
時間tfv4,tsv4のタイミングでビット線BLeの電位を検出すれば、メモリセルの閾値が書き込みベリファイ電位に達しているか否かを検出できる。メモリセルの閾値が書き込みベリファイ電位に達していれば、検出結果は、“パス”となる。
本発明の例では、第1の閾値分布を得るための第1のモードと第2の閾値分布を得るための第2のモードとを切り替える。
ここで、例えば、第1のモードでは、図35に示すような動作波形でフラッシュメモリを動作させる。
そして、第2のモードでは、例えば、第1のモードに比べて、メモリセルの閾値分布を幅狭で、かつ、シャープにする必要があるため、例えば、時間tp3から時間tp4までの期間に、選択されたワード線WL2に与えられる書き込み電位Vpgmのステップアップ幅を小さくする。
図35の例、即ち、第1のモードでは、書き込みステップ(n番目)から書き込みステップ(n+1番目)に移るに当たって、書き込み電位Vpgmを0.2V上昇させている。従って、第2のモードでは、例えば、書き込みステップ(n番目)から書き込みステップ(n+1番目)に移るに当たって、書き込み電位Vpgmを0.2Vよりも低い0.05Vだけ上昇させる。
また、第1のモードが図35に示すような動作波形であるとすると、第2のモードでは、例えば、時間tfv3から時間tfv5までの期間、及び、時間tsv3から時間tsv5までの期間に、それぞれ、選択されたワード線WL2に与えられるベリファイリード電位の値を、第1のモードよりも低く設定する。
図35の例、即ち、第1のモードでは、第1段階書き込みベリファイ(n番目)におけるベリファイリード電位Vcgv10が0.2Vであり、第2段階書き込みベリファイ(n番目)におけるベリファイリード電位Vcgv10が0.4Vである。従って、第2のモードでは、例えば、第1段階書き込みベリファイ(n番目)におけるベリファイリード電位Vcgv10を0.1Vにし、第2段階書き込みベリファイ(n番目)におけるベリファイリード電位Vcgv10を0.2Vにする。
(6) 下位ページデータの書き込みアルゴリズム
図36は、下位ページデータの書き込みアルゴリズムを示している。
ここで、DS1,DS2,DS3は、それぞれ、データ回路内に配置される記憶回路を示しており、例えば、DS1は、図23におけるページバッファPBに相当し、DS2は、図23におけるラッチ回路LATCHに相当し、DS3は、図23におけるMOSキャパシタC1に相当する。また、PCは、プログラムサイクル、即ち、書き込み回数を表している。
まず、ホストマイコンからデータ入力コマンドを受け取ると、ステートマシーンにデータ入力コマンドが設定される(ステップS1)。また、ホストマイコンからアドレスデータを受け取ると、ステートマシーンに書き込みページを選択するためのアドレスが設定される(ステップS2)。
次に、1ページ分の書き込みデータを受け取ると、書き込みデータをデータ回路内の記憶回路DS1に記憶させ、書き込みデータの設定を行う(ステップS3)。この後、ホストマイコンが発行した書き込みコマンドを受け取ると、ステートマシーンに書き込みコマンドが設定される(ステップS4)。
書き込みコマンドが設定されると、ステートマシーンにより、以下のステップS5〜S16が自動的に実行される。
まず、記憶回路DS1のデータは、記憶回路DS2にコピーされる(ステップS5)。この後、書き込み電位Vpgmの初期値が約12Vに設定され、かつ、書き込みカウンタのカウント数PCが「0」に設定される(ステップS6)。
記憶回路DS1のデータ及び記憶回路DS2のデータが共に“0”ならば、第1段階書き込みであるので、選択されたビット線に書き込み制御電位である0Vを与える。また、記憶回路DS1のデータが“0”、記憶回路DS2のデータが“1”ならば、第2段階書き込みであるので、選択されたビット線に書き込み制御電位として0.4Vを与える。
さらに、記憶回路DS1のデータ及び記憶回路DS2のデータが共に“1”ならば、書き込み禁止であるので、選択されたビット線に、書き込み制御電位として、Vddを与える(ステップS7)。
そして、書き込み電位Vpgmとビット線に与えられた書き込み制御電位とを用いて、1ページ分のメモリセルに対する書き込みが実行される(ステップS8)。
また、10第1段階書き込みベリファイにより、1ページ内の全ての記憶回路DS2のデータが“1”であるか否かを検出し、全て“1”の場合には、第1段階書き込み(ステータス)をパスとし、次からは、10第2段階書き込みベリファイを行う(ステップS9,S10,S11)。
一方、1ページ内の全ての記憶回路DS2のデータが“1”でない場合には、第1段階書き込み(ステータス)をパスとしない。
第1段階書き込みがパスでなければ、10第1段階書き込みベリファイが実行される(ステップS10)。この時、1ページ分のメモリセルのうち、検出結果がパスとなったメモリセルに対応する記憶回路DS2のデータは、“0”から“1”に変化する。その後、データ“1”を記憶する記憶回路DS2は、“1”を保持し続ける。
第1段階書き込みがパスの場合、或いは、10第1段階書き込みベリファイが終了した場合には、10第2段階書き込みベリファイが実行される(ステップS11)。この時、1ページ分のメモリセルのうち、検出結果がパスとなったメモリセルに対応する記憶回路DS1のデータは、“0”から“1”に変化する。その後、データ“1”を記憶する記憶回路DS1は、“1”を保持し続ける。
10第1段階書き込みベリファイ後、10第2段階書き込みベリファイにより、1ページ内の全ての記憶回路DS1のデータが“1”であるか否かを検出し、全て“1”の場合には、第2段階書き込み(ステータス)をパスとし、次からは、書き込み禁止状態にする(ステップS11,S12,S13)。
一方、1ページ内の全ての記憶回路DS1のデータが“1”でない場合には、第2段階書き込み(ステータス)をパスとしない。
第2段階書き込みがパスの場合、正常に書き込みが終了したとして、書き込みステータスをパスに設定して書き込み終了となる(ステップS13)。
第2段階書き込みがパスでない場合、書き込みカウンタのカウント値PCを調べ(ステップS14)、その値が20を越えているときは、正常に書き込みを行えなかったとして、書き込みステータスをフェイルに設定して書き込み終了となる(ステップS15)。書き込みカウンタのカウント値PCが20以下であれば、書き込みカウンタのカウント値PCを1だけ増やし、かつ、書き込み電位Vpgmの設定値を0.2V増やし(ステップS16)、ステップS7を経て、再度、書き込みステップが実行される(ステップS8)。
表4は、10第1段階書き込みベリファイ前後のデータとメモリセルの閾値との関係を示している。
n番目の10第1段階書き込みベリファイ前において、記憶回路DS1,DS2の取り得る値は、0/0、0/1、又は、1/1である。
0/0は、n−1番目の書き込みステップまでに、メモリセルの閾値が、10第1段階書き込みベリファイ電位に達していない、ということを意味している。
0/1は、n−1番目の書き込みステップまでに、メモリセルの閾値が、10第1段階書き込みベリファイ電位に達したが、10第2段階書き込みベリファイ電位に達していない、ということを意味している。
1/1は、n−1番目の書き込みステップまでに、メモリセルの閾値が、10第2段階書き込みベリファイ電位に達した、ということを意味している。
n−1番目の書き込みステップまでに、メモリセルの閾値が10第2段階書き込みベリファイ電位に達したが、10第1段階書き込みベリファイ電位に達していない、ということはあり得ないので、1/0という状態は、本例では存在しない。
1番目の10第1段階書き込みベリファイ前において、記憶回路DS1,DS2の取り得る値は、0/0、又は、1/1である。
メモリセルの閾値がn番目の書き込みステップで10第1段階書き込みベリファイ電位である0.2Vに達していなければ、10第1段階書き込みベリファイでの検出結果は、パスではないので、記憶回路DS2のデータの値は変更されない。
メモリセルの閾値がn番目の書き込みステップで10第1段階書き込みベリファイ電位である0.2Vに達していれば、10第1段階書き込みベリファイでの検出結果は、パスなので、記憶回路DS2のデータの値は“1”に変更される。
記憶回路DS2の値が“1”の場合には、記憶回路DS2のデータは、メモリセルの閾値によらず、変更されない。
表5は、10第2段階書き込みベリファイ前後のデータとメモリセルの閾値との関係を示している。
n番目の10第2段階書き込みベリファイ前において、記憶回路DS1,DS2の取り得る値は、0/0、0/1、又は、1/1である。
0/0は、n番目の書き込みステップまでに、メモリセルの閾値が、10第1段階書き込みベリファイ電位に達していない、ということを意味している。
0/1は、n番目の書き込みステップまでに、メモリセルの閾値が、10第1段階書き込みベリファイ電位に達したが、n−1番目の書き込みステップまでには、メモリセルの閾値が、10第2段階書き込みベリファイ電位に達していない、ということを意味している。
1/1は、n−1番目の書き込みステップまでに、メモリセルの閾値が、10第2段階書き込みベリファイ電位に達した、ということを意味している。
n−1番目の書き込みステップまでに、メモリセルの閾値が、10第2段階書き込みベリファイ電位に達したが、n番目の書き込みステップまでに、メモリセルの閾値が10第1段階書き込みベリファイ電位に達していない、ということはあり得ないので、1/0という状態は、本例では存在しない。
メモリセルの閾値が、n番目の書き込みステップで、10第2段階書き込みベリファイ電位である0.4Vに達していなければ、10第2段階書き込みベリファイでの検出結果は、パスではないので、記憶回路DS1のデータは変更されない。
メモリセルの閾値が、n番目の書き込みステップで、10第2段階書き込みベリファイ電位である0.4Vに達していれば、10第2段階書き込みベリファイでの検出結果は、パスなので、記憶回路DS1のデータは“1”に変更される。
記憶回路DS1の値が“1”の場合には、記憶回路DS1のデータは、メモリセルの閾値によらず、変更されない。0/0は、10第2段階書き込みベリファイによって変更されることはない。
(7) 上位ページデータの書き込みアルゴリズム
図37及び図38は、上位ページデータの書き込みアルゴリズムを示している。
ここで、図36の場合と同様に、DS1,DS2,DS3は、それぞれ、データ回路内に配置される記憶回路を示しており、例えば、DS1は、図23におけるページバッファPBに相当し、DS2は、図23におけるラッチ回路LATCHに相当し、DS3は、図23におけるMOSキャパシタC1に相当する。また、PCは、プログラムサイクル、即ち、書き込み回数を表している。
まず、ホストマイコンからデータ入力コマンドを受け取ると、ステートマシーンにデータ入力コマンドが設定される(ステップS1)。また、ホストマイコンからアドレスデータを受け取ると、ステートマシーンに書き込みページを選択するためのアドレスが設定される(ステップS2)。
次に、1ページ分の書き込みデータを受け取ると、書き込みデータをデータ回路内の記憶回路DS1に記憶させ、書き込みデータの設定を行う(ステップS3)。この後、ホストマイコンが発行した書き込みコマンドを受け取ると、ステートマシーンに書き込みコマンドが設定される(ステップS4)。
書き込みコマンドが設定されると、ステートマシーンにより、以下のステップS5〜S20が自動的に実行される。
まず、10読み出しが行われる(ステップS5)。この読み出しにおいて、メモリセルのデータが“10”であるときは、パスと判断し、記憶回路DS3のデータの値を“0”に設定する。一方、メモリセルのデータが“11”であるときは、パスでないと判断し、記憶回路DS3のデータの値を“1”に設定する。
次に、記憶回路DS1のデータを記憶回路DS2にコピーする(ステップS6)。この後、書き込み電位Vpgmの初期値を約14Vに設定し、かつ、書き込みカウンタのカウント値PCを“0”に設定する(ステップS7)。
記憶回路DS1のデータが“0”であり、かつ、記憶回路DS2のデータが“0”であるならば、第1段階書き込みであるので、書き込み制御電位として、ビット線に0Vを与える。
記憶回路DS1のデータが“0”であり、かつ、記憶回路DS2のデータが“1”であるならば、第2段階書き込みであるので、書き込み制御電位として、ビット線に0.4Vを与える。
記憶回路DS1のデータが“1”であり、かつ、記憶回路DS2のデータが“1”であるならば、書き込み禁止状態であるので、書き込み制御電位として、ビット線に電源電位Vddを与える(ステップS8)。
そして、書き込み電位Vpgmとビット線に与えられた書き込み制御電位とを用いて、1ページ分のメモリセルに対する書き込みが実行される(ステップS9)。
記憶回路DS3に“0”が記憶されたサブデータ回路において、全ての記憶回路DS2のデータが“1”であるか否かを検出し、全て“1”であるならば、00第1段階書き込み(ステータス)をパスと判断し、そうでなければ、パスでないと判断する(ステップS10)。記憶回路DS3に“0”が記憶されたサブデータ回路において、全ての記憶回路DS2のデータが“1”である場合には、書き込みステップ(ステップS9)で、00第1段階書き込みされたメモリセルは存在しない。
00第1段階書き込みがパスでなければ、00第1段階書き込みベリファイが実行される(ステップS11)。この時、1ページ分のメモリセルのうち、検出結果がパスとなったメモリセルに対応する記憶回路DS3に“0”が記憶されたサブデータ回路では、記憶回路DS2のデータは、“0”から“1”に変化する。データ“1”を記憶する記憶回路DS2は、“1”を保持し続ける。
00第1段階書き込みがパスである場合、又は、00第1段階書き込みベリファイが終了した場合には、00第2段階書き込みベリファイが実行される(ステップS12)。この時、1ページ分のメモリセルのうち、検出結果がパスとなったメモリセルに対応する記憶回路DS3に“0”が記憶されたサブデータ回路では、記憶回路DS1のデータは、“0”から“1”に変化する。データ“1”を記憶する記憶回路DS1は、“1”を保持し続ける。
次に、記憶回路DS3に“1”が記憶されたサブデータ回路では、全ての記憶回路DS2のデータが“1”であるか否かを検出し、全て“1”であるならば、01第1段階書き込み(ステータス)をパスと判断し、そうでなければ、パスでないと判断する(ステップS13)。記憶回路DS3に“1”が記憶されたサブデータ回路において、全ての記憶回路DS2のデータが“1”である場合には、書き込みステップ(ステップS9)で、01第1段階書き込みされたメモリセルは存在しない。
01第1段階書き込みがパスでなければ、01第1段階書き込みベリファイが実行される(ステップS14)。この時、1ページ分のメモリセルのうち、検出結果がパスとなったメモリセルに対応する記憶回路DS3に“1”が記憶されたサブデータ回路では、記憶回路DS2のデータは、“0”から“1”に変化する。データ“1”を記憶する記憶回路DS2は、“1”を保持し続ける。
01第1段階書き込みがパスである場合、又は、01第1段階書き込みベリファイが終了した場合には、01第2段階書き込みベリファイが実行される(ステップS15)。この時、1ページ分のメモリセルのうち、検出結果がパスとなったメモリセルに対応する記憶回路DS3に“1”が記憶されたサブデータ回路では、記憶回路DS1のデータは、“0”から“1”に変化する。データ“1”を記憶する記憶回路DS1は、“1”を保持し続ける。
01第2段階書き込みベリファイ後、全ての記憶回路DS1のデータが“1”であるか否かを検出し、全て“1”であるならば、第2段階書き込みをパスと判断し、そうでなければ、パスでないと判断する(ステップS16)。
第2段階書き込みがパスであれば、正常に書き込みが終了したとして、書き込みステータスをパスに設定して書き込み終了となる(ステップS17)。
第2段階ステータスがパスでなければ、書き込みカウンタのカウント値PCを調べ(ステップS18)、その値が20を越えている場合には、正常に書き込みが行えなかったとして、書き込みステータスをフェイルに設定して書き込み終了となる(ステップS19)。書き込みカウンタのカウント値PCが20以下である場合には、書き込みカウンタのカウント値PCを1だけ増やし、また、書き込み電位Vpgmの設定値を0.2V増やし(ステップS20)、再度、ステップS8を経由して、書き込みステップ(ステップS9)を実行する。
表6は、01第1段階書き込みベリファイ前後のデータとメモリセルの閾値との関係を示している。
n番目の01第1段階書き込みベリファイ前において、記憶回路DS1,DS2,DS3の取り得る値は、0/0/1、0/1/1、1/1/1、0/0/0、0/1/0、又は、1/1/0である。
0/0/1は、n−1番目の書き込みステップまでに、メモリセルの閾値が、01第1段階書き込みベリファイ電位に達していない、ということを意味している。
0/1/1は、n−1番目の書き込みステップまでに、メモリセルの閾値が、01第1段階書き込みベリファイ電位に達したが、01第2段階書き込みベリファイ電位に達していない、ということを意味している。
1/1/1は、n−1番目の書き込みステップまでに、メモリセルの閾値が、01第2段階書き込みベリファイ電位に達した、ということを意味している。
n−1番目の書き込みステップまでに、メモリセルの閾値が01第2段階書き込みベリファイ電位に達したが、01第1段階書き込みベリファイ電位に達していない、ということはあり得ないので、1/0/1という状態は、本例では存在しない。
メモリセルの閾値がn番目の書き込みステップで01第1段階書き込みベリファイ電位である1.2Vに達していなければ、01第1段階書き込みベリファイでの検出結果は、パスではないので、記憶回路DS2のデータの値は変更されない。
メモリセルの閾値がn番目の書き込みステップで01第1段階書き込みベリファイ電位である1.2Vに達していれば、01第1段階書き込みベリファイでの検出結果は、パスなので、記憶回路DS2のデータの値は“1”に変更される。
記憶回路DS2の値が“1”の場合には、記憶回路DS2のデータは、メモリセルの閾値によらず、変更されない。また、0/0/0、0/1/0、及び、1/1/0は、01第1段階書き込みベリファイ対象ではないので、各記憶回路のデータは変更されない。
表7は、01第2段階書き込みベリファイ前後のデータとメモリセルの閾値との関係を示している。
n番目の01第2段階書き込みベリファイ前において、記憶回路DS1,DS2,DS3の取り得る値は、0/0/1、0/1/1、1/1/1、0/0/0、0/1/0、又は、1/1/0である。
0/0/1は、n番目の書き込みステップ後に、メモリセルの閾値が、01第1段階書き込みベリファイ電位に達していない、ということを意味している。
0/1/1は、n番目の書き込みステップまでに、メモリセルの閾値が、01第1段階書き込みベリファイ電位に達したが、n−1番目の書き込みステップまでは、メモリセルの閾値が、01第2段階書き込みベリファイ電位に達していない、ということを意味している。
1/1/1は、n−1番目の書き込みステップまでに、メモリセルの閾値が、01第2段階書き込みベリファイ電位に達した、ということを意味している。
n−1番目の書き込みステップまでに、メモリセルの閾値が、01第2段階書き込みベリファイ電位に達したが、n番目の書き込みステップまでに、メモリセルの閾値が01第1段階書き込みベリファイ電位に達していない、ということはあり得ないので、1/0/1という状態は、本例では存在しない。
メモリセルの閾値が、n番目の書き込みステップで、01第2段階書き込みベリファイ電位である1.4Vに達していなければ、01第2段階書き込みベリファイでの検出結果は、パスではないので、記憶回路DS1のデータは変更されない。
メモリセルの閾値が、n番目の書き込みステップで、01第2段階書き込みベリファイ電位である1.4Vに達していれば、01第2段階書き込みベリファイでの検出結果は、パスなので、記憶回路DS1のデータは“1”に変更される。
記憶回路DS1の値が“1”の場合には、記憶回路DS1のデータは、メモリセルの閾値によらず、変更されない。0/0/1は、01第2段階書き込みベリファイによって変更されることはない。また、0/0/0、0/1/0、及び、1/1/0は、01第2段階書き込みベリファイ対象ではないので、各記憶回路のデータは変更されない。
表8は、00第1段階書き込みベリファイ前後のデータとメモリセルの閾値との関係を示している。
n番目の00第1段階書き込みベリファイ前において、記憶回路DS1,DS2,DS3の取り得る値は、0/0/1、0/1/1、1/1/1、0/0/0、0/1/0、又は、1/1/0である。
0/0/0は、n−1番目の書き込みステップまでに、メモリセルの閾値が、00第1段階書き込みベリファイ電位に達していない、ということを意味している。
0/1/0は、n−1番目の書き込みステップまでに、メモリセルの閾値が、00第1段階書き込みベリファイ電位に達したが、00第2段階書き込みベリファイ電位に達していない、ということを意味している。
1/1/0は、n−1番目の書き込みステップまでに、メモリセルの閾値が、00第2段階書き込みベリファイ電位に達した、ということを意味している。
n−1番目の書き込みステップまでに、メモリセルの閾値が、00第2段階書き込みベリファイ電位に達したが、00第1段階書き込みベリファイ電位に達していない、ということはあり得ないので、1/0/0という状態は、本例では存在しない。
メモリセルの閾値がn番目の書き込みステップで00第1段階書き込みベリファイ電位である2.2Vに達していなければ、00第1段階書き込みベリファイでの検出結果は、パスではないので、記憶回路DS2のデータの値は変更されない。
メモリセルの閾値がn番目の書き込みステップで00第1段階書き込みベリファイ電位である2.2Vに達していれば、00第1段階書き込みベリファイでの検出結果は、パスなので、記憶回路DS2のデータの値は“1”に変更される。
記憶回路DS2の値が“1”の場合には、記憶回路DS2のデータは、メモリセルの閾値によらず、変更されない。また、0/0/1、0/1/1、及び、1/1/1は、00第1段階書き込みベリファイ対象ではないので、各記憶回路のデータは変更されない。
表9は、00第2段階書き込みベリファイ前後のデータとメモリセルの閾値との関係を示している。
n番目の01第2段階書き込みベリファイ前において、記憶回路DS1,DS2,DS3の取り得る値は、0/0/1、0/1/1、1/1/1、0/0/0、0/1/0、又は、1/1/0である。
0/0/0は、n番目の書き込みステップ後に、メモリセルの閾値が、00第1段階書き込みベリファイ電位に達していない、ということを意味している。
0/1/0は、n番目の書き込みステップまでに、メモリセルの閾値が、00第1段階書き込みベリファイ電位に達したが、n−1番目の書き込みステップまでは、メモリセルの閾値が、00第2段階書き込みベリファイ電位に達していない、ということを意味している。
1/1/0は、n−1番目の書き込みステップまでに、メモリセルの閾値が、00第2段階書き込みベリファイ電位に達した、ということを意味している。
n−1番目の書き込みステップまでに、メモリセルの閾値が、00第2段階書き込みベリファイ電位に達したが、n番目の書き込みステップまでに、メモリセルの閾値が、00第1段階書き込みベリファイ電位に達していない、ということはあり得ないので、1/0/0という状態は、本例では存在しない。
メモリセルの閾値が、n番目の書き込みステップで、00第2段階書き込みベリファイ電位である2.4Vに達していなければ、00第2段階書き込みベリファイでの検出結果は、パスではないので、記憶回路DS1のデータは変更されない。
メモリセルの閾値が、n番目の書き込みステップで、00第2段階書き込みベリファイ電位である2.4Vに達していれば、00第2段階書き込みベリファイでの検出結果は、パスなので、記憶回路DS1のデータは“1”に変更される。
記憶回路DS1の値が“1”の場合には、記憶回路DS1のデータは、メモリセルの閾値によらず、変更されない。0/0/0は、00第2段階書き込みベリファイによって変更されることはない。また、0/0/1、0/1/1、及び、1/1/1は、00第2段階書き込みベリファイ対象ではないので、各記憶回路のデータは変更されない。
(8) メモリセルの寸法と閾値分布との関係
図39及び図40は、奇数番目のビット線に繋がるメモリセルに対する書き込み前後でのフローティングゲート電極内の電荷の変化の様子を示している。
初期状態では、全てのメモリセルが消去状態にあるものとする。
この後、図39に示すように、偶数番目のビット線に繋がるメモリセルM1に対して、例えば、10書き込みを実行すると、メモリセルM1のフローティングゲート電極内に負の電荷が注入される。この状態を、奇数番目のビット線に繋がるメモリセルに対する書き込み前とする。
次に、図40に示すように、奇数番目のビット線に繋がるメモリセルM2,M3に対して、例えば、10書き込みを実行すると、メモリセルM2,M3のフローティングゲート電極内に負の電荷が注入される。
この時、メモリセルM1のフローティングゲート電極とメモリセルM2,M3のフローティングゲート電極との間に生じる静電容量結合により、メモリセルM1のフローティングゲート電極内の電荷に変化が生じる。
即ち、図41に示すように、偶数番目のビット線に繋がるメモリセルM1のフローティングゲート電極内の負の電荷量が増加し、メモリセルM1の閾値が上昇する。
この閾値の変化は、メモリセルのサイズが小さくなり、隣接するメモリセルのフローティングゲート電極の間に生じる寄生容量が大きくなるほど、大きくなる。また、このような現象は、偶数番目のビット線に接続されるメモリセルに対する書き込み前後における奇数番目のビット線に繋がるメモリセルM2,M3についても言えることである。
このように、メモリセルの閾値分布の幅は、メモリセルの微細化に伴い、広がる傾向にある。つまり、上述したような閾値分布の幅を狭くする技術は、今後、非常に重要になってくるものと思われる。
(9) ブロック内メモリセルに対する書き込み手順
図42は、ブロック内メモリセルに対する書き込み順の例を示している。
初めに、ワード線WL0を選択し、偶数番目のビット線に繋がるメモリセルで構成される1つのページに下位データ(下位ページデータ)を書き込む。次に、奇数番目のビット線に繋がるメモリセルで構成される1つのページに下位データを書き込む。
この後、偶数番目のビット線に繋がるメモリセルで構成される1つのページに上位データ(上位ページデータ)を書き込む。そして、最後に、奇数番目のビット線に繋がるメモリセルで構成される1つのページに上位データを書き込む。
以下、同様に、ワード線WL1,WL2,WL3を順次選択し、ブロック内のメモリセルに対する書き込みを完了させる。
このような書き込み手順によれば、隣接するメモリセルのフローティングゲート電極の間に生じる干渉を最小に抑えることができる。つまり、1ページ内のメモリセルに対しては、全てに下位データを書き込んだ後、上位データを書き込んでいるため、書き込み時における隣接するメモリセルの閾値の差を小さくでき、閾値の変動量を小さくできる。
(10) 読み出しアルゴリズム
図43は、下位ページの読み出しアルゴリズムを示している。
まず、ステートマシーンは、ホストマイコンからの読み出しコマンドを受け取ると、読み出しコマンドを設定する(ステップS1)。次に、ステートマシーンは、ホストマイコンからのアドレスデータを受け取ると、読み出しページを選択するためのアドレスを設定する(ステップS2)。アドレスが設定されると、この後、ステートマシーンによって、ステップS3からステップS5までが自動的に行われる。
まず、01読み出しが行われる(ステップS3)。リードデータは、データ回路内の記憶回路に記憶される。
01読み出しの結果、リードデータが“1”、即ち、上位ページデータが“1”である場合には、10読み出しが行われる(ステップS4)。10読み出しの結果、リードデータが“1”である場合には、下位ページデータは、“1”であると判断され、“0”である場合には、下位ページデータは、“0”であると判断される。
また、01読み出しの結果、リードデータが“0”、即ち、上位ページデータが“0”である場合には、00読み出しが行われる(ステップS5)。00読み出しの結果、リードデータが“1”である場合には、下位ページデータは、“1”であると判断され、“0”である場合には、下位ページデータは、“0”であると判断される。
図44は、上位ページの読み出しアルゴリズムを示している。
まず、ステートマシーンは、ホストマイコンからの読み出しコマンドを受け取ると、読み出しコマンドを設定する(ステップS1)。次に、ステートマシーンは、ホストマイコンからのアドレスデータを受け取ると、読み出しページを選択するためのアドレスを設定する(ステップS2)。
アドレスが設定されると、この後、ステートマシーンによって、01読み出しが実行される(ステップS3)。リードデータは、データ回路内の記憶回路に記憶される。01読み出しの結果、リードデータが“1”である場合には、上位ページデータは、“1”であると判断され、“0”である場合には、上位ページデータは、“0”であると判断される。
(11) 書き込みステップの変形例
図45は、図35の波形図における書き込みステップを示している。図46は、図45の書き込みステップの変形例を示している。
図45の例では、選択されたビット線BLeに、書き込み制御電位として0.4Vを与えている。これに対し、図46の例では、書き込み電位Vpgmがワード線WL2に与えられてから一定期間が経過するまでは、選択されたビット線BLeを0Vに維持し、その期間が経過した後、選択されたビット線BLeを書き込み禁止電位(例えば、Vdd)に設定する。これにより、実効的な書き込みパルス幅が短くなり、メモリセルの閾値の上昇が抑えられる。
(12) 書き込みベリファイステップの変形例
図47は、図35の波形図における書き込みベリファイの変形例を示している。
第1段階書き込みベリファイ時、まず、選択されたビット線BLeは、0.7Vに充電される。この後、選択されたワード線WL2が第1段階書き込みベリファイ電位に達すると、メモリセルの閾値に応じてビット線BLeの電位が変化する。
例えば、メモリセルの閾値が第1段階書き込みベリファイ電位に達していると、ビット線BLeは、0.7Vを維持し、逆に、達していなければ、ビット線BLeの電位は、0Vに向かって低下する。
従って、時刻tfv4において、ビット線BLeの電位を検出すれば、メモリセルの閾値が第1段階書き込みベリファイ電位に達しているか否か検出できる。メモリセルの閾値が書き込みベリファイ電位に達していれば、検出結果は、“パス”となる。
この後、時刻tfv5(時刻tsv3)において、選択されたワード線WL2の電位を、第1段階書き込みベリファイ電位から第2段階書き込みベリファイ電位に切り替える。この時、メモリセルの閾値が第2段階書き込みベリファイ電位に達していると、ビット線BLeは、0.7Vを維持し、逆に、達していなければ、ビット線BLeの電位は、0Vに向かって低下する。
従って、時刻tsv4において、ビット線BLeの電位を検出すれば、メモリセルの閾値が第2段階書き込みベリファイ電位に達しているか否か検出できる。メモリセルの閾値が書き込みベリファイ電位に達していれば、検出結果は、“パス”となる。
このように、本例によれば、第2段階書き込みベリファイ時におけるビット線BLeの充電時間を省略できるため、高速書き込みが可能になる。
なお、10第1及び第2段階書き込みベリファイに限られず、01第1及び第2段階書き込みベリファイや、00第1及び第2段階書き込みベリファイなどにおいても、本例の書き込みベリファイステップを適用することができる。
3. その他
上述の実施の形態では、多値NAND型フラッシュメモリについて説明したが、本発明の例は、通常の2値NAND型フラッシュメモリや、NOR型、AND型、DINOR型などのその他の構成のフラッシュメモリにも適用できる。
また、本発明の例は、フラッシュメモリに限られず、不揮発性半導体メモリ全般に適用することができる。
さらに、本発明の例に関わるフラッシュメモリは、図48に示すようなデジタルカメラシステム、図49に示すような携帯電話システムや、図50に示すようなコンピュータシステムなどに応用できる。
本発明の例は、上述の形態に限定されるものではなく、その要旨を逸脱しない範囲で、構成要素を変形して具体化できる。また、上述の形態に開示されている複数の構成要素の適宜な組み合せにより種々の発明を構成できる。例えば、上述の形態に開示される全構成要素から幾つかの構成要素を削除してもよいし、異なる形態の構成要素を適宜組み合わせてもよい。
1:メモリセルアレイ、 1A:デジタルカメラ、 1B:コンピュータシステム、 1C:携帯電話、 2:データ回路、 2A:メモリカード、 3:ワード線制御回路、 4:カラムデコーダ、 5:アドレスバッファ、 6:I/Oセンスアンプ、 7:データ入出力バッファ、 8:ウェル/ソース線電位制御回路、 9A:電位生成回路、 9B:切替回路、 10:一括検知回路、 11:メモリチップ、 11−1:p型シリコン基板、 11−2,11−4:n型ウェル領域、 11−3,11−5:p型ウェル領域、 12:コマンドインターフェイス回路、 13:ステートマシーン、 14:ドレイン拡散層、 15:ソース拡散層、 16:n型拡散層、 17:p型拡散層、 18:電位設定線、 19:素子分離層、 20,21:絶縁層、 23:閾値分布制御回路。