Проверка SMART HDD диска с помощью программы Виктория, тест поверхности

Привет, друзья! Один хороший человек попросил посмотреть его жесткий диск. Диск емкостью 500 Гб, Seagate, выкидывать такой жалко. Система стала жутко тормозить. Позже Windows перестала с него нормально загружаться, запуск долгий, автоматическое восстановление при загрузке результатов не давало. Появились равномерные стуки. Они хорошо ощущаются, если приложить ладонь (очень мощный инструмент для анализа всего и вся ? ? ? ).

Проверять диск средствами Windows уже не стал — система не запускается. По возможности, друг попросил сохранить данные и спасти диск. Сегодня поделюсь опытом на эту тему. Сегодня Вы узнаете:

Как проверить SMART жесткого диска с помощью программы Виктория

Обычно самую объективную информацию о состоянии можно получить и без тестирования поверхности — достаточно получить данные с системы S. M.A. R.T жесткого диска. По этим данным можно сразу сказать — есть ли смысл начинать исправлять ошибки поверхности или нет. А так же оценить общее состояние устройства, сколько оно может еще проработать.

Для того, чтобы протестировать диск, его было решено подключить к компьютеру через дополнительный шлейф в одно из гнезд на материнской плате. Перезагружаем компьютер и запустим программу Victoria 4.47 для Windows от имени Администратора, проанализируем S. M.A. R.T

C 1995 года жесткие диски для компьютера выпускаются со встроенной системой самоконтроля состояния (S. M.A. R.T), Диск в своих микросхемах после первого включения накапливает информацию о количестве проработанных часов, накопленных ошибках, температурном режиме, скорости с которой вращается блин, количестве сбойных секторов, ошибках чтения /записи. Современные жесткие диски даже оснащены собственным акселерометром — для накапливания информации об ударах, резких толчках. Эта информация представлена в виде небольшой таблицы, на которой мы видим в графическом представлении общее состояние нашего диска. Первое что нужно сделать при диагностике — это проверить S. M.A. R.T. Запустим программу:

Для того, чтобы оценить общее состояние диска, нужно выбрать сначала нужный диск из списка слева (номер диска обычно на корпусе у меня нужный диск SN5VM3HMX9).Запустим программу и перейдем на вкладку SMART:

Чтобы получить данные жмем на кнопку GET SMART (получить смарт):

Обращаем внимание на столбец health (здоровье), на столбец Name (имя атрибута). По традиции разработчик программы обозначил имена жизненно-важных параметров диска зеленым шрифтом. Так же по псеводграфическим шкалам визуально оценивается и общее состояние в графе health. Зеленый цвет — хорошо, желтый плохо. Красный — очень плохо. Пролистываем ниже:

Программа выдала у этого диска хороший «смарт». Но это не так. Я бы сказал, что S. M.A. R.T программа вернула, и это уже хорошо, потому что в запущенных случаях он вообще может не считывается. С этого диска СМАРТ считывался 23 секунды — это очень долго. Давайте разбираться, почему. Для начала нужно понять, что означают все эти характеристики, особенно выделенные зеленым цветом.

Обратил внимание, что после подключения этого диска к компьютеру система стала долго грузиться, и гораздо медленнее работать. Типичные симптомы для «битого жизнью» жесткого диска.

Параметр большое количество ошибок, здоровье, критическое. Магнитные головки уже возможно изношены, плохо работают;

Параметр так же на критическом уровне, много ошибок;

Поверхность этого диска не содержит много битых секторов, но что-то вызвало сбои. Может быть умирает потихоньку механика магнитных головок. Попробуем пробежаться тестами и посмотрим, как измениться S. M.A. R.T. после тестирования Запускаем сканирование из под DOC, версию 3,5.

Как вылечить жесткий диск программой Виктория версии 3.5?

Мы уже говорили, что сегодня самый важный для нас параметр в S. M.A. R.T — это количество переназначенных секторов. Когда сектор становится битым (Bad blok) программа Victoria этот сектор на диске находит, вычисляет его координаты и помечает как сбойный. Обращения к этом сектору больше не происходит — система его больше не видит. И тормозов нет. А в SMART записывается соответствующая информация. На этом принципе основана работа программы.

Но количество резервных адресов не бесконечно, поэтому в тот момент, когда они израсходованы полностью, диск вылечить уже будет нельзя — нужно будет успеть скопировать с него важную информацию, пока это возможно. В нашем случае количество секторов еще не израсходовано. После запуска программа выглядит так:

Сначала нужно выбрать диск, который мы будем проверять. Для этого на клавиатуре нажимаем клавишу P (английский алфавит):

Наш диск висит на третьем канале, соответственно мы с клавиатуры вводим цифру «3» и нажимаем «Enter«. После этого программа поймет, какой диск Вы выбрали, и с ним можно будет работать. Внизу экрана есть список команд. Если нажать F9, мы вызовем тот же S. M.AR. T.:

Некоторые показатели отличаются от предыдущих, но атрибут ID7 выглядит так же. Графическое отображение здоровья так же отличается, но можно разобраться — где мало зеленых квадратов, там дела плохи. Идем дальше. Так как SMART этого диска сказал нам, что он не надежен, использовать его для установки Windows я уже не буду. И с этого диска я уже заранее скопировал нужную информацию, для того чтобы ее не потерять в процессе. Попытаемся вылечить диск, насколько это возможно. Нажимаем клавишу F4, вызовем окно настроек сканирования:

Для запуска проверки нажимаем CTRL+ENTER:

«Лечение» длилось около часа, большинство секторов не удалось стереть. Дефекты так и остались. Если есть время, можно попробовать стереть диск полностью, выбрав другой режим сканирования:

Этот режим аналогичен низкоуровневому форматированию. Вся информация будет уничтожена, сектора сбойные (какие удастся стереть будут так же стерты). Некоторые разновидности ошибок могут быть исправлены. Правда, процесс может длиться долго. В некоторых случаях мне помогал этот режим восстановить работоспособность диска на некоторое время. Так сказать, последнее средство.

Весь процесс занял не более 15 минут. Впрочем, иногда проверку нужно запустить сразу повторно. Если сектора действительно переназначились, то дефектов больше программа не найдет. Всякое бывает! :-). Когда диск стерт, сканирование идет быстрее. Дело сделано, я нажал « на клавиатуре, для выхода из программы. Затем подключил диск и загрузился через Windows. Нужно посмотреть, что изменилось в SMART.

Может ли программа Виктория вылечить SMART?

В этот раз загрузка компьютера прошла штатно, без зависаний. В диспетчере дисков наш диск выглядит как не проинициализированный и не отформатированный (как с магазина ? ). Снова получим SMART нашего диска:

В этот раз SMART получил за 1 секунду. Есть разница, это хорошо. Проанализируем теперь наши жизненно важные атрибуты SMART:

Врят-ли такой диск можно активно использовать в дальнейшем, например для установки Windows. Его можно использовать, ненадолго подключая, может быть для того, чтобы сохранить на нем чуточку данных. Хотя, кто знает…

Программирование NAND для чайников.
Часть 1. Ошибки.

Просмотров:(2047) 4.89 (9) Оценки, комментарии

2021-02-11 Дата последнего изменения: 2021-02-28

В статье в предельно доступной форме рассматриваются особенности применения микросхем NAND FLASH.

CОДЕРЖАНИЕ:

NAND не совсем обычные микросхемы, поэтому те инженеры, которые с ними сталкиваются впервые, часто бывают обескуражены. Более подробно, хотя и очень примитивно, особенности NAND описаны в статьях "Программирование NAND FLASH" и "Программирование SPI NAND".

Здесь же я постараюсь изложить суть использования NAND еще проще.

Тому, кто собирается работать с NAND профессионально, материала из этой статьи будет явно недостаточно, но для любителя, который решил отремонтировать 2–3 прибора, в которых используется микросхема типа NAND, это может очень помочь.

1. Коварство NAND. Структура.

NAND организованы следующим образом: страницы > блоки –> логические модули –> кристаллы.

На рисунке ниже показан типичный пример организации микросхемы NAND с одним логическим модулем и одним кристаллом.

структура NAND?

В чем коварство NAND? В адресации.

