Технология S.M.A.R.T. (Self-Monitoring, Analysis and Reporting Technology - технология самонаблюдения, анализа и сообщений) используется для предупреждения пользователей о возможном отказе устройства. Предсказание отказов осуществляется в результате контроля за выходом ряда параметров за некоторый предел.
По технологии S.M.A.R.T осуществляют контроль следующих параметров: время разгона до номинальной скорости, время позиционирования головок, процент ошибок операций позиционирования, «высота полета» головок, производительность обмена с учетом числа повторов, количество использованных резервных секторов и т. п. Слежение может осуществляться в рабочем режиме on-line (одновременно с выполнением команд хоста при возможном некотором замедлении). Слежение в режиме off-line выполняется устройством в паузе между обычными командами без снижения производительности. Если во время выполнения этой процедуры придет внешняя команда, то мониторинг прервется на время исполнения команды (начало исполнения команды может задержаться на время до двух секунд). Значения атрибутов, за которыми ведется наблюдение, сохраняются в служебной области носителя.
Для непакетных устройств имеется команда SMART (пакетные используют для этих целей собственный протокол), подкоманды которой задаются через регистр свойств FR. Перед подачей команд в регистры CL и СН заносятся константы: CL=4Fh, CH=C2h. Из подкоманд SMART стандартизованы следующие:
SMART Read Data (FR=D0h) - чтение блока данных SMART. Блок данных (512 байт) имеет стандартную структуру, в нем содержатся следующие сведения:
- состояние мониторинга off-line: запускался ли, завершался ли успешно, прерывался ли и почему;
- состояние самотестирования (чем кончился предыдущий тест, тестирование выполняется в данный момент);
- время до завершения тестирования off-line;
- возможности тестирования off-line, поддержка журнала регистрации ошибок;
- рекомендуемое время, через которое имеет смысл запрашивать результат после запуска коротких и расширенных тестов;
- информация, специфичная для производителя.
SMART Enable/Disable Attribute Autosave (FR=D2h) - управление автосохранением атрибутов: SC=00h - запрет, SC=F1h - разрешение автосохранения. Подкоманда необязательная. Автосохранение в энергонезависимую память выполняется по наступлению какого-то события (зависит от разработчика).
SMART Save Attribute Values (FR=D3h) - сохранение значений атрибутов в энергонезависимой памяти устройства.
SMART Execute Off-Line Immediate (FR=D4h) - немедленное выполнение мониторинга off-line в режиме off-line или captive. В режиме off-line устройство, получив команду, сразу выполняет действия, обычные при завершении команд (снять флаг занятости и т. п.). В режиме captive команда выполняется как обычная, то есть устройство устанавливает флаг занятости на время ее выполнения; по окончании в регистрах сообщается результат и снимается флаг занятости. Функции задаются в регистре SN:
0 - выполнение программы SMART off-line в режиме off-line;
1 - выполнение короткого самотестирования SMART в режиме off-line;
2 - выполнение расширенного самотестирования SMART в режиме off-line;
127 - прекращение самотестирования SMART;
1 - выполнение короткого самотестирования SMART в режиме off-line;
129 - выполнение короткого самотестирования SMART в режиме captive;
130 - выполнение расширенного самотестирования SMART в режиме captive.
Для подкоманд, определяющих режим captive, в случае ошибок после их выполнения регистры CL и СH позволяют уточнить ошибку: если CL=4F, CH=C2ht то не прошло самотестирование, если CL=4Fh, CH=2Ch, то ошибка иная (неподдерживаемые функции, ошибка задания параметров и т, п.).
SMART Read Log (FR=D5h) - чтение журнала ошибок (5+). В регистре SC указывается число передаваемых секторов, в регистре SN - адрес журнала. Журналов может быть несколько, имеется и каталог журналов. В спецификации задана структура каталога и некоторых журналов.
SMART Write Log (FR=D6h) - запись в журнал ошибок или в каталог журналов (5+).
SMART Enable Operations (FR=D8h) - разрешение команд и внутренних функций SMART,
SMART Disable Operations (FR=D9h) - запрет команд и функций SMART, все команды SMART, кроме Smart Enable Operations, будут отвергаться. Состояние (разрешены или нет функции SMART) сохраняется и после последующих включений питания.
SMART Return Status (FR=DAh) - опрос результатов мониторинга. Если какой-либо порог перейден, регистры СH и CL будут иметь значения C2h и 4Fh соответственно, если все в порядке - 2Ch и F4h.
В технологии S.M.A.R.T обычно предусматривается автоматическая проверка целостности данных, состояния поверхности пластин, перенос информации с критических участков на нормальные и другие операции без участия пользователя. В случае нарастания фатальных ошибок программа своевременно выдаст сообщение о необходимости принятия срочных мер по спасению данных.
Основные положения S.MA.R.T. были согласованы с участием всех крупных производителей дисков и компьютеров. Для анализа надежности жесткого диска используются две группы параметров. Первая характеризует параметры естественного старения жесткого диска:
- число циклов включения/выключения диска;
- накопленное число оборотов двигателя за время работы;
- количество перемещений головок
Вторая группа параметров характеризует текущее состояние накопителя:
- высота головки над поверхностью диска;
- скорость обмена данными между дисками и буфером (кэш-памятью);
- количество переназначений плохих секторов (когда вместо испорченного сектора подставляется свободный исправный);
- количество ошибок поиска;
- количество операций перекалибровки;
- скорость поиска данных на диске и др.
Обычно вся информация записывается на служебных дорожках, недоступных аппаратным и программным средствам общего применения.
S.M.A.R.T. (Self-Monitoring, Analysis and Reporting Technology - технология самотестирования, анализа и отчетности) - это новый промышленный стандарт, описывающий методы предсказания появления ошибок жесткого диска. При активизации системы S.M.A.R.T. жесткий диск начинает отслеживать определенные параметры, чувствительные к неисправностям накопителя или указывающие на них. На основе отслеживаемых параметров можно предсказать сбои в работе накопителя. Если на основе отслеживаемых параметров вероятность появления ошибки возрастает, S.M.A.R.T. генерирует для BIOS или драйвера операционной системы отчет о возникшей неполадке, который указывает пользователю на необходимость немедленного резервного копирования данных до того момента, когда произойдет сбой в накопителе.
На основе отслеживаемых параметров S.M.A.R.T. пытается определить тип ошибки. По данным фирмы Seagate, 60% ошибок представляют собой механические проблемы. Именно этот тип ошибок и предсказывается S.M.A.R.T. Естественно не все ошибки можно предсказать, например появление статического электричества, внезапная встряска или удар, термические перегрузки и т.д.
S.M.A.R.T. впервые была разработана еще в 1992 году фирмой IBM. В этом же году IBM выпустила жесткий диск формата 3,5 дюйма с модулем Predictive Failure Analysis (PFA), который измерял некоторые параметры накопителя и в случае их критического изменения генерировал предупреждающее сообщение. Фирма IBM передала на рассмотрение организации ANSI спецификацию технологии предсказания ошибок накопителя, и в результате появился ANSI-стандарт - протокол S.M.A.R.T. для SCSI-устройств (документ ХЗТ10/94-190).
Для функционирования S.M.A.R.T. необходима поддержка этой технологии на уровне BIOS или драйвера жесткого диска операционной системы (и, естественно, накопитель на жестких дисках, который поддерживает эту технологию). S.M.A.R.T. поддерживается программами, например Norton Smart Doctor фирмы Symantec, EZ фирмы Micro-house International или Data Advisor фирмы Ontrack Data International и др..
Традиционные программы диагностики диска, например Scandisk и Norton Disk Doctor, работают с секторами данных на поверхности диска и не отслеживают всех функций накопителя в целом. В современных накопителях на жестких дисках резервируются секторы, которые в будущем используются вместо дефектных. Как только использован один из резервных секторов, S.M.A.R.T. информирует об этом пользователя, в то время как программы диагностики диска не сообщают о каких-либо проблемах.
Каждый производитель накопителей на жестких дисках по-своему реализует параметры монитора S.M.A.R.T., причем большинство из них реализовали собственный набор параметров. В некоторых накопителях отслеживается высота "полета" головок над поверхностью диска. Если эта величина уменьшается до некоторого критического значения, то накопитель генерирует ошибку. В других накопителях выполняется мониторинг кодов коррекции ошибок, который показывает количество ошибок чтения и записи на диск.
В большинстве дисков реализована регистрация следующих параметров:
- высота "полета" головки на диском;
- скорость передачи данных;
- количество переназначенных секторов;
- производительность времени поиска;.
- количество повторов процесса калибровки накопителя.
Каждый параметр имеет пороговое значение, которое используется для определения того, появилась ли ошибка. Это пороговое значение определяется производителем накопителя и не может быть изменено.
Если S.M.A.R.T. в процессе мониторинга накопителя обнаруживает несоответствие параметров, то драйверу диска отправляется предупреждающее сообщение, а драйвер информирует о "ситуации" операционную систему. Операционная система оповещает пользователя о необходимости немедленного резервного копирования данных. В этом предупреждающем сообщении может также содержаться информация о типе, производителе, номере накопителя.
Нельзя игнорировать подобное предупреждающее сообщение и нужно немедленно выполнить резервное копирование данных. А после этого выяснить и устранить причину появления предупреждающего сообщения (например, если накопитель на жестких дисках перегрелся, то надо попробовать выключить на некоторое время компьютер, а затем включить снова, а если же причина более сложная накопителя, то лучше обратиться к специалистам службы технической поддержки.