(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2023-12-04
(54)【発明の名称】高速入力/出力マージン試験のためのシステム、方法及び装置
(51)【国際特許分類】
G01R 31/28 20060101AFI20231127BHJP
G06F 11/22 20060101ALI20231127BHJP
【FI】
G01R31/28 F
G01R31/28 R
G06F11/22 675E
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2023531530
(86)(22)【出願日】2021-11-23
(85)【翻訳文提出日】2023-07-24
(86)【国際出願番号】 US2021060663
(87)【国際公開番号】W WO2022115495
(87)【国際公開日】2022-06-02
(32)【優先日】2020-11-24
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】391002340
【氏名又は名称】テクトロニクス・インコーポレイテッド
【氏名又は名称原語表記】TEKTRONIX,INC.
(74)【代理人】
【識別番号】100090033
【氏名又は名称】荒船 博司
(74)【代理人】
【識別番号】100093045
【氏名又は名称】荒船 良男
(72)【発明者】
【氏名】フローリッヒ・ダニエル・エス
(72)【発明者】
【氏名】ストリックリング・サム・ジェイ
【テーマコード(参考)】
2G132
5B048
【Fターム(参考)】
2G132AB06
2G132AB07
2G132AC11
2G132AD10
2G132AH01
2G132AH03
5B048CC02
(57)【要約】
マージン・テスト中に、データの作成、保存、分析及びトレーニングするためのシステムには、被試験デバイス(DUT)にインターフェイスを介して結合されるマージン試験生成部がある。マージン試験生成部は、試験セッションの1つ以上の試験状態の間、DUTを試験するための試験信号を変更し、試験結果を作成するよう構成される。試験結果は、試験セッション中に試験されたDUTのDUT識別子とともにデータ・リポジトリに保存される。コンパレータは、DUT試験結果のいずれかが、以前のDUT試験の分析に基づく予測結果と一致するかどうかを判定する。一致する場合、メッセージ生成部は、試験されたDUTが予測結果に一致した旨の表示を生成する。
【特許請求の範囲】
【請求項1】
試験装置であって、
被試験デバイス(DUT)に接続するように構成された少なくとも1つの試験インタフェースと、
試験セッションの1つ以上の試験状態中に上記DUTを試験するためのマージン試験信号を生成するように構成された1つ以上のコントローラと、
上記試験セッションの上記1つ以上の試験状態中の上記DUTの試験の結果を、上記試験セッション中に試験された上記DUTのDUT識別子とともに記憶するように構成されたデータ・リポジトリと、
上記試験装置に対して影響を与えるように結合され、試験された上記DUTが予測結果と一致したことを示す表示を表示するように構成されるユーザ・インタフェースと
を具え、
上記1つ以上のコントローラは、上記DUTの試験のいずれかの結果が、以前のDUTの試験の分析に基づく予測結果と一致するか否か判断するよう構成される試験装置。
【請求項2】
上記データ・リポジトリが、DUT識別子、DUTの分類、上記1つ以上の試験状態の夫々に費やされた時間、1つ以上の試験状態夫々の合格する状態、又は、上記1つ以上の試験状態夫々の再トレーニングの回数を記憶するように構成される請求項1の試験装置。
【請求項3】
上記データ・リポジトリが、1つ以上の試験状態のうちの1つにおける複数の試験の試験結果を示すアイ・ダイアグラムを記憶するように更に構成される。請求項2の試験装置。
【請求項4】
上記試験装置が、DUT自体上の記憶装置から上記DUT識別子を読み取るように構成されているか又は上記試験装置が上記DUT識別子を生成するように構成されている請求項2の試験装置。
【請求項5】
上記予測結果は、以前のDUT試験の分析及び1つ以上のDUTの動作寿命についてのデータから生成される請求項1の試験装置。
【請求項6】
上記データ・リポジトリが、通信ネットワークを介して上記DUTの試験の結果を受信する請求項1の試験装置。
【請求項7】
上記試験セッションの上記1つ以上の試験状態が、1つ以上の電力状態、1つ以上の送信状態又は1つ以上のリンク状態を含む請求項1の試験装置。
【請求項8】
試験装置を動作させる方法であって、
被試験デバイス(DUT)への接続を確立する処理と、
試験セッションの1つ以上の試験状態中に上記DUTをマージン試験するための試験信号を生成する処理と、
上記試験セッションの上記1つ以上の試験状態中の上記DUTの試験の結果を、上記試験セッション中に試験された上記DUTのDUT識別子と共にライブラリに記憶する処理と、
上記DUT試験の結果のいずれかの結果が以前のDUT試験の分析に基づく予測結果と一致するかどうかを判断する処理と、
上記DUT試験のいずれかの結果が、上記予測結果と一致する場合に、上記試験装置のユーザに示す表示を生成する処理と
を具える試験装置を動作させる方法。
【請求項9】
上記ライブラリが、DUT識別子、DUTの分類、1つ以上の試験状態の夫々に費やされた時間、1つ以上の試験状態夫々の合格する状態、又は、上記1つ以上の試験状態夫々の再トレーニングの回数を記憶するように構成される請求項8の方法。
【請求項10】
上記ライブラリが、1つ以上の試験状態のうちの1つにおける複数の試験の試験結果を示すアイ・ダイアグラムを記憶するように更に構成される請求項9の方法。
【請求項11】
DUT自体上の記憶装置から上記DUT識別子を読み取る処理又は上記DUT識別子を生成する処理を更に具える請求項9の方法。
【請求項12】
上記予測結果が、以前のDUT試験の分析及び1つ以上のDUTの動作寿命についてのデータから生成される請求項8の方法。
【請求項13】
上記DUTの試験の結果を保存する処理が、通信ネットワークを介して結果を送信する処理を含む請求項8の方法。
【請求項14】
上記試験セッションの上記1つ以上の試験状態が、1つ以上の電力状態、1つ以上の送信状態又は1つ以上のリンク状態を含む請求項8の方法。
【請求項15】
予測結果を生成及び使用する方法であって、
1つ以上のDUTに関する動作情報を表すデータを受信する処理と、
過去のマージン試験中に生成された1つ以上のDUTの試験結果の共通性を判定して、過去の試験結果を上記動作情報と照合する処理と、
上記動作情報と一致する過去の試験結果のリストを作成する処理と、
試験セッションの1つ以上の試験状態中に上記1つ以上のDUTに関連するDUTを試験して現在の試験結果を生成する処理と、
上記現在の試験結果を上記過去の試験結果のリストに対して比較する処理と、
現在の試験結果が過去の試験結果のリスト上の過去の試験結果のいずれかと一致する場合に表示を生成する処理と
を具える予測結果を生成及び使用する方法。
【請求項16】
上記過去の試験結果が、1つ以上のアイ・ダイアグラムを含む請求項15の方法。
【請求項17】
過去のマージン試験中に生成された1つ以上のDUTの試験結果の共通性を判定して、過去の試験結果を上記動作情報と照合する処理が、上記1つ以上のDUTの過去の試験結果の1セットを上記1つ以上のDUTの過去の試験結果の別のセットと比較する処理を更に有する請求項15の方法。
【請求項18】
動作情報は、1つ以上のDUTの寿命又は故障情報を含む請求項15の方法。
【請求項19】
以前のマージン試験中に生成された試験結果が、1つ以上の電力状態、1つ以上の送信状態又は1つ以上のリンク状態中に生成された結果を含む請求項15の方法。
【請求項20】
マージン試験装置の動作情報と一致する過去の試験結果のリストを記憶する処理を更に含む請求項15の方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、試験測定システムに関し、より詳細には、電気的被試験デバイス(DUT)上で電気的マージン試験を使用してデバイスの特性評価を行うためのシステム及び方法に関する。
【背景技術】
【0002】
多くの通信規格は、被試験装置(DUT)が指定された適合マージンを備えた全ての性能試験に合格するかどうかを判定するための、一連のストレス試験シナリオを概説している。例えば、任意波形又は関数発生装置やビット・エラー・レート・テスタ(BERT)などの信号源を備えた試験測定装置は、ストレス試験用の波形を生成し、受信した信号に応じたDUTの性能マージンを測定するために使用できる。このような試験は、新しいデバイスを設計するエンジニアリング特性評価段階で実行され、デバイスの実際の電気的性能とシミュレートされた性能を比較して、デバイスが設計通りに動作していることを確認する。
【0003】
多くの電気装置は、高速I/O信号経路又はバスを含む。例えば、最新のパーソナル・コンピュータ(PC)のマザーボードや他のタイプの電気デバイスには、多くの場合、高速シリアルPCI Express(PCIe又はPCI-eとも略される)バスが含まれており、これは、PCI Express 高速シリアル・コンピュータ拡張バス規格に準拠して動作するバスである。PCI Express 規格のフォーマット仕様は、PCI Special Interest Group(PCI-SIG)によって維持及び開発されている。これらのバスは、通常、マザーボードと、マザーボード上のPCIeコネクタ・スロット又はポートに差し込まれるアドイン/ドーター・カードとの間の通信に使用される。マザーボード以外の多くの電気デバイスも、高速I/OのためにPCIeバスとコネクタを採用している。PCIe Generation 4(Gen4又はバージョン4)デバイスは、最大16ギガ転送/秒(GT/s)の帯域幅を実現できる。PCIe Generation 5(Gen5又はバージョン5)デバイスは、最大32GT/sの帯域幅を実現できる。
【0004】
PCIeデバイスは、相互接続又はリンクと呼ばれる論理接続を介して通信する。リンクは、同時双方向トラフィックを可能にする2つのPCIeポート間のポイント・ツー・ポイント通信チャンネルである。物理レベルでは、リンクは1つ以上のレーンで構成される。低速PCIeデバイスは、シングル・レーン(x1)リンクを使用するが、グラフィックス・アダプタなどの高速PCIeデバイスは、通常、より幅が広く高速な16レーン(x16)リンクを使用する。1つのレーンは、2つの差動信号ペアで構成され、1つのペアはデータの受信用、もう1つのペアは送信用である。従って、各レーンは、4本のワイヤ又は信号トレースで構成される。従来、PCIeデバイスのレーンの性能は、ビット・エラー・レート・テスタ(BERT)や高速信号発生装置及びオシロスコープ(スコープ)を用いて試験されている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】米国特許出願公開第2013/0145212号明細書
【特許文献2】米国特許出願公開第2018/0285225号明細書
【特許文献3】米国特許出願公開第2020/0025824号明細書
【特許文献4】米国特許出願公開第2014/0229666号明細書
【特許文献5】米国特許出願公開第2020/0250368号明細書
【発明の概要】
【発明が解決しようとする課題】
【0006】
プリント回路基板(PCB)の開発のエンジニアリング・ベンチ試験やエンジニアリング特性評価段階では、基板設計の高速ルート(例えば、PCIe相互接続)がシミュレーションされるか又は設計「レシピ」又は基準設計が追跡される。その後、量産前の基板サンプルが作成され、試験されることがよくある。しかし、ビット・エラー・レート・テスタ(BERT)とオシロスコープを使用して、全ての高速I/Oについて各ボードのサンプルと各レーンを試験することは、コスト、時間、複雑さの制約により、通常は実現できない。特に、PCIeなどの高速I/O規格を試験する従来のBERT及びスコープは、データ・レートの増加に伴い、コストと複雑さが増加し続けている。単一のPCIeレーンを一度に試験する単一のトランスミッタ(Tx)及びレシーバ(Rx)試験ステーションのコストは、100万ドルを超える場合がある。これら装置は、また、従来のTx及びRx試験並びに校正や専門家(多くの場合博士レベル)のユーザにとっては、使用するのが難しく、測定が正しく行われ、装置が正常に動作する状態を維持することを確認するには、かなりの時間が必要である。更に、一般的なBERTは、一度に1つのレーンのみの試験が可能で、そのため、試験は、これらのI/Oリンクの実際の動作とは異なる環境で行われる。これらのI/Oリンクは、通常、マルチ・レーン・リンクを形成し、実際の動作時には、重大なクロストークが発生して、問題を抱える可能性がある。このため、BERTを使用してマルチ・レーン・デバイスの全てのレーンを試験すると、費用と時間がかかり、必ずしも現実世界の状況を試験できるわけではない。これらの制約の結果、従来のBERTとオシロスコープは、量産前のシリコン、基板、PCB、ケーブルの電気試験では、あまり使用されていない。
【0007】
従来のコンプライアンス試験は、デバイス試験の結果が概して合格/不合格又は「コンプライアンス」結果として提供されるという点で更に欠陥がある。言い換えると、たとえ一方のデバイスが著しく優れたデバイスであっても、一連の試験にかろうじて合格したデバイスと、一連の試験に容易に合格したデバイスが、両方とも合格とみなされる。
【0008】
本開示技術の実施形態は、現在のマージン試験装置のこれら及び他の問題に取り組むものである。
【図面の簡単な説明】
【0009】
【
図1】
図1は、例示的な実施形態による、高速入出力(I/O)マージン試験のためのシステム、装置及び方法の実施形態が実装されても良い例示的な環境を示す概略ブロック図である。
【
図2】
図2は、例示的な実施形態による、PCI Express マザーボード・スロットをマージン試験するための、PCI Express 高速シリアル・コンピュータ拡張バス規格に準拠した特定技術用アドイン・カード・マージン・テスタの一例を示すブロック図である。
【
図3】
図3は、例示的な実施形態による、PCI Express アドイン・カードをマージン試験するためのPCI Express高速シリアル・コンピュータ拡張バス規格に準拠したスロットを備えたマザーボードを示すブロック図である。
【
図4】
図4は、送信(Tx)方向と受信(Rx)方向の両方でDUTのマルチ・レーン高速I/Oリンクの電気的マージンを評価するために、少なくとも1つの試験フィクスチャにケーブル接続されるように構成された、例示的な実施形態による複数のインタフェースを備えた汎用マージン・テスタを示すブロック図である。
【
図5】
図5は、例示的な実施形態による、Tx方向とRx方向の両方でDUTのマルチ・レーン高速I/Oリンクの電気的マージンを試験するための例示的なマージン・テスタのブロック図である。
【
図6】
図6は、Tx方向とRx方向の両方で、マルチ・レーン高速I/Oリンクの電気的マージンを試験するためのマージン・テスタのコントローラで使用されても良いように構成された例示的な実施形態によるフィールド・プログラマブル・ゲート・アレイ(FPGA)の一例のブロック図である。
【
図7】
図7は、例示的な実施形態による、Tx方向とRx方向の両方で、DUTのマルチ・レーン高速I/Oリンクの電気的マージンを試験するための別のマージン・テスタのブロック図である。
【
図8A】
図8Aは、例示的な実施形態による、Tx方向でDUTのマルチ・レーン高速I/Oリンクの電気的マージンを試験するためのマージン・テスタのコントローラで使用されても良いFPGAの例示的な出力駆動回路のオプションを示すブロック図である。
【
図8B】
図8Bは、例示的な実施形態による、Tx方向でDUTのマルチ・レーン高速I/Oリンクの電気的マージンを試験するためのマージン・テスタのコントローラで使用されても良いFPGAの例示的な出力駆動回路のオプションを示すブロック図である。
【
図8C】
図8Cは、例示的な実施形態による、Tx方向でDUTのマルチ・レーン高速I/Oリンクの電気的マージンを試験するためのマージン・テスタのコントローラで使用されても良いFPGAの例示的な出力駆動回路のオプションを示すブロック図である。
【
図8D】
図8Dは、例示的な実施形態による、Tx方向でDUTのマルチ・レーン高速I/Oリンクの電気的マージンを試験するためのマージン・テスタのコントローラで使用されても良いFPGAの例示的な出力駆動回路のオプションを示すブロック図である。
【
図9】
図9は、例示的な実施形態による、高速I/Oマージン・テスタによって実行される被試験デバイス(DUT)の例示的なマージン試験の結果と、その結果に基づく潜在的なDUTアセンブリ又は製造上の問題の特定を示すチャートである。
【
図10】
図10は、本発明の実施形態による、データの作成、保存、分析及びトレーニングのためのシステムで使用されても良い例示的なフロー工程を示すフローチャートである。
【
図11】
図11は、本発明の実施形態による、データの作成、記憶、分析及びトレーニングのためのシステムで使用されても良い例示的なフロー工程を示すフローチャートである。
【
図12】
図12は、本発明の実施形態による、データの作成、保存、分析及びトレーニングのためのシステムで使用されても良い例示的なフロー工程を示すフローチャートである。
【
図13】
図13は、本発明の実施形態による、データの作成、保存、分析及びトレーニングのためのシステムで使用されても良い例示的なフロー工程を示すフローチャートである。
【
図14】
図14は、本発明の実施形態による、データの作成、保存、分析及びトレーニングのためのシステムで使用されても良い例示的なフロー工程を示すフローチャートである。
【
図15】
図15は、本発明の実施形態による、データの作成、保存、分析及びトレーニングのためのシステムで使用されても良い例示的なフロー工程を示すフローチャートである。
【発明を実施するための形態】
【0010】
図1は、高速I/Oマージン試験のためのシステム、装置及び方法の実施形態が実装されても良い例示的な環境を示す概略ブロック図である。マージン・テスタ102は、マルチ・レーン高速I/Oリンク110を介して被試験デバイス(DUT)104に結合される。I/Oリンク110は、Tx方向とRx方向の両方を含む。
【0011】
マージン・テスタ102は、マルチ・レーン高速I/Oリンク110の様々な特性を表すアイ・パターン表示又はデータのアイ・ダイアグラム108を処理、複製又は提示できる試験ステーション、PC、端末、オシロスコープ、その他の表示装置106に結合されても良い。いくつかの実施形態では、表示装置106は、マージン・テスタ102と統合される。表示装置106には、1つ以上のユーザ・インタフェースがあっても良く、これにより、ユーザは、マージン・テスタ102をインタラクティブに操作できる。例えば、ユーザは、ユーザ・インタフェースを使用して、DUTについて実行する特定の試験を制御したり、仕様を入力したりできる。マージン・テスタ102は、ディスプレイ106の1つ以上のユーザ・インタフェースを通じて、試験結果又は他の情報をユーザに伝えることもできる。
【0012】
アイ・パターン表示又はデータ・アイ・ダイアグラム108は、信号の電気的品質の重要なパラメータを迅速に視覚化して決定できるようにする高速デジタル信号の表現であり、従って、そこからのデータを使用して、統計的に有効なDUTの動作マージンを決定できる。アイ・パターン表示又はデータ・アイ・ダイアグラム108は、個々のビットに対応する波形の部分を縦軸に信号振幅、横軸に時間を示す単一のグラフに折り畳むことによって、デジタル波形から構築される。この構築を多数の波形サンプルに対して繰り返すことによって、結果として得られるグラフは、信号の平均統計値を表し、目(アイ)に似たものになる。
【0013】
アイ開口部は、1ビット周期に対応し、通常、アイ・パターン表示又はデータ・アイ・ダイアグラム108のユニット・インターバル(UI)幅と呼ばれる。ビット周期は、アイ・ダイアグラムの交点におけるアイ・ダイアグラムの水平開口部の大きさである。通常、高速デジタル信号の場合はピコ秒単位で測定される(つまり、5Gbps信号には、200psが使用される)。データ・レートは、ビット周期の逆数(1/ビット周期)である。アイ・ダイアグラムを説明する場合、ビット周期は、概してユニット・インターバル(UI)と呼ばれる。横軸に実際の時間の代わりにUIを使用する利点は、これは正規化されており、異なるデータ・レートのアイ・ダイアグラムを簡単に比較できることである。
【0014】
アイの幅は、アイ・ダイアグラムの水平方向の開口部の大きさである。これは、アイの交点の統計的平均の差を測定することによって計算される。立ち上がり時間は、アイ・ダイアグラムの上り勾配におけるデータの平均遷移時間の大きさである。通常、測定は傾斜の20パーセントと80パーセント又は10パーセントと90パーセントのレベルで行われる。立ち下がり時間は、アイ・ダイアグラムの下向きのデータの平均遷移時間の大きさである。通常、測定は傾斜の20パーセントと80パーセント又は10パーセントと90パーセントのレベルで行われる。
【0015】
ジッタは、データ・ビット・イベントの理想的なタイミングからの時間偏差であり、高速デジタル・データ信号の重要な特性である。ジッタを計算するには、アイ・ダイアグラムの立ち上がりエッジと立ち下がりエッジの遷移の交差点における時間偏差を測定する。変動は、ランダム又はデターミニスティック(deterministic)である可能性がある。偏差の時間ヒストグラムを分析することで、ジッタの量を決定できる。ピーク・ツー・ピーク(p-p)ジッタは、ヒストグラムの全幅として定義され、存在する全てのデータ・ポイントを意味する。二乗平均平方根(RMS)ジッタは、ヒストグラムの標準偏差として定義される。高速デジタル信号のジッタ測定の単位は、通常、ピコ秒である。
【0016】
マージン・テスタ102の実施形態は、特定技術用と汎用という少なくとも2つの形態をとることができる。マージン・テスタ102は、任意のリンク幅(レーン数)の任意の高速I/Oプロトコル・リンクで使用でき、限定するものではないが、ノン・リターン・トゥ・ゼロ(NRZ)、3値パルス振幅変調(PAM-3)及び4値パルス振幅変調(PAM-4)を含む、任意の形式の高速差動シグナリングを使用できる。試験に関する具体的な実施形態の例のために、PCI Expressが使用される。しかし、異なる高速シリアル・バス規格、ハードウェア、プロトコルが使用されても良い。
【0017】
図2は、例示的な実施形態による、PCI Expressマザーボード・スロット206をマージン試験するための、PCI Express 高速シリアル・コンピュータ拡張バス規格に準拠した例示的な特定技術用アドイン・カード・マージン・テスタ202を示すブロック図である。特定技術用の形態では、マージン・テスタの一実施形態は、例えば、被試験のマザーボード204のPCI Expressマザーボード・スロット206を試験するためのPCI Expressアドイン・カード・マージン・テスタ202として実装できる。PCI Expressアドイン・カード・マージン・テスタ202は、PCI Express x 16 CEM(card electromechanical)仕様のフォーム・ファクタ・アドイン・カードであっても良い。
【0018】
PCI Express アドイン・カード・マージン・テスタ202は、特定のPCI Expressフォーム・ファクタ(例えば、CEM又はM.2(以前は、次世代フォーム・ファクタ(NGFF)として知られていた)又はU.2(以前はSFF-8639として知られていた)など)用の標準的なPCI Express準拠のアドイン・カードのフォーム・ファクタであっても良い。PCI Expressアドイン・カード・マージン・テスタ202は、PCB212などの1つ以上のプリント回路基板(PCB)と、準拠したPCI Expressの物理リンク層及び論理リンク層を各レーンに実装した1つ以上のコンポーネントとを有していても良い。PCI Express アドイン・カード・マージン・テスタ202は、PCB212及びコントローラ210に結合された、コネクタ208などの多数のインタフェースを有していても良い。コントローラ210は、単一のコントローラに限定されず、連携して動作する1つ以上のコントローラを含んでもよい。
【0019】
コネクタ208は、マザーボード・スロット206とマージン・テスタ・トランスミッタを接続し、これは、コントローラ210の制御下で、マザーボード204を試験するために、制御されたノイズをリンクに注入する機能をオプションで有する。注入されるノイズとしては、例えば、電圧スイング及び正弦波ジッタが含まれても良い。すると、このようなノイズが注入された後、被試験マザーボード204上でソフトウェアを実行する必要なしに、被試験マザーボード204のレシーバで予期されるアイ・マージンを、タイミング又は電圧マージンの特定の目標に合わせて変更できる。コントローラ210は、更に、メモリ214に結合されても良く、メモリ214は、本願で説明される機能を実行するために、コントローラ210が読み出し、使用し、又は、実行しても良い命令及び他のデータを記憶しても良い。
【0020】
マージン・テスタの様々な実施形態は、ノイズ注入を伴う場合も、伴わない場合もある。コストを重視した製造試験の場合、ノイズ注入のない実施形態の方が魅力的な場合がある。準拠した物理層実装のマージン・テスタ・レシーバには、PCI Express 4.0/5.0 レーン・マージン仕様で定義されているように、リンクにマージンを取る機能が含まれる場合があるが、より高度なオンダイ(on-die)マージン機能が追加で含まれる場合もある。一実施形態では、マージン・テスタ・レシーバは、独立したエラー検出器を移動させ、データ・サンプラを使って不一致に関して比較することによってアイ・マージンを測定できる。一実装形態では、マージン・テスタ102に本願で説明する機能を実行させるコントローラ210は、フィールド・プログラマブル・ゲート・アレイ(FPGA)及びFPGA I/Oを用いて実装されても良い。これは、
図5、6及び7に更に詳細に示されている。構成変更可能なコントローラのハードウェア、ファームウェア又はソフトウェアの他の組み合わせも、追加で、又は、代替して使用されても良い。
【0021】
図3は、例示的な実施形態による、PCI Expressアドイン・カードをマージン試験するための、PCI Express高速シリアル・コンピュータ拡張バス規格に準拠したスロットを備えた例示的な特定技術用のマザーボード・マージン・テスタ302を示すブロック図である。マザーボード・マージン・テスタ302は、本願に開示されるマージン・テスタ102の特定技術用の実施形態の別の例であり、PCIeなどのPCI Express アドイン・カードを試験するための1つ以上のPCI Expressスロット306を備えたマザーボード・マージン・テスタ302として実装される。マザーボード・マージン・テスタ302は、PCB312及びコントローラ310に結合されたいくつかのインタフェース(例えば、1つ以上のPCI Expressスロット306)を有していても良い。例えば、このようなインタフェースは、試験のためにPCIe x 16 アドイン・カードDUT304を挿入できる1つ以上のPCI Express スロット306を有していても良い。
図2に示す実施形態とは異なり、マザーボード・マージン・テスタ302は、PCIeカードとして形成されるDUT304に対して上述のマージン試験を実行するコントローラ310及びメモリ314を含む。コントローラ310及びメモリ314は、
図2を参照して上述したコントローラ210及びメモリ214の実施形態であり、これらと同じ機能を実行できる。また、コントローラ310は、複数のレーンにわたってレーン間のスキューを変化させる量を導入するように少なくとも構成されることによって、シングル・レーン又はマルチ・レーンのレーン高速I/Oリンクの電気的マージンを評価するように構成することもできる。
【0022】
図4は、例えば、1つ以上のケーブルを介して少なくとも1つの試験フィクスチャに接続され、Tx方向及びRx方向のいずれか又は両方で、DUTのマルチ・レーン高速I/Oリンクの電気的マージンを評価するように構成された多数の個別のインタフェース404を備えた例示的な実施形態による汎用マージン・テスタ402を示すブロック図である。汎用マージン・テスタ402は、コントローラ410及び関連するメモリ414を含み、メモリ414は、上述したようにコントローラ210及びメモリ214を参照して説明した機能を実行するためにコントローラ410が読み出し、使用し及び/又は実行できる命令及び他のデータを記憶しても良い。簡潔にするため、これらの機能と動作の説明の繰り返しは省略する。マージン・テスタ402は、アドイン・カードを試験するための標準的な PCI Express コンプライアンス・ベース・ボード(CBB)を含む試験フィクスチャにケーブル接続することによって、アドイン・カードを試験するために使用することもできる。マージン・テスタ402のインタフェース404は、各高速差動信号用の標準的な同軸コネクタ又は他のコネクタ及びケーブルを含んでも良いし、又は、他の様々な実施形態では、ケーブル数を最小限に抑えて、DUTから別のDUTへの切り替えを効率的に行うために、カスタムの高密度コネクタ及びフィクスチャを有していても良い。
【0023】
いくつかの例では、DUTは、試験対象の相互接続であっても良く、これは、伝統的にベクトル・ネットワーク・アナライザ(VNA)を用いて試験されている。しかし、VNAは、多くの場合、コストが高く、複雑である。更に、VNAの測定によって生成されるS(scattering)パラメータは、概して、特に高速シリアル・リンクの統計的シミュレーションで使用される場合、高周波数では、一層信頼性が低くなると考えられる。
【0024】
しかし、本開示の例は、マージン・テスタ102、202、302又は402のいずれかを使用して、1つ以上のケーブルやPCBセグメントを含むパッシブ又はアクティブ相互接続部を試験し、多数のレーンや部品にわたって実際のマージン差を素早く評価できる。これらの試験では、相互接続部の最悪のケースとリスクのレベルを簡単に特定できる。このため、マージン・テスタには、アクティブ又はパッシブの相互接続部を試験するための「VNA」モードを含めることができる。
【0025】
シングル・ポート・マージン・テスタが使用される場合、シングル・ポートのトランスミッタは、概して試験対象の相互接続部の一方の側に接続され、シングル・ポートのレシーバは、相互接続部のもう一方の側に接続される。次に、非プロトコルPRBSでのマージン試験を実行して、試験対象の相互接続部を試験できる。しかし、本開示の例は、試験対象の相互接続部を試験するためのシングル・マージン・テスタに限定されない。むしろ、試験は、第1のマージン・テスタのトランスミッタを試験対象の相互接続部に接続し、第2のマージン・テスタのレシーバを試験対象の相互接続部の他方の端部に接続した状態で、実行しても良い。この説明では、マージン・テスタ100という用語は、マージン・テスタ102、202、302若しくは402のいずれか、後述するマージン・テスタ502若しくは702、又は、それらの同等物を言及するものとして良い。
【0026】
加えて又は代替として、マルチ・ポート・マージン・テスタ100を使用して、トレーニング後のアクティブ・プロトコル状態で試験中の相互接続部を測定できる。このようなセットアップでは、試験対象の相互接続部をマルチ・ポート・マージン・テスタ100の一方のポートに接続することができ、試験対象の相互接続部の他方の側をマルチ・ポート・マージン・テスタ100の別の異なるポートに接続できる。次に、試験対象の相互接続部を試験して、トレーニング後のアクティブ・プロトコル状態のプロトコルでマージンを測定できる。あるいは、マルチ・ポート・テスタ100ではなく、マルチ・マージン・テスタ100を使用して、試験対象の相互接続部のマージン試験を実行することもできる。
【0027】
図5は、例示的な実施形態による、Tx及びRx方向のいずれか又は両方でDUTのマルチ・レーン高速I/Oリンクの電気的マージンを試験するための例示的なマージン・テスタ502のブロック図である。マージン・テスタ102、202、302及び402のいずれも、マージン・テスタ502を参照して説明する構成要素や機能を含んも良い。
図5のマージン・テスタ502には、FPGA514があって、サポート・ユニット510(これには、イーサネット及び他の通信機能が含まれても良い)、システム基準クロックを提供するためのタイムベース・ユニット508、高速I/O(high-speed I/O:HSIO)出力ユニット502及びHSIO入力ユニット504に影響を与えるよう(operatively)に結合されている。マージン・テスタ502は、AC/DC電源ユニット516によって電源が供給されても良い。HSIO出力ユニット502及びHSIO入力ユニット504は、I/Oコネクタ506にも影響を与えるように結合される。FPGA514は、プログラマブル相互接続を介して接続された構成変更可能な論理ブロック(configurable logic block:CLB)のマトリクスをベースとする半導体デバイスである。様々な実施形態において、マージン・テスタ502は、示されているよりも少ない又は多い構成要素を有しても良く、示されているいくつかの構成要素又は構成要素の機能は、マージン・テスタ502に対して影響を与えるように通信しているが、マージン・テスタの外部に配置されても良いし、マージン・テスタから分離して配置されても良いし、又は、FPGA514内に配置若しくは統合されても良い。
【0028】
FPGA514は、例えば、本願に記載のマージン・テスタ502の機能を実行するように、製造後に所望のアプリケーション又は機能要件に合わせて再プログラムできる。例えば、FPGA514上のファームウェアは、マージン・テスタ100のいずれかが、反対方向のトラフィックに基づいて、DUTレシーバでいつエラーが開始するかを推論し、エラーが発生するとマージン・ストレスを迅速に軽減して、致命的なリンク障害を防ぐためのリンク層ロジックを含む、エンドポイントとも呼ばれる標準的なPCI Expressの上流ポート(アドイン・カード・マージン・テスタ202の実施形態のようにマザーボードを試験するため)、又は、上流ポート若しくはルート・コンプレックスとも呼ばれる標準的なPCI Expressのルート・ポート(マザーボード・マージン・テスタ302の実施形態のように、アドイン・カードを試験するため)として機能しても良い。いくつかの実施形態では、FPGA514が、FPGA514内にメモリ、インタフェースなどを組み込むことができるシステム・オン・モジュール(SoM)アーキテクチャを使用して実装されるか、又は、SoMアーキテクチャを他の方法で有していても良い。SoMは、例えば、高度なRISC(Reduced Instruction Set)マシン(元々は、ARM(Acorn RISC Machine)アーキテクチャ)を用いて実装されてもよい。
【0029】
環境設定(configuration)アプリケーションやスクリプトは、FPGA514によって実装することもできるし、後述の1つ以上のオプションを複数の実行することを含めて、エンド・ユーザが、マージン・テスタ502のマージン・テスタ・オプションを容易に設定変更できるようにする、アクセス可能な別のメモリ・デバイス又は他の非一時的なコンピュータ可読記憶媒体に記憶しても良い。いくつかの実施形態では、マージンのスキャンのためにビット・エラー・レート(BER)の目標に関するオプションを設定できる(E-6タイプのマージンについてはミリ秒単位、E-12タイプのマージンについては分単位)。例えば、そのような目標には、限定するものではないが、マージンまでの回数、マージンのタイミングや電圧、マージン・テスタ又はDUTトランスミッタのTx等化処理の補正、マージン・テスタ・レシーバのRxCTLE及びDFEの補正に関する目標が含まれる。
【0030】
いくつかの実施形態では、オプションのアプリケーションやスクリプトが提供され、マージン・テスタ502からデータを移動させて、ユーザに対して、複数の製品/サンプルにわたるマージン・データの大規模なセットを表示し、平均、実行ごとの変動及び時間の経過に伴う傾向を表示し、様々な環境設定オプション(補正したTx等化処理など)を使用して同じDUT上で複数回実行した場合のマージンを比較するための視覚化ツールを提供する。いくつかの実施形態では、被試験マザーボードにインストールするために起動可能なドライブに実装できるオプションのアプリケーションが提供され、マザーボード試験のための追加オプションのロックを解除する。このマザーボード試験には、限定するものではないが、L0の代わりにループバックで実行して特定のパターンを使用するもの、DUTトランスミッタの電圧スイングとSjマージン処理の代わりに、DUTシリコンのオンダイ・マージン機能を使用するもの、及び、両方の方法を実行して結果を比較するものが含まれる。
【0031】
いくつかの実施形態では、オプションのプラグイン・モデルが提供され、これにより、特定のDUTシリコンにプラグインが提供される場合、マージン・テスタの環境設定アプリケーションが、DUTシリコン上でRx等化処理設定を設定することも可能になる。いくつかの実施形態では、オプションのIBIS-AMI(又は同様の)ソフトウェア・モデルが、個々のマージン試験ユニットごとに提供され、これを、設計者及びシステム・インテグレータが、顧客の特定の設定に関する試験限界/方法論を確立するのを助けるために、彼らのシミュレーションに入れて使用しても良い。IBIS-AMIは、シリアライザ/デシリアライザ(SerDes)物理層(PHY)のモデリング規格であり、マルチ・ギガ・ビット・シリアル・リンクの高速、正確、統計的に重要なシミュレーションを可能にする。いくつかの実施形態では、オプションのIBIS-AMIモデルが、顧客モデル(IBIS-AMI又はS(scattering)パラメータ)とともにマージン試験ユニットに関して提供され、精度と再現性を向上させるためにディエンベッドされた、ある程度のレベルのシステムを組み込む後続の取り組みでも利用できる。マージン・テスタ502の一般的なモデルを、モデルとして提供することも、製造試験及び特性評価の一環としてチューニングを行った特定のマージン・テスタ502用に特別にチューニングされたモデルを生成することもできる。
【0032】
図6は、
図5に示すような環境設定されたフィールド・プログラマブル・ゲート・アレイ(FPGA)514の一例のブロック図であり、これは、Tx方向及びRx方向のいずれか又は両方でDUTのマルチ・レーン高速I/Oリンクの電気的マージンを試験するための例示的な実施形態によるマージン・テスタ100のコントローラ210、310、410のいずれかで使用しても良い。様々な実施形態において、FPGA514は、図示されているよりも多いか又は少ないコンポーネントを有しても良く、また、図示されているいくつかのコンポーネントやこれらコンポーネントの機能は、FPGA514に影響を与えるように通信し、FPGA514の外部か又はFPGA514とは別個に配置されても良い。
【0033】
ローカル・エリア・ネットワーク(LAN)接続602に影響を与えるように接続されたレジスタ・インタフェース604が図示しているが、これは、SerDesを有していても良い。レジスタ・インタフェース604は、リンク・トレーニング及びステータス・ステート・マシン(LTSSM)、Rxコントローラ606にも影響を与えるように結合される。マージン・テスタ100の動作の物理層におけるプロセスの1つは、リンク初期化及びトレーニング・プロセスである。PCI Express デバイスでは、このプロセスにより、リンク幅ネゴシエーション、リンク・データ・レート・ネゴシエーション、レーン毎のビット・ロック、レーン毎のシンボル・ロック/ブロック・アライメントなどの多くの重要なタスクが確立される。これらの機能は全て、LTSSMデバイスによって実行されるもので、LTSSMデバイスは、リモート・リンク・パートナーからの刺激とリンクの現在の状態を監視し、それに応じて応答する。レジスタ・インタフェース604は、また、LTSSMユニバーサル・シリアル・バス(USB)コントローラ608及び追加のLTSSM USBコントローラ610などの1つ以上の追加のLTSSMコントローラ・ユニットに影響を与えるように結合される。
【0034】
スキュー制御ユニット626は、また、プログラム可能なスキューを制御するためにFPGA514の一部であるか又はFPGA514に影響を与えるように結合されても良い。従来、複数のレーンにわたってレーン毎に様々な量のスキューを生成できる唯一の試験装置は、非常に複雑で高価なマルチ・レーンBERTであった。しかし、マルチ・レーンBERTは、PCIeのような最新のプロトコルのための伝送等化処理トレーニングを含む、本願で開示されるマージン・テスタのような完全なトレーニング・プロトコルを実行することができない。そのため、これまでは、非常に高価で複雑な試験設定を行わずに、プロトコルと様々なスキューを使用してラボ試験を行う方法はなかった。しかし、本開示の例は、スキュー制御ユニット626を使用して、多数の様々な方法でレーン毎の送信スキューを追加できる。
【0035】
例えば、スキュー制御ユニット626は、各レーン毎のスキュー量を設定するために、レーン毎に長さをプログラム可能な先入れ先出し(FIFO)バッファを個別に含んでもよい。加えて又は代替として、スキュー制御ユニット626は、各レーンのFPGA514ファブリック内の可変長送信FIFOをレーン毎にプログラムできる。加えて又は代替として、スキュー制御ユニット626は、各物理層トランスミッタに供給する、レーン毎にプログラム可能な可変長伝送FIFOを有するようにコントローラ・ロジックを変更できるソフトウェア・コントローラを含むことができる。
【0036】
ジッタ制御ユニット616も、FPGA514の一部として存在するか、FPGA514に影響を与えるように結合され、ジッタ挿入ユニットを制御して、DUT上でソフトウェアを実行する必要なしに、DUTレシーバで予期されるアイ・マージンを、タイミング又は電圧マージンに関する特定の目標に合わせて変更できるようにする。
【0037】
マージン・テスタ100が、PCIeなどの特定のプロトコルを試験しているとき、マージン・テスタは、完全なプロトコルを実行し、リンクがLTSSMコントローラ・ユニット606、608及び608を介してアクティブ状態にトレーニングされるときに、リンク状態を追跡できる。マージン・テスタ502のFPGA514は、トレーニングが進行しながらマージン測定を繰り返し実行し、一方向又は両方向の電気的マージン対時間の形式で、リンク・トレーニング状態のログを捕捉できる。
【0038】
図7は、自己校正機能を備えたマージン・テスタ702の例を示す。マージン・テスタ702の校正は、トランスミッタをレシーバに電気的に接続することによって実行できる。これは、例えば、同じマージン・テスタ702内のトランスミッタをレシーバに電気的に接続するためのマージン・テスタ702内のスイッチによって行うことができる。これにより、外部の試験装置の必要性がなくなる。この手法は、上述したマージン・テスタ100のいずれにも使用できる。
【0039】
図7は、
図5を参照して説明した実施形態と類似している。
図7は、自己校正機能も備える共に、Tx及びRx方向のいずれか又は両方でDUTのマルチ・レーン高速I/Oリンクの電気的マージンを試験するための例示的なマージン・テスタ702のブロック図である。自己校正を実行するために、1つ以上のスイッチ701を設けて、HSIO出力ユニット702内のトランスミッタの夫々をHSIO入力ユニット704のレシーバの夫々に接続できる。トランスミッタが信号を出力し、レシーバが信号を受信すると、マージン・テスタ702が所望のレンジ内にあるかどうかを判断できる。説明を簡単にするため、
図7では単一のスイッチ701が示されているが、当業者には理解されるように、トランスミッタをレシーバに接続するために複数のスイッチ701を設けることができる。スイッチ701に代えて、校正装置又は校正フィクスチャをI/Oコネクタ706に設けて、トランスミッタにレシーバへとループバックさせることで、自己校正を実行しても良い。
【0040】
マージン・テスタ702の校正を実行するために、異なる動作モードが用意されても良い。例えば、自己校正は、1つ以上のI/Oコネクタ706を通してトランスミッタをレシーバに接続できる特別なループバック・フィクスチャを使って、工場でのみ実行されても良い。用意されても良い別の動作モードとしては、エンド・ユーザにマージン・テスタ702のセルフ試験を実行させることがある。これは、マージン・テスタ702のトランスミッタをレシーバに配線できるスイッチ701を動作せるか、又は、フィクスチャを挿入することによって実行できる。自己試験中、マージン・テスタ702は、結果が指定されたレンジ外にあるか否かをフロント・パネル・インジケータ712に出力できる。
【0041】
いくつかの例では、校正は、プロトコル・モード、PRBSパターン非プロトコル・モード又はその両方で実行できる。しかし、プロトコル・モードでは、I/Oコネクタ706は、ホストと試験デバイスの両方として同時に機能できない可能性がある。マージン・テスタ702が2組のI/Oコネクタ706を有する場合、マージン・テスタ702は、2組の異なるI/Oコネクタ706を接続させるか又は第2のマージン・テスタ702が接続されても良い。内部校正は、従来の装置よりも、マージン・テスタ702についての迅速で、潜在的に安価な工場校正を提供できる。内部校正により、エンド・ユーザが、自分たち自身で校正試験を実行できるようにできる。
【0042】
図8A、8B、8C及び8Dは、例示的な実施形態による、先の図のFPGA514のようなFPGAの例示的な出力駆動オプションを示すブロック図であり、これらは、Tx方向及びRx方向のいずれか又は両方でDUTのマルチ・レーン高速I/Oリンクの電気的マージンを試験するためのマージン・テスタのコントローラ210、310又は410ようなコントローラで使用されても良い。
【0043】
図8Aは、FPGA直接駆動回路オプション818を示し、これは、バッファされず、バラクタ(可変容量ダイオード)による何らか遅延の注入又はジッタ注入もない。
図8Bに示される第2出力駆動回路オプションは、バッファ付き駆動回路オプション820であって、これには、差動出力電圧(Vod)を伴う線形バッファ又は制限アンプ826があるが、バラクタによる遅延注入又はジッタ注入はない。
図8Cに示される第3出力駆動回路オプションは、バラクタによる遅延注入オプション822であり、これには、線形バッファ826及びバラクタ・コンポーネント828があり、その結果、シンボル間干渉(ISI)に加えていくらかの遅延(例えば、約3~5ピコ秒)が生じる。
図8Dに示す第4出力駆動回路オプションは、ジッタ注入オプション824であり、一実施形態では、オプションの線形バッファ826とジッタ注入回路830を含んでも良い。一実施形態では、ジッタ注入回路830は、ADSANTEC社から入手可能な、ジッタ(32GBdで約100ps)を生成する特定用途向け集積回路(ASIC)である。いくつかの実施形態では、線形バッファ826が含まれない。他の実施形態では、ジッタ注入回路は、差動ノイズ注入又は他の既知の方法によって実行されても良い。
【0044】
様々な実施形態において、マージン・テスタ100は、様々な種類のストレスを使用して、多種多様な対応する障害モードを特定しても良く、これら障害モードには、限定するものではないが、アセンブリ、相互接続(表面実装技術(SMT)、パッケージ、コネクタ、スルーホール、ビアなど)、欠陥、直列抵抗に影響を与えるもの、ISI及びベースライン・ワンダを引き起こす障害モード、アイが閉じることに影響するもの、幅が狭まる以外のことを引き起こす障害モード、機能試験の回避、オペレータ設定エラー、新たな材料、プロセスの変動、レシーバの帯域幅(これは相互接続の変更に似ている)、電源電圧変動除去比(PSRR)、垂直/水平のアイを閉じること、PLLの安定性、デザイン、レーン間のデルタ(変化量)に関連する障害モードが含まれても良い。ジッタ注入のためのバラクタ・ベースの方法は、アセンブリ関連の欠陥を悪化させるのにより効果的なことがある。
【0045】
上述のように、マージン・テスタ100は、DUTに対してマージン試験を実行するように構成又はプログラムされても良い。いくつかの実施形態では、被試験デバイス(DUT)のマルチ・レーン高速I/Oリンクを確立した後、マージン・テスタ100は、マルチ・レーン高速I/Oリンクの各高速入出力(I/O)レーン毎に、送信(Tx)方向と受信(Rx)方向のいずれか又は両方で電気的マージンを評価する。例えば、電気的マージンの評価には、マルチ・レーン高速I/Oリンクのマージン試験トランスミッタに調整可能なストレスを注入することが含まれても良い。調整可能なストレスには、マルチ・レーン高速I/Oリンクの全てのレーンに同時に印可されるジッタの注入と、電圧スイングの印可が含まれても良い。電気的マージンの評価には、マルチ・レーン高速I/Oリンクの各高速入出力(I/O)レーンに関して、送信(Tx)方向と受信(Rx)方向の両方で同時に電気的マージンを評価することも含まれることがある。
【0046】
マージン・テスタ100は、Tx方向及びRx方向のいずれか又は両方におけるDUTのマルチ・レーン高速I/Oリンクの電気的マージンを試験するマージンに基づいて、潜在的なDUTアセンブリ又は製造上の問題を特定するためにも使用されても良い。この動作モードでは、マージン・テスタ100は、複数のDUTのうちの各DUTについて、DUTのマルチ・レーン高速I/Oリンクの各高速入力/出力(I/O)レーンのTx方向及び受信Rx方向のいずれか又は両方におけるタイミング・アイ幅マージンを評価する。一例では、マージン・テスタ100は、複数のDUTにわたる同じレーンに関して、所定の最小閾値を一貫して下回っている、複数のDUTの各DUTについてのタイミング・アイ幅マージン測定値の検出に基づいて、潜在的なDUT設計の問題を特定する。検出する処理は、更に又は代替として、複数のDUTにわたる様々なレーンに関する所定の閾値を夫々下回る上記複数のDUTの中のいくつかのDUTのタイミング・アイ幅マージン測定値を、評価することに基づいて、検出する処理を含んでもよい。
【0047】
いくつかの実施形態では、マージン・テスタ100は、次のようにプログラム又は構成されても良い。即ち、例えば、
1つ以上の異なる高速I/Oプロトコルを選択し、これらを用いて、DUTのマルチ・レーン高速I/Oリンクに基づいてマージン試験を実行する。
複数のプロトコルをミックスして使用してDUTの複数のポートを同時に試験する。
マルチ・レーン高速I/Oリンクに対するマージン・テスタの任意の回数のマージン試験実行にわたる実行毎のマージンの変動を出力する。
DUTに固定のTx等化処理(EQ)を実装して、TxEQトレーニングの変動によるマージンの変動がどの程度であるかを試験する。
マージン・テスタのレシーバで固定CTLEを使用して、DUTのマルチ・レーン高速I/Oリンクのマージンに対するレシーバの等化処理の影響を試験する。
マージン・テスタのレシーバで判定帰還等化処理(DFE)を使用して、DUTのマルチ・レーン高速I/Oリンクのマージンに対するレシーバの等化処理の影響を試験する。
対象のチャンネルに基づいて、マージン・テスタの期待される想マージンを計算する。
マルチ・レーン高速I/Oリンクの電気的マージンの評価の結果として低いマージンが検出された場合に、デバッグ情報を自動的に生成する。
可変シンボル間干渉(ISI)信号源を使用するように切り替えて、どの程度のISIがマルチ・レーン高速I/Oリンクのレーンに障害を起こすかを確認する。
各レーンを個別に試験して、DUTのマルチ・レーン高速I/Oリンクのクロストークによるマージン損失の量を特定する。
マージン・テスタのレシーバのDFEをオフにして、DFEの有無によるマージンと、マルチ・レーン高速I/Oリンクに関連する各チャンネルの非線形不連続性の量を評価する。
基準レシーバと一般的なチャンネルを使って期待されるマージンを示すマージン・テスタの特性評価データを生成し、期待よりも低いマージンが、1つのDUT及び複数のDUTのマルチ・レーン高速I/Oリンクの全てのレーンにわたって一貫している場合でも、期待よりも低いマージンにフラグを立てることができるようにする。
マルチ・レーン高速I/Oリンクの複数の速度から選択して、それについて、電気的マージンの評価を行う。
マージン・テスタが、プロトコル固有の知識を使用して、マルチ・レーン高速I/Oリンク上を逆方向に移動するトラフィックに基づいて、DUTのレシーバでエラーがいつ発生したかを推測し、DUTについてのソフトウェアがなくても、マージン・テスタが製造ラインでマージン試験を実行できるようにする。
マルチ・レーン高速I/Oリンクの電気的マージンの評価の結果として検出された低マージンのチャンネルの時間領域反射率測定値(TDR)を自動的に捕捉する。
マルチ・レーン高速I/Oリンクの電気的マージンの評価の結果として低いマージンが検出された場合、オシロスコープへ自動的に接続し、デジタル化された波形を自動的に捕捉する。それから、
1つ以上のユーザ選択可能なオプションを実装するようにDUTシリコンを構成することによって、DUTの1つ以上のユーザ選択可能なオプションを設定する。
【0048】
いくつかの実施形態では、マージン検出器100が、DUTの校正を実行するためのオプションを提供するか又はDUTの校正を実行し、ユーザが一連の基準チャンネルを用いて期待されるマージンのセットを受け取ることができるようにできる。これらの実施形態では、校正されたマージン・テスタ100は、特別な試験モードを使用せずに、DUTの完全に動作する動作リンクを用いて、被試験デバイス(DUT)の送信(Tx)方向と受信(Rx)方向のいずれか又は両方の電気的アイ・マージンを測定し、完全な負荷とクロストークの影響を捕捉するように構成されている。マージン・テスタ用に個別に校正されたモデルも提供され、個別のシステム・チャンネル、レシーバ・モデル及びトランスミッタ・モデルの中の1つ以上を使用して期待されるマージンを計算できる。また、マージン・テスタがベンダ定義のメッセージ又は別のプロトコル・メカニズムを使用して、マージン・テスタによって、マージン試験が行われようとしていることを示すことを可能にするDUTシリコンの機能が提供され、これによりDUTシリコンは、マージン試験の期間中、エラーが原因でリンク幅又はリンク速度を低下させるロジックを無効できる。
【0049】
マージン・テスタのソフトウェア・アプリケーションも提供され、これにより、マージン・テスタが被試験チャネル・コンポーネント(例えば、裸のプリント回路基板(PCB)又はケーブル)のどちらか一方又は両方に使用される試験環境設定において、被試験チャネル・コンポーネントのマージン・テスタによる試験を実行できる。いくつかの実施形態では、マージン・テスタのハードウェアは、プリント回路基板(PCB)を製造する会社に提供され、マージン・テスタの使用に関連するデータは、PCBの製造に使用されるシリコンを提供するシリコン会社に提供される。
【0050】
また、マージン・テスタ100は、DUTのシリコンに関して異なる条件で、マージン・テスタ100によるマージン試験を実行するように、接続されたDUTを設定しても良い。マージン・テスタ100は、DUTのシリコンの異なる条件下でマージン・テスタ100によるマージン試験を実行するための環境設定及びDUTシリコン・パラメータを利用可能にするソフトウェア・プラグインを受け取ることができる。DUTシリコン・パラメータとしては、限定するものではないが、レシーバの連続時間CTLEに関連するパラメータ及びDFEに関連するパラメータの中の1つ以上が含まれても良い。
【0051】
開示された実施形態の利点、利点及び改良点には、限定するものではないが、以下の特徴が含まれる。いくつかの実施形態は、標準的なFPGA及び正弦波ジッタ注入チップ又は遅延線を含む既製のコンポーネントでほぼ完全に実装でき、従来のBERT及びオシロスコープと比較して非常に低コストである。例示的な実施形態は、特別なソフトウェアを必要とせずに、通常の動作状態で動作する完全なマルチ・レーン・リンク上で動作し、全てのレーンが同時に動作することによる影響を捕捉できる。もう1つの利点は、本開示技術の実施形態が、単一の内蔵ユニットでいずれか又は両方の方向(Tx及びRx)で試験できることである。
【0052】
様々な実施形態は、DUTにソフトウェアや変更を加える必要はなしに、製造環境(例えば、マザーボードの製造試験環境で)でも実行できる。プロトコルによって異なる試験固有のロジックをマージン・テスタ102のシリコン/ファームウェアに提供して、被試験デバイスによってマージン・テスタに返送されるデータに基づいて、DUTのレシーバでエラーが発生していることを非常に迅速に認識できる。いくつかの例示的な実施形態は、PCI Expressベンダー固有メッセージ又は他の標準プロトコル機能を通じて、マージン試験が行われることを認識し、DUTシリコンを、通常、エラーが原因で、リンク幅や速度を低下させない状態に置くためのDUTシリコン内に実装される機能を含む。これにより、ノイズ注入や電圧スイング調整を使用してDUTレシーバにおいてマージンを設けるプロセスが、通常のプロトコルのメカニズムを通じて、リンク幅や速度を低下させるリスクを伴うことなく、確実に実行できるようになる。これは、エラーの開始時期を迅速に推測し、リンクや速度の低下が発生する前にストレスを軽減するための特別なロジックの代替手段である。
【0053】
開示された技術の実施形態の追加の特徴には、コントローラ210、310、410のいずれかの制御下で、実行(例えば、構成されたFPGAに従って又は別の非一時的コンピュータ可読記憶媒体から読み出された命令を実行する)されても良い以下の機能が含まれても良い。
1つ以上の異なる高速I/Oプロトコルを選択し、これを用いて、DUTのマルチ・レーン高速I/Oリンクに基づいてマージン試験を実行する。
複数のプロトコルをミックスして使用し、DUTの複数のポートを同時に試験する。
マルチ・レーン高速I/Oリンクに対するマージン・テスタの任意の回数のマージン試験実行にわたる実行毎のマージンの変動を出力する。
DUTに固定のTx等化処理(EQ)を実装して、TxEQトレーニングの変動によるマージンの変動がどの程度であるかを試験する。
マージン・テスタのレシーバで固定CTLEを使用して、DUTのマルチ・レーン高速I/Oリンクのマージンに対するレシーバの等化処理の影響を試験する。
マージン・テスタのレシーバで判定帰還等化処理(DFE)を使用して、DUTのマルチ・レーン高速I/Oリンクのマージンに対するレシーバの等化処理の影響を試験する。
対象のチャンネルに基づいて、マージン・テスタの期待されるマージンを計算する。
マルチ・レーン高速I/Oリンクの電気的マージンの評価の結果として低いマージンが検出された場合に、デバッグ情報を自動的に生成する。
可変シンボル間干渉(ISI)信号源を使用するように切り替えて、どの程度のISIがマルチ・レーン高速I/Oリンクのレーンに障害を起こすかを確認する。
各レーンを個別に試験して、DUTのマルチ・レーン高速I/Oリンクのクロストークによるマージン損失の量を特定する。
マージン・テスタのレシーバのDFEをオフにして、DFEの有無によるマージンと、マルチ・レーン高速I/Oリンクに関連する各チャンネルの非線形不連続性の量を評価する。
基準レシーバと一般的なチャンネルを使って期待されるマージンを示すマージン・テスタの特性評価データを生成し、期待よりも低いマージンが、1つのDUT及び複数のDUTのマルチ・レーン高速I/Oリンクの全てのレーンにわたって一貫している場合でも、期待よりも低いマージンにフラグを立てることができるようにする。
マルチ・レーン高速I/Oリンクの複数の速度から選択して、それについて、電気的マージンの評価を行う。
マージン・テスタが、プロトコル固有の知識を使用して、マルチ・レーン高速I/Oリンク上を逆方向に移動するトラフィックに基づいて、DUTのレシーバでエラーがいつ発生したかを推測し、DUTについてのソフトウェアがなくても、マージン・テスタが製造ラインでマージン試験を実行できるようにする。
マルチ・レーン高速I/Oリンクの電気的マージンの評価の結果として検出された低マージンのチャンネルの時間領域反射率測定値(TDR)を自動的に捕捉する。
マルチ・レーン高速I/Oリンクの電気的マージンの評価の結果として低いマージンが検出された場合、オシロスコープへ自動的に接続し、デジタル化された波形を自動的に捕捉する。それから、
ソフトウェア・プラグインを供給し、1つ以上のユーザ選択可能なオプションを実装するようにDUTシリコンを構成することによって、DUTに関する1つ以上のユーザ選択可能なオプションを設定する。
コントローラ210の制御下で、上記の機能の一部は、マージン・テスタ102を動作させるためのユーザ選択可能なオプションとして提供されても良い。
【0054】
例示的な実施形態では、マージン試験には、複数の被試験デバイス(DUT)の各DUTについて、マージン・テスタ100によって、DUTのマルチ・レーン高速I/Oリンクの各高速入出力(I/O)レーンについて、Tx方向とRx方向のいずれか又は両方において、タイミング・アイ幅マージンを評価することが含まれても良い。そのため、マージン・テスタ100は、複数のDUTのうちのいくつのDUTについて、複数のDUTにわたる異なるレーンについて夫々所定の閾値を下回るタイミング・アイ幅マージン測定値を検出しても良い。次いで、複数のDUTにわたる異なるレーンについて夫々所定の閾値を下回る複数のDUTのタイミング・アイ幅マージン測定値の検出に基づいて、潜在的なDUTアセンブリ又は製造上の問題が(マージン・テスタ102によって視覚的に又は自動的に)検出されても良い。。
【0055】
一例として、一実施形態では、
図2に示されるアドイン・カード・マージン・テスタ202などのアドイン・カード・マージン・テスタは、PCIex8スロットが1つあるマザーボードの量産前のサンプルのベンチ試験/特性評価に使用されても良い。以下の試験プロセス例は、アドイン・カード・マージン・テスタ202を使用して、E-6タイミング・アイ幅マージン(左+右)に関して行われ、各レーンで同時に数ミリ秒の試験中に、スロットに関して測定されても良い。この例には、簡単にするためにタイミング(時間測定)だけが含まれているが、他の実施形態では、他の測定値が含まれていても良い。この例において、各測定は3回行われる。しかし、これは、様々な実施形態において、ユーザがプログラム可能であっても良い。
【0056】
チャート902(
図9)に示される測定は、マージン・テスタのレシーバ及びマザーボードDUTのレシーバで実行される。測定は、マザーボードDUTのレシーバで行われ、2つの方法で実行できる。第1の方法では、マージン・テスタのジッタ(Sj)と電圧スイング・スイープを使用しても良い。第2の方法では、マザーボードのレシーバでオンダイ(on-die)マージン試験を利用しても良い。例えば、マザーボードのレシーバにおけるオンダイ・マージン試験は、アドイン・カード・マージン・テスタ202のコントローラ210の制御の下で、マザーボードDUTに接続されたブートタブル・ドライブ上のソフトウェアによって、又は、マザーボードDUT上のBIOS(basic input/output system)ソフトウェアによって、サポートされている速度に関して実行されても良い。この例では、測定は16GT/sで行われるが、変更しても良く、ユーザが設定変更できても良い。
【0057】
図9は、高速I/Oマージン・テスタ102によって実行されたいくつかのDUTの例示的なマージン試験の結果と、マージン試験の結果に基づく潜在的なDUTアセンブリ又は製造上の問題の特定を示す、例示的な実施形態によるチャート902である。チャート902に示すように、5つのDUT全て(DUT#1からDUT#5)にわたるレーン2上のマージンが一貫して低いことは、全てのDUTで低いマージンが発生するため、デバイスの潜在的な設計上の問題を示している可能性がある。対照的に、DUT#1のレーン4、DUT#3のレーン0、DUT#4のレーン6についての低マージンは、これら低マージンの数値に、悪いマージンの決まったパターンがあるわけではないので、特定のDUT上の特定のレーンに関しての潜在的なアセンブリ又は製造上の問題を示している可能性がある。
【0058】
本発明の実施形態は、特定のコンポーネントの以前のマージン試験の履歴記録を生成及び保存できるシステムに対して、
図9で説明したような試験結果の分析を大幅に拡張する。そのため、これらの履歴記録を分析することで、失敗と成功のパターンを検出できる。後続の試験を実行すれば、増え続ける結果のライブラリに、その結果が追加又は補足されることになる。デバイス故障率などの追加の関連データを、このライブラリに更に追加するか、又は、データ・ライブラリに関連する別のライブラリに更に追加しても良い。この故障率データは、元のデータよりもずっと後、例えば、数か月後、数年後などに追加される場合がある。人工(Artificial)分析、機械学習又はその他の方法を使用して、データ・セットを調査し、それをデバイスに関して収集された故障率データ又は他のデータと比較することができる。
【0059】
図10は、本発明の実施形態による、データの作成、記憶、分析及びトレーニングのためのシステムで使用されても良い例示的なフロー工程1000を示すフローチャートである。フロー1000は、DUTが試験セッションの初期状態に置かれる工程1010で始まる。この工程1010又は本願で説明される工程のどれもが、上述のマージン・テスタ100のいずれかによって又は試験システム内の別のデバイスによって実行されても良い。上述したように、コンプライアンス試験又はその他の試験を実行する際、DUTは、試験セッション中に複数の異なる状態を経る。例えば、PCIeの場合、状態のカテゴリには、リンク・トレーニング状態、再トレーニング(リカバリ)状態、ソフトウェア電力管理状態、アクティブ状態電力管理状態及びその他の状態が含まれる場合がある。もちろん、他のデバイス又はプロトコルが、DUTが試験されている間に、これらと同じ状態、これら状態のバリエーション、又は、異なる状態を使用することもある。
【0060】
工程1020では、現在のDUT状態で試験が実行され、工程1030で試験データ及び状態データが記録される。工程1020では、試験計画に応じて任意の数の別個の試験を実行しても良い。この計画では、各状態で1回の試験が必要になる場合もあれば、別の状態で数千(又は数十万)回の試験が必要になる場合もある。上述したように、試験には、様々な量のノイズを試験信号に注入するなどのマージン分析が含まれる場合がある。このようなノイズは、試験信号の電圧やジッタを制御することによって発生させても良い。工程1030で記録された試験データ及び状態データには、試験データの摘要(summaries)に加えて、生(raw)の試験データが含まれても良い。また、これには、更に試験のアイ・ダイアグラムが含まれても良く、これは、試験データ及び状態データとともに保存される。各状態で費やした時間などの試験又は状態に関連するその他のデータや、合格/不合格又は適合性のような状態の最終結果も保存されて良い。状態に関する更に別のデータには、デバイスが後続する状態に進む(つまり、試験の遷移)のにかかる時間と試行回数が含まれても良い。
【0061】
ローカルな試験を参照して上述したが、工程1030(及びその後の工程1060)で記録されるデータは、もともと外部の場所で生成され、インターネットなどの通信ネットワークを介して中央リポジトリ又はライブラリに送信することも可能である。このようにして、本発明の実施形態は、試験自体は実行する必要なしに、試験を実行する様々な製造業者その他の者からの大量のデータを蓄積できる。この試験データは、リアルタイムで中央リポジトリに送信することも、試験の終了時にダウンロードすることもできる。試験データは、インターネットに接続されたデータ・ストレージ・ソースなどのクラウドに保存され、中央記憶装置に定期的又はオンデマンドで取得され、通信ネットワークを通じてライブラリに保存されても良い。
【0062】
工程1040では、試験セッションで試験すべき更なるDUT状態があるかどうかを判断する。そうである場合、工程1050は、DUTを試験セッションにおける次の状態に変更し、工程1020において、上記試験又は別の試験を新しい状態で実行し、新しい状態の試験データ及び状態データが、工程1030で再び記録される。
【0063】
代わりに、もし最終試験状態が完了している場合には、工程1060は、試験セッションの試験、状態及びDUTに関する全ての関連データをリポジトリ又はライブラリに記憶する。DUTデータには、コード名や識別子など、ユーザがDUTに関して入力したデータが含まれても良い。DUTデータには、DUTの種類(クラス)、バージョン、更にはシリアル番号や製造番号などの一意の識別子も含まれることがある。このようなDUT識別データは、DUT自体に保存することもできるし、DUTの試験中にユーザによって入力することもできる。マージン・テスタは、また、DUTのピン、レーン、リンク状態又はトレーニング状態の個数などのDUT識別データを生成することもでき、これらのデータも工程1060で試験データとともに記憶できる。このような識別データは、実施形態において、後で同じDUTがいつ試験されたかを特定したり、元のDUTと同じ種類か、さもなければ関連する別のDUTが、後の試験で試験されているかを特定するのに使用されても良い。本発明の実施形態は、以下に説明するように、関連するDUTの試験を関連付けて、分析を強化できる。
【0064】
工程1060では、状態が変化する順序や全ての状態の試験で費やされた合計時間などの追加データを保存できる。工程1060では、日付、時刻、温度、試験の場所などの更なるデータに加えて、DUTが全ての試験に合格したかどうかの全体的な合否も記憶されても良い。上述したデータは、全て大規模なライブラリに保存され、DUTの後続の試験が実行されるたびに拡張される。
【0065】
図11は、オリジナルの試験データのセットが生成された後に実行されても良い例示的な動作を示すフローチャートである。フロー1100において、工程1110は、まず、上述のデータ・ライブラリから1つ以上のデータ・セットを取得する。ライブラリが最初に作成されたとき、データの量は少ないか、最小限であることすらある。しかし、ライブラリが成長するにつれて、ライブラリに保存されている情報と、そのような情報の分析は、以下で詳しく説明するように、予測データを提供するのに役立つことがある。
【0066】
工程1120は、パターン分析を実行するか又は他の種類の分析を使用して、工程1110で取得されたデータ・セットを分析する。いくつかの基本的なパターン分析が先の
図9に示されており、この場合、試験データの分析により、レーン2の潜在的な設計上の問題又はDUT1、3及び4の様々な製造上の問題が存在する可能性があるという指標が生成されていた。工程1120のパターン分析は、関連する行及び列を単に比較するよりもはるかに洗練されており、状態の期間、再トレーニングの回数、どの状態でより多くのエラーが発生するか、電圧変動がタイミング(ジッタ)変動よりも多くのエラーを引き起こすかどうかなど、試験結果の全ての部分の詳細な統計分析が含まれても良い。分析は、データ・レコード中に保存されているデータのいずれか又はデータの組み合わせに対して実行できる。次いで、分析の結果は、データ・ライブラリに再度記憶されても良いし、元のデータ・ライブラリとは別のライブラリに記憶され、工程1130で元のデータ・ライブラリに関連付けられても良い。
【0067】
その後の試験又は診断において、分析又は分析で得られたデータ若しくは傾向を使用する例を以下に示す。工程1120で実行される分析の結果は、個々のDUT又はDUTの種類において、注目すべき特定の繰り返しパターンを生じる可能性がある。これらの繰り返しパターンは、関連するデバイス間で、又は、無関係なデバイス間でも、共通の動作を特定する手がかり又は固有の特徴(signature)と考えることができる。例えば、特定のメーカーでは、ほぼ常に、レーンの受信方向と比較して、送信方向により多くの試験マージンがあることがある。これが頻繁に繰り返される場合、本発明の実施形態は、DUTの出所を知らなくても、送信マージンが受信マージンを上回ったことを観察することにより、特定のDUTは、そのメーカーによって製造されたものであると判断することができる。
【0068】
図12は、本発明の実施形態で使用されても良い特定の種類のパターン分析を説明するフローチャートを示す。このフロー1200では、工程1210で取得されたデータは、工程1220で平均化又は正規化される。正規化処理又は平均化処理は、工程1210で取得された少数のデータ・セットに対してのみ行われても良し、又は、工程1210で多数のデータ・セット(数百万など)が取得されても良い。もちろん、平均化されるデータ・セットの数が増えるほど、平均値は、全てのデバイスにわたる試験結果の実際の平均値としてより正確になる。
【0069】
平均化された2つのデータ・セットが、正確には一致しない可能性がある。例えば、DUT試験の1つのデータ・セットには、40個の個別の状態遷移が含まれている一方で、もう1つのデータ・セットには、90個の遷移が含まれていることがある。このような場合には、本発明の実施形態は、共通の又は同じ数の遷移を有する全ての試験を平均しても良いし、所望の結果を得るように平均化又は正規化することが可能である。この例では、工程1220は、2つの試験の間で40個の共通の遷移を平均し、第2データ・セットの残りの50個の遷移は平均しない。言い換えれば、
図11を参照して上述した平均化、正規化又はその他のパターン分析を実行するために、試験データのセットが正確に一致する必要はない。
【0070】
次に、工程1230において、試験された最後のDUTから生成されたデータのような瞬間的なデータが、正規化又は平均化されたデータと比較され、偏差データ・セットを生成するために比較結果が生成されても良い。この比較処理は、コンパレータによって実行されても良いが、これは、コントローラ210、310若しくは410の機能若しくは構成要素又はFPGA514(
図5)で定義されたコンパレータ機能であっても良い。この偏差データ・セットは、瞬間データが正規化データ又は平均データとどれだけ異なっているかを示す。平均からの偏差は、特定のDUT又はDUTの種類(クラス)の性能が、平均的なDUTを大きく下回るか又は大きく上回ることを示す重要な情報となる場合がある。ライブラリ内のデータ・セットには、DUTの種類を含むDUT識別情報が含まれていることを思い出してください。従って、本発明の実施形態は、1つ以上の偏差データ・セットを使用し、同等又は類似のデバイスと比較して、外れたもの(outlier)である可能性のある個別のDUT又はDUTの種類(クラス)を特定できる。このような分析により、設計の弱点が明らかになる可能性がある。
【0071】
工程1230の比較の後、工程1040において、比較データ又は偏差データを元のデータとともにデータ・ライブラリに、オプションで記憶しても良い。分析される全てのデータ・セットが比較データを含む必要はないため、工程1040はオプションである。つまり、比較データは、データ・ストレージ・ライブラリ内の少数のデータ・セットに対してのみ生成する可能性がある。
【0072】
フロー1200は、
図10を参照して説明したフロー1000の最後に、又は、フロー1000内で(同時に)自動的に実行することも可能である。例えば、上述したように生成される偏差データは、各状態における最終試験の最後に生成されて、工程1020内に含めるようにしても良い。その後、工程1030において、偏差データは、標準的な試験及び状態データと一緒に保存しても良い。統計的に有意な範囲を超えた偏差は、フラグを立てるか、あるいは試験結果などでユーザに示しても良い。
【0073】
図13は、時間の経過に伴うDUTの性能を観察するためにデータ・セットがどのように使用されても良いかを示すフローチャートである。
図10のフローの工程1060又はどこか他の工程で記憶されるデータの一部は、形式、種類、製造業者、レーン数、提供されている場合には固有の識別子などのDUT識別データであることを思い出してください。フロー1300では、DUTは、工程1310で試験される。その後、フロー1300はライブラリを検査して、DUTが以前に試験されているかどうかを確認しても良い。例えば、ある1つのDUT又はDUTの種類は、最初の試験データ・セットを生成するために、開発中に試験されることがある。その後、その同じDUT又は同じDUTの種類をプロトタイプ段階で試験し、次いで、製品リリース段階で試験することがある。同じDUTが、生産されてから数か月又は数年後に試験されることがある。これらの試験と試験結果の夫々を保存し、ライブラリ内のDUT又はDUTの種類の以前の試験に関連付けて、試験結果のタイムラインを効果的に作成しても良い。工程1320では、試験結果を相互に比較して、DUTの性能が時間の経過とともに変化するかどうか(性能の低下が見られるなど)を判断できる。あるいは、数か月毎に2回又は3回の試験を行うと性能が低下し、その後数か月にわたって同じ又は同様のパフォーマンスが維持される場合もある。
【0074】
以前に試験されたデバイスの全ての試験が、必ずしも以前の試験との比較を含む必要はないため、工程1320はオプションである。その代わりに、工程1330において、そのような比較を行わずに、新しい試験結果をライブラリに記憶しても良い。
【0075】
図14は、本発明の実施形態がどのように将来のデバイス性能の予測を生成し、それらの予測をDUT試験自体の一部として使用するかを示すフローチャートである。工程1410は、結果又はデバイス動作データをデータ・ライブラリに追加する。以前に試験されたDUTを再度試験する工程1310(
図13)の当然の成り行きとして、一部の結果又は動作データが追加されても良い。つまり、そのような結果のデータには、以前に試験されたDUTの失敗又は成功から収集されたデータが含まれていることがある。工程1410における結果データは、必ずしも以前の試験結果から得られる必要はなく、これに代えて又はこれに加えて、ライブラリに追加される他のデータであっても良い。この他のデータには、特定のデバイス又はデバイスの種類の寿命や故障のようなデバイスの動作に関する情報が含まれても良い。例えば、24か月以上使用した後に、10個のDUTが故障したと仮定する。また、全てのDUTの以前の試験結果がデータ・ライブラリに保存されていると仮定する。ライブラリに追加される結果データには、試験データを伴わずに、単にデバイスが故障したことが含まれる場合もあれば、故障の日付が含まれる場合もある。試験結果の分析により、DUTの内の7個は、電源から最も遠いレーン4が合格するのに比較して、電源に最も近いレーン1が一連の試験に合格するのに時間がかかることがわかったとする。そうすると、工程1420で生成できる1つの予測は、レーン4と比較してレーン1が試験に合格するのに長い時間がかかる類似のDUTは、他のDUTと比較して、次の24ヶ月以内の故障発生率が高い可能性があるということである。次いで、工程1430において、この予測を試験手順自体に追加できる。
【0076】
図15は、工程1510において試験プログラムが試験の開始手順の一部として予測ライブラリをロードするときに、この仮説シナリオを継続している。このライブラリは、他のデータ分析から得られた予測に加えて、工程1420(
図14)で生成された予測も含むことができる。時間の経過とともに、この予測ライブラリは、多種多様な形式のデータからの予測を含むように成長する可能性がある。また、以前に試験されたDUT又はDUTの種類の長期的な成功又は失敗を記述する結果データがライブラリに追加されるため、予測ライブラリは時間の経過とともにより正確になる。
【0077】
フロー1000(
図10)のようなDUT試験は、工程1530で開始され、試験が始まる。次に、DUTが試験されるときに、試験結果が予測ライブラリと比較される。現在試験されているDUTも、レーン4に比べてレーン1に関してDUTが試験に合格するまでに時間がかかったことを示しており、以前に保存された予測の1つと一致すると仮定する。次に、フロー1500は、工程1540において、試験対象のDUTが、早期に故障する可能性があるかもしれないという警告を生成できる。
【0078】
他の実施形態では、工程1530におけるDUTの試験中に予測ライブラリをリアルタイムで比較する必要はなく、代わりに、記憶されたデータ、即ち、前の試験セッションから記憶されたデータに対して実行できる。
【0079】
デバイス開発の開発中又はプロトタイプ段階の間に、フロー1500の工程を実行するは有益なことがある。そうすれば、潜在的な設計上の欠陥が、開発中に修正できる可能性がある。上述した例では、設計者は、おそらく、レーン1を電源から遠ざけると、レーン1~4が同様の試験データを生成するという試験結果が得られるとわかる。このように、予測試験は、効果的な設計ツールとなる可能性がある。
【0080】
上述したように本発明の実施形態を使用することにより、設計者は、設計の失敗を示す可能性がある通常の遷移からの偏差を追跡できる。潜在的な設計変更は、以前のDUT試験でライブラリに既に保存されている性能データと照らし合わせて精査できる。本発明の実施形態を使用すると、デバイスの状態、必要な再トレーニングの回数又はDUTが状態遷移を経験する際のDUTに関する他の情報を示すことによって、障害の根本原因を特定するのに役立つ可能性がある。
【0081】
本開示技術の態様は、特別に作成されたハードウェア、ファームウェア、デジタル・シグナル・プロセッサ又はプログラムされた命令に従って動作するプロセッサを含む特別にプログラムされた汎用コンピュータ上で動作できる。本願における「コントローラ」又は「プロセッサ」という用語は、マイクロプロセッサ、マイクロコンピュータ、ASIC及び専用ハードウェア・コントローラ等を意図する。本開示技術の態様は、1つ又は複数のコンピュータ(モニタリング・モジュールを含む)その他のデバイスによって実行される、1つ又は複数のプログラム・モジュールなどのコンピュータ利用可能なデータ及びコンピュータ実行可能な命令で実現できる。概して、プログラム・モジュールとしては、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含み、これらは、コンピュータその他のデバイス内のプロセッサによって実行されると、特定のタスクを実行するか、又は、特定の抽象データ形式を実現する。コンピュータ実行可能命令は、ハードディスク、光ディスク、リムーバブル記憶媒体、ソリッド・ステート・メモリ、RAMなどのコンピュータ可読記憶媒体に記憶しても良い。当業者には理解されるように、プログラム・モジュールの機能は、様々な実施例において必要に応じて組み合わせられるか又は分散されても良い。更に、こうした機能は、集積回路、フィールド・プログラマブル・ゲート・アレイ(FPGA)などのようなファームウェア又はハードウェア同等物において全体又は一部を具体化できる。特定のデータ構造を使用して、本開示技術の1つ以上の態様をより効果的に実施することができ、そのようなデータ構造は、本願に記載されたコンピュータ実行可能命令及びコンピュータ使用可能データの範囲内と考えられる。
【0082】
開示された態様は、場合によっては、ハードウェア、ファームウェア、ソフトウェア又はこれらの任意の組み合わせで実現されても良い。開示された態様は、1つ以上のプロセッサによって読み取られ、実行され得る1つ又は複数のコンピュータ可読媒体によって運搬されるか又は記憶される命令として実現されても良い。そのような命令は、コンピュータ・プログラム・プロダクトと呼ぶことができる。本願で説明するコンピュータ可読媒体は、コンピューティング装置によってアクセス可能な任意の媒体を意味する。限定するものではないが、一例としては、コンピュータ可読媒体は、コンピュータ記憶媒体及び通信媒体を含んでいても良い。
【0083】
コンピュータ記憶媒体とは、コンピュータ読み取り可能な情報を記憶するために使用することができる任意の媒体を意味する。限定するものではないが、例としては、コンピュータ記憶媒体としては、ランダム・アクセス・メモリ(RAM)、読み出し専用メモリ(ROM)、電気消去可能プログラマブル読み出し専用メモリ(EEPROM)、フラッシュメモリやその他のメモリ技術、コンパクト・ディスク読み出し専用メモリ(CD-ROM)、DVD(Digital Video Disc)やその他の光ディスク記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置やその他の磁気記憶装置、及び任意の技術で実装された任意の他の揮発性又は不揮発性の取り外し可能又は取り外し不能の媒体を含んでいても良い。コンピュータ記憶媒体としては、信号そのもの及び信号伝送の一時的な形態は除外される。
【0084】
通信媒体とは、コンピュータ可読情報の通信に利用できる任意の媒体を意味する。限定するものではないが、例としては、通信媒体には、電気、光、無線周波数(RF)、赤外線、音又はその他の形式の信号の通信に適した同軸ケーブル、光ファイバ・ケーブル、空気又は任意の他の媒体を含んでも良い。
実施例
【0085】
以下では、本願で開示される技術の理解に有益な実施例が提示される。この技術の実施形態は、以下で記述する実施例の1つ以上及び任意の組み合わせを含んでいても良い。
【0086】
実施例1は、試験装置であって、被試験デバイス(DUT)に接続するように構成された少なくとも1つの試験インタフェースと、試験セッションの1つ以上の試験状態中に上記DUTを試験するためのマージン試験信号を生成するように構成された1つ以上のコントローラと、上記試験セッションの1つ以上の試験状態中の上記DUTの試験の結果を、上記試験セッション中に試験された上記DUTのDUT識別子とともに記憶するように構成されたデータ・リポジトリと、上記試験装置に対して影響を与えるよう(operatively)に結合され、試験されたDUTが予測結果と一致したことを示す表示を表示するように構成されるユーザ・インタフェースとを具え、
上記1つ以上のコントローラは、DUT試験のいずれかの結果が、以前のDUT試験の分析に基づく予測結果と一致するか否か判断するよう構成される。
【0087】
実施例2は、実施例1による試験装置であって、上記データ・リポジトリが、DUT識別子、DUTの分類(class)、1つ以上の試験状態の夫々に費やされた時間、1つ以上の試験状態夫々の合格する状態、又は、上記1つ以上の試験状態夫々の再トレーニングの回数を記憶するように構成される。
【0088】
実施例3は、上記実施例のいずれかによる試験装置であって、上記データ・リポジトリが、1つ以上の試験状態のうちの1つにおける複数の試験の試験結果を示すアイ・ダイアグラムを記憶するように更に構成される。
【0089】
実施例4は、上記実施例のいずれかによる試験装置であって、上記試験装置が、DUT自体上の記憶装置から上記DUT識別子を読み取るように構成されているか又は上記試験装置が上記DUT識別子を生成するように構成されている。
【0090】
実施例5は、上記実施例のいずれかによる試験装置であって、上記予測結果は、以前のDUT試験の分析及び1つ以上のDUTの動作寿命についてのデータから生成される。
【0091】
実施例6は、上記実施例のいずれかによる試験装置であって、上記データ・リポジトリが、通信ネットワークを介して上記DUTの試験の結果を受信する。
【0092】
実施例7は、上記実施例のいずれかによる試験装置であって、上記試験セッションの上記1つ以上の試験状態が、1つ以上の電力状態、1つ以上の送信状態又は1つ以上のリンク状態を含む。
【0093】
実施例8は、試験装置を動作させる方法であって、被試験デバイス(DUT)への接続を確立する処理と、試験セッションの1つ以上の試験状態中に上記DUTをマージン試験するための試験信号を生成する処理と、上記試験セッションの上記1つ以上の試験状態中の上記DUTの試験の結果を、上記試験セッション中に試験された上記DUTのDUT識別子と共にライブラリに記憶する処理と、上記DUT試験の結果のいずれかの結果が以前のDUT試験の分析に基づく予測結果と一致するかどうかを判断する処理と、上記DUT試験のいずれかの結果が、上記予測結果と一致する場合に、上記試験装置のユーザに示す表示を生成する処理とを具える。
【0094】
実施例9は、請求項8に記載の方法であって、上記ライブラリが、DUT識別子、DUTの分類(class)、1つ以上の試験状態の夫々に費やされた時間、1つ以上の試験状態夫々の合格する状態、又は、上記1つ以上の試験状態夫々の再トレーニングの回数を記憶するように構成される。
【0095】
実施例10は、請求項8に記載の方法であって、上記ライブラリが、1つ以上の試験状態のうちの1つにおける複数の試験の試験結果を示すアイ・ダイアグラムを記憶するように更に構成される。
【0096】
実施例11は、上記方法例のいずれかの方法であって、DUT自体上の記憶装置から上記DUT識別子を読み取る処理又は上記DUT識別子を生成する処理を更に具える。
【0097】
実施例12は、上記方法例のいずれかの方法であって、上記予測結果が、以前のDUT試験の分析及び1つ以上のDUTの動作寿命についてのデータから生成される。
【0098】
実施例13は、上記方法例のいずれかの方法であって、上記DUTの試験の結果を保存する処理が、通信ネットワークを介して結果を送信する処理を含む。
【0099】
実施例14は、上記方法例のいずれかの方法であって、上記試験セッションの上記1つ以上の試験状態が、1つ以上の電力状態、1つ以上の送信状態又は1つ以上のリンク状態を含む。
【0100】
実施例15は、予測結果を生成し、使用する方法であって、1つ以上のDUTに関する動作情報を表すデータを受信する処理と、過去のマージン試験中に生成された1つ以上のDUTの試験結果の共通性を判定して、過去の試験結果を上記動作情報と照合する処理と、上記動作情報と一致する過去の試験結果のリストを作成する処理と、試験セッションの1つ以上の試験状態中に上記1つ以上のDUTに関連するDUTを試験して現在の試験結果を生成する処理と、上記現在の試験結果を上記過去の試験結果のリストに対して比較する処理と、現在の試験結果が過去の試験結果のリスト上の過去の試験結果のいずれかと一致する場合に表示を生成する処理とを具える。
【0101】
実施例16は、実施例15の方法であって、上記過去の試験結果が、1つ以上のアイ・ダイアグラムを含む。
【0102】
実施例17は、実施例15の方法であって、過去のマージン試験中に生成された1つ以上のDUTの試験結果の共通性を判定して、過去の試験結果を上記動作情報と照合する処理が、上記1つ以上のDUTの過去の試験結果の1セットを上記1つ以上のDUTの過去の試験結果の別のセットと比較する処理を更に有する。
【0103】
実施例18は、実施例15の方法であって、動作情報は、1つ以上のDUTの寿命又は故障情報を含む。
【0104】
実施例19は、実施例15の方法であって、以前のマージン試験中に生成された試験結果が、1つ以上の電力状態、1つ以上の送信状態又は1つ以上のリンク状態中に生成された結果を含む。
【0105】
実施例20は、実施例15の方法であって、マージン試験装置の動作情報と一致する過去の試験結果のリストを記憶する処理を更に含む。
【0106】
加えて、本願の説明は、特定の特徴に言及している。本明細書における開示には、これらの特定の特徴の全ての可能な組み合わせが含まれると理解すべきである。ある特定の特徴が特定の態様又は実施例に関連して開示される場合、その特徴は、可能である限り、他の態様及び実施例との関連においても利用できる。
【0107】
また、本願において、2つ以上の定義されたステップ又は工程を有する方法に言及する場合、これら定義されたステップ又は工程は、状況的にそれらの可能性を排除しない限り、任意の順序で又は同時に実行しても良い。
【0108】
説明の都合上、本発明の具体的な実施例を図示し、説明してきたが、本発明の要旨と範囲から離れることなく、種々の変更が可能なことが理解できよう。従って、本発明は、添付の請求項以外では、限定されるべきではない。
【国際調査報告】