S.M.A.R.T.

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
У этого термина существуют и другие значения, см. Smart.

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

Современные SSD накопители с SATA интерфейсом также поддерживают S.M.A.R.T. Однако широко распространённые флеш-накопители USB (прост. «флешки») обычно не поддерживают S.M.A.R.T., поскольку USB Mass Storage device class (англ.) основан на другом протоколе, SCSI, который не содержит аналогичной S.M.A.R.T. функциональности. Существует небольшое количество флеш-накопителей, сделанных на основе SATA контроллеров и переходников SATA-USB, работающих по спецификации SAT (SCSI-ATA Translation) (англ.). Некоторые из таких переходников поддерживают трансляцию данных S.M.A.R.T.

История[править | править код]

Первый жёсткий диск, обладающий системой самодиагностики, был представлен в 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.

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

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

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

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

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

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

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

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

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

Атрибуты S.M.A.R.T[править | править код]

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

Легенда
Больше
Большее значение параметра лучше
Меньше
Меньшее значение параметра лучше
Критический параметр — красный фон строки Индикатор возможной скорой поломки устройства
Hex Имя атрибута Лучше если… Описание
01 01 Raw Read Error Rate
Меньше
Частота ошибок при чтении данных с диска, происхождение которых обусловлено аппаратной частью диска. Для всех дисков Seagate, Samsung (семейства F1 и более новые) и Fujitsu 2,5″ это — число внутренних коррекций данных, проведённых до выдачи в интерфейс, — следовательно, на пугающе огромные цифры можно реагировать спокойно[2][3].
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-значение, тем хуже состояние поверхности дисков. Поле raw value содержит общее количество переназначенных секторов. Рост raw-значения этого атрибута может свидетельствовать об ухудшении состояния поверхностей «блинов» диска.
06 06 Read Channel Margin Запас канала чтения. Назначение этого атрибута не документировано. В современных накопителях не используется.
07 07 Seek Error Rate
Меньше
Частота ошибок при позиционировании блока магнитных головок. Чем их больше, тем хуже состояние механики и/или поверхности жёсткого диска. Также на значение параметра может повлиять перегрев и внешние вибрации (например, от соседних дисков в корзине).
08 08 Seek Time Performance
Больше
Средняя производительность операции позиционирования магнитными головками. Если значение атрибута уменьшается (замедление позиционирования), то велика вероятность проблем с механической частью привода головок.
09 09 Power-on Time Count (Power-On Hours)
Меньше
Число часов (минут, секунд — в зависимости от производителя), проведённых во включенном состоянии. В качестве порогового значения для него выбирается паспортное время наработки на отказ (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
Меньше
Число ошибок при чтении по вине программного обеспечения, которые не поддались исправлению. Все ошибки имеют немеханическую природу и указывают лишь на неправильную разметку/взаимодействие с диском программ или операционной системы.
100 64 Erase/Program Cycles (для SSD) Общее количество циклов стирания/программирования для всей флэш-памяти за всё время ее существования. Твердотельный накопитель имеет ограничение на количество записей в него. Точные значения (ресурс) зависят от установленных микросхем флэш-памяти.
В накопителях Kingston — объём стёртого в гигабайтах[4].
103 67 Translation Table Rebuild (для SSD) Количество событий, когда внутренние таблицы адресов блоков были повреждены и впоследствии восстановлены. Raw-значение этого атрибута указывает фактическое количество событий.
170 AA Reserved Block Count (для SSD) Состояние пула резервных блоков. Значение атрибута показывает процент оставшегося пула. Иногда raw-значение содержит фактическое количество использованных резервных блоков.
170 атрибут связан с атрибутом 5, числом использованных резервных блоков[4].
171 AB Program Fail Count (для SSD) Число попыток, когда запись во флэш-память не удалась. Raw-значение показывает фактическое количество отказов. Процесс записи технически называется «программирование флэш-памяти» — отсюда и название атрибута. Когда флэш-память изношена, она больше не может быть записана и становится доступной только для чтения.
Значение обычно идентично атрибуту 181[4].
172 AC Erase Fail Count (для SSD) Количество сбоев операции стирания на флэш-памяти. Raw-значение показывает фактическое количество отказов. Полный цикл записи флэш-памяти состоит из двух этапов. Сначала необходимо удалить память, а затем данные должны быть записаны («запрограммированы») в память. Когда флэш-память изношена, она больше не может быть записана и становится доступной только для чтения.
Идентичен атрибуту 182[4].
173 AD Wear Leveller Worst Case Erase Count (для SSD) Максимальное количество операций стирания, выполняемых для одного блока флэш-памяти.
174 AE Unexpected Power Loss (для SSD) Число неожиданных отключений питания, когда питание было потеряно до получения команды на отключение диска. На жестком диске срок службы при таких отключениях намного меньше, чем при обычном отключении. На SSD существует риск потери внутренней таблицы состояний при неожиданном завершении работы.
175 AF Program Fail Count (для SSD) Число попыток, когда запись во флэш-память не удалась. Raw-значение показывает фактическое количество отказов. Процесс записи технически называется «программирование флэш-памяти», отсюда и название атрибута. Когда флэш-память изношена, она больше не может быть записана и становится доступной только для чтения.
176 B0 Erase Fail Count (для SSD) Количество сбоев операции стирания на флэш-памяти. Raw-значение показывает фактическое количество отказов. Полный цикл записи флэш-памяти состоит из двух этапов. Сначала необходимо удалить память, а затем данные должны быть записаны («запрограммированы») в память. Когда флэш-память изношена, она больше не может быть записана и становится доступной только для чтения.
177 B1 Wear Leveling Count (для SSD)
Wear Range Delta
В зависимости от производителя, максимальное количество операций стирания, выполняемых для одного блока флэш-памяти[источник не указан 150 дней] или разница между максималоьно изношенными (больше всего раз записанными) и минимально изношенными (записанными наименьшее число раз) блоками[4].
178 B2 Used Reserved Block Count (для SSD) Состояние пула резервных блоков. Значение атрибута показывает процент оставшегося пула. Raw-значение этого атрибута иногда содержит фактическое количество использованных резервных блоков.
179 B3 Used Reserved Block Count (для SSD) Состояние пула резервных блоков. Значение атрибута показывает процент оставшегося пула. Raw-значение этого атрибута иногда содержит фактическое количество использованных резервных блоков.
180 B4 Unused Reserved Block Count (для SSD) Состояние пула резервных блоков. Значение атрибута показывает процент оставшегося пула. Raw-значение этого атрибута иногда содержит фактическое количество неиспользованных резервных блоков.
181 B5 Program Fail Count (для SSD) Число попыток, когда запись во флэш-память не удалась. Raw-значение показывает фактическое количество отказов.
182 B6 Erase Fail Count (для SSD) Количество сбоев операции стирания на флэш-памяти. Raw-значение показывает фактическое количество отказов.
183 B7 SATA Downshifts (для SSD) Указывает, как часто требовалось снизить скорость передачи данных SATA (с 6 Гбит/с до 3 или 1,5 Гбит/с или с 3 Гбит/с до 1,5 Гбит/с) для успешной передачи данных. Если значение атрибута уменьшается, попробуйте заменить кабель SATA.
184 B8 End-to-End error
Меньше
Назначение зависит от производителя.
У HP (часть технологии HP SMART IV) увеличивается в случае, когда после передачи данных через кэш-память чётность данных между хостом и жёстким диском не совпадает.
У Kinston это количество ошибок чтения из флэш-памяти.
187 BB Reported UNC Errors
Меньше
Количество ошибок, которое накопитель сообщил хосту (интерфейсу компьютера) при любых операциях, обычно это ошибки данных на диске, которые не исправлены средствами ECC[4].
188 BC Command Timeout
Меньше
Количество прерванных операций в связи с таймаутом HDD. Обычно это значение атрибута должно быть равно нулю, и, если значение гораздо выше нуля, то, скорее всего, имеются серьёзные проблемы с питанием или окислением контактов кабелей передачи данных.
189 BD High Fly Writes
Меньше
Cодержит количество зафиксированных случаев записи при высоте полета головки выше рассчитанной — скорее всего, из-за внешних воздействий: например, вибрации.
190 BE Airflow Temperature (WDC)
Меньше
Температура воздуха внутри корпуса жёсткого диска. Для дисков Seagate рассчитывается по формуле 100-HDA temperature. Для дисков Western Digital — 125-HDA.
191 BF G-sense error rate (Mechanical Shock)
Меньше
Количество ошибок, возникающих в результате ударных нагрузок. Атрибут хранит показания встроенного акселерометра, который фиксирует все удары, толчки, падения и даже неаккуратную установку диска в корпус компьютера.
192 C0 Power-off retract count
Меньше
Число циклов выключений или аварийных отказов (включений/выключений питания накопителя).
193 C1 Load/Unload Cycle
Меньше
Количество циклов перемещения блока магнитных головок в парковочную зону/в рабочее положение.
194 C2 HDA temperature
Меньше
Здесь хранятся показания встроенного термодатчика для механической части диска — «банки» (HDA — Head and Disk Assembly). Информация снимается со встроенного термодатчика, которым служит одна из магнитных головок — обычно нижняя в банке. В битовых полях атрибута фиксируются текущая, минимальная и максимальная температура. Не все программы, работающие со SMART, правильно разбирают эти поля, так что к их показаниям стоит относиться критически.
В SSD это температура внутри корпуса SSD или температура печатной платы[4].
195 C3 Hardware ECC Recovered или
ECC On-the-Fly Error Count
Меньше
Число коррекции ошибок ECC, выполненных контроллером диска. На дисках с интерфейсом SATA значение нередко ухудшается при повышении частоты системной шины — SATA очень чувствителен к «разгону».


У накоителей Kingston идентичен атрибутам 201 и 204[4].

196 C4 Reallocation Event Count
Меньше
Число операций переназначения. В поле «raw value» атрибута хранится общее число попыток переноса информации с переназначенных секторов в резервную область. Учитываются как успешные, так и неуспешные попытки.
197 C5 Current Pending Sector Count
Меньше
Число секторов, являющихся кандидатами на замену. Они ещё не были определены как плохие, но считывание с них отличается от чтения стабильного сектора — это так называемые подозрительные, или нестабильные сектора. В случае успешного последующего прочтения сектора он исключается из числа кандидатов. В случае повторных ошибочных чтений накопитель пытается восстановить его и выполняет операцию переназначения (remapping). Рост значения этого атрибута может свидетельствовать о физической деградации жёсткого диска.
198 C6 Uncorrectable Sector Count
Меньше
Число некорректируемых (средствами диска) секторов. В случае увеличения числа ошибок велика вероятность критических дефектов поверхности и/или механики накопителя.
199 C7 UltraDMA CRC Error Count,
SATA R-Errors Error Count
Меньше
Для HDD с интерфейсом UltraDMA — число ошибок, возникающих при передаче данных по внешнему интерфейсу в режиме UltraDMA (нарушения целостности пакетов и т. п.). Рост этого атрибута свидетельствует о плохом (мятом, перекрученном) кабеле и плохих контактах. Также подобные ошибки появляются при разгоне шины PCI, сбоях питания, сильных электромагнитных наводках, а иногда и по вине драйвера. Возможно, причина в некачественном шлейфе. Для исправления попробуйте использовать SATA-шлейф без защёлок, имеющий плотное соединение с контактами диска.
Для HDD с интерфесом SATA и для SSD — число ошибок при приёму и передаче данных по интерфейсу[4].
200 C8 Write Error Rate / Multi-Zone Error Rate
Меньше
Показывает общее количество ошибок, происходящих при записи сектора. Показывает общее число ошибок записи на диск. Может служить показателем качества поверхности и механики накопителя.
201 C9 Soft read error rate,
Uncorrectable Soft Read Error Rate
Меньше
Частота появления «программных» ошибок при чтении данных с диска.

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

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,
Soft ECC Correction Rate
Меньше
Количество ошибок 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 (Mechanical Shock)
Меньше
Число ошибок, возникших из-за внешних нагрузок и ударов. Атрибут хранит показания встроенного датчика удара.
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,
Drive Life Protection Status
Зависит от производителя.
Амплитуда «дрожания» (расстояние повторяющегося перемещения блока магнитных головок).
У Kingston — степень использования носителя, состояние защиты его жизненного цикла[4].
231 E7 Temperature,
SSD Life Left
Для HDD — температура жёсткого диска.
Для SSD — остаток жизненного цикла, приблизительное число оставшихся циклов или возможного объёма записи[4].
232 E8 Available Reserved Space (SSD) Зависит от производителя.
Для SSD Kingston — количество оставшихся резервных служебных блоков. Исходно (в новом накопителе) равно числу Reserve Block Count. Для некоторых накопителей — значение атрибута 170, выраженное в гигабайтах[4].
234 EA Количество неисправимых ошибок ECC
Меньше
235 EB Power Fail Backup Health Зависит от производителя.
У некоторых SSD показывает возможность сохранить данные из кэша в микросхемы флэш после внезапного отключения питания[4].
240 F0 Head flying hours Общее время нахождения блока головок в рабочем положении в часах.
241 F1 Total LBAs Written,
Lifetime Writes from Host System
У HDD — полное число записанных секторов.
У SSD Kingston — объём записанного за всё время жизни накопителя, в гигабайтах[4].
242 F2 Total LBAs Read,
Lifetime Reads to Host System
У HDD — полное число прочитанных секторов.
У SSD Kingston — объём прочитаного из микросхем накопителя за всё время его жизни, в гигабайтах[4].
250 FA Read error retry rate
Меньше
Число ошибок во время чтения жёсткого диска.
254 FE Free Fall Protection Счётчик зафиксированных событий "свободного падения".

Тесты[править | править код]

Жёсткие диски с поддержкой SMART версии 2 и старше предлагают ряд различных тестов:[5][6][7]

  • Короткий (Short)
Проверяет электрические и механические параметры, а также производительность на чтение. Тест, как правило, длится около двух минут.
  • Длинный/расширенный (Long/extended)
Тест проверяет всю поверхность диска и не имеет ограничения по времени. В среднем занимает около двух-трёх часов.
  • Тест транспортировки (Conveyance)
Быстрый тест, предназначенный для оценки состояния диска после транспортировки диска от производителя к поставщику.[8]
  • Выборочный (Selective)
Некоторые диски позволяют проверить определённую часть поверхности.[9][10]

Журнал тестов SMART может содержать результаты только 21 последних тестов и доступен только для чтения. Иными словами, сбросить его штатными средствами невозможно. Журнал представляет собой таблицу из следующих колонок: порядковый номер теста, тип теста, результат теста, сколько процентов осталось до завершения, время жизни диска, LBA.[11]

См. также[править | править код]

Примечания[править | править код]

  1. Вероятность предсказания (англ.). Get S.M.A.R.T. for Reliability. Seagate Technology Paper
  2. Оцениваем состояние жёстких дисков при помощи S.M.A.R.T.
  3. Коробанов Сергей. Smart hdd monitoring linux. Сколько жить осталось диску, и не пора ли его заменить?.... Сергей Коробанов (7 декабря 2007). Дата обращения: 3 сентября 2013. Архивировано 10 декабря 2007 года.
  4. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Kingston, 2015.
  5. self-tests: "SMART RUN/ABORT OFFLINE TEST AND SELF-TEST OPTIONS: -t TEST, --test=TEST", SMARTCTL, <http://smartmontools.sourceforge.net/man/smartctl.8.html>. Проверено 21 декабря 2015.  Архивная копия от 15 июля 2009 на Wayback Machine
  6. HDDScan, <http://hddscan.com/>  — free HDD test utility with USB flash and RAID support.
  7. Evans, Mark (26 April 1999), Hard Drive Self-tests, Milpitas, CA US: T10, <http://www.t10.org/ftp/t10/document.99/99-179r0.pdf> 
  8. Bulik, Darrin (Sep 24, 2001), Proposal for Extensions To Drive Self Test, Lake Forest, CA: T10, <http://www.t10.org/t13/technical/e01137r0.pdf>. Проверено 21 декабря 2015.  Архивная копия от 28 сентября 2011 на Wayback Machine
  9. McLean, Pete (23 October 2001), Proposal for a Selective Self-test, Longmont, CO: T10, <http://www.t10.org/t13/technical/e01139r0.pdf>. Проверено 21 декабря 2015.  Архивная копия от 28 сентября 2011 на Wayback Machine
  10. HDD fails S.M.A.R.T. short test, but passes long test? (недоступная ссылка). Hardware Canucks. Дата обращения: 15 января 2013. Архивировано 2 января 2013 года.
  11. [1], Smartmontools mailing lists

Ссылки[править | править код]

Производители накопителей:

  • Western Digital: Diagnostic Error Codes // Service and support : [арх. 27 апреля 2008]. — Western Digital, 2005.
  • Kingston: SMART Attribute Details. — Technology Corporation, 2015.

Другое: