¿Cuál es la velocidad típica máxima posible con una unidad USB2.0?

73

Solo obtengo 30 MB / s entre mi computadora y una unidad USB, a pesar de que USB 2.0 admite transferencias de 480 Mb / s (o 60 MB / s). (Por lo tanto, solo obtengo la mitad de la velocidad nominal) ¿Hay algo presente en el estándar USB que pueda dar como resultado velocidades tan aparentes?

Billy ONeal
fuente
66
Máxima velocidad típica? ¿No es eso un oxímoron?
Mehrdad
3
@Mehrdad: En realidad no. La velocidad máxima típica para una transferencia de LAN gigabit está en el rango de 100 MB / s, a pesar de que la velocidad teórica es mayor.
Billy ONeal
3
Ah, entonces te refieres a la máxima velocidad práctica , ¿verdad?
Mehrdad
3
@Mehrdad: Lo mismo. Sí.
Billy ONeal
¿Tiene algún tipo de compresión o tal vez múltiples escáneres de virus en ejecución? Intenta deshabilitarlos. Asegúrese de que el cable esté clasificado para USB 2.0. Si es viejo, puede ser un cable de clasificación más lenta. Supongo que habrías dicho algo si estuviera pasando por un concentrador USB. ¿Es lento para otros dispositivos, como una unidad flash (necesitaría verificar su velocidad de transferencia nominal)?
KCotreau

Respuestas:

43

USB 2 utiliza cuadros de 1 milisegundo, y en modo de alta velocidad (480 Mb / s) se dividen en 8 micro cuadros. El tamaño máximo de los paquetes masivos (utilizados por dispositivos de almacenamiento masivo USB) es de 512 bytes. Según este documento muy informativo, el máximo teórico es de 13 paquetes por microframe. Entonces, la velocidad máxima teórica de una unidad USB 2 es:

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

Este otro documento de Cypress dice casi al final que realmente alcanzan 43 MB / s .

En la práctica, el límite suele ser el propio flash.

Editar: esta información también se encuentra en la especificación USB 2 .

tabla de especificaciones usb

Timmmm
fuente
1
Según mi experiencia, puede restar un 20% de descuento en la parte superior de la mayoría de las estimaciones de ancho de banda para gastos generales. Entonces es una cuestión de hardware. El estándar puede ser el mismo, pero la calidad del hardware difiere mucho.
Don Curtis
1
El primer documento de Cypress dice: "Incluso este límite [de 13 paquetes] no se puede lograr con los controladores host actuales, que pueden recibir 10 paquetes a granel / microframe o enviar 8 paquetes a granel / microframe" 10 paquetes nos dan 42 MB / seg, que es el A menudo se cita el límite de 30-40 MB / s "mundo real"
nponeccop
26

Su unidad flash es el cuello de botella. No pueden alcanzar el máximo teórico de 60 MB / s. Aquí hay un extracto de Wikipedia :

Las unidades flash modernas tienen conectividad USB 2.0. Sin embargo, actualmente no utilizan los 480 Mbit / s (60 MB / s) completos que admite la especificación USB 2.0 Hi-Speed ​​debido a limitaciones técnicas inherentes al flash NAND. Las unidades más rápidas disponibles en la actualidad utilizan un controlador de doble canal, aunque todavía están muy por debajo de la velocidad de transferencia posible desde un disco duro de generación actual o el rendimiento máximo de USB de alta velocidad. (...)

Las unidades rápidas típicas afirman leer a una velocidad de hasta 30 megabytes / s (MB / s) y escribir a aproximadamente la mitad de esa velocidad. Esto es aproximadamente 20 veces más rápido que los dispositivos USB 1.1 de "velocidad máxima" que están limitados a una velocidad máxima de 12 Mbit / s (1.5 MB / s).

