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

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

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

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

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

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-шине

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