SMART: Ultra DMA CRC error. Одна из миллиона возможных причин зависаний компьютера
Привет. Столкнулся с проблемой на своем компьютере. Он у меня начал постоянно зависать, либо самопроизвольно перезагружаться. Хочу рассказать вам в чем была причина.
Работал себе, работал компьютер, и тут бац — и начались какие-то чудеса – очень часто стал намертво виснуть или самопроизвольно перезагружаться.
Я очень быстро выявил закономерность – зависания происходят в момент интенсивного чтения или записи на жесткий диск. Кроме того, я несколько раз замечал, что при копировании больших файлов, скорость копирования на несколько секунд падает на ноль.
Открыв логи, я обнаружил, целый ворох предупреждений, связанных с жестким диском, что подтвердило мои предположения, что виновником не стабильной работы был жесткий диск.
Посмотрев SMART, обнаружилась ошибка Ultra DMA CRC. Эта ошибка говорит о том, что контрольная сумма CRC не подтверждается контроллером, т.е. данные искажаются. Причин этому может быть несколько. Самая распространенная – повреждение SATA провода, либо отошедший от разъема провод на жестком диске или материнской плате. Менее распространенные, но всё же часто встречающиеся – неисправный контроллер на диске или материнке.

Как вам должно быть понятно из вышенаписанного – в этой ситуации нужно первым делом проверить провод и соединения, и желательно провод заменить.
В моем случае помогла простая замена SATA кабеля.
Как известно SMART не сбрасывается, без перепрошивки, поэтому в показаниях SMART ошибка осталась, но диск начал работать заметно быстрее, стабильнее и главное компьютер больше не виснет и не перезагружается, ни при каких нагрузках на диск.
Если вам не поможет замена кабеля, то можно попробовать подключить винчестер к другому контроллеру. На современных материнских платах, довольно часто производитель ставит дополнительный SATA контроллер, например, какой-нибудь Marvell.
Как правило SATA порты которые управляются дополнительным контроллером покрашены другим цветом, например – 6 черных разъемов и 2 серых, черные будут на другом контроллере.

Соответственно, вы можете попробовать подключить диск к другому набору разъемов и проверить его работоспособность.
Если и это не поможет, то нужно проверять диск на другом компьютере, но практически наверняка – конец контроллеру на диске, и диск нужно менять, ну или менять на нем контроллер.
Вышенаписанное – очевидные вещи, но написать о них меня побудило то, что из-за ошибок чтения и записи на НЕ системный диск – Windows зависал, что меня изначально ввело в заблуждение. Я думал, что что-то случилось с материнкой или блоком питания. Но оказалось все гораздо проще.
SSD и ошибка CRC — как исправить и что делать?
Не многие пользователи ПК знают, что возникновение ошибок вроде «Ошибка в данных (CRC)» может быть связано не только с неисправностью накопителя (неважно какого), где хранятся эти данные, но и с неполадками комплектующих компьютера, которые отвечают за передачу, обработку или временное хранение данных.
Если ошибки CRC связаны именно с накопителем, не факт, что при их возникновении на экране появится окно с соответствующим сообщением. Просто факт повреждения целостности данных может определить и сам диск, точнее — встроенная в него управляющая микропрограмма, вследствие чего контроллер накопителя будет предпринимать повторные попытки обработать их. И только когда завершатся эти попытки, система отобразит соответствующее сообщение. Кстати, вместо ошибок CRC система может показывать ошибки чтения или записи данных. И это обычно означает наличие более серьезных проблем.
Касательно регистрации ошибок CRC самим накопителем. Как известно, у всех современных дисков присутствуют, т.к. S.M.A.R.T. атрибуты, в которых хранятся различные технические сведение об устройстве. За хранение CRC ошибок отвечает атрибут «CRC Error Count UltraDMA», о котором мы еще поговорим. Но, опять-таки, вовсе необязательно, что увеличивающееся количество ошибок в этом атрибуте является следствием неполадок в работе самого диска.

Что такое и почему возникают ошибки CRC?
«CRC» — Cyclic Redundancy Check (циклический избыточный код) — представляет собой алгоритм, отвечающий за проверку целостности данных (в нашем случае — файлов). Выдаваемые им ошибки, если простыми словами, сообщают нам о том, что структура обработанного (скопированного, перемещенного) или загруженного в память (открытого, запущенного) файла не соответствует его первоначальной структуре. Алгоритм CRC сначала анализирует первоначальные данные, затем конечные. В обоих случаях он должен выдать одинаковый код (контрольную сумму), что будет являться свидетельством целостности обработанных файлов. Если же эти коды разные, то, значит, имеет место нарушение целостности.
Важно понимать, что ошибки CRC не являются прямым свидетельством повреждения данных именно на накопителе, хотя это одна из причин их возникновения.
Выше мы говорили о неполадках в работе других комплектующих компьютера, что также могут являться причиной ошибок CRC. Вот несколько примеров:
- Порты на самом SSD-диске или материнской плате. Здесь, как правило, стоит рассматривать вопрос нестабильного соединения, т.к. поломка портов обычно приводит к невозможности определения накопителя системной платой.
- Контроллер, отвечающий за связь между SSD-диском и материнской платой. Помимо всевозможных электротехнических неполадок, также может иметь место несовместимость контроллера с накопителем. Возможно, что он работает на гораздо меньших скоростях, нежели SSD-диск, потому не успевает обработать какую-то часть данных.
- Оперативная память. В операциях с файлами ОЗУ может принимать участие в качестве буфера, т.е. временного хранилища данных. И если на каком-то этапе будет иметь место подмена, редактирование, затирание и т.д. какой-то части данных, то алгоритм CRC, естественно, сгенерирует разные контрольные суммы для исходного и обработанного файла.
- Процессор. Объяснение примерно то же, что и в случае с оперативной памятью. Только сюда еще можно добавить некорректный подсчет контрольной суммы самим алгоритмом CRC или возникновение его внутренних ошибок из-за того, что в работе процессора наблюдаются какие-то «аномалии».
Нельзя исключать из причин возникновения ошибок CRC и программные сбои. К банальным неполадкам в работе операционной системы и действиям вредоносных программ также добавим:
- Редактирование данных в оперативной памяти со стороны каких-то программ. Это необязательно вирусы. Например, к ним относятся приложения для оптимизации работы ПК, у которых предусмотрена функция очистка памяти от мусора.
- Сбои в драйвере контроллера запоминающих устройств или иных комплектующих ПК, так или иначе участвующих в работе SSD-накопителя.
- Неправильно выставленные для SSD-диска параметры в BIOS/UEFI.
- Неудачный разгон процессора и/или оперативной памяти при помощи специализированных утилит.
Этот список причин, вызывающих ошибки CRC, можно продолжать и дальше, но лучше перейдем к их устранению.
Просмотр SMART-атрибутов SSD-диска
Первое, что рекомендуется сделать — воспользоваться любой программой, позволяющей считать SMART-атрибуты твердотельного накопителя. Можно прибегнуть к помощи фирменных утилит, выпускаемых самими разработчиками SSD-дисков (вроде Samsung Magician или Intel Memory and Storage), или воспользоваться сторонними приложениями, например — CrystalDiskInfo . Все, что от нас требуется — просмотреть значение ранее упоминавшегося атрибута «CRC Error Count UltraDMA», в котором хранится количество CRC-ошибок, зафиксированных самим SSD-диском.
Для примера будем использовать программу CrystalDiskInfo. Ввиду того, что разработчики позаботились о переводе всех атрибутов на русский язык, нужный нам именуется как «CRC-ошибки UltraDMA»:

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

- Устанавливаем переключатель слева в положение «Hex» и вводим в него значение из атрибута «CRC-ошибки UltraDMA» (нули вначале вписывать не нужно), в нашем случае это — «1546E»:

- Теперь просто устанавливаем переключатель слева в положение «Dec» и получаем значение атрибута «CRC-ошибки UltraDMA» в десятичном формате:

Таким образом, исследуемый диск зарегистрировал 87150 ошибок CRC. Но само по себе данное число не дает никаких намеков на то, что являлось причиной возникновения этих ошибок. Однако их чрезмерно быстрое увеличение будет являться свидетельством наличия неполадок либо в самом диске, либо на компьютере. Это придется выяснять самостоятельно.
Рекомендации по поиску и устранению причин CRC-ошибок
Чтобы отбросить вариант неполадок с компьютером или SSD, лучшим способом будет подключение накопителя к другому ПК и последующая проверка атрибута «CRC-ошибки UltraDMA» по истечению нескольких часов/дней эксплуатации диска или после выполнения операций с крупными файлами или большим их количеством (копирование, установка игр, перемещение с одного раздела в другой, если их несколько). Если количество ошибок не увеличилось, возможно, проблема кроется в самом компьютере. И это могут быть как аппаратные, так и программные неполадки.
Если же другого компьютера под рукой нет, то можно попробовать следующее:
- Если к компьютеру подключены другие диски, их следует временно отключить. Это особенно касается случаев, когда параллельно с SSD-накопителями используются механические винчестеры (жесткие диски).
- Подключить SSD-накопитель к другому порту, если таковые присутствуют в материнской плате.
- В случае со стационарными компьютерами и SSD-дисками в форм-факторе «2.5»: заменить SATA-кабель и/или попробовать запитать устройство при помощи другого кабеля питания, если в блоке питания они предусмотрены.
- При подключении SSD-диска к компьютеру через переходник (например, «mSATA to SATA»), можно попробовать поменять и его, если таковой имеется в наличии.
- Выставить в BIOS/UEFI рекомендуемые для конкретного типа SSD-накопителя параметры. Мы не можем точно сказать, что конкретно перенастраивать. Возможно, стоит попробовать изменить версию интерфейса SATA (например, выставить SATA 2 вместо SATA 3, или наоборот) или PCIe — в зависимости от того, какой тип контроллера предусмотрен в материнской плате и/или в каком режиме он работает. А, возможно, дело и вовсе в параметрах оперативной памяти и/или процессора (тайминги, уровни напряжений, частотные характеристики и т.д.).
- Если в компьютер установлено несколько планок оперативной памяти, можно попробовать оставить только одну из них. Если она всего одна, стоит попробовать установить ее в другой слот для ОЗУ (обычно их, как минимум, два даже у ноутбуков).
Почти все вышеперечисленное относится к аппаратной составляющей компьютера. Но, как мы уже выяснили, ошибки CRC могут быть вызваны и программными неполадками. В таких случаях мы можем порекомендовать сделать следующее:
- Удалить имеющиеся на диске разделы, а затем создать новые (т.е. выполнить повторную разметку диска). Все хранящиеся данные на накопителе будут удалены, потому предварительно копируем их на другой носитель (или в облачное хранилище, например).
- Переустановить драйвер контроллера запоминающих устройств, скачав актуальную версию с сайта производителя материнской платы или ноутбука.
- Выполнить сканирование SSD-диска на предмет поврежденных блоков памяти (битых секторов) и логических ошибок, используя фирменную утилиту от производителя. Обычно такое сканирование «приводит в чувство» управляющий накопителем контроллер.
- Переустановить или обновить программное обеспечение (прошивку) SSD-диска при помощи все той же фирменной утилиты. Там, как правило, все очень просто — процедура проходит либо в полностью автоматическом, либо в полуавтоматическом режиме (прошивку придется скачивать самому). Однако это потребует наличия еще одного диска с операционной системой на борту (или можно попробовать загрузиться с флешки с Live-версией ОС Windows).
- Если на компьютере ранее выполнялся разгон, например, процессора при помощи специализированного софта, пробуем вернуть первоначальные значения увеличенных характеристик.
- Временно отключить антивирусы и/или другие программы, способные изменять содержимое оперативной памяти.
Однако никакие манипуляции с диском и/или программным обеспечением компьютера не помогут, если рабочий ресурс SSD-диска подходит к концу (это, кстати, также можно проверить при помощи фирменной программы от производителя). Возникновение ошибок CRC в данном случае может являться последним (первое — это когда на диск не удается ничего записать, а только считать) предзнаменованием полного выхода из строя элементов памяти твердотельного накопителя.
Большие значения параметра SMART UltraDMA CRC Error Count

