PC 3000 настройка параметров чтения Data Extractor

Текстовая версия ролика с канала R.LAB —  https://www.youtube.com/watch?v=HtP3-_M5x44

В качестве демонстрационного диска я выбрал довольно старый диск Seagate емкостью всего 1Гб. У него есть поврежденные сектора, их сравнительно небольшое количество и диск маленький. Это позволяет достаточно быстро показать основные особенности чтения таких дисков.

Запускаем диск…

pic01

После того, как он вышел в готовность запускаем DataExtractor…

pic02

Создаем новую задачу…

pic03

pic04

Работаем с PATA0.

pic05

Читаем паспорт…

pic06

Создаем копию…

pic07

Выбираем File Image…

pic08

Давайте посмотрим есть ли данные на этом диске.

pic09

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

pic10

И в режиме просто чтения посмотрю параметры.

pic11

Здесь начальный LBA — 0, конечный LBA — полный размер диска, направление — вперед, количество — 256. «Пропускать сектора с потерей готовности» — это те места, где диск будет зависать так, что его можно будет снова запустить только через выключение/включение питания.
Галочку «Пропускать сектора, прочитанные с ошибкой» не ставим — их не нужно пропускать.
Настройки по-умолчанию в Data Extractor достаточно адекватные и для большинства случаев подходят. Поэтому остальные элементы оставляем как есть. Еще хотел бы обратить внимание — из-за того, что диск старый, режимы Ultra DMA не поддерживаются.

pic12

Нажимаем применить и запускаем процесс.

pic13

Появится диалоговое окно «Выполнять в фоновом режиме?» — это достаточно новая вещь.

pic14

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

pic15

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

pic16

В нашем случае — диск читается достаточно быстро. Потому, что вмещает всего лишь 1.3 Гб. По современным меркам объем очень смешной, но для демонстрации — достаточно показателен.
Программа Data Extractor нашла первый ошибочный сектор, но вполне быстро с ним справилась и пошла дальше.

pic17

Спустя какое-то время еще в нескольких местах найдены ошибки. Обратите внимание, на название ошибки — UNC (Uncorrect). Это означает, что не читаются именно поля данных.
Если два раза кликнуть на поле с ошибкой, то можно посмотреть историю процесса.

pic18

Еще найдена ошибка ABR. Насколько я помню — это особенность работы платы PC-3000. То есть, ошибку может выдавать не сам жесткий диск, а попытка установить режим Ultra DMA.
Похоже на то, что на диске есть радиальная царапина потому, что на каждом треке есть по одному-двум дефектным секторам.

pic19

