DE112013007744B3 - Vorrichtung, system und verfahren zur bereitstellung drahtloser kommunikation zwischen geräten - Google Patents

Vorrichtung, system und verfahren zur bereitstellung drahtloser kommunikation zwischen geräten Download PDF

Info

Publication number
DE112013007744B3
DE112013007744B3 DE112013007744.2T DE112013007744T DE112013007744B3 DE 112013007744 B3 DE112013007744 B3 DE 112013007744B3 DE 112013007744 T DE112013007744 T DE 112013007744T DE 112013007744 B3 DE112013007744 B3 DE 112013007744B3
Authority
DE
Germany
Prior art keywords
link
physical
layer
phy
pcie
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
Application number
DE112013007744.2T
Other languages
English (en)
Inventor
David J. Harriman
Mahesh Wagh
Robert Gough
James E. Jaussi
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.)
Tahoe Research Ltd
Original Assignee
Tahoe Research Ltd
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 Tahoe Research Ltd filed Critical Tahoe Research Ltd
Application granted granted Critical
Publication of DE112013007744B3 publication Critical patent/DE112013007744B3/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • G06F13/4295Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using an embedded synchronisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Communication Control (AREA)

Abstract

Vorrichtung, umfassend:Eine Logik zum Betreiben einer Peripheral Component Interconnect Express^TM (PCIe^TM)-basierten Transaktionsschicht und einer Verbindungsschicht;eine erste physikalische Einheit, die mit der Logik gekoppelt ist, um Daten über eine erste physikalische Verbindung zu senden und zu empfangen; undeine zweite physikalische Einheit, die mit der Logik gekoppelt ist, um Daten über eine zweite physikalische Verbindung zu senden und zu empfangen, wobei die zweite physikalische Einheit eine elektrische M-PHY-Schicht und eine logische Schicht enthält, um eine Schnittstelle der Logik mit der elektrischen M-PHY-Schicht zu bilden, wobei die logische Schicht eine Verbindungstrainings- und Zustandsmaschine (LTSSM) zum Durchführen von Verbindungstraining der zweiten physikalischen Verbindung und zum Unterstützen einer Mehrspurkonfiguration der zweiten physikalischen Verbindung enthält, wobei die logische Schicht eingerichtet ist, eine von der Verbindungsschicht empfangene Transaktion in ein Format zum Senden auf der zweiten physikalischen Verbindung zu konvertieren durch Abbilden von PCIe-Symbolen auf M-PHY-Symbole.

Description

  • Technischer Bereich
  • Die Ausführungsformen beziehen sich auf Verbindungstechnologie für ein Peripheriegerät.
  • Hintergrund
  • Um die Kommunikation zwischen verschiedenen Geräten in einem System zu gewährleisten, wird eine Art von Verbindungsmechanismus verwendet. In Abhängigkeit von der Systemimplementierung steht eine Vielzahl solcher Verbindungen zur Verfügung. Um die Kommunikation zweier Geräte untereinander zu ermöglichen, verfügen Sie häufig über ein gemeinsames Kommunikationsprotokoll.
  • Ein typisches Kommunikationsprotokoll für die Kommunikation zwischen Geräten in einem Rechnersystem ist ein Peripheral Component Interconnect Express (PCI Express™ (PCIe™))-Übertragungsprotokoll mit Verbindungen auf Grundlage der PCI Express™ Basisspezifikation Version 3.0 (veröffentlicht am 18. November 2010) (nachfolgend PCIe™- Spezifikation genannt). Dieses Kommunikationsprotokoll ist ein Beispiel für eine Load/Store-Eingabe/Ausgabe (EA)-Verbindungssystems. Gemäß diesem Protokoll erfolgt die Kommunikation zwischen den Geräten in der Regel seriell mit sehr hohen Geschwindigkeiten. In Bezug auf dieses Protokoll wurden verschiedene Parameter mit der Absicht entwickelt, eine maximale Leistung ohne Rücksicht auf die Energieeffizienz zu erreichen, da das PCIe™-Kommunikationsprotokoll im Umfeld von Desktop-Computern entwickelt wurde. Als Folge dessen können viele seiner Funktionen nicht auf Lösungen mit geringem Stromverbrauch, die in mobile Systeme integriert werden könnten, skaliert werden.
  • Zusätzlich zu diesen Stromverbrauchsbedenken mit konventionellen Lade/Speicher-Kommunikationsprotokollen sind bestehende Verbindungsverwaltungsschemen in der Regel sehr komplex und beinhalten eine große Anzahl von Zuständen, was zu einem langwierigen Prozess führt, um Übergänge zwischen den Zuständen durchzuführen. Dies ist zum Teil auf bestehende Verbindungsverwaltungsmechanismen zurückzuführen, die entwickelt wurden, um mehrere verschiedene Formfaktoranforderungen, wie Stecker, andere Systembestandteile, usw. einzubeziehen. Ein solches Beispiel ist die Verbindungsverwaltung in Übereinstimmung mit dem PCIe™-Kommunikationsprotokoll.
  • Die US 2012 / 0 086 968 A1 offenbart zwei mittels PCI-Express miteinander verbundene Komponenten unter Verwendung einer PCI-Express-Schichtenstruktur, die eine Verbindungsschicht und eine Transaktionsschicht enthält. Die US 2012 / 0 056 662 A1 offenbart Interprozessorkommunikationsbusse zwischen Prozessoren.
  • Der Erfindung liegt die Aufgabe zu Grunde, PCIe-Einheiten mittels drahtloser Kommunikation zu verbinden. Diese Aufgabe wird von der Vorrichtung, dem System und dem Verfahren gemäß der unabhängigen Patentansprüche 1, 12 und 20 gelöst. Bevorzugte Weiterbildungen sind in den abhängigen Ansprüchen angegeben.
  • Figurenliste
    • 1 ist ein Blockdiagramm eines Protokollstapels auf hoher Ebene für ein Kommunikationsprotokoll in Übereinstimmung mit einer Ausführungsform der vorliegenden Erfindung.
    • 2 ist ein Blockdiagramm eines System-on-a-Chip (SoC) in Übereinstimmung mit einer Ausführungsform der vorliegenden Erfindung.
    • 3 ist ein Blockdiagramm einer physikalischen Einheit in Übereinstimmung mit einer anderen Ausführungsform der vorliegenden Erfindung.
    • 4 ist ein Blockdiagramm, das weitere Einzelheiten eines Protokollstapels gemäß einer Ausführungsform der vorliegenden Erfindung zeigt.
    • 5 ist ein Zustandsdiagramm für eine Verbindungstrainings-Zustandsmaschine, die einen Teil eine Verbindungsverwaltung in Übereinstimmung mit einer Ausführungsform der vorliegenden Erfindung sein kann.
    • 6 ist ein Flussdiagramm für die verschiedenen Zustände eines Seitenbandmechanismus gemäß einer Ausführungsform der vorliegenden Erfindung.
    • 7 ist ein Flussdiagramm eines Verfahrens gemäß einer Ausführungsform der vorliegenden Erfindung.
    • 8 ist ein Blockdiagramm der in einem Rechnersystem in Übereinstimmung mit einer Ausführungsform der vorliegenden Erfindung enthaltenen Komponenten.
    • 9 ist ein Blockdiagramm eines Beispielsystems mit dem Ausführungsformen verwendet werden können.
    • 10 ist ein Blockdiagramm eines Abschnitts einer physikalischen Einheit des Seitenbandes in Übereinstimmung mit einer Ausführungsform der vorliegenden Erfindung.
    • 11 ist ein Flussdiagramm eines Verfahrens gemäß einer Ausführungsform der vorliegenden Erfindung.
  • Detaillierte Beschreibung
  • Die Ausführungsformen können eine Eingabe/Ausgabe (EA)-Verbindungstechnologie mit geringem Stromverbrauch, eine Load/Store-Architektur sein und sind besonders geeignet, um in mobilen Geräten, wie Mobiltelefone, Smartphones, Tablet-Computer, elektronische Lesegeräte, Ultrabooks™ usw. verwendet zu werden.
  • In verschiedenen Ausführungsformen kann ein Protokollstapel für ein gegebenes Kommunikationsprotokoll mit einer physikalischen Einheit eines anderen Kommunikationsprotokolls oder zumindest eine physikalische (PHY)-Einheit, anders als die physikalische Einheit für das gegebene Kommunikationsprotokoll, verwendet werden. Eine physikalische Einheit schließt sowohl eine logische Schicht als auch eine physikalische oder elektrische Schicht ein, die der tatsächlichen, physikalischen Kommunikation von Informationssignalen über eine Verbindung dient, wie z. B. eine Verbindung, die zwei unabhängige Halbleiterchip verbindet, die zwei Halbleiterchips in einem einzigen integrierten Schaltkreis (IC) oder separate Pakete sein können, verbindet, z. B. über eine Leiterplatte-Routing, Spuren oder so weiter. Darüber hinaus kann die physikalische Einheit Framing/Deframing von Datenpaketen, Verbindungstraining und Initialisierung, sowie Verarbeitung der Datenpakete für die Lieferung An/Quittierung von einer physischen Verbindung, durchführen.
  • Obwohl verschiedene Implementierungen möglich sind, kann in einer Ausführungsform der Protokollstapel ein herkömmliches Personalcomputer (PC)-basiertes Kommunikationsprotokoll sein, wie beispielsweise ein Peripheral Component Interconnect Express (PCI) Express™ (PCIe™)) Kommunikationsprotokoll in Übereinstimmung mit dem PCI Express™ Basisspezifikation Version 3.0 (veröffentlicht 18. November 2010) (im folgenden die PCIe™-Spezifikation), eine weitere Version der Protokollerweiterungen oder ein anderes solches Protokoll sein, wobei die physikalische Einheit nicht dem der PCIe ™-Kommunikationsprotokoll entspricht. Diese physikalische Einheit kann speziell für den Zweck des Betriebes mit niedrigem Stromverbrauch gestaltet werden, um den Einbau eines im Wesentlichen unveränderten oberen PCIe™-Protokollstapels mit diesen physikalischen Schaltungen mit niedrigem Stromverbrauch zu ermöglichen. Auf diese Weise kann die breite Basis des alten PCIe™-Kommunikationsprotokoll zur Erleichterung der Eingliederung in tragbare und andere, nicht-PC-basierte Formfaktoren, die mit geringem Strom betrieben werden, genutzt werden. Obwohl der Umfang der vorliegenden Erfindung nicht in dieser Hinsicht beschränkt ist, kann in einer Ausführungsform dieser physikalischen Einheit eine physikalische Einheit aus einer mobilen Plattform angepasst werden, auch gemäß M-PHY-Spezifikation Version 1.00.00 - 8. Februar 2011 (MIPI Vorstand genehmigt 28-Apr-2011) Mobile Industry Processor Interface (MIPI) Alliance (nachfolgend MIPI-Spezifikation genannt), die eine Gruppe, die Standards für mobile Rechnergeräte, M-PHY genannt, setzt. Es können aber auch andere physikalische Niedrigenergieeinheiten gemäß anderen Niedrigenergiespezifikationen verwendet werden, um einzelne Chips innerhalb eines Multi-Chip-Pakets zu verbinden oder eine benutzerdefinierte Lösung mit geringem Stromverbrauch zu verwenden. Wie hierin verwendet, steht der Begriff „Niedrigenergie“ für einen Leistungsaufnahmepegel unter dem eines herkömmlichen PC-Systems und ist für eine breite Vielfalt von mobilen und tragbaren Geräten anwendbar. Zum Beispiel kann „Niedrigenergie“ eine physikalische Einheit sein, die weniger Strom verbraucht als eine herkömmliche physikalische PCIe™-Einheit.
  • Auf diese Weise können durch Konvergieren eines traditionellen PCIe™-Protokollstapels mit einer anderen Art der physikalischen Einheit hohe Stückzahlen von Altkomponenten, die für PCIe™ entwickelt wurden, für den Einbau in ein Mobiltelefon oder andere tragbare oder Niedrigenergieplattformen wieder verwendet werden.
  • Ausführungsformen können auch die Wiedererkennung von vorhandenen Load/Store-EA-Technologien, insbesondere PCIe™, verstärken, die mit der Absicht entwickelt wurden, eine maximale Leistung zu erzielen, wobei die Energieeffizienz kein Hauptanliegen ist und diese deshalb nicht auf Niedrigenergieanwendungen skaliert werden können. Durch die Kombination von Teilen eines herkömmlichen Load/Store-Protokollstapels mit einer physikalischen Einheit eines Niedrigenergieentwurfs können Leistungsvorteile von PCIe™ bewahrt werden, wobei die besten Werte in der Geräteklasse und auf Plattformebene erreicht werden.
  • Als solche können Ausführungen softwarekompatibel mit allgegenwärtigen PCIe™-Architekturen sein, die über einen großen vorhandenen Sockel verfügen. Darüber hinaus können es Ausführungsformen auch ermöglichen, dass PHY eines Mobil-PHY-Entwurfs, z. B. M-PHY, direkt wieder verwendet werden. Auf diese Weise können niedrige Wirk- und Blindleistung mit effizienter Leistung/Bit, zusammen mit einem Ansatz, der elektromagnetischen Schnittstellen/Funkschnittstellen (EMI/RFI) freundlich ist, realisiert werden, weil die PHY mit Taktraten betrieben werden kann, die zugeordnete Funkgeräte nicht stören (da die Oberwellen der Taktfrequenz für die PHY nicht die gemeinsamen Funkfrequenzen, mit denen typische Funklösungen arbeiten (beispielsweise 1,8, 1,9, 2,4 Gigahertz (GHz) oder andere Funkfrequenzen stören).
  • Weiterhin können Ausführungsformen für architektonische Verbesserungen bereitgestellt werden, die ein optimiertes Verbindungstraining, Verwaltungsmechanismus (LTSSM), optimierte Strömungsführung, wiederholte Pufferung und Verbindungsmechanismen, ein Architekturprotokoll zur Änderung des Verbindungsbetriebsmodus, schnelle Hardwaregestützte Gerätezustande speichern und wiederherstellen und einen konsolidierten Seitenbandmechanismus für Verbindungsverwaltung mit optionaler Eingangsbandunterstützung ermöglichen.
  • In verschiedenen Ausführungsformen können PCIe™-Transaktion und der Datenverbindungsschichten als Teil eines Protokollstapels mit begrenzten Änderungen für Konten mit unterschiedliche Verbindungsgeschwindigkeiten und asymmetrischen Verbindungen implementiert werden. Zusätzlich kann überarbeitetes Verbindungstraining und -verwaltung bereitgestellt werden, um die Unterstützung für Mehrspurkommunikation, asymmetrische Verbindungskonfigurationen, Seitenbandkonsolidierung und dynamische Skalierbarkeit der Bandbreite einzubeziehen. Ausführungsformen können ferner die Überbrückung zwischen vorhandenen PCIe™-basierender und Nicht-PCIe™-basierender Logik und Schaltung, wie M-PHY-Logik und Schaltung, unterstützen.
  • Dieser Schichtungsansatz ermöglicht es bestehenden Softwarestapel (z. B. Betriebssystem (OS), die virtuellen Maschinenverwaltungen und Treiber) zu aktivieren, um nahtlos auf einer anderen physischen Schicht ausgeführt zu werden. Die Auswirkungen auf die Datenverbindungs- und Transaktionsschicht werden minimiert und können Ändern von Timern im Zusammenhang mit der Aktualisierung der Anerkennungsfrequenz, Wiedergabe-Timer usw. enthalten.
  • Solche Ausführungsformen können die von der Flexibilität in PCIe™-Systemen etwas begrenzen, da diese Flexibilität in einigen Fällen eine bestimmte Komplexität in beiden PCIe™- und anderen Systemen bewirken kann. Dies ist so, da beide Protokolle für ein hohes Maß an Flexibilität sorgen, um die Plug-and-Play-Funktion zu aktivieren. Vielmehr können Ausführungsformen eine Lösung anpassen, die den Grad der Flexibilität in einem Design minimiert, da, wenn es in einem gegebenen System integriert wird, z. B. ein System-on-a-Chip (SoC) verbunden mit einem anderen integrierten Schaltkreis (IC), eine bekannte und feste Konfiguration auftritt. Weil es bei der Implementierung der genauen Konfiguration, die vorhanden ist, bekannt ist, da sowohl das SoC und das angeschlossene Gerät innerhalb der Plattform vorhanden ist, z. B. auf einer Leiterplatte des Systems gelötet, keine Plug-and-Play-Fähigkeit in Bezug auf diese Geräte benötigt wird, und somit die höhere Flexibilität eines PCIe™- oder anderem PC-basierten Kommunikationsprotokolls, das eine nahtlose Einbindung von verschiedenen Geräten in ein System mit Plug-and-Play-Fähigkeit nicht erforderlich sein muss.
  • Beispielsweise kann der SoC, der in einem ersten IC implementiert ist, als Root-Complex handeln und mit einem zweiten IC, der eine Funklösung ist, gekoppelt sein, die wiederum eine oder mehrere Geräte mit mehreren drahtlosen Kommunikationsvorrichtungen umfassen kann. Solche Geräte können von Niedrigenergie-Kurzstreckenkommunikationssystemen, wie sie in Übereinstimmung mit einem Bluetooth ™-Spezifikation, lokale drahtlose Kommunikationen, ein sogenanntes WiFi ™-System in Übereinstimmung mit einem gegebenen Institute of Electrical and Electronics Engineers (IEEE) 802.11 Standard, zu einem Hochenergie-Funksystem sein, wie beispielsweise ein gegebenes zellulares Kommunikationsprotokoll für beispielsweise ein 3G- oder 4G-Kommunikationsprotokoll.
  • Unter Bezugnahme auf 1 wird ein Blockdiagramm eines Protokollstapels auf hoher Ebene für ein Kommunikationsprotokoll in Übereinstimmung mit einer Ausführungsform der vorliegenden Erfindung dargestellt. Wie in 1 dargestellt, kann Stapel 100 eine Kombination aus Software, Firmware und Hardware in einem Halbleiterbauelement, wie einem IC sein, um die Datenkommunikation zwischen dem Halbleitergerät und einem anderen, daran gekoppelten Gerät, handzuhaben. In der Ausführungsform in 1, wird eine Ansicht auf hoher Ebene dargestellt, die mit einer Software 110 auf hoher Ebene beginnt und die verschiedene Arten von Software umfassen kann, die auf einer bestimmten Plattform ausgeführt werden kann. Diese Software auf hoher Ebene kann Betriebssystemsoftware (OS), Firmware, Anwendungssoftware, usw. enthalten. Die über eine Verbindung 140 ausgetauschten Daten, die eine gegebene physikalische Verbindung sein kann und das Halbleitergerät mit einer anderen Komponente verbindet, können durch verschiedene Schichten eines Protokollstapels übermittelt werden, die allgemein dargestellt werden in 1. Wie ersichtlich ist, können Teile dieses Protokollstapels Teil eines herkömmlichen PCIe™-Stapels 120 sein und eine Transaktionsschicht 125 und eine Datenübertragungsschicht 128 umfassen. Im Allgemeinen handelt Transaktionsschicht 125 um Transaktionsschichtpakete (TLP) zu generieren, die Anfrage- oder Antwortpakete sein können, die wiederum zeitlich getrennt werden, so dass die Verbindung einen anderen Verkehr ausführt, während das Zielgerät Daten für die Antwort sammelt. Die Transaktionsschicht verarbeitet weiterhin eine kreditbasierte Flusskontrolle. Diese Transaktionsschicht 125 stellt eine Schnittstelle zwischen einer Verarbeitungsschaltung eines Geräts und der Verbindungsarchitektur bereit, wie beispielsweise eine Datenübertragungsschicht und eine physikalische Schicht. In diesem Zusammenhang ist eine primäre Verantwortung der Transaktionsschicht, die die Pakete erstellt und zerlegt (z. B. Transaktionsschichtpakete (TLP)), sowie die kreditbasierte Flusskontrolle abzuwickeln.
  • Im Gegenzug dazu kann die Datenverbindungsschicht 128 TLPs, die von der Transaktionsschicht erzeugt werden, sequenzieren und für eine sichere Lieferung von TLPs zwischen zwei Endpunkten (einschließlich Handhabung der Fehlerprüfung) und Bestätigungsverarbeitung sorgen. Die Verbindungsschicht 128 wirkt als Zwischenstufe zwischen der Transaktionsschicht und der physikalischen Schicht und stellt einen zuverlässigen Mechanismus für den Austausch von TLPs zwischen zwei Komponenten über eine Verbindung sicher. Einer Seite der Verbindungsschicht akzeptiert TLPs, die von der Transaktionsschicht zusammengesetzt wurden, weist Kennungen zu, berechnet und weist einen Fehlererkennungscode zu, z. B. zyklische Wiederherstellungscodes (CRC), und sendet die modifizierten TLPs an die physische Schicht zur Übertragung über eine physikalische Verbindung zu einem externen Gerät.
  • Nach der Verarbeitung in der Datenverbindungsschicht 128, können Pakete an eine PHY-Einheit 130 übermittelt werden. Im Allgemeinen kann die PHY-Einheit 130 eine Niedrigenergie-PHY 134 enthalten, die sowohl logische Schichten und als auch physikalische (auch elektrische) Unterschichten enthalten kann. In einer Ausführungsform wird die physikalische Schicht durch die PHY-Einheit 130 repräsentiert und überträgt physikalisch ein Paket an ein externes Gerät. Die physikalische Schicht enthält einen Senderteil für die Vorbereitung der ausgehenden Informationen zur Übertragung und einen Empfängerteil für die Identifizier und Vorbereitung der empfangenen Informationen, bevor sie an die Verbindungsschicht weitergeleitet werden. Der Sender wird mit Symbolen versorgt, die serialisiert und an eine externe Vorrichtung übertragen werden. Der Empfänger wird mit serialisierten Symbolen von der externen Vorrichtung versorgt und wandelt die empfangenen Signale in einem Bitstrom um. Der Bitstrom wird deserialisiert und einem logischen Unterblock zugeführt.
  • In einer Ausführungsform kann ein Niedrigenergie-PHY 134, der entweder speziell entwickelt oder von einer anderen PHY, wie einer für die Verarbeitung der paketierten Daten angepassten M-PHY, für die Kommunikation in Verbindung 140 bereitgestellt werden. Wie weiter in 1 dargestellt, kann in der PHY-Einheit 130 auch eine Verbindungstrainings- und Verwaltungsschicht 132 (auch als Verbindungstraining bezeichnet) vorhanden sein. In verschiedenen Ausführungsformen kann die Verbindungsverwaltung 132 eine bestimmte Logik enthalten, die von einem anderen Kommunikationsprotokoll, wie beispielsweise eine PCIe™-Protokoll und spezialisierte Logik zur Handhabung der Schnittstelle zwischen dem herkömmlichen, z. B. PCIe™-Protokollstapel oben, und der physikalischen PHY 134 eines anderen Protokolls implementiert sein kann.
  • In der Ausführungsform in 1, kann Verbindung 140 als Differentialdrahtpaar implementiert werden, die zwei Paare von unidirektionalen Drähten sein können. Bei einigen Implementierungen können mehrere Sätze von Differentialpaaren verwendet werden, um die Bandbreite zu erhöhen. Dabei ist zu beachten, dass nach dem PCIe™-Kommunikationsprotokoll die Anzahl der Differentialpaare in jeder Richtung die gleiche sein muss. Gemäß den verschiedenen Ausführungsformen können jedoch unterschiedliche Anzahlen von Paaren kann in jeder Richtung bereitgestellt werden, wodurch mehr Effizienz und Niedrigenergiebetrieb ermöglicht werden. Dieser gesamte konvergierte Stapel und die Verbindung 140 können sich auf eine mobile Express PCIe™-Zwischenverbindung oder Verbindung beziehen. Wie auf dieser hohen Ebene in der Ausführungsform von 1 dargestellt, ist der Umfang der vorliegenden Erfindung nicht in dieser Hinsicht beschränkt. Die Ansicht in 1 ist vereinfacht im Hinblick auf den Protokollstapel von der Transaktionsschicht durch die physikalische Schicht zusammen mit der Software auf einer höheren Ebene, sowie verschiedenen anderen Schaltungen eines SoC oder anderen Halbleitergeräten einschließlich dieses Stapels, die nicht dargestellt sind.
  • Unter Bezugnahme auf 2 wird ein Blockdiagramm eines SoC gemäß einer Ausführungsform der vorliegenden Erfindung abgebildet. Wie in 2 dargestellt, kann SoC 200 jede Art von SoC für die Implementierung in verschiedene Arten von Plattformen, die von relativ kleinen tragbaren Niedrigenergiegeräten, wie Smartphones, Personal Digital Assistants (PDAs), Tablet-PCs, Netbooks, Ultrabooks™ usw. bis zu erweiterten SoCs reichen, die in übergeordneten Systemen eingesetzt werden können, sein.
  • Wie dargestellt in 2 kann SoC 200 einen oder mehrere Kerne 2100-210n enthalten. So ist in verschiedenen Ausführungsformen ist ein mehradriger SoC möglich, wobei die Kerne alle gleiche Kerne einer gegebenen Architektur, z. B. Prozessoren vom Typ In Reihe oder Außer Reihe sein können. Oder es können heterogene Kerne, beispielsweise einige relativ kleine Niedrigenergiekeme aus einer In-Reihe-Architektur mit zusätzlichen Kernen vorhanden sein, die von einer größeren und komplizierteren Architektur, z. B. eine Außer-Reihe-Architektur sein können. Ein Protokollstapel ermöglicht die Datenkommunikation zwischen einem oder mehreren dieser Kerne und anderen Komponenten eines Systems. Wie zu sehen ist, kann dieser Stapel die Software 215 enthalten, welche eine Software einer höheren Ebene sein kann, wie OS, Firmware und Software auf Anwendungsebene, die einen oder mehrere der Kerne belegt. Darüber hinaus enthält der Protokollstapel eine Transaktionsschicht 220 und eine Datenverbindungsschicht 230. In verschiedenen Ausführungsformen können diese Transaktions- und Datenverbindungsschichten aus einem bestimmten Kommunikationsprotokoll stammen, wie beispielsweise ein PCIe™-Protokoll. Natürlich können Schichten aus unterschiedlichen Protokollstapeln, wie in Übereinstimmung mit einem universellen seriellen Bus (USB)-Protokollstapel in anderen Ausführungsformen vorhanden sein. Auch können in einigen Implementierungen Niedrigenergie-PHY-Schaltungen, wie hier beschrieben, gemultiplext mit bestehenden alternativen Protokollstapeln, vorhanden sein.
  • Noch mit Bezug auf 2 kann dieser Protokollstapel wiederum die physische Einheit 240, die mehrere physische Einheiten für die Kommunikation über mehrere Verbindungen enthalten kann, verbinden. In einer Ausführungsform kann eine physikalische Haupteinheit 250 eine Niedrigenergie-PHY-Einheit sein, die in einer anderen Ausführungsform gemäß der MIPI-Spezifikation einem M-PHY entspricht, um die Kommunikation über eine primäre Verbindung 280 bereitzustellen. Zusätzlich kann eine Seitenband (SB) PHY-Einheit 244 vorhanden sein. In der abgebildeten Ausführungsform kann diese Seitenband PHY-Einheit zur Kommunikation über eine Seitenbandverbindung 270, die ein konsolidiertes Seitenband sein kann, verwendet werden, um gewisse Seitenbandinformationen, z. B. bei niedrigeren Datenraten als primäre Verbindung 280, die an die erste PHY 250 gekoppelt ist, bereitzustellen. In einigen Ausführungsformen können die verschiedenen Schichten des Protokollstapels eine separate Seitenbandkopplung zu dieser SB PHY 244 haben, um die Kommunikation entlang dieser Seitenbandverbindung zu ermöglichen.
  • Zusätzlich kann PHY-Einheit 240 einen SB-Verbindungsmanager 242 enthalten, der verwendet werden kann, um SB-PHY 244 zu steuern. Darüber hinaus kann eine Verbindungstrainings- und Zustandsverwaltung 245 vorhanden sein und kann verwendet werden, um den Protokollstapel, der aus einem ersten Kommunikationsprotokoll stammt, um den ersten PHY 250 anzupassen, welcher jedoch von einem zweiten Kommunikationsprotokoll stammt, sowie die Gesamtsteuerung der ersten PHY 250 liefern und 280 verbinden.
  • Wie weiter zu sehen ist, können verschiedene Komponenten in der ersten PHY 250 vorhanden sein. Genauer gesagt, kann die Sender- und Empfängerschaltung (nämlich TX 253 und RX 254) vorhanden sein. Im Allgemeinen kann diese Schaltung verwendet werden, um die Serialisierungsoperationen, Deserialisierungsoperationen zusammen mit dem Senden und Empfangen von Daten über die Primärverbindung 280 auszuführen. Eine Speicherzustandsverwaltung 251 kann vorhanden sein und wird verwendet werden, um eine Konfiguration und andere Statusinformationen über die erste PHY 250 zu speichern, wenn sie sich in einem Niedrigenergiezustand befindet. Auch kann ein Codierer 252 vorhanden sein, um z. B. die Leitungsverschlüsselung gemäß einem 8b/10b Protokoll durchzuführen.
  • Wie weiter dargestellt in 2 kann eine mechanische Schnittstelle 258 vorhanden sein. Diese mechanische Schnittstelle 258 kann eine gegebene Verbindung sein, um die Kommunikation von Root-Complex 200 und insbesondere zum/vom ersten PHY 250 über die primäre Verbindung 280 zu gewährleisten. In verschiedenen Ausführungsformen kann diese mechanische Verbindung mittels Stiften am Halbleitergerät, als eine Kugelgitteranordnung (BGA) oder an einer anderen Oberfläche montiert oder durch eine Lochverbindung beschichtet sein.
  • Zusätzlich zu diesen Hauptkommunikationsmechanismen kann eine zusätzliche Kommunikationsschnittstelle über eine serielle Niedrigenergie (LPS) PHY-Einheit 255, gekoppelt über einen separaten Stapel einschließlich einer Softwareschicht 216, einer Transaktionsschicht 221 und einer Verbindungsschicht 231 zwischen den Kernen 210 und einem oder mehreren chipexternen Geräten 260a-c für verschiedene Peripheriegeräte mit niedrigen Datenraten, wie Sensoren, Beschleunigungssensoren, Temperatursensoren, Global Positioning System (GPS)-Schaltung, Kompassschaltung, Touchscreen-Schaltung, Tastaturschaltung, Mausschaltung, usw., vorhanden sein.
  • Beachten Sie, dass verschiedene Ausführungsformen die Seitenbandverbindung 270 und die Primärverbindung 280 SoC 200 und ein anderes Halbleiterbauelement verbinden können, z. B. mit einem anderen IC, wie beispielsweise eine Multibandfunklösung.
  • Und wieder, obwohl die Darstellung von 2 auf relativ hoher Ebene ist, sind Variationen möglich. Zum Beispiel ist es möglich mehrere Niedrigenergie-PHYs bereitzustellen, um höhere Datenraten bei der Kommunikation zu ermöglichen, z. B. über verschiedene Kanäle, wobei jeder Kanal mit einer unabhängigen PHY verbunden ist. Unter Bezugnahme auf 3 wird ist ein Blockdiagramm einer physikalischen Einheit in Übereinstimmung mit einer anderen Ausführungsform der vorliegenden Erfindung abgebildet. Wie in 3 dargestellt, enthält die physikalische Einheit 300 ein Verbindungstraining und eine Zustandsverwaltung 310. Diese Zustandsverwaltung kann oben beschrieben sein und kann eine Sammlung von Logiken sein, um die Schnittstelle eines Protokollstapel von einem ersten Kommunikationsprotokoll zu einer physikalischen Einheit von einem zweiten, z. B. unterschiedlichen Kommunikationsprotokoll zu ermöglichen.
  • Wie weiter dargestellt in 3 können Verbindungstraining und Zustandsverwaltung 310 mit mehreren M-PHYs 3200-320n kommunizieren. Durch die Bereitstellung von mehr als einer solchen PHY können höhere Datenkommunikationsraten auftreten. Beachten Sie, dass jedes M-PHY in 3. Mai eine gewisse Menge an Logik enthält, um seine einzelne unabhängig auftretende Kommunikation zu ermöglichten. Die Gesamtsteuerung der Kommunikation dieser verschiedenen M-PHYs -Link kann über die Verbindungstrainings- und Zustandsverwaltung 310 erfolgen. Auch ist zu beachten, dass eine Vielzahl von M-PHYs in 3 in anderen Ausführungsformen abgebildet werden, wobei mehrere PHY-Einheiten von anderen Typen vorhanden sein können und darüber hinaus mehrere heterogene PHY-Einheiten bereitgestellt werden. Dabei ist zu beachten, dass jede M-PHY-Einheit entweder als Teil einer eindeutigen logischen Verbindung oder in Gruppen benutzt werden kann, in denen eine Gruppe jeweils einer einzelnen logischen Verbindung zugeordnet wird. Jedes Gerät kann typischerweise eine einzige logische Verbindung belegen, obwohl in einigen Ausführungsformen ein einziges physisches Gerät mehrere logische Verbindungen belegen kann, z. B. dedizierte Verbindungsressourcen für verschiedene Funktionen einer Multifunktionskomponente.
  • Unter Bezugnahme auf 4 wird ein Blockdiagramm, das weitere Einzelheiten eines Protokollstapels gemäß einer Ausführungsform der vorliegenden Erfindung zeigt, dargestellt. Wie in 4 dargestellt, umfasst Stapel 400 verschiedene Schichten, einschließlich eine Transaktionsschicht 410, eine Datenverbindungsschicht 420 und eine physikalischen Schicht 430. Wie oben beschrieben, können diese verschiedenen Schichten entweder mit herkömmlichen Transaktionen und Datenverbindungsabschnitten eines PCIe™-Protokollstapels oder modifizierten Versionen von diesen Stapeln verwendet werden, um eine Interaktion zwischen diesen Schichten des ersten Kommunikationsprotokolls und einer physikalischen Schicht von einem anderen Kommunikationsprotokoll zu ermöglichen, die in der Ausführungsform der 4. M-PHY gemäß MIPI-Spezifikation sein können.
  • Wie in 4 in Bezug auf eine Richtung dargestellt, in der Information von Protokollstapel 400 gesendet wird, werden eingehende Informationen im Protokollstapel von z. B. einer Schaltung von einem SoC, wie ein Kern oder einer anderen verarbeitende Logik, von einem Sendepaket-Assembler 412 der Transaktionsschicht, die in der Regel Steuerung und Datenpfade vereint, um eine TLP zu bilden, empfangen. Nachdem sie in Übertragungspakete zusammengesetzt wurden, die in verschiedenen Ausführungsformen Datenpakete sein können, z. B. 1 bis 4096 Bytes (oder eine kleinere maximale Größe, z. B. 128 oder 256), werden die zusammengesetzten Pakete an eine Flusskontrolle 414 übergeben, die bestimmt, ob basierend auf der für das nächste TLP(en) erforderlichen Anzahl für die Übertragung in die Warteschlange gestellt, ausreichend Flussregelungskredite vorhanden sind und steuert das Einspeisen von Paketen in die Datenverbindungsschicht 420. Genauer gesagt, werden, wie zu sehen ist, diese bereitgestellten Pakete einem Fehlerdetektor und Sequenzer 422 übergeben, die in einer Ausführungsform eine TLP-Sequenznummer und LCRC erzeugen können. Wie weiter zu sehen ist, enthält die Datenverbindungsschicht 420 einen Sendenachrichtenmechanismus 426, der wiederum DLLPs für Verbindungsverwaltungsfunktionen generiert und mit einer Datenübertragungscontroller 425 verbunden ist, der eine Steuerungsfunktion für die Flusskontrolle und der Datenverbindungsintegrität (ACK/NAK) Mechanismen ist. Beachten Sie, dass dieser unterteilt sein kann, so dass diese Funktionen über verschiedene Logikblöcke umgesetzt werden.
  • Wie weiter zu sehen ist, werden die verarbeiteten Datenpakete an einen Wiederholungspuffer 424 übertragen, der eine Kopie von jedem TLP hält, bis diese von der Komponente auf der anderen Seite der Verbindung bestätigt wurde. Beachten Sie, dass dies in der Praxis in höheren Puffern der Stapel eingeführt wird (über oder in Assembler 412) und sie können in entsprechenden Einträge, bis zur Übertragung auf der physikalischen Schicht 430 über einen Daten/Nachrichten-Selektor 428 gespeichert werden. Im Allgemeinen können die oben beschriebenen Transaktions- und Datenübertragungsschichten in Übereinstimmung mit einer herkömmlichen PCIe™-Protokollstapel-Schaltung betrieben werden, wobei bestimmte Änderungen weiter unten beschrieben werden.
  • Stattdessen erfolgen, in Bezug auf die physikalische Schicht 430, viele Änderungen von bestimmten logischen Komponenten dieser Schicht, z. B. von einem PCIe™ Protokollstapel geändert, auch zur Bereitstellung der Schnittstelle zu tatsächlichen physikalischen Abschnitten der physikalischen Einheit von einem anderen Kommunikationsprotokoll. Wie ersichtlich ist, können die ankommenden Pakete einem Rahmengenerator 432 zugeordnet werden, der die physikalischen Schichtrahmensymbole hinzufügt und Rahmung für die Pakete erzeugt und sie auf einen Breiten/Standort-Mapper 434 bereitstellt, der die Bytes in den Datenpfad verschiebt, um die erforderliche Ausrichtung für die externe Übertragung, Anpassung der Datenpfadbreite, sofern erforderlich vornimmt, und der wiederum mit einem Trainer verbunden ist und Sequenzer 436 überspringt, der verwendet wird, um das Verbindungstraining durchführen und die Sequenzierung zu überspringen. Wie zu sehen ist, können Rahmengenerator 432, Trainer/-Sequenzer 436 und ein Daten/Folgeregler 438 alle mit einem physikalischen Schicht-Sendecontroller 435 verbunden sein, der ein Transceiverabschnitt vom LTSSM und eine verwandte Logik sein kann. Block 436 ist die Logik, um physikalische Schichtübertragungen, wie Trainingssätze (TS) zu erzeugen und geordnete Sätze zu überspringen. Auf diese Weise können die gerahmten Pakete ausgewählt und physikalische Schaltung übergeben werden, um Verschlüsselung, Serialisierung und Ansteuerung der serialisierten Signale entsprechend der verarbeiteten Pakete in einer physikalische Verbindung durchzuführen. In einer Ausführungsform kann die Zuordnung von Symbolunterschieden zwischen den verschiedenen Kommunikationsprotokollen in Rahmengenerator 432 durchgeführt werden.
  • Wie zu sehen ist, können mehrere einzelne Kanäle oder Spuren für diese physikalische Verbindung bereitgestellt werden. In der gezeigten Ausführungsform kann jeder physikalische Kanal oder Spur seine eigene unabhängige PHY-Einheit-Sendeschaltung 4450-445j enthalten, die in einer Ausführungsform in Übereinstimmung mit der MIPI-Spezifikation jeweils Teil einer M-PHY-Einheit sein kann. Wie hierin im Gegensatz zu PCIe™ beschrieben, wo die Anzahl der Sender und Empfänger übereinstimmen muss, können unterschiedliche Anzahlen von Sendern und Empfängern vorhanden sein. So, wie gesehen, kann jede Sendeschaltung 445 einen Encoder, der Symbole gemäß einer 8b/10b Verschlüsselung verschlüsselt, einen Serialisierer zur Serialisierung der verschlüsselten Symbole und einen Treiber, um die Signale auf die physischen Verbindung zu treiben, enthalten. Wie weiter zu sehen ist, kann jede Spur oder Kanal mit einer logischen Einheit 4400-440j, die gemäß der MIPI-Spezifikation für ein M-PHY eine logische Schaltung sein kann, verbunden werden, um die physische Kommunikation über die entsprechende Spur zu verwalten.
  • Beachten Sie, dass diese mehreren Spuren so konfiguriert werden können, dass sie mit unterschiedlichen Geschwindigkeiten betrieben werden und Ausführungsformen können unterschiedliche Anzahlen derartiger Spuren umfassen. Weiterhin ist es möglich eine unterschiedliche Anzahl von Spuren und Spurgeschwindigkeiten in Sende- und Empfangsrichtung zu haben. Obwohl eine gegebene Logikeinheit 440 den Betrieb einer entsprechenden Spur der PHY 445 steuert, ist zu beachten, dass der physische Übertragungsschichtcontroller 435 handeln kann, um die gesamte Übertragung von Informationen über die physikalische Verbindung zu steuern. Weiterhin ist zu beachten, dass in einigen Fällen eine sehr grundlegende Funktionalität durch unterschiedliche Logik in Verbindung mit jeder Spur ausgeführt wird. Für Fälle, in denen Spuren mehr als eine einzige Verbindung zugeordnet werden, können mehrere LTSSM-Instanzen vorgesehen werden. Für eine ausgebildete Verbindung, gibt es eine einzige LTSSM in jeder Komponente, die sowohl die Sender- als auch die Empfängerseite steuert. Diese Gesamtregelung kann Leistungsregelung, Verbindungsgeschwindigkeitenregelung, Verbindungsbreitensteuerung, Initialisierung, usw. enthalten.
  • Noch mit Bezug auf 4 können eingehende Informationen über physikalische Verbindungen in ähnlicher Weise, wie durch die physikalische Schicht 430, Datenübertragungsschicht 420 und Transaktionsschicht 410, über den Empfangsmechanismus dieser Schichten empfangen werden. In der Ausführungsform in 4 kann jede PHY-Einheit ferner die Empfangsschaltung, spezielle Empfangsschaltung 4550-455k. enthalten, die in der abgebildeten Ausführungsform für jede Spur der physikalischen Verbindung vorhanden sein können. Es ist zu beachten, dass sich in diesem Ausführungsbeispiel die Anzahl von Empfängerschaltungen 455 und Senderschaltungen 445 unterscheidet. Wie zu sehen ist, kann diese physikalische Schaltung einen Eingangspuffer, um eingehende Informationen zu empfangen, einen Deserializer, um die Informationen zu deserialisieren und einen Decoder umfassen, der handeln kann, um die in einer 8b/10b-Verschlüsselung übertragenen Symbole zu dekodieren. Wie weiter zu sehen ist, kann jede Spur oder Kanal einer logischen Einheit 4500-450k zugeordnet werden, die der logische Schaltung entsprechend einer gegebenen Spezifikation sein kann (wie die MIPI-Spezifikation für ein M-PHY), um so die physische Kommunikation über die entsprechende Spur zu verwalten.
  • Die decodierten Symbole wiederum können zu einem logischen Abschnitt der physikalischen Schicht 430 übertragen werden, der wie gesehen, elastische Puffer 460 enthalten kann, wobei die elastischen Puffer Unterschiede bei den Takten zwischen dieser Komponente und der anderen Komponente ausgleichen. Beachten Sie, dass die Lage in verschiedenen Implementierungen, z. B. unter den 8b/10b-Decoder verschoben werden kann, oder um mit der Spurentzerrungspuffer kombiniert zu werden und damit die eingehenden decodierten Symbole gespeichert werden können. Im Gegenzug können die Informationen einem Breiten/Lagen-Mapper 462 zur Verfügung gestellt werden, von dem Sie einem Spurentzerrungspuffer 464 übertragen werden, der die Entzerrung über mehrere Spuren und für mehrspurige Fälle durchführt. Puffer 464 kann Unterschiede im Signalversatz zwischen Spuren handhaben, um die Bytes neu auszurichten. Im Gegenzug kann die Entzerrungsinformationen zu einem Rahmen Prozessor 466 übertragen werden, der den in den eingehenden Informationen vorhanden Rahmen entfernt. Wie zu sehen ist, kann eine physikalische Empfangsschicht mit Controller 465 verbunden sein und die elastischen Puffer 460, Mapper 462, Entzerrungspuffer 464, und Rahmenprozessor 466 steuern.
  • Noch mit Bezug auf 4 können die wiederhergestellten Pakete sowohl einem Nachrichtenmechanismus 478 und einem Fehlerdetektor, Sequenzprüfer und Verbindungsebenen-Wiederholung (LLR - Link-Level Retry) Anforderung 475 bereitgestellt werden. Diese Schaltung kann eine Fehlerkorrekturprüfung der ankommenden Pakete durchzuführen, z. B. durch CRC-Prüfsummenoperationen, Sequenzierungsüberprüfungen und Verbindungsebenen-Wiederholung der unkorrekt empfangen Pakete durchführen. Beide empfangen Messaging-Mechanismus 478 und Fehlerdetektor/Anforderer 475 können unter der Kontrolle eines Datenverbindungscontrollers 480 stehen.
  • Noch mit Bezug auf 4 können die so in Einheit 475 verarbeiteten Pakete an die Transaktionsschicht 410 und insbesondere an eine Flusskontrolle 485 geleitet werden, welche Flusskontrolle auf diese Pakete ausführt, um sie zu einem Paket-Interpreter 495 zu senden. Der Paket-Interpreter 495 führt die Interpretation der Pakete durch und leitet sie zu einem ausgewählten Ziel weiter, z. B. einem gegebenen Kern oder andere logische Schaltung des Empfängers. Obwohl auf dieser hoher Ebene in der Ausführungsform von 4 dargestellt, ist zu beachten, dass der Umfang der vorliegenden Erfindung nicht in dieser Hinsicht beschränkt ist.
  • Beachten Sie, dass PHYs 440 die gleiche 8b/10b-Verschlüsselung verwenden können, die von PCIe™ für die Übertragung unterstützt wird. Das 8b/10b Verschlüsselungsschema bietet spezielle Symbole, die sich von verwendeten Datensymbolen unterscheiden, um Zeichen zu repräsentieren. Wie in der physikalischen Schicht Kapitel der PCIe™-Spezifikation beschrieben, können für verschiedene Verbindungs-Verwaltungsmechanismen diese Sonderzeichen verwendet werden. Weitere Sondernutzungen durch das M-PHY werden in der MIPI M-PHY-Spezifikation beschrieben. Es können Ausführungsformen für eine Zuordnung zwischen PCIe™ und MIPI M-PHY Symbolen bereitgestellt werden.
  • Unter Bezugnahme auf Tabelle 1 wird eine beispielhafte Abbildung von PCIe™-Symbolen zu M-PHY-Symbolen in Übereinstimmung mit einer Ausführungsform der vorliegenden Erfindung dargestellt. Somit zeigt diese Tabelle die Zuordnung von Sonderzeichen für einen konvergenten Protokollstapel gemäß einer Ausführungsform der vorliegenden Erfindung an. Tabelle 1
    Steuerungssymbole PCIe-Verschlüsselung Zuordnung vom konvergierten Stapel MIPI M-PHY-Zuordnung Kommentar
    K28.5 COM COM Marker0
    K28.3 IDL IDL Marker 1
    K28.6 Reserviert SDP Marker2 Hinweis: SDP hier zuordnen, da die ursprüngliche PCIe-Verschlüsselun g der für M-PHY vorbehaltenen Verschlüsselun g zugeordnet wurde.
    K23.7 PAD SKP Marker3 Hinweis: SKP dem neutralen Disparitätssym bol K23.7 zuordnen, weil es die Chiffrierung/D e-Chiffrierung nicht verbessert.
    K27.7 STP STP Marker4
    K29.7 ENDE ENDE Marker5
    K30.7 EDB EDB Marker6
    K28.1 FTS PAD Füllzeichen Hinweis: PAD hier zuordnen, da SKP seine Verschlüsselun gen übernommen hat. FTS ist nicht erforderlich, da der M-PHY-SYNC-Mechanismus verwendet werden kann. Der M-PHY-SYNC-Mechanismus ist eine bessere Option, da die definierten SYNC-Symbole eine höhere Kantendichte haben. RMMI-Spezifizierung erfordert M-PHY-Füllzeichen, wenn TX_DORDY niedrig ist.
    K28.0 SKP Reserviert Reserviert
    K28.2 SDP Reserviert Reserviert
    K28.7 EIE Reserviert Reserviert Hinweis: EIE ist nicht erforderlich, da M-PHY-Rauschsperre die DIF-Z bis DIF-N Transition erkennt.
    Sonstige Reserviert Reserviert Reserviert
  • Die 8b/10b-Entschlüsselungsregeln sind die gleichen, die für die PCIe™ Spezifikation definiert wurden. Die einzige Ausnahme für 8b/10b-Regeln ist beim Erkennen eines ENDE VOM BURST, welches eine spezifische Sequenz ist, die die 8b/10b-Regeln verletzt. Gemäß verschiedenen Ausführungsformen kann die physikalische Schicht 430 eine Benachrichtigung an Datenverbindungsschicht 420 senden, während TAIL OF BURST ein Fehler angetroffen wird.
  • In einer Ausführungsform kann die Rahmenbildung und Anwendung von Symbolen zu Spuren, wie in der PCIe™-Spezifikation definiert, erfolgen, während die Datenverschlüsselung die gleiche sein, wie in der PCIe™-Spezifikation definiert. Dabei ist jedoch zu beachten, dass die in der Vorbereitungsphase einer Kommunikation gemäß der MIPI-Spezifikation übertragenen Datensymbole nicht verschlüsselt werden.
  • Im Hinblick auf die Verbindungsinitialisierung und Training kann die Verbindungsverwaltung für die Konfiguration und Initialisierung der Verbindung benutzt werden, die wie oben beschrieben, einen oder mehrere Kanäle von Spurenenthalten, Unterstützung von normalen Datentransfers, Unterstützung von Zustandsübergängen bei der Wiederherstellung von Verbindungsfehlern und Anschlussneustart von einem Niedrigenergiezustand enthalten kann.
  • Um eine solche Operation durchzuführen, können die folgenden physikalischen und verbindungsverwandten Funktionen a priori bekannt sein, z. B. vor der Initialisierung: PHY-Parameter (z. B. einschließlich anfänglicher Verbindungsgeschwindigkeit und unterstützte Geschwindigkeit, sowie erstmalige Verbindungsbreite und unterstützt Verbindungsbreiten).
  • In einer Ausführungsform kann Training verschiedene Operationen umfassen. Solche Operationen können die Initialisierung der Verbindung mit der konfigurierten Verbindungsgeschwindigkeit und Breite, Bitsperre pro Spur, Symbolsperre pro Spur, Spurpolarität und Spur-zu-Spur-Entzerrung für den mehrspurige Verbindungen ausführen. Auf diese Weise kann das Training die Polarität der Spur erkennen und entsprechende Anpassungen ausführen. Beachten Sie jedoch, dass Verbindungstraining in Übereinstimmung mit einer Ausführungsform der vorliegenden Erfindung eventuell keine Verbindungsdatenrate, Aushandeln der Breite, Verbindungsgeschwindigkeit und Breitenabbau enthalten. Statt, wie oben bei der Initialisierung einer Verbindung beschrieben, kennen beide Einheiten apriori die anfängliche Verbindungsbreite und Geschwindigkeit und damit die Zeit und den Rechenaufwand, der mit dem Aushandeln verbunden ist, der vermieden werden kann.
  • Von PCIe™ geordnete Sätze können mit den folgenden Änderungen verwendet werden: TS1 und TS2 geordnete Sätze werden verwendet, um die IP-Weiterverwendung zu erleichtern, wobei viele Bereiche der im Training geordneten Sätze ignoriert werden. Auch werden schnelle Trainingssequenzen nicht verwendet. Eine im elektrischen Ruhezustand geordnete Menge (EEA) kann beibehalten werden, um die IP-Wiederverwendung, aber auch wie ein Überspringen OS zu erleichtern, wobei die Häufigkeit des Überspringens des Betriebssystems mit einer anderen Geschwindigkeit als nach dem PCIe™-Spezifikation erfolgen kann. Beachten Sie auch, dass vom Datenstrom geordnete Sätze und Symbole die gleichen gemäß den PCIe™-Spezifikation sein können.
  • Die folgenden Ereignisse werden mitgeteilt, um das Verbindungstraining und -verwaltung zu erleichtern: (1) Anwesenheit, die verwendet werden kann, um anzuzeigen, ob eine aktive PHY am entfernten Ende der Verbindung vorhanden ist und (2) Konfiguration bereit, die ausgelöst wird, um anzuzeigen, dass diese PHY-Parameterkonfiguration abgeschlossen ist und der PHY ist mit dem konfigurierten Profil betriebsbereit ist. In einer Ausführungsform können diese Informationen über ein konsolidiertes Seitenbandsignal in Übereinstimmung mit einer Ausführungsform der vorliegenden Erfindung übermittelt werden.
  • Zum Zwecke der Kontrolle des elektrischen Ruhestands verfügt der PHY über eine TAIL OF BURST-Sequenz, die verwendet wird, um anzuzeigen, dass der Sender in einen elektrischen Ruhezustand eingetreten ist. In einer Ausführungsform können der Seitenbandkanal verwendet werden, um das Verlassen des elektrischen Ruhezustands zu signalisieren. Beachten Sie, dass diese Anzeige zusätzlich zum PHY-Rauschsperre-Bruchmechanismen erfolgen kann. Eine ÖFFNEN-Sequenz von Symbolen kann als EIOS übertragen werden, um den Eintritt in den elektrischen Ruhezustand anzuzeigen.
  • In einigen Ausführungsformen ist eine schnelle Trainingssequenz (FTS) nicht definiert. Stattdessen kann ein PHY eine spezifische physikalische Schichtfolge für den Ausgang vom Stellplatz-/Ruhezustand in einen Burst-Zustand benutzen, um eine Bitsperre, Symbolsperre und Spur-zu-Spur-Entzerrung zu adressieren. Eine kleine Anzahl von FTS kann als eine Folge von Symbolen für Robustheit definiert werden. Ein Start eines vom Datenstrom geordneten Satzes kann gemäß der PCIe™-Spezifikation erfolgen, da es sich um eine Verbindungfehlerbehebung handelt.
  • Wie bei Verbindungsdatenraten kann in verschiedenen Ausführungsformen die Anfangsdatenrate bei der die Verbindung mit einer vorgegebenen Datenrate initialisiert werden. Eine Datenratenänderung aus dieser ersten Verbindungsgeschwindigkeit kann durch einen Wiederherstellungszustand auftreten. Ausführungsformen können asymmetrische Verbindungsdatenraten unterstützen, wobei die Datenrate in entgegengesetzte Richtungen erlaubt ist.
  • In einer Ausführungsform können die unterstützten Verbindungsbreiten gemäß der PCIe™-Spezifikation unterstützt werden. Ferner können, wie oben beschrieben, Ausführungsformen kein Protokoll zum Aushandeln der Verbindungsbreite unterstützen, da die Verbindungsbreite vorgegeben ist und als ein Ergebnis das Verbindungstraining vereinfacht werden kann. Selbstverständlich können Ausführungsformen die asymmetrischen Verbindungsbreiten in entgegengesetzte Richtungen unterstützen. Zur gleichen Zeit kann die zu konfigurierende Anfangsverbindungsbreite und die Anfangsdatenrate, die für jede Richtung der Verbindung konfiguriert wird, α priori vor dem Training bekannt sein.
  • In Bezug auf physikalische Anschlüsse der PHY-Einheit ist die Fähigkeit für einen xN-Anschluss von einer xN-Verbindung, also auch eine x1 Verbindung (wobei N 32, 16, 12, 8, 4, 2, und 1 sein kann) zu bilden, nicht erforderlich und die Fähigkeit für einen xN-Anschluss, eine Verbindungsbreite zwischen N und 1 zu bilden ist optional. Ein Beispiel für dieses Verhalten enthält einen x16-Ansehluss, der nur in einer Verbindung konfiguriert werden kann, aber die Breite der Verbindung kann als x12, x8, x4, x2, sowie, sofern erforderlich mit einer Breite von x16 und x1 konfiguriert werden. Daher versuchen Entwickler Geräte unter Verwendung eines Protokollstapels gemäß einer Ausführungsform der vorliegenden Erfindung die Anschlüsse zwischen zwei verschiedenen Komponenten in einer Weise zu implementieren, dass diese Komponenten die obigen Anforderungen erfüllen. Wenn die Anschlüsse zwischen den Komponenten für die geplante Benutzung in einer Weise erfolgen, die nicht in den Anschlussbeschreibungen/Datenblätter der Komponente definiert ist, ist das Verhalten undefiniert.
  • Darüber hinaus ist die Fähigkeit, einen Anschluss in zwei oder mehr Verbindungen aufzuteilen, nicht verboten. Wenn eine solche Unterstützung für ein gegebenes Design geeignet ist, kann der Anschluss konfiguriert werden, um eine bestimmte Breite währen der Ausbildung zu unterstützen. Ein Beispiel für dieses Verhalten wäre ein x16-Anschluss, der in der Lage ist, zwei x8-Verbindungen, vier x4-Verbindungen oder 16 x1 -Verbindungen zu konfigurieren.
  • Bei der Verwendung der 8b/10b-Verschlüsselung, einem eindeutigen Spur-zu-Spur-Entzerrungsmechanismus, wie in der PCIe™-Spezifikation beschrieben, ist das COM-Symbol von geordneten Sätzen, das während der Trainingssequenz oder SKP geordnete Sätze empfangen wird, da geordneten Sätze gleichzeitig auf alle Spuren einer konfigurierten Verbindung übertragen werden. Das während der Sync-Sequenz des HS-BURST übertragene MK0 Symbol kann für Spur-Spur-Entzerrung verwendet werden.
  • Wie oben kurz mit Bezug auf 4 beschrieben, können ein Verbindungstraining und Zustandsverwaltung konfiguriert werden, um verschiedene Operationen, einschließlich der Anpassung der oberen Schichten eines PCIe™-Protokollstapels zu einer unteren Schicht der PHY-Einheit von einem anderen Protokoll durchzuführen. Darüber hinaus kann diese Verbindungsverwaltung eine oder mehrere Spuren konfigurieren und verwalten und kann die Unterstützung für eine symmetrische Verbindungsbandbreite enthalten, die kompatibel mit der Zustandsmaschine bei PCIe™-Transaktion ist und Datenverbindungsschichten, Verbindungstraining, optional symmetrische Verbindungs-Stall-Zustände und die Steuerung der Seitenbandsignale für stabile Kommunikation enthält. Dementsprechend bieten Ausführungsformen für die Implementierung PCIe™-Transaktion und Datenverbindungsschichten mit begrenzten Änderungen für verschiedene Verbindungsgeschwindigkeiten und asymmetrische Verbindungen. Darüber hinaus wird eine Verbindungsverwaltung in Übereinstimmung mit einer Ausführungsform der vorliegenden Erfindung verwendet für die Unterstützung von Mehrfachspuren, asymmetrische Verbindungskonfiguration, Seitenbandkonsolidierung und dynamische Skalierbarkeit der Bandbreite, während damit Überbrückungen zwischen Schichten unterschiedlicher Kommunikationsprotokolle ermöglicht werden.
  • Unter Bezugnahme auf 5 wird ist ein Zustandsdiagramm 500 für eine Verbindungstrainings-Zustandsmaschine, die einen Teil eines Verbindungsmanager in Übereinstimmung mit einer Ausführungsform der vorliegenden Erfindung sein kann, abgebildet. Wie in 5 dargestellt, kann ein Verbindungstraining in einem Erfassungszustand 510 beginnen. Dieser Zustand tritt beim Einschalten und Zurücksetzen auf und kann für nach- und vorgelagerte Anschlüsse verwendet werden. Nach dem Reset können alle konfigurierten Spuren zu einem bestimmten Zustand, nämlich dem HIBERN8-Zustand übergehen, wodurch jedes Ende der Verbindung signalisiert werden kann, z. B. über ein PRÄSENZ-Signal über einen Seitenbandkanal. Beachten Sie, dass in diesem Erfassungszustand ein hohes Impedanzsignal, nämlich ein DIF-Z-Signal auf allen Spuren gefahren werden kann.
  • Dadurch geht die Steuerung von Zustand Erkennen 510 in den Konfigurationszustand 520 über, wenn das PRÄSENZ-Ereignis signalisiert und empfangen wird, und diese hohe Impedanz wird auf allen konfigurierten Spuren gefahren. Im Konfigurationszustand 520 können die PHY-Parameter konfiguriert werden und nach Abschluss auf allen konfigurierten Spuren von jedem Ende der Verbindung kann Signal Konfiguration bereit (CFG-RDY) angegeben werden, z. B. unter Verwendung des Seitenbandverbindung, während die hohe Impedanz auf allen Spuren beibehalten wird.
  • Also nach dem Senden und Empfangen von dieser Konfigurations-Bereitschaftsanzeige über die Seitenbandverbindung, geht die Steuerung zum Stellplatz-Zustand 530 weiter. Insbesondere werden in diesem LO.STELLPLATZ-Zustand die PHY-Übergänge zu einem STELLPLATZ-Zustand übertragen, um die hohe Impedanz auf allen konfigurierten Spuren zu fahren. Wie zu sehen ist, kann in Abhängigkeit davon, ob die Daten für die Übertragung oder den Empfang verfügbar sind, die Steuerung in einen aktiven Zustand L1 (Stand 530), einen Niedrigenergiezustand (L1 -Zustand 540), einen tieferen Niedrigenergiezustand (L1.AUS Zustand 545) oder zurück zum Konfigurationszustand 520 übergehen.
  • Somit kann im STELLPLATZ-Zustand ein negatives Antriebssignal DIF-N auf allen konfigurierten Spuren mitgeteilt werden. Danach kann, wenn durch den Initiator gerichtet, eine BURST-Sequenz beginnen. Dementsprechend geht die Steuerung nach der Übertragung eines MARKER0 (MK0)-Symbols in den aktiven Zustand 530 über.
  • In einer Ausführungsform kann ein Empfänger den Ausgang vom STELLPLATZ-Zustand auf allen konfigurierten Spuren erkennen und eine Bit- und Symbolsperre, z. B. für die MIPI-Spezifikation, ausführen. Bei Ausführungsformen mit einer mehrspurigen Verbindung kann dieses MK0-Symbol verwendet werden, um die Spur-zu-Spur-Entzerrung festzulegen.
  • Statt, wenn auf einen Niedrigenergiezustand (nämlich die L1 Zustand 540) gerichtet, können alle konfigurierten Spuren in einen RUHEZUSTAND übergehen. Wiederum, wenn zu einem tieferen Niedrigenergiezustand gerichtet (nämlich L1 .AUS-Zustand 545), können alle konfigurierten Spuren den HIBERN8-Zustand übertragen. Schließlich werden sie zurück in die Konfigurationszustand gerichtet, ähnlich wie alle konfigurierten Spurübergänge in den HIBERN8-Zustand.
  • Noch mit Bezug auf 5 für die aktive Datenübertragung, wird die Steuerung so zum aktiven Zustand 550 übergehen. Dies ist insbesondere dann der Zustand, in dem Verbindungs- und Transaktionsschichten den Austausch von Informationen mit Datenübertragungsschichtpaketen (DLLPs) und TLP beginnen. Als solche kann eine Nutzdatenübertragung auftreten und mit dem Abschluss einer solchen Übertragung kann ein TAIL OF BURST-Symbol kommuniziert werden.
  • Wie zu sehen ist, kann diese aktive Zustandssteuerung zum STALL-Zustand 530 zurückkehren, zu einem Wiederherstellungszustand 560 übergehen, z. B. als Reaktion auf einen Empfängerfehler oder wenn anders angegeben, oder zu einem tieferen Niedrigenergiezustand (z. B. L2) 570.
  • Um in den Stall-Zustand zurückzukehren, kann der Sender eine EIOS-Sequenz, gefolgt von einem TAIL OF BURST-Anzeige auf allen konfigurierten Spuren senden.
  • Wenn ein Fehler auftritt oder anderweitig als angewiesen, kann die Steuerung auch auf den Wiederherstellungszustand 560 übergeben. Hier wird ein Übergang zur Wiederherstellung aller konfigurierten Spuren in beide Richtungen herbeigeführt, um in den STALL-Zustand überzugehen. Um dies zu bewirken, kann ein Signal GO TO STALL auf der Seitenbandverbindung gesendet werden und der Sender dieses Signal kann auf eine Antwort warten. Wenn dieses Stall-Signal, z. B. durch eine empfangene GO TO STALL-Anweisung auf der Seitenbandverbindung gesendet und empfangen wurde, geht die Steuerung zurück in den STALL-Zustand 530. Beachten Sie, dass dieser Wiederherstellungszustand das Protokoll über das Seitenband erstellt, um den gleichzeitigen Einstieg in den STALL-Zustand zu koordinieren.
  • Im Hinblick auf die Niedrigenergiezustände L1 und L1.OFF erfolgt der Betrieb gemäß Status 540 und 545. Genauer gesagt, die Steuerung wird vom STALL-Zustand an den L1-Niedrigenergiezustand 540 übergeben, damit die PHY in einen RUHEZUSTAND versetzt werden kann. In diesem Zustand wird ein negatives Antriebssignal, nämlich ein DIF-N-Signal auf allen konfigurierten Spuren gefahren werden. Wenn gerichtet, um den Zustand zu beenden, wird die Steuerung zurück zum Zustand 530 übertragen, z. B. durch die Meldung eines PRÄSENZ-Signals über die Seitenbandverbindung.
  • Wie auch gesehen, kann der tiefere Niederenergie-Zustand L1.OUT eingegeben werden, wenn alle L1 .OUT-Bedingungen erfüllt sind. In einer Ausführungsform können diese Bedingungen die vollständige Energietakte oder Abschalten der PHY-Einheit einschließen. In diesem tiefen Niedrigenergiezustand kann der PHY in den HIBERN8-Zustand gebracht werden und das Hochimpedanzsignal auf allen konfigurierten Spuren gefahren werden. Um diesen Zustand zu beenden, geht die Steuerung über das Treiben von DIF-N auf allen konfigurierten Spuren zurück in den STALL-Zustand.
  • Wie weiter in 5 dargestellt, können weitere Zustände vorhanden sein, insbesondere ein weiterer noch tieferer Niedrigenergiezustand (L2) 570, der von einem aktiven Zustand eingegeben werden kann, wenn die Stromversorgung bereit ist, um ausgeschaltet zu werden. In einer Ausführungsform kann dieser Zustand derselbe sein, wie der der PCIe™-Spezifikation.
  • Jetzt auf Tabelle 2 bezugnehmend, wird eine Zuordnung zwischen LTSSM-Zuständen entsprechend den PCIe™-Spezifikation und den entsprechenden M-PHY-Zuständen in Übereinstimmung mit einer Ausführungsform der vorliegenden Erfindung dargestellt. Tabelle 2
    LTSSM-Status M-PHY-Status Details
    Erkennen, Abrufen SPEICHERN Zustandsübergänge durch SPEICHERN-Unterzustände
    Konfiguration BURST BURST (VORB, SYNCH) Unterzustände
    Wiederherstellung BURST/RUHEZUSTAND/STALL Kann sich im BURST-Zustand befinden, wird aber zu BURST über RUHEZUSTAND/STALL übergehen
    L0 BURST (Nutzlast) BURST-Modus und Austauschtransaktionen
    L0s STALL Status STELLPLATZ
    L1 RUHEZUSTAND Status RUHEZUSTAND
    L1.OUT HIBERN8 HIBERN8
    L2 OHNE STROMVERSORGUNG Status OHNE STROMVERSORGUNG
    Deaktiviert DEAKTIVIERT Status DEAKTIVIERT
    Loopback Keine Aktion Verbindungsgeschwindigkeit kann von Eingang auf Loopback von Konfiguration wechseln
    Hot-Reset INLINE RESET Status IN-LINE RESET
  • Wie oben mit Bezug auf 2 beschrieben, können Ausführungsformen für einen konsolidierten Seitenbandmechanismus geliefert werden, die die Verbindungsverwaltung zusammen mit optionaler In-Band-Unterstützung verwenden können. Auf diese Weise kann unter Verwendung der Seitenbandschaltung und Verbindung die Verbindungsverwaltung und Steuerung unabhängig von der höheren Geschwindigkeit (und höherer Leistungsaufnahme) die Schaltung der physikalischen Schicht für die primäre Verbindung auftreten. Weiterhin kann so dieser Seitenbandkanal verwendet werden, wenn die Abschnitte der PHY-Einheit, die mit der Primärverbindung verbunden sind, ausgeschaltet werden, wodurch die Leistungsaufnahme reduziert wird. Außerdem kann dieser konsolidierte Seitenbandmechanismus vor dem Training der primären Verbindung verwendet werden und kann auch verwendet werden, wenn ein Fehler auf der primären Verbindung vorhanden ist.
  • Über diesen konsolidierte Seitenbandmechanismus kann eine Einzelverbindung, z. B. ein Paar Differentialdrähte in jeder Richtung, vorhanden sein, wodurch beide Polzahlen reduziert werden und das Hinzufügen von neuen Funktionen ermöglicht wird. Ausführungsformen können auch eine schnellere und robustere Uhr-/Leistungstaktung ermöglichen, sowie Unklarheiten in herkömmlichen Protokollen, wie PCIe™-Seitenbandmechanismus über diese Verbindung entfernen.
  • Obwohl der Umfang der vorliegenden Erfindung nicht in dieser Hinsicht beschränkt ist, kann in verschiedenen Ausführungsformen die Seitenbandverbindung (beispielsweise Seitenbandverbindung 270 in 2) als Einzeldraht mit bidirektionalen Seitenbandsignal, als Doppeldraht in beide Richtungen mit unidirektionalen Signalsatz, als ein Band-Signalisierungsmechanismus mit niedriger Geschwindigkeit, wie unter Verwendung eines M-PHY in einem Niedrigenergie-Impulsbreitenmodulationsmodus (PWM) oder als In-Band-Hochgeschwindigkeits-Signalmechanismus, sowie als physikalische Schicht mit geordneten Sätzen oder DLLPs implementiert werden.
  • Als Beispiele und nicht zum Zwecke der Beschränkung können verschiedene physikalische Schichtansätze unterstützt werden. Ein erster Ansatz kann ein Einzelader-bidirektionales Seitenbandsignal mit der niedrigsten Polanzahl sein, wenn eine Seitenbandverbindung verwendet wird. In einigen Ausführungsformen kann dieses Signal auf einem vorhandenen Seitenband, beispielsweise PERST#, WAKE# oder CLKREQ-Signale, gemultiplext werden. Ein zweiter Ansatz kann ein Zweidraht-Zweirichtungssignal mit unidirektionalen Satz sein, der einfacher und etwas effizienter im Vergleich zu dem Einzeldrahtansatz sein kann, jedoch wird ein Pol mehr benötigt. Eine solche Implementierung kann auf bestehenden Seitenbänder, z. B. PERST# für Hostgerät und CLKREQ# für Gerätehost (in diesem Beispiel wird die vorhandene Signalrichtung beibehalten, bimodale Implementierungen vereinfacht werden) gemultiplext werden. Ein dritter Ansatz kann ein Eingangsband-Signalmechanismus mit niedriger Geschwindigkeit sein, wie M-PHY LS PWM-Modi, wodurch die Polanzahl reduziert relativ zu den Seitenbandmechanismen sein kann und es können ähnliche Niedrigenergiestufen unterstützt werden. Weil diese Betriebsart sich im Hochgeschwindigkeitsbetrieb befindet, kann sie mit einem Hochgeschwindigkeits-in-Band-Mechanismus, wie in physikalischer Schicht geordneten Sätzen oder DLLP kombiniert werden. Dieser Ansatz ist zwar nicht Niedrigenergie, er maximiert aber Gemeinsamkeiten mit dem bestehenden Hochgeschwindigkeits-EA. Wenn mit geringer Geschwindigkeit Ein-Band-Signalisierung kombiniert wird, kann dieser Ansatz eine gute Lösung mit geringem Stromverbrauch bieten.
  • Um eine oder mehrere dieser Konfigurationen in einem gegebenen System zu realisieren, kann eine semantische Schicht vorgesehen sein, die verwendet wird, um die Bedeutung der über die physikalische Schicht auszutauschenden Information zu bestimmen und es kann eine Richtlinienschicht verwendet werden, um die Aktion/Reaktionen auf Gerät-/Plattformebene zu verstehen. In einer Ausführungsform können diese Schichten in einer SB-PHY-Einheit vorhanden sein.
  • Durch die Bereitstellung eines mehrschichtigen Ansatzes ist es möglich Ausführungsformen verschiedener Implementierungen der physikalischen Schicht zu verwenden, die beide Seitenbandfunktionen (die in einigen Implementierungen aufgrund der Einfachheit und/oder Niedrigenergiebetrieb bevorzugt sein können) und ein Eingangsband enthalten, die für andere Implementierungen bevorzugt sein können, um die Belegung zusätzlicher Pole zu vermeiden.
  • In einer Ausführungsform kann eine Anzahl von Seitenbandsignalen konfiguriert werden, z. B. über die semantische Schicht in ein Einzelpaket für die Kommunikation über den konsolidierten Seitenbandmechanismus (oder einem In-Band-Mechanismus). In einer Ausführungsform werden in der nachstehenden Tabelle 3 die verschiedenen Signale, die in einer Ausführungsform vorhanden sein können, dargestellt. In der dargestellten Tabelle wird die logische Richtung der Signale durch den Pfeil angegeben, wobei ein Pfeil nach oben als Richtung zu dem Host (z. B. ein Root-Complex) und ein Pfeil nach unten definiert ist als die Richtung zum Gerät (z. B. ein Peripheriegerät, wie eine Funklösung) definiert ist. Tabelle 3
    Gerät vorhanden ↑
    Stromvers. i. O. ↓
    Stromvers. aus ↓
    Ref-Uhr i. O. ↓
    Grundsätzlicher Reset ↓
    Konfig. fertig ↑↓
    Bereit für Training ↑↓
    Training starten ↑↓
    L1pg anfragen ↑↓
    L1pg ablehnen ↑↓
    L1pg gewähren ↑↓
    OBFF CPU aktiv ↓
    OBFF DMA ↓
    OBFF Ruhezustand ↓
    Aufwecken ↑
    Empfang von Handshake bestätigen ↑↓
  • Unter Bezugnahme auf 6 wird ein Flussdiagramm für die verschiedenen Zustände eines Seitenband-Mechanismus gemäß einer Ausführungsform der vorliegenden Erfindung abgebildet. Wie in 6 dargestellt, können diese verschiedenen Stati im Hinblick auf den Root-Complex (z. B. Host-gesteuerter Betrieb) sein. Zustandsdiagramm 600 kann für die Steuerung der verschiedenen Stati über den Host bereitgestellt werden. Wie zu sehen ist, beginnt der Betrieb in einem Pre-Boot-Zustand 610, in dem ein Präsenzsignal kommuniziert werden kann. Beachten Sie, dass dieses Präsenzsignal, wie oben beschrieben, im Hinblick auf die Verbindungsverwaltung-Verwaltungsvorgänge sein kann. Dann geht die Steuerung an einem Boot-Zustand 620 über, in dem verschiedene Signale übermittelt werden können, nämlich eine Signal guter Strom, ein Reset-Signal, ein Referenztaktsignal und ein Status bereit für trainieren Signal. Es ist zu beachten, dass alle diese Signale über ein einziges Paket, in dem jedes dieser Signale einem Indikator oder Feld des Pakets entspricht, übermittelt werden (z. B. ein Ein-Bit-Indikator des Pakets).
  • Noch mit Bezug auf 6 geht die Steuerung weiter zu einem aktiven Zustand 630 über, in dem ein System in einem aktiven Zustand sein kann (z. B. S0), ein entsprechendes Gerät (z. B. das nachgelagerte Gerät kann einen aktiven Gerätestatus haben (z. B. D0) und eine Verbindung kann in einem aktiven Zustand, Stall, oder Niedrigenergiezustand (z. B. L0, L0s oder L1) sein. Wie zu sehen ist, können in diesem Zustand verschiedene Signale, einschließlich ein OBFF-Signal, ein Taktanforderungssignal, ein Referenztaktzustand, eine L0 Signalanfrage und ein Signal bereit zu trainieren übermittelt werden.
  • Weiter kann die Steuerung auf einen Niedrigenergiezustand 640 übergehen, z. B. nachdem die oben Signalisierung durchgeführt wurde. Wie zu sehen ist, kann das System in diesem Niedrigenergiezustand 640 in einem aktiven Zustand zu sein, während das Gerät in einem relativ niedrigen Latenzniederleistungszustand (z. B. D3 hot) sein kann. Darüber hinaus kann sich die Verbindung in einem bestimmten Niedrigenergiezustand (beispielsweise L2 und L3) befinden. Wie in diesen Zuständen zu sehen ist, können die Signale über das konsolidierten Seitenbandpaket einschließlich ein Wecksignal, ein Reset-Signal und ein Stromversorgung-I.O.-Signal übermittelt werden.
  • Wenn das System in einen tieferen Niedrigenergiezustand übergeht, kann es in einen zweiten Niedrigenergiezustand 650 übergehen (z. B. wenn sich das System in einem S0-Zustand und das Gerät in einem D3 cold-Zustand befindet und die Verbindung sich in ähnlicher Weise in einem L2- oder L3-Zustand befindet. Wie zu sehen ist, können die gleichen Aufwachen-, Reset- und Energie-Gut-Signale übermittelt werden. Wie auch in 6 dargestellt, können die gleichen Signale in einem tieferen Energiezustand 660 (z. B. ein System-Niedrigenergiezustand, S3) und ein Gerät-Niedrigenergiezustand (z. B. D3 cold), und die gleiche Verbindung in einem Niedrigenergiezustand L2 und L3, auftreten. Obwohl mit diesem speziellen Satz von Seitenbandinformationen mitgeteilt, versteht sich der Umfang der vorliegenden Erfindung nicht als in dieser Hinsicht beschränkt.
  • Ausführungsformen stellen eine Schichtstruktur mit Erweiterbarkeit zur Verfügung, die Einfachheit und niedrige Latenzzeiten versus Flexibilität ausgleichen kann. Auf diese Weise können bestehende Seitenbandsignale und zusätzliche Seitenbandsignale durch eine kleinere Anzahl von Signalen ersetzt werden und ermöglichen eine zukünftige Erweiterung des Seitenbandmechanismus, ohne das weitere Pole erforderlich sind.
  • Unter Bezugnahme auf 7 wird ein Flussdiagramm eines Verfahrens gemäß einer Ausführungsform der vorliegenden Erfindung abgebildet. Wie in 7 dargestellt, kann das Verfahren 700 verwendet werden, um Daten über einen konvergenten Protokollstapel zu übertragen, der die oberen Schichten eines Kommunikationsprotokolls und eine untere Schicht, z. B. physikalische Schicht aus einem anderen Kommunikationsprotokoll enthält. In den dargestellten Beispielen wird angenommen, dass ein konvergentes Protokollstapel, wie oben beschrieben, aus oberen Transaktions- und Datenverbindungsschichten eines PCIe™-Protokolls und einer physikalischen Schicht einer unterschiedlichen Spezifikation, z. B. eine MIPI-Spezifikation, besteht. Selbstverständlich kann zusätzliche Logik vorhanden sein, um die Konvergenz dieser beiden Kommunikationsprotokolle in einem einzigen Protokollstapel, wie die Logik und Schaltung, zu aktivieren, siehe 4.
  • Wie in 7 dargestellt, kann das Verfahren 700 durch Empfangen einer ersten Transaktion in einem Protokollstapel des ersten Kommunikationsprotokolls (Block 710) beginnen. Zum Beispiel können verschiedene Logiken eines Root-Complex, wie ein Kern, andere Ausführungsmaschine oder dergleichen versuchen, die Daten an ein anderes Gerät zu senden. Dementsprechend können diese Informationen zur Transaktionsschicht passieren. Wie zu sehen ist, geht die Steuerung zu Block 720 über, wo die Transaktion verarbeitet und an einen logischen Abschnitt einer PHY von einem zweiten Kommunikationsprotokoll übertragen wird. Diese Verarbeitung kann die verschiedenen oben beschriebenen Vorgänge in Bezug auf den Fluss durch 4 enthalten, wobei verschiedene Operationen durchgeführt werden, um Betriebsdaten zu erhalten, Flusskontrolle, Verbindungsoperationen, paketbildende Operationen, usw. auszuführen. Zusätzlich können verschiedene Operationen einer PHY ein Datenverbindungsschichtpaket bereitstellen. Als nächstes geht die Steuerung zum Block 730 über, wo diese erste Transaktion in einem logischen Abschnitt des PHY in eine zweite Formattransaktion umgewandelt wird. Beispielsweise kann die Umwandlung der Symbole (falls erforderlich) durchgeführt werden. Darüber hinaus erfolgen die verschiedenen Übersetzungsoperationen, um die Transaktion in einem Format für die Übertragung auf der Verbindung zu rendern. Dementsprechend kann die Steuerung zu Block 740 übergeben, wo diese zweite Formattransaktion von der PHY auf das Gerät über eine Verbindung kommuniziert werden kann. Als Beispiel kann die zweite Formattransaktion der serialisierten Daten nach der Leitungsverschlüsselung, Serialisierung, usw. erfolgen. Obwohl auf dieser hoher Ebene in der Ausführungsform von 7 dargestellt, ist der Umfang der vorliegenden Erfindung nicht in dieser Hinsicht beschränkt.
  • Unter Bezugnahme auf 8 wird ein Blockdiagramm der in einem Rechnersystem in Übereinstimmung mit einer Ausführungsform der vorliegenden Erfindung enthaltenen Komponenten abgebildet. Wie in 8 dargestellt, kann das System 800 viele verschiedene Komponenten enthalten. Diese Komponenten können beispielsweise als ICs, Teile davon, diskrete elektronische Geräte oder andere Module auf einer Leiterplatte, wie eine Hauptplatine oder Erweiterungskarte des Rechnersystems implementiert oder als Komponenten anderweitig in einem Gehäuse des Rechnersystems integriert werden. Beachten Sie auch, dass das Blockdiagramm in 8 als Ansicht vieler Komponenten des Rechnersystems auf hoher Ebene zeigt. Es ist jedoch zu beachten, dass zusätzliche Komponenten in bestimmten Implementierungen und darüber hinaus unterschiedliche Anordnungen der gezeigten Komponenten bei anderen Implementierungen auftreten können.
  • Wie in 8 dargestellt, kann ein Prozessor 810, der ein Niedrigenergie-Mehrfachkern-Prozessorsockel in Form eines Ultra-Niederspannungs-Prozessors sein, der als Hauptverarbeitungseinheit und zentraler Hub für die Kommunikation mit den verschiedenen Komponenten des Systems agiert. Ein solcher Prozessor kann als SoC implementiert werden. In einer Ausführungsform kann der Prozessor 810 ein auf Intel®-Architektur Core™ basierender Prozessor, wie ein i3, i5, i7 oder anderer solcher Prozessor von Intel Corporation, Santa Clara, CA, USA erhältlich, sein. Jedoch ist zu beachten, dass andere Niedrigenergie-Prozessoren, wie von Advanced Micro Devices, Inc. (AMD), Sunnyvale, CA, ein ARMbasiertes Design von ARM Holdings, Ltd oder ein MIPS-basiertes Design von MIPS Technologies, Inc. Sunnyvale, CA, oder ihre Lizenznehmer oder Adoptoren können stattdessen in anderen Ausführungsformen, wie einem Apple A5-Prozessor vorhanden sein.
  • Prozessor 810 kann mit einem Systemspeicher 815 kommunizieren, der in einer Ausführungsform über mehrere Speichervorrichtungen implementiert wurde, um für einen gegebenen Systemspeicher bereitzustehen. Als Beispiele kann der Speicher in Übereinstimmung mit einem Joint Electron Devices Engineering Council (JEDEC) Low-Power Double-Data-Rate (LPDDR) basierendes Design, wie der aktuelle LPDDR2-Standard gemäß JEDEC JESD 209-2E (veröffentlicht April 2009) sein, oder als nächste Generation des LPDDR-Standard, auch als LPDDR3 bezeichnet, der die Erweiterungen zu LPDDR2 bieten wird, um die Bandbreite zu erhöhen. Als Beispiele können 2/4/8 Gigabyte (GB) Systemspeicher vorhanden sein und an den Prozessor 810 über eine oder mehrere Speicherverbindungen gekoppelt werden. In verschiedenen Implementierungen können die einzelnen Speichergeräte von verschiedenen Packungstypen, wie Single-Die-Package (SDP), Dual-Die-Package (DDP) oder Quad-Die-Package (QDP) sein. Diese Geräte können in einigen Ausführungsformen direkt auf einer Hauptplatine gelötet werden, um ein niedrigere Profillösung zu bieten, während in anderen Ausführungsformen die Geräte als ein oder mehrere Speichermodule ausgebildet sein können, die wiederum mit der Hauptplatine über einem bestimmten Steckverbinder gekoppelt sind.
  • Um eine dauerhafte Speicherung von Informationen, wie Daten, Anwendungen, ein oder mehrere Betriebssysteme, usw. zu bieten, kann auch ein Massenspeicher 820 mit dem Prozessor 810 verbunden werden. In verschiedenen Ausführungsformen kann ein dünneres und leichteres Systemdesign ermöglicht werden, um die Systemreaktion zu verbessern. Dieser Massenspeicher kann über eine SSD implementiert werden. Jedoch kann in anderen Ausführungsformen der Massenspeicher in erster Linie ein Festplattenlaufwerk (HDD) mit einer geringeren Menge von SSD-Speicher als SSD-Cache implementiert sein, um die nichtflüchtige Speicherung vom Kontextzustand und andere derartige Information bei Stromausfall zu ermöglichen, damit ein schnelleres Anlaufen bei der Wiederaufnahme der Systemaktivitäten ermöglicht wird. Wie auch in 8 dargestellt, kann ein Flash-Medium 822 mit dem Prozessor 810 gekoppelt werden, z. B. über eine serielle periphere Schnittstelle (SPI). Dieses Flash-Medium kann zur nichtflüchtigen Speicherung von Systemsoftware, einschließlich einer Basis-Eingabe/Ausgabe-Software (BIOS), als auch anderer Firmware des Systems genutzt werden.
  • Es können verschiedene Eingabe-/Ausgabe- (EA) Geräte innerhalb des Systems 800 enthalten sein. Speziell in der Ausführungsform von 8 wird ein Display 824 abgebildet, welches ein hochauflösender LCD- oder LED-Bildschirm, eingebaut in ein Deckelteil des Gehäuses, sein kann. Dieses Anzeigefeld kann auch für einen Touchscreen 825, z. B. außen über dem Anzeigefeld angepasst, geliefert werden, damit die Interaktion eines Benutzers mit dem Berührungsbildschirm, Benutzer Eingaben in das System ermöglicht werden, um die gewünschten Operationen, z. B. in Bezug auf die Anzeige von Informationen, den Zugriff auf Informationen, usw. zu ermöglichen. In einer Ausführungsform kann das Display 824 mit dem Prozessor 810 über eine Anzeigeverbindung, die als Hochleistungsgrafikverbindung implementiert wurde, verbunden werden. Touchscreen 825 kann mit dem Prozessor 810 über eine andere Verbindung, die in einer Ausführungsform eine I2C-Verbindung sein kann, gekoppelt werden. Wie weiter dargestellt in 8, kann ein zusätzlich zu Touchscreen 825 für eine Benutzereingabe mittels der Berührung auch über ein Touch-Pad 830 erfolgen, das in das Gehäuses eingebaut sein kann und auch mit der gleichen I2C-Verbindung verbunden sein kann, wie Touchscreen-825.
  • Für wahrnehmende Datenverarbeitung und andere Zwecke können verschiedene Sensoren in dem System vorhanden sein und in verschiedenen Weisen mit dem Prozessor 810 verbunden werden. Bestimmte Trägheits- und Umweltsensoren können mit Prozessor 810 über einen Sensor-Hub 840, z. B. über eine I2C-Verbindung gekoppelt werden. In der Ausführungsform in 8 können diese Sensoren einen Beschleunigungsmesser 841, einen Umgebungslichtsensor (ALS) 842, einen Kompass 843 und ein Gyroskop 844 umfassen. Andere Umweltsensoren können einen oder mehrere Wärmesensoren 846 umfassen, die in einer Ausführungsform mit Prozessor 810 über einen Systemverwaltungsbus (SMBus) verbunden sein können. Es ist auch zu beachten, dass einer oder mehrere der Sensoren mit Prozessor 810 über eine LPS-Verbindung in Übereinstimmung mit einer Ausführungsform der vorliegenden Erfindung verbunden werden können.
  • Wie auch in 8 dargestellt, können verschiedene Peripheriegeräte mit Prozessor 810 über eine Verbindung mit wenigen Pins (LPC) gekoppelt werden. In der gezeigten Ausführungsform können verschiedene Komponenten durch einen eingebetteten Controller 835 gekoppelt sein. Solche Komponenten können eine Tastatur 836 (z. B. über eine PS2-Schnittstelle verbunden), ein Gebläse 837 und ein Temperatursensor 839 umfassen. In einigen Ausführungsformen kann das Touchpad 830 auch über eine PS2-Schnittstelle mit EG-835 verbunden werden. Zusätzlich wird ein Sicherheitsprozessor, wie ein Trusted Platform Module (TPM) 838, in Übereinstimmung mit der Trusted Computing Group (TCG) TPM-Spezifikation Version 1.2 (2. Oktober 2003), mit dem Prozessor 810 über diese LPC-Verbindung gekoppelt.
  • System 800 kann mit externen Geräten in einer Vielzahl von Formen, einschließlich drahtlos, kommunizieren. Die in der Ausführungsform in 8 dargestellten verschiedenen Funkmodule, von denen jedes mit einem Funkgerät für ein bestimmtes drahtloses Kommunikationsprotokoll konfiguriert werden kann, sind vorhanden. Eine Art für die drahtlose Kommunikation mit kurzer Reichweite, wie in der Nähe von einem Feld, kann über einen Near Field Communication (NFC)-Einheit 845 erfolgen, in der Prozessor 810 über eine SMBus in einer Ausführungsform kommunizieren kann Es ist zu beachten, dass über diese NFC-Einheit 845 Geräte in der Nähe miteinander kommunizieren können. Zum Beispiel kann ein Benutzer System 800 aktivieren, um mit einem anderen (z. B.) tragbaren Gerät, wie einem Smartphone des Benutzers über die Anpassung der zwei Geräte in enger Beziehung zu kommunizieren und damit die Übertragung von Informationen, wie z. B. Identifizierungsinfomiationen, Zahlungsinformationen, Bilddaten oder dergleichen, zu ermöglichen. Drahtlose Energieübertragung kann auch unter Verwendung eines NFC-System erfolgen.
  • Wie weiter in 8 dargestellt, können zusätzliche drahtlose Geräte mit anderen drahtlosen Maschinen von kurzer Reichweite, einschließlich einer WLAN-Einheit 850 und einer Bluetooth-Einheit 852, enthalten sein. Die Verwendung der WLAN-Einheit 850 kann Wi-Fi™-Kommunikation in Übereinstimmung mit einem gegebenen Institute of Electrical and Electronics Engineers (IEEE) 802.11-Standard, ermöglichen, während über Bluetooth-Einheit 852, Kurzstrecken-Kommunikation über ein Bluetooth-Protokoll auftreten können. Diese Einheiten können mit Prozessor 810 über, z. B. eine USB-Verbindung oder eine Universal Asynchronous Receiver Transmitter (UART) Link kommunizieren. Oder diese Einheiten können mit Prozessor 810 über eine Niedrigenergieverbindung, wie eine konvergierte PCIe/MIPI-Verbindung, wie hierin beschrieben, oder einem anderen derartigen Protokoll, wie ein serieller Dateneingabe/Ausgabe (SDIO) Standard, verbunden werden. Natürlich ist die tatsächliche physikalische Verbindung zwischen diesen Peripheriegeräten, die auf einer oder mehreren Zusatzkarten konfiguriert werden kann, mit einem NGFF-Steckverbinder, der mit einer Hauptplatine verbunden werden, möglich.
  • Zusätzliche drahtlose Weitbereichskommunikation, z. B. gemäß einem zellulären oder anderen drahtlosen Weitverkehrsprotokoll, kann über eine WWAN-Einheit 856 auftreten, die wiederum mit einem Teilnehmer-Identitätsmodul (SIM) 857 verbunden wird. Darüber hinaus kann, um den Empfang und die Verwendung von Lokalisierungsinformationen zu ermöglichen, ein GPS-Modul 855 vorhanden sein. Beachten Sie, dass in der Ausführungsform in 8 die WWAN-Einheit 856 und ein integriertes Aufnahmegerät, wie ein Kameramodul 854, über ein gegebenes USB-Protokoll, z. B. USB 2.0 oder 3.0-Verbindung oder eine UART- oder I2C-Protokoll kommunizieren kann. Nochmals, die tatsächliche physikalische Verbindung dieser Einheiten kann über die Anpassung einer NGFF-Zusatzkarte an einem NGFF-Anschluss auf der Hauptplatine konfiguriert werden.
  • Um Audio-Eingänge und Ausgänge bereitzustellen, kann ein Audioprozessor über einem digitalen Signalprozessor (DSP) 860 implementiert werden, die mit Prozessor 810 über eine High-Definition-Audio (HDA) Verbindung verbunden werden können. Ähnlich kann DSP 860 mit einem integrierten Codierer/Decodierer (CODEC) und einen Verstärker 862 kommunizieren, die wiederum mit Ausgangslautsprecher 863, der innerhalb des Gehäuses implementiert sein kann, verbunden sind. Ähnlich können Verstärker und CODEC 862 gekoppelt werden, die in einer Ausführungsform über Dual-Array-Mikrofone realisiert werden, um Audio-Eingangssignale von einem Mikrofon 865 zu erhalten und um qualitativ hochwertige Audio-Eingänge für die sprachaktivierte Steuerung von verschiedenen Operationen innerhalb des Systems bereitzustellen. Beachten Sie auch, dass die Audio-Ausgänge vom Verstärker/CODEC 862 zu einer Kopfhörerbuchse 864 bereitgestellt werden.
  • Ausführungsformen können somit in vielen verschiedenen Umgebungen verwendet werden. Unter Bezugnahme auf 9 wird ein Blockdiagramm eines Beispielsystems mit dem Ausführungsformen verwendet werden können, abgebildet. Wie zu sehen ist, kann das System 900 ein Smartphone oder ein anderes drahtloses Kommunikationsgerät sein. Wie im Blockdiagramm in 9 dargestellt, kann System 900 einen Basisband-Prozessor 910 enthalten, der ein Multicore-Prozessor sein kann, und der sowohl Basisband-Verarbeitungsaufgaben, als auch Anwendungsverarbeitung, handhaben kann. Somit kann der Basisbandprozessor 910 verschiedene Signalverarbeitungen hinsichtlich der Kommunikation sowie Rechenoperationen für das Gerät durchführen. Der Basisbandprozessor 910 kann wiederum mit einer Benutzerschnittstelle/Anzeige 920 verbunden sein, die in einigen Ausführungsformen mit einem Touchscreen verwirklicht sein kann. Zusätzlich kann der Basisbandprozessor 910 in der Ausführungsform in 9 mit einem Speichersystem, einem nichtflüchtigen Speicher, insbesondere ein Flash-Speicher 930 und ein Systemspeicher, nämlich ein dynamischer Direktzugriffsspeicher (DRAM) 935, verbunden werden. Wie weiter zu sehen ist, kann der Basisbandprozessor 910 mit einem Aufnahmegerät 940, wie ein Bildaufnahmegerät, das Video- und/oder Standbilder aufnehmen kann, verbunden sein.
  • Um die Kommunikation, die gesendet und empfangen wird, zu ermöglichen, können verschiedene Schaltungen zwischen dem Basisbandprozessor 910 und einer Antenne 980 gekoppelt sein. Insbesondere kann ein Radiofrequenz (HF)-Transceiver 970 und ein drahtloser lokaler Netzwerk (WLAN) Transceiver 975 vorhanden sein. Im allgemeinen kann ein HF-Transceiver 970 verwendet werden, um drahtlos Daten und Anrufe gemäß einem vorgegebenen Protokoll für drahtlose Kommunikation, wie 3G- oder 4G-Kommunikationsprotokoll in Übereinstimmung mit einem Codemultiplex-Vielfachzugriff (CDMA), globales System für mobile Kommunikation (GSM), Long Term Evolution (LTE) oder ein anderes Protokoll zu empfangen und zu senden. Andere drahtlose Kommunikation, wie der Empfang oder die Übertragung von Funksignalen, z. B. AM/FM oder Global Positioning Satellite (GPS)-Signale können vorgesehen werden. Darüber hinaus können WLAN-Transceiver 975, lokale drahtlose Signale, gemäß einem Bluetooth™ Standard oder einem IEEE 802.1 1-Standard, wie IEEE 802.11 alb/g/n realisiert werden. Beachten Sie, dass die Verbindung zwischen dem Basisbandprozessor 910 und einem oder beiden Transceivern 970 und 975 über eine Niedrigenergieverbindung mit konvergierter Verbindung erfolgt, die die Funktionalität einer PCIe™-Verbindung und einer Niedrigenergieverbindung, wie eine MIPI-Verbindung, kombiniert und zuordnet. Obwohl auf dieser hoher Ebene in der Ausführungsform von 9 dargestellt, ist der Umfang der vorliegenden Erfindung nicht in dieser Hinsicht beschränkt.
  • Unter Bezugnahme auf 10 wird ein Blockdiagramm eines Abschnitts einer physikalischen Einheit des Seitenbandes in Übereinstimmung mit einer Ausführungsform der vorliegenden Erfindung abgebildet. Wie in 10 dargestellt, kann Einheit 1000 eine Seitenband-Verbindungsverwaltung 1010 enthalten, die wie oben beschrieben, konfiguriert werden kann. Zusätzlich kann ein Multiplexer 1015 vorhanden sein. In der gezeigten Implementierung wird dieses herkömmliche Seitenbandsignal sowohl zur Verbindungsverwaltung 1010 und direkt an den Multiplexer 1015 gesendet. Mit diesem Multiplexer, der von einem Schalter S1 gesteuert wird, kann, basierend auf vorherige Kenntnis der Plattform oder Systemkonfigurationseinstellungen (entweder Standardwerte oder durch Software programmiert) oder Hardwareband-Einstellungen, die Verbindungsverwaltung 1010 gesteuert werden, um entweder eine konsolidierten Seitenbandnachricht (z. B. ein einziges Paket mit konsolidierter Nachricht) oder ein Einzelseitenbandsignal, z. B. ein herkömmliches Signal, wie ein Alarmsignal oder ein Taktanforderungssignal über den Seitenbandkanal zu senden. Es ist zu beachten, dass obwohl die tatsächliche physikalische Verbindung zu einem Peripheriegerät über dieses herkömmliche Seitenbandsignal, dass, wie gezeigt, aus einem Wecksignal (WAKE#) oder einem Taktanforderungssignal (CLKREQ) bestehen kann, den Umfang der vorliegenden Erfindung diesbezüglich nicht beschränkt.
  • Unter Bezugnahme auf 11 wird ein Flussdiagramm eines Verfahrens gemäß einer Ausführungsform der vorliegenden Erfindung abgebildet. Wie in 11 dargestellt, kann das Verfahren 1150 verwendet werden, um ein Gerät, z. B. ein Host-Gerät, zu konfigurieren, um die Seitenbandkommunikation, entweder über einen separaten Seitenbandkanal, wie oben beschrieben, oder über eine primäre Verbindung, die in einer Ausführungsform über eine Niedrigenergie-PHY-Einheit erfolgt, zu ermöglichen. Wie dargestellt in 11, kann Verfahren 1150 durch Bestimmen, ob ein Peripheriegerät eine PHY-Einheit enthält, eine Seitenbandzwischenverbindung (Raute 1160) verbunden ist, beginnen. In einer Ausführungsform kann diese Bestimmung aufgrund von Vorwissen über die Plattform oder der Systemkonfigurationseinstellungen (entweder Standardwerte oder durch die Software programmiert ist) oder Hardware-Band-Einstellungen vorgenommen werden. Wenn die Feststellung bestätigt wird, geht die Steuerung zu Block 1170 über, wo der Host konfiguriert werden kann, um Seitenbandinformationen auf einer Seitenbandverbindung über eine Seitenband-PHY-Einheit zu übertragen. Auf diese Weise ist Niedrigenergiebetrieb möglich, da die Kommunikation über den Seitenbandkanal bei niedrigeren Geschwindigkeiten und somit geringeren Stromverbrauch erfolgen kann. Weiterhin kann diese Kommunikation in einigen Ausführungsformen über einen konsolidierten Seitenbandmechanismus erfolgen, so dass eine Vielzahl von verschiedenen Seitenband-Informationsparameter in einem einzigen Paket übertragen werden können, wodurch die Komplexität, Größe, Kosten usw. reduziert werden.
  • Wenn stattdessen festgestellt wird, dass das Peripheriegerät keine unterstützte PHY-Einheit enthält, die mit der Seitenbandverbindung verbunden ist, geht die Steuerung zum Block 1180 weiter. Der Host kann so konfiguriert werden, dass die Seitenbandinformationen auf einer primären physischen Verbindung über eine primäre PHY-Einheit kommuniziert. In verschiedenen Ausführungsformen kann diese Seitenbandkommunikation über eine einzige ähnliche Paketnachricht erfolgen. Jedoch kann die Form der Kommunikation unterschiedlich für die verschiedenen Funktionen der primären PHY-Einheit sein. Obwohl mit dieser speziellen Implementierung in der Ausführungsform von 11 beschrieben, ist der Umfang der vorliegenden Erfindung nicht in dieser Hinsicht beschränkt. Zum Beispiel können ähnliche Vorgänge verwendet werden, um ein Nutzdatengerät zu konfigurieren. Es ist zu beachten, dass nach diesen Konfigurationsvorgängen die Kommunikation der Seitenbandinformation entweder über die Seitenbandverbindung oder über eine primäre physische Verbindung auftreten kann.
  • Ausführungsformen können in vielen verschiedenen Arten von Systemen verwendet werden. Zum Beispiel kann in einer Ausführungsform ein Kommunikationsgerät angeordnet werden, um die verschiedenen Verfahren und Techniken, die hierin beschrieben werden, auszuführen. Natürlich ist der Umfang der vorliegenden Erfindung nicht auf ein Kommunikationsgerät von Anweisungen oder ein oder mehrere maschinenlesbare Medien, darunter Anweisungen, die in Reaktion darauf, dass sie auf einem Rechengerät ausgeführt wurden, veranlassen, dass das Gerät einer oder mehrerer der hier beschriebenen Verfahren und Techniken ausführt, ausgerichtet werden.
  • Ausführungsformen können in Code implementiert werden und können auf ein nicht vorübergehendes Speichermedium, auf dem Befehle, die verwendet werden können, um ein System zu programmieren und um die Anweisungen auszuführen, gespeichert werden. Das Speichermedium kann, ist aber nicht darauf beschränkt, jede Art von Laufwerk, einschließlich Disketten, CDs, Festkörperlaufwerke (SSDs), Compact Disk Nur-Lese- Speicher (CD-ROMs), Compact Disk Rewritables (CD-RWs) und magnetisch-optische Platten, Halbleitergerät, wie Nur-Lesespeicher (ROMs), Direktzugriffsspeicher (RAMs), wie etwa dynamische Direktzugriffsspeicher (DRAMs), statische Direktzugriffsspeicher (SRAMs), löschbare programmierbare Nur-Lese-Speicher (EPROMs), Flash-Speicher, elektrisch löschbare programmierbare nur-Lese-Speicher (EEPROMs), magnetische oder optische Karten oder jede andere Art von Medien, die sich zum Speichern elektronischer Befehle eignen, sein.

Claims (26)

  1. Vorrichtung, umfassend: Eine Logik zum Betreiben einer Peripheral Component Interconnect Express^TM (PCIe^TM)-basierten Transaktionsschicht und einer Verbindungsschicht; eine erste physikalische Einheit, die mit der Logik gekoppelt ist, um Daten über eine erste physikalische Verbindung zu senden und zu empfangen; und eine zweite physikalische Einheit, die mit der Logik gekoppelt ist, um Daten über eine zweite physikalische Verbindung zu senden und zu empfangen, wobei die zweite physikalische Einheit eine elektrische M-PHY-Schicht und eine logische Schicht enthält, um eine Schnittstelle der Logik mit der elektrischen M-PHY-Schicht zu bilden, wobei die logische Schicht eine Verbindungstrainings- und Zustandsmaschine (LTSSM) zum Durchführen von Verbindungstraining der zweiten physikalischen Verbindung und zum Unterstützen einer Mehrspurkonfiguration der zweiten physikalischen Verbindung enthält, wobei die logische Schicht eingerichtet ist, eine von der Verbindungsschicht empfangene Transaktion in ein Format zum Senden auf der zweiten physikalischen Verbindung zu konvertieren durch Abbilden von PCIe-Symbolen auf M-PHY-Symbole.
  2. Vorrichtung nach Anspruch 1, wobei die zweite physikalische Verbindung gemäß einem In-Band-Mechanismus bei geringer Geschwindigkeit kommuniziert.
  3. Vorrichtung nach Anspruch 1, wobei die erste physikalische Verbindung Datenverbindungsschichtpakete zwischen der Vorrichtung und einem Gerät kommuniziert, das über die erste physikalische Verbindung mit der Vorrichtung verbunden ist.
  4. Vorrichtung nach Anspruch 1, wobei die erste physikalische Verbindung über einen In-Band-Mechanismus kommuniziert.
  5. Vorrichtung nach Anspruch 1, wobei die LTSSM die zweite physikalische Verbindung auf eine Verbindungsbreite konfiguriert und initialisiert, die vor Trainieren der zweiten physikalischen Verbindung bestimmt wurde.
  6. Vorrichtung nach Anspruch 1, wobei die LTSSM Power-Gating an der zweiten physikalischen Einheit in einem tiefen Niedrigenergiezustand durchführt.
  7. Vorrichtung nach Anspruch 6, wobei die LTSSM den tiefen Niedrigenergiezustand verlässt, wenn ein negatives Steuersignal auf Spuren der zweiten physikalischen Verbindung gesteuert wird.
  8. Vorrichtung nach Anspruch 1, wobei die LTSSM Konfiguration und Initialisierung der zweiten physikalischen Verbindung, Unterstützung von Datentransfers, Unterstützung von Zustandsübergängen beim Erholen von einem Verbindungsfehler und Port-Wiederanlauf aus einem Niedrigenergiezustand bereitstellt.
  9. Vorrichtung nach Anspruch 1, ferner umfassend einen Seitenbandmanager zum Verwalten der zweiten physikalischen Verbindung und zum Konsolidieren einer Vielzahl von Seitenbandsignalen in ein Paket zur Kommunikation auf der zweiten physikalischen Verbindung.
  10. Vorrichtung nach Anspruch 1, wobei die LTSSM eine asymmetrische Verbindungsbreitenkonfiguration der zweiten physikalischen Verbindung unterstützt.
  11. Vorrichtung nach Anspruch 1, wobei die LTSSM eine dynamische Bandbreitenskalierbarkeit der zweiten physikalischen Verbindung unterstützt.
  12. System, umfassend: Ein System auf einem Chip (SoC), umfassend: Eine Vielzahl von Kernen; eine Transaktionsschicht und eine Verbindungsschichte eines Peripheral Component Interconnect Express^TM (PCIe^TM)-Kommunikationsprotokolls; eine erste physikalische Einheit, die mit der Verbindungsschicht gekoppelt ist, um Kommunikation über eine erste physikalische Verbindung zu ermöglichen, wobei die erste physikalische Einheit nach dem PCIe^TM-Kommunikationsprotokoll betrieben wird; und eine zweite physikalische Einheit, die mit der Verbindungsschicht gekoppelt ist, um Kommunikation über eine zweite physikalische Verbindung zu ermöglichen, wobei die zweite physikalische Einheit eine elektrische M-PHY-Schicht und eine logische Schicht umfasst, um eine Schnittstelle der Verbindungsschicht mit der elektrischen M-PHY-Schicht zu bilden, wobei die logische Schicht eine Verbindungstrainings- und Zustandsmaschine (LTSSM) umfasst, um Verbindungstraining der zweiten physikalischen Verbindung durchzuführen, wobei die logische Schicht eingerichtet ist, eine von der Verbindungsschicht empfangene Transaktion in ein Format zum Senden auf der zweiten physikalischen Verbindung zu konvertieren durch Abbilden von PCIe-Symbolen auf M-PHY-Symbole; wobei die erste physikalische Verbindung zwischen dem SoC und einem ersten Transceiver gekoppelt ist; wobei die zweite physikalische Verbindung zwischen dem SoC und dem ersten Transceiver gekoppelt ist; wobei der erste Transceiver mit dem SoC über die erste physikalische Verbindung und die zweite physikalische Verbindung gekoppelt ist, wobei der erste Transceiver umfasst: Eine zweite Transaktionsschicht und eine zweite Verbindungsschicht des PCIe^TM-Kommunikationsprotokolls; eine dritte physikalische Einheit, die mit der zweiten Verbindungsschicht gekoppelt ist, um Kommunikation über die erste physikalische Verbindung zu ermöglichen; und eine vierte physikalische Einheit, die mit der Verbindungsschicht gekoppelt ist, um Kommunikation über die zweite physikalische Verbindung zu ermöglichen, wobei die vierte physikalische Einheit eine zweite elektrische Schicht, die nicht gemäß dem PCIe^TM-Kommunikationsprotokoll betrieben wird, und eine zweite logische Schicht umfasst, um eine Schnittstelle der zweiten Verbindungsschicht mit der zweiten elektrischen Schicht zu bilden; ein Bildaufnahmegerät, das mit dem SoC gekoppelt ist, um Bildinformation aufzunehmen; und ein Touchscreen-Display, das mit dem SoC gekoppelt ist.
  13. System nach Anspruch 12, wobei die elektrische Schicht eine Vielzahl physikalischer Schaltungseinheiten umfasst, die jeweils über einen einzelnen Kanal der zweiten physikalischen Verbindung kommunizieren.
  14. System nach Anspruch 12, wobei das SoC ferner wenigstens einen In-Order-Kern und wenigstens einen Out-of-Order-Kern umfasst.
  15. System nach Anspruch 12, ferner umfassend einen zweiten Transceiver, der mit dem SoC über eine dritte physikalische Verbindung gekoppelt ist.
  16. System nach Anspruch 12, wobei das System einen Tablet-Computer umfasst.
  17. System nach Anspruch 12, wobei die LTSSM konfiguriert ist, eine Mehrspurkonfiguration der zweiten physikalischen Verbindung zu unterstützen.
  18. System nach Anspruch 12, wobei die LTSSM konfiguriert ist, eine dynamische Bandbreitenskalierbarkeit der zweiten physikalischen Verbindung zu unterstützen.
  19. System nach Anspruch 12, wobei die LTSSM konfiguriert ist, eine asymmetrische Verbindungsbreitenkonfiguration der zweiten physikalischen Verbindung zu unterstützen.
  20. Verfahren, umfassend: Durchführen, über eine Verbindungstrainings- und Zustandsmaschine (LTSSM), von Verbindungstraining einer ersten physikalischen Verbindung, die zwischen einem System auf einem Chip (SoC) und einem Gerät gekoppelt ist, wobei die LTSSM Teil einer logischen Schicht einer M-PHY ist, wobei die logische Schicht eine Schnittstelle einer elektrischen Schicht der M-PHY mit einer Peripheral Component Interconnect Express^’TM (PCIe^TM)-Verbindungsschicht bildet; Unterstützen, über die LTSSM, einer Mehrspurkonfiguration der ersten physikalischen Verbindung; Konvertieren einer Transaktion, die von der PCIe-Verbindungsschicht empfangen wurde, in ein Format zum Senden auf einer zweiten physikalischen Verbindung durch Abbilden, über eine Abbildungslogik der logischen Schicht, von PCIe-Symbolen einer ersten Kodierung auf M-PHY-Symbole; und Kommunizieren zwischen dem SoC und dem Gerät über eine zweite physikalische Verbindung, die zwischen dem SoC und dem Gerät gekoppelt ist, unter Verwendung einer PCIe^TM-PHY.
  21. Verfahren nach Anspruch 20, ferner umfassend Betreiben einer ersten physikalischen Verbindung mit einer asymmetrischen Breite von dem SoC zu dem Gerät gegenüber von dem Gerät zu dem SoC.
  22. Verfahren nach Anspruch 20, ferner umfassend Konfigurieren und Initialisieren der ersten physikalischen Verbindung auf eine Verbindungsbreite, die vor dem Verbindungstraining bestimmt wurde.
  23. Verfahren nach Anspruch 20, ferner umfassend Power-Gating der M-PHY in einem tiefen Niedrigenergiezustand.
  24. Verfahren nach Anspruch 20, ferner umfassend Verlassen eines tiefen Niedrigenergiezustands, wenn ein negatives Steuersignal auf Spuren der ersten physikalischen Verbindung gesteuert wird.
  25. Verfahren nach Anspruch 20, ferner umfassend Unterstützen, über die LTSSM, einer dynamischen Bandbreitenskalierbarkeit der ersten physikalischen Verbindung.
  26. Verfahren nach Anspruch 20, ferner umfassend Unterstützen, über die LTSSM, einer asymmetrischen Verbindungsbreitenkonfiguration der ersten physikalischen Verbindung.
DE112013007744.2T 2012-05-22 2013-05-16 Vorrichtung, system und verfahren zur bereitstellung drahtloser kommunikation zwischen geräten Active DE112013007744B3 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/477,304 2012-05-22
US13/477,304 US8549205B1 (en) 2012-05-22 2012-05-22 Providing a consolidated sideband communication channel between devices

Publications (1)

Publication Number Publication Date
DE112013007744B3 true DE112013007744B3 (de) 2023-01-05

Family

ID=49229996

Family Applications (2)

Application Number Title Priority Date Filing Date
DE112013007744.2T Active DE112013007744B3 (de) 2012-05-22 2013-05-16 Vorrichtung, system und verfahren zur bereitstellung drahtloser kommunikation zwischen geräten
DE112013001661.3T Active DE112013001661B4 (de) 2012-05-22 2013-05-16 Apparat, verfahren und system zur bereitstellung eines konsolidierten seitenband kommunikationskanal zwischen geräten

Family Applications After (1)

Application Number Title Priority Date Filing Date
DE112013001661.3T Active DE112013001661B4 (de) 2012-05-22 2013-05-16 Apparat, verfahren und system zur bereitstellung eines konsolidierten seitenband kommunikationskanal zwischen geräten

Country Status (3)

Country Link
US (3) US8549205B1 (de)
DE (2) DE112013007744B3 (de)
WO (1) WO2013176953A1 (de)

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8972646B2 (en) 2012-03-30 2015-03-03 Intel Corporation Superspeed inter-chip interface
US8437343B1 (en) 2012-05-22 2013-05-07 Intel Corporation Optimized link training and management mechanism
US8446903B1 (en) * 2012-05-22 2013-05-21 Intel Corporation Providing a load/store communication protocol with a low power physical unit
US8972640B2 (en) * 2012-06-27 2015-03-03 Intel Corporation Controlling a physical link of a first protocol using an extended capability structure of a second protocol
MY169964A (en) 2012-06-29 2019-06-19 Intel Corp An architected protocol for changing link operating mode
US9261934B2 (en) 2013-03-15 2016-02-16 Intel Corporation Dynamic response improvement of hybrid power boost technology
US9436244B2 (en) * 2013-03-15 2016-09-06 Intel Corporation Adaptive control loop protection for fast and robust recovery from low-power states in high speed serial I/O applications
US9396152B2 (en) 2013-03-15 2016-07-19 Intel Corporation Device, system and method for communication with heterogenous physical layers
US9304545B2 (en) * 2013-08-08 2016-04-05 Dell Products L.P. Information handling system docking with coordinated power and data communication
US10429889B2 (en) 2013-08-08 2019-10-01 Dell Products L.P. Information handling system docking with coordinated power and data communication
US9377814B2 (en) 2013-08-08 2016-06-28 Dell Products L.P. Information handling system docking with coordinated power and data communication
US20150046626A1 (en) * 2013-08-12 2015-02-12 Samsung Electronics Co., Ltd. Low power secondary interface adjunct to a pci express interface between integrated circuits
KR101844812B1 (ko) * 2013-10-23 2018-04-03 인텔 코포레이션 고속 레인에서 가기능정지를 이용한 emi 완화
EP3361390B1 (de) 2013-12-26 2020-04-01 INTEL Corporation Pci-expressverbesserungen
KR101925694B1 (ko) 2013-12-26 2018-12-05 인텔 코포레이션 멀티칩 패키지 링크
DE112013007769B3 (de) 2013-12-26 2023-04-06 Intel Corporation System, Vorrichtung und Verfahren zum Erzeugen und Senden von SKP geordneten Sätzen
US9317353B2 (en) 2013-12-26 2016-04-19 Intel Corporation Method, apparatus and system for performing voltage margining
MY187344A (en) * 2014-03-20 2021-09-22 Intel Corp Method, apparatus and system for configuring a protocol stack of an integrated circuit chip
US9612643B2 (en) 2014-03-29 2017-04-04 Intel Corporation Controlling the CPU slew rates based on the battery state of charge
WO2016003408A1 (en) * 2014-06-30 2016-01-07 Hewlett-Packard Development Company, L.P. Runtime drive detection and configuration
MY175303A (en) * 2014-09-11 2020-06-18 Intel Corp Apparatus for sideband signaling, method for sideband signaling and system for sideband signaling
US9710406B2 (en) 2014-12-15 2017-07-18 Intel Corporation Data transmission using PCIe protocol via USB port
US9645959B2 (en) * 2015-01-16 2017-05-09 Qulacomm Incorporated Fast link training in embedded systems
KR102371557B1 (ko) 2015-03-20 2022-03-07 삼성전자주식회사 호스트 장치, 그것과 복수의 장치들을 갖는 호스트 시스템 및 그것의 인터페이스 링크 레이어 구성 방법
US9692967B1 (en) 2015-03-23 2017-06-27 Snap Inc. Systems and methods for reducing boot time and power consumption in camera systems
US10019388B2 (en) * 2015-04-28 2018-07-10 Liqid Inc. Enhanced initialization for data storage assemblies
DE112015006944B4 (de) * 2015-09-25 2023-03-23 Intel Corporation Einrichtung, System und Verfahren zum Ermöglichen einer Kommunikation über eine Verbindung mit einer Vorrichtung außerhalb einer Baugruppe
US9965435B2 (en) 2015-11-12 2018-05-08 Qualcomm Incorporated Communication low-speed and high-speed parallel bit streams over a high-speed serial bus
US10739836B2 (en) * 2018-03-27 2020-08-11 Intel Corporation System, apparatus and method for handshaking protocol for low power state transitions
US10846256B2 (en) * 2019-04-26 2020-11-24 Dell Products L.P. Multi-endpoint device sideband communication system
US11409681B2 (en) 2020-09-04 2022-08-09 Paypal, Inc. Computer system communication via sideband processor
US11301401B1 (en) * 2020-12-18 2022-04-12 Micron Technology, Inc. Ball grid array storage for a memory sub-system
CN117043752A (zh) 2021-03-29 2023-11-10 美光科技公司 边带通信管理
US12045501B2 (en) 2021-09-20 2024-07-23 SanDisk Technologies, Inc. Sideband information over host interface considering link states
US20220327083A1 (en) * 2021-12-30 2022-10-13 Intel Corporation Standard interfaces for die to die (d2d) interconnect stacks
US20220237138A1 (en) * 2021-12-30 2022-07-28 Narasimha Lanka Link initialization training and bring up for die-to-die interconnect
US11847071B2 (en) * 2021-12-30 2023-12-19 Pure Storage, Inc. Enabling communication between a single-port device and multiple storage system controllers

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120056662A1 (en) 2010-09-07 2012-03-08 Thomas James Wilson Master/slave control of touch sensing
US20120086968A1 (en) 2010-10-12 2012-04-12 Canon Kabushiki Kaisha Printing apparatus and operation setting method thereof

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6009488A (en) 1997-11-07 1999-12-28 Microlinc, Llc Computer having packet-based interconnect channel
US7657692B2 (en) 1999-08-04 2010-02-02 Super Talent Electronics, Inc. High-level bridge from PCIE to extended USB
US7099318B2 (en) 2001-12-28 2006-08-29 Intel Corporation Communicating message request transaction types between agents in a computer system using multiple message groups
US20040221315A1 (en) * 2003-05-01 2004-11-04 Genesis Microchip Inc. Video interface arranged to provide pixel data independent of a link character clock
US7136953B1 (en) 2003-05-07 2006-11-14 Nvidia Corporation Apparatus, system, and method for bus link width optimization
US7631118B2 (en) 2003-12-31 2009-12-08 Intel Corporation Lane to lane deskewing via non-data symbol processing for a serial point to point link
US7480808B2 (en) 2004-07-16 2009-01-20 Ati Technologies Ulc Method and apparatus for managing power consumption relating to a differential serial communication link
JP4594761B2 (ja) 2005-02-10 2010-12-08 株式会社東芝 情報処理装置およびその制御方法
KR100619720B1 (ko) 2005-05-16 2006-09-06 엘지전자 주식회사 다중 프로세서간 통신 장치 및 방법
KR100814904B1 (ko) 2005-12-06 2008-03-19 한국전자통신연구원 칩 내부 회로 간의 데이터 전송을 위한 통신 시스템
US7536490B2 (en) 2006-07-20 2009-05-19 Via Technologies, Inc. Method for link bandwidth management
WO2008032150A2 (en) * 2006-09-15 2008-03-20 Nokia Corporation Simultaneous bidirectional cable interface
US7949794B2 (en) * 2006-11-02 2011-05-24 Intel Corporation PCI express enhancements and extensions
US8185072B2 (en) 2007-03-23 2012-05-22 Intel Corporation Method and apparatus for power reduction for interconnect links
US7908501B2 (en) 2007-03-23 2011-03-15 Silicon Image, Inc. Progressive power control of a multi-port memory device
US7934032B1 (en) * 2007-09-28 2011-04-26 Emc Corporation Interface for establishing operability between a processor module and input/output (I/O) modules
US7793030B2 (en) 2007-10-22 2010-09-07 International Business Machines Corporation Association of multiple PCI express links with a single PCI express port
US7903642B2 (en) * 2007-12-04 2011-03-08 Nokia Corporation Multi-processor architecture for a device
US8218580B2 (en) 2008-07-15 2012-07-10 Intel Corporation Managing timing of a protocol stack
US8352764B2 (en) 2008-09-29 2013-01-08 Intel Corporation Dynamic squelch detection power control
US8170062B2 (en) * 2009-04-29 2012-05-01 Intel Corporation Packetized interface for coupling agents
US8667311B2 (en) 2009-06-23 2014-03-04 Broadcom Corporation Method and system for optimized power management for a network device supporting PCI-E and energy efficient ethernet
US8812878B2 (en) 2009-06-30 2014-08-19 Intel Corporation Limiting false wakeups of computing device components coupled via links
US8275560B2 (en) 2009-09-10 2012-09-25 Intel Corporation Power measurement techniques of a system-on-chip (SOC)
US8645738B2 (en) * 2009-10-27 2014-02-04 Nokia Corporation Nonvolatile device
CN102576313A (zh) 2009-11-02 2012-07-11 惠普发展公司,有限责任合伙企业 采用分布式嵌入式切换的多处理计算
US8621128B2 (en) * 2009-12-04 2013-12-31 St-Ericsson Sa Methods and systems for reliable link startup
US8719475B2 (en) * 2010-07-13 2014-05-06 Broadcom Corporation Method and system for utilizing low power superspeed inter-chip (LP-SSIC) communications
CN103262462B (zh) 2010-10-19 2016-09-14 瑞典爱立信有限公司 在高速串行接口通信系统中使用选择性字节同步的省电模式的系统和方法
US8437343B1 (en) 2012-05-22 2013-05-07 Intel Corporation Optimized link training and management mechanism

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120056662A1 (en) 2010-09-07 2012-03-08 Thomas James Wilson Master/slave control of touch sensing
US20120086968A1 (en) 2010-10-12 2012-04-12 Canon Kabushiki Kaisha Printing apparatus and operation setting method thereof

Also Published As

Publication number Publication date
US8549205B1 (en) 2013-10-01
DE112013001661T5 (de) 2015-01-15
WO2013176953A1 (en) 2013-11-28
US8924620B2 (en) 2014-12-30
US20150089110A1 (en) 2015-03-26
US9223735B2 (en) 2015-12-29
US20140068135A1 (en) 2014-03-06
DE112013001661B4 (de) 2022-12-29

Similar Documents

Publication Publication Date Title
DE112013007744B3 (de) Vorrichtung, system und verfahren zur bereitstellung drahtloser kommunikation zwischen geräten
DE112013002639B4 (de) Optimierter Verbindungstrainings- und Managementmechanismus
DE112013003248B4 (de) Steuern einer physischen Verbindung von einem ersten Protokoll unter Verwendung einer erweiterten Funktionsstruktur eines zweiten Protokolls
EP2853079B1 (de) Bereitstellung eines ladungs-/speicherungskommunikationsprotokolls mit einer physikalischen niederleistungseinheit
US9830292B2 (en) Architected protocol for changing link operating mode
DE112013004026T5 (de) Vorrichtung, System und Verfahren zur geschalteten Leistungsübertragung zu einer E/A-Schnittstelle
CN107092335B (zh) 优化的链路训练及管理机制
DE102018125241A1 (de) Mechanismus einer asymmetrischen Vollduplex-USB-SS-Verbindungsstrecke

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R129 Divisional application from

Ref document number: 112013001661

Country of ref document: DE

R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: H04L0029080000

Ipc: G06F0013140000

R016 Response to examination communication
R016 Response to examination communication
R081 Change of applicant/patentee

Owner name: TAHOE RESEARCH, LTD., IE

Free format text: FORMER OWNER: INTEL CORPORATION, SANTA CLARA, CALIF., US

R082 Change of representative

Representative=s name: VOSSIUS & PARTNER PATENTANWAELTE RECHTSANWAELT, DE

R018 Grant decision by examination section/examining division
R020 Patent grant now final