Массовое хранилище — Mass storage
В вычислении , массовые запоминающий относятся к хранению больших объемов данных в сохраняющуюся и машиночитаемой форме. В общем, этот термин широко используется по отношению к современным дисководам, но он широко используется в отношении оперативной памяти, например, с гибкими дисками.
Устройства и / или системы, которые были описаны как накопители большой емкости, включают ленточные библиотеки , системы RAID и различные компьютерные приводы, такие как жесткие диски , магнитные ленты , магнитооптические приводы, приводы оптических дисков, карты памяти и твердотельные накопители. -государственные диски . Он также включает экспериментальные формы, такие как голографическая память . Запоминающее устройство большой емкости включает устройства со съемными и несъемными носителями. Он не включает оперативную память (RAM).
Существует два широких класса запоминающих устройств большой емкости: локальные данные на таких устройствах, как смартфоны или компьютеры , и корпоративные серверы и центры обработки данных для облака. Что касается локального хранилища, твердотельные накопители находятся на пути к замене жестких дисков. Что касается мобильного сегмента от телефонов до ноутбуков, то сегодня большинство систем основано на NAND Flash . Что касается Enterprise и центров обработки данных, уровни хранения созданы с использованием сочетания SSD и HDD .
СОДЕРЖАНИЕ
Определение
Понятие «больших» объемов данных, конечно, сильно зависит от временных рамок и сегмента рынка, поскольку емкость запоминающих устройств увеличилась на много порядков с момента появления компьютерных технологий в конце 1940-х годов и продолжает расти; однако в любой период времени обычные запоминающие устройства имели тенденцию быть намного больше и в то же время намного медленнее, чем обычные реализации современной технологии первичного запоминающего устройства .
В докладах на осенней совместной компьютерной конференции 1966 года (FJCC) термин массовое запоминающее устройство использовался для обозначения устройств, существенно больших, чем современные жесткие диски. Аналогичным образом, анализ 1972 года выявил системы хранения данных от Ampex (Terabit Memory) с использованием видеоленты, Precision Industries (Unicon 690-212) с использованием лазеров и International Video (IVC-1000) с использованием видеоленты и утверждает: «В литературе наиболее распространены определение емкости запоминающего устройства — триллион бит ». Первая конференция IEEE по запоминающим устройствам большой емкости была проведена в 1974 году, и в то время запоминающие устройства были определены как «емкость порядка 10 12 бит» (1 гигабайт). В середине 1970-х IBM использовала термин «to» в названии IBM 3850 Mass Storage System, которая предоставляла виртуальные диски с резервными копиями с помощью картриджей с магнитной лентой со спиральной разверткой , медленнее, чем дисковые накопители, но с емкостью, большей, чем это было возможно с дисками. Термин запоминающее устройство большой емкости использовался на рынке ПК для обозначения таких устройств, как дисководы гибких дисков, которые были намного меньше, чем устройства, которые не считались запоминающими устройствами большой емкости на рынке мэйнфреймов.
Устройства массовой памяти характеризуются:
- Устойчивая скорость передачи
- Расходы
- Емкость
Медиа хранилище
Магнитные диски — преобладающие носители информации в персональных компьютерах . Однако оптические диски почти исключительно используются в крупномасштабном распространении розничного программного обеспечения, музыки и фильмов из-за стоимости и производственной эффективности процесса формования, используемого для производства DVD и компакт-дисков, а также почти повсеместного присутствия приводов для чтения в персональные компьютеры и бытовая техника. Флэш-память (в частности, флеш-память NAND ) занимает прочную и растущую нишу в качестве замены магнитных жестких дисков в высокопроизводительных вычислительных системах предприятия из-за ее надежности, связанной с отсутствием движущихся частей, и по своей сути гораздо более низкой задержкой по сравнению с обычными. решения для магнитных жестких дисков. Флэш-память также давно популярна в качестве съемных носителей, таких как USB-накопители , где она де-факто составляет рынок. Это связано с тем, что он лучше масштабируется с точки зрения затрат в более низких диапазонах мощности, а также его долговечность. Он также появился на ноутбуках в виде твердотельных накопителей , по тем же причинам, что и корпоративные вычисления: а именно, заметно высокая степень устойчивости к физическим воздействиям, что опять же связано с отсутствием движущихся частей, а также с увеличением производительности. по сравнению с обычными магнитными жесткими дисками и заметно уменьшенным весом и потребляемой мощностью. Flash также появился на мобильных телефонах .
Дизайн компьютерных архитектур и операционных систем часто диктуется технологиями массового хранения данных и шин того времени.
использование
Запоминающие устройства большой емкости, используемые в настольных компьютерах и большинстве серверных компьютеров, обычно хранят свои данные в файловой системе . Выбор файловой системы часто важен для максимизации производительности устройства: файловые системы общего назначения (например, NTFS и HFS ), как правило, плохо справляются с медленными оптическими хранилищами, такими как компакт-диски.
Некоторые реляционные базы данных также могут быть развернуты на запоминающих устройствах без промежуточной файловой системы или диспетчера хранилища. Oracle и MySQL , например, могут хранить табличные данные непосредственно на необработанных блочных устройствах .
На съемных носителях вместо файловых систем иногда используются форматы архивов (например, tar-архивы на магнитной ленте , которые непрерывно упаковывают данные файлов), поскольку они более портативны и проще для потоковой передачи .
На встроенных компьютерах обычно используется отображение содержимого запоминающего устройства большой емкости (обычно ПЗУ или флэш-памяти), чтобы его содержимое можно было просматривать как структуры данных в памяти или выполнять непосредственно программами.
Билет 24
Файловая система — порядок, определяющий способ организации, хранения и именования данных на носителях информации в компьютерах, а также в другом электронном оборудовании: цифровых фотоаппаратах, мобильных телефонах и т. п. Файловая система – коллекция файлов, метаданные (информация об этих файлах «директории»), способы разделения файлов, защита файловой системы.
Файл – это объект, с атрибутами поименования и атрибутами доступа.
Файловая система должна обеспечить интерфейс к этому объекту, методы доступа к этим данным, обеспечить методы мультидоступа (locked – если файл обновляется, остальные ждут).
Основные концепции файловой системы:
Бывают текстовые файлы, исходные фалы, объектные файлы (object файл) – то, что подготовлено под работу binder`ов или linker`ов, executable файлы – код по секциям, который подготовлен компилятором.
Функции файловой системы:
Функции для работы с файлами (создание, удаление, переименование файлов и т.д.)
Функции для работы с данными, которые хранятся в файлах (запись, чтение, поиск данных и т.д.)
Каждый файл имеет атрибуты и над каждым файлом можем проводить определенные операции:
Create – аллокация файла + запись в системе директорий.
Write – Всегда делается с помощью системных прерываний. Получаем pointer на то место, куда мы будем писать. (Next pointer.)
Read – системный вызов, который даст read pointer.
Seek – поиск по файлу. Текущий pointer смещаем в ту позицию, по которой ищем.
Delete – Удаляем файл.
Truncating file – задает размер файла равным нулю, сохраняя все прочие атрибуты.
Appending – добавление данных в конец файла.
Renaming – переименования файла.
Open – основная операция, открытия файла. Может быть не явной (например, при вызове Appending). Мы должны создать 2 таблицы:
Таблица pointer`ов для данного файла. Тут содержится счетчик, который говорит сколько процессов открыло файл. Закрываем файл – счетчик уменьшается на 1. Когда 0 – вся информация о файл. Обычно присутствует ссылка на system table.
System table – табличка, где будет информация на каждый файл, который содержится в директориях. Системная информация, которая одна на всех.
В программном продукте открываем данные один раз. 1 проход в физической последовательности = операции открытия файла, то есть операция очень затратная. Процесс open – добавление в таблички информации из директорий и установки counter`ов. Также всегда пользуемся locker`ами.
Есть различные имплементации файловых систем, есть организация дисковых устройств для файловой системы. Это называется Mass Storage. Есть сама подсистема ввода/вывода. И, наконец, распределенная файловая система.
Мы должны поддерживать распределенную файловую систему, а для этого мы должны:
Именовать узлы, где находится файловая система.
Осуществлять удаленный файловый доступ.
Осуществлять процедуры репликации.
Иметь специальные файловые системы, которые запоминают состояния на которых мы остановились.
Иметь специальную технологию stream`ов.
Mass Storage
Для обозначения Mass Storage «в быту» используются две аббревиатуры — MSC и UMS. MSC (Mass Storage Class) является официальной, а UMS (возможны варианты расшифровки: USB/Universal Mass Storage) — «народной»..
MSC сообщает о том, что протокол входит в число утвержденных стандартных «классов устройств» в рамках спецификации USB и тем самым является индустриальным стандартом де-юре. UMS говорит об универсальности протокола, который на сегодня поддерживается большинством операционных систем и бесчисленным множеством конечных устройств, что делает его стандартом и де-факто. Вариант расшифровки UMS как USB Mass Storage дополняет эту информацию, уточняя, что в качестве физической линии используется интерфейс USB. Буквы MS (Mass Storage), общие для всех аббревиатур, показывают, что перед нами протокол, предназначенный для работы с устройствами хранения больших объемов данных. Именно для них и был разработан данный стандарт.
К классу устройств USB mass-storage относятся устройства, передающие файлы в одном или в двух направлениях. Типичные представители этого класса устройств: жесткие диски, CD-, DVD-приводы и флешки. Файловая система позволяет пользователю копировать, перемещать и удалять файлы в устройстве
Почти все устройства USB mass-storage используют протокол передачи только массивов (bulk) данных (bulk-only transport, BOT, также называемый BBB).
Достоинства протокола. Главное — простота: все операции осуществляются через стандартные файловые оболочки, в т.ч. Windows Explorer (Проводник), никакие дополнительные знания или обучение для работы с ним не требуются.
Распространенность – уже Windows Me и 2000 имели базовую поддержку протокола, Windows XP поддерживал его полностью. Множество других ОС — MacOS, Linux и т.п. — совместимы с Mass Storage.
Билет 24.2 Средства 3А ОС. Протоколы 802.1х
ААА (средства операционной системы):
Аудит – фиксирование событий (процесс контроля ресурсов)
В ОС существует матрица доступа, которые поддерживаются ядром ОС, доступ к ресурсам возможен через системные прерывания. Ресурсы предоставляются только тем, кто имеет соответствующие привилегии.
Привилегия – использует специальные системные прерывания для того, чтобы управлять доступом к ресурсам.
Право – то что, дается пользователю для получения доступа к ресурсам.
Protection — делается на низком уровне ОС (библиотеки и system call).
Одной из проблем является защита файловой системы. Файл – объект, который содержит данные и атрибуты (имя, безопасность(атрибут доступа)). Атрибуты делаются при помощи системных вызовов, обращение к системному вызову — привилегия пользователя. Обычно задаются пароли на доступ к файлу. Пароль – базовый параметр ОС (должен быть зашифрован). Бывают симметричные и ассиметричные. Симметричный – при шифровании и дешифровании пользуется один и тот же ключ (был предложен IBM в 60х г. DES алгоритм). Ассиметричный – privet key (для раскодировании) и public key.
пользователь посылает запрос на аутентификацию системе (пароль, ключ и т.д)
система пересылает его серверу AAA (т.к. не может провести аутентификацию)
сервер AAA посылает ответ системе
пользователь получает или не получает доступ
Основные протоколы AAA: RADIUS, DIAMETER.
Протокол 802.1X работает на канальном уровне и определяет механизм контроля доступа к сети на основе принадлежности к порту (в контексте стандарта порт — точка подключения к сети).
Согласно протоколу 802.1X доступ к сети получают только клиенты прошедшие аутентификацию, если аутентификация не была пройдена, доступ с соответствующего порта будет запрещен.
802.1X предполагает использование модели точка-точка. То есть, он не может быть применен в ситуациях когда несколько хостов соединяются с коммутатором на котором настроена аутентификация 802.1X через хаб или через другой коммутатор.
Supplicant — устройство (компьютер, ноутбук или др.) которое запрашивает доступ к сети у аутентификатора (коммутатора или точки доступа) и отвечает на его запросы. На клиенте должно быть установлено (или встроено) программное обеспечение работающее по протоколу 802.1X. Supplicant может быть встроен в коммутатор.
Аутентификатор (authenticator) — устройство контролирующее физический доступ к сети основываясь на статусе аутентификации клиента, является посредником (proxy) между клиентом и сервером аутентификации.
Для каждого порта коммутатора, с включенным 802.1X, создается два виртуальных порта:
Контролируемый (авторизованный) порт — открывается только после авторизации по 802.1X
Неконтролируемый (неавторизованный) порт — разрешает передавать только EAPOL трафик
До тех пор пока клиент не авторизован, только EAPOL трафик разрешен на неконтролируемом порту.
Сервер аутентификации (authentication server) — осуществляет аутентификацию клиента. Сервер аутентификации проверяет identity клиента и сообщает аутентификатору разрешен ли клиенту доступ к сети.
Работа 802.1X (EAP-MD5):
Клиент отправляет сообщение EAPOL-старт аутентификатору
Аутентификатор отправляет клиенту EAP-Запрос и клиент отвечает EAP-ответом
Аутентификатор инкапсулирует ответ в формат RADIUS и пересылает ответ серверу аутентификации
Сервер аутентификации отправляет EAP-MD5 Challenge клиенту, а клиент присылает ответ (передает сообщения аутентификатор соответствующим образом инкапсулируя и деинкапсулируя фреймы)
Сервер аутентификации подтверждает подлинность клиента и сообщает аутентификатору о необходимости разрешить доступ клиента к сети
Русские Блоги

