(57)【要約】【課題】チップ毎の書き込みの開始電圧の適正値を、複数の書き込み単位から得られた平均値で設定し、メモリの動作を安定化する。【解決手段】ＮＡＮＤ型フラッシュメモリにおいて、書き込みの各ステップで電圧を変化させながらベリファイ書き込みを行なう際、書込電圧データを書込電圧制御回路７７に供給するためのバイナリカウンタ７１に書込電圧の初期値を設定した後、クロック信号をカウントさせて各ステップにおける書込電圧を高くしていき、ベリファイ書き込みをパスするまでターゲットとなる書き込み単位に対してベリファイ書き込みをレジスタ７３の指定回数まで繰り返す。この動作を複数の書き込み単位に対してレジスタ７５の指定回数まで繰り返し、カウンタ７４が示す書込電圧の累積値の平均をとってメモリチップの書き込み開始電圧の適正値を求めて不揮発性記憶素子７６に記憶する。【選択図】　　図７
2004046985.tif 000002
【特許請求の範囲】
【請求項１】
不揮発性のメモリセルアレイと、
前記メモリセルアレイ内の１つの書き込み単位に対する書き込みおよびベリファイを繰り返して前記書き込み単位に対するベリファイ書き込みを完了する書き込み回路と、
前記書き込み回路により繰り返し行われる書き込みの各ステップで書き込み電圧を変化させる書き込み電圧制御回路
とをメモリチップに具備し、前記書き込み電圧制御回路は、
書き込み電圧の初期値が設定された後、前記ベリファイの結果がフェイルする毎に供給される第１のクロック信号をカウントし、出力データを前記ベリファイ書き込みの各ステップにおける書き込み電圧のデータとして前記書き込み回路に供給する第１のバイナリカウンタと、
ターゲットとなる書き込み単位に対する前記書き込みおよびベリファイの繰り返し回数を設定するためのデータを保持する第１のレジスタと、
第１のタイミングでリセットされ、前記ターゲットとなる書き込み単位に対するベリファイ書き込みを前記第１のレジスタに設定された回数繰り返しても前記ベリファイ書き込みの結果がフェイルの場合に供給される第２のクロック信号をカウントし、出力データを前記第１のバイナリカウンタに書き込み電圧の初期値として供給する第２のバイナリカウンタと、
前記メモリチップの書き込み開始電圧の適正値を求めるテストをいくつの書き込み単位で実施したかを記憶する第２のレジスタと、
第２のタイミングでリセットされ、前記第２のレジスタにより指定された回数に対応する複数の書き込み単位に対して前記ベリファイ書き込みを行った結果として得られる前記第２のバイナリカウンタの内容の累積値に相当する値を記憶する累積値記憶回路と、
前記累積値記憶回路の記憶内容および前記第２のレジスタの記憶内容にしたがって前記メモリチップの書き込み開始電圧の適正値を記憶する不揮発性記憶素子とを具備することを特徴とする不揮発性半導体メモリ。
【請求項２】
不揮発性のメモリセルアレイと、
前記メモリセルアレイ内の１つの消去単位に対する消去およびベリファイを繰り返して前記消去単位に対するベリファイ消去を完了する消去回路と、
前記消去回路により繰り返し行われる消去の各ステップで消去電圧を変化させる消去電圧制御回路
とをメモリチップに具備し、前記消去電圧制御回路は、
消去電圧の初期値が設定された後、前記ベリファイの結果がフェイルする毎に供給される第１のクロック信号をカウントし、出力データを前記ベリファイ消去の各ステップにおける消去電圧のデータとして前記消去回路に供給する第１のバイナリカウンタと、
ターゲットとなる消去単位に対する前記ベリファイ消去の繰り返し回数を設定するためのデータを保持する第１のレジスタと、
第１のタイミングでリセットされ、前記ターゲットとなる消去単位に対するベリファイ消去を前記第１のレジスタに設定された回数繰り返しても前記ベリファイ消去の結果がフェイルの場合に供給される第２のクロック信号をカウントし、出力データを前記第１のバイナリカウンタに消去電圧の初期値として供給する第２のバイナリカウンタと、
前記メモリチップの消去開始電圧の適正値を求めるテストをいくつの消去単位で実施したかを記憶する第２のレジスタと、
第２のタイミングでリセットされ、前記第２のレジスタにより指定された回数に対応する複数の消去単位に対して前記ベリファイ消去を行った結果として得られる前記第２のバイナリカウンタの内容の累積値に相当する値を記憶する累積値記憶回路と、
前記累積値記憶回路の記憶内容および前記第２のレジスタの記憶内容にしたがって前記メモリチップの消去開始電圧の適正値を記憶する不揮発性記憶素子
とを具備することを特徴とする不揮発性半導体メモリ。
【請求項３】
前記第１のタイミングは、テスト開始時および前記ターゲットとなる単位に対するベリファイ動作を前記第１のレジスタに設定された回数だけ実行した時であり、前記第２のタイミングは、テスト開始時であることを特徴とする請求項１または２記載の不揮発性半導体メモリ。
【請求項４】
前記累積値記憶回路は、前記第２のクロック信号をカウントすることにより前記第２のバイナリカウンタの内容の累積値に相当する値を記憶する第３のバイナリカウンタであることを特徴とする請求項１乃至３のいずれか１項に記載の不揮発性半導体メモリ。
【請求項５】
前記不揮発性記憶素子は、前記累積値記憶回路の記憶内容を前記第２のレジスタの記憶内容にしたがって平均化した値にオフセット電圧を加えた値を記憶することを特徴とする請求項１乃至４のいずれか１項に記載の不揮発性半導体メモリ。
【請求項６】
前記第２のレジスタは、前記適正値を求めるテストを実施する単位数が外部入力により設定される、または、前記適正値を求めるテストを実施した単位の数をカウントすることを特徴とする請求項１乃至５のいずれか１項に記載の不揮発性半導体メモリ。
【請求項７】
テスト時には、前記第２のバイナリカウンタの初期値は外部入力コマンドに基づいて設定され、当該初期値が前記第１のバイナリカウンタの初期値として設定されることを特徴とする請求項１乃至６のいずれか１項に記載の不揮発性半導体メモリ。
【請求項８】
通常動作時には、前記第２のバイナリカウンタの初期値は前記不揮発性記憶素子に記憶されている開始電圧に基づいて設定され、当該初期値が前記第１のバイナリカウンタの初期値として設定されることを特徴とする請求項１乃至６のいずれか１項に記載の不揮発性半導体メモリ。
【請求項９】
コントロールゲートおよびフローティングゲートを有するメモリセルのアレイと、レジスタに格納されたデータに基づいて前記初期電圧が決定される書き込み電圧生成回路を有する不揮発性半導体メモリにおいて、前記メモリセルにデータを書き込む際、書き込み動作を複数ステップに分けて各ステップ毎に前記コントロールゲートに与える書き込み電圧を、初期電圧から一定電圧ずつ上げてゆき、半導体チップ毎の特性を反映した書き込み電圧データを得るテスト方法であって、
前記ステップの回数を所定の回数に設定する第１のステップと、
ある初期電圧から書き込み動作を開始し、書き込み対象となる１つの書き込み単位内のメモリセルが全て書き込まれているか否かに応じてそれぞれパス、フェイルを出力する自己判定テストを行なわせる第２のステップと、
前記自己判定テストの結果がフェイルであれば前記初期電圧を一定電圧だけ上げる方向に前記レジスタのデータを変更し、この変更したデータに基づく初期電圧が所定値に達するまで、上記変更したデータに基づく初期電圧から前記第２のステップを実行させる処理を繰り返す第３のステップと、
前記第３のステップにより変更したデータに基づく初期電圧が所定値に達した後、書き込み対象となる書き込み単位を変えて前記第２のステップおよび第３のステップを実行させる処理を所望の複数の書き込み単位に対して実行する第４のステップと、
前記複数の書き込み単位に対する実行により得られた累積データから１つの書き込み単位当りの平均値を求め、前記レジスタに半導体チップ毎の特性を反映した書き込み電圧データを設定する第５のステップ
とを具備することを特徴とする不揮発性半導体メモリのテスト方法。
【請求項１０】
ウェル領域上に形成されたコントロールゲートおよびフローティングゲートを有するメモリセルのアレイと、レジスタに格納されたデータに基づいて前記初期電圧が決定される消去電圧生成回路を有する不揮発性半導体メモリにおいて、前記メモリセルのデータを消去する際、消去動作を複数ステップに分けて各ステップ毎に前記ウェル領域に与える消去電圧を、初期電圧から一定電圧ずつ上げてゆき、半導体チップ毎の特性を反映した消去電圧データを得るテスト方法であって、
前記ステップの回数を所定の回数に設定する第１のステップと、
ある初期電圧から消去動作を開始し、消去対象となる１つの消去単位内のメモリセルが全て消去されているか否かに応じてそれぞれパス、フェイルを出力する自己判定テストを行なわせる第２のステップと、
前記自己判定テストの結果がフェイルであれば前記初期電圧を一定電圧だけ上げる方向に前記レジスタのデータを変更し、この変更したデータに基づく初期電圧が所定値に達するまで、上記変更したデータに基づく初期電圧から前記第２のステップを実行させる処理を繰り返す第３のステップと、
前記第３のステップにより変更したデータに基づく初期電圧が所定値に達した後、消去対象となる消去単位を変えて前記第２のステップおよび第３のステップを実行させる処理を所望の複数の消去単位に対して実行する第４のステップと、
前記複数の消去単位に対する実行により得られた累積データから１つの消去単位当りの平均値を求め、前記レジスタに半導体チップ毎の特性を反映した消去電圧データを設定する第５のステップ
とを具備することを特徴とする不揮発性半導体メモリのテスト方法。
【請求項１１】
前記第２のステップは、外部入力コマンドにより起動されることを特徴とする請求項９または１０記載の不揮発性半導体メモリのテスト方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、不揮発性半導体メモリ及びそのテスト方法に係り、特にベリファイ書き込みおよびベリファイ消去を行なう不揮発性半導体メモリにおける書き込み電圧の初期値および消去電圧の初期値を設定する回路及びその方法に関するもので、例えばＮＡＮＤ型フラッシュメモリに適用されるものである。
【０００２】
【従来の技術】
不揮発性半導体メモリの１種であるＮＡＮＤ型フラッシュメモリについては、例えば「Ｋ．Ｉｍａｍｉｙａ　ｅｔ．ａｌ．”Ａ　１３０−ｍｍ２　２５６−Ｍｂ　ＮＡＮＤ　Ｆｌａｓｈ　ｗｉｔｈ　Ｓｈａｌｌｏｗ　Ｔｒｅｎｃｈ　Ｉｓｏｌａｔｉｏｎ　Ｔｅｃｈｎｏｌｏｇｙ”，ＩＥＥＥ　Ｊ．Ｓｏｌｉｄ　Ｓｔａｔｅ　Ｃｉｒｃｕｉｔｓ，　Ｖｏｌ．３４，ｐｐ．１５３６−１５４３，　Ｎｏｖ．１９９９」などの文献によって発表されている。
【０００３】
このような不揮発性半導体メモリでは、ウェハ・テストの工程において、電圧トリミングと不良セルのリダンダンシ置き換えが行われる。
【０００４】
図１５は、従来のＮＡＮＤ型フラッシュメモリのウェハ・テスト工程を概略的に示すフローチャートである。
【０００５】
各工程の動作内容は下記の通りである。
【０００６】
ＤＣテストでは、コンタクト・チェック、スタンバイ電流等のＤＣチェックを行なう。Ｖｒｅｆ（基準電圧）トリミングでは、まずウェハ上の各チップのＶｒｅｆをモニタし、次いでこれらをターゲット値に補正するためにトリミング値をいくらにすればよいかを計算する。
【０００７】
次に、Ｖｐｇｍ（書き込み電圧）初期値トリミングを行なう。ＮＡＮＤ型フラッシュメモリでは書き込み電圧Ｖｐｇｍを初期値から段階的に上げてゆくＩｎｃｒｅｍｅｎｔａｌＳｔｅｐ　Ｐｕｌｓｅ　Ｐｒｏｇｒａｍｍｉｎｇ　Ｓｃｈｅｍｅ　を採用している。この方法については、例えば「Ｋ．Ｄ．Ｓｕｈ　ｅｔ．ａｌ．，”Ａ　３．３Ｖ　３２Ｍｂ　ＮＡＮＤ　Ｆｌａｓｈ　Ｍｅｍｏｒｙ　ｗｉｔｈ　Ｉｎｃｒｅｍｅｎｔａｌ　ＳｔｅｐＰｕｌｓｅ　Ｐｒｏｇｒａｍｍｉｎｇ　Ｓｃｈｅｍｅ”，ＩＳＳＣＣ　Ｄｉｇｅｓｔ　ｏｆ　Ｔｅｃｈｎｉｃａｌ　Ｐａｐｅｒｓ，　ｐｐ．１２８−１２９，　Ｆｅｂ．１９９５」に記載されている。
【０００８】
この書き込み方法では、書き込み時間（もしくは書き込みループ回数）が所定の時間（回数）内に収まるようにするために、Ｖｐｇｍの初期値を最適化する必要がある。そのためにはまず、メモリセルアレイ内から書き込み消去のできるブロック（グッド・ブロック）を見つける必要がある。なぜならこの段階では未だ不良セルのリダンダンシ置き換えがなされていないからである。
【０００９】
グッド・ブロックが見つかったら、Ｖｐｇｍの初期値を変えつつそのブロックに書き込みを行い、最適値を決定する。
【００１０】
続いて電圧トリミング用フューズ・カットを行なう。この工程では、ウェハをレーザー・ブロー装置に移し、上記Ｖｒｅｆトリミング、Ｖｐｇｍ初期値トリミングで決定したトリミング値に応じてフューズ・カットする。
【００１１】
続いて不良カラム・ロウ検出を行なう。ここでは、リダンダシン置き換えのためにメモリセルアレイに数通りのデータパターンを書き込み、不良カラム・ロウを検出する。
【００１２】
次に、リダンダシン用フューズ・カットを行なう。ここでは、ウェハを再度レーザー・ブロー装置に移し、リダンダンシ置き換えのフューズ・カットをする。
【００１３】
なお、このフローチャートにおいて、不良カラム・ロウ検出の前に電圧トリミング用のフューズ・カットを行なうのは、Ｖｐｇｍ等の内部生成電圧がずれた状態で不良カラム・ロウ検出を行なうと不良が見つけられない可能性があるためである。
【００１４】
上記のようなウェハ・テスト工程のテスト時間は、チップのコストに反映される。したがってチップコストを削減するには、必要なウェハ・テストを行ないつつテスト時間を極力短縮することが必要である。
【００１５】
上述したウェハ・テストの工程で、テスト時間を長くする要因の１つは、フューズ・カット工程の存在である。レーザー・ブローによりフューズ・カットを行なうためには、ウェハをテスタから取り出してレーザー・ブロー装置に移す必要があり、ここで時間のオーバーヘッドが生じる。上記ウェハ・テスト工程では特に、フューズ・カットを２回に分けて行なう必要があるためオーバーヘッドがより顕著なものとなっている。
【００１６】
上記フューズ・カット工程分の時間を削減するための方法が、本願出願人による特開２００１−１７６２９０（特願平１１−３５１３９６号）の「不揮発性半導体装置」で述べられている。
【００１７】
また、本願出願人は、特開２００２−１１７６９９（特願２０００−３０３８５４）の「半導体装置及びそのテスト方法」により、不揮発性半導体メモリにおける書き込み電圧／消去電圧のトリミング値やリダンダンシの情報をメモリセルアレイ内に記憶させ、メモリに電源を投入した時点でメモリセルアレイ内から上記情報を取り出して所定のレジスタに格納することにより、メモリの通常の動作状態では上記レジスタに電圧のトリミング値やリダンダンシの情報が格納されるようにすることを提案した。
【００１８】
ところで、従来のＮＡＮＤ型フラッシュメモリにおいては、チップ毎にテストを行った結果で書き込みまたは消去の初期電圧を決定しており、それに伴う問題点を以下で詳細に説明する。
【００１９】
図９は、ＮＡＮＤ型フラッシュメモリにおける読み出し／書き込み動作を説明するために関連する構成を概略的に示している。
【００２０】
図９において、メモリセルアレイ１１は、電気的書き替えが可能な不揮発性のメモリセルが複数直列に接続されてなるＮＡＮＤセルユニットが、カラム、ロウ方向にマトリクス状に配列して構成されている。上記各メモリセルは、コントロールゲートとフローティングゲートとが積層されたスタックトゲート型のＭＯＳトランジスタ構造を有している。
【００２１】
ここで、メモリセルアレイ１１は、他とは絶縁分離されたウェル領域上に形成されており、メモリセルアレイ１１内のメモリセルのデータを消去する際は、消去動作を複数ステップに分けて各ステップ毎に上記ウェル領域に与える消去電圧を初期電圧から一定電圧ずつ上げてゆくような消去方法が採られる。
【００２２】
上記メモリセルアレイ１１には、互いに交差するようにそれぞれ複数本のワード線及びビット線が設けられており、複数本のワード線はロウデコーダ１２のデコード出力によって選択的に駆動される。
【００２３】
データの読み出し時には、メモリセルアレイ１１内のメモリセルから読み出された信号が、ビット線を介してページバッファ１３に供給されてセンスされた後、カラム単位で選択されて外部に出力される。
【００２４】
データの書き込み時には、外部から供給される書き込みデータに応じた電圧がページバッファ１３を介してビット線ＢＬに供給され、選択メモリセルにデータが書き込まれる。
【００２５】
前記メモリセルアレイ１１のワード線は複数のＮＡＮＤセルユニットで共通に接続されており、この複数のＮＡＮＤセルユニットは、データ消去の最小単位となるセルブロックを構成しており、複数のセルブロックがビット線を共通にして配置されている。
【００２６】
１つのワード線により選択されるメモリセルの範囲は１ページと呼ばれ、データの書き込み動作は、１ページ単位で一括して行われる。例えば５１２バイト分あるデータレジスタに保持された書き込みデータがビット線を通して一括して書き込まれる。
【００２７】
図１０（ａ）、（ｂ）は、ＮＡＮＤ型フラッシュメモリのメモリセル（セルトランジスタ）に対するデータの書き込み動作時のバイアス関係を示している。
【００２８】
図１０（ａ）に示すように、書き込みデータが“０”の場合は、セルトランジスタのウェル領域に書き込みバイアス（本例では０Ｖ）を加える。このように書き込みバイアスを加えられたセルトランジスタは、電子がフローティングゲートに注入され、その閾値が正側にシフトし、書き込みが行われる。
【００２９】
図１０（ｂ）に示すように、書き込みデータが“１”の場合は、セルトランジスタのウェル領域に書き込みバイアスを加えないでフローティング状態にする。このように書き込みバイアスを加えられないセルトランジスタは、電子がフローティングゲートに注入されないので、その閾値は低いままで変化しない（書き込みが行われない）。
【００３０】
図１１は、ＮＡＮＤ型フラッシュメモリの読み出し時のメモリセルユニットのバイアス関係を示す。
【００３１】
選択ワード線（本例ではＷＬ１４）には０Ｖの電圧が印加され、非選択ワード線（本例では、ＷＬ０〜ＷＬ１３、ＷＬ１５）、ビット線（ＢＬ）側の選択ゲートトランジスタおよび共通ソース線（ＳＬ）側の選択ゲートトランジスタの各ゲート線ＳＧＤ，ＳＧＳには読み出し電圧Ｖｒｅａｄが印加される。この場合、非選択ワード線（本例では、ＷＬ０〜ＷＬ１３、ＷＬ１５）に読み出し電圧Ｖｒｅａｄが印加されるセルトランジスタおよびゲート線に読み出し電圧Ｖｒｅａｄが印加される選択ゲートトランジスタは、オン状態になる必要がある。
【００３２】
そのためには、データ“０”の状態（書き込まれた状態）のセルトランジスタの閾値は、選択ワード線電圧（０Ｖ）と非選択ワード線電圧（Ｖｒｅａｄ）の間にマージンをもって収まる必要がある。しかし、セルトランジスタの書き込み特性は、ロット毎、ウェハ毎、チップ毎、さらには同一チップ内のセル毎にばらつく。
【００３３】
図１２は、ＮＡＮＤ型フラッシュメモリのチップ全体に適当な書き込みバイアスを加えた場合の書き込み後のセルトランジスタの閾値のばらつきを示している。ここでは、書き込み後のセルトランジスタの閾値が０ＶとＶｒｅａｄの間にマージンを持って収まらない様子が分かる。
【００３４】
この対策として、メモリの書き込みは書き込み動作とベリファイ動作を繰り返し行ってベリファイがパスするまで行なうベリファイ書き込みという手法を用いて書き込み後の閾値のばらつきを小さく抑えている。
【００３５】
図１３および図１４は、ＮＡＮＤ型フラッシュメモリにおけるベリファイ書き込み時の書き込みバイアスの変化を示す。
【００３６】
ベリファイ書き込みは、図１３に示すように、書き込みおよびベリファイを繰り返す過程で書き込み毎に書き込みバイアス（ワード線電圧）を弱いものから強いものに徐々に変化させ、図１４に示すように、ベリファイ電圧よりも高く書き込みが行われたセルに対しては、次回の書き込みでは書き込みバイアスを加えないという手法である。
【００３７】
上記したようなベリファイ書き込みを不揮発性メモリのテストで行なう際、十分に低い書き込みバイアスから書き込みを始めれば書き込み後の閾値分布は狭くなるが、あまり低い書き込みバイアスから書き込みを始めると、書き込みの繰り返し回数が多くなり、書き込みのパフォーマンスが悪くなってしまう。
【００３８】
上記したようなベリファイ書き込みを始める電圧（初期値）を設定する際、メモリセルの書き込み特性は前記したようにチップ毎に特徴を持つので、チップ毎、または、それよりも細かい単位で、ターゲットとする書き込み回数で書き込みが終了するように書き込み電圧の初期値を設定する必要がある。
【００３９】
【発明が解決しようとする課題】
しかし、従来は、ベリファイ書き込みまたはベリファイ消去の初期電圧は、１つの書き込み単位または消去単位のテストを行った結果で決定されており、典型的な書き込み特性または消去特性を示すメモリセル群から取得されたとは限らず、この初期電圧のトリミング値が適正でないものになってしまうおそれがあるという問題があった。
【００４０】
本発明は上記の問題点を解決すべくなされたもので、複数の書き込みまたは消去単位で従来例と同様のテストを自動的に行い、この結果の平均値をトリミングデータ決定の基準とすることにより、より適正なトリミングデータを得ることができ、書き込みもしくは消去電圧の最適値をウェハ・テスト工程における自動的なテストにより自動的に選択し得る不揮発性半導体メモリ及びそのテスト方法を提供することを目的とする。
【００４１】
【課題を解決するための手段】
本発明の第１の不揮発性半導体メモリは、不揮発性のメモリセルアレイと、前記メモリセルアレイ内の１つの書き込み単位に対する書き込みおよびベリファイを繰り返して前記書き込み単位に対するベリファイ書き込みを完了する書き込み回路と、前記書き込み回路により繰り返し行われる書き込みの各ステップで書き込み電圧を変化させる書き込み電圧制御回路とをメモリチップに具備し、前記書き込み電圧制御回路は、書き込み電圧の初期値が設定された後、前記ベリファイの結果がフェイルする毎に供給される第１のクロック信号をカウントし、出力データを前記ベリファイ書き込みの各ステップにおける書き込み電圧のデータとして前記書き込み回路に供給する第１のバイナリカウンタと、ターゲットとなる書き込み単位に対する前記書き込みおよびベリファイの繰り返し回数を設定するためのデータを保持する第１のレジスタと、第１のタイミングでリセットされ、前記ターゲットとなる書き込み単位に対するベリファイ書き込みを前記第１のレジスタに設定された回数繰り返しても前記ベリファイ書き込みの結果がフェイルの場合に供給される第２のクロック信号をカウントし、出力データを前記第１のバイナリカウンタに書き込み電圧の初期値として供給する第２のバイナリカウンタと、前記メモリチップの書き込み開始電圧の適正値を求めるテストをいくつの書き込み単位で実施したかを記憶する第２のレジスタと、第２のタイミングでリセットされ、前記第２のレジスタにより指定された回数に対応する複数の書き込み単位に対して前記ベリファイ書き込みを行った結果として得られる前記第２のバイナリカウンタの内容の累積値に相当する値を記憶する累積値記憶回路と、前記累積値記憶回路の記憶内容および前記第２のレジスタの記憶内容にしたがって前記メモリチップの書き込み開始電圧の適正値を記憶する不揮発性記憶素子とを具備することを特徴とする。
【００４２】
本発明の第２の不揮発性半導体メモリは、不揮発性のメモリセルアレイと、前記メモリセルアレイ内の１つの消去単位に対する消去およびベリファイを繰り返して前記消去単位に対するベリファイ消去を完了する消去回路と、前記消去回路により繰り返し行われる消去の各ステップで消去電圧を変化させる消去電圧制御回路とをメモリチップに具備し、前記消去電圧制御回路は、消去電圧の初期値が設定された後、前記ベリファイの結果がフェイルする毎に供給される第１のクロック信号をカウントし、出力データを前記ベリファイ消去の各ステップにおける消去電圧のデータとして前記消去回路に供給する第１のバイナリカウンタと、ターゲットとなる消去単位に対する前記ベリファイ消去の繰り返し回数を設定するためのデータを保持する第１のレジスタと、第１のタイミングでリセットされ、前記ターゲットとなる消去単位に対するベリファイ消去を前記第１のレジスタに設定された回数繰り返しても前記ベリファイ消去の結果がフェイルの場合に供給される第２のクロック信号をカウントし、出力データを前記第１のバイナリカウンタに消去電圧の初期値として供給する第２のバイナリカウンタと、前記メモリチップの消去開始電圧の適正値を求めるテストをいくつの消去単位で実施したかを記憶する第２のレジスタと、第２のタイミングでリセットされ、前記第２のレジスタにより指定された回数に対応する複数の消去単位に対して前記ベリファイ消去を行った結果として得られる前記第２のバイナリカウンタの内容の累積値に相当する値を記憶する累積値記憶回路と、前記累積値記憶回路の記憶内容および前記第２のレジスタの記憶内容にしたがって前記メモリチップの消去開始電圧の適正値を記憶する不揮発性記憶素子とを具備することを特徴とする。
【００４３】
本発明の第１の不揮発性半導体メモリのテスト方法は、コントロールゲートおよびフローティングゲートを有するメモリセルのアレイと、レジスタに格納されたデータに基づいて前記初期電圧が決定される書き込み電圧生成回路を有する不揮発性半導体メモリにおいて、前記メモリセルにデータを書き込む際、書き込み動作を複数ステップに分けて各ステップ毎に前記コントロールゲートに与える書き込み電圧を、初期電圧から一定電圧ずつ上げてゆき、半導体チップ毎の特性を反映した書き込み電圧データを得るテスト方法であって、前記ステップの回数を所定の回数に設定する第１のステップと、ある初期電圧から書き込み動作を開始し、書き込み対象となる１つの書き込み単位内のメモリセルが全て書き込まれているか否かに応じてそれぞれパス、フェイルを出力する自己判定テストを行なわせる第２のステップと、前記自己判定テストの結果がフェイルであれば前記初期電圧を一定電圧だけ上げる方向に前記レジスタのデータを変更し、この変更したデータに基づく初期電圧が所定値に達するまで、上記変更したデータに基づく初期電圧から前記第２のステップを実行させる処理を繰り返す第３のステップと、前記第３のステップにより変更したデータに基づく初期電圧が所定値に達した後、書き込み対象となる書き込み単位を変えて前記第２のステップおよび第３のステップを実行させる処理を所望の複数の書き込み単位に対して実行する第４のステップと、前記複数の書き込み単位に対する実行により得られた累積データから１つの書き込み単位当りの平均値を求め、前記レジスタに半導体チップ毎の特性を反映した書き込み電圧データを設定する第５のステップとを具備することを特徴とする。
【００４４】
本発明の第２の不揮発性半導体メモリのテスト方法は、ウェル領域上に形成されたコントロールゲートおよびフローティングゲートを有するメモリセルのアレイと、レジスタに格納されたデータに基づいて前記初期電圧が決定される消去電圧生成回路を有する不揮発性半導体メモリにおいて、前記メモリセルのデータを消去する際、消去動作を複数ステップに分けて各ステップ毎に前記ウェル領域に与える消去電圧を、初期電圧から一定電圧ずつ上げてゆき、半導体チップ毎の特性を反映した消去電圧データを得るテスト方法であって、前記ステップの回数を所定の回数に設定する第１のステップと、ある初期電圧から消去動作を開始し、消去対象となる１つの消去単位内のメモリセルが全て消去されているか否かに応じてそれぞれパス、フェイルを出力する自己判定テストを行なわせる第２のステップと、前記自己判定テストの結果がフェイルであれば前記初期電圧を一定電圧だけ上げる方向に前記レジスタのデータを変更し、この変更したデータに基づく初期電圧が所定値に達するまで、上記変更したデータに基づく初期電圧から前記第２のステップを実行させる処理を繰り返す第３のステップと、前記第３のステップにより変更したデータに基づく初期電圧が所定値に達した後、消去対象となる消去単位を変えて前記第２のステップおよび第３のステップを実行させる処理を所望の複数の消去単位に対して実行する第４のステップと、前記複数の消去単位に対する実行により得られた累積データから１つの消去単位当りの平均値を求め、前記レジスタに半導体チップ毎の特性を反映した消去電圧データを設定する第５のステップとを具備することを特徴とする。
【００４５】
【発明の実施の形態】
以下、図面を参照して本発明の実施の形態を詳細に説明する。
【００４６】
図１は、本発明の第１の実施形態に係るＮＡＮＤ型フラッシュメモリの概略的な構成を示すブロック図である。
【００４７】
図１において、メモリセルアレイ（Ｍｅｍｏｒｙ　Ｃｅｌｌ　Ａｒｒａｙ）１１は、電気的書き替えが可能な不揮発性メモリセルがカラム、ロウ方向にマトリクス状に配列して構成されている。上記各メモリセルは、コントロールゲートとフローティングゲートとが積層されたスタックトゲート型のＭＯＳトランジスタ構造を有している。
【００４８】
上記メモリセルアレイ１１は、他とは絶縁分離されたウェル領域上に形成されており、メモリセルアレイ１１内のメモリセルのデータを消去する際は、消去動作を複数ステップに分けて各ステップ毎に上記ウェル領域に与える消去電圧を初期電圧から一定電圧ずつ上げてゆくような消去方法が採られる。
【００４９】
また、メモリセルアレイ１１には、不良セルを置き換えるためのリダンダシカラムが設けられており、さらに、初期設定データを格納するための初期設定データ領域（図示せず）が設定されている。
【００５０】
そして、メモリセルアレイ１１には、互いに交差するようにそれぞれ複数本のワード線及びビット線が設けられており、複数本のワード線はロウデコーダ（Ｒｏｗ　Ｄｅｃｏｄｅｒ）１２のデコード出力によって選択的に駆動される。
【００５１】
データの読み出し時には、メモリセルアレイ１１内のメモリセルから読み出された信号がビット線を介してページバッファ（Ｐａｇｅ　Ｂｕｆｆｅｒ）１３に供給され、ここでセンスされる。ページバッファ１３でセンスされたデータは、カラムゲート回路（Ｃｏｌｕｍｎ　Ｇａｔｅ）１４によってカラム単位で選択されてＩ／Ｏバス（Ｉ／Ｏ　Ｂｕｓ）１５に供給され、さらにＩ／Ｏバッファ（Ｉ／Ｏ　Ｂｕｆｆｅｒ）１６から外部に出力される。
【００５２】
データの書き込み時には、外部から供給される書き込みデータがＩ／Ｏバッファ１６〜Ｉ／Ｏバス１５〜カラムゲート回路１４に供給され、さらに、ページバッファ１３を介した書き込みデータに応じた電圧がビット線に供給され、選択メモリセルにデータが書き込まれる。
【００５３】
また、Ｉ／Ｏバッファ１６には、データ書き込み時には書き込みデータが供給される他に、メモリセルを選択するためのアドレスやメモリの動作を制御するためのコマンドがチップ外部から供給される。
【００５４】
そして、アドレスはアドレスバッファ（Ａｄｄｒｅｓｓ　Ｂｕｆｆｅｒ）１７に取り込まれ、コマンドはコマンドバッファ（Ｃｏｍｍａｎｄ　Ｂｕｆｆｅｒ）１８に取り込まれる。アドレスバッファ１７に取り込まれたアドレスのうち、ロウアドレスはロウデコーダ１２に、カラムアドレスはカラムゲート回路１４に供給される。
【００５５】
不良カラムアドレスレジスタ（Ｂａｄ　Ｃｏｌｕｍｎ　Ａｄｄ．　Ｒｅｇｉｓｔｅｒ）１９は、メモリセル１１に不良カラムが発生している場合にリダンダンシ置き換えをすべき不良カラムに対応した不良カラムアドレスを格納するために設けられている。
【００５６】
なお、この実施の形態におけるメモリでは、ブロック・リダンダンシは設けないが、その代わりに不良ブロックを検出してフラグを立て、ユーザに不良ブロック・アドレスが判るようにしている。不良ブロックのフラグ情報はロウデコーダ１２内のラッチに記憶される。この不良カラムアドレスレジスタ１９は上記Ｉ／Ｏバス１５に接続されている。
【００５７】
内部電圧生成回路（Ｖｏｌｔａｇｅ　Ｇｅｎｅｒａｔｏｒ）２０は、チップ内部で使用される各種電圧を生成するものであり、この電圧には例えばＶｒｅｆ（基準電圧）、Ｖｐｇｍ（書き込み電圧）、内部降圧電圧（Ｖｄｄ）、消去電圧（Ｖｅｒａｓｅ）、非選択セルのワード線に供給される非選択セルワード線電圧（Ｖｒｅａｄ）などがある。内部電圧生成回路２０で生成された各種電圧はロウデコーダ１２などに供給される。
【００５８】
トリミングデータレジスタ（Ｔｒｉｍ．　Ｄａｔａ　Ｒｅｇｉｓｔｅｒ）２１は、上記内部電圧生成回路２０で上記各種電圧を生成する際に使用される調整用データ（トリミングデータ）を格納する。
【００５９】
タイマー回路（Ｔｉｍｅｒ）２２は、チップ内部で使用される各種タイミングパルスを生成する。
【００６０】
トリミングデータレジスタ（Ｔｒｉｍ．　Ｄａｔａ　Ｒｅｇｉｓｔｅｒ）２３は、上記タイマー回路２２で上記各種タイミングパルスを生成する際に使用される調整用データ（トリミングデータ）を格納する。
【００６１】
上記トリミングデータレジスタ２１、２３は、従来技術におけるフューズの役割をする。即ち、電源投入時に、メモリセルアレイ１１内の後述する初期設定データ領域からレジスタに格納すべきデータが読み出され、１／Ｏバス１５を介して各レジスタ２１、２３に順次格納される。
【００６２】
Ｉ／Ｏ制御回路（Ｉ／Ｏ　Ｃｏｎｔｒｏｌ）２４は、外部から供給されるチップイネーブル信号／ＣＥ、リードイネーブル信号／ＲＥ、ライトイネーブル信号／ＷＥなどの各種制御信号を取り込む。
【００６３】
このＩ／Ｏ制御回路２４に取り込まれた制御信号及び前記コマンドバッファ１８に取り込まれたコマンドは制御回路（Ｃｏｎｔｒｏｌ　Ｌｏｇｉｃ）２５に供給される。
【００６４】
この制御回路２５は、Ｉ／Ｏ制御回路２４からの制御信号及びコマンドをデコードした結果に基づいてチップ内部の各回路の動作を制御（データ書き込み、データ消去のシーケンス制御を含む）する。この制御回路２５内には制御用のデータを格納するための各種レジスタが設けられている。また、制御回路２５は外部回路に対して、チップがアクセス可能である否かの状態を示すレディー／ビジー信号（Ｒ／Ｂｎ）を出力する機能を有している。
【００６５】
上記制御回路２５は、データ書き込み時には、選択されたメモリセルでの書き込み動作、書き込み状態を確認するためのベリファイ動作を行い、書き込み不十分のメモリセルには再度書き込みを行なうという一連の制御を行なう。そして、データ消去時には、選択されたブロックでの消去動作、消去状態を確認するためのベリファイ動作を行い、消去不十分の場合には再度消去を行なうという一連の制御を行なう。
【００６６】
図２は、図１中のメモリセルアレイ１１の一部の等価回路を示す。
【００６７】
メモリセルアレイは、電気的書き換え可能な不揮発性のメモリセルをマトリクス配列して構成される。メモリセルは、例えばｐ型シリコン基板の素子分離絶縁膜により区画された素子形成領域に、トンネル絶縁膜を介して浮遊ゲートが形成され、浮遊ゲート上にゲート間絶縁膜を介して制御ゲートが積層されたスタックトゲート型のＭＯＳトランジスタ（セルトランジスタ）を有する。
【００６８】
この例では、メモリセルアレイは、１６個のセルトランジスタが直列接続されたＮＡＮＤセルユニットと選択ゲートトランジスタがマトリクス状に多数配置されている。
【００６９】
この場合、各セルトランジスタのソース、ドレイン拡散層は、ＮＡＮＤセルユニット内の隣接するセルトランジスタ同士で共有されている。そして、ＮＡＮＤセルユニットの一端は、選択ゲートトランジスタＳ１を介してビット線ＢＬに接続され、他端は選択ゲートトランジスタＳ２を介して共通ソース線ＳＬに接続される。
【００７０】
前記１６個のセルトランジスタの制御ゲートは、それぞれ一方向に連続的に配設されてワード線ＷＬ０〜ＷＬ１５となる。選択ゲートトランジスタＳ１，Ｓ２のゲート電極は、セルトランジスタと同様の積層ゲート構造を有する。この場合、積層ゲート電極がワード線ＷＬと同じ方向に連続的に配設されており、浮遊ゲート分離は行われず、選択ゲート線ＳＧＤ，ＳＧＳとなる。セルアレイ上は層間絶縁膜で覆われ、その上にビット線（ＢＬ）が形成される。
【００７１】
この様なメモリセルアレイ１の複数のセルブロックＢ０、Ｂ１、…、Ｂｎうち、適当なセルブロックの一つ或いは複数個、例えばセルブロックＢｎが初期設定データを記憶するための初期設定データ領域として使用される。
【００７２】
この初期設定データ領域は、ビット線ＢＬ及びワード線ＷＬの選択駆動により、データの書き込み、消去及び読み出しが可能ではあるが、ＥＥＰＲＯＭの通常の動作においては外部からはアクセスされない。したがって、データの一括消去あるいはブロック単位の消去の際にも、この初期設定データ領域３は消去条件に設定されないので初期設定データ領域内のデータは消去されない。
【００７３】
前記１６個のセルトランジスタのワード線ＷＬ０〜ＷＬ１５は複数のＮＡＮＤセルユニットで共通に接続されており、この複数のＮＡＮＤセルユニットは、データ消去の最小単位となるセルブロックを構成している。そして、複数のセルブロックＢ０、Ｂ１、…、Ｂｎがビット線ＢＬを共通にして配置されている。
【００７４】
１つのワード線ＷＬにより選択されるメモリセルの範囲は１ページと呼ばれ、データの書き込み動作は、１ページ単位で一括して行われる。例えば、５１２　バイト分あるデータレジスタに保持された書き込みデータがビット線を通し一括して書き込まれる。
【００７５】
図３は、上記ＮＡＮＤ型フラッシュメモリのウェハ・テスト時における各工程を示すフローチャートである。
【００７６】
次に、図３のフローチャートを参照してウェハ・テストの工程を説明する。
【００７７】
（１）ＤＣテスト（ＤＣ　Ｔｅｓｔ）
まず、ＤＣテストを行なう。この部分は自動テスト化できないが、トータルのテスト時間に占める割合は小さいので、テスト時間への影響は少ない。
【００７８】
（２）デフォルト・リセット（Ｄｅｆａｕｌｔ　Ｒｅｓｅｔ）
全レジスタをデフォルト状態（初期状態）にセットする。トリミングデータレジスタ２１、２３に対しては、各レジスタの中身がデフォルトのトリミング値となるようリセットする。一方、不良カラムアドレスレジスタ１９と前記不良ブロック・フラグに関しては、不良カラムおよび不良ブロックがない状態にリセットする。
【００７９】
（３）タイマー及び電圧トリミング（Ｔｉｍｅｒ　＆　Ｖｏｌｔａｇｅ　Ｔｒｉｍｍｉｎｇ）
タイマー回路２２で生成するパルス信号のパルス幅のトリミング及び内部電圧生成回路２０で生成する電圧の値のトリミングを行なう。ここでトリミングする電圧は、基準電圧Ｖｒｅｆ、内部降圧電圧Ｖｄｄ並びに非選択セルワード線電圧Ｖｒｅａｄの３つである。
【００８０】
（４）不良カラム検出及び置き換え（Ｂａｄ　Ｃｏｌ．　Ｄｅｔｅｃｔｉｏｎ　＆　Ｒｅｐａｉｒ）
従来は正常なメモリブロック（Ｇｏｏｄ　Ｂｌｏｃｋ）を検出してＶｐｇｍの初期値のトリミングを行なった後に不良カラム検出を実施していた。しかし、不良カラムが存在するとチップ内に正常なメモリブロックが存在しないという事態が起こり得る。なぜなら、正常なメモリブロックかどうかは書き込み消去を行なって一括検知をパスするかどうかで判定するが、不良カラムがあると一括検知で常にフェイル（Ｆａｉｌ）となるからである。
【００８１】
そこで、この実施の形態のメモリでは、不良カラム検出と置き換えを行なった後、正常なメモリブロックの調査（Ｇｏｏｄ　Ｂｌｏｃｋ　Ｓｅａｒｃｈ）を行い、Ｖｐｇｍの初期値のトリミング（Ｖｐｇｍ　Ｉｎｉｔｉａｌ　Ｖａｌｕｅ　Ｔｒｉｍｍｉｎｇ）を実施する。
【００８２】
Ｖｐｇｍの初期値のトリミングを行なう前に不良カラム検出と置き換えを行なうには、書き込み消去せずに不良カラムを検出する必要がある。そこで、ビット線のリークチェックやオープンチェック等を行って不良カラムを検出する。逆に言えば、このような手法で不良カラムが検出できるので、不良カラム検出の工程をＶｐｇｍの初期値のトリミング工程の前に持ってくることが可能となる。
【００８３】
（５）正常なメモリブロックのサーチ（Ｇｏｏｄ　Ｂｌｏｃｋ　Ｓｅａｒｃｈ）
Ｖｐｇｍの初期値を決定するための書き込み動作は、書き込み消去のできるブロックで行なう必要がある。そこで、正常なメモリブロックのサーチを行なう。
【００８４】
図４は、上記正常なメモリブロックのサーチ工程のシーケンスを示すフローチャートである。
【００８５】
まず、適当な初期ブロック・アドレスを入力する（Ｉｎｐｕｔ　Ｉｎｉｔｉａｌ　Ｂｌｏｃｋ　Ａｄｄｒｅｓｓ）。初期ブロック・アドレスは先頭ブロック・アドレスでなくてもよい。次にブロック消去コマンドを入力し、このブロックを消去する（Ｂｌｏｃｋ　Ｅｒａｓｅ）。
【００８６】
消去動作に引き続いて、消去ベリファイ（一括検知で全て“１”状態になっていることをチェックする）が行なわれ、その結果を図１の中の制御回路２５などに設けられている第１のステータスレジスタに格納する。
【００８７】
次に、マニュアルプログラム（Ｍａｎｕａｌ　Ｐｒｏｇｒａｍ）コマンドを入力し、選択されているページに対し全て“０”書き込みを行なう。このマニュアルプログラムでは書き込みループ回数を１回とし、Ｖｐｇｍは最大値もしくはそれに近い値にする。プログラム後はベリファイ動作を行い、その結果を同じく制御回路２５などに設けられている第２のステータスレジスタに格納する（Ｍａｎｕａｌ　Ａｌｌ　“０”　Ｐｒｏｇｒａｍ　（Ｖｐｇｍ　ｆｉｘ））。
【００８８】
続いて、アドレスレジスタコントロールコマンドを入力する（Ｉｎｐｕｔ　Ａｄｄｒｅｓｓ　Ｒｅｇｉｓｔｅｒ　Ｃｏｎｔｒｏｌ　Ｃｏｍｍａｎｄ）。これにより、上記第１、第２のステータスレジスタの内容のいずれか１つもしくは両方がフェイル（Ｆａｉｌ）であればブロック・アドレスがインクリメントされる。両方のステータスレジスタの内容がパス（Ｐａｓｓ）であればそのアドレスに留まる。
【００８９】
なお、上記のように第１、第２のステータスレジスタの内容を見る代わりに、パス／フェイル結果を累積して記憶するような１つのステータスレジスタを用いて上記操作を行ってもよい。即ち、直前の消去もしくは書き込みベリファイの結果がパスであればレジスタのデータを変えず、フェイルであればレジスタの状態を強制的に第１の信号状態にするようなステータスレジスタを設け、このレジスタデータがフェイルである場合にブロック・アドレスをインクリメントさせるようにする。最初にこのステータスレジスタをパス状態にしておいてから、消去・書き込みを行なえば、消去もしくは書き込みのいずれかがフェイルのとき、このレジスタはフェイル状態になる。従って、１つのステータスレジスタにより上記と同様の機能を実現することができる。
【００９０】
ブロック消去からアドレスレジスタコントロールコマンド入力までのシーケンスを、所定の回数繰り返す。この結果、シーケンスが終了した時点ではブロック・アドレスのバッファに各々のチップの正常なメモリブロック（Ｇｏｏｄ　Ｂｌｏｃｋ）のアドレスが入っていることになる。この操作はタイマー・トリミングや電圧トリミングの場合と同様、完全並列動作が可能である。アドレスレジスタコントロールコマンドの役割は、タイマー・トリミングや電圧トリミングにおけるレジスタコントロールコマンドの役割に相当している。
【００９１】
（６）Ｖｐｇｍ初期値トリミング（Ｖｐｇｍ　Ｉｎｉｔｉａｌ　Ｖａｌｕｅ　Ｔｒｉｍｍｉｎｇ）
図５は、上記Ｖｐｇｍ初期値トリミングのシーケンスを示すフローチャートである。
【００９２】
最初に、Ｖｐｇｍの初期値を格納するレジスタをリセットする（Ｖｐｇｍ　ｉｎｉ　Ｒｅｇｉｓｔｅｒ　Ｒｅｓｅｔ）。このレジスタは、カウンタの機能を有しており、制御回路からインクリメント信号が発せられるとレジスタ内のデータをインクリメントする。
【００９３】
次に、所望のプログラムループ数を入力し、所定のレジスタに格納する（Ｐｒｏｇｒａｍ　Ｌｏｏｐ　＃　Ｉｎｐｕｔ）。この状態で自動プログラム（Ａｕｔｏ　Ｐｒｏｇｒａｍ）を実行すると、入力されたループ回数分Ｖｐｇｍがステップアップされる。プログラム後のパス／フェイル（Ｐａｓｓ／Ｆａｉｌ）情報は前記第２のステータスレジスタに格納する。
【００９４】
この段階でレジスタコントロールコマンドを入力すると（Ｉｎｐｕｔ　Ｒｅｇｉｓｔｅｒ　Ｃｏｎｔｒｏｌ　Ｃｏｍｍａｎｄ）、プログラムステータスがフェイル（Ｆａｉｌ）であればＶｐｇｍの初期値のレジスタ値がインクリメントされ、パス（Ｐａｓｓ）であればそのレジスタ状態が保持される。従って、この自動プログラムとレジスタコントロールの組を所定回数分繰り返した後は、Ｖｐｇｍの初期値のレジスタに所望のプログラムループ数で書き込みが終了するようなＶｐｇｍの初期値が入力されていることになる。
【００９５】
図６は、上記のシーケンスで書き込み電圧Ｖｐｇｍがどのように変化していくかを示したフローチャートである。ここでは、プログラムループ数は５回に設定されている。
【００９６】
第１回目の書き込みシーケンス（Ｓｅｑｕｅｎｃｅ）ではＶｐｇｍの初期値は最小の値に設定されている。ここからＶｐｇｍの値が４回ステップアップ（Ｓｔｅｐ　Ｕｐ）し、その後ステータスが判定される。ステータスがフェイル（Ｓｔａｔｕｓ　Ｆａｉｌ）の間はＶｐｇｍの初期値がインクリメントされ続け、ステータスがパス（Ｓｔａｔｕｓ　Ｐａｓｓ）となったらＶｐｇｍの初期値はその状態を保つ。従って、所定回数このシーケンスを繰り返した後は、Ｖｐｇｍの初期値がそのチップに応じた最適値に設定されていることになる。
【００９７】
なお、プログラム時は非選択ワード線電圧Ｖｐａｓｓもステップアップする。このＶｐａｓｓの初期値は、Ｖｐｇｍの初期値に連動して変わるよう設定しておけばよい。
【００９８】
また、ここでは、Ｖｐｇｍの初期値の最適化の方法のみを説明したが、必要であれば消去電圧Ｖｅｒａｓｅの初期値も同様の方法で最適化できる。
【００９９】
再び、図３のフローチャートに戻ってウェハ・テスト工程を説明する。
【０１００】
（７）不良メモリブロック検出（Ｂａｄ　Ｂｌｏｃｋ　Ｄｅｔｅｃｔｉｏｎ）
ＮＡＮＤ型フラッシュメモリではブロック不良に対してはフラグＦｌａｇ（Ｂａｄ　Ｂｌｏｃｋ　Ｆｌａｇ）を立て、リダンダンシ置き換えは行なわない。
【０１０１】
（８）オプション・セット（Ｏｐｔｉｏｎ　Ｓｅｔ）
これまでの操作で、メモリセルアレイ１１の初期設定データ領域に格納するデータのうち、各種トリミングやセルアレイ部の不良に関する情報は確定したことになる。初期設定データ領域にはこの他、チップのオプション（Ｏｐｔｉｏｎ）に関する情報、例えばチップを多値品として使うか２値品として使うかなどの情報が書き込まれる。こうした情報は、この時点でテスタから各チップに入力する。入力されたデータは所定のレジスタに格納される。
【０１０２】
（９）ＲＯＭヒューズ・プログラム（ＲＯＭ−Ｆｕｓｅ　Ｐｒｏｇｒａｍ）
ここでは、各レジスタに格納されているデータを順次ページバッファに転送し、次いで初期設定データ領域に書き込む。書き込みが終了したら電源を一旦切り、再度電源を投入する。チップ内ではパワーオンを検知して初期設定データ領域からデータが読み出され、各レジスタに順次データが転送される。これにより各種トリミングやセルアレイ部の不良に関する情報が以降のチップ動作に反映される。必要ならば、これを検証するために各種電圧、タイマーをモニタしたり、メモリセルヘの書き込み／消去／読み出し動作を行なう。
【０１０３】
（１０）パワーオフ、オン時のレジスタ状態の検証（Ｐｏｗｅｒ　Ｏｆｆ，　Ｏｎ　Ｖｅｒｉｆｉｃａｔｉｏｎ　ｏｆ　Ｒｅｇｉｓｔｅｒ　Ｓｔａｔｅ）
なお、上記したようなウェハ・テストのうち、（２）のデフォルト・リセットから（９）のＲＯＭヒューズ・プログラムまでの工程は、電源を投入した後に電源を切ることなく続けて行われる。
【０１０４】
次に、上記ＮＡＮＤ型フラッシュメモリにおける本発明の特徴について詳細に説明する。
【０１０５】
図７（ａ）、（ｂ）は、図１のＮＡＮＤ型フラッシュメモリにおける書き込み開始電圧を設定する回路の一例を示すブロック図およびその動作例を示すタイミング波形図である。
【０１０６】
図７（ａ）、（ｂ）において、複数のレジスタからなるＮビットのバイナリカウンタレジスタ（第１のカウンタ）７１は、初期値が設定された後、第１のクロックＣＬＫ１により２ｍずつカウントアップすることが可能であり、その出力を書き込み電圧データとして書き込み電圧制御回路７７に供給する。上記クロックＣＬＫ１は、書き込み後のベリファイ動作がフェイルする毎に供給されるものであり、上記フェイル毎に書き込み電圧データが大きくなり、再書き込みのための書き込みバイアスを増加させていくことになる。
【０１０７】
なお、上記第１のカウンタ７１は、その出力（バイナリデータ）中の２ｍの重みを有するビットに対応するステージより後段にクロックＣＬＫ１を入力することにより、２ｍずつカウントアップすることが可能になる。
【０１０８】
複数のレジスタからなるＬビットのバイナリカウンタ（第２のカウンタ）７２は、第１のタイミングでリセットされ、Ｌビットの初期値が設定された後、第２のクロックＣＬＫ２により２ｋ（ｋ＜ｍ）ずつカウントアップすることが可能であり、その出力を第１のカウンタ７１に書き込み初期電圧データとして供給する。
【０１０９】
書き込み制御回路７８は、ベリファイ書き込み動作の進行に伴って、第１のレジスタ７３の内容を参照して前記クロックＣＬＫ１、ＣＬＫ２を生成するものである。
【０１１０】
第１のレジスタ７３は、テスト時にターゲットとなる書き込み単位に対する書き込みの繰り返し回数を設定するためのものであり、外部入力により設定することが可能である。
【０１１１】
ここで、前記第２のカウンタ７２のリセットタイミングは、前記ターゲットとなる書き込み単位を新たに選択した時である。
【０１１２】
第２のレジスタ７５は、書き込み電圧の適正値を求めるテストを幾つの書き込み単位で実施するか、あるいは実施したかを示すデータＥを記憶するものであり、外部からデータが入力する、または、テストの実施回数を数えるものである。
【０１１３】
さらに、前記複数の書き込み単位でテストをした結果により得られる第２のカウンタ７２の内容の累積値に相当する値を記憶する累積値記憶回路として、例えば複数のレジスタからなるバイナリカウンタ（第３のカウンタ）７４が設けられている。この第３のカウンタ７４は、前記第２のカウンタ７２とは異なる第２のタイミングでリセットされ（テスト開始時にリセットされるが、前記ターゲットとなる書き込み単位を新たに選択した時にはリセットされない）、前記クロックＣＬＫ２によりカウントアップする。
【０１１４】
平均値回路７９は、前記第３のカウンタ７４のデータＤおよび前記第２のレジスタ７５で示されるテスト回数データＥを受け、データＤ／Ｅに相当する論理処理を行って前記複数の書き込み単位でテストをした書き込み回数の平均値を算出する。この場合、テスト回数データＥがｉビットで表わされるものとすると、第３のカウンタ７４のカウント値の下位ｉビットを除いた上位ビットのデータを取り出す処理を行なう。そして、算出した平均値に予め規定したオフセット電圧を加えた値を書き込み電圧の初期値として不揮発性記憶素子７６に書き込む。
【０１１５】
なお、上記構成は、ベリファイ書き込み動作に着目して説明したが、ベリファイ消去動作に着目した場合には、書き込みを消去に置き換えればよい。
【０１１６】
図８は、図７（ａ）の回路を用いて書き込み電圧の適正値を設定するテスト方法の一例を示すフローチャートである。
【０１１７】
（ステップＳ１）
テスト時にターゲットとなる書き込み単位に対する書き込みの繰り返し回数を第１のレジスタ７３に設定した後、第３のバイナリカウンタ７４をリセットする。
【０１１８】
（ステップＳ２）
書き込みアドレスを指定して第１の書き込み単位（または消去単位）を選択し、第２のカウンタ７２をリセットする。
【０１１９】
（ステップＳ３）
書き込み開始電圧を示す第２のカウンタ７２の値を第１のカウンタ７１にロード（設定）する。
【０１２０】
（ステップＳ４）
ターゲットとなる書き込み単位のメモリセルに対する消去を行なう。
【０１２１】
（ステップＳ５）
ターゲットとなる書き込み単位のメモリセルに対して、第１のカウンタ７１に設定されている書き込み電圧での書き込みおよび書き込みベリファイを行い、ベリファイの結果がパス（書き込みが完了した）の場合はステップＳ９に進み、フェイルであった（書き込みが完了しなかった）場合はステップＳ６に進む。
【０１２２】
（ステップＳ６）
第１のクロックＣＬＫ１を生成し、第１のカウンタ７１のカウント値（書き込み電圧を示す）をインクリメントさせる。そして、第１のカウンタ７１のカウント値が第１のレジスタ７３に設定されている回数に達したか否かを判定し、達していない場合にはステップＳ５に戻り、達した場合にはステップＳ７に進む。ステップＳ５に戻った場合は、第１のカウンタ７１の新たなカウント値（それまでより高い電圧を示す）でターゲットとなる書き込み単位のメモリセルに対する書き込みおよび書き込みベリファイを行なう。つまり、書き込みベリファイの結果がパスになるまで、または、第１のレジスタ７３に設定されている回数だけ、ステップＳ５のループ動作を繰り返す。
【０１２３】
（ステップＳ７）
第２のカウンタ７２のカウント値が最大値ＭＡＸ　（最大書き込み開始電圧）に達しているか否かを判定し、達していない場合はステップＳ８に進み、達した場合（つまり、第２のカウンタ７２のカウント最大値ＭＡＸ　に達するまで前記ステップＳ５、Ｓ６の動作をだけ繰り返しても、書き込みベリファイの結果がフェイルであった場合）は、ループから抜けてステップＳ９に進む。
【０１２４】
（ステップＳ８）
第２のクロックＣＬＫ２を出力し、第２のカウンタ７２のカウント値をインクリメントさせ、かつ、第３のカウンタ７４のカウント値をインクリメントさせた後、前記ステップＳ３に戻る。ステップＳ３に戻った場合は、それまでより高い新たな開始電圧で、ステップＳ４以降の動作を行なう。
【０１２５】
（ステップＳ９）
前記ステップＳ５またはＳにおいてループから抜けると、第１の書き込み単位（または消去単位）でのテストを終了し、第２のレジスタ７５により指定されているテスト回数に達したか否かを判定し、達していない場合（Ｎｏ、テスト回数が不足している）にはステップＳ２に戻り、達した場合（Ｙｅｓ）には、テストを終了する。
【０１２６】
ステップＳ２に戻った場合は、第２の書き込み単位（または消去単位）を選択して前記したステップＳ２以降の動作によるテストに再び移り、第２のレジスタ７５で指定されたテスト回数に達するまで上記テストを繰り返す。
【０１２７】
この際、第２のカウンタ７２は、前記第１の書き込み単位における適正な書き込み開始電圧が記憶されているが、リセットされる。これに対して、第３のカウンタ７３はリセットされない。
【０１２８】
したがって、第３のカウンタ７４のカウント値は、前記したステップＳ２以降の動作によるテストを繰り返す過程で、テスト回数分の第２のカウンタ７２のカウント値の和、つまり、各書き込み単位でテストを始めた時から書き込みが完了した時までの書き込み回数を２進数で表した累積値を示す。
【０１２９】
テストを終了すると、前記各カウンタ７１、７２，７３のカウントアップ動作を止め、平均値回路７９により前記複数の書き込み単位でテストをした書き込み回数の平均値を算出し、この平均値に予め規定したオフセット電圧を加えた値を書き込み電圧の初期値として不揮発性記憶素子７６に書き込む。
【０１３０】
通常使用時には、不揮発性記憶素子７６に記憶されている初期値がチップ内部で自動的に、あるいは外部入力コマンドに基づいて第２のカウンタ７２（またはそれに相当するレジスタ）にロードされ、さらに、このレジスタの値（もしくはこれに既定値を加えた値）が第１のカウンタ７１にロードされた後に書き込み動作が開始される。
【０１３１】
なお、図８のフローチャートは、書き込み電圧の適正値を設定する方法の一例を示したが、消去電圧の適正値を設定する際も図８のフローチャートに準じて（書き込みと消去とを読み替えて）実施することが可能である。
【０１３２】
なお、本発明は、上記各実施の形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。したがって、本発明の不揮発性半導体メモリは、メモリ専用の集積回路に限らず、メモリ混載集積回路も含む。
【０１３３】
【発明の効果】
上述したように本発明の不揮発性半導体メモリ及びそのテスト方法によれば、チップ毎の書き込みまたは消去の開始電圧の適正値を、複数の書き込み単位または消去単位から得られた平均値で設定することが可能になるので、メモリの安定した動作が期待される。また、上記平均値を求める手法が大変簡易であるので、回路構成が簡単になり、メモリチップのシュリンクに効果がある。
【図面の簡単な説明】
【図１】本発明に係るＮＡＮＤ型フラッシュメモリの概略的な構成を示すブロック図。
【図２】図１のメモリのメモリセルアレイの一部の構成を示す回路図。
【図３】図１のメモリのウェハ・テスト工程を示すフローチャート。
【図４】図１のメモリにおける正常なメモリブロックのサーチのシーケンスを示すフローチャート。
【図５】図１のメモリにおけるＶｐｇｍ初期値トリミングのシーケンスを示すフローチャート。
【図６】図５のシーケンスで書き込み電圧Ｖｐｇｍがどのように変化していくかを示すフローチャート。
【図７】図１のＮＡＮＤ型フラッシュメモリにおける書き込み開始電圧（または消去開始電圧）を設定する回路の一例を示すブロック図およびその動作例を示すタイミング波形図。
【図８】図７の回路を用いて書き込み電圧（または消去電圧）の適正値を設定するテスト方法の一例を示すフローチャート。
【図９】ＮＡＮＤ型フラッシュメモリにおける読み出し／書き込み動作を説明するために関連する構成を概略的に示すブロック図。
【図１０】ＮＡＮＤ型フラッシュメモリのメモリセル（セルトランジスタ）に対するデータの書き込み動作時のバイアス関係を示す断面図。
【図１１】ＮＡＮＤ型フラッシュメモリの読み出し時のメモリセルユニットのバイアス関係を示す等価回路図。
【図１２】ＮＡＮＤ型フラッシュメモリのチップ全体に適当な書き込みバイアスを加えた場合の書き込み後のセルトランジスタの閾値のばらつきを示す分布図。
【図１３】ＮＡＮＤ型フラッシュメモリにおけるベリファイ書き込み時の書き込みバイアスの経時変化を示す図。
【図１４】ＮＡＮＤ型フラッシュメモリにおけるベリファイ書き込み時の書き込みバイアスの変化とセルトランジスタの閾値の分布を示す特性図。
【図１５】従来のＮＡＮＤ型フラッシュメモリのウェハ・テスト工程を概略的に示すフローチャート。
【符号の説明】
７１…第１のバイナリカウンタ、
７２…第２のバイナリカウンタ、
７３…第１のレジスタ、
７４…第３のバイナリカウンタ（累積値記憶回路）、
７５…第２のレジスタ、
７６…不揮発性記憶素子、
７７…書き込み電圧制御回路、
７８…書き込み制御回路、
７９…平均値回路。
【図１】
2004046985.tif 000003
【図２】
2004046985.tif 000004
【図３】
2004046985.tif 000005
【図４】
2004046985.tif 000006
【図５】
2004046985.tif 000007
【図６】
2004046985.tif 000008
【図７】
2004046985.tif 000009
【図８】
2004046985.tif 000010
【図９】
2004046985.tif 000011
【図１０】
2004046985.tif 000012
【図１１】
2004046985.tif 000013
【図１２】
2004046985.tif 000014
【図１３】
2004046985.tif 000015
【図１４】
2004046985.tif 000016
【図１５】
2004046985.tif 000017