PC-3000 for HDD. Seagate F3. Разблокировка накопителей Rosewood. | Блог разработчиков PC-3000

Немного истории

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

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

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

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

Прошло совсем немного времени, прежде чем изготовители додумались до очень интересной вещи: если пользователь все равно помечает bad-блоки, как ненужные, рассудили они, то почему бы не пометить их прямо на заводе? Но как это сделать, если на винте нет никакой файловой системы, и неизвестно, какая будет?

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

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

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

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

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

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

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

Это сделало невозможным применение универсальных утилит низкоуровневого форматирования из-за того, что транслятор таких винтов научился скрывать физический формат накопителей, переводя его в виртуальный. Написанное на корпусе винта число цилиндров, секторов и головок, перестало соответствовать своим истинным значениям, и попытки отформатировать такой винт старыми утилитами, как правило, заканчивались неудачно: его контроллер отвергал стандартную ATA-команду 50h, или просто имитировал форматирование, заполняя винт нулями.

Это было специально оставлено для совместимости со старыми программами. По этой же причине процедура Low-Level Format была исключена из BIOS современных материнских плат. А чтобы сделать таким винтам настоящее низкоуровневое форматирование, нужно было обойти транслятор, получив прямой доступ к физическим дорожкам и головкам.

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

Часто такое форматирование нельзя было сделать через стандартный IDE-интерфейс: многие модели винтов выпуска 90-х годов — Conner, Teac и др., а также все современные Seagate, требуют подключения отдельного разъема к терминалу через COM-порт. Что касается технологических утилит, то они никогда широко не распространялись и обычному пользователю были недоступны.

Для широкого применения были написаны программы-дурилки, осуществляющие псевдо-форматирование через интерфейс: заполнение диска нулями для очистки его от информации. Это видно даже из названий этих утилит, которые можно найти на сайтах производителей хардов: wdclear, fjerase, zerofill и т.д.

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

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

.3. Случай установленного пароля.

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

.4. Пересчет транслятора.

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

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

Страницы: 1234567891011121314151617181920212223242526272829303132333435363738

Подготовка винчестера на заводе

Перед скрытием bad’ов на заводе очень важно выявить все, даже очень маленькие дефекты, а также нестабильные участки, которые могут со временем перерасти в bad’ы. Ведь если такое случится в процессе эксплуатации, пользователь может лишиться важного файла, да и репутация фирмы, выпустившей такой «недоделанный» накопитель, будет испорчена.

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

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

Современные винчестеры имеют два основных дефект-листа: один заполняется на заводе при изготовлении накопителя и называется P-list (-первичный), а второй называется G-list (от слова — растущий), и пополняется в процессе эксплуатации винта, при появлении новых дефектов.

Кроме того, некоторые винты (в частности — Quantum Fireball серий ST и TM), имеют еще и лист серво-дефектов (сервометки, наносимые на пластины винчестеров, тоже иногда имеют ошибки), а многие современные модели содержат еще и список временных (pending) дефектов.

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

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

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

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

:/>  Как изменить пароль Учетной записи Майкрософт в Windows 10

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

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

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

Новые технологии

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

И достаточно сделать что-то неправильно, чтобы угробить накопитель. Приведем простой пример: пользователь решил сделать «настоящее» низкоуровневое форматирование путем запуска подпрограммы ПЗУ в технологическом режиме. Процесс обычно длится 10-60 минут, но тут случается перебой с питанием или банальное зависание — и винт остается без транслятора, т.к. просто не успевает его заново создать.

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

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

А им лишний геморрой, естественно не нужен — гораздо важнее заставить винт отработать гарантийный срок. Поэтому несколько лет назад в накопители стали закладывать возможность самостоятельно «ремонтировать» сбойные участки — делать ремап. Как было сказано раньше, ремап не нашел применения при заводской подготовке накопителей, но оказался очень удачным решением для скрытия дефектов в бытовых условиях.

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

