(57)【要約】【課題】この発明は、半導体装置のウェハ・テスト時間の短縮を図ることを特徴とする。【解決手段】メモリセルアレイ１１、Ｍ個のレジスタ１９、Ｍ個のレジスタを順に選択するカウンタ８５、パス、フェイル信号を出力する判定回路８３、制御回路８４を有し、制御回路８４は、不良カラム検出時、カラムアドレス並びにカウンタを先頭番地に設定した状態から開始し、判定回路の出力がパスであればカラムアドレスをインクリメントさせ、判定回路の出力がフェイルでありカウンタにより選択されたレジスタのラッチが第１の信号状態である場合はカラムアドレスをレジスタに格納した後、カラムアドレス並びにカウンタをインクリメントさせ、判定回路の出力がフェイルでありカウンタにより選択されたレジスタのラッチが第２の信号状態である場合はラッチが第１の信号状態にあるレジスタに到達するまでカウンタをインクリメントさせた後、カラムアドレスをレジスタに格納し、カラムアドレス並びにカウンタをインクリメントさせる。【選択図】      図１９
2008004264.tif 000002
【特許請求の範囲】
【請求項１】
メモリセルがカラム、ロウ方向にマトリクス状に配列されてカラム領域、ロウ領域を有するメモリセルアレイと、上記メモリセルアレイ内の不良カラムと置き換えるためのＭ個のカラムリダンタンシからなるカラムリダンタンシ領域と、上記カラムリダンタンシと置き換えるべきカラムアドレスを記憶するＭ個のレジスタと、センスアンプとを有する不揮発性半導体メモリにおいて、
上記Ｍ個のレジスタの各々には対応するカラムリダンダンシが使用可能であるか否かに応じてそれぞれ第１または第２の信号状態になるラッチが含まれ、
さらに、上記Ｍ個のレジスタを順に選択するカウンタと、
上記センスアンプから出力される選択カラムのデータが、与えられた期待値と一致しているかどうかに応じてパス、フェイル信号を出力する判定回路と、
上記メモリセルアレイ内の不良カラムを検出する際は、カラムアドレス並びに上記カウンタを先頭番地に設定した状態から開始し、上記判定回路の出力がパスであれば上記カラムアドレスをインクリメントさせ、上記判定回路の出力がフェイルでありかつ上記カウンタにより選択されたレジスタのラッチが第１の信号状態である場合は上記カラムアドレスを上記レジスタに格納した後、カラムアドレス並びにカウンタをインクリメントさせ、上記判定回路の出力がフェイルでありかつ上記カウンタにより選択されたレジスタのラッチが第２の信号状態である場合はラッチが第１の信号状態にあるレジスタに到達するまでカウンタをインクリメントさせた後、上記カラムアドレスをレジスタに格納し、ついでカラムアドレス並びにカウンタをインクリメントさせ、以上の操作を最終カラムアドレスに到達するまで行なわせる制御回路
とが設けられていることを特徴とする不揮発性半導体メモリ。
【請求項２】
前記制御回路は、
メモリセルアレイ内のカラムの不良を検出する操作の前に前記カラムリダンダンシ領域の不良検出の操作を行ない、
不良が検出されたカラムリダンダンシについては対応するレジスタの前記ラッチを第２の信号状態とし、かつレジスタにメモリセルアレイのカラム領域が選択されないようなカラムアドレスを設定することを特徴とする請求項１記載の不揮発性半導体メモリ。
【請求項３】
メモリセルがカラム、ロウ方向にマトリクス状に配列されてカラム領域、ロウ領域を有するメモリセルアレイと、上記メモリセルアレイ内の不良カラムと置き換えるためのＭ個のカラムリダンタンシからなるカラムリダンタンシ領域と、上記カラムリダンタンシと置き換えるべきカラムアドレスを記憶するＭ個のレジスタと、センスアンプとを有する不揮発性半導体メモリにおいて、
上記Ｍ個のレジスタの各々には対応するカラムリダンダンシが使用可能であるか否かに応じてそれぞれ第１または第２の信号状態になるラッチが含まれ、
さらに、上記Ｍ個のレジスタを順に選択するカウンタと、
上記センスアンプから出力される選択カラムのデータが、与えられた期待値と一致しているかどうかに応じてパス、フェイル信号を出力する判定回路とを有し、
上記メモリセルアレイ内の不良カラムを検出する際は、カラムアドレス並びに上記カウンタを先頭番地に設定した状態から開始し、
上記判定回路の出力がパスであれば上記カラムアドレスをインクリメントさせ、上記判定回路の出力がフェイルでありかつ上記カウンタにより選択されたレジスタのラッチが第１の信号状態である場合は上記カラムアドレスを上記レジスタに格納した後、カラムアドレス並びにカウンタをインクリメントさせ、
上記判定回路の出力がフェイルでありかつ上記カウンタにより選択されたレジスタのラッチが第２の信号状態である場合はラッチが第１の信号状態にあるレジスタに到達するまでカウンタをインクリメントさせた後、上記カラムアドレスをレジスタに格納し、ついでカラムアドレス並びにカウンタをインクリメントさせ、
以上の操作を最終カラムアドレスに到達するまで行なうことを特徴とする不揮発性半導体メモリにおける不良カラムの検出及び置き換え方法。
【請求項４】
前記メモリセルアレイ内のカラムの不良を検出する操作の前に前記カラムリダンダンシ領域の不良検出の操作を行ない、
不良が検出されたカラムリダンダンシについては対応するレジスタの前記ラッチを第２の信号状態とし、かつレジスタにメモリセルアレイのカラム領域が選択されないようなカラムアドレスを設定することを特徴とする請求項３記載の不揮発性半導体メモリにおける不良カラムの検出及び置き換え方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、カラムリダンダンシ機能を有する不揮発性半導体メモリ及び不揮発性半導体メモリにおける不良カラムの検出及び置き換え方法に関する。
【背景技術】
【０００２】
不揮発性半導体メモリの１種であるＮＡＮＤ型フラッシュメモリについては、例えば、非特許文献１などによって発表されている。
【０００３】
このような不揮発性半導体メモリでは、ウェハ・テストの工程において、電圧トリミングと不良セルのリダンダンシ置き換えが行われる。
【０００４】
図３５は従来のウェハ・テスト工程の概略を示すフローチャートである。各工程の動作内容は下記の通りである。
【０００５】
ＤＣテストでは、コンタクト・チェック、スタンバイ電流等のＤＣチェックを行なう。Ｖｒｅｆ（基準電圧）トリミングでは、まずウェハ上の各チップのＶｒｅｆをモニタし、次いでこれらをターゲット値に補正するためにトリミング値をいくらにすればよいかを計算する。
【０００６】
次にＶｐｇｍ（書き込み電圧）初期値トリミングを行なう。ＮＡＮＤ型フラッシュメモリでは書き込み電圧Ｖｐｇｍを初期値から段階的に上げてゆくIncremental Step Pulse Programming Scheme を採用している。この方法については、例えば、非特許文献２に記載されている。この書き込み方法では、書き込み時間（もしくは書き込みループ回数）が所定の時間（回数）内に収まるようにするために、Ｖｐｇｍの初期値を最適化する必要がある。そのためにはまず、メモリセルアレイ内から書き込み消去のできるブロック（グッド・ブロック）を見つける必要がある。なぜならこの段階では未だ不良セルのリダンダンシ置き換えがなされていないからである。
【０００７】
グッド・ブロックが見つかったら、Ｖｐｇｍの初期値を変えつつそのブロックに書き込みを行ない、最適値を決定する。
【０００８】
続いて電圧トリミング用フューズ・カットを行なう。この工程ではウェハをレーザー・ブロー装置に移し、上記Ｖｒｅｆトリミング、Ｖｐｇｍ初期値トリミングで決定したトリミング値に応じてフューズ・カットする。
【０００９】
続いて不良カラム・ロウ検出を行なう。ここでは、リダンダシン置き換えのためにメモリセルアレイに数通りのデータパターンを書き込み、不良カラム・ロウを検出する。
【００１０】
次にリダンダシン用フューズ・カットを行なう。ここでは、ウェハを再度レーザー・ブロー装置に移し、リダンダンシ置き換えのフューズ・カットをする。
【００１１】
なお、このフローチャートにおいて、不良カラム・ロウ検出の前に電圧トリミング用のフューズ・カットを行なうのは、Ｖｐｇｍ等の内部生成電圧がずれた状態で不良カラム・ロウ検出を行なうと不良が見つけられない可能性があるためである。
【００１２】
上記のようなウェハ・テスト工程のテスト時間は、チップのコストに反映される。したがってチップコストを削減するには、必要なウェハ・テストを行ないつつテスト時間を極力短縮することが必要である。
【００１３】
上述したウェハ・テストの工程では、テスト時間を長くする要因が２つある。１つは、フューズ・カット工程の存在自体にある。レーザー・ブローによりフューズ・カットを行なうためには、ウェハをテスタから取り出してレーザー・ブロー装置に移す必要があり、ここで時間のオーバーヘッドが生じる。上記ウェハ・テスト工程では特に、フューズ・カットを２回に分けて行なう必要があるためオーバーヘッドがより顕著なものとなっている。
【００１４】
第２の要因は、テスタの演算時間にある。テスト時間短縮のため、ウェハ・テスト工程では１００個程度のチップに対し同時にコマンドを与え、なおかつ出力を同時に測定できるようなテスタが用いられる。しかし、こうしたテスタでも、モニタした電圧からトリミング値を算出する演算や、読み出したデータパターンから不良カラム・ロウを検出する演算を、完全に並列に行なうことはできない。並列処理のできるチップ数は、高々１０個程度である。したがって１００チップ分のデータを同時に取得できたとしても、そのデータに対する演算処理は１０回に分割して行なわねばならず、ここで時間のオーバーヘッドが生じる。
【００１５】
上記２つの要因のうち、フューズ・カット工程分の時間を削減するための方法が、本出願人による特許文献１に記載されている発明で述べられている。その概要は以下の通りである。
【００１６】
不揮発性半導体メモリではメモリセルが不揮発に情報を記憶できるので、電圧のトリミング値やリダンダンシの情報をメモリセルアレイ内に記憶させれば、フューズ並びにフューズ・カット工程をなくすことができる。不揮発性半導体メモリが通常の動作状態にあるときは先のトリミング値やリダンダンシ情報が所定のレジスタに格納されている必要があるが、その格納動作、すなわちメモリセルアレイ内から情報を取り出してレジスタに格納するという動作は、不揮発性半導体メモリに電源を投入した時点で行なえば良い。
【非特許文献１】K.Imamiya et.al.”A 130-mm2 256-Mb NAND Flash with Shallow Trench Isolation Technology”，IEEE J.Solid State Circuits, Vol.34,pp.1536-1543, Nov.1999
【非特許文献２】K.D.Suh et.al.，”A 3.3V 32Mb NAND Flash Memory with Incremental Step Pulse Programming Scheme”，ISSCC Digest of Technical Papers, pp.128-129, Feb.1995
【特許文献１】特開２００１−１７６２９０号公報
【発明の開示】
【発明が解決しようとする課題】
【００１７】
この発明は上記のような事情を考慮してなされたものであり、その目的は、リダンダンシの情報を不揮発性のメモリセルに記憶させ、その情報をメモリセルアレイ内から取り出してレジスタに格納することにより、フューズ並びにフューズ・カット工程をなくすことができ、さらに外部のテスタを使用せずにテストを行なうことによりテスト時間の短縮を図ることである。
【００１８】
より具体的には、リダンダンシの情報をメモリセルアレイ内に記憶させるような不揮発性半導体メモリにおいて、リダンダンシ決定に要するテスト時間を削減することを目的とする。さらに願わくは、不揮発性半導体メモリ以外の半導体製品にも適用可能な、簡便でかつ普遍性・汎用性のあるテスト方法を提供することを目的とする。
【課題を解決するための手段】
【００１９】
この発明の不揮発性半導体メモリは、メモリセルがカラム、ロウ方向にマトリクス状に配列されてカラム領域、ロウ領域を有するメモリセルアレイと、上記メモリセルアレイ内の不良カラムと置き換えるためのＭ個のカラムリダンタンシからなるカラムリダンタンシ領域と、上記カラムリダンタンシと置き換えるべきカラムアドレスを記憶するＭ個のレジスタと、センスアンプとを有する不揮発性半導体メモリにおいて、上記Ｍ個のレジスタの各々には対応するカラムリダンダンシが使用可能であるか否かに応じてそれぞれ第１または第２の信号状態になるラッチが含まれ、さらに、上記Ｍ個のレジスタを順に選択するカウンタと、上記センスアンプから出力される選択カラムのデータが、与えられた期待値と一致しているかどうかに応じてパス、フェイル信号を出力する判定回路と、上記メモリセルアレイ内の不良カラムを検出する際は、カラムアドレス並びに上記カウンタを先頭番地に設定した状態から開始し、上記判定回路の出力がパスであれば上記カラムアドレスをインクリメントさせ、上記判定回路の出力がフェイルでありかつ上記カウンタにより選択されたレジスタのラッチが第１の信号状態である場合は上記カラムアドレスを上記レジスタに格納した後、カラムアドレス並びにカウンタをインクリメントさせ、上記判定回路の出力がフェイルでありかつ上記カウンタにより選択されたレジスタのラッチが第２の信号状態である場合はラッチが第１の信号状態にあるレジスタに到達するまでカウンタをインクリメントさせた後、上記カラムアドレスをレジスタに格納し、ついでカラムアドレス並びにカウンタをインクリメントさせ、以上の操作を最終カラムアドレスに到達するまで行なわせる制御回路とが設けられていることを特徴とする。
【００２０】
この発明の不揮発性半導体メモリにおける不良カラムの検出及び置き換え方法は、メモリセルがカラム、ロウ方向にマトリクス状に配列されてカラム領域、ロウ領域を有するメモリセルアレイと、上記メモリセルアレイ内の不良カラムと置き換えるためのＭ個のカラムリダンタンシからなるカラムリダンタンシ領域と、上記カラムリダンタンシと置き換えるべきカラムアドレスを記憶するＭ個のレジスタと、センスアンプとを有する不揮発性半導体メモリにおいて、上記Ｍ個のレジスタの各々には対応するカラムリダンダンシが使用可能であるか否かに応じてそれぞれ第１または第２の信号状態になるラッチが含まれ、さらに、上記Ｍ個のレジスタを順に選択するカウンタと、上記センスアンプから出力される選択カラムのデータが、与えられた期待値と一致しているかどうかに応じてパス、フェイル信号を出力する判定回路とを有し、上記メモリセルアレイ内の不良カラムを検出する際は、カラムアドレス並びに上記カウンタを先頭番地に設定した状態から開始し、上記判定回路の出力がパスであれば上記カラムアドレスをインクリメントさせ、上記判定回路の出力がフェイルでありかつ上記カウンタにより選択されたレジスタのラッチが第１の信号状態である場合は上記カラムアドレスを上記レジスタに格納した後、カラムアドレス並びにカウンタをインクリメントさせ、上記判定回路の出力がフェイルでありかつ上記カウンタにより選択されたレジスタのラッチが第２の信号状態である場合はラッチが第１の信号状態にあるレジスタに到達するまでカウンタをインクリメントさせた後、上記カラムアドレスをレジスタに格納し、ついでカラムアドレス並びにカウンタをインクリメントさせ、以上の操作を最終カラムアドレスに到達するまで行なうことを特徴とする。
【発明の効果】
【００２１】
この発明によれば、リダンダンシの情報を不揮発性のメモリセルに記憶させ、その情報をメモリセルアレイ内から取り出してレジスタに格納することにより、フューズ並びにフューズ・カット工程をなくすことができ、さらに外部のテスタを使用せずにテストを行なうことによりテスト時間の短縮を図ることができる。
【発明を実施するための最良の形態】
【００２２】
以下、図面を参照してこの発明の実施の形態を詳細に説明する。
【００２３】
図１はこの発明に係るＮＡＮＤ型フラッシュメモリの概略的な構成を示すブロック図、図２は図１のメモリのメモリセルアレイの一部の構成を示す回路図であり、さらに図３は図１のメモリのウェハ・テスト工程のフローチャートである。
【００２４】
図１において、メモリセルアレイ（Ｍｅｍｏｒｙ  Ｃｅｌｌ  Ａｒｒａｙ）１１は、電気的書き替えが可能な不揮発性メモリセルがカラム、ロウ方向にマトリクス状に配列して構成されている。上記各不揮発性メモリセルは、コントロールゲートとフローティングゲートとが積層されたスタックトゲート型のＭＯＳトランジスタ構造を有している。
【００２５】
ここで、メモリセルアレイ１１は、他とは絶縁分離されたウェル領域上に形成されており、メモリセルアレイ１１内のメモリセルのデータを消去する際は、消去動作を複数ステップに分けて各ステップ毎に上記ウェル領域に与える消去電圧を初期電圧から一定電圧ずつ上げてゆくような消去方法が採られる。
【００２６】
また、メモリセルアレイ１１には、不良セルを置き換えるためのリダンダシ（冗長）カラムが設けられている。さらに、メモリセルアレイ１１には、初期設定データを格納するための初期設定データ領域が設定されている。
【００２７】
上記メモリセルアレイ１１には、互いに交差するようにそれぞれ複数本のワード線ＷＬ及びビット線ＢＬが設けられており、複数本のワード線はロウデコーダ（Ｒｏｗ  Ｄｅｃｏｄｅｒ）１２のデコード出力によって選択的に駆動される。データの読み出し時に、メモリセルアレイ１１内のメモリセルから読み出された信号はビット線ＢＬを介してページバッファ（Ｐａｇｅ  Ｂｕｆｆｅｒ）１３に供給され、ここでセンスされる。ページバッファ１３でセンスされたデータは、カラムゲート回路（Ｃｏｌｕｍｎ  Ｇａｔｅ）１４によってカラム単位で選択されてＩ／Ｏバス（Ｉ／Ｏ  Ｂｕｓ）１５に供給され、さらにＩ／Ｏバッファ（I／Ｏ  Ｂｕｆｆｅｒ）１６から外部に出力される。データの書き込み時は、上記とは逆に外部から供給される書き込みデータがＩ／Ｏバッファ１６〜Ｉ／Ｏバス１５〜カラムゲート回路１４に供給され、さらにページバッファ１３を介してビット線ＢＬに書き込みデータに応じた電圧が供給され、選択メモリセルにデータが書き込まれる。
【００２８】
また、上記Ｉ／Ｏバッファ１６には、チップ外部から、データ書き込み時には上記書き込みデータが供給される他に、メモリセルを選択するためのアドレスやメモリの動作を制御するためのコマンドが供給される。アドレスはアドレスバッファ（Ａｄｄｒｅｓｓ  Ｂｕｆｆｅｒ）１７に取り込まれ、コマンドはコマンドバッファ（Ｃｏｍｍａｎｄ  Ｂｕｆｆｅｒ）１８に取り込まれる。アドレスバッファ１７に取り込まれたアドレスのうち、ロウアドレスはロウデコーダ１２に供給され、カラムアドレスはカラムゲート回路１４に供給される。
【００２９】
上記メモリセル１１に不良カラムが発生している場合に、この不良カラムに対応した不良カラムアドレスを格納するための不良カラムアドレスレジスタ（Ｂａｄ  Ｃｏｌｕｍｎ  Ａｄｄ．  Ｒｅｇｉｓｔｅｒ）１９が設けられている。すなわち、不良カラムアドレスレジスタ１９は、リダンダンシ置き換えをすべき不良カラムのアドレスを格納するレジスタである。なお、この実施の形態におけるメモリではブロック・リダンダンシは設けないが、その代わりに不良ブロックを検出してフラグを立て、ユーザに不良ブロック・アドレスが判るようにしている。不良ブロックのフラグ情報はロウデコーダ１２内のラッチに記憶される。この不良カラムアドレスレジスタ１９は上記Ｉ／Ｏバス１５に接続されている。
【００３０】
内部電圧生成回路（Ｖｏｌｔａｇｅ  Ｇｅｎｅｒａｔｏｒｓ）２０は、チップ内部で使用される各種電圧を生成するものであり、この電圧には例えばＶｒｅｆ（基準電圧）、Ｖｐｇｍ（書き込み電圧）、内部降圧電圧（Ｖｄｄ）、消去電圧（Ｖｅｒａｓｅ）、非選択セルのワード線に供給される非選択セルワード線電圧（Ｖｒｅａｄ）などがある。内部電圧生成回路２０で生成された各種電圧はロウデコーダ１２などに供給される。
【００３１】
トリミングデータレジスタ（Ｔｒｉｍ．  Ｄａｔａ  Ｒｅｇｉｓｔｅｒ）２１は、上記内部電圧生成回路２０で上記各種電圧を生成する際に使用される調整用データ（トリミングデータ）を格納する。
【００３２】
タイマー回路（Ｔｉｍｅｒ）２２は、チップ内部で使用される各種タイミングパルスを生成する。
【００３３】
トリミングデータレジスタ（Ｔｒｉｍ.  Ｄａｔａ  Ｒｅｇｉｓｔｅｒ）２３は、上記タイマー回路２２で上記各種タイミングパルスを生成する際に使用される調整用データ（トリミングデータ）を格納する。上記トリミングデータレジスタ２１、２３は、従来技術におけるフューズの役割をする。すなわち、電源投入時に、メモリセルアレイ１１内の後述する初期設定データ領域からレジスタに格納すべきデータが読み出され、１／Ｏバス１５を介して各レジスタ２１、２３に順次格納される。
【００３４】
Ｉ／Ｏ制御回路（Ｉ／Ｏ  Ｃｏｎｔｒｏｌ）２４は、外部から供給されるチップイネーブル信号／ＣＥ、リードイネーブル信号／ＲＥ、ライトイネーブル信号／ＷＥなどの各種制御信号を取り込む。Ｉ／Ｏ制御回路２４に取り込まれた制御信号及び上記コマンドバッファ１８に取り込まれたコマンドは制御回路（Ｃｏｎｔｒｏｌ  Ｌｏｇｉｃ）２５に供給される。
【００３５】
上記制御回路２５は、Ｉ／Ｏ制御回路２４からの制御信号及びコマンドをデコードした結果に基づいてチップ内部の各回路の動作を制御する。この制御回路２５内には制御用のデータを格納するための各種レジスタが設けられている。また、制御回路２５は外部回路に対して、チップがアクセス可能である否かの状態を示すレディー／ビジー信号（Ｒ／Ｂｎ）を出力する機能を有している。
【００３６】
図２に示すメモリセルアレイ１１では、例えば１６個のメモリセルが直列接続されてＮＡＮＤセルユニットを構成している。ワード線ＷＬ（ＷＬ０〜ＷＬ１５）が共通に接続された複数のＮＡＮＤセルユニットは、データ消去の最小単位となるセルブロックを構成しており、複数のセルブロックＢ０、Ｂ１、…、Ｂｎがビット線ＢＬを共通にして配置されている。
【００３７】
このようなメモリセルアレイ１１において、例えばセルブロックＢｎが初期設定データを格納するための初期設定データ領域として使用される。この初期設定データ領域は、ビット線ＢＬ及びワード線ＷＬの選択駆動により、データの書き込み、消去及び読み出しが可能ではあるが、メモリの通常の動作においては外部からはアクセスされない。従って、データの一括消去あるいはブロック単位の消去の際にも、この初期設定データ領域内のデータは消去されない。
【００３８】
次に、上記のような構成のメモリのウェハ・テスト時における各工程の動作を、図３のフローチャートを参照して説明する。
【００３９】
ウェハ・テストは以下の工程からなる。
【００４０】
（１）ＤＣテスト（ＤＣ  Ｔｅｓｔ）
（２）デフォルト・リセット（Ｄｅｆａｕｌｔ  Ｒｅｓｅｔ）
（３）タイマー及び電圧トリミング（Ｔｉｍｅｒ  ＆  Ｖｏｌｔａｇｅ  Ｔｒｉｍｍｉｎｇ）
（４）不良カラム検出及び置き換え（Ｂａｄ  Ｃｏｌ．  Ｄｅｔｅｃｔｉｏｎ  ＆  Ｒｅｐａｉｒ）
（５）正常なメモリブロックのサーチ（Ｇｏｏｄ  Ｂｌｏｃｋ  Ｓｅｒｃｈ）
（６）Ｖｐｇｍ初期値トリミング（Ｖｐｇｍ  Ｉｎｉｔｉａｌ  Ｖａｌｕｅ  Ｔｌｉｍｍｉｎｇ）
（７）不良メモリブロック検出（Ｂａｄ  Ｂｌｏｃｋ  Ｄｅｔｅｃｔｉｏｎ）
（８）オプション・セット（Ｏｐｔｉｏｎ  Ｓｅｔ）
（９）ＲＯＭフューズ・プログラム（ＲＯＭ−Ｆｕｓｅ  Ｐｒｏｇｒａｍ）
（１０）パワーオフ、オン時のレジスタ状態の検証（Ｐｏｗｅｒ  Ｏｆｆ，Ｏｎ  Ｖｅｒｉｆｉｃａｔｉｏｎ  ｏｆ  Ｒｅｇｉｓｔｅｒ  Ｓｔａｔｅ）
このようなウェハ・テストのうち、（２）のデフォルト・リセットから（９）のＲＯＭフューズ・プログラムまでの工程は、電源を投入した後に電源を切ることなく続けて行われる。
【００４１】
次に各項目について説明する。
【００４２】
（１）ＤＣテスト
まず、従来技術の場合と同じＤＣテストを行なう。この部分は自動テスト化できないが、トータルのテスト時間に占める割合は小さいので、テスト時間への影響は少ない。
【００４３】
（２）デフォルト・リセット
ＤＣテストの後に全レジスタをデフォルト（初期）状態にセットする。トリミングデータレジスタ２１、２３に対しては、各レジスタの中身がデフォルトのトリミング値となるようリセットする。一方、不良カラムアドレスレジスタ１９と前記不良ブロック・フラグに関しては、不良カラムおよび不良ブロックがない状態にリセットする。
【００４４】
（３）タイマー及び電圧トリミング
この工程では、タイマー回路２２で生成するパルス信号のパルス幅のトリミング及び内部電圧生成回路２０で生成する電圧の値のトリミングを行なう。ここでトリミングする電圧は、基準電圧Ｖｒｅｆ、内部降圧電圧Ｖｄｄ並びに非選択セルワード線電圧Ｖｒｅａｄの３つである。
【００４５】
以下各項目毎にテスト方法を説明する。
【００４６】
［タイマー・トリミング（Ｔｉｍｅｒ  Ｔｒｉｍｍｉｎｇ）］
図４は、図１中のタイマー回路２２、トリミングデータレジスタ２３及びこれらの回路に関係する制御回路２５内の回路の具体的構成を示している。
【００４７】
タイマー回路２２は、タイマー信号生成回路２２Ａと基準クロック生成回路２２Ｂとから構成される。
【００４８】
タイマー信号生成回路２２Ａは、基準クロック生成回路２２Ｂにより生成された基本クロックＰＵＬＳＥから、図５のタイミングチャートに示すようにパルスＴＭＣＬＫを生成する。ここで、上記パルスＴＭＩＮＴは基本クロックの整数倍に相当するパルスであり、タイマーリセット信号ＴＭＲＳＴをトリガとして生成される。パルスＴＭＣＬＫは、パルスＴＭＩＮＴが“Ｈ”となってからＴＩＮＴの時間だけ経過してから“Ｈ”となる。時間ＴＩＮＴとパルスＴＭＣＬＫのパルス幅（１００ｎｓ）は基準クロックから生成されるため、基準クロックのばらつきに応じて増減する。
【００４９】
タイマー信号生成回路２２Ａで生成されたパルスＴＭＣＬＫは、チップのパッド（Ｐａｄ）３１に供給される、所望するパルス幅Ｔｅｘｔを有するパルスＴＭＥＸＴと共にＡＮＤゲート３２に供給される。
【００５０】
上記ＡＮＤゲート３２の出力はセット・リセット型のフリップフロップ３３のセット端子に供給される。またフリップフロップ３３のリセット端子にはタイマーリセット信号ＴＭＲＳＴが供給される。このフリップフロップ３３の出力は、フラグＦＬＡＧとしてトリミングデータレジスタ制御回路（Ｃｏｎｔｒｏｌ）３４に供給される。この制御回路３４は、上記フラグＦＲＡＧの状態に応じて、前記トリミングデータレジスタ２３に対してインクリメント信号ｉｎｃまたはリセット信号ｒｓｔを供給する。
【００５１】
上記基準クロック生成回路２２Ｂの一具体例を図６の回路図に示す。ここで、２つの基準遅延生成回路３５Ａ及び３５Ｂは同様の回路構成を有しており、差動増幅器４１、２つのＮチャネルＭＯＳトランジスタ４２、４３、トリミング信号に応じて両端子間の抵抗値が変化する可変抵抗回路Ｒ、ＰチャネルＭＯＳトランジスタ４４及びキャパシタＣとから構成され、それぞれ可変抵抗回路Ｒにおける抵抗値とキャパシタＣの容量値との積ＲＣに相当する遅延時間を生成する。
【００５２】
上記両基準遅延生成回路３５Ａ、３５Ｂの出力は、タイマーリセット信号ＴＭＲＲＳＴｎと共に、２個のＮＡＮＤ回路からなるフリップフロップ４５に供給される。このフリップフロップ４５の一方の出力は、ＡＮＤ回路４６によってタイマーリセット信号ＴＭＲＲＳＴｎと共にＡＮＤ論理が取られることにより制御信号ＤＥＮ１が生成される。この制御信号ＤＥＮ１は、一方の基準遅延生成回路３５Ｂ内のＰチャネルＭＯＳトランジスタ４４のゲートに供給される。また、上記フリップフロップ４５の他方の出力は、ＡＮＤ回路４７によってタイマーリセット信号ＴＭＲＲＳＴｎと共にＡＮＤ論理が取られることにより制御信号ＤＥＮ０が生成される。この制御信号ＤＥＮ０は、他方の基準遅延生成回路３５Ａ内のＰチャネルＭＯＳトランジスタ４４のゲートに供給されると共に、インバータ４８で反転されて基本クロックＰＵＬＳＥが生成される。
【００５３】
このような構成の基準クロック生成回路２２Ｂにおいて、基準遅延生成回路３５Ａ、３５Ｂでは、制御信号ＤＥＮ０またはＤＥＮ１が“Ｌ”になっている期間にＰチャネルＭＯＳトランジスタ４４がオンし、キャパシタＣが電源電圧によって充電されている。ここでＮチャネルＭＯＳトランジスタ４２のしきい値電圧をＶｔｈとすれば、差動増幅器４１の（−）端子の電圧はＶｔｈに設定されている。
【００５４】
次に、制御信号ＤＥＮ０またはＤＥＮ１が“Ｈ”に変わると、ＰチャネルＭＯＳトランジスタ４４がオフし、キャパシタＣの充電が行われなくなる。ここで、ＮチャネルＭＯＳトランジスタ４２、４３はカレントミラー回路を構成しており、可変抵抗回路Ｒを介してＮチャネルＭＯＳトランジスタ４２に流れる電流に比例した電流がＮチャネルＭＯＳトランジスタ４３にも流れ、キャパシタＣは今度はこの電流によって放電される。そして、キャパシタＣの端子電圧が、差動増幅器４１の（−）端子の電圧Ｖｔｈよりも低くなると、差動増幅器４１の出力が“Ｈ”から“Ｌ”に反転する。そして、制御信号ＤＥＮ０またはＤＥＮ１が“Ｌ”から“Ｈ”に反転してから、次に差動増幅器４１の出力が“Ｈ”から“Ｌ”に反転するまでの遅延時間が上記ＲＣに相当する。このような動作が２つの基準遅延生成回路３５Ａ、３５Ｂで交互に繰り返されることにより、インバータ４８からは上記遅延時間ＲＣの２倍の周期をもつ基本クロックＰＵＬＳＥが出力される。ここで、可変抵抗回路Ｒはトリミング信号の値に応じて抵抗値を変えることができるため、トリミング信号により基準遅延時間を調整することができる。なお基準クロック生成回路２２Ｂは図６のものに限られることはなく、トリミング信号により基準クロックを調整できるものであれば、他の回路構成を使用してもよい。
【００５５】
図７は、図６中の可変抵抗回路Ｒの具体的な構成例を示す回路図である。この可変抵抗回路Ｒは、デコーダ回路（Ｄｅｃｏｄｅｒ）４９と、互いに値が異なる８個の抵抗Ｒ０〜Ｒ７及びこれらの各抵抗に対してそれぞれ直列接続された８個のＮチャネルＭＯＳトランジスタＱとから構成されている。
【００５６】
上記デコーダ回路４９は、例えば３ビットのトリミング信号ＴＴＭＲ０〜ＴＴＭＲ２をデコードして、８通りのデコード信号を出力する。そして、これら８通りのデコード信号のそれぞれが上記８個のＮチャネルＭＯＳトランジスタＱのゲートに供給される。
【００５７】
このように構成された可変抵抗回路Ｒでは、３ビットのトリミング信号ＴＴＭＲ０〜ＴＴＭＲ２に基づいて８個のＮチャネルＭＯＳトランジスタＱのうちいずれか１つがオン状態されることにより、両端子間の抵抗値が８通りに変化する。
【００５８】
図８は、図４中のトリミングデータレジスタ２３の詳細な回路構成を示している。このレジスタ２３は例えば４ビットのデータを保持する。このうちの１ビットはインデクス（ＩＮＤＥＸ）ビットである。このインデクスビットはトリミングテストを行なったか否かを示す指標の役割をする。残りの３ビットＴＴＭＲ０〜ＴＴＭＲ２が正味のトリミング情報となる。
【００５９】
図８に示すように、直列接続された３個のＤ型フリップフロップ（ＤＦＦ）５０により構成されたカウンタがＴＴＭＲ０〜ＴＴＭＲ２を記憶するレジスタを兼ねている。インデクスビットはラッチ回路（ＩＮＤＥＸ  ｌａｔｃｈ）５１で記憶される。各フリップフロップ５０及びラッチ回路５１のデータは、各フリップフロップ５０及びラッチ回路５１に対してそれぞれ設けられた各２個のクロックドインバータ５２、５３を介してＩ／Ｏバス１５との間で入出力される。
【００６０】
レジスタ２３のデータをメモリセルに書き込む際はＩ／Ｏバス１５を介してページバッファ１３（図１に図示）に転送し、また電源投入後にトリミングデータをメモリセルからレジスタ２３に転送する際は、ページバッファ１３からＩ／Ｏバス１５を介してレジスタ２３にデータを取り込む。
【００６１】
図９は、レジスタ２３内のデータ（ＴＴＭＲ０〜ＴＴＭＲ２及びＩＮＤＥＸ）と上記ＴＩＮＴのずれ（ΔＴｉｎｔ）との関係を示したものである。デフォルト・リセットの状態ではＩＮＤＥＸビットは“０”にされ、ＴＴＭＲ０〜ＴＴＭＲ２はＴＩＮＴのずれが０％となるような値に設定される。タイマー・トリミングのテストが開始されるとレジスタデータはまず初期状態にセットされる。このとき、ＩＮＤＥＸビットは“１”にされる。なお、初期状態ではＴＴＭＲ０〜ＴＴＭＲ２は全て“０”である。
【００６２】
次に、図４中の制御回路３４からインクリメント信号ｉｎｃが生成される度に、ＴＴＭＲ０〜ＴＴＭＲ２のデータが順次インクリメントされる。図９に示すように、ＴＩＮＴの時間はＴＴＭＲ０〜ＴＴＭＲ２がインクリメントされるに従い順次長くなるように制御される。
【００６３】
このようなレジスタ機能並びに回路構成を用いれば、次のようにタイマー回路のトリミングができる。
【００６４】
図１０はタイマー回路２２のトリミング時のシーケンス、図１１はトリミング時のタイミングチャートを示し、図１２は図１中のＩ／Ｏバッファ１６にレジスタコントロールコマンドを供給した時の動作手順を示すフローチャートである。
【００６５】
まず、テスト開始コマンドを入力すると、レジスタ２３が初期状態にセットされ、タイマー回路２２のテストが可能な状態になる。次に、図４に示されたパッド３１に狙い目の幅Ｔｅｘｔを持つパルスＴＭＥＸＴを入力する。これにより、ＴＭＥＸＴをトリガとしてＴＭＲＳＴ、ＴＭＩＮＴ、ＴＭＣＬＫのパルスが立つ。ここで、図１１（ａ）に示すように、ＴＭＥＸＴが“Ｈ”の期間中にパルスＴＭＣＬＫが立つと、ＦＬＡＧが“Ｈ”となり、図１１（ｂ）に示すように、ＴＭＥＸＴが“Ｌ”の期間中にパルスＴＭＣＬＫが立つと、フラグＦＬＡＧは“Ｌ”となる。
【００６６】
次に、レジスタコントロールコマンドを入力する。このコマンドを入力すると、ＦＬＡＧが“Ｈ”の場合に制御回路３４はインクリメント信号ｉｎｃを生成し、ＦＬＡＧが“Ｌ”であればインクリメント信号ｉｎｃを生成しない。なお、レジスタコントロールコマンドの形態としては、通常のコマンド入力であってもよいし、／ＷＥ信号のトグルのような形態であってもよい。
【００６７】
図１０のシーケンスに従ってテストをすると、Ｔｉｎｔ＜Ｔｅｘｔである間はレジスタデータが順次インクリメントされ、タイマー時間が順次長くなり、Ｔｉｎｔ＞Ｔｅｘｔとなった段階でインクリメントされなくなる。従って、テスト終了コマンドが供給されて、シーケンスが終了した時点では、レジスタデータはＴｉｎｔとＴｅｘｔがほぼ等しくなるような値にセットされていることになる。
【００６８】
なお、基本クロックのパルス幅のターゲット値は１００ｎｓであるが、ＴＩＮＴの時間はこれよりも十分長い値、例えば１００μｓとする。その理由は、ＴＩＮＴに占めるロジック遅延の影響を十分小さくするためである。
【００６９】
ここで、図１２に示したフローチャートについて簡単に説明する。
【００７０】
テストコマンドが供給されると（Ｃｏｍｍａｎｄ  ｉｎｐｕｔ）、ステップＳ１においてＲ／Ｂｎ（レディー／ビジー）信号が“Ｌ”にされ（Ｒ／Ｂｎ＝“Ｌ”）、チップがビジー状態であることが外部に知らされる。次に、ステップＳ２においてフラグＦＬＡＧが“Ｈ”であるか否かが判断される（ＦＬＡＧ＝“Ｈ”？）。このとき、フラグＦＬＡＧが“Ｈ”でなければ、基本クロックのパルス幅は既にターゲット値であるため、その後、ステータス（Ｓｔａｔｕｓ）がパス（Ｐａｓｓ）状態（Ｓｔａｔｕｓ＝“Ｐａｓｓ”）にされた上でＲ／Ｂｎ信号が“Ｈ”にされてタイマー・トリミングのテスト動作が終了する。
【００７１】
一方、ステップＳ２においてフラグＦＬＡＧが“Ｈ”であると判断されると、次にステップＳ３においてトリミングデータが最大値に達しているか否かが判断される（Ｔｒｉｍ．Ｄａｔａ＝Ｍａｘ？）。ここで既に最大値に達していれば、ステップＳ４においてレジスタ２３がリセットされ（Ｒｅｇｉｓｔｅｒ  Ｒｅｓｅｔ）、トリミングに失敗したとしてステータスがフェイル（Ｆａｉｌ）状態（Ｓｔａｔｕｓ＝“Ｆａｉｌ”）にされた上でＲ／Ｂｎ信号が“Ｈ”にされてタイマー・トリミングのテスト動作が終了する。
【００７２】
ステップＳ３においてトリミングデータが最大値に達していないと判断されると、次にステップＳ５においてレジスタ２３のデータがインクリメントされ（Ｉｎｃｒｅｍｅｎｔ  Ｒｅｇｉｓｔｅｒ  Ｄａｔａ）、ステータスがフェイル状態（Ｓｔａｔｕｓ＝“Ｆａｉｌ”）にされた上でＲ／Ｂｎ信号が“Ｈ”にされる。
【００７３】
上述したテスト手法は、次のような利点を持っている。
【００７４】
（１）テスタは各々のチップに対し共通のコマンドを入力するだけでよい。特に、テスタのＣＰＵを用いてトリミングデータを決定する演算を行なう必要がなくなる。（２）また、チップ毎の特性データを格納するメモリをテスタが持たなくても良い。
【００７５】
これらのことは、１００個程度のチップに対して完全に並列にテストができることを意味する。また高性能、高機能のテスタを用いなくてもトリミングテストができることを意味する。従って、従来のテスト方法に比べると、テスト時間の大幅な短縮とテストコストの大幅な削減を図ることができる。
【００７６】
なお、ここではタイマー回路２２のトリミングのテストについて説明したが、以下に述べるように、このテストの本質は電圧トリミングやリダンダンシ計算にも適用できる。
【００７７】
また本方式は、トリミングデータをメモリセルアレイ１１に書き込めるメモリを前提としていたが、トリミングデータをレーザーフューズに記憶させるようなメモリにも適用可能である。その場合は上記のような方法でトリミングデータを決定したのち、レジスタ２１、２３内のデータをテスタのメモリに移し、その後、そのデータに基づいてフューズ・カットを行なえばよい。この場合、上記（２）の利点は失われるが、上記（１）の利点は保たれるため、テスト時間の短縮が可能となる。
【００７８】
［電圧トリミング（Ｖｏｌｔａｇｅ  Ｔｒｉｍｍｉｎｇ）］
チップ内部で使用される各電圧のトリミングも上記タイマー回路２２のトリミングの場合と同様に行なうことができる。
【００７９】
図１３は、図１中の内部電圧生成回路２０、トリミングデータレジスタ２１及びこれらの回路に関係する制御回路２５内の回路の具体的構成を示している。この場合には基準電圧Ｖｒｅｆの生成を例にして説明する。
【００８０】
内部電圧生成回路２０は、この内部電圧生成回路２０で生成される基準電圧Ｖｒｅｆもしくはチップの外部からパッド６１（Ｍｏｎｉｔｏｒ  ＰＡＤ）に供給され、所望の基準電圧に相当する参照電圧を抵抗分割する直列接続された可変抵抗回路６２及び抵抗６３からなる分割回路と、バンドギャップ型定電圧生成回路（ＢＧＲ  Ｃｉｒｃｕｉｔ）６４で生成されるＢＧＲ電圧Ｖｂｇｒと上記可変抵抗回路６２及び抵抗６３からなる分割回路で分割された電圧とを比較する比較器６５と、この比較器６５の出力及びテスト信号ＶＲＥＦＴＥＳＴに基づいてフラグＦＬＡＧを生成するフラグ生成回路６６と、比較器６５の出力及びテスト信号ＶＲＥＦＴＥＳＴに基づいて基準電圧Ｖｒｅｆのノードを電源電圧に接続する直列接続された２個のＰチャネルＭＯＳトランジスタからなるスイッチ回路６７と、上記フラグＦＬＡＧに基づきレジスタ２１に対してクンクリメント信号ｉｎｃもしくはリセット信号ｒｓｔを供給するレジスタ制御回路（ｃｏｎｔｒｏｌ）６８とから構成されている。
【００８１】
ここで、レジスタ２１から出力されるトリミング信号は例えばＴＶＲＥＦ０〜ＴＶＲＥＦ３の４ビットであるとする。このレジスタ２１の構成はタイマー・トリミングのものと同様でよい。可変抵抗回路６２は、上記４ビットのトリミング信号ＴＶＲＥＦ０〜ＴＶＲＥＦ３に応じてその両端の抵抗が変化する。この可変抵抗回路６２は、図７に示す場合と同様に構成してもよい。ただし、この場合、前記デコーダ回路４９に対応したデコーダ回路は４ビットのトリミング信号に応じて１６通りのデコード信号を出力し、前記抵抗Ｒ０〜Ｒ７に対応する抵抗は１６個設けられ、これに伴って前記ＮチャネルＭＯＳトランジスタＱに対応するＭＯＳトランジスタも１６個設けられる。
【００８２】
図１４は、図１３に示す回路において、レジスタ２１に記憶されるデータと基準電圧Ｖｒｅｆとの対応関係を示したものであり、さらに図１５は図１３の回路のテストシーケンスを示している。
【００８３】
図１５に示すように、基準電圧Ｖｒｅｆのトリミングをする際は、まずパッド６１に参照電圧を入力する。続いてテスト開始コマンドを入力すると、図１３中のテスト信号ＶＲＥＦＴＥＳＴが“Ｈ”となり、スイッチ回路６７がオフにされ、パッド６１に入力された参照電圧が可変抵抗回路６２及び抵抗６３からなる分割回路によって分割され、チップ内部で生成されたＢＧＲ電圧Ｖｂｇｒと比較器６５で比較される。また、テスト信号ＶＲＥＦＴＥＳＴが“Ｈ”のときはフラグ生成回路６６が動作可能となり、比較器６５の比較結果がフラグＦＬＡＧに反映される。
【００８４】
ここで、レジスタデータと出力電圧（Ｖｒｅｆ）とは図１４に示すような関係にされており、出力電圧Ｖｒｅｆがそのターゲット値よりも小さい間はレジスタコントロールコマンド（図１５中のＢ）を入力する毎にレジスタデータがインクリメント（ｉｎｃ）される。そして、出力電圧Ｖｒｅｆがそのターゲット値よりも大きくなった時点でインクリメントが停止する。このようにして、タイマー・トリミングと同様、完全な並列テストで電圧のトリミングができる。
【００８５】
内部降圧電圧Ｖｄｄのトリミングも上記基準電圧Ｖｒｅｆのトリミングと同様の回路及び方法で行なうことができる。
【００８６】
なお、図１５に示すように、レジスタコントロールコマンドＢを外部から入力するのではなく、チップ内部のタイマー回路２２と制御回路とを用いて、自動的にレジスタコントロール動作を行なわせるようにしてもよい。
【００８７】
一方、非選択セルワード線電圧Ｖｒｅａｄのような昇圧電圧をトリミングする場合は、図１６に示すような構成の回路を用いる。すなわち、図１６は、図１中の内部電圧生成回路２０のうち非選択セルワード線電圧Ｖｒｅａｄの生成に関係した部分の回路を、トリミングデータレジスタ２１及びこれらの回路に関係する制御回路２５内の回路と共に示している。
【００８８】
非選択セルワード線電圧Ｖｒｅａｄは昇圧回路（Ｖｒｅａｄ  Ｃｈａｒｇｅ  Ｐｕｍｐ）７１で生成される。この昇圧回路７１で生成される電圧Ｖｒｅａｄもしくはチップの外部からパッド（Ｍｏｎｉｔｏｒ  ＰＡＤ）７２に供給され、所望の非選択セルワード線電圧に相当する参照電圧は、直列接続された可変抵抗回路７３及び抵抗７４からなる分割回路によって抵抗分割される。上記分割された電圧ＶＭＯＮは比較器７５により基準電圧Ｖｒｅｆと比較される。この比較器７５の出力はインバータ７６によって反転され、フラグＦＬＡＧとしてレジスタ制御回路６８に供給される。このレジスタ制御回路６８は、上記フラグＦＬＡＧに基づきレジスタ２１に対してクンクリメント信号ｉｎｃもしくはリセット信号ｒｓｔを供給する。
【００８９】
いま、パッド７２に参照電圧が入力された状態でテスト開始コマンドを入力すると、ディスエーブル信号ｄｉｓａｂｌｅに基づいて昇圧回路７１が非動作状態となり、さらにイネーブル信号ｅｎａｂｌｅに基づいて比較器７５が動作状態となる。そして、パッド７２に入力された参照電圧は、可変抵抗回路７３及び抵抗７４からなる分割回路によって抵抗分割され、比較器７５で基準電圧Ｖｒｅｆと比較され、この比較結果に基づいて発生されるフラグＦＬＡＧに応じて、レジスタ制御回路６８からインクリメント信号ｉｎｃまたはリセット信号ｒｓｔがレジスタ２１に供給される。
【００９０】
なお、図１６に示すように、パッド７２と可変抵抗回路７３との間には配線に付随した寄生抵抗Ｒｐａｄが存在している。この寄生抵抗Ｒｐａｄが大きいと、パッド７２に正しい参照電圧を入力してもトリミング後の電圧がずれてしまう。そのような場合は、Ｒｐａｄの値が影響しなくなるように、パッド７２に予め高めの参照電圧を入力すればよい。このことは、基準電圧Ｖｒｅｆ及び内部降圧電圧Ｖｄｄのトリミングの際に対応するパッドから入力する参照電圧においても有効である。
【００９１】
図１７は、上記のように各電圧のトリミングを行なう場合の、トリミング回数とトリミング後の電圧との関係を示している。各電圧のトリミングを行なう場合、図１７に示すように各チップの初期電圧は、製造プロセスなどの条件によって所定のばらつきが発生している（Ｉｎｉｔｉａｌ  Ｄｉｓｔｒｉｂｕｔｉｎｇ）。例えばチップＡ（Ｃｈｉｐ  Ａ）の初期電圧がチップＢ（Ｃｈｉｐ  Ｂ）に比べて高いとすると、トリミングが終了した時点ではチップＡとＢとの間には最大で１ステップ当たりのステップ電圧Ｖｓｔｅｐのばらつきが生じる（Ｆｉｎａｌ  Ｄｉｓｔｒｉｂｕｔｉｎｇ）。
【００９２】
そこで、トリミング時にパッドに入力する参照電圧としてターゲット値（Ｔａｒｇｅｔ）に対してＶｓｔｅｐ／２だけ低い電圧、つまりターゲット値−Ｖｓｔｅｐ／２の電圧を入力すれば、トリミング後の電圧はちょうどターゲット値に一致することになり、チップ間でばらつきが発生しなくなる。逆に、ターゲット値を、パッドに入力する参照電圧Ｖｐａｄに対してＶｓｔｅｐ／２だけ高い電圧、つまりＶｐａｄ＋Ｖｓｔｅｐ／２にすればよい。
【００９３】
（４）不良カラム検出及び置き換え
従来では正常なメモリブロック（Ｇｏｏｄ  Ｂｌｏｃｋ）を検出してＶｐｇｍの初期値のトリミングを行なった後に不良カラム検出を実施していた。
【００９４】
しかし不良カラムが存在するとチップ内に正常なメモリブロックが存在しないという事態が起こり得る。なぜなら、正常なメモリブロックかどうかは書き込み消去を行なって一括検知をパスするかどうかで判定するが、不良カラムがあると一括検知で常にフェイル（Ｆａｉｌ）となるからである。
【００９５】
そこで、この実施の形態によるメモリでは、不良カラム検出と置き換えを行なった後正常なメモリブロックの調査（Ｇｏｏｄ  Ｂｌｏｃｋ  Ｓｅａｒｃｈ）を行ない、Ｖｐｇｍの初期値のトリミングを実施する。
【００９６】
Ｖｐｇｍの初期値のトリミングを行なう前に不良カラム検出と置き換えを行なうには、書き込み消去せずに不良カラムを検出する必要がある。そこで、ビット線のリークチェックやオープンチェック等を行って不良カラムを検出する。逆に言えば、このような手法で不良カラムが検出できるからこそ、不良カラム検出の工程をＶｐｇｍの初期値のトリミング工程の前に持ってくることが可能となる。
【００９７】
具体的な不良カラム検出／置き換えの方法を以下に述べる。まず、不良カラム検出／置き換えに関する回路の構成を説明する。
【００９８】
図１８は、図１中のメモリセルアレイ１１及びページバッファ１３の一部の概要を示している。ここで、メモリセルアレイ１１の１ページは１０２４＋３２＝１０５６バイト（Ｂｙｔｅ）からなる。データの入出力はバイト単位で行なわれるため、カラムアドレスはＡ０からＡ１０まで１１ビットある。メインの領域のカラム不良は、バイト単位でカラムリダンダンシと置き換えられる。カラムリダンダンシは１つのプレーンにつき８バイトある。また、１つのページバッファ（ＰＢ）につき２本のビット線ＢＬが割り当てられており、そのいずれに接続するかは信号線ＢＬＴＲｅ，ＢＬＴＲｏ，ＢＬＣＵｅ，ＢＬＣＵｏにより決定される。例えばＢＬＴＲｅ＝“Ｈ”、ＢＬＴＲｏ＝“Ｌ”のときは偶数番目のビット線ＢＬがページバッファＰＢに接続される。このときＢＬＣＵｅ＝“Ｌ”、ＢＬＣＵｏ＝“Ｈ”とされ、非選択のビット線ＢＬは接地（ｇｎｄ）に接続される。偶数番目のビット線と奇数番目のビット線は別々のページに属すると見なされる。
【００９９】
図１９は、図１のメモリにおけるカラムリダンダンシに関係する回路の構成を示している。不良カラム検出及び置き換えの操作が完了した段階では、不良カラムのアドレスは不良カラムアドレスレジスタ１９に格納されている。前記アドレスバッファ１７の一部であるカラムアドレスバッファ１７Ａに入力されたカラムアドレスが不良カラムアドレスレジスタ１９内のアドレスと一致すると、メインのカラム領域が非選択とされ、リダンダンシ領域が選択される。
【０１００】
読み出し動作の際は、選択された８個（１バイト）のページバッファＰＢのデータがバッファ回路（Ｂｕｆｆｅｒ）８１を介してＩ／Ｏバス１５に出力される。ぺ−ジバッファＰＢに書き込みデータを入力する（データロード）際はこれとは逆の経路でデータが転送される。
【０１０１】
図１９中の信号線ＬＳＥＮＬＲは一括検知動作で使用する。その際、不良カラムや未使用のカラムリダンダンシ領域の情報が一括検知動作に反映されないようにするため、これらのページバッファＰＢと信号線ＬＳＥＮＬＲとの間の信号経路を遮断する必要がある。８個のページバッファＰＢ毎に設けられたアイソレーションラッチ回路（Ｉｓｏｌａｔｉｏｎ  Ｌａｔｃｈ）８２は、上記の信号経路を遮断するか否かの情報を格納するためのものである。
【０１０２】
なお、図１９において、８３はバッファ回路８１を介してＩ／Ｏバス１５に出力されるデータを判定する判定回路（Ｄｅｃｉｓｉｏｎ  Ｃｉｒｃｕｉｔ）、８４は制御回路（Ｃｏｎｔｒｏｌ）、８５はレジスタカウンタ（Ｒｅｇｉｓｔｅｒ  Ｃｏｕｎｔｅｒ）である。
【０１０３】
図２０は、図１９中の不良カラムアドレスレジスタ１９の１単位分の回路構成を示している。この１単位分の回路で１つの不良カラムアドレスＡ０〜Ａ１０を記憶するので、１１ビット分のラッチ回路９１が含まれている。カラムアドレスバッファ１７Ａに入力されたカラムアドレスが、不良カラムアドレスレジスタ１９に格納されているアドレスと一致しているかどうかは、１１個のラッチ回路９１毎に設けられたＥＸ−ＯＲ回路（排他的論理和回路）９２でそれぞれ判定される。ラッチ回路９３はインデクスビット（ＩＮＤＥＸ）を格納する。このインデクスビットは、他の１１個のラッチ回路９１に格納されているデータが有効かどうかを判別する指標としての役割を有する。ラッチ回路９３にデータ“１”が格納されている場合は、ラッチ回路９１内のデータが不良カラムアドレスであることを示し、データ“０”が入っている場合はラッチ回路９１内のデータに意味がないことを示す。
【０１０４】
上記ＥＸ−ＯＲ回路９２の出力はＮＯＲ回路９４に並列に入力される。このＮＯＲ回路９４の出力はＮＡＮＤ回路９５に入力され、さらにこのＮＡＮＤ回路９５には上記ラッチ回路９３の格納データが供給される。なお、９６及び９７はそれぞれデコーダであり、９８及び９９はそれぞれＮＡＮＤ回路である。なお、図２０の回路の詳細については後述する。
【０１０５】
次に、不良カラム検出及び置き換えのシーケンスについて説明する。
【０１０６】
図２１は不良カラム検出及び置き換えのシーケンスのフローチャートである。この工程は次の６つの部分からなる。
【０１０７】
（１）カラム・リダンダンシ・レジスタ・リセット（Ｃｏｌｕｍｎ．Ｒ／Ｄ  Ｒｅｇｉｓｔｅｒ  Ｒｅｓｅｔ）
この工程では全ての不良カラムアドレスレジスタをリセットする。また、インデクス用のラッチ回路は全て“０”とする。
【０１０８】
（２）リダンダンシ領域のカラムチェック（Ｒ／Ｄ  Ａｒｅａ  Ｃｏｌ．Ｃｈｅｃｋ）
メインのカラム領域の不良を検出する前に、リダンダンシ領域の不良カラムを検出し、不良のあるリダンダンシカラムが選択されないようにする。この工程は図２２に示すように４つの工程からなる。
【０１０９】
（２−１）オープン・チェック・リード（Ｏｐｅｎ  Ｃｈｅｃｋ  Ｒｅａｄ）
この工程ではビット線のオープン不良を検出するための読み出し（リード）を行なう。そのために全ブロックを非選択状態とし、図１８中のＢＬＣＵｅ，ＢＬＣＵｏを共に開けた状態でリードを行なう。ビット線ＢＬがメモリセルアレイ１１内で切れていればページバッファＰＢにはデータ“０”（オフ状態のセルに相当）が読み出され、切れていなければデータ“１”（オン状態のセルに相当）が読み出される。ビット線ＢＬが切れかかって高抵抗になっている状態も検出できるようにするため、読み出し時間は通常動作の読み出し時よりも短めに設定する。このリード動作は偶数番目（ｅｖｅｎ）及び奇数番目（ｏｄｄ）の全てのビット線に対し同時に行なうために、最初に偶数番目のビット線に対して読み出しを行ったら、次に奇数番目のビット線に対して読み出しを行なう。
【０１１０】
（２−２）不良リダンダンシカラムの検出（Ｂａｄ  Ｒ／Ｄ  Ｃｏｌ．Ｄｅｔｅｃｔ）
リダンダンシ領域のカラムのうち、オープン不良のカラムを検出して登録する。この操作のフローチャートを図２４に示す。まず、カラムリダンダンシ領域に直接アクセスできるようにするコマンドを入力する（ステップＳ１１）。これにより図２０の信号ＲＤＡＣが立ち、カラムアドレスの下位３ビットＡ０−Ａ２でカラムリダンダンシを選択できるようになる。つまり、信号ＲＤＡＣが“Ｈ”になることにより、カラムアドレスの下位３ビットＡ０−Ａ２をデコードするデコーダ９７の出力に応じてＮＡＮＤ回路９８の出力が決定され、さらにＮＡＮＤ回路９９を介してリダンダンシビット信号ＲＤＨＩＴｉが設定される。
【０１１１】
続いて、テストコマンドＴＲを入力する（ステップＳ１２）。ここで、ＴＲ０もしくはＴＲ１は、リダンダンシ領域のページバッファのデータがそれぞれオール“０”、オール“１”になっているかどうかを検出するテストコマンドである。テストコマンドＴＲ０を入力した時のページバッファのデータの期待値（ｅｘｐ−ｖａｌ）は全てオール“０”であり、テストコマンドＴＲ１を入力した時のページバッファのデータの期待値（ｅｘｐ−ｖａｌ）は全てオール“１”である。なお、図２４中のフローチャートにおいて、太い矢印は外部からのコマンド入力による遷移を表し、細い矢印はチップ内部の制御回路による自動的な遷移を表す。
【０１１２】
コマンドが入力されると、ステップＳ１３においてＲ／Ｂｎ（レディー／ビジー）信号が“Ｌ”にされ、図１９中のカラムアドレスバッファ１７Ａとレジスタカウンタ８５とがリセットされる。カラムアドレスバッファ１７Ａは、Ａ０、Ａ１、Ａ２が“０”で残りが全て“１”の状態（“０００１１…１”）となるようにリセットされる。
【０１１３】
次に、選択されたリダンダンシのページバッファのデータが図１９中のバッファ回路８１を介して判定回路８３に転送され、そのデータがオール“１”であるかどうかが判定される（ステップＳ１４）。オール“１”ではないと判定されたら、そのカラムにオープン不良があり、リダンダンシとして使えないことを意味する。
【０１１４】
この場合は、次のステップＳ１５において、カラムアドレスバッファ１７Ａのデータをレジスタカウンタ８５により選択されている不良カラムアドレスレジスタ１９内の１単位分の回路内のラッチ回路９１に格納し、その１単位分の回路内のラッチ回路９３のインデクスビット（ＩＮＤＥＸ）を“１”とする。なお、ここで格納されたアドレス（Ａ０，Ａ１，Ａ２以外が全て“１”）はメモリセル領域には実際には存在しない。従って、通常動作時はカラムアドレスバッファ１７Ａにいかなるアドレスが入力されても、このカラムリダンダンシと置き換えられることがない。
【０１１５】
一方、判定回路８３でオール“１”と判定されたら、次のステップＳ１６において、カラムアドレスバッファ１７Ａとレジスタカウンタ８５とが共にインクリメントされ、次のカラムリダンダンシを選択に行く。最後のカラムリダンダンシまで上記操作を繰り返し、ステップＳ１７において最終カラムリダンダンシに到達したことが判定されたらシーケンスが終了する。
【０１１６】
（２−３）ショート／リーク・チェック・リード（Ｓｈｏｒｔ／Ｌｅａｋ  Ｃｈｅｃｋ  Ｒｅａｄ）
この工程では、ビット線間のショートやリークに起因した不良を検出するためのリードを行なう。そのために全ブロックを非選択状態としてリードを行なう。マージンを持たせるためリード時間は通常動作時よりも長くする。
【０１１７】
カラムが正常ならばページバッファにデータ“０”が読み出され、ショートやリークがあるとデータ“１”が読み出される。
【０１１８】
（２−４）不良リダンダシカラムの検出（Ｂａｄ  Ｒ／Ｄ  ｃｏｌ．Ｄｅｔｅｃｔ）
この工程では、リダンダンシ領域のカラムのうち、ショート、リーク不良のカラムを検出して登録する。今度は正常ならばページバッファにデータ“０”が入っているはずなので（期待値ｅｘｐ−ｖａｌ．＝Ａｌｌ“０”）、ＴＲ０コマンドを入力する。シーケンスの内容は先の（２−２）と同様である。
【０１１９】
以上の操作が終了したら、ビット線のｅｖｅｎ，ｏｄｄを反転させて（２−１）〜（２−４）と同様の操作を繰り返す。ビット線のｅｖｅｎとｏｄｄは専用のアドレスにより指定できる。
【０１２０】
（３）［リダンダンシ領域のページバッファに対するデータ入出力チェック（Ｒ／Ｄ  Ａｒｅａ  Ｐ／Ｂ  Ｄｉｎ／Ｄｏｕｔ  Ｃｈｅｃｋ）］
リダンダンシ領域のページバッファに対しデータロードとデータ読み出しを行ない、ページバッファのロジック回路に不良（ｓｔｕｃｋ−ａｔ−ｆａｕｌｔ）が無いことを確かめる。具体的にはまず全ページバッファにデータ“１”をロードする。次いで図２２中の（２−２）と同様の操作を行ない不良を検出／登録する。次にデータ“１”をロードし、図２２中の（２−４）と同様の操作を行なう。
【０１２１】
ここまでの工程で、リダンダンシ領域の不良カラムは全て検出／登録されたことになる。不良と判定されたリダンダンシのレジスタにはＩＮＤＥＸに“１”が立てられている。
【０１２２】
（４）［メイン領域のカラムチェック（Ｍａｉｎ  Ａｒｅａ  Ｃｏｌ．Ｃｈｅｃｋ）］
次にメイン領域のカラム不良を検出し、リダンダンシ置換えをする。まずオープン不良、ショート／リーク不良の検出／置換え（Ｂａｄ  Ｃｏｌｕｍｎ  Ｄｅｔｅｃｔｉｏｎ  ＆  Ｒｅｐａｉｒ）を行なう。このシーケンスを図２３に示す。このうちオープン不良検出リード、ショート／リーク不良検出リードの工程は図２４の場合と全く同じである。
【０１２３】
不良の検出／置換え操作のフローチャートを図２５に示す。コマンドは、期待値（ｘｘｐ−ｖａｌ．）“０”の検出をするか“１”の検出をするかに応じてＴＲ０、ＴＲ１を入力する（ステップＳ２１）。
【０１２４】
次に、ステップＳ２２において、Ｒ／Ｂｎ＝“Ｌ”とされ、図１９中のカラムアドレスバッファ１７Ａとレジスタカウンタ８５がリセットされる。カラムアドレスバッファ１７Ａはメイン領域の先頭番地が選択された状態になる。次に、ステップＳ２３において、１バイト毎にページバッファＰＢのデータを検出する（Ｂｙｔｅ  ｂｙ  Ｂｙｔｅ  ｃｏｍｐａｒｉｓｏｎ）。ページバッファＰＢのデータが期待値と異なっていたら、ステップＳ２４において、その時点で選択されているレジスタのインデクスビット（ＩＮＤＥＸ）を見る。ＩＮＤＥＸ＝“０”であれば、ステップＳ２５において、そのレジスタに不良アドレスを格納し、ＩＮＤＥＸ＝“１”とする。
【０１２５】
ステップＳ２４において、ＩＮＤＥＸ＝“１”であれば、そのリダンダンシに不良があるかもしくはそのリダンダンシが既に使われていることを意味するので、ステップＳ２６において、レジスタカウンタ８５をインクリメントし、次にステップＳ２７において、ＩＮＤＥＸ＝”０”のレジスタを探す。最後までインクリメントしてもＩＮＤＥＸ＝“０”のレジスタがなかったら、次にステップＳ２８において、ステータス（Ｓｔａｔｕｓ）ラッチに“Ｆａｉｌ”のフラグを立てる。ステータスラッチの状態は、テスト終了後、ステータスラッチリードすることにより知ることができる。
【０１２６】
一方、ステップＳ２３において、ページバッファＰＢのデータが期待値と一致していたら、及びステップＳ２５の終了後は、ステップＳ２９において、カラムアドレスをインクリメントし、その後、ステップＳ３０において、リダンダンシ置換えが正常に終了したら（Ｆｉｎａｌ  Ｃｏｌ．  Ａｄｄが検出されたら）、次にステップＳ３１においてステータスラッチに“Ｐａｓｓ”のフラグを立てる。
【０１２７】
（５）［メイン領域のページバッファに対するデータ入出力チェック（Ｍａｉｎ  Ａｒｅａ  Ｐ／Ｂ  Ｄｉｎ／Ｄｏｕｔ  Ｃｈｅｃｋ）］
次にメイン領域のページバッファのロジック回路の不良を検出する。不良の検出と置換えは図２５のフローチャートに従って行なう。
【０１２８】
（６）［アイソレーションラッチ回路のセット（Ｉｓｏｌａｔｉｏｎ  Ｌａｔｃｈ  Ｓｅｔ）］
リダンダンシ置換えが全て終了したら、図１９中のアイソレーションラッチ回路８２をセットする。まずコマンドを入力して、制御回路８４から出力されるアイソレーションラッチリセット信号ｉｓｏｌａｔｒｓｔを“Ｈ”にする。これにより図１９中の全てのページバッファＰＢが一括検知線ＬＳＥＮＬＲから切り離された状態になる。次に、制御回路８４から出力されるアイソレーションラッチイネーブル信号ｉｓｏｌａｔｅｎ信号を“Ｈ”にし、この状態で１ページ分のデータをロードする。選択されたカラムはアイソレーションラッチ回路８２のデータが反転するので、１ページ分アドレスをスキャンすることによりアイソレーションラッチ回路８２のセットが完了する。
【０１２９】
以上で不良カラムの検出及び置き換えの操作が完了する。なお、ここまでメモリプレーンが１つの場合について説明してきたが、プレーンが複数個ある場合にも容易に拡張することができる。
【０１３０】
次に図３のフローチャートにおける、（５）正常なメモリブロックのサーチ（Ｇｏｏｄ  Ｂｌｏｃｋ  Ｓｅｒｃｈ）の工程について説明する。
【０１３１】
Ｖｐｇｍの初期値を決定するための書き込み動作は、書き込み消去のできるブロックで行なう必要がある。そこで、正常なメモリブロックのサーチを行なう。
【０１３２】
この工程のシーケンスを図２６のフローチャートに示す。まず適当な初期ブロック・アドレスを入力する（Ｉｎｐｕｔ  Ｉｎｉｔｉａｌ  Ｂｌｏｃｋ  Ａｄｄｒｅｓｓ）。初期ブロック・アドレスは先頭ブロック・アドレスでなくてもよい。次にブロック消去コマンドを入力し、このブロックを消去する（Ｂｌｏｃｋ  Ｅｒａｓｅ）。
【０１３３】
消去動作に引き続いて、消去ベリファイ（一括検知で全て“１”状態になっていることをチェックする）が行なわれ、その結果を図１の中の制御回路２５などに設けられている第１のステータスレジスタに格納する。
【０１３４】
次に、マニュアルプログラム（Ｍａｎｕａｌ  Ｐｒｏｇｒａｍ）コマンドを入力し、選択されているページに対し全て“０”書き込みを行なう。このマニュアルプログラムでは書き込みループ回数を１回とし、Ｖｐｇｍは最大値もしくはそれに近い値にする。プログラム後はベリファイ動作を行ない、その結果を同じく制御回路２５などに設けられている第２のステータスレジスタに格納する（Ｍａｎｕａｌ  Ａｌｌ  “０”  Ｐｒｏｇｒａｍ（Ｖｐｇｍ  ｆｉｘ））。
【０１３５】
続いて、アドレスレジスタコントロールコマンドを入力する（Ｉｎｐｕｔ  Ａｄｄｒｅｓｓｅ  Ｒｅｇｉｓｔｅｒ  Ｃｉｎｔｒｏｌ  Ｃｏｍｍａｎｄ）。これにより、上記第１、第２のステータスレジスタの内容のいずれか１つもしくは両方がフェイル（Ｆａｉ１）であればブロック・アドレスがインクリメントされる。両方のステータスレジスタの内容がパス（Ｐａｓｓ）であればそのアドレスに留まる。
【０１３６】
なお、上記のように第１、第２のステータスレジスタのステータス状態を見る代わりに、パス／フェイル結果を累積して記憶するような１つのステータスレジスタを用いて上記操作を行ってもよい。すなわち、直前の消去もしくは書き込みベリファイの結果がパスであればレジスタのデータを変えず、フェイルであればレジスタの状態を強制的に第１の信号状態にするようなステータスレジスタを設け、このレジスタデータがフェイルである場合にブロック・アドレスをインクリメントさせるようにする。最初にこのステータスレジスタをパス状態にしておいてから、消去・書き込みを行なえば、消去もしくは書き込みのいずれかがフェイルのとき、このレジスタはフェイル状態になる。従って、１つのステータスレジスタにより上記と同様の機能を実現することができる。
【０１３７】
ブロック消去からアドレスレジスタコントロールコマンド入力までのシーケンスを、所定の回数繰り返す。この結果、シーケンスが終了した時点ではブロック・アドレスのバッファに各々のチップの正常なメモリブロック（Ｇｏｏｄ  Ｂｌｏｃｋ）のアドレスが入っていることになる。この操作はタイマー・トリミングや電圧トリミングの場合と同様、完全並列動作が可能である。アドレスレジスタコントロールコマンドの役割は、タイマー・トリミングや電圧トリミングにおけるレジスタコントロールコマンドの役割に相当している。
【０１３８】
次に図３のフローチャートにおける、（６）Ｖｐｇｍ初期値トリミング（Ｖｐｇｍ  Ｉｎｉｔｉａｌ  Ｖａｌｕｅ  Ｔｌｉｍｍｉｎｇ）の工程を説明する。
【０１３９】
図２７は、このＶｐｇｍ初期値トリミングのシーケンスを示すフローチャートである。
【０１４０】
最初に、Ｖｐｇｍの初期値を格納するレジスタをリセットする（Ｖｐｇｍ  ｉｎｉ  Ｒｅｇｉｓｔｅｒ  Ｒｅｓｅｔ）。このレジスタは、図８に示すレジスタと同様にカウンタの機能を有しており、制御回路からインクリメント信号が発せられるとレジスタ内のデータをインクリメントする。
【０１４１】
次に、所望のプログラムループ数を入力し、所定のレジスタに格納する（Ｐｒｏｇｒａｍ  Ｌｏｏｐ  #  Ｉｎｐｕｔ）。この状態で自動プログラム（Ａｕｔｏ  Ｐｒｏｇｒａｍ）を実行すると、入力されたループ回数分Ｖｐｇｍがステップアップされる。プログラム後のパス／フェイル（Ｐａｓｓ／Ｆａｉｌ）情報は前記第２のステータスレジスタに格納する。
【０１４２】
この段階でレジスタコントロールコマンドを入力すると（Ｉｎｐｕｔ  Ｒｅｇｉｓｔｅｒ  Ｃｏｎｔｒｏｌ  Ｃｏｍｍａｎｄ）、プログラムステータスがフェイル（Ｆａｉｌ）であればＶｐｇｍの初期値のレジスタ値がインクリメントされ、パス（Ｐａｓｓ）であればそのレジスタ状態が保持される。従って、この自動プログラムとレジスタコントロールの組を所定回数分繰り返した後は、Ｖｐｇｍの初期値のレジスタに所望のプログラムループ数で書き込みが終了するようなＶｐｇｍの初期値が入力されていることになる。
【０１４３】
図２８は、上記のシーケンスで書き込み電圧Ｖｐｇｍがどのように変化していくかを示したものである。ここでは、プログラムループ数は５回に設定されている。第１回目の書き込みシーケンス（Ｓｅｑｕｅｎｃｅ）ではＶｐｇｍの初期値は最小の値に設定されている。ここからＶｐｇｍの値が４回ステップアップ（Ｓｔｅｐ  Ｕｐ）し、その後ステータスが判定される。ステータスがフェイル（Ｓｔａｔｕｓ  Ｆａｉｌ）の間はＶｐｇｍの初期値がインクリメントされ続け、ステータスがパス（Ｓｔａｔｕｓ  Ｐａｓｓ）となったらＶｐｇｍの初期値はその状態を保つ。従って、所定回数このシーケンスを繰り返した後は、Ｖｐｇｍの初期値がそのチップに応じた最適値に設定されていることになる。
【０１４４】
なお、プログラム時は非選択ワード線電圧Ｖｐａｓｓもステップアップする。このＶｐａｓｓの初期値は、Ｖｐｇｍの初期値に連動して変わるよう設定しておけばよい。
【０１４５】
またここでは、Ｖｐｇｍの初期値の最適化の方法のみを説明したが、必要であれば消去電圧Ｖｅｒａｓｅの初期値も同様の方法で最適化できる。
【０１４６】
次に図３のフローチャートにおける、（７）不良メモリブロック検出（Ｂａｄ  Ｂｌｏｃｋ  Ｄｅｔｅｃｔｉｏｎ）  Ｂａｄ  Ｂｌｏｃｋ  Ｄｅｔｅｃｔｉｏｎ）の工程を説明する。
【０１４７】
ＮＡＮＤ型フラッシュメモリではブロック不良に対してはフラグＦｌａｇ（Ｂａｄ  Ｂｌｏｃｋ  Ｆｌａｇ）を立て、リダンダンシ置き換えは行なわない。以下では、不良ブロックを検出してフラグＦｌａｇを立てるシーケンスについて説明する。
【０１４８】
図２９は、図１におけるブロック不良検知系に関係した回路構成を示す。
【０１４９】
図２９において、１０１は不良ブロック数カウンタ（Ｂａｄ  Ｂｌｏｃｋ  #  Ｃｏｕｎｔｅｒ）、１７Ｂは前記アドレスバッファ１７の一部を構成するロウアドレスバッファ、１０２は上記ロウアドレスバッファ１７Ｂの出力をデコードするブロックアドレス・プリデコーダ（Ｂｌｋ  Ａｄｄｒｅｓｓ  ＰｒｅＤｅｃｏｄｅｒ）、ＰＢＵＳＢは配線、１０３はこの配線の信号を検出する制御回路であり、この制御回路１０３の出力及びＩ／Ｏバス１５を経由したカラムゲート回路１４の出力が上記不良ブロック数カウンタ１０１及びロウアドレスバッファ１７Ｂに供給される。
【０１５０】
ここで、前記ロウデコーダ１２にはメモリセルアレイ１１内のメモリブロックに対応した数の部分デコーダ回路１０４が設けられている。上記各部分デコーダ回路１０４はそれぞれ、上記ブロックアドレス・プリデコーダ１０２の出力をデコードするデコード回路（Ｄｅｃ．）１０５と、このデコード回路１０５の出力をレベル変換して対応するメモリセルブロックに供給するレベルシフト回路（Ｌ／Ｓ）１０６と、不良ブロックフラグレジスタ（Ｂａｄ  Ｂｌｏｃｋ  Ｆｌａｇ  Ｒｅｇｉｓｔｅｒ）１０７と、この不良ブロックフラグレジスタ１０７を上記デコード回路１０５の出力及びフラグレジスタセット信号ＦＲＳＥＴに基づいてセットするための直列接続された２個のＮチャネルＭＯＳトランジスタからなるセット回路１０８と、不良ブロックフラグレジスタ１０７の内容を上記デコード回路１０５の出力及びレジスタセンス信号ＢＬＫＳＥＮＳに基づいて上記配線ＰＢＵＳＢに読み出すための直列接続された３個のＮチャネルＭＯＳトランジスタからなる読み出し回路１０９からなる。
【０１５１】
また、図３０は不良ブロック検出（Ｂａｄ  Ｂｌｏｃｋ  Ｄｅｔｅｃｔｉｏｎ）のシーケンスである。なお、図３０において、オール“１”読みチェック（Ｒｅａｄ  Ａｌｌ“１”Ｃｈｅｃｋ）は全てのメモリセルから“１”データを読み出してチェックし、チェッカーパターン（Ｃｈｅｃｋｅｒ  Ｐａｔｔｅｒｎ）読みチェック（Ｒｅａｄ“Ｃ”Ｃｈｅｃｋ）は“１”データと“０”データが格子状に配列されたデータを読み出してチェックし、さらに反転チェッカーパターン読みチェック（Ｒｅａｄ“／Ｃ”Ｃｈｅｃｋ）は“１”データと“０”データがチェッカーパターンに対して相補関係にあるチェッカーパターンを読み出してチェックすることを意味する。
【０１５２】
なお、この検出テストを行なう段階ではすでにカラムリダンダンシは置き換え済みであり、また書き込み消去電圧の最適化も完了している。従って、この時点で読み出しデータに不良があったら、それはブロック不良と見なす。この場合、たとえ単体セルに起因した不良であってもブロック不良と見なす。
【０１５３】
以下、シーケンスの動作を順に説明する。
【０１５４】
（１）不良ブロックフラグレジスタのリセット（Ｂａｄ  Ｂｌｏｃｋ  Ｆｌａｇ  Ｒｅｓｅｔ）
全ての不良ブロックフラグレジスタ１０７をリセットする。
【０１５５】
（２）チップ消去（Ｃｈｉｐ  Ｅｒａｓｅ）
ここでは全セルのデータを消去する。このチップ消去動作はブロック消去を全ブロック分繰り返すことにより行なう。
【０１５６】
（３）“１”データの読み出しチェック（Ｒｅａｄ  Ａｌｌ“１”  Ｃｈｅｃｋ）
セルデータが消去状態（“１”）であることをチェックする。まず先頭ブロックのアドレスを指定し、図３１の手順で検出する。先頭ページを読み、一括検知動作を行なう。一括検知でＡｌｌ“１”でないと判定されたらステータスレジスタにフェイル（Ｆａｉｌ）のフラグが立てられる。ついでフラグセットコマンド（Ｆｌａｇ  Ｓｅｔ  Ｃｏｍｍａｎｄ）を入力する。これによりステータスがフェイルであれば、該当ブロックに対応した不良ブロックフラグレジスタ１０７にフラグが立てられる。このフラグは図２９中の信号ＦＲＳＥＴを“Ｈ”にすることでセットされる。この操作を偶数ページ（Ｅｖｅｎ  Ｐａｇｅ）及び奇数ページ（Ｏｄｄ  Ｐａｇｅ）について繰り返したのち、ページアドレス（Ｐａｇｅ  Ａｄｄｒｅｓｓ）をインクリメントさせる。セルアレイの最後のページまで達したら終了する。
【０１５７】
（４）物理チェッカーパターンプログラム（Ｐｈｙｓ.  “Ｃ”  Ｐｒｏｇｒａｍ）
全メモリセルに対して物理チェッカーパターンを書き込む。
【０１５８】
（５）物理チェッカーパターンの読み出しチェック（Ｒｅａｄ  Ａｌｌ“Ｃ”Ｃｈｅｃｋ）
図３２に示した手順に従ってチェッカーパターンを読み、不良が検出されたらそのブロックに対応した不良ブロックフラグレジスタ１０７にフラグを立てる。この操作は読み出しパターンが異なる以外は上記（３）の場合と同じである。なお、物理チェッカーパターンでは偶数番目（Ｅｖｅｎ）及び奇数番目（Ｏｄｄ）のビット線に交互に“１”、“０”のデータが書かれるので、例えば偶数番目のページ（Ｅｖｅｎ  Ｐａｇｅ）を読み出すときは全てが“１”か“０”かのデータが読み出されることになる。従って、一括検知動作を活用してチェッカーパターンの検証を行なうことができる。
【０１５９】
（６）チップ消去（Ｃｈｉｐ  Ｅｒａｓｅ）
先の（２）の場合と同様に全セルのデータを消去し、（４）で書いたパターンを消去する。
【０１６０】
（７）物理チェッカーパターン（“／Ｃ”）プログラム（Ｐｈｙｓ．  “／Ｃ”  Ｐｒｏｇｒａｍ）
全メモリセルに物理チェッカーパターン“／Ｃ”を書き込む。
【０１６１】
（８）物理チェッカーパターンの読み出しチェック（Ｒｅａｄ  Ａｌｌ“／Ｃ”）
（５）の場合と同様の方法で“／Ｃ”を読み、不良が検出されたらそのブロックに対応した不良ブロックフラグレジスタ１０７にフラグを立てる。
【０１６２】
なお、不良ブロック数の上限は仕様で決まっている。そこで、不良ブロック検出（Ｂａｄ  Ｂｌｏｃｋ  Ｄｅｔｅｃｔｉｏｎ）のシーケンスで検出された不良の数が仕様で定められた値に収まっているかどうかを調べるため、図３３の不良ブロックのフラグ数カウント（Ｂａｄ  Ｂｌｏｃｋ  Ｆｌａｇ  ＃  Ｃｏｕｎｔ）のシーケンスを走らせる。選択されたブロックに対応した不良ブロックフラグレジスタ１０７にフラグが立っているかどうかは、図２９中の配線ＰＢＵＳＢを制御回路１０３により予めプリチャージしておき、レジスタセンス信号ＢＬＫＳＥＮＳを“Ｈ”にして配線ＰＢＵＳＢが放電されるかどうかを制御回路１０３により検出すればよい。
【０１６３】
次に図３のフローチャートにおける、（８）オプション・セット（Ｏｐｔｉｏｎ  Ｓｅｔ）の工程について説明する。
【０１６４】
これまでの操作で、メモリセルアレイ１１の初期設定データ領域に格納するデータのうち、各種トリミングやセルアレイ部の不良に関する情報は確定したことになる。初期設定データ領域にはこの他、チップのオプション（Ｏｐｔｉｏｎ）に関する情報、例えばチップを多値品として使うか２値品として使うかなどの情報が書き込まれる。こうした情報は、この時点でテスタから各チップに入力する。入力されたデータは所定のレジスタに格納される。
【０１６５】
次に図３のフローチャートにおける、（９）ＲＯＭフューズ・プログラム（ＲＯＭ−Ｆｕｓｅ  Ｐｒｏｇｒａｍ）の工程について説明する。
【０１６６】
ここでは、各レジスタに格納されているデータを順次ページバッファに転送し、次いで初期設定データ領域に書き込む。書き込みが終了したら電源を一旦切り、再度電源を投入する。チップ内ではパワーオンを検知して初期設定データ領域からデータが読み出され、各レジスタに順次データが転送される。これにより各種トリミングやセルアレイ部の不良に関する情報が以降のチップ動作に反映される。必要ならば、これを検証するために各種電圧、タイマーをモニタしたり、メモリセルヘの書き込み／消去／読み出し動作を行なう。
【０１６７】
次にこの発明の第２の実施の形態について説明する。
【０１６８】
以上のテスト工程のうち、タイマー・トリミング、電圧トリミング、Ｖｐｇｍの初期値トリミング、正常なメモリブロックのサーチ，不良ブロックの検出については全て同様の構造をもったテストを行なっている。すなわち、まず第１のコマンドを入力してテストを実施し、そのパス／フェイル情報をステータスもしくはフラグとして出力する。次に第２のコマンドを入力すると、前記のパス／フェイル情報に応じて異なったアクションがなされる。この第１のコマンド、第２のコマンドの組を所定の回数だけ繰り返すことにより、チップ毎の特性に応じた情報が取得できる。
【０１６９】
この方法は複数のチップに対しコマンドを与えるだけで実施できるので、完全な並列テストが可能となり、テスト時間が短縮できる。またテスタ側のメモリが不要であり、テスタ内のＣＰＵが取得したデータに対する演算を行なう必要もないので、高性能テスタも不要となる。
【０１７０】
ただし、上述のタイマー・トリミングもしくは電圧トリミングの場合、Ｎビットのレジスタのトリミング値を決定するのに２Ｎ回のテストを繰り返す必要がある。従って、Ｎが大きい場合はテスト時間が長くなる。
【０１７１】
このような場合、次に述べる方法を採用すればテスト時間を短縮できる。
【０１７２】
図３４はＮ＝３の場合にこの方法でレジスタデータがどのように推移するかを示したものである。以下、タイマー・トリミングの場合を例にして説明する。
【０１７３】
まずレジスタを（ＴＴＭＲ２，ＴＴＭＲ１，ＴＴＭＲ０）＝（１，０，０）として、先のＴｉｎｔ、Ｔｅｘｔを比較するテストを行ない、パス（Ｔｉｎｔ＞Ｔｅｘｔ）、フェイル（Ｔｉｎｔ＜Ｔｅｘｔ）の結果に応じて第３ビット目のＴＴＭＲ２をそれぞれ“１”、“０”に確定する。
【０１７４】
次に、残り２ビットを（ＴＴＭＲ１，ＴＴＭＲ０）＝（１，０）として第２回目のテストを行ない、第２ビット目を確定する。このようにして、図３４に示すように、３回のテストで順次第３ビット目、第２ビット目、第１ビット目を確定していく。
【０１７５】
このようなテスト方法を採用すれば、Ｎビットのレジスタのトリミング値を決定するのにＮ回のテストで済み、テスト時間が短縮できる。
【０１７６】
なお、この発明は、上記各実施の形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。
【０１７７】
以上説明したように、この発明の不揮発性半導体メモリ及びそのテスト方法を採用すれば、完全な並列テストが可能となり、不揮発性半導体メモリのテスト時間を短縮させることができる。またテスタ側のメモリが不要であり、テスタ側のＣＰＵが取得したデータに対する演算を行なう必要もないので、高性能テスタも不要となり、テストコストの削減ができる。また、この発明のテスト方法は、比較的小規模の回路を導入するだけで実現できるので、このテスト方法の採用によりチップ面積が大幅に増大することはない。
【０１７８】
一般に、ウェハ・テストのシーケンスは、製品の素性に応じて最適化される。いわゆるＢＩＳＴ（Ｂｕｉｌｔ  Ｉｎ  Ｓｅｌｆ  Ｔｅｓｔ）の場合、テスト工程が予め回路に組み込まれているので、製品の素性に応じてテストシーケンスを変更することが困難である。しかし、この発明のテスト方法では、各々のテスト項目がコマンド入力により起動されるようになっているので、フレキシビリティのあるテストシーケンスを構築できる。例えば、タイマー回路におけるばらつきが少ない場合は、タイマー・トリミングのテスト工程２５をシーケンスから削除すればよい。またカラム不良やブロック不良に関しては、不良アドレスを追加登録することができるので、例えばバーンイン試験を行なった後で判明した不良をも救済できる。
【０１７９】
このように、この発明の不揮発性半導体メモリ及びテスト方法を採用すれば、テストシーケンスのフレキシビリティを保ちつつ、テストコストを削減することが可能となる。
【図面の簡単な説明】
【０１８０】
【図１】この発明に係るＮＡＮＤ型フラッシュメモリの概略的な構成を示すブロック図。
【図２】図１のメモリのメモリセルアレイの一部の構成を示す回路図。
【図３】図１のメモリのウェハ・テスト工程のフローチャート。
【図４】図１中のタイマー回路２２、トリミングデータレジスタ２３及びこれらの回路に関係する制御回路２５内の回路の具体的構成を示す回路図。
【図５】図４の回路の動作の一例を示すタイミングチャート。
【図６】図４中の基準クロック生成回路２２Ｂの一具体例を示す回路図。
【図７】図６中の可変抵抗回路Ｒの具体的な構成例を示す回路図。
【図８】図４中のトリミングデータレジスタ２３の詳細な構成を示す回路図。
【図９】図８のレジスタ２３内のデータと時間ＴＩＮＴのずれ（ΔＴｉｎｔ）との関係を示す図。
【図１０】図４中のタイマー回路２２のトリミング時のシーケンスを示す図。
【図１１】図４中のタイマー回路２２のトリミング時のタイミングチャートを示す図。
【図１２】図１中のＩ／Ｏバッファ１６にレジスタコントロールコマンドを供給した時の動作手順を示すフローチャート。
【図１３】図１中の内部電圧生成回路２０、トリミングデータレジスタ２１及びこれらの回路に関係する制御回路２５内の回路の具体的構成を示す回路図。
【図１４】図１３に示す回路においてレジスタ２１に記憶されるデータと基準電圧Ｖｒｅｆとの対応関係を示す図。
【図１５】図１３の回路のテストシーケンスを示す図。
【図１６】図１中の内部電圧生成回路２０のうち非選択セルワード線電圧Ｖｒｅａｄの生成に関係した部分の回路をトリミングデータレジスタ２１及びこれらの回路に関係する制御回路２５内の回路と共に示す回路図。
【図１７】各電圧のトリミングを行なう場合のトリミング回数とトリミング後の電圧との関係を示す図。
【図１８】図１中のメモリセルアレイ１１及びページバッファ１３の一部の概要を示す回路図。
【図１９】図１のメモリにおけるカラムリダンダンシに関係する回路の構成を示す回路図。
【図２０】図１９中の不良カラムアドレスレジスタ１９の１単位の回路構成を示す回路図。
【図２１】図１のメモリにおける不良カラム検出及び置き換えのシーケンスのフローチャート。
【図２２】図１のメモリにおけるリダンダンシ領域のカラムチェックの工程を示すフローチャート。
【図２３】図１のメモリにおけるオープン不良、ショート／リーク不良の検出／置換えのシーケンスを示すフローチャート。
【図２４】図１のメモリにおけるリダンダンシ領域のカラムのうちオープン不良のカラムを検出して登録する操作のフローチャート。
【図２５】図１のメモリにおける不良の検出／置換え操作のフローチャート。
【図２６】図１のメモリにおける正常なメモリブロックのサーチのシーケンスを示すフローチャート。
【図２７】図１のメモリにおけるＶｐｇｍ初期値トリミングのシーケンスを示すフローチャート。
【図２８】図２７のシーケンスで書き込み電圧Ｖｐｇｍがどのように変化していくかを示す図。
【図２９】図１におけるブロック不良検知系に関係した回路の構成を示す回路図。
【図３０】図１における不良ブロック検出のシーケンスを示すフローチャート。
【図３１】不良ブロック検出の際の“１”データの読み出しチェックの手順を示すフローチャート。
【図３２】不良ブロック検出の際の物理チェッカーパターンの読み出しチェックの手順を示すフローチャート。
【図３３】不良ブロック検出の後に不良ブロックのフラグ数をカウントするシーケンスを示すフローチャート。
【図３４】この発明の第２の実施の形態に係るテスト方法を説明するための図。
【図３５】従来のウェハ・テスト工程の概略を示すフローチャート。
【符号の説明】
【０１８１】
１１…メモリセルアレイ（Ｍｅｍｏｒｙ  Ｃｅｌｌ  Ａｒｒａｙ）、１２…ロウデコーダ（Ｒｏｗ  Ｄｅｃｏｄｅｒ）、１３…ページバッファ（Ｐａｇｅ  Ｂｕｆｆｅｒ）、１４…カラムゲート回路（Ｃｏｌｕｍｎ  Ｇａｔｅ）、１５…Ｉ／Ｏバス（Ｉ／Ｏ  Ｂｕｓ）、１６…Ｉ／Ｏバッファ（I／Ｏ  Ｂｕｆｆｅｒ）、１７…アドレスバッファ（Ａｄｄｒｅｓｓ  Ｂｕｆｆｅｒ）、１７Ａ…カラムアドレスバッファ（Ｃｏｌｕｍｎ  Ａｄｄｒｅｓｓ  Ｂｕｆｆｅｒ）、１７Ｂ…ロウアドレスバッファ（Ｒｏｗ  Ａｄｄｒｅｓｓ  Ｂｕｆｆｅｒ）、１８…コマンドバッファ（Ｃｏｍｍａｎｄ  Ｂｕｆｆｅｒ）、１９…不良カラムアドレスレジスタ（Ｂａｄ  Ｃｏｌｕｍｎ  Ａｄｄｒｅｓｓ  Ｒｅｇｉｓｔｅｒ）、２０…内部電圧生成回路（Ｖｏｌｔａｇｅ  Ｇｅｎｅｒａｔｏｒｓ）、２１…トリミングデータレジスタ（Ｔｒｉｍ。 Ｄａｔａ  Ｒｅｇｉｓｔｅｒ）、２２…タイマー回路（Ｔｉｍｅｒ）、２２Ａ…タイマー信号生成回路、２２Ｂ…基準クロック生成回路、２３…トリミングデータレジスタ（Ｔｒｉｍ.  Ｄａｔａ  Ｒｅｇｉｓｔｅｒ）、２４…Ｉ／Ｏ制御回路（Ｉ／Ｏ  Ｃｏｎｔｒｏｌ）、２５…制御回路（Ｃｏｎｔｒｏｌ  Ｌｏｇｉｃ）、３１…パッド（Ｐａｄ）、３２…ＡＮＤゲート、３３…フリップフロップ、３４…トリミングデータレジスタ制御回路（Ｃｏｎｔｒｏｌ）、３５Ａ、３５Ｂ…基準遅延生成回路、４１…差動増幅器、４５…フリップフロップ、５０…Ｄ型フリップフロップ（ＤＦＦ）、５１…ラッチ回路（ＩＮＤＥＸ  ｌａｔｃｈ）、５２、５３…クロックドインバータ、６１…パッド（Ｍｏｎｉｔｏｒ  ＰＡＤ）、６２…可変抵抗回路、６４…バンドギャップ型定電圧生成回路（ＢＧＲ  Ｃｉｒｃｕｉｔ）、６５…比較器、６６…フラグ生成回路、６７…スイッチ回路、６８…制御回路（ｃｏｎｔｒｏｌ）、７１…昇圧回路（Ｖｒｅａｄ  Ｃｈａｒｇｅ  Ｐｕｍｐ）、７２…パッド（Ｍｏｎｉｔｏｒ  ＰＡＤ）、７３…可変抵抗回路、７５…比較器、８１…バッファ回路（Ｂｕｆｆｅｒ）、８２…アイソレーションラッチ回路（Ｉｓｏｌａｔｉｏｎ  Ｌａｔｃｈ）、８３…判定回路（Ｄｅｃｉｓｉｏｎ  Ｃｉｒｃｕｉｔ）、８４…制御回路（Ｃｏｎｔｒｏｌ）、８５…レジスタカウンタ（Ｒｅｇｉｓｔｅｒ  Ｃｏｕｎｔｅｒ）、９１、９３…ラッチ回路、９２…ＥＸ−ＯＲ回路（排他的論理和回路）、１０１…不良ブロック数カウンタ（Ｂａｄ  Ｂｌｏｃｋ  #  Ｃｏｕｎｔｅｒ）、１０２…ブロックアドレス・プリデコーダ（Ｂｌｋ  Ａｄｄｒｅｓｓ  Ｂｕｆｆｅｒ）、１０３…制御回路、１０４…部分デコーダ回路、１０５…デコード回路、１０６…レベルシフト回路（Ｌ／Ｓ）、１０７…不良ブロックフラグレジスタ（Ｂａｄ  Ｂｌｏｃｋ  Ｆｌａｇ  Ｒｅｇｉｓｔｅｒ）、１０８…セット回路、１０９…読み出し回路、Ｒ…可変抵抗回路、ＰＢＵＳＢ…配線。
【図１】
2008004264.tif 000003
【図２】
2008004264.tif 000004
【図３】
2008004264.tif 000005
【図４】
2008004264.tif 000006
【図５】
2008004264.tif 000007
【図６】
2008004264.tif 000008
【図７】
2008004264.tif 000009
【図８】
2008004264.tif 000010
【図９】
2008004264.tif 000011
【図１０】
2008004264.tif 000012
【図１１】
2008004264.tif 000013
【図１２】
2008004264.tif 000014
【図１３】
2008004264.tif 000015
【図１４】
2008004264.tif 000016
【図１５】
2008004264.tif 000017
【図１６】
2008004264.tif 000018
【図１７】
2008004264.tif 000019
【図１８】
2008004264.tif 000020
【図１９】
2008004264.tif 000021
【図２０】
2008004264.tif 000022
【図２１】
2008004264.tif 000023
【図２２】
2008004264.tif 000024
【図２３】
2008004264.tif 000025
【図２４】
2008004264.tif 000026
【図２５】
2008004264.tif 000027
【図２６】
2008004264.tif 000028
【図２７】
2008004264.tif 000029
【図２８】
2008004264.tif 000030
【図２９】
2008004264.tif 000031
【図３０】
2008004264.tif 000032
【図３１】
2008004264.tif 000033
【図３２】
2008004264.tif 000034
【図３３】
2008004264.tif 000035
【図３４】
2008004264.tif 000036
【図３５】
2008004264.tif 000037