И на современных дисках ситуация такая же, хотя там, как правило, не один дефектный сектор, а штук 8 или 16. В следующей статье, посвященной этой теме, мы посмотрим современный диск. Конечно, с ним нужно будет дольше работать, чем с этим маленьким, на котором можно оперативно показать весь процесс — от и до. Но суть и принцип такие же.
Перед нами именно царапина. Это становится понятно из опыта работы с такими дисками. Картина всегда характерная: через определенные одинаковые промежутки располагаются дефектные сектора (2-2-1, 2-1-2 и т. д.) и идут как-будто столбиками.
На дисках есть два разных вида принципиальных ошибок.
Один вид ошибки — это царапина, то есть поврежденная цепочка секторов где-то по 1-2-3 сектора на каждом треке.
Второй вид ошибки — это недописанные сектора. Она возникает, когда жесткий диск производил запись крупного блока данных и эти данные просто не записались или записались, но повредили соседние данные. Тогда будут крупные промежутки поврежденных областей. На жаргонном языке такие повреждения называются запилы. Это может быть очень большой объем не читающихся данных. Он может быть по одной магнитной головке жесткого диска, может по всем.
Диагностируемый жесткий диск старый, поэтому карту голов мы не можем построить, так как утилита про это ничего не знает.
В таких случаях, приходится вычитывать все дефекты, не полагаясь на то, что мы знаем, на какой голове какая ошибка.
Конечно, в случае очень крупных поврежденных областей, помогает именно карта голов. Но здесь небольшие повреждения, так что без нее можно обойтись.
Напомню, что карта голов — это некий алгоритм, заложенный в технологический режим жесткого диска, который позволяет сопоставить логический сектор LBA с физической головкой. То есть — по какой физической головке лежит конкретный сектор. Это позволяет прочитать сектора обычной командой, но только по той головке, по которой нам нужно. То есть не технологической командой какого-то супер хитрого чтения, а просто обычной командой, но она просто не будет обращаться к тем секторам, которые лежат по неисправной головке или которую мы хотим пропустить. На ней, допустим, слишком много царапин, а на других головках этих царапин нет. Поэтому лучше прочитать те, которые быстро читаются, а ту, которая медленно читается отложить на потом.
Зачем нужно откладывать на потом? Дело все в том, что диску через какое-то время может стать хуже, то есть он может запилиться, пыль может накопиться в нем и повредить другие данные. Поэтому, когда мы работаем с диском, то нужно как можно быстрее прочитать все, что читается быстро. Затем уже изучать и смотреть более детально те области которые читаются медленно на предмет какие из них вероятно прочитать, а в какие вообще лучше лучше не лезть, так как диск может при этом сломаться. Умение распознать какие области относятся к тому или иному типу приходит с опытом и, в общем-то, это не не так сложно, этому можно научиться просто читая диски и смотря как какой они себя ведут.
В данном примере была одна область с царапиной, потом был достаточно крупный промежуток, где все читалось, а где-то с середины теста пошла вторая область, где идут ошибки чтения.
Еще хотелось бы сказать, о том, что понимание алгоритмов работы Data Extractor у старых специалистов значительно более насыщенное, чем у молодых. Это оттого, что старые специалисты видели подобные старые диски, в которых были проблемы попроще и поэтому на них учиться более наглядно. Это почти как дискета — все там довольно просто, тривиально и даже осциллографом можно посмотреть какие сигналы там приходят с поверхности.
Кстати, к этим дискам тоже можно подключить современный осциллограф и увидеть сигнал с головки, сервометки и прочие возможности. У нас на канале есть видео, где это можно посмотреть. Ну и я планирую еще делать видео по физической конструкции диска. В ближайшее время выйдет видео про шпиндельный двигатель и сервосистему. Будет интересно посмотреть более детально, как это все работает в диске.
Ну а в нашем тестируемом диске тоже, достаточно простая проблема, а именно — царапина не по всей поверхности, а только местами. На то, как эта царапина читается интересно посмотреть. При этом видно, что большая часть данных с диска прочитана и нет такого, что мы можем только несколько секторов с этого диска прочитать или вообще ничего не можем прочитать.
Данные в основном читаются, можно даже их посмотреть. Обычно такие шумоподобные данные, то есть не какая-нибудь структура или текст, содержат архивы, музыку, видео.

pic20

А здесь произошла другая ситуация, появился красный сектор на экране — это сектор с потерей готовности.

pic21

Что такое потеря готовности… Если посмотреть в правый верхний угол программы, то там видны мигающие квадраты — они отсчитывают тайм аут, сейчас он установлен на 15  секунд.

pic22

Если сектор в течение 15 секунд не вышел в готовность, то DataExtractor помечает его как потерявшего готовность.
Если открыть окно «Параметры» и перейти на вкладку «Потеря готовности», то мы увидим сценарий действий.

pic23

При потере готовности мы подаем сперва программный сброс, затем аппаратный сброс, потом выключаем/включаем питание. Но в данном случае, скорее всего программный сброс у нас привел к тому, что диск вышел в готовность. Кстати, на современных дисках программный сброс практически никогда эту проблему не решает и аппаратный приводит к зависанию. Значительно чаще используется выключить/включить питание. Хотя возможна ситуация, когда один из таких сбросов пройдет, причем здесь даже попытки есть. Есть разные сценарии вывести накопитель из зависания это зависит очень сильно от бренда накопителя. Возможно вы в курсе, что сейчас только два производителя жестких дисков: Seagate и WD, а все остальное — это их дочерние бренды. Но коллективов разработчиков с определенным стилем создания жестких дисков, набором технологий, стеком технологий существует несколько. Даже внутри того же Seagate раньше было две ветки, одна делала SCSI диски, другая IDE, потом SATA, сейчас они вроде бы объединились, хотя SAS диски у них существенно отличаются. У WD такая же ситуация, то есть SAS, SCSI — это одна команда делала, а IDE и ширпотреб делала другая. Также осталась команда, которая делает те же Hitachi, которые раньше были IBM, потом Toshiba оригинальные. Единственное, полностью исчезла команда разработки Maxtor. Сам Maxtor перешел в собственность Seagate, а команда разработки Maxtor перешла к WD судя по стилю, который появился в Western Digital Marvel.
Вернемся к нашему диску. Такое ощущение, что головка попрыгала по поверхности. Она зацепила поверхность, потом перескочила, потом еще раз зацепила и еще раз. Чтобы понять причину такой ситуации нужно знать, что головка позиционируется на жестком диске двумя импульсами. Первый импульс головку ускоряет, а второй — тормозит. Соответственно, мощность импульса и время между этими импульсами определяет из какого в какое место переместится головка. Направление — это полярность импульса, а амплитуда — это ускорение, с которым будет перемещаться головка и в обратную сторону. То есть надо разогнать головку и затормозить ее. Есть такая ситуация, когда у нас ускоряющий импульс большой мощности был подан на головку, а тормозящий импульс не подался из-за того, что питание выключилось. В результате головка разгоняется до максимально возможной силы и ударяется об упор. В этот момент диск еще вращается, хоть питание и выключено. Шпиндельный двигатель переключается в режим генератора и энергия этой генерации электричества подается чтобы запарковать головку. Но так как головка ударилась об упор она начинает звенеть подобно тому, как звенит вилка, ударившись об стол, ведь блок головок на похож вилку. В момент удара головки вибрируют и эти колебания приводят к тому, что головки касаются поверхности и оставляют царапины. Старые диски этим прямо болели сильно. Современные этим болеют меньше. Это связано с тем, что на части дисков используется слой смазки на поверхности. Обычно это полимерный слой который предотвращает царапины магнитной поверхности. Данные хранятся в металлическом слое и на металлической поверхности. В случае стеклянных дисков — стекло, потом металл, потом слой смазки. Сложно сказать на всех ли дисках используется смазка или нет. Потому, что одно время с ней были проблемы потому, что она отслаивалась и создавала грязь на головке. Хоть грязь внутрь дика не проникает через дышащее окошко и фильтр, но она там образовывалась просто из-за того, что отслаивался этот любрикант и загрязненная головка начинала не на той высоте летать.
Так вот, на старых дисках слоя смазки не было, возможно его нет на каких-то современных. Это зависит от набора технологий, которые использует та или иная команда разработчиков диска. Соответственно, у нас появляются такие царапины пятнами. Выглядит это так, что есть хорошо читающее место по всем дискам, потом, в каком-то месте, по всем дискам плохо читающееся место.
Но на современных дисках еще добавилась проблема, связанная с парковкой вне дисков. Рампа, на которую диски выводятся, со временем деформируется, так как она пластиковая. Эта деформация приводит к тому, что головка не совсем корректно выходит на рампу и сходит с нее и возникают царапины в начале диска. Но некоторые производители хитро делают — они начало диска рядом с рампой ставят в самый конец, чтобы если появлялись дефекты, то они бы появлялись в самом конце диска, который обычно не используется. Есть много разных есть трюков.
Процесс практически подошел к завершению. Произошла потеря готовности, потом желтая линия означающая прыжок, который запрограммирован.
Можно посмотреть размер прыжка. Был прыжок на 256 секторов.

pic24

pic25

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

pic26

