Я получаю только 30 МБ / с между моим компьютером и USB-накопителем, несмотря на то, что USB 2.0 поддерживает передачу данных со скоростью 480 МБ / с (или 60 МБ / с). (Поэтому я получаю только половину номинальной скорости) Есть ли что-то в стандарте USB, что должно привести к таким половинным кажущимся скоростям?
10 ответов
USB 2 использует кадры 1 миллисекунды, а в режиме High Speed (480 Мбит / с) они разделены на 8 микрокадров. Максимальный размер пакетов (используемых USB-накопителями) составляет 512 байт. Согласно этому очень информативному документу теоретический максимум составляет 13 пакетов на микрокадр. Таким образом, теоретическая максимальная скорость USB 2:
1000 * 8 * 512 * 13 = 53248000 ~ = 53 МБ / с
Этот другой документ от Cypress говорит ближе к концу, что они на самом деле достигают 43 МБ / с.
На практике пределом обычно является сама вспышка.
Изменить: Эта информация на самом деле также в спецификации USB 2.
Ваша флешка является узким местом. Они не могут достичь теоретического максимума 60 МБ / с. Вот выдержка из Википедии:
Современные флешки имеют подключение USB 2.0. Однако в настоящее время они не используют полные 480 Мбит / с (60 МБ / с), которые поддерживает спецификация USB 2.0 Hi-Speed, из-за технических ограничений, присущих флэш-памяти NAND. Самые быстрые доступные в настоящее время накопители используют двухканальный контроллер, хотя они все еще значительно не соответствуют скорости передачи, возможной с жесткого диска текущего поколения, или максимальной скорости USB. (...)
Типичные быстрые диски утверждают, что читают со скоростью до 30 мегабайт / с (МБ / с) и записывают со скоростью примерно вдвое меньше. Это примерно в 20 раз быстрее, чем у USB 1.1 "полноскоростных" устройств, максимальная скорость которых ограничена 12 Мбит / с (1,5 МБ / с).
Около 30 МБ / с вполне типичная максимальная скорость передачи.
Соединения USB 1.0 и USB 2.0 являются полудуплексными, что означает, что данные передаются только в одном направлении за раз. Совместное соединение между обоими направлениями, вероятно, является основной причиной замедления, чем ожидаемая скорость передачи.
Для сравнения, USB 3 и Ethernet являются полнодуплексными и лучше соответствуют ожидаемой скорости передачи.
На моей машине скорость флэш-накопителя USB2 в тестируемом приложении никогда не превышает 33 МБ / с, хотя Windows сообщает о скорости 33-37 МБ / с. Я провел некоторое тестирование и включил дисковый кеш (свойства устройства) и увеличил максимальный размер передачи usb до 2 МБ (KB2581464), но не смог сделать это быстрее.
Интерфейс USB 2.0 может быть ограничен из-за сигнализации и служебных команд, а также из-за расстояния между пакетами.
У меня быстрый SSD, подключенный по USB 2.0. Привод намного быстрее, чем интерфейс (более чем в 10 раз).
Максимальная скорость чтения составляет около 33 МБ / с, а скорость записи - 17,5 МБ / с. Скорости записи почти на 50% медленнее из-за проверки-чтения после записи и того факта, что сигнал USB является полудуплексным, как упоминается в другом ответе.
С iMac середины 2007 года и одним диском Verbatim USB2 для передачи данных на диск FW800 я получаю 36-37 МБ / с. Это уже очень хорошо для USB2.
Если я добавлю вторую передачу с другого диска USB2 (Packard Bell), подключенного к тому же концентратору USB2, к тому же диску FW800, комбинированная скорость передачи увеличится до 42 МБ / с. Это исключительное, и это самая высокая скорость передачи данных, которую я когда-либо видел на USB2.
Более 35-40 МБ / с на USB2.0 практически невозможно, и я уже выделил контроллер USB2 только для этих дисков, без вмешательства мыши или других устройств.
USB 2.0 поддерживает скорость передачи данных 480 Мбит / с. На странице Википедии написано, что эффективная пропускная способность составляет до 35 МБ / с. Существует несоответствие, потому что биты обычно не передаются между устройствами так же, как они представлены внутри. При передаче данных между устройствами необходимо учитывать ряд факторов, например электромагнитные помехи.
http://en.wikipedia.org/wiki/8b/10b_encoding
Ссылка выше является примером схемы кодирования. Используется USB 3.0.
Я никогда особо не задумывался о расчете скорости, но очевидно, что с этим типом передачи связаны реальные накладные расходы. Я искал в Google и находил пост за постом со скоростями, как вы описали, заставляя меня задуматься о чем-то.
Я просто извлек USB 2.0 внешний накопитель Seagate емкостью 1 ТБ, отформатировал его и решил скопировать выборку, достаточно большую для тестирования: 13 595 211 905 байт (около 12 ГБ). Я использую Symantec Endpoint Protection AV.
Согласно этому калькулятору, копирование заняло всего 3:46 минут с 0% накладных расходов, но на самом деле это заняло 9:17, а моя скорость упала до 23,9 МБ / с.
Затем я перезагрузился (чтобы очистить память) и попытался сделать это без моего AV, и это все равно заняло 9:15, или только на 2 секунды меньше (я думаю, что это хорошая новость для Symantec AV по крайней мере).
Казалось бы, это действительно "теоретические числа".
Этот пост немного устарел, поэтому не уверен, что он по-прежнему актуален или полезен, но скорость USB 2 обычно максимально достигает 280 Мбит / с (35 Мбит / с) из-за доступа к шине.
Взято из вики:
USB 2.0 был выпущен в апреле 2000 года, добавив более высокую максимальную скорость передачи сигналов> 480 Мбит / с, называемую High Speed, в дополнение к скорости USB 1.x Full Speed> 12 Мбит / с. Из-за ограничений доступа к шине эффективная пропускная способность> скорости высокоскоростной сигнализации ограничена 35 МБ / с или 280 Мбит / с.
Надеюсь, что это проясняет ...
Любая цепь настолько сильна, насколько ее самое слабое звено. Потенциально слабая производительность передачи при использовании устройств USB2 включает в себя все, от прошивки хост-контроллера, программного обеспечения драйвера, используемых физических кабелей (короче и толще может быть немного лучше?) и, вероятно, самое важное - это фактические подключенные устройства, а также любые прошивки, микросхемы флэш-памяти и кэш-памяти и, безусловно, производительность вращающегося диска, известное узкое место в полосе пропускания.
Проверьте в логическом порядке доступную пропускную способность ввода-вывода - производительность процессора / контроллера / производительность кэш-памяти L1 / L2, производительность микропрограммного обеспечения / флеш-накопителя, а затем на порядок меньшую производительность дисков с медленным вращающимся диском.
Заявленная теоретическая максимальная производительность (480 мегабит или 60 мегабайт в секунду) предназначена только для шины, а не для подключенных к ней вещей, и часто фактическая наблюдаемая производительность значительно ниже.
Жесткие диски на 5400 об / мин с USB2 ограничены аппаратным обеспечением привода и контроллером SATA. Даже 7200 оборотов в минуту или 10000 оборотов в минуту в хорошем USB-накопителе не так уж и много. Вам нужен SSD для достижения предела USB2. Большая часть "потерянной полосы пропускания" на самом деле представляет собой задержку контроллера, когда требуется только время, чтобы перейти от записи данных к отправке сигнала завершения.