半導体装置及び不良箇所情報の書き込み方法
【課題】複数のフューズグループが設けられた構成においてチップ内部の自己修正機能により適切にメモリを修正できる半導体装置を提供する。
【解決手段】半導体装置は、複数のメモリセルと複数の冗長メモリセルとを含むメモリと、メモリを試験し複数のメモリセルのうちの複数の不良箇所を示す不良箇所情報を出力する試験回路と、複数の記憶部と、複数の記憶部の更新前の格納情報と不良箇所情報とに基づいて複数の記憶部の更新後の格納情報を決定する制御回路とを含み、メモリは、複数の記憶部の更新後の格納情報により複数の不良箇所をそれぞれ特定し、該特定された複数の不良箇所のメモリセルをそれぞれ複数の冗長メモリセルで置き換える。
【解決手段】半導体装置は、複数のメモリセルと複数の冗長メモリセルとを含むメモリと、メモリを試験し複数のメモリセルのうちの複数の不良箇所を示す不良箇所情報を出力する試験回路と、複数の記憶部と、複数の記憶部の更新前の格納情報と不良箇所情報とに基づいて複数の記憶部の更新後の格納情報を決定する制御回路とを含み、メモリは、複数の記憶部の更新後の格納情報により複数の不良箇所をそれぞれ特定し、該特定された複数の不良箇所のメモリセルをそれぞれ複数の冗長メモリセルで置き換える。
【発明の詳細な説明】
【技術分野】
【0001】
本願開示は、一般に半導体装置に関し、詳しくは冗長機能を有するメモリを含む半導体装置に関する。
【背景技術】
【0002】
半導体記憶装置においては、欠陥メモリセルを冗長メモリセルで置き換える冗長機能が設けられている。半導体記憶装置の出荷時にメモリセルの動作テストを実行し、欠陥メモリセルが発見された場合には、その欠陥メモリセルの位置に関する情報をフューズ回路等に記録する。読み出し時には、フューズ回路等に記録された上記情報に基づいて、欠陥メモリセルではなく冗長メモリセルに対するアクセスを実行する。一般に、欠陥メモリセルの冗長メモリセルによる置き換えの単位は、データビット単位、ワード線単位、或いはコラム線単位となっている。
【0003】
フューズ回路においては、1つのフューズに対応して、このフューズの状態(切断/非切断)を示すためのデータをラッチするラッチ回路が設けられる。例えばデータビット単位で欠陥メモリセルを救済する場合には、冗長用のメモリブロックを用意し、欠陥データビットのメモリブロックを冗長メモリブロックで置き換える。これを実現するために、欠陥データビット位置をフューズ回路に記憶する。例えばデータビット数が32ビットであれば、6個のフューズ回路を設ける。5個のフューズ回路により32個のデータビット位置を指定することができるが、更に冗長するか否かを指定する必要があるため、全体で6個のフューズ回路が必要となる。この6個のフューズ回路全体を纏めて、フューズグループと呼ぶ。欠陥のあるデータビット位置を示すコードに対応して、フューズグループ中の複数のフューズのうちの幾つかを切断する。切断されたフューズの情報は、対応するラッチ回路を介して冗長切替回路に供給される。この情報に基づいて、冗長切替回路が、欠陥データビット位置に対応するメモリブロックを冗長メモリブロックで置き換える。
【0004】
SoC(System on Chip)等の半導体チップの場合、各メモリの周囲にメモリBIST(Built-In Self Test)回路を設け、このメモリBIST回路によりテストパターンの発生から試験結果の判定までを行なう。また近年では、BIST等の自己検査機能によりメモリ内で不良箇所が発見された場合に、不良箇所を自動的に冗長メモリセルで置き換えるBISR(Built-In Self Repair)と呼ばれる自己修正機能がチップに組み込まれる場合もある。このBISRにより、メモリ試験結果(不良メモリセル情報)をチップ外部のLSIテスタに読み出すことなく、欠陥箇所を救済することができる。従って、高速に且つ効率的にメモリを修復することが可能となる。
【0005】
メモリの歩留まり率を上げるためには、冗長メモリセルとフューズグループとを複数個用意して、複数の不良箇所をそれぞれ救済することが好ましい。例えばデータビット単位での冗長の場合、2個の冗長メモリブロックと2個のフューズグループとを設ければ、2ビットまでのデータビット不良に対応することができる。BISRの構成で、このように複数のフューズグループを用いる場合、検出された1つ又は複数の不良箇所に対して何れのフューズグループを割り当てるかを決定する必要がある。
【0006】
また特定の電圧/温度条件での試験でのみ不良となるメモリセルが存在するため、異なる電圧/温度条件下で複数回のメモリ試験を行なうことが好ましい。このように複数回メモリ試験を実行する場合には、各メモリ試験の実行後にその都度不良箇所の救済を行う必要がある。即ち、新たなメモリ試験で新たに不良箇所が見つかる度に、以前の試験で既に切断したフューズグループではなく別のフューズグループを切断対象として割り当てていく必要がある。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開2003−36696号公報
【特許文献2】特開2001−267389号公報
【特許文献3】特開2007−66380号公報
【特許文献4】特開平11−250687号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
以上を鑑みると、複数のフューズグループが設けられた構成においてチップ内部の自己修正機能により適切にメモリを修正できる半導体装置が望まれる。
【課題を解決するための手段】
【0009】
半導体装置は、複数のメモリセルと複数の冗長メモリセルとを含むメモリと、前記メモリを試験し前記複数のメモリセルのうちの複数の不良箇所を示す不良箇所情報を出力する試験回路と、複数の記憶部と、前記複数の記憶部の更新前の格納情報と前記不良箇所情報とに基づいて前記複数の記憶部の更新後の格納情報を決定する制御回路とを含み、前記メモリは、前記複数の記憶部の前記更新後の格納情報により前記複数の不良箇所をそれぞれ特定し、該特定された複数の不良箇所のメモリセルをそれぞれ前記複数の冗長メモリセルで置き換えることを特徴とする。
【0010】
複数のメモリセルと複数の冗長メモリセルとを含むメモリと、前記メモリを試験する試験回路と、複数の記憶部とを含む半導体装置において不良箇所情報の書き込み方法は、前記試験回路により前記メモリを試験し前記複数のメモリセルのうちの複数の不良箇所を示す不良箇所情報を生成し、前記複数の記憶部の更新前の格納情報と前記不良箇所情報とに基づいて前記複数の記憶部の更新後の格納情報を前記半導体装置内部での論理演算により決定し、前記複数の記憶部に前記更新後の格納情報を書き込む各段階を含み、前記メモリは、前記複数の記憶部の前記更新後の格納情報により特定された複数の不良箇所のメモリセルをそれぞれ前記複数の冗長メモリセルで置き換える構成となっていることを特徴とする。
【発明の効果】
【0011】
本願開示の少なくとも1つの実施例によれば、複数の記憶部の更新前の格納情報と不良箇所情報とに基づいて複数の記憶部の更新後の格納情報を決定する制御回路を設ける。この制御回路の働きにより、複数のフューズグループが設けられた構成において、チップ内部の自己修正機能により適切にメモリを修正することができる。
【図面の簡単な説明】
【0012】
【図1】半導体装置の試験を行なうシステムの構成の一例を示す図である。
【図2】メモリBIST回路の構成の一例を示す図である。
【図3】メモリの冗長処理の構成の一例を示す図である。
【図4】メモリ16の冗長処理を説明するための図である。
【図5】図5はフューズグループの構成の一例を示す図である。
【図6】制御回路の構成の一例を示す図である。
【図7】分離・判定回路の構成の一例を示す図である。
【図8】(a)は図7の分離・判定回路の入出力論理値の関係を示す図であり、(b)はビットパターンの例を示す図である。
【図9】不良ビット位置とフューズ切断パターンとの関係を示す表である。
【図10】図6のエンコーダの入出力の関係を示す表である。
【図11】イネーブル回路の構成の一例を示す図である。
【図12】図1の半導体装置試験システムの動作の一例を示す図である。
【図13】半導体装置の構成の別の一例を示す図である。
【発明を実施するための形態】
【0013】
以下に、本発明の実施例を添付の図面を用いて詳細に説明する。
【0014】
図1は、半導体装置の試験を行なうシステムの構成の一例を示す図である。図1のシステムは、テスタ装置10及び半導体装置11を含む。半導体装置11は例えばSoCであある。テスタ装置10は、半導体装置11の各信号端子に接続される。テスタ装置10は、各種信号を半導体装置11に供給することにより半導体装置11の動作を制御し、半導体装置11の各種試験を実行する。またテスタ装置10は、半導体装置11から出力される各種信号に基づいて試験動作を制御したり、試験動作の結果を判定したりして、半導体装置11の良否を判断する。
【0015】
半導体装置11は、複数のメモリユニット12−1乃至12−n及びOR回路13を含む。図1のメモリユニット12−1乃至12−nの各々は、メモリBIST回路(MBIST)15、メモリ16、制御回路17、及び複数のフューズグループ18−1及び18−2を含む。図1に示す例ではメモリユニット12−1乃至12−nは同一の構成を有するが、異なる構成であってもよい。例えば、各メモリユニットに設けられるフューズグループの数は同一である必要はなく、各メモリユニット毎に適宜定められた固有の数であってよい。
【0016】
メモリ16は、複数のメモリセルと複数の冗長メモリセルとを含む。メモリBIST回路15は、メモリ16を試験し複数のメモリセルのうちの複数の不良箇所を示す不良箇所情報fbを出力する。具体的には、テスタ装置10からクロック信号clk、BIST試験開始信号bist、及び初期データdiを供給する。メモリBIST回路15は、BIST試験開始信号bistに応答してクロック信号clkに同期した試験動作を開始し、初期データdiに基づいて種々のアドレス及びデータを生成してメモリ16に印加し、メモリ16を試験する。制御回路17は、複数のフューズグループ18−1及び18−2の更新前の格納情報fg1及びfg2と不良箇所情報fbとに基づいて複数のフューズグループ18−1及び18−2の更新後の格納情報cs1及びcs2を決定する。テスタ装置10がフューズ切断指示信号wenをフューズグループ18−1及び18−2に印加することで、格納情報cs1及びcs2に応じたフューズ切断が実行される。即ち、格納情報cs1及びcs2がフューズグループ18−1及び18−2にそれぞれ格納される。メモリ16は、フューズグループ18−1及び18−2の格納情報fg1及びfg2(格納情報cs1及びcs2に相当する情報)により、複数の不良箇所をそれぞれ特定し、特定された複数の不良箇所のメモリセルをそれぞれ複数の冗長メモリセルで置き換える。
【0017】
図2は、メモリBIST回路15の構成の一例を示す図である。メモリBIST回路15は、リード期待値生成回路20、ライトデータ生成回路21、アドレス生成回路22、リード・ライト制御信号生成回路23、比較回路24−1乃至24−b、OR回路25−1乃至25−b、及びフリップフロップ26−1乃至26−bを含む。図2の例では、メモリ16からの読み出しデータのビット数がbである場合を想定している。
【0018】
図1で説明したように、メモリBIST回路15は、BIST試験開始信号bistに応答してクロック信号clkに同期した試験動作を開始し、初期データdiに基づいて種々のアドレス及びデータを生成してメモリ16に印加し、メモリ16を試験する。具体的には、アドレス生成回路22が、メモリ16のアクセス位置を指定するアドレスadrを生成する。リード・ライト制御信号生成回路23は、読み出し動作又は書き込み動作を指示するリード・ライト制御信号rw(ライトイネーブル信号及びチップイネーブル信号等複数の信号であってもよい)を生成する。ライトデータ生成回路21は、マーチ・パターン、チェッカーボード・パターン、ストライプ・パターン、データマスク機能試験パターン、ギャロップ・パターン等の種々のテストパターンの書き込みデータwdを生成する。生成された書き込みデータwdは、リード・ライト制御信号rwにより書き込み動作を指示することにより、メモリ16のアドレスadrにより指定される格納位置に書き込まれる。
【0019】
その後、リード・ライト制御信号rwにより読み出し動作を指示することにより、メモリ16のアドレスadrにより指定される格納位置からデータrd[0]乃至rd[b−1]を読み出し、比較回路24−1乃至24−bに供給する。リード期待値生成回路20は、実施した動作試験に対応する期待値データre[0]乃至re[b−1]を生成し、この期待値データを比較回路24−1乃至24−bに供給する。比較回路24−1乃至24−bは、メモリ16から読み出された読み出しデータとリード期待値生成回路20からの期待値データとをビット毎に比較することで、メモリ16の動作が正常であるか否かを判定する。比較回路24−1乃至24−bの出力するbビットの判定結果は、読み出しデータと期待値データとが一致するビット位置で例えば0であり、不一致のビット位置で1であってよい。比較回路24−1乃至24−bの出力するbビットの判定結果は、OR回路25−1乃至25−bを介してフリップフロップ26−1乃至26−bに格納される。この際、OR回路25−1乃至25−bにより、前回の読み出しデータに対するビット毎のbビットの判定結果と今回の読み出しデータに対するビット毎の判定結果とがOR演算される。このOR演算により判定結果が累積され、読み出しデータに対する判定を複数回行なった際に、一度でも不良と判定されたビット(値1のビット)は不良を示す値1に維持される。フリップフロップ26−1乃至26−bの格納値が、不良ビットデータfb[0]乃至fb[b−1](即ち図1の不良箇所情報fb)として、メモリBIST回路15から出力される。
【0020】
図3は、メモリ16の冗長処理の構成の一例を示す図である。メモリ16は、複数のメモリブロック31−1乃至31−6、複数の冗長メモリブロック32−1及び32−2、及び冗長切替回路30を含む。図3の例では、メモリブロックの数は6個であり、冗長メモリブロックの数は2個である。冗長切替回路30は、フューズグループ18−1及び18−2の格納情報fg1及びfg2により、複数の不良箇所をそれぞれ特定し、特定された複数の不良箇所のメモリセルをそれぞれ複数の冗長メモリセルで置き換える。フューズグループ18−1及び18−2の各々は、それぞれ3ビットの情報(fg1[0]乃至fg1[2]及びfg1[0]乃至fg1[2])を格納し、この3ビットの情報により6個のメモリブロックうちの1つの不良メモリブロックを特定する。即ち2つのフューズグループ18−1及び18−2により、メモリブロック31−1乃至31−6のうちの2つの不良メモリブロックを特定することができる。
【0021】
初期状態では、フューズグループ18−1及び18−2には初期格納情報としてそれぞれ“000”が格納される。この状態では、冗長切替回路30は、メモリブロック31−1乃至31−6のそれぞれから読み出した6ビットの読み出しデータrd0乃至rd5をメモリ16外部にそのまま出力する。メモリ16から読み出されたデータは、メモリBIST回路15により判定され、メモリBIST回路15のフリップフロップ26−1乃至26−6に判定結果が格納される。図3の例では、メモリブロック31−3に不良箇所があり、フリップフロップ26−3に格納される判定結果の3番目のビットが値1となっている。なお、仮に2つのメモリブロックに不良箇所があるとすると、フリップフロップ26−1乃至26−6のうちの2つの格納ビットが値1となる。フリップフロップ26−1乃至26−6の格納値は、不良箇所情報fbとして制御回路17に供給される。
【0022】
前述のように、図1に示す制御回路17が、複数のフューズグループ18−1及び18−2の更新前の格納情報fg1及びfg2と不良箇所情報fbとに基づいて複数のフューズグループ18−1及び18−2の更新後の格納情報を決定する。テスタ装置10がフューズ切断指示信号wenをフューズグループ18−1及び18−2に印加することで、この更新後の格納情報に応じたフューズ切断が実行される。メモリ16は、フューズグループ18−1及び18−2の更新後の格納情報fg1及びfg2により、複数の不良箇所をそれぞれ特定し、特定された複数の不良箇所のメモリセルをそれぞれ複数の冗長メモリセルで置き換える。
【0023】
図4は、メモリ16の冗長処理を説明するための図である。図4に示す例では、メモリ16の不良メモリブロック31−3の位置を示す情報として、“011”がフューズグループ18−1に格納されている。即ち、フューズグループ18−1の格納情報が更新されている。フューズグループ18−2の格納情報は初期値“000”のままで更新されていない。冗長切替回路30は、フューズグループ18−1に格納されているデータfg1[0]乃至fg[2]に基づいて、メモリブロック31−3を不良箇所として特定し、この特定された不良メモリブロック31−3を冗長メモリブロック32−1で置き換える。即ち、ビットbit2については、不良メモリブロック31−3ではなく冗長メモリブロック32−1に対してデータの読み書きを実行する。書き込み動作の場合、書き込みデータのbit0、bit1、bit3乃至bit5については、それぞれメモリブロック31−1、31−2、31−4乃至31−6に書き込まれ、bit2については冗長メモリブロック32−1に書き込まれる。読み出し動作の場合、メモリブロック31−1、31−2、31−4乃至31−6からの読み出しデータがそれぞれビットrd0、rd1、rd3乃至rd5となり、冗長メモリブロック32−1からの読み出しデータがビットrd2となる。これらのビット操作による冗長処理が、冗長切替回路30により実現される。なおビット操作による冗長処理は、上述のように不良箇所のみを置き換えるのでもよいし、或いは不良箇所を避けるように複数ビットを纏めて1ビットずつシフトするシフト冗長で実現してもよい。
【0024】
図5はフューズグループ18−1又は18−2の構成の一例を示す図である。フューズグループ18−x(x=1又は2)は、複数f個のフューズ回路40−1乃至40−f、及び複数f個のAND回路41−1乃至41−fを含む。フューズ回路40−1乃至40−fの各々は同一の構成であってよく、電気的に切断可能なフューズ42及びラッチ回路43を含む。信号csx[0]乃至csx[f−1](x=1又は2)は更新用の格納情報であり、制御回路17から供給される。信号csx[0]乃至csx[f−1]は、フューズ42を切断するビット位置で1となりフューズ42を切断しないビット位置で0となる。テスタ装置10からフューズ切断指示信号wenを印加(1にアサート)すると、信号csx[0]乃至csx[f−1]のうちの値1のビットに対応するAND回路41−1乃至41−fの出力が1となる。AND回路41−1乃至41−fの出力のうちで値1の出力を印加されたフューズ回路40−1乃至40−fにおいて、フューズ42が電気的に切断される。即ち大電流がフューズ42に流され、フューズ42がエレクトロマイグレーションにより高抵抗化される。
【0025】
テスタ装置10からフューズグループ出力初期化信号porがアサートされると、フューズ回路40−1乃至40−fにおいて、フューズ42の切断又は非切断に応じた値がラッチ回路43に格納される。例えばフューズ42が切断されていれば、対応するラッチ回路43には1が格納される。フューズ42が切断されていなければ、対応するラッチ回路43には0が格納される。フューズ回路40−1乃至40−fの各ラッチ回路43の格納値が、フューズグループ18−xの格納情報fgx[0]乃至fgx[f−1](x=1又は2)として出力される。
【0026】
図6は、制御回路17の構成の一例を示す図である。図6に示す制御回路17は、分離・判定回路50、エンコーダ51−1及び51−2、イネーブル回路52−1及び52−2、及びOR回路53−1及び53−2を含む。制御回路17は、フリップフロップ等の記憶素子を含まない組み合わせ論理回路であってよい。即ち制御回路17は順序論理回路ではない組み合わせ論理回路として設計されてよい。
【0027】
前述のように、メモリBIST回路15が出力するbビットの不良箇所情報fbは、不良箇所が複数有ればそれら全ての不良箇所のビットが値1であるデータであり、複数の不良箇所を纏めて示す情報である。制御回路17の分離・判定回路50は、複数の不良箇所を纏めて示す不良箇所情報fbから個々の不良箇所を示す不良箇所毎の情報fb1及びfb2を生成する。即ち例えばメモリ16の出力ビット数が6であれば、情報fb1はこれら6ビットのうちの1つの不良ビット位置を示し、情報fb2はこれら6ビットのうちの他の1つの不良ビット位置を示す。
【0028】
また制御回路17の分離・判定回路50は、フューズグループ18−1及び18−2の格納情報fg1及びfg2と不良箇所情報fbとに基づいて、メモリ16の修復可否を示す判定信号rを出力する。また制御回路17の分離・判定回路50及びエンコーダ51−1及び51−2は、例えば6ビットの不良箇所情報fbをそのビット数より少ないビット数の符号tcs1及びtcs2に変換することにより、更新後の格納情報を生成する。分離・判定回路50、エンコーダ51−1及び51−2、及びイネーブル回路52−1及び52−2の構成及び動作については以下に詳細に説明する。
【0029】
図7は、分離・判定回路50の構成の一例を示す図である。分離・判定回路50は、複数b個のOR回路60−1乃至60−b、複数b個のセレクタ61−1乃至61−b、及び複数b個のセレクタ62−1乃至62−bを含む。OR回路60−1乃至60−bの一方の入力には、メモリBIST回路15からの不良箇所情報fbの対応するビットfb[0]乃至fb[b−1]がそれぞれ印加される。またOR回路60−1乃至60−bのうちの2段目以降の任意のOR回路60−x(xは2乃至bの何れかの値)の他方の入力には、前段のOR回路60−x−1の出力が印加される。OR回路60−1の他方の入力には、図6に示すOR回路53−1により求めたフューズグループ18−1の出力fg1の全ビットのOR演算値pf1が印加される。
【0030】
セレクタ61−1乃至61−bのうちの2段目以降の任意のセレクタ61−x(xは2乃至bの何れかの値)の第1の入力には、前段のOR回路60−x−1の出力が印加される。セレクタ61−1の第1の入力には、図6に示すOR回路53−1からOR演算値pf1が印加される。セレクタ61−1乃至61−bのうちの2段目以降の任意のセレクタ61−x(xは2乃至bの何れかの値)の第2の入力には、前段のセレクタ61−x−1の出力が印加される。セレクタ61−1の第2の入力には、図6に示すOR回路53−2により求めたフューズグループ18−2の出力fg2の全ビットのOR演算値pf2が印加される。セレクタ61−1乃至61−bには、メモリBIST回路15からの不良箇所情報fbの対応するビットfb[0]乃至fb[b−1]がそれぞれ選択制御信号として印加される。選択制御信号が1であれば第1の入力が選択され、選択制御信号が0であれば第2の入力が選択される。
【0031】
セレクタ62−1乃至62−bのうちの2段目以降の任意のセレクタ62−x(xは2乃至bの何れかの値)の第1の入力には、前段のセレクタ61−x−1の出力が印加される。セレクタ62−1の第1の入力には、図6に示すOR回路53−2からOR演算値pf2が印加される。セレクタ62−1乃至62−bのうちの2段目以降の任意のセレクタ62−x(xは2乃至bの何れかの値)の第2の入力には、前段のセレクタ62−x−1の出力が印加される。セレクタ62−1の第2の入力には、固定値0が印加される。セレクタ62−1乃至62−bには、メモリBIST回路15からの不良箇所情報fbの対応するビットfb[0]乃至fb[b−1]がそれぞれ選択制御信号として印加される。選択制御信号が1であれば第1の入力が選択され、選択制御信号が0であれば第2の入力が選択される。
【0032】
OR回路60−1乃至60−bの出力が、不良箇所毎の情報fb1のそれぞれのビットfb1[0]乃至fb1[b−1]となる。不良箇所毎の情報fb1は図6に示すエンコーダ51−1に供給される。また最後のビットfb1[b−1]は、信号nf1として図6に示すイネーブル回路52−1に供給される。またセレクタ61−1乃至61−bの出力が、不良箇所毎の情報fb2のそれぞれのビットfb2[0]乃至fb2[b−1]となる。不良箇所毎の情報fb2は図6に示すエンコーダ51−2に供給される。また最後のビットfb2[b−1]は、信号nf2として図6に示すイネーブル回路52−2に供給される。
【0033】
図7の分離・判定回路50は、不良箇所情報fbの対応するビットfb[0]乃至fb[b−1]のうちでビット位置0からビット位置b−1に向かい順番に各ビットの値を判定する。fbのビット位置0からビット位置b−1に向かい順番に各ビットの値を判定して、最初にビット値が1になった位置を、出力ビットfb1[0]乃至fb1[b−1]に反映させる。具体的には、pf1が0であると仮定した場合、fb1[0]乃至fb1[b−1]のビット列において、最初にfbのビット値が1になるビット位置の前までは0であり、その位置から後は1となるビットパターンとなる。また更に、fbのビット位置0からビット位置b−1に向かい順番に各ビットの値を判定して、2回目にビット値が1になった位置を、出力ビットfb2[0]乃至fb2[b−1]に反映させる。具体的には、pf2が0であると仮定した場合、fb1[0]乃至fb1[b−1]のビット列において、2回目にfbのビット値が1になるビット位置の前までは0であり、その位置から後は1となるビットパターンとなる。
【0034】
図8(a)は、図7の分離・判定回路50の入出力論理値の関係を示す図である。図8(a)から分かるように、出力nf1の値は、入力pf1、pf2、及びfb[0]乃至fb[b−1]に含まれる1の数が1以上の場合に1となり、1の数が0の場合に0となる。出力nf2の値は、入力pf1、pf2、及びfb[0]乃至fb[b−1]に含まれる1の数が2以上の場合に1となり、1の数が0又は1の場合に0となる。また出力rの値は、入力pf1、pf2、及びfb[0]乃至fb[b−1]に含まれる1の数が3以上の場合に1となり、1の数が2以下の場合に0となる。この出力rは、メモリ16を修復できないと判断した場合に1になる。なお図8(a)から分かるように、pf1が1である状態で初めてpf2は1になることができる。これは、フューズグループ18−1をフューズグループ18−2よりも常に先にフューズ切断する回路構成となっているからである。
【0035】
出力fb1は、pf1が0であり且つfbのビット値が全て0である場合は、全て0のビットパターン(All_0)となる。またpf1が1である場合には、全て1のビットパターン(All_1)となる。出力fb1は更に、pf1が0の場合、0ビット位置から最初にfbのビット値が1になるビット位置の前までは0が連続し、そのビット位置からb−1ビット位置まで1が連続するビットパターンとなる。図8(a)において※1で示す欄は、そのようなビットパターンを示す。図8(b)に、0ビット位置から最初にfbのビット値が1になるビット位置の前までは0が連続し、そのビット位置からb−1ビット位置まで1が連続するビットパターンの例を示す。左端の列がfb[0]乃至fb[5](即ちfb[5:0])の6ビットパターンを示す。真ん中の※1で示す列が、fb[5:0]の0ビット位置から順番にビット値を判定した場合に最初に1になるビット位置をZとし、0ビット位置からZビット位置の前までは0が連続し、Zビット位置からb−1ビット位置まで1が連続するビットパターンを示す。
【0036】
出力fb2は、pf1及びpf2が0であり且つfb中の値1のビット数が1以下の時は、全て0のビットパターン(All_0)となる。またpf1及びpf2が0であり且つfb中の値1のビット数が2以上の時は、0ビット位置から2回目にfbのビット値が1になるビット位置の前までは0が連続し、そのビット位置からb−1ビット位置まで1が連続するビットパターンとなる。図8(a)において※2で示す欄は、そのようなビットパターンを示す。図8(b)に、0ビット位置から2回目にfbのビット値が1になるビット位置の前までは0が連続し、そのビット位置からb−1ビット位置まで1が連続するビットパターンの例を示す。右端の※2で示す列が、fb[5:0]の0ビット位置から順番にビット値を判定した場合に2回目に1になるビット位置をZとし、0ビット位置からZビット位置の前までは0が連続し、Zビット位置からb−1ビット位置まで1が連続するビットパターンを示す。
【0037】
出力fb2は、pf1が1でpf2が0の場合、fb中の値1のビット数がゼロであれば、全て0のビットパターン(All_0)となる。またpf1が1でpf2が0の場合、fb中の値1のビット数が1以上の時は、0ビット位置から最初にfbのビット値が1になるビット位置の前までは0が連続し、そのビット位置からb−1ビット位置まで1が連続するビットパターンとなる。即ち前述の※1のビットパターンとなる。これはpf1が既に値1であるので、最初にfbのビット値が1になるビット位置は、全体で考えると2回目の値1であるからである。またpf1が1でpf2が1の場合、出力fb2は全て1のビットパターン(All_1)となる。
【0038】
上記のようにして求めた不良箇所毎の情報fb1は図6に示すエンコーダ51−1に供給される。また不良箇所毎の情報fb2は図6に示すエンコーダ51−2に供給される。不良箇所毎の情報fb1は、初期状態においては、fbにおいて0ビット位置から順番にビット値を判定した場合に最初に1になるビット位置の故障箇所を示す。また不良箇所毎の情報fb2は、初期状態においては、fbにおいて0ビット位置から順番にビット値を判定した場合に2番目に1になるビット位置の故障箇所を示す。初期状態でない場合、即ち既にpf1がゼロでない場合には、不良箇所毎の情報fb2が、fbにおいて0ビット位置から順番にビット値を判定した場合に最初に1になるビット位置の故障箇所を示す。不良箇所毎の情報fb1がフューズグループ18−1を設定するために用いられ、不良箇所毎の情報fb2がフューズグループ18−2を設定するために用いられる。
【0039】
図9は、不良ビット位置とフューズ切断パターンとの関係を示す表である。図9に示すのは、不良箇所情報fbが6ビットの場合であり、このとき3個のフューズが用いられる。即ち、図5に示すフューズ回路40−1乃至40−fの数fが3となる。図9に示すように、例えば不良ビット位置が0ビット目であるとき、即ちfb[0]が1であるとき、フューズグループの3個のフューズの0番目のフューズを切断する。即ち、フューズグループ18−x(x=1又は2)においてfgx[0]が1となるように、図5のフューズ回路40−1のフューズ42を切断する。また例えば不良ビット位置が4ビット目であるとき、即ちfb[4]が1であるとき、フューズグループの3個のフューズの0番目及び2番目のフューズを切断する。即ち、フューズグループ18−x(x=1又は2)においてfgx[0]及びfgx[2]が1となるように、フューズ回路40−1及び40−3のフューズ42を切断する。このように、6ビットのうち1つだけ値が1である不良ビット位置を3ビットにより2進数で表現する。そしてこの3ビットのうちの値が1であるビット位置に対応するフューズを切断する。
【0040】
図10は、図6のエンコーダ51−1及び51−2の入出力の関係を示す表である。エンコーダ51−1の入力は6ビットの不良箇所毎の不良箇所情報fb1であり、エンコーダ51−2の入力は6ビットの不良箇所毎の不良箇所情報fb2である。図10の表の左列は、入力の不良箇所情報fb1又はfb2である。表の右列は、エンコーダ51−1又は51−2が出力する3ビットである。図10に示されるように、エンコーダは、入力6ビットのうちの最下位ビット側から順次ビット値を判定していったときに最初に1になるビット位置を2進数で表現し、この2進数を示す3ビットのデータを出力する。エンコーダ51−1の場合、3ビット出力tcs1が、図6に示されるようにイネーブル回路52−1に供給される。エンコーダ51−2の場合、3ビット出力tcs2が、図6に示されるようにイネーブル回路52−2に供給される。
【0041】
図11は、イネーブル回路52−1又は52−2の構成の一例を示す図である。イネーブル回路52−x(x=1又は2)は、AND回路70−1乃至70−f及びAND回路71を含む。図11から分かるように、イネーブル回路52−xは、所定の条件が満たされたときにエンコーダ51−xの出力tcsx[0]乃至tcsx[f−1]をそのまま格納情報csx[0]乃至csx[f−1]として、フューズグループ18−xに供給する。この所定の条件が満たされない場合には、イネーブル回路52−xは、格納情報csx[0]乃至csx[f−1]として全て0を出力する。従ってこの場合、図5に示すフューズグループ18−xのフューズは切断されない。
【0042】
ここで上記の所定の条件とは、pfxが0であること、nfxが1であること、及び判定信号rが0であることである。pfxが0であることは、対応するフューズグループ18−xには未だ書き込みがされていない、即ちそのフューズが切断されていない(格納情報が更新されていない)ことを示す。nfxが1であることは、対応するフューズグループ18−xに書き込みすべき、即ちそのフューズを切断すべき(格納情報を更新すべき)ことを示す。また判定信号rが0であることは、メモリ16が修復できること、即ち故障箇所がf個以下(この例の場合は2個以下)でありフューズグループ18−1及び18−2により対応できることを示す。メモリ16が修復できない場合には、判定信号rが1となり、格納情報csx[0]乃至csx[f−1]として全て0が出力される。従ってこの場合、図5に示すフューズグループ18−xのフューズは切断されない。このようにして無駄なフューズ切断を避けることにより、試験時間の短縮及び消費電力の削減を図ることができる。
【0043】
図12は、図1の半導体装置試験システムの動作の一例を示す図である。ステップS1で、テスタ装置10から半導体装置11にフューズ初期化パターンを印加する。即ちテスタ装置10がフューズグループ出力初期化信号porをアサートし、フューズグループ18−1及び18−2の出力fg1及びfg2を内部フューズに応じた状態に設定する。
【0044】
ステップS2で、テスタ装置10から半導体装置11にメモリ試験パターンを印加する。即ちテスタ装置10からクロック信号clk、BIST試験開始信号bist、及び初期データdiをメモリBIST回路15に供給する。メモリBIST回路15は、BIST試験開始信号bistに応答してクロック信号clkに同期した試験動作を開始し、初期データdiに基づいて種々のアドレス及びデータを生成してメモリ16に印加し、メモリ16を試験する。これによりメモリBIST回路15から不良箇所情報fbが出力され、制御回路17により生成された格納情報cs1及びcs2が、それぞれフューズグループ18−1及び18−2に供給される。
【0045】
ステップS3で、テスタ装置10から半導体装置11にフューズ切断パターンを印加する。即ちテスタ装置10がフューズ切断指示信号wenをフューズグループ18−1及び18−2に印加することで、格納情報cs1及びcs2に応じたフューズ切断が実行される。
【0046】
ステップS4で、テスタ装置10が、チップ出力crが1であるか否かを判定する。ここでチップ出力crは、図1に示すOR回路13の出力である。このOR回路13は、複数のメモリユニット12−1乃至12−nの判定信号rを入力とし、それら入力のOR論理をとることにより出力crを生成する。この出力crは、メモリユニット12−1乃至12−nのメモリ16のうち1つでも修復不可な場合にアサート状態となる信号である。ステップS4でチップ出力crが1であると判定されると、処理を終了してチップを不良品と判定する。ステップS4でチップ出力crが0であると判定されると、処理はステップS5に進む。
【0047】
ステップS5で、テスタ装置10が、次のメモリ試験があるか否かを判定する。例えば、特定の電圧/温度条件での試験でのみ不良となるメモリセルが存在するため、異なる電圧/温度条件下で複数回のメモリ試験を行なうことが好ましい。その場合のように複数回メモリ試験を実行する場合には、ステップS5の判定結果がYesとなり、処理はステップS1に戻り、以降の処理を繰り返す。このようにして実行される各メモリ試験の実行後にその都度、新たに見つかった不良箇所がステップS3で救済される。前述のメモリユニット12−1乃至12−nの構成では、新たなメモリ試験で新たに不良箇所が見つかる度に、以前の試験で既に切断したフューズグループではなく別のフューズグループを切断対象として割り当てていくことができる。ステップS5で、次のメモリ試験がないと判定された場合には、処理を終了してチップを良品と判定する。
【0048】
図13は、半導体装置の構成の別の一例を示す図である。図13において、図1と同一の構成要素は同一の番号で参照し、その説明は省略する。図13において、半導体装置11Aは、図1に示す半導体装置11の構成要素に加えて、メモリBIST回路80、メモリ81、及びOR回路82−1乃至82−bを含む。制御回路17は、フューズグループ18−1及び18−2の更新前の格納情報fg1及びfg2と、メモリBIST回路15が出力する不良箇所情報と、メモリBIST回路80が出力する不良箇所情報とに基づいて、更新後の格納情報cs1及びcs2を決定する。具体的には、メモリBIST回路80が出力する不良箇所情報とメモリBIST回路15が出力する不良箇所情報とは、OR回路82−1乃至82−bによりビット毎のORがとられる。制御回路17は、これら2つの不良箇所情報のビット毎のORをとった情報と更新前の格納情報fg1及びfg2とに基づいて、更新後の格納情報cs1及びcs2を決定する。
【0049】
メモリBIST回路15のbit1の位置にのみ不良箇所があり、且つ、メモリBIST回路80のbit5の位置にのみ不良箇所があるとする。この場合、フューズグループ18−1は不良ビットbit1の位置を示す情報を格納し、フューズグループ18−2は不良ビットbit5の位置を示す情報を格納することになる。メモリ16及びメモリ81の両方ともに、フューズグループ18−1及び18−2の格納情報に基づいて冗長処理を行なう。従って、メモリ16においてbit1及びbit5が冗長メモリと置き換えられ、またメモリ81においてもbit1及びbit5が冗長メモリと置き換えられることになる。メモリ16においてはbit5の置き換えが不要な置き換えであり、メモリ81においてはbit1の置き換えが不要な置き換えである。しかしながら、これらの不要な置き換えを行なったところで、何ら不利益が生じるわけではない。
【0050】
メモリ16の不良ビット位置とメモリ81の不良ビット位置とが完全に重なっていれば、各メモリで2つの不良箇所を救済して、合計で4つの不良箇所を救済できる。メモリ16の不良ビット位置とメモリ81の不良ビット位置とが全く重なっていなければ、各メモリで1つの不良箇所を救済して、合計で2つの不良箇所を救済できる。図13に示すような構成とすることで、メモリの個数に対して制御回路17及びフューズグループ18−1及び18−2の数を削減して、効率的な冗長処理を実現することができる。
【0051】
以上、本発明を実施例に基づいて説明したが、本発明は上記実施例に限定されるものではなく、特許請求の範囲に記載の範囲内で様々な変形が可能である。
【0052】
本発明は以下の内容を含むものである。
(付記1)
複数のメモリセルと複数の冗長メモリセルとを含むメモリと、
前記メモリを試験し前記複数のメモリセルのうちの複数の不良箇所を示す不良箇所情報を出力する試験回路と、
複数の記憶部と、
前記複数の記憶部の更新前の格納情報と前記不良箇所情報とに基づいて前記複数の記憶部の更新後の格納情報を決定する制御回路と
を含み、前記メモリは、前記複数の記憶部の前記更新後の格納情報により前記複数の不良箇所をそれぞれ特定し、該特定された複数の不良箇所のメモリセルをそれぞれ前記複数の冗長メモリセルで置き換えることを特徴とする半導体装置。
(付記2)
前記制御回路は記憶素子を含まない組み合わせ論理回路であることを特徴とする付記1記載の半導体装置。
(付記3)
前記試験回路が出力する前記不良箇所情報は前記複数の不良箇所を纏めて示す情報であり、前記制御回路は、前記複数の不良箇所を纏めて示す前記不良箇所情報から個々の不良箇所を示す不良箇所毎の情報を生成することを特徴とする付記1又は2記載の半導体装置。
(付記4)
前記制御回路は、前記複数の記憶部の更新前の格納情報と前記不良箇所情報とに基づいて前記メモリの修復可否を示す判定信号を出力することを特徴とする付記1乃至3の何れか一項記載の半導体装置。
(付記5)
前記試験回路が出力する前記不良箇所情報は前記メモリの出力データビット数に等しいビット数のデータであり、前記制御回路は、前記不良箇所情報を前記ビット数より少ないビット数の符号に変換することにより前記更新後の格納情報を生成することを特徴とする付記1乃至4の何れか一項記載の半導体装置。
(付記6)
前記複数の記憶部は電気フューズにより情報を格納する複数の回路であり、前記制御回路は、前記複数の記憶部の更新前の格納情報と前記不良箇所情報とに基づいて前記メモリを修復できないと判断した場合に、前記電気フューズを切断しないように前記複数の記憶部を制御することを特徴とする付記1乃至5の何れか一項記載の半導体装置。
(付記7)
前記制御回路は、既に格納情報が一度更新されている記憶部の格納情報は更新しないことを特徴とする付記1乃至6の何れか一項記載の半導体装置。
(付記8)
複数のメモリセルと複数の冗長メモリセルとを含む第2のメモリと、
前記第2のメモリを試験し前記第2のメモリの前記複数のメモリセルのうちの複数の不良箇所を示す第2の不良箇所情報を出力する第2の試験回路と、
第2の複数の記憶部と、
前記第2の複数の記憶部の更新前の格納情報と前記第2の不良箇所情報とに基づいて前記第2の複数の記憶部の更新後の格納情報を決定する第2の制御回路と、
OR回路と
を更に含み、上記各制御回路は上記各メモリについて修復可否を示す判定信号を出力して前記OR回路に供給し、前記OR回路は、上記各メモリのうち1つでも修復不可な場合にアサート状態となる信号を出力することを特徴とする付記1乃至7の何れか一項記載の半導体装置。
(付記9)
複数のメモリセルと複数の冗長メモリセルとを含む第2のメモリと、
前記第2のメモリを試験し前記第2のメモリの前記複数のメモリセルのうちの複数の不良箇所を示す第2の不良箇所情報を出力する第2の試験回路と
を更に含み、前記制御回路は、前記複数の記憶部の更新前の格納情報と、前記不良箇所情報と、前記第2の不良箇所情報とに基づいて前記複数の記憶部の更新後の格納情報を決定し、上記各メモリは、前記複数の記憶部の前記更新後の格納情報により特定された複数の箇所のメモリセルをそれぞれ前記複数の冗長メモリセルで置き換えることを特徴とする付記1乃至7の何れか一項記載の半導体装置。
(付記10)
前記制御回路は、前記不良箇所情報と前記第2の不良箇所情報とをビット毎にORをとった情報と前記複数の記憶部の更新前の格納情報とに基づいて前記複数の記憶部の更新後の格納情報を決定することを特徴とする付記9記載の半導体装置。
(付記11)
複数のメモリセルと複数の冗長メモリセルとを含むメモリと、前記メモリを試験する試験回路と、複数の記憶部とを含む半導体装置において、
前記試験回路により前記メモリを試験し前記複数のメモリセルのうちの複数の不良箇所を示す不良箇所情報を生成し、
前記複数の記憶部の更新前の格納情報と前記不良箇所情報とに基づいて前記複数の記憶部の更新後の格納情報を前記半導体装置内部での論理演算により決定し、
前記複数の記憶部に前記更新後の格納情報を書き込む
各段階を含み、前記メモリは、前記複数の記憶部の前記更新後の格納情報により特定された複数の不良箇所のメモリセルをそれぞれ前記複数の冗長メモリセルで置き換える構成となっていることを特徴とする不良箇所情報の書き込み方法。
【符号の説明】
【0053】
10 テスタ装置
11 半導体装置
12−1〜12−n メモリユニット
13 OR回路
15 メモリBIST回路
16 メモリ
17 制御回路
18−1、18−2 フューズグループ
【技術分野】
【0001】
本願開示は、一般に半導体装置に関し、詳しくは冗長機能を有するメモリを含む半導体装置に関する。
【背景技術】
【0002】
半導体記憶装置においては、欠陥メモリセルを冗長メモリセルで置き換える冗長機能が設けられている。半導体記憶装置の出荷時にメモリセルの動作テストを実行し、欠陥メモリセルが発見された場合には、その欠陥メモリセルの位置に関する情報をフューズ回路等に記録する。読み出し時には、フューズ回路等に記録された上記情報に基づいて、欠陥メモリセルではなく冗長メモリセルに対するアクセスを実行する。一般に、欠陥メモリセルの冗長メモリセルによる置き換えの単位は、データビット単位、ワード線単位、或いはコラム線単位となっている。
【0003】
フューズ回路においては、1つのフューズに対応して、このフューズの状態(切断/非切断)を示すためのデータをラッチするラッチ回路が設けられる。例えばデータビット単位で欠陥メモリセルを救済する場合には、冗長用のメモリブロックを用意し、欠陥データビットのメモリブロックを冗長メモリブロックで置き換える。これを実現するために、欠陥データビット位置をフューズ回路に記憶する。例えばデータビット数が32ビットであれば、6個のフューズ回路を設ける。5個のフューズ回路により32個のデータビット位置を指定することができるが、更に冗長するか否かを指定する必要があるため、全体で6個のフューズ回路が必要となる。この6個のフューズ回路全体を纏めて、フューズグループと呼ぶ。欠陥のあるデータビット位置を示すコードに対応して、フューズグループ中の複数のフューズのうちの幾つかを切断する。切断されたフューズの情報は、対応するラッチ回路を介して冗長切替回路に供給される。この情報に基づいて、冗長切替回路が、欠陥データビット位置に対応するメモリブロックを冗長メモリブロックで置き換える。
【0004】
SoC(System on Chip)等の半導体チップの場合、各メモリの周囲にメモリBIST(Built-In Self Test)回路を設け、このメモリBIST回路によりテストパターンの発生から試験結果の判定までを行なう。また近年では、BIST等の自己検査機能によりメモリ内で不良箇所が発見された場合に、不良箇所を自動的に冗長メモリセルで置き換えるBISR(Built-In Self Repair)と呼ばれる自己修正機能がチップに組み込まれる場合もある。このBISRにより、メモリ試験結果(不良メモリセル情報)をチップ外部のLSIテスタに読み出すことなく、欠陥箇所を救済することができる。従って、高速に且つ効率的にメモリを修復することが可能となる。
【0005】
メモリの歩留まり率を上げるためには、冗長メモリセルとフューズグループとを複数個用意して、複数の不良箇所をそれぞれ救済することが好ましい。例えばデータビット単位での冗長の場合、2個の冗長メモリブロックと2個のフューズグループとを設ければ、2ビットまでのデータビット不良に対応することができる。BISRの構成で、このように複数のフューズグループを用いる場合、検出された1つ又は複数の不良箇所に対して何れのフューズグループを割り当てるかを決定する必要がある。
【0006】
また特定の電圧/温度条件での試験でのみ不良となるメモリセルが存在するため、異なる電圧/温度条件下で複数回のメモリ試験を行なうことが好ましい。このように複数回メモリ試験を実行する場合には、各メモリ試験の実行後にその都度不良箇所の救済を行う必要がある。即ち、新たなメモリ試験で新たに不良箇所が見つかる度に、以前の試験で既に切断したフューズグループではなく別のフューズグループを切断対象として割り当てていく必要がある。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開2003−36696号公報
【特許文献2】特開2001−267389号公報
【特許文献3】特開2007−66380号公報
【特許文献4】特開平11−250687号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
以上を鑑みると、複数のフューズグループが設けられた構成においてチップ内部の自己修正機能により適切にメモリを修正できる半導体装置が望まれる。
【課題を解決するための手段】
【0009】
半導体装置は、複数のメモリセルと複数の冗長メモリセルとを含むメモリと、前記メモリを試験し前記複数のメモリセルのうちの複数の不良箇所を示す不良箇所情報を出力する試験回路と、複数の記憶部と、前記複数の記憶部の更新前の格納情報と前記不良箇所情報とに基づいて前記複数の記憶部の更新後の格納情報を決定する制御回路とを含み、前記メモリは、前記複数の記憶部の前記更新後の格納情報により前記複数の不良箇所をそれぞれ特定し、該特定された複数の不良箇所のメモリセルをそれぞれ前記複数の冗長メモリセルで置き換えることを特徴とする。
【0010】
複数のメモリセルと複数の冗長メモリセルとを含むメモリと、前記メモリを試験する試験回路と、複数の記憶部とを含む半導体装置において不良箇所情報の書き込み方法は、前記試験回路により前記メモリを試験し前記複数のメモリセルのうちの複数の不良箇所を示す不良箇所情報を生成し、前記複数の記憶部の更新前の格納情報と前記不良箇所情報とに基づいて前記複数の記憶部の更新後の格納情報を前記半導体装置内部での論理演算により決定し、前記複数の記憶部に前記更新後の格納情報を書き込む各段階を含み、前記メモリは、前記複数の記憶部の前記更新後の格納情報により特定された複数の不良箇所のメモリセルをそれぞれ前記複数の冗長メモリセルで置き換える構成となっていることを特徴とする。
【発明の効果】
【0011】
本願開示の少なくとも1つの実施例によれば、複数の記憶部の更新前の格納情報と不良箇所情報とに基づいて複数の記憶部の更新後の格納情報を決定する制御回路を設ける。この制御回路の働きにより、複数のフューズグループが設けられた構成において、チップ内部の自己修正機能により適切にメモリを修正することができる。
【図面の簡単な説明】
【0012】
【図1】半導体装置の試験を行なうシステムの構成の一例を示す図である。
【図2】メモリBIST回路の構成の一例を示す図である。
【図3】メモリの冗長処理の構成の一例を示す図である。
【図4】メモリ16の冗長処理を説明するための図である。
【図5】図5はフューズグループの構成の一例を示す図である。
【図6】制御回路の構成の一例を示す図である。
【図7】分離・判定回路の構成の一例を示す図である。
【図8】(a)は図7の分離・判定回路の入出力論理値の関係を示す図であり、(b)はビットパターンの例を示す図である。
【図9】不良ビット位置とフューズ切断パターンとの関係を示す表である。
【図10】図6のエンコーダの入出力の関係を示す表である。
【図11】イネーブル回路の構成の一例を示す図である。
【図12】図1の半導体装置試験システムの動作の一例を示す図である。
【図13】半導体装置の構成の別の一例を示す図である。
【発明を実施するための形態】
【0013】
以下に、本発明の実施例を添付の図面を用いて詳細に説明する。
【0014】
図1は、半導体装置の試験を行なうシステムの構成の一例を示す図である。図1のシステムは、テスタ装置10及び半導体装置11を含む。半導体装置11は例えばSoCであある。テスタ装置10は、半導体装置11の各信号端子に接続される。テスタ装置10は、各種信号を半導体装置11に供給することにより半導体装置11の動作を制御し、半導体装置11の各種試験を実行する。またテスタ装置10は、半導体装置11から出力される各種信号に基づいて試験動作を制御したり、試験動作の結果を判定したりして、半導体装置11の良否を判断する。
【0015】
半導体装置11は、複数のメモリユニット12−1乃至12−n及びOR回路13を含む。図1のメモリユニット12−1乃至12−nの各々は、メモリBIST回路(MBIST)15、メモリ16、制御回路17、及び複数のフューズグループ18−1及び18−2を含む。図1に示す例ではメモリユニット12−1乃至12−nは同一の構成を有するが、異なる構成であってもよい。例えば、各メモリユニットに設けられるフューズグループの数は同一である必要はなく、各メモリユニット毎に適宜定められた固有の数であってよい。
【0016】
メモリ16は、複数のメモリセルと複数の冗長メモリセルとを含む。メモリBIST回路15は、メモリ16を試験し複数のメモリセルのうちの複数の不良箇所を示す不良箇所情報fbを出力する。具体的には、テスタ装置10からクロック信号clk、BIST試験開始信号bist、及び初期データdiを供給する。メモリBIST回路15は、BIST試験開始信号bistに応答してクロック信号clkに同期した試験動作を開始し、初期データdiに基づいて種々のアドレス及びデータを生成してメモリ16に印加し、メモリ16を試験する。制御回路17は、複数のフューズグループ18−1及び18−2の更新前の格納情報fg1及びfg2と不良箇所情報fbとに基づいて複数のフューズグループ18−1及び18−2の更新後の格納情報cs1及びcs2を決定する。テスタ装置10がフューズ切断指示信号wenをフューズグループ18−1及び18−2に印加することで、格納情報cs1及びcs2に応じたフューズ切断が実行される。即ち、格納情報cs1及びcs2がフューズグループ18−1及び18−2にそれぞれ格納される。メモリ16は、フューズグループ18−1及び18−2の格納情報fg1及びfg2(格納情報cs1及びcs2に相当する情報)により、複数の不良箇所をそれぞれ特定し、特定された複数の不良箇所のメモリセルをそれぞれ複数の冗長メモリセルで置き換える。
【0017】
図2は、メモリBIST回路15の構成の一例を示す図である。メモリBIST回路15は、リード期待値生成回路20、ライトデータ生成回路21、アドレス生成回路22、リード・ライト制御信号生成回路23、比較回路24−1乃至24−b、OR回路25−1乃至25−b、及びフリップフロップ26−1乃至26−bを含む。図2の例では、メモリ16からの読み出しデータのビット数がbである場合を想定している。
【0018】
図1で説明したように、メモリBIST回路15は、BIST試験開始信号bistに応答してクロック信号clkに同期した試験動作を開始し、初期データdiに基づいて種々のアドレス及びデータを生成してメモリ16に印加し、メモリ16を試験する。具体的には、アドレス生成回路22が、メモリ16のアクセス位置を指定するアドレスadrを生成する。リード・ライト制御信号生成回路23は、読み出し動作又は書き込み動作を指示するリード・ライト制御信号rw(ライトイネーブル信号及びチップイネーブル信号等複数の信号であってもよい)を生成する。ライトデータ生成回路21は、マーチ・パターン、チェッカーボード・パターン、ストライプ・パターン、データマスク機能試験パターン、ギャロップ・パターン等の種々のテストパターンの書き込みデータwdを生成する。生成された書き込みデータwdは、リード・ライト制御信号rwにより書き込み動作を指示することにより、メモリ16のアドレスadrにより指定される格納位置に書き込まれる。
【0019】
その後、リード・ライト制御信号rwにより読み出し動作を指示することにより、メモリ16のアドレスadrにより指定される格納位置からデータrd[0]乃至rd[b−1]を読み出し、比較回路24−1乃至24−bに供給する。リード期待値生成回路20は、実施した動作試験に対応する期待値データre[0]乃至re[b−1]を生成し、この期待値データを比較回路24−1乃至24−bに供給する。比較回路24−1乃至24−bは、メモリ16から読み出された読み出しデータとリード期待値生成回路20からの期待値データとをビット毎に比較することで、メモリ16の動作が正常であるか否かを判定する。比較回路24−1乃至24−bの出力するbビットの判定結果は、読み出しデータと期待値データとが一致するビット位置で例えば0であり、不一致のビット位置で1であってよい。比較回路24−1乃至24−bの出力するbビットの判定結果は、OR回路25−1乃至25−bを介してフリップフロップ26−1乃至26−bに格納される。この際、OR回路25−1乃至25−bにより、前回の読み出しデータに対するビット毎のbビットの判定結果と今回の読み出しデータに対するビット毎の判定結果とがOR演算される。このOR演算により判定結果が累積され、読み出しデータに対する判定を複数回行なった際に、一度でも不良と判定されたビット(値1のビット)は不良を示す値1に維持される。フリップフロップ26−1乃至26−bの格納値が、不良ビットデータfb[0]乃至fb[b−1](即ち図1の不良箇所情報fb)として、メモリBIST回路15から出力される。
【0020】
図3は、メモリ16の冗長処理の構成の一例を示す図である。メモリ16は、複数のメモリブロック31−1乃至31−6、複数の冗長メモリブロック32−1及び32−2、及び冗長切替回路30を含む。図3の例では、メモリブロックの数は6個であり、冗長メモリブロックの数は2個である。冗長切替回路30は、フューズグループ18−1及び18−2の格納情報fg1及びfg2により、複数の不良箇所をそれぞれ特定し、特定された複数の不良箇所のメモリセルをそれぞれ複数の冗長メモリセルで置き換える。フューズグループ18−1及び18−2の各々は、それぞれ3ビットの情報(fg1[0]乃至fg1[2]及びfg1[0]乃至fg1[2])を格納し、この3ビットの情報により6個のメモリブロックうちの1つの不良メモリブロックを特定する。即ち2つのフューズグループ18−1及び18−2により、メモリブロック31−1乃至31−6のうちの2つの不良メモリブロックを特定することができる。
【0021】
初期状態では、フューズグループ18−1及び18−2には初期格納情報としてそれぞれ“000”が格納される。この状態では、冗長切替回路30は、メモリブロック31−1乃至31−6のそれぞれから読み出した6ビットの読み出しデータrd0乃至rd5をメモリ16外部にそのまま出力する。メモリ16から読み出されたデータは、メモリBIST回路15により判定され、メモリBIST回路15のフリップフロップ26−1乃至26−6に判定結果が格納される。図3の例では、メモリブロック31−3に不良箇所があり、フリップフロップ26−3に格納される判定結果の3番目のビットが値1となっている。なお、仮に2つのメモリブロックに不良箇所があるとすると、フリップフロップ26−1乃至26−6のうちの2つの格納ビットが値1となる。フリップフロップ26−1乃至26−6の格納値は、不良箇所情報fbとして制御回路17に供給される。
【0022】
前述のように、図1に示す制御回路17が、複数のフューズグループ18−1及び18−2の更新前の格納情報fg1及びfg2と不良箇所情報fbとに基づいて複数のフューズグループ18−1及び18−2の更新後の格納情報を決定する。テスタ装置10がフューズ切断指示信号wenをフューズグループ18−1及び18−2に印加することで、この更新後の格納情報に応じたフューズ切断が実行される。メモリ16は、フューズグループ18−1及び18−2の更新後の格納情報fg1及びfg2により、複数の不良箇所をそれぞれ特定し、特定された複数の不良箇所のメモリセルをそれぞれ複数の冗長メモリセルで置き換える。
【0023】
図4は、メモリ16の冗長処理を説明するための図である。図4に示す例では、メモリ16の不良メモリブロック31−3の位置を示す情報として、“011”がフューズグループ18−1に格納されている。即ち、フューズグループ18−1の格納情報が更新されている。フューズグループ18−2の格納情報は初期値“000”のままで更新されていない。冗長切替回路30は、フューズグループ18−1に格納されているデータfg1[0]乃至fg[2]に基づいて、メモリブロック31−3を不良箇所として特定し、この特定された不良メモリブロック31−3を冗長メモリブロック32−1で置き換える。即ち、ビットbit2については、不良メモリブロック31−3ではなく冗長メモリブロック32−1に対してデータの読み書きを実行する。書き込み動作の場合、書き込みデータのbit0、bit1、bit3乃至bit5については、それぞれメモリブロック31−1、31−2、31−4乃至31−6に書き込まれ、bit2については冗長メモリブロック32−1に書き込まれる。読み出し動作の場合、メモリブロック31−1、31−2、31−4乃至31−6からの読み出しデータがそれぞれビットrd0、rd1、rd3乃至rd5となり、冗長メモリブロック32−1からの読み出しデータがビットrd2となる。これらのビット操作による冗長処理が、冗長切替回路30により実現される。なおビット操作による冗長処理は、上述のように不良箇所のみを置き換えるのでもよいし、或いは不良箇所を避けるように複数ビットを纏めて1ビットずつシフトするシフト冗長で実現してもよい。
【0024】
図5はフューズグループ18−1又は18−2の構成の一例を示す図である。フューズグループ18−x(x=1又は2)は、複数f個のフューズ回路40−1乃至40−f、及び複数f個のAND回路41−1乃至41−fを含む。フューズ回路40−1乃至40−fの各々は同一の構成であってよく、電気的に切断可能なフューズ42及びラッチ回路43を含む。信号csx[0]乃至csx[f−1](x=1又は2)は更新用の格納情報であり、制御回路17から供給される。信号csx[0]乃至csx[f−1]は、フューズ42を切断するビット位置で1となりフューズ42を切断しないビット位置で0となる。テスタ装置10からフューズ切断指示信号wenを印加(1にアサート)すると、信号csx[0]乃至csx[f−1]のうちの値1のビットに対応するAND回路41−1乃至41−fの出力が1となる。AND回路41−1乃至41−fの出力のうちで値1の出力を印加されたフューズ回路40−1乃至40−fにおいて、フューズ42が電気的に切断される。即ち大電流がフューズ42に流され、フューズ42がエレクトロマイグレーションにより高抵抗化される。
【0025】
テスタ装置10からフューズグループ出力初期化信号porがアサートされると、フューズ回路40−1乃至40−fにおいて、フューズ42の切断又は非切断に応じた値がラッチ回路43に格納される。例えばフューズ42が切断されていれば、対応するラッチ回路43には1が格納される。フューズ42が切断されていなければ、対応するラッチ回路43には0が格納される。フューズ回路40−1乃至40−fの各ラッチ回路43の格納値が、フューズグループ18−xの格納情報fgx[0]乃至fgx[f−1](x=1又は2)として出力される。
【0026】
図6は、制御回路17の構成の一例を示す図である。図6に示す制御回路17は、分離・判定回路50、エンコーダ51−1及び51−2、イネーブル回路52−1及び52−2、及びOR回路53−1及び53−2を含む。制御回路17は、フリップフロップ等の記憶素子を含まない組み合わせ論理回路であってよい。即ち制御回路17は順序論理回路ではない組み合わせ論理回路として設計されてよい。
【0027】
前述のように、メモリBIST回路15が出力するbビットの不良箇所情報fbは、不良箇所が複数有ればそれら全ての不良箇所のビットが値1であるデータであり、複数の不良箇所を纏めて示す情報である。制御回路17の分離・判定回路50は、複数の不良箇所を纏めて示す不良箇所情報fbから個々の不良箇所を示す不良箇所毎の情報fb1及びfb2を生成する。即ち例えばメモリ16の出力ビット数が6であれば、情報fb1はこれら6ビットのうちの1つの不良ビット位置を示し、情報fb2はこれら6ビットのうちの他の1つの不良ビット位置を示す。
【0028】
また制御回路17の分離・判定回路50は、フューズグループ18−1及び18−2の格納情報fg1及びfg2と不良箇所情報fbとに基づいて、メモリ16の修復可否を示す判定信号rを出力する。また制御回路17の分離・判定回路50及びエンコーダ51−1及び51−2は、例えば6ビットの不良箇所情報fbをそのビット数より少ないビット数の符号tcs1及びtcs2に変換することにより、更新後の格納情報を生成する。分離・判定回路50、エンコーダ51−1及び51−2、及びイネーブル回路52−1及び52−2の構成及び動作については以下に詳細に説明する。
【0029】
図7は、分離・判定回路50の構成の一例を示す図である。分離・判定回路50は、複数b個のOR回路60−1乃至60−b、複数b個のセレクタ61−1乃至61−b、及び複数b個のセレクタ62−1乃至62−bを含む。OR回路60−1乃至60−bの一方の入力には、メモリBIST回路15からの不良箇所情報fbの対応するビットfb[0]乃至fb[b−1]がそれぞれ印加される。またOR回路60−1乃至60−bのうちの2段目以降の任意のOR回路60−x(xは2乃至bの何れかの値)の他方の入力には、前段のOR回路60−x−1の出力が印加される。OR回路60−1の他方の入力には、図6に示すOR回路53−1により求めたフューズグループ18−1の出力fg1の全ビットのOR演算値pf1が印加される。
【0030】
セレクタ61−1乃至61−bのうちの2段目以降の任意のセレクタ61−x(xは2乃至bの何れかの値)の第1の入力には、前段のOR回路60−x−1の出力が印加される。セレクタ61−1の第1の入力には、図6に示すOR回路53−1からOR演算値pf1が印加される。セレクタ61−1乃至61−bのうちの2段目以降の任意のセレクタ61−x(xは2乃至bの何れかの値)の第2の入力には、前段のセレクタ61−x−1の出力が印加される。セレクタ61−1の第2の入力には、図6に示すOR回路53−2により求めたフューズグループ18−2の出力fg2の全ビットのOR演算値pf2が印加される。セレクタ61−1乃至61−bには、メモリBIST回路15からの不良箇所情報fbの対応するビットfb[0]乃至fb[b−1]がそれぞれ選択制御信号として印加される。選択制御信号が1であれば第1の入力が選択され、選択制御信号が0であれば第2の入力が選択される。
【0031】
セレクタ62−1乃至62−bのうちの2段目以降の任意のセレクタ62−x(xは2乃至bの何れかの値)の第1の入力には、前段のセレクタ61−x−1の出力が印加される。セレクタ62−1の第1の入力には、図6に示すOR回路53−2からOR演算値pf2が印加される。セレクタ62−1乃至62−bのうちの2段目以降の任意のセレクタ62−x(xは2乃至bの何れかの値)の第2の入力には、前段のセレクタ62−x−1の出力が印加される。セレクタ62−1の第2の入力には、固定値0が印加される。セレクタ62−1乃至62−bには、メモリBIST回路15からの不良箇所情報fbの対応するビットfb[0]乃至fb[b−1]がそれぞれ選択制御信号として印加される。選択制御信号が1であれば第1の入力が選択され、選択制御信号が0であれば第2の入力が選択される。
【0032】
OR回路60−1乃至60−bの出力が、不良箇所毎の情報fb1のそれぞれのビットfb1[0]乃至fb1[b−1]となる。不良箇所毎の情報fb1は図6に示すエンコーダ51−1に供給される。また最後のビットfb1[b−1]は、信号nf1として図6に示すイネーブル回路52−1に供給される。またセレクタ61−1乃至61−bの出力が、不良箇所毎の情報fb2のそれぞれのビットfb2[0]乃至fb2[b−1]となる。不良箇所毎の情報fb2は図6に示すエンコーダ51−2に供給される。また最後のビットfb2[b−1]は、信号nf2として図6に示すイネーブル回路52−2に供給される。
【0033】
図7の分離・判定回路50は、不良箇所情報fbの対応するビットfb[0]乃至fb[b−1]のうちでビット位置0からビット位置b−1に向かい順番に各ビットの値を判定する。fbのビット位置0からビット位置b−1に向かい順番に各ビットの値を判定して、最初にビット値が1になった位置を、出力ビットfb1[0]乃至fb1[b−1]に反映させる。具体的には、pf1が0であると仮定した場合、fb1[0]乃至fb1[b−1]のビット列において、最初にfbのビット値が1になるビット位置の前までは0であり、その位置から後は1となるビットパターンとなる。また更に、fbのビット位置0からビット位置b−1に向かい順番に各ビットの値を判定して、2回目にビット値が1になった位置を、出力ビットfb2[0]乃至fb2[b−1]に反映させる。具体的には、pf2が0であると仮定した場合、fb1[0]乃至fb1[b−1]のビット列において、2回目にfbのビット値が1になるビット位置の前までは0であり、その位置から後は1となるビットパターンとなる。
【0034】
図8(a)は、図7の分離・判定回路50の入出力論理値の関係を示す図である。図8(a)から分かるように、出力nf1の値は、入力pf1、pf2、及びfb[0]乃至fb[b−1]に含まれる1の数が1以上の場合に1となり、1の数が0の場合に0となる。出力nf2の値は、入力pf1、pf2、及びfb[0]乃至fb[b−1]に含まれる1の数が2以上の場合に1となり、1の数が0又は1の場合に0となる。また出力rの値は、入力pf1、pf2、及びfb[0]乃至fb[b−1]に含まれる1の数が3以上の場合に1となり、1の数が2以下の場合に0となる。この出力rは、メモリ16を修復できないと判断した場合に1になる。なお図8(a)から分かるように、pf1が1である状態で初めてpf2は1になることができる。これは、フューズグループ18−1をフューズグループ18−2よりも常に先にフューズ切断する回路構成となっているからである。
【0035】
出力fb1は、pf1が0であり且つfbのビット値が全て0である場合は、全て0のビットパターン(All_0)となる。またpf1が1である場合には、全て1のビットパターン(All_1)となる。出力fb1は更に、pf1が0の場合、0ビット位置から最初にfbのビット値が1になるビット位置の前までは0が連続し、そのビット位置からb−1ビット位置まで1が連続するビットパターンとなる。図8(a)において※1で示す欄は、そのようなビットパターンを示す。図8(b)に、0ビット位置から最初にfbのビット値が1になるビット位置の前までは0が連続し、そのビット位置からb−1ビット位置まで1が連続するビットパターンの例を示す。左端の列がfb[0]乃至fb[5](即ちfb[5:0])の6ビットパターンを示す。真ん中の※1で示す列が、fb[5:0]の0ビット位置から順番にビット値を判定した場合に最初に1になるビット位置をZとし、0ビット位置からZビット位置の前までは0が連続し、Zビット位置からb−1ビット位置まで1が連続するビットパターンを示す。
【0036】
出力fb2は、pf1及びpf2が0であり且つfb中の値1のビット数が1以下の時は、全て0のビットパターン(All_0)となる。またpf1及びpf2が0であり且つfb中の値1のビット数が2以上の時は、0ビット位置から2回目にfbのビット値が1になるビット位置の前までは0が連続し、そのビット位置からb−1ビット位置まで1が連続するビットパターンとなる。図8(a)において※2で示す欄は、そのようなビットパターンを示す。図8(b)に、0ビット位置から2回目にfbのビット値が1になるビット位置の前までは0が連続し、そのビット位置からb−1ビット位置まで1が連続するビットパターンの例を示す。右端の※2で示す列が、fb[5:0]の0ビット位置から順番にビット値を判定した場合に2回目に1になるビット位置をZとし、0ビット位置からZビット位置の前までは0が連続し、Zビット位置からb−1ビット位置まで1が連続するビットパターンを示す。
【0037】
出力fb2は、pf1が1でpf2が0の場合、fb中の値1のビット数がゼロであれば、全て0のビットパターン(All_0)となる。またpf1が1でpf2が0の場合、fb中の値1のビット数が1以上の時は、0ビット位置から最初にfbのビット値が1になるビット位置の前までは0が連続し、そのビット位置からb−1ビット位置まで1が連続するビットパターンとなる。即ち前述の※1のビットパターンとなる。これはpf1が既に値1であるので、最初にfbのビット値が1になるビット位置は、全体で考えると2回目の値1であるからである。またpf1が1でpf2が1の場合、出力fb2は全て1のビットパターン(All_1)となる。
【0038】
上記のようにして求めた不良箇所毎の情報fb1は図6に示すエンコーダ51−1に供給される。また不良箇所毎の情報fb2は図6に示すエンコーダ51−2に供給される。不良箇所毎の情報fb1は、初期状態においては、fbにおいて0ビット位置から順番にビット値を判定した場合に最初に1になるビット位置の故障箇所を示す。また不良箇所毎の情報fb2は、初期状態においては、fbにおいて0ビット位置から順番にビット値を判定した場合に2番目に1になるビット位置の故障箇所を示す。初期状態でない場合、即ち既にpf1がゼロでない場合には、不良箇所毎の情報fb2が、fbにおいて0ビット位置から順番にビット値を判定した場合に最初に1になるビット位置の故障箇所を示す。不良箇所毎の情報fb1がフューズグループ18−1を設定するために用いられ、不良箇所毎の情報fb2がフューズグループ18−2を設定するために用いられる。
【0039】
図9は、不良ビット位置とフューズ切断パターンとの関係を示す表である。図9に示すのは、不良箇所情報fbが6ビットの場合であり、このとき3個のフューズが用いられる。即ち、図5に示すフューズ回路40−1乃至40−fの数fが3となる。図9に示すように、例えば不良ビット位置が0ビット目であるとき、即ちfb[0]が1であるとき、フューズグループの3個のフューズの0番目のフューズを切断する。即ち、フューズグループ18−x(x=1又は2)においてfgx[0]が1となるように、図5のフューズ回路40−1のフューズ42を切断する。また例えば不良ビット位置が4ビット目であるとき、即ちfb[4]が1であるとき、フューズグループの3個のフューズの0番目及び2番目のフューズを切断する。即ち、フューズグループ18−x(x=1又は2)においてfgx[0]及びfgx[2]が1となるように、フューズ回路40−1及び40−3のフューズ42を切断する。このように、6ビットのうち1つだけ値が1である不良ビット位置を3ビットにより2進数で表現する。そしてこの3ビットのうちの値が1であるビット位置に対応するフューズを切断する。
【0040】
図10は、図6のエンコーダ51−1及び51−2の入出力の関係を示す表である。エンコーダ51−1の入力は6ビットの不良箇所毎の不良箇所情報fb1であり、エンコーダ51−2の入力は6ビットの不良箇所毎の不良箇所情報fb2である。図10の表の左列は、入力の不良箇所情報fb1又はfb2である。表の右列は、エンコーダ51−1又は51−2が出力する3ビットである。図10に示されるように、エンコーダは、入力6ビットのうちの最下位ビット側から順次ビット値を判定していったときに最初に1になるビット位置を2進数で表現し、この2進数を示す3ビットのデータを出力する。エンコーダ51−1の場合、3ビット出力tcs1が、図6に示されるようにイネーブル回路52−1に供給される。エンコーダ51−2の場合、3ビット出力tcs2が、図6に示されるようにイネーブル回路52−2に供給される。
【0041】
図11は、イネーブル回路52−1又は52−2の構成の一例を示す図である。イネーブル回路52−x(x=1又は2)は、AND回路70−1乃至70−f及びAND回路71を含む。図11から分かるように、イネーブル回路52−xは、所定の条件が満たされたときにエンコーダ51−xの出力tcsx[0]乃至tcsx[f−1]をそのまま格納情報csx[0]乃至csx[f−1]として、フューズグループ18−xに供給する。この所定の条件が満たされない場合には、イネーブル回路52−xは、格納情報csx[0]乃至csx[f−1]として全て0を出力する。従ってこの場合、図5に示すフューズグループ18−xのフューズは切断されない。
【0042】
ここで上記の所定の条件とは、pfxが0であること、nfxが1であること、及び判定信号rが0であることである。pfxが0であることは、対応するフューズグループ18−xには未だ書き込みがされていない、即ちそのフューズが切断されていない(格納情報が更新されていない)ことを示す。nfxが1であることは、対応するフューズグループ18−xに書き込みすべき、即ちそのフューズを切断すべき(格納情報を更新すべき)ことを示す。また判定信号rが0であることは、メモリ16が修復できること、即ち故障箇所がf個以下(この例の場合は2個以下)でありフューズグループ18−1及び18−2により対応できることを示す。メモリ16が修復できない場合には、判定信号rが1となり、格納情報csx[0]乃至csx[f−1]として全て0が出力される。従ってこの場合、図5に示すフューズグループ18−xのフューズは切断されない。このようにして無駄なフューズ切断を避けることにより、試験時間の短縮及び消費電力の削減を図ることができる。
【0043】
図12は、図1の半導体装置試験システムの動作の一例を示す図である。ステップS1で、テスタ装置10から半導体装置11にフューズ初期化パターンを印加する。即ちテスタ装置10がフューズグループ出力初期化信号porをアサートし、フューズグループ18−1及び18−2の出力fg1及びfg2を内部フューズに応じた状態に設定する。
【0044】
ステップS2で、テスタ装置10から半導体装置11にメモリ試験パターンを印加する。即ちテスタ装置10からクロック信号clk、BIST試験開始信号bist、及び初期データdiをメモリBIST回路15に供給する。メモリBIST回路15は、BIST試験開始信号bistに応答してクロック信号clkに同期した試験動作を開始し、初期データdiに基づいて種々のアドレス及びデータを生成してメモリ16に印加し、メモリ16を試験する。これによりメモリBIST回路15から不良箇所情報fbが出力され、制御回路17により生成された格納情報cs1及びcs2が、それぞれフューズグループ18−1及び18−2に供給される。
【0045】
ステップS3で、テスタ装置10から半導体装置11にフューズ切断パターンを印加する。即ちテスタ装置10がフューズ切断指示信号wenをフューズグループ18−1及び18−2に印加することで、格納情報cs1及びcs2に応じたフューズ切断が実行される。
【0046】
ステップS4で、テスタ装置10が、チップ出力crが1であるか否かを判定する。ここでチップ出力crは、図1に示すOR回路13の出力である。このOR回路13は、複数のメモリユニット12−1乃至12−nの判定信号rを入力とし、それら入力のOR論理をとることにより出力crを生成する。この出力crは、メモリユニット12−1乃至12−nのメモリ16のうち1つでも修復不可な場合にアサート状態となる信号である。ステップS4でチップ出力crが1であると判定されると、処理を終了してチップを不良品と判定する。ステップS4でチップ出力crが0であると判定されると、処理はステップS5に進む。
【0047】
ステップS5で、テスタ装置10が、次のメモリ試験があるか否かを判定する。例えば、特定の電圧/温度条件での試験でのみ不良となるメモリセルが存在するため、異なる電圧/温度条件下で複数回のメモリ試験を行なうことが好ましい。その場合のように複数回メモリ試験を実行する場合には、ステップS5の判定結果がYesとなり、処理はステップS1に戻り、以降の処理を繰り返す。このようにして実行される各メモリ試験の実行後にその都度、新たに見つかった不良箇所がステップS3で救済される。前述のメモリユニット12−1乃至12−nの構成では、新たなメモリ試験で新たに不良箇所が見つかる度に、以前の試験で既に切断したフューズグループではなく別のフューズグループを切断対象として割り当てていくことができる。ステップS5で、次のメモリ試験がないと判定された場合には、処理を終了してチップを良品と判定する。
【0048】
図13は、半導体装置の構成の別の一例を示す図である。図13において、図1と同一の構成要素は同一の番号で参照し、その説明は省略する。図13において、半導体装置11Aは、図1に示す半導体装置11の構成要素に加えて、メモリBIST回路80、メモリ81、及びOR回路82−1乃至82−bを含む。制御回路17は、フューズグループ18−1及び18−2の更新前の格納情報fg1及びfg2と、メモリBIST回路15が出力する不良箇所情報と、メモリBIST回路80が出力する不良箇所情報とに基づいて、更新後の格納情報cs1及びcs2を決定する。具体的には、メモリBIST回路80が出力する不良箇所情報とメモリBIST回路15が出力する不良箇所情報とは、OR回路82−1乃至82−bによりビット毎のORがとられる。制御回路17は、これら2つの不良箇所情報のビット毎のORをとった情報と更新前の格納情報fg1及びfg2とに基づいて、更新後の格納情報cs1及びcs2を決定する。
【0049】
メモリBIST回路15のbit1の位置にのみ不良箇所があり、且つ、メモリBIST回路80のbit5の位置にのみ不良箇所があるとする。この場合、フューズグループ18−1は不良ビットbit1の位置を示す情報を格納し、フューズグループ18−2は不良ビットbit5の位置を示す情報を格納することになる。メモリ16及びメモリ81の両方ともに、フューズグループ18−1及び18−2の格納情報に基づいて冗長処理を行なう。従って、メモリ16においてbit1及びbit5が冗長メモリと置き換えられ、またメモリ81においてもbit1及びbit5が冗長メモリと置き換えられることになる。メモリ16においてはbit5の置き換えが不要な置き換えであり、メモリ81においてはbit1の置き換えが不要な置き換えである。しかしながら、これらの不要な置き換えを行なったところで、何ら不利益が生じるわけではない。
【0050】
メモリ16の不良ビット位置とメモリ81の不良ビット位置とが完全に重なっていれば、各メモリで2つの不良箇所を救済して、合計で4つの不良箇所を救済できる。メモリ16の不良ビット位置とメモリ81の不良ビット位置とが全く重なっていなければ、各メモリで1つの不良箇所を救済して、合計で2つの不良箇所を救済できる。図13に示すような構成とすることで、メモリの個数に対して制御回路17及びフューズグループ18−1及び18−2の数を削減して、効率的な冗長処理を実現することができる。
【0051】
以上、本発明を実施例に基づいて説明したが、本発明は上記実施例に限定されるものではなく、特許請求の範囲に記載の範囲内で様々な変形が可能である。
【0052】
本発明は以下の内容を含むものである。
(付記1)
複数のメモリセルと複数の冗長メモリセルとを含むメモリと、
前記メモリを試験し前記複数のメモリセルのうちの複数の不良箇所を示す不良箇所情報を出力する試験回路と、
複数の記憶部と、
前記複数の記憶部の更新前の格納情報と前記不良箇所情報とに基づいて前記複数の記憶部の更新後の格納情報を決定する制御回路と
を含み、前記メモリは、前記複数の記憶部の前記更新後の格納情報により前記複数の不良箇所をそれぞれ特定し、該特定された複数の不良箇所のメモリセルをそれぞれ前記複数の冗長メモリセルで置き換えることを特徴とする半導体装置。
(付記2)
前記制御回路は記憶素子を含まない組み合わせ論理回路であることを特徴とする付記1記載の半導体装置。
(付記3)
前記試験回路が出力する前記不良箇所情報は前記複数の不良箇所を纏めて示す情報であり、前記制御回路は、前記複数の不良箇所を纏めて示す前記不良箇所情報から個々の不良箇所を示す不良箇所毎の情報を生成することを特徴とする付記1又は2記載の半導体装置。
(付記4)
前記制御回路は、前記複数の記憶部の更新前の格納情報と前記不良箇所情報とに基づいて前記メモリの修復可否を示す判定信号を出力することを特徴とする付記1乃至3の何れか一項記載の半導体装置。
(付記5)
前記試験回路が出力する前記不良箇所情報は前記メモリの出力データビット数に等しいビット数のデータであり、前記制御回路は、前記不良箇所情報を前記ビット数より少ないビット数の符号に変換することにより前記更新後の格納情報を生成することを特徴とする付記1乃至4の何れか一項記載の半導体装置。
(付記6)
前記複数の記憶部は電気フューズにより情報を格納する複数の回路であり、前記制御回路は、前記複数の記憶部の更新前の格納情報と前記不良箇所情報とに基づいて前記メモリを修復できないと判断した場合に、前記電気フューズを切断しないように前記複数の記憶部を制御することを特徴とする付記1乃至5の何れか一項記載の半導体装置。
(付記7)
前記制御回路は、既に格納情報が一度更新されている記憶部の格納情報は更新しないことを特徴とする付記1乃至6の何れか一項記載の半導体装置。
(付記8)
複数のメモリセルと複数の冗長メモリセルとを含む第2のメモリと、
前記第2のメモリを試験し前記第2のメモリの前記複数のメモリセルのうちの複数の不良箇所を示す第2の不良箇所情報を出力する第2の試験回路と、
第2の複数の記憶部と、
前記第2の複数の記憶部の更新前の格納情報と前記第2の不良箇所情報とに基づいて前記第2の複数の記憶部の更新後の格納情報を決定する第2の制御回路と、
OR回路と
を更に含み、上記各制御回路は上記各メモリについて修復可否を示す判定信号を出力して前記OR回路に供給し、前記OR回路は、上記各メモリのうち1つでも修復不可な場合にアサート状態となる信号を出力することを特徴とする付記1乃至7の何れか一項記載の半導体装置。
(付記9)
複数のメモリセルと複数の冗長メモリセルとを含む第2のメモリと、
前記第2のメモリを試験し前記第2のメモリの前記複数のメモリセルのうちの複数の不良箇所を示す第2の不良箇所情報を出力する第2の試験回路と
を更に含み、前記制御回路は、前記複数の記憶部の更新前の格納情報と、前記不良箇所情報と、前記第2の不良箇所情報とに基づいて前記複数の記憶部の更新後の格納情報を決定し、上記各メモリは、前記複数の記憶部の前記更新後の格納情報により特定された複数の箇所のメモリセルをそれぞれ前記複数の冗長メモリセルで置き換えることを特徴とする付記1乃至7の何れか一項記載の半導体装置。
(付記10)
前記制御回路は、前記不良箇所情報と前記第2の不良箇所情報とをビット毎にORをとった情報と前記複数の記憶部の更新前の格納情報とに基づいて前記複数の記憶部の更新後の格納情報を決定することを特徴とする付記9記載の半導体装置。
(付記11)
複数のメモリセルと複数の冗長メモリセルとを含むメモリと、前記メモリを試験する試験回路と、複数の記憶部とを含む半導体装置において、
前記試験回路により前記メモリを試験し前記複数のメモリセルのうちの複数の不良箇所を示す不良箇所情報を生成し、
前記複数の記憶部の更新前の格納情報と前記不良箇所情報とに基づいて前記複数の記憶部の更新後の格納情報を前記半導体装置内部での論理演算により決定し、
前記複数の記憶部に前記更新後の格納情報を書き込む
各段階を含み、前記メモリは、前記複数の記憶部の前記更新後の格納情報により特定された複数の不良箇所のメモリセルをそれぞれ前記複数の冗長メモリセルで置き換える構成となっていることを特徴とする不良箇所情報の書き込み方法。
【符号の説明】
【0053】
10 テスタ装置
11 半導体装置
12−1〜12−n メモリユニット
13 OR回路
15 メモリBIST回路
16 メモリ
17 制御回路
18−1、18−2 フューズグループ
【特許請求の範囲】
【請求項1】
複数のメモリセルと複数の冗長メモリセルとを含むメモリと、
前記メモリを試験し前記複数のメモリセルのうちの複数の不良箇所を示す不良箇所情報を出力する試験回路と、
複数の記憶部と、
前記複数の記憶部の更新前の格納情報と前記不良箇所情報とに基づいて前記複数の記憶部の更新後の格納情報を決定する制御回路と
を含み、
前記メモリは、前記複数の記憶部の前記更新後の格納情報により前記複数の不良箇所をそれぞれ特定し、該特定された複数の不良箇所のメモリセルをそれぞれ前記複数の冗長メモリセルで置き換えることを特徴とする半導体装置。
【請求項2】
前記制御回路は記憶素子を含まない組み合わせ論理回路であることを特徴とする請求項1記載の半導体装置。
【請求項3】
前記試験回路が出力する前記不良箇所情報は前記複数の不良箇所を纏めて示す情報であり、前記制御回路は、前記複数の不良箇所を纏めて示す前記不良箇所情報から個々の不良箇所を示す不良箇所毎の情報を生成することを特徴とする請求項1又は2記載の半導体装置。
【請求項4】
前記制御回路は、前記複数の記憶部の更新前の格納情報と前記不良箇所情報とに基づいて前記メモリの修復可否を示す判定信号を出力することを特徴とする請求項1乃至3の何れか一項記載の半導体装置。
【請求項5】
前記試験回路が出力する前記不良箇所情報は前記メモリの出力データビット数に等しいビット数のデータであり、前記制御回路は、前記不良箇所情報を前記ビット数より少ないビット数の符号に変換することにより前記更新後の格納情報を生成することを特徴とする請求項1乃至4の何れか一項記載の半導体装置。
【請求項6】
前記複数の記憶部は電気フューズにより情報を格納する複数の回路であり、前記制御回路は、前記複数の記憶部の更新前の格納情報と前記不良箇所情報とに基づいて前記メモリを修復できないと判断した場合に、前記電気フューズを切断しないように前記複数の記憶部を制御することを特徴とする請求項1乃至5の何れか一項記載の半導体装置。
【請求項7】
前記制御回路は、既に格納情報が一度更新されている記憶部の格納情報は更新しないことを特徴とする請求項1乃至6の何れか一項記載の半導体装置。
【請求項8】
複数のメモリセルと複数の冗長メモリセルとを含む第2のメモリと、
前記第2のメモリを試験し前記第2のメモリの前記複数のメモリセルのうちの複数の不良箇所を示す第2の不良箇所情報を出力する第2の試験回路と
を更に含み、前記制御回路は、前記複数の記憶部の更新前の格納情報と、前記不良箇所情報と、前記第2の不良箇所情報とに基づいて前記複数の記憶部の更新後の格納情報を決定し、上記各メモリは、前記複数の記憶部の前記更新後の格納情報により特定された複数の箇所のメモリセルをそれぞれ前記複数の冗長メモリセルで置き換えることを特徴とする請求項1乃至7の何れか一項記載の半導体装置。
【請求項9】
前記制御回路は、前記不良箇所情報と前記第2の不良箇所情報とをビット毎にORをとった情報と前記複数の記憶部の更新前の格納情報とに基づいて前記複数の記憶部の更新後の格納情報を決定することを特徴とする請求項8記載の半導体装置。
【請求項10】
複数のメモリセルと複数の冗長メモリセルとを含むメモリと、前記メモリを試験する試験回路と、複数の記憶部とを含む半導体装置において、
前記試験回路により前記メモリを試験し前記複数のメモリセルのうちの複数の不良箇所を示す不良箇所情報を生成し、
前記複数の記憶部の更新前の格納情報と前記不良箇所情報とに基づいて前記複数の記憶部の更新後の格納情報を前記半導体装置内部での論理演算により決定し、
前記複数の記憶部に前記更新後の格納情報を書き込む
各段階を含み、前記メモリは、前記複数の記憶部の前記更新後の格納情報により特定された複数の不良箇所のメモリセルをそれぞれ前記複数の冗長メモリセルで置き換える構成となっていることを特徴とする不良箇所情報の書き込み方法。
【請求項1】
複数のメモリセルと複数の冗長メモリセルとを含むメモリと、
前記メモリを試験し前記複数のメモリセルのうちの複数の不良箇所を示す不良箇所情報を出力する試験回路と、
複数の記憶部と、
前記複数の記憶部の更新前の格納情報と前記不良箇所情報とに基づいて前記複数の記憶部の更新後の格納情報を決定する制御回路と
を含み、
前記メモリは、前記複数の記憶部の前記更新後の格納情報により前記複数の不良箇所をそれぞれ特定し、該特定された複数の不良箇所のメモリセルをそれぞれ前記複数の冗長メモリセルで置き換えることを特徴とする半導体装置。
【請求項2】
前記制御回路は記憶素子を含まない組み合わせ論理回路であることを特徴とする請求項1記載の半導体装置。
【請求項3】
前記試験回路が出力する前記不良箇所情報は前記複数の不良箇所を纏めて示す情報であり、前記制御回路は、前記複数の不良箇所を纏めて示す前記不良箇所情報から個々の不良箇所を示す不良箇所毎の情報を生成することを特徴とする請求項1又は2記載の半導体装置。
【請求項4】
前記制御回路は、前記複数の記憶部の更新前の格納情報と前記不良箇所情報とに基づいて前記メモリの修復可否を示す判定信号を出力することを特徴とする請求項1乃至3の何れか一項記載の半導体装置。
【請求項5】
前記試験回路が出力する前記不良箇所情報は前記メモリの出力データビット数に等しいビット数のデータであり、前記制御回路は、前記不良箇所情報を前記ビット数より少ないビット数の符号に変換することにより前記更新後の格納情報を生成することを特徴とする請求項1乃至4の何れか一項記載の半導体装置。
【請求項6】
前記複数の記憶部は電気フューズにより情報を格納する複数の回路であり、前記制御回路は、前記複数の記憶部の更新前の格納情報と前記不良箇所情報とに基づいて前記メモリを修復できないと判断した場合に、前記電気フューズを切断しないように前記複数の記憶部を制御することを特徴とする請求項1乃至5の何れか一項記載の半導体装置。
【請求項7】
前記制御回路は、既に格納情報が一度更新されている記憶部の格納情報は更新しないことを特徴とする請求項1乃至6の何れか一項記載の半導体装置。
【請求項8】
複数のメモリセルと複数の冗長メモリセルとを含む第2のメモリと、
前記第2のメモリを試験し前記第2のメモリの前記複数のメモリセルのうちの複数の不良箇所を示す第2の不良箇所情報を出力する第2の試験回路と
を更に含み、前記制御回路は、前記複数の記憶部の更新前の格納情報と、前記不良箇所情報と、前記第2の不良箇所情報とに基づいて前記複数の記憶部の更新後の格納情報を決定し、上記各メモリは、前記複数の記憶部の前記更新後の格納情報により特定された複数の箇所のメモリセルをそれぞれ前記複数の冗長メモリセルで置き換えることを特徴とする請求項1乃至7の何れか一項記載の半導体装置。
【請求項9】
前記制御回路は、前記不良箇所情報と前記第2の不良箇所情報とをビット毎にORをとった情報と前記複数の記憶部の更新前の格納情報とに基づいて前記複数の記憶部の更新後の格納情報を決定することを特徴とする請求項8記載の半導体装置。
【請求項10】
複数のメモリセルと複数の冗長メモリセルとを含むメモリと、前記メモリを試験する試験回路と、複数の記憶部とを含む半導体装置において、
前記試験回路により前記メモリを試験し前記複数のメモリセルのうちの複数の不良箇所を示す不良箇所情報を生成し、
前記複数の記憶部の更新前の格納情報と前記不良箇所情報とに基づいて前記複数の記憶部の更新後の格納情報を前記半導体装置内部での論理演算により決定し、
前記複数の記憶部に前記更新後の格納情報を書き込む
各段階を含み、前記メモリは、前記複数の記憶部の前記更新後の格納情報により特定された複数の不良箇所のメモリセルをそれぞれ前記複数の冗長メモリセルで置き換える構成となっていることを特徴とする不良箇所情報の書き込み方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【公開番号】特開2011−3256(P2011−3256A)
【公開日】平成23年1月6日(2011.1.6)
【国際特許分類】
【出願番号】特願2009−147737(P2009−147737)
【出願日】平成21年6月22日(2009.6.22)
【出願人】(308014341)富士通セミコンダクター株式会社 (2,507)
【Fターム(参考)】
【公開日】平成23年1月6日(2011.1.6)
【国際特許分類】
【出願日】平成21年6月22日(2009.6.22)
【出願人】(308014341)富士通セミコンダクター株式会社 (2,507)
【Fターム(参考)】
[ Back to top ]