S.M.A.R.T.

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Имя атрибутаЛучше если…Описание
0101Raw Read Error Rate
Частота ошибок при чтении данных с диска, происхождение которых обусловлено аппаратной частью диска. Для всех дисков Seagate, Samsung (семейства F1 и более новые) и Fujitsu 2,5″ это — число внутренних коррекций данных, проведённых до выдачи в интерфейс, — следовательно, на пугающе огромные цифры можно реагировать спокойно[2][3].
0202Throughput Performance
Общая производительность диска. Если значение атрибута уменьшается, то велика вероятность, что с диском есть проблемы.
0303Spin-Up Time
Время раскрутки пакета дисков из состояния покоя до рабочей скорости. Растёт при износе механики (повышенное трение в подшипнике и т. п.), также может свидетельствовать о некачественном питании (например, просадке напряжения при старте диска).
0404Start/Stop CountПолное число циклов «запуск-остановка» шпинделя. У дисков некоторых производителей (например, Seagate) — счётчик включения режима энергосбережения. В поле raw value хранится общее количество запусков/остановок диска.
0505Reallocated Sectors Count
Число операций переназначения секторов. Когда диск обнаруживает ошибку чтения/записи, он помечает сектор «переназначенным» и переносит данные в специально отведённую резервную область. Вот почему на современных жёстких дисках нельзя увидеть bad-блоки — все они спрятаны в переназначенных секторах. Этот процесс называют remapping, а переназначенный сектор — remap. Чем больше raw-значение, тем хуже состояние поверхности дисков. Поле raw value содержит общее количество переназначенных секторов. Рост raw-значения этого атрибута может свидетельствовать об ухудшении состояния поверхностей «блинов» диска.
0606Read Channel MarginЗапас канала чтения. Назначение этого атрибута не документировано. В современных накопителях не используется.
0707Seek Error Rate
Частота ошибок при позиционировании блока магнитных головок. Чем их больше, тем хуже состояние механики и/или поверхности жёсткого диска. Также на значение параметра может повлиять перегрев и внешние вибрации (например, от соседних дисков в корзине).
0808Seek Time Performance
Средняя производительность операции позиционирования магнитными головками. Если значение атрибута уменьшается (замедление позиционирования), то велика вероятность проблем с механической частью привода головок.
0909Power-on Time Count (Power-On Hours)
Число часов (минут, секунд — в зависимости от производителя), проведённых во включенном состоянии. В качестве порогового значения для него выбирается паспортное время наработки на отказ (MTBF — mean time between failure).
100ASpin-Up Retry Count
Число повторных попыток раскрутки дисков до рабочей скорости в случае, если первая попытка была неудачной. Если значение атрибута увеличивается, то велика вероятность неполадок с механической частью.
110BRecalibration Retries
Количество повторов запросов рекалибровки в случае, если первая попытка была неудачной. Если значение атрибута увеличивается, то велика вероятность проблем с механической частью.
120CDevice Power Cycle CountКоличество полных циклов включения-выключения диска.
130DSoft Read Error Rate
Число ошибок при чтении по вине программного обеспечения, которые не поддались исправлению. Все ошибки имеют немеханическую природу и указывают лишь на неправильную разметку/взаимодействие с диском программ или операционной системы.
10064Erase/Program Cycles (для SSD)Общее количество циклов стирания/программирования для всей флэш-памяти за всё время ее существования. Твердотельный накопитель имеет ограничение на количество записей в него. Точные значения (ресурс) зависят от установленных микросхем флэш-памяти.
В накопителях Kingston — объём стёртого в гигабайтах[4].
10367Translation Table Rebuild (для SSD)Количество событий, когда внутренние таблицы адресов блоков были повреждены и впоследствии восстановлены. Raw-значение этого атрибута указывает фактическое количество событий.
170AAReserved Block Count (для SSD)Состояние пула резервных блоков. Значение атрибута показывает процент оставшегося пула. Иногда raw-значение содержит фактическое количество использованных резервных блоков.
170 атрибут связан с атрибутом 5, числом использованных резервных блоков[4].
171ABProgram Fail Count (для SSD)Число попыток, когда запись во флэш-память не удалась. Raw-значение показывает фактическое количество отказов. Процесс записи технически называется «программирование флэш-памяти» — отсюда и название атрибута. Когда флэш-память изношена, она больше не может быть записана и становится доступной только для чтения.
Значение обычно идентично атрибуту 181[4].
172ACErase Fail Count (для SSD)Количество сбоев операции стирания на флэш-памяти. Raw-значение показывает фактическое количество отказов. Полный цикл записи флэш-памяти состоит из двух этапов. Сначала необходимо удалить память, а затем данные должны быть записаны («запрограммированы») в память. Когда флэш-память изношена, она больше не может быть записана и становится доступной только для чтения.
Идентичен атрибуту 182[4].
173ADWear Leveller Worst Case Erase Count (для SSD)Максимальное количество операций стирания, выполняемых для одного блока флэш-памяти.
174AEUnexpected Power Loss (для SSD)Число неожиданных отключений питания, когда питание было потеряно до получения команды на отключение диска. На жестком диске срок службы при таких отключениях намного меньше, чем при обычном отключении. На SSD существует риск потери внутренней таблицы состояний при неожиданном завершении работы.
175AFProgram Fail Count (для SSD)Число попыток, когда запись во флэш-память не удалась. Raw-значение показывает фактическое количество отказов. Процесс записи технически называется «программирование флэш-памяти», отсюда и название атрибута. Когда флэш-память изношена, она больше не может быть записана и становится доступной только для чтения.
176B0Erase Fail Count (для SSD)Количество сбоев операции стирания на флэш-памяти. Raw-значение показывает фактическое количество отказов. Полный цикл записи флэш-памяти состоит из двух этапов. Сначала необходимо удалить память, а затем данные должны быть записаны («запрограммированы») в память. Когда флэш-память изношена, она больше не может быть записана и становится доступной только для чтения.
177B1Wear Leveling Count (для SSD)
Wear Range Delta
В зависимости от производителя, максимальное количество операций стирания, выполняемых для одного блока флэш-памяти или разница между максималоьно изношенными (больше всего раз записанными) и минимально изношенными (записанными наименьшее число раз) блоками[4].
178B2Used Reserved Block Count (для SSD)Состояние пула резервных блоков. Значение атрибута показывает процент оставшегося пула. Raw-значение этого атрибута иногда содержит фактическое количество использованных резервных блоков.
179B3Used Reserved Block Count (для SSD)Состояние пула резервных блоков. Значение атрибута показывает процент оставшегося пула. Raw-значение этого атрибута иногда содержит фактическое количество использованных резервных блоков.
180B4Unused Reserved Block Count (для SSD)Состояние пула резервных блоков. Значение атрибута показывает процент оставшегося пула. Raw-значение этого атрибута иногда содержит фактическое количество неиспользованных резервных блоков.
181B5Program Fail Count (для SSD)Число попыток, когда запись во флэш-память не удалась. Raw-значение показывает фактическое количество отказов.
182B6Erase Fail Count (для SSD)Количество сбоев операции стирания на флэш-памяти. Raw-значение показывает фактическое количество отказов.
183B7SATA Downshifts (для SSD)Указывает, как часто требовалось снизить скорость передачи данных SATA (с 6 Гбит/с до 3 или 1,5 Гбит/с или с 3 Гбит/с до 1,5 Гбит/с) для успешной передачи данных. Если значение атрибута уменьшается, попробуйте заменить кабель SATA.
184B8 End-to-End error
Назначение зависит от производителя.
У HP (часть технологии HP SMART IV) увеличивается в случае, когда после передачи данных через кэш-память чётность данных между хостом и жёстким диском не совпадает.
У Kinston это количество ошибок чтения из флэш-памяти.
187BB Reported UNC Errors
Количество ошибок, которое накопитель сообщил хосту (интерфейсу компьютера) при любых операциях, обычно это ошибки данных на диске, которые не исправлены средствами ECC[4].
188BC Command Timeout
Количество прерванных операций в связи с таймаутом HDD. Обычно это значение атрибута должно быть равно нулю, и, если значение гораздо выше нуля, то, скорее всего, имеются серьёзные проблемы с питанием или окислением контактов кабелей передачи данных.
189 BD High Fly Writes
Cодержит количество зафиксированных случаев записи при высоте полета головки выше рассчитанной — скорее всего, из-за внешних воздействий: например, вибрации.
190BEAirflow Temperature (WDC)
Температура воздуха внутри корпуса жёсткого диска. Для дисков Seagate рассчитывается по формуле 100-HDA temperature. Для дисков Western Digital — 125-HDA.
191BFG-sense error rate (Mechanical Shock)
Количество ошибок, возникающих в результате ударных нагрузок. Атрибут хранит показания встроенного акселерометра, который фиксирует все удары, толчки, падения во время работы диска.
192C0Power-off retract count
Число циклов выключений или аварийных отказов (включений/выключений питания накопителя).
193C1Load/Unload Cycle
Количество циклов перемещения блока магнитных головок в парковочную зону/в рабочее положение.
194C2HDA temperature
Здесь хранятся показания встроенного термодатчика для механической части диска — «банки» (HDA — Head and Disk Assembly). Информация снимается со встроенного термодатчика, которым служит одна из магнитных головок — обычно нижняя в банке. В битовых полях атрибута фиксируются текущая, минимальная и максимальная температура. Не все программы, работающие со SMART, правильно разбирают эти поля, так что к их показаниям стоит относиться критически.
В SSD это температура внутри корпуса SSD или температура печатной платы[4].
195C3Hardware ECC Recovered или
ECC On-the-Fly Error Count
Число коррекции ошибок ECC, выполненных контроллером диска. На дисках с интерфейсом SATA значение нередко ухудшается при повышении частоты системной шины — SATA очень чувствителен к «разгону».


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

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

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

