Как вылечить bad сектора на ssd
Эпиграф
«Никогда не доверяй компьютеру, который не можешь выбросить из окна»
Стив Возняк
Два месяца назад поставил себе в ноутбук SSD диск. Работал он великолепно, но на прошлой неделе он внезапно умер из-за истощения ячеек (как я полагаю). Эта статья посвящена тому, как это случилось, и тому, что я делал неправильно.
Описание окружения
- Пользователь: Веб-разработчик. То есть в ходу такие вещи как: виртуалки, eclipse, частые обновления репозиториев.
- ОС: Gentoo. То есть часто «пересобирается мир».
- ФС: ext4. То есть пишется журнал.
Итак, история начинается в апреле, когда, наконец, у меня дошли руки, чтобы скопировать разделы на 64Гб SSD веник, купленный ещё в сентябре. Намеренно не сообщаю производителя и модель, ибо пока я ещё не сильно разобрался что случилось, да это и не имеет большого значения.
Прирост производительности был конечно колоссальным: всё стало грузиться раза в два быстрее; но, что самое главное, исчез такой паразитный параметр как время доступа. В результате чего можно: в фоновом режиме «пересобирать мир», запускать три-четыре приложения, активно взаимодействующих с диском; всё это практически не отражается на работе. Никакой апгрейд процессора такого не даст.
Что я сделал, чтобы он работал дольше
Конечно же, я изучил многочисленные публикации, о том как беречь SSD-диски. И вот что я сделал:
- Поставил noatime для разделов, чтобы при обращению к файлу не обновлялась запись о времени последнего доступа.
- Увеличил оперативку до максимума и отключил своп.
Больше я ничего не делал, так как считал, что компьютер должен служить пользователю, а не наоборот, и излишние пляски с бубном — неправильно.
S.M.A.R.T.
За три дня до падения я озаботился вопросом: а как узнать насколько мне хватит счастья? Я попробовал утилиту smartmontools, но она выводила неверную информацию. Пришлось скачать Datasheet и написать патч для них.
Написав патч, я нарыл один интересный параметр: среднее_количество_стираний/максимальное_количество_стираний = 35000/45000. Но прочитав, что MLC ячейки выдерживают только 10000 циклов, я решил, что эти параметры значат не совсем то, что я думаю, и забил на них.
Хроника падения
Внезапно, во время работы стали происходить необъяснимые вещи, например новые программы не запускались. Ради интереса посмотрел на тот самый S.M.A.R.T. параметр, было уже 37000/50000 (+2000/5000 за три дня). Перезапуститься уже не удалось, не читалась файловая система основного раздела.
Я запустился с компакта и начал проверку. Проверка показала, много битых нодов. В процессе починки утилита начала тестировать на битые сектора и их помечать. Завершилось это всё на следующий день со следующим результатом: 60Гб из 64Гб оказались помеченными как плохими.
На заметку: В SSD винчестерах ячейка считается битой, если туда нельзя записать новую информацию. Чтение из такой ячейки по прежнему будет возможным. По этому эли запустить утилиту badblocks в режиме только чтения, то врядли она что-то найдёт.
Я решил запустить утилиту перепрошивки, ибо она не только перепрошивает, но и переформатирует диск. Утилита начала форматировать, покряхтела и выдала, что превышено разумное допустимое количество битых секторов, а также что есть сбои, поэтому завершить форматирование не возможно.
После этого диск стал определяться как диск с очень странным именем, номером модели и размером в 4Гб. И, в дальнейшем, кроме специализированных, утилит его никто не видит.
Я написал письмо в поддержку производителя. Они порекомендовали мне перепрошить, если не получится, то вернуть продавцу. Гарантии ещё 2 года, так что попробую.
Завершаю данный раздел благодарностями Стиву Возняку, который научил делать меня периодические бекапы.
Что произошло
Честно говоря, я и сам не знаю. Предполагаю следующее: S.M.A.R.T. не врал и ячейки действительно поизносились (это косвенно подтверждает бекап, который я делал за два дня до падения, он при распаковке показал, что даты создания некоторых файлов обнулены). А при проверке на бед сектора контроллер диска просто разрешил помечать все ячейки как битые, в которых превышено допустимое количество циклов записи.
Что нужно делать, если у вас SSD
Windows
Поставить Windows 7 в ней максимально всё оптимизировано для таких дисков. Также поставить много оперативки.
MacOs
Скорее всего оптимизированы только те компьютеры, которые будут сразу продаваться с SSD.
FreeBSD
Поставить 9.0. Почитать советы для линукса, подумать что из них можно сделать.
Linux
- Поставить ядро 2.6.33, в котором есть оптимизация для таких дисков в виде команды TRIM.
- Увеличить памяти, чтобы можно было безболезненно отключить своп.
- Поставить для монтируемых разделов noatime.
- Использовал файловую систему, сделанную по принципу copy-on-write или нежурналируемую файловую систему (например ext2).
На текущий момент copy-on-write ФС использовать достаточно сложно. ZFS пока работает только через FUSE. А nilfs и btrfs при монтировании ругаются, что их формат ещё окончательно не финализирован.
- Включить NOOP IO Scheduler он позволит не выполнять лишних бесполезных действий для SSD.
- Концептуально верно, но не сильно поможет диску — переброс временных файлов на tmpfs.
- Для систем интенсивно пишущих в лог нужно хранить в другом месте. В основном это актуально для серверов, для которых без проблем подымается лог сервер.
- Обзавестись S.M.A.R.T.-утилитами корректно отображающих состояние SSD-диска, чтобы можно было периодически следить за диском.
- Просто щадить диск. А для гентушников это дополнительно значит не «пересобирать мир».
Вопросы к хабрасообществу
- Действительно ли за 2 месяца можно убить MLC-ячейки? Я, конечно понимаю, что диск я не жалел, но ничего сверхъестественного я не делал, просто работал как обычно.
- Гарантийный ли это случай?
UPD: Диск у меня был Transcend TS64GSSD25S-M.
UPD2: В комментах очень хорошие отзывы о SSD Intel и SAMSUNG. Кроме того люди удивляются как можно так быстро убить SSD веник. Поверьте мне, я недоумевал точно также. Тем не менее возможно, что это наспех скроенная SSD серия и её можно быстро убить.
UPD3: В комментах и соседней статье подсказывают, что у меня диск на контролере JMicron, то есть нет кеша и «если нужно было изменить в случайном месте 4кб данных, им приходилось каждый раз стирать целый блок 64-512кб». Могу добавить что мой же диск я видел в продаже в Германии в марте. Так что шанс нарваться на неприятности есть у каждого.
P.S. Ну а пока я поставил старый веник и поглядываю в сторону Hitachi SSD или Intel X25-M.
UPD4: Производитель признал свою проблему с контроллером и вернул деньги.
UPD5: Переехал на Intel X25-M 80G, доволен как слон.
Источник
#1
Здравствуйте! Недавно я создавал тему Smart на Plextor PX-128M6S, с вторым винтом получилось тоже самое, но второй отказались менять по гарантии, заключение короткое «Дефектов не обнаружено» но при сканировании тогда chkdsk определял 8кб в поврежденных секторах. Чем можно выявить эти поврежденные сектора, так что бы на верняка victoria же не работает в 64x системах? И могли ли их как то исправить в магазине или скрыть?
#2
и еще как вы думаете наличие поврежденных секторов является законным основанием требовать замены SSD?
Drink
Активный пользователь
#3
со вторым винтом получилось то же самое
smart’a нет.
но при сканировании тогда chkdsk определял 8кб в поврежденных секторах
софтовые
victoria же не работает в 64x системах
от администратора v4.34.47, hdd до 1,5тб (4.3), криво для hdd с AF.
наличие поврежденных секторов является законным основанием требовать замены SSD?
физических — да.
И могли ли их как то исправить в магазине или скрыть?
физические — нет.
#4
приложил
почему такая уверенность?
а remap не может исправить физические повреждения?
картинка опять обрезалась.Возьмите здесь
180.2 KB
Просмотры: 37
Последнее редактирование: 26 Июн 2015
Drink
Активный пользователь
#5
То же, что и с тем диском, по сути.
почему такая уверенность?
ошибки FS
а remap не может исправить физические повреждения?
Нет. Не лечатся физические повреждения, на то они и физические.
После снятия данных, firmware ему обновите, secure erase сделайте, а там видно будет. Обсуждали.
Последнее редактирование: 26 Июн 2015
#6
Drink, да виктория 4.47 действительно работает на 64х системах. Какой признак физически поврежденных секторов является в виктории? Красные или синие блоки выявленные при сканировании?
SNS-amigo
SNS System Watch Freelance reporter
#7
Я год назад разместил во вложении викторию 4.47, когда пользователю требовался именно х64 софт, так ее удалили и кое-кто из супермодераторов мне сказал, что на SZ версия 4.47 считается варезом и не подлежит ни обсуждению, ни размещению и даже упоминанию.
Или что-то изменилось?
Последнее редактирование: 26 Июн 2015
#8
Drink, и еще подскажите, как заменяются софтовые бады? с помощью remap?
SNS-amigo
SNS System Watch Freelance reporter
#9
Chinaski, софтбеды не заменяют, их скрывают, или, если хотите, прячут. Методов не так уж и много.
Можно, например, забить нулями в один или несколько проходов. Есть еще несколько методов у каждого производителя дисков.
Но это действует недолго, вскоре они опять будут выявлены, по мере заполнения данными.
Магазинщики о дефектах могут и не знать. Среди продаваемых дисков любого типа, не только SSD, есть немало рефарбных (исправленных на заводе-изготовителе). Ранее они маркировались и шли по гораздо низкой цене с меньшим сроком гарантии. Потом маркировку стали скрывать.
Сейчас же, всвязи с баблоскачками, я не удивлюсь ничему. Продать могут и с болтом внутри. SSD легче, туда труднее засунуть болт для веса, но засунуть флешку с зацикленным режимом могут вполне.
Последнее редактирование: 26 Июн 2015
dzu
Активный пользователь
#10
6я серия плекстора( именно 128 Гб) говорят с багами , хотел тоже брать ..
передумал ..
на Crucial, теперь смотрю.
SNS-amigo
SNS System Watch Freelance reporter
#11
dzu, А в чем баги? В прошивке или в другом?
dzu
Активный пользователь
#12
говорят: в прошивке и обновление — мало чем помогает .
Drink
Активный пользователь
#13
Какой признак физически поврежденных секторов является в виктории?
Нет таких признаков в виктории. Есть smart. В вике с той оговоркой, что может быть и софтбэд, или отвал вики при скане по интерфейсу.
как заменяются софтовые бады?
Системой команд контроллера диска по регистрам соответствующих бит.
Решение о ремапе принимает контроллер диска, а это решение «помогает» ему принять событие записи в нестабильный сектор, — процессы в ОС, чекдиск, прогон в вике, selfscan диска сам по себе, trim и т.д.
К теме не относится.
софтбеды не заменяют, их скрывают, или, если хотите, прячут.
Софтбэды не скрывают, а уничтожают многократной перезаписью. Скрытие спецсофтом релокейтов (физбэдов) из G-list смысла не имеет, никуда физбэды и последствия их присутствия на поверхности не исчезнут.
К теме не относится.
#15
Такой вопрос коллеги, диск который вернулся признанный не гарантийным я развернул на него образ винды (который снял с работающего SSD с помощью Acronis) при загрузке винды появился черный экран, chkdsk снова показал 8кб в поврежденных секторах. Вопрос такой, при снятии образа с помощью Arconis поврежденные сектора же не могли сняться так же? Как мне подсказывает логика такого быть не должно. К тому же когда заменялся SSD на него заливался образ снятый с проблемного винта, так же целиком и он нормально работает.
Drink
Активный пользователь
#16
Не хотите обновлять firmware и делать secure erase?
Последнее редактирование модератором: 26 Июн 2015
#17
Не хотите обновлять firmware и делать secure erase?
Обновление прошивки сохраняет гарантию? Я может и не против сделать но это теперь не раньше понедельника. А пока можете сказать как происходит перенос образа акронисом? С бад блоками?
Drink
Активный пользователь
#18
Обновление прошивки сохраняет гарантию?
Да.
как происходит перенос образа акронисом?
Со смещением. Развёртывает с отступом. Как ему вздумается.
Без.
#19
вот и я так думаю, что снятый образ это по сути дела просто файлы, а бад блоки это уже повреждения физические или софтовые.
#20
На ssd нет бэд блоков. За время работы появляются ячейки непригодные для перезаписи, винт сам аппаратно их помечает. Угробите девайс такими экспентами.
Источник
Здравствуйте.
Ни что в нашей жизни, к сожалению, не вечно, в том числе и жесткий диск компьютера… Очень часто причиной выхода из строя диска являются bad сектора (так называемые плохие и не читаемые блоки, более подробно о них можете прочитать здесь).
Для лечения таких секторов существуют специальные утилиты и программы. В сети можно встретить достаточно много утилит подобного рода, но я в этой статье хочу остановиться на одной из самых «продвинутых» (естественно, по моему скромному мнению) — HDAT2.
Статья будет изложена в форме небольшой инструкции с пошаговыми фото и комментариями к ним (так, чтобы любой пользователь ПК мог легко и быстро разобраться что и как делать).
——————————-
Кстати, у меня на блоге есть уже статья, пересекающаяся с этой — проверка жесткого диска на бэды программой Victoria — https://pcpro100.info/proverka-zhestkogo-diska/
——————————-
1) Почему HDAT2? Что это за программа, чем она лучше MHDD и Victoria?
HDAT2 — сервисная утилита, предназначенная для тестирования и диагностики дисков. Основное и главное отличие от прославленных MHDD и Victoria — это поддержка практически любых дисков с интерфейсами: ATA/ATAPI/SATA, SSD, SCSI и USB.
——————————————————-
Официальный сайт: https://hdat2.com/
Актуальная версия на 12.07.2015: V5.0 от 2013г.
Кстати, скачивать рекомендую версию для создания загрузочного CD/DVD диска — раздел «CD/DVD Boot ISO image» (такой же образ можно использовать и для записи загрузочных флешек).
——————————————————-
Важно! Программу HDAT2 нужно запускать с загрузочного CD/DVD диска или флешки. Работать в Windows в DOS-окне категорически не рекомендуется (в принципе, программа и не должна запуститься, выдав ошибку). О том, как создать загрузочный диск/флешку — будет рассказано далее в статье.
HDAT2 может работать в двух режимах:
- На дисковом уровне: для тестирования и восстановления bad секторов на определившихся дисках. Кстати, программа позволяет посмотреть практически любую информацию об устройстве!
- Файловый уровень: поиск/чтение/проверка записей в файловых системах FAT 12/16/32. Так же может вестись проверка/удаление (восстановление) записей BAD-секторов, флагов в FAT-таблице.
2) Запись загрузочного DVD (флешки) с HDAT2
Что нужно:
1. Загрузочный образ ISO с HDAT2 (ссылку привел выше в статье).
2. Программа UltraISO для записи загрузочного DVD диска или флешки (ну или любой другой аналог. Все ссылки на такие программы найдете здесь: https://pcpro100.info/kakie-luchshie-programmyi-dlya-rabotyi-s-iso-obrazami/).
Теперь приступим к созданию загрузочного DVD диска (флешка будет создаваться аналогично).
1. Извлекаем из скачанного архива образ ISO (см. рис. 1).
Рис. 1. Образ hdat2iso_50
2. Открываем этот образ в программе UltraISO. Затем переходим в меню «Инструменты/Записать образ CD…» (см. рис. 2).
Если вы записываете загрузочную флешку — переходите в раздел «Самозагрузка/Запись образа жесткого диска» (см. рис. 3).
Рис. 2. запись образа CD диска
Рис. 3. если записываете флешку…
3. Должно появиться окно с настройками записи. На этом шаге нужно вставить в привод чистый диск (или чистую флешку в USB порт), выбрать нужную букву диска, на которую будет идти запись, и нажать кнопку «OK» (см. рис. 4).
Запись проходит достаточно быстро — 1-3 мин. Образ ISO занимает всего лишь 13 МБ (актуально на дату написания поста).
Рис. 4. настройка записи DVD диска
3) Как восстановить битые сектора bad блоки на диске
Прежде чем начинать поиск и устранение bad блоков — сохраните все важные файлы с диска на другие носители!
Чтобы начать тестирование и приступить к лечению bad блоков, необходимо загрузиться с подготовленного диска (флешки). Для этого необходимо настроить BIOS соответствующим образом. В этой статье я подробно рассказывать об этом не стану, приведу пару ссылок, где вы найдете ответ на данный вопрос:
- Клавиши для входа в BIOS — https://pcpro100.info/kak-voyti-v-bios-klavishi-vhoda/
- Настройка BIOS для загрузки с CD/DVD диска — https://pcpro100.info/v-bios-vklyuchit-zagruzku/
- Настройка BIOS для загрузки с флешки — https://pcpro100.info/nastroyka-bios-dlya-zagruzki-s-fleshki/
И так, если все сделано правильно, вы должны увидеть загрузочное меню (как на рис. 5): выбираем первый пункт — «PATA/SATA CD Driver Only (Default)»
Рис. 5. меню загрузочного образа HDAT2
Далее введите в командную строку «HDAT2» и нажмите Enter (см. рис. 6).
Рис. 6. запуск HDAT2
HDAT2 должен представить перед вами список определившихся дисков. Если требуемый диск есть в этом списке — выбирайте его и нажимайте Enter.
Рис. 7. выбор диска
Далее появляется меню, в котором есть несколько вариантов работы. Самые часто-используемые — это: тестирование диска (Device Test menu), файловое меню (File System menu), просмотр S.M.A.R.T информации (SMART menu).
В данном случае выбираем первый пункт Device Test menu и жмем Enter.
Рис. 8. Device test menu
В меню Device Test menu (см. рис. 9) есть на выбор несколько вариантов работы программы:
- Detect bad sectors — найти плохие и нечитаемые сектора (и ничего с ними не делать). Этот вариант подойдет, если вы просто тестируете диск. Скажем, купили новый диск и хотите удостовериться что с ним все в порядке. Лечение bad секторов может послужить отказом в гарантии!
- Detect and fix bad sectors — найти плохие сектора и попытаться их вылечить. Этот вариант я и выберу для лечения своего старого HDD диска.
Рис. 9. первый пункт — просто поиск, второй — поиск и лечение bad секторов.
Если был выбран пункт поиска и лечения bad секторов — вы увидите такое же меню, как на рис. 10. Рекомендуется выбрать пункт «Fix with VERIFY/WRITE/VERIFY» (самый первый) и нажать кнопку Enter.
Рис. 10. первый вариант
Далее запуститься непосредственно сам поиск. В это время лучше больше ничего не делать с ПК, дав ему до конца проверить весь диск.
Время сканирования зависит главным образом от размера жесткого диска. Так, например, жесткий диск на 250 ГБ проверяется примерно за 40-50 мин, на 500 ГБ — 1,5-2 часа.
Рис. 11. процесс сканирования диска
Если вы выбрали пункт «Detect bad sectors» (рис. 9) и в процессе сканирования обнаружились бэды — то чтобы их вылечить вам нужно заново запускать HDAT2 в режиме «Detect and fix bad sectors«. Естественно, вы потеряете в 2 раза больше времени!
Кстати, обратите внимание, что после подобной операции жесткий диск может проработать достаточно долго, а может и дальше продолжить «сыпаться» и на нем будут появляться все новые и новые «бэды» (bad блоки).
Если после лечения «бэды» все так же появляются — рекомендую искать замену диску, пока вы не потеряли всю информацию с него.
PS
На этом все, всем удачной работы и долгой жизни HDD/SSD и пр.
Источник