(57)【要約】  １または複数の被テストデバイスをテストするための自動試験装置は、少なくとも１つのポート処理ユニットを含み、ポート処理ユニットは、被テストデバイスのうち少なくとも１つに接続するための高速入出力インタフェース（ＨＳＩＯインタフェース）と、接続された１または複数の被テストデバイスからポート処理ユニットが受信したデータを格納するためのメモリと、受信されたデータにおけるコマンドエラーを検出するよう構成されるストリーミングエラー検出ブロックとを含み、ポート処理ユニットは、コマンドエラーの検出に応答して、受信されたデータにおいて、エラーとして検出されたコマンドの後に続くデータをメモリに格納することを限定するよう構成される。１または複数の被テストデバイスの自動試験のための方法およびコンピュータプログラムも記載される。
2021520570.tif 000002
【特許請求の範囲】
【請求項１】
１または複数の被テストデバイスをテストするための自動試験装置であって、前記自動試験装置は、
少なくとも１つのポート処理ユニットを備え、前記ポート処理ユニットは、
前記１または複数の被テストデバイスのうち少なくとも１つに接続するための高速入出力インタフェース（ＨＳＩＯインタフェース）と、
接続された前記１または複数の被テストデバイスから前記ポート処理ユニットが受信したデータを格納するためのメモリと、
受信された前記データにおけるコマンドエラーを検出するよう構成されるストリーミングエラー検出ブロックと
を含み、
前記ポート処理ユニットは、前記コマンドエラーの検出に応答して、受信された前記データにおいて、エラーとして検出されたコマンドの後に続くデータを前記メモリに格納することを限定するよう構成される、
自動試験装置。
【請求項２】
前記メモリに格納されている、受信された前記データにおいて、エラーとして検出された前記コマンドの後に続くデータを更なる処理の対象外とするよう更に構成される、請求項１に記載の自動試験装置。
【請求項３】
格納されるデータの量を示す前記限定は、固定値、可変値または動的値によって定義される、請求項１または２に記載の自動試験装置。
【請求項４】
前記ストリーミングエラー検出ブロックは更に、受信された前記データを、予めロードされた予期データと比較するよう構成される、請求項１から３のいずれか一項に記載の自動試験装置。
【請求項５】
前記ストリーミングエラー検出ブロックは更に、
受信された前記データにおけるペイロードデータエラーを検出し、
受信された前記データにおけるエラーの前記検出に応答して、選択的にデータを前記メモリに格納するよう構成される、
請求項１から４のいずれか一項に記載の自動試験装置。
【請求項６】
予期データはマスクデータを含む、請求項４または５に記載の自動試験装置。
【請求項７】
接続された１または複数のデバイスに関連し、好ましくは関連する接続された前記１または複数のデバイスによるデータ使用をトラッキングして前記データを破棄するよう構成される、デバイスごとの先入れ先出しメモリ（ＦＩＦＯメモリ）、または、管理キャッシュに予期データを予めロードするよう更に構成される、請求項４から６のいずれか一項に記載の自動試験装置。
【請求項８】
前記自動試験装置は、データ使用の前記トラッキングに基づく、特定の被テストデバイスがデータストリームに従わないという検知に応答して、前記特定の被テストデバイスを不良として認識するよう構成される、請求項７に記載の自動試験装置。
【請求項９】
受信された前記データが、バイトの決定的ストリームとして受信された場合において、受信されたデータおよび予めロードされた予期データを、予めロードされた前記予期データの順番で比較し、
受信された前記データが、アドレス情報に関連するデータとして受信された場合において、受信された前記データを、前記アドレス情報に対応するメモリアドレスにおける予期データと比較するよう更に構成される、
請求項４から６のいずれか一項に記載の自動試験装置。
【請求項１０】
前記自動試験装置は、圧縮された形式でデータをメモリに格納するよう更に構成され、前記圧縮は好ましくは、標準的データ圧縮、またはテスト固有の形式である、請求項１から９のいずれか一項に記載の自動試験装置。
【請求項１１】
予期されるエラー分布に一致するように前記圧縮を動的に調整するよう更に構成される、請求項１０に記載の自動試験装置。
【請求項１２】
前記自動試験装置は、受信されたデータストリームの近くに不良である可能性がある受信データを維持するよう構成される、請求項１０または１１に記載の自動試験装置。
【請求項１３】
前記ストリーミングエラー検出ブロックは更に、不良の解析に関連する統計情報を格納するよう構成される、請求項１から１２のいずれか一項に記載の自動試験装置。
【請求項１４】
被テストデバイスがコマンドシーケンスを中断したという検知、または、前記コマンドシーケンスが中断されているという検知に応答して、前記コマンドエラーを検出するよう更に構成される、請求項１から１３のいずれか一項に記載の自動試験装置。
【請求項１５】
予期データは、対応する受信データビットがコマンドであるかどうかを示すコマンド予期データビットを含む、請求項４から１４のいずれか一項に記載の自動試験装置。
【請求項１６】
予期データは、受信された前記データのどのビットがコマンドビットであることが予期されるかを示すマスクデータを含む、請求項４から１４のいずれか一項に記載の自動試験装置。
【請求項１７】
前記コマンドエラーの検出に応答して、コマンドエラーフラグを設定するよう更に構成される、請求項１から１６のいずれか一項に記載の自動試験装置。
【請求項１８】
マッピング情報が前記メモリに格納され、
前記ポート処理ユニットは更に、
格納された前記データのオフセットを直接参照するエラー情報を取得するべく、前記マッピング情報に基づいて、前記データをデスクランブルするよう構成される、請求項１から１７のいずれか一項に記載の自動試験装置。
【請求項１９】
コマンド予期データは、マッピング情報を含み、
前記ポート処理ユニットは更に、
格納された前記データのオフセットを直接参照するエラー情報を取得するべく、前記マッピング情報に基づいて、前記データをデスクランブルするよう構成される、請求項１５から１７のいずれか一項に記載の自動試験装置。
【請求項２０】
前記マッピング情報は、各被テストデバイスごとに異なっていてよく、
前記ポート処理ユニットは更に、デスクランブルの前にペイロードタイプを検出するよう構成される、
請求項１８または１９に記載の自動試験装置。
【請求項２１】
前記ポート処理ユニットは更に、前記ペイロードタイプを検出する前に、コマンドデータを破棄するよう構成される、請求項２０に記載の自動試験装置。
【請求項２２】
１または複数の被テストデバイスの自動試験のための方法であって、
ポート処理ユニットを前記１または複数の被テストデバイスの少なくとも１つに接続する高速入出力（ＨＳＩＯ）インタフェースを介してデータを受信する段階と、
接続された前記１または複数の被テストデバイスから受信されたデータをメモリに格納する段階と、
前記メモリに格納された、受信された前記データにおけるコマンドエラーを検出する段階と、
前記コマンドエラーの検出に応答して、受信された前記データにおいて、エラーとして検出されたコマンドの後に続くデータを前記メモリに格納することを限定する段階と
を含む方法。
【請求項２３】
処理デバイスのためのコンピュータプログラムであって、前記処理デバイスで前記コンピュータプログラムが実行されるときに請求項２２に記載の方法の前記段階を実行するためのソフトウェアコード部分を含むコンピュータプログラム。
【請求項２４】
前記処理デバイスは、前記ソフトウェアコード部分が格納されるコンピュータ可読媒体を含み、前記コンピュータプログラムは、前記処理デバイスの内部メモリに直接ロード可能である、請求項２３に記載のコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明による実施形態は、１または複数の被テストデバイスをテストするための自動試験装置に関連する。
【０００２】
本発明の更なる実施形態は、１または複数の被テストデバイスの自動試験のための方法に関連する。
【０００３】
本発明による更なる実施形態は、それぞれのコンピュータプログラムに関連する。
【０００４】
本発明の実施形態は、デバイスのテストに関連し、特に、高速入出力インタフェースを介して、被テストデバイスから受信されたデータにおけるエラーを検出することに関連する。
【背景技術】
【０００５】
以下において、いくつかの従来の解決手段の導入を提供する。 
【０００６】
自動試験装置（ＡＴＥ）は、自動化を使用して迅速に測定を実行しテスト結果を評価する、被テストデバイス（ＤＵＴ）として知られているデバイスに対してテストを実行する任意の機器である。ＡＴＥは、高度な電子パッケージ部品における障害を自動的にテストおよび診断すること、または、システムオンチップおよび集積回路を含むウェハ上テストが可能な、単純なコンピュータ制御デジタルマルチメータ、または、数十個の複雑なテスト計器（実物の、またはシミュレートされた電子テスト装置）を含む複雑なシステムであり得る。
【０００７】
構造テストは、システムオンチップ（ＳＯＣ）内にデジタルブロックの複雑な機能を実装する個別の構造、いわゆるセルの系統的テストカバレッジを可能にする。構造テストは、これらに限定されないが、メモリ組み込み自己テスト（ＢＩＳＴ）、ロジックＢＩＳＴ（パターンがオンチップで生成される）、およびスキャンテスト（パターンが外部から提供される）を含む、様々なテスト方法を含む。ブロックをテストするために個別テストが組み合わされる。例えば、スキャンテストが階層的に（直列または並列に）ブロックに適用される。
【０００８】
高度な構造テスト方法は、外部から提供されるテストデータ（自動試験装置（ＡＴＥ）からの刺激）、および、外部から提供されるテストデータ（いわゆるシード）を拡大するオンチップテスト用デバイス（ＤＦＴ）の組み合わせをスキャンチェーンに適用する。テストデータの量を低減するために、テスト結果は縮小化および圧縮され、ＳＯＣの一次入出力インタフェース（ＩＯ）に提供される。このデータは受信データと称され、ＡＴＥによって予期データと比較される。受信データはまた、ＡＴＥによってマスキングされ得る。 
【０００９】
テスト用設計またはテスト可能設計と称されることもあるＤＦＴは典型的には、ハードウェア製品設計またはデバイス、すなわちＤＵＴにテスト可能性の特徴を追加する集積回路設計技法から成る。この追加される特徴により、テストを開発し、ＤＵＴに適用することが容易になる。 
【００１０】
以下では、上述の構造テストの一般的な表現であるスキャンテストに言及する。
【００１１】
しかしながら、新しい作製処理によって可能となるＳＯＣの複雑性の増加により、スキャンテストを費用効果が高い方法でスケーリングすることには課題がある。
【００１２】
１つの課題は、ＡＴＥに格納する必要があるテストデータ量の増大である。別の課題は、ＳＯＣ  ＩＯを通じてテストデータを供給するテスト時間の増大である。また、オンチップの複雑性の増加により、被テストブロックにテストデータを配布すること、および、必要なクロック信号を生成することに課題がある。
【００１３】
加えて、ＳＯＣが最終用途、例えば、自動車または通信インフラストラクチャシステムに配備されるとき、複雑なＳＯＣの品質および信頼性の予期は、構造テストを必要とする。
【００１４】
この状況に鑑み、自動試験装置を用いて被テストデバイスをテストするとき、格納されるデータと、処理の速度および品質と、テストの信頼性との間の妥協の改善を提供する概念に対する需要がある。
【発明の概要】
【００１５】
本発明による一実施形態は、１または複数の被テストデバイスをテストするための自動試験装置である。
【００１６】
自動試験装置は、少なくとも１つのポート処理ユニットを含む。
【００１７】
少なくとも１つのポート処理ユニットは、被テストデバイスの少なくとも１つに接続するための高速入出力（ＨＳＩＯ）インタフェースと、接続された１または複数の被テストデバイスからポート処理ユニットが受信したデータを格納するためのメモリと、受信されたデータにおいて、例えば、１または複数の被テストデバイスから（例えば、スキャンチェーンから）受信されたデータにおいて、コマンドエラーを検出するよう構成されるストリーミングエラー検出ブロックとを含む。
【００１８】
ＨＳＩＯインタフェースとは、高速通信のために設計されたインタフェースを指す。例の非包括的なリストとして、ＵＳＢ、ＰＣＩｅ、ＳＡＴＡ、ギガビットＬＡＮが挙げられる。被テストデバイス（ＤＵＴ）は例えば、システムオンチップ（ＳＯＣ）であり得る。
【００１９】
更に、ポート処理ユニットは、コマンドエラーの検出に応答して、受信されたデータにおいて、エラーとして検出されたコマンドの後に続くデータがメモリに格納されることを限定するよう構成される。限定は制限とみなすこともできる。データの格納を限定または制限することにより、無駄である可能性があるランダムなペイロードデータのためのストレージの要件を最低限に抑えることができる。そのような制限または限定は、ＨＳＩＯスキャンＤＦＴブロックの状態についての情報ペイロードとして、後続のビットを捕捉することとして実装され得る。より少ないデータを格納することにより、処理能力を節約できる。なぜなら、その後、受信データの予期データとの比較を減らすことができるからである。制限または限定は、予め定められた値が、エラー検出後に使用され得るメモリの量を示すように実現され得る。メモリの利用可能な量はまた、アルゴリズムで示され得る。最後に、エラー検出後に使用され得るメモリの量は、エラーの性質、エラーのタイプ、エラーの深刻度、または他の特徴に依存し得る。
【００２０】
この実施形態は、被テストデバイスのテストにより、自動試験装置（ＡＴＥ）によって送信および受信されるデータを生成するという思想に基づく。受信されたデータは、例えば、テストを評価するためのものであり得る。すなわち、受信されたデータが、適切に動作する被テストデバイスによって送信されてＡＴＥによって更に処理されることが予期されるものであるかどうかを検証するためのものである。受信されたデータを更に処理するべく、少なくともいくつかの実施形態において、受信されたデータをＡＴＥのメモリに格納することが役立つ。
【００２１】
データは、高速入出力インタフェース（ＨＳＩＯ）を使用してＡＴＥへ送信され得る。データは、より少ない労力で、受信部分が受信データを解釈できるような構造であり得る。そのような構造の一例は、次に続くもの、すなわちペイロードを示すか、または、実際のコマンドを他の部分へ送信する、いわゆるコマンド部分を含むデータ形式である。
【００２２】
ペイロードが伝送エラーを含むか、または、被テストデバイスの機能不全の結果であるエラーを含むだけでなく、これらのコマンドエラーも問題があり得るので、コマンドにおけるエラーにより、続くペイロードが無駄になる可能性があり得る。なぜなら、受信されたはずのコマンドに従って正確に識別できない、または、使用されないからである。例として、コマンドがＣＯＮＶであり、続くデータが、結果的に変換されることが意図される場合、エラーのあるコマンドＣＰＮＶを正確に解釈することができないので、ペイロードは無駄である。 
【００２３】
本発明では、コマンドエラーの場合、メモリに保存されるデータを制限または限定する。限定はゼロであり得る。その結果、問題のあるコマンドの後にデータは保存されない。また、デバッグまたはエラー解析のためにデータを提供できるようにするべく、限定は非ゼロであり得る。
【００２４】
自動試験装置の好ましい実施形態において、メモリに格納されている、受信されたデータにおいて、エラーとして検出されたコマンドの後に続くデータを更なる処理の対象外とする。
【００２５】
エラーのあるコマンドの後にいくつかのデータが格納される場合、このデータは格納および維持され得るが、更なる処理の対象外となり得、その結果、追加の処理能力を節約できることが分かった。
【００２６】
自動試験装置の好ましい実施形態において、格納されるデータの量を示す限定は、固定値、可変値または動的値によって定義される。
【００２７】
データの量は、すべてのエラーについて同一となるように予め定められ得、それにより、後の解析のために格納される、問題のあるコマンドに続くデータの固定量を定義することが分かった。他方、量は可変値としても定義され得る。このことは、特定のパラメータに応じて、エラーのあるコマンドが発生するたびに、エラーのあるコマンドに続く、格納されるデータ量が異なることとして定義され得る。そのようなパラメータの例は、例えば、エラーのタイプ、すなわち、論理エラー（データにおける不正な位置にコマンドがある）、伝送エラー（受信されたコマンドの送信に問題がある）、データミスマッチ（ペイロードがコマンドに一致しない）、チェックサムエラー（コマンドおよび／またはペイロードは、送信された正確でないチェックサム（または他の完全性チェック）を有する）、または、任意の他の周知のエラータイプであり得る。そのようなパラメータの別の例は、被テストデバイスの種類、および／または、ＡＴＥの種類である。他のパラメータは、関与するデバイスに直接関連し得、例えば、温度、使用統計、メモリステータス、利用可能なメモリ、利用可能なＣＰＵなどである。他のパラメータは、ペイロードを、更には、ペイロードがコマンドに完全に従うかどうか、現在の時間、伝送時間、受信時間、伝送期間などを指し得る。また、経時的に変化する動的値が使用され得る。
【００２８】
自動試験装置の好ましい実施形態において、ストリーミングエラー検出ブロックは更に、受信されたデータを、予めロードされた予期データと比較する。
【００２９】
被テストデバイス（ＤＵＴ）の正確な機能を検証するべく、いわゆる予期データが準備され、ＡＴＥに予めロードされ得ることが分かった。受信データは次に、予期データと比較され得、そして、デバイスの正確な機能が決定され得る。受信データとは、スキャンチェーンからのデータ、コマンド、および／またはペイロードデータを指し得る。
【００３０】
自動試験装置の好ましい実施形態において、ストリーミングエラー検出ブロックは更にまた、受信されたデータにおけるペイロードデータエラーを検出し、受信されたデータにおけるエラーの検出に応答して、選択的にデータをメモリに格納する。
【００３１】
コマンドが正確である場合でも、ＡＴＥは、ペイロードにおけるエラーを検出し、問題のあるペイロードデータを格納すること（無駄であり得る）を回避できることが分かった。それにより、コマンドが正確である場合においても、ペイロードがエラーを含む場合はメモリ使用を低減できる。
【００３２】
自動試験装置の好ましい実施形態において、予期データは、マスクデータを含み得る。 
【００３３】
それにより、マスクデータ、すなわち、特定の使用について、受信データのどのビットが関連するか、および／または、受信されたデータのどのビットが関連しないかを定義するデータを使用することによって、ＡＴＥはよりインテリジェントにデータを処理することが可能になり得ることが分かった。例として、予期データは、特定のテスト手順について、受信データが３つのブロックのデータを含むことを示すマスクデータ、適切なテストを示すコマンド、ＤＵＴによって生成された結果データ、および、結果を生成するためにＤＵＴによって使用されたシードデータを含み得る。ＡＴＥはＤＵＴにシードを供給するので、シードの格納は、テストに応じて、必要ないことがあり得る。また、結果データを選択的に格納することによって、追加のメモリ空間を節約できる。
【００３４】
自動試験装置の好ましい実施形態において、ＡＴＥは更に、デバイスごとの先入れ先出し（ＦＩＦＯ）メモリ、または、接続された１または複数のデバイスに関連する、管理キャッシュに予期データを予めロードし得る。
【００３５】
このように、ＡＴＥは、予期データをデバイスの先入れ先出し（ＦＩＦＯ）メモリに予めロードし得、それにより、受信データとのより迅速な比較のために準備された予期データを有し得ることが分かった。最初に予めロードされた（先入れ）データがまた、最初に比較され、そして、ＦＩＦＯから最初に破棄（先出し）され得るように、受信データが特定の順序であることが予期される場合、このことは特に有益である。この使用では、予期データの一部のみ、いわゆる予期データのウィンドウが予めロードされ得る。 
【００３６】
代替的に、１つより多くのＤＵＴに関連し得る管理キャッシュが、予期データ、または、予期データのウィンドウを予めロードし、次に、１つより多くのＤＵＴからの受信データと比較するために使用され得る。それにより、予期データは、全部のデバイスについて、繰り返しロード、または、予めロードされる必要がない。 
【００３７】
また、ＦＩＦＯまたは管理キャッシュメモリは、使用、例えば、関連する接続されたＤＵＴからの受信データとの比較をトラッキングし、使用された、すなわち、比較されたデータ、または、別の理由からそれ以上保持する必要がないデータを破棄し得る。
【００３８】
自動試験装置の好ましい実施形態において、ＡＴＥは、データ使用のトラッキングに基づいて、特定の被テストデバイスがデータストリームに従わないという検知に応答して、特定の被テストデバイスを不良として認識する。
【００３９】
特定の被テストデバイスがデータを徐々に提供することによって、特定の被テストデバイスに関連する管理キャッシュにおける予期データが、他の被テストデバイスに関連する対応する予期データより遥かに長く未使用のままであるという検知に応答して、ＤＵＴは不良として認識され得ることが分かった。
【００４０】
管理キャッシュのケースにおいて、対応する保持された予期データのみが、複数のＤＵＴのうち１つのメモリに保持される場合、効率は著しく影響を受け得る。特定の予期データが保持されるＤＵＴを不良とみなすことにより、予期データは管理キャッシュから破棄され、全体的な効率が改善し得る。また、受信データが特定のデータストリームまたはパターンに従うことが予期され、ＤＵＴがそのデータストリームまたはパターンで受信データを配信しない場合、不良とみなされ得る。
【００４１】
自動試験装置の好ましい実施形態において、受信されたデータは、バイトの決定的ストリームとして受信され得る。その場合、受信されたデータおよび予めロードされた予期データが、予めロードされた予期データの順番で比較される。代替的に、受信されたデータは、アドレス情報に関連するデータとして受信され得る。そのようなアドレス情報は、ダイレクトメモリアクセス（ＤＭＡ）によってアドレス指定されるデータを参照し得る。その場合、受信されたデータは、アドレス情報に対応するメモリアドレスにおける予期データと比較され、メモリアドレスは、予期データを格納するメモリのアドレスである。
【００４２】
予め定められた順番のデータストリーム、いわゆる決定的データストリームとして受信されたデータがＡＴＥに提供される場合、予期データは直列に処理され得ることが分かった。
【００４３】
他方、データが非決定的な方式で、例えば、ダイレクトメモリアクセス（ＤＭＡ）アドレス指定などのメモリアドレスによって提供される場合、受信データは、受信データによって提供され得るが、予期データによって提供され得る、または、予め定められてもよいアドレス情報によって示されるメモリアドレスにおける対応するデータにアクセスすることによって、予期データと比較され得る。
【００４４】
自動試験装置の好ましい実施形態において、ＡＴＥは、圧縮形式でデータをメモリに格納する。
【００４５】
圧縮されたデータは、より小さいメモリ空間を使用することが分かった。ＡＴＥは概して、全データセットの異なる部分、例えば、予期データから逸脱した受信データ、および／または、受信データが異なる予期データ、または、受信データと予期データとの間の逸脱を示すデータのみを格納し得る。ＡＴＥ内に、および／または、ＡＴＥによって格納されるデータの一部または全部は、より小さいメモリ空間を使用するように圧縮され得る。圧縮自体は、圧縮されて格納される全部のデータのデータ圧縮方法と同一であり得るが、また、特定のパラメータに応じて、データコマンドが異なれば異なり得る。 
【００４６】
そのようなパラメータの例は、例えば、データに関連するテストの種類であり得る。そのようなパラメータの別の例は、被テストデバイスの種類、および／または、ＡＴＥの種類である。他のパラメータは、関与するデバイスに直接関連し得、例えば、温度、使用統計、メモリステータス、利用可能なメモリ、利用可能なＣＰＵなどである。他のパラメータは、コマンドまたはペイロードを、更には、ペイロードがコマンドに完全に従うかどうか、現在の時間、伝送時間、受信時間、伝送期間などを指し得る。
【００４７】
データの一部または全部に使用される圧縮は、可逆または不可逆圧縮であり得る。 
【００４８】
使用され得る可逆圧縮タイプの例は、エントロピータイプ、例えば、算術符号、非対称数系、ゴロム、ハフマン、レンジ、シャノン、シャノン・ファノ、シャノン・ファノ・イライアス、タンストール、一進法、ユニバーサル、例えば、指数ゴロム、フィボナッチ、ガンマ、レーベンシュタイン、辞書タイプ、例えば、バイト対符号化、Ｌｅｍｐｅｌ‐Ｚｉｖ、または他の種類、例えば、ＢＷＴ、ＣＴＷ、デルタ、ＤＭＣ、ＤＰＣＭ、ＬＤＣＴ、ＭＴＦ、ＰＡＱ、ＰＰＭ、ＲＬＥ（例えば不良ビットを符号化するランレングス）を含み得る。
【００４９】
使用され得る不可逆圧縮タイプの例は、変換タイプ、例えば、離散コサイン変換、ＤＳＴ、ＦＦＴ、ウェーブレット、予測タイプ、例えば、ＤＰＣＭ、ＬＰＣ，モーション、サイコアコースティックを含み得る。
【００５０】
圧縮方法の組み合わせも使用され得る。 
【００５１】
自動試験装置の好ましい実施形態において、ＡＴＥは、予期されるエラー分布と一致するよう動的に圧縮を調整し得る。 
【００５２】
受信データがレジスタ値を含む場合、レジスタ値が誤っているとエラーのショートバーストにつながり、効率的であることが分かった。エラーバーストが開始し、エラーのワードが１つのレジスタ値に及ぶとき、これは、バイトオフセットと共にヘッダによって有効に格納され得る。
【００５３】
自動試験装置の好ましい実施形態において、ＡＴＥは、受信データストリームの近くに不良である可能性がある受信データを維持し得る。
【００５４】
高速通信において、例えば、シリアルＵＳＢまたは他のＨＳＩＯ技術を介して、例えばＤＦＴによって、関連するビットがＤＵＴにバッファリングされ得、シリアルビットの小さい領域からストリーミングすることが分かった。ＨＳＩＯがＵＳＢである場合、これば、ＵＳＢ‐ＤＦＴによって実現され得る。例えば、複数のスキャンチェーンを通じて受信されるＭＩＳＲの値がバッファリングされ得る。ここで、ＭＩＳＲは、排他的論理和またはＸＯＲゲートがＬＦＳＲのフリップフロップの１または複数の入力を駆動するように、構造が基本的にリニアフィードバックシフトレジスタ（ＬＦＳＲ）であるシーケンシャル電子回路である、多入力シフトレジスタとも称される多入力シグナチャレジスタである。
【００５５】
このレジスタが不良である場合、多くのビットが反転し、したがって、不良ビットのバーストが、全体的な受信ストリーム内の開始点の単一のオフセット値と共に格納され得る（上記を参照）。同様に、ＤＦＴは、個別のスキャンチェーンからのデータをバッファリングおよびバーストアウトし得る。また、ＤＦＴは、バッファされた複数のスキャンチェーンから来る単一のブロックの結果を維持し、別のブロックの結果から個別にバーストアウトし得る。
【００５６】
自動試験装置の好ましい実施形態において、ストリーミングエラー検出ブロックは更に、不良の解析に関連する統計情報を格納する。
【００５７】
統計情報を格納することは、発生する可能性があるエラーの評価のために有益であることが分かった。そのような統計情報の例として、場合によっては上記で詳述される種類による不良の総数のカウント、および／または、第１の不良サイクルのバイトオフセットの格納が挙げられる。
【００５８】
自動試験装置の好ましい実施形態において、ＡＴＥは更に、被テストデバイスがコマンドシーケンスを中断したという検知、または、コマンドシーケンスが中断されたという検知に応答してコマンドエラーを検出する。
【００５９】
異常の存在を示すべく、ＤＵＴは、例えば、異常の検出に応答して、コマンドシーケンスを意図的に中断し得ることが分かった。そのような異常は、ＤＵＴのテストに基づき得るが、ＡＴＥにも基づき得る。また、ＡＴＥは、いくつかの他の理由から、例えば、典型的にはペイロードの全部を無効にするＨＳＩＯ  ＤＦＴの不良に起因して、コマンドシーケンスが中断されたことを検知し得る。
【００６０】
自動試験装置の好ましい実施形態において、予期データは、対応する受信データビットがコマンドであるか、またはペイロードデータであるかを示すコマンド予期データビットを含む。
【００６１】
受信されたデータにおいて予期コマンドシーケンスを示す予期データは、エラーの決定において、および、受信データの処理要件において有益であり得ることが分かった。予期データは、コマンドフラグデータを含み得る。
【００６２】
自動試験装置の好ましい実施形態において、予期データは、受信されたデータのどのビットがコマンドビットであると予期されるかを示すマスクデータを含む。
【００６３】
代替的に、受信データにおけるコマンドシーケンスは、対応する予期データに含まれ得るマスクデータを使用することによって識別され得ることが分かった。
【００６４】
自動試験装置の好ましい実施形態において、ＡＴＥは、コマンドエラーの検出に応答してコマンドエラーフラグを設定する。
【００６５】
コマンドエラーが検出されたときにフラグ（ここではコマンドエラーフラグ）を設定する、または立てることにより、予期しない処理の課題の検出が高速化されることが分かった。
【００６６】
自動試験装置の好ましい実施形態において、マッピング情報がメモリに格納され、ポート処理ユニットは更に、格納されたデータのオフセットを直接参照するエラー情報を取得するべく、マッピング情報に基づいて、データをデスクランブルする。
【００６７】
例えば、格納されたデータのオフセットを直接参照するエラー情報、例えばエラーマップを取得するべく、テストの結果をデスクランブルするのに使用される情報であるマッピング情報は、データ、例えば、ＨＳＩＯの低レベルペイロードデータをデスクランブルするために使用され得ることが分かった。それにより、発生したエラーは、より少ない労力で識別され、後に取得され得る。ブロックＩＯの文脈における一例として、エラー情報は、スキャンチェーンのオフセットを参照する。
【００６８】
代替的に、マッピング情報は、ＡＴＥのメモリに格納されず、コマンド予期データに含まれる。 
【００６９】
自動試験装置の好ましい実施形態において、マッピング情報は、各被テストデバイスについて異なり得、ポート処理ユニットは更に、デスクランブル前のペイロードタイプを検出する。
【００７０】
マッピング情報は、例えば、被テストデバイスに応じて異なり得、すなわち、エラー情報を取得するための対応するマッピング情報がＤＵＴに適用される場合、結果データのマッピングおよびデスクランブルは、異なるＤＵＴ、例えば、異なるＳＯＣブロックに最適化され得ることが分かった。更に、ＡＴＥ、すなわちＰＰＵが、デスクランブルの前に、コマンドのブロックインデックスに格納され得るが追加の情報なくＡＴＥによっても決定され得るペイロードタイプを検出する場合、有益である。なぜなら、結果のエラー情報、すなわち、エラーマップは、ペイロードタイプに応じて取得され得るので、この点、例えば、ペイロードにおける各ビットがスキャンチェーンにどのようにマッピングするかなどに関して最適化され得るからである。これは、ペイロードの長いバーストについて繰り返される可能性があり得る。
【００７１】
自動試験装置の好ましい実施形態において、ポート処理ユニットは更に、ペイロードタイプの検出前にコマンドデータを破棄する。
【００７２】
ペイロードのタイプを検出する前にコマンドデータであると識別されるデータを破棄することにより、デスクランブルの処理速度が増加し得ることが分かった。コマンドデータはまた、選択的に破棄され得、例えば、データの前半のコマンドデータのいくつか、または、特定タイプのコマンドデータが破棄され、いくつかのコマンドデータが保持される。
【００７３】
一実施形態は、１または複数の被テストデバイスの自動試験のための方法を含み、当該方法は、ポート処理ユニットを被テストデバイスの少なくとも１つに接続する高速入出力（ＨＳＩＯ）インタフェースを介してデータを受信段階と、接続された被テストデバイスから受信されたデータをメモリに格納する段階と、メモリに格納された、受信されたデータにおけるコマンドエラーを検出する段階と、コマンドエラーの検出に応答して、受信されたデータにおいて、エラーとして検出されたコマンドの後に続くデータがメモリに格納されることを限定する段階とを含む。
【００７４】
この方法は、上記の自動試験装置と同一の想定に基づく。しかしながら、当該方法はまた、自動試験装置に関連する、本明細書に記載の特徴、機能、詳細のいずれかによって補完され得ることに留意すべきである。更に、当該方法は、個別に、および、組み合わせの両方で、自動試験装置の特徴、機能、および詳細によって補完され得る。
【００７５】
本発明による一実施形態は、コンピュータプログラムがコンピュータ上で実行するとき、本明細書に記載の方法を実行するコンピュータプログラムを作成する。
【図面の簡単な説明】
【００７６】
以下では、添付の図を参照しながら、本発明による実施形態を説明する。
【００７７】
【図１】本発明の一実施形態による自動試験装置のブロック概略図を示す。
【００７８】
【図２】被テストデバイスが不良であることを示すデータ構造のブロック概略図を示す。
【００７９】
【図３】コマンドフラグに関するデータフローおよびデータ構造のブロック概略図を示す。
【００８０】
【図４】データフローを含む本発明の別の実施形態による例示的自動試験装置のブロック概略図を示す。
【００８１】
図において、同様の参照符号は、同様の要素および特徴を示す。
【発明を実施するための形態】
【００８２】
図１は、本発明の一実施形態による自動試験装置１００のブロック概略図を示す。自動試験装置（ＡＴＥ）は、１または複数の被テストデバイス（ＤＵＴ）１３０をテストするためのものである。自動試験装置１００は、少なくとも１つのポート処理ユニット、メモリ１４０を含むＰＰＵ１１０、１または複数の被テストデバイス１３０に接続するための高速入出力（ＨＳＩＯ）インタフェース１２０を含む。代替的に、ＰＰＵ１００は、ＰＰＵに接続される各被テストデバイス１３０専用ＨＳＩＯインタフェース１２０を介して結合されるように、１つより多くのＨＳＩＯインタフェース１２０を含み得る。
【００８３】
ＤＵＴは、例えば、様々な手段でそれらにテストデータを提供し、それらからテスト結果を受信することによってテストされる。ＰＰＵは、ＡＴＥ内のエンティティから、または、ＡＴＥの外部、例えばデータ格納部（図示せず）から、このテストデータを受信し得る。ＰＰＵは次に、受信されたデータをメモリに格納し、１または複数のＨＳＩＯインタフェースを介してデータをＤＵＴに提供し得る。
【００８４】
被テストデバイスのテストでは、ＡＴＥとＤＵＴとの間で両方の方向のデータ伝送が必要である。これらの伝送の一部はＨＳＩＯを介して送信される。
【００８５】
ポート処理ユニット１１０は更に、１または複数のＤＵＴ１３０から受信されたデータにおけるコマンドエラーを検出するためのストリーミングエラー検出ブロック１５０を含む。 
【００８６】
受信されたデータは、コマンドシーケンスおよびペイロードを含む。ＤＵＴから受信されたデータは、ＤＵＴ１３０に対するテストの結果である結果データを含む。ストリーミングエラー検出ブロックが、受信された結果データのコマンドシーケンスにおけるエラーを検出する場合、１つの可能性は、テストに問題があり、したがって、結果データの格納が有用ではないことがあり得る。したがって、メモリ空間を節約するべく、ＰＰＵは、結果データの格納を、エラーのあるコマンドシーケンスに限定し得る。
【００８７】
なお更に、ＰＰＵはまた、例えば不良解析のために保存された限定されたデータも格納し、更なる処理の対象外と得る。ここで、更なる処理とは、いずれのエラーも含まないデータに対して実行される手順段階、例えば、被テストデバイスがテストに合格したかどうかを決定できるように、受信されたデータを予期データと比較することを指す。
【００８８】
特定のデータ、例えば、エラーのあるコマンドを伴うデータの場合、そのような比較は、意味のある何らかの結果を生み出さず、したがって、限定されている場合でも、エラーのあるコマンドの後に格納されるデータを対象外にすることは、ＰＰＵの全体的な性能にとって、ひいては、ＡＴＥにとって有益であり得る。
【００８９】
エラーのあるコマンドの後に格納されるデータの限定（すなわち、格納されるデータの量を示す）は、固定値、可変値、または動的値として定義され得る。すべてのエラーについて同一の量のデータを格納し、それにより、解析のために格納する、問題のあるコマンドに続くデータの固定量を定義することは有用であり得る。他方、量は可変値としても定義され得る。このことは、特定のパラメータに応じて、エラーのあるコマンドが発生するたびに、エラーのあるコマンドに続く、格納されるデータ量が異なることとして定義され得る。そのようなパラメータの例は、例えば、エラーのタイプ、すなわち、論理エラー（データにおける不正な位置にコマンドがある）、伝送エラー（受信されたコマンドの送信に問題がある）、データミスマッチ（ペイロードがコマンドに一致しない）、チェックサムエラー（コマンドおよび／またはペイロードは、送信された正確でないチェックサム（または他の完全性チェック）を有する）、または、任意の他の周知のエラータイプであり得る。そのようなパラメータの別の例は、被テストデバイスの種類、および／または、ＡＴＥの種類である。他のパラメータは、関与するデバイスに直接関連し得、例えば、温度、使用統計、メモリステータス、利用可能なメモリ、利用可能なＣＰＵなどである。他のパラメータは、ペイロードを、更には、ペイロードがコマンドに完全に従うかどうか、現在の時間、伝送時間、受信時間、伝送期間などを指し得る。また、上のパラメータに基づいて経時的に変化し得る動的値が使用され得る。
【００９０】
上記のように、ストリーミングエラー検出ブロックは更に、被テストデバイス（ＤＵＴ）の正確な機能を検証するべく、受信されたデータを、予めロードされた予期データと比較し得る。したがって、いわゆる予期データは、ＡＴＥにおいて準備され、予めロードされ得る。受信データは次に、予期データと比較され得、そして、デバイスの正確な機能が決定され得る。受信データとは、スキャンチェーンからのデータ、コマンド、および／またはペイロードデータを指し得る。
【００９１】
ストリーミングエラー検出ブロックはまた、受信されたデータにおけるペイロードデータエラーを検出し得、受信されたデータにおけるエラーの検出に応答して、選択的にデータをメモリに格納する。ここでも、問題のあるデータ、例えば、ここではペイロードデータを格納することは無駄であり得るので、メモリ空間を節約するべく、ペイロードにおけるエラーが検出され得、その格納は回避される。それにより、コマンドが正確である場合においても、ペイロードがエラーを含む場合、メモリ使用が低減され得る。「選択的に」とは、エラーおよび／またはペイロードまたは他のパラメータに応じて、データがまったく格納されないことも意味し得る。
【００９２】
予期データはまた、マスクデータ、すなわち、特定の使用について、受信されたデータのどのビットが関連するか、および／または、受信されたデータのどのビットが関連しないかを定義するデータを含み得る。マスクデータを使用することで、ＡＴＥは、よりインテリジェントにデータを処理することが可能になり得る。例として、予期データは、特定のテスト手順について、受信データが３つのブロックのデータを含むことを示すマスクデータ、適切なテストを示すコマンド、ＤＵＴによって生成された結果データ、および、結果を生成するためにＤＵＴによって使用されたシードデータを含み得る。ＡＴＥはＤＵＴにシードを供給するので、シードの格納は、テストに応じて、必要ないことがあり得る。また、結果データを選択的に格納することによって、追加のメモリ空間を節約できる。
【００９３】
受信されたデータは、バイトの決定的ストリーミングとして、または、非決定的方式で受信され得る。受信されたデータが、決定的ストリーミングとして受信される場合、受信されたデータおよび予めロードされた予期データは、予めロードされた予期データの順番で比較される。代替的に、受信されたデータは、アドレス情報に関連するデータとして受信され得る。そのようなアドレス情報は、ダイレクトメモリアクセス（ＤＭＡ）によってアドレス指定されるデータを参照し得る。その場合、受信されたデータは、アドレス情報に対応するメモリアドレスにおける予期データと比較され、メモリアドレスは、予期データを格納するメモリのアドレスである。予め定められた順番のデータストリーム、いわゆる決定的データストリームとして受信されたデータがＡＴＥに提供される場合、予期データは直列に処理され得る。
【００９４】
受信データが非決定的な方式で、例えば、ダイレクトメモリアクセス（ＤＭＡ）アドレス指定などのメモリアドレスによって提供される場合、受信データは、受信データによって提供され得るが、予期データによって提供され得る、または、予め定められてもよいアドレス情報によって示されるメモリアドレスにおける対応するデータにアクセスすることによって、予期データと比較され得る。
【００９５】
予期データはまた、例えば、接続された１または複数のデバイスに関連する、デバイスごとの先入れ先出し（ＦＩＦＯ）メモリ、または、管理キャッシュに予めロードされ得る。それにより、予期データは、受信されたデータとのより迅速な比較の準備のために保持され得る。最初に予めロードされた（先入れ）データがまた、最初に比較され、そして、ＦＩＦＯから最初に破棄（先出し）され得るように、受信データが特定の順序であることが予期される場合、このことは特に有益である。この使用では、予期データの一部のみ、いわゆる予期データのウィンドウが予めロードされ得る。
【００９６】
代替的に、１つより多くのＤＵＴに関連し得る、管理キャッシュが、予期データ、または、予期データのウィンドウを予めロードし、次に、１つより多くのＤＵＴからの受信データと比較するために使用され得る。それにより、予期データは、全部のデバイスについて、繰り返しロード、または、予めロードされる必要がない。
【００９７】
予期データは、ＰＰＵ１１０に接続されたデータ格納部（図示せず）からロードされ得る。ＰＰＵはまた、デイジーチェーンの形態で互いに接続され得る。データ格納部は、共有メモリプールであり得る、または、それを含み得る。そしてＰＰＵ１１０は、データ格納部から直接的にデータを受信し得る。データ格納部は、ＡＴＥ１００の内部要素であり得るが、ＡＴＥ１００の外部の関連要素でもあり得る。ＰＰＵは、データ格納部および／または共有メモリプールのそれぞれから、共有され得るデータを受信する。
【００９８】
データはポート処理ユニットの間で共有され得る。このことは、複数のポート処理ユニットの間で共有されるデータはデータ格納部からＰＰＵによって受信され得ることを意味する。
【００９９】
データ格納部は、ポート処理ユニット１１０のうち１または複数に共有データをストリーミングし得、データ格納部は、デバイスごとに、すなわちＤＵＴごとに、結果データ、例えば結果または結果ストリームを複数のメモリ領域に格納し得る。特に、これらのメモリ領域は、機能的におよび／または技術的に異なり得る。それにより、ＰＰＵは、結果をデータ格納部に提供する。ＤＵＴごとの結果データのデータレートは互いに異なり得る、例えば、別の結果または結果ストリームのデータレートより小さい（例えば、少なくとも１０倍）ので、特定の特徴に応じて結果を異なるメモリ領域に格納することは有益であり得る。また、結果を格納するのに必要なボリュームおよび帯域幅は、共有刺激データより大幅に小さい。したがって、これらも、異なるメモリ領域に格納され得る。
【０１００】
ポート処理ユニット（ＰＰＵ）１１０は更に、共有メモリプールから、少なくとも１つの他のポート処理ユニットへ共有データを転送し得る。ＰＰＵが互いに、または、少なくとも１つの他のＰＰＵに接続される実施形態において、ＰＰＵは、他のＰＰＵ、または、少なくとも１つの他のＰＰＵへデータを転送し得る。それにより、ＰＰＵからデータ格納部へのメモリアクセス、すなわち読み出しおよび書き込みが低減される。
【０１０１】
同様に、ＰＰＵ１１０は、少なくとも１つの他のポート処理ユニットからの共有メモリプールから共有データを受信し得る。ＰＰＵが互いに、または、少なくとも１つの他のＰＰＵに接続される実施形態において、ＰＰＵは、他のＰＰＵ、または、少なくとも１つの他のＰＰＵからデータを受信し得る。それにより、ＰＰＵからデータ格納部１５０へのメモリアクセス、すなわち読み出しおよび書き込みも低減される。
【０１０２】
上で詳述されたＰＰＵの接続の特定の形態は、一連のＰＰＵが実現されるように、各ＰＰＵが２つの他のＰＰＵに接続されるデイジーチェーンであり、第１のＰＰＵがデータ格納部に接続される。
【０１０３】
例えば、メッシュ、スター、完全接続、直線、ツリー、バスなど、他のトポロジーも可能である。第１および最後のＰＰＵはまた、リングが形成されるように互いに接続され得るが、それらはまた、一連のＰＰＵが形成されるように、互いに接続されないことがあり得る（真のデイジーチェーン）。各ＰＰＵはデータ格納部に接続され得る。
【０１０４】
代替的に、データ格納部とＰＰＵとの間に、メモリハブ（図示せず）が含まれ得る。データ格納部は、共有データをメモリハブへストリーミングし得、そこから、共有データはＰＰＵ１１０へ送信され得る。メモリハブは、ＡＴＥ１００の全体的な効率を強化し得る。
【０１０５】
ＰＰＵ１１０は共有データをメモリハブから受信し得る。また、メモリハブが１つより多くのＰＰＵ１１０に共有データを提供する場合、中央メモリハブとみなされ得る。上記のような他のトポロジーも可能である。
【０１０６】
また、ＦＩＦＯまたは管理キャッシュメモリは、使用、例えば、関連する接続されたＤＵＴからの受信データとの比較をトラッキングし、使用された、すなわち、比較されたデータ、または、別の理由からそれ以上保持する必要がないデータを破棄し得る。
【０１０７】
ＡＴＥは、データ使用のトラッキングに基づいて、特定の被テストデバイスがデータストリームに従わないという検知に応答して、特定の被テストデバイスを不良として認識し得る。すなわち、特定の被テストデバイスがデータを徐々に提供することによって、特定の被テストデバイスに関連する管理キャッシュにおける予期データが、他の被テストデバイスに関連する対応する予期データより遥かに長く未使用のままである場合、ＤＵＴは不良として認識され得る。 
【０１０８】
管理キャッシュのケースにおいて、対応する保持された予期データのみが、複数のＤＵＴのうち１つのメモリに保持される場合、効率は著しく影響を受け得る。特定の予期データが保持されるＤＵＴを不良とみなすことにより、予期データは管理キャッシュから破棄され、全体的な効率が改善し得る。また、受信データが特定のデータストリームまたはパターンに従うことが予期され、ＤＵＴがそのデータストリームまたはパターンで受信データを配信しない場合、不良とみなされ得る。
【０１０９】
これは、図２においても示される。ここで、データ要素ｄｘからｄｘ＋７は、上記で詳述されるように、データ格納部またはメモリハブに格納される予期データである。対応する３つの要素は、ＰＰＵのメモリ１４０に予めロードされ、比較のために利用可能な状態でそこに保持される。
【０１１０】
それぞれの時点ｔｎ、ｔｎ＋１、ｔｎ＋２、およびｔｎ＋３において、これらはそれぞれ、ｄｘ＋１、ｄｘ＋２、およびｄｘ＋３；ｄｘ＋２、ｄｘ＋３、およびｄｘ＋４；ｄｘ＋３、ｄｘ＋４およびｄｘ＋５；ｄｘ＋４、ｄｘ＋５およびｄｘ＋６である。
【０１１１】
ｔ＝ｔｎでは、ＰＰＵ１１０  ｄｘ＋１、ｄｘ＋２、ｄｘ＋３がローカルメモリ１４０において比較のために利用可能である。ＰＰＵ１１０はまた、ＤＵＴ１３０のうちの２つであるＤＵＴＡおよびＤＵＴＢからｄｘ＋３を受信する。 
【０１１２】
次に、ｄｘ＋１はメモリから破棄され、ｄｘ＋４は、メモリ１４０の現在利用可能なメモリ空間にロードされる。ＰＰＵ１１０は現在、メモリ１４０においてｄｘ＋２、ｄｘ＋３、およびｄｘ＋４を有する。ｔ＝ｔｎ＋１では、ＤＵＴＢはｄｘ＋４を送信するが、ＤＵＴＡはなおｄｘ＋３を送信している。
【０１１３】
次に、ｄｘ＋２はメモリから破棄され、ｄｘ＋５は、メモリ１４０の現在利用可能なメモリ空間にロードされる。ＰＰＵ１１０は現在、メモリ１４０においてｄｘ＋３、ｄｘ＋４、およびｄｘ＋５を有する。ｔ＝ｔｎ＋２では、ＤＵＴＢはｄｘ＋５を送信するが、ＤＵＴＡはなおｄｘ＋３を送信している。 
【０１１４】
次に、ｄｘ＋３はメモリから破棄され、ｄｘ＋６は、メモリ１４０の現在利用可能なメモリ空間にロードされる。ＰＰＵ１１０は現在、メモリ１４０においてｄｘ＋４、ｄｘ＋５、およびｄｘ＋６を有する。ｔ＝ｔｎ＋３では、ＤＵＴＢはｄｘ＋６を送信するが、ＤＵＴＡはなおｄｘ＋３を送信している。ＤＵＴＡの伝送は、ｄｘ＋３を再ロードすることなく、それ以上比較できないので、代替的に、１つより多くのデバイスであり得るＤＵＴＢの進行が遅延されないように、ＤＵＴＡは不良とみなされ得る。
【０１１５】
概要に詳述されるように、データはまた、圧縮形式で格納され得る。当然、これは全部のメモリおよび全部のデータを指す。圧縮は動的に調整され得る。例えば、予期されるエラー分布に一致させるためである。
【０１１６】
ＡＴＥはまた、上で説明されるように、受信データストリームの近くに不良が発生する可能性がある受信データを維持し得る。
【０１１７】
ストリーミングエラー検出ブロックは更に、不良の解析に関連する統計情報を格納し得る。
【０１１８】
ＡＴＥは更に、異常の存在を示すべく、被テストデバイスがコマンドシーケンスを中断したことを検知したこと（これはＤＵＴが意図的に行うことができる）に応答して、例えば、異常の検出に応答して、コマンドエラーを検出し得る。そのような異常は、ＤＵＴのテストに基づき得るが、ＡＴＥにも基づき得る。
【０１１９】
また、ＡＴＥは、いくつかの他の理由から、例えば、典型的にはペイロードの全部を無効にするＨＳＩＯ  ＤＦＴの不良に起因して、コマンドシーケンスが中断されたことを検知し得る。
【０１２０】
予期データは、対応する受信データビットがコマンドか、またはペイロードデータかを示すコマンド予期データビットを含み得、それにより、エラーの決定、および、受信データのための処理要件を促進する。予期データは例えば、コマンドフラグデータを含み得る。更に、予期データは、受信データのどのビットがコマンドビットであると予期されるかを示すマスクデータを含み得る。そのようなコマンドフラグ構造（ここで、マスクはコマンドフラグメモリ３８０に示される）は、図３に示される。ここで、それは個別のメモリとして示されるが、上で説明したように、例えばデータ格納部３５０であり得る、またはそれから構成される予期応答メモリ３５０に格納される予期データの一部でもあり得る。ＤＵＴ３３０からのデータ出力に一致するコマンドフラグメモリにおいて、値１は、出力データの対応するビットがコマンドの一部であることを示す。値０は、出力データの対応するビットが、コマンドの一部でなく、したがって、例えばペイロードであることを示す。特定の場合において、値１はまた、単に非ペイロードデータを示すために使用され得、したがって、ＩＤＬＥコマンドに使用されるブロックは、コマンド自体のためのコマンドフラグメモリにおいて値１の対応するビット（すなわち、最初の４ビット）、および、コマンドでもペイロードでもない続く８ビットを有する。 
【０１２１】
更に、ＡＴＥは、コマンドエラーの検出に応答して、コマンドエラーフラグを設定し得る。これにより、予期しない処理の問題の検出が高速化される。 
【０１２２】
ＡＴＥ１００において、マッピング情報は更に、例えばメモリ１４０に格納され得る。格納されたデータのオフセットを直接参照するエラー情報を取得するべく、ポート処理ユニット１１０は、マッピング情報に基づいてデータをデスクランブルし得る。このマッピング情報は、テストの結果をデスクランブルするために使用される情報であり得る。すなわち、１または複数のテストの結果データとみなされる、ＤＵＴから返されたデータは、デスクランブルされ得る。
【０１２３】
データの例は、例えば、ＨＳＩＯの低レベルペイロードデータである。デスクランブルすることにより、エラー情報、例えば、格納されたデータのオフセットを直接参照するエラーマップが取得され得る。それにより、発生したエラーは、より少ない労力で識別され、後に取得され得る。ブロックＩＯの文脈における一例として、エラー情報は、スキャンチェーンのオフセットを参照する。
【０１２４】
しかしながら、マッピング情報は、メモリ１４０に直接格納される必要がなく、コマンド予期データの一部であり得る。また、マッピング情報は、各被テストデバイス１３０について異なり得、正確なマッピング情報を使用するべく、ポート処理ユニット１１０はデスクランブルの前にペイロードタイプを検出する。
【０１２５】
マッピング情報は、様々な理由から、被テストデバイスに応じて異なり得る。例えば、エラー情報を取得するための対応するマッピング情報がＤＵＴに適用される場合、結果データのマッピングおよびデスクランブルは、異なるＤＵＴ、例えば、異なるＳＯＣブロックについて最適化され得る。更に、ＡＴＥ、すなわちＰＰＵが、デスクランブルの前に、コマンドのブロックインデックスに格納され得るが追加の情報なくＡＴＥによっても決定され得るペイロードタイプを検出する場合、有益である。なぜなら、結果のエラー情報、すなわち、エラーマップは、ペイロードタイプに応じて取得され得るので、この点、例えば、ペイロードにおける各ビットがスキャンチェーンにどのようにマッピングするかなどに関して最適化され得るからである。これは、ペイロードの長いバーストについて繰り返される可能性があり得る。
【０１２６】
例えば、ペイロードのみが更に処理される必要があると決定、または予め設定されている場合、ＰＰＵ１１０は更に、ペイロードタイプを検出する前にコマンドデータを破棄し得、次に、ペイロードのタイプを検出する前にコマンドデータであると識別されたデータを破棄することにより、デスクランブルの処理速度が増加し得る。コマンドデータはまた、選択的に破棄され得、例えば、データの前半のコマンドデータのいくつか、または、特定タイプのコマンドデータが破棄され、いくつかのコマンドデータが保持される。
【０１２７】
ＡＴＥ１００任意で、本明細書に記載の特徴、機能および詳細のいずれか（個別および組み合わせの両方）によって補完され得ることに留意されたい。
【０１２８】
一実施形態は、１または複数の被テストデバイスの自動試験のための方法を含み、当該方法は、ポート処理ユニットを被テストデバイスの少なくとも１つに接続する高速入出力（ＨＳＩＯ）インタフェースを介してデータを受信段階と、接続された被テストデバイスから受信されたデータをメモリに格納する段階と、メモリに格納された、受信されたデータにおけるコマンドエラーを検出する段階と、コマンドエラーの検出に応答して、受信されたデータにおいて、エラーとして検出されたコマンドの後に続くデータがメモリに格納されることを限定する段階とを含む。
【０１２９】
この方法は、上記の自動試験装置と同一の想定に基づく。しかしながら、当該方法はまた、自動試験装置に関連する、本明細書に記載の特徴、機能、詳細のいずれかによって補完され得ることに留意すべきである。更に、当該方法は、個別に、および、組み合わせの両方で、自動試験装置の特徴、機能、および詳細によって補完され得る。
【０１３０】
本発明による一実施形態は、コンピュータプログラムがコンピュータ上で動作するとき、本明細書に記載の方法を実行するコンピュータプログラムを作成する。
［詳細および実施形態］
【０１３１】
以下において、本発明の基本的ないくつかの考慮事項が説明され、いくつかの解決手段が記載される。特に、複数の詳細が開示され、これは、本明細書に開示される実施形態のいずれかに任意で導入され得る。
［動機］
【０１３２】
構造テストは、システムオンチップ（ＳＯＣ）内のデジタルブロックの複雑な機能を実装する個別の構造（セル）の系統的テストカバレッジを可能にする。構造テストは、これらに限定されないが、メモリＢＩＳＴ、ロジックＢＩＳＴ（パターンがオンチップで生成される）、およびスキャンテスト（パターンが外部から提供される）を含む、様々なテスト方法を含む。ブロックをテストするために個別テストが組み合わされる。例えば、スキャンテストが階層的に（直列または並列に）ブロックに適用される。
【０１３３】
高度な構造テスト方法は、外部から提供されるテストデータ（ＡＴＥ（自動試験装置）からの刺激）、および、外部から提供されるテストデータ（シード）を拡大するＤＦＴ（オンチップテスト用デバイス）の組み合わせをスキャンチェーンに適用する。テストデータの量を低減するために、テスト結果は縮小化および圧縮され、ＡＴＥが予期データ（受信データをマスクする能力を含む）と比較するＳＯＣの一次ＩＯ（受信データ）に提供される。
【０１３４】
以下の提案される解決手段の適用は、上述のように、構造テストの一般的な表現であるスキャンテストを指すが、これに限定されない。
【０１３５】
しかしながら、新しい作製処理によって可能となるＳＯＣの複雑性の増加により、スキャンテストを費用効果が高い方法でスケーリングすることには課題がある。
・ＡＴＥに格納する必要があるテストデータの量の増大
・ＳＯＣ  ＩＯを通じてテストデータを供給するテスト時間の増大
・被テストブロックへのテストデータの配布および必要なクロック信号の作成を困難にするオンチップの複雑性の増加
【０１３６】
加えて、ＳＯＣが最終用途、例えば、自動車または通信インフラストラクチャシステムに配備されるとき、複雑なＳＯＣの品質および信頼性の予期は、構造テストを必要とする。
【０１３７】
これらの課題に対するいくつかの可能な解決手段は以下を含む。
・機能性高速Ｉ／Ｏインタフェースを通じた、例えば、ＵＳＢまたはＰＣＩｅを通じたテストデータ配信。  このことは以下につながる。
・データレートの増加を可能にする
・最終用途における構造テストを可能にする
・ＡＴＥおよびＤＵＴ（被テストデバイス）上のタイミングをデカップリングする必要がある（ＨＳＩＯデータ通信では典型的）。いかなる正確なタイミング同期も、ＤＵＴとＡＴＥまたは他の補助装置（例えばオシロスコープ）との間の、タイミングに制約のある信号を必要とする。
・高度なオンチップテストデータ処理、テストスケジュール、および、被テストブロックとのテストデータ通信
・提案される典型的な要素
ＡＴＥとＨＳＩＯ‐ＤＦＴとの間の通信プロトコル、例えば１１４９．１０
ネットワークオンチップ（ＮＯＣ）を使用して、テストデータを、テストアプリケーションを管理するローカルＤＦＴへ柔軟にルーティングする
複数のブロックについての、柔軟な直列または並列のテストスケジュールを
・これは以下につながる。
ＤＵＴとの間のテストデータ伝達を有効にスケジューリングする複雑なインタラクションを必要とする
新しいレベルの制御を提供するテストポートで伝達される、より高いレベルの通信（セマンティクス）を可能にする：例えば、
・意思決定および歩留り習熟を容易にする前処理結果を提供するＤＦＴ
・ＡＴＥのパワーを制御するＤＦＴ
［態様１：多サイトデータ共有、データストリーミング、データ処理のための解決手段］
【０１３８】
課題：並行してテストされる複数のサイトでテストデータを共有するテストデータ量需要の増大
・様々な種類のデータが共有され、共有データストレージからＤＵＴインタフェース（「ポート」）またはサイトごとの処理ユニットへストリーミングされる必要があり得る。  共有され得るデータは、以下を含むが、これらに限定されない。
ドライブデータ（刺激）
予期データ（予期データと共に、または、個別のメモリ領域に格納されるマスクデータを含む）
後処理結果に必要な補助データ
・データフローは、ＨＳＩＯデータレートに合わせて、結果としてのサイトごとのテストデータ伝達への影響を最小限に抑える必要がある。
・理想的には、データストレージは、ＡＴＥのポート処理ユニットとのインタフェースである全部のサイトで共有され得る。しかしながら、これは、非常に複雑かつ高価なデータインタフェースにつながる。適切なアーキテクチャは、テスト実行の影響無く、共有を最大化することが分かる必要がある。
・サイトごとのデータは共有できないこれらは以下を含む。
ＤＵＴからの受信データ
受信データを予期データと比較した後に格納される結果
サイトごとのテスト条件：例えば、実際のテストデータ伝達のプリアンブルとしてＤＵＴに通信されるＤＵＴ固有オンチップセットアップ
【０１３９】
解決手段
【０１４０】
図４は、例示的データフローを示す。しかしながら、それは単に、単一のサイトを表し、データ格納部を１または複数のポート処理ユニット（ＰＰＵ）から区別しない。
【０１４１】
解決手段のコンポーネント
１．データ格納部：
・メモリの大きい共有プールを実装するＡＴＥハードウェア上のメモリサブシステム
・典型的には、利用可能な最速のコモディティＲＡＭとして実装される
・共有データをポート処理ユニットへストリーミングするために使用される。帯域幅利用を最小化するべく、多サイトテスト実行で共有されるデータは好ましくは、ＰＰＵまたはメモリハブのいずれかによって、１回のみ読み出される。
・ＤＵＴごとの結果ストリームを制御メモリ領域に格納するために使用される。結果を格納するのに必要なボリュームおよび帯域幅は好ましくは、共有刺激データの場合より大幅に小さい。
・ＡＴＥカード上には、１または複数のデータ格納部があり得る。各データ格納部は、データフローアーキテクチャの複製を必要とする。
２．ＰＰＵ‐ポート処理ユニット
・１または多くのＤＵＴとのインタフェース
・ＤＵＴのためのＨＳＩＯ、デバッグおよび制御ポートを実装する
・データをデータ格納部から直接、または、別のＰＰＵ（デイジーチェーン）もしくは中央メモリハブから転送されたものを受信する
・バッファリング（ＦＩＦＯ）およびキャッシュを使用して、データソースへのリードアクセスを最小化する
・それぞれの遅いサイトについて、効率的に不良を処理する。例えば、ユーザは最大の処理の相違を指定し得る。受信後にこの数より多く落ちる場合、デバイスに不良が生じていることを示す。
・共有データを１または複数の他のＰＰＵへ転送し得る
・予期データと受信データとのＤＵＴごとの比較を実装し、ＤＵＴごとの不良データを計算する
・不良データをデータ格納部へ（場合によっては別のＰＰＵまたはメモリハブを通じて）送信する
３．メモリハブ（任意）：
・スターアーキテクチャを実装するのに使用される
・各ＰＰＵにデータインタフェースを提供する
・バッファリング（ＦＩＦＯ）およびキャッシュを使用して、データ格納部への読み出しアクセスを最小化する
４．結果データ格納部（任意）
・以下の理由から、結果のための独立のデータ格納部が各ＰＰＵに、または、一元的にメモリハブに取り付けられ得る
・共有データをＰＰＵにストリーミングするために使用される独立のインタフェースであるメモリインタフェースを提供する
・次のテスト実行に干渉することなく、後処理またはアップロードのために、結果データにアクセスするためのメモリインタフェースを提供する。
態様２：ストリーミングエラー検出および不良圧縮のための解決手段
【０１４２】
課題：従来のＡＴＥは、リアルタイムで構造テストからの一次出力をサンプリングし、それを予期データ（を含む）マスキングと比較する。この処理は、テストデータの決定的なサイクリックＩ／Ｏによって可能になる。
【０１４３】
しかしながら、ＨＳＩＯを通じたスキャンテストは、本質的に、非決定的であり、バーストされる。また、スキャン出力は、プロトコルスタックにおけるペイロードデータである。すなわち、スキャンチェーンとの間で行き来するデータは、コマンドで「タグ付け」された一連のペイロードにスクランブリングされる。ＵＳＢ受信データ（コマンドおよびペイロード）は、処理される前にメモリに格納される。例えば、予期データと比較される。
【０１４４】
この手法は２つの問題がある。
１．受信データを格納し、それを更に読み出し、別のメモリ場所に格納された予期データと比較するために、データ処理は、大きいメモリ帯域幅要件を有する。これは、複数のデバイスを並行してテストすることによって更に増大する。
２．スキャンパターンが不良であるかどうかの決定は、ＵＳＢパケットを通じて受信されるデータの後処理に基づく。最悪の場合、受信データと予期データとの比較が、全体の実行時間を占める。すなわち、ＨＳＩＯを通じたデータストリーミングより長くかかる。
【０１４５】
解決手段
【０１４６】
ポート処理ユニットに組み込まれたストリーミングエラー検出ブロックは、受信したばかりのスキャンデータを予めロードされた予期データと比較することにより、実際のエラーが検出されたときのみメモリに書き込む。予期データはマスクデータを含み得ることに留意されたい。
【０１４７】
詳細
１．上述のデータストリーミングアーキテクチャを使用して、ポート処理ユニットは、受信データパケットと比較するために利用可能な予期データのウィンドウを維持する。
予期データは、データを破棄する前の全部のアクティブなサイトによるデータの使用をトラッキングするサイトごとのＦＩＦＯまたは管理キャッシュに予めロードされる。これにより、（場合によっては、各サイトについて繰り返し）大きいデータ格納部から予期データを読み出すことを回避する。
デバイスがデータストリームに従わない場合、ＰＰＵは、例外を発生させ、そのサイトが不良であると宣言し、利用可能なエラーデータのみを格納し得る。
２．ＨＳＩＯ上でスキャンデータを受信すると、ポート処理ユニットは、受信データを「一致」する予めロードされた予期データとを比較する。
バイトの決定的なストリームとしてのＨＳＩＯ通信の場合では、「一致」とは、予めロードされた予期データの順序で受信データを比較することを指す。
受信データのＤＭＡ伝達の場合、ＰＰＵは、予期データにおけるバイトオフセットと共に書き込まれた受信データのバイトオフセットと一致する。バイトオフセットは、メモリアドレスのように機能する。
３．要求されるデータボリュームおよびメモリインタフェース帯域幅を最小化するべく、エラー情報は圧縮形式でストリーミングされる。標準的データ圧縮（例えば、不良ビットのランレングス符号化）以外に、ストリーミングエラー検出ブロックは、（例えば、従来のＡＴＥによっても配信されるような）テスト固有の形式を実装し得る。
予期されるエラー分布と一致するよう、圧縮は動的に調整され得る。例えば、レジスタ値が誤っている場合、受信データは、エラーのショートバーストにつながるレジスタ値を含み得る。エラーバーストが開始し、エラーのワードが１つのレジスタ値に及ぶとき、これは、バイトオフセットと共にヘッダによって有効に格納され得る。ＵＳＢ‐ＤＦＴが、シリアルＵＳＢ受信データストリームの近くに不良である可能性がある受信データを維持する場合、結果データの圧縮は改善され得る。ＵＳＢ‐ＤＦＴは、シリアルビットの小さい領域においてストリーミングするために関連するビットをバッファリングし得る。例えば、複数のスキャンチェーンで受信されたＭＩＳＲレジスタの値をバッファリングし得る。  このレジスタが不良である場合、多くのビットが反転し、したがって、不良ビットのバーストが、全体的な受信ストリーム内の開始点の単一のオフセット値と共に格納され得る（上記段落を参照）。同様に、ＵＳＢ‐ＤＦＴは、個別のスキャンチェーンからのデータをバッファリングおよびバーストアウトし得る。また、ＵＳＢ‐ＤＦＴは、バッファされた複数のスキャンチェーンから来る単一のブロックの結果を維持し、別のブロックの結果から個別にバーストアウトし得る。
個別のエラー情報以外に、ストリーミングエラー検出ブロックは、不良の解析に関連する統計を格納する。例えば、不良の総数をカウントし、第１の不良サイクルのバイトオフセットを格納する。
４．スキャンオーバーＨＳＩＯの結果処理の独自の特徴は、エラーが、スキャン出力データペイロードにおいて発生するだけでなく、コマンドコードにおいても発生し得ることである。例：
ａ．ＨＳＩＯスキャンＤＦＴが、コマンドシーケンスを中断することによって通信するという異常に気付いた。
ｂ．ＨＳＩＯスキャンＤＦＴ自体が中断されており、典型的には、ペイロード全部が無効になる。
これの解決手段は、一致する受信データビットがコマンド：コマンド‐フラグデータであるかどうかを各ビットが説明する、追加の予期データセットを格納することである。
エラーがコマンドにおいて検出されるたびに、「コマンドエラー」フラグが発生して結果を評価し、予期しない処理の課題の検出を高速化する。そのようなエラーが発生するたびに、ストリーミングエラー検出ブロックは、無駄なストレージおよびランダムなペイロードデータを最小限に抑える、または、場合によっては、続くビットを、ＨＳＩＯスキャンＤＦＴブロックの状態についての情報ペイロードとして捕捉するためのモードに切り替わり得る。
５．発生したエラーを効率的に検出し、結果を格納する以外に、ストリーミング結果処理は、結果を    デスクランブルし得る。それにより、エラーマップは、コマンド構造を有するシリアルＵＳＢストリームに梱包されたスキャンデータのビットオフセットに基づかず、ブロックＩＯのオフセット、例えば、スキャンチェーンにおけるオフセットを直接参照する。デスクランブルは、「アノテーション」のスキャンパターンで格納される必要があるマッピング情報を要求する。それは、テストされたＳＯＣブロックのスキャンＩＯに対して、本質的に関連しないコマンドデータを除外するために、コマンドフラグデータとマージされ得る。  更に、異なるＳＯＣブロックの受信データが通信されると、マッピング情報は異なり得る。したがって、正確なデスクランブルマップを適用する前に、デスクランブル処理は最初に、ペイロードタイプ（例えば、コマンドのブロックインデックスに格納される）を検出し得る。例えば、ペイロードマップにおける各ビットがどのようにスキャンチェーンにマッピングするか（場合によっては、ペイロードの長いバーストについて反復される）。
全体で、ストリーミングデスクランブルのフローは、有効な実装において順序付けられ得る３つのフェーズに分割され得る。
ａ．コマンドデータの破棄。
ｂ．ペイロードタイプの検出。このステージはまた、単一のコマンドフレームに符号化された、同一構造のペイロードの反復を処理し得る。
ｃ．適用可能なマッピングを有するペイロードのデスクランブル
［態様３：要求されるテストデータ量を削減するための解決手段］
【０１４８】
課題：テストデータ量が増大する。これは、メモリアクセスおよび多サイトデータストリーミングにおいて、ストレージ、および、要求される帯域幅に影響する。
【０１４９】
解決手段
【０１５０】
マスクデータおよびコマンドフラグデータは、受信データとの実際の比較の直前に、リアルタイム圧縮解除を可能にするアルゴリズムで圧縮され得る。
【０１５１】
マスクビットは珍しく、バーストする可能性がより高いはずなので、ランレングス符号化が有効であり得、復号が単純である。
【０１５２】
例えば、受信ワードがコマンドおよびペイロードビットに分割される場合、コマンドフラグデータは、ランレングス符号化され得る、または、アルゴリズムによって圧縮され得る。
態様４：シーケンシングコマンドの時間オーバーヘッドを削減するための解決手段
【０１５３】
課題：ＨＳＩＯスキャンテストは、例えば、ＨＳＩＯスキャン前のデバイスのセットアップ、ＨＳＩＯスキャンテストの間のテスト条件の変更、または、独立したＨＳＩＯスキャンパターンテストのバーストなど、他の動作に挟まれている。これら全部の場合において、動作のシーケンシャル実行はオーバーヘッドにつながる。
【０１５４】
典型的なＡＴＥにおいて、これは最小化される、または、完全に回避される。そのために、テストが中断無く継続し得るようにＦＩＦＯにおける以下の動作のテストデータを準備する。
【０１５５】
解決手段
【０１５６】
ＨＳＩＯスキャンを制御する動作は概して、高レベルのオペレーティングシステムにおけるソフトウェアスタックによるサポートを要求する。したがって、以下の動作のテストデータを準備することは、前のものが完了する前に、ＯＳレベルのアクティビティの並行した開始を要求する。これは、典型的には従来技術のオペレーティングシステム（例えばＬｉｎｕｘ（登録商標））によって利用可能なマルチスレッドによって行われ得る。しかしながら、ＤＵＴインタフェースのアクティビティは順番である必要がある。したがって、ＵＳＢデータの送信は、先の動作が完了するまで一時停止される必要がある。
【０１５７】
ＨＳＩＯスキャンデータ伝送の一時停止は、特定のＨＳＩＯポートのプロトコルスタックの干渉を要求する。例えば、ＰＣＩｅの場合、ＰＣＩｅは、準備されたフレームを開始できるまで、ＩＤＬＥの駆動を継続し得る。ＤＵＴからのＤＭＡアクセスの場合、ＰＣＩｅは完全に準備され得、先の動作が完了した後に、ＤＵＴがＤＭＡデータ伝達に関与するのを待機する。
【０１５８】
データ伝送の一時停止は、ＨＳＩＯ  ＩＰにおけるＨＳＩＯスタックの適切な変更を要求する。例えば、ＨＳＩＯは、伝送を準備する２つのパイプラインを有し得る。次の利用可能なスロットにおけるデータ伝送を解放するために、トリガが受信されるまで、毎回、それらの１つがアーム化／ゲート化（ａｒｍｅｄ／ｇａｔｅｄ）されたままである。トリガは、低レベルのソフトウェアコマンド、または、別の計器もしくは更にはＤＵＴ自体から受信される電気トリガのいずれかであり得る。
［態様５：テスト用セットアップ、テストデータ、および、テストデータフローがＨＳＩＯポートの詳細から結合解除した状態を維持するための解決手段］
【０１５９】
課題：ＨＳＩＯインタフェースは、異なるオペレーティングシステムで、様々なドライバで、様々な手段でプログラムされる。テスト装置がサポートする必要がある典型的なバリエーションは、これらに限定されないが、以下を含む。
・ＵＳＢ、ＰＣＩｅ、１１４９．１０または更にはプロプライエタリなインタフェースを含む様々なＨＳＩＯポート
・ホスト／ルートまたはエンドポイントとして動作するＨＳＩＯ
・ＡＴＥからデータを取り寄せるＤＵＴまたはＤＵＴ（ＤＭＡ）にテストデータをアクティブにストリーミングするＡＴＥ
・標準インタフェースを通じた、または、カスタムドライバを要求するＨＳＩＯ通信
【０１６０】
しかしながら、ＡＴＥおよびテストプログラムは、一般的で構成可能なテスト用セットアップおよびユースケースを可能にする必要がある。
【０１６１】
解決手段
【０１６２】
ＡＴＥの解決手段は、例えば、ＰＣＩｅエンドポイントから１１４９．１０テストインタフェースの、テストプログラムにおけるポートインタフェースを再構成することを可能にする。
【０１６３】
ＡＴＥソフトウェアは、１または複数のＨＳＩＯタイプに適用できる仮想「計器」によって可能となる、２またはより多くの汎用モデルをサポートする。例：
・プッシュモードストリーミング（ＵＳＢ、１１４９．１０に典型的）：ＡＴＥはアクティブに刺激データをＨＳＩＯ通信にプッシュする
・ＤＭＡモード（ＰＣＩｅに典型的）：ＤＵＴは、ＯＣＳＴメモリを、メモリ空間にマッピングし、それとの間でデータを読み出す
【０１６４】
顧客またはサードパーティが、プロプライエタリなインタフェースに従って標準ブロックを調整することを可能にするために、システム内にフックを追加する。例：
・選択されたユースモデル、例えばＤＭＡに従って、カスタムポートを実装するための標準インタフェースを定義する。
・歩留り習熟のために受信されたパッケージを解析するためにＯＣＳＴカード上で実行する効率的なカスタム／サードパーティコード。この場合、予期データは、直接的に比較可能な予期データではなく、サポート情報を含み得る。
・データをＨＳＩＯにプッシュする直前のＤＵＴごとの暗号化。
・ＤＭＡモードで結果を書き込むＤＵＴによって使用されるアドレスのサイトごとのマッピングを可能にする。これにより、各サイトのＤＭＡが同一である場合でも、物理的な受信メモリが別個であることを維持する。
［結論］
【０１６５】
結論として、本明細書に記載の実施形態は任意で、本明細書に記載の重要な点または態様のいずれかによって補完され得る。しかしながら、本明細書に記載の重要な点および態様は、個別に、または組み合わせて使用され得、個別に、および組み合わせの両方で、本明細書に記載の実施形態のいずれかに導入され得ることに留意されたい。
［代替的な実装］
【０１６６】
一部の態様は、機器の文脈で記載したが、これらの態様は対応する方法の記載も表すことは明らかである。ブロックまたはデバイスは、方法の段階または方法の段階の特徴に対応する。同様に、方法の段階の文脈において記載される態様はまた、対応する機器の対応するブロックまたは品目または特徴の記載を表す。方法の段階の一部または全部は、例えば、マイクロプロセッサ、プログラマブルコンピュータ、または電子回路など、ハードウェア機器によって（または、それを使用することによって）実行され得る。一部の実施形態において、大部分の重要な方法の段階の１または複数は、そのような機器において実行され得る。
【０１６７】
特定の実装要件に応じて、発明の実施形態は、ハードウェアまたはソフトウェアにおいて実装され得る。実装は、デジタルストレージ媒体、例えば、電子的可読制御信号が格納されたフロッピーディスク、ＤＶＤ、Ｂｌｕ‐Ｒａｙ、ＣＤ、ＲＯＭ、ＰＲＯＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭまたはＦＬＡＳＨ（登録商標）メモリを使用して実行され得る。これらは、それぞれの方法が実行されるように、プログラマブルコンピュータシステムと協同する（または、協同可能である）。したがって、デジタルストレージ媒体はコンピュータ可読であり得る。
【０１６８】
本発明による一部の実施形態は、本明細書に記載の方法の１つが実行されるようにプログラマブルコンピュータシステムと協同可能な、電子的可読制御信号を有するデータキャリアを含む。
【０１６９】
概して、本発明の実施形態は、プログラムコードを有するコンピュータプログラム製品として実装され得、プログラムコードは、コンピュータプログラム製品がコンピュータ上で実行するときに、方法の１つを実行するように動作可能である。プログラムコードは例えば、機械可読キャリアに格納され得る。 
【０１７０】
他の実施形態は、機械可読キャリアに格納された、本明細書に記載の方法の１つを実行するためのコンピュータプログラムを含む。 
【０１７１】
換言すれば、本発明の方法の実施形態は、したがって、コンピュータ上でコンピュータプログラムが実行するとき、本明細書に記載の方法の１つを実行するためのプログラムコードを含むコンピュータプログラムである。
【０１７２】
本発明の方法の更なる実施形態は、したがって、本明細書に記載の方法の１つを実行するためのコンピュータプログラムが記録されたデータキャリア（またはデジタルストレージ媒体、またはコンピュータ可読媒体）である。データキャリア、デジタルストレージ媒体、または、記録媒体は典型的には、有形および／または非一時的である。
【０１７３】
本発明の方法の更なる実施形態は、したがって、本明細書に記載の方法の１つを実行するためのコンピュータプログラムを表す、データストリーム、または、一連の信号である。データストリームまたは一連の信号は、例えば、データ通信接続を介して、例えばインターネットを介して伝達されるよう構成され得る。 
【０１７４】
更なる実施形態は処理手段、例えば、本明細書に記載の方法の１つを実行するよう構成または適用されるコンピュータ、または、プログラマブルロジックデバイスを含む。
【０１７５】
更なる実施形態は、本明細書に記載の方法の１つを実行するためのコンピュータプログラムがインストールされたコンピュータを含む。 
【０１７６】
本発明による更なる実施形態は、本明細書に記載の方法の１つを実行するためのコンピュータプログラムを受信側に（例えば、電子的に、または光学的に）伝達するよう構成される機器またはシステムを含む。受信側は例えば、コンピュータ、モバイルデバイス、メモリデバイスまたは同様のものであり得る。機器またはシステムは例えば、コンピュータプログラムを受信側へ伝達するためのファイルサーバを含み得る。
【０１７７】
一部の実施形態において、プログラマブルロジックデバイス（例えばフィールドプログラマブルゲートアレイ）は、本明細書に記載の方法の機能の一部または全部を実行するために使用され得る。一部の実施形態において、本明細書に記載の方法の１つを実行するべく、フィールドプログラマブルゲートアレイは、マイクロプロセッサと協同し得る。概して、方法は好ましくは、任意のハードウェア機器によって実行される。
【０１７８】
本明細書に記載の機器は、ハードウェア機器を使用して、または、コンピュータを使用して、または、ハードウェア機器およびコンピュータの組み合わせを使用して実装され得る。
【０１７９】
本明細書に記載の機器、または、本明細書に記載の機器の任意のコンポーネントは、ハードウェアおよび／またはソフトウェアにおいて少なくとも部分的に実装され得る。 
【０１８０】
本明細書に記載の方法は、ハードウェア機器を使用して、または、コンピュータを使用して、または、ハードウェア機器およびコンピュータの組み合わせを使用して実行され得る。
【０１８１】
本明細書に記載の方法、または、本明細書に記載の機器の任意のコンポーネントは、ハードウェア、および／またはソフトウェアによって少なくとも部分的に実行され得る。 
【０１８２】
上記の実施形態は単に、本発明の原理を説明するためのものである。本明細書に記載の構成および詳細の修正および変形は当業者にとって明らかであることが理解される。したがって、本明細書の実施形態の記載および説明によって提示される特定の詳細ではなく、出願中の特許請求の範囲のみによって限定されることが意図されている。
【図１】
2021520570.tif 000003
【図２】
2021520570.tif 000004
【図３】
2021520570.tif 000005
【図４】
2021520570.tif 000006
【国際調査報告】
2021520570.tif 000007
2021520570.tif 000008