Хотя кеширование вызывает некоторые из них, это не единственный фактор. Если бы кеширование было единственным фактором, то мы ожидали бы, что скорость записи очень быстро упадет с нескольких сотен МБ / с до фактической скорости записи на диске и останется там до конца записи. Однако это не то, что я наблюдал при выполнении больших передач на диск и с него (например, при записи загрузочных образов). Вместо этого я наблюдаю, что скорость постепенно уменьшается в течение всей операции.
Это замедление вызвано остатком данных на флэш-чипе (-ах), используемом для хранения данных, что требует записи в некоторые блоки более одного раза.
Внутри флеш-чипа есть блок данных, в который можно записать данные. При записи компьютер может делать только две вещи: он может стереть весь блок или изменить некоторые (или все) биты в блоке с 0 на 1.
Однако некоторые из этих блоков лучше, чем другие, особенно на флэш-накопителях низкого качества, и в результате при записи на него новых данных некоторые биты могут иногда переключаться обратно в 0 сразу после записи, и не не меняется. Таким образом, при записи в блок ОС необходимо проверить, чтобы убедиться, что все данные были записаны правильно, и, если это не так, нужно повторить блок, записав одни и те же данные в один и тот же блок два или три раза. пока данные не залипают.
Итак, когда ваш компьютер записывает кучу данных на флэш-диск, вот (не совсем точное, но достаточно хорошее) объяснение того, как это происходит:
- Возьмите первый набор блоков для записи и запишите их все.
- Прочитайте все блоки, которые мы только что написали, и составьте список тех, которые не соответствуют
- Напишите следующий набор блоков, а также те, которые были написаны неправильно в прошлый раз.
- Повторяйте 2-3, пока все блоки не будут написаны правильно.
Когда компьютер пишет на диск, он сообщает о скорости, с которой он впервые записывает блоки на диск. Поскольку он также должен будет перезаписывать более ранние блоки одновременно, общая пропускная способность, которая может использоваться для первичных блоков, уменьшается, так как увеличивается число перезаписей, которые также должны произойти. Таким образом, кажущаяся скорость записи уменьшается со временем.