以下、図面を参照しながら実施形態に係る不揮発性半導体記憶装置について説明する。
[第1の実施形態]
<全体構成>
先ず、第1の実施形態に係る不揮発性半導体記憶装置の全体構成について説明する。
図1は、本実施形態に係る不揮発性半導体記憶装置のブロック図である。
このNAND型フラッシュメモリは、NANDチップ10及びこのNANDチップ10を制御するコントローラ11を備える。
NANDチップ10を構成するメモリセルアレイ1は、後述するように、複数の浮遊ゲート型のメモリセルをマトリクス状に配置して構成される。このメモリセルアレイ1には、必要に応じて、ユーザからアクセスできないROMヒューズ領域1aを設けても良い。このROMヒューズ領域1aには、データ書き込み時など装置の制御に必要な各種情報が記憶される。
メモリセルアレイ1の周辺には、ロウデコーダ/ワード線ドライバ2a、カラムデコーダ2b、ページバッファ3及び電圧発生回路8が配置されている。これら、ロウデコーダ/ワード線ドライバ2a、カラムデコーダ2b、ページバッファ3及び電圧発生回路8は制御回路を構成するものであり、メモリセルアレイ1に対してページ単位でデータの書き込み、或いは読み出しを行う。
ロウデコーダ/ワード線ドライバ2aは、メモリセルアレイ1のワード線及び選択ゲート線を駆動する。ページバッファ3は、1ページ分のセンスアンプ回路とデータ保持回路を備えている。ページバッファ3の1ページ分の読み出しデータは、カラムデコーダ2bにより順次カラム選択されて、I/Oバッファ9を介して外部I/O端子に出力される。I/O端子から供給される書き込みデータは、カラムデコーダ2bにより選択されてページバッファ3にロードされる。ページバッファ3には、1ページ分の書き込みデータがロードされる。ロウアドレス信号及びカラムアドレス信号はI/Oバッファ9を介して入力され、それぞれ、ロウデコーダ2a及びカラムデコーダ2bに転送される。ロウアドレスレジスタ5aは、消去動作では、消去ブロックアドレスを保持し、書き込み動作や読み出し動作ではページアドレスを保持する。カラムアドレスレジスタ5bには、書き込み動作開始前の書き込みデータロードのための先頭カラムアドレスや、読み出し動作のための先頭カラムアドレスが入力される。書き込みイネーブル/WEや読み出しイネーブル/REが、所定の条件でトグルされるまで、カラムアドレスレジスタ5bは入力されたカラムアドレスを保持する。
ロジック制御回路6は、チップイネーブル信号/CE、コマンドイネーブル信号CLE、アドレスラッチイネーブル信号ALE、書き込みイネーブル信号/WE、読み出しイネーブル信号/RE等の制御信号に基づいて、コマンドやアドレスの入力、データの入出力を制御する。読み出し動作や書き込み動作はコマンドで実行される。コマンドを受けて、シーケンス制御回路7は、読み出し動作や、書き込み或いは消去のシーケンス制御を行う。電圧発生回路8は、制御回路7により制御されて、種々の動作に必要な所定の電圧を発生する。
コントローラ11は、NANDチップ10の現在の書き込み状態に適した条件でデータの書き込み及び読み出しの制御を実行する。なお、後述する書き込み動作の一部は、NANDチップ10側で行うようにしても良い。
<メモリセルアレイ>
次に、本実施形態に係る不揮発性半導体記憶装置のメモリセルアレイ1について説明する。
図2は、メモリセルアレイ1の回路図である。図2の場合、64個の直列接続されたメモリセルMC0〜MC63とその両端に接続された選択ゲートトランジスタSG0、SG1により、NANDストリング4が構成されている。選択ゲートトランジスタSG0のソースは、共通ソース線CELSRCに接続され、選択ゲートトランジスタSG1のドレインはビット線BL(BL0〜BLn−1)に接続される。メモリセルMC0〜MC63の制御ゲートはそれぞれワード線WL(WL0〜WL63)に接続され、選択ゲートトランジスタSG0、SG1のゲートは、選択ゲート線SL0、SL1に接続される。
1つのワード線WLに沿う複数のメモリセルMCの範囲が、一括したデータの読み出し及び書き込みの単位となるページとなる。また、ワード線WL方向に並ぶ複数のNANDストリング4の範囲が、データの一括消去の単位となるブロックBLKを構成する。図2では、ビット線BL方向にビット線BLを共有する複数のブロックBLK0〜BLKm−1を配列して、セルアレイ1が構成されている。ワード線WL及び選択ゲート線SL0、SL1は、ロウデコーダ2aにより駆動される。各ビット線BLは、ページバッファ3のセンスアンプ回路S/Aに接続されている。
ここで、このようなNAND型フラッシュメモリのアクセス単位である「ページ」について説明する。以下の説明において、「ページ」とは、異なる2つの意味を有するので注意を要する。
第1は、1つのワード線に沿う一括したデータアクセス単位としての「ページ」である。そして、第2は、1つのメモリセルに複数ビットを記憶する場合の記憶データの階層を示す「ページ」であり、この場合、「L(Lower)ページ」、「U(Upper)ページ」などと呼ぶ。
<クイックパスライト方式の書き込みシーケンス>
先ず、本実施形態のデータ書き込みについて説明する前に、以下で用いる用語について説明しておく。
始めに、データ書き込み時に実行される一連の処理を「書き込みシーケンス」と呼ぶ。この書き込みシーケンスは、実際にメモリセルの閾値電圧を遷移させる「プログラム動作」と、メモリセルの閾値電圧を確認する「ベリファイ動作」からなる「書き込みループ」の繰り返しによって実行される。各プログラム動作は、1又は2以上の「プログラムステップ」からなる。各プログラムステップでは、ワード線に対してメモリセルの閾値電圧の遷移に必要なプログラム電圧を1回印加される。また、各ベリファイ動作は、1又は2以上の「ベリファイステップ」からなる。各ベリファイステップでは、所定のベリファイ電圧を用いたメモリセルの閾値電圧の検知動作が1回実行される。なお、このベリファイステップを、その目的に応じて「本ベリファイステップ」或いは「予備ベリファイステップ」と呼ぶこともある。これら本ベリファイステップ或いは予備ベリファイステップについては、以下で詳しく説明する。
次に、本実施形態の書き込みシーケンスについて説明する。
図3は、2ビット/セルのメモリセルを用いた場合の書き込みシーケンス時のメモリセル群の閾値電圧分布の遷移の様子を示す図である。
始めに、データ消去を実行する。これは、ブロック全体に対して一括に実行される。その結果、ブロック内の全てのメモリセルの閾値電圧は、最も低いERレベルになる。
続いて、Lページ書き込みを実行する。これは、書き込みデータの下位ビットに基づいて実行される。下位ビットが“1”の場合、メモリセルの閾値電圧はERレベルに維持される。下位ビットが“0”の場合、メモリセルの閾値電圧はERレベルからAレベルとBレベルとの中間レベルであり、メモリセル群の閾値電圧分布の下限が電圧Vlmよりも高いLMレベルに遷移する。ただし、メモリセル群の閾値電圧分布は、ECC救済できるビット数までは電圧Vlmよりも低くしてもよい場合がある。また、以降「メモリセルの閾値電圧が電圧よりも高いレベル」とは、「閾値電圧分布の下限が電圧よりも高い」を意味する。
最後に、Uページ書き込みを実行する。これは、書き込みデータの上位ビットに基づいて実行される。もし、メモリセルの閾値電圧がERレベルならば、上位データが“1”の場合、メモリセルの閾値電圧はERレベルのまま維持する。逆に、上位ビットが“0”の場合、メモリセルの閾値電圧は電圧Va(Va<Vlm)よりも高いAレベルに遷移する。一方、メモリセルの閾値電圧がLMレベルならば、上位ビットが“0”の場合、メモリセルの閾値電圧は電圧Vb(Va<Vb)よりも高いBレベルに遷移する。逆に、上位ビットが“1”の場合、メモリセルの閾値電圧は電圧Vc(Vb<Vc)よりも高いCレベルまで遷移する。
以上のように、メモリセルに対する2ビットデータの書き込みは、Lページ書き込みとUページ書き込みの2段階によって実現される。各ページの書き込みは、前述のように、書き込みループの繰り返しによって実現される。
更に、本実施形態では、クイックパスライト方式と呼ばれる動作方式の書き込みシーケンスを用いる。以下において、クイックパスライト方式を「QPW方式」と呼ぶ。また、QPW方式の書き込みシーケンスを単に「書き込みシーケンス」と呼ぶこともある。
QPW方式とは、ある書き込みループのベリファイ動作の結果に応じて、次の書き込みループにおけるメモリセルの閾値電圧の遷移量を調整することを特徴とする動作方式である。なお、以下では、所定のプログラム電圧を印加した場合のメモリセルの閾値電圧の遷移量、つまり、メモリセルの閾値電圧の遷移のし易さを「プログラム速度」と呼ぶことにする。
図4は、書き込みシーケンス時のメモリセル群の閾値電圧分布の遷移の様子を示す図である。図5は、書き込みシーケンス時のワード線に印加される電圧Vwlの様子を示す図である。また、図6は、書き込みシーケンスの制御区分を説明する図である。
図4は、メモリセル群の閾値電圧分布を分布D0から分布D2まで遷移させる例を示している。
本実施形態の書き込みシーケンスでは、前述の通り、プログラム動作とベリファイ動作からなる書き込みループLWを繰り返し実行する。
このうち、各書き込みループLWのプログラムステップSPαでは、メモリセルの閾値電圧を電圧Vα(図3の電圧Va、Vb、Vcに相当)に遷移させるために必要なプログラム電圧Vpαがワード線に印加される。このプログラム電圧Vpαは、書き込みループLWの回数が増えるにつれ、図5に示すように、ΔVpずつステップアップされていく。
また、各書き込みループLWのベリファイ動作では、レベル毎に2回のベリファイステップが実行される。1回目のベリファイステップは、予備ベリファイステップSVα´(図3の電圧Va´、Vb´、Vc´に相当)である。予備ベリファイステップSVα´は、予備ベリファイ電圧Vα´を用いたベリファイステップである。この予備ベリファイ電圧Vα´は、所望の閾値電圧分布D2の下限よりも少し低く設定されている。2回目のベリファイステップは、本ベリファイステップSVαである。本ベリファイステップSVαは、本ベリファイ電圧Vαを用いたベリファイステップである。この本ベリファイ電圧Vαは、所望の閾値電圧分布D2の下限に設定されている。
QPW方式の書き込みシーケンスの特徴は、前述の通りであるが、具体的には、所定の書き込みループLWにおける上記ベリファイ動作によってメモリセルの閾値電圧が、Vth≦Vα´(図6の閾値電圧分布Da)、Vα´<Vth≦Vα(図6の閾値電圧分布Db)、Vα<Vth(図6の閾値電圧分布Dc)のいずれの区分に属するかを判定する。その結果、メモリセルの閾値電圧がVth≦Vα´であった場合、次の書き込みループLWでは、通常のプログラム動作を実行する。これに対し、メモリセルの閾値電圧がVα´<Vth≦Vαであった場合、次の書き込みループLWでは、プログラム速度を抑えた精密なプログラム動作を実行する。プログラム速度の調整は、例えば、ビット線BLに対して所定の電圧を印加することで実現できる。また、メモリセルMCの閾値電圧VthがVα<Vthであった場合、次の書き込みループLWのプログラム動作を禁止する。プログラム動作の禁止は、例えば、ビット線BLに対して電源電圧Vddを印加すれば良い。
以上の書き込みループLWによって、例えば、所定の書き込みループLWが終了した時点のメモリセル群の閾値電圧分布があと少しで閾値電圧Vthが本ベリファイ電圧Vαを超えるメモリセルMC(例えば、図4の分布D1にある場合)に対して、精密なプログラム動作を実行することができる。そのため、QPW方式の書き込みシーケンスによれば、図4の分布D2で示すような狭小な閾値電圧分布を得ることができる。
しかし、QPW方式の書き込みシーケンスの場合、ベリファイ動作におけるベリファイステップ数が多くなるため、書き込みシーケンスの処理時間が長くなる傾向がある。
そこで、第1の実施形態では、無駄な予備ベリファイステップを省略することで、書き込みシーケンスの処理時間の短縮を図る。
図7は、一回のプログラム動作におけるメモリセル群の閾値電圧分布であり、下限側が本ベリファイ電圧に達していないメモリセル群の閾値電圧分布となる。すなわち、閾値電圧分布の下限側にいるメモリセルMCほどプログラム速度が遅いメモリセルMCであるといえる。ここで、無駄な予備ベリファイステップとは、図7の点線円c1で示された閾値電圧分布の下裾側のメモリセルMCに対する予備ベリファイステップの事である。何故ならば、これらメモリセルMCは、プロセスばらつきなどにより元々プログラム速度の遅いメモリセルである。このようなプログラム速度の遅いメモリセルに多少粗いプログラム動作を実行したとしても所望の閾値電圧分布の上限を一挙に超えるようなことは極めて希だからである。つまり、これらプログラム速度が遅いメモリセルMCだけについて言えば、本来、QPW方式の書き込みシーケンスは不要であり、QPW方式を採用したが故に必要となる予備ベリファイステップを省略したとしても、省略しない場合と同程度の狭小な閾値電圧分布が得られるためである。
ここで、メモリセルMCのプログラム速度が遅いかを判定する基準であるが、本実施形態では、書き込みループ数を用いて判定する。具体的には、所定の書き込みループ数を実行した時点において閾値電圧が本ベリファイ電圧を超えていないメモリセルをプログラム速度の遅いメモリセルとして扱う。
この場合、書き込みシーケンスは、図8のようになる。つまり、本実施形態の書き込みシーケンスは、始めに、シーケンス制御回路7が、書き込みループ数が所定数Nよりも小さいかを判定する(図8のステップS101)。書き込みループ数が所定数Nよりも小さい場合、シーケンス制御回路7は予備ベリファイステップを含む書き込みループを実行し(図8のステップS102)、書き込みループ数が所定数N以上の場合、シーケンス制御回路7は予備ベリファイステップを省略させた書き込みループを実行する(図8のステップS103)。そして、シーケンス制御回路7は、以上のステップS101〜S103の処理を、メモリセルへのプログラムが完了するまで繰り返し実行する(図8のステップS104)。この所定数Nは、例えば、予めROMヒューズ領域1aに記録することができる。また、この所定数Nはコントローラ11よりNANDチップ10に書き込みコマンドと同時に送付されても良い。
以下において、プログラム速度が遅いメモリセルMCに対する予備ベリファイステップVα´を省略する条件を「第1予備ベリファイステップ省略条件」(第1条件)と呼ぶこともある。
図9は、本実施形態の書き込みシーケンスの効果を説明する図である。この図9は、各書き込みループLWの理解を容易にするため、ワード線WLに印加される電圧Vwlによって表現している。また、全ての書き込みループLWにおいて予備ベリファイステップSVα´を省略しない書き込みシーケンスを用いた場合も比較例として示している。
なお、以下で説明する実施形態に対する比較例は、全ての書き込みループLWにおいて予備ベリファイステップSVα´を省略しない書き込みシーケンスを用いた場合をいう。
図9に示す例は、4回の書き込みループLW<1>〜<4>で書き込みシーケンスが完了する場合であり、書き込みループ数が3以上であることを第1予備ベリファイステップ省略条件とする場合である。
図9に示す場合、3回目、4回目の書き込みループLW<3>、<4>の予備ベリファイステップSVα´が省略されるため、比較例に比べ、予備ベリファイステップSVα´を2回処理する時間Δtだけ書き込みシーケンスの処理時間を短縮できる。
次に、図10及び図11を用いて説明した書き込みシーケンスを、2ビット/セルのメモリセルMCを用いた不揮発性半導体記憶装置に適用した場合について説明する。
図10は、本実施形態の書き込みシーケンスを2ビット/セルのメモリセルMCを用いた不揮発性半導体記憶装置に適用した場合であって、書き込みシーケンスの各書き込みループの予備ベリファイステップ及び本ベリファイステップの実行/省略を示す図である。また、図11は、図10示す書き込みシーケンスの効果を説明する図である。
図10及び図11に示す例では、Lページ書き込み後に、Uページ書き込みにおいて、Aレベル、Bレベル、CレベルのプログラムをプログラムステップSPで一括して行う。したがって、プログラム動作は、1回のプログラムステップSPしか実行しない。なお、Lページ書き込みを行わず、Uページ書き込みのみで、Aレベル、Bレベル、CレベルのプログラムをプログラムステップSPで一括して行ってもよい。
また、Aレベル、Bレベル、Cレベルのプログラムのために実行される書き込みループ回数を、それぞれ10回、15回、20回で設定している。また、Aレベル、Bレベル、Cレベルの第1予備ベリファイステップ省略条件を、書き込みループ数がそれぞれ8回以上、13回以上、18回以上で設定している。
この場合、図10左図及び図11下図に示すように、1回目の書き込みループLW<1>では、プログラムステップSP、Aレベルに対する予備ベリファイステップSVa´及び本ベリファイステップSVa、Bレベルに対する予備ベリファイステップSVb´及び本ベリファイステップSVb、並びに、Cレベルに対する予備ベリファイステップSVc´及びSVcの計7ステップの処理を実行する。続く2回目〜7回目の書き込みループLW<2>〜<7>は、それぞれ書き込みループLW<1>と同様である。
8回目の書き込みループLW<8>からは、Aレベルに対する予備ベリファイステップSVa´を省略する。そのため、書き込みループLW<8>では、計6ステップの処理を実行する。続く8回目、9回目の書き込みループLW<9>、<10>は、それぞれ書き込みループLW<7>と同様である。
ここまでで、メモリセルMCに対するAレベルのプログラムは完了する。したがって、以降の書き込みループLWからは、Aレベルに対するプログラム動作及びベリファイ動作はなくなる。
続く11回目の書き込みループLW<11>では、計5ステップの処理を実行する。続く12回目の書き込みループLW<12>は、それぞれ書き込みループLW<11>と同様である。
13回目の書き込みループLW<13>からは、Bレベルに対する予備ベリファイステップSVb´を省略する。そのため、書き込みループLW<13>では、計4ステップの処理を実行する。
ここまでで、メモリセルMCに対するBレベルのプログラムは完了する。したがって、以降の書き込みループLWからは、Bレベルに対するプログラム動作及びベリファイ動作はなくなる。
続く16回目の書き込みループLW<16>では、計3ステップの処理を実行する。続く17回目の書き込みループLW<17>は、書き込みループLW<16>と同様である。
18回目の書き込みループLW<18>からは、Cレベルに対する予備ベリファイステップSVc´を省略する。そのため、書き込みループLW<18>では、計2ステップの処理を実行する。続く19回目の書き込みループLW<19>及び最後の20回目の書き込みループLW<20>は、それぞれ書き込みループLW<18>と同様である。
以上から、本実施形態の場合、書き込みループLW<1>〜<20>を計101ステップで処理することができる。
これに対し、比較例の場合、図10左図及び図11上図に示すように、1回目の書き込みループLW<1>からメモリセルMCに対するAレベルのプログラムが完了する10回目の書き込みループLW<10>までは、それぞれ計7ステップの処理を実行する。続く11回目の書き込みループLW<11>からメモリセルMCに対するBレベルのプログラムが完了する15回目の書き込みループLW<15>までは、それぞれ計5ステップの処理を実行する。そして、続く16回目の書き込みループLW<16>からメモリセルMCに対するCレベルのプログラムが完了する20回目の書き込みループLW<20>までは、それぞれ計3ステップの処理を実行する。
以上から、比較例の場合、書き込みループLW<1>〜<20>を計110ステップで処理することになる。
書き込みシーケンスは、図12のようになる。つまり、本実施形態の書き込みシーケンスは、始めに、シーケンス制御回路7が、書き込みループ数が所定数NAよりも小さいかを判定する(図12のステップS101A)。同様に、シーケンス制御回路7が、書き込みループ数が所定数NB、NCよりも小さいかを判定する(図12のステップS101B、S101C)。
ここで、NA<NB<NCの関係がある。また、図10において、NAは7回目のループ数、NBは12回目のループ数、NCは17回目のループ数である。
シーケンス制御回路7は、ステップS101A〜S101Cにそれぞれ該当するか否かにより、各レベルの予備ベリファイステップを行うか省略するかを決定する(図12のステップS102)。そして、シーケンス制御回路7は、以上のステップS101A〜S102の処理を、メモリセルMCへのプログラムが完了するまで繰り返し実行する(図12のステップS104)。
つまり、本実施形態の場合、図11に示すように、比較例と比べて、書き込みシーケンスの処理時間を9ステップ分短縮することができる。また、この場合であっても、プログラム速度が遅いメモリセルMCに対する予備ベリファイステップSVa´、SVb´、SVc´しか省略しないため、メモリセル群の閾値電圧分布の広がりは、比較例と同程度に抑制できる。
以上、本実施形態によれば、QPW方式の書き込みシーケンスの効果を維持しつつ、書き込みシーケンスの処理時間を短縮することができる。
[第2の実施形態]
第1の実施形態では、プログラム速度の遅いメモリセルに対する予備ベリファイステップを省略することで、書き込みシーケンスの処理時間の短縮を図った。これに対し、第2の実施形態では、更に、プログラム速度の速いメモリセルに対する予備ベリファイステップも省略する。
図13は、一回のプログラム動作におけるメモリセル群の閾値電圧分布である。すなわち、閾値電圧分布の上限側にいるメモリセルMCほどプログラム速度が速いメモリセルMCであるといえる。ここで、プログラム速度の速いメモリセルMCとは、例えば、図13の点線円c1で示された閾値電圧分布の上裾側のメモリセルMCの事である。これらプログラム速度の速いメモリセルMCの場合、1回のプログラム動作による閾値電圧Vthの遷移量が大きい。したがって、メモリセルMCの閾値電圧Vthが予備ベリファイ電圧Vα´以下であったとしても、1回のプログラム動作によって、閾値電圧Vthが一挙に本ベリファイ電圧Vαを超えてしまうことも多い。すなわち、図13の点線円c1に属するメモリセルMCは本ベリファイ電圧より大きい閾値電圧を有している。なお、プログラム速度が速いメモリセルMCもプロセスばらつき等により発生する。
また、このようにプログラム速度が速いメモリセルMCの数は、図13の閾値電圧分布を見ても分かるようにそれほど多いものではない。
したがって、プログラム速度が速いメモリセルMCに対する予備ベリファイステップを省略したとしても、メモリセル群の閾値電圧分布の広がりを、比較例と同程度に抑制することができる。
そこで、本実施形態では、早い段階で実行される書き込みループの予備ベリファイステップを省略することで、プログラム速度が速いメモリセルMCに対する無駄な予備ベリファイステップの処理時間を短縮する。なお、その他のメモリセルMCについては、早い段階で実行される書き込みループによって閾値電圧Vthが予備ベリファイ電圧Vα´に達しないため、このことによる不都合は生じない。
以下において、プログラム速度が速いメモリセルMCに対する予備ベリファイステップを省略する条件を「第2予備ベリファイステップ省略条件」(第2条件)と呼ぶ。
図14は、本実施形態の書き込みシーケンスの効果を説明する図である。この図14も、図9と同様、各書き込みループLWの理解を容易にするため、ワード線WLに印加される電圧Vwlによって表現している。
図14に示す具体例は、6回の書き込みループLW<1>〜<6>で書き込みシーケンスが完了する場合であり、書き込みループ数が6以上であることを第1予備ベリファイステップ省略条件、書き込みループ数が1以下であることを第2予備ベリファイステップ省略条件とする場合である。
図14に示す具体例の場合、1番目、6番目の書き込みループLW<1>、<6>の予備ベリファイステップSVα´が省略されるため、比較例に比べ、予備ベリファイステップSVα´を2回処理する時間Δtだけ書き込みシーケンスの処理時間を短縮できる。
次に、図15及び図16を用いて説明した書き込みシーケンスを、2ビット/セルのメモリセルMCを用いた不揮発性半導体記憶装置に適用した場合について説明する。図15及び図16に示す例では、Lページ書き込み後に、Uページ書き込みにおいて、Aレベル、Bレベル、CレベルのプログラムをプログラムステップSPで一括して行う。したがって、プログラム動作は、1回のプログラムステップSPしか実行しない。なお、Lページ書き込みを行わず、Uページ書き込みのみで、Aレベル、Bレベル、CレベルのプログラムをプログラムステップSPで一括して行ってもよい。
図15は、本実施形態の書き込みシーケンスを2ビット/セルのメモリセルMCを用いた不揮発性半導体記憶装置に適用した場合であって、書き込みシーケンスの各書き込みループの予備ベリファイステップ及び本ベリファイステップの実行/省略を示す図である。また、図16は、図15に示す書き込みシーケンスの効果を説明する図である。なお、図15に示す具体例に対する比較例は、図10左図と同様であるため省略している。
図15及び図16に示す具体例では、Aレベル、Bレベル、Cレベルの第2予備ベリファイステップ条件を、書き込みループ数がそれぞれ2回以下、4回以下、7回以下で設定している。第1予備ベリファイステップ省略条件等、その他の条件については図10右図及び図11下図に示す具体例と同様である。
この場合、図15及び図16下図に示すように、1回目の書き込みループLW<1>では、Aレベル、Bレベル、Cレベルに対する予備ベリファイステップSVa´、SVb´、SVc´を省略する。そのため、書き込みループLW<1>では、計4ステップの処理を実行する。続く2回目の書き込みループLW<2>は、書き込みループLW<1>と同様である。
3回目の書き込みループLW<3>からは、新たにAレベルに対する予備ベリファイステップSVa´を実行する。そのため、書き込みループLW<3>では、計5ステップの処理を実行する。続く4回目の書き込みループLW<4>は、書き込みループLW<3>と同様である。
5回目の書き込みループLW<5>からは、新たにBレベルに対する予備ベリファイステップSVb´を実行する。そのため、書き込みループLW<5>では、計6ステップの処理を実行する。続く6回目、7回目の書き込みループLW<6>、<7>は、それぞれ書き込みループLW<5>と同様である。
続く8回目〜20回目の書き込みループLW<8>〜<20>については、図10及び図11に示す具体例と同様であるため説明を省略する。
以上から、本実施形態の場合、書き込みループLW<1>〜LW<20>を計88ステップで処理することができる。
これに対し、比較例の場合、前述の通り、書き込みループLW<1>〜LW<20>を計110ステップかけて処理することになる。
つまり、本実施形態の場合、図16に示すように、比較例と比べて、書き込みシーケンスの処理時間を22ステップ分だけ短縮することができる。また、この場合であっても、プログラム速度が遅いメモリセルMC及びプログラム速度の速いメモリセルMCに対する予備ベリファイステップSVa´、SVb´、SVc´しか省略しないため、メモ
書き込みシーケンスは、図17のようになる。つまり、本実施形態の書き込みシーケンスは、始めに、シーケンス制御回路7が、書き込みループ数が所定数NAL以上且つNAHよりも小さいかを判定する(図17のステップS201A)。同様に、シーケンス制御回路7が、書き込みループ数が所定数NBL、NCL以上且つNBH、NCHよりも小さいかを判定する(図17のステップS201B、S201C)。
ここで、NAH<NBH<NCHの関係がある。また、NAL<NBL<NCLの関係がある。また、図15において、NAHは7回目のループ数、NBHは12回目のループ数、NCHは17回目のループ数である。また、図15において、NALは2回目のループ数、NBLは4回目のループ数、NCLは7回目のループ数である。
シーケンス制御回路7は、ステップS201A〜S201Cにそれぞれ該当するか否かにより、各レベルの予備ベリファイステップを行うか省略するかを決定する(図17のステップS202)。そして、シーケンス制御回路7は、以上のステップS201A〜S202の処理を、メモリセルへのプログラムが完了するまで繰り返し実行する(図17のステップS204)。
以上、本実施形態によれば、QPW方式の書き込みシーケンスの効果を維持しつつ、第1の実施形態よりも更に、書き込みシーケンスの処理時間を短縮することができる。
[第3の実施形態]
第1及び第2の実施形態では、予備ベリファイステップを省略することで、書き込みシーケンスの処理時間の短縮を図った。これに対し、第3の実施形態では、更に、メモリセルの閾値電圧が本ベリファイ電圧に達しない早い段階の書き込みループの本ベリファイステップも省略する。
以下において、このように、本ベリファイステップを省略する条件を「本ベリファイステップ省略条件」と呼ぶ。
図18は、本実施形態の書き込みシーケンスの効果を説明する図である。この図18も、図14と同様、各書き込みループLWの理解を容易にするため、ワード線WLに印加される電圧Vwlによって表現している。
図18に示す具体例は、6回の書き込みループLW<1>〜<6>で書き込みシーケンスが完了する場合であり、書き込みループ数が2以下であることを第1予備ベリファイステップ省略条件、書き込みループ数が6以上であることを第2予備ベリファイステップ省略条件、書き込みループ数が1以下であることを本ベリファイステップ省略条件とする場合である。
図18に示す場合、1番目、2番目、6番目の書き込みループLW<1>、<2>、<6>の予備ベリファイステップSVα´、並びに、書き込みループLW<1>の本ベリファイステップSVαが省略されるため、比較例に比べ、ベリファイステップSVα´、SVαを4回処理する時間Δtだけ書き込みシーケンスの処理時間を短縮できる。
次に、図18を用いて説明した書き込みシーケンスを、2ビット/セルのメモリセルMCを用いた不揮発性半導体記憶装置に適用した場合について説明する。
図19は、本実施形態の書き込みシーケンスを2ビット/セルのメモリセルMCを用いた不揮発性半導体記憶装置に適用した場合であって、書き込みシーケンスの各書き込みループの予備ベリファイステップ及び本ベリファイステップの実行/省略を示す図である。また、図20は、図19に示す書き込みシーケンスの効果を説明する図である。なお、図19に示す具体例に対する比較例は、図10左図と同様であるため省略している。図19及び図20に示す例では、Lページ書き込み後に、Uページ書き込みにおいて、Aレベル、Bレベル、CレベルのプログラムをプログラムステップSPで一括して行う。したがって、プログラム動作は、1回のプログラムステップSPしか実行しない。なお、Lページ書き込みを行わず、Uページ書き込みのみで、Aレベル、Bレベル、CレベルのプログラムをプログラムステップSPで一括して行ってもよい。
図19及び図20下図に示す具体例では、Aレベル、Bレベル、Cレベルの本ベリファイステップ条件を、書き込みループ数がそれぞれ1回以下、3回以下、6回以下で設定している。第1予備ベリファイステップ省略条件、第2予備ベリファイステップ省略条件等、その他の条件については図15及び図16上図と同様である。
この場合、図19及び図20下図に示すように、1回目の書き込みループLW<1>では、Aレベル、Bレベル、Cレベルに対する予備ベリファイステップSVa´、SVb´、SVc´及び本ベリファイステップSVa、SVb、SVcを省略する。そのため、書き込みループLW<1>では、計1ステップの処理を実行する。
2回目の書き込みループLW<2>からは、新たにAレベルに対する本ベリファイステップSVaを実行する。そのため、書き込みループLW<2>では、計2ステップの処理を実行する。
3回目の書き込みループLW<3>からは、新たにAレベルに対する予備ベリファイステップSVa´を実行する。そのため、書き込みループLW<3>では、計3ステップの処理を実行する。
4回目の書き込みループLW<4>からは、新たにBレベルに対する本ベリファイステップSVbを実行する。そのため、書き込みループLW<4>では、計4ステップの処理を実行する。
5回目の書き込みループLW<5>からは、新たにBレベルに対する予備ベリファイステップSVb´を実行する。そのため、書き込みループLW<5>では、計5ステップの処理を実行する。続く6回目の書き込みループLW<6>は、書き込みループLW<5>と同様である。
7回目の書き込みループLW<7>からは、新たにCレベルに対する本ベリファイステップSVcを実行する。そのため、書き込みループLW<7>では、計6ステップの処理を実行する。
続く8回目〜20回目の書き込みループLW<8>〜<20>については、図10及び図11に示す具体例と同様であるため説明を省略する。
以上から、本実施形態の場合、書き込みループLW<1>〜LW<20>を計78ステップで処理することができる。
これに対し、比較例の場合、前述の通り、書き込みループLW<1>〜LW<20>を計110ステップかけて処理することになる。
つまり、本実施形態の場合、図20に示すように、比較例と比べて、書き込みシーケンスの処理時間を32ステップ分短縮することができる。また、この場合であっても、予備ベリファイステップSVα´については、第2の実施形態と同様に無駄なものしか省略せず、また、本ベリファイステップSVαについてもメモリセルMCの閾値電圧Vthが本ベリファイ電圧Vαに達しないような早い段階の書き込みループのものしか省略しない。そのため、メモリセル群の閾値電圧分布の広がりは、比較例と同程度に抑制できる。
以上で説明した図19及び図20下図に示した具体例では、第2予備ベリファイステップ省略条件よりも本ベリファイステップ省略条件の方が、基準となる書き込みループ数が少なかった。これに対し、次に説明する具体例は、第2予備ベリファイステップ省略条件よりも本ベリファイステップ省略条件の方が、基準となる書き込みループ数が多い具体例である。
図21は、本実施形態の書き込みシーケンスを2ビット/セルのメモリセルMCを用いた不揮発性半導体記憶装置に適用した場合であって、書き込みシーケンスの各書き込みループの予備ベリファイステップ及び本ベリファイステップの実行/省略を示す図である。なお、図21に示す具体例に対する比較例は、図10左図と同様であるため省略している。
図21に示す具体例では、Aレベル、Bレベル、Cレベルの本ベリファイステップ条件を、書き込みループ数がそれぞれ3回以下、5回以下、7回以下で設定している点を除き、図19及び図20に示した具体例と同じである。
この場合、図21に示すように、1回目の書き込みループLW<1>では、Aレベル、Bレベル、Cレベルに対する予備ベリファイステップSVa´、SVb´、SVc´及び本ベリファイステップSVa、SVb、SVcを省略するそのため、書き込みループLW<1>では、計1ステップの処理を実行する。続く2回目の書き込みループLW<2>は、書き込みループLW<1>と同様である。
3回目の書き込みループLW<3>からは、新たにAレベルに対する予備ベリファイステップSVa´を実行する。そのため、書き込みループLW<3>では、計2ステップの処理を実行する。
4回目の書き込みループLW<4>からは、新たにAレベルに対する本ベリファイステップSVaを実行する。そのため、書き込みループLW<4>では、計3ステップの処理を実行する。
5回目の書き込みループLW<5>からは、新たにBレベルに対する予備ベリファイステップSVb´を実行する。そのため、書き込みループLW<5>では、計4ステップの処理を実行する。
6回目の書き込みループLW<6>からは、新たにBレベルに対する本ベリファイステップSVbを実行する。そのため、書き込みループLW<6>では、計5ステップの処理を実行する。続く7回目の書き込みループLW<7>は、書き込みループLW<6>と同様である。
8回目の書き込みループLW<8>からは、新たにCレベルに対する予備ベリファイステップSVc´を実行する一方、Aレベルに対する予備ベリファイステップSVa´を省略する。そのため、書き込みループLW<8>では、計5ステップの処理を実行する。
続く9回目〜20回目の書き込みループLW<9>〜<20>については、図10に示す具体例と同様であるため説明を省略する。
以上から、本実施形態の場合、書き込みループLW<1>〜LW<20>を計72ステップで処理することになる。
これに対し、比較例の場合、前述の通り、書き込みループLW<1>〜LW<20>を計110ステップかけて処理することになる。
つまり、本実施形態の場合、比較例と比べて、書き込みシーケンスの処理時間を38ステップ分だけ短縮することができる。また、この場合であっても、図19及び図20に示した具体例と同様、メモリセル群の閾値電圧分布の広がりは、比較例と同程度に抑制できる。
以上、本実施形態によれば、QPW方式の書き込みシーケンスの効果を維持しつつ、第2の実施形態よりも更に、書き込みシーケンスの処理時間を短縮することができる。
[第4の実施形態]
第4の実施形態は、第1〜第3の実施形態の応用例である。第4の実施形態では、プログラム動作において、各レベルのプログラムに適した複数のプログラム電圧を印加する方式を採用する。
本実施形態の書き込みシーケンスのプログラム動作は、Aレベル及びBレベルのプログラムをするプログラム電圧Vpabを印加するプログラムステップSPaと、Cレベルのプログラムをするプログラム電圧Vpcを印加するプログラムステップSPcからなる。すなわち、最も高いCレベルのプログラムはその閾値電圧分布の上限をあまり気にしなくて良い。一方、Aレベル、Bレベルのプログラムは、その閾値電圧分布の上限は他の閾値電圧分布と干渉しないように調整する必要がある。その結果、Cレベルの閾値電圧分布のプログラムを高速に行うことができ、Aレベル、Bレベルの閾値電圧分布を正確にプログラムすることができる。
このように、Aレベル及びBレベルのプログラムステップVpabと、CレベルのプログラムステップVpcとを別にした場合、BレベルのプログラムよりもCレベルのプログラムの方が先に完了してしまうということがある。
そこで、本実施形態では、CレベルのプログラムがBレベルのプログラムよりも先に完了する場合について、第1〜第3の実施形態を応用する。
始めは、第1の実施形態の応用例について図22及び図23を用いて説明する。図22及び図23に示す例では、Lページ書き込み後に、Uページ書き込みにおいて、Aレベル、Bレベル、CレベルのプログラムをプログラムステップSPで一括して行う。なお、Lページ書き込みを行わず、Uページ書き込みのみで、Aレベル、Bレベル、CレベルのプログラムをプログラムステップSPで一括して行ってもよい。
図22は、書き込みシーケンスの各書き込みループの予備ベリファイステップ及び本ベリファイステップの実行/省略を示す図であり、図23は、図22に示す書き込みシーケンスの効果を説明する図である。
図22及び図23に示す具体例では、Aレベル、Bレベル、Cレベルのプログラムのために実行される書き込みループ回数を、それぞれ10回、15回、14回に設定している。また、Aレベル、Bレベル、Cレベルの第1予備ベリファイステップ省略条件を、書き込みループ数がそれぞれ8回以上、13回以上、13回以上で設定している。
この場合、図22左図及び図23下図に示すように、1回目の書き込みループLW<1>では、Aレベル及びBレベルのプログラムステップSPab、CレベルのプログラムステップSPc、Aレベルに対する予備ベリファイステップSVa´及び本ベリファイステップSVa、Bレベルに対する予備ベリファイステップSVb´及び本ベリファイステップSVb、並びに、Cレベルに対する予備ベリファイステップSVc´及びSVcの計8ステップの処理を実行する。続く2回目〜7回目の書き込みループLW<2>〜<7>は、それぞれ書き込みループLW<1>と同様である。
8回目の書き込みループLW<8>からは、Aレベルに対する予備ベリファイステップSVa´を省略する。そのため、書き込みループLW<8>では、計7ステップの処理を実行する。続く9回目、10回目の書き込みループLW<9>、<10>は、書き込みループLW<8>と同様である。
ここまでで、メモリセルMCに対するAレベルのプログラムは完了する。したがって、以降の書き込みループLWからは、Aレベルに対するプログラム動作及びベリファイ動作はなくなる。
続く11回目の書き込みループLW<11>では、計6ステップを実行する。続く12回目の書き込みループLW<12>は、書き込みループLW<11>と同様である。
13回目の書き込みループLW<13>からは、Bレベル、Cレベルに対する予備ベリファイステップSVb´、SVc´を省略する。そのため、書き込みループLW<13>では、計4ステップの処理を実行する。続く14回目の書き込みループLW<14>は、書き込みループLW<13>と同様である。
ここまでで、メモリセルMCに対するCレベルのプログラムが完了する。したがって、以降の書き込みループLWからは、Cレベルに対するプログラム動作及びベリファイ動作はなくなる。
最後に15回目の書き込みループLW<15>では、計2ステップの処理が実行される。
以上から、図22右図及び図23下図に示す具体例の場合、書き込みループLW<1>〜<15>を計99ステップで処理することができる。
これに対し、比較例の場合、図22左図及び図23上図に示すように、1回目の書き込みループLW<1>からメモリセルMCに対するAレベルのプログラムが完了する10回目の書き込みループLW<10>までは、それぞれ計8ステップの処理を実行する。続く11回目の書き込みループLW<11>からメモリセルMCに対するCレベルのプログラムが完了する14回目の書き込みループLW<14>までは、それぞれ計6ステップの処理を実行する。そして、メモリセルMCに対するBレベルのプログラムが完了する15回目の書き込みループLW<15>では、計3ステップの処理を実行する。
以上から、比較例の場合、書き込みループLW<1>〜<15>を計107ステップかけて処理することになる。
つまり、図22右図及び図23下図に示す具体例の場合、図23に示すように、比較例に比べて、書き込みシーケンスの処理時間を8ステップ分短縮することができる。また、この場合であっても、第1の実施形態と同様、メモリセル群の閾値電圧分布の広がりは、比較例と同程度に抑制できる。また、Cレベルの閾値電圧分布のプログラムを高速に行うことができ、Aレベル、Bレベルの閾値電圧分布を正確にプログラムすることができる。
次に、第2の実施形態の応用例について図24を用いて説明する。
図24は、書き込みシーケンスの各書き込みループの予備ベリファイステップ及び本ベリファイステップの実行/省略を示す図である。なお、図24に示す具体例に対する比較例は、図22左図と同様であるため省略している。
図24に示す具体例では、Aレベル、Bレベル、Cレベルの第2予備ベリファイステップ省略条件を、書き込みループ数がそれぞれ2回以下、4回以下、4回以下で設定している。第1予備ベリファイステップ省略条件等、その他の条件につては図22右図及び図23下図に示す具体例と同様である。
この場合、図24に示すように、1回目の書き込みループLW<1>では、Aレベル、Bレベル、Cレベルに対する予備ベリファイステップSVa´、SVb´、SVc´を省略する。そのため、書き込みループLW<1>では、計5ステップの処理を実行する。続く2回目の書き込みループLW<2>は、書き込みループLW<1>と同様である。
3回目の書き込みループLW<3>からは、新たにAレベルに対する予備ベリファイステップSVa´を実行する。そのため、書き込みループLW<3>では、計6ステップの処理を実行する。続く4回目の書き込みループLW<4>は、書き込みループLW<3>と同様である。
5回目の書き込みループLW<5>からは、新たにBレベル、Cレベルに対する予備ベリファイステップSVb´、SVc´を実行する。そのため、書き込みループLW<5>では、計8ステップの処理を実行する。
続く8回目〜15回目の書き込みループLW<8>〜<15>については、図22及び図23に示した具体例と同様であるため説明を省略する。
以上から、図24に示す具体例では、書き込みループLW<1>〜<15>を計89ステップで処理することができる。
これに対し、比較例の場合、前述の通り、書き込みループLW<1>〜<15>を計107ステップかけて処理することになる。
つまり、図24に示す具体例の場合、比較例に比べて、書き込みシーケンスの処理時間を18ステップ分短縮することができる。また、この場合であっても、第2の実施形態と同様、メモリセル群の閾値電圧分布の広がりは、比較例と同程度に抑制できる。また、Cレベルの閾値電圧分布のプログラムを高速に行うことができ、Aレベル、Bレベルの閾値電圧分布を正確にプログラムすることができる。
次に、第3の実施形態の応用例について図25を用いて説明する。
図25は、書き込みシーケンスの各書き込みループの予備ベリファイステップ及び本ベリファイステップの実行/省略を示す図である。なお、図25に示す具体例に対する比較例は、図22左図と同様であるため省略している。
図25に示す実施例では、Aレベル、Bレベル、Cレベルの本ベリファイステップ省略条件を、書き込みループ数がそれぞれ1回以下、3回以下、3回以下に設定している。第1予備ベリファイステップ省略条件、第2予備ベリファイステップ条件等、その他の条件につては図22右図及び図23下図に示す具体例と同様である。
この場合、図25に示すように、1回目の書き込みループ<1>では、Aレベル、Bレベル、Cレベルに対する予備ベリファイステップSVa´、SVb´、SVc´及び本ベリファイステップSVa、SVb、SVcを省略する。そのため、書き込みループLW<1>では、計2ステップの処理を実行する。
2回目の書き込みループLW<2>からは、新たにAレベルに対する予備ベリファイステップSVa´を実行する。そのため、書き込みループLW<2>では、計3ステップの処理を実行する。
3回目の書き込みループLW<3>からは、新たにAレベルに対する本ベリファイステップSVaを実行する。そのため、書き込みループLW<3>では、計4ステップの処理を実行する。
4回目の書き込みループLW<4>からは、新たにBレベル、Cレベルに対する本ベリファイステップSVb、SVcを実行する。そのため、書き込みループLW<4>では、計6ステップの処理を実行する。
続く5回目〜15回目の書き込みループLW<5>〜<15>については、図22及び図23に示した実施例と同様であるため説明を省略する。
以上から、図25に示す実施例では、書き込みループLW<1>〜<15>を計82ステップで処理することができる。
これに対し、比較例の場合、前述の通り、書き込みループLW<1>〜<15>を計107ステップかけて処理することになる。
つまり、図25に示す具体例の場合、比較例に比べて、書き込みシーケンスの処理時間を25ステップ分短縮することができる。また、この場合であっても、第3の実施形態と同様、メモリセル群の閾値電圧分布の広がりは、比較例と同程度に抑制することができる。また、Cレベルの閾値電圧分布のプログラムを高速に行うことができ、Aレベル、Bレベルの閾値電圧分布を正確にプログラムすることができる。
以上、本実施形態によれば、プログラム動作において各レベルのプログラムに適した複数のプログラム電圧を印加する方式を採用する不揮発性半導体記憶装置についても、第1〜第3の実施形態と同様の効果を得ることができる。また、Cレベルの閾値電圧分布のプログラムを高速に行うことができ、Aレベル、Bレベルの閾値電圧分布を正確にプログラムすることができる。
[第5の実施形態]
第5の実施形態は、第1〜第3の実施形態の応用例である。第5の実施形態でも、第4の実施形態と同様、プログラム動作において、各レベルのプログラムに適した複数のプログラム電圧を印加する方式を採用する。
但し、本実施形態の書き込みシーケンスのプログラム動作は、第4の実施形態と異なり、Aレベルのプログラムをするプログラム電圧Vpaを印加するプログラムステップSPaと、Bレベル及びCレベルのプログラムをするプログラム電圧Vpbcを印加する第2プログラムステップSPbcからなる。すなわち、AレベルとBレベル、Cレベルの書き込みを別にすることにより、Aレベルに書き込む予定のメモリセルMCの閾値電圧が高くなる可能性が小さくするとともに、Bレベル、Cレベルに書き込まれる予定のメモリセルMCの書き込みスピードを向上させている。
このように、AレベルのプログラムステップSPaと、Bレベル及びCレベルのプログラムステップSPbcとを別にした場合、AレベルのプログラムよりもBレベルのプログラムの方が先に完了してしまうということがある。
そこで、本実施形態では、BレベルのプログラムがAレベルのプログラムよりも先に完了する場合について、第1〜第3の実施形態を応用する。
始めは、第1の実施形態の応用例について図26及び図27を用いて説明する。図26及び図27に示す例では、Lページ書き込み後に、Uページ書き込みにおいて、Aレベル、Bレベル、CレベルのプログラムをプログラムステップSPで一括して行う。なお、Lページ書き込みを行わず、Uページ書き込みのみで、Aレベル、Bレベル、CレベルのプログラムをプログラムステップSPで一括して行ってもよい。
図26は、書き込みシーケンスの各書き込みループの予備ベリファイステップ及び本ベリファイステップの実行/省略を示す図であり、図27は、図26に示す書き込みシーケンスの効果を説明する図である。
図26右図及び図27下図に示す具体例では、Aレベル、Bレベル、Cレベルのプログラムのために実行される書き込みループ回数を、それぞれ10回、9回、15回に設定している。また、Aレベル、Bレベル、Cレベルの第1予備ベリファイステップ省略条件を、書き込みループ数がそれぞれ8回以上、8回以上、13回以上に設定している。
この場合、図26右図及び図27下図に示すように、1回目の書き込みループLW<1>では、AレベルのプログラムステップSPa、Bレベル及びCレベルのプログラムステップSPbc、Aレベルに対する予備ベリファイステップSVa´及び本ベリファイステップSVa、Bレベルに対する予備ベリファイステップSVb´及び本ベリファイステップSVb、並びに、Cレベルに対する予備ベリファイステップSVc´及びSVcの計8ステップの処理を実行する。続く2回目〜7回目の書き込みループLW<2>〜<7>は、それぞれ書き込みループLW<1>と同様である。
8回目の書き込みループLW<8>からは、Aレベル、Bレベルに対する予備ベリファイステップSVa´、SVb´を省略する。そのため、書き込みループLW<8>では、計6ステップの処理を実行する。続く9回目の書き込みループLW<9>は、書き込みループLW<8>と同様である。
ここまでで、メモリセルMCに対するBレベルのプログラムは完了する。したがって、以降の書き込みループLWからは、Bレベルに対するプログラム動作及びベリファイ動作はなくなる。
続く10回目の書き込みループLW<10>では、計5ステップの処理を実行する。
ここまでで、メモリセルMCに対するAレベルのプログラムは完了する。したがって、以降の書き込みループLWからは、Aレベルに対するプログラム動作及びベリファイ動作はなくなる。
続く11回目の書き込みループLW<11>では、計3ステップの処理を実行する。続く12回目の書き込みループLW<12>は、書き込みループLW<11>と同様である。
13回目の書き込みループLW<13>からは、Cレベルに対する予備ベリファイステップSVc´を省略する。そのため、書き込みループLW<13>では、計2ステップの処理を実行する。続く14回目の書き込みループLW<14>及び最後の15回目の書き込みループLW<15>は、それぞれ書き込みループLW<13>と同様である。さらに、本実施例では、Aレベルの閾値電圧分布を正確に書くと共に、Bレベル、Cレベルの閾値電圧分布を高速に書くことができる。
以上から、図26右図及び図27下図に示す具体例の場合、書き込みループLW<1>〜<15>を計85ステップで処理することができる。
これに対し、比較例の場合、図26左図及び図27上図に示すように、1回目の書き込みループLW<1>からメモリセルMCに対するBレベルのプログラムが完了する9回目の書き込みループLW<9>までは、それぞれ計8ステップの処理を実行する。続くAレベルのプログラムが完了する10回目の書き込みループLW<10>では、計6ステップの処理を実行する。そして、続く11回目の書き込みループLW<11>からメモリセルMCに対するCレベルのプログラムが完了する15回目の書き込みループLW<15>までは、それぞれ計3ステップの処理を実行する。
以上から、比較例の場合、書き込みループLW<1>〜<15>を計93ステップかけて処理することになる。
つまり、図26右図及び図27下図に示す具体例の場合、図27に示すように、比較例に比べて、書き込みシーケンスの処理時間を8ステップ分短縮することができる。また、この場合であっても、第1の実施形態と同様、メモリセル群の閾値電圧分布の広がりは、比較例と同程度に抑制できる。
次に、第2の実施形態の応用例について図28を用いて説明する。
図28は、書き込みシーケンスの各書き込みループの予備ベリファイステップと本ベリファイステップの実行/省略を示す図である。なお、図28に示す具体例に対する比較例は、図26左図と同様であるため省略している。
図28に示す具体例では、Aレベル、Bレベル、Cレベルの第2予備ベリファイステップ省略条件を、書き込みループ数がそれぞれ2回以下、4回以下、4回以下に設定している。第1予備ベリファイステップ省略条件等、その他の条件については図26右図及び図27下図に示す具体例と同様である。
この場合、図27に示すように、1回目の書き込みループLW<1>では、Aレベル、Bレベル、Cレベルに対する予備ベリファイステップSVa´、SVb´、SVc´を省略する。そのため、書き込みループLW<1>では、計5ステップの処理を実行する。続く2回目の書き込みループLW<2>は、書き込みループLW<1>と同様である。
3回目の書き込みループLW<3>からは、新たにAレベルに対する予備ベリファイステップSVa´を実行する。そのため、書き込みループLW<3>では、計6ステップの処理を実行する。続く4回目の書き込みループLW<4>は、書き込みループLW<3>と同様である。
続く5回目〜15回目の書き込みループLW<5>〜<15>については、図26及び図27に示した具体例と同様であるため説明を省略する。
以上から、図28に示す具体例では、書き込みループLW<1>〜<15>を計75ステップで処理することができる。
これに対し、比較例の場合、前述の通り、書き込みループLW<1>〜<15>を計93ステップかけて処理することになる。
つまり、図28に示す具体例の場合、比較例に比べて、書き込みシーケンスの処理時間を18ステップ分短縮することができる。また、この場合であっても、第2の実施形態と同様、メモリセル群の閾値電圧分布の広がりは、比較例と同程度に抑制できる。さらに、本実施例では、Aレベルの閾値電圧分布を正確に書くと共に、Bレベル、Cレベルの閾値電圧分布を高速に書くことができる。
次に、第3の実施形態の応用例について図29を用いて説明する。
図29は、書き込みシーケンスの各書き込みループの予備ベリファイステップ及び本ベリファイステップの実行/省略を示す図である。なお、図29に示す具体例に対する比較例は、図26左図と同様であるため省略している。
図29に示す具体例では、Aレベル、Bレベル、Cレベルの本ベリファイステップ省略条件を、書き込みループ数がそれぞれ1回以下、3回以下、3回以下に設定している。第1予備ベリファイステップ、第2予備ベリファイステップ等、その他の条件については図26右図及び図27下図に示す具体例と同様である。
この場合、図29に示すように、1回目の書き込みループ<1>では、Aレベル、Bレベル、Cレベルに対する予備ベリファイステップSVa´、SVb´、SVc´及び本ベリファイステップSVa、SVb、SVcを省略する。そのため、書き込みループLW<1>では、計2ステップの処理を実行する。
2回目の書き込みループLW<2>からは、新たにAレベルに対する予備ベリファイステップSVa´を実行する。そのため、書き込みループLW<2>では、計3ステップの処理を実行する。
3回目の書き込みループLW<3>からは、新たにAレベルに対する本ベリファイステップSVaを実行する。そのため、書き込みループLW<3>では、計4ステップの処理を実行する。
4回目の書き込みループLW<4>からは、新たにBレベル、Cレベルに対する本ベリファイステップSVb、SVcを実行する。そのため、書き込みループLW<4>では、計6ステップの処理を実行する。
続く5回目〜15回目の書き込みループLW<5>〜<15>については、図26及び図27に示した具体例と同様であるため説明を省略する。
以上から、図29に示す具体例では、書き込みループLW<1>〜<15>を計68ステップで処理することができる。
これに対し、比較例の場合、前述の通り、書き込みループLW<1>〜<15>を計93ステップかけて処理することになる。
つまり、図29に示す具体例の場合、比較例と比べて、書き込みシーケンスの処理時間25ステップ分省略することができる。また、この場合であっても、第3の実施形態と同様、メモリセル群の閾値電圧分布の広がりは、比較例と同程度に抑制できる。さらに、本実施例では、Aレベルの閾値電圧分布を正確に書くと共に、Bレベル、Cレベルの閾値電圧分布を高速に書くことができる。
以上、本実施形態によれば、プログラム動作において各レベルのプログラムに適した複数のプログラム電圧を印加する方式を採用する不揮発性半導体記憶装置についても、第1〜第3の実施形態と同様の効果を得ることができる。さらに、本実施例では、Aレベルの閾値電圧分布を正確に書くと共に、Bレベル、Cレベルの閾値電圧分布を高速に書くことができる。
[第6の実施形態]
第1〜第5の実施形態では、第1予備ベリファイステップ省略条件を書き込みループ数に基づいて設定していた。
これに対し、第6の実施形態では、第1予備ベリファイステップ省略条件を、予備ベリファイ電圧以下の閾値電圧を持つメモリセル数に基づいて設定する。
つまり、メモリセルMCに対して書き込みループを繰り返し実行すると、メモリセルMCの閾値電圧Vthは、図30の矢印a1で示すように正の方向に遷移する。図30を見れば解るように、メモリセル群の閾値電圧分布は下裾を引くように正の方向に移動し、予備ベリファイ電圧Vα´からメモリセル群の閾値電圧分布の下裾を大きく正の方向に移動し、メモリセル群の閾値電圧分布を狭くしている。すなわち、メモリセル群が閾値電圧分布の下裾にいる数が重要となっている。そこで、第6の実施形態では閾値電圧Vthが予備ベリファイ電圧Vα´以下のメモリセル(図30の斜線で示すメモリセルMC)の数が所定数以下になったことを条件として、書き込みループの予備ベリファイステップを省略するのである。
図31は、本実施形態に係る不揮発性半導体記憶装置の書き込みシーケンスのフローチャートである。
つまり、本実施形態の書き込みシーケンスは、始めに、シーケンス制御回路7が、閾値電圧Vthが予備ベリファイ電圧Vα´以下のメモリセル数が所定数N(例えば、100個)よりも多いかを判定する(図31のステップS601)。メモリセルMC数が所定数Nよりも大きい場合、シーケンス制御回路7が予備ベリファイステップを含む書き込みループを実行し(図31のステップS602)、メモリセル数が所定数N以下の場合、シーケンス制御回路7が予備ベリファイステップを省略させた書き込みループを実行する(図31のステップS603)。そして、シーケンス制御回路7は以上のステップS601〜S603の処理を、メモリセルへのプログラムが完了するまで繰り返し実行する(図31のステップS604)。この所定数Nは、例えば、予めROMヒューズ領域1aに記録することができる。また、この所定数Nはコントローラ11よりNANDチップ10に書き込みコマンドと同時に送付されても良い。
本実施形態によれば、メモリセル群のうち予備ベリファイ電圧以下のメモリセル数に基づいて第1予備ベリファイステップ省略条件を設定することで、不揮発性半導体記憶装置の固体間に生じるメモリセルのプログラム特性の違いなどをある程度補償することができる。
したがって、本実施形態を第1〜第5の実施形態の第1予備ベリファイステップ省略条件を予備ベリファイ電圧以下のメモリ数に基づいて設定することで、より適切な予備ベリファイステップの実行/省略を実現することができる。
[第7の実施形態]
第1〜第6の実施形態については、第1予備ベリファイステップ省略条件を固定しても効果をえることができる。しかし、メモリセルのプログラム特性は、不揮発性半導体記憶装置の個体間によってもバラツキが生じるばかりでなく、同じメモリセルであっても使用状況などから変化することがある。例えば、書き込み/消去サイクル回数が増えてくると、一般的にメモリセルのプログラム速度は速くなる傾向がある。
そこで、第7の実施形態では、このようなメモリセルのプログラム特性の変化にも柔軟に対応できるように、第1予備ベリファイステップ省略条件を可変にする。
図32は、第1の実施形態の応用例であり、第1の実施形態の第1予備ベリファイステップ省略条件を可変にした場合の書き込みシーケンスのフローチャートである。
図32に示す場合、書き込みシーケンスが開始されると、始めに、シーケンス制御回路7が、書き込みサイクル数が所定数Mより大きいかを判定する(図32のステップS701)。そして、書き込みサイクル数が所定数Mより小さい場合は、シーケンス制御回路7は第1予備ベリファイステップ省略条件の基準となる書き込みループ数Nを所定数N1で初期化する(図32のステップS702)。一方、書き込みサイクル数が所定数M以上の場合は、メモリセルMCのプログラム速度が速くなっていると考えられるため、シーケンス制御回路7は書き込みループ数Nを所定数N1よりも小さい所定数N2で初期化する(図32のステップS703)。以降ステップS704〜S707については、シーケンス制御回路7が上記書き込みループ数Nを用いて第1の実施形態と同様の書き込みシーケンスを実行する。なお、上記書き込みシーケンスの判定条件となる書き込み/消去サイクル数Mや、書き込みループ数N1、N2等は、例えば、予めROMヒューズ領域1aに記録することができる。また、コントローラ11が書き込みループ数N1、N2等をROMヒューズ領域1aから読み取り、コントローラ11が書き込みループ数NをNANDチップ10に書き込みコマンドと同時に送付されても良い。
また、第7の実施形態を第6の実施形態に適用することも可能である。この場合を図33に示す。
始めのステップS701〜S703までは、図32と同様なので説明を省略する。続いて、シーケンス制御回路7が、閾値電圧Vthが予備ベリファイ電圧Vα´以下のメモリセル数が所定数N(例えば、100個)よりも多いかを判定する(図33のステップS704´)。メモリセル数が所定数Nよりも大きい場合、シーケンス制御回路7が予備ベリファイステップを含む書き込みループを実行し(図33のステップS705´)、メモリセル数が所定数N以下の場合、シーケンス制御回路7が予備ベリファイステップを省略させた書き込みループを実行する(図33のステップS706´)。そして、シーケンス制御回路7は以上のステップS704´〜S706´の処理を、メモリセルへのプログラムが完了するまで繰り返し実行する(図33のステップS707)。なお、上記書き込みシーケンスの判定条件となる書き込み/消去サイクル数Mや、書き込みループ数N1、N2等は、例えば、予めROMヒューズ領域1aに記録することができる。また、コントローラ11が書き込みループ数N1、N2等をROMヒューズ領域1aから読み取り、コントローラ11が書き込みループ数NをNANDチップ10に書き込みコマンドと同時に送付されても良い。
以上、本実施形態を第1〜第6の実施形態に適用することで、第1〜第6の実施形態と同様の効果を得られるばかりでなく、メモリセルのプログラム特性の変化に対応した、より最適なQPW方式の書き込みシーケンスを実現できる。
[その他]
以上、本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。