DE102019120357A1 - Dynamische asymmetrische kommunikationspfadzuteilung - Google Patents

Dynamische asymmetrische kommunikationspfadzuteilung Download PDF

Info

Publication number
DE102019120357A1
DE102019120357A1 DE102019120357.0A DE102019120357A DE102019120357A1 DE 102019120357 A1 DE102019120357 A1 DE 102019120357A1 DE 102019120357 A DE102019120357 A DE 102019120357A DE 102019120357 A1 DE102019120357 A1 DE 102019120357A1
Authority
DE
Germany
Prior art keywords
path
communication path
communication
paths
response
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE102019120357.0A
Other languages
English (en)
Inventor
Dmitriy Berchanskiy
Huimin Chen
Udaya Natarajan
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of DE102019120357A1 publication Critical patent/DE102019120357A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/24Multipath
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • H04L45/121Shortest path evaluation by minimising delays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/22Alternate routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/38Flow based routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/66Layer 2 routing, e.g. in Ethernet based MAN's
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2416Real-time traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2483Traffic characterised by specific attributes, e.g. priority or QoS involving identification of individual flows

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Systems (AREA)

Abstract

Eine Vorrichtung kann einen Anschluss umfassen, um an eine Vielzahl von Kommunikationspfaden zu koppeln, die einen ersten, einen zweiten, einen dritten und einen vierten Kommunikationspfad umfassen, wobei die Kommunikationspfade jeweils eine Richtung entweder eines Empfangspfads oder eines Sendepfads aufweisen, die Kommunikationspfade einen ersten Kommunikationspfad mit einer Richtung umfassen, die selektiv als ein Empfangspfad oder ein Sendepfad konfiguriert werden kann. Die Vorrichtung umfasst ferner eine Steuerung, die Verschaltung umfasst, wobei die Steuerung als Reaktion auf einen Kommunikationspfad-Neukonfigurationsbefehl die Richtung des ersten Kommunikationspfads so neu konfiguriert, dass der erste Kommunikationspfad, der zweite Kommunikationspfad und der dritte Kommunikationspfad die gleiche Richtung aufweisen und der vierte Kommunikationspfad eine der Richtung des ersten, des zweiten und des dritten Kommunikationspfads entgegengesetzte Richtung aufweist.

Description

  • GEBIET
  • Die vorliegende Offenbarung betrifft allgemein das Gebiet der Computerentwicklung und genauer eine dynamische asymmetrische Kommunikationspfadzuteilung.
  • STAND DER TECHNIK
  • Ein Host kann mit einer Vorrichtung über verschiedene Kommunikationspfade kommunizieren, die z. B. Konfigurationsdaten, Nutzlastdaten, Energie und/oder andere Signale tragen. Ein Kommunikationspfad kann einen oder mehrere Drähte oder andere Übertragungsmedien des Kabels umfassen.
  • Figurenliste
    • 1A-1E veranschaulichen eine Hosteinrichtung in Kommunikation mit einer oder mehreren peripheren Einrichtungen nach bestimmten Ausführungsformen.
    • 2 veranschaulicht eine Hosteinrichtung in Kommunikation mit einer Universal-Serial-Bus(USB)-Einrichtung nach bestimmten Ausführungsformen.
    • 3 veranschaulicht einen Ablauf für eine dynamische asymmetrische Kommunikationspfadzuteilung für einen sendungsdominanten Datentransfer nach bestimmten Ausführungsformen.
    • 4 veranschaulicht einen Ablauf für eine dynamische asymmetrische Kommunikationspfadzuteilung für einen empfangsdominanten Datentransfer nach bestimmten Ausführungsformen.
    • 5 veranschaulicht ein Anschlusskonfigurations-Verbindungsverwaltungspaket(LMP)-Format nach bestimmten Ausführungsformen.
    • 6 veranschaulicht ein Anschlusskonfigurations-Antwort-LMP-Format nach bestimmten Ausführungsformen.
    • 7 veranschaulicht Unterzustände eines Wiederherstellungszustands nach bestimmten Ausführungsformen.
    • 8 veranschaulicht eine Pulsweitenmodulationsnachricht (PWM-Nachricht) auf Grundlage einer periodischen PHY-Fähigkeits-Niederfrequenz-Signalgebung (LFPS) (LBPM) nach bestimmten Ausführungsformen.
    • 9 veranschaulicht ein Daten-Striping-Beispiel für eine asymmetrische Kommunikationspfadzuteilung nach bestimmten Ausführungsformen.
    • 10 veranschaulicht ein Blockdiagramm mit Komponenten, die in einem Computersystem nach bestimmten Ausführungsformen vorhanden sind.
    • 11 veranschaulicht ein weiteres Blockdiagramm für ein beispielhaftes Rechensystem nach bestimmten Ausführungsformen.
    • Gleiche Bezugsziffern und Kennzeichnungen in den verschiedenen Zeichnungen zeigen gleiche Elemente an.
  • AUSFÜHRLICHE BESCHREIBUNG
  • 1A-1E veranschaulichen eine Hosteinrichtung 102 in Kommunikation mit einer oder mehreren peripheren Einrichtungen 104 (z. B. 104A, 104B, 104C) nach bestimmten Ausführungsformen. Eine Hosteinrichtung 102 kann eine beliebige geeignete Recheneinrichtung enthalten, wie einen Prozessor oder ein Ein-Chip-System (SoC) und eine periphere Einrichtung 104 kann eine beliebige geeignete Einrichtung sein, um kommunikativ an die Hosteinrichtung zu koppeln. Eine periphere Einrichtung 104 kann zum Beispiel eine Einrichtung sein, die eine Eingabe in die Hosteinrichtung 102 bereitstellt und/oder eine Ausgabe von der Hosteinrichtung empfängt.
  • Die Hosteinrichtung 102 enthält einen oder mehrere Anschlüsse 106 (z. B. 106A, 106B), um an eine periphere Einrichtung 104 zu koppeln. Der Anschluss 106 kann an eine Vielzahl von Kommunikationspfaden 108 (z. B. 108A, 108B, 108C, 108D) koppeln, wobei jeder Kommunikationspfad 108 als ein Sendepfad (Tx-Pfad) oder ein (Rx-)Pfad konfiguriert sein kann. Wenn ein Kommunikationspfad 108 als ein Tx-Pfad konfiguriert ist, kann die Hosteinrichtung 102 Daten über den Kommunikationspfad 108 an die Einrichtung 104 senden. Wenn ein Kommunikationspfad 108 als ein Rx-Pfad konfiguriert ist, kann die Hosteinrichtung 102 Daten über den Kommunikationspfad 108 von der Einrichtung 104 empfangen (deshalb kann die Bezeichnung einer Richtung eines Kommunikationspfads wie hierin verwendet aus der Perspektive der Hosteinrichtung 102 definiert sein). In einigen Ausführungsformen können ein oder mehrere der Kommunikationspfade 108 selektiv als ein Tx- oder ein Rx-Pfad konfiguriert sein. In verschiedenen Ausführungsformen können einer oder mehrere der Kommunikationspfade 108 nicht konfigurierbar (z.B. fixiert) sein. Beispielsweise kann ein bestimmter Kommunikationspfad 108 nur als ein Tx-Pfad verwendet werden, während ein anderer Kommunikationspfad 108 nur als ein Rx-Pfad verwendet werden kann. In einigen Ausführungsformen können die Kommunikationspfade 108 mindestens einen nicht konfigurierbaren einseitig gerichteten Kommunikationspfad (d. h. einen Kommunikationspfad mit einer nicht konfigurierbaren Richtung) und mindestens einen Kommunikationspfad mit einer Richtung, die selektiv konfigurierbar ist (d. h. als ein Tx-Pfad oder als ein Rx-Pfad), enthalten. In einigen Ausführungsformen kann sich die nicht konfigurierbare Natur eines Kommunikationspfads auf die Unfähigkeit zur Neukonfiguration der Richtung des Kommunikationspfads für die Dauer der Anbindung beziehen, sobald eine Anfangsrichtung für den Kommunikationspfad festgelegt wurde (z. B. als Reaktion auf ein Verbinden der peripheren Einrichtung mit der Hosteinrichtung).
  • Der Universal-Serial-Bus(USB)-3.2-Standard verdoppelt die Anbindungsbandbreite (relativ zu USB 3.1) durch Einführung eines Betriebs mit zwei Signalleitungen, x2-Modus genannt, auf 20 GB/s (in einigen Ausführungsformen kann eine Signalleitung ein Paar von Kommunikationspfaden umfassen, wie einen Tx-Pfad und einen Rx-Pfad). Im x2-Modus wird eine gleiche Anzahl von Tx- und Rx-Pfaden zugeteilt, und die Zuteilung bleibt während der USB-Sitzung fixiert, unabhängig von den Verkehrsmustern. In vielen Anwendungen ist der USB-Verkehr jedoch asymmetrisch (d. h. mehr Daten können von einer Einrichtung gesendet werden, als von der Einrichtung empfangen werden, oder umgekehrt). Einige Beispiele, in denen der Datenfluss asymmetrisch ist, enthalten Video, Audio, Abbildung, Dateitransfer und Instrumentendatenerfassung. Einige Verkehrsmuster können immer gegenüber eingehendem Verkehr dominant sein (z. B. Abbildung oder Instrumentierung), immer gegenüber ausgehendem Verkehr dominant sein (z. B. Anzeige) oder zwischen gegenüber eingehendem Verkehr dominant und gegenüber ausgehendem Verkehr dominant abwechseln (z. B. Dateitransfer). Die bestehende USB-3.2-Anbindung definiert jedoch zwei Tx-Pfade und zwei Rx-Pfade.
  • Verschiedene Ausführungsformen der vorliegenden Offenbarung sehen einen architektonischen Rahmen zur Unterstützung einer dynamischen asymmetrischen Kommunikationspfadkonfiguration für Kommunikationsschemata vor, die mehrere Kommunikationspfade einsetzen (z. B. Systeme, die mit der Spezifikation des USB-3.2-Standards konform sind, oder andere Systeme, die neukonfigurierbare Kommunikationspfade umfassen). In verschiedenen Ausführungsformen kann eine Rückwärtskompatibilität mit einem Kommunikationsschema beibehalten werden, das mehrere Kommunikationspfade in einer symmetrischen Konfiguration einsetzt (z. B. ein dynamisches asymmetrisches Zuteilungssystem kann die Rückwärtskompatibilität mit USB 3.2 und früheren Spezifikationen beibehalten). Verschiedene hierin beschriebene Ausführungsformen können einen oder mehrere technische Vorteile bieten, wie eine erhöhte Bandbreitennutzung und einen verminderten Energieverbrauch für Anbindungen.
  • In einer bestimmten Ausführungsform wird eine in USB 3.2 definierte Nichtkonfigurations-Signalleitung (die einen Tx-Pfad und einen Rx-Pfad umfasst) modifiziert, sodass sie eine bidirektionale konfigurierbare Signalleitung ist, wobei jeder Kommunikationspfad der Signalleitung die Richtung dynamisch auf Grundlage eines erwarteten Datentransferverhaltens ändern kann. In Kombination mit einer separaten Nichtkonfigurations-Signalleitung (die einen Tx-Pfad und einen Rx-Pfad umfasst, die ihre jeweiligen Richtungen beibehalten) können verschiedene Konfigurationen realisiert werden: z. B. eine Konfiguration mit 1 Tx-Pfad, 3 Rx-Pfaden; eine Konfiguration mit 2 Tx-Pfaden, 2 Rx-Pfaden; oder eine Konfiguration mit 1 Rx-Pfad, 3 Tx-Pfaden. Eine bestimmte Ausführungsform kann bestehende Merkmale der USB-Bitübertragungsschicht (PHY) mit einer minimallen Addition zur USB-3.2-Spezifikation nutzen, um eine dynamische asymmetrische Kommunikationspfadkonfiguration bereitzustellen. In verschiedenen Ausführungsformen kann die Konfigurationsänderung auf SuperSpeedPlus-Architektur-Peripherieeinrichtungen oder SuperSpeedPlus-Hubs angewandt werden, die mit SuperSpeedPlus-Einrichtungen verbunden sind. Eine bestimmte Ausführungsform kann ein erweitertes SuperSpeed-Protokoll mit einem Simplex-Unicast-Bus und asynchronen Benachrichtigungen einsetzen, um einen höheren Durchsatz zu erzielen, wenn die Tx/Rx-Pfadrichtungen geändert werden, um sich an den Verkehrsfluss anzupassen. Einige Ausführungsformen können den Durchsatz um 50 % bei geringer bis keiner Erhöhung des Energieverbrauchs verbessern.
  • In 1A sind die Kommunikationspfade 108A und 108B als Tx-Pfade konfiguriert und die Kommunikationspfade 108C und 108D sind als Rx-Pfade konfiguriert (wobei die Bezeichnung mit Tx und Rx relativ zur Hosteinrichtung 102 ist). In verschiedenen Ausführungsformen, wenn eine periphere Einrichtung 104 an die Hosteinrichtung 102 gekoppelt ist, kann die Konfiguration standardmäßig zwei Tx- und zwei Rx-Pfade sein. In anderen Ausführungsformen, nach der Verbindung einer Einrichtung 104 mit der Hosteinrichtung 102 als Teil einer Initialisierungsprozedur, kann eine Verhandlung stattfinden und die Kommunikationspfade können auf asymmetrische Weise konfiguriert sein (z. B. wie in 1B oder 1C gezeigt).
  • Wenn erwartet wird, dass das Verkehrsmuster (relativ zur Hosteinrichtung 102) empfangsdominant ist, kann das System die Kommunikationspfade 108 wie in 1B gezeigt neu konfigurieren, wobei der Kommunikationspfad 108A als ein Tx-Pfad konfiguriert ist und die Kommunikationspfade 108B, 108C und 108D jeweils als Rx-Pfade konfiguriert sind. Wenn sich das System beispielsweise in einer wie in 1A gezeigten Konfiguration befindet und einen Dateitransfer von der Einrichtung 104 zur Hosteinrichtung 102 erkennt, kann der Kommunikationspfad 108B von einem Tx-Pfad zu einem Rx-Pfad neu konfiguriert werden. Dies kann die Transfergeschwindigkeit relativ zur Konfiguration von 1A um 50 % erhöhen.
  • Wenn erwartet wird, dass das Verkehrsmuster (relativ zur Hosteinrichtung 102) sendedominant ist, kann das System die Kommunikationspfade 108 wie in 1C gezeigt neu konfigurieren, wobei die Kommunikationspfade 108A, 108B und 108C jeweils als Tx-Pfade konfiguriert sind und der Kommunikationspfad 108D als ein Rx-Pfad konfiguriert ist. Wenn sich das System beispielsweise in einer wie in 1A gezeigten Konfiguration befindet und einen Dateitransfer von der Hosteinrichtung 102 zur Einrichtung 104 erkennt, kann der Kommunikationspfad 108C von einem Rx-Pfad zu einem Tx-Pfad neu konfiguriert werden. Dies kann die Transfergeschwindigkeit relativ zur Konfiguration von 1A um 50 % erhöhen.
  • Verschiedene Ausführungsformen können auch verwendet werden, um die Transfergeschwindigkeit zwischen zwei peripheren Einrichtungen 104 zu erhöhen. In 1D ist eine symmetrische Konfiguration gezeigt, wobei die Einrichtung 104B an den Anschluss 106A der Hosteinrichtung 102 gekoppelt ist und die Einrichtung 104C ist an den Anschluss 106B der Hosteinrichtung gekoppelt. In 1D sind beide Einrichtungen 104 auf symmetrische Weise konfiguriert, sodass jede Einrichtung über zwei Tx-Pfade und zwei Rx-Pfade an die Hosteinrichtung 102 gekoppelt ist. Wenn Daten (z. B. eine große Datei) von de Einrichtung 104C an 104B transferiert werden, kann de Durchsatz dramatisch erhöht werden, wenn die Kommunikationspfade wie in 1E gezeigt neu konfiguriert werden. In der gezeigten Ausführungsform wurde einer der Kommunikationspfade, die die Einrichtung 104B an die Einrichtung 102 koppeln, von einem Rx-Pfad zu einem Tx-Pfad neu konfiguriert und einer der Kommunikationspfade, die die Einrichtung 104C an die Hosteinrichtung 102 koppeln, wurde von einem Tx-Pfad zu einem Rx-Pfad neu konfiguriert. In einer derartigen Ausführungsform können die Transferrate von der Einrichtung 104C zur Hosteinrichtung und die Transferrate von der Hosteinrichtung zur Einrichtung 104B jeweils erhöht werden, was zu einem viel rascheren Datentransfer zwischen den Einrichtungen 104 führt. Ähnliche Konfigurationen können ähnliche Vorteile in anderen Anwendungen bereitstellen, wie USB-Vernetzung (z. B. Ethernet über USB), wobei die Hosteinrichtung 102 verwendet wird, um Daten zwischen mehreren Einrichtungen eines Netzwerks zu überbrücken, zu leiten oder anderweitig zu transferieren.
  • Die Hosteinrichtung 102 kann ein beliebiges geeignetes Rechensystem umfassen, das betreibbar ist, um periphere Einrichtungen 104 anzubinden und Daten zu den peripheren Einrichtungen 104 zu empfangen und/oder von diesen zu empfangen. Eine Hosteinrichtung 102 kann einen oder mehrere Prozessoren und einen oder mehrere Anschlüsse 106 umfassen. Eine Hosteinrichtung 102 kann eine beliebige andere geeignete Verschaltung umfassen oder an eine solche gekoppelt sein, wie einen Arbeitsspeicher, eine Zwischenverbindung, eine oder mehrere Kommunikationssteuerungen oder eine andere geeignete Verschaltung.
  • Periphere Einrichtungen 104 können eine beliebige andere geeignete Einrichtung enthalten, um mit der Hosteinrichtung 102 zu kommunizieren. Beispielsweise kann die Einrichtung 104 eine Eingabeeinrichtung wie ein Bildscanner, ein Videorekorder, ein Mikrofon, eine Datenerfassungseinrichtung oder eine andere geeignete Einrichtung sein, die im Allgemeinen Daten an die Hosteinrichtung 102 kommuniziert; eine Ausgabeeinrichtung wie einen Monitor, Projektor, Drucker oder eine andere geeignete Einrichtung, die im Allgemeinen Daten von der Hosteinrichtung 102 empfängt; oder eine Einrichtung wie einen Kommunikationshub, ein Festplattenlaufwerk, ein Flashlaufwerk, eine Arbeitsspeicherkarte oder eine andere geeignete Einrichtung, um Daten von der Hosteinrichtung 102 sowohl zu senden als auch zu empfangen. Eine periphere Einrichtung 104 kann eine beliebige geeignete Verschaltung enthalten, wie einen oder mehrere Prozessoren, einen oder mehrere Anschlüsse (ähnlich wie die Anschlüsse 106), einen Arbeitsspeicher, eine Zwischenverbindung, einen oder mehrere Kommunikationssteuerungen oder eine andere geeignete Verschaltung.
  • In bestimmten Ausführungsformen kann der Anschluss 106 ein elektromechanisches Verbindungsstück umfassen, um an Kommunikationspfade 108 zu koppeln. Ein Verbindungsstück oder ein Anschluss 106 kann zum Beispiel an ein Kabel oder ein anderes Medium koppeln, das Kommunikationspfade 108 (und möglicherweise andere Kommunikationspfade) umfasst und an ein entsprechendes Verbindungsstück eines Anschlusses einer peripheren Einrichtung 104 koppelt. In einem Beispiel kann ein Verbindungsstück des Anschlusses 106 direkt an ein Verbindungsstück eines Anschlusses einer peripheren Einrichtung 104 koppeln (und die Kommunikationspfade 108 können durch die Verbindungsstücke führen). In einer Ausführungsform kann ein Anschluss 106 eine USB-Typ-C-Buchse umfassen, die betreibbar ist, um mechanisch und elektrisch an ein USB-Typ-C-Verbindungsstück eines USB-Typ-C-Kabels gekoppelt zu werden, das eine Einrichtung 104 an die Hosteinrichtung 102 koppelt (oder die Buchse kann direkt an eine Einrichtung gekoppelt sein, wie einen Arbeitsspeicherstick, der ein Verbindungsstück aufweist, wie ein USB-Typ-C-Verbindungsstück).
  • Wie hierin verwendet, kann ein Kommunikationspfad 108 ein oder mehrere Kommunikationsmedien (z. B. einen oder mehrere Leiterdrähte) und/oder eine andere Verschaltung bezeichnen, die eine Kommunikation zwischen einer Quelle und einem Ziel ermöglicht. Wenn ein Signal von einer Quelle zu einem Ziel über den Kommunikationspfad läuft, kann es gespeichert, transformiert werden oder eine andere geeignete Operation an ihm durchgeführt werden, bevor es das Ziel erreicht. Ein Kommunikationspfad 108 kann einen Datentyp tragen, der von anderen Daten oder Signalen verschieden ist, die von anderen, mit den Kommunikationspfaden 108 assoziierten Kommunikationspfaden (z. B. Kommunikationspfade, die im gleichen Kabel oder auf dem gleichen Verbindungsstück wie die Kommunikationspfade 108 enthalten sind) getragen werden. Beispielsweise können anderen Kommunikationspfade Steuerinformationen, wie Hinweise auf eine Kabel- (oder Verbindungsstück-)Verbindungsfähigkeit oder Ausrichtung, Energieverwaltungsinformationen, die mit dem Transfer von Energie zwischen Einrichtungen assoziiert sind (z. B. eine angeforderte Spannung oder einen angeforderten Strom), einen Modus (z. B. einen Debugzubehörmodus, einen Audioadapterzubehörmodus usw.), Konfigurationsinformationen, die mit analogem Audio oder Niedrigenergie-Audiosignalgebung assoziiert sind, oder beliebige andere geeignete Konfigurationsinformationen tragen. In verschiedenen Ausführungsformen können Daten, die von den Kommunikationspfaden 108 getragen werden, Daten und begleitende Informationen enthalten, wie Kopfzeilen, Adressinformationen usw.
  • In verschiedenen Ausführungsformen kann die Kommunikation über die Kommunikationspfade 108 mit einem oder mehreren bestimmten Formaten oder Protokollen übereinstimmen. Beispielsweise kann die Kommunikation unter Verwendung des für USB-Daten durch die Spezifikation USB 1.x, 2.0, 3.x oder eine zukünftige USB-Spezifikation definierten Protokolls durchgeführt werden. Verschiedene Ausführungsformen der vorliegenden Offenbarung können mit einem beliebigen Signalgebungsprotokoll verwendet werden, das mehrere Kommunikationspfade für den Datentransfer enthält (wie Peripheral Component Interconnect Express (PCI-X), High-Definition Multimedia Interface (HDMI) oder ein anderes Protokoll mit mehreren Kommunikationspfaden). Obwohl die Offenbarung nicht darauf beschränkt ist, konzentrieren sich die hierin beschriebenen Ausführungsformen beispielhalber auf Implementierungen, die Kommunikationen betreffen, die mit dem USB-3.2-Protokoll und dem USB-Typ-C-Protokoll kompatibel sind. Die Spezifikationen vom USB-Typ-C-Protokoll beschreiben ein Verbindungsstück mit kleinem Formfaktor, das unter anderem zum Erkennen einer durchgehenden Befestigung/Abnahme, Einrichten einer Kabelausrichtung (z. B. ein umgedrehter oder verdrillter Zustand), Einrichten von Standard-Host-/Einrichtungs-Rollen, Verhandeln von Energiezufuhrmerkmalen (ein Kabel vom Typ C kann @ 12 V/20 V einen Strom bis zu 5 A tragen) und Bereitstellen eines Gastprotokolls über Konfigurationskanalpins verwendet werden kann.
  • 2 veranschaulicht eine Hosteinrichtung 202 in Kommunikation mit einer USB-Einrichtung 204 nach bestimmten Ausführungsformen. Die Hosteinrichtung 202 kann ein oder mehrere Merkmale der Hosteinrichtung 102 enthalten und die USB-Einrichtung 204 kann ein oder mehrere Merkmale der peripheren Einrichtung 104 enthalten. Die Hosteinrichtung 202 führt ein Betriebssystem 206 und einen eXtensible-Hoststeuerungsschnittstellen(xHCI)-Treiber 208 aus. Der Host enthält auch eine Zwischenverbindung 210, xHCI 212 und USB-PHY 214. In der gezeigten Ausführungsform enthält die USB-Einrichtung 204 eine USB-PHY 216 und eine eXtensible Einrichtungssteuerungsschnittstelle (xDCI) 218. Die Hosteinrichtung 202 und die USB-Einrichtung 204 können zusammen gekoppelt sein, über ein USB-Kabel und/oder jeweilige USB-Verbindungsstücke der Hosteinrichtung 202 und der USB-Einrichtung 204. Kommunikationspfade 220 (z. B 220A-D) können Daten zwischen USB-PHY 214 und USB-PHY 216 kommunizieren. Die Kommunikationspfade 220 können ein oder mehrere Merkmale der Kommunikationspfade 108 aufweisen.
  • Der xHCI-Treiber 208 ist ein Softwaretreiber, der dem Betriebssystem 206 ermöglichen kann, mit der xHCI 212 zu kommunizieren. Beispielsweise kann der Treiber 208 Befehle vom Betriebssystem 206 empfangen und die Befehle für xHCI 212 übersetzen oder anderweitig Kommunikationen auf Grundlage der empfangenen Befehle an xHCI 212 in einem mit xHCI 212 kompatiblen Format ausgeben. In einer Ausführungsform kann das Betriebssystem 206 den xHCI-Treiber 208 laden, wenn eine Einrichtung 204 an der Hosteinrichtung 202 angebracht ist. In verschiedenen Ausführungsformen kann der xHCI-Treiber 208 einen oder mehrere von einer Initialisierung von Registern und arbeitsspeicherbasierten Datenstrukturen für die xHCI 212, einer Abbildung von Transferanforderungen von Treibern einer höheren Schicht zur Anforderung von Blöcken, einer Einreichung von Anforderungen an die xHCI 212 und einen Empfang von dieser, einer Handhabung von Transferabschlussereignissen, einer Weiterleitung von Ereignissen zu einem Treiberstapel und einer Steuerung von xHCI-Einrichtungsschlitzen und Endpunktkontexten durchführen.
  • Die xHCI 212 kann an einen oder mehrere Prozessoren der Hosteinrichtung 202 über eine Schnittstelle anbinden. Die xHCI 212 kann die Sendung von Daten zwischen dem einen oder den mehreren Prozessoren und der USB-PHY 214 steuern. Dabei kann die xHCI 212 Daten puffern und einen Datenfluss zwischen der USB-PHY 214 und der Zwischenverbindung 210 ermöglichen. Die xHCI 212 kann mit beliebigen geeigneten Protokollen, wie USB 1.x, 2.0, 3.x oder zukünftigen USB-Standards kompatibel sein. In einigen Ausführungsformen sendet die xHCI 212 Unterbrechungen an den einen oder die mehreren Prozessoren, die anzeigen, dass es eine USB-Transaktion gibt, die gehandhabt werden muss. Die xHCI 212 kann auch einen kritischen Zustand in Verbindung mit einer Bus-Verwaltung (z. B. Bandbreitenzuteilung oder Adressenzuweisung) speichern.
  • Die Zwischenverbindung 210 kann eine beliebige geeignete Verschaltung zum Koppeln eines oder mehrerer Prozessoren und/oder anderer Verschaltung der Hosteinrichtung 202 an die xHCI 212 umfassen. Beispielsweise kann die Zwischenverbindung 210 einen oder mehrere einer chipinternen oder chipexternen Zwischenverbindungsfabric, eines Datenbusses oder einer anderen geeigneten Verschaltung umfassen.
  • Die Hosteinrichtung 202 enthält eine USB-PHY 214, um über eine Schnittstelle mit Kommunikationen von der xHCI 212 und einer entsprechenden USB-PHY 216 der USB-Einrichtung 204 zu koppeln. Die USB-PHY 214 kann ein USB-Protokoll und eine Signalgebung auf niedriger Ebene z. B. über eine elektrische Verbindung, eine Datenfehlererkennung und - korrektur, Scrambling, Datenserialisierung und Entserialisierung, Codierung und Decodierung (z. B. keine Rückkehr auf Null invertiert (NRZI) für USB2 oder 8b/10b für USB3), Taktdomänenverschiebung (z. B. von der USB-Rate zur Taktrate der Hosteinrichtung 202) und andere Funktionen in Verbindung mit der Kommunikation mit USB-Datenbussen bereitstellen. Die USB-PHY 214 kann beliebige geeignete Komponenten, wie Puffer, Serialisierer, Deserialisierer, Empfänger, Treiber, Multiplexer, Demultiplexer oder eine andere Verschaltung, enthalten.
  • Die USB-Einrichtung 204 enthält die USB-PHY 216, die ein beliebiges oder mehrere der in Bezug auf USB-PHY 214 beschriebenen Merkmale enthalten kann. Die USB-PHY 216 kann über eine Schnittstelle an einen Anschluss der USB-Einrichtung 204 und an die xDCI 218 koppeln. Die xDCI 218 kann ein oder mehrere der in Bezug auf die xHCI 212 beschriebenen Merkmale enthalten. Die xDCI 218 kann als eine Schnittstelle zwischen der USB-PHY 216 und einem oder mehreren Prozessoren oder einer anderen Verschaltung der USB-Einrichtung 204 fungieren.
  • Das USB-C-Protokoll definiert vier Kommunikationspfade 220 für einen Hochgeschwindigkeits-Datentransfer. In einem Beispiel kann ein USB-C-Verbindungsstück 24 Pins enthalten. Pins A2 (Tx1+) und A3 (Tx1-) können einen Pfad für einen ersten Kommunikationspfad 220A bereitstellen, Pins B2 (Tx2-) und B3 (Tx2+) können einen Pfad für einen zweiten Kommunikationspfad 220B bereitstellen, Pins A10 (Rx2-) und A11 (Rx2+) können einen Pfad für einen dritten Kommunikationspfad 220C bereitstellen und Pins B10 (Rx1-) und B11 (Rx1+) können einen Pfad für einen vierten Kommunikationspfad 220D bereitstellen. In einem Beispiel können die Kommunikationspfade in Signalleitungen gruppiert sein, die jeweils einen Sendepfad und einen Empfangspfad umfassen.
  • Aus der Perspektive der Hosteinrichtung sind die Kommunikationspfade 220A und 220B in einer typischen symmetrischen Operation als Tx-Pfade konfiguriert und die Kommunikationspfade 220C und 220D sind als Rx-Pfade konfiguriert. In verschiedenen Ausführungsformen ist mindestens einer der Rx-Pfade 220C oder 220D dynamisch als ein Tx-Pfad neu konfigurierbar und mindestens einer der Tx-Pfade 220A oder 220B ist dynamisch als ein Rx-Pfad neu konfigurierbar.
  • In verschiedenen Ausführungsformen kann eine Signalleitung, die einen Tx-Pfad und einen Rx-Pfad umfasst, als eine Konfigurationssignalleitung eingerichtet werden (und kann mit Signalleitung 0 bezeichnet werden). Zum Beispiel kann Signalleitung 0 an jedem Anschluss durch die von der USB-Typ-C-Spezifikation definierte CC-Pin-Decodierung eingerichtet werden. In verschiedenen Ausführungsformen wird die gesamte LFPS-Signalgebung und LBPM-Nachrichtenvermittlung über die Konfigurationssignalleitung kommuniziert (und nicht auf der anderen Signalleitung). In einer bestimmten Ausführungsform werden eine Verbindungserkennung und eine Anfangsgeschwindigkeitsverhandlung nur auf der Konfigurationssignalleitung durchgeführt. In einer bestimmten Ausführungsform werden die Kommunikationspfade der Konfigurationssignalleitung nicht dynamisch während einer dynamischen asymmetrischen Kommunikationspfadzuteilung als ein Tx- oder Rx-Pfad neu konfiguriert (vielmehr werden eine oder mehrere der anderen Signalleitungen neu konfiguriert).
  • Die USB-Verbindungsstücke der Hosteinrichtung 202 und der USB-Einrichtung 204 können auch eine zusätzliche Signalgebung aufnehmen, wie Kommunikationspfade für Konfiguration und Energie. Beispielsweise können CC-Signalleitungen bei der Entdeckung (z. B. Verbindungserkennung), Konfiguration und Verwaltung von Verbindungen über ein Kabel vom USB Typ-C verwendet werden. Auf Grundlage der Steckerausrichtung kann eine der CC-Signalleitungen zum Tragen von CC-Signalen verwendet werden, während (falls der USB-Stecker aktive Komponenten im Stecker enthält) die andere CC-Leitung an ein Vconn-Signal gekoppelt ist, um dem USB-Verbindungsstück Energie bereitzustellen. Die CC-Signalleitungen können Konfigurationsdaten für Energiemerkmale, Audiomerkmale (als ein Beispiel können die CC-Informationen die Verbindung für einen Audioadapterzubehörmodus konfigurieren, der mit Analog-Kopfhörern kompatibel ist), Videomerkmale, PCI-Merkmale, Andockstationsmerkmale oder andere mit der Verbindung zwischen den Einrichtungen assoziierte Merkmale bereitstellen. Beliebige andere geeignete Kommunikationspfade können von den Verbindungsstücken bereitgestellt werden.
  • 3 veranschaulicht einen Ablauf für eine dynamische asymmetrische Kommunikationspfadzuteilung für einen sendungsdominanten Datentransfer nach bestimmten Ausführungsformen. Der Ablauf zeigt Kommunikationen zwischen dem xHCI-Treiber 208, xHCI 212, USB-PHY 214, USB-PHY 216 und xDCI 218, obwohl der Ablauf für beliebige geeignete Komponenten einer Hosteinrichtung und einer peripheren Einrichtung angepasst werden kann. Beispielsweise können die mit dem xHCI-Treiber 208 assoziierten Funktionen und Merkmale auf einen beliebigen geeigneten Treiber für eine Kommunikationssteuerung angewandt werden, die mit der xHCI 212 oder der xDCI 218 assoziierten Funktionen und Merkmale können auf eine beliebige geeignete Kommunikationssteuerung angewandt werden und die mit der USB-PHY 214 oder der USB-PHY 216 assoziierten Funktionen und Merkmale können auf eine beliebige geeignete Verschaltung der Bitübertragungsschicht angewandt werden.
  • Der Ablauf nimmt an, dass die Kommunikationspfade 220 vor Beginn des Ablaufs in einer 2-Tx-2-Rx-Konfiguration (d. h. zwei Tx-Pfade, zwei Rx-Pfade) (oder einer von der gewünschten Konfiguration verschiedenen Konfiguration, wie 3-Rx-1-Tx) konfiguriert sind. Ein beliebiger geeigneter Auslöser kann eine Neukonfiguration eines oder mehrerer Kommunikationspfade 220 initiieren. Beispielsweise ein Transfer einer Datei zu oder von einer Speichereinrichtung, ein Transfer von anderen Daten (z. B. Video), eine Initialisierung einer Datenerfassungsprozedur (z. B. zur Datenerfassung durch eine Datenerfassungseinrichtung, z. B. ein Oszilloskop) oder ein anderes geeignetes Ereignis, das mit einem asymmetrischen Datenfluss assoziiert ist.
  • Bei 302 wird eine Anforderung zum Push einer Datei an die USB-Einrichtung 204 am xHCI-Treiber 208 erkannt. Als Beispiel kann die Anforderung durch einen Benutzer der Hosteinrichtung 202 generiert werden oder kann anderweitig über eine Anwendung oder ein Betriebssystem generiert werden, die bzw. das von der Hosteinrichtung ausgeführt wird. Die Anforderung kann beliebige geeignete Informationen enthalten, wie eines oder mehrere von einer Identifikation der Datei, die an die USB-Einrichtung 204 zu senden ist, eine Größe der Datei, eine mit dem Transfer assoziierte annehmbare Latenz, eine Position auf der USB-Einrichtung 204, auf der die Datei gespeichert werden soll, oder andere geeignete Informationen (oder beliebige dieser Informationen können als Reaktion auf die Anforderung erhalten werden).
  • Bei 304 kann der xHCI-Treiber 208 die Fähigkeit der USB-Einrichtung 204 prüfen, eine dynamische asymmetrische Kommunikationspfadzuteilung durchzuführen. Dieser Schritt kann auf beliebige geeignete Weise durchgeführt werden. In einigen Ausführungsformen pflegt der xHCI-Treiber 208 einen Konfigurationsraum, der einen Satz von Registern oder einen anderen Arbeitsspeicher in Bezug auf die Fähigkeiten der USB-Einrichtung 204 umfasst, die z. B. vor oder während einer Einrichtungsnummerierungsprozedur festgelegt werden, wenn die USB-Einrichtung 204 mit der Hosteinrichtung 202 verbunden wird (als nur ein Beispiel kann dieser Hinweis wie in Verbindung mit 8 unten beschrieben empfangen werden). Der xHCI-Treiber 208 kann eines oder mehrere dieser Register bei 304 prüfen, um zu ermitteln, ob die USB-Einrichtung 204 fähig ist, eine dynamische asymmetrische Kommunikationspfadzuteilung durchzuführen. Falls die USB-Einrichtung 204 nicht fähig ist, eine dynamische asymmetrische Kommunikationspfadzuteilung durchzuführen, dann kann die Richtung der Kommunikationspfade 220 unverändert bleiben. Falls die USB-Einrichtung 204 fähig ist, eine dynamische asymmetrische Kommunikationspfadzuteilung durchzuführen, dann geht der Ablauf zu 306.
  • Bei 306 erfolgt eine Ermittlung, ob eine dynamische asymmetrische Kommunikationspfadzuteilung durchzuführen ist. Bei 306 kann der xHCI-Treiber 208 mit der Anforderung assoziierte Informationen einsetzen, um zu ermitteln, ob es vorteilhaft wäre, die Richtung des einen oder der mehreren Kommunikationspfade zu ändern, um die bei 302 empfangene Anforderung zu erfüllen. Da es mit einer Änderung der Richtung von einem oder mehreren Kommunikationspfaden 220 verbundene Verzögerung gibt, falls die Datei relativ klein und/oder die Latenzanforderung streng ist, kann der xHCI-Treiber 208 ermitteln, die Richtung von einem oder mehreren Kommunikationspfaden 220 nicht zu ändern. In einer Ausführungsform kann der xHCI-Treiber ermitteln, ob die eingesparte Zeitmenge, die durch Transferieren der Datei über den/die zusätzlichen Kommunikationspfad(e) erwartet wird, größer als die Zeitmenge ist, die zum Neukonfigurieren der Richtung des/der Kommunikationspfad(e) erwartet wird. In einer bestimmten Ausführungsform kann die Ermittlung, ob die Richtung des/der Kommunikationspfad(e) zu wechseln ist, durch Einsetzen einer Nachschlagetabelle (z. B. unter Verwendung der Dateigröße und/oder einer Latenzanforderung zum Indizieren in die Nachschlagetabelle) oder einer einfachen Vergleichsoperation (z. B. einer Ermittlung, ob die Dateigröße über einem bestimmten Schwellenwert liegt) durchgeführt werden.
  • Bei 308 sendet der xHCI-Treiber 208 eine Anforderung, zu einer 3-Tx-1-Rx-Konfiguration zu wechseln, an die xHCI 212. Im gesamten Ablauf von 3 und 4, wenn eine Kommunikationspfadkonfiguration angegeben ist, wird sie aus der Perspektive der Hosteinrichtung 202 angegeben. Deshalb ist ein Pfad, der als ein Tx-Pfad gekennzeichnet ist, ein Pfad, auf dem die Hosteinrichtung 202 sendet, und ein Pfad, auf dem die USB-Einrichtung empfängt, und ein Pfad, der als ein Rx-Pfad gekennzeichnet ist, ist ein Pfad, auf dem die Hosteinrichtung 202 empfängt und die USB-Einrichtung sendet. Bei 310 sendet die xHCI dann ein Anschlusskonfigurations-Anbindungsverwaltungspaket (Anschlusskonfigurations-LMP) an die xDCI 218 der USB-Einrichtung 204 (dieses Paket durchläuft die USB-PHY 214 der Hosteinrichtung 202 und die USB-PHY 216 der USB-Einrichtung 204). Das Anschlusskonfigurations-LMP enthält eine Anforderung, die Kommunikationspfadzuteilung zu einer 1-Rx-3-Tx-Konfiguration zu wechseln. Deshalb konfigurieren die Hosteinrichtung 202 und die USB-Einrichtung 204 jeweils drei der Kommunikationspfade zu Tx und einen zu Rx. In einer bestimmten Ausführungsform kann die xHCI 212 eine Anbindungsschicht der Hosteinrichtung 202 anweisen, die Anschlusskonfigurations-LMP-Nachricht zu initiieren. Ein beispielhaftes Anschlusskonfigurations-LMP wird ausführlicher in Verbindung mit 5 beschrieben. In einigen Ausführungsformen kann einige Zeit, bevor ein Anschlusskonfigurations-LMP gesendet wird, ein Anschlussfähigkeits-LMP zwischen der Hosteinrichtung 202 und der USB-Einrichtung 204 ausgetauscht werden, um den vorgeschalteten Anschluss und den nachgeschalteten Anschluss festzulegen.
  • In anderen Ausführungsformen kann die Anforderung, die Kommunikationspfadkonfiguration zu wechseln, über andere Nachrichten gesandt werden. Als ein Beispiel kann die Anforderung innerhalb einer geordneten Menge ausgebildet sein, die zum Training der Kommunikationspfade verwendet wird, anstatt innerhalb eines LMP. Eine derartige Ausführungsform wird ausführlicher in Verbindung mit 7 beschrieben.
  • Bei 312 sendet die xDCI 218 eine Bestätigung als Reaktion auf die Anforderung einer Neukonfiguration. In einer bestimmten Ausführungsform kann die ACK ein Anschlusskonfigurations-Antwort-LMP oder eine andere geeignete Nachricht umfassen, die anzeigt, dass die angeforderte Konfiguration annehmbar ist. Ein beispielhaftes Anschlusskonfigurations-Antwort-LMP wird ausführlicher in Verbindung mit 6 beschrieben.
  • Bei 314 weist die xHCI 212 die USB-PHY 214 der Hosteinrichtung 202 an, sich selbst in einer 3-Tx-x-1-Rx-Pfadkonfiguration zu konfigurieren. Bei 316 weist die xDCI 218 die USB-PHY 216 der USB-Einrichtung 204 an, eine 3-Tx-x-1-Rx-Pfadkonfiguration zu konfigurieren. Falls die Kommunikationspfade in einer 2-Rx-x-2-Tx-Pfadkonfiguration konfiguriert sind, können USB-PHY 214 und USB-PHY 216 jeweils einen Kommunikationspfad 220 von einem Rx-Pfad zu einem Tx-Pfad neu konfigurieren. Eine Hosteinrichtung 202 (z. B. über eine USB-PHY 214 oder eine andere Verschaltung) und eine USB-Einrichtung 204 (z. B. über eine USB-PHY 216 oder eine andere Verschaltung) können einen Kommunikationspfad auf eine beliebige geeignete Weise neu konfigurieren. In verschiedenen Ausführungsformen kann eine Neukonfiguration eines Kommunikationspfads eines oder mehrere aus einem Aktivieren von Verschaltung (z. B. eines oder mehrerer Treiber, Puffer, von Ausgleichsschaltkreisen oder anderer geeigneter Verschaltung), Deaktivieren von Verschaltung, Zusammenkoppeln von Verschaltung (z. B. über Multiplexer, Schalter oder eine andere Verschaltung), Entkoppeln von Verschaltung voneinander oder anderen geeigneten Neukonfigurationstechniken umfassen. In einer bestimmten Ausführungsform, wenn ein Kommunikationspfad die Richtung ändert, können die Ausgleichseinstellungen von einem Kommunikationspfad, der sich in der Nähe des umgeschalteten Kommunikationspfads befindet, für den umgeschalteten Kommunikationspfad eingesetzt werden (sodass ein Ermittlungsprozess der Ausgleichseinstellungen für den umgeschalteten Kommunikationspfad weggelassen werden kann). Falls zum Beispiel ein Tx-Pfad einer Signalleitung, die einen Tx-Pfad und einen Rx-Pfad umfasst, zu einem Rx-Pfad umgeschaltet wird, kann die Ausgleichseinstellung vom Rx-Pfad der Signalleitung für den Empfänger wiederverwendet werden.
  • Bei 318 sendet die USB-PHY 214 der Hosteinrichtung 202 eine direkte Wiederherstellungs- und Anbindungstrainingsanforderung an die USB-PHY 216 der USB-Einrichtung 204. Diese Anforderung kann die USB-Einrichtung 204 anweisen, in einen Wiederherstellungszustand zu treten und die Anbindung neu zu trainieren (wenn die Anbindung die Kommunikationspfade 220 umfasst). In einer bestimmten Ausführungsform kann die USB-PHY 216 geordnete Mengen zum Neutrainieren einer Anbindung einsetzen. Beispielsweise definiert die USB-3.2-Spezifikation geordnete Trainingsmengen TS1 und TS2. Trainingspakete, die diese Mengen enthalten, können über die Kommunikationspfade der Anbindung ausgetauscht werden, um Empfängerverschaltung zu kalibrieren. Diese Trainingsmengen werden ausführlicher in Verbindung mit 7 beschrieben.
  • Bei 320 können Daten der via Push zu übertragenden Datei der xHCI 212 verfügbar gemacht werden (z. B. können sie in einen oder mehrere für die xHCI 212 zugängliche Puffer kopiert werden). Bei 322 wird ein Massendatentransfer (z. B. über ein Paket), der einen Abschnitt der Datei umfasst, von der xHCI 212 über jeweilige USB-PHYs zur xDCI 218 gesandt. Das Paket kann aufgeteilt und über alle drei Tx-Pfade gleichzeitig gesendet werden (oder separate Pakete können gleichzeitig auf jedem Tx-Pfad gesendet werden). Ein Beispiel eines Pakets, das via Striping auf drei Tx-Pfade aufgeteilt ist, wird unten in Verbindung mit FIG. beschrieben. Bei 324 sendet die xDCI 218 der xHCI 212 eine Bestätigung, dass der Abschnitt der Datei (z. B. das Paket) empfangen wurde (z. B. über ein ACK-Transaktionspaket). Die Bestätigung kann auf dem Rx-Pfad gesendet werden. In verschiedenen Ausführungsformen können Bestätigungen für Daten, die über die drei Tx-Pfade gesendet werden, auf einem einzelnen Rx-Pfad gesendet werden. In einigen Ausführungsformen muss der Sender (in diesem Fall die Hosteinrichtung 202) aufgrund der Tatsache, dass ein erweiterter SuperSpeed-Bus unabhängige Sende- und Empfangspfade aufweist, vor dem Senden des nächsten Pakets nicht auf die explizite Bestätigung für jedes transferierte Datenpaket warten. Eine beliebige Anzahl von Transfers und Bestätigungen kann gesendet werden, bis die gesamte Datei von der Hosteinrichtung 202 zur USB-Einrichtung 204 transferiert worden ist.
  • Sobald der Dateitransfer abgeschlossen ist, kann die xHCI 212 den xHCI-Treiber 208 bei 326 benachrichtigen. In verschiedenen Ausführungsformen, sobald der Datentransfer abgeschlossen ist, kann das System automatisch zurück zu einer 2-Tx-2-Rx-Pfadkonfiguration wechseln. In anderen Ausführungsformen kann das System in einer 3-Tx-1-Rx-Pfadkonfiguration bleiben, bis ein Auslöser erkannt wird (der Auslöser kann z. B. anzeigen, dass eine 2-Tx-2-Rx- oder eine 1-Tx-3-Rx-Pfadkonfiguration bevorzugt ist).
  • Der Ablauf zeigt das System, das zurück in eine 2-Tx-2-Rx-Pfadkonfiguration übergeht. Die Operationen sind im Allgemeinen den Operationen ähnlich, die bei einem Übergang zur 3-Tx-1-Rx-Konfiguration involviert sind. Beispielsweise können die Operationen 328 bis 338 den Operationen 308 bis 318 analog sein.
  • Einige der in 3 veranschaulichten Operationen können wiederholt, kombiniert, modifiziert oder gelöscht werden, wo angemessen, und zusätzliche Operationen können auch zum Ablaufdiagramm hinzugefügt werden. Zusätzlich können Operationen in einer beliebigen geeigneten Reihenfolge durchgeführt werden, ohne vom Geltungsbereich der bestimmen Ausführungsformen abzuweichen. Die Reihenfolge der Operationen 306 und 304 kann zum Beispiel umgekehrt sein. Als ein weiteres Beispiel kann jede der Operationen 304 und 306 weggelassen werden. Die Reihenfolge der Operationen 312, 314 und 316 kann auch geändert werden. Andere Variationen werden von dieser Offenbarung erwogen.
  • 4 veranschaulicht einen Ablauf für eine dynamische asymmetrische Kommunikationspfadzuteilung für einen empfangsdominanten Datentransfer nach bestimmten Ausführungsformen. Der Ablauf zeigt Kommunikationen zwischen dem xHCI-Treiber 208, xHCI 212, USB-PHY 214, USB-PHY 216 und xDCI 218, obwohl der Ablauf für beliebige geeignete Komponenten einer Hosteinrichtung und einer peripheren Einrichtung angepasst werden kann. Beispielsweise können die mit dem xHCI-Treiber 208 assoziierten Funktionen und Merkmale auf einen beliebigen geeigneten Treiber für eine Steuerung angewandt werden, die mit der xHCI oder der xDCI assoziierten Funktionen und Merkmale können auf eine beliebige geeignete Steuerung angewandt werden und die mit der USB-PHY 214 oder der USB-PHY 216 assoziierten Funktionen und Merkmale können auf eine beliebige geeignete Verschaltung der Bitübertragungsschicht angewandt werden. Der Ablauf nimmt an, dass die Kommunikationspfade vor Beginn des Ablaufs in einer 2-Tx-2-Rx-Konfiguration (oder einer anderen Konfiguration, wie 3-Tx-1-Rx) konfiguriert sind.
  • Bei 402 empfängt der xHCI-Treiber 208 einen Hinweis, dass eine Datenerfassung initiiert wurde. Bei 404 kann der xHCI-Treiber 208 die Fähigkeit der USB-Einrichtung 204 prüfen, eine dynamische asymmetrische Kommunikationspfadzuteilung durchzuführen. Falls die USB-Einrichtung 204 nicht fähig ist, eine dynamische asymmetrische Kommunikationspfadzuteilung durchzuführen, dann kann die Richtung der Kommunikationspfade 220 unverändert bleiben. Falls die USB-Einrichtung 204 fähig ist, eine dynamische asymmetrische Kommunikationspfadzuteilung durchzuführen, dann geht der Ablauf zu 406. Bei 406 kann der xHCI-Treiber 208 auf Grundlage von beliebigen geeigneten Informationen, die mit der Anforderung zum Initiieren einer Datenerfassung assoziiert sind, ermitteln, die Kommunikationspfade 220 dynamisch auf asymmetrische Weise (z. B. in einer 3-Rx-1-Tx-Konfiguration) zuzuteilen.
  • Bei 408 sendet der xHCI-Treiber 208 eine Anforderung, zu einer 3-Rx-1-Tx-Konfiguration zu wechseln, an die xHCI 212. Bei 310 sendet die xHCI dann ein Anschlusskonfigurations-LMP an die xDCI 218 der USB-Einrichtung 204 (diese Nachricht durchläuft die USB-PHY 214 der Hosteinrichtung 202 und die USB-PHY 216 der USB-Einrichtung 204). Das Anschlusskonfigurations-LMP enthält eine Anforderung, die Kommunikationspfadkonfiguration zu einer 3-Rx-1-Tx-Konfiguration zu wechseln. Deshalb konfigurieren die Hosteinrichtung 202 und die USB-Einrichtung 204 drei der Kommunikationspfade als Rx und einen als Tx. In anderen Ausführungsformen kann die Anforderung, die Kommunikationspfadkonfiguration zu wechseln, auf eine beliebige andere geeignete Weise versandt werden (z. B. als ein eingebetteter Hinweis innerhalb eines Trainingssatzes).
  • Bei 412 sendet die xDCI 218 eine Bestätigung als Reaktion auf die Anforderung einer Neukonfiguration. In einer bestimmten Ausführungsform kann die ACK ein Anschlusskonfigurations-Antwort-LMP oder eine andere geeignete Nachricht umfassen, die anzeigt, dass die angeforderte Konfiguration annehmbar ist.
  • Bei 414 weist die xHCI 212 die USB-PHY 214 der Hosteinrichtung 202 an, sich selbst in einer 1-Tx-x-3-Rx-Pfadkonfiguration zu konfigurieren. Bei 416 weist die xDCI 218 die USB-PHY 216 der USB-Einrichtung 204 an, sich selbst in einer 1-Tx-x-3-Rx-Pfadkonfiguration zu konfigurieren. Falls die Kommunikationspfade vorher in einer 2-Rx-x-2-Tx-Pfadkonfiguration konfiguriert waren, können USB-PHY 214 und USB-PHY 216 einen bestimmten Kommunikationspfad 220 von einem Tx-Pfad zu einem Rx-Pfad neu konfigurieren. Falls die Kommunikationspfade vorher in einer 3-Tx-x-1-Rx-Pfadkonfiguration konfiguriert waren, dann können zwei Kommunikationspfade von Tx-Pfaden zu Rx-Pfaden umgeschaltet werden.
  • Bei 418 sendet die USB-PHY 214 der Hosteinrichtung 202 eine direkte Wiederherstellungs- und Anbindungstrainingsanforderung an die USB-PHY 216 der USB-Einrichtung 204. Diese Anforderung kann die USB-PHY 216 anweisen, in einen Wiederherstellungszustand zu treten und die Anbindung neu zu trainieren.
  • Bei 420 sendet der xHCI-Treiber 208 eine Anforderung an die xDCI 218, um einen Datentransfer zu starten. Bei 422 transferiert die xDCI 218 von der USB-Einrichtung 204 erfasste Daten (z. B. in einem Datenpaket) zur xHCI 212. Bei 423 werden die zugrunde liegenden Daten des Datentransfers dem xHCI-Treiber 208 durch die xHCI 212 bereitgestellt. Obwohl nicht gezeigt, kann der xHCI-Treiber 208 diese Daten dem Betriebssystem oder einer von der Hosteinrichtung 202 ausgeführten Anwendung zur Verfügung stellen. Die xHCI 212 antwortet bei 424 auf den Datentransfer mit einer Bestätigungsnachricht. Die Operationen 422, 423 und 424 können eine beliebige Anzahl von Malen wiederholt werden.
  • In einer bestimmten Ausführungsform können unterschiedliche Abschnitte eines Pakets des Datentransfers bei 422 über alle drei Rx-Pfade gleichzeitig gesendet werden (oder separate Pakete können auf jedem Rx-Pfad gleichzeitig gesendet werden). Die Bestätigung bei 424 kann auf dem Tx-Pfad gesendet werden. In verschiedenen Ausführungsformen können Bestätigungen für Daten, die über die drei Rx-Pfade gesendet werden, auf einem einzelnen Tx-Pfad gesendet werden. In einigen Ausführungsformen muss der Sender (in diesem Fall die USB-Einrichtung 204) aufgrund der Tatsache, dass der erweiterte SuperSpeed-Bus unabhängige Sende- und Empfangspfade aufweist, vor dem Senden des nächsten Pakets nicht auf die explizite Bestätigung für jedes transferierte Datenpaket warten.
  • Bei 426 wird ein Befehl zum Anhalten der Datenerfassung am xHCI-Treiber 208 empfangen. In der gezeigten Ausführungsform initiiert der xHCI-Treiber 208 eine Prozedur, um die Kommunikationspfadkonfiguration zu 2-Tx-2-Rx zurückzubringen. Die Operationen sind allgemein den oben besprochenen Operationen ähnlich. In anderen Ausführungsformen kann der xHCI-Treiber warten, bis ein weiterer Befehl, der mit einem Datentransfer assoziiert ist, empfangen wird, bevor er eine Kommunikationspfadneukonfiguration initiiert (z. B., falls eine Datenerfassung wieder für die USB-Einrichtung 204 initiiert wird, wäre es vorteilhaft, in der 3-Rx-1-Tx-Konfiguration zu verbleiben, aber falls eine symmetrischere Datentransferoperation initiiert wird, kann der xHCI-Treiber 208 die Konfiguration zu einer 2-Tx-2-Rx-Konfiguration umschalten).
  • Beliebige andere geeignete Auslöser können verwendet werden, um die Kommunikationspfadneukonfiguration für einen empfangsdominanten Transfer zu initiieren. Als ein weiteres Beispiel, kann der xHCI-Treiber 208 eine Benachrichtigung empfangen, dass eine Datei zur Hosteinrichtung 202 zu transferieren ist. In derartigen Fällen kann der xHCI-Treiber 208 ermitteln, ob es vorteilhaft wäre, zu einer 3-Rx-1-Tx-Pfadkonfiguration zu wechseln (z. B. auf eine der oben in Verbindung mit 306 von 3 beschriebenen ähnlichen Weise). In einer anderen Ausführungsform kann die USB-Einrichtung 204 die dynamische Kommunikationspfadneukonfiguration initiieren (z. B. durch Senden einer Anforderung von der xDCI 218 zur xHCI 212).
  • Einige der in 4 veranschaulichten Operationen können wiederholt, kombiniert, modifiziert oder gelöscht werden, wo angemessen, und zusätzliche Schritte können auch zum Ablaufdiagramm hinzugefügt werden. Zusätzlich können Operationen in einer beliebigen geeigneten Reihenfolge durchgeführt werden, ohne vom Geltungsbereich der bestimmen Ausführungsformen abzuweichen.
  • 5 veranschaulicht ein Anschlusskonfigurations-LMP-Format 500 nach bestimmten Ausführungsformen. Wie oben beschrieben kann das Anschlusskonfigurations-LMP von einer Hoststeuerung (z. B. der xHCI 212) an eine Einrichtungssteuerung (z. B. die xDCI 218) gesendet werden, um eine Kommunikationspfadneukonfiguration anzufordern.
  • In der gezeigten Ausführungsform umfasst das Anschlusskonfigurations-LMP vier Doppelworte DWORD 0 bis DWORD 3. In der gezeigten Ausführungsform enthält DWORD 0 ein Anbindungsgeschwindigkeits-Feld 502, das 7 Bits umfasst, beginnend mit einem Offset von 9 Bits ab dem Beginn von DWORD 0. In verschiedenen Ausführungsformen können zwei der Bits des Anbindungsgeschwindigkeits-Felds 502 verwendet werden, um die gewünschte Kommunikationspfadkonfiguration zu definieren. Als ein Beispiel kann ein Wert von 00 eine 2-Tx-2-Rx-Konfiguration repräsentieren, 01 kann eine 3-Rx-1-Tx-Konfiguration repräsentieren und 10 kann eine 3-Tx-1-Rx-Konfiguration repräsentieren (in anderen Ausführungsformen können die Konfiguration auf eine beliebige andere geeignete Weise auf die Werte abgebildet sein). Beliebige zwei der Bits des Anbindungsgeschwindigkeits-Felds 502 können verwendet werden, um die gewünschte Kommunikationspfadkonfiguration zu bezeichnen. In einem Beispiel können Bits 1 und 2 des Anbindungsgeschwindigkeits-Felds 502 (Bits 10 und 11 des DWORD 0) verwendet werden, um die gewünschte Kommunikationspfadkonfiguration zu bezeichnen. In einigen Ausführungsformen kann das Bit 0 des Anbindungsgeschwindigkeits-Felds 502 verwendet werden, um eine Anbindungsgeschwindigkeit für einen vorgeschalteten Anschluss zu beschreiben.
  • In anderen Ausführungsformen kann eine beliebige geeignete Anzahl von Bits des Anbindungsgeschwindigkeits-Felds 502 verwendet werden, um die gewünschte Kommunikationspfadkonfiguration zu bezeichnen. Beispielsweise können in einem 1-aus-n-Codierschema verwendet werden, um eine von einer 2-Tx-2-Rx-, 3-Rx-1-Tx- oder 3-Tx-1-Rx-Pfadkonfiguration zu bestimmen. In anderen Ausführungsformen können beliebige der reservierten Bits des Anschlusskonfigurations-LMP verwendet werden, um die gewünschte Kommunikationspfadkonfiguration zu bestimmen. Beispielsweise können beliebige der Bits 16:31 von DWORD 0, beliebige der Bits von DWORD 2 oder DWORD 3 oder beliebige der Bits 16:31 von DWORD 3 verwendet werden, um die Kommunikationspfadkonfiguration zu bestimmen.
  • 6 veranschaulicht ein Anschlusskonfigurations-Antwort-LMP-Format 600 nach bestimmten Ausführungsformen. In einer bestimmten Ausführungsform kann eine Bestätigung für eine gewünschte Kommunikationspfadkonfiguration eines Anschlusskonfigurations-LMP im Anschlusskonfigurations-Antwort-LMP enthalten sein.
  • In der gezeigten Ausführungsform umfasst das Anschlusskonfigurations-Antwort-LMP vier Doppelworte DWORD 0 bis DWORD 3. In der gezeigten Ausführungsform enthält DWORD 0 ein Antwortcode-Feld 602, das 7 Bits umfasst, beginnend mit einem Offset von 9 Bits ab dem Beginn von DWORD 0. In verschiedenen Ausführungsformen kann ein Bit des Antwortcode-Felds 602 verwendet werden, um die gewünschte Kommunikationspfadkonfiguration zu bestätigen. Beispielsweise kann die USB-Einrichtung 204 dieses Bit setzen, falls die gewünschte Kommunikationspfadkonfiguration akzeptabel ist oder das Bit nicht gesetzt lassen, falls die gewünschte Kommunikationspfadkonfiguration nicht akzeptabel ist. In einer bestimmten Ausführungsform kann Bit 0 des Antwortcode-Felds 602 (Bit 9 von DWORD 0) verwendet werden, um die gewünschte Kommunikationspfadkonfiguration zu bestätigen. In einer bestimmten Ausführungsform kann Bit 0 des Antwortcode-Felds 602 auch verwendet werden, um zu bestätigen, dass eine vom Anschlusskonfigurations-LMP bestimmte Geschwindigkeit akzeptabel ist. Falls deshalb Bit 0 nicht gesetzt ist, kann die USB-Einrichtung 204 anzeigen, dass mindestens entweder die Geschwindigkeit und/oder die Kommunikationspfadkonfiguration, die vom Anschlusskonfigurations-LMP bestimmt sind, nicht akzeptabel sind. In einer anderen Ausführungsform kann ein Bit (z. B. Bit 0) des Antwortcode-Felds 602 verwendet werden, um die Geschwindigkeit zu bestätigen und ein separates Bit des Antwortcode-Felds 602 kann verwendet werden, um die gewünschte Kommunikationspfadkonfiguration zu bestätigen.
  • Ein oder mehrere beliebige Bits des Anschlusskonfigurations-Antwort-LMP können verwendet werden, um die gewünschte Kommunikationspfadkonfiguration zu bestätigen. Beispielsweise können beliebige der Bits des Antwortcode-Felds 602 oder beliebige der anderen Bits, die im Format 600 als reserviert gezeigt sind, verwendet werden, um die gewünschte Kommunikationspfadkonfiguration zu bestätigen.
  • 7 veranschaulicht Unterzustände eines Wiederherstellungszustands nach bestimmten Ausführungsformen. In einer bestimmten Ausführungsform können die Hosteinrichtung 202 und die USB-Einrichtung 204 jeweils eine Anbindungstrainings- und Statuszustandsmaschine (LTSSM) implementieren, die in einer bestimmten Ausführungsform 12 unterschiedliche Anbindungszustände enthalten kann, einschließlich von 4 Betriebsanbindungszuständen (U0, U1, U2 und U3) und vier Anbindungszuständen zur Anbindungsinitialisierung und zum Training (Rx.Erkennung, Abfragen, Wiederherstellung und Rücksetzen im Betrieb). In verschiedenen Ausführungsformen kann eine Einrichtungsnummerierung (die eine Ermittlung von Fähigkeiten der USB-Einrichtung 204 enthalten kann) im U0-Zustand stattfinden.
  • Die Zustandsmaschine 700 zeigt verschiedene Unterzustände des Wiederherstellungs-Zustands. Der Wiederherstellungs-Zustand kann ein Anbindungszustand sein, der zum erneuten Training der Anbindung definiert ist (wenn z. B. zwei Anbindungspartner einen Niedrigenergie-Anbindungszustand verlassen, wenn ein Anbindungspartner erkannt hat, dass die Anbindung in U0 nicht richtig arbeitet, wenn ein Anbindungspartner entscheidet, den Modus der Anbindungsoperation zu ändern oder wenn ein Anbindungspartner entscheidet, die Kommunikationspfadkonfiguration zu ändern). In verschiedenen Ausführungsformen kann der Zustand der LTSSM einer Hosteinrichtung 202 als Reaktion auf einen Auslöser angewiesen werden, sich von U0 zu Wiederherstellung zu bewegen, was zu einer Kommunikationspfadneukonfiguration wie oben beschrieben führt (die Hosteinrichtung 202 kann z. B. nach 314 in den Wiederherstellungszustand treten, wenn die USB-PHY 214 angewiesen wird, eine Kommunikationspfadkonfiguration zu wechseln, und die USB-Einrichtung 204 kann nach 316 in den Wiederherstellungszustand treten, nachdem die USB-PHY 216 angewiesen wird, die Kommunikationspfadkonfiguration zu wechseln).
  • Nach dem Eintritt in den Wiederherstellungszustand bewegt sich die Zustandsmaschine in den Wiederherstellung. Aktiv-Unterzustand. Während dieses Unterzustands können eine oder mehrere geordnete Trainingsmengen (z. B. TS1 oder TS2) über die Anbindung ausgetauscht werden. Im Allgemeinen ermöglichen TS1 und TS2 ein Training von Sender und Empfänger über die Kommunikationspfade, wie z. B. eine Bitsperre, Blockausrichtung, Symbolsperre, Signalleitungspolaritätsinvertierung und Rx-Ausgleichstrainings. Nach erfolgreichem Empfang einer geordneten Trainingsmenge kann die Zustandsmaschine in den Zustand Wiederherstellung. Konfiguration übergehen. Nach einem erfolgreichen Handshake geht die Zustandsmaschine zu Wiederherstellung.Leerlauf über. Aus diesem Unterzustand kann in neue Unterzustände (z. B. Wiederherstellung.SignalleitungsNeutrainingl, Wiederherstellung. SignalleitungsNeutraining2 und Wiederherstellung.SignalleitungsNeutrainingLeerlauf) übergegangen werden. Die zusätzlichen Zustände können eine asymmetrische Kommunikationspfadkonfiguration ermöglichen und gleichzeitig eine Rückwärtskompatibilität beibehalten.
  • In einer bestimmten Ausführungsform ist eine gewünschte Kommunikationspfadkonfigurationseinstellung innerhalb der geordneten Menge TS1 oder TS2 während des Trainings der Anbindung in den Unterzuständen Wiederherstellung. Aktiv oder Wiederherstellung.Konfiguration eingebettet. Beispielsweise können zwei oder mehr Bits von einem oder mehreren Symbolen von TS1 oder TS2 verwendet werden, um eine asymmetrische Kommunikationspfadkonfiguration zu übermitteln. Als ein Beispiel enthalten Bits 6 und 7 von Symbol 5 von TS2 zwei reservierte Bits, die verwendet werden können, um die Kommunikationspfadkonfiguration zu übermitteln. In anderen Ausführungsformen können beliebige geeignete Bits von TS1, TS2 oder einer anderen Trainingsmenge verwendet werden, um die asymmetrische Kommunikationspfadkonfiguration zu übermitteln. In einer bestimmten Ausführungsform bestimmen die zwei Bits, welcher Kommunikationspfad eines Paars von Kommunikationspfaden (z. B. eine Signalleitung, die keine Konfigurationssignalleitung ist) von Tx zu Rx oder umgekehrt umgeschaltet wird.
  • In einer bestimmten Ausführungsform kann eine Erkennung der Kommunikationspfadkonfigurationseinstellung in einer der geordneten Mengen bewirken, dass die USB-Einrichtung 204 sich selbst neu konfiguriert, um mit der gewünschten Kommunikationspfadkonfigurationseinstellung übereinzustimmen. Beispielsweise kann die Neukonfiguration im Wiederherstellung. Leerlauf-Unterzustand durchgeführt werden und danach kann die Zustandsmaschine in den Unterzustand Wiederherstellung.SignalleitungsNeutrainingl übergehen.
  • Das Anbindungstraining kann dann in der neuen Konfiguration neu durchgeführt werden (z. B. unter Verwendung der geordneten Mengen TS1 und TS2). Nachdem TS1 ausgetauscht wurde, kann die Zustandsmaschine in den Unterzustand Wiederherstellung. SignalleitungsNeutraining2 übergehen, und nachdem TS2 ausgetauscht wurde, kann die Zustandsmaschine in den Unterzustand Wiederherstellung. SignalleitungsNeutrainingLeerlauf übergehen. Danach kann die Zustandsmaschine in den Zustand U0 zurückkehren, z. B. nach einem Handshake mit leeren Paketen.
  • In verschiedenen Ausführungsformen, wenn die gewünschte Kommunikationspfadkonfigurationseinstellung in einem Anschlusskonfigurations-LMP enthalten ist (anstatt in einer geordneten Trainingsmenge eingebettet zu sein), werden die in der Wiederherstellungs-Zustandsmaschine gezeigten Unterzustände nicht eingesetzt. Vielmehr treten sowohl die Hosteinrichtung 202 als auch die USB-Einrichtung 204 in den Wiederherstellungszustand, nachdem das Anschlusskonfigurations-LMP und das Anschlusskonfigurations-Antwort-LMP gesandt wurden, und das Training wird auf normale Weise durchgeführt.
  • 8 veranschaulicht eine Tabelle 800 mit beispielhaften Werten und entsprechenden Konfigurationen für eine Pulsweitenmodulationsnachricht (PWM-Nachricht) auf Grundlage einer periodischen PHY-Fähigkeits-Niederfrequenz-Signalgebung (LFPS) (PHY-Fähigkeits-LBPM) nach bestimmten Ausführungsformen. In verschiedenen Ausführungsformen kann eine PHY-Fähigkeits-LBPM von der USB-Einrichtung 204 verwendet werden, um die Hosteinrichtung 202 über die Fähigkeit der USB-Einrichtung 204 zum Implementieren einer dynamischen asymmetrischen Kommunikationspfadzuteilung zu informieren. Diese Benachrichtigung kann verwendet werden, um die Kommunikationspfade in einer asymmetrischen Konfiguration zu initialisieren, oder sie kann verwendet werden, um die Hosteinrichtung 202 zu benachrichtigen, dass die USB-Einrichtung 204 fähig ist, eine dynamische asymmetrische Kommunikationspfadkonfiguration zu implementieren (und die Hosteinrichtung 202 kann einen Hinweis auf die Fähigkeit zur späteren Bezugnahme speichern), aber die Pfadkonfiguration kann bei der Initialisierung symmetrisch sein.
  • Die PHY-Fähigkeits-LBPM kann ausgetauscht werden, wenn die Anbindung eingeschaltet ist, z. B. im Unterzustand Abfragen. AnschlussAnpassung. In einer Ausführungsform kann die PHY-Fähigkeits-LBPM von jeder Einrichtung ausgetauscht werden (d. h. von der Hosteinrichtung 202 und der USB-Einrichtung 204), um über die höchste gemeinsame PHY-Fähigkeit zwischen der Hosteinrichtung 202 und der USB-Einrichtung 204 zu entscheiden. In einigen Ausführungsformen kann dieser Austausch stattfinden, wenn eine periphere Einrichtung mit einer Hosteinrichtung vor einer Einrichtungsnummerierungsprozedur verbunden wird.
  • Beliebige geeignete Bits der PHY-Fähigkeits-LBPM können verwendet werden, um eine asymmetrische Kommunikationspfadkonfigurations-Fähigkeit anzuzeigen. In der gezeigten Ausführungsform ist Bit 7 der PHY-Fähigkeits-LBPM gesetzt, wenn die sendende Einrichtung zu einer asymmetrischen Kommunikationspfadoperation fähig ist. In einer bestimmten Ausführungsform kann die PHY-Fähigkeits-LBPM auch eine anfängliche Kommunikationspfadkonfiguration angeben. Beispielsweise gibt in der gezeigten Ausführungsform Bit 6 die anfängliche Kommunikationspfadkonfiguration an. In diesem Beispiel kann ein gesetzter Wert für Bit 6 eine 3-Tx-1-Rx-Pfadkonfiguration angeben, während ein nicht gesetzter Wert für Bit 6 eine 3-Rx-1-Tx-Pfadkonfiguration angeben kann. In anderen Ausführungsformen können beliebige geeignete Werte des PHY-Fähigkeits-LBPM verwendet werden, um eine asymmetrische Kommunikationspfadkonfigurationsfähigkeit und/oder eine anfängliche asymmetrische Kommunikationspfadkonfiguration anzugeben. In einer bestimmten Ausführungsform kann eine asymmetrische Kommunikationspfadfähigkeit einen Rang aufweisen, der unter den PHY-Fähigkeiten am höchsten ist, die in der PHY-Fähigkeits-LBPM angegeben werden können (sodass, falls beide Einrichtungen die asymmetrische Kommunikationspfadkonfiguration unterstützen, die Pfade auf die angegebene Konfiguration initialisiert werden). In der gezeigten Ausführungsform bedeutet „Gen x“ Gen-1- oder Gen-2-Geschwindigkeit.
  • 9 veranschaulicht ein Daten-Striping-Beispiel für eine asymmetrische Kommunikationspfadzuteilung nach bestimmten Ausführungsformen. In der gezeigten Ausführungsform repräsentiert jede Einheit, die mit einem H beginnt (z. B. H0, H1, H2, ...) einen Abschnitt eines Kopfes, während jede Einheit, die mit einem S beginnt (z. B. S0, S1, S2, ...) einen Abschnitt eines Datensymbols repräsentiert (wobei ein Paket mehrere Datensymbole umfassen kann). In verschiedenen Ausführungsformen sind über drei Tx-Pfade gesendete Datensymbole auf die gleiche Weise wie Datensymbole ausgerichtet, die über zwei Tx-Pfade gesendet werden. In einer bestimmten Ausführungsform kann Daten-Striping auf einen Tx-Pfad von Signalleitung 0 ausgerichtet sein, die in einigen Ausführungsformen eine Konfigurationssignalleitung sein kann (das heißt, Symbol 0 wird über Tx-Pfad 0 der Signalleitung 0 gesendet und nachfolgende Symbole werden über die anderen Tx-Pfade gesendet, danach wird Symbol 3 über Tx-Pfad 0 von Signalleitung 0 gesendet und so weiter). In einer bestimmten Ausführungsform werden Datenblöcke via Striping über die Tx-Pfade verteilt, aber die Steuerblöcke nicht (vielmehr werden Steuerblöcke auf allen Tx-Pfaden dupliziert). In verschiedenen Ausführungsformen kann eine Sendung von Paketen und Anbindungsbefehlen einschließlich von Rahmensymbolen auf beliebigen der drei Tx-Pfade initiiert werden. Beispielsweise kann eine Sendung des letzten Bytes eines Datenpakets über den Tx-Pfad 0 erfolgen und das erste Byte eines nachfolgenden Datenpakets oder Anbindungsbefehls kann über den Tx-Pfad 1 erfolgen.
  • Zahlreiche spezifische Details sind hierin angegeben, wie Beispiele spezifischer Arten von Prozessoren und Systemkonfigurationen, spezifische Hardwarestrukturen und spezifische architektonische und mikroarchitektonische Details, um ein gründliches Verständnis der vorliegenden Offenbarung zu vermitteln. Es ist jedoch für Fachleute offensichtlich, dass diese spezifischen Details nicht zur Ausführung der vorliegenden Offenbarung verwendet werden müssen. In anderen Fällen wurden wohlbekannte Komponenten oder Verfahren, wie spezifische und alternative Prozessorarchitekturen, spezifische Logikschaltungen/spezifischer Code für beschriebene Algorithmen, spezifischer Firmwarecode, eine spezifische Verbindungsoperation, spezifische Logikkonfigurationen, spezifische Herstellungstechniken und Materialien, spezifische Compilerimplementierungen, ein spezifischer Ausdruck von Algorithmen in Code, spezifische Abschalt- und Anschnitttechniken/Logik und andere spezifische Betriebsdetails des Computersystems nicht im Detail beschrieben, um eine unnötige Verschleierung der vorliegenden Offenbarung zu vermeiden.
  • Obwohl die folgenden Ausführungsformen unter Bezugnahme auf Energieeinsparung und eine Verbesserung der Bandbreite in bestimmten integrierten Schaltkreisen, wie etwa in Rechenplattformen oder Mikroprozessoren beschrieben werden können, sind andere Ausführungsformen auf andere Arten von integrierten Schaltkreisen und Logikeinrichtungen anwendbar. Ähnliche Techniken und Lehren von hierin beschriebenen Ausführungsformen können auf andere Arten von Schaltkreisen oder Halbleitereinrichtungen angewendet werden, die auch von einer besseren Energieeffizienz und einer verbesserten Bandbreite profitieren können. Beispielsweise sind die offenbarten Ausführungsformen nicht auf bestimmte Hosteinrichtungen oder periphere Einrichtungen beschränkt, sondern können für einen beliebigen geeigneten Host oder beliebige geeignete periphere Einrichtungen, wie Desktop-Computersysteme, Server-Computersysteme, tragbare Einrichtungen, Tablets, andere dünne Notebooks, Ein-Chip-Systemeinrichtungen (SoC-Einrichtungen) und eingebettete Anwendungen gelten. Einige Beispiele für tragbare Einrichtungen enthalten Mobiltelefone, Internetprotokolleinrichtungen, Digitalkameras, persönliche digitale Assistenten (PDAs) und tragbare PCs. Eingebettete Anwendungen enthalten typischerweise einen Mikrocontroller, einen digitalen Signalprozessor (DSP), ein Ein-Chip-System, Netzwerkcomputer (NetPC), Set-Top-Boxen, Netzwerk-Hubs, Fernnetz-Switches (WAN-Switches) oder beliebige andere Systeme, die die Funktionen und Operationen durchführen können, die unten gelehrt werden. Darüber hinaus sind die hierin beschriebenen Vorrichtungen, Verfahren und Systeme nicht auf physische Recheneinrichtungen beschränkt, sondern können auch Software-Optimierungen zur Energieeinsparung und Bandbreitennutzung betreffen.
  • Nun auf 10 Bezug nehmend, wird ein Blockdiagramm von Komponenten, die in einem Computersystem vorhanden sind, das entweder als eine Hosteinrichtung oder eine periphere Einrichtung fungieren kann (oder das sowohl eine Hosteinrichtung als auch eine oder mehrere periphere Einrichtungen enthalten kann), nach bestimmten Ausführungsformen beschrieben. Wie in 10 gezeigt, enthält ein System 1100 eine beliebige Kombination von Komponenten. Diese Komponenten können als ICs, Abschnitte davon, diskrete elektronische Einrichtungen oder andere Module, Logik, Hardware, Software, Firmware oder eine Kombination davon, die in einem Computersystem adaptiert ist, oder als Komponenten, die anderweitig innerhalb eines Gehäuses des Computersystems eingebunden ist, implementiert sein. Es ist anzumerken, dass das Blockdiagramm von 10 eine Ansicht auf hoher Ebene vieler Komponenten des Computersystems zeigen soll. Es sollte jedoch klar sein, dass einige der gezeigten Komponenten weggelassen werden können, zusätzliche Komponenten vorhanden sein können und eine andere Anordnung der gezeigten Komponenten in anderen Implementierungen stattfinden kann. Als Ergebnis kann die oben beschriebene Offenbarung in einem beliebigen Abschnitt einer oder mehrerer der veranschaulichten oder unten beschriebenen Zwischenverbindungen implementiert sein.
  • Wie in 10 gezeigt, enthält ein Prozessor 1110 in einer Ausführungsform einen Mikroprozessor, Mehrkernprozessor, Multithreading-Prozessor, einen Ultraniedrigenergie-Prozessor, einen eingebetteten Prozessor oder ein anderes bekanntes Verarbeitungselement. In der veranschaulichten Implementierung fungiert der Prozessor 1110 als eine Hauptverarbeitungseinheit und zentraler Hub zur Kommunikation mit vielen der verschiedenen Komponenten des Systems 1100. Als ein Beispiel ist der Prozessor 1100 als ein Ein-Chip-System (SoC) implementiert. Als ein spezifisches illustratives Beispiel enthält der Prozessor 1110 einen Prozessor auf Grundlage von Intel® Architecture Core™, wie einen i3-, i5-, i7- oder einen anderen derartigen, von Intel Corporation, Santa Clara, Kalifornien, erhältlichen Prozessor. Andere Niedrigenergieprozessoren, wie die von Advanced Micro Devices, Inc. (AMD) in Sunnyvale, Kalifornien, verfügbaren, ein MIPS-basiertes Design von MIPS Technologies, Inc. in Sunnyvale, Kalifornien, ein ARM-basiertes Design, das von ARM Holdings, Ltd. oder einem Kunden davon lizenziert ist, oder deren Lizenznehmer oder Anwender können stattdessen in anderen Ausführungsformen vorhanden sein, wie ein Apple A5/A6-Prozessor, ein Qualcomm Snapdragon-Prozessor oder ein TI OMAP-Prozessor. Es ist anzumerken, dass viele der Kundenversionen derartiger Prozessoren modifiziert sind und variieren; sie können jedoch einen bestimmten Befehlssatz unterstützen oder erkennen, der definierte Algorithmen durchführt, wie sie vom Prozessorlizenzgeber dargelegt sind. Hier kann die Mikroarchitektur-Implementierung variieren, aber die architektonische Funktion des Prozessors ist üblicherweise einheitlich. Bestimmte Details in Bezug auf die Architektur und den Betrieb des Prozessors 1110 werden unten weiter in einer Implementierung besprochen, um ein veranschaulichendes Beispiel zu bieten.
  • Der Prozessor 1110 kommuniziert in einer Ausführungsform mit einem Systemarbeitsspeicher 1115. Als ein veranschaulichendes Beispiel, das in einer Ausführungsform über mehrere Arbeitsspeichereinrichtungen implementiert werden kann, um eine bestimmte Menge an Systemarbeitsspeicher bereitzustellen. Als Beispiele kann der Arbeitsspeicher in Übereinstimmung mit einem Design auf Niedrigenergie-Doppeldatenraten-Basis (LPDDR-Basis) des Joint Electron Devices Engineering Council (JEDEC) wie dem aktuellen LPDDR2-Standard nach JEDEC JESD 209-2E (veröffentlicht im April 2009) oder einem LPDDR-Standard der nächsten Generation sein, der als LPDDR3 oder LPDDR4 zu bezeichnen ist, der Erweiterungen zu LPDDR2 bieten wird, um die Bandbreite zu erhöhen. In verschiedenen Implementierungen können die einzelnen Arbeitsspeichereinrichtungen aus verschiedenen Gehäusetypen sein, wie ein Ein-Rohchip-Gehäuse (SDP), Doppel-Rohchip-Gehäuse (DDP) oder Quad-Rohchip-Gehäuse (Q17P). Diese Einrichtungen sind in einigen Ausführungsformen direkt auf eine Hauptplatine gelötet, um eine Lösung mit niedrigerem Profil zu bieten, während die Einrichtungen in anderen Ausführungsformen als ein oder mehrere Arbeitsspeichermodule ausgelegt sind, die wiederum durch ein bestimmtes Verbindungsstück an die Hauptplatine koppeln. Und natürlich sind andere Arbeitsspeicherimplementierungen möglich, wie andere Typen von Arbeitsspeichermodulen, z. B. Dual Inline Arbeitsspeichermodule (DIMMs) verschiedener Arten, einschließlich unter anderem MikroDIMMs, MiniDIMMs. In einer bestimmten veranschaulichenden Ausführungsform ist der Arbeitsspeicher zwischen 2 GB und 16 GB bemessen und kann als ein DDR3LM-Gehäuse oder ein LPDDR2- oder LPDDR3-Arbeitsspeicher konfiguriert sein, der über eine Kugelgitteranordnung (BGA) auf eine Hauptplatine gelötet ist.
  • Um eine persistente Speicherung von Informationen wie Daten, Anwendungen, eines oder mehrerer Betriebssysteme und so weiter zu bieten, kann ein Massenspeicher 1120 auch an den Prozessor 1110 koppeln. In verschiedenen Ausführungsformen kann dieser Massenspeicher über ein SSD implementiert sein, um ein dünneres und leichteres Systemdesign zu ermöglichen sowie um die Systemreaktionsfähigkeit zu verbessern. In anderen Ausführungsformen kann der Massenspeicher hauptsächlich unter Verwendung eines Festplattenlaufwerks (HDD) mit einer kleineren Menge von SSD-Speicher implementiert sein, um als ein SSD-Zwischenspeicher zu fungieren, um eine nichtflüchtige Speicherung von Kontextzuständen und anderen derartigen Informationen während Ausschaltereignissen zu bieten, sodass ein schnelles Einschalten bei einer erneuten Initiierung von Systemaktivitäten stattfinden kann. Ebenfalls in 10 gezeigt, kann eine Flash-Einrichtung 1122 an den Prozessor 1110 gekoppelt sein, z. B. über eine serielle periphere Schnittstelle (SPI). Diese Flash-Einrichtung kann eine nichtflüchtige Speicherung von Systemsoftware bieten, einschließlich einer grundlegenden Eingabe/Ausgabe-Software (BIOS) sowie anderer Firmware des Systems.
  • In verschiedenen Ausführungsformen ist ein Massenspeicher des Systems durch ein SSD alleine oder als ein Platten-, optisches oder sonstiges Laufwerk mit einem SSD-Zwischenspeicher implementiert. In einigen Ausführungsformen ist der Massenspeicher als ein SSD oder als ein HDD zusammen mit einem Wiederherstellungs(RST)-Zwischenspeichermodul implementiert. In verschiedenen Implementierungen bietet der HDD Speicher zwischen 320 GB-4 Terabytes (TB) und mehr, während der RST-Zwischenspeicher mit einem SSD mit einer Kapazität von 24 GB-256 GB implementiert ist. Es ist anzumerken, das ein derartiger SSD-Zwischenspeicher als eine Einlevelzwischenspeicher(SLC)- oder Mehrlevelzwischenspeicher(MLC)-Option konfiguriert sein kann, um ein angemessenes Niveau an Reaktionsfreudigkeit zu bieten. In einer Option nur mit SSD kann das Modul in verschiedenen Positionen aufgenommen werden, wie zum Beispiel in einem mSATA- oder NGFF-Schlitz. Als ein Beispiel weist ein SSD eine Kapazität im Bereich von 120 GB-1 TB auf.
  • Verschiedene Eingabe/Ausgabe(E/A)-Einrichtungen können im System 1100 vorhanden sein. In der Ausführungsform von 10 ist insbesondere eine Anzeige 1124 gezeigt, die ein hochauflösendes LCD- oder LED-Feld sein kann, das mit einem Deckelabschnitt des Gehäuses konfiguriert ist. Diese Anzeige kann auch einen Berührungsbildschirm 1125 vorsehen, der z. B. extern über das Anzeigefeld adaptiert ist, sodass über eine Interaktion eines Benutzers mit diesem Berührungsbildschirm Benutzereingaben dem System bereitgestellt werden können, um gewünschte Operationen zu ermöglichen, z. B. in Bezug auf die Anzeige von Informationen, das Zugreifen auf Informationen und so weiter. In einer Ausführungsform kann die Anzeige 1124 über eine Anzeigezwischenverbindung an den Prozessor 1110 gekoppelt sein, die als eine Hochleistungs-Grafikzwischenverbindung implementiert sein kann. Der Berührungsbildschirm 1125 kann über eine andere Zwischenverbindung an den Prozessor 1110 gekoppelt sein, die in einer Ausführungsform eine I2C-Zwischenverbindung sein kann. Wie ferner in 10 gezeigt, kann zusätzlich zum Berührungsbildschirm 1125 eine Benutzereingabe durch Berührung auch über ein Berührungsfeld 1130 stattfinden, das innerhalb des Gehäuses konfiguriert sein kann und auch an die gleiche I2C-Zwischenverbindung gekoppelt sein kann wie der Berührungsbildschirm 1125.
  • Das Anzeigefeld kann in mehreren Modi arbeiten. In einem ersten Modus kann das Anzeigefeld in einem transparenten Zustand angeordnet sein, in dem das Anzeigefeld für sichtbares Licht transparent ist. In verschiedenen Ausführungsformen kann der Großteil des Anzeigefelds eine Anzeige sein, mit Ausnahme einer Einfassung um den Umfang herum. Wenn das System in einem Notebook-Modus betrieben wird und das Anzeigefeld in einem transparenten Zustand betrieben wird, kann ein Benutzer Informationen anzeigen, die auf dem Anzeigefeld dargestellt werden, während er gleichzeitig Objekte hinter der Anzeige ansehen kann. Darüber hinaus können auf dem Anzeigefeld angezeigte Informationen von einem hinter der Anzeige positionierten Benutzer angesehen werden. Oder der Betriebszustand des Anzeigefelds kann ein undurchsichtiger Zustand sein, in dem sichtbares Licht nicht durch das Anzeigefeld übertragen wird.
  • In einem Tablet-Modus wird das System geschlossen so gefaltet, dass die hintere Anzeigefläche des Anzeigefelds in einer Position zur Ruhe kommt, sodass sie nach außen zu einem Benutzer zeigt, wenn die Bodenfläche des Basisfelds auf einer Oberfläche liegt oder vom Benutzer gehalten wird. Im Tablet-Betriebsmodus führt die hintere Anzeigefläche die Rolle einer Anzeige und einer Benutzerschnittstelle durch, da diese Oberfläche Berührungsbildschirmfunktionalität aufweisen kann, und kann andere bekannte Funktionen einer herkömmlichen Berührungsbildschirmeinrichtung durchführen, wie einer Tablet-Einrichtung. Hierzu kann das Anzeigefeld eine transparenzanpassende Schicht enthalten, die zwischen einer Berührungsbildschirmschicht und einer vorderen Anzeigefläche angeordnet ist. In einigen Ausführungsformen kann die transparenzanpassende Schicht eine elektrochrome Schicht (EC), eine LCD-Schicht oder eine Kombination aus EC- und LCD-Schichten sein.
  • In verschiedenen Ausführungsformen kann die Anzeige unterschiedliche Größen aufweisen, z. B. ein 11,6-Zoll- oder ein 13,3-Zoll-Bildschirm und kann ein 16:9-Bildformat und eine Helligkeit von mindestens 300 Nits aufweisen. Die Anzeige kann auch eine volle Hochauflösung (HD) (mindestens 1920 x 1080 Pixel) aufweisen, mit einem eingebetteten Anzeigeanschluss (eDP) kompatibel sein und ein Niedrigenergiefeld mit Selbstauffrischung des Felds sein.
  • In Bezug auf Berührungsbildschirmfähigkeiten kann das System ein Anzeige-Mehrberührungsfeld vorsehen, das mehrberührungskapazitiv und mindestens 5-Finger-fähig ist. Und in einigen Ausführungsformen kann die Anzeige 10-Finger-fähig sein. In einer Ausführungsform ist der Berührungsbildschirm im Inneren eines beschädigungs- und kratzfesten Glases und einer Beschichtung (z. B. Gorilla Glass™ oder Gorilla Glass 2™) für niedrige Reibung aufgenommen, um „Fingerabschürfungen“ zu reduzieren und „Fingersprünge“ zu vermeiden. Um ein erweitertes Berührungserlebnis und Reaktionsfreudigkeit bereitzustellen, weist das Berührungsfeld in einigen Implementierungen Mehrberührungsfunktionalität auf, wie weniger als 2 Rahmen (30 Hz) pro statischer Anzeige während eines zusammendrückenden Zooms, und eine Einzelberührungsfunktionalität von weniger als 1 cm pro Rahmen (30 Hz) mit 200 ms (Verzögerung von Finger zu Zeiger). Die Anzeige unterstützt in einigen Implementierungen Glas von Kante zu Kante mit einer minimalen Bildschirmeinfassung, die auch zur Feldoberfläche eben ist, und begrenzter E/A-Interferenz bei Mehrberührungsverwendung.
  • Für Wahrnehmungsrechnen und andere Zwecke können verschiedene Sensoren im System vorhanden sein und können auf unterschiedliche Weise an den Prozessor 1110 gekoppelt sein. Bestimmte Trägheits- und Umgebungssensoren können über einen Sensorhub 1140, z. B. über eine I2C-Zwischenverbindung, an den Prozessor 1110 koppeln. In der in 10 gezeigten Ausführungsform können diese Sensoren einen Beschleunigungsmesser 1141, einen Umgebungslichtsensor (ALS) 1142, einen Kompass 1143 und ein Gyroskop 1144 enthalten. Andere Umgebungssensoren können einen oder mehrere thermale Sensoren 1146 enthalten, die in einigen Ausführungsformen über einen Systemverwaltungsbus (SMBus) an den Prozessor 1110 koppeln.
  • Unter Verwendung der verschiedenen Trägheits- und Umgebungssensoren, die in einer Plattform vorhanden sind, können viele verschiedene Anwendungsfälle realisiert werden. Diese Anwendungsfälle ermöglichen erweiterte Rechenoperationen, einschließlich Wahrnehmungsrechnen, und ermöglichen auch Erweiterungen in Bezug auf Energieverwaltung/Akkulebensdauer, Sicherheit und Systemreaktionsfreudigkeit.
  • In Bezug auf Energieverwaltungs-/Akkulebensdauer-Angelegenheiten werden zum Beispiel zumindest teilweise auf Grundlage von Informationen von einem Umgebungslichtsensor die Umgebungslichtbedingungen an einer Position der Plattform ermittelt und die Intensität der Anzeige entsprechend gesteuert. Deshalb wird die beim Betreiben der Anzeige verbrauchte Energie in bestimmten Lichtbedingungen reduziert.
  • In Bezug auf Sicherheitsoperationen kann auf Grundlage von von den Sensoren erhaltenen Kontextinformationen, wie Positionsinformationen, ermittelt werden, ob einem Benutzer erlaubt ist, auf bestimmte sichere Dokumente zuzugreifen. Beispielsweise kann einem Benutzer erlaubt sein, auf derartige Dokumente an einem Arbeitsplatz oder an einem Heimatstandort zuzugreifen. Es wird jedoch verhindert, dass der Benutzer auf derartige Dokumente zugreift, wenn sich die Plattform an einem öffentlichen Standort befindet. Diese Ermittlung beruht in einer Ausführungsform auf Positionsinformationen, die z. B. über einen GPS-Sensor oder eine Kameraerkennung von Orientierungspunkten ermittelt werden. Andere Sicherheitsoperationen können ein Bereitstellen eines Paarens von Einrichtungen innerhalb eines nahen Bereichs voneinander, z. B. einer tragbaren Plattform, wie sie hierin beschrieben ist, und eines Desktopcomputers eines Benutzers, eines Mobiltelefons und so weiter enthalten. Bestimmte gemeinsame Nutzungsvorgänge sind in einigen Implementierungen über Nahfeldkommunikation realisiert, wenn diese Einrichtungen derart gepaart sind. Wenn die Einrichtungen einen bestimmten Bereich überschreiten, können derartige gemeinsame Nutzungsvorgänge deaktiviert werden. Ferner kann beim Paaren einer Plattform, wie hierin beschrieben, und eines Smartphones ein Alarm konfiguriert sein, sodass er ausgelöst wird, wenn sich die Einrichtungen um mehr als eine vorbestimmte Distanz voneinander bewegen, wenn sie sich an einem öffentlichen Standort befinden. Im Gegensatz dazu können diese Einrichtungen, wenn sich diese gepaarten Einrichtungen an einem sicheren Standort befinden, z. B. einem Arbeitsplatz oder einem Heimatstandort, diese vorbestimmte Grenze überschreiten, ohne einen derartigen Alarm auszulösen.
  • Außerdem kann unter Verwendung der Sensorinformationen die Reaktionsfreudigkeit verbessert werden. Auch wenn sich eine Plattform zum Beispiel in einem Niedrigenergiezustand befindet, können die Sensoren dennoch aktiviert sein und mit einer relativ niedrigen Frequenz arbeiten. Dementsprechend werden alle Änderungen an einem Standort der Plattform ermittelt, wie sie z. B. durch Trägheitssensoren, einen GPS-Sensor und so weiter ermittelt werden. Falls keine derartigen Änderungen registriert wurden, findet eine schnellere Verbindung mit einem vorangehenden drahtlosen Hub wie einem Wi-Fi™-Zugangspunkt oder einer ähnlichen drahtlosen Aktivierungseinheit statt, da in diesem Fall kein Bedarf besteht, nach verfügbaren drahtlosen Netzwerkressourcen abzutasten. Deshalb wird beim Aufwachen aus einem Niedrigenergiezustand ein größeres Niveau an Reaktionsfreudigkeit erzielt.
  • Es sollte klar sein, dass viele andere Anwendungsfälle unter Verwendung von Sensorinformationen ermöglicht werden können, die über die integrierten Sensoren in einer Plattform wie hierin beschrieben erhalten werden, und die obigen Beispiele dienen nur zum Zweck der Illustration. Unter Verwendung eines Systems, wie es hierin beschrieben ist, kann ein Wahrnehmungsrechensystem die Hinzufügung von alternativen Eingabemodalitäten ermöglichen, einschließlich einer Gestikerkennung, und dem System ermöglichen, Benutzeroperationen und Absichten zu erfassen.
  • In einigen Ausführungsformen können ein oder mehrere Infrarot- oder andere Wärmesensorelemente oder ein beliebiges anderes Element zum Erfassen der Anwesenheit oder der Bewegung eines Benutzers vorhanden sein. Derartige Sensorelemente können mehrere verschiedene Elemente enthalten, die zusammen arbeiten, in eine Reihenfolge arbeiten, oder beides. Beispielsweise enthalten Sensorelemente Elemente, die ein anfängliches Erfassen bereitstellen, wie eine Licht- oder Schallprojektion, gefolgt von einem Erfassen einer Gestikerkennung beispielsweise durch eine Ultraschall-Laufzeitkamera oder einer Strukturlichtkamera.
  • In einigen Ausführungsformen enthält das System auch einen Lichtgenerator, um eine beleuchtete Linie zu erzeugen. In einigen Ausführungsformen bietet diese Linie einen visuellen Hinweis in Bezug auf eine virtuelle Grenze, nämlich eine imaginäre oder virtuelle Position im Raum, wobei eine Handlung des Benutzers, um durch die virtuelle Grenze oder Ebene zu treten oder diese zu durchbrechen, als eine Absicht interpretiert wird, mit dem Rechensystem zu wechselwirken. In einigen Ausführungsformen kann die beleuchtete Linie Farben ändern, wenn das Rechensystem in Bezug auf den Benutzer in andere Zustände übergeht. Die beleuchtete Linie kann verwendet werden, um dem Benutzer einen visuellen Hinweis auf eine virtuelle Grenze im Raum zu bieten, und kann vom System verwendet werden, um Übergänge im Zustand des Computers in Bezug auf den Benutzer zu ermitteln, einschließlich eines Ermittelns, wann der Benutzer wünscht, mit dem Computer zu wechselwirken.
  • In einigen Ausführungsformen erfasst der Computer die Benutzerposition und arbeitet, um die Bewegung einer Hand des Benutzers durch die virtuelle Grenze als eine Geste zu interpretieren, die eine Absicht des Benutzers anzeigt, mit dem Computer zu wechselwirken. In einigen Ausführungsformen kann sich das vom Lichtgenerator generierte Licht ändern, nachdem sich der Benutzer durch die virtuelle Linie oder Ebene bewegt, wodurch dem Benutzer eine visuelle Rückmeldung geboten wird, dass der Benutzer einen Bereich zum Bereitstellen von Gesten zur Bereitstellung von Eingaben in den Computer betreten hat.
  • Anzeigebildschirme können visuelle Hinweise auf Zustandsübergänge des Rechensystems in Bezug auf einen Benutzer bereitstellen. In einigen Ausführungsformen wird ein erster Bildschirm in einem ersten Zustand bereitgestellt, in dem die Anwesenheit eines Benutzers vom System erfasst wird, wie zum Beispiel durch eine Verwendung eines oder mehrerer der Sensorelemente.
  • In einigen Implementierungen handelt das System, um eine Benutzeridentität zu erfassen, wie zum Beispiel durch Gesichtserkennung. Hier kann ein Übergang zu einem zweiten Bildschirm in einem zweiten Zustand bereitgestellt werden, in dem das Rechensystem die Benutzeridentität erkannt hat, wobei dieser zweite der Bildschirm dem Benutzer eine visuelle Rückmeldung bereitstellt, dass der Benutzer in einen neuen Zustand übergegangen ist. Ein Übergang zu einem dritten Bildschirm kann in einem dritten Zustand stattfinden, in dem der Benutzer eine Erkennung des Benutzers bestätigt hat.
  • In einigen Ausführungsformen kann das Rechensystem einen Übergangsmechanismus verwenden, um eine Position einer virtuellen Grenze für einen Benutzer zu ermitteln, wobei die Position der virtuellen Grenze je nach Benutzer und Kontext variieren kann. Das Rechensystem kann Licht generieren, wie eine beleuchtete Linie, um die virtuelle Grenze zur Interaktion mit dem System anzuzeigen. In einigen Ausführungsformen kann sich das Rechensystem in einem Wartezustand befinden und das Licht kann in einer ersten Farbe erzeugt werden. Das Rechensystem kann erkennen, ob sich der Benutzer über die virtuelle Grenze hinaus bewegt hat, wie zum Beispiel durch Erfassen der Anwesenheit und der Bewegung des Benutzers unter Verwendung von Sensorelementen.
  • In einigen Ausführungsformen, falls erkannt wurde, dass der Benutzer die virtuelle Grenze übertreten hat (wie zum Beispiel, dass die Hände des Benutzers näher zum Rechensystem sind als die virtuelle Grenzlinie), kann das Rechensystem in einen Zustand zum Empfangen von Gesteneingaben vom Benutzer übergehen, wobei ein Mechanismus zum Anzeigen des Übergangs enthalten kann, dass das Licht, das die virtuelle Grenze anzeigt, in eine zweite Farbe wechselt.
  • In einigen Ausführungsformen kann das Rechensystem dann ermitteln, ob eine Gestenbewegung erkannt wird. Falls eine Gestenbewegung erkannt wird, kann das Rechensystem mit einem Gestikerkennungsprozess fortfahren, was die Verwendung von Daten von einer Gestendatenbibliothek enthalten kann, die sich in einem Arbeitsspeicher in der Recheneinrichtung befinden kann oder auf die die Recheneinrichtung anderweitig zugreifen kann.
  • Falls eine Geste des Benutzers erkannt wird, kann das Rechensystem eine Funktion als Reaktion auf die Eingabe durchführen und zurückkehren, um zusätzliche Gesten zu empfangen, falls sich der Benutzer innerhalb der virtuellen Grenze befindet. In einigen Ausführungsformen, falls die Geste nicht erkannt wird, kann das Rechensystem in einen Fehlerzustand übergehen, wobei ein Mechanismus zum Anzeigen des Fehlerzustands enthalten kann, dass das Licht, das die virtuelle Grenze anzeigt, in eine dritte Farbe wechselt, wobei das System zurückkehrt, um zusätzliche Gesten zu empfangen, falls sich der Benutzer innerhalb der virtuellen Grenze zum Wechselwirken mit dem Rechensystem befindet.
  • Wie oben erwähnt, kann das System in anderen Ausführungsformen als ein konvertierbares Tabletsystem ausgelegt sein, das in mindestens zwei verschiedenen Modi verwendet werden kann, einen Tabletmodus und einem Notebookmodus. Das konvertierbare System kann zwei Felder aufweisen, nämlich ein Anzeigefeld und ein Basisfeld, sodass die zwei Felder im Tabletmodus in einem Stapel übereinander angeordnet sind. Im Tabletmodus zeigt das Anzeigefeld nach außen und kann eine Berührungsbildschirmfunktionalität bereitstellen, wie man sie in herkömmlichen Tablets findet. Im Notebookmodus können die zwei Felder in einer offenen Klappkonfiguration angeordnet sein.
  • In verschiedenen Ausführungsformen kann der Beschleunigungsmesser ein 3-Achsen-Beschleunigungsmesser mit Datenraten von mindestens 50 Hz sein. Ein Gyroskop kann auch enthalten sein, das ein 3-Achsen-Gyroskop sein kann. Darüber hinaus kann ein E-Kompass/Magnetometer vorhanden sein. Außerdem können ein oder mehrere Näherungssensoren vorgesehen sein (z. B. bei geöffnetem Deckel, um zu erfassen, wann sich eine Person in der Nähe des Systems befindet (oder nicht), und die Energie/Leistung zur Verlängerung der Akkulebensdauer anzupassen). Bei manchen OS kann eine Sensor-Fusion-Fähigkeit einschließlich des Beschleunigungsmessers, Gyroskops und Kompass erweiterte Merkmale bereitstellen. Darüber hinaus kann über einen Sensorhub mit einer Echtzeituhr (RTC) ein Aufwachmechanismus von Sensoren realisiert werden, um eine Sensoreingabe zu empfangen, wenn sich ein Rest des Systems in einem Niedrigenergiezustand befindet.
  • In einigen Ausführungsformen kann ein interner Deckel-/Anzeige-offen-Schalter oder -Sensor zum Anzeigen, wann der Deckel geschlossen/offen ist, verwendet werden, um das System in einen verbundenen Bereitschaftszustand zu platzieren oder automatisch aus dem verbundenen Bereitschaftszustand aufzuwecken. Andere Systemsensoren können ACPI-Sensoren für eine interne Prozessor-, Arbeitsspeicher- und Hauttemperaturüberwachung enthalten, um Änderungen am Prozessor und den Systembetriebszuständen auf Grundlage von erfassten Parametern zu ermöglichen.
  • Wie ebenfalls in 10 gezeigt, können verschiedene periphere Einrichtungen an den Prozessor 1110 koppeln. In der gezeigten Ausführungsform können verschiedene Komponenten über eine eingebettete Steuerung 1135 angekoppelt sein. Derartige Komponenten können eine Tastatur 1136 (die z. B. über eine PS2-Schnittstelle angekoppelt ist), einen Lüfter 1137 und einen Thermosensor 1139 enthalten. In einigen Ausführungsformen kann ein Berührungsfeld 1130 auch über eine PS2-Schnittstelle an die EC 1135 koppeln. Darüber hinaus kann auch ein Sicherheitsprozessor, wie ein Trusted Platform Module (TPM) 1138 gemäß der TPM-Spezifikation Version 1.2 der Trusted Computing Group (TCG), datiert 2. Okt. 2003, auch über diese LPC-Zwischenverbindung an den Prozessor 1110 koppeln. Es ist jedoch zu verstehen, dass der Geltungsbereich der vorliegenden Offenbarung in dieser Hinsicht nicht eingeschränkt ist und eine sichere Verarbeitung und Speicherung von sicheren Informationen an einer anderen geschützten Stelle wie einem statischen Arbeitsspeicher mit wahlfreiem Zugriff (SRAM), in einem Sicherheits-Coprozessor oder als verschlüsselte Datenblobs stattfinden kann, die nur entschlüsselt werden, wenn sie von einem Secure-Enclave(SE)-Prozessormodus geschützt sind.
  • In einer bestimmten Implementierung können periphere Anschlüsse ein High-Definition-Media-Interface(HDMI)-Verbindungsstück enthalten (die in verschiedenen Formfaktoren wie volle Größe, mini oder mikro sein können); einen oder mehrere USB-Anschlüsse, wie externe Anschlüsse in voller Größe nach der Spezifikation der Universal Serial Bus (USB) Revision 3.2 (September 2017), mit mindestens einem zum Laden von USB-Einrichtungen (wie Smartphones) mit Strom versorgten Anschluss, wenn sich das System im verbundenen Bereitschaftszustand befindet und in eine Wechselstromsteckdose eingesteckt ist. Darüber hinaus können ein oder mehrere Thunderbolt™-Anschlüsse vorgesehen sein. Andere Anschlüsse können einen extern zugänglichen Kartenleser, wie einen SD-XC-Kartenleser voller Größe und/oder einen SIM-Kartenleser für WWAN (z. B. einen 8-Pin-Kartenleser) enthalten. Für Audio kann eine 3,5-mm-Buchse mit Stereosound und Mikrofonfähigkeit (z. B. Kombinationsfunktionalität) vorhanden sein, mit Unterstützung für eine Buchsenerkennung (z. B. nur Unterstützung für Kopfhörer unter Verwendung eines Mikrofons im Deckel oder eines Kopfhörers mit einem Mikrofon im Kabel). In einigen Ausführungsformen kann diese Buchse auch zwischen Stereo-Kopfhörern und Stereo-Mikrofoneingang umkonfigurierbar sein. Außerdem kann eine Strombuchse zum Koppeln an ein Wechselstromnetzteil vorgesehen sein.
  • Das System 1100 kann mit externen Einrichtungen auf vielfältige Weise kommunizieren, einschließlich drahtlos. In der in 10 gezeigten Ausführungsform sind verschiedene drahtlose Module vorhanden, von denen jedes einem Funkgerät entsprechen kann, das für ein bestimmtes drahtloses Kommunikationsprotokoll konfiguriert ist. Eine Art der drahtlosen Kommunikation in einem Nahbereich, wie Nahfeld, kann über eine Nahfeldkommunikationseinheit (NFC-Einheit) 1145 erfolgen, die in einer Ausführungsform über einen SMBus mit dem Prozessor 1110 kommunizieren kann. Es ist anzumerken, dass Einrichtungen in enger Nähe zueinander über diese NFC-Einheit 1145 kommunizieren können. Beispielsweise kann ein Benutzer dem System 1100 ermöglichen, mit einer anderen (z.B.) tragbaren Einrichtung wie einem Smartphone des Benutzers zu kommunizieren, durch Anpassen der zwei Einrichtungen in eine enge Verbindung miteinander und Ermöglichen eines Transfers von Informationen, wie Identifikationsinformationen, Zahlungsinformationen, Daten wie Bilddaten und so weiter. Außerdem kann unter Verwendung eines NFC-Systems auch eine drahtlose Energieübertragung durchgeführt werden.
  • Unter Verwendung der hierin beschriebenen NFC-Einheit können Benutzer Einrichtungen seitlich anstoßen und Einrichtungen aneinander für Nahfeldkoppelfunktionen (wie Nahfeldkommunikation und drahtlosen Energietransfer (WPT)) platzieren, indem sie die Kopplung zwischen Spulen einer oder mehrerer derartiger Einrichtungen einsetzen. Genauer sehen Ausführungsformen Einrichtungen mit strategisch geformten und platzierten Ferritmaterialien vor, um eine bessere Kopplung der Spulen zu bieten. Jede Spule weist eine mit ihr assoziierte Induktanz auf, die zusammen mit den Widerstands-, kapazitiven und anderen Merkmalen des Systems gewählt werden können, um eine gemeinsame Resonanzfrequenz für das System zu ermöglichen.
  • Wie weiter in 10 gezeigt, können zusätzliche drahtlose Einheiten andere drahtlose Kurzstreckenengines, einschließlich einer WLAN-Einheit 1150 und einer Bluetooth-Einheit 1152, enthalten. Unter Verwendung der WLAN-Einheit 1150 können Wi-Fi™-Kommunikationen gemäß einem bestimmten 802.11-Standard des Institute of Electrical and Electronics Engineers (IEEE) realisiert werden, während über die Bluetooth-Einheit 1152 Kurzstreckenkommunikation über ein Bluetooth-Protokoll stattfinden können. Diese Einheiten können mit dem Prozessor 1110 z. B. über eine USB-Anbindung oder eine Universal-Asynchronous-Receiver-Transmitter(UART)-Anbindung kommunizieren. Oder diese Einheiten können an den Prozessor 1110 über eine Zwischenverbindung gemäß einem Peripheral-Component-Interconnect-Express™(PCIe™)-Protokoll, z. B. gemäß der PCI Express™ Basisspezifikation Version 3.0 (am 17. Januar 2007 veröffentlicht) oder einem anderen derartigen Protokoll wie einem Eingabe/Ausgabe-Standard für serielle Daten (SDIO) koppeln. Natürlich kann die tatsächliche physische Verbindung zwischen diesen peripheren Einrichtungen, die auf einer oder mehreren Zusatzkarten konfiguriert sein können, mithilfe der NGFF-Verbindungsstücke erfolgen, die für eine Hauptplatine ausgelegt sind.
  • Darüber hinaus können drahtlose Weitverkehrskommunikationen, z. B. gemäß einem Mobilfunk- oder anderen drahtlosen Weitverkehrsprotokoll, über eine WWAN-Einheit 1156 erfolgen, die wiederum an ein Teilnehmer-Identitätsmodul (SIM) 1157 koppeln kann. Darüber hinaus, um einen Empfang und eine Verwendung von Positionsinformationen zu ermöglichen, kann auch ein GPS-Modul 1155 vorhanden sein. Es ist anzumerken, dass in der in 10 gezeigten Ausführungsform die WWAN-Einheit 1156 und eine integrierte Erfassungseinheit, wie ein Kameramodul 1154, über ein bestimmtes USB-Protokoll, wie eine USB-2.0- oder 3.0-Anbindung, oder ein UART- oder I2C-Protokoll kommunizieren können. Die tatsächliche physische Verbindung dieser Einheiten kann wiederum über eine Anpassung einer NGFF-Zusatzkarte an ein auf der Hauptplatine konfiguriertes NGFF-Verbindungsstück erfolgen.
  • In einer bestimmten Ausführungsform kann eine drahtlose Funktionalität modular bereitgestellt werden, z. B. mit einer WiFi™-802.11ac-Lösung (z. B. einer Zusatzkarte, die mit IEEE 802.11 abgn rückwärtskompatibel ist) mit Unterstützung für Windows 8 CS. Diese Karte kann in einem internen Schlitz konfiguriert sein (z. B. über einen NGFF-Adapter). Ein zusätzliches Modul kann Bluetooth-Fähigkeit (z. B. Bluetooth 4.0 mit Rückwärtskompatibilität) sowie Intel® Wireless Display-Funktionalität bereitstellen. Darüber hinaus kann NFC-Unterstützung über eine separate Einrichtung oder eine Mehrfunktionseinrichtung bereitgestellt werden und kann als Beispiel an einem vorderen rechten Abschnitt des Gehäuses zum einfachen Zugriff positioniert werden. Noch ein weiteres zusätzliches Modul kann eine WWAN-Einrichtung sein, die Unterstützung für 3G/4G/LTE und GPS bereitstellen kann. Dieses Modul kann in einem internen (z. B. NGFF-) Schlitz implementiert sein. Eine integrierte Antennenunterstützung kann für WiFi™, Bluetooth, WWAN, NFC und GPS bereitgestellt werden, was einen nahtlosen Übergang von WiFi™- zu WWAN-Funkgeräten, drahtlosem Gigabit (WiGig) nach der Wireless-Gigabit-Spezifikation (Juli 2010) und umgekehrt ermöglicht.
  • Wie oben beschrieben kann eine integrierte Kamera in den Deckel eingebunden werden. Als ein Beispiel kann diese Kamera eine hochauflösende Kamera sein, z. B. mit einer Auflösung von mindestens 2,0 Megapixeln (MP) und bis zu 6,0 MP und darüber hinaus.
  • Um Audioeingaben und -ausgaben bereitzustellen, kann ein Audioprozessor über einen digitalen Signalprozessor (DSP) 1160 implementiert werden, der über eine hochauflösende Audioanbindung (HDA-Anbindung) an den Prozessor 1110 koppeln kann. Gleichermaßen kann der DSP 1160 mit einem integrierten Codierer/Decodierer (CODEC) und Verstärker 1162 kommunizieren, die wiederum an Ausgabelautsprecher 1163 koppeln können, die innerhalb des Gehäuses implementiert sein können. Gleichermaßen können Verstärker und CODEC 1162 angekoppelt sein, um Audioeingaben von einem Mikrofon 1165 zu empfangen, das in einer Ausführungsform über Doppelanordnungsmikrofone (wie einer digitalen Mikrofonanordnung) implementiert werden kann, um hochwertige Audioeingaben bereitzustellen, um eine sprachaktivierte Steuerung verschiedener Operationen innerhalb des Systems zu ermöglichen. Es ist auch anzumerken, dass Audioausgaben einer Kopfhörerbuchse 1164 vom Verstärker/CODEC 1162 bereitgestellt werden können. Obwohl mit diesen bestimmten Komponenten in der Ausführungsform von 10 gezeigt, ist zu verstehen, dass der Geltungsbereich der vorliegenden Offenbarung in dieser Hinsicht nicht eingeschränkt ist.
  • In einer bestimmten Ausführungsform sind der digitale Audiocodec und Verstärker fähig, die Stereo-Kopfhörerbuchse, eine Stereo-Mikrofonbuchse, eine interne Mikrofonanordnung und Stereolautsprecher anzusteuern. In unterschiedlichen Implementierungen kann der Codec in einen Audio-DSP integriert oder über einen HD-Audiopfad an einen peripheren Steuerungshub (PCH) gekoppelt sein. In einigen Implementierungen können zusätzlich zu integrierten Stereolautsprechern ein oder mehrere Basslautsprecher vorgesehen sein und die Lautsprecherlösung kann DTS-Audio unterstützen.
  • In einigen Ausführungsformen kann der Prozessor 1110 durch einen externen Spannungsregler (VR) und mehrere interne Spannungsregler, die im Inneren des Prozessorchips integriert sind, die als vollständig integrierte Spannungsregler (FIVRs) bezeichnet werden, mit Strom versorgt werden. Die Verwendung mehrerer FIVRs im Prozessor ermöglicht die Gruppierung von Komponenten in separate Energieebenen, sodass die Energie geregelt wird und nur zu diesen Komponenten in der Gruppe vom FIVR geliefert wird. Während der Energieverwaltung kann eine bestimmte Energieebene eines FIVR herunter- oder abgeschaltet sein, wenn der Prozessor in einen bestimmten Niedrigenergiezustand platziert wird, während eine andere Energieebene eines anderen FIVR aktiv oder vollständig mit Strom versorgt bleibt.
  • Eine Energiesteuerung im Prozessor kann zu verbesserter Energieeinsparung führen. Beispielsweise kann die Energie zwischen Kernen dynamisch zugeteilt werden, individuelle Kerne können die Frequenz/Spannung ändern und mehrere tiefe Niedrigenergiezustände können bereitgestellt werden, um einen sehr geringen Energieverbrauch zu ermöglichen. Darüber hinaus kann eine dynamische Steuerung der Kerne oder unabhängiger Kernabschnitte einen reduzierten Energieverbrauch durch Abschalten von Komponenten bereitstellen, wenn sie nicht verwendet werden.
  • In anderen Implementierungen kann ein Sicherheitsmodul, wie ein TPM, in einen Prozessor integriert sein oder kann eine diskrete Einrichtung sein, wie eine TPM-2.0-Einrichtung. Mit einem integrierten Sicherheitsmodul, auch als Platform Trust Technology (PTT) bezeichnet, kann BIOS/Firmware ermöglicht werden, bestimmte Hardwaremerkmale für bestimmte Sicherheitsmerkmale freizulegen, einschließlich von Sicherheitsanweisungen, sicherem Hochfahren, Intel® Anti-Theft Technology, Intel® Identity Protection Technology, Intel® Trusted Execution Technology (TxT) und Intel® Manageability Engine Technology, zusammen mit sicheren Benutzerschnittstellen, wie eine sichere Tastatur und eine sichere Anzeige.
  • Nun auf 11 Bezug nehmend, wird ein anderes Blockdiagramm für ein beispielhaftes Computersystem, das entweder als eine Hosteinrichtung oder eine periphere Einrichtung fungieren kann (oder das sowohl eine Hosteinrichtung als auch eine oder mehrere periphere Einrichtungen enthalten kann), nach bestimmten Ausführungsformen gezeigt. Als ein spezifisches veranschaulichendes Beispiel ist ein SoC 1200 in einem Endgerät (UE) enthalten. In einer Ausführungsform bezeichnet UE eine beliebige Einrichtung, die von einem Endbenutzer zu verwenden ist, um zu kommunizieren, wie ein tragbares Telefon, Smartphone, Tablet, ultradünnes Notebook, ein Notebook mit Breitbandadapter oder eine beliebige andere ähnliche Kommunikationseinrichtung. Oft verbindet sich ein UE mit einer Basisstation oder einem Knoten, der möglicherweise in der Natur einer Mobilstation (MS) in einem GSM-Netzwerk entspricht.
  • Hier enthält das SoC 1200 2 Kerne - 1206 und 1207. Ähnlich wie die Diskussion oben, können die Kerne 1206 und 1207 mit einer Befehlssatzarchitektur wie einem Intel® Architecture Core™-basierten Prozessor, einem Prozessor von Advanced Micro Devices, Inc. (AMD), einem MIPS-basierten Prozessor, einem ARM-basierten Prozessordesign oder eines Kunden davon, sowie deren Lizenznehmer oder Anwender konform sein. Die Kerne 1206 und 1207 sind an eine Zwischenspeichersteuerung 1208 gekoppelt, die mit einer Busschnittstelleneinheit 1209 und einem L2-Zwischenspeicher 1210 assoziiert ist, um mit anderen Teilen des Systems 1200 zu kommunizieren. Die Zwischenverbindung 1210 enthält eine chipinterne Zwischenverbindung, wie IOSF, AMBA oder eine andere oben besprochene Zwischenverbindung, die möglicherweise einen oder mehrere Gesichtspunkte der beschriebenen Offenbarung implementiert.
  • Die Schnittstelle 1210 stellt den anderen Komponenten Kommunikationskanäle bereit, wie einem Teilnehmer-Identitätsmodul (SIM) 1230, um an eine SIM-Karte über eine Schnittstelle anzukoppeln, einem Boot-ROM 1235, um Bootcode zur Ausführung durch die Kerne 1206 und 1207 zum Initialisieren und Hochfahren des SoC 1200 zu halten, einer SDRAM-Steuerung 1240, um an externen Arbeitsspeicher (z. B. DRAM 1260) über eine Schnittstelle anzukoppeln, einer Flash-Steuerung 1245, um an nicht flüchtigen Arbeitsspeicher (z. B. Flash 1265) über eine Schnittstelle anzukoppeln, einer peripheren Steuerung Q1650 (z. B. eine serielle periphere Schnittstelle), um an Peripheriegeräten über eine Schnittstelle anzubinden, Videocodecs 1220 und einer Videoschnittstelle 1225, um Eingaben anzuzeigen und zu empfangen (z. B. eine berührungsaktivierte Eingabe), einer GPU 1215 zum Durchführen von grafikbezogenen Berechnungen usw. Beliebige dieser Schnittstellen können hierin beschriebene Gesichtspunkte der Offenbarung einbinden.
  • Darüber hinaus veranschaulicht das System Peripherieeinrichtungen zur Kommunikation, wie ein Bluetooth-Modul 1270, 3G-Modem 1275, GPS 1285 und WiFi 1285. Es ist anzumerken, dass ein UE wie oben erwähnt eine Funkeinrichtung zur Kommunikation enthält. Als Ergebnis sind diese peripheren Kommunikationsmodule nicht alle erforderlich. In einem UE ist jedoch eine irgendeine Form eines Funkgeräts zur externen Kommunikation aufzunehmen.
  • Ein Design kann verschiedene Stufen durchlaufen, von der Erstellung zur Simulation zur Herstellung. Daten, die ein Design darstellen, können das Design auf eine Anzahl an Art und Weisen darstellen. Erstens kann die Hardware unter Verwendung einer Hardwarebeschreibungssprache (HDL) oder einer anderen funktionalen Beschreibungssprache dargestellt werden, wie es in Simulationen nützlich ist. Zusätzlich kann ein Modell auf Schaltkreisebene mit Logik und/oder Transistorgattern in einigen Phasen des Designprozesses hergestellt werden. Ferner erreichen die meisten Designs in einer Phase ein Niveau an Daten, die die physische Platzierung von verschiedenen Einrichtungen im Hardwaremodell darstellen. Im Fall, in dem herkömmliche Halbleiterfertigungstechniken verwendet werden, können die Daten, die das Hardwaremodell darstellen, die Daten sein, die das Vorhandensein oder Fehlen verschiedener Merkmale auf verschiedenen Maskenschichten für Masken angeben, die zur Herstellung des integrierten Schaltkreises verwendet werden. In einigen Implementierungen können derartige Daten in einem Datenbankdateiformat wie Graphic Data System II (GDS II), Open Artwork System Interchange Standard (OASIS) oder einem ähnlichen Format gespeichert sein.
  • In einigen Implementierungen können softwarebasierte Hardwaremodelle und HDL und andere funktionale Beschreibungssprachobjekte Registertransfersprachdateien (RTL-Dateien) enthalten, unter anderen Beispielen. Derartige Objekte können maschinenlesbar sein, sodass ein Designwerkzeug das HDL-Objekt (oder Modell) annehmen kann, das HDL-Objekte nach Attributen der beschriebenen Hardware parsen kann und einen physischen Schaltkreis und/oder chipinternes Layout aus dem Objekt ermitteln kann. Die Ausgabe des Designwerkzeugs kann verwendet werden, um die physische Einrichtung herzustellen. Beispielsweise kann ein Designwerkzeug Konfigurationen verschiedener Hardware- und/oder Firmware-Elemente aus dem HDL-Objekt ermitteln, wie Busbreiten, Register (einschließlich Größen und Typen), Arbeitsspeicherblöcke, physische Anbindungspfade, Fabric-Topologien, unter anderen Attributen, die implementiert würden, um das im HDL-Objekt modellierte System zu realisieren. Designwerkzeuge können Werkzeuge zum Ermitteln der Topologie und Fabric-Konfigurationen eines Ein-Chip-Systems (SoC) und einer anderen Hardwareeinrichtung enthalten. In einigen Fällen kann das HDL-Objekt als Grundlage zum Entwickeln von Modellen und Designdateien verwendet werden, die von Herstellungsausrüstung verwendet werden können, um die beschriebene Hardware herzustellen. Tatsächlich kann ein HDL-Objekt selbst als eine Eingabe in Herstellungssystemsoftware bereitgestellt werden, um die beschriebene Hardware zu verursachen.
  • In einer beliebigen Darstellung des Designs können die Daten in einer beliebigen Form eines maschinenlesbaren Mediums gespeichert werden. Ein Arbeitsspeicher oder ein magnetischer oder optischer Speicher wie eine Platte kann das maschinenlesbare Medium sein, um Informationen zu speichern, die über eine optische oder elektrische Welle gesendet werden, die moduliert oder anderweitig erzeugt wird, um solche Informationen zu senden. Wenn eine elektrische Trägerwelle gesendet wird, die den Code oder das Design anzeigt oder trägt, in dem Ausmaß, in dem ein Kopieren, Puffern oder erneutes Senden des elektrischen Signals durchgeführt wird, wird eine neue Kopie gemacht. Deshalb kann ein Kommunikationsanbieter oder ein Netzanbieter einen Gegenstand, wie Informationen, die in eine Trägerwelle codiert sind und Techniken der Ausführungsformen der vorliegenden Offenbarung ausbilden, zumindest temporär auf einem greifbaren, maschinenlesbaren Medium speichern.
  • Ein Modul, wie es hierin verwendet wird, bezeichnet eine beliebige Kombination von Hardware, Software und/oder Firmware. Als Beispiel enthält ein Modul Hardware, wie einen Mikrocontroller, der mit einem nicht transitorischen Medium assoziiert ist, um Code zu speichern, der angepasst ist, vom Mikrocontroller ausgeführt zu werden. Deshalb bezieht sich eine Bezugnahme auf ein Modul in einer Ausführungsform auf die Hardware, die eigens konfiguriert ist, den Code zu erkennen und/oder auszuführen, der auf einem nicht transitorischen Medium zu halten ist. Ferner bezieht sich in einer anderen Ausführungsform die Verwendung eines Moduls auf das nicht transitorische Medium, das den Code enthält, der spezifisch angepasst ist, vom Mikrocontroller ausgeführt zu werden, um vorbestimmte Vorgänge durchzuführen. Und wie gefolgert werden kann, kann in noch einer anderen Ausführungsform der Begriff Modul (in diesem Beispiel) die Kombination des Mikrocontrollers und des nicht transitorischen Mediums bezeichnen. Oft variieren Modulgrenzen häufig, die als getrennt veranschaulicht sind, und überlappen möglicherweise. Ein erstes und ein zweites Modul können sich beispielsweise Hardware, Software, Firmware oder eine Kombination davon teilen, während sie möglicherweise einige unabhängige Hardware, Software oder Firmware behalten. In einer Ausführungsform enthält die Verwendung des Begriffs Logik Hardware, wie Transistoren, Register oder andere Hardware, wie programmierbare Logikeinrichtungen.
  • Die Verwendung der Phrase ,um‘ oder konfiguriert, zu‘ bezeichnet in einer Ausführungsform ein Anordnen, Zusammenstellen, Fertigen, Zum-Verkauf-Anbieten, Importieren und/oder Konstruieren einer Vorrichtung, von Hardware, Logik oder eines Elements, um eine vorgesehene oder vorbestimmte Aufgabe durchzuführen. In diesem Beispiel ist eine Vorrichtung oder ein Element davon, die bzw. das nicht arbeitet, dennoch ‚konfiguriert‘, um eine vorgesehene Aufgabe durchzuführen, falls sie bzw. es konstruiert, gekoppelt und/oder verbunden ist, um diese vorgesehene Aufgabe durchzuführen. Als rein illustratives Beispiel kann ein logisches Gatter eine 0 oder eine 1 während des Betriebs bereitstellen. Aber ein logisches Gatter, das ‚konfiguriert ist‘, ein Aktivierungssignal an einen Taktgeber zu liefern, enthält nicht jedes mögliche logische Gatter, das eine 1 oder eine 0 liefern kann. Stattdessen ist das logische Gatter eines, das auf irgendeine Weise gekoppelt ist, sodass während des Betriebs die 1- oder 0-Ausgabe den Taktgeber aktivieren soll. Es ist nochmals anzumerken, dass die Verwendung des Begriffs konfiguriert, zu‘ keinen Betrieb erfordert, sondern sich stattdessen auf den latenten Zustand einer Vorrichtung, Hardware und/oder eines Elements konzentriert, wobei die Vorrichtung, die Hardware und/oder das Element konstruiert ist, im latenten Zustand eine bestimmte Aufgabe durchzuführen, wenn die Vorrichtung, die Hardware und/oder das Element in Betrieb ist.
  • Ferner bezeichnet die Verwendung der Begriffe ,fähig zu‘ und/oder ,wirksam zu‘ in einer Ausführungsform auf eine Vorrichtung, Logik, Hardware und/oder ein Element, die bzw. das so konstruiert ist, dass sie bzw. es die Verwendung der Vorrichtung, Logik, Hardware und/oder des Elements auf eine vorgegebene Weise ermöglicht. Wie oben ist anzumerken, dass sich die Verwendung von zu, fähig zu oder wirksam zu in einer Ausführungsform auf den latenten Zustand einer Vorrichtung, von Logik, Hardware und/oder eines Elements bezieht, wobei die Vorrichtung, Logik, Hardware und/oder das Element nicht in Betrieb ist, aber auf eine solche Art konstruiert ist, dass sie bzw. es die Verwendung einer Vorrichtung auf eine vorgegebene Weise ermöglicht.
  • Ein Wert, wie hierin verwendet, enthält eine beliebige bekannte Darstellung einer Ziffer, eines Zustands, eines logischen Zustands oder eines binären logischen Zustands. Oft wird die Verwendung von Logikpegeln, Logikwerten oder logischen Werten auch als 1en und 0en bezeichnet, was einfach binäre logische Zustände darstellt. Eine 1 bezeichnet beispielsweise einen hohen Logikpegel und eine 0 bezeichnet einen niedrigen Logikpegel. In einer Ausführungsform kann eine Speicherzelle, wie ein Transistor oder eine Flashzelle, fähig sein, einen einzigen logischen Wert oder mehrere logische Werte zu halten. Andere Darstellungen von Werten in Computersystemen wurden jedoch verwendet. Beispielsweise kann die Dezimalzahl zehn auch als ein Binärwert von 1010 und ein hexadezimaler Buchstabe A repräsentiert werden. Deshalb enthält ein Wert eine beliebige Darstellung von Informationen, die in einem Computersystem gehalten werden kann.
  • Darüber hinaus können Zustände durch Werte oder Teile von Werten dargestellt werden. Als Beispiel kann ein erster Wert, wie eine logische Eins, einen Standard- oder Anfangszustand darstellen, während ein zweiter Wert, wie eine logische Null, einen nicht standardmäßigen Zustand darstellen kann. Außerdem bezeichnen die Begriffe Rücksetzen und Setzen in einer Ausführungsform einen Standard- und einen aktualisierten Wert bzw. Zustand. Ein Standardwert enthält zum Beispiel möglicherweise einen hohen logischen Wert, d. h., Rücksetzen, während ein aktualisierter Wert möglicherweise einen niedrigen logischen Wert, d. h., Setzen enthält. Es ist anzumerken, dass eine beliebige Kombination von Werten eingesetzt werden kann, um eine beliebige Anzahl an Zuständen zu repräsentieren.
  • Die Ausführungsformen von Verfahren, Hardware, Software, Firmware oder Code, die oben dargelegt wurden, können über Anweisungen oder Code implementiert werden, die bzw. der auf einem maschinenzugänglichen, maschinenlesbaren, computerzugänglichen oder computerlesbaren Medium gespeichert sind bzw. ist und von einem Verarbeitungselement ausgeführt werden können bzw. kann. Ein nicht transitorisches maschinenzugängliches/-lesbares Medium enthält einen beliebigen nicht transitorischen Mechanismus, der Informationen in einer von einer Maschine, wie einem Computer oder elektronischen System lesbaren Form bereitstellt (d. h., speichert und/oder überträgt). Ein nicht transitorisches maschinenzugängliches Medium enthält zum Beispiel Arbeitsspeicher mit wahlfreiem Zugriff (RAM), wie statischen RAM (SRAM) oder dynamischen RAM (DRAM); ROM; ein magnetisches oder optisches Speichermedium; Flashspeichereinrichtungen; elektrische Speichereinrichtungen; optische Speichereinrichtungen; akustische Speichereinrichtungen; oder eine andere Form von Speichereinrichtungen zum Halten von Informationen, die aus transitorischen (propagierten) Signalen empfangen wurden (z. B. Trägerwellen, Infrarotsignale, Digitalsignale); usw., die von den nicht transitorischen Medien zu unterscheiden sind, die Informationen von diesen empfangen können.
  • Anweisungen, die verwendet werden, um Ausführungsformen der Offenbarung durchzuführen, können in einem Arbeitsspeicher im System gespeichert sein, wie DRAM, Zwischenspeicher, Flashspeicher oder einem anderen Speicher. Ferner können die Anweisungen über ein Netzwerk oder mittels anderer computerlesbarer Medien verteilt werden. Deshalb kann ein maschinenlesbares Medium einen beliebigen Mechanismus zum Speichern oder Übertragen von Informationen in einer von einer Maschine (z. B. einem Computer) lesbaren Form enthalten, aber ist nicht auf Floppy-Disketten, optische Platten, schreibgeschützte Compact Discs (CD-ROMs) und magnetooptische Platten, schreibgeschützten Arbeitsspeicher (ROMs), Arbeitsspeicher mit wahlfreiem Zugriff (RAM), löschbaren programmierbaren schreibgeschützten Arbeitsspeicher (EPROM), elektrisch löschbaren programmierbaren schreibgeschützten Arbeitsspeicher (EEPROM), magnetische oder optische Karten, Flashspeicher oder einen greifbaren maschinenlesbaren Speicher beschränkt, der bei der Übertragung von Informationen über das Internet über elektrische, optische, akustische oder andere Formen von propagierten Signalen (z. B. Trägerwellen, Infrarotsignalen, Digitalsignalen usw.) verwendet wird. Dementsprechend enthält das computerlesbare Medium irgendeine Art von greifbarem maschinenlesbarem Medium, das zum Speichern oder Übertragen von elektronischen Anweisungen oder Informationen in einer Form geeignet ist, die von einer Maschine (z. B. einem Computer) gelesen werden kann.
  • Eine oder mehrere Ausführungsformen können eine Vorrichtung, ein System oder Hardware- und/oder Software-basierte Logik vorsehen, die einen Anschluss umfassen, um an eine Vielzahl von Kommunikationspfaden zu koppeln, die einen ersten, einen zweiten, einen dritten und einen vierten Kommunikationspfad umfassen, wobei die Kommunikationspfade jeweils eine Richtung entweder eines Empfangspfads oder eines Sendepfads aufweisen, die Kommunikationspfade einen ersten Kommunikationspfad mit einer Richtung umfassen, die selektiv als ein Empfangspfad oder ein Sendepfad konfiguriert werden kann; und eine Steuerung, die Verschaltung umfasst, wobei die Steuerung als Reaktion auf einen Kommunikationspfad-Neukonfigurationsbefehl die Richtung des ersten Kommunikationspfads so neu konfiguriert, dass der erste Kommunikationspfad, der zweite Kommunikationspfad und der dritte Kommunikationspfad die gleiche Richtung aufweisen und der vierte Kommunikationspfad eine der Richtung des ersten, des zweiten und des dritten Kommunikationspfads entgegengesetzte Richtung aufweist.
  • In mindestens einem Beispiel hat die Steuerung ferner den Kommunikationspfad-Neukonfigurationsbefehl von einem Softwaretreiber zu empfangen. In mindestens einem Beispiel hat die Steuerung ferner den Kommunikationspfad-Neukonfigurationsbefehl von einem Softwaretreiber zu empfangen. In mindestens einem Beispiel hat der Softwaretreiber den Kommunikationspfad-Neukonfigurationsbefehl als Reaktion auf einen erwarteten asymmetrischen Verkehrsfluss über die Kommunikationspfade hinweg zu generieren. In mindestens einem Beispiel hat der Softwaretreiber zu ermitteln, den Kommunikationspfad-Neukonfigurationsbefehl auf Grundlage einer mit einer Neukonfiguration des ersten Kommunikationspfads assoziierten Latenz und einer Größe eines Datentransfers zu generieren. In mindestens einem Beispiel hat der Softwaretreiber während einer Initialisierung einer Anbindung an eine an die Vielzahl der Kommunikationspfade gekoppelte Einrichtung einen Hinweis zu speichern, dass die Einrichtung fähig ist, die Richtung des ersten Kommunikationspfads neu zu konfigurieren; und den Kommunikationspfad-Neukonfigurationsbefehl als Reaktion auf ein Prüfen des Hinweises zu generieren, um zu verifizieren, dass die Einrichtung fähig ist, die Richtung des ersten Kommunikationspfads neu zu konfigurieren. In mindestens einem Beispiel hat die Steuerung ferner als Reaktion auf den Kommunikationspfad-Neukonfigurationsbefehl eine Anforderung an eine Steuerung einer an die Vielzahl der Kommunikationspfade gekoppelten Einrichtung zu senden, wobei die Anforderung eine Neukonfiguration der Richtung des ersten Kommunikationspfads anzugeben hat. In mindestens einem Beispiel ist die Anforderung in einem Anschlusskonfigurations-Anbindungsverwaltungspaket (Anschlusskonfigurations-LMP) enthalten. In mindestens einem Beispiel ist die Anforderung innerhalb eines Anbindungs-Trainingspakets enthalten. In mindestens einem Beispiel hat die Steuerung ferner eine Bestätigung von der Steuerung der Einrichtung als Reaktion auf die Anforderung zu empfangen. In mindestens einem Beispiel ist die Anforderung in einem Anschlusskonfigurations-Antwort-LMP enthalten. In mindestens einem Beispiel ist die Richtung des zweiten Kommunikationspfads selektiv als ein Empfangspfad oder ein Sendepfad konfigurierbar; die Richtung des dritten Kommunikationspfads ist als ein Sendepfad fixiert; und die Richtung des vierten Kommunikationspfads ist als ein Empfangspfad fixiert.
  • In mindestens einem Beispiel hat die Steuerung als Reaktion auf den Kommunikationspfad-Neukonfigurationsbefehl eine Neukonfiguration der Richtung des ersten Kommunikationspfads von einem Empfangspfad zu einem Sendepfad neu zu konfigurieren, sodass drei der Kommunikationspfade als Sendepfade konfiguriert sind und einer der Kommunikationspfade als ein Empfangspfad konfiguriert ist. In mindestens einem Beispiel hat die Steuerung ferner ein Datenpaket auf Striping-Weise über die drei Sendepfade und einen Kopf, der mit dem Datenpaket assoziiert ist, auf kopierte Weise über die drei Sendepfade zu senden. In mindestens einem Beispiel umfasst die Vorrichtung, das System, oder die Hardware- und/oder Software-basierte Logik ferner einen zweiten Anschluss, um an eine Vielzahl von zweiten Kommunikationspfaden zu koppeln, wobei die Steuerung ferner als Reaktion auf einen erwarteten asymmetrischen Verkehrsfluss die Richtung des ersten Kommunikationspfads von einem Empfangspfad zu einem Sendepfad neu zu konfigurieren hat; und eine Richtung eines Kommunikationspfads des zweiten Kommunikationspfads von einem Sendepfad zu einem Empfangspfad neu zu konfigurieren hat.
  • Eine oder mehrere Ausführungsformen können eine Vorrichtung, ein System oder Hardware- und/oder Software-basierte Logik vorsehen, die einen Prozessor umfassen, um Verschaltung zu umfassen, wobei der Prozessor einen Softwaretreiber auszuführen hat, wobei der Softwaretreiber von einem Betriebssystem mit einem Datentransfer assoziierte Informationen zu empfangen hat; und als Reaktion auf die mit dem Datentransfer assoziierten Informationen einen Kommunikationspfad-Neukonfigurationsbefehl an eine Kommunikationssteuerung zu senden, wobei der Kommunikationspfad-Neukonfigurationsbefehl die Kommunikationssteuerung zu veranlassen hat, eine Richtung eines ersten Kommunikationspfads einer Vielzahl von Kommunikationspfaden neu zu konfigurieren, die Kommunikationspfade den ersten Kommunikationspfad und einen zweiten, einen dritten und einen vierten Kommunikationspfad umfassen, wobei die Kommunikationspfade jeweils eine Richtung entweder eines Empfangspfads oder eines Sendepfads aufweisen, wobei die Richtung des ersten Kommunikationspfads selektiv zwischen einem Sendepfad oder einem Empfangspfad konfigurierbar ist und eine Neukonfiguration des ersten Kommunikationspfads in einer Konfiguration resultiert, in der der erste, der zweite und der dritte Kommunikationspfad die gleiche Richtung aufweisen und der vierte Kommunikationspfad eine der Richtung des ersten, des zweiten und des dritten Kommunikationspfads entgegengesetzte Richtung aufweist.
  • In mindestens einem Beispiel umfasst die Vorrichtung, das System oder die Hardware- und/oder Software-basierte Logik ferner die Kommunikationssteuerung und einen Anschluss, um an den ersten Kommunikationspfad zu koppeln. In mindestens einem Beispiel hat der Softwaretreiber den Kommunikationspfad-Neukonfigurationsbefehl als Reaktion auf einen erwarteten asymmetrischen Verkehrsfluss über eine Vielzahl der Kommunikationspfade hinweg zu generieren.
  • Eine oder mehrere Ausführungsformen können ein maschinenlesbares Speichermedium vorsehen, das Anweisungen umfasst, ein maschinenlesbares Medium, das eine Anweisung umfasst, ein Verfahren oder ein nicht transitorisches maschinenlesbares Medium (das Informationen enthält, um bei Fertigung Strukturen zu repräsentieren, die zu konfigurieren sind), um mit einem Datentransfer assoziierte Informationen zu empfangen; und als Reaktion auf die mit dem Datentransfer assoziierten Informationen einen Kommunikationspfad-Neukonfigurationsbefehl an eine Kommunikationssteuerung zu senden, wobei der Kommunikationspfad-Neukonfigurationsbefehl die Kommunikationssteuerung zu veranlassen hat, eine Richtung eines ersten Kommunikationspfads einer Vielzahl von Kommunikationspfaden neu zu konfigurieren, die Kommunikationspfade den ersten Kommunikationspfad und einen zweiten, einen dritten und einen vierten Kommunikationspfad umfassen, wobei die Kommunikationspfade jeweils eine Richtung entweder eines Empfangspfads oder eines Sendepfads aufweisen, wobei die Richtung des ersten Kommunikationspfads selektiv zwischen einem Sendepfad oder einem Empfangspfad konfigurierbar ist und eine Neukonfiguration des ersten Kommunikationspfads in einer Konfiguration resultiert, in der der erste, der zweite und der dritte Kommunikationspfad die gleiche Richtung aufweisen und der vierte Kommunikationspfad eine der Richtung des ersten, des zweiten und des dritten Kommunikationspfads entgegengesetzte Richtung aufweist.
  • In mindestens einem Beispiel kann ein maschinenlesbares Speichermedium, das Anweisungen umfasst, ein maschinenlesbares Medium, das eine Anweisung umfasst, ein Verfahren oder ein nicht transitorisches maschinenlesbares Medium (das Informationen enthält, um bei Fertigung Strukturen zu repräsentieren, die zu konfigurieren sind) ferner auf Grundlage einer mit einer Neukonfiguration des ersten Kommunikationspfads assoziierten Latenz und einer Größe eines Datentransfers ermitteln, den Kommunikationspfad-Neukonfigurationsbefehl zu generieren. In mindestens einem Beispiel kann ein maschinenlesbares Speichermedium, das Anweisungen umfasst, ein maschinenlesbares Medium, das eine Anweisung umfasst, ein Verfahren oder ein nicht transitorisches maschinenlesbares Medium (das Informationen enthält, um bei Fertigung Strukturen zu repräsentieren, die zu konfigurieren sind) ferner als Reaktion auf einen erwarteten asymmetrischen Verkehrsfluss über eine Vielzahl von Kommunikationspfaden den Kommunikationspfad-Neukonfigurationsbefehl generieren.
  • Eine Bezugnahme in dieser gesamten Beschreibung auf „eine einzelne Ausführungsform“ oder „eine Ausführungsform“ bedeutet, dass ein bestimmtes Merkmal, eine bestimmte Struktur oder eine bestimmte Eigenschaft, die in Verbindung mit den Ausführungsformen beschrieben wird, in zumindest einer Ausführungsform der vorliegenden Offenbarung enthalten ist. Deshalb bezieht sich das Auftreten der Phrasen „in einer einzelnen Ausführungsform“ oder „in einer Ausführungsform“ an verschiedenen Stellen in dieser gesamten Beschreibung nicht notwendigerweise immer auf die gleiche Ausführungsform. Ferner können die einzelnen Merkmale, Strukturen oder Eigenschaften in beliebiger geeigneter Weise in einer oder mehreren Ausführungsformen kombiniert werden.
  • In der vorstehenden Beschreibung wurde eine detaillierte Beschreibung unter Bezugnahme auf bestimmte beispielhafte Ausführungsformen gegeben. Es ist jedoch offensichtlich, dass verschiedene Modifikationen und Änderungen daran vorgenommen werden können, ohne vom allgemeinen Gedanken und Umfang der Offenbarung abzuweichen, wie in den beigefügten Ansprüchen dargelegt. Die Beschreibung und Zeichnungen sollen dementsprechend in einem illustrierenden Sinn statt in einem einschränkenden Sinn betrachtet werden. Ferner bezieht sich die vorangehende Verwendung einer Ausführungsform und anderer beispielhafter Sprache nicht notwendigerweise auf dieselbe Ausführungsform oder dasselbe Beispiel, sondern kann sich auf unterschiedliche und verschiedene Ausführungsformen sowie möglicherweise dieselbe Ausführungsform beziehen.

