Восстановление данных Москва С.-Петербург Новосибирск Другие города » Все города »
Звоните нам в Москве:  +7 495 230−1000

Технология SMART

1. Технология S.M.A.R.T
    1.1. Общее описание
    1.2. Развитие технологии S.M.A.R.T.
1.3. Атрибуты (attribute)
    1.3.1. Значения атрибутов (attribute values)
    1.3.2. Пороговые значения атрибутов (attribute thresholds)
    1.3.3. Краткое описание основных атрибутов
    1.3.4. Типы атрибутов
1.4. Автономное сканирование поверхности (off-line read scanning)
1.5. Журналы ошибок (error log)
    1.5.1. Log Directory
    1.5.2. Summary Error Log
    1.5.3. Comprehensive Error Log
    1.5.4. Extended Comprehensive Error Log
    1.5.5. Self-test Log
    1.5.6. Extended Self-test Log
    1.5.7. Streaming Performance Log
    1.5.8. Write Stream Error Log
    1.5.9. Read Stream Error Log
    1.5.10. Delayed LBA Sector Log
    1.5.11. ECC Uncorrectable Sector Log
    1.5.12. Reassigned Sector Log
    1.5.13. Drive Activity Log
    1.5.14. Drive Time Buffer Log
    1.5.15. Host Vendor Specific Log
    1.5.16. Device Vendor Specific Log
1.6. Встроенные функции самоконтроля (self-test)
    1.6.1. Методы тестирования
    1.6.2. Разновидности тестов S.M.A.R.T.

 

Эту статью не следует рассматривать как руководство пользователя или документацию для программистов.

Цель проделанной мною работы - попытаться разьяснить в приличной, доступной, а главное - рускоязычной форме, все особенности данной технологии. Естесственно, охватить ПОЛНОСТЬЮ все возможности технологии S.M.A.R.T. просто не возможно по причине ужасающего факта отсутствия какой-либо документации и нежелания подавляющего числа производителей жестких дисков предоставить необходимую информацию или вести какие-либо переговоры.

Текст статьи постоянно обновляется, поэтому на возможные неточности и грамматические ошибки прошу не обращать внимания. Но если Вы заметите явную ошибку или "ужасающую" :) неточность - пожалуйста, напишите мне об этом.

Я с удовольствием приму любые комментарии по тексту, а также Ваши пожелания и дополнения.

1.1. Общее описание.

Технология S.M.A.R.T. - Self-Monitoring, Analysis and Reporting Technology (от англ. "Технология Самодиагностики, Анализа и Отчета") - была разработана для повышения надежности и сохранности данных на жестких дисках. В большинстве случаев, SMART-совместимые устройства позволяют предсказать появление наиболее вероятных ошибок и, тем самым, дают пользователю возможность своевременно сделать резервную копию данных и/или полностью заменить накопитель до выхода его из строя.

S.M.A.R.T. представляет собой набор мини-подпрограмм, которые являются частью микрокода накопителя и определяют поддерживаемые диагностические функции. Наиболее распространенные среди них:

  • набор атрибутов, отражающих состояние отдельных параметров накопителя (до 30)
  • внутренние тесты накопителя (self-test)
  • журналы S.M.A.R.T. (ошибок, общего состояния, дефектных секторов и т.п.)
В настоящий момент не существует официальной документации или стандарта на технологию S.M.A.R.T. В связи с этим, производители не публикуют полные характеристики и поддерживаемые функции S.M.A.R.T. в своих накопителях. Обязательный минимум описан в последнем стандарте ATA/ATAPI-6.

1.2. Развитие технологии S.M.A.R.T.

История технологии S.M.A.R.T. не так уж и богата подробностями:

  • SMART I предусматривал мониторинг основных жизненно важных параметров и запускался только после команды по интерфейсу
  • в SMART II появилась возможность фоновой проверки поверхности, которая выполнялась накопителем автоматически во время "холостого хода"; появилась функция журналирования ошибок
  • в SMART III впервые появилась не только функция обнаружения дефектов поверхности, но и возможность их восстановления "прозрачно" для пользователя и многие другие новшества

Известно, что первыми разработали основы и предложили эту технологию совместно Western Digital, Seagate и Quantum. После этого их уже поддержали такие компании как IBM, Maxtor и Samsung. Hitachi приняла участие в развитии технологии S.M.A.R.T. уже на стадии разработки SMART II, первыми предложив методику полной самодиагностики накопителя (extended self-test).

