以下、添付図面を参照しながら、本発明の好ましい実施の形態について詳細に説明する。
図1は、本発明の好ましい第1の実施形態による半導体装置100の構成を示すブロック図である。
本実施形態による半導体装置100はワンチップに集積された半導体メモリであり、図1に示すように、8つのバンクBANK0〜BANK7に分割されたメモリセルアレイ101を備えている。メモリセルアレイ101は、複数のワード線WLと複数のビット線BLを含み、その交点にメモリセルMCが配置される。図1においては、簡単のため1本のサブワード線WL、1本のビット線BL及びこれらの交点に配置された1個のメモリセルMCのみを図示している。本実施形態による半導体装置100では、ワード線がメインワード線とサブワード線に階層化されており、1本のメインワード線に対して2n本のサブワード線が割り当てられる。一例としてn=2であり、この場合、1本のメインワード線に対して4本のサブワード線が割り当てられる。以下、本明細書においては、サブワード線を単に「ワード線」と呼ぶことがある。
メモリセルアレイ101に含まれる複数のワード線のうち、不良のあるワード線は、ロウ冗長回路102に含まれる冗長ワード線に置換される。また、メモリセルアレイ101に含まれる複数のビット線のうち、不良のあるビット線は、カラム冗長回路103に含まれる冗長ビット線に置換される。ここで、不良のあるワード線とは、ワード線自体に不良がある場合のみならず、ワード線そのものには不良がないものの当該ワード線により選択される1又は2以上のメモリセルに不良がある場合を含む。同様に、不良のあるビット線とは、ビット線自体に不良がある場合のみならず、ビット線そのものには不良がないものの当該ビット線に接続される1又は2以上のメモリセルに不良がある場合を含む。
メモリセルアレイ101に対するロウアクセスは、ロウデコーダ104によって行われる。ロウデコーダ104は、ロウアドレス制御回路110から供給されるロウアドレスXADDをデコードし、デコード結果に基づいて、メモリセルアレイ101に含まれるいずれかのワード線を選択する。また、ロウデコーダ104は、ロウアドレス制御回路110から供給されるロウアドレスXADDが救済制御回路140に保持された不良アドレスと一致した場合には、メモリセルアレイ101内のワード線の代わりに、ロウ冗長回路102内の冗長ワード線に対して代替アクセスを行う。
一方、メモリセルアレイ101に対するカラムアクセスは、カラムデコーダ105によって行われる。カラムデコーダ105は、カラムアドレス制御回路111から供給されるカラムアドレスYADDをデコードし、デコード結果に基づいて、カラム制御回路107に含まれるいずれかのカラムスイッチを選択する。カラムスイッチは、センスアンプ列106に含まれるいずれかのセンスアンプをカラム制御回路107に接続するためのスイッチであり、いずれかのスイッチが導通状態になると、対応するセンスアンプを介して所定のビット線とカラム制御回路107とが接続される。また、カラムデコーダ105は、カラムアドレス制御回路111から供給されるカラムアドレスYADDが救済制御回路140に保持された不良アドレスと一致した場合には、メモリセルアレイ101内のビット線の代わりに、カラム冗長回路103内の冗長ビット線に対して代替アクセスを行う。
ロウアドレス制御回路110及びカラムアドレス制御回路111には、アドレス端子112及びアドレスバッファ113を介して、アドレスA0〜A15及びバンクアドレスBA0〜BA2が供給される。アドレスA0〜A15は、ロウアドレスXADD又はカラムアドレスYADDとして用いられる部分であり、バンクアドレスBA0〜BA2は、バンクBANK0〜BANK7の選択に用いられる部分である。
また、半導体装置100には、アドレス端子112の他に、コマンド端子120、コントロール端子121及びクロック端子122が設けられている。
コマンド端子120は、ロウアドレスストローブ信号/RAS、カラムアドレスストローブ信号/CAS、ライトイネーブル信号/WE及びチップセレクト信号/CSが入力される端子群であり、コマンド端子120に入力されたこれらのコマンド信号は、コマンドバッファ123を介して、コマンドデコーダ124及びモードレジスタ125に供給される。コマンドデコーダ124は、コマンド信号をデコードすることによって内部コマンドを生成し、これをコントロールロジック127などに供給する回路である。また、モードレジスタ125は、アドレスA0〜A15を用いて設定値を書き換え可能なレジスタであり、その設定値はコントロールロジック127などに供給される。
コントロール端子121は、データマスク信号DM、オンダイターミネーション信号ODT及びリセット信号/RESETが入力される端子と、キャリブレーション端子ZQからなる端子群である。コントロール端子121に入力されたこれらのコントロール信号は、コントロールバッファ126を介して、コントロールロジック127に供給される。コントロールロジック127は、コントロール信号、内部コマンド及びモードレジスタ125の設定値に基づいて、各種制御信号を生成する回路である。生成される制御信号は、ロウアドレス制御回路110、カラムアドレス制御回路111及びデータコントロール回路108に供給され、これら回路ブロックの動作を制御する。また、データマスク信号DMは後述する解析回路143にも供給される。
クロック端子122は、クロック信号CK、反転クロック信号/CK及びクロックイネーブル信号CKEが入力される端子群であり、クロック端子122に入力されたこれらのクロック信号は、クロックバッファ128を介して、クロック生成回路129に供給される。クロック生成回路129は、これらクロック信号に基づいて内部クロック信号を生成する回路であり、生成された内部クロック信号は各種回路ブロックに供給される。内部クロックの一部はDLL回路130に供給される。DLL回路130は、内部クロック信号に基づいて位相制御された出力用クロックを生成する回路であり、生成された出力用クロックはデータコントロール回路108及び入出力バッファ109に供給される。
データコントロール回路108は、カラム制御回路107を介してパラレルに出力されるリードデータをラッチし、これをシリアル変換して入出力バッファ109に供給するとともに、入出力バッファ109を介してシリアルに入力されたライトデータをラッチし、これをパラレル変換してカラム制御回路107に供給する回路である。入出力バッファ109は、データ系端子131に接続されている。データ系端子131は、データ入出力端子DQ0〜DQ7及びデータストローブ端子DQS,/DQSからなる。データ入出力端子DQ0〜DQ7は、リードデータの出力及びライトデータの入力を行う端子であり、データストローブ端子DQS,/DQSは相補のデータストローブ信号を入出力する端子である。
かかる構成により、コマンド端子120を介してリードコマンドが入力された場合、アドレスA0〜A15及びバンクアドレスBA0〜BA2により特定されるメモリセルに対してリード動作が行われ、読み出されたリードデータがデータ入出力端子DQ0〜DQ7を介して出力される。一方、コマンド端子120を介してライトコマンドが入力された場合、アドレスA0〜A15及びバンクアドレスBA0〜BA2により特定されるメモリセルに対してライト動作が行われ、データ入出力端子DQ0〜DQ7を介して入力されたライトデータが書き込まれる。そして、これらリード動作及びライト動作において、アクセス先のメモリセルが不良メモリセルである場合には、ロウ冗長回路102又はカラム冗長回路103に対して代替アクセスが行われる。上述の通り、不良メモリセルのアドレスは、救済制御回路140に保持されている。
救済制御回路140に保持される不良アドレスは、光学ヒューズ回路141及び電気ヒューズ回路142から転送される。光学ヒューズ回路141は、レーザービームの照射によってヒューズ素子を切断することにより情報を記憶する回路である。また、電気ヒューズ回路142は、ヒューズ素子に高電圧を印加することによって情報を記憶する回路である。電気ヒューズ回路142を構成するヒューズ素子としては、特に限定されるものではないが、アンチヒューズ素子を用いることが好ましい。アンチヒューズ素子は、高電圧の印加によって絶縁膜を絶縁破壊することによって情報を記憶する素子である。
図2は救済制御回路140の機能を説明するための模式図であり、(a)はワード線の置換に関する部分を示し、(b)はビット線の置換に関する部分を示している。
図2(a)に示すように、救済制御回路140には一対のラッチ回路151,152が設けられており、いずれかのラッチ回路151,152に保持された不良アドレスが選択回路153によって選択される。ラッチ回路151は、光学ヒューズ回路141から読み出された不良アドレスがラッチされる回路であり、ラッチ回路152は、電気ヒューズ回路142から読み出された不良アドレスがラッチされる回路である。選択回路153によって選択された不良アドレスは、ロウデコーダ104に含まれる判定回路104aに供給される。判定回路104aは、救済制御回路140から供給される不良アドレスRXADDと、アクセスが要求されたロウアドレスXADDとを比較する回路であり、両者が一致するとヒット信号HITXを活性化させる。ロウアドレスXADDはデコーダ回路104bにも供給される。そして、ヒット信号HITXが活性化していない場合には、デコーダ回路104bによるデコードの結果に基づいて所定のワード線WLが選択され、ヒット信号HITXが活性化している場合には、デコーダ回路104bによるデコードの結果に関わらず、冗長ワード線RWLが選択される。これにより、不良のあるワード線WLが冗長ワード線RWLに置換される。
ビット線の置換についても同様であり、図2(b)に示すように、選択回路156によって選択されたいずれかのラッチ回路154,155の出力がロウデコーダ105に含まれる判定回路105aに供給される。判定回路105aは、救済制御回路140から供給される不良アドレスRYADDと、アクセスが要求されたカラムアドレスYADDとを比較する回路であり、両者が一致するとヒット信号HITYを活性化させる。そして、ヒット信号HITYが活性化していない場合には、デコーダ回路105bによるデコードの結果に基づいて所定のカラム選択線YSが選択され、ヒット信号HITYが活性化している場合には、デコーダ回路105bによるデコードの結果に関わらず、冗長カラム選択線RYSが選択される。これにより、カラム選択線YSに対応する不良のあるビット線が、冗長カラム選択線RYSに対応する冗長ビット線に置換される。
このように、本実施形態による半導体装置100においては、一つの冗長ワード線を光学ヒューズ回路141でも電気ヒューズ回路142でも使用することができる。同様に、一つの冗長ビット線を光学ヒューズ回路141でも電気ヒューズ回路142でも使用することができる。もちろん、同じ冗長ワード線又は同じ冗長ビット線を光学ヒューズ回路141と電気ヒューズ回路142で同時に使用することはできない。冗長ワード線及び冗長ビット線は、光学ヒューズ回路141による1次救済で使用され、1次救済にて使用されなかった残余の冗長ワード線及び冗長ビット線が電気ヒューズ回路142による2次救済又は3次救済で使用される。
2次救済における不良メモリセルの検出、すなわちテストデータの正誤判定は、カラム制御回路107内に設けられたデータ判定回路107aによって行われ、判定の結果得られる判定信号P/Fが解析回路143に供給される。判定信号P/Fは、読み出されたデータにエラーが含まれていない場合には「パス」を示し、読み出されたデータにエラーが含まれている場合には「フェイル」を示す。
解析回路143は、判定信号P/Fがフェイルを示している場合、アクセスされたアドレスを参照することによって、不良メモリセルのアドレスを特定し、既に検出された不良メモリセルのアドレスとの関係を解析する。解析回路143の動作については後述する。解析回路143による解析作業には、解析用メモリ144が用いられる。特に限定されるものではないが、解析用メモリ144はSRAMからなり、その記憶容量は、数キロビット程度で足りる。これは、後述するように解析回路143の解析方法に特徴があり、使用する作業領域が非常に少ないからである。
解析用メモリ144に記憶された解析結果は、ヒューズ選択回路146に供給される。ヒューズ選択回路146は、解析用メモリ144に記憶された解析結果に基づいて、使用する電気ヒューズを選択するとともに電気ヒューズにプログラムするアドレスを指定する回路である。図1に示すように、電気ヒューズ回路142にはロウアドレスをプログラムするためのロウアドレス用電気ヒューズ回路142aと、カラムアドレスをプログラムするためのカラムアドレス用電気ヒューズ回路142bが含まれており、そのいずれを使用するかはヒューズ選択回路146によって選択される。ヒューズ選択回路146の動作については後述する。通常は、ロウアドレス用電気ヒューズ回路142aの方がカラムアドレス用電気ヒューズ回路142bよりも多数のアドレスを記憶できるように設計される。これは、不良ビット線よりも不良ワード線の方が発生確率が高いからである。
解析回路143には、判定信号P/F及びアドレスの他、内部クロック信号、内部コマンド及びDFT回路145からの制御信号が供給される。DFT回路145から解析回路143に供給される制御信号には、モード選択信号PTが含まれる。モード選択信号PTは、2次救済を行う場合にはローレベルとなり、3次救済を行う場合にはハイレベルとなる信号である。
3次救済における不良メモリセルの検出は、図3に示すように半導体装置100に接続された外部テスタ200によって行われ、判定の結果、不良であると判定されたアドレスはアドレス端子112を介して供給される。3次救済において不良アドレスが供給される際には、データマスク信号DMが用いられる。これは、一つの外部テスタ200を用いて複数の半導体装置100に対して3次救済を並列に実行可能とするためである。具体的には、データマスク信号DMがハイレベルである期間において外部テスタ200から供給されるアドレスが不良アドレスである。このようにして外部テスタ200から供給される不良アドレスは、解析回路143を介して解析用メモリ144に供給される。
図4は、解析回路143に含まれるモード選択回路143aの回路図である。
図4に示すように、解析回路143に含まれるモード選択回路143aは、データマスク信号DM、モード選択信号PT及び判定信号P/Fを受けて判定信号PFRを生成する論理回路からなる。図4に示す回路構成により、モード選択信号PTがローレベルである場合には、判定信号PFRの値は判定信号P/Fの値と一致する。これは、2次救済を行う場合の動作モードである。この場合、データマスク信号DMの論理レベルは無関係となる。一方、モード選択信号PTがハイレベルである場合には、判定信号PFRの値はデータマスク信号DMの値と一致する。これは、3次救済を行う場合の動作モードである。この場合、判定信号P/Fの論理レベルは無関係となる。
判定信号PFRは、解析回路143に供給されるアドレス信号を不良アドレスとして認識するための制御信号である。したがって、2次救済を行う場合(モード選択信号PT=ロー)には判定信号P/Fに応答して不良アドレスが取り込まれ、3次救済を行う場合(モード選択信号PT=ハイ)にはデータマスク信号DMに応答して不良アドレスが取り込まれる。
図5は、本実施形態による半導体装置100の製造工程を大まかに示すフローチャートである。
まず、前工程(拡散工程)によってウェハ状態のメモリデバイスを作製し(ステップS1)、ウェハ状態のメモリデバイスに対して動作テストを行う(ステップS2)。ステップS2の動作テストは、ウェハ状態で不良メモリセルのアドレスを検出するテストであり、大容量の解析用メモリを搭載した低速なテスタを用いて複数のメモリデバイスに対して並列に実行される。これによって検出された不良メモリセルのアドレスはテスタ内で解析され、これによって不良ワード線及び不良ビット線が特定される(ステップS3)。そして、レーザトリマーを用いて不良ワード線のアドレス及び不良ビット線のアドレスを光学ヒューズ回路141に書き込む。これによって、不良ワード線及び不良ビット線が冗長ワード線及び冗長ビット線に置換される(ステップS4)。以上により、1次救済がなされたウェハ状態のメモリデバイスが完成する。
次に、ウェハをダイシングすることによってメモリデバイスが個片化されたメモリチップを取り出し(ステップS5)、これをパッケージングすることによって半導体装置100を得る(ステップS6)。ステップS5,S6はいわゆる後工程に属する工程であり、パッケージング時の熱負荷などによって、新たな不良メモリセルが発生することがある。パッケージング後であるため、このような不良はもはや光学ヒューズ回路141を用いて救済することはできない。パッケージング後の不良は、次のように電気ヒューズ回路142を用いて救済される。
まず、パッケージングされた半導体装置100に対して動作テストを行い、不良メモリセルのアドレスを検出する(ステップS7)。かかるテストは、モードレジスタ125に2次救済用のテストモードを設定した状態でテストデータの書き込み及び読み出しを行い、得られる判定信号P/Fを解析回路143に出力することにより行う。具体的には、判定信号P/Fがフェイルを示している場合、アクセスされたアドレスを参照することによって、不良ワード線及び不良ビット線を特定する(ステップS8)。このとき、解析回路143は、不良メモリセルが検出されるたびに、エラーパターン情報及びエラーアドレス情報を更新する。エラーパターン情報及びエラーアドレス情報は、解析用メモリ144に格納される。
そして、最終的に得られたエラーパターン情報及びエラーアドレス情報から不良ワード線のアドレス及び不良ビット線のアドレスを特定し、これを電気ヒューズ回路142に書き込む。これにより、不良ワード線及び不良ビット線が冗長ワード線及び冗長ビット線に置換される(ステップS9)。以上により、2次救済が完了した半導体装置100が完成する。
但し、2次救済における動作テストを設計上の最高アクセス速度で行うことは困難であり、データ判定回路107a、解析回路143及び解析用メモリ144の動作速度によって制限される。2次救済時におけるアクセス速度は、1次救済時におけるアクセス速度に比べると十分に高速であるが、設計上の最高アクセス速度よりは低速である。このため、2次救済における動作テストでは不良とならないものの、それよりも高速にアクセスした場合に初めて不良となるようなアドレスが稀に存在する場合、2次救済ではこのようなアドレスを救済することができない。この点を考慮し、本実施形態では2次救済を行った後、さらに3次救済を行う。
3次救済においては、2次救済が完了した半導体装置100に対して動作テストを行い、不良メモリセルのアドレスを検出する(ステップS80)。かかるテストは、モードレジスタ125に3次救済用のテストモードを設定した状態でテストデータの書き込み及び読み出しを行い、得られるリードデータDQを図3に示す外部テスタ200によって評価することにより不良アドレスの解析を行う(ステップS81)。つまり、3次救済におけるアクセス条件は通常動作時におけるアクセス条件と同じであり、したがって、設計上の最高速度でアクセスすることが可能である。そして、不良アドレスの解析が完了すると、外部テスタ200はアドレス信号及びデータマスク信号DMを用いて不良アドレスを半導体装置100に入力する。これにより、不良ワード線又は不良ビット線が冗長ワード線又は冗長ビット線に置換される(ステップS82)。以上により、3次救済が完了した半導体装置100が完成する。
尚、3次救済において発見される不良アドレスは非常に少なく、ほとんどの場合ゼロであり、発見されても1アドレスのみであることが大部分である。しかも、3次救済において発見される不良アドレスは散発的なビット不良がほとんどであり、ワード線やビット線の不良はほとんど検出されない。これは、ワード線やビット線の不良については、1次救済及び2次救済において既に発見され、置換されているからである。したがって、3次救済において発見されたビット不良は、当該メモリセルに対応するワード線又はビット線を置換することにより救済すればよい。
このように、3次救済においては検出される不良アドレスの数が非常に少ないため、使用する外部テスタ200に大容量の高速メモリを搭載する必要はなく、不良アドレスを最大でも数アドレス分記憶可能であれば足りる。
このように、本実施形態においては、ウェハ状態で1次救済を行うとともに、パッケージング後に2次救済及び3次救済を行っている。そして、半導体装置100に設けられた冗長ワード線及び冗長ビット線は、1次救済、2次救済及び3次救済のいずれでも使用できることから、2次救済専用の冗長回路や3次救済専用の冗長回路を設ける必要がない。しかも、2次救済においては、不良メモリセルのアドレス解析を半導体装置100の内部に設けられた解析回路143及び解析用メモリ144を用いて行っていることから、外部テスタなどにこれらの機能を持たせる必要がない。また、3次救済においては、不良メモリセルのアドレス解析を半導体装置100に接続された外部テスタ200を用いて行っていることから、高速アクセス時にのみ発生する不良セルを置換することが可能となる。
さらに、2次救済においては、不良メモリセルが検出されるたびに、エラーパターン情報及びエラーアドレス情報を更新していることから、その都度不良メモリセルのアドレスをそのまま記録する方法と比べて解析用メモリ144に必要な記憶容量が大幅に減少する。以下、解析回路143によるエラーパターン情報及びエラーアドレス情報の更新動作について詳細に説明する。
図6は、解析用メモリ144に格納される不良解析データのデータ構造を説明するための模式図である。
図6に示すように、解析用メモリ144には複数の不良解析データFMI<0>〜FMI<N>が格納される。これら不良解析データFMI<0>〜FMI<N>は、それぞれエラーパターン情報Dと、エラーアドレス情報X0,Y0,X1,Y1,Zからなる。以下の説明においては、j番目の不良解析データFMI<j>の内容を
FMI<j>={D,X0,Y0,X1,Y1,Z}
と表記することがある。
エラーパターン情報Dとは、1又は2以上の不良メモリセルの相対的な配置関係を示す情報である。また、エラーアドレス情報X0,Y0,X1,Y1,Zとは、エラーパターン情報Dに関連づけられ不良メモリセルの少なくとも一部のアドレスを示す情報である。以下、エラーパターン情報Dと、エラーアドレス情報X0,Y0,X1,Y1,Zについて詳細に説明する。
図7は、エラーパターン情報Dの種類とこれらに対応するエラーアドレス情報X0,Y0,X1,Y1,Zの定義を説明するための図である。
図7に示すように、エラーパターン情報Dは8つのパターンのいずれかに設定される。第1のパターンは「Null」パターンと呼ばれるパターンであり、不良メモリセルが割り当てられていない場合に設定される。つまり、当該不良解析データFMIが未使用であることを示すパターンである。
第2のパターンは「Sn」パターンと呼ばれるパターンであり、1個の不良メモリセルが割り当てられている場合に設定される。この場合、エラーアドレス情報のうち、アドレスX0には当該不良メモリセルのロウアドレスが設定され、アドレスY0には当該不良メモリセルのカラムアドレスが設定される。アドレスX1及びアドレスY1は使用されない。アドレスZには当該不良メモリセルが属するメモリマットのアドレスが設定される。
第3のパターンは「Bx」パターンと呼ばれるパターンであり、同じロウアドレスに属する2個の不良メモリセルが割り当てられている場合に設定される。この場合、エラーアドレス情報のうち、アドレスX0,Y0には一方の不良メモリセル1のロウアドレス及びカラムアドレスがそれぞれ設定され、アドレスX1,Y1には他方の不良メモリセル2のロウアドレス及びカラムアドレスがそれぞれ設定される。アドレスZにはこれら不良メモリセルが属するメモリマットのアドレスが設定される。第4のパターンは「By」パターンと呼ばれるパターンであり、同じカラムアドレスに属する2個の不良メモリセルが割り当てられている場合に設定される。エラーアドレス情報の定義は、Bxパターンの場合と同じである。
第5のパターンは「Tr」パターンと呼ばれるパターンであり、3個の不良メモリセルがL字型に配置されている場合に設定される。具体的には、図7に示すように、不良メモリセル1と不良メモリセル3のロウアドレスが同じであり、且つ、不良メモリセル1と不良メモリセル2のカラムアドレスが同じである場合である。この場合、エラーアドレス情報のうち、アドレスX0,Y0には不良メモリセル1のロウアドレス及びカラムアドレスがそれぞれ設定され、アドレスX1には不良メモリセル2のロウアドレスが設定され、アドレスY1には不良メモリセル3のカラムアドレスが設定される。アドレスZにはこれら不良メモリセルが属するメモリマットのアドレスが設定される。
第6のパターンは「Sq」パターンと呼ばれるパターンであり、4個の不良メモリセルが四角形に配置されている場合に設定される。具体的には、図7に示すようにTrパターンに不良メモリセル4が追加され、不良メモリセル2と不良メモリセル4のロウアドレスが同じであり、且つ、不良メモリセル3と不良メモリセル4のカラムアドレスが同じである場合である。この場合、エラーアドレス情報のうち、アドレスX0,Y0には不良メモリセル1のロウアドレス及びカラムアドレスがそれぞれ設定され、アドレスX1,Y1には不良メモリセル4のロウアドレス及びカラムアドレスがそれぞれ設定される。つまり、対角線の位置にある不良メモリセル1,4のアドレスが設定されることになる。アドレスZにはこれら不良メモリセルが属するメモリマットのアドレスが設定される。
第7のパターンは「Cx」パターンと呼ばれるパターンであり、同じロウアドレスに属する3個以上の不良メモリセルがライン状に割り当てられている場合に設定される。この場合、エラーアドレス情報のうち、アドレスX0,Y0には最もカラムアドレスの値が小さい不良メモリセル1のロウアドレス及びカラムアドレスがそれぞれ設定され、アドレスX1,Y1には最もカラムアドレスの値が大きい不良メモリセル3のロウアドレス及びカラムアドレスがそれぞれ設定される。つまり、これら不良メモリセル1,3に挟まれた不良メモリセル2のアドレスは省略されることになる。アドレスZにはこれら不良メモリセルが属するメモリマットのアドレスが設定される。
第8のパターンは「Cy」パターンと呼ばれるパターンであり、同じカラムアドレスに属する3個以上の不良メモリセルがライン状に割り当てられている場合に設定される。この場合、エラーアドレス情報のうち、アドレスX0,Y0には最もロウアドレスの値が小さい不良メモリセル1のロウアドレス及びカラムアドレスがそれぞれ設定され、アドレスX1,Y1には最もロウムアドレスの値が大きい不良メモリセル3のロウアドレス及びカラムアドレスがそれぞれ設定される。つまり、これら不良メモリセル1,3に挟まれた不良メモリセル2のアドレスは省略されることになる。アドレスZにはこれら不良メモリセルが属するメモリマットのアドレスが設定される。
このように、エラーパターン情報Dは8つのパターンのいずれかに設定されることから、エラーパターン情報Dのビット数としては3ビットで足りる。図8は3ビットのデータによってエラーパターン情報Dを表現する一例を示す図である。一方、エラーアドレス情報のうち、アドレスX0,X1についてはロウアドレスを特定するのに必要なビット数が割り当てられ、アドレスY0,Y1についてはカラムアドレスを特定するのに必要なビット数が割り当てられる。さらに、アドレスZについては、メモリマットを特定するのに必要なビット数が割り当てられる。
エラーパターン情報Dが「Sn」である場合、当該1個の不良メモリセルは、1本の不良ワード線又は1本の不良ビットを置換することにより救済される。不良ワード線の置換によって救済する場合には、エラーアドレス情報に含まれるアドレスX0をロウアドレス用電気ヒューズ回路142aに書き込めばよい。また、不良ビット線の置換によって救済する場合には、エラーアドレス情報に含まれるアドレスY0をカラムアドレス用電気ヒューズ回路142bに書き込めばよい。かかる選択はヒューズ選択回路146によって行われ、通常は不良ワード線の置換によって救済を行う。これは、ロウアドレス用電気ヒューズ回路142aの方が、カラムアドレス用電気ヒューズ回路142bよりも記憶可能なアドレス数が多いからである。但し、ロウアドレス用電気ヒューズ回路142aに未使用のエリアが存在しない場合には、不良ビット線の置換によって救済を行えばよい。
エラーパターン情報Dが「Bx」である場合、当該2個の不良メモリセルは、1本の不良ワード線又は2本の不良ビットを置換することにより救済される。不良ワード線の置換によって救済する場合には、エラーアドレス情報に含まれるアドレスX0をロウアドレス用電気ヒューズ回路142aに書き込めばよい。また、不良ビット線の置換によって救済する場合には、エラーアドレス情報に含まれるアドレスY0とY1をカラムアドレス用電気ヒューズ回路142bに書き込めばよい。かかる選択はヒューズ選択回路146によって行われ、通常は不良ワード線の置換によって救済を行う。これは、不良ワード線の置換によって救済した方が使用する電気ヒューズの数を節約できるからである。但し、ロウアドレス用電気ヒューズ回路142aに未使用のエリアが存在しない場合には、不良ビット線の置換によって救済を行えばよい。
エラーパターン情報Dが「By」である場合、当該2個の不良メモリセルは、2本の不良ワード線又は1本の不良ビットを置換することにより救済される。不良ワード線の置換によって救済する場合には、エラーアドレス情報に含まれるアドレスX0とX1をロウアドレス用電気ヒューズ回路142aに書き込めばよい。また、不良ビット線の置換によって救済する場合には、エラーアドレス情報に含まれるアドレスY0をカラムアドレス用電気ヒューズ回路142bに書き込めばよい。かかる選択はヒューズ選択回路146によって行われ、通常は不良ワード線の置換によって救済を行う。これは、ロウアドレス用電気ヒューズ回路142aの方が、カラムアドレス用電気ヒューズ回路142bよりも記憶可能なアドレス数が多いからである。但し、ロウアドレス用電気ヒューズ回路142aに未使用のエリアが存在しない場合には、不良ビット線の置換によって救済を行えばよい。
エラーパターン情報Dが「Tr」又は「Sq」である場合、当該3個又は4個の不良メモリセルは、2本の不良ワード線又は2本の不良ビットを置換することにより救済される。不良ワード線の置換によって救済する場合には、エラーアドレス情報に含まれるアドレスX0とX1をロウアドレス用電気ヒューズ回路142aに書き込めばよい。また、不良ビット線の置換によって救済する場合には、エラーアドレス情報に含まれるアドレスY0とY1をカラムアドレス用電気ヒューズ回路142bに書き込めばよい。かかる選択はヒューズ選択回路146によって行われ、通常は不良ワード線の置換によって救済を行う。これは、ロウアドレス用電気ヒューズ回路142aの方が、カラムアドレス用電気ヒューズ回路142bよりも記憶可能なアドレス数が多いからである。但し、ロウアドレス用電気ヒューズ回路142aに未使用のエリアが存在しない場合には、不良ビット線の置換によって救済を行えばよい。
エラーパターン情報Dが「Cx」である場合、当該3個以上の不良メモリセルは、1本の不良ワード線を置換することにより救済される。この場合、エラーアドレス情報に含まれるアドレスX0をロウアドレス用電気ヒューズ回路142aに書き込めばよい。
エラーパターン情報Dが「Cy」である場合、当該3個以上の不良メモリセルは、1本の不良ビット線を置換することにより救済される。この場合、エラーアドレス情報に含まれるアドレスY0をカラムアドレス用電気ヒューズ回路142bに書き込めばよい。
ここで、アドレスZを用いる必要性について説明する。
図9は、複数のメモリマットからなる救済単位アレイの構成を示す図である。
図9においては、1つのメモリマットが一つのマス目で示されている。メモリマットとは、1つのビット線に割り当てられたワード線の範囲、すなわちロウアドレスの範囲と、1つのワード線に割り当てられたビット線の範囲、すなわちカラムアドレスの範囲によって規定される領域である。図9に示す例では、1つのメモリマットに512本のワード線と1024本のビット線が割り当てられている。したがって、1つのメモリマットの記憶容量は512Kビットである。また、図9に示すメモリマットのうち、ハッチングの施されたメモリマットは、8本の冗長ワード線が追加されたメモリマットである。さらに、各メモリマットには、48本の冗長ビット線が追加されている。このようなメモリマットがロウ方向に32マット、カラム方向に8マット設けられているため、合計で256個のマットによって1つの救済単位アレイが構成されることになる。したがって、冗長メモリセルを含めた救済単位アレイのビット数は16448×8576ビットであり、128Mビットのアレイとして用いられる。128Mビットの救済単位アレイは、1Gビットのメモリチップであれば1バンク分に相当し、2Gビットのメモリチップであれば1/2バンク分に相当する。
救済単位アレイ内においては、メモリマットを超えて不良ワード線のフレキシブルな置換が可能である。具体的には、図10に示すように、ワード線WL0に不良がある場合、当該ワード線WL0が属するメモリマットに冗長ワード線が備えられていなくても、他のメモリマットに備えられた冗長ワード線RWL0に置換することができる。
一方、不良ビット線については、各メモリマットに冗長ビット線が含まれていることから、図11に示すように、不良ビット線BL0が当該メモリマット内の冗長ビット線RBL0に置換される。ここで、DDR(Double Data Rate)3型のSDRAMにおいては、1回のアクセスで8アドレス分のデータをメモリセルアレイから同時に入出力する、いわゆる8ビットプリフェッチ方式が採用されており、救済制御回路140の回路構成を簡単にするために、1アドレスでも不良があれば8アドレス分のデータを全て置換する構成が主に採用される。したがって、一つのメモリマットに48本の冗長ビット線が含まれているが、実際に救済可能なアドレスは6アドレス(=48/8)となる。また、図11に示す例では、外部との間で同時に入出力するデータのビット数が8ビット(DQ0〜DQ7)であり、救済制御回路140の回路構成を簡単にするため、1ビットでも不良があればこれら8ビットを全て置換する構成が採用されることが多い。
以上が救済単位アレイの構成である。このように、1つのメモリマットには512本のワード線と1024本のビット線が含まれていることから、メモリマット内においてワード線を特定するために必要なロウアドレスは9ビット(X0〜X8)であり、メモリマット内においてビット線を特定するために必要なカラムアドレスは10ビット(Y0〜Y9)である。しかしながら、DDR3型のSDRAMのように、1回のアクセスで8アドレス分のデータがプリフェッチされる方式においては、当該8アドレスの特定に必要な下位3ビット(Y0〜Y2)については、メモリマット上のアクセスには使用されない。したがって、実際にメモリマット内においてビット線を特定するために必要なカラムアドレスは7ビット(Y3〜Y9)となる。カラムアドレスの下位3ビット(Y0〜Y2)は、データコントロール回路108にて使用される。
本実施形態においては、1つのエラーパターン情報Dに関連づけられる複数の不良メモリセルが同じメモリマット内に存在することが必要である。このメモリマットを特定するための情報が、エラーアドレス情報に含まれるアドレスZである。アドレスZは、ロウアドレスの上位5ビット(X9〜X13)である。アドレスZは一つの不良解析データFMIのパーティションを示すアドレスであり、したがって、不良アドレスの解析もパーティションの内部で行われ、パーティションを越える事は無い。
このように、エラーアドレス情報を構成する各アドレスのうち、アドレスX0,X1はそれぞれロウアドレスX0〜X8からなる9ビットであり、アドレスY0,Y1はそれぞれカラムアドレスY3〜Y9からなる7ビットであり、アドレスZはロウアドレスX9〜X13からなる5ビットである。したがって、エラーアドレス情報のビット数は37ビットである。上述の通り、エラーパターン情報Dのビット数は3ビットであることから、一つの不良解析データFMIに必要なビット数は40ビットで足りる。したがって、例えば1バンク当たり不良解析データFMIを8つ設ける場合には、解析用メモリ144の記憶容量は1バンク当たり320ビットとなる。
このように、本実施形態では、一つのメモリマット内における不良メモリセルの相対的な配置関係をエラーパターン情報Dによって表現し、且つ、エラーパターンごとにエラーアドレスを最小限のビット数で表現していることから、解析用メモリ144に必要なビット数が非常に少なくてすむ。
一例として、あるメモリマット(Z=0)内に存在する不良メモリセルのパターンが図12(a)に示すパターンである場合、2つの不良解析データFMI<0>,<1>を使用すれば足りる。この場合、不良解析データFMI<0>,<1>の値は、図12(b)の最終課程(ステップS39)に表記されているように、
FMI<0>={cy,4,3,E,3,0}
FMI<1>={cx,6,6,6,C,0}
となる。上記の値が得られる課程については後述する。
他の例として、あるメモリマット(Z=0)内に存在する不良メモリセルのパターンが図13(a)に示すパターンである場合、3つの不良解析データFMI<0>,<1>,<2>を使用すれば足りる。この場合、不良解析データFMI<0>,<1>,<2>の値は、図13(b)の最終課程(ステップS49)に表記されているように、
FMI<0>={cx,4,1,4,D,0}
FMI<1>={cx,7,1,7,B,0}
FMI<2>={sn,1,1,0,0,0}
となる。上記の値が得られる課程についても後述する。
図14は、2次救済時における解析回路143の動作を説明するためのフローチャートであり、図5に示したフローチャートのステップS7,S8に対応する。
まず、テストモードにエントリーする(ステップS10)。これにより、カラム制御回路107内のデータ判定回路107aが活性化し、判定信号P/Fを出力するモードに切り替えられる。また、解析用メモリ144の内容、不良解析データFMIのインデックスi及び未使用の不良解析データFMIのインデックスiNullが初期化される(ステップS11)。次に、テストパターンの書き込み及び読み出しを行うことによって動作テストを行う(ステップS12)。かかる動作テストは、判定信号P/Fがパスを示している限り、アドレスを変化させながら次々と行う(ステップS13〜S15)。
一方、判定信号P/Fがフェイルを示した場合(ステップS13:Fail)、現在選択されている不良解析データFMI<i>をロードし(ステップS20)、コマンドを発行する(ステップS21)。初期状態において選択されている不良解析データはFMI<0>である。コマンドの詳細については後述する。その結果、発行されるコマンドがExitコマンドであれば(ステップS22:Yes)、フェイルを示したアドレスは不良解析データFMI<i>に既に包含されていることから、ステップS14に戻る。一方、発行されるコマンドがExitコマンドではなく(ステップS22:No)、且つ、Nopコマンドでもなければ(ステップS23:No)、更新コマンドを発行すべきか否かを判定する(ステップS24)。更新コマンドには複数のコマンドが存在するが、これについても後述する。
その結果、更新コマンドを発行する場合には(ステップS24:Yes)、コマンドの種類に応じ、現在の不良解析データFMI<i>の内容を更新する(ステップS25)。不良解析データFMI<i>の更新においては、必要に応じ、別の不良解析データFMI<iNull>も使用する。この場合、1つのエラーパターン情報Dによって表現されていたエラーパターンが、2つのエラーパターン情報Dによって表現されることになる。2つのエラーパターンのうち、一方は不良解析データFMI<i>を更新することによって記録され、他方は未使用の不良解析データFMI<iNull>に新規に記録される。また、必要に応じ、不良解析データFMI<0>〜<n>の並び替えも行う。その後、ステップS14に戻る。
これに対し、発行されるコマンドがNopコマンドであるケースは(ステップS23:Yes)、現在選択されている不良解析データFMI<i>に対する更新は不要であり、次の不良解析データFMI<i+1>との比較を行う。この場合は、不良解析データFMI<i+1>を選択し(ステップS27)、ステップS20に戻る。但し、i=Nである場合(ステップS26:Yes)には、未使用の不良解析データFMIが存在しないことを意味するため、後述するオーバーフロー処理が行われる(ステップS28)。詳細については後述するが、オーバーフロー処理においてはエラーパターン情報Dの組み替えを行うことによって、未使用の不良解析データFMIを確保可能か否かが判定される。
上記の動作を判定信号P/Fがフェイルを示すたびに実行し、全てのアドレスに対するテストが完了すれば(ステップS14:Yes)、一連のテスト動作を終了する。テストパターンについては任意のパターンを用いることが可能であり、かつ複数のテストパターンを用いて動作テストを行っても構わない。実際には、選別工程で高い不良率が得られるテストをピックアップして、当該テストを行う前に図14に示す工程、並びに、置換動作(ステップS9)を行うことが望ましい。
次に、解析回路143内で生成される各種コマンドについて説明する。
図15は、解析回路143の内部で生成される内部信号及び現在のエラーパターン情報Dと、生成されるコマンドとの関係を示す図である。図15において「D」は現在のエラーパターン情報である。また、「xeq0」、「yeq0」、「xeq1」、「yeq1」、「zeq」は新たに発見された不良メモリセルのアドレス、つまり、判定信号P/Fがフェイルを示した際のアドレスが、それぞれエラーアドレス情報を構成するアドレスX0,Y0,X1,Y1,Zと一致した場合,又は、一致したと見なされる場合に、ハイレベル(論理値1)となる内部信号である。また、「Ovf」はオーバーフロー信号であり、これがハイレベルを示している場合には、強制的にexitコマンドが発行される。また、内部信号zeqがローレベルである場合には、発見された不良メモリセルが当該メモリマットとは異なるメモリマットに属しているため、強制的にnopコマンドが発行される。
まず、エラーパターン情報Dが「Null」である場合に不良メモリセルが発見されると、null_to_snコマンドが発行される。null_to_snコマンドとは、エラーパターン情報DをNullパターンからSnパターンに変化させるコマンドである。
エラーパターン情報Dが「Sn」である場合に同じメモリマットに不良メモリセルが発見されると(zeq=1)、そのアドレスに応じて異なるコマンドが発行される。具体的には、図16(a)に示すように、現在のエラーパターン情報D(=Sn)が不良メモリセルMC0を示している場合、これに関連づけられたアドレスX0と同じロウアドレスの不良メモリセルMC1が検出されると、内部信号xeq0がハイレベルとなり、sn_to_bxコマンドが発行される。sn_to_bxコマンドとは、エラーパターン情報DをSnパターンからBxパターンに変化させるコマンドである。また、アドレスY0と同じカラムアドレスの不良メモリセルMC2が検出されると、内部信号yeq0がハイレベルとなり、sn_to_byコマンドが発行される。sn_to_byコマンドとは、エラーパターン情報DをSnパターンからByパターンに変化させるコマンドである。
これに対し、エラーパターン情報Dが「Sn」である場合において、内部信号xeq0,yeq0のいずれも活性化しない場合には、図16(a)に示すように、発見された不良メモリセルMC3が不良メモリセルMC0に対して斜めの位置にあることを意味する。この場合、同じ不良解析データFMIにこれら不良メモリセルの情報を集約することはできないため、nopコマンドが発行される。また、内部信号xeq1,yeq1の両方が活性化した場合には、同じ不良メモリセルMC0が再び検出されたことを意味するため、exitコマンドが発行される。同じ不良メモリセルが再検出された場合は、常にexitコマンドが発行されるため、以下重複する説明は省略する。
エラーパターン情報Dが「Bx」である場合に同じメモリマットに不良メモリセルが発見されると(zeq=1)、そのアドレスに応じて異なるコマンドが発行される。具体的には、図16(b)に示すように、現在のエラーパターン情報D(=Bx)が不良メモリセルMC0,MC1を示している場合、これに関連づけられたアドレスX0と同じロウアドレスの不良メモリセルMC2が検出されると、内部信号xeq1がハイレベルとなり、bx_to_cxコマンドが発行される。bx_to_cxコマンドとは、エラーパターン情報DをBxパターンからCxパターンに変化させるコマンドである。また、アドレスY0と同じカラムアドレスの不良メモリセルMC3が検出されると、内部信号yeq0がハイレベルとなり、bx_to_tr1コマンドが発行される。bx_to_tr1コマンドとは、エラーパターン情報DをBxパターンからTrパターンに変化させるコマンドの一種である。さらに、アドレスY1と同じカラムアドレスの不良メモリセルMC4が検出されると、内部信号yeq1がハイレベルとなり、bx_to_tr2コマンドが発行される。bx_to_tr2コマンドとは、エラーパターン情報DをBxパターンからTrパターンに変化させるコマンドの一種である。
これに対し、エラーパターン情報Dが「Bx」である場合において、内部信号xeq0,yeq0,yeq1のいずれも活性化しない場合には、図16(b)に示すように、発見された不良メモリセルMC5がエラーアドレス情報X0,Y0,Y1のいずれとも無関係であることを意味する。この場合、同じ不良解析データFMIにこれら不良メモリセルの情報を集約することはできないため、nopコマンドが発行される。exitコマンドが発行されるケースについては上述の通りである。
エラーパターン情報Dが「By」である場合に同じメモリマットに不良メモリセルが発見された場合の動作は、エラーパターン情報Dが「Bx」である場合と同様である。
エラーパターン情報Dが「Tr」である場合に同じメモリマットに不良メモリセルが発見されると(zeq=1)、そのアドレスに応じて異なるコマンドが発行される。具体的には、図16(c)に示すように、現在のエラーパターン情報D(=Tr)が不良メモリセルMC0〜MC2を示している場合、これに関連づけられたアドレスX1,Y1により特定される不良メモリセルMC3が検出されると、内部信号xeq1,yeq1がハイレベルとなり、tr_to_sqコマンドが発行される。tr_to_sqコマンドとは、エラーパターン情報DをTrパターンからSqパターンに変化させるコマンドである。また、アドレスX0と同じロウアドレスの不良メモリセルMC4が検出されると、内部信号xeq0がハイレベルとなり、tr_to_sncxコマンドが発行される。tr_to_sncxコマンドとは、エラーパターン情報DをTrパターンからCxパターンに変化させるとともに、新たな不良解析データFMIを使用し、そのエラーパターン情報DをSnパターンに設定するコマンドである。さらに、アドレスY0と同じカラムアドレスの不良メモリセルMC5が検出されると、内部信号yeq0がハイレベルとなり、tr_to_sncyコマンドが発行される。tr_to_sncyコマンドとは、エラーパターン情報DをTrパターンからCyパターンに変化させるとともに、新たな不良解析データFMIを使用し、そのエラーパターン情報DをSnパターンに設定するコマンドである。
これに対し、エラーパターン情報Dが「Tr」である場合において、内部信号xeq0,yeq0のいずれも活性化せず、且つ、内部信号xeq1,yeq1の少なくとも一方が活性化しない場合には、図16(c)に示すように、発見された不良メモリセルMC6がエラーアドレス情報X0,Y0のいずれとも無関係であり、且つ、メモリセルMC3の位置にもないことを意味する。この場合、同じ不良解析データFMIにこれら不良メモリセルの情報を集約することはできないため、nopコマンドが発行される。exitコマンドが発行されるケースについては上述の通りである。
エラーパターン情報Dが「Sq」である場合に同じメモリマットに不良メモリセルが発見されると(zeq=1)、そのアドレスに応じて異なるコマンドが発行される。具体的には、図16(d)に示すように、現在のエラーパターン情報D(=Sq)が不良メモリセルMC0〜MC3を示している場合、アドレスX0又はX1と同じロウアドレスの不良メモリセルMC4又はMC5が検出されると、内部信号xeq0又はxeq1がハイレベルとなり、sq_to_bxcx1コマンド又はsq_to_bxcx2コマンドが発行される。sq_to_bxcx1コマンド及びsq_to_bxcx2コマンドとは、エラーパターン情報DをSqパターンからCxパターンに変化させるとともに、新たな不良解析データFMIを使用し、そのエラーパターン情報DをBxパターンに設定するコマンドである。また、アドレスY0又はY1と同じカラムアドレスの不良メモリセルMC6又はMC7が検出されると、内部信号yeq0又はyeq1がハイレベルとなり、sq_to_bxcy1コマンド又はsq_to_bxcy2コマンドが発行される。sq_to_bxcy1コマンド及びsq_to_bxcy2コマンドとは、エラーパターン情報DをSqパターンからCyパターンに変化させるとともに、新たな不良解析データFMIを使用し、そのエラーパターン情報DをByパターンに設定するコマンドである。
これに対し、エラーパターン情報Dが「Sq」である場合において、内部信号xeq0,yeq0,xeq1,yeq1のいずれも活性化しない場合には、図16(d)に示すように、発見された不良メモリセルMC8がエラーアドレス情報X0,Y0,X1,Y1のいずれとも無関係であることを意味する。この場合、同じ不良解析データFMIにこれら不良メモリセルの情報を集約することはできないため、nopコマンドが発行される。exitコマンドが発行されるケースについては上述の通りである。
エラーパターン情報Dが「Cx」である場合に同じメモリマットに不良メモリセルが発見されると(zeq=1)、そのアドレスに応じて異なるコマンドが発行される。具体的には、図16(e)に示すように、現在の不良解析データFMIが不良メモリセルMC0〜MC2を示している場合、アドレスX0と同じロウアドレスの不良メモリセルMC3又はMC4が検出されると、内部信号xeq0がハイレベルとなり、cx_to_cxコマンドが発行される。cx_to_cxコマンドとは、エラーパターン情報DをCxのまま維持するコマンドである。図16(e)に示すメモリセルMC3は、カラムアドレスがメモリセルMC0のカラムアドレスYminとメモリセルMC2のカラムアドレスYmaxとの間に含まれるケースを示している。一方、図16(e)に示すメモリセルMC4は、カラムアドレスがメモリセルMC0のカラムアドレスYminとメモリセルMC2のカラムアドレスYmaxとの間に含まれないケースを示している。メモリセルMC4のように、カラムアドレスYminとYmaxの範囲外にある不良メモリセルが検出された場合には、後述するように、エラーアドレス情報が書き換えられる。
これに対し、エラーパターン情報Dが「Cx」である場合において、内部信号xeq0が活性化しない場合には、図16(e)に示すように、発見された不良メモリセルMC4がエラーアドレス情報X0と無関係であることを意味する。この場合、同じ不良解析データFMIにこれら不良メモリセルの情報を集約することはできないため、nopコマンドが発行される。exitコマンドが発行されるケースについては上述の通りである。
エラーパターン情報Dが「Cy」である場合に不良メモリセルが発見された場合の動作は、エラーパターン情報Dが「Cx」である場合と同様である。
図17は、コマンドの種類と生成される制御フラグとの関係を説明するための図である。
図17に示すように、制御フラグは4種類設けられている。1つ目の制御フラグはインクリメントフラグiNull_incであり、これが活性化すると、未使用の不良解析データFMIを示すインデックスiNullは、iNull+1にインクリメントされる。2つ目の制御フラグは分割フラグFMIa_modifyであり、これが活性化すると、未使用の不良解析データFMI<iNull>に対する更新が行われる。これらインクリメントフラグiNull_inc及び分割フラグFMIa_modifyは、tr_to_sncxコマンド,tr_to_sncyコマンド,sq_to_bxcx1コマンド,sq_to_bxcx2コマンド,sq_to_bxcy1コマンド,sq_to_bxcy2コマンドが発行された場合に活性化する。また、インクリメントフラグiNull_incは、null_to_snコマンドが発行された場合にも活性化する。
3つ目の制御フラグは更新フラグFMI_modifyであり、これが活性化すると、現在の不良解析データFMI<i>に対する更新が行われる。更新フラグFMI_modifyは、exitコマンド及びnopコマンドを除く全てのコマンドに応答して活性化される。
4つ目の制御フラグはリオーダーフラグReOrderであり、これが活性化すると、不良解析データの並び替えが行われ、現在の不良解析データFMI<i>が下位に繰り下げられる。リオーダーフラグReOrderは、分割フラグFMIa_modifyが活性化される場合の他、bx_to_cxコマンド又はby_to_cyコマンドが発行された場合に活性化される。
図18は、コマンドの種類と不良解析データFMI<i>の更新内容との関係を説明するための図である。不良解析データFMI<i>が更新されるのは、更新フラグFMI_modifyが活性化した場合である。上述の通り、更新フラグFMI_modifyは、exitコマンド及びnopコマンドを除く全てのコマンドに応答して活性化される。
図18において、「D_next」と表記しているのは更新後のエラーパターン情報Dを示す。また、「X0_next」、「Y0_next」、「X1_next」、「Y1_next」及び「Z_next」、と表記しているのは、それぞれ更新後のアドレスX0、Y0,X1,Y1,Zを示す。また、「XC」,「YC」,「ZC」とは、発見された不良メモリセルのロウアドレス、カラムアドレス及びメモリマットアドレスをそれぞれ示す。「Xmin」,「Xmax」とは、当該不良解析データに含まれるロウアドレスのうち、最も値の小さいアドレス及び最も値の大きいアドレスをそれぞれ示す。同様に、「Ymin」,「Ymax」とは、当該不良解析データに含まれるカラムアドレスのうち、最も値の小さいアドレス及び最も値の大きいアドレスをそれぞれ示す。
まず、null_to_snコマンドが発行された場合には、エラーパターン情報Dが「Sn」に更新されるとともに、当該不良メモリセルのロウアドレスXC及びカラムアドレスYCがアドレスX0,Y0に書き込まれる。また、アドレスX1,Y1は、従前の値のまま更新されない。図18において、「X1」,「Y1」と表記されているのは、従前の「X1」,「Y1」の値が与えられるとの意味である。「X0」,「Y0」についても同様である。
sn_to_bxコマンドが発行された場合には、エラーパターン情報Dが「Bx」に更新されるとともに、当該不良メモリセルのロウアドレスXC及びカラムアドレスYCがアドレスX1,Y1に書き込まれる。アドレスX0,Y0は、従前の値のまま更新されない。同様に、sn_to_byコマンドが発行された場合には、エラーパターン情報Dが「By」に更新されるとともに、当該不良メモリセルのロウアドレスXC及びカラムアドレスYCがアドレスX1,Y1に書き込まれる。アドレスX0,Y0は、従前の値のまま更新されない。
bx_to_cxコマンドが発行された場合には、エラーパターン情報Dが「Cx」に更新されるとともに、アドレスY0,Y1にそれぞれカラムアドレスの最小値Ymin及びカラムアドレスの最大値Ymaxが書き込まれる。アドレスX0,X1は、従前の値のまま更新されない。同様に、by_to_cyコマンドが発行された場合には、エラーパターン情報Dが「Cy」に更新されるとともに、アドレスX0,X1にそれぞれロウアドレスの最小値Xmin及びロウアドレスの最大値Xmaxが書き込まれる。アドレスY0,Y1は、従前の値のまま更新されない。
bx_to_tr1コマンドが発行された場合には、エラーパターン情報Dが「Tr」に更新されるとともに、当該不良メモリセルのロウアドレスXCがアドレスX1に書き込まれる。アドレスX0,Y0,Y1は、従前の値のまま更新されない。同様に、by_to_tr1コマンドが発行された場合には、エラーパターン情報Dが「Tr」に更新されるとともに、当該不良メモリセルのカラムアドレスYCがアドレスY1に書き込まれる。アドレスX0,X1,Y0は、従前の値のまま更新されない。
bx_to_tr2コマンドが発行された場合には、エラーパターン情報Dが「Tr」に更新されるとともに、当該不良メモリセルのロウアドレスXCがアドレスX1に書き込まれる。さらに、アドレスX0,Y0,Y1にはそれぞれ従前のアドレスX1,Y1,Y0の値が上書きされる。同様に、by_to_tr2コマンドが発行された場合には、エラーパターン情報Dが「Tr」に更新されるとともに、当該不良メモリセルのカラムアドレスYCがアドレスY1に書き込まれる。さらに、アドレスX0,X1,Y0にはそれぞれ従前のアドレスX1,Y1,X0の値が上書きされる。
tr_to_sncxコマンド又はsq_to_bxcx1コマンドが発行された場合には、エラーパターン情報Dが「Cx」に更新されるとともに、当該不良メモリセルのロウアドレスXCがアドレスX1に書き込まれ、アドレスY0,Y1にそれぞれカラムアドレスの最小値Ymin及びカラムアドレスの最大値Ymaxが書き込まれる。アドレスX0は、従前の値のまま更新されない。同様に、tr_to_sncyコマンド又はsq_to_bxcy1コマンドが発行された場合には、エラーパターン情報Dが「Cy」に更新されるとともに、当該不良メモリセルのカラムアドレスYCがアドレスY1に書き込まれ、アドレスX0,X1にそれぞれロウアドレスの最小値Xmin及びロウアドレスの最大値Xmaxが書き込まれる。アドレスY0は、従前の値のまま更新されない。
tr_to_sqコマンドが発行された場合には、エラーパターン情報Dが「Sq」に更新される。アドレスX0,Y0,X1,Y1は、従前の値のまま更新されない。
sq_to_bxcx2コマンドが発行された場合には、エラーパターン情報Dが「Cx」に更新されるとともに、当該不良メモリセルのロウアドレスXCがアドレスX0に書き込まれ、アドレスY0,Y1にそれぞれカラムアドレスの最小値Ymin及びカラムアドレスの最大値Ymaxが書き込まれる。アドレスX1は、従前の値のまま更新されない。同様に、sq_to_bycy2コマンドが発行された場合には、エラーパターン情報Dが「Cy」に更新されるとともに、当該不良メモリセルのカラムアドレスYCがアドレスY0に書き込まれ、アドレスX0,X1にそれぞれロウアドレスの最小値Xmin及びロウアドレスの最大値Xmaxが書き込まれる。アドレスY1は、従前の値のまま更新されない。
cx_to_cxコマンドが発行された場合には、エラーパターン情報Dが「Cx」のまま維持されるとともに、アドレスY0,Y1にそれぞれカラムアドレスの最小値Ymin及びカラムアドレスの最大値Ymaxが書き込まれる。アドレスX0,X1は、従前の値のまま更新されない。同様に、cy_to_cyコマンドが発行された場合には、エラーパターン情報Dが「Cy」のまま維持されるとともに、アドレスX0,X1にそれぞれロウアドレスの最小値Xmin及びロウアドレスの最大値Xmaxが書き込まれる。アドレスY0,Y1は、従前の値のまま更新されない。
図19は、コマンドの種類と不良解析データFMI<iNull>の更新内容との関係を説明するための図である。不良解析データFMI<iNull>が更新されるのは、分割フラグFMIa_modifyが活性化した場合である。
図19において、「Da_next」とは不良解析データFMI<iNull>に書き込まれるエラーパターン情報Dを示す。また、「X0a_next」、「Y0a_next」、「X1a_next」、「Y1a_next」及び「Za_next」、とは、それぞれ不良解析データFMI<iNull>に書き込まれるアドレスX0、Y0,X1,Y1,Zを示す。また、「X0」,「Y0」,「X1」,「Y1」とは、現在の不良解析データ<i>のアドレスX0、Y0,X1,Y1をそれぞれ示す。
まず、tr_to_sncxコマンドが発行された場合には、エラーパターン情報Dが「Sn」に設定されるとともに、現在の不良解析データ<i>のアドレスX1,Y0がそれぞれアドレスX0,Y0に書き込まれる。同様に、tr_to_sncyコマンドが発行された場合には、エラーパターン情報Dが「Sn」に設定されるとともに、現在の不良解析データ<i>のアドレスX0,Y1がそれぞれアドレスX0,Y0に書き込まれる。
また、sq_to_bxcx1コマンドが発行された場合には、エラーパターン情報Dが「Bx」に設定されるとともに、現在の不良解析データ<i>のアドレスX1,Y0,X1,Y1がそれぞれアドレスX0,Y0,X1,Y1に書き込まれる。同様に、sq_to_bxcx2コマンドが発行された場合には、エラーパターン情報Dが「Bx」に設定されるとともに、現在の不良解析データ<i>のアドレスX0,Y0,X0,Y1がそれぞれアドレスX0,Y0,X1,Y1に書き込まれる。
sq_to_bycy1コマンドが発行された場合には、エラーパターン情報Dが「By」に設定されるとともに、現在の不良解析データ<i>のアドレスX0,Y1,X1,Y1がそれぞれアドレスX0,Y0,X1,Y1に書き込まれる。同様に、sq_to_bycy2コマンドが発行された場合には、エラーパターン情報Dが「By」に設定されるとともに、現在の不良解析データ<i>のアドレスX0,Y0,X1,Y0がそれぞれアドレスX0,Y0,X1,Y1に書き込まれる。
以上が2次救済時における解析回路143の動作である。特に限定されるものではないが、解析回路143による上記の動作はロジック回路を用いてハードウェア的に行うことが好ましい。
次に、不良メモリセルが検出されるたびに不良解析データが更新される様子について、具体例を用いて説明する。
図12は第1の具体例であり、(a)は不良メモリセルの配置及びその検出順序を示し、(b)は不良メモリセルが検出されるごとに不良解析データが更新される課程を示している。本例では、解析用メモリ144に8つの不良解析データFMI<0>〜FMI<7>が設けられている。
図12(a)に示すように、初期状態においては全ての不良解析データFMI<0>〜FMI<7>がリセットされている(ステップS30)。そして、1つ目の不良メモリセル(XADD=4,YADD=3)が検出されると、不良解析データFMI<0>の値は、
FMI<0>={Sn,4,3,0,0,0}
に設定される(ステップS31)。つまり、この時点ではいわゆるシングルビット不良(Sn不良)として取り扱われる。
次に、2つ目の不良メモリセル(XADD=7,YADD=3)が検出されると、不良解析データFMI<0>の値は、
FMI<0>={By,4,3,7,3,0}
に設定される(ステップS32)。つまり、シングルビット不良(Sn不良)がカラムアドレスの一致した2ビット不良(By不良)に更新される。
3つ目の不良メモリセル(XADD=B,YADD=3)が検出されると、不良解析データFMI<0>の値は、
FMI<0>={Cy,4,3,B,3,0}
に設定される(ステップS33)。つまり、2ビット不良(By不良)がカラム方向のライン不良(Cy不良)に更新される。
4つ目の不良メモリセル(XADD=D,YADD=3)が検出されると、不良解析データFMI<0>の値は、
FMI<0>={Cy,4,3,D,3,0}
に設定され(ステップS34)、5つ目の不良メモリセル(XADD=E,YADD=3)が検出されると、不良解析データFMI<0>の値は、
FMI<0>={Cy,4,3,E,3,0}
に設定される(ステップS35)。この場合、カラム方向のライン不良(Cy不良)であることには変化がないが、そのアドレス情報が更新される。
6つ目の不良メモリセル(XADD=6,YADD=6)が検出されると、新たな不良解析データFMI<1>が使用され、その値は、
FMI<1>={sn,6,6,0,0,0}
に設定される(ステップS36)。つまり、カラム方向のライン不良(Cy不良)にシングルビット不良(Sn不良)が追加される。
7つ目の不良メモリセル(XADD=6,YADD=8)が検出されると、不良解析データFMI<1>の値は、
FMI<1>={Bx,6,6,6,8,0}
に設定される(ステップS37)。つまり、シングルビット不良(Sn不良)がロウアドレスの一致した2ビット不良(Bx不良)に更新される。
8つ目の不良メモリセル(XADD=6,YADD=9)が検出されると、不良解析データFMI<1>の値は、
FMI<1>={Cx,6,6,6,9,0}
に設定される(ステップS38)。つまり、2ビット不良(Bx不良)がロウ方向のライン不良(Cx不良)に更新される。
そして、9つ目の不良メモリセル(XADD=6,YADD=C)が検出されると、不良解析データFMI<1>の値は、
FMI<1>={Cx,6,6,6,C,0}
に設定される(ステップS39)。この場合、ロウ方向のライン不良(Cx不良)であることには変化がないが、そのアドレス情報が更新される。
以上の課程により、解析用メモリ144に格納される不良解析データは、
FMI<0>={cy,4,3,E,3,0}
FMI<1>={cx,6,6,6,C,0}
の2つとなる。
この場合、XADD=6を不良ワード線、YADD=3を不良ビット線とし、これらをそれぞれ冗長ワード線及び冗長ビット線に置換すればよい。つまり、図5に示すステップS9においては、電気ヒューズ回路142にXADD=6,YADD=3の情報を書き込めばよい。
図13は第2の具体例であり、(a)は不良メモリセルの配置及びその検出順序を示し、(b)は不良メモリセルが検出されるごとに不良解析データが更新される課程を示している。本例においても、解析用メモリ144に8つの不良解析データFMI<0>〜FMI<7>が設けられている。
図13(a)に示すように、初期状態においては全ての不良解析データFMI<0>〜FMI<7>がリセットされている(ステップS40)。そして、1つ目の不良メモリセル(XADD=1,YADD=1)が検出されると、不良解析データFMI<0>の値は、
FMI<0>={Sn,1,1,0,0,0}
に設定される(ステップS41)。つまり、この時点ではいわゆるシングルビット不良(Sn不良)として取り扱われる。
次に、2つ目の不良メモリセル(XADD=4,YADD=4)が検出されると、新たな不良解析データFMI<1>が使用され、その値は、
FMI<1>={sn,4,4,0,0,0}
に設定される(ステップS42)。つまり、シングルビット不良(Sn不良)にもう一つのシングルビット不良(Sn不良)が追加される。
3つ目の不良メモリセル(XADD=7,YADD=4)が検出されると、不良解析データFMI<1>の値は、
FMI<1>={By,4,4,7,4,0}
に設定される(ステップS43)。つまり、一方のシングルビット不良(Sn不良)がロウアドレスの一致した2ビット不良(Bx不良)に更新される。
4つ目の不良メモリセル(XADD=4,YADD=7)が検出されると、不良解析データFMI<1>の値は、
FMI<1>={Tr,4,4,7,7,0}
に設定される(ステップS44)。つまり、2ビット不良(Bx不良)がL字型の3ビット不良(Tr不良)に更新される。
5つ目の不良メモリセル(XADD=7,YADD=7)が検出されると、不良解析データFMI<1>の値は、
FMI<1>={Sq,4,4,7,7,0}
に設定される(ステップS45)。つまり、L字型の3ビット不良(Tr不良)が四角形の4ビット不良(Sq不良)に更新される。
6つ目の不良メモリセル(XADD=7,YADD=B)が検出されると、新たな不良解析データFMI<2>が使用されるとともに、リオーダーフラグReOrderによって不良解析データの並べ替えが行われ、
FMI<0>={Cx,7,4,7,B,0}
FMI<1>={Sn,1,1,0,0,0}
FMI<2>={Bx,4,4,4,7,0}
に設定される(ステップS46)。つまり、四角形の4ビット不良(Sq不良)が2ビット不良(Bx不良)とロウ方向のライン不良(Cx不良)に分割される。
7つ目の不良メモリセル(XADD=7,YADD=1)が検出されると、不良解析データFMI<0>の値は、
FMI<0>={Cx,7,1,7,B,0}
に設定される(ステップS47)。この場合、ロウ方向のライン不良(Cx不良)であることには変化がないが、そのアドレス情報が更新される。
8つ目の不良メモリセル(XADD=4,YADD=D)が検出されると、リオーダーフラグReOrderによって不良解析データの並べ替えが行われ、
FMI<0>={Cx,4,4,4,D,0}
FMI<1>={Cx,7,1,7,B,0}
FMI<2>={Sn,1,1,0,0,0}
に設定される(ステップS48)。つまり、2ビット不良(Bx不良)がロウ方向のライン不良(Cx不良)に更新される。
そして、9つ目の不良メモリセル(XADD=4,YADD=1)が検出されると、不良解析データFMI<0>の値は、
FMI<0>={Cx,4,1,4,D,0}
に設定される(ステップS49)。この場合、ロウ方向のライン不良(Cx不良)であることには変化がないが、そのアドレス情報が更新される。
以上の課程により、解析用メモリ144に格納される不良解析データは、
FMI<0>={Cx,4,1,4,D,0}
FMI<1>={Cx,7,1,7,B,0}
FMI<2>={Sn,1,1,0,0,0}
の3つとなる。
この場合、XADD=4,7を不良ワード線とし、且つ、XADD=1又はYADD1を不良ワード線又は不良ビット線として、これらをそれぞれ冗長ワード線等に置換すればよい。つまり、図5に示すステップS9においては、電気ヒューズ回路142に例えばXADD=1,4,7の情報を書き込めばよい。
次に、オーバーフロー処理について説明する。オーバーフロー処理とは、2次救済における解析中に解析用メモリ144に含まれる不良解析データFMIを使い切ってしまった場合(図14に示したステップS28)に実行される処理である。
図20は、オーバーフロー処理を説明するためのフローチャートである。
オーバーフロー処理においては、まず、各不良解析データFMIに含まれるエラーアドレス情報を参照し、アドレスX0とX1の下位ビットをマスクする(ステップS100)。マスクすべきビット数はnビットである。nとは、1本のメインワード線に何本のサブワード線が割り当てられているかを示す値であり、1本のメインワード線に2n本のサブワード線が割り当てられる。したがって、1本のメインワード線に4本のサブワード線が割り当てられている場合はn=2であり、アドレスX0とX1の下位2ビットがマスクされることになる。かかる処理は、不良アドレスをメインワード線単位で判定するために行う。
次に、アドレスX0,X1の下位ビットがマスクされた状態で各不良解析データFMIに含まれるエラーアドレス情報を参照し、ロウアドレスに重複が存在するか否かをチェックする(ステップS101)。かかる処理は、メインワード線の不良に起因する不良メモリセルのアドレスを多数の不良解析データFMIによって表現していないかチェックするための処理である。
その結果、ロウアドレスが重複する不良解析データFMIについてエラーパターン情報Dの組み替えを行い、これによって未使用の不良解析データFMIを確保可能であるか否かを判定する(ステップS102)。この処理は、エラーパターン情報Dが「Cy」である多数の不良解析データFMIを、エラーパターン情報Dが「Cx」であるより少数の不良解析データFMIによって表現可能であるか否かを判定する処理である。つまり、多数のビット線不良をメインワード線の不良として取り扱うことが可能であるか否かの判定である。
その結果、エラーパターン情報Dの組み替えが可能であれば(ステップS102:YES)、エラーパターン情報Dの組み替えを実行することによって使用する不良解析データFMIの数を削減し、未使用の不良解析データFMIを確保する(ステップS103)。これによりオーバーフロー処理を完了し、図14に示したフローに復帰する。
これに対し、エラーパターン情報Dの組み替えが不可能であれば(ステップS102:NO)、これ以上の解析動作は不可能なため、当該半導体装置100の救済は不可能であるとして処理を終了する(ステップS104)。
ここで、オーバーフロー処理によって未使用の不良解析データFMIが確保される様子についてより具体的に説明する。
図21は、不良メモリセルのアドレスマップの一例を示す図である。
図21において×印の付された箇所が不良メモリセルの位置である。図21に示すように、本例では、XADD=4〜7に属する全てのメモリセルが不良である。これは、当該メモリセルに割り当てられたメインワード線自体に不良があるためである。本例では、1本のメインワード線に4本のサブワード線が割り当てられており、XADD=0〜3が1本目のメインワード線に該当し、XADD=4〜7が2本目のメインワード線に該当し、XADD=8〜Bが3本目のメインワード線に該当し、XADD=C〜Fが4本目のメインワード線に該当する。そして、2本目のメインワード線に不良がある結果、XADD=4〜7に属する全てのメモリセルが不良となっている。
図22(a)は、図21に示したメモリセルアレイに対してロウアドレスを変化させながら不良メモリセルの検出を行った場合にオーバーフローが生じる様子を説明するための図である。
本例では、ロウアドレスを変化させながら不良メモリセルの検出を行っていることから、不良メモリセルの発見順は、図22(a)に示す数字の順となる。このため、不良メモリセルが発見される度に更新される不良解析データは図22(b)に示すとおりとなる。つまり、1つ目の不良メモリセル(XADD=4,YADD=0)が検出されると、不良解析データFMI<0>の値は、
FMI<0>={Sn,4,0,0,0,0}
に設定される。
次に、2つ目の不良メモリセル(XADD=5,YADD=0)が検出されると、不良解析データFMI<0>の値は、
FMI<0>={By,4,0,5,0,0}
に変化する。さらに、3つ目の不良メモリセル(XADD=6,YADD=0)が検出されると、不良解析データFMI<0>の値は、
FMI<0>={Cy,4,0,6,0,0}
に変化し、4つ目の不良メモリセル(XADD=7,YADD=0)が検出されると、不良解析データFMI<0>の値は、
FMI<0>={Cy,4,0,7,0,0}
に変化する。つまり、カラム方向のライン不良として認識されることになる。
かかる動作はスキャンされるアドレスがYADD=1に切り替わった場合も同様であり、YADD=1に対するX方向のスキャンが完了すると、値が
FMI<1>={Cy,4,1,7,1,0}
である2個目の不良解析データFMI<1>が使用されることになる。
これを繰り返すことにより、YADD=7に対するX方向のスキャンが完了すると、8個の不良解析データFMI<0>〜<7>に全てカラム方向のライン不良が設定され、未使用の不良解析データFMIがゼロになってしまう。
しかしながら、図21に示した不良は1本のメインワード線の不良によって生じたものであることから、カラム方向のライン不良ではなく、ロウ方向のライン不良として処理すれば、使用する不良解析データFMIの数が少なくて済むはずである。具体的には、XADD=4〜7に対応する4つのロウ方向のライン不良として処理できるはずである。本実施形態では、このような処理を図20のステップS101にて行っているのである。
これにより、メインワード線の不良によって多数の不良メモリセルが検出される場合であっても、使用する不良解析データFMIの数を節約することができ、その結果、正しく2次救済を実行することが可能となる。
図23は、エラーパターン情報Dと電気ヒューズ回路142に記憶されるアドレスとの関係を示す表である。
図23において「Rowオーバーフロー」と表記されている欄は、ロウアドレス用電気ヒューズ回路142aに未使用のエリアが存在しない場合、又は、不良サブワード線のアドレス数がロウ冗長回路102によって置換可能な数を超えている場合において選択されるアドレスを示している。また、「FMIオーバーフロー」と表記されている欄は、上述したオーバーフロー処理が行われた場合に選択されるメインワード線(MWL)のアドレスを示している。「Normal」と表記されている欄は、それ以外の通常の解析動作において選択されるアドレスを示している。
図23に示すように、オーバーフロー処理が行われた場合、通常時においては冗長ビット線により行われる置換が冗長ワード線によって行われることが分かる。また、Rowオーバーフローが生じている場合には、冗長ワード線の代わりに冗長ビット線が使用されることが分かる。このように、本実施形態においては、動作モード(Normalモード、Rowオーバーフローモード又はFMIオーバーフローモード)によって、冗長ワード線又は冗長ビット線がフレキシブルに使用される。尚、「Rowオーバーフロー」の欄に(Y0,Y1)と示されているのは、2本の不良ビット線を冗長ビット線に置換するケースである。しかしながら、既に説明したとおり、カラムアドレス用電気ヒューズ回路142bに用意されているヒューズの数は少ないため、このようなケースにおいては救済不能として処理しても構わない。
以上説明したように、本実施形態によれば、パッケージング後の2次救済において不良メモリセルが検出されるたびに、エラーパターン情報及びエラーアドレス情報を更新していることから、解析に必要な作業メモリの容量が大幅に減少する。これにより、半導体装置100の内部に解析用メモリ144を搭載することが可能となることから、2次救済に用いる外部テスタに解析用メモリを設ける必要がなくなる。
特に、図13に示した第2の具体例のように、発見される不良メモリセルのアドレスがランダムである場合、特許文献3に記載された方式では作業領域となる解析用メモリに大きな容量が必要となるが、本実施形態の方式によれば、発見される不良メモリセルのアドレスがランダムであっても、比較的小さい作業領域しか使用しないことから、解析用メモリ144の記憶容量を小さく設計することが可能となる。
しかも、メインワード線の不良によってロウ方向に多くの不良メモリセルが発生している場合であっても、オーバーフロー処理によって解析用メモリ144の作業エリアを一部解放していることから、正しく2次救済を行うことが可能となる。
図24は、3次救済時における外部テスタ200及び解析回路143の動作を説明するためのフローチャートであり、図5に示したフローチャートのステップS80〜S82に対応する。
まず、外部テスタ200を用いて動作テストを行う(ステップS90)。かかる動作テストは、実使用時における動作と同じ速度で半導体装置100をアクセスすることにより行う。つまり、設計上の最高速度でライト動作を行った後、最高速度でリード動作を行う。外部テスタ200は、このような動作テストの結果得られるリードデータDQを期待値(つまりライトデータ)と比較することにより、不良アドレスが存在するか否かを評価する(ステップS91)。
その結果、不良アドレスが存在しない場合には(ステップS91:NO)、処理を終了する。これに対し、不良アドレスが存在する場合(ステップS91:YES)、外部テスタ200からテストコマンドを発行することにより、半導体装置100を3次救済用のテストモードにエントリーさせる(ステップS92)。これにより、解析回路143に供給されるモード選択信号PTはハイレベルとなり、解析回路143はデータマスク信号DMに基づいて不良アドレスを受け付け可能な動作モードとなる。
次に、外部テスタ200はデータマスク信号DMをハイレベルとし(ステップS93)、検出された不良アドレスを半導体装置100に入力する(ステップS95)。アドレスの入力方法はリードアクセス時と同様であり、アクティブコマンド(ACT)に同期してバンクアドレスBA及びロウアドレスXADDを入力するとともに、リードコマンド(READ)に同期してカラムアドレスYADDを入力する。そして、このような処理を発見された全ての不良アドレスに対して実行した後(ステップS96:NO)、半導体装置100に対して電気ヒューズへの書き込みコマンドを発行する(ステップS97)。その結果、解析回路143を介して解析用メモリ144に格納された不良アドレスが電気ヒューズ回路142に書き込まれる。
以上により3次救済が完了する。このように、3次救済は、1次救済及び2次救済が完了した後、高速な外部テスタ200を用いて行われる。このため、高速アクセス時にのみ発現する不良を発見できるとともに、このような不良が存在するアドレスを救済することが可能となる。上述の通り、3次救済において不良アドレスが発見されるケースは稀であることから、外部テスタ200に大容量の解析用メモリを搭載する必要もない。
図25は、複数の半導体装置100に対する3次救済を並列に行う方法を説明するための模式的なブロック図である。
図25に示すように、複数の半導体装置100に対して3次救済を並列に行う場合、各半導体装置100のアドレス端子112、コマンド端子120、コントロール端子121及びクロック端子122を外部テスタ200に共通接続する。一方、データ系端子131については、半導体装置100ごとに個別の配線を用いて外部テスタ200に接続する。この状態で動作テストを行うと、各半導体装置100は互いに同じ動作を行う。しかしながら、各半導体装置100に存在し得る不良アドレスは互いに異なるため、各半導体装置100は不良のあるアドレスがアクセスされる度に誤ったリードデータDQを出力する。リードデータDQは各半導体装置100に個別の配線を介して外部テスタ200に供給されるため、外部テスタ200は半導体装置100ごとに不良アドレスを検出することができる。
図26は、複数の半導体装置100に対する3次救済を並列に行う場合の動作を説明するためのフローチャートである。
まず、3次救済の対象となる複数の半導体装置100と外部テスタ200を図25に示すように接続し、並列に動作テストを行う(ステップS90)。かかる動作テストは、設計上の最高速度で行う。そして外部テスタ200は、不良のある半導体装置100が存在するか否かを評価する(ステップS91a)。
その結果、不良のある半導体装置100が存在しない場合には(ステップS91a:NO)、処理を終了する。これに対し、不良のある半導体装置100が存在する場合(ステップS91a:YES)、外部テスタ200からテストコマンドを発行することにより、全ての半導体装置100を3次救済用のテストモードにエントリーさせる(ステップS92)。
次に、外部テスタ200は不良のある半導体装置100の一つに対し、データマスク信号DMをハイレベルとし(ステップS93a)、検出された不良アドレスを出力する(ステップS95)。かかる不良アドレスは全ての半導体装置100に入力されるが、これが有効となるのはデータマスク信号DMがハイレベルである半導体装置100に限られるため、データマスク信号DMがローレベルである他の半導体装置100においては無視される。このような処理を当該半導体装置100において発見された全ての不良アドレスに対して実行した後(ステップS96:NO)、電気ヒューズへの書き込みコマンドを発行する(ステップS97)。その結果、解析回路143を介して解析用メモリ144に格納された不良アドレスが電気ヒューズ回路142に書き込まれる。
以上の処理を不良の発見された全ての半導体装置100に対して個々に実行し、全ての半導体装置100に対して上記の処理が完了すると(ステップS99:NO)、一連の3次救済が完了する。このように、本実施形態では、データマスク信号DMを用いてデバイスの選択を行っていることから、複数の半導体装置100に対して3次救済を並列に実行することができる。
次に、本発明の好ましい第2の実施形態について説明する。本実施形態は、積層された複数の半導体チップが同じパッケージにパッケージングされた積層型の半導体装置に本発明を適用した例である。
図27は、本発明の好ましい第2の実施形態による半導体装置10の構造を説明するための模式的な断面図である。
図27に示すように、本実施形態による半導体装置10は、互いに同一の機能、構造を持ち、夫々同一の製造マスクで製作された8枚のコアチップCC0〜CC7、コアチップとは異なる製造マスクで製作された1枚のインターフェースチップIF及び1枚のインターポーザIPが積層された構造を有している。コアチップCC0〜CC7及びインターフェースチップIFはシリコン基板を用いた半導体チップであり、いずれもシリコン基板を貫通する多数の貫通電極TSV(Through Silicon Via)によって上下に隣接するチップと電気的に接続されている。一方、インターポーザIPは樹脂からなる回路基板であり、その裏面IPbには複数の外部端子(半田ボール)SBが形成されている。
コアチップCC0〜CC7は、単体で動作する通常のSDRAM(Synchronous Dynamic Random Access Memory)に含まれる回路ブロックのうち、外部とのインターフェースを行ういわゆるフロントエンド部が削除された半導体チップである。言い換えれば、バックエンド部に属する回路ブロックのみが集積されたメモリチップである。フロントエンド部に含まれる回路ブロックとしては、メモリセルアレイとデータ入出力端子との間で入出力データのパラレル/シリアル変換を行うパラレルシリアル変換回路や、データの入出力タイミングを制御するDLL(Delay Locked Loop)回路などが挙げられる。詳細については後述する。
一方、インターフェースチップIFは、単体で動作する通常のSDRAMに含まれる回路ブロックのうち、フロントエンド部のみが集積された半導体チップである。インターフェースチップIFは、8枚のコアチップCC0〜CC7に対する共通のフロントエンド部として機能する。したがって、外部からのアクセスは全てインターフェースチップIFを介して行われ、データの入出力もインターフェースチップIFを介して行われる。本実施形態では、インターポーザIPとコアチップCC0〜CC7との間にインターフェースチップIFが配置されているが、インターフェースチップIFの位置については特に限定されず、コアチップCC0〜CC7よりも上部に配置しても構わないし、インターポーザIPの裏面IPbに配置しても構わない。インターフェースチップIFをコアチップCC0〜CC7の上部にフェースダウンで又はインターポーザIPの裏面IPbにフェースアップで配置する場合には、インターフェースチップIFに貫通電極TSVを設ける必要はない。また、インターフェースチップIFは、2つのインターポーザIPに挟まれるように配置しても良い。
インターポーザIPは、半導体装置10の機械的強度を確保するとともに、電極ピッチを拡大するための再配線基板として機能する。つまり、インターポーザIPの上面IPaに形成された電極91をスルーホール電極92によって裏面IPbに引き出し、裏面IPbに設けられた再配線層93によって、外部端子SBのピッチを拡大している。図27には、2個の外部端子SBのみを図示しているが、実際には多数の外部端子が設けられている。外部端子SBのレイアウトは、規格により定められたDDR3型のSDRAMにおけるそれと同じである。したがって、外部のコントローラからは1個のDDR3型のSDRAMとして取り扱うことができる。
図27に示すように、最上部のコアチップCC0の上面はNCF(Non-Conductive Film)94及びリードフレーム95によって覆われており、コアチップCC0〜CC7及びインターフェースチップIFの各チップ間のギャップはアンダーフィル96で充填され、またその周囲は封止樹脂97によって覆われている。これにより、各チップが物理的に保護される。
コアチップCC0〜CC7に設けられた貫通電極TSVの大部分は、積層方向から見た平面視で、すなわち図27に示す矢印Aから見た場合に、同じ位置に設けられた他層の貫通電極TSVと短絡されている。つまり、図28(a)に示すように、平面視で同じ位置に設けられた上下の貫通電極TSV1が短絡され、これら貫通電極TSV1によって1本の配線が構成されている。各コアチップCC0〜CC7に設けられたこれらの貫通電極TSV1は、当該コアチップ内の内部回路4にそれぞれ接続されている。したがって、インターフェースチップIFから図28(a)に示す貫通電極TSV1に供給される入力信号(コマンド信号、アドレス信号など)は、コアチップCC0〜CC7の内部回路4に共通に入力される。また、コアチップCC0〜CC7から貫通電極TSV1に供給される出力信号(データなど)は、ワイヤードオアされてインターフェースチップIFに入力される。
これに対し、一部の貫通電極TSVについては、図28(b)に示すように、平面視で同じ位置に設けられた他層の貫通電極TSV2と直接接続されるのではなく、当該コアチップCC0〜CC7に設けられた内部回路5を介して接続されている。つまり、各コアチップCC0〜CC7に設けられたこれら内部回路5が貫通電極TSV2を介してカスケード接続されている。この種の貫通電極TSV2は、各コアチップCC0〜CC7に設けられた内部回路5に所定の情報を順次転送するために用いられる。このような情報としては、後述する層アドレス情報が挙げられる。
さらに他の一部の貫通電極TSVについては、図28(c)に示すように、平面視で異なる位置に設けられた他層の貫通電極TSVと短絡されている。この種の貫通電極TSV群3に対しては、平面視で所定の位置Pに設けられた貫通電極TSV3aに各コアチップCC0〜CC7の内部回路6が接続されている。これにより、各コアチップに設けられた内部回路6に対して選択的に情報を入力することが可能となる。このような情報としては、後述する不良チップ情報が挙げられる。
このように、コアチップCC0〜CC7に設けられた貫通電極TSVは、図28(a)〜(c)に示す3タイプ(TSV1〜TSV3)が存在する。上述の通り、大部分の貫通電極TSVは図28(a)に示すタイプであり、アドレス信号、コマンド信号、クロック信号などは図28(a)に示すタイプの貫通電極TSV1を介して、インターフェースチップIFからコアチップCC0〜CC7に供給される。また、リードデータ及びライトデータについても、図28(a)に示すタイプの貫通電極TSV1を介してインターフェースチップIFに入出力される。これに対し、図28(b),(c)に示すタイプの貫通電極TSV2,TSV3は、互いに同一の構造を有するコアチップCC0〜CC7に対して、個別の情報を与えるために用いられる。
図29は、図28(a)に示すタイプの貫通電極TSV1の構造を示す断面図である。
図29に示すように、貫通電極TSV1はシリコン基板180及びその表面の層間絶縁膜181を貫通して設けられている。貫通電極TSV1の周囲には絶縁リング182が設けられており、これによって、貫通電極TSV1とトランジスタ領域との絶縁が確保される。図29に示す例では絶縁リング182が二重に設けられており、これによって貫通電極TSV1とシリコン基板180との間の静電容量が低減されている。
シリコン基板180の裏面側における貫通電極TSV1の端部183は、裏面バンプ184で覆われている。裏面バンプ184は、下層のコアチップに設けられた表面バンプ185と接する電極である。表面バンプ185は、各配線層L0〜L3に設けられたパッドP0〜P3及びパッド間を接続する複数のスルーホール電極TH1〜TH3を介して、貫通電極TSV1の端部186に接続されている。これにより、平面視で同じ位置に設けられた表面バンプ185と裏面バンプ184は、短絡された状態となる。尚、図示しない内部回路との接続は、配線層L0〜L3に設けられたパッドP0〜P3から引き出される内部配線(図示せず)を介して行われる。
図30は、図28(b)に示すタイプの貫通電極TSV2の構造を示す断面図である。
図30に示すように、貫通電極TSV2は、同じ平面位置にあるパッドP1とパッドP2を直接接続するスルーホール電極TH2が削除されている点において、図29に示した貫通電極TSV1と相違している。パッドP1は図28に示す内部回路5の例えば出力ノードに接続され、パッドP2は図28に示す内部回路5の例えば入力ノードに接続される。これにより、各コアチップCC0〜CC7に設けられた内部回路5が貫通電極TSV2を介してカスケード接続されることになる。
図31は、図28(c)に示すタイプの貫通電極TSV3の構造を示す断面図である。
図31に示すように、貫通電極TSV3は、同じ平面位置にあるパッドP1,P2がスルーホール電極TH2によって接続されるのではなく、異なる平面位置にあるパッドP1,P2がスルーホール電極TH2によって接続されている。図31では貫通電極TSV3を3個だけ示しているが、貫通電極TSV3は各コアチップCC0〜CC7において1信号当たりコアチップの枚数分(8個)設けられる。そして、これら8個の貫通電極TSV3は、図32に示すように循環的に接続される。図32において実線で示しているのは表面バンプ185であり、破線で示しているのは裏面バンプ184である。図32に示すように、貫通電極TSV3を循環的に接続すれば、各コアチップCC0〜CC7の回路構成を互いに同一としつつ、インターフェースチップIFから各コアチップCC0〜CC7に個別の情報を与えることができる。例えば、裏面バンプ184−7の位置に内部回路6を接続した場合、インターフェースチップIFから最下層のコアチップCC7の裏面バンプ184−0〜184−7に供給する信号は、それぞれコアチップCC0〜CC7の内部回路6に選択的に供給されることになる。
図33は、半導体装置10の回路構成を示すブロック図である。
図33に示すように、インターポーザIPに設けられた外部端子には、クロック端子11a,11b、クロックイネーブル端子11c、コマンド端子12a〜12f、アドレス端子13a〜13c、データ入出力端子14、データストローブ端子15a,15b、キャリブレーション端子16、電源端子17a,17b及びデータマスク端子18が含まれている。これら外部端子のうち、電源端子17a,17bを除く外部信号端子は、全てインターフェースチップIFに接続されており、コアチップCC0〜CC7には直接接続されない。
まず、これら外部端子とフロントエンド機能を有するインターフェースチップIFとの接続関係、並びに、インターフェースチップIFの回路構成について説明する。
クロック端子11a,11bはそれぞれ外部クロック信号CK,/CKが供給される端子であり、クロックイネーブル端子11cはクロックイネーブル信号CKEが入力される端子である。供給された外部クロック信号CK,/CK及びクロックイネーブル信号CKEは、インターフェースチップIFに設けられたクロック発生回路21に供給される。本明細書において信号名の先頭に「/」が付されている信号は、対応する信号の反転信号又はローアクティブな信号であることを意味する。したがって、外部クロック信号CK,/CKは互いに相補の信号である。クロック発生回路21は内部クロック信号ICLKを生成する回路であり、生成された内部クロック信号ICLKは、インターフェースチップIF内の各種回路ブロックに供給される他、TSVを介してコアチップCC0〜CC7にも共通に供給される。
また、インターフェースチップIFにはDLL回路22が含まれており、DLL回路22によって入出力用クロック信号LCLKが生成される。入出力用クロック信号LCLKは、インターフェースチップIFに含まれる入出力バッファ回路23に供給される。DLL機能は、半導体装置10が外部と通信するに当たり、外部との同期がマッチングされた信号LCLKでフロントエンドを制御するためのものである。故に、バックエンドであるコアチップCC0〜CC7には、DLL機能は不要である。
コマンド端子12a〜12fは、それぞれチップセレクト信号/CS、ロウアドレスストローブ信号/RAS、カラムアドレスストローブ信号/CAS、ライトイネーブル信号/WE、オンダイターミネーション信号ODT、及びリセット信号/RESETが供給される端子である。これらのコマンド信号は、インターフェースチップIFに設けられたコマンド入力バッファ31に供給される。コマンド入力バッファ31に供給されたこれらコマンド信号は、コントロールロジック32に供給される。コントロールロジック32には、レイテンシコントローラ32a及びコマンドデコーダ32bが含まれており、内部クロックICLKに同期して、コマンド信号の保持、デコード及びカウントなどを行うことによって、各種内部コマンドICMDを生成する。生成された内部コマンドICMDは、インターフェースチップIF内の各種回路ブロックに供給される他、TSVバッファ34及び貫通電極TSV1を介してコアチップCC0〜CC7にも共通に供給される。
アドレス端子13aはバンクアドレスBA0〜BA2が供給される端子であり、アドレス端子13bはアドレス信号A0〜A(N−3)が供給される端子であり、アドレス端子13cはアドレス信号AN〜A(N−2)が供給される端子である。供給されたアドレス信号A0〜AN,BA0〜BA2は、インターフェースチップIFに設けられたアドレス入力バッファ41に供給される。アドレス入力バッファ41の出力は、コントロールロジック32及び層アドレスバッファ48に供給される。層アドレスバッファ48は、貫通電極TSV1を介して層アドレス(レイヤ情報)EXAをコアチップCC0〜CC7に共通に供給する役割を果たす。また、モードレジスタセットにエントリーしている場合には、コントロールロジック32に供給されたアドレス信号A0〜A15はインターフェースチップIFに設けられたモードレジスタ42に供給される。また、バンクアドレスBA0〜BA2については、コントロールロジック32によってデコードされ、これにより得られるバンク選択信号がFIFO回路25に供給される。これは、ライトデータのバンク選択がインターフェースチップIF内で行われるためである。
データ入出力端子14は、リードデータ又はライトデータDQ0〜DQ7の入出力を行うための端子である。また、データストローブ端子15a,15bは、ストローブ信号DQS,/DQSの入出力を行うための端子である。さらに、データマスク端子18は、データマスク信号DMが供給される端子である。これらデータ入出力端子14、データストローブ端子15a,15b及びデータマスク端子18は、インターフェースチップIFに設けられた入出力バッファ回路23に接続されている。データマスク端子18を介して供給されるデータマスク信号DMは、解析回路82aにも供給される。入出力バッファ回路23には、入力バッファIB及び出力バッファOBが含まれており、DLL回路22より供給される入出力用クロック信号LCLKに同期して、リードデータ又はライトデータDQ0〜DQ7及びストローブ信号DQS,/DQSの入出力を行う。また、入出力バッファ回路23は、コントロールロジック32から内部オンダイターミネーション信号IODTが供給されると、出力バッファOBを終端抵抗として機能させる。さらに、入出力バッファ回路23には、キャリブレーション回路24からインピーダンスコードDRZQが供給されており、これによって出力バッファOBのインピーダンスが指定される。
キャリブレーション回路24には、出力バッファOBと同じ回路構成を有するレプリカバッファRBが含まれており、コントロールロジック32よりキャリブレーション信号ZQCが供給されると、キャリブレーション端子16に接続された外部抵抗(図示せず)の抵抗値を参照することによってキャリブレーション動作を行う。キャリブレーション動作とは、レプリカバッファRBのインピーダンスを外部抵抗の抵抗値と一致させる動作であり、得られたインピーダンスコードDRZQが入出力バッファ回路23に供給される。これにより、出力バッファOBのインピーダンスが所望の値に調整される。
入出力バッファ回路23は、FIFO回路25に接続されている。FIFO回路25は、周知なDDR機能を実現するレイテンシ制御によって動作するFIFO機能を実現するFIFO回路部(不図示)とマルチプレクサ(不図示)とを含み、コアチップCC0〜CC7から供給されるパラレルなリードデータをシリアル変換するとともに、入出力バッファから供給されるシリアルなライトデータをパラレル変換する回路である。したがって、FIFO回路25と入出力バッファ回路23との間はシリアル接続であり、FIFO回路25とコアチップCC0〜CC7との間はパラレル接続である。FIFO回路25が出力するパラレルなライトデータは、TSVバッファ26を介してコアチップCC0〜CC7に供給され、コアチップCC0〜CC7から出力されるパラレルなリードデータは、TSVバッファ26を介してFIFO回路25に供給される。本実施形態では、コアチップCC0〜CC7がDDR3型のSDRAMのバックエンド部であり、プリフェッチ数が8ビットである。また、FIFO回路25とコアチップCC0〜CC7はバンクごとに接続されており、各コアチップCC0〜CC7に含まれるバンク数は8バンクである。したがって、FIFO回路25とコアチップCC0〜CC7との接続は1DQ当たり64ビット(8ビット×8バンク)となる。
このように、FIFO回路25とコアチップCC0〜CC7との間においては、基本的に、シリアル変換されていないパラレルデータが入出力される。つまり、通常のSDRAM(それは、フロントエンドとバックエンドが1つのチップで構成される)では、チップ外部との間でのデータの入出力がシリアルに行われる(つまり、データ入出力端子は1DQ当たり1個である)のに対し、コアチップCC0〜CC7では、インターフェースチップIFとの間でのデータの入出力がパラレルに行われる。この点は、通常のSDRAMとコアチップCC0〜CC7との重要な相違点である。但し、プリフェッチしたパラレルデータを全て異なるTSVを用いて入出力することは必須でなく、コアチップCC0〜CC7側にて部分的なパラレル/シリアル変換を行うことによって、1DQ当たり必要なTSVの数を削減しても構わない。例えば、1DQ当たり64ビットのデータを全て異なるTSVを用いて入出力するのではなく、コアチップCC0〜CC7側にて2ビットのパラレル/シリアル変換を行うことによって、1DQ当たり必要なTSVの数を半分(32個)に削減しても構わない。
更に、FIFO回路25は、インターフェースチップ単位で試験ができる機能が付加されている。インターフェースチップには、バックエンド部が存在しない。このため、原則として単体で動作させることはできない。しかしながら、単体での動作が一切不可能であると、ウェハ状態でのインターフェースチップの動作試験を行うことができなくなってしまう。これは、インターフェースチップと複数のコアチップの組み立て工程を経た後でなければ、半導体装置10を試験することができないことを示し、半導体装置10を試験することによって、インターフェースチップIFを試験することを意味する。インターフェースチップIFに回復できない欠陥がある場合、半導体装置10全体の損失を招くことになる。この点を考慮して、本実施形態では、FIFO回路25には、試験用に擬似的なバックエンド部の一部が設けられており、試験時に簡素な記憶機能が可能とされている。
電源端子17a,17bは、それぞれ電源電位VDD,VSSが供給される端子であり、インターフェースチップIFに設けられたパワーオン検出回路43に接続されるとともに、貫通電極TSV1を介してコアチップCC0〜CC7にも接続されている。パワーオン検出回路43は、電源の投入を検出する回路であり、電源の投入を検出するとインターフェースチップIFに設けられた層アドレスコントロール回路45を活性化させる。
層アドレスコントロール回路45は、本実施形態による半導体装置10のI/O構成に応じて層アドレスを変更するための回路である。上述の通り、本実施形態による半導体装置10は8個のデータ入出力端子14を備えており、これにより最大でI/O数を8ビット(DQ0〜DQ7)に設定することができるが、I/O数がこれに固定されるわけではなく、例えば4ビット(DQ0〜DQ3)に設定することも可能である。これらI/O数に応じてアドレス割り付けが変更され、層アドレスも変更される。層アドレスコントロール回路45は、I/O数に応じたアドレス割り付けの変更を制御する回路であり、貫通電極TSV1を介して各コアチップCC0〜CC7に共通に接続されている。
また、インターフェースチップIFには層アドレス設定回路44も設けられている。層アドレス設定回路44は、貫通電極TSV2を介してコアチップCC0〜CC7に接続されている。層アドレス設定回路44は、図28(b)に示すタイプの貫通電極TSV2を用いて、コアチップCC0〜CC7の層アドレス発生回路46にカスケード接続されており、テスト時においてコアチップCC0〜CC7に設定された層アドレスを読み出す役割を果たす。
さらに、インターフェースチップIFには不良チップ情報保持回路33が設けられている。不良チップ情報保持回路33は、正常に動作しない不良コアチップがアセンブリ後に発見された場合に、そのチップ番号を保持する回路である。不良チップ情報保持回路33は、貫通電極TSV3を介してコアチップCC0〜CC7に接続されている。不良チップ情報保持回路33は、図28(c)に示すタイプの貫通電極TSV3を用いて、シフトされながらコアチップCC0〜CC7に接続されている。
さらに、インターフェースチップIFには、電気ヒューズ回路83が設けられている。電気ヒューズ回路83は、アセンブリ後に発見された不良を冗長回路によって置換するために必要な情報が記憶される回路である。電気ヒューズ回路83に記憶される情報としては、少なくとも、貫通電極TSVの不良に関する情報と、コアチップCC0〜CC7内のメモリセルの不良に関する情報が含まれる。貫通電極TSVの不良については、TSVバッファ26,34によって他の貫通電極TSVに置換することによって救済されるが、これに関しては本発明の要旨と直接関係がないため、詳細な説明は省略する。貫通電極TSVの不良は、DFT回路81を用いて検出され、電気ヒューズ回路83にプログラムされる。
電気ヒューズ回路83には、置換元のワード線を示すロウアドレス又は置換元のビット線を示すカラムアドレスが記憶される。置換先となる冗長ワード線又は冗長ビット線は、当該コアチップCC0〜CC7に含まれる冗長ワード線又は冗長ビット線が使用される。
電気ヒューズ回路83に記憶される情報のうちメモリセルの不良アドレスに関する情報は、シリアライザ84によってシリアルデータALDにシリアル変換された後、貫通電極TSVを介してコアチップCC0〜CC7に転送される。図33に示すように、不良アドレスの転送は、TSV自体の不良によって転送不能となることを防止すべく、複数の貫通電極TSVが並列に用いられている。その他、置換できない貫通電極TSVを使用する信号、例えば、層アドレスEXAや後述する判定信号P/Fなどに対しても、複数の貫通電極TSVが並列に用いられる。
電気ヒューズ回路83へのプログラムは、解析回路82a、解析用メモリ82b及びヒューズ選択回路82cを用いて行われる。解析回路82a、解析用メモリ82b及びヒューズ選択回路82cは、それぞれ図1に示した解析回路143、解析用メモリ144及びヒューズ選択回路146に相当する。解析回路82aはDFT回路37の出力である信号FENTにより活性化され、2次救済時(モード選択信号PT=ロー)においては、コントロールロジック32より供給されるアドレスと、コアチップCC0〜CC7より供給される判定信号P/Fに基づき、不良のあるメモリセルの出現パターンを解析する。解析は、不良のあるメモリセルをワード線単位又はビット線単位で置換した場合に、もっとも効率よく置換可能なパターンを特定する。このことは、電気ヒューズ回路83により記憶されるアドレスがメモリセル単位のアドレスではなく、ワード線単位又はビット線単位のアドレスであることを意味する。ワード線単位又はビット線単位での置換は、コアチップCC0〜CC7の製造時においてウェハ状態で行われ、ウェハ状態での置換に用いられなかった残余の冗長ワード線又は冗長ビット線が電気ヒューズ回路83によって使用されることになる。よって、解析回路82aは、フェイルメモリ・リペア・アナライザである。また、解析回路82aは、3次救済時(モード選択信号PT=ハイ)においては、データマスク信号DMがハイレベルである期間にコントロールロジック32より供給されるアドレスを解析用メモリ82bに出力する。モード選択信号PTは、DFT回路37より出力される。
一方、電気ヒューズ回路83にプログラムされた情報の読み出しは、ロード回路85を用いて行われる。ロード回路85は、電気ヒューズ回路83にプログラムされた情報の読み出しを行うとともに、タイミング信号ALFL,ALCKを生成することにより、シリアライザ84とコアチップCC0〜CC7との同期を取る役割を果たす。
以上が外部端子とインターフェースチップIFとの接続関係、並びに、インターフェースチップIFの回路構成の概要である。次に、コアチップCC0〜CC7の回路構成について説明する。
図33に示すように、バックエンド機能を有するコアチップCC0〜CC7に含まれるメモリセルアレイ50は、いずれも8バンクに分割されている。尚、バンクとは、個別にコマンドを受け付け可能な単位である。言い換えれば、夫々のバンクは、互いに非排他制御で独立に動作することができる。半導体装置10の外部(半導体装置10を制御する外部のコントローラ)からは、独立に夫々のバンクをアクセスできる。例えば、バンク1のメモリセルアレイ50とバンク2のメモリセルアレイ50は、異なるコマンドにより夫々対応するワード線WL、ビット線BL等を、時間軸的に同一の期間に個別にアクセス制御できる非排他制御の関係である。例えば、バンク1をアクティブ(ワード線とビット線をアクティブ)に維持しつつ、更にバンク2をアクティブに制御することができる。但し、半導体装置10の外部端子(例えば、複数の制御端子、複数のI/O端子)は、共有している。メモリセルアレイ50内においては、複数のワード線WLと複数のビット線BLが交差しており、その交点にはメモリセルMCが配置されている(図33においては、1本のワード線WL、1本のビット線BL及び1個のメモリセルMCのみを示している)。
メモリセルアレイ50には、複数の冗長ワード線RWLに接続された冗長セルRMCからなるロウ冗長アレイ50aと、複数の冗長ビット線RBLに接続された冗長セルRMCからなるカラム冗長アレイ50bを有している。ロウ冗長アレイ50aは、アクセスが要求されたメモリセルが不良ワード線に属している場合に代替アクセスされ、カラム冗長アレイ50bは、アクセスが要求されたメモリセルが不良ビット線に属している場合に代替アクセスされる。このような代替アクセスは、上述した電気ヒューズ回路83又は後述する光学ヒューズ回路55,57に記憶されたアドレスに対してアクセスが要求された場合に行われる。
ワード線WLの選択はロウデコーダ51によって行われる。また、ビット線BLはセンス回路53内の対応するセンスアンプSAに接続されている。センスアンプSAの選択はカラムデコーダ52によって行われる。
ロウデコーダ51は、ロウ制御回路61より供給されるロウアドレスによって制御される。ロウ制御回路61には、貫通電極TSV1を介してインターフェースチップIFより供給されるロウアドレスを受けるアドレスバッファ61aが含まれており、アドレスバッファ61aによってバッファリングされたロウアドレスがロウデコーダ51に供給される。貫通電極TSV1を介して供給されるアドレス信号は、TSVレシーバ35及びコントロールロジック63を介して、ロウ制御回路61などに供給される。また、ロウ制御回路61にはリフレッシュカウンタ61bも含まれており、コントロールロジック回路63から内部リフレッシュコマンドが発行された場合には、リフレッシュカウンタ61bが示すロウアドレスがロウデコーダ51に供給される。
ロウデコーダ51には、図示しないアドレス比較回路が含まれており、ロウ制御回路61より供給されるロウアドレスと不良アドレスラッチ回路56に保持されたアドレスとの比較を行う。不良アドレスラッチ回路56は、光学ヒューズ回路55から読み出された不良ロウアドレスをラッチする回路である。不良アドレスラッチ回路56には、光学ヒューズ回路55から読み出された不良ロウアドレスをラッチする回路のみならず、電気ヒューズ回路83から読み出された不良ロウアドレスをラッチする回路も含まれている。そして、ロウデコーダ51による比較の結果、両アドレスが一致した場合には、ロウアドレスが示すワード線の代わりに、ロウ冗長アレイ50aに含まれる冗長ワード線に対してアクセスを行う。これに対し、両アドレスが不一致である場合には、ロウアドレスが示すワード線をそのままアクセスする。
光学ヒューズ回路55には複数のヒューズセットが含まれており、各ヒューズセットがロウ冗長アレイ50a内の複数の冗長ワード線にそれぞれ対応している。つまり、あるヒューズセットにあるロウアドレスがプログラムされている場合、当該ロウアドレスに対するアクセスが要求されると、当該ヒューズセットに対応づけられた冗長ワード線に対してアクセスが行われる。さらに、光学ヒューズ回路55に含まれる一部のヒューズセットについては、電気ヒューズ回路83に含まれるヒューズセットと一対一に対応している。したがって、光学ヒューズ回路55に含まれる一部のヒューズセットによって置換先として指定される冗長ワード線は、電気ヒューズ回路83に含まれるヒューズセットによっても置換先として指定され得る。ただし、光学ヒューズ回路55と電気ヒューズ回路83が競合することはなく、一つの冗長ワード線は、光学ヒューズ回路55に含まれるヒューズセット及び電気ヒューズ回路83に含まれるヒューズセットのいずれか一方によって置換先として使用される。
カラムデコーダ52は、カラム制御回路62より供給されるカラムアドレスによって制御される。カラム制御回路62には、TSVを介してインターフェースチップIFより供給されるカラムアドレスを受けるアドレスバッファ62aが含まれており、アドレスバッファ62aによってバッファリングされたカラムアドレスがカラムデコーダ52に供給される。また、カラム制御回路62にはバースト長をカウントするバーストカウンタ62bも含まれている。
カラムデコーダ52には、図示しないアドレス比較回路が含まれており、カラム制御回路62より供給されるカラムアドレスと不良アドレスラッチ回路58に保持されたアドレスとの比較を行う。不良アドレスラッチ回路58は、光学ヒューズ回路57から読み出された不良カラムアドレスをラッチする回路である。不良アドレスラッチ回路58には、光学ヒューズ回路55から読み出された不良カラムアドレスをラッチする回路のみならず、電気ヒューズ回路83から読み出された不良カラムアドレスをラッチする回路も含まれている。そして、カラムデコーダ52による比較の結果、両アドレスが一致した場合には、カラムアドレスが示すビット線の代わりに、カラム冗長アレイ50bに含まれる冗長ビット線に対してアクセスを行う。これに対し、両アドレスが不一致である場合には、カラムアドレスが示すビット線をそのままアクセスする。ビット線へのアクセスは、センス回路53内の対応するセンスアンプSAを選択することにより行う。
光学ヒューズ回路57には複数のヒューズセットが含まれており、各ヒューズセットがカラム冗長アレイ50b内の複数の冗長ビット線にそれぞれ対応している。つまり、あるヒューズセットにあるカラムアドレスがプログラムされている場合、当該カラムアドレスに対するアクセスが要求されると、当該ヒューズセットに対応づけられた冗長ビット線に対してアクセスが行われる。さらに、光学ヒューズ回路57に含まれる一部のヒューズセットについては、電気ヒューズ回路83に含まれるヒューズセットと一対一に対応している。したがって、光学ヒューズ回路55に含まれる一部のヒューズセットによって置換先として指定される冗長ビット線は、電気ヒューズ回路83に含まれるヒューズセットによっても置換先として指定され得る。ただし、光学ヒューズ回路57と電気ヒューズ回路83が競合することはなく、一つの冗長ビット線は、光学ヒューズ回路57に含まれるヒューズセット及び電気ヒューズ回路83に含まれるヒューズセットのいずれか一方によって置換先として使用される。
カラムデコーダ52によって選択されたセンスアンプSAは、さらに、図示しないいくつかのアンプ(サブアンプやデータアンプなど)を介して、データコントロール回路54に接続される。これにより、リード動作時においては、一つのI/O(DQ)あたり8ビット(=プリフェッチ数)のリードデータがデータコントロール回路54から出力され、ライト動作時においては、8ビットのライトデータがデータコントロール回路54に入力される。データコントロール回路54とインターフェースチップIFとの間はTSVバッファ27及びTSVを介してパラレルに接続される。また、データコントロール回路54には、テスト動作時におけるパス/フェイル判定を行い、そのパス/フェイル判定の結果を判定信号P/Fとして出力するテスト回路54aが含まれる。
コントロールロジック回路63は、貫通電極TSV1を介してインターフェースチップIFから供給される内部コマンドICMDを受け、これに基づいてロウ制御回路61及びカラム制御回路62の動作を制御する回路である。コントロールロジック回路63には、層アドレス比較回路(チップ情報比較回路)47が接続されている。層アドレス比較回路47は、当該コアチップがアクセス対象であるか否かを検出する回路であり、その検出は、貫通電極TSV1を介してインターフェースチップIFより供給されるアドレス信号の一部である層アドレスEXAと、層アドレス発生回路46に設定された層アドレスLID(チップ識別情報)とを比較することにより行われる。インターフェースチップIFから供給される層アドレスEXAは、入力レシーバ49を介してコアチップCC0〜CC7に入力される。
層アドレス発生回路46には、初期化時において各コアチップCC0〜CC7に固有の層アドレスが設定される。層アドレスの設定方法は次の通りである。まず、半導体装置10が初期化されると、各コアチップCC0〜CC7の層アドレス発生回路46に初期値として最小値(0,0,0)が設定される。コアチップCC0〜CC7の層アドレス発生回路46は、図28(b)に示すタイプの貫通電極TSV2を用いてカスケード接続されているとともに、内部にインクリメント回路を有している。そして、最上層のコアチップCC0の層アドレス発生回路46に設定された層アドレス(0,0,0)がTSVを介して2番目のコアチップCC1の層アドレス発生回路46に送られ、インクリメントされることにより異なる層アドレス(0,0,1)が生成される。以下同様にして、生成された層アドレスを下層のコアチップに転送し、転送されたコアチップ内の層アドレス発生回路46は、これをインクリメントする。最下層のコアチップCC7の層アドレス発生回路46には、層アドレスとして最大値(1,1,1)が設定されることになる。これにより、各コアチップCC0〜CC7には固有の層アドレスが設定される。
層アドレス発生回路46には、不活性化回路36から不良チップ信号DEF2が供給される。不活性化回路36は、貫通電極TSV3を介してインターフェースチップIFの不良チップ情報保持回路33から不良チップ信号DEF1が供給されると活性化する回路である。不良チップ信号DEF1は、図28(c)に示すタイプの貫通電極TSV3を用いて各コアチップCC0〜CC7に供給されるため、各コアチップCC0〜CC7に個別の不良チップ信号DEFを供給することができる。不良チップ信号DEF1は、当該コアチップが不良チップである場合に活性化される信号であり、これが活性化している場合、層アドレス発生回路46はインクリメントした層アドレスではなく、インクリメントされていない層アドレスを下層のコアチップに転送する。また、不良チップ信号DEF2はコントロールロジック回路63にも供給されており、不良チップ信号DEF2が活性化している場合にはコントロールロジック回路63の動作が完全に停止する。これにより、不良のあるコアチップは、インターフェースチップIFからアドレス信号やコマンド信号が入力されても、リード動作やライト動作を行うことはない。
また、コントロールロジック回路63の出力は、モードレジスタ64にも供給されている。これにより、コントロールロジック回路63の出力がモードレジスタセットを示している場合、アドレス信号によってモードレジスタ64の設定値が上書きされる。これにより、コアチップCC0〜CC7の動作モードが設定される。
さらに、コアチップCC0〜CC7には、内部電圧発生回路72が設けられている。内部電圧発生回路72には電源電位VDD,VSSが供給されており、内部電圧発生回路72はこれを受けて各種内部電圧を生成する。内部電圧発生回路72により生成される内部電圧としては、各種周辺回路の動作電源として用いる内部電圧VPERI(≒VDD)、メモリセルアレイ50のアレイ電圧として用いる内部電圧VARY(<VDD)、ワード線WLの活性化電位である内部電圧VPP(>VDD)などが含まれる。また、コアチップCC0〜CC7には、パワーオン検出回路71も設けられており、電源の投入を検出すると各種内部回路のリセットを行う。
以上がコアチップCC0〜CC7の基本的な回路構成である。コアチップCC0〜CC7には外部とのインターフェースを行うフロントエンド部が設けられておらず、このため、原則として単体で動作させることはできない。しかしながら、単体での動作が一切不可能であると、ウェハ状態でのコアチップの動作試験を行うことができなくなってしまう。これは、インターフェースチップと複数のコアチップの組み立て工程を経た後でなければ、半導体装置10を試験することができないことを示し、半導体装置10を試験することによって、各コアチップをそれぞれ試験することを意味する。コアチップに回復できない欠陥がある場合、半導体装置10全体の損失を招くことになる。この点を考慮して、本実施形態では、コアチップCC0〜CC7にはいくつかのテストパッドTPとテスト用のコマンドデコーダ65のテスト用フロントエンド部で構成される試験用に擬似的なフロントエンド部の一部が設けられており、テストパッドTPからアドレス信号、テストデータやコマンド信号の入力が可能とされている。試験用のフロントエンド部は、あくまでウェハ試験において簡素な試験を実現する機能の回路であり、インターフェースチップ内のフロントエンド機能をすべて備えるわけではない、ことに注意が必要である。例えば、コアチップの動作周波数は、フロントエンドの動作周波数よりも低いことから、低周波で試験するテスト用のフロントエンド部の回路で簡素に実現することができる。
テストパッドTPの種類は、インターポーザIPに設けられた外部端子とほぼ同様である。具体的には、クロック信号が入力されるテストパッドTP1、アドレス信号が入力されるテストパッドTP2、コマンド信号が入力されるテストパッドTP3、テストデータの入出力を行うためのテストパッドTP4、データストローブ信号の入出力を行うためのテストパッドTP5、電源電位を供給するためのテストパッドTP6などが含まれている。
テスト時においては、デコードされていない通常の外部コマンドが入力されるため、コアチップCC0〜CC7にはテスト用のコマンドデコーダ65も設けられている。また、テスト時においては、シリアルなテストデータが入出力されることから、コアチップCC0〜CC7にはテスト用の入出力回路29及びテスト用のFIFO回路28も設けられている。テスト時においては、コアチップCC0〜CC7に含まれるDFT回路66が用いられる。
以上が本実施形態による半導体装置10の全体構成である。このように、本実施形態による半導体装置10は、例えば1Gbのコアチップが8枚積層された構成を有していることから、この場合、合計で8Gbのメモリ容量となる。また、チップ選択信号/CSが入力される端子(チップ選択端子)は1つであることから、コントローラからはメモリ容量が8Gbである単一のDRAMとして認識される。但し、本発明においてコアチップの記憶容量については特に限定されない。
次に、コアチップCC0〜CC7に含まれる不良セルの置換方法について説明する。
不良セルの置換は、半導体装置10の製造段階において3回行われる。1回目はウェハプロセスにおいて行われ、2回目及び3回目はアセンブリプロセスにおいて行われる。ウェハプロセスにおける置換は、ウェハプロセスで発生した欠陥をリペアするために、光学ヒューズ55,57を用いて行われ、アセンブリプロセスにおける置換は、アセンブリプロセスで発生した欠陥をリペアするために、電気ヒューズ回路83を用いて行われる。つまり、ウェハプロセスにおける置換では、当該コアチップCC0〜CC7自体に不良アドレスが記憶されるのに対し、アセンブリプロセスにおける置換では、インターフェースチップIFに不良アドレスが記憶される。
図34は、コアチップCC0〜CC7に含まれる不良セルの置換方法を説明するためのフローチャートである。
まず、ウェハ状態のコアチップCC0〜CC7に対して動作テストを行い、不良アドレスを検出する(ステップS50)。検出された不良アドレスは半導体装置10外のテスタ内で解析され、置換データが特定される。置換データとは、置換元のワード線又はビット線と、置換先のワード線又はビット線を特定する情報である。置換元のワード線又はビット線はロウアドレス又はカラムアドレスによって特定され、置換先のワード線又はビット線は光学ヒューズ回路55,57内の使用するヒューズセットのアドレスによって特定される。
次に、置換データに基づき、光学ヒューズ回路55,57に対するプログラムを行う(ステップS51)。具体的には、レーザトリマーを用いてレーザービームを照射することにより、光学ヒューズ回路55,57に含まれる所定のヒューズセットに置換元のワード線を示すロウアドレス又は置換元のビット線を示すカラムアドレスをプログラムする。ステップS50,S51は1次救済に相当する。このようにしてウェハプロセスにおける置換作業が完了すると、ウェハが個片化される(ステップS52)。一方、インターフェースチップIFについては、コアチップCC0〜CC7とは別工程で作製する(ステップS53)
次に、個片化されたコアチップCC0〜CC7とインターフェースチップIFを互いに積層し、図27に示すようにパッケージングする(ステップS54)。パッケージングした後、2回目の動作テストを行い、不良アドレスを検出する(ステップS55)。積層するコアチップCC0〜CC7は、ウェハ状態で行った1回目の動作テスト及びこれに基づいた不良セルの置換によってすべてのアドレスが正常にアクセス可能であることが保証されているが、パッケージング時に生じる負荷やバーインテストによる負荷によって、新たな不良アドレスが生じている可能性がある。2回目の動作テストは、このような1回目の動作テストの終了後に生じた新たな不良アドレスを検出し、これを救済するために行う。2回目の動作テストは、解析回路82a、解析用メモリ82b及びヒューズ選択回路82cを用いて行う。
次に、検出された不良アドレスに基づき、電気ヒューズ回路83に対するプログラムを行う(ステップS56)。具体的には、電気ヒューズ回路83に含まれる電気ヒューズコントローラ(後述)を用いて高電圧を印可することにより、電気ヒューズ回路83に含まれるヒューズセットに置換元のワード線を示すロウアドレス又は置換元のビット線を示すカラムアドレスをプログラムする。ステップS55,S56は2次救済に相当する。
2次救済が完了した後、3回目の動作テストを行い、不良アドレスを検出する(ステップS57)。2次救済が完了した半導体装置10は、拡散工程にて生じた不良アドレス及びアセンブリ工程にて生じた不良アドレスが救済されているが、1次救済及び2次救済における動作テストは設計上の最高速度でアクセスした結果ではないため、高速アクセスを行った場合にのみ発現する不良アドレスが存在する可能性がある。3回目の動作テストは、このような未発見の不良アドレスを検出し、これを救済するために行う。3回目の動作テストは、外部テスタ200を用いて行う。
次に、検出された不良アドレスに基づき、電気ヒューズ回路83に対するプログラムを行う(ステップS58)。かかる工程は、2次救済と同様であり、電気ヒューズコントローラを用いて高電圧を印可することにより、電気ヒューズ回路83に含まれるヒューズセットに置換元のワード線を示すロウアドレス又は置換元のビット線を示すカラムアドレスをプログラムする。ステップS57,S58は2次救済に相当する。これにより、一連の置換動作が完了し、半導体装置10が良品として出荷される。
図35は、図34に示したステップS55,S56(2次救済)の動作をより詳細に説明するためのフローチャートである。
まず、コアチップCC0〜CC7のいずれかを選択し(ステップS60)、動作テストを行う(ステップS61)。動作テストにおけるパス/フェイル判定は、当該コアチップCC0〜CC7内のデータコントロール回路54(テスト回路54a)によって行われる。その結果得られる判定信号P/Fは、貫通電極TSV1を介してインターフェースチップIF内の解析回路82aに転送され、解析回路82aによって解析される(ステップS62)。解析回路82aは、発見された全ての不良セルをより少ない数の冗長ワード線又は冗長ビット線によって置換できるよう、不良アドレスの解析を行うことによって、置換データを生成する。具体的な解析方法については、第1の実施形態において詳細に説明したとおりである。置換データに含まれる置換先のワード線又はビット線に関する情報は、電気ヒューズ回路83内の使用するヒューズセットのアドレスによって特定される。
解析の結果、全てのヒューズセットを使用しても置換を行うことができない場合(ステップS63:NO)、当該半導体装置10は不良品として取り扱われる(ステップS67)。さらに、電気ヒューズ回路83内のヒューズセットを使用して置換を行うことができる場合であっても、電気ヒューズ回路83内の使用すべきヒューズセットが、すでに光学ヒューズ回路55,57内のすでに使用されているヒューズセットに割り当てられている場合にも(ステップS64:NO)、当該半導体装置10は不良品として取り扱われる(ステップS67)。これらのいずれでもない場合は、電気ヒューズ回路83内の所定のヒューズセットに対して、置換元のワード線を示すロウアドレス又は置換元のビット線を示すカラムアドレスをプログラムする(ステップS65)。これにより、当該コアチップにおいて新たに生じた不良アドレスが救済される。
本実施形態においても、解析用メモリ82bがオーバーフローした場合には図20を用いて説明したオーバーフロー処理が行われ、これによってメインワード線の不良に起因する解析用メモリ82bのオーバーフローが解消される。
そして、このような動作を全てのコアチップCC0〜CC7に対して順次行い、全てのコアチップCC0〜CC7に対して上記の動作が完了すると(ステップS66:YES)、2次救済が完了する。
図36は、図34に示したステップS57,S58(3次救済)の動作をより詳細に説明するためのフローチャートである。
まず、3次救済の対象となる複数の半導体装置10と外部テスタ200を図25に示すように接続し、並列に動作テストを行う(ステップS90)。かかる動作テストは、設計上の最高速度で行う。そして外部テスタ200は、不良のある半導体装置10が存在するか否かを評価する(ステップS91a)。
その結果、不良のある半導体装置10が存在しない場合には(ステップS91a:NO)、処理を終了する。これに対し、不良のある半導体装置10が存在する場合(ステップS91a:YES)、外部テスタ200からテストコマンドを発行することにより、全ての半導体装置10を3次救済用のテストモードにエントリーさせる(ステップS92)。
次に、外部テスタ200は不良のある半導体装置10の一つに対し、データマスク信号DMをハイレベルとし(ステップS93a)、コアチップCC0〜CC7のいずれかを層アドレスによって選択する(ステップS94)とともに、検出された不良アドレスを出力する(ステップS95)。かかる不良アドレスは全ての半導体装置10に入力されるが、これが有効となるのはデータマスク信号DMがハイレベルである半導体装置10に限られるため、データマスク信号DMがローレベルである他の半導体装置10においては無視される。また、データマスク信号DMがハイレベルである半導体装置10においても、全てのコアチップCC0〜CC7に不良アドレスが入力されるが、これが有効となるのは層アドレスにより選択されたコアチップCC0〜CC7のいずれかに限られるため、他のコアチップにおいては無視される。
このような処理を当該半導体装置10の当該コアチップにおいて発見された全ての不良アドレスに対して実行した後(ステップS96:NO)、電気ヒューズへの書き込みコマンドを発行する(ステップS97)。その結果、解析回路82aを介して解析用メモリ82bに格納された不良アドレスが電気ヒューズ回路83に書き込まれる。
以上の処理を不良の発見された全てのコアチップに対して個々に実行し、全てのコアチップに対して上記の処理が完了すると(ステップS98:NO)、当該半導体装置10に対する3次救済が完了する。そして、これらの処理を不良の発見された全ての半導体装置10に対して個々に実行し、全ての半導体装置10に対して上記の処理が完了すると(ステップS99:NO)、一連の3次救済が完了する。
以上により一連の置換動作が完了し、半導体装置10が良品として出荷される。
図37は、電気ヒューズ回路83にプログラムされた置換データのロード動作を説明するためのフローチャートである。
置換データのロード動作は、コマンド端子12fに供給されるリセット信号/RESETがハイレベルに変化したことに応答して行われる(ステップS71)。リセット信号/RESETがハイレベルに変化すると、インターフェースチップIFに含まれるロード回路85が活性化し、電気ヒューズ回路83にプログラムされた置換データが読み出される(ステップS72)。電気ヒューズ回路83から読み出された置換データは、シリアライザ84によってシリアル変換され、TSV1を介して各コアチップCC0〜CC7に転送される(ステップS73)。シリアライザ84によって置換データを転送する際には、層アドレスバッファ48によって層アドレスEXAも同時に転送される。これにより、各コアチップCC0〜CC7に対して共通に供給される置換データは、層アドレスEXAが示すコアチップに対してのみ有効となり、当該コアチップに含まれる不良アドレスラッチ回路56,58にラッチされる。そして、全ての置換データをそれぞれ対応するコアチップCC0〜CC7に転送完了すると、一連の転送動作が完了する(ステップS74)。
図38は、電気ヒューズ回路83の構成をより詳細に示すブロック図である。
図38に示すように、電気ヒューズ回路83はバンクごとに設けられている。本実施形態では8バンク構成であることから、電気ヒューズ回路83は8つの電気ヒューズ回路83−0〜83−7に分かれており、それぞれバンク0〜バンク7に対応している。電気ヒューズ回路83−0〜83−7はそれぞれ同じ回路構成を有しているため、図38においては、代表して電気ヒューズ回路83−0の回路構成のみを図示している。
電気ヒューズ回路83−0には、それぞれコアチップCC0〜CC7に割り当てられた複数のヒューズセット83−00〜83−07が含まれている。ヒューズセット83−00〜83−07のそれぞれには、ロウアドレス用及びカラムアドレス用の複数のヒューズセットが含まれている。各ヒューズセットにはそれぞれ対応するコントロール回路83aが割り当てられており、電気ヒューズコントローラ83bによる制御のもと、ヒューズセットに対する書き込み及び読み出しが行われる。ヒューズセットに書き込むべきデータ及びヒューズセットから読み出されたデータは、転送制御回路83cを介して送受信される。
各ヒューズセットは、複数の電気ヒューズによって構成されている。電気ヒューズとは、電気的に書き込み可能な記憶素子であり、不揮発性かつ不可逆性のワンタイムROMであることが好ましい。ワンタイムROMとしては、高電圧の印可による絶縁破壊(絶縁膜の破壊)の有無によってデータを記憶するアンチヒューズ素子を好ましく用いることができる。
転送制御回路83cを介して読み出されたデータは、シリアライザ84によってシリアル変換された後、TSVを介してコアチップCC0〜CC7に転送される。また、電気ヒューズ回路83に書き込むべきデータは、コントロールロジック32及び解析用メモリ82bから与えられ、電気ヒューズコントローラ83bによる制御のもと、所定のヒューズセットにプログラムされる。したがって、電気ヒューズコントローラ83bは電気ヒューズセットに対するプログラムを行うプログラム回路として機能する。
図39は、不良アドレスラッチ回路56の構成をより詳細に示すブロック図である。
図39に示すように、不良アドレスラッチ回路56は、光学ヒューズ回路55から読み出された置換データをラッチするラッチ回路56aと、電気ヒューズ回路83から読み出された置換データをラッチするラッチ回路56bを備えている。ラッチ回路56bの前段には、データコントロール回路56cとデータラッチ回路56dが設けられており、これら回路56c,56dの制御により、TSVを介してインターフェースチップIFから転送された置換データがラッチ回路56bにラッチされる。
ラッチ回路56aの出力とラッチ回路56bの出力は、選択回路56eに供給される。選択回路56eは、ラッチ回路56aの出力とラッチ回路56bの出力のいずれか一方を選択する回路であり、選択された置換データがロウデコーダ51に供給される。選択回路56eによる選択は、後述するフラッグ情報に基づいて行われる。ロウデコーダ51にはアドレス比較回路51aが設けられており、選択回路56eによって選択された置換データとアクセスが要求されたロウアドレスとの比較が行われる。その結果、両者が一致した場合には、ロウアドレスが示すワード線の代わりに、ロウ冗長アレイ50aに含まれる冗長ワード線に対してアクセスが行われる。これに対し、両アドレスが不一致である場合には、ロウアドレスが示すワード線をそのままアクセスする。
カラム側の不良アドレスラッチ回路58についても、上記の不良アドレスラッチ回路56と同様の回路構成を有しているため、重複する説明は省略する。
上述の通り、インターフェースチップIFから転送される置換データは、各コアチップCC0〜CC7に対して共通に供給されるため、各コアチップCC0〜CC7は、転送された置換データを取り込むべきか否かを判断するために層アドレスEXAが必要となる。このため、図40に示すように、置換データを各コアチップCC0〜CC7に転送する際には、層アドレスEXAも同時に転送される。これにより、各コアチップCC0〜CC7に対して共通に供給される置換データは、層アドレスEXAが示すコアチップに対してのみ有効となる。つまり、層アドレスEXAが各コアチップCC0〜CC7に固有の層アドレスLIDと一致した場合のみ、データコントロール回路56c及びデータラッチ回路56dは有効となり、転送された置換データをラッチ回路56bに対して書き込む処理を行う。一連の転送動作は、インターフェースチップIF内で生成された内部クロック信号ICLKに同期して行われる。
図41は、電気ヒューズ回路83及び不良アドレスラッチ回路56の構成をより詳細に示すブロック図である。
すでに説明したように、バンクごとに電気ヒューズ回路83−0〜83−7に分かれており、各電気ヒューズ回路83−0〜83−7はそれぞれコアチップCC0〜CC7に割り当てられた複数の電気ヒューズセット83−00〜83−07が含まれている。図41に示すように、電気ヒューズセット83−00には、X+1個のヒューズセットが含まれており、これにより、X+1個のロウアドレス(又はカラムアドレス)を記憶することができる。
一方、図41に示すように、不良アドレスラッチ回路56にはN+1個のラッチ回路56aと、X+1個のラッチ回路56bが設けられている。N+1個のラッチ回路56aは、それぞれ0番目〜N番目の光学ヒューズセットに対応している。このうち、0番目〜N−1−X番目の光学ヒューズセットに対応するラッチ回路56aは、ペアとなるラッチ回路56bを有しておらず、したがって、これに対応する選択回路56eは存在しない。
これに対し、0番目〜N−X番目の光学ヒューズセットに対応するラッチ回路56aには、ペアとなるラッチ回路56bが存在する。具体的には、0番目〜N−X番目の光学ヒューズセットには、それぞれX番目〜0番目の電気ヒューズセットに対応するラッチ回路56bが割り当てられている。したがって、これらラッチ回路56a,56bに対しては選択回路56eが割り当てられ、いずれか一方の出力が選択される。インターフェースチップIFから転送された置換データは、ヒューズ選択回路56sの制御により、指定されたラッチ回路56bにラッチされる。
これらラッチ回路56a,56bの出力はアドレス比較回路51aに供給され、アクセスが要求されたアドレスと一致すると、対応する冗長ワード線RWLに対してアクセスが行われる。
図42は、光学ヒューズ回路55の選択順序と、電気ヒューズ回路83の選択順序との関係を説明するための図である。
すでに説明したように、光学ヒューズ回路55へのプログラムは図34に示したステップS51にて行われ、電気ヒューズ回路83へのプログラムは図34に示したステップS56,S58にて行われる。つまり、光学ヒューズ回路55へのプログラムが先に行われ、ステップS11にて使用されなかった残余のヒューズセットを電気ヒューズ回路83にて代替使用する構成である。したがって、光学ヒューズ回路55により選択される冗長ワード線と電気ヒューズ回路83により選択される冗長ワード線が競合することは許されない。このような競合を防止し、且つ、残余のヒューズセットを電気ヒューズ回路83にてより効率よく代替使用すべく、本実施形態では、図42に示すように、光学ヒューズ回路55へのプログラムについては0番目の光学ヒューズセットから順次使用し(矢印LF)、電気ヒューズ回路83へのプログラムについてはN番目の光学ヒューズセットとペアを成す0番目の電気ヒューズセットから順次使用する(矢印AF)。これにより、残余のヒューズセットを電気ヒューズ回路83にて効率よく代替使用することが可能となる。
図43は、アドレス比較回路51a及び選択回路56eの一例を示す回路図である。図43に示す回路例は、ロウ側への適用が好適である。
図43に示す例では、ロウアドレスの各ビットA0〜A13に対応する14個のラッチ回路56aと、14個のラッチ回路56bが設けられており、これらの出力がそれぞれEXNOR回路によってロウアドレスの対応する各ビットと比較される。ラッチ回路56aに対応するEXNOR回路の出力はANDゲート回路によってまとめられ、光学ヒューズヒット信号LFHITとして出力される。同様に、ラッチ回路56bに対応するEXNOR回路の出力もANDゲート回路によってまとめられ、電気ヒューズヒット信号AFHITとして出力される。
これら光学ヒューズヒット信号LFHIT及び電気ヒューズヒット信号AFHITは、選択回路56eに供給され、選択信号SELによってそのいずれか一方が選択される。選択された信号は、冗長判定信号HITとして出力される。選択信号SELは、ANDゲート回路56fによって生成される。ANDゲート回路56fには、光学ヒューズイネーブル信号LFENがラッチされるラッチ回路56aeの出力と、電気ヒューズイネーブル信号AFENがラッチされるラッチ回路56beの出力が供給されている。電気ヒューズイネーブル信号AFENは、対応する電気ヒューズセットが有効であるか否か、つまり、使用しているか否かを示す。また、光学ヒューズイネーブル信号LFENは、対応する光学ヒューズセットが有効であるか否か、つまり、使用しているか否かを示す。
光学ヒューズイネーブル信号LFENは、当該光学ヒューズセットを使用する場合にハイレベルとなる信号であり、電気ヒューズイネーブル信号AFENは、当該電気ヒューズセットを使用する場合にハイレベルとなる信号である。したがって、光学ヒューズセットが使用状態である場合には選択信号SELは必ずローレベルとなり、これにより選択回路56eは光学ヒューズヒット信号LFHITを選択する。これに対し、光学ヒューズセットが不使用状態であり且つ電気ヒューズセットが使用状態である場合には選択信号SELがハイレベルとなり、これにより選択回路56eは電気ヒューズヒット信号AFHITを選択する。
図44は、アドレス比較回路51a及び選択回路56eの他の例を示す回路図である。図44に示す回路例は、カラム側への適用が好適である。
図44に示す例においては、カラムアドレスの各ビットY3〜Y9に対応する7個のラッチ回路56aと、7個のラッチ回路56bが設けられているが、ビットごとに選択回路56eに入力される点において図43に示した回路例と相違している。7個の選択回路56eの出力は、それぞれEXNOR回路によって対応する各ビットと比較される。これらEXNOR回路の出力はANDゲート回路56gによってまとめられ、冗長判定信号HITとして出力される。
7個の選択回路56eには、選択信号SELが共通に供給される。選択信号SELは、ANDゲート回路56fによって生成される信号であり、図43を用いて説明したとおり、光学ヒューズセットが使用状態である場合には選択信号SELは必ずローレベルとなり、これにより選択回路56eは光学ヒューズ側を選択する。これに対し、光学ヒューズセットが不使用状態であり且つ電気ヒューズセットが使用状態である場合には選択信号SELがハイレベルとなり、これにより選択回路56eは電気ヒューズ側を選択する。
さらに、光学ヒューズイネーブル信号LFENがラッチされるラッチ回路56aeの出力と、電気ヒューズイネーブル信号AFENがラッチされるラッチ回路56beの出力は、ORゲート回路56hに供給されている。ORゲート回路56hの出力はANDゲート回路56gに入力されている。これにより、光学ヒューズセット及び電気ヒューズセットがいずれも不使用状態である場合、冗長判定信号HITは必ず非活性状態に固定される。
以上、本発明の好ましい実施形態について説明したが、本発明は、上記の実施形態に限定されることなく、本発明の主旨を逸脱しない範囲で種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることはいうまでもない。
本願の技術思想は、揮発性及び不揮発性の記憶セルに関するコアチップとそのコアチップを制御するインターフェースチップを有する半導体装置に適用できる。更に、図面で開示した各回路ブロック内の回路形式、その他の制御信号を生成する回路は、実施例が開示する回路形式限られない。
本発明の半導体装置の技術思想は、様々な半導体装置に適用することができる。例えば、CPU(Central Processing Unit)、MCU(Micro Control Unit)、DSP(Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、ASSP(Application Specific Standard Product)、メモリ(Memory)等の機能を有する半導体装置全般に、本発明を適用することができる。
また、トランジスタとして電界効果トランジスタ(Field Effect Transistor; FET)を用いる場合は、MOS(Metal Oxide Semiconductor)以外にもMIS(Metal-Insulator Semiconductor)、TFT(Thin Film Transistor)等の様々なFETに適用できる。更に、装置内に一部のバイポーラ型トランジスタを有しても良い。
更に、NMOSトランジスタ(N型チャネルMOSトランジスタ)は、第1導電型のトランジスタ、PMOSトランジスタ(P型チャネルMOSトランジスタ)は、第2導電型のトランジスタの代表例である。
また、本発明の請求の範囲の枠内において種々の開示要素の多様な組み合わせないし選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。