Claims (25)

  1. Vorrichtung, umfassend: einen Anschluss, um an eine Vielzahl von Kommunikationspfaden zu koppeln, die einen ersten, einen zweiten, einen dritten und einen vierten Kommunikationspfad umfassen, wobei die Kommunikationspfade jeweils eine Richtung entweder eines Empfangspfads oder eines Sendepfads aufweisen, die Kommunikationspfade einen ersten Kommunikationspfad mit einer Richtung umfassen, die selektiv als ein Empfangspfad oder ein Sendepfad konfiguriert werden kann, und eine Steuerung, die Verschaltung umfasst, wobei die Steuerung: als Reaktion auf einen Kommunikationspfad-Neukonfigurationsbefehl die Richtung des ersten Kommunikationspfads so neu zu konfigurieren hat, dass der erste Kommunikationspfad, der zweite Kommunikationspfad und der dritte Kommunikationspfad die gleiche Richtung aufweisen und der vierte Kommunikationspfad eine der Richtung des ersten, des zweiten und des dritten Kommunikationspfads entgegengesetzte Richtung aufweist.
  2. Vorrichtung nach Anspruch 1, wobei die Steuerung ferner den Kommunikationspfad-Neukonfigurationsbefehl von einem Softwaretreiber zu empfangen hat.
  3. Vorrichtung nach Anspruch 2, wobei der Softwaretreiber den Kommunikationspfad-Neukonfigurationsbefehl als Reaktion auf einen erwarteten asymmetrischen Verkehrsfluss über die Kommunikationspfade hinweg zu generieren hat.
  4. Vorrichtung nach einem der Ansprüche 2-3, wobei der Softwaretreiber zu ermitteln hat, den Kommunikationspfad-Neukonfigurationsbefehl auf Grundlage einer mit einer Neukonfiguration des ersten Kommunikationspfads assoziierten Latenz und einer Größe eines Datentransfers zu generieren.
  5. Vorrichtung nach einem der Ansprüche 2-4, wobei der Softwaretreiber: während einer Initialisierung einer Anbindung an eine an die Vielzahl der Kommunikationspfade gekoppelte Einrichtung einen Hinweis zu speichern hat, dass die Einrichtung fähig ist, die Richtung des ersten Kommunikationspfads neu zu konfigurieren; und den Kommunikationspfad-Neukonfigurationsbefehl als Reaktion auf ein Prüfen des Hinweises zu generieren hat, um zu verifizieren, dass die Einrichtung fähig ist, die Richtung des ersten Kommunikationspfads neu zu konfigurieren.
  6. Vorrichtung nach einem der Ansprüche 1-5, wobei die Steuerung ferner: als Reaktion auf den Kommunikationspfad-Neukonfigurationsbefehl eine Anforderung an eine Steuerung einer an die Vielzahl der Kommunikationspfade gekoppelten Einrichtung zu senden hat, wobei die Anforderung eine Neukonfiguration der Richtung des ersten Kommunikationspfads anzugeben hat.
  7. Vorrichtung nach Anspruch 6, wobei die Anforderung in einem Anschlusskonfigurations-Anbindungsverwaltungspaket (Anschlusskonfigurations-LMP) enthalten ist.
  8. Vorrichtung nach Anspruch 6, wobei die Anforderung innerhalb eines Anbindungs-Trainingspakets eingebettet ist.
  9. Vorrichtung nach Anspruch 6, wobei die Steuerung ferner: eine Bestätigung von der Steuerung der Einrichtung als Reaktion auf die Anforderung zu empfangen hat.
  10. Vorrichtung nach Anspruch 9, wobei die Bestätigung in einem Anschlusskonfigurations-Antwort-LMP enthalten ist.
  11. Vorrichtung nach einem der Ansprüche 1-10, wobei: die Richtung des zweiten Kommunikationspfads selektiv als ein Empfangspfad oder ein Sendepfad konfigurierbar ist; die Richtung des dritten Kommunikationspfads als ein Sendepfad fixiert ist; und die Richtung des vierten Kommunikationspfads als ein Empfangspfad fixiert ist.
  12. Vorrichtung nach einem der Ansprüche 1-10, wobei die Steuerung als Reaktion auf den Kommunikationspfad-Neukonfigurationsbefehl eine Neukonfiguration der Richtung des ersten Kommunikationspfads von einem Empfangspfad zu einem Sendepfad neu zu konfigurieren hat, sodass drei der Kommunikationspfade als Sendepfade konfiguriert sind und einer der Kommunikationspfade als ein Empfangspfad konfiguriert ist.
  13. Vorrichtung nach Anspruch 12, wobei die Steuerung ferner ein Datenpaket auf Striping-Weise über die drei Sendepfade und einen Kopf, der mit dem Datenpaket assoziiert ist, auf kopierte Weise über die drei Sendepfade zu senden hat.
  14. Vorrichtung nach einem der Ansprüche 1-13, ferner umfassend einen zweiten Anschluss, um an eine Vielzahl von zweiten Kommunikationspfaden zu koppeln, wobei die Steuerung als Reaktion auf einen erwarteten asymmetrischen Verkehrsfluss: die Richtung des ersten Kommunikationspfads von einem Empfangspfad zu einem Sendepfad neu zu konfigurieren hat; und eine Richtung eines Kommunikationspfads der Vielzahl der zweiten Kommunikationspfade von einem Sendepfad zu einem Empfangspfad neu zu konfigurieren hat.
  15. System, umfassend: einen Prozessor, der Verschaltung umfasst, wobei der Prozessor einen Softwaretreiber auszuführen hat, wobei der Softwaretreiber: von einem Betriebssystem mit einem Datentransfer assoziierte Informationen zu empfangen hat; und als Reaktion auf die mit dem Datentransfer assoziierten Informationen einen Kommunikationspfad-Neukonfigurationsbefehl an eine Kommunikationssteuerung zu senden hat, wobei der Kommunikationspfad-Neukonfigurationsbefehl die Kommunikationssteuerung zu veranlassen hat, eine Richtung eines ersten Kommunikationspfads einer Vielzahl von Kommunikationspfaden neu zu konfigurieren, die Kommunikationspfade den ersten Kommunikationspfad und einen zweiten, einen dritten und einen vierten Kommunikationspfad umfassen, wobei die Kommunikationspfade jeweils eine Richtung entweder eines Empfangspfads oder eines Sendepfads aufweisen, wobei die Richtung des ersten Kommunikationspfads selektiv zwischen einem Sendepfad oder einem Empfangspfad konfigurierbar ist und eine Neukonfiguration des ersten Kommunikationspfads in einer Konfiguration resultiert, in der der erste, der zweite und der dritte Kommunikationspfad die gleiche Richtung aufweisen und der vierte Kommunikationspfad eine der Richtung des ersten, des zweiten und des dritten Kommunikationspfads entgegengesetzte Richtung aufweist.
  16. System nach Anspruch 15, ferner umfassend die Kommunikationssteuerung und einen Anschluss, um an den ersten Kommunikationspfad zu koppeln.
  17. System nach einem der Ansprüche 15-16, wobei der Softwaretreiber den Kommunikationspfad-Neukonfigurationsbefehl als Reaktion auf einen erwarteten asymmetrischen Verkehrsfluss über eine Vielzahl von Kommunikationspfaden hinweg zu generieren hat.
  18. Nichtflüchtiges maschinenlesbares Medium, das Anweisungen beinhaltet, die, wenn sie von einer Maschine ausgeführt werden: mit einem Datentransfer assoziierte Informationen zu empfangen haben; und als Reaktion auf die mit dem Datentransfer assoziierten Informationen einen Kommunikationspfad-Neukonfigurationsbefehl an eine Kommunikationssteuerung zu senden hat, wobei der Kommunikationspfad-Neukonfigurationsbefehl die Kommunikationssteuerung zu veranlassen hat, eine Richtung eines ersten Kommunikationspfads einer Vielzahl von Kommunikationspfaden neu zu konfigurieren, die Kommunikationspfade den ersten Kommunikationspfad und einen zweiten, einen dritten und einen vierten Kommunikationspfad umfassen, wobei die Kommunikationspfade jeweils eine Richtung entweder eines Empfangspfads oder eines Sendepfads aufweisen, wobei die Richtung des ersten Kommunikationspfads selektiv zwischen einem Sendepfad oder einem Empfangspfad konfigurierbar ist und eine Neukonfiguration des ersten Kommunikationspfads in einer Konfiguration resultiert, in der der erste, der zweite und der dritte Kommunikationspfad die gleiche Richtung aufweisen und der vierte Kommunikationspfad eine der Richtung des ersten, des zweiten und des dritten Kommunikationspfads entgegengesetzte Richtung aufweist.
  19. Medium nach Anspruch 18, wobei die Anweisungen bei Ausführung ferner zu ermitteln haben, den Kommunikationspfad-Neukonfigurationsbefehl auf Grundlage einer mit einer Neukonfiguration des ersten Kommunikationspfads assoziierten Latenz und einer Größe eines Datentransfers zu generieren.
  20. Medium nach einem der Ansprüche 18-19, wobei die Anweisungen bei Ausführung ferner den Kommunikationspfad-Neukonfigurationsbefehl als Reaktion auf einen erwarteten asymmetrischen Verkehrsfluss über eine Vielzahl von Kommunikationspfaden hinweg zu generieren haben.
  21. System, umfassend: einen Anschluss, um an eine Vielzahl von Kommunikationspfaden zu koppeln, die einen ersten, einen zweiten, einen dritten und einen vierten Kommunikationspfad umfassen, wobei die Kommunikationspfade jeweils eine Richtung entweder eines Empfangspfads oder eines Sendepfads aufweisen, die Kommunikationspfade einen ersten Kommunikationspfad mit einer Richtung umfassen, die selektiv als ein Empfangspfad oder ein Sendepfad konfiguriert werden kann, und Mittel, um als Reaktion auf einen Kommunikationspfad-Neukonfigurationsbefehl die Richtung des ersten Kommunikationspfads so neu zu konfigurieren, dass der erste Kommunikationspfad, der zweite Kommunikationspfad und der dritte Kommunikationspfad die gleiche Richtung aufweisen und der vierte Kommunikationspfad eine der Richtung des ersten, des zweiten und des dritten Kommunikationspfads entgegengesetzte Richtung aufweist.
  22. System nach Anspruch 21, ferner umfassend einen Softwaretreiber, um den Kommunikationspfad-Neukonfigurationsbefehl zu senden.
  23. System nach Anspruch 22, wobei der Softwaretreiber den Kommunikationspfad-Neukonfigurationsbefehl als Reaktion auf einen erwarteten asymmetrischen Verkehrsfluss über die Kommunikationspfade hinweg zu generieren hat.
  24. System nach einem der Ansprüche 22-23, wobei der Softwaretreiber zu ermitteln hat, den Kommunikationspfad-Neukonfigurationsbefehl auf Grundlage einer mit einer Neukonfiguration des ersten Kommunikationspfads assoziierten Latenz und einer Größe eines Datentransfers zu generieren.
  25. System nach einem der Ansprüche 22-24, wobei der Softwaretreiber: während einer Initialisierung einer Anbindung an eine an die Vielzahl der Kommunikationspfade gekoppelte Einrichtung einen Hinweis zu speichern hat, dass die Einrichtung fähig ist, die Richtung des ersten Kommunikationspfads neu zu konfigurieren; und den Kommunikationspfad-Neukonfigurationsbefehl als Reaktion auf ein Prüfen des Hinweises zu generieren hat, um zu verifizieren, dass die Einrichtung fähig ist, die Richtung des ersten Kommunikationspfads neu zu konfigurieren.