Все нюансы чтения я сейчас подробно не расскажу, потому, что это не запомнится, то есть нужно показать такой пример где это прямо нужно, видно и понятно зачем нужны эти прыжки и как оно там себя проявляет.
Поэтому я постараюсь подобрать какое-то количество примеров, чтобы посмотреть как можно больше вариантов настроек чтения диска.
Еще раз напоминаю — это первое видео про тематику настроек Data Extractor и будут еще видео на эту тему. Я подобрал еще один диск — Sumsung, уже современный, на котором очень наглядно видны некоторые комбинации настроек, то есть прямо видно зачем они нужны, что именно такая комбинация ускоряет процесс чтения и уменьшает вероятность, что мы не успеем прочитать данные перед тем, как диск может серьезно выйти из строя.
Дальше здесь я хочу продемонстрировать, что у диска с царапиной есть еще одна особенность. Некоторые сектора, которые изначально не читались могут читаться благодаря тому, что в жестких дисках есть коды восстановления ошибок, так называемый Error Correction Code (ECC) и они появились очень-очень давно, то есть уже у гигабайтного диска были. Но это не касается случаев, при которых произошла некорректная запись и перетерлась информация. Она не читается просто потому, что поверх нее записана ерунда.
Когда процесс завершен, нужно зайти в меню «Сервис → Карта объекта»

pic27

Появляется полная карта диска, видно, что от нуля до конца.

pic28

Нужно выбрать меню «Создание субкарты с учетом легенды».

pic29

Там ставим две галочки:
Сектор не был прочитан (ошибка),
Сектор не был прочитан в связи с отсутствием готовности.

pic30

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

pic31

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

pic32

В фоновом режиме не будем это выполнять, поэтому в появившемся диалоге «Выполнить в фоновом режиме?» — нажать «Нет».
Начинается процесс, в котором Data Extractor идет только по дефектным секторам. Посмотрим после первого прохода удастся ли что-нибудь прочитать.
После завершения процесса прочиталось 11 секторов из 381, порядка 2-3%.

pic33

Такое поведение подтверждает мою гипотезу о том, что это именно царапина. Если это было какое-то другое повреждение, то у нас многократные попытки прочитать сектора не привели бы к требуемому результату. А здесь каждый сектор был еще один раз прочитан. Конечно же можно попыток больше заказать, то есть указать выполнить все то же самое, только прокрутить несколько раз. Можно попытки чтения на каждый сектор увеличить. Можно каждый сектор прогнать по несколько раз. И это может привести к тому, что он прочитается. Но такие действия имеет смысл делать только на тех файлах, которые нужны пользователю или на метаданных файловой системы. Допустим какой-то каталог у нас не читается, в данном накопителе мы не знаем где у нас каталоги, где у нас что, поэтому здесь такое многократное чтение нужно для того, чтобы восстановить данные файловой системы, на которые попали BAD-блоки. Если же мы их не можем прочитать, то тогда мы попробуем без них обойтись.
Но то, что мы вообще смогли прочитать сектора говорит о том, что диск имеет небольшую царапину в данном конкретном случае и я прогнозирую, что он в ближайшее время не испортится потому, что царапина явно не глубокая, диск ее повторное чтение переносит сравнительно легко, не особо стучит, не тормозит, не читает хуже, такой диск можно спокойно ставить на многократное вычитывание. А с другими видами повреждений (не царапина) надо вести себя иначе.
Резюмируем сказанное, подытожим, что мы проделали.
Был продемонстрирован пример небольшого диска, который имеет царапину. Изначально мы эту гипотезу выдвинули на основании того, что просто наблюдали как диск читается и как в какой-то момент пошли группами области BAD-секторов. Одна группа идет, потом читается диск, потом опять группа, потом опять читается и т. д. После того, как мы весь диск прочитали, мы дальше уточнили не читающиеся сектора, попробовали их еще раз прочитать и увидели, что сектора читаются, то есть это еще одно подтверждение в сторону гипотезы о том, что на данном диске небольшая царапина и дальше, из того, что мы эту гипотезу подтвердили, можно сделать вывод, что: имеет смысл продолжать читать многократно не читающиеся сектора в надежде на то, что они прочитаются и это, вероятно, не приведет к тому, что диск запилится и совсем все испортится. Опять-таки: дефектные сектора есть смысл вычитывать только там, где у нас данные файловой системы или же данные пользователя, которые пользователю нужны.
Надеюсь, что данная статья была полезна, в скором времени продолжим обсуждение данной, достаточно обширной темы.
Спасибо за внимание, до новых встреч!

Поделиться ссылкой на пост в соц. сетях

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *