Несколько слов о технологии S.M.A.R.T.
Оценка технического состояния жесткого диска
Пример использования терминального режима для ремонта HDD.
О некоторых мифах относительно жестких дисков.


Несколько слов о технологии S.M.A.R.T


    Современные дисковые накопители - довольно сложные устройства, выполняющие не только присущие им по их прямому назначению операции с пользовательскими данными, но и встроенные функции самоконтроля (Self-test), автономного сканирования поверхности диска с замещением ненадежных секторов из резервной области (Spare area), сбора данных о своем состоянии (Off-line data collection).
Даже если накопитель в какое-то время не используется операционной системой, он может выполнять какую-либо подпрограмму самотестирования, занимаясь внутренней диагностикой, сбором информации о состоянии оборудования и поверхности дисков. Если во время выполнения самотестирования накопитель получает команду по интерфейсу, то процесс самотестирования прерывается и накопитель приступает к обработке поступившей команды.
Кроме того, в состав команд для накопителя сейчас добавлены команды для принудительного запуска внутренних тестов (SMART EXECUTE OFF-LINE IMMEDIATE).
В процессе выполнения обычных команд накопитель также выполняет сбор и обработку данных о своем состоянии.
    Все вышеперечисленные факторы и есть основа технологии S.M.A.R.T. (Self-Monitoring Analysis and Reporting Technology). Принцип работы S.M.A.R.T. основан на том, что в процессе функционирования, винчестер отслеживает определенные параметры своего состояния и отражает их в специальных характеристиках - атрибутах (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), заданное производителем, которое изначально установлено на максимум при производстве накопителя и уменьшается в случае ухудшения его параметров. Для каждого атрибута существует предельное значение, при котором производитель гарантирует его работоспособность - поле Threshold. Если значение Value приближается или становится меньше значения Threshold, - накопитель пора менять. Перечень атрибутов и их значения жестко не стандартизированы и определяются изготовителем накопителя, но наиболее важные из них интерпретируются одинаково. Например, атрибут с идентификатором 194 будет характеризовать температуру диска, и для устройств Seagate и для WD, Samsung, Maxtor.
        В настройках большинства современных BIOS материнских плат имеется пункт позволяющий запретить или разрешить считывание и анализ атрибутов S.M.A.R.T. в процессе начальной загрузки. Иногда его ошибочно трактуют, как запрет или разрешение самой технологии SMART для дискового накопителя. Это неверно, SMART - это часть микропрограммного кода, прошитого в накопителе, часть его рабочего алгоритма, изменить который настройками BIOS невозможно. При включении этой опции, в процессе тестирования оборудования компьютера после включения питания, дополнительно выполняется еще и считывание SMART-атрибутов из накопителя, их анализ на достижение предельного значения для предупреждения пользователя о возможном скором отказе.

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

    Самый же простой вариант проверки жесткого диска - HDDScan For Windows. Скачать - 416Кб.
    Это очень простая, не требующая установки или каких-либо драйверов программа.
    Скачиваете ее, распаковываете в какой-нибудь каталог и запускаете hddscan.exe.
    Основное окно программы состоит из 3-х частей:

    1. Source Disk - Здесь выбирается текущий диск для тестирования и, по нажатию кнопки "S.M.A.R.T.", выполняется считывание S.M.A.R.T.-атрибутов. Также в этом окне отображается модель накопителя (Model), версия его прошивки (Firmware), серийный номер (serial) и объем в блоках LBA (LBA)
    2. Process - кнопки для запуска и остановки теста (Start Stop), область тестирования, время тестирования, режим теста, номер текущего блока и текущая скорость передачи данных.
    3. Информационное окно - ход процесса тестирования и его результаты. Также несколько вкладок для интерпретации результатов и запуска автономных тестов S.M.A.R.T.

    HDDScan for Win2k/XP

    Для анализа состояния S.M.A.R.T-атрибутов выбираем нужный накопитель (если их несколько) и жмем кнопку "S.M.A.R.T". Ниже приведено окно SMART-атрибутов реального накопителя. Все атрибуты находятся в пределах нормы и программа отметила этот факт зелеными индикаторами. Некоторое недоумение могут вызвать слишком большие абсолютные значения атрибутов 001, 007, 195. Это особенность дисков Seagate (и некоторых дисков Samsung) - они иначе подсчитывают значения этих параметров.





    S.M.A.R.T-атрибуты диска

    Краткое описание атрибутов:

  • 001 Raw Read Error Rate - данный атрибут в описании на Wikipedia.org трактуется как "показывает частоту появления ошибок при операциях чтения с поверхности диска по вине аппаратной части накопителя". Но имеются некоторые сомнения в трактовке данного атрибута разными производителями, например, почти неработоспособный накопитель Western Digital из примера ниже имеет идеальное значение для данного атрибута, А накопитель Seagate из примера выше имеет raw value = 617ABEB - более 102 млн. в десятичной системе счисления).
  • 003 Spin Up Time - Среднее время раскрутки шпинделя диска от 0 RPM до рабочей скорости.
  • 004 Start/Stop Count - Количество циклов запуск/останов шпинделя.
  • 005 Reallocated Sector Count - Количество переназначенных секторов. Современные накопители имеют довольно большую (тысячи секторов) резервную область поверхности накопителя для использования ее в случае ухудшения характеристик секторов из основной зоны. Если накопитель обнаруживает проблемы с записью/считыванием какого - либо сектора, то он автоматически перемещает его данные в резервную область, а данный сектор помечается как "переназначенный". Часто этот процесс называют remapping, или automatic defect reassignment, он выполняется микропрограммой накопителя и для пользователя (операционной системы) невидим. Поле raw value содержит общее количество переназначенных секторов. Даже некритическое, но большое значение этого поля, может приводить к снижению скорости обмена данными, поскольку накопитель выполняет дополнительную операцию установки головок на дорожки резервной области, обычно расположенной в конце диска.
  • 007 Seek Error Rate - Частота появления ошибок позиционирования БМГ. Накопитель контролирует правильность установки головок на требуемую дорожку поверхности. В случае, когда установка выполнилась неверно, фиксируется ошибка и операция повторяется. Для данного накопителя причиной большого числа ошибок явился перегрев.
  • 009 Power-On Hours - Количество часов во включенном состоянии. Достижение предельного значения этого атрибута означает выработку накопителем заданной производителем наработки на отказ (MTBF - Mean Time Between Failures).
  • 010 Spin Retry Count - Количество повторных попыток старта шпинделя. После включения питания, накопитель раскручивает диски и контролирует достижение рабочей скорости вращения ( для данного устройства - 7200 об/мин.) за определенное время. В случае неудачи - увеличивается счетчик повторов и повторяется попытка старта.
  • 012 Device Power Cycle Count - Количество циклов включения/выключения диска.
  • 187 Reported Uncorrectable Error - Характеризует количество ошибок, которые не были исправлены микропрограммой накопителя.
  • 189 High Fly Writes - Если высота полета головки над магнитной поверхностью, даже на короткое время превысит оптимальную, то записанные ею данные, в дальнейшем, могут не прочитаться. Современные накопители используют специально разработанную технологию контроля высоты полета головок, позволяющую не выполнять запись данных при неоптимальной высоте. В счетчик данного атрибута добавляется единица, а запись выполняется после установки нормальной высоты полета. Повышенное значение данного атрибута может быть вызвано внешними ударами или вибрациями, ненормальной температурой, ухудшением характеристик магнитной поверхности или головки.
  • 190 Airflow Temperature - температура окружающей среды. Для большинства моделей данный атрибут отсутствует и используется атрибут 194.
  • 194 HDA Temperature - температура самого накопителя. Поле Worst показывает наихудшую, достигнутую за время работы накопителя, температуру (можно установить факт перегрева и его степень), raw value - текущую температуру.
  • 195 Hardware ECC recovered - характеризует количество ошибок считывания, исправленных оборудованием накопителя с применением кода коррекции ошибок. Подобные ошибки не требуют повторного считывания сектора, и не приводят к потере скорости обмена данными, но большое их количество говорит об ухудшении параметров считывания.
  • 197 Current Pending Sector Count - Текущее количество нестабильных секторов. Поле raw value этого атрибута показывает общее количество секторов, которые накопитель в данный момент считает претендентами на переназначение в резервную область (remap). Если в дальнейшем какой-то из этих секторов будет прочитан успешно, то он исключается из списка претендентов. Если же чтение сектора будет сопровождаться ошибками, то накопитель попытается восстановить данные и перенести их в резервную область, а сам сектор пометить как переназначенный (remapped).
  • 198 Uncorrectable Sector Count - Счетчик некорректируемых ошибок. Это ошибки, исправить которые, оборудованию накопителя не удалось. Может быть вызвано отсутствием свободных секторов в резервной области диска. На практике с такой ситуацией сталкивался только однажды при проверке рассыпающегося на ходу накопителя.
  • 199 UltraDMA CRC Error Count - Счетчик ошибок, возникших при передаче данных в режиме UltraDMA . Нередко этот тип ошибки связан не с оборудованием накопителя, а с неисправным интерфейсным кабелем, нестабильным питанием, разгоном частоты шины PCI, памяти.
  • 200 Write Error Rate - Характеризует наличие ошибок при записи данных. Может быть вызвано ухудшением состояния поверхности, головок или характеристик тракта записи данных. Чем ниже значение value, тем опаснее использовать такой накопитель.

        Атрибуты отражают состояние накопителя с момента начала эксплуатации, но иногда полезно оценить его состояние на текущий момент времени. Для этого выполним тестирование поверхности с помощью HDDScan. Записываем текущие ненулевые значения Raw, и жмем кнопку "Start". По умолчанию режим тестирования выбран "Verify", возможные варианты - "Read" и "Erase". "Read" - выполняется считывание данных с передачей в оперативную память, "Verify" - то же считывание, но без передачи данных. Если вас интересует динамика ошибок UltraDMA CRC Error Count, то нужно выбрать режим "Read". Обратите внимание на то, что в процессе интенсивной работы, температура накопителя увеличивается на несколько градусов. Поэтому, если в состоянии простоя его температура равна или ненамного ниже предельной, желательно установить дополнительный вентилятор. "Erase" - выполняется стирание информации на диске, записью в каждый сектор символов "#" (код 23h). Восстановление информации после данного теста невозможно.
        Обычно тестирование заканчивается успешно, в крайнем случае, с предупреждениями. Сам факт прохождения теста еще ни о чем не говорит, чтобы оценить техническое состояние накопителя обязательно нужно учитывать показания S.M.A.R.T. Ниже приведен результат выполнения теста одного из накопителей (WD1600JB).

    Тестирование накопителя с помощью HDDScan

    В нижней правой части экрана видна статистика времени считывания блоков данных. Обратим внимание на значения более 150 ms (оранжевый и красный прямоугольники). В целом, показатели вполне приемлемые для 160 гигабайтного диска. Нужно еще учитывать и тот факт, что тестирование выполнялось в среде Windows и на время считывания могло повлиять обращение к данному устройству других программ (лучше всего подобные тесты выполнять в среде DOS, используя MHDD или Victoria).
    Но вот результат считывания атрибутов S.M.A.R.T. для данного накопителя:


    Reallocation Sector Count - красный


    Атрибут 004 "Reallocation Sector Count" выделен красным, Value равно 001 при предельном значении Threshold = 140. Raw = 4077 или 16503 (в десятичном исчислении) переназначенных (remapped) секторов.
    Это говорит о том, что поверхность диска начала "сыпаться" или оборудование тракта записи/считывания данных работает со сбоями. Резервная область для переназначения плохих секторов исчерпана, Remapping не возможен. Такой диск вроде бы еще работает, но в любой момент могут появиться нечитаемые блоки (Bad Block), поэтому его лучше заменить, пока не поздно, сохранив информацию и нервные клетки.



    Тестирование и оценка состояния жестких дисков в Linux.


        В дистрибутиве Mandriva Linux 2009 Free имеется пакет smartmontools, содержащий 2 утилиты - smartctl и smartd
    Первая - утилита командной строки для считывания атрибутов S.M.A.R.T. и запуска некоторых встроенных тестов накопителя, вторая - демон, который периодически проверяет состояние накопителей и записывает результаты в syslog. Последнюю версию smartmontools можно взять здесь
    Справку можно получить при использовании ключа -h или с помощью man. Пример:
    smartctl --all /dev/sda
    Результат выполнения:

    === START OF INFORMATION SECTION ===
    Model Family:    Seagate Barracuda ATA IV family
    Device Model:    ST380021A
    Serial Number:    3HV3AP7L
    Firmware Version: 3.19
    Device is:    In smartctl database [for details use: -P show]
    ATA Version is: 5
    ATA Standard is: Exact ATA specification draft version not indicated
    Local Time is: Fri May 15 13:50:14 2009 MSD
    SMART support is: Available - device has SMART capability.
    SMART support is: Enabled

    === START OF READ SMART DATA SECTION ===
    SMART overall-health self-assessment test result: PASSED

    General SMART Values:
    Offline data collection status: (0x82) Offline data collection activity
    was completed without error.
    Auto Offline Data Collection: Enabled.
    Self-test execution status: ( 0) The previous self-test routine completed
    without error or no self-test has ever
    been run.
    Total time to complete Offline
    data collection: ( 422) seconds.
    Offline data collection
    capabilities: (0x1b) SMART execute Offline immediate.
    Auto Offline data collection on/off support.
    Suspend Offline collection upon new
    command.
    Offline surface scan supported.
    Self-test supported.
    No Conveyance Self-test supported.
    No Selective Self-test supported.
    SMART capabilities: (0x0003) Saves SMART data before entering
    power-saving mode.
    Supports SMART auto save timer.
    Error logging capability: (0x01) Error logging supported.
    No General Purpose Logging support.
    Short self-test routine
    recommended polling time: ( 1) minutes.
    Extended self-test routine
    recommended polling time: ( 57) minutes.

    SMART Attributes Data Structure revision number: 10
    Vendor Specific SMART Attributes with Thresholds:
    ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE
    1    Raw_Read_Error_Rate 0x000f 075     072             034     Pre-fail         Always -                                    2958125
    3    Spin_Up_Time              0x0003 070    070             000     Pre-fail         Always -                                    0
    4    Start_Stop_Count         0x0032 100    100             020     Old_age       Always -                                    78
    5    Reallocated_Sector_Ct 0x0033 100    100 036 Pre-fail Always -                                    0
    7    Seek_Error_Rate          0x000f  080    060 030 Pre-fail Always -                                    114867925
    9    Power_On_Hours         0x0032 096    096 000 Old_age Always -                                    4175
    10 Spin_Retry_Count          0x0013 100   100 097 Pre-fail   Always -                                    0
    12 Power_Cycle_Count      0x0032 099   099 020 Old_age Always -                                    1240
    194 Temperature_Celsius    0x0022 033   052 000 Old_age Always -                                    33
    195 Hardware_ECC_Recov 0x001a 075 072 000 Old_age Always -                                    2958125
    197 Current_Pending_Sector 0x0012 100 100 000 Old_age Always -                                    0
    198 Offline_Uncorrectable   0x0010  100 100  000 Old_age Offline -                                    0
    199 UDMA_CRC_Error_Count 0x003e 200 200 000 Old_age Always -                                    0
    SMART Error Log Version: 1
    No Errors Logged

    SMART Self-test log structure revision number 1
    No self-tests have been logged. [To run self-tests, use: smartctl -t]

    Device does not support Selective Self Tests/Logging

    Для проверки поверхности диска обычно используется команда копирования диска на /dev/null:
    dd if=/dev/sda of=/dev/null bs=16







    Пример использования терминального режима для ремонта 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 - для принимаемых. В качестве терминала можно использовать любой компьютер с последовательным портом и программой эмуляции терминала, обычно Hiperterminal или putty. Параметры порта (скорость, число битов, четность, количество стоп-битов) могут отличаться для разных моделей накопителей. Обычно, отличается только скорость передачи данных. А остальные - 8 бит, нет бита четности, 1 стоповый бит. Иногда параметры записывается в виде "9600, 8 ,N ,1" - скорость 9600 бит/сек, 8-битовые посылки, без бита четности с 1 стоповым битом.

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

    Выбор COM порта

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

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

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

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

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

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

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

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

    F3 T>

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

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

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

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

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

    LED: 000000CC FAddr: 0024A051

    Сообщение появляется с определенным интервалом и означает, что терминал заблокирован, и ввод с клавиатуры не воспринимается накопителем. Никакие команды не выполняются. Для разблокировки терминала используются несколько методик, зависящих от конкретной модели. Для семейства 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

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

        Точного и, однозначно определенного, алгоритма восстановления работоспособности накопителя даже для конкретной модели найти трудно. В сети есть несколько вариантов, которые позволили авторам данных методик добиться положительного результата. Логика подсказывает, что как минимум, нужно:
    - обнулить содержимое S.M.A.R.T. Причиной разрушения транслятора, судя по всему, является ошибка в микропрограмме, связанная с обработкой этого содержимого. Иначе причина разрушения транслятора не будет устранена.
    - пересчитать содержимое транслятора заново, что вернет работоспособность накопителя.
    В некоторых методиках используется команда обнуления списка переназначенных в процессе эксплуатации секторов G-List (Grown List). Мне кажется, в случае восстановления не только работоспособности, но и целостности данных, это будет лишним, хотя, вероятность порчи транслятора в зависимости от содержимого G-List, очевидно, исключить нельзя. На практике, очистку G-List я никогда не использовал, а восстановление нескольких Barracuda 7200.11 выполнилось вполне успешно.

        Для очистки данных S.M.A.R.T нужно перейти на уровень 1

    /1
    и выполнить команду управления S.M.A.R.T (SMART Control) N. Данная команда имеет несколько подкоманд, идентифицируемых цифрой или буквой после "N" - N1 - создать SMART-сектор, N2 - обновить SMART-атрибуты, N3- выполнить обновление прошивки, N5 - выдать данные атрибутов, N7 - выполнить дамп G-List, N8 - дамп журнала критических событий, N9 - дамп содержимого P-List и т.д. Для обнуления данных 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), который записывается на болванку.




    О некоторых мифах относительно жестких дисков.


        Для устранения плохих секторов (Bad Blocks) нужно выполнить низкоуровневое форматирование (Low Level Format). Это неверно. Низкоуровневое форматирование можно было выполнить для жестких дисков ранних моделей (с интерфейсом ST506/412). Эти устройства имели отдельную плату контроллера, для которого команда низкоуровневого форматирования (Format Track - 50h) была реализована так же, как и для дискет и представляла собой запись на каждую дорожку секторов в соответствии с геометрией диска, включающую служебную информацию - номер цилиндра, номер дорожки, номер сектора и т.п. Сектор на дорожке такого диска состоял как бы из двух частей, одна из которых содержала служебную информацию (дескриптор), и могла быть изменена только в процессе низкоуровневого форматирования, а вторая - собственно данные, изменяемые при выполнении команды записи в сектор.
        В современных дисковых устройствах внутренняя геометрия диска известна только самой микропрограмме накопителя, и кроме того, изменился формат сектора. Для увеличения полезной емкости пластин из формата сектора исключено поле идентификации (формат "id-less" или "no-id"), а сама идентификация производится не по записи в его заголовке, а по расположению сектора относительно серворазметки. Все это полностью лишило смысла стандартную операцию форматирования, и она была исключена из новых редакций ATA стандарта.
    Утилиты, свободно распространяющиеся производителями накопителей, и часто неправильно называемые программами для низкоуровневого форматирования, на самом деле таковыми не являются. Они просто позволяют перезаписать данные секторов, (обычно нулями, Zero Fill Drive Utility от Seagate), что позволяет избавиться от так называемых soft bad-ов, ошибок в данных секторов, обусловленных сбоем при записи (например, в момент записи сектора, произошло выключение питания), а не браком поверхности. Известная утилита HDD Low Level Format Tool - также, по сути, обычная стиралка пользовательских данных.
        Настоящее низкоуровневое форматирование можно выполнить только с использованием специальных технологических утилит, запускающих служебные подпрограммы, записанные в ПЗУ или в служебной зоне дисковой поверхности накопителя. Возможность запуска таких подпрограмм для обычного пользователя практически исключена, поскольку команды запуска форматирования уникальны для каждой модели накопителя и не разглашаются производителем и для их запуска может потребоваться специальное оборудование (например, программно-аппаратный комплекс PC3000, или подключение накопителя к терминалу через COM-порт).

    "Полное (Обычное)" и "Быстрое" форматирование в среде Windows отличаются тем, что при полном форматировании стирается все содержимое диска, а при быстром - только его оглавление. Удивительно, но об этом, до недавнего времени, даже было написано на сайте Microsoft. Некоторые остатки данного утверждения еще встречаются. Цитата из определения "Что такое быстрое форматирование?":
    Быстрое форматирование - это способ форматирования, при котором новая таблица файлов создается без полной перезаписи или стирания информации жесткого диска. Быстрое форматирование занимает значительно меньше времени, чем обычное форматирование, при котором происходит полное стирание всей информации жесткого диска.
    Это не так, - оглавление стирается в обоих случаях, а данные не стираются вообще. При полном форматировании сначала выполняется проверка диска чтением (как при выполнении SCANDISK'a или CHKDSK) и, только после этого, создается пустое оглавление. При быстром - пустое оглавление создается сразу, без проверки.

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

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



    Ссылки по теме:

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

    mhdd.ru - о восстановлении данных, можно скачать самые популярные программы последних версий для ремонта и тестирования жёстких дисков и документацию к ним.

    hdd-911.com - Victoria Software - Программа Victoria, последние версии под DOS и Windows, инструкция по работе с программой. Интересные статьи о восстановлении информации, характерных неисправностях конкретных моделей.


    Если вы желаете поделиться ссылкой на эту страницу в своей социальной сети, пользуйтесь кнопкой "Поделиться"




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



  • Top.Mail.Ru