Je n'ai que 30 Mo/s entre mon ordinateur et une clé USB, malgré le fait que l'USB 2.0 prend en charge les transferts à 480 Mo/s (ou 60 Mo/s). (Par conséquent, je n'obtiens que la moitié de la vitesse nominale) Existe-t-il quelque chose dans la norme USB qui devrait entraîner de telles vitesses apparentes?
L'USB 2 utilise des images d'une milliseconde et, en mode Haute vitesse (480 Mb/s), elles sont divisées en 8 micro-images. La taille maximale des paquets de données en nombre (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 indique vers la fin qu’ils obtiennent effectivement 43 Mo/s .
En pratique, la limite sera généralement le flash lui-même.
Edit: Cette information est en fait également dans la spécification USB 2 .
Votre lecteur flash est le goulot d'étranglement. Ils ne peuvent pas atteindre le maximum théorique de 60 Mo/s. Voici un extrait de Wikipedia :
Les lecteurs flash modernes ont une connectivité USB 2.0. Cependant, ils n'utilisent pas actuellement la totalité des 480 Mbit/s (60 Mo/s) pris en charge par la spécification USB 2.0 Haute vitesse en raison de limitations techniques inhérentes à la mémoire flash NAND. Les lecteurs les plus rapides actuellement disponibles utilisent un contrôleur à double canal, bien qu'ils soient encore très en deçà du taux de transfert possible à partir d'un disque dur de la génération actuelle ou du débit USB haute vitesse maximum. (...)
Les lecteurs rapides classiques prétendent lire jusqu'à 30 mégaoctets/s (Mo/s) et écrire à peu près à la moitié de cette vitesse. Cela est environ 20 fois plus rapide que les périphériques USB 1.1 «pleine vitesse», qui sont limités à une vitesse maximale de 12 Mbit/s (1,5 Mo/s).
Environ 30 Mo/s est une vitesse de transfert maximale typique.
Les connexions USB 1.0 et USB 2.0 sont semi-duplex, ce qui signifie que les données ne circulent que dans un sens à la fois. La connexion partagée entre les deux sens est probablement la principale raison du ralentissement par rapport à la vitesse de transfert attendue.
En comparaison, USB 3 et Ethernet sont en duplex intégral et respectent mieux les vitesses de transfert attendues.
Sur ma machine, une vitesse de lecteur flash USB2 ne dépasse jamais 33 Mo/s dans une application de test, même si Windows indiquait une vitesse de 33 à 37 Mo/s. J'ai effectué des tests et activé le cache disque (propriétés du périphérique) et augmenté la taille maximale du transfert usb à 2 Mo (KB2581464), mais sans succès.
L’interface USB 2.0 peut constituer une limite en raison de la surcharge 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 (multiplié par 10).
La vitesse de lecture atteint environ 33 Mo/s et la vitesse d'écriture, 17,5 Mo/s. La vitesse d'écriture est presque 50% plus lente en raison d'une vérification de lecture après l'écriture et du fait que le signal USB est semi-duplex, comme le mentionne une autre réponse.
Avec un iMac mi-2007 et un disque Verbatim USB2 transférant des données sur un lecteur FW800, je consomme 36 à 37 Mo/s. C'est déjà très bon pour USB2.
Si j'ajoute un deuxième transfert depuis un autre disque USB2 (Packard Bell) connecté au même concentrateur USB2 vers le même lecteur FW800, le taux de transfert combiné passe à 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 réservais déjà un contrôleur USB2 uniquement pour ces disques, aucune souris ni aucun autre périphérique n'interférant.
USB 2.0 prend en charge 480 Mb/s signalisation vitesse. Sur la page Wikipedia, il est indiqué que le débit effectif atteint 35 Mo/s. Il existe une disparité, car les bits ne sont généralement pas transmis entre 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 périphériques, tels que les interférences électromagnétiques.
http://en.wikipedia.org/wiki/8b/10b_encoding
Le lien ci-dessus est un exemple de schéma de codage. Il est utilisé par USB 3.0.
Je n’ai jamais vraiment pensé au calcul de la vitesse, mais il est évident que ce type de transfert entraîne de réels frais généraux. J'ai cherché sur Google et trouvé message après message avec les vitesses que vous avez décrites, ce qui me permet de faire quelque chose.
Je viens de sortir un disque externe USB 2.0 Seagate de 1 To, de le formater et de décider de copier un échantillon suffisamment volumineux pour le tester: 13 595 211 905 octets (environ 12 Go). J'exécute Symantec Endpoint Protection AV.
Selon cette calculatrice , cela aurait dû prendre seulement 3:46 minutes pour copier avec 0% de temps système, mais en réalité cela a pris 9h17 et ma vitesse est tombée à 23,9 Mo/sec.
J'ai ensuite redémarré (pour effacer la mémoire), et l'ai essayé sans que mon AV ne fonctionne et cela prenait toujours 9h15, ou seulement 2 secondes de moins (je suppose que c'est une bonne nouvelle pour Symantec AV au moins).
Il semblerait que ce soient vraiment des "nombres théoriques".
Cet article est un peu vieux, vous ne savez donc pas si cela reste pertinent ou utile, mais la vitesse USB 2 ne dépasse normalement pas 280 Mbit/s (35 Mbit/s) en raison de l'accès au bus.
Tiré du wiki:
L’USB 2.0 a été lancé en avril 2000, en ajoutant un débit de signalisation maximal supérieur à> 480 Mbit/s, appelé haute vitesse, en plus du débit de transmission USB 1.x pleine vitesse> de 12 Mbit/s. En raison de contraintes d'accès au bus, le débit effectif du> débit de signalisation haute vitesse est limité à 35 Mo/s ou 280 Mbit/s.
J'espère que ça s'éclaircit ...
Toute chaîne est 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, du microprogramme du contrôleur hôte au logiciel de pilote, en passant par les câbles physiques utilisés (plus courts et plus épais peut-être un peu mieux?) Et probablement plus important encore, les périphériques réellement connectés et les microprogrammes, puces flash/cache et très certainement les performances du disque en rotation, un goulot d’étranglement de bande passante bien connu.
Contrôlez l'ordre logique de la bande passante d'E/S disponible - Performances processeur/contrôleur/Performances DRAM du cache L1/L2/microprogramme/mémoire flash, puis par ordre de grandeur des performances de stockage sur disque à rotation lente.
Les performances maximales théoriques indiquées (480 mégabits par seconde ou 60 mégaoctets par seconde) ne concernent que le bus et ne sont pas connectées à celui-ci et très souvent, les performances réelles observées sont bien inférieures.