(57)【要約】【課題】テスト時間の短縮とテストコストの削減が図れ、低コスト化できる半導体装置及びそのテスト方法を提供することを目的としている。【解決手段】メモリセルアレイ１９中の各メモリセルから読み出したデータと期待値とを比較器２５で比較し、プログラム検証とイレーズ検証を行ってメモリセルの良否を判定する。この比較器による比較結果に基づいて、検出した不良セルをスペアセルに置き換えて救済する。不良セルをスペアセルに置き換える毎に、不良セルの情報をレジスタ６２，６３に記憶し、この情報に基づいて不良セルの有無及び救済の可否を判定し、救済可能なときに制御回路１１による制御を実行させて、検出した不良セルを前記スペアセルに置き換えて救済し、救済不可能なときに不良救済を停止させる。【選択図】      図３
2005332436.tif 000002
【特許請求の範囲】
【請求項１】
メモリセルがマトリックス状に配置されたメインメモリセルアレイと、
前記メインメモリセルアレイ中の不良セルを置き換えるためのスペアセルと、
前記メインメモリセルアレイ中の各メモリセルから読み出したデータと期待値とを比較し、前記メモリセルの良否を判定する比較器と、
前記比較器による比較結果に基づいて検出した不良セルを、前記スペアセルに置き換えて救済するための制御を行う制御回路と、
前記不良セルの情報を記憶するレジスタと、
前記レジスタに記憶した情報に基づいて不良セルの有無及び救済の可否を判定し、救済可能なときに前記制御回路による制御を実行させて、検出した不良セルを前記スペアセルに置き換えて救済し、救済不可能なときにフラグを立てて不良救済を停止させる判定回路と
を具備することを特徴とする半導体装置。
【請求項２】
前記判定回路は、前記レジスタに記憶した不良セルの情報に基づいて不良セルの有無を判定する第１の回路部と、前記不良セルの前記スペアセルへの置き換えが予め設定された数を超えたか否かに応じて救済の可否を判定する第２の回路部とを備えることを特徴とする請求項１に記載の半導体装置。
【請求項３】
前記判定回路は、前記不良セルの前記スペアセルへの置き換えが予め設定された数を超えた時点で、全てのメモリセルの良否を判定する前に前記フラグを立てて不良救済を停止させることを特徴とする請求項１又は２に記載の半導体装置。
【請求項４】
メモリセルのプログラム検証及びイレーズ検証の少なくとも一方を実行する第１のステップと、
前記メモリセルが前記検証によって良品セルと判定されると、次のアドレスのメモリセルの検証を実行する第２のステップと、
前記メモリセルが前記検証によって不良セルと判定されると、前記不良セルの情報をレジスタに蓄積する第３のステップと、
前記第３のステップで、前記レジスタに蓄積した不良セルの情報に基づいて救済の可否を判定し、救済不可と判定されたときにフラグを立てて動作を停止し、救済可能と判定されたときに次のアドレスのメモリセルの検証を実行する第４のステップと、
前記不良セルの情報に基づいてメインメモリセルアレイ中の不良セルをスペアセルに置き換えて救済する第５のステップと
を具備することを特徴とする半導体装置のテスト方法。
【請求項５】
前記レジスタに記憶された前記不良セルの情報を外部に出力することを特徴とする請求項４に記載の半導体装置のテスト方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、半導体装置及びそのテスト方法に関し、例えばリダンダンシ回路が搭載されたメモリやメモリ混載のマイクロコンピュータのテストに適用されるものである。
【背景技術】
【０００２】
半導体装置の高集積化に伴って、より進んだ微細加工技術を駆使して製造が行われ、製造工程での塵やゴミの存在あるいはプロセスの揺らぎ等に対して、製品としての良品率、すなわち歩留まりが敏感に依存するようになってきている。この結果、高集積化された半導体装置、例えばメモリでは、全てが完璧であるような完全良品の割合は当然少なくなる。このため、本来必要な容量のメモリセルに加えて、リダンダンシ用のスペアセルを設け、不良が発生したメモリセルをこのスペアセルに置換して救済する技術により歩留まりを向上させることが必須になっている（例えば特許文献１参照）。
【０００３】
しかしながら、リダンダンシ回路を搭載したメモリやメモリ混載のマイクロコンピュータにあっては、製品単価の中でテストのためのコストが大きなウェートを占めてしまう。この理由は、本来のメモリセルに対して機能や信頼性を調べるテストに要する時間のみならず、不良セル救済用のリダンダンシ回路を含む全記憶領域の機能を調べるファンクションテストと、不良セルの救済処置の良否を調べるテストが必要になるためである。
【０００４】
通常、メモリの製造工程が終了すると、初期段階でファンクションテストを行い、不良セルが存在する場合にはリダンダンシ回路で不良セルを救済してから次のテスト工程へと進む。この初期段階のファンクションテストは、例えば次のような手順に従って行われる。
【０００５】
まず、製造工程が終了したウェーハ中の各チップに対して、高温で書き込みと読み出し（Write/Read）、並びに消去と読み出し（Erase/Read）を行い、メモリテスタでフェールビットマップを作成する。このフェールビットマップに基づいて不良セルの有無を判断し、不良セルが存在しない場合には良品と判断して正常に終了する。一方、不良セルが存在すると、上記フェールビットマップに基づいて救済の可否を判定する。この段階で救済が不可能と判定されると、不良チップであると判断してテストを終了する。救済可能と判定された場合には、上記フェールビットマップに記憶したアドレスの不良セルをスペアセルに置き換えて不良救済を行う。そして、再びファンクションテストを行い、置き換えたスペアセルが正常に機能しているか否かを調べる。
【０００６】
この再ファンクションテストでは、上記と同様に高温で書き込みと読み出し、並びに消去と読み出しを行い、メモリテスタでフェールビットマップを作成する。このフェールビットマップに基づいて不良セルの有無を判断し、不良セルが存在しない場合には良品と判断して正常に終了する。まだ不良セルが存在すると、フェールビットマップに基づいて救済の可否を判定する。ここで救済が不可能と判定されると不良チップと判断してテストを終了し、救済可能と判定されると上記フェールビットマップに記憶したアドレスの不良セルをスペアセルに置き換えて不良救済を行う。そして、再度ファンクションテストを行う。
【０００７】
このような動作を、全アドレスのメモリセルに対して、スペアセルが残っている限り繰り返すことにより、チップの良否を判定するとともに、不良セルをスペアセルに置き換えて救済することができる。
【０００８】
ここで問題となるのは、メモリのファンクションテスト及びリダンダンシ置き換え時間である。このテストでは、メモリテスタを使用してフェールビットマップを作成し、このフェールビットマップに基づいてファンクションテストとリダンダンシ置き換えを行うため、下記（１）乃至（４）のような問題が生ずる。
【０００９】
（１）  メモリテスタを用いてフェールビットマップを作成するために、メモリテスタからメモリ（チップ）にデータを書き込み、チップからメモリテスタにデータを読み出さなければならず、チップとテスタ間のデータ転送に時間が掛かってしまう。特に、大容量のメモリではテスタから大量のデータを転送して書き込み、大量のデータを読み出してテスタに転送しなければならず、データ転送に長い時間が必要になる。
【００１０】
（２）  メモリでは、チップの仕様によりアドレス幅や一度に読み出し／書き込み（Read/Write）できるデータ幅が決定されているため、入出力できるデータ量に制約が生ずる。例えば、外部入出力が８ビットのチップで、３２ビットのデータを入出力するためには、４回に分割して読み出しや書き込みを行わなければならない。このため、データの読み出しや書き込み時間が長くなる。
【００１１】
（３）  フェールビットマップを作成するために、高価なメモリテスタが必要になったり、複雑な処理が必要になったりする。
【００１２】
（４）  メモリテスタで作成したフェールビットマップからリダンダンシ置き換えを行う不良セルのアドレスを認識するための専用プログラムが必要になる。
【００１３】
上述したように、従来の半導体装置及びそのテスト方法は、テスト時間が長くなりテストコストが上がってしまうという問題があった。テストコストの上昇は、半導体装置の価格に反映されるため製品単価の上昇を招く。
【特許文献１】特開２０００−５７７９５
【発明の開示】
【発明が解決しようとする課題】
【００１４】
この発明の目的とするところは、テスト時間の短縮とテストコストの削減が図れ、低コスト化できる半導体装置及びそのテスト方法を提供することにある。
【課題を解決するための手段】
【００１５】
この発明の一態様によると、メモリセルがマトリックス状に配置されたメインメモリセルアレイと、前記メインメモリセルアレイ中の不良セルを置き換えるためのスペアセルと、前記メインメモリセルアレイ中の各メモリセルから読み出したデータと期待値とを比較し、前記メモリセルの良否を判定する比較器と、前記比較器による比較結果に基づいて検出した不良セルを、前記スペアセルに置き換えて救済するための制御を行う制御回路と、前記不良セルの情報を記憶するレジスタと、前記レジスタに記憶した情報に基づいて不良セルの有無及び救済の可否を判定し、救済可能なときに前記制御回路による制御を実行させて、検出した不良セルを前記スペアセルに置き換えて救済し、救済不可能なときにフラグを立てて不良救済を停止させる判定回路とを具備する半導体装置が提供される。
【００１６】
また、この発明の一態様によると、メモリセルのプログラム検証及びイレーズ検証の少なくとも一方を実行する第１のステップと、前記メモリセルが前記検証によって良品セルと判定されると、次のアドレスのメモリセルの検証を実行する第２のステップと、前記メモリセルが前記検証によって不良セルと判定されると、前記不良セルの情報をレジスタに蓄積する第３のステップと、前記第３のステップで、前記レジスタに蓄積した不良セルの情報に基づいて救済の可否を判定し、救済不可と判定されたときにフラグを立てて動作を停止し、救済可能と判定されたときに次のアドレスのメモリセルの検証を実行する第４のステップと、前記不良セルの情報に基づいてメインメモリセルアレイ中の不良セルをスペアセルに置き換えて救済する第５のステップとを具備する半導体装置のテスト方法が提供される。
【発明の効果】
【００１７】
この発明によれば、テスト時間の短縮とテストコストの削減が図れ、低コスト化できる半導体装置及びそのテスト方法が得られる。
【発明を実施するための最良の形態】
【００１８】
以下、この発明の実施の形態について図面を参照して説明する。  
図１は、この発明の実施形態に係る半導体装置及びそのテスト方法について説明するためのもので、テストの概念を示す模式図である。このテストは、製造工程が終了した後のウェーハ段階で行われる。テスタ側から各チップ中に設けたリダンダンシ（ＲＤ）置換システムにコマンドＣＭＤを発行し、各々のチップからそのチップの良否を示すフラグＦＬＧを読み込んで確認することにより、チップの良否の判定を行う。
【００１９】
すなわち、従来はテスタ内で行っていた救済の可否の判定をチップ内で行い、テスタでは単に各々のチップからそのチップの良否を示すフラグＦＬＧを読み出してチップの良否を判定する。これによって、テスタ内でフェールビットマップを作成する必要はなく、フェールビットマップに基づいてチップの良否を判定することに起因する種々の問題を解決でき、テスト時間の短縮とテストコストの削減が図れる。また、テストコストの削減により半導体装置の製品単価も低減できる。
【００２０】
図２は、上記図１に示したような構成並びにテストを実現するためのチップ内の動作を示すフローチャートである。チップにＲＤ置換システムをアクセスするコマンドＣＭＤが入力されると（ＳＴＥＰ１）、プログラム検証が行われる。プログラム検証は、メモリセルアレイ中に一括してデータのプログラム（Program一括）を行った後（ＳＴＥＰ２）、プログラムベリファイリード（Program_Verify_READ）を行うことにより実施される（ＳＴＥＰ３）。これによって、メモリセルアレイ中の各々のメモリセルに正常にプログラムできたか否かの確認を行う。ここで、不良セルが検出された場合（期待値と不一致）には、検出された不良セルの情報、例えば不良アドレスをチップ中に設けたレジスタに蓄積する（ＳＴＥＰ６）。
【００２１】
続いて、イレーズ検証を行う。イレーズ検証は、メモリセルアレイ中の各々のメモリセルに対してイレーズ（Chip Erase）を行った後（ＳＴＥＰ４）、イレーズベリファイリード（Erase_Verify_READ）を行うことにより実施される（ＳＴＥＰ５）。これによって、正常にイレーズできたか否かの確認を行う。ここで、不良セルが検出された場合（期待値と不一致）には、検出された不良セルの情報を上記レジスタに蓄積する（ＳＴＥＰ６）。このレジスタは、例えばフラッシュメモリ（Flash Memory）の場合には、メモリセルアレイと同様にフラッシュセルを用いて構成すると良いが、フューズ回路等でも実現できる。
【００２２】
メモリセルアレイの全アドレスに対するプログラム検証とイレーズ検証が終了すると、上記レジスタに蓄積した不良セルの情報に基づいて不良セルの有無を判定する（ＳＴＥＰ７）。そして、不良セルが無かった場合は正常終了となり、不良セルが有った場合はリダンダンシ置換システム（リダンダンシ回路）で救済可能か否かを判断する（ＳＴＥＰ８）。リダンダンシ回路で救済できなければ不良チップとなる。救済可能であれば、リダンダンシ置き換え（ＲＤ置換(Program)）の処理を行う（ＳＴＥＰ９）。このリダンダンシ置き換え終了後、ＳＴＥＰ２に戻ってプログラム検証とイレーズ検証を行い、不良セルが正常なスペアセルに置き換わっていることを確認する。このようにして、上記レジスタに不良セルの情報を蓄積しつつ不良セルをスペアセルに置き換える。そして、上記ＳＴＥＰ７，８の判定結果をチップ内に設けた記憶領域にフラグＦＬＧとして記憶する。
【００２３】
このような構成並びにテスト方法によれば、救済の可否の判断をチップ内で行うので、テスタ側では単にフラグＦＬＧを読み出すことによりチップの良否を判定できる。これによって、テスタでフェールビットマップを作成することに起因する種々の問題を解決でき、テスト時間の短縮とテストコストの削減が図れる。
【００２４】
次に、上述したような動作を実現するための半導体装置の具体的な構成例とそのテスト動作について、フラッシュメモリを例に取って第１乃至第３の実施形態により詳しく説明する。
【００２５】
［第１の実施形態］
図３は、この発明の第１の実施形態に係る半導体装置について説明するためのもので、リダンダンシに関係する回路（リダンダンシ置換システム）を抽出して概略構成を示すブロック図である。ここでは、カラムリダンダンシを例に取っており、説明を簡単にするためにメインメモリセルアレイのアッパー側とロワー側にそれぞれ２セットのスペアセルを設ける例を示している。
【００２６】
この回路は、オート（Auto）制御回路１１、アッパー（Upper）側とロワー（Lower）側のカラムリダンダンシ（ColR/D）情報を記憶するレジスタ１２、カラムリダンダンシ（ColR/D）データ置き換え制御回路１３、書き込みデータラッチ１４、アドレスデコーダ（Address Decoder）１５、ロウデコーダ（Row Decoder）１６、アッパー側とロワー側のカラムリダンダンシ情報を記憶するレジスタ１７、カラムリダンダンシ（ColR/D）置き換え制御回路１８、メモリセルアレイ１９、カラムデコーダ（Col_Decoder）２０、センスアンプ（S/A）２１、バッファ回路２２、ＥＣＣ補正回路２３、出力バッファ２４、期待値比較制御回路２５、カラムリダンダンシ設定超過レジスタ２６、不良ビットＩＯアドレス生成回路２７、不良カラム（Col）アドレス生成回路２８、及びフューズ書き込みデータ生成回路２９等を含んで構成されている。
【００２７】
上記オート制御回路１１は、シーケンサ並びにコマンドを認識するために働くものである。このオート制御回路１１には、外部アドレス信号（外部Address）、外部データ（外部Data）及びテストモードを指示する信号（Test_MD）等が入力される。オート制御回路１１は、セレクタ（SEL）３１，３２、内部アドレスカウンタ（内部AddCNT）３３、オアゲート３４、期待値生成回路３５、アンドゲート３６，３７，３８及びフューズプログラム用内部アドレス生成デコーダ（Fuse_PRG用内部Add生成Decoder）３９等を備えている。
【００２８】
上記セレクタ３１には、外部データとベリファイ用の内部データ（内部Data(Vfy)）が供給され、ベリファイモードを示す信号Ｖｆｙ＿ＭＤによって選択制御が行われる。このセレクタ３１で選択された書き込みデータは、カラムリダンダンシデータ置き換え制御回路１３に供給される。このカラムリダンダンシデータ置き換え制御回路１３には、上記レジスタ１２からロワー側とアッパー側のカラムリダンダンシ情報（信号Ｆｕｓｅ＿ＩＯ(ＳＰ<１：０>)＿Ａｄｄ、信号Ｈｉｔ＿ＳＰ０、信号Ｈｉｔ＿ＳＰ１）が供給される。このカラムリダンダンシデータ置き換え制御回路１３の出力信号は、書き込みデータラッチ１４に供給される。
【００２９】
上記オアゲート３４にはベリファイイネーブル信号ＶＦＹ＿ＥＮとアンドゲート３６から出力される信号ＶＦＹ＿ＣＭＰが供給され、このオアゲート３４から出力されるベリファイ結果が一致したことを示す信号ＶＦＹＯＫが内部アドレスカウンタ３３に供給される。この内部アドレスカウンタ３３から出力されるベリファイ用の内部アドレス信号（内部Add(Vfy)）と上記外部アドレス信号が上記セレクタ３２に供給される。このセレクタ３２は、上記信号Ｖｆｙ＿ＭＤで制御され、選択された一方のアドレスがアドレスデコーダ１５に供給される。
【００３０】
上記アドレスデコーダ１５で生成されたロウアドレス信号（Row_Add）は、ロウデコーダ１６に供給される。上記アドレスデコーダ１５で生成されたカラムアドレス信号（Col_Add）は、カラムデコーダ２０に供給されるとともに、アンドゲート４１，４２の一方の入力端にそれぞれ供給される。これらアンドゲート４１，４２の他方の入力端には、カラムリダンダンシ情報を記憶したレジスタ１７からＦｕｓｅ＿ＳＰ０用のカラムアドレス信号（Col_Add）とＦｕｓｅ＿ＳＰ１用のカラムアドレス信号（Col_Add）とがそれぞれ供給される。これらアンドゲート４１，４２から出力されるスペアセルがアクセスされたことを示す信号Ｈｉｔ＿ＳＰ０，Ｈｉｔ＿ＳＰ１、及び上記レジスタ１７から出力される信号Ｆｕｓｅ＿ＩＯ(ＳＰ<１：０>)＿Ａｄｄは、カラムリダンダンシ置き換え制御回路１８に供給される。
【００３１】
上記メモリセルアレイ１９は、６４Ｋビット（ＫＢ）のロワー側とアッパー側のメインメモリセルアレイ（Main Memory）５１Ｌ，５１Ｕ、１２Ｋビット（ＫＢ）のロワー側とアッパー側のＥＣＣ回路用のメモリセルアレイ５２Ｌ，５２Ｕ、及びカラムリダンダンシ用のスペアセルアレイ（ColR/D IO-0，ColR/D IO-1，ColR/D IO-0，ColR/D IO-1）５３Ｌ１，５３Ｌ２，５３Ｕ１，５３Ｕ２を備えている。
【００３２】
上記カラムデコーダ２０は、上記メモリセルアレイ１９に対応する構成になっており、メインメモリセルアレイ５１Ｌ，５１Ｕに対応する３２ビットのＩ／Ｏ、ＥＣＣ回路用のメモリセルアレイ５２Ｌ，５２Ｕに対応する６ビットのＩ／Ｏ、スペアセルアレイに対応する２ビットのＩ／Ｏを備えている。
【００３３】
上記センスアンプ２１は、上記メインメモリセルアレイ５１Ｌ，５１ＵとＥＣＣ回路用のメモリセルアレイ５２Ｌ，５２Ｕにそれぞれ対応する３８ビットと、上記スペアセルアレイに対応する２ビットで構成されている。このセンスアンプ２１の出力信号がバッファ回路２２に供給される。
【００３４】
上記バッファ回路２２は、上記カラムリダンダンシ置き換え制御回路１８の出力信号Ｎｏｍａｌ，ＳＰ<０>，ＳＰ<１>によって出力動作が制御される。信号Ｎｏｍａｌによってメインメモリセルアレイ５１Ｌ，５１Ｕ及びＥＣＣ回路用のメモリセルアレイ５２Ｌ，５２Ｕから読み出されたデータが選択される。信号ＳＰ<０>，ＳＰ<１>によってスペアセルアレイ５３Ｌ１，５３Ｌ２，５３Ｕ１，５３Ｕ２から読み出したデータが選択される。このバッファ回路２２から出力される３８ビットの信号ＳＡＯＵＴ[３７：０]は、ＥＣＣ補正回路２３に供給されて誤り訂正が行われた後、出力バッファ２４を介して３３ビットの信号（読み出しデータ）ＤＯＵＴ[３２：０]で出力される。
【００３５】
また、上記バッファ回路２２から出力されるデータは、期待値比較制御回路２５に供給される。この期待値比較制御回路２５には、期待値生成回路３５から出力された信号ＤＡＴＡＦＩＸが期待値として供給されている。この期待値生成回路３５は、テスト状態であることを示すフラグＴＥＳＴ＿ＦＬＧによって動作が制御される。上記期待値比較制御回路２５から出力される比較結果を示す信号ＣＯＭＰ＿Ｌは、アンドゲート５５の第１の入力端に反転して供給される。このアンドゲート５５の第２の入力端にはベリファイモードを示す信号及びブロックイネーブル信号（Ｖｆｙ＿ＭＤ＆ＢＬＫ＿ＥＮ）が供給され、第３の入力端にはカラムリダンダンシ設定超過レジスタ２６内に設けたリップルカウンタ５６の出力信号が供給される。このアンドゲート５５の出力信号は、上記リップルカウンタ５６、オート制御回路１１（信号Ｃｏｌ＿ＳＥＴ）、上記不良ビットＩＯアドレス生成回路２７内に設けたアンドゲート５７の一方の入力端、上記不良カラムアドレス生成回路２８内に設けたアンドゲート５８の一方の入力端、及び上記フューズ書き込みデータ生成回路２９内に設けたアンドゲート５９の一方の入力端にそれぞれ供給される。このカラムリダンダンシ設定超過レジスタ２６から出力されるカラムリダンダンシ超過信号ＳＰ＿Ｅｒｒｏｒ<２：０>は、オート制御回路１１に供給される。
【００３６】
上記期待値比較制御回路２５から出力される比較結果を示す信号ＣＯＭＰ＿Ｌと信号ＣＯＭＰ＿Ｕは、オート制御回路１１中のアンドゲート３６に供給される。このアンドゲート３６からベリファイの比較結果を示す信号ＶＦＹ＿ＣＭＰが出力される。上記カラムリダンダンシ設定超過レジスタ２６の出力信号ＳＰ＿Ｅｒｒｏｒ<２：０>は、反転してアンドゲート３７，３８の一方の入力端に供給される。上記アンドゲート３７の他方の入力端にはベリファイモードを示す信号Ｖｆｙ＿ＭＤが供給され、このアンドゲート３７からベリファイイネーブル信号ＶＦＹ＿ＥＮが出力される。上記アンドゲート３８の他方の入力端には上記アンドゲート５５の出力信号Ｃｏｌ＿ＳＥＴが供給され、このアンドゲート３８からフューズプログラム信号Ｆｕｓｅ＿ＰＲＧが出力される。
【００３７】
上記不良ビットＩＯアドレス生成回路２７中のアンドゲート５７の他方の入力端には、上記信号Ｖｆｙ＿ＭＤ＆ＢＬＫ＿ＥＮが供給され、このアンドゲート５７の出力信号がＩＯデコーダ６０に制御信号として供給される。ＩＯデコーダ６０は、上記バッファ回路２２の出力信号ＳＡＯＵＴ[３７：０]をデコードし、デコード結果を上記フューズ書き込みデータ生成回路２９に供給する。
【００３８】
上記不良カラムアドレス生成回路２８中のアンドゲート５８の他方の入力端には、上記信号Ｖｆｙ＿ＭＤ＆ＢＬＫ＿ＥＮが供給され、このアンドゲート５８の出力信号がカラムアドレスデコーダ６１に制御信号として供給される。カラムアドレスデコーダ６１は、上記アドレスデコーダ１５から出力されるカラムアドレス信号Ｃｏｌ＿Ａｄｄをデコードし、デコード結果を上記フューズ書き込みデータ生成回路２９に供給する。
【００３９】
上記フューズ書き込みデータ生成回路２９中のアンドゲート５９の他方の入力端には、上記信号Ｖｆｙ＿ＭＤ＆ＢＬＫ＿ＥＮが供給され、このアンドゲート５９の出力信号ＣＬＫがＩ／Ｏレジスタ（IO_reg）６２とカラムレジスタ（Col_reg）６３に制御信号として供給される。上記Ｉ／Ｏレジスタ６２には上記不良ビットＩＯアドレス生成回路２７から出力されるＩ／Ｏアドレスが格納され、上記カラムレジスタ６３には上記不良カラムアドレス生成回路２８から出力されるカラムアドレスが格納され、これらのＩ／Ｏレジスタ６２とカラムレジスタ６３の出力信号Ｑ（ｏｕｔ）がフューズ用内部データとしてカラムリダンダンシ情報を記憶するレジスタ１２，１７に供給される。
【００４０】
オート制御回路１１内のフューズプログラム用内部アドレス生成デコーダ３９には、上記カラムリダンダンシ超過信号ＳＰ＿Ｅｒｒｏｒ<１：０>、フューズモードを示す信号Ｆｕｓｅ＿ＭＤ、プログラムモードを示す信号ＰＲＧＭＤ、ベリファイモードを示す信号Ｖｆｙ＿ＭＤ及びスペアセルがなくなったことを示す信号ＳＰ＿ＥＮＤが供給され、これらの信号に基づいてフューズプログラム用内部アドレス信号を生成してカラムリダンダンシ情報を記憶するレジスタ１２，１７に供給する。
【００４１】
図４は、上記図３に示した回路におけるカラムリダンダンシ情報を記憶するレジスタ１２，１７の構成例を示すブロック図である。図３では、説明の便宜上レジスタ１２と１７に分けて説明したが、ここでは１つのレジスタ（メモリ）で構成しており、カラムアドレス信号とＦｕｓｅ＿ＳＰ０用のカラムアドレス信号（Col_Add）及びＦｕｓｅ＿ＳＰ１用のカラムアドレス信号（Col_Add）との論理積をそれぞれ取って、スペアセルがアクセスされたことを示す信号Ｈｉｔ＿ＳＰ０，Ｈｉｔ＿ＳＰ１を生成する。
【００４２】
このレジスタは、セレクタ（SEL）７１，７２、フューズ（Fuse）書き込みデータラッチ７３、フューズアドレスデコーダ（Fuse_Address Decoder）７４、フューズロウデコーダ（Fuse_Row Decoder）７５、フューズメモリセルアレイ（Fuse Memory Cell）７６、フューズカラムデコーダ（Fuse_Col_Decoder）７７、フューズセンスアンプ（Fuse_S/A）７８及びフューズラッチ（Fuse_Latch）７９等を含んで構成されている。
【００４３】
上記セレクタ７１は、上記信号ＰＲＧＭＤと上記信号Ｆｕｓｅ＿ＰＲＧによって制御され、外部データ及び信号Ｆｕｓｅ＿ＭＤ、またはフューズ用内部データを選択して上記フューズ書き込みデータラッチ７３に供給する。
【００４４】
上記セレクタ７２は、上記信号Ｖｆｙ＿ＭＤ＆ＰＲＧＭＤとリードモードを示す信号ＲＥＡＤＭＤによって制御され、初期設定信号Ｉｎｉｔｉａｌ（例えばパワーオンリセット信号ＰＯＮＲＳＴ）、外部アドレス信号＆Ｆｕｓｅ＿ＭＤ及びＦｕｓｅ＿ＰＲＧ用内部アドレス信号のいずれかを選択して上記フューズアドレスデコーダ７４に供給する。
【００４５】
上記フューズアドレスデコーダ７４は、入力されたアドレス信号をデコードしてロウアドレス信号とカラムアドレス信号を生成し、ロウアドレス信号をフューズロウデコーダ７５に供給し、カラムアドレス信号をフューズカラムデコーダ７７に供給する。上記フューズロウデコーダ７５によってフューズメモリセル７６中のワード線が選択され、フューズカラムデコーダ７７によってフューズメモリセル７６中のビット線が選択される。上記フューズメモリセル７６は、フューズと呼んでいるが、メモリセルアレイ１９中のメモリセルと同様にフラッシュメモリで構成されている。上記ワード線とビット線とで選択されたメモリセルには、上記フューズ書き込みデータラッチからデータが書き込まれる。
【００４６】
上記ワード線とビット線とで選択されたメモリセルから読み出されたデータは、フューズセンスアンプ７８に供給されて増幅され、フューズラッチ７９に供給されてラッチされる。
【００４７】
このフューズラッチ７９にラッチされたデータ、すなわちロワー側とアッパー側のそれぞれの信号Ｆｕｓｅ＿ＩＯ(ＳＰ<１：０>)＿Ａｄｄ、信号Ｆｕｓｅ＿ＳＰ０用Ｃｏｌ＿Ａｄｄ及び信号Ｆｕｓｅ＿ＳＰ１用Ｃｏｌ＿Ａｄｄがカラムリダンダンシ情報として用いられる。
【００４８】
図５は、上記図４に示したフューズメモリセル７６のビット構成を詳細に示している。図５に示す如く、各々のスペアセルに対応してＩ／Ｏアドレス、カラムアドレス及び当該スペアセルをイネーブルにするか否かを指示するためのイネーブル信号を記憶するようになっている。この例では、Ｉ／Ｏアドレスは０〜５の６ビット、カラムアドレスは６〜９の４ビット、イネーブル信号はイネーブルビット１０の１ビットであり、１１ビットのデータで不良セルの情報（アドレス）が表されている。そして、リダンダンシ置き換え時に、不良セルに対応するスペアセルの上記イネーブルビット１０にフラグを立てるとともに、Ｉ／Ｏアドレスとカラムアドレスを記憶する。
【００４９】
次に、上記のような構成において、図６乃至図８のフローチャートを参照しつつ動作を説明する。図６はカラムリダンダンシ動作におけるプログラム（Program）検証、図７はイレーズ（Erase）検証、及び図８はリダンダンシ置き換え（Program）をそれぞれ示している。
【００５０】
図６に示すように、プログラム検証要求（ＳＴＥＰ１）があると、テストデータの一括プログラムを行う（ＳＴＥＰ２）。カラムリダンダンシにおけるプログラム検証は、プログラムモードで行うので、図３に示した回路におけるベリファイモードを示す信号Ｖｆｙ＿ＭＤは“Ｌ”レベルであり、セレクタ３１，３２によって外部データ（書き込みデータ）及び外部アドレス（書き込みアドレス）が選択される。これによって、外部データが書き込みデータとしてカラムリダンダンシデータ置き換え制御回路１３を経由して書き込みデータラッチ１４に供給され、外部アドレスがアドレスデコーダ１５でデコードされる。このアドレスデコーダ１５から出力されるロウアドレスがロウデコーダ１６でデコードされてメモリセルアレイ１９中のワード線が選択され（一括データプログラムのときにはワード線は全選択となる）、カラムアドレスがカラムデコーダ２０でデコードされてビット線が選択される。
【００５１】
プログラム終了後、プログラムベリファイリード（Program_Verify_READ）を行う（ＳＴＥＰ３）。ベリファイモードになると、信号Ｖｆｙ＿ＭＤが“Ｈ”レベルとなってオート制御回路１１内で初期アドレスが設定される（初期アドレスから全アドレス）。また、セレクタ３１，３２で内部データ（内部Data(Vfy)）と内部アドレス（内部Add(Vfy)）が選択される。内部アドレスは、アドレスデコーダ１５に供給されてデコードされ、ロウアドレス信号がロウデコーダ１６に、カラムアドレス信号がカラムデコーダ２０にそれぞれ供給されてデコードされ、メモリセルアレイ１９中のメモリセルが選択される。
【００５２】
選択されたメモリセルから読み出されたデータは、センスアンプ２１で増幅された後、バッファ回路２２に供給される。バッファ回路２２では、不良セルのカラムがアクセスされないときには、カラムリダンダンシ置き換え制御回路１８から出力される信号Ｎｏｒｍａｌにより、メモリセルアレイ５１Ｌ，５１ＵとＥＣＣ回路用のメモリセルアレイ５２Ｌ，５２Ｕから読み出したデータ（リードデータ）が選択される。
【００５３】
次に、このリードデータとプログラムデータで期待値比較を行い、一致しているか否かを判定する（ＳＴＥＰ４）。この期待値比較は、期待値比較制御回路（比較器）２５でバッファ回路２２から出力されるデータＳＡＯＵＴ[３７：０]を１ビット毎に期待値（ＤＡＴＡＦＩＸ＝ＰＲＧ値）と比較することによって行う。そして、この期待値比較制御回路２５から期待値比較結果の信号ＣＯＭＰ＿Ｌを出力する。
【００５４】
リードデータとプログラムデータが一致している場合には、最終アドレスか否か判定し（ＳＴＥＰ５）、最終アドレスでない場合にはアドレスをカウントアップして（ＳＴＥＰ６）、ＳＴＥＰ３に戻ってプログラムベリファイリードを行い、同一ブロック内のアドレスを順次カウントアップさせて確認する。すなわち、読み出したデータと期待値とが一致していれば、オアゲート３４の出力信号ＶＦＹＯＫが“Ｈ”レベルとなり、内部アドレスカウンタ３３がカウントアップされてセレクタ３２に供給する内部アドレスをインクリメントする。ＳＴＥＰ５で当該ブロックの最終アドレスと判定されると、最終ブロックアドレスか否かを判定する（ＳＴＥＰ７）。そして、最終ブロックアドレスでない場合にはブロックアドレスをカウントアップさせ（ＢＬＫ＿Ａｄｄ．＝ＢＬＫ＿Ａｄｄ．＋１）、ＳＴＥＰ３に戻って次のブロック内のアドレスを順次カウントアップさせて当該ブロック内の全メモリセルを確認する。以下同様にして、全てのブロック内の全てのアドレスに対して同様な動作を繰り返す。
【００５５】
そして、最後のブロックであると判定されると、プログラムが正常であったと判定してフラグを立て（ＰＶＯＫ＝１）終了する（ＳＴＥＰ８）。
【００５６】
これに対し、ＳＴＥＰ４でリードデータとプログラムデータの不一致を検知すると、スペアセルのリミット値以内か否かを判定する（ＳＴＥＰ９）。リミット値以内であれば、不良セルの情報（Ｉ／Ｏアドレス、カラムアドレス及びイネーブル信号）を上記図４に示したフューズメモリセル７６にセットし（ＳＴＥＰ１０）、スペアセルのリミット値のカウントを“＋１”（ＳＴＥＰ１１）してＳＴＥＰ６に戻り、次のアドレスに対して同様なプログラムベリファイを行う。上記ＳＴＥＰ９において、スペアセルのリミット値を越えたと判定されると、不良チップであったと判定してフラグを立て（Ｅｒｒｏｒ＝１）終了する（ＳＴＥＰ１２）。
【００５７】
すなわち、センスアンプ２１から読み出したデータと期待値とが不一致の場合には、カラムリダンダンシ設定超過レジスタ２６のＳＰ０側のリップルカウンタ５６をセットする。ここで、既にＳＰ０，ＳＰ１共に設定済みであれば、カラムリダンダンシ超過信号ＳＰ＿Ｅｒｒｏｒを“１”とする。
【００５８】
上記と同じタイミングで、不良ビットＩ／Ｏアドレス生成回路２７中のＩ／Ｏデコーダ６０により上記バッファ回路２２の出力信号ＳＡＯＵＴ[３７：０]をデコードし、不良Ｉ／Ｏアドレスをフューズ書き込みデータ生成回路２９中のＩ／Ｏレジスタ６２に格納する。上記不良カラムアドレス生成回路２８で、同様にカラムアドレスのデコードも行い、不良カラムアドレスをフューズ書き込みデータ生成回路２９中のカラムレジスタ６３に格納する。更にフューズ書き込みデータの生成も行う。
【００５９】
読み出したデータと期待値とが不一致で、カラムリダンダンシ設定超過レジスタ２６にセットした後は、同様にして最終アドレスまで検証を繰り返す。そして、３回目の不一致が検出（不良セルの数がスペアセルの数を超えたことが検出）されると、信号ＶＦＹ＿ＥＮが“Ｌ”レベル、信号ＶＦＹＯＫが“Ｌ”レベルとなり、不良チップと判断してテスト動作そのものを停止する。
【００６０】
この検証が正常に終了すると、アンドゲート３８の出力信号Ｆｕｓｅ＿ＰＲＧに基づいて、カラムリダンダンシ置き換えするか否かを決定する。信号Ｆｕｓｅ＿ＰＲＧが“Ｌ”レベルの場合には、カラムリダンダンシの置き換えはしない（既に置き換え済み）。信号Ｆｕｓｅ＿ＰＲＧが“Ｈ”レベルの場合には、カラムリダンダンシの置き換えのため、フューズのプログラムシーケンスに移る。フューズのプログラムシーケンスでは、セレクタ７１でフューズ用内部データを選択し、このデータをフューズ書き込みデータラッチ７３にセットし、フューズメモリセル７６中のフューズ（本例ではフラッシュメモリ）へプログラムする。
【００６１】
フューズへのプログラム後、フューズセンスアンプ７８を介してフューズメモリセル７６の全てのデータを読み出し、フューズラッチ７９にセットし、カラムリダンダンシ情報を更新する。
【００６２】
上述した期待値比較動作を全てのブロック中の全てのアドレスのメモリセルに対して繰り返す。そして、最終的には、アンドゲート３８の出力信号Ｆｕｓｅ＿ＰＲＧが“Ｌ”レベルとなってプログラム検証動作が終了となる。
【００６３】
イレーズ検証は、基本的には上述したプログラム検証と同様である。すなわち、図７のフローチャートに示すように、イレーズ検証要求（ＳＴＥＰ１）があると、まずチップに対して一括してイレーズを行い（ＳＴＥＰ２）、次にイレーズベリファイリード（Erase_Verify_READ）を行う（ＳＴＥＰ３）。
【００６４】
その後、このリードデータとイレーズの期待値比較を行い、一致しているか否かを判定する（ＳＴＥＰ４）。一致している場合には、最終アドレスか否か判定し（ＳＴＥＰ５）、最終アドレスでない場合にはアドレスをカウントアップし（ＳＴＥＰ６）、ＳＴＥＰ３に戻ってイレーズベリファイリードを行い、同一ブロック内のアドレスを順次カウントアップさせて確認する。ＳＴＥＰ５で当該ブロックの最終アドレスと判定されると、最終ブロックアドレスか否かを判定する（ＳＴＥＰ７）。そして、最終ブロックアドレスでない場合には、ブロックアドレスをカウントアップさせ、ＳＴＥＰ３に戻って次のブロック内のアドレスを順次カウントアップさせて当該ブロック内の全メモリセルを確認する。以下同様にして、全てのブロック内の全てのアドレスに対して同様な動作を繰り返す。
【００６５】
そして、最後のブロックであると判定されると、イレーズが正常であったと判定してフラグを立て（ＰＶＯＫ＝１）終了する（ＳＴＥＰ８）。
【００６６】
これに対し、ＳＴＥＰ４でリードデータとイレーズの期待値の不一致を検知すると、スペアセルのリミット値以内か否かを判定する（ＳＴＥＰ９）。リミット値以内であれば、不良セルのアドレスを上記レジスタ６２，６３にセットし（ＳＴＥＰ１０）、スペアセルのリミット値のカウントを“＋１”（ＳＴＥＰ１１）してＳＴＥＰ６に戻り、次のアドレスに対して同様なイレーズベリファイを行う。上記ＳＴＥＰ９において、スペアセルのリミットを越えたと判定されると、不良チップであったと判定してフラグを立て（Ｅｒｒｏｒ＝１）終了する（ＳＴＥＰ１２）。
【００６７】
図８は、リダンダンシ置き換え（Program）を示すフローチャートである。上述したプログラム検証またはイレーズ検証で不良セルが発見され、リダンダンシ（ＲＤ）置換要求があると（ＳＴＥＰ１）、不良アドレスの蓄積レジスタ６２，６３からエラーアドレスをリードし（ＳＴＥＰ２）、そのデータ（フューズ用内部データ）を置換対象のスペアセルに対するプログラムデータとしてセットする（ＳＴＥＰ３）。プログラム実行（ＳＴＥＰ４）後、最終エラーアドレスか否か判定し（ＳＴＥＰ５）、最終エラーアドレスでないときにはエラーアドレスに“＋１”（ＳＴＥＰ６）してＳＴＥＰ３に戻り、プログラムデータのセットとプログラムとを行う。このようなリダンダンシ置き換え動作を、同一ブロック内の最終エラーアドレスまで繰り返す。
【００６８】
そして、ブロック内の最終エラーアドレスになると、最終ブロックのエラーアドレスか否かを判定する（ＳＴＥＰ７）。最終エラーアドレスでないときにはブロックアドレスに“＋１”（ＳＴＥＰ８）してＳＴＥＰ３に戻り、プログラムデータのセットとプログラムを行う。このようなリダンダンシ置き換え動作を、同一ブロック内の最終エラーアドレスまで繰り返す。その後、同様にして最終ブロックになるまでブロック毎にリダンダンシ置き換えを実行する。
【００６９】
最終ブロックの最終エラーアドレスになると、リダンダンシ置き換えが正常であったと判定してフラグを立てて（ＲＤＯＫ＝１）終了し（ＳＴＥＰ９）、リダンダンシ置き換え後のプログラム検証とイレーズ検証へと進む。
【００７０】
リダンダンシ置き換え後のプログラム検証とイレーズ検証では、上記メインメモリセルアレイ５１Ｌ，５１ＵとＥＣＣ回路用のメモリセルアレイ５２Ｌ，５２Ｕにおける不良セルを有するカラムが選択されたときには、カラムリダンダンシ制御回路１８から出力される信号ＳＰ<０>またはＳＰ<１>により、スペアセルアレイ５３Ｌ１，５３Ｌ２，５３Ｕ１，５３Ｕ２の置き換えたスペアカラムを選択し、リダンダンシ置き換え前と同様な検証を行う。
【００７１】
このような構成の半導体装置並びにテスト方法によれば、リダンダンシ置き換え時に、置き換えのたびにレジスタに不良セルのＩ／Ｏアドレスとカラムアドレスを格納し、このリダンダンシ情報を用いて救済の可否の判断をチップ内で行うので、テスタ側では単にフラグを読み出すことによりチップの良否を判定できる。従って、テスタ内でフェールビットマップを作成する必要はなく、テスタでチップの良否を判定することに起因する種々の問題を解決でき、テスト時間の短縮とテストコストの削減が図れる。
【００７２】
具体的には、下記（ａ）乃至（ｄ）の効果が得られる。
【００７３】
（ａ）  メモリテスタを用いてフェールビットマップを作成する必要はなく、メモリテスタとメモリ（チップ）との間で大容量のデータをやり取りする必要はないので、実質的にデータ転送時間が不要になる。
【００７４】
（ｂ）  チップ内の全てのセンスアンプを用いてデータを入出力できるので、チップの仕様によって決まるアドレス幅やデータ幅による制約はない。
【００７５】
（ｃ）  フェールビットマップを作成する必要はないので、安価なメモリテスタを使用でき、フラグの読み出しのみ行えば良いので処理を単純化できる。
【００７６】
（ｄ）  フェールビットマップを作成する必要はないので、不良セルのアドレスを認識するための専用プログラムも不要である。
【００７７】
なお、通常、フラッシュメモリには複雑な制御を行うための制御回路が設けられているので、この制御回路の機能を利用してチップが自分自身で良否の判定を行うようにすることにより、回路の複雑化や高コスト化は最小限（レジスタは必要）で済む。
【００７８】
［第２の実施形態］
図９乃至図１２はそれぞれ、この発明の第２の実施形態に係る半導体装置及びそのテスト方法について説明するためのもので、カラムリダンダンシとブロックリダンダンシの両方を想定したものである。すなわち、スペアカラムに加えてスペアブロックを設けておき、上述した第１の実施形態のようなカラムリダンダンシでは救済できない広範囲あるいは多数の不良セルが発生したときに、ブロック単位でリダンダンシを行って救済するものである。
【００７９】
本第２の実施形態に係る半導体装置は、ブロック単位でのリダンダンシ（ブロックリダンダンシ）を行うために、図３乃至図５に示したような構成に加えて、図９に示すようなブロックアドレスエラー用の記憶領域を備え、各々のスペアブロックに対応してブロックアドレス及び当該スペアブロックをイネーブルにするか否かを指示するためのイネーブル信号を記憶するようになっている。この例では、ブロックアドレスは０〜２の３ビット、イネーブル信号はイネーブルビット３の１ビットであり、４ビットのデータで不良ブロックのアドレスが表されている。そして、ブロックリダンダンシによる置き換え時に、不良ブロックに対応するスペアブロックの上記イネーブルビットにフラグを立てるとともに、ブロックアドレスを記憶するようにしている。
【００８０】
上記ブロックリダンダンシ用の記憶領域は、カラムリダンダンシ用とは別に設けても良いし、図４に示したフューズメモリセルアレイ７６の一部の領域を利用して記憶するように構成しても良い。
【００８１】
図１０は、上記構成の半導体装置におけるプログラム検証を示すフローチャートである。基本的な処理の流れは図６と同様であるので異なる点のみ説明する。
【００８２】
第１の実施形態では、ＳＴＥＰ９においてスペアセルのリミット値以上の不良セルが有ることを検知すると不良チップとして処理したが、本第２の実施形態ではブロックリダンダンシで救済する。
【００８３】
すなわち、カラムリダンダンシで救済できるスペアセルのリミット値以上の不良セルが有った場合には、フラグを立て（ＳＰ＿Ｅｒｒｏｒ＝１）（ＳＴＥＰ１３）、スペアブロックのリミット値以内か否かを判断し（ＳＴＥＰ１４）、リミット値以内であればエラーブロックのアドレスを図９に示したレジスタにセットし（ＳＴＥＰ１５）、スペアブロックのカウントを“＋１”（ＳＴＥＰ１６）した後、ブロックアドレスのカウントを“＋１”（ＳＴＥＰ１７）して次のブロックのプログラム検証へと進む。
【００８４】
上記ＳＴＥＰ１４において、スペアブロックのリミット値を超えたと判定された場合には、フラグを立て（ＢＬＫ＿Ｅｒｒｏｒ＝１）、救済できないと判定して終了する（ＳＴＥＰ１８）。
【００８５】
図１１は、イレーズ検証を示すフローチャートである。基本的な処理の流れはやはり図７と同様であるのでここでも異なる点のみ説明する。
【００８６】
すなわち、スペアセルのリミット値以上の不良セルが有った場合には、フラグを立て（ＳＰ＿Ｅｒｒｏｒ＝１）（ＳＴＥＰ１３）、スペアブロックのリミット値以内か否かを判断し（ＳＴＥＰ１４）、リミット値以内であればエラーブロックのアドレスを図９に示したレジスタにセットし（ＳＴＥＰ１５）、スペアブロックのカウントを“＋１”（ＳＴＥＰ１６）した後、ブロックアドレスのカウントを“＋１”（ＳＴＥＰ１７）して次のブロックのイレーズ検証へと進む。
【００８７】
上記ＳＴＥＰ１４において、スペアブロックのリミット値を超えたと判定された場合には、フラグを立て（ＢＬＫ＿Ｅｒｒｏｒ＝１）、救済できないと判定して終了する（ＳＴＥＰ１８）。
【００８８】
図１２は、リダンダンシ置き換え動作を示すフローチャートである。基本的な処理の流れは図８と同様であるのでその詳細な説明は省略する。
【００８９】
このような構成の半導体装置並びにテスト方法によれば、上記第１の実施形態と実質的に同様な作用効果が得られる。しかも、多数の不良セルが存在し、カラムリダンダンシのみでは救済できない場合に、ブロックリダンダンシで救済できる。
【００９０】
［第３の実施形態］
前述した第１，第２の実施形態では、レジスタをフラッシュメモリで構成する場合を例に取って説明したが、アルミフューズやポリシリコンフューズを用いて構成することもできる。この場合には、フューズにレーザを照射したり、大電流を流したりすることによりプログラムする必要があるので、フラッシュメモリで構成する場合のように自動的にリダンダンシ置き換えはできない。よって、レジスタに記憶した不良セルの情報を外部に出力してメモリテスタに読み込み、この情報をフェールビットマップの代替として利用すれば良い。
【００９１】
このような構成の半導体装置並びにテスト方法では、第１，第２の実施形態に比べてチップとメモリテスタとの間で転送されるデータ量は増大するものの、メモリテスタ内でフェールビットマップを作成する場合に比べてテスト時間の短縮とテストコストの削減が図れ、半導体装置を低コスト化できる。
【００９２】
［変形例］
上記第１の実施形態ではカラムリダンダンシ、第２の実施形態ではカラムリダンダンシとブロックリダンダンシの場合について説明したが、同様にしてロウリダンダンシ、ロウリダンダンシとカラムリダンダンシの組み合わせ、及びロウリダンダンシ、カラムリダンダンシ及びブロックリダンダンシの組み合わせにも適用できるのは勿論である。
【００９３】
上述したように、この発明の各実施形態に係る半導体装置及びそのテスト方法は、下記（Ａ）乃至（Ｃ）のような独自の構成並びに工程を備えている。
【００９４】
（Ａ）  ファンクションチェックコマンドにより不良セルのアドレスを自動蓄積（フェールビットマップの作成に対応）する。
【００９５】
（Ｂ）  リダンダンシ置き換えコマンドで上記（Ａ）で蓄積した情報から自動的にリダンダンシ置き換え動作を行う（フューズ情報がフラッシュセル等の不揮発性メモリに記憶されている場合）。
【００９６】
（Ｃ）  上記（Ａ）でリダンダンシ置き換え許容範囲を超えた不良セルが有った場合、救済できない不良チップと判断して無用なテストを停止する。
【００９７】
以上から、チップとメモリテスタ等のテスト機器との間でデータのやり取りが無くなり、更に初期段階のファンクションチェック確認で不良チップの選定ができるため、総合的なテストコストを大きく低減できる。これによって、半導体装置の低コスト化も図れる。
【００９８】
以上第１乃至第３の実施形態とその変形例を用いてこの発明の説明を行ったが、この発明は上記各実施形態とその変形例に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。また、上記各実施形態とその変形例には種々の段階の発明が含まれており、開示される複数の構成要件の適宜な組み合わせにより種々の発明が抽出され得る。例えば各実施形態及び変形例に示される全構成要件からいくつかの構成要件が削除されても、発明が解決しようとする課題の欄で述べた課題の少なくとも１つが解決でき、発明の効果の欄で述べられている効果の少なくとも１つが得られる場合には、この構成要件が削除された構成が発明として抽出され得る。
【図面の簡単な説明】
【００９９】
【図１】この発明の実施形態に係る半導体装置及びそのテスト方法について説明するためのもので、テストの概念を示す模式図。
【図２】図１に示したような構成並びにテストを実現するためのチップ内の動作を示すフローチャート。
【図３】この発明の第１の実施形態に係る半導体装置について説明するためのもので、フラッシュメモリを例に取ってリダンダンシに関係する回路を抽出して概略構成を示すブロック図。
【図４】図３に示した回路におけるカラムリダンダンシ情報を記憶するレジスタの構成例を示すブロック図。
【図５】図４に示したフューズメモリセルのビット構成を詳細に示す図。
【図６】図１乃至図４に示したカラムリダンダンシにおけるプログラム検証動作を示すフローチャート。
【図７】図１乃至図４に示したカラムリダンダンシにおけるイレーズ検証動作を示すフローチャート。
【図８】図１乃至図４に示したカラムリダンダンシにおけるリダンダンシ置き換え動作を示すフローチャート。
【図９】この発明の第２の実施形態に係る半導体装置及びそのテスト方法について説明するためのもので、カラムリダンダンシ情報を蓄積するレジスタの構成を詳細に示す図。
【図１０】この発明の第２の実施形態に係る半導体装置及びそのテスト方法におけるプログラム検証動作を示すフローチャート。
【図１１】この発明の第２の実施形態に係る半導体装置及びそのテスト方法におけるイレーズ検証動作を示すフローチャート。
【図１２】この発明の第２の実施形態に係る半導体装置及びそのテスト方法におけるリダンダンシ置き換え動作を示すフローチャート。
【符号の説明】
【０１００】
１１…オート制御回路、１２…レジスタ（カラムリダンダンシ情報）、１３…カラムリダンダンシデータ置き換え制御回路、１４…書き込みデータラッチ、１５…アドレスデコーダ、１６…ロウデコーダ、１７…レジスタ（カラムリダンダンシ情報）、１８…カラムリダンダンシ置き換え制御回路、１９…メモリセルアレイ、２０…カラムデコーダ、２１…センスアンプ、２２…バッファ回路、２３…ＥＣＣ補正回路、２４…バッファ、２５…期待値比較制御回路、２６…カラムリダンダンシ設定超過レジスタ、２７…不良ビットＩＯアドレス生成回路、２８…不良カラムアドレス生成回路、２９…フューズ書き込みデータ生成回路２９、３１，３２…セレクタ、３３…内部アドレスカウンタ、３５…期待値生成回路、３９…フューズプログラム用内部アドレス生成デコーダ、６２…Ｉ／Ｏレジスタ、６３…カラムレジスタ、７６…フューズメモリセルアレイ。
【図１】
2005332436.tif 000003
【図２】
2005332436.tif 000004
【図３】
2005332436.tif 000005
【図４】
2005332436.tif 000006
【図５】
2005332436.tif 000007
【図６】
2005332436.tif 000008
【図７】
2005332436.tif 000009
【図８】
2005332436.tif 000010
【図９】
2005332436.tif 000011
【図１０】
2005332436.tif 000012
【図１１】
2005332436.tif 000013
【図１２】
2005332436.tif 000014