Heim >Technologie-Peripheriegeräte >KI >Verbesserung der internen PCIe-Datenverbindungsübertragung von HoloLens: Microsoft teilt AR/VR-Patente

Verbesserung der internen PCIe-Datenverbindungsübertragung von HoloLens: Microsoft teilt AR/VR-Patente

PHPz
PHPznach vorne
2024-01-03 14:05:241298Durchsuche

(Nweon, 27. Dezember 2023) Eine kabelgebundene Verbindung wird oft als „Hard Link“ bezeichnet, die einen Knoten physisch mit einem anderen Knoten verbindet. Eine kabelgebundene Verbindung ist PCIe. PCIe ist eine Schnittstelle zum Verbinden von Hochgeschwindigkeitsknoten. Hochgeschwindigkeits-Verbindungsterminals und -protokolle wie PCIe bieten zwar erhebliche Vorteile, erfordern jedoch für den Betrieb dieser Terminaltypen eine hohe Leistung. Für eine batteriebetriebene Computerarchitektur wie ein Headset würde dies eine enorme Belastung für das System bedeuten.

In einer Patentanmeldung mit dem Titel „Error Recovery and Power Management Between Nodes of an Interconnection Network“ beschreibt Microsoft die Verbesserung der Übertragung zwischen Senderknoten und Empfängerknoten durch die Wiederherstellung nach Fehlerbedingungen, ohne dass Daten erneut übertragen werden müssen, und trägt so zur Reduzierung des Systems bei Belastung für das Headset.

In einer Ausführungsform starten Sie das Datenstreaming. Der Datenstrom umfasst verschiedene Arten von Datenpaketen. Optional wird Fehlerkorrekturcode (ECC) zur Steuerung von Datentyppaketen angewendet. Der Senderknoten und der Empfängerknoten sind über feste Verbindungen mit mehreren virtuellen Kanälen verbunden. Jeder virtuelle Kanal ist einem entsprechenden Stromverbrauchsknoten zugeordnet.

Wenn der Empfängerknoten ein Steuerdatenpaket empfängt, wird die Fehlerkorrektur bei Bedarf ohne erneute Übertragung durchgeführt. Beim Senden des endgültigen Datentyppakets für jeden virtuellen Kanal sendet der Senderknoten das Endbedingungstyppaket. Der entsprechende Stromverbrauchsknoten, der dem entsprechenden virtuellen Kanal entspricht, wechselt vom aktiven Zustand in den Zustand mit niedrigem Stromverbrauch.

Bestimmte Ausführungsformen sind so konfiguriert, dass sie den Stromverbrauch batteriebetriebener Geräte verbessern, indem sie erkennen, wann die Paketübertragung über einen virtuellen Kanal abgeschlossen ist, und indem sie den Knoten veranlassen, in einen Energiesparzustand zu wechseln, wenn die Paketübertragung abgeschlossen ist.

Verbesserung der internen PCIe-Datenverbindungsübertragung von HoloLens: Microsoft teilt AR/VR-Patente

Hier wird ein Beispiel für ein Verbindungsnetzwerk 200 gezeigt, wie in Abbildung 2 dargestellt. Das Verbindungsnetzwerk 200 kann eine beliebige Anzahl von Verbindungsknoten enthalten, beispielsweise Knoten 205 und Knoten 210. Bei den Knoten 205 und 210 kann es sich um verschiedene Arten von Computerkomponenten handeln, beispielsweise um holografische HPU-Verarbeitungseinheiten

Wie in der Abbildung gezeigt, ist Knoten 205 über die Hochgeschwindigkeitsverbindung 215 mit Knoten 210 verbunden. Bei der Hochgeschwindigkeitsverbindung 215 kann es sich um jede Art von physikalischer Kanalverbindung handeln, die eine Hochgeschwindigkeitsdatenübertragung unterstützt.

Die beschriebenen Ausführungsformen der Erfindung können die Hochgeschwindigkeitsverbindung 215 so virtualisieren, dass sie eine beliebige Anzahl virtueller Kanäle umfasst. Beispielsweise stellt die harte Verbindung 240 die Hochgeschwindigkeitsverbindung 215 dar. Es wird gezeigt, dass die feste Verbindung 240 eine beliebige Anzahl virtueller Kanäle umfasst, beispielsweise die virtuellen Kanäle 245, 250, 255 und 260. Es wird gezeigt, dass Pakete diese verschiedenen virtuellen Kanäle durchlaufen, z. B. Paket 265.

Jeder virtuelle Kanal ist seinem jeweiligen Puffer zugeordnet. Beispielsweise kann der virtuelle Kanal 245 dem Puffer 270 und der virtuelle Kanal 250 dem Puffer 275 zugeordnet sein. Andere virtuelle Kanäle sind ihren jeweiligen Puffern zugeordnet. Jeder Puffer kann eine entsprechende Puffergröße von 280 haben. Gemäß dem erfinderischen Prinzip ist die Hardware in der Lage, das Kanalbandbreitengleichgewicht zwischen verschiedenen Anforderern (d. h. Empfangsknoten) aufrechtzuerhalten.

Verbesserung der internen PCIe-Datenverbindungsübertragung von HoloLens: Microsoft teilt AR/VR-Patente

Verbesserung der internen PCIe-Datenverbindungsübertragung von HoloLens: Microsoft teilt AR/VR-Patente

Abbildungen 3 und 4 sind Beispiele für am Kopf montierte Displays.

Mit der Hochgeschwindigkeitsverbindung 410A können Hochgeschwindigkeits-Anzeigedaten und/oder Sensordaten zwischen der Recheneinheit im Front-End-Gehäuse und der Recheneinheit im Heck-Gehäuse übertragen werden. Die Hochgeschwindigkeitsverbindung 410A ist auf eine geringe Latenz ausgelegt, sodass sie eine große Anzahl von Rechenzyklen oder Kommunikationen überstehen kann. Im Gegensatz dazu kann die Niedergeschwindigkeitsverbindung 405A zur Bereitstellung von Strom, Masse oder Schaltmechanismen verwendet werden.

Die Hochgeschwindigkeitsverbindung 215 in Abbildung 2 kann die Hochgeschwindigkeitsverbindung 410A in Abbildung 4 darstellen, und die Knoten 205 und 210 in Abbildung 2 können jede in Abbildung 4 gezeigte Recheneinheit darstellen, beispielsweise die Anzeigeschaltung 420A, die CPU 420B und 440A, GPU 420C und 4406, SOC 420D und HPU 440C.

Verbesserung der internen PCIe-Datenverbindungsübertragung von HoloLens: Microsoft teilt AR/VR-Patente

Abbildung 8 listet die betrieblichen Anforderungen 800 auf. Zu den betrieblichen Anforderungen 800 gehören zunächst Echtzeitdatenanforderungen 805 . Wie bereits zu Headsets besprochen, hat das Headset, das zum Anzeigen von Inhalten für den Benutzer verwendet wird, Echtzeitanforderungen 805, also vermeiden Sie hoffentlich die erneute Übertragung von Daten

Darüber hinaus ändert sich der Inhalt des Headsets dynamisch basierend auf vielen verschiedenen Faktoren, einschließlich der Haltung/Ausrichtung des Headsets, Szenenänderungen in der MR-Szene, Interaktion mit Hologrammen usw. Bei der Implementierung in einem Headset kann daher eine Datenübertragung von einem Knoten zu einem anderen im Headset erforderlich sein, um die Anforderungen an Echtzeitdaten zu erfüllen 805 . Dies bedeutet, dass Headset-Implementierungen jetzt nicht mehr in der Lage sind, Daten erneut zu übertragen, wie dies bei herkömmlichen Systemen der Fall ist, wenn Datenfehler auftreten.