В настоящее время производители жестких дисков готовятся принять к использованию новый вариант технологии S.M.A.R.T. - "1024 S.M.A.R.T.", характерной особенностью которого будет заметно бОльший размер журналов, повсеместное использование мультисекторных журналов, более точные алгоритмы анализа показаний встроенных в накопитель сенсоров (термодатчики, сенсоры ударов, и т.п.) и многое другое. Вот несколько новых функций:

  • введение алгоритма анализа температурного режима накопителя
  • введение ограничения по минимальной и максимальной температуре в рабочем состоянии
  • введение счетчика общего количества записанных секторов на протяжении жизненного цикла накопителя
  • введение счетчика запусков внутренних алгоритмов восстановления (recovery counters)
Главным же плюсом можно считать введение новых атрибутов, которые позволят контролировать состояние и рабочие характеристики по каждой из головок чтения/записи:
  • относительная устойчивость (стабильность "полета") головки
  • исправление ошибок чтения (со "скрытыми" повторными попытками)
  • автоматическое перераспределение дефектных участков поверхности при операциях записи
  • счетчик-накопитель G-List для учета количества принятых ударных нагрузок
  • счетчик-накопитель S-List для учета общего количества "программных" ошибок

Атрибуты.

Атрибуты S.M.A.R.T. - особые характеристики, которые используются при анализе состояния и запаса производительности накопителя. Атрибуты выбираются производителем накопителя, основываясь на способности этих атрибутов предсказывать ухудшение рабочих характеристик накопителя или определить его дефектность. Каждый производитель имеет свой характерный набор атрибутов и может свободно вносить изменения в этот набор в соответствиии со своими собственными требованиями и без уведомления об этом фирм-продавцов и конечных пользователей.

1.3.1. Значения атрибутов.
Значения атрибутов (value) используются для представления относительной надежности отдельного эксплуатационного или эталонного атрибута. Допустимое значение атрибута лежит в диапазоне от 1 до 255. Высокое значение атрибута говорит о том, что результат анализа данной рабочей характеристики указывает на низкую вероятность ее ухудшения или выхода накопителя из строя. Соответственно, низкое значение атрибута говорит о том, что результат анализа данной рабочей характеристики указывает на высокую вероятность ее ухудшения или выхода накопителя из строя.

1.3.2. Пороговые значения атрибутов.
Каждый атрибут имеет собственное пороговое значение (threshold), которое используется для сравнения со значением атрибута (value) и указывает на ухудшение рабочих характеристик или дефектность накопителя. Числовое значение порогового атрибута определяется производителем накопителя через конструкционные особенности накопителя и анализ результатов испытаний на надежность. Пороговое значение каждого атрибута указывает на нижнюю допустимую границу значения атрибута, вплоть до которой сохраняется положительный статус надежности.

Пороговые значения устанавливаются в заводских условиях производителем накопителя и, в большинстве случаев, могут быть изменены только после переключения накопителя в технологический (factory mode). Допустимое пороговое значение атрибута может находится в диапазоне от 1 до 255.

Если значение одного или более атрибутов, имеющих тип pre-failure (в HDD Speed отмечаются символом "*"), меньше или равно соответствующего порогового значения, то это свидетельствует о предстоящем ухудшении рабочих характеристик и/или полном выходе накопителя из строя.

1.3.3. Краткое описание основных атрибутов.
Данный перечень атрибутов является наиболее полным из доступных на сегодняшний момент в Сети или иных источниках. Назначение атрибутов и способ интерпретации их значений выявлены либо опытным путем, либо получены от служб технической поддержки компаний-производителей накопителей.

Ниже приведена сводная таблица всех известных мне атрибутов (55) и краткое описание к большинству (38) из них.

