Расширяя горизонты применения PCIe-шины

07 Фев 2017

Расширяя горизонты применения PCIe-шины

Казалось, что шинные топологии серверных платформ исхожены и ожи­дать от них сюрпризов не приходится. Интригой стало по­яв­ле­ние за­по­ми­на­ю­щих устройств, напрямую взаимодействующих с PCI Express. В том случае, когда для их подключения по­тре­бо­ва­лись уд­ли­нители ин­тер­фей­са (с ожи­да­е­мы­ми рисками ис­ка­же­ния сиг­на­лов и появления за­держек), пришлось изобретать но­вые хорошо за­бы­тые старые ре­ше­ния. NVMe-накопители под­клю­ча­ют­ся к шине PCI Express либо через разъем непосредственно на системной плате (AOC Add on Card), либо по ин­тер­фейс­но­му кабелю в новомодном исполнении U.2. В обоих случаях программное детектирование и драй­верная под­­держ­ка NVMe-устройств основаны на принципах PCIe-ши­ны, работающей в режиме со­еди­нения с полосой пропускания 8GT/S и шириной линка x4.

В результате очередного витка исторической спирали на интерфейсных платах сопряжения (репитерах) для U.2 интерфейса можно встретить микросхемы логики, обеспечивающие устойчивость передачи дифференциальных сигналов PCI Express шины.

В центре внимания разработчиков репитеров – амплитуда сигналов, их аналоговые и временны́е характеристики, позиционирование сигнальных фронтов и минимизация джиттера (дрожания фазы). Репитеры действуют как фрагмент физической среды передачи данных, не оказывая влияния на более высокие уровни шинного протокола. Но «репитер» – это общее название двух типов устройств: ретаймеров и редрайверв.

ReDriver

ReDriver это исключительно аналоговый, нетактируемый усилитель, он восстанавливает амплитуду, не контролируя тайминги (analog only). Позиционирование сигнальных фронтов во времени после прохождения через такой компонент, не только не восстанавливается, но и наоборот, может быть дополнительно искажено. Такое устройство может компенсировать затухание уровня сигнала, но не в состоянии компенсировать и исправлять искажения длительности. ReDriver не анализирует битовый поток, поэтому называется protocol unaware.

Концепция редрайвера с указанием трафика сигналов на PCI Express шине

Входная дифференциальная пара подключена к блоку CTLE (Continuous Time Linear Equalizer) это аналоговый усилитель сигнала, снабженный цепям коррекции. Дополнительный усилитель Gain требуется, так как усиления, которое обеспечивается CTLE, недостаточно. Усиленный сигнал поступает на выходной формирователь (Driver) подключенный к выходной дифференциальной паре. Терминирующие резисторы на входе и выходе устройства обеспечивают согласование с линиями по импедансу.

Определение ReDriver как нетактируемого аналогового устройства (в отличие от ReTimer), подразумевает, что не тактируется процесс передачи сигнала в линии, только целевая операция, а не чип в целом. При этом другие узлы, входящие в состав чипа (например канал SMBus, применяемый для конфигурирования), является цифровым и требует тактирования.

ReTimer

ReTimer это цифровое тактируемое устройство, в сочетании с аналоговым усилителем сигнала. Он выполняет не только коррекцию уровня, но и восстановление таймингов, приводя их в соответствие с физическими требованиями PCI Express протокола. Кроме того, это устройство минимизирует джиттер (нестабильность длительности импульсов). Само название подразумевает повторное формирование таймингов цифровых сигналов с нивелированием ранее произошедших искажений.

Блок-схема ретаймера, тактируемого внешним источником

Такое устройство может не только компенсировать затухание амплитуды сигнала, но также в состоянии компенсировать и исправлять искажения длительности. ReTimer анализирует битовый поток, поэтому определяется как protocol aware. Устройство декодирует входную последовательность битов, затем кодирует ее заново, поэтому все ранее произошедшие искажения сигнала будут компенсированы (просто забыты). Это справедливо только в том случае, если искажения не были настолько существенны, чтобы препятствовать декодированию сигнала самим ретаймером.

Как видно из диаграммы, входные и выходные аналоговые цепи ретаймера подобны аналогичным цепям редрайвера. А отличается ретаймер от редрайвера наличием цифровой схемы, изображенной в центре диаграммы. Эта схема, как было сказано выше, декодирует входной битовый поток и кодирует его заново. Цифровой сигнал проходит через цепочку триггеров (flip-flop), что обеспечивает правильное позиционирование фронтов во времени. Цифровая обработка сигнала базируется на следующих блоках:

  • PLL (Phase-Locked Loop), в сочетании с PI (Phase Interpolator) обеспечивает прецизионное тактирование схемы декодирования-кодирования;
  • CDR (Clock and Data Recovery) восстанавливает сигнал тактирования и данные из PCI Express трафика;
  • DFE (Discrete Feedback Equalization) обеспечивает цифровую коррекцию амплитуды для минимизации искажений.

Вся подсистема управляется цифровым конечным автоматом FSM (Finite State Machine).

Напомним, в PCI Express тактирование встроено в передаваемый сигнал, внешний сигнал тактирования RefClk нужен только для обслуживающих схем, но не для битовой синхронизации самих данных.

Пример топологии с ретаймерами

Поскольку ретаймер, в отличие от редрайвера, декодирует сигнал, а затем кодирует его заново, не происходит накопления искажений, поэтому допускается последовательное включение нескольких ретаймеров, как показано на рисунке.

Схема каскадирования нескольких ретаймеров на PCIe-шине

Цепочка редрайверов, как аналоговых усилителей, искажения накапливает, поэтому их последовательное соединение не практикуется. Возможно поэтому, редрайвер могут называть непрозрачным, хотя такое определение не имеет отношения к прозрачности для конфигурационного программного обеспечения. С этой точки зрения, ретаймер и редрайвер прозрачны.

Теги: