Por que eu só obtenho uma taxa de transferência de 24 MB / s ao copiar arquivos de um disco rígido USB para meu disco rígido?

3

Eu sei que isso é normal e não é uma falha, mas por que a taxa de transferência é tão baixa ao usar um disco rígido de 7200 RPM novo e uma unidade externa USB rápida ?

Eu sei que há alguma "sobrecarga", mas o que é essa sobrecarga? Por que é tão lento?

    
por Peter Mortensen 28.01.2010 / 23:40

3 respostas

14

De USB 2.0, FAQ sobre USB de alta velocidade :

When USB 2.0 introduced Hi-Speed USB mode, it boosted bandwidth to 480Mbit/s or 60Mbyte/s.
...
As for a lot of USB storage, burning a DVD-R at its fastest rate or 16x takes up 21MByte/s or 169Mbit/s. That translates to 35% of overall USB 2.0 speed. Hard drives, however, demand huge amount of bandwidth that USB 2.0 cannot meet; we've seen a USB 2.0 hard drive has sustained 36 to 40MBbyte/s in the absolute best scenario. USB flash drives have also reached 33MBytes/s, but there seems to be some limitations in the NAND itself so you shouldn't expect their speeds to skyrocket in a next year or two. For most consumers, there shouldn't be a problem with running out of bandwidth.

Para velocidades, note a diferença entre megabits e megabytes.

Como mencionado acima, o rendimento dependerá do tamanho dos arquivos e da estrutura de pastas que você está copiando. Se houver muitos arquivos, ou o processo que está movendo os arquivos estiver fazendo algum processamento adicional, por exemplo, ZIP, a taxa de transferência será muito menor.

Se você estiver copiando um único arquivo grande (mais de 1 GB) usando o Windows Explorer, verá velocidades aproximadas de 40 Mbytes / s, mas isso provavelmente não excederá isso devido a sobrecargas do protocolo USB.

Como mencionado, verifique se nada mais está ativo no barramento USB. Até mesmo um rato usa uma parte da largura de banda disponível.

    
por 28.01.2010 / 23:58
6

Uma unidade SATA típica de 7200 RPM tem uma taxa de transferência máxima de 125 MB / s (por exemplo, Seagate Barracuda 7200.12 ).

Então, se você tem a largura de banda e não faz nada além de ler setores consecutivos sem busca, você terá cerca de cinco vezes mais rápido do que está vendo.

No entanto, os dados não são contíguos, mesmo em um único arquivo, e vários arquivos podem estar em vários blocos. Além disso, cada gravação de arquivo requer uma alteração nas tabelas de diretório e / ou FAT. Se você está procurando porque o arquivo não é contíguo, ou se você está procurando porque você tem que escrever na tabela de arquivos ou diretórios, você vai consumir tempo na busca.

Um tempo médio de busca é de cerca de 8 ms, então você está comendo muito tempo cada um procurando.

Isso não está apenas acontecendo na unidade de destino, mas a unidade de disco rígido de origem também deve procurar os bits e as partes de cada arquivo e entrada de diretório. É provavelmente pior na fonte devido à maior fragmentação (os arquivos são divididos em mais partes).

Além disso, cada comando deve passar pelo USB. Não é uma tonelada de sobrecarga, mas é um dispositivo de armazenamento em massa 'burro', então o Windows diz: "Ei, me dê setor 4923847" e a unidade está em conformidade. Em seguida, o Windows solicita ou grava em outro setor. Com o enfileiramento de comandos, é pelo menos tão eficiente quanto possível, mas a interface USB está transferindo muito mais do que apenas os dados brutos que você está copiando.

O USB chega a 480 Mbits / s, mas a realidade é que você está indo muito bem se tiver 48 MBytes / s fora dessa interface, e pode estar competindo com seu mouse, teclado e outro USB mais lentos periféricos. Dependendo de como os hosts e hubs estão configurados e de quão baratos eles são, você pode estar perdendo uma largura de banda USB muito significativa devido à baixa velocidade dos periféricos que consomem os slots de tempo.

Todos esses fatores combinados dizem, essencialmente, "Uau, você está recebendo 24 MB / s? Isso é realmente muito bom!"

    
por 29.01.2010 / 00:11
1

24 MBytes / seg é bastante razoável para um único SATA - > taxa de transferência única SATA, independentemente da interface. Especialmente se houver muitos arquivos pequenos (versus um arquivo grande), fragmentação em qualquer disco, etc.

Você pode usar o IOmeter para testar as velocidades máximas de leitura e gravação contínuas para leituras e gravações sequenciais. Você precisa fazer uma desfragmentação completa ou trabalhar contra uma partição formatada corretamente para obter um teste preciso.

    
por 28.01.2010 / 23:52

Tags