Введение

USB-класс устройств для накопителей

Класс устройств USB для массового хранения данных (также известный как USB MSC или UMS) — это набор протоколов связи, определяемый Форумом разработчиков USB (USB Implementers Forum), который обеспечивает доступ к USB-устройству с хост-компьютера и позволяет осуществлять передачу файлов между хостом и USB-устройством. Для хост-компьютера USB-устройство представляется как внешний жесткий диск; этот набор протоколов взаимодействует с различными устройствами хранения данных.

Поддержка операционной системы

Большинство распространенных операционных систем поддерживают устройства USB для хранения данных; для более старых систем поддержка обычно доступна в виде обновлений.

Microsoft Windows

Microsoft Windows поддерживает MSC начиная с Windows 2000. В версиях Windows до Windows 95 и Windows NT 4.0 отсутствует встроенная поддержка USB от Microsoft. Windows 95 OSR2.1, обновление операционной системы, обеспечивала ограниченную поддержку USB. В то время Microsoft не выпускала универсальных драйверов USB для устройств массового хранения (включая Windows 98), и для каждого типа USB-устройства хранения требовался специализированный драйвер. Драйверы от сторонних разработчиков, распространяемые бесплатно, стали доступны для Windows 98 и Windows 98SE, а также существуют драйверы сторонних разработчиков для Windows NT 4.0. Windows 2000 поддерживает (через универсальный драйвер) стандартные USB-устройства массового хранения; Windows Me и все последующие версии Windows также включают поддержку. Windows Mobile поддерживает доступ к большинству USB-устройств массового хранения, отформатированных в FAT, на устройствах с поддержкой USB Host. Однако портативные устройства обычно не могут обеспечить достаточную мощность для подключения корпусов жестких дисков (жесткому диску обычно требуется максимум 2,5 Вт согласно спецификации USB) без использования USB-концентратора с внешним питанием. Устройство Windows Mobile не может отображать свою файловую систему как устройство массового хранения, если разработчик устройства не добавит такую функциональность. Однако сторонние приложения добавляют эмуляцию MSC для большинства устройств WM (например, коммерческий Softick CardExport и бесплатный WM5torage). Как правило, из-за проблем с файловыми системами можно экспортировать только карты памяти (а не внутреннюю память). Функция AutoRun в Windows работала со всеми съемными носителями, что позволяло USB-накопителям становиться источником распространения компьютерных вирусов. Начиная с Windows 7, Microsoft ограничила AutoRun для CD и DVD-дисков, обновив предыдущие версии Windows.

MS-DOS

Ни MS DOS, ни большинство совместимых операционных систем не включали поддержку USB. Сторонние универсальные драйверы, такие как Duse, USBASPI и DOSUSB, доступны для поддержки USB-устройств хранения данных. FreeDOS поддерживает USB-накопители как интерфейс Advanced SCSI Programming Interface (ASPI).

Классическая Mac OS и macOS

Mac OS 9 и macOS от Apple Computer поддерживают USB-накопители; Mac OS 8.5.1 поддерживала USB-накопители через дополнительный драйвер.

Линукс

Ядро Linux поддерживает устройства USB-массового хранения начиная с серии 2.4 (2001), и для ядра 2.2.18 был сделан перенос (backport). В Linux, помимо общих драйверов для устройств класса USB-массового хранения, существует множество дополнительных возможностей, включая специфические настройки, исправления ошибок и расширенную функциональность для устройств и контроллеров (функции, реализованные производителем, такие как сквозная передача ATA-команд для ATA-USB-мостов, что полезно для S.M.A.R.T. или мониторинга температуры, управления раскруткой и остановкой жестких дисков и других параметров). Это относится и к некоторым устройствам на базе Android, благодаря поддержке USB OTG, поскольку Android использует ядро Linux.

Другие системы, связанные с Unix

Solaris поддерживает устройства с версии 2.8 (1998), NetBSD с версии 1.5 (2000), FreeBSD с версии 4.0 (2000) и OpenBSD с версии 2.7 (2000). Digital UNIX (впоследствии Tru64 UNIX) поддерживает USB и устройства USB-массового хранения с версии 4.0E (1998). AIX поддерживает устройства USB-массового хранения, начиная с версий 5.3 T9 и 6.1 T3, однако поддержка реализована недостаточно качественно и отсутствует функциональность, такая как разбиение на разделы и общая блокировка.

Игровые приставки и встроенные устройства

Xbox 360 и PlayStation 3 поддерживают большинство устройств массового хранения для передачи данных мультимедийного контента, такого как фотографии и музыка. По состоянию на апрель 2010 года Xbox 360 (a) использовал устройство массового хранения для сохранения игровых данных, а PS3 позволяла осуществлять передачу данных между устройствами с использованием устройства массового хранения. Независимые разработчики выпустили драйверы для калькуляторов TI 84 Plus и TI 84 Plus Silver Edition для доступа к USB-устройствам массового хранения. В этих калькуляторах драйвер usb8x поддерживает приложение пользовательского интерфейса msd8x.

Дизайн

Некоторые расширенные команды жестких дисков, такие как Tagged Command Queuing и Native Command Queuing (которые могут повысить производительность), ATA Secure Erase (который позволяет безопасно стирать все данные на диске) и S. M. A. R. T. (доступ к индикаторам надежности диска) существуют как расширения низкоуровневых наборов команд дисков, таких как SCSI, ATA и ATAPI. Эти функции могут не работать при размещении дисков в корпусе, поддерживающем интерфейс USB-массового хранения. Некоторые интерфейсы USB-массового хранения являются универсальными, предоставляя базовые команды чтения и записи; хотя это хорошо подходит для простой передачи данных с устройствами, содержащими жесткие диски, нет простого способа отправки расширенных, специфичных для устройства команд на такие USB-устройства хранения (хотя устройства могут создавать собственные протоколы связи через стандартный интерфейс управления USB). Протокол USB Attached SCSI (UAS), представленный в USB 3.0, решает несколько из этих проблем, включая командную очередь, каналы команд для оборудования, требующего их, и управление питанием. В некоторых чипсетах USB 2.0 были реализованы проприетарные методы проброса SCSI, которые можно было использовать для чтения данных S. M. A. R. T. с дисков с помощью таких инструментов, как smartctl (с использованием опции, за которой следует "chipset"). Более новые чипсеты USB-хранилищ поддерживают SCSI / ATA Translation (SAT) как универсальный протокол для взаимодействия с устройствами ATA (и SATA). Использование сложных команд ATA или SCSI (например, безопасного стирания или защиты паролем) при подключении диска через USB-мост может привести к его выходу из строя, особенно при использовании утилиты hdparm.