Типичный диск SATA 7200 об / мин имеет максимальную скорость передачи 125 МБ / с (например, Seagate Barracuda 7200.12).
Таким образом, если у вас есть пропускная способность, и вы ничего не делаете, кроме чтения последовательных секторов без поиска, вы получите примерно в пять раз быстрее, чем вы видите.
Однако данные не являются смежными даже в одном файле, и несколько файлов могут находиться в нескольких блоках. Кроме того, каждая запись в файл требует изменения таблиц каталогов и / или FAT. Если вы ищете, потому что файл не является смежным, или вы ищете, потому что вам нужно записать файл или таблицу каталогов, вы будете тратить время на поиск.
Среднее время поиска составляет около 8 мс, так что вы тратите много времени на каждый поиск.
Это происходит не только на целевом диске, но и на исходном жестком диске также нужно искать фрагменты каждого файла и записи каталога. Вероятно, хуже в источнике из-за большей фрагментации (файлы разбиты на несколько частей).
Также каждая команда должна идти через USB. Это не тонна накладных расходов, но это «тупое» запоминающее устройство, поэтому Windows говорит: «Эй, дай мне сектор 4923847», и накопитель соответствует требованиям. Затем Windows запрашивает или пишет в другой сектор. С очередями команд это по крайней мере настолько эффективно, насколько это возможно, но интерфейс USB передает гораздо больше, чем просто копируемые необработанные данные.
USB достигает максимума со скоростью 480 Мбит / с, но реальность такова, что у вас все хорошо, если вы получаете 48 МБ / с из этого интерфейса, и он может конкурировать с более медленной мышью, клавиатурой и другими периферийными устройствами USB. В зависимости от того, как настроены хосты и концентраторы, а также насколько они дешевы, вы можете потерять очень значительную пропускную способность USB из-за низкой скорости периферийных устройств, расходующих временные интервалы.
Все эти факторы в совокупности говорят, по сути, «Вау, вы получаете 24 МБ / с? Это на самом деле очень хорошо!"