Как заставить флешку работать с прежней скоростью
В статье пойдет речь о том, как ускорить работу (скорость записи и чтения) флешки в том случае, если спустя время вы заметили снижения быстродействия накопителя.
Перевод поста Make USB Flash Write Fast Again, автор – Mansour Behabadi
У меня есть флешка SanDisk Extreme USB на 64 Гб, я ее использую для всевозможных целей. Она работает под интерфейсом USB 3.0, и к моменту покупки у нее были наилучшие показатели из всех флешек в магазине.
Я точно не могу сказать, насколько шустрой была моя флешка, когда я купил ее, но я точно помню, что скорость чтения была около Mб/сек, записи – под 150 Mб/сек. Но вчера, спуастя год после приобретения, скорость записи упала до 20 Мб/с, иногда снижается даже до 6 Мб/сек. Я не был удивлен, поскольку знал, что в некоторый момент все блоки будут перезаписаны и приведут к отсутствию поддержки TRIM. Но я не думал, что это настолько притормозит мою usb-флешку!
Как я узнал, что флеш-накопитель не поддерживает TRIM? Если я отформатирую и примонтирую флешку, игнорируя опцию монтирования и запущу fstrim/mnt , где /mnt – точка монтирования тома, я получу вот что:
fstrim: /mnt: the discard operation is not supported
ОК, но я надеюсь, что не все еще потеряно. Я знаю о команде безопасной очистки – ATA Secure Erase. Как работает эта команда? Я следовал руководству для ядра, но здесь только сводка по командам, которые я запустил (смена /dev/X на неподходящее dev). Я крайне рекомендую ознакомиться с полной версией руководства.
## Установка пароля пользователя - Nine в качестве примера, вы можете взять все что угодно hdparm --user-master u --security-set-pass Nine /dev/X ## Убедиться, что пароль работает, введя enabled ## отображается под разделом Security. hdparm -I /dev/X ## Запуск команды защищенной очистки (ATA Secure Erase) у меня занял 10 секунд hdparm --user-master u --security-erase Nine /dev/X ## Проверить, что безопасность отключена hdparm -I /dev/X
После команды очистки, я получил сообщение об ошибке, тем не менее, это работает. Проверьте до и после получения графиков производительности из gnome-disk-utility


