Меню

Дефектные сектора

диагностика, ремонт, анализ

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

Дефекты – что это?

Поверхность жесткого диска имеет строгую организацию. Основная единица поверхности – сектор; это порция данных, имеющая определенную структуру. Как правило, эта структура включает в себя заголовок, тело (которое, собственно, и несет данные) и контрольную сумму. У некоторых накопителей сектор может также нести служебную информацию (маркер физического адреса, маркер принадлежности к поверхности и т.п.), но для нас это не важно – важны именно заголовок, тело и контрольная сумма. Сектора организованы в треки, или цилиндры, а последние, в свою очередь – в зоны.

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

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

Какие бывают дефекты?

Дефектные сектора принято разделять по происхождению и по времени возникновения. По происхождению дефекты бывают:

Аппаратные – дефектный сектор образовался в результате физического повреждения поверхности;

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

По времени возникновения дефекты делятся на: заводские и послезаводские.

Заводские дефекты – те, которые были обнаружены и скрыты на заводе-изготовителе.

Послезаводские дефекты – те, которые образовались уже после выпуска устройства с завода и были скрыты в процессе его эксплуатации.

Что такое дефект-менеджмент?

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

1) обработка заводского списка дефектов и построение системы трансляции накопителя с его использованием;

2) обработка растущего списка дефектов и подстройка имеющейся системы трансляции с его использованием;

3) постоянный мониторинг состояния поверхности;

4) добавление в случае необходимости дефектов в растущий список дефектов и перестроение системы трансляции в связи с этим.

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

Система трансляции в современных дисках учитывает не только сектора, но и другие единицы организации дискового пространства: треки, диапазоны секторов, сервометки и даже зоны. Это особенно важно для дисков с исходно низким качеством поверхности: при большом количестве дефектов (несколько миллионов) «утрамбовывание» их всех в дефект-листы по одному сделает работу системы трансляции слишком громоздкой и может привести к ошибкам. Если же убрать из трансляции целый трек (а это, для некоторых дисков и зон, десятки тысяч секторов), то в дефект-лист попадает не несколько тысяч, а одна запись, и транслятор будет работать гораздо надежнее и оперативнее.

Отдельно следует сказать о том, какой может быть система трансляции. Наиболее широкое распространение получили три типа транслятора: статический, динамический и многоуровневый. Работа статического транслятора обеспечивается особым модулем служебной информации; грубо говоря, все таблицы трансляции поверхности у такого накопителя уже построены и каждый раз загружаются из готового модуля транслятора из служебной зоны. Динамический транслятор работает по другому принципу: таблицы трансляции накопителя строятся в его памяти при каждом его старте с использованием имеющихся таблиц дефектов; отдельно модуля транслятора в служебной зоне таких накопителей нет. Наконец, многоуровневый транслятор подразумевает работу в накопителе нескольких систем трансляции (первого уровня, второго уровня и т.п.), при этом транслятор первого уровня обычно отвечает за физическую систему трансляции, а второго – за логическую. Многоуровневый транслятор разработан для обеспечения высокой скорости уничтожения данных: в случае необходимости одна из таблиц трансляции просто обнуляется (упрощенно при любом запросе диск отдает один и тот же сектор, заполненный нулями).

P-List, G-List и прочая

Непосредственно с дефект-менеджментом связаны таблицы дефектов (дефект-листы). Наиболее известными являются P-List и G-List (заводская и растущая таблицы дефектов); кроме них, в зависимости от производителя, могут иметься и таблицы других дефектов: треков (T-List), серво-разметки (S-List) и пр. Таблицы дефектов хранят в приемлемом для накопителя виде записи о бэд-блоках. Как правило, эти записи включают в себя физический адрес первого дефектного сектора и длину дефектной области (если это один сектор – то, соответственно, длина будет 1).

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

Как проявляют себя диски с дефектами поверхности?

Дефекты поверхности диска – это, прежде всего, невозможность считать какую-то его область. Следовательно, при попытке чтения этой области проблемы с чтением будут сразу же заметны. Файл, который вы пытаетесь прочитать, не будет читаться; данные, которые вы будете пытаться скопировать, не будут копироваться; и т.д. В системе это обычно сопровождается сообщением типа «A read/write error has been detected» или подобной; если для копирования данных вы пользуетесь файловым менеджером, то вы увидите сообщение типа «Невозможно скопировать файл. Невозможно произвести чтение с диска или устройства».

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

Ну и, наконец, если дефектная область попала на критически важные файлы операционной системы, та перестанет запускаться (как примеры: бесконечный первый экран Windows или «синий экран смерти» с характерными для проблем с жестким диском кодами ошибок: 0x00000010, 0x00000019, 0x00000022, 0x00000026, 0x0000004C, 0x00000051, 0x00000052, 0x00000068, 0x00000073, 0х00000077, 0х0000007А, 0х0000007В, 0х0000009В, 0х000000ED, 0x000000F4, 0xC0000135, 0xC0000218).

В областях с проблемами чтения (сильное замедление доступа к данным в секторе) система может подвисать (фризы), иногда – довольно надолго. Как пример: у вас имеется Word-документ, с которым вам нужно работать. Вы кликаете на этот файл, начинается запуск MS Word, и он продолжается значительно дольше обычного (десятки секунд или даже минуты). Это говорит о том, что медленно читаются сектора либо части программного обеспечения MS Word, либо – в самом документе.

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

SMART и его атрибуты: как определить, что состояние поверхности критическое?

Для контроля за состоянием диска разработана подсистема микропрограммы, имеющая название SMART (Self Montoring, Analysis and Reporting Technology; технология самомониторинга, анализа и предупреждения). Эта подсистема работает независимо от других частей микропрограммы (хотя в некоторых современных дисках это не так и приводит к проблемам, но это – тема для отдельной статьи), ее работу можно упрощенно описать следующей схемой:

1) В подсистеме выделяются несколько характеристик (которые названы «атрибуты SMART»);

2) По выделенным атрибутам производится сбор «сырых» данных;

3) Собранные «сырые» данные анализируются микропрограммой, в результате этого анализа генерируется число (текущее значение атрибута);

4) На основании комбинации значений атрибутов формируется ответ на вопрос о текущем состоянии диска (Good, OK, Must be replaced и т.п.).

Обычно атрибуты SMART читаются из дисков при старте компьютера, и если с диском начинаются проблемы, Вы узнаете об этом еще до запуска Windows по сообщению примерно такого содержания: Hard Drive SATA0: SMART status BAD. Это означает, что по сумме атрибутов или даже по единственному из них диск «просел» до критических значений и более не может считаться исправным. В таких случаях рекомендуется произвести резервное копирование данных и замену накопителя.

Атрибуты SMART может читать не только операционная система, но и специальные программы, наиболее известные из которых: Victoria for Windows, Hard Disk Sentinel и т.п. Мониторя изменение атрибутов SMART, вы можете примерно предсказать, сколько еще времени отпущено вашему устройству. Например, наблюдая за атрибутом “Relocated sectors count” (счетчик переназначенных секторов; упрощенно – количество записей растущего списка дефектов), вы будете видеть, сколько секторов в день у вашего диска из нормальных превращается в плохие. Наблюдать, однако, я рекомендую не за отдельными атрибутами, а за их комплексом, и причина проста: например, у вашего диска начнет расти атрибут «Spin errors» (или подобный) – это означает, что диск не смог раскрутить шпиндельный двигатель. Как результат – при попытке очередной раскрутки может произойти сбой и головки спровоцируют возникновение дефектного сектора или, еще хуже – застрянут на поверхности. Если же вы вовремя заметили начало роста этого атрибута, то и меры для исправления ситуации с ним тоже примете вовремя: поменяете шлейфы (это наиболее частая причина возникновения таких ошибок) или блок питания.

Для примера приведу анализ нового SSD (ADATA SU800 емкостью 512 Гбайт) и бывшего в употреблении около полугода HDD Seagate Mobile HDD 2 Тбайт. Как мы видим, у SSD прекрасный SMART и график чтения без единой ошибки. А вот с HDD все достаточно грустно: уже есть дефекты, около половины атрибутов SMART уже в желтой зоне, и один атрибут (как раз отвечающий за бэд блоки) – в красной зоне. Данные необходимо резервировать, а накопитель или ремонтировать, или менять.

Состояние SMART твердотельного диска ADATA SU800 емкостью 512 Гбайт

Состояние поверхности твердотельного диска ADATA SU800 емкостью 512 Гбайт

Состояние SMART жесткого диска Seagate Mobile HDD емкостью 2 Тбайт

Дефект поверхности жесткого диска Seagate Mobile HDD емкостью 2 Тбайт

Тестируем на бэд-блоки

Я рекомендую периодически (один раз в 2 – 3 недели) проводить проверку ваших носителей на дефектные сектора. Оптимально делать это следующим образом:

1) Скачать из интернета образ загрузочной флешки (часто называется Live CD), в состав которого входит программа для тестирования дисков (обычно это Victoria);

2) Записать скачанный образ на флешку (я использую для этого программу Rufus);

3) Загрузить ваш компьютер с записанной флешки (указав при загрузке компьютера в качестве загрузочного устройства вашу флешку – это достаточно просто, при запуске на одном из первых экранов вы увидите фразу типа «Boot options – F10” или подобную. Жмите на соответствующую кнопку, и у вас появится меню с возможностью выбора загрузочного устройства.

Экран загрузки, на котором указана функциональная клавиша для активации загрузочного меню

Загрузочное меню компьютера, вызванное соответствующей функциональной клавишей

4) После загрузки – запускайте программу для проверки и проверяйте диск на дефекты. Внимание! Важно! При выборе теста никогда не отмечайте галку «запись» - это сотрет все ваши данные. Наилучшим режимом проверки является верификация (verify).

