Спецификации PCIe 6.0 утверждены. Это самая крупная модернизация за историю стандарта
11 января 2022 года группа PCI Special Interest Group (PCI-SIG) выпустила долгожданную финальную версию спецификации PCI Express 6.0. Новое поколение шины опять удваивает скорость передачи данных по каждой линии PCIe, теперь до 8 ГБ/с по одной линии (x1) в каждом направлении.
Первое серверное железо с поддержкой PCIe 6.0 должно появиться на рынке через 12–18 месяцев. А потом технология придёт и в десктопы, как обычно.
Стандарт PCI Express 6.0 был анонсирован летом 2019 года. Группа PCI-SIG поставила цель удваивать пропускную способность шины каждые три года — и держит слово. Как обычно, создание ещё более быстрой версии PCIe обусловлено ненасытными потребностями отрасли в пропускной способности. Видеокарты, аппаратные ускорители, сетевые карты, SSD и другие устройства PCIe непрерывно увеличивают объём передаваемых данных. Шина должна успевать за ними. Как и раньше, прямой запрос на новую шину поступил от операторов серверов в дата-центрах.
PCIe 6.0 удваивает пропускную способность по всем линиям. Скорость каналов х1 увеличивается с 4 ГБ/с на каждое направление до 8 ГБ/с, а для каналов x16 возрастает до 128 ГБ/с на каждое направление. Для устройств, которые уже используют каналы определённой ширины, дополнительная пропускная способность представляет собой значительное увеличение пределов шины. Остальные могут уменьшить ширину канала с сохранением пропускной способности при снижении стоимости оборудования. То есть теоретически мы получаем более дешёвое и/или более быстрое оборудование.
Оригинальная версия PCI Express вышла в 2003 году, а сегодняшний релиз 6.0, по сути, является третьим крупным пересмотром технологии. В частности, PCIe 4.0 и 5.0 были всего лишь расширениями ранних методов сигнализации, а именно продолжали использовать сигнализацию PCIe 3.0 128b/130b с NRZ. В то же время PCIe 6.0 — гораздо более серьёзный апгрейд. Возможно, самый крупный в истории стандарта.
Чтобы добиться очередного удвоения пропускной способности, PCI-SIG полностью изменила технологию передачи сигналов, перейдя от технологии NRZ (Non-Return-to-Zero), которая использовалась с самого начала, к импульсно-амплитудной модуляции PAM4 (Pulse-Amplitude Modulation 4).
Если в двух словах, то PAM4 в сравнении с NRZ удваивает количество электрических состояний при сигнализации. Вместо традиционной сигнализации 0/1 используется четыре шаблона: 00/01/10/11. Это позволяет PAM4 передавать вдвое больше данных, чем NRZ, без необходимости удваивать полосу пропускания, что для PCIe 6.0 привело бы к частоте около 30 ГГц.
Сравнение NRZ и PAM4, источник
PAM4 сама по себе не является новой технологией, но до сих пор она была уделом сверхвысокоскоростных сетевых стандартов, таких как 200G Ethernet. В результате отрасль уже накопила несколько лет опыта работы с этим стандартом сигнализации. Поэтому PCI-SIG решила взять перенести его за основу следующего поколения PCIe.
Компромиссом является стоимость. В целом, PAM4 дороже в реализации практически на каждом уровне сетевой иерархии. Именно поэтому NRZ продолжает использоваться во многих системах. Масштабы массового внедрения PCIe, конечно, помогут — это позволит сильно удешевить оборудование. Но эффект проявится только через несколько лет.
Наряду с внедрением сигнализации PAM4, впервые в истории PCIe получает прямую коррекцию ошибок (FEC) — средство исправления ошибок сигнала путём подачи постоянного потока битов коррекции. Она уже широко используется в ситуациях, когда целостность данных критически важна и нет времени на повторную передачу (например, DisplayPort 1.4 w/DSC).
Кроме PAM4 и FEC, третьим важным технологическим дополнением PCIe 6.0 является метод кодирования FLOW control unIT (FLIT).
FLIT-кодирование используется на логическом уровне для разбиения данных на пакеты фиксированного размера. Именно это позволяет PCIe 6.0 реализовать FEC и другие методы коррекции ошибок, поскольку эти методы требуют пакетов фиксированного размера.
Кодирование FLIT тоже заимствовано из высокоскоростных сетей, где уже используется. По мнению PCI-SIG, это одна из самых важных частей спецификации, поскольку является ключевым элементом для работы PCIe с низкой задержкой при использовании FEC, а также для обеспечения минимального оверхеда. В целом, PCI-SIG считает PCIe 6.0 методом кодирования 1b/1b, поскольку в самом кодировании данных нет никакого оверхеда (хотя есть накладные расходы в виде дополнительных пакетов FEC/CRC).
Как всегда, PCIe 6.0 обратно совместим с более ранними спецификациями. Старые устройства будут работать в новых платах, а новые устройства — в старых. Также поддерживаются текущие формы разъёмов, включая стандартный разъём карты PCIe. Таким образом, переход должен быть относительно простым, как и в предыдущих поколениях.