特許第6761441号(P6761441)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社アドバンテストの特許一覧

特許6761441ソフトウェアアプリケーションプログラミングインタフェース(API)を用いた自動テスト機能のユーザによる制御
<>
  • 特許6761441-ソフトウェアアプリケーションプログラミングインタフェース(API)を用いた自動テスト機能のユーザによる制御 図000002
  • 特許6761441-ソフトウェアアプリケーションプログラミングインタフェース(API)を用いた自動テスト機能のユーザによる制御 図000003
  • 特許6761441-ソフトウェアアプリケーションプログラミングインタフェース(API)を用いた自動テスト機能のユーザによる制御 図000004
  • 特許6761441-ソフトウェアアプリケーションプログラミングインタフェース(API)を用いた自動テスト機能のユーザによる制御 図000005
  • 特許6761441-ソフトウェアアプリケーションプログラミングインタフェース(API)を用いた自動テスト機能のユーザによる制御 図000006
  • 特許6761441-ソフトウェアアプリケーションプログラミングインタフェース(API)を用いた自動テスト機能のユーザによる制御 図000007
  • 特許6761441-ソフトウェアアプリケーションプログラミングインタフェース(API)を用いた自動テスト機能のユーザによる制御 図000008
  • 特許6761441-ソフトウェアアプリケーションプログラミングインタフェース(API)を用いた自動テスト機能のユーザによる制御 図000009
  • 特許6761441-ソフトウェアアプリケーションプログラミングインタフェース(API)を用いた自動テスト機能のユーザによる制御 図000010
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6761441
(24)【登録日】2020年9月8日
(45)【発行日】2020年9月23日
(54)【発明の名称】ソフトウェアアプリケーションプログラミングインタフェース(API)を用いた自動テスト機能のユーザによる制御
(51)【国際特許分類】
   G01R 31/28 20060101AFI20200910BHJP
   G06F 8/20 20180101ALI20200910BHJP
【FI】
   G01R31/28 H
   G06F8/20
【請求項の数】15
【外国語出願】
【全頁数】26
(21)【出願番号】特願2018-81567(P2018-81567)
(22)【出願日】2018年4月20日
(65)【公開番号】特開2018-189641(P2018-189641A)
(43)【公開日】2018年11月29日
【審査請求日】2019年4月17日
(31)【優先権主張番号】15/582,285
(32)【優先日】2017年4月28日
(33)【優先権主張国】US
(73)【特許権者】
【識別番号】390005175
【氏名又は名称】株式会社アドバンテスト
(74)【代理人】
【識別番号】110000877
【氏名又は名称】龍華国際特許業務法人
(72)【発明者】
【氏名】ロテム ナホム
(72)【発明者】
【氏名】パドマジャ ナルルーリ
【審査官】 島▲崎▼ 純一
(56)【参考文献】
【文献】 特開2008−268213(JP,A)
【文献】 特開2014−048125(JP,A)
【文献】 特表2003−532168(JP,A)
【文献】 米国特許出願公開第2014/0236527(US,A1)
【文献】 特開2008−299397(JP,A)
【文献】 米国特許出願公開第2013/0096866(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G01R 31/28
G06F 8/20
(57)【特許請求の範囲】
【請求項1】
自動テスト装置(ATE)を用いてテストを行うための方法であって、
デフォルトの生産フローをテスタ上で制御するようにアプリケーションプログラミングインタフェース(API)をプログラムする段階であって、前記生産フローは、前記テスタに接続された複数のテスト対象デバイス(DUT)に対するテストの実行に関連した複数のテストシーケンスを含む、段階と、
ユーザ固有のAPIに従って、前記デフォルトの生産フローを修正して、前記複数のテストシーケンスをカスタマイズするように前記APIを構成する段階であって、前記ユーザ固有のAPIは、ユーザのテスト要件による前記デフォルトの生産フローの修正を含み、前記ユーザ固有のAPIは、前記APIと通信可能に接続されたユーザライブラリに格納されるように動作可能であり、前記生産フローの前記修正は、前記ユーザに固有のテスト中に、追加のテストデータを前記複数のDUTから収集することを含む、段階と、
前記ユーザに合わせて前記APIをカスタマイズするために、前記ユーザ固有のAPIを前記APIと統合する段階とを備える、方法。
【請求項2】
前記APIは、サーバ及びグラフィカルユーザインタフェースを実行するコンピュータ処理装置に通信可能に接続されており、前記サーバ及びグラフィカルユーザインタフェースを通じて、前記生産フローを制御する、請求項1に記載の方法。
【請求項3】
前記追加のテストデータは、ユーザ指定のフロア管理モジュールにおいて前記ユーザに報告され、前記フロア管理モジュールは、ユーザの生産フロアにサーバを有し、前記フロア管理モジュールは、前記追加のデータを保管するように動作可能なデータベースと通信可能に接続される、請求項1又は2に記載の方法。
【請求項4】
前記フロア管理モジュールは、前記ユーザと、前記複数のDUTに対する前記テストの前記実行とに関連した独自の情報を含む、請求項3に記載の方法。
【請求項5】
前記複数のテストシーケンスは、前記ユーザ固有のAPIに従ってカスタマイズされ、テストプランをサーバにロードすること、プリミティブに挿入されたDUTを前記DUTに関連付けられた識別情報に基づいて認識すること、DUTパラメータをユーザステーション及び前記サーバに提供すること、カスタマイズされたGUI表示をユーザに提供すること、テストプラン実行を開始すること、前記テストプランをDUTに対して実行した結果を受信すること、及びテスト結果の整理及び記録を行うことからなる群から選択された動作を行うように動作可能である、請求項1から4のいずれか一項に記載の方法。
【請求項6】
前記複数のテストシーケンスは、前記ユーザ固有のAPIに従ってカスタマイズされ、複数のテスト対象デバイス(DUT)に対するテストの前記実行に関連した情報を暗号化するように動作可能である、請求項1から5のいずれか一項に記載の方法。
【請求項7】
自動テスト装置(ATE)を用いてテストを行うための方法をコンピュータシステムに実行させるためのプログラムであって、前記方法は、
アプリケーションプログラミングインタフェース(API)をプログラムして、デフォルトの生産フローをテスタ上で制御する段階であって、前記生産フローは、前記テスタに接続された複数のテスト対象デバイス(DUT)に対するテストの実行に関連した複数のテストシーケンスを含む、段階と、
ユーザ固有のAPIに従って、前記デフォルトの生産フローを修正して、前記複数のテストシーケンスをカスタマイズするように前記APIを構成する段階であって、前記ユーザ固有のAPIは、ユーザのテスト要件による前記デフォルトの生産フローの修正を含み、前記ユーザ固有のAPIは、前記APIと通信可能に接続されたユーザライブラリに格納されるように動作可能であり、前記生産フローの前記修正は、前記ユーザに固有のテスト中に、追加のテストデータを前記複数のDUTから収集することを含む、段階と、
前記ユーザに合わせて前記APIをカスタマイズするために、前記ユーザ固有のAPIを前記APIと統合する段階とを備える、プログラム。
【請求項8】
前記APIは、サーバ及びグラフィカルユーザインタフェースを実行するコンピュータ処理装置に通信可能に接続されており、前記サーバ及び前記グラフィカルユーザインタフェースを通じて、前記生産フローを制御する、請求項7に記載のプログラム。
【請求項9】
前記追加のテストデータは、ユーザ指定のフロア管理モジュールにおいて前記ユーザに報告され、前記フロア管理モジュールは、ユーザの生産フロアにサーバを有し、前記フロア管理モジュールは、前記追加のデータを保管するように動作可能なデータベースと通信可能に接続される、請求項7又は8に記載のプログラム。
【請求項10】
前記フロア管理モジュールは、独自のユーザ関連情報を含む、請求項9に記載のプログラム。
【請求項11】
前記複数のテストシーケンスは、前記ユーザ固有のAPIに従ってカスタマイズされ、テストプランをサーバにロードすること、プリミティブに挿入されたDUTを前記DUTに関連付けられた識別情報に基づいて認識すること、DUTパラメータをユーザステーション及び前記サーバに提供すること、カスタマイズされたGUI表示をユーザに提供すること、テストプラン実行を開始すること、前記テストプランをDUTに対して実行した結果を受信すること、及びテスト結果の整理及び記録を行うことからなる群から選択された動作を行うように動作可能である、請求項7から10のいずれか一項に記載のプログラム。
【請求項12】
前記複数のテストシーケンスは、前記ユーザ固有のAPIに従ってカスタマイズされ、複数のテスト対象デバイス(DUT)に対するテストの前記実行に関連した情報を暗号化するように動作可能である、請求項7から11のいずれか一項に記載のプログラム。
【請求項13】
自動テスト装置(ATE)を用いてテストを行うためのシステムであって、
複数のプリミティブに通信可能に接続されたサーバであって、前記複数のプリミティブのそれぞれは、複数のDUTを含む、サーバと
ラフィカルユーザインタフェース(GUI)を実行する第1のコンピュータ処理装置であって、前記第1のコンピュータ処理装置は、前記サーバに通信可能に接続され、前記グラフィカルユーザインタフェースは、ユーザが前記複数のプリミティブにアクセスすることを可能にする、第1のコンピュータ処理装置と、
前記サーバ及び前記第1のコンピュータ処理装置と通信可能に接続された第2のコンピュータ処理装置とを備え、
前記第2のコンピュータ処理装置は、
デフォルトの生産フローを制御するようにアプリケーションプログラミングインタフェース(API)をプログラムすることであって、前記生産フローは、前記サーバに接続された前記複数のDUTに対するテストの実行に関連した複数のテストシーケンスを含む、プログラムすることと、
ユーザ固有のAPIに従って、前記デフォルトの生産フローを修正して、前記複数のテストシーケンスをカスタマイズするように前記APIを構成することであって、前記ユーザ固有のAPIは、ユーザのテスト要件による前記デフォルトの生産フローの修正を含み、前記ユーザ固有のAPIは、前記第2のコンピュータ処理装置と通信可能に接続されたユーザライブラリに格納されるように動作可能であり、前記生産フローの前記修正は、前記ユーザに固有のテスト中に、追加のテストデータを前記複数のDUTから収集することを含む、構成することと、
前記ユーザに合わせて前記APIをカスタマイズするために、前記ユーザ固有のAPIを前記APIと統合することと
を行うように構成される、システム。
【請求項14】
前記ユーザは、前記GUIを用いて、前記デフォルトの生産フローを修正するように前記APIを構成する、請求項13に記載のシステム。
【請求項15】
前記追加のテストデータは、ユーザ指定のフロア管理モジュールにおいて前記ユーザに報告され、前記フロア管理モジュールは、ユーザの生産フロアにサーバを有し、前記フロア管理モジュールは、前記追加のデータを保管するように動作可能なデータベースと通信可能に接続される、請求項13又は14に記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
[関連出願の相互参照]
【0002】
[関連出願]
本出願は、2017年4月28日に出願された「異なるアプリケーションを用いる複数のユーザをサポートするテストシステム(TEST SYSTEM SUPPORTING MULTIPLE USERS USING DIFFERENT APPLICATIONS)」と題する米国特許出願第15/582,316号に関連している。当該特許出願は、Rotem Nahum、Rebecca Toy、Padmaja Nalluri、及びLeon Chenを発明者とし、代理人整理番号は、ATSY−0052−01.01USである。当該特許出願は、その全体を参照することにより、また全ての目的のために本明細書に組み込まれる。
【0003】
本開示は概して、自動テスト装置の分野に関し、より具体的には、そのような装置を制御する手法に関する。
【背景技術】
【0004】
自動テスト装置(ATE)は、半導体ウエハ若しくはダイ、集積回路(IC)、回路基板、又はソリッドステートドライブなどのパッケージ化された装置上でテストを行う、あらゆるテストアセンブリであってよい。ATEアセンブリは、測定を迅速に行う自動テストを実行し、その後解析され得るテスト結果を生成するのに用いられてよい。ATEアセンブリは、計測器に接続されたコンピュータシステムから、複雑な自動テストアセンブリまで何であってもよく、そのような複雑な自動テストアセンブリには、システムオンチップ(SOC)テスト又は集積回路テストなどの、電子部品テスト及び/又は半導体ウエハテストを自動的に行うことが可能な、特注の専用コンピュータ制御システムや多くの異なるテスト装置が含まれてよい。ATEシステムは、所与のデバイスが消費者に届けられる前に、デバイスが設計通りに機能するのを保証すること、及びそのデバイス内の不良コンポーネントの有無を判定する診断ツールとして機能を果たすことの両方のために費やされるデバイスのテスト時間を低減する。
【0005】
典型的なATEシステムがデバイス(一般に、テスト対象デバイス又はDUTと呼ばれる)をテストする場合、ATEシステムは、デバイスに刺激(例えば、電気信号)を与え、デバイスからの応答(例えば、電流や電圧)を検査する。通常、テストの最終結果は、デバイスが期待される特定の応答を事前に設定された許容範囲内で提供できた場合は「合格」、デバイスが期待される応答を事前に設定された許容範囲内で提供できなかった場合は「不良」のいずれかである。より高度なATEシステムは、不良デバイスを評価し、場合によっては1つ又は複数の故障原因を判定することが可能である。
【0006】
ATEシステムでは、ATEシステムのオペレーションを管理するコンピュータを含むことが一般的である。通常、コンピュータは、1つ又は複数の専用ソフトウェアプログラムを実行して、(i)テスト開発環境、及び(ii)デバイステスト環境を提供する。テスト開発環境では、ユーザが通常、テストプログラムを作成する。このテストプログラムは、例えば、1つ又は複数のファイルからなる、ATEシステムの様々な部分を制御するソフトウェアベースの構成体である。デバイステスト環境では、ユーザは通常、テストするための1つ又は複数のデバイスをATEシステムに提供し、テストプログラムに従って各デバイスをテストするようATEシステムに命令する。ユーザは、追加のデバイスをATEシステムに提供し、その追加のデバイスをテストプログラムに従ってテストするようATEシステムに命令するだけで、追加のデバイスをテストすることができる。したがって、ATEシステムは、テストプログラムに基づいて、ユーザが多くのデバイスを一貫した自動化方式でテストすることを可能にする。
【0007】
典型的な従来技術によるテスト環境では、テスト開発環境は、テスタの高レベルの機能性及び特性の多くを制御するアプリケーションプログラミングインタフェース(API)を含む場合がある。APIは、テストプラットフォームの高レベルの機能性及び特性を管理するための制御サーバと、インタフェースで接続する。そのようなAPIに関する1つの典型的な問題点は、テストシステムを所与のアプリケーション又は所与の顧客に合わせてカスタマイズするために、APIを手動で変更し再プログラムしなければならないという点である。これは、高度な訓練を受けた専門職の人を伴う、難しい、時間と費用のかかる、複雑で間違いを起こしやすいプロセスになり得る。特定の顧客のニーズに合ったAPIの機能性及び特性をカスタマイズするために、より簡単で、より速く、より自動化されて合理的な方法が提供できれば、有益であろう。
【発明の概要】
【0008】
したがって、異なる顧客のテストシステムに容易に適応し得るテスト開発環境のニーズが存在する。さらに、必要とされるのは、異なる顧客のATEシステムの要件に適合させるために、容易にカスタマイズされ得るアプリケーションプログラミングインタフェースを備えたテスト開発環境である。説明されるシステムの有益な態様を用いて、そのような態様のそれぞれを限定することなく、本発明の実施形態が、これらの課題に取り組むために今までにない解決手段を提供する。
【0009】
本明細書において開示される本発明は、複数のプリミティブ(又は、複数のテスタスライス)及び関連するDUTインタフェースボード(DIB)を利用して、DUTをテストする。各プリミティブは、他のプリミティブから独立して動作することが可能であることを意味するモジュール方式である。したがって、ラック内に配置された複数のプリミティブはそれぞれ、異なるテストプランに従って動作することができる。プリミティブは、命令、制御、管理などのために、制御サーバと通信する。制御サーバは、制御サーバがサポートする様々なプリミティブの複数のアプリケーションプログラム又はテストプランをホストすることが可能である。プリミティブは、標準的なIPネットワークを介してサーバと通信することができる。遠く離れて位置する可能性がある様々なコンピュータシステムは、標準的なIPネットワーク接続を介してサーバにアクセスすることができる。
【0010】
したがって、このテストプラットフォームの下では、1)プリミティブのモジュール性、及び2)標準的なIPネットワークの使用によって、複数のプリミティブが、同じユーザによる所与のテストプランに基づいて複数のDUTをテストすることが可能であり、同じラックの第2の複数のプリミティブが、第2のユーザなどによって管理される全く異なるアプリケーションを実行する。したがって、アイドル状態のテスト回路と関連した、従来技術のこれまでの課題は取り除かれる。
【0011】
アプリケーションプログラミングインタフェース(API)が、テスタシステムの高レベルの機能性及び特性を制御し、サーバを通じてプリミティブと通信する。カスタム統合生産プロセス(CIM)と呼ばれるAPIは、1)どのテストプランが用いられるか、2)ユーザインタフェースがユーザステーションを介してテスタ上で見える方式及び動作する方式、3)次のプロセスをテストし制御するために新たなDUTが挿入された場合の処理、4)テストのテスト結果が収集され格納される方式などに関して、テストシステムの多くの高レベルの機能及び特性を制御する。
【0012】
本発明の態様によれば、ユーザは、ユーザコードを格納し、テスタシステムと関連付けられたライブラリ内のAPIを用いることができる。ユーザコードは、CIM開発者によって提供される情報及び構文に基づいて顧客が開発し、その後ライブラリにロードされてよい。次にCIMは、ユーザコード及びユーザAPIを統合し、これにより統合CIMは、特定の顧客のニーズに合わせて自動的にカスタマイズされ、ユーザライブラリのコンテンツに従って、特定の機能及び特性を採用する。このように、本発明の実施形態が、CIMをカスタマイズするための自動機構を効果的に提供し、その結果、各顧客のニーズに合わせてCIMを手動で書き直したり、設計し直したりすることが不要になる。これにより、新たなCIMを開発するためのターンアラウンドタイムを増やし、また、ソフトウェアの全体コスト、及びCIM修正によって生じるエラーを減らす。
【0013】
1つの実施形態において、自動テスト装置(ATE)を用いてテストを行うための方法が示される。本方法は、アプリケーションプログラミングインタフェース(API)をプログラムして、デフォルトの生産フローをテスタ上で制御する段階を含み、この生産フローは、テスタに接続されたテスト対象デバイス(DUT)に対するテストの実行に関連した複数のテストシーケンスを含む。本方法はさらに、ユーザ固有のAPIに従って、デフォルトの生産フローを修正して、複数のテストシーケンスをカスタマイズするようにAPIを構成する段階を含み、ユーザ固有のAPIは、ユーザのテスト要件による生産フローの修正を含む。最後に、本方法は、ユーザに合わせてAPIをカスタマイズするために、当該APIとユーザ固有のAPIとを統合する段階を含む。
【0014】
別の実施形態において、自動テスト装置(ATE)を用いてテストを行うための方法をコンピュータシステムに実行させるために、具現化されたコンピュータ可読プログラムコードを内部に有する非一時的コンピュータ可読媒体が開示される。本方法は、アプリケーションプログラミングインタフェース(API)をプログラムして、デフォルトの生産フローをテスタ上で制御する段階を含み、この生産フローは、テスタに接続されたテスト対象デバイス(DUT)に対するテストの実行に関連した複数のテストシーケンスを含む。本方法はさらに、ユーザ固有のAPIに従って、デフォルトの生産フローをカスタマイズされた複数のテストシーケンスに修正するようにAPIを構成する段階を含み、ユーザ固有のAPIは、ユーザのテスト要件による生産フローの修正を含む。最後に、本方法は、ユーザに合わせてAPIをカスタマイズするために、当該APIとユーザ固有のAPIとを統合する段階を含む。
【0015】
異なる実施形態において、自動テスト装置(ATE)を用いてテストを行うためのシステムが開示される。本システムは、複数のプリミティブに通信可能に接続されたサーバを含み、複数のプリミティブのそれぞれは、複数のDUTを含む。本システムは、グラフィカルユーザインタフェース(GUI)を実行する第1のコンピュータ処理装置も含み、このコンピュータ処理装置は、サーバに通信可能に接続されており、グラフィカルユーザインタフェースによって、ユーザは、複数のプリミティブにアクセスすることが可能になり、第2のコンピュータ処理装置が、サーバ及び第1のコンピュータ処理装置と通信可能に接続されている。第2のコンピュータ処理装置は、(a)デフォルトの生産フローを制御するようにアプリケーションプログラミングインタフェース(API)をプログラムすることであって、当該生産フローは、サーバに接続された複数のDUTに対するテストの実行に関連した複数のテストシーケンスを含む、プログラムすることと、(b)ユーザ固有のAPIに従って、デフォルトの生産フローを修正して、複数のテストシーケンスをカスタマイズするようにAPIを構成することであって、ユーザ固有のAPIは、ユーザのテスト要件による生産フローの修正を含む、構成することと、(c)ユーザに合わせてAPIをカスタマイズするために、ユーザ固有のAPIを当該APIと統合することとを行うように構成される。
【0016】
添付図面と共に以下の詳細な説明が、本発明の本質及び利点に関する、さらなる理解を提供するであろう。
【図面の簡単な説明】
【0017】
本発明の実施形態が、限定するためでなく例として添付図面の各図に示される。これらの図面において、同じ参照番号は同様の要素を指す。
【0018】
図1A】本発明の自動テストシステムの実施形態が、本発明の1つの実施形態に従って実装され得るコンピュータシステムである。
【0019】
図1B】本発明の実施形態に従って、クライアントシステム及びサーバがネットワークに接続され得るネットワークアーキテクチャの一例のブロック図である。
【0020】
図2A】本発明の一実施形態に従ってDUTインタフェースボード(DIB)とインタフェースで接続されたプリミティブを示す。
【0021】
図2B】ラックに保持された複数のプリミティブを含むワークセルを示す。
【0022】
図3】CIMが本発明の実施形態に従って動作する、例示的なシステム環境を示すブロック図である。
【0023】
図4】CIMが本発明の実施形態に従って動作する、例示的なテスト環境の別の高レベルアーキテクチャの概要を示す。
【0024】
図5】本発明の実施形態に従ってCIMのデフォルトの生産フローを修正した、顧客用の例示的な作業命令シーケンスを示す。
【0025】
図6】本発明の実施形態に従って顧客がCIMのデフォルトの生産フローを修正し得る方式を示す、例示的な状態図を示す。
【0026】
図7】本発明の実施形態に従ってテスタを制御するアプリケーションプログラミングインタフェース(API)を修正するための、例示的なコンピュータ実装プロセスのフローチャートを示す。
【0027】
これらの図において、同じ名称を有する要素は、同じ又は類似の機能を有する。
【発明を実施するための形態】
【0028】
ここで、本開示の様々な実施形態が詳細に参照されることになり、これらの実施形態の実施例が添付図面に示されている。実施例がこれらの実施形態と共に説明されるが、それによって、本開示がこれらの実施形態に限定されることは意図していないことが理解されるであろう。それどころか、本開示は、代替例、修正例、及び均等例をカバーすることが意図されており、これらの例は、添付された特許請求の範囲によって定められる本開示の精神及び範囲の中に含まれ得る。さらに、本開示の以下の詳細な説明では、本開示の十分な理解を提供するために、数多くの具体的な詳細が記載されている。しかしながら、本開示は、これらの具体的な詳細を用いずに実施され得ることが理解されるであろう。他の例では、よく知られた方法、手順、コンポーネント、及び回路が、本開示の態様をむだに不明瞭にしないように、詳細に説明されてはいない。
【0029】
続く詳細な説明のいくつかの部分は、コンピュータメモリ内のデータビットに対するオペレーションの手順、論理ブロック、処理、及び他の記号を用いた表現の観点で示されている。これらの説明及び表現は、データ処理技術の当業者が自分の研究の主旨を他の当業者に最も効果的に伝達するために用いる手段である。本出願では、手順、論理ブロック、プロセスなどが、必要な結果をもたらす筋の通った一連の段階又は命令であると考えられている。これらの段階は、物理量の物理的操作を利用するものである。これらの量は、必ずではないがたいてい、コンピュータシステムにおいて、格納され、転送され、組み合わされ、比較され、あるいは操作されることが可能な、電気信号又は磁気信号の形態を取る。これらの信号を、トランザクション、ビット、値、要素、記号、文字、サンプル、ピクセルなどと呼ぶことが、主に一般的に用いられているという理由で、場合によっては簡便であると分かっている。
【0030】
しかしながら、これらの用語及び同様の用語の全ては、適切な物理量と関連付けられることになり、これらの量に適用される単に簡便な名称であることに留意されたい。特に記述されない限り、以下の説明から明らかであるように、本開示の全体にわたって、「構成する(configuring)」、「プログラムする(programming)」、「統合(integration)」、「提供する(providing)」、「実行する(executing)」などの用語を利用する説明が、コンピュータシステム又は同様の電子コンピュータ処理装置又はプロセッサ(例えば、図1Aのシステム110)の動作及びプロセス(例えば、図7のフローチャート700)を指すことが理解される。コンピュータシステム又は同様の電子コンピュータ処理装置は、コンピュータシステムメモリ、レジスタ又は他のそのような情報の記憶装置、送信装置又は表示装置内の、物理(電子)量として表されるデータを操作し変換する。
【0031】
本明細書において説明される実施形態が、1つ又は複数のコンピュータ又は他の装置によって実行されるプログラムモジュールなどの、何らかの形態のコンピュータ可読記憶媒体上に存在するコンピュータ実行可能命令の一般的文脈で論じられることがある。限定目的ではなく例として、コンピュータ可読記憶媒体は、非一時的コンピュータ可読記憶媒体及び通信媒体を含んでよく、非一時的コンピュータ可読媒体は、一時的な伝播信号を除く、全てのコンピュータ可読媒体を含む。概して、プログラムモジュールには、特定のタスクを行うか、又は特定の抽象データ型を実現する、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造などが含まれる。プログラムモジュールの機能は、様々な実施形態において必要なように、組み合わされても分散されてもよい。
【0032】
コンピュータ記憶媒体には、コンピュータ可読命令、データ構造、プログラムモジュール、又は他のデータなどの情報を記憶するためのあらゆる方法又は技術で実装される、揮発性及び不揮発性の、着脱可能及び着脱不可能な媒体が含まれる。コンピュータ記憶媒体には、限定されないが、ランダムアクセスメモリ(RAM)、リードオンリメモリ(ROM)、電気的消去可能プログラマブルROM(EEPROM)、フラッシュメモリなどのメモリ技術、コンパクトディスクROM(CD−ROM)、デジタル多用途ディスク(DVD)などの光学記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置若しくは他の磁気記憶装置、又は必要な情報を格納するのに用いられ得る、且つその情報を引き出すためにアクセスされ得る任意の他の媒体が含まれる。
【0033】
通信媒体は、コンピュータ実行可能命令、データ構造、及びプログラムモジュールを具現化することができ、あらゆる情報送達媒体を含む。限定目的ではなく例として、通信媒体には、有線ネットワーク又は有線による直接接続などの有線媒体、並びに音響媒体、無線周波数(RF)媒体、赤外線媒体、及び他の無線媒体などの無線媒体が含まれる。上記のいずれかの組み合わせも、コンピュータ可読媒体の範囲内に含まれ得る。
【0034】
図1Aは、本発明の実施形態に従って、アプリケーションプログラミングインタフェース(API)によって制御されるように動作可能な、クライアントのテスト要件を満たすようにカスタマイズ可能である、テスタ制御システム110の一例のブロック図である。例えば、API制御システム110は、デフォルトのAPIで読み出されない特定のデータを、テスト中にテスト対象デバイス(DUT)から読み出すようにカスタマイズされてよい。テスタ制御システム110は概して、コンピュータ可読命令を実行することが可能な、あらゆる単一プロセッサ又は複数プロセッサのコンピュータ処理装置又はシステムを表す。制御システム110の例には、限定されないが、ワークステーション、ラップトップ、クライアント側の端末、サーバ、分散演算処理システム、ハンドヘルド型装置、又は任意の他の演算処理システム若しくは装置が含まれる。最も基本的な構成において、制御システム110は、少なくとも1つのプロセッサ114と、システムメモリ116とを含んでよい。
【0035】
プロセッサ114は概して、データを処理することが可能な、又は命令を解釈して実行することが可能な、あらゆる種類又は形態の処理ユニットを表す。特定の実施形態において、プロセッサ114は、ソフトウェアアプリケーション又はモジュールから命令を受信してよい。これらの命令は、本明細書において説明される及び/又は示される例示的な実施形態のうち1つ又は複数の機能を、プロセッサ114に実行させてよい。
【0036】
システムメモリ116は概して、データ及び/又は他のコンピュータ可読命令を格納することが可能な、あらゆる種類又は形態の揮発性又は不揮発性の記憶装置若しくは媒体を表す。システムメモリ116の例には、限定されないが、RAM、ROM、フラッシュメモリ、又は任意の他の適切な記憶装置が含まれる。必須ではないが、特定の実施形態において、制御システム110は、揮発性記憶装置(例えば、システムメモリ116など)及び不揮発性記憶装置(例えば、主記憶装置132など)の両方を含んでよい。
【0037】
テスタ制御システム110は、プロセッサ114及びシステムメモリ116に加えて、1つ又は複数のコンポーネント又は要素も含んでよい。例えば、図1Aの実施形態において、制御システム110は、メモリ制御装置118、入力/出力(I/O)制御装置120、及び通信インタフェース122を含み、これらはそれぞれ、通信インフラストラクチャ112を介して相互接続されてよい。通信インフラストラクチャ112は概して、コンピュータ処理装置の1つ又は複数のコンポーネント間の通信を容易にすることが可能な、あらゆる種類又は形態のインフラストラクチャを表す。通信インフラストラクチャ112の例には、限定されないが、通信バス(業界標準アーキテクチャ(ISA)、ペリフェラルコンポーネントインターコネクト(PCI)、PCIエクスプレス(PCIe)、又は類似のバスなど)及びネットワークが含まれる。
【0038】
メモリ制御装置118は概して、メモリ若しくはデータを扱うことが可能な、又は制御システム110の1つ若しくは複数のコンポーネント間の通信を制御することが可能な、あらゆる種類又は形態の装置を表す。例えば、メモリ制御装置118は、通信インフラストラクチャ112を介して、プロセッサ114、システムメモリ116、及びI/O制御装置120の間の通信を制御してよい。
【0039】
I/O制御装置120は概して、コンピュータ処理装置の入力及び出力機能を調整及び/又は制御することが可能な、あらゆる種類又は形態のモジュールを表す。例えば、I/O制御装置120は、プロセッサ114、システムメモリ116、通信インタフェース122、ディスプレイアダプタ126、入力インタフェース130、及び記憶装置インタフェース134などの、制御システム110の1つ又は複数の要素間のデータ転送を制御してよく又は容易にしてよい。
【0040】
通信インタフェース122は概して、例示的な制御システム110と1つ又は複数の追加の装置との間の通信を容易にすることが可能な、あらゆる種類又は形態の通信装置又はアダプタを表す。例えば、通信インタフェース122は、制御システム110と、追加の制御システムを含むプライベートネットワーク又はパブリックネットワークとの間の通信を容易にしてよい。通信インタフェース122の例には、限定されないが、有線ネットワークインタフェース(ネットワークインタフェースカードなど)、無線ネットワークインタフェース(無線ネットワークインタフェースカードなど)、モデム、及び任意の他の適切なインタフェースが含まれる。1つの実施形態において、通信インタフェース122は、インターネットなどのネットワークへの直接リンクを介して、リモートサーバへの直接接続を提供する。通信インタフェース122は、任意の他の適切な接続を通じて、そのような接続を間接的に提供してもよい。
【0041】
通信インタフェース122は、外部バス又は通信チャネルを介して、制御システム110と1つ又は複数の追加のネットワーク装置若しくは記憶装置との間の通信を容易にするように構成された、ホストアダプタを表してもよい。ホストアダプタの例には、限定されないが、スモールコンピュータシステムインタフェース(SCSI)ホストアダプタ、ユニバーサルシリアルバス(USB)ホストアダプタ、IEEE(米国電気電子技術者協会)1394ホストアダプタ、シリアルアドバンスドテクノロジアタッチメント(SATA)及び外部SATA(eSATA)ホストアダプタ、アドバンスドテクノロジアタッチメント(ATA)及びパラレルATA(PATA)ホストアダプタ、ファイバチャネルインタフェースアダプタ、イーサネット(登録商標)アダプタなどが含まれる。通信インタフェース122は、制御システム110が、分散演算処理又はリモート演算処理を行うことも可能にしてよい。例えば、通信インタフェース122は、命令をリモート装置から受信してよく、又は命令を実行のためにリモート装置へ送信してもよい。
【0042】
図1Aに示されるように、制御システム110は、ディスプレイアダプタ126を介して通信インフラストラクチャ112に接続された少なくとも1つの表示装置124を含んでもよい。表示装置124は概して、ディスプレイアダプタ126によって転送された情報を視覚的に表示することが可能な、あらゆる種類又は形態の装置を表す。同様に、ディスプレイアダプタ126は概して、表示装置124に表示するために、グラフィック、テキスト、及び他のデータを転送するように構成された、あらゆる種類又は形態の装置を表す。
【0043】
図1Aに示されるように、制御システム110は、入力インタフェース130を介して通信インフラストラクチャ112に接続された、少なくとも1つの入力装置128を含んでもよい。入力装置128は概して、コンピュータ又は人が生成する入力を制御システム110に提供することが可能な、あらゆる種類又は形態の入力装置を表す。入力装置128の例には、限定されないが、キーボード、ポインティングデバイス、音声認識装置、又は任意の他の入力装置が含まれる。
【0044】
図1Aに示されるように、制御システム110は、記憶装置インタフェース134を介して通信インフラストラクチャ112に接続された、主記憶装置132及びバックアップ記憶装置133を含んでもよい。記憶装置132及び133は概して、データ及び/又は他のコンピュータ可読命令を格納することが可能な、あらゆる種類又は形態の記憶装置又は媒体を表す。例えば、記憶装置132及び133は、磁気ディスクドライブ(例えば、いわゆるハードドライブ)、フロッピーディスクドライブ、磁気テープドライブ、光ディスクドライブ、フラッシュドライブなどであってよい。記憶装置インタフェース134は概して、記憶装置132及び133と制御システム110の他のコンポーネントとの間でデータを転送するための、あらゆる種類又は形態のインタフェース又は装置を表す。
【0045】
1つの例において、データベース140が、主記憶装置132に格納されてよい。データベース140は、単一のデータベース又はコンピュータ処理装置の一部を表してよく、複数のデータベース又はコンピュータ処理装置を表してもよい。例えば、データベース140は、制御システム110の一部、及び/又は図1Bの例示的なネットワークアーキテクチャ100の一部(下記)を表してよい(そこに格納されてよい)。あるいは、データベース140は、制御システム110及び/又はネットワークアーキテクチャ100の一部などのコンピュータ処理装置によってアクセスされることが可能な、1つ又は複数の物理的に別個の装置を表してよい(そこに格納されてよい)。
【0046】
続いて図1Aを参照すると、記憶装置132及び133は、コンピュータソフトウェア、データ、又は他のコンピュータ可読情報を格納するように構成された着脱可能な記憶装置との間で、読み出し及び/又は書き込みを行うように構成されてよい。好適な着脱可能な記憶装置の例には、限定されないが、フロッピーディスク、磁気テープ、光ディスク、フラッシュメモリデバイスなどが含まれる。記憶装置132及び133は、コンピュータソフトウェア、データ、又は他のコンピュータ可読命令を制御システム110にロードすることを可能にするための、他の類似の構造又は装置を含んでもよい。例えば、記憶装置132及び133は、ソフトウェア、データ、又は他のコンピュータ可読情報を読み出し、書き込むように構成されてよい。記憶装置132及び133は、制御システム110の一部であってもよく、又は他のインタフェースシステムを通じてアクセスされる別個の装置であってもよい。
【0047】
多くの他の装置又はサブシステムが、制御システム110に接続されてよい。反対に、図1Aに示されるコンポーネント及び装置の全てが、本明細書において説明される実施形態を実施するために存在する必要はない。上述されたこれらの装置及びサブシステムは、図1Aに示されるのと異なる方法で相互接続されてもよい。制御システム110は、任意の数のソフトウェア、ファームウェア、及び/又はハードウェア構成を利用してもよい。例えば、本明細書において開示される例示的な実施形態は、コンピュータプログラム(コンピュータソフトウェア、ソフトウェアアプリケーション、コンピュータ可読命令、又はコンピュータ制御論理とも呼ばれる)として、コンピュータ可読媒体上に符号化されてよい。
【0048】
コンピュータプログラムを含むコンピュータ可読媒体は、制御システム110にロードされてよい。コンピュータ可読媒体に格納されたコンピュータプログラムの全て又は一部は、その後、システムメモリ116並びに/又は記憶装置132及び133の様々な部分に格納されてよい。制御システム110にロードされるコンピュータプログラムは、プロセッサ114によって実行される場合、本明細書において説明される及び/又は示される例示的な実施形態の機能をプロセッサ114に実行させてよく、及び/又はこれらの機能を実行する手段であってもよい。追加的に又は代替的に、本明細書において説明される及び/又は示される例示的な実施形態は、ファームウェア及び/又はハードウェアにより実装されてよい。
【0049】
図1Bは、クライアントシステム151、152、及び153、並びにサーバ141及び145がネットワーク150に接続され得る、ネットワークアーキテクチャ100の一例のブロック図である。クライアントシステム151、152、及び153は概して、図1Aのテスタ制御システム110などの、あらゆる種類又は形態のコンピュータ処理装置又はシステムを表す。
【0050】
同様に、サーバ141及び145は概して、様々なデータベースサービスを提供する及び/又は特定のソフトウェアアプリケーションを実行するように構成された、アプリケーションサーバ又はデータベースサーバなどのコンピュータ処理装置又はシステムを表す。ネットワーク150は概して、例えば、イントラネット、ワイドエリアネットワーク(WAN)、ローカルエリアネットワーク(LAN)、パーソナルエリアネットワーク(PAN)、又はインターネットを含む、あらゆる電気通信ネットワーク又はコンピュータネットワークを表す。
【0051】
図1Bの制御システム100を参照すると、通信インタフェース122などの通信インタフェースが、各クライアントシステム151、152、及び153とネットワーク150との間の接続を提供するのに用いられてよい。クライアントシステム151、152、及び153は、例えば、ウェブブラウザ又は他のクライアントソフトウェアを用いて、サーバ141又は145上の情報にアクセスすることが可能であってよい。そのようなソフトウェアによって、クライアントシステム151、152、及び153は、サーバ140、サーバ145、記憶装置160(1)〜(L)、記憶装置170(1)〜(N)、記憶装置190(1)〜(M)、又はインテリジェント記憶装置アレイ195によってホストされるデータにアクセスすることが可能であってよい。図1Bは、データを交換するためにネットワーク(インターネットなど)を用いることを示しているが、本明細書において説明される実施形態は、インターネット又はあらゆる特定のネットワークベースの環境に限定されない。
【0052】
1つの実施形態において、本明細書に開示される例示的な実施形態のうち1つ又は複数の全て又は一部は、コンピュータプログラムとして符号化され、サーバ141、サーバ145、記憶装置160(1)〜(L)、記憶装置170(1)〜(N)、記憶装置190(1)〜(M)、インテリジェント記憶装置アレイ195、又はこれらのあらゆる組み合わせにロードされ、これらによって実行される。本明細書に開示される例示的な実施形態のうち1つ又は複数の全て又は一部はまた、コンピュータプログラムとして符号化され、サーバ141に格納され、サーバ145によって実行され、ネットワーク150を介してクライアントシステム151、152、及び153に分散されてもよい。
【0053】
[ソフトウェアアプリケーションプログラミングインタフェース(API)を用いた自動テスト機能のユーザによる制御]
【0054】
従来のテスト環境では、テスト開発環境は、テスタの高レベルの機能性及び特性の多くを制御するアプリケーションプログラミングインタフェース(API)を含む場合がある。APIは、テストプラットフォームの高レベルの機能性及び特性を管理するための制御サーバと、インタフェースで接続する。そのようなAPIに関する1つの典型的な問題点は、テストシステムを所与のアプリケーション又は所与の顧客に合わせてカスタマイズするために、APIを手動で変更し再プログラムしなければならないという点である。これは、高度な訓練を受けた専門職の人を伴う、難しい、時間と費用のかかる、複雑で間違いを起こしやすいプロセスになり得る。
【0055】
有利なことに、本発明の実施形態が、特定の顧客のニーズに合ったAPIの機能性及び特性をカスタマイズするために、より簡単で、より速く、より自動化されて合理的な方法を提供する。
【0056】
一実施形態において、テスト開発環境は、複数のプリミティブに接続された制御サーバを含む。これらのプリミティブは、テストプランを複数のDUTに適用するのに必要なテスタ回路を含む。所与のプリミティブによってテストされるDUTは、DUTを含むDIBを用いてプリミティブに接続される。APIは、テストプラットフォームの高レベルの機能性及び特性を管理するための制御サーバとインタフェースで接続し、テストプラットフォームには、いくつかある機能のうち特に、テスト結果の出力をテスタから受信すること、及び、今後のために、顧客データベース内にデータを保管することができるフロア管理モジュールにデータを格納することが含まれる。
【0057】
一実施形態において、本発明は、カスタマイズ可能なAPIを備え、それは例えば、デフォルトの挙動を提供するが、専用のユーザライブラリに格納されているユーザコード及びユーザAPIも受け入れるような方法で開発されている、顧客統合生産プロセス(CIM)である。ユーザコード及びユーザAPIは、それらがCIM内で自動的に統合され、それにより、顧客の特定の生産プロセス、GUI表示要件、DUTに合わせてCIMをカスタマイズするようにCIMのオペレーション並びに機能及び特性を変更し得るような方法で書かれている。CIMは、顧客によって供給されるユーザコード及びユーザAPIによって自動的に変更されるような方法で開発されているので、CIMはカスタマイズするのがはるかに容易であり、修正しても間違いを起こしにくく、時間やコストをあまりかけずにカスタマイズすることができる。これにより、顧客のテストスループットが増加し、同時にテストソフトウェアコストが低減する。
【0058】
図2Aは、本発明の一実施形態に従って、DUTインタフェースボード(DIB)400とインタフェースで接続されたプリミティブ410を示す。図2Aに示されるプリミティブは、テストヘッドに挿入され得るディスクリートテストモジュールの一種であり、テストプランに従ってDUTに対してテストを行うテスト回路を備える。プリミティブは筐体450を有し、その中に、例えば、サイトモジュール、電源などの様々な電子部品が全て収納されている。DIB400は、DUT420の大きさに合わせた特注のコネクタを用いて、複数のDUT420を含み得る。DIB400は、筐体470も含み得る。DIB400は、ロードボード(不図示)を通じて、プリミティブ410の汎用バックプレーン(不図示)にインタフェースで接続されている。プリミティブ410は、DUT420に対してテストプランを実行するためのテスト回路を含む。プリミティブ410は、任意の他のプリミティブから独立して動作することができ、制御サーバに接続されている。
【0059】
図2Bは、ラックに保持された複数のプリミティブ491を含むワークセルを示す。本発明の実施形態は、(図2Aに示されるプリミティブと類似した)複数のプリミティブ及び関連するDIBを利用して、DUTをテストする。各プリミティブは、他のプリミティブから独立して動作することが可能であることを意味するモジュール方式であり、したがって、(図2Bに示されるように)ラック内に配置された複数のプリミティブはそれぞれ、異なるテストプランに従って動作することができる。プリミティブは、命令、制御、管理などのために、制御サーバと通信する。制御サーバは、制御サーバがサポートする様々なプリミティブの複数のアプリケーションプログラム又はテストプランをホストすることが可能である。プリミティブは、標準的なIPネットワークを介してサーバと通信することができる。遠く離れて位置する可能性がある様々なコンピュータシステムは、標準的なIPネットワーク接続を介してサーバにアクセスすることができる。
【0060】
したがって、このテストプラットフォームの下では、1)プリミティブのモジュール性、及び2)標準的なIPネットワーク接続の使用によって、複数のプリミティブが、同じユーザによる所与のテストプランに基づいて複数のDUTをテストすることが可能であり、同じラックの第2の複数のプリミティブが、第2のユーザなどによって管理される全く異なるアプリケーション(又は、異なるテストプラン)を実行する。例えば、6つのプリミティブを含むテストヘッドにおいて、これらのプリミティブのうち2つが、SATA型の装置をデバッグするために技術部署専用とすることが可能であってよく、これらのプリミティブのうち4つが生産部署によるSSDドライブの大量テスト専用としてよい。
【0061】
図3は、CIMが本発明の実施形態に従って動作する、例示的なシステム環境を示すブロック図である。システム300は、複数のユーザステーション10及び20に接続された制御サーバ30を含む。ユーザステーションは、標準的なIP通信ネットワークを介して制御サーバ30に接続される。この例では、1つのユーザステーション10は、技術テストを行う技術ツールであり、ユーザステーション20は、DUTテストを制御する生産ツールである。ユーザステーション10は、サーバ30を通じてプリミティブ40aを制御し、プリミティブ40aは、DUT50aに対してテストプランTP1を実行することが示されている。ユーザステーション20は、サーバ30を通じてプリミティブ40bを制御し、プリミティブ40bは、DUT50bに対してテストプランTP2を実行することが示されている。
【0062】
2つのプリミティブ、40a及び40bは、(図2Bの示されるように)単一のラック内に配置され得る。プリミティブ40aは、テストプラン「TP1」を用い、(DIBを介して)複数のDUT50aをテストすることが示されている。プリミティブ40bは、テストプラン「TP2」と呼ばれる別個のアプリケーションを用い、(DIBを介して)複数のDUT50bをテストすることが示されている。2つの異なる標準的なIPネットワーク接続を介して、第1のユーザコンピュータ10及び第2のユーザコンピュータ20が両方とも、制御サーバ30に接続される。
【0063】
例えば、図3に示されるように、第1のユーザコンピュータは、顧客の技術部署専用としてよく、第2のユーザコンピュータは、生産部署専用としてよい。1つの例において、これらのユーザコンピュータは、互いに遠く離れていてよく、且つサーバ30から遠く離れていてもよい。さらに多くのプリミティブが、サーバ30と通信状態にあってよく、説明のために2つだけが示されていることが理解される。さらに、バーコードスキャナなどの他のテスト装置が、サーバ30に接続されてもよく、生産ツール20及びCIM60を用いてアクセス可能であってよい。
【0064】
図3に示される例において、第2のユーザコンピュータ20は、プリミティブ40bによる実行を介して複数のDUT50bに対する生産テストプランを制御している。この生産テストプランは、制御サーバ30にロードされ、次に、DUT50bに対して実行するために、プリミティブ40bにダウンロードされてよい。テスト結果は、その後、反対方向に伝達され得る。この例において、ユーザコンピュータ20は、DUT50bの大量生産テストの間、生産専門職の管理下にあってよい。
【0065】
このように、本発明の実施形態は、同じテスタを用いて、全く異なる機能をサポートすることができる。例えば、生産テスト中に、テスタは、テスタ内のプリミティブのサブセットを用いて、一定のワークフローを実行してよい。例として、生産ワークフローには、SSDドライブにバーコードを付けること、これらのSSDドライブをテストすること、及び各SSDドライブに「合格」又は「不良」としてタグを付けることが含まれてよい。同時に、技術チームの一員が、テストヘッド内の異なるセットのプリミティブを用いて、SATAドライブの不良結果をデバッグするなどの全く異なる機能を実行してよい。
【0066】
上記テストと同時に、第1のユーザコンピュータ10は、プリミティブ40aを介して、複数のDUT50aに適用する技術テストプランを制御することができる。技術テストプランは、まだ完成していない開発中のテストプランであってよい。あるいは、技術テストプランは、異なるプロトコルを用いて異なるDUTをテストするための、単に異なる種類の生産テストプラン、例えば、DUTタイプxに対してDUTタイプyであってもよい。この技術テストプランは、制御サーバ30にロードされ、次に、DUT50aに対して実行するために、プリミティブ40aにダウンロードされてよい。テスト結果は、その後、反対方向に伝達され得る。この例において、ユーザコンピュータ10は、今後使うために現在試作中のテストプランを開発するテストエンジニアの管理下にあってよい。
【0067】
1つの実施形態において、ユーザコンピュータ10及び20は、テストソフトウェア、例えば、Advantest SLATE又はAdvantest Stylusを実行するシステム制御装置であってよい。異なる実施形態において、ユーザコンピュータ10及び20は、通信ネットワーク、例えばIPネットワークを通じてサーバ30に接続されたユーザ端末であってよく、サーバ30は、テストソフトウェア、例えば、Advantest Stylusを実行するシステム制御装置であってよい。
【0068】
1つの実施形態において、サーバ30は、接続されたプリミティブ全てのテストを監視する制御装置であり、ユーザにGUIも提供する。他の実施形態において、図3に示されるように、ユーザはIP接続を通じてサーバに接続し、サーバに接続されたユーザコンピュータのそれぞれは、別個のGUIを関連するユーザに提供し、関連するプリミティブのセットを制御する。
【0069】
サーバ30は、1つの実施形態において、ユーザ間にリソースを割り当てる割り当てスキームを実行することができる。例えば、サーバは、ユーザの用途に応じて、ユーザにプリミティブを割り当てることができる。1つの実施形態において、サーバは、異なる目的の異なるプリミティブを異なるユーザに動的に割り当て、且つ管理することができる。サーバは、ユーザコンピュータのそれぞれと、サーバ30に接続された様々なプリミティブ(及び、それらの関連DUT)との間の双方向通信も可能にする。サーバはまた、接続された様々なプリミティブ上で同時に実行されるワークフローを管理し、接続されたプリミティブ及び/又はテスタスライス上で、様々なワークフローを追跡することができる。
【0070】
さらに重要なことには、CIM60が、システム100の高レベルの機能性及び特性を制御する。例えば、CIM60は、テストプランのサーバ30へのロードを制御する。CIM60は、新たなDUTがいつプリミティブに挿入されたかをテスト中に記録することができ、DUTに関連付けられた識別情報に基づいてDUTを認識することができる。CIM60は、新たなDUTの搭載に関する情報を、例えばサーバ30から受信し、サーバ30は、接続されたプリミティブからその情報を受信する。CIMは、様々なDUTパラメータを、ユーザステーション及び/又は制御サーバ30に提供する。これにより、CIMは、専用のDUTテストパラメータを制御サーバ30に任意選択で提供することが可能になる。
【0071】
CIMは、カスタマイズされたGUI表示情報を生産ツール20に提供することもできる。CIMは、テストプラン実行を開始することができ、様々なDUTに対するテストプランの実行結果も受信する。CIMは、テスト結果に関して、機能性の整理及び記録を行うことができる。CIMは、テスト結果データを適切なDUTに関連付けし、この情報を顧客又はプロセス固有のフロア管理モジュール70に報告することができ、フロア管理モジュール70は、後の参照のためにDUTごとに、データベース、例えば顧客データベース80にデータを保管することができる。CIMはまた、テスト情報が暗号化されているかどうか、且つ特定の顧客のテストに用いられるべき暗号化の種類であるかどうかを管理する。CIMは、ステーションと関連付けられたテストの間に、ユーザステーション10及び20に表示されるグラフィカルユーザインタフェースも制御することができる。
【0072】
1つの実施形態において、CIMは、サーバ30上で実行され得るAPIである。別の実施形態において、CIMは、異なる制御装置(又はコンピュータ)上で実行され得る。
【0073】
つまり、CIM60は、1)どのテストプランが用いられるか、2)ユーザインタフェースがユーザステーションを介してテスタ上でどのように見えて、どのように動作するか、3)次のプロセスをテストし制御するために新たなDUTが挿入された場合の処理、4)テストのテスト結果がどのように収集され格納されるかなどに関して、テストシステム100の多くの高レベルの機能及び特性を制御することができる。
@プリミティブ又はDUTと通信するために、CIMは、サーバ30を経由しなければならない。例えば、テストを実行する又はDUTステータスを読み出すために、CIMは、中間装置としてサーバ30を用いなければならないであろう。
【0074】
本発明の態様によれば、ユーザは、ユーザコードを格納し、システム100と関連付けられたライブラリ90内のAPIを用いることができる。ユーザコードは、CIM開発者、例えばAdvantest Corp.によって提供される情報及び構文に基づいて顧客が開発し、その後ライブラリ90にロードされてよい。次にCIM60は、ユーザコード及びユーザAPIを統合し、これによりCIM60は、特定の顧客のニーズに合わせて自動的にカスタマイズされ、ユーザライブラリ90のコンテンツに従って、特定の機能及び特性を採用する。このように、本発明は、CIM60をカスタマイズするための自動機構を効果的に提供し、その結果、各顧客のニーズに合わせてCIM60を手動で書き直したり、設計し直したりすることが不要になる。これにより、新たなCIMを開発するためのターンアラウンドタイムを増やし、また、ソフトウェアの全体コスト、及びCIM修正によって生じるエラーを減らす。
【0075】
本発明の実施形態の利点には、特定の顧客のテストニーズ及び必要な特性に合わせてCIMをカスタマイズするための手法が、より効率的で、自動化されて、より簡単であることが含まれる。これにより、DUTの大量テストに関して、テストスループットがより速くなり、コスト及び複雑性が低減されることになる。他の利点には、CIMをカスタマイズするのに、高度な訓練を受けたプログラムの専門家及び設計者が必ずしも必要ではないことが含まれる。
【0076】
従来のテスタシステムでは、上述のように、テスタの高レベルの機能性及び特性の多くを制御するAPIは、各顧客のニーズに合わせて手動で書き直したり、設計し直したりすることが必要であった。
本発明の実施形態のAPI、例えばCIMは、顧客ごとに標準化された生産フローを提供することで、こうしたことを不要にする。顧客ごとに標準化された生産フローは、その後、顧客が、顧客自身の目的に適合するように、簡単な方法又は大がかりな方法でカスタマイズすることができる。例えば、大部分の顧客は、生産フロー内の様々なパラメータに関して類似した要件を有する。例えば、テストプログラムをどこに、どのようにしてロードする必要があるか、テストプログラムはどこから開始するか、エラーが発生した場合に出力される警告の種類、DUTをどこに挿入するかをユーザに示すための表示灯の種類などである。しかしながら、特定の顧客が、生産フローのデフォルトの挙動に対して、簡単な変更又は大がかりな変更を行うことを望む場合がある。
【0077】
本発明の実施形態は、個々の顧客のニーズに適合するようにカスタマイズされ得る標準化されたインタフェース(例えば、CIM)を提供することで、大部分の顧客の類似したプロセス要件を活用する。これが、顧客のニーズに基づいて顧客ごとに専用のAPIを開発するという、手間を要し且つ骨の折れるプロセスに取って変わる。これにより、各ユーザが、独自の生産フローに合った新たなAPI又はコードの開発にリソースを費やすことなく、デフォルトの生産フローの独自の構成を有することが可能になる。
【0078】
CIMは、デフォルトの挙動を全ての顧客に提供するが、専用のユーザライブラリに格納されているユーザコード及びユーザAPIを受け入れることも有利である。換言すれば、デフォルトの生産フローは、事前にプログラムされたユーザライブラリの独自のセットにアクセスする。しかしながら、CIMのデフォルトの生産フローは、デフォルトの挙動と異なるように生産フローを構成し得るユーザ提供の専用のライブラリにアクセスするように、個々のユーザによってカスタマイズされ得る。したがって、CIMは、ユーザによるいくつかのルーチンのカスタマイズを可能にし、且つユーザによって完全に定義された機能も可能にするフレームワークを提供する。
【0079】
CIMによって提供されるデフォルトのフレームワークは、全ての顧客に適用され得るデフォルトの生産フローを含む。しかしながら、専用の要件を有する顧客は誰でも、自身の生産フローに特有の段階を、追加、編集、又は削除するように、デフォルトの生産フローをカスタマイズすることができる。
【0080】
上述のように、ユーザコード及びユーザAPIは、それらがCIM内で自動的に統合され、それにより、顧客の特定の生産プロセス、GUI表示要件、DUTに合わせてCIMをカスタマイズするように、CIMのオペレーション並びに機能及び特性を変更し得るような方法で書かれている。CIMは、顧客によって供給されるユーザコード及びユーザAPIによって自動的に変更されるような方法で開発されているので、CIMはカスタマイズするのがはるかに容易であり、修正しても間違いを起こしにくく、時間やコストをあまりかけずにカスタマイズすることができる。
【0081】
例えば、ユーザステーション20(生産ツール)の顧客が、テストが自分の生産フローで行われる方式を構成するのに、API(例えば、CIM)を用いてよい。CIMにおけるデフォルトの生産フローは、ユーザがDUTをプリミティブに挿入したときに、テストシステム上の赤色LEDを表示するように構成されてよい。顧客が赤色LEDを点滅光に変更するようにCIMをカスタマイズすることを望む場合、顧客は、代わりに点滅光を表示するようにCIMを変更するAPI又はユーザコードを用いて、CIMを容易にカスタマイズすることができる。これにより、新たな顧客が自分の生産フローをデフォルトのCIMと統合することがより簡単になる。したがって、自分の生産フローを扱うために、独自のユーザコード及びAPIを開発する必要がある新たな顧客の骨の折れるプロセスが、本発明の実施形態により回避されるのは有利である。
【0082】
1つの例において、顧客は、プリミティブ40a又は40bのファンの挙動を制御する必要があり得る。サーバ30が起動すると、ファンは通常、デフォルトの速度及びデフォルトの温度制御に設定されることになる。本発明の実施形態により、ユーザは、生産フローのデフォルトの挙動の一部であり得るデフォルトのファン速度及び温度制御のルーチンを、異なる速度に変更することが可能になる。ユーザは、例えば、(下記にさらに論じられることになるSLATEインタフェースを用いる)生産ツール20上のGUIを用いてファン速度を変更することが可能であってよい。ユーザは、CIMをカスタマイズし、新たなファン速度及び温度制御をカスタマイズされたCIMに組み込むことが可能であってよい。例えば、ユーザは、ファン速度をイベントに依存させることが可能であってよく、例えば、テストテストが始まるとファンが高速で回転してよく、テストが終わるとファンが低速で回転してよい。
【0083】
別の例では、新たな顧客がCIMの一部であるデフォルトの生産フローを用いることを望む場合がある。しかしながら、これらの顧客は、デフォルトのCIMレベルでさらされたくない場合がある機密データのために、特定のセキュリティ対策を利用する必要があり得る。上述のように、CIMはまた、テスト情報が暗号化されているかどうか、且つ特定の顧客のテストに用いられるべき暗号化の種類であるかどうかを管理する。新たな顧客は、顧客に固有である特定の種類の暗号化を用いるようにCIMをカスタマイズすることが可能であってよい。換言すれば、新たな顧客は、デフォルトの暗号化挙動を顧客固有の暗号化スキームと取り替える(ライブラリ90に格納された)ユーザ指定のライブラリにアクセスするように、CIMのデフォルトの挙動を変更することが可能であってよい。したがって、本発明の実施形態により、顧客は、ユーザ指定の暗号化手法を用いてテストデータが暗号化されたままになるように、CIMをカスタマイズすることが可能になる。
【0084】
異なる例において、新たな顧客が、生産ツール20とプリミティブ40bとの間でセットアップ中に交換されるデフォルトの情報を変更することを望む場合がある。例えば、顧客が、元の生産フローの一部ではないセットアップ中に、プリミティブ40bに関する何らかの追加情報を必要とする場合がある。本発明の実施形態により、顧客は、プリミティブ40bから追加情報を取得するために、(ライブラリ90に格納された)ユーザ指定のライブラリで、デフォルトの生産フローを変更することが可能になることは有利である。CIM60は、ライブラリ90に格納されたユーザコード及びユーザAPIを統合し、これによりCIM60は、特定の顧客のニーズに合わせて自動的にカスタマイズされ、ユーザライブラリ90のコンテンツに従って、特定の機能及び特性を採用する。
【0085】
上述のように、CIMはまた、テスト結果データを適切なDUTに関連付けて、この情報を顧客又はプロセス固有のフロア管理モジュール70に報告することができ、フロア管理モジュール70は、後の参照のためにDUTごとに、顧客データベース80にデータを保管することができる。例として、顧客は、フロア管理モジュール70の一部である独自の情報又はプロセスを有してよい。顧客は、DUTをテストしている間に、より多くの情報をDUTから取得するようにデフォルトの生産フローを変更することを望む場合がある。顧客は、DUT50bとフロア管理モジュール70との間のデータ交換をより厳密に管理するために、(CIMライブラリ60へのアクセスを可能にする)生産ツール20を用いてデフォルトの生産フローを修正するであろう。さらに、顧客は、個々のDUT処理を管理することが可能であってよく、それにより、顧客は各DUTのテスト及び処理をさらに管理することが可能になる。例えば、顧客は、DUTに対してテストプログラム内で、特定のテストプログラムを実行するようにCIMを修正してよく、顧客は、DUTに対して実行する特定のテストフローを望み、そのテストの結果をフロア管理モジュール70に戻してよい。顧客によるデフォルトの生産フローの修正はまた、テストプロセスの結果に基づいて決定を行うことを含んでもよい。CIMはまた、顧客がデフォルトの生産フローの修正に意思決定段階をプログラムすることを可能にする。
【0086】
CIMはまた、新たなDUTがテスト及びそれに続く任意の処理のために挿入されると行われる処理に対して、さらに多くの管理を可能にし得る。さらに、CIMは、テストのテスト結果が収集され格納される方式の修正を可能にし得る。顧客はまた、このデータを暗号化して、フロア管理モジュール70の一部である独自の情報を保護することを選択してもよい。
【0087】
生産ツール20は通常、デフォルトのサービスプロバイダソフトウェア、例えば、MPT3000HVM製品用のSLATEインタフェース(Advantest Stylusソフトウェアパッケージの一部)を含み、これが、大量生産環境での非同期の単一DUTテスト用に最適化される。生産ツール20はまた、顧客によって構成された、顧客にとっては独自のものである、補助的な顧客固有のAPI又はプロセスも含むことになる。CIMは、デフォルトの生産フローを含むサービスプロバイダソフトウェアと、生産ツール20でも実行される顧客固有のAPI及びプロセスとの間の橋渡しを提供する。換言すれば、CIMは、デフォルトの生産フローを実行するソフトウェアが、生産ツール20において顧客固有のカスタマイズと統合することを可能にする。
【0088】
CIMは、カスタマイズされたGUI表示情報を生産ツール20に提供することもできる。換言すれば、顧客は、デフォルトのサービスプロバイダのGUI、例えば、SLATEインタフェースソフトウェアが見える方式を変更するようにCIMをカスタマイズしてよい。顧客は、顧客に固有の、ユーザに合った特定の生産フロー及び任意の関連するメッセージ又は命令を用いて、GUIをカスタマイズすることが可能であってよい。換言すれば、CIMは、ユーザインタフェースがユーザステーション20を介してテスタ上で見える方式及び動作する方式に合った修正を可能にする。GUIのカスタマイズは、ここでも、ユーザ固有のカスタマイズがデフォルトのサービスプロバイダソフトウェアと統合されることを可能にするCIMの結果として可能である。
【0089】
図4は、CIMが本発明の実施形態に従って動作する、例示的なテスト環境の別の高レベルアーキテクチャの概要を示す。
【0090】
図4に示されるように、ユーザは、テスタソフトウェア、例えばSLATEのGUI420と対話する。例えば、図3の生産ツール20は、GUI420でテスタソフトウェアを実行してよい。生産ツール20は、顧客に合わせたカスタマイズを提供するのにテスタソフトウェア、例えばSLATEを用い、(図3のサーバ30に対応する)サーバ430を通じて、基本的なテスタリソース及びプロセスにアクセスすることも可能である。ユーザは、CIM469を記録、実行、又は停止するコマンドをGUI420から入力することができる。上述のように、CIM469は、ワークフロー命令を用いて、カスタマイズされたGUI表示情報をGUI420に提供することができる。
【0091】
さらに、GUIを用いる生産ツール20は、UIコマンドをサーバ430へ送信することができる。生産ツール20は、サーバ430を用いて、基本的なテスタリソース例えばプリミティブ、及びプロセスにアクセスすることが可能である。
【0092】
顧客は、顧客CIMのダイナミックリンクライブラリ(DLL)470として、図4に示されるCIMを修正してよい。顧客が生成するコード又はAPIは、CIM開発者によって提供される情報及び構文に基づいて顧客が開発し、その後(図3に見られるように)ライブラリ90にロードされてよい。CIM469は次に、ユーザコード及びユーザAPIを統合し、これによりCIM469は、特定の顧客のニーズに合わせて自動的にカスタマイズされ、ユーザライブラリ90のコンテンツに従って特定の機能及び特性を採用する。顧客による修正により、検証DLL472が生成され、これは生産サーバ473によって検証される。一実施形態において、ライブラリ90はDLL472に対応する。
【0093】
上述のように、CIM469は、テストプランのサーバ430へのロードを制御する。CIM469は、新たなDUTがいつプリミティブに挿入されたかをテスト中に記録することができ、DUTに関連付けられた識別情報に基づいてDUTを認識することができる。CIM469は、新たなDUTの搭載に関する情報を、例えばサーバ430から受信し、サーバ430は、接続されたプリミティブからその情報を受信する。CIMは、様々なDUTパラメータを、ユーザステーション及び/又は制御サーバ430に提供する。これにより、CIMは、専用のDUTテストパラメータを制御サーバ430に任意選択で提供することが可能になる。CIMはまた、特定のプリミティブを選択するために、又は特定のDUTを実行するために、コマンドをサーバ30へ送信することもできる。DUTのテストフローは、GUI420又はCIM469から開始されてよいが、プリミティブへの情報のフローに関するコンパイルは、常にサーバ430を用いて行われる。
【0094】
顧客は、これらの特性のいずれかを顧客固有のコードを用いてカスタマイズし、顧客CIMのDLL470を用いてCIM469に組み込むように、デフォルトの生産フローを修正することができる。サーバ430は、テスタリソース、例えばプリミティブにアクセスして利用するために、何らかの機能性を提供するが、CIMは、サーバ430のデフォルトの機能性を異なる方法で用いるか、又はデフォルトの生産フローに加えて若しくはデフォルトの生産フローの代わりに異なるテストフローを実行することができるカスタマイズが行われることを可能にする。
【0095】
図5は、本発明の実施形態に従ってCIMのデフォルトの生産フローを修正した、顧客用の例示的な作業命令シーケンスを示す。図5の作業命令シーケンスは、顧客が、独自のテストプロセスのニーズに適合させるために、CIM569に行うことができるいくつかの例示的な修正を示す。例えば、顧客は、シーケンス「startWorkOrder」580によって示される特定の作業命令を開始するボタンで、生産ツール520(SLATEソフトウェアを含む)においてGUIを修正してよい。顧客がGUIの適切なボタンを押すことによって特定の作業命令を開始した場合、CIMに通知され、CIMは次に、作業命令の開始を顧客インタフェース(例えば、図3のフロア管理モジュール70)に報告する。これは、「初期化」シーケンス581として図5に示されている。
【0096】
図5の例において、顧客は、DUTが入っている生産フロアのあらゆる受け入れ箱のシリアルナンバ及びバーコードデータをスキャンするようにCIMを修正してよい。これにより、作業命令が単一又はいくつかのバーコードナンバーと関連付けられているかどうかに関して、顧客に通知されることになり得る。この例のバーコードスキャナは、サーバ530に接続されてよい。修正されたCIMは、シーケンス582の間にサーバ530と通信してバーコードデータを取得し、その後、CIMはさらに、シーケンス583の間にバーコードデータのGUIへの報告を返すように修正される。
【0097】
同様に、シーケンス584は、顧客による、作業命令情報を設定するための修正である。顧客は、シーケンス583及び584の間にGUIを修正することで作業命令に関する何らかの情報を入力することが可能であってよい。作業命令情報は、シーケンス584の間に設定され且つ検証される。次にCIMは、シーケンス585の間に、検証された作業命令に合ったテストプランデータを得る。(また、シーケンス585では、ユーザは、ThermalControl DLLを用いることを選択した場合、サーマルアルゴリズム及びサーマルセットポイントを指定することもできる)。CIMは、例えば(図3に示されるように)フロア管理モジュール70を通じて、顧客にテストプランを入力させることができる。シーケンス586の間に、作業命令は設定されてGUIに報告される。テストされるDUTは、シーケンス587の間にCIMによって検証され、DUTに対して実行されるテストフロー名がフロア管理モジュール70から取得される。
【0098】
同様に、図5に示される各シーケンスは、CIMのデフォルトの生産フローに対して顧客によって作成された修正の一例である。例えば、シーケンス572は、テストプランデータを設定するためにサーバ430と通信するCIM469を含み、シーケンス573は、DUTとの接続を確立するためにサーバ430と通信するCIM469を含み、シーケンス574は、イベントをGUIに報告するCIM469を含む。
【0099】
図6は、本発明の実施形態に従って顧客がCIMのデフォルトの生産フローを修正し得る方式を示す、例示的な状態図を示す。図6は、顧客用のデフォルトの生産フローを示し、顧客は、特定の段階において生産フローに合わせた特定のカスタマイズが可能である。例えば、さらに下記で論じられるように、段階622(作業命令のカスタマイズ)及び段階623(DUTのカスタマイズ)が、統合ポイントを顧客に提供し、CIMの修正によって、デフォルトのCIMにより提供される標準的な生産フローのカスタマイズが可能になる。換言すれば、段階622及び623は、顧客が生産ワークフローを入力し、それを自分の特定のニーズに基づいてカスタマイズするためのエントリポイント段階である。
【0100】
したがって、他の段階のいずれかで行われる顧客によるあらゆる修正は、段階622又は623を経由する必要があることになる。例えば、ユーザが、段階603でテストプランをダウンロードすることに関連した、何らかの手順を修正することを望んだ場合、カスタマイズ統合プロセスが、ユーザを段階622に戻すように関連付けることになるであろう。同様に、ユーザが、テストサイトの選択(例えば、プリミティブの選択)に関連した何らかの手順を修正することを望んだ場合、ユーザは、段階623に戻るように関連付けられる必要があるであろう。
【0101】
作業命令が用意されて処理された後、作業命令に関するイベントはこれ以上なく、代わりに、CIMが、特定のDUTに関するイベントを処理し始める。したがって、段階622では、作業命令処理に関連するあらゆる修正が検討され、段階623では、DUT処理に関連するあらゆる修正が検討される。段階622及び623は、CIMを修正する顧客にとって、作業命令処理及びDUT処理がそれぞれ行われる主要な統合ポイントである。しかしながら、他の段階はまた、ユーザが追加の構成を実行するためにカスタマイズ統合段階(例えば、622及び623)に戻ることを可能にする割り込みポイントを提供する。
【0102】
段階601において、例えば、バーコード、DUTのシリアルナンバなどのデータが、作業命令のためにスキャンされ、作業命令が用意される。(段階601は、図5のシーケンス580〜584におおよそ対応し得る)。例えば、作業命令には、SATAディスクドライブのバケットと関連付けられた品番をスキャンし且つテストすることが含まれてよい。スキャンされたデータは、次の段階、作業命令のカスタマイズ622へ伝達される。上述のように、段階622(作業命令のカスタマイズ)は、顧客による作業命令処理に関連した修正を可能にする。カスタマイズに続いて、段階602で、テストされるDUTを含むプリミティブが選択される(又は搭載される)。この時点で、セットアップされたプリミティブの何らかの修正を顧客が行う必要がある場合、このカスタマイズを行うために、CIMは段階622に戻る割り込みポイントを顧客に与える。
【0103】
段階622の間にユーザによって示されたテストプログラムは、段階603で、プリミティブにダウンロードされる。段階602と同様に、あらゆる修正を行うために、顧客には、ここでも割り込みポイントが提供される。段階604で、DUTバーコードはスキャンされ、ユーザは、このプロセスのカスタマイズを段階622に戻ることによって行うという選択肢を有する。作業命令をセットアップして処理する各段階で、ユーザは、段階622に戻ることでカスタマイズを行うことができる。
【0104】
作業命令が処理されると、次に個々のDUTテストのカスタマイズが、DUTバーコードがスキャンされた後、段階604に引き続いて始まる。DUTバーコードが段階604でスキャンできた場合、生産フローは段階623へ進み、そうではなく、間違ったデバイスがスキャンされたか、又はスキャンに失敗した場合、生産フローは段階604にループバックする。例えば、ユーザは、最初の作業命令の一部ではないかもしれないデバイス、又はその作業命令の一部としてテストされるはずのデバイスのトレイに間違って置かれたかもしれないデバイスをスキャンすることがある。換言すれば、デバイスは、段階601の間にスキャンされたバケットの品番と関連しないシリアルナンバを有することがある。この場合、ユーザに対してエラーメッセージがGUI上に表示され、生産フローは段階604に戻ることになる。
【0105】
段階623において、ユーザは、DUT処理に関連したカスタマイズを行うことができる。段階605で、テストサイトの選択、例えばプリミティブの選択が行われる。テストサイト選択は、テストサイト選択をカスタマイズする機会を顧客に提供し得る。例えば、テスタがDUTを搭載する準備ができたときに、顧客は、特定の色の光を表示することを望むことがある。さらに、カスタマイズを行うために、段階605では、段階623に戻る割り込みポイントが提供される。
【0106】
段階606で、DUTが検出される。顧客は、DUT検出に関連した特定のカスタマイズを行う必要があり得る。例えば、顧客は、DUTが検出されたことをユーザに通知するGUIメッセージを望むことがある。さらに、カスタマイズを行うために、段階606では、段階623に戻る割り込みポイントが提供される。DUTが検出されると、DUTデータはサーバ430及びGUI420へ送信され、DUTデータに従ってサイト表示がGUIで変更される。最後に、段階607で、DUTがテストされ得る。
【0107】
図7は、本発明の実施形態に従ってテスタを制御するアプリケーションプログラミングインタフェース(API)を修正するための、例示的なコンピュータ実装プロセスのフローチャートを示す。
【0108】
段階702で、アプリケーションプログラミングインタフェース、例えばCIMは、テスタ上で生産フローを実行するようにプログラムされる。つまり、CIM60は、1)どのテストプランが用いられるか、2)ユーザインタフェースがユーザステーションを介してテスタ上でどのように見えて、どのように動作するか、3)次のプロセスをテストし制御するために新たなDUTが挿入された場合の処理、4)テストのテスト結果がどのように収集され格納されるかなどに関して、テストシステム100の多くの高レベルの機能及び特性を制御することができる。
【0109】
上述のように、CIM60は、システム300の高レベルの機能性及び特性を制御する。例えば、一実施形態において、CIM60は、テストプランのサーバ30へのロードを制御する。別の実施形態において、CIM60は、新たなDUTがいつプリミティブに挿入されたかをテスト中に感知することができ、DUTに関連付けられた識別情報に基づいてDUTを認識することができる。さらに別の実施形態において、CIMは、様々なDUTパラメータを、ユーザステーション及び/又は制御サーバ30に提供する。これにより、CIMは、専用のDUTテストパラメータを制御サーバ30に任意選択で提供することが可能になる。
【0110】
1つの実施形態において、CIMは、カスタマイズされたGUI表示情報を生産ツール20に提供することもできる。さらに、一実施形態において、CIMは、テストプラン実行を開始することができ、様々なDUTに対するテストプランの実行結果も受信する。さらに、一実施形態において、CIMは、テスト結果に関して、機能性の整理及び記録を行うことができる。異なる実施形態において、CIMは、テスト結果データを適切なDUTに関連付けて、この情報を顧客又はプロセス固有のフロア管理モジュール70に報告することができ、フロア管理モジュール70は、後の参照のためにDUTごとに、顧客データベース80にデータを保管することができる。
【0111】
段階704で、CIMは、ユーザ固有のプロセスを実行するために生産フローを修正するように構成され得る。本発明の態様によれば、ユーザは、ユーザコードを格納し、システム100と関連付けられたライブラリ90内のAPIを用いることができる。ユーザコードは、CIM開発者によって提供される情報及び構文に基づいて顧客が開発し、その後ライブラリ90にロードされてよい。
【0112】
最後に、段階706で、修正はCIMと統合されて、特定のユーザに合わせてカスタマイズされたAPIを提供する。CIM60は、ユーザコード及びユーザAPIを統合し、これによりCIM60は、特定の顧客のニーズに合わせて自動的にカスタマイズされ、ユーザライブラリ90のコンテンツに従って、特定の機能及び特性を採用する。このように、本発明の実施形態が、CIM60をカスタマイズするための自動機構を効果的に提供し、その結果、各顧客のニーズに合わせてCIM60を手動で書き直したり、設計し直したりすることが不要になる。
【0113】
上述の説明は、説明を目的に、特定の実施形態を参照して説明されている。しかしながら、上記の実例となる説明は、包括的であることも、本発明を開示されたまさにその形態に限定することも意図していない。上記の教示を考慮すると、多くの修正及び変形があり得る。本発明の原理及びその現実的な応用を最も適切に説明し、それによって、本発明及び企図される特定の使用に適しているかもしれない様々な修正を伴った様々な実施形態を当業者が最も適切に利用することを可能にするために、これらの実施形態が選択され、説明された。
図1A
図1B
図2A
図2B
図3
図4
図5
図6
図7