(57)【要約】【課題】  チップサイズを増やすことなく、欠陥箇所の試験および欠陥箇所を置き換える場所の試験を行う。【解決手段】  半導体メモリは、第１データ変換部、バッファメモリ、メインメモリおよび第２データ変換部を有している。第１データ変換部は、第１データを第２データに変換するための第１テーブルを含む。バッファメモリは、第２データを一時的に格納する。メインメモリは、バッファメモリに格納された第２データを格納する。第２データ変換部は、メインメモリから読み出される第２データを第１データに変換するための第２テーブルを含む。さらに、バッファメモリは、メインメモリの欠陥アドレスを格納し、第１データ変換部は、欠陥アドレスに対応する第１テーブルのアドレスに欠陥情報を格納する。【選択図】    図１
2011044188.tif 000002
【特許請求の範囲】
【請求項１】
第１データを第２データに変換するための第１テーブルを含む第１データ変換部と、
前記第２データを一時的に格納するバッファメモリと、
前記バッファメモリに格納された第２データを格納するメインメモリと、
前記メインメモリから読み出される前記第２データを前記第１データに変換するための第２テーブルを含む第２データ変換部と
を備え、
前記バッファメモリは、前記メインメモリの欠陥アドレスを格納し、
前記第１データ変換部は、前記欠陥アドレスに対応する前記第１テーブルのアドレスに欠陥情報を格納すること
を特徴とする半導体メモリ。
【請求項２】
前記欠陥情報は、少なくとも、前記欠陥アドレス、前記欠陥アドレスにおける欠陥数、救済先アドレスおよび状態フラグの何れかを含むこと
を特徴とする請求項１に記載の半導体メモリ。
【請求項３】
前記第１データ変換部は、
試験アドレスに対応する前記第１テーブルに第１フラグを格納すること
を特徴とする請求項１または請求項２に記載の半導体メモリ。
【請求項４】
第１テーブルを使用して第１データを第２データに変換してバッファメモリに格納した後にメインメモリに格納するとともに、前記メインメモリに格納された前記第２データを前記バッファメモリに格納した後に前記第１データに変換して出力する半導体メモリの欠陥アドレスの冗長方法において、
試験アドレスに対応する前記第１テーブルに第１フラグを格納し、
前記欠陥アドレスに対応する前記第１テーブルに前記第１フラグが格納されている場合には、前記第１フラグを第２フラグに変換するとともに前記第１テーブルに欠陥数を格納し、
前記欠陥アドレスに対応する前記第１テーブルに前記第２フラグが格納されている場合には、前記欠陥数が所定の欠陥数以上である場合に、前記第２フラグを第３フラグに変換するとともに前記第１テーブルに救済先アドレスを格納すること
を特徴とする半導体メモリの冗長方法。
【請求項５】
前記欠陥アドレスに対応する前記第１テーブルに前記第２フラグが格納されている場合には、前記欠陥数が所定の欠陥数より少ない場合に、前記第２フラグを第４フラグに変換するとともに前記第１テーブルに救済先アドレスを格納すること
を特徴とする請求項４に記載の半導体メモリの冗長方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、欠陥を救済するための冗長回路を有する半導体メモリに関する。
【背景技術】
【０００２】
半導体の素子構造の微細化に伴って、１チップに搭載される素子数は増えている。これにより、ＣＰＵ等のコントローラと、コントローラによりアクセスされるメモリとが、１つのチップ内に搭載できるようになってきている。さらに、メモリを試験するＢＩＳＴ（Built In Self Test）回路が、チップ内に搭載されるようになってきている（例えば、特許文献１−４参照。）。例えば、ＢＩＳＴ回路は、欠陥を有するメモリセルに接続されたリアル線を検出する。不良のリアル線の位置情報は、例えば、レーザ救済装置に転送される。レーザ救済装置は、メモリ内のヒューズをプログラムすることで、リアル線を冗長線に置き換える。そして、欠陥は救済される。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００１−４３６９８号公報
【特許文献２】特開平１１−１６３９３号公報
【特許文献３】特開２０００−２９８９９９公報
【特許文献４】特開２００３−１３９８１８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
冗長線が欠陥を有するとき、不良のリアル線を冗長線に置き換えても欠陥を救済できない。救済効率を向上するためには、冗長線に欠陥がないことを確認する手段が必要である。一方、冗長線を試験するためには、ＢＩＳＴ回路の論理を増やす必要があり、チップサイズが増加してしまう。
【０００５】
本発明の目的は、チップサイズを増やすことなく、欠陥箇所の試験および欠陥箇所を置き換える場所の試験を行うことである。
【課題を解決するための手段】
【０００６】
本発明の一形態では、半導体メモリは、第１データを第２データに変換するための第１テーブルを含む第１データ変換部と、第２データを一時的に格納するバッファメモリと、バッファメモリに格納された第２データを格納するメモリと、メモリから読み出される第２データを第１データに変換するための第２テーブルを含む第２データ変換部とを備え、バッファメモリは、メモリの欠陥アドレスを格納し、第１データ変換部は、欠陥アドレスに対応する第１テーブルのアドレスに欠陥情報を格納する。
【発明の効果】
【０００７】
メモリの試験結果である欠陥アドレスをバッファメモリに格納し、欠陥アドレスに対応する欠陥情報を第１テーブルに格納することで、新たな評価回路等を設けることなく、欠陥アドレスが示す欠陥箇所を別の場所に一時的に置き換えできる。換言すれば、第１テーブルを用いて、欠陥箇所を置き換える場所をアクセスでき、欠陥箇所を置き換える場所を予め試験できる。この結果、チップサイズを増やすことなく、欠陥箇所の試験および欠陥箇所を置き換える場所の試験を実施できる。これにより、半導体メモリのチップコストが増加することを防止でき、半導体メモリの製造コストを削減できる。
【図面の簡単な説明】
【０００８】
【図１】一形態における半導体メモリの例を示している。
【図２】別の実施形態における半導体メモリの例を示している。
【図３】図２に示したデータ変換部ＤＣＮＶ１の例を示している。
【図４】図２に示したデータ変換部ＤＣＮＶ２の例を示している。
【図５】図２に示した半導体メモリの通常動作モードにおける動作の例を示している。
【図６】図２に示した半導体メモリの製造試験の例を示している。
【図７】図６に示したデータ変換部ＤＣＮＶ１の初期化処理の例を示している。
【図８】図６に示したデータ変換部ＤＣＮＶ２の初期化処理の例を示している。
【図９】図６に示したバッファメモリの初期化処理の例を示している。
【図１０】図７から図９の初期化処理後の状態の例を示している。
【図１１】図６に示した冗長ライン試験の例を示している。
【図１２】図１１に示したステップＳ４０４におけるＤＲＡＭの書き込み動作の例を示している。
【図１３】図１１に示したステップＳ４０４におけるＤＲＡＭの読み出し動作の例を示している。
【図１４】図１１に示したフローにおいて、冗長ワード線とリアルコラム線が配線される領域を試験した後の欠陥情報の状態の例を示している。
【図１５】図１１に示したフローにおいて、冗長ワード線と冗長コラム線が配線される領域を試験した後の欠陥情報の状態の例を示している。
【図１６】図１１に示したフローにおいて、リアルワード線と冗長コラム線が配線される領域を試験した後の欠陥情報の状態の例を示している。
【図１７】図１１に示したステップＳ４１４における欠陥数の集計処理の例を示している。
【図１８】図１７に示したステップＳ４３２における動作の例を示している。
【図１９】図１７に示したステップＳ４３６からＳ４４６における動作の例を示している。
【図２０】図１１に示したフローにおいて、冗長ワード線と冗長コラム線の欠陥数を集計した後の欠陥情報の状態の例を示している。
【図２１】図１１に示したフローにおいて、データ変換部ＤＣＮＶ２に欠陥情報を設定した後の状態の例を示している。
【図２２】図６に示した複数ビットの欠陥の救済処理の例を示している。
【図２３】図２２に示したステップＳ５０８、Ｓ５１２、Ｓ５２６、Ｓ５３０における処理の例を示している。
【図２４】図２３に示したステップＳ５４６における動作の例を示している。
【図２５】図２２に示したフローにおいて、最初のメモリブロックを試験した後の欠陥情報の状態の例を示している。
【図２６】図２２に示したフローにおいて、リアルワード線とリアルコラム線の欠陥数を集計した後の欠陥情報の状態の例を示している。
【図２７】図２２に示したフローにおいて、データ変換部ＤＣＮＶ２、ＤＣＮＶ１に欠陥情報を設定した後の状態の例を示している。
【図２８】図２２に示したフローにおいて、２番目のメモリブロックを試験した後の欠陥情報の状態の例を示している。
【図２９】図２２に示したフローにおいて、リアルワード線とリアルコラム線の欠陥数を集計した後の欠陥情報の状態の例を示している。
【図３０】図２２に示したフローにおいて、データ変換部ＤＣＮＶ２、ＤＣＮＶ１に欠陥情報を設定した後の状態の例を示している。
【図３１】図２２に示したフローにおいて、バッファメモリを整理する処理の例を示している。
【図３２】図３１に示した処理の具体例を示している。
【図３３】図２２に示したフローにおいて、バッファメモリを整理する処理の別の具体例を示している。
【図３４】図６に示した単ビットの欠陥の救済処理の例を示している。
【図３５】図３４に示したフローにおいて、冗長ワード線と冗長コラム線のビット不良の救済を検討するときの欠陥情報の状態の例を示している。
【図３６】図３４に示したフローにおいて、単ビットの欠陥を有する欠陥ワード線を救済した後の欠陥情報の状態の例を示している。
【図３７】図３４に示したフローにおいて、単ビットの欠陥を有する欠陥コラム線を救済した後の欠陥情報の状態の例を示している。
【図３８】図３４に示したフローにおいて、データ変換部ＤＣＮＶ２、ＤＣＮＶ１に欠陥情報を設定した後の状態の例を示している。
【図３９】図６に示した欠陥アドレスの出力処理の例を示している。
【図４０】図３９に示した動作の例を示している。
【発明を実施するための形態】
【０００９】
以下、実施形態を図面を用いて説明する。
【００１０】
図１は、一形態における半導体メモリＭＥＭの例を示している。半導体メモリＭＥＭは、データ変換部ＤＣＮＶ１−２、バッファメモリＢＵＦＭおよびＤＲＡＭ（Dynamic Random Access Memory）を有している。データ変換部ＤＣＮＶ１は、ルックアップテーブルＬＵＴ１を有する。データ変換部ＤＣＮＶ２は、ルックアップテーブルＬＵＴ２を有する。例えば、半導体メモリＭＥＭは、通常動作モードにおいて、画像処理を行うときに使用される。ＤＲＡＭは、ワード線やコラム線などのリアル線ＲＥＡＬと、欠陥を救済するための冗長ワード線や冗長コラム線など冗長線ＲＥＤとを有し、メインメモリとして動作する。例えば、試験工程において、ＤＲＡＭのアクセス試験が実施され、欠陥を有するリアルメモリセルＭＣが検出される。試験工程の後の救済工程において、欠陥を有するリアルメモリセルＭＣに接続されたリアル線ＲＥＡＬは、冗長メモリセルＲＭＣに接続された冗長線ＲＥＤに置き換えられる。試験工程および救済工程は、半導体メモリＭＥＭの製造工程に含まれる。
【００１１】
特に限定されないが、ルックアップテーブルＬＵＴ１−２は、１ポートのＳＲＡＭ（Static Random Access Memory）である。特に限定されないが、バッファメモリＢＵＦＭは、２ポートのＳＲＡＭである。なお、半導体メモリＭＥＭは、メインメモリとしてＤＲＡＭの代わりに他のメモリデバイスを有してもよい。ルックアップテーブルＬＵＴ１−２およびバッファメモリＢＵＦＭは、ＳＲＡＭ以外の他のメモリデバイスでもよい。
【００１２】
通常動作モードにおいて、データ変換部ＤＣＮＶ１は、ＲＧＢ形式（赤、緑、青）のデータＤＴ１を受ける。データ変換部ＤＣＮＶ１は、データＤＴ１を、ルックアップテーブルＬＵＴ１を用いてデータ処理の行い易いＹＵＶ形式（輝度、色差Ｃｂ、色差Ｃｒ）のデータＤＴ２に変換する。ここで、データＤＴ１は、アドレスとしてルックアップテーブルＬＵＴ１に供給される。データＤＴ２は、アドレスに対応する読み出しデータとしてルックアップテーブルＬＵＴ１から出力される。すなわち、ルックアップテーブルＬＵＴ１は、ＲＧＢデータをＹＵＶデータに変換する機能を有している。データＤＴ２は、バッファメモリＢＵＦＭに一時的に保持され、ＤＲＡＭに書き込まれる。なお、データＤＴ２は、誤り訂正符号の付加などの必要な処理を加えた後に、バッファメモリＢＵＦＭに書き込まれてもよい。
【００１３】
データＤＴ２は、必要に応じてＤＲＡＭから読み出され、データ変換部ＤＣＮＶ２に供給される。このとき、ＤＲＡＭから読み出されたデータＤＴ２は、バッファメモリＢＵＦＭに一時的に保持されてもよい。データ変換部ＤＣＮＶ２は、データＤＴ２を、ルックアップテーブルＬＵＴ２を用いてＲＧＢ形式のデータＤＴ１に変換する。ここで、データＤＴ２は、アドレスとしてルックアップテーブルＬＵＴ２に供給される。データＤＴ１は、アドレスに対応する読み出しデータとしてルックアップテーブルＬＵＴ２から出力される。すなわち、ルックアップテーブルＬＵＴ２は、ＹＵＶデータをＲＧＢデータに変換する機能を有している。なお、ＤＲＡＭから読み出されたデータＤＴ２は、誤り訂正符号による誤り訂正などの必要な処理を加えた後に、データ変換部ＤＣＮＶ２に供給されてもよい。
【００１４】
ＤＲＡＭの欠陥を救済する試験工程において、データ変換部ＤＣＮＶ１は、ＤＲＡＭをアクセスするためのアクセスアドレスをデータＤＴ１として受けたときに、同じアクセスアドレスをデータＤＴ２として出力する。このために、ルックアップテーブルＬＵＴ１は、入力データＤＴ１と出力データＤＴ２が同じ値になるように予めプログラムされる。そして、アクセスアドレスに応じてＤＲＡＭから出力される読み出しデータは、期待値と比較される。読み出しデータが期待値と異なるとき、アクセスアドレスは欠陥アドレスとしてバッファメモリＢＵＦＭに格納される。例えば、リアル線ＲＥＡＬを示すアドレスが欠陥アドレスとして扱われる。
【００１５】
次に、ルックアップテーブルＬＵＴ１は、欠陥アドレスを入力データＤＴ１として受けたときに、冗長アドレスを出力データＤＴ２として出力するようにプログラムされる。すなわち、少なくとも冗長アドレスを含む欠陥情報が、欠陥アドレスに対応するルックアップテーブルＬＵＴ１の記憶領域に格納される。冗長アドレスは、欠陥を救済するために使用される冗長線ＲＥＤを示す救済先アドレスである。
【００１６】
この状態で、欠陥アドレスがデータ変換部ＤＣＮＶ１に供給されるとき、データ変換部ＤＣＮＶ１から出力される冗長アドレスがＤＲＡＭに供給され、リアル線ＲＥＡＬの代わりに冗長線ＲＥＤが選択される。そして、冗長メモリセルＲＭＣから読み出しデータが出力される。冗長メモリセルＲＭＣからの読み出しデータが期待値と同じとき、欠陥救済によりＤＲＡＭが正常にアクセスできることが確認される。この後、欠陥を有するリアル線ＲＥＡＬを冗長線ＲＥＤに置き換える救済工程が実施される。そして、半導体メモリＭＥＭが製造される。
【００１７】
なお、試験工程において、冗長アドレスを含む欠陥情報をルックアップテーブルＬＵＴ１の記憶領域に予め格納しておくことで、冗長線ＲＥＤの試験を実施できる。すなわち、ルックアップテーブルＬＵＴ１を用いて、リアル線ＲＥＡＬの試験および冗長線ＲＥＤの試験を実施でき、救済工程で使用する欠陥情報を取得できる。
【００１８】
以上、この実施形態では、救済工程の前に、欠陥を有するリアル線ＲＥＡＬが冗長線ＲＥＤに置き換え可能か否かを確認できる。すなわち、欠陥を有するリアル線ＲＥＡＬを冗長線ＲＥＤに一時的に置き換えできる。さらに、ルックアップテーブルＬＵＴ１を用いて冗長線ＲＥＤの欠陥を検出できる。既存のルックアップテーブルＬＵＴ１を用いて置き換えの是非を確認できるため、確認のための新たな評価回路等を不要にできる。これにより、半導体メモリＭＥＭのチップサイズが大きくなることを防止でき、半導体メモリＭＥＭのチップコストが増加することを防止できる。すなわち、半導体メモリＭＥＭの製造コストを削減できる。
【００１９】
図２は、別の実施形態における半導体メモリの例を示している。図１と同じ要素には同じ符号を付け、詳細な説明は省略する。図中の二重の四角印は、外部端子を示している。外部端子は、例えば、半導体チップ上のパッド、あるいは半導体チップが収納されるパッケージのリードである。外部端子を介して供給される信号には、端子名と同じ符号を使用する。図中の実線の矢印は、アドレスまたは制御信号の伝達を示している。図中の破線の矢印は、データの伝達を示している。
【００２０】
半導体メモリＭＥＭは、データ変換部ＤＣＮＶ１−２、バッファメモリＢＵＦＭ、ＤＲＡＭ、制御部ＣＮＴＬ、入力バッファＩＮＢＦ、試験インタフェースＴＳＴＩＦ、レジスタＲＥＧ、救済情報インタフェースＲＩＩＦ、出力バッファＯＵＴＢＦ、カウンタＣＯＵＮＴおよびセレクタＳＥＬ１−１１を有している。バッファメモリＢＵＦＭは、２ポートのＳＲＡＭを有している。
【００２１】
ＤＲＡＭは、欠陥判定器ＪＤＧ、メモリコアＣＯＲＥおよびプログラム部ＰＲＧを有している。メモリコアＣＯＲＥは、一般的なＤＲＡＭのメモリコアである。例えば、ＤＲＡＭは、ロウアドレスとコラムアドレスとを同時に受けるアドレスノンマルチプレクス方式を採用している。このために、図１０等に示すルックアップテーブルＬＵＴ１は、コラムアドレスＣＬとロウアドレスＷＬとを同時に受けるために複数のブロックに分割されている。なお、ＤＲＡＭは、ロウアドレスとコラムアドレスとを時分割で受けるアドレスマルチプレクス方式を採用してもよい。ＤＲＡＭは、メインメモリとして動作する。
【００２２】
データ変換部ＤＣＮＶ１は、ルックアップテーブルＬＵＴ１を有している。特に限定されないが、ルックアップテーブルＬＵＴ１は、１ポートのＳＲＡＭである。ルックアップテーブルＬＵＴ１は、通常動作モード中に、ＲＧＢデータをＹＵＶデータに変換する。データ変換部ＤＣＮＶ２は、ルックアップテーブルＬＵＴ２を有している。特に限定されないが、ルックアップテーブルＬＵＴ２は、１ポートのＳＲＡＭである。ルックアップテーブルＬＵＴ２は、通常動作モード中に、ＹＵＶデータをＲＧＢデータに変換する。
【００２３】
欠陥判定器ＪＤＧは、試験モード時に動作する。欠陥判定器ＪＤＧは、メモリコアＣＯＲＥから出力される読み出しデータの論理を、ＤＲＡＭの外部から供給される期待値と比較する。そして、欠陥判定器ＪＤＧは、読み出しデータの論理が期待値と異なるときに、アクセスされたメモリセルを示すアドレスを欠陥アドレスとして出力するとともに、カウントアップ信号ＣＵＰを出力する。カウンタＣＯＵＮＴは、カウントアップ信号ＣＵＰに応答してカウンタ値を１増加する。カウンタ値は、セレクタＳＥＬ１１およびＳＥＬ２を介してバッファメモリＢＵＦＭの第１ポートＰ１のアドレス端子に供給される。欠陥アドレスは、セレクタＳＥＬ６を介してバッファメモリＢＵＦＭの第１ポートＰ１のデータ端子に供給される。これにより、試験モード中にＤＲＡＭの欠陥アドレス（不良アドレス）は、バッファメモリＢＵＦＭに順次に格納される。
【００２４】
ＤＲＡＭのプログラム部ＰＲＧは、欠陥を有するリアルメモリセルに接続されたリアル線を、冗長メモリセルに接続された冗長線に置き換えるためのヒューズ回路を有している。例えば、リアル線は、図１０に示すリアルワード線ＷＬ（ＷＬ０−１５）またはリアルコラム線ＣＬ（ＣＬ０−７）である。例えば、冗長線は、図１０に示す冗長ワード線ＲＷＬ（ＲＷＬ０−３）または冗長コラム線ＲＣＬ（ＲＣＬ０−３）である。ヒューズ回路は、レーザ光によりカットされるレーザヒューズまたは電流によりカットされる電気ヒューズを含む。ヒューズ回路は、欠陥を有するリアル線を示す欠陥アドレスがプログラムされる。そしてプログラムされた欠陥アドレスがＤＲＡＭの外部から供給されるアクセスアドレスと一致したときに、リアル線の選択が禁止され、冗長線が選択される。すなわち、リアル線は、冗長線に置き換えられる。
【００２５】
入力バッファＩＮＢＦは、入力端子ＩＮＤに供給される入力データを受け、受けたデータを演算器ＯＰ１に出力する。制御部ＣＮＴＬは、演算器ＯＰ１−７を有している。特に限定されないが、演算器ＯＰ１は、入力バッファＩＮＢＦを介して供給される直列の入力データを並列のデータに変換する機能を有している。並列データはセレクタＳＥＬ７に出力される。例えば、演算器ＯＰ２は、データの誤り訂正用の符号を生成し、データに付加する機能を有している。
【００２６】
演算器ＯＰ３は、試験モード中に、ＤＲＡＭを試験するためのアドレス信号を生成する機能を有している。生成された試験用のアドレス信号は、セレクタＳＥＬ７を介してルックアップテーブルＬＵＴ１に供給される。また、演算器ＯＰ３は、試験モード中に、バッファメモリＢＵＦＭおよびルックアップテーブルＬＵＴ１−２に情報を書き込み、バッファメモリＢＵＦＭおよびルックアップテーブルＬＵＴ１−２から情報を読み出す機能を有している。
【００２７】
演算器ＯＰ４は、ＤＲＡＭおよびバッファメモリＢＵＦＭをアクセスするためのアドレスを生成する機能を有している。演算器ＯＰ５は、試験モード中に、ＤＲＡＭを試験するための試験データを生成する機能を有している。生成された試験データは、セレクタＳＥＬ３を介してＤＲＡＭに供給される。特に限定されないが、演算器ＯＰ５は、試験モード中に、ＤＲＡＭから読み出したデータの圧縮し、圧縮したデータを試験インタフェースＴＳＴＩＦに出力する。
【００２８】
例えば、演算器ＯＰ６は、ＤＲＡＭから読み出されるデータの誤り訂正等の処理を行う機能を有している。特に限定されないが、演算器ＯＰ７は、ルックアップテーブルＬＵＴ２から読み出される並列のデータを直列のデータに変換する機能を有している。直列データは、出力バッファＯＵＴＢＦを介してデータ出力端子ＯＵＴＤに順次に出力される。
【００２９】
試験インタフェースＴＳＴＩＦは、試験モード中に、ＤＲＡＭを試験するために試験情報端子ＴＩＮＦで受ける情報を制御部ＣＮＴＬに出力し、試験により得られた情報を制御部ＣＮＴＬから受け、受けた情報を制御部ＣＮＴＬに出力する。レジスタＲＥＧは、試験モード中の制御部ＣＮＴＬ内の演算器ＯＰ１−７の動作モード等を決める情報や、演算器ＯＰ１−７の状態を示す情報が格納される。レジスタＲＥＧは、試験インタフェースＴＳＴＩＦにより読み書きされる。
【００３０】
救済情報インタフェースＲＩＩＦは、ＤＲＡＭのプログラム部ＰＲＧをプログラムするために必要な救済情報ＲＩＮＦを救済情報端子ＦＩＮＦに出力する。出力バッファＯＵＴＢＦは、演算部ＯＰ７から供給されるデータをデータ端子ＯＵＴＤに出力する。
【００３１】
図３は、図２に示したデータ変換部ＤＣＮＶ１の例を示している。ルックアップテーブルＬＵＴ１は、一般的なＳＲＡＭと同様に、アドレスデコーダＡＤＥＣ、データ入力部ＤＩＮ、メモリセルアレイＡＲＹおよびデータ出力部ＤＯＵＴを有している。アドレスデコーダＡＤＥＣは、３０ビットのアドレスＡＤａ（ＡＤａ０−２９）をデコードする。なお、アドレスＡＤａは、コラムアドレスＣＬを受けるビット群と、ロウアドレスＷＬを受けるビット群とを有している。特に限定されないが、アドレスデコーダＡＤＥＣは、コラムアドレスＣＬをデコードするコラムデコーダと、ロウアドレスＷＬをデコードするロウデコーダとを有している。
【００３２】
データ入力部ＤＩＮは、３０ビットの書き込みデータＤＴａ（ＤＴａ０−２９）を受け、メモリセルアレイＡＲＹに供給する。データ出力部ＤＯＵＴは、メモリセルアレイＡＲＹからの３０ビットの読み出しデータＤＴａ（ＤＴａ０−２９）を受け、データ変換部ＤＣＮＶ１の外部に出力する。
【００３３】
通常動作モード中、ルックアップテーブルＬＵＴ１は、ＲＧＢデータ（Ｒデータ、ＧデータおよびＢデータ）をＹＵＶデータ（Ｙデータ、ＵデータおよびＶデータ）に変換するために使用される。すなわち、ＲＧＢデータは、アドレス信号としてアドレスデコーダＡＤＥＣに供給され、ＹＵＶデータは、読み出しデータとしてデータ出力部ＤＯＵＴから出力される。データ入力部ＤＩＮは、所定のデータ変換機能をルックアップテーブルＬＵＴ１に持たせるために、書き込みデータを受ける。
【００３４】
試験モード中、ルックアップテーブルＬＵＴ１のメモリセルアレイＡＲＹ内の所定の記憶領域には、アクセスアドレスが割り当てられる。例えば、図１０に示すように、ルックアップテーブルＬＵＴ１の記憶領域には、リアルコラム線ＣＬ（ＣＬ０−７）を示すコラムアドレスＣＬおよびリアルワード線ＷＬ（ＷＬ０−７）を示すロウアドレスＷＬが割り当てられる。そして、アクセスアドレス、冗長アドレス、欠陥数のいずれかが、データＤ７−０としてルックアップテーブルＬＵＴ１に格納される。
【００３５】
２ビットのデータＤ９−８は、データＤ７−０の内容を示す状態フラグである。データＤ９−８が２進数で”００”のとき、データＤ７−０はアクセスアドレスを示す。アクセスアドレスは、ＤＲＡＭのメモリセルに試験データを書き込み、あるいはＤＲＡＭのメモリセルからデータを読み出すときに使用される。アドレス信号ＡＤａ０−２９により選択されるルックアップテーブルＬＵＴ１の記憶領域には、アドレスＡＤａ０−２９が示すアクセスアドレスに対応するデータが書き込まれる。このため、ルックアップテーブルＬＵＴ１は、アクセスアドレス（アドレス信号ＡＤａ０−２９）を受けたときに、アクセスアドレスと同じ値をデータ信号ＤＴａ０−２９として出力する。
【００３６】
データＤ９−８が２進数で”０１”のとき、データＤ７−０は冗長アドレスを示す。換言すれば、データＤ８の”１”は、データＤ７−０が冗長アドレスであることを示し、データＤ８の”０”は、データＤ７−０がアクセスアドレスであることを示す。冗長アドレスは、対応するアクセスアドレスが示すリアル線が欠陥を有するときに、欠陥を救済するためにリアル線と置き換えられる冗長線を示す。すなわち、データＤ９−８が”０１”のとき、ルックアップテーブルＬＵＴ１は、アクセスアドレスを冗長アドレスに変換する。なお、データＤ９−８の”０１”は、冗長アドレスの本登録を示す。
【００３７】
データＤ９−８が２進数で”１０”のとき、データＤ７−０は、対応するリアル線に含まれる欠陥数を示す。具体的には、対応するリアル線に接続されたメモリセルＭＣのうち欠陥を有するメモリセルＭＣの数を示す。データＤ９−８が２進数で”１１”のとき、データＤ７−０は、冗長アドレスを示す。但し、データＤ９−８が”１１”のとき、冗長アドレスは、仮登録の状態である。例えば、冗長アドレスは、冗長線が不足することが予想されるときに仮登録される。これにより、欠陥を有するリアル線の救済の試みを、複数の冗長アドレスを用いて行うことができる。そして、最も高い救済効率を有する冗長アドレスが本登録される。救済効率を上げることで、半導体メモリの良品率である歩留を向上できる。
【００３８】
なお、図３では、状態フラグをデータＤ９−８に割り当て、アクセスアドレス、冗長アドレスまたは欠陥数をデータＤ７−０に割り当てる例を示している。しかし、状態フラグの割り当ては、他の２ビットを用いてもよい。アクセスアドレス、冗長アドレスまたは欠陥数の割り当ては、データＤ７−０以外のビットでもよく、８ビットに限定されるものではない。ルックアップテーブルＬＵＴ１は、試験モード中に、コラムアドレスＣＬとロウアドレスＷＬ毎に状態フラグの割り当てとアクセスアドレス、冗長アドレスまたは欠陥数の割り当てとができればよい。試験モード中に状態フラグ、アクセスアドレス、冗長アドレスおよび欠陥数は、試験により得られたＤＲＡＭの欠陥アドレスに関係する欠陥情報として扱われる。
【００３９】
図４は、図２に示したデータ変換部ＤＣＮＶ２の例を示している。ルックアップテーブルＬＵＴ２は、ルックアップテーブルＬＵＴ１と同様に、アドレスデコーダＡＤＥＣ、データ入力部ＤＩＮ、メモリセルアレイＡＲＹおよびデータ出力部ＤＯＵＴを有している。ルックアップテーブルＬＵＴ２の構成は、３０ビットのアドレスＡＤｂ（ＡＤｂ０−２９）を受け、３０ビットのデータＤＴｂ（ＤＴｂ０−２９）入力または出力することを除き、ルックアップテーブルＬＵＴ１と同じである。なお、ルックアップテーブルＬＵＴ２のアドレスデコーダＡＤＥＣは、３０ビットのアドレスＡＤａを、ロウアドレスおよびコラムアドレスに区別することなく同時にデコードしてもよい。
【００４０】
通常動作モード中、ルックアップテーブルＬＵＴ２は、ＹＵＶデータをＲＧＢデータに変換するために使用される。すなわち、ＹＵＶデータは、アドレス信号としてアドレスデコーダＡＤＥＣに供給され、ＲＧＢデータは、読み出しデータとしてデータ出力部ＤＯＵＴから出力される。データ入力部ＤＩＮは、所定のデータ変換機能をルックアップテーブルＬＵＴ２に持たせるために、書き込みデータを受ける。
【００４１】
試験モード中、ルックアップテーブルＬＵＴ２のメモリセルアレイＡＲＹ内の所定の記憶領域には、冗長アドレスが割り当てられる。例えば、図１０に示すように、ルックアップテーブルＬＵＴ２の記憶領域は、冗長コラム線ＲＣＬ（ＣＬ０−３）を示す冗長コラムアドレスＲＣＬおよび冗長ワード線ＲＷＬ（ＲＷＬ０−３）を示す冗長ロウアドレスＲＷＬに割り当てられる。そして、冗長アドレスに対応する領域毎に欠陥アドレス、多ビット欠陥、１ビット欠陥のいずれかが、データＤ７−０としてルックアップテーブルＬＵＴ２に格納される。
【００４２】
２ビットのデータＤ９−８は、データＤ７−０の内容を示す状態フラグである。データＤ９−８が２進数で”０１”のとき、データＤ７−０は欠陥アドレスを示す。換言すれば、対応する冗長アドレスがどこのアクセスアドレス（欠陥アドレス）を救済しているかを示す。
【００４３】
データＤ９−８が２進数で”１０”のとき、対応する冗長アドレスによりアクセスされる複数の冗長メモリセルＭＣに欠陥が存在することを示す。このとき、データＤ７−０は使用されない。データＤ９−８が２進数で”１１”のとき、対応する冗長アドレスによりアクセスされる１つの冗長メモリセルＭＣに欠陥が存在することを示す。このとき、データＤ７−０は使用されない。なお、対応する冗長アドレスに少数ビット欠陥（１ビットまたは２ビット）が存在するときに、データＤ９−８を”１１”に設定してもよい。
【００４４】
なお、図４では、状態フラグをデータＤ９−８に割り当て、欠陥アドレスをデータＤ７−０に割り当てる例を示している。しかし、状態フラグの割り当ては、他の２ビットを用いてもよい。欠陥アドレスの割り当ては、データＤ７−０以外のビットでもよく、８ビットに限らない。ルックアップテーブルＬＵＴ２は、試験モード中に、冗長アドレス毎に状態フラグの割り当てと欠陥アドレスの割り当てとができればよい。状態フラグおよび欠陥アドレスは、試験により得られたＤＲＡＭの欠陥アドレスに関係する欠陥情報として扱われる。
【００４５】
図５は、図２に示した半導体メモリの通常動作モードにおける動作の例を示している。通常動作モードで使用される信号の経路を太い矢印で示している。まず、ＲＧＢデータをＹＵＶデータに変換してＤＲＡＭに書き込むとき、演算器ＯＰ１は、外部端子および入力バッファＩＮＢＦを介してＲＧＢデータを受ける（図５（ａ））。演算器ＯＰ１は、直列データとして供給されるＲＧＢデータを並列データに変換するとともにルックアップテーブルＬＵＴ１を読み出しアクセスするための制御信号をセレクタＳＥＬ７を介してルックアップテーブルＬＵＴ１に供給する（図５（ｂ））ここで、ＲＧＢデータはアドレスとしてルックアップテーブルＬＵＴ１に供給される。
【００４６】
ルックアップテーブルＬＵＴ１は、ＲＧＢデータを様々なデータ処理を行い易いＹＵＶデータに変換する。ＹＵＶデータは、必要な処理をするためにセレクタＳＥＬ８を介して演算器ＯＰ２に供給される（図５（ｃ））。演算器ＯＰ２は、処理されたＹＵＶデータに誤り訂正符号を付加し、セレクタＳＥＬ６を介してバッファメモリＢＵＦＭの第１ポートＰ１に供給する（図５（ｄ））。演算器ＯＰ４は、ＹＵＶデータおよび誤り訂正符号をバッファメモリＢＵＦＭに書き込むために、アドレスおよび制御信号をセレクタＳＥＬ２を介してバッファメモリＢＵＦＭのポートＰ１に供給する（図５（ｅ））。ＹＵＶデータおよび誤り訂正符号は、バッファメモリＢＵＦＭに一時的に保持される。
【００４７】
次に、演算器ＯＰ４は、バッファメモリＢＵＦＭのポートＰ２にアドレスおよび制御信号を供給し、ＹＵＶデータおよび誤り訂正符号を読み出す（図５（ｆ））。ＹＵＶデータおよび誤り訂正符号は、セレクタＳＥＬ３を介してＤＲＡＭに供給される（図５（ｇ））。演算器ＯＰ４は、バッファメモリＢＵＦＭからのＹＵＶデータおよび誤り訂正符号をＤＲＡＭに書き込むために、セレクタＳＥＬ４を介してアドレスおよび制御信号をＤＲＡＭに供給する（図５（ｈ））。そして、ＹＵＶデータおよび誤り訂正符号は、バッファメモリＢＵＦＭを経由してＤＲＡＭのメモリコアＣＯＲＥに書き込まれる。
【００４８】
ＤＲＡＭ内のＹＵＶデータが必要になったとき、演算器ＯＰ４は、セレクタＳＥＬ４を介してアドレスおよび制御信号をＤＲＡＭに供給する（図５（ｉ））。ＤＲＡＭから読み出されたＹＵＶデータおよび誤り訂正符号は、セレクタＳＥＬ３を介してバッファメモリＢＵＦＭに供給される（図５（ｊ））。演算器ＯＰ４は、ＹＵＶデータをバッファメモリＢＵＦＭに書き込むために、ＹＵＶデータのバッファメモリＢＵＦＭへの供給に合わせて、バッファメモリＢＵＦＭのポートＰ２にアドレスおよび制御信号を供給する（図５（ｋ））。ＤＲＡＭから読み出されたＹＵＶデータは、バッファメモリＢＵＦＭに一時的に保持される。
【００４９】
次に、演算器ＯＰ４は、バッファメモリＢＵＦＭのポートＰ１にアドレスおよび制御信号を供給し、ＹＵＶデータを読み出す（図５（ｌ））。ＹＵＶデータは、セレクタＳＥＬ６を介して演算器ＯＰ６に供給される（図５（ｍ））。演算器ＯＰ６は、誤り訂正符号を用いてＹＵＶデータの誤りを訂正し、セレクタＳＥＬ９を介して制御信号とともにルックアップテーブルＬＵＴ２に供給する（図５（ｎ））。ルックアップテーブルＬＵＴ２は、ＹＵＶデータをアドレスとして受け、ＲＧＢデータを出力する。すなわち、ＹＵＶデータは、ＲＧＢデータに変換される（図５（ｏ））。ＲＧＢデータは、セレクタＳＥＬ１０を介して演算器ＯＰ７に供給される（図５（ｐ））。演算器ＯＰ７は、並列のＲＧＢデータを直列データに変換し、出力バッファＯＵＴＢＦを介して外部端子に出力する（図５（ｑ））。
【００５０】
図６は、図２に示した半導体メモリＭＥＭの製造試験の例を示している。図６に示したフローは、半導体メモリＭＥＭの製造工程において実施される。先ず、ステップＳ１００、Ｓ２００、Ｓ３００において、データ変換部ＤＣＮＶ１のルックアップテーブルＬＵＴ１、データ変換部ＤＣＮＶ２のルックアップテーブルＬＵＴ２およびバッファメモリＢＵＦＭが順次に初期化される。ステップＳ１００Ｓ２００、Ｓ３００の詳細は、図７から図９にそれぞれ示す。
【００５１】
次に、ステップＳ４００において、冗長線（冗長ワード線ＲＷＬまたは冗長コラム線ＲＣＬ）の試験が実施される。冗長線の試験をリアル線（リアルワード線ＷＬまたはリアルコラム線ＣＬ）の試験の前に実施することにより、欠陥を有するリアル線が欠陥を有する冗長線に置き換えられることを防止できる。すなわち、欠陥を救済できない不具合を防止できる。ステップＳ４００の詳細は、図１１に示す。
【００５２】
ステップＳ５００において、リアル線に接続された複数ビットの欠陥が救済される。すなわち、欠陥を有する複数のメモリセルＭＣに接続されたリアル線が検出され、冗長線に置き換えられる。ステップＳ５００の詳細は、図２２に示す。ステップＳ６００において、リアル線に接続された単ビットの欠陥が救済される。すなわち、欠陥を有する１つのメモリセルＭＣに接続されたリアル線が検出され、冗長線に置き換えられる。ステップＳ６００の詳細は、図３４に示す。
【００５３】
次に、ステップＳ７００において、欠陥アドレスが外部の試験装置に出力される。例えば、試験装置は、ＤＲＡＭのプログラム部ＰＲＧをプログラムするためのレーザ救済装置である。次に、ステップＳ８００において、プログラム部ＰＲＧが、試験装置を用いてプログラムされる。すなわち、欠陥を有するメモリセルＭＣに接続されたリアル線が、冗長線に置き換えられ、欠陥が救済される。
【００５４】
図７は、図６に示したルックアップテーブルＬＵＴ１の初期化処理の例を示している。図７の処理は、制御部ＣＮＴＬにより実施される。図７に示した初期化処理により、ルックアップテーブルＬＵＴ１は、図１０に示す状態に設定される。
【００５５】
先ず、ステップＳ１０２において、コラムアドレスＣＬを示すコラムカウンタが”０”に初期化される。ステップＳ１０４において、制御部ＣＮＴＬは、コラムカウンタの値に対応する領域のビットＤ９−８に”０”を書き込む。ステップＳ１０６において、制御部ＣＮＴＬは、コラムカウンタの値に対応する領域のビットＤ７−０にコラムカウンタの値を書き込む。例えば、図１０に示すように、コラムカウンタがコラムアドレスＣＬ０を示しているとき、ルックアップテーブルＬＵＴ１内のコラムアドレスＣＬ０に対応するビットＤ７−０にコラムアドレスＣＬ０が書き込まれる。ステップＳ１０４、Ｓ１０６によるデータの書き込みは、同時に行われてもよい。
【００５６】
次に、ステップＳ１０８において、コラムカウンタがカウントアップされ、カウンタ値が”１”増加する。ステップＳ１１０において、コラムカウンタの値がコラムアドレスの最大値ＣＬｍａｘを超えている場合、処理はステップＳ１１２に移行する。コラムカウンタの値が最大値ＣＬｍａｘを超えていない場合、ステップＳ１０４からＳ１０８の処理が再び実施される。なお、この例では、説明を分かりやすくするために、図１０に示すようにコラムアドレスの最大値ＣＬｍａｘは、ＣＬ７にしている。
【００５７】
次に、ステップＳ１１２において、ロウアドレスＷＬを示すロウカウンタが”０”に初期化される。ステップＳ１１４において、制御部ＣＮＴＬは、ロウカウンタの値に対応する領域のビットＤ９−８に”０”を書き込む。ステップＳ１１６において、制御部ＣＮＴＬは、ロウカウンタの値に対応する領域のビットＤ７−０にロウカウンタの値を書き込む。例えば、図１０に示すように、ロウカウンタがロウアドレスＷＬ０を示しているとき、ルックアップテーブルＬＵＴ１内のロウアドレスＷＬ０に対応するビットＤ７−０にロウアドレスＷＬ０が書き込まれる。ステップＳ１１４、Ｓ１１６によるデータの書き込みは、同時に行われてもよい。
【００５８】
次に、ステップＳ１１８において、ロウカウンタがカウントアップされ、カウンタ値が”１”増加する。ステップＳ１２０において、ロウカウンタの値がロウアドレスの最大値ＷＬｍａｘを超えている場合、処理は終了する。ロウカウンタの値が最大値ＷＬｍａｘを超えていない場合、ステップＳ１１４からＳ１１８の処理が再び実施される。なお、この例では、説明を分かりやすくするために、図１０に示すようにロウアドレスの最大値ＷＬｍａｘは、ＷＬ１５にしている。
【００５９】
図８は、図６に示したルックアップテーブルＬＵＴ２の初期化処理の例を示している。図８の処理は、制御部ＣＮＴＬにより実施される。図８に示した初期化処理により、ルックアップテーブルＬＵＴ２は、図１０に示す状態に設定される。
【００６０】
先ず、ステップＳ２０２において、冗長コラムアドレスＲＣＬを示すコラムカウンタが”０”に初期化される。ステップＳ２０４において、制御部ＣＮＴＬは、コラムカウンタの値に対応する領域のビットＤ９−８に”０”を書き込む。ステップＳ２０６において、制御部ＣＮＴＬは、コラムカウンタの値に対応する領域のビットＤ７−０にコラムカウンタの値を書き込む。例えば、図１０に示すように、コラムカウンタが冗長コラムアドレスＲＣＬ０を示しているとき、ルックアップテーブルＬＵＴ２内のコラムアドレスＲＣＬ０に対応するビットＤ７−０に冗長コラムアドレスＲＣＬ０が書き込まれる。ステップＳ２０４、Ｓ２０６によるデータの書き込みは、同時に行われてもよい。
【００６１】
次に、ステップＳ２０８において、コラムカウンタがカウントアップされ、カウンタ値が”１”増加する。ステップＳ２１０において、コラムカウンタの値が冗長コラムアドレスＲＣＬの最大値ＲＣＬｍａｘを超えている場合、処理はステップＳ２１２に移行する。コラムカウンタの値が最大値ＲＣＬｍａｘを超えていない場合、ステップＳ２０４からＳ２０８の処理が再び実施される。なお、この例では、図１０に示すように、冗長コラムアドレスＲＣＬの最大値ＲＣＬｍａｘは、ＲＣＬ３である。
【００６２】
次に、ステップＳ２１２において、冗長ロウアドレスＲＷＬを示すロウカウンタが”０”に初期化される。ステップＳ２１４において、制御部ＣＮＴＬは、ロウカウンタの値に対応する領域のビットＤ９−８に”０”を書き込む。ステップＳ２１６において、制御部ＣＮＴＬは、ロウカウンタの値に対応する領域のビットＤ７−０にロウカウンタの値を書き込む。例えば、図１０に示すように、ロウカウンタが冗長ロウアドレスＲＷＬ０を示しているとき、ルックアップテーブルＬＵＴ２内の冗長ロウアドレスＲＷＬ０に対応するビットＤ７−０に冗長ロウアドレスＲＷＬ０が書き込まれる。ステップＳ２１４、Ｓ２１６によるデータの書き込みは、同時に行われてもよい。
【００６３】
次に、ステップＳ２１８において、ロウカウンタがカウントアップされ、カウンタ値が”１”増加する。ステップＳ２２０において、ロウカウンタの値が冗長ロウアドレスＲＷＬの最大値ＲＷＬｍａｘを超えている場合、処理は終了する。ロウカウンタの値が最大値ＲＷＬｍａｘを超えていない場合、ステップＳ２１４からＳ２１８の処理が再び実施される。なお、この例では、図１０に示すように、冗長ロウアドレスの最大値ＲＷＬｍａｘは、ＲＷＬ３である。
【００６４】
図９は、図６に示したバッファメモリＢＵＦＭの初期化処理の例を示している。図９の処理は、制御部ＣＮＴＬにより実施される。図９に示した初期化処理により、バッファメモリＢＵＦＭは、図１０に示す状態に設定される。
【００６５】
先ず、ステップＳ３０２において、ライトポインタＷＰが”０”に初期化される。ライトポインタＷＰは、例えば、バッファメモリＢＵＦＭの第１ポートＰ１に供給されるアドレスである。ステップＳ３０４において、制御部ＣＮＴＬは、ライトポインタＷＰに対応するバッファ領域ＢＡに”０”を書き込む。ステップＳ３０６において、制御部ＣＮＴＬは、ライトポインタＷＰを”１”増加する。ステップＳ３０６において、ライトポインタＷＰの値が最大値ＷＰｍａｘを超えている場合、処理は終了する。ライトポインタＷＰの値が最大値ＷＰｍａｘを超えていない場合、ステップＳ３０４、Ｓ３０６の処理が再び実施される。なお、バッファメモリＢＵＦＭの初期化は、バッファメモリＢＵＦＭの第２ポートＰ２に供給されるアドレスであるリードポインタＲＰを用いて実施されてもよい。
【００６６】
図１０は、図７から図９の初期化処理後の状態の例を示している。この実施形態では、説明を分かりやすくするために、ＤＲＡＭは、１６本のリアルワード線ＷＬ（ＷＬ０−１５）、８本のリアルコラム線ＣＬ（ＣＬ０−７）、４本の冗長ワード線ＲＷＬ（ＲＷＬ０−３）および４本の冗長コラム線ＲＣＬ（ＲＣＬ０−３）を有しているとする。また、後述する試験において、バッファメモリＢＵＦＭがオーバーフローしないように、ＤＲＡＭのリアルメモリセルＭＣの試験は、２つのメモリブロックＭＢ０−１毎に実施される。メモリブロックＭＢ０−１は、試験のために区画された領域である。なお、実際のＤＲＡＭでは、ワード線ＷＬの数およびコラム線ＣＬの数は、図１０に示したよりも多い。図１０のＤＲＡＭに示した黒丸は、欠陥を有するリアルメモリセルＭＣおよび冗長メモリセルＲＭＣを示している。欠陥を有していないリアルメモリセルＭＣおよび冗長メモリセルＲＭＣの記載は省略する。
【００６７】
リアルメモリセルＭＣは、リアルワード線ＷＬとリアルビット線の交差部分に配置される。リアルコラム線ＣＬは、リアルビット線をセンスアンプに接続するコラムスイッチに接続される。但し、図１０では、説明を簡単にするために、ビット線の記載を省略し、リアルメモリセルＭＣは、リアルワード線ＷＬとリアルコラム線ＣＬの交差部分に配置されるとする。
【００６８】
冗長メモリセルＲＭＣは、冗長ワード線ＲＷＬとリアルビット線の交差部分、冗長ワード線ＲＷＬと冗長ビット線の交差部分、およびリアルワード線ＷＬと冗長ビット線の交差部分に配置される。冗長コラム線ＲＣＬは、冗長ビット線をセンスアンプに接続する冗長コラムスイッチに接続される。但し、図１０では、説明を簡単にするために、冗長ビット線の記載を省略し、冗長メモリセルＭＣは、冗長ワード線ＲＷＬとリアルコラム線ＣＬの交差部分、冗長ワード線ＲＷＬと冗長コラム線ＲＣＬの交差部分、およびリアルワード線ＷＬと冗長コラム線ＲＣＬの交差部分に配置されるとする。
【００６９】
この実施形態では、説明を分かりやすくするために、コラム線ＣＬを選択するためのコラムアドレスをコラム線ＣＬと同じ符号で示し、ワード線ＷＬを選択するためのロウアドレスをワード線ＷＬと同じ符号で示す。同様に、冗長コラム線ＲＣＬを選択するための冗長コラムアドレスを冗長コラム線ＲＣＬと同じ符号で示し、冗長ワード線ＲＷＬを選択するための冗長ロウアドレスを冗長ワード線ＲＷＬと同じ符号で示す。
【００７０】
図１１は、図６に示した冗長ライン試験の例を示している。図１１の処理は、制御部ＣＮＴＬにより実施される。冗長ライン試験中のルックアップテーブルＬＵＴ１−２、バッファメモリＢＵＦＭの状態は、図１４から図１７、図２０、図２１に示す。図１４は、図１１に示したフローにおいて、冗長ワード線とリアルコラム線が配線される領域を試験した後の欠陥情報の状態の例を示している。図１５は、図１１に示したフローにおいて、冗長ワード線と冗長コラム線が配線される領域を試験した後の欠陥情報の状態の例を示している。図１６は、図１１に示したフローにおいて、リアルワード線と冗長コラム線が配線される領域を試験した後の欠陥情報の状態の例を示している。図２０は、図１１に示したフローにおいて、冗長ワード線と冗長コラム線の欠陥数を集計した後の欠陥情報の状態の例を示している。図２１は、図１１に示したフローにおいて、データ変換部ＤＣＮＶ２に欠陥情報を設定した後の状態の例を示している。
【００７１】
先ず、図１１のステップＳ４０２において、制御部ＣＮＴＬは、冗長ワード線ＲＷＬ０−３を選択するために、ルックアップテーブルＬＵＴ１に情報を設定する。具体的には、図１４に示すように、ルックアップテーブルＬＵＴ１のロウアドレスＷＬ０−３に対応する領域のビットＤ８を”１”に設定する。ビットＤ８に”１”を書き込むことにより、ビットＤ７−０の値は、冗長ロウアドレスとして扱われる。図１４に示した状態で、例えば、ルックアップテーブルＬＵＴ１は、ロウアドレスＷＬ０を受けたときに、冗長ロウアドレスＲＷＬ０を示すデータを出力する。これにより、制御部ＣＮＴＬは、ルックアップテーブルＬＵＴ１を介して、ＤＲＡＭの冗長ワード線ＲＷＬ０−３とリアルコラム線ＣＬ０−７とに接続された冗長メモリセルＲＭＣをアクセスできる。
【００７２】
ステップＳ４０４において、制御部ＣＮＴＬは、ＤＲＡＭに試験データを書き込むために、ロウアドレスＷＬ０−３とコラムアドレスＣＬ０−７をルックアップテーブルＬＵＴ１に順次に供給する。ルックアップテーブルＬＵＴ１は、冗長ロウアドレスＲＷＬ０−３とコラムアドレスＣＬ０−７をＤＲＡＭに順次に出力する。制御部ＣＮＴＬは、ＤＲＡＭへのアドレスの供給に合わせて制御信号および試験データをＤＲＡＭに出力する。これにより、ＤＲＡＭの冗長ワード線ＲＷＬ０−３とコラム線ＣＬ０−７に対応する冗長メモリセルＲＭＣ（図１４のＤＲＡＭ内に網掛けで示した領域）に試験データが書き込まれる。
【００７３】
制御部ＣＮＴＬは、データを書き込んだ冗長メモリセルＲＭＣからデータを読み出すために、ロウアドレスＷＬ０−３とコラムアドレスＣＬ０−７をルックアップテーブルＬＵＴ１に順次に供給する。ルックアップテーブルＬＵＴ１は、冗長ロウアドレスＲＷＬ０−３とコラムアドレスＣＬ０−７をＤＲＡＭに順次に出力する。制御部ＣＮＴＬは、ＤＲＡＭへのアドレスの供給に合わせて制御信号と期待値をＤＲＡＭに出力する。
【００７４】
ＤＲＡＭの欠陥判定器ＪＤＧは、冗長メモリセルＲＭＣからの読み出しデータと期待値とを順次に比較する。欠陥判定器ＪＤＧは、読み出しデータが期待値と異なるときに、アクセスされた冗長メモリセルＲＭＣに欠陥があると判定する。そして、欠陥判定器ＪＤＧは、欠陥を有する冗長メモリセルＲＭＣを示す冗長ロウアドレスＲＷＬとコラムアドレスＣＬを欠陥アドレスとして出力するとともに、カウントアップ信号ＣＵＰを出力する。
【００７５】
カウントアップ信号ＣＵＰにより、欠陥アドレスがバッファメモリＢＵＦＭに順次に書き込まれる。この例では、欠陥アドレスは、図１４のバッファメモリＢＵＦＭ内に網掛けで示すように、”ＲＷＬ０、ＣＬ１”、”ＲＷＬ０、ＣＬ２”、”ＲＷＬ０、ＣＬ３”、”ＲＷＬ１、ＣＬ２”である。
【００７６】
図１２は、図１１に示したステップＳ４０４におけるＤＲＡＭの書き込み動作の例を示している。なお、図１２に示した動作は、後述する試験モード中のＤＲＡＭの書き込み動作でも使用される。試験インタフェースＴＳＴＩＦは、ＤＲＡＭの試験を開始するための情報を試験情報端子ＴＩＮＦで受け、受けた情報を演算器ＯＰ３、ＯＰ５に出力する（図１２（ａ））。演算器ＯＰ３は、ＤＲＡＭのメモリコアＣＯＲＥに試験データを書き込むためのアドレス信号を生成する。アドレス信号は、セレクタＳＥＬ７、ルックアップテーブルＬＵＴ１およびセレクタＳＥＬ４を介して、ＤＲＡＭに供給される（図１２（ｂ、ｃ））。この例では、ルックアップテーブルＬＵＴ１に冗長アドレスがプログラムされているため、ＤＲＡＭに冗長アドレスが供給される。なお、演算器ＯＰ３は、ＤＲＡＭをアクセスするための制御信号（コマンド信号）も生成する。例えば、制御信号は、セレクタＳＥＬ４に直接供給され、セレクタＳＥＬ４からＤＲＡＭに供給される。
【００７７】
演算器ＯＰ５は、試験インタフェースＴＳＴＩＦからの情報に基づいて、ＤＲＡＭに書き込む試験データを生成する。試験データは、セレクタＳＥＬ３を介してＤＲＡＭに書き込まれる（図１２（ｄ））。
【００７８】
図１３は、図１１に示したステップＳ４０４におけるＤＲＡＭの読み出し動作の例を示している。なお、図１３に示した動作は、後述する試験モード中のＤＲＡＭの読み出し動作でも使用される。図１２と同じ動作については、詳細な説明は省略する。演算器ＯＰ３は、図１２と同様に、ＤＲＡＭのメモリコアＣＯＲＥから試験データを読み出すためのアドレス信号および制御信号を生成し、出力する（図１３（ａ、ｂ））。演算器ＯＰ５は、演算器ＯＰ３により生成されるアドレス信号に対応する試験データの期待値をセレクタＳＥＬ３を介してＤＲＡＭに供給する（図１３（ｃ））。
【００７９】
欠陥判定器ＪＤＧは、メモリコアＣＯＲＥからの読み出しデータと期待値とを順次に比較する。欠陥判定器ＪＤＧは、読み出しデータが期待値と異なるときに、アクセスアドレスを欠陥アドレスとして出力するとともに、カウントアップ信号ＣＵＰを出力する（図１３（ｄ））。カウンタＣＯＵＮＴは、カウントアップ信号ＣＵＰに応答してカウンタ値を”１”増加する。カウンタ値は、アドレス信号としてセレクタＳＥＬ１１、ＳＥＬ２を介してバッファメモリＢＵＦＭのアドレス端子に供給される（図１３（ｅ））。欠陥判定器ＪＤＧから出力される欠陥アドレスは、セレクタＳＥＬ６を介してバッファメモリＢＵＦＭのデータ端子に供給され、バッファメモリＢＵＦＭに書き込まれる（図１３（ｆ））。
【００８０】
次に、図１１のステップＳ４０６において、制御部ＣＮＴＬは、冗長コラム線ＲＣＬ０−３および冗長ワード線ＷＲＬ０−３を選択するために、ルックアップテーブルＬＵＴ１を設定する。具体的には、図１５に示すように、ルックアップテーブルＬＵＴ１のコラムアドレスＣＬ０−３に対応する領域のビットＤ８を”１”に設定する。ビットＤ８に”１”を書き込むことにより、ビットＤ７−０の値は、冗長コラムアドレスとして扱われる。冗長ワードアドレスの設定状態は、図１４と同じである。図１５に示した状態で、例えば、ルックアップテーブルＬＵＴ１は、コラムアドレスＣＬ０を受けたときに、冗長コラムアドレスＲＣＬ０を示すデータを出力する。これにより、制御部ＣＮＴＬは、ルックアップテーブルＬＵＴ１を介して、ＤＲＡＭの冗長コラム線ＲＣＬ０−３と冗長ワード線ＲＷＬ０−３とに接続された冗長メモリセルＲＭＣをアクセスできる。ＤＲＡＭは、ルックアップテーブルＬＵＴ１からのデータＤ８−０をアドレス信号として受ける。ＤＲＡＭは、ルックアップテーブルＬＵＴ１のビットＤ８が”１”のとき、冗長コラムアドレスＲＣＬまたは冗長ロウアドレスＲＷＬが供給されたと判断し、冗長コラム線ＲＣＬまたは冗長ワード線ＷＲＬを選択する。
【００８１】
ステップＳ４０８において、制御部ＣＮＴＬは、ＤＲＡＭに試験データを書き込むために、ロウアドレスＷＬ０−３とコラムアドレスＣＬ０−７をルックアップテーブルＬＵＴ１に順次に供給する。ルックアップテーブルＬＵＴ１は、冗長ロウアドレスＲＷＬ０−３と冗長コラムアドレスＲＣＬ０−３をＤＲＡＭに順次に出力する。制御部ＣＮＴＬは、ＤＲＡＭへのアドレスの供給に合わせて制御信号と試験データをＤＲＡＭに出力する。これにより、ＤＲＡＭの冗長ワード線ＲＷＬ０−３と冗長コラム線ＲＣＬ０−３に対応する冗長メモリセルＲＭＣ（図１５のＤＲＡＭ内に網掛けで示した領域）に試験データが書き込まれる。
【００８２】
この後、制御部ＣＮＴＬは、上述と同様に、ルックアップテーブルＬＵＴ１を介して冗長ロウアドレスＲＷＬ０−３と冗長コラムアドレスＲＣＬ０−３をＤＲＡＭに順次に出力するとともに、制御信号と期待値をＤＲＡＭに順次に出力する。これにより、ＤＲＡＭの読み出し動作が実行される。欠陥判定器ＪＤＧは、読み出しデータが期待値と異なるときに、欠陥を有する冗長メモリセルＲＭＣを示す冗長ロウアドレスＲＷＬと冗長コラムアドレスＲＣＬを欠陥アドレスとして出力するとともに、カウントアップ信号ＣＵＰを出力する。カウントアップ信号ＣＵＰにより、欠陥アドレスがバッファメモリＢＵＦＭに書き込まれる。この例では、欠陥アドレスは、図１５のバッファメモリＢＵＦＭ内に網掛けで示すように、”ＲＷＬ０、ＲＣＬ２”である。
【００８３】
次に、ステップＳ４１０において、制御部ＣＮＴＬは、冗長コラム線ＲＣＬ０−３およびワード線ＷＬ０−１５を選択するために、ルックアップテーブルＬＵＴ１を設定する。具体的には、図１６に示すように、ルックアップテーブルＬＵＴ１のロウアドレスＷＬ０−３に対応する領域のビットＤ８が”０”に戻される。図１６に示した状態で、制御部ＣＮＴＬは、ルックアップテーブルＬＵＴ１を介して、ＤＲＡＭの冗長コラム線ＲＣＬ０−３とリアルワード線ＷＬ０−１５とに接続された冗長メモリセルＲＭＣをアクセスできる。
【００８４】
ステップＳ４１２において、制御部ＣＮＴＬは、ＤＲＡＭに試験データを書き込むために、ロウアドレスＷＬ０−１５とコラムアドレスＣＬ０−３をルックアップテーブルＬＵＴ１に順次に供給する。ルックアップテーブルＬＵＴ１は、リアルロウアドレスＷＬ０−１５と冗長コラムアドレスＲＣＬ０−３をＤＲＡＭに順次に出力する。制御部ＣＮＴＬは、ＤＲＡＭへのアドレスの供給に合わせて制御信号および試験データをＤＲＡＭに出力する。これにより、ＤＲＡＭのリアルワード線ＷＬ０−１５と冗長コラム線ＲＣＬ０−３に対応する冗長メモリセルＲＭＣ（図１６のＤＲＡＭ内に網掛けで示した領域）に試験データが書き込まれる。
【００８５】
この後、制御部ＣＮＴＬは、上述と同様に、ルックアップテーブルＬＵＴ１を介してリアルロウアドレスＷＬ０−１５と冗長コラムアドレスＲＣＬ０−３をＤＲＡＭに順次に出力するとともに、制御信号と期待値をＤＲＡＭに順次に出力する。これにより、ＤＲＡＭの読み出し動作が実行される。欠陥判定器ＪＤＧは、読み出しデータが期待値と異なるときに、欠陥を有する冗長メモリセルＲＭＣを示すリアルロウアドレスＷＬと冗長コラムアドレスＲＣＬを欠陥アドレスとして出力するとともに、カウントアップ信号ＣＵＰを出力する。カウントアップ信号ＣＵＰにより、欠陥アドレスがバッファメモリＢＵＦＭに書き込まれる。この例では、欠陥アドレスは、図１６のバッファメモリＢＵＦＭ内に網掛けで示すように、”ＷＬ３、ＲＣＬ２”である。
【００８６】
次に、ステップＳ４１４において、制御部ＣＮＴＬは、冗長ワード線ＲＷＬ０−３および冗長コラム線ＣＬ０−３に接続された冗長メモリセルＲＭＣの欠陥数を集計する。ルックアップテーブルＬＵＴ１のビットＤ７−０は、対応する冗長ロウアドレスＲＷＬ０−３または対応する冗長コラムアドレスＲＣＬ０−３に接続された冗長メモリセルＲＭＣの欠陥数を蓄積するカウンタとして機能する。ここで、ルックアップテーブルＬＵＴ１のコラムアドレスＣＬ０−３に対応する領域が、冗長コラムアドレスＲＣＬ０−３に対応する領域として扱われる。ルックアップテーブルＬＵＴ１のロウアドレスＷＬ０−３に対応する領域が、冗長ロウアドレスＲＷＬ０−３に対応する領域として扱われる。
【００８７】
先ず、制御部ＣＮＴＬは、バッファメモリＢＵＦＭ内の欠陥情報を先頭から順に読み出す。制御部ＣＮＴＬは、欠陥情報に冗長ロウアドレスＲＷＬまたは冗長コラムアドレスＲＣＬが含まれるときに、ルックアップテーブルＬＵＴ１における対応する領域のビットＤ７−０を１ずつ加算する。制御部ＣＮＴＬは、ビットＤ７−０の最初の加算時に、対応するビットＤ９−８を”１０”に設定する。ビットＤ９−８の”１０”は、対応するビットＤ７−０に欠陥数が書き込まれていることを示す。そして、図２０に示すように、冗長コラム線ＣＬ２および冗長ワード線ＲＷＬ０、ＲＷＬ１の欠陥数が集計される。この例では、ルックアップテーブルＬＵＴ１により、冗長コラム線ＣＬ２に接続された冗長メモリセルＲＭＣの２つに欠陥があることが分かる。また、冗長ワード線ＲＷＬ０に接続された冗長メモリセルＲＭＣの４つに欠陥があり、冗長ワード線ＲＷＬ２に接続された冗長メモリセルＲＭＣの１つに欠陥があることが分かる。
【００８８】
図１７は、図１１に示したステップＳ４１４における欠陥数の集計処理の例を示している。図１７に示した処理は、制御部ＣＮＴＬにより実施される。先ず、ステップＳ４３０において、バッファメモリＢＵＦＭの読み出しアドレスＩが”０”に設定される。ステップＳ４３２において、バッファメモリＢＵＦＭのアドレスＩからデータが読み出される。ステップＳ４３４において、バッファメモリＢＵＦＭからのデータに欠陥情報（すなわち、欠陥アドレス）が含まれるとき、処理はステップＳ４３６に移行する。データに欠陥情報が含まれないとき、処理は、終了する。
【００８９】
ステップＳ４３６において、ルックアップテーブルＬＵＴ１における欠陥アドレスに対応する領域に保持されているデータが読み出される。ステップＳ４３８において、ビットＤ８が”１”のとき、すでに欠陥アドレスが登録されているため、欠陥は救済される。このため、処理はステップＳ４５０に移行する。ステップＳ４３８において、ビットＤ８が”０”のとき、欠陥数を集計するために、処理はステップＳ４４０に移行する。
【００９０】
ステップＳ４４０において、ビットＤ９が”１”でないと判定されたとき、ビットＤ９を”１”に設定するために、ステップＳ４４２が実施される。ステップＳ４４４において、欠陥数が”１”増加される。なお、欠陥数は、集計処理を実施する前に”０”に設定されている。ステップＳ４４６において、欠陥数がルックアップテーブルＬＵＴ１のビットＤ７−０に書き込まれる。ステップＳ４４８において、読み出しアドレスＩが”１”増加される。ステップＳ４５０において、読み出しアドレスＩが最大値Ｉｍａｘを超えているとき、処理は終了する。読み出しアドレスＩが最大値Ｉｍａｘを超えていないとき、処理はステップＳ４３２に移行し、次の欠陥アドレスに対応する欠陥数が集計される。
【００９１】
図１８は、図１７に示したステップＳ４３２における動作の例を示している。なお、図１８に示した動作は、後述する試験モード中のバッファメモリＢＵＦＭの読み出し動作および書き込み動作でも使用される。試験モード中に、バッファメモリＢＵＦＭからデータを読み出すとき、演算器ＯＰ３は、アドレス信号および制御信号（コマンド信号）を生成する。生成されたアドレス信号および制御信号は、セレクタＳＥＬ１１、ＳＥＬ２を介してバッファメモリＢＵＦＭに供給される（図１８（ａ、ｂ））。バッファメモリＢＵＦＭから読み出されたデータ（この例では、欠陥アドレス）は、セレクタＳＥＬ６を介して演算器ＯＰ３に供給される（図１８（ｃ））。
【００９２】
図１９は、図１７に示したステップＳ４３６からＳ４４６における動作の例を示している。演算器ＯＰ３は、バッファメモリＢＵＦＭからの欠陥アドレスに基づいて、ルックアップテーブルＬＵＴ１をアクセスする。ルックアップテーブルＬＵＴ１をアクセスするためのアドレス信号および制御信号は、セレクタＳＥＬ７を介してルックアップテーブルＬＵＴ１に供給される（図１９（ａ））。ルックアップテーブルＬＵＴ１からの読み出しデータおよびルックアップテーブルＬＵＴ１への書き込みデータは、セレクタＳＥＬ８を介して伝達される（図１９（ｂ））。
【００９３】
次に、図１１のステップＳ４１６において、制御部ＣＮＴＬは、ルックアップテーブルＬＵＴ１を用いて、冗長コラムアドレスＣＬ２および冗長ロウアドレスＲＷＬ０−１の欠陥情報をルックアップテーブルＬＵＴ２に設定する。具体的には、先ず、制御部ＣＮＴＬは、ルックアップテーブルＬＵＴ１内のビットＤ９−８が”１０”に設定されている領域をサーチする。
【００９４】
ビットＤ７−０に複数の欠陥が登録されているときに、制御部ＣＮＴＬは、ルックアップテーブルＬＵＴ２内の対応する領域のビットＤ９−８を”１０”に設定する。ビットＤ７−０に１つの欠陥が登録されているときに、制御部ＣＮＴＬは、ルックアップテーブルＬＵＴ２内の対応する領域のビットＤ９−８を”１１”に設定する。また、制御部ＣＮＴＬは、ビットＤ９−８に”１１”を設定したとき、欠陥を有する冗長メモリセルＲＭＣに接続されたリアルコラム線ＲＣＬを示すコラムアドレス（この例では、ＣＬ２）を、対応するビットＤ７−０に設定する。ステップＳ４１６の処理により、ルックアップテーブルＬＵＴ２は、図２１に示す状態に設定される。
【００９５】
次に、ステップＳ４１８において、制御部ＣＮＴＬは、バッファメモリＢＵＦＭを初期化する。初期化の方法は、図９と同じである。ステップＳ４２０において、制御部ＣＮＴＬは、ルックアップテーブルＬＵＴ１を初期化する。初期化の方法は、図７と同じである。
【００９６】
図２２は、図６に示した複数ビットの欠陥の救済処理の例を示している。図２２の処理は、制御部ＣＮＴＬにより実施される。複数ビットの欠陥の救済処理中のルックアップテーブルＬＵＴ１−２、バッファメモリＢＵＦＭの状態は、図２５から図３０に示す。図２５は、図２２に示したフローにおいて、最初のメモリブロックを試験した後の欠陥情報の状態の例を示している。図２６は、図２２に示したフローにおいて、リアルワード線とリアルコラム線の欠陥数を集計した後の欠陥情報の状態の例を示している。図２７は、図２２に示したフローにおいて、ルックアップテーブルＬＵＴ２−１に欠陥情報を設定した後の状態の例を示している。図２８は、図２２に示したフローにおいて、２番目のメモリブロックを試験した後の欠陥情報の状態の例を示している。図２９は、図２２に示したフローにおいて、リアルワード線とリアルコラム線の欠陥数を集計した後の欠陥情報の状態の例を示している。図３０は、図２２に示したフローにおいて、ルックアップテーブルＬＵＴ２−１に欠陥情報を設定した後の状態の例を示している。
【００９７】
先ず、図２２のステップＳ５０２において、制御部ＣＮＴＬは、欠陥数の基準値ＤＮを”４”に設定し、試験するメモリブロックＭＢの番号を”０”に設定する。すなわち、最初の試験では、メモリブロックＭＢ０（図２５のＤＲＡＭ内に網掛けで示した領域）が評価される。
【００９８】
ステップＳ５０４において、制御部ＣＮＴＬは、メモリブロックＭＢ０を試験する。具体的には、制御部ＣＮＴＬは、ＤＲＡＭに試験データを書き込むために、ロウアドレスＷＬ０−７とコラムアドレスＣＬ０−７をルックアップテーブルＬＵＴ１に順次に供給する。ルックアップテーブルＬＵＴ１は、図１１のステップＳ４２０により、図２５に示すように初期化されている。このため、ロウアドレスＷＬ０−７およびコラムアドレスＣＬ０−７は、ルックアップテーブルＬＵＴ１を介してＤＲＡＭのアドレス端子に供給される。制御部ＣＮＴＬは、ＤＲＡＭへのアドレスの供給に合わせて制御信号および試験データをＤＲＡＭに出力する。
【００９９】
この後、制御部ＣＮＴＬは、データを書き込んだリアルメモリセルＭＣからデータを読み出すために、ロウアドレスＷＬ０−７とコラムアドレスＣＬ０−７をルックアップテーブルＬＵＴ１を介してＤＲＡＭに順次に供給する。制御部ＣＮＴＬは、ＤＲＡＭへのアドレスの供給に合わせて制御信号と期待値をＤＲＡＭに出力する。これにより、ＤＲＡＭの読み出し動作が実行される。
【０１００】
欠陥判定器ＪＤＧは、読み出しデータが期待値と異なるときに、欠陥を有するリアルメモリセルＭＣを示すロウアドレスＷＬとコラムアドレスＣＬを欠陥アドレスとして出力するとともに、カウントアップ信号ＣＵＰを出力する。カウントアップ信号ＣＵＰにより、欠陥アドレスがバッファメモリＢＵＦＭに書き込まれる。ステップＳ５０４の処理により、バッファメモリＢＵＦＭは、図２５に示す状態に設定される。
【０１０１】
次に、ステップＳ５０６において、制御部ＣＮＴＬは、バッファメモリＢＵＦＭに保持されたコラムアドレスＣＬおよびロウアドレスＷＬ毎の欠陥数をルックアップテーブルＬＵＴ１に設定する。ルックアップテーブルＬＵＴ１のビットＤ７−０は、対応するロウアドレスＷＬ０−７または対応するコラムアドレスＣＬ０−７に接続されたリアルメモリセルＭＣの欠陥数を蓄積するカウンタとして機能する。
【０１０２】
先ず、制御部ＣＮＴＬは、バッファメモリＢＵＦＭ内の欠陥情報を先頭から順に読み出す。制御部ＣＮＴＬは、バッファメモリＢＵＦＭ内のロウアドレスＷＬまたはコラムアドレスＣＬに対応するルックアップテーブルＬＵＴ１内の領域のビットＤ７−０を１ずつ加算する。制御部ＣＮＴＬは、ビットＤ７−０の最初の加算時に、対応するビットＤ９−８を”１０”に設定する。そして、図２６のルックアップテーブルＬＵＴ１に網掛けで示すように、リアルコラム線ＣＬ０、ＣＬ１、ＣＬ２、ＣＬ４、ＣＬ５、ＣＬ７およびリアルワード線ＷＬ０、ＷＬ２、ＷＬ３、ＷＬ４、ＷＬ６の欠陥数が集計される。
【０１０３】
次に、ステップＳ５０８において、制御部ＣＮＴＬは、欠陥数の基準値ＤＮ以上の欠陥数を有するリアルワード線ＷＬおよびリアルコラム線ＣＬを救済するために、欠陥アドレス（ロウアドレスＷＬおよびコラムドレスＣＬ）を、ルックアップテーブルＬＵＴ２に設定する。具体的には、制御部ＣＮＴＬは、ルックアップテーブルＬＵＴ１内のビットＤ７−０が４以上の領域をサーチし、対応するロウアドレスＷＬ６およびコラムアドレスＣＬ５を、欠陥アドレスとしてルックアップテーブルＬＵＴ２に登録する。ルックアップテーブルＬＵＴ２への登録は、ビットＤ９−８が”００”の領域のビットＤ７−０に対して行われる。
【０１０４】
この例では、図２７のルックアップテーブルＬＵＴ２に示すように、コラムアドレスＣＬ５は、ビット９−８が”００”の領域のうち、最も番号の小さい冗長コラムアドレスＲＣＬ０に対応するビットＤ７−０に登録される。ロウアドレスＷＬ５は、ビット９−８が”００”の領域のうち、最も番号の小さい冗長ロウアドレスＲＷＬ２に対応するビットＤ７−０に登録される。ロウアドレスＷＬまたはコラムアドレスＣＬが登録されたルックアップテーブルＬＵＴ２のビットＤ７−０に対応するビットＤ９−８は、”０１”に設定される。ビットＤ９−８の”０１”は、欠陥アドレスが登録されていることを示す。
【０１０５】
次に、ステップＳ５１２において、制御部ＣＮＴＬは、ルックアップテーブルＬＵＴ２に登録したコラムアドレスＣＬ５およびロウアドレスＷＬ６に対応するルックアップテーブルＬＵＴ１のビットＤ７−０に、対応する冗長コラムアドレスＲＣＬ０および冗長ロウアドレスＲＷＬ２をそれぞれ登録する。図２７のルックアップテーブルＬＵＴ１に示すように、冗長コラムアドレスＲＣＬ０および冗長ロウアドレスＲＷＬ２が登録されたルックアップテーブルＬＵＴ１のビットＤ７−０に対応するビットＤ９−８は、”０１”に設定される。ビットＤ９−８の”０１”は、欠陥を救済するための冗長アドレスが登録されていることを示す。
【０１０６】
これにより、ルックアップテーブルＬＵＴ１−２には、救済される欠陥アドレス（この例では、コラムアドレスＣＬ５およびロウアドレスＷＬ６）と、救済に使用される冗長アドレス（この例では、冗長コラムアドレスＲＣＬ０および冗長ロウアドレスＲＷＬ２）とが相互に登録される。
【０１０７】
次に、ステップＳ５１４において、制御部ＣＮＴＬは、バッファメモリＢＵＦＭに保持されている欠陥アドレスペアのうち、ルックアップテーブルＬＵＴ２に登録された欠陥アドレスを含むペアを消去することで、バッファメモリＢＵＦＭを整理する。ステップＳ５１４の詳細は、図３１および図３２に示す。ステップＳ５１６において、制御部ＣＮＴＬは、制御部ＣＮＴＬは、ルックアップテーブルＬＵＴ１を初期化する。ルックアップテーブルＬＵＴ１を初期化することにより、ルックアップテーブルＬＵＴ２により欠陥アドレスが救済されている場合にも、次のメモリブロックＭＢ１の試験において、ロウアドレスＷＬおよびコラムアドレスＣＬをＤＲＡＭに供給できる。初期化の方法は、図７と同じである。
【０１０８】
次に、ステップＳ５１８において、制御部ＣＮＴＬは、試験するメモリブロックＭＢの番号を”１”増加する。ステップＳ５２０において、制御部ＣＮＴＬは、試験するメモリブロックＭＢの番号が最大値ＭＢｍａｘを超えている場合、全てのメモリブロックＭＢを試験されたと判断し、処理をステップＳ５２２に移行する。試験するメモリブロックＭＢの番号が最大値ＭＢｍａｘを超えていない場合、ステップＳ５０４からＳ５１８の処理が再び実施される。
【０１０９】
この例では、図１０に示したように、最大の番号（最大値ＭＢｍａｘ）のメモリブロックは、”ＭＢ１”である。メモリブロックＭＢ１の試験は実施されておらず、メモリブロックＭＢ１の欠陥は救済されていないため、処理はステップＳ５０４に戻る。この状態で、メモリブロックＭＢ０において欠陥数が”３”以下のロウアドレスＷＬおよびコラムアドレスＣＬは、救済されておらず、欠陥アドレスはバッファメモリＢＵＦＭに登録されている。このため、メモリブロックＭＢ１の試験（ステップＳ５０４からＳ５１４による２回目以降の試験）では、新たに検出された欠陥アドレスがバッファメモリＢＵＦＭに順次追加されていく。そして、メモリブロックＭＢ０−１内で欠陥数が”４”以上の欠陥アドレスが救済される。
【０１１０】
具体的には、ステップＳ５０４において、メモリブロックＭＢ０（図２８のＤＲＡＭ内に網掛けで示した領域）の書き込み／読み出し試験が実施される。この例では、図２８のバッファメモリＢＵＦＭに網掛けで示すように、２つの欠陥アドレスペアがバッファメモリＢＵＦＭに登録される。次に、ステップＳ５０６において、ルックアップテーブルＬＵＴ１に欠陥数が集計される（図２９のルックアップテーブルＬＵＴ１に網掛け部分）。この例では、欠陥数が”４”以上の欠陥アドレスは存在しない。このため、ステップＳ５０８、Ｓ５１２およびＳ５１４の処理は実施されない。ルックアップテーブルＬＵＴ２の状態は、図２７と同じである。
【０１１１】
バッファメモリＢＵＦＭに欠陥アドレスを順次蓄積していくことで、バッファメモリＢＵＦＭの容量を最小限にして、欠陥アドレスを効率的に救済できる。例えば、メモリブロックＭＢ０の試験におけるステップＳ５０６からＳ５１２の処理では、欠陥数が”３”以下のコラムアドレスＣＬは、救済されない。しかし、メモリブロックＭＢ１の試験後に、コラムアドレスＣＬの欠陥数が蓄積されて”４”以上になったとき、１つの冗長コラムアドレスＲＣＬによって救済できる。
【０１１２】
次に、ステップＳ５１８において、制御部ＣＮＴＬは、試験するメモリブロックＭＢの番号を”１”増加し”２”に設定する。ステップＳ５２０において、制御部ＣＮＴＬは、試験するメモリブロックＭＢの番号”２”が最大値ＭＢｍａｘ（＝１）を超えているため、全てのメモリブロックＭＢを試験されたと判断し、処理をステップＳ５２２に移行する。ステップＳ５２２において、制御部ＣＮＴＬは、欠陥数の基準値ＤＮを”１”少なくして”３”にする。
【０１１３】
この時点で、全てのメモリブロックＭＢ０−１の全ての欠陥アドレス（既に救済された欠陥アドレスは除く）が、バッファメモリＢＵＦＭに格納されている。このため、これ以降、メモリブロックＭＢ０−１の書き込み／読み出し試験（ステップＳ５０４）を不要にできる。ステップＳ５２４からＳ５３４において、制御部ＣＮＴＬは、ステップＳ５０６からＳ５１６と同様に、欠陥数を集計し、欠陥数が基準値ＤＮに等しいコラムアドレスＣＬおよびロウアドレスＷＬを救済する。
【０１１４】
図２３は、図２２に示したステップＳ５０８、Ｓ５１２、Ｓ５２６、Ｓ５３０における処理の例を示している。図２３に示した処理は、制御部ＣＮＴＬにより実施される。先ず、ステップＳ５４０において、ルックアップテーブルＬＵＴ１をアクセスするためのアドレスＩが”０”に設定される。ステップＳ５４１において、ルックアップテーブルＬＵＴ１のアドレスＩからデータが読み出される。
【０１１５】
ステップＳ５４３において、読み出したデータのビット９−８が”１０”でないとき、処理はステップＳ５４８に移行する。ビット９−８が”１０”のとき、欠陥数が集計されていると判断され、ステップＳ５４３において、ルックアップテーブルＬＵＴ１からデータが読み出される。なお、ステップＳ５４１において、ビット７−０が読み出される場合、ステップＳ５４３は不要である。
【０１１６】
ステップＳ５４４において、ビット７−０の欠陥数が基準値ＤＮ以上のとき、処理はステップＳ５４６に移行する。欠陥数が基準値ＤＮより少ないとき、ステップＳ５４５において、ビット９−８が”０”に設定され、ビット７−０はルックアップテーブルＬＵＴ１をアクセスするためのアドレスＩに再設定され、処理はステップＳ５４８に移行する。ステップＳ５４６において、欠陥数を読み出したルックアップテーブルＬＵＴ１の記憶領域に割り当てられたリアルアドレスが、欠陥アドレスとしてルックアップテーブルＬＵＴ２のビットＤ７−０に書き込まれる。ルックアップテーブルＬＵＴ２のビットＤ９−８は、欠陥アドレスが登録されていることを示す”０１”に設定される。
【０１１７】
次に、ステップＳ５４７において、欠陥アドレスを書き込んだルックアップテーブルＬＵＴ２の記憶領域に割り当てられた冗長アドレスが、ルックアップテーブルＬＵＴ１の対応する記憶領域のビット７−０に書き込まれる。ルックアップテーブルＬＵＴ１のビットＤ９−８は、冗長アドレスが登録されていることを示す”０１”に設定される。
【０１１８】
ステップＳ５４８において、ルックアップテーブルＬＵＴ１をアクセスするためのアドレスＩが”１”増加される。ステップＳ５４９において、アドレスＩが最大値Ｉｍａｘを超えているとき、処理は終了する。アドレスＩが最大値Ｉｍａｘを超えていないとき、処理はステップＳ５４１に移行し、次の欠陥アドレスの救済処理が実施される。
【０１１９】
図２４は、図２３に示したステップＳ５４６における動作の例を示している。演算器ＯＰ３は、ルックアップテーブルＬＵＴ１から読み出した情報に基づいて、ルックアップテーブルＬＵＴ２をアクセスするためのアドレス信号および制御信号（コマンド信号）を生成する。アドレス信号および制御信号は、セレクタＳＥＬ９を介してルックアップテーブルＬＵＴ２に供給される（図２４（ａ））。また、演算器ＯＰ３は、ルックアップテーブルＬＵＴ１から読み出した情報に基づいて、欠陥アドレスを出力する。欠陥アドレスは、セレクタＳＥＬ１０を介してルックアップテーブルＬＵＴ２に書き込みデータとして供給される（図２４（ｂ））。
【０１２０】
次に、図２２のステップＳ５３２において、ルックアップテーブルＬＵＴ２への登録によって救済されたロウアドレスＷＬまたはコラムアドレスＣＬは、バッファメモリＢＵＦＭから消去される。但し、この例では、図２９のルックアップテーブルＬＵＴ１に示すように、欠陥数が”３”の欠陥アドレスは存在しない。このため、基準値ＤＮが”３”のとき、ステップＳ５２６、Ｓ５３０およびＳ５３２の処理は実施されない。ステップＳ５３４のルックアップテーブルＬＵＴ１の初期化方法は、図７と同じである。
【０１２１】
次に、ステップＳ５３６において、制御部ＣＮＴＬは、欠陥数の基準値ＤＮを”１”少なくして”２”にする。ステップＳ５３８において、制御部ＣＮＴＬは、基準値ＤＮが”１”を超えているため、処理を再びステップＳ５２４に移行する。制御部ＣＮＴＬは、ステップＳ５２４からＳ５３４において、ステップＳ５０６からＳ５１４と同様に、欠陥数を集計し、欠陥数が基準値ＤＮ（＝２）に等しいコラムアドレスＣＬおよびロウアドレスＷＬを救済する。
【０１２２】
図２９のルックアップテーブルＬＵＴ１に示すように、欠陥数が”２”の欠陥アドレスは、コラムアドレスＣＬ２である。ステップＳ５２６において、制御部ＣＮＴＬは、ルックアップテーブルＬＵＴ２のビットＤ９−８が”００”の領域のうち、最も番号の小さい冗長コラムアドレスＲＣＬ（この例では、ＲＣＬ１）を検索する。そして、制御部ＣＮＴＬは、図３０のルックアップテーブルＬＵＴ２に網掛けで示すように、コラムアドレスＣＬ２を、冗長コラムアドレスＲＣＬ１に対応するビットＤ７−０に登録する。
【０１２３】
次に、ステップＳ５３０において、制御部ＣＮＴＬは、図３０のルックアップテーブルＬＵＴ１に網掛けで示すように、ルックアップテーブルＬＵＴ２に登録したコラムアドレスＣＬ２に対応するルックアップテーブルＬＵＴ１のビットＤ７−０に、対応する冗長コラムアドレスＲＣＬ１を登録する。さらに、制御部ＣＮＴＬは、冗長コラムアドレスＲＣＬ２を登録したルックアップテーブルＬＵＴ１のビットＤ７−０に対応するビットＤ９−８を”０１”に設定する。
【０１２４】
次に、ステップＳ５３２において、制御部ＣＮＴＬは、ルックアップテーブルＬＵＴ２に登録した欠陥アドレスをバッファメモリＢＵＦＭから消去する。ステップＳ５３６において、制御部ＣＮＴＬは、欠陥数の基準値ＤＮを”１”少なくして”１”にする。ステップＳ５３８において、制御部ＣＮＴＬは、基準値ＤＮが”１”であるため、処理を終了する。この後、処理は、図６に示したステップＳ６００に移行する。
【０１２５】
図３１は、図２２に示したステップＳ５１４およびＳ５３２のバッファメモリＢＵＦＭを整理する処理の例を示している。先ず、ステップＳ５５２において、制御部ＣＮＴＬは、リードポインタＲＰを”−１”に設定し、ライトポインタＷＰを”０”に設定する。リードポインタＲＰは、バッファメモリＢＵＦＭの第２ポートＰ２に供給されるアドレスである。ライトポインタＷＰは、例えば、バッファメモリＢＵＦＭの第１ポートＰ１に供給されるアドレスである。なお、リードポインタＲＰを第１ポートに割り当て、ライトポインタＷＰを第２ポートに割り当ててもよい。あるいは、リードポインタＲＰおよびライトポインタＷＰで示されるアドレスをバッファメモリＢＵＦＭのポートＰ１−２の一方のみに供給してもよい。
【０１２６】
ステップＳ５５４において、制御部ＣＮＴＬは、リードポインタＲＰを”１”増加する。ステップＳ５５６において、制御部ＣＮＴＬは、バッファメモリＢＵＦＭにおけるリードポインタＲＰが示す領域からデータを読み出す。ステップＳ５５８において、制御部ＣＮＴＬは、バッファメモリＢＵＦＭから読み出したデータが空きのとき、すなわち、欠陥アドレスでないとき、処理をステップＳ５７６に移行する。読み出したデータが欠陥アドレスのとき、処理はステップＳ５６０に移行する。
【０１２７】
ステップＳ５６０において、制御部ＣＮＴＬは、バッファメモリＢＵＦＭから読み出した欠陥アドレスに対応するルックアップテーブルＬＵＴ１の領域からビットＤ８を読み出す。ステップＳ５６２において、制御部ＣＮＴＬは、ビットＤ８が”１”のとき、対応する欠陥アドレスがルックアップテーブルＬＵＴ２に登録され、救済されていると判断する。このとき、制御部ＣＮＴＬは、欠陥アドレスをバッファメモリＢＵＦＭから消去するために処理をステップＳ５７２に移行する。ビットＤ８が”０”のとき、制御部ＣＮＴＬは、対応する欠陥がルックアップテーブルＬＵＴ２に登録され、救済されていると判断する。このとき、制御部ＣＮＴＬは、欠陥アドレスをバッファメモリＢＵＦＭに残すために処理をステップＳ５６４に移行する。
【０１２８】
ステップＳ５６４において、制御部ＣＮＴＬは、リードポインタＲＰが示すバッファメモリＢＵＦＭの領域から欠陥アドレスを読み出し、ライトポインタＷＰが示すバッファメモリＢＵＦＭの領域に読み出した欠陥アドレスを書き込む。次に、ステップＳ５６６において、制御部ＣＮＴＬは、リードポインタＲＰの値がライトポインタＷＰの値に等しいとき、処理をステップＳ５７０に移行する。リードポインタＲＰの値がライトポインタＷＰの値と異なるとき、処理はステップＳ５６８に移行する。
【０１２９】
ステップＳ５６８において、制御部ＣＮＴＬは、リードポインタＲＰが示すバッファメモリＢＵＦＭの領域を消去する。ステップＳ５７０において、制御部ＣＮＴＬは、ライトポインタＷＰを”１”増加する。
【０１３０】
一方、ステップＳ５７２において、制御部ＣＮＴＬは、リードポインタＲＰが示すバッファメモリＢＵＦＭの領域を消去する。ステップＳ５７６において、制御部ＣＮＴＬは、リードポインタＲＰが最大値ＲＰｍａｘのとき、処理をステップＳ５７８に移行する。リードポインタＲＰが最大値ＲＰｍａｘでないとき、処理は再びステップＳ５５４に戻る。
【０１３１】
ステップＳ５７８において、制御部ＣＮＴＬは、ライトポインタＷＰが示すバッファメモリＢＵＦＭの領域を消去する。ステップＳ５８０において、制御部ＣＮＴＬは、ライトポインタＷＰが最大値ＷＰｍａｘのとき、処理を終了する。ライトポインタＷＰが最大値ＷＰｍａｘでないとき、処理はステップＳ５８２に移行する。ステップＳ５８２において、制御部ＣＮＴＬは、ライトポインタＷＰを”１”増加し、処理を再びステップＳ５７８に移行する。バッファメモリＢＵＦＭを整理する具体例は、図３２および図３３に示す。
【０１３２】
図３２は、図３１に示した処理の具体例を示している。バッファメモリＢＵＦＭの状態は、図２７と同じである。ここでは、説明を簡単にするために、バッファメモリＢＵＦＭは、欠陥アドレスを保持するための１０個の領域を有するとする。
【０１３３】
先ず、図３１のステップＳ５５４において、リードポインタＲＰが”１”に設定される。バッファメモリＢＵＦＭの先頭の領域には、図２７に示すように、欠陥アドレスＷＬ０、ＣＬ５が保持されている。欠陥アドレスＣＬ５に対応するルックアップテーブルＬＵＴ１のビットＤ８は”１”に設定されており、欠陥アドレスＣＬ５は、冗長コラム線ＲＣＬ０により救済されている。このため、ステップＳ５７２において、欠陥アドレスＷＬ０、ＣＬ５を保持しているバッファメモリＢＵＦＭの領域は消去される(図３２(ａ））。
【０１３４】
次に、ステップＳ５５４により、リードポインタＲＰが”１”進められる。バッファメモリＢＵＦＭに保持されている次の欠陥アドレスＷＬ２、ＣＬ４は、救済されていない。すなわち、欠陥アドレスＷＬ２およびＣＬ４に対応するルックアップテーブルＬＵＴ１のビットＤ８は、いずれも”０”に設定されている。このため、ステップＳ５６４において、リードポインタＲＰが示す領域のデータ（ＷＬ２、ＣＬ４）が読み出され、ライトポインタＷＰが示す領域に書き込まれる(図３２（ｂ））。すなわち、バッファメモリＢＵＦＭ内の空き領域が詰められる。この後、ステップＳ５７０において、ライトポインタＷＰが”１”進められる。
【０１３５】
次に、ステップＳ５５４により、リードポインタＲＰが”１”進められる(図３２(ｃ））。バッファメモリＢＵＦＭにおけるリードポインタＲＰが示す領域には、欠陥アドレスＷＬ２、ＣＬ５が保持されている。欠陥アドレスＣＬ５に対応するルックアップテーブルＬＵＴ１のビットＤ８は”１”に設定されている。すなわち、欠陥アドレスＣＬ５は、冗長コラム線ＲＣＬ０により救済されている。このため、ステップＳ５７２において、欠陥アドレスＷＬ２、ＣＬ５を保持しているバッファメモリＢＵＦＭの領域は消去される(図３２(ｄ））。
【０１３６】
次に、ステップＳ５５４により、リードポインタＲＰが”１”進められる。バッファメモリＢＵＦＭにおけるリードポインタＲＰが示す領域には、欠陥アドレスＷＬ３、ＣＬ２が保持されている。欠陥アドレスＷＬ３、ＣＬ２は、救済されていない。すなわち、欠陥アドレスＷＬ３およびＣＬ２に対応するルックアップテーブルＬＵＴ１のビットＤ８は、いずれも”０”に設定されている。このため、ステップＳ５６４において、リードポインタＲＰが示す領域のデータ（ＷＬ３、ＣＬ２）が読み出され、ライトポインタＷＰが示す領域に書き込まれる(図３２（ｅ））。この後、ステップＳ５７０において、ライトポインタＷＰが”１”進められる(図３２（ｆ））。
【０１３７】
これ以降、バッファメモリＢＵＦＭから順次に読み出される欠陥アドレスＣＬ５およびＷＬ６は、冗長線により救済されており、ルックアップテーブルＬＵＴ１の対応するビットＤ８は”１”に設定されている。このため、ステップＳ５７２において、バッファメモリＢＵＦＭにおけるリードポインタＲＰが示す領域は消去される。リードポインタＲＰは、ステップＳ５５４において順次に更新される(図３２（ｇ））。リードポインタＲＰが最大値になると、ステップＳ５７８からＳ５８２において、バッファメモリＢＵＦＭの空いている領域のデータが順次に消去される（図３２（ｈ））。そして、既に救済された欠陥アドレスがバッファメモリＢＵＦＭから消去され、バッファメモリＢＵＦＭが整理が完了する。
【０１３８】
図３３は、図２２に示したフローにおいて、バッファメモリＢＵＦＭを整理する処理の別の具体例を示している。バッファメモリＢＵＦＭの状態は、図３０と同じである。図３２と同じ処理については、詳細な説明は省略する。
【０１３９】
バッファメモリＢＵＦＭの先頭には、図３０に示すように、欠陥アドレスＷＬ２、ＣＬ４が保持されている。欠陥アドレスＷＬ２、ＣＬ４に対応するルックアップテーブルＬＵＴ１のビットＤ８は、それぞれ”０”に設定されている。このため、図３１のステップＳ５６４において、リードポインタＲＰ（＝０）が示す領域のデータ（ＷＬ２、ＣＬ４）が読み出され、ライトポインタＷＰ（＝０）が示す領域に書き込まれる(図３３（ａ））。結果として、バッファメモリＢＵＦＭの最初の領域は、変更されずに保持される。
【０１４０】
ステップＳ５６６において、リードポインタＲＰとライトポインタＷＰとが同じ値であるため、処理はステップＳ５６８をスキップして、ステップＳ５７０に移行する。ステップＳ５６８をスキップすることにより、バッファメモリＢＵＦＭの最初の領域に格納されている欠陥アドレスが救済されていない場合に、その欠陥アドレスがバッファメモリＢＵＦＭから消去されることを防止できる。
【０１４１】
バッファメモリＢＵＦＭの２番目（ＲＰ＝１）と３番目（ＲＰ＝２）にそれぞれ保持されている欠陥アドレス対の少なくとも一方（この例では、ＣＬ２）は、救済済みである。これは、対応するルックアップテーブルＬＵＴ１のビットＤ８が”１”に設定されていることで判定される。このため、図３１のステップＳ５７２において、バッファメモリＢＵＦＭに保持された欠陥アドレスは消去される（図３３（ｂ、ｃ））。
【０１４２】
ステップＳ５５４において、リードポインタＲＰは、”３”に設定される。バッファメモリＢＵＦＭの対応する領域に保持されている欠陥アドレスは、救済されていない。このため、図３１のステップＳ５６４において、リードポインタＲＰ（＝３）が示す領域のデータ（ＷＬ１２、ＣＬ６）が読み出され、ライトポインタＷＰ（＝１）が示す領域に書き込まれる(図３３（ｄ））。この後、図３２と同様に、リードポインタＲＰは、順次に更新される(図３３（ｅ））。リードポインタＲＰが最大値になると、ステップＳ５７８からＳ５８２において、バッファメモリＢＵＦＭの空いている領域のデータが順次に消去される（図３３（ｆ））。そして、既に救済された欠陥アドレスがバッファメモリＢＵＦＭから消去され、バッファメモリＢＵＦＭの整理が完了する。
【０１４３】
図３４は、図６に示した単ビットの欠陥の救済処理の例を示している。図３４の処理は、制御部ＣＮＴＬにより実施される。図２２に示した処理を実施後、救済されていない欠陥は、全て単ビットである。単ビットの欠陥の救済処理中のルックアップテーブルＬＵＴ１−２、バッファメモリＢＵＦＭの状態は、図３５から図３８に示す。図３５は、図３４に示したフローにおいて、冗長ワード線と冗長コラム線の欠陥の救済を検討するときの欠陥情報の状態の例を示している。図３６は、図３４に示したフローにおいて、単ビットの欠陥を有する欠陥ワード線を救済した後の欠陥情報の状態の例を示している。図３７は、図３４に示したフローにおいて、単ビットの欠陥を有する欠陥コラム線を救済した後の欠陥情報の状態の例を示している。図３８は、図３４に示したフローにおいて、データ変換部ＤＣＮＶ２、ＤＣＮＶ１に欠陥情報を設定した後の状態の例を示している。
【０１４４】
先ず、ステップＳ６０２において、制御部ＣＮＴＬは、ルックアップテーブルＬＵＴ２のビットＤ９−８が”１１”に設定されている領域を検索する。ビットＤ９−８の”１１”は、ビットＤ７−０に格納された欠陥アドレスに接続された冗長メモリセルＭＣのみに欠陥が存在することを示す。この例では、図３０のルックアップテーブルＬＵＴ２に示したように、冗長ロウアドレスＲＷＬ１とコラムアドレスＣＬ２によりアクセスされる冗長メモリセルに欠陥が存在することが検出される。さらに、ルックアップテーブルＬＵＴ１のコラムアドレスＣＬ２に対応する領域にアクセスすると、ビットＤ９−８が”０１”であることから、コラムアドレスＣＬ２は救済済みであることが認識できる。このとき、制御部ＣＮＴＬは、図３５に示すように、ルックアップテーブルＬＵＴ２の冗長ロウアドレスＲＷＬ１に対応するビットＤ７−０を冗長ロウアドレスＲＷＬ１に書き換え、ビットＤ９−８を”００”に書き換える。すなわち、冗長ロウアドレスＲＷＬ１によってアクセスされる冗長ワード線ＲＷＬ１は、未使用とされる。
【０１４５】
次に、ステップＳ６０４において、制御部ＣＮＴＬは、バッファメモリＢＵＦＭからロウアドレスＷＬを読み出し、読み出したロウアドレスＷＬを欠陥アドレスとしてルックアップテーブルＬＵＴ２に登録する。この例では、図３６のルックアップテーブルＬＵＴ２に示すように、最初に読み出されるロウアドレスＷＬ２は、ビット９−８が”００”の領域のうち、最も番号の小さい冗長ロウアドレスＲＷＬ１に対応するビットＤ７−０に登録される。ロウアドレスＷＬ２が登録されたルックアップテーブルＬＵＴ２のビットＤ７−０に対応するビットＤ９−８は、”０１”に設定される。
【０１４６】
次に、ステップＳ６０６において、制御部ＣＮＴＬは、空いている冗長ロウアドレスＲＷＬがあるとき、欠陥アドレスを冗長ロウアドレスＲＷＬにより救済するために、処理を再びステップＳ６０４に移行する。この例では、空いている冗長ロウアドレスＲＷＬがないため、処理は、ステップＳ６０８に移行する。
【０１４７】
ステップＳ６０８において、制御部ＣＮＴＬは、バッファメモリＢＵＦＭからコラムアドレスＣＬを読み出し、読み出したコラムアドレスＣＬを欠陥アドレスとしてルックアップテーブルＬＵＴ２に登録する。この例では、図３７のルックアップテーブルＬＵＴ２に示すように、最初に読み出されるコラムアドレスＣＬ４は、対応するロウアドレスＷＬ２によって救済されている。このため、制御部ＣＮＴＬは、次のコラムアドレスＣＬ６を欠陥アドレスとしてルックアップテーブルＬＵＴ２に登録する。
【０１４８】
この例では、図３７のルックアップテーブルＬＵＴ２に示すように、コラムアドレスＣＬ６は、ビット９−８が”００”の領域のうち、最も番号の小さい冗長コラムＲＣＬ３に対応するビットＤ７−０に登録される。コラムアドレスＣＬ６が登録されたルックアップテーブルＬＵＴ２のビットＤ７−０に対応するビットＤ９−８は、”０１”に設定される。
【０１４９】
次に、制御部ＣＮＴＬは、ステップＳ６１０において、バッファメモリＢＵＦＭに保持されている全ての欠陥アドレスが救済されたことを確認する。図３７に示した例では、全ての欠陥アドレスが救済されているため、処理は、ステップＳ６１４に移行する。全ての欠陥アドレスが救済されていない場合、ステップＳ６１２において、救済に使用できる冗長コラム線ＲＣＬが残っているかが確認される。救済に使用できる冗長コラム線ＲＣＬが残っている場合、処理は、再びステップＳ６０８に移行する。救済に使用できる冗長コラム線ＲＣＬが残っていない場合、半導体メモリＭＥＭは不良品として処理される。
【０１５０】
一方、ステップＳ６１４において、制御部ＣＮＴＬは、ルックアップテーブルＬＵＴ２に登録したロウアドレスＷＬ１、ＷＬ６、ＷＬ１０に対応するルックアップテーブルＬＵＴ１のビットＤ７−０に、対応する冗長ロウアドレスＲＷＬ１、ＲＷＬ２、ＲＷＬ３をそれぞれ登録する。ルックアップテーブルＬＵＴ２に登録されたロウアドレスＷＬ１、ＷＬ６、ＷＬ１０は、ルックアップテーブルＬＵＴ２のビットＤ９−８が”０１”に設定されている領域から読み出される。また、制御部ＣＮＴＬは、冗長ロウアドレスＲＷＬを登録した領域のビットＤ９−８を”０１”に設定する。
【０１５１】
次に、ステップＳ６１６において、制御部ＣＮＴＬは、ルックアップテーブルＬＵＴ２に登録したコラムアドレスＣＬ５、ＣＬ２、ＣＬ６に対応するルックアップテーブルＬＵＴ１のビットＤ７−０に、対応する冗長コラムアドレスＲＣＬ０、ＲＣＬ１、ＲＣＬ３をそれぞれ登録する。ルックアップテーブルＬＵＴ２に登録されたコラムアドレスＣＬ５、ＣＬ２、ＣＬ６は、ルックアップテーブルＬＵＴ２のビットＤ９−８が”０１”に設定されている領域から読み出される。また、制御部ＣＮＴＬは、冗長コラムアドレスＲＣＬを登録した領域のビットＤ９−８を”０１”に設定する。
【０１５２】
これにより、図３８のルックアップテーブルＬＵＴ１に網掛けで示すように、欠陥アドレスに対応する領域に、冗長アドレスが登録される。すなわち、ルックアップテーブルＬＵＴ１−２には、救済される欠陥アドレスと、救済に使用される冗長アドレスとが相互に登録される。この状態で、制御部ＣＮＴＬがルックアップテーブルＬＵＴ１を介してＤＲＡＭをアクセスすると、欠陥アドレスが冗長アドレスに変換されてＤＲＡＭに供給される。すなわち、欠陥を有するリアルメモリセルＭＣに接続されたリアルワード線ＷＬは、冗長メモリセルＲＭＣに接続された冗長ワード線ＲＷＬに置き換えられる。欠陥を有するリアルメモリセルＭＣに接続されたリアルコラム線は、冗長メモリセルＲＭＣに接続された冗長コラム線ＲＣＬに置き換えられる。以上の処理により、欠陥を有するリアルワード線ＷＬおよびリアルコラム線ＣＬ（図３８のＤＲＡＭに示した太い破線）は、全て救済される。
【０１５３】
なお、図３４では、先ず、冗長ワード線ＲＷＬを用いて欠陥を救済し、次に冗長コラム線ＲＣＬを用いて欠陥を救済する例を示している。しかし、先ず、冗長コラム線ＲＣＬを用いて欠陥を救済し、次に冗長ワード線ＲＷＬを用いて欠陥を救済してもよい。
【０１５４】
また、上述した欠陥を救済する過程において、救済効率が悪いと、冗長ワード線ＲＷＬまたは冗長コラム線ＲＣＬが足りなくなる場合がある。冗長ワード線ＲＷＬまたは冗長コラム線ＲＣＬが足りなくなると、図３４のステップＳ６１２に示すように、半導体メモリＭＥＭは、不良品になってしまう。これを防止するために、ルックアップテーブルＬＵＴ１に冗長アドレスを登録するときに、ビットＤ９−８に”１１”を設定することができる。ビットＤ９−８の”１１”は、図３に示したように、冗長アドレスの仮登録である。仮登録をした状態で、欠陥数の多いロウアドレスＷＬまたはコラムアドレスＣＬから順に本登録（ビットＤ９−８の”０１）をしていくことで救済効率を上げることができる。これにより、半導体メモリＭＥＭの歩留を向上できる。
【０１５５】
さらに、ＤＲＡＭがマージン性の欠陥を有するとき、試験でパスしたリアルメモリセルＭＣが不良になるおそれがある。このような場合、仮登録のビット値”１１”を利用することで、新たに発生した単ビットの欠陥を複数ビットの欠陥の１つに含めることができる。すなわち、冗長ワード線ＲＷＬまたは冗長コラム線ＲＣＬを新たに使用することなく、新たに発生した単ビットの欠陥を救済できる。この結果、救済効率を上げることができ、半導体メモリＭＥＭの歩留を向上できる。
【０１５６】
図３９は、図６に示した欠陥アドレスの出力処理の例を示している。図３８に示したルックアップテーブルＬＵＴ１により、試験モード中にＤＲＡＭの欠陥を救済できる。しかし、ＤＲＡＭが通常動作モードで動作するとき、ルックアップテーブルＬＵＴ１は、ＲＢＧデータをＹＵＶデータに変換するために使用される。このため、試験モード中に、ルックアップテーブルＬＵＴ２に保持されている欠陥アドレス（救済元アドレス）と冗長アドレス（救済先アドレス）との関係である救済情報を、ＤＲＡＭのプログラム部ＰＲＧにプログラムしておく必要がある。図３９に示した出力処理では、救済情報は、半導体メモリＭＥＭからレーザ救済装置等に転送される。図３９に示す処理は、制御部ＣＮＴＬが救済情報インタフェースＲＩＩＦを制御することにより実施される。
【０１５７】
先ず、ステップＳ７０２において、制御部ＣＮＴＬは、ルックアップテーブルＬＵＴ２の記憶領域に対応する冗長コラムアドレスＲＣＬを示すコラムカウンタを”０”に初期化する。ステップＳ７０４において、制御部ＣＮＴＬは、コラムカウンタの値に対応する領域のビットＤ９−８が”０１”のとき、処理をステップＳ７０６に移行する。ビットＤ９−８が”０１”でないとき、処理は、ステップＳ７０６をスキップしてステップＳ７０８に移行する。
【０１５８】
ステップＳ７０６において、制御部ＣＮＴＬは、コラムカウンタの値と、対応する欠陥アドレスを、救済情報インタフェースＲＩＩＦを介して半導体メモリＭＥＭの外部に出力する。例えば、図３８において、冗長コラムアドレスＲＣＬ０とコラムアドレスＣＬ５を示す救済情報がレーザ救済装置等に出力される。
【０１５９】
ステップＳ７０８において、コラムカウンタがカウントアップされ、カウンタ値が”１”増加する。ステップＳ７１０において、制御部ＣＮＴＬは、コラムカウンタの値が冗長コラムアドレスＲＣＬの最大値ＲＣＬｍａｘを超えている場合、処理をステップＳ７１２に移行する。コラムカウンタの値が最大値ＲＣＬｍａｘを超えていない場合、コラムアドレスに関係する救済情報が、ルックアップテーブルＬＵＴ２にまだ残っているため、ステップＳ７０４からＳ７０８の処理が再び実施される。
【０１６０】
ステップＳ７１２において、制御部ＣＮＴＬは、ルックアップテーブルＬＵＴ２の記憶領域に対応する冗長ロウアドレスＲＷＬを示すコラムカウンタを”０”に初期化する。ステップＳ７１４において、制御部ＣＮＴＬは、コラムカウンタの値に対応する領域のビットＤ９−８が”０１”のとき、処理をステップＳ７１６に移行する。ビットＤ９−８が”０１”でないとき、処理は、ステップＳ７１６をスキップしてステップＳ７１８に移行する。
【０１６１】
ステップＳ７１６において、制御部ＣＮＴＬは、ロウカウンタの値と、対応する欠陥アドレスを、救済情報インタフェースＲＩＩＦを介して半導体メモリＭＥＭの外部に出力する。例えば、図３８において、冗長ロウアドレスＲＷＬ１とロウアドレスＷＬ２を示す救済情報がレーザ救済装置等に出力される。
【０１６２】
ステップＳ７１８において、ロウカウンタがカウントアップされ、カウンタ値が”１”増加する。ステップＳ７２０において、制御部ＣＮＴＬは、ロウカウンタの値が冗長ロウアドレスＲＷＬの最大値ＲＷＬｍａｘを超えている場合、処理を終了する。ロウカウンタの値が最大値ＲＷＬｍａｘを超えていない場合、ロウアドレスに関係する救済情報が、ルックアップテーブルＬＵＴ２にまだ残っているため、ステップＳ７１４からＳ７１８の処理が再び実施される。
【０１６３】
図４０は、図３９に示した動作の例を示している。試験モード中に、ルックアップテーブルＬＵＴ２から不良を救済するための救済情報を読み出すとき、演算器ＯＰ３は、アドレス信号および制御信号（コマンド信号）を生成する。生成されたアドレス信号および制御信号は、セレクタＳＥＬ９を介してルックアップテーブルＬＵＴ２に供給される（図４０（ａ））。ルックアップテーブルＬＵＴ２から読み出されたデータ（この例では、欠陥アドレス）は、セレクタＳＥＬ１０を介して演算器ＯＰ５に供給される（図４０（ｂ））。演算器ＯＰ５は、読み出した欠陥アドレスと、この欠陥アドレスに対応する冗長アドレスを、救済情報インタフェースＲＩＩＦおよび救済情報端子ＦＩＮＦを介してレーザ救済装置等に出力する。
【０１６４】
以上により、半導体メモリＭＥＭからレーザ救済装置等に欠陥情報が転送される。この後、図６に示したステップＳ８００において、レーザ救済装置等により、ＤＲＡＭのプログラム部ＰＲＧがプログラムされる。例えば、プログラム部ＰＲＧのヒューズ回路内のヒューズが欠陥情報に応じてカットされる。プログラム部ＰＲＧのプログラム後、欠陥を有するリアルワード線ＷＬの冗長ワード線ＲＷＬへの置き換えが、ＤＲＡＭ内部で実施される。同様に、欠陥を有するリアルコラム線ＣＬの冗長コラム線ＲＣＬへの置き換えが、ＤＲＡＭ内部で実施される。すなわち、通常動作モードにおいて、ＤＲＡＭの欠陥は自動的に救済される。以上、この実施形態においても、上述した実施形態と同様の効果を得ることができる。
【０１６５】
以上の実施形態において説明した発明を整理して、付記として開示する。
（付記１）
第１データを第２データに変換するための第１テーブルを含む第１データ変換部と、
前記第２データを一時的に格納するバッファメモリと、
前記バッファメモリに格納された第２データを格納するメインメモリと、
前記メインメモリから読み出される前記第２データを前記第１データに変換するための第２テーブルを含む第２データ変換部と
を備え、
前記バッファメモリは、前記メインメモリの欠陥アドレスを格納し、
前記第１データ変換部は、前記欠陥アドレスに対応する前記第１テーブルのアドレスに欠陥情報を格納すること
を特徴とする半導体メモリ。
（付記２）
前記欠陥情報は、少なくとも、前記欠陥アドレス、前記欠陥アドレスにおける欠陥数、救済先アドレスおよび状態フラグの何れかを含むこと
を特徴とする請求項１に記載の半導体メモリ。
（付記３）
前記第１データ変換部は、
試験アドレスに対応する前記第１テーブルに第１フラグを格納すること
を特徴とする請求項１または請求項２に記載の半導体メモリ。
（付記４）
前記第１データ変換部は、
前記欠陥アドレスに対応する前記第１テーブルに前記第１フラグが格納されている場合には、前記第１フラグを第２フラグに変換するとともに前記第１テーブルに欠陥数を格納すること
を特徴とする請求項３に記載の半導体メモリ。
（付記５）
前記第１データ変換部は、
前記欠陥アドレスに対応する前記第１テーブルに前記第２フラグが格納されている場合には、前記第２フラグを第３フラグに変換するとともに前記第１テーブルに救済先アドレスを格納すること
を特徴とする請求項４に記載の半導体メモリ。
（付記６）
前記第１データ変換部は、
前記欠陥アドレスに対応する前記第１テーブルに前記第２フラグが格納されている場合には、前記欠陥数が所定の欠陥数以上である場合に、前記第２フラグを第３フラグに変換するとともに前記第１テーブルに救済先アドレスを格納すること
を特徴とする請求項４に記載の半導体メモリ。
（付記７）
前記第１データ変換部は、
前記欠陥アドレスに対応する前記第１テーブルに前記第２フラグが格納されている場合には、前記欠陥数が所定の欠陥数より少ない場合に、前記第２フラグを第４フラグに変換するとともに前記第１テーブルに救済先アドレスを格納すること
を特徴とする請求項４に記載の半導体メモリ。
（付記８）
アドレスに対応する前記第１テーブルに前記第３フラグが格納されている場合に、前記第３フラグおよび前記救済先アドレスを、前記アドレスに対応する前記第２テーブルに格納すること
を特徴とする請求項５または請求項６に記載の半導体メモリ。
（付記９）
前記第１データがＲＧＢデータであるときは、前記第２データはＹＵＶデータであり、
前記第１データがＹＵＶデータであるときは、前記第２データはＲＧＢデータであること
を特徴とする請求項１乃至請求項８の何れか一に記載の半導体メモリ。
（付記１０）
第１テーブルを使用して第１データを第２データに変換してバッファメモリに格納した後にメインメモリに格納するとともに、前記メインメモリに格納された前記第２データを前記バッファメモリに格納した後に前記第１データに変換して出力する半導体メモリの欠陥アドレスの冗長方法において、
試験アドレスに対応する前記第１テーブルに第１フラグを格納し、
前記欠陥アドレスに対応する前記第１テーブルに前記第１フラグが格納されている場合には、前記第１フラグを第２フラグに変換するとともに前記第１テーブルに欠陥数を格納し、
前記欠陥アドレスに対応する前記第１テーブルに前記第２フラグが格納されている場合には、前記欠陥数が所定の欠陥数以上である場合に、前記第２フラグを第３フラグに変換するとともに前記第１テーブルに救済先アドレスを格納すること
を特徴とする半導体メモリの冗長方法。
（付記１１）
前記欠陥アドレスに対応する前記第１テーブルに前記第２フラグが格納されている場合には、前記欠陥数が所定の欠陥数より少ない場合に、前記第２フラグを第４フラグに変換するとともに前記第１テーブルに救済先アドレスを格納すること
を特徴とする請求項１０に記載の半導体メモリの冗長方法。
（付記１２）
アドレスに対応する前記第１テーブルに前記第３フラグが格納されている場合に、前記第３フラグおよび前記救済先アドレスを、前記アドレスに対応する前記第２テーブルに格納すること
を特徴とする請求項１０または請求項１１に記載の半導体メモリの冗長方法。
【０１６６】
以上の詳細な説明により、実施形態の特徴点および利点は明らかになるであろう。これは、特許請求の範囲がその精神および権利範囲を逸脱しない範囲で前述のような実施形態の特徴点および利点にまで及ぶことを意図するものである。また、当該技術分野において通常の知識を有する者であれば、あらゆる改良および変更に容易に想到できるはずであり、発明性を有する実施形態の範囲を前述したものに限定する意図はなく、実施形態に開示された範囲に含まれる適当な改良物および均等物に拠ることも可能である。
【符号の説明】
【０１６７】
ＢＵＦＭ‥バッファメモリ；ＣＮＴＬ‥制御部；ＣＯＵＮＴ‥カウンタ；ＤＣＮＶ１−２‥データ変換部；ＩＮＢＦ‥入力バッファ；ＬＵＴ１‥ルックアップテーブル；ＬＵＴ２‥ルックアップテーブル；ＭＣ‥リアルメモリセル；ＭＥＭ‥半導体メモリ；ＯＰ１−７‥演算器；ＯＵＴＢＦ‥出力バッファ；ＲＥＡＬ‥リアル線；ＲＥＤ‥冗長線；ＲＥＧ‥レジスタ；ＲＩＩＦ‥救済情報インタフェース；ＲＭＣ‥冗長メモリセル；ＳＥＬ１−１１‥セレクタ；ＴＳＴＩＦ‥試験インタフェース
【図１】
2011044188.tif 000003
【図２】
2011044188.tif 000004
【図３】
2011044188.tif 000005
【図４】
2011044188.tif 000006
【図５】
2011044188.tif 000007
【図６】
2011044188.tif 000008
【図７】
2011044188.tif 000009
【図８】
2011044188.tif 000010
【図９】
2011044188.tif 000011
【図１０】
2011044188.tif 000012
【図１１】
2011044188.tif 000013
【図１２】
2011044188.tif 000014
【図１３】
2011044188.tif 000015
【図１４】
2011044188.tif 000016
【図１５】
2011044188.tif 000017
【図１６】
2011044188.tif 000018
【図１７】
2011044188.tif 000019
【図１８】
2011044188.tif 000020
【図１９】
2011044188.tif 000021
【図２０】
2011044188.tif 000022
【図２１】
2011044188.tif 000023
【図２２】
2011044188.tif 000024
【図２３】
2011044188.tif 000025
【図２４】
2011044188.tif 000026
【図２５】
2011044188.tif 000027
【図２６】
2011044188.tif 000028
【図２７】
2011044188.tif 000029
【図２８】
2011044188.tif 000030
【図２９】
2011044188.tif 000031
【図３０】
2011044188.tif 000032
【図３１】
2011044188.tif 000033
【図３２】
2011044188.tif 000034
【図３３】
2011044188.tif 000035
【図３４】
2011044188.tif 000036
【図３５】
2011044188.tif 000037
【図３６】
2011044188.tif 000038
【図３７】
2011044188.tif 000039
【図３８】
2011044188.tif 000040
【図３９】
2011044188.tif 000041
【図４０】
2011044188.tif 000042