Qual é a velocidade típica máxima possível com uma unidade USB2.0?

73

Estou recebendo apenas 30 MB / s entre o meu computador e uma unidade USB, apesar do USB 2.0 suportar transferências de 480 Mb / s (ou 60 MB / s). (Portanto, estou obtendo apenas metade da velocidade nominal). Existe algo presente no padrão USB que deve resultar em velocidades aparentes com essa metade?

Billy ONeal
fonte
6
Velocidade típica máxima? Isso não é um oxímoro?
Mehrdad 31/07
3
@ Mehrdad: Na verdade não. A velocidade típica máxima para uma transferência de LAN de gigabit está na faixa de 100 MB / s, mesmo que a velocidade teórica seja maior.
Billy ONeal
3
Ah, então você quer dizer velocidade prática máxima, certo?
Mehrdad
3
@ Mehrdad: A mesma coisa. Sim.
Billy ONeal
Você tem algum tipo de compactação ou talvez vários antivírus em execução? Tente desativá-los. Verifique se o cabo está classificado para USB 2.0. Se for antigo, pode ser um cabo com classificação mais lenta. Suponho que você teria dito algo se estivesse passando por um hub USB. É lento para outros dispositivos, como uma unidade flash (você precisaria verificar a taxa de transferência nominal).
KCotreau

Respostas:

43

O USB 2 usa quadros de 1 milissegundo e, no modo de alta velocidade (480 Mb / s), eles são divididos em 8 micro-quadros. O tamanho máximo de pacotes em massa (usado por dispositivos de armazenamento em massa USB) é de 512 bytes. De acordo com este documento muito informativo, o máximo teórico é de 13 pacotes por microframe. Portanto, a velocidade máxima teórica de uma unidade USB 2 é:

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

Este outro documento do Cypress diz no final que eles realmente alcançam 43 MB / s .

Na prática, o limite geralmente será o próprio flash.

Editar: Essas informações também estão na especificação USB 2 .

tabela de especificações usb

Timmmm
fonte
11
Pela minha experiência, você pode subtrair 20% da maior parte das estimativas de largura de banda para despesas gerais. Então é uma questão de hardware. O padrão pode ser o mesmo, mas a qualidade do hardware difere muito.
Don Curtis
11
O primeiro documento do Cypress declara: "Mesmo esse limite [de 13 pacotes] não é possível com os controladores host atuais, que podem receber 10 pacotes em massa / microframe ou enviar 8 pacotes em massa / microframe" 10 pacotes fornecem 42 MB / s, que é o frequentemente citado 30-40 MB / s limite "mundo real"
nponeccop
26

Sua unidade flash é o gargalo. Eles não podem atingir o máximo teórico de 60 MB / s. Aqui está um trecho da Wikipedia :

As unidades flash modernas possuem conectividade USB 2.0. No entanto, atualmente eles não usam os 480 Mbit / s completos (60 MB / s) suportados pela especificação USB 2.0 de alta velocidade devido às limitações técnicas inerentes ao flash NAND. As unidades mais rápidas atualmente disponíveis usam um controlador de canal duplo, embora ainda fiquem consideravelmente abaixo da taxa de transferência possível de um disco rígido da geração atual ou da taxa de transferência USB máxima de alta velocidade. (...)

As unidades rápidas típicas afirmam ler até 30 megabytes / s (MB / s) e gravar aproximadamente a metade dessa velocidade. Isso é cerca de 20 vezes mais rápido que os dispositivos USB 1.1 de "velocidade máxima", limitados a uma velocidade máxima de 12 Mbit / s (1,5 MB / s).

nmat
fonte
6
Não é uma unidade flash. Estou copiando para isso -> amazon.com/Western-Digital-Passport-Essential-Portable/dp/… - Estou perguntando qual é o limite da interface, não sobre um dispositivo específico. (Eu quero saber se o dispositivo está atingindo o limite prático, que é a razão para esta questão em primeiro lugar)
Billy ONeal
11
Desculpe, eu interpretei mal sua pergunta. Você não especificou e 30MB / s é a velocidade usual para pen drives, então pensei que você estivesse usando um.
NMAT
Eu vejo. Por outro lado, eu realmente não perguntei qual é o gargalo, perguntei? :)
Billy ONeal
4
Honestamente, não acho que um padrão tenha limitações. Um padrão tem um máximo teórico e a implementação geralmente o limita. Portanto, se você quiser saber a causa da velocidade lenta, precisará analisar a implementação. No caso de unidades flash, o problema está no flash NAND e no caso de discos rígidos, o problema está na lógica do controlador. Mesmo os controladores de alta velocidade mal excedem 30 MB / s.
NMAT
11
Eu não acho que ele é um flash drive, eu estou transferindo de um SSD para um SSD e obter um máximo de 31 MBps
Hellreaver
20

Cerca de 30 MB / s é a velocidade máxima de transferência bastante típica.

As conexões USB 1.0 e USB 2.0 são half-duplex, o que significa que os dados fluem em apenas uma direção por vez. A conexão compartilhada entre as duas direções é provavelmente o maior motivo de desaceleração do que a velocidade de transferência esperada.

Em comparação, USB 3 e Ethernet são full duplex e atendem melhor às velocidades de transferência esperadas.

Na minha máquina, a velocidade da unidade flash USB2 nunca excede 33 MB / s no aplicativo de teste, mesmo que o Windows tenha relatado uma velocidade de 33 a 37 MB / s. Fiz alguns testes e habilitei o cache de disco (propriedades do dispositivo) e aumentei o tamanho máximo da transferência USB para 2 MB (KB2581464), mas não consegui agilizar o processo.

Cmazai
fonte
7

A interface USB 2.0 pode ser um limite devido à sobrecarga de sinalização e comando, além do espaçamento entre pacotes.

Eu tenho um SSD rápido conectado por USB 2.0. A unidade é muito mais rápida que a interface (mais de um fator de 10).

A velocidade de leitura atinge no máximo cerca de 33 MB / se a velocidade de gravação é de 17,5 MB / s. As velocidades de gravação são quase 50% mais lentas devido a uma leitura de verificação após a gravação e ao fato de o sinal USB ser half-duplex, conforme outra resposta mencionada.

Adisak
fonte
Isso parece um problema com seu controlador. Frequentemente, vejo velocidades de gravação muito mais rápidas que 17,5 MB / s, mesmo em unidades comparativamente baratas, por USB 2.0.
Billy ONeal
Você tem cache de gravação ativado? Estou falando de números brutos reais executando um programa de benchmark de disco usando write with confirm.
Adisak
11
Os programas de benchmarking de disco geralmente usam parâmetros irrealistas para esses controladores USB. O USB possui uma sobrecarga muito alta por objeto ou por transferência associada à mudança para o modo em massa. A cópia de arquivos grandes na unidade USB não apresenta esse problema. O cache de gravação não pode ter muito efeito, pois eu pude colocar imediatamente a unidade em outra máquina e os dados não estavam corrompidos.
Billy ONeal
As unidades USB geralmente têm uma velocidade de gravação mais lenta que a velocidade de leitura, mas a diferença de velocidade não se deve ao USB. Você pode comprar unidades USB mais rápidas que gravam em velocidades mais rápidas.
Dan Buhler
6

Com um iMac em meados de 2007 e um disco Verbatim USB2 transferindo dados para uma unidade FW800, obtenho 36-37 MB / s. Já é muito bom para USB2.

Se eu adicionar uma segunda transferência de outro disco USB2 (Packard Bell) conectado ao mesmo hub USB2 na mesma unidade FW800, a taxa de transferência combinada aumentará para 42 MB / s. Isso é excepcional e é a maior taxa de transferência que eu já vi no USB2.

Mais de 35-40 MB / s no USB2.0 é praticamente impossível e eu já estava dedicando um controlador USB2 apenas para esses discos, sem mouse ou outros dispositivos interferindo.

OlafM
fonte
4

O USB 2.0 suporta velocidade de sinalização de 480 Mb / s . Na página da Wikipedia, diz que a taxa de transferência efetiva é de até 35 MB / s. Há uma disparidade porque os bits geralmente não são transmitidos entre dispositivos da mesma maneira que são representados internamente. Vários fatores precisam ser levados em consideração ao transmitir dados entre dispositivos, como interferência eletromagnética.

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

O link acima é um exemplo de um esquema de codificação. É usado pelo USB 3.0.

