本発明は、試験装置および試験方法に関する。
メモリデバイスには膨大な数のメモリセルが含まれており、これらメモリセルの中に不良メモリセルを含む可能性がある。不良メモリセルと置き換えられる冗長メモリセルを製造時に有しているメモリデバイスは、不良メモリセルを冗長メモリセルで置き換えるメモリリペア処理(または、リダンダンシ)が行われる場合がある。
特開平10−222999号公報
メモリリペア処理を行うに当たり、不良メモリセルの位置を検出して、検出した不良メモリセルをどのように冗長メモリセルと置き換えるかを解析しなければならない。大容量の被試験メモリのメモリリペア処理をするために、被試験メモリと同様のアドレス空間を持つフェイルメモリを設けると、コスト増を招くので、好ましくない。また、試験中に不良ビットを計数して、不良ビットが所定数を超えた場合に、その行を救済行として決定するシステムでは、冗長メモリセルが全て割り当てられた後により多くの不良ビットを有する行が検出された場合には、その行を救済することができなくなってしまう場合がある。
上記課題を解決すべく、本発明の第1の態様によると、ロウおよびカラムでアドレッシングされた複数のメモリセルを有し、ロウ方向のメモリブロックを一括して置換可能に設けられたロウ方向のリペア用メモリブロック、および、カラム方向のメモリブロックを一括して置換可能に設けられたカラム方向のリペア用メモリブロックをそれぞれ1以上有する被試験メモリを試験する試験装置であって、被試験メモリを複数の試験対象ブロック毎に順次試験して、それぞれの試験対象ブロックが不良か否かをそれぞれ示す試験結果を順次出力する試験部と、試験部から試験結果を順次受け取って、ロウ方向またはカラム方向の一方のメモリブロック毎に、ロウ方向またはカラム方向の他方のメモリブロックに含まれる不良判定されたメモリブロックの数である不良メモリブロック数を順次カウントする第1カウント部と、試験部による複数の試験対象ブロックが試験された場合に、一方のメモリブロックのうち基準値を超える不良メモリブロック数がカウントされたメモリブロックを、被試験メモリが有する他方のリペア用メモリブロックの数以下の数だけ選択する選択部と、選択部が選択したメモリブロックに含まれる試験対象ブロックをマスクして、試験部に被試験メモリを更に試験させる試験制御部と、試験制御部によりマスクされた被試験メモリを試験している試験部から試験結果を順次受け取って、不良判定された試験対象ブロックの有無を他方のメモリブロック毎に順次判定する判定部とを備える。
選択部は、被試験メモリが有する一方のリペア用メモリブロックのうち、不良なメモリセルを有しない一方のリペア用メモリブロックの数以下の数だけ、基準値を超える不良メモリブロック数がカウントされたメモリブロックを選択してよい。
判定部は、不良判定された試験対象ブロックを含む他方のメモリブロックの数をカウントする第2カウント部を有してよい。判定部は、不良判定された試験対象ブロックの数を、他方のメモリブロック毎にカウントする第2カウント部を有してよい。
一方のリペア用メモリブロックに含まれるメモリセルの数は、他方のメモリブロックに含まれるメモリセルの数より少なくてよい。
選択部は、一方のメモリブロックのうち、不良判定された試験対象ブロックを含まないメモリブロックを更に選択し、試験制御部は、選択部が選択した、基準値を超える不良メモリブロック数がカウントされたメモリブロック、および、不良判定された試験対象ブロックを含まないメモリブロックをマスクして、試験部に被試験メモリを更に試験させてよい。
判定部による判定結果に基づいて、被試験メモリが良品であるか否かを判断する良品判断部をさらに備えてよい。良品判断部は、不良判定された試験対象ブロックを含む他方のメモリブロックの数が、予め定められた数より少ない場合に、被試験メモリを良品と判断してよい。良品判断部は、不良判定された試験対象ブロックを含む他方のメモリブロックの数が、他方のリペア用メモリブロックの数より少ない場合に、被試験メモリを良品と判断してよい。
選択部により選択されたメモリブロックを、一方のリペア用メモリブロックで置換するリペア処理部をさらに備えてよい。記リペア処理部は、不良判定された試験対象ブロックを含む他方のメモリブロックを、他方のリペア用メモリブロックで置換してよい。
本発明の第2の態様によると、ロウおよびカラムでアドレッシングされた複数のメモリセルを有し、ロウ方向のメモリブロックを一括して置換可能に設けられたロウ方向のリペア用メモリブロック、および、カラム方向のメモリブロックを一括して置換可能に設けられたカラム方向のリペア用メモリブロックをそれぞれ1以上有する被試験メモリを試験する試験方法であって、被試験メモリを複数の試験対象ブロック毎に順次試験してそれぞれの試験対象ブロックが不良か否かを順次判定して、ロウ方向またはカラム方向の一方のメモリブロック毎に、ロウ方向またはカラム方向の他方のメモリブロックに含まれる不良判定したメモリブロックの数である不良メモリブロック数を順次カウントする第1試験段階と、第1試験段階おいて複数の試験対象ブロックが試験された場合に、一方のメモリブロックのうち基準値を超える不良メモリブロック数がカウントされたメモリブロックを、被試験メモリが有する他方のリペア用メモリブロックの数以下の数だけ選択する選択段階と、選択段階において選択されたメモリブロックに含まれる試験対象ブロックをマスクして被試験メモリを複数の試験対象ブロック毎に順次試験してそれぞれの試験対象ブロックが不良か否かを順次判定して、不良判定された試験対象ブロックの有無を他方のメモリブロック毎に順次判定する第2試験段階とを備える。
なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではない。また、これらの特徴群のサブコンビネーションもまた、発明となりうる。
本実施形態に係る試験装置10の構成を、被試験メモリ100とともに示す図である。
被試験メモリ100のアドレス構成の一例を示す図である。
試験装置10による、図2に示した被試験メモリ100に対する試験のフローを示す図である。
試験フローの一例を模式的に示す図である。
符号の説明
10 試験装置、20 試験部、22 パターン発生部、23 波形発生部、24 論理比較部、30 フェイル解析部、32 DFM、41 第1判定部、42 第2判定部、51 第1カウント部、52 第2カウント部、61 第1選択部、62 第2選択部、70 試験制御部、80 良品判断部、90 リペア処理部、100 被試験メモリ、400 ブロック、402 CFFM、404 CFBCM、406 基準値、410 TFC、422 BBM、424 TFCM
発明を実施するための形態
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
図1は、本実施形態に係る試験装置10の構成を、被試験メモリ100とともに示す。試験装置10は、フラッシュメモリ等の被試験メモリ100を試験する。被試験メモリ100は、ロウおよびカラムでアドレッシングされた複数のメモリセルを有している。また、被試験メモリ100は、さらに、ロウ方向のメモリブロックを一括して置換可能に設けられたロウ方向のリペア用メモリブロックを1以上有するとともに、カラム方向のメモリブロックを一括して置換可能に設けられたカラム方向のリペア用メモリブロックを1以上有している。
試験装置10は、試験部20、フェイル解析部30、試験制御部70、良品判断部80、および、リペア処理部90を備える。試験部20は、被試験メモリ100を試験して、被試験メモリ100が有するメモリブロックの良否を出力する。例えば、試験装置10は、被試験メモリを複数の試験対象ブロック毎に順次試験して、それぞれの試験対象ブロックが不良か否かをそれぞれ示す試験結果を順次出力する。試験対象ブロックは、一例としてメモリセルであってよい。試験部20は、パターン発生部22、波形発生部23、および、論理比較部24を有する。
パターン発生部22は、被試験メモリ100に対して供給すべき試験信号の試験パターン、供給した試験信号に応じて被試験メモリ100から出力されるべき出力信号の期待値、被試験メモリ100の試験対象となるメモリセルの、被試験メモリ100におけるアドレスを発生する。波形発生部23は、試験パターンに基づき試験信号を発生して、被試験メモリ100に供給する。
論理比較部24は、被試験メモリ100から出力された出力信号と期待値とをビット毎に論理比較して、各ビットに対応するメモリセルが不良であるか否かを判断する。そして、論理比較部24は、メモリセルが不良であるか否かをビット毎に示すフェイル情報を、試験部20による試験結果としてフェイル解析部30に出力する。また、パターン発生部22は、アドレス情報を、フェイル解析部30に出力する。
フェイル解析部30は、第1判定部41、第2判定部42、および、DFM32(データ・フェイル・メモリ)を有する。第1判定部41、第2判定部42、および、DFM32は、論理比較部24から出力されたフェイル情報、および、パターン発生部22から出力されたアドレス情報を受け取ることができる。
第1判定部41は、第1カウント部51および第1選択部61を含む。また、第2判定部42は、第2カウント部52および第2選択部62を含む。概略には、第1選択部61は、一方のリペア用メモリブロックで置換されるべきメモリブロックを選択する。また、第2選択部62は、他方のリペア用メモリブロックで置換されるべきメモリブロックを選択する。
第1カウント部51は、試験部20から試験結果を順次受け取って、ロウ方向またはカラム方向の一方のメモリブロック毎に、ロウ方向またはカラム方向の他方のメモリブロックに含まれる不良判定されたメモリブロックの数である不良メモリブロック数を順次カウントする。そして、第1選択部61は、試験部20による複数のメモリセルが試験された場合に、一方のメモリブロックのうち基準値を超える不良メモリブロック数がカウントされたメモリブロックを、更なる試験でマスクすべきメモリブロックとして、選択する。なお、第1選択部61は、リペア用メモリブロックで置換されるべきメモリブロックを選択する。
ここで、第1選択部61は、被試験メモリ100が有する他方のリペア用メモリブロックの数以下の数だけ、基準値を超える不良メモリブロック数がカウントされたメモリブロックを選択してよい。基準値としては、被試験メモリ100が有する他方のリペア用メモリブロックの数を例示することができる。言い換えると、基準値は、被試験メモリ100が有する他方のリペア用メモリブロックにより救済することができる最大のブロック数であってよい。これにより、第1選択部61は、他方のリペア用メモリブロックによって完全には救済することができないメモリブロックを、一方のリペア用メモリブロックで置換されるべきメモリブロックとして選択することができる。
なお、第1選択部61は、被試験メモリ100が有する一方のリペア用メモリブロックのうち、不良なメモリセルを有しない一方のリペア用メモリブロックの数以下の数だけ、基準値を超える不良メモリブロック数がカウントされたメモリブロックを選択してよい。一方のリペア用メモリブロックが不良なメモリセルを有するか否かを判断すべく、一方のリペア用メモリブロックは、試験部20による被試験メモリ100の記憶領域のメモリブロックの試験時に、または、試験部20による被試験メモリ100の記憶領域のメモリブロックの試験前に、試験されよい。
そして、試験制御部70は、第1選択部61が選択したメモリブロックに含まれるメモリセルをマスクして、試験部20に被試験メモリ100を更に試験させる。このとき、試験部20は、被試験メモリ100の一部のメモリセルがマスクされるという点を除いて、上記の試験と同様に試験してよい。そして、第2判定部42は、試験制御部70によりマスクされた被試験メモリ100を試験している試験部20から試験結果を順次受け取って、不良判定されたメモリセルの有無を他方のメモリブロック毎に順次判定する。
もし第2判定部42により、不良判定されたメモリセルが存在する場合、不良判定されたメモリセルを有するブロックは、他方のリペア用メモリブロックで救済されることが好ましい。そこで、リペア処理部90は、第1選択部61により選択されたメモリブロックを、一方のリペア用メモリブロックで置換する。また、リペア処理部90は、不良判定されたメモリセルを含む他方のメモリブロックを、他方のリペア用メモリブロックで置換する。
なお、第2カウント部52は、不良判定されたメモリセルを含む他方のメモリブロックの数をカウントする。この場合、第2カウント部52によりカウントされた値が、被試験メモリ100が有する他方のリペア用メモリブロックの数より大きい場合には、全てのメモリセルを完全に救済することはできない。この場合、良品判断部80は、被試験メモリ100を良品でないと判断してもよい。良品判断部80により良品でないと判断された場合には、リペア処理部90は、リペア処理をしなくてよい。
他にも、第2カウント部52は、不良判定されたメモリセルの数を、他方のメモリブロック毎にカウントしてよい。そして、第2選択部62は、不良判定されたメモリセルをより多く含む他方のメモリブロックを、他方のリペア用メモリブロックにより置換されるべきメモリブロックとしてより優先して選択してよい。これによると、全てのメモリセルを完全に救済することができない場合であっても、不良なメモリセルの数をより低減することができる。不良なメモリセルが含まれていることがある程度許容されれば、製品の歩留まりを高めることができる場合がある。
以上のように、試験装置10は、不良判定されたメモリセルを順次カウントしていくことで、リペア用メモリブロックで救済されるべきメモリブロックを選択することができる。これにより、試験装置10によれば、例えばアドレス・フェイル・メモリなどのように、被試験メモリ100と同じアドレス空間のフェイルメモリを用いなくても、救済されるべきメモリブロックを適切に決定することができる。これにより、試験装置10の設計・製造コストを低減することができる。
なお、第1選択部61は、一方のメモリブロックのうち、不良判定されたメモリセルを含まないメモリブロックを、更なる試験でマスクすべきメモリブロックとして更に選択してもよい。そして、試験制御部70は、第1選択部61が選択した、基準値を超える不良メモリブロック数がカウントされたメモリブロック、および、不良判定されたメモリセルを含まないメモリブロックをマスクして、試験部20に被試験メモリ100を更に試験させてよい。このように、第1試験において全メモリセルについて良判定されたメモリブロックについては、第2試験においてマスクすることで、試験時間を短縮することができる場合がある。
図2は、被試験メモリ100のアドレス構成の一例を示す。被試験メモリ100はNAND型フラッシュメモリであってよい。被試験メモリ100は、それぞれが複数のページを有する複数のブロックと、複数のリペア用カラムと、複数のリペア用ブロックとを備える。複数のブロックは、それぞれの位置を示すブロック番号が付与されている。ページは、データの書き込みおよび読み出し単位である。複数のページは、それぞれに対してブロック内における位置を示すページ番号が付与されている。
ページは、それぞれが複数のカラムを有する。ページ内におけるカラム数は、全てのページで同一である。それぞれのページ内における複数のカラムは、それぞれを特定するカラム番号が付与されている。カラム番号は、全てのブロックの全てのページに亘って共通している。従って、カラム番号を特定することにより、全てのブロックの全てのページについて同一位置のカラムを特定することができる。また、各ページ内は、ユーザデータが記憶されるデータエリアと、管理データ等が記憶されるエキストラエリアとを含む。また、1つのページ内の1つのカラムは、所定数ビットのメモリセルを含み、複数IOピンを用いて並列に入出力される。
ここで、リペア用カラムは、ロウ方向のリペア用メモリブロックの一例である。すなわち、リペア用カラムは、不良メモリセルを含むカラムに代わり、記憶領域として用いられることを目的とした1ビット幅のカラムである。リペア用カラムは、被試験メモリ100内の全ブロックの全ページについて同一位置のカラムに対応するIOを含んでおり、リペア処理がされることにより、全ブロックの全ページについて同一位置の1つのカラムと一括して置き換えられる。
リペア用ブロックは、ロウ向のリペア用メモリブロックの一例である。リペア用ブロックは、32ページ分のメモリブロックで形成される。すなわち、リペア用ブロックは、不良メモリセルを含んだブロックに代わって記憶領域として用いられることを目的としたメモリブロックである。リペア用ブロックは、ブロックと略同一の構成となっており、リペア処理がされることにより、任意の1つのブロックと置き換えられる。このようにしてリペア処理された被試験メモリ100は、良品のメモリデバイスとして用いることができる。
なお、リペア用カラムに含まれるメモリセルの数は、リペア用ブロックに含まれるメモリセルの数より少ない。このような場合に、上記のようにリペア用カラムにより救済される救済カラムを、リペア用ブロックにより救済される救済ブロックより先に選択する。より柔軟に設定することができるリペア用カラムにより救済するカラム位置を先に選択するので、後に救済ブロックで救済しきれなくなってしまう確率を低減することができる場合がある。
図3は、試験装置10による、図2に示した被試験メモリ100に対する試験のフローを示す。ステップ302において、試験部20における第1試験と並行して、フェイル解析部30によりフェイル解析が行われる。
第1試験では、試験部20は、被試験メモリ100に対して書き込んだデータを読み出して、読み出したデータを期待値と比較してそれぞれのメモリセルの良否を判定する。良否を判定した結果は、論理比較部24からフェイル解析部30に順次、良否判定出力として出力される。
第1カウント部51は、論理比較部24から各メモリセルの良否の判定出力を順次受け取る。第1カウント部51は、論理比較部24から受け取った良否の判定出力が不良を示す場合に、パターン発生部22から受け取ったカラムアドレスに基づき、カラム毎に不良ブロック数を順次計数する。
ステップ304において、第1選択部61は、カラム毎の不良ブロック数に基づき、救済すべき1以上のカラムを選択する。第1選択部61は、被試験メモリ100が有するリペア用カラムの数を超えない数のカラムを選択する。なお、第1選択部61が選択した救済すべきカラムのことを、以後の説明では救済カラムと呼ぶ。
ステップ306において、試験部20による第2試験と並行して、フェイル解析部30によりフェイル解析が行われる。試験部20は、第2試験においても第1試験と同様に、被試験メモリ100に対して書き込んだデータを読み出して、読み出したデータを期待値と比較してそれぞれのメモリセルの良否を判定する。ただし、試験制御部70による制御により、ステップ304で選択された救済カラムに属するメモリセルはマスクされる。
第2試験により論理比較部24から順次出力される良否判定出力は、第2カウント部52に供給される。第2カウント部52は、論理比較部24から受け取った良否判定出力が不良を示す場合に、パターン発生部22から受け取ったロウアドレスに基づき、不良なメモリセル数を各ブロック毎に計数する。
このとき、第2カウント部52は、ステップ304で選択された救済カラムに対応するカラムアドレスのメモリセルに対する良否判定出力については、不良メモリセルとして計数しなくてよい。他にも、パターン発生部22は、当該カラム用に試験信号を発生しなくてもよい。また、論理比較部24に入力される、当該カラムアドレスのメモリセルからの出力および期待値を、所定のビット値に設定してもよい。また、論理比較部24から出力された当該カラムアドレスのメモリセルの良否判定出力が、良を示すビット値に設定されてもよい。
ステップ308において、第2選択部62は、各ブロックに含まれる不良判定されたメモリセル数に基づき、救済すべきブロックが存在するか否かを判断する。また、救済すべきブロックが存在する場合には、当該不良判定されたメモリセル数に基づき、救済すべき1以上のブロックを選択する。なお、以後の説明では、第2選択部62により選択された救済すべきブロックを、救済ブロックと呼ぶ。
ステップ310において、良品判断部80は被試験メモリ100に対して良品であるか否かを判断する。例えば、良品判断部80は、全体のブロックの数に対する不良メモリセルを含むブロックの数の割合が、予め定められた値より小さいか否かを判断する。良品判断部80は、当該割合が予め定められた値以上である場合には(ステップ310のNo)、被試験メモリ100を不良品である旨の出力をする。
良品判断部80は、当該割合が予め定められた値より小さい場合には(ステップ310のYes)、ステップ312に処理を進める。このように、良品判断部80は、第2判定部42による判定結果に基づいて、被試験メモリ100が良品であるか否かを判断する。なお、良品判断部80は、不良判定されたメモリセルを含むブロックの数が予め定められた数より少ない場合に、被試験メモリ100を良品と判断してよい。また、良品判断部80は、不良判定されたメモリセルを含むブロックの数が、リペア用ブロックの数より少ない場合に、被試験メモリ100を良品と判断してもよい。
ステップ312おいて、リペア処理部90がリペア処理することにより、救済カラムをリペア用カラムで置換した後に、救済ブロックをリペア用ブロックで置換する。
リペア処理部90は、一例として、被試験メモリ100の所定の記憶領域にカラムリペアに関する情報を書き込むことにより、カラムリペア処理を行う。また、リペア処理部90は、被試験メモリ100の所定の記憶領域にブロックリペアに関する情報を書き込むことにより、ブロックリペア処理を行う。カラムリペア処理がされた被試験メモリ100は、以後、ユーザ機器によりカラムリペア処理の対象となったカラム番号にアクセスがされた場合、当該カラムに代えて、リペア用カラムに対して書き込み、読み出しまたは消去が行われる。ブロックについても同様である。
そして、リペア処理された被試験メモリ100は、新たな試験に供される。なお、ステップ312において実際にリペア処理するか否かは任意に選択することができ、実際にはリペアせずに他の試験に進むこともできる。
試験装置10は、更に、次の異なるまたは同一の内容の新たな読み出し試験時において、上述のステップ302からステップS312までの処理を行ってよい。これにより、試験装置10によれば、次の新たな読み出し試験時において、新たに検出された不良メモリセルについても、カラムリペア処理またはブロックリペア処理の少なくとも一方により、さらに救済することができる場合がある。
また、救済ブロックを決定する前に、救済カラムを決定するので、リペア用ブロックが消耗してしまうことを防ぐことができる場合がある。このため、より多くのリペア用ブロックを未使用のままにしておくこともできる。そして、他の新たな試験でリペアすべきブロックが発見された場合に、残りのリペア用ブロックで救済することができる可能性を高めることができる。
以上のステップの処理により、試験装置10によれば、大容量のフェイルメモリを使用しなくとも、救済カラムおよび救済ブロックを選択することができる。
図4は、試験フローの一例を模式的に示す。本図は、試験装置10による試験処理の内容を分かやすく説明することを目的として、被試験メモリ100のアドレス構造を、符号Aに示されるように簡略化して示している。本図では、被試験メモリ100は、カラム数8、IO幅3として簡略化されている。また、被試験メモリ100は、4つのブロック400a〜ブロック400dに分けられているとする。
図3のステップ302に対応する第1試験においては、試験部20は、ページを順次選択して試験する。第1判定部41は、論理比較部24からの良否判定出力およびパターン発生部22からのアドレス情報を受け取り、カラムに不良メモリセルが存在したか否かを示す不良フラグ値を、カラムアドレスに対応してCFFM402(カラム・フラッグ・フェイル・メモリ)に記憶させる。CFFM402は、例えば第1判定部41が有する一構成要素であってよい。
CFFM402は、具体的には、不良メモリセルが存在しているカラムに対応するアドレスに、不良フラグ"1"を記憶する。CFFM402は、不良メモリセルが存在していないカラムに対応するアドレスに"0"を記憶する。より具体的には、CFFM402は、各ブロックの最初のページが試験部20により試験される場合に初期化され、ブロック内で不良メモリセルが検出された場合に、CFFM402における当該不良メモリセルのカラムに対応するアドレスに"1"が記憶される。
ブロック内の全ページに対する試験が完了していない段階では、CFFM402が記憶している値は、当該ブロックでカラム内に不良メモリセルが現在までに検出されたか否かを示している。ブロック内の全ページに対する試験が完了した段階では、CFFM402が記憶している値は、当該ブロックでカラム内のメモリセルのいずれかに不良メモリセルが検出されたか否かを示している(符号C参照)。
第1カウント部51は、論理比較部24からの良否判定出力を受け取り、各カラムアドレスのメモリセルに不良メモリセルが存在した数を、CFBCM404(カラム・フラッグ・ブロック・カウント・メモリ)にカラム毎に記憶する。CFFM402は、例えば第1カウント部51が有する一構成要素であってよい。
具体的には、論理比較部24から受け取った良否判定出力が不良を示す場合に、CFBCM404は、当該メモリセルを含むブロック内で初めて不良メモリセルが検出されたことを条件として、記憶しているカウント値がインクリメントされた値を記憶する。より具体的には、良否判定出力が不良であった場合に、CFFM402における対応するアドレスに"0"が記憶されていることを条件として、インクリメントされたカウント値がCFBCM404に記憶される。被試験メモリ100の記憶領域の全ページに対して試験が完了した場合に、CFBCM404に記憶されている値が不良ブロック数を示す。
全ページに対する試験が完了すると、図3のステップ304に対応して、救済カラムが第1選択部61により選択される。第1選択部61は、基準値406以上の不良ブロック数がCFBCM404に記憶されているカラムを、救済カラムとして決定する。基準値406としては、被試験メモリ100が有するリペア用ブロックの数を例示することができる。なお、第1選択部61は、被試験メモリ100が有するリペア用カラムの数を上限として、救済カラムを選択する。
なお、第1選択部61は、基準値406より小さい不良ブロック数が計数されたカラムをも、救済カラムとして選択してもよい。例えば、第1選択部61は、基準値406より小さい不良ブロック数が計数されたカラムのうち、より大きい不良ブロック数が計数されたカラムをより優先して救済カラムとして選択してよい。第1選択部61は、被試験メモリ100が有するリペア用カラムの上限数に達するまで、より大きい不良ブロック数が計数されたカラムを順に、救済カラムとして選択してよい。
第1選択部61は、選択した救済カラムのカラムアドレスに対応するCFFM402のアドレスに記憶されているフラグ値を"1"にするとともに、CFFM402の他のアドレスに記憶されているフラグ値を"0"にする(符号D参照)。このように、第1試験およびS304に対応する救済カラムの選択処理が完了した時点で、CFFM402がフラグ値"1"を記憶しているアドレスが、救済カラムのアドレスを示している。
救済カラムに含まれる全メモリセルは、第2試験においてマスクされる。符号Bに示す被試験メモリ100は、マスクされた様子を模式的に示す。向かって左から4番目のカラムおよび右から3番目のカラムが、第2試験においてマスクされる。
図3のステップ306に対応する第2試験においては、試験部20は、第1試験と同様に、ページを順次選択して試験する。選択された特定ページに対する試験が行われている間、フェイル解析部30は、以下のようにしてフェイル情報を解析する。
第2カウント部52は、論理比較部24からの良否判定出力を受け取り、各ロウアドレスのメモリセルで不良メモリセルが存在した数を、ロウアドレスに対応してTFC410(トータル・フェイル・カウンタ)に記憶させる。TFC410は、第2カウント部52が有する一構成要素であってよい。特定のページの試験が終了した時点では、TFC410が記憶している値は、ロウアドレスに対応するメモリブロック中に存在している不良なメモリセルの数を示す。上述したように、紙面に向かって左から4番目のカラムおよび右から3番目のカラムは第2試験においてマスクされているので、TFC410にはカウントされない。
特定ページの試験が終了すると、第2カウント部52は、TFC410が記憶しているカウント値のIO幅にわたって合計したカウント値を、TFCM424(トータル・フェイル・カウント・メモリ)の当該ページに対応するアドレスに記憶させる。TFCM424は、第2カウント部52が有する一構成要素であってよい。第2試験においては、以上説明した特定ページに対する試験およびフェイル解析が、ページを順次変更して繰り返される。
1ブロック分のページの試験が終了した場合に、TFCM424は、被試験メモリ100における当該ブロック内の各ページのロウアドレスに対応するアドレスに、各ページにおいて不良ブロックが検出された値が記憶されている。当該ブロック内で1以上の不良メモリセルが存在した場合に、BBM422(バッド・ブロック・メモリ)は、当該ブロックが不良ブロックか否かを示すビット値が記憶される。
不良ブロックであったか否かは、第2判定部42により決定されてよい。第2判定部42は、フラッシュカウンタ、ECCカウンタ、リードフェイル情報、および、ステータスフェイル情報に基づき、不良ブロックか否かを判定してよい。ECCエラー訂正により訂正できた場合には、良ブロックと判定してもよい。
全ページに対する試験が完了すると、図3のステップ308に対応して、救済ブロックが第2選択部62により選択される。第2選択部62は、BBM422が記憶している情報、および、TFCM424が記憶しているカウント値に基づき、救済ブロックを選択する。具体的には、第2選択部62は、TFCM424が記憶しているカウント値に基づき、1以上の不良なメモリセルが検出されたブロックを特定する。
例えば、第2選択部62は、TFCM424がページ毎に記憶しているカウント値をブロック単位で合計した合計値を算出する(この値を総不良メモリセル数と呼ぶ。)。そして、第2選択部62は、被試験メモリ100が有するブロックのうち、BBM422の対応するアドレスにビット値"1"が記憶されているブロック、または、1以上の総不良メモリセル数が算出されたブロック、のいずれかに該当するブロック(以下、不良ブロックと呼ぶ。)の中から、救済ブロックを選択する。このとき、第2選択部62は、被試験メモリ100が有するリペア用ブロックの数を上限として、救済ブロックを選択する。
第2選択部62は、より多い数の総不良メモリセル数が算出されたブロックを、救済ブロックとしてより優先して選択してよい。なお、第2選択部62は、不良ブロックの数が、被試験メモリ100が有するリペア用ブロックの数以下である場合に、当該不良ブロックを救済ブロックとして選択してよい。
なお、第2試験において、論理比較部24の良否判定結果、および、パターン発生部22からのアドレス情報に基づき、フェイル情報がDFM32に記憶される。DFM32は、不良メモリセルに対応するアドレスと、フェイルデータとを対応づけて記憶する。フェイル解析部30は、DFM32が記憶している情報に基づき、フェイルビットマップデータを作成することができる。
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、請求の範囲の記載から明らかである。
請求の範囲、明細書、および図面中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、および段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。