До этого я перешёл с дискет на 1,44 МБ на USB-накопитель объёмом 64 МБ — именно мегабайта, а не гигабайта, — который тогда стоил целый месячный бюджет. Примерно в то же время я начал пользоваться портативными приложениями, которые можно было запускать прямо с флешки. И даже этот старый накопитель был достаточно быстрым, чтобы с ними работать.
Сегодня ситуация совсем другая. Обычная флешка может иметь десятки и даже сотни гигабайт памяти, а современные USB-интерфейсы способны передавать сотни мегабайт в секунду. Поэтому скорость накопителя становится заметной характеристикой. И чем дольше вы пользуетесь одной и той же флешкой, тем выше вероятность того, что запись данных начнёт занимать больше времени.
Но действительно ли флешка «стареет» именно поэтому?
Флеш-память нельзя просто перезаписать поверх старых данных
На дискете или магнитном жёстком диске данные можно записывать поверх старых, изменяя нужные участки магнитного носителя. С NAND-флеш-памятью всё устроено иначе.
Данные записываются страницами, объединёнными в более крупные блоки. При этом операция стирания выполняется не для отдельной страницы, а для целого блока. Поэтому изменение уже записанных данных может потребовать более сложной последовательности операций: контроллеру приходится записывать новую версию данных в другое место, а старую версию позднее помечать как недействительную и освобождать соответствующий блок.
Именно поэтому новая, малозаполненная флешка обычно работает предсказуемее. Когда в её распоряжении достаточно свободных блоков, контроллер может записывать новые данные в подготовленные области. По мере заполнения накопителя свободного пространства становится меньше, и контроллеру приходится чаще перемещать действительные данные, выполнять сборку мусора и стирание блоков.
В результате скорость записи может заметно снижаться.
Здесь важно сделать оговорку: прежде всего это касается записи, а не чтения. Если вы используете флешку преимущественно для хранения и просмотра фильмов, музыки или фотографий, снижение скорости записи может практически не ощущаться. А вот при запуске приложений, работе с большим количеством мелких файлов или регулярном создании резервных копий оно становится гораздо заметнее.
Причём степень такого замедления сильно зависит от самого накопителя. Контроллер, тип NAND, объём резервного пространства и алгоритмы управления памятью у разных моделей могут существенно отличаться. Поэтому две флешки одинакового объёма с одинаковым USB-интерфейсом способны демонстрировать совершенно разную производительность.
Дешёвая флешка и SSD используют NAND, но работают по-разному
В чём тогда принципиальная разница между обычной USB-флешкой и SSD? Ведь оба устройства используют NAND-флеш-память. Более того, существуют внешние USB-SSD — почему бы просто не считать их большими флешками?
Различий довольно много, но одно из ключевых — контроллер.
Именно контроллер управляет операциями с NAND-памятью. Операционная система отправляет накопителю команды чтения и записи, но непосредственно распределением данных по страницам и блокам, сборкой мусора, стиранием, коррекцией ошибок и другими операциями занимается контроллер.
В SSD контроллер обычно значительно сложнее. Он располагает более совершенными алгоритмами управления памятью, выполняет выравнивание износа, сборку мусора, коррекцию ошибок и другие фоновые операции, необходимые для поддержания производительности и надёжности.
У простой дешёвой флешки возможности контроллера могут быть значительно скромнее. Кроме того, многие компактные USB-накопители используют NAND и контроллеры, рассчитанные прежде всего на низкую стоимость и небольшой форм-фактор, а не на длительную высокую скорость записи.
Поэтому сравнивать обычную флешку с внешним SSD только по типу используемой памяти некорректно. NAND — лишь один элемент накопителя. Не менее важны контроллер, его прошивка, объём доступного резервного пространства и алгоритмы управления данными.
Сборка мусора: необходимая работа, которую накопитель выполняет в фоне
И SSD, и многие современные USB-флешки используют механизм, который принято называть сборкой мусора (garbage collection).
Его задача — подготовить свободные блоки NAND-памяти для последующей записи. Контроллер определяет блоки, содержащие как актуальные, так и уже недействительные страницы, перемещает нужные данные в другое место, а затем стирает освободившийся блок. После этого он снова становится доступен для записи.
Для SSD этот процесс может быть достаточно сложным и хорошо оптимизированным. Контроллер учитывает характер нагрузки, количество свободных блоков, состояние памяти и другие параметры.
Дополнительную информацию SSD может получать от операционной системы благодаря команде TRIM. Она позволяет сообщить накопителю, какие логические блоки больше не содержат нужных данных и могут считаться недействительными. Это даёт контроллеру возможность эффективнее планировать последующую сборку мусора.
С обычными USB-флешками ситуация сложнее. Поддержка TRIM зависит от конкретного накопителя, его контроллера, USB-моста, операционной системы и способа подключения. Поэтому рассчитывать, что любая флешка получает от компьютера полноценную информацию о ненужных блоках так же, как внутренний SSD, нельзя.
Если контроллер располагает небольшим количеством свободных блоков и при этом флешка почти заполнена, операции перемещения, стирания и повторной записи могут сильнее влиять на производительность.
Иногда помогает полностью переписать содержимое флешки
Что делать, если старая флешка заметно замедлилась?
Один из вариантов — скопировать все данные на компьютер, отформатировать накопитель и затем вернуть файлы обратно.
Это не универсальное средство восстановления скорости и не способ «омолодить» изношенную NAND-память. Однако такой цикл записи может изменить распределение данных по памяти и предоставить контроллеру больше свободных блоков для последующей работы. В некоторых случаях это действительно позволяет вернуть часть производительности, особенно если проблема была связана с сильной заполненностью накопителя или состоянием логической структуры данных.
Но рассчитывать, что форматирование обязательно сделает старую флешку такой же быстрой, как новую, не стоит.
Для обычной флешки часто подходит файловая система exFAT, особенно если накопитель используется между Windows и другими современными системами и на нём хранятся файлы размером более 4 ГБ.
Если вы решили попробовать этот способ, обычно достаточно быстрого форматирования. Полное форматирование не является аналогом работы контроллера по сборке мусора и может создать дополнительную нагрузку на флеш-память.
Перед форматированием, разумеется, необходимо убедиться, что все нужные данные сохранены в другом месте.
Есть и более простой вариант — оставить накопитель подключённым к компьютеру на некоторое время. Некоторые контроллеры действительно выполняют фоновые операции обслуживания в периоды низкой нагрузки. Но рассчитывать на это как на гарантированный способ восстановления производительности не стоит: возможности и алгоритмы контроллеров разных флешек сильно отличаются.
Иногда проблему уже не исправить
У NAND-флеш-памяти есть ограниченный ресурс циклов программирования и стирания. Контроллер использует механизмы выравнивания износа, чтобы распределять нагрузку между ячейками, но со временем память действительно деградирует.
При этом постепенное снижение скорости далеко не всегда связано именно с физическим износом NAND. Причиной могут быть заполненность накопителя, особенности контроллера, тип используемой памяти, характер нагрузки, большое количество мелких файлов или просто невысокое качество конкретной модели.
Кроме того, некоторые накопители способны резко снижать скорость после исчерпания внутреннего кэша. Особенно хорошо это заметно при длительной последовательной записи больших объёмов данных: первые гигабайты могут записываться быстро, а затем скорость падает в несколько раз или даже на порядок. Это не обязательно означает неисправность — контроллер просто перестаёт использовать быструю область кэширования и начинает записывать непосредственно в NAND с её реальной скоростью.
Поэтому если флешка стала заметно медленнее, сначала имеет смысл освободить место, проверить накопитель на ошибки и попробовать перенести данные с последующим форматированием. Если же накопитель старый, регулярно используется для интенсивной записи и продолжает демонстрировать нестабильную или низкую производительность, замена может оказаться разумнее дальнейших попыток его «ускорить».
И здесь проявляется главное различие между современной флешкой и теми накопителями, которые казались невероятно быстрыми двадцать лет назад: сегодня важен не только объём памяти и версия USB. Не менее важны тип NAND, контроллер, объём резервного пространства, алгоритмы управления памятью и то, насколько хорошо всё это работает вместе.
А насколько вообще имеет смысл использовать обычную флешку для задач с постоянной записью, если внешние SSD изначально рассчитаны на существенно более высокую нагрузку? Может быть, сама идея использовать дешёвую флешку как универсальный рабочий накопитель уже устарела — а что об этом думаете вы?
Источник: https://www.howtogeek.com/usb-flash-drive-gets-slower-every-time-use-it-easy-fix-dont-want-to-hear/
Если вам понравился материал, кликните значок — вы поможете нам узнать, каким статьям и новостям следует отдавать предпочтение. Если вы хотите обсудить материал —не стесняйтесь оставлять свои комментарии : возможно, они будут полезны другим нашим читателям!

