USB 3.1: в погоне за SuperSpeedPlus

Доступ к ранее закрытой докумен­та­ции на USB 3.1 чипсет от ASMedia позволяет проанализировать сильные и слабые стороны первой в своем роде реализации SuperSpeedPlus протокола для универсальной последовательной шины. И хотя в интернете уже есть ряд публикаций на эту тему, во всех проблема пропускной способности рассматривается вскользь, без учета реалий озвученных в заводском Data Sheet. Приступая к рассмотрению этого вопроса, сделаем ряд оговорок, касающихся избыточности кодирования при обмене по локальной для USB-контроллера PCI Express шине и периферийной для него шине USB. Будем считать, что передаваемый байт в обоих случаях равен 10 битам, что позволит достигнуть паритета при оценке производительности.

Шинная топология ASM1142

Согласно документации на USB 3.1 контроллер, предлагаемый компанией ASMedia, чип ASM1142 поддерживает подключение x2, соответствующее спецификации PCI Express v2.0, или x1-подключение к шине PCIe по версии v3.0.

Плата ASUS USB31CARD с контроллером ASMedia ASM1142, способным работать в режиме SuperSpeedPlus

Расчет пропускной способности ASM1142 для Gen2x2

На первый взгляд, 5 Гигатранзакций в секунду для двух соединений дают нам приемлемую производительность на уровне 10.0 GT/sec, вполне достаточную для реализации add-on адаптера с одним портом в формате USB-C. Но для двухпортового решения, при полной загрузке каждого из каналов скорость просядет вдвое. Правда, только в том случае, когда оба порта работают в одном направлении: или на прием, или на передачу. Это возможно в силу того, что PCIe-шина использует отдельные дифференциальные пары для приема и передачи, поэтому трафик от контроллера и к контроллеру будет дуплексным.

Двухпортовая USB 3.1 плата при полной загрузке будет работать в два раза медленнее, но только в том случае, когда оба порта работают или на прием, или на передачу

В данном случае вполне уместен скепсис в плане эффективной работы двух портов в разных направлениях. Такая реализация SuperSpeedPlus красиво выглядит в теории, в то время, когда на практике могут возникнуть предсказуемые Device-Specific ограничения.

Расчет пропускной способности ASM1142 для Gen3x1

Как отмечено выше, ASM1142 не поддерживает подключение x2, соответствующее PCI Express v3.0. Вместо этого контроллер использует в обеспечение режима SuperSpeedPlus линк x1, пропускная способность которого не выше 8.0 GigaTransactions per Second * 1 = 8GT/sec. Здесь уже «тесно» даже одному USB 3.1 порту, работающему только на прием или только на передачу. В итоге — подключение к PCI Express является узким местом контроллера ASM1142.

Как Link Training управляет USB 3.1 контроллером

В ситуации, когда топология ASM1142 допускает x2-линк, но на шине PCI Express, соответствующей спецификации v3.0, происходит «обрезание» до x1, ничего противоестественного нет. Скорее всего, элементная база в виде PLD-матрицы, для которой и на базе которой строилась VHDL-модель USB 3.1 контроллера, ограничила функциональность разработки. Как результат — ASM1142 по временным характеристикам не подходит для работы с подключением Gen3x2.

USB 3.1  на сегодня реализованы так, что обеспечивается или высокая частота, или высокая разрядность, но не одновременно!

В процессе выполнения POST, процедура Link Training в случае Speed=8.0GT/S игнорирует вторую дифференциальную пару, либо при наличии двух дифференциальных пар, понижает частоту с 8GT/S до 5GT/S, не допуская Gen3x2 (8.0GT/S при x2). Такова c’est la vie: или высокая частота, или высокая разрядность, но не одновременно!

 


29.06.2016
Яндекс.Метрика Рейтинг@Mail.ru