5

Если я скопирую файл 8 ГБ с ПК на флэш-накопитель USB, скорость начнется примерно с 30 МБ / с ... может быть, 28 МБ / с, а затем постепенно, через минуту, она снизится до 15 МБ / с. и, наконец, установиться на 5,8 МБ / с.

Но я подумал, что если это жесткий диск, то, возможно, в нем есть кэш-память ОЗУ, а также внутренний кэш-память жесткого диска, и сначала копирование файла с компьютера на жесткий диск будет происходить быстро.

Но для USB-накопителя не должно быть внутреннего кеша для самого USB-накопителя. Для этого есть кэш-память, поэтому начальное копирование кажется таким быстрым?

2 ответа2

7

Windows будет буферизовать запись как можно дольше, поэтому первый блок будет писать быстрее, чем остальные. На дисплее отображается общее среднее значение, поэтому оно изначально высокое и медленно падает к фактической скорости записи на флэш-накопителе, которая, предположительно, немного ниже 5,8 МБ / с.

Даже если Windows по умолчанию не хранит записи для USB-накопителей, таких как эта, в кэш-памяти в течение длительного времени (записанные данные сбрасываются на диск в течение небольшого промежутка времени или сразу после закрытия файла), она все равно будет немного буферизовать запись во время активной записи все еще продолжается, а также операция копирования может иметь свой собственный буфер, поэтому он будет продолжать читать так быстро, как может, пока не заполнится, поэтому начальная скорость будет выглядеть быстрее, чем общая скорость. Именно поэтому отображение длительности процесса копирования иногда занимает 100% в течение одной или двух секунд после длительной операции записи - поскольку операция копирования закрывает файл, вызов функциональных блоков "close" продолжается до тех пор, пока не будут получены последние несколько блоков данных. написано.

Можно сказать ОС, чтобы она выполняла полностью небуферизованные операции записи, но очень мало кода делает это (Windows Explorer не делает), поскольку это мешает ряду потенциальных небольших оптимизаций (в ОС и контроллере привода), которые может ускорить операции записи.

2

Я думаю, что это просто плохо реализованный расчет времени. Первоначальная оценка учитывает в основном скорость чтения с жесткого диска; затем он корректируется с течением времени по мере поступления дополнительной информации о времени.

У моего любимого файлового менеджера есть плагин копирования, который оценивает время только после того, как он что-то прочитал и записал, и гораздо более точен в подобных ситуациях (источник и место назначения имеют очень разные скорости).

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .