JP2017514199A - 干渉試験 - Google Patents

干渉試験 Download PDF

Info

Publication number
JP2017514199A
JP2017514199A JP2016553430A JP2016553430A JP2017514199A JP 2017514199 A JP2017514199 A JP 2017514199A JP 2016553430 A JP2016553430 A JP 2016553430A JP 2016553430 A JP2016553430 A JP 2016553430A JP 2017514199 A JP2017514199 A JP 2017514199A
Authority
JP
Japan
Prior art keywords
logic
controller
seed
lane
pseudo
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2016553430A
Other languages
English (en)
Other versions
JP6316977B2 (ja
Inventor
コスティンスキー、アレクセイ
レヴィー、トマー
エス. チェスィズ、ポール
エス. チェスィズ、ポール
ネイガー、ダニー
ズィー. シェーンボーン、セオドア
ズィー. シェーンボーン、セオドア
ピー. モザク、クリストファー
ピー. モザク、クリストファー
アボールニーン、ナギ
エム. シェハディ、ジェイムズ
エム. シェハディ、ジェイムズ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of JP2017514199A publication Critical patent/JP2017514199A/ja
Application granted granted Critical
Publication of JP6316977B2 publication Critical patent/JP6316977B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B3/00Line transmission systems
    • H04B3/02Details
    • H04B3/46Monitoring; Testing
    • H04B3/487Testing crosstalk effects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3183Generation of test inputs, e.g. test vectors, patterns or sequences
    • G01R31/318385Random or pseudo-random test pattern
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3185Reconfiguring for testing, e.g. LSSD, partitioning
    • G01R31/318533Reconfiguring for testing, e.g. LSSD, partitioning using scanning techniques, e.g. LSSD, Boundary Scan, JTAG
    • G01R31/318544Scanning methods, algorithms and patterns
    • G01R31/31855Interconnection testing, e.g. crosstalk, shortcircuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Tests Of Electronic Circuits (AREA)
  • Semiconductor Integrated Circuits (AREA)
  • Debugging And Monitoring (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

一例において、コントローラは、第1のシードを用いてビクティムレーンおよび第1のアグレッサレーンに複数の疑似ランダムパターンの第1のセットを生成することにより、ビクティムレーンおよびアグレッサレーンを含む通信相互接続において干渉試験の第1のイテレーションを実装し、第1のアグレッサレーンにおいてシードを前進させることにより、干渉試験の第2のイテレーションを実装するように構成されるハードウェアロジックを少なくとも部分的に有するロジックを備える。複数の他の例が説明される。

Description

本明細書において説明される主題は、概ね電子デバイスの分野に関し、より詳細には電子デバイスにおける干渉試験に関する。
電子デバイスは、周辺構成要素相互接続エクスプレス(PCIe)、ユニバーサルシリアルバス(USB)、ダブルデータレート(DDR)等のような複数の相互接続により通信可能に結合されるコンポーネントを含む。これらの通信インターフェースは、不完全な相互接続、ボードルーティング、ビア等のような設計上の欠陥または製造上の欠陥により生じ得る符号間干渉およびクロストーク等のノイズを受ける。そのような電子デバイスの設計者および製造者は、電子デバイスにおける符号間干渉の影響を判断する必要がある。従って、干渉試験のための技術は、例えば電子デバイスにおいて効用を見出すことができる。
詳細な説明は、添付の図面を参照して記載される。
いくつかの例による干渉試験を受け得る複数の通信インターフェースを含み得る電子デバイスの概略図である。 いくつかの例による干渉試験を実装する例示的なアーキテクチャのハイレベルの概略図である。 いくつかの例による干渉試験を実装する方法における複数の動作を図示するフロー図である。 いくつかの例による干渉試験プロセスにおける複数のイテレーションを図示する。 いくつかの例による干渉試験プロセスにおける複数のイテレーションを図示する。 いくつかの例による干渉試験を実装する方法における複数の動作を図示するフロー図である。 いくつかの例による干渉試験プロセスにおける複数のイテレーションを図示する。 いくつかの例による干渉試験プロセスにおける複数のイテレーションを図示する。 いくつかの例による干渉試験を実装する方法における複数の動作を図示するフロー図である。 いくつかの例による干渉試験を実装する方法における複数の動作を図示するフロー図である。 いくつかの例による干渉試験を実装するように適合され得る電子デバイスの概略図である。 いくつかの例による干渉試験を実装するように適合され得る電子デバイスの概略図である。 いくつかの例による干渉試験を実装するように適合され得る電子デバイスの概略図である。 いくつかの例による干渉試験を実装するように適合され得る電子デバイスの概略図である。 いくつかの例による干渉試験を実装するように適合され得る電子デバイスの概略図である。 干渉試験技術の一例を示す。
複数の電子デバイスに干渉試験を実装する例示的なシステムおよび方法が、本明細書において説明される。以下の説明において、様々な例の完全な理解を提供するべく、多くの具体的な詳細が記載される。しかし、当業者であれば、様々な例が具体的な詳細なしに実施され得ることを理解するであろう。他の複数の例において、具体的な例を不明瞭にしないように、周知の複数の方法、手順、コンポーネント、および回路は詳細に図示または説明されていない。
上記のように、コンピュータシステム、タブレットコンピューティングデバイス、携帯電話、電子リーダ等のような複数の電子デバイスの通信相互接続において干渉試験を実行することは、有用であり得る。本明細書において説明される主題は、電子デバイスにおいて用いられる複数の通信相互接続で干渉について試験するべく用いられ得る複数の干渉試験技術を提供することにより、これらおよび他の問題に対処する。いくつかの例において、本明細書において説明される複数の技術は、電子デバイスに組み込まれ得るロジック(例えば、ソフトウェア、ファームウェア、またはロジック回路)として実装され得る。例えば、ロジックは、基本入出力システム(BIOS)によるなどして電子デバイスを構成する間にアクセスされ得る干渉マネージャモジュールとして実装され得る。
本明細書において説明される第1の干渉試験技術は、通信相互接続における複数の隣接レーン間の信号対信号クロストークについて試験する機能を向上させる複数のパターンを作成することを可能にする。第2の干渉試験技術は、通信相互接続の各レーン上において符号間干渉(ISI)について試験する機能を向上させる複数のパターンを作成することを可能にする。本明細書において説明される第3の干渉試験技術は、試験プロセスがプログラミング可能な数の反復を実装して、試験プロセスに複数のギャップおよび待機を組み込むことを可能にする。本明細書において説明される複数の技術は、独立に実装されてもよく、または組み合わされてもよい。
図1は、いくつかの例による干渉試験を実装するように適合され得る電子デバイス100の概略図である。様々な例において、電子デバイス100は、ディスプレイ、1または複数のスピーカ、キーボード、1または複数の他のI/Oデバイス、マウス、カメラ等を含む1または複数の付随する入力/出力デバイスを含むか、またはこれらに結合され得る。他の例示的なI/Oデバイスは、タッチスクリーン、音声起動式入力デバイス、トラックボール、測位デバイス、加速度計/ジャイロスコープ、バイオメトリック機能入力デバイス、および電子デバイス100がユーザからの入力を受信することを可能にするその他のデバイスを含んでもよい。
電子デバイス100は、システムハードウェア120およびメモリ140を含み、これらはランダムアクセスメモリおよび/またはリードオンリメモリとして実装され得る。ファイルストアは、電子デバイス100に通信可能に結合され得る。ファイルストアは、例えばソリッドステートドライブ(SSD)、1または複数のハードドライブ、または他のタイプのストレージデバイスのような電子デバイス100の内部にあり得る。あるいは、ファイルストアは、例えば1または複数の外部ハードドライブ、ネットワーク接続ストレージ、または別個のストレージネットワークのような電子デバイス100の外部にもあり得る。
システムハードウェア120は、1または複数のプロセッサ122、グラフィックスプロセッサ124、ネットワークインターフェース126、およびバス構造体128を含み得る。一実施形態において、プロセッサ122は米国カリフォルニア州サンタクララ市のインテル(登録商標)コーポレーションから入手可能なインテル(登録商標)Atom(登録商標)プロセッサ、インテル(登録商標)Atom(登録商標)ベースのシステムオンチップ(SOC)、またはインテル(登録商標)Core2 Duo(登録商標)またはi3/i5/i7シリーズのプロセッサとして実施され得る。本明細書において用いられるように、「プロセッサ」という用語は、マイクロプロセッサ、マイクロコントローラ、複合命令セットコンピューティング(CISC)マイクロプロセッサ、縮小命令セット(RISC)マイクロプロセッサ、超長命令語(VLIW)マイクロプロセッサ、またはその他のタイプのプロセッサもしくは処理回路等、任意のタイプの計算要素を意味するが、これらに限定されない。
グラフィックスプロセッサ124は、グラフィックスオペレーションおよび/またはビデオオペレーションを管理するアジャンクトプロセッサとして機能し得る。グラフィックスプロセッサ124は、電子デバイス100のマザーボード上に集積されてもよく、またはマザーボード上の拡張スロットを介して結合されてもよく、あるいは処理ユニットと同一のダイもしくは同一のパッケージ上に配置されてもよい。
一実施形態において、ネットワークインターフェース126は、イーサネット(登録商標)インターフェース(例えば、米国電気電子学会/IEEE802.3‐2002を参照されたい)等の有線インターフェース、またはIEEE802.11a、b、もしくはgに準拠したインターフェース(例えば、IEEE Standard for IT−Telecommunications and information exchange between systems LAN/MAN‐ Part II:Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) specifications Amendment 4: Further Higher Data Rate Extension in the 2.4 GHz Band,802.11G−2003を参照されたい)等の無線インターフェースであり得る。無線インターフェースの別の例は、汎用パケット無線サービス(GPR)インターフェースである(例えば、Guidelines on GPRS Handset Requirements,Global System for Mobile Communications/GSM Association,Ver.3.0.1,December 2002を参照されたい)。
バス構造体128は、システムハードウェア128の様々なコンポーネントを接続する。一実施形態において、バス構造体128は、11ビットバス、工業規格アーキテクチャ(ISA)、マイクロチャネルアーキテクチャ(MSA)、拡張ISA(EISA)、インテリジェントドライブエレクトロニクス(IDE)、VESAローカルバス(VLB)、周辺構成要素相互接続(PCI)、ユニバーサルシリアルバス(USB)、アドバンストグラッフィックスポート(AGP)、パーソナルコンピュータメモリカード国際協会バス(PCMCIA)、およびスモールコンピュータシステムインターフェース(SCSI)、高速同期式シリアルインターフェース(HSI)、シリアル低電力チップ間メディアバス(SLIMbus(登録商標))等を含むが、これらに限定されない利用可能な様々なバスアーキテクチャを使用するメモリバス、周辺バス、もしくは外部バス、ならびに/またはローカルバスを含むいくつかのタイプのバス構造体のうちの1または複数であってもよい。
電子デバイス100は、複数のRF信号を送受信するRFトランシーバ130、近距離無線通信(NFC)無線機134、およびRFトランシーバ130により受信される複数の信号を処理する信号処理モジュール132を含み得る。RFトランシーバは、例えばBluetooth(登録商標)または802.11X、IEEE802.11a、b、もしくはgに準拠したインターフェース(例えば、IEEE Standard for IT −Telecommunications and information exchange between systems LAN/MAN−Part II: Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) specifications Amendment 4:Further Higher Data Rate Extension in the 2.4 GHz Band,802.11G−2003を参照されたい)のようなプロトコルによりローカル無線接続を実装し得る。無線インターフェースの別の例は、WCDMA(登録商標)、LTE、汎用パケット無線サービス(GPR)インターフェースである(例えば、Guidelines on GPRS Handset Requirements,Global System for Mobile Communications/GSM Association,Ver.3.0.1,December 2002を参照されたい)。
電子デバイス100は、例えばキーパッド136およびディスプレイ138のような1または複数の入力/出力インターフェースを更に含み得る。いくつかの例において、電子デバイス100はキーパッドを有しておらず、入力にタッチパネルを用いる場合がある。
メモリ140は、電子デバイス100の複数の動作を管理するオペレーティングシステム142を含み得る。一実施形態において、オペレーティングシステム142は、インターフェースをシステムハードウェア120に提供するハードウェアインターフェースモジュール154を含む。更にオペレーティングシステム140は、電子デバイス100の動作において用いられる複数のファイルを管理するファイルシステム150と、電子デバイス100上で実行される複数の処理を管理する処理制御サブシステム152とを含み得る。
オペレーティングシステム142は、システムハードウェア120と共に動作し、遠隔のソースからの複数のデータパケットおよび/またはデータストリームを送受信し得る、1または複数の通信インターフェース146を含み(または管理し)得る。オペレーティングシステム142は、オペレーティングシステム142とメモリ130に常駐する1または複数のアプリケーションモジュールとの間にインターフェースを提供するシステムコールインターフェースモジュール144を更に含み得る。オペレーティングシステム142は、UNIX(登録商標)オペレーティングシステムもしくはそのいずれかの派生物(例えばLinux(登録商標)、アンドロイド等)、またはウィンドウズ(登録商標)ブランドのオペレーティングシステム、または他のオペレーティングシステムとして実施されてもよい。
いくつかの例において、電子デバイスはコントローラ170を含み得、コントローラ170は、主要な実行環境から分離された1または複数のコントローラを備え得る。この分離は、コントローラがメインプロセッサから物理的に分離されたコントローラの形で実装され得るという意味で物理的であり得る。あるいは信頼できる実行環境は、コントローラが複数のメインプロセッサをホスティングする同一のチップまたはチップセット上でホスティングされ得るという意味で論理的であり得る。
例として、いくつかの例においてコントローラ170は、電子デバイス100のマザーボード上に配置された独立した集積回路として、例えば同一のSOCダイ上の専用プロセッサブロックとして実装され得る。複数の他の例において、信頼できる実行エンジンは、ハードウェア強制メカニズムを用いる残余のプロセッサから分離されたプロセッサ122の一部に実装され、またはオペレーティングシステムのユーザ空間またはカーネルにおけるプロセッサにおいて実行され得る複数のロジック命令として実装され得る。
図1に図示される実施形態において、コントローラ170は、プロセッサ172、メモリモジュール174、干渉マネージャ176、およびI/Oインターフェース178を備える。いくつかの例において、メモリモジュール174は、永続的フラッシュメモリモジュールを備えてもよく、様々な機能モジュールは、永続的メモリモジュール、例えばファームウェアまたはソフトウェアにおいてエンコードされたロジック命令として実装され得る。I/Oモジュール178は、直列I/Oモジュールまたは並列I/Oモジュールを備えてもよい。コントローラ170は、メインプロセッサ122およびオペレーティングシステム142から分離されているので、コントローラ170はセキュアにされ得、すなわち、通常はホストプロセッサ122からソフトウェア攻撃をマウントするハッカーにはアクセスできない。いくつかの例において、干渉マネージャ176は電子デバイス100のメモリ140内に存在し得、プロセッサ122のうちの1または複数において実行可能であり得る。
いくつかの例において、干渉マネージャ176は電子デバイス100の1または複数の他のコンポーネントとインタラクトして、電子デバイスにおいて1または複数の通信相互接続に対して干渉試験を実装する。図2は、いくつかの例による干渉試験を実装する例示的なアーキテクチャのハイレベルの概略図である。図2を参照すると、コントローラ220は、コントローラ170のような汎用プロセッサ122または低電力コントローラとして実施され得る。コントローラ220は、複数の干渉試験動作およびローカルメモリ240を管理する干渉マネージャ230を備え得る。上記のように、いくつかの例において干渉マネージャ230は、コントローラ220上で実行可能な複数のロジック命令として、例えばソフトウェアもしくはファームウェアとして実装されてもよく、またはハードワイヤードロジック回路にされてもよい。ローカルメモリ240は、揮発性および/または不揮発性メモリを用いて実装され得る。
コントローラ220は、1または複数の入力/出力デバイス250に通信可能に結合され得る。例えばコントローラ220は、上記の複数のI/Oデバイスのうちの1または複数に通信可能に結合され得る。
干渉マネージャ230は、1または複数の相互接続210に通信可能に結合され得、これにより電子デバイス100の複数のコンポーネント間の通信を可能にする。例えば、相互接続210は周辺構成要素相互接続エクスプレス(PCIe)、ユニバーサルシリアルバス(USB)、ダブルデータレート(DDR)相互接続のうちの1または複数であってもよく、複数の通信レーン212、214、216を備えてもよい。
複数の電子デバイスにおいて干渉試験を実装するシステムの様々な構造を説明したので、ここでシステムの動作態様を説明する。干渉試験技術の第1の例は、イタラティブな試験手順を実装し、複数の疑似乱数発生器のシードは予め定められたように変化して、複数の隣接信号レーンに適用される試験順列の数を増やす。干渉試験のこの第1の例は、図3A〜図3Cを参照して説明される。図3Aは、電子デバイスにおいて干渉試験を実装する第1の方法における複数の動作を図示するフロー図である。図3Aのフロー図に図示される複数の動作は、単独または電子デバイス100の他のコンポーネントと組み合わせて、干渉マネージャ230により実装され得る。図3B〜3Cは、いくつかの例による干渉試験プロセスにおける複数のイテレーションを図示する。
まず図3Aを参照すると、動作310において干渉マネージャ230は、1または複数の干渉試験パラメータを受信する。例えば、干渉試験パラメータは、電子デバイス100に対する干渉試験の管理を担当するユーザにより干渉マネージャ230に入力され得る。代替的にまたは更に、複数の干渉試験パラメータは電子デバイス100上のメモリ位置から取得され得る。
動作312において、干渉マネージャ230はシードの最初のセットについて干渉試験の第1のイテレーションを実行する。いくつかの例において、干渉試験プロセスは、1または複数のアグレッサレーンと通信相互接続におけるビクティムレーンとの間の干渉について試験し得る。図3Bを簡単に参照すると、一例において干渉試験プロセスは、第1のアグレッサレーン360、ビクティムレーン350、および第2のアグレッサレーン370の間の干渉について試験する。通信相互接続における各レーンは、通信相互接続のレーンにおいて送信される疑似ランダムパターンを生成するパターンジェネレータ352、362、372に通信可能に結合される。次にビクティムレーン350の送信特性が測定され、相互接続に対する複数の信号対信号クロストーク測定値を判断し得る。例として、パターンジェネレータ352、362、372は線形フィードバックシフトレジスタ(LFSR)として実装され得る。
いくつかの例において、第1のイテレーションは、各パターンジェネレータ352、362、372と共に実装され、これらには各々の第1のシードが提供される。図3Cは、干渉試験の具体例を図示する。図3Cに図示される例において、パターンジェネレータ1には1111のシードが提供されるが、パターンジェネレータ2には0010のシードが提供され、パターンジェネレータ3には0101のシードが提供される。
干渉試験の第1のイテレーションにおいて、干渉マネージャ230は、2−1に等しいいくつかのサイクルを実行する。式中、Nはシードの長さに対応する。図3Bに図示される具体例において、シードの長さは4であり、従って15の試験サイクル(354、364、374)を実行し、ビクティムレーン360上の干渉に対する複数のパターンジェネレータの各パターンを試験する。
第1のイテレーションが終了すると、制御は動作314に進み、干渉マネージャ230は複数のレーンのうちの1または複数でシードを前進させる。例として、図3Bを参照すると、第1の2−1サイクルの最初のラッピング(すなわち、完了)時にシード1は進み、2−1サイクル(356、366、376)の別のサイクルが2−1回実行され(動作316)、毎回シード1を前進させる。
動作318において、相互接続にこれ以上のアグレッサラインは存在しない場合、制御は動作326に進み、干渉試験は終了し得る。対照的に、動作318において相互接続に追加のアグレッサラインが存在する場合、制御は動作320に進み、干渉マネージャ230は複数のレーンの1または複数において再びシードを前進させる。例として、図3Bを参照すると、第2の2−1サイクルのラッピング(すなわち、完了)時に、シード2は進み、上記の2−1×2−1サイクルの別のサイクル(358、368、378)が2−1回実行され(動作322)、1つのビクティムおよび2つのアグレッサパターンジェネレータを用いたシステムを完全に実行すると、合計で(2−1)×(2−1)×(2−1)のサイクルをもたらす。
動作324において、相互接続にこれ以上のアグレッサラインは存在しない場合、制御は動作326に進み、干渉試験は終了し得る。対照的に、動作324において相互接続に追加のアグレッサラインが存在する場合、制御は動作320に進み、干渉マネージャ230は複数のレーンの1または複数において再びシードを前進させる。従って、動作320〜324は、相互接続においてパターンの異なる組み合わせを試験するべく、干渉マネージャ230が複数のアグレッサレーンのシードを継続して前進させ得るループを規定し、毎回、全ての以前の段階を2−1回、反復する。
干渉試験技術の第2の例は、イタラティブな試験手順を実装し、通信相互接続において送信された複数の疑似ランダムコードの一部を反復して符号間干渉について試験するべく、複数の疑似乱数発生器に対するシードが予め定められたレートで再ロードされる。干渉試験のこの第2の例は、図4A〜図4Cを参照して説明される。図4Aは、電子デバイスにおいて干渉試験を実装する第2の方法における複数の動作を図示するフロー図である。図4Aのフロー図に図示される複数の動作は、単独または電子デバイス100の複数の他のコンポーネントと組み合わせて、干渉マネージャ230により実装され得る。図4B〜4Cは、いくつかの例による干渉試験プロセスにおける複数のイテレーションを図示する。
まず図4Aを参照すると、動作410において干渉マネージャ230は、再ロードレートパラメータおよびセーブレートパラメータを受信する。例えば、再ロードレートパラメータおよびセーブレートパラメータは、電子デバイス100に対する干渉試験の管理を担当するユーザにより干渉マネージャ230に入力され得る。代替的にまたは更に、複数の干渉試験パラメータは電子デバイス100上のメモリ位置から取得され得る。
動作412において、干渉マネージャ230は擬似ランダムシーケンスを生成する。例として、図4Bを参照すると、干渉マネージャ230はパターンジェネレータ452にシードを提供して、疑似ランダムパターンを生成し得る。上記のように、パターンジェネレータ452は、複数の線形フィードバックシフトレジスタ(LFSR)として実装され得る。シードに応答して、パターンジェネレータ452は、nビットの疑似乱数(例えば、15ビットのLFSRに対して111000100110101)を生成する。
動作414において、シードは再ロードレートに応じてパターンジェネレータ452に再ロードされ、動作416において擬似ランダムシーケンスの一部が相互接続において送信される。動作418において、シードはセーブレートに応じて保存される。
図4Bは、再ロードレートが疑似ランダムコードを3ビット毎に4回反復するように構成され、セーブレートが10(3×(4−1)+1)である例を図示する。図4Aに図示される複数の動作に従って、シードはパターンジェネレータ452に入力されて3ビット毎に再ロードされ、4回反復される。これにより、パターンジェネレータ452をもたらし、パターンジェネレータ452により生成された疑似ランダムパターンの最初の3ビットを4回反復するパターンを出力する。反復パターンは各イテレーションにおいて10mod3=1ビットだけ前進し、複数の反復パターンのコンテンツ間に(3−1=2)ビットの重複をもたらす。そのようなパターンは、例えば、再ロードレートが潜在的な共振構造の有効電気長に相関する相互接続に対する共振効果を評価するのに用いられ得る。
図4Cは、再ロードレートが疑似ランダムコードを3ビット毎に4回反復するように構成され、セーブレートが11(3×(4−1)+2)である例を図示する。図4Aに図示される複数の動作に従って、シードはパターンジェネレータ452に入力されて3ビット毎に再ロードされ、4回反復される。これにより、パターンジェネレータ452をもたらし、パターンジェネレータ452により生成された疑似ランダムパターンの最初の3ビットを4回反復するパターンを出力する。反復パターンは各イテレーションにおいて10mod3=2ビットだけ前進し、複数の反復パターンのコンテンツ間に(3−2=1)ビットの重複をもたらす。
図11は、干渉試験技術の第3の例を示す。干渉試験技術の第3の例は、半導体技術協会(JEDEC)のダブルデータレート(DDR)ファミリのバス(例えばDDR3、DDR4)または低電力DDRバス(例えばLPDDR2、LPDDR3、LPDDR4等)に対して、プログラミング可能な長さ、ギャップ、ループ、および待機時間を有するコマンド、制御、ならびに複数のアドレスレーンについてのパターンを、それらの間で切り替える手段を提供するロジックを実装する。第3の例において、ロジックはアイドル状態で開始し、コマンドアドレスデータバッファ(CADB)の読み取りに移行する。CADBは、各コマンド、制御、およびアドレスのラインに対する値を識別するバッファである。ロジックは、開始バッファポインタから開始してループを規定する終了バッファポインタまで、CADBからの読み取りを継続する。カウンタは、ループをいくつ実行するか、およびいくつ実行されたかを示すべく用いられ得る。バッファポインタが最終値に到達すると、ロジックはループカウンタ値をデクリメントして開始バッファポインタにラッピングする。ループカウンタがゼロに到達すると、ロジックは、試験が完了したことを示し得る。ロジックは無限ループもセットアップすることができ、この場合にはカウンタはデクリメントされない。
読み取られると、コマンド、制御(2nまたは3nコマンドモードにおけるチップ選択(CS)ラインを除く)、およびアドレスのラインは、DDR入力/出力(I/O)に対する機能パスを設定してオーバーライドする。複数のCSラインをアサートした後、ギャップカウンタが開始され、CADBから実行される異なる複数のコマンド間の時間を設定するべく、ゼロに到達するまでカウントされる。
干渉試験の第3の例の更なる詳細は、電子デバイスにおいて干渉試験を実装する方法における複数の動作を図示するフロー図である、図5A〜5Bを参照して説明される。図5A〜図5Bのフロー図に図示される複数の動作は、単独または電子デバイス100の複数の他のコンポーネントと組み合わせて、干渉マネージャ230により実装され得る。
まず図5Aを参照すると、動作510においてコマンドポインタはスタートインデックスに設定され、ロジックは、512においてコマンドアドレスデータバッファ(CADB)から読み取る。動作514において、コマンドおよびアドレスが設定される。
動作516において、相互接続が1n、2n、または3nのタイミングモードで動作しているか否かが判断される。相互接続が1nのタイミングモードで動作している場合、制御は動作518に進み、チップ選択(CS)ラインが設定される。対照的に、動作516において相互接続が2nのタイミングモードで動作している場合、制御は動作520に進み、ロジックは、CSラインが設定される前に1つのクロックサイクルが経過することを可能にする。動作516において相互接続が3nのタイミングモードで動作している場合、制御は動作522に進み、ロジックは、CSラインが設定される前に2つのクロックサイクルが経過することを可能にする。
チップ選択ラインが設定されると、制御は動作530に進み、ループが終了したか否かを判断するべく監視する。動作530においてループが終了していない場合、制御は動作532に進み、コマンドポインタはCADBにおける次のコマンドに設定される。次に制御は動作534に進み、ギャップがゼロよりも大きいか否かが判断される。動作534においてギャップがゼロよりも大きい場合、制御は動作536に進み、CADBから次のコマンドを読み取る前に予め定められた期間が経過することを可能にされる。
再び動作530を参照すると、ループが終了すると、制御は動作540に進み、初期化手順が実行されたか否かが判断される。手順が実行された場合、制御は動作542に進み、試験プロセスは終了する。対照的に、動作540において初期化手順が実行されなかった場合、制御は動作544に進み、コマンドポインタは、コマンドインデックスの開始位置に設定される。次に制御は動作546に進み、待機がゼロよりも大きいか否かが判断される。動作546においてギャップがゼロよりも大きい場合、制御は動作548に進み、CADBから次のコマンドを読み取る前に予め定められた期間が経過することを可能にされる。
従って、図5Aおよび5Bに図示される複数の動作は、ロジックが、試験プロセスにプログラミング可能な数のイテレーション、ならびにギャップおよび待機を組み込んだ複数の干渉試験スケジューリングを実装することを可能にする。図5A〜図5Bに図示される複数の動作は、図3Aおよび図4Aに図示される複数の動作と共に実装されてもよく、または独立に実装されてもよい。
上記のように、いくつかの例において電子デバイスは、コンピュータシステムとして実施され得る。図6は、一例によるコンピューティングシステム600のブロック図を図示する。コンピューティングシステム600は、相互接続ネットワーク(またはバス)604を介して通信する1または複数の中央処理装置602またはプロセッサを含み得る。複数のプロセッサ602は、汎用プロセッサ、(コンピュータネットワーク603を介して通信されるデータを処理する)ネットワークプロセッサ、または(縮小命令セットコンピュータ(RISC)プロセッサまたは複合命令セットコンピュータ(CISC)を含む)他のタイプのプロセッサを含み得る。更に、複数のプロセッサ602はシングルまたはマルチのコア設計を有し得る。マルチコア設計を有する複数のプロセッサ602は、同一の集積回路(IC)ダイ上に異なる複数のタイプのプロセッサコアを集積させ得る。また、マルチコア設計を有する複数のプロセッサ602は、対称または非対称のマルチプロセッサとして実装され得る。一例において、複数のプロセッサ602のうちの1または複数は、図1のプロセッサ102と同一または類似し得る。例えば、複数のプロセッサ602の1または複数は、図1〜図3Cを参照して検討された制御ユニット120を含み得る。図3A〜図5Bを参照して検討された複数の動作は、システム600の1または複数のコンポーネントによっても実行され得る。
チップセット606は、相互接続ネットワーク604とも通信し得る。チップセット606は、メモリ制御ハブ(MCH)608を含み得る。MCH608は、メモリ612(図1のメモリ130と同一または類似し得る)と通信するメモリコントローラ610を含み得る。メモリ412は、コンピューティングシステム600に含まれるプロセッサ602またはその他のデバイスにより実行され得る複数の命令のシーケンスを含むデータを格納し得る。一例において、メモリ612は、ランダムアクセスメモリ(RAM)、ダイナミックRAM(DRAM)、シンクロナスDRAM(SDRAM)、スタティックRAM(SRAM)、または複数の他のタイプのストレージデバイスのような1または複数の揮発性ストレージ(またはメモリ)デバイスを含み得る。ハードディスク等の不揮発性メモリも使用され得る。複数のプロセッサおよび/または複数のシステムメモリ等、複数の追加のデバイスが相互接続ネットワーク604を介して通信し得る。
MCH608は、ディスプレイデバイス616と通信するグラフィックスインターフェース614も含み得る。一例として、グラフィックスインターフェース614は、アクセラレーティッドグラフィックスポート(AGP)を介してディスプレイデバイス616と通信し得る。一例において、ディスプレイ616(フラットパネルディスプレイ等)は、例えば、ビデオメモリまたはシステムメモリ等のストレージデバイスに格納された画像のデジタル表現をディスプレイ616により変換されて表示される複数の表示信号に変換する信号コンバータを介してグラフィックスインターフェース614と通信し得る。ディスプレイデバイスにより生成される複数の表示信号は、ディスプレイ616により変換され、次にディスプレイ616に表示される前に様々な制御デバイスを通り得る。
ハブインターフェース618は、MCH608および入力/出力制御ハブ(ICH)620が通信することを可能にし得る。ICH620は、コンピューティングシステム600と通信するI/Oデバイスにインターフェースを提供し得る。ICH620は、周辺構成要素相互接続(PCI)ブリッジ、ユニバーサルシリアルバス(USB)コントローラ、または複数の他のタイプの周辺ブリッジもしくはコントローラ等の周辺ブリッジ(もしくはコントローラ)624を介してバス622と通信し得る。ブリッジ624は、プロセッサ602と周辺デバイスとの間にデータ経路を提供し得る。複数の他のタイプのトポロジが使用され得る。また、例えば複数のブリッジまたはコントローラを介して、複数のバスがICH620と通信し得る。更に、様々な例においてICH620と通信する複数の他の周辺機器は、integrated drive electronics(IDE)もしくはスモールコンピュータシステムインターフェース(SCSI)ハードドライブ、USBポート、キーボード、マウス、パラレルポート、シリアルポート、フロッピー(登録商標)ディスクドライブ、デジタル出力サポート(例えば、デジタルビデオインターフェース(DVI))、または他のデバイスを含み得る。
バス622は、オーディオデバイス626、1または複数のディスクドライブ628、および(コンピュータネットワーク603と通信する)ネットワークインターフェースデバイス630と通信し得る。複数の他のデバイスがバス622を介して通信し得る。また、様々なコンポーネント(ネットワークインターフェースデバイス630等)は、いくつかの例においてMCH608と通信し得る。更に、プロセッサ602、および本明細書において検討される1または複数の他のコンポーネントは、(例えば、システムオンチップ(SOC)を提供するべく)組み合わされて単一のチップを形成し得る。更に、グラフィックスアクセラレータ616は、複数の他の例においてMCH608内に含まれ得る。
更に、コンピューティングシステム600は、揮発性および/または不揮発性メモリ(またはストレージ)を含み得る。例えば、不揮発性メモリとしては、リードオンリメモリ(ROM)、プログラマブルROM(PROM)、消去可能PROM(EPROM)、電気的EPROM(EEPROM)、ディスクドライブ(例えば628)、フロッピー(登録商標)ディスク、コンパクトディスクROM(CD−ROM)、デジタル多用途ディスク(DVD)、フラッシュメモリ、光磁気ディスク、または(例えば、複数の命令を含む)電子データを格納することができる複数の他のタイプの不揮発性機械可読媒体のうちの1または複数が挙げられ得る。
図7は、一例によるコンピューティングシステム700のブロック図を図示する。システム700は、1または複数のプロセッサ702−1〜702−N(一般に本明細書においては「複数のプロセッサ702」または「プロセッサ702」と称される)を含み得る。プロセッサ702は、相互接続ネットワークまたはバス704を介して通信し得る。各プロセッサは様々なコンポーネントを含み得るが、これらのいくつかは、明確にするべくプロセッサ702−1のみを参照して検討される。従って、残余のプロセッサ702−2〜702−Nの各々は、プロセッサ702−1を参照して検討される同一または類似の複数のコンポーネントを含み得る。
一例において、プロセッサ702−1は、1または複数のプロセッサコア706−1〜706−M(本明細書において、「複数のコア706」またはより一般には「コア706」と称される)、共有キャッシュ708、ルータ710、および/またはプロセッサ制御ロジックもしくはユニット720を含み得る。プロセッサコア706は、単一の集積回路(IC)チップ上に実装され得る。更にチップは、1もしくは複数の共有および/またはプライベートキャッシュ(キャッシュ708等)、複数のバスもしくは相互接続(バスもしくは相互接続ネットワーク712等)、複数のメモリコントローラ、または複数の他のコンポーネントを含み得る。
一例において、ルータ710は、プロセッサ702−1および/またはシステム700の様々なコンポーネントの間で通信するべく用いられ得る。更に、プロセッサ702−1は2つ以上のルータ710を含み得る。更に、多数のルータ710が通信して、プロセッサ702−1の内部または外部にある様々なコンポーネントの間でデータのルーティングを可能にし得る。
共有キャッシュ708は、コア706等、プロセッサ702−1の1または複数のコンポーネントにより使用される(例えば、複数の命令を含む)データを格納し得る。例えば、共有キャッシュ708はプロセッサ702の複数のコンポーネントにより、より速くアクセスするべくメモリ714に格納されたデータをローカルにキャッシュし得る。一例において、キャッシュ708は、中間レベルキャッシュ(レベル2(L2)、レベル3(L3)、レベル4(L4)等、または複数の他のレベルのキャッシュ)、ラストレベルキャッシュ(LLC)、および/またはこれらの組み合わせを含み得る。更に、プロセッサ702−1の様々なコンポーネントは、バス(例えば、バス712)および/またはメモリコントローラもしくはハブを介して共有キャッシュ708と直接に通信し得る。図7に示されるように、いくつかの例において複数のコア706のうちの1または複数は、レベル1(L1)キャッシュ716−1(本明細書において一般には「L1キャッシュ716」と称される)を含み得る。一例において、制御ユニット720は、図2のメモリコントローラ122を参照して上記された複数の動作を実装するロジックを含み得る。
図8は、一例によるコンピューティングシステムにおけるプロセッサコア706および複数の他のコンポーネントの一部のブロック図を図示する。一例において、図8に示される矢印は、コア706を介する複数の命令のフローの方向を図示する。1または複数のプロセッサコア(プロセッサコア706等)は、図7を参照して検討されるもののような単一の集積回路チップ(またはダイ)上に実装され得る。更にチップは、1または複数の共有および/またはプライベートキャッシュ(例えば、図7のキャッシュ708)、複数の相互接続(例えば、図7の相互接続704および/または112)、複数の制御ユニット、複数のメモリコントローラ、または複数の他のコンポーネントを含み得る。
図8に図示されるように、プロセッサコア706は、コア706により実行するための複数の命令(条件付き分岐を有する複数の命令を含む)をフェッチするフェッチユニット802を含み得る。複数の命令は、メモリ714のような任意のストレージデバイスによりフェッチされ得る。コア706は、フェッチされた命令をデコードするデコードユニット804も含み得る。例えば、デコードユニット804は、フェッチされた命令をデコードして、複数のuop(マイクロオペレーション)にし得る。
更に、コア706は、スケジューリングユニット806を含み得る。複数の命令のディスパッチの準備ができ、かつ例えばデコード済み命令の全てのソースの値が利用可能になるまで、スケジューリングユニット806は、(例えば、デコードユニット804から受信された)複数のデコード済み命令を格納することに関連する様々なオペレーションを実行し得る。一例において、スケジューリングユニット806は、実行するべく実行ユニット808に対する複数のデコード済み命令をスケジューリングし、および/または発行(もしくはディスパッチ)し得る。実行ユニット808は、複数の命令がデコードされ(例えば、ユニット804によりデコードされ)、(例えば、スケジューリングユニット806により)ディスパッチされた後に、ディスパッチされた命令を実行し得る。一例において、実行ユニット808は2つ以上の実行ユニットを含み得る。実行ユニット808は、加算、減算、乗算、および/または除算等、様々な論理演算オペレーションも実行し得、1または複数の論理演算ロジックユニット(ALU)を含み得る。一例において、コプロセッサ(図示せず)は、実行ユニット808と共に様々な論理演算オペレーションを実行し得る。
更に、実行ユニット808は、複数の命令をアウトオブオーダで実行し得る。従って、プロセッサコア706は一例において、アウトオブオーダプロセッサコアであり得る。コア706は、リタイアメントユニット810も含み得る。リタイアメントユニット810は、実行された複数の命令がコミットされた後、それらをリタイアし得る。一例において、実行された複数の命令のリタイアメントは、複数の命令の実行、割り当て解除される複数の命令により用いられる物理レジスタ等からコミットされるプロセッサ状態をもたらし得る。
コア706は、1または複数のバス(例えば、バス804および/または812)を介してプロセッサコア706の複数のコンポーネントと他のコンポーネント(図8を参照して検討されるコンポーネント等)との間の通信を可能にするバスユニット714も含み得る。コア706は、コア706の様々なコンポーネントによりアクセスされたデータ(電力消費状態の設定に関係する値等)を格納する1または複数のレジスタ816も含み得る。
更に、図7は相互接続812を介してコア706に結合されるべき制御ユニット720を図示するが、様々な例において制御ユニット720は、コア706の内部等の他の箇所に配置され、バス704等を介してコアに結合されてもよい。
いくつかの例において、本明細書において検討される複数のコンポーネントのうちの1または複数は、システムオンチップ(SOC)デバイスとして実施され得る。図9は、一例によるSOCパッケージのブロック図を図示する。図9に図示されるように、SOC902は、1または複数のプロセッサコア920、1または複数のグラフィックスプロセッサコア930、入力/出力(I/O)インターフェース940、およびメモリコントローラ942を含む。SOCパッケージ902の様々なコンポーネントは、複数の他の図を参照して本明細書において検討されるもののような相互接続またはバスに結合され得る。また、SOCパッケージ902は、他の図を参照して本明細書において検討されるもの等、より多いかまたはより少ないコンポーネントを含み得る。更に、SOCパッケージ902の各コンポーネントは、例えば本明細書における複数の他の図を参照して検討される1または複数の他のコンポーネントを含み得る。一例において、SOCパッケージ902(およびその複数のコンポーネント)は、1または複数の集積回路(IC)ダイ上に設けられ、1または複数のICは例えば、単一の半導体デバイスにパッケージ化される。
図9に図示されるように、SOCパッケージ902は、メモリコントローラ942を介してメモリ960(本明細書において他の図を参照して検討されるメモリに類似するか、または同一であり得る)に結合される。一例において、メモリ960(またはその一部)は、SOCパッケージ902上に集積され得る。
I/Oインターフェース940は、例えば、本明細書において他の図を参照して検討されるもの等の相互接続および/またはバスを介して1または複数のI/Oデバイス970に結合され得る。I/Oデバイス970は、キーボード、マウス、タッチパッド、ディスプレイ、画像/ビデオキャプチャデバイス(カメラまたはカムコーダ/ビデオレコーダ等)、タッチ面、スピーカ等のうちの1または複数を含み得る。
図10は、一例による、ポイントツーポイント(PtP)構成で配置されたコンピューティングシステム1000を図示する。具体的には、図10は、複数のプロセッサ、メモリ、および複数の入力/出力デバイスがいくつかのポイントツーポイントインターフェースにより相互接続されるシステムを示す。図2を参照して検討される複数の動作は、システム1000の1または複数のコンポーネントにより実行され得る。
図10に図示されるように、システム1000はいくつかのプロセッサを含み得るが、明確にするべく、これらのうちの2つのみ、プロセッサ1002および1004が示されている。プロセッサ1002および1004は各々、メモリ1010および1012との通信を可能にするローカルメモリコントローラハブ(MCH)1006および1008を含み得る。いくつかの例において、MCH1006および1008は、図1のメモリコントローラ120および/またはロジック125を含み得る。
一例において、プロセッサ1002および1004は、図7を参照して検討された複数のプロセッサ702のうちの1つであり得る。プロセッサ1002および1004は、PtPインターフェース回路1016および1018を各々用いるポイントツーポイント(PtP)インターフェース1014を介してデータを交換し得る。また、プロセッサ1002および1004は各々、ポイントツーポイントインターフェース回路1026、1028、1030、および1032を用いる個々のPtPインターフェース1022および1024を介してチップセット1020とデータを交換し得る。チップセット1020は、例えばPtPインターフェース回路1037を用いる高性能グラフィックスインターフェース1036を介して高性能グラフィックス回路1034とデータを更に交換し得る。
図10に示されるように、図1におけるコア106および/またはキャッシュ108のうちの1または複数は、プロセッサ1004内に配置され得る。しかし、他の例は、図10のシステム1000内の他の複数の回路、ロジックユニット、またはデバイス内に存在し得る。更に、複数の他の例は、図10に図示されるいくつかの回路、ロジックユニット、またはデバイス全体に分散され得る。
チップセット1020は、PtPインターフェース回路1041を用いてバス1040と通信し得る。バス1040は、バスブリッジ1042およびI/Oデバイス1043等、バス1040と通信する1または複数のデバイスを有し得る。バス1044を介してバスブリッジ1043は、キーボード/マウス1045、複数の通信デバイス1046等の他のデバイス(コンピュータネットワーク1003と通信し得るモデム、ネットワークインターフェースデバイス、または他の通信デバイス等)、オーディオI/Oデバイス、および/またはデータストレージデバイス1048と通信し得る。データストレージデバイス1048(ハードディスクドライブまたはNANDフラッシュベースのソリッドステートドライブであり得る)は、プロセッサ1004により実行され得るコード1049を格納し得る。
以下の複数の例は、更なる例に関する。
例1は、第1のシードを用いてビクティムレーンおよび第1のアグレッサレーンに複数の疑似ランダムパターンの第1のセットを生成することにより、ビクティムレーンおよびアグレッサレーンを含む通信相互接続において干渉試験の第1のイテレーションを実装し、第1のアグレッサレーンにおいてシードを前進させることにより、干渉試験の第2のイテレーションを実装するように構成されるハードウェアロジックを少なくとも部分的に有するロジックを備えるコントローラである。
例2において、例1の主題は、サイクルと競合する第1のシードに応答して第1のアグレッサレーンにおいてシードを前進させるように更に構成されるロジックを任意選択で含み得る。
例3において、例1〜2のいずれか1つの主題は、通信相互接続において疑似ランダムパターンを送信するように更に構成されるロジックを任意選択で含み得る。
例4において、例1−3のいずれか1つの主題は、相互接続が第3のアグレッサレーンを含み、ロジックが第2のアグレッサレーンにおいてシードを前進させることにより、干渉試験の第3のイテレーションを実装するように更に構成される配置を任意選択で含み得る。
例5において、例1〜4のいずれか1つの主題は、通信相互接続において疑似ランダムパターンを送信するように更に構成されるロジックを任意選択で含み得る。
例6において、例1〜5のいずれか1つの主題は、予め定められた数の試験ループおよび予め定められた待機期間のうちの少なくとも1つを実行するように更に構成されるロジックを任意選択で含み得る。
例7は、少なくとも1つの処理コンポーネントと、コントローラとを備え、コントローラは、第1のシードを用いるビクティムレーンおよび第1のアグレッサレーンにおいて複数の疑似ランダムパターンの第1のセットを生成することにより、ビクティムレーンおよびアグレッサレーンを含む通信相互接続において干渉試験の第1のイテレーションを実装し、第1のアグレッサレーンにおいてシードを前進させることにより、干渉試験の第2のイテレーションを実装するように構成されたハードウェアロジックを少なくとも部分的に含むロジックを有する、電子デバイスである。
例8において、例7の主題は、サイクルと競合する第1のシードに応答して第1のアグレッサレーンにおいてシードを前進させるように更に構成されるロジックを任意選択で含み得る。
例9において、例7〜8のいずれか1つの主題は、通信相互接続において疑似ランダムパターンを送信するように更に構成されるロジックを任意選択で含み得る。
例10において、例7〜9のいずれか1つの主題は、相互接続が第3のアグレッサレーンを含み、ロジックが第2のアグレッサレーンにおいてシードを前進させることにより、干渉試験の第3のイテレーションを実装するように更に構成される配置を任意選択で含み得る。
例11において、例7〜10のいずれか1つの主題は、通信相互接続において疑似ランダムパターンを送信するように更に構成されるロジックを任意選択で含み得る。
例12において、例7〜12のいずれか1つの主題は、予め定められた数の試験ループおよび予め定められた待機期間のうちの少なくとも1つを実行するように更に構成されるロジックを任意選択で含み得る。
例13は、コントローラにより実行されると、コントローラを、第1のシードを用いてビクティムレーンおよび第1のアグレッサレーンに複数の疑似ランダムパターンの第1のセットを生成することにより、ビクティムレーンおよびアグレッサレーンを含む通信相互接続において干渉試験の第1のイテレーションを実装し、第1のアグレッサレーンにおいてシードを前進させることにより、干渉試験の第2のイテレーションを実装するように構成する、非一時的コンピュータ可読媒体上に格納された複数のロジック命令を備えるコンピュータプログラム製品である。
例14において、例13の主題は、サイクルと競合する第1のシードに応答して第1のアグレッサレーンにおいてシードを前進させるように更に構成されるロジックを任意選択で含み得る。
例15において、例13〜14のいずれか1つの主題は、通信相互接続において疑似ランダムパターンを送信するように更に構成されるロジックを任意選択で含み得る。
例16において、例13〜15のいずれか1つの主題は、相互接続が第3のアグレッサレーンを含み、ロジックが第2のアグレッサレーンにおいてシードを前進させることにより、干渉試験の第3のイテレーションを実装するように更に構成される配置を任意選択で含み得る。
例17において、例13〜16のいずれか1つの主題は、通信相互接続において疑似ランダムパターンを送信するように更に構成されるロジックを任意選択で含み得る。
例18において、例13〜17のいずれか1つの主題は、予め定められた数の試験ループおよび予め定められた待機期間のうちの少なくとも1つを実行するように更に構成されるロジックを任意選択で含み得る。
例19は、再ロードレートパラメータおよびセーブレートパラメータを受信し、再ロードレートパラメータに従って第1のシードを再ロードすることにより、複数の反復疑似ランダムパターンの第1のセットを生成し、通信相互接続の第1のレーンにおいて複数の反復疑似ランダムパターンの第1のセットを送信するように構成されるハードウェアロジックを少なくとも部分的に有するロジックを備える、コントローラである。
例20において、例19の主題は、ロジックがセーブレートに応じて第1のシードを保存するように更に構成される配置を任意選択で含み得る。
例21において、例19〜20のいずれか1つの主題は、第1の疑似ランダムパターンを生成し、再ロードレートに応じて第1の疑似ランダムパターンのサブセットを反復し、通信相互接続において疑似ランダムパターンのサブセットを送信するように更に構成されるロジックを任意選択で含み得る。
例22において、例19〜21のいずれか1つの主題は、予め定められた数の試験ループおよび予め定められた待機期間のうちの少なくとも1つを実行するように更に構成されるロジックを任意選択で含み得る。
例23は、再ロードレートパラメータおよびセーブレートパラメータを受信し、再ロードレートパラメータに従って第1のシードを再ロードすることにより、複数の反復疑似ランダムパターンの第1のセットを生成し、通信相互接続の第1のレーンにおいて複数の反復疑似ランダムパターンの第1のセットを送信するように構成されるハードウェアロジックを少なくとも部分的に有するロジックを備える、少なくとも1つの処理コンポーネントおよびコントローラを備えた電子デバイスである。
例24において、例23の主題は、ロジックがセーブレートに応じて第1のシードを保存するように更に構成される配置を任意選択で含み得る。
例25において、例23〜24のいずれか1つの主題は、第1の疑似ランダムパターンを生成し、再ロードレートに応じて第1の疑似ランダムパターンのサブセットを反復し、通信相互接続において疑似ランダムパターンのサブセットを送信するように更に構成されるロジックを任意選択で含み得る。
例26において、例23〜25のいずれか1つの主題は、予め定められた数の試験ループおよび予め定められた待機期間のうちの少なくとも1つを実行するように更に構成されるロジックを任意選択で含み得る。
例27は、コントローラにより実行されると、コントローラを、再ロードレートパラメータおよびセーブレートパラメータを受信し、再ロードレートパラメータに従って第1のシードを再ロードすることにより、複数の反復疑似ランダムパターンの第1のセットを生成し、通信相互接続の第1のレーンにおいて複数の反復疑似ランダムパターンの第1のセットを送信するように構成する、非一時的コンピュータ可読媒体に格納された複数のロジック命令を備える、コンピュータプログラム製品である。
例28において、例27の主題は、ロジックがセーブレートに応じて第1のシードを保存するように更に構成される配置を任意選択で含み得る。
例29において、例27〜28のいずれか1つの主題は、第1の疑似ランダムパターンを生成し、再ロードレートに応じて第1の疑似ランダムパターンのサブセットを反復し、通信相互接続において疑似ランダムパターンのサブセットを送信するように更に構成されるロジックを任意選択で含み得る。
例30において、例27〜29のいずれか1つの主題は、予め定められた数の試験ループおよび予め定められた待機期間のうちの少なくとも1つを実行するように更に構成されるロジックを任意選択で含み得る。
本明細書において言及される「ロジック命令」という用語は、1または複数の論理オペレーションを実行する1または複数の機械により理解され得る表現に関する。例えば、複数のロジック命令は、1または複数のデータオブジェクトに1または複数のオペレーションを実行するプロセッサコンパイラにより変換可能な命令を含み得る。しかし、これは複数の機械可読命令の一例に過ぎず、例はこの点で限定されない。
本明細書において言及される「コンピュータ可読媒体」という用語は、1または複数の機械により認識可能な複数の表現を保持することができる媒体に関する。例えばコンピュータ可読媒体は、複数のコンピュータ可読命令またはデータを格納する1または複数のストレージデバイスを備え得る。そのようなストレージデバイスは例えば、光、磁気、または半導体ストレージ媒体等のストレージ媒体を備え得る。しかし、これはコンピュータ可読媒体の一例に過ぎず、例はこの点で限定されない。
本明細書において言及される「ロジック」という用語は、1または複数の論理オペレーションを実行する構造に関する。例えばロジックは、1または複数の入力信号に基づいて1または複数の出力信号を提供する回路を備え得る。そのような回路は、デジタル入力を受信してデジタル出力を提供する有限ステートマシン、または1もしくは複数のアナログ入力信号に応答して1または複数のアナログ出力信号を提供する回路を備え得る。そのような回路は、特定用途向け集積回路(ASIC)またはフィールドプログラマブルゲートアレイ(FPGA)の形で提供され得る。また、ロジックは、複数のそのような機械可読命令を実行する処理回路と組み合わせてメモリに格納される複数の機械可読命令を含み得る。しかし、これらはロジックを提供し得る構造の例に過ぎず、例はこの点で限定されない。
本明細書に説明される複数の方法のうちのいくつかは、コンピュータ可読媒体上で複数のロジック命令として実施され得る。プロセッサ上で実行されると、複数のロジック命令により、プロセッサは、説明される複数の方法を実装する専用マシンとしてプログラミングされる。プロセッサは、ロジック命令により本明細書に説明される複数の方法を実行するように構成される場合、説明される複数の方法を実行する構造を構成する。あるいは、本明細書に説明される複数の方法は、例えば、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)等におけるロジックにされてもよい。
本明細書および特許請求の範囲において、「結合される」、「接続される」という用語は、それらの派生語と共に用いられ得る。複数の具体的な例において、「接続される」は、2つまたはそれより多くの要素が互いに直接物理的または電気的に接触していることを示すべく用いられ得る。「結合される」は、2つまたはそれより多くの要素が直接物理的または電気的に接触していることを意味し得る。しかし、「結合される」は、2つまたはそれより多くの要素が互いに直接に接触しないことがあるが、なおも互いに協働または相互作用し得ることも意味し得る。
本明細書において「一例」または「いくつかの例」に言及する場合、当該例に関して説明される特定の機能、構造、または特性が少なくとも実装に含まれることを意味する。本明細書の様々な個所において「一例」という文言が現れる場合、全てが同一の例を指す場合があり、またはそうでない場合がある。
複数の構造的機能および/または方法論的動作に固有の言語で複数の例が説明されているが、特許請求される主題は、説明される特定の機能または動作に限定され得ないことを理解されたい。むしろ、特定の機能および動作は、特許請求される主題を実装する見本形態として開示されている。

Claims (30)

  1. 第1のシードを用いてビクティムレーンおよび第1のアグレッサレーンに複数の疑似ランダムパターンの第1のセットを生成することにより、前記ビクティムレーンおよび前記アグレッサレーンを含む通信相互接続において干渉試験の第1のイテレーションを実装し、
    前記第1のアグレッサレーンにおいて前記シードを前進させることにより、干渉試験の第2のイテレーションを実装するように構成されるハードウェアロジックを少なくとも部分的に有するロジックを備える、コントローラ。
  2. 前記ロジックは、前記第1のシードがサイクルを完了したことに応答して前記第1のアグレッサレーンにおいて前記シードを前進させるように更に構成される、請求項1に記載のコントローラ。
  3. 前記ロジックは、前記通信相互接続において前記疑似ランダムパターンを送信するように構成される、請求項2に記載のコントローラ。
  4. 前記相互接続は、第3のアグレッサレーンを含み、
    前記ロジックは、前記第2のアグレッサレーンにおいて前記シードを前進させることにより、干渉試験の第3のイテレーションを実装するように更に構成される、請求項1に記載のコントローラ。
  5. 前記ロジックは、前記通信相互接続において前記疑似ランダムパターンを送信するように構成される、請求項1に記載のコントローラ。
  6. 前記ロジックは、予め定められた数の試験ループおよび予め定められた待機期間のうちの少なくとも1つを実行するように構成される、請求項1に記載のコントローラ。
  7. 少なくとも1つの処理コンポーネントと、
    コントローラとを備え、
    前記コントローラは、
    第1のシードを用いるビクティムレーンおよび第1のアグレッサレーンにおいて複数の疑似ランダムパターンの第1のセットを生成することにより、前記ビクティムレーンおよび前記アグレッサレーンを含む通信相互接続において干渉試験の第1のイテレーションを実装し、
    前記第1のアグレッサレーンにおいて前記シードを前進させることにより、干渉試験の第2のイテレーションを実装するように構成されたハードウェアロジックを少なくとも部分的に含むロジックを有する、電子デバイス。
  8. 前記ロジックは、前記第1のシードがサイクルを完了したことに応答して前記第1のアグレッサレーンにおいて前記シードを前進させるように更に構成される、請求項7に記載の電子デバイス。
  9. 前記ロジックは、前記通信相互接続において前記疑似ランダムパターンを送信するように構成される、請求項8に記載の電子デバイス。
  10. 前記相互接続は、第3のアグレッサレーンを含み、
    前記ロジックは、前記第2のアグレッサレーンにおいて前記シードを前進させることにより、干渉試験の第3のイテレーションを実装するように更に構成される、請求項7に記載の電子デバイス。
  11. 前記ロジックは、前記通信相互接続において前記疑似ランダムパターンを送信するように構成される、請求項10に記載の電子デバイス。
  12. 前記ロジックは、予め定められた数の試験ループおよび予め定められた待機期間のうちの少なくとも1つを実行するように構成される、請求項7に記載の電子デバイス。
  13. コントローラにより実行されると、前記コントローラを、
    第1のシードを用いてビクティムレーンおよび第1のアグレッサレーンに複数の疑似ランダムパターンの第1のセットを生成することにより、前記ビクティムレーンおよび前記アグレッサレーンを含む通信相互接続において干渉試験の第1のイテレーションを実装し、
    前記第1のアグレッサレーンにおいて前記シードを前進させることにより、干渉試験の第2のイテレーションを実装するように構成する、非一時的コンピュータ可読媒体上に格納された複数のロジック命令を備えるコンピュータプログラム製品。
  14. 前記複数のロジック命令は、前記コントローラを、前記第1のシードがサイクルを完了したことに応答して前記第1のアグレッサレーンにおいて前記シードを前進させるように構成する、請求項13に記載のコンピュータプログラム製品。
  15. 前記複数のロジック命令は、前記コントローラを、前記通信相互接続において前記疑似ランダムパターンを送信するように構成する、請求項14に記載のコンピュータプログラム製品。
  16. 前記複数のロジック命令は、前記コントローラを、前記第2のアグレッサレーンにおいて前記シードを前進させることにより、干渉試験の第3のイテレーションを実装するように構成する、請求項13に記載のコンピュータプログラム製品。
  17. 前記複数のロジック命令は、前記コントローラを、前記通信相互接続において前記疑似ランダムパターンを送信するように構成する、請求項16に記載のコンピュータプログラム製品。
  18. 前記複数のロジック命令は、前記コントローラを、予め定められた数の試験ループおよび予め定められた待機期間のうちの少なくとも1つを実行するように構成する、請求項13に記載のコンピュータプログラム製品。
  19. 再ロードレートパラメータおよびセーブレートパラメータを受信し、
    前記再ロードレートパラメータに従って第1のシードを再ロードすることにより、複数の反復疑似ランダムパターンの第1のセットを生成し、
    通信相互接続の第1のレーンにおいて複数の反復疑似ランダムパターンの前記第1のセットを送信するように構成されるハードウェアロジックを少なくとも部分的に有するロジックを備える、コントローラ。
  20. 前記ロジックは、前記セーブレートに従って前記第1のシードを保存するように更に構成される、請求項19に記載のコントローラ。
  21. 前記ロジックは、
    第1の疑似ランダムパターンを生成し、
    前記再ロードレートに応じて前記第1の疑似ランダムパターンのサブセットを反復し、
    前記通信相互接続において前記疑似ランダムパターンの前記サブセットを送信するように構成される、請求項19に記載のコントローラ。
  22. 前記ロジックは、予め定められた数の試験ループおよび予め定められた待機期間のうちの少なくとも1つを実行するように構成される、請求項19に記載のコントローラ。
  23. 少なくとも1つの処理コンポーネントと、
    コントローラとを備え、
    前記コントローラは、
    再ロードレートパラメータおよびセーブレートパラメータを受信し、
    前記再ロードレートパラメータに従って第1のシードを再ロードすることにより、複数の反復疑似ランダムパターンの第1のセットを生成し、
    通信相互接続の第1のレーンにおいて複数の反復疑似ランダムパターンの前記第1のセットを送信するように構成されるハードウェアロジックを少なくとも部分的に含むロジックを有する、電子デバイス。
  24. 前記ロジックは、前記セーブレートに応じて前記第1のシードを保存するように更に構成される、請求項23に記載の電子デバイス。
  25. 前記ロジックは、
    第1の疑似ランダムパターンを生成し、
    前記再ロードレートに応じて前記第1の疑似ランダムパターンのサブセットを反復し、
    前記通信相互接続において前記疑似ランダムパターンの前記サブセットを送信するように構成される、請求項23に記載の電子デバイス。
  26. 前記ロジックは、予め定められた数の試験ループおよび予め定められた待機期間のうちの少なくとも1つを実行するように構成される、請求項23に記載の電子デバイス。
  27. コントローラにより実行されると、前記コントローラを、
    再ロードレートパラメータおよびセーブレートパラメータを受信し、
    前記再ロードレートパラメータに従って第1のシードを再ロードすることにより、複数の反復疑似ランダムパターンの第1のセットを生成し、
    通信相互接続の第1のレーンにおいて複数の反復疑似ランダムパターンの前記第1のセットを送信するように構成する、非一時的コンピュータ可読媒体に格納された複数のロジック命令を備える、コンピュータプログラム製品。
  28. 前記複数のロジック命令は、前記コントローラを、前記セーブレートに応じて前記第1のシードを保存するように構成する、請求項27に記載のコンピュータプログラム製品。
  29. 前記ロジックは、
    第1の疑似ランダムパターンを生成し、
    前記再ロードレートに応じて前記第1の疑似ランダムパターンのサブセットを反復し、
    前記通信相互接続において前記疑似ランダムパターンの前記サブセットを送信するように更に構成される、請求項27に記載のコンピュータプログラム製品。
  30. 前記ロジックは、予め定められた数の試験ループおよび予め定められた待機期間のうちの少なくとも1つを実行するように更に構成される、請求項27に記載のコンピュータプログラム製品。
JP2016553430A 2014-03-28 2015-03-03 干渉試験 Active JP6316977B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/229,460 2014-03-28
US14/229,460 US9722663B2 (en) 2014-03-28 2014-03-28 Interference testing
PCT/US2015/018491 WO2015148070A1 (en) 2014-03-28 2015-03-03 Interference testing

Publications (2)

Publication Number Publication Date
JP2017514199A true JP2017514199A (ja) 2017-06-01
JP6316977B2 JP6316977B2 (ja) 2018-04-25

Family

ID=54191806

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016553430A Active JP6316977B2 (ja) 2014-03-28 2015-03-03 干渉試験

Country Status (6)

Country Link
US (2) US9722663B2 (ja)
JP (1) JP6316977B2 (ja)
KR (1) KR101959960B1 (ja)
CN (1) CN106030543B (ja)
TW (1) TWI589903B (ja)
WO (1) WO2015148070A1 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107872828B (zh) * 2017-12-15 2021-04-13 北京泰德东腾通信技术有限公司 eIMTA终端一致性测试方法和装置
US10853212B2 (en) * 2018-01-08 2020-12-01 Intel Corporation Cross-talk generation in a multi-lane link during lane testing
CN112925682B (zh) * 2019-12-06 2024-02-02 澜起科技股份有限公司 具有内建自测试逻辑的测试装置及方法
US11675716B2 (en) 2019-12-10 2023-06-13 Intel Corporation Techniques for command bus training to a memory device
CN113470203B (zh) * 2021-05-17 2023-04-21 北京易路行技术有限公司 多车道etc交易方法、通行方法、系统和设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050166110A1 (en) * 2004-01-28 2005-07-28 Travis Swanson Generation of memory test patterns for DLL calibration
JP2011253253A (ja) * 2010-05-31 2011-12-15 Fujitsu Ltd コンピュータ試験方法、コンピュータ試験装置およびコンピュータ試験プログラム

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6381269B1 (en) 1999-05-28 2002-04-30 Lucent Technologies Inc. Test system with signal injection network for characterizing interference and noise tolerance in a digital signal link
US7490275B2 (en) * 2001-02-02 2009-02-10 Rambus Inc. Method and apparatus for evaluating and optimizing a signaling system
US7539489B1 (en) 2003-04-04 2009-05-26 Veriwave, Incorporated Location-based testing for wireless data communication networks
DE10339999B4 (de) * 2003-08-29 2005-07-14 Infineon Technologies Ag Pseudozufallszahlengenerator
US7272756B2 (en) * 2005-05-03 2007-09-18 Agere Systems Inc. Exploitive test pattern apparatus and method
US7231304B2 (en) 2005-06-30 2007-06-12 The Boeing Company Interference pattern testing of materials
FR2897178B1 (fr) 2006-02-07 2008-09-05 Coupling Wave Solutions Cws Sa Procede d'estimation d'un bruit genere dans un systeme electronique et procede de test d'immunite au bruit associe
JP2008180592A (ja) 2007-01-24 2008-08-07 Nec Electronics Corp テストパターン生成回路及びテスト回路
US7945049B2 (en) * 2008-02-28 2011-05-17 Red Hat, Inc. Stream cipher using multiplication over a finite field of even characteristic
US8248617B2 (en) 2008-04-22 2012-08-21 Zygo Corporation Interferometer for overlay measurements
US8026726B2 (en) * 2009-01-23 2011-09-27 Silicon Image, Inc. Fault testing for interconnections
US8331176B2 (en) * 2009-11-30 2012-12-11 Intel Corporation Method and system for evaluating effects of signal phase difference on a memory system
US20130343131A1 (en) 2012-06-26 2013-12-26 Lsi Corporation Fast tracking for flash channels
US9495271B2 (en) * 2014-01-29 2016-11-15 Freescale Semiconductor, Inc. Statistical power indication monitor for purpose of measuring power consumption

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050166110A1 (en) * 2004-01-28 2005-07-28 Travis Swanson Generation of memory test patterns for DLL calibration
JP2011253253A (ja) * 2010-05-31 2011-12-15 Fujitsu Ltd コンピュータ試験方法、コンピュータ試験装置およびコンピュータ試験プログラム

Also Published As

Publication number Publication date
US9722663B2 (en) 2017-08-01
CN106030543B (zh) 2020-06-19
TW201543055A (zh) 2015-11-16
CN106030543A (zh) 2016-10-12
TWI589903B (zh) 2017-07-01
US10516439B2 (en) 2019-12-24
US20170359099A1 (en) 2017-12-14
JP6316977B2 (ja) 2018-04-25
WO2015148070A1 (en) 2015-10-01
KR20160114118A (ko) 2016-10-04
US20150280781A1 (en) 2015-10-01
KR101959960B1 (ko) 2019-03-19

Similar Documents

Publication Publication Date Title
US10516439B2 (en) Interference testing
KR101248246B1 (ko) 주변 컴포넌트를 위한 커맨드 큐
US9685218B2 (en) Memory device and memory system having the same
KR20130024860A (ko) 주변장치 컴포넌트를 위한 높은 우선순위 커맨드 큐
KR20140022961A (ko) 메모리 컨트롤러를 사용하는 로버스트한 메모리 링크 테스팅
US10007589B2 (en) System and method for universal serial bus (USB) protocol debugging
KR101531752B1 (ko) 지역성 인식 작업 가로채기 런타임 스케줄러
US10318469B2 (en) Semiconductor memory device, memory system, and method using bus-invert encoding
US20170083461A1 (en) Integrated circuit with low latency and high density routing between a memory controller digital core and i/os
US8918680B2 (en) Trace queue for peripheral component
WO2018218954A1 (zh) 一种验证平台和验证方法、计算机存储介质
US10282344B2 (en) Sensor bus interface for electronic devices
US10649484B2 (en) Dynamic adaptive clocking for non-common-clock interfaces
US20170003717A1 (en) Memory card connector for electronic devices
JP2018516099A (ja) 電子デバイスを使用する動き追跡
CN116841697B (zh) 处理mmio请求的方法、电子装置和存储介质
US9645830B2 (en) On-chip circuitry for configuring peripherals of a system on a chip
CN115374732A (zh) 针对低温多芯片计算系统的模拟方法及其系统
Gong et al. Design and implementation of SPI flash controller based on Xilinx FPGA

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170822

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171121

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20180227

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180328

R150 Certificate of patent or registration of utility model

Ref document number: 6316977

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250