
Казалось, что шинные топологии серверных платформ исхожены и ожидать от них сюрпризов не приходится. Интригой стало появление запоминающих устройств, напрямую взаимодействующих с PCI Express. В том случае, когда для их подключения потребовались удлинители интерфейса (с ожидаемыми рисками искажения сигналов и появления задержек), пришлось изобретать новые хорошо забытые старые решения. NVMe-накопители подключаются к PCIe-шине либо через разъем непосредственно на системной плате (AOC – Add on Card), либо по интерфейсному кабелю в новомодном исполнении U.2. В обоих случаях программное детектирование и драйверная поддержка NVMe основаны на принципах PCIe-шины, работающей в полосе пропускания 8GT/s с шириной линка x4.
В результате очередного витка исторической спирали на интерфейсных платах сопряжения (репитерах) для U.2 интерфейса можно встретить микросхемы логики, обеспечивающие устойчивость передачи дифференциальных сигналов PCI Express шины.
В центре внимания разработчиков репитеров – амплитуда сигналов, их аналоговые и временны́е характеристики, позиционирование сигнальных фронтов и минимизация джиттера (дрожания фазы). Репитеры действуют как фрагмент физической среды передачи данных, не оказывая влияния на более высокие уровни шинного протокола. Но в общем случае «репитер» — это название двух типов устройств: ретаймеров и редрайверв.
ReDriver
ReDriver это исключительно аналоговый, нетактируемый усилитель, он восстанавливает амплитуду, не контролируя тайминги (analog only). Позиционирование сигнальных фронтов во времени после прохождения через такой компонент, не только не восстанавливается, но и наоборот, может быть дополнительно искажено. Такое устройство может компенсировать затухание уровня сигнала, но не в состоянии компенсировать и исправлять искажения длительности. ReDriver не анализирует битовый поток, поэтому называется protocol unaware.
Входная дифференциальная пара подключена к блоку 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 нужен только для обслуживающих схем, но не для битовой синхронизации самих данных.
Пример топологии с ретаймерами
Поскольку ретаймер, в отличие от редрайвера, декодирует сигнал, а затем кодирует его заново, не происходит накопления искажений, поэтому допускается последовательное включение нескольких ретаймеров, как показано на рисунке.
Цепочка редрайверов, как аналоговых усилителей, искажения накапливает, поэтому их последовательное соединение не практикуется. Возможно поэтому, редрайвер могут называть непрозрачным, хотя такое определение не имеет отношения к прозрачности для конфигурационного программного обеспечения. С этой точки зрения, ретаймер и редрайвер прозрачны.