Даже начинающий радиолюбитель знает, что к любой ячейке микросхемы памяти можно обратиться, указав её адрес. Перебирая по порядку все адреса с первого до последнего, можно считать или записать всю микросхему (именно так поступает программатор).

В микросхемах NAND обращение к отдельным ячейкам невозможно. Программирование выполняется одновременно только в пределах одной страницы, а при стирании обращение производится к блокам или к группам блоков. Страница — минимальная единица NAND, которую можно считать или записать, а при стирании минимальная единица — это блок или группа блоков.

При считывании NAND всегда происходит чтение всей страницы целиком, страница перемещается во внутренний буфер (page register), а уже из буфера можно прочитать содержимое страницы байт за байтом или в произвольном порядке.

То же самое при записи — сначала заполняется внутренний буфер (целиком или частично), затем страница записывается целиком. Размер буфера равен размеру страницы. Коварство адресации в том, что размер страницы не кратен степени двух. То есть просматривать содержимое микросхемы байт за байтом не получится.

2. Коварство NAND. Ошибки.

При работе микросхемы NAND возникновение ошибок — это норма. "Как так? Как можно работать с такой микросхемой?!" — скажете вы. Как можно работать с такой памятью? Способы есть, но об этом позже, а сейчас о типичном заблуждении начинающих:

Спокойно, дружище, спокойно. Это NAND, она так работает.

Сейчас типичная страница наиболее распространенных NAND равна двум килобайтам плюс дополнительные байты. Очень многие микросхемы при чтении дают до 16-ти одиночных ошибок на одну страницу. И это нормально. Берем, например, микросхему на 2 гигабайта. Нехитрое вычисление. Получаем, что при считывании микросхемы может быть до 16 777 216 ошибок!

Еще раз: 16 миллионов! Ошибок в микросхеме! Как с этим жить?! Как может что-то работать вообще? Об этом поговорим чуть позже.

А сейчас поясним понятие "одиночные ошибки".

"Одиночная ошибка" — это не одна единственная ошибка на страницу или микросхему, это ошибка в одном бите. Таких ошибок может быть много, вопреки слову "одиночная". Применительно к памяти такие ошибки правильнее было бы называть однобитными, но термин "одиночный" пришёл из теории передачи данных по линиям связи, где ошибки выявляют и исправляют такими же способами, что и в NAND.

3. Магия ЕСС.

Все наверное знают, что такое CRC. Код CRC (еще иногда (ошибочно) называют "контрольная сумма") — это такой специальный код, который позволяет найти ошибку в данных.

ЕСС — это более продвинутый код. Он позволяет не только обнаружить но и исправить (!) ошибку в данных. Поэтому он и называется ECC (Error Correction Code) — Код Исправляющий Ошибки.

Как работает такой код? Ох, лучше не спрашивайте. Я сам не понимаю (шутка). Просто поверьте в магию. Страница считана с ошибками, но код ЕСС может все исправить. Задействуем код ЕСС — и все читается без ошибок.

Кратко опишем как выглядит работа кодера/декодера ЕСС:

Вот до этого места коды CRC и ECC не сильно отличаются, магия ЕСС начинается дальше:

Вот и вся магия. Мы просто исправляем ошибки.

Конечно код ЕСС не может исправить все ошибки. Он может исправить их небольшое количество, скажем 16. Но нам больше и не нужно! Микросхема ведь не делает много ошибок :)

4. Коварство NAND. Магия ЕСС есть, но она не работает.

"Так просто?" — скажете вы. "Тогда почему программатор не использует ЕСС для исправления ошибок?! Я из раза в раз читаю микросхему и все время ошибки".

Да. Действительно, почему?

А вот почему.
Чтобы исправить все ошибки нужно знать:

Как? Вы это не знаете?! Вот и мы не знаем. И, возможно, никто, кроме разработчика прибора, не знает.

5. Почему алгоритмов расчета ECC так много.

На данный момент самые распространённые коды исправляющие ошибки это:

Математические теории кодов достаточно сложные, но основные приемы работы с кодами известны, порождающие полиномы легко найти. Казалось бы, мы легко сможем подобрать нужный алгоритм ECC, просто анализируя прошивку. Сначала мы тоже так решили, однако всё оказалось сложнее.

