Принципиальная схема hdd. Устройство и принцип работы жесткого диска. Подготовка винчестера к работе

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

Поиск и устранение неисправностей жестких дисков

Все ли жесткие диски , установленные в системном блоке, должны отображаться в настройках BIOS? Большинство версий BIOS сообщают пользователю об подключенных винчестерах еще на этапе загрузки. Каждая материнская плата BIOS должна в состоянии идентифицировать жесткий диск по марке, модели и характеристикам. Стандартные клавиши для доступа к CMOS Setup после включения питания DEL, ESC, F1 или F2 (почти во всех ноутбуках).

Слышите, как жесткий диск набирает обороты? Если у вас ничего не слышно вообще, когда вы включите питание, вы должны начать с . Если вы не слышите, как диск вращается, вы должны убедится, что кабели питания хорошо установлены, это больше касается на старых винчестерах ATA, чем на новых . Если жесткий диск плохо слышно, вы можете попробовать вытащить HDD из корпуса и подержать его в руке во время включения. Если диск вращается, вы будете чувствовать его вибрации. Но будьте предельно аккуратны, есть вероятность его уронить, особенно страшно, если винчестер упадет во время работы. Для тестирования жесткого диска удобно использовать специальные переходники USB-IDE и USB-SATA .

  • старый диск ATA, также известный как IDE или PATA (для Parallel ATA)
  • новый SATA (Serial ATA) диск.

SATA ломаются гораздо реже, кабель для передачи данных, редко вызывает проблемы, и проще в установке питания, хотя некоторые жесткие диски SATA поддерживают и старые и новые разъемы питания. У IDE или ATA дисков наглядная особенность в наличии шлейфа, который может поддерживать два диска, для этого в комплект к ним идут перемычки . С помощью перемычек на диске устанавливается Master диск для установки хозяином и Slave , или сделать выбор согласно подключению через шлейфы (CS).

Первые SATA винчестеры работали со скоростью 1,5 Гбит/с, этот период был известен как SATA 1 . Вы наверное думаете, что это был не большой скачок по сравнению со старыми дисками IDE, но скорость интерфейса IDE измерялась в МБайт/с (обратите внимание, именно байт, а не бит). SATA 2 поколения поддерживает 3,0 Гбит/с, а последний релиз, SATA 3 , поддерживает 6,0 Гбит/с. Обратите внимание, что высокая скорость достигнута путем передачи данных из кэш-памяти на диск, скорость вращения уступает «электронике». Если вы подключаете SATA 2 или SATA 3 винчестер в старую материнскую плату, и он не работает должным образом, проверьте на совместимость, изучите конфигурацию с помощью перемычек, чтобы заставить его работать на более низких скоростях, равных SATA 1.

С жесткими дисками SATA намного приятнее работать, чем с устаревшими IDE. Например, из-за специального кабеля данных, который устраняет все путаницы с выставлением перемычек, да и к тому же более надежны, чем старые , которые разрывались при частом использовании. Если ваш диск SATA раскручивается, но программа установки CMOS его не обнаруживает, то возможно, что у вас есть, что редкий плохой кабель для передачи данных и он не устанавливать соединение на материнской плате правильно. Обычно это касается сата кабелей без защелок. Если вы знаете, что SATA кабель исправен, так как он работает на другой системной плате, попробуйте подключить к другому порту SATA. Если это единственный SATA жесткий диск в системе, и ваша материнская плата поддерживает SATA RAID и автономные SATA порты, используйте отдельный порт.

Вы подключили два IDE жестких диска на широкий шлейф с тремя разъемами: один для материнской платы в IDE-порт и по одной для каждого диска? Если кабель идет напрямую, вам необходимо установить перемычки на загрузочном диске в положение «Мастер», а на втором диске «Slave». Если это 80-жильный кабель с тремя разъемами или старый 40-жильный кабель, подключенный между двумя разъемами винчестер, он будет поддерживать «Cable Select» , то вы можете установить перемычку на обоих дисках – CS, позиция часто идет по умолчанию.

