Як виглядає порт 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. Адреса блоку конфігураційних регістрів 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 / C220 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 = 00 00.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 = 00 01.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 контакти і пластмаса під ними білого кольору. Це простий спосіб визначити, що це перший usb.

Тепер глянемо на другий:

Тут, звичайно, складно розглянути і зрозуміти, що там 4 контакти і під ними чорна пластмаса - це явна ознака usb 2.0. Як ми вже знаємо, 2.0 та 1.0 сумісні, відмінності лише у швидкості: 2.0 швидше у швидкості, але швидше не флешка читає, а швидше працює контролер, через який йде спілкування. Звичайно на usb 2.0 зазвичай вказують, що це другий 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, а пристрій 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 для 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 взаємодіє його штатний драйвер, необхідно подбати про безконфліктність.