Error rate performance

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

Современный жёсткий диск — уникальный компонент компьютера. Он уникален тем, что хранит в себе служебную информацию, изучая которую, можно оценить «здоровье» диска. Эта информация содержит в себе историю изменения множества параметров, отслеживаемых винчестером в процессе функционирования. Больше ни один компонент системного блока не предоставляет владельцу статистику своей работы! Вкупе с тем, что HDD является одним из самых ненадёжных компонентов компьютера, такая статистика может быть весьма полезной и помочь его владельцу избежать нервотрёпки и потери денег и времени.

Информация о состоянии диска доступна благодаря комплексу технологий, называемых общим именем S.M.A.R.T. (Self-Monitoring, Analisys and Reporting Technology, т. е. технология самомониторинга, анализа и отчёта). Этот комплекс довольно обширен, но мы поговорим о тех его аспектах, которые позволяют посмотреть на атрибуты S.M.A.R.T., отображаемые в какой-либо программе по тестированию винчестера, и понять, что творится с диском.

Отмечу, что нижесказанное относится к дискам с интерфейсами SATA и РАТА. У дисков SAS, SCSI и других серверных дисков тоже есть S.M.A.R.T., но его представление сильно отличается от SATA/PATA. Да и мониторит серверные диски обычно не человек, а RAID-контроллер, потому про них мы говорить не будем.

Итак, если мы откроем S.M.A.R.T. в какой-либо из многочисленных программ, то увидим приблизительно следующую картину (на скриншоте приведён S.M.A.R.T. диска Hitachi Deskstar 7К1000.С HDS721010CLA332 в HDDScan 3.3):

S.M.A.R.T. в HDDScan 3.3

S.M.A.R.T. в HDDScan 3.3

В каждой строке отображается отдельный атрибут S.M.A.R.T. Атрибуты имеют более-менее стандартизованные названия и определённый номер, которые не зависят от модели и производителя диска.

Каждый атрибут S.M.A.R.T. имеет несколько полей. Каждое поле относится к определённому классу из следующих: ID, Value, Worst, Threshold и RAW. Рассмотрим каждый из классов.

  • ID (может также именоваться Number) — идентификатор, номер атрибута в технологии S.M.A.R.T. Название одного и того же атрибута программами может выдаваться по-разному, а вот идентификатор всегда однозначно определяет атрибут. Особенно это полезно в случае программ, которые переводят общепринятое название атрибута с английского языка на русский. Иногда получается такая белиберда, что понять, что же это за параметр, можно только по его идентификатору.
  • Value (Current) — текущее значение атрибута в попугаях (т. е. в величинах неизвестной размерности). В процессе работы винчестера оно может уменьшаться, увеличиваться и оставаться неизменным. По показателю Value нельзя судить о «здоровье» атрибута, не сравнивая его со значением Threshold этого же атрибута. Как правило, чем меньше Value, тем хуже состояние атрибута (изначально все классы значений, кроме RAW, на новом диске имеют максимальное из возможных значение, например 100).
  • Worst — наихудшее значение, которого достигало значение Value за всю жизнь винчестера. Измеряется тоже в «попугаях». В процессе работы оно может уменьшаться либо оставаться неизменным. По нему тоже нельзя однозначно судить о здоровье атрибута, нужно сравнивать его с Threshold.
  • Threshold — значение в «попугаях», которого должен достигнуть Value этого же атрибута, чтобы состояние атрибута было признано критическим. Проще говоря, Threshold — это порог: если Value больше Threshold — атрибут в порядке; если меньше либо равен — с атрибутом проблемы. Именно по такому критерию утилиты, читающие S.M.A.R.T., выдают отчёт о состоянии диска либо отдельного атрибута вроде «Good» или «Bad». При этом они не учитывают, что даже при Value, большем Threshold, диск на самом деле уже может быть умирающим с точки зрения пользователя, а то и вовсе ходячим мертвецом, поэтому при оценке здоровья диска смотреть стоит всё-таки на другой класс атрибута, а именно — RAW. Однако именно значение Value, опустившееся ниже Threshold, может стать легитимным поводом для замены диска по гарантии (для самих гарантийщиков, конечно же) — кто же яснее скажет о здоровье диска, как не он сам, демонстрируя текущее значение атрибута хуже критического порога? Т. е. при значении Value, большем Threshold, сам диск считает, что атрибут здоров, а при меньшем либо равном — что болен. Очевидно, что при Threshold=0 состояние атрибута не будет признано критическим никогда. Threshold — постоянный параметр, зашитый производителем в диске.
  • RAW (Data) — самый интересный, важный и нужный для оценки показатель. В большинстве случаев он содержит в себе не «попугаи», а реальные значения, выражаемые в различных единицах измерения, напрямую говорящие о текущем состоянии диска. Основываясь именно на этом показателе, формируется значение Value (а вот по какому алгоритму оно формируется — это уже тайна производителя, покрытая мраком). Именно умение читать и анализировать поле RAW даёт возможность объективно оценить состояние винчестера.

Этим мы сейчас и займёмся — разберём все наиболее используемые атрибуты S.M.A.R.T., посмотрим, о чём они говорят и что нужно делать, если они не в порядке.

Аттрибуты S.M.A.R.T.
  01 02 03 04 05 07 08 09 10 11 12 183 184 187 188 189 190
0x 01 02 03 04 05 07 08 09 0A 0B 0C B7 B8 BB BC BD BE
 
  191 192 193 194 195 196 197 198 199 200 201 202 203 220 240 254  
0x BF С0 С1 С2 С3 С4 С5 С6 С7 С8 С9 СА CB DC F0 FE  

Перед тем как описывать атрибуты и допустимые значения их поля RAW, уточню, что атрибуты могут иметь поле RAW разного типа: текущее и накапливающее. Текущее поле содержит значение атрибута в настоящий момент, для него свойственно периодическое изменение (для одних атрибутов — изредка, для других — много раз за секунду; другое дело, что в программах чтения S.M.A.R.T. такое быстрое изменение не отображается). Накапливающее поле — содержит статистику, обычно в нём содержится количество возникновений конкретного события со времени первого запуска диска.

Текущий тип характерен для атрибутов, для которых нет смысла суммировать их предыдущие показания. Например, показатель температуры диска является текущим: его цель — в демонстрации температуры в настоящий момент, а не суммы всех предыдущих температур. Накапливающий тип свойственен атрибутам, для которых весь их смысл заключается в предоставлении информации за весь период «жизни» винчестера. Например, атрибут, характеризующий время работы диска, является накапливающим, т. е. содержит количество единиц времени, отработанных накопителем за всю его историю.

Приступим к рассмотрению атрибутов и их RAW-полей.

Атрибут: 01 Raw Read Error Rate

Тип текущий, может быть накапливающим для WD и старых Hitachi
Описание содержит частоту возникновения ошибок при чтении с пластин

Для всех дисков Seagate, Samsung (начиная с семейства SpinPoint F1 (включительно)) и Fujitsu 2,5″ характерны огромные числа в этих полях.

Для остальных дисков Samsung и всех дисков WD в этом поле характерен 0.

Для дисков Hitachi в этом поле характерен 0 либо периодическое изменение поля в пределах от 0 до нескольких единиц.

Такие отличия обусловлены тем, что все жёсткие диски Seagate, некоторые Samsung и Fujitsu считают значения этих параметров не так, как WD, Hitachi и другие Samsung. При работе любого винчестера всегда возникают ошибки такого рода, и он преодолевает их самостоятельно, это нормально, просто на дисках, которые в этом поле содержат 0 или небольшое число, производитель не счёл нужным указывать истинное количество этих ошибок.

Таким образом, ненулевой параметр на дисках WD и Samsung до SpinPoint F1 (не включительно) и большое значение параметра на дисках Hitachi могут указывать на аппаратные проблемы с диском. Необходимо учитывать, что утилиты могут отображать несколько значений, содержащихся в поле RAW этого атрибута, как одно, и оно будет выглядеть весьма большим, хоть это и будет неверно (подробности см. ниже).

На дисках Seagate, Samsung (SpinPoint F1 и новее) и Fujitsu на этот атрибут можно не обращать внимания.

Атрибут: 02 Throughput Performance

Тип текущий
Описание содержит значение средней производительности диска и измеряется в каких-то «попугаях». Обычно его ненулевое значение отмечается на винчестерах Hitachi. На них он может изменяться после изменения параметров ААМ, а может и сам по себе по неизвестному алгоритму

Параметр не даёт никакой информации пользователю и не говорит ни о какой опасности при любом своём значении.

Атрибут: 03 Spin-Up Time

Тип текущий
Описание содержит время, за которое шпиндель диска в последний раз разогнался из состояния покоя до номинальной скорости. Может содержать два значения — последнее и, например, минимальное время раскрутки. Может измеряться в миллисекундах, десятках миллисекунд и т. п. — это зависит от производителя и модели диска

Время разгона может различаться у разных дисков (причём у дисков одного производителя тоже) в зависимости от тока раскрутки, массы блинов, номинальной скорости шпинделя и т. п.

Кстати, винчестеры Fujitsu всегда имеют единицу в этом поле в случае отсутствия проблем с раскруткой шпинделя.

Практически ничего не говорит о здоровье диска, поэтому при оценке состояния винчестера на параметр можно не обращать внимания.

Атрибут: 04 Number of Spin-Up Times (Start/Stop Count)

Тип накапливающий
Описание содержит количество раз включения диска. Бывает ненулевым на только что купленном диске, находившемся в запаянной упаковке, что может говорить о тестировании диска на заводе. Или ещё о чём-то, мне не известном :)

При оценке здоровья не обращайте на атрибут внимания.

Атрибут: 05 Reallocated Sector Count

Тип накапливающий
Описание содержит количество секторов, переназначенных винчестером в резервную область. Практически ключевой параметр в оценке состояния

Поясним, что вообще такое «переназначенный сектор». Когда диск в процессе работы натыкается на нечитаемый/плохо читаемый/незаписываемый/плохо записываемый сектор, он может посчитать его невосполнимо повреждённым. Специально для таких случаев производитель предусматривает на каждом диске (на каких-то моделях — в центре (логическом конце) диска, на каких-то — в конце каждого трека и т. д.) резервную область. При наличии повреждённого сектора диск помечает его как нечитаемый и использует вместо него сектор в резервной области, сделав соответствующие пометки в специальном списке дефектов поверхности — G-list. Такая операция по назначению нового сектора на роль старого называется remap (ремап) либо переназначение, а используемый вместо повреждённого сектор — переназначенным. Новый сектор получает логический номер LBA старого, и теперь при обращении ПО к сектору с этим номером (программы же не знают ни о каких переназначениях!) запрос будет перенаправляться в резервную область.

Таким образом, хоть сектор и вышел из строя, объём диска не изменяется. Понятно, что не изменяется он до поры до времени, т. к. объём резервной области не бесконечен. Однако резервная область вполне может содержать несколько тысяч секторов, и допустить, чтобы она закончилась, будет весьма безответственно — диск нужно будет заменить задолго до этого.

Кстати, ремонтники говорят, что диски Samsung очень часто ни в какую не хотят выполнять переназначение секторов.

На счёт этого атрибута мнения разнятся. Лично я считаю, что если он достиг 10, диск нужно обязательно менять — ведь это означает прогрессирующий процесс деградации состояния поверхности либо блинов, либо головок, либо чего-то ещё аппаратного, и остановить этот процесс возможности уже нет. Кстати, по сведениям лиц, приближенных к Hitachi, сама Hitachi считает диск подлежащим замене, когда на нём находится уже 5 переназначенных секторов. Другой вопрос, официальная ли эта информация, и следуют ли этому мнению сервис-центры. Что-то мне подсказывает, что нет :)

