(57)【要約】【課題】複数のメモリブロックに共通に串刺し状に冗長線を持たせ、リペアアドレス用のヒューズの個数を減らすことがある。しかし、複数のメモリブロック間の関係を考慮しながら冗長線のアドレスを決定しなければならず、オンチップでハードウエアによって冗長線のアドレスを決定する方法は提案されていない。【解決手段】冗長線が複数個の冗長ブロック１１に対し行方向または列方向の１次元方向に串刺し状に共通して使用される構造を持つＲＡＭ１０を備えた半導体記憶装置において、ＲＡＭ１０と同じチップ上にＢＩＳＴ回路２０およびＢＩＳＲ回路３０を搭載し、ＢＩＳＲ回路３０ではＢＩＳＴ回路２０から渡される異常セルの行，列アドレスペアのうち、異常セルをリペアする冗長線を決定するために必要最低限のアドレスペアのみを冗長ブロック１１毎にバッファ３１１に格納する。【選択図】        図１
2004334941.tif 000002
【特許請求の範囲】
【請求項１】
複数のメモリセルを行列状に配置したメモリコアと、当該メモリコアの中に発生した異常セルをリペアするための冗長セルからなる冗長線を有するブロックを単位とし、この単位ブロックがさらに１つ、あるいは複数行列状に配置されるとともに、前記単位ブロックを第１方向（行方向または列方向）または第２方向（列方向または行方向）の１次元で複数個ずつグループ化し、各グループ内の複数の単位ブロックに対して冗長線を共通に使用してなるメモリ部と、
前記メモリ部と同じチップ上に搭載され、前記メモリセル個々の良否を評価する内蔵セルフテスト手段と、
前記メモリ部と同じチップ上に搭載され、前記内蔵セルフテスト手段から渡される異常セルの第１方向アドレス（行アドレスまたは列アドレス）および第２方向アドレス（列アドレスまたは行アドレス）からなるアドレスペアのうち、異常セルをリペアする冗長線を決定するために必要最低限のアドレスペアのみを前記単位ブロック毎に第１記憶手段に格納し、当該第１記憶手段に格納したアドレスペアを基に、異常セルをリペアする冗長線のアドレスを前記各グループ毎に計算する内蔵セルフリペア手段と
を備えたことを特徴とする半導体記憶装置。
【請求項２】
前記内蔵セルフリペア手段は、前記単位ブロックが第２方向でグループ化されており、第２方向の冗長線がこのグループ内で共通して使用されているとき、このグループ化された単位ブロックすべてについて前記第１記憶手段の各々に格納されているアドレスペアのうち、第２方向アドレスが取り得る最大数の個数だけ第２方向アドレスを格納できる第１格納部と、前記最大数と同じ数の段数からなるシフトレジスタを第２方向の冗長線の数だけ持ち、各シフトレジスタがシフトを行うことによって前記第１格納部に格納されている第２方向アドレスを順に指す第１シフトレジスタ部とを有し、
前記第１シフトレジスタ部の各シフトレジスタを１本ずつシフトすることによって第２方向アドレスのアドレスセットのパターンを生成する
ことを特徴とする請求項１記載の半導体記憶装置。
【請求項３】
前記内蔵セルフリペア手段は、生成した第２方向アドレスのアドレスセットを単位ブロックのすべてに通知し、当該第２方向アドレスと同じ第２方向アドレスを持つアドレスペアがあれば、これは第２方向の冗長線によってリペアされたと仮定し、リペアされずに残ったアドレスペアが第１方向の冗長線でリペア可能か否かを確認する
ことを特徴とする請求項２記載の半導体記憶装置。
【請求項４】
前記内蔵セルフリペア手段は、第２方向の冗長線によってリペアされずに残ったアドレスペアが第１方向の冗長線によってリペア可能か否かを確認する手段として、第１方向アドレスを各単位ブロック毎に用意されている第１方向の冗長線の数だけ格納する第２格納部を単位ブロック毎に有し、前記第２方向の冗長線によってリペアされずに残ったアドレスペアの第１方向アドレスを、前記第２格納部に既に同じ第１方向アドレスが存在する場合は無視しながら転送し、当該第２格納部に入りきればリペア可能、入り切れなければリペア不可能として判断する
ことを特徴とする請求項３記載の半導体記憶装置。
【請求項５】
前記内蔵セルフリペア手段は、第１方向用のシフトレジスタを各単位ブロック毎に独立して第１方向の冗長線の数だけ有し、前記第１方向用のシフトレジスタをシフトさせながら当該シフトレジスタが示す第１方向アドレスを第１方向リペアアドレスとして、前記第２方向リペアアドレスによりリペアされずに残ったアドレスペアがすべて第１方向の冗長線にてリペア可能か否かを判断し、リペア可能でなければさらに、前記第１方向用のシフトレジスタをシフトしてリペア可能か否かを調べる
ことを特徴とする請求項３記載の半導体記憶装置。
【請求項６】
前記第１シフトレジスタ部の各シフトレジスタは、第２方向アドレスの数＋１段のレジスタ段を有し、＋１段目のレジスタ段によって第２方向の冗長線を使用しないという状態を示す
ことを特徴とする請求項２記載の半導体記憶装置。
【請求項７】
前記内蔵セルフリペア手段は、前記第１シフトレジスタ部の複数のシフトレジスタを第１シフトレジスタ、第２シフトレジスタ、第３シフトレジスタ、…とするとき、第１シフトレジスタを固定して第２シフトレジスタ、第３シフトレジスタ、…をシフトしていった後、第１シフトレジスタをシフトし、その際第２シフトレジスタは第１シフトレジスタのシフト位置あるいはその次のシフト位置からシフトをはじめ、第３シフトレジスタは第２シフトレジスタのシフト位置あるいはその次のシフト位置からシフトをはじめる
ことを特徴とする請求項２記載の半導体記憶装置。
【請求項８】
前記内蔵セルフリペア手段は、前記単位ブロックが第２方向でグループ化されているとき、このグループ化された単位ブロックすべてについて前記第１記憶手段の各々に格納されているアドレスペア毎に設けられたフラグがチェーン状にすべての単位ブロックに亘って接続されてなるシフトレジスタを第２方向の冗長線の数だけ持つ第２シフトレジスタ部を有し、前記第２シフトレジスタ部の各シフトレジスタを１本ずつシフトすることによって第２方向アドレスのアドレスセットを生成する
ことを特徴とする請求項１記載の半導体記憶装置。
【請求項９】
前記第２シフトレジスタ部の各シフトレジスタは、グループ内すべての単位ブロックに格納されるアドレスペアの総数あるいは総数＋１の段数を有し、＋１段目のレジスタ段によって第２方向の冗長線を使用しないという状態を示す
ことを特徴とする請求項８記載の半導体記憶装置。
【請求項１０】
前記内蔵セルフリペア手段は、前記第２シフトレジスタ部の複数のシフトレジスタを第１シフトレジスタ、第２シフトレジスタ、第３シフトレジスタ、…とするとき、第１シフトレジスタを固定して第２シフトレジスタ、第３シフトレジスタ、…をシフトしていった後、第１シフトレジスタをシフトし、その際第２シフトレジスタは第１シフトレジスタのシフト位置あるいはその次のシフト位置からシフトをはじめ、第３シフトレジスタは第２シフトレジスタのシフト位置あるいはその次のシフト位置からシフトをはじめる
ことを特徴とする請求項８記載の半導体記憶装置。
【請求項１１】
前記内蔵セルフリペア手段は、各単位ブロック内の前記第１記憶手段に格納されているアドレスペアの第２方向アドレスについて、同じ第２方向アドレスが２つ以上格納されていることを表す重複フラグが各アドレスペア毎にある場合、前記第２シフトレジスタ部の各シフトレジスタをシフトしていく際に、前記重複フラグが立っていればこれを無視して次にシフトを進める
ことを特徴とする請求項８記載の半導体記憶装置。
【請求項１２】
前記内蔵セルフリペア手段は、前記第２シフトレジスタ部の各シフトレジスタが指す第２方向アドレスを単位ブロックのすべてに通知し、その際に同じ第２方向アドレスが他の単位ブロックにあれば、この他の単位ブロックの前記重複フラグを立てる
ことを特徴とする請求項１１記載の半導体記憶装置。
【請求項１３】
前記内蔵セルフリペア手段は、前記第２シフトレジスタ部をシフトさせながら当該シフトレジスタ部が示す第２方向アドレスを、第２方向の冗長線のリペアアドレスとして各単位ブロックに通知し、同じ第２方向アドレスがあればこれはリペアできたと仮定し、残りのアドレスペアが第１方向の冗長線によってすべてリペア可能か否かを判断し、リペア不可能であれば、前記第２シフトレジスタ部をシフトして再度リペア可能か否かを調べる
ことを特徴とする請求項８記載の半導体記憶装置。
【請求項１４】
前記内臓セルフリペア手段は、第２方向アドレスのアドレスセットを第２方向リペアアドレスとして各単位ブロックに通知する際、同じ第２方向アドレスがあるか否かを示す専用のフラグを各単位ブロックの各アドレスペア毎に有する
ことを特徴とする請求項８記載の半導体記憶装置。
【請求項１５】
複数のメモリセルを行列状に配置したメモリコアと、当該メモリコアの中に発生した異常セルをリペアするための冗長セルからなる冗長線を有するブロックを単位とし、この単位ブロックがさらに１つ、あるいは複数行列状に配置されるとともに、前記単位ブロックを第１方向（行方向または列方向）または第２方向（列方向または行方向）の１次元で複数個ずつグループ化し、各グループ内の複数の単位ブロックに対して冗長線を共通に使用してなるメモリ部と、
前記メモリ部と同じチップ上に搭載され、前記メモリセル個々の良否を評価する内蔵セルフテスト手段とを備えた半導体記憶装置におけるセルフリペア方法であって、
前記内蔵セルフテスト手段から渡される異常セルの第１方向アドレス（行アドレスまたは列アドレス）および第２方向アドレス（列アドレスまたは行アドレス）からなるアドレスペアを各単位ブロック毎に第１記憶手段に格納する第１の工程と、
前記単位ブロックが第２方向でグループ化されているとき、前記第１記憶手段に格納されているアドレスペアの第２方向アドレスに基づいて当該第２方向アドレスのアドレスセットのパターンを生成する第２の工程と、
前記第２の工程で生成した第２方向アドレスのアドレスセットをすべての単位ブロックに対して通知し、このアドレスセットでリペアしきれない異常セルのアドレスペアを第１方向の冗長線でリペア可能か否かをすべての単位ブロックについて確認する第３の工程と、
前記第３の工程での確認の結果、いずれかの単位ブロックについてリペア不可能であれば、次のアドレスセットを生成して再度すべての単位ブロックについてリペア可能か否かを確認する第４の工程と
の各工程の処理を繰り返して実行し、すべての単位ブロックについてリペア可能か否かを確認する
ことを特徴とするセルフリペア方法。
【請求項１６】
前記第１の工程では、前記内蔵セルフテスト手段から渡される異常セルの前記アドレスペアのうち、異常セルをリペアする冗長線を決定するために必要最低限のアドレスペアのみを前記単位ブロック毎に前記第１記憶手段に格納する
ことを特徴とする請求項１５記載のセルフリペア方法。
【請求項１７】
複数のメモリセルを行列状に配置したメモリコアと、当該メモリコアの中に発生した異常セルをリペアするための冗長セルからなる冗長線を有するブロックを単位とし、この単位ブロックがさらに１つ、あるいは複数行列状に配置されるとともに、前記単位ブロックを第１方向（行方向または列方向）、第２方向（列方向または行方向）の２次元で複数個ずつグループ化し、各グループ内の複数の単位ブロックに対して第１方向と第２方向の冗長線を共通に使用してなるメモリ部と、
前記メモリ部と同じチップ上に搭載され、前記メモリセル個々の良否を評価する内蔵セルフテスト手段とを備えた半導体記憶装置におけるセルフリペア方法であって、
２次元に１つまたは複数個ずつグループ化されている各単位ブロックについて前記内蔵セルフテスト手段から渡される異常セルの第１方向アドレス（行アドレスまたは列アドレス）および第２方向アドレス（列アドレスまたは行アドレス）からなるアドレスペアを、第１方向に複数個並んでいる単位ブロックを第２方向アドレスを圧縮することによって見かけ上１個しかないようにして、第２方向に１次元に単位ブロックが並んでいるように見せて、この見かけ上の単位ブロック毎に異常セルのアドレスペアを第１記憶手段に格納する第１の工程と、
前記第１記憶手段に格納されているアドレスペアの第２方向アドレスに基づいて当該第２方向アドレスのアドレスセットのパターンを生成する第２の工程と、
前記第２の工程で生成した第２方向アドレスのアドレスセットをすべての単位ブロックに対して通知し、このアドレスセットでリペアしきれない異常セルのアドレスペアを第１方向の冗長線でリペア可能か否かをすべての単位ブロックについて確認する第３の工程と、
前記第３の工程での確認の結果、いずれかの単位ブロックについてリペア不可能であれば、次のアドレスセットを生成して再度すべての単位ブロックについてリペア可能か否かを確認する第４の工程と
の各工程の処理を繰り返して実行し、すべての単位ブロックについてリペア可能か否かを確認する
ことを特徴とするセルフリペア方法。
【請求項１８】
前記第１の工程では、前記内蔵セルフテスト手段から渡される異常セルの第１、第２方向のアドレスペアのうち、異常セルをリペアする冗長線を決定するために必要最低限のアドレスペアのみをアドレス変換して前記見かけ上の単位ブロック毎に前記第１記憶手段に格納する
ことを特徴とする請求項１７記載のセルフリペア方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ＳＲＡＭ（Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等の半導体記憶装置および当該半導体記憶装置におけるセルフリペア方法に関し、特に不良（欠陥）メモリセルをあらかじめ搭載された冗長メモリセルに置換するための冗長サーチ回路を備えた半導体記憶装置および当該半導体記憶装置におけるセルフリペア方法に関する。
【０００２】
【従来の技術】
ＤＲＡＭ等の半導体記憶装置においては、近年、集積度が非常に増大してきており、それに伴って歩留まりが製造上大きな課題になってきている。歩留まりを１００％にすることは現実問題として不可能に近く、不良のメモリセル（以下、「異常ビット」と呼ぶ場合もある）が存在することを前提としているのが現状である。しかし、不良のメモリセルが存在すれば、当然製品として出荷する訳にはいかない。
【０００３】
したがって、実際には、スペアのメモリセルを幾つか用意しており、不良のメモリセルがみつかれば、これをスペアのメモリセルで置換することで、不良チップの救済を図っている。具体的には、冗長線としてスペアのメモリセルを余分に用意しておき、不良のメモリセルがあれば、それをビット線あるいはアドレス線単位でスペアのメモリセルと置換することによって実現している。従来、メモリセルの良／不良の判断は、工場出荷段階において、外部のメモリテスタを用いて行われていた。
【０００４】
一方、近年、ＬＳＩ技術が飛躍的に向上し、それに伴い複数のメモリとロジック部を同時にＬＳＩチップ上に混載するケースが増え、個々のメモリを独立してテストすることが事実上困難になってきている。また、ＬＳＩの実行速度が速くなるにつれ、外部のメモリテスタを用いてテスト評価することが難しい。そのため、ＬＳＩ内蔵型のメモリテスト手法が不可欠となっている。また、外部のメモリテスタを用いてテスト評価することができたとしても、そのようなメモリテスタは非常に高価である。したがって、ＬＳＩ製作において、テストにかかるコストが近年非常に増大しつつあることから、ＬＳＩの実行速度で高速にテストができ、しかも安価に実現できる方法が望まれている。
【０００５】
半導体記憶装置のテスト評価に関しては、先述したように、１ビット（メモリセル）ごとにメモリセルの良／不良の評価をしていくことになるが、その評価を行う部分をＬＳＩに内蔵したものを一般にＢＩＳＴ（ｂｕｉｌｔ−ｉｎ  ｓｅｌｆ  ｔｅｓｔ；内蔵セルフテスト）と呼んでいる。現状は、市販のテスト回路はＳＲＡＭ向けが主で、ＤＲＡＭ向けは、各メーカーがそれぞれ独自のＤＲＡＭアーキテクチャ用に開発している。
【０００６】
ＢＩＳＴ回路は、メモリに異常（欠陥あるいは不良）ビットがあるか、異常ビットがあれば、どのアドレスのビット（メモリセル）に異常があるかを調べるためのものである。半導体記憶装置には、ＢＩＳＴ回路で見つけた異常ビットを修復するためにダミーのビット線あるいはワード線が用意されている。このダミーのビット線あるいはワード線を冗長線と呼ぶ。ＢＩＳＴ回路では、異常ビットを見つけるだけの処理が行われる。したがって、冗長線をどのように使用するかを実際に決定するのはその後の処理になる。
【０００７】
冗長線は複数本、コラム（ＣＯＬＵＭＮ）方向とロウ（ＲＯＷ）方向に用意されている。したがって、どの異常ビットをどの冗長線で補間するかを決定しなければならない。このように、いずれかの冗長線で異常ビットを補間することをリペアと呼び、また異常ビットを補間するのにどの冗長線を使用するかを決定することをリペアサーチと呼ぶ。また、ＬＳＩチップ上で、マスクアドレスを決定した後、実際にリペアを完了するところまで行うことをＢＩＳＲ（ｂｕｉｌｔ−ｉｎ  ｓｅｌｆ  ｒｅｐａｉｒ；内蔵セルフリペア）あるいはセルフリペアと呼ぶ。
【０００８】
外部のメモリテスタを用いる場合、リペアサーチの計算を外部のメモリテスタのコンピュータを使用して行っている（例えば、特許文献１参照）。また、内蔵するＢＩＳＴ回路に対して、異常ビットが存在するか否かの評価機能に加えて、異常ビットを補間するのにどの冗長線を使用するかを決定するリペアサーチ（冗長解析）機能をも持たせている（例えば、特許文献２参照）。
【０００９】
【特許文献１】
特開平７−１４６３４０号公報
【特許文献２】
特開２００２−１１７６９７号公報
【００１０】
【発明が解決しようとする課題】
しかしながら、ＢＩＳＴ回路を内蔵したＬＳＩの場合でも、特許文献１記載の従来技術のように、各々の異常ビットの情報を外部に取り出し、外部のコンピュータで計算させる構成を採ると、すべての各アドレスについてビットの正常／異常の情報を外部コンピュータのメモリ上にもたせることになるため、メモリ容量を多量に消費し、計算にも非常に時間がかかることになる。
【００１１】
また、特許文献２記載の従来技術のように、内蔵するＢＩＳＴ回路にリペアサーチ機能を持たせた場合であっても、リペア可能な組み合わせとして複数（この例では、６種類）の組み合わせが考えられ、それらのすべての組み合わせについてアドレスを格納する場所を用意して、６種類すべてについて同時にリペア可能性について確認する手法を採っているため、回路規模がそれだけ大きくなることが考えられる。
【００１２】
本発明は、上記課題に鑑みてなされたものであり、その目的とするところは、内蔵するＢＩＳＴ回路にリペアサーチ機能を持たせた場合において、特に、１方向で冗長線を共有する場合（１方向串刺し）において、小さな回路規模にて高速にリペアサーチを行うことが可能な半導体記憶装置および完全なオンチップ上でのセルフリペアを行うことが可能なセルフリペア方法を提供することにある。
【００１３】
【課題を解決するための手段】
本発明による半導体記憶装置は、複数のメモリセルを行列状に配置したメモリコアと、当該メモリコアの中に発生した異常セルをリペアするための冗長セルからなる冗長線を有するブロックを単位とし、この単位ブロックがさらに１つ、あるいは複数行列状に配置されるとともに、前記単位ブロックを第１方向（行方向または列方向）または第２方向（列方向または行方向）の１次元で複数個ずつグループ化し、各グループ内の複数の単位ブロックに対して冗長線を共通に使用してなるメモリ部と、前記メモリ部と同じチップ上に搭載され、前記メモリセル個々の良否を評価する内蔵セルフテスト手段と、前記メモリ部と同じチップ上に搭載され、前記内蔵セルフテスト手段から渡される異常セルの第１方向アドレス（行アドレスまたは列アドレス）および第２方向アドレス（列アドレスまたは行アドレス）からなるアドレスペアのうち、異常セルをリペアする冗長線を決定するために必要最低限のアドレスペアのみを前記単位ブロック毎に第１記憶手段に格納し、当該第１記憶手段に格納したアドレスペアを基に、異常セルをリペアする冗長線のアドレスを前記各グループ毎に計算する内蔵セルフリペア手段とを備えたことを特徴としている。ここで言う必要最低限のアドレスペアとは、例えば、行方向の冗長線の本数をｍ、列方向の冗長線の本数をｎとするとき、前記記憶手段は、前記アドレスペアを格納するバッファ量として各単位ブロック毎に２×ｍ×ｎ個のバッファ量を用意すれば良いことを意味する。
【００１４】
上記構成の半導体記憶装置において、メモリ部は、単位ブロックが行列状に配置されてなり、個々の単位ブロックは行列状に配置された複数個のメモリセルと共に冗長セルからなる冗長線を有している。そして、単位ブロックの各々は、第１方向または第２方向の１次元で複数個ずつグループ化され、各グループ毎に複数の単位ブロックで冗長線を共通に使用している。内蔵セルフテスト手段は、メモリ部の個々のメモリセルの良否を評価し、異常セルのアドレス情報を内蔵セルフリペア手段に渡す。これを受けて、内蔵セルフリペア手段は、異常セルをリペアする冗長線を決定するために必要最低限のアドレスペアのみを単位ブロック毎に第１記憶手段に格納し、当該第１記憶手段に格納したアドレスペアを基に、異常セルをリペアする冗長線のアドレスを各グループ毎に計算する。このように、必要最低限のアドレス情報のみを格納することで、バッファの容量が少なくて済むため、回路規模を小さくできる。また、メモリ部と同一のチップ上において、リペアサーチが行われるため、処理の高速化を図ることができる。
【００１５】
【発明の実施の形態】
以下、本発明の実施の形態について図面を参照して詳細に説明する。
【００１６】
図１は、本発明の一実施形態に係る半導体記憶装置の構成例を示すブロック図である。図１から明らかなように、本実施形態に係る半導体記憶装置（ＬＳＩ）は、ＤＲＡＭやＳＲＡＭ等のＲＡＭ（メモリ部）１０、ＢＩＳＴ（内蔵セルフテスト）回路２０およびＢＩＳＲ回路３０を有し、これら構成要素が同一のＬＳＩチップ上に搭載された構成となっている。
【００１７】
ＲＡＭ１０は、一般に、図２に示すように、複数のメモリセルが行列状に配置されてなるメモリコアと、当該メモリコアの中に発生した異常セルをリペアするための冗長セルからなる冗長線とを有する個々の小さい単位ブロック（以下、「冗長ブロック」と呼ぶ）１１からなり、これら冗長ブロック１１がさらに行列状に多数（１つの場合もある）配列された構成となっている。ここで、理想的には、個々の冗長ブロック１１毎にロウ（ＲＯＷ）、コラム（ＣＯＬＵＭ）それぞれに対してＡｌ（アルミ）等の配線による機械的ヒューズ１２，１３を用い、個々の冗長ブロック独立にリペアできるのが好ましい。
【００１８】
しかし、実際にはヒューズ１２，１３のサイズが大きいため、実装上の問題から、複数の冗長ブロックに対して冗長線を共通に使用することによって冗長ブロックをグループ化し、各グループ毎にヒューズ１２，１３を用意した構造を採っている。本実施形態に係る半導体記憶装置においては、図３に示すように、１次元方向に冗長ブロックを共通化し、このブロック化した各冗長ブロックに対して冗長線（ここでは、冗長線１４）を共通して使用する構成を想定している。
【００１９】
ＢＩＳＴ回路２０は、上記構成のＲＡＭ１０におけるメモリセル個々の良否を評価する。具体的には個々の冗長ブロック１１中に異常ビット（欠陥メモリセルあるいは不良メモリセル）があるか否かを調べ、異常ビットがあれば、どのアドレスのビットに異常があるかをＬＳＩ実行速度で高速に評価する。このＢＩＳＴ回路２０で検出された異常ビットのアドレス情報は、ＢＩＳＴ回路２０からＢＩＳＲ回路３０へ渡される。
【００２０】
ＢＩＳＲ回路３０は、リペア機能を実現するために、リペアサーチ回路部３１およびＢＩＳＲ制御部３２を有する構成となっている。このＢＩＳＲ回路３０において、リペアサーチ回路部３１は、ＢＩＳＴ回路２０から渡される異常ビットのアドレス情報をリアルタイムに処理し、使用する冗長線（冗長セル）を決定するために必要最低限のアドレス情報を確定し、この必要最低限のアドレス情報のみをＬＳＩチップ上に設けられたバッファ（メモリ）３１１に蓄える。異常ビットのアドレス情報は、ロウ（列）、コラム（行）のアドレスデータのペアで表される。このアドレスデータのペアをＸ，Ｙアドレスと呼ぶこととする。
【００２１】
ここで、個々の冗長ブロック１１中に異常ビットが存在するか否かをＢＩＳＴ回路２０にてＬＳＩ実行速度で調べ、そのアドレス情報をリペアサーチ回路部３１にてリアルタイムに処理してバッファ３１１に蓄える一連の処理について説明する。先ず、異常ビットのアドレス情報をチップ上に保存するのに必要なバッファ３１１の容量（以下、「バッファ量」と記す）について考察する。ただし、バッファ３１１は、Ｘ，Ｙアドレスをペアで格納するものとする。
【００２２】
今、Ｘ軸方向（以下、「Ｘ方向」と記す）、Ｙ軸方向（以下、「Ｙ方向」と記す）それぞれについて使用可能な冗長線の数をそれぞれｍ，ｎとすると、１つのＹアドレス上に異常ビットがｎ＋１個以上あれば、無条件にこのＹアドレス線をＸ方向冗長線によって置換しなければならない。また、同様に１つのＸアドレス上に異常ビットがｍ＋１個以上あれば、無条件にこのＸアドレス線をＹ方向冗長線によって置換しなければならない。
【００２３】
よって、Ｙ方向冗長線１本につき必要なバッファ量はｍ個、Ｘ方向冗長線１本につき必要なバッファ量はｎ個あれば良い。何故なら、Ｙ方向冗長線について考察すると、異常アドレスペアを考えたとき、同じＸアドレスで、Ｙアドレスが異なるものがｍ個まではバッファ３１１に蓄えるが、ｍ＋１個目が来た際は、このＸアドレスはリペアアドレスとして確定するため、ｍ＋１個目はバッファ３１１に格納する必要はないためである。Ｘ方向冗長線についても同じである。したがって、Ｘ方向冗長線がｍ個あるので、Ｘ方向冗長線について必要なバッファ量はｍ×ｎ個、同様にＹ方向冗長線はｎ個あるので、Ｙ方向冗長線について必要なバッファ量はｎ×ｍ個あれば良い。よって、合計、２×ｍ×ｎ個のバッファ量を用意すれば良いことになる。
【００２４】
一例として、図３に示す構成のＲＡＭ１０では、ｍ，ｎが共に２、即ち冗長線１４，１５が共に２本であるので、この例の場合は、リペアサーチ回路部３１内のバッファ３１１として、一つの冗長ブロック１１あたり、結局、８（＝２×２×２）個のＸ，Ｙアドレスのペアを格納するバッファ量のものを用意してやれば良いことになる。
【００２５】
図４は、リペアサーチ回路部３１の具体的な構成を示すブロック図である。本例に係るリペアサーチ回路部３１は、バッファ３１１として、２本ずつの冗長線１４，１５に対応してＸ，Ｙのアドレス用バッファ３１１Ｘ，３１１Ｙを８個ずつ有するとともに、存在ビット３１２、マスクビット３１３、Ｄビット３１４およびオーバーフロービット３１５を有している。マスクビット３１３およびＤビット３１４については、Ｘ用（３１３Ｘ，３１４Ｘ）、Ｙ用（３１３Ｙ，３１４Ｙ）が存在する。
【００２６】
存在ビット３１２は、Ｘ，Ｙのアドレス用バッファ３１１Ｘ，３１１Ｙに格納されたアドレスペアの有効（１）／無効（０）を示すビットである。オーバーフロービット３１５は、冗長線１４，１５によって修復（リペア）が可能（０）／不能（１）を決定するビットである。マスクビット３１３については、これが立っているＸまたはＹアドレスはマスクアドレス（リペアアドレス）として確定していることを示す。Ｄビット３１４については、これが立っているＸまたはＹアドレスは、そのアドレスが以前に既に入っていて２つ目以降であることを示す。つまり重複ビットを表す。
【００２７】
図４において、リペアサーチ回路部３１にはＢＩＳＴ回路２０から、異常ビットのＲＡＭ１０上の位置を示すＸ，Ｙアドレスと、Ｘ，Ｙアドレスの入力が有効であることを示す有効ビット情報とが入力される。そして、Ｘ，Ｙアドレスの入力が有効である場合、リペアサーチ回路部３１では次の（１）〜（５）の処理が行われる。
【００２８】
（１）Ｘ，Ｙアドレスペアが入力されると、当該アドレスペアがアドレス用バッファ３１１Ｘ，３１１Ｙに既にペアとして存在するか否かを判定する。そして、存在すれば、この入力されたＸ，Ｙアドレスのペアを破棄する。
【００２９】
（２）入力されたＸ，Ｙアドレスペアのうち、いずれか一方のアドレスがマスク（リペア）するアドレスとして確定（以下、「マスク確定」と記す）されたアドレスであるか否か、即ちマスクビット３１３Ｘ，３１３Ｙが“１”であるか否かを判定する。そして、マスク確定されたアドレス（以下、「マスクアドレス」と記す）ならば、この入力されたＸ，Ｙアドレスペアを破棄する。
【００３０】
（３）上記（１），（２）のいずれでもなければ、入力されたＸ，Ｙアドレスペアを空いているアドレス用バッファ３１１Ｘ，３１１Ｙに格納し、存在ビット３１２を“１”にする。ただし、このとき、ＸアドレスまたはＹアドレスと同じ値が過去に当該バッファ３１１Ｘ，３１１Ｙに存在すれば、新たにアドレスペアを格納する際に、Ｘに同じ値があればＸＤビット３１４Ｘを、Ｙに同じ値があればＹＤビット３１４Ｙを“１”にし、このアドレスが既に２個格納されていることを示す。
【００３１】
（４）また、入力されたＸ，Ｙアドレスペアのうち、いずれか一方のアドレスが過去にアドレス用バッファ３１１Ｘ，３１１Ｙに格納されていて、そのＤビット３１４Ｘ，３１４Ｙが“１”になっていれば、入ってきたアドレスは３つ目ということになるので、このアドレスについてはマスクアドレスとして確定する。そして、入力されたＸ，Ｙアドレスペアを破棄し、Ｄビット３１４Ｘ，３１４Ｙが“１”になっていたアドレスのマスクビット３１３Ｘ，３１３Ｙを“１”にし、このアドレスがマスクアドレスであることを示す。
【００３２】
（５）入力されたＸ，Ｙアドレスペアをアドレス用バッファ３１１Ｘ，３１１Ｙに格納しようとした際に、当該バッファ３１１Ｘ，３１１Ｙが既に一杯になっていて、格納するスペースがないときはリペア不能なため、オーバーフロービット３１５を“１”にしてオーバーフロー（リペア不能）であることを示し、リペアサーチ回路部３１において実行される一連の処理を終了する。
【００３３】
ここで、リペアサーチ回路部３１において実行される上述した一連の処理について、数値例を挙げてさらに具体的に説明する。ある一つの冗長ブロックにおいて、異常ビットのＸ，Ｙアドレスのペアが、一例として、（１２，５）、（６，５）、（１２，８）、（５，３５）、（１２，６）、（６，３５）、（７，５）の順にＢＩＳＴ回路２０からリペアサーチ回路部３１に送られてきた場合を考える。
【００３４】
先ず、Ｘ，Ｙアドレス（１２，５）が入力されると、最初に入力されるアドレスペアであるため、そのままＸ，Ｙのアドレス用バッファ３１１Ｘ，３１１Ｙに格納される。このとき、バッファ３１１Ｘ，３１１Ｙに格納されたアドレスペアが有効であるため存在ビット３１２が“１”になる。
【００３５】
次に、Ｘ，Ｙアドレス（６，５）が入力されると、当該アドレスはまだペアとしてアドレス用バッファ３１１Ｘ，３１１Ｙに格納されておらず、いずれのアドレスもまだマスクアドレスとして確定されていないため、そのままバッファ３１１Ｘ，３１１Ｙに格納されるとともに、存在ビット３１２が“１”になる。このとき、Ｙのアドレス用バッファ３１１Ｙに同じアドレスの５が既に格納されているためＹＤビット３１４Ｙが“１”になる。
【００３６】
次に、Ｘ，Ｙアドレス（１２，８）が入力されると、当該アドレスはまだペアとしてアドレス用バッファ３１１Ｘ，３１１Ｙに格納されておらず、いずれのアドレスもまだマスクアドレスとして確定されていないため、そのままアドレス用バッファ３１１Ｘ，３１１Ｙに格納されるとともに、存在ビット３１２が“１”になる。このとき、Ｘのアドレス用バッファ３１１Ｘに同じアドレスの１２が既に格納されているためＸＤビット３１４Ｘが“１”になる。
【００３７】
次に、Ｘ，Ｙアドレス（５，３５）が入力されると、当該アドレスはまだペアとしてアドレス用バッファ３１１Ｘ，３１１Ｙに格納されておらず、いずれのアドレスもまだマスクアドレスとして確定されていないため、そのままアドレス用バッファ３１１Ｘ，３１１Ｙに格納されるとともに、存在ビット３１２が“１”になる。
【００３８】
次に、Ｘ，Ｙアドレス（１２，６）が入力されると、Ｘアドレスの１２は既に格納されていて、またＸＤビットが“１”になっているアドレスペアが存在している（以前に（１２，８）で入ったペア）。したがって、今回入ってきたアドレスペア（１２，６）のＸアドレス１２は３つ目であり、同じＸアドレス（この場合、１２）でＹアドレスが異なるものが３つあることになる。よって、この（１２，６）のペアについては破棄し、ＸＤビットが“１”になっているアドレスペア（１２，８）のＸマスクビット３１３Ｘを“１”にする。
【００３９】
次に、Ｘ，Ｙアドレス（６，３５）が入力されると、当該アドレスはまだペアとしてアドレス用バッファ３１１Ｘ，３１１Ｙに格納されておらず、いずれのアドレスもまだマスクアドレスとして確定されていないため、そのままバッファ３１１Ｘ，３１１Ｙに格納されるとともに、存在ビット３１２が“１”になる。またこのとき、Ｘアドレスの６、Ｙアドレスの３５はともに、以前にすでにバッファに格納されており、今回の入力はＸ，Ｙともに２つ目である。よって、ＸＤビット３１４Ｘ、ＹＤビット３１４Ｙともに“１”になる。
【００４０】
最後に、Ｘ，Ｙアドレス（７，５）が入力されると、Ｙアドレスの５は既に格納されていて、またＹＤビットが“１”になっているアドレスペアが存在している（以前に（６，５）で入ったペア）。したがって、今回入ってきたアドレスペア（７，５）のＹアドレス５は３つ目であり、同じＹアドレス（この場合、５）でＸアドレスが異なるものが３つあることになる。よって、この（７，５）のペアについては破棄し、ＹＤビットが“１”になっているアドレスペア（６，５）のＹマスクビット３１３Ｙを“１”にする。
【００４１】
このように、ある一つの冗長ブロックにおいて、異常ビットのＸ，Ｙアドレスのペアが、例えば、（１２，５）、（６，５）、（１２，８）、（５，３５）、（１２，６）、（６，３５）、（７，５）の順にＢＩＳＴ回路２０から送られてきたときのリペアサーチ回路部３１での処理結果、即ち当該リペアサーチ回路部３１内のＸ，Ｙのアドレス用バッファ３１１Ｘ，３１１Ｙおよび各ビット３１２〜３１５の内容を図５に示す。
【００４２】
上述したように、ＲＡＭ１０と同じＬＳＩチップ上に、ＢＩＳＴ回路２０およびリペアサーチ回路部３１を搭載することで、異常ビットがあるか、あれば、どのアドレスのビットに異常があるかを調べる処理および使用する冗長線を決定するために必要最低限のアドレス情報を確定してこの確定したアドレス情報のみをバッファ３１１Ｘ，３１１Ｙを始め、マスクビット３１３Ｘ，３１３Ｙ等の各ビット（図４参照）に蓄える処理をＬＳＩ実行速度で行うことができる。これにより、ＬＳＩ実行速度での高速動作が可能な高価なメモリテスタが不要になる。
【００４３】
また、リペアサーチ回路部３１によるチップ上での処理により、冗長線解析に必要な異常ビットのアドレス情報のみを残す構成を採っていることにより、今までのように、すべてのアドレスについての正常／異常の情報を取り込む必要がないため、使用するバッファ（メモリ）の容量を大幅に縮小化できる。また、このことにより、バッファ３１１に蓄えられたアドレス情報を基に、使用する冗長線を決定するための計算速度も高速化できる。
【００４４】
ＢＩＳＲ回路３０は、上述したリペアサーチ回路部３１の機能を使用して、冗長線が複数の冗長ブロック１１に対して串刺しの形で接続されている場合にも、オンチップにてリペアサーチを行い、マスクアドレスを決定するものである。このＢＩＳＲ回路３０の実施例について、例えば４個の冗長ブロック１１に対してロウ冗長線１４が串刺しの形で配線されている場合を例に挙げて説明する。
【００４５】
（第１実施例）
図６は、第１実施例に係るＢＩＳＲ回路３０Ａの構成例を示すブロック図である。図６に示すように、本実施例に係るＢＩＳＲ回路３０Ａは、アドレスバッファやフラグ類を含むバッファ部４１−１〜４１−４と、Ｘマスクアドレス格納部４２と、Ｙアドレス確認部４３−１〜４３−４とから構成される。オーバーフロービットは、ＢＩＳＲの結果がマスク可能か不可能かを示すビットである。
【００４６】
ＢＩＳＲ回路３０Ａには、ＢＩＳＴ回路２０においてメモリセル個々の良否の評価が終了すると、当該ＢＩＳＴ回路２０からＢＩＳＲの計算開始を指示するスタート信号ＢＩＳＲＳＴＡＲＴが与えられる。このスタート信号ＢＩＳＲＳＴＡＲＴを受けて、ＢＩＳＲ回路３０Ａは、ＢＩＳＲの計算を開始する。ＢＩＳＲの計算が終了とすると、ＢＩＳＲ回路３０Ａは、ＢＩＳＲの計算終了を示すエンド信号ＢＩＳＲＥＮＤを出力する。
【００４７】
図６において、バッファ部４１−１〜４１−４の各々は、図４に示すリペアサーチ回路部３１に相当している。すなわち、これらバッファ部４１−１〜４１−４には、先述したリペアサーチが実行されることにより、使用する冗長線を決定するために必要最低限のＸ，Ｙアドレスペアのみが４個の冗長ブロック１１に対応して格納されることになる。なお、Ｙアドレス確認部４３−１〜４３−４については、各バッファ部４１−１〜４１−４の外に設けるようにしているが、各バッファ部４１−１〜４１−４の中に設けるようにしても良い。
【００４８】
Ｘマスクアドレス格納部４２は、Ｘアドレス格納部４２１およびシフトレジスタ部４２２を有している。ここでは、冗長線１４，１５は、図３に示すように、Ｙ方向（串刺し方向）に２本、Ｘ方向には各冗長ブロック１１毎に２本ずつ配線されている場合を例に挙げている。この場合、Ｘアドレスの取り得る数は最大で１８個になるので、Ｘマスクアドレス格納部４２のＸアドレス格納部４２１の格納数としては１８個あれば良い。
【００４９】
Ｘアドレスの取り得る値の数が最大で１８個になる理由は次の通りである。すなわち、Ｘアドレスが最大個使用されるときの状態は、Ｙ方向の冗長線１４が２本とも使用されることでＸアドレスが２個、また各冗長ブロック１１毎にＸ方向の冗長線１５が２本ずつすべて使用される場合で、このときは１本あたりＸアドレス２個ずつバッファ部４１−１〜４１−４に入っているので、１冗長ブロック１１あたりＸアドレスが４個（＝２本×２個）。これが４冗長ブロック分あるので、Ｘアドレスが計１６個。Ｙ方向の２個と合わせると、Ｘアドレスが合計１８個となる。Ｘアドレスが１９個以上となれば、リペアが不可能となる。
【００５０】
シフトレジスタ４２２部は、Ｙ方向の冗長線１４の本数（ここでは、２本）と同じ２本のシフトレジスタを有している。これらシフトレジスタは、Ｘアドレスの取り得る最大数、即ちＸアドレス格納部４２１の格納数（ここでは、１８個）だけレジスタ段が連なる構成のものであれば良い。ただし、本例では、段数を１段増やして１９段のシフトレジスタ構成とし、その増やしたレジスタ（図の一番左のレジスタ）でＸマスクアドレスを使用しないという状態を示す構成をとっている。ここで、「Ｘマスクアドレスを使用しない」とは、「Ｙ方向の冗長線を使用しない」ということを意味している。
【００５１】
Ｙアドレス確認部４３−１〜４３−４は、Ｘアドレスによってマスク確定されずに残ったアドレスペアのＹアドレスを確認するために設けられたものである。Ｙアドレスを確認するために、Ｙアドレス確認部４３−１〜４３−４は、Ｙアドレスを格納するＹアドレス格納部４３１を持っている。ここでは、各冗長ブロック１１に対してＸ方向に２本ずつ冗長線１５を設けているため、これに対応してＹアドレスを２つ格納できる２つのバッファをＹアドレス格納部４３１として設けている。
【００５２】
次に、上記構成のＢＩＳＲ回路３０Ａにおいて実行される、マスクアドレスを決定する際の具体的な処理手順について説明する。以下の処理は、ＢＩＳＲ制御部３２（図１参照）による制御の下に行われる。
【００５３】
（１）まず、ＢＩＳＴ回路２０を動作させて、リペアサーチ回路部３１のリペアサーチ機能により、４つの冗長ブロック１１の各々について、使用する冗長線を決定するために必要最低限の異常ビットのアドレスペアのみをバッファ部４１−１〜４１−４に格納する。
【００５４】
（２）次に、すべてのバッファ部４１−１〜４１−４に格納された異常ビットのアドレスペア（Ｘ，Ｙアドレス）のＸアドレスをＸマスクアドレス格納部４２へ転送する。このとき、Ｘマスクアドレス格納部４２には、Ｘアドレスがすべて互いに異なるように格納する。
【００５５】
（３）次に、Ｘマスクアドレス格納部４２において、シフトレジスタ部４２２の２つのシフトレジスタの各ポインタを図の一番左のレジスタへ移動させる。この状態をリセット状態とする。このリセット状態では、シフトレジスタ部４２２の２つのシフトレジスタの各ポインタが、一番左のレジスタにあることで、Ｘマスクアドレス、即ちＹ方向の冗長線１４を使用しないという状態を示している。
【００５６】
（４）次に、Ｘマスクアドレス格納部４２において、まずこのリセット状態で、各冗長ブロックがマスク可能か否かを確認する。このリセット状態は、Ｙ方向の冗長線１４を使用していない場合なので、各バッファ部４１−１〜４１−４のＹアドレス確認部４３−１〜４３−４により、Ｙマスクアドレスのみでマスク可能か否かを調べる。ここで、「Ｙマスクアドレスのみで」とは、「Ｘ方向の各単位ブロック毎の２本の冗長線１５のみで」いうことを意味している。もし、Ｙマスクアドレスのみでマスク不可能であれば次へ進む。
【００５７】
（５）Ｙマスクアドレスのみでマスク不可能であれば、下段のシフトレジスタのポインタを右へシフトさせる。そのとき、下段のシフトレジスタのポインタが指すＸアドレス格納部４２１にＸアドレスがあれば、このＸアドレスを各バッファ部４１−１〜４１−４に知らせる。これにより、同じＸアドレスを持つバッファ部４１−１〜４１−４内のアドレスペアは、このＸアドレスによってリペアされる。このとき、リペアされたアドレスペアには印をつける。印をつけるには、例えば、各バッファ部４１−１〜４１−４内の各アドレスペアにその旨を表すビットを設けるようにすれば良い。
【００５８】
（６）次に、上記（５）の処理ではリペアされずに各バッファ部４１−１〜４１−４に残ったアドレスペアをＸ方向の２本冗長線１５ですべてマスクできるか否かを、各バッファ部４１−１〜４１−４のＹアドレス確認部４３−１〜４３−４によって確認する。もし、マスク不可能であれば次に進む。
【００５９】
（７）上記（６）の処理でマスク不可能であれば、下段のシフトレジスタのポインタを順次右シフトしていき、上記（６）の確認を繰り返し、右端に行ってもマスク不可能であれば、上段のシフトレジスタのポインタを右シフトさせる。その際、下段のシフトレジスタのポインタシフトは左端から再度はじめても良いし、また上段と同じシフト位置、あるいは上段よりひとつ右からはじめるようにしても良い。そして、上段のシフトレジスタのポインタが指すＸアドレスおよび下段のシフトレジスタのポインタが指すＸアドレスを持つ各バッファ部４１−１〜４１−４内のアドレスペアをＹ方向の冗長線１４でリペアされたと仮定して、残ったアドレスペアをＸ方向の２本の冗長線１５でマスク可能か否かを調べていく。
【００６０】
（８）以下、同様である。途中で４つの冗長ブロック１１についてのすべての異常セルがマスク可能となれば、そのときにシフトレジスタ部４２２の２つのシフトレジスタの各ポインタが指すＸアドレスがＸマスクアドレスとなる。また、最後まで行ってもすべての異常セルがマスク可能とならなければ、マスク不可能となる。
【００６１】
（９）シフトレジスタ部４２２の上下２段のシフトレジスタが指すＸマスクアドレスセットによってリペア可能か否かを調べるには、Ｘアドレスによってマスク確定されずに残ったアドレスペアのＹアドレスを順次冗長ブロックごとにＹアドレス格納部４３１に転送する。同じものが既にあれば、これは無視する。そして、その転送の結果、Ｙアドレス格納部４３１の２つのバッファに入りきれば、この冗長ブロックはＸ方向の２本の冗長線１５でマスク可能と判断するが、入りきれなければ、Ｘ方向の２本の冗長線１５でマスク不可能と判断する。
【００６２】
ここで、シフトレジスタ部４２２のシフトレジスタが１９段のときは、Ｙ方向の冗長線１４を使用しない状態が与えられるが、１８段としても差し支えない。ただし、シフトレジスタが１８段の場合は、Ｙ方向の冗長線１４は必ず使用されることになる。また、このとき、最後にＹアドレス確認部４３−１〜４３−４のＹアドレス格納部４３１に残っているアドレスがＹマスクアドレスである。
【００６３】
なお、上記第１実施例においては、Ｙ方向（串刺し方向）に２本、Ｘ方向に各冗長ブロック１１毎に２本ずつ配線されている場合を例に挙げて説明したが、これに限られるものではなく、Ｘ方向（串刺し方向）に２本、Ｙ方向は各冗長ブロック１１毎に２本ずつ配線されている場合にも同様に適用可能である。また、冗長線の本数についてもそれぞれ２本に限られるものではない。これらの点については、以下に説明する各実施例においても同様のことが言える。
【００６４】
ただし、冗長線の本数が２本でない場合には、Ｘアドレス（または、Ｙアドレス）の取り得る最大数が変わってくるため、当然のことながら、その取り得る最大数に応じてＸアドレス格納部４２１の格納数、シフトレジスタ部４２２のシフトレジスタ本数や段数も変わってくる。シフトレジスタ部４２２のシフトレジスタ本数が３本以上となる場合には、それらを第１シフトレジスタ、第２シフトレジスタ、第３シフトレジスタ、…とするとき、第１シフトレジスタを固定して第２シフトレジスタ、第３シフトレジスタ、…をシフトしていった後、第１シフトレジスタをシフトし、その際第２シフトレジスタは第１シフトレジスタのシフト位置あるいはその次のシフト位置からシフトをはじめ、第３シフトレジスタは第２シフトレジスタのシフト位置あるいはその次のシフト位置からシフトをはじめるようにすれば良い。こうすることにより、Ｘアドレスの組み合わせとして同じものが再度発生しないため、リペアサーチに要する時間を短縮できる。
【００６５】
（第２実施例）
図７は、第２実施例に係るＢＩＳＲ回路３０Ｂの構成例を示すブロック図であり、図中、図６と同等部分には同一符号を付して示している。図７から明らかなように、本実施例に係るＢＩＳＲ回路３０Ｂは、バッファ部４１−１〜４１−４およびＹアドレス確認部４３−１〜４３−４から構成されている。バッファ部４１−１〜４１−４内には、各バッファ内のアドレスペア毎にフラグを設け、これらをすべてチェーン状に繋いだシフトレジスタがＹ方向の冗長線１４の数（ここでは２本）だけあり、これらのシフトレジスタは各バッファ部４１−１〜４１−４間も接続されている。これらのシフトレジスタをシフトレジスタ部４１１とする。また、各バッファ部４１−１〜４１−４内には、説明の都合上、前記ＸＤビット４１２（ＸＤビット３１４Ｘと同じ）についても示してある。
【００６６】
次に、上記構成のＢＩＳＲ回路３０Ｂにおいて実行される、マスクアドレスを決定する際の具体的な処理手順について説明する。以下の処理は、ＢＩＳＲ制御部３２（図１参照）による制御の下に行われる。
【００６７】
（１）まず、ＢＩＳＴ回路２０を動作させて、４つの冗長ブロック１１の各々について、使用する冗長線を決定するために必要最低限の異常ビットのアドレスペアのみをバッファ部４１−１〜４１−４に格納する。
【００６８】
（２）次に、シフトレジスタ部４１１の左右のシフトレジスタの各ポインタを例えば一番上へ移し、リセット状態とする。図７には示していないが、第１実施例の場合と同様に、シフトレジスタ部４１１の左右のシフトレジスタに対してさらに上にもう１セット分フラグを追加して、このフラグによってＹ方向の冗長線１４を使用しない状態を示すようにすることで、当該状態を考慮に入れるようにしても良い。
【００６９】
（３）次に、この状態で、左右のシフトレジスタの各ポインタが指すＸアドレスをすべてのバッファ部４１−１〜４１−４に通知し、同じＸアドレスを持つアドレスペアをリペアされたと仮定する。第１実施例の場合と同様に、リペアされたことを示す専用のビットを用意するようにしても良い。
【００７０】
（４）次に、上記（３）の処理では、リペアされずに残ったアドレスペアについて、Ｘ方向の冗長線１５でマスク可能か否か確認する。マスク不可能であれば次へ進む。
【００７１】
（５）次に、右側のシフトレジスタのポインタをシフトさせる。ただし、このとき、フラグ部４１２のビット（ＸＤビット）が“１”になっていれば、このＸアドレスは既にあったかこれから出てくるということを示しているので、無視して再度シフトする。
【００７２】
（６）ここで、左右のシフトレジスタの各ポインタが指すＸアドレスをすべてのバッファ部４１−１〜４１−４に通知し、このＸアドレスをもつアドレスペアをリペアされたと仮定する。
【００７３】
（７）次に、上記（６）の処理ではリペアされずに残ったアドレスペアがＸ方向の冗長線１５でマスク可能か否かを、各バッファ部４１−１〜４１−４のＹアドレス確認部４３−１〜４３−４によって確認する。このアルゴリズムは、第１実施例の場合と同じである。マスク不可能であれば次へ進む。
【００７４】
（８）さらに、右シフトレジスタのポインタをシフトさせる。ポインタが一番下までいけば、左シフトレジスタのポインタをシフトさせる。この場合には、上記（５）と同様、フラグ部４１２のビット（ＸＤビット）が“１”のところはスキップし、次へ移る。そして、右シフトレジスタのポインタを一番上に戻す。このとき、右シフトレジスタのポインタのシフトを、左シフトレジスタと同じシフト位置、あるいはそれよりもひとつ下からはじめても良い。
【００７５】
（９）以降、同様にマスク可能か否かを確認していく。マスク可能になれば、そのとき、左右のシフトレジスタのポインタが指すＸアドレスがＸのマスクアドレスである。最後まで行ってマスク可能にならなければ、マスク不可能である。
【００７６】
上記の場合、ひとつのバッファ部内で同じＸアドレスが複数ある場合は、ＸＤビットを使用することによって、同じＸアドレスを２度アクセスすることを防げるが、バッファ部を跨いで同じＸアドレスが複数ある場合は、これを２度アクセスすることを防げない。よって、シフトレジスタ４１１をシフトするたびに当該シフトレジスタ４１１が示すＸアドレスをすべてのバッファ部４１−１〜４１−４に通知するが、その際、同じＸアドレスを指すアドレスペアがあれば、それのＸＤビットを“１”にしていけば、同じＸアドレスを２度にわたってアクセスすることはなくなる。
【００７７】
（第３実施例）
上記第１，第２実施例では、Ｙアドレスを確認するために、Ｙアドレス格納部４３１として、Ｙアドレス確認部４３−１〜４３−４にＹアドレスを２つ格納できるバッファを用意するとしたが、図８に示すように、Ｙ用シフトレジスタ４１３を設けて、このＹ用シフトレジスタ４１３を使用することも可能である。第３実施例では、このＹ用シフトレジスタ４１３を用いてＹアドレスを確認する方法を採っている。
【００７８】
具体的には、Ｙ用シフトレジスタ４１３をＸ方向の冗長線１５の本数（ここでは２）だけ用意して、これを順次ひとつずつシフトしていく。その際、これが指すＹアドレスと同じものをマスクする。マスクするには、例えばＹテスト用マスクビット４１４を使用する。Ｙ用シフトレジスタ４１３をシフトする際は、このＹテスト用マスクビット４１４はクリアする。
【００７９】
そして、すべてのアドレスペアがＸマスクアドレス、Ｙマスクアドレスによってマスクされたら、そのときＹ用シフトレジスタ４１３が指すＹアドレスが、決定されたＹマスクアドレスになる。Ｙ用シフトレジスタ４１３のシフトの仕方は、第１，第２実施例の場合と同様である。また、Ｘマスクアドレスでマスクされているアドレスペアについてはスキップするようにすれば、Ｙアドレスを確認する際の効率を向上できる。
【００８０】
（第４実施例）
第１〜第３実施例では、冗長線がＹ方向（串刺し方向）に２本、Ｘ方向には各冗長ブロック１１毎に２本ずつ配線されている場合を例に挙げて説明したが、第４実施例では、図９（ａ）に示すように、冗長線がＸ，Ｙ方向に、即ち２次元的に串刺しの形で配線されている場合について説明する。ここでは、一例として、例えばＸ，Ｙ方向各４個ずつの冗長ブロック１１に対して冗長線１４，１５が串刺しの形で配線されている場合を例に挙げて説明する。
【００８１】
このように、２次元的に串刺しの構造になっている場合は、Ｘ方向の４個の冗長ブロックについて、Ｘアドレスに関して一つにまとめ、見かけ上、図９（ｂ）に示すように、１つの冗長ブロックとみなすようにする。
【００８２】
実際には、例えば図９（ａ）に示すように、一番左側の冗長ブロックのＸアドレスが０から１２７、次の冗長ブロックのＸアドレスが１２８から２５５、その次の冗長ブロックのＸアドレスが２５６から３８３、一番右側の冗長ブロックのＸアドレスが３８４から５１１に対応しているとすると、ＢＩＳＲ回路３０に異常（欠陥）ビットのアドレスを入力する際、Ｘアドレスに関して１２８で割った余りをアドレスとしてアドレス変換し、図９（ｂ）に示すように、すべての冗長ブロックの異常ビットをＸアドレスが０から１２７までのアドレスとしてＢＩＳＲ回路３０に入力するようにすれば良い。
【００８３】
上述したように、Ｘ方向に並んだ４個の冗長ブロックの異常ビットをＸアドレスが０から１２７までのアドレスとしてアドレス変換を行ってＢＩＳＲ回路３０に入力することにより、複数の冗長ブロックに対して２次元の方向に冗長線が串刺しの形で配線した構造のメモリの場合にも、第１〜第３実施例の場合と同様にして、オンチップにてリペアサーチを行い、マスクアドレスを決定することができる。
【００８４】
なお、本実施例では、Ｘ方向に４個並んだ冗長ブロックをアドレス変換によってひとつにまとめる方法について説明したが、Ｙ方向に４個の冗長ブロックが並んだ場合についても同様である。また、個数が４個でない場合でも同様のことが言える。
【００８５】
【発明の効果】
以上説明したように、本発明によれば、１次元方向の複数の冗長ブロックに亘って冗長線が共有して使用される構造の場合、オンチップ上で冗長線のマスクアドレスが決定でき、よって完全なオンチップ上でのセルフリペアが可能となる。このことによって、工場出荷時に異常ビットのリペアを行うだけでなく、商品としてユーザーの手元に渡ったあとでも、電源ＯＮ時等にＢＩＳＲを動かすことにより、異常ビットを救済できる確率が増えるという効果がある。
【００８６】
また、個々のメモリセルの良否を評価して得たアドレス情報のうち、異常セルと置換する冗長線を決定するために必要最低限のアドレス情報のみをバッファに格納するようにしたことで、評価したアドレス情報をすべて格納する場合に比べて、バッファ容量が少なくて済むため回路規模を小さくでき、またメモリ部と同一のチップ上においてリペアサーチが行われるため、処理の高速化を図ることができる。
【図面の簡単な説明】
【図１】本発明の一実施形態に係る半導体記憶装置の構成を示すブロック図である。
【図２】ＲＡＭの構成の一例を示すブロック図である。
【図３】冗長線がＹ方向（串刺し方向）に２本、Ｘ方向に各冗長ブロック毎に２本ずつ配線された場合の構成を示すブロック図である。
【図４】リペアサーチ回路部の具体的な構成例を示すブロック図である。
【図５】リペアサーチ回路部での処理結果を示す図である。
【図６】第１実施例に係るＢＩＳＲ回路の構成例を示すブロック図である。
【図７】第２実施例に係るＢＩＳＲ回路の構成例を示すブロック図である。
【図８】第３実施例に係るバッファ部の構成例を示すブロック図である。
【図９】ＢＩＳＲ回路の第４実施例に係る処理の説明に供する図である。
【符号の説明】
１０…ＲＡＭ、１１…冗長ブロック、１２，１３，５１…Ａｌヒューズ、１４…ロウ冗長線、１５…コラム冗長線、２０…ＢＩＳＴ回路、３０…ＢＩＳＲ回路、３１…リペアサーチ回路部、３２…ＢＩＳＲ制御部、４１−１〜４１−４…バッファ部、４２…Ｘマスクアドレス格納部、４３−１〜４３−４…Ｙアドレス格納部
【図１】
2004334941.tif 000003
【図２】
2004334941.tif 000004
【図３】
2004334941.tif 000005
【図４】
2004334941.tif 000006
【図５】
2004334941.tif 000007
【図６】
2004334941.tif 000008
【図７】
2004334941.tif 000009
【図８】
2004334941.tif 000010
【図９】
2004334941.tif 000011