Aufgrund der Live-Datenanforderung 805 sind erneute Übertragungen zur Behebung oder Korrektur von Fehlern nicht verfügbar. Daher führt die Erfindung von Microsoft eine neue Technologie ein, um auf Fehler zu reagieren.

Darüber hinaus umfassen die betrieblichen Anforderungen 800 die Anforderungen 810 für geringe Gemeinkosten. Wie bereits erwähnt, haben feste Verbindungen zwischen Knoten eine begrenzte Bandbreite. Das in der Erfindung beschriebene Prinzip stellt eine Fehlerkorrekturtechnologie bereit, die nicht nur die Echtzeitdatenanforderungen 805 erfüllt, sondern auch einen kleinen zusätzlichen Overhead im Busprotokoll verursachen kann.

800 Betriebsanforderungen müssen auch Anforderungen an einen geringen Stromverbrauch 815 umfassen. Abhängig von den spezifischen Eigenschaften des Datenflusses können Ausführungsformen stromverbrauchende Knoten selektiv abschalten, um den Stromverbrauch zu reduzieren. Beispielsweise könnten Ausführungsformen in einer Headset-Umgebung dazu führen, dass der Laser in einen Energiesparzustand übergeht, indem bestimmte Datenpakete erkannt werden, die zwischen Knoten übertragen werden

Verbesserung der internen PCIe-Datenverbindungsübertragung von HoloLens: Microsoft teilt AR/VR-Patente

Um die oben genannten Anforderungen zu erfüllen, bewirken Ausführungsformen, dass bestimmte Arten von Datenpaketen im Datenfluss von einem Knoten zu einem anderen Knoten übertragen werden. FIG. 9 zeigt ein Beispielpaket 900, das repräsentativ für das in FIG. 2 diskutierte Paket ist. Es ist erwähnenswert, dass das Datenpaket 900 verschiedene Formen annehmen kann, einschließlich eines Datenpakets 905 vom Typ Steuerdaten, eines Datenpakets 910 vom Typ Nicht-Steuerdaten und eines Datenpakets 915 für die Endbedingung.

Nachdem alle virtuellen Kanäle das Senden ihrer jeweiligen Datenströme abgeschlossen haben, sendet der letzte virtuelle Kanal, der das Senden seiner Datenströme abgeschlossen hat, ein zusätzliches Endbedingungspaket, um den Status aller virtuellen Kanäle anzugeben. Der sendende Knoten sendet keinen neuen Datenverkehr für den virtuellen Kanal, bis alle virtuellen Kanäle die Übertragung ihrer jeweiligen Datenströme für den Scan abgeschlossen haben. Wenn ein neuer Scan oder ein neuer Frame initiiert wird, beginnt der virtuelle Kanal erneut mit dem Senden von Paketen.

Das Steuerdatentyppaket 905 ist ein Pakettyp, der verwendet wird, um zu steuern, wie eine bestimmte Operation ausgeführt wird. Bezugnehmend auf das im Header gezeigte Beispiel kann das Steuerdatentyppaket 905 beispielsweise Informationen darüber enthalten, wann der Laser abgefeuert wird, Zeitinformationen, Informationen zum Nutzlasttyp, Informationen zum virtuellen Kanal und darüber hinaus Informationen darüber, wo sich der Laserimpuls befindet platziert

Das Steuerdatentyppaket 905 kann auch Header-Informationen enthalten, die angeben, welcher Kanal oder virtuelle Kanal verwendet werden soll. Beispielsweise könnte jedem Laser des Headsets ein eigener virtueller Kanal zugeordnet werden. Das Steuerdatentyppaket 905 kann Steuerinformationen für den entsprechenden Laser des virtuellen Kanals und Informationen zum virtuellen Kanal

enthalten

Aufgrund der Bedeutung des Steuerdatenpakets 905 ist das Paket mit dem Fehlerkorrekturcode ECC 925 geschützt. Zur Verdeutlichung: Da die im Steuerdatentyppaket 905 enthaltenen Zeit- und Ortsinformationen unterschiedlich komprimiert und sehr wichtig sind, wird ECC 925 verwendet, um die Daten vor Fehlern zu schützen, die während der Übertragung auftreten können.

Wenn Fehler in den im Steuerdatentyppaket 905 enthaltenen Daten zulässig sind, kann der gesamte Scan beschädigt werden, was dazu führt, dass Artefakte in die resultierenden Bildrahmen eingefügt werden.

Verbesserung der internen PCIe-Datenverbindungsübertragung von HoloLens: Microsoft teilt AR/VR-Patente

Abbildung 10 bietet eine zusätzliche Beschreibung von ECC 1000, das ECC 925 von Abbildung 9 darstellt. Insbesondere umfasst ECC 1000 mindestens zwei Arten von Schutz, einschließlich Einzelbitfehlerkorrektur 1005 und Doppelbitfehlerkorrektur 1010.

In einer Ausführungsform besteht der Fehlerschutz aus einer x-Bit-Fehlerkorrektur und einer x+1-Bit-Fehlererkennung. Wählen Sie ECC 1000 aus, um sicherzustellen, dass ECC 1000 Fehlerraten unterstützt. Der ECC 1000 ist mit 8 Bits pro Steuerdatentyppaket oder einer anderen Anzahl von Bits erhältlich, die abhängig von der Länge des Steuerdatentyppakets ausgewählt werden.

Zurück zu Abbildung 9: Das nicht kontrollierte Datentyppaket 910 ist ein Paket, das Nutzlastinformationen enthält, beispielsweise wie ein bestimmtes Pixel im Scan beleuchtet werden soll, beispielsweise Farbintensität, Dauer, Laserimpulsgröße usw. Daher enthält das Nicht-Steuerdatentyppaket 910 Pixeldaten 930, die den Mechanismus beschreiben, wie das Pixel beleuchtet wird.

Obwohl in jedem neuen Datenfluss ein einzelnes Paket vom Typ Steuerdaten über den virtuellen Kanal gesendet werden kann, kann im Datenfluss eine beliebige Anzahl von Paketen vom Typ Nicht-Kontrolldaten gesendet werden. Darüber hinaus kann die Beschädigung eines einzelnen nicht kontrollierten Datentyppakets zur Beschädigung nur eines einzelnen Pixels führen.

Die Bildwiederholfrequenz eines Headsets liegt normalerweise zwischen 90 Hz und 120 Hz und die Auflösung ist sehr hoch, sodass Benutzer den Schaden einzelner Pixel möglicherweise nicht bemerken. Unter diesen Bedingungen vermeiden Ausführungsformen selektiv die Auferlegung von ECC für Pakete 910 vom Typ „Nicht-Kontrolldaten“. Fehler, die im Nicht-Kontrolldatentyp-Paket 910 auftreten, können einfach akzeptiert werden, da die Auswirkungen dieser Fehler minimal sind

Durch die Anwendung von ECC 925 auf das Steuerdatentyppaket 905 besteht keine Notwendigkeit, das Steuerdatentyppaket 905 erneut zu übertragen, da ECC 925 eine Fehlerkorrektur und -erkennung am empfangenden Knoten ermöglicht, und es kann eine Echtzeitverarbeitung durchgeführt werden, wodurch die Anforderungen erfüllt werden Echtzeitdaten in Abbildung 8 Demand 805.

Durch die Auferlegung von ECC 925 nur auf Kontrolldatentyppakete 905 und nicht auf Nichtkontrolldatentyppakete 910 erfüllen Ausführungsformen die geringe Overhead-Anforderung 810, da die zusätzlichen Daten nur auf ein einzelnes Paket und nicht auf mehrere Pakete angewendet werden. Daher ist auch der zusätzliche Overhead vernachlässigbar

Darüber hinaus sind Ausführungsformen durch die Anwendung von ECC in der Lage, automatisch wiederherzustellen, wenn ein Fehler erkannt wird, und erfüllen so die Anforderung 825 für die automatische Hardwarewiederherstellung. Daher stellen Ausführungsformen unterschiedliche Datenschutzanforderungen basierend auf dem Datentyp bzw. unterschiedlichen Datenpakettypen.

Endbedingungspaket 915 ist ein Paket, das zum Auslösen verwendet wird, wenn der Datenfluss abgeschlossen ist. Mit anderen Worten: Wenn alle Pakete vom Typ „Nicht-Kontrolldaten“ gesendet wurden, wird das Endbedingungspaket 915 als letztes Paket des Datenflusses gesendet

Wenn bei einem bestimmten Scan keine Pixel von einem bestimmten Laser beleuchtet werden, werden auf dem entsprechenden virtuellen Kanal des Lasers möglicherweise keine Steuerdatenpakete oder Nichtsteuerdatenpakete übertragen. Stattdessen kann nur das Endbedingungspaket 915 gesendet werden. Um mögliche Fehler zu verringern, können mehrere Endbedingungspakete übertragen werden.

Verbesserung der internen PCIe-Datenverbindungsübertragung von HoloLens: Microsoft teilt AR/VR-Patente

Abbildung 11 zeigt ein Beispielszenario mit mehreren virtuellen Kanälen 1100 und der Übertragung der drei verschiedenen Pakettypen, die in Abbildung 10 eingeführt wurden. Abbildung 11 zeigt ein Szenario mit 12 virtuellen Kanälen und einem Datenfluss von links nach rechts. Zusätzlich werden verschiedene Taschentypen mit unterschiedlichen Schattierungstechniken dargestellt. In diesem Beispielszenario entspricht jeder virtuelle Kanal einem einzelnen Laser im Headset und jeder virtuelle Kanal verfügt über einen eigenen entsprechenden Datenstrom, der übertragen wird.

Abbildung 11 zeigt, wie der Datenfluss für Kanal 1 mit einem Paket vom Typ „Steuerdaten“ beginnt, dann fünf Pakete vom Typ „Nicht-Steuerdaten“ enthält und dann ein Paket mit der Endbedingung enthält. Kanal 2 ist ähnlich, er enthält ein Paket vom Typ Steuerdaten, zwei Pakete vom Typ Nicht-Steuerdaten und ein Paket mit der Endbedingung. Kanal 1 und Kanal 2 übertragen Daten, da der dem Kanal entsprechende Laser zum Beleuchten der Pixel im Scan verwendet wird.

Kanal 3 hingegen entspricht dem Laser, der nicht zur Beleuchtung der gescannten Pixel verwendet wird. Daher enthält der über Kanal 3 übertragene Datenstrom nur ein Endbedingungspaket. Dieses Endbedingungspaket informiert sinnvollerweise darüber, dass der entsprechende Laser für diesen bestimmten Scan nicht verwendet wird.

Wenn der Laser nicht für die Verwendung während eines bestimmten Scans vorgesehen ist, enthält der über den virtuellen Kanal des Lasers übertragene Datenstrom dementsprechend nur ein oder mehrere Endbedingungspakete

Verbesserung der internen PCIe-Datenverbindungsübertragung von HoloLens: Microsoft teilt AR/VR-Patente

Abbildung 12 konzentriert sich auf den virtuellen Kanal 1200, der den virtuellen Kanal 1100 in Abbildung 11 darstellt. Abbildung 12 zeigt, wie das Endbedingungspaket über Kanal 1 übertragen wird. Das Endbedingungspaket fungiert als Auslöser 1210, um das System darüber zu informieren, dass der entsprechende Stromverbrauchsknoten vom Stromverbrauchsmodus in den reduzierten Stromverbrauchsmodus wechseln kann. Diese Auslösung ist von Vorteil, da das System nun weiß, dass der Leistungsknoten im Leerlauf ist und in einen reduzierten Leistungsmodus übergehen kann.

