появляющихся в течении работы накопителя ошибок или иных событий.
    В основном, накопители предоставляют информацию о

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

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


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


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





Copyright (C) 2001, Mishail Mavritsin

он пытается переместить данные из него в специальную резервную область (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. Типы атрибутов.
        Каждый атрибут может иметь некоторый набор флагов, определяющих его функциональные особенности. Ниже приводятся все шесть основных типов и их краткие описания.