Восстановление работоспособности жесткого диска



Технология S.M.A.R.T.
Анализ данных S.M.A.R.T. жесткого диска
Ремап (Remap) и проверка поверхности жесткого диска
Мониторинг состояния жесткого диска
Использование терминального режима для ремонта HDD.
Восстановление работоспособности накопителя ST3640323AS с прошивкой SD35.



Технология S.M.A.R.T.



    Все современные накопители на жестких магнитных дисках поддерживают технологию самотестирования, анализа состояния, и накопления статистических данных об ухудшении собственных характеристик S.M.A.R.T. (Self-Monitoring Analysis and Reporting Technology). Основы S.M.A.R.T. были разработаны в 1995 г. совместными усилиями ведущих производителями жестких дисков.
В процессе совершенствования оборудования накопителей, возможности технологии также дорабатывались, и после стандарта SMART появился SMART II, затем - SMART III, который, очевидно, тоже не станет последним.

    Жесткий диск в процессе своего функционирования постоянно отслеживает определенные параметры своего состояния и отражает их в специальных характеристиках - атрибутах (Attribute), сохраняющихся, как правило, в специально выделенной части дисковой поверхности, доступной только внутренней микропрограмме накопителя - служебной зоне. Данные атрибутов могут быть считаны специальным программным обеспечением.
    Атрибуты идентифицируются своим цифровым номером, большинство из которых одинаково интерпретируется накопителями разных моделей. Некоторые атрибуты могут быть определены конкретным производителем оборудования, и поддерживаться только отдельными моделями накопителей.

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

  • Attribute - имя атрибута
  • ID - идентификатор атрибута
  • Value - текущее значение атрибута
  • Threshold - минимальное пороговое значения атрибута
  • Worst - самое низкое значение атрибута за все время работы накопителя
  • Raw - абсолютное значение атрибута
  • Type (необязательно) - тип атрибута - характеризует производительность (PR - Performance-related), характеризует сбои (ER - Error rate), счетчик событий (EC - Events count), определено производителем или не используется (SP - Self-preserve);

        Для анализа состояния накопителя, пожалуй, самым важным значением атрибута является Value - условное число (обычно от 0 до 100 или до 253), заданное производителем. Значение Value изначально установлено на максимум при производстве накопителя и уменьшается в случае ухудшения его параметров. Для каждого атрибута существует пороговое значение, до достижения которого, производитель гарантирует его работоспособность - поле Threshold. Если значение Value приближается или становится меньше значения Threshold, - накопитель пора менять. Перечень атрибутов и их значения жестко не стандартизированы и определяются изготовителем накопителя, но наиболее важные из них интерпретируются одинаково. Например, атрибут с идентификатором 5 (Reallocated sector count) будет характеризовать число забракованных и переназначенных из резервной области секторов диска, и для устройств производства компании Seagate, и для Western Digital, Samsung, Maxtor.
        Жесткий диск не имеет возможности, по собственной инициативе, передать данные SMART потребителю. Их считывание выполняется специальным программным обеспечением.

        В настройках большинства современных BIOS материнских плат имеется пункт позволяющий запретить или разрешить считывание и анализ атрибутов SMART в процессе начальной загрузки. Иногда его ошибочно трактуют, как запрет или разрешение самой технологии SMART для дискового накопителя. Это неверно, Никакой BIOS и никакой драйвер не имеет возможности изменить основной алгоритм работы внутренней прошивки накопителя. Более того, при работе в Windows функции BIOS для работы с жестким диском не используются. Включение опции всего лишь позволяет подпрограмме тестирования оборудования BIOS считать значения некоторых атрибутов и, при превышении порога, предупредить об этом пользователя. Как правило, без особой детализации:
    Primary Master Hard Disk: S.M.A.R.T status BAD!, Backup and Replace.
    Выполнение подпрограммы BIOS приостанавливается, чтобы привлечь внимание:
    Press F1 to Resume
    Таким образом, без установки или запуска дополнительного программного обеспечения, имеется возможность вовремя определить критическое состояние накопителя (при включении данной опции) средствами Базовой Системы Ввода-Вывода (BIOS).






    Анализ данных S.M.A.R.T. жесткого диска


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

    Одной из самых популярных программ для тестирования жестких дисков является Victoria Сергея Казанского.

    На сайте автора найдете последнюю версию программы, а также массу полезной информации, в том числе и подробное описание работы с Victoria.

    Программа Victoria имеет две разновидности - для работы в среде DOS и, для работы в среде Windows. DOS-версия может напрямую работать с контроллером жесткого диска и обладает значительно большими возможностями по сравнению с версией для Windows.
    Назначение, основные возможности и порядок использования программы найдете на сайте автора
    Программа проста в использовании и позволяет оценить техническое состояние накопителя, выполнить его тестирование и некоторые настройки - уровня шума, производительности, физического объема. Режимы тестирования поверхности накопителя позволяют принудительно избавиться от сбойных секторов с помощью режима Remap нескольких видов. Вызов меню тестирования выполняется по нажатию клавиши F4 (SCAN). Пользователь имеет возможность задать

    область тестирования
    Start LBA :0 - начало области (по умолчанию - 0)
    End LBA :14680064 - конец области (по умолчанию - номер последнего блока диска)

    Режим тестирования
    Линейное чтение - последовательное чтение от начального блока до конечного
    Случайное чтение - номер считываемого блока формируется случайным образом.
    BUTTERFLY чтение - выполняется чтение блоков, начиная от граничных номеров (начала и конца), к центру области тестирования.
    Изменение режима выполняется по нажатию клавиши "пробел"

    Режим обработки ошибок
    Этот пункт позволяет выполнить скрытие дефектных блоков, с использованием переназначения (ремап) из резервной области. Выбор режима выполняется клавишей "пробел". Выбранный метод работы с дефектами отображается в правом верхнем углу экрана, под часами, а также в нижней строке в момент запуска теста. Изменить режим можно в и в процессе выполнения сканирования.
    Ignore Bad Blocks - программа не будет выполнять никаких действий при обнаружении ошибки.
    BB = RESTORE DATA - программа попытается восстановить данные из поврежденных секторов.
    BB = Classic REMAP - выполняется запись в поврежденный сектор для вызова процедуры переназначения.
    BB = Advanced REMAP - улучшенный алгоритм скрытия сбойных блоков. Используется, когда не помогает классический ремап. Программа выполняет специальную последовательность операций с целью формирования признака кандидата на ремап (атрибут 197) у сбойного блока. Затем выполняется 10-кратная запись, обрабатываемая микропрограммой накопителя как обычная обработка кандидата на ремап - если есть ошибка, выполняется переназначение, если нет ошибки - блок считается нормальным и удаляется из кандидатов на ремап. Данный режим позволяет выполнить скрытие сбойных блоков без потери пользовательских данных. Конечно, только в случаях, когда накопитель технически исправен и есть свободное место в резервной области для переназначения.
    BB = Fujitsu Remap - выполнение специфических алгоритмов, основанных на недокументированных возможностях некоторых моделей накопителей Fujitsu
    BB = Erase 256 sect - при обнаружении сбойного сектора выполняется перезаписывание блока из 256 секторов. Пользовательские данные не сохраняются.

    Victoria 3.52 Freeware

    В процессе работы с программой можно вызвать контекстную справку клавишей F1

        Версия Victoria For Windows обладает более скромными возможностями по настройке накопителя и выбору режимов тестирования, и на данный момент не имеет поддержки русского языка , однако ей проще пользоваться и имеющихся возможностей вполне достаточно для считывания таблицы SMART и оценки технического состояния накопителя.

    Программа не требует установки, просто скачайте ее по ссылке на странице загрузки сайта автора,

    Для анализа состояния SMART-атрибутов выбираем режим работы через программный интерфейс Windows - включаем кнопку API в правой верхней части основного окна. Затем выбираем нужный накопитель - нажимаем на кнопку Standard в основном меню программы и подсвечиваем мышкой нужный накопитель в окне со списком жестких дисков. В информационном окне будет отображен паспорт накопителя - модель, версию аппаратной прошивки, серийный номер, размер и т.п. Для получения данных SMART выбираем пункт меню SMART и жмем кнопку "Get SMART". Результат будет отображен в информационном окне программы.



    Victoria for Windows


    Краткое описание атрибутов (в скобках дано шестнадцатеричное значение номера):



  • 001 ( 1 ) Raw Read Error Rate - абсолютное значение ошибок считывания. Существует некоторые отличия в формировании значения данного атрибута разными производителями. Из практики могу сказать, что накопители Seagate могут иметь гигантское значение RAW этого атрибута, реально будучи в хорошем состоянии, а накопители Western Digital могут иметь его нулевым, имея критические показатели по другим характеристикам. Некоторые модели вообще могут не поддерживать данный атрибут.
  • 003 ( 3 ) Spin Up Time - Среднее время раскрутки шпинделя диска от 0 RPM до рабочей скорости.
  • 004 ( 4 ) Start/Stop Count - Количество циклов запуск/останов шпинделя.
  • 005 ( 5 ) Reallocated Sector Count - Количество переназначенных секторов. Современные накопители имеют довольно большую (тысячи секторов) резервную область поверхности накопителя для использования ее в случае ухудшения характеристик секторов из основной зоны. Если накопитель обнаруживает проблемы с записью/считыванием какого - либо сектора, то он автоматически перемещает его данные в резервную область, а данный сектор помечается как "переназначенный". Часто этот процесс называют "remapping", или "automatic defect reassignment", он выполняется микропрограммой накопителя и для пользователя (операционной системы) невидим. Поле raw value содержит общее количество переназначенных секторов. Даже некритическое, но большое значение этого поля, может привести к снижению скорости обмена данными, поскольку накопитель выполняет дополнительную операцию установки головок на дорожки резервной области, обычно расположенной в конце диска.
  • 007 ( 7 ) Seek Error Rate - Частота появления ошибок позиционирования блока магнитных головок (БМГ) . Накопитель контролирует правильность установки головок на требуемую дорожку поверхности. В случае, когда установка выполнилась неверно, фиксируется ошибка и операция повторяется. Для данного накопителя причиной большого числа ошибок явился перегрев.
  • 008 ( 8 ) Seek Time Performance - средняя скорость позиционирования магнитных головок. Если значение атрибута уменьшается (замедление позиционирования), то велика вероятность проблем с механической частью привода головок.
  • 009 ( 9 ) Power-On Hours - Количество часов во включенном состоянии. Достижение предельного значения этого атрибута означает выработку накопителем заданной производителем наработки на отказ (MTBF - Mean Time Between Failures).
  • 010 ( 0A ) Spin Retry Count - Количество повторных попыток старта шпинделя. После включения питания, накопитель раскручивает диски и контролирует достижение рабочей скорости вращения для данного устройства ( например 5400 , 7200, 10000 об/мин.) за определенное время. В случае неудачи - увеличивается счетчик повторов и повторяется попытка старта.
  • 011 ( 0B ) Recalibration Retries - количество попыток рекалибровки, в случае, если первая попытка была неудачной. Если значение атрибута увеличивается, то велика вероятность проблем с механической частью накопителя. Кроме того, увеличение абсолютного значения данного атрибута может быть вызвано тем, что процедура рекалибровки используется внутренней микропрограммой накопителя для коррекции других типов ошибок.
  • 012 ( 0C ) Device Power Cycle Count - Количество циклов включения/выключения диска.
  • 184 ( B8 ) End-to-End error - Данный атрибут - часть технологии HP SMART IV - означает, что после передачи данных через буферную память чётность данных между контроллером компьютера и жестким диском не совпадает.
  • 187 ( BB ) Reported Uncorrectable Error - Характеризует количество ошибок, которые не были исправлены микропрограммой накопителя.
  • 188 ( BC ) Command Timeout Количество прерванных операций в связи с HDD тайм-аут. Обычно это значение атрибута должно быть равно нулю, и, если значение гораздо выше нуля, то, скорее всего, там будут какие-то серьезные проблемы с питанием или окислением контактов интерфейсного кабеля.
  • 189 ( BD ) High Fly Writes - Если высота полета головки над магнитной поверхностью, даже на короткое время превысит оптимальную, то записанные ею данные, в дальнейшем, могут не прочитаться. Современные накопители используют специально разработанную технологию контроля высоты полета головок, позволяющую не выполнять запись данных при неоптимальной высоте. В счетчик данного атрибута добавляется единица, а запись выполняется после установки нормальной высоты полета. Повышенное значение данного атрибута может быть вызвано внешними ударами или вибрациями, ненормальной температурой, ухудшением характеристик магнитной поверхности или головки.
  • 190 ( BE ) Airflow Temperature - температура окружающей среды блока магнитных головок. Для большинства моделей данный атрибут отсутствует и используется атрибут 194.
  • 191 (BF ) G-sense error rate - количество ошибок, возникающих в результате ударных нагрузок. Атрибут хранит показания встроенного акселерометра, который фиксирует все удары, толчки, падения и даже неаккуратную установку диска в корпус компьютера. Обычно довольно точно характеризует условия эксплуатации ноутбуков - большое значение атрибута говорит о резких толчках и падениях при работе устройства.
  • 192 ( C0 ) Power-off retract count - количество циклов выключений или аварийных отказов (включений/выключений питания накопителя).
  • 193 ( C1 ) Load/Unload Cycle - количество циклов перемещения блока магнитных головок в зону парковки.
  • 194 ( C2 ) HDA Temperature - температура самого накопителя (HDA - Hard Disk Assembly). В данном атрибуте хранятся показания встроенного температурного датчика, которым обычно служит одна из магнитных головок (как правило - нижняя ). Данные, записанные в полях атрибута отображают текущую, минимальную и максимальную температуру. Поле Worst показывает наихудшую, достигнутую за время работы накопителя, температуру (можно установить факт перегрева и его степень), raw value - текущую температуру. Некоторые модели накопителей могут поддерживать атрибут 205 ( CD ) Thermal asperity rate (TAR) фиксирующий количество опасных перепадов температуры.
  • 195 ( C3 ) Hardware ECC recovered - характеризует количество ошибок считывания, исправленных оборудованием накопителя с применением кода коррекции ошибок. Подобные ошибки не требуют повторного считывания сектора, и не приводят к потере скорости обмена данными, но большое их количество говорит об ухудшении параметров тракта считывания.
  • 196 ( C4 ) Reallocation Event Count - Число событий переназначения сбойных секторов. В поле raw value данного атрибута хранится общее число попыток переноса данных из нестабильных секторов в резервную область. Учитываются как успешные, так и неуспешные попытки.
  • 197 ( C5 ) Current Pending Sector Count - Текущее количество нестабильных секторов. Поле raw value этого атрибута показывает общее количество секторов, которые накопитель в данный момент считает кандидатами на переназначение в резервную область (remap). Если в дальнейшем какой-то из этих секторов будет прочитан успешно, то он исключается из списка кандидатов. Если же чтение сектора будет сопровождаться ошибками, то накопитель попытается восстановить данные и перенести их в резервную область, а сам сектор пометить как переназначенный (remapped).
  • 198 ( C6 ) Uncorrectable Sector Count - Счетчик некорректируемых ошибок. Это ошибки, которые не были исправлены внутренними средствами коррекции оборудования накопителя. Может быть вызвано неисправностью отдельных элементов или отсутствием свободных секторов в резервной области диска, когда возникла необходимость переназначения.
  • 199 ( C7 ) UltraDMA CRC Error Count - Счетчик ошибок, возникших при передаче данных в режиме UltraDMA . Аппаратные средства контроля передачи данных из накопителя в оперативную память обнаружили ошибку контрольной суммы. Нередко этот тип ошибки связан не столько с оборудованием накопителя, сколько с неисправным интерфейсным кабелем, нестабильным питанием, разгоном частоты шины PCI, перегревом микросхем чипсета материнской платы и т.п.
  • 200 ( C8 ) Write Error Rate ( Multi-Zone Error Rate ) - Характеризует наличие ошибок при записи данных. Может быть вызвано ухудшением состояния поверхности, головок или характеристик тракта записи данных. Чем ниже значение Value, тем опаснее использовать такой накопитель.
  • 220 ( DC ) Disk Shift - смещение блока дисков относительно вертикальной оси шпинделя. В основном возникает из-за сильного удара или падения накопителя и как правило, является сигналом для его замены.
  • 228 ( E4 ) Power-Off Retract Cycle - Количество автоматических парковок магнитных головок при выключения питания.


    Список S.M.A.R.T. атрибутов (в т.ч. и для SCSI-дисков) на английском языке




    Ремап (Remap) и проверка поверхности жесткого диска


        Удивительно, как долго могут существовать ошибочные представления о жестких дисках и их правильной эксплуатации. В частности, даже неплохие специалисты в области компьютерной техники, бывает, рекомендуют выполнять в среде ОС Windows полное форматирование поверхности вместо быстрого, или даже низкоуровневое форматирование. Что касается последнего, свою лепту в путаницу с форматированием вносят и некоторые производители программного обеспечения, выпускающие программы для "низкоуровневого форматирования", которые ничего не форматируют. Низкоуровневое форматирование (Low Level Format) - это разметка поверхности диска специальной служебной информацией, в соответствии с геометрией накопителя, выполняемой специальной командой посылаемой накопителю. В стандарте ST506/412, который предшествовал современному стандарту ATA (AT attachment) имелась команда 50h (Format Track), при выполнении которой выполнялась разметка дорожки адресными маркерами, в соответствии с номером цилиндра, номером головки и количеством секторов на дорожке. В дальнейшем, при записи данных, эта часть информации никогда не изменялась. При выполнении команды записи данных в сектор, накопитель никогда и ничего не записывает в ту область дорожки, которая является служебной и была создана при низкоуровневом форматировании дорожек поверхности специально для этого предназначенной командой 50h.
    В современных накопителях стандарта ATA команды низкоуровневого форматирования вообще отсутствуют, а рекламируемые некоторыми производителями программы для выполнения данной операции являются простыми "стиралками" данных, выполняющими запись в область данных секторов. Нет, и не может быть, никаких программ для выполнения настоящего низкоуровневого форматирования в среде любой операционной системы. Любое подобное "низкоуровневое" форматирование - это высокоуровневое форматирование логической структуры пользовательских данных.
    Что же касается полного форматирования в среде Windows, то по сравнению с быстрым, сразу создающим пустое оглавление, оно просто добавляет проверку поверхности диска чтением перед тем, как выполнить то же самое, что делает быстрое форматирование. Что также не имеет смысла, поскольку такая проверка выполняется на фоне постоянной работы технологии S.M.A.R.T, которая с данной задачей справляется гораздо эффективнее и в непрерывном режиме.

    При записи жесткий диск не проверяет, что и как было записано в область данных сектора, кроме случаев, когда предварительная диагностика, которой накопитель занимается все "свободное время", не пометила в соответствующих журналах эти сектора, как проблемные, или кандидаты на переназначение, что отражается в атрибуте 197 SMART (Current Pending Sectors).

    Кандидат - это сектор (или группа секторов), который не был считан за стандартное время и с установленным числом повторов. В режиме простоя, запустится программа самотестирования, которая попытается считать данные с применением дополнительных режимов. Если сектор будет успешно считан - программа самодиагностики попытается записать данные обратно, и если запись выполнится успешно, то из кандидатов такой сектор удалится. Если же записанная на то же место информация не будет нормально считываться, то выполнится переназначение сектора (Remap), данные запишутся в сектор из специально для этого предназначенной резервной области (spare area). В дальнейшем, всегда вместо этого сбойного сектора будут считываться данные из резервной области. А сектор-кандидат на переназначение, не исправленный программой самотестирования, увеличит значение атрибута 198 (Offline Scan UNC Sectors). Убрать такой "бед" можно только перезаписью. Но если резервная область закончилась, то все последующие кандидаты на переназначение превратятся в реальные "плохие секторы" (Bad Blocks). В этом случае программы полного форматирования и проверки поверхности могут исключить сбойный сектор из логической структуры диска, однако, использовать накопитель с закончившейся резервной областью - это очень рискованная идея, которая обязательно закончится потерей данных. Использовать такой диск можно разве что для опасных экспериментов, хранения некритичных данных, или выбросить его на помойку.

    При возникновении плохих блоков (Bad Block) нередко возникает необходимость проверки принадлежности сбойного участка конкретному файлу. Для этих целей можно воспользоваться консольной утилитой NFI.EXE (NTFS File Sector Information Utility) из состава пакета Support Tools от Microsoft. Скачать 10кб
    Формат командной строки
    nfi.exe Диск Номер логического сектора
    Подсказку по использованию NFI.EXE можно получить по команде nfi.exe /?

    Букву логического диска можно задавать без двоеточия. Номер логического сектора - это номер сектора относительно начала логического диска. Обратите внимание на тот факт, что программы сканирования работают со всей поверхностью физического диска и используют нумерацию секторов, не привязанную к его логической структуре. А номер сектора, задаваемый в качестве параметра утилиты NFI.EXE - это номер сектора логического диска (раздела), и он отличается величиной смещения начального сектора раздела от начала диска. Значение номеров начальных секторов логических дисков можно получить нажав кнопку View part data вкладки "Advanced" программы Victoria For Windows.

    nfi.exe C: 655234 - выдать имя файла, которому принадлежит сектор 655234
    nfi.exe C: 0xBF5E34 - то же самое, но номер сектора задан в шестнадцатеричной системе счисления
    В результате выполнения команды будет выдано сообщение

    ***Logical sector 12541492 (0xbf5e34) on drive C is in file number 49502.
    \WINDOWS\system32\D3DCompiler_38.dll


    Т.е. интересующий нас сбойный сектор принадлежит файлу D3DCompiler_38.dll в каталоге Windows\system32. В случае, когда сбойные блоки принадлежат системным файлам Windows, возможно появление синих экранов смерти или зависаний системы с перезагрузкой. В большинстве случаев, информация о наличии сбоев дисковой подсистемы, будет отображаться в системном журнале Windows.

    Для выполнения тестирования поверхности накопителя с принудительным переназначением (ремапом) сбойных секторов можно воспользоваться программами тестирования HDD, алгоритм работы которых специально разработан таким образом, чтобы "заставить" внутреннюю микропрограмму накопителя выполнить переназначение нестабильного участка.
    Так, например, подобные алгоритмы будут использоваться, в упоминаемой выше программе Victoria, если выбран режим тестирования поверхности с выполнением операций восстановления или переназначения (Classic Remap, Advanced Remap :). Изначально режим выполнения теста установлен в Ignore Bad Blocks

    Victoria - режимы тестирования поверхности


    Нажатие пробела изменяет режим обработки сбоев. При выполнении такого вида тестирования накопителя, пользовательские данные остаются в сохранности.
    Добавлю, что режим Advanced Remap, хотя и является наиболее эффективным, на практике может приводить к "зависанию" микропрограммы на некоторых моделях HDD, выйти из которого можно только с использованием принудительного сброса (режим Reset, клавиша F3). После чего можно продолжить тестирование. Если в режиме Advanced Remap таймауты происходят слишком часто, имеет смысл перейти к использованию классического ремапа.

    Для программы Victoria For Windows переназначение сбойных секторов включается установками режима выполнения теста в правой части основного окна. По умолчанию установлен режим Ignore - ничего не делать при обнаружении сбоя, а нужно установить режим Remap

    Victoria for Windows - режим Remap


    Для тестирования с переназначением сбойных секторов в программе MHDD, используется команда SCAN ( клавиша F4) и выбор режима Remap: ON. Изменение режима (OFF / ON )выполняется нажатием клавиши ENTER или пробел.

    Сканирование  поверхности MHDD


    Добавлю, что особого выбора алгоритмов тестирования с переназначением сбойных секторов у программы MHDD, в отличие от Victoria, нет, однако MHDD обладает несколько большими возможностями, в т.ч. позволяет работать с SCSI-дисками и съемными USB HDD, при использовании драйверов, позволяющих получить доступ к съемному диску как SCSI-устройству (драйверы ASPIEHCI.SYS, USBASPI.SYS).

        Для компьютеров, не имеющих накопителей на гибких магнитных дисках, возможность загрузки DOS-версий MHDD и Victoria можно реализовать c использованием USB флешки. Один из вариантов - мультизагрузочная флешка на основе загрузчика GRUB и набора образов загружаемых CD и Floppy дисков. Практический пример создания мультизагрузочной флешки приведен в статье Создание загрузочной флешки ERD Commander . Часть статьи посвящена использованию, в качестве полезного дополнения к ERDC, некоторых других программных продуктов, в том числе и загрузке образов дискет с DOS и программами MHDD 4.60 и Victoria For DOS v 3.52.

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

    Заводские тесты заново сформируют таблицы дефектов P-List (Primary List) и G-List (Grown List) - заводской и полученный в процессе эксплуатации списки дефектных блоков.








    Мониторинг состояния HDD.




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

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

    CrystalDiskInfo


        Кроме CrystalDiskInfo, на сайте разработчика вы можете также скачать другие программы для тестирования, настройки и оценки производительности - CrystalDiskMark, CrystalCPUID, CrystalDMI, CrystalMark 2004R3.






    Использование терминального режима для ремонта HDD.


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

        За основу я взял методику, описанную здесь и здесь
    Применяется для реанимации накопителей Seagate Barracuda 7200.11 с прошивкой SD15 производства Таиланд. Проблема заключается в ошибке прошивки SD15, приводящей к разрушению информации в служебной области накопителя и, как следствие, недоступности накопителя в BIOS или неправильного определения его объема (LBA 0). Причем сам накопитель исправен, но недоступен по интерфейсу из-за установленного сигнала занятости выполнением операции (BSY),. Пока этот сигнал активен, никакие другие сигналы интерфейса недействительны, и, следовательно, заменить прошивку с использованием фирменных утилит с сайта производителя невозможно. Для возвращения накопителя в рабочее состояние, позволяющее заменить прошивку, используется выполнение нескольких команд в терминальном режиме подключения накопителя.
        Для подключения используется стандартный последовательный порт компьютера (COM) и адаптер RS-232 - TTL, необходимый для преобразования уровней сигналов интерфейса RS-232 в уровни TTL. Схему адаптера можно легко собрать самостоятельно, но проще использовать готовый кабель - переходник, применяемый для подключения мобильного телефона к последовательному порту. За неимением "настоящего" COM-кабеля для подобного подключения, я использовал кабель USB-to-Serial, эмулирующий последовательный порт при подключении через USB с помощью драйвера Proliffic-USB-To-Serial-Com-Port (ser2pl.sys).

        Методика несложная и вполне работоспособная, но, в основном, рассчитана на применение опытными специалистами по ремонту HDD. Я постараюсь дать некоторые пояснения, которых в оригинале нет.

        Итак, кроме обычного интерфейса ATA или SATA, современные накопители имеют служебный интерфейс для подключения в терминальном режиме. На плате электроники накопителя любого производителя вы найдете кроме стандартных разъемов питания и интерфейса, еще и дополнительный разъем, никак не обозначенный, и имеющий не менее 3-х контактов. Это и есть разъем для подключения терминала через последовательный порт накопителя.

    Разъем подключения терминала к диску


    Для разных моделей и для разных производителей оборудования, разъемы будут отличаться. Общее у них то, что для обмена данными используется упрощенный последовательный порт с уровнями сигнала стандарта TTL. Поэтому и необходим, при подключению к последовательному порту (COM) компьютера, адаптер, согласующий уровни сигналов RS-232 (от -12V до +12V) и TTL (от 0V до +5V). Из набора линий стандарта RS-232 используются только общий (Ground), TX для передаваемых данных и RX - для принимаемых. При подключении жесткого диска к терминалу, нужно линию передачи данных (контакт TX технологического разъема HDD) соединить с линией принимаемых данных терминала (контакт RX разъема адаптера) и наоборот, линию TX адаптера - с линией RX накопителя. В качестве терминала можно использовать любой компьютер с последовательным портом и программой эмуляции терминала, обычно Hyperterminal или putty. Параметры порта (скорость, число битов, четность, количество стоп-битов) могут отличаться для разных моделей накопителей. Обычно, отличается только скорость передачи данных. А остальные - 8 бит, нет бита четности, 1 стоповый бит. Иногда параметры записывается в виде "9600, 8 ,N ,1" - скорость 9600 бит/сек, 8-битовые посылки, без бита четности с 1 стоповым битом.

    В разных моделях накопителей используются свои контакты для подключения к терминалу

    3,5" накопители Seagate PATA :

    Интерфейсный разъём. : : | : RX / TX Разъём питания


    3,5" и 2.5" накопители Seagate SATA, а также 2.5" Samsung SATA :

    Разъём питания. Разъём SATA . . . . RX TX


    3,5" накопители Samsung PATA :

    Интерфейсный разъём. : : : | RX / TX Разъём питания


    3,5" накопители Samsung SATA :

    Разъём питания. Разъём SATA : : : | RX / TX


    Особенность накопителей производства Western Digital - отсутствие штатного разъема для терминального подключения, которое практически не используется для ремонта накопителей WD из-за примитивных возможностей и сложности подключения. Для диагностики и ремонта используется дополнительное оборудование и специализированное программное обеспечение.

    Использование Hiperterminal для подключения накопителей Seagate.


    Выполняете "Пуск - Программы - Стандартные - Связь - Hiper Terminal" После старта выбираете существующее или создаете новое подключение. Выбираете порт, к которому подключен накопитель

    Выбор COM порта

    и задаете параметры обмена для него - 9600,8,N,1 , управление потоком - Нет.
    Во многих методиках скорость обмена данными указывается 38400. Однако, это зависит от конкретной модели накопителя, и у Seagate часто встречается скорость 9600 бит/сек. Если у вас возникнут проблемы с обменом данными накопителя и терминала, попробуйте подобрать скорость последовательного порта.

    Параметры COM порта

    После определения параметров последовательного порта нужно установить параметры эмуляции терминала в свойствах созданного подключения ( "Файл" - "Свойства" - "Настройка" - "Параметры ASCII")

    Параметры эмуляции терминала

    Дистрибутив операционной системы Windows 7 не содержит привычного Гипертерминала , однако можно воспользоваться этим средством из комплекта стандартных программ Windows XP, скачать, около 600кб . Для работы с терминалом нужно использовать "Запуск от имени Администратора". В архиве также имеется исполняемый файл PuTTY версии 6.0, работающий во всех версиях Windows.

    Режим "Отображать введенные символы на экране" в дальнейшем можно будет выключить, чтобы не было удвоения вводимых с клавиатуры символов, однако на начальном этапе настройки и проверки подключения, он может оказаться полезным - вы будете видеть в окне терминала вводимые вами символы.

        Убедитесь, что ваш терминал работает. Для этого соедините RX и TX между собой. При наборе с клавиатуры вы должны видеть удвоение набираемых символов, поскольку на экран терминала сначала выводится введенный символ, передаваемый по линии TX, а затем, этот же символ, принятый по линии RX. Если режим "Отображать введенные символы на экране" выключить, то удвоения символов не будет, поскольку будут отображаться только символы, принятые по линии RX.

        Убедившись в правильности работы терминала, подключите к нему жесткий диск, соединив линию передаваемых данных (выход TX накопителя) с линией принимаемых (входом RX адаптера) и наоборот - RX адаптера с TX накопителя. Если ошибетесь, - ничего страшного не случится, поменяйте контакты местами. Интерфейсный кабель (SATA или ATA) должен быть отключен.

        Если параметры порта выбраны правильно и накопитель поддерживает терминал, то, при нажатии CTRL-Z вы должны увидеть приглашение:

    F3 T>

    F3 в строке приглашения к команды служит индикатором поколения архитектуры накопителей Seagate . Символ "T" - уровень диагностического монитора (Diagnostic Monitor Level), на котором возможно выполнение определенных команд внутренних тестов и отладки. На каждом уровне используется свой набор команд, например, для уровня 1 - это команды для работы с памятью, системными переменными и т.п, для уровня 2 - команды для работы с накопителем - остановка и запуск двигателя, выполнение встроенных тестов и т.п. Уровни обозначаются цифрами или буквами. Набор уровней, и команд внутри уровня, зависят от модели накопителя. Некоторые из команд доступны на любом уровне - команда перехода на новый уровень, команды для отображения содержимого памяти и т.п. В зависимости от версии микропрограммного обеспечения, в качестве общих команд могут использоваться точка ( . ), восклицательный знак ( ! ), знак вопроса ( ? ) тильда ( ~ ), в ответ на которые накопитель выводит диагностические данные о своем текущем состоянии.

    Переход на нужный уровень выполняется с помощью команды:

    /номер уровня
    Например: /2 - перейти на уровень 2

        Будьте внимательны, соблюдайте синтаксис команд. Строчные и заглавные символы при работе в терминале отличаются. Многие команды выполняют запись в служебную область дискового пространства накопителя и, уже поэтому, потенциально опасны.
    В моделях накопителей Seagate 7200.11 появилась возможность получить краткую подсказку по уровням и командам. Для этого нужно перейти на уровень "C"
    /C
    И ввести команду "Q"
    C> Q
    В ответ вы получите список уровней и команд, доступных для данной модели накопителя. Подсказку по конкретной команде можно получить с помощью конструкции:

    Q[уровень],[команда]

        При некоторых неисправностях, при нажатии CTRL-Z , вместо приглашения уровня T> вы можете увидеть подобное сообщение:

    LED: 000000CC FAddr: 0024A051

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

    Для разблокировки терминала используются несколько методик, зависящих от конкретной модели. Для семейства Barracuda 7200.11 обычно используется следующая методика:
  • Не отключая компьютер, отключается питание накопителя.
  • Отсоединяется плата электроники от контейнера. Подключается питание к плате электроники. При этом терминал разблокируется и начинает реагировать на вводимые команды. По нажатию CTRL-Z должно появиться приглашение уровня "T". Вместо опасных операций по отключению - подключению платы электроники лучше использовать тонкую пластиковую полоску, например, старый защитный экран от КПК,
  • Теперь остается только подсоединить плату электроники с разблокированным терминалом к контейнеру. Но если это сделать, без команды остановки двигателя, плата электроники может просто выгореть. Чтобы этого не случилось, выполняется переход на уровень "2"

    /2

    и вводится команда остановки двигателя - "Z".

    F3 2>Z

    О выполнении операции остановки и так остановленного двигателя вы увидите сообщение в окне терминала:
    Spin Down Complete
    Elapsed Time 0.138 msecs
    F3 2>
    После этого, осторожно, не отключая питания, плата электроники подключается к контейнеру и выполняется команда включения двигателя - "U":

    F3 2>U

    После раскручивания двигателя, увидите сообщение:

    Spin Up Complete
    Elapsed Time 7.146 secs

    Теперь накопитель готов к работе в терминальном режиме.

    Если при выполнении команды U получено сообщение содержащее код ошибки 84150180, то возможно, отсутствует контакт между платой электроники и контейнером :

    Spin Error
    Elapsed Time 12.917 secs
    R/W Status 2 R/W Error 84150180


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

        В сети встречается несколько методик восстановления работоспособности накопителей семейства 7200.11, которые позволили добиться положительного результата. Логика подсказывает, что как минимум, нужно:
    - обнулить содержимое SMART Причиной разрушения транслятора, судя по всему, является ошибка в микропрограмме, связанная с обработкой этого содержимого. Иначе причина разрушения транслятора не будет устранена.
    - пересчитать содержимое транслятора заново, что вернет работоспособность внутренней микропрограмме накопителя.

    В большинстве методик используется команда обнуления списка переназначенных в процессе эксплуатации секторов G-List (Grown List). Мне кажется, в случае восстановления не только работоспособности, но и целостности данных, это будет лишним, хотя, вероятность порчи транслятора в зависимости от содержимого G-List, очевидно, исключить нельзя. На практике, очистку G-List я никогда не использовал, а восстановление нескольких Barracuda 7200.11 выполнилось вполне успешно.

        Для очистки данных SMART нужно перейти на уровень 1

    /1
    и выполнить команду управления S.M.A.R.T (SMART Control) N. Данная команда имеет несколько подкоманд, идентифицируемых цифрой или буквой после "N" - N1 - создать SMART-сектор (очистка SMART), N2 - обновить SMART-атрибуты, N3- выполнить обновление прошивки, N5 - выдать данные атрибутов, N6 - выдать данные о пороговых значениях атрибутов, N7 - выполнить дамп G-List, N8 - дамп журнала критических событий, N9 - дамп содержимого P-List, NA - выдать журнал состояния накопителя за последние 2 часа. Для обнуления данных SMART используется команда N1:
    F3 1> N1
    После успешного выполнения команды обязательно нужно выключить и снова включить питание накопителя.
    Для перегенерации транслятора используется команда форматирования (FormatPartition ) "m" уровня T. В команде используется индекс раздела, для которого будет пересчитываться транслятор, m0 - пользовательский (user partition index), m1 - системный (system partition index).

    F3 T>m0,2,2,0,0,0,0,22

    Обратите внимание, в набираемой команде никаких пробелов нет. В некоторых методиках команда представлена с пробелом после первой запятой (m0, 2,2,0,0,0,0,22) - это ошибка. Значения параметров команды:

    2 - опция форматирования [FormatOpts] - 2 - информация не затирается.
    2 - опция обработки таблиц дефектов [DefectListOpts] 2 - не изменять.
    0,0,0,0 - опции обработки ошибок при выполнении команды.
    22 - ключ достоверности [ValidKey] - дополнительная защита от неправильного набора команды. Должен быть равен 22.

    Команда будет выполняться от нескольких секунд до минут. Нужно обязательно дождаться ее завершения, о чем будет выдано сообщение на терминал:
    Max Wr Retries = 00, Max Rd Retries = 00, Max ECC T-Level = 14, Max Certify Rewrite Retries = 00C8
    User Partition Format 10% complete, Zone 00, Pass 00, LBA 00004339, ErrCode 00000080, Elapsed Time 0 mins 07 secs
    User Partition Format Successful - Elapsed Time 0 mins 07 secs

    После выполнения этой команды рекомендуется остановить двигатель командой Z уровня 2 и выключить питание компьютера. Отключите терминал и подключите интерфейсный кабель к накопителю. После включения питания, если восстановление прошло успешно, накопитель должен правильно определиться в BIOS. Для исключения повторения ситуации остается только взять свежую прошивку для вашей модели с сайта Seagate и записать ее в накопитель. Обычно, для этого используется образ загрузочного CD (файл .iso), который можно взять на сайте производителя под конкретную модель и редакцию жесткого диска. Образ записывается на болванку и выполняется загрузка в DOS с автоматическим запуском программы для обновления прошивки.



    Восстановление работоспособности накопителя ST3640323AS с прошивкой SD35.


        Представитель того же проблемного семейства Barracuda 7200.11 с прошивкой не SD15, или, вроде бы, исправленной SD1A, а - SD35!. Да, похоже, что в самом деле, 7200.11 - не очень удачное семейство "рыбок".

    Внешнее проявление - диск не определяется в BIOS. После включения электропитания, двигатель запускается, слышен характерный щелчок, затем двигатель останавливается, и все повторяется с интервалом 10-15 секунд. При подключении терминала выяснилось, что скорость обмена для последовательного порта данной модели накопителя равна 38400 кбит/сек. На экран терминала выводится сообщения:

    Rst 0x20M
    (P) SATA Reset

    LED:000000CC FAddr:0024CDC9
    Rst 0x20M
    (P) SATA Reset
    LED:000000CC FAddr:0024CDC9
    Rst 0x20M

    ...
    и так в цикле.

    Реакция на CTRL-Z присутствует, накопитель переходит на уровень /T, однако, тут же возвращается на "SATA Reset" :

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

    В описываемом случае, была применена методика, описанная выше, хотя версия прошивки (SD35) по данным сайта Seagate на тот момент времени, не являлась проблемной. Практика эксплуатации накопителей серии 7200.11 показала, что замена прошивки SD15 на рекомендуемую производителем версию SD1A , проблемы не решает. Через некоторое время ошибка может повториться. Затем на сайте была выложена версия SD1B, которая также не решила проблему саморазрушения транслятора. Теперь вот появилась и проблемная прошивка SD35. Кроме того, на тематических форумах встречается упоминание подобной ошибки на накопителях с прошивками AD14, SD15, SD16, SD17, SD18, SD19, SD81. Для проверки наличия обновленных прошивок для конкретной модели накопителя можно воспользоваться страницей поиска загрузок Seagate

    Полезные ссылки:

      Описание стандарта ATA8 на английском языке

      Файловый архив на hddguru.com






    В начало страницы | На главную страницу сайта