9 votes

Si l'on relie en guirlande les FireWire 800 et 400, tous les périphériques utilisent-ils la vitesse 400 ?

J'ai récemment acheté un Drobo et, en consultant la documentation en ligne, j'ai rencontré les points suivants cet article de soutien qui stipule :

Si un périphérique FireWire 400 est également connecté, il réduira les performances globales pour correspondre aux vitesses du FireWire 400 (FW400) au lieu du FireWire 800.

Je réalise que si je connecte un périphérique FireWire 800 à un périphérique 400, puis ce périphérique 400 à mon ordinateur, il est évident que je ne verrai que des vitesses 400 à partir du périphérique 800, mais cet article de la KB semble impliquer que la connexion d'un périphérique 400 à l'autre port FW de mon Drobo, et que mon Drobo soit connecté via 800 à mon Mac, fera que le Drobo communiquera à des vitesses 400.

C'est vrai ? S'agit-il d'une limitation du protocole FireWire, d'une limitation pratique commune à de nombreuses implémentations de FireWire ou d'une limitation spécifique au Drobo lui-même ?

0 votes

Une réponse canonique à cette question serait une bonne chose ; j'ai trouvé de nombreux messages sur divers sites Web de discussion technique affirmant les deux côtés de l'argument, prétendument étayés par des tests personnels.

0 votes

Cela devrait être facile à tester avec le transfert de données d'un gros fichier (disons un dossier VIDEO_TS entier) avec un test A/B où A a un périphérique FW400 connecté mais inactif. Je n'ai jamais vu la connexion d'un périphérique FW400 causer des ralentissements significatifs, donc cela pourrait être une implémentation spécifique au drobo ou juste un CYA au cas où le câble 400 est placé entre l'hôte et le drobo.

5voto

Oskar Points 1242

FireWire est un protocole point à point et les contrôleurs sont généralement entièrement fonctionnels et peuvent utiliser la pleine capacité entre deux puces de contrôleur adjacentes sur un câble FireWire. En pratique, il ne faut donc pas mettre un câble FireWire 400 entre des appareils capables de fonctionner avec le FireWire 800 et l'ordinateur. Placez votre premier câble et périphérique FireWire 400 à la fin de la chaîne de périphériques compatibles FireWire 800.


En principe, un câble FireWire 400 comporte six conducteurs - deux pour l'alimentation et quatre pour les données. Un câble FireWire 800 possède huit (ou le double) des conducteurs de données et les mêmes deux voies d'alimentation.

Pensez à une analogie avec le système d'autoroutes inter-États. Ici, vous avez un ordinateur connecté par un fil de feu 800 au Drobo et un fil de feu 400 à autre chose. Cela équivaut à trois sorties d'autoroute avec quatre voies de circulation entre la sortie centrale et la dernière sortie et huit voies de circulation entre la première et la sortie centrale. En supposant qu'il n'y ait pas de délai pour entrer et sortir des sorties d'autoroute (ce qui est vrai pour FireWire mais pas dans la réalité), le fait que le trafic entre les deux premières sorties soit ralenti ne devrait pas avoir d'importance, simplement parce que plus tard, l'autoroute passe à quatre voies.

Bien sûr, lorsque vous avez un trafic simultané allant jusqu'au bout de la chaîne à la vitesse 400, cela a un impact sur la bande passante disponible pour le trafic entre les deux ports à vitesse 800.

Le protocole FireWire est rapide pour exactement cette raison alors que la chaîne USB ralentit toujours pour l'ensemble du "bus". D'un point de vue technique, il est plus simple et plus économique de ralentir l'ensemble du transport pour éviter d'avoir à gérer la topologie du réseau et les différentes vitesses de liaison dues aux conditions de câblage en aval de la chaîne.

0 votes

En fait, le bus USB est TOUJOURS à haute vitesse entre le hub à haute vitesse et l'hôte à haute vitesse, et il effectue la conversion pour changer de vitesse. Firewire ne le fait pas.

0 votes

Veuillez modifier ma réponse pour qu'elle soit techniquement correcte en ce qui concerne l'USB - j'ai toujours constaté des vitesses plus lentes lorsqu'une souris lente était connectée au clavier (même hub qu'un disque) par exemple sur l'USB. J'ai beaucoup d'expérience dans le monde réel, mais pas une compréhension profonde des protocoles et des détails de mise en œuvre. J'en sais suffisamment pour me méfier des hypothèses basées sur des mesures de temps de transfert de données en masse.

0 votes

Eh, puisque la question n'est pas sur firewire vs usb, je ne suis pas enclin à la corriger au-delà de mon commentaire.

4voto

Rudd Zwolinski Points 6852

Cela dépend principalement de la façon dont les appareils sont connectés.

Disons que nous avons trois appareils connectés :

A(400) <--> B(800) <--> C(800)

Le Firewire est traité dans des puces. Les chipsets Firewire à 800 vitesses passer 400 le long du bus 800 à la vitesse de 400 au fur et à mesure que les données sont transmises le long de la chaîne. Donc tout C envoie sera vu par B y A comme vitesse 400, et il existera comme vitesse 400 sur le bus 800 entre A y B . Cela n'augmente pas la bande passante totale du 400, mais il faut deux fois plus de temps pour transmettre sur le bus 800 que si le bus 800 était utilisé. B l'avait envoyé de manière native.

Lorsque B envoie à A il sera à la vitesse de 800.

Le problème est que si A est particulièrement communicatif, alors il réduira la bande passante totale du bus 800 entre le centre de données et le serveur. B y C . Si A transmet à pleine vitesse, le bus 800 devient un bus 400. Si A transmet 25% du temps, alors ses données de 100mbps consomment 200mbps de temps sur le bus 800.

Lorsque C envoie des données à A il sera à la vitesse de 400, et utilisera deux fois plus de bande passante sur le bus 800 que s'il transmettait en 800 natif.

C'est ce qu'on appelle la concaténation à plusieurs vitesses.

Lorsque B avis C en envoyant des données à la vitesse 400, il transmet simplement ces données sur le bus 800 à la vitesse 400. Lorsque ce paquet est terminé, il peut immédiatement envoyer le paquet suivant à 800. La transition est instantanée, donc il n'y a pas de perte de temps. supplémentaire bande passante perdue, mais encore une fois, si A parle beaucoup, cela peut réduire considérablement la bande passante totale sur le bus 800.

B(800) <--> A(400) <--> C(800)

Cette configuration réduira la largeur de bande totale sur l'ensemble du bus à 400, quel que soit le chipset utilisé dans chaque appareil.

0 votes

C'est en quelque sorte ce que je soupçonnais - le protocole ne spécifie pas l'une ou l'autre façon, donc cela devient un détail d'implémentation. Bon à savoir, mais toujours ennuyeux que la vitesse des dispositifs dans la chaîne dépende de la position de ces dispositifs dans cette chaîne.

0 votes

J'adorerais vous indiquer la spécification, mais il s'agit d'une spécification IEEE dont l'accès nécessite des dollars.

0 votes

@AdamDavis, avez-vous des sources à ce sujet ? Je demande parce que j'ai lu votre position sur un certain nombre de sites web, mais j'ai aussi lu pas mal de personnes affirmant que leurs tests personnels montrent que le FW400 n'importe où dans la chaîne ralentit toute la chaîne à la vitesse du FW400.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X