Чтение smart hdd. Расшифровка атрибутов S.M.A.R.T в HddScan

20.07.2019 Флешки и HDD

Кутюгин Игорь

Доброго времени суток, уважаемые читатели. Идея написать эту статью появилась у меня после того, как мне достался 10GB WesternDigital, сильно убитый (Windows 98 с него загружался около 10 минут, и постоянно включалась проверка диска при запуске компьютера). У владельца этого HDD S.M.A.R.T. был отключен, и поэтому не появлялось сообщения об ошибках. На моем компьютере в конце Post выскакивало сообщение - "Один из атрибутов S.M.A.R.T.(Seek Time Performance, как потом выяснилось) превысил пороговое значение, рекомендуется сделать резервную копию данных" (не помню как это на английском). Дальше компьютер не грузился. Загрузка продолжалась, когда S.M.A.R.T. был отключен в биосе. После отрезания бэдов диск все равно работал плохо. Обнуление атрибутов ни к чему не привело, после 2ой перезагрузки наблюдалась та же картина, вот и пришлось выяснять, что это за атрибут и с чем он связан.

В этой статье я постараюсь описать технологию S.M.A.R.T. - Self-Monitoring, Analysis and Reporting Technology ("Технология Самодиагностики, Анализа и Отчета") - в доступной для понимания форме. Конечно, полностью охватить все ее возможности не возможно, т.к. в настоящее время отсутствует какая-либо полная документация по этому вопросу, да и производители накопителей о своих продвижениях в этой области сообщать не спешат.

Что такое S.M.A.R.T.

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

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

1.Атрибуты, отражающие общее состояние диска (примерно 30);

2.Внутренние тесты (self-tests);

3.Журналы S.M.A.R.T. (ошибок, общего состояния, дефектных секторов и т.п.).

Полный обязательный перечень S.M.A.R.T атрибутов описан в стандарте ATA/ATAPI-6.

Атрибуты S.M.A.R.T.

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

Значения атрибутов (value ) используются для представления относительной надежности отдельного эксплуатационного или эталонного атрибута. Допустимое значение атрибута лежит в диапазоне от 1 до 255. Его высокое значение говорит о том, что результат анализа данной рабочей характеристики указывает на низкую вероятность ее ухудшения или выхода накопителя из строя. Соответственно, низкое значение атрибута говорит о том, что результат анализа данной рабочей характеристики указывает на высокую вероятность ее ухудшения или выхода накопителя из строя.

Каждый атрибут имеет собственное пороговое значение (threshold ), которое используется для сравнения со значением атрибута (value) и указывает на ухудшение рабочих характеристик или дефектность накопителя. Числовое значение порогового атрибута определяется производителем через конструкционные особенности накопителя и анализ результатов испытаний на надежность. Пороговое значение каждого атрибута указывает на его нижнюю допустимую границу, до которой накопитель нормально функционирует.

Ниже приведено краткое описание основных атрибутов:

Raw Read Error Rate - Частота появления ошибок при чтении данных с диска. Данный параметр показывает частоту появления ошибок при операциях чтения с поверхности диска по вине аппаратной части накопителя.

Throughput Performance - Средняя производительность (пропускная способность) диска. Уменьшение значения value этого атрибута с большой вероятностью указывает на проблемы в накопителе.

Spin Up Time - Время раскрутки шпинделя. Среднее время раскрутки шпинделя диска от 0 RPM до рабочей скорости.

Start/Stop Count - Количество циклов запуск/останов шпинделя. Хранит общее количество включений/выключений диска.

Reallocated Sectors Count - Количество переназначенных секторов. Когда жесткий диск встречает ошибку чтения/записи/верификации, он пытается переместить данные в специальную резервную область (spare area) и, в случае успеха, помечает сектор как "переназначенный". Также, этот процесс называют remapping, а переназначенный сектор - remap. Благодаря этой возможности, на современных жестких дисках очень редко видны (при тестировании поверхности) так называемые bad block. Однако, при большом количестве ремапов, на графике чтения с поверхности будут заметны "провалы" - резкое падение скорости чтения (до 10% и более).

Seek Error Rate - Частота появления ошибок позиционирования МГ (магнитной головки). В случае сбоя в механической системе позиционирования, повреждения сервометок (servo), сильного термического расширения дисков и т.п. возникают ошибки позиционирования. Чем их больше, тем хуже состояние механики и/или поверхности жесткого диска.

Seek Time Performance - Средняя производительность операций позиционирования МГ. Данный параметр показывает среднюю скорость позиционирования привода МГ на указанный сектор. Снижение значения этого атрибута говорит о неполадках в механике привода.

Power-On Hours - Количество отработанных часов во включенном состоянии. Значение value этого атрибута показывает количество часов (минут, секунд - в зависимости от производителя), отработанных жестким диском. Снижение значения атрибута до критического уровня (threshold) указывает на выработку диском ресурса. На практике, даже падение этого атрибута до нулевого значения не всегда указывает на реальное исчерпывание ресурса и накопитель может продолжать нормально функционировать.

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

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

Device Power Cycle Count - Количество полных циклов запуска/останова жесткого диска.

Soft Read Error Rate - Частота появления "программных" ошибок при чтении данных с диска. Данный параметр показывает частоту появления ошибок при операциях чтения с поверхности диска по вине программного обеспечения, а не аппаратной части накопителя.

Load/Unload Cycle Count - Количество циклов вывода МГ в специальную парковочную зону/в рабочее положение.

Temperature - Температура. Данный параметр отражает показание встроенного температурного сенсора в градусах Цельсия.

Reallocation Event Count - Количество операций переназначения (ремаппинга). Показывает общее количество попыток переназначения сбойных секторов в резервную область, предпринятых накопителем. При этом, учитываются как успешные, так и неудачные операции.

Current Pending Sector Count - Текущее количество нестабильных секторов. Показывает общее количество секторов, которые накопитель в данный момент считает претендентами на переназначение в резервную область (remap). Если в дальнейшем какой-то из этих секторов будет прочитан успешно, то он исключается из списка претендентов. Если же чтение сектора будет сопровождаться ошибками, то накопитель попытается восстановить данные и перенести их в резервную область, а сам сектор пометить как переназначенный (remapped).

Uncorrectable Sector Count - Количество нескорректированных ошибок. Атрибут показывает общее количество ошибок, возникших при чтении/записи сектора, которые не удалось скорректировать. Рост значения в поле raw value этого атрибута указывает на явные дефекты поверхности и/или проблемы в работе механики накопителя.

UltraDMA CRC Error Count - Общее количество ошибок CRC в режиме UltraDMA, содержит количество ошибок, возникших в режиме передачи данных UltraDMA в контрольной сумме (ICRC - Interface CRC). В большинстве случаев ошибки CRC возникают при сильном завышении частоты PCI (больше номинальных 33.3 MHz), сильно перекрученом кабеле, а также - по вине драйверов ОС, которые не соблюдают требований к передачи/приему данных в режимах UltraDMA.

Write Error Rate - Частота появления ошибок при записи данных. Показывает общее количество ошибок, обнаруженных во время записи сектора. Чем ниже значение value, тем хуже состояние поверхности диска и/или механики привода.

Disk Shift - Сдвиг пакета дисков относительно оси шпинделя.

G-Sense Error Rate - Частота появления ошибок в результате ударных нагрузок. Данный атрибут хранит показания ударочувствительного сенсора - общее количество ошибок, возникших в результате полученных накопителем внешних ударных нагрузок (при падении, неправильной установке, и т.п.).

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

Автономное сканирование поверхности (off-line read scanning).

Большинство накопителей обеспечивают поддержку автономного сканирования поверхности, которое является одной из функций подпрограммы автономного сбора данных о состоянии накопителя (off-line data collection). При выполнении этой функции, накопитель выполняет полное сканирование поверхности путем чтения каждого сектора с замещением ненадежных секторов на запасные из резервной области (spare area) для предотвращения потери пользовательских данных.

Примечание ! Если во время выполнения сканирования накопитель получает команду по интерфейсу, то процесс сканирования прерывается и накопитель приступает к обработке поступившей команды. При этом гарантируется максимальное время реагирования на поступившую команду - до 2 секунд.

Встроенные функции самоконтроля (self-test)

Практически с момента появления стандарта S.M.A.R.T. II, в большинстве накопителей появилась новая функция - внутренняя диагностика и самоконтроль, для углубленного контроля состояния механики накопителя, поверхности дисков и т.п. Для запуска этой функции, в набор команд S.M.A.R.T. была введена новая команда - SMART EXECUTE OFF-LINE IMMEDIATE. Результат работы сохраняется либо в специализированных атрибутах, либо отдельным параметром среди других данных в атрибутах

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

Методы тестирования.

Существует два способа запуска тестов S.M.A.R.T.: автономный (off-line) или монопольный (captive). Результат теста всегда сохраняется накопителем в данных S.M.A.R.T.

При автономном запуске накопитель сообщает о успешном завершении команды до ее фактического исполнения и только после этого выполняет тест. При этом, по интерфейсу флаг "занято" (busy) не выставляется и накопитель в любой момент готов приступить к выполнению очередной интерфейсной команды, приостанавливая работу теста. Фактически, тест выполняется в фоновом режиме.

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

Существует большое количество программ, контролирующих SMART, это может быть специально направленная программа (Drive Health, SIGuardian), или программа, содержащая контроль параметров SMART как дополнительную функцию. На мой взгляд, наиболее функциональной является SIGuardian (siguardian.ru). Программа предоставляет возможность следить за практически всеми атрибутами SMART, имеет приятный интерфейс, и обладает большим количеством настроек.

Рис. 1


Рис. 2

Закладка "Общие" содержит общую информацию о выбранном жестком диске. В левой половине указаны: технические характеристики, такие как объем диска, количество цилиндров, головок и т.п.; режим работы диска в настоящий момент (PIO, multiword DMA, UDMA); поддерживаемые режимы работы диска (только в Расширенном режиме). В правой половине показывается логотип фирмы-производителя жесткого диска и ниже - общая информация о диске: модель диска, серийный номер диска, дата/ревизия прошивки микропрограммы.

Обратите внимание, на рис. 1 отсутствует показание температуры. Диск достаточно старый и не обладает таким сенсором.


Рис. 3.

Закладка "S.M.A.R.T." показывает общую информацию о состоянии диска на основе S.M.A.R.T. атрибутов или S.M.A.R.T. - информацию:

1.Дату начала мониторинга S.M.A.R.T. - т.е. дату, когда вы начали контроль за состоянием диска при помощи SIGuardian. Чаще всего, это дата первого запуска SIGuardian.

2. Ближайшую прогнозируемую дату T.E.C. (ThresholdExceedCondition) - т.е. дату, когда по прогнозам SIGuardian один из S.M.A.R.T. атрибутов достигнет порогового (критического) значения.


Рис.4.

Закладка "Подробно" предназначена для отображения полной информации о S.M.A.R.T.-атрибутах диска. Она показывает:

1. Attribute name - Графическое отображение значения атрибута. При наводке указателя мыши на него показывается в окне всплывающей подсказки более подробное текстовое описание смысла этого атрибута;

2.1/month - скорость падения атрибута - на сколько пунктов в месяц упало значение атрибута. Этот коэффициент вычисляется автоматически при любом изменении атрибутов S.M.A.R.T. для каждого атрибута в отдельности. Вычисление производится ежедневно, поэтому относитесь нормально к колебаниям этого показателя, особенно сразу после изменения атрибута;

3.Value - значение атрибута - текущее значение данного атрибута S.M.A.R.T.;

4.Threshold - пороговое (критическое) значение атрибута - значение, величину которого производитель жесткого диска считает критической и при достижении которого вполне вероятен выход диска из строя;

5.T.E.C. - Threshold Exceeds Condition - предполагаемая дата, когда данный атрибут достигнет порогового значения, иначе говоря, дата возможного выхода из строя диска. Прогноз этой даты делается на основе показателя "скорости падения атрибута", поэтому не удивляйтесь сильным колебаниям даты сразу после изменения атрибутов S.M.A.R.T.;

6.Worst - худшее значение атрибута - самое худшее (минимальное) значение, которое данный атрибут принимал за всё время жизни жесткого диска. Может использоваться чисто в ознакомительных целях;

