(57)【要約】【課題】テスト時間を短縮できる半導体装置及びその自己テスト方法を提供する。【解決手段】半導体装置は、自己テストモードで動作するシリアルインターフェース１１と、予め記憶された自己テストプログラムを読み出す手段１２，１４と、読み出した自己テストプログラムを解読する手段１４と、解読結果に応じて書き込み、消去及び読み出しの制御を行う手段１５，１７，１８，１９と、書き込み又は消去が正常に実行されたか否かを判定する手段１４，１５，１９と、不良セルを冗長セル２１に置換する手段１４，１５，１７，２３と、置き換えた冗長セルの再テストを実行する手段１４，１５，１７，１８，１９と、冗長セルへ置換したフェイルアドレス情報を記憶する揮発性の第１記憶手段２４と、テスト情報及び第１記憶手段に記憶されたフェイルアドレス情報を記憶する不揮発性の第２記憶手段２５とを備えている。【選択図】      図１
2006085769.tif 000002
【特許請求の範囲】
【請求項１】
自己テストモードが指定されたときに動作するシリアルインターフェースと、
前記シリアルインターフェースに外部から入力されたシリアルデータに基づいて、予め記憶された自己テストプログラムを読み出す手段と、
前記読み出し手段で読み出した自己テストプログラムを解読する手段と、
前記解読手段による解読結果に応じて、メモリセルに対する書き込み、消去及び読み出しを制御する手段と、
前記メモリセルに対する書き込み又は消去が正常に実行されたか否かを判定する手段と、
前記判定手段によって、不良と判定されたメモリセルのアドレスを一時的に退避する揮発性の第１記憶手段と、
前記判定手段によって、不良と判定されたメモリセルを冗長セルに置換する手段と、
前記置換手段で置き換えた冗長セルに対する書き込み又は消去が正常に実行されたか否かを再判定する手段と、
テスト情報及び前記第１記憶手段に記憶されたフェイルアドレス情報を記憶する不揮発性の第２記憶手段と
を具備することを特徴とする半導体装置。
【請求項２】
前記読み出し手段は、前記冗長セルにおけるリダンダンシ方式に応じた自己テストプログラムを、使用順位又は優先順位にしたがって読み出すことを特徴とする請求項１に記載の半導体装置。
【請求項３】
前記第２記憶手段に記憶されたテスト情報及びフェイルアドレス情報は、前記シリアルインターフェースを介して外部に出力されることを特徴とする請求項１に記載の半導体装置。
【請求項４】
メモリセルをテストするステップと、
前記テストの結果、不良と判定されたメモリセルのフェイルアドレス情報を揮発的に記憶するステップと、
前記テストの結果、不良と判定されたメモリセルを冗長セルに置換するステップと、
置換した冗長セルに対して再テストを実行するステップと、
テスト情報及び前記揮発的に記憶したフェイルアドレス情報を一括して不揮発的に記憶するステップと、
前記テスト終了後、外部から前記不揮発的に記憶されているテスト情報及びフェイルアドレス情報をモニタするステップと
を具備することを特徴とする半導体装置の自己テスト方法。
【請求項５】
前記再テストを実行するステップで、不良と判定され且つ冗長セルで救済できない場合に、それ以降のテストを受け付けず、前記再テスト結果の情報を出力し続けることを特徴とする請求項４に記載の半導体装置の自己テスト方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、半導体装置及びその自己テスト方法に関するもので、例えばＮＯＲ型フラッシュメモリ等の不揮発性半導体記憶装置におけるＢＩＳＴ（Built-In-Self-Test）に係り、ＢＩＳＴの起動ならびにテスト結果のモニタ、更にはパス／フェイル判定後のリダンダンシ（Ｒ／Ｄ）置換のための内部処理に関するものである。
【背景技術】
【０００２】
不揮発性半導体記憶装置では、積層ゲート構造のＭＯＳＦＥＴをメモリセルとして用い、このメモリセルのフローティングゲートに電子を注入又は放出することにより閾値電圧をシフトさせ、この閾値電圧をデータの“１”／“０”に対応させて記憶している。
【０００３】
ＮＯＲ型フラッシュメモリの場合、例えば特許文献１に記載されているように、フローティングゲートへの電子の注入は書き込み動作にあたり、記憶データを“１”から“０”にする。この書き込み動作では、外部から入力されたアドレスに対応するワード線及びビット線に所定のバイアス電圧を印加し、フローティングゲートに電子を注入する。書き込み動作は、ワード単位（もしくはページ単位）で行われ、任意のアドレスに対して書き込みが可能である。
【０００４】
一方、フローティングゲートからの電子の放出は消去動作にあたり、記憶データを“０”から“１”にする。消去動作は、ウェル（Well）領域にバイアス電圧を印加して行うため、ある纏まった単位で消去が行われる。一般的には、書き込み時間は１ワードあたり数１０μｓｅｃオーダーであるが、消去動作は１ブロックあたり１ｓｅｃ程度と非常に長時間を要する。
【０００５】
ところで、半導体記憶装置では、チップが正常に機能しているか否かテストする必要があるが、記憶容量の増大に伴ってテスト時間の長大化が問題となっている。特に、ＮＯＲ型フラッシュメモリに対するＢＩＳＴでは、上述したように消去動作に長時間を要するためテスト時間が長くなる。
【０００６】
そこで、テスト時間を短縮するために、複数のチップを同時にテストして対処している。同時に測定するチップ数を増やすことにより、実質的に１つのチップに対するテスト時間を短縮できる。
【０００７】
しかし、プローブ（Probe）を接触させるパッド数に物理的な限界があること、テストヘッドの制御がパーサイトでなければ特性の悪いチップでテスト時間が決まってしまうこと、フェイルアドレスの取得及びリダンダンシ置換の制御が個別のチップ対応となってしまうこと等の理由から、必ずしも期待するようなテスト時間の短縮が図れない、という問題があった。
【０００８】
また、半導体記憶装置にあっては、冗長セルを設け、不良セルが発生したときに、この不良セルを冗長セルに置換して救済している。この際、従来はメモリセルに不良が起きるたびに不揮発性のフューズセルに冗長セルの置換情報を記憶させているため、チップ毎の制御が必要になるとともに、テスト時間の増加にも繋がっている。
【特許文献１】特開２００４−９５０４８
【発明の開示】
【発明が解決しようとする課題】
【０００９】
この発明は上記のような事情に鑑みてなされたもので、その目的とするところは、テスト時間を短縮できる半導体装置及びその自己テスト方法を提供することにある。
【課題を解決するための手段】
【００１０】
この発明の一態様によると、自己テストモードが指定されたときに動作するシリアルインターフェースと、前記シリアルインターフェースに外部から入力されたシリアルデータに基づいて、予め記憶された自己テストプログラムを読み出す手段と、前記読み出し手段で読み出した自己テストプログラムを解読する手段と、前記解読手段による解読結果に応じて、メモリセルに対する書き込み、消去及び読み出しを制御する手段と、前記メモリセルに対する書き込み又は消去が正常に実行されたか否かを判定する手段と、前記判定手段によって、不良と判定されたメモリセルのアドレスを一時的に退避する揮発性の第１記憶手段と、前記判定手段によって、不良と判定されたメモリセルを冗長セルに置換する手段と、前記置換手段で置き換えた冗長セルに対する書き込み又は消去が正常に実行されたか否かを再判定する手段と、テスト情報及び前記第１記憶手段に記憶されたフェイルアドレス情報を記憶する不揮発性の第２記憶手段とを具備する半導体装置が提供される。
【００１１】
また、この発明の一態様によると、メモリセルをテストするステップと、前記テストの結果、不良と判定されたメモリセルのフェイルアドレス情報を揮発的に記憶するステップと、前記テストの結果、不良と判定されたメモリセルを冗長セルに置換するステップと、置換した冗長セルに対して再テストを実行するステップと、テスト情報及び前記揮発的に記憶したフェイルアドレス情報を一括して不揮発的に記憶するステップと、前記テスト終了後、外部から前記不揮発的に記憶されているテスト情報及びフェイルアドレス情報をモニタするステップとを具備する半導体装置の自己テスト方法が提供される。
【発明の効果】
【００１２】
この発明によれば、テスト時間を短縮できる半導体装置及びその自己テスト方法が得られる。
【発明を実施するための最良の形態】
【００１３】
以下、この発明の実施形態について図面を参照して説明する。  
［第１の実施形態］
図１は、この発明の第１の実施形態に係る半導体装置及びその自己テスト方法について説明するためのもので、ＢＩＳＴに関係する要部を抽出して概略構成を示すブロック図である。
【００１４】
ここでは、ＮＯＲ型フラッシュメモリを例に取って示しており、シリアルインターフェース（Serial I/F）１１、コード格納用ＲＯＭ１２、割り込み回路１３、ＣＰＵ１４、周辺レジスタ１５、ステータスフラグ１６、書き込み回路１７、消去回路１８、読み出し回路１９、履歴セル２０、冗長セル２１、フラッシュセル（Flash Cell）２２、比較回路２３、ＦＡＭ（Fail Address Memory）２４、フューズセル２５及びセレクタ２６等を備えている。
【００１５】
上記シリアルインターフェース１１には、イネーブル信号ＥＮ、クロック信号ＳＣＬＫ及び出力イネーブル信号ＯＥが入力され、データの入出力（Ｉ／Ｏ）を行う。このシリアルインターフェース１１は、イネーブル信号ＥＮによってＢＩＳＴ（自己テスト）モードが指定されたことを検知したときに上記コード格納用ＲＯＭ１２を起動し、このＲＯＭ１２に格納されているコードをＣＰＵ１４に供給する。上記コード格納用ＲＯＭ１２には、ＢＩＳＴでどのような動作／テストを行うかを記したコードが格納されている。上記割り込み回路１３は、上記シリアルインターフェース１１へのシリアル割り込み要求の入力を元に割り込みベクタを生成する。上記ＣＰＵ１４は、この割り込み回路１３で生成した割り込みベクタに応じてＲＯＭ１２から読み出されたコードを解読する。
【００１６】
上記書き込み回路１７、消去回路１８及び読み出し回路１９は、フラッシュセル２２の動作を制御する制御回路として働く。上記書き込み回路１７はＣＰＵ１４から周辺レジスタ１５に供給された制御データに基づいて、フラッシュセル２２へのデータの書き込み制御を行う。上記消去回路１８はＣＰＵ１４から周辺レジスタ１５に供給された制御データに基づいて、フラッシュセル２２の記憶データの消去の制御を行う。上記読み出し回路１９の制御によってフラッシュセル２２から読み出されたデータは、周辺レジスタ１５に供給され、この周辺レジスタ１５のデータがＣＰＵ１４に供給される。そして、フラッシュセル２２から読み出されたデータと期待値とが不一致の場合に、そのアドレス（フェイルアドレス）がＦＡＭ２４に格納（一時的に待避）される。この際、ＦＡＭ２４にはロウ置換方式、カラム置換方式、ブロック置換方式等のリダンダンシ方式に応じたフェイルアドレス情報が記憶され、最終的に置き換え動作で使用される。ＦＡＭ２４に記憶されたフェイルアドレス情報とコード格納用ＲＯＭ１２に格納されているリダンダンシ制御用のコード（自己テストプログラム）は、冗長セル２１におけるリダンダンシ方式の使用順位又は優先順位に応じて選択される。例えば、ロウ置換方式で救済する場合にはこのリダンダンシ方式で必要となるフェイルロウアドレスとリダンダンシ制御用コードが選択され、ロウ置換方式で救済できない場合にはカラム置換方式、あるいはブロック置換方式でそれぞれ必要とされるフェイルアドレスとリダンダンシ制御用コードが選択される。
【００１７】
揮発性のＦＡＭ２４に格納されたフェイルアドレス情報は、テスト終了時にフューズセル（Fuse Cell）２５に不揮発のフェイルアドレス情報として一括して書き込まれる。また、このフューズセル２５には、実行されたＢＩＳＴプログラムのテスト認識番号、パス／フェイル結果、冗長セルの使用／未使用の情報、及び冗長セルの数（冗長セル行、冗長セル列又は冗長セルブロックの数）等のテスト情報も書き込まれる。上記フューズセル２５に格納されたフェイルアドレス情報やテスト情報は、テストの実行後にシリアルインターフェース１１を介して外部からモニタ可能になっている。上記ＦＡＭ２４とフューズセル２５から読み出されたフェイルアドレス情報は、セレクタ２６に供給されて選択される。このセレクタ２６で選択されたフェイルアドレス情報と外部から入力されたアドレスＡｄｄとが比較回路２３で比較され、その比較結果が冗長セル２１及びフラッシュセル２２に供給される。そして、フェイルアドレスがアクセスされた時に、フラッシュセル２２に代えて冗長セル２１の対応するアドレスが選択されるようになっている。
【００１８】
図２（ａ），（ｂ）はそれぞれ、上記図１に示した回路におけるフラッシュセル２２の構成例を示しており、（ａ）図はパターン平面図、（ｂ）図は回路図である。（ａ）図に示すように、メモリセル行ＭＣ１１，ＭＣ１２の各々のメモリセルＭ１１（１），Ｍ１１（２），Ｍ１１（３），…とＭ１２（１），Ｍ１２（２），Ｍ１２（３），…は、各ビット線コンタクトＢＣを挟むように配置されており、これらメモリセル行ＭＣ１１，ＭＣ１２とビット線コンタクトＢＣを挟んでソース線ＳＬ１０，ＳＬ１１が配置されている。メモリセル行ＭＣ１３，ＭＣ１４の各々のメモリセルＭ１３（１），Ｍ１３（２），Ｍ１３（３），…とＭ１４（１），Ｍ１４（２），Ｍ１４（３），…は、各ビット線コンタクトＢＣを挟むように配置されており、これらメモリセル行ＭＣ１３，ＭＣ１４とビット線コンタクトＢＣを挟んでソース線ＳＬ１１，ＳＬ１２が配置されている。上記ソース線ＳＬ１１は上記隣接するメモリセル行ＭＣ１２，ＭＣ１３で共用され、上記ソース線ＳＬ１２は隣接するメモリセル行ＭＣ１４，ＭＣ１５（図示せず）で共用される。上記ソース線ＳＬ１０も同様に隣接するメモリセル行ＭＣ１０，ＭＣ１１で共用されている。
【００１９】
（ｂ）図は、（ａ）図における破線Ｔで囲んだ領域の回路図である。図示するように、同一行のメモリセルＭ１１（１），Ｍ１１（２），…のコントロールゲートはコントロールゲート線（ワード線）ＣＧ１０に共通接続され、ドレインはビット線コンタクトＢＣを介して対応する個々のビット線ＢＬ１０，ＢＬ１１，…に接続され、ソースはソース線ＳＬ１０に共通接続されている。また、同一行のメモリセルＭ１２（１），Ｍ１２（２），…のコントロールゲートは、コントロールゲート線（ワード線）ＣＧ１１に共通接続され、ドレインはビット線コンタクトＢＣを介して対応する個々のビット線ＢＬ１０，ＢＬ１１，…に接続され、ソースはソース線ＳＬ１１に共通接続されている。
【００２０】
図３は、上記図２（ａ），（ｂ）に示したフラッシュセル２２におけるメモリセルの閾値電圧の分布状態を示す模式図である。書き込み状態（データ“０”）のメモリセルの閾値電圧Ｖｔｈは、電圧ＰＶより高い領域に分布している。
【００２１】
一方、消去状態（データ“１”）のメモリセルの閾値電圧Ｖｔｈは、上記電圧ＰＶより低い電圧ＯＥＶからＥＶの間に分布している。
【００２２】
次に、上記のような構成において図４のタイミングチャート及び図５のフローチャートにより動作を説明する。図４はシリアルインターフェース１１を介してＢＩＳＴプログラムを起動する際のタイミングチャートを示しており、図５は書き込み動作時のフローチャートを示している。
【００２３】
ＢＩＳＴプログラムの起動は、シリアルインターフェース１１にイネーブル信号ＥＮを供給することにより行い、予め定められたプロトコルにしたがってデータがシリアル入力される。
【００２４】
図４及び図５に示すように、時点ｔ０にイネーブル信号ＥＮが“Ｈ”レベルに立ち上がると、シリアルインターフェース１１に、クロック信号ＳＣＬＫに同期して８ビットのデータ（bit ０〜bit ８）が入力される（ＳＴＥＰ１）。
【００２５】
シリアルデータの入力が完了し、時点ｔ１にシリアル割り込み要求が入力されると、割り込み回路１３によりＣＰＵ１４が起動され（ＳＴＥＰ２）、シリアル入力されたデータ（JP Add Reg）がコード格納用ＲＯＭ１２のジャンプ先アドレス（テスト開始アドレス）として供給される（時点ｔ２）。これによって、ＲＯＭ１２からコードが順次読み出される。そして、読み出されたコードに応じてＣＰＵ１４による制御動作（書き込み／消去）が実行される。この際、ＣＰＵ１４から周辺レジスタ１５にアドレスとデータが供給され（時点ｔ３）、時点ｔ４のレジスタライト命令に応答して周辺レジスタ１５に取り込まれる。この周辺レジスタ１５のデータに基づいて、書き込み回路１７と消去回路１８による書き込み／消去動作が行われる。
【００２６】
例えば、書き込み動作の場合には、書き込みに先立ってカウンタの計数値Ｎを０に設定し（ＳＴＥＰ３）、書き込み回路１７を動作させてフラッシュセル２２にデータを書き込む（ＳＴＥＰ４）。上記カウンタの計数値Ｎは、ロウ置換方式の場合には冗長セル行の数、カラム置換方式の場合には冗長セル列の数、ブロック置換方式の場合には冗長セルブロックの数に対応する。
【００２７】
その後、この書き込み動作が期待通りに行われたか、書き込んだデータを読み出し（ＳＴＥＰ５）、読み出したセルデータと予め設定された期待値とを比較して、パス（Pass）／フェイル（Fail）を判定する（ＳＴＥＰ６）。比較の結果、一致（パス）していれば、ＣＰＵ１４はステータスフラグ１６にパス情報を書き込み（Status=Pass）、ＨＡＬＴ（停止）状態になる（ＳＴＥＰ７）。そして、このＢＩＳＴの対象となっているチップは、次にシリアルデータが入力されるまでこの状態を保持する。
【００２８】
一方、比較結果が不一致（フェイル）であれば、予め用意した冗長セル２１が全て使用済みか否か判定する（ＳＴＥＰ１０）。すなわち、冗長セル２１が全て使用済みでＦＡＭ２４が全て埋まっている場合には、ステータスフラグ１６にフェイル情報を書き込む（Status=Fail）（ＳＴＥＰ１２）。図５では、冗長セル行、冗長セル列又は冗長セルブロックが９９個の場合を示しており、計数値Ｎが１００になると救済は不可能であるので、このチップは不良品となる。不良チップであると判定された場合には、電源電圧低下等の不良チップの悪影響を最低限に留めるため、以降のシリアル入力の受付を一切禁止する。
【００２９】
未使用の冗長セル２１があり、ＦＡＭ２４に空き領域がある（Ｎ＝１００でない）場合には、フラッシュセル２２におけるフェイルアドレスのメモリセルをリダンダンシ方式に応じて冗長セル２１に置換し、ＦＡＭ２４にフェイルアドレス情報を書き込み、計数値Ｎに１を加え（ＳＴＥＰ１１）、置換した冗長セル２１に再書き込みを行う（ＳＴＥＰ４）。そして、この冗長セル２１のデータを読み出して（ＳＴＥＰ５）再判定する（ＳＴＥＰ６）。
【００３０】
再判定の結果、一致していれば、ＣＰＵ１４からステータスフラグ１６にパスを書き込み、書き込み回路１７から履歴セル２０に冗長セル２１の使用情報等のテスト履歴を書き込む（ＳＴＥＰ８）。履歴セル２０にテスト履歴を格納するのは、複数のチップに対してＢＩＳＴを並列的に行う場合に、テストが正常に行われたか否かをチップ毎に判定するためである。
【００３１】
再判定の結果、不一致であれば、指定済みのＦＡＭ２４の領域を使用禁止状態にしてＦＡＭ２４の空き領域を再検索する。そして、上述した動作を未使用の冗長セル２１があり、ＦＡＭ２４に空き領域がある限り繰り返す。
【００３２】
最終的な冗長セル２１の置換情報は、不揮発に記憶する必要があるので、テスト終了時点でＦＡＭ２４の使用履歴があれば、このＦＡＭ２４のフェイルアドレス情報を不揮発性のフューズセル２５に一括して書き込む作業を行う。また、このフューズセル２５には、実行されたＢＩＳＴプログラムのテスト認識番号、パス／フェイル結果、履歴セル２０に書き込まれた冗長セル２１の使用／未使用の情報等のテスト情報も書き込まれる。
【００３３】
これらのテスト情報やフェイルアドレス情報は、テストの実行後にシリアルインターフェース１１を介してシリアル出力され（Serial Out）、外部のＩＣテスタ等でモニタされる（ＳＴＥＰ９，１４）。この際、実行されるＢＩＳＴプログラムのテスト認識番号と履歴格納領域のアドレスとを対応させ、履歴データを読み出すことにより、フェイルカテゴリの作成／歩留まり解析を容易に実施できる。
【００３４】
上述したような一連のテストで良品と判断されたチップは、外部から入力されるアドレスＡｄｄとフューズセル２５で記憶しているフェイルアドレス情報とを比較回路２３で比較し、一致している場合にはフラッシュセル２２に代えて冗長セル２１がアクセスされることになり、正常な書き込み、消去及び読み出し動作が行われる。
【００３５】
なお、上記冗長セル２１によるリダンダンシ方式が、ロウ置換方式、カラム置換方式、ブロック置換方式と複数ある場合は、実行されるテストに応じて、使用優先順位をコード格納用ＲＯＭ１２に指定することにより選択可能である。このテスト方式の切り替えは、フューズセル２５に書き込まれたフェイルアドレス情報に基づいて行われる。
【００３６】
また、上述した説明では、主に書き込み動作を例に取って説明したが、消去も同様な手順で行われる。
【００３７】
従って、この発明によれば、半導体装置がフェイルアドレス情報を不揮発に記憶しており、且つこのフェイルアドレス情報を外部からアクセスできるので、テスト時にテスタにこの情報を読み出すことによりテスト時間を短縮できる。しかも、複数チップをテストするときに、チップ毎にフェイルアドレス情報を取り込むことができるので、この点からもテスト時間を短縮できる。
【００３８】
また、フェイルアドレス情報をＦＡＭ２４に一時的に記憶しておき、冗長セル２１に置き換えたときに再テストするので、冗長セル２１の良否も判定してより信頼性の高いテストが実行できる。
【００３９】
更に、フューズセル２５には、フェイルアドレス情報だけでなく、実行されたＢＩＳＴプログラムのテスト認識番号、パス／フェイル結果、冗長セルの使用／未使用の情報、及び冗長セルの数（冗長セル行、冗長セル列又は冗長セルブロックの数）等のテスト情報も書き込まれるので、ユーザがテストの履歴を見たいとき、例えば希望のテストプログラムを全てパスしているか、あるいは冗長セルをどのアドレスで使用しているか等も外部からモニタできる。
【００４０】
［第２の実施形態］
上述した第１の実施形態では、テスト装置上、あるいはテスト間で電源が遮断されるケースでは、ＦＡＭ２４に記憶されているフェイルアドレス情報がクリアされてしまうので、電源遮断前にフューズセル（Fuse Cell）へ書き込みを行うようにした。
【００４１】
しかし、フューズセル２５への書き込みコマンドを専用で設ければ、外部から入力されるシリアルコマンドにより任意のタイミングで実行可能である。この場合には、次に電源再投入後、揮発性のＦＡＭ２４はクリア状態にあるので、電源投入をトリガにしてフューズセル２５からＦＡＭ２４へのデータ更新を行う。
【００４２】
以上により、揮発性のＦＡＭ２４を電源遮断前と同じ状態で使用可能であり、連続的なテストが実行できる。
【００４３】
従って、上記のような半導体装置及びその自己テスト方法によれば、上述した第１の実施形態と同様にテスト時間を短縮できる。
【００４４】
なお、上記各実施形態では、コード格納用ＲＯＭ１２を設ける場合を例に取って説明したが、フラッシュセル２２の一部の記憶領域をコード格納用に流用しても良い。履歴セル２０も同様に、フラッシュセル２２の一部の記憶領域を流用できる。
【００４５】
また、ＮＯＲ型フラッシュメモリを例に取って説明したが、同様にして他の不揮発性半導体記憶装置にも適用可能であり、半導体記憶装置と論理回路を１チップに混載した半導体装置、あるいはＳＯＣ（システムオンチップ）等にも適用できる。
【００４６】
以上第１，第２の実施形態を用いてこの発明の説明を行ったが、この発明は上記各実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。また、上記各実施形態には種々の段階の発明が含まれており、開示される複数の構成要件の適宜な組み合わせにより種々の発明が抽出され得る。例えば各実施形態に示される全構成要件からいくつかの構成要件が削除されても、発明が解決しようとする課題の欄で述べた課題の少なくとも１つが解決でき、発明の効果の欄で述べられている効果の少なくとも１つが得られる場合には、この構成要件が削除された構成が発明として抽出され得る。
【図面の簡単な説明】
【００４７】
【図１】この発明の第１の実施形態に係る半導体装置について説明するためのもので、ＢＩＳＴに関係する要部を抽出して概略構成を示すブロック図。
【図２】図１に示した回路におけるフラッシュセルの構成例を示しており、（ａ）図はパターン平面図、（ｂ）図は回路図。
【図３】図２（ａ），（ｂ）に示したフラッシュセルにおけるメモリセルの閾値電圧の分布状態を示す模式図。
【図４】この発明の第１の実施形態に係る半導体装置の自己テスト方法について説明するためのもので、シリアルインターフェースを介してＢＩＳＴプログラムを起動する場合のタイミングチャート。
【図５】この発明の第１の実施形態に係る半導体装置の自己テスト方法について説明するためのもので、書き込み時のフローチャート。
【符号の説明】
【００４８】
１１…シリアルインターフェース、１２…コード格納用ＲＯＭ、１３…割り込み回路、１４…ＣＰＵ、１５…周辺レジスタ、１６…ステータスフラグ、１７…書き込み回路、１８…消去回路、１９…読み出し回路、２０…履歴セル、２１…冗長セル、２２…フラッシュセル、２３…比較回路、２４…ＦＡＭ、２５…フューズセル、２６…セレクタ、Ｍ１０（１）〜Ｍ１４（６）…メモリセル、ＥＮ…イネーブル信号、ＳＣＬＫ…クロック信号、Ｉ／Ｏ…入出力信号、ＯＥ…出力イネーブル信号。
【図１】
2006085769.tif 000003
【図２】
2006085769.tif 000004
【図３】
2006085769.tif 000005
【図４】
2006085769.tif 000006
【図５】
2006085769.tif 000007