In einer Head-Mounted-Display-Umgebung umfasst das Head-Mounted-Display beispielsweise einen Lasersender 1215, der wiederum die Laser 1215A, 1215B und 1215C umfasst. Kanal 1 ist ein virtueller Kanal, der speziell dem Laser 1215A entspricht. Durch die Übertragung eines Terminalbedingungspakets über Kanal 1 erkennt das System, dass die Verwendung des Lasers 1215A nun abgeschlossen ist und kann daher vom aktiven Modus 1220 zur Erzeugung von Laserlicht in den Energiesparmodus 1225 oder möglicherweise sogar in den Aus-Modus 1230 übergehen.

Wie in Abbildung 12 dargestellt, wurde die Endbedingung ausgelöst, was dazu führt, dass Laser 1215A kein Laserlicht mehr aussendet, während die Laser 1215B und 1215C möglicherweise weiterhin Laserlicht aussenden. Gemäß Abbildung 11 wechselt der Knoten, der jedem virtuellen Kanal entspricht, durch die Übertragung des Endstatuspakets in jedem einzelnen virtuellen Kanal in einen Zustand mit geringem Stromverbrauch, wodurch die Systemleistung aufrechterhalten wird

Einfach zurück zu Abbildung 11: Kanal 1 ist als letzter Kanal dargestellt, der das Endbedingungspaket überträgt. Unabhängig davon, welcher virtuelle Kanal das Endbedingungspaket zuletzt überträgt, besteht die Aufgabe des Datenflusses des virtuellen Kanals darin, die sogenannte Kapselungsoperation durchzuführen, bei der das Endbedingungspaket das „endgültige“ Endbedingungstyppaket 1315 darstellt dargestellt in Abbildung 13

Das letzte Endbedingungstyppaket 1315 stellt dem empfangenden Knoten zusätzliche Informationen zur Verfügung, die angeben, dass alle Datenflüsse für alle anderen virtuellen Kanäle abgeschlossen wurden. Diese Funktionalität ist in einer Head-Mounted-Display-Umgebung von Vorteil, da das letzte End Condition Type Packet 1315 das Ende des Scans signalisiert.

Verwandte Patente: Microsoft-Patent |. Fehlerbehebung und Energieverwaltung zwischen Knoten eines Verbindungsnetzwerks

Die Microsoft-Patentanmeldung mit dem Titel „Inter-node Error Recovery and Power Management“ wurde ursprünglich im August 2023 eingereicht und kürzlich vom US-Patent- und Markenamt veröffentlicht

Es ist zu beachten, dass eine US-Patentanmeldung im Allgemeinen nach der Prüfung automatisch 18 Monate nach dem Anmeldetag oder Prioritätsdatum veröffentlicht wird oder auf Antrag des Patentinhabers innerhalb von 18 Monaten nach dem Anmeldetag veröffentlicht wird Antragsteller. Beachten Sie, dass die Veröffentlichung einer Patentanmeldung nicht bedeutet, dass das Patent genehmigt wird. Nachdem eine Patentanmeldung eingereicht wurde, verlangt das USPTO eine tatsächliche Prüfung, die zwischen einem und drei Jahren dauern kann.

Darüber hinaus handelt es sich lediglich um eine Patentanmeldung, es gibt keine Garantie für die Genehmigung und es kann nicht festgestellt werden, ob es kommerziell erhältlich sein und praktische Anwendungseffekte erzielen wird

Das obige ist der detaillierte Inhalt vonVerbesserung der internen PCIe-Datenverbindungsübertragung von HoloLens: Microsoft teilt AR/VR-Patente. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:sohu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen