(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023181864
(43)【公開日】2023-12-25
(54)【発明の名称】試験システム、試験方法、及び試験プログラム
(51)【国際特許分類】
G01R 31/3183 20060101AFI20231218BHJP
G01R 31/28 20060101ALI20231218BHJP
G01R 31/26 20200101ALI20231218BHJP
【FI】
G01R31/3183
G01R31/28 B
G01R31/26 G
【審査請求】未請求
【請求項の数】18
【出願形態】OL
(21)【出願番号】P 2022095234
(22)【出願日】2022-06-13
(71)【出願人】
【識別番号】318010018
【氏名又は名称】キオクシア株式会社
(74)【代理人】
【識別番号】100083806
【弁理士】
【氏名又は名称】三好 秀和
(74)【代理人】
【識別番号】100101247
【弁理士】
【氏名又は名称】高橋 俊一
(74)【代理人】
【識別番号】100095500
【弁理士】
【氏名又は名称】伊藤 正和
(74)【代理人】
【識別番号】100098327
【弁理士】
【氏名又は名称】高松 俊雄
(72)【発明者】
【氏名】中原 和彦
【テーマコード(参考)】
2G003
2G132
【Fターム(参考)】
2G003AA08
2G003AC01
2G003AF02
2G003AH01
2G003AH04
2G132AA08
2G132AB02
2G132AB03
2G132AG02
2G132AL06
2G132AL09
2G132AL25
(57)【要約】
【課題】試験に要するコストを削減することができると共に、試験時間を短縮することができる試験システム、試験方法、及び試験プログラムを提供する。
【解決手段】実施の形態によれば、試験システムは、第1試験ボードと、テスト実行可能な集積回路と、第1測定装置とを備える。第1試験ボードには試験対象デバイスが実装される。テスト実行可能な集積回路は、第1試験ボードに実装され、試験対象デバイスに予め記憶されたファームウェアを読み出すと共に試験対象デバイスの試験を実施する。第1測定装置は、試験対象デバイスの試験開始指示をテスト実行可能な集積回路に与える。
【選択図】
図1
【特許請求の範囲】
【請求項1】
試験対象デバイスが実装される第1試験ボードと、
前記第1試験ボードに実装され、前記試験対象デバイスに予め記憶されたファームウェアを読み出すと共に前記試験対象デバイスの試験を実施するテスト実行可能な集積回路と、
前記試験対象デバイスの試験開始指示を前記テスト実行可能な集積回路に与える第1測定装置と、
を備える、試験システム。
【請求項2】
前記試験対象デバイスが実装される第2試験ボードと、
前記試験対象デバイスに接続され、前記試験対象デバイスに予め前記ファームウェアを書き込む第2測定装置と
を更に備える、請求項1に記載の試験システム。
【請求項3】
前記試験対象デバイスを前記第1試験ボードに配置された試験ソケットに挿抜する挿抜装置を更に備える、請求項1に記載の試験システム。
【請求項4】
前記テスト実行可能な集積回路は、前記試験の結果を前記試験対象デバイスに書き込む、請求項1に記載の試験システム。
【請求項5】
前記テスト実行可能な集積回路は、前記試験の終了を前記第1測定装置に報告する、請求項1に記載の試験システム。
【請求項6】
前記テスト実行可能な集積回路は、前記試験対象デバイスに対応して前記第1試験ボードに実装される、請求項1に記載の試験システム。
【請求項7】
前記ファームウェアには、前記試験の条件が含まれる、請求項1に記載の試験システム。
【請求項8】
前記試験対象デバイスの試験結果に基づき、前記試験対象デバイスの良否を判定する制御装置を更に備える、請求項1に記載の試験システム。
【請求項9】
第2試験ボード上に試験対象デバイスを実装するステップと、
前記試験対象デバイスに接続された第2測定装置を用いて、前記試験対象デバイスに予めファームウェアを書き込むステップと
を含む、試験方法。
【請求項10】
テスト実行可能な集積回路を実装した第1試験ボード上に試験対象デバイスを実装するステップと、
前記テスト実行可能な集積回路により、前記試験対象デバイスに予め記憶されたファームウェアを読み出すステップと、
第1測定装置により、前記試験対象デバイスの試験開始指示を前記テスト実行可能な集積回路に指示するステップと、
前記テスト実行可能な集積回路により、前記試験対象デバイスの試験を実施するステップと、
前記テスト実行可能な集積回路により、前記試験対象デバイスに試験結果を書き込むステップと
を含む、試験方法。
【請求項11】
前記テスト実行可能な集積回路により、前記試験の結果を前記試験対象デバイスに書き込むステップ
を更に含む、請求項10に記載の試験方法。
【請求項12】
前記テスト実行可能な集積回路により、前記試験の終了を前記第1測定装置に報告するステップ
を更に含む、請求項10に記載の試験方法。
【請求項13】
制御装置により、前記試験対象デバイスの試験結果に基づき、前記試験対象デバイスの良否を判定するステップ
を更に含む、請求項10に記載の試験方法。
【請求項14】
試験対象デバイスに対する試験を実施する試験システムに用いられる、コンピュータにより実行可能な試験プログラムであって、
第2試験ボード上に前記試験対象デバイスを実装するステップと、
前記試験対象デバイスに接続された第2測定装置を用いて、前記試験対象デバイスに予めファームウェアを書き込むステップと
を前記コンピュータに実行させる、試験プログラム。
【請求項15】
試験対象デバイスに対する試験を実施する試験システムに用いられる、コンピュータにより実行可能な試験プログラムであって、
テスト実行可能な集積回路を実装した第1試験ボード上に前記試験対象デバイスを実装するステップと、
前記テスト実行可能な集積回路により、前記試験対象デバイスに予め記憶されたファームウェアを読み出すステップと、
第1測定装置により、前記試験対象デバイスの試験開始指示を前記テスト実行可能な集積回路に指示するステップと、
前記テスト実行可能な集積回路により、前記試験対象デバイスの前記試験を実施するステップと、
前記テスト実行可能な集積回路により、前記試験対象デバイスに試験結果を書き込むステップと
を前記コンピュータに実行させる、試験プログラム。
【請求項16】
前記テスト実行可能な集積回路により、前記試験の結果を前記試験対象デバイスに書き込むステップ
を更に前記コンピュータに実行させる、請求項15に記載の試験プログラム。
【請求項17】
前記テスト実行可能な集積回路により、前記試験の終了を前記第1測定装置に報告するステップ
を更に前記コンピュータに実行させる、請求項15に記載の試験プログラム。
【請求項18】
制御装置により、前記試験対象デバイスの試験結果に基づき、前記試験対象デバイスの良否を判定するステップ
を更に前記コンピュータに実行させる、請求項15に記載の試験プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、試験システム、試験方法、及び試験プログラムに関する。
【背景技術】
【0002】
半導体記憶装置などの半導体装置においては、市場に出荷する前に様々な試験条件下で多方面からデバイスを評価し、市場不良が出ないように努めている。例えば、初期不良の発生を抑制するバーンイン試験や製品の信頼性を確認する信頼性試験などが行われる。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2021-043060号公報
【特許文献2】特表2014-503083号公報
【特許文献3】特許第5235202号公報
【特許文献4】特許第4124345公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
本発明の一実施形態は、試験に要するコストを削減することができると共に、試験時間を短縮することができる試験システム、試験方法、及び試験プログラムを提供する。
【課題を解決するための手段】
【0005】
実施の形態に係る試験システムは、第1試験ボードと、テスト実行可能な集積回路と、第1測定装置とを備える。第1試験ボードには試験対象デバイスが実装される。テスト実行可能な集積回路は、第1試験ボードに実装され、試験対象デバイスに予め記憶されたファームウェアを読み出すと共に試験対象デバイスの試験を実施する。第1測定装置は、試験対象デバイスの試験開始指示をテスト実行可能な集積回路に与える。
【図面の簡単な説明】
【0006】
【
図1】実施の形態に係る試験システムの概略構成例を模式的に示すブロック図。
【
図2】実施の形態に係る試験システムに用いる第1試験ボードのレイアウト例を示すブロック図。
【
図3】実施の形態に係る試験システムに用いる第2試験ボードのレイアウト例を示すブロック図。
【
図4】試験対象デバイスを搭載した第1試験ボードの一例を示す側面図。
【
図5】試験対象デバイスを搭載した第2試験ボードの一例を示す側面図。
【
図6A】試験対象デバイスの概略構成の一例を模式的に示すブロック図。
【
図6B】試験対象デバイスの概略構成の別の例を模式的に示すブロック図。
【
図7】実施の形態に係る試験システムに用いる第1テスタの内部構成の一例を模式的に示すブロック図。
【
図8】実施の形態に係る試験システムに用いる第2テスタの内部構成の一例を模式的に示すブロック図。
【
図9】実施の形態に係る試験システムに用いる制御装置の内部構成の一例を模式的に示すブロック図。
【
図10】実施の形態に係る試験システムに用いるテスト実行可能な集積回路の内部構成の一例を模式的に示すブロック図。
【
図11】実施の形態に係る試験システムに用いるファームウェアの構成例を示す模式図。
【
図12】ファームウェアを試験対象デバイスに書き込む処理の一例を示す模式図。
【
図13】試験対象デバイスのファームウェアライブラリの一例を模式的に示すブロック図。
【
図14】ファームウェアを試験対象デバイスに書き込む処理の動作例を示すフローチャート。
【
図15】第1試験ボード上の試験対象デバイスの試験を実行する処理の動作例を示す模式図。
【
図16】第1試験ボード上の試験対象デバイスの試験を実行する処理の動作例を示すフローチャート。
【
図17】第1試験ボード上の試験対象デバイスの試験を実行する処理の別の動作例を示すフローチャート。
【
図18】テスト実行可能な集積回路毎に異なる試験を並行して実行する処理の一例を示す模式図。
【
図19】テスト実行可能な集積回路毎に異なる試験を並行して実行する処理の一例を示すタイミングチャート。
【
図20】テスト実行可能な集積回路毎に異なる試験を並行して実行する処理の別の例を示すタイミングチャート。
【発明を実施するための形態】
【0007】
次に、図面を参照して、実施の形態について説明する。以下に説明する明細書又は図面の記載において、同様の構成要素には同一の符号を付して説明を省略する。図面は模式的なものである。また、以下に示す実施の形態は、技術的思想を具体化するための装置や方法を例示するものである。実施の形態は、特許請求の範囲において、種々の変更を加えることができる。
【0008】
(試験システム)
半導体メモリ装置などの試験対象デバイス(DUT:Device Under Test)の試験を実行するための測定装置(以降テスタともいう)には、一般に、バーンイン試験専用テスタと一般的な汎用メモリテスタとがある。本実施形態では、バーンイン試験専用テスタを第1テスタと称し、汎用メモリテスタを第2テスタと称する。
【0009】
半導体メモリ装置の試験には、例えば、ACテスト、DCテスト、ファンクショナルテスト(機能テスト)などがある。ACテストは、例えば、信号伝搬遅延時間などのAC(交流)項目のテストである。DCテストは、例えば、電圧値や電流値などのDC(直流)項目のテストである。ファンクショナルテストは、例えば、半導体メモリ装置に作り込まれた論理機能が仕様どおりに正しく動作することを確認するテストである。DCテスト、ACテスト、ファンクショナルテストのうち、ファンクショナルテストが、最もテスト項目が多く、そのため試験に要する時間も長い。
【0010】
第2テスタでは、DCテスト、ACテスト、ファンクショナルテストなど、各種試験を汎用的に実施できるものの、測定装置自体が高価であるため、その分、試験に要するコストも高くなる。
【0011】
一方、第1テスタは、第2テスタに比べるとコストを抑えることができるが、機能及び性能に劣る傾向があり、第1テスタ上でのファンクショナルテストの実行は一部テスト項目に限定される。一般的な半導体メモリ装置(NANDフラッシュメモリ)においては、第1テスタのみで十分なファンクショナルテストが実施できないため、汎用的な第2テスタを併用し、テスタ本体の機能を用いて試験実行を実現している。この問題を解決するために、例えば半導体メモリ装置内部にASIC(Application-Specific Integrated Circuit:特定用途向け集積回路)を搭載した一部製品においては、第1テスタと半導体メモリ装置内のASIC、ASICを動作させるためのファームウェアを組み合わることで低コストの試験実行が試みられている。この場合、ファームウェアを試験対象となる半導体メモリ装置にどのように格納するかという新たな別の問題が生じる。
【0012】
ASICを動作させるためのファームウェアは、配線基板等を介して試験対象デバイスとASICとを互いに接続した状態で書き込む必要がある。そのため、ファームウェアの書き込み時にASICが外部(例えば第1テスタ)と通信するための専用配線を設ける必要があるが、多数のASICを用いて同時並列的に試験を行う場合、ASICとの通信に必要な信号配線の数も膨大となり、テスタの大型化・高価格化によるコストの増加や、通信速度の低下による試験効率悪化などの問題もあった。
【0013】
ASICを動作させるためのファームウェアは、第1テスタからホストバス経由でASIC上のRAMに直接書き込む方法(経路1)と、第1テスタからホストバス配線経由でASICを介して更にメモリバス配線経由で半導体メモリ装置に書き込む方法(経路2)とのうちのいずれかの方法で行う。経路1、経路2のいずれの場合においても、すべての試験対象デバイスと第1テスタとの間をホストバス配線によって接続する必要があり、ホストバス配線の数が多くなる。また、ホストバスの規格によっては、高速伝送が必要なため、第1テスタとその配線経路についても、高速伝送可能な設計や仕様が必要である。
【0014】
(実施の形態における試験システム)
実施の形態における試験システムは、ASICなどのテスト実行可能な集積回路とテスト実行可能な集積回路を動作させるためのファームウェアとを用いて、半導体メモリなどの試験対象デバイスの試験を行うシステムである。実施の形態における試験システムは、試験対象デバイスに予めファームウェアを記録しておき、テスト実行可能な集積回路を搭載した専用の試験ボードを組み合わせることで、試験に要するコストや時間を低減した試験を実現する。
【0015】
図1は、実施の形態に係る試験システムの概略構成例を模式的に示している。実施の形態に係る試験システムは、
図1に示すように、試験対象デバイス10が実装される第1試験ボード400と、第1試験ボード400に実装され、試験対象デバイス10に予め記憶されたファームウェア(試験プログラム)を読み出すと共に試験対象デバイス10の試験を実施するテスト実行可能な集積回路(ASIC)700と、試験対象デバイス10の試験開始指示をテスト実行可能な集積回路(ASIC)700に与える第1測定装置(第1テスタ)300とを備える。
【0016】
第1テスタ300は、ASIC700に対して、試験開始指示を与えるだけで、試験対象デバイス10の試験を実施するのは、第1テスタ300からの指示を受けたASIC700である。
【0017】
ASIC700は、試験対象デバイス10の試験を実施し、試験結果を試験対象デバイス10に書き込むと共に、試験が終了した旨を第1テスタ300に報告する。
【0018】
また、実施の形態に係る試験システムは、試験対象デバイス10が実装される第2試験ボード600と、試験対象デバイス10に接続され、試験対象デバイス10に予めファームウェア(試験プログラム)を書き込む第2測定装置(第2テスタ)500とを備える。
【0019】
また、テスト実行可能な集積回路700は、試験対象デバイス10に対応して第1試験ボード400に実装される。すなわち、1つの試験対象デバイス10につき、1つのテスト実行可能な集積回路700が第1試験ボード400に実装される。また、複数の試験対象デバイス10に対して1つのテスト実行可能な集積回路700を第1試験ボード400に実装することも可能である。
【0020】
また、ファームウェア(試験プログラム)には、試験対象デバイス10に対して実施される試験の条件が含まれる。
【0021】
また、実施の形態に係る試験システムは、試験対象デバイス10を第1試験ボード400に配置された試験ソケット410、あるいは第2試験ボード600に配置された試験ソケット610に挿抜する挿抜装置12を更に備える。
【0022】
また、実施の形態に係る試験システムは、第1テスタ300、第1試験ボード400、第2テスタ500、第2試験ボード600、挿抜装置12などを制御する制御装置800を更に備える。制御装置800は、試験対象デバイス10の良否を判定する良否判定部(
図9に示す良否判定部803)を備える。良否判定部は、制御装置800に限らず、例えば、第1テスタ300内に備えても良いし、図示しない外部の装置等に備えても良い。
【0023】
実施の形態に係る試験システムによる試験方法は、第2試験ボード600上に試験対象デバイス10を実装するステップと、試験対象デバイス10に接続された第2測定装置(第2テスタ)500を用いて、試験対象デバイス10に予めファームウェア(試験プログラム)を書き込むステップとを含むことができる。
【0024】
また、実施の形態に係る試験システムによる試験方法は、テスト実行可能な集積回路(ASIC)700を実装した第1試験ボード400上に試験対象デバイス10を実装するステップと、テスト実行可能な集積回路(ASIC)700により、試験対象デバイス10に予め記憶されたファームウェア(試験プログラム)を読み出すステップと、第1測定装置(第1テスタ)300により、試験対象デバイス10の試験開始指示をテスト実行可能な集積回路(ASIC)700に指示するステップと、テスト実行可能な集積回路(ASIC)700により、試験対象デバイス10の試験を実施するステップと、テスト実行可能な集積回路700により、試験対象デバイス10に試験結果を書き込むステップとを含む。更に、テスト実行可能な集積回路(ASIC)700により、試験対象デバイス10の試験が終了した旨を第1テスタ300に報告するステップを含むこともできる。
【0025】
また、実施の形態に係る試験システムによる試験方法は、制御装置800の良否判定部803により、試験対象デバイスの試験結果に基づき試験対象デバイス10の良否を判定するステップを含むこともできる。
【0026】
尚、本試験方法の処理動作を、コンピュータに実行させる命令として、コンピュータプログラムに記述することもできる。
【0027】
(試験システムの構成例)
図1に示すように、実施の形態に係る試験システムは、第1テスタ300と、第1テスタ300に接続される第1試験ボード400と、第2テスタ500と、第2テスタ500に接続される第2試験ボード600と、第1試験ボード400あるいは第2試験ボード600上のソケットに試験対象デバイス10を挿抜する挿抜装置12と、各部を制御する制御装置800とを備える。
【0028】
第1試験ボード400上には、試験ソケット410と、試験ソケット410に対応してASIC700とが搭載されている。試験ソケット410には、試験対象デバイス10の試験実施時に、半導体メモリ装置などの試験対象デバイス10が挿入される。試験ソケット410とASIC700とのペアは、第1試験ボード400上に複数個搭載することができる。また、
図2に示すように、試験ソケット410とASIC700とのペアを2次元的に配置することもできる。
図2に示す例では、2行×3列に配置されているが、行数や列数はこれに限定されず、n行×m列のマトリックス状の配置(n、mは、1以上の整数)とすることもできる。また、
図4に示すように、ASIC700は、半田層などの接合層425を介して第1試験ボード400上に搭載されている。試験対象デバイス10は、接続ピンなどの接続部415を介して試験ソケット410に挿入される。
【0029】
第2試験ボード600上には、試験ソケット610が搭載されている。試験ソケット610には、ファームウェアの書き込み時に、半導体メモリ装置などの試験対象デバイス10が挿入される。試験ソケット610は、第2試験ボード600上に複数個搭載することができる。また、
図3に示すように、試験ソケット610を2次元的に配置することもできる。
図3に示す例では、2行×3列に配置されているが、行数や列数はこれに限定されず、n行×m列のマトリックス状の配置(n、mは、1以上の整数)とすることもできる。また、
図5に示すように、試験対象デバイス10は、接続ピンなどの接続部615を介して試験ソケット610に挿入される。
【0030】
ASIC700と試験ソケット410との間は第1信号線L11によって接続され、ASIC700と第1テスタ300との間は第2信号線L12によって接続されている。
【0031】
試験対象デバイス10に対してファームウェアを書き込む際には、第2テスタ500と第2試験ボード600とを用いる。試験ソケット610と第2テスタ500との間は、第3信号線L13で直接接続される。
【0032】
ここで、第1信号線L11及び第3信号線L13には、例えば、メモリバス配線を用いることができる。試験対象デバイス10がNAND型フラッシュメモリである場合、第1信号線L11及び第3信号線L13は、NANDインタフェース用メモリバス配線である。NANDインタフェース用メモリバス配線は、NAND型フラッシュメモリが備えている、一般的で単純な配線であり、IO<7:0>、DQS、BDQS、CE、CLE、ALE、/RE、BRE、/WE、/WP、R/Bを備えた、Toggle及びONFI規格に準拠したNANDフラッシュメモリ用インタフェースである。
【0033】
第2信号線L12には、ホストバス配線を用いることができるが、実施の形態に係る試験システムの場合、第1テスタ300からASIC700に対する試験開始指示やASIC700から第1テスタ300に対する試験終了報告などのASIC制御専用信号を伝送できる程度の配線で良い。また、第2信号線L12には、ASIC700が備えている制御用配線を用いることもできる。
【0034】
実施の形態に係る試験システムを動作させる際には、まず、第2テスタ500と第2試験ボード600とを用いて試験対象デバイス10にファームウェアを書き込む。
【0035】
次に、第1試験ボード400上の試験ソケット410に、ファームウェア書き込み済の試験対象デバイス10を挿入した状態で、電源を投入すると、ASIC700は、起動動作として第1信号線L11を通じて試験対象デバイス10からファームウェアの読み込みを行う。
【0036】
ファームウェアの読み込み完了後に、第1テスタ300からASIC700に対して第2信号線L12を通じて試験開始指示を与える。そして、試験開始指示を受けたASIC700は、ファームウェア内で指定されている試験条件に基づき、第1信号線L11を通じて試験ソケット410上の試験対象デバイス10に対して試験を開始する。
【0037】
試験が終了すると、ASIC700は、試験対象デバイス10に試験結果を書き込み、更に、試験対象デバイス10の試験が終了した旨を第1テスタ300に報告する。
【0038】
実施の形態に係る試験システムによれば、ASICを内部に備えていない試験対象デバイス10に対しても、第1試験ボード400上のASIC700からファームウェアに従った試験を実施することが可能となる。
【0039】
また、実施の形態に係る試験システムでは、ファームウェアを試験対象デバイス10に書き込む際にASICを必要としないため、第3信号線L13を備えた一般的な汎用試験装置である第2テスタ500を用いることができる。また、試験対象デバイス10に対してファームウェアを直接書き込むことで、ASIC700と第2テスタ500などの外部との専用配線(例えばホストバス配線)を不要としている。
【0040】
また複数の試験対象デバイス10に対してそれぞれ異なるファームウェアを書き込んで、第1試験ボード400の試験ソケット410に挿入し、第1テスタ300から試験開始指示を与えることで、ASIC700毎に異なる試験を並列的に実行することが可能となる。
【0041】
(試験対象デバイス)
図6Aは、試験対象デバイス10の概略構成の一例を示しており、単体のNANDフラッシュメモリ100が試験対象デバイス10である例を示している。
【0042】
図6Bは、NANDフラッシュメモリ100とメモリコントローラ200とを備えたメモリシステム1が試験対象デバイス10である例を示している。この場合、メモリコントローラ200を特殊なテスト専用モードに切り替えるように構成することで、ホストバスの信号とメモリバスの信号とが互いに直通可能な状態にしておく。メモリシステム1全体が、あたかも単体のNANDフラッシュメモリ100として動作するかのように振る舞うことで、ASIC700、第1テスタ300、第2テスタ500からは、単体のNANDフラッシュメモリ100とメモリシステム1との区別を意識することなく、同様の試験対象デバイス10として扱うことが可能となる。
【0043】
(第1測定装置(第1テスタ))
図7は、実施の形態に係る試験システムに用いる第1テスタ300の内部構成の一例を示している。
【0044】
第1テスタ300は、制御部301と、インタフェース(I/F)部302と、試験指示部303とを備える。制御部301は、第1テスタ300内の各部、すなわち、試験指示部303やI/F部302などの制御を行う。I/F部302は、第1試験ボード400とのインタフェースを提供する。試験指示部303は、第1試験ボード400上のASIC700に対して、試験開始指示を与える。また、試験指示部303は、第1試験ボード400上のASIC700からの試験終了報告を受け取る。
【0045】
第1テスタ300は、第2テスタ500と比較して安価に試験を実施可能であるため、第2テスタ500から第1テスタ300へテスト項目を移行することによって試験に要するコストを削減できるメリットがある。
【0046】
第1テスタ300とASIC700とが、電流・電圧を測定する機能を有していない場合には、DCパラメトリックテストが実施できないため、その場合、DCテストを第2テスタ500上で実施することもできる。
【0047】
(第2測定装置(第2テスタ))
図8は、実施の形態に係る試験システムに用いる第2テスタ500の内部構成の一例を示している。
【0048】
第2テスタ500は、制御部501と、インタフェース(I/F)部502と、ファームウェア書き込み部503と、試験実行部504と、試験結果判定部505とを備える。制御部501は、第2テスタ500内の各部、すなわち、I/F部502、ファームウェア書き込み部503、試験実行部504、試験結果判定部505などの制御を行う。I/F部502は、第2試験ボード600とのインタフェースを提供する。ファームウェア書き込み部503は、第2試験ボード600上の試験対象デバイス10にファームウェアを書き込む。
【0049】
第2テスタ500は、一般的な汎用メモリテスタであるため、ファームウェアを試験対象デバイス10に書き込む以外に、DCパラメトリックテスト、各種NANDフラッシュメモリのファンクショナルテストを実施することもできる。同一目的、同一条件のテストについては、第2テスタ500上でそのまま実施することもできる。また、試験対象デバイス10に書き込んだファームウェアに従って、第1テスタ300上のASIC700に試験を実施させることもできる。試験の実行は、試験実行部504が行い、試験結果の判定は、試験結果判定部505が行う。
【0050】
(制御装置)
図9は、実施の形態に係る試験システムに用いる制御装置800の内部構成の一例を示している。
【0051】
制御装置800は、制御部801と、インタフェース(I/F)部802と、良否判定部803とを備える。制御部801は、制御装置800内の各部すなわち、I/F部802、良否判定部803や、試験システム内の各部、すなわち、第1テスタ300、第2テスタ500、挿抜装置12などの制御を行う。I/F部802は、第1テスタ300、第2テスタ500、挿抜装置12などとのインタフェースを提供する。良否判定部803は、試験対象デバイスの試験結果に基づき試験対象デバイス10の良否を判定する。
【0052】
また、制御装置800は、挿抜装置12を制御して、第1試験ボード400上の試験ソケット410に、あるいは第2試験ボード600上の試験ソケット610、試験対象デバイス10を1つずつ又は複数個ずつ挿抜させる。
【0053】
(テスト実行可能な集積回路(ASIC))
図10は、実施の形態に係る試験システムに用いるテスト実行可能な集積回路(ASIC)700の内部構成の一例を示している。
【0054】
ASIC700は、制御部701と、メモリインタフェース(I/F)部702と、テスタインタフェース(I/F)部703と、ファームウェア読み込み部704と、試験実行部705と、試験結果判定部706と、試験結果書き込み部707と、試験終了報告部708と、ROM710と、RAM711とを備える。
【0055】
制御部701は、ASIC700内の各部、すなわち、メモリI/F部702、テスタI/F部703、ファームウェア読み込み部704、試験実行部705、試験結果判定部706、試験結果書き込み部707、試験終了報告部708などの制御を行う。メモリI/F部702は、試験対象デバイス10とのインタフェースを提供する。テスタI/F部703は、第1テスタ300とのインタフェースを提供する。
【0056】
ファームウェア読み込み部704は、試験対象デバイス10に予め記憶されたファームウェア(試験実行関数)を読み出して、RAM711内の試験実行関数ライブラリ940に格納する。ROM710内の基本処理関数ライブラリ930には、試験を実行するための基本となるファームウェア(基本処理関数)が予め記録されている。ファームウェアについては、後述する。
【0057】
試験実行部705は、ROM710及びRAM711内に格納されているファームウェアに従って、試験対象デバイス10の試験を実施する。試験結果判定部706は、試験対象デバイス10の試験の結果を判定し、試験結果書き込み部707は、試験結果を試験対象デバイス10に書き込む。
【0058】
試験終了報告部708は、試験が終了した旨を第1テスタ300に報告する。
【0059】
(ファームウェア)
図11は、実施の形態に係る試験システムに用いるファームウェアの構成例を示している。
【0060】
実施の形態に係る試験システムに用いるファームウェアは、ASIC700上に搭載された制御部701(CPU)が解釈実行可能な命令コードであり、基本処理関数ライブラリ(ROMコード)930と試験実行関数ライブラリ(RAMコード)940とから構成される。
【0061】
基本処理関数ライブラリ930は、例えばASIC700上の回路パターンとして組み込まれている(ビルドイン)。基本処理関数ライブラリ930には、例えば、ブート処理関数、ファームウェアロード関数などが格納されている。
【0062】
試験実行関数ライブラリ940は、ASIC700が起動動作として試験対象デバイス10から読出し、ASIC上に用意された専用のSRAM領域にコードを展開する。
図11において、試験実行関数1及び2がASIC700で試験を実行するためのファームウェア(RAMコード)に対応する。具体的には、各試験実行関数において、試験対象デバイス10(NANDフラッシュメモリ)に対する消去、書き込み、読出し、結果判定等の試験を実施するASIC制御命令が格納されている。
【0063】
ファームウェアは、ソースコード900の状態からコンパイラ910によって命令語に翻訳され、更にリンカ920によって基本処理関数ライブラリ930及び試験実行関数ライブラリ940に結合及び配置される。
【0064】
ASIC700上に搭載された制御部701(CPU)は、RAMコード内の試験実行関数1、2等に収められた命令を解釈及び実行し、ASIC700上の試験実行部705は、メモリI/F部702を通じて試験対象デバイス10(例えばNANDフラッシュメモリ)に対して一連の動作コマンドシーケンスを発行する処理、あるいはNANDフラッシュメモリの出力結果を読み取る処理を繰り返す。
【0065】
試験結果判定部706は、結果と期待値の比較、及びFailBit数のカウント等のデータ演算処理を行った上で試験結果のパス(Pass)/フェイル(Fail)の判定を行う。
【0066】
尚、複数の異なる試験条件(試験項目)を実施するために、予め個別の試験実行関数1、試験実行関数2、…、試験実行関数nを用意しておき、これらの一部又は全部を逐次連続実行するもできる。
【0067】
試験項目としては、一般的な例として、導通テスト、DCテスト、ファンクショナルテスト、ACテスト、SCANテスト(ストラクチャルテスト)、電源関連のテストなどが含まれる。試験対象デバイス10がNANDフラッシュメモリである場合、NANDメモリのセルテストとして、SLC(2値)、MLC(4値)、TLC(8値)、QLC(16値)などのパス(Pass)/フェイル(Fail)テスト、エラービットテストとして一定のエラーを許容したテスト、フェイルビットカウントテストとしてセルテストに要求されるECC訂正能力を超えたフェイルビットカウントテスト、tPROGクライテリアテストとしてtPROGクライテリアのOK/NG判定テスト、等が含まれる。
【0068】
(ファームウェアの書き込み処理)
図12は、ファームウェアを試験対象デバイス10に書き込む処理の一例を模式的に示している。
図13は、試験対象デバイス10のファームウェアライブラリ940の一例を模式的に示している。また、
図14は、ファームウェアを試験対象デバイス10に書き込む処理の一例を示しており、この処理の主体は、第2テスタ500である。
【0069】
挿抜装置12によって第2試験ボード600上の試験ソケット610に試験対象デバイス10が実装されると、第2テスタ500によるファームウェア書き込み処理が開始される(ステップS100)。
【0070】
ステップS101において、第2テスタ500のファームウェア書き込み部503は、第2試験ボード600の試験ソケット610に実装されている試験対象デバイス10にファームウェア(試験プログラム)を書き込む。
【0071】
ステップS102において、第2テスタ500の制御部501は、試験ソケット610に実装されているすべての試験対象デバイス10にファームウェアが書き込まれたか否かを判定する。
【0072】
ステップS102の判定の結果、すべての試験対象デバイス10にファームウェアが書き込まれている場合、一連の処理を終了する(ステップS104)。
【0073】
ステップS102の判定の結果、ファームウェアが書き込まれていない試験対象デバイス10がある場合、ファームウェア書き込み部503は、ステップS101に戻って、次の試験対象デバイス10にファームウェアを書き込む。
【0074】
(試験対象デバイスに対する試験の実行処理)
図15は、第1試験ボード400上の試験対象デバイス10の試験を実行する処理の一例を示している。また、
図16は、第1試験ボード400上の試験対象デバイス10の試験を実行する処理の一例を示しており、単一のファームウェアの場合を示している。この処理の主体は、第1試験ボード400上のASIC700である。
【0075】
挿抜装置12によって第1試験ボード400上の試験ソケット410に試験対象デバイス10が実装されると、第1テスタ300による試験対象デバイス10に対する試験の実行が開始される(ステップS200)。
【0076】
ステップS201において、ASIC700のファームウェア読み込み部704は、試験対象デバイス10に予め記憶されたファームウェアを読み出す。
【0077】
ステップS202において、第1テスタ300の試験指示部303は、試験対象デバイス10の試験開始指示をASIC700に指示する。
【0078】
試験指示部303からの試験開始指示に応じて、ASIC700の試験実行部705は、ステップS203において、試験実行関数ライブラリ(RAMコード)940から試験条件を読み込む。
【0079】
ステップS204において、ASIC700の試験実行部705は、読み込んだ試験条件に沿って、試験対象デバイス10の試験を開始する。
【0080】
試験対象デバイス10の試験が終了すると、ステップS205において、ASIC700の試験結果判定部706は、試験結果を判定し、試験結果書き込み部707は、試験結果を試験対象デバイス10に書き込む。
【0081】
更に、ステップS206において、ASIC700の試験終了報告部708は、試験対象デバイス10の試験が終了した旨を第1テスタ300に報告し、一連の処理を終了する(ステップS207)。
【0082】
図17は、第1試験ボード400上の試験対象デバイス10の試験を実行する処理の別の例を示しており、複数のファームウェアの場合を示している。この処理の主体も、第1試験ボード400上のASIC700である。
【0083】
挿抜装置12によって第1試験ボード400上の試験ソケット410に試験対象デバイス10が実装されると、第1テスタ300による試験対象デバイス10に対する試験の実行が開始される(ステップS300)。
【0084】
ステップS301において、ASIC700のファームウェア読み込み部704は、試験対象デバイス10に予め記憶されたファームウェアのうちの第1番目のファームウェアを読み出して試験実行関数ライブラリ940に格納する。
【0085】
ステップS302において、第1テスタ300の試験指示部303は、試験対象デバイス10の試験開始指示をASIC700に指示する。
【0086】
試験指示部303からの試験開始指示に応じて、ASIC700の試験実行部705は、ステップS303において、試験実行関数ライブラリ(RAMコード)940から第1番目のファームウェアの試験条件を読み込む。
【0087】
ステップS304において、ASIC700の試験実行部705は、読み込んだ試験条件に沿って、試験対象デバイス10の試験を開始する。
【0088】
ステップS305において、ASIC700は、試験対象デバイス10に予め記憶されたすべてのファームウェアについて処理済みであるか否かを判定する。
【0089】
ステップS305の結果、試験対象デバイス10に予め記憶されたすべてのファームウェアについて処理済みである場合、ステップS312に進み、試験結果判定部706が試験結果を判定し、試験結果書き込み部707が試験結果を試験対象デバイス10に書き込む。更に、ステップS313において、試験終了報告部708は、試験対象デバイス10の試験が終了した旨を第1テスタ300に報告し、一連の処理を終了する(ステップS314)。
【0090】
一方で、ステップS305の判定の結果、試験対象デバイス10に予め記憶されたファームウェアのうち、未処理のファームウェアが残っている場合、ステップS306に進み、ASIC700は、カウンタnに対して2を設定する。
【0091】
ステップS307において、ファームウェア読み込み部704は、試験対象デバイス10に予め記憶されたファームウェアのうちの第n番目(n=2の場合第2番目)のファームウェアを読み出して試験実行関数ライブラリ940に格納する。
【0092】
試験実行部705は、ステップS308において、試験実行関数ライブラリ940から第n番目のファームウェアの試験条件を読み込む。
【0093】
ステップS309において、ASIC700の試験実行部705は、読み込んだ試験条件に沿って、試験対象デバイス10の試験を開始する。
【0094】
ステップS310において、ASIC700は、試験対象デバイス10に予め記憶されたすべてのファームウェアについて処理済みであるか否かを判定する。
【0095】
ステップS310の結果、試験対象デバイス10に予め記憶されたすべてのファームウェアについて処理済みである場合、ステップS312に進み、試験結果判定部706が試験結果を判定し、試験結果書き込み部707が試験結果を試験対象デバイス10に書き込む。更に、ステップS313において、試験終了報告部708は、試験対象デバイス10の試験が終了した旨を第1テスタ300に報告し、一連の処理を終了する(ステップS314)。
【0096】
一方、ステップS310の判定の結果、試験対象デバイス10に予め記憶されたファームウェアのうち、未処理のファームウェアが残っている場合、ステップS311に進み、ASIC700は、カウンタnに対して1を加算し、ステップS307に戻って、次の(n+1番目の)ファームウェアに対する処理を行う。
【0097】
図18は、複数のASIC700に対してそれぞれ異なる試験条件の試験を並行して実行する処理の一例を模式的に示しており、
図19は、そのタイミングチャートである。
【0098】
時刻T11において、ASIC700に対する電源がオンになると、複数のASIC700、すなわち、ASIC1~ASIC4に対応する試験対象デバイス10であるNANDメモリ1~NANDメモリ4からファームウェア1~ファームウェア4が並列的に読み出され、それぞれASIC1~ASIC4に格納される。
【0099】
時刻T12において、ファームウェア1~ファームウェア4の読み込みが完了すると、第1テスタ300からの試験開始指示待ち状態になる。
【0100】
時刻T13において、第1テスタ300から試験開始が指示されると、信号線B(第2信号線L12)が立ち下がり、それに呼応して、ASIC1~ASIC4は、それぞれの試験対象デバイス10であるNANDメモリ1~NANDメモリ4に対する試験(試験条件1~4)を並列的に開始する。
【0101】
その後、時刻T14においてNANDメモリ1の試験が終了し、時刻T15においてNANDメモリ3の試験が終了し、時刻T16においてNANDメモリ2の試験が終了し、時刻T17においてNANDメモリ4の試験が終了する。終了時刻のばらつきは、試験条件1~4の内容の違いやNANDメモリ1~NANDメモリ4の個体差などに起因する。
【0102】
図19では、時刻T11においてファームウェア1~4の読み込みを一斉に開始し、時刻T13においてNANDメモリ1~4に対する試験を一斉に開始する例を示したが、必ずしも一斉に開始する必要はなく、必要に応じて開始タイミングをずらすこともできる。
【0103】
図20は、複数のASIC700に対してそれぞれ異なる試験条件の試験(複数のファームウェアがある)を並行して実行する処理の一例を模式的に示している。
【0104】
時刻T21において、ASIC700に対する電源がオンになると、ASIC1~ASIC4に対応する試験対象のNANDメモリ1~NANDメモリ4から第1番目のファームウェア1-a~ファームウェア4-aが並列的に読み出され、それぞれASIC1~ASIC4に格納される。
【0105】
時刻T22において、ファームウェア1-a~ファームウェア4-aの読み込みが完了すると、第1テスタ300からの試験開始指示待ち状態になる。
【0106】
時刻T23において、第1テスタ300から試験開始が指示されると、信号線B(第2信号線L12)が立ち下がり、それに呼応して、ASIC1~ASIC4は、それぞれの試験対象NANDメモリ1~NANDメモリ4に対する試験(試験条件1-a~4-a)を並列的に開始する。
【0107】
その後、時刻T24においてNANDメモリ1の試験(試験条件1-a)が終了すると、ASIC1は、第2番目のファームウェア1-bをNANDメモリ1から読み出して、時刻T26からNANDメモリ1の試験(試験条件1-b)を開始する。
【0108】
同様に、時刻T26においてNANDメモリ2の試験(試験条件2-a)が終了すると、ASIC2は、第2番目のファームウェア2-bをNANDメモリ2から読み出して、時刻T28からNANDメモリ2の試験(試験条件2-b)を開始する。
【0109】
同様に、時刻T25においてNANDメモリ3の試験(試験条件3-a)が終了すると、ASIC3は、第2番目のファームウェア3-bをNANDメモリ3から読み出して、時刻T27からNANDメモリ3の試験(試験条件3-b)を開始する。
【0110】
同様に、時刻T27においてNANDメモリ4の試験(試験条件4-a)が終了すると、ASIC4は、第2番目のファームウェア4-bをNANDメモリ4から読み出して、時刻T29からNANDメモリ4の試験(試験条件4-b)を開始する。
【0111】
図20では、時刻T21においてファームウェア1~4の読み込みを一斉に開始し、時刻T23においてNANDメモリ1~4に対する試験(試験条件1-a~4-a)を一斉に開始する例を示したが、必ずしも一斉に開始する必要はなく、必要に応じて、開始タイミングをずらすこともできる。
【0112】
但し、実施の形態に係る試験システムでは、第1テスタ300は試験開始指示を与えるだけで、試験対象デバイス10の試験を実施するのは、第1テスタ300からの指示を受けたASIC700である。そのため、
図19や
図20に示したように、一斉に処理を開始するように構成しても、負荷の集中などの懸念は生じない。
【0113】
尚、
図14~
図20に示した処理動作を、コンピュータに実行させる命令として、コンピュータプログラムに記述することもできる。コンピュータプログラムは、例えば、非一時的なコンピュータ可読媒体に格納され、実施の形態に係る試験システムに用いられる。
【0114】
(実施の形態における作用効果)
本実施の形態によれば、以下のような作用効果を有する。
【0115】
ファームウェアの書き込みにASIC専用の特別な信号線を設ける必要がない。そのため、試験ボードの配線やテスタピンなどのリソースを削減することができ、同時測定可能数の向上、安価なテスタ活用による試験コスト削減を見込むことができる。また事前に試験対象デバイスにファームウェアを書き込むようにしているため、試験実行時の試験時間の短縮にも繋がる。
【0116】
一般的にはファームウェアを用いた試験は、試験対象デバイスがASICを内蔵している製品に限定されていた。しかしながら、本実施の形態によれば、ASICを内蔵していない製品に対しても試験対象を拡大することが可能となり、ファームウェアによる試験内容の統一化、試験内容の高度化による品質向上、試験時間の短縮によるコスト削減などを見込むことができる。
【0117】
試験対象デバイス毎に異なる試験条件をファームウェアとして予め書き込むようにしているため、第1テスタ側での試験条件や判定条件の設定が不要となる。そのため、第1テスタ側の構成や制御を簡便なものにすることが可能となる。
【0118】
また試験内容をファームウェアとして試験対象デバイスあるいはASICに書き込むように構成しているため、試験内容の詳細を隠蔽することが可能である。そのため、例えば、試験の実施作業等を外部に委託する場合でも、情報開示の必要がなくなり、秘匿情報の管理面において有効である。すなわち、ファームウェアは、例えばHEXファイルのようにビルドイン形式で格納しておけば、ファームウェアに対する不正なアクセスを防止することができ、試験内容を秘匿することができる。
【0119】
従来は一度の試験で1種類の試験対象のみ試験実施可能であったが、複数の異なる試験対象をまとめて一度に試験することが可能となる。少量多品種の一括試験、試験工程の共通化等への活用も見込まれる。すなわち、試験対象デバイスに複数のファームウェアを書き込めば、複数の試験が可能となる。
【0120】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると共に、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【0121】
10…試験対象デバイス
12…挿抜装置
100…NANDフラッシュメモリ
200…メモリコントローラ
300…第1テスタ
301、501、701、801…制御部
302、502、802…I/F部
303…試験指示部
400…第1試験ボード
410、610…試験ソケット
415、615…接続部
425…接合層
500…第2テスタ
503…ファームウェア書き込み部
504、705…試験実行部
505、706…試験結果判定部
600…第2試験ボード
700…テスト実行可能な集積回路(ASIC)
702…メモリI/F部
703…テスタI/F部
704…ファームウェア読み込み部
706…試験結果判定部
707…試験結果書き込み部
708…試験終了報告部
710…ROM
711…RAM
800…制御装置
803…良否判定部