Большинство современных встроенных систем базируются на Linux. Linux для работы накопителей на основе FLASH памяти, как правило, использует драйвер MTD. В драйвере MTD реализовано программное кодирование для NAND кодом BCH с вполне известным набором полиномов. Всё будто просто, но в реальной жизни (в реальных прошивках) такое кодирование не встречается. Почему? Всё упирается в деньги. Вернее, в желание производителей аппаратуры их сэкономить.

Почему вместо обычной памяти FLASH, работающей безошибочно, используются NAND, производящие кучу ошибок? Потому что это в разы дешевле. За разработку алгоритма кодирования/декодирования ЕСС заплатить нужно ОДИН раз, за память без ошибок нужно платить КАЖДЫЙ раз в КАЖДОМ устройстве.

Ровно по этой же причине в реальных устройствах (особенно массовых) никогда не используется чисто программное декодирование ЕСС – это декодирование является очень ресурсозатратным. Получается: ставим дешевую память – получаем или медленно работающее устройство, или нужно ставить мощный процессор, стоимость которого сводит на нет выгоды от использования дешевой памяти.

Поэтому декодированием ЕСС в современных системах занимаются специальные сопроцессоры или контроллеры. Придумываются и реализуются более совершенные коды ЕСС. Часто используются комбинированные коды CRC/ECC. Код CRC рассчитывается быстрее, чем ЕСС, это позволяет использовать CRC-часть для обнаружения ошибок, а полное декодирование ЕСС — только при их наличии.

Все эти коды и алгоритмы являются предметом авторского права и собственностью компаний, их разработавших. Ежедневно патентуются все более совершенные коды и все более быстрые алгоритмы их расчета. И никто не спешит делиться своими секретами.

Для тех, кого посетит мысль о том, что взломать алгоритм ECC не сложно, хочу напомнить, что для шифрования данных и расчета кодов исправления ошибок используется идентичный математический аппарат.

6. Коварство NAND. Магия ЕСС есть, но она не работает. Что делать?

Очень часто нам приходится слышать один и тот же вопрос: "Что делать, если NAND всегда читается с огромным количеством ошибок? Как прочитать без ошибок?"

Проблема может быть успешно преодолена, если вы нам скажете, какой алгоритм ЕСС использует ваше устройство. В этом случае мы сделаем расчет ЕСС по вашему алгоритму и у вас всё будет работать без ошибок при чтении NAND для этого устройства.

Вы не знаете алгоритм? Тогда есть только один способ: толерантность к ошибкам (и этот способ успешно работает).

Просто читаете микросхему. Она будет считана с ошибками. При верификации требуется задать допустимое количество ошибок на страницу микросхемы. (Для всех вновь добавленных микросхем значение по умолчанию уже задано. Если не задано нужно смотреть документацию или просить нас, чтобы мы внесли данные ЕСС в базу).

Программа будет сверять микросхему и подсчитывать количество ошибок. Если количество ошибок не превысит заданное значение — значит всё в порядке. Ошибка сравнения не будет выдана, вы просто будете проинформированы о количестве "исправимых" ошибок.

Но не все так однозначно.

Вот небольшая задачка:
Допустим, микросхема записывается всегда правильно, а все ошибки возникают только при чтении (чаше всего, это именно так). Предположим при каждом чтении каждой страницы всегда возникает ровно 3 ошибки при допустимых для данной микросхемы 4-х ошибках.

Понятно, что пример несколько искусственный, но на нём проще объяснить.

Случай 1:Запись эталона в NAND

Мы записали в микросхему эталонную (точно не содержащую ошибок) прошивку. При верификации получаем 3 ошибки на страницу. Программа предупреждает об исправимых ошибках, но верификация проходит успешно.

Если вы эту микросхему NAND поставите в ваш прибор, он исправно заработает, поскольку встроенный в прибор алгоритм ЕСС обязан(!) исправлять не менее 4-х ошибок на страницу (это паспортные характеристики данной NAND и прибор просто обязан справляться с таким количеством ошибок).

Случай 2:Чтение микросхемы NAND

Мы считали прошивку из исправной микросхемы, стоящей в приборе (напомню, мы получаем по 3 ошибки на страницу). Далее мы еще раз считывали прошивку. Мы опять получили 3 ошибки на страницу.