Хотите больше полезных советов? Смотрите и подписывайтесь на наш канал! Здесь я публикую лучшие советы для пользователей Андроид, Windows, iOS и Mac OS. Также вы можете задать мне любой вопрос, подписавшись на канал.
Как можно ускорить чтение, запись USB-диска или флешки в Windows?
Как ускорить флешку? Этим вопросом задаются сотни тысяч пользователей по всему миру. Ни для кого не секрет, что флешка, она же USB-носитель — это самый популярный способ на сегодня для накопления или переноса информации от компьютера к компьютеру. Также всем известно , что при взаимодействии с флешкой и объемными файлами, иногда приходится ждать часами, пока файл копируется на или из флешки.
Какой-либо секретной кнопки, чтобы существенно ускорить работу флешки, не существует. Однако есть несколько хитростей и советов, которые могут помочь немного разогнать процесс взаимодействия с флешкой.
Как ускорить флешку?
- Вероятный износ флешки. К сожалению, но флешки со временем работают хуже и изнашиваются. Первый признак старения — это медленные манипуляции с файлами. Если продолжать использовать такую флешку, тогда со временем и вовсе можно потерять всю информацию, х ранимую на ней. Тут нет смысла пытаться ускорять флешку другими способами, а всё что нужно сделать — купить новую.
- Несоответствие разъема флешки с разъемом на устройстве. К примеру, у вас флешка с разъемом USB 3.0, а вы ее подключили в разъем USB 2.0.
- Проблемы с файловой системой. Каждая операционная система на компьютере работает с определенными файловыми системами. Если файловая система флешки адаптирована под Windows, а вы ее подключаете к Linux (или наоборот), тогда ждите медленной скорости в работе при копировании информации. В этом случае нужно правильно форматировать флешку перед началом работ с ней.
- Флешка может быть заражена. Это одна из самых популярных причин «торможения» флешки, особенно когда ею очень активно пользуются. Благо она и решается довольно просто — сканированием флешки и удалением зараженных файлов.
- Проблемы с настройками BIOS.
Как ускорить флешку: несоответствие разъемов
- 1.1;
- 2.0;
- 3.0.
Как ускорить флешку: решаем проблемы с файловой системой
Самая распространенная файловая система для флешек — это FAT32. Она хороша еще тем, что ее поддерживают многие существующие операционные системы. Однако, хоть она и универсальна, но работает медленнее чем другие файловые системы. Все что нужно сделать — это адаптировать файловую систему флешки под наиболее актуальную для вашей операционной системы, например если вы используете Windows, тогда оптимальной файловой системой будет NTFS.
Изменить файловую систему флешки можно в момент ее форматирования. Напоминаем, что в процессе форматирования флешки, все файлы с нее будут удалены, поэтому сначала сохраните их на устройстве, а потом форматируйте флешку.
Как ускорить флешку: чистим о вирусов
Чтобы удалить вирусы с флешки — не нужно ничего придумывать. Практически каждая антивирусная программа предлагает инструмент сканирования флешек. Воспользуйтесь им и очистите флешку от всех сомнительных и зараженных файлов. Иногда лучше использовать два разных антивируса или сканера флешек, потому что, к сожалению, но антивирусы видят не все существующие угрозы, поэтому то, что не увидит один , то другой определит.
Если вы часто пользуетесь флешкой на компьютере, тогда имеет смысл задумываться об установке специальной программы, которая обеспечивает надежное и безопасное взаимодействие с флешкой.
Как ускорить флешку: решаем проблемы с BIOS
- Зайдите в настройки BIOS. Для этого отправьте в перезагрузку компьютер и в момент его включения интенсивно нажимайте на кнопку F10, F8, F2, Del или Esc. В разных моделях устройств нужно нажимать разные кнопки. Узнайте в сети при помощи какой кнопки можно зайти в настройки БИОС именно на вашем устройстве.
- Отыщите в настройках пункт «Advanced» или «Advanced Settings».
- В открывшемся разделе отыщите пункт «Legacy USB Support» и отключите его, выставив значение «Disabled».
- Сохраните изменения и дождитесь полной загрузки компьютера.
Заключение
Теперь вы знаете, как можно попытаться ускорить флешку. Как видите, универсального способа или специальной программы для ускорения пока нет, поэтому приходится устранять вероятные торможения в работе флешки. Но и тут не все так просто. Некоторые даже новые флешки работают медленно и их никак не ускорить — это связано с технологией их производства. Поэтому рекомендуется покупать флешки только проверенных производителей.
Если вы интенсивно используете флешку и со временем стали замечать замедления в ее работе, то это показывает на ее медленный выход из строя. Тут можете попробовать ускорить флешку вышеописанными способами и если не помогло, тогда остается один верный путь — покупать новую флешку, пока старая не подвела в самый ответственный момент.
Мы будем очень благодарны
если под понравившемся материалом Вы нажмёте одну из кнопок социальных сетей и поделитесь с друзьями.
Попытка ускорить запись на flash-ки
Многие сталкивались с проблемой того, что нужно быстро записать данные на flash-ку, но подлая железяка маленькое устройство ограничивало нас в скорости. Производители конечно не стоят на месте, но, для увеличения скорости, обязательно нужно покупать N-ю, модельку, а старая просто начинает пылиться на полке.
Задумавшись об этом, я начал размышлять: каким же образом можно ускорить запись, не покупая новый девайс. О том что я придумал, и почему у меня ничего не получилось и будет этот пост.
Общее описание идеи
Для начала стоит задуматься: что же такое файл? Ход моих мыслей был прост: файл — последовательность байт. Байт — последовательность бит.
Далее стоит задуматься каким образом устроена flash-ка. Взгляд дилетанта таков: имеется матрица из ячеек (на сколько я знаю: 1 ячейка — 1 полевой транзистор). В одну ячейку можно записать 1 бит информации. Скорость записи информации зависит от скорости, с которой контроллер сможет установить ячейку в нужное состояние.
Идем далее и понимаем, что увеличить скорость удастся только в том случае, если не писать часть информации в ячейку. Последнее утверждение, на первый взгляд, кажется абсурдным, но давайте вспомним о структуре файла. По сути информация — случайный набор каких-то цифр. А где есть случайность, там есть и вероятность. Тут во мне снова проснулся дилетант, и я предположил что число 1 и 0 в файле примерно одинаково, и вероятность их появления = 0,5.
А что, если при записи мы будем пропускать те ячейки, которые установлены в то состояние, которое нам надо? Значит скорость записи должна немного увеличиться. Для этого нам нужно установить ячейки в то состояние, которое было бы нам известно. Я пробовал чередовать 1 и 0.
Реализация
- Скорость записи на флэшку
- Скорость чтения с флэшки (не очень нужна, но для получения полной картины узнать можно)
- Скорость сравнения битов
Генерация случайных файлов
Напишем небольшую программу, которая будет генерировать случайный файл размером 1Мб. Тут и далее будем использовать коктейль C и C++ (ну так получилось).
#include #include #include #include #define fsize 1048576 using namespace std; int main() < fstream f; f.open("rand_file", ios::out); srand(time(0)); for(int i=0; if.close(); return 0; >
Думаю тут все понятно. Генерируем случайные байты и пишем их в файл.
Измерение скоростей
Снова начинаем разогревать компилятор, и, скармливаем ему следующий код:
#include #include #include #include using namespace std; inline long long gettimeus() < struct timeval tv; gettimeofday( &tv, NULL ); return (long long) tv.tv_sec * 1000000LL + (long long) tv.tv_usec; >int main(int argc, char **argv) < int in = open(argv[1], O_RDONLY); int out = open(argv[2], O_WRONLY | O_CREAT); int size = lseek(in, 0, SEEK_END); lseek(in, 0, SEEK_SET); if (size >0) < char *fin = new char[size]; long long tmIn = gettimeus(); for(int i=0; iclose(in); close(out); return 0; >
Тут стоит уточнить некоторые моменты:
Функция gettimeus() необходима для подсчета времени, но у пользователей ОС Windows скорее всего работать не будет, ибо у них нету sys/time.h. Счастливые обладатели linux дистрибутивов никаких затруднений при компиляции почувствовать не должны. Далее немного по коду. Программа принимает два аргумента:
1. Файл для чтения.
2. Файл для записи.
И поочередно пытается прочитать один файл, и записать в другой файл, попутно измеряя время, потраченное на эти действия. Для этих целей используются системные вызовы read() и write(). Ну и в качестве бонуса идет замер времени сравнений.
Запустим программу 10 раз, а полученные значения усредним:
| Read | Write | If |
|---|---|---|
| 296127 | 1082888,7 | 24024,9 |
Как и следовало ожидать самая быстрая операция — сравнение, а самая медленная — запись. Для дальнейших расчетов перейдем к другим единицам измерения времени. Для этого поделим все времена на время сравнения. В результате получим:
Сравнение — 1.
Запись — 45,07.
Чтение — 12,33.
Все. Теперь нам ничего не мешает начать моделирование.
Оценка производительности
Идея оценки проста: перегоняем файл в память, перегоняем каждый байт в битовое представление. И начинаем подсчет времени перезаписи.
#include #include #include #include #include #include using namespace std; const double WRITE = 45.07; const double READ = 12.33; const double IF = 1.0; bool *translateToBitArray(const char *array, int size); int main(int argc, char **argv) < if (argc >1) < int in = open(argv[1], O_RDONLY); int size = lseek(in, 0, SEEK_END); lseek(in, 0, SEEK_SET); if (size >0) < char *fin = new char[size]; bool *bFOut = new bool[size*8]; //Размер файла в битах for(int i=0; iflag = !flag; > //Проверка flag = false; for(int i=0; i if (flag) printf("ERROR\n"); printf("Time linear = %.6lf\nTime opt = %.6lf\n",timeLinear, timeOpt); delete [] fin; delete [] bFOut; > close(in); > return 0; > bool *translateToBitArray(const char *array, int size) < bool *bArr = new bool[size*8]; bool *tmp = new bool[8]; int pos = 0; for(int i=0; i> 1; > memcpy(&(bArr[pos]), tmp, 8); pos += 8; > delete [] tmp; return bArr; >
Никаких проверок, никаких подсказок. Если работает — хорошо, если нет — вылетаем и все. Запускаем программу 10 раз на различных файлах (сперва случайных, а потом и настоящих).
Итоги моделирования
В итоге получаем ускорение по записи ~1.71 раза по отношению к обычной записи.
Ложка дегтя
К сожалению ничто (кроме наследства) в мире не бывает бесплатным, и, за ускорение записи придется платить замедлением удаления данных, так как необходимо поддерживать чередование битов. Плюс усложнение процедур восстановления после сбоев и т.д.
Выводы
- Увеличение записи почти в 2 раза.
- Производителю не нужно разрабатывать «мега новые» технологии сверхбыстрых ячеек, а всего лишь усложнить процедуру записи (ну и, естественно, продавать накопители на порядок дороже).
- Возможно (но не факт) увеличится срок службы ячеек.
Как ускорить работу медленной флешки
Всем доброго времени суток. Продолжаю экспериментировать над своей старенькой флешкой. В позапрошлой статье мы определили скорость работы нашей медленной флешки. Сегодня статья будет о том как ускорить работу медленной флешки на компьютере.
Одним из наиболее популярных внешних носителей данных являются современные USB-накопители. Скорость записи и чтения данных также играет существенную роль в их популярности. Однако, флеш-накопители с большой емкостью, но низкой скоростью работы, не всегда удобны в использовании.
Улучшить ситуацию с износом чипов будет невозможным, поэтому наилучшим решением будет скопировать данные с флешки, приобрести новую и перенести информацию на нее. Кроме того, следует учесть происхождение накопителя, поскольку флешки от малоизвестных китайских производителей могут быть низкого качества и иметь очень короткий срок службы. Остальные причины, описанные выше, могут быть устранены самостоятельно.
На сегодняшний день портативные flash-накопители практически вытеснили из употребления оптические диски. Превосходя их по всем параметрам:
- компактность.
- ёмкость.
- скорость чтения и записи.
Но всё же они не настолько быстры как жёсткие HDD или SSD диски. К тому же чем дольше используется флешка тем медленнее она становится. Для флешек это естественно. Тем не менее, Вы можете попробовать ускорить скорость чтения или записи такого накопителя. Воспользовавшись этими простыми советами.
Как ускорить работу медленной флешки
Форматирование флешки в NTFS
Если Ваша флешка имеет файловую систему FAT32. Отформатируйте её в более «прогрессивной» файловой системе. NTFS со средним размером кластера.

