-
Technisches Gebiet
-
In diesem Dokument beschriebene Ausführungsformen betreffen im Allgemeinen das Gebiet der Stromverwaltung und genauer die Verwaltung des Stromverbrauchs von diskreten Kommunikationskanalkomponenten in einem Computersystem.
-
Allgemeiner Stand der Technik
-
Die gegenwärtigen Trends in der Industrie gehen in Richtung der Bereitstellung von kleineren, leichteren und dünneren Computersystemen. Besonders mobile Vorrichtungen einschließlich Laptop-Computern, Tablet-Computern usw. erfahren fortlaufend eine Größenverringerung. Batterien können einen bedeutenden Anteil an dem Volumen einer Vorrichtung darstellen, um eine ausreichend nützliche Betriebszeit bereitzustellen. Eine Verringerung des Stromverbrauchs von Komponenten des Computersystems kann eine verlängerte Betriebszeit oder eine Verringerung der Batteriegröße gestatten.
-
Figurenliste
-
In den Figuren der beiliegenden Zeichnungen, in denen sich gleiche Bezugszeichen auf gleichartige Elemente beziehen, werden in diesem Dokument beschriebene Ausführungsformen beispielhaft und nicht beschränkend dargestellt:
- 1a ist ein Blockdiagramm einer Schnittstelle, die einen aktiven Multiplexer aufweist;
- 1b ist ein Blockdiagramm einer Schnittstelle, die eine Repeater-Schaltung aufweist;
- 2 ist ein Blockdiagramm einer Schnittstelle, die eine Repeater-Schaltung für einen generischen USB-Anschluss aufweist.
- 3 ist ein Ablaufdiagramm, das ein Verfahren zum Anschließen einer USB-Vorrichtung darstellt;
- 4 ist ein Ablaufdiagramm, das ein Verfahren zum Wiederanschließen einer Vorrichtung als Reaktion auf das Eintreten eines Systems oder einer angeschlossenen Vorrichtung in einen Stromsparmodus darstellt;
- 5 ist ein Ablaufdiagramm, das ein Verfahren zum Wiederanschließen einer Vorrichtung als Reaktion auf ein Erwachen an einem USB-Anschluss oder ein System, das aus irgendeinem anderen Grund aus dem Stromsparmodus erwacht, darstellt;
- 6 ist ein Blockdiagramm, das eine firmwarebasierte Schnittstelle darstellt, die zur Ausführung von Beispielen geeignet ist; und
- 7a ist ein Ablaufdiagramm, das die Softwareabläufe für die Stromverwaltung diskreter Komponenten zur Vorbereitung auf ein Ereignis des Eintretens in einen Stromsparmodus oder des Bringens einer angeschlossenen Vorrichtung in den Stromsparmodus darstellt.
- 7b ist ein Ablaufdiagramm, das die Softwareabläufe für die Stromverwaltung der diskreten Komponenten als Reaktion auf ein Ereignis des Verlassens des Stromsparmodus darstellt.
-
Beschreibung von Ausführungsformen
-
In der folgenden ausführlichen Beschreibung können gleiche Bezugszeichen und Buchstaben verwendet werden, um in den Zeichnungen unterschiedlicher Figuren identische, entsprechende und/oder gleichartige Komponenten zu bezeichnen. Wenn bestimmte Einzelheiten dargelegt sind, um beispielhafte Ausführungsformen zu beschreiben, sollte ein Fachmann verstehen, dass Ausführungsformen ohne diese bestimmten Einzelheiten ausgeführt werden können.
-
Erläuternde Ausführungsformen der vorliegenden Offenbarung beinhalten Verfahren, Systeme und Vorrichtungen und maschinenlesbare Befehle zum Verwalten des Stromverbrauchs von diskreten Kommunikationskanalkomponenten in einer Vorrichtung oder einem Computersystem, sind aber nicht darauf beschränkt.
-
Periphervorrichtungen können über Kommunikationsports mit Computersystemen gekoppelt werden, um zusätzliche Funktionen zu gestatten, zum Beispiel Tastaturen, Mäuse, Drucker usw. Eine verbreitete Option, die bei vielen Computersystemen bereitgestellt ist, um Anschlüsse von Periphervorrichtungen zu gestatten, ist die USB-Schnittstelle. Kürzlich wurde die Spezifikation USB-Typ-C eingeführt, die einen einzelnen umkehrbaren Steckverbinder mit der Fähigkeit zur Unterstützung von Anzeige-, Strom- und Datenfunktionen in einem einzelnen Kabel/Anschluss definiert.
-
Bei vielen USB-Typ-C-Ausführungen sind auf dem Datenpfad diskrete Komponenten bereitgestellt, die aufgrund der Prioritäten verschiedener Anbieter im Hinblick auf Kompromisse bei Kosten/Leistung/Aufwand stromoptimiert sein können oder nicht. Ebenso unterstützen einige USB-Typ-A-Ausführungen höhere USB-Geschwindigkeiten und weisen sie gleichermaßen diskrete Komponenten auf dem Datenpfad auf. Diese Komponenten können während stromsparenden Systemzuständen zu einer nicht unbedeutenden Menge an Stromverbrauch beitragen, was Probleme im Hinblick auf eine lange Batterielaufzeit mobiler Systeme schafft.
-
1a stellt eine erste Ausgestaltung zum Koppeln eines Anschlusses vom Typ C mit einem System auf einem Chip (SOC) schematisch dar. Die Anordnung von 1a zeigt einen Anschluss, der unter Verwendung eines aktiven USB/DP-Multiplexers zu dem USB/DisplayPort-Alternativmodus fähig ist. Bei dem System 100 von 1a ist ein SOC 102 mit einem Port-Manager vom Typ C (TCPM) 104, um eine Steuerung der Logik im Zusammenhang mit der Stromversorgung 106 zu gestatten, einem Port-Controller vom Typ C (TCPC) 108 und dem aktiven Multiplexer 110 gekoppelt. Die Logik im Zusammenhang mit der Stromversorgung 106 verwaltet die Busspannung VBUS des Anschlusses vom Typ C 112. Der TCPC 108 ist gekoppelt, um Kanal-Pins des Anschlusses 112 vom Typ C zu steuern. Durch das SOC 102 bereitgestellte Hochgeschwindigkeits-USB2-Signale werden direkt mit dem Anschluss vom Typ C 112 gekoppelt. Supergeschwindigkeits-USB3-Signale und/oder DisplayPort Signale, die wie erforderlich durch das SOC 102 bereitgestellt werden, werden mit dem aktiven Multiplexer 110 gekoppelt. Unter der Steuerung des TCPM 104 koppelt der aktive Multiplexer 110 dann die von dem SOC 102 erhaltenen Signale mit den Tx/Rx- und den Seitenband-, SBU,-Pins des Anschlusses vom Typ C 112.
-
In dem System von 1a bedeutet die Verwendung eines aktiven Multiplexers, dass ein Repeater wie etwa eine Retimer- oder Redriver-Schaltung zusammen mit einer passiven Multiplexer-Schaltung aufgenommen ist.
-
1b stellt eine weitere Ausgestaltung zum Koppeln eines Anschlusses vom Typ C mit einem System auf einem Chip schematisch dar. Die Anordnung von 1b ist jener von 1a ähnlich, weist aber einen in dem SOC 122 integrierten USB/DisplayPort-Multiplexer auf. Daher wird kein gesonderter aktiver Multiplexer benötigt. Doch zur Erfüllung von Implementierungsanforderungen wie etwa Leiterbahnlängenanforderungen ist außerhalb des SOC 122 eine Repeater-Schaltung 120 wie etwa ein Retimer oder ein Redriver bereitgestellt.
-
2 stellt eine Ausgestaltung zum Koppeln eines generischen USB-Anschlusses mit einem System auf einem Chip (SOC) schematisch dar. Die Anordnung von 2 ist jener von 1a und 1b ähnlich, was eine USB-Repeater-Schaltung 210 zur Erfüllung von Implementierungsanforderungen wie etwa Leiterbahnlängenanforderungen einschließt. Eine Repeater-Schaltung 210 wie etwa ein Retimer oder ein Redriver ist außerhalb des SOC 202 bereitgestellt.
-
Supergeschwindigkeitssignale für den USB-Port werden von dem SOC 202 einer USB-Repeater-Schaltung 210 bereitgestellt und dann mit dem USB-Anschluss 212 gekoppelt. Hochgeschwindigkeitssignale werden dem USB-Anschluss 212 direkt von dem SOC 202 bereitgestellt. Ein Stromsteuersignal wird durch die Stromsteuerlogik 208 einer Stromaustast-Schaltung 206 bereitgestellt, um zu gestatten, dass Strom selektiv von der Repeater-Schaltung 210 entfernt wird. Die Stromsteuerlogik könnte ein Teil des SOC oder eine diskrete Komponente auf der Leiterplatte sein. 2 wird als generischer Bezug auf verschiedene USB-Implementierungen einschließlich 1a und 1b in dem Rest des Dokuments verwendet.
-
Aktive Multiplexer, oder Repeater, wie sie in den in 1a, 1b und 2 dargestellten Beispielen bereitgestellt sind, verbrauchen selbst in dem niedrigsten Ruhezustand für die Verbindung nicht vernachlässigbare Strommengen. Ausführungsformen können eine intelligente Stromverwaltung dieser Komponenten bereitstellen, um die Stromeffizienz von Implementierungen von Zwischenverbindungen, die derartige Komponenten enthalten, wie etwa USB-Typ-C-Anschlüssen in unterschiedlichen Systemzuständen zu verbessern.
-
Ein Fall einer allgemeinen Verwendung von USB-Ports ist die Verwendung zum Anschließen von USB2-Vorichtungen wie etwa einer Maus, einer Tastatur, eines Bluetooth-Empfängers usw. In solchen Fällen werden nur USB-Hochgeschwindigkeitssignale verwendet und werden keine USB-Supergeschwindigkeitssignale verwendet.
-
Bei USB-Anschlüssen befinden sich die Supergeschwindigkeitsleitungen auch dann in einem bestromten Ruhezustand, wenn nur die Hochgeschwindigkeitssignale verwendet werden, und befinden sich daher jegliche diskrete Plattformkomponenten, die den Supergeschwindigkeitsleitungen zugehörig sind, in einem Ruhezustand. Für die Systeme von 1a, 1b und 2 kann das Abschalten des aktiven Multiplexers 110 oder Repeaters 120 oder 210, wenn er überhaupt nicht verwendet werden soll, mit der Zeit eine bedeutende Verwendung von Strom darstellen, insbesondere dann, wenn sich das System in einem lang andauernden Energiesparmodus befindet.
-
Historisch wiesen USB-Ports in dem USB-Datenpfad keinerlei diskrete Komponenten auf, und daher trat das Problem der Stromverwaltung derartiger Komponenten nicht auf. Neuere Standards wie etwa USB Typ C bieten verglichen mit älteren Anschlüssen verbesserte Fähigkeiten, nehmen aber auch neue diskrete Komponenten in vorliegende Implementierungen auf. Daher sind bestehende USB-C-Implementierungen möglicherweise nicht stromoptimiert. Ebenso können einige USB-Typ-A-Anschlussimplementierungen auch eine höhere Geschwindigkeit des USB-Protokolls unterstützen und neue diskrete Komponenten in dem Datenpfad aufnehmen.
-
Aktive diskrete Komponenten wie etwa Repeater und Retimer können eine Blindleistung von bis zu 5 mW ziehen. In einem Computersystem können mehrere Datenpfade bereitgestellt sein, die mehreren USB-Ports entsprechen. Zum Beispiel können typische OEM-Implementierungen 4 bis 6 Anschlüsse, jeder mit einer zugehörigen Retimer-Schaltung, aufweisen. Daher kann die gesamte Stromersparnis, die durch das Verwalten des Stroms der aktiven Komponenten verfügbar ist, verglichen mit einem gesamten totalen Systemstromziel bedeutend sein.
-
Ausführungsformen können ein Verfahren zur Stromverwaltung von Zwischenverbindungskomponenten wie etwa USB Typ C bereitstellen, um den Strom, der durch diskrete Plattformkomponenten verwendet wird, wenn sie nicht in Verwendung stehen, effizienter zu steuern. Obwohl die Erfindung in dem Kontext der Spezifikation USB Typ C beschrieben wird, wird ein Fachmann verstehen, dass die beschriebenen Techniken gleichermaßen auf USB-Typ-A-Anschlüsse, proprietäre Dockanschlüsse oder auf andere Datenpfade, die einen Hochgeschwindigkeits-Hochleistungs-Pfad und einen Niedriggeschwindigkeits-Niedrigleistungs-Pfad umfassen, angewendet werden können.
-
3 stellt ein beispielhaftes Verfahren 300 zum Betrieb der Schaltung 200 von 2, wenn eine Vorrichtung anfangs mit dem Anschluss 212 gekoppelt wird, dar. Bei einem Anschlussereignis, 302, an einen Datenpfad wird eine dem Datenpfad zugehörige aktive Schaltung wie etwa eine Repeater-Schaltung 210 eingeschaltet, 304. Dann wird bestimmt, 306, ob sich der Anschluss an die Vorrichtung erfolgreich auf die Supergeschwindigkeitssignale gerichtet hat. Einige Vorrichtungen, wie etwa Tastaturen und Mäuse, erfordern für den Anschluss verhältnismäßig niedrige Datenraten und können daher möglicherweise nicht zur Verwendung von bereitgestellten Supergeschwindigkeits(super speed, SS)signalen ausgelegt sein. Solche Vorrichtungen können eine Verbindung möglicherweise nur unter Verwendung der Hochgeschwindigkeitssignale herstellen.
-
Wenn bestimmt wird, dass sich der Datenpfad erfolgreich auf die Supergeschwindigkeitsverbindung gerichtet hat, endet das Verfahren. Alternativ wird dann, wenn sich der Datenpfad nicht auf die SS-Verbindung gerichtet hat, ein Port-Rücksetzen als Teil der HS-Initialisierung ausgegeben, 308. Dann wird eine weitere Bestimmung vorgenommen, um zu bestimmen, ob sich der Anschluss an die Vorrichtung erfolgreich auf die SS-Verbindung gerichtet hat, 310. Wenn dies der Fall ist, endet das Verfahren. Doch wenn erneut bestimmt wird, dass sich die Vorrichtung nicht auf die SS-Verbindung gerichtet hat, kann durch die Stromsteuerlogik 208 ein Stromsteuersignal ausgegeben werden, 312, um die USB-SS-Repeater-Schaltung 210 auszuschalten. Andernfalls verbleibt die Repeater-Schaltung 210 bestromt, um einen Betrieb der Supergeschwindigkeitssignale zu gestatten.
-
Nach einigen Beispielen kann ein an einem Hostcomputersystem ausgeführtes Betriebssystem dem USB-Port-Manager oder der Stromsteuerlogik 208 eine Information hinsichtlich der Art der USB-Vorrichtung (ob sie entweder Hochgeschwindigkeits (high speed, HS)- oder Supergeschwindigkeits (SS)-Pins benutzt), die mit dem USB-Anschluss verbunden ist, bereitstellen. Diese Information kann durch das Betriebssystem über einen der Vorrichtung zugehörigen USB-Treiber erhalten werden und kann angeben, ob die Vorrichtung zum Beispiel als USB2- oder USB3-Vorichtung arbeiten soll.
-
Diese Information kann dann durch ein BIOS von dem Betriebssystem an einen Platform-Policy-Manager, zum Beispiel eine eingebettete Steuerung, weitergegeben werden.
-
Nach einigen Beispielen könnte eine aggressivere Stromverwaltung der diskreten Komponenten bereitgestellt sein. Bei Vorrichtungen, die an USB-Typ-C-Anschlüsse angeschlossen sind, ist es eine Anforderung an USB3-Vorrichtungen, eine Abwärtskompatibilität mit USB2-Signalen bereitzustellen, um zum Beispiel im Fall von Verbindungsübungsproblemen an den Supergeschwindigkeits-Signalleitungen ein Zurückfallen auf die langsameren USB2-Hochgeschwindigkeits-Signale zu gestatten. Nach einigen Beispielen können USB3-Vorrichtungen unter bestimmten Umständen gezwungen werden, sich als USB2-Vorrichtungen neu anzuschließen, um zu gestatten, dass die den Supergeschwindigkeits-Signalleitungen zugehörigen diskreten Komponenten abgeschaltet werden.
-
Nach einigen Beispielen kann das Betriebssystem (OS) eine dahingehende Information von einem USB-Treiberstapel erhalten, welche Art von Vorrichtungen an die USB-C-Anschlüsse angeschlossen ist, damit es bestimmen kann, ob aktive Multiplexer/Repeater in dem System tatsächlich in Verwendung stehen. Wenn die USB3-Vorrichtungen im Begriff stehen, in den Stromsparmodus einzutreten, oder vor dem Eintritt des Systems in den Stromsparmodus nicht angeschlossen sind, würde von dem Plattformagenten ein Port-Rücksetzen für die entsprechenden Supergeschwindigkeits-Ports (zum Beispiel eine eingebettete Steuerung, EC) an das OS ausgegeben werden, und würden die Vorrichtungen an den Hochgeschwindigkeits-Ports erneut angeschlossen werden. In diesem Fall können die Retimer dann ausgeschaltet oder auf den niedrigsten Leistungsmodus umgeschaltet werden.
-
4 stellt ein Verfahren 400 zum erneuten Anschließen von USB3-Vorrichtungen an einen USB2-Port, um zum Beispiel in einem Fall, in dem die angeschlossene Vorrichtung in einen Stromsparmodus gebracht werden soll, oder wenn sich ein Computersystem in einen Stromsparmodus wie etwa einen ACPI-Sx-Zustand bewegt, zu gestatten, dass eine zugehörige Repeater-Schaltung 210 ausgeschaltet wird, dar. Nach dem Verfahren 400 von 4 wird dann, wenn sich das System auf den Eintritt in einen Stromsparmodus vorbereitet, 402, eine Bestimmung, 404, für einen Datenpfad vorgenommen, um zu bestimmen, ob eine dem Datenpfad zugehörige diskrete Komponente wie etwa ein Repeater 210 eingeschaltet ist. Wenn sie nicht eingeschaltet ist, fährt das System mit anderen Abläufen fort, 412, um die angeschlossene Vorrichtung oder das System in den Stromsparmodus zu bringen.
-
Wenn bestimmt wird, dass die dem Datenpfad zugehörige Komponente eingeschaltet ist, wird der Supergeschwindigkeitsbetrieb des Datenpfads deaktiviert und dann ein Port-Rücksetzen an den Port ausgegeben, 406, um die Vorrichtung anzuweisen, sich erneut mit dem Computersystem zu verbinden. Da der Supergeschwindigkeitsbetrieb deaktiviert ist, fällt die Vorrichtung auf den USB2-Betrieb zurück und verbindet sich erneut mit den Hochgeschwindigkeitsleitungen, 408. Sobald sich die Vorrichtung erneut mit dem USB2-Port verbunden hat, kann der den USB3-Signalen zugehörige Repeater 210 ausgeschaltet werden, 410, und setzt das Computersystem mit anderen Abläufen fort, 412, um die angeschlossene Vorrichtung oder das System in den Stromsparmodus zu bringen. Sobald die anderen Abläufe abgeschlossen sind, kann sich die angeschlossene Vorrichtung oder das Computersystem anschließend in den Stromsparmodus bewegen, 414.
-
Diese Anordnung ermöglicht, dass das System durch eine angeschlossene Vorrichtung geweckt wird, und bietet ein gutes Gleichgewicht zwischen einer Stromersparnis und der Funktionalität (d.h., wenn es sich in dem normalen Betriebsmodus befindet, wird die höhere Geschwindigkeit, die durch den Supergeschwindigkeits-USB angeboten wird, für eine schnellere Datenübertragung verwendet, doch wird gleichzeitig in dem Stromsparmodus die Aufweckfähigkeit über Hochgeschwindigkeits-USB-Leitungen unterstützt).
-
Bevor sich das System in einen Stromspar-System-Sx-Zustand bewegt, kann das OS dem BIOS eine Angabe der Fähigkeit des Port-Partners, d.h., der angeschlossenen Vorrichtung, bereitstellen, und kann das BIOS dann diese Information an die eingebettete Steuerung weitergeben, die diese Information verwenden kann, um die den Supergeschwindigkeitssignalen zugehörige aktive diskrete Schaltungsanordnung auszuschalten.
-
Da das BIOS die letzte Software-Entität ist, die während des Übergangs des Systems zu dem Stromspar-Sx-Zustand hinunter fährt, kann das BIOS am besten dazu geeignet sein, den Übergang der Datenpfade zu dem Stromsparmodus zu verwalten.
-
Daher werden nach einigen Beispielen alle USB3-Verbindungen mit dem System bei Eintritt in den Stromsparmodus zurückgesetzt, damit sich die entsprechenden Vorrichtungen unter Verwendung von USB2 erneut mit dem Datenpfad verbinden. Dann können Retimer und jegliche andere aktive Schaltungen, die den USB3-Signalen zugehörig sind, vollständig ausgeschaltet werden, während sich das System in dem Stromsparmodus befindet, während sie die Verbindung mit dem System unter Verwendung des USB2-Pfads aufrechterhalten. Dies gestattet, dass der normale Betrieb von Vorrichtungen während des Stromsparmodus aufrechterhalten wird, und zum Beispiel der Vorrichtung gestattet wird, dem Computersystem das Aufwachen zu signalisieren, während der Strom, der durch die den USB3-Signalen zugehörige diskrete Schaltungsanordnung verbraucht wird, verringert wird.
-
Nach dem Wiedererlangen des Zustands S0 können die USB3-Vorrichtungen erneut aufgezählt werden, und kann die gewünschte Leistungsfähigkeit erzielt werden, wenn das System wach ist; zudem wird eine Stromersparnis erzielt, wenn sich das System in dem Stromsparmodus befindet, ohne die Aufwach-Funktionalität zu opfern.
-
5 stellt ein Verfahren 500 zum Wiederaufnehmen des Betriebs im Anschluss an ein Aufwachereignis dar. Das Computersystem kann den normalen Betrieb aus dem Stromsparmodus wiederaufnehmen, indem es sich zum Beispiel von dem Sx-Zustand in einen Zustand S0 bewegt. Nach dem Verfahren 500 von 5 wird als Reaktion auf ein Aufwachereignis, das das System dazu bringen kann, den Stromsparmodus zu verlassen, 502, eine dem Datenpfad zugehörige diskrete Schaltung, wie etwa der Repeater 210 eingeschaltet, 504, und bei 506 ein Port-Rücksetzen für den Datenpfad ausgegeben. Dann wird eine Bestimmung vorgenommen, um zu bestimmen, 508, ob sich die Vorrichtung beim Wiederanschließen erfolgreich auf die SS-Verbindung gerichtet hat. Wenn bestimmt wird, dass sich der Datenpfad nicht auf die SS-Verbindung gerichtet hat, wird die diskrete Schaltung ausgeschaltet, 510.
-
Wenn alternativ bestimmt wird, dass sich der Datenpfad erfolgreich auf die SS-Verbindung gerichtet hat, bleibt die Retimer-Schaltung eingeschaltet und setzt das System mit Steuerabläufen, die mit dem Verlassen des Stromsparmodus verbunden sind, fort, 512.
-
Somit kann die EC den Zustand der Repeater 210 für angeschlossene Datenpfade bei einer Wiederaufnahme von S0 aus dem Sx-Systemzustand (z.B. einem Anschluss einer Vorrichtung oder anderen Aufwachereignissen) wiederherstellen. Wenn ein Port-Rücksetzen erforderlich ist, kann dies dem OS durch die EC mitgeteilt werden, und kann das OS dann das Port-Rücksetzen an die USB-Ports ausgeben und würden die Vorrichtungen dann an den Supergeschwindigkeits-USB3-Ports wiederangeschlossen werden. Dies spart die Blindleistung, die während des Sx-Zustands mit den Retimer-Schaltungen verbunden ist, und gestattet dem System, die Retimer bei der Wiederaufnahme des Betriebs aufzuwecken. Bei Computersystemen, die sich für eine verhältnismäßig lange Zeit in dem Sx-Zustand befinden können, kann dieses Schema den Stromverbrauch des Systems in dem Stromsparmodus verringern und dabei helfen, die Batterielaufzeit zu bewahren.
-
Obwohl der Stromsparmodus bei den obigen Verfahren beispielhaft durch einen ACPI-Sx-Betriebszustand dargestellt wurde, wird man erkennen, dass die offenbarten Verfahren auch auf einen S0ix-Systemzustand angewendet werden können.
-
6 stellt Software- und Firmware-Elemente des USB-Kontrollstapels dar, die verwendet werden können, um die Kommunikation zwischen dem Betriebssystem und der USB-Typ-C-Hardware zur Umsetzung der oben beschriebenen Verfahren zu erleichtern.
-
Nach einigen Beispielen wird ein USB-Typ-C-Port-Manager als Firmware/Software-Komponente auf Plattformebene als Teil einer Plattform/eines SOC bereitgestellt und verfügt er über eine direkte Wechselwirkung mit den USB-Typ-C-Hardware-Komponenten. Dies könnte in der Form von Firmware der eingebetteten Steuerung oder des Client-Treibers auf der Ebene des Betriebssystems umgesetzt werden. Unabhängig von der Implementierung kann diese Komponente direkt an den Plattformstromzustand gebunden sein und diesen wahrnehmen. Sie meldet diese Information an die diskreten USB-Typ-C-Hardware-Kom ponenten.
-
Nach einigen Beispielen ist eine Plattform-BIOS/ACPI die plattformspezifische Firmware, die für die Inbetriebnahme des SOC wie auch des Rests der Plattform und das Booten in das Betriebssystem bei voller Funktionalität verantwortlich ist. Die Firmware kann mit dem Betriebssystem wie auch mit der Plattform kommunizieren. Bei einigen Beispielen erhält das Plattform-BIOS als erstes Kenntnis von den Anschluss- oder Trennereignissen und von Plattformbetriebszustandsänderungsanforderungen von dem Betriebssystem. Das Plattform-BIOS kann dann diese Anforderung an den Port-Manager weitergeben und kann sicherstellen, dass der Rest der Plattform mit den Handlungen, die von dem Port-Manager an der diskreten Hardware vorgenommen werden, synchron ist.
-
7a stellt ein Verfahren 800 zur Stromverwaltung von datenpfad-diskreten Komponenten zur Vorbereitung auf ein Ereignis des Eintretens in einen Stromsparmodus oder des Bringens einer angeschlossenen Vorrichtung in den Stromsparmodus dar. Nach dem Verfahren 800a, das in 8a dargestellt ist, beginnt das Verfahren damit, dass das Betriebssystem eine Betriebszustandsänderung auslöst, 802a. Dann ruft das Betriebssystem ein System-BIOS-ACPI-Verfahren auf, 804a, um die Bewegung der Plattform-Hardware in den Stromsparmodus auszulösen. Dann zeigt die BIOS-ACPI dem Platform-Policy-Manager, d.h., der Firmware der eingebetteten Steuerung oder dem Client-Treiber, die oder der dem Datenpfad zugehörig ist, das Auslösen der Plattformzustandsänderung an, 806a. Der Platform-Policy-Manager schaltet die aktiven Komponenten der Supergeschwindigkeits-Signalpfade aus, 808a. Sobald die Supergeschwindigkeitsverbindung deaktiviert wurde, informiert der Platform-Policy-Manager oder der USB-Typ-C-Port-Manager das System-BIOS und löst das BIOS wie in 810a beschrieben die Hardwareänderungen zur Durchführung des Eintritts in den Stromsparmodus aus.
-
7b stellt ein Verfahren 800b zur Inbetriebnahme von diskreten Komponenten als Reaktion auf ein Ereignis des Verlassens des Stromsparmodus dar. Nach dem Verfahren 800b, das in 8b dargestellt ist, wird das OS bei einem anschließenden Verlassen des Stromsparmodus, 802b, das ACPI-Verfahren aufrufen, 804b. Die BIOS ACPI kommuniziert mit dem Platform-Policy-Manager, 806b. Der Platform-Policy-Manager kann den Betriebszustand der aktiven diskreten Komponenten für angeschlossene Supergeschwindigkeits-Signalleitungen wiederherstellen und schließt die Vorrichtungen erneut an, um an dem Supergeschwindigkeits-Port die volle Funktionalität bereitzustellen, 808b. Das System-BIOS wird mit dem Rest der Abläufe fortfahren, 810b.
-
Obwohl die verschiedenen obigen Beispiele in dem Kontext von USB-Signalen beschrieben wurden, wird man verstehen, dass die offenbarten Verfahren gleichermaßen auf jeden beliebigen Datenpfad, der einen Hochgeschwindigkeits-Port und einen Niedriggeschwindigkeits-Port umfasst und diskrete Komponenten aufweist, die einem oder dem anderen der Ports zugehörig sind, angewendet werden können.
-
In dieser Beschreibung sollten die Phrase „wenigstens eines aus A oder B“ und die Phrase „wenigstens eines aus A und B“ so interpretiert werden, dass sie gemeinsam und getrennt genommen in sämtlichen Permutationen ein beliebiges oder mehrere der mehreren angeführten Elemente A, B usw. bedeuten.
-
Wo Funktionseinheiten als Schaltungsanordnung beschrieben wurden, kann die Schaltungsanordnung eine Allzweckprozessorschaltungsanordnung sein, die durch einen Programmcode so konfiguriert wird, dass sie bestimmte Verarbeitungsfunktionen durchführt. Die Schaltungsanordnung kann auch durch eine Abwandlung an der Verarbeitungshardware konfiguriert werden. Die Konfiguration der Schaltungsanordnung, um eine bestimmte Funktion auszuführen, kann zur Gänze in Hardware, zur Gänze in Software, oder unter Verwendung einer Kombination aus einer Hardwaremodifikation und einer Softwareausführung erfolgen. Programmbefehle können verwendet werden, um Logikgatter einer Allzweckprozessorschaltungsanordnung oder einer Prozessorschaltungsanordnung mit besonderer Zweckbestimmung so zu konfigurieren, dass sie eine Verarbeitungsfunktion durchführen.
-
Die Schaltungsanordnung kann zum Beispiel als Hardwareschaltung umgesetzt werden, die Prozessoren, Mikroprozessoren, Schaltungen, Schaltungselemente (z.B. Transistoren, Widerstände, Kondensatoren, Induktoren und so weiter), integrierte Schaltungen, anwendungsspezifische integrierte Schaltungen (ASICs), programmierbare Logikvorrichtungen (PLDs), digitale Signalprozessoren (DSPs), feldprogrammierbare Gateanordnungen (FPGAs), Logikgatter, Register, Halbleitervorrichtungen, Chips, Mikrochips, Chipsätze, und dergleichen umfasst.
-
Die Prozessoren können einen Allzweckprozessor, einen Netzwerkprozessor, der Daten, die über ein Computernetzwerk kommuniziert werden, verarbeitet, oder andere Arten von Prozessoren einschließlich eines Computers mit reduziertem Befehlssatz RISC oder eines Computers mit komplexem Befehlssatz CISC umfassen. Der Prozessor kann eine Einzel- oder eine Mehrfachkerngestaltung aufweisen. Mehrfachkernprozessoren können verschiedene Prozessorkernarten auf dem gleichen integrierten Schaltungschip vereinen.
-
Maschinenlesbare Programmbefehle können auf einem flüchtigen Medium wie etwa einem Übertragungsmedium oder auf einem nichtflüchtigen Medium wie etwa einem Speichermedium bereitgestellt werden. Derartige maschinenlesbare Befehle (Computerprogrammcode) können in einer höheren prozeduralen oder objektorientierten Programmiersprache umgesetzt werden. Doch das Programm bzw. die Programme kann bzw. können in einer Assembliersprache oder einer Maschinensprache umgesetzt werden, falls dies gewünscht ist. In jedem Fall kann die Sprache eine kompilierte oder interpretierte Sprache sein und mit Hardwareimplementierungen kombiniert werden.
-
Ausführungsformen der vorliegenden Erfindung sind zur Verwendung mit allen Arten von integrierten („IC“) Halbleiterchips anwendbar. Beispiele für diese IC-Chips beinhalten Prozessoren, Steuerungen, Chipsatzkomponenten, programmierbare Logikanordnungen (PLAs), Speicherchips, Netzwerkchips und dergleichen, sind aber nicht darauf beschränkt. Bei einigen Ausführungsformen können eine oder mehrere der in diesem Dokument beschriebenen Komponenten als Vorrichtung aus einem System auf einem Chip (SOC) ausgeführt werden. Ein SOC kann zum Beispiel einen oder mehrere zentrale Verarbeitungseinheits (CPU)-Kerne, einen oder mehrere graphische Verarbeitungseinheits (GPU)-Kerne, eine Ein/Ausgabe-Schnittstelle und eine Speichersteuerung aufweisen. Bei einigen Ausführungsformen können ein SOC und seine Komponenten auf einem oder mehreren integrierten Schaltungschips, der oder die zum Beispiel in eine einzelne Halbleitervorrichtung gepackt ist oder sind, bereitgestellt werden.
-
Beispiele
-
Die folgenden Beispiele betreffen weitere Ausführungsformen.
-
Beispiel 1 ist ein Verfahren zum Verwalten des Stromverbrauchs eines Datenpfads in einem Computersystem, wobei der Datenpfad einen ersten Port und einen zweiten Port umfasst, wobei der erste Port einen Hochgeschwindigkeits-Port umfasst, und der zweite Port einen Niedriggeschwindigkeits-Port umfasst, wobei das Verfahren das Anschließen einer Vorrichtung an den Datenpfad, das Bestimmen, dass die angeschlossene Vorrichtung unter Verwendung des zweiten Ports kommunizieren soll, und das Ausschalten einer dem ersten Port des Datenpfads zugehörigen aktiven Schaltung umfasst.
-
Beispiel 2 umfasst das Verfahren von Beispiel 1, wobei das Anschließen der Vorrichtung an den Datenpfad das Anschließen der Vorrichtung an den zweiten Port des Datenpfads umfasst, und wobei das Bestimmen, dass die angeschlossene Vorrichtung unter Verwendung des zweiten Ports kommunizieren soll, ferner das Bestimmen, dass die angeschlossene Vorrichtung nicht dazu ausgelegt ist, unter Verwendung des ersten Ports zu kommunizieren, umfasst.
-
Beispiel 3 umfasst das Verfahren von Beispiel 1, wobei der Datenpfad einen USB-Datenpfad umfasst, und wobei der erste Port USB-Supergeschwindigkeitssignale umfasst und der zweite Port USB-Hochgeschwindigkeitssignale umfasst.
-
Beispiel 4 umfasst das Verfahren von Beispiel 3, wobei der Datenpfad eines aus einem USB-Typ-C-Anschluss und einem USB-Typ-A-Anschluss umfasst.
-
Beispiel 5 umfasst das Verfahren von Beispiel 1, wobei die aktive Schaltung eines aus einer Retimer-Schaltung, einer Redriver-Schaltung- und einem aktiven Multiplexer umfasst.
-
Beispiel 6 umfasst das Verfahren von Beispiel 3, wobei das Bestimmen, dass die Vorrichtung unter Verwendung des zweiten Ports kommunizieren soll, ferner das Erlangen einer Information von einem dem USB-Datenpfad zugehörigen USB-Treiberstapel umfasst, wobei die Information angibt, dass die Vorrichtung nicht dazu ausgelegt ist, USB-Supergeschwindigkeitssignale zu verwenden.
-
Beispiel 7 umfasst das Verfahren von Beispiel 1, wobei das Anschließen der Vorrichtung an den Datenpfad das Anschließen der Vorrichtung an den ersten Port umfasst, und wobei das Bestimmen, dass die angeschlossene Vorrichtung unter Verwendung des zweiten Ports kommunizieren soll, ferner das Bestimmen, dass die angeschlossene Vorrichtung in einen Stromsparmodus eintreten soll, umfasst.
-
Beispiel 8 umfasst das Verfahren von Beispiel 7, das ferner als Reaktion auf das Bestimmen, dass die angeschlossene Vorrichtung in den Stromsparmodus eintreten soll, das Verhindern eines erneuten Anschlusses der Vorrichtung an den ersten Port des Datenpfads, das Ausgeben eines Rücksetzens für den Datenpfad, und das erneute Anschließen der Vorrichtung an den zweiten Port des Datenpfads umfasst.
-
Beispiel 9 umfasst das Verfahren von Beispiel 7, wobei das Bestimmen, dass die Vorrichtung, die an den ersten Port des Datenpfads angeschlossen ist, in den Stromsparmodus eintreten soll, eines aus dem Erhalten einer Angabe, dass der Computer in einen Stromsparmodus eintreten soll, und dem Erhalten einer Angabe, dass die Vorrichtung in einen Stromsparmodus eintreten soll, umfasst.
-
Beispiel 10 umfasst das Verfahren von Beispiel 8, das ferner das Eintreten des Computersystems in den Stromsparmodus im Anschluss an das erneute Anschließen der Vorrichtung an den zweiten Port des Datenpfads umfasst.
-
Beispiel 11 umfasst das Verfahren von Beispiel 7, das ferner das Erhalten einer Angabe, dass die angeschlossene Vorrichtung aus dem Stromsparmodus aufwachen soll, das Einschalten der dem ersten Port zugehörigen aktiven Schaltung, das Ausgeben eines Rücksetzens an den zweiten Port des Datenpfads, und das erneute Anschließen der Vorrichtung an den ersten Port des Datenpfads umfasst.
-
Beispiel 12 umfasst das Verfahren von Beispiel 6, wobei der Stromsparmodus einen ACPI-Sx-Systembetriebszustand umfasst.
-
Beispiel 13 umfasst das Verfahren von Beispiel 8, wobei die Angabe, dass der Computer aus dem Stromsparmodus aufwachen soll, eine Angabe, dass der Computer in einen ACPI-S0-Wachzustand eintreten soll, umfasst.
-
Beispiel 14 umfasst das Verfahren von Beispiel 11, das ferner das Erhalten einer Angabe, dass sich die Vorrichtung erneut an den ersten Port des Datenpfads angeschlossen hat, von einem dem Datenpfad zugehörigen Port-Manager, und als Reaktion auf das Erhalten der Angabe, das Aufwecken des Computersystems aus dem Stromsparmodus umfasst.
-
Beispiel 15 umfasst das Verfahren von Beispiel 1, wobei das Verfahren durch ein BIOS eines Computersystems durchgeführt wird.
-
Beispiel 16 umfasst das Verfahren von Beispiel 11, wobei das Ausgeben eines Rücksetzens ferner als Reaktion auf das Empfangen des Rücksetzens an dem Betriebssystem umfasst, dass das Betriebssystem ein Rücksetzen des ersten Ports befiehlt.
-
Beispiel 17 umfasst eine Vorrichtung zum Verwalten des Stromverbrauchs eines Datenpfads in einem Computersystem, wobei der Datenpfad einen ersten Port und einen zweiten Port umfasst, wobei der erste Port einen Hochgeschwindigkeits-Hochleistung-Port umfasst, und der zweite Port einen Niedriggeschwindigkeits-Niedrigleistungs-Port umfasst, wobei die Vorrichtung eine Stromsteuerschaltung, um den Strom einer dem ersten Port des Datenpfads zugehörigen aktiven Schaltung selektiv zu steuern, und ein Steuermodul, um eine Angabe zu erhalten, dass eine an den Datenpfad angeschlossene Vorrichtung unter Verwendung des zweiten Ports kommunizieren soll, und als Reaktion auf den Erhalt der Angabe, dass die Vorrichtung unter Verwendung des zweiten Ports kommunizieren soll, der Stromsteuerschaltung zu befehlen, die aktive Schaltung auszuschalten, umfasst.
-
Beispiel 18 umfasst die Vorrichtung von Beispiel 17, wobei der Datenpfad einen USB-Datenpfad umfasst, und wobei der erste Port USB-Supergeschwindigkeitssignale umfasst und der zweite Port USB-Hochgeschwindigkeitssignale umfasst.
-
Beispiel 19 umfasst die Vorrichtung von Beispiel 18, wobei der Datenpfad einen USB-Typ-C-, einen USB-Typ-A- oder einen anderen USB-Anschluss umfasst.
-
Beispiel 20 umfasst die Vorrichtung von Beispiel 17, wobei die Angabe, dass eine an den Datenpfad angeschlossene Vorrichtung unter Verwendung des zweiten Ports kommunizieren soll, eine Angabe umfasst, dass die Vorrichtung nicht zur Kommunikation unter Verwendung des ersten Ports ausgelegt ist.
-
Beispiel 21 umfasst die Vorrichtung von Beispiel 17, wobei die aktive Schaltung eines aus einer Retimer-Schaltung, einer Redriver-Schaltung und einem aktiven Multiplexer umfasst.
-
Beispiel 22 umfasst die Vorrichtung von Beispiel 18, wobei die Angabe, dass eine an den Datenpfad angeschlossene Vorrichtung unter Verwendung des zweiten Ports kommunizieren soll, das Erhalten einer Angabe von einem dem USB-Datenpfad zugehörigen USB-Treiberstapel umfasst, dass die angeschlossene Vorrichtung nicht dazu ausgelegt ist, USB-Supergeschwindigkeitssignale zu verwenden.
-
Beispiel 23 umfasst die Vorrichtung von Beispiel 17, wobei die Angabe, dass eine an den Datenpfad angeschlossene Vorrichtung unter Verwendung des zweiten Ports kommunizieren soll, eine Angabe umfasst, dass die angeschlossene Vorrichtung in einen Stromsparmodus eintreten soll.
-
Beispiel 24 umfasst die Vorrichtung von Beispiel 23, wobei das Steuermodul ferner als Reaktion auf das Bestimmen, dass die angeschlossene Vorrichtung in den Stromsparmodus eintreten soll, ein erneutes Anschließen der Vorrichtung an den ersten Port des Datenpfads verhindern soll, ein Rücksetzen für den ersten Port des Datenpfads ausgeben soll, um die Vorrichtung dazu zu bringen, sich erneut an den zweiten Port des Datenpfads anzuschließen.
-
Beispiel 25 umfasst die Vorrichtung von Beispiel 24, wobei das Steuermodul ferner als Reaktion auf das Bestimmen, dass die angeschlossene Vorrichtung aus dem Stromsparmodus aufwachen soll, die dem ersten Port zugehörige aktive Schaltung einschalten soll und ein Rücksetzen an den zweiten Port des Datenpfads ausgeben soll, um die Vorrichtung dazu zu bringen, sich erneut an den ersten Port des Datenpfads anzuschließen.
-
Beispiel 26 umfasst die Vorrichtung von Beispiel 25, wobei das Steuermodul ferner von einem dem Datenpfad zugehörigen Port-Manager eine Angabe erhalten soll, dass sich die Vorrichtung erneut an den ersten Port des Datenpfads angeschlossen hat, und als Reaktion auf das Erhalten der Angabe das Computersystem aus dem Stromsparmodus aufwecken soll.
-
Beispiel 27 umfasst die Vorrichtung von Beispiel 17, wobei das Steuermodul eines aus einem Betriebssystem, einer eingebetteten Steuerung, einem BIOS oder einem Platform-Manager umfasst.
-
Beispiel 28 umfasst ein System, das die Vorrichtung von Beispiel 17 umfasst, und ferner einen Datenpfad, der einen ersten Port und einen zweiten Port umfasst, wobei der erste Port einen Hochgeschwindigkeits-Hochleistungs-Port umfasst und der zweite Port einen Niedriggeschwindigkeits-Niedrigleistungs-Port, wenigstens einen Anschluss zum Koppeln einer Vorrichtung mit dem Datenpfad, eine dem ersten Port des Datenpfads zugehörige aktive Schaltung, und eine Stromsteuerschaltung, um die aktive Schaltung selektiv auszuschalten, umfasst.
-
Beispiel 29 umfasst ein Computerprogrammprodukt, das einen Computerprogrammcode umfasst, der bei Ausführung veranlasst, dass eine Verarbeitungshardware eine Vorrichtung an den Datenpfad, der einen ersten Port und einen zweiten Port umfasst, wobei der erste Port einen Hochgeschwindigkeits-Port umfasst und der zweite Port einen Niedriggeschwindigkeits-Port umfasst, anschließt, bestimmt, dass die angeschlossene Vorrichtung unter Verwendung des zweiten Ports kommunizieren soll, und eine dem ersten Port des Datenpfads zugehörige aktive Schaltung ausschaltet.
-
Beispiel 30 umfasst eine Vorrichtung zum Verwalten des Stromverbrauchs eines Datenpfads in einem Computersystem, wobei der Datenpfad einen ersten Port und einen zweiten Port umfasst, wobei der erste Port einen Hochgeschwindigkeits-Hochleistungs-Port umfasst und der zweite Port einen Niedriggeschwindigkeits-Niedrigleistungs-Port umfasst, wobei die Vorrichtung ein Stromsteuermittel, um den Strom der dem ersten Port des Datenpfads zugehörigen aktiven Schaltung selektiv zu steuern, und ein Steuermittel, um eine Angabe zu erhalten, dass eine an den Datenpfad angeschlossene Vorrichtung unter Verwendung des zweiten Ports kommunizieren soll, und als Reaktion auf den Erhalt der Angabe, dass die Vorrichtung unter Verwendung des zweiten Ports kommunizieren soll, dem Stromsteuermittel zu befehlen, die aktive Schaltung auszuschalten, umfasst.