Bad секторы — не беда!
09.04.09Мой Компьютер, №05 (436), 22.01.2007
«…У них нет надежности, у них есть гарантийный талон…»
Из разговора в сервисном центре.
Что такое хорошо и что такое bad’ы
На заводе при изготовлении жестких дисков, после многочасового тестирования (длится оно от 2 до 12 часов), которое производится в технологическом режиме, все сбойные участки заносят в таблицу, которая называется P-List (primary), после чего производят низкоуровневое форматирование и перезапись транслятора с учетом сбойных секторов.
Существуют жесткие критерии отбора качественных пластин, и если P-List после тестирования «вырастет» больше допустимого, то диск отбракуют. В тех случаях, когда основное количество дефектных секторов приходится на самое начало диска или на его конец, эту часть просто блокируют, и размер HDD становится чуть меньше. Яркий пример тому — серия дисков WD2700, по сути урезанные WD2850. (К слову сказать, в условиях сервисных центров возможна и обратная процедура, так что слухи об увеличении емкости HDD имеют под собой почву).
HDD не будет писать данные в плохие участки, он попросту их не заметит. Это все хорошо, скажете вы, но что же делать, если бэды появятся в процессе эксплуатации диска? Отвечу: производители снабдили HDD не только уже помянутым P-List, но также временным Pending-List (прошу не путать с primary), растущим G-List (Grown) и таблицей дефектов сервометок.
Если при работе диска происходит задержка чтения сектора (значение задержки определяется производителем), то сектор помещается во временный дефект-лист до выяснения обстоятельств, и потом, при дополнительном тесте, он либо объявляется исправным и продолжает трудиться, либо помещается в G-List и больше участия в работе не принимает. На его место становится сектор, адрес которого находится в резервной области диска, физически расположенной в конце (т.е. у центра). Всем этим занимается «умная» логика HDD и контроллер.
Это выход из положения, но он тоже имеет несколько минусов: во-первых, это задержки при записи/чтении, во-вторых, резервная область не безразмерная и насчитывает всего несколько сотен секторов.
Но, если ошибки продолжают появляться по какой-либо причине, G-List со временем переполняется и дальнейшее его наполнение невозможно. Из этой ситуации есть два выхода, первый — отнести диск в сервисный центр, и специалисты перепишут G-List в P-List, сделав ему низкоуровневое форматирование, второй — снять диск и сделать из него стильный портсигар.
С сервометками сложнее. Сервосистема — это очень сложная технология позиционирования головок на дорожках. Плотность записи постоянно растет, и сервосистема постоянно усложняется и усовершенствуется (недаром диски емкостью 200 Гб и более стали выполнять на гидродинамических подшипниках, это тоже часть усовершенствования сервосистемы накопителя).
При наличии дефектной сервометки головка не может точно позиционироваться на треке и «прыгает» из стороны в сторону. Также, в ряде случаев, звуковая катушка (позиционер головок) издает неприятный писк. Еще дефектная сервометка может выглядеть как ряд бэд-блоков, идущих один за другим. Электроника жесткого диска самостоятельно восстановить сервометку не в состоянии.
Дефектные сервометки не замещаются из резервной области, и если их станет много, то в сервисном центре эти дорожки попросту отключают, производят низкоуровневое форматирование и пересчет транслятора. В худшем случае отключают целые стороны пластин.
* * *
Бэд-блоки бывают двух групп, физические и логические, рассмотрим каждую из них.
Физические — это дефекты поверхности пластин. Возникают они обычно из-за попадания пыли между головкой и пластиной, старения магнитного слоя и его осыпания вследствие перегрева. К сожалению, физические дефекты не поддаются исправлению в домашних условиях, а некоторые из них — даже в условия сервисных центров.
Логические возникают обычно из-за сбоев в работе как электроники, так и механики, одни из них исправимы, другие — нет.
Исправимые логические дефекты чаще всего возникают из-за незаконченной записи в сектор, когда данные записались, а контрольная сумма записана не была. Причина появления таких бэдов банальна — обычно это происходит в момент резкого исчезновения питания, «лечится» в домашних условиях «обнулением» диска.
Неисправимые логические бэды происходят редко и в тех моделях HDD, в которых сектора имеют заголовки. Причиной появления таких бэдов может послужить, например, попадание накопителя в сильное магнитное поле. Заголовки секторов разрушаются и контроллер не в состоянии их увидеть. Неисправимыми их называют по той причине, что они исправляются только низкоуровневым форматированием в условиях сервисных центров. На новых моделях дисков заголовки секторов не применяются, и скоро этот тип дефектов исчезнет как класс.
Адаптивные дефекты. Адаптивы — это переменные, которые генерируются во время тестирования диска на заводе, являются индивидуальными настройками для каждого диска и записываются либо в ПЗУ диска, либо в служебной зоне HDD. При повреждении адаптива (статическое электричество, сбои в питании) на диске может появляться множество бэдов, хотя сама поверхность исправна, да и появляются они то тут, то там, их еще называют призраками. Лечатся только в сервисных центрах — синхронизацией железной части «винта» и программной.
О количестве переназначенных секторов вашего диска вы можете узнать из отчета SMART по параметрам Reallocated Sector Count и Reallocated Event Count, в идеале они должны равняться нулю.
Краткий разговорник
Транслятор — это таблица адресного пространства диска, обычно размещаемая в микросхеме ПЗУ на HDD. Транслятор создается в конце операции Low Level Format с учетом бэд-блоков, находящихся в P-List`е, и в процессе работы диска работает в паре с контроллером. При помощи этой таблицы физическая геометрия HDD интерпретируется в логическую (виртуальную). Некоторые дефекты накопителей происходят именно по причине испорченного транслятора.
Up Date Defects — скрытие дефектов с последующим пересчетом транслятора. Этот вид скрытия дефектов самый «честный» и выполняется только в условиях серьезных сервисных центров, на специальном оборудовании типа программно-аппаратного комплекса PC-3000. В маленьких городах найти такие центры непросто. В большинстве случаев диску будет сделан remap, а деньги возьмут немногим меньше, чем за Up Date Defects в солидной фирме.
Сектор — минимальная часть поверхности жесткого диска, в которую можно записать данные. Каждый сектор состоит из нескольких областей, таких как адресный маркер, контрольная сумма адреса, данные 512 байт и коды коррекции ошибок. Сектора объединяются в блоки (кластеры) на уровне файловой системы в зависимости от того, какой размер блока был задан при создании оной.
Remap — замещение дефектных секторов на целые из специальной области, которая обычно располагается в конце диска (у центра).
На практике ремап происходит примерно так: сначала выполняется чтение поверхности диска, и если в процессе контроллер «увидит» задержку чтения, которая выходит за рамки допустимых норм, то он произведет попытку записи в этот сектор (тоже по определенному сценарию — может, одну, а может, и десять). В случае удачной перезаписи сектор остается в рабочем состоянии и служит дальше, если же запись в него не удалась, то контроллер прописывает в поле идентификации bad-сектора флаг перемещения, а в поле данных этого же сектора — адрес резервного из G-List. Адрес bad-сектора и его идентификационная информация помещаются в таблицу G-List.
Теперь накопитель при обращении к сбойному сектору читает флаг «bad», затем адрес резерва и перемещает головки в эту область.
На некоторых моделях HDD резервные сектора располагаются не в конце диска, а прямо на дорожках. Этот метод хорош тем, что головка не прыгает в конец диска, и тем самым повышается скорость доступа к переназначенным секторам.
Remap может выполняться без удаления файловой системы и порчи файлов, повреждение может получить только тот файл, который находится в кластере с этим сектором.
Reassign (assign) — это то же самое, что и remap. Просто термин remap применяют, когда говорят о диске в целом, а термин assign-reassign применим к отдельно взятому сектору.
Automatic Defect Reassignment — автоматический assign, который происходит в ходе самотестирования жесткого диска и незаметен пользователю.
Низкоуровневое форматирование (Low Level Format) производится на заводе при изготовлении жесткого диска. Во время этого процесса на голой магнитной поверхности создаются секторы по 512 байт данных и все заголовки с кодами коррекции ошибок к ним. По завершении форматирования создается транслятор. В свое время в BIOS`ах AT и TX машин была опция низкоуровневого форматирования, но это было нужно для синхронизации контроллера HDD, материнской платы и самого HDD. В наши дни целесообразность данной процедуры отпала, и производитель исключил эту возможность в обычном режиме работы HDD.
Да и операция эта не так безобидна, как кажется на первый взгляд: во-первых, она возможна только если диск переведен в технологический режим, а, во-вторых, длится не один час, и если в процессе форматирования пропадет электричество, то транслятор перезаписан не будет и HDD придется нести в сервисный центр на восстановление.
По незнанию многие пользователи называют низкоуровневым то форматирование, которое выполняется в среде DOS при создании файловой системы. Это не так. Данный вид форматирования называется логическим или высокоуровневым (а еще правильней — созданием файловой системы), и этот тип форматирования мало отличается от того, которое выполняется средствами Windows или внешними программами, такими как Partition Magic, Acronis Partition Expert и т.п.
Программа Victoria
Программа предназначена для диагностики, тестирования и мелких ремонтов жестких дисков с интерфейсами P-ATAS-ATA и многими разновидностями внешних IDE-контроллеров. Может работать в режимах LBA 28 и 48 bit. Требования программы настолько низки, что и говорить неудобно, единственное, что не помешает, так это хорошее охлаждение и качественный БП.
Victoria находится на сайте http://hdd-911.com, имеет статус freeware и размер архива примерно 200 Kb. Написана на языке Ассемблера. Автор программы — специалист в области восстановления данных Сергей Казанский.
На сайте программы появилась версия 4.2 API Edition, которая без всяких хитростей может работать напрямую с системным диском в среде Windows NT2000XP через API. Но мы рассмотрим версию 3.4, которая работает в среде DOS.
Есть возможность установить версию 3.4 и на Windows 9xXP, но в этом случае нужны два HDD (один системный, другой пациент) и некоторые шаманские пляски. Я когда-то имел дело с версией 3.4, установленной на Windows XP, но она, увы, блокировала доступ к HDD в ОС и до переустановки системы ни Partition Magic, ни Acronis Partition Expert доступ к системному HDD получить не смогли.
Версия для однозадачного режима наиболее оптимальна, потому что к диску обращается только она, и задержек при тестировании и выявлении дефектов будет минимум.
После того как вы скачали архив с программой, его нужно распаковать и, вставив чистую дискету в дисковод, запустить файл MAKEDISK.BAT, он произведет подготовку загрузочной дискеты. Ее желательно сохранить и создать копию, обидно будет в случае аварии получить неработоспособную версию.
На сайте также можно скачать образ iso для прожига на CD. Но при загрузке с CD отпадает возможность делать текстовые скриншоты (рис. 1), которые записываются на дискету в формате txt в папку SCR.
Victoria не может испортить ваш жесткий диск. Она посылает контроллеру только стандартные шестнадцатеричные команды ATA, например, для остановки шпиндельного двигателя, команду E2h, а для идентификации диска — ECh. Возможность команды 50h (Low Level Format) исключена. Единственное, с чем нужно быть осторожней, это с установкой паролей и изменением физического размера дискового пространства.
Вот перечень некоторых возможностей программы:
- Remap по нескольким методикам.
- Выбор канала или контроллера с установленным HDD вручную.
- Установка и снятие пароля на HDD.
- Управление уровнем акустического шума. Достигается уменьшением скорости перемещения блока магнитных головок к трекам. Снижается шум, тепловыделение и время доступа к данным.
- Тесты механики, покрытия, термических свойств накопителя и его скоростных характеристик.
- Перенос данных из поврежденных областей накопителя в рабочие.
- Обнуление накопителя. На поверхность записываются нули блоками по 265 секторов.
- Стирание диска без возможности восстановления данных (некий отдаленный родственник Low Level Format).
- Просмотр SMART жесткого диска.
- Возможность «урезать» жесткий диск. То есть, был винт 120 Гб, а стал 100 Гб. И его не увидит ни Partition Magic, ни Fdisk. Так поступают и некоторые производители материнских плат, помещая в такие области резервную копию BIOS для восстановления. В этой области можно хранить данные и в нужный момент открыть, не боясь, что их повредил вирус или юзер (что в некоторых случаях синоним).
- Чтение области диска в файл и запись из файла на диск от начала LBA и до окончания файла (максимальный размер файла при этом не должен превышать 2 Гб).
Настройка теста
Сразу оговорюсь: за неимением «бэдастого» диска и сомнительного качества снимков с ЦФК все скриншоты был сделаны на Virtual PC 2004. Но сути дела это не меняет.
Перед запуском Victoria предлагает выбрать загрузку между типами платформ Notebook и Desktop, но, подумав несколько секунд, выбирает значение по умолчанию, Desktop.
После загрузки перед нами возникает окно программы (рис. 2).
Наша задача сейчас протестировать диск и, если на нем будут подозрительные секторы, попытаться их восстановить или перенести в G-List. Во время работы с программой можно воспользоваться справкой, нажав F1 (рис. 3). Вообще программа снабжена очень мощной справочной системой, которая может быть как контекстной, так и контекстно-независимой. Еще можно создать для себя файл-подсказку и, перекодировав его в CP-866, закинуть в корень дискеты. Читать файлы можно встроенным файловым менеджером (рис. 4).
Для начала нужно выбрать жесткий диск, установленный в системе (если их не один J). Это делается нажатием клавиши P (латинского алфавита). Если у вас внешний IDE контроллер или диск имеет интерфейс S-ATA, то вам нужно выбрать самый нижний пункт Ext. PCI ATA/SATA и там указать, на каком канале «сидит» HDD. Один нюанс: номер канала вводить нужно не с дополнительного цифрового блока, а с верхнего, что над QWERTY.
Для запуска сканирования поверхности нужно нажать F4, и перед нами предстанет меню работы с поверхностью (рис. 5). В этом меню можно выбрать метод сканирования, тип remap, стирание диска, запись из файла и PIO чтение в файл, а также проверку интерфейса.
Кратко опишу назначение каждого поля из пяти:
В поле Start LBA выбирается начальный сектор, с которого начнется проверка, а в поле End LBA выбирается сектор, на котором проверка будет закончена. Выбираем так: переводим курсор стрелками на верхнее поле, нажимаем Enter, вводим, с какого сектора начинать, и подтверждаем Enter`ом. Та же процедура и в следующем поле, но только здесь указываем сектор окончания теста.
В следующем поле выбираем тип чтения:
Линейное чтение — во время этих тестов пространство делится на блоки по 256 секторов. При этом замеряется время доступа к каждому блоку. Во время линейного чтения данные с диска считываются, но по интерфейсу не передаются. Этот тест самый быстрый из представленных в Victoria.
Случайное чтение — адреса блоков выбираются генератором случайных чисел. Доступ к блокам проходит несколько дольше, по причине хаотичного перемещения магнитных головок. Данный тип чтения эмулирует поведение диска при работе с многозадачной операционной системой и не имеет окончания.
BUTTERFLY — чтение происходит блоками по 256 секторов, попеременно. Сначала читается блок из конца диска, затем блок из начала диска, и так до тех пор, пока блоки не «встретятся» в центре. К слову сказать, этот метод является профессиональным и применяется во время тестирования HDD на заводе.
Еще в этом поле есть возможность выбора таких опций, как PIO-чтение, PIO-чтение в файл, запись (обнуление), проверка интерфейса, а также запись из файла.
После выбора метода чтения нужно выбрать один из четырех типов ремаппинга:
Ignore Bad Block — Remap отключен.
BB Classic Remap — весьма спорный тип скрытия дефектов, по той причине, что происходит единичная попытка записи в сектор (а этого может быть недостаточно для исправления дефекта). Более сложные алгоритмы проверки делают далеко не одну попытку перезаписи сектора. Перезаписывает данные только одного сектора, так что потери данных не происходит, за исключением того файла, который располагался в дефектном секторе и уже был частично поврежден.
BB Advanced Remap — более продвинутый метод скрытия дефектов. Главное отличие от Classic Remap в том, что этот метод более чувствителен и производит не одну, а десять попыток записи сектора. Если все будет нормально, то Victoria запишет данные в этот сектор и он не попадет в G-List. Ну, а если перезаписать этот сектор не удастся, то он будет объявлен дефектным и ему будет сделан assign.
BB Fujitsu Remap — Remap винчестеров фирмы Fujitsu определенных моделей. В этот метод ремаппинга заложены алгоритмы, улучшающие работу с HDD дисками этой фирмы, да и то некоторых моделей.
BB Erase 256 Sect — стирает выделенный участок диска, блоками по 256 секторов, и записывает туда нули. В некоторых случаях помогает избавиться от логических бэдов, когда их очень много. Это и есть «обнулитель» диска.
Дефектоскоп — применяется в основном для углубленного анализа поверхности и интерфейса и служит для отличия регулярных ошибок от случайных, нам он пока не потребуется.
Для достижения более качественных результатов ремаппинга автор программы Сергей Казанский советует сочетание режима сканирования BUTTERFLY с Advanced Remap.
Настроили? Запускаем тест!
Перед началом проверки поверхности или ремаппинга нужно отметить границы пространства LBA, которое мы будем сканировать, или оставить для проверки все пространство диска. Затем выбрать режим BUTTERFLY и параметр ремаппинга Advanced Remap. После выбора нажимаем Enter или F4. Все, тест или тест плюс Remap в процессе (рис. 6).
Когда программа будет находить секторы, в которых встречаются задержки, она в правом нижнем окошке нарисует прямоугольник, цвет которого будет сигнализировать о времени этой задержки. Бэды будут отображаться красными крестиками, а в поле «Дефекты» будет указан адрес дефектного сектора и тип ошибки, которую вернул контроллер (например, логический бэд имеет код ошибки UNCR). Если у вас запущен скан в сочетании с ремаппингом, то на месте бэда, который контроллер переместил в G-List, появится синяя заплатка.
На практике редко встречаются диски с отсутствием задержек 50 ms, поэтому не следует отчаиваться, когда Victoria нашла на поверхности пластины задержку даже в 200 ms. Они могут возникать по вине многих факторов, ведь HDD работает не в технологическом режиме. Главное, чтобы не было более существенных задержек. У меня, например, при работающем кулере почти впритык к жесткому диску Victoria выдавала девятнадцать задержек 50 ms, а когда я отключал кулер, их количество уменьшалось до четырех.
Напоследок
Настоятельно рекомендую при более серьезных действиях хорошо изучить справку, благо она очень подробная и профессиональная, а то у меня один знакомый поставил User-пароль на диск, а потом платил деньги специалистам за его снятие. Пароли и изменение размера диска — это очень ответственное дело и вы его делаете на свой страх и риск, как бы банально это ни звучало.
Мне с помощью этой чудесной программы удалось скрыть дефекты на четырех «бэдастых» винтах. Если дефекты продолжают появляться, накопитель желательно не использовать вообще, ну, или хранить на нем данные, не критичные к ошибкам при восстановлении — например, видео, звук, текстовые файлы. Exe`шник или архив вам скорей всего запустить не удастся.
Статья подготовлена с использованием программы Victoria (free), все права на программу принадлежат Сергею Казанцеву
Максим ДЕРКАЧ aka Astra
Web-droid редактор
Не пропустите интересное!
Підписывайтесь на наши каналы и читайте анонсы хай-тек новостей, тестов и обзоров в удобном формате!
Планшет Samsung Galaxy Tab S10 Ultra (SM-X926B): многое
Новый планшет Samsung Galaxy Tab S10 Ultra получил большой 14,6”-экран, топовый процессор Mediatek Dimensity 9300 и стилус S Pen. Попробуем разобраться для чего такой девайс
Семиместный внедорожник Hyundai Ioniq 9 получил электромотор и запас хода до 620 км Hyundai автомобиль электротранспорт
Hyundai представила Ioniq 9 — электрический внедорожник с тремя рядами сидений, основанный на платформе E-GMP
Еще один бренд капсом. Redmi обновляет логотип и стратегию развития компании Redmi бизнес дизайн
Redmi, суббренд Xiaomi, представил новый логотип, написанный заглавными буквами «REDMI», символизирующий стратегическую трансформацию компании