Эта технология получила название automatic defect reassignment (автоматическое переназначение дефектов), а сам процесс — reassign. Таким образом remap и reassign — это по большому счету одно и тоже, хотя термин reassign обычно применяют к отдельному сектору, а remap — ко всему диску.

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

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

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

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

Поэтому, в большинстве случаев для производства ремапа винт надо об этом «попросить» — произвести принудительную низкоуровневую перезапись сектора в обход стандартных функций ОС и BIOS. Это делается программой, способной обращаться к винту напрямую через порты IDE-контроллера. Если во время такой записи возникнет ошибка, контроллер автоматически заменит этот сектор из резерва, и BAD исчезнет.

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

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

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

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

Снова о S.M.A.R.T.

Почти все винчестеры, выпущенные после 95-го года, имеют систему оперативного наблюдения за своим состоянием — S.M.A.R.T. (Self Monitoring And Reporting Technology). Эта технология позволяет в любое время оценить такие важные параметры накопителя, как количество отработанных часов, число возникших в процессе чтения/записи ошибок и многое другое.

Первые винчестеры, оснащенные этой системой (например WD AC21200) имели очень несовершенный SMART из четырех-шести атрибутов. Но вскоре был разработан стандарт SMART-II, и с момента его появления в большинстве накопителей появилась такая особенность, как внутренняя диагностика и самоконтроль.

Эта функция основана на проведении серии автономных внутренних тестов, которые можно запустить стандартными ATA-командами, и предназначена для углубленного контроля за состоянием механики накопителя, поверхности дисков и многих других параметров. После выполнения тестов, накопитель в обязательном порядке обновляет показания во всех SMART-атрибутах, в соответствии со своим текущим состоянием.

Время тестирования может варьироваться от нескольких секунд (Quantum) до 54 минут (Fujitsu MPG). Активизировать тесты SMART можно, например, программой MHDD (консольная команда «smart test»). После запуска тестов возможны «странные» явления, очень похожие на те, что возникают при работе дефрагментатора: непрерывное горение индикатора HDD и звук интенсивного движения головок.

Виды дефектов и причины их появления

Настало время разобраться, а отчего, собственно, возникает такая неприятность, как бэды? В UPGRADE #49 мы рассмотрели лишь внешние причины, способствующие их возникновению. А теперь пришло время взглянуть на проблему с другой точки зрения — со стороны самого винчестера. Для этого рассмотрим структуру сектора, в том виде, каким его видит электроника винта «изнутри»:

Рис. 1. Упрощенная структура сектора жесткого диска.
Рис. 1. Упрощенная структура сектора жесткого диска.

Рис. 1. Упрощенная структура сектора жесткого диска.

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

Он служит для сообщения контроллеру о том, что сектор находится под головкой. Затем следуют ячейки, в которых содержится уникальный адрес сектора в формате CHS (2) и его контрольная сумма — для проверки целостности записанного адреса (3). 512 байт данных пользователя помещаются в отдельном поле (4), к которому при записи добавляется несколько десятков байт избыточной информации, предназначенной для коррекции ошибок чтения с помощью ECC-кода (5).

Рядом с данными размещается 4 байта циклической контрольной суммы (CRC) данных, которая служит для проверки целостности данных пользователя, и сообщения системе коррекции ошибок при ее нарушении (6). Для более надежной работы сектора при колебаниях скорости вращения имеются байты-пробелы (7). У некоторых винчестеров имеется дополнительный байт после AM — в нем сектор помечается как BAD.

Pc-3000 for hdd. seagate f3. разблокировка накопителей rosewood.

1

Здравствуйте друзья!

В последней версии PC-3000 v6.3.12 мы добавили новейшую возможность разблокировки накопителей Rosewood. Теперь мы можем получить доступ к сервисной и пользовательской области всего за несколько кликов! Как это сделать? Прочтите статью ниже.

У нас есть накопитель ST1000LM035-1RK172, который заблокирован. Если мы попытаемся запустить утилиту, мы получим следующую ошибку:

2

Это означает, что диск заблокирован и SA (Сервисная область) недоступна.

Сначала мы должны прочитать ПЗУ с помощью COM-порта.

Перейдите в Инструменты ->Расширения утилиты ->Работа с образом FlashПЗУ

3

Прочитайте ПЗУ:

4

В следующем окне мы должны нажать кнопку с восклицательным знаком и выбрать Подготовка к разблокировке Techmode, (patch) .

55

Выберите «Нет» в следующем окне:

6

Отчет об успешном результате будет отражен в журнале:

77

Затем мы сохраняем изменения в ПЗУ, нажимая кнопку «Применить» на той же вкладке «Запись ПЗУ»:

:/>  Explorer exe в реестре windows 7

8

9

И перезапускаем питание накопителя.

После перезапуска накопителя мы увидим знакомое сообщение во вкладке «Терминал»:

10

И, как это было сделано для заблокированных дисков, используем меню UnlockTech, HDD подготовлен утилитой:

11

Накопитель переходит в состояние готовности с обычными терминальными сообщениями:

12

После обновления статуса утилиты появляется доступ к сервисной области накопителя:

13

Доступ к сервисной области накопителя:

14

А также к пользовательской области:

15

Если мы перезагрузим диск, нам нужно выполнить еще раз команду UnlockTech, HDDподготовлен утилитой.

Видео о разблокировке накопителей Seagate F3 Rosewood

Обращайтесь в Портал поддержки пользователей если у вас есть какие-либо вопросы.

Винчестер не определяется в bios

В один прекрасный день винчестер может начать медленнее работать или даже зависать. А после перезагрузки может не определиться в BIOS, при этом винчестер постоянно находиться в состоянии BUSY.

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

  • аппаратные нарушения в работе HDD (неисправность платы контроллера, головок и т.д.);
  • повреждение служебной информации (SMART, G-List, транслятор).

В случае повреждение служебной информации жесткого диска микропрограмма управления блокирует его работу. Терминал управления винчестером в этом случае выдает код ошибки “LED:000000CC FAddr:0024A051”, после чего жесткий диск перестает реагировать на какие-либо команды извне (или определяться в BIOS).

Винчестер не определяется в bios, но объем жесткого диска равен нулю

Жесткий диск обычно корректно отображается в BIOS (в зависимости от типа BIOS-а может не определяться, определяться неправильно, выдавать сообщение: “HARD DISK ERROR”), однако объем его определяется как нулевой, а значит, работать с ним невозможно и требуется соответствующий ремонт и восстановление данных.

Восстановление данных Seagate 7200.11

Причиной данной неисправности может быть:

  • разрушение таблиц служебной информации жесткого диска (SMART, G-LIST, транслятора);
  • неродная плата контроллера;
  • нарушение контакта между платой контроллера и гермоблоком.

Восстановление данных жесткого диска

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

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

Что не нужно делать, для восстановления данных:

  • Основная причина в сбое “транслятора”, а не в порче микропрограммы прошивки, поэтому попытка обновления микрокода ни к чему не приведет.
  • Замена платы контролера также не поможет.
  • Если Вам пообещали обновить прошивку винчестера с SD15 на более новую на неисправном винчестере, бегите из этой фирмы.

Стоит отметить, что встречаются такие проблемы у следующих моделей:

  • Seagate Barracuda 7200.11
    ST3500620AS, ST3500820AS, ST3500320AS, ST3640330AS, ST3750330AS, ST3640530AS, ST31000340AS, ST3750630AS. ST3160813AS, ST3640323AS, ST31500341AS, ST31000333AS, ST3640623AS ST3320613AS, ST3320813AS, ST31500341AS, ST31500341AS, ST31000340AS, ST3750330AS, ST3750630AS, ST3500320AS, ST3500620AS, ST3500820AS, ST31500341AS, ST31000333AS, ST3640323AS, ST3640623AS, ST3320613AS, ST3320813AS, ST3160813AS, ST31000333AS.
  • Seagate Barracuda ES.2
    ST3750330NS, ST3250310NS, ST3500320NS, ST31000340NS, ST3250310NS, ST3750330NS, ST3500320NS, ST3250310NS, ST31000340NS, ST3750330NS, ST3500320NS, ST3250310NS.
  • DiamondMax 22
    STM3750330AS, STM3500320AS, STM31000340AS, STM3750330AS, STM3500320AS, STM3320614AS, STM31000334AS, STM3640323AS, STM3160813AS.

Заклинивание двигателя

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

Что нельзя делать:

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

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

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

Логические дефекты

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

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

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

Если и это не поможет (а оно не поможет, так как контрольная сумма заведомо неверна), то он, используя избыточность кода, попытается скорректировать ошибку, и если это не получится — винт выдаст ошибку внешнему устройству. Со стороны операционной системы это будет выглядеть как BAD.

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

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

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

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

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

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

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

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

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

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

«Адаптивные» бэды отличаются от обычных тем, что они «плавающие»: сегодня они есть, а завтра могут исчезнуть и появиться совсем в другом месте. Ремапить такой винт бесполезно — дефекты-призраки будут появляться снова и снова. И при этом дисковая поверхность может быть в безупречном состоянии!

Лечатся адаптивные бэды прогоном selfscan’а — внутренней программы тестирования, аналогичной той, что применяется на заводе при изготовлении винтов. При этом создаются новые адаптивы, и винт возвращается к нормальному состоянию. Это делается в условиях фирменных сервис-центров.

Намечающиеся дефекты

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

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

Поэтому диски нужно периодически тестировать. Это можно делать программой Scandisk или Norton Disk Doctor в режиме тестирования поверхности, но лучше — специальной утилитой, работающей независимо от файловой системы и умеющей выявлять намечающиеся BAD’ы, замеряя время чтения каждого сектора.

:/>  Все команды MS-DOS —

О практике работы с секторами рассказано следующей статье.

Прошивка жесткого диска seagate

Еще одна непростая проблема с сигейтами, которую удалось решить с помощью так называемой прошивки HDD Seagate (загрузки микрокода по интерфейсу).

Прошивка HDD Seagate

На сей раз – ноутбучный HDD ST9500325AS при подаче питания на слух рекалибруется, висит в BUSY, в диагностический порт выдает только:

Rst 0x08M

И всё. Терминального функционала после старта нет, так как диск зависает. До меня диск был в другом месте, где ему поменяли блок головок (обычно так всегда, если не понимают, что с винчестером не так, сразу меняют головы – на всякий случай). Само собой, в деле восстановления пользовательских файлов замена голов чтениязаписи в данной ситуации никак не помогла и диск принесли в СЦ “Хардмастер”.

Терминальный функционал на данной линейке накопителей заложен производителем в код ПЗУ, включается после подачи питания на интерфейс. Выглядит это таким вот образом:

Rst 0x08M
RW cmd 002F req = 18 F0 9F E5 18 F0 9F E5 18 F0 9F E5 18 F0 9F E5 18 F0 9F E5 00 00 A0 E1 
            opts = 00000000

RW Err = 84150180

ASCII Diag mode

F3 T>

Т.е. ошибка позиционирования по сервометкам, остановка шпиндельного двигателя и готовность в регистрах с готовностью отвечать на терминальные запросы. В такой позиции можно командой раскрутить двигатель, поднять с поверхности diag ovl и прочитать по АТА все описанные по id модули, а так же все модули, описанные в system volume. Все модули считались без ошибок, и на первый взгляд не содержали в себе ничего крамольного, что могло бы приводить к зависанию накопителя при штатном старте.

Сразу возникло подозрение на сбой в таблицах трансляции, но попытка пересчёта привела к такому результату:

Max Wr Retries = 00, Max Rd Retries = 00, Max ECC T-Level = 14, Max Certify Rewrite Retries = 2DF8

DiagError 0000500D 
User Partition Format Failed - Elapsed Time 0 mins 00 secs        
R/W Sense 00000002, R/W Error 843200A2, File Error 00000000
Blk Addr AD6F0001, Blk Addr Type D0, Cyl FFFF0000, Hd EC

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

System Partition Format Successful - Elapsed Time 2 mins 00 secs

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

Unable to load Diag Cmd Processor Overlay

Для того, чтобы получить полный функционал в такой ситуации, требуется записать оверлеи на поверхность, чтобы диск их считал. А для того, чтобы получить возможность произвести запись на поверхность диск должен их прочитать ранее. Замкнутый круг. Как найти выход из такой ситуации?

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

После этой операции пересчет транслятора завершился успешно

Max Wr Retries = 00, Max Rd Retries = 00, Max ECC T-Level = 14, Max Certify Rewrite Retries = 2DF8
User Partition Format Successful - Elapsed Time 0 mins 00 secs 

И, финальный штрих – запись ранее сохраненного транслятора (id2Bh). После переподачи питания диск выдал привычное:

Rst 0x08M
(P) SATA Reset

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

Ремонт винчестера:

Устранить эту ошибку можно только при помощи специального оборудования для ремонта винчестеров и восстановления данных (например комплекс PC-3000), через терминальный интерфейс, подключившись к HDD напрямую и выполнив пересчет транслятора. Как правило, после этого жесткие диски Seagate Barracuda 7200.11 могут работать еще какое-то время.

В сети существует информация, что виной всему микропрограмма управления (firmware) и для того, чтобы восстановить винчестер Barracuda 7200.11 достаточно обновить прошивку в контроллер винчестера. Несмотря на то, что компания Seagate выпустила обновление микрокода для этой модели, перепрошить нерабочий винчестер не получится!

Наши советы:

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

Стандартные неисправности серии barracuda 7200.11

Восстановление жесткого диска Seagate Barracuda 7200.11

Физические дефекты

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

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

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

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

Это будет выглядеть как жирный и особо наглый BAD, или даже как группа BAD’ов. Их присутствие часто сопровождается стуком головок, зависанием накопителя и невозможностью исправить его обычными утилитами. Устранение таких дефектов возможно только специальными программами, путем отключения дефектных дорожек, а иногда и всей дисковой поверхности.

Для этих целей в некоторых накопителях имеется серводефект-лист, хранящий информацию о плохих сервометках. В отличие от P- и G-листа, серводефект-лист используется не транслятором, а всей микропрограммой винта. К секторам, имеющим дефектные сервометки, блокируется доступ даже по физическим параметрам, что позволяет избежать стуков и срывов при обращении к ним. Самостоятельно винт восстановить сервоформат не может, это делается только на заводе.

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

Итоги #7:

М

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

После успешной инициализации редактируем паспорт, чтобы затем вычитать все критически важные модули (дефект-листы, транслятор, media cache и т.д.).

Вычитав модули, проверяем головки на запись (на некритичных модулях). Первые две имеют возможность записи, на последней – диск зависает. Правим паспорт непосредственно в служебной зоне и отключаем media cache. Идем в Data Extractor, строим карту голов (на случай, если придется исключить зону по какой-либо голове). Уже через минуту становиться понятно, что по 3-ей голове начинает разрастаться запил, чтение сопровождается зависаниями и стуками. В дальнейшем мы отключаем эту голову (с помощью правки карты голов в ОЗУ). После повторной промывки, пытаемся продолжить работу с пользовательской зоной.

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

Как только мы получили доступ к разделу внешнего жесткого диска, стало понятно, что часть папок уже не на месте. Но к счастью, важной среди них не было. Отметив нужные файлы, процесс восстановления был запущен. Но сейчас, уже без участия 3-ей головы и части плоскостей при пересечении которых, накопитель мог снова начать «пилиться».
Итоги: вычитано 29,4Gb из 85Gb или около 34%. Под конец, накопитель позволял выйти в готовность лишь по 2-ой голове (или 0-я на скриншоте).

Оставьте комментарий

Adblock
detector