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. производит наблюдение за основными характеристиками накопителя, каждая из которых получает оценку. Характеристики можно разбить на две группы:
- параметры, отражающие процесс естественного старения жёсткого диска (число оборотов шпинделя, число перемещений головок, количество циклов включения-выключения);
- текущие параметры накопителя (высота головок над поверхностью диска, число переназначенных секторов, время поиска дорожки и количество ошибок поиска).
Данные хранятся в шестнадцатеричном виде, называемом raw value («сырые значения»), а затем пересчитываются в value — значение, символизирующее надёжность относительно некоторого эталонного значения. Обычно value располагается в диапазоне от 0 до 100 (некоторые атрибуты имеют значения от 0 до 200 и от 0 до 253).
Высокая оценка говорит об отсутствии изменений данного параметра или медленном его ухудшении. Низкая — о возможном сбое в скором времени.
Значение, меньшее, чем минимальное, при котором производителем гарантируется безотказная работа накопителя, означает выход узла из строя.
Технология S.M.A.R.T. позволяет осуществлять:
- мониторинг параметров состояния;
- сканирование поверхности;
- сканирование поверхности с автоматической заменой сомнительных секторов на надёжные.
Следует заметить, что технология S.M.A.R.T. позволяет предсказывать выход устройства из строя в результате механических неисправностей, что составляет около 60% причин[1] поломки жесткого диска. Предсказать последствия скачка напряжения или механического удара S.M.A.R.T. не способна.
Следует отметить, что накопители не могут самостоятельно сообщать о своём состоянии посредством технологии SMART, однако для этого существуют специальные программы. Таким образом, использование технологии S.M.A.R.T. невозможно без наличия следующих двух составляющих:
- ПО, встроенного в контроллер накопителя;
- Внешнего ПО, встроенного в хост.
Программы, отображающие состояние 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 | Имя атрибута | Лучше если… | Описание |
---|---|---|---|---|
01 | 01 | Raw Read Error Rate | Частота ошибок при чтении данных с диска, происхождение которых обусловлено аппаратной частью диска. Для всех дисков Seagate, Samsung (семейства F1 и более новые) и Fujitsu 2,5″ это — число внутренних коррекций данных, проведенных до выдачи в интерфейс, следовательно на пугающе огромные цифры можно реагировать спокойно. |
|
02 | 02 | Throughput Performance | Общая производительность диска. Если значение атрибута уменьшается, то велика вероятность, что с диском есть проблемы. | |
03 | 03 | Spin-Up Time | Время раскрутки пакета дисков из состояния покоя до рабочей скорости. Растет при износе механики (повышенное трение в подшипнике и т. п.), также может свидетельствовать о некачественном питании (например, просадке напряжения при старте диска). |
|
04 | 04 | Start/Stop Count | Полное число циклов запуск-остановка шпинделя. У дисков некоторых производителей (например, Seagate) — счётчик включения режима энергосбережения. В поле raw value хранится общее количество запусков/остановок диска. | |
05 | 05 | Reallocated Sectors Count | Число операций переназначения секторов. Когда диск обнаруживает ошибку чтения/записи, он помечает сектор «переназначенным» и переносит данные в специально отведённую резервную область. Вот почему на современных жёстких дисках нельзя увидеть bad-блоки — все они спрятаны в переназначенных секторах. Этот процесс называют remapping, а переназначенный сектор — remap. Чем больше значение, тем хуже состояние поверхности дисков. Поле raw value содержит общее количество переназначенных секторов. Рост значения этого атрибута может свидетельствовать об ухудшении состояния поверхности блинов диска. |
|
06 | 06 | Read Channel Margin | Запас канала чтения. Назначение этого атрибута не документировано. В современных накопителях не используется. | |
07 | 07 | Seek Error Rate | Частота ошибок при позиционировании блока магнитных головок. Чем их больше, тем хуже состояние механики и/или поверхности жёсткого диска. Также на значение параметра может повлиять перегрев и внешние вибрации (например, от соседних дисков в корзине). | |
08 | 08 | Seek Time Performance | Средняя производительность операции позиционирования магнитными головками. Если значение атрибута уменьшается (замедление позиционирования), то велика вероятность проблем с механической частью привода головок. | |
09 | 09 | Power-On Hours (POH) | Число часов (минут, секунд — в зависимости от производителя), проведённых во включенном состоянии. В качестве порогового значения для него выбирается паспортное время наработки на отказ (MTBF — mean time between failure). | |
10 | 0A | Spin-Up Retry Count | Число повторных попыток раскрутки дисков до рабочей скорости в случае, если первая попытка была неудачной. Если значение атрибута увеличивается, то велика вероятность неполадок с механической частью. | |
11 | 0B | Recalibration Retries | Количество повторов запросов рекалибровки в случае, если первая попытка была неудачной. Если значение атрибута увеличивается, то велика вероятность проблем с механической частью. | |
12 | 0C | Device Power Cycle Count | Количество полных циклов включения-выключения диска. | |
13 | 0D | Soft Read Error Rate | Число ошибок при чтении, по вине программного обеспечения, которые не поддались исправлению. Все ошибки имеют не механическую природу и указывают лишь на неправильную разметку/взаимодействие с диском программ или операционной системы. | |
184 | B8 | End-to-End error | Данный атрибут — часть технологии HP SMART IV — означает, что после передачи данных через кэш-память чётность данных между хостом и жестким диском не совпадает. | |
187 | BB | Reported UNC Errors | Ошибки, которые не могли быть восстановлены, используя методы устранения ошибки аппаратными средствами. | |
188 | BC | Command Timeout | Количество прерванных операций в связи с HDD тайм-аут. Обычно это значение атрибута должно быть равно нулю, и, если значение гораздо выше нуля, то, скорее всего, там будут какие-то серьезные проблемы с питанием или окисленные кабели для передачи данных. | |
190 | BE | Airflow Temperature (WDC) | Температура воздуха внутри корпуса жёсткого диска. Для дисков Seagate рассчитывается по формуле (100 — HDA temperature). Для дисков Western Digital — (125- HDA). | |
191 | BF | G-sense error rate | Количество ошибок, возникающих в результате ударных нагрузок. Атрибут хранит показания встроенного акселерометра, который фиксирует все удары, толчки, падения и даже неаккуратную установку диска в корпус компьютера. | |
192 | C0 | Power-off retract count | Число циклов выключений или аварийных отказов (включений/выключений питания накопителя). | |
193 | C1 | Load/Unload Cycle | Количество циклов перемещения блока магнитных головок в парковочную зону / в рабочее положение. | |
194 | C2 | HDA temperature | Здесь хранятся показания встроенного термодатчика для механической части диска — банки (HDA — Hard Disk Assembly). Информация снимается со встроенного термодатчика, которым служит одна из магнитных головок, обычно нижняя в банке. В битовых полях атрибута фиксируются текущая, минимальная и максимальная температура. Не все программы, работающие со SMART, правильно разбирают эти поля, так что к их показаниям стоит относиться критически. | |
195 | C3 | Hardware ECC Recovered | Число коррекции ошибок аппаратной частью диска (чтение, позиционирование, передача по внешнему интерфейсу). На дисках с SATA-интерфейсом значение нередко ухудшается при повышении частоты системной шины — SATA очень чувствителен к разгону. | |
196 | C4 | Reallocation Event Count | Число операций переназначения. В поле «raw value» атрибута хранится общее число попыток переноса информации с переназначенных секторов в резервную область. Учитываются как успешные, так и неуспешные попытки. | |
197 | C5 | Current Pending Sector Count | Число секторов, являющихся кандидатами на замену. Они не были ещё определены как плохие, но считывание с них отличается от чтения стабильного сектора, это так называемые подозрительные или нестабильные сектора. В случае успешного последующего прочтения сектора он исключается из числа кандидатов. В случае повторных ошибочных чтений накопитель пытается восстановить его и выполняет операцию переназначения (remaping). Рост значения этого атрибута может свидетельствовать о физической деградации жёсткого диска. |
|
198 | C6 | Uncorrectable Sector Count | Число некорректируемых (средствами диска) секторов. В случае увеличения числа ошибок велика вероятность критических дефектов поверхности и/или механики накопителя. | |
199 | C7 | UltraDMA CRC Error Count | Число ошибок, возникающих при передаче данных по внешнему интерфейсу в режиме UltraDMA (нарушения целостности пакетов и т. п.). Рост этого атрибута свидетельствует о плохом (мятом, перекрученном) кабеле и плохих контактах. Также подобные ошибки появляются при разгоне шины PCI, сбоях питания, сильных электромагнитных наводках, а иногда и по вине драйвера. Возможно причина в некачественном шлейфе. Для исправления попробуйте использовать SATA шлейф без защёлок, имеющий плотное соединение с контактами диска. |
|
200 | C8 | Write Error Rate / Multi-Zone Error Rate |
Показывает общее количество ошибок, происходящих при записи сектора. Показывает общее число ошибок записи на диск. Может служить показателем качества поверхности и механики накопителя. | |
201 | C9 | Soft read error rate | Частота появления «программных» ошибок при чтении данных с диска.
Данный параметр показывает частоту появления ошибок при операциях чтения с поверхности диска по вине программного обеспечения, а не аппаратной части накопителя. |
|
202 | CA | Data Address Mark errors | Number of Data Address Mark (DAM) errors (or) vendor-specific. | |
203 | CB | Run out cancel | Количество ошибок ECC. | |
204 | CC | Soft ECC correction | Количество ошибок ECC, скорректированных программным способом. | |
205 | CD | Thermal asperity rate (TAR) | Number of thermal asperity errors. | |
206 | CE | Flying height | Высота между головкой и поверхностью диска. | |
207 | CF | Spin high current | Величина силы тока при раскрутке диска. | |
208 | D0 | Spin buzz | Number of buzz routines to spin up the drive. | |
209 | D1 | Offline seek performance | Производительность поиска во время офлайновых операций (Drive’s seek performance during offline operations.) | |
220 | DC | Disk Shift | Дистанция смещения блока дисков относительно шпинделя. В основном возникает из-за удара или падения. Единица измерения неизвестна. При увеличении атрибута диск быстро становится неработоспособным. | |
221 | DD | G-Sense Error Rate | Число ошибок, возникших из-за внешних нагрузок и ударов. Атрибут хранит показания встроенного датчика удара. | |
222 | DE | Loaded Hours | Время, проведённое блоком магнитных головок между выгрузкой из парковочной области в рабочую область диска и загрузкой блока обратно в парковочную область. | |
223 | DF | Load/Unload Retry Count | Количество новых попыток выгрузок/загрузок блока магнитных головок в/из парковочной области после неудачной попытки. | |
224 | E0 | Load Friction | Величина силы трения блока магнитных головок при его выгрузке из парковочной области. | |
225 | E1 | Load Cycle Count | Количество циклов перемещения блока магнитных головок в парковочную область. | |
226 | E2 | Load 'In'-time | Время, за которое привод выгружает магнитные головки из парковочной области на рабочую поверхность диска. | |
227 | E3 | Torque Amplification Count | Количество попыток скомпенсировать вращающий момент. | |
228 | E4 | Power-Off Retract Cycle | Количество повторов автоматической парковки блока магнитных головок в результате выключения питания. | |
230 | E6 | GMR Head Amplitude | Амплитуда «дрожания» (расстояние повторяющегося перемещения блока магнитных головок). | |
231 | E7 | Temperature | Температура жёсткого диска. | |
240 | F0 | Head flying hours | Время позиционирования головок. | |
250 | FA | Read error retry rate | Число ошибок во время чтения жёсткого диска. |