Maison  >  Article  >  Périphériques technologiques  >  Amélioration de la transmission de liaison de données PCIe interne HoloLens : Microsoft partage des brevets AR/VR

Amélioration de la transmission de liaison de données PCIe interne HoloLens : Microsoft partage des brevets AR/VR

PHPz
PHPzavant
2024-01-03 14:05:241205parcourir

(Nweon, 27 décembre 2023) Une connexion filaire est souvent appelée « lien dur », qui connecte physiquement un nœud à un autre nœud. Une connexion filaire est PCIe. PCIe est une interface utilisée pour connecter des nœuds à haut débit, et bien que les terminaux et protocoles de connexion à haut débit tels que PCIe offrent des avantages substantiels, ces types de terminaux nécessitent une puissance élevée pour fonctionner. Pour une architecture informatique alimentée par batterie comme un casque, cela imposerait une charge énorme au système.

Dans une demande de brevet intitulée « Récupération d'erreur et gestion de l'alimentation entre les nœuds d'un réseau d'interconnexion », Microsoft décrit l'amélioration de la transmission entre les nœuds émetteurs et les nœuds récepteurs en récupérant des conditions d'erreur sans avoir besoin de retransmettre les données, contribuant ainsi à réduire le système. charge sur le casque.

Dans un mode de réalisation, démarrez le streaming de données. Le flux de données comprend différents types de paquets de données. Un code de correction d'erreurs (ECC) est éventuellement appliqué aux paquets de type de données de commande. Le nœud émetteur et le nœud récepteur sont connectés via des liaisons matérielles avec plusieurs canaux virtuels. Chaque canal virtuel est associé à un nœud de consommation d'énergie correspondant.

Lorsque le nœud récepteur reçoit un paquet de type données de contrôle, une correction d'erreur est effectuée sans retransmission si nécessaire. Lors de l'envoi du paquet de type de données final pour chaque canal virtuel, le nœud expéditeur envoie le paquet de type de condition de fin. Le nœud de consommation d'énergie correspondant correspondant au canal virtuel correspondant passe de l'état actif à l'état de faible consommation.

Certains modes de réalisation sont configurés pour améliorer la consommation d'énergie de dispositifs alimentés par batterie en identifiant le moment où la transmission de paquets sur un canal virtuel est terminée, et en amenant le nœud à entrer dans un état de faible consommation lorsque la transmission de paquets est terminée.

Amélioration de la transmission de liaison de données PCIe interne HoloLens : Microsoft partage des brevets AR/VR

Un exemple de réseau d'interconnexion 200 est présenté ici, comme le montre la figure 2. Le réseau d'interconnexion 200 peut contenir n'importe quel nombre de nœuds d'interconnexion, tels que le nœud 205 et le nœud 210. Les nœuds 205 et 210 peuvent être différents types de composants informatiques, tels que des unités de traitement holographique HPU

Comme le montre la figure, le nœud 205 est connecté au nœud 210 via la liaison haut débit 215. La liaison à grande vitesse 215 peut être n'importe quel type de connexion de canal physique qui prend en charge la transmission de données à grande vitesse.

Les modes de réalisation décrits de l'invention peuvent virtualiser la liaison haut débit 215 pour inclure un nombre quelconque de canaux virtuels. Par exemple, la liaison physique 240 représente la liaison haut débit 215. Il est montré que la liaison physique 240 inclut un nombre quelconque de canaux virtuels, tels que les canaux virtuels 245, 250, 255 et 260. Les paquets transitent par ces différents canaux virtuels, comme le paquet 265.