202CAData Address Mark errors
Number of Data Address Mark (DAM) errors (or) vendor-specific.
203CBRun out cancel
Количество ошибок ECC.
204CCSoft ECC correction,
Soft ECC Correction Rate
Количество ошибок ECC, скорректированных программно.
205CDThermal asperity rate (TAR)
Number of thermal asperity errors.
206CEFlying heightРасстояние между головкой чтения-записи и поверхностью диска во включенном состоянии.
207CFSpin high current
Величина силы тока при раскрутке диска.
208D0Spin buzzNumber of buzz routines to spin up the drive.
209D1Offline seek performanceПроизводительность поиска во время офлайновых операций (Drive’s seek performance during offline operations).
210 D2 Vibration During Write
Вибрация во время чтения
211 D3 Vibration During Read
Вибрация во время записи
212 D4 Shock During Write
Нанесён ли физический удар по жёсткому диску во время его работы
220DCDisk Shift
Дистанция смещения блока дисков относительно шпинделя. В основном возникает из-за удара или падения. Единица измерения неизвестна. При увеличении атрибута диск быстро становится неработоспособным.
221DDG-Sense Error Rate (Mechanical Shock)
Число ошибок, возникших из-за внешних нагрузок и ударов. Атрибут хранит показания встроенного датчика удара.
222DELoaded HoursВремя, проведённое блоком магнитных головок между выгрузкой из парковочной области в рабочую область диска и загрузкой блока обратно в парковочную область.
223DFLoad/Unload Retry CountКоличество новых попыток выгрузок/загрузок блока магнитных головок в/из парковочной области после неудачной попытки.
224E0Load Friction
Величина силы трения блока магнитных головок при его выгрузке из парковочной области.
225E1Load Cycle Count
Количество циклов перемещения блока магнитных головок в парковочную область.
226E2Load 'In'-timeВремя, за которое привод выгружает магнитные головки из парковочной области на рабочую поверхность диска.
227E3Torque Amplification Count
Количество попыток скомпенсировать вращающий момент.
228E4Power-Off Retract Cycle
Количество повторов автоматической парковки блока магнитных головок в результате выключения питания.
230E6GMR Head Amplitude,
Drive Life Protection Status
Зависит от производителя.
Амплитуда «дрожания» (расстояние повторяющегося перемещения блока магнитных головок).
У Kingston — степень использования носителя, состояние защиты его жизненного цикла[4].
231E7Temperature,
SSD Life Left
Для HDD — температура жёсткого диска.
Для SSD — остаток жизненного цикла, приблизительное число оставшихся циклов или возможного объёма записи[4].
232E8Available Reserved Space (SSD)Зависит от производителя.
Для SSD Kingston — количество оставшихся резервных служебных блоков. Исходно (в новом накопителе) равно числу Reserve Block Count. Для некоторых накопителей — значение атрибута 170, выраженное в гигабайтах[4].
234EAКоличество неисправимых ошибок ECC
235EBPower Fail Backup HealthЗависит от производителя.
У некоторых SSD показывает возможность сохранить данные из кэша в микросхемы флэш после внезапного отключения питания[4].
240F0Head flying hoursОбщее время нахождения блока головок в рабочем положении в часах.
241F1Total LBAs Written,
Lifetime Writes from Host System
У HDD — полное число записанных секторов.
У SSD Kingston — объём записанного за всё время жизни накопителя, в гигабайтах[4].
242F2Total LBAs Read,
Lifetime Reads to Host System
У HDD — полное число прочитанных секторов.
У SSD Kingston — объём прочитаного из микросхем накопителя за всё время его жизни, в гигабайтах[4].
250FARead error retry rate
Число ошибок во время чтения жёсткого диска.
254FEFree 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. 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. , Smartmontools mailing lists

Ссылки

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

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

Другое:

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.