ID Название атрибута
0    = атрибут не используется
1   Raw Read Error Rate
2   Throughput Performance
3   Spin Up Time
4   Start/Stop Count
5   Reallocated Sector Count
6   Read Channel Margin
7   Seek Error Rate
8   Seek Time Performance
9   Power-On Hours Count
10   Spin Retry Count
11   Recalibration Retries
12   Device Power Cycle Count
13   Soft Read Error Rate
??   Emergency Re-track (Hitachi)
??   ECC On-The-Fly Count (Hitachi)
96   ? (Maxtor)
97   ? (Maxtor)
98   ? (Maxtor)
99   ? (Maxtor)
100   ? (Maxtor)
101   ? (Maxtor)
191   G-Sense Error Rate
192   Power-Off Retract Cycle
193   Load/Unload Cycle Count
194   Temperature
195   ? (Quantum AS, Seagate, Maxtor)
196   Reallocation Events Count
197   Current Pending Sector Count
198   Uncorrectable Sector Count
199   UltraDMA CRC Error Rate
200   Write Error Rate (в WD - MultiZone Error Rate)
201   TA Counter Detected
202   TA Counter Increased
203   ? (Maxtor)
204   ? (Maxtor)
205   ? (Maxtor)
206   ? (Maxtor)
207   ? (Maxtor)
208   ? (Maxtor)
209   ? (Maxtor)
220   Disk Shift
221   G-Sense Error Rate (в Hitachi - Shock Sense Error Rate)
222   Loaded Hours
223   Load/Unload Retry Count
224   Load Friction
225   Load/Unload Cycle Count
226   Load-in Time
227   Torque Amplification Count
228   Power-Off Retract Count
229   ? (IBM DTTA, thanx to Vladislav Shaklein)
230   GMR Head Amplitude
231   Temperature
240   Head Flying Hours (Hitachi)
250   Read Error Retry Rate