Всем доброго времени суток!Пожалуйста,просвятите в некоторых аспектах диагностики HDD. Итак,
Проблема: Несколько дней назад вдруг винда начала запускаться нереально долгое количество времени,самые лёгкие приложения,такие как Opera и Winamp парктически перестали работать,постоянно висли.Несколько раз делал ребут,не помогло,потом комп при очередной перезагрузке даже недозагрузился,повесив на чёрном фоне экрана надпись "Загружается Windows" и в конце концов при загрузке выдал мне MBR ERROR. Подозрения естественно пали на хард,начал им заниматься.
Что имеем: Имеем хард на 1Tb модели WDC WD1002FAEX-00Y9A, Win7 x64. S.M.A.R.T прилагается.
S.M.A.R.T HDDScan 
S.M.A.R.T Victoria 
Было сделано: Полный chkdsk с включёнными атрибутами исправления системных ошибок и проверкой на битые сектора,полный скан поверхности харда прогами Victoria 4.46 и HDDScan 3.31. Скан обоими прогами проходил с Live-cd,поскольку ни великий MHDD ни Victoria мой диск по каким-то причинам из-под DOS не видят (В биосе режим работы IDE включен по умолчанию). сканирование показало что поверхность винта очень даже ничего. Вика показала всего один сектор,у которого время отклика был больше 200 мс,весь остальной диск 50-150(Если нужно,могу прикрепить к посту лог скана диска викторией). HDDScan один оранжевый сектор показал,парочку зелёных,остальные опять же серые,bad-ов нет ни там ни тут.Но вот смарт диска меня напрягает. UltraDMA CRC Error Count принимает значение,если в десятичную систему счисления перевести,что-то около 6,5тысяч.Много как-то очень.Вика такое же число показывает в этом параметре. SATA-шлейф заменял дважды,в разные выходы на материнке подключал,шину PCI не разгонял никогда.После всех танцов с бубнами вокруг шлейфа показатели данного параметра остались точно такими же,число в число.
Вопросы: Насколько моя ситуация критична? Что можно ещё сделать чтобы всё-таки ошибку устранить,может я недогуглил чего? Так же я нагуглил где-то,что смарт диска,он вроде как хранит историю зарегестрированных ошибок,и если даже причину негативного изменения показателя какого-то параметра нашли и устранили,он всё равно помнит что такая ошибка была и продолжает её показывать,правда ли это? Если да,то можно как-нибудь обнулить смарт,чтобы он таблицы переписал заново,с правильными показателями?Если можно его обнулить,то как именно? Помниться,смарты,виденный мной раньше были подлиннее и параметров больше содержали,почему их сейчас как-то мало,это от модели винта зависит?Есть ли в представленном SMART ещё какие-нибудь нездоровые показатели?И,наконец,вдруг кто занет-является ли моя проблема гарантийным случаем?
oltush

- 27/10/12
- #2
сейчас немного занят позже отпишусь конкретно по вашему случаю, если кто-то другой этого не сделает.
Итак по параметрам смарта:
Атрибут: 01 Raw Read Error Rate.
[OFF]Тип: текущий, может быть накапливающим для 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 на этот атрибут можно не обращать внимания. [/OFF]
Атрибут: 199 (С7) UltraDMA CRC Error Count.
[OFF]Тип: накапливающий.
Описание: содержит количество ошибок, возникших по передаче по интерфейсному кабелю в режиме
UltraDMA (или его эмуляции винчестерами SATA) от материнской платы или дискретного контроллера
контроллеру диска.
В подавляющем большинстве случаев причинами ошибок становятся некачественный шлейф
передачи данных, разгон шин PCI/PCI-E компьютера, либо плохой контакт в SATA-разъёме на диске либо
материнской плате/контроллере.
Ошибки при передаче по интерфейсу и, как следствие, растущее значение атрибута могут приводить к
переключению операционной системой режима работы канала, на котором находится накопитель, в режим
PIO, что влечёт резкое падение скорости чтения/записи при работе с ним и загрузку процессора до 100%.
В случае винчестеров Hitachi серий Deskstar 7К3000 и 5К3000 растущий атрибут может говорить о
несовместимости диска и SATA-контроллера. Чтобы исправить ситуацию, нужно принудительно переключить
такой диск в режим SATA 3 Гбит/с.
Моё мнение: при наличии ошибок – переподключите кабель с обоих концов; если их количество
растёт и оно больше 10 – выбрасывайте шлейф и ставьте вместо него новый или снимайте разгон.
Можно считать, что о здоровье диска атрибут не говорит. [/OFF]
Итак проблема может быть в шлейфе SATA либо на самом диске (разъем SATA и т.д.). Диск еще может работать без проблем.
Блог SerZh’a

Одним из самых узких мест в компьютере до сих пор остается жесткий диск. Я не говорю о твердотельных накопителях SSD, у них тоже есть свои плюсы и минусы. Сегодня речь пойдет о жестких дисках, принцип работы которых был разработан еще в прошлом веке.
Принцип до сих пор остался прежним, изменяется только технология изготовления пластин и электроники, которая контролирует все процессы, происходящие на жестком диске.Показателем здоровья жесткого диска является таблица SMART.
S.M.A.R.T. (от английского self-monitoring, analysis and reporting technology ) — технология самоконтроля, анализа и отчётности) — технология оценки состояния жёсткого диска встроенной аппаратурой самодиагностики, а также механизм предсказания времени выхода его из строя.
Жесткий диск я купил 1,5 года назад. Хотелось поменять свой тихоходный системный диск Hitachi 500Gb, на что-то пошустрей. Выбор был невелик — Western Digital Caviar Black 1Tb SATAIII или Seagate Barracuda (ST1000DM003) 1Tb SATAIII. Выбор пал в пользу последнего. Это был первый жесткий диск на рынке с терабайтной пластиной, что сразу снимало несколько проблем: нагрев, шум, энергопотребление. Максимальная скорость чтения в HD Tune переваливала за 200 Мб/сек, когда Hitachi показывал максимум 85. Вдобавок, Seagate был в полтора раза тоньше своих собратьев!
Все работало хорошо до последнего дня. Компьютер начал грузиться дольше, чем обычно. Перед загрузкой Windows каждый раз начинал запускать ScanDisk, проверяя жесткий диск на ошибки. Меня насторожило странное поведение компьютера и я решил проверить его на вирусы, загрузившись с LiveCD. Вирусов не было, поэтому я решил посмотреть на SMART дисков, чтобы удостовериться, что там все в порядке. Оказалось это не так. Напротив строки (C7) Ultra DMA CRC Error Count подсвечивалось предупреждение желтым цветом и счетчик показывал значение 1234.

В моей практике было несколько случаев, связанным с увеличением этого счетчика, но все решалось элементарной заменой интерфейсного кабеля. В данном случае это не помогло. В интернете описано много возможных путей решения этой проблемы, которые сводятся к следующему:
- Замена интерфейсного кабеля SATA (желательно с защелками);
- Возможный разгон шины PCI/PCI-E компьютера (сброс на заводские установки);
- Обновление BIOS материнской платы;
- Плохой контакт на разъеме жесткого диска или материнской платы (очистка контактов от окисления с помощью спирта или ластика);
- Переключение SATA кабеля на другой разъем;
- Нестабильное питание жесткого диска (замена блока питания);
- Перегрев южного моста материнской платы (замена термопасты);
- Деградация чипсета материнской платы;
- Несовместимость чипсета и контроллера жесткого диска;
- Смена режима работы контроллера (установка перемычек на жестком диске и переключение в режим SATA I)
- Обновление драйверов чипсета материнской платы
(C7) Ultra DMA CRC Error Count — содержит количество ошибок, возникших по передаче по интерфейсному кабелю в режиме Ultra DMA (или его эмуляции винчестерами SATA) от материнской платы или дискретного контроллера контроллеру диска.
Счётчик каждый раз увеличивался, когда я начинал на него записывать крупные массивы данных. Но самое интересное, что на этом компьютере у меня стоит второй жесткий диск — Western Digital Green 2Tb и когда я начинаю на него сбрасывать огромные файлы — никаких ошибок нет! Я решил поставить свой старый жесткий диск Hitachi с теми же кабелями и в тот же разъем, где были проблемы у Seagate — никаких ошибок нет.
Дальше я начал проверять все методом исключения и первое что я сделал – проверил Seagate на другом компьютере. О Чудо. Ни одной ошибки при записи! Значит, проблема с материнской платой и она все-таки деградировала за время работы?
Пока решил не делать поспешных выводов, а вытянуть материнскую плату из корпуса и хорошо все просмотреть. Внешний осмотр ничего не дал, никаких изменений я не заметил в плане вздувшихся конденсаторов или механических повреждений. Решил не отчаиваться, а попробовать прозвонить конденсаторы прибором, который я купил для ремонтов БП:

Прибор позволяет проверять электролитические конденсаторы на синусоидальном переменном токе без выпаивания из схемы. Это экономит уйму времени при ремонтах.
И мне повезло. Я нашел два конденсатора 1000mkF x 10v в районе чипсета, которые показывали обрыв. Стоят они в фильтрах стабилизаторов питания 5V. Поставил новые конденсаторы, подключил жесткий диск к материнской плате и попробовал запись на диск. Счетчик ошибок замер на значении 1340 и больше не увеличивался при любой нагрузке.
Можно сделать вывод, что по линии 5V шли сильные искажения питания, которые не давали нормально работать паре южный мост – контроллер винчестера. В свою очередь котроллер Seagate оказался очень чувствителен к таким искажениям и не мог правильно сравнивать контрольные суммы. Это привело к увеличению счетчика Ultra DMA CRC Error Count.
Если вы уже все испробовали не сдавайтесь, возможно у вас на материнской плате найдется тоже конденсатор подлежащий замене.