説明

半導体デバイス特性測定装置

【課題】 半導体デバイスの並列測定を容易にすることを可能にした半導体デバイス特性測定装置を提供すること
【解決手段】 複数の半導体デバイスの各々に対して複数の測定機器を用いて前記半導体デバイスの特性を測定する半導体デバイス特性測定装置であって、前記複数の半導体デバイスのうち前記半導体デバイスの接続情報に基づいて並列に測定の実行が可能な半導体デバイスと測定関数の組を特定する並列測定可能判断手段と、前記並列測定可能判断手段によって並列に測定の実行が可能な半導体デバイスの測定関数の前記複数の測定機器を抽象的に特定する第1の抽象名を用いた複数の測定関数部とを具備する半導体デバイス特性測定装置。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、半導体ウェハ上のTEG(Test Elementary Group)などの特性を測定する半導体デバイス特性測定装置に関する。
【背景技術】
【0002】
例えば特許文献1に記載されているような、SMUを複数個備えて、電圧あるいは電流のどちらかを与えながら、他方の特性を測定する、半導体パラメトリックテストシステムが知られている。近年では、半導体パラメトリックテストシステムは、ウエハの製造プロセス制御のために、ウエハ上のトランジスタの電圧あるいは電流特性を調べるといった基本的なことから、ウエハ上に形成されたさまざまなデバイスの電圧あるいは電流特性、または、低周波から高周波にわたる特性測定にも用いられている。
【0003】
他方、一般的なICテスタの分野では、複数の被試験素子すなわちDUT(Device Under Test)を並列測定する技術として、例えば特許文献2に記載されているように、同時実行されるそれぞれのテストプログラムで使われる装置ピン番号を、容易に割り当てる技術として、素子毎に割り当てるべきピン番号の割当済の表を使う技術が知られている。
【0004】
特許文献2のようなICテスタでは、多数の同一規格あるいは同一仕様の測定装置を備えている場合を前提に、ユーザがテストプログラムの振舞いを熟知して、テストプログラムが確実に並列に動くピンの組み合わせを予め見つけて、ピングループテーブルにデータを格納しておく必要があり、多大な労力を必要としていた。
【特許文献1】特開平11−163063号公報
【特許文献2】特開平5−322978号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
以上のように、並列測定を可能にするためには、多大な労力を必要としていた。
【0006】
本発明は、以上の点に鑑みてなされたものであり、半導体デバイスの並列測定を容易にすることを可能にした半導体デバイス特性測定装置を提供することを目的とする。
【課題を解決するための手段】
【0007】
この目的を達成するため、本発明の半導体デバイス特性測定装置は、複数の半導体デバイスの各々に対して複数の測定器を用いて前記半導体デバイスの特性を測定する半導体デバイス特性測定装置であって、前記複数の半導体デバイスのうち前記半導体デバイスの接続情報に基づいて並列に測定の実行が可能な半導体デバイスと測定関数の組を特定する並列測定可能判断手段と、前記並列測定可能判断手段によって並列に測定の実行が可能な半導体デバイスの測定関数の前記複数の測定器を抽象的に特定する第1の抽象名を用いた複数の測定関数部とを具備することを特徴とする。
【0008】
また、本発明の半導体デバイス特性測定装置は、前記複数の測定器を抽象的に特定する第2の抽象名が記憶されている測定器情報を有し、前記並列測定可能判断手段によって並列に測定の実行が可能な半導体デバイスと測定関数の組に対し抽象的に特定された測定器を前記測定関数に割り付ける測定器割付手段をさらに具備することを特徴とする。
【0009】
また、本発明の半導体デバイス特性測定装置は、前記測定器情報には、前記複数の測定器を抽象的に特定する第2の抽象名と測定関数に割り付ける場合の優先度とが関連付けて記憶されており、前記測定器割付手段は、抽象的に特定された測定器のうち優先度が高い順に前記測定関数に割り付けることを特徴とする。
【0010】
また、本発明の半導体デバイス特性測定装置は、前記第2の抽象名に対して割り付け可能な測定器が複数存在する場合には、前記第2の抽象名に対する前記優先度は、代替が利かない測定器との組み合わせほど低く設定され、また、ある測定器を特定し得る前記第2の抽象名が複数存在する場合には、前記第2の抽象名に対する前記優先度は、代替の利かない前記第2の抽象名ほど優先度が高く設定されていることを特徴とする。
【0011】
また、本発明の半導体デバイス特性測定装置では、前記複数の測定関数部が並列動作することを特徴とする。
【0012】
また、本発明の半導体デバイス特性測定装置は、パラレルテスト属性を入力するパラレルテスト属性入力手段を有し、前記パラレル属性入力手段に前記半導体デバイスのうち特定の組み合わせに対してのみ並列測定を許可する情報が入力された場合には、前記並列測定可能判断手段は、前記特定の組み合わせの中で並列実行が可能か否かを判断することを特徴とする。
【0013】
また、本発明の半導体デバイス特性測定装置は、パラレルテスト属性を入力するパラレルテスト属性入力手段を有し、前記パラレル属性入力手段に前記半導体デバイスのうち特定の組み合わせは並列測定ができないことを示す情報が入力された場合には、前記並列測定可能判断手段は、前記特定の組み合わせ以外の中で並列実行が可能か否かを判断することを特徴とする。
【0014】
また、本発明の半導体デバイス特性測定装置は、パラレルテスト属性を入力するパラレルテスト属性入力手段を有し、前記パラレル属性入力手段に前記半導体デバイスのうち特定の半導体デバイスは並列測定ができないことを示す情報が入力された場合には、前記並列測定可能判断手段は、前記特定の半導体デバイスを除いて並列実行が可能か否かを判断することを特徴とする。
【0015】
さらに、本発明の半導体デバイス特性測定装置は、半導体デバイスに対して複数の測定器を用いて測定関数を実行して前記半導体デバイスの特性を測定する半導体デバイス特性測定装置であって、前記測定器を抽象的に特定する抽象名が記憶されている測定器情報を有し、半導体デバイスと測定関数の組に対し抽象的に特定された測定器を前記測定関数に割り付ける測定器割付手段とを具備することを特徴とする。
【発明の効果】
【0016】
本発明によれば、測定関数の並列動作における測定器の指定及び実際の測定器の割付において抽象的包括的に指定することにより並列動作のために特別な作業をする必要が無くなる。また、測定器の割付に対して優先度をつけることにより特殊な測定器から先に割り付けられ並列動作をすることができる場合を多くすることができる。
【発明を実施するための最良の形態】
【0017】
本発明の実施形態を図面に基づいて説明する。
【0018】
図1は、本発明の一実施形態の半導体パラメトリックテストシステムの構成を示すブロック図である。
【0019】
同図において、100は、半導体ウェハ上のTEG(Test Elementary Group)にプローブをあてるためのプローバを、200は、半導体ウェハ上のTEGの半導体デバイスの特性を測定する半導体パラメトリックシステムを示している。ここで、測定対象(DUT)は、プローバ100内にあり図示を省略する。
【0020】
半導体パラメトリックテストシステム200は、テスタ210、データ処理等を行うコントローラ220、ディスプレイ230、キーボード240、マウス250から構成される。コントローラ220は、プログラム、データを保存するROM(Read Only Memory)222、HDD(Hard Disk Drive)224、CD(Compact Disc)/DVD(Digital Versatile Disk)ドライブ225、プログラムの実行時のワーキングメモリ等として用いられるRAM(Random Access Memory)223、プログラムの実行を行うCPU(Central Processing Unit)221、及びこれらを電気的に接続するバス226とから構成される。
【0021】
図2は、図1に示す半導体パラメトリックテストシステムのソフトウェア構造を示す図である。同図に示すように、このシステムのテストプログラムは2つのプロセス300及び400から構成される。プロセス300は、3つのスレッド310、320、330から構成され、スレッド310としては、シーケンス制御部311が動作する。さらに、スレッド320として、サブシーケンス制御部321、測定関数部322、テスターAPI(Application Program Interface)323が動作する。さらに、スレッド330として、サブシーケンス制御部331、測定関数部332、テスターAPI333が動作する。なお、サブシーケンス制御部、測定関数部、テスターAPIは2つのスレッド上で動作するよう構成されているが、3つ以上のスレッドにそれぞれ設けて3つ以上の並列動作を行うようにすることもできる。
【0022】
また、プロセス400は、3つのスレッドから構成され、スレッド410にはテスター制御部411が、スレッド420にはテスター制御部421が、スレッド430にはハードウェア管理部431が動作するようになっている。なお、スレッド310、320、330はそれぞれ並列に実行することが可能になっており、スレッド410、420、430はそれぞれ並列に実行することが可能になっている。プロセス300には、テストプラン10とハードウェア利用定義20が入力される。
【0023】
図3はテストプラン10の例を示す図である。同図に示すように、テストプラン10中の1個のデバイス名に対応する測定関数群をサブシーケンスとして複数並列に実行する。図3のテストプラン10では、デバイス名TR1に続く2行分のシーケンス(Ids、Idoff)がTR1に対するサブシーケンスであり、TR2、TR3、TR4に対するサブシーケンスがそれに続くことになる。モジュール中の複数のサブシーケンスはそれぞれの測定対象物が物理的に独立していれば、並列に測定可能である。物理的に独立であることは、サブシーケンス中の測定関数で接続するピンが、サブシーケンス間で重複しないことから判断する。この基準に基づくと図3に示すTR1、TR2、TR3、TR4に対するサブシーケンスはすべて並列実行可能であると判断できる。
【0024】
一方、被測定対象物が物理的に独立していてもサブシーケンスが並列に実行できない場合がある。例えば、図3に示すTR1とTR2のサブシーケンスを取り上げると、測定関数Idoffの実行が含まれるがこれらのシーケンスにおいては、具体的な実ハードウェアであるSMUを明示的に使用するとIdoffの関数を並列に実行することができなくなる。そこで、並列実行を実現させるため、抽象ハードウェア名を使用して同等のSMUを振り分ける。
【0025】
図4は、図3のシーケンスで呼び出される測定関数Idoffのプログラム例を示す。Idoffなどの図4の中のプログラムで呼び出されるconnect_pin()などの関数が図2のテスターAPIに相当する。測定関数部322、332では、テスターを構成する出力測定装置であるSMUを抽象名を用いて指定する。
【0026】
図5は、テスターにおいて割り当てられているハードウェアを特定するポート番号、ポート名が割り当てられている状態を示す図である。SMUを接続するポートはポート番号ごとに異なる特徴を持ち、低電流印加測定用ポートは経路の漏れ電流が小さく低電流の印加、測定の確度が高い。ケルビン測定用ポートはケルビン接続により電圧の印加、測定確度が高い。
【0027】
図6は、テスターに含まれるSMUの種類と測定性能を示す図である。同図に示すようにSMUには、MPSMU、HPSMU、HRSMUがあり、低電流印加測定用ポートには、MPSMUかHRSMUが接続されているので図4の例ではconnect_pin()に対してSMU1を指定することは低電流印加測定用ポートである1番のポートに接続されたMPSMUかHRSMUに対してピンを接続することになる。
【0028】
図7は、テストプラン10とともにプロセス300に入力されるハードウェア利用定義20を示す図である。ハードウェア利用定義20には測定関数中でのAPI呼び出しで指定するハードウェアにどういう種類のものを想定するのかを定義する。
【0029】
図8は、ハードウェア利用定義において使用される抽象的な測定器の名称とその意味を記述した表である。
【0030】
図9は、シーケンス制御部311が有する情報を模式的に表した図である。同図に示すようにシーケンス制御部311はサブシーケンス状態テーブル311aと実行中の並列可能範囲を記憶するための並列実行範囲現在値311bとを有している。
【0031】
図10は、サブシーケンス状態テーブル311aに格納されている情報を示す図である。
【0032】
サブシーケンス状態テーブルにはモジュール中のサブシーケンス毎に並列実行可能なサブシーケンスの範囲を特定する1から始まる番号(以下並列可能範囲番号とする)、並列実行可能範囲内で排他的に処理するサブシーケンスを特定する1から始まる番号(以下排他シーケンス番号とする)、サブシーケンスの処理ステート、検査済フラグを保持する。
【0033】
シーケンス制御部311はモジュールに対するシーケンスの実行前に同一モジュール中の並列実行可能な範囲内にあるサブシーケンスを接続情報から調べ、サブシーケンスごとに並列可能範囲番号を割り振る。システムの初期設定では、全てのサブシーケンスの番号を1とし、テストプランにおいて並列可能範囲番号を変化させる指示がある場合には、異なる番号を振る。一方、並列実行可能な範囲内で、並列に実行できないサブシーケンスには同じ排他シーケンス番号を割り振る。図10では、TR1、TR2、TR3、TR4はそれぞれ、排他的に処理しないので異なる値が割り振られる。処理ステータスには、未実行、実行中、実行済の3つがあり、初期設定では、未実行とする。検査済フラグは真又は偽の値をとり、初期設定では、偽としておく。さらにシーケンス制御部311は初期設定として、並列可能範囲現在値を1とする。
【0034】
シーケンス制御部311では、並列可能範囲現在値を用いてサブシーケンス状態テーブル中で並列可能範囲番号が同一のサブシーケンスに限定し、さらに並列可能範囲中のサブシーケンスの排他シーケンス番号、処理ステータス、検査済フラグを用いて実行を試みるべきサブシーケンスを特定する。
【0035】
図12は、サブシーケンス処理の動作を示すフローチャートである。
【0036】
まず、モジュールへチャックを移動する(ステップST1201)。次に、サブシーケンス状態テーブルを初期化し、並列可能範囲現在値を1にする(ステップST1202)。並列可能範囲現在値に一致する並列可能範囲に未実行のサブシーケンスがある場合には(ステップST1203)、モジュール内の未実行サブシーケンスから次に実行可能性を検査するものを探す(ステップST1204)。ステップST1203において、未実行のサブシーケンスがない場合には、並列可能性範囲がモジュール中最後のものであるかを調べる
(ステップST1220)。最後の並列可能性範囲である場合には、モジュール中のシーケンスをすべて終了したと判断し(ステップST1218)、モジュールのサブシーケンス処理を終了する。一方、最後の並列可能性範囲でない場合には、並列可能範囲現在値を1増やして(ステップST1205)、ステップST1204に進む。そして、実行可能性検査の対象となる未実行サブシーケンスがあるかを判断する(ステップST1206)。実行可能性検査の対象となる未実行サブシーケンスが無い場合には、実行中のサブシーケンス制御部のいずれかが待機状態になるのを待ち、待機状態になったら実行完了したサブシーケンスについてサブシーケンス状態テーブルの処理ステータスを実行済に変え(ステップST1216)、ステップST1212に進む。一方、実行可能性検査の対象となる未実行サブシーケンスがある場合には、検査対象のサブシーケンスについてサブシーケンス状態テーブルの検査済フラグを真にする(ステップST1207)。そして、検査対象サブシーケンスが実行中の他のサブシーケンスと接続情報が重複する場合には(ステップST1208)、モジュール中の未実行サブシーケンスから次に実行可能性検査をするものを探す(ステップST1209)。そして、実行可能性検査の対象となる未実行サブシーケンスがある場合には(ステップST1210)、ステップST1207に進む。実行可能性検査の対象となる未実行サブシーケンスが無い場合には(ステップST1210)、モジュール中の全ての未実行サブシーケンスの検査済フラグを偽に変え(ST1211)、実行中のサブシーケンス制御部のいずれかが待機状態になるのを待ち、待機状態になったら実行完了したサブシーケンスについてサブシーケンス状態テーブルの処理ステータスを実行済に変え(ステップST1221)、ステップST1212に進む。ステップST1208で、検査対象サブシーケンスが実行中の他のサブシーケンスと接続情報が重複しない場合には(ステップST1208)、サブシーケンス制御部に実行するサブシーケンスを通知する(ステップST1219)。そして、サブシーケンスに対してハードウェアが割り付けられ実行が開始された場合には(ステップST1214)、実行開始したサブシーケンスについてサブシーケンス状態テーブルの処理ステータスを実行中に変更し、全ての未実行サブシーケンスの検査済フラグを偽に変える(ステップST1215)。ステップST1212では、待機状態のサブシーケンス制御部があるかを調べ、無い場合には、いずれかのサブシーケンス制御部が待機状態になるのを待ち、待機状態になったら実行完了したサブシーケンスについてサブシーケンス状態テーブルの処理ステータスを実行済に変える(ST1213)。ある場合には、ST1203に進む。
【0037】
ここで、図12のステップST1204とステップST1209を、詳しく説明するフローチャートを図11に示す。図11は、シーケンス制御部311が実行可能性を検査する未実行サブシーケンスを特定する動作を示すフローチャートである。
【0038】
同図に示すように、まず、サブシーケンス状態テーブル中の並列可能範囲現在値と一致する並列可能範囲番号を持つサブシーケンスをテーブルの最初から検査し、最初に現れる処理ステータスが未処理で検査済フラグが偽のサブシーケンスを特定する(ステップST1101)。このようなサブシーケンスが無い場合には(ステップST1102)、実行可能性を検査する未実行サブシーケンスが無いと判断する(ステップST1103)。条件を満たすサブシーケンスがある場合には(ステップST1102)、特定したサブシーケンスと排他シーケンス番号の一致する実行中のサブシーケンスがある場合には(ステップST1104)、特定したサブシーケンスの次のサブシーケンス以降から、サブシーケンス状態テーブル中の並列可能範囲現在値と一致する並列可能範囲番号を持つサブシーケンスを検査し、最初に現れる処理ステータスが未実行で検査済フラグが偽のサブシーケンスを特定し(ステップST1105)、ステップST1102に進む。
【0039】
一方、ステップST1104で、特定したサブシーケンスと排他シーケンス番号の一致する実行中のサブシーケンスが無い場合には、実行可能性を検査する未実行サブシーケンスが特定される(ステップST1106)。以上で、図11のフローチャートについての説明が終了した。
【0040】
なお、すべてのサブシーケンスの実行が終了すると、次のモジュールに対して同様の処理を繰り返す。
【0041】
デバイスが電気的に並列測定を許すかは、測定関数に対する接続情報からのみでは判別できない場合がある。このような例としては以下の2つの場合がある。
【0042】
<第1の場合>
デバイス同士が基盤又はウェルを共有しており、接続には現れない形で電気的につながっている場合。
【0043】
<第2の場合>
設計上は電気的に隔離されているが、プローブカードなどのデバイス構造以外の理由で測定が相互に干渉する場合。
【0044】
本発明の実施形態では、テストプラン10中のデバイス名に対してパラレルテスト属性を指定することを可能にし、パラレルテスト実行に対する制約をテスターに知らせることを可能とした。
【0045】
図13は、パラレルテスト属性を指定することを可能にしたテストプラン10を示す図である。同図に示す「PT_THREAD_BEGIN, PT_THREAD_END」属性は上述の<第1の場合>に対して用いる。この属性指定により、BEGINとENDにより囲まれたデバイスに対するサブシーケンスを排他的(非並列)に実行することが指示される。図13の例では、デバイスTR1、TR2がウェルを共有し、同様にTR3とTR4とが基盤を共有することを仮定しており、この場合にはTR1、TR2のサブシーケンスとTR3、TR4のサブシーケンスとは並列実行をすることが可能である。
【0046】
図14は、図13に示すシーケンスに対するサブシーケンス状態テーブルを示す図である。同図に示すように、「PT_THREAD_BEGIN, PT_THREAD_END」で囲まれたサブシーケンスに対して共通の排他シーケンス番号を与えるように初期化する。このサブシーケンス状態テーブルに基づいて図11、図12のフローチャートに従ってシーケンスの処理を実行するとTR1、TR2のサブシーケンスとTR3、TR4のサブシーケンスとを並列に実行できる。
【0047】
図15は、上述した<第2の場合>、すなわち、設計上は電気的に隔離されているが、プローブカードなどのデバイス構造以外の理由で測定が相互に干渉する場合に用いるパラレルテスト属性を示すテストプランである。同図に示すように、「PT_SCHED_BEGIN」「PT_SCHED_END」で囲まれたデバイスは、それらのデバイスに対するサブシーケンスのみが並列実行の対象となることを指示する。同図に示す例では、TR1、TR2のサブシーケンスは並列実行により正常に測定が行え、同様にTR3、TR4のサブシーケンスも正常に測定が行えるが、TR1、TR2のサブシーケンスと、TR3またはTR4のサブシーケンスを並列実行すると、相互干渉により正常測定が行えない場合を仮定しており、このような並列実行を禁止するようにこの属性が設けられている。
【0048】
図16は、図15のテストプランに対するサブシーケンス状態テーブルを示す図である。同図に示すように、「PT_SCHED_BEGIN」「PT_SCHED_END」で囲まれたサブシーケンスごとに異なる並列可能範囲番号を与えるように初期化する。このサブシーケンス状態テーブルに基づいて図11、図12のフローチャートに従ってシーケンスの処理を実行するとTR1、TR2のサブシーケンスが並列に実行され、このシーケンスが実行されると、TR3、TR4のサブシーケンスを並列に実行できる。
【0049】
図17は、指定されたデバイスのサブシーケンス実行時には、別のデバイスのサブシーケンスは実行できないことを指示する属性が記載されたテストプランを示す図である。同図に示すように、デバイスTR4のパラレルテスト属性には「PT_DISABLE」が指定されており、これは上述した<第2の場合>に対して用いる。この例では、デバイスTR4のIdoff測定が微小電流を測定するため、電流測定を妨げる他の測定を抑止することを想定しているものである。
【0050】
図18は、図17のテストプランに対するサブシーケンス状態テーブルを示す図である。同図に示すように「PT_DISABLE」の付加されたサブシーケンスに前後のサブシーケンスと異なる並列可能範囲番号を与えるように初期化する。このサブシーケンス状態テーブルに基づいて図11、図12のフローチャートに従ってシーケンスの処理を実行するとTR1、TR2、TR3のサブシーケンスの並列実行が終了するとTR4のサブシーケンスが単独に実行できる。
【0051】
シーケンス制御部311は、図12の処理において、サブシーケンス制御部321、331に対してサブシーケンスを指定して実行を要求する。
【0052】
図19は、サブシーケンスが実行される場合の信号の受け渡しを示すシーケンス図である。同図に示すように、シーケンス制御部は、サブシーケンス制御部に対して実行対象のサブシーケンスを通知し(S1901)、サブシーケンス制御部はサブシーケンス実行に必要なハードウェアの種類と数を調べる。そして、サブシーケンス制御部はテスター制御部に対してハードウェア割り当てを要求し(S1902)、テスター制御部はハードウェア管理部に対してハードウェア割り当てを要求する(S1903)。ハードウェア管理部はハードウェアを割り当て、割り当てたハードウェアをテスター制御部に通知する(S1904)。
テスター制御部はハードウェア割り当て成功をサブシーケンス制御部に通知し(S1905)、サブシーケンス制御部はシーケンス制御部に対しハードウェア割り当て成功を通知する(S1906)。次に、サブシーケンス制御部はポート名と割り当て済ハードウェアの関係更新を要求し(S1907)、テスター制御部はポート名とハードウェアの関連付けを行う。次に、サブシーケンス制御部は測定関数の呼び出しを測定関数部に対して行い(S1908)、測定関数部はテスター制御部に対してテスターAPIによるハードウェアの設定を行い(S1909)、テスターAPIによる測定開始の要求をする(S1910)。そして、測定関数部はテスター制御部から測定結果を取得し(S1911)、サブシーケンス制御部に測定関数の終了を通知する(S1912)。シーケンスS1913からシーケンスS1918までは、上述したシーケンスS1907からシーケンスS1912と同様であるので重複する説明を省略する。次に、サブシーケンス制御部はテスター制御部に対してハードウェア割り当て解除を要求し(S1919)、テスター制御部はハードウェア管理部にハードウェアの割り当て解除を要求する(S1920)。ハードウェア管理部は、ハードウェア管理部はハードウェアの割り当てを解除する。その後、ハードウェア管理部はテスター制御部にハードウェア割り当て解除終了を通知し(S1921)、テスター制御部はサブシーケンス制御部にハードウェア割り当て解除終了を通知し(S1923)、サブシーケンス制御部はシーケンス制御部にサブシーケンスの終了を通知する(S1922)。
【0053】
すなわち、シーケンス制御部311から要求を受けたサブシーケンス制御部321、331ではテストプランからサブシーケンスで実行される測定関数を特定し、ハードウェア利用定義からそれぞれの測定関数の実行に必要な抽象ハードウェアの種類のリストを作成する。サブシーケンス制御部321、331はこのリストをテスター制御部411、421を経由してハードウェア管理部431に渡し、ハードウェア管理部431が要求に対する実ハードウェアの割り当てを行う。ハードウェア管理部431において実ハードウェアの割り当てに成功すると、割り当てた実ハードウェアがテスター制御部411、421に通知され、サブシーケンス制御部321、331はサブシーケンス中のすべての測定関数の実行に必要な実ハードウェアがそろっていると判断し、測定関数の実行に移る。サブシーケンス制御部321、331では測定関数の実行毎にテスター制御部411,421に測定関数中のポート名と抽象ハードウェア種類のリストを渡し、テスター制御部411、421における割り当てられた実ハードウェアとポート名の関係付けを更新した上で測定関数を実行する。
【0054】
図20は、ハードウェア管理部431に格納されている、テスター中の個別ハードウェアを管理するためのハードウェア管理テーブルを示す図である。同図に示すようにハードウェア管理テーブルには個別のハードウェアに対して割り当てられたID,実ハードウェア種類、ポート番号、ポート種類、経路共有情報、利用ステータスが記録される。これらの値はテスターの起動時に、テスター中のハードウェア構成とその状態に一致するように初期化される。
【0055】
IDには実ハードウェア毎に異なる番号が与えられ、同じIDによりテスター制御部411、421も実ハードウェアを特定できる。経路共有にはハードウェアからプローブピンにいたる経路を共有しているハードウェアのIDを記録する。利用ステータスには未使用と使用中の2種類がある。図20の例ではTri axialコネクタによりケルビン接続の外部装置として電圧計(VM)がポート105(AUX5)に接続されている。ここで電圧計は最大測定電圧100V、測定電圧分解能1uVと仮定する。またポート105はポート5と経路を共有する。
【0056】
ハードウェア管理部431におけるハードウェアの割り当て処理において、ハードウェア利用定義で指定される抽象ハードウェア種類に対して、他のハードウェアによる代替が困難な抽象ハードウェア種類から優先的にハードウェアを割り当てる。この方法により、他のハードウェアでの代替の利かないハードウェアは優先して割り当てが行われ、代替のきく抽象ハードウェア種類に先に割り付けられることを避ける。例えば、後述の図21の優先度23のHPSMUと優先度33のMPSMUの優先度の割り当てがこれに当たる。また、ハードウェアの割り当て処理において、ハードウェア利用定義で指定される抽象ハードウェア種類に対して、複数の実ハードウェア種類が割り当て可能な場合には、代替が容易なハードウェアを優先して割り当てる。この方法により、本当にそのハードウェアを必要とする場合に備え代替が困難なハードウェアの割り当てが先延ばしされるため、より多くのシーケンスを並列に実行することが可能になる。例えば、後述の図21の優先度30ないし33のMPSMUがこれに当たる。
【0057】
図21に示されるテーブルは、ハードウェア管理部で、抽象ハードウェア種類名に対して割り付けられる実ハードウェアの種類と優先度を示すテーブルである。以下、本明細書中では、このテーブルを、簡単のためにハードウェア割り当て優先度テーブルと称する。このテーブルでは、ポートの種類とSMUあるいは電圧計等の測定器の種類との組み合わせのうち、実ハードウエアとして存在し得る組み合わせあるいは構成に対して、抽象ハードウェア種類名と優先度を定義している。
【0058】
図22は、ハードウェア管理部431が有している情報を模式的に示す図である。同図に示すように、ハードウェア管理部431は、ハードウェア管理テーブル431aとハードウェア割り当て優先度テーブル431b、割り当て対象抽象ハードウェアテーブル431c、割り当て済ハードウェアリスト431dを情報として有している。
【0059】
図23は、ハードウェア管理部431が実ハードウェアの割り当てを行う処理動作を示すフローチャートである。同図に示すように、割り当て対象抽象ハードウェアテーブル431c、割り当て済ハードウェアリスト431dを初期化する(ステップST2301)。その後、検査対象優先度を1に設定し(ステップST2302)、割り当て対象抽象ハードウェアテーブル431c中の割り当て済フラグが偽の抽象ハードウェア種類名に検査対象優先度の抽象ハードウェア種類名が含まれるかを調べる(ステップST2303)。検査対象優先度の抽象ハードウェア種類名が含まれない場合には(ステップST2304)、優先度が最大であるかが調べられ(ステップST2305)、最大でない場合には、検査対象優先度を1増やし(ステップST2306)、ステップST2303に進む。ステップST2305で優先度が最大である場合には、割り当て済ハードウェアリスト431dに含まれる実ハードウェアに対するハードウェア管理テーブル431aの利用ステータスを未使用に変更する(ST2307)。この場合は、割付に失敗したとして終了する。
【0060】
一方、ステップST2304で、検査対象優先度の抽象ハードウェア種類名が含まれる場合には、検査対象の優先度に対する実ハードウェアがあるかをハードウェア管理テーブル431aから調べる(ステップST2308)。実ハードウェアが無い場合には(ステップST2309)、ステップST2305に進む。実ハードウェアがある場合には(ステップST2309)、ハードウェア管理テーブル431aにおいて特定した実ハードウェアとそのハードウェアと経路を共有するハードウェアの利用ステータスを使用中に変更し、それぞれのハードウェアのIDを割り当て済ハードウェアリストに追加する(ステップST2310)。次に、測定関数に対する割当て済フラグが偽の抽象ハードウェア種類が割り付けた実ハードウェアにより機能を満たされるかを検査し、実ハードウェアを割り当てる抽象ハードウェア種類を特定する。測定関数の複数の抽象ハードウェア種類が条件を満たす場合にはハードウェア割り当て優先度の高い種類名に割り当てる。割り当てられた抽象ハードウェア種類に対する割り当て対象抽象ハードウェアテーブル431cの割り当て済フラグを真に変更する(ステップST2311)。そして、測定関数に実ハードウェアを割り当てなかった場合には(ステップST2312)、測定関数に対する割り当て済フラグが偽の抽象ハードウェア種類が割り付けた実ハードウェアと経路を共有するハードウェアにより機能を満たされるかを検査し、経路を共有するハードウェアを割り当てる抽象ハードウェア種類名を特定する。測定関数の複数の抽象ハードウェア種類が条件を満たす場合にはハードウェア割り当て優先度の高い種類名に割り当てる。割り当てられた抽象ハードウェア種類に対する割り当て対象ハードウェアテーブル431cの割り当て済フラグを真に変更する(ステップST2313)。そして、割り当て対象抽象ハードウェアテーブルの割り当て済フラグよりすべて割り当て済と判定できれば(ステップST2314)、割付に成功したとして処理を終了する。割り当て済でなければ、ステップST2303に進む。
【0061】
一方、ステップST2312において、測定関数に実ハードウェアを割り当てた場合にはステップST2314に進む。なお、ステップST2311からステップST2313は、割り当て対象の抽象ハードウェアテーブルの全ての測定関数に対して繰り返す。
【0062】
図24は、割り当て対象抽象ハードウェアテーブル431cを示す図である。同図に示すように、割り当て対象抽象ハードウェアテーブル431cには、サブシーケンスに含まれる測定関数名、測定関数の実行に必要な抽象ハードウェア種類、ハードウェアが割り当て済かを示すフラグが含まれる。割当て対象抽象ハードウェアテーブル431cは、サブシーケンス制御部321、331からテスター制御部411、421を介して渡されたサブシーケンス中の測定関数毎に必要な抽象ハードウェアのリストに基づき初期化し、割当て済フラグはすべて偽に初期化する。
【0063】
また、図22に示す割当て済ハードウェアリストはハードウェア管理テーブルにおいて個々のハードウェアにつけられたIDのリストである。
【0064】
図25は、テスター制御部411(又は421)が有する情報を模式的に示す図である。
【0065】
同図に示すように、テスター制御部411は、ハードウェア管理テーブル411a、ハードウェア割り当て優先度テーブル411b、ポート名関連付けテーブル411c、割り当て済ハードウェアテーブル411dとを有している。なお、ハードウェア管理テーブル411aとハードウェア割り当て優先度テーブル411bはハードウェア管理部431におけるものと等価である。割り当て済ハードウェアテーブル411dはハードウェア管理部431から渡された、割り当てたハードウェアのリストにより初期化されるハードウェアIDと関連付け済フラグを持つテーブルである。
【0066】
図26は、テスター制御部411の測定関数におけるポート名とハードウェアの関連付けを行う処理を示すフローチャートである。
【0067】
同図に示すように、まず、ポート名関連付けテーブルを初期化し、割り当て済ハードウェアテーブルの関連付け済フラグを全て偽にする(ステップST2601)。次に検査対象優先度を1に設定し(ステップST2602)、ポート名関連付けテーブル中の関連付け済フラグが偽のレコードの抽象ハードウェア種類名に検査対象優先度の抽象ハードウェア種類名が含まれるかを調べる(ステップST2603)。検査対象優先度の抽象ハードウェア種類名がふくまれない場合には(ステップST2604)、検査対象優先度を1増やし(ステップST2605)、ステップST2603に進む。
【0068】
一方、ステップST2604で、検査対象優先度の抽象ハードウェア種類名が含まれる場合には、検査対象の優先度に対するハードウェアが割り当て済ハードウェアテーブル中の関連付けフラグが偽のレコードにあるかを調べる(ステップST2606)。そしてハードウェアがない場合には(ステップST2607)、ステップST2605に進む。
【0069】
一方、ステップST2607において、ハードウェアがある場合には、割り当て済ハードウェアテーブルにおいて特定したレコードの関連付け済フラグを真に変更する(ステップST2608)。そして、割り当て済ハードウェアテーブルより特定したハードウェアIDを、ポート名関連付けテーブルにおいて特定したレコードのハードウェアIDに設定し、関連付け済フラグを真に変更する(ステップST2610)。ポート名関連付けテーブルの全ての関連付け済フラグが真でない場合には(ステップST2611)、ステップST2603に進み、全ての関連付け済フラグが真の場合には(ステップST2611)、関連付けを終了する。
【0070】
図27は、割り当て済ハードウェアテーブル411dを示す図である。初期化時に関連付け済フラグは全て偽に設定される。
【0071】
図28は、ポート名関連付けテーブル411cを示す図である。このテーブルはサブシーケンス制御部からポート名と割り当て済ハードウェアの関係更新を要求されるときに渡される測定関数に対するポート名と抽象ハードウェア種類のテーブルにより初期化される。初期化時にハードウェアIDは無効な値に、関連付け済フラグは偽に設定され、図26の処理によりすべてのポート名に対してハードウェアIDが関連付けられる。
【0072】
ポート名と実ハードウェアの関連付け後にサブシーケンス制御部は測定関数の呼び出しを行い、測定関数部はテスターAPIにポート名を渡しテスター制御部にハードウェアの制御を要求する。テスター制御部ではポート名関連付けテーブルを用いてポート名からハードウェアを特定し、このハードウェアに対してAPIに対応する制御を行う。
【0073】
次に上述した構成の半導体パラメトリックテストシステムによりサブシーケンスの並列実行を行った例を示す。
【0074】
図29は、この例に使用するテスターの構成を示す図である。このテスター構成で図7のハードウェア利用定義を用いてサブシーケンスの並列実行を行う場合を考える。ここでシステムには、サブシーケンス制御部とテスター制御部のスレッドがそれぞれ3個あり、サブシーケンス中の測定関数の実行には所定の時間がかかると考える。
【0075】
図30は、サブシーケンス中の測定関数の実行にかかる時間を仮定したものである。なお、測定関数実行以外にかかる時間は無視できるほど小さいと仮定する。
【0076】
図31は、サブシーケンスの実行結果を示す図である。サブシーケンスの実行は同図に示すように、測定開始時刻(モジュール移動完了からの経過時間により表す)に開始され、そのときハードウェアがSMU1、SMU2、SMU3に適切に割り付けられることがわかる。
【0077】
図32は、他の実施形態の半導体パラメトリックテストシステムの構成を示す図である。同図において、図2に示すものと同一の部分には同一の符号を付し重複する説明を省略する。なお、このシーケンス制御部321aは図2のサブシーケンス制御部321に相当する。
【0078】
測定関数におけるポート名を用いたテスターAPI呼び出しがテスター内のハードウェアを一意に特定するとハードウェア構成の異なるテスター間では、同じ測定関数を使うことができなくなる不都合がある。測定関数に用いるハードウェアを具体的に記載するとあるシステムでは動作しても、他のシステムでは動作しない場合がある。例えば、測定関数で、ポート番号1のポートに接続されたSMUを指定していると、ポート番号1のポートにSMUが接続しているシステムでは動作するが、同じSMUが他のポートに接続されていた場合に同じプログラムで動作しない。
【0079】
一方、測定関数に使うSMUとして、低電流印加測定用ポートであるMPSMU相当のSMUを使うと抽象的に指定すれば、他のポートにそのようなSMUが接続されていれば使用することができ、プログラムを書き換える必要がなく別のシステムにおいてその半導体パラメトリックシステムを用いることができる。
【0080】
図33は、図32に構成を示す実施形態の半導体パラメトリックシステムの動作を示すシーケンス図である。
【0081】
まず、シーケンス制御部は測定関数実行に必要なハードウェアの種類と数を調べる(S3301)。次に、シーケンス制御部はテスター制御部に対してハードウェア割り当てを要求する(S3302)。テスター制御部はハードウェア管理部にハードウェア割り当てを要求し(S3303)、ハードウェア管理部はハードウェアを割り当て(S3304)、テスター制御部に割り当てたハードウェアを通知する(S3305)。次にテスター制御部はシーケンス制御部にハードウェア割り当て成功を通知し(S3306)、シーケンス制御部はテスター制御部にポート名と割り当て済ハードウェアの関係更新を要求する(S3307)。テスター制御部はポート名とハードウェア関連付けをする(S3308)。
【0082】
次に、シーケンス制御部は、測定関数の呼び出しを行い(S3309)、測定関数部はテスター制御部にテスターAPIによるハードウェアの設定をするとともに(S3310)、テスターAPIによる測定開始の要求をする(S3311)。次に、測定関数部はテスター制御部から測定結果を取得し(S3312)、測定関数の終了をシーケンス制御部に通知する(S3313)。シーケンス制御部はハードウェア割り当て解除をテスター制御部に要求し(S3314)、テスター制御部はハードウェア管理部にハードウェアの割り当て解除を要求し(S3315)、ハードウェア管理部はハードウェアの割り当てを解除する。そして、ハードウェア管理部はテスター制御部にハードウェア割り当て解除終了を通知し(S3317)、テスター制御部はシーケンス制御部にハードウェア割り当て解除終了を通知する(S3318)。
【図面の簡単な説明】
【0083】
【図1】本発明の一実施形態の半導体パラメトリックテストシステムの構成を示すブロック図である。
【図2】図1に示す半導体パラメトリックテストシステムのソフトウェア構造を示す図である。
【図3】テストプランの例を示す図である
【図4】図3のシーケンスで呼び出される測定関数Idoffのプログラム例を示す図である。
【図5】テスターにおいてポート番号、ポート名により特定されるハードウェアを示す図である。
【図6】テスターに含まれるSMUの種類と測定性能を示す図である。
【図7】テストプランとともにプロセスに入力されるハードウェア利用定義の例を示す図である。
【図8】ハードウェア利用定義において使用される抽象的な測定器の名称とその意味を記述した表である。
【図9】シーケンス制御部が有する情報を模式的に表した図である。
【図10】サブシーケンス状態テーブルに格納されている情報を示す図である。
【図11】シーケンス制御部において実行可能性検査の対象となる未実行サブシーケンスを特定する動作を示すフローチャートである。
【図12】サブシーケンス処理の動作を示すフローチャートである。
【図13】パラレルテスト属性を指定することを可能にしたテストプランを示す図である。
【図14】図13に示すシーケンスに対するサブシーケンス状態テーブルを示す図である。
【図15】設計上は電気的に隔離されているが、プローブカードなどのデバイス構造以外の理由で測定が相互に干渉する場合に用いるパラレルテスト属性を示すテストプランである。
【図16】図15のテストプランに対するサブシーケンス状態テーブルを示す図である。
【図17】指定されたデバイスのサブシーケンス実行時には、別のデバイスのサブシーケンスは実行できないことを指示する属性が記載されたテストプランを示す図である。
【図18】図17のテストプランに対するサブシーケンス状態テーブルを示す図である。
【図19】サブシーケンスが実行される場合の信号を受け渡しを示すシーケンス図である。
【図20】ハードウェア管理部に格納されている、テスター中の個別ハードウェアを管理するためのハードウェア管理テーブルを示す図である。
【図21】ハードウェア管理部での抽象ハードウェア種類名に対する実ハードウェアの割り当て優先度テーブルを示す図である。
【図22】ハードウェア管理部が有している情報を模式的に示す図である。
【図23】ハードウェア管理部が実ハードウェアの割り当てを行う処理動作を示すフローチャートである。
【図24】ハードウェア管理部に格納されている割り当て対象抽象ハードウェアテーブルを示す図である
【図25】テスター制御部が有する情報を模式的に示す図である
【図26】テスター制御部の測定関数におけるポート名とハードウェアの関連付けを行う処理を示すフローチャートである。
【図27】割り当て済ハードウェアテーブルを示す図である。
【図28】ポート名関連付けテーブルを示す図である
【図29】本発明の実施形態の半導体パラメトリックテストシステムによりサブシーケンスの並列実行を行った例で使用するテスターの構成を示す図である。
【図30】サブシーケンス中の測定関数の実行にかかる時間を仮定したものである。
【図31】サブシーケンスの実行結果を示す図である。
【図32】他の実施形態の半導体パラメトリックテストシステムの構成を示す図である。
【図33】図32に構成を示す実施形態の半導体パラメトリックシステムの動作を示すシーケンス図である。
【符号の説明】
【0084】
10 テストプラン
20 ハードウェア利用定義
200 半導体パラメトリックテストシステム
210、 テスター
300、400 プロセス
310、320、330、410、420、430 スレッド
311、321a シーケンス制御部
321、331 サブシーケンス制御部
322、332 測定関数部
323、333 テスターAPI
411、421 テスター制御部

