Статья в Энциклопедическом Фонде

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

S.M.A.R.T. (от англ. self-monitoring, analysis and reporting technology - технология самоконтроля, анализа и отчётности) - технология оценки состояния жёсткого диска встроенной аппаратурой самодиагностики, а также механизм предсказания времени выхода его из строя.
Отметим, что нижесказанное относится к дискам с интерфейсами SATA и РАТА. У дисков SAS, SCSI и других серверных дисков тоже есть S.M.A.R.T., но его представление сильно отличается от SATA/PATA.
Первый жёсткий диск, обладающий системой самодиагностики, был представлен в 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 (Western Digital на тот момент ещё не имели системы слежения за параметрами жёсткого диска). За основу была взята технология IntelliSafe. Совместно разработанный стандарт назвали S.M.A.R.T.
SMART I предусматривал мониторинг основных параметров и запускался только после команды по интерфейсу.
При разработке SMART II подключилась Hitachi, предложив методику полной самодиагностики накопителя (extended self-test), также появилась функция журналирования ошибок.
В SMART III появилась функция обнаружения дефектов поверхности и возможность их восстановления "прозрачно" для пользователя.
SMART производит наблюдение за основными характеристиками накопителя, каждая из которых получает оценку. Характеристики можно разбить на две группы:
1. Параметры, отражающие процесс естественного старения жёсткого диска (число оборотов шпинделя, число перемещений головок, количество циклов включения-выключения);
2. Текущие параметры накопителя (высота головок над поверхностью диска, число переназначенных секторов, время поиска дорожки и количество ошибок поиска).
Данные хранятся в шестнадцатеричном виде, называемом "raw value", а потом пересчитываются в "value" - значение, символизирующее надёжность относительно некоторого эталонного значения. Обычно "value" располагается в диапазоне от 0 до 100 (некоторые атрибуты имеют значения от 0 до 200 и от 0 до 253).
Высокая оценка говорит об отсутствии изменений данного параметра или медленном его ухудшении. Низкая говорит о возможном скором сбое.
Значение, меньшее, чем минимальное, при котором производителем гарантируется безотказная работа накопителя, означает выход узла из строя.
Технология SMART позволяет осуществлять:
1. Мониторинг параметров состояния;
2. Сканирование поверхности;
3. Сканирование поверхности с автоматической заменой сомнительных секторов на надёжные.
Следует заметить, что технология SMART позволяет предсказывать выход устройства из строя в результате механических неисправностей, что составляет около 60 % причин, по которым винчестеры выходят из строя. Предсказать последствия скачка напряжения или повреждения накопителя в результате удара SMART не способна.
Следует отметить, что накопители НЕ МОГУТ сами сообщать о своём состоянии посредством технологии SMART, для этого существуют специальные программы. Таким образом, использование технологии SMART невозможно без наличия следующих двух составляющих:
1. ПО, встроенного в контроллер накопителя.
2. Внешнего ПО, встроенного в хост.
Программы, отображающие состояние SMART-атрибутов, работают по следующему алгоритму:
Проверяют наличие поддержки технологии SMART накопителем.
Подают в накопитель команду запроса SMART-таблиц.
Получают таблицы в буфер приложения.
Разбирают табличные структуры, извлекая из них номера атрибутов и их числовые значения.

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

Сопоставляют стандартизированные номера атрибутов их названиям (иногда - в зависимости от типа, модели или фирмы-изготовителя HDD, как, например, в программе Victoria).

Скриншот

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

Атрибуты SMART. Таблица известных атрибутов SMART выглядит следующим образом:

Таблица значений атрибутов 1
Таблица значений атрибутов 2
Таблица значений атрибутов 3
Таблица значений атрибутов 4

Используемые источники
1. wikipedia.org.
2. ixbt.com.

Энциклопедический Фонд