Как выглядит порт usb 3.0. Тестируем флэшки: как узнать реальные скорость и объем. Как определить тип USB порта по внешнему виду

12.11.2019 Программы

Интерфейс USB 3.0 значительно производительнее своего предшественника – USB 2.0. Тогда как последний ограничивает скорость линейной записи данных на флешку показателем в 30-40 Мб/с, посредством первого файлы на флешку USB 3.0 могут быть скопированы со скоростью порядка 100 Мб/с. Это реальный пример, в теории же предельной пропускной способностью USB 2.0 считается 60 Мб/с, а USB 3.0 – 625 Мб/с. Чтобы воспользоваться преимуществами интерфейса USB 3.0, им должны быть оборудованы и носитель (флешка, USB-HDD, прочие устройства хранения данных), и компьютер. Как узнать, на компьютере стоят порты USB 2.0 или 3.0?

На ноутбуках и материнских платах ПК, выпущенных ранее 2010 года, с высокой долей вероятности будут установлены порты USB 2.0. А вот компьютерные устройства, выпущенные позднее, могут быть оснащены USB 3.0.

Каким интерфейсом USB оснащен компьютер, можно узнать по внешним признакам портов. Порты USB 1.0 имеют 4 контакта, а пластмасса под ними белого цвета. Порты USB 2.0 также оборудованы 4 контактами, но пластмасса под ними, как правило, черного цвета. Внутри порта USB 3.0 находится целых 9 контактов, а пластмасса под ними обычно синего цвета. Современнейшие модели ПК и ноутбуков могут быть оснащены самым производительным на сегодняшний день интерфейсом USB 3.1 с заявленной максимальной пропускной способностью в 1250 Мб/с. Пластик под контактами таких портов может окрашиваться как в черный, так и в синий цвет. От интерфейсов-предшественников же порты USB 3.1 отличает выгравированная рядом надпись «SS» (Super Speed).

Корпуса ПК обычно оснащаются панелью спереди с дополнительными портами USB для удобства подключения устройств. Но за такое удобство владельцы компьютеров, не знающие, что их материнские платы поддерживают USB 3.0, нередко платят томительным ожиданием во время перемещения данных на флешку. Ведь даже современные, но бюджетные корпуса, как правило, оснащаются портами USB 2.0.

Узнать, на компьютере стоят USB-порты 2.0 или 3.0, можно с помощью средств Windows. Заходим в диспетчер устройств и раскрываем ветку «Контроллеры USB». Если в перечне ветки хост-контроллеры значатся как «Расширенный хост-контроллер» («Enhanced Host Controller»), при этом в их названиях не содержится дописка «USB 3.0», это значит, что на компьютере стоят порты USB 2.0.

О наличии портов USB 3.0 будет прямо говорить дописка «USB 3.0» в названиях расширенных хост-контроллеров. О том, что компьютер поддерживает USB 3.0, также свидетельствует наличие в перечне ветки контроллеров, в названии которых присутствует аббревиатура XHCI – указание на универсальный интерфейс eXtensible Host Controller Interface.

Как обзавестись портами USB 3.0, если их не обнаружилось? У тотального апгрейда в виде замены ноутбука или материнской платы ПК со всеми зависимыми от нее комплектующими есть альтернатива – установка адаптера USB 3.0. Для сборок ПК такие адаптеры существуют в виде плат, устанавливаемых в слот PCI Express. К ноутбукам адаптеры USB 3.0 подключаются с помощью слота ExpressCard. На AliExpress адаптеры USB 3.0 можно заказать за акционную цену чуть более $5. Такой вариант даст определенный прирост производительности, но все равно не будет дотягивать до возможностей USB 3.0, изначально поддерживаемого современными ноутбуками и материнскими платами. Ведь передача данных будет ограничена пропускной способностью соответствующего слота.

В современной IT-индустрии часто случается так, что заверения производителя устройства относительно его функциональности не соответствуют действительности. От скепсиса по этому поводу перейдем к решению конкретной технической задачи…

Постановка задачи

В нашей тестовой лаборатории оказался USB Flash накопитель Kingston DataTraveler 3.0 . Согласно информации производителя, устройство поддерживает USB 3.0. Проверим, так ли это на самом деле, не разбирая флешку и не нарушая гарантию.

Аппаратный тест

