Tag Archives: Устройство жёсткого диска

Отвечаю на вопросы аудитории. Часть 1.

Комментарии к видео: https://youtu.be/mZe_tzGsqeU Рассохся диск?! Это как? Стекло-металло-керамика? Изменилась геометрия начались промахи… там же соленоид стоит, который следит за дорожкой. Он то как может начать промахиваться? Дело в том, что в магнитной головке расстояние между элементами чтения и записи измеряется на заводе после сборки и считается константой. Из-за того, что головка перемещается по дуге изменение взаимного расположения центров диска… Read more »

Изобретаем жесткий диск. Часть 10. Работаем с макетами.

Итак, новости проекта. Вначале по закупкам и розыскам материалов. 1) Пришел генератор на 100 МГЦ и диоды из «чип и дип» — можно запустить АЦП AD6645. Параллельно нашел, что генератор на 106 МГц можно выпаять из старых Fibre Channel дисков. 2) Раздобыл еще 3 диска из того же семейства, что и изначальный WD21000. Вот какие диски и версии ПЗУ сейчас… Read more »

Изобретаем жесткий диск. Часть 8. Серводемодулятор.

А вот и потерявшаяся часть 8, которая идет после 9-ой! В нашем распоряжении имеется документация от микросхемы AD7775, но в исследуемом нами диске установлена ADSC900JR с виду очень напоминающая первую. Есть ли между ними схожие функции и отличающиеся? Давайте разбираться.

Изобретаем жесткий диск. Часть 6а. Видео про технологический режим.

В этой серии при помощи дизассемблера IDA Pro и плагина процессора i80C196NU находим заводскую технологическую команду перезагрузки диска и тестируем ее работу при помощи PC-3000 в режиме ATA commander. Предыдущий пост серии.

Изобретаем жесткий диск. Часть 7. Схема.

В предыдущих частях мы начали дизассемблирование на основе только документации к процессору. Однако, хорошо бы посмотреть как программа управления связана с остальной аппаратурой. Для этого вооружимся тестером с пищалкой, платой WD21000, документацией на микросхемы и начнем рисовать схему электрических соединений. Так как в данном исследовании мне хотелось бы по максимуму использовать операционную систему Linux, то рисовать схему будем в KiCad…. Read more »

Изобретаем жесткий диск. Часть 6. Технологический режим.

Обмен данными с жестким диском производится через интерфейс IDE, SATA (или какой-либо другой) при помощи стандартизированных команд. Чтобы прочитать данные с диска достаточно использовать всего две команды: идентификации и, собственно, чтения. Первая нужна для получения размера диска и определения типа команды чтения, которая будет работать со всей поверхностью диска. Если помните, то за историю своего существования жесткие диски преодолевали целый… Read more »

Изобретаем жесткий диск. Часть 5. Дизассемблирование.

Итак, приступим к самому магическому действу, а именно, исследованию прошивки нашего подопытного накопителя. Для этого будем использовать IDA disassembler. Запускаем сей продукт, выбираем «открыть файл» и указываем файл считанный из ПЗУ(см. часть 3 данного опуса). Далее появляется вот такое окно: Изменяем тип процессора на «Intel 80196NP». Хотя на нашей плате стоит версия NU, однако, с точки зрения разбора кода программы… Read more »

Изобретаем жесткий диск. Часть 4. Документация на микросхемы.

Перед тем как переходить к детальному разбору конструкции и программы управления жесткого диска WD AC21000 добавим к проекту всю имеющуюся документацию на микросхемы. Файлы загружены на GitHub: https://github.com/rlabru/WD21000/tree/master/doc Файлы имеющие префикс «t_» — это попытки перевести документацию на русский язык.

Изобретаем жесткий диск. Часть 3. Удалось прочитать ПЗУ.

В прошлом выпуске была реализована плата-переходник для подключения ПЗУ к плате Arduino MEGA2560. С тех пор удалось протестировать плату, написать и запустить программу чтения данных из ПЗУ. На рисунке ниже показан основной цикл программы. Полностью программу можно скачать с репозитория проекта на GitHub. Основной цикл void loop() обрабатывает две команды, подаваемые от ПК к устройству чтения ПЗУ платы Arduino: „d“… Read more »