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