Но ошибки не возникают в одних и тех же местах! При сравнении результатов 1-го и 2-го считывания может получиться до 6-ти ошибок на страницу. Это превысит допустимые 4 для данной микросхемы, но это вовсе не означает, что микросхема неисправна!

Случай 3:Копирование микросхемы NAND

Мы считали прошивку из исправной микросхемы, стоящей в приборе (получая по 3 ошибки на страницу). Далее записали полученную прошивку в чистую микросхему.

При верификации получим по 3 ошибки на страницу. Это вроде бы меньше 4-х. Но заработает ли прибор? Не факт. Всего ошибок может быть до 6-ти на страницу (3 при считывании образца плюс 3 при работе микросхемы в приборе), но ЕСС прибора исправит только 4.

На самом деле, в реальной жизни, количество ошибок по страницам в микросхемах сильно колеблется. В новых микросхемах количество ошибок не превышает одной-двух, да и то не на каждой странице. Заявленное число ошибок (в нашем примере 4) это уже в сильно изношенной микросхеме. Беда только в том, что в ремонт с формулировкой "слетела прошивка" именно такие приборы и попадают.

7. Практический совет по выбору порога ошибок.

Можно порекомендовать простой алгоритм выбора количества допустимых ошибок при верификации (настройка порога толерантности):

Случай 1. Очень оптимистичный. У вас есть эталонная прошивка и она точно без ошибок.

Такую прошивку можно писать и верифицировать с порогом ошибок, заданным в документации на микросхему (во всех наших примерах – это 4).

Случай 2. Реальный. У вас нет эталонной прошивки.

Вы считываете прошивку из микросхемы. Чтобы ее можно было уверенно использовать, количество ошибок на страницу не должно превышать половины лимита (т. е. для нашего примера — это 2 ошибки). Далее вы пишете эту прошивку в микросхему. При верификации записанной микросхемы ошибок тоже не должно быть более 2-х.

При соблюдении этих условий прибор заработает с очень высокой вероятностью (ЕСС прибора должно исправить 2+2=4 ошибки).

Чем больше вы ошибок получаете при считывании эталона и верификации записи, тем меньше вероятность того, что алгоритм ЕСС справится с исправлением ошибок и прибор заработает. Здесь уже как повезет. :)

8. "Ваш программатор полный отстой, вот другие программаторы решают эту проблему".

Нет. У других производителей программаторов (во всяком случае у всех, которые нам известны на данный момент) всё точно так же. Те же предложения: "Cкажите какой ЕСС и мы все реализуем".

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

9. "Я все прочитал и ничего не понял.
Вы сможете наконец что-то сделать, чтобы NAND читались "нормально"?"

Мы над этим работаем. До сих пор мы не оставляем надежды на создание способа автоматического восстановления алгоритма ЕСС (хакинга) только на основании анализа прошивки.

Понятно, что для всех случаев его создать никогда не удастся, но если нам удастся восстановить алгоритм ЕСС хотя бы в четверти случаев, мы будем просто счастливы.

Что для этого нужно? Присылайте нам свои считанные прошивки. Присылайте нам как можно больше считанных прошивок. Я знаю, что они для вас представляют ценность, но мы не собираемся их распространять или использовать как-то кроме их анализа на предмет ЕСС и таблиц плохих блоков. Если вы опасаетесь, можно скрывать название системы, в которой прошивка используется.

Всё что нас интересует — это название микросхемы, из которой прошивка считана. Для лучшей защиты своих интересов вы можете прислать прошивку не полностью. Если вы опасаетесь — не присылайте. Это только просьба.

Еще очень желательно знать марку контроллера NAND, используемого в системе или марку центрального процессора, то есть название микросхемы, к которой NAND подключена.

Собрав достаточную базу прошивок, я надеюсь, нам удастся "хакнуть" ЕСС и сильно облегчить вам работу с NAND.

Только совместными усилиями мы сможем добиться значительных результатов в работе!

4.89 (9)

Источники:

https://fast-wolker. ru/proverka-smart-zhestkogo-diska-viktoriya. html

https://www. chipstar. ru/articles/nand-dlya-chaynikov/

Понравилась статья? Поделиться с друзьями:
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: