DE112007000574B4 - System und Verfahren zur asymmetrischen Steuerung einer bidirektionalen Hochgeschwindigkeitssignalführung - Google Patents
System und Verfahren zur asymmetrischen Steuerung einer bidirektionalen Hochgeschwindigkeitssignalführung Download PDFInfo
- Publication number
- DE112007000574B4 DE112007000574B4 DE112007000574T DE112007000574T DE112007000574B4 DE 112007000574 B4 DE112007000574 B4 DE 112007000574B4 DE 112007000574 T DE112007000574 T DE 112007000574T DE 112007000574 T DE112007000574 T DE 112007000574T DE 112007000574 B4 DE112007000574 B4 DE 112007000574B4
- Authority
- DE
- Germany
- Prior art keywords
- data
- crc
- information
- follower
- paths
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/0001—Systems modifying transmission characteristics according to link quality, e.g. power backoff
- H04L1/0023—Systems modifying transmission characteristics according to link quality, e.g. power backoff characterised by the signalling
- H04L1/0026—Transmission of channel quality indication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0061—Error detection codes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/20—Arrangements for detecting or preventing errors in the information received using signal quality detector
- H04L1/205—Arrangements for detecting or preventing errors in the information received using signal quality detector jitter monitoring
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/24—Testing correct operation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/24—Testing correct operation
- H04L1/242—Testing correct operation by comparing a transmitted test signal with a locally generated replica
- H04L1/243—Testing correct operation by comparing a transmitted test signal with a locally generated replica at the transmitter, using a loop-back
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L25/00—Baseband systems
- H04L25/02—Details ; arrangements for supplying electrical power along data transmission lines
- H04L25/03—Shaping networks in transmitter or receiver, e.g. adaptive shaping networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L2001/0092—Error control systems characterised by the topology of the transmission link
- H04L2001/0094—Bus
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L25/00—Baseband systems
- H04L25/02—Details ; arrangements for supplying electrical power along data transmission lines
- H04L25/03—Shaping networks in transmitter or receiver, e.g. adaptive shaping networks
- H04L25/03006—Arrangements for removing intersymbol interference
Abstract
Description
- Technisches Gebiet
- Diese Erfindung betrifft Kommunikationsverbindungen und betrifft insbesondere die Kommunikation über bidirektionale Verbindungen.
- Hintergrund der Erfindung
- In vielen Systemen werden konventionelle bidirektionale Hochgeschwindigkeitssignalschemata eingesetzt, in denen der Aufwand zum Steuern der Amplitude und Phase der Signale, die über einen Kanal gesendet werden, in gleicher Weise zwischen den jeweiligen Enden einer Kommunikationsverbindung aufgeteilt sind. In derartigen Systemen ist die Steuerung der Verbindung symmetrisch ausgebildet, so dass der Sender und Empfänger an jeweiligem Ende der Verbindung eine sehr ähnliche Funktionsweise beinhalten.
- Ein Beispiel eines derartigen Systems ist ein Speichersystem, in welchem ein komplexes Hauptgerät bzw. Master-Gerät (beispielsweise Speichersteuerung) und einfachere Folgegeräte bzw. Slave-Geräte (beispielsweise Speicherbauelemente) vorgesehen sind. Die bidirektionalen Datenübertragungen entsprechen dabei Schreibdaten, wenn zu dem Folgegerät übertragen wird, und Lesedaten, wenn ausgehend von dem Folgegerät übertragen wird. Um Übertragungen mit hohen Datenraten zu ermöglichen, ist eine Taktphasenwiderherstellungsfunktion in dem Empfänger an jedem Ende des bidirektionalen Datenbusses eingerichtet. Für Kanäle mit einem ausgeprägt starken Frequenzverlust oder Reflektionen wird der Kanal entzerrt bzw. angepasst, um ein „Schließen” eines Datenauges auf Grund der Wirkung von Zwischensymbolsteuerungen (ISI) zu vermeiden. Des weiteren besitzen Verbindungen, die hohe Datenübertragungsraten aufweisen, eine ausgeprägte Wahrscheinlichkeit für das Auftreten von Bitfehlern. Somit wird auch ein Mittel zum Fehlererkennen typischerweise eingerichtet. Wie zuvor angegeben ist, werden diese Funktionen konventioneller Weise an beiden Enden der Verbindung eingerichtet. Es ist jedoch wünschenswert, die Folgegeräte bzw. die untergeordneten oder Slave-Geräte zu vereinfachen, wobei die Steuerung der analogen Eigenschaften der Datensignalformen, die in beiden Richtungen übertragen werden, beibehalten wird.
- Die
US 2005/0057292 A1 - Die
US 2005/0276261 A1 - Überblick über die Offenbarung
- Die Aufgabe der vorliegenden Erfindung wird durch das System nach Anspruch 1 und das Verfahren nach Anspruch 5 gelöst.
- Kurze Beschreibung der Zeichnungen
-
1 ist eine Blockansicht einer Ausführungsform eines Systems mit einer asymmetrischen Steuerung eines bidirektionalen Datenaustausches. -
2 ist eine Ansicht, in der detailliertere Aspekte einer Ausführungsform des Folgegeräts aus1 gezeigt sind. -
3 ist ein Flussdiagramm, das die Funktionsweise der in den1 und2 gezeigten Ausführungsformen beschreibt. -
4 ist eine Blockansicht, die weitere Details der Ausführungsform des Systems aus1 mit einer Verwürfelungs- und Entwürfelungslogik zeigt. -
5 ist eine Ansicht, die eine Ausführungsform einer beispielhaften Codierung über eine Bytegruppe zeigt. -
6 ist eine Ansicht, die eine Ausführungsform des Codierens einer maskierten Schreiboperation darstellt. -
7 ist eine Ansicht einer Ausführungsform eines unsymmetrischen geschalteten bidirektionalen Signalführungsschemas. - Obwohl die Erfindung diversen Modifizierungen und alternativen Formen unterliegen kann, sind spezielle Ausführungsformen beispielhaft in den Zeichnungen gezeigt und werden nachfolgend detaillierter beschrieben. Zu beachten ist, dass der Ausdruck „kann” durchgängig in dieser Anmeldung als im Sinne von „möglich” verwendet wird (d. h., hat die Möglichkeit zu, ist in der Lage zu), und nicht im Sinne von „erforderlich” (d. h. muss).
- Art bzw. Arten zum Ausführen der Erfindung
-
1 ist eine Blockansicht einer Ausführungsform eines Systems mit einer asymmetrischen Steuerung eines bidirektionalen Datenaustausches. Das System10 umfasst eine Hauptsteuerung bzw. eine Mastersteuerung105 , die mit Neben- oder Folgegeräten bzw. Slave-Geräten110a bis110n über mehrere Signalwege und eine Verbindungsanordnung150 verbunden ist. Wie gezeigt, enthalten die Signalwege bidirektionale (bidir) Datenwege114 , Befehlswege116 und zyklisch Redundanzcodierungs-(CRC) und augenstatistische Informationswege112 . Zu beachten ist, dass das Folgegerät110n anzeigen soll, das eine beliebige Anzahl an Folgegeräten verwendet werden kann. Zu beachten ist ferner, dass Komponenten, die eine Referenzzahl und einen Buchstaben aufweisen, auch nur durch die Zahl alleine genannt werden können. Beispielsweise kann das Folgegerät110a auch als Folgegerät110 bezeichnet werden, sofern dies angebracht ist. - In der dargestellten Ausführungsform enthält die Hauptsteuerung
105 eine Sendeeinheit106 , eine Empfangseinheit107 und eine Steuereinheit108 , die mit der Sendeeinheit106 und der Empfangseinheit107 verbunden ist. In einer Ausführungsform ist das System10 beispielsweise ein Speichersubsystem. Die Hauptsteuerung105 kann eine Speichersteuerung sein und die Folgeräte110a bis110n können Speichereinrichtungen sein, etwa Bauelemente aus der Familie der dynamischen Speicher mit wahlfreiem Zugriff (DRAM), um ein Beispiel zu nennen. Die Verbindungsanordnung150 kann ein Verbindungselement sein, etwa wie es auf einem Speicher mit wahlfreiem Speichermodul anzutreffen ist, das mehrere Speicherbausteine aufweist, etwa die Folgegeräte110 . Des weiteren können die Befehlswege116 Adressen- und Steuerinformation übertragen, und die bidirektionalen Datenwege114 können Daten in beide Richtungen übertragen. Die CRC- und Augenstatistikwege112 übertragen CRC-Information von dem Folgegerät110 zu dem Hauptgerät105 . Wie in Verbindung mit der Beschreibung der2 detaillierter dargestellt ist, können die CRC- und Augenstatistikwege112 auch eine Datensignalphaseninformation, die von dem Folgegerät110 erzeugt wird, übertragen. Zu beachten ist, dass im Allgemeinen das System10 eine beliebige Art eines Systems repräsentiert, das bidirektionale Datenwege verwendet. - In einer Ausführungsform enthält der CRC- und Augenstatistikweg
112 zwei Signalwege, obwohl eine beliebige Anzahl an Signalwegen verwendet werden kann. Die bidirektionalen Datenwegen114 enthalten eine Reihe von 8-Bit-(Byte-breite) Datenwege. Beispielsweise ist der volle Datenweg64 Bits breit, wobei der Datenweg auch in Teile mit Größe eines Bytes unterteilt sein kann, und der vollständige Datenweg kann eine beliebige Anzahl an Datenbits aufweisen und kann in Bereiche mit unterschiedlicher Größe eingeteilt sein. - Wie zuvor angegeben ist, wird in vielen konventionellen Systemen die bidirektionale Hochgeschwindigkeitskommunikation durch Implementieren von Steuerfunktionen, etwa die Taktphasenwiederherstellung, die Kanalentzerrung, die Fehlererkennung und dergleichen in beiden Kommunikationseinrichtungen gesteuert. Wie jedoch detaillierter nachfolgend beschrieben ist, wird das Folgegerät
110 vereinfacht. Die Hauptsteuerung105 enthält damit eine Steuerfunktion, die dynamisch und adaptiv die Signaleigenschaften (beispielsweise Phase und Entzerrung und Spannungsoffset, etc.) übertragener Daten auf der Grundlage von Informationen, die von dem Folgegerät110 erhalten wurden, einstellt, um das Folgegerät110 in die Lage zu versetzen, die Daten in korrekter Weise zu lesen. Des weiteren kann die Hauptsteuerung105 die internen Empfängereigenschaften so einstellen, dass das Hauptgerät105 Daten, die von dem Folgegerät110 gesendet werden, empfängt. - Insbesondere erfordern die Unsicherheiten bei der Verzögerung in dem Übertragungsweg für unterschiedliche Signale bei hohen Datenraten in einem Bus eine Phaseneinstellung pro Bit eines Abtasttaktsignals des Empfängers. Um eine Verwendung dieser Schaltung in dem Folgegerät
110 zu vermeiden, kann die Hauptsteuerung105 die Phase seines gesendeten Signals einstellen, so dass diese zu dem Abtasttaktsignal justiert ist, das innerhalb des Folgegeräts erzeugt wird, wodurch aufwendige Phasenverschiebungsschaltungen in dem Folgeräte vermieden werden können. - Somit erhält die Sendeeinheit
106 Information von dem Folgegerät110 , die verwendet werden kann, um die Sendephase einzustellen. Das Folgegerät110 umfasst eine Augenstatistik- und CRC-Erzeugungslogik118 , die statistische Werte über die Randposition von Datenübergängen sammelt unter Anwendung eines Phasendetektors (in2 gezeigt), der manchmal auch als „bang-bang-Phasendetektor” bezeichnet wird. Die „Früh/Spät-Signale” aus diesem Detektor können integriert werden und werden der Hauptsteuerung105 über unidirektionale CRC-Signalwege112 zugeleitet. In einer Ausführungsform sendet das Folgegerät110 diese Information zu der Hauptsteuerung105 für jede empfangene „Bitspur” oder Datenweg. - Des weiteren ist bei hohen Datenraten die Wahrscheinlichkeit dafür, dass ein Folgegerät
110 oder die Hauptsteuerung105 einen Bitfehler empfängt, sehr ausgeprägt. Daher ist es erforderlich, Übertragungen mit einer Fehlererkennungscodierung zu benutzen, die in robuster Weise Mehrfachbitfehler innerhalb eines geschützten Blocks erkennen kann. Wenn ein Fehler auf der Verbindung in beliebiger Richtung erkannt wird, kann die Hauptsteuerung105 den Fehler durch Wiederholen des Vorgangs korrigieren. - In einer Ausführungsform wird eine CRC-Codierung verwendet, um eine Mehrfachbitfehlererkennung zu ermöglichen. Insbesondere berechnet, wie in
2 gezeigt ist, zur Vereinfachung in dem Folgegerät und zum Berichten von Fehlern an die Hauptsteuerung105 das Folgegerät110 eine CRC auf der Grundlage der Daten, die es erzeugt, oder der Daten, die es empfängt. Um daher die CRC-Information zurück zur Hauptsteuerung105 zu übertragen, werden eine oder mehrere unidirektionale CRC-Signalwege112 verwendet. Wie in2 gezeigt ist, berechnet eine CRC-Erzeugungseinheit230 die CRC auf der Grundlage ihrer internen Daten und sendet die CRC-Daten zurück an die Hauptsteuerung105 . - In einer Ausführungsform wird die CRC-Information berechnet und parallel mit den Daten für eine Übertragung von dem Folgegerät
110 zu der Hauptsteuerung105 gesendet, so dass die CRC zur selben Zeit wie der zu schützende Datenblock verfügbar ist, wenn dieser die Hauptsteuerung105 erreicht. - Zu beachten ist, dass bei einer Übertragung von der Hauptsteuerung
105 an das Folgegerät110 es eine gewisse inhärente Verzögerung durch das Folgegerät110 beim internen Empfangen der Daten, dem Berechnen der CRC und dem Senden dieser CRC an die Hauptsteuerung105 geben kann. Wie jedoch nachfolgend im Zusammenhang mit der5 beschrieben ist, kann diese Verzögerung mit einer Lücke überbrückt werden, die in den Datenbus bei einer Busübertragung „lesen zu schreiben” und „schreiben zu lesen” eingefügt wird. -
2 ist eine Ansicht, die detailliertere Aspekte einer Ausführungsform des in1 gezeigten Folgegeräts darstellt. Das Folgegerät110 enthält die Logik118 , die einen Dateneingangspuffer209 aufweist, der mit einem Signalweg der bidir-Datenwege114 verbunden ist, und mit einem Eingang eines Flip-Flops208 verbunden ist. Der Ausgang des FF208 ist mit einer Folgegerätkernlogik205 verbunden. Ein Datenausgangssignal der Folgegerätkernlogik255 ist ferner mit einem Eingang eines FF206 verbunden. Der Ausgang des FF206 ist mit einem Datenausgangspuffer verbunden, der mit dem gleichen Signalweg verbunden ist. Der Eingang eines FF207 ist ferner mit dem Signalweg der bidir-Daten114 verbunden. Der Ausgang des FF207 ist mit einer Augenberechnungseinheit225 verbunden. Der Ausgang der Augenberechnungseinheit225 ist mit einem einzelnen Eingang eines Multiplexers205 verbunden. Die Signale „Daten ein” und „Daten aus” sind mit einer CRC-Einheit230 verbunden, deren Ausgang wiederum mit einem weiteren Eingang des Multiplexers250 verbunden ist. Der Ausgang des Multiplexers250 ist mit dem Eingang des FF205 verbunden. Der Ausgang des FF205 ist mit einem Puffer201 verbunden, der mit einem einzigen Signalweg der CRC- und Augenstatistiksignalwege112 verbunden ist. Es wird ein Folgegerätabtasttaktsignal jedem Takteingang der FF205 bis208 zugeleitet. - In der dargestellten Ausführungsform tasten die FF
207 und FF208 das analoge Spannungssignal am Ausgang des Puffers209 an der Flanke bzw. am Rand und im Zentrum des Datensignals entsprechend ab. Diese beiden Abtastwerte sind die Eingangssignale für die Augenberechnungseinheit225 , die diverse statistische Werte über das empfangene Datenauge berechnet. Um die Phase der von der Hauptsteuerung105 gesendeten Daten einzustellen, wird jeder Übergang am Rand in einem Zähler/Register226 innerhalb der Augenberechnungseinheit225 aufaddiert. In einer Ausführungsform führen frühe Flanken und späte Flanken zu einer Erhöhung bzw. Herabsetzung des Registers226 , das einen skalierten Index für die Phase der Sendedaten bereitstellt. Wie nachfolgend beschrieben ist, können zusätzliche statistische Werte angesammelt werden, um die Senderentzerrung und die Eingangsempfängeroffseteinstellung der Hauptsteuerung105 einzustellen. - In einer Ausführungsform wird die Phaseninformation für jeden empfangenen Datenbitübergang angesammelt. Diese Phaseninformation kann über eine 16-Bit-Sequenz pro Datenweg angesammelt werden. Das Register
226 kann ein Vier-Bit-Zähler sein, der in Abhängigkeit davon, ob der Übergang spät oder früh ist, erhöht oder verringert wird. Das Folgegerät110 sendet ein einzelnes Bit pro Datenweg zurück zu der Hauptsteuerung105 pro 16-Bit-Sequenz, um anzugeben, ob der Vier-Bit-Zählerwert positiv oder negativ ist. Nach dem Empfangen der Übergangsfehlerinformation kann die Steuereinheit108 ferner diese Übergangsinformation integrieren, um die Phase der gesendeten Daten zu steuern. Die Sendeeinheit106 kann die Phase der gesendeten Daten einstellen oder modifizieren, bis das Folgegerät110 auf die Daten eingerastet ist. - Wie zuvor angegeben ist, kann die Hauptsteuerung
105 die Empfängerschaltung so einstellen, dass diese die von dem Folgegerät110 gesendeten Daten in korrekter Weise empfängt. In einer Ausführungsform enthält die Empfangseinheit107 eine Abtasttakteinstelllogik103 , die einen „bang-bang-Phasendetektor” ähnlich zu dem in2 gezeigten Phasendetektor aufweist. Wenn die Hauptsteuerung105 Daten von dem Folgegerät110 empfängt, verwendet die Empfangseinheit107 den „bang-bang-Phasendetektor”, um ihren eigenen lokalen Abtasttakt einzustellen, so dass in besserer Weise die von dem Folgegerät110 gesendeten Daten empfangen werden. Dies ist detaillierter in Verbindung mit der3 dargelegt. - Zusätzlich zur Phaseneinstellung der gesendeten Daten und zur Einstellung des Empfangsabtasttaktsignals innerhalb der Empfangseinheit
107 ist es notwendig, die Datenwegkanäle zu entzerren. Insbesondere müssen auf Grund der Verluste der hohen Frequenzen des Kanals und/oder auf Grund von Reflektionen, die durch die mehreren Folgegeräte110 , die mit dem gleichen Kanal verbunden sind (wie in1 gezeigt ist), hervorgerufen werden, die Datenwege entzerrt werden. Die Entzerrung der Datenwege kann den Öffnungsgrad des Auges in der Empfängerlogik des Folgegeräts110 optimieren. Somit enthält in einer Ausführungsform die Sendeeinheit106 eine Phasen- und Entzerreinheit103 , die einen Filter mit finiter Impulsantwort (FIR) mit mehreren Koeffizienten aufweist, um ihre Digital/Analog-Wandlerausgangsstufe anzusteuern. - In einer Ausführungsform werden die Koeffizienten für den FIR-Filter trainiert oder adaptiv an die Eigenschaften für jeden einzelnen Datenweg angepasst. Um es der Sendeeinheit
106 zu ermöglichen, ihre Entzerrung einzustellen, empfängt die Hauptsteuerung105 eine Fehlerinformation von dem Folgegerät110 , die der ISI entspricht, die von jedem Eingang des Folgegeräts110 „gesehen wird”. - Um die Logik zu vereinfachen oder zu reduzieren, die innerhalb des Folgegeräts
110 benötigt wird, wird die Logik118 innerhalb des Folgegeräts110 ebenfalls von der Entzerrereinheit103 in der Sendeeinheit106 verwendet, wobei die Datenphase abgetastet wird, um zu bestimmen, wie gut die Entzerrung des Kanals erfolgt. Um das Folgegerät110 in die Lage zu versetzen, einen Fehlerwert der empfangenen Augenamplitude zu erzeugen, sendet die Hauptsteuerung105 Befehle an das Folgegerät110 , die das Folgegerät110 veranlassen, seinen Eingangsempfangsschwellwert um einen gewissen Betrag zu ändern. Dieser Offset kann so gewählt sein, dass auf einem korrekt entzerrten Kanal eine Fehlerrate von ungefähr 50% besteht und eine Abweichung von dieser 50% Fehlerrate der Hauptsteuerung105 anzeigt, das ein Fehler in der Entzerrung vorliegt, die es an der Sendeeinheit106 vornimmt. Wie alternativ in2 gezeigt ist, kann die Hauptsteuerung105 einen Empfangsschwellwert bereitstellen, indem dieser direkt dem Folgegerät110 über einen weiteren Signalweg in der Schnittstelle zugeführt wird. - In einer Ausführungsform sendet die Hauptsteuerung
105 Blöcke mit 16 Bits und das Folgegerät110 berichtet den Wert, der für das 15. Bit dieses aktuellen 16-Bit-Blocks ermittelt wurde. Die Hauptsteuerung105 sendet Zufallsdaten für alle Datenbits in diesem Block mit Ausnahme des 15. Bits, das einen vorbestimmten Wert aufweist, der so gewählt ist, dass dieser mit dem Offsetwert übereinstimmt, den das Folgegerät110 in seinem Empfänger verwendet. Da die Hauptsteuerung auch die Datenwerte kennt, die sie sendet, kann sie diese Datenwerte für jeden einzelnen Koeffizienten verwenden, um den Wert jedes Koeffizienten in Abhängigkeit von dem Vorzeichen des Fehlerbits, das von dem Folgegerät110 zurückgegeben wird, einzustellen. Die Sendekoeffizienten werden dann unter Anwendung eines Algorithmus trainiert, etwa beispielsweise dem Vorzeichen-Vorzeichen-LMS-Anpassungsalgorithmus. Die Anzahl der zu trainierenden Koeffizienten ist eine Funktion der Länge des Endbereichs der Impulsantwort des Kanals. - In einer Ausführungsform wird in der Hauptsteuerung
105 ein Entscheidungsrückkopplungsentzerrer (DFE) mit vier Abgriffen verwendet, um eine Impulsantwort zu korrigieren, die Nullen in der Übertragungsantwort des Kanals aufweist, die Reflektionen auf Grund der Anschlussleitungen der Folgegeräte enthält, die auf Grund des Mehrfachdatenbusses notwendig sind. Es ist jedoch zu beachten, dass in anderen Ausführungsformen eine beliebige Anzahl an Abgriffen verwendet werden kann, um beispielsweise Reflektionen zu berücksichtigen, die durch einen Umlauf in dem Kanal hervorgerufen werden. -
3 ist ein Flussdiagramm, das die Funktionsweise der in1 und2 gezeigten Ausführungsformen beschreibt. Insbesondere ist, wie zuvor beschrieben ist, die Hauptsteuerung ausgebildet, ihre Sende- und Empfangseigenschaften so adaptiv zu modifizieren, dass sie Daten sendet, die in korrekter Weise von dem Folgegerät empfangen werden, und dass sie in korrekter Weise Daten empfängt, die von dem Folgegerät gesendet werden. - Es sei gemeinsam auf die
1 bis3 verwiesen, wobei zu Beginn im Block300 in3 nach einem Rücksetzzustand oder nach einem Einschalten die Empfangseinheit107 der Hauptsteuerung105 so eingestellt wird, dass sie mindestens zwei Datenwege der CRC-Wege112 empfängt. Folglich schreibt die Hauptsteuerung105 ein bekanntes erstes Übungsmuster an eine vorbestimmte Stelle innerhalb des Folgegeräts110 (Block305 ). In Reaktion auf die Schreiboperation erzeugt das Folgegerät110 eine CRC auf der Grundlage der über die CRC-Wege112 empfangenen Daten und sendet die CRC. Die Hauptsteuerung105 empfängt die CRC und bestimmt, ob die Empfangseinheit107 auf die CRC-Daten eingerastet ist (Block310 ). Wenn die Hauptsteuerung nicht auf die CRC-Daten eingerastet ist, veranlasst die Steuereinheit108 , dass die Phase und die Entzerrung für die Empfangseinheit103 eingestellt werden (Block311 ) und dass das Schreibmuster erneut gesendet wird (Block305 ). - Wenn die Hauptsteuerung
105 erkennt, dass die Empfangseinheit107 auf die CRC-Daten eingerastet ist (Block310 ), versucht die Hauptsteuerung105 , die Sendeeinheit106 zu trainieren, um Daten zu senden, die das Folgegerät110 korrekt empfangen kann. D. h., die Hauptsteuerung105 sendet ein Übungsmuster an das Folgegerät110 (Block315 ). In einer Ausführungsform ist das zweite Übungsmuster ein Muster, das ggf. keine Entzerrung der Datenwege erfordert. Beispielsweise wird ein Muster, etwa 11001100b verwendet. Auf der Grundlage der CRC-Daten und von Flanken mit Statistikwerten, die von dem Folgegerät110 empfangen werden, bestimmt die Hauptsteuerung105 , ob das Folgegerät110 in korrekter Weise auf die Schreibdaten eingerastet ist (Block320 ). Wenn die Hauptsteuerung105 bestimmt, dass das Folgegerät nicht auf die Daten eingerastet ist, veranlasst die Steuereinheit108 , dass die Phase der gesendeten Daten eingestellt wird, und das Muster wird erneut gesendet (Block315 ). - Wenn jedoch die CRC und die Augenstatistikinformation angeben, dass das Folgegerät
110 auf die gesendeten Daten eingerastet ist (Block320 ), versucht die Hauptsteuerung105 , die Datenwege der bidir-Datenwege114 zu entzerren. In einer Ausführungsform sendet die Hauptsteuerung105 ein drittes Übungsmuster an das Folgegerät110 (Block325 ) über die bidir-Datenwege114 . In einer Ausführungsform ist das dritte Muster ein im stärkeren Grade zufälliges Muster. Wiederum kann auf der Grundlage der empfangenen CRC-Daten die Hauptsteuerung105 bestimmen, ob die Koeffizienten eines Vorwärtskopplungsentzerrers (FFE) mit mehreren Abgriffen konvergieren (Block330 ). Des weiteren kann sich die Phasenjustierung der gesendeten Daten während der Einstellung der Koeffizienten ändern, so dass die Phase erneut geprüft wird und unter Anwendung des Übungsmusters 2 eingestellt wird (Block335 und340 ). Wie somit gezeigt ist, kann die Hauptsteuerung105 die Koeffizienten anpassen und die Phase iterativ überwachen, bis beide Koeffizienten konvergieren, und somit ist die Phase der übertragenen Daten justiert (Block330 ). - Sobald die Phase der gesendeten Daten justiert ist und die Datenwege der gesendeten Daten entzerrt sind, können die Eigenschaften der Empfangseinheit
107 eingestellt und zuverlässig an die Empfangsdaten auf den bidir-Datenwegen114 angepasst werden. Folglich sendet die Hauptsteuerung105 ein viertes Muster, das z. B. in einer Speicherstelle (nicht gezeigt) in dem Folgegerät110 zu speichern ist (Block345 ). Die Hauptsteuerung105 führt nachfolgend eine Operation aus, um das vierte Muster aus dem Folgegerät110 auszulesen. Da das Muster bekannt ist, kann die Steuereinheit108 die Phase und die Entzerrung der Empfangseinheit106 so einstellen, dass die von dem Folgegerät110 gesendeten Daten zuverlässig empfangen werden (Block350 ). Wenn die Hauptsteuerung105 bestimmt, dass der Empfänger noch nicht trainiert ist (Block355 ), veranlasst die Hauptsteuerung105 weitere Leseoperationen der Musterdaten und es wird eine weitere Einstellung vorgenommen (Block350 ). Sobald die Empfangseinheit106 angepasst ist, beginnt das System10 mit der normalen Funktion, während welcher die Hauptsteuerung105 Lese- und Schreiboperationen im Zusammenhang mit dem Folgegerät110 ausführt. - Im weiteren Ablauf kann gemäß dem Block
360 während des normalen Betriebs des Systems10 die Phase sich langsam ändern. Die Phasenjustierung kann kontinuierlich durch die Hauptsteuerung105 geprüft werden, solange es Leseoperationen und Schreiboperation gibt und Daten auf den Datenwegen ausgetauscht werden. Jedoch können lange Lücken im Busverkehr dazu führen, dass die Phase in unerkannter Weise sich verändert. Wenn es eine Lücke in den Lese- und Schreiboperationen gibt, die eine vorbestimmte Zeitdauer überschreitet, kann die Hauptsteuerung105 Platzhalterschreib- und Lesezyklen ausführen, um die Phase der Sendeeinheit106 und der Empfangseinheit107 angepasst zu halten. Insbesondere kann in einer Ausführungsform die Steuereinheit108 die Zeitdauer, die zwischen aufeinanderfolgenden Leseoperationen und zwischen aufeinanderfolgenden Schreiboperationen verstrichen ist (Block362 ), unter Anwendung von Zeitgebern messen, um nur ein Beispiel zu nennen. Wenn der Schreibzeitgeber abläuft (eine zu lange Zeitspanne zwischen zwei Schreiboperationen tritt auf) (Block363 ), veranlasst die Steuereinheit108 einen oder mehrere Platzhalterschreibzyklen, die das Schreiben des zweiten Übungsmusters als Folgegerät110 beinhalten. Auf der Grundlage der empfangenen CRC und der Augenstatistikwerte veranlasst die Steuereinheit108 , dass die Phase der Sendeeinheit106 eingestellt wird (Block365 ). - Wenn in ähnlicher Weise der Lesezeitgeber abläuft (es tritt eine zu große Zeitspanne zwischen zwei Lesevorgängen auf) (Block
366 ), veranlasst die Steuereinheit108 einen oder mehrere Platzhalterlesezyklen, die das Lesen des vierten Übungsmusters aus dem Folgegerät110 beinhalten. Die Steuereinheit108 veranlasst, dass die Phase der Empfangseinheit107 eingestellt wird (Block367 ). Sobald eine Anpassung oder Überprüfung stattgefunden hat, kann die Funktion in normaler Weise weitergehen, wie dies im Block361 der Fall ist. Zu beachten ist, dass in anderen Ausführungsformen die Hauptsteuerung105 auf Grund anderer Faktoren als der zu langen verstrichenen Zeit entsprechende Platzhalterlese- und Schreibzyklen veranlassen kann. Beispielsweise kann die Hauptsteuerung105 ein erneutes Trainieren der Sendeeinheit106 und der Empfangseinheit107 auf der Grundlage von Fehlerraten empfangener Daten oder CRC-Bits initiieren. - Eingangsoffsetkorrektur des Folgegeräts
- Durch Ändern der Polarität des Offsets, der in dem Empfänger des Folgegeräts
110 verwendet wird, kann die Hauptsteuerung105 bestimmen, ob es einen Voreinstellungswert in der Fehlerrate für eine logische 1 gegenüber einer logischen 0 gibt, wie sie in dem 15. Bit einer 16-Bit-Sequenz ermittelt wird. Dieser Voreinstellungswert kann einen Eingangsoffset in dem Empfänger des Folgegeräts110 angeben. Die Hauptsteuerung105 kann den Offset kompensieren, indem ihre gesendete Signalform nach oben oder nach unten verschoben wird. In einer Ausführungsform korrigiert die Sendeeinheit106 in einem Bereich von bis zu ±50 mV des Eingangsoffsets eines Folgegeräts. - Datenverwürfelung bzw. Datenchiffrierung
- Wenn Daten mit hohen Datenraten über einen Verlust behafteten Kanal übertragen werden, besitzen gewisse Datenmuster eine höhere Wahrscheinlichkeit gegenüber anderen Datenmustern, dass Bitfehler erzeugt werden. Des weiten bestehen die meisten interessierenden Kanäle aus mehreren parallelen Kabeln, die ein ausgeprägtes Übersprechen zwischen den Datenwegen in dem Bus besitzen. Dieses Übersprechen kann hervorgerufen werden, indem eine Kopplung zwischen parallelen Leitern auf einer Leiterplatte, eine Kopplung über Arrays, Verbinder, Gehäuse, Sockel und dergleichen stattfindet. In ähnlicher Weise kann im Falle eines unsymmetrischen geschalteten Systems das Übersprechen das Ergebnis mehrerer Ausgänge sein, die gleichzeitig geschaltet werden.
-
4 ist eine Blockansicht, die eine Ausführungsform des Systems aus1 zeigt, wobei eine Verwürfelungslogik gezeigt ist. Zu beachten ist, dass zusätzlich zu der nachfolgend beschriebenen Funktion die Hauptsteuerung105 aus4 auch alle Funktionen der Hauptsteuerung105 aus1 besitzen kann. In gleicher Weise kann das Folgegerät110 der4 ebenfalls alle Funktionen des Folgegeräts110 aus1 besitzen. Der Einfachheit halber werden diese Funktionen hier jedoch nicht mehr wiederholt. Da nicht sichergestellt ist, dass die zu übertragenden Daten zufällig sind, gibt es eine Möglichkeit, dass ein an sich geschädigtes Datenmuster auf einer betroffenen Leitung überfragen und den entsprechenden „aggressiven Einwirkungen” auf diese Leitung ausgesetzt wird. Um dies zu vermeiden, was ansonsten eine unerwünschte Erhöhung der Bitfehlerrate auf der Verbindung hervorrufen würde, werden die Daten auf jedem Weg verwürfelt. In einer Implementierung werden die Daten mit einem Ausgangssignal einer pseudozufälligen Binärsequenz (PRBS) unter Anwendung einer exklusiv-oder-(XOR)Funktion kombiniert. - In einer Ausführungsform enthalten die Hauptsteuerung
105 und das Folgegerät110 identische PRBS-Generatoren, die während des Trainings initialisiert werden können. Abhängig von der Richtung des Datenflusses verwürfelt ein Ende der Verbindung Daten mit der bekannten PRBS und das andere entwürfelt diese mit ihrem lokalen PRBS-Generator. Folglich enthält die Hauptsteuerung105 einen Verwürfler/Entwürfler405 , der einen PRBS-Generator410 aufweist, der mit einem XOR-Block415 gekoppelt ist. In ähnlicher Weise umfasst das Folgegerät110 einen Verwürfler/Entwürfler430 , der einen PRBS-Generator435 aufweist, der mit einem XOR-Block440 gekoppelt ist. - Um eine Korrelation zwischen den Datenwegen zu vermeiden, wird jeder Weg mit einer anderen PRBS verwürfelt, wodurch in effektiver Weise im Frequenzbereich jegliche „pathologisch” schlechten Übersprechdatenmuster „verschmiert” werden und es somit möglich ist, die Auswirkungen statistisch mit Normalverteilungen zu bewerten. Das Verwürfeln der Daten kann auch hilfreich sein, um sicherzustellen, dass die erzeugten Datenmuster im Frequenzbereich als spektral weiß erscheinen, so dass der LMS-Anpassungsalgorithmus keine voreingestellten statistischen Werte für einen der Abgriffskoeffizienten besitzt, die gerade angepasst werden.
- In einer Ausführungsform wird zur Minimierung der Implementierungskosten jeder PRBS-Generator
410 und435 auf Grundlage eines Haupt-PRBS-Generators eingerichtet, der mehrere Abzweigungen aufweist. Ein unterschiedlicher Generatorabgriff kann mit Daten von jedem Datenweg mittels XOR verknüpft werden, um eine nicht-überlappende PRBS pro Datenweg zu erzeugen. Die Auswahl von Abgriffen kann so getroffen werden, dass der Unterschied zwischen den in allen Wegen verwendeten Sequenzen maximal wird. - In Ausführungsformen, in denen das Folgegerät
110 eine Speichereinrichtung ist, können Daten in dem verwürfelten Zustand gespeichert werden, wodurch die Kosten zur Einrichtung einer Verwürfelung in den Speichergeräten vermieden werden. Um sicherzustellen, dass die Hauptsteuerung105 die verwürfelten Daten decodieren kann, wird ein Verwürfelungssaatausdruck aus einer Prüfsumme der Speicheradresse der Daten berechnet, so dass die über den Bus übertragenen Daten statistisch zufällig bleiben, selbst für häufig auftretende sequenzielle Speicherzugriffsmuster. - In einer Implementierung wird eine Prüfsumme der Adresse erzeugt, indem die Verwürfler-PRBS mit der Adresse des Blockes, auf den zuzugreifen ist, voreingeladen wird und anschließend der PRBS-Generator um eine gewisse festgelegte Zahl an Stufen verschoben wird, wodurch die Adresse zufällig gemacht wird, um eine einzigartige Saat für jeden Block aus Daten zu erzeugen, die von und zu dem Speicher übertragen werden. Zu beachten ist, dass in einem System, in welchem eine kritische Wortreihenfolge verwendet wird, auch berücksichtigt werden muss, dass sichergestellt ist, dass das Entwürfeln die Verschiebung berücksichtigen muss, die auftritt, wenn Zugriff auf die erste Adresse nicht an einer Blockgrenze auftritt. In derartigen Fällen wird ein geeignet verschobenes Verwürfelungsmuster für diesen Block aus Daten berechnet.
- Es sollte auch beachtet werden, dass beim Speichern von verwürfelten Daten in Speichergeräten der Zugriff auf die Speichersteuerregister nicht üblicherweise verwürfelt ist. Daher kann es wünschenswert sein sicherzustellen, dass die Übertragungen der Steuerinformation sich ebenfalls wie zufällige Daten verhalten, indem in geeigneter Weise die Änderung der Bitwerte der Steuerregister des Speichergeräts definiert wird, um die Wahrscheinlichkeit der pathologisch schlechten Datenmuster zu minimieren. Beispielsweise können die Steuerregisterbits des Speichergeräts so geändert werden, dass eine logische 1 einen Sachverhalt an einer einzelnen Bitstelle repräsentiert, während sie in einer anderen Speicherstelle eine umgekehrte Bedeutung besitzt. Folglich können die Bits mit dem gleichen logischen Wert so verteilt werden, dass sie zufälliger erscheinen.
- Die Verringerung der Verweilzeit zwischen Folgegerät und Hauptsteuerung
- Um eine geeignete Fehlerabdeckung aus der CRC zu erhalten, wobei der Einfluss auf die Buseffizienz minimiert ist, werden die Daten in Blöcke aufgeteilt, über die die CRC berechnet wird. Bei einer Übertragung von einem Folgegerät
110 zu der Hauptsteuerung105 kann die Richtigkeit der Daten in dem Block nicht festgestellt werden, bis nicht der gesamte Datenblock und die CRC empfangen werden. Dies erhöht jedoch die Verweilzeit bzw. Prozesszeit für den Bereich des Blockes, der ein kritisches Wort für den weiteren Ablauf in dem System sein kann. -
5 zeigt ein Diagramm, in welchem eine beispielhafte Codierung über eine Bytegruppe gezeigt ist. In einer Ausführungsform wird das kritische Wort zusätzlich geschützt, indem eine zusätzliche zeileninterne Fehlercodierung eingebaut wird, die zwischen dem kritischen Wort und dem Rest des Blockes eingefügt wird. Wie beispielsweise in5 gezeigt ist, kann die zusätzliche Fehlererkennungsinformation eingerichtet werden, indem das kritische Wort (beispielsweise Byte 0) zu Beginn des Blockes wiederholt wird. Durch zweimaliges Senden des kritischen Wortes kann die Hauptsteuerung105 prüfen, dass jedes Bit der beiden Kopien identisch ist und kann somit die Fehlerrate für das kritische Wort deutlich verringern, wodurch es möglich ist, das kritische Wort als gültig zu behandeln, bevor die vollständige CRC für den Block eingetroffen ist. Anders ausgedrückt, während des Lesevorgangs sendet das Folgegerät110 das kritische Wort während der ersten beiden Takte oder Bitzeiten des Leseblocks. - In der in
5 gezeigten Ausführungsform schützen zwei CRC-Signalwege 8 Datenwege unter Anwendung einer Sequenz aus 16 Bits. Um Platz zu schaffen für die beiden Kopien des kritischen Wortes wird das Byte 3 auf den CRC-Wegen während der ersten vier Takte des Leseblocks ausgegeben. Dies ermöglicht ferner, dass die CRC nach der Bereitstellung des kritischen Wortes berechnet wird. Bei einem Schreibvorgang benötigt die Berechnung der CRC einen längeren Zeitraum und somit sind 12 Bitzeiten für diese Berechnung zulässig und die Überlappung tritt bei einer Schreib-Lese-Umkehrung in Form der Verzögerung der Busfunktionsumkehr auf. Zu beachten ist, dass die CRC nicht die Richtung zwischen Leseoperationen und Schreiboperationen ändert. Wie gezeigt erzeugt diese Codierung eine gewisse zusätzliche Bandbreite, die verwendet werden kann, um Schreibdatenaugenstatistikwerte auszugeben. Ferner ist zu beachten, dass wenn es mehr als ein Folgegerät gibt, es notwendig sein kann, eine Lücke (d. h. eine Pause) einzufügen, wenn die Hauptsteuerung105 das Folgegerät ändert, mit dem es gerade einen Lesevorgang oder einen Schreibvorgang ausführt. - Laufzeitverzögerungssteuerung über eine Bytegruppe hinweg
- Um die Komplexität im Folgegerät
110 und der Hauptsteuerung105 zu verringern, kann die Laufzeitverzögerung zwischen Datenwegen in einer Bytegruppe beim Aufbau des Folgegeräts110 , der Hauptsteuerung105 und der Platinen-Routenführung berücksichtigt werden. In einer Ausführungsform kann eine maximale Laufzeitdifferenz zwischen Bits innerhalb einer Bytegruppe auf weniger als 0,1 Ul bei 3,2 Gb/s eingestellt werden, wodurch es möglich ist, die unterschiedlichen Datenwege in der Gruppe im Hinblick auf die Entzerrung als gleich zu behandeln. - Durch Steuern der Laufzeitverzögerung auf diese Weise kann das Rauschen, das durch das gleichzeitige Schalten von Ausgängen (SSO) hervorgerufen wird, in genauer Weise zu dem empfangenen Datenaugenrand justiert ist, wodurch dessen Einfluss auf das „Schließen” des Datenauges minimiert wird. Dies bietet jedoch keine Verringerung von SSO Auswirkungen auf Empfangs-CRC-Daten der Hauptsteuerung, wenn diese sendet und es ergibt sich ein zusätzlicher Grad an Komplexität in der Hauptsteuerung, um in korrekter Weise das resultierende kleinere Datenauge zu empfangen. Dies kann jedoch von der Hauptsteuerung umgangen werden, indem diese eine externe Differenzspannung für die Eingangsempfänger, die intern abgeschlossen ist und auf die Signalmasse der CRC-Empfangsbits bezogen ist, verwendet. Wenn dies der Fall ist, kann das SSO-Rauschen in ein Gleichtaktrauschen umgewandelt werden und kann somit durch den Eingangsempfänger für die CRC-Bits unterdrückt werden.
- Schreiboperationen im Bytemodus in ein Speicherelement
- In einigen Speicheranwendungen ist es wünschenswert, eine Byte-Schreibfähigkeit zwischen einer Speichersteuerung und einem Speichergerät zu unterstützen, um eine Lese/Modifizier/Schreib-Operation für eine sequenzorientierte Transaktion zu vermeiden. In Ausführungsformen, in denen die Hauptsteuerung
105 eine Speichersteuerung ist und das Folgegerät110 ein Speicherbauelement repräsentiert, können Byteschreiboperationen unter Anwendung einer maskierten Schreiboperation eingerichtet werden.6 ist ein Diagramm, das eine Ausführungsform einer maskierten Schreiboperation darstellt. Die zusätzliche Bandbreite für das maskierte Schreiben wird erreicht, indem den Schreibnutzdaten eine kurze Sequenz aus 8 Bits vorangestellt wird, die die Maskeninformation enthalten. - Da die Hauptsteuerung
105 im Allgemeinen den Inhalt des Speichers, der zu modifizieren ist, nicht kennt, könnte ein Bitfehler in der Maskeninformation dazu führen, dass Daten in dem Speicher in nicht korrekter Weise modifiziert werden. Um diese Problematik zu umgehen, sendet die Hauptsteuerung105 die Maskeninformation in vier aufeinanderfolgenden Bitzeiten und das Folgegerät110 verwendet die dritte Bitzeit, um die Daten abzutasten. Insbesondere wird in einer Ausführungsform sichergestellt, dass die dritte Bitzeit auf Grund der Gerätespezifikation stabil ist. Zu beachten ist jedoch, dass in anderen Ausführungsformen die Maskeninformation entsprechend einer anderen Anzahl aus aufeinanderfolgenden Bitzeiten übertragen werden kann. Andere Bitzeiten können dazu als stabil vorausgesetzt werden und das Folgegerät110 kann die stabile Bitzeit zur Abtastung der Daten verwenden. - Unsymmetrische Schalt-I/O-Topologie
-
7 ist eine Ansicht einer Ausführungsform eines Systems mit einem unsymmetrischen bidirektionalen Schaltsignalschema. Im Falle unsymmetrischer Schaltsignalschemata, etwa das System aus1 , sind die Minimierung der I/O Eingangsflächenkapazität und die Steuerung der chipinternen VDD kritische Entwurfsparameter. Ein Sender mit Einfachspannungsmodus und ein Empfängerabschluss kombiniert mit einem chipinternen Längs-Regler stellen einen guten Kompromiss zwischen Leistungsaufnahme und einer vereinfachten I/O-Struktur dar. - Folglich enthält das System
700 ein integriertes Schaltungs-(IC)Bauelement701 , das mit einem IC-Bauelement711 über einen Bus114 mit mehreren bidirektionalen Signalwegen verbunden ist. Für jeden der bidirektionalen Signalwege enthält das IC701 eine Treiberschaltung, die mit einem Signalweg verbunden ist. Wie in7 gezeigt ist, sind beispielhafte Treiberschaltungen als Einrichtungen I/O601 ,602 und603 dargestellt, obwohl lediglich die Details des Geräts I/O601 der Einfachheit halber gezeigt sind. Das Bauelement I/O601 verkörpert eine Treiberschaltung in komplementärer Metalloxidhalbleitertechnologie (CMOS), wobei Transistoren T1 und T2 enthalten sind. Der tx [0] Eingang ist mit dem Eingang der Treiberschaltung verbunden. Der Ausgang ist mit dem Signalweg des Busses714 und dem Empfangssignalweg rx [0] verbunden. Zu beachten ist, dass die Treiberschaltungen602 und603 im Wesentlichen die gleiche Schaltung wie das Bauelement I/O601 aufweisen. - In der dargestellten Ausführungsform ist das Bauelement I/O
601 ein spannungsgesteuerter Treiber mit einem Spannungshub von ungefähr VDD/2 für eine Übertragungsleitung (beispielsweise der Signalweg von714 ), der durch einen im Wesentlichen äquivalenten Treiber (beispielsweise Bauelement I/O613 ) abgeschlossen ist, der die chipinterne Anschlussfläche auf Masse zieht, wodurch der Empfänger nach Masse hin abgeschlossen ist. Zu beachten ist, dass in der dargestellten Ausführungsform die Versorgungsspannungen für die beiden IC-Bauelemente (Chips) unterschiedliche Spannungen etwa 1,5 Volt und 1,0 Volt sein können, um ein Beispiel zu nennen. - Das IC
701 enthält ferner eine Längsreglerschaltung, die als Klemme604 bezeichnet ist, die die Übergänge in der chipinternen VDD erkennt, die über die durchschnittliche DC-Spannung hinausgehen. Des weiteren ist eine Leistungsbereitstellungsschleife mit Induktivitäten L1, L2 und einer Spannungsquelle V1 gezeigt. Zu beachten ist, dass die Induktivitäten L1 und L2 ein Modell intrinsischer Induktivitäten repräsentieren, die durch das Gehäuse, die Drahtlänge, etc. hervorgerufen werden können, und die Spannungsquelle V1 repräsentiert ein Modell der VDD-Versorgung. - Wenn die VDD-Änderungen über die durchschnittliche DC-Spannung hinausgehen, schaltet der Verstärker A1 den Transistor T3 ein, der den Stromfluss durch die induktive Leistungszufuhrschleife (beispielsweise L1, V1, L2) aufrecht erhält. Dies stabilisiert wirksam Überschwinger in der positiven Spannung. Diese Klemmung in Verbindung mit den übertragenen verwürfelten Daten (wie dies zuvor beschrieben ist) kann das chipinterne VDD-Rauschen um mehr als 50% in einigen Ausführungsformen verringern. Um das Rauschen während einer Busrichtungsumkehr zu minimieren (beispielsweise Übergänge von Lesen zu Schreiben und von Schreiben zu Lesen) wird der Klemmtransistor T3 für eine kurze Zeitdauer vor dem Aktivieren des Schaltens des Senders eingeschaltet. Dies zieht Strom von dem chipinternen VDD-Entkopplungskondensator C1, wodurch der Anstieg des Stromes bewirkt wird, der durch die Leistungszufuhrschleife fließt. Der Klemmtransistor T3 wird ausgeschaltet, bevor das erste Bit übertragen wird, was ein induktives Ausschwingen der chipinternen VDD hervorrufen kann, wodurch der Längsregler
604 eine Stabilisierung vornimmt, wodurch ein vernachlässigbarer chipinterner VDD-Abfall sichergestellt ist, wenn der Sender hochläuft. - Wie gezeigt, umfasst das IC-Bauelement
711 im Wesentlichen identische Schaltungen und arbeitet daher im Wesentlichen in der gleichen Weise wie das IC-Bauelement701 . Folglich wird die Funktionsweise des IC-Bauelements711 nicht weiter im Hinblick auf die Kürze der Beschreibung dargelegt. - Zu beachten ist, dass die mittlere Leistung des schaltenden I/O durch diese Technik nicht wesentlich geändert wird, wohingegen ein Treiber, der konstant Strom von der Versorgung zieht, um eine 1 oder eine 0 zu erzeugen, ungefähr das 2-fache der mittleren Schaltleistung verbrauchen kann.
- Zu beachten ist, dass das IC
701 und das IC711 , die in7 gezeigt sind, anschaulicher Natur für zwei beliebige Einrichtungen sind, die ein bidirektionales Signalschema zwischen zwei Chips verwenden. Jedoch sind in einer Ausführungsform das IC701 und das IC711 repräsentativ für die Hauptsteuerung105 und das Folgegerät110 , wie sie in den zuvor mit Bezug zu den Beschreibungen der1 bis6 angegebenen Ausführungsformen dargestellt sind. - Obwohl die Ausführungsformen detailliert beschrieben sind, können dennoch zahlreiche Variationen und Modifizierungen sich für den Fachmann beim Studium der vorliegenden Offenbarung ergeben. Es ist beabsichtigt, dass die folgenden Patentansprüche so interpretiert werden, dass sie alle derartigen Variation und Modifizierungen umfassen.
- Industrielle Anwendbarkeit
- Diese Erfindung ist im Allgemeinen auf Mikroprozessoren anwendbar.
Claims (8)
- System (
10 ) mit: einem Folgegerät (110 ); und einem Hauptgerät (105 ), das mit dem Folgegerät verbunden und ausgebildet ist, die Datenübertragung zwischen dem Hauptgerät und dem Folgegerät zu steuern; wobei das Hauptgerät ausgebildet ist, die Sendeeigenschaften nach dem adaptiven Modifizieren von Empfängereigenschaften auf der Grundlage von Information, die von dem Folgegerät empfangen wird, adaptiv zu modifizieren; und wobei das Hauptgerät ausgebildet ist, eine Phasenjustierung eines Empfängerabtasttaktsignals des Hauptgeräts in Abhängigkeit von der Information, die von dem Folgegerät bereitgestellt wird, adaptiv zu modifizieren, wobei die von dem Folgegerät bereitgestellte Information eine zyklische Redundanzcodierungs-(CRC)Information enthält, die über einen oder mehrere unidirektionale CRC-Datenwege (112 ) gesendet wird, und wobei die CRC-Information den Daten entspricht, die von dem Hauptgerät über mehrere bidirektionale Datenwege (114 ) gesendet werden. - System nach Anspruch 1, wobei die von dem Folgegerät bereitgestellte Information eine Datenaugeninformation enthält, die über den einen oder die mehreren unidirektionalen CRC-Datenwege gesendet wird, wobei die Datenaugeninformation einer Randposition von Datensignalübergängen entspricht, die von dem Folgegerät auf den mehreren bidirektionalen Datenwegen empfangen werden.
- System nach Anspruch 2, wobei das Hauptgerät ausgebildet ist, eine Phasenjustierung von Daten, die von dem Hauptgerät über die mehreren bidirektionalen Datenwege gesendet werden, in Abhängigkeit von der CRC-Information und der Datenaugeninformation adaptiv zu modifizieren.
- System nach Anspruch 2, wobei das Hauptgerät ausgebildet ist, ein vorbestimmtes Muster zu dem Folgegerät zu senden und Datenwegentzerrungskoeffizienten adaptiv in dem Hauptgerät für jeden Weg der mehreren bidirektionalen Datenwege auf der Grundlage der entsprechenden CRC-Information und der Datenaugeninformation adaptiv zu modifizieren.
- Verfahren mit: Steuern des Datentransfers zwischen einem Hauptgerät (
105 ) und einem Folgegerät (110 ) durch das Hauptgerät; adaptives Modifizieren von Sendeeigenschaften nachfolgend zu einem adaptiven Modifizieren von Empfängereigenschaften auf der Grundlage von Information, die von dem Folgegerät bereitgestellt wird, durch das Hauptgerät; und adaptives Modifizieren einer Phasenjustierung eines Empfängerabtasttaktes des Hauptgerätes in Abhängigkeit von der Information, die von dem Folgegerät bereitgestellt wird, durch das Hauptgerät, wobei die von dem Folgegerät bereitgestellte Information eine zyklische Redundanzcodierungs-(CRC)Information enthält, die über einen oder mehrere unidirektionale CRC-Datenwege (112 ) gesendet wird, wobei die CRC-Information Daten entspricht, die von dem Hauptgerät über mehrere bidirektionale Datenwege (114 ) gesendet werden. - Verfahren nach Anspruch 5, wobei die von dem Folgegerät bereitgestellte Information Datenaugeninformation enthält, die über einen oder den mehreren unidirektionalen CRC-Datenwege gesendet wird, wobei die Datenaugeninformation einer Randposition von Datensignalübergängen entspricht, die von dem Folgegerät auf den mehreren bidirektionalen Datenwegen empfangen werden.
- Verfahren nach Anspruch 6, das ferner umfasst: adaptives Modifizieren einer Phasenjustierung von Daten, die von den Hauptgerät über die mehreren bidirektionalen Datenwege gesendet werden, abhängig von der CRC-Information und der Datenaugeninformation durch das Hauptgerät.
- Verfahren nach Anspruch 6, das ferner umfasst: Senden eines vorbestimmten Musters durch das Hauptgerät an das Folgegerät und adaptives Modifizieren von Datenwegentzerrungskoeffizienten in dem Hauptgerät für jeden Weg der mehreren bidirektionalen Datenwege auf der Grundlage der entsprechenden CRC-Information und der Datenaugeninformation.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/368,785 | 2006-03-06 | ||
US11/368,785 US7729465B2 (en) | 2006-03-06 | 2006-03-06 | Asymmetric control of high-speed bidirectional signaling |
PCT/US2007/004375 WO2007102981A2 (en) | 2006-03-06 | 2007-02-20 | Asymmetric control of high-speed bidirectional signaling |
Publications (2)
Publication Number | Publication Date |
---|---|
DE112007000574T5 DE112007000574T5 (de) | 2009-01-22 |
DE112007000574B4 true DE112007000574B4 (de) | 2013-11-28 |
Family
ID=38330441
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE112007000574T Active DE112007000574B4 (de) | 2006-03-06 | 2007-02-20 | System und Verfahren zur asymmetrischen Steuerung einer bidirektionalen Hochgeschwindigkeitssignalführung |
Country Status (8)
Country | Link |
---|---|
US (1) | US7729465B2 (de) |
JP (1) | JP2009529289A (de) |
KR (1) | KR20080100843A (de) |
CN (1) | CN101416435B (de) |
DE (1) | DE112007000574B4 (de) |
GB (1) | GB2448651B (de) |
TW (1) | TWI421699B (de) |
WO (1) | WO2007102981A2 (de) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7721160B2 (en) * | 2006-09-11 | 2010-05-18 | Advanced Micro Devices, Inc. | System for protecting data during high-speed bidirectional communication between a master device and a slave device |
US7783954B2 (en) * | 2006-09-11 | 2010-08-24 | Globalfoundries Inc. | System for controlling high-speed bidirectional communication |
US8131903B2 (en) * | 2007-04-30 | 2012-03-06 | Hewlett-Packard Development Company, L.P. | Multi-channel memory connection system and method |
US20090097401A1 (en) * | 2007-10-12 | 2009-04-16 | Wael William Diab | Method and system for configurable data rate thresholds for energy efficient ethernet |
US7991098B2 (en) | 2007-10-31 | 2011-08-02 | Micron Technology, Inc. | Method and apparatus for training the reference voltage level and data sample timing in a receiver |
US20090259786A1 (en) * | 2008-04-10 | 2009-10-15 | Chu-Ming Lin | Data transfer system and method for host-slave interface with automatic status report |
US8261159B1 (en) * | 2008-10-30 | 2012-09-04 | Apple, Inc. | Data scrambling schemes for memory devices |
WO2010093529A2 (en) * | 2009-02-12 | 2010-08-19 | Rambus Inc. | Memory interface with reduced read-write turnaround delay |
JP2011130008A (ja) * | 2009-12-15 | 2011-06-30 | Hitachi-Lg Data Storage Inc | データ入出力装置 |
TWI435596B (zh) * | 2010-07-06 | 2014-04-21 | Realtek Semiconductor Corp | 應用於網路裝置之主從決定裝置及主從決定方法 |
CN102868567B (zh) * | 2011-07-05 | 2015-05-20 | 瑞昱半导体股份有限公司 | 应用于网络装置的主从判定装置及主从判定方法 |
US8495440B2 (en) | 2011-08-30 | 2013-07-23 | Advanced Micro Devices, Inc. | Fully programmable parallel PRBS generator |
JP6162514B2 (ja) * | 2013-07-12 | 2017-07-12 | 東芝メディカルシステムズ株式会社 | 磁気共鳴イメージング装置 |
US10122392B2 (en) * | 2016-08-18 | 2018-11-06 | Advanced Micro Devices, Inc. | Active equalizing negative resistance amplifier for bi-directional bandwidth extension |
US10896723B2 (en) * | 2019-04-30 | 2021-01-19 | Ambient Scientific Inc. | Signal communication circuit implementing receiver and transmitter circuits |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050057292A1 (en) * | 1999-07-14 | 2005-03-17 | Rambus Inc. | Apparatus and method for controlling a master/slave system via master device synchronization |
US20050276261A1 (en) * | 2004-06-09 | 2005-12-15 | Rambus, Inc. | Communication channel calibration using feedback |
Family Cites Families (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4763249A (en) * | 1983-09-22 | 1988-08-09 | Digital Equipment Corporation | Bus device for use in a computer system having a synchronous bus |
JP2570845B2 (ja) * | 1988-05-27 | 1997-01-16 | セイコーエプソン株式会社 | 情報処理装置 |
EP0619547A1 (de) * | 1993-04-05 | 1994-10-12 | Motorola, Inc. | Verfahren zur Datenabfrage und Einrichtung dafür |
JP2738340B2 (ja) * | 1995-05-11 | 1998-04-08 | 日本電気株式会社 | マルチアクセス通信方式 |
WO1999007077A2 (en) | 1997-07-31 | 1999-02-11 | Stanford Syncom Inc. | Means and method for a synchronous network communications system |
US6029250A (en) * | 1998-09-09 | 2000-02-22 | Micron Technology, Inc. | Method and apparatus for adaptively adjusting the timing offset between a clock signal and digital signals transmitted coincident with that clock signal, and memory device and system using same |
US6434650B1 (en) * | 1998-10-21 | 2002-08-13 | Intel Corporation | Apparatus and method for multiplexing bi-directional data onto a low pin count bus between a host CPU and co-processor |
US6374360B1 (en) | 1998-12-11 | 2002-04-16 | Micron Technology, Inc. | Method and apparatus for bit-to-bit timing correction of a high speed memory bus |
US6467012B1 (en) * | 1999-07-08 | 2002-10-15 | International Business Machines Corporation | Method and apparatus using a distributed system structure to support bus-based cache-coherence protocols for symmetric multiprocessors |
US6316966B1 (en) | 1999-07-16 | 2001-11-13 | Conexant Systems, Inc. | Apparatus and method for servo-controlled self-centering phase detector |
US6321282B1 (en) | 1999-10-19 | 2001-11-20 | Rambus Inc. | Apparatus and method for topography dependent signaling |
US6643787B1 (en) | 1999-10-19 | 2003-11-04 | Rambus Inc. | Bus system optimization |
US6975585B1 (en) | 2000-07-27 | 2005-12-13 | Conexant Systems, Inc. | Slotted synchronous frequency division multiplexing for multi-drop networks |
US6898726B1 (en) * | 2000-11-15 | 2005-05-24 | Micron Technology, Inc. | Memory system that sets a predetermined phase relationship between read and write clock signals at a bus midpoint for a plurality of spaced device locations |
US6516282B2 (en) | 2001-04-19 | 2003-02-04 | Ge Medical Systems Global Technology Company | Predictive thermal control used with a vacuum enclosed coil assembly of a magnetic resonance imaging device |
JP2003050738A (ja) | 2001-08-03 | 2003-02-21 | Elpida Memory Inc | キャリブレーション方法及びメモリシステム |
US6877103B2 (en) | 2001-10-05 | 2005-04-05 | Via Technologies, Inc. | Bus interface timing adjustment device, method and application chip |
US7362800B1 (en) | 2002-07-12 | 2008-04-22 | Rambus Inc. | Auto-configured equalizer |
JP2004213438A (ja) * | 2003-01-07 | 2004-07-29 | Matsushita Electric Ind Co Ltd | データ転送回路 |
US20040268190A1 (en) | 2003-05-19 | 2004-12-30 | International Business Machines Corporation | Adjusting parameters of a serial link |
US7165153B2 (en) * | 2003-06-04 | 2007-01-16 | Intel Corporation | Memory channel with unidirectional links |
US7234070B2 (en) | 2003-10-27 | 2007-06-19 | Micron Technology, Inc. | System and method for using a learning sequence to establish communications on a high-speed nonsynchronous interface in the absence of clock forwarding |
KR100643605B1 (ko) * | 2004-08-16 | 2006-11-10 | 삼성전자주식회사 | 적응형 프리 엠퍼시스 장치, 데이터 통신용 송신기,데이터 통신용 송수신 장치 및 적응형 프리 엠퍼시스 방법 |
US7305574B2 (en) | 2004-10-29 | 2007-12-04 | International Business Machines Corporation | System, method and storage medium for bus calibration in a memory subsystem |
US7346795B2 (en) | 2004-12-31 | 2008-03-18 | Intel Corporation | Delaying lanes in order to align all lanes crossing between two clock domains |
US7590173B2 (en) | 2005-06-30 | 2009-09-15 | Intel Corporation | System and method for performing adaptive phase equalization |
US7370247B2 (en) | 2005-09-28 | 2008-05-06 | Intel Corporation | Dynamic offset compensation based on false transitions |
-
2006
- 2006-03-06 US US11/368,785 patent/US7729465B2/en active Active
-
2007
- 2007-02-20 CN CN2007800077529A patent/CN101416435B/zh active Active
- 2007-02-20 DE DE112007000574T patent/DE112007000574B4/de active Active
- 2007-02-20 JP JP2008558284A patent/JP2009529289A/ja active Pending
- 2007-02-20 WO PCT/US2007/004375 patent/WO2007102981A2/en active Application Filing
- 2007-02-20 KR KR1020087024453A patent/KR20080100843A/ko not_active Application Discontinuation
- 2007-02-20 GB GB0815491A patent/GB2448651B/en not_active Expired - Fee Related
- 2007-03-03 TW TW096107334A patent/TWI421699B/zh active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050057292A1 (en) * | 1999-07-14 | 2005-03-17 | Rambus Inc. | Apparatus and method for controlling a master/slave system via master device synchronization |
US20050276261A1 (en) * | 2004-06-09 | 2005-12-15 | Rambus, Inc. | Communication channel calibration using feedback |
Also Published As
Publication number | Publication date |
---|---|
GB2448651A (en) | 2008-10-22 |
US20070208819A1 (en) | 2007-09-06 |
TW200801961A (en) | 2008-01-01 |
DE112007000574T5 (de) | 2009-01-22 |
GB2448651B (en) | 2010-11-17 |
WO2007102981A2 (en) | 2007-09-13 |
CN101416435B (zh) | 2012-04-04 |
CN101416435A (zh) | 2009-04-22 |
WO2007102981A3 (en) | 2007-11-29 |
TWI421699B (zh) | 2014-01-01 |
JP2009529289A (ja) | 2009-08-13 |
GB0815491D0 (en) | 2008-10-01 |
KR20080100843A (ko) | 2008-11-19 |
US7729465B2 (en) | 2010-06-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE112007000574B4 (de) | System und Verfahren zur asymmetrischen Steuerung einer bidirektionalen Hochgeschwindigkeitssignalführung | |
US7929549B1 (en) | Method and apparatus for scrambling data for control of high-speed bidirectional signaling | |
DE69334202T2 (de) | Verfahren und Vorrichtung zur Übertragung von NRZ-Datensignalen durch eine Isolierungbarriere in einer Schnittstelle zwischen Nachbarvorrichtungen auf einem Bus | |
DE602004008308T2 (de) | Leitungstreiber auf dac-basis mit wählbaren präemphase-signalpegeln | |
DE69533237T2 (de) | Vorrichtung zum senden und/oder empfangen von daten mit verschiedenen datenübertragungsraten | |
DE60022624T2 (de) | Trellisdekoder mit korrektur von paartauschungen, zur andwendung in sendern/empfängern für gigabit-ethernet | |
DE102019103736A1 (de) | Vorcodiermechanismus in pci-express | |
DE112014004666T5 (de) | Verzerrungskompensierungssystem und Kommunikationsvorrichtung | |
DE19742043A1 (de) | Vorrichtung zur Übertragung digitaler Daten mit mehreren Datentransferraten | |
DE102006043413A1 (de) | Hochgeschwindigkeitsschnittstellenschaltung für Halbleiterspeicherchips und ein diese enthaltendes Speichersystem | |
DE102017213066A1 (de) | Übertragungsschaltung | |
DE69922405T2 (de) | Verfahren und system zur entscheidungrückgekoppelten dekodierung | |
DE102007016461A1 (de) | Verfahren zum Übertragen DC-balance-kodierter Daten, Verfahren zum Reduzieren von Simultaneous Switching Noise, Datensender, Datenempfänger und Daten-Sender/ Empfänger | |
US7358771B1 (en) | System including a single ended switching topology for high-speed bidirectional signaling | |
DE102018005553A1 (de) | Hochgeschwindigkeitslösungen für kopplungsverbindungen mit unterstützung für zeitkontinuierliche rückkanalkommunikation | |
DE102018005554B4 (de) | Hochgeschwindigkeitslösungen für Kopplungsverbindungen mit Unterstützung für zeitkontinuierliche, bandinterne Rückkanalkommunikation und proprietäte Merkmale | |
US7506222B1 (en) | System for phase tracking and equalization across a byte group for asymmetric control of high-speed bidirectional signaling | |
US7505332B1 (en) | Input offset correction for asymmetric control of high-speed bidirectional signaling | |
DE69930371T2 (de) | Cmos treiber und on-chip abschluss für gigabaud schnelle datenkommunikation | |
EP1320967A1 (de) | Verfahren zur übertragung eines hochfrequenten binären datenstroms über eine kommunikationsstrecke mit galvanischer trennung | |
DE112020005963T5 (de) | Sender mit reduzierter leistung im standby-modus | |
DE60318449T2 (de) | Kontrollierte frequenzsignale | |
EP3827533A1 (de) | Teilnehmer eines datennetzes | |
DE102007059554A1 (de) | Verfahren zur Ermittlung der Taktrate eines von einem Teilnehmer eines Kommunikationssystems empfangenen Datensignals, aktiver Sternkoppler zur Ausführung des Verfahrens und Kommunikationssystem mit einem solchen aktiven Sternkoppler | |
DE10334838B4 (de) | Sende-/Empfangsanordnung und Verfahren zum bidirektionalen Übertragen von Daten über eine digitale Schnittstelle in einem Funkgerät |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
8127 | New person/name/address of the applicant |
Owner name: GLOBALFOUNDRIES INC., GRAND CAYMAN, KY |
|
8128 | New person/name/address of the agent |
Representative=s name: GRUENECKER, KINKELDEY, STOCKMAIR & SCHWANHAEUSSER, |
|
R016 | Response to examination communication | ||
R018 | Grant decision by examination section/examining division | ||
R020 | Patent grant now final |
Effective date: 20140301 |
|
R081 | Change of applicant/patentee |
Owner name: GLOBALFOUNDRIES U.S. INC., SANTA CLARA, US Free format text: FORMER OWNER: GLOBALFOUNDRIES INC., GRAND CAYMAN, KY Owner name: MEDIATEK INC., TW Free format text: FORMER OWNER: GLOBALFOUNDRIES INC., GRAND CAYMAN, KY |
|
R082 | Change of representative |
Representative=s name: GRUENECKER PATENT- UND RECHTSANWAELTE PARTG MB, DE Representative=s name: HOEFER & PARTNER PATENTANWAELTE MBB, DE |
|
R081 | Change of applicant/patentee |
Owner name: MEDIATEK INC., TW Free format text: FORMER OWNER: GLOBALFOUNDRIES U.S. INC., SANTA CLARA, CA, US |
|
R082 | Change of representative |
Representative=s name: HOEFER & PARTNER PATENTANWAELTE MBB, DE |