Корпус USB с жестким диском SATA - не простая система. Он содержит сложный «мост» между интерфейсом USB и интерфейсом SATA. Для того чтобы это запоминающее устройство было готово к транзакциям USB, мост обычно содержит серьезный MCU, который сам выполняет базовую конфигурацию SATA и формирует надлежащие таблицы данных о возможностях / форматах подключенного диска и т. Д. В подходящем формате USB Mass Storage Class. Это включает в себя управление питанием.
Ниже приведен пример моста USB3-SATA производства Fujitsu :
Этот мост работает под управлением 32-битного процессора ARM ™ Cortex-M3 ™.
Как видно, мост поддерживает интерфейсы USB 3.0 и USB 2.0, которые работают через один и тот же разъем USB 3.0. Поэтому есть некоторые различия в том, как мост может обрабатывать последовательности подключения / отключения-отключения.
Проблема заключается в том, что из-за по существу полудуплексного интерфейса USB 2.0 и отсутствия отложенного завершения операций шины, выполненных не по порядку, канал USB 2.0 может реализовывать только устаревшие спецификации BOT (Mass Bulk-Only Transport). Протокол шины USB 3.0 поддерживает спецификации USB Attached SCSI (UAS), которые обеспечивают гораздо более широкую функциональность дисков SATA.
Я уверен, что ваша система загружает драйвер UAS по каналу USB 3.0 и прибегает к функциям BOT, если корпус подключен по каналу USB 2.0. Различные драйверы (или режимы драйверов) производят немного другое поведение после операции «извлечения».
Тем не менее, я почти уверен, что прошивка в чипах моста USB-SATA гарантирует, что после получения команды «eject» все будет сброшено и соответствующим образом припарковано, иначе разработчики корпуса довольно быстро обанкротятся. Поэтому, если система говорит «это безопасно», отключите диск с уверенностью.