Более углубленный анализ, для внутренней структуры обычного U-диска, это физический интерфейс USB.
Плюс соответствующий чип управления (микроконтроллер (включая NAND Flash Controller) + USB-контроллер устройства) и Nand Flash Chip:
Интерьер логической блокной диаграммы ПК и U диск
Абстрактные логические отношения между ПК и U диск, могут быть представлены на следующем рисунке:

Прошивка или аппаратное обеспечение (оборудование) на устройстве USB MSC, вы должны реализовать следующие функции:
- Обнаружить и реагировать на события на общем запросе USB и USB-шине.
- Обнаружение и реагирование на запрос на запоминающее устройство USB для информации или действий с устройства USB.
- Обнаружение и ответ, команда SCSI, полученная из передачи USB. Команды этих отраслевых стандартов,
Он используется для получения информации о состоянии, операции управления устройствами, чтения блоков и блоков записи в блоке хранения носителя.
Кроме того, если устройство хочет создавать / чтение / запись, файл / папки,
Затем включите файловую систему, но и соответствующую файловую систему. Общая файловая система в встроенной системе имеет FAT16 или FAT32.
Для этих протоколов у нас есть простое объяснение и анализ одного на один:
2.1.1.1. USB MSC Control/Bulk/Interrupt (CBI) Transport
Нас ориентирован на U-диск, является так называемым устройством MSC, устройство для хранения большого емкости.
Функция U-диска U является хранение данных. Соответствующие данные передаются, используя объемную передачу в USB.
Передача управления используется для отправки определенной классы информации и прозрачного стойла.
И другой информационный обмен является использованием оптом-протокола только.
Для CBI альтернатива для навала также может быть использована для обмена,
Тем не менее, он может быть использован только, и привод дисководки также рекомендуется использовать CBI для других новых устройств MSC.
USB MSC Control / Bulk / прерывание (CBI) в основном используется для гибких устройств, для нашего концерна U Disk, нельзя использовать, не нужно слишком много внимания, можно игнорировать.
2.1.1.2. USB MSC Bulk-Only (BBB) Transport
Как упомянуто выше, только оптом — это только USB-устройство, U-диск U и конце USB-хост, протокол между обычным ПК, обмен информацией между информацией.
Массовая только транспортировка, также называется ботом.
2.1.1.2.1. Почему транспортировка только на оптовой перевозке в USB MSC под названием BBB
Массовые — только в USB MSC часто называют BBB, что относительно предыдущего CBI.
Кажется, что CBI USB MSC является сокращением контроля / объема / прерывания, но его конкретное значение:
- Control
Контрольные точки управления используются в дополнение к передаче стандартных USB-запросов, но и для запросов для определения класса,
Передайте командный блок на устройство; управляющая конечная точка передает командный блок.
Объемные и масштабированные конечные точки используются для передачи данных между хостами (хост) и устройствами (устройства).
Облигация используется для передачи данных
Конечная точка прерывания используется для уведомления команды к хосту. Прерывание используется для передачи информации о состоянии
Следовательно, вышеупомянутый USB MSC-контроль / прерывание / прерывание / прерывание просто называется CBI.
И три разных конечных точка в CBI передают три типа информации, и разница в том, что
Массовая — только передает все эти данные, которая использует насыпные конечные точки.
То есть используйте объемную конечную точку для передачи блока команд, данных, статуса и, следовательно,
Он похож на контроль / объем / прерывание, как CBI, а объем / объем / объем называется BBB.
USB MSC Транспортное соглашение CBI и BOT, в то время как BO также называется BBB.
2.1.1.2.2. Почему уже есть CBI, затем сделайте BBB
Поскольку устройство USB MSC, связь между устройством USB и USB-хостом,
Спецификация CBI была определена, то почему вы хотите определить навалочную (BBB)?
Мое понимание, потому что, когда протокол USB определяется, на рынке все еще много гибких дисков.
Следовательно, для дискеты, несколько конечных точек определены для передачи различной информации соответственно.
Конечная точка управления командным блоком, объемных биографических данных, прерываний пресс-информация,
Позже, разработка компьютерной промышленности, настройка класса Floppy используется, и данные хранятся.
Большинство начинаются с флэш-памяти, плюс через разумное планирование,
Вы можете использовать одну и ту же конечную точку, основную конечную точку, передаю вышеуказанную информацию, а именно командный блок, данные, состояние,
Следовательно, только оптовая конечная точка генерируется физически, сохраняя другие две конечные точки:
Контрольные конечные точки и конечные точки прерывания достигли физической реализации и ресурса,
Цель достижения такой же передачи информации. Эта часть понимает, что требует дальнейшего принятия.
Protocol MSC USB MSC (BBB) - это объект, на котором мы должны сосредоточиться.
Поскольку наш дисковый и USB-хост (ПК) прямой информационный взаимодействие, этот протокол в основном используется.
2.1.1.3. USB MSC UFI Command Specification
UFI, то есть универсальная гибкая интерфейс, поэтому вы знаете, что вы знаете, что это о дискетах.
Эта спецификация USB MSC UFI определяет набор команд UFI (набор команд), разработав эту спецификацию,
Он используется для дискеты. Этот набор команд UFI основан на командах SCSI-2 и SFF-8070i.
Прочитав объяснение выше, мы понимаем, что мы заботимся о U-диске.
Тип флэш-памяти USB не является типом дискета, поэтому вы не можете заботиться, если вы здесь не занимаетесь.
2.1.1.4. USB MSC Bootability Specification
В настоящее время начинаются общие компьютеры, многие начинаются с устройства MSC Mass Storage, например, жесткий диск.
Следовательно, эта спецификация разработана таким образом, что операционная система может начать с устройства USB MSC.
Конкретное содержание этой спецификации в основном определяется в некоторых командах и соответствующих определениях данных.
То есть, если вы хотите сделать операционную систему начать с вашего устройства MSC,
Тогда вы должны реализовать соответствующий CDB (блок дескриптора команды, блок дескриптора команды) или данные данных.
В основном мы заботимся о том, как U диск взаимодействует с данными Host, которые не обеспокоены тем, можно ли запустить с этого U-диск, поэтому он не слишком обеспокоен, он упускается из виду.
2.1.1.5. USB MSC Compliance Test Specification
Не нужно объяснять, посмотреть на имя, это стандарт для тестирования совместимости.
И данные взаимодействия U-Disk и Host мы заботимся о том, есть небольшие отношения, и он перегружен.
2.1.1.6. USB Lockable Storage Devices Feature Specification
«Спецификация блокируемых устройств хранения данных», называемая LSD FS.
«Блокируемые» означает, что замки, т. Е. Блокировка, чтобы предотвратить доступу или писать, то есть только чтение, и даже другие люди могут получить доступ.
Чтобы выпустить его прямо, это стандарт для управления безопасностью устройства для хранения USB.
На основании в настоящее время нет стандартной спецификации, как контролировать эти доступ к устройству для хранения USB,
Таким образом, это определит такой протокол, связанный с контролем доступа.
Этот протокол позволяет устройствам хранения, которые позволяют устройства для хоста или устройства для блокировки или разблокировки разблокировки.
И протоколы хранения и полномочий безопасности, связанные с контролем, мы также не занимаются здесь, незначительными.
2.1.1.7. USB MSC USB Attached SCSI Protocol (UASP)
«Прилагается» как имя, оно прикреплено к нему, которое прикреплено к протоколу SCSI, дополнительная часть протокола SCSI.
Спецификация UASP определяет, как сделать в USB 2.0 и USB 3.0,
Как реализован стандарт передачи UAS и некоторые примеры и некоторые рекомендуемые практики.
2.1.1.7.1. Уже уже есть протокол SCSI, почему я должен получить UASP?
Поскольку уже есть соответствующий протокол SCSI, он используется для отправки соответствующей команды для реализации соответствующей функции. Как U диск и т. Д.
Непосредственно реализовать соответствующий протокол, соответствует соответствующим спецификациям, не добивайтесь соответствующей функции,
Почему вы должны сделать еще одно договорное соглашение SSCI?
Это потому, что оригинальный бот (объемный только транспортировка), хотя соглашение простое,
Подходит для использования в большом устройстве для хранения громкости, но он похож на один поток, а множественная передача не может быть выполнена параллельно.
То есть для бота каждая из них инициировала передачу данных (транзакция), должна дождаться завершенного устройства,
Затем устройство возвращает соответствующую завершенную информацию о состоянии, прежде чем она сможет начать следующую передачу данных.
Таким образом, для всего процесса передачи данных оно вызвало много отходов (вероятно, 20%).
Для USB 3.0 скорость изменяется с USB 2.0 до 480 МБ / с в 5,0 ГБ / с,
И если вы продолжите с бота, то относительно низкое использование производительности процессоров,
Скорость передачи USB не слишком высока, например, исследования показали, что 2,4 ГГц Core Duotm CPU,
Скорость использования составляет всего около 12%, а скорость передачи CPU составляет всего около 250 МБ / с.
Теоретическая скорость USB 3.0 составляет 5,0 ГБ / с = 640 МБ / с, то есть половина теоретической максимальной скорости еще не.
Следовательно, существует только эта UASP, дополненная протоколом SCSI для увеличения использования USB 2.0 USB-интерфейса,
И в полной мере использовать полнодуплексную способность USB 3.0, скорость передачи может достигать примерно 400 МБ / с.
Реализация этого нового протокола UASP также необходимо соответствовать соответствующему программному обеспечению нового хоста, прошивку новой стороны устройства (прошивка).
Для достижения обратной совместимости устройства устройство поддерживает бот и UAS одновременно.
И эта спецификация UASP определяет, как соответствующий протокол UAS реализован на USB 2.0 и USB 3.0.
Когда хост и устройство реализовали этот протокол UAS, то хост пройдет через конец хоста.
SCSI Software Stack переходит на устройство, а интерфейс USB также увидит,
Другой хост-адаптер SCSI в стеке хоста.
Устройство необходимо для реализации модели архитектуры SAM4, поэтому хост может также запросить
(Очередь) Команда в устройстве и улучшение соответствующей производительности.
Чтобы преодолеть недостатки уровня утилизации шины старого протокола бота, определяется новый протокол UAS.
То есть UASP для повышения эффективности передачи USB и улучшить скорость USB.
Конечно, для достижения функций диска, мы надеемся, что лучшая производительность,
Поэтому это соглашение также то, что мы должны хорошо учиться.
2.1.2. Краткое изложение между различными протоколами USB MSC
Чтобы проиллюстрировать взаимосвязь между различными протоколами массы USB, мы сначала дам эти протоколы:
① USB Mass Storage Class Control/Bulk/Interrupt (CBI) Transport
② USB Mass Storage Class Bulk-Only (BBB) Transport
③ USB Mass Storage Class Universal Floppy Interface (UFI) Command Specification
④ USB Mass Storage Class Bootability Specification
⑤ USB Mass Storage Class Compliance Test Specification
⑥ USB Lockable Storage Devices Feature Specification (LSD FS)
⑦ USB Mass Storage Class USB Attached SCSI Protocol (UASP)
Непосредственно используйте фигуру для представления отношений между различными протоколами USB MSC, что более интуитивно понятно:
Рисунок 2.7. Соотношение протокола класса хранения USB

