(57)【特許請求の範囲】
【請求項１】
誤り訂正符号が付加されたデータ列を記憶する被試験メモリを試験する試験装置であって、
前記被試験メモリから読み出された前記データ列に含まれるデータのそれぞれを、予め生成された期待値と比較する論理比較器と、
前記期待値と一致しない前記データの数をカウントするデータエラーカウント部と、
前記データエラーカウント部のカウント値が予め定められた１以上の上限数を超えた場合に、前記被試験メモリの不良を検出する不良検出部と
を備え、
前記データ列に含まれるデータが前記期待値と一致しない場合において、前記不良検出部は、
前記データが予め定められたデータ値でない場合には前記被試験メモリの不良を検出し、
前記データが前記予め定められたデータ値である場合には前記期待値と一致しない前記データの数が前記上限数を超えたことを更に条件として前記被試験メモリの不良を検出する試験装置。
【請求項２】
プログラムディスターブモードが原因の不良を検出するデータ値を記憶する期待値選択レジスタを備え、
前記不良検出部は、前記データ列に含まれるデータが前記期待値と一致しない場合において、
前記期待値が前記期待値選択レジスタに記憶されたデータ値と一致しない場合には前記被試験メモリの不良を検出し、
前記期待値が前記期待値選択レジスタに記憶されたデータ値と一致する場合には前記期待値と一致しない前記データの数が前記上限数を超えたことを更に条件として前記被試験メモリの不良を検出する請求項１記載の試験装置。
【請求項３】
前記不良検出部は、前記カウント値が、前記誤り訂正符号により前記データ列の誤りを訂正可能な最大数である前記上限数を超えた場合に、前記被試験メモリの不良を検出する請求項１または２に記載の試験装置。
【請求項４】
前記被試験メモリが、誤り訂正符号が付加されたデータ列を記憶する第１の記憶領域と、誤り訂正符号が付加されないデータ列を記憶する第２の記憶領域とを備える場合において、前記不良検出部は、
前記第１の記憶領域から読み出された前記データ列について、前記カウント値が前記上限数を超えた場合に前記被試験メモリの不良を検出し、
前記第２の記憶領域から読み出された前記データ列について、当該データ列に含まれる少なくとも１つの前記データが前記期待値と一致しない場合に前記被試験メモリの不良を検出する
請求項１または２に記載の試験装置。
【請求項５】
前記論理比較器は、前記被試験メモリの異なる記憶領域から読み出された複数の前記データ列のそれぞれについて、当該データ列に含まれる前記データのそれぞれを前記期待値と順次比較し、
前記データエラーカウント部は、それぞれの前記データ列について、前記期待値と一致しない前記データの数をカウントし、
前記不良検出部は、前記エラーカウント部のカウント値が前記上限数を超えた場合に、前記被試験メモリの不良を検出し、
一の前記データ列についての不良の検出が完了した場合に、前記カウント値を初期化して、次の前記データ列についての前記期待値との比較を前記論理比較器に開始させる試験処理部を更に備える請求項１または２に記載の試験装置。
【請求項６】
前記被試験メモリの同一の記憶領域にデータ列を複数回書き込んで、書き込み毎に書き込んだ前記データ列を前記被試験メモリから読み出して前記論理比較器に供給する試験処理部と、
前記被試験メモリの前記記憶領域毎に、当該記憶領域から読み出された前記データ列に含まれるデータが前記期待値と一致しなかった回数をカウントする記憶領域エラーカウント部と
を更に備え、
前記不良検出部は、
前記データ列の読み出し元の前記記憶領域に対応して前記記憶領域エラーカウント部にカウントされたカウント値が予め定められた値より大きい場合において、当該データ列に含まれる少なくとも１つの前記データが前記期待値と一致しない場合に前記被試験メモリの不良を検出し、
前記データ列の読み出し元の前記記憶領域に対応して前記記憶領域エラーカウント部にカウントされたカウント値が前記予め定められた値以下の場合において、前記データエラーカウント部のカウント値が前記上限数を超えた場合に前記被試験メモリの不良を検出する
請求項１または２に記載の試験装置。
【請求項７】
誤り訂正符号が付加されたデータ列を記憶する被試験メモリを試験する試験方法であって、
前記被試験メモリから読み出された前記データ列に含まれるデータのそれぞれを、予め生成された期待値と比較する論理比較段階と、
前記期待値と一致しない前記データの数をカウントするデータエラーカウント段階と、
前記データエラーカウント段階のカウント値が予め定められた１以上の上限数を超えた場合に、前記被試験メモリの不良を検出する不良検出段階と
を備え、
前記データ列に含まれるデータが前記期待値と一致しない場合において、前記不良検出段階は、
前記データが予め定められたデータ値でない場合には前記被試験メモリの不良を検出し、
前記データが前記予め定められたデータ値である場合には前記期待値と一致しない前記データの数が前記上限数を超えたことを更に条件として前記被試験メモリの不良を検出する試験方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、試験装置及び試験方法に関する。特に本発明は、誤り訂正符号が付加されたデータ列を記憶する被試験メモリを試験する試験装置及び試験方法に関する。また、本出願は、下記の日本出願に関連する。文献の参照による組み込みが認められる指定国については、下記の出願に記載された内容を参照により本出願に組み込み、本出願の一部とする。
１．特願２００４−３００７８２    出願日  ２００４年１０月１４日
【背景技術】
【０００２】
従来、半導体メモリ試験装置は、テストサイクル毎に、被試験メモリの出力と期待値とを論理比較し、比較の結果一致すればパス、不一致であればフェイルを検出していた。このため、例えばフラッシュメモリのように、記憶したデータが複数サイクルに渡ってページ単位で読み出され、ページ単位で誤り訂正符号を付加した形態をとる被試験メモリにおいても、フェイルを１回でも検出すれば、当該被試験メモリの不良を検出していた。【０００３】
ここで、フラッシュメモリは、プログラムディスターブモードが生じることにより書き込み対象の記憶セル以外のデータが書き換えられ、非永久的なソフトエラーが発生することがある（非特許文献１参照。）。実際の使用状態においては、このようなソフトウェアエラーが発生すると、フラッシュメモリを制御するメモリコントローラが、フラッシュメモリから読み出したデータの誤り訂正を行う。
【非特許文献１】作田康司、「Ｓｉｌｉｃｏｎ  Ｍｏｖｉｅ時代に向けた大容量ＮＡＮＤフラッシュメモリ技術」、ＦＥＤジャーナル、Ｖｏｌ．１１、Ｎｏ．３、２０００年、ｐｐ．７６−８８
【発明の開示】
【発明が解決しようとする課題】
【０００４】
従来の半導体メモリ試験装置においては、いずれかのテストサイクルにおいてフェイルを検出した場合には、当該被試験メモリの不良を検出する。したがって、例えばフラッシュメモリにおいてある程度発生しうるソフトウェアエラーが生じた場合においても、当該フラッシュメモリの不良を検出してしまう。【０００５】
そこで本発明は、上記の課題を解決することのできる試験装置及び試験方法を提供することを目的とする。この目的は請求の範囲における独立項に記載の特徴の組み合わせにより達成される。また従属項は本発明の更なる有利な具体例を規定する。
【課題を解決するための手段】
【０００６】
本発明の第１の形態によると、誤り訂正符号が付加されたデータ列を記憶する被試験メモリを試験する試験装置であって、前記被試験メモリから読み出された前記データ列に含まれるデータのそれぞれを、予め生成された期待値と比較する論理比較器と、前記期待値と一致しない前記データの数をカウントするデータエラーカウント部と、前記データエラーカウント部のカウント値が予め定められた１以上の上限数を超えた場合に、前記被試験メモリの不良を検出する不良検出部とを備える試験装置を提供する。【０００７】
前記不良検出部は、前記カウント値が、前記誤り訂正符号により前記データ列の誤りを訂正可能な最大数である前記上限数を超えた場合に、前記被試験メモリの不良を検出してもよい。【０００８】
前記被試験メモリが、誤り訂正符号が付加されたデータ列を記憶する第１の記憶領域と、誤り訂正符号が付加されないデータ列を記憶する第２の記憶領域とを備える場合において、前記不良検出部は、前記第１の記憶領域から読み出された前記データ列について、前記カウント値が前記上限数を超えた場合に前記被試験メモリの不良を検出し、前記第２の記憶領域から読み出された前記データ列について、当該データ列に含まれる少なくとも１つの前記データが前記期待値と一致しない場合に前記被試験メモリの不良を検出してもよい。【０００９】
前記論理比較器は、前記被試験メモリの異なる記憶領域から読み出された複数の前記データ列のそれぞれについて、当該データ列に含まれる前記データのそれぞれを前記期待値と順次比較し、前記データエラーカウント部は、それぞれの前記データ列について、前記期待値と一致しない前記データが検出される毎にカウント値をインクリメントし、前記不良検出部は、前記エラーカウント部のカウント値が前記上限数を超えた場合に、前記被試験メモリの不良を検出し、一の前記データ列についての不良の検出が完了した場合に、前記カウント値を初期化して、次の前記データ列についての前記期待値との比較を前記論理比較器に開始させる試験処理部を更に備えてもよい。【００１０】
前記データ列に含まれるデータが前記期待値と一致しない場合において、前記不良検出部は、前記データが予め定められたデータ値でない場合には前記被試験メモリの不良を検出し、前記データが前記予め定められたデータ値である場合には前記期待値と一致しない前記データの数が前記上限数を超えたことを更に条件として前記被試験メモリの不良を検出してもよい。【００１１】
前記被試験メモリの同一の記憶領域にデータ列を複数回書き込んで、書き込み毎に書き込んだ前記データ列を前記被試験メモリから読み出して前記論理比較器に供給する試験処理部と、前記被試験メモリの前記記憶領域毎に、当該記憶領域から読み出された前記データ列に含まれるデータが前記期待値と一致しなかった回数をカウントする記憶領域エラーカウント部とを更に備え、前記不良検出部は、前記データ列の読み出し元の前記記憶領域に対応して前記記憶領域エラーカウント部にカウントされたカウント値が予め定められた値より大きい場合において、当該データ列に含まれる少なくとも１つの前記データが前記期待値と一致しない場合に前記被試験メモリの不良を検出し、前記データ列の読み出し元の前記記憶領域に対応して前記記憶領域エラーカウント部にカウントされたカウント値が前記予め定められた値以下の場合において、前記データエラーカウント部のカウント値が前記上限数を超えた場合に前記被試験メモリの不良を検出してもよい。【００１２】
本発明の第２の形態によると、誤り訂正符号が付加されたデータ列を記憶する被試験メモリを試験する試験方法であって、前記被試験メモリから読み出された前記データ列に含まれるデータのそれぞれを、予め生成された期待値と比較する論理比較段階と、前記期待値と一致しない前記データの数をカウントするデータエラーカウント段階と、前記データエラーカウント段階のカウント値が予め定められた１以上の上限数を超えた場合に、前記被試験メモリの不良を検出する不良検出段階とを備える試験方法を提供する。【００１３】
なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではなく、これらの特徴群のサブコンビネーションもまた、発明となりうる。
【発明の効果】
【００１４】
本発明によれば、誤り訂正可能なエラーを検出した場合には被試験メモリを不良と判定しない試験装置を提供することができる。
【図面の簡単な説明】
【００１５】
【図１】本発明の実施形態に係る試験装置１０の構成を示す。
【図２】本発明の実施形態に係る被試験メモリ１００の記憶領域を示す。
【図３】本発明の実施形態に係る不良判定部１８０の構成を示す。
【図４】本発明の実施形態に係る試験装置１０の動作タイミングを示す。
【図５】本発明の実施形態の第１変形例に係る不良判定部１８０の構成の一部を示す。
【図６】本発明の実施形態の第２変形例に係る不良判定部１８０の構成の一部を示す。
【符号の説明】
【００１６】
１０  試験装置
１００  被試験メモリ
１１０  試験処理部
１２０  タイミング発生器
１３０  パターン発生器
１４０  波形整形器
１５０  ドライバ
１６０  コンパレータ
１７０  論理比較器
１８０  不良判定部
２００  訂正可能領域
２１０  データ
２２０  誤り訂正符号
２３０  訂正不可能領域
２４０  メインエリア
２５０  エキストラエリア
３００  フェイルビット数算出部
３１０  アンドゲート
３２０  データエラーカウント部
３３０  不良検出部
３３２  オアゲート
３３４  ゲート
３３６  アンドゲート
３３８  オアゲート
３３９  アンドゲート
３４０  フェイル選択部
３４２  フェイルスタック選択部
３４４  ＢＢＭ選択部
３４６  ＡＦＭ選択部
３５０  フェイルスタック
３６０  ＢＢＭ
３７０  ＡＦＭ
５００  期待値選択イネーブルレジスタ
５１０  期待値選択レジスタ
５２０  オアゲート
５３０  アンドゲート
５４０  排他的否定論理和ゲート
５５０  ゲート
６００  記憶領域エラーカウント部
６１０  フェイルログメモリ
６２０  アドレス選択器
６３０  加算器
６４０  領域エラー上限値記憶部
６５０  比較器
６６０  オアゲート
【発明を実施するための最良の形態】
【００１７】
図１は、本実施形態に係る試験装置１０の構成を被試験メモリ１００と共に示す。試験装置１０は、被試験メモリ１００のメモリ機能を試験する。ここで、被試験メモリ１００は、例えば半導体メモリ又はメモリ機能を付加したＳｏＣ（システム・オン・チップ）等であり、誤り訂正符号が付加されたデータ列を記憶する。本実施形態に係る試験装置１０は、被試験メモリ１００から読み出したデータ列が期待値データ列と一致しない場合においても、誤り訂正符号により訂正可能であることを条件として、当該被試験メモリ１００を不良であると判断しない。これにより試験装置１０は、被試験メモリ１００を適切に試験することを目的とする。以下、被試験メモリ１００は、フラッシュメモリである場合を例として説明を行う。【００１８】
試験装置１０は、試験処理部１１０と、ドライバ１５０と、コンパレータ１６０と、論理比較器１７０と、不良判定部１８０とを備える。試験処理部１１０は、被試験メモリ１００の試験を制御する。より具体的には、被試験メモリ１００の試験において、試験処理部１１０は、被試験メモリ１００の同一の記憶領域にデータ列を複数回書き込んで、書き込み毎に書き込んだデータ列を被試験メモリ１００から読み出させる。これにより試験処理部１１０は、被試験メモリ１００から読み出したデータを論理比較器１７０に供給する。このようにして、試験処理部１１０は、同一の記憶領域に対し、データ列を変化させながら読み書きを行うことで、当該記憶領域の記憶セルの不良を論理比較器１７０及び不良判定部１８０により検出させることができる。【００１９】
試験処理部１１０は、タイミング発生器１２０と、パターン発生器１３０と、波形整形器１４０とを有する。タイミング発生器１２０は、パターン発生器１３０から出力されるタイミングセット信号（ＴＳ信号）により指定されたタイミングデータを用いて、試験の１サイクルを示す周期クロックと、試験サイクルの開始タイミングを示すＲＡＴＥ信号とを生成する。そして、タイミング発生器１２０は、周期クロックをパターン発生器１３０に供給し、ＲＡＴＥ信号及びＴＳ信号を試験装置１０の基準クロックと共に波形整形器１４０へ供給する。【００２０】
パターン発生器１３０は、周期クロックに基づいて、被試験メモリ１００に供給する試験パターンのデータを生成し、波形整形器１４０へ供給する。この試験パターンデータは、データ列を被試験メモリ１００に書き込むために被試験メモリ１００に供給すべき信号からなる試験パターン、及び、書き込んだデータ列を被試験メモリ１００から読み出すために被試験メモリ１００に供給すべき信号からなる試験パターンを含む。【００２１】
波形整形器１４０は、基準クロック、ＲＡＴＥ信号、及びＴＳ信号に基づいて、試験パターンデータを被試験メモリ１００に供給すべきタイミングの波形に整形する。【００２２】
ドライバ１５０は、波形整形器１４０により整形された試験パターンデータを、試験パターン信号として被試験メモリ１００へ供給する。コンパレータ１６０は、試験パターンに応じて被試験メモリ１００が出力する出力信号を予め定められた基準電圧と比較して、出力信号の論理値を得る。【００２３】
論理比較器１７０は、試験パターンに応じて被試験メモリ１００から読み出されたデータ列に含まれるデータのそれぞれを、パターン発生器１３０により予め生成された期待値と比較する。不良判定部１８０は、論理比較器１７０による比較結果に基づいて、被試験メモリ１００が不良であるか否かを判定する。【００２４】
図２は、本実施形態に係る被試験メモリ１００の記憶領域を示す。本実施形態に係る被試験メモリ１００の記憶領域は、複数のブロックに分割される。各ブロックは、例えば６４ＫＢのデータ記憶容量を有し、例えば３２個等の複数のページから構成される。本実施形態に係る被試験メモリ１００は、例えば２ＫＢ等のデータ記憶容量を有するページ単位でデータ列の読み書きを行う。より具体的には、被試験メモリ１００は、例えば８ビット等の複数のデータＩＯ端子を有し、これらの複数のデータＩＯ端子を介して１入出力サイクルあたり１ワード（例えば８ビット）のデータを転送する。そして、１回の読み出し又は書き込み処理において、ページ内の各ワードをカラム方向に順に転送することで、ページ単位で読み書きを行う。【００２５】
被試験メモリ１００内の記憶領域は、メインエリア２４０及びエキストラエリア２５０を含む。メインエリア２４０は、被試験メモリ１００が記憶すべきデータ２１０を記憶する領域である。エキストラエリア２５０は、データ２１０に生じたビット誤りを訂正するための誤り訂正符号２２０、及び、当該ページの使用禁止を示す情報等を記憶する領域である。また、被試験メモリ１００内の記憶領域は、誤りの訂正可能性の観点から、訂正可能領域２００及び訂正不可能領域２３０に分けられる。訂正可能領域２００は、本発明に係る第１の記憶領域の一例であり、データ２１０及び誤り訂正符号２２０を記憶することにより誤り訂正符号が付加されたデータ列を記憶する領域である。被試験メモリ１００を実際に使用する場合において被試験メモリ１００に接続されて被試験メモリ１００を制御するメモリコントローラは、訂正可能領域２００にビット誤りが生じても、誤り訂正符号２２０により訂正可能な範囲内で誤り訂正を行うことができる。一方、訂正不可能領域２３０は、本発明に係る第２の記憶領域の一例であり、誤り訂正符号が付加されないデータ列を記憶する領域である。メモリコントローラは、訂正不可能領域２３０にビット誤りが生じても訂正することができない。【００２６】
図３は、本実施形態に係る不良判定部１８０の構成を、コンパレータ１６０及び論理比較器１７０と共に示す。コンパレータ１６０は、被試験メモリ１００内の異なる記憶領域から読み出された複数のデータ列のそれぞれについて、当該データ列に含まれるデータのそれぞれを被試験メモリ１００のデータＩＯ端子から８ビット単位で順次入力し、各ビットから入力される電圧のそれぞれを論理値Ｈを示すしきい値電圧ＶＯＨ及び論理値Ｌを示すしきい値電圧ＶＯＬと比較する。そして、コンパレータ１６０は、ビット毎に、当該ビットが論理値Ｈである場合にＳＨ＝１、論理値Ｌである場合にＳＬ＝１を出力する。【００２７】
論理比較器１７０は、複数のデータ列のそれぞれについて、当該データ列に含まれるデータのそれぞれを期待値と順次比較する。本実施形態に係る論理比較器１７０は、１入出力サイクル毎に、１ワード（＝８ビット）分のデータと、１ワード分の期待値とをビット毎に比較し、一致するビットを０（パスを示す信号）、不一致のビットを１（フェイルを示す信号）とした比較結果をパス／フェイル信号として出力する。【００２８】
不良判定部１８０は、フェイルビット数算出部３００と、アンドゲート３１０と、データエラーカウント部３２０と、不良検出部３３０と、フェイル選択部３４０と、フェイルスタック３５０と、ＢＢＭ３６０と、ＡＦＭ３７０とを有する。フェイルビット数算出部３００は、１ワード分のパス／フェイル信号に含まれるフェイル信号の数、すなわち"１"の数を算出する。アンドゲート３１０は、パス／フェイル信号の各ビットと、フェイル信号の数を計測する期間を示すＩＮＣ信号との論理積をデータエラーカウント部３２０へ出力する。これにより、アンドゲート３１０は、フェイル信号の数を計測すべき期間中はフェイルビット数算出部３００により算出したフェイル信号の数をデータエラーカウント部３２０へ供給し、フェイル信号の数を計測しない期間中は値０をデータエラーカウント部３２０へ出力する。【００２９】
データエラーカウント部３２０は、データ列に含まれる各データのうち、期待値と一致しないデータビットの数をカウントする。すなわち、データエラーカウント部３２０は、それぞれのデータ列について、アンドゲート３１０から入力されたフェイル信号の数を、入出力サイクル毎に加算していく。ここで、データエラーカウント部３２０は、カウント可能なフェイル信号の数に制限があってもよい。この場合データエラーカウント部３２０は、カウントしたフェイル信号の数が当該制限の値に達した場合に、その後更なるカウントアップを止める。例えば、データエラーカウント部３２０は、期待値と一致しないデータビットの数を２ビットで記憶してもよく、カウントしたフェイル信号の数が３である場合に、当該カウンタへの値の加算を止めてもよい。そして、データエラーカウント部３２０は、カウント値が予め定められた１以上の上限数を超えた場合に出力を"１"として、その旨を不良検出部３３０へ通知する。また、データエラーカウント部３２０は、パターン発生器１３０からＣＬＲ信号が入力されると、カウント値を初期化、すなわちカウント値を０にする。【００３０】
不良検出部３３０は、論理比較器１７０が出力するパス／フェイル信号、パターン発生器１３０からのＩＮＣ信号、データエラーカウント部３２０の出力、及びパターン発生器１３０からのＬＤ信号を入力し、これらの信号に基づいて被試験メモリ１００の不良を検出する。不良検出部３３０は、オアゲート３３２、ゲート３３４、アンドゲート３３６、及びオアゲート３３８を含み、以下の条件に基づき被試験メモリ１００の不良を検出する。
【００３１】
（１）あるデータ列について、データエラーカウント部３２０のカウント値が予め定められた１以上の上限数を超えた場合に、被試験メモリ１００の不良を検出する。
より具体的には、データエラーカウント部３２０は、まず、それぞれのデータ列について、期待値と一致しないデータが検出される毎にカウント値をインクリメントしていく。次に、データエラーカウント部３２０は、カウント値が上限数を超えた場合に出力を"１"とする。次に、アンドゲート３３６は、データエラーカウント部３２０の当該出力とＬＤ信号との論理積を出力することで、パターン発生器１３０からの指示に基づきデータエラーカウント部３２０の出力をオアゲート３３８を介してフェイル選択部３４０へ供給する。これによりアンドゲート３３６及びオアゲート３３８は、データエラーカウント部３２０が"１"を出力している場合に、ＬＤ信号のタイミングで被試験メモリ１００の不良をフェイル選択部３４０へ通知することができる。【００３２】
ここで、この上限数は、誤り訂正符号２２０によりデータ列の誤りを訂正可能な範囲で設定される。当該上限値が誤り訂正符号によりデータ列の誤りを訂正可能な最大数に設定された場合において、不良検出部３３０は、データエラーカウント部３２０のカウント値が当該最大数を超え誤り訂正が不可能となった場合に、被試験メモリ１００の不良を検出する。例えば、当該誤り訂正符号が２ビット誤り検出、１ビット誤り訂正可能な符号であった場合、当該上限値が１に設定されると、不良検出部３３０は、２ビット以上の誤りを検出した場合に被試験メモリ１００の不良を検出する。【００３３】
（２）訂正不可能領域２３０から読み出されたデータ列については、当該データ列に含まれる少なくとも１つのデータが期待値と一致しない場合に被試験メモリ１００の不良を検出する。
訂正不可能領域２３０から読み出されたデータ列中のいずれかのデータについてフェイル信号を出力した場合、当該データは訂正できないことから、不良検出部３３０は、被試験メモリ１００の不良として検出する。より具体的には、オアゲート３３２は、論理比較器１７０が出力するパス／フェイル信号の論理和をとることにより、少なくとも１つのデータビットが期待値と不一致である場合にその旨を示す信号"１"を出力する。ゲート３３４は、オアゲート３３２の出力と、ＩＮＣ信号の否定との論理和を出力する。これにより、ゲート３３４は、ＩＮＣ信号が"０"である、誤り訂正できないデータの入出力サイクル中において、オアゲート３３２が"１"を出力した場合に、オアゲート３３８を介してフェイル選択部３４０に対し被試験メモリ１００の不良を通知する。【００３４】
フェイル選択部３４０は、入出力サイクル毎のパス／フェイル信号である通常フェイル信号と、被試験メモリ１００の不良をデータ列単位で通知するＥＣＣフェイル信号とを入力する。フェイル選択部３４０は、フェイルスタック選択部３４２、ＢＢＭ選択部３４４、及びＡＦＭ選択部３４６を含む。フェイルスタック選択部３４２は、被試験メモリ１００の不良を検出したか否かを被試験メモリ１００単位で記憶するフェイルスタック３５０に対し、通常フェイル信号及びＥＣＣフェイル信号のいずれに基づく不良を記憶させるかを選択する。通常フェイル信号に基づく不良を記憶させる場合、フェイルスタック３５０は、少なくとも１つのデータが期待値と不一致であれば、被試験メモリ１００が不良である旨を記憶する。一方、ＥＣＣフェイル信号に基づく不良を記憶させる場合、誤り訂正可能なデータ列については、フェイルスタック３５０は、当該データ列に含まれる上限値を超えるデータが期待値と不一致である場合に、被試験メモリ１００が不良である旨を記憶する。【００３５】
ＢＢＭ選択部３４４は、不良が検出されたブロックの番号を記憶するＢＢＭ３６０（Ｂａｄ  Ｂｌｏｃｋ  Ｍｅｍｏｒｙ）に対し、通常フェイル信号及びＥＣＣフェイル信号のいずれに基づく不良を記憶させるかを選択する。通常フェイル信号に基づく不良を記憶させる場合、ＢＢＭ３６０は、あるブロックに含まれるデータ列中の少なくとも１つのデータが期待値と不一致であれば、当該ブロックに関して被試験メモリ１００が不良である旨を記憶する。一方、ＥＣＣフェイル信号に基づく不良を記憶させる場合、あるブロック中に含まれる誤り訂正可能なデータ列については、ＢＢＭ３６０は、当該データ列に含まれる上限値を超えるデータが期待値と不一致である場合に、当該ブロックに関して被試験メモリ１００が不良である旨を記憶する。【００３６】
ＡＦＭ選択部３４６は、フェイル信号をアドレス毎に記憶するＡＦＭ３７０（Ａｄｄｒｅｓｓ  Ｆａｉｌｕｒｅ  Ｍｅｍｏｒｙ）に対し、通常フェイル信号及びＥＣＣフェイル信号のいずれに基づく不良を記憶させるかを選択する。通常フェイル信号に基づく不良を記憶させる場合、ＡＦＭ３７０は、被試験メモリ１００が出力したデータと期待値とが不一致である旨を、当該データに対応するアドレスに記憶する。【００３７】
以上の選択は、試験装置１０の利用者等により予め行われる。より具体的には、誤り訂正の可否に基づいて被試験メモリ１００の不良を検出する場合、フェイルスタック選択部３４２及びＢＢＭ選択部３４４は、ＥＣＣフェイル信号に基づき不良をフェイルスタック３５０及びＢＢＭ３６０に記憶させるように選択され、ＡＦＭ選択部３４６は、通常フェイル信号に基づき不良をＡＦＭ３７０に記憶させるように選択される。【００３８】
図４は、本実施形態に係る試験装置１０の動作タイミングを示す。試験処理部１１０は、被試験メモリ１００の各ページに試験用のデータを書き込む。そして、試験処理部１１０は、書き込んだデータを各ページから読み出し、期待値と比較する。図４は、あるページへ書き込んだデータを被試験メモリ１００から読み出して、期待値と比較する部分の動作タイミングを示す。【００３９】
まず、パターン発生器１３０は、新たにデータ列を読み出して期待値と比較するのに先立って、ＣＬＲ信号を"１"としデータエラーカウント部３２０のカウント値を初期化する（サイクル０）。次に、試験処理部１１０は、試験パターンデータに基づいてメモリリードコマンドを被試験メモリ１００へ供給する（サイクル１から７）。より具体的には、試験処理部１１０は、サイクル１でコマンド、サイクル２から３でカラムアドレス、サイクル４から６でページアドレスを供給し、被試験メモリ１００のリード処理を開始させる。【００４０】
次に、被試験メモリ１００は、メモリリードコマンドに対応して、指定されたページに記憶されたデータ列に含まれるデータを、１ワードずつ順次出力する（サイクルｘからｘ＋２１１２）。ここで、被試験メモリ１００は、サイクルｘからｘ＋２０４７の間に訂正可能領域２００内のデータ２１０を出力し、サイクルｘ＋２０４８から２０５０の間に訂正可能領域２００内の誤り訂正符号２２０を出力する。これらのデータは誤り訂正符号により訂正可能であるから、パターン発生器１３０は、ＩＮＣ信号を"１"とする。これにより、不良検出部３３０は、オアゲート３３２及びゲート３３４による単一ビット誤りの通知を禁止する。また、アンドゲート３１０及びデータエラーカウント部３２０は、フェイルビット数のカウントを開始する。この結果、不良検出部３３０は、訂正可能領域２００から読み出されたデータ列について、カウント値が上限数を超えた場合に被試験メモリ１００の不良を検出することができる。【００４１】
次に被試験メモリ１００は、サイクルｘ＋２０５１からｘ＋２１１２の間、訂正不可能領域２３０内のデータを出力する。これらのデータは訂正不可能であるから、パターン発生器１３０は、ＩＮＣ信号を"０"とする。これにより、不良検出部３３０は、オアゲート３３２及びゲート３３４による単一ビット誤りの通知を許可する。また、アンドゲート３１０及びデータエラーカウント部３２０は、フェイルビット数のカウントを停止する。この結果、不良検出部３３０は、訂正不可能領域２３０から読み出されたデータ列について、当該データ列に含まれる少なくとも１つのデータが期待値と一致しない場合に被試験メモリ１００の不良を検出することができる。【００４２】
次に、データ列と期待値データ列との比較を終えると、パターン発生器１３０は、ＬＤ信号を"１"とする。これを受けて、不良検出部３３０は、データエラーカウント部３２０の出力をオアゲート３３８を介してフェイル選択部３４０へ供給する。これにより不良検出部３３０は、被試験メモリ１００から読み出したデータ列について、期待値と不一致のデータの数が上限数を超えた場合に、被試験メモリ１００が不良であることをフェイル選択部３４０へ通知することができる。【００４３】
以上の処理により、試験装置１０は、被試験メモリ１００に書き込まれたデータ列を読み出し、当該データ列について被試験メモリ１００の不良を検出することができる。そして、試験処理部１１０は、あるデータ列についての不良の検出が完了した場合に、ＣＬＲ信号を"１"とすることによりデータエラーカウント部３２０内のカウント値を初期化する。そして、パターン発生器１３０は、次のデータ列についての期待値との比較を論理比較器１７０に開始させる。【００４４】
以上に示した試験装置１０によれば、訂正可能領域２００に記憶されるデータ列については誤り訂正可能な範囲でデータ及び期待値の不一致を許容する。一方、訂正不可能領域２３０に記憶されるデータ列については、少なくとも１つのフェイルを検出した場合に被試験メモリ１００の不良を検出する。これにより試験装置１０は、被試験メモリ１００の誤り訂正能力に応じて適切に被試験メモリ１００の不良を検出することができる。【００４５】
図５は、本実施形態の第１変形例に係る不良判定部１８０の構成の一部を論理比較器１７０と共に示す。本変形例に係る不良判定部１８０は、データ値０又は１のうち、いずれか一方のデータ値を誤った場合に限り誤り訂正可能な範囲内でフェイルを許可する。【００４６】
第１変形例に係る不良判定部１８０は、図３に示したフェイルビット数算出部３００、アンドゲート３１０、データエラーカウント部３２０、不良検出部３３０、フェイル選択部３４０、フェイルスタック３５０、ＢＢＭ３６０、及びＡＦＭ３７０に加え、図５に示した期待値選択イネーブルレジスタ５００、期待値選択レジスタ５１０、オアゲート５２０、アンドゲート５３０、排他的否定論理和ゲート５４０、及びゲート５５０を含む。図５において図３と同一の符号を付した部材は、以下の点を除き図３と同様の機能及び構成をとるため、以下相違点を除き説明を省略する。【００４７】
期待値選択イネーブルレジスタ５００は、パターン発生器１３０からの入力に基づいて、いずれか一方のデータ値についてのみ訂正可能な範囲内でフェイルを許可することを示すイネーブル信号を記憶する。期待値選択レジスタ５１０は、パターン発生器１３０からの入力に基づいて、訂正可能な範囲内でフェイルを許可する予め定められたデータ値を記憶する。排他的否定論理和ゲート５４０は、期待値選択レジスタ５１０に記憶されたデータ値と、論理比較器１７０に入力される期待値との排他的否定論理和を出力する。オアゲート５２０は、期待値選択イネーブルレジスタ５００に記憶されたイネーブル信号の否定と、排他的否定論理和ゲート５４０の出力との論理和を出力する。アンドゲート５３０は、フェイルビット数算出部３００が出力するフェイルビット数の各ビットと、オアゲート５２０の出力とをビット毎に論理積をとる。ゲート５５０は、オアゲート５２０の出力及びＩＮＣ信号の論理積をとり、ゲート３３４の否定入力に供給する。【００４８】
期待値選択イネーブルレジスタ５００に記憶されたイネーブル信号が"０"の場合、期待値選択イネーブルレジスタ５００の出力は"１"となり、オアゲート５２０の出力は排他的否定論理和ゲート５４０の出力に関わらず"１"となる。したがって、ゲート５５０はＩＮＣ信号をゲート３３４の否定入力に入力し、アンドゲート５３０はフェイルビット数算出部３００の出力をアンドゲート３１０へ入力する。これにより、第１変形例に係る不良判定部１８０は、図３と等価な論理となり、図３に示した不良判定部１８０と同様の動作を行う。【００４９】
一方、期待値選択イネーブルレジスタ５００に記憶されたイネーブル信号が"１"の場合、期待値選択イネーブルレジスタ５００の出力は"０"となる。この結果、オアゲート５２０は、排他的否定論理和ゲート５４０の出力をゲート５５０及びアンドゲート５３０へ供給する。ここで、排他的否定論理和ゲート５４０は、期待値選択レジスタ５１０に記憶されたデータ値が、パターン発生器１３０から供給される期待値と一致する場合に、一致を示す信号"１"を出力する。この場合、ゲート５５０はＩＮＣ信号をゲート３３４の否定入力に入力し、アンドゲート５３０はフェイルビット数算出部３００の出力をアンドゲート３１０へ入力する。これにより、不良検出部３３０は、データ列に含まれる、期待値と一致しないデータの全てが期待値選択レジスタ５１０に記憶されたデータ値をとることを条件として、データエラーカウント部３２０のカウント値が上限数を超えた場合に被試験メモリ１００の不良を検出することができる。換言すれば、データ列に含まれるデータが期待値と一致しない場合においても、不良検出部３３０は、当該データが期待値選択レジスタ５１０に記憶されたデータ値である場合にはデータエラーカウント部３２０のカウント値が上限数を超えるまでは被試験メモリ１００の不良を検出せず、フェイルを許容できる。【００５０】
一方、排他的否定論理和ゲート５４０は、期待値選択レジスタ５１０に記憶されたデータ値が、パターン発生器１３０から供給される期待値と一致しない場合に、一致しないことを示す信号"０"を出力する。この場合、ゲート５５０は信号"０"をゲート３３４の否定入力に入力し、アンドゲート５３０はビット数０をアンドゲート３１０へ入力する。これにより、ＩＮＣ信号が"１"であってもオアゲート３３２及びゲート３３４によるフェイル検出が有効となる。したがって、不良検出部３３０は、データ列に含まれる、期待値選択レジスタ５１０に記憶されたデータ値でない少なくとも１つのデータが期待値と一致しない場合に、被試験メモリ１００の不良を検出することができる。換言すれば、不良検出部３３０は、データ列に含まれるデータが期待値と一致しない場合において、当該データが期待値選択レジスタ５１０に記憶されたデータ値でない場合には、フェイルを許容せず直ちに被試験メモリ１００の不良を検出できる。【００５１】
以上に示した第１変形例に係る不良判定部１８０によれば、データ値"０"及び"１"のうち、期待値が予め定められたデータ値である場合にのみ、誤り訂正符号により訂正可能な範囲内でフェイルを許可することができる。ここで、フラッシュメモリにおいては、プログラムディスターブモードにより記憶対象でない他の記憶セルに電子が誤注入される結果、当該記憶セルの記憶状態が"１"から"０"に変化してしまう。このような不良は一時的なものであり、誤り訂正により訂正可能できれば問題は生じない。本変形例に係る不良判定部１８０によれば、試験装置１０の利用者は、期待値選択イネーブルレジスタ５００にイネーブル信号"１"を設定し、期待値選択レジスタ５１０にデータ値"１"を設定することにより、記憶状態が"１"から"０"に変化した場合に訂正可能な範囲内でフェイルを許可することができる。【００５２】
一方、期待値"０"に対して"１"が出力される場合は、プログラムディスターブモードが原因でなく、記憶セルの固定不良であると推定される。本変形例に係る不良判定部１８０によれば、期待値選択イネーブルレジスタ５００にイネーブル信号"１"を設定し、期待値選択レジスタ５１０にデータ値"１"を設定することにより、記憶状態が"１"から"０"に変化した場合については訂正可能な範囲内でフェイルを許可しつつ、少なくとも１つのデータの記憶状態が"０"から"１"に変化した場合には即座に被試験メモリ１００の不良を検出することができる。【００５３】
図６は、本実施形態の第２変形例に係る不良判定部１８０の構成の一部をパターン発生器１３０と共に示す。本変形例に係る不良判定部１８０は、同一の記憶領域に対するデータ列の読み書きにおいて少なくとも１つのデータビットにエラーを検出した回数を記憶しておき、当該回数が上限値を超える場合には誤り訂正可能であっても被試験メモリ１００の不良を検出する。【００５４】
第２変形例に係る不良判定部１８０は、図３に示したフェイル選択部３４０、フェイルスタック３５０、ＢＢＭ３６０、及びＡＦＭ３７０に加え、図６に示した記憶領域エラーカウント部６００、オアゲート６６０、フェイルビット数算出部３００、アンドゲート３１０、データエラーカウント部３２０、及び不良検出部３３０を含む。図６において図３と同一の符号を付した部材は、以下の点を除き図３と同様の機能及び構成をとるため、以下相違点を除き説明を省略する。
【００５５】
記憶領域エラーカウント部６００は、被試験メモリ１００の記憶領域毎に、当該記憶領域から読み出されたデータ列に含まれるデータが期待値と一致しなかった回数をカウントする。本実施形態に係る記憶領域エラーカウント部６００は、被試験メモリ１００のページ毎に、当該ページ内の訂正可能領域２００から読み出されたデータ列についてのフェイル回数をカウントする。【００５６】
記憶領域エラーカウント部６００は、フェイルログメモリ６１０と、アドレス選択器６２０と、加算器６３０と、領域エラー上限値記憶部６４０と、比較器６５０とを含む。フェイルログメモリ６１０は、被試験メモリ１００のページ毎に、当該ページ内の訂正可能領域２００から読み出されたデータ列についてのフェイル回数を記憶する。このフェイル回数は、当該データ列中のデータと期待値とが一致しなかった回数（ビット数）である。アドレス選択器６２０は、被試験メモリ１００に対して発行したリードコマンドのアドレスをパターン発生器１３０から受け取り、被試験メモリ１００から読み出されたページに対応するフェイルログメモリ６１０のアドレスをフェイルログメモリ６１０に供給する。これによりアドレス選択器６２０は、フェイルログメモリ６１０に対し、当該ページに対応するアドレスのデータ、すなわち当該ページに対応するフェイル回数を選択して出力するように指示する。【００５７】
加算器６３０は、アドレス選択器６２０により指定されたアドレスに対応してフェイルログメモリ６１０が出力するデータとアンドゲート３１０の出力とを加算し、当該データを加算結果の値に更新する。これにより加算器６３０は、被試験メモリ１００から１ワード分のデータが入力される度に、期待値と不一致のデータの数を、当該データが含まれるデータ列に対応するフェイルログメモリ６１０内のフェイル回数に加算する。【００５８】
領域エラー上限値記憶部６４０は、ページ毎に許容されるフェイル回数の上限値である領域エラー上限値をパターン発生器１３０から受け取って記憶する。比較器６５０は、被試験メモリ１００から読み出されたページに対応してフェイルログメモリ６１０に記憶されたフェイル回数が、領域エラー上限値記憶部６４０に記憶された領域エラー上限値を超える場合に、その旨を示す信号"１"を出力する。【００５９】
オアゲート６６０は、オアゲート３３２と同様にして論理比較器１７０が出力するパス／フェイル信号の論理和をとる。これによりオアゲート６６０は、少なくとも１つのデータビットが期待値と不一致である場合にその旨を示す信号"１"を出力する。アンドゲート３３９は、比較器６５０の出力及びオアゲート６６０の出力の論理積を出力する。これによりアンドゲート３３９は、領域エラー上限値を超えるフェイル回数がカウントされたページについては、少なくとも１つのデータが期待値と不一致であった場合に被試験メモリ１００の不良として検出し、オアゲート３３８を介してフェイル選択部３４０へ通知する。【００６０】
以上に示した不良判定部１８０によれば、不良検出部３３０は、データ列の読み出し元の記憶領域に対応して記憶領域エラーカウント部６００にカウントされたカウント値が予め定められた領域エラー上限値より大きい場合において、当該データ列に含まれる少なくとも１つのデータが期待値と一致しない場合に被試験メモリ１００の不良を検出する。一方、不良検出部３３０は、当該カウント値が領域エラー上限値以下の場合においては、データエラーカウント部３２０のカウント値が上限数を超えた場合に被試験メモリ１００の不良を検出する。これにより不良判定部１８０は、フェイル回数が多く固定的な障害が存在する可能性の高いページについては、訂正の可否に関わらず不良として検出することができる。【００６１】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、請求の範囲の記載から明らかである。【００６２】
例えば、不良判定部１８０は、図５に関連して示した機能と、図６に関連して示した機能とを併せて備えてもよい。これにより不良判定部１８０は、フラッシュメモリにおいて記憶状態"１"のデータを"０"に誤った場合であっても、当該ビット誤りが頻発する場合には、領域エラー上限値を超えるフェイル回数をカウントする。したがって、記憶状態"１"のデータを"０"に誤る固定的な不良を適切に検出することができる。
【産業上の利用可能性】
【００６３】
本発明によれば、誤り訂正可能なエラーを検出した場合には被試験メモリを不良と判定しない試験装置を提供することができる。
【図１】
0004585520.tif 000002
【図２】
0004585520.tif 000003
【図３】
0004585520.tif 000004
【図４】
0004585520.tif 000005
【図５】
0004585520.tif 000006
【図６】
0004585520.tif 000007