Chaque canal virtuel est associé à son buffer respectif. Par exemple, le canal virtuel 245 peut être associé au tampon 270, et le canal virtuel 250 peut être associé au tampon 275. D'autres canaux virtuels sont associés à leurs tampons respectifs. Chaque tampon peut avoir une taille de tampon correspondante de 280. Selon le principe de l'invention, le matériel est capable de maintenir un équilibre de bande passante de canal entre divers demandeurs (c'est-à-dire, nœuds de réception).

Amélioration de la transmission de liaison de données PCIe interne HoloLens : Microsoft partage des brevets AR/VR

Amélioration de la transmission de liaison de données PCIe interne HoloLens : Microsoft partage des brevets AR/VR

Les figures 3 et 4 sont des exemples de visiocasques.

La liaison haut débit 410A peut être utilisée pour transmettre des données d'affichage à grande vitesse et/ou des données de capteur entre l'unité de calcul située dans le boîtier avant et l'unité de calcul située dans le boîtier arrière. La liaison haut débit 410A est conçue pour avoir une faible latence afin de pouvoir transmettre un grand nombre de cycles de calcul ou de communications. En revanche, la liaison bas débit 405A peut être utilisée pour fournir des mécanismes d'alimentation, de mise à la terre ou de commutation.

La liaison haut débit 215 sur la figure 2 peut représenter la liaison haut débit 410A sur la figure 4, et les nœuds 205 et 210 sur la figure 2 peuvent représenter n'importe quelle unité informatique représentée sur la figure 4, telle que le circuit d'affichage 420A, la CPU 420B. et 440A, GPU 420C et 4406, SOC 420D et HPU 440C.

Amélioration de la transmission de liaison de données PCIe interne HoloLens : Microsoft partage des brevets AR/VR

La figure 8 répertorie les exigences opérationnelles 800. Initialement, les exigences opérationnelles 800 incluent les exigences en matière de données en temps réel 805. Comme indiqué précédemment à propos des casques, le casque utilisé pour afficher le contenu à l'utilisateur a des exigences en temps réel 805, donc j'espère éviter de retransmettre des données

De plus, le contenu du casque changera dynamiquement en fonction de nombreux facteurs différents, notamment la posture/orientation du casque, les changements de scène dans la scène MR, l'interaction avec les hologrammes, etc. Ainsi, lorsqu'il est mis en œuvre dans un casque, le transfert de données d'un nœud à un autre dans le casque peut être nécessaire pour satisfaire aux exigences en matière de données en temps réel 805 . Cela signifie que les implémentations de casques n'ont désormais pas la capacité de retransmettre des données, comme le font les systèmes traditionnels lorsqu'ils rencontrent des erreurs de données.

En raison de la demande de données en direct 805, les retransmissions pour résoudre ou corriger les erreurs ne sont pas disponibles. L'invention de Microsoft introduit donc une nouvelle technologie pour répondre aux erreurs.

De plus, les exigences opérationnelles 800 incluent les exigences de faibles frais généraux 810. Comme mentionné précédemment, les liens physiques entre les nœuds ont une bande passante limitée. Le principe décrit dans l'invention fournit une technologie de correction d'erreurs qui non seulement répond aux exigences de données en temps réel 805, mais peut également imposer une petite quantité de surcharge supplémentaire dans le protocole de bus.

Les exigences de fonctionnement 800 doivent également inclure les exigences de faible consommation d'énergie 815. En fonction des caractéristiques spécifiques du flux de données, des modes de réalisation peuvent désactiver sélectivement des nœuds consommateurs d'énergie afin de réduire la consommation d'énergie. Par exemple, dans un environnement de casque, des modes de réalisation pourraient faire entrer le laser dans un état de faible consommation en détectant des paquets de données spécifiques transmis entre les nœuds

Amélioration de la transmission de liaison de données PCIe interne HoloLens : Microsoft partage des brevets AR/VR

Pour répondre aux exigences ci-dessus, des modes de réalisation entraînent la transmission de types spécifiques de paquets de données d'un nœud à un autre nœud dans le flux de données. La figure 9 montre un exemple de boîtier 900 qui est représentatif du boîtier présenté sur la figure 2. Il convient de noter que le paquet de données 900 peut prendre différentes formes, notamment un paquet de données de type données de contrôle 905, un paquet de données de type données de non-contrôle 910 et un paquet de données de condition finale 915.

Une fois que tous les canaux virtuels ont fini d'envoyer leurs flux de données respectifs, le dernier canal virtuel qui a terminé l'envoi de ses flux de données envoie un paquet de condition de fin finale supplémentaire pour donner l'état de tous les canaux virtuels. Le nœud d'envoi n'envoie aucun nouveau trafic pour le canal virtuel jusqu'à ce que tous les canaux virtuels aient fini de transmettre leurs flux de données respectifs pour l'analyse. Lorsqu'une nouvelle analyse est lancée ou qu'une nouvelle trame est lancée, le canal virtuel recommence à envoyer des paquets.

Le package de type de données de contrôle 905 est un type de package utilisé pour contrôler la manière dont une opération spécifique est effectuée. Par exemple, en référence à l'exemple montré dans l'en-tête, le paquet de type de données de commande 905 peut contenir des informations sur le moment où le laser est déclenché, des informations de synchronisation, des informations sur le type de charge utile, des informations sur le canal virtuel, et peut en outre inclure des informations sur l'endroit où se trouve l'impulsion laser. placé

Le paquet de type de données de contrôle 905 peut également inclure des informations d'en-tête indiquant quel canal ou canal virtuel utiliser. Par exemple, chaque laser du casque pourrait être associé à son propre canal virtuel. Le paquet de type de données de contrôle 905 peut inclure des informations de contrôle pour le laser correspondant du canal virtuel et des informations sur le canal virtuel

En raison de l'importance du paquet de type de données de contrôle 905, le paquet est protégé à l'aide du code de correction d'erreur ECC 925. Pour clarifier, étant donné que les informations d'heure et de localisation contenues dans le paquet de type de données de contrôle 905 sont compressées différentiellement et sont très importantes, l'ECC 925 est utilisé pour protéger les données contre les erreurs qui peuvent survenir pendant la transmission.

Si des erreurs sont autorisées dans les données contenues dans le paquet de type de données de contrôle 905, l'intégralité de l'analyse peut être corrompue, provoquant l'introduction d'artefacts dans les trames d'image résultantes.

Amélioration de la transmission de liaison de données PCIe interne HoloLens : Microsoft partage des brevets AR/VR

La figure 10 fournit une description supplémentaire de l'ECC 1000, qui représente l'ECC 925 de la figure 9. Plus précisément, l'ECC 1000 comprend au moins deux types de protection, notamment la correction d'erreur sur un seul bit 1005 et la correction d'erreur sur deux bits 1010.

Dans un mode de réalisation, la protection contre les erreurs est une correction d'erreur sur x bits et une détection d'erreur sur x+1 bit. Sélectionnez ECC 1000 pour vous assurer que ECC 1000 prend en charge les taux d'erreur. L'ECC 1000 est disponible avec 8 bits par paquet de type de données de contrôle, ou un autre nombre de bits sélectionné en fonction de la longueur du paquet de type de données de contrôle.

De retour à la figure 9, le paquet de type de données sans contrôle 910 est un paquet qui contient des informations de charge utile, telles que la manière d'éclairer un pixel spécifique dans le balayage, telles que l'intensité de la couleur, la durée, la taille de l'impulsion laser, etc. En tant que tel, le paquet de type de données non de contrôle 910 comprend des données de pixel 930 décrivant le mécanisme par lequel le pixel est éclairé.

Bien qu'un seul paquet de type de données de contrôle puisse être envoyé sur le canal virtuel dans chaque nouveau flux de données, n'importe quel nombre de paquets de type de données non de contrôle peut être envoyé dans le flux de données. De plus, la corruption d'un seul paquet de type de données non de contrôle peut entraîner la corruption d'un seul pixel.

Le taux de rafraîchissement d'un casque est généralement compris entre 90 Hz et 120 Hz et la résolution est très élevée, de sorte que les utilisateurs peuvent ne pas remarquer les dommages causés aux pixels individuels. Compte tenu de ces conditions, les modes de réalisation évitent sélectivement d'imposer l'ECC aux paquets de type de données non de contrôle 910. Les erreurs qui apparaissent dans le paquet de données de non-contrôle 910 peuvent être simplement acceptées car l'impact de ces erreurs est minime

En appliquant l'ECC 925 au paquet de type de données de contrôle 905, puisque l'ECC 925 permet la correction et la détection d'erreurs au niveau du nœud de réception, il n'est pas nécessaire de retransmettre le paquet de type de données de contrôle 905 et un traitement en temps réel peut être effectué, satisfaisant ainsi le données en temps réel dans la figure 8, demande 805.

En imposant l'ECC 925 uniquement sur les paquets de type de données de contrôle 905 et non sur les paquets de type de données de non-contrôle 910, les modes de réalisation répondent à l'exigence de faible surcharge 810 car les données supplémentaires ne sont appliquées qu'à un seul paquet plutôt qu'à plusieurs paquets. Par conséquent, les frais supplémentaires sont également négligeables

De plus, en appliquant ECC, les modes de réalisation sont capables de récupérer automatiquement lorsqu'une erreur est détectée, répondant ainsi à l'exigence de récupération automatique du matériel 825. Par conséquent, les modes de réalisation imposent différentes exigences de protection des données en fonction du type de données ou plutôt de différents types de paquets de données.

Le package de conditions de fin 915 est un package utilisé pour se déclencher lorsque le flux de données est terminé. En d'autres termes, lorsque tous les paquets de type de données non-contrôle ont été envoyés, le paquet de conditions de fin 915 sera envoyé comme dernier paquet du flux de données

Si aucun pixel n'est éclairé par un laser spécifique lors d'un balayage spécifique, il se peut qu'il n'y ait aucun paquet de type de données de contrôle ou de paquets de type de données de non-contrôle transmis sur le canal virtuel correspondant du laser. Au lieu de cela, seul le paquet de conditions de fin 915 peut être envoyé. Pour aider à atténuer les erreurs possibles, plusieurs paquets de conditions finales peuvent être transmis.

Amélioration de la transmission de liaison de données PCIe interne HoloLens : Microsoft partage des brevets AR/VR

La figure 11 montre un exemple de scénario impliquant plusieurs canaux virtuels 1100 et les trois types de paquets différents introduits dans la figure 10 sont en cours de transmission. La figure 11 montre un scénario avec 12 canaux virtuels et un flux de données circulant de gauche à droite. De plus, différents types de sacs sont illustrés à l’aide de différentes techniques d’ombrage. Dans cet exemple de scénario, chaque canal virtuel correspond à un seul laser dans le casque, et chaque canal virtuel a son propre flux de données correspondant en cours de transmission.

La figure 11 montre comment le flux de données pour le canal 1 commence par un paquet de type de données de contrôle, puis comprend cinq paquets de type de données de non-contrôle, puis inclut un paquet de conditions de fin. Le canal 2 est similaire, il comprend un paquet de type de données de contrôle, deux paquets de type de données de non-contrôle et un paquet de conditions de fin. Les canaux 1 et 2 transmettent des données car le laser correspondant au canal sera utilisé pour éclairer les pixels du balayage.

Le canal 3, quant à lui, correspond au laser qui ne servira pas à éclairer les pixels scannés. Par conséquent, le flux de données transmis via le canal 3 comprend uniquement un paquet de conditions finales. Ce paquet de conditions finales informe utilement que le laser correspondant ne sera pas utilisé pour ce balayage particulier.

En conséquence, si le laser n'est pas destiné à être utilisé lors d'un scan spécifique, le flux de données transmis via le canal virtuel du laser ne comprendra qu'un ou plusieurs paquets de conditions finales

Amélioration de la transmission de liaison de données PCIe interne HoloLens : Microsoft partage des brevets AR/VR

La figure 12 se concentre sur le canal virtuel 1200, qui représente le canal virtuel 1100 sur la figure 11. La figure 12 montre comment le paquet de conditions finales est transmis sur le canal 1. Le paquet de conditions de fin fonctionne comme un déclencheur 1210 pour notifier au système que le nœud de consommation d'énergie correspondant peut passer du mode de consommation d'énergie au mode de consommation d'énergie réduite. Ce déclenchement est bénéfique car le système sait désormais que le nœud d'alimentation est inactif et peut passer à un mode de consommation réduite.

Par exemple, dans un environnement de visiocasque, le visiocasque comprend un émetteur laser 1215, qui comprend lui-même les lasers 1215A, 1215B et 1215C. Le canal 1 est un canal virtuel correspondant spécifiquement au laser 1215A. La transmission d'un paquet de conditions de terminal sur le canal 1 amène le système à reconnaître que l'utilisation du laser 1215A est maintenant terminée et peut donc passer du mode actif 1220 de génération de lumière laser au mode faible consommation 1225 ou éventuellement même au mode désactivé 1230.

Comme le montre la figure 12, la condition de fin a été déclenchée, ce qui a amené le laser 1215A à cesser d'émettre de la lumière laser, tandis que les lasers 1215B et 1215C peuvent toujours continuer à émettre de la lumière laser. Selon la figure 11, en transmettant le paquet d'état final dans chaque canal virtuel différent, le nœud correspondant à chaque canal virtuel entre dans un état de faible consommation d'énergie, maintenant ainsi la puissance du système

En revenant simplement à la figure 11, le canal 1 est représenté comme le dernier canal transmettant le paquet de conditions finales. Quel que soit le canal virtuel qui transmet le paquet de conditions de fin en dernier, la tâche du flux de données du canal virtuel est d'effectuer ce que l'on appelle l'opération d'encapsulation, dans laquelle le paquet de conditions de fin constitue le paquet de type de condition de fin « final » 1315, comme illustré à la figure 13

Le paquet de type de condition de fin finale 1315 fournit des informations supplémentaires au nœud de réception indiquant que tous les flux de données pour tous les autres canaux virtuels ont été terminés. Cette fonctionnalité est avantageuse dans un environnement de visiocasque car le paquet final de type de condition de fin 1315 signale la fin du balayage.

Brevets associés : Brevet Microsoft | Récupération d'erreur et gestion de l'alimentation entre les nœuds d'un réseau d'interconnexion

La demande de brevet Microsoft intitulée « Inter-node Error Recovery and Power Management » a été initialement déposée en août 2023 et récemment publiée par l'Office américain des brevets et des marques

Il est à noter que, de manière générale, après examen d'une demande de brevet américain, elle sera automatiquement publiée 18 mois à compter de la date de dépôt ou de la date de priorité, ou elle sera publiée dans les 18 mois à compter de la date de dépôt à la demande du demandeur. Notez que la publication d'une demande de brevet ne signifie pas que le brevet est approuvé. Après le dépôt d’une demande de brevet, l’USPTO exige un véritable examen, qui peut prendre de 1 à 3 ans.

De plus, il ne s'agit que d'une demande de brevet, il n'y a aucune garantie qu'elle sera approuvée et il ne peut pas être déterminé si elle sera disponible dans le commerce et produira des effets d'application pratiques

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer