(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-01-23
(45)【発行日】2024-01-31
(54)【発明の名称】フェイルセーフIC製造テスト
(51)【国際特許分類】
G01R 31/28 20060101AFI20240124BHJP
G01R 31/3187 20060101ALI20240124BHJP
H01L 21/66 20060101ALI20240124BHJP
G06F 11/22 20060101ALI20240124BHJP
【FI】
G01R31/28 V
G01R31/3187
G01R31/28 A
H01L21/66 F
G06F11/22 675E
(21)【出願番号】P 2022116639
(22)【出願日】2022-07-21
【審査請求日】2022-07-21
(32)【優先日】2021-09-01
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】508197206
【氏名又は名称】新唐科技股▲ふん▼有限公司
(74)【代理人】
【識別番号】110000291
【氏名又は名称】弁理士法人コスモス国際特許商標事務所
(72)【発明者】
【氏名】キルシュナー,ユヴァル
【審査官】島▲崎▼ 純一
(56)【参考文献】
【文献】特許第6611877(JP,B1)
【文献】国際公開第2012/023211(WO,A1)
【文献】特開2009-027010(JP,A)
【文献】米国特許出願公開第2019/0033367(US,A1)
【文献】米国特許出願公開第2012/0124441(US,A1)
【文献】特開2021-39076(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G01R 31/28
G01R 31/3187
H01L 21/66
G06F 11/22
(57)【特許請求の範囲】
【請求項1】
不揮発性メモリ、および
集積回路の製造テストが正常に完了したかどうかを示す1つ
又は2つ以上の
完了示唆値を前記不揮発性メモリから読み取り、
前記集積回路を起動しているときに、読み取った前記完了示唆値をチェックするように構成された起動回路を含み、
前記完了示唆値が、前記製造テストが正常に完了したことを示した場合、前記起動回路は前記集積回路をさらに起動し、及び
前記完了示唆値が、前記製造テストが正常に完了されなかったことを示した場合、前記起動回路は前記集積回路を起動することを中止する、集積回路(IC)。
【請求項2】
前記
完了示唆値は、単一のパス/フェイルビットで構成されている請求項1に記載の集積回路。
【請求項3】
前記
完了示唆値は、外部自動テスト装置(ATE)によって不揮発性メモリに書き込まれている請求項1に記載の集積回路。
【請求項4】
前記製造テストが正常に完了したかどうかを示す情報を外部自動テスト装置(ATE)から受け取り、前記情報に基づいて前記
完了示唆値を前記不揮発性メモリに書き込むように構成された制御回路をさらに含む請求項1に記載の集積回路。
【請求項5】
前記
完了示唆値は、回復不可能テストパス指示、回復不可能テストフェイル指示、回復可能テストフェイル指示、および回復可能テストパス指示のうちの1つ以上を含む請求項1に記載の集積回路。
【請求項6】
2つ以上の前記
完了示唆値は相互に直交している請求項1に記載の集積回路。
【請求項7】
前記不揮発性メモリは、ワンタイムプログラマブル(OTP)メモリである請求項1に記載の集積回路。
【請求項8】
前記不揮発性メモリは、マルチタイムプログラマブル不揮発性メモリ(MTP NVM)である請求項1に記載の集積回路。
【請求項9】
不揮発性メモリを含む集積回路(IC)を起動するステップを含み、
前記集積回路の製造テストが正常に完了したかどうかを示す1つ
又は2つ以上の
完了示唆値を前記不揮発性メモリから読み取
り、読み取った前記完了示唆値をチェックするステップ、および
前記完了示唆値が、前記製造テストが正常に完了したことを示した場合、前記集積回路をさらに起動し、前記完了示唆値が、前記製造テストが正常に完了されなかったことを示した場合、前記集積回路を起動することを中止するステップを含む方法。
【請求項10】
前記
完了示唆値は、単一のパス/フェイルビットで構成されている請求項9に記載の方法。
【請求項11】
前記
完了示唆値は、外部自動テスト装置(ATE)によって不揮発性メモリに書き込まれている請求項9に記載の方法。
【請求項12】
前記集積回路で前記製造テストが正常に完了したかどうかを示す情報を外部自動テスト装置(ATE)から受け取り、前記情報に基づいて前記
完了示唆値を前記不揮発性メモリに書き込むステップをさらに含む請求項9に記載の方法。
【請求項13】
前記
完了示唆値は、回復不可能テストパス指示、回復不可能テストフェイル指示、回復可能テストフェイル指示、および回復可能テストパス指示のうちの1つ以上を含む請求項9に記載の方法。
【請求項14】
2つ以上の前記
完了示唆値は相互に直交している請求項9に記載の方法。
【請求項15】
前記不揮発性メモリは、ワンタイムプログラマブル(OTP)メモリである請求項9に記載の方法。
【請求項16】
前記不揮発性メモリは、マルチタイムプログラマブル不揮発性メモリ(MTP NVM)である請求項9に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、集積回路テストに関するものであり、特に、不揮発性メモリを用いて集積回路テストの品質を向上させる方法およびシステムに関するものである。
【背景技術】
【0002】
集積回路(IC)は、ウェハレベル(「ウェハソート」)およびパッケージユニットレベルでテストされることができる。テストは、キャリブレーション、パーソナライゼーション、シリアル番号の挿入などを含むことができる。
【0003】
「Advanced Test Methodology and Strategies for Semiconductors,」B.G. West (Proceedings of 13th IPFA, 2006, Singapore)では、著者が、ハイエンド機器のテストにおいて近年、正確な測定からデータ管理にどのように焦点がシフトしたかを説明しており、且つトランザクションベースの自動テスト装置(ATE)のアーキテクチャの説明を進めている。
【0004】
ワンタイムプログラマブル(OTP)メモリデバイスを含む半導体集積回路のテスト方法が開示されている(特許文献1参照)。プログラムコマンドがテスターからOTPメモリデバイスに転送される。プログラミングおよびプログラミング検証は、プログラムコマンドに応答して、OTPメモリデバイス内のOTPメモリセルに対して実行される。
【先行技術文献】
【特許文献】
【0005】
【文献】米国特許第2017/0040067号明細書
【発明の概要】
【発明が解決しようとする課題】
【0006】
不揮発性メモリを用いて集積回路テストの品質を向上させる方法およびシステムを提供する。
【課題を解決するための手段】
【0007】
本明細書に記載された本発明の実施形態は、不揮発性メモリおよび起動回路を含む集積回路(IC)を提供する。起動回路は、ICを起動するように構成され、ICの製造テストが正常に完了したかどうかを示す1つ以上の値を不揮発性メモリから読み取り、1つ以上の値が、製造テストが正常に完了されなかったことを示した場合、応答動作を開始することを含む。
【0008】
いくつかの実施形態では、1つ以上の値は、単一のパス/フェイルビットで構成されている。いくつかの実施形態では、1つ以上の値は、外部自動テスト装置(ATE)によって不揮発性メモリに書き込まれている。いくつかの実施形態では、ICは、製造テストが正常に完了したかどうかを示す情報を外部自動テスト装置(ATE)から受け取り、その情報に基づいて1つ以上の値を不揮発性メモリに書き込むように構成された制御回路をさらに含む。
【0009】
一実施形態では、1つ以上の値は、(i)回復不可能テストパス指示、(ii)回復不可能テストフェイル指示、(iii)回復可能テストフェイル指示、および(iv)回復可能テストパス指示のうちの1つ以上を含む。 開示された実施形態では、1つ以上の値は相互に直交している。
【0010】
いくつかの実施形態では、不揮発性メモリは、ワンタイムプログラマブル(OTP)メモリである。他の実施形態では、不揮発性メモリは、マルチタイムプログラマブル不揮発性メモリ(MTP NVM)である。
【0011】
本発明の一実施形態による、不揮発性メモリを含む集積回路(IC)を起動するステップを含む方法、(i)ICの製造テストが正常に完了したかどうかを示す1つ以上の値を不揮発性メモリから読み取るステップ、および(ii)1つ以上の値が、製造テストが正常に完了されなかったことを示した場合、応答動作を開始するステップを含む方法がさらに提供される。
【0012】
本発明は、添付の図面を参照しながら以下の詳細な説明から、より完全に理解することができる。
【図面の簡単な説明】
【0013】
【
図1】
図1は、本発明の実施形態による、集積回路(IC)の製造テストシステムを概略的に示すブロック図である。
【
図2】
図2は、本発明の実施形態による、IC製造テストの第1の方法を概略的に示すフローチャートである。
【
図3】
図3は、本発明の実施形態による、予めテストされたICの起動を概略的に示すフローチャートである。
【
図4】
図4は、本発明の実施形態による、ワンタイムプログラマブル(OTP)メモリにおけるテスト結果の直交プログラミングを概略的に示すブロック図である。
【
図5】
図5は、本発明の実施形態による、マルチタイムプログラマブル不揮発性メモリ(MTP-NVM)を用いたICテストの方法を概略的に示すフローチャートである。
【
図6A】
図6Aは、本発明の実施形態による、IC製造テストの第2の方法を概略的に示すフローチャートである。
【
図6B】
図6Bは、本発明の実施形態による、予めテストされたICの代替の起動を概略的に示すフローチャートである。
【発明を実施するための形態】
【0014】
概要
集積回路(IC)製造テスト(PT)は、製造後にICをテストし、欠陥部品を選別するように用いられている。通常、PTは、パラメータの調整、キャリブレーション、個別のシリアル番号の挿入、およびその他のパーソナライゼーション機能にも用いられる。
【0015】
明らかなように、PTを無事に完全にパス(pass)しないICは、顧客に出荷されるべきではない。しかしながら、実際には、人為的(またはコンピュータ)エラーにより、PTがフェイル(fail)、またはPTをスキップしたICが、顧客に出荷されることがある。
【0016】
再テストは、製造テストでは一般化している。テストの問題により製造テストがフェイルすることがある。例えば、ICパッドとATEパッド間の接触不良、または誤った温度設定の使用などである。この場合、テストは、問題が発見された(且つ修復された)後に繰り返されることができる。
【0017】
一部の欠陥は、不安定または限界的な(marginal)結果をもたらす可能性がある。この場合、テストが繰り返されると、テスト結果がパスとフェイル間で交互に変わる可能性がある。ユーザーは、フェイルしてはならない(また、随時フェイルした場合はICの製造欠陥を示すことがある)クリティカルテスト(critical test)、および時々フェイルすることがある非クリティカルテスト(non-critical test)を定義することができる。クリティカルテストを「回復不可能テスト」と呼び、非クリティカルテストを「回復可能テスト」と呼ぶ。さらに、同じテストを繰り返し実行することを、テスト反復(Test Iteration)と呼ぶ。
【0018】
本明細書に開示される本発明による実施形態は、改善された品質の製造テストを有する装置および方法を提供する。テスト結果は、ICの起動時に自動的にテストされるか、またはICのユーザーによるICの受け入れテスト(incoming test)中に検証される。
【0019】
いくつかの実施形態では、ICは、ワンタイムプログラマブル(OTP)メモリを含み、予め割り当てられたOTP位置にテスト結果を格納し、各テスト結果(またはテスト反復結果)は、2つの別々のOTPビットでプログラムされたパスまたはフェイルである可能性がある。一実施形態では、ICは、制御回路が受信する(例えば、ATEから)テスト結果の指示に応答して、回復可能および回復不可能なテスト反復結果をOTPビットに格納する制御回路を含む。他の実施形態では、ATEは、全ての回復可能および回復不可能なテスト結果に応答して、単一の複合のテスト結果の指示(a single compound test result indication)をOTPにプログラムし、制御回路はテスト結果の指示のプログラミングに必要でないことができる。いくつかの実施形態では、制御回路の開示された機能は、必ずしも専用のハードウェアによって実行される必要はない。そのような機能は、例えば、IC内のプロセッサ(例えば、CPUまたはコントローラ)によって実行されることができる。
【0020】
一実施形態では、起動時に、IC内の起動回路は、対応するOTPビットをチェックして、全ての回復不可能なテストで全ての反復結果がパスであり、且つ全ての回復可能なテストで、少なくとも1つの反復結果がパスであることを確認する。もう1つの実施形態では、制御回路はなく、ICは、起動時に、複数のテスト結果ビットの結果(または複合テスト結果の指示の状態をチェックする)。
【0021】
いくつかの実施形態では、OTPは、テスト結果を格納するために割り当てられたOTPワード(「テスト結果ワード」)を含むOTPワードを含む。各テスト結果ワードは、複数のフィールド(例えば、1ビットフィールド)を含み、テストの複数の反復の結果を格納する。ICは、テスト反復結果に応じて、OTPワードのパスフィールドまたはフェイルフィールドを常にプログラムする。実施形態では、パスまたはフェイルの結果を格納するために用いられるフィールドは直交している(例えば、別々のフィールド)。一実施形態では、パス結果は、OTPテスト結果ワードの奇数ビットでプログラムされ、フェイル結果は、偶数ビットでプログラムされる(またはその逆)。従って、OTPワードが16ビットであると仮定すると、テスト結果ワードが16x5555の場合、テストは8回パスし、ワードが16xAAAAの場合、テストは8回フェイルし、例えば、ワードが5A55の場合、テストは6回パスし、2回フェイルとなる(これは回復可能なテストでは許容され得る)。
【0022】
理解されるように、本明細書では格納されたテスト結果について言及しているが、ICメモリに格納された結果は、実際のテスト結果と異なる可能性がある。例えば、いくつかの実施形態では、複数のテストおよびパーソナライゼーション操作(personalization operation)の累積結果は、単一の「テスト結果」ワード(「パス」および「フェイル」の指示を含むことがある)としてメモリに格納されることができる。
【0023】
いくつかの実施形態では、ICは、OTPを含まず、代わりに、複数回プログラム(および消去)されることができる不揮発性メモリ(NVM)を含む。制御回路は、パスとフェイルの結果を別々のフィールドに格納する。しかしながら、追加のテストを実行する前にNVMメモリを消去する必要がある実施形態では、ATEは、まずNVMからテスト結果ワードを読み出し、テスト結果ワードをRAMに一時的に格納し、NVM(またはテスト結果ワードが格納されているNVMのセグメント)を消去した後、テストを続行し、結果をRAM(NVM結果を一時的に格納するために用いられたのと同じRAM、または別のRAM)に格納する。テストが完了すると、ATEはICのNVMの結果(一時メモリに格納された結果履歴を含む)を復元する。
【0024】
要約すると、本発明の実施形態は、テスト結果をIC内のNVMに格納することによって、且つICの起動(startup)(例えば、起動(boot))時にNVM内のテスト結果をチェックすることによって、ICテストの品質を大幅に向上させるものである。いくつかの実施形態では、ICは、テスト結果をNVMに格納する回路を含み、他の実施形態では、ATEは試験結果をNVMに格納する。実施形態では、パスおよびフェイルを含む個々のテスト結果は、NVMに格納され、他の実施形態では、複合テスト結果のみが格納される。さらに他の実施形態では、上述の実施形態の様々な組み合わせおよびサブコンビネーションが用いられてもよい。
【0025】
システム記述 本明細書に開示される実施形態は、ICメーカーによる不揮発性メモリを有する集積回路(IC)のテスト、ICの顧客によるICの受け入れ検査(incoming inspection)、およびターゲットシステムで組み合わせられたときのICの起動に言及している。しかしながら、開示された技術は、システム(例えば、マルチチップモジュール、またはMCM)のテストにも用いられることができる。
【0026】
図1は、本発明の実施形態による、集積回路(IC)の製造テストシステム100を概略的に示すブロック図である。IC102は、IC内のテストポート106を介して、自動テスト装置(ATE)104に結合されている。ICは、IC102の機能を実施するように動作可能な機能回路108、および制御回路109を含む。ATEは、機能回路のさまざまなテストを実行するように構成されている。いくつかの実施形態では、テストは、キャリブレーション、パラメータプログラミング、シリアル番号プログラミング、およびセキュリティキーの挿入など、ICのパーソナライゼーションを含むことができる。
【0027】
いくつかの実施形態では、IC102は、ATE104の制御下で機能回路108のテストを実行するように動作可能なビルトインセルフテスト(BIST)回路110を含む。(BIST回路は、メモリのテストなど、業界で広く用いられている。いくつかの実施形態では、BIST回路は、デバイスの起動中にも用いられる。一実施形態では、BISTテストは、ソフトウェアコマンドによって、ハードウェアコマンドによって、または予め定義された条件の検出に応答してトリガーされることができる。)
【0028】
図1に示された例示的な実施形態によれば、IC102は、ワンタイムプログラマブル(OTP)メモリ112(例えば、ヒューズメモリ)を含み、制御回路は、テスト結果をOTPメモリにプログラムするように構成される(他の実施形態では、ATEはOTPをプログラムし、制御回路は必要でないことができる)。従って、人為的またはコンピュータエラーにより、ICメーカーが、製造テストにフェイルした(または完全にあるいは部分的にスキップした)ICを出荷した場合、ICの顧客は、受け入れ検査中またはICの起動時にエラーを検出する(これについては以下で詳述する)。
【0029】
従って、テスト結果を内蔵のOTPメモリにプログラミングし、顧客サイトでOTPに保存されているテスト結果をテストすることにより、出荷されたICの品質が向上されることができる。
【0030】
理解されるように、
図1に示され、本明細書に記載された、IC102および製造テストシステム100の構造は、明確にするために引用された例示的な構造である。他の適切な構造が代替の実施形態で用いられることができる。例えば、BIST回路110は、BISTコードを格納するRAMを含むことができる。ATEは、テスト中にコードをBIST RAMに書き込むことができる。もう1つの例では、単一のATEが複数のICを同時にテストすることができる。
【0031】
いくつかの実施形態では、制御回路109は、ATEからの指示に応答したテスト結果を含む、またはATEおよび/または他のソース(例えば、内蔵プロセッサからの)からの指示に応答した、他のビット(例えば、キャリブレーションデータまたはセキュリティキー)を含む、任意または全てのOTPビットをプログラムするように動作可能である。
【0032】
図1に示され、本明細書に記載された例示的な実施形態では、IC102は、試験結果でNVMをプログラムする制御回路109を含む。しかしながら、代替の実施形態では、外部ATEは、試験結果でNVMを直接プログラムし、制御回路109は必要でないことができる。
【0033】
図2は、本発明の実施形態による、IC製造テストの方法を概略的に示すフローチャート200である。フローチャートは、制御回路109およびATE104によって実行される(
図1)。ユーザー(例えば、製品エンジニア)が一セットのテストを予め定義していることとしている。
【0034】
フローチャートは、初期化テスト(Initialize-Test)ステップ202で始まり、ATEは、テスト番号Nを1に設定する(Nは、ソフトウェア変数、またはレジスタであってもよい)。理解されるように、初期化テストステップ202では、ATE104は、他のテスト初期化機能、例えば、電圧およびタイミング閾値の設定を実行することができる。
【0035】
次いで、テストN実行(Run-Test-N)ステップ204では、ATEは予め定義されたテストN(Test-N)(
図1のBIST回路110のアクティブ化を時々含むことがある)を実行する。次いで、ATEは、パスチェック(Check-Pass)ステップ206に入り、テストNがパスしたかどうかをチェックする(例えば、BIST回路110のTest-Passパッドを検査することにより)。テストがパスした場合、制御回路はプログラムパス(Program-Pass)ステップ208に入り、OTPメモリ112の予め指定されたビットをプログラムしてテストNがパスしたことを示す。ステップ206で、テストがフェイルした場合、制御回路は、プログラムフェイル(Program-Fail)ステップ210に入り、OTPの予め指定されたビットをプログラムしてテストNがフェイルしたことを示す。(上述の説明は、テストパスまたはテストフェイルを示すOTPビットのプログラミングに言及しているが、いくつかの実施形態では、その指示は、1ビット以上であり得るOTPフィールドにプログラムされる。)
【0036】
ステップ208と210の両方の後、ATEはチェックラスト(Check-Last)ステップ212に入り、Nが最後の予め定義されたテストであるかどうかをチェックする。そうであれば、テストのフローチャートは完了する。Nが最後のテストでない場合、ATEはインクリメントN(Increment-N)ステップ214でNをインクリメントし、次のテストのためにステップ204に再び入る。
【0037】
従って、
図2に示され、本明細書に記載された例示的な実施形態によれば、制御回路は、テストパス指示とテストフェイル指示を含む全てのテスト結果をオンチップOTPに格納する。
【0038】
理解されるように、
図2に示され、本明細書に記載されたフローチャートは、概念を明確にするために引用された例である。代替の実施形態では、他の適切なフローチャートが用いられることができる。例えば、いくつかの実施形態では、テストNは、フェイルした場合、自動的に繰り返されることができる(ステップ210の後、ATEは、ステップ204に再び入り、予め設定された数のテスト再試行(反復)をループ(looping)することができる。このようなテストの反復の結果は、より多くのOTPビットに格納されることができる)。
【0039】
いくつかの実施形態では、ATEは、パスおよびフェイルの指示を追跡し、テスト結果は、対応するOTPフィールドを読み取ることなく、ユーザーに表示(または他の方法で伝達)することができる。
【0040】
いくつかの実施形態では、IC102は、制御回路109を含まず、ATEは全てのフローチャート200を実行する。
【0041】
回復可能および回復不可能なテスト 本発明の実施形態によれば、製造テストは、決してフェイルしてはならないテストと、時々フェイルすることがあるテスト(例えば、ICまたはテスターのリード線の汚れによりフェイルすることがあるが、汚れが除去されるとパスすることができるテスト)も含むことができる。前者のテストを回復不能なテストと呼び、後者を回復可能なテストと呼ぶ。例えば、BISTテストは通常、回復不能なテストと見なされ、連続的な継続性テスト(continuity test)は通常、回復可能である。パラメータ化されたテストは、パラメータが限界値(marginal)である場合、例えば、温度設定が不正確である場合、回復可能であることができる。
【0042】
実施形態では、制御回路は、テストパスおよびテストフェイルの指示でOTPをプログラムする。いくつかの実施形態では、ユーザーは、回復可能および回復不可能なテストのリストを定義する。一実施形態では、回復可能なテストごとに、ユーザーは、同じテストの反復におけるフェイルの最大許容数を定義し、別の実施形態では、ユーザーは、パスとフェイルのテストの反復の限界比を定義する(例えば、所定の回復可能なテストでは、パスしたテストの反復の数は、テストの反復の総数の少なくとも90%でなければならない)。さらに他の実施形態では、いくつかの回復可能なテストでは、単一のテストの反復がパスしなければならない。
【0043】
図3は、本発明の実施形態による、予めテストされたICの起動を概略的に示すフローチャート300である。フローチャートは、制御回路109(
図1)によって実行される(IC102は、通常、フローチャート200を含むブートシーケンスを実行するプロセッサを含む)。従って、制御回路109は、プロセッサおよびブートプログラムの対応する部分を指すことができる)。以下の説明では、この方法が開示された制御回路によって実行されることとしている。より一般的には、この方法は、ICを起動する任意の適切な起動回路によって実行されることができる。
【0044】
上述のように、ICは、ICメーカーが実行した製造テスト結果を格納するOTPワードを含む。各OTPワードは、単一のテストの全ての反復の結果を格納するものとしている。
【0045】
フローチャートは、初期化ブートテスト(Initialize-boot-Test)ステップ302で始まり、制御回路は、テスト番号パラメータ(例えば、レジスタ)を1の値(テスト番号はNと呼ばれる)に設定する。次に、読み取りOTPワード(Read OTP word)ステップ304では、制御回路は、OTPから、テスト番号Nに対応するテスト結果ワードを読み取る。
【0046】
次に、チェック有効(Check-Valid)ステップ306では、制御回路は、次いで格納されたOTPワードが有効であるかどうかをチェックする。例えば、テストパスとテストフェイルの指示のどちらもプログラムされていない場合、そのワードは有効ではない(有効でないOTPワードの他の例は、
図4を参照に以下で詳述する)。OTPワードが有効でない場合、起動は中止される。追加的または代替的に、OTPワードが有効でない場合、制御回路は任意の他の適切な応答動作をとることができる。
【0047】
ステップ306では、OTPワードが有効である場合、制御回路は、結果の数チェック(Check-Number-of-Results)ステップ307に入り、制御回路は、test-Nに保存された結果の数が、テストの予め設定された結果の数の値と等しいかどうかをチェックする(結果の数は、test-Nに関するパスとフェイルの両方の結果を含む)。結果の数が予め設定された値と異なる場合、起動は中止される。いくつかの実施形態では、回復可能および回復不可能なテストのリストは、不揮発性メモリに格納される。他の実施形態では、リストは、起動テストの前の起動段階で外部メモリデバイスから読み取られることができる。
【0048】
ステップ307では、結果の数が予め設定された値と等しい場合、制御回路は、回復可能チェック(Check Recoverable)ステップ308に入り、テストNが回復可能かどうかをチェックする。ステップ308では、テストNが回復不可能である場合、制御回路は、全てが適合かチェック(Check-All-Good)ステップ312に入り、テストNの複数の反復が実行された場合、全ての反復がパスしている(例えば、OTPワードの全ての対応するフィールドが設定されている)ことをチェックする。テストの実行のいずれかがフェイルした場合、制御回路は起動エラーを指示して起動を中止するか、または他の適切な応答動作をとる。
【0049】
ステップ308では、テストNが回復可能である場合、制御回路は、いずれかが適合かチェック(Check-Any-Good)ステップ310に入り、制御回路は、テストNの複数の反復が実行された場合、いずれかの反復がパスしたかどうかをチェックする。全ての反復がフェイルした場合、制御回路は再び起動エラーを指示し、起動を中止する。
【0050】
ステップ312で、全てのテストの反復がパス、またはステップ310で、いずれかのテストの反復がパスした場合、制御回路は、チェックラスト(Check-Last)ステップ314に入り、Nが最後のテストであるかどうかをチェックする(テストの数は、例えば、予め設定されることができる)。そうであれば、起動テストブートテストは正常に完了し、ICは他のブート機能の実行に進む。ステップ314では、Nが最後のテストでない場合、制御回路は、インクリメントN(Increment-N)ステップ214でNの値をインクリメントし、次のテストのためにステップ304に再び入る。
【0051】
従って、
図3に示され、本明細書に記載された例示的な実施形態によれば、製造テスト結果でプログラムされているICは、起動の間に、ICの製造テストが各回復不可能なテストの全ての反復をチェックすることにより、正常に実行され、各回復可能テストの少なくとも1回の反復がパスしたことを確認することができる。
【0052】
理解されるように、
図3に示され、本明細書に記載されたフローチャートは、概念を明確にするために引用された例である。本発明によるフローチャートは、本明細書の図および説明に限定されない。例えば、いくつかの実施形態では、単一の複合のテスト結果がNVMに格納され、フローチャート300はそれに応じて短縮される。実施形態では、ICはプロセッサではなく、起動することができない。むしろ、フローチャートは、プロセッサと、受け入れICが挿入されたゼロ挿入力(ZIF)ソケットを含む受け入れ検査システムによって実行される。
【0053】
他の実施形態では、フローチャート300は、ICの起動シーケンスの一部として、機能回路108のプロセッサによって実行される。一実施形態では、プロセッサは、制御回路にアクセスして、NVMからテスト結果を読み取る。
【0054】
いくつかの実施形態では、フェイル制限数は、様々な回復可能なテストの反復に対して定義され、ICは、フェイル指示の数が制限を超えていないことをチェックする。一実施形態では、制御回路は、回復可能なテストのパスとフェイルの反復の比率を比較し、その比率を予め設定された限界と比較する。
【0055】
図4は、本発明の実施形態による、ワンタイムプログラマブル(OTP)メモリにおけるテスト結果の直交プログラミングの構造を概略的に示すブロック
図400である。
図4に示された例示的な実施形態によれば、各テストは、16ビットのOTPワード402が割り当てられ、0から7までの番号が付けられた8回のテスト反復の8回のパスまたはフェイルの結果を格納するように用いられることができる。反復404がフェイルする場合、OTPワード402の奇数ビットがプログラムされる。テストの反復にパスすると、OTPワードの偶数ビットがプログラムされる。1回目の反復では、ビット0またはビット1のいずれかがプログラムされる。2回目の反復では、ビット2またはビット3のいずれかがプログラムされ、以下同様に続く。
【0056】
偶数ビットと奇数ビットは相互に直交しているため、フェイル記録とパス記録は互いに影響し合わないことに留意されたい。
【0057】
可能なOTPワードのいくつかの例が例ボックス408に示される。第1の例では、OTPワードは0x5555であり、全ての偶数ビットはプログラムされており、これはテストの8回の反復全てがパスしたことを意味している。第2の例では、OTPワードは0x55A5である。偶数ビット0、2、8、10、12、および14はプログラムされているが、奇数ビット5および7もプログラムされている。テストは6回の反復でパスし、2回でフェイルした(これは、ICが回復不可能なテストには適合せず、回復可能なテストには適合していると見なすことができる)。
【0058】
第3の例では、OTPワードは0x0555である。偶数ビット0、2、4、6、8、および10はプログラムされているが、ビット12~15はプログラムされていない。
図4に示された例示的な実施形態によれば、全てのテストは、少なくとも8回のテストパスまたはテストフェイルの反復を含まなければならない。従って、0x0555OTPワードは、テストが完了しなかったことを示す。
【0059】
第4の例では、テスト結果のOTPワードは0xD555である。これは、テスト反復0~6はパスしたが、テスト反復7ではパスビット(14)とフェイルビット(15)の両方が設定されているため、テスト手順が破損していることを意味する。
【0060】
理解されるように、
図4に示され、本明細書に記載された直交プログラミングの構造は、例示的な構造である。他の構造が代替の実施形態で用いられてもよい。例えば、いくつかの実施形態では、別々のワードが各テストのパス結果およびフェイル結果を格納するために割り当てられる。いくつかの実施形態では、各テストの反復の数は固定されておらず、テストに応じて変化する可能性がある。一実施形態では、回復不可能なテストは、フェイルテストの結果を格納するOTPセルを有せず、代わりに、回復不可能なテストがフェイルした場合、全体的なフェイルビットがプログラムされ、テストが中止される。
【0061】
マルチタイムプログラマブル不揮発性メモリの使用 上記の説明は、テスト結果をオンチップのワンタイムプログラマブル(OTP)不揮発性メモリ(NVM)に格納することに言及しているが、説明された技術は、ICがマルチタイムプログラマブルNVM(以下、「MTP」と呼ぶ)を含むとき、またはICがOTPおよびMTPの両方を含むときにも用いられことができるが、MTPの使用が望ましい(例えば、OTPのサイズが制限されている場合)。
【0062】
MTPがテスト結果を保存するのに用いられるとき、全てのNVMが消去される製造段階で保存されたテスト結果を失わないように注意する必要がある(OTPではありえない)。
【0063】
図5は、本発明の実施形態による、マルチタイムプログラマブル不揮発性メモリ(MTP-NVM)を用いたICテストの方法を概略的に示すフローチャート500である。
図5に示された例示的な実施形態によれば、ICは、以前のテストサイクルの結果を置き換えるのではなく、拡張すべき新しいセットのテストを受ける。テストは、完全なNVMの消去で始まる必要があるものとする。
【0064】
フローチャートは、ATE104(
図1)によって実行され、コピーテスト結果(Copy-Test-Results)ステップ502で始まる。ATEは、以前のテストの累積結果をMTP NVMから読み取り、その結果をランダムアクセスメモリ(RAM)に格納する。次いで、NVM消去(Erase NVM)ステップ504では、ATEは、NVMの完全な内容を消去する。 次に、ATEは、実行追加テスト(Run-Additional-Tests)ステップ506に入る。ステップ506は、フェイル(ステップ210)およびパス(ステップ208)がATE RAMにプログラムされることを除いて、フローチャート200(ステップ204から)と同様である。
【0065】
次いで、プログラムNVMステップ508で、ATEは、更新されたテスト結果をATE RAMからMTP NVMにコピーし、フローは終了する。
【0066】
従って、テスト結果に一時的にRAMストレージを用いると、向上されたテストはOTPの代わりにMTP NVMを用いて実現されることができる。
【0067】
理解されるように、
図5に示され、本明細書に記載されたフローチャートは、例示的なフローチャートである。代替の実施形態では、他のフローチャートが用いられることができる。例えば、いくつかの実施形態では、MTP MVMが消去された後、ATE RAMに格納されているテスト結果のコピーはMTP NVMにコピーバックされ、さらなるテスト結果がMTP NVMに書き込まれる。
【0068】
図6Aは、本発明の実施形態による、IC製造テストの第2の方法を概略的に示すフローチャート600である。フローチャートは、IC102(
図1)に結合されたATE104によって実行される。
図6Aに示された例示的な実施形態によれば、IC102は、制御回路を必要としない(フローチャート200、
図2とは異なる)。
【0069】
フローチャートは、実行ICテスト(Run-IC Tests)ステップ602で始まり、ATEは、IC102の様々なテストを実行する。上述で説明したように、テストは、常にパスしなければならない回復不可能なテスト、時々フェイルすることがある(しかしながら、少なくとも1回はパスしなければならない)テスト回復可能なテスト、および例えば、キャリブレーション、パーソナライゼーションなどのさまざまな非テスト手順を含むことできる。
【0070】
次に、復号テスト結果判定(Determine Compound Test Result)ステップ604において、ATEは、ステップ602で実行された試験の結果に従って、復号テスト結果を判定する。結果はパスまたはフェイルのいずれかになることができる。
【0071】
最後に、プログラム複合テスト結果(Program Compound Test result)ステップ606において、ATEは、複合テスト結果をNVMメモリ112にプログラムし、フローチャートは終了する。
【0072】
理解されるように、
図6Aに示されたフローチャートは、例として引用される。代替の実施形態では、他の適切なフローチャートが用いられることができる。例えば、いくつかの実施形態では、ATE104は、複合テスト結果に加えて、またはその代わりに、全てのテスト結果をNVM112にプログラムする。
【0073】
図6Bは、本発明の実施形態による、予めテストされたICの代替の起動を概略的に示すフローチャート650である。フローチャートは、IC102(例えば、IC102のプロセッサによって)によって実行される。
【0074】
フローチャートは、初期化ブートシーケンス(Initial boot Sequence)ステップ652で始まり、ICは、初期化起動タスクを実行する(例えば、BISTを実行する)。次いで、読み取り複合テスト結果(Read Compound Test Result)ステップ654で、ICは、復号テスト結果(IC製造テストでプログラムされている)をNVMから読み取る。
【0075】
次に、チェックテストパス(Check-Test-Pass)ステップ656では、ICは、次いで、読み取ったテスト結果がパスであるかどうかをチェックする。そうであれば、ICは、さらなる起動ステップ658に進み、追加の起動タスクを実行し、次いでフローチャートを離れる(起動が完了する)。
【0076】
ステップ656で、複合テスト結果がフェイルである場合、ICは、起動を中止する(例えば、リセットする)。
【0077】
従って、テストされていないIC(またはテストにフェイルしたIC)が用いられる可能性を排除することにより、テストの信頼性が実質的に向上する。
【0078】
図1~
図5に示され、本明細書に記載された、製造テストシステム100、IC102、OTPメモリ112およびOTPワード400の構成、フローチャート200、300、500、600、および650は、単に概念を明確にするために示された例示的な構成およびフローチャートである。他の適切な構成およびフローチャートは、代替の実施形態で用いられることができる。IC102の異なるサブユニットは、1つ以上の特定用途向け集積回路(ASIC)またはフィールドプログラマブルゲートアレイ(FPGA)などの適切なハードウェアを用いて、ソフトウェアを用いて、ハードウェアを用いて、またはハードウェアとソフトウェア要素の組み合わせを用いて実装されることができる。
【0079】
ATE104および/またはIC102は、本明細書に記載された機能を実行するソフトウェアにプログラムされた、1つ以上の汎用プロセッサを含むことができる。ソフトウェアは、例えば、ネットワークを介して、またはホストから、電子形式でプロセッサにダウンロードされることができ、あるいは、代替的または追加的に、磁気、光学、または電子メモリなどの非一時的有形媒体に提供および/または格納されてもよい。
【0080】
本明細書に記載された実施形態は主にIC製造テストに対処するが、本明細書に記載された方法およびシステムは、モジュールの製造テストなどの他の用途にも用いられることができる。
【0081】
上述の実施形態は、例として引用されており、以下の特許請求の範囲は、上述に具体的に開示および記載された内容に限定されないことに留意されたい。むしろ、この範囲は、上述の様々な特徴のコンビネーションおよびサブコンビネーションの両方、ならびに前述の説明を読んで当業者が知るであろう、先行技術に開示されていないその変更および修正を含む。参照することにより本特許出願に組み込まれた文書は、組み込まれた文書の用語の定義が本明細書で明示的または暗黙的になされた定義と矛盾する場合を除いて、本出願の不可欠な部分と見なされ、本明細書の定義のみが考慮されるべきである。
【符号の説明】
【0082】
100 製造テストシステム
102 集積回路(IC)
104 自動テスト装置(ATE)
106 テストポート
108 機能回路
109 制御回路
110 ビルトインセルフテスト(BIST)回路
112 ワンタイムプログラマブル(OTP)メモリ
200 フローチャート
202~214 ステップ
300 フローチャート
302~316 ステップ
400 ブロック図
402 OTPワード
404 反復
408 例ボックス
500 フローチャート
502~508 ステップ
600 フローチャート
602~606 ステップ
650 フローチャート
652~658 ステップ