Какова скорость передачи данных с диска на другие устройства?

3252
Kumar

Я использую Debian 6 на HP Elitbook 6930 с 2 гигабайтами оперативной памяти. Я копировал два файла AVI, всего 1,5 ГБ, и заметил, что копирование данных было сделано со скоростью 4 МБ / с. Когда я копирую те же AVI на мой USB-плагин Western Digital Passport 25G, скорость передачи данных составляет 11 + МБ / с. Эта скорость отличается, если я подключаю диск к различным портам USB. Интересно, что на работе я также скачал 16-мегабайтный файл IE8 exe на свой виртуальный компьютер, запустил его в Oracle Sun Virtual Box, и он был загружен и сохранен в течение секунды. У нас высокоскоростная сеть на работе. :-)

Почему и как возможна эта разница в скорости передачи данных?

2

2 ответа на вопрос

1
nelaaro

Существует много факторов, влияющих на скорость передачи файлов. Я рекомендую вам прочитать следующие вики-статьи, чтобы лучше понять, что происходит, когда файл передается с одного устройства на компьютерное оборудование, подключенное / вставленное / выведенное на другое устройство. Этот ответ в основном теоретический. Объяснение и примеры приведены для того, чтобы помочь вам понять некоторые очень сложные понятия и не являются на 100% технически правильными.

  1. Компьютерный автобус
  2. Жесткие диски
  3. Файловая система
  4. Универсальная память (очень интересный взгляд на будущее хранилища)

Понимание автобусов

Компьютерная шина - это фактические провода, по которым перемещаются данные. Различные шины, такие как универсальная последовательная шина (USB) и Ethernet, передают данные по разным протоколам через разные микросхемы контроллера или интегральную схему (IC). На разных компьютерах они будут использовать разные IC в разных конфигурациях, что повлияет на скорость передачи . Некоторые более дешевые системы будут полагаться на процессор, в то время как другие будут иметь выделенный контроллер только для обработки передачи данных. USB на большинстве компьютеров теперь будет иметь собственную микросхему контроллера и сможет загружать большую часть обработки из CPU. USB может иметь более одного устройства, использующего один и тот же канал связи. Например, ваша мышь и жесткий диск могут использовать один и тот же набор проводов для схемы контроллера, что означает, что каждый раз, когда вы двигаете мышь, вы прерываете жесткий диск.

Чтобы ускорить процесс, большинство шин имеют логику, которая позволяет им использовать (прямой интерфейс памяти) DMI. Это означает, что шине будет предоставлена ​​часть оперативной памяти, в которой будут буферизироваться / кэшироваться данные. Таким образом, ваша 16-мегабайтная загрузка, передаваемая по сети, может быть помещена в буфер до того, как она будет фактически записана на жесткий диск. Где, как большой 1,5 ГБ файл передается, заполнит буфер. Таким образом, первая часть передачи будет довольно быстрой, пока буфер не заполнится, после чего она вернется к фактической скорости передачи устройства. Теперь вы увидите рекламу диска там размера буфера. Вроде 32мб и тд. Таким образом, в то время как USB2 объявляет скорость передачи 480 Мбит / с, буфер диска составляет 32 МБ, как только он заполнен, мы вернулись к фактической скорости передачи устройства.

Понимание жестких дисков

Жесткие диски - это механические устройства, на которые влияет скорость, с которой устройство может фактически перемещаться к части диска. Вики на тему скорости жесткого дискаобъясню это довольно хорошо. Диск / головка диска должны переместиться из положения покоя в место, где фактически находятся данные файла, а затем прочитать или записать в зависимости от того, какую операцию вы выполняли. Чтение происходит быстрее, так как при определении состояния части диска меньше работы, чем при ее изменении. Чем более фрагментирован файл, т. Е. Чем больше он распределен по диску, тем больше времени требуется механическим компонентам для перемещения на место для чтения или записи. Вы заметите, что заявленная скорость шины ESATA составляет около 3 ГБ / с. Ваша механическая и логическая схема диска - это две отдельные части. Таким образом, хотя дисковый буфер, скажем, 32 МБ, будет заполнен со скоростью 3 ГБ / с по статической шине. Механические компоненты занимают гораздо больше времени,

Понимание файловых систем.

Теперь файловая система в операционной системе в отличие от файловой системы немного сложнее. Вам необходимо учитывать виртуальную память операционной системы, чтобы понять, как файл создается, читается и записывается. Это одна из причин, по которой вам нужно размонтировать / извлечь диск перед извлечением, поскольку некоторые файлы, возможно, не завершили передачу и продолжали делать это в фоновом режиме. Если вы сделаете это до того, как он будет полностью завершен, вы можете испортить файл, который вы передавали, или хуже файловой системы. Виртуальная память - это, по сути, огромный кэш / буфер, используемый операционной системой для хранения самых последних использованных данных в быстро доступной оперативной памяти.

Файловая система дисков, такая как NTFS / ext # (1,2,3,4), позволяет операционной системе преобразовывать понятный для компьютера адрес, такой как CHS (головка цилиндра), в понятное человеку имя файла или данные. Это требует работы операционной системы, чтобы увидеть, какие CHS доступны и где находятся ваши данные. Вот где начинается фрагментация. Если у вас много свободных областей, распределенных по диску, механическим компонентам диска потребуется много времени, чтобы найти их и выполнить операцию записи, поскольку запись занимает больше времени, чем чтение.

Обычно во время передачи вы ограничиваетесь скоростью передачи записывающего устройства, а не скоростью передачи считывающего устройства. Большие файлы занимают больше времени, так как потребуется больше свободного места, и есть большая вероятность, что не все они будут смежными (не фрагментированными). Теперь, если вы перемещаете файлы с одного раздела на другой на том же диске, это самый худший сценарий, когда речь идет о переносе. Подумайте о перемещении диска на один адрес для чтения, а затем на другой для записи, когда буфер заполнится. Это действительно замедлит ваш перевод.

Заключение

Я не могу точно увидеть, как настроена ваша система, но я надеюсь, что вы сможете увидеть, сколько всего вовлечено в простой процесс копирования и вставки. Два основных фактора, влияющих на скорость чтения и записи, - это механика дисков и состояние файловых систем. NTFS / FAT 32 будет сеять, если не дефрагментировать. Linux (ext3,4) будет иметь программное обеспечение для дефрагментации, которое может помочь, но, как правило, гораздо лучше распределяет смежные области, чем окна. Linux ext # все еще не совершенен, и вы могли бы улучшить скорость с помощью дефрагментации, но я сомневаюсь, что вы действительно заметите разницу.

1
danwat1234

«Механические компоненты занимают намного больше времени, поэтому даже на самых высокопроизводительных механических дисках скорость передачи данных составляет от 15 до 30 Мбит / с».

Выше заявление неверно! Современные жесткие диски для настольных компьютеров и ноутбуков имеют последовательную скорость передачи данных выше 100 МБ / с (мегабайт в секунду). Даже 5400 оборотов в минуту в наши дни имеют скорость передачи выше 100 МБ / с.

Произвольный поиск и передача данных, которые хранятся или должны быть записаны в случайных местах на жестком диске, будет намного медленнее. 15-30MB / s, но обычно немного быстрее.

Через несколько лет, по мере дальнейшего увеличения плотности данных, вы увидите большинство новых дисков для настольных компьютеров и ноутбуков, способных поддерживать скорость последовательной передачи данных более 200 МБ / с.