Fghh
Мудрец
(10808)
1 месяц назад
Есть несколько причин, по которым скорость записи на SSD и USB-флеш-накопитель может быть ниже ожидаемой. Во-первых, SSD или USB-флеш-накопитель может иметь более низкую скорость записи, чем устройство, к которому он подключен. Кроме того, используемая файловая система может быть неэффективной и не использовать весь потенциал устройства хранения. Наконец, контроллер на SSD или USB-флеш-накопителе может быть неправильно настроен, что приводит к более низкой скорости записи.
Ольга ГрадевскаяУченик (154)
1 месяц назад
Это частные случаи. Вопрос был общий. Ответ может дать лишь рассмотрение неизменной составляющей. Флэш памяти.
Сергей
Искусственный Интеллект
(243025)
1 месяц назад
Весь этот словестный понос бесполезен ибо стирание в современных файловых системах происходит лишь в таблице файлов. А физическая запись остаётся нетронутой.
То о чём ты пишешь происходило лет 30 назад когда не было такого понятия как "быстрое форматирование" и на накопителях доминировала Fat.
А SSD отличается от обычной памяти тем что запись у SSD идёт паралельно в несколько блоков, потоков. Чем больше обьём накопителя, тем больше паралельных блоков работающих синхронно. Принцип RAID 0
По поводу скорости флэшек. USB плохо умеет работать в многопоточном режиме и контроллер USB вместе с буфером вешаются. Поэтому его скорость ограничена.
Мне кажется, что причины замедления записи сомнительны. Прежде всего пустые блоки не закончатся, потому что есть резервные блоки для замены испорченных из-за износа блоков. И еще, для ускорения работы обычно бывают еще блоки. Все это файловая система не видит. Значит освобождать целевой блок не надо. Просто скопировать все новое и старое в пустой блок. Когда будет время - стереть старый бок. Это теперь невидимый пустой блок.
Для чего переносить все страницы из старого блока в новый? Пускай они уже пустые, но контроллер считает что нет. Даже так новую страницу достаточно записать в любое место, в любую пустую страницу. Просто обновить адресацию - эта страниц теперь в другом блоке, старая страница пуста. Ведь контроллер знает что она обновилась и была перенесена. Когда все страницы в старом блоке будут перенесены - надо стереть этот блок. И этот блок теперь пуст.
Какое замедление записи может быть? Пиши станицы в пустые. Потом стирай блоки в свободное время. Вот и все...