(57)【要約】【課題】不良が発生した状態を容易に把握することができ、かつ不良情報を格納するメモリの容量が少なくともすべての不良情報を収集することができるメモリテスト回路及びメモリテスト方法を提供すること。【解決手段】  本発明にかかるメモリテスト回路は、テストパタンの一部を構成し、複数の動作からなる部分パタンを指定するパタンモード信号に応じてメモリ２に対するテストを実行するとともに、パタンモード信号を不良情報の一部として不良情報格納レジスタ１７に格納するものである。また、予め設定された不良情報格納方法情報に応じて不良情報を不良情報格納レジスタ１７に格納するか否かを判定する格納判定回路１６を備えている。【選択図】  図５
2007172778.tif 000002
【特許請求の範囲】
【請求項１】
メモリのテストを行なうためのメモリテスト回路であって、
テストパタンの一部を構成し、複数の動作からなる部分パタンを指定するパタンモード信号に応じて前記メモリに対するテストを実行するとともに、前記パタンモード信号を不良情報の一部として格納するメモリテスト回路。
【請求項２】
前記メモリテスト回路は、
前記パタンモード信号に応じたテストパタンを生成するテストパタン生成回路と、
前記パタンモード信号に応じた期待値を生成する期待値生成回路と、
前記メモリの出力データと、前記期待値生成回路により生成された期待値とを比較し、不良を検出する期待値比較回路と、
前記期待値比較回路において検出された不良情報に、前記パタンモード信号を含めて格納する不良情報格納手段とを備えたことを特徴とする請求項１記載のメモリテスト回路。
【請求項３】
さらに、前記部分パタンを構成する複数の動作の数をカウントするカウンタを備え、
前記期待値比較回路において検出された不良に対応するカウント値を当該不良情報の一部として前記不良情報格納手段に格納することを特徴とする請求項２記載のメモリテスト回路。
【請求項４】
予め設定された不良情報格納方法情報に応じて前記期待値比較回路において検出された不良情報を前記不良情報格納手段に格納するか否かを判定する格納判定回路をさらに備えたことを特徴とする請求項２記載のメモリテスト回路。
【請求項５】
前記不良情報格納方法情報は、検出された不良情報のうち格納すべき不良情報を検出開始からの順位情報を特定することによって指定する情報を含み、
前記格納判定回路は、当該順位情報に応じた不良情報を前記不良情報格納手段に格納することを特徴とする請求項４記載のメモリテスト回路。
【請求項６】
前記不良情報格納方法情報は、検出された不良情報のうち格納すべき不良情報をアドレスを条件として指定する情報を含み、
前記格納判定手段は、当該条件に応じた不良情報を前記不良情報格納手段に格納することを特徴とする請求項４記載のメモリテスト回路。
【請求項７】
メモリのテストを行なうためのメモリテスト回路であって、
前記メモリの不良情報を検出する不良情報検出手段と、
予め設定された不良情報格納方法情報に応じて前記不良情報検出手段によって検出された不良情報を不良情報格納手段に格納するか否かを判定する格納判定手段とを備えたメモリテスト回路。
【請求項８】
前記不良情報格納方法情報は、検出された不良情報のうち格納すべき不良情報を検出開始からの順位情報を特定することによって指定する情報を含み、
前記格納判定手段は、当該順位情報に応じた不良情報を前記不良情報格納手段に格納することを特徴とする請求項７記載のメモリテスト回路。
【請求項９】
前記不良情報格納方法情報は、検出された不良情報のうち格納すべき不良情報をアドレスを条件として指定する情報を含み、
前記格納判定手段は、当該条件に応じた不良情報を前記不良情報格納手段に格納することを特徴とする請求項７記載のメモリテスト回路。
【請求項１０】
前記不良情報格納方法情報は、前記不良情報格納手段に格納可能な不良情報数に関する情報を含み、
前記格納判定手段は、当該格納可能な不良情報数の不良情報を前記不良情報格納手段に格納することを特徴とする請求項７記載のメモリテスト回路。
【請求項１１】
前記不良情報格納手段は、フラグ格納手段を有し、
前記不良情報の数が前記格納可能な不良情報数を超えた場合は、前記フラグ格納手段に不良情報数が超えたことを示す値を格納することを特徴とする請求項１０記載のメモリテスト回路。
【請求項１２】
メモリのテストを行なうメモリテスト方法であって、
テストパタンの一部を構成し、複数の動作からなる部分パタンを指定するパタンモード信号に応じて前記メモリに対するテストを実行するとともに、前記パタンモード信号を不良情報の一部として格納するメモリテスト方法。
【請求項１３】
メモリのテストを行なうメモリテスト方法であって、
前記メモリの不良情報を検出し、
予め設定された不良情報格納方法情報に応じて検出された不良情報を格納するか否かを判定するメモリテスト方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はメモリテスト回路及びメモリテスト方法に関し、特にメモリの不良箇所を検出するテスト回路及びテスト方法に関する。
【背景技術】
【０００２】
近年、システムＬＳＩの大規模化に伴って、内蔵されるメモリも大容量化・多ビット化が進み、さらに搭載されるメモリの数も増加している。このメモリに対するテスト手法として、一般的にＢＩＳＴ(ビルトインセルフテスト)が用いられている。このＢＩＳＴとは、テスト対象回路に与えるテストパタンを発生するテストパタン生成回路、およびテスト対象回路より読み出したデータと期待値データを比較する比較回路を組込むことにより、ＬＳＩ内部で自己テストを行う手法である。ＢＩＳＴは、ＬＳＩ内部のテストパタン生成回路と期待値比較回路とを用いて、ＬＳＩ内部でメモリのテストパタンを発生させてテスト対象のメモリの検査を行い、パス／フェイル情報のみを外部に出力する。
【０００３】
しかしながら、一般的なＢＩＳＴによるテスト手法で得られる情報はメモリ上に故障があったか否かの情報だけであり、メモリの故障箇所を突き止めることはできない。メモリの品質向上を図るためには、故障箇所を突き止めて解析を行い、故障の原因をメモリの製造工程にフィードバックする必要がある。このためにメモリの故障を解析するのに必要な故障箇所の情報を得る技術が必要になっている。
【０００４】
メモリのテストにおいて、故障箇所の検出を行う技術が特許文献１に開示されている。図１に特許文献１に開示された従来例１のメモリテスト回路のブロック図を示す。図１を参照して従来例１について説明する。
【０００５】
図１に示すメモリテスト回路は、テスト用メモリ制御回路１０１、書き込みデータ生成回路１０２、メモリ１０３、期待値生成回路１０４、期待値比較回路１０５、コンペアレジスタ１０６、テスト項目検出回路１０７、アドレスレジスタ１０８、不良ビット検出回路１０９、ＦＢＭ(フェイルビットマップ)用メモリ制御回路１１０、ＦＢＭ用メモリ１１１を有している。
【０００６】
テスト用メモリ制御回路１０１は、メモリ１０３をテストするための書き込み制御及び読み出し制御を行う。書き込みデータ生成回路１０２は、メモリテストにおけるメモリ１０３へ書き込むデータを生成する。メモリ１０３は、テスト対象のメモリである。期待値生成回路１０４は、メモリテストにおいて正常時にメモリ１０３が出力する出力データ値と一致する比較用期待値を生成する。期待値比較回路１０５は、比較用期待値とメモリ１０３から出力された出力データ値を比較する。コンペアレジスタ１０６は、期待値比較回路１０５で比較した全ビット分の比較結果を保持する。テスト項目検出回路１０７は、実施しているメモリテストのテストパタン全体の中のテスト項目番号を検出する。アドレスレジスタ１０８は、期待値比較回路１０５で比較中の出力データ値を出力しているメモリセルのアドレスを保持する。不良ビット検出回路１０９は、コンペアレジスタ１０６で保持した全ビットの比較結果のうち、期待値と出力データ値とが不一致だったビットを検出する。ＦＢＭ用メモリ制御回路１１０は、不良情報が書き込まれるＦＢＭ用メモリ１１１に対して書き込み動作を制御する。ＦＢＭ用メモリ１１１は、不良情報としてテスト項目検出回路１０７、アドレスレジスタ１０８及び不良ビット検出回路１０９から出力された値を蓄積する。
【０００７】
ＬＳＩ外部より入力されたメモリテストモード信号ＴＥＳＴＭＯＤとテスト開始信号ＭＥＭＲＳＴとは、テスト用メモリ制御回路１０１に入力される。テスト用メモリ制御回路１０１が出力する読み出しアドレス信号ＲＡＤＲは、期待値生成回路１０４とアドレスレジスタ１０８に入力される。テスト用メモリ制御回路１０１が出力する読み出し制御信号ＲＥは、期待値生成回路１０４とテスト項目検出回路１０７に入力される。
【０００８】
また、テスト開始信号ＭＥＭＲＳＴは書き込みデータ生成回路１０２とＦＢＭ用メモリ制御回路１１０にも入力される。書き込みデータ生成回路１０２は、メモリ１０３への書き込みデータＷＤＡＴＡが出力する。この書き込みデータは、メモリ１０３に入力される。また、テスト用メモリ制御回路１０１は、書き込みアドレス信号ＷＡＤＲ、書き込み制御信号ＷＥ、読み出しアドレス信号ＲＡＤＲ及び読み出し制御信号ＲＥを出力し、これらの信号は、メモリ１０３に入力される。
【０００９】
メモリ１０３が出力する読み出しデータＲＤＡＴＡと期待値生成回路１０４の出力である期待値データＥＸＤＡＴＡとは、期待値比較回路１０５に入力される。期待値比較回路１０５が出力するパスフェイル判定信号ＰＡＳＳＮＧはＬＳＩの外部に出力される。また、期待値比較回路１０５が出力する比較データＣＯＭＰＤＡＴＡは、コンペアレジスタ１０６に入力される。このコンペアレジスタ１０６が出力する比較結果データＣＯＭＰＤＡＴＡ２は、不良ビット検出回路１０９に入力される。さらに、期待値比較回路１０５より出力されたテスト中断信号ＣＯＭＰＰＮＧは、テスト用メモリ制御回路１０１とＦＢＭ用メモリ制御回路１１０に入力される。
【００１０】
ＬＳＩ外部から入力されるメモリ解析モード信号ＤＥＢＧＭＯＤと解析結果読み出し信号ＤＥＢＧＲＥＡＤは、ＦＢＭ用メモリ制御回路１１０に入力される。ＦＢＭ用メモリ制御回路１１０からは、ＦＢＭ用アドレス信号ＦＢＭＡＤＲとＦＢＭ用書き込み制御信号ＦＢＭＷＥとＦＢＭ用読み出し制御信号ＦＢＭＲＥとが出力され、これらの信号は、ＦＢＭ用メモリ１１１に入力される。
【００１１】
ＦＢＭ用メモリ１１１は、テスト項目検出回路１０７から出力されるテスト項目データ信号ＴＥＳＴＮＯ、アドレスレジスタ１０８から出力されるアドレスデータ信号ＦＡＩＬＡＤＲ、不良ビット検出回路１０９から出力される不良ビット信号ＦＡＩＬＢＩＴの３つの信号を１つのデータ信号ＦＢＭＤＡＴＡとして書き込む。
【００１２】
ここで、メモリ１０３は、例えば２５６アドレス８ビットの構成である。また、ＦＢＭ用メモリ１１１に書き込むＦＢＭＤＡＴＡは、例えば１４ビット構成であって、上位ビットから３ビットがテスト項目検出回路１０７の出力信号ＴＥＳＴＮＯ、次の８ビットがアドレスレジスタ１０８の出力信号ＦＡＩＬＡＤＲ、残りの３ビットが不良ビット検出回路１０９の出力信号ＦＡＩＬＢＩＴである。
【００１３】
ＦＢＭ用メモリ１１１として１４ビット幅以上のメモリセルを使用すれば不良情報を一度に格納することができる。ＦＢＭ用メモリ１１１の容量はテストするメモリ１０３のビット幅と不良情報の格納数で決定される。ＦＢＭ用メモリ１１１の出力は、ＬＳＩ外部へ出力されるＦＢＭ読み出し信号ＦＢＭＯＵＴとなる。
【００１４】
図１に示すメモリテスト回路の動作について説明する。ＬＳＩ外部より入力されるメモリテストモード信号ＴＥＳＴＭＯＤによってメモリテストモードが設定され、テスト開始信号ＭＥＭＲＳＴが入力されることによってテスト用メモリ制御回路１０１と書き込みデータ生成回路１０２とＦＢＭ用メモリ制御回路１１０とがリセットされる。また、書き込みデータ生成回路１０２は、書き込みデータＷＤＡＴＡの生成を開始する。
【００１５】
続いて、テスト用メモリ制御回路１０１は、メモリセルに書き込むための書き込みアドレス信号ＷＡＤＲと書き込み制御信号ＷＥを生成する。また、書き込みデータＷＤＡＴＡがメモリ１０３に書き込まれる。全てのアドレスにデータが書き込まれたら書き込みアドレス信号ＷＡＤＲと書き込み制御信号ＷＥとは停止する。
【００１６】
次に、テスト用メモリ制御回路１０１にて読み出し制御信号ＲＥと読み出しアドレス信号ＲＡＤＲとが生成される。また、期待値生成回路１０４にて読み出しアドレス信号ＲＡＤＲに対応した期待値データＥＸＤＡＴＡが生成される。
【００１７】
期待値生成回路１０４にて生成された期待値データＥＸＤＡＴＡとメモリセルから読み出された読み出しデータＲＤＡＴＡは、期待値比較回路１０５にて比較される。その結果に基づいて期待値比較回路１０５は、全ビットが一致していればハイレベルを出力し、１ビットでも不一致の場合はロウレベルをパスフェイル判定信号ＰＡＳＳＮＧとして出力する。また、読み出しアドレス信号ＲＡＤＲはアドレス値に対応した比較結果が出るまでアドレスレジスタ１０８にて蓄えられる。また、テスト項目検出回路１０７にて読み出し制御信号ＲＥを数えることによりテストパタン全体で何番目のテストの読み出しであるかを検出し、テストパタン全体の中のどのテスト項目で不良が発生したかを判別する情報としている。テスト項目からそのときのテストパタンを知ることができる。
【００１８】
さらに、ＬＳＩ外部から入力されるメモリ解析モード信号ＤＥＢＧＭＯＤがハイレベルでメモリ解析モードを示している場合は、期待値比較回路１０５で比較結果の不一致が検出されると、不良ビット数分のクロック期間だけテスト中断信号ＣＯＭＰＰＮＧがハイレベルとなる。テスト用メモリ制御回路１０１内ではテスト中断信号ＣＯＭＰＰＮＧがハイレベルとなった期間より１クロック少ない期間だけ、次のアドレスの読み出しを停止する。すなわち、１ビットだけの不良の場合は停止させず、３ビットの不良があった場合は２クロック分停止する。
【００１９】
また、期待値比較回路１０５で比較された全ビット分の比較データＣＯＭＰＤＡＴＡはコンペアレジスタ１０６で保持されており、不良ビット検出回路１０９では不一致だったビット値を検出し、１つの不良情報としてテスト項目番号、不良アドレス、不良ビットを同時にＦＢＭ用メモリ１１１に書き込む。１アドレスに１ビットの不良しかない場合は１度書き込むだけでよいが、複数ビットの不良がある場合は不良ビット検出回路１０９で不良ビットを順に検出し、複数回ＦＢＭ用メモリ１１１に書き込む。ＦＢＭ用メモリセル制御回路１１０はテスト中断信号ＣＯＭＰＰＮＧがハイレベルのときにＦＢＭ用アドレス信号ＦＢＭＡＤＲをカウントアップさせる。
【００２０】
また、全テスト終了後に解析結果読み出し信号ＤＥＢＡＧＲＥＡＤをハイレベルにすると、ＦＢＭ用メモリ制御回路１１０が読み出しモードとなり、ＦＢＭ用メモリ１１１から不良情報が読み出されＦＢＭ読み出し信号ＦＢＭＯＵＴに出力される。
【００２１】
一方、メモリのテストにおいて、故障箇所の検出を行う技術の他の一例が特許文献２に開示されている。図２に特許文献２に開示された従来例２のメモリテスト回路のブロック図を示す。図２を参照して従来例２のメモリテスト回路について説明する。
【００２２】
図２に示す従来例２のメモリテスト回路は、メモリ２０１、メモリＢＩＳＴ回路２０２、ロジックスキャンチェーン回路２０３を有している。また、メモリＢＩＳＴ回路２０２は、アドレスカウンタ回路２０２１、データ発生回路２０２２、比較回路２０２３、ＢＩＳＴコントローラ回路２０２４を有している。ロジックスキャンチェーン回路２０３は、複数のスキャンレジスタ群２０３−１〜２０３−ｎを有している。
【００２３】
メモリ２０１は、テスト対象のメモリである。アドレスカウンタ回路２０２１は、メモリ２０１をテストするためのアドレスを生成する。データ発生回路２０２２は、メモリテストにおいて、正常時のメモリが出力する出力データ値と一致する比較用期待値を生成する。比較回路２０２３は、データ発生回路２０２２で生成した比較用期待値とメモリ２０１から出力された出力データ値を比較する。ＢＩＳＴコントローラ回路２０２４は、メモリテストパタン生成のためにアドレスカウンタ回路２０２１、データ発生回路２０２２、比較回路２０２３を制御する。
【００２４】
ロジックスキャンチェーン回路２０３は、メモリ以外のロジック部分の回路のうちフリップフロップ（Ｆ／Ｆ）をテストモード時に配線２０５で接続し、シフトレジスタ構成にすることにより、制御性・観測性を向上させてテストを行うスキャンテストというテスト手法で使用される。このロジックスキャンチェーン回路２０３を不良情報を格納できるＦ／Ｆの個数ごとにスキャンレジスタ群２０３−１、２０３−２、・・・、２０３−ｎのように分割する。スキャンレジスタ群２０３−１、２０３−２、・・・、２０３−ｎは、スキャンレジスタ群２０３−１からスキャンレジスタ群２０３−２の方向２０４にデータがシフトできるように構成されている。
【００２５】
従来例２のメモリテスト回路の動作について説明する。メモリＢＩＳＴ回路２０２をアクティブにすることでＢＩＳＴコントローラ回路２０２４がアクティブとなり、メモリ２０１のテストを開始する。メモリテストを行う際、ロジックスキャンチェーン回路２０３は、データをスキャンレジスタ群２０３−１からスキャンレジスタ群２０３−２の方向２０４にシフトさせる。
【００２６】
メモリＢＩＳＴ回路２０２の比較回路２０２３でメモリ２０１からの出力データ値とデータ発生回路２０２２からの出力期待値の比較を行う。比較の結果、不良が観測された場合、その不良情報として、不良を検出した際のアドレス値と比較回路２０２３で出力された不良判定データ値がスキャンレジスタ群２０３−１に取り込まれる。以降、メモリテストは不良を観測した後も続けて行なわれ、次の不良が観測された場合、スキャンレジスタ群２０３−１に取り込まれたデータはスキャンレジスタ群２０３−２にシフトし、観測された不良情報が新たにスキャンレジスタ群２０３−１に取り込まれる。このように不良情報をロジックスキャンチェーン回路２０３にシフト動作で取り込むことにより、最大でｎ個の不良情報を取り込むことができる。メモリテスト終了後、ロジックスキャンチェーン回路２０３に保持されている不良情報をシフトさせてＳＤＯから外部に出力させることで不良情報を取り出すことができる。
【特許文献１】特開２００４−８６９９６号公報
【特許文献２】特開２００２−３２９９８号公報
【発明の開示】
【発明が解決しようとする課題】
【００２７】
従来例１では、ＦＢＭ用メモリ１１１に不良情報としてテスト項目番号、不良アドレス、不良ビットを格納している。テスト項目番号は、テスト項目検出回路１０７にて読み出し制御信号ＲＥを数えることによりメモリテストパタン全体の中で何番目の読み出しであるかを検出し、どのテストパタンで不良が発生したかを判別する情報としている。しかしながら、メモリ１０３をテストするためのテストパタンは、「アドレスが昇順となるメモリセルに対して順に"０"をデータ値として書き込む」、「アドレスが降順となるようにメモリセルからデータを読み出す」、「アドレスが降順となるようにメモリセルに"０"と"１"を交互に書き込む」、「アドレスが昇順となるようにメモリセルに"０"と"１"を交互に読み出す」といった部分パタンを組み合わせて構成されている。従って、従来例１のメモリテスト回路は、メモリテストパタン全体の中で何番目の読み出しデータであるかの情報しか有していないために、実施したメモリテストパタン全体のパタン構成内容と対比しなければ、不良が発生した際にメモリをどのように動作させてテストしていたのかを判定できない。つまり、メモリテストパタン全体のパタン構成内容を知らなければ、不良が発生した状態を確認することができないという問題がある。
【００２８】
また、従来例１では、ＦＢＭ用メモリ１１１に不良情報を書き込む。しかしながら、不良情報のデータを格納できる容量のメモリが用意できなかった場合、収集できない不良情報が発生するという問題がある。
【００２９】
一方、従来例２は、不良情報として不良アドレスと不良ビットを格納している。しかしながら、このアドレスと不良ビットの情報だけでは、実施されたメモリテストパタンのどのパタンで、またメモリテストパタン中の何番目のパタンで不良を検出したのかがわからないという問題がある。
【００３０】
また、従来例２は、ロジックスキャンチェーン回路２０３に不良情報を取り込むが、従来例１と同様に、格納できる不良情報のサイズを超えた場合は収集できない不良情報が発生するという問題がある。
【課題を解決するための手段】
【００３１】
本発明にかかるメモリテスト回路は、メモリのテストを行なうためのメモリテスト回路であって、テストパタンの一部を構成し、複数の動作からなる部分パタンを指定するパタンモード信号に応じて前記メモリに対するテストを実行するとともに、前記パタンモード信号を不良情報の一部として格納するものである。本発明によれば、部分パタンを指定するパタンモード信号を不良情報の一部として格納するので、不良が発生した状態を容易に把握することが可能となる。
【００３２】
また、本発明にかかる他のメモリテスト回路は、メモリのテストを行なうためのメモリテスト回路であって、前記メモリの不良情報を検出する不良情報検出手段と、予め設定された不良情報格納方法情報に応じて前記不良情報検出手段によって検出された不良情報を不良情報格納手段に格納するか否かを判定する格納判定手段とを備えたものである。本発明によれば、不良情報を不良情報格納方法情報により格納するか否かを判定しているので、不良情報を格納するメモリの容量が少なくてもすべての不良情報を収集することが可能となる。
【発明の効果】
【００３３】
本発明によれば、不良が発生した状態を容易に把握することができ、かつ不良情報を格納するメモリの容量が少なくてもすべての不良情報を収集することができるメモリテスト回路及びメモリテスト方法を提供することができる。
【発明を実施するための最良の形態】
【００３４】
まず、本発明の実施の形態にかかるメモリテスト回路の構成について説明する。図３は、本実施形態にかかるメモリテスト回路を含む回路全体（半導体装置）の構成を示している。
【００３５】
メモリテスト回路１ａは、本発明におけるメインとなる不良情報収集回路とＢＩＳＴ回路で構成されたメモリテスト回路である。メモリテスト回路１ａには、外部のテスタ等からメモリテスト開始制御信号ＳＴＡＲＴとメモリテスト回路クロック信号ＢＩＳＴＣＬＫが各端子を介して入力される。メモリテスト回路１ｂもメモリテスト回路１ａと同様の構成を有するメモリテスト回路であり、同様の信号が入力される。
【００３６】
メモリ２ａは、テスト対象となるメモリを示す。本実施形態では、理解の容易化のために、メモリ２ａを４アドレス３ビット構成のメモリとする。このメモリ２ａに、メモリテスト回路１ａから書込み制御信号ＷＥ、書き込みアドレスＷＡＤＲ、書込みデータＷＤＡＴＡ、読み出し制御信号ＲＥ及び読み出しアドレスＲＡＤＲが入力され、メモリ２ａから読み出しデータＲＤＡＴＡがメモリテスト回路１ａに出力される。メモリ２ｂも同様の構成を有するメモリであり、同様の信号が入出力される。
【００３７】
テストモードレジスタ３ａは、メモリテスト回路１ａをアクティブにする制御信号ＴＥＳＴＲＳＴ１を出力する。また、テストモードレジスタ３ａは、メモリテスト回路１ａからパスフェイル判定結果信号ＧＯ＿ＮＯＧＯ１を受け取る。このテストモードレジスタ３ａはシフトレジスタで構成され、設定する値は外部端子ＴＤＩから入力される。テストモードレジスタ３ｂは、テストモードレジスタ３ａと同様の構成を有し、同様の信号が入出力される。
【００３８】
セレクタ４ａ、４ｂは、外部出力端子ＴＤＯから出力する信号を選択するセレクタ（ＭＵＸ）である。セレクタ４ａ、４ｂは、メモリテスト回路１ａ、１ｂで収集された不良情報の出力信号ＦＢＯＵＴ１とＦＢＯＵＴ２をそれぞれ出力するか、もしくは、外部入力端子ＴＤＩからテストモードレジスタ３ａ、３ｂに入力されたテストモードＴＭＯＵＴ１，ＴＭＯＵＴ２を出力するかを選択する。
【００３９】
メモリテストモード制御回路５は、メモリテストパタンのどの部分パタンを発生させるかを指示するパタンモード信号ＭＥＭＴＥＳＴＭＯＤＥを出力する。このパタンモード信号ＭＥＭＴＥＳＴＭＯＤＥは、メモリテスト回路１ａ、１ｂに供給される。本実施形態では、このメモリテストモード制御回路５はシフトレジスタで構成され、設定するパタンモード信号値は外部端子ＴＤＩから入力される。この実施例において、パタンモード信号ＭＥＭＴＥＳＴＭＯＤＥはＬＳＩ外部からメモリテスト回路に与えているが、メモリテスト回路自身が発生してもよい。
【００４０】
本実施形態では、メモリテスト回路１ａ，１ｂにより、図１１に示した部分パタンを発生させてメモリテストを行う。部分パタンは、テストパタンの一部をなし、複数の動作（アクション）ステップより構成される。部分パタンは、例えば、「アドレスが昇順となるメモリセルに対して順に"０"をデータ値として書き込む」、「アドレスが降順となるようにメモリセルからデータを読み出す」、「アドレスが降順となるようにメモリセルに"０"と"１"を交互に書き込む」、「アドレスが昇順となるようにメモリセルに"０"と"１"を交互に読み出す」というようなパタンであり、テスト動作ステップの集合体である。
【００４１】
部分パタンを指定するパタンモード信号ＭＥＭＴＥＳＴＭＯＤＥは、｛アドレスモード、Ｒｅａｄ／Ｗｒｉｔｅモード、データモード｝の３つのモードの指定領域で構成される。アドレスモード領域は、発生させる部分パタンのアドレス動作を指定する領域である。Ｒｅａｄ／Ｗｒｉｔｅモードは、発生させる部分パタンのメモリ読み出し動作、メモリ書込み動作を指定する領域である。データモードは、メモリに書き込むデータ値、および生成する期待値を指定する領域である。それぞれのモードは、任意の数ビットの値で構成されており、一例として、アドレスモードを３ビット、Ｒｅａｄ／Ｗｒｉｔｅモードを３ビット、データモードを２ビットとする。１つのモード値に対して、部分パタンによる一連の動作が対応する。
【００４２】
例えば、アドレスモード＝"３'ｂ００１"と指定した場合、「アドレス値を０から昇順で発生させる」という動作を示し、Ｒｅａｄ／Ｗｒｉｔｅモード＝"３'ｂ００１"と指定した場合、「データを書き込む」という動作を示し、データモード＝"２'ｂ００"と指定した場合、「"０"を出力する」という動作を示している。この３つのモードを組み合わせてパタンモード信号ＭＥＭＴＥＳＴＭＯＤＥ＝｛"００１"、"００１"、"００"｝と指定すると、「アドレス昇順でデータ値"０"を書き込む」という一連の動作を表す部分パタンを発生させる信号となる。
【００４３】
本実施形態では、図１１に示すような部分パタンを発生させることとし、この部分パタンを指定するパタンモード信号ＭＥＭＴＥＳＴＭＯＤＥは、アドレスモード＝３'ｂ１０１、Ｒｅａｄ／Ｗｒｉｔｅモード＝３'ｂ１０１、データモード＝２'ｂ１１である。図１１に示す部分パタンは、４アドレス３ビットのメモリを前提とし、この部分パタンによるテストの前にメモリの全アドレスにデータ値「０」が書き込まれている。また、図１１においてＰａｔｔｅｒｎ−Ｎｕｍｂｅｒ（パタン番号）のそれぞれが動作ステップを表わし、この例にかかる部分パタンは、１〜４０までの４０の動作ステップにより構成されており、１から順に４０までが連続的に実行される。表中でＡｄｄｒｅｓｓはメモリのアドレス値を、Ｗｒｉｔｅは書き込みデータ値を、そしてＲｅａｄは読み出しデータ値をそれぞれ示す。パタン番号２は、テスト対象のメモリのアドレス「０」の領域に「１１１」を書き込む動作を要求するパタンである。
【００４４】
インストラクション制御回路６に、図４に示すモード１、モード２、モード３を設定すると、インストラクション制御回路６は、このモードに対応した動作をさせる制御信号ＣＯＮＴＲＯＬ１、ＣＯＮＴＲＯＬ２を出力する。この制御信号ＣＯＮＴＲＯＬ１、ＣＯＮＴＲＯＬ２は、セレクタ４ａ、４ｂおよびメモリテスト回路１ａ、１ｂに供給される。図４のように、モード１はメモリテストを行うモードであり、モード２は不良格納方法を設定するモードであり、モード３は不良情報を出力するモードである。
【００４５】
ＴＡＰコントローラ７は、ＩＥＥＥ  Ｓｔｄ．１１４９で規定されている１６の状態をもつステートマシンである。外部からクロック信号ＴＣＫ、リセット信号ＴＲＳＴ、状態遷移制御信号ＴＭＳが各端子を介して入力され、制御される。ＴＡＰコントローラ７の状態によって、ＴＡＰコントローラ７から出力される制御信号ＣＬＫＩＲ、ＳＦＩＲ、ＵＰＤＩＲ、ＣＬＫＤＲ、ＳＦＤＲ、ＵＰＤＤＲが各テスト構成回路１ａ、１ｂ、３ａ、３ｂ、５、６に供給される。このＴＡＰコントローラ７により、後述で示す不良情報格納方法指定レジスタ１８へ外部から値を設定する、もしくは不良情報格納レジスタ１７から不良情報を外部へ出力する動作を制御する。
【００４６】
図３のように、複数メモリ２ａ，２ｂのそれぞれから検出された不良情報をメモリテスト回路１ａ，１ｂに格納して外部へ出力するために、外部から信号が入力される。すなわち、外部から外部端子ＴＤＩ、メモリテストモード制御回路５、ＴＭＣＨＡＩＮ１、メモリテスト回路１ａ、ＦＢＯＵＴ１、ＴＭＣＨＡＩＮ２、メモリテスト回路１ｂ、ＦＢＯＵＴ２、ＴＭＣＨＡＩＮ３、外部端子ＴＤＯまでの接続ラインを信号が流れて不良情報が出力される。この不良情報を出力するための接続ラインは、図３のインストラクション制御回路６から図４のモード２、モード３の状態で出力されるＣＯＮＴＲＯＬ１信号によって、活性化される。
【００４７】
図５は、図３におけるメモリテスト回路１ａ，１ｂの内部構成を示している。テスト制御回路１１は、メモリ２をテストするパタンと期待値の生成を制御する回路である。テスト制御回路１１は、どのようなパタンを発生させるかを指示するパタンモード信号ＭＥＭＴＥＳＴＭＯＤＥとメモリテスト開始制御信号ＳＴＡＲＴが入力され、メモリテストパタン制御信号ＳＴＤＡＴＡを出力する。
【００４８】
テストパタン生成回路１２は、テスト制御回路１１から出力された制御信号ＳＴＤＡＴＡにより、メモリテストパタンとして書込み制御信号ＷＥ、書き込みアドレスＷＡＤＲ、書込みデータＷＤＡＴＡ、読み出し制御信号ＲＥ、読み出しアドレスＲＡＤＲを生成し、メモリ２へ出力する。
【００４９】
期待値生成回路１３は、テスト制御回路１１から出力された制御信号ＳＴＤＡＴＡに基づいて、テストパタン生成回路１２で生成したメモリテストパタンに対応する期待値を生成する。
【００５０】
期待値比較回路１４は、メモリ２から読み出されたデータ出力信号ＲＤＡＴＡと期待値生成回路１３で生成された期待値ＥＸＤＡＴＡをビット比較する。期待値が不一致だった場合、不良と判定し、パスフェイル信号ＦＡＩＬＦＬＡＧにフェイル信号（アクティブ＝１）を出力する。
【００５１】
クロックカウンタ１５１は、テストパタン生成回路１２からテストパタン出力が始まった時点からカウントを開始し、メモリ２へ１パタン出力するごと、即ち１動作（１アクション）ごとに１つカウントアップする。クロックカウンタ１５１は、期待値比較回路１４のパスフェイル信号ＦＡＩＬＦＬＡＧが入力され、パスフェイル信号ＦＡＩＬＦＬＡＧがフェイル信号の場合は、そのときのカウント値、即ちフェイル信号に対応したカウント値をＣＮＴＤＡＴＡ信号として出力する。カウント値は、不良と判定したメモリセルに対して行ったテストがテスト開始時より何番目の動作であるかを示し、このカウント値に基づき不良と判定されたメモリセルに対して行った動作を特定することができる。
【００５２】
アドレスレジスタ１５２は、メモリ２から読み出されて期待値比較回路１４で比較判定されているデータ出力信号ＲＤＡＴＡに対応するアドレス信号ＲＡＤＲ（アドレス値）を保持する。アドレスレジスタ１５２は、期待値比較回路１４のパスフェイル信号ＦＡＩＬＦＬＡＧが入力され、パスフェイル信号ＦＡＩＬＦＬＡＧがフェイル信号の場合は、そのときのアドレス値をＦＡＩＬＡＤＲ信号として出力する。
【００５３】
不良データレジスタ１５３は、メモリ２から読み出されて期待値比較回路１４で比較判定されているデータ出力信号ＲＤＡＴＡ（データ出力値）を保持する。不良データレジスタ１５３は、期待値比較回路１４のパスフェイル信号ＦＡＩＬＦＬＡＧが入力され、パスフェイル信号ＦＡＩＬＦＬＡＧがフェイル信号の場合は、そのときのデータ出力値をＦＡＩＬＢＩＴ信号として出力する。
【００５４】
セレクタ１９は、メモリテスト回路から出力する信号を選択する選択回路（ＭＵＸ）である。セレクタ１９は、不良情報格納レジスタ１７の出力信号ＦＢＯＵＴを出力するか、もしくは、不良情報格納方法指定レジスタ１８の出力信号ＦＢＳＴＯＵＴを出力するかを選択する。このセレクタ１９の制御は、図３のインストラクション制御回路６から出力される制御信号ＣＯＮＴＲＯＬ２で行われる。メモリテスト回路から不良情報格納レジスタ１７の出力信号ＦＢＯＵＴを出力する場合、セレクタ１９には、図４に示すモード３の状態に設定されるように、ＣＯＮＴＲＯＬ２信号として"０"が入力される。メモリテスト回路から不良情報格納方法指定レジスタ１８の出力信号ＦＢＳＴＯＵＴを出力する場合、セレクタ１９には、図４に示すモード２の状態に設定されるように、ＣＯＮＴＲＯＬ２信号として"１"が入力される。
【００５５】
不良情報格納方法指定レジスタ１８は、検出された不良情報の格納条件を設定するレジスタであり、シフトレジスタで構成される。不良情報格納方法指定レジスタ１８には、図３のＴＡＰコントローラ７から出力されるシフト動作制御信号ＳＦＤＲとシフトクロック信号ＣＬＫＤＲ、および図３のインストラクション制御回路６から出力される制御信号ＣＯＮＴＲＯＬ２が入力される。図３のインストラクション制御回路６において図４に示すモード２の状態のとき、ＴＭＣＨＡＩＮから入力される格納条件を指定する値が、不良情報格納方法指定レジスタ１８に設定される。
【００５６】
格納判定回路１６は、期待値比較回路１４から入力されるパスフェイル信号ＦＡＩＬＦＬＡＧがフェイル信号の場合、不良情報格納方法指定レジスタ１８に設定された格納方法制御信号ＳＴＯＲＥＤＡＴＡと入力される不良情報信号ＦＡＩＬＤＡＴＡ１から図７に示す格納処理判定を行い、格納条件を満たせば不良情報格納レジスタ１７へ不良情報ＦＡＩＬＤＡＴＡ２を出力する。後述するように、格納判定回路１６は、格納モードで特定される条件（格納方法コードレジスタ、格納方法条件値レジスタ、不良検出番号、不良アドレス）、つまり、図７の条件を判定し、条件を満たす場合に、不良情報ＦＡＩＬＤＡＴＡ２を出力し、不良情報格納レジスタ１７に格納する。
【００５７】
不良情報格納レジスタ１７は、検出された不良情報を格納するレジスタであり、シフトレジスタで構成される。不良情報格納レジスタ１７には、図３のＴＡＰコントローラ７から出力されるシフト動作制御信号ＳＦＤＲとシフトクロック信号ＣＬＫＤＲ、および図３のインストラクション制御回路６から出力される制御信号ＣＯＮＴＲＯＬ１とＣＯＮＴＲＯＬ２が入力される。不良情報格納レジスタ１７には、図３のインストラクション制御回路６において図４に示すモード１の状態のとき、不良情報ＦＡＩＬＤＡＴＡ２が格納される。そして、図４に示すモード３の状態のとき、シフト動作制御信号ＳＦＤＲとシフトクロック信号ＣＬＫＤＲに従って、不良情報格納レジスタ１７に格納されている不良情報が出力信号ＦＢＯＵＴとして出力される。
【００５８】
図６は、不良情報格納方法指定レジスタ１８の構成例を示している。この不良情報格納方法指定レジスタ１８は、格納方法コードレジスタ１８１と格納方法条件値レジスタ１８２から構成される。
【００５９】
格納方法コードレジスタ１８１は、不良情報の格納方法（格納基準）を決定するコード値を記憶するレジスタ回路である。ここで、不良情報の格納方法には、例えば、「テスト開始から数えて何番目に検出された不良から格納する」といった、検出された不良情報のうち格納すべき不良情報を検出開始からの順位情報を特定することによって指定する情報がある。また、不良情報の格納情報には、「何アドレス目以上で検出された不良を格納する」や「アドレスＮ以外で検出された不良を格納する」といった、格納すべき不良情報をアドレスを条件として指定する情報もある。本実施の形態では、格納モード１の「テスト開始から数えて何番目に検出された不良から格納する」という方法を設定する。この場合、図７の格納モード１に示すように、格納方法コードレジスタ１８１に"００（２進数）"が設定される。
【００６０】
この他にも、格納モード２の「何アドレス目以上で検出された不良を格納する」という方法を設定する場合は、図７に示すように、格納方法コードレジスタ１８１に"０１（２進数）"が設定され、格納モード３の「アドレスＮ以外で検出された不良を格納する」という方法を設定する場合は、図７に示すように、格納方法コードレジスタ１８１に"１０（２進数）"が設定され、格納モード４の「アドレスＮで検出された不良だけを格納する」という方法を設定する場合は、図７に示すように、格納方法コードレジスタ１８１に"１１（２進数）"が設定される。このように、格納方法コードレジスタ１８１の設定値によって格納方法を変更することができる。
【００６１】
格納方法条件値レジスタ１８２は、格納方法コードレジスタ１８１に設定した格納方法における格納条件を設定する。この例のように、「テスト開始から数えて何番目に検出された不良から格納する」という格納方法の場合、格納方法条件値レジスタ１８２に、"１１（２進数）"を設定すると、「テスト開始から数えて３番目に検出された不良から格納する」という格納条件となる。
【００６２】
この他にも、「何アドレス目以上で検出された不良を格納する」という格納方法の場合は、格納方法条件値レジスタ１８２で設定された値のアドレス以上で検出された不良を格納するという格納条件となる。「アドレスＮ以外で検出された不良を格納する」という格納方法の場合は、格納方法条件値レジスタ１８２で設定された値のアドレス以外で検出された不良を格納するという格納条件となる。「アドレスＮで検出された不良だけを格納する」という格納方法の場合は、格納方法条件値レジスタ１８２で設定された値のアドレスで検出された不良を格納するという格納条件となる。
【００６３】
図６のように、格納方法コードレジスタ１８１、格納方法条件値レジスタ１８２のどちらもシフトレジスタで構成されている。格納方法コードレジスタ１８１は、レジスタＦＢＳＴ−Ａ１８１２，ＦＢＳＴ−Ｂ１８１４を有し、格納方法条件値レジスタ１８２は、レジスタＦＢＳＴ−Ｃ１８２２，ＦＢＳＴ−Ｄ１８２４を有している。レジスタＦＢＳＴ−Ａ１８１２〜ＦＢＳＴ−Ｄ１８２４に入力される信号ＴＭＣＨＡＩＮ，ＣＬＫＤＲ，ＳＦＤＲは、ゲート回路１８０１，１８０２，１８０３を介して制御信号ＣＯＮＴＲＯＬ２によって制御され、制御信号ＣＯＮＴＲＯＬ２が"１"のときにこれらの信号が供給される。シフト動作制御信号ＳＦＤＲによって、各セレクタ１８１１，１８１３，１８２１，１８２３が制御され、レジスタＦＢＳＴ―Ａ１８１２〜ＦＢＳＴ―Ｄ１８２４の入力が切り替えられ、ＴＭＣＨＡＩＮからの信号をシフトするか保持するか選択される。シフトクロック信号ＣＬＫＤＲに従って入力データがシフトする。
【００６４】
格納方法設定値を格納方法コードレジスタ１８１、格納方法条件値レジスタ１８２の各レジスタＦＢＳＴ―Ａ１８１２〜ＦＢＳＴ―Ｄ１８２４に入力する場合は、図３のインストラクション制御回路６において図４に示すモード２の状態で制御信号ＣＯＮＴＲＯＬ２に"１"が入力され、図３のＴＡＰコントローラ７から出力されるシフト動作制御信号ＳＦＤＲとシフトクロック信号ＣＬＫＤＲより、ＴＭＣＨＡＩＮから格納方法設定値をシフト入力する。メモリテスト中は、図４に示すモード１の状態でＣＯＮＴＲＯＬ２が"０"であることから、各レジスタＦＢＳＴ―Ａ１８１２〜ＦＢＳＴ−Ｃ１８２４からの出力は自己ループとなり、保持されているデータがＳＴＯＲＥＤＡＴＡとして出力される。
【００６５】
図８は、不良情報格納レジスタ１７の構成例を示している。この不良情報格納レジスタ１７は、不良情報を格納するレジスタ１７７ａ，１７７ｂと不良が検出されたことを示すフラグ値を格納するレジスタ１７６（ＦＢＯＶもしくはＦＢ０）を備えている。
【００６６】
レジスタ１７６は、格納できる個数を超えて不良が検出されたことを示すフラグ値を格納するレジスタである。このレジスタ１７６の初期値は"０"であり、図５の格納判定回路１６で格納できる個数を超えたと判定された場合は、格納判定回路１６からＦＡＩＬＯＶＥＲ信号が入力され、このレジスタ１７６に格納個数を越えたことを示すフラグ"１"が格納される。
【００６７】
レジスタ１７７ａ，１７７ｂは、不良情報を格納するレジスタ回路を示す。このレジスタ１７７ａ，１７７ｂは、図９で示す不良データ、不良アドレス、不良検出時のクロックカウント値、メモリテストモード、不良フラグの情報を格納するレジスタ１７７１，１７７２，１７７３，１７７４，１７７５で構成される。本実施形態では、格納できる不良情報の個数を２個とする。また、テスト対象メモリを４アドレス３ビットの構成としていることから、図９に示すように不良データレジスタ１７７１を３ビット、不良アドレスレジスタ１７７２を２ビット、クロックカウントレジスタ１７７３を図１１のメモリテストパタンに合わせてカウント値４０まで入れられるように６ビット、メモリテストモードレジスタ１７７４を８ビット、不良フラグレジスタ１７７５を１ビットとする。不良情報の格納個数を２個とすることから、不良情報格納レジスタ１７は、４１ビットのレジスタ（ＦＢＯ〜ＦＢ４０）で構成されることとなる。
【００６８】
不良情報レジスタ１７７ａには、図５の格納判定回路１６で格納条件を満たした場合のＦＡＩＬＤＡＴＡ２信号の値が格納される。ＦＡＩＬＤＡＴＡ２信号は、図５の不良データレジスタ１５３の出力ＦＡＩＬＢＩＴ（不良時のデータ出力値）とアドレスレジスタ１５２の出力ＦＡＩＬＡＤＲ（不良時のアドレス値）とクロックカウンタ１５１の出力ＣＮＴＤＡＴＡ（不良時のカウント値）と図３のメモリテストモード制御回路５の出力ＭＥＭＴＥＳＴＭＯＤＥと図５の期待値比較回路１４のパスフェイル信号ＦＡＩＬＦＬＡＧとから構成される。
【００６９】
不良情報レジスタ１７７ｂは、新たに不良情報レジスタ回路１７７ａに不良情報が格納される際に、直前に格納された不良情報レジスタ１７７ａの不良情報値がシフト入力される。
【００７０】
不良情報格納レジスタ１７内の各レジスタに入力される信号ＴＭＣＨＡＩＮ，ＣＬＫＤＲ，ＳＦＤＲは、制御信号ＣＯＮＴＲＯＬ２によってゲート回路１７１，１７２，１７３を介して制御され、制御信号ＣＯＮＴＲＯＬ２が"０"のときにこれらの信号が供給される。信号ＳＦＤＲが信号ＦＢＳＥＮとして供給され、信号ＦＢＳＥＮによってセレクタ１７４を介して各レジスタの入力が切り替えられ、信号ＴＭＣＨＡＩＮ、ＦＡＩＬＯＶＥＲ、ＦＡＩＬＥＮ、ＦＡＩＬＤＡＴＡ２からの信号をシフトするか保持するか選択される。不良情報格納レジスタ１７内の各レジスタに入力されるクロック信号ＦＢＣＬＫは、制御信号ＣＯＮＴＲＯＬ１によってセレクタ１７５を介して制御され、クロック信号ＢＩＳＴＣＬＫもしくはＣＬＫＤＲのいずれかが選択されて供給される。
【００７１】
図１０は、不良情報レジスタ１７７ａと不良情報レジスタ１７７ｂの回路構成を示している。不良情報レジスタ１７７ａは、レジスタＦＢ１〜ＦＢ２０により構成され、不良情報レジスタ１７７ｂは、レジスタＦＢ２１〜ＦＢ４０により構成されている。
【００７２】
メモリテスト中の場合、図３のＴＡＰコントローラ７から出力されるシフト動作制御信号ＳＦＤＲが"０"であることからＦＢＳＦＥＮ信号は"０"であり、不良情報レジスタ１７７ｂではＦＡＩＬＤＡＴＡ２の値が入力される。また、不良情報レジスタ１７７ａには、不良情報レジスタ１７７ｂからのシフト入力信号ＦＢＳＦＤＡＴＡ１〜ＦＢＳＦＤＡＴＡ２０が入力される。このとき、レジスタ１７６，１７７ａ，１７７ｂに入力されるクロック信号ＦＢＣＬＫは、図８に示すセレクタ１７５に接続された制御信号ＣＯＮＴＲＯＬ１が図４に示すモード１の状態で"０"であることから、メモリテストを動作させるＢＩＳＴＣＬＫとなる。不良情報格納レジスタ１７に格納された不良情報を外部に出力したい場合は、図３のインストラクション制御回路６を図４に示すモード３の状態にする。モード３の場合、制御信号ＣＯＮＴＲＯＬ１が"１"であることから、レジスタ回路１７６，１７７ａ，１７７ｂに入力されるクロック信号ＦＢＣＬＫは図３のＴＡＰコントローラ７から出力されるシフトクロック信号ＣＬＫＤＲで動作する。制御信号ＣＯＮＴＲＯＬ２に"０"が入力され、シフト動作制御信号ＳＦＤＲがアクティブ（"１"の値）になることによりＦＢＳＦＥＮ信号は"１"で、レジスタ１７６と不良情報レジスタ１７７ａ，１７７ｂを構成するレジスタＦＢ０〜ＦＢ４０がシフト動作し、ＦＢＯＵＴに不良情報が出力される。
【００７３】
インストラクション制御回路６の制御信号ＣＯＮＴＲＯＬ１による制御によって、不良情報格納レジスタ１７の不良情報の格納は、メモリテストに用いられるクロック信号ＢＩＳＴＣＬＫ（高速クロック）で行なわれることから、メモリの実仕様スピードでテストを行なうことが可能である。そして、格納された不良情報を外部に取り出す際には、図３のＴＡＰコントローラ７から出力されるシフトクロック信号ＣＬＫＤＲ（低速クロック）により、テスタで観測できるスピードで出力させることが可能である。
【００７４】
次に、図１２に示すフローに沿って、本実施形態にかかるメモリテスト回路における不良解析の動作を説明する。本実施形態において、テスト対象のメモリ２ａ，２ｂは４アドレス３ビット構成とし、格納する不良情報は２個、不良情報格納方法は「３番目に検出された不良から格納する」こととする。また、メモリ２ａ，２ｂには、アドレス２のデータビット０が"１"固定値になる不良、アドレス３の全データビットが"１"固定値になる不良があるとする。
【００７５】
最初に図１２に示すフロー図のＳ１０１において、不良情報格納方法指定レジスタ１８に格納方法を設定する動作を行なう。まず、図３に示すインストラクション制御回路６を図４の表により定義づけられたモード２に設定する。そうすると、制御信号ＣＯＮＴＲＯＬ２に"１"が出力される。これにより、図６に示す不良情報格納方法レジスタ１８に、外部端子ＴＤＩから入力された格納方法の設定値がＴＭＣＨＡＩＮを通して入力される。図３に示すＴＡＰコントローラ７から出力されるシフト動作制御信号ＳＦＤＲ、クロック信号ＣＬＫＤＲによって、図６の不良情報格納方法レジスタ１８を構成するレジスタＦＢＳＴ１からＦＢＳＴ４にＴＭＣＨＡＩＮからの入力値をシフト入力させる。格納方法は「３番目に検出された不良から格納する」であることから、図７に示す表より格納モード１に該当する。図６の格納方法コードレジスタ１８１を構成する｛ＦＢＳＴ１，ＦＢＳＴ２｝には｛"０"，"０"｝を設定し、格納方法条件値レジスタ１８２を構成する｛ＦＢＳＴ３，ＦＢＳＴ４｝には３番目を示す２進数値として｛"１"，"１"｝を設定する。
【００７６】
次いで、図１３に示すフロー図のＳ１０２において、メモリテストを実施する。すなわち、図３に示すインストラクション制御回路６を図４の表により定義づけられたモード１に設定する。そうすると、制御信号ＣＯＮＴＲＯＬ１に"０"、ＣＯＮＴＲＯＬ２に"０"が出力される。これにより、図３に示すテストモードレジスタ３ａ，３ｂからそれぞれＴＥＳＴＲＳＴ１、ＴＥＳＴＲＳＴ２信号を出力させて、メモリテスト回路１ａ，１ｂをアクティブ状態にする設定値と、メモリテスト回路１ａ，１ｂから図１１で示したメモリテストパタンの部分パタンを発生させるためにメモリテストモード制御回路５に入力するパタンモード値とを外部端子ＴＤＩから入力する。この動作も図３のＴＡＰコントローラ７から出力されるシフト動作制御信号ＳＦＤＲ、クロック信号ＣＬＫＤＲで制御される。メモリテストモード制御回路５に図１１で示した部分パタンのパタンモード信号となるアドレスモード"３'ｂ１０１"、Ｒｅａｄ／Ｗｒｉｔｅモード"３'ｂ１０１"、データモード"２'ｂ１１"の８ビットを設定する。
【００７７】
そして、外部よりＳＴＡＲＴ信号をアクティブにすることでメモリテスト回路１ａ、１ｂは、図１０に示すパタンでのメモリテストを開始する。このメモリテスト中には、図３のＴＡＰコントローラ７から出力される制御信号ＳＦＤＲ、クロック信号ＣＬＫＤＲはどちらも"０"であり、図８におけるＦＢＳＦＥＮ信号が"０"となり、不良情報レジスタ回路１７７ａ，１７７ｂに不良情報を格納するＦＡＩＬＤＡＴＡ２、ＦＢＳＦＤＡＴＡ信号ラインが活性化される。また、ＣＯＮＴＲＯＬ１は"０"であることから不良情報格納レジスタ１７はＢＩＳＴＣＬＫ信号で動作する。
【００７８】
まず、図１１に示した表のＰａｔｔｅｒｎ−Ｎｕｍｂｅｒ  ６でアドレス２のデータが図５のメモリ２からＲＤＡＴＡ信号として読み出され、図５の期待値比較回路１４で期待値生成回路１３からの期待値信号ＥＸＤＡＴＡと比較される。データビット０で不良が検出されてＦＡＩＬＦＬＡＧ信号がアクティブ（"１"の値）になり、図５の格納判定回路１６に不良情報信号ＦＡＩＬＤＡＴＡ１が入力される。
【００７９】
図５の格納判定回路１６では、不良情報格納方法指定レジスタ１８からの信号ＳＴＯＲＥＤＡＴＡに基づき、図１３に示したフローで格納判定を行なう。
【００８０】
すなわち、格納判定回路１６は、Ｓ２０１において、不良検出数カウントｋ，不良格納数カウントｐを初期化し、格納方法コードレジスタ１８１の値（格納モード）に応じて格納方法条件値レジスタ１８２を設定する。Ｓ２０２において、メモリテストを行いテストパタンごとにｔをカウントアップする。メモリテストで不良を検出した場合、Ｓ２０３において、格納方法コードレジスタ１８１の値に応じて格納モード２〜４の場合、検出した不良アドレスを判定する。格納方法コードレジスタ１８１の値に応じて格納モード１の場合、Ｓ２０４において、ｋが格納を開始する検出数に達しているか判定する。Ｓ２０３もしくはＳ２０４の条件を満たす場合、Ｓ２０５において、ｐが不良を格納できる個数の範囲内か判定する。Ｓ２０５の条件を満たす場合、Ｓ２０６において、格納判定回路１６からＦＡＩＬＥＮ信号、ＦＡＩＬＤＡＴＡ２を出力し、不良情報格納レジスタ１７に格納する。Ｓ２０８において、既に不良情報格納レジスタ１７に不良情報を格納している場合、不良情報が未格納のレジスタへ格納済みの不良情報をシフトさせ、空いた不良情報レジスタに不良情報を格納し、不良格納個数ｐをカウントアップする。Ｓ２０５の条件を満たさない場合、Ｓ２０７において、格納判定回路１６のＦＡＩＬＯＶＥＲ信号をアクティブにし、Ｓ２０９において、レジスタ１７６に１を設定する。Ｓ２０８もしくはＳ２０９の後、Ｓ２１０において、不良検出数ｋをカウントアップし、メモリテストを繰り返す。
【００８１】
この例では、格納方法を、「３番目の検出不良から格納」とするため、図１３におけるＳ２０４にて条件を満たさないことから、Ｓ２１０の検出数のカウントアップを行なう。同様に図１１の表Ｐａｔｔｅｒｎ−Ｎｕｍｂｅｒ  ８でもアドレス３で不良が検出されるが、条件を満たさないため、Ｓ２１０のみ実行される。図１１に示す表におけるＰａｔｔｅｒｎ−Ｎｕｍｂｅｒ  １６でのアドレス２の読み出し比較で検出される不良が３番目に検出された不良となり、格納判定回路１６にて図１３におけるＳ２０４の条件を満たし、Ｓ２０５の条件もクリアしてＳ２０６、Ｓ２０８の格納動作を行なう。
【００８２】
図５に示す格納判定回路１６から不良情報ＦＡＩＬＤＡＴＡ２が出力されて不良情報格納レジスタ１７に入力される。このとき、格納判定回路１６から出力されるＦＡＩＬＥＮ信号はアクティブ（"１"の値）となる。不良情報ＦＡＩＬＤＡＴＡ２は、図８に示す不良情報レジスタ１７７ｂに入力され、図９の不良データレジスタ１７７１（図１０のレジスタ｛ＦＢ２１，ＦＢ２２，ＦＢ２３｝）に不良時のデータ出力値"００１"を示す｛０，０，１｝の値、不良アドレスレジスタ１７７２（図１０のレジスタ｛ＦＢ２４，ＦＢ２５｝）に不良時のアドレス２を示す｛１，０｝の値、クロックカウントレジスタ１７７３（図１０のレジスタ｛ＦＢ２６〜ＦＢ３１｝）にクロックカウント値１６を示す｛０，１，０，０，０，０｝の値、メモリテストモードレジスタ１７７４（図１０のレジスタ｛ＦＢ３２〜ＦＢ３９｝）に図１１のパタンモード｛"１０１"、"１０１"、"１１"｝を示す｛１，０，１，１，０，１，１，１｝の値、不良フラグレジスタ１７７５（図１０のレジスタ｛ＦＢ４０｝）に不良が存在することを示す｛１｝の値が格納される。この時点で図１３のＳ２０８における不良情報の格納個数は１個（ｐ＝１）となる。
【００８３】
次に、図１１の表のＰａｔｔｅｒｎ−Ｎｕｍｂｅｒ  １８のアドレス３の読み出し比較で不良が検出される。図１３のＳ２０４、Ｓ２０５の条件を満たし、Ｓ２０６、Ｓ２０７の格納動作を行なう。図１０の不良情報レジスタ１７７ｂを構成する各レジスタＦＢ２１〜ＦＢ４０に格納されている前回検出した不良情報は、図５の格納判定回路１６から出力されるＦＡＩＬＥＮ信号がアクティブ（"１"の値）になり、各ＦＢＳＦＤＡＴＡ１〜ＦＢＳＦＤＡＴＡ２０信号を通って図１０の不良情報レジスタ１７７ａを構成するレジスタＦＢ１〜ＦＢ２０にシフト入力される。不良情報ＦＡＩＬＤＡＴＡ２は、図８の不良情報レジスタ１７７ｂに入力され、図９の不良データレジスタ１７７１（図１０のレジスタ｛ＦＢ２１，ＦＢ２２，ＦＢ２３｝）に不良時のデータ出力値"１１１"を示す｛１，１，１｝の値、不良アドレスレジスタ１７７２（図１０のレジスタ｛ＦＢ２４，ＦＢ２５｝）に不良時のアドレス３を示す｛１，１｝の値、クロックカウントレジスタ１７７３（図１０のレジスタ｛ＦＢ２６〜ＦＢ３１｝）にクロックカウント値１８を示す｛０，１，０，０，１，０｝の値、メモリテストモードレジスタ１７７４（図１０のレジスタ｛ＦＢ３２〜ＦＢ３９｝）に図１１のパタンモード｛"１０１"、"１０１"、"１１"｝を示す｛１，０，１，１，０，１，１，１｝の値、不良フラグレジスタ１７７５（図１０のレジスタ｛ＦＢ４０｝）に不良が存在することを示す｛１｝の値、が格納される。この時点で図１３のＳ２０８における不良情報の格納個数は２個（ｐ＝２）となる。
【００８４】
さらに、次の図１１の表のＰａｔｔｅｒｎ−Ｎｕｍｂｅｒ  ２１のアドレス２の読み出し比較で不良が検出される。図５の格納判定回路１６において、図１３のフロー処理が行なわれる。このとき、図１３のＳ２０４の条件を満たすが、Ｓ２０５において、不良情報を格納できる個数２個を超えることから、Ｓ２０７およびＳ２０９へ進む。図５の格納判定回路１６から格納できる個数を超えたことを示すＦＡＩＬＯＶＥＲ信号をアクティブ（"１"の値）で出力し、図８のレジスタ１７６（ＦＢＯＶ）にこのフラグ信号を格納する。以降の検出された不良に関しては、同様に図１３のＳ２０７、Ｓ２０９の動作となる。
【００８５】
メモリテストが終了すると、図１２に示すフロー図のＳ１０３において、不良情報格納レジスタから外部へ不良情報を出力する動作を行なう。すなわち、図３に示すインストラクション制御回路６を図４の表により定義づけられたモード３に設定する。制御信号ＣＯＮＴＲＯＬ１は"１"、ＣＯＮＴＲＯＬ２は"０"となる。これにより、図５に示す不良情報格納レジスタ１７に格納された不良情報がＦＢＯＵＴ信号を通じて外部へ出力される。制御信号ＣＯＮＴＲＯＬ１が"１"であることから、図８のレジスタ１７６，１７７ａ，１７７ｂに入力されるクロック信号ＦＢＣＬＫは図３のＴＡＰコントローラ７から出力されるシフトクロック信号ＣＬＫＤＲで動作する。制御信号ＣＯＮＴＲＯＬ２に"０"が入力され、シフト動作制御信号ＳＦＤＲがアクティブ（"１"の値）になることにより、図８の不良情報レジスタ１７７ｂ（図１０のレジスタ｛ＦＢ４０〜ＦＢ２１｝）、不良情報レジスタ１７７ａ（図１０のレジスタ｛ＦＢ２０〜ＦＢ１｝）、レジスタ１７６（ＦＢＯＶ）の順でＦＢＯＵＴよりシフト出力される。この動作が図３の各メモリテスト回路１ａ、１ｂで行なわれ、外部端子ＴＤＯよりメモリ２ｂから検出された不良情報、メモリ２ａから検出された不良情報の順で出力される。
【００８６】
本実施形態では、出力された不良情報から、メモリ２ａ，２ｂに対し、メモリテストモード情報｛"１０１"、"１０１"、"１１"｝に対応する図１１において例示されるメモリテストパタンの部分パタンでテストが行われ、クロックカウント値から部分パタンに含まれるパタン１６及びパタン１８で不良が検出されたこと、アドレス２でデータ"００１"、アドレス３でデータ"１１１"という不良があることがわかる。また、格納されている以外にもまだ不良が存在することも格納個数を超えて不良が存在することを示すフラグの情報から知ることができる。
【００８７】
次いで、図１２に示すフロー図のＳ１０４において、格納できる個数を超えて不良が存在することから、さらにそれらの不良情報を入手するため、Ｓ１０１から格納方法の設定を変更して同様の動作を再度実施する。
【００８８】
本実施形態では、従来例１のように、実施されたメモリテストパタンの部分パタン構成内容を知らないと不良の発生した状態を確認することができないという問題点を解決することができる。すなわち、図３のメモリテストモード制御回路５から出力されてメモリテスト回路１ａ，１ｂで発生させる部分パタンを指示するパタンモード信号ＭＥＭＴＥＳＴＭＯＤＥを、図９に示す不良情報レジスタ１７７ａ，１７７ｂを構成するメモリテストモードレジスタ１７７４に格納する。これにより、今回の図１１で示したような部分パタンも含めてメモリテストパタンを構成する他の部分パタンも実施した後、外部に不良情報を取り出した際にメモリテストモードレジスタ１７７４に格納されたパタンモードを確認することで、どのようなメモリテストパタンの部分パタンで検出された不良なのかを判別することが可能となる。
【００８９】
また、本実施形態では、従来例２のように、実施されたメモリテストパタンのどの部分パタンで、また部分パタン中の何番目のパタンで不良を検出したのかがわからないという問題点も解決することができる。すなわち、図５のテストパタン生成回路１２からメモリテストパタンの部分パタン出力が始まった時点からクロックカウンタ１５１でカウントされるパタン番号を、図９に示す不良情報レジスタ１７７ａ，１７７ｂを構成するクロックカウントレジスタ１７７３に格納する。これにより、上記のようにメモリテストモードレジスタ１７７４に格納されたパタンモードと、このクロックカウントレジスタ１７７３に格納された値を確認することで、どの部分パタンの何番目で不良が検出されたのかを判別することが可能となる。
【００９０】
さらに、本実施形態において、従来例１，従来例２のように、用意されたサイズまでしか不良情報を格納できず、それを超えた不良情報はわからないという問題点も解決することができる。すなわち、図５、図６に示す不良情報格納方法指定レジスタ１８と格納判定回路１６を用意し、不良情報格納方法指定レジスタ１８で不良情報の格納方法を外部から設定して格納判定回路１６で図７に示す格納判定に従って図１１の不良情報格納動作を実施することにある。上記の例において格納方法を「３番目に検出された不良から格納する」という条件にしたように、格納方法を変更しながら図１２で示すフローに従って不良情報格納と外部へ出力を繰り返すことで格納できる個数を超えた不良情報を収集できる。また、図８に示す格納できる個数を超えて不良が存在することを示すフラグレジスタ１７６を用意することで、格納した以外にも不良が存在するか否かを判別することできる。
【００９１】
以上説明したように、本実施形態によれば、メモリの不良情報として不良検出時のデータ出力、アドレスの他に、メモリテストパタンのどの部分パタンで、かつその部分パタン中の何番目のパタンで不良を検出したのかを判別できる。また、本実施形態によれば、「何番目に検出された不良を格納する」、「何アドレス以上で検出された不良を格納する」などの不良情報の格納方法を制御する回路と、格納個数を超えて不良が検出されたか否かを示す１ビット分のレジスタを用意することで、テスト対象メモリの全アドレスについて不良を確認することができる。
【００９２】
尚、上述の実施の形態に限らず、このほか、本発明の要旨を逸脱しない範囲で種々の変形、実施が可能である。
【図面の簡単な説明】
【００９３】
【図１】従来例１のメモリテスト回路の構成図である。
【図２】従来例２のメモリテスト回路の構成図である。
【図３】本発明にかかるメモリテスト回路を含む回路全体の構成図である。
【図４】本発明にかかるインストラクション制御回路の動作を示す出力制御信号表である。
【図５】本発明にかかるメモリテスト回路の構成を示す回路図である。
【図６】本発明にかかる不良情報格納方法指定レジスタの構成を示す回路図である。
【図７】本発明にかかる格納判定回路の動作を示す動作表である。
【図８】本発明にかかる不良情報格納レジスタの構成を示す回路図である。
【図９】本発明にかかる不良情報レジスタの構成を示す回路図である。
【図１０】本発明にかかる不良情報レジスタ回路の構成を示す回路図である。
【図１１】本発明にかかるメモリテストパタンの部分パタンの一例を示す図である。
【図１２】本発明にかかるテスト回路の不良解析方法の概略を示すフローチャートである。
【図１３】本発明にかかる格納判定回路と不良情報格納レジスタの動作を示すフローチャートである。
【符号の説明】
【００９４】
１ａ，１ｂ  メモリテスト回路
２ａ，２ｂ  メモリ
３ａ，３ｂ  テストモードレジスタ
４ａ，４ｂ  セレクタ
５  メモリテストモード制御回路
６  インストラクション制御回路
７  ＴＡＰコントローラ
１８  不良情報格納方法指定レジスタ
１６  格納判定回路
１７  不良情報格納レジスタ
１１  テスト制御回路
１２  テストパタン生成回路
１３  期待値生成回路
１４  期待値比較回路
１５１  クロックカウンタ
１５２  アドレスレジスタ
１５３  不良データレジスタ
１９  セレクタ
１７６  レジスタ
１７７  不良情報レジスタ
１８１  格納方法コードレジスタ
１８２  格納方法条件値レジスタ
１７７１  不良データレジスタ
１７７２  不良アドレスレジスタ
１７７３  クロックカウントレジスタ
１７７４  メモリテストモードレジスタ
１７７５  不良フラグレジスタ
【図１】
2007172778.tif 000003
【図２】
2007172778.tif 000004
【図３】
2007172778.tif 000005
【図４】
2007172778.tif 000006
【図５】
2007172778.tif 000007
【図６】
2007172778.tif 000008
【図７】
2007172778.tif 000009
【図８】
2007172778.tif 000010
【図９】
2007172778.tif 000011
【図１０】
2007172778.tif 000012
【図１１】
2007172778.tif 000013
【図１２】
2007172778.tif 000014
【図１３】
2007172778.tif 000015