S.M.A.R.T.

S.M.A.R.T.

S.M.A.R.T. (от англ. self-monitoring, analysis and reporting technology — технология самоконтроля, анализа и отчётности) — технология оценки состояния жёсткого диска встроенной аппаратурой самодиагностики, а также механизм предсказания времени выхода его из строя.

История

Первый жёсткий диск, обладающий системой самодиагностики, был представлен в 1992 году фирмой IBM в дисковых массивах IBM 9337 для серверов AS/400, использующих IBM 0662 SCSI-2 диски. Технология была названа Predictive Failure Analysis (PFA). Измерялось несколько ключевых параметров, их оценка производилась непосредственно контроллером диска. Результат был ограничен лишь одним битом: либо все в порядке, либо диск может в скором времени выйти из строя. Позже компаниями Compaq, Seagate, Quantum и Conner была разработана другая технология, названная IntelliSafe. В ней был общий протокол выдачи информации о состоянии жёсткого диска, но измеряемые параметры и их пороги каждая компания определяла самостоятельно.

В начале 1995 года Compaq предложила стандартизировать технологию. Компании IBM, Seagate, Quantum, Conner и Western Digital (последняя на тот момент ещё не имела системы отслеживания параметров жёсткого диска) поддержали эту идею. За основу была взята технология IntelliSafe. Совместно разработанный стандарт назвали S.M.A.R.T. Стандарт S.M.A.R.T. I предусматривал мониторинг основных параметров и запускался только после команды.

В разработке S.M.A.R.T. II участвовала Hitachi, предложившая методику полной самодиагностики накопителя (extended self-test), также появилась функция журналирования ошибок. В S.M.A.R.T. III появилась функция обнаружения дефектов поверхности и возможность их восстановления «прозрачно» для пользователя.

Описание

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

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

Данные хранятся в шестнадцатеричном виде, называемом raw value («сырые значения»), а затем пересчитываются в value — значение, символизирующее надёжность относительно некоторого эталонного значения. Обычно value располагается в диапазоне от 0 до 100 (некоторые атрибуты имеют значения от 0 до 200 и от 0 до 253).

Высокая оценка говорит об отсутствии изменений данного параметра или медленном его ухудшении. Низкая — о возможном сбое в скором времени.

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

Технология S.M.A.R.T. позволяет осуществлять:

  • 1) мониторинг параметров состояния;
  • 2) сканирование поверхности;
  • 3) сканирование поверхности с автоматической заменой сомнительных секторов на надёжные.

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

Следует отметить, что накопители не могут самостоятельно сообщать о своём состоянии посредством технологии SMART, однако для этого существуют специальные программы. Таким образом, использование технологии S.M.A.R.T. невозможно без наличия следующих двух составляющих:

  • 1) ПО, встроенного в контроллер накопителя;
  • 2) Внешнего ПО, встроенного в хост.

Программы, отображающие состояние S.M.A.R.T.-атрибутов, работают по следующему алгоритму:

  • Проверка наличия поддержки накопителем технологии S.M.A.R.T.;
  • Посылка команды запроса S.M.A.R.T.-таблиц;
  • Получение таблиц в буфер приложения;
  • Расшифровка табличных структур, извлечение номера атрибута и его числового значения;
  • Сопоставление стандартизированных номеров атрибутов их названиям (иногда — в зависимости от типа, модели или производителя, как, например, в программе Victoria);
  • Вывод числовых значений в удобном для восприятия виде (например, конвертация шестнадцатеричных значений в десятичные);
  • Извлечение из таблиц флагов атрибутов (признаков, характеризующих назначение атрибута в данном накопителе, например, «жизненно важный» или «счётчик»);
  • Вывод общего состояния устройства на основании всех таблиц, значений и флагов.

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

Таблица известных атрибутов S.M.A.R.T. выглядит следующим образом:

HexИмя атрибутаЛучше если…Описание
0101Raw Read Error Rate
Меньше
Частота ошибок при чтении данных с диска, происхождение которых обусловлено аппаратной частью диска.
Для всех дисков Seagate, Samsung (семейства F1 и более новые) и Fujitsu 2,5? это — число внутренних коррекций данных, проведенных до выдачи в интерфейс, следовательно на пугающе огромные цифры можно реагировать спокойно.

0202Throughput Performance
Больше
Общая производительность диска. Если значение атрибута уменьшается, то велика вероятность, что с диском есть проблемы.
0303Spin-Up Time
Меньше
Время раскрутки пакета дисков из состояния покоя до рабочей скорости.
Растет при износе механики (повышенное трение в подшипнике и т. п.), также может свидетельствовать о некачественном питании (например, просадке напряжения при старте диска).
0404Start/Stop CountПолное число циклов запуск-остановка шпинделя. У дисков некоторых производителей (например, Seagate) — счётчик включения режима энергосбережения. В поле raw value хранится общее количество запусков/остановок диска.
0505Reallocated Sectors Count
Меньше
Число операций переназначения секторов. Когда диск обнаруживает ошибку чтения/записи, он помечает сектор «переназначенным» и переносит данные в специально отведённую резервную область. Вот почему на современных жёстких дисках нельзя увидеть bad-блоки — все они спрятаны в переназначенных секторах. Этот процесс называют remapping, а переназначенный сектор — remap. Чем больше значение, тем хуже состояние поверхности дисков. Поле raw value содержит общее количество переназначенных секторов.
Рост значения этого атрибута может свидетельствовать об ухудшении состояния поверхности блинов диска.
0606Read Channel MarginЗапас канала чтения. Назначение этого атрибута не документировано. В современных накопителях не используется.
0707Seek Error Rate
Меньше
Частота ошибок при позиционировании блока магнитных головок. Чем их больше, тем хуже состояние механики и/или поверхности жёсткого диска. Также на значение параметра может повлиять перегрев и внешние вибрации (например, от соседних дисков в корзине).
0808Seek Time Performance
Больше
Средняя производительность операции позиционирования магнитными головками. Если значение атрибута уменьшается (замедление позиционирования), то велика вероятность проблем с механической частью привода головок.
0909Power-on Time Count (Power-On Hours)
Меньше
Число часов (минут, секунд — в зависимости от производителя), проведённых во включенном состоянии. В качестве порогового значения для него выбирается паспортное время наработки на отказ (MTBF — mean time between failure).
100ASpin-Up Retry Count
Меньше
Число повторных попыток раскрутки дисков до рабочей скорости в случае, если первая попытка была неудачной. Если значение атрибута увеличивается, то велика вероятность неполадок с механической частью.
110BRecalibration Retries
Меньше
Количество повторов запросов рекалибровки в случае, если первая попытка была неудачной. Если значение атрибута увеличивается, то велика вероятность проблем с механической частью.
120CDevice Power Cycle CountКоличество полных циклов включения-выключения диска.
130DSoft Read Error Rate
Меньше
Число ошибок при чтении, по вине программного обеспечения, которые не поддались исправлению. Все ошибки имеют не механическую природу и указывают лишь на неправильную разметку/взаимодействие с диском программ или операционной системы.
184B8End-to-End error
Меньше
Данный атрибут — часть технологии HP SMART IV — означает, что после передачи данных через кэш-память чётность данных между хостом и жестким диском не совпадает.
187BBReported UNC Errors
Меньше
Ошибки, которые не могли быть восстановлены, используя методы устранения ошибки аппаратными средствами.
188BCCommand Timeout
Меньше
Количество прерванных операций в связи с HDD тайм-аут. Обычно это значение атрибута должно быть равно нулю, и, если значение гораздо выше нуля, то, скорее всего, там будут какие-то серьезные проблемы с питанием или окисленные кабели для передачи данных.
190BEAirflow Temperature (WDC)
Меньше
Температура воздуха внутри корпуса жёсткого диска. Для дисков Seagate рассчитывается по формуле (100 — HDA temperature). Для дисков Western Digital — (125- HDA).
191BFG-sense error rate
Меньше
Количество ошибок, возникающих в результате ударных нагрузок. Атрибут хранит показания встроенного акселерометра, который фиксирует все удары, толчки, падения и даже неаккуратную установку диска в корпус компьютера.
192C0Power-off retract count
Меньше
Число циклов выключений или аварийных отказов (включений/выключений питания накопителя).
193C1Load/Unload Cycle
Меньше
Количество циклов перемещения блока магнитных головок в парковочную зону / в рабочее положение.
194C2HDA temperature
Меньше
Здесь хранятся показания встроенного термодатчика для механической части диска — банки (HDA — Hard Disk Assembly). Информация снимается со встроенного термодатчика, которым служит одна из магнитных головок, обычно нижняя в банке. В битовых полях атрибута фиксируются текущая, минимальная и максимальная температура. Не все программы, работающие со SMART, правильно разбирают эти поля, так что к их показаниям стоит относиться критически.
195C3Hardware ECC Recovered
Меньше
Число коррекции ошибок аппаратной частью диска (чтение, позиционирование, передача по внешнему интерфейсу). На дисках с SATA-интерфейсом значение нередко ухудшается при повышении частоты системной шины — SATA очень чувствителен к разгону.
196C4Reallocation Event Count
Меньше
Число операций переназначения. В поле «raw value» атрибута хранится общее число попыток переноса информации с переназначенных секторов в резервную область. Учитываются как успешные, так и неуспешные попытки.
197C5Current Pending Sector Count
Меньше
Число секторов, являющихся кандидатами на замену. Они не были ещё определены как плохие, но считывание с них отличается от чтения стабильного сектора, это так называемые подозрительные или нестабильные сектора. В случае успешного последующего прочтения сектора он исключается из числа кандидатов. В случае повторных ошибочных чтений накопитель пытается восстановить его и выполняет операцию переназначения (remapping).
Рост значения этого атрибута может свидетельствовать о физической деградации жёсткого диска.
198C6Uncorrectable Sector Count
Меньше
Число не корректируемых (средствами диска) секторов. В случае увеличения числа ошибок, велика вероятность критических дефектов поверхности и/или механики накопителя.
199C7UltraDMA CRC Error Count
Меньше
Число ошибок, возникающих при передаче данных по внешнему интерфейсу в режиме UltraDMA (нарушения целостности пакетов и т. п.). Рост этого атрибута свидетельствует о плохом (мятом, перекрученном) кабеле и плохих контактах. Также подобные ошибки появляются при разгоне шины PCI, сбоях питания, сильных электромагнитных наводках, а иногда и по вине драйвера.
Возможно причина в некачественном шлейфе. Для исправления попробуйте использовать SATA шлейф без защёлок, имеющий плотное соединение с контактами диска.
200C8Write Error Rate /
Multi-Zone Error Rate
Меньше
Показывает общее количество ошибок, происходящих при записи сектора. Показывает общее число ошибок записи на диск. Может служить показателем качества поверхности и механики накопителя.
201C9Soft read error rate
Меньше
Частота появления «программных» ошибок при чтении данных с диска.

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