Некоторые компьютеры до сих пор собраны со старыми дисками IDE, в режиме Cable Select (CS), где 28-контактный кабель установлен диск как Master или Slave. 80-контактные новые кабеля Ultra DMA, начали поставляться с новыми материнскими платами около пятнадцати лет назад, и стали использовать цветовую маркировку разъемов. Синий идет на материнскую плату, серый идет на Slave (на середину кабеля) и черный идет на диске Master IDE в конце кабеля. Он всегда будет загрузочным диском на первичном контроллере.

Если после настройки режимов Master/Slave BIOS не видит жесткие диски, проверьте питание жесткого диска Molex 4×1. Это может занять много сил, что бы выдернуть старый разъем питания, тут главное не использовать посторонние предметы, чтобы подтолкнуть, если ваши пальцы начинают болеть, вы делаете что-то не так.

Разъем на шлейфе IDE снабжен ключом, так что он может быть вставлен в материнскую плату и в порт винчестера только в правильном положении. На всех кабелях должны быть ключи, ведь они также определяют контакт №1 с помощью наличия на шлейфе цветного провода или с помощью номеров на разъемах. Контакт №1 на портах обозначается с помощью числа или стрелки, и расположен на дисках IDE почти всегда в конце, ближе к разъему питания. Если винчестер не отображается в CMOS Setup, чтобы зарегистрировать наличие диска, даже с новым кабелем, тут 2 варианта: либо неисправен контроллер на материнской плате или поломан винчестер. Следующим шагом является проверка диска в другой системе или с помощью USB-IDE переходника. Если винчестер – исправен, то контроллер на материнской плате — поломан, и единственный вариант заключается в использования вторичного контроллера (если вы еще этого не сделали) или купить дополнительный адаптер интерфейса IDE дисков с шиной PCI. Эти PCI карты не дорого стоят, относительно HDD.

Процесс устранения и диагностики одинаков для всех IDE дисков, кторые не распознаются в настройках CMOS, независимо что это PATA, SATA, жесткие диски, CD-диски, DVD-диски или другие носители. Если материнская плата BIOS распознает диски и сообщает о них в заставке или CMOS Setup, и проблема с компакт-дисков или DVD, перейти на схему для диагностика и ремонт CD и DVD .

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

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

В BIOS зарегистрирован неправильный режим передачи данных для дисков IDE, например UDMA/100, ATA/66? И если вы добавили новый жесткий диск в старую материнскую плату, может быть, что диск просто не в состоянии замедлить передачу данных достаточно, чтобы справиться со старым контроллером. В какой-то момент, обратная совместимость делает вам «медвежью услугу». Но я бы не рекомендовал перепрашивать BIOS на старой материнской плате только для того, чтобы попытаться получить жесткий диск, который работает в нужном режиме. Перезапись микросхемы BIOS процесс опасный и всегда есть вероятность, что что-то пойдет не так, например, внезапное отключение электроэнергии оставляет вас ни с чем, и не будет возможности начать все сначала.

Проверьте последовательность загрузки CMOS, поставьте первым CD или DVD. Если дисковое пространство свободно, вы можете попробовать создать новый раздел и заново. Если вам не отображается информация о разделе или диск не отображается в FDISK и вы готовы попрощаться с записанной информацией, вы можете попробовать запустить FDISK /MBR из командной строки. FDISK.MBR будет пытаться переписать, т.к. может быть и повреждена.

. Тема безусловна интересная особенно для начинающих радио-"мучителей", но на мой взгляд раскрыта далеко не полностью. Нет логического завершения, а именно какую схему использовал много уважаемый, TwIsTeR для своего решения, предложенную ли (моим коллегой по журналистскому труду) S anyaav на М/С TDA5145, МК или какую то другую. Этой статьёй я хочу дополнить некоторые пробелы форума и расскажу, на мой взгляд, о вполне достойной хоть по современным меркам и старенькой микросхеме LB 11880. И так приступим и начнём с общих сведений, что же такое двигатель от HDD, CD-ROM, DVD-ROM

Двигатель, вращающий шпиндель жесткого диска (или CD/DVD-ROM)- это синхронный трёхфазный мотор постоянного тока.

