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?
73
Respostas:
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 .
fonte
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 :
fonte
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.
fonte
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.
fonte
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.
fonte
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.
fonte
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".
fonte
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:
Espero que isso esclareça ...
fonte
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.
fonte
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.
fonte