Quelle est la vitesse typique maximale possible avec un lecteur USB2.0?

Je reçois seulement 30 Mo / sec entre mon ordinateur et un lecteur USB, malgré le fait que l'USB 2.0 prend en charge les transferts 480Mb / sec (ou 60MB / sec). (Par conséquent, je reçois seulement la moitié de la vitesse nominale) Y a-t-il quelque chose de présent dans la norme USB qui devrait entraîner une telle vitesse à moitié apparente?

L'USB 2 utilise des images de 1 milliseconde, et en mode haute vitesse (480 Mb / s), ils sont divisés en 8 micro-trames. La taille maximale des paquets en vrac (utilisés par les périphériques de stockage de masse USB) est de 512 octets. Selon ce document très informatif, le maximum théorique est de 13 paquets par microframe. Ainsi, la vitesse maximale théorique d'un lecteur USB 2 est:

1000 * 8 * 512 * 13 = 53248000 ~ = 53 Mo / s

Cet autre document de Cypress dit près de la fin qu'ils réalisent réellement 43 Mo / s .

En pratique, la limite sera habituellement le flash lui-même.

Modifier: cette information est en fait également dans la spécification USB 2 .

Table des spécifications usb

Votre lecteur flash est le goulot d'étranglement. Ils ne peuvent atteindre le maximum théorique de 60 Mo. Voici un extrait de Wikipedia :

Les lecteurs flash modernes ont une connectivité USB 2.0. Cependant, ils n'utilisent pas actuellement les 480 Mbits / s (60 Mo / s) dont la spécification USB 2.0 Hi-Speed ​​prend en charge en raison des limitations techniques inhérentes au flash NAND. Les lecteurs les plus rapides actuellement disponibles utilisent un contrôleur à deux canaux, bien qu'ils restent encore considérablement inférieurs au taux de transfert possible à partir d'un disque dur de génération en cours ou du débit USB à haute vitesse maximum. (…)

Les lecteurs rapides typiques prétendent lire jusqu'à 30 mégaoctets / s (Mo / s) et écrire à environ la moitié de cette vitesse. Il s'agit d'environ 20 fois plus rapide que les périphériques USB 1.1 de "pleine vitesse" qui sont limités à une vitesse maximale de 12 Mbit / s (1,5 Mo / s).

Environ 30 Mo / sec est une vitesse de transfert maximale assez typique.

Les connexions USB 1.0 et USB 2.0 sont semi-duplex, ce qui signifie que les flux de données ne sont que dans une seule direction à la fois. La connexion partagée entre les deux directions est probablement la plus grande raison du ralentissement que la vitesse de transfert attendue.

En comparaison, USB 3 et Ethernet sont en duplex intégral et répondent mieux aux vitesses de transfert attendues.

Dans ma machine, une vitesse de lecteur flash USB2 n'excède jamais 33 MB / s dans l'application de test, même si Windows a signalé une vitesse de 33 à 37 Mo / s. J'ai fait des tests et permis le cache de disque (propriétés du périphérique) et augmenté la taille de transfert max usb à 2 Mo (KB2581464), mais je ne pouvais pas le faire plus rapidement.

L'interface USB 2.0 peut être une limite en raison des frais généraux de signalisation et de commande ainsi que de l'espacement entre les paquets.

J'ai un SSD rapide connecté par USB 2.0. Le lecteur est beaucoup plus rapide que l'interface (par un facteur de plus de 10).

La vitesse de lecture dépasse les 33 Mo / s et la vitesse d'écriture à 17,5 Mo / s. Les vitesses d'écriture sont presque 50% plus lentes en raison d'une vérification de lecture après l'écriture et du fait que le signal USB est semi-duplex comme l'indique une autre réponse.

Avec un iMac à la mi-2007 et un disque Verbatim USB2 transférant des données vers un lecteur FW800, j'ai 36-37 Mo / s. C'est déjà très bon pour USB2.

Si j'ajoute un deuxième transfert d'un autre disque USB2 (Packard Bell) connecté au même concentrateur USB2 au même lecteur FW800, le taux de transfert combiné augmente à 42 Mo / s. C'est exceptionnel et c'est le taux de transfert le plus élevé que j'ai jamais vu sur USB2.