Раскрутить такой двигатель можно подключив его к трём полу мостовым каскадам, которые управляются трёхфазным генератором, частота которого при включении очень мала, а затем плавно повысится до номинальной. Это не лучшее решение задачи, такая схема не имеет обратной связи и следовательно частота генератора будет повышаться в надежде, что двигатель успевает набрать обороты, даже если на самом деле его вал неподвижен. Создание схемы с обратной связью потребовало бы применения датчиков положения ротора и несколько корпусов ИМС не считая выходных транзисторов. CD/DVD-ROM уже содержат датчики холла, по сигналам которых можно определить положение ротора двигателя, но иногда, совсем не важно точное положение и не хочется впустую тянуть "лишние провода".

К счастью, промышленность выпускает готовые однокристальные драйверы управления, которым к тому же им не требуются датчики положения ротора, в роли таких датчиков выступают обмотки двигателя. Микросхемы управления трёхфазными двигателями постоянного тока, которым не требуются дополнительные датчики (датчиками являются сами обмотки двигателя): TDA 5140; TDA 5141; TDA 5142; TDA 5144; TDA 5145 и конечно же LB 11880. (Есть и некоторые другие, но в другой раз.)

Принципиальная схема подключения двигателя к микросхеме LB11880.

Изначально, эта микросхема предназначена для управления двигателем БВГ видеомагнитофонов, в ключевых каскадах у неё биполярные транзисторы а не MOSFET. В своих конструкциях, я использовал именно эту микросхему, она во-первых, оказалась в наличии в ближайшем магазине, во-вторых, её стоимость была ниже (хоть и не на много), чем у прочих микросхем из выше приведенного списка.

Собственно, схема включения двигателя:

Если ваш двигатель вдруг имеет не 3 а 4 вывода, то подключать его следует согласно схеме:

И ещё одна более наглядная схема, адаптированная для использования в автомобиле.

Немного дополнительной информации об LB11880 и не только

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

Как регулировать скорость вращения?

Регулировка скорости вращения производится изменением напряжения на выводе 2 микросхемы, соответственно: Vпит - максимальная скорость; 0 - двигатель остановлен.

Однако, необходимо отметить, что плавно регулировать частоту просто применив переменный резистор не удастся, так как регулировка не линейна и происходит в меньших пределах чем Vпит - 0, по этому лучшим вариантом будет подключение к этому выводу конденсатора на который через резистор, например от микроконтроллера подаётся ШИМ сигнал ну или ШИМ регулятор на всемирно известном таймере NE 555(таких схем в инете полно)

Для определения текущей частоты вращения следует использовать вывод 8 микросхемы, на котором при вращении вала двигателя присутствуют импульсы, по 3 импульса на 1 оборот вала.

Как задать максимальный ток в обмотках?

Известно, что трёхфазные двигатели постоянного тока потребляют значительный ток вне своих рабочих режимов (при питании их обмоток импульсами заниженный частоты). Для выставления максимального тока в данной схеме служит резистор R1. Как только падение напряжения на R1 и следовательно на выводе 20 станет более 0.95 вольта, то выходной драйвер микросхемы прерывает импульс. Выбирая значение R1, учитывайте, что для данной микросхемы максимальный ток не более 1.2 ампера, номинальный 0.4 ампера.

Параметры микросхемы LB11880

Напряжение питания выходного каскада (вывод 21): 8 ... 13 вольт (максимально 14.5);

Напряжение питания ядра (вывод 3): 4 ... 6 вольт (максимально 7);

Максимальная рассеиваемая микросхемой мощность: 2.8 ватта;

Диапазон рабочих температур: -20 ... +75 градусов.


Вот этот диск (правда когда на нём ещё не было медных болтов), казалось бы мелкий и чахлый двигатель от старенького винчестера на 40Гб, рассчитанный на 7200 оборотов/мин (RPM) умудрялся разгоняться примерно до 15000 ... 17000 оборотов/мин, если не ограничивать его скорость. Так что область применения двигателей от завалящих винчестеров, думаю весьма обширна. Точило/дрель/болгарку конечно не сделать, даже не думайте, но без особой нагрузки, двигатели способны на многое.

Ф айловый архив для самостоятельной сборка качаем

УДАЧИ!!

Приветствую всех читателей блога . Многих интересует вопрос - как устроен жесткий диск компьютера. Поэтому я решил посвятить этому сегодняшнюю статью.

Жесткий диск компьютера (HDD или винчестер) нужен для хранения информации после выключения компьютера, в отличие от ОЗУ () - которая хранит информацию до момента прекращения подачи питания (до выключения компьютера).

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

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

Вторая часть - электромотор (шпиндель), заставляет вращаться диск со скоростью примерно 7200 об/мин, а интегральная схема поддерживает скорость вращения постоянной.

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

Но давайте все же посмотрим, что случится, если зазор исчезнет и головка коромысла соприкоснется с поверхностью вращающегося диска. Мы все еще со школы помним, что F=m*a (второй закон Ньютона, по-моему), из которого следует, что предмет с небольшой массой и огромным ускорением - становится невероятно тяжелым. Учитывая огромную скорость вращения самого диска, вес головки коромысла становится весьма и весьма ощутимым. Естественно, что повреждение диска в таком случае неизбежно. Кстати, вот что случилось с диском, у которого этот зазор по каким то причинам исчез:

Так же важна роль силы трения, т.е. ее практически полного отсутствия, когда коромысло начинает считывать информацию, при этом смещаясь до 60 раз за секунду. Но постойте, где же здесь находится двигатель, что приводит в движение коромысло, да еще с такой скоростью? На самом деле его не видно, потому что это электромагнитная система, работающая на взаимодействии 2 сил природы: электричества и магнетизма. Такое взаимодействия позволяет разгонять коромысло до скоростей света, в прямом смысле.

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

Ну и пятая, завершающая часть конструкции жесткого диска - это конечно же корпус, в который устанавливаются все остальные компоненты. Материалы применяются следующие: почти весь корпус выполнен из пластмассы, но верхняя крышка всегда металлическая. Корпус в собранном виде нередко называют "гермозоной". Бытует мнение, что внутри гермозоны нету воздуха, а точнее, что там - вакуум. Мнение это опирается на тот факт, что при таких высоких скоростях вращения диска, даже пылинка, попавшая внутрь, может натворить много нехорошего. И это почти верно, разве что вакуума там никакого нету - а есть очищенный, осушенный воздух или нейтральный газ - азот например. Хотя, возможно в более ранних версиях жестких дисков, вместо того, чтобы очищать воздух - его просто откачивали.

Это мы говорили про компоненты, т.е. из чего состоит жесткий диск . Теперь давайте поговорим про хранение данных.

Как и в каком виде хранятся данные на жестком диске компьютера

Данные хранятся в узких дорожках на поверхности диска. При производстве, на диск наносится более 200 тысяч таких дорожек. Каждая из дорожек разделена на секторы.

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

Сама поверхность диска - гладкая и блестящая, но это только на первый взгляд. При более близком рассмотрении структура поверхности оказывается сложнее. Дело в том, что диск изготавливается из металлического сплава, покрытого ферромагнитным слоем. Этот слой как раз и делает всю работу. Ферромагнитный слой запоминает всю информацию, как? Очень просто. Головка коромысла намагничивает микроскопическую область на пленке (ферромагнитном слое), устанавливая магнитный момент такой ячейки в одно из состояний: о или 1. Каждый такой ноль и единица называются битами. Таким образом, любая информация, записанная на жестком диске, по-факту представляет собой определенную последовательность и определенное количество нулей и единиц. Например, фотография хорошего качества занимает около 29 миллионов таких ячеек, и разбросана по 12 различным секторам. Да, звучит впечатляюще, однако в действительности - такое огромное количество битов занимает очень маленький участок на поверхности диска. Каждый квадратный сантиметр поверхности жесткого диска включает в себя несколько десятков миллиардов битов.

Принцип работы жесткого диска

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

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

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

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

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

Нашел интересное видео, про то, как работает жесткий диск в разных режимах

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

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

WARNING

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

Электроника HDD