Другое дело, что сотрудники сервис-центров могут отказываться признавать диск неисправным, если фирменная утилита производителя диска пишет что-то вроде «S.M.A.R.T. Status: Good» или значения Value либо Worst атрибута будут больше Threshold (собственно, по такому критерию может оценивать и сама утилита производителя). И формально они будут правы. Но кому нужен диск с постоянным ухудшением его аппаратных компонентов, даже если такое ухудшение соответствует природе винчестера, а технология производства жёстких дисков старается минимизировать его последствия, выделяя, например, резервную область?

Атрибут: 07 Seek Error Rate

Тип текущий
Описание содержит частоту возникновения ошибок при позиционировании блока магнитных головок (БМГ)

Описание формирования этого атрибута почти полностью совпадает с описанием для атрибута 01 Raw Read Error Rate, за исключением того, что для винчестеров Hitachi нормальным значением поля RAW является только 0.

Таким образом, на атрибут на дисках Seagate, Samsung SpinPoint F1 и новее и Fujitsu 2,5″ не обращайте внимания, на остальных моделях Samsung, а также на всех WD и Hitachi ненулевое значение свидетельствует о проблемах, например, с подшипником и т. п.

Атрибут: 08 Seek Time Performance

Тип текущий
Описание содержит среднюю производительность операций позиционирования головок, измеряется в «попугаях». Как и параметр 02 Throughput Performance, ненулевое значение обычно отмечается на дисках Hitachi и может изменяться после изменения параметров ААМ, а может и само по себе по неизвестному алгоритму

Не даёт никакой информации пользователю и не говорит ни о какой опасности при любом своём значении.

Атрибут: 09 Power On Hours Count (Power-on Time)

Тип накапливающий
Описание содержит количество часов, в течение которых винчестер был включён

Ничего не говорит о здоровье диска.

Атрибут: 10 (0А — в шестнадцатеричной системе счисления) Spin Retry Count

Тип накапливающий
Описание содержит количество повторов запуска шпинделя, если первая попытка оказалась неудачной

О здоровье диска чаще всего не говорит.

Основные причины увеличения параметра — плохой контакт диска с БП или невозможность БП выдать нужный ток в линию питания диска.

В идеале должен быть равен 0. При значении атрибута, равном 1-2, внимания можно не обращать. Если значение больше, в первую очередь следует обратить пристальное внимание на состояние блока питания, его качество, нагрузку на него, проверить контакт винчестера с кабелем питания, проверить сам кабель питания.

Наверняка диск может стартовать не сразу из-за проблем с ним самим, но такое бывает очень редко, и такую возможность нужно рассматривать в последнюю очередь.

Атрибут: 11 (0B) Calibration Retry Count (Recalibration Retries)

Тип накапливающий
Описание содержит количество повторных попыток сброса накопителя (установки БМГ на нулевую дорожку) при неудачной первой попытке

Ненулевое, а особенно растущее значение параметра может означать проблемы с диском.

Атрибут: 12 (0C) Power Cycle Count

Тип накапливающий
Описание содержит количество полных циклов «включение-отключение» диска

Не связан с состоянием диска.

Атрибут: 183 (B7) SATA Downshift Error Count

Тип накапливающий
Описание содержит количество неудачных попыток понижения режима SATA. Суть в том, что винчестер, работающий в режимах SATA 3 Гбит/с или 6 Гбит/с (и что там дальше будет в будущем), по какой-то причине (например, из-за ошибок) может попытаться «договориться» с дисковым контроллером о менее скоростном режиме (например, SATA 1,5 Гбит/с или 3 Гбит/с соответственно). В случае «отказа» контроллера изменять режим диск увеличивает значение атрибута

Не говорит о здоровье накопителя.

Атрибут: 184 (B8) End-to-End Error

Тип накапливающий
Описание содержит количество ошибок, возникших при передаче данных через кэш винчестера

Ненулевое значение указывает на проблемы с диском.

Атрибут: 187 (BB) Reported Uncorrected Sector Count (UNC Error)

Тип накапливающий
Описание содержит количество секторов, которые были признаны кандидатами на переназначение (см. атрибут 197) за всю историю жизни диска. Причём если сектор становится кандидатом повторно, значение атрибута тоже увеличивается

Ненулевое значение атрибута явно указывает на ненормальное состояние диска (в сочетании с ненулевым значением атрибута 197) или на то, что оно было таковым ранее (в сочетании с нулевым значением 197).

Атрибут: 188 (BC) Command Timeout

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

Такие ошибки могут возникать из-за плохого качества кабелей, контактов, используемых переходников, удлинителей и т. д., а также из-за несовместимости диска с конкретным контроллером SATA/РАТА на материнской плате (либо дискретным). Из-за ошибок такого рода возможны BSOD в Windows.

Ненулевое значение атрибута говорит о потенциальной «болезни» диска.

Атрибут: 189 (BD) High Fly Writes

Тип накапливающий
Описание содержит количество зафиксированных случаев записи при высоте полета головки выше рассчитанной — скорее всего, из-за внешних воздействий, например вибрации

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

Атрибут: 190 (BE) Airflow Temperature

Тип текущий
Описание содержит температуру винчестера для дисков Hitachi, Samsung, WD и значение «100 − [RAW-значение атрибута 194]» для Seagate

Не говорит о состоянии диска.

Атрибут: 191 (BF) G-Sensor Shock Count (Mechanical Shock)

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

Актуален для мобильных винчестеров. На дисках Samsung на него часто можно не обращать внимания, т. к. они могут иметь очень чувствительный датчик, который, образно говоря, реагирует чуть ли не на движение воздуха от крыльев пролетающей в одном помещении с диском мухи.

Вообще срабатывание датчика не является признаком удара. Может расти даже от позиционирования БМГ самим диском, особенно если его не закрепить. Основное назначение датчика — прекратить операцию записи при вибрациях, чтобы избежать ошибок.

Не говорит о здоровье диска.

Атрибут: 192 (С0) Power Off Retract Count (Emergency Retry Count)

Тип накапливающий
Описание для разных винчестеров может содержать одну из следующих двух характеристик: либо суммарное количество парковок БМГ диска в аварийных ситуациях (по сигналу от вибродатчика, обрыву/понижению питания и т. п.), либо суммарное количество циклов включения/выключения питания диска (характерно для современных WD и Hitachi)

Не позволяет судить о состоянии диска.

Атрибут: 193 (С1) Load/Unload Cycle Count

Тип накапливающий
Описание содержит количество полных циклов парковки/распарковки БМГ. Анализ этого атрибута — один из способов определить, включена ли на диске функция автоматической парковки (столь любимая, например, компанией Western Digital): если его содержимое превосходит (обычно — многократно) содержимое атрибута 09 — счётчик отработанных часов, — то парковка включена

Не говорит о здоровье диска.

Атрибут: 194 (С2) Temperature (HDA Temperature, HDD Temperature)

Тип текущий/накапливающий
Описание содержит текущую температуру диска. Температура считывается с датчика, который на разных моделях может располагаться в разных местах. Поле вместе с текущей также может содержать максимальную и минимальную температуры, зафиксированные за всё время эксплуатации винчестера

О состоянии диска атрибут не говорит, но позволяет контролировать один из важнейших параметров. Моё мнение: при работе старайтесь не допускать повышения температуры винчестера выше 50 градусов, хоть производителем обычно и декларируется максимальный предел температуры в 55-60 градусов.

Атрибут: 195 (С3) Hardware ECC Recovered

Тип накапливающий
Описание содержит количество ошибок, которые были скорректированы аппаратными средствами ECC диска

Особенности, присущие этому атрибуту на разных дисках, полностью соответствуют таковым атрибутов 01 и 07.

Атрибут: 196 (С4) Reallocated Event Count

Тип накапливающий
Описание содержит количество операций переназначения секторов

Косвенно говорит о здоровье диска. Чем больше значение — тем хуже. Однако нельзя однозначно судить о здоровье диска по этому параметру, не рассматривая другие атрибуты.

Этот атрибут непосредственно связан с атрибутом 05. При росте 196 чаще всего растёт и 05. Если при росте атрибута 196 атрибут 05 не растёт, значит, при попытке ремапа кандидат в бэд-блоки оказался софт-бэдом (подробности см. ниже), и диск исправил его, так что сектор был признан здоровым, и в переназначении не было необходимости.

Если атрибут 196 меньше атрибута 05, значит, во время некоторых операций переназначения выполнялся перенос нескольких повреждённых секторов за один приём.

Если атрибут 196 больше атрибута 05, значит, при некоторых операциях переназначения были обнаружены исправленные впоследствии софт-бэды.

Атрибут: 197 (С5) Current Pending Sector Count

Тип текущий
Описание содержит количество секторов-кандидатов на переназначение в резервную область

Натыкаясь в процессе работы на «нехороший» сектор (например, контрольная сумма сектора не соответствует данным в нём), диск помечает его как кандидат на переназначение, заносит его в специальный внутренний список и увеличивает параметр 197. Из этого следует, что на диске могут быть повреждённые секторы, о которых он ещё не знает — ведь на пластинах вполне могут быть области, которые винчестер какое-то время не использует.

При попытке записи в сектор диск сначала проверяет, не находится ли этот сектор в списке кандидатов. Если сектор там не найден, запись проходит обычным порядком. Если же найден, проводится тестирование этого сектора записью-чтением. Если все тестовые операции проходят нормально, то диск считает, что сектор исправен. (Т. е. был т. н. «софт-бэд» — ошибочный сектор возник не по вине диска, а по иным причинам: например, в момент записи информации отключилось электричество, и диск прервал запись, запарковав БМГ. В итоге данные в секторе окажутся недописанными, а контрольная сумма сектора, зависящая от данных в нём, вообще останется старой. Налицо будет расхождение между нею и данными в секторе.) В таком случае диск проводит изначально запрошенную запись и удаляет сектор из списка кандидатов. При этом атрибут 197 уменьшается, также возможно увеличение атрибута 196.

Если же тестирование заканчивается неудачей, диск выполняет операцию переназначения, уменьшая атрибут 197, увеличивая 196 и 05, а также делает пометки в G-list.

Итак, ненулевое значение параметра говорит о неполадках (правда, не может сказать о том, в само́м ли диске проблема).

При ненулевом значении нужно обязательно запустить в программах Victoria или MHDD последовательное чтение всей поверхности с опцией remap. Тогда при сканировании диск обязательно наткнётся на плохой сектор и попытается произвести запись в него (в случае Victoria 3.5 и опции Advanced remap — диск будет пытаться записать сектор до 10 раз). Таким образом программа спровоцирует «лечение» сектора, и в итоге сектор будет либо исправлен, либо переназначен.

Идёт последовательное чтение с ремапом в Victoria 4.46b

Идёт последовательное чтение с ремапом в Victoria 4.46b

В случае неудачи чтения как с remap, так и с Advanced remap, стоит попробовать запустить последовательную запись в тех же Victoria или MHDD. Учитывайте, что операция записи стирает данные, поэтому перед её применением обязательно делайте бэкап!

Запуск последовательной записи в Victoria 4.46b

Запуск последовательной записи в Victoria 4.46b

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

Невозможность ремапа может быть обусловлена ещё одной причиной — диск исчерпал резервную область, и ему просто некуда переназначать секторы.

Если же значение атрибута 197 никакими манипуляциями не снижается до 0, следует думать о замене диска.

Атрибут: 198 (С6) Offline Uncorrectable Sector Count (Uncorrectable Sector Count)

Тип текущий
Описание означает то же самое, что и атрибут 197, но отличие в том, что данный атрибут содержит количество секторов-кандидатов, обнаруженных при одном из видов самотестирования диска — оффлайн-тестировании, которое диск запускает в простое в соответствии с параметрами, заданными прошивкой

Параметр этот изменяется только под воздействием оффлайн-тестирования, никакие сканирования программами на него не влияют. При операциях во время самотестирования поведение атрибута такое же, как и атрибута 197.

Ненулевое значение говорит о неполадках на диске (точно так же, как и 197, не конкретизируя, кто виноват).

Атрибут: 199 (С7) UltraDMA CRC Error Count

Тип накапливающий
Описание содержит количество ошибок, возникших при передаче по интерфейсному кабелю в режиме UltraDMA (или его эмуляции винчестерами SATA) от материнской платы или дискретного контроллера контроллеру диска

В подавляющем большинстве случаев причинами ошибок становятся некачественный шлейф передачи данных, разгон шин PCI/PCI-E компьютера либо плохой контакт в SATA-разъёме на диске или на материнской плате/контроллере.

Ошибки при передаче по интерфейсу и, как следствие, растущее значение атрибута могут приводить к переключению операционной системой режима работы канала, на котором находится накопитель, в режим PIO, что влечёт резкое падение скорости чтения/записи при работе с ним и загрузку процессора до 100% (видно в Диспетчере задач Windows).

В случае винчестеров Hitachi серий Deskstar 7К3000 и 5К3000 растущий атрибут может говорить о несовместимости диска и SATA-контроллера. Чтобы исправить ситуацию, нужно принудительно переключить такой диск в режим SATA 3 Гбит/с.

Моё мнение: при наличии ошибок — переподключите кабель с обоих концов; если их количество растёт и оно больше 10 — выбрасывайте шлейф и ставьте вместо него новый или снимайте разгон.

Можно считать, что о здоровье диска атрибут не говорит.

Атрибут: 200 (С8) Write Error Rate (MultiZone Error Rate)

Тип текущий
Описание содержит частоту возникновения ошибок при записи

Ненулевое значение говорит о проблемах с диском — в частности, у дисков WD большие цифры могут означать «умирающие» головки.

Атрибут: 201 (С9) Soft Read Error Rate

Тип текущий
Описание содержит частоту возникновения ошибок чтения, произошедших по вине программного обеспечения

Влияние на здоровье неизвестно.

Атрибут: 202 (СА) Data Address Mark Error

Тип неизвестно
Описание содержание атрибута — загадка, но проанализировав различные диски, могу констатировать, что ненулевое значение — это плохо

Атрибут: 203 (CB) Run Out Cancel

Тип текущий
Описание содержит количество ошибок ECC

Влияние на здоровье неизвестно.

Атрибут: 220 (DC) Disk Shift

Тип текущий
Описание содержит измеренный в неизвестных единицах сдвиг пластин диска относительно оси шпинделя

Влияние на здоровье неизвестно.

Атрибут: 240 (F0) Head Flying Hours

Тип накапливающий
Описание содержит время, затраченное на позиционирование БМГ. Счётчик может содержать несколько значений в одном поле

Влияние на здоровье неизвестно.

Атрибут: 254 (FE) Free Fall Event Count

Тип накапливающий
Описание содержит зафиксированное электроникой количество ускорений свободного падения диска, которым он подвергался, т. е., проще говоря, показывает, сколько раз диск падал

Влияние на здоровье неизвестно.

Подытожим описание атрибутов. Ненулевые значения:

  • атрибутов 01, 07, 195 — вызывают подозрения в «болезни» у некоторых моделей дисков;
  • атрибутов 10, 11, 188, 196, 199, 202 — вызывают подозрения у всех дисков;
  • и, наконец, атрибутов 05, 184, 187, 197, 198, 200 — прямо говорят о неполадках.

При анализе атрибутов учитывайте, что в некоторых параметрах S.M.A.R.T. могут храниться несколько значений этого параметра: например, для предпоследнего запуска диска и для последнего. Такие параметры длиной в несколько байт логически состоят из нескольких значений длиной в меньшее количество байт — например, параметр, хранящий два значения для двух последних запусков, под каждый из которых отводится 2 байта, будет иметь длину 4 байта. Программы, интерпретирующие S.M.A.R.T., часто не знают об этом, и показывают этот параметр как одно число, а не два, что иногда приводит к путанице и волнению владельца диска. Например, «Raw Read Error Rate», хранящий предпоследнее значение «1» и последнее значение «0», будет выглядеть как 65536.

Надо отметить, что не все программы умеют правильно отображать такие атрибуты. Многие как раз и переводят атрибут с несколькими значениями в десятичную систему счисления как одно огромное число. Правильно же отображать такое содержимое — либо с разбиением по значениям (тогда атрибут будет состоять из нескольких отдельных чисел), либо в шестнадцатеричной системе счисления (тогда атрибут будет выглядеть как одно число, но его составляющие будут легко различимы с первого взгляда), либо и то, и другое одновременно. Примерами правильных программ служат HDDScan, CrystalDiskInfo, Hard Disk Sentinel.

Продемонстрируем отличия на практике. Вот так выглядит мгновенное значение атрибута 01 на одном из моих Hitachi HDS721010CLA332 в неучитывающей особенности этого атрибута Victoria 4.46b:

Атрибут 01 в Victoria 4.46b

Атрибут 01 в Victoria 4.46b

А так выглядит он же в «правильной» HDDScan 3.3:

Атрибут 01 в HDDScan 3.3

Атрибут 01 в HDDScan 3.3

Плюсы HDDScan в данном контексте очевидны, не правда ли?

Если анализировать S.M.A.R.T. на разных дисках, то можно заметить, что одни и те же атрибуты могут вести себя по-разному. Например, некоторые параметры S.M.A.R.T. винчестеров Hitachi после определённого периода неактивности диска обнуляются; параметр 01 имеет особенности на дисках Hitachi, Seagate, Samsung и Fujitsu, 03 — на Fujitsu. Также известно, что после перепрошивки диска некоторые параметры могут установиться в 0 (например, 199). Однако подобное принудительное обнуление атрибута ни в коем случае не будет говорить о том, что проблемы с диском решены (если таковые были). Ведь растущий критичный атрибут — это следствие неполадок, а не причина.

При анализе множества массивов данных S.M.A.R.T. становится очевидным, что набор атрибутов у дисков разных производителей и даже у разных моделей одного производителя может отличаться. Связано это с так называемыми специфичными для конкретного вендора (vendor specific) атрибутами (т. е. атрибутами, используемыми для мониторинга своих дисков определённым производителем) и не должно являться поводом для волнения. Если ПО мониторинга умеет читать такие атрибуты (например, Victoria 4.46b), то на дисках, для которых они не предназначены, они могут иметь «страшные» (огромные) значения, и на них просто не нужно обращать внимания. Вот так, например, Victoria 4.46b отображает RAW-значения атрибутов, не предназначенных для мониторинга у Hitachi HDS721010CLA332:

«Страшные» значения в Victoria 4.46b

«Страшные» значения в Victoria 4.46b

Нередко встречается проблема, когда программы не могут считать S.M.A.R.T. диска. В случае исправного винчестера это может быть вызвано несколькими факторами. Например, очень часто не отображается S.M.A.R.T. при подключении диска в режиме AHCI. В таких случаях стоит попробовать разные программы, в частности HDD Scan, которая обладает умением работать в таком режиме, хоть у неё и не всегда это получается, либо же стоит временно переключить диск в режим совместимости с IDE, если есть такая возможность. Далее, на многих материнских платах контроллеры, к которым подключаются винчестеры, бывают не встроенными в чипсет или южный мост, а реализованы отдельными микросхемами. В таком случае DOS-версия Victoria, например, не увидит подключённый к контроллеру жёсткий диск, и ей нужно будет принудительно указывать его, нажав клавишу [Р] и введя номер канала с диском. Часто не читаются S.M.A.R.T. у USB-дисков, что объясняется тем, что USB-контроллер просто не пропускает команды для чтения S.M.A.R.T. Практически никогда не читается S.M.A.R.T. у дисков, функционирующих в составе RAID-массива. Здесь тоже есть смысл попробовать разные программы, но в случае аппаратных RAID-контроллеров это бесполезно.

Если после покупки и установки нового винчестера какие-либо программы (HDD Life, Hard Drive Inspector и иже с ними) показывают, что: диску осталось жить 2 часа; его производительность — 27%; здоровье — 19,155% (выберите по вкусу) — то паниковать не стоит. Поймите следующее. Во-первых, нужно смотреть на показатели S.M.A.R.T., а не на непонятно откуда взявшиеся числа здоровья и производительности (впрочем, принцип их подсчёта понятен: берётся наихудший показатель). Во-вторых, любая программа при оценке параметров S.M.A.R.T. смотрит на отклонение значений разных атрибутов от предыдущих показаний. При первых запусках нового диска параметры непостоянны, необходимо некоторое время на их стабилизацию. Программа, оценивающая S.M.A.R.T., видит, что атрибуты изменяются, производит расчёты, у неё получается, что при их изменении такими темпами накопитель скоро выйдет из строя, и она начинает сигнализировать: «Спасайте данные!» Пройдёт некоторое время (до пары месяцев), атрибуты стабилизируются (если с диском действительно всё в порядке), утилита наберёт данных для статистики, и сроки кончины диска по мере стабилизации S.M.A.R.T. будут переноситься всё дальше и дальше в будущее. Оценка программами дисков Seagate и Samsung — вообще отдельный разговор. Из-за особенностей атрибутов 1, 7, 195 программы даже для абсолютно здорового диска обычно выдают заключение, что он завернулся в простыню и ползёт на кладбище.

Обратите внимание, что возможна следующая ситуация: все атрибуты S.M.A.R.T. — в норме, однако на самом деле диск — с проблемами, хоть этого пока ни по чему не заметно. Объясняется это тем, что технология S.M.A.R.T. работает только «по факту», т. е. атрибуты меняются только тогда, когда диск в процессе работы встречает проблемные места. А пока он на них не наткнулся, то и не знает о них и, следовательно, в S.M.A.R.T. ему фиксировать нечего.

Таким образом, S.M.A.R.T. — это полезная технология, но пользоваться ею нужно с умом. Кроме того, даже если S.M.A.R.T. вашего диска идеален, и вы постоянно устраиваете диску проверки — не полагайтесь на то, что ваш диск будет «жить» ещё долгие годы. Винчестерам свойственно ломаться так быстро, что S.M.A.R.T. просто не успевает отобразить его изменившееся состояние, а бывает и так, что с диском — явные нелады, но в S.M.A.R.T. — всё в порядке. Можно сказать, что хороший S.M.A.R.T. не гарантирует, что с накопителем всё хорошо, но плохой S.M.A.R.T. гарантированно свидетельствует о проблемах. При этом даже с плохим S.M.A.R.T. утилиты могут показывать, что состояние диска — «здоров», из-за того, что критичными атрибутами не достигнуты пороговые значения. Поэтому очень важно анализировать S.M.A.R.T. самому, не полагаясь на «словесную» оценку программ.

Хоть технология S.M.A.R.T. и работает, винчестеры и понятие «надёжность» настолько несовместимы, что принято считать их просто расходным материалом. Ну, как картриджи в принтере. Поэтому во избежание потери ценных данных делайте их периодическое резервное копирование на другой носитель (например, другой винчестер). Оптимально делать две резервные копии на двух разных носителях, не считая винчестера с оригинальными данными. Да, это ведёт к дополнительным затратам, но поверьте: затраты на восстановление информации со сломавшегося HDD обойдутся вам в разы — если не на порядок-другой — дороже. А ведь данные далеко не всегда могут восстановить даже профессионалы. Т. е. единственная возможность обеспечить надёжное хранение ваших данных — это делать их бэкап.

Напоследок упомяну некоторые программы, которые хорошо подходят для анализа S.M.A.R.T. и тестирования винчестеров: HDDScan (работает в Windows, бесплатная), CrystalDiskInfo (Windows, бесплатная), Hard Disk Sentinel (платная для Windows, бесплатная для DOS), HD Tune (Windows, платная, есть бесплатная старая версия).

И наконец, мощнейшие программы для тестирования: Victoria (Windows, DOS, бесплатная), MHDD (DOS, бесплатная).

Having built a simple digital communication system, it is necessary to know how to measure its performance. As the names say, Symbol Error Rate (SER) and Bit Error Rate (BER) are the probabilities of receiving a symbol and bit in error, respectively. SER and BER can be approximated through simulating a complete digital communication system involving a large number of bits and comparing the ratio of symbols or bits received in error to the total number of bits. Hence,
begin{equation}label{eqCommSystemSER}
text{SER} = frac{text{No. of symbols in error}}{text{Total no. of transmitted symbols}}
end{equation}
and
begin{equation}label{eqCommSystemBER}
text{BER} = frac{text{No. of bits in error}}{text{Total no. of transmitted bits}}
end{equation}

Till now, the only imperfection between Tx and Rx entities we have covered is AWGN. It then makes sense that more distortions should corrupt the signal further and result in more errors. Hence, SER or BER plotted against some measure of signal-to-noise ratio (SNR) is the benchmark against which the performance of a system can be measured. Another useful parameter that combines the effects of all impairments into a single value is Error Vector Magnitude (EVM).

Next, we discuss how we choose a specific measure of SNR against which SER and BER should be plotted.

Figure of Merit: $E_b/N_0$


The SNR in a digital communication system is defined as a ratio of signal power in a symbol $P_M$ to noise power $P_w$ as
begin{equation}label{eqCommSystemSNR}
SNR = frac{P_M}{P_w}
end{equation}
where the signal power $P_M$l is modulation average symbol energy per unit symbol time
begin{equation}label{eqCommSystemPowerEnergy}
P_M = frac{E_M}{T_M}
end{equation}

For PAM and QAM modulation schemes, average $E_M$ was defined in their respective articles, see Pulse Amplitude Modulation (PAM) and Quadrature Amplitude Modulation (QAM). Moreover, how to determine the noise power $P_w$ was detailed in the article on AWGN.

When specified in dB units and using a factor of 10 for power conversions, it is
begin{align}
SNR_{text{dB}} &= P_{M,text{dB}} – P_{w,text{dB}} nonumber \
&= 10 log_{10} P_M – 10log_{10} P_w label{eqCommSystemSNRdB}
end{align}
A visual measure of finding $mathrm{SNR_{dB}}$ is shown in Figure below.

Spectrum showing the signal and noise levels in dB

Using Eq eqref{eqCommSystemPowerEnergy} and Eq eqref{eqCommSystemNoisePower1}, notice that the SNR can also be written as
begin{align*}
P_M cdot frac{1}{P_w} &= frac{E_M}{T_M} cdot frac{1}{N_0 B} \
&= E_M R_M cdot frac{1}{N_0B}
end{align*}
The above equation can be rearranged as
begin{equation*}
frac{E_M}{N_0} = frac{P_M}{P_w} cdot frac{B}{R_M}
end{equation*}
Recall that there are $log_2 M$ bits in one symbol,
begin{equation}label{eqCommSystemEMEb}
E_b = frac{1}{log_2M} cdot E_M
end{equation}
where $E_b$ is energy per bit. Similarly, the bit rate is
begin{equation}label{eqCommSystemRMRb}
R_b = log_2 M cdot R_M
end{equation}
Plugging the values for $E_b$ and $R_b$,
begin{equation}label{eqCommSystemEbNo}
frac{E_b}{N_0} = frac{P_M}{P_w} cdot frac{B}{R_b} = text{SNR} cdot frac{B}{R_b}
end{equation}
So we can say that $E_b/N_0$ is equal to SNR scaled by ratio of bandwidth to bit rate.

Now the question is: why is $E_b/N_0$ a natural figure of merit in digital communication systems instead of SNR.

  • Intuitively, the ratio of signal power $P_M$ to noise power $P_w$ in the system (i.e., SNR) should be a good criterion for measuring performance of different communication systems. And indeed it is true for analog communication systems where the signal continuity transcends the need to partition the signal into some units of time. On the other hand, a symbol is the basic building block of a digital communication system and signal energy within each symbol turns out to be a more useful parameter.
  • As we saw in the article on packing more bits in one symbol, many bits ($log_2M$ to be precise) can be packed into every symbol for an $M$-symbol modulation. Consequently, within every $T_M$ seconds, either 1 bit is travelling through the air (BPSK), or 2 bits (QPSK, 4-PAM), or 4 bits (16-QAM, 16-PSK), and so on. As shown in Eq eqref{eqCommSystemEbNo}, using $E_b/N_0$ instead of SNR automatically incorporates this bits per symbol factor through $R_b$.
  • Again from Eq eqref{eqCommSystemEbNo}, bandwidth is also taken into account. A system using less bandwidth than the other will have this factor reflected in its $E_b/N_0$ values.

In summary, $E_b/N_0$ is a normalized SNR measure, which proves really useful when comparing the SER/BER performance of digital modulation schemes with different bits per symbol and bandwidths.

The ratio $E_b/N_0$ is dimensionless as
begin{equation*}
frac{E_b}{N_0} = frac{text{Joules}}{text{Watts/Hz}} = frac{text{Watts} cdot text{seconds}}{text{Watts} cdot text{seconds}}
end{equation*}
It is frequently expressed in decibels as $10log_{10} E_b/N_0$.

Scaling Factors


In most of the figures in this text, you would have noticed a very clear labeling on the x-axis. On the y-axis though, the emphasis has been on the shape rather than the exact values. Now when the SER/BER measurements are to be taken, scaling factors on y-axis become equally important.

Constellation


Starting with the symbol constellations, we scale the values such that the average energy per symbol is 1. This can be achieved by dividing the constellation values by the square root of average symbol energy (sum of squares of the constellation points). For example, for a PAM modulation with $A=1$, $E_M$ was shown to be equal to
begin{equation*}
E_{M-text{PAM}} = frac{M^2-1}{3}
end{equation*}
which yields
begin{align*}
E_{2-text{PAM}} &= 1 \
E_{4-text{PAM}} &= 5 \
E_{8-text{PAM}} &= 21 \
vdots
end{align*}

When the constellation points $pm 1$, $pm 3$, $pm 5$, $cdots$, are divided by respective $sqrt{E_M}$, various $M$-PAM constellations become normalized to have average symbol energy equal to $1$, as illustrated in Figure below.

PAM constellations with scaling factors that result in unit average symbol energy

As a verification, consider from Figure above,
begin{align*}
E_{2-text{PAM,norm}} &= frac{1}{2}left(1^2 + 1^2right) = 1 \
E_{4-text{PAM,norm}} &= frac{1}{4}cdot frac{1}{5}left(-3^2 + -1^2 + 1^2 + 3^2 right) = frac{1}{20}cdot 20 = 1 \
E_{8-text{PAM,norm}} &= 1
end{align*}
where the subscript `norm’ stands for normalized.

On a similar note, the scaling factor for QAM with $A=1$ was shown as
begin{equation*}
E_{M-text{QAM}} = frac{2}{3} left(M-1right)
end{equation*}
which yields
begin{align*}
E_{4-text{QAM}} &= 2 \
E_{16-text{QAM}} &= 10 \
E_{64-text{QAM}} &= 42 \
vdots
end{align*}
For example, when scaled with square-root of this normalization factor, a normalized $4$-QAM constellation is shown in Figure below. Here, using Pythagoras theorem and realizing that all $4$ symbols have equal energies,
begin{equation*}
E_{4-text{QAM,norm}} = frac{1}{4}cdot 4cdot left(frac{1}{2} + frac{1}{2} right) = 1
end{equation*}

4-QAM constellation unit average symbol energy

System Design Tradeoffs


Observe that the constellation points come closer to each other for higher-order modulation and normalized average symbol energy. This emphasizes the fact that higher bit rate $R_b$, or more bits per symbol, does not come for free. The tradeoffs involved are

  • Power needs to be increased for a fixed bandwidth, because more energy within the same symbol time is needed for maintaining a similar distance between constellation points, or
  • Bandwidth needs to be expanded to accommodate a higher symbol rate for fixed power, because same energy then becomes available to spend during a shorter amount of time, or
  • An increased error rate needs to accepted for fixed power and bandwidth.

Tx Pulse


To understand the scaling factor for Tx pulse shape, also known as Tx filter, consider the block diagram of a PAM modulator or a QAM modulator. The next step after converting bits to symbols is upsampling the symbol train before it is filtered by a square-root Nyquist filter. This square-root Nyquist filter performs two operations:

  1. It lowpass filters the spectral replicas arising as a result of increasing the sample rate, see the post on sample rate conversion for details.
  2. It shapes the symbol sequence so that it is bandlimited in the frequency domain according to given specifications.

We also discussed in sample rate conversion that to maintain the same peak time domain amplitude in the upsampled signal as before, the filter should be designed with a gain equal to the upsampling factor, $L$ in this case. The three available choices, time domain amplitudes and energies were presented there. When we choose this option, the symbol energy gets scaled by $L$ as well as derived in that post. Therefore, denoting energy/symbol in the upsampled and filtered case with $E’_M$,
begin{equation}label{eqCommSystemScalingEnergy}
E_M’ = L cdot E_{Mtext{,norm}} = L
end{equation}

Remember from the post on pulse shaping filter that the peak value in a Square-Root Raised Cosine filter is $1 – alpha + 4alpha/pi$. In an actual implementation of the system, the pulse coefficients should be scaled by this value as well so that the peak value becomes unity and the precision with which the coefficients are represented in a fixed-point arithmetic processor can be maintained. However, here the purpose is only to simulate the BER due to which we ignore this factor.

Noise Power


In the article on AWGN, the noise power $P_w$ within a bandwidth $B$ was derived as
begin{equation}label{eqCommSystemNoisePower1}
P_w = N_0B
end{equation}
For a discrete signal with sampling rate $F_S$, it is understood that the bandwidth has already been constrained by an analog filter within the range $pm 0.5F_S$ to avoid aliasing. Plugging $B=0.5F_S$ in the above equation, the noise power in a sampled bandlimited system is given as
begin{equation*}
P_w = N_0cdot frac{F_S}{2}
end{equation*}

A digital modulation signal is sampled at rate $F_S = L cdot R_M$ where $L$ is samples/symbol. Bit rate $R_b$ can change with different modulation schemes and sample rate $F_S$ can be increased or decreased during the processing chain. On the other hand, the symbol rate $R_M$ is a standard parameter which is directly proportional to the signal bandwidth as shown in the modulation bandwidths, and hence it remains constant throughout the system implementation. For this reason, $R_M$ in most simulation systems is chosen to be equal to $1$ and the other parameters can be scaled accordingly. Then,
begin{equation}
P_w = N_0cdot frac{L}{2} label{eqCommSystemNoisePower2}
end{equation}

Finally, the relationship between noise power $P_w$ and $E_b/N_0$ can be written as
begin{equation*}
P_w = frac{E_b}{E_b/N_0} cdot frac{L}{2}
end{equation*}
which can be modified using $log_2 M$ bits per symbol,

begin{equation}label{eqCommSystemNoisePower3}
P_w = frac{E_M}{log_2 M cdot E_b/N_0} cdot frac{L}{2}
end{equation}

where $E_M$ is the symbol energy. In case normalized energy is used for symbol constellations, it can be replaced with $1$.

Notice that noise power increases by a factor of $L$ due to oversampling the signal. On the other hand, the signal energy increases by a factor of $L$ due to scaling shown in Eq eqref{eqCommSystemScalingEnergy}. The overall result is that both factors cancel out in the numerator and denominator of SNR expression in Eq eqref{eqCommSystemSNR}. This is illustrated in Figure below.

Receiver bandwidth with signal and noise scaling factors

Rx Pulse


Both the signal and noise enter the system before filtered by the Rx pulse. Therefore, any scaling has no effect on the SNR and it only changes the time domain amplitudes. Since the Raised Cosine pulse is a convolution of Tx and Rx Square-Root Raised Cosine pulses defined above, it has a peak amplitude of $1$ and hence maps the symbols exactly on the constellation.

Finally, remember that the group delay defined in pulse shaping filter is now given by the contribution from both Tx and Rx square-root Nyquist filters. For that reason, we remove $LG/2+LG/2=LG$ samples at the start and $LG$ samples at the end of the received sequence.

BER Plots


Now we are at a stage where we can plot the symbol and bit error rates of all three modulation schemes discussed above, namely PAM, QAM and PSK. To avoid any confusion, we leave SER plots and just concentrate on BER plots. SER plots are an obvious byproduct of the simulation setup discussed above.

The BER plots for 2, 4 and 8-PAM modulation are shown in Figure below.

Bit error rate (BER) plots for binary (2), 4 and 8-PAM modulations

Note that for a fixed $E_b/N_0$, the BER increases with $M$ because the same symbol energy has to be divided among $log_2M$ bits. Similarly, for a fixed BER, more energy is required as $M$ increases to maintain similar distances among constellation points. As an example, for a target BER of $10^{-4}$,

  • $E_b/N_0$ needed by $2$-PAM is $8.4$ dB,
  • $E_b/N_0$ needed by $4$-PAM is $12.2$ dB,
  • $E_b/N_0$ needed by $8$-PAM is $16.5$ dB,

A gray code is a method of assigning bits to symbols in a manner that adjacent symbols differ in only one bit. For example, symbols in a $4$-PAM constellation can be assigned bits 00, 01, 11 and 10 (as opposed to 00,01,10 and 11) such that all symbols have neighbours with only one bit difference. Since Gaussian noise has a higher probability around the mean value, the most likely symbol errors end up in adjacent symbols. As a result, these most likely symbol errors produce one erroneous bit and remaining $M-1$ correct bits. Hence, the relation between BER and SER can be defined as
begin{equation*}
text{BER} = frac {1}{log_2 M} text{SER}
end{equation*}

Moving on to QAM, the BER plots for $4$, $16$ and $64$-QAM modulation are shown in Figure beow. Similar conclusions hold for BER vs $E_b/N_0$ as in the case of PAM.

Bit error rate (BER) plots for 4, 16 and 64-QAM modulations

Finally, the BER plots for 2, 4 ,8 and 16-PSK modulation are shown in Figure below. Notice that the plots for BPSK and QPSK overlap with each other because QPSK can be regarded as a pair of orthogonal BPSK systems. We will have more to say about this point in the next section.

Bit error rate (BER) plots for 2, 4, 8 and 16-PSK modulations

Spectral Efficiency


In BER vs $E_b/N_0$ plots above, we noticed that for a target BER of $10^{-4}$, $E_b/N_0$ required by $2$-PAM, $4$-PAM and $8$-PAM are $8.4$ dB, $12.2$ dB and $16.5$ dB, respectively. Does this mean that $8$-PAM is $8$ dB worse than $2$-PAM modulation scheme? The answer is no, because the bandwidth has not been taken into consideration in this comparison. For the same symbol rate (which means same bandwidth), $8$-PAM transmits $3$ bits of information as compared to just $1$ bit of information by $2$-PAM.

For that reason, bandwidth must also be considered to get a complete picture of how different modulations compare to one another. Thus, spectral efficiency is defined as the ratio of bit rate to the bandwidth and its units are bits/s/Hz.
begin{equation}label{eqCommSystemSpectralEfficiency}
text{SE} = frac{R_b}{B} quad text{bits/s/Hz}
end{equation}
In essence, spectral efficiency is a way to figure out how fast the system is per unit of bandwidth. For QAM and PSK constellations with a square-root Nyquist filter of excess bandwidth $alpha$, we saw in the post on modulation bandwidths that the required bandwidth is $(1+alpha)R_M$. In terms of bit rate,
begin{equation*}
B_{text{QAM}} = left(1+alpharight) frac{R_b}{log_2 M}
end{equation*}
from which spectral efficiency can be determined as
begin{equation}label{eqCommSystemSEQAM}
SE_{text{QAM}} = frac{log_2 M}{1+alpha} quad text{bits/s/Hz}
end{equation}

BER for BPSK and QPSK


Going back to our discussion on similar BER for BPSK and QPSK, note that the BPSK system conveys one bit per symbol interval $T_M$, whereas the QPSK system conveys two bits per symbol interval. For a given symbol rate $R_M$ (and hence the same bandwidth) and a given signal power, QPSK has to divide the energy into two bits resulting in smaller $E_b/N_0$ ratio and higher BER. However, its bit rate $R_b$ is twice as compared to BPSK.

On the other hand, for a given bit rate $R_b$ and a given signal power, QPSK symbol interval $T_M$ is twice as long as that of the BPSK, similar energy is available per unit time and hence both BPSK and QPSK have the same BER. However, its symbol rate $R_M$ is half and so it uses half the bandwidth as compared to BPSK.

Turning towards PAM, although the bandwidth required is half as compared to QAM, it transmits half the number of bits as well due to using $I$ channel only. Therefore, its spectral efficiency is similar to QAM.

Different constellations with different number of points can be compared by taking all the parameters into account, namely bits/symbol, bandwidth and SNR performance. This can be achieved by plotting the spectral efficiency against the value of $E_b/N_0$ required to obtain a specific target BER. Figure below shows spectral efficiency versus $E_b/N_0$ for QAM and PSK constellations for BER = $10^{-5}$ and excess bandwidth $alpha = 0.5$, where $E_b/N_0$ values can be taken from the x-axis of BER curves in the previous section. Note that QAM provides better spectral efficiency than PSK because it packs the constellation points in a more efficient manner. This is why it is the modulation of choice in most of the high-speed wireless networks today.

In general, better modulations operate at high spectral efficiency and low $E_b/N_0$, i.e., to the top left of this curve.

Spectral efficiency R_b/B versus E_b/N_0 determines the overall merit of a modulation scheme. This figure is drawn for BER = 10^{-5} and a Square-Root Raised Cosine pulse with 50% excess bandwidth

On a final note, we rewrite Eq eqref{eqCommSystemEbNo} here.
begin{equation*}
frac{E_b}{N_0} = frac{P_M}{P_w} cdot frac{B}{R_b} = text{SNR} cdot frac{B}{R_b}
end{equation*}
The above equation can be written as
begin{equation*}
text{SE} = frac{R_b}{B} = frac{text{SNR}}{E_b/N_0}
end{equation*}
As a result, SE can also be seen as the ratio of SNR to $E_b/N_0$. Thus, the lesser $E_b/N_0$ a modulation scheme requires for a given error rate, the more spectrally efficient it is.

This topic describes how to compute error statistics for various communications
systems.

Computation of Theoretical Error Statistics

The biterr function, discussed in the
Compute SERs and BERs Using Simulated Data section, can help you gather empirical error
statistics, but validating your results by comparing them to the theoretical error
statistics is good practice. For certain types of communications systems,
closed-form expressions exist for the computation of the bit error rate (BER) or an
approximate bound on the BER. The functions listed in this table compute the
closed-form expressions for the BER or a bound on it for the specified types of
communications systems.

Type of Communications System Function
Uncoded AWGN channel berawgn
Uncoded Rayleigh and Rician fading channel berfading
Coded AWGN channel bercoding
Uncoded AWGN channel with imperfect synchronization bersync

The analytical expressions used in these functions are discussed in
Analytical Expressions Used in BER Analysis. The reference pages of these functions also list
references to one or more books containing the closed-form expressions implemented
by the function.

Theoretical Performance Results

  • Plot Theoretical Error Rates

  • Compare Theoretical and Empirical Error Rates

Plot Theoretical Error Rates

This example uses the bercoding function to compute upper bounds on BERs for convolutional coding with a soft-decision decoder.

coderate = 1/4; % Code rate

Create a structure, dspec, with information about the distance spectrum. Define the energy per bit to noise power spectral density ratio (Eb/N0) sweep range and generate the theoretical bound results.

dspec.dfree = 10; % Minimum free distance of code
dspec.weight = [1 0 4 0 12 0 32 0 80 0 192 0 448 0 1024 ...
    0 2304 0 5120 0]; % Distance spectrum of code
EbNo = 3:0.5:8;
berbound = bercoding(EbNo,'conv','soft',coderate,dspec);

Plot the theoretical bound results.

semilogy(EbNo,berbound)
xlabel('E_b/N_0 (dB)'); 
ylabel('Upper Bound on BER');
title('Theoretical Bound on BER for Convolutional Coding');
grid on;

Figure contains an axes object. The axes object with title Theoretical Bound on BER for Convolutional Coding contains an object of type line.

Compare Theoretical and Empirical Error Rates

Using the berawgn function, compute the theoretical symbol error rates (SERs) for pulse amplitude modulation (PAM) over a range of Eb/N0 values. Simulate 8 PAM with an AWGN channel, and compute the empirical SERs. Compare the theoretical and then empirical SERs by plotting them on the same set of axes.

Compute and plot the theoretical SER using berawgn.

rng('default') % Set random number seed for repeatability
M = 8;
EbNo = 0:13;
[ber,ser] = berawgn(EbNo,'pam',M);

semilogy(EbNo,ser,'r');
legend('Theoretical SER');
title('Theoretical Error Rate');
xlabel('E_b/N_0 (dB)');
ylabel('Symbol Error Rate');
grid on;

Figure contains an axes object. The axes object with title Theoretical Error Rate contains an object of type line. This object represents Theoretical SER.

Compute the empirical SER by simulating an 8 PAM communications system link. Define simulation parameters and preallocate variables needed for the results. As described in [1], because N0=2×(NVariance)2, add 3 dB to the Eb/N0 value when converting Eb/N0 values to SNR values.

n = 10000; % Number of symbols to process
k = log2(M); % Number of bits per symbol
snr = EbNo+3+10*log10(k); % In dB
ynoisy = zeros(n,length(snr));
z = zeros(n,length(snr));
errVec = zeros(3,length(EbNo));

Create an error rate calculator System object™ to compare decoded symbols to the original transmitted symbols.

errcalc = comm.ErrorRate;

Generate a random data message and apply PAM. Normalize the channel to the signal power. Loop the simulation to generate error rates over the range of SNR values.

x = randi([0 M-1],n,1); % Create message signal
y = pammod(x,M); % Modulate
signalpower = (real(y)'*real(y))/length(real(y));

for jj = 1:length(snr)
    reset(errcalc)
    ynoisy(:,jj) = awgn(real(y),snr(jj),'measured'); % Add AWGN
    z(:,jj) = pamdemod(complex(ynoisy(:,jj)),M); % Demodulate
    errVec(:,jj) = errcalc(x,z(:,jj)); % Compute SER from simulation
end

Compare the theoretical and empirical results.

hold on;
semilogy(EbNo,errVec(1,:),'b.');
legend('Theoretical SER','Empirical SER');
title('Comparison of Theoretical and Empirical Error Rates');
hold off;

Figure contains an axes object. The axes object with title Comparison of Theoretical and Empirical Error Rates contains 2 objects of type line. These objects represent Theoretical SER, Empirical SER.

Performance Results via Simulation

  • Section Overview

  • Compute SERs and BERs Using Simulated Data

Section Overview

This section describes how to compare the data messages that enter and leave
a communications system simulation and how to compute error statistics using the
Monte Carlo technique. Simulations can measure system performance by using the
data messages before transmission and after reception to compute the BER or SER
for a communications system. To explore physical layer components used to model
and simulate communications systems, see PHY Components.

Curve fitting can be useful when you have a small or imperfect data set but
want to plot a smooth curve for presentation purposes. To explore the use of
curve fitting when computing performance results via simulation, see the Curve Fitting for Error Rate Plots section.

Compute SERs and BERs Using Simulated Data

The example shows how to compute SERs and BERs using the biterr and symerr functions, respectively. The symerr function compares two sets of data and computes the number of symbol errors and the SER. The biterr function compares two sets of data and computes the number of bit errors and the BER. An error is a discrepancy between corresponding points in the two sets of data.

The two sets of data typically represent messages entering a transmitter and recovered messages leaving a receiver. You can also compare data entering and leaving other parts of your communications system (for example, data entering an encoder and data leaving a decoder).

If your communications system uses several bits to represent one symbol, counting symbol errors is different from counting bit errors. In either the symbol- or bit-counting case, the error rate is the number of errors divided by the total number of transmitted symbols or bits, respectively.

Typically, simulating enough data to produce at least 100 errors provides accurate error rate results. If the error rate is very small (for example, 10-6 or less), using the semianalytic technique might compute the result more quickly than using a simulation-only approach. For more information, see the Performance Results via Semianalytic Technique section.

Compute Error Rates

Use the symerr function to compute the SERs for a noisy linear block code. Apply no digital modulation, so that each symbol contains a single bit. When each symbol is a single bit, the symbol errors and bit errors are the same.

After artificially adding noise to the encoded message, compare the resulting noisy code to the original code. Then, decode and compare the decoded message to the original message.

m = 3; % Set parameters for Hamming code
n = 2^m-1;
k = n-m;
msg = randi([0 1],k*200,1); % Specify 200 messages of k bits each
code = encode(msg,n,k,'hamming');
codenoisy = bsc(code,0.95); % Add noise
newmsg = decode(codenoisy,n,k,'hamming'); % Decode and correct errors

Compute the SERs.

[~,noisyVec] = symerr(code,codenoisy);
[~,decodedVec] = symerr(msg,newmsg);

The error rate decreases after decoding because the Hamming decoder correct errors based on the error-correcting capability of the decoder configuration. Because random number generators produce the message and noise is added, results vary from run to run. Display the SERs.

disp(['SER in the received code: ',num2str(noisyVec(1))])
SER in the received code: 0.94571
disp(['SER after decoding: ',num2str(decodedVec(1))])
SER after decoding: 0.9675

Comparing SER and BER

These commands show the difference between symbol errors and bit errors in various situations.

Create two three-element decimal vectors and show the binary representation. The vector a contains three 2-bit symbols, and the vector b contains three 3-bit symbols.

bpi = 3; % Bits per integer
a = [1 2 3]; 
b = [1 4 4];
int2bit(a,bpi)
ans = 3×3

     0     0     0
     0     1     1
     1     0     1

ans = 3×3

     0     1     1
     0     0     0
     1     0     0

Compare the binary values of the two vectors and compute the number of errors and the error rate by using the biterr and symerr functions.

format rat % Display fractions instead of decimals
[snum,srate] = symerr(a,b)

snum is 2 because the second and third entries have bit differences. srate is 2/3 because the total number of symbols is 3.

[bnum,brate] = biterr(a,b)

bnum is 5 because the second entries differ in two bits, and the third entries differ in three bits. brate is 5/9 because the total number of bits is 9. By definition, the total number of bits is the number of entries in a for symbol error computations or b for bit error computations times the maximum number of bits among all entries of a and b, respectively.

Performance Results via Semianalytic Technique

The technique described in the Performance Results via Simulation
section can work for a large variety of communications systems but can be
prohibitively time-consuming for small error rates (for example,
10-6 or less). The semianalytic technique is an
alternative way to compute error rates. The semianalytic technique can produce
results faster than a nonanalytic method that uses simulated data.

For more information on implementing the semianalytic technique using a
combination of simulation and analysis to determine the error rate of a
communications system, see the semianalytic function.

Error Rate Plots

  • Section Overview

  • Creation of Error Rate Plots Using semilogy
    Function

  • Curve Fitting for Error Rate Plots

  • Use Curve Fitting on Error Rate Plot

Section Overview

Error rate plots can be useful when examining the performance of a
communications system and are often included in publications. This section
discusses and demonstrates tools you can use to create error rate plots, modify
them to suit your needs, and perform curve fitting on the error rate data and
the plots.

Creation of Error Rate Plots Using semilogy Function

In many error rate plots, the horizontal axis indicates
Eb/N0
values in dB, and the vertical axis indicates the error rate using a logarithmic
(base 10) scale. For examples that create such a plot using the semilogy function, see Compare Theoretical and Empirical Error Rates and Plot Theoretical Error Rates.

Curve Fitting for Error Rate Plots

Curve fitting can be useful when you have a small or imperfect data set but
want to plot a smooth curve for presentation purposes. The berfit function includes
curve-fitting capabilities that help your analysis when the empirical data
describes error rates at different
Eb/N0
values. This function enables you to:

  • Customize various relevant aspects of the curve-fitting process, such
    as a list of selections for the type of closed-form function used to
    generate the fit.

  • Plot empirical data along with a curve that berfit fits to the
    data.

  • Interpolate points on the fitted curve between
    Eb/N0
    values in your empirical data set to smooth the plot.

  • Collect relevant information about the fit, such as the numerical
    values of points along the fitted curve and the coefficients of the fit
    expression.

Note

The berfit function is
intended for curve fitting or interpolation, not extrapolation.
Extrapolating BER data beyond an order of magnitude below the smallest
empirical BER value is inherently unreliable.

Use Curve Fitting on Error Rate Plot

This example simulates a simple differential binary phase shift keying (DBPSK) communications system and plots error rate data for a series of Eb/N0 values. It uses the berfit and berconfint functions to fit a curve to a set of empirical error rates.

Initialize Simulation Parameters

Specify the input signal message length, modulation order, range of Eb/N0 values to simulate, and the minimum number of errors that must occur before the simulation computes an error rate for a given Eb/N0 value. Preallocate variables for final results and interim results.

Typically, for statistically accurate error rate results, the minimum number of errors must be on the order of 100. This simulation uses a small number of errors to shorten the run time and to illustrate how curve fitting can smooth a set of results.

siglen = 100000; % Number of bits in each trial
M = 2; % DBPSK is binary
EbN0vec = 0:5; % Vector of EbN0 values
minnumerr = 5; % Compute BER after only 5 errors occur
numEbN0 = length(EbN0vec); % Number of EbN0 values

ber = zeros(1,numEbN0); % Final BER values
berVec = zeros(3,numEbN0); % Updated BER values
intv = cell(1,numEbN0); % Cell array of confidence intervals

Create an error rate calculator System object™.

errorCalc = comm.ErrorRate;

Loop the Simulation

Simulate the DBPSK-modulated communications system and compute the BER using a for loop to vary the Eb/N0 value. The inner while loop ensures that a minimum number of bit errors occur for each Eb/N0 value. Error rate statistics are saved for each Eb/N0 value and used later in this example when curve fitting and plotting.

for jj = 1:numEbN0
    EbN0 = EbN0vec(jj);
    snr = EbN0; % For binary modulation SNR = EbN0
    reset(errorCalc)
    
    while (berVec(2,jj) < minnumerr)
        msg = randi([0,M-1],siglen,1); % Generate message sequence
        txsig = dpskmod(msg,M); % Modulate
        rxsig = awgn(txsig,snr,'measured'); % Add noise
        decodmsg = dpskdemod(rxsig,M); % Demodulate
        berVec(:,jj) = errorCalc(msg,decodmsg); % Calculate BER
    end

Use the berconfint function to compute the error rate at a 98% confidence interval for the Eb/N0 values.

    [ber(jj),intv1] = berconfint(berVec(2,jj),berVec(3,jj),0.98);
    intv{jj} = intv1;
    disp(['EbN0 = ' num2str(EbN0) ' dB, ' num2str(berVec(2,jj)) ...
        ' errors, BER = ' num2str(ber(jj))])
end
EbN0 = 0 dB, 18392 errors, BER = 0.18392
EbN0 = 1 dB, 14307 errors, BER = 0.14307
EbN0 = 2 dB, 10190 errors, BER = 0.1019
EbN0 = 3 dB, 6940 errors, BER = 0.0694
EbN0 = 4 dB, 4151 errors, BER = 0.04151
EbN0 = 5 dB, 2098 errors, BER = 0.02098

Use the berfit function to plot the best fitted curve, interpolating between BER points to get a smooth plot. Add confidence intervals to the plot.

fitEbN0 = EbN0vec(1):0.25:EbN0vec(end); % Interpolation values
berfit(EbN0vec,ber,fitEbN0);
hold on;
for jj=1:numEbN0
    semilogy([EbN0vec(jj) EbN0vec(jj)],intv{jj},'g-+');
end
hold off;

Figure contains an axes object. The axes object with title BER vs. Eb/No with Best Curve Fit contains 8 objects of type line. These objects represent Empirical BER, Dbl Exp Plus Const Fit.

See Also

Apps

  • Bit Error Rate Analysis

Functions

  • berawgn | bercoding | berconfint | berfading | berfit | bersync

Related Topics

  • Analyze Performance with Bit Error Rate Analysis App
  • Analytical Expressions Used in BER Analysis

Технология S.M.A.R.T. позволяет считывать сохраняемые в служебной области жесткого диска сведения, необходимые для оценки его состояния. Расшифровка термина такова: Self – сам, Monitoring – контроль, Analysis – анализ, Reporting Technology – технология отчетов. Как и для чего использовать S.M.A.R.T., детально рассмотрено в данной статье. Проверить звук микрофона онлайн.

HDD

Содержание

  1. Для чего нужна эта технология
  2. Программы для просмотра S.M.A.R.T.
  3. CrystalDiskInfo
  4. AIDA64
  5. Victoria
  6. HDDScan
  7. Speccy
  8. Сложности при сканировании
  9. Значение атрибутов S.M.A.R.T.
  10. 01 Raw Read Error Rate
  11. 02 Throughput Performance
  12. 03 Spin-Up Time
  13. 04 Number of Spin-Up Times (Start/Stop Count)
  14. 05 Reallocated Sector Count
  15. 07 Seek Error Rate
  16. 08 Seek Time Performance
  17. 09 Power On Hours Count (Power-on Time)
  18. 10 (0A) Spin Retry Count
  19. 11 (0B) Calibration Retry Count (Recalibration Retries)
  20. 12 (0C) Power Cycle Count
  21. 183 (B7) SATA Downshift Error Count
  22. 184 (B8) End-to-End Error
  23. 187 (BB) Reported Uncorrected Sector Count (UNC Error)
  24. 188 (BC) Command Timeout
  25. 189 (BD) High Fly Writes
  26. 190 (BE) Airflow Temperature
  27. 191 (BF) G-Sensor Shock Count (Mechanical Shock)
  28. 192 (C0) Power Off Retract Count (Emergency Retry Count)
  29. 193 (C1) Load/Unload Cycle Count
  30. 194 (C2) Temperature (HDA Temperature, HDD Temperature)
  31. 195 (C3) Hardware ECC Recovered
  32. 196 (C4) Reallocated Event Count
  33. 197 (C5) Current Pending Sector Count
  34. 198 (C6) Offline Uncorrectable Sector Count (Uncorrectable Sector Count)
  35. 199 (C7) UltraDMA CRC Error Count
  36. 200 (C8) Write Error Rate (MultiZone Error Rate)
  37. 201 (C9) Soft Read Error Rate
  38. 202 (CA) Data Address Mark Error
  39. 203 (CB) Run Out Cancel
  40. 220 (DC) Disk Shift
  41. 240 (F0) Head Flying Hours
  42. 254 (FE) Free Fall Event Count
  43. Предсказание поломки диска в командной строке
  44. Определение статуса диска
  45. Прогнозируемый сбой
  46. Предсказание в Windows PowerShell
  47. Анализ в приложении Системный монитор
  48. Что делать с ошибками S.M.A.R.T.
  49. Прекратите использование сбойного HDD
  50. Восстановите удаленные данные диска
  51. Просканируйте диск на наличие битых секторов
  52. Снизьте температуру диска
  53. Произведите дефрагментацию жесткого диска
  54. Приобретите новый жесткий диск
  55. Как сбросить S.M.A.R.T ошибку и стоит ли это делать?

Для чего нужна эта технология

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

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

Программы для просмотра S.M.A.R.T.

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

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

CrystalDiskInfo

CrystalDiskMark

CrystalDiskInfo – бесплатное приложение для просмотра параметров S.M.A.R.T. и оценки тенденции их изменений. Интерфейс утилиты полностью русифицирован (язык можно переключить с помощью меню). Температура винчестера или твердотельного накопителя показывается в системном трее (внизу экрана справа). Программа позволяет построить график, на котором будут наглядно отображены изменения, произошедшие за последний месяц с носителем информации. В случае необходимости приложение может быть запущено с задержкой. С помощью CrystalDiskInfo пользователю удобно изменить режим работы жесткого диска: установить максимально возможную скорость либо включить режим экономии электроэнергии (при этом также уменьшится издаваемый HDD шум). Помимо этого, разработчиками реализована поддержка внешних HDD и карманов, а также RAID-массивов Intel.

AIDA64

AIDA64 Extreme

С помощью данного приложения можно получить информацию обо всех аппаратных компонентах системы и их технических характеристиках, а также выполнить их тестирование. Для просмотра информации о жестком диске следует перейти к разделу «Меню» в левой части окна и щелчком по треугольнику слева открыть подменю «Хранение данных». В его нижней части присутствует пункт «SMART», именно его и нужно выбрать. В правой секции окна вверху появится список всех установленных в системе жестких дисков. Остается выбрать только нужный накопитель и щелкнуть мышью по соответствующей строке. Сведения о выбранном диске будут отображены в секции ниже.

AIDA64 – условно-бесплатное приложение, период безвозмездного пользования которым ограничен 30 днями. Чтобы иметь возможность работать с ним и дальше, необходимо купить лицензию.

Victoria

Victoria

Victoria – одна из лучших утилит для диагностики и восстановления неисправностей жестких дисков. Существует 2 версии программы: для запуска с загрузочного носителя и для работы непосредственно в среде Windows. В последнем случае для корректной работы приложения его следует запускать от имени администратора (соответствующую команду можно выбрать из его контекстного меню посредством щелчка по значку правой кнопкой мыши). Для загрузки с внешнего носителя потребуется предварительно создать загрузочный USB-диск или CD (DVD) и записать на него образ приложения.

После того, как Victoria запустится, на вкладке «Standard» в правой половине окна вверху выбираем тестируемый HDD и жмем на кнопку «Passport» для обновления сведений о нем. В самом низу окна отобразится информация о модели винчестера, его вместимости в дорожках и серийном номере. Затем можно переходить на вкладку “SMART”. Для считывания данных нажимаем на кнопку «Get SMART» в правой секции окна вверху.

При всех своих прочих достоинствах программа бесплатна. Также следует отметить, что ее новейшие версии поддерживают работу со S.M.A.R.T.-данными SSD-накопителей.

HDDScan

HDDScan

Отличительной особенностью утилиты является предельная простота в использовании. Достаточно выбрать из списка «Select Drive» жесткий диск и нажать на кнопку «S.M.A.R.T.», как на экране появится новое окно с подобной информацией о жестком диске. Разработчиками предусмотрена возможность менять некоторые из этих параметров (AAM, APM и др.). И за все это платить ничего не надо.

Speccy

Speccy

С помощью бесплатного приложения Speccy с поддержкой русского языка можно получить сведения об установленных в компьютере комплектующих и их технических характеристиках. Предусмотрена возможность сохранения этой информации в виде подробного отчета.

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

Сложности при сканировании

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

Определенные проблемы возникнут и в случае подключения винчестера в AHCI-режиме, поскольку данные S.M.A.R.T. в такой ситуации прочесть нельзя. Об этом выводится соответствующее сообщение на экран (например, может отображаться надпись «Non ATA». Чтобы обойти данное ограничение, необходимо загрузить BIOS и перейти на вкладку «Config > Serial ATA (SATA) > SATA Controller Mode Option». Вместо AHCI нужно выбрать Compatibility и сохранить изменения. Когда тестирование закончено, следует вернуться к прежней настройке.

Значение атрибутов S.M.A.R.T.

Для каждого из атрибутов программа тестирования отобразит следующие сведения (в зависимости от приложения они могут несколько отличаться от приведенного здесь списка):

  • наименование;
  • номер;
  • пороговое значение;
  • текущее значение;
  • графический индикатор состояния на момент тестирования;
  • динамика зарегистрированных изменений;
  • приблизительная дата окончательной поломки накопителя.

Здесь следует обратить внимание на цвета индикаторов атрибутов. Зеленый цвет говорит о том, что соответствующий ему показатель в норме. Если же какие-то атрибуты попали в желтую зону, ситуацию следует расценивать как тревожную. В случае же окраски индикатора в красный цвет состояние винчестера критическое, и полностью сломаться он может в любой момент.

Рассмотрим каждый из S.M.A.R.T.-атрибутов жесткого диска.

01 Raw Read Error Rate

Этот показатель используется для определения числа ошибок, возникающих при считывании данных с винчестера. Его значения могут интерпретироваться по-разному в зависимости от модели устройства. Для одних производителей идеалом считается нулевое значение, для других же – чем больше, тем лучше.

02 Throughput Performance

Отображает среднее значение производительности накопителя. Строгих норм для него не существует. Для диагностики HDD практически бесполезен.

03 Spin-Up Time

Позволяет установить время, необходимое винчестеру для раскрутки. Сам по себе данный параметр мало что значит. Его следует оценивать только с учетом заявленных технических характеристик конкретного жесткого диска.

04 Number of Spin-Up Times (Start/Stop Count)

Показывает, сколько раз производилось включение жесткого диска за весь период его эксплуатации. Может использоваться для получения косвенной оценки длительности и интенсивности использования устройства.

05 Reallocated Sector Count

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

Надо понимать, что резервная область не безгранична, и когда возможности резервирования будут исчерпаны, начнется необратимое разрушение жесткого диска. Число резервных секторов у разных моделей винчестеров различно. Но максимальное их количество не превышает нескольких тысяч (чаще всего не больше тысячи).

07 Seek Error Rate

Отображает данные, с помощью которых можно определить частоту появления сбоев в ходе позиционирования блока магнитных головок. Во многом схож с атрибутом Raw Read Error Rate. Отличие состоит в том, что для дисков Hitachi нормальным считается только нулевое значение. На дисках Seagate, Samsung SpinPoint F1 и более новых его моделей, а также Fujitsu 2.5’’ этот показатель вообще не стоит учитывать.

08 Seek Time Performance

Показывает среднее значение производительности операций позиционирования дисковых головок. Никаких предельных значений для него не предусмотрено.

09 Power On Hours Count (Power-on Time)

С помощью этого параметра мы можем узнать, сколько часов отработал жесткий диск с начала его использования.

10 (0A) Spin Retry Count

Позволяет определить, сколько раз производились повторные запуски шпинделя с момента первой неудачной попытки его старта. Однако рост данного показателя не всегда означает физическую неисправность винчестера. В большинстве случаев проблема связана с плохим контактом HDD с блоком питания или недостаточным количеством получаемой устройством электроэнергии. Если значение атрибута не превышает 2, то все в порядке. В противном случае следует проверить блок питания и его контакт с жестким диском.

11 (0B) Calibration Retry Count (Recalibration Retries)

Здесь отображается число повторных попыток произвести сброс носителя информации (в результате такой процедуры магнитные головки устанавливаются на нулевую дорожку) после того, как была зарегистрирована первая неудачная попытка. Если значение атрибута нулевое, проблемы отсутствуют, если нет – устройство, скорее всего, неисправно.

12 (0C) Power Cycle Count

Отмечается общее число циклов «включение-отключение» винчестера.

183 (B7) SATA Downshift Error Count

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

184 (B8) End-to-End Error

Дает возможность оценить, сколько всего ошибок возникло в процессе передачи информации через кэш жесткого диска за все время его использования. О проблеме с устройством может свидетельствовать любое ненулевое значение.

187 (BB) Reported Uncorrected Sector Count (UNC Error)

Означает число секторов, которые в скором времени подлежат переназначению. Иногда сектор повторно может определяться как кандидат на переназначение, что также приводит к увеличению значения атрибута. Если в этой строке не ноль (особенно когда атрибут 197 тоже не равен нулю), с винчестером начали происходить деструктивные изменения.

188 (BC) Command Timeout

Сохраняет данные о том, сколько операций пришлось прервать в связи с превышением предельно допустимого периода ожидания. Любое значение больше нуля свидетельствует о наличии таких сбоев. Но не всегда это связано с неисправностью жесткого диска. Проблема может возникнуть также при использовании некачественных кабелей, плохих переходников, поврежденных контактов, несовместимости с контроллером SATA/PATA на системной плате. В Windows такая ошибка может проявляться появлением «синего экрана смерти».

189 (BD) High Fly Writes

Показывает, сколько было зарегистрировано процессов записи на носитель, когда скорость головки превышала рассчитанную величину. Основной причиной этого явления является внешнее влияние (толчки, удары, вибрация). Однако каких-либо стандартов по данному пункту нет.

190 (BE) Airflow Temperature

Выводит на экран температуру жесткого диска в момент тестирования. Нагревание выше +55 – +60ºC негативно отражается на работе устройства. В таком случае полезно будет установить дополнительное охлаждение.

191 (BF) G-Sensor Shock Count (Mechanical Shock)

По этому параметру можно определить число критических ускорений головки HDD. Причинами их появления могут стать падания накопителя либо удары по его корпусу. Но даже если такие ускорения были зарегистрированы датчиками устройства, это еще не значит, что он был поврежден. Состояние HDD нужно оценивать с учетом значений других атрибутов. Также следует отметить, что у жестких дисков Samsung данный параметр можно не смотреть, поскольку его датчики могут реагировать едва ли не на движение воздуха.

192 (C0) Power Off Retract Count (Emergency Retry Count)

Отображаемая в соответствующей строке информация зависит от модели устройства. Здесь может выводиться или общее количество операций парковок магнитных головок, производящихся при появлении аварийных ситуаций, или число циклов включения/выключения устройства за все время его работы.

193 (C1) Load/Unload Cycle Count

Показывает суммарное количество циклов парковки и распарковки магнитных головок накопителя. С помощью этого параметра мы можем узнать, активирована ли автоматическая парковка HDD. Если значение атрибута 192 превышает значение атрибута 09, это означает, что автоматическая парковка включена и используется.

194 (C2) Temperature (HDA Temperature, HDD Temperature)

Выводит температуру винчестера в момент считывания информации из S.M.A.R.T. Также может содержать сведения о минимальной и максимальной температурах устройства, зарегистрированных за период его эксплуатации. Нужно убедиться, что жесткий диск не перегревается (предельно допустимая температура составляет +55ºC).

195 (C3) Hardware ECC Recovered

Позволяет определить общее количество ошибок, обработанных аппаратными средствами ECC HDD. Является аналогом атрибутов 01 и 07.

196 (C4) Reallocated Event Count

Один из наиболее значимых атрибутов для определения реального состояния винчестера. Чем выше его значение, тем хуже обстоят дела. Но для того, чтобы дать объективную оценку состояния устройства, следует учитывать значения и остальных параметров.

Данный показатель находится в тесной связи с атрибутом 05. Если один из них начал ухудшаться, негативные перемены обычно начинают происходить и с другим. Если же перемены затрагивают только атрибут 196, это означает, что в ходе выполнения ремапа оказалось, что проблемы с сектором обусловлены нарушением логической структуры, а не физической неисправностью, и были устранены средствами жесткого диска.

Иногда возникает ситуация, когда значение атрибута 05 больше аналогичного показателя у атрибута 196. В таком случае был выполнен ремап нескольких секторов одновременно.

197 (C5) Current Pending Sector Count

Выводит информацию о количестве секторов, подлежащих перераспределению. Но не всегда они имеют физическую неисправность. Перераспределяются только кандидаты, получившие статус bad, а сектора со статусом soft (логическая ошибка) после их исправления снова становятся пригодными для использования.

198 (C6) Offline Uncorrectable Sector Count (Uncorrectable Sector Count)

Во многом схож с атрибутом 197. Основное отличие заключается в том, что атрибут 198 показывает зафиксированное число кандидатов на ремап, выявленных в процессе оффлайн-тестирования (оно запускается во время простоя).

199 (C7) UltraDMA CRC Error Count

Этот показатель позволяет определить, сколько ошибок произошло в ходе выполнения операций передачи информации по интерфейсному кабелю, осуществляемых в режиме UltraDMA. Если наблюдается тенденция к росту параметра, это может свидетельствовать о некачественном или поврежденном шлейфе передачи данных, работе шин PCI/PCI-E в режиме разгона или плохом подключении кабеля SATA к соответствующему разъему на материнской плате или винчестере.

При появлении таких ошибок HDD может быть автоматически переключен в режим PIO, следствием чего станет ощутимое снижение его производительности. В большинстве случаев проблема решается переподключением интерфейсного кабеля или заменой его на новый.

200 (C8) Write Error Rate (MultiZone Error Rate)

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

201 (C9) Soft Read Error Rate

Показывает, сколько ошибок возникает в ходе считывания информации.

202 (CA) Data Address Mark Error

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

203 (CB) Run Out Cancel

Здесь фиксируется количество ошибок ECC.

220 (DC) Disk Shift

Позволяет узнать значение сдвига пластин по отношению к оси шпинделя накопителя.

240 (F0) Head Flying Hours

Атрибут можно использовать для оценки времени, которое требуется для позиционирования головки. Позволяет отслеживать состояние блока магнитных головок.

254 (FE) Free Fall Event Count

Регистрирует факты падения жесткого диска и предоставляет возможность определить их количество. Если здесь не нулевое значение, это повод для беспокойства, поскольку в таком случае нельзя исключать физическое повреждение HDD.

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

Проверить винчестер на наличие неисправностей с использованием командной строки можно двумя способами. Это определение статуса диска и получение информации о его прогнозируемом сбое.

Определение статуса диска

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

  1. Запустить системное приложение «Командная строка» с административными правами. Найти ярлык командной строки можно в меню «Пуск». Для того, выполнить запуск приложения с привилегированными правами доступа в Windows 10, нужно кликнуть по его ярлыку правой кнопкой мыши, перейти в меню «Дополнительно» и активировать команду «Запуск от имени администратора».
  2. После того, как окно консоли появится на экране, ввести в него команду wmic diskdrive get status.
  3. Подтвердить выполнение команды нажатием клавиши «Enter».
  4. Подождать пару секунд окончания выполнения команды. Результаты проверки отобразятся в столбце «Status». Если с установленными в компьютере дисками все нормально, везде будет стоять «OK». При выявлении ошибок статус может иметь значения «bad», «unknown» или «caution».

Прогнозируемый сбой

Чтобы заранее предсказать вероятную поломку винчестера, пользователю следует придерживаться такого алгоритма:

  1. Выполнить запуск командной строки в режиме администратора (как это делается, описано в предыдущем разделе).
  2. Ввести в консоль команду wmic /namespace:\rootwmi path MSStorageDriver_FailurePredictStatus.
  3. Подтвердить выполнение операции нажатием на «Enter».
  4. Дождаться вывода результата на экран. Нужная нам информация будет находиться в столбце «PredictFailure». Если результат тестирования – «FALSE», накопитель функционирует нормально. Значение «TRUE» свидетельствует о серьезных проблемах с HDD, в такой ситуации можно ожидать его скорую поломку. Также следует обратить внимание на столбец «Reason», особенно если в нем отображается число больше нуля. Значение выводимого здесь числового кода у разных производителей винчестеров может расшифровываться по-разному.

Предсказание в Windows PowerShell

Windows PowerShell – встроенный расширяемый инструмент автоматизации, предоставляемый компанией «Microsoft». Чтобы предсказать с его помощью возможные неполадки, нужно выполнить следующие шаги:

  1. Произвести запуск приложения «Windows PowerShell». В Windows 10 проще всего это сделать с помощью меню «Опытного пользователя». Процедура запуска такова: после щелчка правой кнопкой мыши по кнопке «Пуск» откройте это самое меню и выберите в нем команду «Windows PowerShell (администратор)».
  2. Введите в консоль команду Get-WmiObject -namespace rootwmi –class SStorageDriver_FailurePredictStatus.
  3. Нажмите «Enter».
  4. После того, как команда будет выполнена, на экране отобразится отчет в виде таблицы. В ней будет присутствовать информация обо всех установленных в компьютере дисках. Нас прежде всего интересует значение строки «PredictFailure». Если здесь стоит «FALSE», за судьбу жесткого диска можно пока не переживать. «TRUE» свидетельствует о серьезных проблемах с устройством и предсказывает ему скорую утрату работоспособности. О неисправностях может говорить и ненулевое значение строки «Reason» (что означает то или иное число, можно уточнить, обратившись в службу поддержки производителя HDD).

Анализ в приложении Системный монитор

В отличие от рассмотренных ранее предустановленных в систему приложений, «Системный монитор» работает не в консольном, а в графическом режиме. Для оценки состояния винчестера пользователю потребуется:

  1. Запустить программу «Системный монитор». Для этого нужно щелкнуть на кнопку «Пуск и открыть панель поиска, в которую ввести запрос «Системный монитор». Искомое приложение будет показано в разделе «Лучшее соответствие». Останется только произвести по нему щелчок левой кнопкой мыши.
  2. В левой секции появившегося окна щелчком по стрелке слева открыть раздел группы «Сборщиков данных». Ниже будут показаны вложенные в него элементы.
  3. Открыть подраздел «Системные».
  4. Перейти на вкладку «System Diagnostics (Диагностика системы)». Вызвать ее контекстное меню щелчком правой кнопки мыши. Выбрать в нем строку «Пуск».
  5. Еще раз развернуть вложенные элементы и открыть раздел «Отчеты».
  6. Найти подраздел «Системные» и раскрыть его.
  7. Развернуть содержимое подраздела «System Diagnostics» и изучить его содержимое.
  8. Кликнуть мышью по диагностическому отчету, наименование которого соответствует кодовому имени компьютера.
  9. Через некоторое время детальный отчет будет выведен в правой части окна. В нем следует открыть раздел «Предупреждения», а затем в таблице «Базовые системные проверки» в графе «Тесты» щелкнуть по кнопке с плюсом (она располагается около пункта «Проверка диска»).
  10. Ознакомиться с содержанием строки «Проверка SMART – предсказания сбоя». Если в колонке «Отказ» стоит нулевое значение, а в колонке «Описание» отображается надпись «Выполнена», то проблем с жестким диском не выявлено.

Что делать с ошибками S.M.A.R.T.

Ответ на этот вопрос зависит от характера проблем с винчестером и степени его неисправности.

Прекратите использование сбойного HDD

Если на жестком диске уже появились битые сектора, это говорит о его значительном износе. Фактически он уже начал рассыпаться, и остановить этот процесс невозможно. Дальнейшее использование такого HDD чревато потерей данных. Поскольку причина этого – физическая неисправность устройства, восстановить их скорее всего не получится.

Восстановите удаленные данные диска

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

Просканируйте диск на наличие битых секторов

Проверить HDD на битые сектора можно с помощью стандартных средств Windows. Для этого необходимо перейти к нужному диску (или разделу), вызвать его контекстное меню и открыть пункт «Свойства». Затем на вкладке «Сервис» кликнуть по кнопке «Выполнить проверку» и в открывшемся окне поставить галочки «Автоматически исправлять системные ошибки» и «Проверять и восстанавливать поврежденные сектора». Возможно, потребуется перезагрузка компьютера после нажатия кнопки «Запуск». Проверка очень объемных винчестеров может длиться до нескольких часов. После завершения процедуры логические ошибки будут исправлены, а bad-сектора подвергнуты ремапу (если их резерв еще не исчерпан).

Проверка диска

Сканирование может быть выполнено и рядом сторонних приложений. Для этого отлично подходит программа Victoria. Чтобы полностью проверить весь винчестер на битые сектора, следует на вкладке «Standard» выбрать HDD, а затем перейти на вкладку «Tests» и нажать там кнопку «Start». Количество найденных сбойных секторов будет отображаться в процессе сканирования справа от синего прямоугольника, обозначенного «Err». Цифры рядом с красным и оранжевым прямоугольниками – это еще рабочие сектора, но скорость доступа к ним очень низкая (небольшое их количество может находиться даже на новом винчестере). Полная проверка может продолжаться несколько часов.

Снизьте температуру диска

Перегрев жесткого диска может оказывать негативное влияние на работу его механических компонентов и электроники. Поэтому при подъеме его температуры до 55ºC и выше ему требуется дополнительное охлаждение. Для снижения температуры устройства можно установить в корпус компьютера еще один вентилятор. Также существуют специальные вентиляторы, предназначенные для охлаждения винчестеров. Наконец, температуру накопителя можно немного понизить, если отключить установленные в корпус ПК устройства, выделяющие тепло, без которых можно некоторое время обойтись (например, второй HDD или видеокарта в случае наличия в системной плате интегрированной видеокарты).

Произведите дефрагментацию жесткого диска

Замедление скорости чтения и записи на диск зачастую обусловлено высокой степенью фрагментации хранящихся на нем файлов. Сильная фрагментация файловой системы может способствовать ускоренному износу блока магнитных головок. Это приведет к дополнительным проблемам, связанным с ухудшением показателей их позиционирования, а также с ростом температуры накопителя (поскольку файлы разбиваются на фрагменты, зачастую расположенные друг от друга на значительном удалении, магнитным головкам приходится выполнять дополнительные перемещения, что увеличивает выделение тепла).

SSD-диски дефрагментировать не нужно, т.к. в них нет движущихся пластин и головок, в отличии от HDD.

Для предотвращения этих проблем следует выполнить дефрагментацию диска. Для этого нужно зайти в его свойства (путем вызова контекстного меню), перейти на вкладку «Сервис» и нажать на кнопку «Оптимизировать» (в Windows 10). Затем установить курсор на нужный диск или раздел и уже в этом окне кликнуть по кнопке «Оптимизировать». Обычно процедура оптимизации продолжается несколько минут.

Приобретите новый жесткий диск

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

Как сбросить S.M.A.R.T ошибку и стоит ли это делать?

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

Данную операцию можно выполнить при помощи специальных приложений. Одной из таких программ является DRevitalize (с некоторыми моделями винчестеров она не работает). После запуска этой утилиты следует выбрать подлежащий обнулению HDD и нажать на кнопку «Start». Далее выбираем пункт «Features menu and firmware data», после чего жмем по строке «Clear defect reassign list» и подтверждаем выполнение операции. Через несколько секунд можно будет перейти на «SMART Reset Attribute Values» и нажать «ОК». Если после проведения этих манипуляций обновление S.M.A.R.T. не произойдет, следует выполнить перезапуск компьютера.

Понравилась статья? Поделить с друзьями:
  • Error rate calculation simulink что это
  • Error rate calculation matlab
  • Error rangecheck offending command image
  • Error random was not declared in this scope
  • Error radeon kernel modesetting for r600 debian