Возможно два варианта – либо вы не обнаружите на диске дефектов, либо – обнаружите. Если обнаружились дефекты, то вам нужно оценить следующие показатели:

1) Сколько нашлось дефектов?

2) К каким типам ошибок относятся дефекты?

3) Как расположены дефекты?

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

По типам ошибок наиболее распространены ABR (Abort, Command Aborted) – команда, которую получил диск при обращении к сектору, отвергнута; UNC (Uncorrectable ECC Error) – при чтении диска обнаружена нескорректированная ошибка данных (обычно контрольной суммы сектора); INF (Sector ID Not Found) – не удалось обнаружить идентификатор сектора. Все остальные ошибки встречаются реже и останавливаться на их обсуждении мы не будем. О чем же говорят нам эти ошибки? Если при чтении сектора отвергнута команда, то наиболее вероятная причина этого – ошибка микропрограммы (например, «зависшие» операции журналирования SMART). Скорее всего, при повторном тестировании такой ошибки или не появится вообще, или она выскочит в другом месте.

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

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

И последнее – это то, как дефекты расположены. Скопления по несколько десятков или сотен дефектов должны вас насторожить – возможно, это небольшая царапина, которая вполне может превратиться в запил. Если дефекты расположены поодиночке, поводов для беспокойства меньше.

Что делать, если обнаружены дефектные сектора?

Первый, и наиболее правильный совет – не паниковать.

Определитесь, имеются ли на вашем начавшем «сыпаться» диске нужные вам данные. Если они есть – немедленно приступите к их резервированию. Любые действия с диском, которые будут описаны ниже, можно проводить только после того, как у вас появится полная резервная копия ваших данных.

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

Образование дефектов – это нормально. Жесткий или твердотельный диск устроен таким образом, что новообразующиеся дефектные сектора по мере их обнаружения будут скрыты средствами самого накопителя. Если вы обнаружили 1 – 2 бэд-блока, то, скорее всего, накопителю просто не хватило времени на их «ремонт» (скажем, диск обнаружил дефектный сектор и уже собирался приступить к его замещению, как вы выключили компьютер). Вот этот вот принцип (автоматического скрытия дефектного сектора при его обнаружении) мы и будем использовать для лечения диска.

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

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

Загружаемся с флешки и запускаем программу для тестирования носителей информации (обычно это Victoria). И теперь начинается самое интересное – лечение. Для того, чтобы излечить диск от дефектов, мы используем только механизмы, заложенные в сам накопитель: программные бэд-блоки (так называемые софт-бэды) уберутся, когда у сектора появится правильная контрольная сумма, а реальные дефекты мы попробуем заставить диск убрать автоматически. Обоих зайцев будем убивать записью.

Настоятельно рекомендую еще раз убедиться в том, что все нужные данные были зарезервированы – после того, как мы прогоним диску запись, данных на нем не будет. Если все хорошо и вы уверены, что все ваши данные надежно сохранены на другом носителе – приступаем к лечению. Для этого в Victoria, после выбора нужного диска, переходим на вкладку тестов и выбираем write (запись). Внимание! Данный тест полностью и безвозвратно стирает данные на физическом уровне!

Нажимаем Start и ждем окончания теста. После того, как он завершился, во вкладке тестов выбираем верификацию (verify) и снова нажимаем Start. После окончания верификации оцениваем график чтения. Он должен стать ровнее, дефекты должны исчезнуть. Если этого не произошло – можно попробовать пройтись записью еще один – два раза. Как правило, в случае с софт-бэдами и небольшим количеством новообразовавшихся дефектов достаточно одного прохода записью. Если их нужно больше – значит, диск работает уже на пределе своих возможностей и остро нуждается в замене. Подумайте, захотите ли вы доверять данные такому накопителю.

Почему я советую провести процедуру лечения записью прежде, чем ставить на диске крест? Если проблемы крылись в программных ошибках или в плохом контакте (расшатанные разъемы, плохое качество шлейфов и т.п.), то замена разъемов/шлейфов и запись их полностью излечит и поверхность диска станет как новая. По нашей статистике не меньше половины дисков с бэд-блоками – это диски, имеющие софт-бэды, с прекрасной (на самом деле) поверхностью. «Заваленный» SMART, провалы в графиках чтения и прочие прелести казалось бы умирающего диска – лишь следствие плохого контакта и программных ошибок, аппаратно диск может быть еще весьма и весьма далек от путешествия в свой битовый рай. Ну а если его можно спасти малой ценой (по два доллара за шлейфы хорошего качества и ночь работы компьютера в режиме записи и верификации) – то почему бы и нет?

Заключение

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

Станислав Корб, ©2018

Поделиться