user178351
fonte
11
8b10b é uma sobrecarga de 20%. 20% de 480 Mbits é 384 MBits é ~ 48 MB / s. Ainda significativamente mais rápido do que o que vejo na prática em qualquer lugar.
Billy ONeal
3

Eu realmente nunca pensei muito em calcular a velocidade, mas claramente há uma sobrecarga real associada a esse tipo de transferência. Eu pesquisei no Google e encontrei post após post com velocidades como você descreveu, fazendo-me pensar que você está interessado em alguma coisa.

Acabei de escolher uma unidade externa USB 2.0 de 1 TB da Seagate, formatei-a e decidi copiar uma amostra grande o suficiente para testar com: 13.595.211.905 bytes (cerca de 12 GB). Estou executando o Symantec Endpoint Protection AV.

De acordo com esta calculadora , levaria apenas 3:46 minutos para copiar com 0% de sobrecarga, mas na verdade demorava 9:17 e minha velocidade caiu para 23,9 MB / s, na verdade.

Em seguida, reiniciei (para limpar a memória) e tentei sem o meu AV funcionando e ainda demorava 9:15, ou apenas 2 segundos a menos (acho que são boas notícias para o Symantec AV, pelo menos).

Parece que esses são realmente "números teóricos".

KCotreau
fonte
PS A taxa de 480 Mb é para todos os dispositivos em um hub, mas, nos meus testes, era realmente apenas a unidade e o mouse, e duvido que o mouse tenha tido um grande impacto.
KCotreau
11
Aproximadamente 24-26MB / s é a velocidade que eu já vi em muitos dispositivos usando USB2.0
Sathyajith Bhat
1

Este post é um pouco antigo, portanto, não tenho certeza se isso ainda é relevante ou útil, mas as velocidades do USB 2 normalmente atingem o máximo de 280Mbps (35MBps) devido ao acesso ao barramento.

Retirado do Wiki:

O USB 2.0 foi lançado em abril de 2000, adicionando uma taxa de sinalização máxima mais alta de> 480 Mbit / s chamada Alta Velocidade, além da taxa de sinalização de velocidade máxima USB 1.x> 12 Mbit / s. Devido a restrições de acesso ao barramento, a taxa de transferência efetiva da> taxa de sinalização de alta velocidade é limitada a 35 MB / s ou 280 Mbit / s.

Espero que isso esclareça ...

SaltyCornelius
fonte
0

Qualquer cadeia é tão forte quanto seu elo mais fraco. O desempenho de transferência potencialmente fraco ao usar dispositivos USB2 inclui tudo, desde o firmware do controlador host, software do driver, cabos físicos usados ​​(mais curtos e mais grossos podem ser um pouco melhores?) E provavelmente o mais importante, os próprios dispositivos reais conectados e qualquer firmware, chips de flash / cache e definitivamente o desempenho do disco giratório, um gargalo bem conhecido da largura de banda.

Verifique a ordem lógica da largura de banda de E / S disponível - desempenho do processador / controlador / desempenho de cache L1 / L2 DRAM / firmware / desempenho do chip de armazenamento flash e por uma ordem de magnitude de desempenho lento de armazenamento em disco giratório.

O desempenho máximo teórico declarado (480 megaBITs ou 60 megabytes por segundo) é apenas para o barramento, não as coisas conectadas a ele e, muitas vezes, o desempenho real observado é muito menor.

Prumo
fonte
-2

As unidades de disco rígido de 5400 rpm com USB2 são limitadas pelo hardware da unidade e pelo controlador SATA. Mesmo unidades de 7200 rpm ou 10.000 rpm em um bom transportador USB não são realmente suficientes. Você precisa de um SSD para atingir o limite USB2. A maior parte da "largura de banda perdida" é na verdade a latência do controlador, onde leva apenas um tempo para deixar de gravar os dados e enviar o sinal de conclusão.

Paulo
fonte
2
Meus 5400RPM discos rígidos pode fazer um inferno de muito melhor do que 30MB / s
Billy ONeal
@BillyONeal Pode fazer, sim, mas será? Em cenários de mau uso (E / S aleatório) que podem chegar a 1 MB / s facilmente.
Maarten Bodewes
11
@MaartenBodewes: Essa era uma pergunta seqüencial de E / S - velocidade "máxima", não velocidade para uma determinada carga de trabalho.
Billy ONeal