DE112010002783T5 - Mechanismus für Taktsynchronisation - Google Patents

Mechanismus für Taktsynchronisation Download PDF

Info

Publication number
DE112010002783T5
DE112010002783T5 DE112010002783T DE112010002783T DE112010002783T5 DE 112010002783 T5 DE112010002783 T5 DE 112010002783T5 DE 112010002783 T DE112010002783 T DE 112010002783T DE 112010002783 T DE112010002783 T DE 112010002783T DE 112010002783 T5 DE112010002783 T5 DE 112010002783T5
Authority
DE
Germany
Prior art keywords
time
message
master device
target device
indicate
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.)
Pending
Application number
DE112010002783T
Other languages
English (en)
Inventor
Kevin Stanton
David J. Harriman
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of DE112010002783T5 publication Critical patent/DE112010002783T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/14Time supervision arrangements, e.g. real time clock

Abstract

Verfahren und Vorrichtung zum Synchronisieren der Zeit zwischen einem Master-Gerät und einem über ein Netz eingerichteten Zielgerät, wobei das Zielgerät über eine PCIe-Verbindung mit dem Master-Gerät kommuniziert, das das Senden einer ersten Nachricht an einem ersten Zeitpunkt von dem Master-Gerät an das Zielgerät, wobei die erste Nachricht einen Nachrichtenindikator umfasst; und das Empfangen einer Antwortnachricht an einem nachfolgenden Zeitpunkt von dem Zielgerät an das Master-Gerät umfasst, wobei die Antwortnachricht den Nachrichtenindikator umfasst.

Description

  • ALLGEMEINER STAND DER TECHNIK
  • Diese Offenbarung betrifft allgemein das Gebiet der Taktregelung und insbesondere Systeme und Verfahren zum Synchronisieren von Taktsignalen zwischen Computergeräten, die über ein Computernetz verbunden sind.
  • Für Geräte, die über ein Netz verbunden sind, ist eine präzise Zeitsynchronisation schwer zu erreichen. Mit Mechanismen wie dem IEEE 802.1 AS/D5.0-Standard mit dem Titel „Timing and Synchronisation for Time-Sensitive Application in Bridged Local Area Networks", der am 6. Februar 2009 veröffentlicht wurde, können die Standardnetzelemente eines solches Systems eine präzise Zeitsynchronisation aufrechterhalten. Die Synchronisation zwischen unterschiedlichen Netzen und anderen Verbindungstechnologien kann indes nur über Softwaremechanismen erfolgen. Da die präzise Zeitregelung von Software-Prozessen auf den meisten CPU-Architekturen nicht unterstützt wird und da die Software-Kommunikation über Peripheral Component Interconnect Express (PCIe) Transaktionsschichtpakete (Transaction Layer Packet – TLP) verwendet, die Warteschlangenverzögerungen und anderen nichtdeterministischen Verzögerungen (zumindest aus der Perspektive der Software) unterworfen sind, ist es nicht möglich, die Latenzzeiten der Kommunikation zwischen den Komponenten zu regeln. Dies führt zu einer beträchtlichen Verringerung der Genauigkeit bis zu einem Punkt, an dem einige Anwendungen nicht mit annehmbaren Qualitätsniveaus unterstützt werden können (z. B. Mehrkanalaudio), und es ist offensichtlich eine spezifische Systemprogrammausstattung erforderlich, die weniger wünschenswert ist als eine Hardware-Lösung.
  • Was benötigt wird, ist ein Hardware-Mechanismus, der es ermöglicht, Geräte, die über eine PCIe- oder eine PCIe-abgeleitete Architektur verbunden sind (wie beispielsweise DMI (Direct Media Interface – direkte Medienschnittstelle), zeitlich zu synchronisieren.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • 1 ist ein schematisches Blockdiagramm, das ein System veranschaulicht, das in der Lage ist, PCIe-Pakete gemäß mehreren Gesichtspunkten der vorliegenden Offenbarung zu verwenden.
  • 2 veranschaulicht schematisch eine beispielhafte Ausführungsform gemäß einem Gesichtspunkt der vorliegenden Offenbarung.
  • 3 ist ein schematisches Blockdiagramm, das die Struktur eines PCIe-Pakets gemäß mehreren Gesichtspunkten der vorliegenden Offenbarung veranschaulicht.
  • 4 veranschaulicht einen abgewandelten Rahmenbildungsmechanismus, der für die Codierung der ersten und zweiten Generation (2.5 und 5 GT/s mit 8b/10b-Codierung) gemäß mehreren Gesichtspunkten der vorliegenden Offenbarung verwendet wird.
  • 5 veranschaulicht einen abgewandelten Rahmenbildungsmechanismus, der für die Codierung der dritten Generation (8 GT/s mit 128b/130b-Codierung) gemäß mehreren Gesichtspunkten der vorliegenden Offenbarung verwendet wird.
  • 6 veranschaulicht ein Protokoll für den Austausch von Nachrichten, das das Ausklammern von Kommunikationsverzögerungen gemäß mehreren Gesichtspunkten der vorliegenden Offenbarung ermöglicht.
  • 7 ist ein Softwarekonfigurationsmechanismus, der unter Verwendung einer PCIe Enhanced Capability Structure gemäß mehreren Gesichtspunkten der vorliegenden Offenbarung ausgeführt ist.
  • AUSFÜHRLICHE BESCHREIBUNG
  • In der folgenden Beschreibung sind ähnliche Komponenten mit denselben Bezugszeichen gekennzeichnet, und zwar unabhängig davon, ob sie in unterschiedlichen Ausführungsformen gezeigt sind. Zur deutlichen und prägnanten Veranschaulichung von (einer) Ausführungsform/en der vorliegenden Erfindung sind die Zeichnungen nicht notwendigerweise maßstabsgetreu und bestimmte Merkmale können in einer etwas schematischen Form gezeigt sein. Merkmale, die in Bezug auf eine Ausführungsform beschrieben und/oder veranschaulicht werden, können auf dieselbe oder eine ähnliche Weise in einer oder mehreren anderen Ausführungsformen und/oder zusammen mit oder anstatt der Merkmale der anderen Ausführungsformen verwendet werden.
  • Gemäß mehreren Ausführungsformen dieser Offenbarung wird ein Verfahren offenbart, das das Senden einer ersten Nachricht an einem ersten Zeitpunkt von einem Master-Gerät an ein Zielgerät, um die Zeit zwischen dem Master-Gerät und dem über ein Netz eingerichteten Ziel-Gerät zu synchronisieren, wobei das Zielgerät über eine PCIe-Verbindung mit dem Master-Gerät kommuniziert, wobei die erste Nachricht einen Nachrichtenindikator umfasst; und das Empfangen einer Antwortnachricht von dem Zielgerät an das Master-Gerät an einem nachfolgenden Zeitpunkt umfasst, wobei die Antwortnachricht den Nachrichtenindikator umfasst.
  • Gemäß mehreren Ausführungsformen dieser Offenbarung wird ein Computerprogrammprodukt offenbart, das ein durch einen Computer verwendbares Medium umfasst, das einen darin enthaltenen maschinenlesbaren Programcode aufweist, wobei der maschinenlesbare Programmcode angepasst ist, um ausgeführt zu werden, um ein Verfahren zu implementieren, das das Anhängen eines Kopfs an ein Transaktionsschichtprotokoll-Layoutpaket an einem Master-Gerät zum Synchronisieren der Zeit zwischen dem Master-Gerät und einem über ein Netz eingerichteten Zielgerät, wobei der Kopf eingerichtet ist, um das Paket als ein Zeitsynchronisationspaket zu kennzeichnen; und das Senden des Pakets mit dem angehängten Kopf von einem Master-Gerät an ein Zielgerät zum Synchronisieren der Zeit zwischen dem Master- und dem Zielgerät umfasst.
  • Gemäß mehreren Ausführungsformen dieser Offenbarung wird ein System offenbart, das eine Steuereinheit, die konfiguriert ist, um an einem Master-Gerät eine geänderte Rahmenbildung an einen Kopf eines Transaktionsschichtprotokoll-Layoutpakets anzuwenden, wobei der Kopf eingerichtet ist, um das Paket als ein Zeitsynchronisationspaket zu kennzeichnen; einen Sender, der konfiguriert ist, um das Paket mit der geänderten Rahmenbildung vorn Master-Gerät an ein Zielgerät zu senden, um die Zeit zwischen dem Master-Gerät und dem Zielgerät zu synchronisieren, und einen Empfänger umfasst, der konfiguriert ist, um das gesendete Paket zu empfangen.
  • Diese und andere Merkmale und Eigenschaften sowie die Betriebsverfahren und Funktionen der zugehörigen Strukturelemente und die Kombination von Teilen und Einsparungen bei der Herstellung gehen aus der Betrachtung der folgenden Beschreibung und der angefügten Ansprüche in Bezug auf die beiliegenden Zeichnungen hervor, die alle einen Teil dieser Patentschrift bilden, wobei gleiche Bezugszeichen entsprechende Teile in den verschiedenen Figuren bezeichnen. Es versteht sich jedoch ausdrücklich, dass die Zeichnungen lediglich zum Zweck der Veranschaulichung und Beschreibung bereitgestellt werden und mit ihnen keine Definition der Beschränkungen der Ansprüche beabsichtigt wird. Wie in der Beschreibung und in den Ansprüchen verwendet, umfassen die Formen von „ein”, „eine”, „der”, „die” und „das” im Singular Verweise im Plural, es sei denn, dies ist durch den Zusammenhang eindeutig anders bestimmt.
  • Nun in Bezug auf die verschiedenen Gesichtspunkte der Offenbarung verwenden die meisten modernen Rechengeräte Eingangs-/Ausgangs(E/A)-Adapter und Busse, die irgendeine Version oder Implementierung des Peripheral-Component-Interconnect-Standards verwenden, der ursprünglich durch Intel in den 1990er-Jahren geschaffen wurde. Der Peripheral Component Interconnect (PCI) Standard spezifiziert einen Computerbus für das Anschließen von Peripheriegeräten an eine Computer-Hauptplatine. PCI Express oder PCIe ist eine Implementierung des PCI-Computerbus, die bestehende PCI-Programmierkonzepte verwendet aber in der der Computerbus auf einem vollständig unterschiedlichen und viel schnelleren seriellen Kommunikationsprotokoll der physikalischen Schicht gründet. Die physikalische Schicht besteht nicht aus einem bidirektionalen Bus, der von mehreren Geräten gemeinsam benutzt werden kann, sondern aus einzelnen unidirektionalen Verbindungen, die mit genau zwei Geräten verbunden sind.
  • Obgleich Abschnitte der vorliegenden Erörterung zum Zweck der Veranschaulichung PCIe-Kommunikationen oder Geräte betreffen, können Ausführungsformen der Erfindung mit anderen Typen von Kommunikationen oder Geräten verwendet werden, zum Beispiel mit Kommunikationen oder Geräten, die die Übertragung von paketierten Daten über serielle Hochgeschwindigkeitsverbindungen nutzen, Kommunikationen oder Geräte, die flussregelungsbasiertes Verbindungsmanagement nutzen, Kommunikationen oder Geräte, die guthabenbasierte Flussregelung nutzen, Kommunikationen oder Geräte, die eine rein serielle Schnittstelle nutzen, Kommunikationen oder Geräte, die ein Split-Transaktionsprotokoll nutzen, das mit zugeordneten Paketen implementiert ist, Kommunikationen oder Geräte, die Pakete für eine verbesserte oder optimale Paketübertragung priorisieren, Kommunikationen oder Geräte, die skalierbare Verbindungen nutzen, die eine oder mehrere Lanes (z. B. Punkt-zu-Punkt-Verbindungen) aufweisen, Kommunikationen oder Geräte, die eine serielle Hochgeschwindigkeitsverbindung nutzen, Kommunikationen oder Geräte, die eine Differenzierung unterschiedlicher Verkehrstypen nutzen, Kommunikationen oder Geräte, die einen höchst zuverlässigen Datenübertragungsmechanismus nutzen (z. B. unter Verwendung von Laufnummern und/oder End-to-end Cyclic Redundancy Check (ECRC)), Kommunikationen oder Geräte, die eine Sicherungsschicht nutzen, um die Integrität der übertragenen Daten zu erreichen, Kommunikationen oder Geräte, die eine physikalische Schicht von zwei differentiell gesteuerten Paaren von Niederspannungssignalen (z. B. ein Sendepaar und ein Empfangspaar) nutzen, Kommunikationen oder Geräte, die eine Verbindungsinitialisierung nutzen, die die Aushandlung von Lane-Breiten und Betriebsfrequenzen einschließt, Kommunikationen oder Geräte, die nur dann das Senden eines Datenpakets erlauben, wenn bekannt ist, dass der Empfangspuffer zum Empfangen des Pakets auf der Empfangsseite verfügbar ist, Kommunikationen oder Geräte, die Anforderungspakete und/oder Antwortpakete nutzen, Kommunikationen oder Geräte, die Message Space und/oder Message Signaled Interrupt (MSI) und/oder In-Band-Nachrichten nutzen, Kommunikationen oder Geräte, die einen Software-Schicht-Konfigurationsraum nutzen, Kommunikationen oder Geräte, die einen Maximum Payload Size (MPS) Parameter nutzen, oder dergleichen.
  • 1 veranschaulicht schematisch ein Blockdiagramm eines Systems 100, das in der Lage ist, PCIe-Pakete zu nutzen, die einen geänderten Rahmenbildungsmechanismus gemäß einigen veranschaulichenden Ausführungsformen der Erfindung aufweisen. Das System 100 kann zum Beispiel ein Rechengerät, ein/en Computer, ein/en Personal Computer (PC), ein/en Servercomputer, ein Client-Server-System, ein/en Mobilcomputer, ein/en tragbarer/tragbaren Computer, ein Laptop, ein Notebook, ein/en Tablet-Computer, ein Netz aus mehreren zusammengeschalteten Geräten oder dergleichen sein oder umfassen.
  • Das System 100 kann zum Beispiel einen Prozessor 111, eine Eingabeeinheit 112, eine Ausgabeeinheit 113, eine RAM/ROM-Einheit 114, eine Speichereinheit 115, eine Kommunikationseinheit 116 und eine Grafikkarte 117 umfassen. Das System 100 kann wahlweise andere zweckmäßige Hardware-Komponenten und/oder Software-Komponenten umfassen.
  • Der Prozessor 111 kann zum Beispiel eine Zentraleinheit (Central Processing Unit – CPU), einen digitalen Signalprozessor (DSP), einen Mikroprozessor, einen Host-Prozessor, eine Steuereinheit, mehrere Prozessoren oder Steuereinheiten, einen Chip, einen Mikrochip, eine oder mehrere Schaltkreise, Schaltungen, eine Logikeinheit, einen integrierten Schaltkreis (Integrated Circuit – IC), einen anwendungsspezifischen integrierten Schaltkreis (Application-Specific IC (ASIC)) oder irgendeine/n andere/n zweckmäßige/n Mehrzweck- oder spezifischen Prozessor oder Steuereinheit umfassen. Der Prozessor 111 kann Befehle, zum Beispiel von einem Betriebssystem (Operating System – OS) 171 des Systems 100 oder von einer oder mehreren Softwareanwendungen 172 ausführen.
  • Die Eingabeeinheit 112 kann zum Beispiel eine Tastatur, ein Tastenfeld, eine Maus, ein Touchpad, einen Eingabestift, ein Mikrofon oder ein anderes zweckmäßiges Zeigegerät oder Eingabegerät umfassen. Die Ausgabeeinheit 113 kann zum Beispiel eine/n Kathodenstrahlröhrenmonitor oder -anzeigeeinheit, eine/n Flüssigkristallmonitor oder -anzeigeeinheit (LCD), einen Bildschirm, einen Monitor, einen Lautsprecher oder ein/e andere/s zweckmäßiges Anzeigeeinheit oder Ausgabegerät umfassen. Die Grafikkarte 117 kann zum Beispiel eine/n Grafik- oder Videoprozessor, -adapter, -steuereinheit oder -beschleuniger umfassen.
  • Die RAM/ROM-Einheit 114 kann zum Beispiel einen Direktzugriffspeicher (Random Access Memory – RAM), einen Festwertspeicher (Read Only Memory – ROM), einen dynamischen Direktzugriffsspeicher (DRAM), einen synchronen dynamischen Direktzugriffspeicher (SD-RAM), einen Flash-Speicher, einen flüchtigen Speicher, einen nichtflüchtigen Speicher, einen Cache-Speicher, einen Puffer, eine Kurzzeitspeichereinheit, eine Langzeitspeichereinheit oder andere zweckmäßige RAM/ROM-Einheiten oder Speichereinheiten umfassen. Die Speichereinheit 115 kann zum Beispiel ein Festplattenlaufwerk, ein Diskettenlaufwerk, ein CD-Laufwerk (Compact Disk), ein CD-ROM-Laufwerk, ein DVD-Laufwerk (Digital Versatile Disk) oder andere zweckmäßige wechselbare oder nicht wechselbare Speichereinheiten umfassen. Die RAM/ROM-Einheit 114 und/oder Speichereinheit 115 kann zum Beispiel Daten speichern, die durch das System 100 verarbeitet werden.
  • Die Kommunikationseinheit 116 kann zum Beispiel eine drahtgebundene oder drahtlose Netzschnittstellenkarte (Network Interface Card – NIC), ein drahtgebundenes oder drahtloses Modem, ein drahtgebundener oder drahtloser Empfänger und/oder Sender, ein/e drahtgebundenen oder drahtlose/n Sender-Empfänger und/oder Sende-/Empfangseinrichtung, eine Hochfrequenz(HF)-Kommunikationseinheit oder -sende-/Empfangseinrichtung oder andere Einheiten umfassen, die in der Lage sind, Signale, Blöcke, Rahmen, Sendeströme, Pakete, Nachrichten und/oder Daten zu senden und/oder zu empfangen. Die Kommunikationseinheit 116 kann wahlweise zum Beispiel eine oder mehrere Antennen, z. B. eine Dipolantenne, eine Monopolantenne, eine Rundstrahlantenne, eine endgespeiste Antenne, eine zirkularpolarisierte Antenne, eine Microstrip-Antenne, eine Diversity-Antenne oder dergleichen umfassen oder damit verbunden sein.
  • In einigen Ausführungsformen können die Komponenten des Systems 100 zum Beispiel in einem/einer gemeinsamen Gehäuse, Verpackung oder dergleichen eingeschlossen sein und unter Verwendung von einer oder mehreren drahtgebundenen oder drahtlosen Verbindungen zusammengeschaltet oder betriebsfähig verbunden sein. In anderen Ausführungsformen können Komponenten des Systems 100 zum Beispiel über mehrere oder separate Geräte verteilt sein, unter Verwendung einer/eines Client/Server-Konfiguration oder -systems ausgeführt sein, unter Verwendung von Fernzugriffsverfahren kommunizieren oder dergleichen.
  • Das System 100 kann ferner eine PCIe-Host-Brücke 120 umfassen, die in der Lage ist, sich unter mehreren Komponenten des Systems 100, z. B. unter mehreren PCIe-Geräten oder PCIe-Endpunkten zu verbinden. Die PCIe-Host-Brücke 120 kann eine Speicherbrücke 121 oder eine andere Speichersteuereinheit umfassen, mit der die RAM/ROM-Einheit 114 und/oder die Grafikkarte 117 verbunden sein kann. Die PCIe-Host-Brücke 120 kann ferner eine Eingangs-/Ausgangsbrücke (E/A) 122 umfassen, mit der die Eingabeeinheit 112, die Ausgabeeinheit 113, die Speichereinheit 115, die Kommunikationseinheit 116 und eines oder mehrere USB-Geräte (universeller serieller Bus) 118 verbunden werden können.
  • Das System 100 kann ferner einen PCIe-Schalter 125 umfassen, der in der Lage ist, sich unter mehreren PCIe-Geräten oder PCIe-Endpunkten zu verbinden. In einigen Ausführungsformen kann der PCIe-Schalter 125 als eine separate oder selbständige Einheit oder Komponente ausgeführt sein; in anderen Ausführungsformen kann der PCIe-Schalter 125 integriert, eingebettet oder auf eine andere Weise unter Verwendung der PCIe-Host-Brücke 120 oder einer anderen zweckmäßigen Komponente ausgeführt sein.
  • Die Topologie oder Architektur von 1 wird zu veranschaulichenden Zwecken gezeigt und Ausführungsformen der Erfindung können in Verbindung mit anderen zweckmäßigen Topologien oder Architekturen verwendet werden. Zum Beispiel wird die Speicherbrücke 121 in einigen Ausführungsformen als eine Speichersteuereinheit ausgeführt und ist in der PCIe-Host-Brücke 120 enthalten oder eingebettet. In einigen Ausführungsformen werden eine Northbridge oder eine Southbridge verwendet und sie umfassen wahlweise die PCIe-Host-Brücke 120 und/oder eine ähnliche PCIe-Hostkomponente. In einigen Ausführungsformen sind die Speicherbrücke 121 und die PCIe-Host-Brücke 120 (und wahlweise der Prozessor 111) unter Verwendung eines einzigen oder gemeinsamen integrierten Schaltkreises oder unter Verwendung mehrerer integrierter Schaltkreise ausgeführt. Es können auch andere zweckmäßige Topologien oder Architekturen verwendet werden.
  • Die PCIe-Host-Brücke 120 und/oder der PCIe-Schalter 125 können sich unter mehreren PCIe-Geräten oder Endpunkten, zum Beispiel den Endpunkten 141 bis 145, zusammenschalten. Einige PCIe-Geräte oder Endpunkte (z. B. die PCIe-Endpunkte 141 und 142) sind direkt über die PCIe-Host-Brücke 120 verbunden; wohingegen andere PCIe-Endpunkte (z. B. die PCIe-Endpunkte 143 bis 145) indirekt unter Verwendung des PCIe-Schalters 125 verbunden sind. Einige Ausführungsformen erlauben oder ermöglichen Kommunikationen, die PCIe-Pakete nutzen, die einen geänderten Rahmenbildungsmechanismus aufweisen, nur zwischen (oder unter) PCIe-Geräten oder Endpunkten, die direkt über die PCIe-Host-Brücke 120 verbunden sind (nämlich nur zwischen den Endpunkten 141 und 142); und erlauben oder ermöglichen keine Kommunikationen, die PCIe-Pakete nutzen, die einen geänderten Rahmenbildungsmechanismus aufweisen, zwischen (oder unter) PCIe-Geräten oder Endpunkten, die indirekt verbunden sind oder nicht direkt über die PCIe-Host-Brücke 120 verbunden sind oder indirekt über den PCIe-Schalter 125 verbunden sind (nämlich unter den Endpunkten 143 bis 145 oder zwischen dem Endpunkt 141 und den Endpunkten 143 bis 145 oder zwischen dem Endpunkt 142 und den Endpunkten 143 bis 145).
  • Die PCIe-Host-Brücke 120 und/oder der PCIe-Schalter 125 können sich unter mehreren PCIe-Endpunkten oder PCIe-Geräten, zum Beispiel den Endpunkten 141 bis 145, zusammenschalten. Zu veranschaulichenden Zwecken kann der PCIe-Endpunkt 141 Daten über die Ports 151, 152 an die Speicherbrücke 121 senden; dementsprechend wird der Endpunkt 141 hier als „Sendeendpunkt” oder „Sendegerät” bezeichnet, wohingegen die Speicherbrücke 121 als „Empfangsendpunkt” oder „Empfangsgerät” bezeichnet wird. Andere Komponenten können als ein Sendegerät und/oder ein Empfangsgerät betrieben werden. Zum Beispiel kann der Prozessor 111 ein Sendegerät sein und die RAM/ROM-Einheit 114 kann ein Empfangsgerät sein; das USB-Gerät 118 kann ein Sendegerät sein und die Speichereinheit 115 kann ein Empfangsgerät sein; die Speicherbrücke 121 kann als ein Empfangsgerät (z. B. gegenüber einem/einer ersten Endpunkt oder Komponente) betrieben werden und/oder als ein Sendegerät (z. B. gegenüber einem/einer zweiten Endpunkt oder Komponente) betrieben werden; oder dergleichen. In einigen Ausführungsformen kann das Empfangsgerät Daten oder Steuerdaten an das Sendegerät zurücksenden oder umgekehrt; zum Beispiel kann die Kommunikation zwischen dem Sendegerät und dem Empfangsgerät unilateral oder bilateral sein.
  • 2 veranschaulicht schematisch eine beispielhafte Ausführungsform gemäß einem Gesichtspunkt der vorliegenden Offenbarung. Die Offenbarung kann auf ein breites Spektrum von Anwendungen angewandt werden, von der Synchronisierung von mehreren Audiokanälen in einem Audio-Video-System, allgemein bei 200 gezeigt, bis hin zu industriellen Anwendungen bei Anlagen und Maschinen und Testinstrumentenausrüstung. Das Notebook 205, das Komponenten, wie eine CPU, einen Chipsatz, hochauflösendes Audio (z. B. Azalia von Intel), drahtgebundenes Gigabit-Ethernet umfasst, ist mit den vorderen Lautsprechern 210 und dem Subwoofer 215 verbunden. Das Notebook 205 ist über die Verbindung 225 (z. B. PCIe, DMI) mit einem drahtlosen Zugangspunkt 220 (z. B. WiFi, drahtloses Ethernet) verbunden. Die hinteren Lautsprecher 230 stehen über den drahtlosen Zugangspunkt 220 mit dem Notebook 205 in Verbindung. Die Netze können mit anderen Vernetzungs- oder Verbindungstechnologien/Mechanismen, wie beispielsweise USB (universeller serieller Bus), Bluetooth, anderen PAN (Personal Area Network), hochauflösendem (High Definition – HD) Audio usw. ersetzt werden, wie ersichtlich.
  • In Systemen wie dem von 2 ist eine präzise Zeitsynchronisation (Genauigkeit Mikrosekunde) erforderlich, um für den Hörer die richtigen Phasenbeziehungen zwischen dem von den vorderen Lautsprechern 210 und den hinteren Lautsprechern 230 erzeugten Klang aufrechtzuerhalten. In herkömmlichen Systemen kann dies nicht bewerkstelligt werden, da kein präziser Mechanismus zur Regelung der „Darstellungszeit” für die vorderen Lautsprecher 210 und die hinteren Lautsprecher 230 vorhanden ist. Da die Latenzzeit durch die WiFi-Verbindung relativ lang ist, ist es erforderlich, die Signale, die für die vorderen Lautsprecher 210 dargestellt werden, zu puffern und zu verzögern. Da die WiFi-Latenzzeit nicht präzise geregelt wird, können jedoch ohne präzise synchronisierte lokale Takte auf herkömmliche Weise bestenfalls die erwartete Latenzzeit angenähert werden und die Signale des vorderen Lautsprechers entsprechend verzögert werden. Mit präzise synchronisierten lokalen Takten können die Audiodaten eine „Darstellungszeit” angeben, die durch die Lautsprecher eingehalten wird, wodurch es möglich wird, die Daten selbst lediglich mit losen Bedingungen zu puffern, die erforderlich sind, um Pufferunter-/überlaufzustände zu vermeiden.
  • 3 veranschaulicht schematisch die Struktur eines PCIe-Pakets 310, das einen Nachrichtenvermittlungsmechanismus umfasst, der gemeinsam mit einem geänderten Rahmenbildungsmechanismus für den Austausch von Zeitabtastungsinformationen gemäß mehreren Gesichtspunkten der vorliegenden Offenbarung verwendet wird. Obgleich Abschnitte der vorliegenden Erörterung zum Beispiel eine PCIe-TLP-Struktur betreffen, die eine 64-Bit-Adressierung nutzt, sind die Ausführungsformen der Offenbarung nicht in dieser Hinsicht beschränkt und können in Verbindung mit anderen PCIe-TLP-Strukturen, zum Beispiel Strukturen, die eine 32-Bit-Adressierung nutzen, oder anderen zweckmäßigen Strukturen oder Größen verwendet werden.
  • Das Paket 310 ist eine Struktur mit vier Doppelwörtern, das einen Kopfabschnitt 320, einen Datenabschnitt 330 und einen Übersichtsabschnitt (nicht gezeigt) umfasst. Die Begriffe „Doppelwort” oder „D-Wort” oder „DW” können, so wie sie hier verwendet werden, zum Beispiel eine Dateneinheit umfassen, die eine Größe von vier Bytes aufweist. Die erste Zeile 311 gibt den Byteversatz (zum Beispiel +0, +1, +2 und +3) an; und die zweite Zeile 312 gibt die Bitzahl (zum Beispiel acht Bits, die von 0 bis 7 nummeriert sind) an. Der Kopf 320 umfasst Felder mit Steuerinformationen (die zum Beispiel ein Formatfeld, ein Typenfeld, ein Längenfeld, ein ID-Feld, ein Tag-Feld und dergleichen umfassen), die acht Bytes belegen, wie in den Zeilen 313 und 314 angegeben. Die Zeile 315 ist eine 64-Bit-Adresse, die reserviert ist. Die Zeilen 313 bis 315 entsprechen dem Kopfabschnitt 320 des Pakets 310.
  • Der Datenabschnitt 330 von TLP 310 wird verwendet, um Nutzdaten zu tragen, wo anwendbar. Einige TLP können einen Nutzdatenabschnitt 330 umfassen, wohingegen andere TLP keinen Nutzdatenabschnitt 330 umfassen können. Der Datenabschnitt 330 kann eines oder mehrere bestimmte Bits oder Flags oder Felder des Kopfs 330 umfassen, zum Beispiel können M Bit oder das Flag 332 und/oder das reservierte Feld 333 verwendet werden, um anzugeben, ob die Nachricht durch den Time Master auf einer bestimmten Verbindung gesendet wird oder durch den Time Target. Das TNumber-Feld 334 kann verwendet werden, um die laufende Nummer dieser Messung anzugeben, die durch den Empfänger verwendet wird, um Zeitstempel zu korrelieren. Das TimeSampleNS-Feld 335 kann verwendet werden, um einen abgetasteten Zeitwert in Nanosekunden anzugeben, zum Beispiel für die Messung TNumber-1 (mod 256). Das TimeDiffNS-Feld 336 kann verwendet werden, um einen Zeitdifferenzwert in Nanosekunden anzugeben, zum Beispiel für die Messung TNumber-1 (mod 256).
  • Der Übersichtsabschnitt (nicht gezeigt) umfasst eine wahlfreie TLP-Übersicht, die an das TLP angehängt werden kann. In einigen Gesichtspunkten umfasst das Paket 310 zusätzliche wesentliche Daten oder Nicht-ECEC-Daten, die im Raum, der einer TLP-Übersicht entspricht, gespeichert sind und/oder getragen werden. Der zusätzliche Raum in der Übersicht speichert keine ECRC-Informationen und speichert stattdessen andere oder alternative Informationen, zum Beispiel anwendungsspezifische oder Nicht-ECRC-Daten.
  • In einigen Gesichtspunkten umfasst der Kopf des TLP 310 ein oder mehrere Anzeigebits oder Flags oder Felder, um das Vorhandensein einer TLP-Übersicht anzuzeigen, die anwendungsspezifische Daten oder Nicht-ECRC-Daten aufweist. Zum Beispiel kann ein TLP-Übersichtanzeigebit (TD) 399 das Vorhandensein einer Übersicht anzeigen. Eine oder mehrere bestimmte Bits oder Flags oder Felder des Kopfs 320, zum Beispiel das reservierte Bit 397 und/oder das reservierte Feld 398, können verwendet werden, um anzuzeigen, dass die Übersicht anwendungsspezifische Daten oder Nicht-ECRC-Daten umfasst, um anzuzeigen, dass die Übersicht keine ECRC-Informationen umfasst, um anzuzeigen, dass die ECRC-Überprüfung zu ignorieren ist, und/oder, um anzuzeigen, dass wesentliche Daten oder Nicht-ECRC-Daten von dem Raum, der der TLP-Übersicht entspricht, oder von einem vordefinierten Abschnitt dieses Raums (z. B. durch das Empfangsgerät) zu lesen oder zu erfassen sind.
  • 4 veranschaulicht einen geänderten Rahmenbildungsmechanismus, der für die Codierung der ersten und zweiten Generation (2.5 und 5 GT/s mit 8b/10b-Codierung) gemäß mehreren Gesichtspunkten der vorliegenden Offenbarung verwendet wird. Die Struktur eines PCIe-Pakets umfasst einen geänderten Rahmenbildungs-Nachrichtenvermittlungsmechanismus zum Austauschen von Zeitabtastungsinformationen. Ein TLP mit nicht geänderter Rahmenbildung ist oben gezeigt und das Time Sync TLP mit geänderter Rahmenbildung ist unten gezeigt. Der Abschnitt mit der Bezeichnung „TLP-Nachricht” für das Time Sync TLP ist in 3 gezeigt. Die Felder Seq[11:0] und LCRC[31:0] sind die Laufnummer und verbinden den durch die Datensicherungsschicht hinzugefügten CRC. Ein Unterschied ist die Verwendung des STS-Startsymbols anstatt des STP-Rahmenbildungssymbols.
  • 5 veranschaulicht einen geänderten Rahmenbildungsmechanismus, der für Codierung der dritten Generation (8 GT/s mit 128b/130b-Codierung) gemäß mehreren Gesichtspunkten der vorliegenden Offenbarung verwendet wird. 5 ist analog zu 4, außer, dass in 5 im Gegensatz zur Codierung der ersten und zweiten Generation, wie in 4 gezeigt, die dritte Generation gezeigt wird. Das Zeitsynchronisationstransportschicht-Protokollpaket 500 umfasst den Kopf 501, der eingerichtet ist, um das Paket 500 als ein Paket zu kennzeichnen, das Zeitsynchronisationsinformationen enthält. Das Feld 502 umfasst Len[10:0], was auf die Länge des Gesamtpakets verweist. Zum Beispiel kann die Länge als vier Byte Doppelwörter (DW) dargestellt werden. Das Feld 504 umfasst Seq[11:0], was die Laufnummer des TLP ist. Das Feld 503 umfasst Check[4:0], was die Datenintegrität für die Len-, Check- und Seq-Felder bereitstellt. Anstatt eines Rahmenbildungssymbols STS, wie in 4 gezeigt, kennzeichnet das Vierbit-Feld 501 am Anfang den Typ eines Pakets, derart, dass ein normales TLP von einer Time-Sync-Nachricht als die physikalische Schicht unterschieden werden kann. Das Feld 505 mit der Bezeichnung „TLP-Nachricht” ist wieder das Paket, das in 3 gezeigt ist. Es sei erwähnt, dass 4 und 5 nicht maßstabsgetreu sind.
  • 6 ist ein Protokoll für den Austausch der geänderten Nachrichten, das gemäß mehreren Gesichtspunkten der vorliegenden Offenbarung das Ausklammern von Kommunikationsverzögerungen ermöglicht. Zum Zeitpunkt t1n sendet das Master-Gerät eine Time-Sync-Nachricht an ein Zielgerät. Das Zielgerät empfängt die Nachricht zum Zeitpunkt t2n. Die TimeSync-Nachricht umfasst M Bit oder das auf gleich 1 eingestellte Flag 332, das auf gleich n eingestellte TNumber-Feld 134, das auf gleich t1n-1 eingestellte TimeSamplesNS-Feld 135 und das auf t4n-1 – t1n-1 eingestellte TimeDiffNS-Feld 136. Zum Beispiel wäre das Format der TimeSync-Nachricht TimeSync (M: = 1, TNumber: = n, TimeSampleNS: = t1n-1, TimeDiffNS: = (t4n-1 – t1n-1)). Das Master-Gerät pflegt den TNumber-Zähler und setzt TNumber++ in jeder TimeSync-Nachricht. Das Master-Gerät stellt auch M: = 1 ein und behält t1 und t4. Als Reaktion sendet das Zielgerät die TimeSync-Nachricht zum Zeitpunkt t3n und das Master-Gerät empfängt die TimeSync-Nachricht zum Zeitpunkt t4n. Die durch das Zielgerät zum Zeitpunkt t3n gesendete TimeSync-Nachricht umfasst TimeSync (M: = 0, TNumber: = n, TimeSampleNS: = <Undefined>, TimeDiffNS: = <Undefined>). Das Zielgerät antwortet auf jede empfangene TimeSync-Nachricht, behält die empfangene TNumber und gibt sie als Reaktion wieder und stellt M: = 0 ein. Die Zeitwerte spiegeln tatsächliche Sende/Empfangszeitpunkte für erfolgreiche TLP-Übertragungen wider. Die Werte, die ausgeschiedenen TLPs zugehörig sind, müssen verworfen werden.
  • Zum Zeitpunkt t1n+1 sendet das Master-Gerät eine TimeSync-Nachricht an ein Zielgerät. Das Zielgerät empfängt die Nachricht zum Zeitpunkt t2n+1. Zum Beispiel wäre das Format der TimeSync-Nachricht TimeSync (M: = 1, TNumber: = n + 1 mod 256, TimeSampleNS: = t1n, TimeDiffNS: = (t4n + t1n)). Als Reaktion sendet das Zielgerät die TimeSync-Nachricht zum Zeitpunkt t3n+1 und das Master-Gerät empfängt die TimeSync-Nachricht zum Zeitpunkt t4n +1. Die durch das Zielgerät zum Zeitpunkt t3n+1 gesendete TimeSync-Nachricht umfasst TimeSync (M: = 0, TNumber: = n + 1 mod 256, TimeSampleNS: = <Undefined>, Time-DiffNS: = <Undefined>).
  • Besondere Symbole, die als K-Codes bezeichnet werden und die in den Betriebsarten PCIe 2.5 GT/s und 5 GT/s verwendet werden, sind in Tabelle 1 gezeigt. Wie in der Tabelle gezeigt, wird ein neuer K-Code, K28.6, mit den Versionen 2.5 GT/s und 5 GT/s von PCIe für Start of Time Sync Messages TLPs verwendet. Tabelle 1
    Codierung Symbol Name Beschreibung
    K28.5 COM Comma Verwendung für Lane- und Verbindungsinitialisierung und -verwaltung
    K27.7 STP Start TLP Markiert den Beginn eines Transaction-Layer-Pakets
    K28.2 SDP Start DLLP Markiert den Beginn eines Data-Link-Layer-Pakets
    K29.7 End End Markiert das Ende eines Transaction-Layer-Pakets oder eines Data-Link-Layer-Pakets
    K30.7 EDB EnD Bad Markiert das Ende eines annullierten TLP
    K23.7 PAD Pad Verwendung bei der Rahmenbildung und bei der Aushandlung der Verbindungsbreite und der Lane-Ordnung
    K28.0 SKP Skip Verwendung zum Ausgleichen unterschiedlicher Bitraten für zwei kommunizierende Ports
    K28.1 FTS Fast Training Sequence Verwendung in einer geordneten Menge zum Verlassen von L0s zu L0
    K28.3 IDL Idle Verwendung im Electrical Idle Ordered Set (EIOS)
    K28.4 Reserviert
    K28.6 STS Start Time Sync TLP Start Time Sync TLP
    K28.7 EIE Electrical Idle Exit Reserviert in 2.5 GT/s Verwendung im Electrical Idle Exit Ordered Set (EIEOS) und Sendung vor dem Senden der FTS bei Geschwindigkeiten, die sich von 2.5 GT/s unterscheiden
  • 7 ist ein Softwarekonfigurationsmechanismus, der unter Verwendung einer PCIe Enhanced Capability Structure gemäß mehreren Gesichtspunkten der vorliegenden Offenbarung implementiert ist. Der Mechanismus, allgemein bei 700 gezeigt, umfasst den PCIe Express Capability Header 605. Das TS[1:0]-Feld 710 ist ein Nur-Lese-Feld und stellt die Zeitsynchronisierungsfähigkeit des Geräts bereit. Wenn das Gerät in der Lage ist, ein Grand-Master-Gerät zu sein, wird TS 710 auf 11 eingestellt. Wenn das Gerät in der Lage ist, ein Master-Gerät zu sein, wird TS 710 auf 1× eingestellt. Wenn das Gerät nur in der Lage ist, ein Zielgerät zu sein, wird TS 710 auf 00 eingestellt. Ein Grand-Master ist ein Gerät, das ausgewählt wird, um die Quelle zu sein, von der alle anderen zugehörigen Master-Geräte ihre Zeitwerte ableiten.
  • Das MT[1:0]-Feld 715 ist ein Lese-/Schreib-Feld und kann in Abhängigkeit von der zugewiesenen Funktionalität des Geräts eingestellt werden. Wenn das Gerät ein Grand-Master sein soll, wird MT auf 11 eingestellt. MT 715 kann für einen Root Complex standardmäßig auf Grand-Master eingestellt werden. Die Einstellung 10 von MT 715 ist zur zukünftigen Verwendung und Bestimmung reserviert. Wenn das Gerät ein Master-Gerät ist, wird MT 715 auf 01 eingestellt, was der Standard für nachgeschaltete Ports ist. Wenn das Gerät ein Zielgerät ist, wird MT 715 auf 00 eingestellt, was der Standard für vorgeschaltete Ports ist.
  • Das Time[47:0]-Feld 720 ist eine Abtastung des Zeittakts des Geräts. Das Feld ist für alle Geräte außer einem Grand-Master-Gerät ein Nur-Lese-Feld. Wenn das Gerät ein Grand-Master-Gerät ist, ist das Feld ein Lese-/Schreib-Feld für Software und kann auch durch Hardware unter Verwendung von implementationsspezifischen Mechanismen eingestellt werden. Das Schreiben von Bytes ist (in irgendeiner Reihenfolge) nur erlaubt, wenn der Wert „Disabled” ist, und der Grand-Master-Takt beginnt, wenn der Wert „Enabled” ist, ab der geschriebenen Zeit, zu zählen.
  • Das Frq[7:0]-Feld 725 ist für eine Frequenz des Sendens von Nachrichten bestimmt und ist ein Lese-/Schreib-Feld. Das Feld wird nur für Grand-Master- und Master-Geräte implementiert und ist für Nur-Zielgeräte fest. Das Feld 725 ist kodiert um einen Bereich von einmal pro 10 s bis 100 kHz zu umfassen.
  • Das Feld 730 ist ein Freigabe/Sperrbit. Das Bit 730 ermöglicht es Master- und Grand-Master-Geräten, Zeitsynchronisierungsnachrichten zu senden und bewirkt, dass Zielgeräte auf empfangene Nachrichten antworten. Für ein Grand-Master-Gerät ist es möglich, durch Hardware einen Mechanismus zu implementieren, der die Genauigkeit weiter erhöht, indem die Aktivierung des Grand-Master-Geräts mit irgendeiner implementationsspezifischen Referenz synchronisiert wird, die der Einstellung des Freigabebits durch Software folgt.
  • Obgleich die vorhergehende Offenbarung eine momentan als nützlich betrachtete Auswahl von Ausführungsformen erörtert, versteht es sich, dass solche Einzelheiten nur für diesen Zweck bestimmt sind und dass die beigefügten Ansprüche nicht auf die offenbarten Ausführungsformen beschränkt sind, sondern im Gegenteil beabsichtigt wird, Abwandlungen und gleichwertige Einrichtungen abzudecken, die innerhalb des Gedankens und Umfangs der beigefügten Ansprüche liegen.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Nicht-Patentliteratur
    • IEEE 802.1 AS/D5.0-Standard mit dem Titel „Timing and Synchronisation for Time-Sensitive Application in Bridged Local Area Networks”, der am 6. Februar 2009 [0002]

Claims (20)

  1. Verfahren, das Folgendes umfasst: Senden einer ersten Nachricht an einem ersten Zeitpunkt von einem Master-Gerät an ein Zielgerät, um die Zeit zwischen dem Master-Gerät und dem über ein Netz eingerichteten Zielgerät zu synchronisieren, wobei das Zielgerät über eine PCIe-Verbindung mit dem Master-Gerät kommuniziert, wobei die erste Nachricht einen Nachrichtenindikator umfasst; und Empfangen einer Antwortnachricht von dem Zielgerät an das Master-Gerät an einem nachfolgenden Zeitpunkt, wobei die Antwortnachricht den Nachrichtenindikator umfasst.
  2. Verfahren nach Anspruch 1, das Folgendes umfasst: Senden einer zweiten Nachricht an einem zweiten Zeitpunkt von dem Master-Gerät an das Zielgerät, wobei die zweite Nachricht einen nachfolgenden Nachrichtenindikator umfasst; und Empfangen einer anderen Antwortnachricht von dem Zielgerät an das Master-Gerät an einem nachfolgenden Zeitpunkt, wobei die Antwortnachricht die Nachricht umfasst.
  3. Verfahren nach Anspruch 1, das das Korrelieren von Zeitstempeln auf der Grundlage der laufenden Nummer umfasst.
  4. Verfahren nach Anspruch 1, wobei der Nachrichtenindikator auf I eingestellt wird, wenn das Sendegerät das Master-Gerät ist, und der Nachrichtenindikator auf 0 eingestellt wird, wenn das Sendegerät das Zielgerät ist.
  5. Verfahren nach Anspruch 1, wobei der abgetastete Zeitwert und der Zeitdifferenzwert in Nanosekunden gemessen werden.
  6. Verfahren nach Anspruch 1, wobei der ersten Nachricht und der Antwortnachricht eine Zeitsynchronisationsmarkierung vorangeht.
  7. Verfahren nach Anspruch 6, wobei die Markierung ein Bit, eine Reihe von Bits, ein Flag oder einen K-Code umfasst.
  8. Verfahren nach Anspruch 1, wobei das Master-Gerät konfiguriert ist, um die laufende Nummer der Zeitmessung zu pflegen.
  9. Verfahren nach Anspruch 1, wobei das Master-Gerät konfiguriert ist, um den ersten Zeitpunkt und den nachfolgenden Zeitpunkt zu speichern.
  10. Verfahren nach Anspruch 1, wobei das Zielgerät konfiguriert ist, um auf jede vom Zielgerät empfangene Nachricht zu antworten.
  11. Verfahren nach Anspruch 1, wobei das Zielgerät konfiguriert ist, um die empfangene laufende Nummer zu speichern und die empfangene laufende Nummer in der Antwortnachricht wiederzugeben.
  12. Verfahren nach Anspruch 1, wobei der Nachrichtenindikator eingerichtet ist, um anzugeben, dass die Nachricht vom Master-Gerät ausging, und eine laufende Nummer einer Zeitmessung, einen Abtastzeitwert und einen Zeitdifferenzwert anzugeben.
  13. Verfahren nach Anspruch 1, wobei die Antwortnachricht den Nachrichtenindikator umfasst, der eingerichtet ist, um anzugeben, dass die Nachricht vom Zielgerät ausging, und die laufende Nummer, den Abtastzeitwert, der eingerichtet ist, um einen nicht definierten Zeitwert anzugeben, und einen Zeitdifferenzwert anzugeben, der eingerichtet ist, um einen nicht definierten Zeitdifferenzwert anzugeben.
  14. Verfahren nach Anspruch 2, wobei der nachfolgende Nachrichtenindikator eingerichtet ist, um anzugeben, dass die Nachricht von dem Master-Gerät ausging, und eine andere laufende Nummer einer zweiten Zeitmessung, einen zweiten Abtastzeitwert und einen Zeitdifferenzwert anzugeben.
  15. Verfahren nach Anspruch 2, wobei der andere Antwortnachrichtenindikator eingerichtet ist, um anzugeben, dass die Nachricht von dem Zielgerät ausging, und die andere laufende Nummer, den Abtastzeitwert, der eingerichtet ist, um einen nicht definierten Zeitwert anzugeben, und den Zeitdifferenzwert anzugeben, der eingerichtet ist, um einen nicht definierten Zeitdifferenzwert anzugeben.
  16. Computerprogrammprodukt, das Folgendes umfasst: ein durch einen Computer verwendbares Medium, das einen darin enthaltenen maschinenlesbaren Programcode aufweist, wobei der maschinenlesbare Computerprogrammcode angepasst ist, um ausgeführt zu werden, um ein Verfahren zu implementieren, das Folgendes umfasst: Anhängen eines Kopfs an ein Transaktionsschichtprotokoll-Layoutpaket an einem Master-Gerät zum Synchronisieren der Zeit zwischen dem Master-Gerät und einem über ein Netz eingerichteten Zielgerät, wobei der Kopf eingerichtet ist, um das Paket als Zeitsynchronisationspaket zu kennzeichnen; und Senden des Pakets mit dem angehängten Kopf von einem Master-Gerät an ein Zielgerät zum Synchronisieren der Zeit zwischen dem Master- und dem Zielgerät.
  17. Computerprogrammprodukt nach Anspruch 16, wobei der angehängte Kopf eine Zeitsynchronisationsmarkierung umfasst.
  18. Computerprogrammprodukt nach Anspruch 17, wobei die Zeitsynchronisationsmarkierung ein Bit, eine Reihe von Bits, ein Flag oder einen K-Code umfasst.
  19. System, das Folgendes umfasst: eine Steuereinheit, die konfiguriert ist, um an einem Master-Gerät eine geänderte Rahmenbildung an einen Kopf eines Transaktionsschichtprotokoll-Layoutpakets anzuwenden, wobei der Kopf eingerichtet ist, um das Paket als ein Zeitsynchronisationspaket zu kennzeichnen; einen Sender, der konfiguriert ist, um das Paket mit der geänderten Rahmenbildung vom Master-Gerät an das Zielgerät zu senden, um die Zeit zwischen dem Master-Gerät und dem Zielgerät zu synchronisieren; und einen Empfänger, der konfiguriert ist, um das gesendete Paket zu empfangen.
  20. Vorrichtung nach Anspruch 19, wobei der Kopf eine Zeitsynchronisationsmarkierung umfasst.
DE112010002783T 2009-06-30 2010-05-11 Mechanismus für Taktsynchronisation Pending DE112010002783T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/495,500 US8385333B2 (en) 2009-06-30 2009-06-30 Mechanism for clock synchronization
US12/495,500 2009-06-30
PCT/US2010/034350 WO2011008327A1 (en) 2009-06-30 2010-05-11 Mechanism for clock synchronization

Publications (1)

Publication Number Publication Date
DE112010002783T5 true DE112010002783T5 (de) 2012-08-16

Family

ID=43380681

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112010002783T Pending DE112010002783T5 (de) 2009-06-30 2010-05-11 Mechanismus für Taktsynchronisation

Country Status (4)

Country Link
US (2) US8385333B2 (de)
CN (1) CN101937253B (de)
DE (1) DE112010002783T5 (de)
WO (1) WO2011008327A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9946683B2 (en) 2014-12-24 2018-04-17 Intel Corporation Reducing precision timing measurement uncertainty

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8139575B2 (en) * 2007-06-29 2012-03-20 International Business Machines Corporation Device, system and method of modification of PCI express packet digest
US9065736B2 (en) * 2009-06-08 2015-06-23 Broadcom Corporation Method and system for compensated time stamping for time-sensitive network communications
CN102201983A (zh) * 2011-05-03 2011-09-28 中兴通讯股份有限公司 测量传输链路不对称延时的方法、终端及系统
CN103210689B (zh) 2011-08-11 2014-08-20 华为技术有限公司 对pcie设备进行时间同步的方法、装置和系统
KR102154642B1 (ko) * 2012-04-05 2020-09-10 한국전자통신연구원 PCIe 스위치 장치 및 그의 접속제어 방법
WO2014014520A1 (en) * 2012-07-18 2014-01-23 Intel Corporation Measuring time offsets between devices with independent silicon clocks
US9317465B2 (en) * 2013-03-15 2016-04-19 Janus Technologies, Inc. System and method of sending PCI express data over ethernet connection
US11205163B2 (en) 2013-12-18 2021-12-21 PayRange Inc. Systems and methods for determining electric pulses to provide to an unattended machine based on remotely-configured options
US9659296B2 (en) 2013-12-18 2017-05-23 PayRange Inc. Method and system for presenting representations of payment accepting unit events
US11966926B2 (en) 2013-12-18 2024-04-23 PayRange Inc. Method and system for asynchronous mobile payments for multiple in-person transactions conducted in parallel
US11475454B2 (en) 2013-12-18 2022-10-18 PayRange Inc. Intermediary communications over non-persistent network connections
US11481780B2 (en) 2013-12-18 2022-10-25 PayRange Inc. Method and system for asynchronous mobile payments for multiple in-person transactions conducted in parallel
US11481781B2 (en) 2013-12-18 2022-10-25 PayRange Inc. Processing interrupted transaction over non-persistent network connections
US10019724B2 (en) 2015-01-30 2018-07-10 PayRange Inc. Method and system for providing offers for automated retail machines via mobile devices
US11966895B2 (en) 2013-12-18 2024-04-23 PayRange Inc. Refund centers for processing and dispensing vending machine refunds via an MDB router
US20180240096A1 (en) * 2017-02-16 2018-08-23 PayRange Inc. Mobile payment module with dual function radio transmitter
US8856045B1 (en) 2013-12-18 2014-10-07 PayRange Inc. Mobile-device-to-machine payment systems
US11074580B2 (en) 2013-12-18 2021-07-27 PayRange Inc. Device and method for providing external access to multi-drop bus peripheral devices
US10146722B1 (en) * 2014-10-15 2018-12-04 Integrated Device Technology, Inc. Method and apparatus for operating of a PCIe retimer over optical cable
CN104317354B (zh) 2014-11-03 2018-03-30 武汉数字派特科技有限公司 一种系统间全局时钟的确定方法和结构
US9690738B2 (en) * 2015-01-16 2017-06-27 Qualcomm Incorporated Peripheral component interconnect express (PCIe) hosts adapted to support remote PCIe endpoints
CN104901844B (zh) * 2015-05-13 2019-01-22 国家计算机网络与信息安全管理中心 基于pcie的高精度时间戳获取方法、装置及网卡
EP3139547B1 (de) * 2015-09-07 2018-10-17 TTTech Computertechnik AG Inkrementelles online-planungsverfahren für deterministische netzwerke
WO2017049433A1 (zh) * 2015-09-21 2017-03-30 华为技术有限公司 计算机系统和计算机系统中端点设备访问的方法
US20170235452A1 (en) 2016-02-16 2017-08-17 Bank Of America Corporation Integrated geolocation resource transfer platform
US10162792B2 (en) * 2016-10-13 2018-12-25 Baidu Usa Llc Method and system for high precision time synchronization
US10374994B1 (en) * 2018-02-21 2019-08-06 King.Com Ltd. Messaging system
US10795400B2 (en) 2018-04-30 2020-10-06 Qualcomm Incorporated Time synchronization for clocks separated by a communication link
US11258696B1 (en) 2019-06-04 2022-02-22 Asiera Labs, Inc. Low-latency signaling-link retimer
US11349626B1 (en) 2019-07-08 2022-05-31 Astera Labs, Inc. Retimer with path-coordinated flow-rate compensation
US11150687B1 (en) 2019-07-10 2021-10-19 Astera Labs, Inc. Low-latency retimer with seamless clock switchover
US11327913B1 (en) 2019-09-20 2022-05-10 Astera Labs, Inc. Configurable-aggregation retimer with media-dedicated controllers
US11424905B1 (en) 2019-09-20 2022-08-23 Astera Labs, Inc. Retimer with mesochronous intra-lane path controllers
US11683149B2 (en) 2020-09-11 2023-06-20 Apple Inc. Precise time management using local time base
US11687115B2 (en) 2021-09-22 2023-06-27 Apple Inc. Precise time management for peripheral device using local time base

Family Cites Families (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5566180A (en) * 1994-12-21 1996-10-15 Hewlett-Packard Company Method for recognizing events and synchronizing clocks
US6199169B1 (en) * 1998-03-31 2001-03-06 Compaq Computer Corporation System and method for synchronizing time across a computer cluster
GB2342018B (en) * 1998-09-24 2003-11-05 Nokia Mobile Phones Ltd Communication network
TR200102405T2 (tr) * 1999-01-15 2002-01-21 Airbiquity Inc. Bir sesli iletişim şebekesinde senkronizasyon için bant-içi sinyalizasyon.
US7130958B2 (en) * 2003-12-02 2006-10-31 Super Talent Electronics, Inc. Serial interface to flash-memory chip using PCI-express-like packets and packed data for partial-page writes
US6877043B2 (en) * 2000-04-07 2005-04-05 Broadcom Corporation Method for distributing sets of collision resolution parameters in a frame-based communications network
JP4407007B2 (ja) * 2000-05-02 2010-02-03 ソニー株式会社 データ送信装置及び方法
US7315911B2 (en) * 2005-01-20 2008-01-01 Dot Hill Systems Corporation Method for efficient inter-processor communication in an active-active RAID system using PCI-express links
US8037224B2 (en) * 2002-10-08 2011-10-11 Netlogic Microsystems, Inc. Delegating network processor operations to star topology serial bus interfaces
US8108559B2 (en) * 2003-07-11 2012-01-31 Computer Associates Think, Inc. Standardizing clocks in a networked computing environment
DE10333932A1 (de) * 2003-07-25 2005-02-24 Robert Bosch Gmbh Synchronisation von datenverarbeitenden Einheiten
KR20060057521A (ko) * 2003-08-12 2006-05-26 소니 가부시끼 가이샤 통신 처리 장치 및 통신 제어 방법 및 컴퓨터 프로그램
US7475174B2 (en) * 2004-03-17 2009-01-06 Super Talent Electronics, Inc. Flash / phase-change memory in multi-ring topology using serial-link packet interface
KR100605985B1 (ko) * 2004-10-19 2006-07-28 삼성전자주식회사 동기화 이더넷 디바이스에서의 초기 접속 시그널링 방법
WO2006097880A1 (en) * 2005-03-18 2006-09-21 Philips Intellectual Property & Standards Gmbh Method for synchronization of network nodes
JP4075898B2 (ja) * 2005-03-23 2008-04-16 セイコーエプソン株式会社 データ転送制御装置及び電子機器
JP4186940B2 (ja) * 2005-03-23 2008-11-26 セイコーエプソン株式会社 データ転送制御装置及び電子機器
CN1863207A (zh) * 2005-12-27 2006-11-15 华为技术有限公司 一种用于通信网络的时钟同步方法和系统
JP4366661B2 (ja) * 2006-03-17 2009-11-18 ソニー株式会社 情報処理システムおよび方法、情報処理装置および方法、並びにプログラム
GB2443867A (en) * 2006-03-21 2008-05-21 Zarlink Semiconductor Ltd Timing source with packet size controller providing a distribution of packet sizes
US20070237082A1 (en) * 2006-03-31 2007-10-11 Woojong Han Techniques for sharing connection queues and performing congestion management
US8234424B2 (en) * 2006-06-08 2012-07-31 Integrated Device Technology, Inc. Efficient strip-down and re-alignment of ingressing physical layer/data layer packets in an aggregated PCI-express port having eight lanes
JP5108261B2 (ja) * 2006-07-11 2012-12-26 株式会社リコー 情報処理装置およびデータ通信装置
US8325767B2 (en) * 2006-09-29 2012-12-04 Agilent Technologies, Inc. Enhancement of IEEE 1588 synchronization using out-of-band communication path
US8225128B2 (en) * 2007-03-01 2012-07-17 Conemtech Ab Electronic timer system, time control and generation of timing signals
US8150800B2 (en) * 2007-03-28 2012-04-03 Netapp, Inc. Advanced clock synchronization technique
EP2026485A1 (de) * 2007-08-17 2009-02-18 Nokia Siemens Networks Oy Verfahren und Vorrichtung zur paketbasierten Taktwiederherstellung
EP2045971B1 (de) * 2007-10-04 2011-12-07 Harman Becker Automotive Systems GmbH Datennetzwerk mit Zeitsynchronisationsmechanismus
US8416803B1 (en) * 2008-02-14 2013-04-09 Wilocity, Ltd. Low latency interconnect bus protocol
US8175085B2 (en) * 2008-03-25 2012-05-08 Fusion-Io, Inc. Bus scaling device
KR100987389B1 (ko) * 2008-08-14 2010-10-12 한국전자통신연구원 고정 지연 시간을 갖는 타임 동기화 방법 및 그 방법이 적용된 브릿지
KR100994128B1 (ko) * 2008-09-23 2010-11-15 한국전자통신연구원 고정밀 네트워크 동기를 위한 타임 스탬핑 방법 및 장치
CN101729180A (zh) * 2008-10-21 2010-06-09 华为技术有限公司 精准时钟同步方法及系统、精准时钟频率/时间同步装置
CN101425891B (zh) * 2008-12-09 2012-09-12 中兴通讯股份有限公司 时间同步方法、系统和客户端
US8300749B2 (en) * 2008-12-19 2012-10-30 Alcatel Lucent Method, apparatus and system for frequency synchronization between devices communicating over a packet network
US8018972B2 (en) * 2009-06-30 2011-09-13 Alcatel Lucent Timing over packet performance
JP2011081769A (ja) * 2009-09-14 2011-04-21 Ricoh Co Ltd データ転送装置、データ転送デバイスおよびデータ転送方法
US20130003757A1 (en) * 2011-06-30 2013-01-03 Harman International Industries, Incorporated Syntonized communication system
US8856573B2 (en) * 2012-06-27 2014-10-07 Intel Corporation Setting a number (N) of fast training sequences (FTS) automatically to an optimal value

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
IEEE 802.1 AS/D5.0-Standard mit dem Titel "Timing and Synchronisation for Time-Sensitive Application in Bridged Local Area Networks", der am 6. Februar 2009

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9946683B2 (en) 2014-12-24 2018-04-17 Intel Corporation Reducing precision timing measurement uncertainty

Also Published As

Publication number Publication date
US20130145049A1 (en) 2013-06-06
US8385333B2 (en) 2013-02-26
CN101937253A (zh) 2011-01-05
CN101937253B (zh) 2013-03-13
US20100329285A1 (en) 2010-12-30
WO2011008327A1 (en) 2011-01-20
US9432456B2 (en) 2016-08-30

Similar Documents

Publication Publication Date Title
DE112010002783T5 (de) Mechanismus für Taktsynchronisation
DE112015006944B4 (de) Einrichtung, System und Verfahren zum Ermöglichen einer Kommunikation über eine Verbindung mit einer Vorrichtung außerhalb einer Baugruppe
DE112013001661B4 (de) Apparat, verfahren und system zur bereitstellung eines konsolidierten seitenband kommunikationskanal zwischen geräten
DE112013002639B4 (de) Optimierter Verbindungstrainings- und Managementmechanismus
DE112007002619B4 (de) Speichersteuerung mit einer Speicherverbindung mit zwei Betriebsmodi
DE112017005002T5 (de) Verbindungsphysikalischer schichtschnittstellenadapter
DE102009061279B3 (de) Bereitstellung eines Präfixes für einen Datenkopf
DE112017006557T5 (de) Bimodale phy für geringe latenz in hochgeschwindigkeitsverbindungswegen
DE112017006523T5 (de) Retimer mit kurzer latenzzeit
US10356504B2 (en) Low latency transmission systems and methods for long distances in soundwire systems
DE112015006961T5 (de) Verbindungsfehlerdetektion in mehrfachchipgehäusen
DE112013007726T5 (de) Verbesserungen eines Zwischenverbindungs-Retimers
EP3085027B1 (de) Kommunikationsknoten für ein paketvermitteltes datennetzwerk und verfahren zu dessen betrieb
TW200532457A (en) Lane to lane deskewing via non-data symbol processing for a serial point to point link
DE102019135220A1 (de) Kommunikationssysteme mit Hilfs-Master- und Hilfs-Anrufunterstützungs-Funktionalität
DE102020110675A1 (de) Kommunikationssysteme mit funktionalität einer seriellen peripherie-schnittstelle
CN103605632A (zh) 一种axi总线与ahb总线的通信方法与装置
DE112017004963T5 (de) Spannunsgmodulierte steuer-lane
DE102019107810A1 (de) Dynamische hystereseschaltung
DE112016002371T5 (de) Vorrichtung, gerät und system zum verringern der stromableitung während differentiellen kommunikationen
DE112016001258T5 (de) Multi-gigabit drahtloses tunnelsystem
DE112011105991T5 (de) Geclusterte On-Package-Ein-/Ausgabe-Schnittstelle mit Voll-und Halbduplexbetrieb
DE112021005545T5 (de) Knotenerkennung und -konfiguration in einem daisy-chain-netzwerk
KR101680733B1 (ko) 고속 동기식 직렬 인터페이스(hsi)를 위한 멀티-레인 고속 인터페이스들, 및 관련된 시스템들 및 방법들
DE102018116540A1 (de) Adaptive Verwendung mehrerer Leistungsversorgungen in Kommunikationssystemen

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R016 Response to examination communication
R130 Divisional application to

Ref document number: 112010006154

Country of ref document: DE