Краткое описание известных атрибутов.
  • * (используется в программе HDD Speed)
    Данный указатель показывает, что соответствующий атрибут S.M.A.R.T. является критическим для нормального функционирования накопителя. Ухудшение значений таких атрибутов с наибольшей вероятностью приводит к выходу накопителя из строя. В новых материнских платах BIOS имеют встроенную функцию контроля состояния накопителя именно по этим атрибутам.
  • Raw Read Error Rate
    Частота появления ошибок при чтении данных с диска.
    Данный параметр показывает частоту появления ошибок при операциях чтения с поверхности диска по вине аппаратной части накопителя.
  • Throughput Performance
    Средняя производительность (пропускная способность) диска.
    Уменьшение значения value этого атрибута с большой вероятностью указывает на проблемы в накопителе.
  • Spin Up Time
    Время раскрутки шпинделя.
    Среднее время раскрутки шпинделя диска от 0 RPM до рабочей скорости. Предположительно, в поле raw value содержится время в миллисекундах/секундах.
  • Start/Stop Count
    Количество циклов запуск/останов шпинделя.
    Поле raw value хранит общее количество включений/выключений диска.
  • Reallocated Sectors Count
    Количество переназначенных секторов.
    Когда жесткий диск встречает ошибку чтения/записи/верификации он пытается переместить данные из него в специальную резервную область (spare area) и, в случае успеха, помечает сектор как "переназначенный". Также, этот процесс называют remapping, а переназначенный сектор - remap. Благодаря этой возможности, на современных жестких дисках очень редко видны [при тестировании поверхности] так называемые bad block. Однако, при большом количестве ремапов, на графике чтения с поверхности будут заметны "провалы" - резкое падение скорости чтения (до 10% и более).
    Поле raw value содержит общее количество переназначенных секторов.
  • Read Channel Margin
    Запас канала чтения.
    Назначение этого атрибута не документировано и в современных накопителях он не используется.
  • Seek Error Rate
    Частота появления ошибок позиционирования БМГ.
    В случае сбоя в механической системе позиционирования, повреждения сервометок (servo), сильного термического расширения дисков и т.п. возникают ошибки позиционирования. Чем их больше, тем хуже состояние механики и/или поверхности жесткого диска.
  • Seek Time Performance
    Средняя производительность операций позиционирования БМГ.
    Данный параметр показывает среднюю скорость позиционирования привода БМГ на указанный сектор. Снижение значения этого атрибута говорит о неполадках в механике привода.
  • Power-On Hours
    Количество отработанных часов во включенном состоянии.
    Поле raw value этого атрибута показывает количество часов (минут, секунд - в зависимости от производителя), отработанных жестким диском. Снижение значения (value) атрибута до критического уровня (threshold) указывает на выработку диском ресурса (MTBF - Mean Time Between Failures). На практике, даже падение этого атрибута до нулевого значения не всегда указывает на реальное исчерпывание ресурса и накопитель может продолжать нормально функционировать.
  • Spin Retry Count
    Количество повторов попыток старта шпинделя диска.
    Данный атрибут фиксирует общее количество попыток раскрутки шпинделя и его выхода на рабочую скорость, при условии, что первая попытка была неудачной. Снижение значения этого атрибута говорит о неполадках в механике привода.
  • Recalibration Retries
    Количество повторов попыток рекалибровки накопителя.
    Данный атрибут фиксирует общее количество попыток сброса состояния накопителя и установки головок на нулевую дорожку, при условии, что первая попытка была неудачной. Снижение значения этого атрибута говорит о неполадках в механике привода.
  • Device Power Cycle Count
    Количество полных циклов запуска/останова жесткого диска.
  • Soft Read Error Rate
    Частота появления "программных" ошибок при чтении данных с диска.
    Данный параметр показывает частоту появления ошибок при операциях чтения с поверхности диска по вине программного обеспечения, а не аппаратной части накопителя.
  • Emergency Re-track
  • ECC On-The-Fly Count
  • Load/Unload Cycle Count
    Количество циклов вывода БМГ в специальную парковочную зону/в рабочее положение.
    Подробнее - см. описание технологии Head Load/Unload Technology.
  • Temperature
    Температура.
    Данный параметр отражает в поле raw value показание встроенного температурного сенсора в градусах Цельсия.
  • Reallocation Event Count
    Количество операций переназначения (ремаппинга).
    Поле raw value этого атрибута показывает общее количество попыток переназначения сбойных секторов в резервную область, предпринятых накопителем. При этом, учитываются как успешные, так и неудачные операции.
  • Current Pending Sector Count
    Текущее количество нестабильных секторов.
    Поле raw value этого атрибута показывает общее количество секторов, которые накопитель в данный момент считает претендентами на переназначение в резервную область (remap). Если в дальнейшем какой-то из этих секторов будет прочитан успешно, то он исключается из списка претендентов. Если же чтение сектора будет сопровождаться ошибками, то накопитель попытается восстановить данные и перенести их в резервную область, а сам сектор пометить как переназначенный (remapped). Постоянно ненулевое значение raw value этого атрибута говорит о низком качестве (отдельной зоны) поверхности диска.
  • Uncorrectable Sector Count
    Количество нескорректированных ошибок.
    Атрибут показывает общее количество ошибок, возникших при чтении/записи сектора и которые не удалось скорректировать. Рост значения в поле raw value этого атрибута указывает на явные дефекты поверхности и/или проблемы в работе механики накопителя.
  • UltraDMA CRC Error Count
    Общее количество ошибок CRC в режиме UltraDMA.
    Поле raw value содержит количество ошибок, возникших в режиме передачи данных UltraDMA в контрольной сумме (ICRC - Interface CRC).
    Примечание автора. Практика, собранная статистика и изучение журналов ошибок SMART показывают: в большинстве случаев ошибки CRC возникают при сильном завышении частоты PCI (больше номинальных 33.6 MHz), сильно перекрученом кабеле, а также - по вине драйверов ОС, которые не соблюдают требований к передачи/приему данных в режимах UltraDMA.
  • Write Error Rate (Multi Zone Error Rate)
    Частота появления ошибок при записи данных.
    Показывает общее количество ошибок, обнаруженных во время записи сектора. Чем больше значение в поле raw value (и ниже значение value), тем хуже состояние поверхности диска и/или механики привода.
  • Disk Shift
    Сдвиг пакета дисков относительно оси шпинделя.
    Актуальное значение атрибута содержится в поле raw value. Единицы измерения - не известны.
    Подробности - см. в описании технологии G-Force Protection.
    Примечание. Сдвиг пакета дисков возможен в результате сильной ударной нагрузки на накопитель в результате его падения или по иным причинам.
  • G-Sense Error Rate
    Частота появления ошибок в результате ударных нагрузок.
    Данный атрибут хранит показания ударочувствительного сенсора - общее количество ошибок, возникших в результате полученных накопителем внешних ударных нагрузок (при падении, неправильной установке, и т.п.).
    Подробнее - см. описание технологии G-Force Protection.
  • Loaded Hours
    Нагрузка на привод БМГ, вызванная общей наработкой часов накопителем.
    Учитывается только период, в течении которого головки находились в рабочем положении.
  • Load/Unload Retry Count
    Нагрузка на привод БМГ, вызванная многочисленными повторениями операций чтения, записи, позиционирования головок и т.п. Учитывается только период, в течении которого головки находились в рабочем положении.
  • Load Friction
    Нагрузка на привод БМГ, вызванная трением в механических частях накопителя.
    Учитывается только период, в течении которого головки находились в рабочем положении.
  • Load/Unload Cycle Count
    Общее количество циклов нагрузки на привод БМГ.
    Учитывается только период, в течении которого головки находились в рабочем положении.
  • Load-in Time
    Общее время нагрузки на привод БМГ.
    Предположительно, данный атрибут показывает общее время работы накопителя под нагрузкой, при условии, что головки находятся в рабочем состоянии (вне парковочной зоны).
  • Torque Amplification Count
    Количество усилий вращающего момента привода.
  • Power-Off Retract Count
    Количество зафиксированных повторов в(ы)ключения питания накопителя.
  • GMR Head Amplitude
    Амплитуда дрожания головок (GMR-head) в рабочем состоянии.
  • Head Flying Hours
  • Read Error Retry Rate