nmat
fuente
66
No es una unidad flash. Estoy copiando esto -> amazon.com/Western-Digital-Passport-Essential-Portable/dp/… - Sin embargo, estoy preguntando cuál es el límite de la interfaz, no sobre un dispositivo específico. (Quiero saber si el dispositivo está llegando al límite práctico; esa es la razón de esta pregunta en primer lugar)
Billy ONeal
1
Lo siento, interpreté mal tu pregunta. No especificó y 30 MB / s es la velocidad habitual para las unidades flash, así que pensé que estaba usando una.
nmat
Veo. Por otro lado, realmente no pregunté cuál es el cuello de botella, ¿verdad? :)
Billy ONeal
44
Honestamente, no creo que un estándar tenga limitaciones. Un estándar tiene un máximo teórico y la implementación generalmente lo limita. Entonces, si desea conocer la causa de la baja velocidad, debe analizar la implementación. En el caso de las unidades flash, el problema está en el flash NAND y en el caso de los discos duros, el problema está en la lógica del controlador. Incluso los controladores de alta velocidad apenas superan los 30 MB / s.
nmat
1
No creo que sea una unidad flash, estoy transfiriendo de un SSD a un SSD y obteniendo un máximo de 31 MBps
Hellreaver
20

Alrededor de 30 MB / seg es una velocidad de transferencia máxima bastante típica.

Las conexiones USB 1.0 y USB 2.0 son semidúplex, lo que significa que los datos fluyen en una sola dirección a la vez. La conexión compartida entre ambas direcciones es probablemente la razón más importante para la desaceleración de la velocidad de transferencia esperada.

En comparación, USB 3 y Ethernet son full duplex y satisfacen mejor las velocidades de transferencia esperadas.

En mi máquina, la velocidad de una unidad flash USB2 nunca supera los 33 MB / s en la aplicación de prueba, aunque Windows informó una velocidad de 33-37 MB / s. Hice algunas pruebas y habilité el caché de disco (propiedades del dispositivo) y aumenté el tamaño máximo de transferencia usb a 2 MB (KB2581464) pero no pude hacerlo más rápido.

Cmazai
fuente
7

La interfaz USB 2.0 puede ser un límite debido a la sobrecarga de señalización y comando, así como al espacio entre paquetes.

Tengo un SSD rápido conectado por USB 2.0. El disco es mucho más rápido que la interfaz (por un factor de 10).

La velocidad de lectura alcanza un máximo de alrededor de 33 MB / sy la velocidad de escritura a 17.5 MB / s. Las velocidades de escritura son casi un 50% más lentas debido a una verificación de lectura después de la escritura y al hecho de que la señal USB es semidúplex como menciona otra respuesta.

Adisak
fuente
Eso suena como un problema con su controlador. A menudo veo velocidades de escritura mucho más rápidas que 17.5 MB / s, incluso con unidades relativamente baratas, a través de USB 2.0.
Billy ONeal
¿Tienes caché de escritura? Estoy hablando de números sin procesar reales que ejecutan un programa de referencia de disco usando escribir con verificar.
Adisak
1
Los programas de evaluación comparativa de disco a menudo usan parámetros poco realistas para estos controladores USB. USB tiene una sobrecarga muy alta por objeto o por transferencia asociada con el cambio al modo masivo. La copia de archivos grandes a la unidad USB no se encuentra con este problema. El almacenamiento en caché de escritura no podría tener demasiado efecto dado que pude colocar inmediatamente la unidad en otra máquina y los datos no estaban dañados.
Billy ONeal
Las memorias USB a menudo tienen una velocidad de escritura más lenta que la lectura, pero la diferencia de velocidad no se debe al USB. Puede comprar unidades USB más rápidas que escriben a velocidades más rápidas.
Dan Buhler
6

Con un iMac a mediados de 2007 y un disco Verbatim USB2 que transfiere datos a una unidad FW800, obtengo 36-37 MB / s. Ya es muy bueno para USB2.

Si agrego una segunda transferencia desde otro disco USB2 (Packard Bell) conectado al mismo concentrador USB2 a la misma unidad FW800, la velocidad de transferencia combinada aumenta a 42 MB / s. Esto es excepcional y es la tasa de transferencia más alta que he visto en USB2.

Más de 35-40 MB / s en USB2.0 es prácticamente imposible y ya estaba dedicando un controlador USB2 solo para esos discos, sin interferir el mouse u otros dispositivos.

OlafM
fuente
4

USB 2.0 admite una velocidad de señalización de 480 Mb / s . En la página de Wikipedia, dice que el rendimiento efectivo es de hasta 35 MB / s. Existe una disparidad porque los bits generalmente no se transmiten entre dispositivos de la misma manera que se representan internamente. Se deben tener en cuenta varios factores al transmitir datos entre dispositivos, como la interferencia electromagnética.

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

El enlace de arriba es un ejemplo de un esquema de codificación. Es utilizado por USB 3.0.

