(57)【要約】【課題】接続されるメモリに救済回路が搭載されている否かに拘わらず、接続されるメモリの救済を容易に可能にする半導体装置を提供する。【解決手段】半導体装置１は、接続されるDRAM２のビット不良を検出し、検出したビット不良のアドレスを得るBIST回路４２と、BIST回路４２により検出されたDRAM２のビット不良のアドレスを保持する不揮発性のeFuseマクロ１３と、ビット不良のアドレスのビット情報を記憶するリペアレジスタ５１とを有する。また、半導体装置１は、パワーオンリセット時にeFuseマクロ１３に保持されたアドレスに基づいて、ビット不良のアドレスへのデータの書き込みまたは読み出し時にリペアレジスタ５１を使用するように制御するアドレスコントローラ４４とを有する。【選択図】図３
2010182366.tif 000002
【特許請求の範囲】
【請求項１】
パワーオンリセット後に動作するプロセッサコアを有した半導体装置であって、
前記半導体装置に接続されるメモリのビット不良を検出し、検出した前記ビット不良のアドレスを得るビット不良検出回路と、
前記ビット不良検出回路により検出された前記メモリの前記ビット不良のアドレスを保持する不揮発性の不良情報保持回路と、
前記ビット不良のアドレスのビット情報を記憶する不良対応用記憶回路と、
前記パワーオンリセット時に前記不良情報保持回路に保持されたアドレスに基づいて、前記ビット不良のアドレスへのリードおよびライト時に前記不良対応用記憶回路を使用するように制御する制御部と、
を有することを特徴とする半導体装置。
【請求項２】
前記ビット不良検出回路は、前記半導体装置に接続されるメモリに対応したテストパターンを発生させることを特徴とする請求項１に記載の半導体装置。
【請求項３】
前記ビット不良検出回路により検出された前記メモリの前記ビット不良のアドレスを前記不揮発性の不良情報保持回路に書き込む処理を行う処理回路を有することを特徴とする請求項１または２に記載の半導体装置。
【請求項４】
前記ビット不良検出回路により検出された前記メモリの前記ビット不良のアドレスを一時的に保持する揮発性の不良情報保持回路を有することを特徴とする請求項１から３のいずれか１つに記載の半導体装置。
【請求項５】
前記不良対応用記憶回路の電源は、前記半導体装置に接続されるメモリの電源と同一の電源とすることを特徴とする請求項１から４のいずれか１つに記載の半導体装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体装置に関し、特に、メモリのビット不良を救済するための救済回路を内部に設けた半導体装置に関する。
【背景技術】
【０００２】
従来、メモリの不良を救済するための回路がある。例えば、内蔵メモリの不良救済のために、内蔵メモリ内にフューズ回路、ロウ冗長部及びIO冗長部を有する半導体記憶装置が提案されている（例えば、特許文献１参照）。
【０００３】
近年、例えば、半導体チップに大容量のメモリを積層し、１つのパッケージに封止するSiP（System in Package）という技術が利用されている。これにより、従来、２つのパッケージに分かれていたチップが１つのパッケージに封止することができるので、実装面積を小さくでき、例えば、携帯電話の小型化ができるようになった。
【０００４】
しかしながら、半導体チップにメモリを積層する場合、マイクロバンプあるいはボンディングという手法を用い、半導体チップとメモリとを適切に接続する必要があるが、この接続の際の、熱応力により小さな割合でメモリ不良が発生するので、再度テストする必要があった。
【０００５】
半導体チップにメモリが積層される場合であって、積層されて接続されるメモリに、メモリ不良を救済する回路が搭載されていない場合、メモリ不良を救済するためのテストが実行できないため、発生したメモリ不良の救済はできない。
【０００６】
一方、半導体チップにメモリが積層される場合であって、積層されて接続されるメモリに、メモリの不良を救済する回路が搭載されている場合、そのメモリに対してメモリ不良を救済するためのテストを実行し、メモリ不良の救済情報が得られる。その後、この救済情報に基づいて、例えば、eFuse回路のブロー処理が実行される。さらにその後、メモリに搭載されている救済回路によってはeFuse回路のブロー処理が正しく実行されたかを検査するテストが必要であった。
【０００７】
このように、積層されて接続されるメモリに、メモリの不良を救済する回路が搭載されている場合であっても、この一連の処理に要する時間が大きく、テストコストが増大する場合があるという問題があった。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００６−３０２４６４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
本発明は、接続されるメモリに救済回路が搭載されている否かに拘わらず、接続されるメモリの救済を容易に可能にする半導体装置を提供することを目的とする。
【課題を解決するための手段】
【００１０】
本発明の一態様によれば、パワーオンリセット後に動作するプロセッサコアを有した半導体装置であって、前記半導体装置に接続されるメモリのビット不良を検出し、検出した前記ビット不良のアドレスを得るビット不良検出回路と、前記ビット不良検出回路により検出された前記メモリの前記ビット不良のアドレスを保持する不揮発性の不良情報保持回路と、前記ビット不良のアドレスのビット情報を記憶する不良対応用記憶回路と、前記パワーオンリセット時に前記不良情報保持回路に保持されたアドレスに基づいて、前記ビット不良のアドレスへのリードおよびライト時に前記不良対応用記憶回路を使用するように制御する制御部とを有することを特徴とする半導体装置を提供することができる。
【発明の効果】
【００１１】
本発明の半導体装置によれば、接続されるメモリに救済回路が搭載されている否かに拘わらず、接続されるメモリの救済を容易に可能にすることができる。
【図面の簡単な説明】
【００１２】
【図１】本発明の実施の形態に係る半導体装置を含む半導体パッケージの構成を示す構成図である。
【図２】半導体装置１とDRAM２との接続を平面的にみたブロック図である。
【図３】図２の半導体装置１の詳細なブロック図である。
【図４】DRAM２を救済する処理の流れの例を説明するためのフローチャートである。
【発明を実施するための形態】
【００１３】
以下、図面を参照して本発明の実施の形態について詳細に説明する。  
まず、図１に基づき、本発明の実施の形態に係る半導体装置を含む半導体パッケージの構成について説明する。図１は、本発明の実施の形態に係る半導体装置を含む半導体パッケージの構成を示す構成図である。
【００１４】
図１に示すように、本実施の形態の半導体装置１は、複数の機能ブロックが搭載され、所定の機能を有する１チップの半導体装置である。この半導体装置１には、例えば、マイクロバンプ方式あるいはボンディング方式により、１チップのメモリであるDRAM２が積層されている。また、DRAM２には、マイクロバンプ方式あるいはボンディング方式等により、所定の機能を有する１チップの半導体チップ３がさらに積層されていてもよい。
【００１５】
これらの半導体装置１、DRAM２及び半導体チップ３は、例えば、SiP（System in Package）として１つの半導体パッケージ１００に封止されている。
【００１６】
半導体装置１は、後述するようにDRAM２の自己診断テスト（以下、BISTという）を実行するためのテスト回路を有している。また、半導体装置１は、後述するようにDRAM２のビット不良を救済するための救済回路を有している。そのため、DRAM２がビット不良を救済する救済回路を有している場合でも、その救済回路は使用されない。また、半導体装置１が救済回路を有しているため、救済回路の搭載されていないDRAM２が半導体装置１に積層された場合でも、半導体装置１は、DRAM２のビット不良を救済可能となる。
【００１７】
図２は、半導体装置１とDRAM２との接続を平面的にみたブロック図である。
【００１８】
図２に示すように、半導体装置１は、テストコントロールユニット（以下、TCUという）１１と、eFuseレジスタ１２と、eFuseマクロ１３と、DRAM I/F１４と、DRAM I/O１５と、プロセッサコア１６と、バス１７と、複数、ここでは、２つの機能ブロック１８ａ及び１８ｂと有して構成されている。
【００１９】
DRAM２は、メモリセル２１と、SRAM２２と、eFuse２３とを有して構成されている。メモリセル２１は、DRAM２の記憶領域である。SRAM２２及びeFuse２３は、メモリセル２１に不良がある場合にその不良を救済するための回路である。しかし、後述するように、半導体装置１においてDRAM２の不良の救済が実行されるため、SRAM２２及びeFuse２３は使用されない。なお、DRAM２は、SRAM２２及びeFuse２３を有した構成としているが、後述するように、半導体装置１においてDRAM２の不良の救済が行われるため、SRAM２２及びeFuse２３を有していなくてもよい。
【００２０】
プロセッサコア１６は、通常モード時にDRAM２へのデータの書き込み及び読み出しの制御をする。プロセッサコア１６は、DRAM２にデータを書き込む場合、バス１７を介して、書き込むデータ及びアドレスを、DRAM I/F１４に出力する。DRAM I/F１４は、このデータ及びアドレスをDRAM I/O１５を介してDRAM２に供給する。これにより、DRAM２の所定のアドレスにデータが書き込まれる。
【００２１】
また、プロセッサコア１６は、DRAM２からデータを読み出す場合、バス１７を介して、読み出すアドレスをDRAM I/F１４に出力する。DRAM I/F１４は、このアドレスをDRAM I/O１５を介してDRAM２に供給する。DRAM２は、供給されたアドレスに格納されているデータをDRAM I/O１５を介してDRAM I/F１４に供給する。DRAM I/F１４は、バス１７を介して、このデータをプロセッサコア１６に出力する。これにより、DRAM２の所定のアドレスからデータが読み出される。
【００２２】
DRAM２のテスト実行時、TCU１１には、外部のテスタ（以下、ATEという）からテスト実行を指示する制御信号が供給される。TCU１１は、この制御信号をDRAM I/F１４に供給する。DRAM I/F１４は、後述するDRAM２の自己診断テストを実行するためのテスト回路を有しており、テスト回路の実行結果として、DRAM２のビット不良のアドレス情報を保持する。DRAM I/F１４は、このビット不良のアドレス情報をTCU１１に出力する。TCU１１は、eFuseマクロ１３をブローし、このビット不良のアドレス情報を書き込む。このように、TCU１１は、eFuseマクロ１３にビット不良のアドレス情報を書き込む処理を行う処理回路を構成する。
【００２３】
eFuseマクロ１３は、電源がオフされた場合にも、このビット不良のアドレス情報を保持できる不揮発性の記憶部である。このeFuseマクロ１３は、ビット不良のアドレス情報を保持する不揮発性の不良情報保持回路を構成する。電源が再投入されると、eFuseマクロ１３に保持された救済情報であるビット不良のアドレス情報は、eFuseレジスタ１２に書き込まれる。eFuseレジスタ１２に格納されたアドレス情報は、DRAM I/F１４に供給され、そのアドレスにデータを書き込む場合、後述するDRAM I/O１５内のリペアレジスタにそのデータが書き込まれる。また、救済すべきアドレスであるビット不良のアドレスからデータを読み出す場合、このリペアレジスタからデータが読み出される。
【００２４】
図３は、図２の半導体装置１の詳細なブロック図である。  
図３に示すように、半導体装置１は、図２の構成の他に、セレクタ３０と、セレクタ３１と、パワーオンリセット（以下、PORという）回路３２と、eFuse端子３３とを有して構成されている。
【００２５】
DRAM I/F１４は、テストバス４１と、BIST回路４２と、セレクタ４３と、アドレスコントローラ４４と、セレクタ４５とを有して構成されている。BIST回路４２は、セレクタ４６と、パターンジェネレータ（以下、PGという）４７と、テスト結果保持部４８と、リペアブル情報保持部４９と、アドレス情報保持部５０とを有して構成されている。
【００２６】
DRAM I/O１５は、リペアレジスタ５１と、バッファ回路５２及び５３とを有して構成されている。
【００２７】
プロセッサコア１６は、通常モード時に、DRAM２へデータを書き込む場合、書き込むデータをバス１７を介してセレクタ４３に供給する。セレクタ４３には、BIST回路４２からのデータも供給される。セレクタ４３は、DRAMテストイネーブルに基づいて、プロセッサコア１６またはBIST回路４２のいずれか一方を選択して出力する。セレクタ４３は、DRAMテストイネーブルが無効の場合、プロセッサコア１６からのデータを選択し、DRAMテストイネーブルが有効の場合、BIST回路４２からのデータを選択する。通常モード時には、DRAMテストイネーブルが無効となり、セレクタ４３は、プロセッサコア１６からのデータを選択する。セレクタ４３において選択されたプロセッサコア１６からのデータは、バッファ回路５２を介してDRAM２に供給される。
【００２８】
また、プロセッサコア１６は、DRAM２へデータを書き込む場合、書き込むデータのアドレスをアドレスコントローラ４４を介してDRAM２に供給する。これにより、プロセッサコア１６は、DRAM２の所望のアドレスにデータを書き込むことができる。
【００２９】
プロセッサコア１６は、通常モード時に、DRAM２からデータを読み出す場合、読み出すアドレスをアドレスコントローラ４４を介してDRAM２に供給する。DRAM２は、供給されたアドレスに格納されているデータをバッファ回路５３を介してセレクタ４５に供給する。セレクタ４５には、リペアレジスタ５１からのデータも供給される。セレクタ４５は、アドレスコントローラ４４からのセレクト信号に基づいて、DRAM２またはリペアレジスタ５１からのデータのいずれか一方を選択して出力する。セレクタ４５により選択されたデータは、バス１７を介してプロセッサコア１６に供給される。これにより、プロセッサコア１６は、DRAM２の所定のアドレスからデータを読み出すことができる。
【００３０】
次に、DRAM２のテストモード時について説明する。まず、ATE５４からTCU１１にDRAM２のBISTを実行するための指示が出力される。TCU１１は、テストバス４１を介して、この指示をBIST回路４２に出力する。BIST回路４２は、この指示に基づいて、DRAM２のBISTを実行する。
【００３１】
また、TCU１１は、テストバス４１を介して、積層されているDRAM２用のテストパターンデータを選択するための選択信号をセレクタ４６に出力する。セレクタ４６には、例えば、１GB（ギガバイト）の容量のDRAM２用のテストパターンデータあるいは２GBの容量のDRAM２用のテストパターンデータ等、複数のテストパターンデータが供給されている。セレクタ４６は、TCU１１からの選択信号に基づいて選択されたテストパターンデータ、即ち、積層されているDRAM２に適したテストパターンデータをPG４７に出力する。
【００３２】
PG４７は、選択されたテストパターンデータからテストパターンを生成し、生成したテストパターンをセレクタ４３に出力する。BIST実行時には、DRAMテストイネーブルが有効となり、セレクタ４３は、BIST回路４２のPG４７からのテストパターンを選択する。セレクタ４３において選択されたテストパターンは、バッファ回路５２を介してDRAM２に供給される。
【００３３】
また、BIST回路４２は、BIST実行時のデータの書き込み及びデータの読み出し用のアドレスを、アドレスコントローラ４４を介してDRAM２に供給する。これにより、BIST回路４２は、DRAM２の指定したアドレスのデータの書き込み及びデータの読み出しを実行する。
【００３４】
BIST回路４２は、このアドレスを順次変更し、DRAM２の全てのアドレスについて、データの書き込み及びデータの読み出しを実行する。DRAM２から順次読み出されたデータは、バッファ回路５３を介してセレクタ４５に供給される。セレクタ４５には、テスト実行時にバッファ回路５３の出力を選択するための選択信号が供給される。セレクタ４５は、アドレスコントローラ４４からの選択信号に基づいて、バッファ回路５３からの出力を選択し、選択したデータを順次BIST回路４２に出力する。
【００３５】
BIST回路４２は、セレクタ４５から順次入力されるデータと期待値とを順次比較し、それぞれのデータについてテストをPASSしたか否かを判定する。BIST回路４２は、順次比較を行った結果、全てのテストをPASSしたと判定した場合、テスト結果保持部４８にテストをPASSしたことを示す情報、例えば、“１”を格納する。このとき、BIST回路４２は、リペアブル情報保持部４９及びアドレス情報保持部５０に保持されるデータの書き換えを行わず、初期値のままとする。
【００３６】
テスト結果保持部４８、リペアブル情報保持部４９及びアドレス情報保持部５０に格納された各情報は、テストバス４１を介してTCU１１に出力される。TCU１１は、これらの各情報をATE５４に出力することにより、ATE５４においてBISTによるテストがPASSしたと判定される。
【００３７】
次に、BIST回路４２は、順次比較を行った結果、あるアドレスにおいてFAILしたと判定した場合、テスト結果保持部４８にテストをFAILしたことを示す情報、例えば、“０”を格納する。さらに、BIST回路４２は、リペアブル情報保持部４９に救済が可能であることを示すイネーブル情報、例えば、“１”を格納し、アドレス情報保持部５０にFAILしたアドレスの情報、例えば、“８０”を格納する。
【００３８】
テスト結果保持部４８、リペアブル情報保持部４９及びアドレス情報保持部５０に格納された各情報は、テストバス４１を介してTCU１１に出力される。TCU１１は、これらの各情報をATE５４に出力することにより、ATE５４においてDRAM２の救済が可能であると判定される。また、TCU１１は、後述するように、DRAM２の救済が可能である場合、リペアブル情報保持部４９及びアドレス情報保持部５０に格納された各情報をeFuseマクロ１３に書き込む、ブロー処理を実行する。
【００３９】
また、半導体装置１が、１ビットだけしか救済できない回路構成であるときに、BIST回路４２は、あるアドレス“８０”においてFAILしたと判定した後、さらに別のアドレス、例えば“８３”においてFAILしたと判定した場合、リペアブル情報保持部４９に救済が不可能であることを示すイネーブル情報、例えば、“０”を格納する。そして、BIST回路４２は、アドレス情報保持部５０に新たにFAILしたアドレスの情報、即ち、“８３”を格納する。なお、テスト結果保持部４８には、FAILしたことを示す情報である“０”が格納されたままである。即ち、リペアブル情報保持部４９は、半導体装置１がビット不良を救済できるときに、“１”とする。
【００４０】
テスト結果保持部４８、リペアブル情報保持部４９及びアドレス情報保持部５０に格納された各情報は、テストバス４１を介してTCU１１に出力される。TCU１１は、これらの各情報をATE５４に出力することにより、ATE５４においてDRAM２の救済が不可能であると判定される。
【００４１】
このように、本実施の形態のBIST回路４２は、DRAM２におけるビット不良が１アドレスの場合、救済可能と判定し、DRAM２におけるビット不良が２アドレス以上の場合、救済不可能と判定する。このように、BIST回路４２は、半導体装置１に接続されるDRAM２のビット不良を検出し、検出したビット不良のアドレス情報を得るビット不良検出回路を構成する。
【００４２】
なお、本実施の形態では、DRAM２におけるビット不良が１つ、即ち、１アドレスの場合に救済できるように構成されているが、DRAM２におけるビット不良が２つ以上、即ち、２アドレス以上の場合でも救済できるように構成されていてもよい。
【００４３】
例えば、DRAM２におけるビット不良が２アドレスの場合に救済できる構成にするには、アドレス情報保持部５０に２アドレス分のFAILしたアドレスの情報を保持できるようにする。そして、リペアブル情報保持部４９は、ビット不良が２アドレスまで、救済が可能であることを示すイネーブル情報を格納し、ビット不良が３アドレスになると、救済が不可能であることを示すイネーブル情報を格納する。さらに、eFuseレジスタ１２が２つ設けられて、一方のeFuseレジスタ１２にビット不良があった１つ目のアドレスを格納し、他方のeFuseレジスタ１２にビット不良があった２つ目のアドレスを格納する。
【００４４】
以上のようにして、DRAM２におけるビット不良が２アドレス以上の場合でも救済することが可能となる。
【００４５】
ここで、上述したリペアブル情報保持部４９及びアドレス情報保持部５０に格納された各情報をeFuseマクロ１３に書き込む、ブロー処理について説明する。なお、リペアブル情報保持部４９には、救済が可能であることを示すイネーブル情報を示す“１”が格納され、アドレス情報保持部５０には、FAILしたアドレスのアドレス情報として“８０”が格納されているものとする。また、eFuseマクロ１３は、DRAM２の救済情報の他に、例えば、半導体装置１の図示しないメモリの救済情報あるいは半導体チップ３の救済情報を格納できる容量を有していてもよい。
【００４６】
TCU１１は、テスト結果保持部４８、リペアブル情報保持部４９及びアドレス情報保持部５０に格納された各情報のうち、リペアブル情報保持部４９に格納された情報からDRAM２の救済が可能か否かを判定する。即ち、TCU１１は、リペアブル情報保持部４９に“１”が格納されている場合、DRAM２の救済が可能と判定する。TCU１１は、DRAM２の救済が可能と判定すると、リペアブル情報保持部４９に格納されている、救済が可能であることを示すイネーブル情報を示す“１”と、アドレス情報保持部５０に格納されている、FAILしたアドレスのアドレス情報を示す“８０”とをeFuseマクロ１３にブローする。即ち、TCU１１は、これらの情報をハードウエア的にeFuseマクロ１３に焼き付ける。これにより、eFuseマクロ１３に焼き付けられ、格納された情報は、半導体装置１の電源が落とされた場合にも、eFuseマクロ１３に保持されることとなる。このとき、TCU１１は、救済が可能であることを示すイネーブル情報と、FAILしたアドレスのアドレス情報とをセレクタ３０に出力すると共に、これらの出力を選択するための選択信号をセレクタ３０に出力する。この結果、上述したように、TCU１１は、イネーブル情報及びアドレス情報をeFuseマクロ１３にブローすることができる。
【００４７】
次に、このようにeFuseマクロ１３に保持されたイネーブル情報及びアドレス情報を用いたBISTについて説明する。なお、上述したブロー処理を実行中に、イネーブル情報及びアドレス情報が正しくブローされた否かを判定するテストを実施すれば、以下で説明するイネーブル情報及びアドレス情報を用いたBISTは省略してもよい。これは、正しくブローされている場合、以下で説明するBISTでは不良が発生しないためである。これにより、ブロー処理後のBISTを省略し、テスト時間を短縮することができる。
【００４８】
eFuseマクロ１３は、ブローされたイネーブル情報及びアドレス情報をセレクタ３１に出力する。セレクタ３１には、TCU１１から選択信号が供給される。特に、TCU１１は、BISTを実行する場合、eFuseマクロ１３の出力を選択するための選択信号をセレクタ３１に出力する。セレクタ３１は、この選択信号に基づいて、eFuseマクロ１３の出力を選択し、eFuseレジスタ１２に出力する。
【００４９】
eFuseレジスタ１２は、３２ビットの格納部により構成され、この３２ビットの格納部は、
１ビットのリペアブル情報格納部１２ａと、３１ビットのアドレス情報格納部１２ｂとにより構成されている。このeFuseレジスタ１２は、揮発性の不良情報保持回路を構成する。eFuseマクロ１３の出力のうち、救済が可能であることを示すイネーブル情報を示す“１”がリペアブル情報格納部１２ａに格納され、FAILしたアドレスのアドレス情報を示す“８０”が３１ビットのアドレス情報格納部１２ｂに格納される。eFuseレジスタ１２は、リペアブル情報格納部１２ａ及びアドレス情報格納部１２ｂに格納された情報をアドレスコントローラ４４に出力する。
【００５０】
なお、アドレス情報格納部１２ｂは、３１ビットとして説明しているが、３１ビットに限定されず、他のビット数であってもよい。本実施の形態では、半導体装置１に積層されるDRAM２の容量が４GBの場合に、その４GBのDRAM２の全てのアドレスを表現できるように、アドレス情報格納部１２ｂを３１ビットとして説明している。そのため、アドレス情報格納部１２ｂのビット数は、半導体装置１に積層されるDRAM２の容量に応じて、そのビット数を変更してもよい。
【００５１】
次に、TCU１１からBISTの実行を指示する信号がBIST回路４２に出力される。これにより、上述したBISTの実行が行われる。即ち、PG４７からテストパターンがセレクタ４３に出力されるとともに、BIST回路４２からデータの書き込み用あるいはデータの読み出し用のアドレス情報がアドレスコントローラ４４に出力される。BIST回路４２から出力されるアドレス情報が“８０”以外の場合、上述したBISTと同様のため、説明を省略する。
【００５２】
まず、データを書き込む場合、BIST回路４２からデータの書き込み用のアドレス情報がアドレスコントローラ４４に出力される。また、アドレスコントローラ４４には、アドレス情報格納部１２ｂに格納されているビット不良のアドレスを示すアドレス情報が供給される。
【００５３】
アドレスコントローラ４４は、アドレス情報格納部１２ｂに格納されているビット不良のアドレスを示すアドレス情報と、BIST回路４２からのアドレス情報とを比較する。アドレスコントローラ４４は、これらのアドレス情報が一致すると、データの書き込み用の制御信号及びアドレス情報をリペアレジスタ５１に出力する。本実施の形態では、BIST回路４２からアドレス情報として“８０”がアドレスコントローラ４４に出力されると、データの書き込み用の制御信号及びアドレス情報をリペアレジスタ５１に出力する。
【００５４】
リペアレジスタ５１には、PG４７からのテストパターンがセレクタ４３を介して供給される。リペアレジスタ５１は、アドレスコントローラ４４からのデータの書き込み用の制御信号及びアドレス情報に基づいて、このテストパターンのデータを格納する。
【００５５】
一方、データを読み出す場合、BIST回路４２からデータの読み出し用のアドレス情報がアドレスコントローラ４４に出力される。アドレスコントローラ４４は、BIST回路４２からのデータの読み出し用のアドレス情報と、eFuseレジスタ１２のアドレス情報格納部１２ｂからのアドレス情報とを比較する。アドレスコントローラ４４は、これらのアドレス情報が一致すると、即ち、BIST回路４２からアドレス情報として“８０”が出力されると、データの読み出し用の制御信号及びアドレス情報をリペアレジスタ５１に出力する。
【００５６】
リペアレジスタ５１は、アドレスコントローラ４４からのデータの読み出し用の制御信号及びアドレス情報に基づいて、格納されたデータを読み出し、読み出したデータをセレクタ４５に出力する。このリペアレジスタ５１は、ビット不良のアドレスのビット情報を記憶する不良対応用記憶回路を構成する。
【００５７】
このように、アドレスコントローラ４４は、アドレス情報格納部１２ｂに格納されているビット不良のアドレスを示すアドレス情報と、BIST回路４２からのアドレス情報とを比較し、比較結果が一致した場合、リペアレジスタ５１にデータを書き込むあるいはリペアレジスタ５１からデータを読み出す処理を実行する。このアドレスコントローラ４４は、ビット不良のアドレスへの書き込み及び読み出し時にリペアレジスタ５１を使用するように制御する制御部を構成する。
【００５８】
また、アドレスコントローラ４４は、アドレス情報格納部１２ｂからのアドレス情報と、データの読み出し用のアドレス情報との比較結果が一致すると、リペアレジスタ５１からのデータを選択するための選択信号をセレクタ４５に出力する。セレクタ４５は、この選択信号に基づいて、リペアレジスタ５１からのデータを選択し、選択したデータをBIST回路４２に出力する。BIST回路４２は、リペアレジスタ５１からのデータと期待値とを比較し、BISTのPASSを確認する。
【００５９】
ここで、このように実施されるDRAM２を救済する処理について説明する。図４は、DRAM２を救済する処理の流れの例を説明するためのフローチャートである。
【００６０】
まず、ATE５４からDRAM２のBISTを実行するための指示がTCU１１に出力される（ステップＳ１）。この指示は、テストバス４１を介してBIST回路４２に供給され、BISTが実行される（ステップＳ２）。BISTの実行結果が、テスト結果保持部４８、リペアブル情報保持部４９及びアドレス情報保持部５０のそれぞれに格納され（ステップＳ３）、テスト結果保持部４８に格納された情報に基づいて、良品か否かが判定される（ステップＳ４）。良品の場合、YESとなり、ステップＳ１０に進み、PASSと判定される。良品でない場合、NOとなり、リペアブル情報保持部４９に格納された情報に基づいて、救済可能か否かが判定される（ステップＳ５）。救済可能でない場合、NOとなり、FAILと判定される（ステップＳ６）。救済可能な場合、YESとなり、リペア情報が読み出される（ステップＳ７）。ここで、リペア情報は、リペアブル情報保持部４９及びアドレス情報保持部５０のそれぞれに格納されている情報である。このリペア情報をeFuseマクロ１３にブローするブロー処理が実行される（ステップＳ８）。ブローされた情報を利用したBISTが実行され（ステップＳ９）、PASSと判定される（ステップＳ１０）。
【００６１】
なお、上述したように、ステップＳ８のブロー処理においてリペア情報が正しくブローされたことを確認すれば、ステップＳ９の処理を省略してもよい。これにより、ブロー処理後のBISTを省略し、テスト時間を短縮することができる。
【００６２】
以上の処理により、リペアブル情報保持部４９及びアドレス情報保持部５０のそれぞれに格納されたリペア情報、即ち、救済情報をeFuseマクロ１３に格納する処理が完了する。
【００６３】
次に、eFuseマクロ１３にリペア情報がブローされた後の通常モードの動作について説明する。
【００６４】
半導体装置１の電源が投入されると、POR回路３２からセレクタ３０に電源が投入されたことを示す信号が出力される。通常モードの場合、セレクタ３０には、POR回路３２の出力を選択するための選択信号がTUC１１から供給される。セレクタ３０は、この選択信号に基づいて、電源が投入されたことを示す信号をeFuseマクロ１３に出力する。
【００６５】
eFuseマクロ１３は、この信号が入力されると、ブローされた不良ビットのアドレス情報をセレクタ３１を介してeFuseレジスタ１２に書き込む。eFuseレジスタ１２に格納されたアドレス情報は、アドレスコントローラ４４に出力される。
【００６６】
プロセッサコア１６は、通常モード時にはデータの書き込みあるいは読み出し用のアドレスをバス１７を介してアドレスコントローラ４４に供給する。アドレスコントローラ４４は、eFuseレジスタ１２からのアドレスとデータ書き込み用のアドレスとが一致した場合、セレクタ４３により選択されたバス１７からのデータをリペアレジスタ５１に書き込む処理を行う。また、アドレスコントローラ４４は、eFuseレジスタ１２からのアドレスとデータ読み出し用のアドレスとが一致した場合、リペアレジスタ５１に格納されたデータを読み出す処理を行う。このように読み出されたデータは、セレクタ４５を介してバス１７に出力される。このように、プロセッサコア１６は、DRAM２のビット不良のあるアドレスへのデータの書き込みまたは読み出しを行う場合、リペアレジスタ５１へのデータの書き込みまたは読み出しを行うことになる。
【００６７】
なお、上述したeFuse回路１３へのブロー処理を実行する前に、リペアブル情報保持部４９及びアドレス情報保持部５０に格納されたリペア情報を用いて、DRAM２のビット不良の救済が可能か否かを判定するようにしてもよい。このリペア情報をeFuseマクロ１３にブローすると、eFuseマクロ１３の内容は、変更することができない。そのため、リペア情報をeFuseマクロ１３にブローする前に、このリペア情報を用いてDRAM２のビット不良の救済が可能か否かを判定し、可能と判定された後に、リペア情報をeFuseマクロ１３にブローする。これにより、DRAM２のビット不良の救済が確実に行えるようになる。
【００６８】
まず、TCU１１は、リペアブル情報保持部４９及びアドレス情報保持部５０に格納されたリペア情報をeFuse端子３３に出力する。eFuse端子３３は、このリペア情報をセレクタ３１に出力する。このとき、TCU１１は、eFuse端子３３からのリペア情報を選択するための選択信号をセレクタ３１に出力する。セレクタ３１は、この選択信号に基づいて、eFuse端子３３からのリペア情報をeFuseレジスタ１２に出力する。
【００６９】
これにより、例えば、イネーブル情報を示す“１”がリペアブル情報格納部１２ａに格納され、FAILしたアドレスのアドレス情報を示す“８０”がアドレス情報格納部１２ｂに格納される。ここで、上述したBISTを実行することにより、アドレスが“８０”のときのデータの書き込み及び読み出しは、リペアレジスタ５１を用いて行われることになる。このBIST結果、DRAM２のビット不良の救済が行われている場合、テスト結果保持部４８には、テストのPASSを示す“１”が格納される。
【００７０】
TCU１１は、テスト結果保持部４８の情報に基づいて、テストをPASSしたと判定すると、eFuse端子３３に出力したリペア情報をeFuseマクロ１３にブローする。この結果、DRAM２のビット不良の救済が確実に行えるようになる。
【００７１】
なお、本実施の形態において、DRAM I/O１５及びDRAM２は同一の電源とする。半導体装置１は、消費電力を削減するため、例えば、スリープモード時に、半導体装置１内の大部分の回路の電源を落とす場合がある。このとき、DRAM２に保持されたデータの消去を防ぐため、DRAM２の電源は供給され、リペアレジスタ５１に保持されたデータの消去を防ぐため、DRAM I/O１５の電源も供給されている。ここで、DRAM I/O１５の電源を半導体装置１内の他の回路と同一の電源にすると、スリープモード時に、リペアレジスタ５１に保持されたデータが消去されてしまう。そのため、DRAM I/O１５及びDRAM２は同一の電源とし、意図しないデータの消去を防ぐようにしている。
【００７２】
以上のように、半導体装置１は、積層されたDRAM２の自己診断テストを実行し、DRAM２のビット不良のアドレス情報を検出するBIST回路４２を設けた。BIST回路４２により検出されたDRAM２のビット不良のアドレス情報は、eFuseマクロ１３にブローされ、パワーオンリセット時にアドレスコントローラ４４に出力される。アドレスコントローラ４４は、ビット不良のアドレスへのデータの書き込みまたは読み出しが指示されると、リペアレジスタ５１を使用し、データの書き込みまたは読み出しを行うように制御する。この結果、半導体装置１は、DRAM２のビット不良のアドレスへのデータの書き込みまたは読み出しを行う場合、リペアレジスタ５１を使用するので、積層されているDRAM２が救済回路を有していなくても、ビット不良の救済ができる。
【００７３】
よって、本実施の形態の半導体装置によれば、接続されるメモリに救済回路が搭載されている否かに拘わらず、接続されるメモリの救済を容易に可能にすることができる。
【００７４】
なお、本明細書におけるフローチャート中の各ステップは、その性質に反しない限り、実行順序を変更し、複数同時に実行し、あるいは実行毎に異なった順序で実行してもよい。
【００７５】
本発明は、上述した実施の形態に限定されるものではなく、本発明の要旨を変えない範囲において、種々の変更、改変等が可能である。
【符号の説明】
【００７６】
１…半導体装置、２…DRAM、３…半導体チップ、１１…テストコントロールユニット、１２…eFuseレジスタ、１２ａ…リペアブル情報格納部、１２ｂ…アドレス情報格納部、１３…eFuseマクロ、１４…DRAM I/F、１５…DRAM I/O、２１…メモリセル、２２…SRAM、２３…eFuse、３０，３１…セレクタ、３２…POR回路、３３…eFuse端子、４１…テストバス、４２…BIST回路、４３…セレクタ、４４…アドレスコントローラ、４５，４６…セレクタ、４７…パターンジェネレータ、４８…テスト結果保持部、４９…リペアブル情報保持部、５０…アドレス情報保持部、５１…リペアレジスタ、５２，５３…バッファ回路、５４…ATE。
【図１】
2010182366.tif 000003
【図２】
2010182366.tif 000004
【図３】
2010182366.tif 000005
【図４】
2010182366.tif 000006