【特許請求の範囲】
【請求項1】
複数の半導体デバイスの各々に対して複数の測定器を用いて前記半導体デバイスの特性を測定する半導体デバイス特性測定装置であって、
前記複数の半導体デバイスのうち前記半導体デバイスの接続情報に基づいて並列に測定の実行が可能な半導体デバイスと測定関数の組を特定する並列測定可能判断手段と、
前記並列測定可能判断手段によって並列に測定の実行が可能な半導体デバイスの測定関数の前記複数の測定器を抽象的に特定する第1の抽象名を用いた複数の測定関数部と
を具備することを特徴とする半導体デバイス特性測定装置。
【請求項2】
前記半導体デバイス特性測定装置は、
前記複数の測定器を抽象的に特定する第2の抽象名が記憶されている測定器情報を有し、前記並列測定可能判断手段によって並列に測定の実行が可能な半導体デバイスと測定関数の組に対し抽象的に特定された測定器を前記測定関数に割り付ける測定器割付手段をさらに具備することを特徴とする請求項1記載の半導体デバイス特性測定装置。
【請求項3】
前記測定器情報には、前記複数の測定器を抽象的に特定する第2の抽象名と測定関数に割り付ける場合の優先度とが関連付けて記憶されており、前記測定器割付手段は、抽象的に特定された測定器のうち優先度が高い順に前記測定関数に割り付けることを特徴とする請求項1乃至2のいずれかに記載の半導体デバイス特性測定装置。
【請求項4】
前記第2の抽象名に対して割り付け可能な測定器が複数存在する場合には、前記第2の抽象名に対する前記優先度は、代替が利かない測定器との組み合わせほど低く設定され、また、ある測定器を特定し得る前記第2の抽象名が複数存在する場合には、前記第2の抽象名に対する前記優先度は、代替の利かない前記第2の抽象名ほど優先度が高く設定されていることを特徴とする請求項3に記載の半導体デバイス特性測定装置。
【請求項5】
前記複数の測定関数部は、並列動作することを特徴とする請求項1乃至4のいずれかに記載の半導体デバイス特性測定装置。
【請求項6】
前記半導体デバイス特性測定装置は、パラレルテスト属性を入力するパラレルテスト属性入力手段を有し、前記パラレル属性入力手段に前記半導体デバイスのうち特定の組み合わせに対してのみ並列測定を許可する情報が入力された場合には、前記並列測定可能判断手段は、前記特定の組み合わせの中で並列実行が可能か否かを判断することを特徴とする請求項1乃至5のいずれかに記載の半導体デバイス特性測定装置。
【請求項7】
前記半導体デバイス特性測定装置は、パラレルテスト属性を入力するパラレルテスト属性入力手段を有し、前記パラレル属性入力手段に前記半導体デバイスのうち特定の組み合わせは並列測定ができないことを示す情報が入力された場合には、前記並列測定可能判断手段は、前記特定の組み合わせ以外の中で並列実行が可能か否かを判断することを特徴とする請求項1乃至5のいずれかに記載の半導体デバイス特性測定装置。
【請求項8】
前記半導体デバイス特性測定装置は、パラレルテスト属性を入力するパラレルテスト属性入力手段を有し、前記パラレル属性入力手段に前記半導体デバイスのうち特定の半導体デバイスは並列測定ができないことを示す情報が入力された場合には、前記並列測定可能判断手段は、前記特定の半導体デバイスを除いて並列実行が可能か否かを判断することを特徴とする請求項1乃至5のいずれかに記載の半導体デバイス特性測定装置。
【請求項9】
半導体デバイスに対して複数の測定器を用いて測定関数を実行して前記半導体デバイスの特性を測定する半導体デバイス特性測定装置であって、
前記測定器を抽象的に特定する抽象名が記憶されている測定器情報を有し、半導体デバイスと測定関数の組に対し抽象的に特定された測定器を前記測定関数に割り付ける測定器割付手段と
を具備することを特徴とする半導体デバイス特性測定装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate

【図26】
image rotate

【図27】
image rotate

【図28】
image rotate

【図29】
image rotate

【図30】
image rotate

【図31】
image rotate

【図32】
image rotate

【図33】
image rotate


【公開番号】特開2007−248385(P2007−248385A)
【公開日】平成19年9月27日(2007.9.27)
【国際特許分類】
【出願番号】特願2006−75115(P2006−75115)
【出願日】平成18年3月17日(2006.3.17)
【出願人】(399117121)アジレント・テクノロジーズ・インク (710)
【氏名又は名称原語表記】AGILENT TECHNOLOGIES, INC.
【Fターム(参考)】