(57)【特許請求の範囲】
【請求項１】
通常メモリブロック及び冗長メモリブロックを備えたメモリセルアレイと、
前記各メモリブロックに対して、書き込み動作または読み出し動作とを試験する自己テスト回路と、
動作試験の試験結果により生成された冗長信号に基づいて、不良メモリブロックを前記冗長メモリブロックに冗長する冗長回路と
を備えた半導体記憶装置であって、
前記自己テスト回路には、
前記メモリブロックの書き込みデータと、読み出しデータとを比較する比較回路と、
前記比較回路の比較結果に基づいて当該メモリセルアレイの良否判定を行う判定回路と、
前記比較結果を前記判定回路に転送するとともに、前記冗長回路に出力する自己冗長信号生成部とを備え、
前記自己冗長信号生成部は、
前記通常メモリブロック及び冗長メモリブロックにそれぞれ対応して設けられ、前記比較結果をラッチして前記自己冗長信号として出力するラッチ回路と、
前記ラッチ回路が不良情報をラッチしたとき、当該ラッチ回路への比較結果の入力を他のラッチ回路にシフトして、自己冗長信号として維持する切換回路と
から構成される
ことを特徴とする半導体記憶装置。
【請求項２】
前記比較回路は、前記冗長回路により選択されるメモリブロックの数に対応して設けられ、
前記切換回路は、
前記比較回路と前記ラッチ回路との間に第一の切換回路と、
前記ラッチ回路と前記判定回路との間に第二の切換回路と
からなり、
前記第一の切換回路は、前記ラッチ回路のラッチデータに基づいて、前記不良情報をラッチしたラッチ回路以外のラッチ回路に前記比較結果を出力し、
前記第二の切換回路は、前記ラッチデータに基づいて、前記第一の切換回路から前記比較結果が入力されたラッチ回路のラッチデータを比較データとして前記判定回路に出力すること
を特徴とする請求項１記載の半導体記憶装置。
【請求項３】
前記判定回路は、前記動作試験の回数をカウントするカウンタ回路を備え、
前記自己テスト回路は、前記冗長メモリブロックの数を１超える回数まで動作試験を繰り返した後、前記判定回路で前記比較データを判定する
ことを特徴とする請求項１又は２記載の半導体記憶装置。
【請求項４】
前記自己テスト回路は、１回の動作試験を行う毎に前記比較データを前記判定回路で判定し、不良情報を検出しないとき、動作試験を終了すること
を特徴とする請求項３記載の半導体記憶装置。
【請求項５】
前記第一の切換回路は、不良情報をラッチしたラッチ回路のラッチデータに基づいて、当該ラッチ回路以降に入力される比較結果を一つずつシフトしたラッチ回路に入力し、
前記第二の切換回路は、前記ラッチデータに基づいて、前記第一の切換回路が比較結果を入力するラッチ回路のラッチデータを前記比較データとして出力することを特徴とする請求項２記載の半導体記憶装置。
【請求項６】
通常メモリブロック及び冗長メモリブロックを備えたメモリセルアレイと、
前記各メモリブロックに対して、書き込み動作または読み出し動作とを試験する自己テスト回路と、
動作試験の試験結果により生成された冗長信号に基づいて、不良メモリブロックを前記冗長メモリブロックに冗長する冗長回路と
を備えた半導体記憶装置であって、
前記自己テスト回路には、
前記メモリブロックの書き込みデータと、読み出しデータとを比較する比較回路と、
前記比較回路の比較結果に基づいて当該メモリセルアレイの良否判定を行う判定回路と、
前記比較結果を前記判定回路に転送するとともに、前記冗長回路に出力する自己冗長信号生成部とを備え、
前記比較回路は、前記通常メモリブロック及び冗長メモリブロックに対応して設けられ、
前記自己冗長信号生成部は、
前記比較回路にそれぞれ対応して設けられ、前記比較結果をラッチして前記自己冗長信号として出力するラッチ回路と、
前記ラッチ回路が不良情報をラッチしたとき、そのラッチデータに基づく自己冗長信号で選択されたメモリブロックに対応するラッチ回路のラッチデータを比較データとして前記判定回路に出力する切換回路と
から構成される
ことを特徴とする半導体記憶装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、ＢＩＳＴ（Built In Self Test）による自己テスト機能と自己冗長機能を備えた半導体記憶装置に関するものである。
【０００２】
近年、半導体装置の試験工程では、ウェハ上に形成されたチップに対しダイシングに先立ってウェハ状態で動作試験が行われる。また、近年の半導体装置ではその動作速度の高速化あるいは大容量化がますます進み、外部試験装置の性能が半導体装置に追随できないという問題点がある。そこで、ＢＯＳＴ（Built Out Self Test）と呼ばれるテストチップ、あるいは各チップ内にあらかじめ形成される自己テスト回路であるＢＩＳＴ（Built In Self Test）を外部試験装置との間に介在させて、外部試験装置の性能を補いながら、動作試験が行われている。また、近年の半導体記憶装置では、上記のような自己テスト機能を備えながら、その動作試験時に不良セルを含んだメモリブロックを検出したとき、当該メモリブロックへのアクセスを冗長メモリブロックに切換える自己冗長回路を備えたものがある。そして、自己テスト機能と自己冗長機能とを併せ持つ半導体記憶装置を簡単な構成で実現することが必要となっている。
【０００３】
【従来の技術】
ＢＩＳＴによる自己テスト機能と、自己冗長機能とを併せ持つ半導体記憶装置として、従来次に示すものが開示されている。
【０００４】
特開平１１−２３８３９３号に記載されたメモリ装置では、ＢＩＳＴによる動作試験を行って、不良セルを検出したとき、その不良セルのアドレスをチップ内に搭載されたレジスタに格納する。
【０００５】
そして、通常動作時に不良セルへのアクセスが発生すると、レジスタの格納内容に基づいて、その不良セルへのアクセスが冗長セルに切換えられる。また、チップ内に自己冗長機能を備えたものとして、特開平３−１１６４９７号、特開２０００−３１１４９７号、特許第３００６３０３号、特開平９−３１１８２４号等が開示されている。
【０００６】
特開２０００−３０４８３号には、動作試験時に不良セルを検出したとき、チップ外部のデータ変換処理装置に不良セルのアドレスデータを出力し、そのデータ変換処理装置で冗長アドレスデータを算出し、その冗長アドレスデータに基づいて冗長動作を行う構成が開示されている。
【０００７】
【発明が解決しようとする課題】
チップ内に自己冗長機能を搭載する構成では、ＢＩＳＴ回路以外に、故障情報を格納する記憶手段、不良アドレス発生回路、アドレス変換回路、あるいはレジスタ等をチップ内に搭載する必要がある。
【０００８】
このため、チップ面積が大型化するとともに、自己冗長機能を実現する回路とその他の回路とのインターフェースが複雑となるという問題点がある。
チップ外部に不良セルのアドレスデータを出力し、そのアドレスデータに基づいて冗長アドレスデータを生成することにより自己冗長動作を行う構成では、チップ外部にデータ変換処理装置を必要とするため、コストが上昇するという問題点がある。
【０００９】
この発明の目的は、自己テスト機能と自己冗長機能とを併せ持つ半導体記憶装置を簡単な構成で提供することにある。
【００１０】
【課題を解決するための手段】
自己テスト回路に設けた比較回路で、メモリブロックの書き込みデータと、読み出しデータとを比較し、前記比較回路の比較結果に基づいて当該メモリセルアレイの良否判定を判定回路で行う。前記比較回路と判定回路との間に介在される自己冗長信号生成部は、前記比較結果を前記判定回路に転送するとともに、該比較結果に基づく前記メモリブロックの不良情報を１回の動作試験毎に自己冗長信号としてラッチして、冗長回路に出力する。
【００１１】
また、前記自己冗長信号生成部は、通常メモリブロック及び冗長メモリブロックにそれぞれ対応して設けられ、前記比較結果をラッチして前記自己冗長信号として出力するラッチ回路と、前記ラッチ回路が不良情報をラッチしたとき、当該ラッチ回路への比較結果の入力を他のラッチ回路にシフトして、自己冗長信号として維持する切換回路とから構成される。
【００１２】
また、前記自己冗長信号生成部は、前記通常メモリブロック及び冗長メモリブロックに対応して設けられる比較回路と、前記比較回路にそれぞれ対応して設けられ、前記比較結果をラッチして前記自己冗長信号として出力するラッチ回路と、前記ラッチ回路が不良情報をラッチしたとき、そのラッチデータに基づく自己冗長信号で選択されたメモリブロックに対応するラッチ回路のラッチデータを比較データとして前記判定回路に出力する切換回路とから構成される。
【００１３】
【発明の実施の形態】
（第一の実施の形態）
以下、この発明を具体化した半導体記憶装置の第一の実施の形態を図面に従って説明する。
【００１４】
図１はＡＳＩＣチップを示し、複数のメモリマクロ１ａ，１ｂと、パワーオンリセット回路２が搭載される。
前記各メモリマクロ１ａ，１ｂには、ＢＩＳＴ回路（自己テスト回路）３と、メモリセルアレイ４とがそれぞれ形成される。そして、電源の投入に基づいて、前記パワーオンリセット回路２からリセット信号ＲＳが出力され、ＢＩＳＴ回路３ではそのリセット信号ＲＳをトリガとしてメモリセルアレイ４の動作試験を開始する。
【００１５】
図２に示すように、前記ＢＩＳＴ回路３はクロック発生回路５と、パターン発生部６と、データ比較部７と、判定回路８とから構成される。
前記クロック発生回路５は、動作試験を行うためのクロック信号を生成して、前記パターン発生部６に出力する。
【００１６】
前記パターン発生部６は、コマンド発生回路９と、アドレス発生回路１０と、データ発生回路１１とから構成される。コマンド発生回路９は、動作試験を行うためのコマンド信号ＣＭＤを生成して、前記メモリセルアレイ４に出力する。
【００１７】
前記アドレス発生回路１０は、動作試験を行うためのアドレスＡＤを生成して、メモリセルアレイ４に出力する。前記データ発生回路１１は、動作試験を行うための書き込みデータＴＤを生成して、前記メモリセルアレイ４及び前記データ比較部７に出力する。
【００１８】
前記データ比較部７は、前記メモリセルアレイ４から出力される読み出しデータＲＤＢ，ＱＤＢと前記書き込みデータＴＤとを比較し、その比較結果をラッチしたラッチデータＬＣＰをメモリセルアレイ４に出力する。
【００１９】
前記メモリセルアレイ４は、図３に示すように、Ｎ＋１個の通常ＩＯメモリブロックＢ（０）〜Ｂ（Ｎ）と、ｎ＋１個の冗長ＩＯメモリブロックＪ（０）〜Ｊ（ｎ）と、ＩＯ冗長回路１２とを備える。通常、冗長ＩＯメモリブロックＪ（０）〜Ｊ（ｎ）の数は、ＩＯメモリブロックＢ（０）〜Ｂ（Ｎ）の数より少ない。
【００２０】
前記ＩＯ冗長回路１２は、前記データ比較部７のラッチデータＬＣＰの入力に基づいて、ＩＯメモリブロックＢ（０）〜Ｂ（Ｎ）と、冗長ＩＯメモリブロックＪ（０）〜Ｊ（ｎ）の中からＮ＋１個のメモリブロックを選択する。そして、前記パターン発生部６から出力されるコマンド信号ＣＭＤ、アドレス信号ＡＤ及び書き込みデータＴＤを選択中のメモリブロックにのみ出力する。
【００２１】
また、ＩＯ冗長回路１２は選択中のメモリブロックから読み出された読み出しデータＲＤＢを前記データ比較部７に出力する。なお、読み出しデータＱＤＢはＩＯメモリブロックＢ（０）〜Ｂ（Ｎ）及び冗長ＩＯメモリブロックＪ（０）〜Ｊ（ｎ）からＩＯ冗長回路１２を介することなく直接データ比較部７に出力されるデータである。
【００２２】
前記データ比較部７の構成を図４に従って説明する。
ＩＯメモリブロックＢ（０）〜Ｂ（Ｎ）及び冗長ＩＯメモリブロックＪ（０）〜Ｊ（ｎ）の中から選択されたＮ＋１個のメモリブロックから読み出された読み出しデータＲＤＢ（０）〜ＲＤＢ（Ｎ）は、それぞれ比較回路１３に入力される。
【００２３】
また、前記比較回路１３には選択されたＮ＋１個のメモリブロックに書き込まれる書き込みデータＴＤ（０）〜（Ｎ）が期待値データとして入力される。
そして、各比較回路１３は読み出しデータＲＤＢ（０）〜ＲＤＢ（Ｎ）と、期待値データＴＤ（０）〜ＴＤ（Ｎ）とを比較して、その比較結果ＳＧ０〜ＳＧＮを第一の切換回路１４に出力する。
【００２４】
前記第一の切換回路１４には、前記ＩＯメモリブロックＢ（０）〜Ｂ（Ｎ）と等しい数のラッチ回路ＬＢ（０）〜ＬＢ（Ｎ）と、冗長ＩＯメモリブロックＪ（０）〜Ｊ（ｎ）と等しい数のラッチ回路ＬＪ（０）〜ＬＪ（ｎ）が接続される。
【００２５】
そして、第一の切換回路１４は前記ラッチ回路ＬＢ（０）〜ＬＢ（Ｎ），ＬＪ（０）〜ＬＪ（ｎ）に出力信号ＣＰ（０）〜ＣＰ（Ｎ）,ＣＰ（Ｊ０）〜ＣＰ（Ｊｎ）を出力し、その出力信号のうちのいずれかのＮ＋１個は、前記比較回路１３の比較結果ＳＧ０〜ＳＧＮが出力される。
【００２６】
前記ラッチ回路ＬＢ（０）〜ＬＢ（Ｎ）は、そのラッチデータＬＣＰ（０）〜ＬＣＰ（Ｎ）を前記メモリセルアレイ４のＩＯ冗長回路１２及び第二の切換回路１５に出力するとともに、前記第一の切換回路１４に出力する。
【００２７】
また、前記ラッチ回路ＬＪ（０）〜ＬＪ（ｎ）は、そのラッチデータＬＣＰ（Ｊ０）〜（ＪＮ）を前記メモリセルアレイ４のＩＯ冗長回路１２及び第二の切換回路１５に出力するとともに、前記第一の切換回路１４に出力する。
【００２８】
前記第二の切換回路１５は、前記比較結果ＳＧ０〜ＳＧＮが第一の切換回路１４を介して入力されているラッチ回路のラッチデータを取り込んで、比較データＣＰＤ（０）〜ＣＰＤ（Ｎ）として出力する。
【００２９】
前記比較回路１３及び第一の切換回路１４の具体的構成を図５に従って説明する。図５に示す第一の切換回路１４は、メモリセルアレイ４において、１つの冗長ＩＯメモリブロックが形成される場合に対応する。
【００３０】
前記比較回路１３は、ＥＮＯＲ回路で構成される。そして、読み出しデータＲＤＢ（０）〜ＲＤＢ（Ｎ）と、対応する期待値データＴＤ（０）〜ＴＤ（Ｎ）とがともにＨレベルあるいはともにＬレベルとなって一致する場合には、Ｈレベルの比較結果ＳＧ０〜ＳＧＮを出力する。
【００３１】
また、読み出しデータＲＤＢ（０）〜ＲＤＢ（Ｎ）と、対応する期待値データＴＤ（０）〜ＴＤ（Ｎ）とが一致しない場合には、Ｌレベルの比較結果ＳＧ０〜ＳＧＮを出力する。
【００３２】
前記第一の切換回路１４は、前記比較結果ＳＧ０がＮチャネルＭＯＳトランジスタで構成される転送トランジスタ１６及び２段のインバータ回路１７ａ，１７ｂを介して出力信号ＣＰ０として出力される。
【００３３】
前記転送トランジスタ１６のゲートには、前記ラッチ回路ＬＢ（０）のラッチデータＬＣＰ（０）がインバータ回路１８ａ，１８ｂを介して入力される。従って、ラッチデータＬＣＰ（０）がＨレベルとなると、転送トランジスタ１６がオンされて、比較結果ＳＧ０と同相の出力信号ＣＰ０が出力される。
【００３４】
前記インバータ回路１７ａの出力信号は、ＮＡＮＤ回路１９に入力され、そのＮＡＮＤ回路１９にはパワーオンリセット回路２から出力されるリセット信号ＲＳが入力される。ＮＡＮＤ回路１９の出力信号は、インバータ回路１７ａに入力される。
【００３５】
前記リセット信号ＲＳは、電源投入時に所定時間に限りＬレベルとなるパルス信号である。従って、電源投入時にはインバータ回路１７ａとＮＡＮＤ回路１９とがラッチ回路として動作して、出力信号ＣＰ０がＨレベルにラッチされる。
【００３６】
前記比較結果ＳＧ１は、転送トランジスタ２０及びインバータ回路２１ａ，２１ｂを介して出力信号ＣＰ１として出力される。また、インバータ回路２１ａの出力信号はＮＡＮＤ回路２２に入力され、そのＮＡＮＤ回路２２には前記リセット信号ＲＳが入力され、ＮＡＮＤ回路２２の出力信号はインバータ回路２１ａに入力される。従って、電源投入時にはインバータ回路２１ａとＮＡＮＤ回路２２とがラッチ回路として動作して、出力信号ＣＰ１がＨレベルにラッチされる。
【００３７】
前記インバータ回路１８ａの出力信号は、インバータ回路２３を介してＮＡＮＤ回路２４に入力される。前記ＮＡＮＤ回路２４にはラッチデータＬＣＰ（１）が入力され、そのＮＡＮＤ回路２４の出力信号がインバータ回路２５を介して転送トランジスタ２０のゲートに入力される。
【００３８】
また、前記比較結果ＳＧ０は、転送トランジスタ２６を介して前記インバータ回路２１ａに入力される。比較結果ＳＧ２〜ＳＧＮも、比較結果ＳＧ１と同様な回路に入力される。
【００３９】
このように構成された第一の切換回路１４では、ラッチデータＬＣＰ（０）〜ＬＣＰ（Ｎ）がすべてＨレベルであれば、転送トランジスタ１６，２０等がオンされる。
【００４０】
すると、比較結果ＳＧ０が出力信号ＣＰ０として出力されるというように、比較結果ＳＧ０〜ＳＧＮが出力信号ＣＰ０〜ＣＰＮとして出力される。
また、例えばラッチデータＬＣＰ（０）がＬレベルとなると、転送トランジスタ１６，２０がオフされ、転送トランジスタ２６がオンされる。すると、比較結果ＳＧ０は転送トランジスタ２６を介してインバータ回路２１ａに入力される。従って、比較結果ＳＧ０が出力信号ＣＰ１として出力されることになる。
【００４１】
同様に、比較結果ＳＧ１は出力信号ＣＰ２として出力され、比較結果ＳＧ２は出力信号ＣＰ３として出力され、比較結果ＳＧＮは出力信号ＣＰ（Ｊ０）として出力される。
【００４２】
このような動作により、比較結果ＳＧ０〜ＳＧＮは、対応する出力端子を一つずつシフトして、出力信号ＣＰ１〜ＣＰ（Ｊ０）として出力される。
図６は、前記ラッチ回路ＬＢ（０）〜ＬＢ（Ｎ），ＬＪ（０）〜ＬＪ（ｎ）の具体的構成を示す。同図においては、前記メモリセルアレイ４において一つの冗長ＩＯメモリブロックＪ（０）を備えた場合のラッチ回路を示す。そして、前記第一の切換回路１４はこのラッチ回路ＬＢ（０）〜ＬＢ（Ｎ），ＬＪ（０）に対応するように、比較結果ＳＧ０〜ＳＧＮより一つ多い出力信号ＣＰ０〜ＣＰＮ，ＣＰＪ０を出力する構成となっている。
【００４３】
前記ラッチ回路ＬＢ（０）の構成を説明すると、前記第一の切換回路１４の出力信号ＣＰ０は、ＮＡＮＤ回路２７に入力され、そのＮＡＮＤ回路２７の出力信号はＮＡＮＤ回路２８に入力され、そのＮＡＮＤ回路２８の出力信号が前記ＮＡＮＤ回路２７に入力される。また、前記ＮＡＮＤ回路２８には前記リセット信号ＲＳが入力される。
【００４４】
前記ＮＡＮＤ回路２７の出力信号はＮＡＮＤ回路２９に入力され、そのＮＡＮＤ回路２９にはＢＩＳＴ終了信号ＢＥが入力される。ＢＩＳＴ終了信号ＢＥは、前記ＢＩＳＴ回路３による１回の動作試験、すなわち全メモリブロックＢ（０）〜Ｂ（Ｎ），Ｊ（０）〜Ｊ（ｎ）の全メモリセルに対する書き込み動作及び読み出し動作が終了する毎にＨレベルとなるパルス信号である。
【００４５】
従って、ＮＡＮＤ回路２７の出力信号がＬレベルであればＮＡＮＤ回路２９の出力信号は、ＢＩＳＴ終了信号ＢＥに関わらずＨレベルとなる。また、ＮＡＮＤ回路２７の出力信号がＨレベルであれば、ＮＡＮＤ回路２９の出力信号はＢＩＳＴ終了信号ＢＥの入力に基づいてＬレベルとなる。
【００４６】
前記ＮＡＮＤ回路２９の出力信号は、インバータ回路３０を介してＮＯＲ回路３１に入力される。前記ＮＯＲ回路３１の出力信号は、ラッチデータＬＣＰ（０）として出力されるとともに、ＮＯＲ回路３２に入力される。また、ＮＯＲ回路３２には前記リセット信号ＲＳがインバータ回路３３を介して入力される。前記ＮＯＲ回路３２の出力信号は前記ＮＯＲ回路３１に入力される。
【００４７】
このようなラッチ回路ＬＢ（０）では、電源投入に基づいて、リセット信号ＲＳが所定時間Ｌレベルとなると、ＮＡＮＤ回路２８の出力信号はＨレベルとなる。このとき、第一の切換回路１４の出力信号ＣＰ０はＨレベルにリセットされているので、ＮＡＮＤ回路２７の出力信号はＬレベルとなる。
【００４８】
すると、ＮＡＮＤ回路２９の出力信号はＨレベルとなり、インバータ回路３０の出力信号はＬレベルとなる。また、ＮＯＲ回路３２の出力信号は、リセット信号ＲＳに基づいてＬレベルとなっている。
【００４９】
従って、リセット信号ＲＳの入力に基づいて、ラッチデータＬＣＰ（０）はＨレベルにリセットされる。
この状態で、入力信号ＣＰ０がＨレベルに維持されていれば、ラッチデータＬＣＰ（０）はＨレベルに維持される。
【００５０】
また、入力信号ＣＰ０がＬレベルとなると、ＮＡＮＤ回路２７の出力信号がＨレベルとなる。このとき、リセット信号ＲＳはＨレベルに復帰しているので、ＮＡＮＤ回路２８の出力信号はＬレベルとなり、ＮＡＮＤ回路２７の出力信号はＨレベルにラッチされる。このＮＡＮＤ回路２７のラッチ信号は、その後、入力信号ＣＰ０がＨレベルに復帰しても、Ｈレベルに維持される。
【００５１】
そして、ＢＩＳＴ終了信号ＢＥがＨレベルとなると、ＮＡＮＤ回路２９の出力信号がＬレベルとなり、インバータ回路３０の出力信号がＨレベルとなる。
すると、ＮＯＲ回路３１の出力信号はＬレベルとなる。このとき、リセット信号ＲＳはＨレベルであり、インバータ回路３３の出力信号はＬレベルであることから、ＮＯＲ回路３２の出力信号はＨレベルとなり、ラッチデータＬＣＰ（０）はＬレベルにラッチされる。従って、Ｌレベルの入力信号ＣＰ０が入力されると、ラッチデータＬＣＰ（０）がＬレベルとなる。
【００５２】
ラッチ回路ＬＢ（１）〜ＬＢ（Ｎ），ＬＪ（０）の構成は、ラッチ回路ＬＢ（０）と同様である。
前記ラッチ回路ＬＢ（０）〜ＬＢ（Ｎ），ＬＪ（０）のラッチデータＬＣＰ（０）〜ＬＣＰ（Ｎ）,ＬＣＰ（Ｊ０）が入力される前記第二の切換回路１５の具体的構成を図７に従って説明する。
【００５３】
ラッチデータＬＣＰ（０）は、転送トランジスタ３４を介して比較データＣＰＤ（０）として出力される。また、ラッチデータＬＣＰ（０）はインバータ回路３５，３６を介して前記転送トランジスタ３４のゲートに入力される。
【００５４】
ラッチデータＬＣＰ（１）は、転送トランジスタ３７を介して比較データＣＰＤ（０）として出力され、転送トランジスタ３８を介して比較データＣＰＤ（１）として出力される。前記転送トランジスタ３７のゲートには、前記インバータ回路３５の出力信号が入力される。
【００５５】
また、ラッチデータＬＣＰ（１）はＮＡＮＤ回路３９に入力され、そのＮＡＮＤ回路３９には前記インバータ回路３５の出力信号がインバータ回路４０を介して入力される。
【００５６】
前記ＮＡＮＤ回路３９の出力信号は、インバータ回路４１を介して前記転送トランジスタ３８のゲートに入力される。また、ラッチデータＬＣＰ（２）は転送トランジスタ４２を介して比較データＣＰＤ（１）として出力され、前記転送トランジスタ４２のゲートには前記ＮＡＮＤ回路３９の出力信号が入力される。
【００５７】
このようにして、各ラッチデータＬＣＰ（１）〜ＬＣＰ（Ｎ）はそれぞれ同様な切換回路に入力される。また、ラッチデータＬＣＰ（Ｊ０）は、転送トランジスタ４３を介して比較データＣＰＤ（Ｎ）として出力される。
【００５８】
このような構成により、ラッチデータＬＣＰ（０）〜ＬＣＰ（Ｎ）がすべてＨレベルとなると、各ラッチデータＬＣＰ（０）〜ＬＣＰ（Ｎ）が比較データＣＰＤ（０）〜ＣＰＤ（Ｎ）として出力される。
【００５９】
また、例えばラッチデータＬＣＰ（０）のみがＬレベルとなると、転送トランジスタ３４がオフされるとともに、転送トランジスタ３７がオンされて、ラッチデータＬＣＰ（１）が比較データＣＰＤ（０）として出力される。
【００６０】
また、転送トランジスタ３８がオフされるとともに、転送トランジスタ４２がオンされて、ラッチデータＬＣＰ（２）が比較データＣＰＤ（１）として出力される。
【００６１】
このようにして、各ラッチデータが一つずつシフトして出力され、ラッチデータＬＣＰ（ｎ）が比較データＣＰＤ（ｎ−１）として出力される。また、ラッチデータＬＣＰ（Ｊ０）が比較データＣＰＤ（Ｎ）として出力される。
【００６２】
例えばラッチデータＬＣＰ（１）のみがＬレベルとなると、ラッチデータＬＣＰ（０）は比較データＣＰＤ（０）として出力され、ラッチデータＬＣＰ（２）〜ＬＣＰ（Ｎ）が一つずつシフトされて、比較データＣＰＤ（１）〜ＣＰＤ（Ｎ-１）として出力される。
【００６３】
また、ラッチデータＬＣＰ（Ｊ０）が比較データＣＰＤ（Ｎ）として出力される。
前記比較データＣＰＤ（０）〜ＣＰＤ（Ｎ）は、前記判定回路８に出力される。前記判定回路８は、図８に示すように、カウンター回路４４を備え、ＢＩＳＴ回路３により当該各メモリセルアレイ４の１回の動作試験が終了するたびに、「１」カウントアップする。
【００６４】
そして、冗長ＩＯメモリブロックＪ（０）〜Ｊ（ｎ）の数より「１」多い「ｎ＋２」回の動作試験を行った後に、比較データＣＰＤ（０）〜ＣＰＤ（Ｎ）がすべて「１」でない場合には、当該メモリセルアレイ４が不良であることを判定した判定結果Ｊを出力する。
【００６５】
次に、上記のように構成されたメモリマクロ１ａ，１ｂの動作を説明する。
図１０に示すように、電源の投入後、各メモリマクロ１ａ，１ｂではＢＩＳＴ回路３による１回目の動作試験が開始される（ステップ１）。
【００６６】
このとき、電源の投入に基づいて、データ比較部７の第一の切換回路１４では、リセット信号ＲＳにより各出力信号ＣＰ０〜ＣＰＮ，ＣＰＪ０〜ＣＰＪｎがＨレベルにリセットされる。
【００６７】
また、リセット信号ＲＳにより、各ラッチ回路ＬＢ（０）〜ＬＢ（Ｎ），ＬＪ（０）〜ＬＪ（ｎ）がＨレベルにリセットされる。そして、第二の切換回路１５から出力される比較データＣＰＤ（０）〜ＣＰＤ（Ｎ）はＨレベルにリセットされる。
【００６８】
このようなリセット動作に続いて、動作試験が開始されると、各ＩＯメモリブロックＢ（０）〜Ｂ（Ｎ）の各記憶セルに対し、ＢＩＳＴ回路３によりデータの書き込み動作が行われ、次いで書き込まれたデータの読み出し動作が行われる。
【００６９】
そして、各ＩＯメモリブロックＢ（０）〜Ｂ（Ｎ）から読み出された読み出しデータＲＤＢ(０)〜ＲＤＢ（Ｎ）がＢＩＳＴ回路３の比較回路１３で期待値ＴＤ（０）〜ＴＤ（Ｎ）と順次比較され、その比較結果ＳＧ０〜ＳＧＮが第一の切換回路１４に順次出力される。
【００７０】
第一の切換回路１４では、ラッチ回路ＬＢ（０）〜ＬＢ（Ｎ），ＬＪ（０）〜ＬＪ（ｎ）のラッチデータＬＣＰ（０）〜ＬＣＰ（Ｎ），ＬＣＰ（Ｊ０）〜（Ｊｎ）がＨレベルであることから、入力信号ＳＧ０〜ＳＧＮが出力信号ＣＰ０〜ＣＰＮとして順次出力される。
【００７１】
ラッチ回路ＬＢ（０）〜ＬＢ（Ｎ），ＬＪ（０）〜ＬＪ（ｎ）では、入力信号ＣＰ０〜ＣＰＮがＨレベルであれば、電源投入時にリセットされた状態に維持される。
【００７２】
入力信号ＣＰ０〜ＣＰＮのうち、例えば入力信号ＣＰ１がＬレベルとなると、その入力信号ＣＰ１が入力されるＮＡＮＤ回路２７の出力信号がＨレベルにラッチされる。このとき、出力信号ＬＣＰ（１）はＨレベルに維持されている。
【００７３】
このようにして、１回目の動作試験が終了した後、ＢＩＳＴ終了信号ＢＥがＨレベルに立ち上がると、ラッチデータＬＣＰ（１）のみがＬレベルにラッチされ（図９においてはFail）、第二の切換回路１５から出力される比較データＣＰＤ（０）〜ＣＰＤ（Ｎ）のうちＣＰＤ（１）のみがＬレベルとなる。
【００７４】
ラッチ回路ＬＢ（０）〜ＬＢ（Ｎ），ＬＪ（０）〜ＬＪ（ｎ）のラッチデータＬＣＰ（０）〜ＬＣＰ（Ｎ），ＬＣＰ（Ｊ０）〜（Ｊｎ）は、ＩＯ冗長回路１２及び第一の切換回路１４に入力される。
【００７５】
ＩＯ冗長回路１２では、ラッチデータＬＣＰ（０）〜ＬＣＰ（Ｎ），ＬＣＰ（Ｊ０）〜（Ｊｎ）に基づいて冗長動作を行う（ステップ２）。上記のように、ラッチデータＬＣＰ（１）のみがＬレベルであると、ＩＯ冗長回路１２では、対応するＩＯメモリブロック（Ｂ１）へのアクセスを冗長ＩＯメモリブロック（Ｊ０）に切換える。
【００７６】
ステップ２において、ラッチデータＬＣＰ（０）〜ＬＣＰ（Ｎ），ＬＣＰ（Ｊ０）〜（Ｊｎ）がすべてＨレベルであれば、冗長動作は行われない。
次いで、判定回路８内のカウンタ回路４４のカウント値がオーバーフローしていなければ、すなわち冗長ＩＯメモリブロックの数ｎ＋１に対し、カウント値がｎ＋２を越えていなければ、ステップ１に復帰して、２回目の動作試験が行われる（ステップ２，３）。
【００７７】
このとき、ラッチデータＬＣＰ（１）により第一の切換回路１４では、図９に示すように、比較回路１３の出力信号ＳＧ０は出力信号ＣＰ０として出力される。しかし、比較回路１３の出力信号ＳＧ１〜ＳＧＮは一つずつシフトされてラッチ回路ＬＢ（２）〜ＬＪ（０）に入力される。そして、ラッチ回路ＬＢ（１）のラッチデータＬＣＰ（１）はＬレベルに維持される。
【００７８】
また、第二の切換回路１５では、ラッチデータＬＣＰ（０）は比較データＣＰＤ(０)として出力される。そして、ラッチデータＬＣＰ（２）〜ＬＣＰ（Ｊ０）が一つずつシフトされて、比較データＣＰＤ（１）〜ＣＰＤ（Ｎ）として出力される。
【００７９】
また、新たに比較結果ＳＧ０〜ＳＧＮのいずれかがＬレベルとなると、２回目の動作試験の終了とともに、対応するラッチデータがＬレベルにラッチされ、ＩＯ冗長回路１２において新たな冗長動作が行われる。
【００８０】
このような動作試験がｎ＋２回行われた後、判定回路８で比較データＣＰＤ（０）〜ＣＰＤ（Ｎ）がすべてＨレベルであるか否か、すなわち当該メモリセルアレイが正常に動作しているか否かを判定する（ステップ４）。
【００８１】
比較データＣＰＤ（０）〜ＣＰＤ（Ｎ）がすべてＨレベルであれば、冗長動作により選択されたメモリブロックが正常に動作している良品と判定され、通常動作に移行する（ステップ５）。
【００８２】
また、比較データＣＰＤ（０）〜ＣＰＤ（Ｎ）のいずれかがＬレベルである場合には、冗長動作に関わらず選択されたメモリブロックのいずれかが正常に動作していない不良品と判定される（ステップ６）。
【００８３】
上記のように構成されたＢＩＳＴ回路３では、次に示す作用効果を得ることができる。
（１）ＢＩＳＴ回路３での動作試験による不良ＩＯメモリブロックの検出動作と並行して、不良ＩＯメモリブロックを冗長ＩＯメモリブロックに冗長する自己冗長動作を行うことができる。
（２）不良ＩＯメモリブロックが検出されたとき、その不良情報をラッチ回路でラッチしながら、複数回の動作試験を繰り返し行うことができる。
（３）動作試験は、冗長ＩＯメモリブロックの数ｎ＋１に対し、ｎ＋２回まで行い、その結果、比較データＣＰＤ（０）〜ＣＰＤ（Ｎ）がすべてＨレベルとなれば、良品として判定することができる。また、ｎ＋２回の動作試験の後、比較データＣＰＤ（０）〜ＣＰＤ（Ｎ）のいずれかがＬレベルとなったとき、不良品と判定することができる。
（４）データ比較部７では、不良となったＩＯメモリブロックに対応するラッチ回路で不良情報をラッチすることができる。また、その不良情報に基づいて、メモリセルアレイ４内のＩＯ冗長回路１２で自己冗長動作を行うことができる。
（５）データ比較部７では、ラッチ回路ＬＢ（０）〜ＬＢ（Ｎ），ＬＪ（０）〜ＬＪ（ｎ）の前後に設けた第一及び第二の切換回路１４，１５により、不良情報をラッチしたラッチ回路以外のラッチ回路で比較結果を転送して、比較データＣＰＤ（０）〜ＣＰＤ（Ｎ）として判定回路８に出力することができる。
（６）第一及び第二の切換回路１４，１５では、ＩＯメモリブロックに対応するラッチ回路で不良情報をラッチしたとき、次の回の動作試験では、不良情報をラッチしたラッチ回路を回避するように、一つずつシフトしたラッチ回路を介して比較結果を転送することができる。
（７）前記ラッチ回路ＬＢ（０）〜ＬＢ（Ｎ），ＬＪ（０）〜ＬＪ（ｎ）は、１回の動作試験が終了する毎に入力されるＢＩＳＴ終了信号ＢＥに基づいて、不良情報をラッチすることができる。
（８）不良ＩＯメモリブロックの検出動作と並行して、自己冗長動作を行うためのデータ比較部７を論理回路及び転送トランジスタのみで簡便に構成することができる。
（９）ＢＩＳＴ回路３以外に、故障情報を格納する記憶手段、不良アドレス発生回路、アドレス変換回路、あるいはレジスタ等をチップ内に搭載する必要がない。このため、チップ面積の大型化を防止することができる。
（１０）チップ外部に冗長アドレスデータを生成するためのデータ変換処理装置を必要としない。
【００８４】
（第二の実施の形態）
前記第一の実施の形態のＢＩＳＴ回路３では、冗長ＩＯメモリブロック(Ｊ０)〜（Ｊｎ）の冗長系統数ｎ＋１に対し、必ずｎ＋２回の動作試験を行った後に、当該メモリセルアレイ４の良否を判定した。この実施の形態では、１回の動作試験を行う毎に良否判定を行い、良品と判定された場合には、直ちに通常動作に移行する機能をＢＩＳＴ回路３に備えるものである。
【００８５】
このような機能を備えたＢＩＳＴ回路３の動作を図１１に従って説明する。
電源の投入後、各メモリマクロ１ａ，１ｂではＢＩＳＴ回路３による１回目の動作試験が開始される（ステップ１１）。動作試験時のＢＩＳＴ回路３の動作は、第一の実施の形態と同様である。
【００８６】
次いで、１回目の動作試験による比較データＣＰＤ（０）〜（Ｎ）に基づく判定回路８の判定結果Ｊに基づいて、当該メモリセルアレイの良否判定を行う（ステップ１２）。
【００８７】
そして、比較データＣＰＤ（０）〜（Ｎ）がすべてＨレベルであって、判定結果Ｊが良品であれば、通常動作に移行する（ステップ１７）。
ステップ１２において、比較結果が不良であれば、比較データＣＰＤ（０）〜（Ｎ）のうち、Ｌレベルとなった比較データの数、すなわち不良セルが存在するＩＯメモリブロックの数と冗長ＩＯメモリブロックの数とを比較する（ステップ１３）。
【００８８】
不良セルが存在するＩＯメモリブロックの数が、冗長ＩＯメモリブロックの数を越えていれば、直ちに不良品と判定して、動作試験を終了する（ステップ１６）。
【００８９】
不良セルが存在するＩＯメモリブロックの数が、冗長ＩＯメモリブロックの数を越えていなければ、ステップ１４において、カウンタ回路４４のカウント値が（ｎ＋２）を越えているか否かを判定する。
【００９０】
カウント値が（ｎ＋２）を越えていない場合には、ラッチ回路のラッチデータＬＣＰ（０）〜ＬＣＰ（Ｎ），ＬＣＰ（Ｊ０）〜ＬＣＰ（Ｊｎ）に基づいて、ＩＯ冗長回路１２により冗長動作を行う（ステップ１５）。そして、ステップ１１に移行して、上記動作を繰り返す。
【００９１】
また、ステップ１４において、カウント値が（ｎ＋２）を越えている場合には、不良と判定してステップ１６に移行する。
上記のように動作するＢＩＳＴ回路３では、前記実施の形態で得られた作用効果に加えて、次に示す作用効果を得ることができる。
（１）動作試験の結果、良品と判定された場合には、冗長系統数ｎ＋１に対し（ｎ＋２）回の動作試験を行う前に、動作試験を終了することができる。従って、良品に対する動作試験時間の短縮を図ることができる。
（第三の実施の形態）
図１２は、第三の実施の形態を示す。この実施の形態は、第一の実施の形態のデータ比較部７の構成を一部変更したものである。第一の実施の形態と同一構成部分は同一符号を付して説明する。
【００９２】
比較回路１３は、前記実施の形態と同様に構成され、その比較結果ＳＧ０〜ＳＧＮ，ＳＧＪ０〜ＳＧＪｎは第一のバイパス回路４５を介して前記ラッチ回路ＬＢ（０）〜ＬＢ（Ｎ）にそれぞれ入力される。なお、各比較回路１３に入力される読み出しデータＲＤＢ（０）〜ＲＤＢ（Ｎ）は各メモリブロックからＩＯ冗長回路１２を経ることなく入力されるデータである。
【００９３】
比較回路４６は、前記冗長ＩＯメモリブロック（Ｊ０）〜（Ｊｎ）と同数設けられ、各冗長ＩＯメモリブロック（Ｊ０）〜（Ｊｎ）の読み出しデータＱＤＢ（Ｊ０）〜（Ｊｎ）と、期待値データＴＤ（Ｊ０）〜（Ｊｎ）が入力される。
【００９４】
前記読み出しデータＱＤＢ（Ｊ０）〜（Ｊｎ）は、図３に示すように、ＩＯ冗長回路１２を経ることなく入力される。
期待値データＴＤ（Ｊ０）〜（Ｊｎ）は、動作試験時に各冗長ＩＯメモリブロック（Ｊ０）〜（Ｊｎ）に書き込まれる書き込みデータと等しいデータである。なお、この実施の形態では、動作試験時に各ＩＯメモリブロック（Ｂ０）〜（ＢＮ）及び各冗長ＩＯメモリブロック（Ｊ０）〜（Ｊｎ）に対してデータの書き込み動作及び読み出し動作が行われる。
【００９５】
前記比較回路４６の比較結果ＳＧ（Ｊ０）〜ＳＧ（Ｊｎ）は、前記第一のバイパス回路４５を介して前記ラッチ回路ＬＢ（Ｊ０）〜ＬＢ（Ｊｎ）にそれぞれ入力される。
【００９６】
前記ラッチ回路ＬＢ（０）〜ＬＢ（Ｎ），ＬＢ（Ｊ０）〜ＬＢ（Ｊｎ）は前記第一の実施の形態と同様に構成される。
前記各ラッチ回路ＬＢ（０）〜ＬＢ（Ｎ），ＬＢ（Ｊ０）〜ＬＢ（Ｊｎ）のラッチデータＬＣＰ（０）〜ＬＣＰ（Ｎ），ＬＣＰ（Ｊ０）〜ＬＣＰ（Ｊｎ）は、第一の実施の形態と同様に構成された第二の切換回路１５に出力されるとともに、前記ＩＯ冗長回路１２に出力される。
【００９７】
前記第二の切換回路１５の出力信号は、第二のバイパス回路４７を介して、比較データＣＰＤ（０）〜ＣＰＤ（Ｎ），ＣＰＤ（Ｊ０）〜ＣＰＤ（Ｊｎ）として出力される。また、第二のバイパス回路４７には前記比較回路１３，４６の比較結果ＳＧ０〜ＳＧＮ，ＳＧＪ０〜ＳＧＪｎが入力される。
【００９８】
図１４は、前記比較回路１３，４６及び第一のバイパス回路４５の具体的構成を示し、図１５はラッチ回路ＬＢ（０）〜ＬＢ（Ｎ），ＬＢ（Ｊ０）の構成を示す。ラッチ回路ＬＢ（０）〜ＬＢ（Ｎ），ＬＢ（Ｊ０）は、入力信号がＣＰＢ（０）〜ＣＰＢ（Ｎ），ＣＰＢ（Ｊ０）となる点を除いて第一の実施の形態と同様である。
【００９９】
また、図１４、図１５に示す構成は、前記第一の実施の形態と同様に、１つの冗長ＩＯメモリブロックを備えた場合に対応するものである。
前記比較回路４６は、比較回路１３と同様にＥＮＯＲ回路で構成される。第一のバイパス回路４５は、各比較回路１３，４６の比較結果ＳＧ０〜ＳＧＮ，ＳＧＪ０がそれぞれＮＯＲ回路４８に入力され、そのＮＯＲ回路４８の出力信号がインバータ回路４９に入力される。
【０１００】
前記ＮＯＲ回路４８にはバイパス信号ＢＰが入力される。前記バイパス信号ＢＰは、１回目の動作試験時にはＬレベルに維持され、２回目の動作試験時にＨレベルとなる信号である。そして、各インバータ回路４９から出力信号ＣＰＢ（０）〜ＣＰＢ（Ｎ），ＣＰＢ（Ｊ０）がラッチ回路ＬＢ（０）〜ＬＢ（Ｎ），ＬＢ（Ｊ０）にそれぞれ出力される。
【０１０１】
従って、バイパス信号ＢＰがＬレベルであれば、各比較回路１３，４６の比較結果ＳＧ０〜ＳＧＮ，ＳＧＪ０がラッチ回路ＬＢ（０）〜ＬＢ（Ｎ），ＬＢ（Ｊ０）にそのまま出力される。
【０１０２】
また、バイパス信号ＢＰがＨレベルとなれば、各ラッチ回路ＬＢ（０）〜ＬＢ（Ｎ），ＬＢ（Ｊ０）の入力信号はすべてＨレベルとなる。従って、２回目の動作試験では１回目の動作試験時のラッチデータＬＣＰ（０）〜ＬＣＰ（Ｎ），ＬＣＰ（Ｊ０）が維持される。
【０１０３】
図１６に示す第二の切換回路１５は、第一の実施の形態と同様である。第二のバイパス回路４７は、第二の切換回路１５から出力される各ラッチデータＬＣＰ（０）〜ＬＣＰ（Ｎ），ＬＣＰ（Ｊ０）について、それぞれ同様な回路で構成される。そこで、ラッチデータＬＣＰ（０）若しくは同ＬＣＰ（１）が入力される回路について説明する。
【０１０４】
第二の切換回路１５の出力信号は、ＮＡＮＤ回路５０に入力され、そのＮＡＮＤ回路５０には前記バイパス信号ＢＰがインバータ回路５１を介して入力される。
【０１０５】
ＮＡＮＤ回路５２には前記比較結果ＳＧ０が入力され、そのＮＡＮＤ回路５２には前記バイパス信号ＢＰが入力される。そして、ＮＡＮＤ回路５０，５２の出力信号がＮＡＮＤ回路５３に入力され、そのＮＡＮＤ回路５３から比較データＣＰＤ（０）が出力される。
【０１０６】
このような構成により、バイパス信号ＢＰがＬレベルであれば、ＮＡＮＤ回路５０の出力信号がＨレベルに固定されるため、第二の切換回路１５の出力信号がそのまま比較データＣＰＤ（０）として出力される。また、バイパス信号ＢＰがＨレベルであれば、ＮＡＮＤ回路５０の出力信号がＨレベルに固定されるため、比較結果ＳＧ０が比較データＣＰＤ（０）として出力される。
【０１０７】
従って、バイパス信号ＢＰがＨレベルであれば、ラッチ回路ＬＢ（０）〜ＬＢ（Ｎ），ＬＢ（Ｊ０）及び第二の切換回路１５を経ることなく、第二のバイパス回路４７にバイパスされて、比較データＣＰＤ（０）〜ＣＰＤ（Ｎ）として出力される。
【０１０８】
図１３に示す判定回路５４は、第一の実施の形態の判定回路８からカウンタ回路４４を省略した構成である。
次に、上記のように構成されたメモリマクロの動作を図１７に従って説明する。
【０１０９】
電源の投入後、各メモリマクロ１ａ，１ｂではＢＩＳＴ回路３による１回目の動作試験が開始される（ステップ２１）。このとき、各ＩＯメモリブロック（Ｂ０）〜（ＢＮ）及び各冗長ＩＯメモリブロック（Ｊ０）〜（Ｊｎ）に対してデータの書き込み動作及び読み出し動作が行われる。
【０１１０】
そして、各ＩＯメモリブロック（Ｂ０）〜（ＢＮ）及び各冗長ＩＯメモリブロック（Ｊ０）〜（Ｊｎ）から読み出された読み出しデータが比較回路１３，４６で比較され、その比較結果ＳＧ０〜ＳＧＮ，ＳＧＪ０〜ＳＧＪｎが第一のバイパス回路４５に出力される。
【０１１１】
第一のバイパス回路４５にはＬレベルのバイパス信号ＢＰが入力されているので、比較結果ＣＰＢ（０）〜ＣＰＢ（Ｎ），ＣＰＢ（Ｊ０）〜ＣＰＢ（Ｊｎ）がラッチ回路ＬＢ（０）〜ＬＢ（Ｎ），ＬＢ（Ｊ０）〜ＬＢ（Ｊｎ）に入力される。
【０１１２】
ラッチ回路ＬＢ（０）〜ＬＢ（Ｎ），ＬＢ（Ｊ０）〜ＬＢ（Ｊｎ）の各ラッチデータＬＣＰ（０）〜ＬＣＰ（Ｎ），ＬＣＰ（Ｊ０）〜ＬＣＰ（Ｊｎ）は、リセット信号ＲＳによりすべてＨレベルにリセットされている。また、第二のバイパス回路４７にはＬレベルのバイパス信号ＢＰが入力されている。
【０１１３】
従って、第二のバイパス回路４７から出力される比較データＣＰＤ（０）〜ＣＰＤ（Ｎ），ＣＰＤ（Ｊ０）〜ＣＰＤ（Ｊｎ-１）はすべてＨレベルとなる。
次いで、１回目の動作試験が終了して、ＢＩＳＴ終了信号ＢＥがＨレベルとなると、比較結果ＳＧ０〜ＳＧＮ，ＳＧＪ０〜ＳＧＪｎがラッチ回路ＬＢ（０）〜ＬＢ（Ｎ），ＬＢ（Ｊ０）〜ＬＢ（Ｊｎ）に取り込まれてラッチされる。
【０１１４】
ラッチ回路ＬＢ（０）〜ＬＢ（Ｎ），ＬＢ（Ｊ０）〜ＬＢ（Ｊｎ）のラッチデータＬＣＰ（０）〜ＬＣＰ（Ｎ），ＬＣＰ（Ｊ０）〜ＬＣＰ（Ｊｎ）は、第二の切換回路１５に出力される。また、ラッチデータＬＣＰ（０）〜ＬＣＰ（Ｎ），ＬＣＰ（Ｊ０）〜ＬＣＰ（Ｊｎ）は、ＩＯ冗長回路１２に出力される。
【０１１５】
第二の切換回路１５では、ＬレベルのラッチデータＬＣＰを比較データＣＰＤとして出力しないようにシフト動作を行い、第二のバイパス回路４７を介して比較データＣＰＤ（０）〜ＣＰＤ（Ｎ）として出力する。
【０１１６】
次いで、比較データＣＰＤ（０）〜ＣＰＤ（Ｎ）が判定回路５４に入力されて、判定動作が行われる（ステップ２２）。すなわち、第二の切換回路１５によるシフト動作により、比較データＣＰＤ（０）〜ＣＰＤ（Ｎ）がすべてＨレベルであれば、判定回路５４は良品を示す判定結果Ｊを出力する。
【０１１７】
次いで、ラッチデータＬＣＰ（０）〜ＬＣＰ（Ｎ），ＬＣＰ（Ｊ０）〜ＬＣＰ（Ｊｎ）に基づいて、ＩＯ冗長回路１２で冗長動作を行い（ステップ２３）、通常動作に移行する（ステップ２４）。
【０１１８】
ステップ２２において、比較データＣＰＤ（０）〜ＣＰＤ（Ｎ）がすべてＨレベルとならない場合、すなわち不良となったＩＯメモリブロックの数が冗長ＩＯメモリブロックの数より多い場合、判定回路５４は不良と判定して動作を終了する（ステップ２５）。
【０１１９】
上記のような動作では、動作試験を１回のみ行い、冗長可能な範囲であれば良品と判定して通常動作に移行する。従って、不良となったＩＯメモリブロックを冗長ＩＯメモリブロックに冗長した後の動作試験は行っていない。
【０１２０】
そこで、新たな冗長経路についての動作試験を行う場合には、上記のような１回目の動作試験の終了後に、バイパス信号ＢＰをＨレベルとした状態で２回目の動作試験を行う。
【０１２１】
すると、各比較回路１３には、冗長後のＮ＋１個のメモリブロックからの読み出しデータが順次入力され、その比較結果ＳＧ０〜ＳＧＮが第二のバイパス回路４７に入力される。
【０１２２】
すると、比較結果ＳＧ０〜ＳＧＮが第二のバイパス回路４５から比較データＣＰＤ（０）〜ＣＰＤ（Ｎ）として出力される。この比較データＣＰＤ（０）〜ＣＰＤ（Ｎ）がすべてＨレベルであるか否かを判定回路５４で判定することにより、冗長後の良否判定が可能となる。
【０１２３】
上記各実施の形態は、次に示すように変更することもできる。
・ＢＩＳＴ回路３は、パワーオンリセット信号ＲＳの他に、ＢＩＳＴ制御信号をＢＩＳＴ回路３に入力して、動作試験を開始するようにしてもよい。
・上記のようなＢＩＳＴ回路３による冗長動作をともなう動作試験時を行った後、ＢＩＳＴ制御信号による動作試験を行うとき、新たな冗長動作を行わず、すでに設定された冗長結果を保持した状態で動作試験を行うようにする。すなわち、第三の実施の形態でバイパス信号ＢＰを入力してラッチ回路及び第二の切換回路をバイパスした状態とすれば、冗長結果を保持した状態で動作試験を行うことができる。このような動作試験を出荷試験時の電圧マージン試験に用いることができる。
・上記のようなＡＳＩＣチップの実使用時に、ＢＩＳＴ制御信号に基づいて動作試験を行うことにより、実使用時に新たに発生した不良に対し、冗長動作を行うこともできる。
（付記１）書き込みデータと、読み出しデータとを比較する比較回路と、
前記比較回路の比較結果に基づいて当該メモリセルアレイの良否判定を行う判定回路と、
前記比較回路と判定回路との間に介在されて、前記比較結果を前記判定回路に転送するとともに、該比較結果に基づく不良情報を１回の動作試験毎に自己冗長信号としてラッチして出力する自己冗長信号生成部と
を備えたことを特徴とする自己テスト回路。
（付記２）前記自己冗長信号生成部は、
前記比較結果をラッチして前記自己冗長信号として出力するラッチ回路と、
前記ラッチ回路が不良情報をラッチしたとき、当該ラッチ回路への比較結果の入力を他のラッチ回路にシフトして、自己冗長信号として維持する切換回路と
から構成したことを特徴とする付記１記載の自己テスト回路。
（付記３）前記自己冗長信号生成部は、
通常メモリブロック及び冗長メモリブロックに対応して設けられる比較回路と、
前記比較回路にそれぞれ対応して設けられ、前記比較結果をラッチして前記自己冗長信号として出力するラッチ回路と、
前記ラッチ回路が不良情報をラッチしたとき、そのラッチデータに基づく自己冗長信号で選択されたメモリブロックに対応するラッチ回路のラッチデータを比較データとして前記判定回路に出力する切換回路と
から構成したことを特徴とする付記１記載の自己テスト回路。
（付記４）通常メモリブロック及び冗長メモリブロックを備えたメモリセルアレイと、
前記各メモリブロックに対して、書き込み動作または読み出し動作とを試験する自己テスト回路と、
前記動作試験の試験結果により生成された冗長信号に基づいて、不良メモリブロックを前記冗長メモリブロックに冗長する冗長回路とを備えた半導体記憶装置であって、
前記自己テスト回路には、前記メモリブロックの書き込みデータと、読み出しデータとを比較する比較回路と、
前記比較回路の比較結果に基づいて当該メモリセルアレイの良否判定を行う判定回路と、
前記比較結果を前記判定回路に転送するとともに、前記冗長回路に出力する自己冗長信号生成部と
を備えたことを特徴とする半導体記憶装置。
（付記５）前記自己冗長信号生成部は、
前記通常メモリブロック及び冗長メモリブロックにそれぞれ対応して設けられ、前記比較結果をラッチして前記自己冗長信号として出力するラッチ回路と、
前記ラッチ回路が不良情報をラッチしたとき、当該ラッチ回路への比較結果の入力を他のラッチ回路にシフトして、自己冗長信号として維持する切換回路と
から構成したことを特徴とする付記４記載の半導体記憶装置。
（付記６）前記冗長回路により選択されるメモリブロックの数に対応して前記比較回路を設け、前記比較回路と前記ラッチ回路との間に第一の切換回路を設け、前記ラッチ回路と前記判定回路との間に第二の切換回路を設け、前記第一の切換回路は、前記ラッチ回路のラッチデータに基づいて、前記不良情報をラッチしたラッチ回路以外のラッチ回路に前記比較結果を出力し、前記第二の切換回路は、前記ラッチデータに基づいて、前記第一の切換回路から前記比較結果が入力されたラッチ回路のラッチデータを比較データとして前記判定回路に出力することを特徴とする付記５記載の半導体記憶装置。
（付記７）前記判定回路には、前記動作試験の回数をカウントするカウンタ回路を備え、前記自己テスト回路は、前記冗長メモリブロックの数を１超える回数まで動作試験を繰り返した後、前記判定回路で前記比較データを判定することを特徴とする付記６記載の半導体記憶装置。
（付記８）前記自己テスト回路は、１回の動作試験を行う毎に前記比較データを前記判定回路で判定し、不良情報を検出しないとき、動作試験を終了することを特徴とする付記６または７記載の半導体記憶装置。
（付記９）前記判定回路は、不良メモリブロック数が冗長メモリブロック数を越えたとき、動作試験を終了することを特徴とする付記８記載の半導体記憶装置。
（付記１０）前記自己冗長信号生成部は、
前記通常メモリブロック及び冗長メモリブロックに対応して設けられる比較回路と、
前記比較回路にそれぞれ対応して設けられ、前記比較結果をラッチして前記自己冗長信号として出力するラッチ回路と、
前記ラッチ回路が不良情報をラッチしたとき、そのラッチデータに基づく自己冗長信号で選択されたメモリブロックに対応するラッチ回路のラッチデータを比較データとして前記判定回路に出力する切換回路と
から構成したことを特徴とする付記４記載の半導体記憶装置。
（付記１１）前記ラッチ回路は、１回の動作試験が終了する毎に入力される終了信号に基づいて前記不良情報をラッチすることを特徴とする請求項４乃至１０のいずれかに記載の半導体記憶装置。
（付記１２）前記第一の切換回路は、不良情報をラッチしたラッチ回路のラッチデータに基づいて、当該ラッチ回路以降に入力される比較結果を一つずつシフトしたラッチ回路に入力し、前記第二の切換回路は、前記ラッチデータに基づいて、前記第一の切換回路が比較結果を入力するラッチ回路のラッチデータを前記比較データとして出力することを特徴とする付記６記載の半導体記憶装置。
（付記１３）前記比較回路と前記ラッチ回路の間に第一のバイパス回路を設け、前記切換回路と前記判定回路との間に第二のバイパス回路を設け、２回目の動作試験時に前記第一及び第二のバイパス回路に入力されるバイパス信号に基づいて、前記比較結果を比較データとして出力可能としたことを特徴とする付記１０記載の半導体記憶装置。
【０１２４】
【発明の効果】
以上詳述したように、この発明は、自己テスト機能と自己冗長機能とを併せ持つ半導体記憶装置を簡単な構成で提供することができる。
【図面の簡単な説明】
【図１】  ＡＳＩＣチップを示すブロック図である。
【図２】  ＢＩＳＴ回路を示すブロック図である。
【図３】  メモリセルアレイを示すブロック図である。
【図４】  第一の実施の形態のデータ比較部を示すブロック図である。
【図５】  比較回路及び第一の切換回路を示す回路図である。
【図６】  ラッチ回路を示す回路図である。
【図７】  第二の切換回路を示す回路図である。
【図８】  判定回路を示すブロック図である。
【図９】  データ比較部の動作を示す説明図である。
【図１０】  第一の実施の形態の動作を示すフローチャート図である。
【図１１】  第二の実施の形態の動作を示すフローチャート図である。
【図１２】  第三の実施の形態のデータ比較部を示すブロック図である。
【図１３】  第三の実施の形態の判定回路を示すブロック図である。
【図１４】  比較回路及び第一のバイパス回路を示す回路図である。
【図１５】  ラッチ回路を示す回路図である。
【図１６】  第二の切換回路及び第二のバイパス回路を示す回路図である。
【図１７】  第三の実施の形態の動作を示すフローチャート図である。
【符号の説明】
３          自己テスト回路（ＢＩＳＴ回路）
８，５４      判定回路
１２        冗長回路（ＩＯ冗長回路）
１３，４６        比較回路
１４      自己冗長信号生成部（第一の切換回路）
１５      自己冗長信号生成部（第二の切換回路）
ＬＢ０〜ＬＪｎ      自己冗長信号生成部（ラッチ回路）
Ｂ（０）〜Ｂ（Ｎ）      通常メモリブロック
Ｊ（０）〜Ｊ（ｎ）      冗長メモリブロック
【図１】
0004137474.tif 000002
【図２】
0004137474.tif 000003
【図３】
0004137474.tif 000004
【図４】
0004137474.tif 000005
【図５】
0004137474.tif 000006
【図６】
0004137474.tif 000007
【図７】
0004137474.tif 000008
【図８】
0004137474.tif 000009
【図９】
0004137474.tif 000010
【図１０】
0004137474.tif 000011
【図１１】
0004137474.tif 000012
【図１２】
0004137474.tif 000013
【図１３】
0004137474.tif 000014
【図１４】
0004137474.tif 000015
【図１５】
0004137474.tif 000016
【図１６】
0004137474.tif 000017
【図１７】
0004137474.tif 000018