以下、図面を参照して、この発明の実施の形態を説明する。
この実施の形態のフラッシュメモリでは、一つのメモリセルがN(3以上)個の物理量レベルのいずれかを記憶し、かつビット線対に接続されて同時に選択される二つのメモリセルをデータ記憶単位となるペアセルとして用いて、多値記憶を行う。具体的に各ペアセルは、それを構成する二つのメモリセルの物理量レベルが異なりかつ、物理量レベルの差が異なる組み合わせ状態を用いて、M=2n(nは2以上の整数)となるnビットで表されるM値データ(但しM>N)を記憶する。
この様なペアセル方式と多値記憶方式の組み合わせにより、ビット密度を維持して高速センス動作が可能なフラッシュメモリシステムを構成できる。特にデータ読み出しには、ペアセルが接続されるビット線対に流れるセル電流差を検出する、電流検出型の差動増幅器を用いることが好ましい。これにより、高速の読み出しが可能になるだけでなく、多値データのレベル間隔を小さく設定しても、十分なデータマージンを確保することができる。
[メモリチップ構成]
図1は、実施の形態によるNAND型フラッシュメモリの構成を示している。メモリセルアレイ1は、センスアンプ回路3を共有する二つのセルアレイ1t,1cにより構成される。セルアレイ1t,1c内の同時に選択される、対応するビット線TBL,CBLがペアを構成するオープンビット線方式が用いられる。
このビット線ペアTBL,CBLと、セルアレイ1t,1c内で同時に選択されるワード線TWL,CWLにより選択される二つのメモリセル、T−cellとC−cellが互いに異なるレベルのデータを記憶するペアセル(相補的セル)を構成する。
この実施の形態においてオープンビット線方式を採用する理由は、後に説明するように、データ書き込み及び読み出し時に同時に選択されるワード線TWL,CWLに対して異なる電圧を与える必要があるためである。セルアレイ1t,1cのビット線対TBL,CBLは、それぞれカラムゲート2t,2cにより選択されてセンスアンプ回路3に接続される。センスアンプ回路3の領域に配置されたデータ線DQと外部入出力端子の間のデータ授受は、データバッファ11を介して行われる。
各セルアレイ1t,1cとセンスアンプ回路3の間には、ビット線選択を行うカラムゲート2t,2cが配置される。カラムゲート2t,2cはそれぞれカラムデコーダ5t,5cにより制御される。セルアレイ1t,1cのワード線はそれぞれロウデコーダ4t,4cにより選択駆動される。
アドレス信号Addは、アドレスバッファ6を介し、アドレスレジスタ7を介して、ロウデコーダ4t,4c及びカラムデコーダ2t,2cに供給される。
動作モードを決定するコマンドCMDは、コマンドデコーダ8でデコードされて、コントローラ9に供給される。コントローラ9は、データ読み出し、書き込み及び消去のシーケンス制御を行う。
セルアレイ1t,1cやロウデコーダ4t,4cには、動作モードに応じて種々の高電圧Vpp(書き込み電圧Vpgm,ベリファイ電圧Vr,パス電圧Vpass,Vread等)が必要である。これらの高電圧Vppを発生するために高電圧発生回路10が設けられている。この高電圧発生回路10も、コントローラ9により制御される。
図2は、各セルアレイ1t,1cの内部構成を示している。互いに交差する複数本ずつのビット線BLとワード線WLの各交差部にメモリセルMCが配置される。メモリセルMCは浮遊ゲートと制御ゲートが積層されたMOSトランジスタ構造を有し、浮遊ゲートの電荷蓄積状態によりデータ記憶を行う。
この実施の形態では、16個のメモリセルMC0〜MC15が直列接続されてNANDストリング(NANDセルユニット)NUを構成する。NANDセルユニットNUの一端は、選択ゲートトランジスタSG1を介してビット線BLに、他端は選択ゲートトランジスタG2を介して共通ソース線SLに接続される。
メモリセルMC0〜MC15の制御ゲートはそれぞれワード線WL0〜WL15に接続される。選択ゲートトランジスタSG1,SG2のゲートはそれぞれワード線WLと並行する選択ゲート線SGD,SDSに接続される。ワード線方向に並ぶ複数のNANDセルユニットの範囲が、データ消去の際のベリファイ単位となるNANDブロックBLKiを構成し、通常ビット線方向に複数のNANDブロックBLKiが配置される。図1に示したように、相補セルアレイ1t,1cのなかで同時に選択される二つのメモリセル、T−cellとC−cellがペアセルを構成する。
図1では、ページバッファを構成する一つのセンスアンプ回路3とこれを共有する二つのセルアレイ1t,1cのみを示している。実際には、1ページ分の読み出し/書き込みを行うためのセンスアンプ回路3とこれを共有する二つのセルアレイ1t,1cの単位を“ページバンク”として、図3に示すように、データ線DQ,/DQを共有して複数のページバンク(図の例では、BNK0−BNK3の4ページバンク)が配置される。これにより、ページバンク間でインタリーブを行うことができ、ページアクセスを連続的に行うことが可能になる。
図4は、センスアンプ回路3の中の一つのセンスユニット30と、ビット線対の選択回路31t,31cを示している。センスユニット30は、後に説明するように、データセンスとデータ保持を行うセンス・ラッチ系と、書き込みや消去のベリファイ判定を行うベリファイ・結果判定系とを含む。
ビット線選択回路31t,31cはそれぞれ、選択信号bp0−bp7により、セルアレイ1t,1cの8本ずつのビット線TBL0−7,CBL0−7から一本ずつを選択して、センスユニット30に接続する。即ち、この選択回路31t,31cにより、8組のビット線ペアの一つが選択される。選択信号bp0−bp7は、ページアドレス信号の一部をなす。
センスユニット30には、各種制御信号が入力される。またINQi,FINiは、書き込み及び消去時のベリファイ結果判定のための入力信号,出力信号である。センス・ラッチ系は、グローバルデータ線であるDQ,/DQ線に選択的に接続出来るようになっている。このデータ線ペアDQ,/DQは全ページバンクに共通であり、選択されたページバンクとの間でデータ転送を行う。
ベリファイ結果を判定する入出力信号INQi,FINiは、後に説明するように、あるセンスユニットの出力信号FINiが次のセンスユニットの入力信号INQi+1となるように、ページバンクごとにベリファイ判定回路が構成される。ベリファイ書き込み或いは消去の際、ページバンク全体の書き込み或いは消去が終了していれば最終出力信号FIN(=“H”)がパスフラグとして出力されることになる。
各データ線対DQ,/DQは、出力バッファ11において適当に選択されてメモリチップ外部端子I/Oに出力データが転送される。ここでビット幅などの変換がなされる。
ページバンク内のページごとに、消去のベリファイ、書き込み及び読出しが、そのページに属する全メモリセルに対して一括して行われる。このページ指定を行うためのアドレス構造を、模式的に図5に示す。
アドレスは、どのペアセルをセンスユニットに接続するかを決めるデータパス接続部分と、選択されたワード線ペアのレベルをどう設定するかを決めるワード線レベル部分とからなる。データパス接続部分は、メインページアドレス部であり、ページバンク内のセンスユニット数分のビット線ペアTBL,CBLと、一つのワード線ペアTWL,CWLを選択する部分である。これにより同時に選択されるペアセルの集合が書き込み或いは読み出しの単位である1ページを構成する。
ワード線レベル部分は、メインページアドレス内に設定されるサブページアドレス部である。サブページアドレス部は、ワード線対TWL,CWLのレベルの組合せを指定することによって、多値データのビット情報(4値の場合の上位と下位の2ビット情報、8値の場合の上位,中間及び下位の3ビット情報)を指定する。
ページデータは一斉にアクセスされるのでページを構成するデータは多ビットデータとして転送するか高速なランダムアクセスで転送するかは、システムの応用による。このデータ転送中に別のページバンクをアクセスすることにより、バンクインタリーブが可能となり、切れ目の無いデータ転送もできる。
データ書き込みの際には、多値データのレベル設定の履歴が必要であるので、メインページアドレス内でのサブページアドレスの選択順には制約がある。即ち、上位ビットを書き込んでから、中間ビットを書き込み、その後下位ビットを書き込む、という順序は守らなければならない。この順序さえ守られるならば、上位ビット,中間ビット,下位ビットが連続してプログラムされる必要はない。すなわち途中に読出しなどの割り込みが入っても良い。
データ読出しについては、多値データのビット割り付け法により、サブページ指定順に制約がつく場合と、サブページを任意に(即ち他のサブページとは独立に)読み出しできる場合とがある。
この発明では、複数の物理量レベルの一つを不揮発に設定できるメモリセルを二つ組み合わせてペアセルを構成する。この場合、一つのセルがNレベル(N値)を採れるものとして、ペアセルの間のレベル差が異なる組み合わせ状態を多値データとして用いるものとすると、その状態数は、M=2(N−1)+1となる。これらの状態数のうち、二つのセルが同一レベルとなる場合を除くと、M=2(N−1)の状態がある。
例えば、N=2の場合は、M=2となり、ペアセルを構成する意味が殆どない。N=3の場合、M=4となり、4値/ペアセルが実現できる。N=4の場合は、M=6となり、6値/ペアセルのデータ記憶が可能になる。N=5の場合は、M=8となり、8値/ペアセルの記憶が可能になる。
多値データは、2のべき乗のデータ状態数に設定することが、データ処理の観点から好ましい。ペアセルに2のべき乗の多値データを記憶するには、一つのセルが取りうるレベルを、N=3,5,9…のように選択すればよい。
以下においては、主として、3レベル/セル−4値/ペアセルの4値データ記憶を行う例と、5レベル/セル−8値/ペアセルの8値データ記憶を行う例を説明する。また、メモリセルが取りうる物理量レベルとして、以下の実施の形態ではしきい値電圧レベルを用いる。
[3レベル/セル−4値/ペアセル(その1)]
図6は、ペアセルを構成する二つのセル,T−cellとC−cellがそれぞれ、3つのしきい値電圧レベルL0,L1及びL2のいずれかに設定され、それらの状態の組み合わせで4値記憶を行う例のデータしきい値分布とデータビット割り付けを示している。
レベルL0は、後に説明するように負のしきい値電圧の消去状態であり、レベルL1,L2は書き込まれた正のしきい値電圧である。C−cellの最上位レベルL2と、T−cellの最下位レベルL0及び中間レベルL1との組み合わせによるデータ状態A及びB、T−cellの最上位レベルL2と、C−cellの中間レベルL1及び最下位レベルL0の組み合わせによるデータ状態C及びDによって、4値データが定義される。
同じレベルL0,L1,L2同士の3つの組み合わせは、互いに識別できないので、除かれる。また、レベルL0とL1の組み合わせは、レベルL1とL2の組み合わせとペアセルのレベル差が同じになるものとして、除かれている。
C−cellの最上位レベルL2を基準とするデータA,Bは正論理値として、T−cellの最上位レベルL2を基準とするデータC,Dは負論理値としてセンスされるものとする。また4値データは、上位ビットHBと下位ビットLBにより、(HB,LB)で表されるものとする。図6の例では、ペアセルの4つの組み合わせデータA,B,C,Dに対して、A=(1,1),B=(1,0),C=(0,1),D=(0,0)なるビット割り付けがなされている。
最下位レベルL0は、前述のように消去後のしきい値電圧であり、この消去しきい値レベルはVssより負電圧に向かって分布しているのみではっきりした狭い分布を仮定できない。後に詳細に説明するが、一括消去でのベリファイモードではワード線にVssを与えてセルを駆動し、そのセル電流を、参照セルが流す参照電流と比較する。セル電流が参照電流より大きくなれば、消去完了と判断するので分布を狭める動作は行わない。
これに対して、レベルL1及びL2は、書き込みベリファイモードで分布を狭める動作を行う。従って、レベルL0より狭い、一定のしきい値電圧分布を設定することができる。このようなセルレベルの状態を仮定して、以下にはこの4値記憶が可能になる条件を検討する。
図7は、この4値データの読み出しに必要な3サイクル(又は3ステップ)t1,t2T及びt2CでのペアセルT−cellとC−cellのレベル関係を示している。図7は、3サイクルの間、選択されたワード線TWL,CWLに与えられる読み出し電圧(ワード線レベル)を一定として、T−cell又はC−cellのレベルL0−L2に相対的バイアスを与えることによって、4値データが判別できることを示している。
これに対して図8は、3サイクルの間でワード線レベルを切り換えることによって、同じように4値データが判別できることを示している。図8は、より実際の読み出し動作に近い。
データ状態A,B,C,Dについて、C−cellのレベルがT−cellのそれより高いときに、“1”としてデータセンスするものと仮定する。サイクルt1では、データ状態A,Bは共に“1”としてセンスされ、下位ビットデータは縮退している。同様に、データ状態C,Dは共に“0”としてセンスされ、下位ビットデータは縮退している。
これらのデータ縮退状態は、サイクルt2Tとt2Cとで解くことができる。サイクルt2Tでは、T−cellのレベルを見かけ上上昇させることによって(即ちT−cellのワード線レベルをC−cellのそれよりある程度下げることによって)、データ状態Aは“0”として、データ状態Bは“1”としてセンスされる。これにより、データ状態A,Bの“1”データの縮退が解かれたことになる。
サイクルt2CではC−cellのレベルを見かけ上上昇させることによって(即ちC−cellのワード線レベルをT−cellのそれよりある程度下げることによって)、データ状態Cは“0”として、データ状態Dは“1”としてセンスされるから、データ状態C,Dの“0”データの縮退が解かれたことになる。
以上のように、サイクルt1は、ペアセルの上位ビットデータを判別するものである。またサイクルt2Tとt2Cはそれぞれ、上位ビットデータが“1”と“0”のペアセルについて下位ビットデータを判別するものである。従ってサイクルt2Tとt2Cの順序は問わない。
以上の4値データ識別が可能になるワード線設定条件を具体的に明らかにするために、図8に示すように、レベルL0とVssとの間の電位差をα、レベルL1とVssとの間の電位差をβ、レベルL1,L2間の電位差をΔ、最上位レベルL2と高レベル時のワード線レベルとの電位差をγ、同じく最上位レベルL2と低レベル時ワード線レベルとの電位差をΔ−δとおく。このとき、ワード線レベルの振幅はΔ−δ+γとなる。
図9は、消去レベル(レベルL0)と書き込まれるレベルL1,L2のしきい値電圧分布を考慮して、サイクルt2Cにおいて、データ状態CとDとが識別できる条件でのレベル関係を示している。ここでは、図7と同様に読出しワード線レベルをそろえて示している。書き込みベリファイ時のワード線レベル(書き込みベリファイ電圧)は、VVERI=β+m×Δ(m=0,1,2…)とする。
消去ベリファイ時のワード線レベル(消去ベリファイ電圧)はVssであり、消去しきい値電圧分布を狭くする動作を特に行わない。そこでαの値は保障できないのでこの影響をできるだけ減らすように読出しの条件設定をする必要がある。
ベリファイ読出しを行う際のリファレンス電流を生成する電流源回路のセル等価のしきい値電圧をVrefとし、センスアンプの不感帯の等価電圧を±sとすれば、センスアンプの不感帯での誤判定も考慮すると、レベルL0を決定するαは、(Vref−s)以上であることしか保障できない。
他のレベルL1,L2は、書き込みベリファイ時の書き込みベリファイ電圧VVERIとVrefとの比較なので、そのしきい値電圧分布は、VVERI−(Vref+s)以上であり、VVERI−(Vref−s)以下となる。すなわちベリファイレベルVVERIの下側に、(Vref−s)から(Vref+s)の間のしきい値電圧分布となる。図では、この書き込みベリファイ電圧VVERIとレベルL1,L2のしきい値電圧分布のずれは考慮して描いていないので注意する必要がある。
T−cellのレベルL2を基準として、C−cellのレベルL0とL1とを識別する必要があるから、このとき次のような関係式(1),(2)が成り立つことが必要である。
γ>δ+s …(1)
α+β+δ>γ+s …(2)
このとき、C−cellのワード線レベルVREADCと、T−cellのワード線レベルVREADTはそれぞれ、VREADC=β+δ,VREADT=β+Δ+γである。さらに実際のレベル間の関係はしきい値分布を考慮する必要がある。(1)式は、γ側の分布最小値γ+(Vref−s)とδ側の分布最大値δ+(Vref+s)を入れて、下記式(3)となる。
γ>δ+3s …(3)
(2)式についても、α+β+δの分布最小値(すなわちαの分布最小値Vref−sとγの分布最大値γ+(Vref+s)を入れて、下記(4)式となる。
α+β>γ+3s …(4)
これらの条件から、より簡単なレベル設定法を検討する。しきい値分布を考慮した式(3),(4)のレベル設定条件に対して、それらのレベル間がΔの幅でマージンを持って分離できるものとして、δ=0,β=2×Δ,γ=Δとすれば、式(3),(4)の条件は、より簡単に次の式(5)としてまとめることができる。
Δ>3s …(5)
図10はこの条件での状態判定とレベル関係を、図9と対応させて示した。消去およびプログラムのベリファイ時および読出し時のワード線レベルはm×Δ(m=0,1,2,3,…)とまとめることができるから、Δの倍数のワード線駆動電圧を発生する回路を用意すればよい。
図11及び図12は、この様な条件を適用したときのそれぞれ、図7及び図8に対応するレベル関係である。
以上のようにして、3レベル/セル−4値/ペアセルのデータ分布を、図6に示すように設定することができる。図6において、P0(=Vss=0V)は消去ベリファイ電圧、P1はレベルL2をプログラムするときの書き込みベリファイ電圧、P2はレベルL1をプログラムするときの書き込みベリファイ電圧である。また、R1は読出しステップt1のワード線レベル(読み出し電圧)であり、R2は読出しステップt2T又はt2CでT−cellまたはC−cell の一方に設定される読み出し電圧である。
図13は、3読み出しサイクルt1,t2T,t2Cでのデータ遷移により、図6において定義された4値データ(1,1),(1,0),(0,1),(0,0)が識別できることを示している。
[5レベル/セル−8値/ペアセル(その1)]
図14は、ペアセルを構成するセル、T−cellとC−cellがそれぞれ、5つの物理量レベル(具体的にはしきい値電圧レベル)L0,L1,L2,L3及びL4のいずれかに設定され、それらの状態の組み合わせで8値記憶を行う例のデータしきい値分布とデータビット割り付けを示している。
8値データの組み合わせの選択条件は、先の3レベル/セル−4値/ペアセルの場合と同じである。ペアセルの一方のセルの最上位レベルL4を基準として、これと他方のセルのレベルL0−L3との間の4通りの組み合わせと、その逆の4通りの組み合わせの合計8通りの組み合わせが用いられる。
図15は、この8値データの読み出しに必要な7サイクルt1,t2T,t2C,t3T,t3C,t4T及びt4CでのペアセルT−cellとC−cellのレベル関係を、先の例の図7と対応させて示している。即ち、7サイクルの間に、選択されたワード線TWL,CWLに与えられるワード線レベルを一定として、T−cell又はC−cellのレベルL0−L4に相対的バイアスを与えることによって、8値データが判別できることを示している。
これに対して図16は、レベルL0−L4を一定に保ち、7サイクルの間でワード線レベルを切り換えることによって、同じように8値データが判別できることを、図8と対応させて示している。
ペアセルの8値データについて、C−cellのレベルがT−cellのそれより高いときに、“1”としてデータセンスするものと仮定する。サイクルt1では、C−cellのレベルL4は、T−cellのレベルL0−L3より全て高く、C−cellの最上位レベルL4を基準とする4データ状態は共に“1”としてセンスされる。このデータ“1”は上位ビットデータであり、中間ビット及び下位ビットは縮退している。同様に、T−cellの最上位レベルL4を基準とする4データ状態は共に、上位ビット=“0”としてセンスされ、中間ビット及び下位ビットは縮退している。
これらのデータ縮退状態は、以下のサイクルで順次解くことができる。サイクルt2Tでは、T−cellのレベルを見かけ上上昇させることによって(即ちT−cellのワード線レベルをC−cellのそれよりある程度下げることによって)、“1”データの縮退状態の一部が解ける。即ちT−cellの上から2番目のレベルL3がそれ以下のレベルL0−L2と識別される。
サイクルt2CではC−cellのレベルを見かけ上上昇させることによって(即ちC−cellのワード線レベルをT−cellのそれよりある程度下げることによって)、“0”データの縮退状態が一部解ける。即ちC−cellの上から2番目のレベルL3がそれ以下のレベルL0−L2と識別される。
サイクルt3TではT−cellのレベルを見かけ上さらに上昇させて“1”の状態の縮退をさらに一部解いている。すなわちC−cellの最上位レベルL4を基準としてT−cellの上から3番目のレベルL2を、それ以下のレベルと極性反転により判別可能としている。サイクルt3CではC−cellのレベルを見かけ上さらに上昇させて、“0”の状態の縮退をさらに一部解く。
サイクルt4TではT−cellのレベルを見かけ上さらに上昇させて“1”の状態の縮退を完全に解いている。すなわち、C−cellの最上位レベルL4を基準としてT−cellの上から4番目のレベルL1と最下位レベルL0とを判別している。サイクルt4CではC−cellのレベルを見かけ上さらに上昇させて、“0”の状態の縮退を完全に解いている。
図16に示したワード線レベル間の関係は、先の3レベル/セル−4値/ペアセルの場合と同様の考察によって得られる。消去レベル(最下位レベル)L0と、書き込みレベルL1−L4のしきい値分布を想定して、ペアセルのデータの判定をする条件を検討する。
図17は、最上位レベルをLn+1として一般化した場合について、図15及び図16のサイクルt2Tでの判定条件を説明するものである。即ちT−cellの上から2番目のレベルLnをそれ以下のレベルと識別する条件を検討する。
消去後のしきい値電圧(レベルL0)と消去ベリファイ電圧Vssとの電位差をα、書き込まれるレベルL1のVssとの電位差をβ、T−cell側のワード線読み出し電圧VREADTとレベルLnとの電位差をδ、各レベル間の電位差をΔ、C−cell側のワード線読み出し電圧VREADCとレベルLn+1との電位差をγとした。書き込みベリファイ時のワード線レベルは、VVERI=β+m×Δ(m=1,2,3,…)となる。
消去ベリファイ時のワード線電圧はVssであり消去しきい値分布を狭くする動作を特に行わない。そこでαの影響をできるだけ減らすように読出しの条件設定をする必要があるのは先の例と同様である。
C−cellのレベルLn+1を基準として、T−cellのレベルLnとLn−1の状態を分けるのであるから、これらのレベル間には次の関係式(6),(7)が成り立つ必要がある。
γ>δ+s …(6)
Δ+δ>γ+s …(7)
このときワード線レベルは、C−cellとT−cellでそれぞれ、VREADC=β+n×Δ+γとVREADT=β+(n−1)×Δ+δである。実際のレベル間の関係はしきい値分布を考慮する必要があるので、 (6)式には、γ側の最小値γ+(Vref−s)とδ側の最大値δ+(Vref+s)を入れて、下記式(8)が得られる。
γ>δ+3s …(8)
(7)式には、Δ+δの最小値Δ+δ+(Vref−s)とγの最大値γ+(Vref+s)を入れて、下記式(9)が得られる。
Δ+δ>γ+3s …(9)
しきい値分布を考慮した式(8),(9)の条件で各レベル間の電位差Δを判定するには、γ−δ=0.5×Δが最適となる。そこでβ=Δ 、δ=0 とすれば、式(8),(9)の条件はより簡単に、下記式(10)となる。
0.5×Δ>3s …(10)
図18はこの状態での判定条件とレベルの関係を示した。消去およびプログラムのベリファイ時および読出し時のワード線レベルは、m×Δ(m=0,1,2,3,…)と0.5×Δが必要であるから、0.5×Δの倍数のレベルを発生させればよい。Δは、しきい値分布が十分に分離できてセンスアンプの不感帯よりも十分大きいことが条件となる。
この条件で、レベルL1とL0とを判別するとき(例えば、図15のサイクルt4T又はt4C)には、Δだけでなく、消去レベルL0のVssとの差αが関与するので、判定が問題ないかどうかを調べる。図19は、C−cellの最上位レベルLn+1を基準として、T−cellの最下位レベルL0とそれ以上のレベルとを識別するレベル関係を示している。
レベルL0が判定できる条件は、Δ+α>0.5×Δ+sであり、これにαの最小値Vref−sを入れると、0.5×Δ>2s−Vrefが条件となる。この条件は、(10)式が満たされれば満たされるので、問題なくレベル判定ができる
8値データは、上位ビットHB、中間ビットMB及び下位ビットLBの3ビットを用いて、(HB,MB,LB)と表される。図14には、この例の8値データに用いるT−cellとC−cellのレベル間を線分で結んだ組み合わせ状態と、データビット割り付けが示されている。
最上位レベルL4が基準レベルであり、C−cellが基準レベルにあるときがビットデータの正論理値であり、T−cellのレベルL0,L1,L2,L3とC−cellの最上位レベルL4の組み合わせがそれぞれ、(1,1,1),(1,1,0),(1,0,1),(1,0,0)となる。またT−cellが基準レベルにあるときがビットデータの負論理値であり、C−cellのレベルL0,L1,L2,L3とT−cellの最上位レベルL4の組み合わせがそれぞれ、(0,0,0),(0,0,1),(0,1,0),(0,1,1)となる。
上位ビットHB、中間ビットMB及び下位ビットLBは、図15,16に示した複数サイクルの読み出しにおいて、この順に分別される。読み出しサイクルの初期には、ビットデータが縮退しており、サイクル進行に従って順次縮退が解ける。
P0(=0V)は消去ベリファイ電圧、P1はレベルL4をプログラムするときの書き込みベリファイ電圧であり、以下同様にP2,P3,P4はそれぞれレベルL1,L2,L3をプログラムするときの書き込みベリファイ電圧である。R1は読出しサイクルt1での読み出し電圧であり、以下R2,R3,R4はそれぞれ、読出しサイクルt2T又はt2C,t3T又はt3C,t4T又はt4Cで一方のセルに設定される読み出し電圧である。
以上の7サイクルは、具体的には、最初のサイクルt1で上位ビットHBが判別される。次のサイクルt2Tとt2Cで中間ビットMBが判別される。これらのサイクルt2T,t2Cでは下位ビットの一部も同時に判別され、更に残りの下位ビットが次のサイクルt3T,t3C,t4T,t4Cで順次判別される。
上位ビットHB,中間ビットMB,下位ビットLBはこの順にデータセンスすることが必要である。サイクルt2Tとt2Cは、それぞれ上位ビットが“1”と“0”であるペアセルの中間ビットを判別するものであって、その順序は問わない。同様に、下位ビットを判別するサイクルt3Tとt3Cの順序、サイクルt4Tとt4Cの順序も問わない。
[4レベル/セル−4値/ペアセル]
ここまで説明した3レベル/セル−4値/ペアセル及び、5レベル/セル−8値/ペアセルの方式はいずれも、ペアセルを構成する二つのセルの一方の最上位レベルを基準として、これと他方のセルの上記最上位レベルより低い複数レベルとの組み合わせにより、データ状態を設定している。
この様なペアセルのレベル組み合わせとは異なる多値記憶方式もある。図20は、4レベル/セル−4値/ペアセルの例を示している。これは全てのビットに対して固定した基準レベルを設定しない方式であり、特許文献2で提案した方式である。ここでは、セルが取り得る4レベルL0−L3について、C−cellのレベルL3とT−cellのレベルL0の組み合わせ状態をデータA、C−cellのレベルL2とT−cellのレベルL1の組み合わせ状態をデータB、C−cellのレベルL1とT−cellのレベルL2の組み合わせ状態をデータC、C−cellのレベルL0とT−cellのレベルL3の組み合わせ状態をデータDとして、4値データを定義している。例えば、A=(1,1),B=(1,0),C=(0,1),D=(0,0)とする。
データ読み出しには、先の例の3レベル/セル−4値/ペアセルと同様に、3サイクルを必要とする。サイクルt1では、ペアセルに対して共通のワード線電圧を用いてセル電流を比較してペアセルの状態を判定する。このとき、データA,Bの間、データCとDの間は縮退しており判別できない。これらのデータ縮退を解くには、サイクルt2T及びt2Cを必要とする。
サイクルt2TではT−cellのレベルを見かけ上上昇させて、“1”状態の縮退を解いて、データA,Bの分別を行う。サイクルt2CではC−cellのレベルを見かけ上上昇させて、“0”状態の縮退を解いて、データC,Dの分別を行う。具体的にサイクルt1,t2T,t2Cでワード線に与える読み出し電圧を変化させた場合のペアセルのレベル関係は、図21のようになる。
ワード線レベルの設定条件を具体的に決めるために、図21に示すようにレベル間の差α、β、δ、Δ、γを規定する。このときワード線電圧の振幅はΔ-δ+γとなる。図22は、データA,Bを判別するに必要なサイクルt2Tでのレベル関係を、ワード線レベルを揃えて示している。
消去後のしきい値電圧(レベルL0)のVssとの差をα、レベルL1(のベリファイレベル)とVssとの差をβ、T−cellのワード線レベル(読み出し電圧)VREADTとレベルL1との差をδ、レベルL1以上のレベル間の差をΔ、C−cellのワード線レベル(読み出し電圧)VREADCとレベルL2の差をγとした。書き込みベリファイ時のワード線レベル(ベリファイ電圧)VVERIは、VVERI=β+m×Δとなる。
このステップt2Tでは、C−cellのレベルL3とT−cellのレベルL0との組み合わせ状態Aと、C−cellのレベルL2とT−cellのレベルL1との組み合わせ状態Bとを分離するのであるから、レベル間には次の関係式(11),(12)が成り立つ必要がある。
γ>δ+s …(11)
α+β+δ>γ−Δ+s …(12)
このときC−cell,T−cell側の読み出し電圧はそれぞれ、VREADC=β+Δ+γ,VREADT=β+δである。さらに実際のレベル間の関係は、しきい値分布を考慮する必要がある。
(11)式は、γ側の最小値γ+(Vref−s)とδ側の最大値δ+(Vref+s)を入れて、下記式(13)となる。
γ>δ+3s …(13)
(12)式は、αの最小値Vref−sとΔの最小値Δ−(Vref+s)を入れて、下記式(14)となる。
β+δ>γ−Δ+3s …(14)
更に、β=Δ、δ=0、γ=Δなる条件を与えて簡単化すれば、式(13),(14)の条件は、下記式(15)としてまとめられる。
Δ>3s …(15)
図23はこのときの状態判定条件とレベル関係を図22に対応させて示した。消去および書き込みのベリファイ時および読出し時のワード線レベルは、m×Δとまとめることができ、Δの倍数のレベルを発生させれば良い。Δは、隣接するしきい値レベル分布が十分分離できて、センスアンプの不感帯よりも十分大きいこと、が必要な条件となる。
この4レベル/セル−4値/ペアセル方式も、先の3レベル/セル−4値/ペアセル方式とほぼ同様の条件で動作可能であるが、同じ4値データ記憶のために、各セルのレベル数が一つ多くなっている。従って、先の3レベル/セル−4値/ペアセル方式更には、5レベル/セル−8値/ペアセル方式は、これの改良版ということができる。
先の3レベル/セル−4値/ペアセル方式及び、5レベル/セル−8値/ペアセル方式は、各セルの最上位レベルを基準として、ペアセルを構成する二つのセルのレベル間が異なる組み合わせ状態を多値データとして用いた。これに対して、セルが取りうるレベルのうち最下位レベルを基準として多値データの組み合わせを設定することも可能である。
その様な例を以下に説明する。
[3レベル/セル−4値/ペアセル(その2)]
図24は、最下位レベルL0を基準とする3レベル/セル−4値/ペアセル方式のペアセル構成を、図7と対比させて示している。この場合も、3サイクルt1,t2T,t2Cの読み出し動作により、4値データを識別することができる。図24は、各サイクルを通してワード線レベルを一定とし、セルレベルを相対的に変化させた場合を示し、図25はより実際的に、各サイクルでワード線レベル(読み出し電圧)を切り換えた場合を示している。
この場合も、C−cellのレベルが高い場合を“1”として4値データを次のように定義することができる。T−cellの最下位レベルL0とC−cellの最上位レベルL2との組あわせをデータA=(1,1)、T−cellの最下位レベルL0とC−cellの中間レベルL1との組あわせをデータB=(1,0)、C−cellの最下位レベルL0とT−cellの中間レベルL1の組あわせをデータC=(0,1)、C−cellの最下位レベルL0とT−cellの最上位レベルL2の組あわせをデータD=(0,0)。
サイクルt1ではペアセルに対して共通のワード線電圧を用いてセル電流を比較してペアセルの状態を判定している。この時、データA,Bは共に“1”として、データC,Dは共に“0”としてのみ判定され、データは縮退している。
サイクルt2TではT−cellのレベルを見かけ上上昇させることにより、データA,Bの“1”データの縮退を解いている。すなわち、T−cellの最下位レベルの基準を持ち上げて、中間レベルL1よりワード線レベルに近づけることにより、ペアセルのセル電流関係は逆転し、データAは“1”,データBは“0”として判定される。
サイクルt2CではC−cellレベルを見かけ上上昇させて、“0”データ縮退を解いて、データC,Dを判別することができる。
図25には、後にこの方式のワード線の設定条件を検討するために、各レベル間の差α、β、δ、Δ、γを記載してある。ワード線レベルの振幅はΔ+β+δとなる。
[5レベル/セル−8値/ペアセル(その2)]
図26は、最下位レベルL0を基準とする5レベル/セル−8値/ペアセル方式のペアセル構成を、図15と対比させて示している。この場合も、7サイクルt1,t2T,t2C,t3T,t3C,t4T,t4Cの読み出し動作により、8値データを識別することができる。図26は、各サイクルを通してワード線レベルを一定とし、セルレベルを変化させた場合を示し、図27はより実際的に、各サイクルでワード線レベル(読み出し電圧)を切り換えた場合を示している。
サイクルt1ではペアセルに対して共通のワード線電圧を用いてセル電流を比較してペアセルのデータ状態を判定している。このとき、C−cellの最下位レベルL0を基準とするデータは全てデータ0”として、T−cellの最下位レベルL0を基準とするデータは全て“1”として検出される。このデータ縮退状態は、以下にサイクルで順次解かれる。
サイクルt2TではT−cellのレベルを見かけ上上昇させて“1”データの縮退を一部解いている。サイクルt2CではC−cellのレベルを見かけ上上昇させて“0”データの縮退を一部解いている。以下、サイクルt3T,t4Tで更にT−cellのレベルをあげて、“1”データの縮退状態を更に順次解き、t3C,t4CではC−cellのレベルを更にあげて、“0”データの縮退状態を更に順次解く。
図27には、図25と同様に、この方式のワード線の設定条件を検討するために、各レベル間の差α、β、δ、Δ、γを記載してある。ワード線レベルの振幅はΔ+β+δ(サイクルt2T,t2C)、2×Δ+β+δ(サイクルt3T,t3C)、3×Δ+β+δ(サイクルt4T,t4C)となる。
次に、上述した3値/セル−4値/ペアセル(その2)と5値/セル−8値/ペアセル(その2)について、レベル設定条件を検討する。図28は、これら2方式に共通に適用される、C−cellの最下位レベルL0との関係で、T−cellの最上位レベルLn+2とそれ以下のレベルとを識別する最終読み出しサイクルのレベル関係を、ワード線レベルを固定して示している。
消去後のしきい値(レベルL0)とVssとの差がα、レベルL1と消去ベリファイ電圧Vssとの差がβ、ワード線レベル(読み出し電圧)VREADTと最上位レベルLn+2との差がδ、各レベル間の差がΔである。書き込みベリファイ時のワード線レベル(ベリファイ電圧)は、VVERI=β+m×Δとなる。
C−cellの最下位レベルL0を基準として、T−cellの最上位レベルLn+2とその次のレベルLn+1の状態を分けるのであるから、下記式(16),(17)が成り立つことが必要である。
α>δ+s …(16)
Δ+δ>α+s …(17)
このとき、C−cellとT−cellのワード線レベルはそれぞれ、Vssとβ+n×Δ+δである。実際のレベル間の関係はしきい値分布を考慮する必要があるので、 式(16)は、αの最小値Vref−sとδ側の最大値δ+(Vref+s)を入れて、下記式(18)となる。
0>δ+3s …(18)
式(17)は、Δ+δの最小値Δ+δ+(Vref−s)とαの最大値を入れるのだが、この最大値はαMAXとして、下記式(19)となる。
Δ+δ>αMAX+2s−Vref …(19)
式(19)の条件は、αMAXが制御できないこと、またδ自体を決めるのが困難なことから、満たすことが難しい。
以上の考察から、最下位レベルを基準として多値データの組み合わせを設定する3レベル/セル−4値/ペアセル(その2)或いは5レベル/セル−8値/ペアセル(その2)と比べると、各セルの最上位レベルを基準としてペアセルの多値データの組み合わせを設定する、4値/ペアセル(その1)或いは8値/ペアセル(その1)の方式がより好ましいということができる。
[3レベル/セル−4値/ペアセル(その1)の詳細]
図29は、3レベル/セル−4値/ペアセル(その1)の方式での消去及び書き込み手順を示している。これ以上の多値の場合も基本的には同じ手順になる。
“vp0”は、ペアセルのベリファイ消去ステップである。その詳細動作は後にセンスユニットとの関係で説明するが、消去ステップvp0では選択ブロック内のセルに消去電圧を印加する動作と、その後選択ブロックのワード線をVssにして、そのセル電流を参照セル(有効しきい値電圧がVrefのセル)のそれと比較する消去ベリファイとを繰り返す。これによって全てのセルのしきい値電圧を、セル電流が十分“1”と見なせる最下位レベルL0に設定する。
この消去しきい値電圧分布に対して、書き込みデータとして、上位ビットHB及び下位ビットLBを与え、これをセルレベルに翻訳して順次書き込みを行うのが、ベリファイ書き込みステップvp1及びvp2である。
書き込みステップvp1では、上位ビットHBの“1”,“0”に従って、T−cell,C−cellのしきい値電圧を、基準レベルである最上位レベルL2に上昇させる。具体的には、センスユニット30内のデータラッチに書き込みビットデータをロードし、選択されたビット線とセンスアンプを接続して書き込みが行われる。
これも詳細動作は後に説明するが、書き込みベリファイと書き込み電圧印加動作とを繰り返す。ベリファイ後には、書き込み不十分のペアセルが存在するか否かのベリファイチェックを行う。この書き込みステップvp1が終了した段階では全てのペアセルは基準レベルL2と最下位レベル(消去レベル)L0の組合せになっている。
この段階で、データ(0,0)と(0,1)は縮退している。同様に、データ(1,0)と(1,1)も縮退している。
次の書き込みステップvp2では、下位ビットLBの“1”,“0”に従って、T−cell,C−cellの一部のセルのしきい値電圧を消去レベルL0から中間レベルL1に上昇させる。この書き込みステップvp2が終了すると、全てのペアセルの書き込みが終了し、(0,0)(1,0)(0,1)(0,0)の4値データを持ったペアセルが得られる。
多値データを構成するレベル数が多くなっても、基準となる最上位レベルをまず書き込み、以下順次下位レベルを書き込むという方式は、同じである。
(センスユニット構成)
図30は、この方式で用いられる、一対の選択ビット線TBL,CBLに接続されるセンスユニット30の構成を示している。図4で説明したように実際には、一つのセンスユニット30は、複数対のビット線により共有される。
センスユニット30は、電流検出型の差動センスアンプSAと二つのデータラッチHBL,LBLを含むセンス・ラッチ系と、ベリファイチェック回路VCK(ベリファイ・結果判定系)とを有する。差動センスアンプSAの二つの入力ノードIN,/INは、通常読み出し時にはビット線TBL,CBLに接続される。書き込みベリファイ或いは消去ベリファイ時に入力ノードIN,/INの一方に参照電流を供給するために、参照電流源回路301が設けられている。
データラッチHBLとLBLは、データ書き込み時は書き込みデータの上位ビットHBと下位ビットLBをそれぞれ保持し、読み出し時はセンスアンプSAにより読み出された上位ビットHBと下位ビットLBをそれぞれ保持するものである。消去時にはこれらのデータラッチHBL,LBLは、上位ビット、下位ビットとは無関係に、T−cellアレイ1tとC−cellアレイ1cを順番に消去するための相補データが保持される。
データラッチHBL,LBLは、センスアンプSAとの間でデータ転送するための共通のデータ転送ノードB,/Bを有する。ノードB,/Bは読み出し制御信号READにより制御されるNMOSトランジスタN21,N22を介してセンスアンプSAの出力ノードOUT,/OUTに接続されている。
ノードB,/BとデータラッチHBLの間にはNMOSトランジスタN31,N32からなるデータ転送回路303が設けられている。この転送回路303は、前述した読み出しステップt1、書き込みステップvp1或いは消去ステップvp0(1)でオンになるように、それぞれのタイミング信号が供給される。
ノードB,/BとデータラッチLBLの間には、NMOSトランジスタN41−N44からなるデータ転送回路304と、NMOSトランジスタN51−N54からなるデータ転送回路305が併設されている。これらの転送回路304,305は、データラッチHBLの上位ビットデータHB,/HBにより選択され、また読み出しステップt2T,t2C、書き込みステップvp2或いは消去ステップvp0(2)に対応するタイミング信号により制御される。
参照電流源回路301は、参照電圧Vrefがゲートに与えられたNMOSトランジスタN10を有する。このNMOSトランジスタN10は、センスすべきセル電流を比較判定するための参照電流を流す参照セルとして用いられている。このNMOSトランジスタN10は、書き込み又は消去ベリファイ時に選択的にセンスアンプSAの入力ノードIN,/INの一方に接続される。即ちNMOSトランジスタN10は、参照ワード線RefWLにより駆動されるNMOSトランジスタN11,N12を介し、データ転送ノード/B,Bにより制御されるNMOSトランジスタN13,N14を介して、センスアンプSAの入力ノードIN,/INに接続される。
センスアンプSAの入力ノードIN,/INは、読み出し制御信号READにより制御されるNMOSトランジスタN17,N19を介してそれぞれビット線TBL,CBLに接続される。これらのNMOSトランジスタN17,N19には並列に、それぞれノードB,/Bにより相補的に制御されるNMOSトランジスタN18,N20が接続されている。
即ち、読み出し時は、NMOSトランジスタN17,N19がオンになり、ビット線対TBL,CBLがそれぞれ入力ノードIN,/INに接続される。このときリファレンス電流源回路301はセンスアンプSAには接続されない。
書き込み及び消去ベリファイ時には、NMOSトランジスタN17,N19はオフである。そしてデータラッチHBL,LBL等のデータに従って、NMOSトランジスタN18,N20の一方がオンになり、また参照電流源回路301ではNMOSトランジスタN13,N14の一方がオンになる。これにより、ビット線対TBL,CBLの一方がセンスアンプSAの一つの入力ノードに接続され、他方の入力ノードにはリファレンス電流源であるNMOSトランジスタN10が接続される。
ビット線TBL,CBLには、それぞれPMOSトランジスタP11−P13,P14−P16からなるプルアップ回路302T,302Cが接続されている。これらは、センスデータに応じてビット線TBL,CBLの一方をVddにプルアップするために用いられる。また、センスデータに応じてビット線TBL,CBLの一方をVssのリセットするために、それぞれにNMOSトランジスタN15,N16が接続されている。
この実施の形態において、センスアンプSAが電流検出型の差動アンプであること及び、通常のデータ読み出しにはペアセルのセル電流差の検出を行うこと、が高速読み出しを可能としている。即ち通常のNAND型フラッシュメモリのセンスアンプは、ビット線をプリチャージした後、選択セルによりそのビット線をディスチャージさせる動作を行う。選択セルがオフ(例えばデータ“0”)の場合は、ビット線は放電されず、選択セルがオン(例えばデータ“1”)の場合はビット線が放電される。従って一定時間のビット線放電動作の後、ビット線電位を検出することによって、データを判定することができる。
しかしこのセンスアンプ方式では、セル電流が小さくなる程、またビット線容量が大きくなる程、データ判定のために長いビット線放電時間を必要とし、高速読み出しができなくなる。特に、多値記憶を行う場合には、複数回のセンス動作を必要とするために、読み出しの高速性能を如何に確保するかが重要な課題になる。
この実施の形態のセンスアンプSAは、ペアセルを構成する二つのセルT−cell,C−cellのセル電流の差を、ビット線対の間で差動検出する。後に詳細に説明するが、書き込みや消去のベリファイ読み出しには、参照電流源回路を用い、ベリファイすべきセルが接続されたビット線対の一方と参照セルとの間で、セル電流差の検出を行う。この場合には、センスアンプの差動入力の負荷容量が大きく異なるために、セル電流差の検出には一定のビット線充電時間を必要とする。
しかし通常の読み出し時は、参照電流源回路を用いることなく、ペアセルのセル電流差を差動検出するので、センスアンプ差動入力端での容量バランスがとれている。従って、読み出し開始(即ちセル駆動開始)初期からセル電流の大小関係が決まり、開始後早い段階でセンスアンプを活性にしても、誤センスすることはない。従って、極めて短時間でデータセンスすることが可能であり、特に多値記憶方式での高速読み出し性能を実現する上で重要になる。
更に、電流検出型差動センスアンプは、微小なセル電流差を確実に検出することができる。このことは、多値データのしきい値電圧レベル差を小さく設定した場合にも、確実にデータをセンスできることを意味する。即ちこの実施の形態のデータセンス方式は、多値データレベルが多い場合でも、十分なデータマージンを確保することを可能にする。
図31は、その様なセンスアンプSAの具体的な構成例を示している。このセンスアンプSAは、一種のCMOSフリップフロップ311を主体として構成されるが、通常のフリップフロップではない。
ゲートGAが共通接続されて直接接続されたPMOSトランジスタP23とNMOSトランジスタN61の共通ドレインは、一方の出力ノードOUTに接続されている。同じくゲートGBが共通接続されて直列接続されたPMOSトランジスタP24とNMOSトランジスタN62の共通ドレインは、他方の出力ノード/OUTに接続されている。これらの共通ゲートGA,GBは、出力ノード/OUT,OUTに交差接続されている。
PMOSトランジスタP23,P24はそれぞれPMOSトランジスタP21,P22を介し、電源スイッチとしてのPMOSトランジスタP20を介して、電源端子Vddに接続されている。PMOSトランジスタP21,P22のゲートはそれぞれ共通ゲートGA,GBに接続されている。
NMOSトランジスタN61,N62のソースは接地端子Vssに接続されている。共通ゲートGA,GBは、活性化用NMOSトランジスタN63,N64を介して接地端子Vssに接続されている。
直列接続されたPMOSトランジスタP21,P23の接続ノードNA、同じく直列接続されたPMOSトランジスタP22,P24の接続ノードNBがそれぞれセル電流の入力ノードとなる。具体的に図31の例では、ビット線TBLに接続される側の入力ノードINとNAとの間及び、ビット線CBLに接続される側のノード/INとNBの間にそれぞれ、PMOSトランジスタP27,P28によるカレントミラー回路312及び、PMOSトランジスタP29,P30によるカレントミラー回路313が配置されている。これらのカレントミラー回路312,313によって、セル電流に対応するレプリカ電流がノードNA,NBに供給される。
PMOSトランジスタP27,P28,P29,P30のドレインと接地端子Vssの間にそれぞれ接続されたNMOSトランジスタN71,N72,N73,N74は、初期化信号EQにより制御される。即ちセンス開始前に、EQ=“H”によって、ノードNA,NBをVssに初期化することができる。
入力ノードIN/INには、センス結果を帰還してこれらのノードを制御するための帰還回路314,315が設けられている。即ち、入力ノードINとNAの間及び、入力ノード/INとNBの間には、出力ノードOUT,/OUTによりゲートが制御されるPMOSトランジスタP25,P26が介在させている。入力ノードIN,/INにはそれぞれ、出力ノードOUT,/OUTによりゲートが制御される、ソースが接地されたNMOSトランジスタN65,N66が設けられている。
このセンスアンプSAの動作を説明すると、次の通りである。通常の読み出し動作では、図30に示すリファレンス電流源301は用いられない。/ACC=“H”,/SE=“H”の非活性状態では、NMOSトランジスタN63,N64がオンであり、出力ノードOUT,/OUT及び共通ゲートノードGA,GBは、Vssに保持されている。
二つのセルアレイの対をなすワード線TWL,CWLが選択され、一対のビット線TBL,CBLが入力ノードIN,/INに接続されるときに、/ACC=“L”、その後少し遅れて/SE=“L”となり、センスアンプSAが活性化される。このとき、選択されたペアセルの二つセルT−cell,C−cellのセル電流がそれぞれノードNA,NBに供給される。
センスアンプ活性化直後、NMOSトランジスタN61,N62は共にオフであるが、VssにリセットされていたノードOUT(=GB),/OUT(GA)は、電源からの電流とこれに重なるセル電流により充電される。セル電流差により、出力ノードOUT,/OUTの間(従ってゲートノードGA,GBの間)に電位差が生じると、フリップフロップ313では、出力ノードOUT,/OUTの差電圧を増幅する正帰還動作が行われ、その差電圧は急速に拡大する。
例えば、OUT(GB)が/OUT(GB)より低いとすると、/SEからの正帰還動作により、NMOSトランジスタN61がオン、NMOSトランジスタN62がオフ、PMOSトランジスタP22,P24がオン、PMOSトランジスタP21,P23がオフとなって、出力ノードOUT,/OUTはそれぞれ、Vss,Vddになる。
このような電流検出方式により、ペアセルのセル電流差を短時間でセンスすることができる。出力ノードOUT,/OUTの一方がVss、他方がVddになると、NMOSトランジスタN65,N66の一方がオンになり、入力ノードIN,/INの一方をVssにする帰還制御が行われる。これは書き込みベリファイ時に、ベリファイ読み出し結果に応じて、ビット線制御を行う必要があるためである。
以上のようにこのセンスアンプSAは、トランジスタN63,N64からの正帰還動作によりペアセルのセル電流差を短時間で検出することでき、高速の読み出しが可能になる。しかも、フリップフロップ313は貫通電流が流れないので、消費電力も少ない。
図32は、基本的に図31と同様のフリップフロップ311を用いるが、より簡単化したセンスアンプSAの例である。ここでは図31の回路で用いられているカレントミラー回路312,313が省略されている。カレントミラー回路を用いてノードNA,NBにレプリカ電流を入れる場合には、電源電流に対してセル電流を加算することになるのに対し、直接セル電流を入れる場合には減算になる。従って、図31とは逆に、入力ノードIN,/INをそれぞれノードNB,NAに接続している。
ノードNA,NBには、電源スイッチPMOSトランジスタP20と相補的にオンオフされるリセットNMOSトランジスタN67,N68が接続されている。これにより、センス前にノードNA,NBはVssに設定される。帰還回路314,315は、NMOSトランジスタN65,N66のみであり、出力ノードOUT,/OUTの“H”,“L”が確定すると、入力ノードIN,/INの一方を“L”=Vssにする動作が行われる。
図33は、図30におけるベリファイチェック回路VCKの具体構成を示している。このベリファイチェック回路VCKは、書き込み又は消去ベリファイ時、センスアンプ出力ノードOUT,/OUTにベリファイ読み出しされたデータが、ノードB,/Bに読み出されるデータラッチHBL又はLBLの期待値データと一致するか否かを判定するデータ比較回路320を用いている。
消去ベリファイと書き込みベリファイとでは期待セル状態が異なる。即ち消去ベリファイでは、セルのしきい値電圧が十分に下がったことを検証するのに対し、書き込みベリファイではセルのしきい値電圧があるレベルまで上がったことを検証する。具体的に、消去ベリファイでは、ノードBと/OUTの間又は、/BとOUT間が逆論理となることを検出して完了とし、書き込みベリファイでは、ノードBと/OUTの間又は、/BとOUT間が同じ論理となることを検出して完了とする必要がある。
このために、チェック入力信号INQiにより制御される相補的にオンオフさせるPMOSトランジスタP41とNMOSトランジスタN89の間に、4つの電流経路が配置されている。
ノードOUT及び/Bにそれぞれのゲートが接続されたNMOSトランジスタN81及びN82の間に、書き込みベリファイ時のチェック信号PRQが入るNMOSトランジスタN83を介在させた第1の経路及び、ノード/OUT及びBにそれぞれのゲートが接続されたNMOSトランジスタN84及びN85の間に、書き込みベリファイ時のチェック信号PRQが入るNMOSトランジスタN86を介在させた第2の経路が書き込みベリファイ時のデータ比較回路を構成する。
NMOSトランジスタN81及びN85とこれらの間に消去ベリファイ時のチェック信号ERQが入るNMOSトランジスタN87を介在させた第3の経路及び、NMOSトランジスタN84及びN82とこれらの間に同チェック信号ERQが入るNMOSトランジスタN88を介在させた第4の経路が、消去ベリファイ時のデータ比較回路を構成する。
ソースが電源に接続されたPMOSトランジスタP41のドレインノードNCiは、INQi=“L”の間“H”レベルに充電される。そして、INQi=“H”を入力したときに、ベリファイ読み出しデータが期待値になったときに、このノードNCiが“L”レベルに放電される。このノードNCiの“L”レベル遷移を受けて、インバータ321がFINi=“H”を出力する。
実際には、図34に示すように、同時に読み出しされる1ページ内の全センスユニット内のベリファイチェック回路VCKiが、チェック出力FIQiが次のチェック入力INQi+1となるように、ドミノ倒し接続される。ベリファイ判定時、最初のベリファイチェック回路VCK0にチェック入力INQo=“H”を入れる。1ページ内に書き込み或いは消去不十分のセルが一つでもあると、最終チェック出力FINn−1は“L”である。1ページ内の全セルの書き込み或いは消去が十分である場合に初めて、FINn−1=“H”が得られ、これが書き込み或いは消去完了を示すパスフラグ信号となる。
次に上述したセンスユニットに即して、具体的なデータ読み出し、ベリファイ消去及びベリファイ書き込みの動作を説明する。
(読み出し)
データ読み出しは、4値データの2ビットを全て読み出すには、前述のように3ステップt1,t2T及びt2Cを必要とする。図35はこの3ステップでの上位ビットHBと下位ビットLBのデータ確定の様子を示している。図36は、この読み出しサイクルでのワード線対TWL,CWLの読み出し電圧変化を示している。上位ビットHBのみを読み出すには勿論1ステップt1のみでよい。
最初のサイクルt1では、T−cell,C−cell側のワード線TWL,CWLに、図6に示す読み出し電圧R1を与える。このとき、図6から明らかなように、HB=“0”の場合、C−cellのセル電流がT−cellのそれより大きく、HB=“1”の場合は、セル電流は逆になる。
即ち、センスアンプSAでは、CBL=“L”,TBL=“H”としてHB=“0”が、CBL=“H”,TBL=“L”としてHB=“1”がセンスされる。このセンス結果は、転送回路303を介して、データラッチHBLに転送保持される。
ステップt2Tでは、HB=“1”なるペアセルについて、下位ビットLBをセンスする。このステップでは、図36に示すようにワード線TWL,CWLにそれぞれ、読み出し電圧R2,R1を与える。このとき、HB=“1”のペアセルについて、下位ビットLBが“1”であれば、TBLがCBLより低レベルになり(データ“11”)、下位ビットLBが“0”であれば、TBL,CBLは逆データになる(データ“10”)。この下位ビットデータは、上位ビットHB=“1”によりオンになる転送回路304を介してデータラッチLBLに転送保持される。
ステップt2Cでは、HB=“0”なるペアセルについて、下位ビットLBをセンスする。このステップでは、図36に示すようにワード線TWL,CWLにそれぞれ、読み出し電圧R1,R2を与える。このとき、HB=“0”のペアセルについて、下位ビットLBが“0”であれば、CBLがTBLより低レベルになり(データ“00”)、下位ビットLBが“1”であれば、CBL,TBLは逆データになる(データ“01”)。この下位ビットデータは、/HB=“1”によりオンになる転送回路305を介してデータラッチLBLに転送保持される。
以上のように、図35に示すように、ステップt1で上位ビットHBの“0”と“1”が確定し、ステップt2Tでは上位ビットがHB=“1”のペアセルについて、下位ビットLBの“0”と“1”が確定し、ステップt2Cでは上位ビットがHB=“0”のペアセルについて、下位ビットLBの“0”と“1”が確定する。
図6に示したデータビット割り付け法及び図30に示したセンスユニット構成では、下位ビットLBを読み出す前には必ず上位ビットHBが読み出されている必要がある。即ちペアセルが保持する下位ビットデータのみを独立に読み出すことはできないが、システムは簡単になる。但し、下位ビットを読み出すステップt2Tとt2Cの順序は逆であってもよい。
この実施の形態の読み出し法では、ペアセルのセル電流差を差動検出するため、高速の読み出しが可能である。例えば、後に説明するベリファイ読み出しでは、ペアセルを構成する各セルのセル電流を参照セルのそれと比較する。この場合には、センスアンプの差動入力ノードの一方のみにビット線が接続されるため、差動入力ノードの負荷容量のアンバランスが大きい。従って、データセンスのためには、ビット線容量の充電時間の経過を待ってDC電流を比較しなければならない。
これに対して通常読み出し動作では、ペアセルがつながるビット線対の間でセル電流差を検出するので、センスアンプ差動入力ノードの負荷バランスがとれている。従って、ビット線の充電時間を待つ必要はなく、極めて短時間でのデータセンスが可能である。たとえ3サイクルの読み出し動作が必要であるとしても、通常のNANDフラッシュメモリに比べて、高速の読み出しが可能になる。
(ベリファイ消去)
データ消去は、消去単位内の全セルに消去電圧を印加する動作と、その消去状態を確認するベリファイ動作との繰り返しにより行う。例えば、図3に示すように複数個配置されるページバンクについて、適当な複数ページバンクを含むブロックを消去単位とすることができる。或いはページバンクを消去単位としてもよい。
消去動作はセルを最下位しきい値レベルL0に設定する動作である。そのため選択ブロック内の全ワード線をVssとし、セルアレイが形成されたウェルに大きな消去電圧Veraを与えて、全セルのフローティングゲートから電子を抜き去る。
センスアンプユニット30の両側の全てのビット線TBL,CBLに接続されたセルのデータ消去を同時に行うが、消去ベリファイには、センスユニット30において、セル電流をリファレンス電流源回路301によるリファレンス電流と比較する必要がある。このため、ページバンク内のT−cellアレイとC−cellアレイとを別々のタイミングでベリファイ読み出しする必要がある。
このために、二つのデータラッチHBL,LBLに相補データを保持して、これによりT−cellアレイとC−cellアレイが順次選択されるようにする。例えば図37に示すように、図29に示した消去ステップvp0は、二つのベリファイ消去ステップp0(1),vp0(2)に分けられる。
ステップvp0(1)は、データラッチHBLにセットした“1”データに基づいて行うT−cellアレイ1tに対してベリファイ消去を行う。ステップvp0(2)は、データラッチLBLにセットしたデータ“0”に基づいてC−cellアレイ1cに対してベリファイ消去を行う。
但しこれらのセルアレイ選択は逆であってもよい。即ちHBL=“0”,“LBL”=“1”として、ステップvp0(1)でC−cellアレイを選択し、ステップvp0(2)でT−cellアレイを選択してもよい。
具体的なベリファイ消去動作を図38及び図39を参照して説明する。コマンド入力に続いてアドレスを入力して、消去すべきブロックを選択する(ステップS1)。次に、センスユニット30内のデータラッチHBL,LBLにそれぞれ、データ“1”,“0”をセットする(ステップS2)。
このデータセットのためには、図30には示していないがセンスユニット30のデータラッチ系に適当なリセット回路を設ければよい。例えばリセット信号により、データラッチLBLを“0”データ状態にリセットし、これを受けてデータラッチHBLがデータ“1”となるようなリセット回路である。
チップ内部には、ブロック内の全ページバンク及びその中のNANDブロックを順に選択できるアドレスカウンタを備え、ベリファイ消去はこのアドレスカウンタに基づいて制御されるようにする。即ちアドレスカウンタが一巡したか否かを検出し(ステップS3)、一巡していなければ、データラッチHBL,LBLのデータに従って順次ベリファイ消去を行う。
消去ステップvp0(1)では、転送回路303がオンになる。データラッチHBLのデータが“1”であれば、データノードB,/Bのデータに基づいて、T−cellアレイが選択される。即ち、一方のビット線TBLがセンスアンプSAの入力ノードINが接続され、他方のビット線CBLはセンスアンプから分離されて、入力ノード/INにはリファレンスセルN10が接続される。
そして、消去ベリファイが行われ(ステップS4)、消去不足のセルがある場合には、消去電圧印加が行われる(ステップS5)。
T−cellアレイの消去がパスしたら、消去ステップvp0(2)に移り、転送回路304がオンになる。そしてデータラッチLBLのデータに基づいて、C−cellアレイが選択される。なおHB=“0”,LB=“1”をセットする場合には、転送回路304でなく、転送回路305が選択される。
そして同様に、消去ベリファイが行われ(ステップS6)、消去不足のセルがある場合には、消去電圧印加が行われる(ステップS7)。消去電圧印加は、前述のように選択ブロック全体に対して行われる。
1ページバンク内のベリファイ消去は、図2に示すNANDブロック単位で、そのNANDブロック内の全ワード線にVss(ベリファイ電圧P0)を与えて行われる。選択されたNANDブロックのセルが全て、ベリファイ電圧P0より低い負のしきい値電圧になっていれば、リファレンス電流より大きなセル電流が流れて、消去が確認される。
ステップS4或いはS6での消去ベリファイチェックは、前述のように、ベリファイチェック回路VCKにより行われる。同時に動作する全センスユニット30で消去が完了すれば、FINn−1=“H”(パスフラグ出力)が得られる。
T−cellアレイとC−cellアレイのNANDブロックの消去が確認されたら、アドレスカウンタをカウントアップして(ステップS8)、次のNANDブロックペアが選択され、以下同様のベリファイ消去が、選択ブロック内の全ページバンクの消去が確認されるまで繰り返される。
図39は、ベリファイ読み出しステップS4及びS6の具体的なフローを示している。まずセンスアンプをリセットし、読み出し制御信号をREAD=“0”とし、選択されているNANDブロックの全ワード線(例えばTWL)とこれらと対をなす全ワード線(例えばCWL)をVssとし、リファレンスワード線RefWLを“1”とする(ステップS11)。これにより、センスアンプ入力ノードIN,/INの一方に、ビット線が接続され、他方にリファレンスセルが接続される。
その後センスアンプSAを活性化する(ステップS12)。次いで、PRQ=“0”,ERQ=“1”,INQ0=“1”を与えて、ベリファイチェック回路VCKを消去ベリファイモードで動作させる(ステップS13)。FINn−1=“1”になったか否かによりパス又はフェイルを判定する(ステップS14)。フェイルであれば、消去が行われる。パスであればセンスアンプSAをリセットする(ステップS15)。
(ベリファイ書き込み)
データ書き込みは図29に示したように、上位ビットのベリファイ書き込みステップvp1と、下位ビットのベリファイ書き込みステップvp2の2ステップで行われる。図40は、書き込みステップvp1で上位ビットHBの“0”,“1”が確定し、書き込みステップvp2で上位ビット“0”,“1”それぞれについて下位ビットLBの“0”,“1”が確定することを示している。
書き込みは、例えばあるページバンク内で全センスアンプユニットに同時に接続されるペアセルの集合(具体的には、一対のワード線TWL,CWLと、ビット線選択回路31t,31cにより同時に選択される複数対のビット線TBL,CBLとにより選択されるペアセル集合)を書き込み単位(1ページ)として行われる。
上位ビット書き込みと下位ビット書き込みの原理は同じであり、選択ワード線TWL,CWLに書き込み電圧Vpgmを印加する書き込み電圧印加動作と、その書き込み状態を確認するベリファイ読み出し動作の繰り返しにより行われる。
書き込み電圧印加時、“0”データが与えられた選択セルでフローティングゲートに電子注入が生じるように、予めNANDセルチャネルが書き込みデータにより電位設定される。NANDブロック内の非選択ワード線には、非選択セルで書き込みが起こらないように、必要な書き込みパス電圧を与える。
図41は、書き込み単位のデータ書き込みのシーケンスを示している。書き込みコマンド入力に続いて選択アドレスを入力して、選択ページのワード線対TWL,CWLを選択する(ステップS20)。書き込みは、前述のように上位ビットHB、下位ビットLBの順に行う必要があり、まず上位ビットデータをデータラッチHBLにロードすることが必要である。
ここでは、書き込みシーケンスが例えば同じページバンクに対する読み出しアクセスによって一時中断される場合があることを考慮している。そのため、上位ビット(HB)データが既にロードされているか否をまず判定し(ステップS21)、ロードされていない場合にのみ、外部からHBデータを入力して、データラッチHBLにロードする(ステップS24)。
既にHBデータが書かれている場合には、それがデータラッチHBLに保持されているかどうかを判定し(ステップS22)、保持されていない場合にはこれをセルアレイから読み出してデータラッチHBLに転送する(ステップS23)。
次に、下位ビット(LB)データを外部からロードして、データラッチLBLに転送保持する(ステップS25)。これで書き込みデータの準備が整ったことになる。
次に、HBデータの書き込みベリファイを行う(ステップS26)。このとき、書き込みタイミング信号vp1=“1”により、転送回路303がオンして、データラッチHBLのHBデータがノードB,/Bに出力される。このノードB,/Bの制御により、センスアンプSAの入力ノードIN,/INの一方にビット線が接続され、他方にはリファレンスセルN10が接続されて、ベリファイ読み出しが行われる。
ベリファイ読み出しの結果により、プルアップ回路302T,302Cが制御され、制御信号/PRG=“0”(=“L”)により、ビット線TBL,CBLの一方がVddに設定され、他方はリセットトランジスタN15又はN16によって、Vssにリセットされる。
書き込みベリファイがフェイルであれば、書き込みを行う(ステップS27)。書き込みは、ワード線TWL,CWLに書き込み電圧Vpgmを与えて行われる。HBデータによってセルチャネルがVssに設定されたセルでフローティングゲートに電子注入がなされ、しきい値電圧が上昇する(“0”書き込み)。セルチャネルがより高いフローティング状態に設定されてセルでは、フローティングゲートに電子注入は生じない(“1”書き込み或いは書き込み禁止)。
同様の動作をベリファイパスするまで繰り返す。データ書き込みがHBデータのみの場合もあるため、ここで書き込み完了の検出が行われる(ステップS28)。
LBデータ書き込みが必要の場合は、続いてLBデータ書き込みベリファイが行われる(ステップS29)。このとき、書き込みタイミング信号vp2=“1”とHBデータにより、転送回路304又は305が選択されて、HBデータに応じてノードB,/BにLBデータが出力される。
このノードB,/Bの制御により、センスアンプSAの入力ノードIN,/INの一方にビット線が接続され、他方にはリファレンスセルN10が接続されて、ベリファイ読み出しが行われる。書き込みベリファイがフェイルであれば、書き込みを行う(ステップS30)。以下、同様の動作をベリファイパスするまで繰り返す。この書き込みベリファイパスにより、1ページの書き込みが完了する。
図42は、書き込みベリファイステップS26及びS29の具体的なフローを示している。センスアンプSAをリセットし、読み出し制御信号をREAD=“0”としてセンスアンプ出力とデータラッチを切り離し、ワード線TWL,CWLにベリファイ電圧Pxを与え、リファレンスワード線RefWLに“1”(=“H”)を与える(ステップS41)。
ベリファイ電圧Pxは、HBビット書き込みの場合は、しきい値レベルがL2まで上昇したことを確認するに必要な電圧P1であり、LB書き込みの場合は、しきい値レベルがL1まで上昇したことを確認するに必要な電圧P2である(図6参照)。これらのベリファイ電圧P1,P2は、参照電流よりセル電流が小さくなるような読み出しワード線電圧として定義されるから、それぞれしきい値レベルL2,L1の分布の上限値よりわずかに高い電圧値である。
この後、センスアンプSAを活性化してデータセンスする(ステップS42)。センス後、/PRG=“0”として、ビット線TBL,CBLの一方をVdd、他方をVssに確定させ、PRQ=“1”,ERQ=“0”,INQ0=“1”を与えて、ベリファイチェック回路VCKを書き込みベリファイモードで動作させる(ステップS43)。そしてFINn−1=“1”になったか否かによりパス又はフェイルを判定する(ステップS44)。フェイルであれば、書き込みが行われる。パスであればセンスアンプSAをリセットする(ステップS45)。
なお、データラッチHBL,LBLに保持される書き込みデータと対応するベリファイ読み出しデータは論理レベルが反転する。しきい値電圧を上昇させるセルのデータは、選択ビット線を“L”レベル(=Vss)とするデータとして与えられ、そのセルに所望のしきい値電圧が書かれると、その選択ビット線が“H”となる読み出しが行われるからである。この点を考慮して、読み出し/書き込みデータ転送のインターフェース回路を構成することが必要である。
[5レベル/セル−8値/ペアセル(その1)の詳細]
次に、図14で説明した5レベル/セル−8値/ペアセル方式の詳細システムを説明する。センスアンプとラッチシステムの8値/ペアセルへの拡張は容易である。ペアセルに記憶されるビットデータの増加に伴いデータラッチの数を増やすこととその切り替えの信号をステップ数に応じて増やすことが必要になる。具体的に8値/ペアセルの場合、上位ビットHB、中間ビットMB及び下位ビットLBの3ビットデータとなるのでデータラッチは3つとなる。
(読み出し)
図43は、データ読み出しに必要なセンスユニット構成を示している。センスアンプSAは、先の4値/ペアセルの場合と同様の電流検出型差動センスアンプである。読み出される上位ビットHB,中間ビットMB及び下位ビットLBをそれぞれ保持するために、データラッチHBL,MBL及びLBLが併設される。
既に説明したように、データ読み出しには、7ステップを必要とする。各ステップの動作は、以下の通りである。各ステップで用いられる読み出し電圧R1−R4は、図14に示されている。
ステップt1;ワード線対に最上位レベルL4より高い読み出し電圧R1を与えて、ペアセルの上位ビットデータHBをセンスする。センスデータ“0”,“1”は、データラッチHBLに転送して保持する。
ステップt2T;T−cell側のワード線TWLに、レベルL3とL4の間に設定された読み出し電圧R2、C−cell側のワード線CWLに読み出し電圧R1を与えて、データセンスする。センスデータは、データラッチHBLのデータが“1”(即ち、HB=“H”)の場合、転送回路306を介してデータラッチMBLに格納される。更に、データラッチMBLに格納されたデータが“0”(即ち、/MB=“H”)の場合、そのデータラッチMBLに格納されたデータは、転送回路305を介してデータラッチLBLにもそのまま格納される。
このステップで、上位ビットHBが“1”のペアセルの一部の中間ビットMBと下位ビットデータLBが確定する。具体的にいえば、データ(111),(110),(101),(100)のうち、データ(100)が他と分離されて確定する。
ステップt2C;T−cell側のワード線TWLに読み出し電圧R1、C−cell側のワード線CWLに読み出し電圧R2を与えて、データセンスする。センスデータは、データラッチHBLのデータが“0”(即ち、/HB=“H”)の場合、転送回路307を介してデータラッチMBLに格納される。更に、データラッチMBLに格納されたデータが“1”(即ち、MB=“H”)の場合、そのデータラッチMBLのデータは転送回路304を介してデータラッチLBLに格納される。
このステップで、上位ビットHBが“0”のペアセルの一部の中間ビットMBと下位ビットLBが確定する。具体的にいえば、データ(000),(001),(010),(011)のうち、データ(011)が他と分離されて確定する。
ステップt3T;ワード線TWLに、レベルL2とL3の間に設定された読み出し電圧R3、ワード線CWLに読み出し電圧R1を与えて、データセンスする。センスデータは、データラッチHBLのデータが“1”(即ち、HB=“H”)の場合、転送回路306を介してデータラッチMBLに格納される。更に、データラッチMBLのデータが“0”(即ち、/MB=“H”)の場合はその同じデータがデータラッチLBLにも格納される。このステップでデータ(101)が確定する。
ステップt3C;ワード線TWLに読み出し電圧R1、ワード線CWLに読み出し電圧R3を与えて、データセンスする。センスデータは、データラッチHBLのデータが“0”(/HB=“H”)の場合、転送回路307を介してデータラッチMBL格納される。更に、データラッチMBLのデータが“1”(即ち、MB=“H”)の場合はその同じデータが、転送回路304を介してデータラッチLBLに転送される。このステップでデータ(010)が確定する。ここまでのステップで全ての中間ビットデータが確定する。
ステップt4T;ワード線TWLに、レベルL1とL2の間に設定された読み出し電圧R4を、ワード線CWLに読み出し電圧R1を与えてデータセンスする。センスデータは、データラッチMBLのデータが“1”(即ち、MB=“H”)の場合は、転送回路304を介してデータラッチLBLに格納される。これにより、データ(110)が確定し、同時にデータ(111)が確定する。
ステップt4C; ワード線TWLに読み出し電圧R1を、ワード線CWLに読み出し電圧R4を与えてデータセンスする。センスデータは、データラッチMBLのデータが“0”(即ち、/MB=“H”)場合は、転送回路305を介してデータラッチLBLに格納される。これにより、データ(001)が確定し、同時にデータ(000)が確定する。
図46は、以上の7ステップによる8値データの確定状況を示す。確定ビットデータが太字で示されている。第1のステップt1で上位ビットHBが確定する。第2,第3ステップt2T,t2Cで中間ビットMBが確定し、下位ビットLBの一部が確定する。これらのステップt2Tとt2Cの順序は逆であってもよい。さらに第4,第5のステップt3T,t3Cで残りの下位ビットの一部が確定し、第6,第7のステップt4T,t4Cで残りの全ての下位ビットが確定する。ステップt3Tとt3C及び、ステップt4Tとt4Cの順序は逆でもよい。
(ベリファイ消去)
センスアンプSA及びベリファイチェック回路VCKは、先の4値/ペアセルの場合と同じである。従って、図44にセンスユニット内のデータラッチ部のみ取り出して、ベリファイ消去の動作を説明する。
データ消去においては、T−cellアレイとC−cellアレイを順次消去すること、そのために二つのデータラッチに相補的データを保持することは、先の4値/ペアセルの場合と同じである。図44では、データラッチHBLとMBLの二つを用いる場合を示している。
データラッチHBL,MBLには例えば、“0”,“1”を保持する。二つの消去ステップに対応するタイミング信号vp0(1)及びvp0(2)によってこれらの相補データが読み出されて、T−cellアレイとC−cellアレイが順次選択される。データラッチLBLは使用しないので、転送回路304,305はオフを保つ。
消去動作は、選択範囲の全セルについて同時に行う。ベリファイは、T−cellアレイ又はC−cellアレイ内のNANDブロック毎に行われる。NANDブロック内の全ワード線をVssに設定し、同時にリファレンスワード線RefWLを立ち上げてリファレンスセルを有効にして、セル電流をリファレンスセルのそれと比較することで、しきい値電圧が最下位レベルL0になっているか否かを確認する。
消去不足のセルがあるNANDブロックについてはセル電流不足としてセンスされる。このとき、ベリファイチェック回路VCKで“パス”の出力FINn−1=“H”は得られない。同時に動作する全センスアンプで消去が判定されるまで、消去とベリファイ読み出しを繰り返す。
(書き込み)
書き込みは、消去状態のセルのしきい値電圧を4ステップvp1−vp3によって上昇させることによって行う。書き込みのためにはまずデータラッチHBL,MBL,LBLに必要な書き込みデータをロードする。但し最初のステップでは、データラッチHBLの上位ビット(HB)データのみを使うので、この時点ではデータラッチMBL,LBLにデータが書き込まれていなくても良い。
センスユニットの主要部は、先の4値/ペアセルの場合に説明した図30と同じであり、図45には書き込みに必要なデータラッチ回路部のみ示している。データラッチHBLのデータがノードBと/Bに読み出され、その論理レベルが“1”側のビット線がセンスアンプSAの一方の入力ノードにつながり、他方の入力ノードにはリファレンスセルがつながる。センスアンプにつながったビット線はVssに放電され、他方のビット線はVddに充電される。
ペアセルのワード線を所定のベリファイ電圧Pxに設定し、同時にリファレンス用ワード線RefWLを“H”にして、センスアンプを活性化し、ベリファイ動作を行う。センス確定後、信号/PRGを“L”としてビット線レベルを確定する。
次にペアセルのワード線TWL,CWLに書き込み電圧Vpgmを与えると、書き込みデータに従ってVssになっているビット線につながるセルのフローティングゲートに電子が注入され、そのしきい値電圧が上昇する。
ベリファイ動作はペアセルのワード線TWL,CWLに必要なベリファイ電圧Pxを与え、同時にリファレンスワード線RefWLを立ち上げてセンスアンプを駆動する。これにより、書き込みデータにしたがって一方のセンスアンプ入力ノードにビット線が接続され、他方の入力ノードにはリファレンスセルが接続され、セル電流とリファレンス電流の比較によるセンス動作が行われる。
センス確定後信号/PRGを“L”にすると、セルのしきい値電圧が十分に上昇していなければ、そのセンス結果はビット線をVssに放電し、他方のビット線をVddにプルアップする結果となる。
セルのしきい値電圧が十分に上昇していれば、ビット線はVddになり、他方のビット線もラッチデータによってVddになる。しきい値電圧が十分上昇したセルについては、センス後はノードBとOUT又は、/Bと/OUTの論理レベルが相補的になるので、この状態を書き込み完了の判断に利用する。
しきい値電圧上昇が不十分と判断された場合は、センスアンプの状態を維持したままペアセルのワード線TWL,CWLに書き込み電圧Vpgmを与えて、センスデータに従ってVssになっているビット線側のセルに更に書き込みを行う。
以上の動作を全てのセンスアンプが書き込み完了となるまで繰り返す。
図47は、各書き込みステップでのラッチデータの確定過程を示す。ステップvp1では、ベリファイ電圧P1を用いて、データラッチHBLのHBデータに基づいて、T−cell及びC−cellがレベルL4に書かれる。ステップvp2ではデータラッチHBL,MBLのデータ内容に従って、データラッチLBLのLBデータが一部書かれる。具体的には、ベリファイ電圧P4を用いて、データ(1,0,0)と(0,1,1)が書かれる。
ステップvp3ではベリファイ電圧P3を用いてデータ(101)及び(010)が書かれる。このステップで中間ビットMBの書き込みが完了する。ステップvp4でベリファイ電圧P4を用いてデータ(100)と(011)が書かれ、同時にデータ(111)と(000)も確定する。
以上におけるベリファイ電圧P1,P2,P3,P4はそれぞれ、レベルL4,L3,L2,L2の書き込み状態を確認するに必要な読み出し電圧であり、それぞれのしきい値分布の上限値よりわずかに高い電圧値である。また、読み出しデータと書き込みデータが論理反転していることは、先の4値/ペアセルの場合と同様である。従って適当なデータ転送のインターフェース回路を構成する必要がある。
この5レベル/セル−8値/ペアセル方式でも、データ読み出しは上位ビットから順に読み出すことが必要である。即ち、HBデータが読み出されなければ、MBデータを読み出すことはできず、同様にMBデータが読み出されていなければ、LBデータを読み出すことはできない。従ってシステム応用上データ読み出しに制限が生じるが、システム構成は簡単になる。
一方、多値データが記憶されたペアセルの上位、下位等のビット情報を任意の順番で読み出せることは応用上望ましい場合がある。ここまで説明したシステムのように読み出す順番が決まっていると、データ格納の際にこの順番を考慮しておかないと、データアクセス時間が延びたりするからである。データの属性はあらかじめ決められるとは限らないので読み出し順の制限は応用範囲を限定してしまう。
以下には、読み出し順序の制約がない多値記憶システムを、4値/ペアセルと8値/ペアセルについて説明する。
[3レベル/セル−4値/ペアセル(その3)]
図48は、HB,LBデータの単独読み出しを可能とした3レベル/セル−4値/ペアセル方式のデータビット割り付けを示している。前述の3レベル/セル−4値/ペアセル(その1)でのデータビット割り付け(図6)とは異なり、次のようになる。
T−cellの消去状態(レベルL0)とC−cellの最上位レベルL2の組み合わせが、データ(1,0)、T−cellの中間レベルL1とC−cellの最上位レベルL2の組み合わせが、データ(1,1)、C−cellの消去状態とT−cellの最上位レベルL2の組み合わせが、データ(0,0)、C−cellの中間レベルL1とT−cellの最上位レベルL2の組み合わせが、データ(0,1)である。
読み出しは、先の3レベル/セル−4値/ペアセル(その1)と同様の条件で3サイクルt1,t2T,t2で行うものとする。このとき、得られるデータを示したのが、図49である。
図49の読み出しビット情報を使って、上位ビットデータHBと下位ビットデータLBとを独立に読むために利用するのが、“1”のデータ数或いは“0”のデータ数である。HBデータ“1”,“0”はステップt1の読み出しデータ“1”,“0”と一致する。LBデータの値はステップt2Tとt2Cを通しての“1”の数の偶奇と一致している。従って、ステップt1のみで上位ビットデータHBを、ステップt2Tとt2Cのみで下位ビットデータLBを決定することができる。
この3レベル/セル−4値/ペアセル方式は、先の3レベル/セル−4値/ペアセル(その1)とはビット割り付けが異なるものの、そのデータ書き込み手順は、図29と同様であり、3ステップvp0,vp1,vp2で行われる。即ち最初のステップvp0では全てのセルを消去状態(レベルL0)にする。ステップvp1でT−cell,C−ellの一部を最上位レベルL2まで書き込み、最後にステップvp2で残りのセルの一部をレベルl1に書き込む。
[5レベル/セル−8値/ペアセル(その3)]
図50は、HB,MB,LBデータの単独読み出しを可能とした5レベル/セル−8値/ペアセル方式のデータビット割り付けを示している。前述の5レベル/セル−8値/ペアセル(その1)でのデータビット割り付け(図14)とは異なり、次のようになる。
C−cellの最上位レベルL4と、T−cellのレベルL0,L1,L2,及びL3とのそれぞれの組み合わせにより、データ(1,0,0),(1,0,1),(1,1,1)及び(1,1,0)を記憶する。T−cellの最上位レベルL4と、C−cellのレベルL0,L1,L2及びL3とのそれぞれの組み合わせにより、データ(0,0,0),(0,0,1),(0,1,1)及び(0,1,0)を記憶する。
このビット割り付けのとき、前述の5レベル/セル−8値/ペアセル(その1)と同様の条件での7サイクルの読み出しにより得られるデータをまとめると、図51のようになる。これらのビット情報を使ってHB,MB,LBデータを独立に得るには、やはり“1”のデータ数或いは“0”のデータ数を利用すればよい。
HBデータの“0”,“1”は、ステップt1の読み出しデータと一致する。MBデータは、ステップt3Tとt3Cを通しての“1”の数の偶奇と一致し、LBデータは、ステップt2T,t2C,t4T及びt4Cを通しての“1”の数の偶奇と一致する。従って、HBデータはステップt1のみで決定することができ、MBデータは、ステップt3Tとt3Cのみで、またLBデータは、ステップt2T,t2C,t4T及びt4Cのみで決定することができる。
この5レベル/セル−8値/ペアセル方式での書き込み手順を、図52を参照して簡単に説明する。
ステップvp0;ベリファイ消去ステップであり、ペアセルを構成する全てのセルがレベルL0状態に設定される。その消去方法は、先に説明した4値/ペアセル方式の場合と同様であり、T−cellアレイとC−cellアレイとを順に消去する。
ステップvp1;ロードされた上位ビット(HB)データに基づいて、消去状態にあるセルの一部(HB=“0”となるペアセルのT−cell、HB=“1”となるペアセルのC−Cell)を基準レベルとなる最上位レベルL4までしきい値電圧を上昇させる。
ステップvp2;HBデータと、ロードされた中間ビット(MB)データに従って、消去レベルL0の一部のセルのしきい値電圧を、下から3番目のレベルL2まで上昇させる。これにより、MBデータが確定する。
このステップvp2と先のステップvp1との間に、読出しモードを挿入することができる。但しその場合、読み出し動作によりデータラッチのHBデータは、消失する。従って、中断した書き込みステップvp2を再開するためには、既にセルアレイに書き込まれているHBデータを読み出しでデータラッチに保持すること、また外部からMBデータがロードされていること、が必要である。
ステップvp3;HB及びMBデータ状態と、ロードされた下位ビット(LB)データに従って、下から3番目のレベルL2のセルからその一部を、下から4番目のレベルL3へしきい値電圧を上昇させる。これにより、MB=“1”のペアセルにLBデータが書かれる。
このステップvp3と先のステップvp2との間に読出しモードを挿入することができる。この場合も、中断された書き込みを再開するためには、既にセルアレイに書かれているHB,MBデータを読み出してデータラッチにロードすること、及びLBデータが外部からロードされていること、が必要である。
ステップvp4;HB及びMBデータ状態と、ロードされた下位ビット(LB)データに従って、消去状態レベルL0のセルの一部のしきい値電圧を、レベルL3へと上昇させる。これにより、MB=“0”のペアセルにLBデータが書かれる。
このステップvp4と先のステップvp3との間に読出しモードを挿入することができる。この場合も、書き込みを再開するためには、既にセルアレイに書かれているHB,MBデータを読み出してそれぞれのデータラッチにロードすること、及びLBデータが外部からロードされていること、が必要である。
[3レベル/セル−4値/ペアセル(その3)のデータラッチ系]
図53は、上述した3レベル/セル−4値/ペアセル(その3)の場合に、“1”の数の偶奇性を利用してHBデータとは独立にLBデータ読み出しを可能とするデータラッチ系の構成を示している。データノードB,/Bに出力ノードがつながるセンスアンプ及びその入力部に設けられるリファレンス電流源回路は、先の4値/ペアセル(その1)と同様であり、ここでは省略している。
書き込みに不可欠な、HBデータ及びLBデータをそれぞれロードするためのデータラッチHBL及びLBLが用いられることも、前述の4値/ペアセル(その1)と同様である。データラッチHBL,LBLはそれぞれ選択信号CSL1,CSL2によって、データ線DQ,/DQとの間でデータ授受ができる。
二つのデータラッチHBLとLBLは、読み出し時、読み出される“1”の数の偶奇性を判定するために、クロックCLK,/CLKで制御される2ビットシフトレジスタを構成すべく従属接続している。サイクルt1,t2T,t2CによるHBデータ及びLBデータ読み出しの動作は次のようになる。
データラッチHBLは、リセット信号RSによって初期状態(データ“0”状態)にリセットされる。サイクルt1でのセンスデータは、サイクルt1に同期した相補クロックCLK=“H”,/CLK=“L”により、ノードBを介してデータラッチLBLに与えられ、これが/CLK=“H”でデータラッチHBLにシフトされて、HBLとLBLのデータが一致する。
即ち、データラッチLBLに読み出されるノードBのデータ“0”,“1”に応じて、データラッチHBLのデータは“0”,“1”となり、これがそのままHBデータになる。このHBデータは、選択信号CSL1により、データ線DQ,/DQに出力することができる。
次いでサイクルt2T,t2Cで順次センスされるデータは、同様にクロックCLK,/CLKにより制御されて、データラッチLBLに入って、データラッチHBLに転送される。従って、サイクルt2T,t2Cのいずれか一方のみで“1”がセンスされれば(即ち“1”の数が奇数)、データラッチHBLのデータは最終的に“1”となる。これがLB=“1”を示す。
サイクルt2T,t2Cで“1”が連続してセンスされるか、或いは“0”が連続してセンスされれば(“1”の数が偶数)、データラッチHBLのデータは最終的に“0”となる。これがLB=“0”を示す。
以上のようにして、図55に示すように、サイクルt1で上位ビット(HB)データを読み出すことができ、サイクルt2T及びt2Cのみで下位ビット(LB)データを、HBデータとは独立に読み出すことができる。
ベリファイ消去時は、データラッチHBL,LBLに同一データを保持する。タイミング信号vp0(1)ではデータラッチHBLのデータがノードB,/Bに出力される。次のタイミング信号vp0(2)では、データラッチHBLのデータに応じて、その相補データがデータラッチLBLからデータノードB,/Bに出力されるようになっている。この相補データにより、T−cellアレイとC−cellアレイが順次選択されて消去ベリファイが行われることは、先の3レベル/セル−4値/ペアセル(その1)と同じである。
ベリファイ書き込みは、データラッチHBL,LBLにそれぞれ、HBデータ,LBデータを保持して、基本的に図29と同様に、消去ステップvp0の後、2ステップvp1,vp2でそれぞれHBデータ書き込みとLBデータ書き込みが行われる。
ステップvp1のHBデータ書き込みは、先の4値/ペアセル(その1)と同様である。ステップvp2のLBデータ書き込みでは、データラッチLBLからデータノードB,/Bへの書き込みデータ転送方式が、先の4値/ペアセル(その1)と異なる。
即ち、4値/ペアセル(その1)のビット割り付け(図6)では、LB=“0”,“1”の書き込みがそれぞれ、T−cell,C−cellのしきい値電圧レベルをL1に上昇させるものであった。これに対して図48のデータビット割り付けでは、ステップvp2のLBデータ書き込みは、T−cell,C−cellともに、LB=“1”でしきい値電圧をL2に上昇させる動作となる。このとき、T−cell,C−cellを識別するのは、HBデータである。
従って、LBデータの書き込み時、HBデータによってノードB,/Bに設定されるデータ状態を反転させるように、データラッチHBLに確定されたHBデータにより、データラッチLBLのノードB,/Bへの転送が制御される。この転送制御によって、ステップvp2でデータ(1,1)と(0,1)の書き込みが同時にできる。
図56は、書き込みステップvp1,vp2でそれぞれHBデータ,LBデータが確定する様子を、太字で示している。
上述のように、HBデータとLBデータとは独立に読み出すことができるが、書き込みは、HBデータ,LBデータの順序を守ることが必要である。書き込み動作において、HBデータ書き込みが完了した後、読み出し動作を割り込ませることができる。この場合、読み出したHBデータが、中断した書き込みページと同じページのものであれば、これをそのままデータラッチHBLに保持して、中断したLBデータ書き込みを再開することができる。
異なるページの読み出し動作を割り込ませた場合には、中断した書き込みページのHBデータをセルアレイから読み出してデータラッチHBLに保持するダミー読み出し動作が必要となる。
[5レベル/セル−8値/ペアセル(その3)のデータラッチ系]
図54は、5レベル/セル−8値/ペアセル(その3)のデータラッチ系を示している。ベリファイ書き込みで3ビットデータを保持する必要があるため、3つのデータラッチHBL,MBL,LBLが用意されている。これらのデータラッチHBL,MBL,LBLはそれぞれ、選択信号CSL1,CSL2,CSL3によって、データ線DQ,/DQと接続されてデータ線DQ,/DQとの間でデータ授受ができる。
HBデータ読み出しには、例えばデータラッチHBLを用いる。即ちステップt1に対応してクロック信号CLKが1回発生され、HBデータがセンスされて、データラッチHBLに保持される。
MBデータ及びLBデータ読み出しには、先の3レベル/セル−4値/ペアセル(その3)の場合と同様に、二つのデータラッチを縦属接続したシフトレジスタを構成して“1”の数の偶奇性判定を行う。図54では、下側の二つのデータラッチMBL,LBLを用いてシフトレジスタを構成している。
MBデータ読み出しは、まずデータラッチMBLにはデータ“0”を初期設定する。ステップt3Tとt3Cを通しての“1”データの数が偶数の場合と奇数の場合それぞれ、MBL=“0”,MBL=“1”となり、これがそのままMBデータを示す。
LBデータ読み出しは、同様にデータラッチMBLをデータ“0”に初期設定した後、ステップt2T,t2C,t4T,t4Cを通しての“1”データ数の偶奇判定を行う。偶数の場合、MBL=“0”,奇数の場合、MBL=“1”となり、これらがそれぞれ、LBデータ=“0”,“1”を示す。
図55には、以上のデータ読み出し動作を、3レベル/セル−4値/ペアセル(その3)の場合と併せて示している。
データ書き込み時、HB,MB,LBデータはそれぞれ、データラッチHBL,MBL,LBLにロードされる。ステップvp1のHBデータ書き込みは、4値/ペアセル(その1或いはその3)の場合と同じであり、データラッチHBLのHBデータに基づいて行われる。
MBデータ書き込みの際には、先の4値/ペアセル(その3)の場合と同様に、データラッチHBLが保持するHBデータによって、ノードB,/Bに設定するデータ状態を反転させる必要があり、そのためにHBを確定しておく必要がある。また、LBデータ書き込みは、前述のように、ステップvp3でMB=“1”のデータを、ステップvp4でMB=“0”のデータを、それぞれ書き込む。
MBデータとLBデータは、T−cellとC−cellで同一しきい値電圧レベルとするものであり、ビット情報も同じである。このため、データラッチMBL或いはLBLのデータを、HBデータに従ってそのまま或いは反転してノードB,/Bに転送する必要があり、その様にデータ転送経路が構成されている。
ステップvp4ではデータ“1”のセルはステップvp3の書き込みム終了時にはしきい値電圧レベルがベリファイレベルP4より高くなっていて、ベリファイ時に書き込み完了と判定される。従って、MBデータに依存してデータ反転して転送する経路は設けなくてもよい。
図57は、以上の書き込みステップでのデータ確定の変化を示している。太字で示したのが、確定データである。
ベリファイ消去時は、二つのデータラッチHBLとMBLに同一データを書き込んで、先の4値/ペアセル(その3)の場合と同様にすればよい。即ち、ステップvp0(1)とvp0(2)とで、T−cellアレイとC−cellアレイを順次選択して消去する。
以上のように、図54のデータラッチ系によれば、二つのデータラッチの縦属接続によりシフトレジスタを構成して、“1””の数の偶奇判定を行うことにより、MBデータやLBデータを独立に読み出すことができる。また3つのデータラッチを備えて、データ書き込みはHBデータ,MBデータ及びLBデータの順序で行うことができる。
HBデータ書き込み完了後、或いはMBデータ書き込み完了後に、それらの書き込まれたデータの読み出し動作を割り込ませることもできる。読み出し後、中断した書き込み動作を再開することができる。但し、割り込ませる読み出し動作が、書き込みページと異なる場合には、中断した書き込みの再開のためには、セルアレイからHBデータ或いはMBデータを読み出すダミー読み出し動作が必要となる。
この発明は上記実施の形態に限られない。例えば、実施の形態では浮遊ゲートと制御ゲートが積層された構造のメモリセルを用いたが、SONOS(Silicon Oxide Nitride Oxide Silicon)構造や、MONOS(Metal Oxide Nitride Oxide Silicon)構造のメモリセルを用いることもできる。更に、電荷量によるしきい値電圧以外の他の物理量レベルを不揮発に記憶するメモリ、たとえば相変化メモリPRAM(Phase−change RAM)、抵抗メモリRRAM(Resistance RAM)、オーボニックメモリOUM(Ovonic Unified Memory)、磁気抵抗メモリMRAM(Magnetoresistive RAM)、強誘電体メモリ等の他の各種不揮発性メモリにもこの発明を適用することが可能である。
1t,1c…セルアレイ、2t,2c…カラムゲート回路、3…センスアンプ回路、4t,4c…ロウデコーダ、5t,5c…カラムデコーダ、6…アドレスバッファ、7…アドレスレジスタ、8…コマンドデコーダ、9…コントローラ、10…高電圧発生回路、11…データバッファ、T−cell,C−cell…ペアセル、TBL,CBL…ビット線対、TWL,CWL…ワード線対、30…センスユニット、SA…センスアンプ、HBL,MBL,LBL…データラッチ、301…リファレンス電流源回路、302T,302C…プルアップ回路、303,304,305,306,307…転送回路。