(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023046410
(43)【公開日】2023-04-04
(54)【発明の名称】試験測定装置及び試験データ分析方法
(51)【国際特許分類】
G01R 31/28 20060101AFI20230328BHJP
G06F 11/22 20060101ALI20230328BHJP
【FI】
G01R31/28 F
G06F11/22 675E
【審査請求】未請求
【請求項の数】11
【出願形態】OL
(21)【出願番号】P 2022152861
(22)【出願日】2022-09-26
(31)【優先権主張番号】202121043152
(32)【優先日】2021-09-23
(33)【優先権主張国・地域又は機関】IN
(31)【優先権主張番号】17/949,158
(32)【優先日】2022-09-20
(33)【優先権主張国・地域又は機関】US
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.JAVASCRIPT
2.VISUAL BASIC
(71)【出願人】
【識別番号】391002340
【氏名又は名称】テクトロニクス・インコーポレイテッド
【氏名又は名称原語表記】TEKTRONIX,INC.
(74)【代理人】
【識別番号】100090033
【弁理士】
【氏名又は名称】荒船 博司
(74)【代理人】
【識別番号】100093045
【弁理士】
【氏名又は名称】荒船 良男
(72)【発明者】
【氏名】シビー・チャーリー・プリコティル
(72)【発明者】
【氏名】スリラム・マンディヤム・クリシュナクマール
(72)【発明者】
【氏名】マヘシャ・グッタハリ・ラクシュミパシー
【テーマコード(参考)】
2G132
5B048
【Fターム(参考)】
2G132AA13
2G132AB02
2G132AC10
2G132AL12
5B048CC17
(57)【要約】
【課題】機械学習を利用して、試験データを迅速に分析する。
【解決手段】ツールキット装置10を試験測定装置20に接続して、被試験デバイス(DUT)25について行う試験を特定するユーザ入力をユーザ・インタフェース18を介して受けて、DUT25の試験を行い、試験結果データを受ける。ツールキット装置10は、機械学習モデルを試験結果データに適用して、異常の可能性がある試験結果を特定し、試験結果データと、潜在的に異常の可能性がある試験結果のグラフを生成して、ユーザ・インタフェース18上に表示する。
【選択図】
図2
【特許請求の範囲】
【請求項1】
試験測定装置であって、
インタフェースと、
上記試験測定装置を外部試験測定装置に夫々接続する1つ以上のコネクタと、
1つ以上のプロセッサと
を具え、該1つ以上のプロセッサが、
被試験デバイス(DUT)について行う1つ以上の試験を特定するユーザ入力を上記インタフェースを介して受ける処理と、
上記1つ以上のコネクタの1つを介して上記DUTへの接続を形成し、上記1つ以上の試験を行って試験結果データを受ける処理と、
1つ以上の機械学習モデルを上記試験結果データに適用して潜在的に異常な試験結果を特定する処理と、
上記試験結果データと上記潜在的に異常な試験結果とを表現するものを生成して表示する処理と
を上記1つ以上のプロセッサに行わせるプログラムを実行するよう構成される試験測定装置。
【請求項2】
上記コネクタが、上記外部試験測定装置用の装置ドライバ・ソフトウェアから構成される請求項1の試験測定装置。
【請求項3】
上記1つ以上の機械学習モデルを適用する処理を上記1つ以上のプロセッサに行わせるプログラムが、
上記試験を行う毎に上記試験結果データのN次元ベクトルを生成する処理と、
上記試験結果データ中のデータ・ポイントの夫々に異常性スコアを割り当てる処理と
を上記1つ以上のプロセッサに行わせるプログラムを含む請求項1の試験測定装置。
【請求項4】
上記1つ以上の機械学習モデルを上記試験結果データに適用して上記潜在的に異常な試験結果を特定する処理を上記1つ以上のプロセッサに行わせるプログラムは、上記試験結果データの異常値又は外れ値を分類するための強度レベルに応じて上記異常値又は上記外れ値を特定する処理を上記1つ以上のプロセッサに行わせるプログラムを含む請求項1の試験測定装置。
【請求項5】
上記1つ以上のプロセッサが、上記1つ以上の機械学習モデルをトレーニングする処理を上記1つ以上のプロセッサに行わせるプログラムを実行するように更に構成される請求項1の試験測定装置。
【請求項6】
上記1つ以上の機械学習モデルをトレーニングする処理を上記1つ以上のプロセッサに行わせるプログラムは、上記1つ以上の機械学習モデルを展開する前に上記1つ以上の機械学習モデルを事前トレーニングする処理と、上記1つ以上の機械学習モデルを展開しながら上記1つ以上の機械学習モデルをトレーニングする処理とを上記1つ以上のプロセッサに行わせるプログラムを含む請求項1の試験測定装置。
【請求項7】
被試験デバイス(DUT)について行う1つ以上の試験を特定するユーザ入力をユーザ・インタフェースを介して受ける処理と、
少なくとも1つの試験測定装置への接続を形成する処理と、
上記DUTについて1つ以上の試験を行って試験結果データを受けるように上記試験測定装置に指示する処理と、
1つ以上の機械学習モデルを上記試験結果データに適用して潜在的に異常な試験結果を特定する処理と、
上記試験結果データと上記潜在的に異常な試験結果とを表現するものを生成して表示する処理と
を具える試験データ分析方法。
【請求項8】
上記試験結果データと上記潜在的に異常な試験結果とを表現するものを生成して提示する処理が、上記ユーザ・インタフェース上にグラフを表示する処理か又は異常な試験結果を示すデータ読み出し情報を表示する処理のいずれかを含む請求項7の試験データ分析方法。
【請求項9】
上記1つ以上の機械学習モデルを適用する処理が、上記試験を行う毎に上記試験結果データのN次元ベクトルを生成する処理と、上記試験結果データ中のデータ・ポイントの夫々に異常性スコアを割り当てる処理と含む請求項7の試験データ分析方法。
【請求項10】
上記1つ以上の機械学習モデルを上記試験結果データに適用して上記潜在的に異常な試験結果を特定する処理が、上記試験結果データの異常値又は外れ値を分類するための強度レベルに応じて上記異常値又は上記外れ値を特定する処理を含む請求項7の試験データ分析方法。
【請求項11】
上記1つ以上の機械学習モデルを展開する前に事前トレーニングされたデータ・セットを用いると共に、上記1つ以上の機械学習モデルの展開中に現れたデータ・セットを用いて上記1つ以上の機械学習モデルをトレーニングする処理を更に具える請求項7の試験データ分析方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、概して、電子部品の試験に関し、特に電子部品の試験データを監視し、分析するための試験測定装置及び分析方法に関する。
【背景技術】
【0002】
半導体チップのような電子部品のハードウェア設計を完璧なものにするには、多くの場合、複数のステップが必要となる。ハードウェア設計サイクルにおいて、特に重要なステップには、堅牢性の実証、システム性能試験、検証試験がある。この検証試験のサイクルでは、半導体チップを販売する上で重大な潜在的異常をカバーしていない。
【0003】
図1は、典型的な半導体チップ開発サイクルを示す。これには、仕様開発と抵抗トランジスタ・ロジック(RTL:Resistor Transistor Logic)設計を含む検証プロセスと、ストレス試験と特性評価を含む実証ステップと、製造試験を含む生産ステップとが含まれる。システム・オン・チップ(SoC:System on a Chip)のチップ開発サイクルには、SoC検証試験と、SoC実証試験と、SoC生産試験とが含まれる。更に、実証及びコンプライアンス試験サイクルには、システム性能試験、ストレス試験、特性評価試験、コンプライアンス試験が含まれる。
【0004】
実証ステップにおいて、特性評価プロセスは、理想的な動作条件を見つけるために、相関関係のある電圧及び周波数を連続的に変化させて測定し、相互の依存性を2軸のグラフにプロットするシュムー・プロット(shmooing)を用いて設計を試験することを含む。高速入出力特性(PCIe、イーサネット(登録商標)、DDRなど)を備えた設計でも、理想的な伝送及びエラー・レートに実現するために、相関関係のある様々な電気的パラメータを連続的に変化させて測定し、シュムー・プロットすることによって、IOポートの特性評価が行われる。この試験は、大規模な試験の場合もあり、ユーザは膨大な時間を費やすことがある。また、ユーザは、分析後にも、かなりの時間を費やして、試験の一部として収集された大規模なデータ・セットを更に分析する必要があり、これによって、更に時間を費やし、コストが増加する。
【0005】
所与の技術分野に属する任意の被試験デバイス(DUT)についてコンプライアンス試験(仕様や規格に準拠しているか調べる試験)又は特性評価試験を実行している間、試験自動化ソフトウェアは、概して、一連の測定値を報告する。これらの測定値のそれぞれは、実行が完了すると、個々の測定品質を得るために特定の限界値と比較され、これが、全ての測定結果について完了したら、更に分析することで、より具体的な知見を得ることができる。この分析には、多くの時間とリソースを取られるので、上記の説明で述べたコストを増加させることになる。
【0006】
個々の結果を見て、細分化された結論を出すのではなく、全ての測定結果を考慮すれば、プロセスは、DUTの品質を決定できる。更に、上記の処理が統合されてリアルタイムで行われるため、問題をデバッグする際に、ユーザ/専門家の労力を大幅に削減できる。
【先行技術文献】
【特許文献】
【0007】
【非特許文献】
【0008】
【非特許文献1】「シュムープロットによるマージン解析」、沖エンジニアリング株式会社、[online]、[2022年9月24日検索]、インターネット<https://www.oeg.co.jp/semicon/shmoo.html>
【非特許文献2】「Tektronix」の記事、Wikipedia、特に、その冒頭において、本願出願人であるテクトロニクス社を「Tektronix, Inc., historically widely known as Tek(テクトロニクス社は、歴史的には、「Tek」として広く知られている)」と紹介、[online]、[2022年9月25日検索]、インターネット<https://en.wikipedia.org/wiki/Tektronix>
【発明の概要】
【発明が解決しようとする課題】
【0009】
いくつかの問題解決手法では、機械学習(ML:Machine Learning)及び人工知能(AI:Artificial Intelligence)を利用することで、試験及び測定の分析を最大限自動する。しかし、試験及び測定の領域では、機械学習の最新の動向と能力の多くが生かされておらず、これは、おそらくは、試験及び測定に関連するデータや問題の特性が原因である。
【0010】
従って、試験データをスマートにデータ分析し、試験実行中にほぼリアルタイムに近いフィードバックを提供するML/AIに基づく効果的で自動的な試験システム及び方法へのニーズがある。これは、問題をデバッグする際のユーザ/専門家の労力を大幅に削減し、プロセスをスピードアップし、プロセスをより効率的にできる。
【課題を解決するための手段】
【0011】
本開示の様々な実施形態は、DUTの試験測定結果において異常を検出するための機械学習/人工知能(ML/AI)ベースのシステム及び方法を提供する。本開示は、全体をまとめて報告される測定結果を試験と共に考慮することにより、DUTの試験測定結果の異常をリアルタイムで検出するためのML/AI方法及びシステムを提供する。
【図面の簡単な説明】
【0012】
【
図1】
図1は、従来技術による従来の半導体チップ開発サイクルを示す。
【
図2】
図2は、試験測定システムの一実施形態を示す。
【
図3】
図3は、検証セットアップにおける被試験デバイス(DUT)の試験測定の結果における異常を検出するためのシステムのアーキテクチャを示す。
【
図4】
図4は、試験測定結果の異常/外れ値を検出するための強度のレベルに基づくML/AIベースのデータ分析動作の実施形態を示す。
【
図5】
図5は、外れ値を特定するためのオンライン・トレーニング及び予測のためのデータ・セットの移動ウィンドウの表している。
【
図6】
図6は、PCIe第2/3/4世代の信号試験を実行している間の正常及び異常な挙動を示すグラフを示す。
【発明を実施するための形態】
【0013】
本願での説明は、人工知能(AI)と機械学習(ML)という用語をほとんど交換可能に使用している。機械学習は、一般的にAIのサブセットを構成する。MLには、モデル・ベースのシステムがあり、このとき、このモデルは、受信したデータに基づいて、どのようにパターンを認識して予測を行うかをモデルに「教える」トレーニング(教師あり学習と呼ばれることが多い)を受ける。教師なしモデル・ベース・システムには、通常、トレーニング・プロセスはない。例えば、動作中に収集された特定のデータ・セットを取り巻く条件によって、モデルが予測を求める方法が定まる。機械学習モジュールは、一般に深層学習(ディープ・ラーニング)ネットワークの形をとるので、この説明では、機械学習モジュールを機械学習ネットワークと呼ぶことがあり、ここで「ネットワーク」という用語は、機械学習モジュール内の「ノード」又は「ニューロン」のネットワークを指す。
【0014】
以下の記載では、説明の都合上、本開示技術の理解を助けるために、具体的な詳細を記載する。しかし、当業者であれば、本開示技術は、これらの詳細によらずに実施されても良いことが理解できよう。当業者であれば、本開示技術の実施形態(その一部は以下に説明される)が、いくつかのシステムに組み込まれても良いことが理解できよう。しかし、本開示技術のシステム及び方法は、本願に記載される特定の実施形態に限定されるものではない。更に、図に示す構造及び装置は、本開示技術の説明のための例示的な実施形態の例示であり、本開示の不明瞭さを回避することを意図している。
【0015】
更に、図内の構成要素やモジュール間の接続は、直接接続に限定されることを意図するものではない。むしろ、これらの構成要素及びモジュールは、変更されたり、再設計されたり、さもなければ、中間の構成要素及びモジュールによって変更されることがある。本開示において「実施形態」に言及する場合、その実施形態に関連して記載される特定の特徴、構造、特性又は機能が、本開示の少なくとも1つの実施形態に含まれることを意味する。本願の様々な場所において「一実施形態において」という語句が現れても、必ずしも全て同じ実施形態を指しているわけではない。
【0016】
概して、システムのプラットフォームは、様々な試験ニーズが生じるにつれて、複数の試験測定装置に接続された試験測定コンピューティング装置上に存在することになろう。技術が進化し続け、より高い計算能力がより小さく、より安価なパッケージに収まるようになってきているので、実施形態は、試験測定コンピューティング装置及び試験測定装置の両方として機能するために必要なハードウェア及びコンポーネントの全てを含む、DUTに直接接続された単一の装置又はハウジングとして実現されても良い。よって、特定のアーキテクチャへの限定は、意図されておらず、示唆するものでもない。
【0017】
図2の実施形態は、2つの装置10及び20を別々の装置として示しているが、それぞれの装置の各要素が任意に組み合わされても良いし、全ての機能性及び能力が1つの装置内に存在しても良い。ツールキット装置10は、コンピュータ、サーバ又は他のコンピューティング装置から構成されても良い。ツールキット装置10は、ポート14を介して試験測定装置20と通信する1つ以上のプロセッサ12を有していても良い。このポート14は、無線又は有線/ケーブル接続のポートと、複数の試験測定装置用のドライバ(ドライバ・ソフトウェア)とを組み合わせて構成されても良く、これにより、ツールキット装置10が、被試験デバイス(DUT)25へ接続することを含めて、DUT25についての試験をセットアップして実行することが可能になる。ポート14は、更に、他のデバイス、リモート・ストレージなどと通信するためのポートを有していても良い。これに代えて、別途独立したデータ・ポート13が、こうしたアクセスを提供しても良い。
【0018】
ツールキット装置10は、また、メモリ16によって表される1つ以上のデータ・リポジトリを含んでも良い。ユーザは、ユーザ・インタフェース(U/I)18及び表示部19を介して試験測定装置20をインタラクティブに操作できる。これにより、ユーザは、試験の選択を行い、データ分析の表示方法に関して、機械学習システムによって実行される視覚化やAPIを介したデータ読み出しなどを選択できる。
【0019】
試験測定装置20は、ツールキット装置10と同様の構成要素も有していて良く、これは、先に述べたように、いくつかの実施形態では、2つの装置を1つの装置へと組み合わせても良い。試験測定装置20は、プローブ23を使って、半導体チップなどの被試験デバイス(DUT)25からの被試験信号を受け、被試験信号をアナログ・デジタル・コンバータ(ADC)21によってデジタル化し、波形データとしてメモリ26に記憶することができる。
図2では、プローブ23が1つだけ示されているが、複数使用されても良く、複数の信号をDUT25から取り込んで、データ・ポイント(サンプル・ポイント)から構成される波形データが生成されても良い。これら波形データは、後述するように分析される。
【0020】
1つ以上のプロセッサ12は、プロセッサに実施形態の方法及びシステムを実現させるコード(プログラム)を実行するように構成されても良い。2つの装置10及び20は、両方の装置に処理タスクを分散させても良い。
【0021】
図3は、DUTの試験測定結果における異常を検出するためのシステム・アーキテクチャの一実施形態を示す。システムは、典型的には、ツール(以下、「スマート・データ分析ツール」又はツールキットと呼ぶ)の形態を取ることになる。
図3に示すアーキテクチャは、実証セットアップの形態のスマート・データ分析ツールを、試験測定結果のデータも含めて、統合して描いている。上述したように、これは、試験測定装置とは別のコンピューティング装置上に存在するか又は、試験測定装置と統合されても良い。なお、
図3中に示される「Tek」は、商標登録第4,504,597号及び第3,334,001号として日本において登録されている本願出願人の登録商標であり、また、本願出願人であるテクトロニクスの略称として知られている(非特許文献2参照)。
【0022】
スマート・データ分析ツールは、インタフェースと、DUTについて1つ以上の試験を実行する自動化ユニットとを有する。このインタフェースにより、ユーザは、必要な入力を行い、試験要件を指定できる。一実施形態では、インタフェースは、テクトロニクスのアプリであり、自動化ソフトウェア開発キットであるソフトウェア・デベロッパーズ・キット(SDK)30を含む。ソフトウェア・デベロッパーズ・キット(SDK)を使用することで、Visual BASIC、C、C++、MATLAB(登録商標)、LabVIEW、LabWindows/CVI、その他のアプリケーション開発環境(ADE)を用い、波形取込や解析などのマルチ・ステップ処理を自動化するためのカスタム・ソフトウェアを作成できる。インタフェースは、1つ以上のREST APIコールを使用して、オープン・アプリケーション・プログラム・インタフェース(オープンAPI)36を介して、自動化ユニット32と相互にやりとりを行う。REST APIは、REST(REepresentational State Transfer)アーキテクチャ・スタイルに準拠したAPIで、Web上のコンピュータ・システム間に標準的な規約を与え、通信を容易にするために使用される。ユーザは、上述のようなアプリケーション30などのユーザ・インタフェースを介して又は単にオープンAPI36を介して、異常を取得できる。本願での説明では、これらをまとめて、「インタフェース」という用語を使用する。
【0023】
また、1つ以上のサードパーティ製アプリケーション34も、オープンAPIを介して自動化ユニット32と相互にやりとりしても良い。自動化ユニットには、ユーザが指定した試験を実行し、試験データを記録し、試験データの分析を実行するための1つ以上のモジュールが含まれる。一実施形態では、自動化ユニットは、コア実行エンジン38と、分析エンジン40と、いくつかのサービス及びリポジトリと、異常検出モデル・モジュール42とを有する。分析エンジン40は、DUTから受けた試験結果データに対して、様々な測定や比較を含む様々な分析を実行する。異常検出モデル・モジュール42は、機械学習ネットワークを有し、データに機械学習を適用して、先に述べた予測外れ値の分析を提供する。
【0024】
各種サービスには、レポート・サービス、出所(起源)サービス(provenance service)、ログ・サービス及び分析サービスが含まれる。本願で使用される場合、「サービス」という用語は、自動化されたタスクを実行し、ハードウェア・イベント及び自動化ユニット内の他のソフトウェア・モジュールからの要求に応答するソフトウェアを意味する。用語「出所(provenance)」は、試験結果データを含むデータに関連する情報を指し、概してメタデータの一形態と考えることができる。
【0025】
コア実行エンジン38は、様々なリポジトリにも接続されており、これらリポジトリは、上述したサービスにも関連することがある。これらには、試験の環境設定(configuration)を保管する環境設定リポジトリが含まれる。データ・リポジトリには、通常、試験測定装置から収集された試験結果データ(波形データなど)が格納される。出所リポジトリ(provenance repository)には、データに関する出所(起源)情報が格納され、ログ・リポジトリには、システム動作の問題に関する情報を提供できる動作ログが格納される。これらリポジトリは、
図2に例示されているような1つのメモリ内に存在して、非常に大きなメモリ中の複数のパーティションという形態でも良いし、又は、リポジトリ毎に別々のメモリ・デバイスを表しているとしても良い。
【0026】
異常検出モデル・モジュール42は、データ・リポジトリに格納されている試験結果データの分析を実行するに、データ・リポジトリに接続される。分析エンジンは、異常検出モデル・モジュールとは対照的に、試験結果データについて「標準的な」分析を実行し、このとき、機械学習ネットワークを使用してデータの分析を実行し、どのデータ結果が外れ値であるかの予測を提供する。
【0027】
コア実行エンジン38は、更に、オシロスコープ46のような1つ以上の装置に接続される試験測定装置ハブ44に接続される。一実施形態では、試験測定装置ハブに接続される試験測定装置としては、米国テクトロニクス社、米国ケースレー社(Keithley)又はその他のメーカーによって製造されるオシロスコープ、ビット・エラー・レート・テスタ(BERT)及び他の試験測定装置が含まれても良い。これらの試験測定装置の夫々は、何らかの通信プロトコルを使用して試験測定装置ハブ44と通信する。一実施形態では、このプロトコルは、1つ以上のTCP通信リンクを通したJSON(JavaScript Object Notation)コマンド、又は、TCP、VXI11、GPIBやシリアル通信リンクを通したプログラム命令によるものであっても良い。本願での説明では、通信手段や装置を動作させる手段を「コネクタ」と呼ぶ。これらコネクタは、試験測定装置と無線又は有線/ケーブル接続を介して通信されるドライバ(ドライバ・ソフトウェア)の形をとっても良いし、試験測定装置に統合されている場合は、試験測定装置に試験を実行させる内部ソフトウェア・コードから構成されても良い。
【0028】
典型的な試験/分析動作は、
図3の実証セットアップに関して、以下のように進行する。実証セットアップで被試験デバイス(DUT)のスマート・データ分析の実施を希望するユーザは、ツールのスマート・データ分析機能をオンにする。ユーザは、通常、試験測定装置のユーザ・インタフェースで選択を行うことでこれを行う。その後、ユーザは、試験プロセスにおいてスケジュールされた試験を実行する。試験の実行には、ツールキット装置10を、外部の試験測定装置20に接続する処理、又は、DUTに接続された外部の試験測定装置に接続する処理が含まれる。上述のように、ツールキット装置が試験測定装置に統合されている場合は、試験測定装置を別の試験測定装置に接続するか、試験を開始するために、試験測定装置自体を初期化する必要がある。試験測定装置が、新しい波形毎に新しい測定結果を取得した場合、測定結果は、スマート・データ分析を受け、この分析では、直ぐ近くのデータと比較した潜在的な異常値又は外れ値を特定する。本開示の一実施形態では、ユーザは、異常検出モデルを用いて、試験結果の異常値/外れ値を分類するために必要な強度レベルを指定できる。
【0029】
図4は、試験結果の異常値/外れ値を検出するための強度レベルに基づくデータ分析動作/方法を示す。この分析は、異常検出モデルを使用する。強度レベルは、試験結果から1つ以上の外れ値を検出するための分析方法に影響を与える変数になる。
図4に示すように、現在の実施形態は、3つのレベルの強度を使用しているが、もっと多くのレベルを又はもっと少ないレベルを使用することもできる。
【0030】
レベルの理解を助けるための一例としては、DUTには、合格しなければならない測定値の要求レンジがある。第1レベルは、装置が外れ値をまれな出来事と見なす「保守的」レベルで構成される。従って、保守的なモデルでは、非常に強い兆候がある場合にのみ、データ・ポイントを外れ値として分類する。「バランス型」モデルでは、そのような兆候に十分な強度があれば、モデルは、データ・ポイントを異常として分類する。「積極型」モデルでは、わずかでも兆候がある全てのデータ・ポイントを強力に異常として分類する。ユーザは、システムに与える測定値のレンジに基づいて、上述の兆候に影響を与えることができ、これにより、一部のデータ・ポイントが外れ値になることがある。例えば、ジッタ測定を例にとると、特定の設計仕様に基づいて、レンジを10~50dBにすることができる。これによると、この範囲の外側又は近くにある点のみが外れ値として特定される保守的な結果になる。レンジを15~20dBその他のレベルに狭めると、外れ値を特定するためのモデルの動作方法に影響を与えることができる。選択したモデルは、モデル・ストアに蓄積(格納)しても良い。
【0031】
総合的な観点からDUT試験結果における潜在的な異常を監視してフラグを立てるために、一実施形態では、利用可能な測定値の全てを組み合わせる。特定の試験に関連する一連の測定値は、DUTの全体的な品質に対する指標として機能し、その組み合わせはその後のモデリングに不可欠である。測定値の組み合わせは、正規化されたベクトル化手順の形をとることができ、N次元ベクトルとして得られるベクトルの次元は、その試験に使用可能な測定値の総数であり、Nは、測定値の数である。データ・ポイントの数も、モデルが動作する必要のあるデータが多いほど、残りのデータに対して外れ値が目立つため、データ・ポイントが外れ値であることの特定に影響することがある。
【0032】
一実施形態では、全ての試験結果は、データ・リポジトリに格納(記憶)される。次に、異常値/外れ値の分類に関してユーザが指定した強度のレベルに基づいて、機械学習ネットワークは、リポジトリに記憶されたデータを、試験のセットアップでのユーザの入力に基づく保守的モデル、バランス型モデル及び積極型モデルの異常検出モデルを使用して分類する。
【0033】
機械学習ネットワークを実行することに加えて、機械学習ネットワークは、典型的には、トレーニングを受けることになろう。トレーニングでは、MLネットワークが、データ・セット(一連のデータ)と、それらの「答え(answers)」とを受けて、MLネットワークが、入力データと、それから得られる出力とを結びつけることができるようにする。トレーニング後、MLネットワークは、入力を分析して出力の特性に関する予測を提供する能力を獲得することになろう。本願での機械学習では、特定のデータ・ポイントが外れ値を構成するかどうかを予測する。
【0034】
図5は、外れ値を特定するための移動ウィンドウ・ベースのオンライン・トレーニングと予測を詳細に表したものを示す。外れ値は、常に、試験対象のデータ・ポイントの直前の直ぐ近くの試験結果データ・ポイントとの比較から特定される。全体的に見て外れ値を特定するのではなく、局所的に見て外れ値を特定するというのが重要な点である。これは、多くの場合、データの挙動の突然の変化が、長期的には標準になる可能性があるためである。トレーニング・データ・セットは、ウィンドウ手法を使用して、局所的な(Local)外れ値を特定する。ウィンドウ手法では、以前に実行された試験結果から事前に定義したウィンドウ長をトレーニングに使用する。ライン50及び52の間に含まれるデータは、それぞれ1つのウィンドウを構成し、これらのウィンドウは重なり合っている。この手法により、入力の変化にすばやく適応できると同時に、トレーニング用のデータ量が大幅に制限されるため、トレーニングの実行をきめ細かく制御できる。一実施形態では、ウィンドウは、事前定義された粒度(granularity)又は分解能(典型的には「1」)で動く。つまり、1つウィンドウが、1つのデータ・ポイントを表している。
【0035】
オンライン学習を容易にするために、システムは、順次徐々にアップデートされたモデルを格納し、それらを即座に取り出せるようにする必要がある。同様に、収集されたデータも、最も良い実施形態として、将来使用する場合のために、バックアップする必要がある。装置は、学習したモデルを、データ・リポジトリと、アーカイブされたモデルが特定のメタデータとともに保存されるモデル/環境設定ストアに格納されている現在のモデルとに、定期的に同期させることによって、これらの要件を満たす。トレーニング用のベクトル化された試験結果も、固有(inherent)で休止状態(silent)のデータ・セットを作成したときに、データ・リポジトリに保存される。モデルは、初期トレーニング(本願では、事前トレーニング済みデータ・セットを使用した事前トレーニングと呼ばれる)を受け、その後、モデルを展開しているときにも、システムがデータ・セットに関してもっと多くのデータを収集するにつれて、その増加分に関する増分トレーニング(incremental training)を受ける。これにより、モデルの精度が向上し、事前にトレーニングされたデータ・セットにはない新しい異常をカバーするようにモデルがトレーニングされる。
【0036】
一実施形態では、スマート・データ分析ツールを組み込んだ自動化プラットフォームを、PCIe第2/3/4世代の信号試験実行ワークフローの実証試験で利用することができた。このとき、信号試験を事前に設定して実行する毎に、測定結果のN次元ベクトルが生成され、これを異常検出モデルへの入力として使用している。実験では、試験の一例として、PCIeを用いたが、この解決手法は、その他の技術にも利用可能であることに注意されたい。
【0037】
図6は、PCIe第2/3/4世代の信号試験を行っている間の正常及び異常な挙動を示すグラフを示す。信号試験の結果の全てのデータ・ポイントには、異常性スコア(縦軸)が与えられ、スコアの変動によって、外れ値となることがある。グラフでは、現在の予測結果が、以前の予測結果と共にトレンド(横軸は時間)として視覚化されており、このとき、黒丸のドットは、正常な挙動を示し、白丸のドットは、1%の潜在的に異常な挙動を示す。プロセスの試験結果のデータ、特に、異常を示すものは、
図6に示すようなグラフから構成されても良いし、又は、異常を強調したデータ読み出し情報であっても良い。これらは、本願では、試験結果データを表現したものと呼ばれる。
【0038】
DUTの試験測定結果における異常を検出するための自動試験結果分析のためのMLベースのシステム及び方法の実施形態によれば、DUTの潜在的な異常な挙動に対する、より良い洞察を受けることが可能になる。この方法とシステムは、1つの結果に限定的にとらわれることなく、全ての測定結果を兆候又は指標として考慮することによって、DUTの品質を調べるものである。実施形態は、DUTに設計に関して、応答の待ち時間(latency)がほぼない、ほぼリアルタイムでのフィードバックがあって、設計の軌道修正が容易になる。更に、本開示技術による試験測定装置は、固有の特性の洞察、ほぼリアルタイムのフィードバックによるDUT設計の軌道修正、分析サイクルの所要時間(turnaround time:分析の開始から完了まで時間)の短さ、DUTのより良い品質を期待できる、といった総合的な効果を提供する。
【0039】
このような装置の展開で節約される実際の時間を推定することは、広く使用されるまで困難である。しかし、典型的な実証分析の所要時間は、最大で20日に達している。このシステムを使用すると、その時間を1~2日に短縮するであろう。
【0040】
本開示技術の態様は、特別に作成されたハードウェア、ファームウェア、デジタル・シグナル・プロセッサ又はプログラムされた命令に従って動作するプロセッサを含む特別にプログラムされた汎用コンピュータ上で動作できる。本願における「コントローラ」又は「プロセッサ」という用語は、マイクロプロセッサ、マイクロコンピュータ、ASIC及び専用ハードウェア・コントローラ等を意図する。本開示技術の態様は、1つ又は複数のコンピュータ(モニタリング・モジュールを含む)その他のデバイスによって実行される、1つ又は複数のプログラム・モジュールなどのコンピュータ利用可能なデータ及びコンピュータ実行可能な命令で実現できる。概して、プログラム・モジュールとしては、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含み、これらは、コンピュータその他のデバイス内のプロセッサによって実行されると、特定のタスクを実行するか、又は、特定の抽象データ形式を実現する。コンピュータ実行可能命令は、ハードディスク、光ディスク、リムーバブル記憶媒体、ソリッド・ステート・メモリ、RAMなどのコンピュータ可読記憶媒体に記憶しても良い。当業者には理解されるように、プログラム・モジュールの機能は、様々な実施例において必要に応じて組み合わせられるか又は分散されても良い。更に、こうした機能は、集積回路、フィールド・プログラマブル・ゲート・アレイ(FPGA)などのようなファームウェア又はハードウェア同等物において全体又は一部を具体化できる。特定のデータ構造を使用して、本開示技術の1つ以上の態様をより効果的に実施することができ、そのようなデータ構造は、本願に記載されたコンピュータ実行可能命令及びコンピュータ使用可能データの範囲内と考えられる。
【0041】
開示された態様は、場合によっては、ハードウェア、ファームウェア、ソフトウェア又はこれらの任意の組み合わせで実現されても良い。開示された態様は、1つ以上のプロセッサによって読み取られ、実行され得る1つ又は複数のコンピュータ可読媒体によって運搬されるか又は記憶される命令として実現されても良い。そのような命令は、コンピュータ・プログラム・プロダクトと呼ぶことができる。本願で説明するコンピュータ可読媒体は、コンピューティング装置によってアクセス可能な任意の媒体を意味する。限定するものではないが、一例としては、コンピュータ可読媒体は、コンピュータ記憶媒体及び通信媒体を含んでいても良い。
【0042】
コンピュータ記憶媒体とは、コンピュータ読み取り可能な情報を記憶するために使用することができる任意の媒体を意味する。限定するものではないが、例としては、コンピュータ記憶媒体としては、ランダム・アクセス・メモリ(RAM)、読み出し専用メモリ(ROM)、電気消去可能プログラマブル読み出し専用メモリ(EEPROM)、フラッシュメモリやその他のメモリ技術、コンパクト・ディスク読み出し専用メモリ(CD-ROM)、DVD(Digital Versatile Disc)やその他の光ディスク記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置やその他の磁気記憶装置、及び任意の技術で実装された任意の他の揮発性又は不揮発性の取り外し可能又は取り外し不能の媒体を含んでいても良い。コンピュータ記憶媒体としては、信号そのもの及び信号伝送の一時的な形態は除外される。
【0043】
通信媒体とは、コンピュータ可読情報の通信に利用できる任意の媒体を意味する。限定するものではないが、例としては、通信媒体には、電気、光、無線周波数(RF)、赤外線、音又はその他の形式の信号の通信に適した同軸ケーブル、光ファイバ・ケーブル、空気又は任意の他の媒体を含んでも良い。
【0044】
加えて、本願の説明は、特定の特徴に言及している。本明細書における開示には、これらの特定の特徴の全ての可能な組み合わせが含まれると理解すべきである。ある特定の特徴が特定の態様又は実施例に関連して開示される場合、その特徴は、可能である限り、他の態様及び実施例との関連においても利用できる。
【0045】
また、本願において、2つ以上の定義されたステップ又は工程を有する方法に言及する場合、これら定義されたステップ又は工程は、状況的にそれらの可能性を排除しない限り、任意の順序で又は同時に実行しても良い。
実施例
【0046】
以下では、本願で開示される技術の理解に有益な実施例が提示される。この技術の実施形態は、以下で記述する実施例の1つ以上及び任意の組み合わせを含んでいても良い。
【0047】
実施例1は、試験測定装置であって、インタフェースと、上記試験測定装置を外部試験測定装置に夫々接続する1つ以上のコネクタと、1つ以上のプロセッサとを具え、該1つ以上のプロセッサが、被試験デバイス(DUT)について行う1つ以上の試験を特定するユーザ入力を上記インタフェースを介して受ける処理と、上記1つ以上のコネクタの1つを介して上記DUTへの接続を形成し、上記1つ以上の試験を行って試験結果データを受ける処理と、1つ以上の機械学習モデルを上記試験結果データに適用して潜在的に異常な試験結果を特定する処理と、上記試験結果データと上記潜在的に異常な試験結果とを表現するものを生成して表示する処理とを上記1つ以上のプロセッサに行わせるプログラム(コード)を実行するよう構成される。
【0048】
実施例2は、実施例1の試験測定装置であって、上記試験結果データの少なくとも1つと、機械学習モデルの設定環境、メタデータ及びシステム・ログのうちの少なくとも1つに関連する情報を格納する1つ以上のリポジトリを更に具える。
【0049】
実施例3は、実施例1又は2のいずれかの試験測定装置であり、ここで、上記1つ以上のプロセッサは、上記試験測定装置とは別のコンピューティング装置上に存在する。
【0050】
実施例4は、実施例1~3のいずれかの試験測定装置であり、ここで、上記試験測定装置と上記外部試験測定装置とが、まとめて一体化した装置として形成される。
【0051】
実施例5は、実施例1~4のいずれかの試験測定装置であり、ここで、上記コネクタが、1つ以上の外部試験測定装置用の装置ドライバ・ソフトウェアから構成される。
【0052】
実施例6は、実施例1の試験測定装置であって、ここで、1つ以上の機械学習モデルを適用する処理を上記1つ以上のプロセッサに行わせるプログラム(コード)は、上記試験を行う毎に上記試験結果データのN次元ベクトルを生成する処理と、上記試験結果データ中のデータ・ポイントの夫々に異常性スコアを割り当てる処理とを上記1つ以上のプロセッサに行わせるプログラム(コード)を含む。
【0053】
実施例7は、実施例1~6のいずれかの試験測定装置であって、ここで、上記1つ以上のユーザ入力を受ける処理を上記1つ以上のプロセッサに行わせる上記プログラムは、上記試験結果データの異常値又は外れ値を分類するための強度レベルを受ける処理を上記1つ以上のプロセッサに行わせるプログラムを含む。
【0054】
実施例8は、実施例7の試験測定装置であって、ここで、上記1つ以上の機械学習モデルを上記試験結果データに適用して上記潜在的に異常な試験結果を特定する処理を上記1つ以上のプロセッサに行わせるプログラムは、上記強度レベルに応じて外れ値を特定する処理を上記1つ以上のプロセッサに行わせるプログラムを含む。
【0055】
実施例9は、実施例1~8のいずれかの試験測定装置であり、ここで、上記1つ以上のプロセッサが、上記1つ以上の機械学習モデルをトレーニングする処理を上記1つ以上のプロセッサに行わせるプログラム(コード)を実行するように更に構成されている。
【0056】
実施例10は、実施例9の試験測定装置であって、ここで、上記1つ以上の機械学習モデルをトレーニングする処理を上記1つ以上のプロセッサに行わせるプログラム(コード)は、以前に実行された試験結果から予め定義されたウィンドウ長の複数のウィンドウを使用する。
【0057】
実施例11は、実施例9の試験測定装置であって、ここで、上記1つ以上の機械学習モデルをトレーニングする処理を上記1つ以上のプロセッサに行わせるプログラム(コード)は、上記1つ以上の機械学習モデルを展開する前に上記1つ以上の機械学習モデルを事前トレーニングする処理と、上記1つ以上の機械学習モデルを展開しながら上記1つ以上の機械学習モデルをトレーニングする処理とを上記1つ以上のプロセッサに行わせるプログラム(コード)を含む。
【0058】
実施例12は、試験データを分析する方法であって、被試験デバイス(DUT)について行う1つ以上の試験を特定するユーザ入力をユーザ・インタフェースを介して受ける処理と、少なくとも1つの試験測定装置への接続を形成する処理と、上記DUTについて1つ以上の試験を行って試験結果データを受けるように上記試験測定装置に指示する処理と、1つ以上の機械学習モデルを上記試験結果データに適用して潜在的に異常な試験結果を特定する処理と、上記試験結果データと上記潜在的に異常な試験結果とを表現するものを生成して表示する処理とを具える。
【0059】
実施例13は、実施例12の方法であって、上記試験結果データ、機械学習モデルの環境設定、メタデータ及びシステム・ログのうちの少なくとも1つに関連する情報を記憶する処理を更に含む。
【0060】
実施例14は、実施例12又は13の方法であって、少なくとも1つの試験測定装置への接続を形成する処理が、外部試験測定装置用のドライバ・ソフトウェアを用いて上記外部試験測定装置に接続する処理を含む。
【0061】
実施例15は、実施例12~14のいずれかの方法であって、ここで、上記試験結果データと上記潜在的に異常な試験結果とを表現するものを生成して提示する処理が、ユーザ・インタフェース上にグラフを表示する処理か又は異常な試験結果を示すデータ読み出し情報を表示する処理のいずれかを含む。
【0062】
実施例16は、実施例12~15のいずれかの方法であって、ここで、上記1つ以上の機械学習モデルを適用する処理が、上記試験を行う毎に上記試験結果データのN次元ベクトルを生成する処理と、上記試験結果データ中のデータ・ポイントの夫々に異常性スコアを割り当てる処理と含む。
【0063】
実施例17は、実施例12~16のいずれかの方法であって、1つ以上のユーザ入力を受ける処理が、上記試験結果データの異常値又は外れ値を分類するための強度レベルを受ける処理を含む。
【0064】
実施例18は、実施例17の方法であって、上記1つ以上の機械学習モデルを上記試験結果データに適用して上記潜在的に異常な試験結果を特定する処理が、上記強度レベルに応じて外れ値を特定する処理を含む。
【0065】
実施例19は、実施例11~18のいずれかの方法であって、上記1つ以上の機械学習モデルを展開する前に事前トレーニングされたデータ・セットを用いると共に、上記1つ以上の機械学習モデルの展開中に現れたデータ・セットを用いて上記1つ以上の機械学習モデルをトレーニングする処理を更に具える。
【0066】
実施例20は、実施例19の方法であって、上記1つ以上の機械学習モデルをトレーニングする処理が、以前に行われた試験結果から事前に定義されたウィンドウ長を有する重複データ・セットを使用する。
【0067】
明細書、要約書、特許請求の範囲及び図面に開示される全ての機能、並びに開示される任意の方法又はプロセスにおける全てのステップは、そのような機能やステップの少なくとも一部が相互に排他的な組み合わせである場合を除いて、任意の組み合わせで組み合わせることができる。明細書、要約書、特許請求の範囲及び図面に開示される機能の夫々は、特に明記されない限り、同じ、等価、又は類似の目的を果たす代替の機能によって置き換えることができる。
【0068】
説明の都合上、本開示技術の具体的な態様を図示し、説明してきたが、本発明の要旨と範囲から離れることなく、種々の変更が可能なことが理解できよう。従って、本開示技術は、添付の請求項以外では、限定されるべきではない。
【符号の説明】
【0069】
10 ツールキット装置
12 プロセッサ
13 データ・ポート
14 ポート
16 メモリ
18 ユーザ・インタフェース
19 表示部
20 試験測定装置
22 プロセッサ
23 プローブ
24 ポート
25 被試験デバイス(DUT)
26 メモリ
28 ユーザ・インタフェース
29 表示部
30 ソフトウェア・デベロッパーズ・キット(SDK)
32 自動化ユニット
34 サード・パーティー・アプリ
36 オープンAPI
38 コア実行エンジン
40 分析エンジン
42 異常検出モデル・モジュール
44 試験測定装置ハブ
46 テクトロニクス社のオシロスコープ