DE102019120357.0A 2018-08-29 2019-07-29 Dynamische asymmetrische kommunikationspfadzuteilung Pending DE102019120357A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/116,824 2018-08-29
US16/116,824 US10873525B2 (en) 2018-08-29 2018-08-29 Dynamic asymmetric communication path allocation

Publications (1)

Publication Number Publication Date
DE102019120357A1 true DE102019120357A1 (de) 2020-03-05

Family

ID=65720822

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102019120357.0A Pending DE102019120357A1 (de) 2018-08-29 2019-07-29 Dynamische asymmetrische kommunikationspfadzuteilung

Country Status (2)

Country Link
US (1) US10873525B2 (de)
DE (1) DE102019120357A1 (de)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11188494B2 (en) 2019-05-21 2021-11-30 Google Llc Asymmetric data communication for host-device interface
GB202001700D0 (en) * 2020-02-07 2020-03-25 Blancco Tech Group Ip Oy USB controller endpoint resource management
US11704032B2 (en) * 2021-04-26 2023-07-18 Micron Technology, Inc. Switchable lane directions between a host system and a memory system
US20240264965A1 (en) * 2023-02-07 2024-08-08 Qualcomm Incorporated Channel direction management for bus interfaces

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8661173B2 (en) * 2008-03-31 2014-02-25 Intel Corporation USB data striping
US9787571B2 (en) * 2014-12-22 2017-10-10 Intel Corporation Link delay based routing apparatus for a network-on-chip
US9960990B2 (en) * 2015-08-12 2018-05-01 xCelor LLC Systems and methods for monitoring and managing communication paths
US10007589B2 (en) * 2015-09-25 2018-06-26 Intel Corporation System and method for universal serial bus (USB) protocol debugging
US20170270067A1 (en) * 2016-03-18 2017-09-21 Triad Seminconductor, Inc. Usb hub host detection
CN109844725B (zh) * 2016-07-01 2023-07-25 英特尔公司 点对点互连中的非对称通道

Also Published As

Publication number Publication date
US20190089624A1 (en) 2019-03-21
US10873525B2 (en) 2020-12-22

Similar Documents

Publication Publication Date Title
DE102019009207B3 (de) Vorrichtungen, verfahren und nichttransitorisches computerlesbares speichermedien für dvsec für eine effiziente peripheriegeräteverwaltung
KR101565357B1 (ko) 타임아웃을 처리하기 위한 시스템, 방법 및 장치
DE112014006183T5 (de) Vorrichtung, Verfahren und System für einen Schnellkonfigurationsmechanismus
DE112016002913T5 (de) Dynamische Konfiguration von Verbindungsmodi an einem System basierend auf Hostgerätefähigkeiten
DE102020130978A1 (de) Seitenbandsignalisierung über vorhandene hilfsstifte einer schnittstelle
EP3274855B1 (de) Selektive aktivierung von ersten und zweiten kommunikationspfaden mittels eines verstärkers
KR101591818B1 (ko) 저전력 상태로의 포트 진입을 동기화하기 위한 시스템, 방법 및 장치
US9953001B2 (en) Method, apparatus, and system for plugin mechanism of computer extension bus
DE102019109858A1 (de) Breiten- und Frequenzumsetzung mit PHY-Schicht-Vorrichtungen
DE102019120357A1 (de) Dynamische asymmetrische kommunikationspfadzuteilung
DE112015003035T5 (de) Gemeinsame nutzung eines usb-stromzufuhr-controllers
DE112016004300T5 (de) Verfahren, gerät und system zum zuweisen von cache unter verwendung einer verkehrsklasse
DE102020128760A1 (de) Zustände mit teilweiser verbindungsbreite für mehrbahnverbindungen
DE112016004332T5 (de) Verfahren, vorrichtungen und systeme zum taktversatzausgleich von datenverbindungaufteilungen
DE112016002895T5 (de) Authentifizierung einer Mehrprotokollverbindung
US20210311895A1 (en) Disaggregation of computing devices using enhanced retimers with circuit switching
DE112013001305T5 (de) Ein Verfahren, eine Vorrichtung und ein System zur verteilten Vorverarbeitung von Berührungsdaten und Anzeigebereichsteuerung
DE102019101810A1 (de) Reduzierung von Skew zwischen einem positiven und einem negativen Leiter, die ein differentielles Signalpaar tragen
DE102018125241A1 (de) Mechanismus einer asymmetrischen Vollduplex-USB-SS-Verbindungsstrecke
DE102019132213A1 (de) Adressenübersetzung für skalierbare verlinkte Vorrichtungen
DE102020123484A1 (de) Programmierbare Datenbusinversion und konfigurierbare Implementierung
DE102022131051A1 (de) Verschaltungsnetzwerk für mehrfachkachel-system-auf-chips
US20220121594A1 (en) Soc architecture to reduce memory bandwidth bottlenecks and facilitate power management
DE112017004891T5 (de) Multidimensionale Optimierung von elektrischen Parametern zum Trainieren eines Speichers
DE102022129397A1 (de) Beschleuniger-fabric für diskrete grafik