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