Четыре диска и адаптер: приключения тактовых сигналов VMD

05 Июл 2017

Четыре диска и адаптер: приключения тактовых сигналов VMD

Реализация экстремального VMD-массива на основе адаптера ASUS Hy­per M.2 x16 потребовала от инженеров Intel и ASUS целого ряда не­ор­ди­нар­ных шагов. Вместе с тем, архитектурные и схемные решения в оче­ред­ной раз ос­тались за кадром бенчмарок и маркетинговых обзоров. Что­бы вос­пол­нить этот недостаток (вернее, малую его часть), рас­смот­рим осо­бен­но­сти фор­ми­ро­вания тактового сигнала для NVMe-дис­ков в со­ста­ве про­цес­сор­но­го сто­ри­джа и попробуем пролить свет на роль не­ко­то­рых компонентов схемы сопряжения.

Теоретические сведения

Электронные цепи современных вычислительных платформ работают на гигагерцовых частотах. Такие факторы, как индуктивность соединительных проводников, электрическая емкость изоляционных материалов, а также за­держ­ки распространения сигналов, обусловленные длиной проводников, существенно влияют на прохождение дан­ных по трактам передачи цифрового устройства. Это обстоятельство во многом определило схемотехнику со­вре­мен­ных систем. Как известно, интерфейс PCI Express с момента своего появления более десятилетия назад, в от­ли­чие от предшественников – шин ISA и PCI, использует топологию «точка-точка», предусматривающую со­еди­не­ние сигнальных цепей только двух взаимодействующих устройств. Разветвления проводников и подключение одного формирователя к нескольким нагрузкам исключаются, чтобы избежать искажения динамических ха­рак­те­рис­тик передаваемых сигналов.

При этом дизайн разветвленных топологий, при условии соблюдения вышеописанного правила, реализуется с использованием мостов (PCIe Bridge), предоставляющих отдельный набор сигнальных цепей каждому устройству-абоненту. В свою очередь, несколько мостов PCIe Bridge могут быть объединены в разветвитель (PCIe Switch).

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

Вместе с тем, «правильное» проектирование, гарантирующее унификацию и совместимость, приносит в жертву производительность, поскольку устройства PCIe Switch и/или PCIe Bridge неизбежно вносят некоторую задержку при передаче сигналов. Возрастает и себестоимость. Решение наметившегося противоречия основывается на способности PCIe-портов, реализованных в составе современных CPU, к бифуркации.

Это означает, что дифференциальные пары, образующие PCIe-порт x16, могут функционировать как набор линков меньшей ширины — четыре PCIe-порта x4, например.

Таким образом, подключение четырех M.2 NVMe-накопителей к порту PCIe x16 посредством специальных плат-адаптеров может быть выполнено без привлечения сложных коммутаторов.

Напомним, способность к разделению на порты меньшей ширины не нормируется спецификацией PCI Express как обязательное свойство PCIe-порта, а потому проприетарное решение, изящно уменьшающее как себестоимость, так и латентность, не гарантирует совместимость платы-адаптера с изделиями конкурентов. Хотя, этот не­до­ста­ток, в силу особенностей конкурентной борьбы, производитель может считать достоинством.

Зачем нужна буферизация тактового сигнала?

Представим в общем виде варианты дизайна платы-адаптера, устанавливаемой в слот PCIe x16 и несущей на бор­ту четыре NVMe-накопителя, архитектурно и физически представляющих устройства PCIe x4.


Рис 1. 


Рис 2.
Плата-адаптер ASUS Hyper M.2 x16, желтым кружком выделена микросхема, предположительно являющаяся буфером-разветвителем тактового сигнала PCI Express Reference Clock

Разделив интерфейсные цепи на три группы, выделим подзадачи.

  1. Для подключения информационных линий PCIe, как было показано выше, у разработчиков есть два варианта: проприетарный, использующий способность порта к бифуркации и унифицированный, на основе PCIe Switch. Есть основания полагать, что компания ASUS выбрала первый путь.
  2. Асинхронные цепи, такие как, например, линия Power Good, сигнализирующая об установке уровней питающих напряжений и выполняющая функции системного сброса – эти сигналы не требуют прецизионных таймингов и допускают параллельное подключение соответствующих цепей NVMe-накопителей и слота PCIe.
  3. Особая ситуация имеет место с сигналом опорной частоты Reference Clock (100 MHz), физически реализованным в виде дифференциальной пары REFCLK+, REFCLK- (Рис 3, Рис 4). Высокочастотный сигнал не допускает параллельного подключения нескольких нагрузок (NVMe-накопителей) к одному формирователю, а механизм бифуркации порта обслуживает только информационные линии PCIe.

Для обслуживания цепей PCIe-тактирования нужен дополнительный буфер-разветвитель с прецизионным воспроизведением таймингов!

Как реализуется буферизация тактового сигнала?

Итак, от разъема PCIe x16 поступает сигнал опорной частоты 100 MHz Reference Clock, физически представленный дифференциальной парой REFCLK+, REFCLK- (Рис 3).

Расположение сигнальных цепей разъема PCI Express
Рис 3. Расположение сигнальных цепей разъема PCI Express. Показан фрагмент разъема. Две линии, образующие дифференциальную пару для передачи сигнала тактирования выделены красным прямоугольником.

Для каждого из четырех NVMe-накопителей требуется сформировать сигнал опорной частоты, физически пред­став­лен­ный дифференциальной парой REFCLK p, REFCLK n (Рис 4). На этой схеме p означает positive, n negative, что си­но­ни­мич­но символам плюс и минус.

Как уже было сказано, параллельное подключение одноименных цепей для высокочастотных сигналов не­воз­мож­но, в силу требования прецизионности таймингов.

Расположение сигнальных цепей разъема M.2 в варианте подключения NVMe-накопителя с интерфейсом PCI Express
Рис 4. Расположение сигнальных цепей разъема M.2 в варианте подключения NVMe-накопителя с интерфейсом PCI Express. Показан фрагмент разъема. Две линии, образующие дифференциальную пару для передачи сигнала тактирования выделены красным прямоугольником.

Буфер-разветвитель принимает на вход SRC тактовый сигнал, поступающий с соответствующих контактов разъ­ема PCI Express, и формирует четыре буферизованные копии сигнала OUT, транслируемые на тактовые линии че­ты­рех NVMe-накопителей.

Пример реализации буфера-разветвителя 1:4. Входной сигнал источника тактирования SRC, представленный дифференциальной парой SRC, SRC#, транслируется на 4 выхода OUT, представленных дифференциальными парами OUT, OUT#
Рис 5. Пример реализации буфера-разветвителя 1:4. Входной сигнал источника тактирования SRC, представленный дифференциальной парой SRC, SRC#, транслируется на 4 выхода OUT, представленных дифференциальными парами OUT, OUT#. Фрагмент документации PERICOM PI6C20400.

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

Дополнительные опции

Обратим внимание на поддержку программного управления буфером посредством интерфейса System Mana­ge­ment Bus (SMBus). Для этого требуется одновременное соблюдение следующих условий:

  • на системной плате цепи контроллера SMBus (Serial Clock, Serial Data) подключены к соответствующим контактам слота PCI Express — в общем случае, такая функциональность присутствует не во всех платформах;
  • на плате-адаптере цепи контроллера SMBus (Serial Clock, Serial Data) подключены к соответствующим контактам разъема PCI Express;
  • UEFI поддерживает управление буферными формирователями тактового сигнала, расположенными на платах расширения, включая обслуживание программной модели конкретной микросхемы буфера — как правило, такая функциональность в UEFI присутствует только для on-board устройств.

В теории, программное управление дает ряд дополнительных возможностей, например, отключение тактового сиг­на­ла для не занятых разъемов M.2 с целью минимизации создаваемых электромагнитных помех. На практике, если одно из условий 1-3 не выполняется, микросхема остается в режиме по умолчанию, устанавливаемом при включении питания и гарантирующем базовую функциональность. При этом все тактовые линии включены.

Вместо послесловия

Признаемся, плата-адаптер ASUS Hyper M.2 x16 еще не побывала в тестовой лаборатории «Компостера». Пред­став­лен­ное исследование является результатом моделирования решения инженерной задачи подключения че­ты­рех устройств PCIe x4 (в данном случае NVMe-накопителей), расположенных на плате-адаптере к порту PCI Ex­press x16, поддерживающему бифуркацию.

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

Теги: