-
GEBIET DER TECHNIK
-
Diese Offenbarung bezieht sich auf Test- und Messsysteme und insbesondere auf Systeme und Verfahren zur Durchführung von elektrischen Hochgeschwindigkeits-Margin-Tests an einer elektrischen, zu testenden Vorrichtung (DUT).
-
KURZE BESCHREIBUNG DER ZEICHNUNGEN
-
Die Komponenten in den Zeichnungen sind nicht unbedingt maßstabsgetreu zueinander. Gleiche Bezugsziffern bezeichnen entsprechende Teile in den verschiedenen Ansichten.
-
1 ist ein Übersichts-Blockdiagramm, das eine beispielhafte Umgebung veranschaulicht, in der Ausführungsformen von Systemen, Vorrichtungen und Verfahren zur Hochgeschwindigkeits-Eingabe/Ausgabe (E/A) -Margin-Test gemäß einer beispielhaften Ausführungsform implementiert werden können.
-
2 ist ein Blockdiagramm, das einen beispielhaften technologiespezifischen Add-in-Karten Margin-Tester zeigt, der mit dem seriellen Hochgeschwindigkeits-Computererweiterungsbus-Standard Peripheral Component Interconnect (PCI Express) kompatibel ist, um PCI-Express-Hauptplatinen-Steckplätze zu testen, gemäß einer beispielhaften Ausführungsform.
-
3 ist ein Blockdiagramm, das eine Hauptplatine mit Steckplätzen zeigt, die mit dem PCI-Express-Standard für serielle Hochgeschwindigkeits-Computererweiterungsbusse konform sind, um PCI-Express-Add-in-Karten gemäß einer beispielhaften Ausführungsform zu testen.
-
4 ist ein Diagramm, das die Ergebnisse eines beispielhaften Margin-Tests einer zu testenden Vorrichtung (DUT) zeigt, der von einem Hochgeschwindigkeits-E/A Margin-Tester durchgeführt wird, sowie die Identifizierung potenzieller Probleme bei der Montage oder Produktion des DUT auf der Grundlage der Ergebnisse des Margin-Tests, gemäß einer beispielhaften Ausführungsform.
-
5 ist ein Diagramm, das die Ergebnisse eines weiteren Beispiel-Margin-Tests einer zu testenden Vorrichtung (DUT) zeigt, der von einem Hochgeschwindigkeits-E/A Margin-Tester durchgeführt wurde, sowie die Identifizierung potenzieller Probleme bei der Montage oder Produktion des DUT auf der Grundlage der Ergebnisse des Margin-Tests, gemäß einer beispielhaften Ausführungsform.
-
6 ist ein Blockdiagramm, das einen Allzweck Margin-Tester mit einer Vielzahl von Schnittstellen zeigt, die so ausgebildet sind, dass sie mit mindestens einer Testeinrichtung verkabelt werden können, um die elektrische Margin der multi-lane Hochgeschwindigkeits-E/A-Verbindung des DUT sowohl in Sende- (Tx) als auch in Empfangsrichtung (Rx) zu beurteilen, gemäß einer beispielhaften Ausführungsform.
-
7 ist ein Blockdiagramm auf unterer Ebene eines Margin-Testers zum Testen der elektrischen Margin einer multi-lane Hochgeschwindigkeits-E/A-Verbindung eines DUT sowohl in Txals auch in Rx-Richtung, gemäß einer beispielhaften Ausführungsform.
-
8 ist ein Blockdiagramm eines Beispiels für ein ausgebildetes feldprogrammierbares Gate-Array (FPGA), das in einem Controller eines Margin-Testers zum Testen der elektrischen Margin einer multi-lane Hochgeschwindigkeits-E/A-Verbindung eines DUT sowohl in Tx- als auch in Rx-Richtung verwendet werden kann, gemäß einer beispielhaften Ausführungsform.
-
9 ist ein Blockdiagramm von beispielhaften Ausgangsansteuerungsoptionen eines FPGAs, das in einem Controller eines Margin-Testers zum Testen der elektrischen Margin einer multi-lane Hochgeschwindigkeits-E/A-Verbindung eines DUTs in Tx-Richtung verwendet werden kann, gemäß einer beispielhaften Ausführungsform.
-
10 ist ein Flussdiagramm eines beispielhaften Verfahrens zum Margin-Testen eines DUT, gemäß einer beispielhaften Ausführungsform.
-
11 ist ein Flussdiagramm eines beispielhaften Verfahrens zur Identifizierung potenzieller Probleme bei das DUT-Montage oder -Produktion, basierend auf dem Margin-Test der elektrischen Margin einer multi-lane Hochgeschwindigkeits-E/A-Verbindung eines DUT in Tx- und Rx-Richtung, gemäß einer beispielhaften Ausführungsform.
-
12 ist ein Flussdiagramm eines beispielhaften Verfahrens zum Initiieren der Durchführung der Bewertung der elektrischen Margin durch den Margin-Tester basierend auf vom Benutzer auswählbaren Optionen, gemäß einer beispielhaften Ausführungsform.
-
13 ist ein Flussdiagramm eines beispielhaften Verfahrens zum Bereitstellen eines kalibrierten Margin-Testers gemäß einer beispielhaften Ausführungsform.
-
14 ist ein Flussdiagramm eines beispielhaften Verfahrens zum Konfigurieren des DUT für die Durchführung von Margin-Tests, gemäß einer beispielhaften Ausführungsform.
-
DETAILLIERTE BESCHREIBUNG
-
Konstrukteure und Hersteller elektrischer Geräte benötigen Test- und Messinstrumente und geeignete Testverfahren, um sicherzustellen, dass die Geräte ordnungsgemäß funktionieren. Solche Tests können in der Phase der technischen Charakterisierung eines neuen Geräts durchgeführt werden, um z. B. die tatsächliche elektrische Leistung des Geräts mit der simulierten Leistung zu vergleichen und sicherzustellen, dass das Gerät wie vorgesehen funktioniert. Solche Tests können auch in einer Produktionsumgebung durchgeführt werden, nachdem ein Entwurf fertiggestellt wurde, um Fertigungsfehler in jedem produzierten Gerät zu finden.
-
Viele elektrische Geräte sind so konstruiert, dass sie Hochgeschwindigkeits-E/A-Signalpfade oder Busse enthalten. Moderne PC-Hauptplatinen sowie andere Arten von elektrischen Geräten enthalten beispielsweise häufig serielle Hochgeschwindigkeits-PCI-Express-Busse (auch als PCle oder PCI-e abgekürzt), die mit dem PCI-Express-Standard für serielle Hochgeschwindigkeits-Computererweiterungsbusse konform sind und entsprechend funktionieren. Die Formatspezifikationen für den PCI-Express-Standard werden von der PCI Special Interest Group (PCI-SIG) gepflegt und entwickelt. Diese Busse werden typischerweise für die Kommunikation zwischen der Hauptplatine und Zusatz-/Tochterkarten verwendet, die in PCle-Steckplätze oder Ports auf der Hauptplatine gesteckt werden. Neben Hauptplatinen verwenden auch viele andere elektrische Geräte PCIe-Busse und -Stecker für Hochgeschwindigkeits-E/A. PCIe-Generation-4-Geräte (Gen 4 oder Version 4) können Bandbreiten von bis zu 16 Gigatransfers pro Sekunde (GT/s) erreichen. PCIe-Generation-5-Geräte (Gen 5 oder Version 5) können Bandbreiten bis zu 32 GT/s erreichen.
-
PCIe-Geräte kommunizieren über eine logische Verbindung, die als Verbindung oder Link bezeichnet wird. Ein Link ist ein Punkt-zu-Punkt-Kommunikationskanal zwischen zwei PCIe-Ports, der gleichzeitigen bidirektionalen Verkehr ermöglicht. Auf der physikalischen Ebene besteht ein Link aus einer oder mehreren Lanes. Low-Speed-PCIe-Geräte verwenden einen Single-Lane-Link (x1), während ein High-Speed-PCIe-Gerät, wie z. B. eine Grafikkarte, typischerweise einen viel breiteren und schnelleren 16-Lane-Link (x16) verwendet. Eine Lane besteht aus zwei differentiellen Signalpaaren, wobei ein Paar für den Empfang und das andere für die Übertragung von Daten zuständig ist. Somit besteht jede Lane aus vier Drähten oder Signal-Lanes. Konventionell wird die Leistung der Lanes eines PCIe-Geräts mit einem Bit Error Rate Tester (BERT) und/oder einem Hochgeschwindigkeits-Signalgenerator und Oszilloskop (Scope) getestet.
-
In der Entwicklungsphase einer Leiterplatte (PCB) werden die Hochgeschwindigkeitsstrecken (z. B. PCIe-Verbindungen) simuliert, oder es werden Design-„Rezepte“ oder Referenzdesigns verwendet. Oft werden dann Muster für die Vorserienproduktion gebaut und getestet. Das Testen jedes Board-Musters und jeder Lane für alle Hochgeschwindigkeits-E/As mit Bitfehlerraten-Testgeräten (BERTs) und Scopes ist jedoch aus Kosten-, Zeit- und Komplexitätsgründen in der Regel nicht machbar. Insbesondere herkömmliche BERTs und Oszilloskope zum Testen von Hochgeschwindigkeits-E/A-Standards wie PCle werden mit steigenden Datenraten immer teurer und komplexer. Eine einzelne Tx- und Rx-Teststation zum Testen einer einzigen PCIe-Lane kann über eine Million Dollar kosten. Außerdem sind die Geräte für herkömmliche Tx- und Rx-Tests und - Kalibrierungen schwer zu handhaben. Um sicherzustellen, dass die Messungen korrekt durchgeführt werden und die Geräte in einwandfreiem Zustand bleiben, sind Experten (oft auf Doktoranden-Niveau) und ein erheblicher Zeitaufwand erforderlich. Aufgrund dieser Einschränkungen werden herkömmliche BERTs und Oszilloskope nur selten bei elektrischen Volumentests von Silizium, Platinen, Leiterplatten und Kabeln in der Vorproduktion eingesetzt und in der Regel überhaupt nicht bei Produktionstests verwendet.
-
Da jedoch die Datenraten von E/A-Verbindungen wie PCI Express 5.0 mit 32,0 GT/s zunehmen, steigt das Risiko, dass selbst kleine oder subtile Probleme die Leistung dieser E/A-Verbindungen erheblich beeinträchtigen, und es wird immer wichtiger, einige Tests durchzuführen, um Probleme mit der elektrischen Leistung bei jedem Muster, Port und jeder Lane in der Vorproduktion zu erkennen, um Probleme vor der Produktion zu vermeiden, und um die elektrische Leistung bei jeder Einheit in den Produktionslinien zu testen, um produktionsbedingte Probleme (fehlerhafte Teile usw.) zu erkennen, bevor sie zu Problemen und Rücksendungen beim Kunden führen. Darüber hinaus erlauben herkömmliche BERTs und Scopes nur das Testen auf jeweils einer Lane, so dass das Testen in einer Umgebung stattfindet, die sich vom realen Betrieb dieser E/A-Verbindungen unterscheidet, die in der Regel multi-lane Verbindungen bilden und im realen Betrieb erhebliche Übersprech- und Belastungsprobleme aufweisen können, die von herkömmlichen BERT- und Scope-Tests übersehen werden können, selbst wenn diese Tests durchgeführt werden können. Ebenso werden in einer Testumgebung in der Fertigung, bei der Montage und dem Testen mehrerer Leiterplatten eines bestimmten Designs, aus Kosten-, Zeit- und Komplexitätsgründen typischerweise keine BERTs und Scopes für Hochgeschwindigkeits-E/A-Tests verwendet.
-
Deshalb besteht ein wachsender Bedarf an einem neuen Gerätetyp, der große Mengen von Vorproduktions- und Produktionsteilen prüfen und Fälle identifizieren kann, in denen sich die elektrischen Eigenschaften so verändert haben, dass sie den Betrieb beeinträchtigen. Dieses Instrument hat den größten Wert, wenn es kostengünstig, sehr einfach zu bedienen und sehr schnell im Vergleich zu herkömmlichen BERT und Scopes ist und auf den vollen Multi-Lane-E/A-Links in ihren Standard-Betriebszuständen mit voller Belastung und Übersprechen arbeiten kann. Insgesamt hat die Kenntnis der elektrischen Margin (statistisch gültige Betriebs-Margins) für jede Hochgeschwindigkeits-E/A-Lane in jeder Richtung einen Wert, der die Wahrscheinlichkeit erhöht, sowohl Design- (z. B. pro Lane über alle Produktionsmuster) als auch Montageprobleme (z. B. spezifische Board-/Lane-Instanzen) über alle Produktionsmuster hinweg zu finden.
-
Einige konventionelle Lösungen verlassen sich nur auf Funktionstests als beste Annäherung (z. B. einfaches Einstecken eines „goldenen“ oder Referenz-Bauteils und Testen der Verbindung bei voller Geschwindigkeit). Andere Firmen verwenden On-Die elektrische Margin im Silizium für ihre Karte, aber das gibt ihnen nur Informationen in eine Richtung und ist nicht kalibriert/charakterisiert wie ein Testinstrument und hinterlässt einen erheblichen Aufwand, um die Variationen von Einheit zu Einheit in der Add-In-Karte, die sie für diesen Zweck ausgewählt haben, zu behandeln und zu verstehen.
-
Hierin werden Systeme, Geräte und Verfahren für Hochgeschwindigkeits-Eingabe/Ausgabe (E/A) Margin-Tests vorgestellt, die die oben genannten technischen Probleme lösen.
-
1 ist ein Übersichts-Blockdiagramm, das eine beispielhafte Umgebung zeigt, in der Ausführungsformen von Systemen, Geräten und Verfahren für Hochgeschwindigkeits-E/A-Margin-Tests gemäß einer beispielhaften Ausführungsform implementiert werden können. In einer Ausführungsform ist ein Margin-Tester 102 dargestellt, der die elektrische Empfänger-Margin einer multi-lane Hochgeschwindigkeits-E/A-Verbindung 110 eines Beispiel-DUT 104 in Tx- und Rx-Richtung oder in beiden Richtungen bewertet. Der Margin-Tester 102 der 1 repräsentiert eine oder mehrere der hierin offenbarten Ausführungsformen des Margin-Testers.
-
Der Margin-Tester 102 kann mit einer Teststation, einem PC, einem Terminal oder einem anderen Anzeigegerät 106 gekoppelt sein, das eine Augenmusteranzeige oder ein Datenaugendiagramm 108, das verschiedene Aspekte der multi-lane Hochgeschwindigkeits-E/A-Verbindung 110 darstellt, verarbeiten, replizieren und/oder präsentieren kann. In einigen Ausführungsformen kann die Prüfstation, der PC, das Terminal oder ein anderes Anzeigegerät 106 in den Margin-Tester 102 integriert oder Teil davon sein. Die Augenmusteranzeige oder das Datenaugendiagramm 108 ist eine Darstellung eines digitalen Hochgeschwindigkeitssignals, die es ermöglicht, Schlüsselparameter der elektrischen Qualität eines Signals schnell zu visualisieren und zu bestimmen, und somit können Daten daraus verwendet werden, um statistisch gültige Betriebs-Margins eines DUT zu bestimmen. Die Augenmusteranzeige oder das Datenaugendiagramm 108 wird aus einer digitalen Wellenform konstruiert, indem die Teile der Wellenform, die jedem einzelnen Bit entsprechen, zu einem einzigen Graphen mit der Signalamplitude auf der vertikalen Achse und der Zeit auf der horizontalen Achse gefaltet werden. Durch Wiederholung dieser Konstruktion über viele Abtastwerte der Wellenform stellt der resultierende Graph die durchschnittliche Statistik des Signals dar und ähnelt einem Auge. Die Augenöffnung entspricht einer Bitperiode und wird typischerweise als Einheitsintervallbreite (UI, Unit Interval) der Augenmusteranzeige oder des Datenaugendiagramms 108 bezeichnet. Die Bitperiode ist ein Maß für die horizontale Öffnung eines Augendiagramms an den Kreuzungspunkten des Auges und wird normalerweise in Pikosekunden für ein digitales Hochgeschwindigkeitssignal gemessen (d. h. 200 ps werden für ein 5-Gbit/s-Signal verwendet). Die Datenrate ist der Kehrwert der Bitperiode (1/Bitperiode). Die Bitperiode wird bei der Beschreibung eines Augendiagramms üblicherweise als Unit Interval (UI) bezeichnet. Der Vorteil der Verwendung von UI anstelle der tatsächlichen Zeit auf der horizontalen Achse ist, dass sie normalisiert ist und Augendiagramme mit unterschiedlichen Datenraten leicht verglichen werden können. Die Augenbreite ist ein Maß für die horizontale Öffnung eines Augendiagramms. Sie wird berechnet, indem die Differenz zwischen dem statistischen Mittelwert der Kreuzungspunkte des Auges gemessen wird. Anstiegszeit ist ein Maß für die mittlere Übergangszeit der Daten auf der Aufwärtsflanke eines Augendiagramms. Die Messung erfolgt typischerweise an den 20- und 80-Prozent- oder 10- und 90-Prozent-Stufen der Steigung. Die Abfallzeit ist ein Maß für die mittlere Übergangszeit der Daten auf der Abwärtsflanke eines Augendiagramms. Die Messung erfolgt typischerweise an den 20- und 80-Prozent- oder 10- und 90-Prozent-Stufen der Steigung. Jitter ist die zeitliche Abweichung vom idealen Timing eines Datenbit-Ereignisses und ein wichtiges Merkmal eines digitalen Hochgeschwindigkeits-Datensignals. Zur Berechnung des Jitters werden die Zeitabweichungen der Übergänge der steigenden und fallenden Flanken eines Augendiagramms am Kreuzungspunkt gemessen. Die Schwankungen können zufällig und/oder deterministisch sein. Das Zeithistogramm der Abweichungen kann analysiert werden, um den Betrag des Jitters zu bestimmen. Der Peak-to-Peak (p-p)-Jitter ist definiert als die volle Breite des Histogramms, d. h. alle vorhandenen Datenpunkte. Der Root Mean Square (RMS)-Jitter ist definiert als die Standardabweichung des Histogramms. Die Einheiten für eine Jitter-Messung bei einem digitalen Hochgeschwindigkeitssignal sind normalerweise in Pikosekunden.
-
Ausführungsformen des Margin-Testers 102 können mindestens zwei Formen annehmen: technologiespezifisch und universell einsetzbar. Der Margin-Tester 102 kann mit jeder Hochgeschwindigkeits-E/A-Protokollverbindung mit beliebiger Verbindungsbreite (Anzahl der Lanes) verwendet werden und jede Form der Hochgeschwindigkeits-Differenzsignalisierung verwenden, einschließlich, aber nicht beschränkt auf, Non-Return-to-Zero (NRZ), Puls-Amplituden-Modulation-3 (PAM-3) und Puls-Amplituden-Modulation-4 (PAM-4). Für ein konkretes Ausführungsbeispiel zum Testen wird PCI Express verwendet. Es können jedoch auch andere serielle Hochgeschwindigkeitsbusstandards, Hardware und Protokolle verwendet werden.
-
2 ist ein Blockdiagramm, das einen beispielhaften technologiespezifischen Margin-Tester 202 für Add-in-Karten zeigt, der mit dem seriellen Hochgeschwindigkeits-Computererweiterungsbus-Standard PCI Express konform ist, um PCI-Express-Hauptplatinen-Steckplätze 206 gemäß einer beispielhaften Ausführungsform zu testen.
-
In einer technologiespezifischen Form kann eine Ausführungsform des Margin-Testers als PCI-Express-Add-in-Karten Margin-Tester 202 implementiert werden, um PCI-Express-Hauptplatinen-Steckplätze 206 einer zu testenden Hauptplatine 204 zu testen. Beispielsweise kann der PCI-Express-Add-in-Karten Margin-Tester 202 eine PCI-Express-x16-Karte mit elektromechanischer Spezifikation (CEM) als Formfaktor-Add-in-Karte sein. In einer anderen technologie-spezifischen Ausführungsform kann eine Ausführungsform des Margin-Testers als Grundplatine mit PCI-Express-Steckplatz(en) zum Testen von PCI-Express-Add-in-Karten implementiert sein (wie in 3 gezeigt).
-
Der PCI-Express-Add-in-Karten Margin-Tester 202 kann den Formfaktor einer standardmäßigen PCI-Express-konformen Add-in-Karte für einen bestimmten PCI-Express-Formfaktor aufweisen (z. B. CEM oder M.2 (früher bekannt als Next Generation Form Factor (NGFF) oder U.2 (früher bekannt als SFF-8639), usw.). Der PCI-Express-Add-in-Karten Margin-Tester 202 kann eine oder mehrere Leiterplatten (PCBs) umfassen, wie z. B. PCB 212 und eine oder mehrere Komponenten, die konforme physikalische und logische PCI-Express-Verbindungsschichten für jede Lane implementieren. Der PCI-Express-Add-in-Card Margin-Tester 202 kann eine Vielzahl von Schnittstellen (z. B. Steckverbinder 208) umfassen, die mit der PCB 212 und einem Controller 210 verbunden sind. Solche Schnittstellen können beispielsweise eine Vielzahl von Steckverbindern 208 umfassen, die mit den Hauptplatinen-Steckplätzen 206 und den Sendern des Margin-Testers verbunden sind, die unter der Steuerung des Controllers 210 optional die Fähigkeit beinhalten, kontrolliertes Rauschen zu injizieren, beispielsweise durch Spannungsschwankungen und sinusförmigen Jitter, so dass die am Empfänger der zu testenden Hauptplatine 204 erwartete Augen-Margin auf spezifische Ziele für Timing oder Spannungs-Margin variiert werden kann, ohne dass Software auf der zu testenden Hauptplatine 204 laufen muss. Der Controller 210 kann auch mit dem Speicher 214 gekoppelt sein, der Anweisungen und andere Daten speichern kann, die der Controller 210 lesen, verwenden und/oder ausführen kann, um die hierin beschriebenen Funktionen auszuführen.
-
Verschiedene Ausführungsformen des Margin-Testers 102 (einschließlich des technologiespezifischen PCI-Express-Add-in-Card Margin-Testers 202, des technologiespezifischen Hauptplatinen Margin-Testers 302 und des Allzweck Margin-Testers 602) können mit oder ohne die Rauschinjektion sein. Für kostenbewusste Produktionstests kann die Ausführungsform ohne Rauschinjektion attraktiver sein. Die Margin-Tester-Empfänger in der konformen Physical-Layer-Implementierung können die Fähigkeit beinhalten, die Verbindung gemäß den PCI-Express-4.0/5.0-Lane-Margining-Spezifikationen zu marginieren, sie können aber auch zusätzliche und anspruchsvollere On-Die-Margining-Funktionen beinhalten. In einer Ausführungsform können die Margin-Tester-Empfänger den Eye-Margin messen, indem sie den unabhängigen Fehlerdetektor bewegen und mit dem Data Sampler auf Fehlanpassungen vergleichen. In einer Implementierung kann der Controller 210, der den Margin-Tester 102 (einschließlich des technologiespezifischen PCI-Express-Add-in-Card Margin-Testers 202, des technologiespezifischen Hauptplatinen Margin-Testers 302 und des Allzweck Margin-Testers 602) veranlasst, die hierin beschriebenen Funktionen auszuführen, mit einem Field Programmable Gate Array (FPGA) und den FPGA-E/As implementiert werden, was in 7 bis 9 näher dargestellt ist. Es können jedoch auch andere Kombinationen von konfigurierbarer Controller-Hardware, -Firmware und/oder -Software verwendet werden.
-
3 ist ein Blockdiagramm, das einen beispielhaften technologiespezifischen Hauptplatinen Margin-Tester 302 mit Steckplätzen zeigt, die mit dem PCI-Express-Standard für serielle Hochgeschwindigkeits-Computererweiterungsbusse konform sind, um PCI-Express-Add-in-Karten gemäß einer beispielhaften Ausführungsform zu testen.
-
Der Hauptplatinen Margin-Tester 302 ist ein weiteres Beispiel für eine technologiespezifische Ausführungsform des hier offengelegten Margin-Testers 102, der als Hauptplatinen Margin-Tester 302 mit einem oder mehreren PCI-Express-Steckplätzen 306 implementiert ist, um PCI-Express-Add-in-Karten zu testen, wie z. B. die in 3 gezeigte PCle x16-Add-in-Karte DUT 304. Der Hauptplatinen Margin-Tester 302 kann eine Vielzahl von Schnittstellen (z. B. einen oder mehrere PCI-Express-Steckplätze 306) umfassen, die mit der Leiterplatte 312 und dem Controller 210 verbunden sind. Solche Schnittstellen können beispielsweise eine Vielzahl von einem oder mehreren PCI-Express-Steckplätzen 306 umfassen, in die die PCIe-x16-Add-in-Karte DUT 304 zum Testen eingesetzt werden kann. Margin-Tester-Sender, die unter der Steuerung des Controllers 210 optional die Fähigkeit beinhalten, kontrolliertes Rauschen, z. B. durch Spannungshub und sinusförmigen Jitter (weiter unten und in Bezug auf 8 und 9 beschrieben), zu injizieren, so dass die am Empfänger der PCIe-x16-Add-in-Karte DUT 304 erwartete Augen-Margin auf bestimmte Zielwerte für Timing oder Spannungs-Margin variiert werden kann, ohne dass Software auf der PCIe-x16-Add-in-Karte DUT 304 laufen muss. Beispielsweise kann der Controller 210 so ausgebildet sein, dass er die elektrische Margin der single-lane oder multi-lane Hochgeschwindigkeits-E/A-Verbindung bewertet, indem er zumindest so ausgebildet ist, dass er eine Verringerung der Augenbreitenöffnung durch Einspeisung von Jitter in die Margin-Testsender einspeist (oder andere Methoden zur Verringerung der Augenbreitenöffnung implementiert), wobei die Einspeisung von Jitter so gewählt werden kann, dass sie auf alle Lanes der single-lane oder multi-lane Hochgeschwindigkeits-E/A-Verbindung gleichzeitig oder unabhängig pro Lane der single-lane oder multi-lane Hochgeschwindigkeits-E/A-Verbindung angewendet wird. Außerdem kann der Controller 210 so ausgebildet sein, dass er die elektrische Margin der single-lane oder multi-lane Hochgeschwindigkeits-E/A-Verbindung bewertet, indem er zumindest so ausgebildet ist, dass er eine Verringerung der Augenhöhenöffnung durch Einspeisung von Rauschen in die Margin-Testsender einspeist (oder andere Methoden zur Verringerung der Augenhöhenöffnung implementiert), wobei die Einspeisung von Rauschen so gewählt werden kann, dass sie auf alle Lanes der single-lane oder multi-lane Hochgeschwindigkeits-E/A-Verbindung gleichzeitig oder unabhängig pro Lane der single-lane oder multi-lane Hochgeschwindigkeits-E/A-Verbindung angewendet wird.
-
Der Controller 210 kann auch mit einem Speicher 214 gekoppelt sein, der Anweisungen und andere Daten speichern kann, die der Controller 210 lesen, verwenden und/oder ausführen kann, um die hierin beschriebenen Funktionen auszuführen.
-
Haltbarkeit und Bestückungsanzahl sind wichtige Aspekte für die technologiespezifischen Ausführungsformen des Margin-Testers 102 (einschließlich des technologiespezifischen PCI-Express-Add-in-Card Margin-Testers 202 und des technologiespezifischen Hauptplatinen Margin-Testers 302). So können die Leiterplatte 212 und die Leiterplatte 312 implementiert und die Margins mit Hilfe eines Adapters charakterisiert werden, der so ausgebildet ist, dass er bei Abnutzung kostengünstig ausgetauscht werden kann, ohne dass der Rest der Margin-Testeinheit ersetzt werden muss. Beispielsweise kann ein austauschbarer Adapter mit dem einen oder den mehreren PCI-Express-Steckplätzen 306 und/oder Steckverbindern 208 gekoppelt und so ausgebildet sein, dass er nach einer bestimmten Nutzungsdauer abgenutzt ist. Der Adapter kann dann ausgetauscht werden, sobald er abgenutzt ist, ohne dass der Rest des PCI-Express-Add-in-Card Margin-Testers 202 bzw. des Hauptplatinen Margin-Testers 302 ausgetauscht werden muss.
-
4 ist ein Diagramm 402, das die Ergebnisse eines beispielhaften Margin-Tests mehrerer DUTs zeigt, der vom Hochgeschwindigkeits-E/A Margin-Tester 102 durchgeführt wurde, sowie die Identifizierung potenzieller Probleme bei der Montage oder Produktion von DUTs auf der Grundlage der Ergebnisse des Margin-Tests gemäß einer beispielhaften Ausführungsform.
-
In einem Ausführungsbeispiel kann der Margin-Test für jedes DUT einer Vielzahl von zu testenden Vorrichtungen (DUTs) die Bewertung der Timing-Augenbreiten-Margin in Tx- und Rx-Richtung oder in beiden Richtungen für jede Hochgeschwindigkeits-Eingangs-/Ausgangs-Lane (E/A) einer multi-lane Hochgeschwindigkeits-E/A-Verbindung des DUT durch den Margin-Tester 102 umfassen. Der Margin-Tester 102 kann dann Timing-Eye-Breite-Margin-Messungen für mehrere DUTs der Vielzahl von DUTs erkennen, die jeweils unter einem vorbestimmten Schwellenwert für verschiedene Lanes über die mehreren DUTs liegen. Ein potenzielles DUT-Baugruppen- oder Produktionsproblem kann dann (visuell oder automatisch durch den Margin-Tester 102) basierend auf der Erkennung der Timing-Augenbreiten-Margin-Messung für die mehreren DUTs, die jeweils unter dem vorbestimmten Schwellenwert für verschiedene Lanes über die mehreren DUTs liegen, erkannt werden.
-
Als Beispiel kann in einer Ausführungsform der Add-in-Karten Margin-Tester, wie der in 2 gezeigte Add-in-Karten Margin-Tester 202, für den Prüfstands-Test / die Charakterisierung von Vorserienmustern einer Hauptplatine mit einem PCle x8-Steckplatz verwendet werden. Der folgende Beispiel-Testprozess kann mit dem Add-in-Card Margin-Tester 202 durchgeführt werden, wobei eine E-6-Timing-Augenbreite (links + rechts) für den Steckplatz über mehrere Millisekunden gleichzeitig auf jeder Lane gemessen wird. Das vorliegende Beispiel umfasst der Einfachheit halber nur das Timing, aber andere Ausführungsformen können auch andere Messungen umfassen. Jede Messung im vorliegenden Beispiel wird dreimal durchgeführt. Dies kann jedoch in verschiedenen Ausführungsformen vom Benutzer programmierbar sein. Die in der Tabelle 402 gezeigten Messungen werden sowohl an den Empfängern des Margin-Testers als auch an den Empfängern des DUT auf der Hauptplatine durchgeführt. Die Messungen, die an den Empfängern des Hauptplatinen DUT durchgeführt werden, können auf zwei Arten erfolgen. Die erste Möglichkeit ist die Verwendung von Jitter (Sj) und Spannungshub-Sweeps des Margin-Testers. Die zweite Möglichkeit ist die Verwendung von On-Die-Margin-Tests am Hauptplatinen-Empfänger. Beispielsweise kann der On-Die-Margin-Test am Hauptplatinen-Empfänger unter der Kontrolle des Controllers 210 des Add-in-Card Margin-Testers 202 durch Software auf einem bootfähigen Laufwerk, das mit dem Hauptplatinen-DUT verbunden ist, oder durch BIOS-Software (Basic Input/Output System) auf dem Hauptplatinen-DUT für unterstützte Geschwindigkeiten ausgeführt werden. Im vorliegenden Beispiel werden die Messungen bei 16 GT/s durchgeführt, können aber variieren und vom Benutzer konfigurierbar sein.
-
Das obige Beispiel-Testverfahren kann die in Diagramm 402 gezeigten Beispielergebnisse für die durchschnittliche Margin am Testempfänger ergeben. Wie im Diagramm 402 gezeigt, kann die durchgängig niedrige Margin auf Lane 2 über alle fünf DUTs, DUT #1 bis DUT #5, ein Indikator für ein mögliches Designproblem sein. Im Gegensatz dazu kann die niedrige Margin auf DUT #1 Lane 4, DUT #3 auf Lane 0 und DUT #4 auf Lane 6 ein Indikator für mögliche Montage- oder Produktionsprobleme mit diesen spezifischen Lanes auf diesen spezifischen DUTs sein.
-
5 ist ein Diagramm, das die Ergebnisse eines weiteren beispielhaften Margin-Tests einer zu testenden Vorrichtung (DUT) zeigt, der von einem Hochgeschwindigkeits-E/A Margin-Tester durchgeführt wurde, sowie die Identifizierung potenzieller DUT-Montage- oder Produktionsprobleme auf der Grundlage der Ergebnisse des Margin-Tests, gemäß einer beispielhaften Ausführungsform.
-
Ähnliche Indikatoren für potenzielle Designprobleme und/oder potenzielle Montageprobleme können auch in den Beispielergebnissen gesehen werden, die im Diagramm 502 von 5 für den Spannungshub und die durchschnittliche Sj-Margin am DUT-Empfänger gezeigt werden: Wie im Diagramm 502 gezeigt, kann die durchgängig niedrige Margin auf Lane 1 über alle fünf DUTs, DUT #1 bis DUT #5, ein Indikator für ein mögliches Designproblem sein. Im Gegensatz dazu kann die niedrige Margin auf DUT #1 Lane 0, DUT #1 auf Lane 5 und DUT #2 auf Lane 7 ein Indikator für mögliche Montage- oder Produktionsprobleme mit diesen spezifischen Lanes auf diesen spezifischen DUTs sein.
-
Zusätzliche Merkmale von Ausführungsformen der offengelegten Technologie können die folgenden Funktionen umfassen, die unter der Steuerung des Controllers 210 ausgeführt werden können (z. B. Ausführen von Anweisungen gemäß einem dazu ausgebildeten FPGA und/oder Lesen von einem anderen nicht-transitorischen computerlesbaren Speichermedium): Auswählen von einem oder mehreren verschiedenen Hochgeschwindigkeits-E/A-Protokollen, mit denen der Margin-Test basierend auf der multi-lane Hochgeschwindigkeits-E/A-Verbindung des DUT durchgeführt werden soll; gleichzeitiges Testen mehrerer Ports des DUT mit gemischten Protokollen; Ausgeben der Variation des Margin über eine beliebige Anzahl von Margin-Testläufen des Margin-Testers auf der multi-lane Hochgeschwindigkeits-E/A-Verbindung; Implementierung einer festen Tx-Entzerrung (EQ) auf dem DUT, um zu testen, wie viel der Margin-Variation auf die Tx-EQ-Trainingsvariation zurückzuführen ist; Verwendung einer festen kontinuierlichen zeitlinearen Entzerrung (CTLE) in den Empfängern des Margin-Testers, um die Auswirkung der Empfänger-Entzerrung auf die Margin der multi-lane Hochgeschwindigkeits-E/A-Verbindung des DUT zu testen; Verwendung von entscheidungsrückgekoppelter Entzerrung (DFE) in den Empfängern des Margin-Testers, um die Auswirkung der Empfängerentzerrung auf den Margin der multi-lane Hochgeschwindigkeits-E/A-Verbindung des DUT zu testen; Berechnung der erwarteten Margins für den Margin-Tester auf der Grundlage der Zielkanäle; automatische Erzeugung von Fehlersuch-Informationen, wenn niedrige Margins als Ergebnis der Bewertung der elektrischen Margin der multi-lane Hochgeschwindigkeits-E/A-Verbindung erkannt werden; Umschalten auf die Verwendung einer variablen Inter-Symbol-Interferenz (ISI)-Quelle, um herauszufinden, wie viel ISI dazu führt, dass Lanes der Multi-Lane-High-Speed-E/A-Verbindung ausfallen; Testen jeder Lane einzeln, um einen Betrag des Margin-Verlusts aufgrund von Übersprechen der Multi-Lane-High-Speed-E/A-Verbindung des DUT zu identifizieren; Ausschalten von DFE in den Empfängern des Margin-Testers, um die Margin mit und ohne DFE und einen Betrag von nichtlinearen Diskontinuitäten in jedem Kanal, der mit der multi-lane Hochgeschwindigkeits-E/A-Verbindung verbunden ist, zu bewerten; Anzeigen von erwarteten Margins mit Referenzempfängern und typischen Kanälen, was es ermöglicht, eine niedrigere als die erwartete Margin zu kennzeichnen, selbst wenn die niedrigere als die erwartete Margin über alle Lanes der multi-lane Hochgeschwindigkeits-E/A-Verbindung des DUT und von mehreren DUTs konsistent ist; Auswählen aus mehreren Geschwindigkeiten der multi-lane Hochgeschwindigkeits-E/A-Verbindung, auf der die Bewertung der elektrischen Margin durchgeführt wird; Ableiten, wann Fehler an den Empfängern des DUT aufgetreten sind, basierend auf Verkehr, der sich in einer entgegengesetzten Richtung auf der multi-lane Hochgeschwindigkeits-E/A-Verbindung bewegt, durch den Margin-Tester unter Verwendung von protokollspezifischem Wissen, um den Margin-Tester in die Lage zu versetzen, Margin-Tests auf Produktionslinien ohne Software auf dem DUT durchzuführen; automatisches Erfassen von Zeitbereichsreflektometrie-Messwerten (TDRs) von Kanälen mit niedriger Margin, die als Ergebnis der Bewertung der elektrischen Margin der multi-lane Hochgeschwindigkeits-E/A-Verbindung erfasst werden; Durchführen einer automatischen Verbindung zu einem Oszilloskop, um automatisch digitalisierte Wellenformen zu erfassen, wenn niedrige Spielräume als Ergebnis der Bewertung der elektrischen Margin der multi-lane Hochgeschwindigkeits-E/A-Verbindung erfasst werden; und Bereitstellen eines Software-Plug-ins, um die eine oder mehrere der vom Benutzer auswählbaren Optionen für den DUT zu konfigurieren, indem das DUT-Silizium ausgebildet wird, um die eine oder mehrere der vom Benutzer auswählbaren Optionen zu implementieren. Unter der Kontrolle des Controllers 210 können einige der oben genannten Funktionen auch als vom Benutzer auswählbare Optionen für den Betrieb des Margin-Testers 102 bereitgestellt werden.
-
6 ist ein Blockdiagramm, das einen Allzweck Margin-Tester 602 mit einer Vielzahl von Schnittstellen 604 zeigt, die so ausgebildet sind, dass sie z. B. über ein oder mehrere Kabel mit mindestens einer Testeinrichtung verbunden werden können, um die elektrische Margin der multi-lane Hochgeschwindigkeits-E/A-Verbindung des DUT entweder in Tx- oder in Rx-Richtung oder in beiden Richtungen zu beurteilen, gemäß einer beispielhaften Ausführungsform.
-
Der Allzweck Margin-Tester 602 umfasst einen Controller 210 und einen zugehörigen Speicher 214, der Anweisungen und andere Daten speichern kann, die der Controller 210 lesen, verwenden und/oder ausführen kann, um die hier beschriebenen Funktionen auszuführen. Der Allzweck Margin-Tester 602 kann eine gewisse Anzahl von Lanes enthalten, die über Schnittstellen 604 mit Standard-Testeinrichtungen verbunden, z. B. verkabelt, werden können, wie z. B. das Standard-PCI-Express-Compliance-Load-Board (CLB), um unter Steuerung des Controllers 210 die gleichen Tests durchzuführen wie die technologiespezifischen Ausführungsformen des Margin-Testers (z. B. Add-in-Card Margin-Tester 202 und Motherboard Margin-Tester 302). Darüber hinaus unterstützt der Allzweck Margin-Tester 602 mehrere Protokolle und die Konfigurationssoftware des Allzweck Margin-Testers 602 enthält Optionen zur Konfiguration der Lanes für verschiedene Protokolle und Host-/Gerätefunktionen. Der Allzweck Margin-Tester 602 kann auch zum Testen von Add-in-Karten verwendet werden, indem er mit Testeinrichtungen verkabelt wird, einschließlich des standardmäßigen PCI Express Compliance Base Board (CBB) zum Testen von Add-in-Karten. Die Schnittstellen 604 des Allzweck Margin-Testers 602 können standardmäßige koaxiale Steckverbinder und Kabel für jedes Hochgeschwindigkeits-Differenzsignal enthalten oder, in verschiedenen anderen Ausführungsformen, kundenspezifische hochdichte Steckverbinder und Halterungen, um die Anzahl der Kabel zu minimieren und den Wechsel von einem DUT zu einem anderen DUT effizienter zu gestalten.
-
7 ist ein Blockdiagramm auf unterer Ebene eines Margin-Testers 102 zum Testen der elektrischen Margin einer multi-lane Hochgeschwindigkeits-E/A-Verbindung eines DUT in Tx- und Rx-Richtung oder in beiden Richtungen gemäß einer beispielhaften Ausführungsform.
-
Gezeigt ist ein FPGA 714, der betriebsfähig mit einer Supporteinheit 710 (die Ethernet- und andere Kommunikationsfunktionalität enthalten kann), einer Zeitbasiseinheit 708 zur Bereitstellung eines Systemreferenztakts, einer Hochgeschwindigkeits-E/A(=HSIO)-Ausgangseinheit 702 und einer HSIO-Eingangseinheit 704 gekoppelt ist. Der Margin-Tester 102 kann auch über ein AC/DC-Netzteil 716 mit Strom versorgt werden. Die HSIO-Ausgangseinheit 702 und die HSIO-Eingangseinheit 704 sind ebenfalls mit E/A-Anschlüssen 706 funktionsfähig gekoppelt. Der FPGA 714 ist ein Halbleiterbaustein, der auf einer Matrix aus konfigurierbaren Logikblöcken (CLBs) basiert, die über programmierbare Verbindungen miteinander verbunden sind. In verschiedenen Ausführungsformen kann der Margin-Tester 102 weniger oder mehr Komponenten als dargestellt haben, und einige Komponenten oder Funktionen der dargestellten Komponenten können sich, obwohl sie in betriebsfähiger Kommunikation mit dem Margin-Tester 102 stehen, außerhalb oder getrennt vom Margin-Tester 102 befinden oder im FPGA 714 angeordnet oder integriert sein.
-
Der FPGA 714 kann nach der Herstellung auf die gewünschten Anwendungs- oder Funktionsanforderungen umprogrammiert werden, um beispielsweise die hier beschriebene Funktionalität des Margin-Testers s 102 auszuführen. Beispielsweise kann die Firmware auf dem FPGA 714 als Standard-PCI-Express-Upstream-Port (zum Testen von Hauptplatinen, wie in der Ausführungsform des Margin-Testers 202 für Add-in-Karten) oder als Standard-PCI-Express-Root-Port (zum Testen von Add-in-Karten, wie in der Ausführungsform des Margin-Testers 302 für Hauptplatinen) fungieren, einschließlich einer Link-Layer-Logik für den Margin-Tester 102, um anhand des Datenverkehrs in der Gegenrichtung zu erkennen, wann Fehler am Empfänger des DUT beginnen, und um die Margin-Belastung schnell zu reduzieren, sobald Fehler auftreten, um einen katastrophalen Ausfall der Verbindung zu verhindern. In einigen Ausführungsformen kann der FPGA 714 unter Verwendung einer Systems-on-Modules (SoM)-Architektur implementiert sein oder diese anderweitig beinhalten, die Speicher, Schnittstellen usw. in den FPGA 714 einbinden kann. Das SoM kann z. B. mit einer Advanced Reduced Instruction Set (RISC)-Maschine, ursprünglich Acorn RISC Machine (ARM)-Architektur, implementiert sein.
-
Eine Konfigurationsanwendung und/oder ein Skript kann über den FPGA 714 implementiert oder auf einer anderen zugänglichen Speichervorrichtung oder einem anderen nicht-übertragbaren computerlesbaren Speichermedium gespeichert sein, das es einem Endbenutzer ermöglicht, auf einfache Weise Margin-Tester-Optionen des Margin-Testers 102 zu konfigurieren, einschließlich mehrerer Durchläufe mit einer oder mehreren der folgenden Optionen. In einigen Ausführungsformen kann eine Option für ein Bitfehlerraten-Ziel (BER) für Margin-Abtastungen eingestellt werden (Millisekunden für Margins des Typs E-6 und Minuten für Margins des Typs E-12). Solche Ziele können z. B. beinhalten, sind aber nicht beschränkt auf Ziele, die sich auf Folgendes beziehen: Anzahl der Margin-Abtastungen, Margin-Taktung und/oder Spannung; Fixierung der Tx-Entzerrung für die Sender des Margin-Testers oder des DUT; und Fixierung von Rx CTLE und DFE für die Empfänger des Margin-Testers. In einigen Ausführungsformen wird eine optionale Anwendung und/oder ein Skript bereitgestellt, das Daten aus dem Margin-Tester 102 entfernt und Visualisierungswerkzeuge für Benutzer bereitstellt, um große Sätze von Margin-Daten über mehrere Produkte/Proben hinweg zu betrachten und Durchschnittswerte, Testlauf-Abweichungen und Trends über die Zeit zu sehen und Margin-Daten über mehrere Läufe auf demselben DUT mit verschiedenen Konfigurationsoptionen (feste Tx-Entzerrung usw.) zu vergleichen. In einigen Ausführungsformen wird eine optionale Anwendung bereitgestellt, die auf einem bootfähigen Laufwerk implementiert werden kann, um sie auf der zu testenden Hauptplatine zu installieren, und die zusätzliche Optionen für das Testen der Hauptplatine freischaltet, einschließlich, aber nicht beschränkt auf: Laufen im Loopback-Modus anstelle von L0 und Verwenden spezifischer Muster; Verwenden der On-Die-Margining-Funktionen im DUT-Silizium anstelle des Spannungshubs und des Sj-Margining von den DUT-Sendern, und Laufen auf beide Arten und Vergleichen der Ergebnisse.
-
In einigen Ausführungsformen wird ein optionales Plug-in-Modell bereitgestellt, das es der Margin-Tester-Konfigurationsanwendung ermöglichen würde, auch die RX-Entzerrungseinstellungen auf dem DUT-Silizium zu konfigurieren, wenn ein Plug-in für dieses bestimmte DUT-Silizium bereitgestellt wird. In einigen Ausführungsformen wird ein optionales IBIS-AMI (oder ein ähnliches) Softwaremodell für jede einzelne Margin-Test-Einheit bereitgestellt, das von Designern und Systemintegratoren in ihre Simulationen einbezogen werden kann, um bei der Festlegung von Testgrenzen/Methoden für bestimmte Kunden-Setups zu helfen. IBIS-AMI ist ein Modellierungsstandard für Serializer/Deserializer (SerDes) Physical Layers (PHYs), der eine schnelle, genaue, statistisch signifikante Simulation von seriellen Multi-Gigabit-Verbindungen ermöglicht. In einigen Ausführungsformen wird ein optionales IBIS-AMI-Modell für die Margin-Test-Einheit bereitgestellt, zusammen mit Kundenmodellen (IBIS-AMI- oder Streuungs-(S)-Parameter) und kann auch bei Folgeversuchen verwendet werden, um ein gewisses Maß an System-De-Embed für eine erhöhte Genauigkeit und Wiederholbarkeit einzubeziehen.
-
8 ist ein Blockdiagramm eines Beispiels für ein ausgebildetes Field Programmable Gate Array (FPGA) 714, das in einem Controller 210 eines Margin-Testers 102 zum Testen der elektrischen Margin einer multi-lane Hochgeschwindigkeits-E/A-Verbindung eines DUT in Tx- und Rx-Richtung oder in beiden Richtungen verwendet werden kann, gemäß einer beispielhaften Ausführungsform.
-
In verschiedenen Ausführungsformen kann der FPGA 714 weniger oder mehr Komponenten als gezeigt haben, und einige der gezeigten Komponenten und/oder die Funktionalität dieser Komponenten, die in betriebsfähiger Kommunikation mit dem FPGA 714 stehen, können sich außerhalb oder getrennt vom FPGA 714 befinden. Abgebildet ist eine Registerschnittstelle 804, die funktionsfähig mit einer LAN-Verbindung (Local Area Network) 802 gekoppelt ist, die ein SerDes enthalten kann. Die Registerschnittstelle 804 ist auch funktionsfähig mit einer Link Training and Status State Machine (LTSSM), Rx-Controller 806, gekoppelt. Einer der Prozesse auf der physikalischen Schicht des Betriebs des Margin-Testers 102 ist der Link-Initialisierungs- und Trainingsprozess. In PCI-Express-Geräten legt dieser Prozess viele wichtige Aufgaben fest, wie z. B. Link-Breiten-Aushandlung, Link-Datenraten-Aushandlung, Bit-Lock pro Lane, Symbol-Lock/Block-Alignment pro Lane usw. Alle diese Funktionen werden von den LTSSM-Geräten ausgeführt, die die Impulse von entfernten Link-Partnern sowie den aktuellen Zustand des Links beobachten und entsprechend darauf reagieren. Die Registerschnittstelle 804 ist auch mit einer oder mehreren zusätzlichen LTSSM-Controller-Einheiten funktionsfähig gekoppelt, z. B. mit einem LTSSM Universal Serial Bus (USB)-Controller 808 und einem zusätzlichen LTSSM USB-Controller 810. In dem gezeigten Ausführungsbeispiel ist der LTSSM Rx-Controller 806 funktionsfähig mit einem PCle Physical Layer (PHY) 16x SerDes 812 gekoppelt und der LTSSM USB-Controller 808 ist funktionsfähig mit einer USB/Thunderbolt/Display-Port (USB/TBT/DP) PHY x4-Einheit 814 gekoppelt. Eine Jitter-Steuereinheit 816 ist ebenfalls als Teil des FPGA 714 vorhanden oder funktionsfähig mit diesem gekoppelt, um eine Jitter-Einfügungseinheit so zu steuern, dass die am DUT-Empfänger erwartete Augen-Margin auf bestimmte Ziele für Timing oder Spannungs-Margin variiert werden kann, ohne dass Software auf dem DUT laufen muss.
-
9 ist ein Blockdiagramm von Beispiel-Ausgangsansteuerungsoptionen eines FPGAs, wie FPGA 714, das in einem Controller, wie Controller 210, eines Margin-Testers zum Testen der elektrischen Margin einer multi-lane Hochgeschwindigkeits-E/A-Verbindung eines DUTs in entweder Tx- oder Rx-Richtung oder in beiden Richtungen verwendet werden kann, gemäß einer beispielhaften Ausführungsform.
-
Die erste Ausgangstreiberoption ist eine FPGA-Direkttreiberoption 818, die nicht gepuffert ist und keine Varactor-Verzögerungsinjektion oder Jitterinjektion enthält. Die zweite Ausgangstreiberoption ist eine gepufferte Treiberoption 820, die einen linearen Puffer oder Begrenzungsverstärker 826 mit differentieller Ausgangsspannung (Vod) enthält, der keine Varactor-Verzögerungsinjektion oder Jitterinjektion enthält. Die dritte Ausgangstreiberoption ist eine Varactor-Verzögerungsinjektionsoption 822, die einen linearen Puffer 826 und eine Varactorkomponente 828 enthält, was zu einer Intersymbolinterferenz (ISI) plus einer gewissen Verzögerung führt, die z. B. ~3-5ps betragen kann. Die vierte Ausgangstreiberoption ist eine Jitter-Injektionsoption 824, die in einer Ausführungsform einen linearen Puffer 826, der enthalten sein kann oder auch nicht, und einen anwendungsspezifischen integrierten Schaltkreis (ASIC) 830 mit Verzögerung (~100ps bei 32 GBd) enthalten kann, der ebenfalls von ADSANTEC erhältlich ist. In einigen Ausführungsformen ist der lineare Puffer 826 nicht enthalten. In solchen Ausführungsformen, in denen der lineare Puffer 826 nicht enthalten ist, kann die Jitter-Injektion beispielsweise durch differentielle Rauschinjektion durchgeführt werden.
-
In verschiedenen Ausführungsformen können verschiedene Arten von Stress vom Margin-Tester 102 verwendet werden, um eine Vielzahl verschiedener entsprechender Fehlermodi zu identifizieren, einschließlich, aber nicht beschränkt auf Fehlermodi in Bezug auf: Montage; Verbindungen (Oberflächenmontagetechnologie (SMT), Gehäuse, Steckverbinder, Durchgangslöcher, Vias usw.); Defekte; Auswirkungen auf den Serienwiderstand; Fehlermodi, die ISI und Basislinienverschiebung verursachen; Auswirkungen auf den Augenschluss; Fehlermodi, die andere Ursachen als den Breitenschluss haben; funktionale Test-Escape; Konfigurationsfehler des Bedieners; eingehendes Material; Prozessvariationen; Empfängerbandbreite, die den Änderungen der Verbindungen ähnlich ist; Power Supply Rejection Ratio (PSRR); vertikaler/horizontaler Augenschluss; PLL-Stabilität; Design; Deltas zwischen Lanes. Die Varactor-basierte Methode zur Jitter-Einfügung kann effektiver sein, um montagebedingte Defekte zu verschlimmern.
-
10 ist ein Flussdiagramm eines beispielhaften Verfahrens 1000 zur Margin-Test einer zu testenden Vorrichtung (DUT), gemäß einer beispielhaften Ausführungsform.
-
Bei 1002 stellt der Margin-Tester 102 eine multi-lane Hochgeschwindigkeits-E/A-Verbindung des zu testenden Vorrichtung (DUT) her.
-
Bei 1004 bewertet der Margin-Tester 102 eine elektrische Margin in Sende- (Tx) und Empfangsrichtung (Rx) für jede Hochgeschwindigkeits-Eingangs-/Ausgangs-Lane (E/A) der multi-lane Hochgeschwindigkeits-E/A-Verbindung. Die Bewertung der elektrischen Margin kann beispielsweise die Injektion einer einstellbaren Belastung auf den Margin-Test-Sender der multi-lane Hochgeschwindigkeits-E/A-Verbindung umfassen. Die einstellbare Belastung kann die Injektion von Jitter umfassen, der auf alle Lanes der multi-lane Hochgeschwindigkeits-E/A-Verbindung gleichzeitig angewendet wird, sowie die Anwendung von Spannungsschwankungen. Die Bewertung der elektrischen Margin kann auch die Bewertung der elektrischen Margin sowohl in Sende- (Tx) als auch in Empfangsrichtung (Rx) gleichzeitig für jede Hochgeschwindigkeits-Eingangs-/Ausgangs-Lane (E/A) der multi-lane Hochgeschwindigkeits-E/A-Verbindung umfassen.
-
11 ist ein Flussdiagramm eines beispielhaften Verfahrens 1100 zur Identifizierung potenzieller Probleme bei der Montage oder Produktion eines DUT basierend auf der Prüfung der elektrischen Margin einer multi-lane Hochgeschwindigkeits-E/A-Verbindung eines DUT in Tx- und Rx-Richtung oder in beiden Richtungen, gemäß einer beispielhaften Ausführungsform.
-
Bei 1102 bewertet der Margin-Tester 102 für jedes DUT einer Vielzahl von DUTs die Timing-Augenbreiten-Margin in Tx- und Rx-Empfangsrichtung oder in beiden Richtungen für jede Hochgeschwindigkeits-Eingabe/Ausgabe (E/A)-Lane einer multi-lane Hochgeschwindigkeits-E/A-Verbindung des DUT.
-
Bei 1104 detektiert der Margin-Tester 102, basierend auf der Bewertung, Timing-Augenbreiten-Margin-Messungen für jedes DUT der Vielzahl von DUTs, die konsistent unter einem vorbestimmten Schwellenwert für eine gleiche Lane über die Vielzahl von DUTs liegen.
-
Bei 1106 identifiziert der Margin-Tester 102 ein potentielles DUT-Designproblem basierend auf der Erkennung der Timing-Augenbreiten-Margin-Messung für jedes DUT der Vielzahl von DUTs, die konsistent unter dem vorbestimmten Schwellenwert für dieselbe Lane über die Vielzahl von DUTs liegen. Das Erkennen kann auch oder stattdessen das Erkennen, basierend auf der Bewertung, von Timing-Augenbreiten-Margin-Messungen für mehrere DUTs der Vielzahl von DUTs beinhalten, die jeweils unter einem vorbestimmten Schwellenwert für verschiedene Lanes über die Vielzahl von DUTs liegen.
-
12 ist ein Flussdiagramm eines beispielhaften Verfahrens 1200 zum Initiieren der Durchführung der Bewertung der elektrischen Margin durch den Margin-Tester 102 basierend auf vom Benutzer auswählbaren Optionen, gemäß einer beispielhaften Ausführungsform.
-
Bei 1202 stellt der Margin-Tester 102 vom Benutzer auswählbare Optionen für einen Margin-Tester bereit, der so ausgebildet ist, dass er eine multi-lane Hochgeschwindigkeits-Eingangs-/Ausgangs (E/A)-Verbindung einer zu testenden Vorrichtung (DUT) herstellt und eine elektrische Margin der multi-lane Hochgeschwindigkeits-E/A-Verbindung entweder in Sende- (Tx) oder Empfangsrichtung (Rx) oder in beiden Richtungen bewertet. Die vom Benutzer auswählbaren Optionen können Anpassungen für die Bewertung der elektrischen Margin der multi-lane Hochgeschwindigkeits-E/A-Verbindung enthalten.
-
Bei 1204 empfängt der Margin-Tester 102 eine Anzeige der Auswahl einer oder mehrerer der vom Benutzer auswählbaren Optionen für den Margin-Tester 102.
-
Bei 1206 initiiert der Margin-Tester 102 die Durchführung der Bewertung der elektrischen Margin der multi-lane Hochgeschwindigkeits-E/A-Verbindung durch den Margin-Tester 102 auf der Grundlage der Anzeige der Auswahl der einen oder mehreren der vom Benutzer auswählbaren Optionen für den Margin-Tester 102. Die vom Benutzer auswählbaren Optionen können, sind aber nicht beschränkt auf, eine oder mehrere der folgenden Optionen beinhalten eine auswählbare Option, um ein oder mehrere unterschiedliche Hochgeschwindigkeits-E/A-Protokolle auszuwählen, mit denen der Margin-Test basierend auf der multi-lane Hochgeschwindigkeits-E/A-Verbindung des DUT durchgeführt werden soll; eine auswählbare Option, um mehrere Ports des DUT mit gemischten Protokollen gleichzeitig zu testen; eine auswählbare Option, um eine Run-to-Run-Variation im Margin über eine beliebige Anzahl von Margin-Testläufen des Margin-Testers auf der multi-lane Hochgeschwindigkeits-E/A-Verbindung auszugeben; eine wählbare Option zum Implementieren einer festen Tx-Entzerrung (EQ) auf dem DUT, um zu testen, wie viel von der Margin-Variation auf die Tx-EQ-Trainingsvariation zurückzuführen ist; eine wählbare Option zum Verwenden von fixiertem CTLE in Empfängern des Margin-Testers, um die Auswirkung der Empfänger-Entzerrung auf die Margin der multi-lane Hochgeschwindigkeits-E/A-Verbindung des DUT zu testen; eine auswählbare Option zur Verwendung von Decision Feedback Equalization (DFE) in den Empfängern des Margin-Testers, um die Auswirkung der Empfänger-Entzerrung auf die Margin der multi-lane Hochgeschwindigkeits-E/A-Verbindung des DUT zu testen; eine auswählbare Option zur Berechnung der erwarteten Margins für den Margin-Tester auf der Grundlage von Zielkanälen; eine auswählbare Option zur automatischen Erzeugung von Fehlersuch-Informationen, wenn niedrige Margins als Ergebnis der Bewertung der elektrischen Margin der multi-lane Hochgeschwindigkeits-E/A-Verbindung erkannt werden; eine auswählbare Option für den Margin-Tester, um auf die Verwendung einer variablen Inter-Symbol-Interferenz-(ISI)-Quelle umzuschalten, um herauszufinden, wie viel ISI dazu führt, dass Lanes der Multi-Iane-High-Speed-E/A-Verbindung ausfallen; eine auswählbare Option für den Margin-Tester, um jede Lane einzeln zu testen, um einen Betrag des Margin-Verlustes aufgrund von Übersprechen der Multi-Iane-High-Speed-E/A-Verbindung des DUT zu identifizieren; eine auswählbare Option zum Abschalten von DFE in den Empfängern des Margin-Testers, um die Margin mit und ohne DFE und ein Ausmaß an nichtlinearen Diskontinuitäten in jedem mit der multi-lane Hochgeschwindigkeits-E/A-Verbindung verbundenen Kanal zu bewerten; eine auswählbare Option für Charakterisierungsdaten für den Margin-Tester, die erwartete Margins mit Referenzempfängern und typischen Kanälen zeigt und es ermöglicht, dass eine niedrigere als die erwartete Margin markiert wird, selbst wenn die niedrigere als die erwartete Margin über alle Lanes der multi-lane Hochgeschwindigkeits-E/A-Verbindung des DUT und von mehreren DUTs konsistent ist; eine auswählbare Option, um aus mehreren Geschwindigkeiten der multi-lane Hochgeschwindigkeits-E/A-Verbindung auszuwählen, auf der die Bewertung der elektrischen Margin durchgeführt wird; eine auswählbare Option für den Margin-Tester, um zu folgern, wann Fehler an den Empfängern des DUT aufgetreten sind, basierend auf dem Verkehr, der sich in einer entgegengesetzten Richtung auf der multi-lane Hochgeschwindigkeits-E/A-Verbindung bewegt, durch den Margin-Tester unter Verwendung von protokollspezifischem Wissen, um den Margin-Tester in die Lage zu versetzen, Margin-Tests auf Produktionslinien ohne Software auf dem DUT durchzuführen; eine auswählbare Option, um automatisch Zeitbereichsreflektometrie-Messwerte (TDRs) von Kanälen mit niedriger Margin zu erfassen, die als Ergebnis der Bewertung der elektrischen Margin der multi-lane Hochgeschwindigkeits-E/A-Verbindung erkannt werden; eine auswählbare Option, um eine automatische Verbindung zu einem Oszilloskop durchzuführen, um automatisch digitalisierte Wellenformen zu erfassen, wenn niedrige Margins als Ergebnis der Bewertung der elektrischen Margin der multi-lane Hochgeschwindigkeits-E/A-Verbindung erkannt werden; und eine auswählbare Option, um die eine oder mehrere der vom Benutzer auswählbaren Optionen für das DUT zu konfigurieren, indem das DUT-Silizium ausgebildet wird, um die eine oder mehrere der vom Benutzer auswählbaren Optionen zu implementieren.
-
13 ist ein Flussdiagramm eines beispielhaften Verfahrens 1300 zur Bereitstellung eines kalibrierten Margin-Testers gemäß einer beispielhaften Ausführungsform.
-
Bei 1302 kann der Margin-Tester 102 Optionen bereitstellen, um eine Kalibrierung des Margin-Tester 102 durchzuführen, oder er kann eine Kalibrierung des Margin-Tester 102 durchführen, so dass ein Benutzer einen Satz von erwarteten Margin-Abweichungen mit einer Reihe von Referenzkanälen erhalten kann.
-
Bei 1304 wird der kalibrierte Margin-Tester bereitgestellt, der so ausgebildet ist, dass er die elektrische Augen-Margin einer oder beiden Sende- (Tx) und Empfangsrichtungen (Rx) einer zu testenden Vorrichtung (DUT) mit einer vollständig laufenden Betriebsverbindung des DUT ohne spezielle Testmodi misst und die volle Belastung und Übersprechungseffekte erfasst. Es kann auch ein individuell kalibriertes Modell für den Margin-Tester bereitgestellt werden, das die Berechnung der erwarteten Margins mit einem oder mehreren der folgenden Modelle ermöglicht: individualisierte Systemkanäle, Empfängermodelle und Sendermodelle. Außerdem wird eine Funktion im DUT-Silizium bereitgestellt, die es dem Margin-Tester ermöglicht, herstellerdefinierte Nachrichten oder einen anderen Protokollmechanismus zu verwenden, um anzuzeigen, dass eine Margin-Prüfung durch den Margin-Tester stattfinden wird, wodurch das DUT-Silizium in der Lage ist, Logik zu deaktivieren, die die Verbindungsbreite oder Geschwindigkeit der Verbindung aufgrund von Fehlern für eine Dauer der Margin-Prüfung verschlechtern würde.
-
Es wird auch eine Softwareanwendung des Margin-Testers bereitgestellt, die die Durchführung des Tests durch den Margin-Tester einer zu testenden Kanalkomponente (z. B. eine nackte Leiterplatte (PCB) oder ein Kabel) in einer Testkonfiguration ermöglicht, in der ein Margin-Tester auf einer oder beiden Seiten der zu testenden Kanalkomponente verwendet wird. In einigen Ausführungsformen wird die Hardware des Margin-Testers einem Unternehmen zur Verfügung gestellt, das eine Leiterplatte (PCB) herstellt, und die mit der Verwendung des Margin-Testers verbundenen Daten werden Siliziumunternehmen zur Verfügung gestellt, die das bei der Herstellung der Leiterplatte verwendete Silizium liefern.
-
14 ist ein Flussdiagramm eines beispielhaften Verfahrens 1400 zum Konfigurieren des DUT für die Durchführung von Margin-Tests gemäß einer beispielhaften Ausführungsform.
-
Bei 1402 empfängt der Margin-Tester 102 Konfigurationseinstellungen für eine zu testende Vorrichtung (DUT);
-
Bei 1404 konfiguriert der Margin-Tester 102 das DUT für die Ausführung von Margin-Tests durch den Margin-Tester 102 unter verschiedenen Bedingungen für Silizium des DUT. Der Margin-Tester 102 kann ein Software-Plug-in empfangen, das die Konfiguration und die DUT-Siliziumparameter für die Ausführung der Margin-Tests durch den Margin-Tester 102 unter den verschiedenen Bedingungen für das Silizium des DUT ermöglicht. Die DUT-Silizium-Parameter können einen oder mehrere der folgenden Parameter umfassen, sind aber nicht darauf beschränkt: Parameter, die sich auf die zeitkontinuierliche CTLE des Empfängers beziehen, und Parameter, die sich auf die DFE beziehen.
-
Nutzen, Vorteile und Verbesserungen der offenbarten Ausführungsformen umfassen unter anderem die folgenden Merkmale. Einige Ausführungsformen können fast vollständig mit handelsüblichen Komponenten, einschließlich Standard-FPGAs und Sinus-Jitter-Injektions-Chips oder Verzögerungsleitungen, implementiert werden und sind im Vergleich zu herkömmlichen BERTs und Scopes sehr kostengünstig. Eine beispielhafte Ausführungsform kann auf vollen multi-lane Verbindungen laufen, die im normalen Betriebszustand arbeiten, ohne dass eine spezielle Software erforderlich ist, und alle Effekte erfassen, die durch den gleichzeitigen Betrieb aller Lanes entstehen. Ein weiterer Vorteil ist, dass Ausführungsformen der vorliegenden Offenlegung in einer oder beiden Richtungen (Tx und Rx) in einer einzigen, in sich geschlossenen Einheit testen können. Verschiedene Ausführungsformen können auch in einer Produktionsumgebung (z. B. in einer Hauptplatinen-Produktionstestumgebung) ausgeführt werden, ohne dass irgendwelche Software oder Modifikationen am DUT erforderlich sind. Eine testspezifische Logik, die je nach Protokoll variiert, kann in der Silizium-/Firmware des Margin-Testers 102 bereitgestellt werden, um sehr schnell zu erkennen, wenn Fehler am Empfänger des DUT auftreten, basierend auf den Daten, die vom zur testenden Vorrichtung zurück an den Margin-Tester übertragen werden. Einige beispielhafte Ausführungen beinhalten Funktionen, die im DUT-Silizium implementiert sind, um durch herstellerspezifische PCI-Express-Nachrichten oder andere Standardprotokollfunktionen zu erkennen, dass eine Margin-Prüfung stattfinden wird, und das DUT-Silizium in einen Zustand zu versetzen, in dem es die Link-Breite und/oder -Geschwindigkeit normalerweise nicht aufgrund von Fehlern verschlechtern würde. Dadurch wird sichergestellt, dass der Margin-Prozess an den DUT-Empfängern mit Hilfe von Rauschinjektion oder Spannungsschwankungsanpassungen ohne das Risiko einer Verschlechterung der Link-Breite oder -Geschwindigkeit durch normale Protokollmechanismen erfolgen kann. Dies ist eine Alternative zu spezieller Logik, um schnell zu erkennen, wann Fehler beginnen, und die Belastung zu reduzieren, bevor eine Beeinträchtigung der Verbindung oder der Geschwindigkeit auftreten kann.
-
Eine weitere Verbesserung, die durch eine hierin beschriebene beispielhaften Ausführungsform bereitgestellt wird, besteht darin, dass jede Margin-Tester-Einheit einer Vielzahl von Margin-Tester-Einheiten individuell kalibriert und charakterisiert wird, so dass die Benutzer die erwarteten Margin-Werte mit jeder spezifischen Einheit kennen und selbst die kleinsten Abweichungen von der Erwartung über ihre Vorproduktions- und Produktionseinheiten hinweg kennzeichnen können. Als Teil dieser individuellen Charakterisierung und Kalibrierung kann ein Modell, wie z. B. ein IBIS-AMI-Modell, für jeden einzelnen Margin-Tester 102 bereitgestellt werden, das es den Endbenutzern ermöglicht, die erwarteten Margins für ihre spezifischen Kanalmodelle auf der Grundlage simulierter oder gemessener S-Parameter zu berechnen.
-
Die Offenbarung beschreibt ausgeklügelte Margin-Tester, die sehr schnell und sehr einfach zu bedienen sind. Es wird eine komfortable und effiziente Konfigurationssoftware für die Längen-Margin-Messung und verschiedene Optionen bereitgestellt, die vom Benutzer konfiguriert werden können. Einmal konfiguriert, fährt der Margin-Tester 102 den Link wie ein beliebiges Standardgerät hoch und führt dann automatisch die Messungen auf dem laufenden Link durch. Die Prüfung erfolgt auf allen Lanes gleichzeitig und für schnelle elektrische Margin-Scans können diese in Millisekunden erfolgen. Dies ermöglicht Volumentests, einschließlich vollständiger Tests aller Hochgeschwindigkeits-E/A-Ports und Lanes. Verschiedene Ausführungsformen bieten verschiedene Margin-Test-Modi, um ein gewisses Maß an Problemcharakterisierung zu ermöglichen, ohne dass herkömmliche Instrumente erforderlich sind, einschließlich, aber nicht beschränkt auf: Wiederholungszählung und Analyse der Lauf-zu-Lauf-Variabilität der Margin und der ausgewählten Tx-Entzerrung (sowohl für das DUT als auch für den Margin-Tester) und der ausgewählten RX-Entzerrung (für die Margin-Test-Empfänger) sowie der Wahrscheinlichkeit von Trainingsproblemen in den Tx- oder Rx-Trainingsalgorithmen des DUT; Fixierung der Sender-Entzerrung in beiden Richtungen und Beobachtung der Auswirkungen auf die Margin; Fixierung der Empfänger-Entzerrung (CTLE) und der Anzahl der DFE-Abgriffe (einschließlich Null) im Empfänger des Margin-Testers und Betrachtung der Auswirkungen auf die Margin-Werte. Zum Beispiel deuten signifikante Margin-Änderungen, wenn DFE ausgeschaltet wird, auf eine signifikante Diskontinuität in einem bestimmten Kanal hin.
-
Ein weiterer Vorteil, den verschiedene Ausführungsformen des Margin-Testers 102 bieten, besteht darin, dass jeder Hochgeschwindigkeits-E/A-Port und jede Lane eines bestimmten DUT über alle Vorproduktionseinheiten und in der tatsächlichen Produktion auf die elektrische Margin getestet werden kann und eine beispiellose Fähigkeit geschaffen wird, Probleme und potenzielle Probleme zu erkennen, bevor sie überhaupt in die Produktion gelangen oder bevor sie zu den Kunden gelangen. Verschiedene Ausführungsformen ermöglichen auch die Analyse der Margin vor und nach einer Vielzahl von Verbindungsereignissen wie Leistungszustandsübergängen (in einigen Fällen unter Verwendung von Software auf dem DUT).
-
Frühere Lösungen haben sehr allgemeine und hochgradig funktionsfähige Jitter- und Rauscheinfügungsmethoden. Verschiedene Ausführungsformen der Offenlegung haben einen Vorteil gegenüber diesen Lösungen, indem sie die Jitter-/Amplituden-Belastung erheblich vereinfachen, aber nicht eliminieren, um diese notwendige Aufgabe zu erfüllen. Diese Einfachheit führt zu niedrigeren Betriebskosten, schnelleren Ergebnissen und erhöhtem Produktvertrauen (durch die Sammlung großer Datensätze) im Vergleich zu dem, was mit den bestehenden Methoden erforderlich wäre.
-
Aspekte der Offenbarung können auf einer speziell geschaffenen Hardware, auf Firmware, digitalen Signalprozessoren oder auf einem speziell programmierten Allzweckcomputer mit einem Prozessor, der nach programmierten Anweisungen arbeitet, arbeiten. Die Begriffe Controller oder Prozessor, wie sie hier verwendet werden, sollen Mikroprozessoren, Mikrocomputer, anwendungsspezifische integrierte Schaltungen (ASICs) und spezielle Hardware-Controller umfassen. Ein oder mehrere Aspekte der Offenbarung können in computerverwendbaren Daten und computerausführbaren Anweisungen verkörpert sein, z. B. in einem oder mehreren Programmmodulen, die von einem oder mehreren Computern (einschließlich Überwachungsmodulen und Steuerungen) oder anderen Geräten ausgeführt werden. Im Allgemeinen umfassen Programmmodule Routinen, Programme, Objekte, Komponenten, Datenstrukturen usw., die bestimmte Aufgaben ausführen oder bestimmte abstrakte Datentypen implementieren, wenn sie von einem Prozessor in einem Computer oder einem anderen Gerät ausgeführt werden. Die computerausführbaren Anweisungen können auf einem nicht-transitorischen, computerlesbaren Speichermedium wie einer Festplatte, einer optischen Platte, einem Wechselspeichermedium, einem Festkörperspeicher, einem DDR-Speicher, einem Random Access Memory (RAM) usw. gespeichert sein. Wie ein Fachmann erkennen wird, kann die Funktionalität der Programmmodule in verschiedenen Aspekten beliebig kombiniert oder verteilt werden. Darüber hinaus kann die Funktionalität ganz oder teilweise in Firmware oder Hardware-Äquivalenten wie integrierten Schaltkreisen, FPGA und dergleichen verkörpert sein. Bestimmte Datenstrukturen können verwendet werden, um einen oder mehrere Aspekte der Offenbarung effektiver zu implementieren, und solche Datenstrukturen werden im Rahmen der hier beschriebenen computerausführbaren Anweisungen und computerverwendbaren Daten in Betracht gezogen.
-
Die offenbarten Aspekte können in einigen Fällen in Hardware, Firmware, Software oder einer beliebigen Kombination davon implementiert werden. Die offengelegten Aspekte können auch als Anweisungen implementiert werden, die von einem oder mehreren oder nicht-transitorischen computerlesbaren Medien getragen werden oder darauf gespeichert sind, die von einem oder mehreren Prozessoren gelesen und ausgeführt werden können. Solche Anweisungen können als Computerprogrammprodukt bezeichnet werden. Computerlesbare Medien, wie hier beschrieben, sind alle Medien, auf die ein Computergerät zugreifen kann. Als Beispiel und nicht als Einschränkung können computerlesbare Medien Computerspeichermedien und Kommunikationsmedien umfassen.
-
Computerspeichermedien sind beliebige Medien, die zum Speichern von computerlesbaren Informationen verwendet werden können. Als Beispiel und ohne Einschränkung können Computerspeichermedien RAM, ROM, Electrically Erasable Programmable Read-Only Memory (EEPROM), Flash-Speicher oder andere Speichertechnologien, Compact Disc Read Only Memory (CD-ROM), Digital Video Disc (DVD) oder andere optische Plattenspeicher, Magnetkassetten, Magnetbänder, Magnetplattenspeicher oder andere magnetische Speichervorrichtungen und alle anderen flüchtigen oder nichtflüchtigen, entfernbaren oder nicht entfernbaren Medien umfassen, die in einer beliebigen Technologie implementiert sind. Computerspeichermedien schließen Signale als solche und vorübergehende Formen der Signalübertragung aus.
-
Kommunikationsmedien sind alle Medien, die für die Kommunikation von computerlesbaren Informationen verwendet werden können. Beispielhaft und ohne Einschränkung können Kommunikationsmedien Koaxialkabel, Glasfaserkabel, Luft oder jedes andere Medium umfassen, das für die Kommunikation von elektrischen, optischen, Hochfrequenz- (HF), Infrarot-, akustischen oder anderen Arten von Signalen geeignet ist.
-
Zusätzlich wird in dieser schriftlichen Beschreibung auf bestimmte Merkmale hingewiesen. Es ist zu verstehen, dass die Offenbarung in dieser Spezifikation alle möglichen Kombinationen dieser besonderen Merkmale umfasst. Wenn zum Beispiel ein bestimmtes Merkmal im Zusammenhang mit einem bestimmten Aspekt offenbart wird, kann dieses Merkmal, soweit möglich, auch im Zusammenhang mit anderen Aspekten verwendet werden.
-
Auch wenn in dieser Anmeldung auf ein Verfahren mit zwei oder mehr definierten Schritten oder Vorgängen Bezug genommen wird, können die definierten Schritte oder Vorgänge in beliebiger Reihenfolge oder gleichzeitig ausgeführt werden, sofern der Kontext diese Möglichkeiten nicht ausschließt.
-
Obwohl bestimmte Aspekte der Offenbarung zum Zwecke der Veranschaulichung dargestellt und beschrieben wurden, versteht es sich, dass verschiedene Modifikationen vorgenommen werden können, ohne vom Geist und Umfang der Offenbarung abzuweichen. Dementsprechend sollte die Offenbarung nicht eingeschränkt werden, außer durch die beigefügten Ansprüche.