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. производит наблюдение за основными характеристиками накопителя, каждая из которых получает оценку. Характеристики можно разбить на две группы:
Данные хранятся в шестнадцатеричном виде, называемом raw value («сырые значения»), а затем пересчитываются в value — значение, символизирующее надёжность относительно некоторого эталонного значения. Обычно value располагается в диапазоне от 0 до 100.
Высокая оценка говорит об отсутствии изменений данного параметра или медленном его ухудшении. Низкая — о возможном сбое в скором времени.
Значение, меньшее, чем минимальное, при котором производителем гарантируется безотказная работа накопителя, означает выход узла из строя.
Технология 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. выглядит следующим образом:
![]() |
Большее значение параметра лучше |
---|---|
![]() |
Меньшее значение параметра лучше |
Критический параметр — красный фон строки | Индикатор возможной скорой поломки устройства |
№ | 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 | ![]() | Число ошибок при чтении, по вине программного обеспечения, которые не поддались исправлению. Все ошибки имеют не механическую природу и указывают лишь на неправильную разметку/взаимодействие с диском программ или операционной системы. |
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 (Mechanical Shock) | ![]() | Количество ошибок, возникающих в результате ударных нагрузок. Атрибут хранит показания встроенного акселерометра, который фиксирует все удары, толчки, падения и даже неаккуратную установку диска в корпус компьютера. |
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 | ![]() | Число секторов, являющихся кандидатами на замену. Они не были ещё определены как плохие, но считывание с них отличается от чтения стабильного сектора, это так называемые подозрительные или нестабильные сектора. В случае успешного последующего прочтения сектора он исключается из числа кандидатов. В случае повторных ошибочных чтений накопитель пытается восстановить его и выполняет операцию переназначения (remapping). Рост значения этого атрибута может свидетельствовать о физической деградации жёсткого диска. |
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 (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 | Амплитуда «дрожания» (расстояние повторяющегося перемещения блока магнитных головок). | |
231 | E7 | Temperature | ![]() | Температура жёсткого диска. |
234 | EA | Количество неисправимых ошибок ECC | ![]() | |
240 | F0 | Head flying hours | Общее время нахождения блока головок в рабочем положении в часах. | |
241 | F1 | Total LBAs Written | Записей LBA | |
242 | F2 | Total LBAs Read | Чтений LBA | |
250 | FA | Read error retry rate | ![]() | Число ошибок во время чтения жёсткого диска. |
254 | FE | Free Fall Protection | Защита от падения |
Жёсткие диски с поддержкой SMART версии 2 и старше, предлагают ряд различных тестов:[4][5][6]
Журнал тестов SMART может содержать результаты только 21 последних тестов и доступен только для чтения. Иными словами, сбросить его штатными средствами невозможно. Журнал представляет собой таблицу из следующих колонок: порядковый номер теста, тип теста, результат теста, сколько процентов осталось до завершения, время жизни диска, LBA.[10]
Производители дисков:
Другое:
В этой статье не хватает ссылок на источники информации. |
Данная страница на сайте WikiSort.ru содержит текст со страницы сайта "Википедия".
Если Вы хотите её отредактировать, то можете сделать это на странице редактирования в Википедии.
Если сделанные Вами правки не будут кем-нибудь удалены, то через несколько дней они появятся на сайте WikiSort.ru .