JP2008004264A - 不揮発性半導体メモリ及び不揮発性半導体メモリにおける不良カラムの検出及び置き換え方法 - Google Patents
不揮発性半導体メモリ及び不揮発性半導体メモリにおける不良カラムの検出及び置き換え方法 Download PDFInfo
- Publication number
- JP2008004264A JP2008004264A JP2007246036A JP2007246036A JP2008004264A JP 2008004264 A JP2008004264 A JP 2008004264A JP 2007246036 A JP2007246036 A JP 2007246036A JP 2007246036 A JP2007246036 A JP 2007246036A JP 2008004264 A JP2008004264 A JP 2008004264A
- Authority
- JP
- Japan
- Prior art keywords
- column
- register
- circuit
- counter
- address
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- For Increasing The Reliability Of Semiconductor Memories (AREA)
- Read Only Memory (AREA)
Abstract
【課題】この発明は、半導体装置のウェハ・テスト時間の短縮を図ることを特徴とする。
【解決手段】メモリセルアレイ11、M個のレジスタ19、M個のレジスタを順に選択するカウンタ85、パス、フェイル信号を出力する判定回路83、制御回路84を有し、制御回路84は、不良カラム検出時、カラムアドレス並びにカウンタを先頭番地に設定した状態から開始し、判定回路の出力がパスであればカラムアドレスをインクリメントさせ、判定回路の出力がフェイルでありカウンタにより選択されたレジスタのラッチが第1の信号状態である場合はカラムアドレスをレジスタに格納した後、カラムアドレス並びにカウンタをインクリメントさせ、判定回路の出力がフェイルでありカウンタにより選択されたレジスタのラッチが第2の信号状態である場合はラッチが第1の信号状態にあるレジスタに到達するまでカウンタをインクリメントさせた後、カラムアドレスをレジスタに格納し、カラムアドレス並びにカウンタをインクリメントさせる。
【選択図】 図19
【解決手段】メモリセルアレイ11、M個のレジスタ19、M個のレジスタを順に選択するカウンタ85、パス、フェイル信号を出力する判定回路83、制御回路84を有し、制御回路84は、不良カラム検出時、カラムアドレス並びにカウンタを先頭番地に設定した状態から開始し、判定回路の出力がパスであればカラムアドレスをインクリメントさせ、判定回路の出力がフェイルでありカウンタにより選択されたレジスタのラッチが第1の信号状態である場合はカラムアドレスをレジスタに格納した後、カラムアドレス並びにカウンタをインクリメントさせ、判定回路の出力がフェイルでありカウンタにより選択されたレジスタのラッチが第2の信号状態である場合はラッチが第1の信号状態にあるレジスタに到達するまでカウンタをインクリメントさせた後、カラムアドレスをレジスタに格納し、カラムアドレス並びにカウンタをインクリメントさせる。
【選択図】 図19
Description
この発明は、カラムリダンダンシ機能を有する不揮発性半導体メモリ及び不揮発性半導体メモリにおける不良カラムの検出及び置き換え方法に関する。
不揮発性半導体メモリの1種であるNAND型フラッシュメモリについては、例えば、非特許文献1などによって発表されている。
このような不揮発性半導体メモリでは、ウェハ・テストの工程において、電圧トリミングと不良セルのリダンダンシ置き換えが行われる。
図35は従来のウェハ・テスト工程の概略を示すフローチャートである。各工程の動作内容は下記の通りである。
DCテストでは、コンタクト・チェック、スタンバイ電流等のDCチェックを行なう。Vref(基準電圧)トリミングでは、まずウェハ上の各チップのVrefをモニタし、次いでこれらをターゲット値に補正するためにトリミング値をいくらにすればよいかを計算する。
次にVpgm(書き込み電圧)初期値トリミングを行なう。NAND型フラッシュメモリでは書き込み電圧Vpgmを初期値から段階的に上げてゆくIncremental Step Pulse Programming Scheme を採用している。この方法については、例えば、非特許文献2に記載されている。この書き込み方法では、書き込み時間(もしくは書き込みループ回数)が所定の時間(回数)内に収まるようにするために、Vpgmの初期値を最適化する必要がある。そのためにはまず、メモリセルアレイ内から書き込み消去のできるブロック(グッド・ブロック)を見つける必要がある。なぜならこの段階では未だ不良セルのリダンダンシ置き換えがなされていないからである。
グッド・ブロックが見つかったら、Vpgmの初期値を変えつつそのブロックに書き込みを行ない、最適値を決定する。
続いて電圧トリミング用フューズ・カットを行なう。この工程ではウェハをレーザー・ブロー装置に移し、上記Vrefトリミング、Vpgm初期値トリミングで決定したトリミング値に応じてフューズ・カットする。
続いて不良カラム・ロウ検出を行なう。ここでは、リダンダシン置き換えのためにメモリセルアレイに数通りのデータパターンを書き込み、不良カラム・ロウを検出する。
次にリダンダシン用フューズ・カットを行なう。ここでは、ウェハを再度レーザー・ブロー装置に移し、リダンダンシ置き換えのフューズ・カットをする。
なお、このフローチャートにおいて、不良カラム・ロウ検出の前に電圧トリミング用のフューズ・カットを行なうのは、Vpgm等の内部生成電圧がずれた状態で不良カラム・ロウ検出を行なうと不良が見つけられない可能性があるためである。
上記のようなウェハ・テスト工程のテスト時間は、チップのコストに反映される。したがってチップコストを削減するには、必要なウェハ・テストを行ないつつテスト時間を極力短縮することが必要である。
上述したウェハ・テストの工程では、テスト時間を長くする要因が2つある。1つは、フューズ・カット工程の存在自体にある。レーザー・ブローによりフューズ・カットを行なうためには、ウェハをテスタから取り出してレーザー・ブロー装置に移す必要があり、ここで時間のオーバーヘッドが生じる。上記ウェハ・テスト工程では特に、フューズ・カットを2回に分けて行なう必要があるためオーバーヘッドがより顕著なものとなっている。
第2の要因は、テスタの演算時間にある。テスト時間短縮のため、ウェハ・テスト工程では100個程度のチップに対し同時にコマンドを与え、なおかつ出力を同時に測定できるようなテスタが用いられる。しかし、こうしたテスタでも、モニタした電圧からトリミング値を算出する演算や、読み出したデータパターンから不良カラム・ロウを検出する演算を、完全に並列に行なうことはできない。並列処理のできるチップ数は、高々10個程度である。したがって100チップ分のデータを同時に取得できたとしても、そのデータに対する演算処理は10回に分割して行なわねばならず、ここで時間のオーバーヘッドが生じる。
上記2つの要因のうち、フューズ・カット工程分の時間を削減するための方法が、本出願人による特許文献1に記載されている発明で述べられている。その概要は以下の通りである。
不揮発性半導体メモリではメモリセルが不揮発に情報を記憶できるので、電圧のトリミング値やリダンダンシの情報をメモリセルアレイ内に記憶させれば、フューズ並びにフューズ・カット工程をなくすことができる。不揮発性半導体メモリが通常の動作状態にあるときは先のトリミング値やリダンダンシ情報が所定のレジスタに格納されている必要があるが、その格納動作、すなわちメモリセルアレイ内から情報を取り出してレジスタに格納するという動作は、不揮発性半導体メモリに電源を投入した時点で行なえば良い。
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 特開2001−176290号公報
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
この発明は上記のような事情を考慮してなされたものであり、その目的は、リダンダンシの情報を不揮発性のメモリセルに記憶させ、その情報をメモリセルアレイ内から取り出してレジスタに格納することにより、フューズ並びにフューズ・カット工程をなくすことができ、さらに外部のテスタを使用せずにテストを行なうことによりテスト時間の短縮を図ることである。
より具体的には、リダンダンシの情報をメモリセルアレイ内に記憶させるような不揮発性半導体メモリにおいて、リダンダンシ決定に要するテスト時間を削減することを目的とする。さらに願わくは、不揮発性半導体メモリ以外の半導体製品にも適用可能な、簡便でかつ普遍性・汎用性のあるテスト方法を提供することを目的とする。
この発明の不揮発性半導体メモリは、メモリセルがカラム、ロウ方向にマトリクス状に配列されてカラム領域、ロウ領域を有するメモリセルアレイと、上記メモリセルアレイ内の不良カラムと置き換えるためのM個のカラムリダンタンシからなるカラムリダンタンシ領域と、上記カラムリダンタンシと置き換えるべきカラムアドレスを記憶するM個のレジスタと、センスアンプとを有する不揮発性半導体メモリにおいて、上記M個のレジスタの各々には対応するカラムリダンダンシが使用可能であるか否かに応じてそれぞれ第1または第2の信号状態になるラッチが含まれ、さらに、上記M個のレジスタを順に選択するカウンタと、上記センスアンプから出力される選択カラムのデータが、与えられた期待値と一致しているかどうかに応じてパス、フェイル信号を出力する判定回路と、上記メモリセルアレイ内の不良カラムを検出する際は、カラムアドレス並びに上記カウンタを先頭番地に設定した状態から開始し、上記判定回路の出力がパスであれば上記カラムアドレスをインクリメントさせ、上記判定回路の出力がフェイルでありかつ上記カウンタにより選択されたレジスタのラッチが第1の信号状態である場合は上記カラムアドレスを上記レジスタに格納した後、カラムアドレス並びにカウンタをインクリメントさせ、上記判定回路の出力がフェイルでありかつ上記カウンタにより選択されたレジスタのラッチが第2の信号状態である場合はラッチが第1の信号状態にあるレジスタに到達するまでカウンタをインクリメントさせた後、上記カラムアドレスをレジスタに格納し、ついでカラムアドレス並びにカウンタをインクリメントさせ、以上の操作を最終カラムアドレスに到達するまで行なわせる制御回路とが設けられていることを特徴とする。
この発明の不揮発性半導体メモリにおける不良カラムの検出及び置き換え方法は、メモリセルがカラム、ロウ方向にマトリクス状に配列されてカラム領域、ロウ領域を有するメモリセルアレイと、上記メモリセルアレイ内の不良カラムと置き換えるためのM個のカラムリダンタンシからなるカラムリダンタンシ領域と、上記カラムリダンタンシと置き換えるべきカラムアドレスを記憶するM個のレジスタと、センスアンプとを有する不揮発性半導体メモリにおいて、上記M個のレジスタの各々には対応するカラムリダンダンシが使用可能であるか否かに応じてそれぞれ第1または第2の信号状態になるラッチが含まれ、さらに、上記M個のレジスタを順に選択するカウンタと、上記センスアンプから出力される選択カラムのデータが、与えられた期待値と一致しているかどうかに応じてパス、フェイル信号を出力する判定回路とを有し、上記メモリセルアレイ内の不良カラムを検出する際は、カラムアドレス並びに上記カウンタを先頭番地に設定した状態から開始し、上記判定回路の出力がパスであれば上記カラムアドレスをインクリメントさせ、上記判定回路の出力がフェイルでありかつ上記カウンタにより選択されたレジスタのラッチが第1の信号状態である場合は上記カラムアドレスを上記レジスタに格納した後、カラムアドレス並びにカウンタをインクリメントさせ、上記判定回路の出力がフェイルでありかつ上記カウンタにより選択されたレジスタのラッチが第2の信号状態である場合はラッチが第1の信号状態にあるレジスタに到達するまでカウンタをインクリメントさせた後、上記カラムアドレスをレジスタに格納し、ついでカラムアドレス並びにカウンタをインクリメントさせ、以上の操作を最終カラムアドレスに到達するまで行なうことを特徴とする。
この発明によれば、リダンダンシの情報を不揮発性のメモリセルに記憶させ、その情報をメモリセルアレイ内から取り出してレジスタに格納することにより、フューズ並びにフューズ・カット工程をなくすことができ、さらに外部のテスタを使用せずにテストを行なうことによりテスト時間の短縮を図ることができる。
以下、図面を参照してこの発明の実施の形態を詳細に説明する。
図1はこの発明に係るNAND型フラッシュメモリの概略的な構成を示すブロック図、図2は図1のメモリのメモリセルアレイの一部の構成を示す回路図であり、さらに図3は図1のメモリのウェハ・テスト工程のフローチャートである。
図1において、メモリセルアレイ(Memory Cell Array)11は、電気的書き替えが可能な不揮発性メモリセルがカラム、ロウ方向にマトリクス状に配列して構成されている。上記各不揮発性メモリセルは、コントロールゲートとフローティングゲートとが積層されたスタックトゲート型のMOSトランジスタ構造を有している。
ここで、メモリセルアレイ11は、他とは絶縁分離されたウェル領域上に形成されており、メモリセルアレイ11内のメモリセルのデータを消去する際は、消去動作を複数ステップに分けて各ステップ毎に上記ウェル領域に与える消去電圧を初期電圧から一定電圧ずつ上げてゆくような消去方法が採られる。
また、メモリセルアレイ11には、不良セルを置き換えるためのリダンダシ(冗長)カラムが設けられている。さらに、メモリセルアレイ11には、初期設定データを格納するための初期設定データ領域が設定されている。
上記メモリセルアレイ11には、互いに交差するようにそれぞれ複数本のワード線WL及びビット線BLが設けられており、複数本のワード線はロウデコーダ(Row Decoder)12のデコード出力によって選択的に駆動される。データの読み出し時に、メモリセルアレイ11内のメモリセルから読み出された信号はビット線BLを介してページバッファ(Page Buffer)13に供給され、ここでセンスされる。ページバッファ13でセンスされたデータは、カラムゲート回路(Column Gate)14によってカラム単位で選択されてI/Oバス(I/O Bus)15に供給され、さらにI/Oバッファ(I/O Buffer)16から外部に出力される。データの書き込み時は、上記とは逆に外部から供給される書き込みデータがI/Oバッファ16〜I/Oバス15〜カラムゲート回路14に供給され、さらにページバッファ13を介してビット線BLに書き込みデータに応じた電圧が供給され、選択メモリセルにデータが書き込まれる。
また、上記I/Oバッファ16には、チップ外部から、データ書き込み時には上記書き込みデータが供給される他に、メモリセルを選択するためのアドレスやメモリの動作を制御するためのコマンドが供給される。アドレスはアドレスバッファ(Address Buffer)17に取り込まれ、コマンドはコマンドバッファ(Command Buffer)18に取り込まれる。アドレスバッファ17に取り込まれたアドレスのうち、ロウアドレスはロウデコーダ12に供給され、カラムアドレスはカラムゲート回路14に供給される。
上記メモリセル11に不良カラムが発生している場合に、この不良カラムに対応した不良カラムアドレスを格納するための不良カラムアドレスレジスタ(Bad Column Add. Register)19が設けられている。すなわち、不良カラムアドレスレジスタ19は、リダンダンシ置き換えをすべき不良カラムのアドレスを格納するレジスタである。なお、この実施の形態におけるメモリではブロック・リダンダンシは設けないが、その代わりに不良ブロックを検出してフラグを立て、ユーザに不良ブロック・アドレスが判るようにしている。不良ブロックのフラグ情報はロウデコーダ12内のラッチに記憶される。この不良カラムアドレスレジスタ19は上記I/Oバス15に接続されている。
内部電圧生成回路(Voltage Generators)20は、チップ内部で使用される各種電圧を生成するものであり、この電圧には例えばVref(基準電圧)、Vpgm(書き込み電圧)、内部降圧電圧(Vdd)、消去電圧(Verase)、非選択セルのワード線に供給される非選択セルワード線電圧(Vread)などがある。内部電圧生成回路20で生成された各種電圧はロウデコーダ12などに供給される。
トリミングデータレジスタ(Trim. Data Register)21は、上記内部電圧生成回路20で上記各種電圧を生成する際に使用される調整用データ(トリミングデータ)を格納する。
タイマー回路(Timer)22は、チップ内部で使用される各種タイミングパルスを生成する。
トリミングデータレジスタ(Trim. Data Register)23は、上記タイマー回路22で上記各種タイミングパルスを生成する際に使用される調整用データ(トリミングデータ)を格納する。上記トリミングデータレジスタ21、23は、従来技術におけるフューズの役割をする。すなわち、電源投入時に、メモリセルアレイ11内の後述する初期設定データ領域からレジスタに格納すべきデータが読み出され、1/Oバス15を介して各レジスタ21、23に順次格納される。
I/O制御回路(I/O Control)24は、外部から供給されるチップイネーブル信号/CE、リードイネーブル信号/RE、ライトイネーブル信号/WEなどの各種制御信号を取り込む。I/O制御回路24に取り込まれた制御信号及び上記コマンドバッファ18に取り込まれたコマンドは制御回路(Control Logic)25に供給される。
上記制御回路25は、I/O制御回路24からの制御信号及びコマンドをデコードした結果に基づいてチップ内部の各回路の動作を制御する。この制御回路25内には制御用のデータを格納するための各種レジスタが設けられている。また、制御回路25は外部回路に対して、チップがアクセス可能である否かの状態を示すレディー/ビジー信号(R/Bn)を出力する機能を有している。
図2に示すメモリセルアレイ11では、例えば16個のメモリセルが直列接続されてNANDセルユニットを構成している。ワード線WL(WL0〜WL15)が共通に接続された複数のNANDセルユニットは、データ消去の最小単位となるセルブロックを構成しており、複数のセルブロックB0、B1、…、Bnがビット線BLを共通にして配置されている。
このようなメモリセルアレイ11において、例えばセルブロックBnが初期設定データを格納するための初期設定データ領域として使用される。この初期設定データ領域は、ビット線BL及びワード線WLの選択駆動により、データの書き込み、消去及び読み出しが可能ではあるが、メモリの通常の動作においては外部からはアクセスされない。従って、データの一括消去あるいはブロック単位の消去の際にも、この初期設定データ領域内のデータは消去されない。
次に、上記のような構成のメモリのウェハ・テスト時における各工程の動作を、図3のフローチャートを参照して説明する。
ウェハ・テストは以下の工程からなる。
(1)DCテスト(DC Test)
(2)デフォルト・リセット(Default Reset)
(3)タイマー及び電圧トリミング(Timer & Voltage Trimming)
(4)不良カラム検出及び置き換え(Bad Col. Detection & Repair)
(5)正常なメモリブロックのサーチ(Good Block Serch)
(6)Vpgm初期値トリミング(Vpgm Initial Value Tlimming)
(7)不良メモリブロック検出(Bad Block Detection)
(8)オプション・セット(Option Set)
(9)ROMフューズ・プログラム(ROM−Fuse Program)
(10)パワーオフ、オン時のレジスタ状態の検証(Power Off,On Verification of Register State)
このようなウェハ・テストのうち、(2)のデフォルト・リセットから(9)のROMフューズ・プログラムまでの工程は、電源を投入した後に電源を切ることなく続けて行われる。
(2)デフォルト・リセット(Default Reset)
(3)タイマー及び電圧トリミング(Timer & Voltage Trimming)
(4)不良カラム検出及び置き換え(Bad Col. Detection & Repair)
(5)正常なメモリブロックのサーチ(Good Block Serch)
(6)Vpgm初期値トリミング(Vpgm Initial Value Tlimming)
(7)不良メモリブロック検出(Bad Block Detection)
(8)オプション・セット(Option Set)
(9)ROMフューズ・プログラム(ROM−Fuse Program)
(10)パワーオフ、オン時のレジスタ状態の検証(Power Off,On Verification of Register State)
このようなウェハ・テストのうち、(2)のデフォルト・リセットから(9)のROMフューズ・プログラムまでの工程は、電源を投入した後に電源を切ることなく続けて行われる。
次に各項目について説明する。
(1)DCテスト
まず、従来技術の場合と同じDCテストを行なう。この部分は自動テスト化できないが、トータルのテスト時間に占める割合は小さいので、テスト時間への影響は少ない。
まず、従来技術の場合と同じDCテストを行なう。この部分は自動テスト化できないが、トータルのテスト時間に占める割合は小さいので、テスト時間への影響は少ない。
(2)デフォルト・リセット
DCテストの後に全レジスタをデフォルト(初期)状態にセットする。トリミングデータレジスタ21、23に対しては、各レジスタの中身がデフォルトのトリミング値となるようリセットする。一方、不良カラムアドレスレジスタ19と前記不良ブロック・フラグに関しては、不良カラムおよび不良ブロックがない状態にリセットする。
DCテストの後に全レジスタをデフォルト(初期)状態にセットする。トリミングデータレジスタ21、23に対しては、各レジスタの中身がデフォルトのトリミング値となるようリセットする。一方、不良カラムアドレスレジスタ19と前記不良ブロック・フラグに関しては、不良カラムおよび不良ブロックがない状態にリセットする。
(3)タイマー及び電圧トリミング
この工程では、タイマー回路22で生成するパルス信号のパルス幅のトリミング及び内部電圧生成回路20で生成する電圧の値のトリミングを行なう。ここでトリミングする電圧は、基準電圧Vref、内部降圧電圧Vdd並びに非選択セルワード線電圧Vreadの3つである。
この工程では、タイマー回路22で生成するパルス信号のパルス幅のトリミング及び内部電圧生成回路20で生成する電圧の値のトリミングを行なう。ここでトリミングする電圧は、基準電圧Vref、内部降圧電圧Vdd並びに非選択セルワード線電圧Vreadの3つである。
以下各項目毎にテスト方法を説明する。
[タイマー・トリミング(Timer Trimming)]
図4は、図1中のタイマー回路22、トリミングデータレジスタ23及びこれらの回路に関係する制御回路25内の回路の具体的構成を示している。
図4は、図1中のタイマー回路22、トリミングデータレジスタ23及びこれらの回路に関係する制御回路25内の回路の具体的構成を示している。
タイマー回路22は、タイマー信号生成回路22Aと基準クロック生成回路22Bとから構成される。
タイマー信号生成回路22Aは、基準クロック生成回路22Bにより生成された基本クロックPULSEから、図5のタイミングチャートに示すようにパルスTMCLKを生成する。ここで、上記パルスTMINTは基本クロックの整数倍に相当するパルスであり、タイマーリセット信号TMRSTをトリガとして生成される。パルスTMCLKは、パルスTMINTが“H”となってからTINTの時間だけ経過してから“H”となる。時間TINTとパルスTMCLKのパルス幅(100ns)は基準クロックから生成されるため、基準クロックのばらつきに応じて増減する。
タイマー信号生成回路22Aで生成されたパルスTMCLKは、チップのパッド(Pad)31に供給される、所望するパルス幅Textを有するパルスTMEXTと共にANDゲート32に供給される。
上記ANDゲート32の出力はセット・リセット型のフリップフロップ33のセット端子に供給される。またフリップフロップ33のリセット端子にはタイマーリセット信号TMRSTが供給される。このフリップフロップ33の出力は、フラグFLAGとしてトリミングデータレジスタ制御回路(Control)34に供給される。この制御回路34は、上記フラグFRAGの状態に応じて、前記トリミングデータレジスタ23に対してインクリメント信号incまたはリセット信号rstを供給する。
上記基準クロック生成回路22Bの一具体例を図6の回路図に示す。ここで、2つの基準遅延生成回路35A及び35Bは同様の回路構成を有しており、差動増幅器41、2つのNチャネルMOSトランジスタ42、43、トリミング信号に応じて両端子間の抵抗値が変化する可変抵抗回路R、PチャネルMOSトランジスタ44及びキャパシタCとから構成され、それぞれ可変抵抗回路Rにおける抵抗値とキャパシタCの容量値との積RCに相当する遅延時間を生成する。
上記両基準遅延生成回路35A、35Bの出力は、タイマーリセット信号TMRRSTnと共に、2個のNAND回路からなるフリップフロップ45に供給される。このフリップフロップ45の一方の出力は、AND回路46によってタイマーリセット信号TMRRSTnと共にAND論理が取られることにより制御信号DEN1が生成される。この制御信号DEN1は、一方の基準遅延生成回路35B内のPチャネルMOSトランジスタ44のゲートに供給される。また、上記フリップフロップ45の他方の出力は、AND回路47によってタイマーリセット信号TMRRSTnと共にAND論理が取られることにより制御信号DEN0が生成される。この制御信号DEN0は、他方の基準遅延生成回路35A内のPチャネルMOSトランジスタ44のゲートに供給されると共に、インバータ48で反転されて基本クロックPULSEが生成される。
このような構成の基準クロック生成回路22Bにおいて、基準遅延生成回路35A、35Bでは、制御信号DEN0またはDEN1が“L”になっている期間にPチャネルMOSトランジスタ44がオンし、キャパシタCが電源電圧によって充電されている。ここでNチャネルMOSトランジスタ42のしきい値電圧をVthとすれば、差動増幅器41の(−)端子の電圧はVthに設定されている。
次に、制御信号DEN0またはDEN1が“H”に変わると、PチャネルMOSトランジスタ44がオフし、キャパシタCの充電が行われなくなる。ここで、NチャネルMOSトランジスタ42、43はカレントミラー回路を構成しており、可変抵抗回路Rを介してNチャネルMOSトランジスタ42に流れる電流に比例した電流がNチャネルMOSトランジスタ43にも流れ、キャパシタCは今度はこの電流によって放電される。そして、キャパシタCの端子電圧が、差動増幅器41の(−)端子の電圧Vthよりも低くなると、差動増幅器41の出力が“H”から“L”に反転する。そして、制御信号DEN0またはDEN1が“L”から“H”に反転してから、次に差動増幅器41の出力が“H”から“L”に反転するまでの遅延時間が上記RCに相当する。このような動作が2つの基準遅延生成回路35A、35Bで交互に繰り返されることにより、インバータ48からは上記遅延時間RCの2倍の周期をもつ基本クロックPULSEが出力される。ここで、可変抵抗回路Rはトリミング信号の値に応じて抵抗値を変えることができるため、トリミング信号により基準遅延時間を調整することができる。なお基準クロック生成回路22Bは図6のものに限られることはなく、トリミング信号により基準クロックを調整できるものであれば、他の回路構成を使用してもよい。
図7は、図6中の可変抵抗回路Rの具体的な構成例を示す回路図である。この可変抵抗回路Rは、デコーダ回路(Decoder)49と、互いに値が異なる8個の抵抗R0〜R7及びこれらの各抵抗に対してそれぞれ直列接続された8個のNチャネルMOSトランジスタQとから構成されている。
上記デコーダ回路49は、例えば3ビットのトリミング信号TTMR0〜TTMR2をデコードして、8通りのデコード信号を出力する。そして、これら8通りのデコード信号のそれぞれが上記8個のNチャネルMOSトランジスタQのゲートに供給される。
このように構成された可変抵抗回路Rでは、3ビットのトリミング信号TTMR0〜TTMR2に基づいて8個のNチャネルMOSトランジスタQのうちいずれか1つがオン状態されることにより、両端子間の抵抗値が8通りに変化する。
図8は、図4中のトリミングデータレジスタ23の詳細な回路構成を示している。このレジスタ23は例えば4ビットのデータを保持する。このうちの1ビットはインデクス(INDEX)ビットである。このインデクスビットはトリミングテストを行なったか否かを示す指標の役割をする。残りの3ビットTTMR0〜TTMR2が正味のトリミング情報となる。
図8に示すように、直列接続された3個のD型フリップフロップ(DFF)50により構成されたカウンタがTTMR0〜TTMR2を記憶するレジスタを兼ねている。インデクスビットはラッチ回路(INDEX latch)51で記憶される。各フリップフロップ50及びラッチ回路51のデータは、各フリップフロップ50及びラッチ回路51に対してそれぞれ設けられた各2個のクロックドインバータ52、53を介してI/Oバス15との間で入出力される。
レジスタ23のデータをメモリセルに書き込む際はI/Oバス15を介してページバッファ13(図1に図示)に転送し、また電源投入後にトリミングデータをメモリセルからレジスタ23に転送する際は、ページバッファ13からI/Oバス15を介してレジスタ23にデータを取り込む。
図9は、レジスタ23内のデータ(TTMR0〜TTMR2及びINDEX)と上記TINTのずれ(ΔTint)との関係を示したものである。デフォルト・リセットの状態ではINDEXビットは“0”にされ、TTMR0〜TTMR2はTINTのずれが0%となるような値に設定される。タイマー・トリミングのテストが開始されるとレジスタデータはまず初期状態にセットされる。このとき、INDEXビットは“1”にされる。なお、初期状態ではTTMR0〜TTMR2は全て“0”である。
次に、図4中の制御回路34からインクリメント信号incが生成される度に、TTMR0〜TTMR2のデータが順次インクリメントされる。図9に示すように、TINTの時間はTTMR0〜TTMR2がインクリメントされるに従い順次長くなるように制御される。
このようなレジスタ機能並びに回路構成を用いれば、次のようにタイマー回路のトリミングができる。
図10はタイマー回路22のトリミング時のシーケンス、図11はトリミング時のタイミングチャートを示し、図12は図1中のI/Oバッファ16にレジスタコントロールコマンドを供給した時の動作手順を示すフローチャートである。
まず、テスト開始コマンドを入力すると、レジスタ23が初期状態にセットされ、タイマー回路22のテストが可能な状態になる。次に、図4に示されたパッド31に狙い目の幅Textを持つパルスTMEXTを入力する。これにより、TMEXTをトリガとしてTMRST、TMINT、TMCLKのパルスが立つ。ここで、図11(a)に示すように、TMEXTが“H”の期間中にパルスTMCLKが立つと、FLAGが“H”となり、図11(b)に示すように、TMEXTが“L”の期間中にパルスTMCLKが立つと、フラグFLAGは“L”となる。
次に、レジスタコントロールコマンドを入力する。このコマンドを入力すると、FLAGが“H”の場合に制御回路34はインクリメント信号incを生成し、FLAGが“L”であればインクリメント信号incを生成しない。なお、レジスタコントロールコマンドの形態としては、通常のコマンド入力であってもよいし、/WE信号のトグルのような形態であってもよい。
図10のシーケンスに従ってテストをすると、Tint<Textである間はレジスタデータが順次インクリメントされ、タイマー時間が順次長くなり、Tint>Textとなった段階でインクリメントされなくなる。従って、テスト終了コマンドが供給されて、シーケンスが終了した時点では、レジスタデータはTintとTextがほぼ等しくなるような値にセットされていることになる。
なお、基本クロックのパルス幅のターゲット値は100nsであるが、TINTの時間はこれよりも十分長い値、例えば100μsとする。その理由は、TINTに占めるロジック遅延の影響を十分小さくするためである。
ここで、図12に示したフローチャートについて簡単に説明する。
テストコマンドが供給されると(Command input)、ステップS1においてR/Bn(レディー/ビジー)信号が“L”にされ(R/Bn=“L”)、チップがビジー状態であることが外部に知らされる。次に、ステップS2においてフラグFLAGが“H”であるか否かが判断される(FLAG=“H”?)。このとき、フラグFLAGが“H”でなければ、基本クロックのパルス幅は既にターゲット値であるため、その後、ステータス(Status)がパス(Pass)状態(Status=“Pass”)にされた上でR/Bn信号が“H”にされてタイマー・トリミングのテスト動作が終了する。
一方、ステップS2においてフラグFLAGが“H”であると判断されると、次にステップS3においてトリミングデータが最大値に達しているか否かが判断される(Trim.Data=Max?)。ここで既に最大値に達していれば、ステップS4においてレジスタ23がリセットされ(Register Reset)、トリミングに失敗したとしてステータスがフェイル(Fail)状態(Status=“Fail”)にされた上でR/Bn信号が“H”にされてタイマー・トリミングのテスト動作が終了する。
ステップS3においてトリミングデータが最大値に達していないと判断されると、次にステップS5においてレジスタ23のデータがインクリメントされ(Increment Register Data)、ステータスがフェイル状態(Status=“Fail”)にされた上でR/Bn信号が“H”にされる。
上述したテスト手法は、次のような利点を持っている。
(1)テスタは各々のチップに対し共通のコマンドを入力するだけでよい。特に、テスタのCPUを用いてトリミングデータを決定する演算を行なう必要がなくなる。(2)また、チップ毎の特性データを格納するメモリをテスタが持たなくても良い。
これらのことは、100個程度のチップに対して完全に並列にテストができることを意味する。また高性能、高機能のテスタを用いなくてもトリミングテストができることを意味する。従って、従来のテスト方法に比べると、テスト時間の大幅な短縮とテストコストの大幅な削減を図ることができる。
なお、ここではタイマー回路22のトリミングのテストについて説明したが、以下に述べるように、このテストの本質は電圧トリミングやリダンダンシ計算にも適用できる。
また本方式は、トリミングデータをメモリセルアレイ11に書き込めるメモリを前提としていたが、トリミングデータをレーザーフューズに記憶させるようなメモリにも適用可能である。その場合は上記のような方法でトリミングデータを決定したのち、レジスタ21、23内のデータをテスタのメモリに移し、その後、そのデータに基づいてフューズ・カットを行なえばよい。この場合、上記(2)の利点は失われるが、上記(1)の利点は保たれるため、テスト時間の短縮が可能となる。
[電圧トリミング(Voltage Trimming)]
チップ内部で使用される各電圧のトリミングも上記タイマー回路22のトリミングの場合と同様に行なうことができる。
チップ内部で使用される各電圧のトリミングも上記タイマー回路22のトリミングの場合と同様に行なうことができる。
図13は、図1中の内部電圧生成回路20、トリミングデータレジスタ21及びこれらの回路に関係する制御回路25内の回路の具体的構成を示している。この場合には基準電圧Vrefの生成を例にして説明する。
内部電圧生成回路20は、この内部電圧生成回路20で生成される基準電圧Vrefもしくはチップの外部からパッド61(Monitor PAD)に供給され、所望の基準電圧に相当する参照電圧を抵抗分割する直列接続された可変抵抗回路62及び抵抗63からなる分割回路と、バンドギャップ型定電圧生成回路(BGR Circuit)64で生成されるBGR電圧Vbgrと上記可変抵抗回路62及び抵抗63からなる分割回路で分割された電圧とを比較する比較器65と、この比較器65の出力及びテスト信号VREFTESTに基づいてフラグFLAGを生成するフラグ生成回路66と、比較器65の出力及びテスト信号VREFTESTに基づいて基準電圧Vrefのノードを電源電圧に接続する直列接続された2個のPチャネルMOSトランジスタからなるスイッチ回路67と、上記フラグFLAGに基づきレジスタ21に対してクンクリメント信号incもしくはリセット信号rstを供給するレジスタ制御回路(control)68とから構成されている。
ここで、レジスタ21から出力されるトリミング信号は例えばTVREF0〜TVREF3の4ビットであるとする。このレジスタ21の構成はタイマー・トリミングのものと同様でよい。可変抵抗回路62は、上記4ビットのトリミング信号TVREF0〜TVREF3に応じてその両端の抵抗が変化する。この可変抵抗回路62は、図7に示す場合と同様に構成してもよい。ただし、この場合、前記デコーダ回路49に対応したデコーダ回路は4ビットのトリミング信号に応じて16通りのデコード信号を出力し、前記抵抗R0〜R7に対応する抵抗は16個設けられ、これに伴って前記NチャネルMOSトランジスタQに対応するMOSトランジスタも16個設けられる。
図14は、図13に示す回路において、レジスタ21に記憶されるデータと基準電圧Vrefとの対応関係を示したものであり、さらに図15は図13の回路のテストシーケンスを示している。
図15に示すように、基準電圧Vrefのトリミングをする際は、まずパッド61に参照電圧を入力する。続いてテスト開始コマンドを入力すると、図13中のテスト信号VREFTESTが“H”となり、スイッチ回路67がオフにされ、パッド61に入力された参照電圧が可変抵抗回路62及び抵抗63からなる分割回路によって分割され、チップ内部で生成されたBGR電圧Vbgrと比較器65で比較される。また、テスト信号VREFTESTが“H”のときはフラグ生成回路66が動作可能となり、比較器65の比較結果がフラグFLAGに反映される。
ここで、レジスタデータと出力電圧(Vref)とは図14に示すような関係にされており、出力電圧Vrefがそのターゲット値よりも小さい間はレジスタコントロールコマンド(図15中のB)を入力する毎にレジスタデータがインクリメント(inc)される。そして、出力電圧Vrefがそのターゲット値よりも大きくなった時点でインクリメントが停止する。このようにして、タイマー・トリミングと同様、完全な並列テストで電圧のトリミングができる。
内部降圧電圧Vddのトリミングも上記基準電圧Vrefのトリミングと同様の回路及び方法で行なうことができる。
なお、図15に示すように、レジスタコントロールコマンドBを外部から入力するのではなく、チップ内部のタイマー回路22と制御回路とを用いて、自動的にレジスタコントロール動作を行なわせるようにしてもよい。
一方、非選択セルワード線電圧Vreadのような昇圧電圧をトリミングする場合は、図16に示すような構成の回路を用いる。すなわち、図16は、図1中の内部電圧生成回路20のうち非選択セルワード線電圧Vreadの生成に関係した部分の回路を、トリミングデータレジスタ21及びこれらの回路に関係する制御回路25内の回路と共に示している。
非選択セルワード線電圧Vreadは昇圧回路(Vread Charge Pump)71で生成される。この昇圧回路71で生成される電圧Vreadもしくはチップの外部からパッド(Monitor PAD)72に供給され、所望の非選択セルワード線電圧に相当する参照電圧は、直列接続された可変抵抗回路73及び抵抗74からなる分割回路によって抵抗分割される。上記分割された電圧VMONは比較器75により基準電圧Vrefと比較される。この比較器75の出力はインバータ76によって反転され、フラグFLAGとしてレジスタ制御回路68に供給される。このレジスタ制御回路68は、上記フラグFLAGに基づきレジスタ21に対してクンクリメント信号incもしくはリセット信号rstを供給する。
いま、パッド72に参照電圧が入力された状態でテスト開始コマンドを入力すると、ディスエーブル信号disableに基づいて昇圧回路71が非動作状態となり、さらにイネーブル信号enableに基づいて比較器75が動作状態となる。そして、パッド72に入力された参照電圧は、可変抵抗回路73及び抵抗74からなる分割回路によって抵抗分割され、比較器75で基準電圧Vrefと比較され、この比較結果に基づいて発生されるフラグFLAGに応じて、レジスタ制御回路68からインクリメント信号incまたはリセット信号rstがレジスタ21に供給される。
なお、図16に示すように、パッド72と可変抵抗回路73との間には配線に付随した寄生抵抗Rpadが存在している。この寄生抵抗Rpadが大きいと、パッド72に正しい参照電圧を入力してもトリミング後の電圧がずれてしまう。そのような場合は、Rpadの値が影響しなくなるように、パッド72に予め高めの参照電圧を入力すればよい。このことは、基準電圧Vref及び内部降圧電圧Vddのトリミングの際に対応するパッドから入力する参照電圧においても有効である。
図17は、上記のように各電圧のトリミングを行なう場合の、トリミング回数とトリミング後の電圧との関係を示している。各電圧のトリミングを行なう場合、図17に示すように各チップの初期電圧は、製造プロセスなどの条件によって所定のばらつきが発生している(Initial Distributing)。例えばチップA(Chip A)の初期電圧がチップB(Chip B)に比べて高いとすると、トリミングが終了した時点ではチップAとBとの間には最大で1ステップ当たりのステップ電圧Vstepのばらつきが生じる(Final Distributing)。
そこで、トリミング時にパッドに入力する参照電圧としてターゲット値(Target)に対してVstep/2だけ低い電圧、つまりターゲット値−Vstep/2の電圧を入力すれば、トリミング後の電圧はちょうどターゲット値に一致することになり、チップ間でばらつきが発生しなくなる。逆に、ターゲット値を、パッドに入力する参照電圧Vpadに対してVstep/2だけ高い電圧、つまりVpad+Vstep/2にすればよい。
(4)不良カラム検出及び置き換え
従来では正常なメモリブロック(Good Block)を検出してVpgmの初期値のトリミングを行なった後に不良カラム検出を実施していた。
従来では正常なメモリブロック(Good Block)を検出してVpgmの初期値のトリミングを行なった後に不良カラム検出を実施していた。
しかし不良カラムが存在するとチップ内に正常なメモリブロックが存在しないという事態が起こり得る。なぜなら、正常なメモリブロックかどうかは書き込み消去を行なって一括検知をパスするかどうかで判定するが、不良カラムがあると一括検知で常にフェイル(Fail)となるからである。
そこで、この実施の形態によるメモリでは、不良カラム検出と置き換えを行なった後正常なメモリブロックの調査(Good Block Search)を行ない、Vpgmの初期値のトリミングを実施する。
Vpgmの初期値のトリミングを行なう前に不良カラム検出と置き換えを行なうには、書き込み消去せずに不良カラムを検出する必要がある。そこで、ビット線のリークチェックやオープンチェック等を行って不良カラムを検出する。逆に言えば、このような手法で不良カラムが検出できるからこそ、不良カラム検出の工程をVpgmの初期値のトリミング工程の前に持ってくることが可能となる。
具体的な不良カラム検出/置き換えの方法を以下に述べる。まず、不良カラム検出/置き換えに関する回路の構成を説明する。
図18は、図1中のメモリセルアレイ11及びページバッファ13の一部の概要を示している。ここで、メモリセルアレイ11の1ページは1024+32=1056バイト(Byte)からなる。データの入出力はバイト単位で行なわれるため、カラムアドレスはA0からA10まで11ビットある。メインの領域のカラム不良は、バイト単位でカラムリダンダンシと置き換えられる。カラムリダンダンシは1つのプレーンにつき8バイトある。また、1つのページバッファ(PB)につき2本のビット線BLが割り当てられており、そのいずれに接続するかは信号線BLTRe,BLTRo,BLCUe,BLCUoにより決定される。例えばBLTRe=“H”、BLTRo=“L”のときは偶数番目のビット線BLがページバッファPBに接続される。このときBLCUe=“L”、BLCUo=“H”とされ、非選択のビット線BLは接地(gnd)に接続される。偶数番目のビット線と奇数番目のビット線は別々のページに属すると見なされる。
図19は、図1のメモリにおけるカラムリダンダンシに関係する回路の構成を示している。不良カラム検出及び置き換えの操作が完了した段階では、不良カラムのアドレスは不良カラムアドレスレジスタ19に格納されている。前記アドレスバッファ17の一部であるカラムアドレスバッファ17Aに入力されたカラムアドレスが不良カラムアドレスレジスタ19内のアドレスと一致すると、メインのカラム領域が非選択とされ、リダンダンシ領域が選択される。
読み出し動作の際は、選択された8個(1バイト)のページバッファPBのデータがバッファ回路(Buffer)81を介してI/Oバス15に出力される。ぺ−ジバッファPBに書き込みデータを入力する(データロード)際はこれとは逆の経路でデータが転送される。
図19中の信号線LSENLRは一括検知動作で使用する。その際、不良カラムや未使用のカラムリダンダンシ領域の情報が一括検知動作に反映されないようにするため、これらのページバッファPBと信号線LSENLRとの間の信号経路を遮断する必要がある。8個のページバッファPB毎に設けられたアイソレーションラッチ回路(Isolation Latch)82は、上記の信号経路を遮断するか否かの情報を格納するためのものである。
なお、図19において、83はバッファ回路81を介してI/Oバス15に出力されるデータを判定する判定回路(Decision Circuit)、84は制御回路(Control)、85はレジスタカウンタ(Register Counter)である。
図20は、図19中の不良カラムアドレスレジスタ19の1単位分の回路構成を示している。この1単位分の回路で1つの不良カラムアドレスA0〜A10を記憶するので、11ビット分のラッチ回路91が含まれている。カラムアドレスバッファ17Aに入力されたカラムアドレスが、不良カラムアドレスレジスタ19に格納されているアドレスと一致しているかどうかは、11個のラッチ回路91毎に設けられたEX−OR回路(排他的論理和回路)92でそれぞれ判定される。ラッチ回路93はインデクスビット(INDEX)を格納する。このインデクスビットは、他の11個のラッチ回路91に格納されているデータが有効かどうかを判別する指標としての役割を有する。ラッチ回路93にデータ“1”が格納されている場合は、ラッチ回路91内のデータが不良カラムアドレスであることを示し、データ“0”が入っている場合はラッチ回路91内のデータに意味がないことを示す。
上記EX−OR回路92の出力はNOR回路94に並列に入力される。このNOR回路94の出力はNAND回路95に入力され、さらにこのNAND回路95には上記ラッチ回路93の格納データが供給される。なお、96及び97はそれぞれデコーダであり、98及び99はそれぞれNAND回路である。なお、図20の回路の詳細については後述する。
次に、不良カラム検出及び置き換えのシーケンスについて説明する。
図21は不良カラム検出及び置き換えのシーケンスのフローチャートである。この工程は次の6つの部分からなる。
(1)カラム・リダンダンシ・レジスタ・リセット(Column.R/D Register Reset)
この工程では全ての不良カラムアドレスレジスタをリセットする。また、インデクス用のラッチ回路は全て“0”とする。
この工程では全ての不良カラムアドレスレジスタをリセットする。また、インデクス用のラッチ回路は全て“0”とする。
(2)リダンダンシ領域のカラムチェック(R/D Area Col.Check)
メインのカラム領域の不良を検出する前に、リダンダンシ領域の不良カラムを検出し、不良のあるリダンダンシカラムが選択されないようにする。この工程は図22に示すように4つの工程からなる。
メインのカラム領域の不良を検出する前に、リダンダンシ領域の不良カラムを検出し、不良のあるリダンダンシカラムが選択されないようにする。この工程は図22に示すように4つの工程からなる。
(2−1)オープン・チェック・リード(Open Check Read)
この工程ではビット線のオープン不良を検出するための読み出し(リード)を行なう。そのために全ブロックを非選択状態とし、図18中のBLCUe,BLCUoを共に開けた状態でリードを行なう。ビット線BLがメモリセルアレイ11内で切れていればページバッファPBにはデータ“0”(オフ状態のセルに相当)が読み出され、切れていなければデータ“1”(オン状態のセルに相当)が読み出される。ビット線BLが切れかかって高抵抗になっている状態も検出できるようにするため、読み出し時間は通常動作の読み出し時よりも短めに設定する。このリード動作は偶数番目(even)及び奇数番目(odd)の全てのビット線に対し同時に行なうために、最初に偶数番目のビット線に対して読み出しを行ったら、次に奇数番目のビット線に対して読み出しを行なう。
この工程ではビット線のオープン不良を検出するための読み出し(リード)を行なう。そのために全ブロックを非選択状態とし、図18中のBLCUe,BLCUoを共に開けた状態でリードを行なう。ビット線BLがメモリセルアレイ11内で切れていればページバッファPBにはデータ“0”(オフ状態のセルに相当)が読み出され、切れていなければデータ“1”(オン状態のセルに相当)が読み出される。ビット線BLが切れかかって高抵抗になっている状態も検出できるようにするため、読み出し時間は通常動作の読み出し時よりも短めに設定する。このリード動作は偶数番目(even)及び奇数番目(odd)の全てのビット線に対し同時に行なうために、最初に偶数番目のビット線に対して読み出しを行ったら、次に奇数番目のビット線に対して読み出しを行なう。
(2−2)不良リダンダンシカラムの検出(Bad R/D Col.Detect)
リダンダンシ領域のカラムのうち、オープン不良のカラムを検出して登録する。この操作のフローチャートを図24に示す。まず、カラムリダンダンシ領域に直接アクセスできるようにするコマンドを入力する(ステップS11)。これにより図20の信号RDACが立ち、カラムアドレスの下位3ビットA0−A2でカラムリダンダンシを選択できるようになる。つまり、信号RDACが“H”になることにより、カラムアドレスの下位3ビットA0−A2をデコードするデコーダ97の出力に応じてNAND回路98の出力が決定され、さらにNAND回路99を介してリダンダンシビット信号RDHITiが設定される。
リダンダンシ領域のカラムのうち、オープン不良のカラムを検出して登録する。この操作のフローチャートを図24に示す。まず、カラムリダンダンシ領域に直接アクセスできるようにするコマンドを入力する(ステップS11)。これにより図20の信号RDACが立ち、カラムアドレスの下位3ビットA0−A2でカラムリダンダンシを選択できるようになる。つまり、信号RDACが“H”になることにより、カラムアドレスの下位3ビットA0−A2をデコードするデコーダ97の出力に応じてNAND回路98の出力が決定され、さらにNAND回路99を介してリダンダンシビット信号RDHITiが設定される。
続いて、テストコマンドTRを入力する(ステップS12)。ここで、TR0もしくはTR1は、リダンダンシ領域のページバッファのデータがそれぞれオール“0”、オール“1”になっているかどうかを検出するテストコマンドである。テストコマンドTR0を入力した時のページバッファのデータの期待値(exp−val)は全てオール“0”であり、テストコマンドTR1を入力した時のページバッファのデータの期待値(exp−val)は全てオール“1”である。なお、図24中のフローチャートにおいて、太い矢印は外部からのコマンド入力による遷移を表し、細い矢印はチップ内部の制御回路による自動的な遷移を表す。
コマンドが入力されると、ステップS13においてR/Bn(レディー/ビジー)信号が“L”にされ、図19中のカラムアドレスバッファ17Aとレジスタカウンタ85とがリセットされる。カラムアドレスバッファ17Aは、A0、A1、A2が“0”で残りが全て“1”の状態(“00011…1”)となるようにリセットされる。
次に、選択されたリダンダンシのページバッファのデータが図19中のバッファ回路81を介して判定回路83に転送され、そのデータがオール“1”であるかどうかが判定される(ステップS14)。オール“1”ではないと判定されたら、そのカラムにオープン不良があり、リダンダンシとして使えないことを意味する。
この場合は、次のステップS15において、カラムアドレスバッファ17Aのデータをレジスタカウンタ85により選択されている不良カラムアドレスレジスタ19内の1単位分の回路内のラッチ回路91に格納し、その1単位分の回路内のラッチ回路93のインデクスビット(INDEX)を“1”とする。なお、ここで格納されたアドレス(A0,A1,A2以外が全て“1”)はメモリセル領域には実際には存在しない。従って、通常動作時はカラムアドレスバッファ17Aにいかなるアドレスが入力されても、このカラムリダンダンシと置き換えられることがない。
一方、判定回路83でオール“1”と判定されたら、次のステップS16において、カラムアドレスバッファ17Aとレジスタカウンタ85とが共にインクリメントされ、次のカラムリダンダンシを選択に行く。最後のカラムリダンダンシまで上記操作を繰り返し、ステップS17において最終カラムリダンダンシに到達したことが判定されたらシーケンスが終了する。
(2−3)ショート/リーク・チェック・リード(Short/Leak Check Read)
この工程では、ビット線間のショートやリークに起因した不良を検出するためのリードを行なう。そのために全ブロックを非選択状態としてリードを行なう。マージンを持たせるためリード時間は通常動作時よりも長くする。
この工程では、ビット線間のショートやリークに起因した不良を検出するためのリードを行なう。そのために全ブロックを非選択状態としてリードを行なう。マージンを持たせるためリード時間は通常動作時よりも長くする。
カラムが正常ならばページバッファにデータ“0”が読み出され、ショートやリークがあるとデータ“1”が読み出される。
(2−4)不良リダンダシカラムの検出(Bad R/D col.Detect)
この工程では、リダンダンシ領域のカラムのうち、ショート、リーク不良のカラムを検出して登録する。今度は正常ならばページバッファにデータ“0”が入っているはずなので(期待値exp−val.=All“0”)、TR0コマンドを入力する。シーケンスの内容は先の(2−2)と同様である。
この工程では、リダンダンシ領域のカラムのうち、ショート、リーク不良のカラムを検出して登録する。今度は正常ならばページバッファにデータ“0”が入っているはずなので(期待値exp−val.=All“0”)、TR0コマンドを入力する。シーケンスの内容は先の(2−2)と同様である。
以上の操作が終了したら、ビット線のeven,oddを反転させて(2−1)〜(2−4)と同様の操作を繰り返す。ビット線のevenとoddは専用のアドレスにより指定できる。
(3)[リダンダンシ領域のページバッファに対するデータ入出力チェック(R/D Area P/B Din/Dout Check)]
リダンダンシ領域のページバッファに対しデータロードとデータ読み出しを行ない、ページバッファのロジック回路に不良(stuck−at−fault)が無いことを確かめる。具体的にはまず全ページバッファにデータ“1”をロードする。次いで図22中の(2−2)と同様の操作を行ない不良を検出/登録する。次にデータ“1”をロードし、図22中の(2−4)と同様の操作を行なう。
リダンダンシ領域のページバッファに対しデータロードとデータ読み出しを行ない、ページバッファのロジック回路に不良(stuck−at−fault)が無いことを確かめる。具体的にはまず全ページバッファにデータ“1”をロードする。次いで図22中の(2−2)と同様の操作を行ない不良を検出/登録する。次にデータ“1”をロードし、図22中の(2−4)と同様の操作を行なう。
ここまでの工程で、リダンダンシ領域の不良カラムは全て検出/登録されたことになる。不良と判定されたリダンダンシのレジスタにはINDEXに“1”が立てられている。
(4)[メイン領域のカラムチェック(Main Area Col.Check)]
次にメイン領域のカラム不良を検出し、リダンダンシ置換えをする。まずオープン不良、ショート/リーク不良の検出/置換え(Bad Column Detection & Repair)を行なう。このシーケンスを図23に示す。このうちオープン不良検出リード、ショート/リーク不良検出リードの工程は図24の場合と全く同じである。
次にメイン領域のカラム不良を検出し、リダンダンシ置換えをする。まずオープン不良、ショート/リーク不良の検出/置換え(Bad Column Detection & Repair)を行なう。このシーケンスを図23に示す。このうちオープン不良検出リード、ショート/リーク不良検出リードの工程は図24の場合と全く同じである。
不良の検出/置換え操作のフローチャートを図25に示す。コマンドは、期待値(xxp−val.)“0”の検出をするか“1”の検出をするかに応じてTR0、TR1を入力する(ステップS21)。
次に、ステップS22において、R/Bn=“L”とされ、図19中のカラムアドレスバッファ17Aとレジスタカウンタ85がリセットされる。カラムアドレスバッファ17Aはメイン領域の先頭番地が選択された状態になる。次に、ステップS23において、1バイト毎にページバッファPBのデータを検出する(Byte by Byte comparison)。ページバッファPBのデータが期待値と異なっていたら、ステップS24において、その時点で選択されているレジスタのインデクスビット(INDEX)を見る。INDEX=“0”であれば、ステップS25において、そのレジスタに不良アドレスを格納し、INDEX=“1”とする。
ステップS24において、INDEX=“1”であれば、そのリダンダンシに不良があるかもしくはそのリダンダンシが既に使われていることを意味するので、ステップS26において、レジスタカウンタ85をインクリメントし、次にステップS27において、INDEX=”0”のレジスタを探す。最後までインクリメントしてもINDEX=“0”のレジスタがなかったら、次にステップS28において、ステータス(Status)ラッチに“Fail”のフラグを立てる。ステータスラッチの状態は、テスト終了後、ステータスラッチリードすることにより知ることができる。
一方、ステップS23において、ページバッファPBのデータが期待値と一致していたら、及びステップS25の終了後は、ステップS29において、カラムアドレスをインクリメントし、その後、ステップS30において、リダンダンシ置換えが正常に終了したら(Final Col. Addが検出されたら)、次にステップS31においてステータスラッチに“Pass”のフラグを立てる。
(5)[メイン領域のページバッファに対するデータ入出力チェック(Main Area P/B Din/Dout Check)]
次にメイン領域のページバッファのロジック回路の不良を検出する。不良の検出と置換えは図25のフローチャートに従って行なう。
次にメイン領域のページバッファのロジック回路の不良を検出する。不良の検出と置換えは図25のフローチャートに従って行なう。
(6)[アイソレーションラッチ回路のセット(Isolation Latch Set)]
リダンダンシ置換えが全て終了したら、図19中のアイソレーションラッチ回路82をセットする。まずコマンドを入力して、制御回路84から出力されるアイソレーションラッチリセット信号isolatrstを“H”にする。これにより図19中の全てのページバッファPBが一括検知線LSENLRから切り離された状態になる。次に、制御回路84から出力されるアイソレーションラッチイネーブル信号isolaten信号を“H”にし、この状態で1ページ分のデータをロードする。選択されたカラムはアイソレーションラッチ回路82のデータが反転するので、1ページ分アドレスをスキャンすることによりアイソレーションラッチ回路82のセットが完了する。
リダンダンシ置換えが全て終了したら、図19中のアイソレーションラッチ回路82をセットする。まずコマンドを入力して、制御回路84から出力されるアイソレーションラッチリセット信号isolatrstを“H”にする。これにより図19中の全てのページバッファPBが一括検知線LSENLRから切り離された状態になる。次に、制御回路84から出力されるアイソレーションラッチイネーブル信号isolaten信号を“H”にし、この状態で1ページ分のデータをロードする。選択されたカラムはアイソレーションラッチ回路82のデータが反転するので、1ページ分アドレスをスキャンすることによりアイソレーションラッチ回路82のセットが完了する。
以上で不良カラムの検出及び置き換えの操作が完了する。なお、ここまでメモリプレーンが1つの場合について説明してきたが、プレーンが複数個ある場合にも容易に拡張することができる。
次に図3のフローチャートにおける、(5)正常なメモリブロックのサーチ(Good Block Serch)の工程について説明する。
Vpgmの初期値を決定するための書き込み動作は、書き込み消去のできるブロックで行なう必要がある。そこで、正常なメモリブロックのサーチを行なう。
この工程のシーケンスを図26のフローチャートに示す。まず適当な初期ブロック・アドレスを入力する(Input Initial Block Address)。初期ブロック・アドレスは先頭ブロック・アドレスでなくてもよい。次にブロック消去コマンドを入力し、このブロックを消去する(Block Erase)。
消去動作に引き続いて、消去ベリファイ(一括検知で全て“1”状態になっていることをチェックする)が行なわれ、その結果を図1の中の制御回路25などに設けられている第1のステータスレジスタに格納する。
次に、マニュアルプログラム(Manual Program)コマンドを入力し、選択されているページに対し全て“0”書き込みを行なう。このマニュアルプログラムでは書き込みループ回数を1回とし、Vpgmは最大値もしくはそれに近い値にする。プログラム後はベリファイ動作を行ない、その結果を同じく制御回路25などに設けられている第2のステータスレジスタに格納する(Manual All “0” Program(Vpgm fix))。
続いて、アドレスレジスタコントロールコマンドを入力する(Input Addresse Register Cintrol Command)。これにより、上記第1、第2のステータスレジスタの内容のいずれか1つもしくは両方がフェイル(Fai1)であればブロック・アドレスがインクリメントされる。両方のステータスレジスタの内容がパス(Pass)であればそのアドレスに留まる。
なお、上記のように第1、第2のステータスレジスタのステータス状態を見る代わりに、パス/フェイル結果を累積して記憶するような1つのステータスレジスタを用いて上記操作を行ってもよい。すなわち、直前の消去もしくは書き込みベリファイの結果がパスであればレジスタのデータを変えず、フェイルであればレジスタの状態を強制的に第1の信号状態にするようなステータスレジスタを設け、このレジスタデータがフェイルである場合にブロック・アドレスをインクリメントさせるようにする。最初にこのステータスレジスタをパス状態にしておいてから、消去・書き込みを行なえば、消去もしくは書き込みのいずれかがフェイルのとき、このレジスタはフェイル状態になる。従って、1つのステータスレジスタにより上記と同様の機能を実現することができる。
ブロック消去からアドレスレジスタコントロールコマンド入力までのシーケンスを、所定の回数繰り返す。この結果、シーケンスが終了した時点ではブロック・アドレスのバッファに各々のチップの正常なメモリブロック(Good Block)のアドレスが入っていることになる。この操作はタイマー・トリミングや電圧トリミングの場合と同様、完全並列動作が可能である。アドレスレジスタコントロールコマンドの役割は、タイマー・トリミングや電圧トリミングにおけるレジスタコントロールコマンドの役割に相当している。
次に図3のフローチャートにおける、(6)Vpgm初期値トリミング(Vpgm Initial Value Tlimming)の工程を説明する。
図27は、このVpgm初期値トリミングのシーケンスを示すフローチャートである。
最初に、Vpgmの初期値を格納するレジスタをリセットする(Vpgm ini Register Reset)。このレジスタは、図8に示すレジスタと同様にカウンタの機能を有しており、制御回路からインクリメント信号が発せられるとレジスタ内のデータをインクリメントする。
次に、所望のプログラムループ数を入力し、所定のレジスタに格納する(Program Loop # Input)。この状態で自動プログラム(Auto Program)を実行すると、入力されたループ回数分Vpgmがステップアップされる。プログラム後のパス/フェイル(Pass/Fail)情報は前記第2のステータスレジスタに格納する。
この段階でレジスタコントロールコマンドを入力すると(Input Register Control Command)、プログラムステータスがフェイル(Fail)であればVpgmの初期値のレジスタ値がインクリメントされ、パス(Pass)であればそのレジスタ状態が保持される。従って、この自動プログラムとレジスタコントロールの組を所定回数分繰り返した後は、Vpgmの初期値のレジスタに所望のプログラムループ数で書き込みが終了するようなVpgmの初期値が入力されていることになる。
図28は、上記のシーケンスで書き込み電圧Vpgmがどのように変化していくかを示したものである。ここでは、プログラムループ数は5回に設定されている。第1回目の書き込みシーケンス(Sequence)ではVpgmの初期値は最小の値に設定されている。ここからVpgmの値が4回ステップアップ(Step Up)し、その後ステータスが判定される。ステータスがフェイル(Status Fail)の間はVpgmの初期値がインクリメントされ続け、ステータスがパス(Status Pass)となったらVpgmの初期値はその状態を保つ。従って、所定回数このシーケンスを繰り返した後は、Vpgmの初期値がそのチップに応じた最適値に設定されていることになる。
なお、プログラム時は非選択ワード線電圧Vpassもステップアップする。このVpassの初期値は、Vpgmの初期値に連動して変わるよう設定しておけばよい。
またここでは、Vpgmの初期値の最適化の方法のみを説明したが、必要であれば消去電圧Veraseの初期値も同様の方法で最適化できる。
次に図3のフローチャートにおける、(7)不良メモリブロック検出(Bad Block Detection) Bad Block Detection)の工程を説明する。
NAND型フラッシュメモリではブロック不良に対してはフラグFlag(Bad Block Flag)を立て、リダンダンシ置き換えは行なわない。以下では、不良ブロックを検出してフラグFlagを立てるシーケンスについて説明する。
図29は、図1におけるブロック不良検知系に関係した回路構成を示す。
図29において、101は不良ブロック数カウンタ(Bad Block # Counter)、17Bは前記アドレスバッファ17の一部を構成するロウアドレスバッファ、102は上記ロウアドレスバッファ17Bの出力をデコードするブロックアドレス・プリデコーダ(Blk Address PreDecoder)、PBUSBは配線、103はこの配線の信号を検出する制御回路であり、この制御回路103の出力及びI/Oバス15を経由したカラムゲート回路14の出力が上記不良ブロック数カウンタ101及びロウアドレスバッファ17Bに供給される。
ここで、前記ロウデコーダ12にはメモリセルアレイ11内のメモリブロックに対応した数の部分デコーダ回路104が設けられている。上記各部分デコーダ回路104はそれぞれ、上記ブロックアドレス・プリデコーダ102の出力をデコードするデコード回路(Dec.)105と、このデコード回路105の出力をレベル変換して対応するメモリセルブロックに供給するレベルシフト回路(L/S)106と、不良ブロックフラグレジスタ(Bad Block Flag Register)107と、この不良ブロックフラグレジスタ107を上記デコード回路105の出力及びフラグレジスタセット信号FRSETに基づいてセットするための直列接続された2個のNチャネルMOSトランジスタからなるセット回路108と、不良ブロックフラグレジスタ107の内容を上記デコード回路105の出力及びレジスタセンス信号BLKSENSに基づいて上記配線PBUSBに読み出すための直列接続された3個のNチャネルMOSトランジスタからなる読み出し回路109からなる。
また、図30は不良ブロック検出(Bad Block Detection)のシーケンスである。なお、図30において、オール“1”読みチェック(Read All“1”Check)は全てのメモリセルから“1”データを読み出してチェックし、チェッカーパターン(Checker Pattern)読みチェック(Read“C”Check)は“1”データと“0”データが格子状に配列されたデータを読み出してチェックし、さらに反転チェッカーパターン読みチェック(Read“/C”Check)は“1”データと“0”データがチェッカーパターンに対して相補関係にあるチェッカーパターンを読み出してチェックすることを意味する。
なお、この検出テストを行なう段階ではすでにカラムリダンダンシは置き換え済みであり、また書き込み消去電圧の最適化も完了している。従って、この時点で読み出しデータに不良があったら、それはブロック不良と見なす。この場合、たとえ単体セルに起因した不良であってもブロック不良と見なす。
以下、シーケンスの動作を順に説明する。
(1)不良ブロックフラグレジスタのリセット(Bad Block Flag Reset)
全ての不良ブロックフラグレジスタ107をリセットする。
全ての不良ブロックフラグレジスタ107をリセットする。
(2)チップ消去(Chip Erase)
ここでは全セルのデータを消去する。このチップ消去動作はブロック消去を全ブロック分繰り返すことにより行なう。
ここでは全セルのデータを消去する。このチップ消去動作はブロック消去を全ブロック分繰り返すことにより行なう。
(3)“1”データの読み出しチェック(Read All“1” Check)
セルデータが消去状態(“1”)であることをチェックする。まず先頭ブロックのアドレスを指定し、図31の手順で検出する。先頭ページを読み、一括検知動作を行なう。一括検知でAll“1”でないと判定されたらステータスレジスタにフェイル(Fail)のフラグが立てられる。ついでフラグセットコマンド(Flag Set Command)を入力する。これによりステータスがフェイルであれば、該当ブロックに対応した不良ブロックフラグレジスタ107にフラグが立てられる。このフラグは図29中の信号FRSETを“H”にすることでセットされる。この操作を偶数ページ(Even Page)及び奇数ページ(Odd Page)について繰り返したのち、ページアドレス(Page Address)をインクリメントさせる。セルアレイの最後のページまで達したら終了する。
セルデータが消去状態(“1”)であることをチェックする。まず先頭ブロックのアドレスを指定し、図31の手順で検出する。先頭ページを読み、一括検知動作を行なう。一括検知でAll“1”でないと判定されたらステータスレジスタにフェイル(Fail)のフラグが立てられる。ついでフラグセットコマンド(Flag Set Command)を入力する。これによりステータスがフェイルであれば、該当ブロックに対応した不良ブロックフラグレジスタ107にフラグが立てられる。このフラグは図29中の信号FRSETを“H”にすることでセットされる。この操作を偶数ページ(Even Page)及び奇数ページ(Odd Page)について繰り返したのち、ページアドレス(Page Address)をインクリメントさせる。セルアレイの最後のページまで達したら終了する。
(4)物理チェッカーパターンプログラム(Phys. “C” Program)
全メモリセルに対して物理チェッカーパターンを書き込む。
全メモリセルに対して物理チェッカーパターンを書き込む。
(5)物理チェッカーパターンの読み出しチェック(Read All“C”Check)
図32に示した手順に従ってチェッカーパターンを読み、不良が検出されたらそのブロックに対応した不良ブロックフラグレジスタ107にフラグを立てる。この操作は読み出しパターンが異なる以外は上記(3)の場合と同じである。なお、物理チェッカーパターンでは偶数番目(Even)及び奇数番目(Odd)のビット線に交互に“1”、“0”のデータが書かれるので、例えば偶数番目のページ(Even Page)を読み出すときは全てが“1”か“0”かのデータが読み出されることになる。従って、一括検知動作を活用してチェッカーパターンの検証を行なうことができる。
図32に示した手順に従ってチェッカーパターンを読み、不良が検出されたらそのブロックに対応した不良ブロックフラグレジスタ107にフラグを立てる。この操作は読み出しパターンが異なる以外は上記(3)の場合と同じである。なお、物理チェッカーパターンでは偶数番目(Even)及び奇数番目(Odd)のビット線に交互に“1”、“0”のデータが書かれるので、例えば偶数番目のページ(Even Page)を読み出すときは全てが“1”か“0”かのデータが読み出されることになる。従って、一括検知動作を活用してチェッカーパターンの検証を行なうことができる。
(6)チップ消去(Chip Erase)
先の(2)の場合と同様に全セルのデータを消去し、(4)で書いたパターンを消去する。
先の(2)の場合と同様に全セルのデータを消去し、(4)で書いたパターンを消去する。
(7)物理チェッカーパターン(“/C”)プログラム(Phys. “/C” Program)
全メモリセルに物理チェッカーパターン“/C”を書き込む。
全メモリセルに物理チェッカーパターン“/C”を書き込む。
(8)物理チェッカーパターンの読み出しチェック(Read All“/C”)
(5)の場合と同様の方法で“/C”を読み、不良が検出されたらそのブロックに対応した不良ブロックフラグレジスタ107にフラグを立てる。
(5)の場合と同様の方法で“/C”を読み、不良が検出されたらそのブロックに対応した不良ブロックフラグレジスタ107にフラグを立てる。
なお、不良ブロック数の上限は仕様で決まっている。そこで、不良ブロック検出(Bad Block Detection)のシーケンスで検出された不良の数が仕様で定められた値に収まっているかどうかを調べるため、図33の不良ブロックのフラグ数カウント(Bad Block Flag # Count)のシーケンスを走らせる。選択されたブロックに対応した不良ブロックフラグレジスタ107にフラグが立っているかどうかは、図29中の配線PBUSBを制御回路103により予めプリチャージしておき、レジスタセンス信号BLKSENSを“H”にして配線PBUSBが放電されるかどうかを制御回路103により検出すればよい。
次に図3のフローチャートにおける、(8)オプション・セット(Option Set)の工程について説明する。
これまでの操作で、メモリセルアレイ11の初期設定データ領域に格納するデータのうち、各種トリミングやセルアレイ部の不良に関する情報は確定したことになる。初期設定データ領域にはこの他、チップのオプション(Option)に関する情報、例えばチップを多値品として使うか2値品として使うかなどの情報が書き込まれる。こうした情報は、この時点でテスタから各チップに入力する。入力されたデータは所定のレジスタに格納される。
次に図3のフローチャートにおける、(9)ROMフューズ・プログラム(ROM−Fuse Program)の工程について説明する。
ここでは、各レジスタに格納されているデータを順次ページバッファに転送し、次いで初期設定データ領域に書き込む。書き込みが終了したら電源を一旦切り、再度電源を投入する。チップ内ではパワーオンを検知して初期設定データ領域からデータが読み出され、各レジスタに順次データが転送される。これにより各種トリミングやセルアレイ部の不良に関する情報が以降のチップ動作に反映される。必要ならば、これを検証するために各種電圧、タイマーをモニタしたり、メモリセルヘの書き込み/消去/読み出し動作を行なう。
次にこの発明の第2の実施の形態について説明する。
以上のテスト工程のうち、タイマー・トリミング、電圧トリミング、Vpgmの初期値トリミング、正常なメモリブロックのサーチ,不良ブロックの検出については全て同様の構造をもったテストを行なっている。すなわち、まず第1のコマンドを入力してテストを実施し、そのパス/フェイル情報をステータスもしくはフラグとして出力する。次に第2のコマンドを入力すると、前記のパス/フェイル情報に応じて異なったアクションがなされる。この第1のコマンド、第2のコマンドの組を所定の回数だけ繰り返すことにより、チップ毎の特性に応じた情報が取得できる。
この方法は複数のチップに対しコマンドを与えるだけで実施できるので、完全な並列テストが可能となり、テスト時間が短縮できる。またテスタ側のメモリが不要であり、テスタ内のCPUが取得したデータに対する演算を行なう必要もないので、高性能テスタも不要となる。
ただし、上述のタイマー・トリミングもしくは電圧トリミングの場合、Nビットのレジスタのトリミング値を決定するのに2N回のテストを繰り返す必要がある。従って、Nが大きい場合はテスト時間が長くなる。
このような場合、次に述べる方法を採用すればテスト時間を短縮できる。
図34はN=3の場合にこの方法でレジスタデータがどのように推移するかを示したものである。以下、タイマー・トリミングの場合を例にして説明する。
まずレジスタを(TTMR2,TTMR1,TTMR0)=(1,0,0)として、先のTint、Textを比較するテストを行ない、パス(Tint>Text)、フェイル(Tint<Text)の結果に応じて第3ビット目のTTMR2をそれぞれ“1”、“0”に確定する。
次に、残り2ビットを(TTMR1,TTMR0)=(1,0)として第2回目のテストを行ない、第2ビット目を確定する。このようにして、図34に示すように、3回のテストで順次第3ビット目、第2ビット目、第1ビット目を確定していく。
このようなテスト方法を採用すれば、Nビットのレジスタのトリミング値を決定するのにN回のテストで済み、テスト時間が短縮できる。
なお、この発明は、上記各実施の形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。
以上説明したように、この発明の不揮発性半導体メモリ及びそのテスト方法を採用すれば、完全な並列テストが可能となり、不揮発性半導体メモリのテスト時間を短縮させることができる。またテスタ側のメモリが不要であり、テスタ側のCPUが取得したデータに対する演算を行なう必要もないので、高性能テスタも不要となり、テストコストの削減ができる。また、この発明のテスト方法は、比較的小規模の回路を導入するだけで実現できるので、このテスト方法の採用によりチップ面積が大幅に増大することはない。
一般に、ウェハ・テストのシーケンスは、製品の素性に応じて最適化される。いわゆるBIST(Built In Self Test)の場合、テスト工程が予め回路に組み込まれているので、製品の素性に応じてテストシーケンスを変更することが困難である。しかし、この発明のテスト方法では、各々のテスト項目がコマンド入力により起動されるようになっているので、フレキシビリティのあるテストシーケンスを構築できる。例えば、タイマー回路におけるばらつきが少ない場合は、タイマー・トリミングのテスト工程25をシーケンスから削除すればよい。またカラム不良やブロック不良に関しては、不良アドレスを追加登録することができるので、例えばバーンイン試験を行なった後で判明した不良をも救済できる。
このように、この発明の不揮発性半導体メモリ及びテスト方法を採用すれば、テストシーケンスのフレキシビリティを保ちつつ、テストコストを削減することが可能となる。
11…メモリセルアレイ(Memory Cell Array)、12…ロウデコーダ(Row Decoder)、13…ページバッファ(Page Buffer)、14…カラムゲート回路(Column Gate)、15…I/Oバス(I/O Bus)、16…I/Oバッファ(I/O Buffer)、17…アドレスバッファ(Address Buffer)、17A…カラムアドレスバッファ(Column Address Buffer)、17B…ロウアドレスバッファ(Row Address Buffer)、18…コマンドバッファ(Command Buffer)、19…不良カラムアドレスレジスタ(Bad Column Address Register)、20…内部電圧生成回路(Voltage Generators)、21…トリミングデータレジスタ(Trim。 Data Register)、22…タイマー回路(Timer)、22A…タイマー信号生成回路、22B…基準クロック生成回路、23…トリミングデータレジスタ(Trim. Data Register)、24…I/O制御回路(I/O Control)、25…制御回路(Control Logic)、31…パッド(Pad)、32…ANDゲート、33…フリップフロップ、34…トリミングデータレジスタ制御回路(Control)、35A、35B…基準遅延生成回路、41…差動増幅器、45…フリップフロップ、50…D型フリップフロップ(DFF)、51…ラッチ回路(INDEX latch)、52、53…クロックドインバータ、61…パッド(Monitor PAD)、62…可変抵抗回路、64…バンドギャップ型定電圧生成回路(BGR Circuit)、65…比較器、66…フラグ生成回路、67…スイッチ回路、68…制御回路(control)、71…昇圧回路(Vread Charge Pump)、72…パッド(Monitor PAD)、73…可変抵抗回路、75…比較器、81…バッファ回路(Buffer)、82…アイソレーションラッチ回路(Isolation Latch)、83…判定回路(Decision Circuit)、84…制御回路(Control)、85…レジスタカウンタ(Register Counter)、91、93…ラッチ回路、92…EX−OR回路(排他的論理和回路)、101…不良ブロック数カウンタ(Bad Block # Counter)、102…ブロックアドレス・プリデコーダ(Blk Address Buffer)、103…制御回路、104…部分デコーダ回路、105…デコード回路、106…レベルシフト回路(L/S)、107…不良ブロックフラグレジスタ(Bad Block Flag Register)、108…セット回路、109…読み出し回路、R…可変抵抗回路、PBUSB…配線。
Claims (4)
- メモリセルがカラム、ロウ方向にマトリクス状に配列されてカラム領域、ロウ領域を有するメモリセルアレイと、上記メモリセルアレイ内の不良カラムと置き換えるためのM個のカラムリダンタンシからなるカラムリダンタンシ領域と、上記カラムリダンタンシと置き換えるべきカラムアドレスを記憶するM個のレジスタと、センスアンプとを有する不揮発性半導体メモリにおいて、
上記M個のレジスタの各々には対応するカラムリダンダンシが使用可能であるか否かに応じてそれぞれ第1または第2の信号状態になるラッチが含まれ、
さらに、上記M個のレジスタを順に選択するカウンタと、
上記センスアンプから出力される選択カラムのデータが、与えられた期待値と一致しているかどうかに応じてパス、フェイル信号を出力する判定回路と、
上記メモリセルアレイ内の不良カラムを検出する際は、カラムアドレス並びに上記カウンタを先頭番地に設定した状態から開始し、上記判定回路の出力がパスであれば上記カラムアドレスをインクリメントさせ、上記判定回路の出力がフェイルでありかつ上記カウンタにより選択されたレジスタのラッチが第1の信号状態である場合は上記カラムアドレスを上記レジスタに格納した後、カラムアドレス並びにカウンタをインクリメントさせ、上記判定回路の出力がフェイルでありかつ上記カウンタにより選択されたレジスタのラッチが第2の信号状態である場合はラッチが第1の信号状態にあるレジスタに到達するまでカウンタをインクリメントさせた後、上記カラムアドレスをレジスタに格納し、ついでカラムアドレス並びにカウンタをインクリメントさせ、以上の操作を最終カラムアドレスに到達するまで行なわせる制御回路
とが設けられていることを特徴とする不揮発性半導体メモリ。 - 前記制御回路は、
メモリセルアレイ内のカラムの不良を検出する操作の前に前記カラムリダンダンシ領域の不良検出の操作を行ない、
不良が検出されたカラムリダンダンシについては対応するレジスタの前記ラッチを第2の信号状態とし、かつレジスタにメモリセルアレイのカラム領域が選択されないようなカラムアドレスを設定することを特徴とする請求項1記載の不揮発性半導体メモリ。 - メモリセルがカラム、ロウ方向にマトリクス状に配列されてカラム領域、ロウ領域を有するメモリセルアレイと、上記メモリセルアレイ内の不良カラムと置き換えるためのM個のカラムリダンタンシからなるカラムリダンタンシ領域と、上記カラムリダンタンシと置き換えるべきカラムアドレスを記憶するM個のレジスタと、センスアンプとを有する不揮発性半導体メモリにおいて、
上記M個のレジスタの各々には対応するカラムリダンダンシが使用可能であるか否かに応じてそれぞれ第1または第2の信号状態になるラッチが含まれ、
さらに、上記M個のレジスタを順に選択するカウンタと、
上記センスアンプから出力される選択カラムのデータが、与えられた期待値と一致しているかどうかに応じてパス、フェイル信号を出力する判定回路とを有し、
上記メモリセルアレイ内の不良カラムを検出する際は、カラムアドレス並びに上記カウンタを先頭番地に設定した状態から開始し、
上記判定回路の出力がパスであれば上記カラムアドレスをインクリメントさせ、上記判定回路の出力がフェイルでありかつ上記カウンタにより選択されたレジスタのラッチが第1の信号状態である場合は上記カラムアドレスを上記レジスタに格納した後、カラムアドレス並びにカウンタをインクリメントさせ、
上記判定回路の出力がフェイルでありかつ上記カウンタにより選択されたレジスタのラッチが第2の信号状態である場合はラッチが第1の信号状態にあるレジスタに到達するまでカウンタをインクリメントさせた後、上記カラムアドレスをレジスタに格納し、ついでカラムアドレス並びにカウンタをインクリメントさせ、
以上の操作を最終カラムアドレスに到達するまで行なうことを特徴とする不揮発性半導体メモリにおける不良カラムの検出及び置き換え方法。 - 前記メモリセルアレイ内のカラムの不良を検出する操作の前に前記カラムリダンダンシ領域の不良検出の操作を行ない、
不良が検出されたカラムリダンダンシについては対応するレジスタの前記ラッチを第2の信号状態とし、かつレジスタにメモリセルアレイのカラム領域が選択されないようなカラムアドレスを設定することを特徴とする請求項3記載の不揮発性半導体メモリにおける不良カラムの検出及び置き換え方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007246036A JP2008004264A (ja) | 2007-09-21 | 2007-09-21 | 不揮発性半導体メモリ及び不揮発性半導体メモリにおける不良カラムの検出及び置き換え方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007246036A JP2008004264A (ja) | 2007-09-21 | 2007-09-21 | 不揮発性半導体メモリ及び不揮発性半導体メモリにおける不良カラムの検出及び置き換え方法 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000303854A Division JP4413406B2 (ja) | 2000-10-03 | 2000-10-03 | 不揮発性半導体メモリ及びそのテスト方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008004264A true JP2008004264A (ja) | 2008-01-10 |
Family
ID=39008500
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007246036A Pending JP2008004264A (ja) | 2007-09-21 | 2007-09-21 | 不揮発性半導体メモリ及び不揮発性半導体メモリにおける不良カラムの検出及び置き換え方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2008004264A (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8407406B2 (en) | 2009-12-25 | 2013-03-26 | Kabushiki Kaisha Toshiba | Semiconductor memory device and method of testing the same |
JP2013065378A (ja) * | 2011-09-16 | 2013-04-11 | Toshiba Corp | 不揮発性半導体記憶装置 |
JP2014126947A (ja) * | 2012-12-25 | 2014-07-07 | Toshiba Corp | 半導体装置 |
KR101829861B1 (ko) * | 2016-02-09 | 2018-02-19 | 윈본드 일렉트로닉스 코포레이션 | 반도체 메모리 장치, 그 소거 방법 및 프로그램 방법 |
CN115389912A (zh) * | 2022-08-26 | 2022-11-25 | 无锡众享科技有限公司 | 一种otp mcu芯片检测装置及检测方法 |
-
2007
- 2007-09-21 JP JP2007246036A patent/JP2008004264A/ja active Pending
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8407406B2 (en) | 2009-12-25 | 2013-03-26 | Kabushiki Kaisha Toshiba | Semiconductor memory device and method of testing the same |
JP2013065378A (ja) * | 2011-09-16 | 2013-04-11 | Toshiba Corp | 不揮発性半導体記憶装置 |
JP2014126947A (ja) * | 2012-12-25 | 2014-07-07 | Toshiba Corp | 半導体装置 |
KR101829861B1 (ko) * | 2016-02-09 | 2018-02-19 | 윈본드 일렉트로닉스 코포레이션 | 반도체 메모리 장치, 그 소거 방법 및 프로그램 방법 |
TWI625727B (zh) * | 2016-02-09 | 2018-06-01 | 華邦電子股份有限公司 | 半導體儲存裝置、其抹除方法及編程方法 |
US10026482B2 (en) | 2016-02-09 | 2018-07-17 | Winbond Electronics Corp. | Semiconductor memory device, erasing method and programing method thereof |
CN115389912A (zh) * | 2022-08-26 | 2022-11-25 | 无锡众享科技有限公司 | 一种otp mcu芯片检测装置及检测方法 |
CN115389912B (zh) * | 2022-08-26 | 2023-08-29 | 无锡众享科技有限公司 | 一种otp mcu芯片检测装置及检测方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4413406B2 (ja) | 不揮発性半導体メモリ及びそのテスト方法 | |
KR100500346B1 (ko) | 불휘발성 반도체 메모리 및 그 테스트 방법 | |
US8730722B2 (en) | Saving of data in cases of word-line to word-line short in memory arrays | |
US6992937B2 (en) | Column redundancy for digital multilevel nonvolatile memory | |
US7126851B2 (en) | Method of transferring initially-setting data in a non-volatile semiconductor memory | |
US7831872B2 (en) | Test circuit and method for multilevel cell flash memory | |
US9810723B2 (en) | Charge pump based over-sampling ADC for current detection | |
US20120008410A1 (en) | Detection of Word-Line Leakage in Memory Arrays: Current Based Approach | |
US4879689A (en) | Nonvolatile semiconductor memory device | |
US8289778B2 (en) | Data processing device and method of reading trimming data | |
US6473344B2 (en) | Semiconductor memory device capable of outputting a wordline voltage via an external pin | |
JP4387547B2 (ja) | 不揮発性半導体メモリ | |
JP4439539B2 (ja) | 不揮発性半導体メモリ及びそのテスト方法 | |
JP2008004264A (ja) | 不揮発性半導体メモリ及び不揮発性半導体メモリにおける不良カラムの検出及び置き換え方法 | |
US6992934B1 (en) | Read bitline inhibit method and apparatus for voltage mode sensing | |
JP2013127827A (ja) | 不揮発性半導体記憶装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20091027 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20100302 |