Перебирал в коробке запчасти для ПК, просматривал какие можно будет использовать в новом сервере.
На дне коробки обнаружил пару дисководов для ПК, а в пакете еще целую стопку, но уже для ноутбуков. Там же лежал USB3.0 адаптер для 2.5" дисков.
Стало интересно, получится ли через него подключить дисковод и прочитать диски. Сами диски тоже имелись, но большинство без каких-либо подписей. Так даже интересней!
USB3.0 адаптер для 2.5" дисков
Основой моего экземпляра является микросхема GL3221G. Именно она обеспечивает связь между интерфейсами USB и SATA.
В документации к ней есть много всего интересного:
Соответствие спецификации USB:
- Соответствует спецификации универсальной последовательной шины 3.0, ред. 1.0 (USB 3.0)
- Соответствует спецификации универсальной последовательной шины ред. 2.0 (USB 2.0)
- Соответствует спецификации класса USB-накопителей большой емкости, ред. 1.0
- Поддержка массовой передачи USB-накопителей большой емкости (BOT)
- Поддержка 1 адреса устройства и до 6 конечных точек: Управление (0) / Массовая запись данных (1) / Массовая запись данных
Вход чтения (2) / Вход прерывания (3) / Выход CMD (4) / Вход состояния (5) - Поддержка 5 Gbps SuperSpeed, 480 Mbps high-speed, и 12 Mbps full-speed.
Особенности спецификации SATA:
- Соответствует спецификации Serial ATA версии 3.0 Gold Revision.
- Поддержка энергосбережения SATA, включая частичный и спящий режимы.
- Поддержка горячего подключения SATA
- Поддержка собственной очереди команд до 32 команд.
- Поддержка управления питанием, инициируемого хостом/устройством SATA.
- Поддержка теста глазковой диаграммы, инициируемого хостом/устройством SATA BIST.
- Поддержка скорости передачи данных 6,0 Гбит/с, 3,0 Гбит/с и 1,5 Гбит/с.
- Поддержка функции сна устройства SATA (DevSlp)
Встроенный микроконтроллер 8051:
- Встроенное ПЗУ объемом 64 Кбайт.
- Встроенная SRAM кода объемом 16 Кбайт для кэша и SRAM данных объемом 2 Кбайт.
Встроенные внутренние регуляторы:
- Линейный стабилизатор напряжения от 5 В до 3,3 В для питания всего чипа
- DC-DC индуктивного типа для питания ядра, диапазон входного напряжения от 2,97 В до 3,63 В
- Один источник тактовой частоты, поддерживающий частоту 30 МГц
Поддерживаются операционные системы:
- Windows 8/Windows 7 32 и 64/Vista32 и 64/XP/2000/Me/98/98SE
- Mac OS 9.X/10.X
- ядро Linux 2.4.Х/2.6.Х
Другие особенности:
- Поддержка функции защиты от записи, защита паролем (виртуальный компакт-диск), управление резервным копированием
- Поддержка команды Trim для SSD
- Поддержка ODD (BD, DVD, CD)
- Синхронизация с расширенным спектром (SSC) для снижения электромагнитных помех
- Встроенный сторожевой таймер для автоматического устранения ошибок
- Интерфейс SPI для обновления прошивки
- Интерфейсы ШИМ для управления вентиляторами и светодиодами (2 GPIO)
- Интерфейс UART для отладки
По описанию почти компьютер! Очень много всего. Крутая штука.
С обратной стороны платы можно обнаружить микросхему P25D21H. Это флеш-память с программой для встроенного в GL3321G микроконтроллера архитектуры MCS-51 (8051). Из интересного можно отметить, что это быстрая (NOR Flash) с объемом в 2Мб (256КБ).
В описания чипа отмечаем "Поддержка ODD (BD, DVD, CD)", так что все должно получиться.
Подключаем или нет?
Попытавшись найти в интернете ответ на вопрос возможно ли такое подключение встретил пару вариантов ответа: "не будет работать, потому что это только для дисков" и "можно, но не хватит питания для запуска, как, например, при подключении такого адаптера к 3.5" дискам".
Я подключал через свой адаптер 3.5" диски и там, действительно, из-за отсутствия 12В линии питания, приходилось подавать питание отдельно.
Для того, чтобы подключать любые диски с SATA интерфейсом, был изготовлен из пары SATA гнезд переходник male-male, чтобы получить кабель male-female SATA.
А питание подавалось с ATX блока питания, который давал все необходимые напряжения (+3.3В, +5В, +12В).
Дисковод будем подключать тоже через БП, чтобы быть уверенными, что все необходимые напряжения подаются и тока для работы точно хватает.
Наконец-то подключаем!
Кабели подключены, питание есть, дисковод ожил и заурчал своим специфичным знакомым звуком.
Индикаторы загорелись и система проинформировала мелодией о новом подключенном устройстве!
Но дисковод в системе почему-то не определился...
Идем в диспетчер устройств.
В свойствах тоже пустота:
Может что не так с проводом/БП/адаптером?
Попробуем подключить к 3.5" жесткому диску, что был выше, и посмотрим как выглядит с ним.
Диск определяется.
Информация заполняется... Странно.
Возвращаемся и читаем описание чипа снова.
Все, что нам нужно, чип поддерживает. Даже много больше. Даже есть свой микроконтроллер... Стоп!
Читаем внимательно как он работает и видим примерно следующее: "при старте загружает из флешки в ОЗУ и выполняет программу...". А что если убрать эту флешку, тем самым заставив запуститься с заводской прошивкой?
Инициализация есть.
Изменения тоже.
Попробуем подключить жесткий диск 2.5".
И диск подключился!
Попробуем подключить дисковод. И... ничего. Абсолютно ничего нового. Все те же палочки в названии устройства и вечно мигающий светодиод.
Выводы
Видимо все-таки невозможно, но с GL3221G. А вот с JMS578, на котором производятся визуально и схематически похожие адаптеры - вполне реально.
Визуально отличить их, насколько понимаю, можно только по наличию разъема подачи 12В питания у версии с JMS578.
В описании JMS578 прямо заявляется о поддержке дисководов (ODD):
The JMS578 is a USB 3.1 Gen1 to SATA 6Gb/s bridge controller. It provides a low power and highperformance solution for external solid state drive (SSD), hard disk drive (HDD), and optical disc drive (ODD).
Спасибо Андрею, за предоставленную информацию о версии с JMS578!
Флешка лишняя?!
Но раз уж у нас есть два варианта устройства, работающих с жесткими дисками, то попробуем найти отличия в работе.
Прогоняем CrystalDiskMark (программа для определения скорости передачи данных) и CrystalDiskInfo (получение общей информации о диске и SMART) без флешки, а после и с возвращенной флешкой.
Сравниваем результаты и не находим отличий.
Видимо прошивка занимается заполнением каких-то структур с информацией о диске, содержит адреса регистров с необходимой информацией и исправляет проблемы чипа, либо его совместимости с различными дисками, например с теми, которые вышли после выпуска чипа GL3321G (ориентировочно Feb. 21, 2013), аналогично микрокоду процессоров. Так в прошивке было найдено упоминание о "Seagate Hard Drive". Видимо код содержит какие-то алгоритмы для поддержки накопителей этой фирмы.
На сервере выложил дамп с P25D21H, вдруг кому-то потребуется. Ну или захочется заняться дизассемблированием и пролить свет на тайну назначения этой флешки.
Заключение
В запасах есть стопка дисководов с ноутбуков. Их тоже можно было бы проверить, но нужно изготовить соответствующий переходник.
Если вам интересно узнать, получится ли их подключить к адаптеру, то вы можете узнать это в посте-продолжении.
—————————————————————————
Спасибо, что дочитали статью!
Подпишитесь пожалуйста на мой канал "Заметки Электроника | Alexander.Chad", этим Вы очень сильно поможете мне. Канал существует только за счет наличия и участия подписчиков.
Если Вам понравился материал - поддержите его лайком или даже донатом (ЮMoney). Есть что сказать? Оставьте комментарий! Это тоже будет помощью.
Сейчас канал нуждается в Вас как никогда прежде!