On the fly ecc uncorrectable error count



Технология SMART

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

Цель проделанной мною работы — попытаться разьяснить в приличной, доступной, а главное — рускоязычной форме, все особенности данной технологии. Естесственно, охватить ПОЛНОСТЬЮ все возможности технологии 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. (ошибок, общего состояния, дефектных секторов и т.п.)

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

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

Известно, что первыми разработали основы и предложили эту технологию совместно 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.», характерной особенностью которого будет заметно бОльший размер журналов, повсеместное использование мультисекторных журналов, более точные алгоритмы анализа показаний встроенных в накопитель сенсоров (термодатчики, сенсоры ударов, и т.п.) и многое другое. Вот несколько новых функций:

Атрибуты.

Атрибуты 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 Название атрибута
= атрибут не используется
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

Краткое описание известных атрибутов.

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

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

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

Источник

Читайте также:  Php configure error log file
Оцените статью
toolgir.ru
Adblock
detector