usuario178351
fuente
1
8b10b es un 20% de gastos generales. 20% de descuento de 480Mbits es 384MBits es ~ 48 MB / s. Todavía significativamente más rápido de lo que veo en la práctica en cualquier lugar.
Billy ONeal
3

Nunca he pensado mucho en calcular la velocidad, pero claramente hay una sobrecarga real asociada con este tipo de transferencia. Busqué en Google y encontré publicación tras publicación con las velocidades que describiste, haciéndome creer que estás haciendo algo.

Acabo de sacar una unidad externa Seagate USB 2.0 de 1 TB, la formateé y decidí copiar una muestra lo suficientemente grande como para probarla con: 13,595,211,905 bytes (aproximadamente 12 GB). Estoy ejecutando Symantec Endpoint Protection AV.

De acuerdo con esta calculadora , debería haber tomado solo 3:46 minutos para copiar con una sobrecarga del 0%, pero en realidad tomó 9:17, y mi velocidad bajó a 23.9 MB / seg en realidad.

Luego reinicié (para borrar la memoria), e intenté sin que mi AV se ejecutara y todavía me llevó 9:15, o solo 2 segundos menos (supongo que son buenas noticias para Symantec AV al menos).

Parece que esos realmente son "números teóricos".

KCotreau
fuente
PD: la tasa de 480Mb es para todos los dispositivos en un concentrador, pero en mis pruebas, en realidad era solo la unidad y el mouse, y dudo que el mouse haya tenido un gran impacto.
KCotreau
1
Aproximadamente 24-26MB / s es la velocidad que he visto en muchos dispositivos que usan USB2.0
Sathyajith Bhat
1

Esta publicación es un poco antigua, por lo que no estoy seguro de si sigue siendo relevante o útil, pero las velocidades de USB 2 normalmente alcanzan un máximo de 280 Mbps (35 MBps) debido al acceso al bus.

Tomado de Wiki:

USB 2.0 se lanzó en abril de 2000, agregando una velocidad de señalización máxima más alta de> 480 Mbit / s llamada Alta velocidad, además de la velocidad de señalización de velocidad máxima USB 1.x> 12 Mbit / s. Debido a las restricciones de acceso al bus, el rendimiento efectivo de la velocidad de señalización de alta velocidad está limitado a 35 MB / so 280 Mbit / s.

Espero que eso lo aclare...

Cornelio salado
fuente
0

Cualquier cadena es tan fuerte como su eslabón más débil. El rendimiento de transferencia potencialmente débil cuando se utilizan dispositivos USB2 incluye todo, desde el firmware del controlador host, el software del controlador, los cables físicos utilizados (¿pueden ser un poco más largos y más gruesos? y definitivamente el rendimiento del disco giratorio, un conocido cuello de botella de ancho de banda.

Compruebe en orden lógico el ancho de banda de E / S disponible: rendimiento del procesador / controlador / rendimiento de la memoria caché L1 / L2 DRAM / firmware / rendimiento del chip de almacenamiento flash y luego en un orden de magnitud rendimiento de almacenamiento en disco de giro lento.

El rendimiento máximo teórico declarado (480 megabits o 60 megabytes por segundo) es solo para el bus, no para las cosas conectadas a él, y con bastante frecuencia el rendimiento real observado es mucho más bajo.

Mover
fuente
-2

Las unidades de disco duro de 5400 rpm con USB2 están limitadas por el hardware de la unidad y el controlador SATA. Incluso las unidades de 7200 rpm o 10,000 rpm en un buen caddy USB no son realmente mucho. Necesita un SSD para alcanzar el límite de USB2. La mayor parte del "ancho de banda perdido" es en realidad la latencia del controlador, donde solo lleva tiempo cambiar la escritura de los datos para enviar la señal de finalización.

Pablo
fuente
2
Mis discos duros de 5400 RPM pueden funcionar muchísimo mejor que 30 MB / s
Billy ONeal
@BillyONeal Puede hacerlo, sí, pero ¿lo hará? En escenarios de mal uso (IO aleatorio) que pueden bajar fácilmente a 1 MB / s.
Maarten Bodewes
1
@MaartenBodewes: Esta fue una pregunta de E / S secuencial: velocidad "máxima", no velocidad para una carga de trabajo determinada.
Billy ONeal