Plus de 35-40 Mo / s sur USB2.0 est pratiquement impossible et je dédiai déjà un contrôleur USB2 uniquement pour ces disques, aucune souris ou autre interférant.

L'USB 2.0 prend en charge la vitesse de signalisation de 480 Mb / s. Sur la page Wikipedia, il indique que le débit efficace peut atteindre 35 Mo / s. Il existe une disparité car les bits ne sont généralement pas transmis entre les périphériques de la même manière qu'ils sont représentés en interne. Un certain nombre de facteurs doivent être pris en compte lors de la transmission de données entre appareils, comme les interférences électromagnétiques.

http://fr.wikipedia.org/wiki/8b/10b_encoding

Le lien ci-dessus est un exemple d'un schéma de codage. Il est utilisé par USB 3.0.

Je n'ai jamais vraiment réfléchi sur le calcul de la vitesse, mais il y a clairement des frais généraux associés à ce type de transfert. J'ai cherché sur Google et j'ai trouvé une publication après la publication à la vitesse comme vous l'avez décrit, ce qui m'a fait quelque chose.

Je viens de sortir un lecteur externe USB 2.0 1TB Seagate, l'ai formé et j'ai décidé de copier un échantillon assez grand pour tester avec: 13,595,211,905 octets (environ 12 Go). J'utilise Symantec Endpoint Protection AV.

Selon cette calculatrice , il ne fallait prendre que 3 à 46 minutes pour copier avec 0% de frais généraux, mais il a fallu 9:17, et ma vitesse est tombée à 23,9 Mo / sec en fait.

J'ai ensuite redémarré (pour effacer la mémoire), et je l'ai essayé sans mon AV en cours d'exécution et il a fallu 9:15, ou seulement 2 secondes de moins (je suppose que ce sont de bonnes nouvelles pour Symantec AV au moins).

Il semble que ce soient vraiment des "nombres théoriques".

Ce post est un peu vieux, donc je ne sais pas si cela est toujours pertinent ou utile, mais les vitesses USB 2 sont normalement supérieures à 280Mbps (35Mbps) en raison de l'accès au bus.

Tiré de Wiki:

USB 2.0 a été publié en avril 2000, ajoutant un taux de signalisation maximum plus élevé de> 480 Mbit / s appelé High Speed, en plus de la signalisation USB 1.x Full Speed> de 12 Mbit / s. En raison des contraintes d'accès au bus, le débit effectif de> le taux de signalisation haute vitesse est limité à 35 Mo / s ou 280 Mbit / s.

J'espère que ça l'efface …

Toute chaîne est seulement aussi forte que son maillon le plus faible. Les performances de transfert potentiellement faibles lors de l'utilisation de périphériques USB2 incluent tout, depuis le micrologiciel du contrôleur hôte, le logiciel du pilote, les câbles physiques utilisés (plus courts et plus épais peuvent-ils être légèrement meilleurs?) Et probablement les dispositifs connectés réels eux-mêmes et les microprogrammes, les puces flash / cache Et la performance des disques tournants, un renfort de bande passante bien connu.

Vérifier l'ordre logique de la bande passante d'E / S disponible – Performance du processeur / contrôleur / Cache L1 / L2 Performance de la DRAM / performance de la puce de stockage du microprogramme / flash, par une performance de stockage de disque à rotation lente de l'ordre de grandeur.

Les performances maximales théoriques déclarées (480 mégaBits ou 60 mégaoctets par seconde) ne concernent que le bus, pas les éléments qui s'y rattachent et, très souvent, les performances réelles observées sont beaucoup plus faibles.

Les disques durs de 5400 tr / min avec USB2 sont limités par le matériel du variateur et le contrôleur SATA. Même les lecteurs de 7200 tr / min ou 10 000 tr / min dans un bon panier USB ne sont pas vraiment très importants. Vous avez besoin d'un SSD pour atteindre la limite USB2. La plupart de la «bande passante perdue» est en fait la latence du contrôleur, où il ne prend qu'un temps pour se retourner de l'écriture des données à l'envoi du signal d'achèvement.