7.Raw - "чистое" значение атрибута - просто числовое значение атрибута в чистом, необработанном виде.


Рис. 5.

Закладка "Настройка" предназначена для самостоятельной настройки пользователем параметров SIGuardian для работы на компьютере. Если вы не считаете себя опытным пользователем, рекомендуем воспользоваться "Мастером настройки" - он поможет вам выбрать наиболее подходящие параметры работы.

Основные и наиболее важные настройки:

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

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

Включить контроль S.M.A.R.T. - при выключении этого режима SIGuardian не будет проверять этот диск (или все диски) на значения атрибутов S.M.A.R.T.

Режим работы - Обычный или Расширенный - Обычный режим - основной для пользователей. В этом режиме SIGuardian показывает значение атрибута, пороговое значение и T.E.C., скорость падения атрибута. На закладке "Общее" Вы не увидите информации о поддерживаемых диском режимах работы (передачи данных). В расширенном режиме дополнительно показывают Худшее и Чистое (Raw) значение атрибута и полную информацию о диске на закладке "Общее".

Опрос S.M.A.R.T. - установите здесь период опроса S.M.A.R.T. при работе SIGuardian фоном.

Отчеты на e-mail - введите здесь адрес электронной почты, на который SIGuardian должен посылать сообщения. Вы не должны видеть никаких сообщений при работе в этом случае.

WiseControl - информация только о значительных изменениях (ухудшениях) параметров S.M.A.R.T.

Hibernate on overheat temperature - если температура HDD превышает установленное значение, компьютер переходит в режим hibernate.

Сокращение S.M.A.R.T. обозначает в свободном переводе технология самоконтроля, анализа и отчета. Соответственно названию она занимается самоконтролем диска, анализом параметров на предмет предполагаемого сбоя и отчета по набору атрибутов.

Одна группа атрибутов отражает состояние диска в данный момент, другая фиксирует механический износ деталей устройства. У каждого атрибута есть свой номер и значение(Value ). Диск хранит значение атрибута в удобном для себя шестнадцатеричном формате (Raw value ), а программа пересчитывает его в понятные нам десятичные цифры. Современная система информационной безопасности позволяет обеспечить такие параметры диска, при которых злоумышленник не сможет получить доступ к конфиденциальной информации. Система DLP создает защитный цифровой барьер, который и препятствует утечкам информации. Для оценки состояния есть пороговые значения атрибутов (Threshold ), их определяет производитель диска. Значение ниже порога, уже не нормальная работа жесткого диска или вообще неисправность. Очень полезное для прогноза сбоев, наихудшее значение атрибута (Worst ),показывает худшее число, которое принимал параметр за весь период работы диска. Дополнительно многие программы показывают значение атрибута в цвете (зеленый, желтый, красный) или шкалой. Value обычно имеет диапазон от 0 до 100 , но есть атрибуты со значениями выше 200.

Атрибутов S.M.A.R.T. достаточно много, рассмотрим основные и жизненно важные. Набор параметров возьмем из статьи о программе для проверки жесткого диска. Как выглядит таблица S.M.A.R.T. показано на картинке ниже.Здесь есть номер атрибута, его описание, значение Value , значение Worst , Raw value в hex формате и пороговое значение Threshold . Рядом с атрибутом кружок, по цвету которого можно оценить значение атрибута.

001 Raw Read Error Rate

Как часто появляются ошибки чтения из-за аппаратной части накопителя. Ошибок нужно бы поменьше.

003 Spin Up Time

– Как быстро диск набирает рабочую скорость. С износом повышается.

004 Start/Stop Count

– Количество запусков и остановок диска. Не критично.

005 Reallocation Sector Count

– Важный атрибут. Количество переназначения нечитаемых (Bad ) секторов в резервную область диска.

Сбойный сектор заменяется запасным из резервной области.

При попадании на Bed головка уходит на переназначенный сектор, считывает информацию и возвращается. Операция переназначения называется Remap . Большое количество переназначенных секторов говорит о дефекте поверхности диска и возможно скорой потери данных.

007 Seek Error Rate

– Ошибки позиционирования магнитных головок диска. Вызываются износом механики или поверхности.

008 Seek time Performance

– Как быстро позиционируются головки.
Повышается с износом.

009 Power-On Hours Count

– Время работы диска. В качестве Threshold время наработки
на отказ при тестах производителя.

010 Spin Retry Count

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

011 Recalibration Retries

– Счетчик повтора рекалибровки при неудачной первой попытке. Показывает износ механики.

012 Device Power Cycle Count

– Сколько раз включился-выключился диск. Чистая статистика использования.

013 Soft read error rate

– Число программных ошибок при чтении. К механике не имеет отношения и не критичен.

183 SATA Downshift Error Count

– Присутствует у дисков производства Samsung и Western Digital. Информационный параметр, не критичен, но указывает на старение диска.

184 End To End Error Count

– Диск проверяет и сравнивает данные, которые переданы и которые приняты материнской платой. Атрибут выводит количество ошибок сравнения. Не критичен.

187 Reported Uncorrectable Error

– Не восстановимые ошибки. Чем меньше ошибок, тем лучше. Значение ухудшается при износе.

188 Reported Command Timeouts

– Рапорт о задержке команды. Не критичен.

190 Airflow Temperature

– Температура внутри корпуса жесткого диска. Указаны минимальное и максимальное значения.

194 HDA Temperature

– Показания термодатчика внутри корпуса диска, используются для расчета атрибута 190.

195 Hardware ECC Recovered

– Сколько производилось коррекций ошибок аппаратной частью диска. Повышение числа предупреждает о возможном отказе.

196 Reallocation Event Count

– Еще один важный атрибут. Считает удачные и неудачные попытки Remap . Показание растет
даже после полного использования резервной области диска. Критичен.

197 Current Pending Errors Count

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

198 Uncorrectable Errors Count

– Число ошибок обращения к сектору, которые нельзя исправить. Это критично.

199 UltraDMA CRC Errors

– Ошибки контрольной суммы при передаче данных. Говорит скорее о неисправном шлейфе или окисленных контактах разъёма, чем о неисправном диске.

200 Write Error Rate

Количество ошибок записи на диск. Увеличивается со сроком эксплуатации.

201 Soft Read Error Rate

– Как часто появляются программные ошибки чтения информации. Не критично.

Из описанных параметров можно получить полное представление о состоянии поверхности диска и ресурсе механики.

Если какой либо из критичных параметров достиг значения Threshold

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

При выводе параметров S.M.A.R.T значение Value должно превышать Threshold (критическое значение параметра), данное значение должно быть высоким.

Зеленый маркер атрибута свидетельствует о том, что параметр атрибута соответствует нормальному.

Желтый маркер свидетельствует о небольшом расхождении.

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

Raw Read Error Rate - этот атрибут отображает частоту ошибок при чтении с диска.

Spin Up Time - атрибут раскрутки диска до рабочего состояния, некачественный блок питания может влиять на разницу с эталонным значением.

Start/Stop Count - количество запусков и остановок жесткого диска.

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

Seek Error Rate - значение частоты ошибок при позиционировании головок, сообщает о перегреве винчестера или неустойчивом положении в корзине, решение возможно в более надежном закреплении жесткого диска.

Power-on Hours Count - атрибут отображающий количество часов во включенном состоянии.

Spin Retry Count - количество повторов раскрутки диска при неудачной предыдущей.

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

Device Power Cycle Count - количество полных циклов включения/выключения устройства.

Emergency Retract Count - атрибут парковки головок при чрезвычайных ситуациях, пропажа питание или сильное его понижение, бывает при плохом контакте разъема питания или глюках платы HDD.

Load/unload Cycle Count - количество циклов вывода головок в рабочее положение.

HDA Temperature - температура жесткого диска.

Reallocation Event Count - счетчик операций ремаппинга, показывает количество попыток перенесения сбоящих секторов в резервную область.

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

Uncorrectable Errors Count - счетчик некорректируемых ошибок, указывает на дефекты поверхности жесткого диска.

UltraDMA CRC Errors - ошибки внешнего интерфейса, возникающие при некачественном шлейфе SATA.

Multi Zone Error Rate - частота появления ошибок при записи данных.