1.3.4. Типы атрибутов.
Каждый атрибут может иметь некоторый набор флагов, определяющих его функциональные особенности. Ниже приводятся все шесть основных типов и их краткие описания.

  • Pre-failure (PF). Если атрибут имеет этот тип, то поле threshold атрибута содержит минимально допустимое значение атрибута, ниже которого не гарантируется работоспособность накопителя и резко увеличивается вероятность его выхода из строя.
  • On-line collection (OC). Указывает, что значение данного атрибута обновляется (вычисляется) во время выполнения on-line тестов S.M.A.R.T. или же во время обоих видов тестов (on-line/off-line). В противном случае, значение атрибута обновляется только при выполнении off-line тестов.
  • Performance related (PR). Указывает на то, что значение этого атрибута напрямую зависит от производительности накопителя по отдельным показателям (seek/throughput/etc. performance). Обычно обновляется после выполнения self-test`ов SMART.
  • Error rate (ER). Указывает на то, что значение атрибута отражает относительную частоту ошибок по данному параметру (raw read/write, seek, etc.).
  • Events count (EC). Указывает на то, что атрибут является счетчиком событий.
  • Self-preserve (SP). Указывает на то, что значение атрибута обновляется и сохраняется автоматически (обычно при каждом старте накопителя и при выполнении тестов SMART).

Автономное сканирование поверхности (off-line read scanning)

Большинство накопителей обеспечивают поддержку автономного сканирования поверхности, которое является одной из функций подпрограммы автономного сбора данных о состоянии накопителя (off-line data collection). При выполнении этой функции, накопитель выполняет полное сканирование поверхности путем чтения каждого сектора и замещением ненадежных секторов на запасные сектора из резервной области (spare area) для предотвращения потери пользовательских данных.

Примечание. Если во время выполнения сканирования накопитель получает команду по интерфейсу, то процесс сканирования прерывается и накопитель приступает к обработке поступившей команды. При этом гарантируется максимальное время реагирования на поступившую команду - до 2 секунд.

Журналы ошибок (SMART error log)

В большинстве современных накопителей реализованна функция журналирования появляющихся в течении работы накопителя ошибок или иных событий. В основном, накопители предоставляют информацию о пяти последних ошибках. При этом сохраняются последние 5 поступивших в накопитель команд, предшествующих возникновению этой ошибки, и другая необходимая информация.Накопитель может также поддерживать дополнительные журналы. Их структура, размер и назначение устанавливаются фирмой-производителем. При обновлении микропрограммы накопителя, все журналы накопителя очищаются, а общее количество ошибок устанавливается в значение 0.

Примечание: в журналах сохраняется время по внутренним часам накопителя, т.е. либо общее отработанное время на данный момент, либо время от момента последнего включения накопителя.

1.5.1. Log Directory
    Тип: Каталог журналов S.M.A.R.T.
    Вид доступа: только чтение (RO)
    Размер: 1 сектор (512 байт)
    Примечание: поддержка мультисекторных журналов

Данный журнал представляет собой своего рода каталог, в котором указаны адреса всех поддерживаемых журналов S.M.A.R.T. и их размер в секторах. Максимальное количество журналов - 255.

1.5.2. Summary Error Log
    Тип: Суммарный журнал ошибок
    Вид доступа: только чтение (RO)
    Размер: 1 сектор (512 байт)
    Примечание: поддерживается только 28-битная адресация секторов (28-bit LBA)

Данный журнал содержит информацию об общем количестве ошибок, зафиксированных накопителем с момента первого включения (или обновления микропрограммы) и подробные записи о последних 5 ошибках. Для каждой из 5 зафиксированных ошибок сохраняются последние 5 поступивших в накопитель команд. В этом журнале сохраняются все ошибки UNC, IDNF, ошибки сервосистемы, записи/чтения и т.д. При этом, для каждой команды сохраняется значения всех регистров, время и текущее состояние накопителя на момент подачи самой команды. Ошибки, вызванные подачей неподдерживаемых команд или командами с ошибочными параментами не фиксируются в журнале. Если накопитель поддерживает Comprehensive Error Log, то журнал Summary Error Log дублирует последние пять записей из журнала Comprehensive Error Log.

1.5.3. Comprehensive Error Log
    Тип: Комплексный журнал ошибок [SMART Error Logging]
    Вид доступа: только чтение (RO)
    Размер: 1..51 сектор (максимум 26,112 байт)
    Примечание: поддерживается только 28-битная адресация секторов (28-bit LBA)

Данный журнал содержит подробную информацию о общем количестве ошибок, зафиксированных накопителем с момента первого включения (или обновления микропрограммы) и подробные записи о последних ошибках. Максимальное количество сохраняемых ошибок - 255. Для каждой зафиксированной ошибки сохраняются последние 5 поступивших в накопитель команд. В этом журнале сохраняются все ошибки UNC, IDNF, ошибки сервосистемы, записи/чтения и т.д. При этом, для каждой команды сохраняется значения всех регистров, время и текущее состояние накопителя на момент подачи самой команды. Ошибки, вызванные подачей неподдерживаемых команд или командами с ошибочными параментами не фиксируются в журнале.

1.5.4. Extended Comprehensive Error Log
    Тип: Расширенный комплексный журнал ошибок [SMART Error Logging]
    Вид доступа: только чтение (RO)
    Размер: 1..65,536 секторов (максимум 32 Мбайт)
    Примечание: поддерживается 28/48-битная адресация секторов

Назначение данного журнала аналогично журналу Comprehensive Error Log и содержит в себе копию его записей, однако этот журнал имеет иную структуру, которая позволяет реализовать поддержку как 28-битной, так и 48-битной адресации секторов. Максимальное количество сохраняемых ошибок - 327,680.

1.5.5. Self-test Log
    Тип: Журнал результатов самоконтроля [SMART self-test]
    Вид доступа: только чтение (RO)
    Размер: 1 сектор (512 байт)
    Примечание: поддерживается только 28-битная адресация секторов (28-bit LBA)

Данный журнал содержит информацию о результатах выполнения команд внутренней самодиагностики накопителя. Журнал может хранить до 21 записи. При превышении этого количества, журнал начинает заполняться заново, перезаписывая 1-ю запись 22-й, 2-ю - 23-ей и так далее. В каждой записи журнала сохраняется регистр с номером теста, код статуса выполнения теста, время на момент запуска/прерывания теста, номер текущей контрольной точки (или точки останова) теста, а также LBA-адрес сектора, на котором произошло прерывание/отмена теста.

1.5.6. Extended Self-test Log
    Тип: Расширенный журнал результатов самоконтроля [SMART self-test]
    Вид доступа: только чтение (RO)
    Размер: 1..65,536 секторов (максимум 32 Мбайт)
    Примечание: поддерживается 28/48-битная адресация секторов

Назначение данного журнала аналогично журналу Self-test Log и содержит в себе копию его записей, однако этот журнал имеет иную структуру, которая позволяет реализовать поддержку как 28-битной, так и 48-битной адресации секторов. Максимальное количество записей - 1,179,648.

1.5.7. Streaming Performance Log
    Тип: Журнал параметров производительности потоков [Streaming]
    Вид доступа: только чтение (RO)
    Размер: 1..65,536 секторов (максимум 32 Мбайт)

Данный журнал содержит информацию о переданных накопителю параметров командами управления режимом Automatic Acoustic Management и Typical Host Interface Sector Time (подробнее - см. ATA/ATAPI-6 rev 1e). В журнале сохраняется набор параметров, по которым производится настройка накопителя и перевод в его в режим, когда все операции чтения/записи возможны только специальными командами и передача данных происходит в виде непрерывного потока, для которого гарантированны и учитываются все временные интервалы (на обработку команды, чтение и передачу данных; минимальные/максимальные задержки, время доступа, позиционирования и т.п.). Подробнее о назначении данного вида журналов можно узнать из описания технологии Audio/Video (AV) Streaming Feature.

1.5.8. Write Stream Error Log
    Тип: Журнал ошибок потоковой записи [Streaming]
    Вид доступа: только чтение (RO)
    Размер: 1 сектор (512 байт)
    Примечание: поддерживается 48-битная адресация секторов

Данный журнал содержит информацию о возникших ошибках записи в период работы накопителя в потоковом режиме (streaming mode). В этом журнале сохраняется общее количество подобных ошибок, номер последней ошибки, предыдущее и текущее значения регистров состояния и ошибки, количество и LBA-номер сектора, на котором данная ошибка была зафиксирована. После чтения данного журнала, накопитель сбрасывает счетчик общего количества ошибок и очищает журнал. Содержимое журнала сохраняется только во время работы и очищается в момент следующего включения/выключения накопителя или при поступлении сигнала аппаратного сброса (hardware reset). Максимальное количество сохраняемых ошибок - 31.

1.5.9. Read Stream Error Log
    Тип: Журнал ошибок потокового чтения [Streaming]
    Вид доступа: только чтение (RO)
    Размер: 1 сектор (512 байт)
    Примечание: поддерживается 48-битная адресация секторов

Данный журнал содержит информацию о возникших ошибках чтения в период работы накопителя в потоковом режиме (streaming mode). В этом журнале сохраняется общее количество подобных ошибок, номер последней ошибки, предыдущее и текущее значения регистров состояния и ошибки; количество и LBA-номер сектора, на котором данная ошибка была зафиксирована. После чтения данного журнала, накопитель сбрасывает счетчик общего количества ошибок и очищает журнал. Содержимое журнала сохраняется только во время работы и очищается в момент следующего включения/выключения накопителя или при поступлении сигнала аппаратного сброса (hardware reset). Максимальное количество сохраняемых ошибок - 31.

1.5.10. Delayed LBA Sector Log
    Тип: Vendor Specified [General Purpose Logging]
    Вид доступа: только чтение (RO)
    Размер: устанавливается производителем (VS)
    Примечание: поддерживается 48-битная адресация секторов

Данный журнал содержит LBA-адреса всех секторов, которые были перемещены со своего нормального физического расположения, а также адреса границ недоступной последовательности секторов. Таким образом ведется журнал всех дефектных или нестабильных секторов. Максимальный размер журнала устанавливается производителем. Новое физическое расположение, метод и время доступа к замещенным секторам также устанавливается производителем и не документируется. Запись в данный журнал может быть добавлена в любой момент времени, при условии активности (питания) самого накопителя. Для процесса обновления журнала устанавливается наивысший приоритет и выполнение всех других команд приостанавливается. При этом удалить существующую запись из журнала не возможно. Содержимое журнала сохраняется при циклах включения/выключения накопителя и при поступлении сигнала аппаратного сброса (hardware reset).

1.5.11. ECC Uncorrectable Sector Log
    Тип: Журнал неисправимых ошибок ECC [SMART Recovering]
    Вид доступа: только чтение (RO)
    Размер: 1 сектор (512 байт)
    Примечание: поддерживается только 28-битная адресация секторов (28-bit LBA)

    Данный журнал содержит список LBA-адресов секторов, на которых была зафиксирована и проигнорирована некорректируемая ошибка ECC при выполнении операции READ CONTINUOUS (см. AV feature). При этом, выполнение процедуры автоматического переназначения сбойного сектора (ADR - Automatic Defects Reassigment) накопителем заблокировано. Журнал может содержать до 126 записей.

Примечание. Данный журнал доступен для чтения только при разрешенной операции READ CONTINUOUS. В противном случае накопитель возвратит код ошибки ERR->ABRT, прервет выполнение команды или возвратит пустой журнал. После успешного чтения журнала, в самом накопителе он будет очищен.

1.5.12. Reassigned Sector Log
    [under construction]

1.5.13. Drive Activity Log
    [under construction]

1.5.14. Drive Time Buffer Log
    [under construction]

1.5.15. Host Vendor Specific Log
    Тип: Пользовательские журналы
    Вид доступа: чтение/запись (R/W)
    Размер: максимум 31 журнал по 16 секторов (253,952 байт)
    Примечание: содержание и формат журнала - любое, на усмотрение пользователя

Этот вид журнала может быть использован для хранения произвольных пользовательских данных. Для записи этого журнала используется команда WRITE SMART LOG. Если данный журнал ни разу не был записан, то при чтении накопитель возвратит пустой журнал, заполненный нулями.

1.5.16. Device Vendor Specific Log
    Тип: Технические журналы изготовителя
    Вид доступа: не определен, на усмотрение производителя (VS)
    Размер: максимум 31 журнал по 16 секторов (253,952 байт)
    Примечание: содержание, формат и размеры журнала - на усмотрение производителя

Этот вид журнала предназначен для внутреннего использования фирменными утилитами производителя, для хранения результатов работы встроенных подпрограмм анализа и диагностики состояния накопителя и т.п. Возможность чтения/записи этого вида журнала устанавливается производителем и не не документируется.

Примечание. Новые накопители Seagate (модели Ux и Barracuda ATA) поддерживают и даже реально используют еще три вида журналов SMART, однако их назначение и описание пока не известны.

Встроенные функции самоконтроля (self-test)

Практически с момента появления стандарта S.M.A.R.T. II, в большинстве накопителей появилась новая функция - внутренняя диагностика и самоконтроль, для углубленного контроля состояния механики накопителя, поверхности дисков и т.п. Для запуска этой функции, в набор команд S.M.A.R.T. была введена новая команда - SMART EXECUTE OFF-LINE IMMEDIATE. Результат работы сохраняется либо в специализированных атрибутах, либо отдельным параметром среди других данных в атрибутах. Если накопитель поддерживает журналы S.M.A.R.T., то результат выполнения тестов сохраняется также в журнале Self-test Log. После выполнения теста, накопитель в обязательном порядке обновляет показания во всех атрибутах и других параметрах. Если во время выполнения внутреннего теста накопитель получит по интерфейсу новую команду, то выполнение теста прерывается и накопитель приступает к обработке поступившей команды.

1.6.1. Методы тестирования
Существует два способа запуска тестов S.M.A.R.T.: автономный (off-line) или монопольный (captive). Результат теста всегда сохраняется накопителем в данных S.M.A.R.T. При автономном запуске накопитель сообщает о успешном завершении команды ДО ее ФАКТИЧЕСКОГО исполнения и только после этого выполняет тест. При этом, по интерфейсу флаг ЗАНЯТО (BSY) не выставляется и накопитель в любой момент готов приступить к выполнению очередной интерфейсной команды, приостанавливая работу теста. Фактически, тест выполняется в фоновом режиме. При запуске теста в монопольном режиме, по интерфейсу выставляется флаг ЗАНЯТО (BSY) и накопитель начинает непосредственное выполнение теста в режиме реального времени. Любая интерфейсная команда во время выполнения этого теста приведет к его прерыванию и остановке, после чего накопитель приступит к обработке поступившей команды.

1.6.2. Разновидности тестов S.M.A.R.T.
 Официально документированы три вида внутренних тестов, однако еще существует набор так называемых "активных" тестов, функциональные особенности которых различны у разных производителей и для широкой публики не документированы.

Название теста
off-line captive
1   Off-line collection + -
2   Short Self-test + +
3   Extended Self-test + +
4   Drive Activity test #1..#4 + +

Время тестирования может варьироваться от 1 секунды (Quantum) до 54 минут (Fujitsu MPG3409AT). Поддержка первого теста наиболее вероятна даже в очень старых накопителях 4-5 летней давности. Второй и третий тесты появились относительно недавно, как дань внедренным сложным технологическим решениям - для полного контроля состояния накопителя пришлось реализовывать более глубокие и точные тесты. Поддержка 4-х "активных" тестов (см. таблицу, п.4) официально не документированна.

Реальный набор выполняемых тестами функций можно рассмотреть на примере тестов, поддерживаемых жесткими дисками Hitachi:

Функция теста Short Self test Extended Self test Off-line Collection
Raw Read Error Rate Test YES YES YES
Write Test YES YES NO
Servo Test YES YES NO
Partial Read Scanning YES NO NO
Full Read Scanning NO YES YES


Этот перечень тестов не является одинаковым для всех накопителей и приведен лишь в качестве примера.

Версия от 03.09.2001.


Михаил Маврицин, hwdiver@nightmail.ru



Контакты
Центральный офис

телефон: +7 495 230−1000
e-mail:
адрес: 119049, Москва, Коровий Вал, д. 1А, стр. 1 (здание универмага «Добрынинский»), 6 этаж, офис R.LAB

Социальные сети и мессенджеры

VK: Паблик компании
YouTube: Наш канал
Telegram: Консультация у специалистов R.LAB через бота (@rlabsupportbot)
WhatsApp: Консультации по восстановлению данных (74952301000)