Если флешка служит для записи больших файлов. Размер кластера можно выставить максимальный. Форматировать устройство можно как средствами системы. Так и с помощью программ для работы с дисками. И в том, и в другом случае форматирование следует выполнять полное.
Оптимизация производительности
Убедитесь, что в свойствах накопителя выставлены параметры, наилучшей производительности. Для этого в окне свойств переключитесь на вкладку «Оборудование». Выберите из списка устройств флешку и нажмите кнопку «Свойства».

В открывшемся окошке переключитесь на вкладку «Политика». Активируйте кнопку «Оптимальная производительность».

По умолчанию у Вас должна быть установлена настройка «Быстрое удаление». Обеспечивающая возможность «горячего» извлечения флешки из USB-порта. Без риска потери данных в открытых файлах.
После изменения настроек в пользу лучшей производительности безопасно извлекать накопитель можно будет только закрыв все имеющиеся на нём файлы и каталоги.
Ускорение контроллера материнской платы
Опытные пользователи могут ускорить скорость работы контроллера материнской платы. Тем самым увеличить скорость подключаемой флешки. Для этого в BIOSе необходимо отыскать раздел USB Configuration. В нём — USB 2.0 Controller Mode. Затем установить значение HiSpeed или FullSpeed.

Полезно знать
Во всех современных компьютерах имеется USB-порты. Предназначенные для подключения флешек нового формата 3.0. Отличающихся более высокой скоростью чтения и записи. Приобретение такой флешки может решить все Ваши проблемы со скоростью. Только учтите, что в плане надёжности «быстрые» флешки ничуть не лучше накопителей с интерфейсом 2.0.
К тому же стоят первые на порядок дороже. А скорость чтения и записи в разных моделях таких флешек может отличаться. Флешки, подключенные через другие USB-устройства, работают немного медленнее. Чем подключенные к материнской плате напрямую. Как защитить флешку от вирусов читаем тут.

Заключение
Со временем скорость работы флешек снижается. Если флешка старая или очень активно использовалась. То её лучше заменить новой. Так как в процессе длительной и активной эксплуатации снижается не только скорость чтения и записи, но и надёжность её flash-памяти. Вот такие дела. На этом я заканчиваю свой пост. Всем успехов и быстрых Вам флешек.