Интересно, можно ли «перезагрузить» контроллер USB-накопителя или карту памяти, чтобы они считались «неиспользованными» в Linux (Fedora 24)?

Справочная информация: я переписал USB-накопитель из /dev /urandom. Т.е. я предполагаю, что все блоки были записаны, поскольку (насколько я понял) большинство контроллеров USB-накопителей и карт памяти не сохраняют никаких запасных блоков. Накопитель (как проверить, поддерживает ли контроллер хранения триммер ATA или контроллер USB передает триммер ATA на устройство?)не поддерживает отделку - fstrim выдает ошибку, а hdparm не видит поддержку отделки, т.е.

hdparm -I /dev/sdX | grep -i TRIM

Можно ли вообще пометить все блоки на флэш-накопителе USB как пригодные для использования и запустить сборку мусора во всех ячейках? Или это, если возможно, ограничено только определенными контроллерами (USB, а также контроллером памяти)?

Следовать за

Следующий После того, как SD-карта удалена, какое значение считывается с карты?Все биты сброшены или все биты установлены? по крайней мере SD-карты должны поддерживать CMD38, который в качестве быстрого формата будет сбрасывать блоки.

Однако я нашел только официальное программное обеспечение Win/Mac для отправки этой команды на устройство https://www.sdcard.org/downloads/formatter_4/

Предположительно (не проверено), это также зависит от контроллера USB для передачи команды и может работать только на SD-картах, но не обязательно с USB-накопителями?

До сих пор я не нашел программу Linux для простой отправки этой команды CMD38 на устройство.

2 ответа2

1

Командой, которую вы хотите, является blkdiscard. Он полностью стирает весь раздел или блочное устройство посредством его обрезки. Тем не менее, он будет работать только на SD-картах, а не на USB-накопителях, так как я не думаю, что последние поддерживают триммер.

0

Вам нужен fstrim , в пакете util-linux :

НАЗВАНИЕ

fstrim - удалить неиспользуемые блоки в смонтированной файловой системе

СИНТАКСИС

  fstrim [-a] [-o offset] [-l length] [-m minimum-size] [-v] mountpoint

ОПИСАНИЕ

fstrim используется в смонтированной файловой системе для отбрасывания (или "обрезки") блоков, которые не используются файловой системой. Это полезно для твердотельных накопителей (SSD) и хранилищ с тонким предоставлением.

По умолчанию fstrim отбрасывает все неиспользуемые блоки в файловой системе. Параметры могут использоваться для изменения этого поведения в зависимости от диапазона или размера, как описано ниже.

Аргумент точки mountpoint - это путь к каталогу, где смонтирована файловая система.

fstrim или даже использование mount -o discard может отрицательно повлиять на срок службы некачественных SSD-устройств. Для большинства настольных и серверных систем достаточная частота обрезки составляет один раз в неделю. Обратите внимание, что не все устройства поддерживают обрезку в очереди, поэтому каждая команда обрезки влечет за собой снижение производительности для всего, что еще может пытаться использовать диск в данный момент.

Конечно, это зависит от способности привода или слота карты принимать команду TRIM . Недорогие USB-накопители, как правило, не предназначены; более новые UAS (подключенные через USB SCSI) обычно могут принимать TRIM . Вы можете узнать, поддерживается ли он с помощью hdparm -i - ищите "Поддержка набора данных TRIM поддерживается" под заголовком «Команды / функции».

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .