
Реализация экстремального VMD-массива на основе адаптера ASUS Hyper 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.
Рис 2.
Плата-адаптер ASUS Hyper M.2 x16, желтым кружком выделена микросхема, предположительно являющаяся буфером-разветвителем тактового сигнала PCI Express Reference Clock
Разделив интерфейсные цепи на три группы, выделим подзадачи.
- Для подключения информационных линий PCIe, как было показано выше, у разработчиков есть два варианта: проприетарный, использующий способность порта к бифуркации и унифицированный, на основе PCIe Switch. Есть основания полагать, что компания ASUS выбрала первый путь.
- Асинхронные цепи, такие как, например, линия Power Good, сигнализирующая об установке уровней питающих напряжений и выполняющая функции системного сброса – эти сигналы не требуют прецизионных таймингов и допускают параллельное подключение соответствующих цепей NVMe-накопителей и слота PCIe.
- Особая ситуация имеет место с сигналом опорной частоты Reference Clock (100 MHz), физически реализованным в виде дифференциальной пары REFCLK+, REFCLK- (Рис 3, Рис 4). Высокочастотный сигнал не допускает параллельного подключения нескольких нагрузок (NVMe-накопителей) к одному формирователю, а механизм бифуркации порта обслуживает только информационные линии PCIe.
Для обслуживания цепей PCIe-тактирования нужен дополнительный буфер-разветвитель с прецизионным воспроизведением таймингов!
Как реализуется буферизация тактового сигнала?
Итак, от разъема PCIe x16 поступает сигнал опорной частоты 100 MHz Reference Clock, физически представленный дифференциальной парой REFCLK+, REFCLK- (Рис 3).
Рис 3. Расположение сигнальных цепей разъема PCI Express. Показан фрагмент разъема. Две линии, образующие дифференциальную пару для передачи сигнала тактирования выделены красным прямоугольником.
Для каждого из четырех NVMe-накопителей требуется сформировать сигнал опорной частоты, физически представленный дифференциальной парой REFCLK p, REFCLK n (Рис 4). На этой схеме p означает positive, n negative, что синонимично символам плюс и минус.
Как уже было сказано, параллельное подключение одноименных цепей для высокочастотных сигналов невозможно, в силу требования прецизионности таймингов.
Рис 4. Расположение сигнальных цепей разъема M.2 в варианте подключения NVMe-накопителя с интерфейсом PCI Express. Показан фрагмент разъема. Две линии, образующие дифференциальную пару для передачи сигнала тактирования выделены красным прямоугольником.
Буфер-разветвитель принимает на вход SRC тактовый сигнал, поступающий с соответствующих контактов разъема PCI Express, и формирует четыре буферизованные копии сигнала OUT, транслируемые на тактовые линии четырех NVMe-накопителей.
Рис 5. Пример реализации буфера-разветвителя 1:4. Входной сигнал источника тактирования SRC, представленный дифференциальной парой SRC, SRC#, транслируется на 4 выхода OUT, представленных дифференциальными парами OUT, OUT#. Фрагмент документации PERICOM PI6C20400.
При неизменной опорной частоте, длительности всех периодов сигнала, в идеале можно считать одинаковыми. Поэтому, если время задержки, обеспечиваемое буфером, максимально близко к целому числу периодов (частоте 100 мегагерц соответствует период 10 наносекунд), то искажения фазы минимальны, ведь в этом случае, в каждый момент времени на выходе буфера присутствует состояние, соответствующее той же точке предыдущего периода сигнала на его входе.
Дополнительные опции
Обратим внимание на поддержку программного управления буфером посредством интерфейса System Management 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 Express x16, поддерживающему бифуркацию.
Исходные данные и ряд фактов, собранных по крупицам, образовали, довольно логичную интегральную картину, поэтому, было принято решение о публикации материалов этого исследования, первоначально подготовленных как документ для внутреннего служебного использования. Насколько близки наши предположения к истине, покажет время...