S.M.A.R.T. — здоровье HDD

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

Компаниями 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. производит наблюдение за основными характеристиками накопителя, каждая из которых получает оценку. Характеристики можно разбить на две группы:

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

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

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

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

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

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

Вот типичный отчет S.M.A.R.T. из Everest — добавим столбик с расшифровкой параметров. Критичные параметры выделены красным цветом.

ID Описание атрибута Порог Значение Наихудшее Данные Статус Что означает
1 Raw Read Error Rate 51 200 200 0 OK: Значение нормальное  Частота ошибок при чтении данных с диска, происхождение которых обусловлено аппаратной частью диска. Для всех дисков Seagate, Samsung (семейства F1 и более новые) и Fujitsu 2,5″ это — число внутренних коррекций данных, проведенных до выдачи в интерфейс, следовательно на пугающе огромные цифры можно реагировать спокойно
2 Throughput Performance Общая производительность диска. Если значение атрибута уменьшается, то велика вероятность, что с диском есть проблемы.
3 Spin-Up Time 21 154 145 1258 OK: Значение нормальное  Время раскрутки пакета дисков из состояния покоя до рабочей скорости.
Растет при износе механики (повышенное трение в подшипнике и т. п.), также может свидетельствовать о некачественном питании (например, просадке напряжения при старте диска).
4 Start/Stop Count 0 99 99 1869 OK: Всегда пройдено  Полное число циклов запуск-остановка шпинделя. У дисков некоторых производителей (например, Seagate) — счётчик включения режима энергосбережения. В поле raw value хранится общее количество запусков/остановок диска.
5 Reallocated Sector Count 140 200 200 0 OK: Значение нормальное  Число операций переназначения секторов. Когда диск обнаруживает ошибку чтения/записи, он помечает сектор «переназначенным» и переносит данные в специально отведённую резервную область. Вот почему на современных жёстких дисках нельзя увидеть bad-блоки — все они спрятаны в переназначенных секторах. Этот процесс называют remapping, а переназначенный сектор — remap. Чем больше значение, тем хуже состояние поверхности дисков. Поле raw value содержит общее количество переназначенных секторов.
Рост значения этого атрибута может свидетельствовать об ухудшении состояния поверхности блинов диска.
7 Seek Error Rate 0 100 253 0 OK: Всегда пройдено  Частота ошибок при позиционировании блока магнитных головок. Чем их больше, тем хуже состояние механики и/или поверхности жёсткого диска. Также на значение параметра может повлиять перегрев и внешние вибрации (например, от соседних дисков в корзине).
9 Power-On Time Count 0 91 91 6868 OK: Всегда пройдено  Число часов (минут, секунд — в зависимости от производителя), проведённых во включенном состоянии. В качестве порогового значения для него выбирается паспортное время наработки на отказ (MTBF — mean time between failure).
0A Spin-Up Retry Count 0 100 100 0 OK: Всегда пройдено  Число повторных попыток раскрутки дисков до рабочей скорости в случае, если первая попытка была неудачной. Если значение атрибута увеличивается, то велика вероятность неполадок с механической частью.
0B Calibration Retry Count 0 100 100 0 OK: Всегда пройдено  Счетчик перекалибровки положения головок HDD
0C Power Cycle Count 0 99 99 1865 OK: Всегда пройдено  Количество полных циклов включения-выключения диска.
C0 Power-Off Retract Count 0 200 200 46 OK: Всегда пройдено Число циклов выключений или аварийных отказов (включений/выключений питания накопителя).
C1 Load/Unload Cycle Count 0 180 180 61782 OK: Всегда пройдено  Количество циклов перемещения блока магнитных головок в парковочную зону / в рабочее положение.
C2 Temperature 0 116 85 27 OK: Всегда пройдено  Температура диска (внутренний датчик)
C4 Reallocation Event Count 0 200 200 0 OK: Всегда пройдено  Число операций переназначения. В поле «raw value» атрибута хранится общее число попыток переноса информации с переназначенных секторов в резервную область. Учитываются как успешные, так и не успешные попытки.
C5 Current Pending Sector Count 0 200 200 0 OK: Всегда пройдено  Число секторов, являющихся кандидатами на замену. Они не были ещё определены как плохие, но считывание с них отличается от чтения стабильного сектора, это так называемые подозрительные или нестабильные сектора.
C6 Offline Uncorrectable Sector Count 0 100 253 0 OK: Всегда пройдено  Число не корректируемых (средствами диска) секторов. В случае увеличения числа ошибок, велика вероятность критических дефектов поверхности и/или механики накопителя.
C7 Ultra ATA CRC Error Rate 0 200 200 0 OK: Всегда пройдено  Число ошибок, возникающих при передаче данных по внешнему интерфейсу  (нарушения целостности пакетов и т. п.). Рост этого атрибута свидетельствует о плохом (мятом, перекрученном) кабеле и плохих контактах. Также подобные ошибки появляются при разгоне шины PCI, сбоях питания, сильных электромагнитных наводках, а иногда и по вине драйвера.
C8 Write Error Rate 0 100 253 0 OK: Всегда пройдено  Показывает общее количество ошибок, происходящих при записи сектора. Показывает общее число ошибок записи на диск. Может служить показателем качества поверхности и механики накопителя.