Конструкция винчестера в какой-то степени наверняка известна каждому. По сути, это несколько пластин, которые вращаются со скоростью 15 000 об/мин, устройство позиционирования и блок управляющей электроники. Добавим к этому систему самоконтроля S.M.A.R.T. и другие интеллектуальные атрибуты. Короче, без пол-литра не разберешься, тем более технология отдельных элементов составляет коммерческую тайну.

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

INFO

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

Пациент

Итак, перед нами плата типичного жесткого диска Western Digital WD5000AAKX объемом в 500 Гб (рис. 1). Что мы имеем:

  1. Микросхема DRAM. Интереса как такового не представляет, мануал легко можно найти в Сети. Память этих чипов колеблется от 8 до 64 Мб и соответствуют размеру кеша жесткого диска.
  2. Контроллер двигателя шпинделя. Отвечает за управление механикой, регулирует мощность и имеет некоторые аналоговые/цифровые каналы. На чип Smooth L7251 3.1 мануалы отсутствуют, но можно попробовать поискать похожие микросхемы.
  3. Флеш-память. На некоторых винчестерах микросхема отсутствует, но флеш-память бывает встроена в чип контроллера диска. Обычно имеет размер в пределах от 64 до 256 Кб. Используется для хранения программы, от которой загружается контроллер жесткого диска.
  4. И самая любопытная для нас вещь - контроллер жесткого диска. Их производят компании Marvell, ST, LSI и другие. Некоторые компании, производящие винчестеры, делают свои собственные контроллеры, как, например, Samsung и Western Digital.

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

Копнем глубже

Наш зарубежный коллега Джероен «Sprite_tm» Домбург нашел интересный выход из данной ситуации - для исследования контроллера он использовал интерфейс JTAG (от англ. Joint Test Action Group). Этот интерфейс предназначен для тестирования и отладки печатных плат. То есть с помощью JTAG мы можем спокойно подключиться к интересующему нас устройству, поддерживающему стандарт IEEE 1149. В микросхему интегрируется порт тестирования (TAP - Test Access Port), состоящий из четырех или пяти выводов: TDI, TDO, TMS, TCK и, возможно, TRST. Расположение этих выводов для контроллера Marvell нашел некий dex , любезно поделившийся результатами на форуме HDDGURU .

Джероен выяснил, что у контроллеров Western Digital есть ARM-ядро, доступное через JTAG-порт. А также последовательный порт, который обычно не используется, но может быть полезен для наших целей.

Для исследования контроллера жесткого диска использовалась плата FT2232H, которую можно заказать в интернете за 30 евро. Она поддерживает JTAG, связь через последовательный порт, а также SPI. Для работы с ней использовалась программа OpenOCD .

В результате оказалось, что у микросхемы есть целых три ядра. Два Feroceon, которые являются довольно сильными ARM9-подобными ядрами, и Cortex-M3, которое немного слабее. У всех ядер разное предназначение:

  • Feroceon 1 обрабатывает физические чтение/запись на жесткий диск;
  • Feroceon 2 -обрабатывает SATA-интерфейс, кеш и преобразует LBA в CHS;
  • Cortex-M3 - предназначение неизвестно. Можно просто остановить его, но жесткий диск будет продолжать работать.

Добро пожаловать, или Посторонним вход воспрещен

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

Для доступа к ядру можно использовать режим DMA (Direct Memory Access). Это такой режим, когда обмен данных происходит непосредственно с головки считывания в память, без активного участия процессора. То же самое относится и к SATA-порту: процессору нужно только указать, где данные, и логика DMA позаботится о чтении информации непосредственно из памяти.

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

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

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

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

Меняем прошивку

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

У компании Western Digital есть специальные программные утилиты для работы с жестким диском - это инструменты, работающие под DOS, которые могут загрузить новую прошивку контроллера, микросхемы флеш-памяти или сервисного раздела. Инструменты используют так называемые Vendor Specific Commands (VSC), впрочем, об этом чуть позже.

Также есть набор инструментов под названием idle3-tools , которые можно взять на вооружение для модификации прошивки жесткого диска. Он также использует VSC, применяя Linux SCSI PassThrough IOCTLs. Джероен взял этот код, изменил его и интегрировал в fwtool. После этой модификации fwtool научился читать и писать на микросхему флеш-памяти.

Теперь если хакер каким-то образом сможет воспользоваться fwtool на удаленной машине, то получит возможность сбросить флеш-память диска, изменить ее и «зашить» обратно. Правда, в конце концов владелец узнает о взломе и, вероятно, переустановит систему, но злоумышленник может внедрить что-нибудь, что проявит себя и после переустановки. Например, подождать, пока машина зачитывает из файла /etc/shadow/ , где хранятся все пароли в системах UNIX/Linux, и изменить содержимое. После чего можно будет просто войти под своим паролем.

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

INFO

Терминальный режим жесткого диска

При работе в терминальном режиме пользователь может взаимодействовать с жестким диском посредством диагностических команд. Этот метод применяется для диагностики и ремонта накопителей Seagate и Toshiba, в Western Digital такая возможность отсутствует из-за сложности подключения. Терминальный режим фактически предоставляет полный root - управление механикой и логикой устройства. С его помощью можно также обновить или перезагрузить прошивку винчестера. Список команд для большинства накопителей можно посмотреть в интернете. А на плате жесткого диска имеется специальный разъем для подключения через последовательный порт.


Для доступа в терминальный режим понадобится устройство-адаптер, необходимое для преобразования уровней сигналов RS-232 в уровни TTL (такие адаптеры имеются в продаже, но можно собрать и самому - все необходимые схемы находятся в свободном доступе, а в качестве основы можно взять некоторые модели Arduino). Мы же возьмем готовый чип FTDI, который преобразует USB в последовательный интерфейс для микроконтроллера Atmega. Нужно соединить GND и RESET, а для подключения использовать контакты RX и TX.


Для работы с COM-портом используем любую понравившуюся программу - например, PuTTY или Hiperterminal. Выбираем тип подключения, вводим номер COM-порта и другие настройки:

Speed: 9600 Data Bits: 8 Stop Bits: 1 Parity: None Flow Control: None

Для проверки работоспособности схемы нужно замкнуть RX и TX между собой. В результате все набираемые символы отобразятся в двойном количестве. Это происходит из-за того, что введенные данные будут передаваться по линии TX, а затем они же вернутся по линии RX. Делается это так: отключив SATA-кабель, соединяем выход TX диска с входом RX адаптера, и наоборот - RX адаптера с TX диска. Подключаем питание. После нажатия клавиш , получаем приглашение Т> (или F> для неисправных HDD) и вводим команды. Для получения списка команд вводим /C , а затем Q.

Из-за большого количества команд инженеры Seagate разделили их структуру на уровни. Такие команды, как чтение, запись, поиск, лог ошибок, доступны сразу на нескольких различных уровнях. Чтобы переключить жесткий диск для работы на другом уровне, надо воспользоваться командой /x .

Уровень Т - сертификационные испытания. Уровень 1 - команды управления памятью. Уровень 2 - команды настройки механики привода. Уровень 3 - поисковые команды. Уровень 4 - команды слежения серводвигателя. Уровень 5 - используется только в заводских условиях. Уровень 6 - адаптивные команды управления. Уровень 8 - специальные команды настройки записи. Уровень 9 - команды режима системы контроля дефектов.

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

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

Запись информации в сервисные разделы HDD

В любом жестком диске присутствуют сервисные разделы. Они предназначены для хранения служебных программ винчестера, таких как S.M.A.R.T., модули раннего обнаружения ошибок, модули самодиагностики и так далее. К счастью, все эти данные не занимают выделенное место полностью, а значит, при правильном подходе мы можем использовать это бонусное пространство. Сервисные разделы не следует путать с DCO или HPA, которые могут быть легко обнаружены и доступны через стандартные ATA-команды.

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

Для доступа к информации из сервисных разделов не подойдут стандартные ATA-команды, вместо этого для записи и чтения используются специальные команды VSC (Vendor Specific Commands). Как правило, производители держат в секрете эти команды, но порой выпускают утилиты для работы с сервисными разделами - например, программа wdidle3.exe от компании Western Digital и ее опенсорсный аналог idle3-tools. Еще один пример для WD - программа HDDHackr, меняющая записи в системных разделах HD.

WARNING

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

Объем сервисного раздела зависит от модели винчестера. Например, в диске WD2500KS-00MJB0 семейства Hawk объемом 250 Гб (прошивка 02AEC) в сервисный раздел записывается две копии файлов, около 6 Мб каждая. Размер зоны на каждой поверхности составляет около 23 Mб (64 трека по 720 секторов на каждом). Поскольку этот диск имеет шесть поверхностей (головки от 0 до 5), модули сервисных разделов располагаются на месте, сопоставленном с головками 0 и 1, а место, закрепленное за головками со 2 по 5, зарезервировано, но не используется. Таким образом, зарезервированный раздел занимает около 141 Мб, из которых 12 Мб находится в использовании.

Для сравнения: модель WD10EACS-00ZJB0, емкостью в терабайт и с восемью поверхностями, имеет зарезервированное пространство 450 Мб, из которых занято 52 Мб. Ариэль Беркман (Ariel Berkman) из компании Recover Information Technologies LTD написал статью о работе с сервисными отделами HDD, а также выложил PoC-код для записи 94 Мб информации в сервисный отдел диска Western Digital 250GB Hawk. Делается это следующим образом:

  • Узнаем свой SATA IO адрес, используя lspci -v .
  • Для компиляции используем команду gcc -Wall -O -g -o SA-cover-poc SA-cover-poc.c .
  • Создаем рандомный файл (94 Мб в размере) и вычисляем его MD5-хеш.
  • Записываем файл в сервисный раздел.
  • Очищаем винчестер с помощью команды dd-ing /dev/zero , которую следует распространить на весь жесткий диск (или на отдельную часть, предварительно заблокировав доступ к остальному). Достаточно один раз прогнать этот код, чтобы уничтожить данные безвозвратно.
  • Читаем содержимое сервисного раздела, вычисляем его хеш и убеждаемся в целостности данных. root@Shafan1:~/SA# dd if=/dev/urandom count=184320 > random-file ; md5sum random-file root@Shafan1:~/SA# ./SA-cover-poc -p 0x0170 -w ./random-file root@Shafan1:~# dd if=/dev/zero of=/dev/sdb bs=1M root@Shafan1:~/SA# ./SA-cover-poc -p 0x0170 -r after-dding-dev-zero root@Shafan1:~/SA# md5sum after-dding-dev-zero

Программы для восстановления HDD

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

  1. TestDisk - самая простая и эффективная программа для восстановления HDD. Предназначена для поиска и реконструкции потерянных разделов, загрузочного сектора, удаленных файлов; исправляет таблицу разделов. Работает с большим количеством файловых систем. Работает в консольном режиме, чем достигается высокая скорость.
  2. Acronis Disk Director - целый программный пакет, в который включено немалое количество инструментов для работы с HDD. Содержит в себе утилиту Acronis Recovery Expert, которая служит для реконструкции файлов и разделов. В отличие от предыдущей программы имеет графический интерфейс, но работает с меньшим количеством файловых систем.
  3. Paragon Partition Manager - бесплатная программа от отечественных разработчиков, умеет почти все то же самое, что и Acronis, но ужасно медленная.

Заключение

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

Если рассматривать жесткий диск в целом, то он состоит из двух основных частей: это плата электроники, на которой располагается так сказать "мозг" жесткого диска. На нем расположены процессор, так же присутствует управляющая программа, оперативное запоминающее устройство, усилитель записи и чтения. К механической части относятся такие части как блок магнитных головок имеющих аббревиатуру БМГ, двигатель, который придает вращение пластинам, ну и конечно же сами пластины. Давайте рассмотрим каждую часть более детально.

Гермоблок.

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

Интегральная схема.

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

Электромотор.

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

Коромысло.

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

Блок магнитных головок.

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

Пластины.

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

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

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

Принцип работы жесткого диска

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

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

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

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

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

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

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

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



Есть вопросы?

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: