(57)【特許請求の範囲】
【請求項１】
集積回路半導体装置において、
複数個のロウ冗長と複数個のカラム冗長とを具備した内蔵メモリと、
前記内蔵メモリの不良セルを検出するための自己診断回路と、
前記自己診断回路から検出された不良セルに対する情報をロウ及びカラム別に区分して貯蔵し、前記情報に応答して不良セルに対する前記ロウ冗長を利用するか前記カラム冗長を利用するかの復旧方法を決定し、前記復旧方法によって復旧されたロウアドレス及びカラムアドレスを前記内蔵メモリに送出するための自己復旧回路とを含み、
前記自己復旧回路は、
前記自己復旧回路の諸動作を制御するための自己復旧制御器と、
複数個のデータ貯蔵領域を含む複数個のロウフィルエントリで構成され、各ロウフィルエントリ毎に、前記内蔵メモリに発生した不良セルのロウアドレスと、該ロウアドレスに発生している不良セルの個数とを貯蔵するための第１貯蔵手段と、
前記自己復旧制御器の制御に応答して、前記不良セルの発生しているロウアドレスと前記不良セルの個数とを前記第１貯蔵手段に貯蔵するための第１ロジックと、
複数個のデータ貯蔵領域を含む複数個のカラムフィルエントリで構成され、各カラムフィルエントリ毎に、前記内蔵メモリに発生した不良セルのカラムアドレスと、該カラムアドレスに発生している不良セルの個数とを貯蔵するための第２貯蔵手段と、
前記自己復旧制御器の制御に応答して、前記不良セルの発生しているカラムアドレスと前記不良セルの個数とを前記第２貯蔵手段に貯蔵するための第２ロジックと、
前記不良セルに対する情報の貯蔵時に、前記自己復旧制御器の制御に応答して、前記第１貯蔵手段の各ロウフィルエントリには、貯蔵されたロウアドレスと同一のロウアドレスに発生している不良セルのカラムアドレスが、前記第２貯蔵手段のどの位置にあるカラムフィルエントリに貯蔵されているかの位置情報を貯蔵し、
前記第２貯蔵手段の各カラムフィルエントリには、貯蔵されたカラムアドレスと同一のカラムアドレスに発生している不良セルのロウアドレスが前記第１貯蔵手段のどの位置にあるロウフィルエントリに貯蔵されているかの位置情報を貯蔵し、
前記不良セルに対する復旧方法の決定時に、前記自己復旧制御器の制御に応答して、前記カラム冗長を利用する際には、復旧するカラムアドレスを貯蔵しているカラムフィルエントリに貯蔵されている前記位置情報が示す前記第１貯蔵手段のロウフィルエントリ中の不良セルの個数を一つずつ減少させ、
前記ロウ冗長を利用する際には、復旧するロウアドレスを貯蔵しているロウフィルエントリに貯蔵されている前記位置情報が示す前記第２貯蔵手段のカラムフィルエントリ中の不良セルの個数を一つずつ減少させるための第３ロジックと、
前記自己復旧制御器の制御に応答して、復旧されたロウ及びカラムアドレスを前記内蔵メモリに送出するアドレスチェッカとを含み、
前記自己復旧制御器は、
前記ロウ冗長の個数が前記カラム冗長の個数よりも少ない場合は、まず、前記第１貯蔵手段を選択して、前記ロウ冗長を利用して復旧し、その後、前記第２貯蔵手段を選択して、前記カラム冗長を利用して復旧することを決定し、
前記カラム冗長の個数が前記ロウ冗長の個数よりも少ない場合は、まず、前記第２貯蔵手段を選択して、前記カラム冗長を利用して復旧し、その後、前記第１貯蔵手段を選択して、前記ロウ冗長を利用して復旧することを決定することを特徴とする集積回路半導体装置。
【請求項２】
集積回路半導体装置において、
複数個のロウ冗長と複数個のカラム冗長とを具備した内蔵メモリと、
前記内蔵メモリの不良セルを検出するための自己診断回路と、
前記自己診断回路から検出された不良セルに対する情報をロウ及びカラム別に区分して貯蔵し、前記情報に応答して不良セルに対する前記ロウ冗長を利用するか前記カラム冗長を利用するかの復旧方法を決定し、前記復旧方法によって復旧されたロウアドレス及びカラムアドレスを前記内蔵メモリに送出するための自己復旧回路とを含み、
前記自己復旧回路は、
前記自己復旧回路の諸動作を制御するための自己復旧制御器と、
複数個のデータ貯蔵領域を含む複数個のロウフィルエントリで構成され、各ロウフィルエントリ毎に、前記内蔵メモリに発生した不良セルのロウアドレスと、該ロウアドレスに発生している不良セルの個数とを貯蔵するための第１貯蔵手段と、
前記自己復旧制御器の制御に応答して、前記不良セルの発生しているロウアドレスと前記不良セルの個数とを前記第１貯蔵手段に貯蔵するための第１ロジックと、
複数個のデータ貯蔵領域を含む複数個のカラムフィルエントリで構成され、各カラムフィルエントリ毎に、前記内蔵メモリに発生した不良セルのカラムアドレスと、該カラムアドレスに発生している不良セルの個数とを貯蔵するための第２貯蔵手段と、
前記自己復旧制御器の制御に応答して、前記不良セルの発生しているカラムアドレスと前記不良セルの個数とを前記第２貯蔵手段に貯蔵するための第２ロジックと、
前記不良セルに対する情報の貯蔵時に、前記自己復旧制御器の制御に応答して、前記第１貯蔵手段の各ロウフィルエントリには、貯蔵されたロウアドレスと同一のロウアドレスに発生している不良セルのカラムアドレスが、前記第２貯蔵手段のどの位置にあるカラムフィルエントリに貯蔵されているかの位置情報を貯蔵し、
前記第２貯蔵手段の各カラムフィルエントリには、貯蔵されたカラムアドレスと同一のカラムアドレスに発生している不良セルのロウアドレスが前記第１貯蔵手段のどの位置にあるロウフィルエントリに貯蔵されているかの位置情報を貯蔵し、
前記不良セルに対する復旧方法の決定時に、前記自己復旧制御器の制御に応答して、前記カラム冗長を利用する際には、復旧するカラムアドレスを貯蔵しているカラムフィルエントリに貯蔵されている前記位置情報が示す前記第１貯蔵手段のロウフィルエントリ中の不良セルの個数を一つずつ減少させ、
前記ロウ冗長を利用する際には、復旧するロウアドレスを貯蔵しているロウフィルエントリに貯蔵されている前記位置情報が示す前記第２貯蔵手段のカラムフィルエントリ中の不良セルの個数を一つずつ減少させるための第３ロジックと、
前記自己復旧制御器の制御に応答して、復旧されたロウ及びカラムアドレスを前記内蔵メモリに送出するアドレスチェッカとを含み、
前記自己復旧制御器は、
前記第１又は第２貯蔵手段中の前記ロウ冗長の個数又は前記カラム冗長の個数に基いて不良セルに対する復旧方法を決定し、貯蔵された前記不良セルの個数が多いフィルエントリから順次選択して、決定された前記復旧方法により復旧を行うことを特徴とする集積回路半導体装置。
【請求項３】
前記第３ロジックは、
前記フィルエントリの選択時に、前記自己復旧制御器の制御に応答して、選択されたフィルエントリに貯蔵されている前記位置情報に対応する選択されていない方の貯蔵手段中のフィルエントリに貯蔵された不良セルの個数を一つずつ減少させ、貯蔵された不良セルの個数が０となった時、該フィルエントリ全体を削除することを特徴とする請求項２に記載の集積回路半導体装置。
【請求項４】
集積回路半導体装置において、
複数個のロウ冗長と複数個のカラム冗長とを具備した内蔵メモリと、
前記内蔵メモリの不良セルを検出するための自己診断回路と、
前記自己診断回路から検出された不良セルに対する情報をロウ及びカラム別に区分して貯蔵し、前記情報に応答して不良セルに対する前記ロウ冗長を利用するか前記カラム冗長を利用するかの復旧方法を決定し、前記復旧方法によって復旧されたロウアドレス及びカラムアドレスを前記内蔵メモリに送出するための自己復旧回路とを含み、
前記自己復旧回路は、
前記自己復旧回路の諸動作を制御するための自己復旧制御器と、
複数個のデータ貯蔵領域を含む複数個のロウフィルエントリで構成され、各ロウフィルエントリ毎に、前記内蔵メモリに発生した不良セルのロウアドレスと、該ロウアドレスに発生している不良セルの個数とを貯蔵するための第１貯蔵手段と、
前記自己復旧制御器の制御に応答して、前記不良セルの発生しているロウアドレスと前記不良セルの個数とを前記第１貯蔵手段に貯蔵するための第１ロジックと、
複数個のデータ貯蔵領域を含む複数個のカラムフィルエントリで構成され、各カラムフィルエントリ毎に、前記内蔵メモリに発生した不良セルのカラムアドレスと、該カラムアドレスに発生している不良セルの個数とを貯蔵するための第２貯蔵手段と、
前記自己復旧制御器の制御に応答して、前記不良セルの発生しているカラムアドレスと前記不良セルの個数とを前記第２貯蔵手段に貯蔵するための第２ロジックと、
前記不良セルに対する情報の貯蔵時に、前記自己復旧制御器の制御に応答して、前記第１貯蔵手段の各ロウフィルエントリには、貯蔵されたロウアドレスと同一のロウアドレスに発生している不良セルのカラムアドレスが、前記第２貯蔵手段のどの位置にあるカラムフィルエントリに貯蔵されているかの位置情報を貯蔵し、
前記第２貯蔵手段の各カラムフィルエントリには、貯蔵されたカラムアドレスと同一のカラムアドレスに発生している不良セルのロウアドレスが前記第１貯蔵手段のどの位置にあるロウフィルエントリに貯蔵されているかの位置情報を貯蔵し、
前記不良セルに対する復旧方法の決定時に、前記自己復旧制御器の制御に応答して、前記カラム冗長を利用する際には、復旧するカラムアドレスを貯蔵しているカラムフィルエントリに貯蔵されている前記位置情報が示す前記第１貯蔵手段のロウフィルエントリ中の不良セルの個数を一つずつ減少させ、
前記ロウ冗長を利用する際には、復旧するロウアドレスを貯蔵しているロウフィルエントリに貯蔵されている前記位置情報が示す前記第２貯蔵手段のカラムフィルエントリ中の不良セルの個数を一つずつ減少させるための第３ロジックと、
前記自己復旧制御器の制御に応答して、復旧されたロウ及びカラムアドレスを前記内蔵メモリに送出するアドレスチェッカとを含み、
前記第１貯蔵手段に含まれた各々のロウフィルエントリは、
該ロウフィルエントリが有効であることを示す情報を貯蔵するための第１貯蔵領域と、
前記内蔵メモリで発生した不良セルのロウアドレスを貯蔵するための第２貯蔵領域と、
前記第２貯蔵領域に貯蔵された前記ロウアドレスと同一のロウアドレスに存在する不良セルの個数を貯蔵するための第３貯蔵領域と、
前記第２貯蔵領域に貯蔵された前記ロウアドレスと同一のロウアドレスに存在する不良セルのカラムアドレスが前記第２貯蔵手段の何番目のカラムフィルエントリに貯蔵されているかに対する位置情報を貯蔵するための第４貯蔵領域と、
該ロウフィルエントリに貯蔵されたロウアドレスを前記ロウ冗長を利用して復旧すると決定したかどうかを示す復旧情報を貯蔵するための第５貯蔵領域とを含むことを特徴とする集積回路半導体装置。
【請求項５】
前記内蔵メモリに具備された前記ロウ冗長の個数がＲであり、前記カラム冗長の個数がＣである時、前記第３貯蔵領域は｛「ｌｏｇ2Ｃ」＋１｝ビットで構成され、前記第４貯蔵領域は「ｌｏｇ2（Ｃ＋ＣＲ）」ビットでＣ個が構成されることを特徴とする請求項４に記載の集積回路半導体装置。
【請求項６】
集積回路半導体装置において、
複数個のロウ冗長と複数個のカラム冗長とを具備した内蔵メモリと、
前記内蔵メモリの不良セルを検出するための自己診断回路と、
前記自己診断回路から検出された不良セルに対する情報をロウ及びカラム別に区分して貯蔵し、前記情報に応答して不良セルに対する前記ロウ冗長を利用するか前記カラム冗長を利用するかの復旧方法を決定し、前記復旧方法によって復旧されたロウアドレス及びカラムアドレスを前記内蔵メモリに送出するための自己復旧回路とを含み、
前記自己復旧回路は、
前記自己復旧回路の諸動作を制御するための自己復旧制御器と、
複数個のデータ貯蔵領域を含む複数個のロウフィルエントリで構成され、各ロウフィルエントリ毎に、前記内蔵メモリに発生した不良セルのロウアドレスと、該ロウアドレスに発生している不良セルの個数とを貯蔵するための第１貯蔵手段と、
前記自己復旧制御器の制御に応答して、前記不良セルの発生しているロウアドレスと前記不良セルの個数とを前記第１貯蔵手段に貯蔵するための第１ロジックと、
複数個のデータ貯蔵領域を含む複数個のカラムフィルエントリで構成され、各カラムフィルエントリ毎に、前記内蔵メモリに発生した不良セルのカラムアドレスと、該カラムアドレスに発生している不良セルの個数とを貯蔵するための第２貯蔵手段と、
前記自己復旧制御器の制御に応答して、前記不良セルの発生しているカラムアドレスと前記不良セルの個数とを前記第２貯蔵手段に貯蔵するための第２ロジックと、
前記不良セルに対する情報の貯蔵時に、前記自己復旧制御器の制御に応答して、前記第１貯蔵手段の各ロウフィルエントリには、貯蔵されたロウアドレスと同一のロウアドレスに発生している不良セルのカラムアドレスが、前記第２貯蔵手段のどの位置にあるカラムフィルエントリに貯蔵されているかの位置情報を貯蔵し、
前記第２貯蔵手段の各カラムフィルエントリには、貯蔵されたカラムアドレスと同一のカラムアドレスに発生している不良セルのロウアドレスが前記第１貯蔵手段のどの位置にあるロウフィルエントリに貯蔵されているかの位置情報を貯蔵し、
前記不良セルに対する復旧方法の決定時に、前記自己復旧制御器の制御に応答して、前記カラム冗長を利用する際には、復旧するカラムアドレスを貯蔵しているカラムフィルエントリに貯蔵されている前記位置情報が示す前記第１貯蔵手段のロウフィルエントリ中の不良セルの個数を一つずつ減少させ、
前記ロウ冗長を利用する際には、復旧するロウアドレスを貯蔵しているロウフィルエントリに貯蔵されている前記位置情報が示す前記第２貯蔵手段のカラムフィルエントリ中の不良セルの個数を一つずつ減少させるための第３ロジックと、
前記自己復旧制御器の制御に応答して、復旧されたロウ及びカラムアドレスを前記内蔵メモリに送出するアドレスチェッカとを含み、
前記第２貯蔵手段に含まれた各々のカラムフィルエントリは、
該カラムフィルエントリが有効であることを示す情報を貯蔵するための第１貯蔵領域と、
前記内蔵メモリで発生した不良セルのカラムアドレスを貯蔵するための第２貯蔵領域と、
前記第２貯蔵領域に貯蔵された前記カラムアドレスと同一のカラムアドレスに存在する不良セルの個数を貯蔵するための第３貯蔵領域と、
前記第２貯蔵領域に貯蔵された前記カラムアドレスと同一のカラムアドレスに存在する不良セルのロウアドレスが前記第１貯蔵手段の何番目のロウフィルエントリに貯蔵されているかに対する位置情報を貯蔵するための第４貯蔵領域と、
該カラムフィルエントリに貯蔵されたカラムアドレスを前記カラム冗長を利用して復旧すると決定したかどうかを示す復旧情報を貯蔵するための第５貯蔵領域とを含むことを特徴とする集積回路半導体装置。
【請求項７】
前記内蔵メモリに具備された前記ロウ冗長の個数がＲであり、前記カラム冗長の個数がＣである時、前記第３貯蔵領域は｛「ｌｏｇ2Ｒ」＋１｝ビットで構成され、前記第４貯蔵領域は「ｌｏｇ2（Ｒ＋ＲＣ）」ビットでＲ個が構成されることを特徴とする請求項６に記載の集積回路半導体装置。
【請求項８】
複数個のロウ冗長と複数個のカラム冗長とを具備した内蔵メモリの自己復旧方法において、
複数個の第１データ貯蔵領域を含む複数個のロウフィルエントリで構成され、前記ロウフィルエントリ毎に、前記内蔵メモリに発生した不良セルのロウアドレスと、該ロウアドレスに発生している不良セルの個数と、各ロウフィルエントリに貯蔵された不良セルのロウアドレスと同一のロウアドレスに発生している不良セルのカラムアドレスが第２貯蔵手段のどの位置にあるカラムフィルエントリに貯蔵されているのかの位置情報とを前記第１データ貯蔵領域に貯蔵する第１貯蔵手段と、複数個の第２データ貯蔵領域を含む複数個のカラムフィルエントリで構成され、前記カラムフィルエントリ毎に、前記内蔵メモリに発生した不良セルのカラムアドレスと、該カラムアドレスに発生している不良セルの個数と、各カラムフィルエントリに貯蔵された不良セルのカラムアドレスと同一のカラムアドレスに発生している不良セルのロウアドレスが前記第１貯蔵手段のどの位置にあるロウフィルエントリに貯蔵されているかの位置情報とを前記第２データ貯蔵領域に貯蔵する前記第２貯蔵手段とを形成する段階と、
前記第１又は第２貯蔵手段中の前記ロウ冗長の個数又は前記カラム冗長の個数に基いて不良セルに対する復旧方法をロウ冗長を利用するかカラム冗長を利用するかに決定し、貯蔵された前記不良セルの個数が多いフィルエントリから順次選択して、決定された前記復旧方法により復旧を行い、
前記フィルエントリの選択時に、前記カラム冗長を利用する際には、復旧するカラムアドレスを貯蔵しているカラムフィルエントリに貯蔵されている前記位置情報が示す前記第１貯蔵手段のロウフィルエントリ中の不良セルの個数を一つずつ減少させ、前記ロウ冗長を利用する際には、復旧するロウアドレスを貯蔵しているロウフィルエントリに貯蔵されている前記位置情報が示す前記第２貯蔵手段のカラムフィルエントリ中の不良セルの個数を一つずつ減少させる段階と、
前記決定された復旧方法に応答して復旧されたロウアドレス及びカラムアドレスを前記内蔵メモリに送出する段階とを含み、
前記復旧方法を決定する段階は、
前記第１又は第２貯蔵手段中の前記ロウ冗長の個数又は前記カラム冗長の個数が少ない方の貯蔵手段を選択する段階と、
選択された貯蔵手段を構成しているフィルエントリ中の同一のロウ又はカラムから発生した不良セルの個数が一番多いフィルエントリを選択して前記不良セルに対する復旧方法を決定し、選択された前記フィルエントリに貯蔵されている前記位置情報が示す選択されていない方の貯蔵手段のフィルエントリ中の不良セルの個数を一つずつ減少させる第１復旧段階と、
前記第１復旧段階を該当ロウ又はカラム冗長個数だけ反復して実行する段階と、
前記第１又は第２貯蔵手段中の前記ロウ冗長の個数又は前記カラム冗長の個数が多い方の貯蔵手段を選択する段階と、
選択された貯蔵手段を構成しているフィルエントリ中の同一のロウ又はカラムから発生した不良セルの個数が一番多いフィルエントリを選択して前記不良セルに対する復旧方法を決定し、選択された前記フィルエントリに貯蔵されている前記位置情報が示す選択されていない方の貯蔵手段のフィルエントリ中の不良セルの個数を一つずつ減少させる第２復旧段階と、
前記第２復旧段階を該当ロウ又はカラム冗長個数だけ反復して実行する段階と、を含むことを特徴とする内蔵メモリの自己復旧方法。
【請求項９】
前記不良セルに対する復旧方法は、前記第１貯蔵手段が選択されたときには前記ロウ冗長が使用され、前記第２貯蔵手段が選択されたときには前記カラム冗長が使用されることを特徴とする請求項８に記載の内蔵メモリの自己復旧方法。
【請求項１０】
前記第１及び第２復旧段階は、
選択されていない方の貯蔵手段のフィルエントリ中の不良セルの個数が減少して０になると、該フィルエントリ全体を削除する段階を各々含むことを特徴とする請求項８に記載の内蔵メモリの自己復旧方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は内蔵メモリ（ｅｍｂｅｄｄｅｄ  ｍｅｍｏｒｙ）のための自己診断方法及び復旧方法に係り、より具体的には内蔵メモリ用の自己復旧回路（ｂｕｉｌｔ  ｉｎ  ｓｅｌｆ  ｒｅｐａｉｒ  ｃｉｒｃｕｉｔ；ＢＩＳＲ）を備えた集積回路半導体装置及びメモリ復旧方法に関する。
【０００２】
【従来の技術】
最近、コア基盤集積回路（ｃｏｒｅ―ｂａｓｅｄ  ｉｎｔｅｇｒａｔｅｄ  ｃｉｒｃｕｉｔ）設計が増加しているが、これはシステムオンチップ（ｓｙｓｔｅｍ  ｏｎ  ａ  ｃｈｉｐ；ＳＯＣ）設計が新しい設計傾向として広く認識されていることを意味する。従って、集積回路設計で、中央処理装置（ｃｅｎｔｒａｌｐｒｏｃｅｓｓｉｎｇ  ｕｎｉｔ；ＣＰＵ）を初めとするコア又はアナログコアがしばしば利用され、多様な種類のコアを複数個内蔵した集積回路が開発されている。
【０００３】
システムオンチップ（ＳＯＣ）形態を取っている回路（ｃｉｒｃｕｉｔ）やシステムでは、より高い容量（ｃａｐａｃｉｔｙ）を持った内蔵メモリを必要とする。例えば、ＣＰＵのように複雑なチップ内部のデータ転送帯域幅（ｂａｎｄ  ｗｉｄｔｈ）を引き上げるためにこのような要求が多くなってきている。
【０００４】
近年の半導体製造技術の発展により、ダイ（ｄｉｅ）サイズを維持しながら高いメモリ容量を確保できるようになった。しかし、回路内に内蔵されたメモリは、その構造が非常に複雑で、他のロジックブロックに比較し、より多種の信号を共有するので、不良発生可能性が高い。上記問題点を解決するために、設計技術者は内蔵メモリに冗長性（ｒｅｄｕｎｄａｎｃｙ）を持たせている。
【０００５】
一般に、半導体メモリ装置は外部メモリテスタ（ｅｘｔｅｒｎａｌ  ｍｅｍｏｒｙ  ｔｅｓｔｅｒ）又は自動テスト装置（Ａｕｔｏｍａｔｉｃ  Ｔｅｓｔ  Ｍａｃｈｉｎｅ；ＡＴＥ）を使用してソフトウェア的に復旧アルゴリズムを実行し、半導体メモリ装置に発生した不良が復旧可能であるか否かを判別した後、物理的復旧（ｐｈｙｓｉｃａｌ  ｒｅｐａｉｒ）（一般的に、Ｌａｓｅｒ  Ｚａｐｐｉｎｇ）を行う。このような方法でＳＯＣをテストするためには、ＳＯＣに内蔵されたコア（ｃｏｒｅ）に対するテストとＳＯＣに内蔵されたメモリに対するテストとを別々に実行しなければならないだけでなく、テストを実行するための外部ピンをＳＯＣ上に用意しなければならない。その結果、テスト過程が複雑になるだけでなくチップの生産単価が増加することになる。
【０００６】
このような問題を解決するために、ＳＯＣ内部にＳＯＣ自体をテストするための自己診断回路（Ｂｕｉｌｔ  Ｉｎ  Ｓｅｌｆ  Ｔｅｓｔ；ＢＩＳＴ）と、自己診断回路による検査結果に基づいて検出された不良セルに対する復旧（ｒｅｐａｉｒ）が可能であるか否かを判断し、その判断結果によってソフトウェア（ｓｏｆｔｗａｒｅ）的にチップ内部で自動的に復旧を行う自己復旧回路（ＢｕｉｌｔＩｎ  Ｓｅｌｆ  Ｒｅｐａｉｒ；ＢＩＳＲ）とを具備する。自己復旧回路は既存のテスト装備と異なり、物理的復旧を行なわず、チップ自体に復旧アルゴリズムを搭載して不良セルに対する復旧可能可否を自ら判断し、復旧可能の場合には、ソフトウェア的に論理的復旧（ｌｏｇｉｃａｌ  ｒｅｐａｉｒ）を行う。このような内蔵メモリに対する自己診断（ｓｅｌｆ  ｔｅｓｔ）や自己復旧（ｓｅｌｆ  ｒｅｐａｉｒ）は、ＳＯＣに発展している最近のプロセッサ（ｐｒｏｃｅｓｓｏｒ）設計技術では不可欠の技術となっている。このような自己復旧回路及び自己診断回路を具備したシステムは、１９９９年７月、Ｓｈａｉｋ等によって取得された米国特許第５，９２０，５１５号、“ＲＥＧＩＳＴＥＲ―ＢＡＳＥＤ  ＲＥＤＵＮＤＡＮＣＹ  ＣＩＲＣＵＩＴ  ＡＮＤ  ＭＥＴＨＯＤ  ＦＯＲ  ＢＵＩＬＴ―ＩＮ  ＳＥＬＦ―ＲＥＰＡＩＲ  ＩＮ  Ａ  ＳＥＭＩＣＯＮＤＵＣＴＯＲ  ＭＥＭＯＲＹ  ＤＥＶＩＣＥ”と、１９９９年１１月Ｉｒｒｉｎｋｉ等によって取得された米国特許第５，９８７，６３２号、“ＭＥＴＨＯＤ  ＯＦ  ＴＥＳＴＩＮＧ  ＭＥＭＯＲＹ  ＯＰＥＲＡＴＩＯＮＳ  ＥＭＰＬＯＹＩＮＧ  ＳＥＬＦ―ＲＥＰＡＩＲ  ＣＩＲＣＵＩＴＲＹ  ＡＮＤ  ＰＥＲＭＡＮＥＮＴＬＹ  ＤＩＳＡＢＬＩＮＧ  ＭＥＭＯＲＹ  ＬＯＣＡＴＩＯＮＳ”に開示されている。
【０００７】
一般に、冗長セル（ｒｅｄｕｎｄａｎｃｙ  ｃｅｌｌ）を利用した不良セルの復旧は、不良が発生したセルのワードライン（ｗｏｒｄ  ｌｉｎｅ）、即ちロウアドレス（ｒｏｗ  ａｄｄｒｅｓｓ）と、ビットライン（ｂｉｔ  ｌｉｎｅ）、即ちカラムアドレス（ｃｏｌｕｍｎ  ａｄｄｒｅｓｓ）とをソフトウェア的にニ進検索ツリー（ｂｉｎａｒｙ  ｓｅａｒｃｈ  ｔｒｅｅ）を構成しながら、各ケース毎に（ｃａｓｅ  ｂｙ  ｃａｓｅ）深い先検索（Ｄｅｐｔｈ  Ｆｉｒｓｔ  Ｓｅａｒｃｈ；ＤＦＳ）を実行し、どのワードラインとビットラインとを冗長ラインに代替するかを決定する。しかし、このような作業を実行することには０（２n）の時間がかかる。これは、一つの演算（例えば、掛け算演算）が実行される時間をｎとしたとき、２nの時間がかかることを意味する。即ち、復旧のためにかかる時間は、ロウ冗長（ｒｏｗ  ｒｅｄｕｎｄａｎｃｙ）、カラム冗長（ｃｏｌｕｍｎ  ｒｅｄｕｎｄａｎｃｙ）、および不良の分布に対して指数関数的に増加するので、冗長個数が多く、不良発生が多い場合、前記方法は効果的ではないことが分かる。このような性格の問題をＮＰ完全（ＮＰ―Ｃｏｍｐｌｅｔｎｅｓｓ）問題と言う。これを解決するためには、与えられた問題の解を決定的なアルゴリズムによらず試行錯誤を通じて蓄積された経験的知識を動員して求めるヒューリスティック（Ｈｅｕｒｉｓｔｉｃ）法が使用される。もし、このような問題に対してアルゴリズムを作ろうとすると、問題の範囲を極めて制限する方法が一番有効であり、問題の範囲を極めて制限しないとハドウェアでの実現も不可能である。
【０００８】
従って、既存の自己復旧回路を内蔵したＳＯＣ装置のほとんどは復旧することができる範囲を大きく制約している。例えば、ロウ冗長とカラム冗長の個数を｀１´以下にして実現する場合がある。各々の冗長が１個又は１対である時の自己復旧回路は非常に単純化される。しかし、この場合には１個のロウと１個のカラムしか復旧できないという限界を有している。
【０００９】
【発明が解決しようとする課題】
しかし、もっと高い容量（ｃａｐａｃｉｔｙ）の内蔵メモリを必要とするＳＯＣシステムの傾向に照らすと、内蔵メモリに発生する不良セルを復旧するためにはもっと多数の冗長を追加しなければならない。なぜならば、万一ＳＯＣの内蔵メモリに発生する不良セルが十分に復旧されないと、ＣＰＵのような高価のコアから不良が発生しないにも関わらず、低価のメモリから発生する不良によってＳＯＣ全体が不良と判定されてしまうからである。従って、前述のような課題を解決するために、多重冗長を有する内蔵メモリに発生する不良を正確に復旧できる新しい自己復旧回路及びそのメモリ復旧方法が要望されていた。
【００１０】
本発明は前述した課題を解決するためになされたもので、多重冗長を持った内蔵メモリの不良をより正確に復旧できる自己復旧回路を備えた集積半導体とそのメモリ復旧方法とを提供することを目的とする。
【００１１】
【課題を解決するための手段】
上述した本発明の目的を達成するために、本発明の集積回路半導体装置は、複数個のロウ冗長と複数個のカラム冗長とを具備した内蔵メモリと、メモリ不良を検出するための自己診断回路と、前記自己診断回路から検出された不良に関する情報をロウまたはカラム別に区分して貯蔵した後、これに基づいて不良に対する復旧方法を決定し、復旧したアドレスを内蔵メモリに発生させるための自己復旧回路とを含む。
【００１２】
ここで、自己復旧回路は、自己復旧回路の諸般動作を制御するための自己復旧制御器と、複数個のデータ貯蔵領域を含む複数個のエントリに構成された第１及び第２貯蔵手段と、メモリに発生した不良のロウアドレス及び不良の個数を第１貯蔵手段に貯蔵するための第１ロジックと、メモリに発生した不良カラムアドレス及び不良の個数を第２貯蔵手段に貯蔵するための第２ロジックと、相手先貯蔵手段の位置情報を第１又は第２貯蔵手段に貯蔵し、不良に対する復旧方法を決定する時、該当位置情報が示す相手先貯蔵手段に貯蔵された不良の個数を一つずつ減少させるための第３ロジックと、決定された復旧方法によってロウ及びカラムアドレスをメモリに発生させるためのアドレスチェッカとを含む。
【００１３】
本発明の他の特徴によると、本発明による自己復旧回路の不良セル復旧方法は、メモリから検出された不良に対するロウ／カラムアドレス、不良の個数及び不良に対応するカラム／ロウアドレスを貯蔵している相手先貯蔵手段の位置情報を貯蔵するための複数個のエントリに構成された第１又は第２貯蔵手段を形成する段階と、メモリに具備されたロウ又はカラム冗長個数だけエントリを選択して不良に対する復旧方法を決定し、エントリ中で、貯蔵された不良個数が多いエントリを選択し、選択されたエントリが示す相手先貯蔵手段のエントリに貯蔵された不良の個数を一つずつ減少させる段階と、決定された復旧方法に応答して復旧されたアドレスをメモリに発生させる段階とを含む。
【００１４】
【発明の実施の形態】
以下本発明の実施の形態を添付した図１乃至図１２を参照して詳しく説明する。
【００１５】
本発明の新規な集積回路半導体装置は、内蔵メモリに発生した不良セルに対するロウ及びカラムの復旧を実行するために要求される情報を貯蔵するためのロウ及びカラムフィルエントリを含む。ロウ及びカラムフィルエントリは、内蔵メモリのロウ／カラム冗長の個数によってその大きさが決定され、不良セルが発生した位置に対応するロウ及びカラム情報を各々貯蔵すると同時に、相手先のフィルエントリを示すポインタを内蔵する。自己復旧回路は、構成されたフィルエントリの情報に基づいて復旧される情報だけをフィルエントリに残し、他の情報は削除する。そして、最終的にロウ及びカラムフィルエントリに残された情報によって内蔵メモリに発生した不良セルに対するロウ及びカラム復旧が実行される。
【００１６】
図１は本発明の一実施形態による集積回路半導体装置の構成を示すブロック図である。図１に示された集積回路半導体装置は、多重冗長を有する内蔵メモリに発生した不良セルの復旧を実行するための、自己復旧回路を具備したＳＯＣシステムである。図１を参照すると、ＳＯＣシステムは、その内部に内蔵されたメモリ３０と、内蔵メモリ３０を含むＳＯＣシステム自体をテストするための自己診断回路１０と、自己診断回路１０からのテスト結果によってＳＯＣシステムを自動的に復旧するための自己復旧回路２０とを含む。
【００１７】
自己診断回路１０には自己診断制御器（ＢＩＳＴ  ｃｏｎｔｒｏｌｌｅｒ）１１、アドレス発生器（ａｄｄｒｅｓｓ  ｇｅｎｅｒａｔｏｒ）１２、データ発生器（ｄａｔａ  ｇｅｎｅｒａｔｏｒ）１３、比較器（ｃｏｍｐａｒａｔｏｒ）１４が含まれる。そして、自己復旧回路２０には自己復旧制御器（ＢＩＳＲ  ｃｏｎｔｒｏｌｌｅｒ）２１、アドレスチェッカ（ａｄｄｒｅｓｓ  ｃｈｅｃｋｅｒ）２２、第１フィルロジック（ｆｉｒｓｔ  ｆｉｌｌ  ｌｏｇｉｃ）２３、第２フィルロジック（ｓｅｃｏｎｄ  ｆｉｌｌ  ｌｏｇｉｃ）２４、ロウフィルエントリ（ｒｏｗ  ｆｉｌｌ  ｅｎｔｒｙ）２５、カラムフィルエントリ（ｃｏｌｕｍｎ  ｆｉｌｌ  ｅｎｔｒｙ）２６、アロケーションロジック（ａｌｌｏｃａｔｉｏｎ  ｌｏｇｉｃ）２７が含まれる。ＳＯＣシステムに内蔵されたメモリ３０はＭ×Ｎの大きさを持つメモリとして、複数個（例えば、Ｒ個）のロウ冗長３１と複数個（例えば、Ｃ個）のカラム冗長３２とを含む。ここで、フィルエントリ２５，２６は内蔵されたメモリ３０上に発生した不良に対するロウ及びカラムアドレスを貯蔵するための複数個のエントリで構成された内蔵メモリで、不良アドレスメモリ（ｆａｉｌｕｒｅ  ａｄｄｒｅｓｓ  ｍｅｍｏｒｙ；ＦＡＭ）とも言う。図１に図示されたＳＯＣ自己診断回路１０及び自己復旧回路２０による内蔵メモリ３０のテスト及び復旧動作は以下のようになる。
【００１８】
まず、自己診断回路１０のアドレス発生器１２とデータ発生器１３とは自己診断制御器１１の制御によってアドレス（Ａｄｄｒ）とデータ（Ｄｉｎ）とをメモリ３０に送出し、メモリ３０は自己診断回路１０から入力されるアドレス（Ａｄｄｒ）とデータ（Ｄｉｎ）とに応答して出力データ（Ｄｏｕｔ）を比較器１４に出力する。この時、比較器１４は、データ発生器１３から発生されたデータ（Ｄｉｎ）とメモリから入力されたデータ（Ｄｏｕｔ）とを比較して、該当アドレスに不良が発生しているか否かを判定する。
【００１９】
自己診断回路１０が、検出された不良発生情報を自己復旧回路２０の自己復旧制御器２１に伝達すると、第１及び第２フィルロジック２３，２４は、自己復旧制御器２１の制御に応答して、ロウフィルエントリ２５とカラムフィルエントリ２６とにそれぞれ不良セルが発生したアドレスと、該アドレスと同一のアドレスに発生した不良個数を貯蔵する。後に詳しく説明するが、本発明によるロウフィルエントリ２５とカラムフィルエントリ２６とは、それぞれ相手先のフィルエントリを構成しているエントリの位置を貯蔵するためのポインタを内蔵する。その結果、ロウ／カラムフィルエントリ２５，２６に貯蔵された各々のロウ／カラムアドレスに対応するカラム／ロウアドレスが貯蔵された相手先カラム／ロウフィルエントリ２６，２５のエントリ位置を把握することができる。このポインタは、図１に示されたアロケーションロジック２７によってロウ及びカラムフィルエントリ２５，２６に貯蔵される。このような方法によって、メモリ３０に発生する不良セルに対する情報がロウ及びカラムフィルエントリ２５，２６に全て貯蔵されると、自己復旧制御器２１は、まずロウ及びカラムフィルエントリ２５，２６中の全体エントリ個数が少ないエントリを選択する。そして、選択されたフィルエントリを構成しているエントリ中の貯蔵された不良セルの個数が多いエントリから選択して、不良セルに対する復旧方法を決定する。選択されたフィルエントリの復旧方法が決定されると、これと同一の方法で、残りエントリに対する復旧方法を決定する。復旧方法を決定するためのエントリを選択する時、アロケーションロジック２７は自己復旧制御器２１の制御に応答して、選択されたエントリが示す相手先に貯蔵された不良セル個数を一つずつ減らしていく動作を実行する。この時、仮に減少した不良セル個数が０になると、該当エントリ全体がアロケーションロジック２７によって削除される。このような過程によって、メモリ３０に発生した不良セルに対する復旧方法が決定されると、自己復旧回路２０は不良セルが発生した位置のアドレスを受け入れ、これを修復アドレス（Ｒｅｐａｉｒｅｄ  Ａｄｄｒｅｓｓ）に変換してメモリ３０に送出する。
【００２０】
このような自己復旧回路２０の動作によって、メモリ３０に具備されたロウ／カラム冗長３１，３２を利用した復旧がＳＯＣ自体で実行される。次に詳しく説明するが、前述のようなロウ及びカラムフィルエントリ２５，２６を使用した本発明による不良セル復旧方法は、ロウ／カラム冗長３１，３２の個数に関係なく、高い修復率（ｒｅｐａｉｒ  ｒｅｃｏｖｅｒｙ）を提供する。
【００２１】
図２は従来技術によるフィルエントリの構成を示す図である。図２に示すように、従来の自己復旧回路は不良セルロウ及びカラムアドレス情報を一度に貯蔵するためのフィルエントリを具備する。一般に、Ｒ個のロウ冗長とＣ個のカラム冗長とを具備した内蔵メモリに対する自己復旧を実行するために貯蔵しなければならない不良セルの個数は２×Ｒ×Ｃ個である。従って、フィルエントリの全体エントリ個数は２×Ｒ×Ｃ個に構成される。このような方法でフィルエントリを構成する場合、フィルエントリ一つに対してロウ及びカラム情報全てを貯蔵して復旧アルゴリズムを実行しなければならないので、不良セル個数が多くなり、メモリ冗長個数が多くなるほど復旧アルゴリズムに制約が多くなる。
【００２２】
図２を参照してフィルエントリの構成を調べて見ると、‘Ｖａｌｉｄ’は現在のエントリが有効か否かを示し、‘Ｒｏｗ  Ａｄｄｒｅｓｓ’は不良セルのロウアドレスを、‘Ｒｏｗ  Ｈｉｔ  Ｃｏｕｎｔ’は該当ロウに存在する現在までの不良セルの個数を、‘Ｃｏｌｕｍｎ  Ａｄｄｒｅｓｓ’は不良セルのカラムアドレスを、そして‘Ｃｏｌｕｍｎ  Ｈｉｔ  Ｃｏｕｎｔ’は該当カラムに存在する現在までの不良セルの個数を各々示している。そして、‘Ｒｏｗ  Ｍｕｓｔ’（ロウ復旧）は、該当エントリに貯蔵された不良セルを復旧するためにはロウ冗長を使用しなければならないことを示し、‘Ｃｏｌｕｍｎ  Ｍｕｓｔ’（カラム復旧）は該当エントリに貯蔵された不良セルを復旧するためにはカラム冗長を使用しなければならないことを示す。
【００２３】
後に詳しく説明するが、前述したような構造を有するフィルエントリを使用して内蔵メモリの不良セルを復旧するための従来の自己復旧回路は、メモリの不良セルの個数が増加しメモリに具備されたロウ／カラム冗長が増加すると復旧率が落ちる問題点を持っている。従って、本発明による自己復旧回路２０は、自己復旧のための不良セルアドレス情報を貯蔵するためのフィルエントリをロウ及びカラム別に各々構成すると同時に、相手先エントリに対する情報をも一緒に貯蔵することにより、不良セルの個数が増加しメモリに具備されたロウ／カラム冗長が増加しても、正確に不良セルを復旧しようとする。本発明によるロウ及びカラムフィルエントリは以下のように構成されている。
【００２４】
図３は本発明によるロウフィルエントリの構成を示す図である。図３を参照すると、Ｒ個のロウ冗長とＣ個のカラム冗長を具備した内蔵メモリの場合、本発明によるロウフィルエントリ２５に貯蔵される全てのエントリ個数はＲ＋Ｒ×Ｃ個である。
【００２５】
図を参照すると、‘Ｖａｌｉｄ’は現在のエントリが有効か否かを、‘ＲｏｗＡｄｄｒｅｓｓ’は不良セルのロウアドレスを、そして‘Ｒｏｗ  Ｈｉｔ  Ｃｏｕｎｔ’は該当ロウに存在する現在までの不良セルの個数をそれぞれ示している。ここで、‘Ｒｏｗ  Ｈｉｔ  Ｃｏｕｎｔ’値は、該当ロウに存在する現在までの不良セルの個数がメモリ３０に具備されたカラム冗長の個数（即ちＣ）より大きくなるともうそれ以上増加しないという特徴を有する。‘Ｃｏｌｕｍｎ  Ｆｉｌｌ  Ｅｎｔｒｙ  Ｐｏｉｎｔｅｒ’は、不良セルが発見された時、カラム情報がカラムフィルエントリ２６の何番目のエントリに貯蔵されているかを示すポインタとして、カラム冗長にＣ個ほど割り当てられる。そして、‘Ｒｏｗ  Ｍｕｓｔ’（ロウ復旧）は、該当エントリに貯蔵された不良セルを復旧するためにはロウ冗長が使用されなければならないことを示す。
【００２６】
図４は本発明によるカラムフィルエントリを示す図である。図４を参照すると、Ｒ個のロウ冗長とＣ個のカラム冗長とを具備した内蔵メモリの場合、本発明によるカラムフィルエントリ２６に貯蔵される全てのエントリ個数はＣ＋Ｃ×Ｒ個である。
【００２７】
図を参照すると、‘Ｖａｌｉｄ’は現在のエントリが有効か否かを、‘Ｃｏｌｕｍｎ  Ａｄｄｒｅｓｓ’は不良セルのカラムアドレスを、そして‘Ｃｏｌｕｍｎ  Ｈｉｔ  Ｃｏｕｎｔ’は該当カラムに存在する現在までの不良セルの個数をそれぞれ示している。ここで、‘Ｃｏｌｕｍｎ  Ｈｉｔ  Ｃｏｕｎｔ’値は、該当カラムに存在する現在までの不良セル個数がメモリ３０に具備されたロウ冗長個数（即ち、Ｒ）より大きくなるともうそれ以上増加しないという特徴を有する。‘Ｒｏｗ  Ｆｉｌｌ  Ｅｎｔｒｙ  Ｐｏｉｎｔｅｒ’は、不良セルが発見された時、ロウ情報がロウフィルエントリ２５の何番目のエントリに貯蔵されているかを示すポインタとして、ロウ冗長にＲ個ほど割り当てられ、‘Ｃｏｌｕｍｎ  Ｍｕｓｔ’（カラム復旧）は該当エントリに貯蔵された不良セルを復旧するためにカラム冗長が使用されなければならないことを示す。
【００２８】
図５及び図６は図３及び図４に示した各々のエントリに含まれるデータ貯蔵領域の構成を示す図である。図を参照すると、各々のエントリを構成しているデータ貯蔵領域の大きさが示されている。一例で、‘Ｖａｌｉｄ’は各々１ビットで構成され、内蔵メモリ３０がＭ×Ｎの大きさで構成される時、‘Ｒｏｗ  Ａｄｄｒｅｓｓ’はｌｏｇ2Ｍ  ビットに、‘Ｃｏｌｕｍｎ  Ａｄｄｒｅｓｓ’はｌｏｇ2Ｎ  ビットで構成される。‘Ｒｏｗ  Ｈｉｔ  Ｃｏｕｎｔ’は｛「ｌｏｇ2Ｃ」＋１｝ビットに、‘Ｃｏｌｕｍｎ  Ｈｉｔ  Ｃｏｕｎｔ’は｛「ｌｏｇ2Ｒ」＋１」｝ビットで構成され、‘Ｃｏｌｕｍｎ  Ｆｉｌｌ  Ｅｎｔｒｙ  Ｐｏｉｎｔｅｒ’は「ｌｏｇ2（Ｃ＋ＣＲ）」  ビットにＣ個が構成され、‘Ｒｏｗ  Ｆｉｌｌ  Ｅｎｔｒｙ  Ｐｏｉｎｔｅｒ’は「ｌｏｇ2（Ｒ＋ＲＣ）」  ビットにＲ個が構成される。そして‘Ｒｏｗ  Ｍｕｓｔ’及び‘Ｃｏｌｕｍｎ  Ｍｕｓｔ’は各々１ビットで構成される。
【００２９】
このようなデータ貯蔵領域の構成以外にも、‘  ＣｏｌｕｍｎＦｉｌｌ  Ｅｎｔｒｙ  Ｐｏｉｎｔｅｒ’はカラム冗長個数に該当するビット（即ち、Ｃビット）ほど割り当てられ、‘Ｒｏｗ  Ｆｉｌｌ  Ｅｎｔｒｙ  Ｐｏｉｎｔｅｒ’はロウ冗長個数に該当するビット（即ち、Ｒビット）ほど割り当てられ、不良セル位置情報を貯蔵しているエントリを示すビットフラグ（ｂｉｔ  ｆｌａｇ）に使用することができる。ここで、‘  Ｃｏｌｕｍｎ  Ｆｉｌｌ  Ｅｎｔｒｙ  Ｐｏｉｎｔｅｒ’ 及び‘Ｒｏｗ  Ｆｉｌｌ  Ｅｎｔｒｙ  Ｐｏｉｎｔｅｒ’を構成している各々のビットは、不良セルに対するロウ又はカラムアドレス情報が相手先フィルエントリの何番目エントリに貯蔵されているかに対する情報を示す。従って、  Ｃｏｌｕｍｎ  Ｆｉｌｌ  Ｅｎｔｒｙ  Ｐｏｉｎｔｅｒ’ 及び‘ＲｏｗＦｉｌｌ  Ｅｎｔｒｙ  Ｐｏｉｎｔｅｒ’ の何番目のビットが‘１’に設定されているかを調べれば、不良セルに対するロウ又はカラムアドレス情報が相手先フィルエントリの何番目エントリに貯蔵されているかが分かる。
【００３０】
そして、‘Ｒｏｗ  Ｈｉｔ  Ｃｏｕｎｔ’及び‘Ｃｏｌｕｍｎ  Ｈｉｔ  Ｃｏｕｎｔ’は、‘相手先冗長個数＋１’ほどのビットを各々割り当てられた後、不良セル個数が増加するごとに、当初‘１’に設定された最下位ビット（ｌｅａｓｔ  ｓｉｇｎｉｆｉｃａｎｔ  ｂｉｔ；ＬＳＢ）を左側に１ビットずつシフトさせる。この場合、‘Ｒｏｗ  Ｈｉｔ  Ｃｏｕｎｔ’は‘Ｃ＋１’ビットで、‘Ｃｏｌｕｍｎ  Ｈｉｔ  Ｃｏｕｎｔ’は‘Ｒ＋１’ビットで各々構成され、各々の‘Ｈｉｔ  Ｃｏｕｎｔ’の最下位ビット（ＬＳＢ）は前述したように当初、‘１’に設定される。この場合、仮に、不良セルが発見されないと、各々の‘Ｈｉｔ  Ｃｏｕｎｔ’のＬＳＢは‘１’の状態を維持し、不良セルが発見されないことが分かる。仮に、不良セルが発見されると‘１’に設定されたビットが左側にシフトする。従って、‘１’に設定されたビットの位置によって該当ロウ又はカラムから現在まで発生した不良セルの個数を知ることができる。
【００３１】
図７は図１に示す内蔵メモリ３０上に発生した不良の一例を示す図である。例えば、内蔵メモリ３０に不良セルが発生した場合、不良が発生したメモリ３０Ａの不良セルの分布は図７に示すようになる。この場合、不良セルが発生する順序はａ，ｂ，ｃ，．．．，ｊの順である。この時、例えば、メモリに具備されたロウ冗長が３個（即ち、Ｒ＝３）で、カラム冗長が２個（即ち、Ｃ＝２）であると仮定すると、本発明の自己復旧回路による不良セル復旧方法は次のようになる。
【００３２】
図８乃至図１７は図７に示す内蔵メモリ上に発生した不良セルに対するアドレス等の情報を、図３及び図４に示すロウ及びカラムフィルエントリに貯蔵する方法を説明するための図である。
【００３３】
まず、図８を参照すると、メモリ３０Ａに具備されたロウ冗長が３個（即ち、Ｒ＝３）で、カラム冗長が２個（即ち、Ｃ＝２）であるので、ロウフィルエントリの全体エントリ個数は９個（即ち、３＋３×２＝９）になり、カラムフィルエントリの全体エントリ個数は８個（即ち、２＋２×３＝８）になる。この時、カラム冗長が２個（即ち、Ｃ＝２）であるから、ロウフィルエントリ２５のカラムフィルエントリのポインタには２個（Ｃｏｌ．Ｅｎｔｒｙ  Ｐｔｒｌ，Ｃｏｌ．Ｅｎｔｒｙ  ｐｔｒ２）が割り当てられる。そしてロウ冗長が３個（即ち、Ｒ＝３）であるからカラムフィルエントリ２６のロウフィルエントリのポインタには３個（Ｒｏｗ．Ｅｎｔｒｙ  Ｐｔｒｌ，Ｒｏｗ  Ｅｎｔｒｙ  ｐｔｒ２，ＲｏｗＥｎｔｒｙ  ｐｔｒ３）が割り当てられる。
【００３４】
ロウフィルエントリ２５を参照すると、第１不良セル（ａ）が発見されると、第１不良セル（ａ）のロウアドレスがエントリに貯蔵されているか否かを判定する。この場合、第１不良セル（ａ）のロウアドレス（即ち、１）はロウフィルエントリ２５に貯蔵されていないので、ロウフィルエントリ２５の第１エントリが有効（Ｖａｌｉｄ）となり、第１不良セル（ａ）のロウアドレス（即ち、１）がロウアドレス（Ｒｏｗ  Ａｄｄｒｅｓｓ）欄に書き込まれる。そして、現在までロウから発見された不良セルの個数は１個であるからロウヒットカウント（Ｒｏｗ  Ｈｉｔ  Ｃｏｕｎｔ）欄に‘１’が書き込まれる。この時、第１不良セル（ａ）のカラムアドレス情報はカラムフィルエントリ２６の第１エントリに書き込まれるから、カラムフィルエントリポインタ（Ｃｏｌ．Ｅｎｔｒｙ  Ｐｔｒｌ１）欄に‘１’が書き込まれる。
【００３５】
続いて、カラムフィルエントリ２６を参照すると、第１不良セル（ａ）が発見されると、第１不良セル（ａ）のカラムアドレスがエントリに貯蔵されているか否かを判定する。この場合、第１不良セル（ａ）のカラムアドレス（即ち、３）はカラムフィルエントリ２６に貯蔵されていないので、カラムフィルエントリ２６の第１エントリが有効となり、第１不良セル（ａ）のカラムアドレス（即ち、３）がカラムアドレス（Ｃｏｌｕｍｎ  Ａｄｄｒｅｓｓ）欄に書き込まれる。そして、現在までカラムから発見された不良セルの個数は１個であるからカラムヒットカウント（Ｃｏｌｕｍｎ  Ｈｉｔ  Ｃｏｕｎｔ）欄に‘１’が書き込まれる。この時、第１不良セル（ａ）のロウアドレス情報はロウフィルエントリ２５の第１エントリに書き込まれるから、ロウフィルエントリポインタ（Ｒｏｗ．Ｅｎｔｒｙ  Ｐｔｒ１）欄に‘１’が書き込まれる。
【００３６】
続いて、図９に示すロウフィルエントリ２５を参照すると、第１不良セル（ａ）に続いて第２不良セル（ｂ）が発見されると、第２不良セル（ｂ）のロウアドレスがエントリに貯蔵されているか否かを判定する。この時、第２不良セル（ｂ）のロウアドレス（即ち、１）はもうロウフィルエントリ２５の第１エントリに貯蔵されているので、第１エントリを共有して第２不良セル（ｂ）の不良情報を貯蔵し、ロウアドレスが同一であるからロウアドレス（Ｒｏｗ  Ａｄｄｒｅｓｓ）欄のデータ値は変更しない。そして、現在までロウ（即ち、１）から発見された不良セルの個数は全部で２個であるから、ロウヒットカウント（Ｒｏｗ  Ｈｉｔ  Ｃｏｕｎｔ）欄に‘２’が書き込まれる。この場合、第２不良セル（ｂ）のカラムアドレス情報はカラムフィルエントリ２６の第２エントリに書き込まれるから、カラムフィルエントリポインタ（Ｃｏｌ．Ｅｎｔｒｙ  Ｐｔｒ２）欄に‘２’が書き込まれる。
【００３７】
続いて、図９に図示されたカラムフィルエントリ２６を参照すると、第２不良セル（ｂ）が発見されると、第２不良セル（ｂ）のカラムアドレスがエントリに貯蔵されているか否かを判定する。この場合、第２不良セル（ｂ）のカラムアドレス（即ち、５）はカラムフィルエントリ２６に貯蔵されていないので、カラムフィルエントリ２６の第２エントリが有効となり、第２不良セル（ｂ）のカラムアドレス（即ち、５）がカラムアドレス（Ｃｏｌｕｍｎ  Ａｄｄｒｅｓｓ）欄に書き込まれる。現在までカラムから発見された不良セルの個数は１個であるから、カラムヒットカウント（Ｃｏｌｕｍｎ  Ｈｉｔ  Ｃｏｕｎｔ）欄に‘１’が書き込まれる。この時、第２不良セル（ｂ）のロウアドレス情報はロウフィルエントリ２５の第１エントリに書き込まれるから、ロウフィルエントリポインタ（Ｒｏｗ  Ｅｎｔｒｙ  Ｐｔｒ１）欄に‘１’が書き込まれる。
【００３８】
しかし、前述した場合のようにメモリ３０Ａに具備されたロウ冗長が３個（即ち、Ｒ＝３）であり、カラム冗長が２個（即ち、Ｃ＝２）である場合、仮に、ロウ（即ち、１）から３個以上の不良セルが発見されると、（即ち、‘Ｒｏｗ  Ｈｉｔ  Ｃｏｕｎｔ’値がカラム冗長個数を超過することになると）、この不良セルはカラム冗長の復旧範囲を超過することになるから、ロウ冗長を使用しなければ復旧が不可能である。従って、このように任意のロウからカラム冗長個数を超過する不良が発見されると、該当ロウの‘Ｒｏｗ  Ｍｕｓｔ’欄は‘１’に設定され、該当ロウに貯蔵されている不良セルのカラムアドレスを貯蔵しているカラムフィルエントリの ‘Ｃｏｌｕｍｎ  Ｈｉｔ  Ｃｏｕｎｔ’値は各々‘１’ずつ減らされる。ついで、ロウエントリのカラムフィルエントリポインタが削除され、次のロウに対する不良セルのチェックが行われる。このような動作は、ロウフィルエントリ２５を例に挙げて説明したが、カラムフィルエントリ２６でも同様に行われる。
【００３９】
前述のような方法を図１０乃至図１７に対して反復して実行すると、図１７に示すようにロウフィルエントリ２５とカラムフィルエントリ２６とが求められる。ロウフィルルエントリ２５とカラムフィルエントリ２６とが求められると、本発明による自己復旧回路２０はエントリ２５，２６に基づいて不良セルに対する復旧方法を決定し、自動的な復旧を実行する。本発明による不良セルの復旧方法の決定過程は次のようになる。
【００４０】
図１８乃至図２３は、図８乃至図１７に示した方法によって貯蔵されたロウ及びカラムフィルエントリ情報に基づき内蔵メモリ３０上に発生した不良セルの復旧方法を決定する過程を説明するための図である。本発明による自己復旧回路２０はロウ及びカラムフィルエントリ２５，２６に貯蔵された不良セルアドレス情報に基づき、該当エントリに含まれた不良セルに対する復旧方法を決定しながら、これに対応する相手先エントリに貯蔵された不良セルの個数を減少させる。このような方法によって、最終的にロウ及びカラムフィルエントリ２５，２６に残った情報によってロウ／カラム冗長を利用した最適の復旧が実行される。復旧が実行されると、自己復旧回路２０は不良セルが発生した位置のアドレスを受け入れ、これを修復したアドレス（Ｒｅｐａｉｒｅｄ  Ａｄｄｒｅｓｓ）に変換してメモリ３０に送出する。
【００４１】
このような復旧方法の決定のために、エントリ２５，２６は、メジャー（ｍａｊｏｒ）エントリとマイナ（ｍｉｎｏｒ）エントリとに区分される。この時、メジャーエントリとマイナエントリとはメモリ３０に具備されたロウ及びカラム冗長個数によって決定される。例えば、ロウ冗長個数が３（即ち、Ｒ＝３）であり、カラム冗長個数が２（即ち、Ｃ＝２）である場合、ロウフィルエントリ２５がメジャーエントリになり、カラムフィルエントリ２６がマイナエントリになる。復旧が実行される情報だけをロウ及びカラムフィルエントリ２５、２６に残し、他の情報を一度に除去するためには、マイナエントリから選択して次のような動作を実行する。
【００４２】
まず、図１８を参照すると、マイナエントリであるカラムフィルエントリ２６に含まれた複数個のエントリ中の不良個数を示すカラムヒットカウント値が一番多い第１エントリが選択される。選択された第１エントリは、カラム冗長を利用して復旧することに決定される。第１エントリに貯蔵された不良セルのロウアドレスに対する情報はロウフィルエントリポインタ（Ｒｏｗ  Ｅｎｔｒｙ  Ｐｔｒ１，Ｒｏｗ  Ｅｎｔｒｙ  Ｐｔｒ２，Ｒｏｗ  Ｅｎｔｒｙ  Ｐｔｒ３）欄に表示されている。エントリポインタ（Ｒｏｗ  Ｅｎｔｒｙ  Ｐｔｒ１，Ｒｏｗ  Ｅｎｔｒｙ  Ｐｔｒ２，Ｒｏｗ  Ｅｎｔｒｙ  Ｐｔｒ３）の欄を参照すると、｀１，３，６´が貯蔵されているが、これはロウフィルエントリ２５の第１，第３及び第６エントリに前記第１エントリに貯蔵された不良セルのロウアドレスに対する情報が貯蔵されていることを意味する（矢印参照）。
【００４３】
カラムフィルエントリ２６の第１エントリは前述したように、カラム冗長を利用して復旧されるから、カラム復旧（Ｃｏｌｕｍｎ  Ｍｕｓｔ）欄には｀１´が書き込まれ、ロウフィルエントリポインタ（Ｒｏｗ  Ｅｎｔｒｙ  Ｐｔｒ１，Ｒｏｗ  Ｅｎｔｒｙ  Ｐｔｒ２，Ｒｏｗ  Ｅｎｔｒｙ  Ｐｔｒ３）欄は削除される。そして、ロウフィルエントリ２５の第１，第３及び第６エントリに貯蔵されたロウヒットカウント値が各々｀１´ずつ減らされる。この場合、仮に減らされたロウヒットカウント値が各々｀０´になると、該当するエントリは削除される。例えば、ロウフィルエントリ２５の第１エントリのロウヒットカウント値は｀２´から｀１´に減らされ、ロウフィルエントリ２５の第３及び第６エントリのロウヒットカウント値は｀１´から｀０´に減らされる。その結果、第３及び第６エントリ全体がロウフィルエントリ２５から削除される。
【００４４】
図１８乃至２３は前述した過程が実行された以後の結果を示している。図１９を参照すると、マイナエントリであるカラムフィルエントリ２６に含まれた複数個のエントリの中でカラム復旧（Ｃｏｌｕｍｎ  Ｍｕｓｔ）に指定されないエントリ中のカラムヒットカウント値が一番大きい第２エントリが選択される。選択された第２エントリは、カラム冗長を利用して復旧することに決定される。第２エントリに貯蔵された不良セルのロウアドレスに対する情報はロウフィルエントリポインタ（Ｒｏｗ  Ｅｎｔｒｙ  Ｐｔｒ１，Ｒｏｗ  Ｅｎｔｒｙ  Ｐｔｒ２，Ｒｏｗ  Ｅｎｔｒｙ  Ｐｔｒ３）欄に表示されている。エントリポインタ（Ｒｏｗ  Ｅｎｔｒｙ  Ｐｔｒ１，Ｒｏｗ  Ｅｎｔｒｙ  Ｐｔｒ２，Ｒｏｗ  Ｅｎｔｒｙ  Ｐｔｒ３）欄を参照すると、｀１，４，５´が貯蔵されているが、これはロウフィルエントリ２５の第１，第４及び第５エントリに前記第２エントリに貯蔵された不良セルのロウアドレスに対する情報が貯蔵されていることを意味する（矢印参照）。
【００４５】
図１８で実行した過程と同様に、カラムフィルエントリ２６の第２エントリのカラム復旧（Ｃｏｌｕｍｎ  Ｍｕｓｔ）欄にはカラム冗長を利用して復旧することを示す｀１´が書き込まれ、ロウフィルエントリポインタ（Ｒｏｗ  Ｅｎｔｒｙ  Ｐｔｒ１，Ｒｏｗ  Ｅｎｔｒｙ  Ｐｔｒ２，Ｒｏｗ  Ｅｎｔｒｙ  Ｐｔｒ３）欄は削除される。そして、ロウフィルエントリ２５の第１，第４及び第５エントリに貯蔵されたロウヒットカウント値が各々｀１´ずつ減らされる。例えば、ロウフィルエントリ２５の第１エントリのロウヒットカウント値は｀１´から｀０´に減らされた後、エントリ全体が削除され、第４及び第５エントリのロウヒットカウント値は｀２´から｀１´に減らされる。
【００４６】
前述したように、マイナエントリを優先的に選択する理由は、マイナ冗長個数が少ないので選択する回数が少なく、各々のマイナエントリ選択時に、これに対応するもっと多いメジャーエントリヒット値を減らすことで復旧サイクル（Ｒｅｐａｉｒ  ｃｙｃｌｅ）を減らすことができるからである。
【００４７】
図２０は前述した過程が実行された以後の結果を示している。図２０を参照すると、内蔵メモリに具備された２個のカラム冗長による復旧方法が全て選択されたことが分かる。従って、今後はメジャーエントリを基準にして、前述した一連の過程が反復されて実行される。
【００４８】
まず、メジャーエントリロウフィルエントリ２５に含まれた多数個のエントリ中の不良個数を示すロウヒットカウント値が一番大きい第２エントリが選択される。選択された第２エントリは、ロウ冗長を利用して復旧することに決定される。第２エントリに貯蔵された不良セルのカラムアドレスに対する情報はカラムフィルエントリポインタ（Ｃｏｌ．  Ｅｎｔｒｙ  Ｐｔｒ１，Ｃｏｌ．  Ｅｎｔｒｙ  Ｐｔｒ２）欄に表示されている。エントリポインタ（Ｃｏｌ．  ＥｎｔｒｙＰｔｒ１，Ｃｏｌ．  Ｅｎｔｒｙ  Ｐｔｒ２）欄を参照すると、｀３，４´が貯蔵されているが、これはカラムフィルエントリ２６の第３及び第４エントリに前記第２エントリに貯蔵された不良セルのカラムアドレスに対する情報が貯蔵されていることを意味する（矢印参照）。
【００４９】
この時、ロウフィルエントリ２５の第２エントリのロウ復旧（Ｒｏｗ  Ｍｕｓｔ）欄にはロウ冗長を利用して復旧することを示す｀１´が書き込まれ、カラムフィルエントリポインタ（Ｃｏｌ．  Ｅｎｔｒｙ  Ｐｔｒ１，Ｃｏｌ．  Ｅｎｔｒｙ  Ｐｔｒ２）欄は削除される。そして、カラムフィルエントリ２６の第３及び第４エントリに貯蔵されたカラムヒットカウント値が各々｀１´ずつ減らされる。例えば、カラムフィルエントリ２６の第３エントリのカラムヒットカウント値は｀２´から｀１´に減らされ、第４エントリのカラムヒットカウント値は｀１´から｀０´に減らされた後、第４エントリ全体が削除される。
【００５０】
前述したような過程を図２１及び図２２に示すように反復して実行すると、結局は図２３に示すような結果が得られる。図２３を参照すると、内蔵メモリに具備されたロウ冗長個数だけ不良セル情報がロウフィルエントリ２５とカラムフィルエントリ２６とに各々最終的に残されていることが分かる。その結果、ロウフィルエントリ２５にアドレス情報が貯蔵された不良セルはロウ冗長を使用して復旧され、カラムフィルエントリ２６にアドレス情報が貯蔵された不良セルはカラム冗長を使用して復旧される。この時、仮にロウ又はカラムエントリ２５，２６にロウ復旧又はカラム復旧に指定されない有効エントリが存在すると、このエントリに貯蔵された不良セルは復旧が不可能な状態となる。
【００５１】
このように復旧が不可能な状態は、不良セル位置分布が特定な位置に対して全ての方向に対称になっている時等に発生し、このようなセルにはその位置分布故に本発明を適用させ復旧可能であると判定されることも、復旧不可能であると判定されることもある。しかし、このような特定の不良の発生頻度は極めて低く、次に復旧結果グラフを通じて詳しく説明するが、本発明による自己復旧回路及びその自己復旧方法はほとんどの不良に対して実行することができ、復旧率もまた高い。
【００５２】
図８は図１８乃至図２３に示された過程によって決定された不良セル復旧方法によって不良セルが復旧された結果を示す図である。図８を参照すると、ａ乃至ｊの位置に不良セルが存在した内蔵メモリ３０Ａはメモリに具備されているロウ及びカラム冗長によって図２４に示されるメモリ３０Ｂのように復旧される。
【００５３】
図２５は図１に示す自己復旧回路２０の動作手順を示す流れ図である。図２５を参照すると、本発明による自己復旧回路２０は、段階Ｓ２０で図８乃至図１７のような過程を経てロウフィルエントリ２５及びカラムフィルエントリ２６を各々形成する。続いて、段階Ｓ４０では段階Ｓ２０によって形成されたロウフィルエントリ２５及びカラムフィルエントリ２６情報を利用して図１８乃至図２３に示された過程のように、復旧効率が一番高いエントリから選択して不良（欠陥）に対する復旧方法を決定し、これに対応する相手先エントリに貯蔵されたヒットカウント値（即ち、不良の個数）を´１｀ずつ減らしていくことで、復旧を実行する情報だけを最終的に残す。ここで、復旧効率はエントリに貯蔵された不良の個数が多いほど高くなる特徴を有する。続いて、自己復旧回路２０は段階Ｓ６０から、不良セルに対する論理的復旧を実行し、復旧されたアドレス（Ｒｅｐａｉｒ  Ａｄｄｒｅｓｓ）をメモリに送出する。
【００５４】
図２６及び図２７は図２５に示す流れ図中のロウフィルエントリ及びカラムフィルエントリを形成する方法の手順を詳細に示す流れ図である。
【００５５】
まず、図２６を参照すると、段階Ｓ２１ではメモリ全体に対して不良チェックが完了したか否かを判定する。判定の結果、メモり全体に対する不良チェックが完了していると図２８に示す段階Ｓ４１に進み、メモり全体に対する不良チェックが完了していないと、段階Ｓ２２に進んで、メモリ不良セル（Ｆ１）が発生しているかを判定する。判定の結果、メモリに不良セル（Ｆ１）が発生していたら段階Ｓ２３に進んで、不良セル（Ｆ１）のロウアドレスがロウフィルエントリに存在するか否かを判定する。不良セル（Ｆ１）のロウアドレスがロウフィルエントリに存在すると、段階Ｓ２４に進んで、ロウフィルエントリに含まれたロウヒットカウント（Ｒｏｗ  Ｈｉｔ  Ｃｏｕｎｔ）値を｀１´だけ増加させる。そして段階Ｓ２５では、不良セル（Ｆ１）のカラムアドレスが貯蔵されるカラムフィルエントリ位置をロウフィルエントリ中のカラムフィルエントリポインタ（Ｃｏｌｕｍｎ  Ｆｉｌｌ  Ｅｎｔｒｙ  Ｐｏｉｎｔｅｒ）に貯蔵した後、図２６に示す段階Ｓ２６に進む。
【００５６】
段階Ｓ２３での判定の結果、不良セル（Ｆ１）のロウアドレスがロウフィルエントリに存在しないと、段階Ｓ２９に進んでロウフィルエントリにオーバーフロウが発生しているか否かを判定する。判定の結果、ロウフィルエントリにオーバーフロウが発生していなかったら、段階Ｓ３０で不良セル（Ｆ１）のロウアドレスをロウフィルエントリに貯蔵した後、段階Ｓ２５に進んで、不良セル（Ｆ１）のカラムアドレスが貯蔵されるカラムフィルエントリ位置をロウフィルエントリ中のカラムフィルエントリポインタに貯蔵する。そして、図２７に示す段階Ｓ２６に進む。しかし、ロウフィルエントリにオーバーフロウが発生していると不良セル（Ｆ１）は復旧不可能であると判定する。
【００５７】
図２７を参照すると、段階Ｓ２６では不良セル（Ｆ１）のカラムアドレスがカラムフィルエントリ中に存在するか否かを判定する。判定の結果、不良セル（Ｆ１）のカラムアドレスがカラムフィルエントリに存在すると、段階Ｓ２７に進んで、カラムフィルエントリに含まれたカラムヒットカウント（Ｃｏｌｕｍｎ  Ｈｉｔ  Ｃｏｕｎｔ）値を｀１´だけ増加させる。続いて、段階Ｓ２８に進んで、不良セル（Ｆ１）のロウアドレスが書き込まれたロウフィルエントリの位置をカラムフィルエントリのロウフィルエントリポインタ（Ｒｏｗ  Ｆｉｌｌ  Ｅｎｔｒｙ  Ｐｏｉｎｔｅｒ）に貯蔵した後、図２６に示す段階Ｓ２１に戻る。
【００５８】
段階Ｓ２６での判定の結果、不良セル（Ｆ１）のカラムアドレスがカラムフィルエントリに存在しないと、段階Ｓ３１に進み、カラムフィルエントリがオーバーフロウしているか否かを判定する。判定の結果、カラムフィルエントリがオーバーフロウしていないと、段階Ｓ３２で、不良セル（Ｆ１）のカラムアドレスをカラムフィルエントリに貯蔵した後、段階Ｓ２８に進む。しかし、カラムフィルエントリがオーバーフロウしていたら不良セル（Ｆ１）は復旧不可能であると判定される。
【００５９】
図２８及び図２９は図２５に示す流れ図中のロウフィルエントリ及びカラムフィルエントリ情報を利用してロウ及びカラム冗長を利用した復旧方法を決定する順序を詳細に示した流れ図である。ロウ及びカラム冗長を利用した復旧方法を決定する前に、本発明による自己復旧回路２０はロウ及びカラムフィルエントリの各々に対して復旧が実行される情報だけを残し、他の情報は削除する過程を経る。
【００６０】
まず、図２８を参照すると、段階Ｓ４１では復旧可能な情報以外の情報を一度に出来るだけ多数削除するために、ロウフィルエントリとカラムフィルエントリとをメジャーエントリ（ｍａｊｏｒ  ｅｎｔｒｙ）とマイナエントリ（ｍｉｎｏｒ  ｅｎｔｒｙ）とに区分する。ここで、内蔵メモリに具備されたロウ及びカラム冗長個数がメジャーエントリとマイナエントリとを区分する基準になる。
【００６１】
続いて段階Ｓ４２では、マイナエントリの冗長個数だけロウ復旧（Ｒｏｗ  Ｍｕｓｔ）又はカラム復旧（Ｃｏｌｕｍｎ  Ｍｕｓｔ）に復旧方法が指定されているか否かを判定する。判定の結果、マイナエントリが冗長個数だけロウ復旧方法が指定されていると、図２９に示された段階Ｓ５１に進み、マイナエントリが冗長個数だけロウ復旧方法を指定していないと、段階Ｓ４３に進む。段階Ｓ４３では、復旧方法が指定されていないマイナエントリ中のヒットカウント（Ｈｉｔ  Ｃｏｕｎｔ）値が一番大きいエントリを選択してロウ復旧又はカラム復旧を指定する。続いて、段階Ｓ４４では選択されたマイナエントリに対する情報を貯蔵しているメジャーエントリのヒットカウント値を｀１´だけ減らす。そして段階Ｓ４５ではヒットカウント値が減らされたメジャーエントリのヒットカウント値が｀０´であるか否かを判定し、メジャーエントリのヒットカウント値が｀０´であると、段階Ｓ４６で該当エントリ全体を削除する。メジャーエントリのヒットカウント値が｀０´ではないと段階Ｓ４２に戻る。
【００６２】
続いて図２９を参照すると、段階Ｓ５１ではメジャーエントリが冗長個数だけロウ復旧又はカラム復旧の復旧方法が指定されているか否かを判定する。判定の結果、メジャーエントリの冗長個数だけ復旧方法が指定されていないと段階Ｓ５２に進む。段階Ｓ５２では、復旧方法が指定されていないメジャーエントリ中のヒットカウント値が一番大きいエントリを選択してロウ復旧又はカラム復旧の復旧方法を指定する。続いて段階Ｓ５３では選択されたメジャーエントリに対する情報を貯蔵しているマイナエントリのヒットカウント値を｀１´だけ減らす。そして、段階Ｓ５４ではヒットカウント値が減らされたマイナエントリのヒットカウント値が｀０´であるか否かを判定し、マイナエントリのヒットカウント値が｀０´であると、段階Ｓ５５で該当エントリ全体を削除する。そしてメジャーエントリのヒットカウント値が｀０´ではないと段階Ｓ５１に戻る。
【００６３】
段階Ｓ５１での判定の結果、メジャーエントリが冗長個数だけロウ復旧又はカラム復旧の復旧方法が指定されていないと、段階Ｓ５６に進み、復旧方法が指定されていない有効エントリが存在するか否かを判定する。判定の結果、そのような条件を満足するエントリが存在すると、そのエントリに対応する不良セルは復旧不可能であり、そのような条件を満足するエントリが存在しないと、全ての不良セルは復旧可能であると判定する。
【００６４】
図３０は本発明による不良セル復旧結果と従来技術による不良セルの復旧結果とを対比した図である。図３０を参照すると、｀Ａ´に示すグラフは本発明による自己復旧回路の復旧結果を示し、｀Ｂ´に示すグラフは従来技術による自己復旧回路の復旧結果を示す。このグラフ（Ａ，Ｂ）は各々内蔵メモリのロウ冗長が３個であり、カラム冗長が２個である場合に対するグラフである。復旧結果グラフは、各々の不良セル個数（即ち、６個〜１２個）に対して１千万回ずつ、合わせて７千万回の模擬実験を行った結果を示している。
【００６５】
この場合、従来技術及び本発明による自己復旧回路の模擬実験（ｓｉｍｕｌａｔｉｏｎ）結果は、内蔵メモリに６個又は１２個の不良セルが存在する場合に対してだけ示されている。ここで、不良セルに対する復旧シミュレーションを｀６´から始めた理由は、ロウ冗長とカラム冗長の合計が｀５´であるから、５個以下の不良セルが発生した場合に対してはどんな復旧方法を使用しても十分に復旧が可能だからである。そして、自己復旧回路の不良セルに対する復旧シミュレーションを｀１２´まで実行した理由は、ロウ冗長が３個であり、カラム冗長が２個である場合、本発明による自己復旧回路はもちろん、従来のどんな自己復旧回路も｀２×Ｒ×Ｃ´（即ち、２×３×２＝１２）個を超過する不良セルに対しては復旧が不可能であるからである。従って、｀１２´を超過する不良セルの復旧に対しては考慮していない。
【００６６】
図３０に示すように、｀Ｂ´に示す従来技術による自己復旧回路の復旧結果グラフは｀Ａ´に表す本発明による自己復旧回路の復旧結果グラフに比べ、不良セル個数が増加するほど復旧率（Ｒｅｐａｉｒ  Ｃｏｖｅｒａｇｅ）が急激に落ちることが分かる。これに比べて本発明による復旧結果は不良セルの個数が増加してもほとんど一定した復旧率を維持する。
【００６７】
図３０を参照すると、本発明による復旧結果グラフ（Ａ）は、不良セル個数が１１個である場合より１２個である場合の方が復旧率が高く現れることが分かる。その理由は、マイナエントリに復旧しなければならないマイナエントリ（例えば、カラムフィルエントリ）中のヒットカウント値がメジャー冗長個数（例えば、Ｒ＝３）以上であることが最少なマイナ冗長個数（例えば、Ｃ＝２）以上存在するから、マイナ冗長に復旧するためにエントリ選択する正確度がより高くなるからである。そして、メジャーエントリに復旧しなければならないメジャーエントリ（例えば、ロウフィルエントリ）中のヒットカウント値がマイナ冗長個数（例えば、Ｃ＝２）以上であることが最少なメジャー冗長個数（例えば、Ｒ＝３）以上存在するから、メジャー冗長に復旧するためにエントリ選択する正確度がより高くなるからである。
【００６８】
【発明の効果】
前述したように、従来技術による復旧結果（Ｂ）では、不良セル個数が増加するほど復旧率が急激に落ちるが、本発明による復旧結果（Ａ）では不良セルの個数が増加してもほとんど一定した復旧率を維持するという特徴を有する。その外にも、従来技術による復旧方法では内蔵メモリに具備されたロウ及びカラム冗長の個数に多くの制約を受けるが、本発明による自己復旧回路及びそれによる不良セルの復旧方法では内蔵メモリに具備されたロウ及びカラム冗長の個数に制約をほとんど受けないという特徴を有する。
【００６９】
従って、本発明による自己復旧回路は、内蔵メモリが複数個のロウ／カラム冗長を具備する場合はもちろん、内蔵メモリから発生する不良セルの個数が増加してもほとんど一定した復旧率を維持することができる。したがって、多重冗長を持った内蔵メモリの不良セルをより正確に復旧することができる。
【００７０】
以上、本発明による回路の構成及び動作を図面を参照して説明したが、これは一例に過ぎず本発明の技術的思想を脱しない範囲で多様な変化及び変更が可能であることはいうまでもない。
【００７１】
以上のように本発明によると、多重冗長を有した内蔵メモリに発生した不良セルをより正確に復旧することができる。
【図面の簡単な説明】
【図１】本発明の実施の形態に係る集積半導体装置の構成を示すブロック図。
【図２】従来技術によるフィルエントリの構成を示す図。
【図３】本発明によるロウフィルエントリの構成を示す図。
【図４】本発明によるカラムフィルエントリの構成を示す図。
【図５】図３及び図４に示す各々のエントリに含まれるデータ貯蔵領域の構成を示す図。
【図６】図３及び図４に示す各々のエントリに含まれるデータ貯蔵領域の構成を示す図。
【図７】図１に示す内蔵メモリ上に発生した不良の一例を示す図。
【図８】図７に示す内蔵メモリ上に発生した不良セルに対するアドレスなどの情報を図３及び図４に示すロウ及びカラムフィルエントリに貯蔵するための方法を説明する図。
【図９】図７に示す内蔵メモリ上に発生した不良セルに対するアドレスなどの情報を図３及び図４に示すロウ及びカラムフィルエントリに貯蔵するための方法を説明する図。
【図１０】図７に示す内蔵メモリ上に発生した不良セルに対するアドレスなどの情報を図３及び図４に示すロウ及びカラムフィルエントリに貯蔵するための方法を説明する図。
【図１１】図７に示す内蔵メモリ上に発生した不良セルに対するアドレスなどの情報を図３及び図４に示すロウ及びカラムフィルエントリに貯蔵するための方法を説明する図。
【図１２】図７に示す内蔵メモリ上に発生した不良セルに対するアドレスなどの情報を図３及び図４に示すロウ及びカラムフィルエントリに貯蔵するための方法を説明する図。
【図１３】図７に示す内蔵メモリ上に発生した不良セルに対するアドレスなどの情報を図３及び図４に示すロウ及びカラムフィルエントリに貯蔵するための方法を説明する図。
【図１４】図７に示す内蔵メモリ上に発生した不良セルに対するアドレスなどの情報を図３及び図４に示すロウ及びカラムフィルエントリに貯蔵するための方法を説明する図。
【図１５】図７に示す内蔵メモリ上に発生した不良セルに対するアドレスなどの情報を図３及び図４に示すロウ及びカラムフィルエントリに貯蔵するための方法を説明する図。
【図１６】図７に示す内蔵メモリ上に発生した不良セルに対するアドレスなどの情報を図３及び図４に示すロウ及びカラムフィルエントリに貯蔵するための方法を説明する図。
【図１７】図７に示す内蔵メモリ上に発生した不良セルに対するアドレスなどの情報を図３及び図４に示すロウ及びカラムフィルエントリに貯蔵するための方法を説明する図。
【図１８】図８〜図１７に示す方法によって貯蔵されたロウ及びカラムフィルエントリ情報に基づき、内蔵メモリ上に発生した不良セルの復旧方法を決定する過程を説明する図。
【図１９】図８〜図１７に示す方法によって貯蔵されたロウ及びカラムフィルエントリ情報に基づき、内蔵メモリ上に発生した不良セルの復旧方法を決定する過程を説明する図。
【図２０】図８〜図１７に示す方法によって貯蔵されたロウ及びカラムフィルエントリ情報に基づき、内蔵メモリ上に発生した不良セルの復旧方法を決定する過程を説明する図。
【図２１】図８〜図１７に示す方法によって貯蔵されたロウ及びカラムフィルエントリ情報に基づき、内蔵メモリ上に発生した不良セルの復旧方法を決定する過程を説明する図。
【図２２】図８〜図１７に示す方法によって貯蔵されたロウ及びカラムフィルエントリ情報に基づき、内蔵メモリ上に発生した不良セルの復旧方法を決定する過程を説明する図。
【図２３】図８〜図１７に示す方法によって貯蔵されたロウ及びカラムフィルエントリ情報に基づき、内蔵メモリ上に発生した不良セルの復旧方法を決定する過程を説明する図。
【図２４】図１８〜図２３に示す過程によって決定された復旧方法により不良セルが復旧された結果を示す図。
【図２５】図１に示す自己復旧回路の動作手順を簡略に示す流れ図。
【図２６】図２５に示す流れ図中のロウフィルエントリ及びカラムフィルエントリを形成する方法の動作手順を示す流れ図。
【図２７】図２５に示す流れ図中のロウフィルエントリ及びカラムフィルエントリを形成する方法の動作手順を示す流れ図。
【図２８】図２５に示す流れ図中のロウフィルエントリ及びカラムフィルエントリ情報を利用してロウ及びカラム冗長を利用した復旧方法を決定する手順を詳しく示す流れ図。
【図２９】図２５に示す流れ図中のロウフィルエントリ及びカラムフィルエントリ情報を利用してロウ及びカラム冗長を利用した復旧方法を決定する手順を詳しく示す流れ図。
【図３０】本発明による不良セルの復旧結果と従来技術による不良セルの復旧結果とを対比して示す図。
【符号の説明】
１０    自己診断回路
１１    自己診断制御器
１２    アドレス発生器
１３    データ発生器
１４    比較器
２０    自己復旧回路
２１    自己復旧制御器
２２    アドレスチェッカ
２３    第１フィルロジック
２４    第２フィルロジック
２５    ロウフィルエントリ
２６    カラムフィルエントリ
２７    アロケーションロジック
３０    内蔵メモリ
３１    ロウ冗長
３２    カラム冗長
【図１】
0004789303.tif 000002
【図２】
0004789303.tif 000003
【図３】
0004789303.tif 000004
【図４】
0004789303.tif 000005
【図５】
0004789303.tif 000006
【図６】
0004789303.tif 000007
【図７】
0004789303.tif 000008
【図８】
0004789303.tif 000009
【図９】
0004789303.tif 000010
【図１０】
0004789303.tif 000011
【図１１】
0004789303.tif 000012
【図１２】
0004789303.tif 000013
【図１３】
0004789303.tif 000014
【図１４】
0004789303.tif 000015
【図１５】
0004789303.tif 000016
【図１６】
0004789303.tif 000017
【図１７】
0004789303.tif 000018
【図１８】
0004789303.tif 000019
【図１９】
0004789303.tif 000020
【図２０】
0004789303.tif 000021
【図２１】
0004789303.tif 000022
【図２２】
0004789303.tif 000023
【図２３】
0004789303.tif 000024
【図２４】
0004789303.tif 000025
【図２５】
0004789303.tif 000026
【図２６】
0004789303.tif 000027
【図２７】
0004789303.tif 000028
【図２８】
0004789303.tif 000029
【図２９】
0004789303.tif 000030
【図３０】
0004789303.tif 000031