(57)【要約】【課題】処理時間を大幅に増加させることが無い、高精度な不良救済判定装置および不良救済判定方法を提供すること。【解決手段】不良救済判定装置は、記憶回路の行あるいは列と置換可能な複数の冗長回路を備えたメモリチップの不良ビット位置情報に基づき、従来のアルゴリズム及び遺伝的アルゴリズムを併用してメモリチップの救済パターンの探索を行う。探索手段は、遺伝的アルゴリズムにおける各固体の染色体として、行の冗長回路数と対応した数の遺伝子を有する第１の染色体と、列の冗長回路数と対応した数の遺伝子を有する第２の染色体とを備え、第１の染色体の遺伝子はメモリチップの不良行番号を記憶し、第２の染色体の遺伝子はメモリチップの不良列番号を記憶する。従来よりも救済可能なチップ数が増加し、歩留まりが向上する。全体としては救済処理に関する処理時間の増加はわずかである。【選択図】図１
2008084409.tif 000002
【特許請求の範囲】
【請求項１】
記憶回路の行あるいは列と置換可能な複数の冗長回路を備えたメモリチップの不良ビット位置情報に基づき、確定的アルゴリズムにより救済可能か不可能かを判定する第１判定手段と、
前記第１判定手段によって救済可能か不可能かが確定しなかったメモリチップについて遺伝的アルゴリズムによりメモリチップの救済パターンの探索を行う第２探索手段を備えたことを特徴とする不良救済判定装置。
【請求項２】
前記探索手段は、遺伝的アルゴリズムにおける各固体の染色体として、行の冗長回路数と対応した数の遺伝子を有する第１の染色体と、列の冗長回路数と対応した数の遺伝子を有する第２の染色体とを備え、第１の染色体の遺伝子はメモリチップの不良行番号を記憶し、第２の染色体の遺伝子はメモリチップの不良列番号を記憶することを特徴とする請求項１に記載の不良救済判定装置。
【請求項３】
前記探索手段は、遺伝的アルゴリズムにおける各固体の評価値として使用する、当該固体の染色体の有する各遺伝子の情報を救済パターンとした場合の残存不良ビット数の算出手段を備えていることを特徴とする請求項１に記載の不良救済判定装置。
【請求項４】
前記探索手段は、遺伝的アルゴリズムにおける各固体の初期値として、不良行あるいは不良列毎の不良ビット数情報に基づき、多い順に染色体に該当する行あるいは列の遺伝子を割り当てる初期値決定手段を備えていることを特徴とする請求項１に記載の不良救済判定装置。
【請求項５】
確定的アルゴリズムによって記憶回路の行あるいは列と置換可能な複数の冗長回路を備えたメモリチップの救済パターンが存在するか、あるいは絶対に救済不可能かを判定するステップ、
前記ステップにおいて確定不能であったメモリチップについて、メモリチップの不良ビット位置情報に基づき、遺伝的アルゴリズムによりメモリチップの救済パターンの探索を行うステップ
を含むことを特徴とする不良救済判定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、不良救済判定装置および不良救済判定方法に関するものであり、特に、記憶回路の行あるいは列と置換可能な複数の冗長回路を備えたメモリチップに関する高精度な不良救済判定装置および不良救済判定方法に関するものである。
【背景技術】
【０００２】
従来、ＩＣメモリチップには記憶回路の行あるいは列と置換可能な複数の冗長回路が備えられており、チップの製造後にテスト装置によってメモりのテストを行い、不良ビットがある場合には冗長回路と置換することによって救済可能か否かが判定され、可能な場合にはチップ内のフューズを切断することによって冗長回路との置換による救済が行われていた。下記の特許文献１には、大容量メモリの不良メモリセルを救済する冗長予備線の最適割付けを迅速かつ効率良く行なう半導体試験装置が開示されている。
【特許文献１】特開２０００−３３９９９２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
近年、メモリの容量が大きくなるにつれて冗長回路数も増加しており、例えば冗長行８本、冗長列１６本を備えた場合には複数の不良ビット位置をどの冗長行あるいは冗長列で置換するかという救済パターンが最大数十万パターン存在する。従って、救済可能か否かを判定する場合に、全ての救済パターンをチェックすると膨大な処理時間を必要とし、経済的に実行不可能である。そこで、上記したような従来の救済判定方式においては、不良ビット数の多い順に行や列を割り当てる、行優先あるいは列優先で冗長回路を割り当てるなど、複数のアルゴリズムを摘要して救済可能か否かを判定していた。
【０００４】
しかし、従来の判定方式においては、全ての救済可能なパターンを見つけ出すことは不可能であり、例えば上記特許文献１の図２に関して説明されているように、救済パターンがあるにも関わらず、救済不可能（パターン発見できず）と判定する恐れがあり、救済可能なチップが不良品として廃棄されてしまうという問題点があった。本発明は、上記した従来技術の課題を解決し、処理時間を大幅に増加させることが無い、高精度な不良救済判定装置および不良救済判定方法を提供することを目的とする。
【課題を解決するための手段】
【０００５】
本発明の不良救済判定装置は、記憶回路の行あるいは列と置換可能な複数の冗長回路を備えたメモリチップの不良ビット位置情報に基づき、確定的アルゴリズムにより救済可能か不可能かを判定する第１判定手段と、前記第１判定手段によって救済可能か不可能かが確定しなかったメモリチップについて遺伝的アルゴリズムによりメモリチップの救済パターンの探索を行う第２探索手段を備えたことを主要な特徴とする。
【０００６】
また、上記した不良救済判定装置において、前記第２探索手段は、遺伝的アルゴリズムにおける各固体の染色体として、行の冗長回路数と対応した数の遺伝子を有する第１の染色体と、列の冗長回路数と対応した数の遺伝子を有する第２の染色体とを備え、第１の染色体の遺伝子はメモリチップの不良行番号を記憶し、第２の染色体の遺伝子はメモリチップの不良列番号を記憶する点にも特徴がある。
【０００７】
また、上記した不良救済判定装置において、前記第２探索手段は、遺伝的アルゴリズムにおける各固体の評価値として使用する、当該固体の染色体の有する各遺伝子の情報を救済パターンとした場合の残存不良ビット数の算出手段を備えている点にも特徴がある。
【０００８】
また、上記した不良救済判定装置において、前記第２探索手段は、遺伝的アルゴリズムにおける各固体の初期値として、不良行あるいは不良列毎の不良ビット数情報に基づき、多い順に染色体に該当する行あるいは列の遺伝子を割り当てる初期値決定手段を備えている点にも特徴がある。
【０００９】
本発明の不良救済判定方法は、確定的アルゴリズムによって記憶回路の行あるいは列と置換可能な複数の冗長回路を備えたメモリチップの救済パターンが存在するか、あるいは絶対に救済不可能かを判定するステップ、前記ステップにおいて確定不能であったメモリチップについて、メモリチップの不良ビット位置情報に基づき、遺伝的アルゴリズムによりメモリチップの救済パターンの探索を行うステップを含むことを主要な特徴とする。
【発明の効果】
【００１０】
本発明のは上記のような構成によって、以下のような効果がある。
（１）従来は不良品とされていたチップの中から遺伝的アルゴリズムを使用して救済可能なチップが発見できるので、従来よりも救済可能なチップ数が増加し、歩留まりが向上する。
（２）処理時間の増加は遺伝的アルゴリズムを適用する一部のチップについてのみであり、全体としては救済処理に関する処理時間の増加はわずかである。
（３）遺伝的アルゴリズム処理を外部あるいはオフラインで行うことにより、処理時間を更に短縮することが可能である。
【発明を実施するための最良の形態】
【００１１】
以下に図面を参照して本発明の実施例を説明する。
【実施例１】
【００１２】
図１は、メモリチップの冗長構成を示す説明図である。図１（ａ）に示すように、メモリチップ１０は行および列方向に２次元に配置されたメモリセルからなり、冗長回路は、不良行と置換するための複数の冗長メモリ行回路１３、および不良列と置換するための複数の冗長メモリ列回路１２からなる。実際には図１（ｂ）に示すようにメモりチップを行および列方向に例えば数％程度余分に作成し、余分に作成した部分を冗長回路として用いる。エリア１４は置換行および置換列の交点のメモリセルとなる。
【００１３】
公知のメモリチップテスト装置による書き込み／読み出しテストによって、チップ内に不良ビット１１が発見された場合には、例えば斜線で示すように冗長行および冗長列と置換することによってチップを救済する。置換は、例えば公知のメモリチップテスト装置により予め作り込まれているチップ内のフューズを切断することにより行われる。なお、このようなメモリチップおよび冗長回路との置換方法は周知である。
【００１４】
図２は、製造されたメモリチップの不良ビット数の発生頻度を示すグラフである。横軸に不良ビット数を取ると、不良ビット数別の発生頻度の分布はほぼ正規分布となる。そして、例えば不良ビット数がほぼＡまでのチップは従来の方法で救済可能であり、従来はほぼＡまでのチップが救済処理された後に良品として出荷されていた。
【００１５】
しかし、不良ビット数がＡ以上であっても、明らかに救済不可能と判定できるほぼＢ以上のものを除いた、ＡとＢの間のエリアにあるチップは救済パターンが存在する可能性がある。そこで、本発明においては、このエリアのチップについて、遺伝的アルゴリズム（ＧＡ）によって救済パターンを探索するようにしたものである。なお、救済判定は不良ビット数だけでは決定できないのでＡやＢには幅がある。
【００１６】
図３は、本発明のメモリチップ製造処理の内容を示すフローチャートである。Ｓ１０においては、公知の方法でメモリチップを製造する。Ｓ１１においては、製造したメモリチップについて、公知のメモリチップテスト装置による書き込み／読み出しテストにより、不良ビット位置情報を取得する。
【００１７】
Ｓ１２においては、例えば上記したメモリチップテスト装置に実装された本発明のプログラムにより、以下に示すような確定的アルゴリズムが実行され、チップが絶対に救済不可能か否かが判定される。そして、判定結果が否定の場合にはＳ１３に移行するが、肯定の場合には不良品と判定して処理を終了する。チップが絶対に救済不可能な場合とは、例えば以下のような場合である。
【００１８】
（１）不良ビット数が救済可能な最大不良ビット数を越えている場合。
（２）他の不良ビットと行および列が重複しない独立した不良ビット数が［冗長行数＋冗長列数］を越えている場合。
（３）行でしか置換できない不良行が冗長行数以上ある場合。
（４）列でしか置換できない不良列が冗長行数以上ある場合。
【００１９】
Ｓ１３においては、確定的アルゴリズムにより、容易に救済可能か否かが判定され、判定結果が否定の場合にはＳ１４に移行するが、肯定の場合にはＳ１６に移行する。チップが容易に救済可能な場合とは例えば以下のような場合である。
【００２０】
（１）不良ビット数が［冗長行数＋冗長列数］以下である。
（２）不良ビットをなるべく多く潰せる行あるいは列から優先的に割り当てていき、残存不良ビット数を０にできる。
（３）冗長行と冗長列の両方が余っている場合に行優先で割り当てていき、残存不良ビット数を０にできる。
（４）冗長行と冗長列の両方が余っている場合に列優先で割り当てていき、残存不良ビット数を０にできる。
なお、上記（２）、（３）において、不良ビット数が同じ行あるいは列が複数ある場合にはその中からランダムに選択するようにしてもよい。
【００２１】
Ｓ１２、Ｓ１３の個々の判定規則の適用順序としては、処理時間の短いものから順に適用していく、あるいは救済可能あるいは不可能と判定される確率の高いものから順に適用していくようにしてもよい。このようにすれば平均処理速度が向上する。
【００２２】
Ｓ１４においては、確定的アルゴリズムでは救済パターンが見つからなかったものについて、後述する遺伝的アルゴリズムにより救済パターンを探索する。Ｓ１５においては、救済可能か否か、即ち遺伝的アルゴリズムにより救済パターンが発見されたか否かが判定され、判定結果が否定の場合には不良品と判定して処理を終了するが、肯定の場合にはＳ１６に移行する。
【００２３】
Ｓ１６においては、例えばメモリチップテスト装置が、救済パターン情報に基づき、チップ内のフューズを切断して不良行あるいは不良列を予備行あるいは予備列回路と置換することにより、メモリチップを修復する。そして良品として出力する。
【００２４】
図５は、本発明における遺伝子情報の内容を示す説明図である。本発明においては、染色体に記録される遺伝子の情報として不良行番号および不良列番号を採用する。不良行番号および不良列番号は以下のようにして生成する。
【００２５】
まず、メモリチップテスト装置による不良ビット位置情報からＸアドレス（不良列アドレス）およびＹアドレス（不良行アドレス）をそれぞれ集計し、重複排除することによって、Ｒｏｗ（行）方向の不良列番号リストおよびＣｏｌ（列）方向の不良行番号リストを生成する。重複排除することによりデータが圧縮される。
【００２６】
そして、それぞれのリストのアドレスに０から通し番号をふる。図５の例ではＸアドレスが０〜３、Ｙアドレスが０〜４の通し番号がふられている。この通し番号を不良列番号および不良行番号として遺伝子に記録する。なお、この際に各不良列番号および不良行番号毎の不良ビット数の合計、全不良ビット数、独立した不良ビット数も算出して別途保存しておく。
【００２７】
図６は、本発明における各個体の染色体の構成を示す説明図である。本発明においては、１個体が染色体として冗長列対応染色体２０と冗長行対応染色体２５の２つの染色体を持つ。冗長列対応染色体２０は冗長列数分の遺伝子記録領域を備え、この遺伝子記録領域には０〜最大不良列番号の範囲のいずれかの数値が記録される。
【００２８】
冗長行対応染色体２５は冗長行数分の遺伝子記録領域を備え、この遺伝子記録領域には０〜最大不良行番号の範囲のいずれかの数値が記録される。遺伝子の値は他の遺伝子の値と重複していてもかまわない。なお、遺伝子に記録される情報は不良行番号あるいは不良列番号のみであるが、個体の評価においては、別途不良ビット位置情報が参照される。
【００２９】
図４は、Ｓ１４の遺伝的アルゴリズム救済処理の内容を示すフローチャートである。Ｓ２０においては、各個体の染色体の遺伝子の値を決定して所定個数の個体を生成し、母集団とする。即ち、各染色体の遺伝子の値を０から最大不良行番号あるいは最大不良列番号の間でランダムな値に設定する。母集団の個体数は例えば数十〜数百とする。。
【００３０】
遺伝子の値は他の遺伝子の値と重複していてもかまわない。但し、重複した遺伝子は無意味であるので、全ての不良行あるいは列数が初期値として遺伝子に設定されるまでは、重複しないように初期値を決定してもよい。また、各個体が含む遺伝子が同一である個体は排除するようにしてもよい。
【００３１】
なお、前記した従来例の公報にも記載されているように、不良ビット数が予備列数より多い不良行あるいは不良ビット数が予備行数より多い不良列など、行あるいは列の一方を必ず割り当てなければ修復不可能な不良行あるいは不良列がある場合には、その行あるいは列の番号を必ず行染色体あるいは列染色体に含むように初期値を決定してもよい。このようにした方が処理時間が短縮される。
【００３２】
Ｓ２１においては、母集団から所定数の固体を選択する。選択数は例えば数個〜数十個であってもよい。Ｓ２２においては、交叉処理によって、２つの親固体Ａ、Ｂから２つの子固体Ａ’、Ｂ’を生成する。即ち、Ｓ２１において選択した個体を２個づつ組み合わせて、染色体内においてランダムに選択した位置のそれぞれの親個体Ａ、Ｂの染色体の遺伝子同士を交換することによって子固体Ａ’、Ｂ’を生成する。交換する数はランダムでもよいし、所定個数であってもよい。
【００３３】
Ｓ２３においては、突然変異処理により、１つの親固体から１つの子固体を生成する。即ち、親個体の染色体のランダムに選んだ任意の遺伝子の値を０から最大不良行あるいは列数の間でランダムな値に変更することにより、子個体を生成する。
【００３４】
なお、突然変異処理において新たな遺伝子をランダムに決めるのではなく、例えば当該染色体において選択されていない遺伝子（不良列あるいは行番号）の内から選択する、あるいは未選択の遺伝子の中で不良ビット数の最も多い遺伝子を選択するようにしてもよい。
【００３５】
Ｓ２４においては、未評価の固体について評価値である残存不良ビット数を求める。処理開始時においては、全ての個体が未評価であるので、全ての個体について評価値が求められるが、２世代目以降は新たに生成された子個体のみ評価値が求められる。評価値として、遺伝子の情報およびチップの不良ビット位置情報に基づいて冗長行あるいは列が置換された場合の残存不良ビット数が算出される。この時、遺伝子の重複している不良行あるいは列番号は無視する。
【００３６】
Ｓ２５においては、救済可能か否かが判定され、判定結果が否定の場合にはＳ２６に移行するが、肯定の場合にはＳ２８に移行する。評価値として残存不良ビット数が０のものが見つければ救済可能であるので、残存不良ビット数が０のものが見つかったか否かによって判定する。
【００３７】
Ｓ２６においては、所定回数世代交代したか否かが判定され、判定結果が否定の場合にはＳ２７に移行するが、肯定の場合にはＳ２９に移行する。所定回数は本発明のＧＡによる探索にかけることが出来る時間に基づいて決定する。なおオフラインでＧＡによる探索を行う場合には長い時間をかけることが可能である。
【００３８】
なお、Ｓ２６において、上記した所定回数より少ない所定の中間回数において、最も良い個体の評価値が所定値（例えば残存不良ビット数＝４）以上である場合には救済パターンが見つかる可能性が非常に低いので、処理を打ち切るようにしてもよい。
【００３９】
Ｓ２７においては、淘汰処理を施し、母集団に戻す。淘汰処理においては、Ｓ２１において選択した親固体およびＳ２２、Ｓ２３において生成した子固体を評価値順に並べ、下位から生成した子固体数と同数の固体を削除する。評価値が同じ個体が複数個ある場合には冗長回路の使用個数の多いものから順に削除する。そして、残った固体を母集団に戻し、Ｓ２１に戻って次世代の処理を行う。Ｓ２８においては、当該メモリチップについて救済ＯＫを出力する。また、Ｓ２９においては、当該メモリチップについて救済ＮＧを出力して処理を終了する。
【００４０】
以上、実施例を開示したが、本発明には以下に示すような変形例も考えられる。実施例においては、評価値として残存不良ビット数を使用する例を開示したが、例えば［修復ビット数／全不良ビット数］や［残存不良行数＋残存不良列数］を採用してもよい。
【００４１】
メモリチップには独立して救済処理可能なブロックが複数ブロックあるので、不良ビット数の一番多いブロックから処理してみて、救済パターンが見つからなければ不良品と判定するようにしてもよい。このようにすれば判定処理が早くなる。
【００４２】
冗長列は各ブロック独立で、冗長行は例えば２ブロック共通に構成されている場合もある。このような場合においては、染色体としてブロックＡ冗長列対応染色体、ブロックＢ冗長列対応染色体、ブロックＡＢ冗長行対応染色体の３個の染色体からなる個体を使用すればよい。
【００４３】
本発明は、メモリチップテスト装置に本発明の処理を実行するプログラムを実装することによって実現可能であるが、メモリチップテスト装置の外部に本発明の処理を実行するプログラムを実装する処理装置を設け、メモリチップテスト装置から不良ビット情報を取得し、図３のＳ１２〜Ｓ１５あるいはＳ１４のみの判定処理を行って、判定結果や救済パターンをメモリチップテスト装置に返送するようにしてもよい。判定処理の間はメモリチップテスト装置は当該チップを保持していてもよいし、一度搬出して保管しておき、判定結果に基づいて救済可能な場合には再度搬入するようにしてもよい。
【図面の簡単な説明】
【００４４】
【図１】メモリチップの冗長構成を示す説明図である。
【図２】メモリチップの不良ビット数の発生頻度を示すグラフである。
【図３】本発明のメモリチップ製造処理の内容を示すフローチャートである。
【図４】遺伝的アルゴリズム救済処理の内容を示すフローチャートである。
【図５】本発明における遺伝子情報の内容を示す説明図である。
【図６】本発明における各個体の染色体の構成を示す説明図である。
【符号の説明】
【００４５】
１０…メモリセル
１１…不良ビット
１２…冗長メモリ列回路
１３…冗長メモリ行回路
【図１】
2008084409.tif 000003
【図２】
2008084409.tif 000004
【図３】
2008084409.tif 000005
【図４】
2008084409.tif 000006
【図５】
2008084409.tif 000007
【図６】
2008084409.tif 000008