Как показано выше, наш U диск реализован функция, в основном данные чтения и записи данных, а также передачу данных между устройством и хостом, есть два основных типа:
- CBI: в основном используется для дискеты, поэтому новые устройства, очень немногие используют этот протокол
- Бот: Массовые перевозки, также известный как BBB (BURK / BURK / BULK),
Для BOT / BBB он улучшает использование шины USB и улучшает скорость USB.
Это соответствующий протокол UASP, поэтому его называют расширенной версией протокола UASP.
После того, как соглашение закончено, давайте посмотрим на конец USB-устройства.
Конец USB-устройства, согласно среднему типу внутренних данных, хранящихся, разделенные на два типа:
- Один — это гибкое устройство, которое применяется к набору команды UFI;
- И другой, это наша общая флэш-память, соответствующая — использовать набор команд SCSI.
И протокол SCSI сам, поэтому он не является USB-протокольной областью MSC, то есть SCSI — это просто протокол, связанный с USB MSC.
Аналогично, для самого USB-устройства, если вам нужны другие функции, такие как загрузочная, совместимость, блокируемость и т. Д.
Тогда соответствующая спецификация
④ USB Mass Storage Class Bootability Specification
⑤ USB Mass Storage Class Compliance Test Specification
⑥ USB Lockable Storage Devices Feature Specification (LSD FS)
На данный момент отношения между различными протоколами и спецификациями легко понять. В столько соглашении выше, мы должны заботиться об этом.
Только три спецификации, как на предыдущей фигуре, были идентифицированы с помощью звездочки:
Самые обеспокоенные Бот, соглашение между принимающей и устройством передачи данных
★★★ ② USB Mass Storage Class Bulk-Only (BBB) Transport
Во-вторых, вам необходимо заботиться о соглашении между USB-устройством внутренних и носителей хранения данных.
★★ SCSI — Small Computer System Interface
Наконец, за, если вы хотите добиться лучшей производительности, вам нужно позаботиться о модернизации бота
★⑦ USB Mass Storage Class USB Attached SCSI Protocol (UASP)
2.1.3. Соответствует классу, подклассу и протоколу в USB
Соответствующее, понимание USB знает, что в дескрипте каждого устройства есть соответствующее следующее:
- bInterfaceClass
- bInterfaceSubClass
- bInterfaceProtocol
Класс, подкласс, протокол, соответствующий USB.
И U диск мы здесь:
2.1.3.1. bInterfaceClass=0x08=Mass Storage
Класс — класс для хранения USB,
2.1.3.2. bInterfaceSubClass=0x06=SCSI Transparent
Подкласс, опоры списка выглядит следующим образом:
Рисунок 2.8. Коды подкласса сопоставлены на технические характеристики блока команд
2.1.3.3. bInterfaceProtocol=0x50=Bulk Only Transport
Протокол, список поддерживает следующее:
Рисунок 2.9. Массовое хранение транспортного протокола
Из поддерживаемых протоколов, определенных выше этих спецификаций, в сочетании с цветными коробками,
То есть то, что мы объяснили ранее, требуют, чтобы мы заботились и исследования, а именно SCSI, BBB и UAS.
Направление потока данных USB

Команда SCSI набор используется оборудованием для хранения масс
0x00 TestUnitReady
0x03 RequestSense
0x12 Inquiry
0x1A ModeSense6
0x1B StartStop
0x1E MediumRemoval
0x23 ReadFormatCapacity
0x25 ReadCapacity
0x28 Read(10)
0x2A Write(10)
0x2F Verify
0x5A ModeSense10
— Первый хост выпущен Inquiry Команда, вы можете увидеть букву диска после ответа на запрос.
— Я выдажу это после запроса ReadFormatCapacity Команда, эта команда — «Custom Custom Command» в спецификации SCSI,
Вы можете обратиться к документу «Установить команду UFI» (на самом деле, все наборы команд SCSI, используемые наборам U Disk, могут ссылаться на документ UFI, который более кратко, чем стандартный документ SCSI).
Обратите внимание, что эта команда не описана в бушне, вы должны проверить его на странице параметра «Устройство».
Это устройство для хранения USB, соответствующее этому U-диску, может видеть поток данных этой команды.
— readformatCapacity будет выдан ReadCapacity Заказ.
Читайте (10) прочитать первый сектор диска U, отправляется после завершения числа readCapity.
— данные чтения диска (Сектор чтения) отправляются на чтение (10).
— U Disk Пишите данные (сектор записи) отправят запись (10).
— TestUnitready будет отправлен, когда нет других передач данных, если устройство не отвечает на успешный CSW к хосту,
Хост в том, что устройство не существует. В это время, если вы дважды щелкните значок диска, Windows подскажет «Пожалуйста, вставьте диск».
— Проверка полезна при записи данных, указывающих проверки данных, обычно напрямую возвращающую успешный CSW.
В целом, работа проверки данных производится путем получения и записи данных в СМИ,
Если обнаружена ошибка, передача данных напрямую сообщает хосту, который неверно и не будет дождаться до тех пор, пока хост не проверяет.
Конечно, это не неизбежное решение.
— RequestionSense: если CSW указывает, что передача не удалась, хост выдаст этот запрос.
— StartStop временно не нашел большого использования, и он обычно возвращается в успешный CSW.
— MedicleRemoval полезен, когда U-диск используется извлечения, и обработка неверна будет заполнять сообщение об ошибке.
— Modesense6 / Modesense10 Эти две команды не могут быть поддерживаться
(Не поддерживайте его не отвечать, любой заказанный вами необходимо сделать реагирование. Для неподдерживаемых команд вы можете показать хост через стойл, чтобы показать хост).
У меня нет никаких ненормальств в то время, и я просматривал какой-нибудь диск, и есть значительная часть, которую я верну несколько данных на хост.
Эти две команды будут отправлены только один раз после того, как U-диск вставлен, и не будет отправлен позже.
Дескриптор и процесс перечисления оборудования для хранения USB
Во-первых, хост будет сначала выпустить ряд стандартных запросов.
Во-вторых, после того, как стандартный запрос завершен, будут выпущены два вида запросов:
Массовые только для сброса массового сброса хранения и
Получите максимальный запрос LUN.
Bulk-Only Mass Storage Reset Там нет фазы данных,
Только на этапе состояния сообщает завершение процесса сброса хост-устройства или нет.
Если ACK возвращается на этапе состояния, хост считает, что устройство сбрасывается и готово к приему CBW.
Get Max LUN Требуйте устройство для возврата данных в хост, чтобы указать, сколько логических устройств имеет это USB-устройство.
Возвращенные данные являются крупнейшим логическим номером устройства (номер логики).
Диапазон составляет от 0 до 15. Например, если вы вернетесь 2, то составьте 0, 1, 2 логические устройства.
USB Mass Storage Устройство Обмен данными
Передача данных через объемные конечные точки следует такому процессу, то есть три этапа:
CBW->DATA->CSW
CBW — это блок данных, который содержит команду SCSI, на которую отправляется хост.
После получения CBW устройство может знать, что делать на следующей фазе данных.
Есть три ситуации на этапе данных:
Данные не должны передаваться,
В передаче (оборудование к хозяину) или
Вне передачи (хост на устройство).
Фаза CSW отодвигается результатом этой передачи до хоста.
Среди них стоит отметить:
— После того, как перечисление устройства завершено, первая обрезная транзакция, выданная хостом, является запросом для выпуска CBW на устройство.
Следовательно, устройство может определить начало первой объемной передачи данных по этой первой объеме транзакции.
С тех пор распуская передача данных неоднократно выполняется в соответствии с вышеуказанными тремя этапами.
То есть после первой передачи CBW, если есть данные для передачи, то он будет проходить фазу данных, а затем ввести фазу CSW;
Если нет данных, которые необходимо передавать, то напрямую введите фазу CSW, заканчивая этому.
Далее, если есть передача, то CBW выдается.
Следовательно, устройство может подумать, что следующая оптовая транзакция, полученная после завершения CSW, — это запрос хоста для передачи нового CBW.
— CBW [12] (13-й байт блока данных CBW) указывает направление передачи, а CBW [8-11] указывает на передачу длины данных.
На самом деле, команда SCSI в CBW содержит направление и длину данных данных для передачи данных.
Формат данных, соответствующий этой команде, был четко указан в спецификации SCSI.
(В полном применении, чтобы сравнить направление передачи, длину данных в CBW и направление передачи и длину данных, указанную командой SCSI.
Не соответствуют обращению об ошибках (связанное описание в массовом хранилище, только на оптовом документе),
Однако два при нормальных обстоятельствах сопоставляются, и его можно игнорировать, когда тест временно игнорируется.
— CSW [12] (13-й байт блока данных CSW) Этот байт важен. Это 0, что передача успешна, не-0 не удается.
После окончания данных фазы данных заканчивается (или без передачи данных), хост выпустит устройство запроса на транзакцию для возврата CSW.
Если CSW передается с помощью неудачной информации, хост затем отправит другую команду, чтобы получить подробную информацию (т. Е. Команда requestsense).
Небольшое транспортное соглашение
Давайте посмотрим на протокол передачи только на оптом:
(Для получения подробной спецификации, пожалуйста, прочитайте «Универсальный серийный автобус»)
После того, как устройство вставлено в USB, USB ищет устройство и требует от устройства для предоставления соответствующего дескриптора.
После получения USBHOS конфигурация завершена, а конфигурация завершена.
Определите устройства для хранения массовых хранилищ для оптовых,
Затем введите моду трансмиссии только на оптовой связи.
Таким образом, все данные между USB и устройствами передаются через Bulk-In и Bulk-Out, и никакие данные не передаются, управляя конечными точками.
В этом режиме передачи существует три типа передаваемых данных, CBW, CSW и нормальные данные между USB и устройствами.
CBW (командная блочная обертка, командная блока) — это команда, отправленная с USB-хоста на устройстве,
Формат команды соответствует командному блоку, указанному в интерфейсе в интерфейсе, здесь для набора команд передачи SCSI.
Устройство USB необходимо извлечь команду SCSI из CBW, выполните соответствующую команду.
После завершения выпускается CSW (Wrapper Command Status), который отражает текущее состояние выполнения команды.
Хост решает, отправлять ли CBW или данные в соответствии с CSW.
Хост требует команды, выполняемой USB-устройством для отправки данных, вам необходимо передать определенные данные.
После завершения CSW выдан, чтобы сделать следующий шаг хоста. Операция, выполняемая устройством USB, доступна в следующем описании:
Формат CBW выглядит следующим образом:
Dcbwsignature: ID CBW, фиксированное значение: 43425355H (маленький энденец).
Dcbwtag: идентификатор командного блока, отправленный хостом, устройство должно быть как dcswtag (часть CSW)
Отправьте его на хост; в основном используется для ассоциирования CSW к соответствующему CBW.
DcbwdataTransferllength: эта команда CBW требует количества байтов, которые передаются между командами и ответами. Если 0, данные не передаются.
Bmcbwflags: отражающие направление передачи данных, 0 средств от хоста, 1 означает отправленную к хосту;
BCBWLUN: Для устройств с несколькими логическими узлами LUN используется для выбора конкретных целей. Если нет номера LUN, напишите 0.
BCBWClength: длина команды составляет от 0 до 16.
CBWCB: определенная команда передачи, в соответствии с спецификацией команды, определенной в BinterfacesUbClass. Вот SCSI
Формат команды CSW заключается в следующем:
dCSWSignature: CSW логотип, фиксированное значение: 53425355H (маленький энденец)
dCSWTag: Установите эту идентичность и DCBWTAG в CBW, обратитесь к интерпретации DCBWTAG выше
dCSWDataResidue: Данные, которые также должны передаваться, эти данные получают в соответствии с DCBWDatatransferlength — на этот раз вы передали
bCSWStatus: Указывает состояние выполнения команды. Если команда выполнена правильно, BCSWSTATUS возвращает 0.
Набор инструкций SCSI
Содержание в CBWCB в CBW SUP-SULK — это дескриптор командного блока в следующем формате.
Дескриптор блокировки команд. SCSI-2 имеет три команды оркестра,
6 байтов, 10 байтов и 12 байтов, поддерживают 12 байтов длинных команд в среде Microsoft Windows.
Operation Code: Код работы указывает на определенную команду.
Высокий 3 является групповым кодом, есть 8 комбинаций. 8 групп,
Низко 5 пять — это код командования, вы можете иметь 32 команда.
Logicol unit Number: Быть совместимым с SCSI-1, вы можете не заботиться.
Logical block address: Для высокого уровня, адрес логического блока после низкого положения, то есть адрес сектора. Второй байт высокий, а третий, 4-й, 5-й байты по очереди мало.
Transfer length: Для количества секторов, которые необходимо передавать от адреса логического блока (например, в команде записи).
Parameter list length: Для длины данных, которые необходимо передавать (например, в команде режима SENTER);
Allocation length: Максимальное количество байтов, присвоенных к начальной программе, является количество назначенных байта, которые могут быть ноль, что указывает на то, что не нужно передавать данные.
Существует множество команд передачи носителя хранения типа прямых доступов набора инструкций SCSI.
Протокол массового хранения используется только некоторые из них.
Дополнительные инструкции SCSI см.: http://en.wikipedia.org/wiki/SCSI_command
Для разных команд его дескриптор блока команд немного отличается, и возвратный контент его требований также отличается, согласно соответствующему документу,
Соответствующие ответы могут быть сделаны для каждого запроса. Например, следующее является дескриптором командного блока, запрашивающего запрос запроса и его формат данных содержимого возврата:
Расследование Дескриптор команды:
Вернуться к формату данных
Хост выпустит запрос, чтение потенциала, режим UFI Sense запрос,
Если возвратный результат вышеуказанного запроса является правильным, хост выдаст команду чтения.
Прочитайте данные MBR файловой системы 0 сектора кластера 0, чтобы ввести фазу идентификации файловой системы.
Data Transfer Conditions
This section describes how the host and device remain synchronized.
The host indicates the expected transfer in the CBW using the Direction bit
and the dCBWDataTransferLength field.
The device then determines the actual direction and data transfer length.
The device responds as defined in 6 —
Host/Device Data Transfers by transferring data,
STALLing endpoints when specified, and returning the appropriate CSW.
5.3.1 Command Transport
The host shall send each CBW, which contains a command block,
to the device via the Bulk-Out endpoint.
The CBW shall start on a packet boundary and end as a short packet
with exactly 31 (1Fh) bytes transferred.
The device shall indicate a successful transport of a CBW by accepting (ACKing) the CBW.
If the CBW is not valid see 6.6.1 — CBW Not Valid.
If the host detects a STALL of the Bulk-Out endpoint during command transport,
the host shall respond with a Reset Recovery (see 5.3.4 — Reset Recovery).
5.3.2 Data Transport
All data transport shall begin on a packet boundary.
The host shall attempt to transfer the exact number of bytes
to or from the device as specified by the dCBWDataTransferLength and the Direction bit.
The device shall respond as specified in 6 — Host/Device Data Transfers.
To report an error before data transport completes and to maximize data integrity,
the device may terminate the command by STALLing the endpoint in use
(the Bulk-In endpoint during data in, the Bulk-Out endpoint during data out).
5.3.3 Status Transport
The device shall send each CSW to the host via the Bulk-In endpoint.
The CSW shall start on a packet boundary and
end as a short packet with exactly 13 (Dh) bytes transferred.
Figure 2 — Status Transport Flow defines the algorithm
the host shall use for any CSW transfer.
The CSW indicates to the host the status of the execution of the command block
from the corresponding CBW.
The dCSWDataResidue field indicates how much of the data transferred is
to be considered processed or relevant.
The host shall ignore any data received beyond that which is relevant.
5.3.3.1 Phase Error
The host shall perform a Reset Recovery
when Phase Error status is returned in the CSW.
5.3.4 Reset Recovery
For Reset Recovery the host shall issue in the following order: :
(a) a Bulk-Only Mass Storage Reset
(b) a Clear Feature HALT to the Bulk-In endpoint
(c) a Clear Feature HALT to the Bulk-Out endpoint
Host/Device Data Transfers
A Bulk-Only Protocol transaction begins with the host sending a CBW to the device
and attempting to make the appropriate data transfer (In, Out or none).
The device receives the CBW, checks and interprets it, attempts to satisfy the host’s request,
and returns status via a CSW.
This section describes in more detail this interaction between the host and the device
during normal and abnormal Bulk-Only Protocol transactions.
6.2 Valid and Meaningful CBW
The host communicates its intent to the device through the CBW.
The device performs two verifications on every CBW received.
First, the device verifies that what was received is a valid CBW.
Next, the device determines if the data within the CBW is meaningful.
The device shall not use the contents of the dCBWTag in any way
other than to copy its value to the dCSWTag of the corresponding CSW.
The device shall consider the CBW valid when:
· The CBW was received after the device had sent a CSW or after a reset,
· the CBW is 31 (1Fh) bytes in length,
· and the dCBWSignature is equal to 43425355h.
6.2.2 Meaningful CBW
The device shall consider the contents of a valid CBW meaningful when:
· no reserved bits are set,
· the bCBWLUN contains a valid LUN supported by the device,
· and both bCBWCBLength and the content of the CBWCB are in accordance with bInterfaceSubClass.
6.3 Valid and Meaningful CSW
The device generally communicates the results of its attempt to satisfy the host’s request through the CSW.
The host performs two verifications on every CSW received.
First, the host verifies that what was received is a valid CSW
Next, the host determines if the data within the CSW is meaningful.
6.3.1 Valid CSW
The host shall consider the CSW valid when:
· the CSW is 13 (Dh) bytes in length,
· and the dCSWSignature is equal to 53425355h,
· the dCSWTag matches the dCBWTag from the corresponding CBW.
6.3.2 Meaningful CSW
The host shall consider the contents of the CSW meaningful when:
either the bCSWStatus value is 00h or 01h < Command Passed or Command Failed >
and the dCSWDataResidue is less than or equal to dCBWDataTransferLength..
or the bCSWStatus value is 02h. < Phase Error>
6.4 Device Error Handling
The device may not be able to fully satisfy the host’s request.
At the point when the device discovers that it cannot fully satisfy the request,
there may be a Data-In or Data-Out transfer in progress on the bus,
and the host may have other pending requests.
The device may cause the host to terminate such transfers by STALLing the appropriate pipe.
The response of a device to a CBW that is not meaningful is not specified.
Please note that whether or not a STALL handshake actually appears on the bus
depends on whether or not there is a transfer in progress at the point in time
when the device is ready to STALL the pipe.
6.5 Host Error Handling
If the host receives a CSW which is not valid, then the host shall perform a Reset Recovery.
If the host receives a CSW which is not meaningful, then the host may perform a Reset Recovery.
6.6 Error Classes
In every transaction between the host and the device, there are four possible classes of errors.
These classes are not always independent of each other and may occur at any time during the transaction.
6.6.1 CBW Not Valid
If the CBW is not valid, the device shall STALL the Bulk-In pipe .
Also, the device shall either STALL the Bulk-Out pipe,
or the device shall accept and discard any Bulk-Out data.
The device shall maintain this state until a Reset Recovery.
6.6.2 Internal Device Error
The device may detect an internal error for which it has no reliable means of recovery other than a reset.
The device shall respond to such conditions by:
either STALLing any data transfer in progress and returning a Phase Error status (bCSWStatus = 02h).
or STALLing all further requests on the Bulk-In and the Bulk-Out pipes u ntil a Reset Recovery.
6.6.3 Host/Device Disagreements
After recognizing that a CBW is valid and meaningful, and in the absence of internal errors,
the device may detect a condition where it cannot meet the host’s expectation for data transfer,
as indicated by the Direction bit of the bmCBWFlags field and the dCBWDataTransferLength field of the CBW.
In some of these cases, the device may require a reset to recover.
In these cases, the device shall return Phase Error status (bCSWStatus = 02h).
Details on which cases result in Phase Error vs. non-Phase Error status are given in 6.7 The Thirteen Cases.
6.6.4 Command Failure
After recognizing that a CBW is valid and meaningful,
the device may still fail in its attempt to satisfy the command.
The device shall report this condition by returning a Command Failed status (bCSWStatus = 01h).
6.7 The Thirteen Cases
This section describes the thirteen possible cases of host expectations and device intent
in the absence of overriding error conditions.
Table 6.1 – Host/Device Data Transfer Matrix graphically displays these thirteen cases.
Important notes about the thirteen cases.
· Cases (1), (6) and (12) represent the majority of host and device transactions.
They indicate those conditions where the host and device agree as to the direction
and amount of data to be transferred.
These cases are also referred to as “the thin diagonal.”
· Any host or device behavior not specifically outlined in the following sections
shall be considered outside this specification and the results are indeterminate.
6.7.1 Hn — Host expects no data transfers : Case (1), (2), (3)
These cases occur when dCBWDataTransferLength is zero.
This indicates that the host is not expecting to send or receive any data
to or from the device.
The general requirements of these cases are:
· The value of the Direction bit shall not influence the results of these cases.
6.7.2 Hi — Host expects to receive data from the device : Case (4), (5), (6), (7), (8)
These cases occur when dCBWDataTransferLength is non zero and the Direction bit is 1 (Data-In).
This indicates that the host is expecting to receive data from the device.
6.7.3 Ho — Host expects to send data to the device : Case (9), (10), (11), (12), (13)
These cases occur when dCBWDataTransferLength is non zero-and the Direction bit is 0 (Data-Out).
This indicates that the host is expecting to send data to the device.
The general requirement of these cases is:
· The host shall not send zero length packets.
USB MSD RD System Architecture
Mass Storage Device Mode Operation
When the device is in Mass Storage Device Mode,
the following blocks are used.
See Figure 3 for the connections between the blocks.
USB Low-level Interface
Mass Storage Device Class Command Interpreter
SCSI Command Interpreter
Sector Server
Media Access Firmware
The interactions between the USB, MSD, SCSI, and Sector Server blocks
are shown in Figure 6 and Figure 7.
Класс запоминающих устройств USB — USB mass storage device class
USB-накопители обычно реализуют класс запоминающих устройств USB.
USB-накопители класс запоминающего устройства (также известный как USB MSC или UMS ) — это набор вычислительных протоколов связи, в частности, USB Device Class, определяемый Форумом разработчиков USB, который делает устройство USB доступным для главного вычислительного устройства и обеспечивает передачу файлов между хостом и устройством USB. Для хоста USB-устройство действует как внешний жесткий диск; набор протоколов взаимодействует с рядом запоминающих устройств.
Содержание
- 1 Используется
- 2 Поддержка операционной системы
- 2.1 Microsoft Windows
- 2.2 MS-DOS
- 2.3 Классическая Mac OS и macOS
- 2.4 Linux
- 2.5 Другое Unix- связанные системы
- 2.6 Игровые консоли и встроенные устройства
Использование
Доступ к экшн-камере осуществляется через запоминающее устройство класса. К устройствам, подключенным к компьютерам с помощью этого стандарта, относятся:
- Внешние магнитные жесткие диски
- Внешние оптические приводы, включая CD и Устройство чтения и записи DVD
- Портативная флэш-памятьустройства
- Адаптеры между стандартными флэш-картами памятью и USB-соединения и портативные медиаплееры
Устройства, поддерживающие этот стандарт, известны как MSC (Mass Storage Class) устройства. В то время как MSC является первоначальным сокращением, UMS (Universal Mass Storage) также вошла в широкое употребление.
Поддержка операционных систем
Большинство основных операционных систем включают поддержку запоминающих устройств 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-хостом. Однако портативные устройства обычно не могут обеспечить достаточную мощность для жестких дисков корпусов дисков (для жесткого диска 2,5 дюйма (64 мм) обычно требуется максимум 2,5 Вт в спецификации USB) без автономный USB-концентратор . Устройство Windows Mobile не может отображать свою файловую систему как запоминающее устройство, если разработчик устройства не добавит эту функцию. Однако сторонние приложения добавляют эмуляцию MSC к большинству устройств WM (коммерческий Softick CardExport и бесплатное хранилище WM5torage). Обычно можно экспортировать только карты памяти (не внутреннюю память) из-за проблем с файловой системой; см. доступ к устройству ниже.
Функция AutoRun Windows работала на всех съемных носителях, позволяя USB-накопителям стать порталом для компьютерных вирусов. Начиная с Windows 7, Microsoft ограничила автозапуск компакт-дисков и DVD-дисков, обновив предыдущие версии Windows.
MS-DOS
Ни то, ни другое MS-DOS и большинство совместимых операционных систем не поддерживают USB. Стандартные драйверы сторонних производителей, такие как Duse, USBASPI и DOSUSB, доступны для поддержки запоминающих устройств USB. FreeDOS поддерживает USB-накопители в качестве интерфейса Advanced SCSI Programming Interface (ASPI).
Classic Mac OS и macOS
Apple Computer Mac OS 9 и macOS поддерживают USB-накопители; Mac OS 8.5.1 поддерживала запоминающее устройство USB через дополнительный драйвер.
Linux
Ядро Linux поддерживает запоминающие устройства USB начиная с серии 2.4 (2001 г.), а также backport для ядра 2.2. 18 было изготовлено. В Linux, помимо общих драйверов для устройств класса запоминающих USB-устройств, существует больше функций, включая причуды, исправления ошибок и дополнительные функции для устройств и контроллеров (функции, поддерживаемые поставщиком, такие как ATA command pass- сквозной для мостов ATA-USB, который полезен для SMART или мониторинга температуры, управления ускорением и замедлением вращения жестких дисков и других опций). Сюда входит определенная часть устройств на базе Android благодаря поддержке USB-OTG, поскольку Android использует ядро Linux.
Другие системы, связанные с Unix
Solaris поддерживает устройства с версии 2.8 (1998 г.), NetBSD с версии 1.5 (2000 г.), FreeBSD с его версии 4.0 (2000) и OpenBSD с его версии 2.7 (2000). Цифровая 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 поддерживает приложение пользовательского интерфейса.
Доступ к устройству
USB кард-ридеры обычно реализуют класс USB-накопителей.Спецификация USB-накопителей обеспечивает интерфейс для ряда стандартных наборов команд, позволяя устройству раскрыть свой подкласс. На практике указание набора команд через его подкласс практически не поддерживается; большинство драйверов поддерживают только прозрачный набор команд SCSI, обозначая свое подмножество набора команд SCSI своим типом периферийного устройства SCSI (PDT). Коды подкласса определяют следующие наборы команд:
- Reduced Block Commands (RBC) -8020i, MMC -2 (используется приводами CD и DVD в стиле ATAPI) -157 (ленточные накопители)
- (UFI)
- SFF-8070i (используется устройствами в стиле ARMD)
- прозрачный набор команд SCSI (используйте «запрос «для получения PDT)
Спецификация не требует наличия конкретной файловой системы на соответствующих устройствах. Основываясь на заданном наборе команд и любом подмножестве, он предоставляет средства для чтения и записи секторов данных (аналогично низкоуровневому интерфейсу, используемому для доступа к жесткому диску ). Операционные системы могут рассматривать запоминающее USB-устройство как жесткий диск; пользователи могут разбивать его на разделы в любом формате (например, MBR и GPT) и форматировать в любой файловой системе.
Из-за своей относительной простоты наиболее распространенной файловой системой на встроенных устройствах, таких как USB-накопители, камеры или цифровые аудиоплееры, является Microsoft Файловая система FAT или FAT32 (с дополнительной поддержкой длинных имен файлов ). Большие жесткие диски на базе USB можно отформатировать в NTFS, которая (за исключением Windows) менее поддерживается. Однако ключевой диск или другое устройство может быть отформатирован в другой файловой системе (HFS Plus на Apple Macintosh или Ext2 на Linux или файловая система Unix в Solaris или BSD). Этот выбор может ограничить (или запретить) доступ к содержимому устройства для оборудования, использующего другую операционную систему. Варианты хранения в зависимости от ОС включают LVM, таблицы разделов и программное шифрование.
В камерах, MP3-плеерах и подобных устройствах, которые должны обращаться к файловой системе независимо от внешнего хоста, производители предпочитают файловую систему FAT32. Все такие устройства останавливают свою файловую систему (размонтируют ) перед тем, как сделать ее доступной для операционной системы хоста, чтобы предотвратить повреждение файловой системы или другое повреждение (хотя теоретически для обоих устройств возможно использовать режим только для чтения или кластерная файловая система ). Некоторые устройства имеют переключатель (или опцию) защиты от записи, позволяющий использовать их в режиме только для чтения; это делает файлы доступными для совместного использования без риска заражения вирусом.
Поставщики предварительно отформатированных устройств используют две основные схемы разделения. Файловую систему (обычно FAT32) помещают непосредственно на устройство без разбиения на разделы, заставляя ее запускаться с сектора 0 без дополнительных загрузочных секторов, заголовков или разделов. Другой использует таблицу разделов DOS (и код MBR), при этом один раздел охватывает все устройство. Этот раздел часто выравнивается по высокой мощности двух секторов (например, 1 или 2 МБ), что является обычным для твердотельных накопителей для повышения производительности и надежности. Некоторые устройства со встроенным хранилищем, напоминающие запоминающее устройство USB (например, MP3-плееры с USB-портом), сообщают о повреждении (или отсутствии) файловой системы, если они переформатируются с использованием другой файловой системы. Однако большинство устройств с разделами по умолчанию можно переразбить (за счет уменьшения первого раздела и файловой системы) с помощью дополнительных разделов. Такие устройства будут использовать первый раздел для своих операций; после подключения к хост-системе все разделы доступны.
Устройства, подключенные к одному порту USB, могут функционировать как несколько устройств USB, одно из которых является запоминающим устройством USB. Это упрощает распространение и доступ к драйверам и документации, в первую очередь для операционных систем Microsoft Windows и Mac OS X. Такие драйверы требуются для полноценного использования устройства, обычно потому, что оно не соответствует стандартному классу USB или имеет дополнительные функции. Встроенное запоминающее устройство USB позволяет устанавливать дополнительные драйверы без дисков CD-ROM, дискет или доступа в Интернет к веб-сайту поставщика; это важно, поскольку многие современные системы поставляются без оптических дисководов или дисководов для гибких дисков. Доступ к Интернету может быть недоступен, поскольку устройство обеспечивает доступ к сети (беспроводной, GSM или карты Ethernet). Встроенное запоминающее устройство USB обычно постоянно предоставляется производителем только для чтения, что предотвращает случайное повреждение и использование для других целей (хотя оно может быть обновлено с помощью проприетарных протоколов при выполнении обновления прошивки). Преимущества этого метода распространения — более низкая стоимость, упрощенная установка и обеспечение переносимости драйверов.
Дизайн
Некоторые расширенные команды жесткого диска, такие как Tagged Command Queuing и Native Command Queuing (которые могут повышения производительности), ATA Secure Erase (который позволяет безопасно стереть все данные на диске) и SMART (доступ к индикаторам надежности диска) существуют как расширения к низкоуровневой команде привода такие наборы, как SCSI, ATA и ATAPI. Эти функции могут не работать, если диски помещены в дисковый корпус , который поддерживает интерфейс USB-накопителя. Некоторые интерфейсы USB-накопителя являются универсальными и предоставляют базовые команды чтения-записи; хотя это хорошо работает для базовой передачи данных с устройствами, содержащими жесткие диски, не существует простого способа отправлять расширенные, зависящие от устройства команды на такие запоминающие USB-устройства (хотя устройства могут создавать свои собственные протоколы связи через стандартный интерфейс управления USB.). Протокол USB Attached SCSI (UAS), представленный в USB 3.0, устраняет некоторые из этих проблем, включая организацию очередей команд, каналы команд для оборудования, требующего их, и управление питанием.