Служебная информация НЖМД IDE AT. — КиберПедия

Про блоки питания noname, или краткий экскурс в устройство служебной информации дисков western digital

Мы продолжаем цикл публикаций о дисках одного из немногих оставшихся производителей НЖМД — Western Digital и их проблемах. Сегодня на операционном столе WD5000AAKS-00S9B0, семейства Dragon Fly III.

Служебная информация НЖМД IDE AT. — КиберПедия

Со слов клиента, от предыдущего администратора ему достался парк рабочих станций с некачественными noname-блоками питания Made In China, случаи выхода из строя дисков по этой причине уже были, но предыдущие накопители, в отличие от этого, важных данных не содержали.

Как обычно — “только вчера диск работал исправно”, а сегодня стал определяться в BIOS как WDC-ROM MODEL-DF3-PL2K, и объемом 232Gb.

Получив винчестер на диагностику перво-наперво проверили плату электроники на предмет возможных повреждений (http://habrahabr.ru/company/hardmaster/blog/251263/) и подали питание на диск. На запрос get ID в поле паспорта “высветился” заводской псевдоним. Здесь необходимо сделать небольшое отступление и рассказать, в чем обычно заключается причина такого поведения дисков WD архитектуры Royl.

В тех случаях, когда диск, при комплексной инициализации, не может прочитать критичные для нормального старта модули служебной информации (Service Area), накопитель переходит в так называемый, Kernel Mode, отдавая только код семейства из ПЗУ, а паспортные данные (которые, на самом деле, лежат в SA) – отдаются вот такой вот «рыбой». Или не отдаются вообще.

Служебная информация НЖМД IDE AT. — КиберПедия

Вроде бы все понятно – проблемы с чтением SA, пора искать вышедшую из строя голову. Но указанный диск, отдавая такой паспорт, в Kernel Mode НЕ находился. Как минимум программный код (оверлеи) прочитаны и загружены в ОЗУ. Это уже интересно. Если инициализация пошла – значит модули в служебной области в принципе читаются. И причину отдачи такого «кривого» паспорта надо искать где-то в другом месте.

Здесь необходимо сделать еще одно отступление и немного рассказать о структуре служебной информации “Вестернов”.

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

Паспорт диска и его основные рабочие параметры описаны в модуле по соседству – это id02 — Drive Configuration.

На этом с теоретическими рассуждениями закончим и, поскольку у нас (по меньшей мере) присутствуют проблемы с паспортом диска, посмотрим, какое же содержимое id02 пациента:

Служебная информация НЖМД IDE AT. — КиберПедия

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

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

Служебная информация НЖМД IDE AT. — КиберПедия

И даже DIR нашелся. Предположим, что найденное – это несколько не то, что отдает нам диск в обычном режиме. Настроим утилиту по найденному DIR и попробуем получить доступ к SA с помощью него.

Служебная информация НЖМД IDE AT. — КиберПедия

Вот и ответ на вопрос «куда делся оригинальный id02». Он никуда не девался и находится на своем месте. А вот его координата в DIR – запорчена.

На всякий случай, резервируем все найденные модули, а также полностью всю SA единым дампом. Пробуем писать id02 в то место, которое указано в DIR, передергиваем питание, диск корректно проинициализирован и готов к снятию с него данных в штатном режиме:

Служебная информация НЖМД IDE AT. — КиберПедия

Что же случилось, спросите вы?

В процессе работы диск периодически обновляет некоторые модули. Это SMART, дефект-листы и т.д. Скорее всего, в момент очередного обновления какого-то из этих модулей, произошел выброс по питанию, обусловленный низким качеством примененного БП, и запись произошла не в искомый модуль, а в DIR, “удачно” подпортив координату id02 в нем. Пока содержимое id02 находилось в ОЗУ диска, все работало нормально, а после рестарта по питанию случился полный швах.

Для инженера, обладающего достаточными знаниями по внутреннему устройству дисков Western Digital — это не очень сложная работа. В данном случае пришлось потратить около получаса, с момента приемки диска в работу, до получения доступа к “поляне” (пользовательским данным). Но, в современных условиях тотальной экономии на всем, на чем только можно, последствия зачастую бывают гораздо более печальными. Здесь и прогоревшие платы и вылетевшие коммутаторы БМГ в гермозоне. Данные обычно восстанавливаются, но достаточно обидно осознавать, что когда-то сэкономленные $20 теперь привели к потере денежной суммы, объемом примерно в 50 раз выше.

Служебная информация нжмд ide at. — киберпедия

Служебная информация НЖМД IDE AT необходима для функционирования схем самого НЖМД и, как правило, скрыта от пользователя. Служебную информацию можно разделить по типам:

Сервисная информация;
Рабочие программы;
Формат нижнего уровня;
Таблица конфигурации;
Паспорт диска;
Таблица сбойных секторов.

Сервисная информация необходима для работы сервосистемы привода магнитных головок НЖМД с соленоидным двигателем и НЖМД с шаговым двигателем при широтно-импульсном фазовом управлении. На большинстве современных НЖМД сервисная информация используется и для стабилизации скорости вращения шпиндельного двигателя. Сервисная информация типа Dedicated располагается на отдельной поверхности, СИ типа Embedded непосредственно на рабочей поверхности между секторами. На первых моделях НЖМД IDE AT с шаговым двигателем сервисная информация отсутствует (ST157A, KL-343). В таких моделях позиционирование и нахождение нулевой дорожки происходит по устойчивым шагам и по формату нижнего уровня.

:/>  Как отключить пароль при входе в Windows 10

Рабочие программы (микрокод) управляющего микропроцессора представляют собой необходимый набор программ для работы аппаратуры НЖМД. К ним относятся программы управления аппаратурой позиционирования, обмена информацией с однокристальным микроконтроллером и буферным ОЗУ, первоначальной диагностики и т.д. В большинстве моделей НЖМД рабочие программы размещаются во внутреннем ПЗУ управляющего микропроцессора, некоторые модели используют внешнее ПЗУ (накопители фирм KALOK, Conner, Maxtor, Samsung). В некоторых моделях НЖМД часть рабочих программ хранится на магнитном диске, а во внутреннем ПЗУ управляющего микропроцессора хранятся программы начальной инициализации, позиционирования и первичный загрузчик для считывания рабочих программ с магнитного диска в ОЗУ. Так, например, в модели ST351A/X внешняя микропрограмма занимает 19 секторов для работы по интерфейсу AT, и 19 секторов для работы по интерфейсу XT. В зависимости от установленных перемычек, при инициализации в ОЗУ накопителя перегружается либо одна, либо другая

микропрограмма. В семействе накопителей ST3144AT внешняя микропрограмма занимает 32 сектора, и при инициализации она перегружается в ОЗУ. В более современных накопителях ST3660A служебная информация представлена в виде ОСУВ (операционной системы управления винчестером), все программы и таблицы хранятся в служебной зоне в виде модулей под своими именами. При инициализации считывается загрузчик в котором находится директорий расположения модулей и при работе накопитель подгружает отдельные модули в ОЗУ.

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

Формат нижнего уровня. Структура формата дорожки микроконтроллера WD42C22A показана на рис.7.

Служебная информация НЖМД IDE AT. — КиберПедия

Рис.7. Структура формата дорожки.

Начало дорожки определяется индексным импульсом. Количество секторов на дорожке зависит от используемого метода кодирования и скорости вращения шпиндельного двигателя. Формат каждого сектора содержит поле идентификации, поле данных, синхрозоны и пробелы. В начале дорожки расположена синхрозона, содержащая 14 байтов нулей, которая служит для фазирования и синхронизации строба выделения данных. Поле идентификации содержит адресный маркер, адрес цилиндра, адрес поверхности, адрес сектора и два байта контрольно-циклического кода. Байт А1, входящий в адресный маркер, записывается с нарушением правил кодирования путем пропуска одного импульса синхронизации, это делает его отличным от любого другого байта А1, встречающегося на дорожке. В адресный маркер поля идентификации входит также код номера цилиндра:

FE – цилиндр 0-255;
FF- цилиндр 255-511;
FC – цилиндр 512-767;
FD – цилиндр 768-1023;
F6 – цилиндр 1024-1279;
F7 -цилиндр 1280-1535;
F4 – цилиндр 1536-1791;
F5 – цилиндр 1792-2047.

Между полем идентификации и полем данных находиться пробел 1, включающий 3 байта нулей и синхрозону. Поле данных включает адресный маркер данных, содержащий байты А1 и F8, данные (количество байт программируется) и 4 байта КЦК. Пробел 2 служит для исключения наложения двух соседних секторов в том случае, если форматирование диска проводилось при оборотах выше номинальных , а запись данных производится при оборотах ниже номинальных. Пробел 3 служит демпфером отклонения скорости вращения диска для всей дорожке. Различные БИС контроллеров имеют, как правило, свой формат, но структура формата остается постоянной. В основном различия касаются количества секторов на дорожке, количества байт в поле данных, значения байт контрольно- циклического кода. В последнее время появились накопители с постоянной плотностью записи или как их еще называют с зонно-секционной записью. Как было подробно рассмотрено в [1] у обычных НЖМД плотность записи к центру диска возрастает, у НЖМД с постоянной плотностью записи на внешних дорожках размещается большее количество секторов, чем на внутренних. Это приводит к значительному увеличению емкости по сравнению с обычными НЖМД.

Таблица конфигурации накопителя IDE AT содержит информацию о логической и физической организации дискового пространства. Эта таблица необходима для того, чтобы плата электроники, которая одинакова для всего семейства накопителей, могла настраиваться на данную модель семейства. Дело в том, что при проектировании какой-либо модели, например 850 Мбит на двух дисках, автоматически получается “половинчатая” модель 425 Мбит на одном диске. Таким образом перекрывается еще один сектор рынка. Кроме того в “половинчатой” модели можно использовать детали которые не подходят по каким-либо параметрам в полные модели. Так например в “половинчатых” моделях используют шпиндельные двигатели с повышеньши биениями или магнитные диски, имеющие дефекты в последней зоне полной модели, используются в “половинчатой” модели имеющей меньшее количество зон и т.д.

:/>  Создание загрузочной флешки с помощью командный строки

Например семейство ST3660A Seagate:

ST3660A 540 Мбит – 7 зон, 4 рабочие поверхности;
ST3490A 420 Мбит – 5 зоны, 4 рабочие поверхности;
ST3295A 270 Мбит – 7 зон, 2 рабочие поверхности.

Семейство PLS-31274A Samsung:

PLS-31274A 1270 Мбит – три рабочих диска;
PLS-30850A 850 Мбит – два рабочих диска.

Паспорт диска накопителя IDE AT содержит справочную информацию о конфигурации и характеристиках НЖМД. Паспорт диска занимает один сектор (256 слов) и располагается в служебной зоне, он предназначен для автоматического конфигурирования системы или настройки программного обеспечения для работы с НЖМД. В некоторых накопителях паспорт диска хранится в ПЗУ с управляющей микропрограммой, а в служебной зоне на диске хранится только серийный номер. Для чтения паспорта диска необходимо подать команду идентификации (ЕСН), после чего считать информацию из буфера сектора для анализа. В табл.6 приводятся основные параметры считываемые из паспорта диска.

Таблица 3.

Слово Значение
Главное слово конфигурации
Количество цилиндров
Зарезервировано
Количество головок
Количество байт на дорожке
Количество байт в секторе
Количество секторов на дорожке
10-19 Серийный номер (ASCII)
Тип буфера
Емкость буфера деленная на 512 байт
23-26 Версия микропрограммы (ASCII)
27-46 Модель накопителя (ASCII)

В соответствии со спецификацией Fast ATA-2 и Enhansed IDE кроме этих данных, в паспорте современного HDD IDE AT содержится около 20 характеристик дающих полную информацию о накопителе.

Таблица дефектных секторов. В накопителях с интерфейсом ST506/412 таблица дефектных дорожек размещалась на корпусе гермоблока в виде наклейки. Любой накопитель имел запас по емкости, например 20-ти Мб НЖМД ST225 имел на самом деле 21,5 Мб., т.е. 1,5 Мб отводилось под сбойные дорожки. В НЖМД IDE AT тоже имеется избыточность по емкости, но она скрыта от пользователя и доступна только управляющему микропроцессору и контроллеру самого накопителя. Часть этой избыточной емкости отводится для рабочих программ НЖМД (если они размещаются на

поверхностях), паспорта диска и таблицы дефектных секторов. Остальная часть резервируется – для замены сбойных секторов. Заполнение таблицы дефектных секторов производится на заводе -изготовителе после форматирования НЖМД, номера всех выявленных BAD-секторов помещаются в таблицу. Такая процедура называется подгрузкой (скрытием) дефектов (UPDATE DEFECT). Теперь при работе НЖМД если произойдет обращение к скрытому дефектному сектору, то сам накопитель переадресует обращение к резервному. Поэтому все IDE AT накопители пришедшие с завода-изготовителя не имеют ни одного дефектного сектора.

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

§

В НЖМД ST506/412 все дисковое пространство было доступно пользователю, исключение составляли “минусовые” дорожки, на которых была записана сервисная информация у накопителей с шаговым двигателем привода магнитных головок или отдельная сервоповерхность у НЖМД с соленоидным приводом. В накопителях IDE AT довольно значительная часть дискового пространства скрыта от пользователя, она содержит служебную информацию и резервную область для замены сбойных секторов НЖМД. В нормальном режиме работы накопителя она доступна только внутреннему микроконтроллеру. Это возможно из-за того, что в НЖМД IDE AT существует понятие логического сектора и HOST работает не с физическими секторами накопителя, а с логическими. В поле идентификации физического сектора хранится значение головки, цилиндра и сектора аналогично формату накопителя ST506/412, логический сектор появляется вследствие пересчета управляющим микропроцессором накопителя параметров заданного сектора в команде (головки, цилиндра, сектора) и реальным дисковым пространством (физическим форматом). Микроконтроллер может выполнять операции записи и чтения данных только на поверхность, на которой находится физический формат (записать сектор, прочитать сектор и т.д.) поэтому служебная информация НЖМД IDE AT тоже находится в поле данных физического формата (исключение составляет сервисная информация). В обычном режиме работы накопителя, при операции чтение/запись нулевого сектора, внутренний контроллер НЖМД “зная” структуру своего дискового пространства пересчитает логические параметры сектора в физические и выполнит команду на нулевом логическом секторе.

При проектировании модели НЖМД IDE AT разработчики определяют необходимую для функционирования накопителя служебную информацию и количество цилиндров занимаемое ею, поэтому логическим нулевым цилиндром является первый свободный цилиндр, следующий за последним цилиндром служебной информации. Структура дискового пространства у различных моделей НЖМД IDE AT может отличаться от приведенной на рис.8, например у накопителей ST351A/X, ST3290A логический нулевой цилиндр начинается с физического восьмого, в семействе ST3144AT – с десятого, а в семействе ST3660A – с четвертого.

Служебная информация НЖМД IDE AT. — КиберПедия

Рис.8. Пример логической организации дискового пространства НЖМД ШЕ AT.

Режим трансляции.

Первые модели АТА винчестеров могли работать под своими физическими параметрами и допускали работу с каким-нибудь логическим типом в SetUp компьютера. Причем в паспорте диска этих винчестеров располагались именно физические параметры, отсюда и пошел термин установить накопитель под физическими параметрами.

:/>  Как исправить сброс картинки на рабочем столе и заднем фоне экрана блокировки

Современные накопители АТА поддерживают универсальный режим трансляции, при котором основным критерием выбора параметров накопителя является общее количество секторов пользователя для данной модели. При установке параметров главное, чтобы произведение установленных цил., гол., сек. не превысило общее количество секторов накопителя. Как правило в сопровождающей документации на винчестер указываются наилучшие параметры с точки зрения емкости и общее количество секторов накопителя. Большинство BIOS персональных компьютеров имеют процедуру автодетект, которая позволяет прочитать параметры из паспорта диска накопителя и установить их в SetUp. Некоторые винчестеры, например фирмы Conner, используют так называемый адаптивный режим трансляции при котором сам накопитель оповещает пользователя о неправильном использовании его дискового пространства. При инициализации винчестеру передаются всего два параметра, количество головок и секторов, сам накопитель настраивает свою логическую структуру таким образом, чтобы общая емкость не изменилась, коррекция осуществляется за счет изменения числа цилиндров. Если прочитать паспорт диска такого накопителя до инициализации и после инициализации, то считанные значения параметров будут различны, причем количество головок и секторов во втором случае будет соответствовать инициализированным параметрам, а количество цилиндров будет скорректировано в соответствии с емкостью. Если количество логических цилиндров при инициализации компьютера окажется больше 1024 пользователь потеряет часть полезной емкости винчестера.

§

Существует несколько алгоритмов скрытия дефектов:

Метод резервного сектора. Суть метода заключается в том, что на каждой дорожке накопителя размещается дополнительный, недоступный в обычном режиме работы, сектор и при обнаружении дефекта в каком-либо рабочем секторе дорожки, вместо него включается резервный. Таким образом накопитель может скрыть только один дефектный сектор на дорожке. Этот метод неэффективен если на дорожке несколько дефектных секторов. Кроме этого при использовании такого метода происходят достаточно большая потеря дискового пространства из-за необходмости содержать резервный сектор на всех дорожках, в независимости от того, есть на них дефекты или нет. Такой алгоритм скрытия дефектов используется в накопителях семейства WD93044A фирмы WesternDigital. В накопителях KALOK, ХЕВЕС резервный сектор выделяется на цилиндр пакета магнитных дисков, при этом возможности по скрытию дефектов еще более уменьшаются. Существует более улучшенный алгоритм, при котором резервный сектор выделяется на цилиндр, но если он занят, резерв ищется на цилиндре ( – ) 1 от дефектного, если там он занят то ( – ) 2 и т.д. Такой алгоритм скрытия дефектов применяется в накопителях Piranha, Caviar архитектуры 0 и некоторых накопителях Conner.

Метод резервной дорожки. Такой метод позволяет исключить ^сю дорожку при обнаружении на ней дефектов. Накопители, использующие такой алгоритм скрытия дефектов имеют определенное количество резервных дорожек вне рабочей зоны. Недостаток этого метода заключается во первых в неэкономном расходовании дискового пространства, так как для скрытия одного сбойного сектора исключается вся дорожка, а во вторых для чтения резервной дорожки накопителю необходимо делать позиционирование в резервную область. При инициализации в контроллер накопителя должна быть загружена таблица перемещенных дорожек “какая дорожка, куда перемещена”. Такой алгоритм используется в накопителях Maxtor, Piranha, Caviar архитектуры 0 для исключения дорожек с запорченными сервометками.

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

Метод пропуска дефектного сектора. Этот метод применим только к накопителям, использующих режим трансляции физических параметров в логические. При этом методе, как и в предыдущем, дефектные сектора считаются не рабочими и “не замечаются” контроллером диска. Накопитель использующий этот метод содержит специальные таблицы транслятора которые при инициализации загружаются в ОЗУ и используются программой трансляции для вычисление физического номера сектора. Такой метод используют накопители семейств: st1144AT, ST3144AT, ST3290A, ST3660 и др. Метод пропуска дефектного сектора обеспечивает наименьшие потери дискового пространства и позволяет скрывать практически любое количество дефектных секторов.

Описание устройства:

Жёсткий диск Samsung HD161HJ 160 Gb

Служебная информация НЖМД IDE AT. — КиберПедия

Результат тестирования:

Служебная информация НЖМД IDE AT. — КиберПедия

Вывод:

Мы провели тестирование ПК с помощью программы Everest и выяснили, что на данном ПК стоит накопитель SAMSUNG HD161HJ ATA Device , с памятью 160Гб, 7200 PRM, SATA 2.

Изучили устройства накопителя HDD. Провели тестирование HDD с помощью программы Everest

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