202CAData Address Mark errors
Меньше
Number of Data Address Mark (DAM) errors (or) vendor-specific.
203CBRun out cancel
Меньше
Количество ошибок ECC.
204CCSoft ECC correction
Меньше
Количество ошибок ECC, скорректированных программным способом.
205CDThermal asperity rate (TAR)
Меньше
Number of thermal asperity errors.
206CEFlying heightВысота между головкой и поверхностью диска.
207CFSpin high current
Меньше
Величина силы тока при раскрутке диска.
208D0Spin buzzNumber of buzz routines to spin up the drive.
209D1Offline seek performanceПроизводительность поиска во время офлайновых операций (Drive’s seek performance during offline operations.)
220DCDisk Shift
Меньше
Дистанция смещения блока дисков относительно шпинделя. В основном возникает из-за удара или падения. Единица измерения неизвестна. При увеличении атрибута диск быстро становится неработоспособным.
221DDG-Sense Error Rate
Меньше
Число ошибок, возникших из-за внешних нагрузок и ударов. Атрибут хранит показания встроенного датчика удара.
222DELoaded HoursВремя, проведённое блоком магнитных головок между выгрузкой из парковочной области в рабочую область диска и загрузкой блока обратно в парковочную область.
223DFLoad/Unload Retry CountКоличество новых попыток выгрузок/загрузок блока магнитных головок в/из парковочной области после неудачной попытки.
224E0Load Friction
Меньше
Величина силы трения блока магнитных головок при его выгрузке из парковочной области.
225E1Load Cycle Count
Меньше
Количество циклов перемещения блока магнитных головок в парковочную область.
226E2Load 'In'-timeВремя, за которое привод выгружает магнитные головки из парковочной области на рабочую поверхность диска.
227E3Torque Amplification Count
Меньше
Количество попыток скомпенсировать вращающий момент.
228E4Power-Off Retract Cycle
Меньше
Количество повторов автоматической парковки блока магнитных головок в результате выключения питания.
230E6GMR Head AmplitudeАмплитуда «дрожания» (расстояние повторяющегося перемещения блока магнитных головок).
231E7Temperature
Меньше
Температура жёсткого диска.
240F0Head flying hoursОбщее время нахождения блока головок в рабочем положении в часах.
250FARead error retry rate
Меньше
Число ошибок во время чтения жёсткого диска.

Где:

  • Больше - Большее значение параметра лучше
  • Меньше - Меньшее значение параметра лучше
  • Критический параметр — красный фон строки