Присмотревшись к разъему, за четырьмя «ближними » контактами, обеспечивающими поддержку USB 2.0, мы, как и ожидалось, обнаружили пять «дальних » контактов, используемых только в режиме USB 3.0 Super Speed . Измеряем сопротивление сигнальных линий USB 3.0 относительно земли, получаем значения, отличные от бесконечности. Вывод: контакты USB 3.0 физически присутствуют и не заканчиваются тупиком. Измерение выполнялось омметром на пределе, используемом для проверки полупроводниковых диодов. Для доступа к «дальним» контактам разъема USB 3.0 можно сконструировать переходник или воспользоваться тонким и длинным щупом, например иглой. Полученный результат является необходимым, но не достаточным условием функционирования устройства в режиме USB 3.0 Super Speed. Может случиться так, что сигнальные цепи заканчиваются терминирующими резисторами, но не подключены к контроллеру. Поэтому переходим к следующему тесту – программному.

Программный тест

Эксперимент выполняем на достаточно новой, еще не исследованной плате Tyan S5533 , построенной на чипсете Denlow .

Рис 1 . Системная плата Tyan S5533 в ITX-формате

Чтобы исключить влияние драйверов, запускаемых в сеансе операционной системы, наш тест будет «экстремально низкоуровневым», запускаться будем под DOS, а результаты контролировать путем просмотра дампа Memory Mapped I/O регистров контроллера USB.

Последовательность действий такова.

1) Воспользовавшись бета-версией утилиты USB.EXE разработки IC Book Labs, определим адрес блока конфигурационных регистров контроллера XHCI, в нашем примере это bus=0, device=14h, function=0. Также определим базовый адрес блока операционных регистров в пространстве Memory Mapped I/O, в нашем примере он равен F7500000h.

Рис 2 . Результаты работы утилиты USB.EXE. Адрес блока конфигурационных регистров XHCI: bus=0, device=14h, function=0. Базовый адрес операционных регистров XHCI равен F7500000h.

2) Как известно, в целях совместимости с программным обеспечением, не поддерживающим контроллер USB 3.0 XHCI, на данной платформе, по умолчанию, порты USB 3.0 обслуживаются контроллером USB 2.0 EHCI. Наша задача – перевести их в режим обслуживания контроллером USB 3.0 XHCI. Воспользуемся документацией Intel 8 Series / С220 Series Chipset Family Platform Controller Hub Datasheet и любой утилитой, позволяющей редактировать содержимое регистров системной логики.

Программируем регистр USB 3.0 Port Routing Mask Register. Записываем по адресу bus=0, device=14h, function=0, register=0DCh байт со значением 0FFh.

Программируем регистр USB 3.0 Port Super Speed Enable Register. Записываем по адресу bus=0, device=14h, function=0, register=0D8h байт со значением 0FFh.

Рис.3 . Регистр USB 3.0 Port Routing Mask Register

Рис.4 . Регистр USB 3.0 Port Super Speed Enable Register

3) Считываем и расшифровываем согласно рис.5 и рис.6 исходное состояние нескольких битовых полей из младших 16-битов 32-битного регистра PORTSCNUSB3 до подключения устройства к исследуемому порту. Регистр находится по смещению 0570h от базового адреса блока операционных регистров контроллера, его адрес F7500000h+0570h=F7500570h

Прочитанное значение = 02A0h = 0000.00 10.1010.0000 b
D0=Current Connect Status=0. Устройство не подключено.
D1=Port Enabled/Disabled=0. Порт не используется.
D=Port Speed=0000b. Скорость не определена.

Рис.5 . Регистр USB 3.0 Port Status and Control Register, биты

Рис.6 . Регистр USB 3.0 Port Status and Control Register, биты

4) Подключаем USB 3.0 флэшку, затем повторно считываем регистр и расшифровываем те же битовые поля.

Прочитанное значение = 1203h = 0001.00 10.0000.0011 b
D0=Current Connect Status=1. Устройство подключено.
D1=Port Enabled/Disabled=1. Порт используется.
D=Port Speed=0100b. Скорость равна 5.0 Gbit/S, режим USB 3.0 Super Speed работает.

5) Для самоконтроля, подключаем USB 2.0 флэшку к тому же порту, затем повторно считываем регистр и расшифровываем те же битовые поля. Прочитанное значение = 02A0h, что соответствует отсутствию подключения. Так и должно быть, регистр PORTSCNUSB3 «не видит» USB 2.0 устройство, так как оно обслуживается другой подсистемой и статус подключения доступен посредством другого регистра – PORTSCNUSB2, рассмотрение которого выходит за рамки наших исследований.

Резюме

Испытуемая флэшка действительно поддерживает режим USB 3.0 .

Если формализовать и запрограммировать описанные действия в виде DOS-программы или UEFI-приложения, получится небольшая утилита, позволяющая быстро определить, в каком скоростном режиме работает USB устройство. Для упрощения нашего примера, мы реализовали его для частного случая – подсистемы USB платы Tyan S5533 и использования первого порта, поэтому адрес регистра PORTSCNUSB3 в нашем примере – константа. В общем случае, для того, чтобы программа была работоспособна на всех платформах, адрес регистра PORTSCNUSB3 должен вычисляться на основании содержимого полей XHCI Capabilities, в соответствии со спецификацией USB 3.0 XHCI. С другой стороны, достигнуть универсальности можно значительно проще и изящнее, используя UEFI-протоколы вместо прямого взаимодействия с регистрами контроллера.

Источники информации

UPD

В качестве «подопытного кролика» использовался девайс Kingston DataTraveler 100 G3, объемом 16 GB:

UPD-II

1. Дескрипторы устройств, доступные для просмотра с помощью различных информационных утилит индицируют потенциальные возможности устройства. Скоростной режим, установленный для USB порта при подключении устройства, не всегда соответствует возможностям, декларированным в дескрипторах.

Устройство, декларирующее поддержку USB 3.0, может работать в режиме USB 2.0 из-за заводских недоработок, неисправного кабеля и многих других причин. При этом содержимое дескрипторов может указывать на поддержку режима USB 3.0.

Конечно, содержимое дескрипторов устройства - это более достоверный источник информации, чем надпись на флешке и клятвы продавца. Но по причинам, указанным выше, достоверность отлична от 100 процентов.

Именно стремление довести достоверность до 100% побудила нас на экстремально низкоуровневые исследования.

2. Другой метод – проследить в диспетчере устройств, какой контроллер является родительским для флешки (USB 2.0 EHCI или USB 3.0 XHCI), также неэффективен, так как, согласно спецификации, контроллер USB 3.0 XHCI может поддерживать все виды устройств: от Low-Speed до Super Speed. Поэтому, из того, что для флешки родительским контроллером является xHCI не следует, что устройство работает в режиме Super Speed.

Наверняка, каждый пользователь компьютера слышал о таких понятиях, как USB порты версии 2.0 и 3.0. Но не все точно понимают что это. В этой статье я расскажу вам про USB 2.0 и 3.0: отличия, совместимость интерфейсов, а также о том, что это вообще такое.

Как понятно логически, версия USB 3.0 новее, чем 2.0, а, соответственно, она лучше. Давайте разберёмся, чем она лучше, и начнём с вопроса о том, откуда всё это пошло.

USB и его версии

USB расшифровывается как universal serial bus, и переводится на русский как универсальная последовательная шина. Универсальная – значит к ней можно подключить всё, что угодно, любое устройство. USB бывают разных версий, главное отличие которых в скорости работы.

К свойству универсальности производители шли долго. Как помнят многие, сначала у компьютера было множество разных портов, некоторые из которых остались и по сей день, например, громоздкие COM с толстыми кабелями, PS/2 с хрупкими контактами и другие. Теперь же принтеры, клавиатуры, мышки и другое оборудование можно подключать через USB.

Первые USB начали появляться с 1994 года. В 1996 году вышла версия 1.0, которая работала на мизерной скорости 1,5 Мбит/с. Затем в 2000-м вышла версия 2.0 со скорость работы 480 Мбит/с. Это вполне приемлемая скорость, которая позволила подключать разные оборудования к порту. В 2008 году вышла USB 3.0, работающая теоретически на скорости 5 Гбит/с.

Разработку USB 3.0 финансировали многие мировые бренды компьютерной сферы, которые были заинтересованы во введении стандартизации на разъёмы и улучшении производительности оборудования.

USB 2.0 и 3.0: отличия

Наконец, рассмотрим USB 2.0 и 3.0: отличия этих портов друг от друга и сравним их. Вот признаки, по которым они различаются:

  • Визуально отличить USB 2.0 от 3.0 очень легко – разъёмы 3.0 окрашены в синий цвет.
  • Второе отличие, которое легко ощущается на практике – это скорость передачи. У версии 3.0 она значительно выше. Она может уступать заявленной теоретической скорости (5 Гбит/с), но всё равно остаётся выше версии 2.0.
  • Отличие USB 2.0 от 3.0 есть в силе тока. В ранней версии она была 500 мА, в новой достигает уже 900 мА. Таким образом, новыми USB можно питать большее количество мощных устройств.
  • В старой версии USB было 4 провода, в новой стало ещё на 4 больше. Таким образом, ещё одно отличие USB0 от 3.0 – второй имеет более толстый кабель. Это также ограничило максимальную длину кабеля 3.0 до 5 метров и сделало его более дорогим.
  • Windows XP не поддерживает USB 3.0, даже если физически оборудование компьютера на это способно, работать оно будет как 2.0. Только более старшие версии Windows способны работать с 3.0 полноценно.

Надежный и качественный СММ сайт https://doctorsmm.com / поможет Вам выгодно и недорого купить продвижение более чем в 9 социальных сетях. Здесь Вы найдете широкий спектр услуг с большими скидками и гарантиями на выполнение. Так, например, Вы можете приобрести лайки или подписчиков в Инстаграм и другие ресурсы на самых популярных социальных площадках интернета.

Совместимость USB 2.0 и 3.0

Если подключить устройство USB 2.0 в разъём 3.0, то работать оно будет на уровне 2.0. Если подключить устройство USB 3.0 к разъёму 2.0, то работать оно тоже будет на уровне 2.0. Таким образом, при совместимости этих интерфейсов, меньшая версия задаёт качество работы.

Устройства способны работать на других версиях USB, но они могут стать менее производительными.

Итак, подытожу. USB 2.0 и 3.0: отличия в первую очередь в качестве работы – более новая версия лучше, хоть и немного дороже. Современное оборудование выпускается с интерфейсом 3.0, поэтому приобретать компьютер целесообразно тоже с такой версией. Устройства разных версий совместимы друг с другом и работают приемлемо, хоть и производительность их падает.

Так как отличить USB 3.0 и USB 2.0? Ну то, что usb 3.0 быстрее, и так уже все знают, но мало кто знает, как отличить подделку от настоящей или как вообще они отличаются.

Для начала глянем на наши первые USB, так называемые 1.0 usb, они используются даже в новых мышках, вебкамерах, всех тех устройствах, кому первого usb хватает сполна:

Как видим, у них внутри 4-ре контакта и пластмасса под ними белого цвета. Это простой способ определить, что это 1-ый usb.

Теперь глянем на 2-ой:

Тут, конечно, сложно рассмотреть и понять, что там 4-ре контакта и под ними черная пластмасса — это явный признак usb 2.0. Как мы уже знаем, 2.0 и 1.0 совместимы, отличии лишь в скорости: 2.0 быстрее в скорости, но быстрее не флешка читает, а быстрее работает контроллер, через который идет общение. Конечно на usb 2.0 обычно указывают, что это 2-ой usb, но случаи всякие бывают.

Глянем, как выглядит разъем usb 2.0:

Как видим, он так же черного цвета, хотя производители в редких случаях меняют этот цвет намеренно (дизайн), но правильный цвет должен быть черный у 2.0 usb.

А теперь, наконец, глянем на 3.0:

Это самое удачное фото из всех, что я делал, на usb 3.0 девять контактов: 4 спереди и 5 сзади (они чуть приподняты выше):

И как видим, пластмасса под контактами синего цвета — это явный признак 3.0: ведь они должны везде делать ее синего цвета.

Вот разьем usb 3.0:

Надпись SS говорит о том, что там контроллер сделан под Super Speed, то есть максимально возможную скорость. Такую можно увидеть и на внешних жестких дисках 3.0.
Если и внешник SS и разъем SS, то будет максимальная скорость передачи данных.

Итак, проблема, как отличить, если дизайн, например, синий, как тут:

Тут пластмасса синяя, но он usb 2.0. Так как отличать? — по контактам, я говорил, что у третьего девять контактов, а у второго четыре:

Вот она в разборе, и тут уже хорошо видно, что тут только 4-ре контакта.

Usb 3.0 совместим с 2.0 и 1.0, так что в разъемы 3.0 можно втыкать и 2.0, и 1.0. Если вставить в третий usb разъем 2.0, то будет скорость 2.0, если 1.0, то скорость 1.0. Так что не бойтесь вставлять в него и другие. Просто когда вам нужна будет скорость, и у вас будет 3.0 устройство, вставьте его именно в 3.0. У USB 3.0 внутренний разъём поддерживает скорость передачи до 5 Гбит/с.

Недавно на рынок вышел так называемый USB 3.1, он обозначается как SS (Super Speed) у каждого из разъемов. Он быстрее usb 3.0 и имеет совместимость со вторым и первым usb. USB 3.1 либо черного, либо синего (как в моем случае цвета), а 3.0 только синего .

Если USB-устройство и платформа поддерживают передачу данных в режиме USB3.0 со скоростью 5 Гб/сек., то, казалось бы, ничто не мешает убедиться в этом воочию. Существует немало утилит для этого, да и наши исследования способствовали поиску ответа на это вопрос. Кроме того, если накопитель демонстрирует скорость, существенно пре­вы­ша­ю­щую 50-60 МБ/сек., то можно заявить - это режим Super Speed , поскольку в режиме USB 2.0 такая скорость физически недостижима, а «промежуточных» вариантов не существует. Но не все так просто...

Почему все так сложно

В силу разных причин, полноценная поддержка новых режимов универсальной последовательной шины в утилитах системной информации, несколько задерживается. В результате мы часто видим только дифференцирование между USB1 и USB2 и распознавание USB3-подключения как USB2. Кроме того, информация, получаемая из дескрипторов устройства, декларирует его потенциальные возможности, а не текущий скоростной режим, выбираемый сугубо аппаратно. Согласно спецификации USB, содержимое дескрипторов должно зависеть от установленной скорости, но разработчики устройств не всегда соблюдают это правило. В итоге, какой бы результат (USB2 или USB3) мы не увидели, есть основания для сомнений.

С учетом постоянного совершенствования технологий опережающего чтения и отложенной записи, делать выводы, ориентируясь исключительно на скорости копирования файлов на жестком диске будет методологически неверно, хотя при больших размерах файлов (единицы гигабайт), такой критерий имеет право на жизнь. Но есть более радикальный, а следовательно и более достоверный путь – получить информацию непосредственно из регистров контроллера USB 3.0 xHCI, написав для этого небольшое UEFI-приложение на ассемблере.

Условия эксперимента и системные объекты

Платформа – ноутбук ASUS N750JK , а подключаемое USB 3.0 устройство – жесткий диск Transcend StoreJet 35T3 . Целевым объектом будут регистровые поля контроллера USB3.0 xHCI, индицирующие тип соединения. Заметим, что в зависимости от скоростного режима (USB2 или USB3), контроллер «видит» устройство через одну из двух групп регистров.

Рис .1 . Биты регистра Port N Status and Control USB2 индицируют тип соединения : Low-Speed, Full-Speed или High-Speed


Рис .2 . Биты регистра Port N Status and Control USB3 индицируют тип соединения : Super-Speed

Утилита CheckUSB

Исходные тексты подготовлены в формате Flat Assembler 1.71.17. Утилита CheckUSB предназначена для запуска в среде x64 UEFI. Текущая версия поддерживает только системную логику Intel 8 Series, режим USB 3.0 должен быть включен в CMOS Setup. Такая привязка связана во-первых с поддержкой широкого набора регистров, специфичных для данной системной логики и не предусмотренных спецификацией контроллера xHCI, а во-вторых, в целях упрощения, вычисление адресных смещений и размерностей ряда регистровых полей, а также задание количества портов, реализовано для частного случая, а именно данной системной логики. Подробная информация содержится в документе:

  • Intel 8 Series / C220 Series Chipset Family Platform Controller Hub (PCH). Datasheet. June 2013

Энтузиастам, желающим расширить функциональность нашего простейшего примера и реализовать поддержку различных наборов системной логики, рекомендуем документ:

  • Extensible Host Controller Interface for Universal Serial Bus (xHCI). Revision 1.1

Кроме того, непосредственный доступ к конфигурационному пространству PCI и memory-mapped I/O рекомендуется заменить на вызовы соответствующих UEFI-протоколов.

Анализируем результаты

Итак, утилита отработала, рапорт сгенерирован.


Рис. 3

Обратим внимание на список подключений к портам контроллера USB. Вначале следуют три устройства, входящие в состав ноутбука, а четвертое – это наш искомый внешний жесткий диск Transcend StoreJet 35T3. Режим SuperSpeed включен. Детальный анализ содержимого регистровых полей приведен .

Резюме

Низкоуровневое исследование, выполненное на уровне физического доступа к регистрам контроллера USB3.0 xHCI в среде UEFI firmware, однозначно свидетельствует – режим Super Speed включен. Но исправность оборудования необходимое, но не достаточное условие его корректной работы в сеансе операционной системы. Причиной проблем может быть, например, драйвер контроллера xHCI или сама ОС. Поэтому, логичным продолжением будет проведение подобного эксперимента в сеансе ОС, например Windows. Эта задача посложнее, так как регистры контроллера являются привилегированным системным ресурсом, для доступа к которому требуется написать собственный драйвер. Кроме того, в сеансе операционной системы, с контроллером USB взаимодействует его штатный драйвер, необходимо позаботиться о бесконфликтности.