В чем разница между PCIe 3.0 и PCIe 6.0?

Архитектура Peripheral Component Interconnect (PCI) уже более трех десятилетий обеспечивает возможность подключения устройств ввода-вывода для платформ вычислений, связи и хранения. С момента своего создания в качестве интерфейса локальной шины для всех типов устройств ввода-вывода в индустрии ПК он превратился в интерфейс на основе соединения точка-точка (PCI Express), чтобы удовлетворить требования ввода-вывода в облаке, сегменты рынка предприятий, искусственного интеллекта, ПК, встраиваемых систем, интернет вещей, автомобилестроения и мобильной связи.

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

Дорожная карта PCI Express, демонстрирующая удвоение пропускной способности на вывод для каждого поколения

Одна заметная и уникальная особенность спецификации PCIe заключается в том, что, хотя она поддерживает несколько скоростей передачи данных и разную ширину разъема для поддержки различных требований к производительности различных устройств в широком диапазоне моделей использования, они взаимодействуют друг с другом. Это позволяет разработчикам микросхем и платформ разрабатывать и проверять соответствие одной спецификации. Несмотря на то, что множество форм-факторов (например, M.2, U.2, CEM, различные разновидности SFF) эволюционировали для удовлетворения потребностей различных систем во всем вычислительном континууме, все они используют одни и те же кремниевые ингредиенты на основе базовой спецификации PCIe.

Успех технологии PCI как повсеместного стандарта для систем ввода-вывода объясняется тем, что она является открытым отраслевым стандартом, поддерживаемым надежной программой соответствия для обеспечения беспрепятственного взаимодействия между устройствами от разных компаний. PCI-SIG, консорциум из более чем 800 компаний-членов, расположенных по всему миру, владеет и управляет спецификациями PCI и следит за выполнением программ соответствия. PCI-SIG ожидает, что технология PCIe продолжит развиваться для удовлетворения разнообразных потребностей ввода-вывода во всем вычислительном континууме еще много лет.

В этой статье подробно рассказывается о технологии PCIe, охватывающей ее эволюцию от четвертого до шестого поколения.

Первые три поколения PCIe со скоростью 2,5; 5,0 и 8,0 ГТ / с

Технология PCIe начала свой путь в 2003 году со скоростью передачи данных 2,5 ГТ / с, поддерживая стандарты x1, x2, x4, x8 и x16 для разных уровней пропускной способности. Поддерживаемые стандарты разъёмов не изменилась на протяжении шести поколений эволюции архитектуры PCIe. Спецификация PCIe 2.0 удвоила скорость передачи данных до 5,0 ГТ / с в 2006 году. Первые два поколения технологии PCIe использовали кодирование 8b / 10b, что приводило к 25% накладным расходам на кодирование. Это было необходимо для установления баланса постоянного тока и для дополнительных кодировок, необходимых для пакетирования на физическом уровне (например, для указания начала и конца различных типов пакетов).

Что касается спецификации PCIe 3.0, было принято стратегическое решение увеличить скорость передачи данных до 8,0 ГТ / с вместо 10,0 ГТ / с. Это было дополнено новым механизмом кодирования 128b / 130b, чтобы удвоить пропускную способность на вывод по сравнению с PCIe 2.0 (1,6 из-за увеличения скорости передачи данных × 1,23 с уменьшением накладных расходов на кодирование). Новый механизм кодирования обеспечил высокую надежность за счет использования модели сбоя трех случайных обнаружений переворота битов и имел несколько новаторских подходов к выполнению кадрирования пакетов на физическом уровне с сохранением формата пакета, доставленного с верхних уровней (Link и Transaction).

Решение не удваивать скорость передачи данных (до 10,0 ГТ / с) было принято на основе данных обширного анализа, чтобы гарантировать, что PCIe 3.0 может работать на существующих каналах с прогнозируемыми возможностями полупроводников и компонентов платформы на момент введения спецификации (2010 г.) и по-прежнему соответствовать прогнозируемым ограничениям по мощности и стоимости. Выравнивание обратного канала было введено в спецификацию PCIe 3.0 для смягчения последствий потери канала на платформе из-за полупроводниковых компонентов. Механизмы кодирования и выравнивания архитектуры PCIe 3.0 были достаточно надежными, чтобы выдерживать последующие поколения увеличения скорости.

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

Чтобы помочь с развитием портативных сегментов, таких как смартфоны и планшеты, была улучшена обработка более глубоких состояний с низким энергопотреблением. Это позволило устройствам поддерживать свое состояние для более быстрого возобновления трафика, потребляя при этом мощность в единицах микроватт. Этот механизм снижения энергопотребления в состоянии ожидания наряду с лучшей в отрасли энергоэффективностью в активном состоянии (около 5 пДж / бит) плюс быстрое время перехода между ними (от 1 до 100 мкс) приводит к тому, что архитектура PCIe является основным выбором, как в сегментах с низким энергопотреблением, так и в сегментах высокой производительности.

Октябрь 2017. Спецификация PCIe 4.0 со скоростью 16,0 ГТ / с

Путь к удвоению скорости передачи данных с 8,0 ГТ / с до 16,0 ГТ / с занял больше времени, так как нужно было гарантировать, что платформа и полупроводниковые компоненты могут развиваться рентабельным и энергоэффективным способом для плавного перехода на новые технологии. Бюджет потерь в канале был увеличен до 28 дБ. Маршрутизирующий материал продолжал совершенствоваться с новыми и экономически доступными материалами, такими как Megtron-2 (4 и 6), с улучшенными характеристиками потерь, наряду с улучшениями в технологии корпусов, что делает его применение возможным в рамках ограничений стоимости и мощности платформ с сотнями дорожек печатных плат.

Но даже тогда этого было недостаточно, чтобы покрыть более длинные каналы, например, 20 дюймов, с двумя разъемами. Благодаря материалам платы, используемым в системах, и доступной технологии упаковки, мы можем поддерживать около 15 дюймов дорожки платы с помощью одного разъема и дополнительной карты. Ретаймеры (retimers) должны были быть официально определены как устройства расширения каналов. Ретаймеры (retimers) имеют полный физический уровень и удваивают потери в канале. В канале допускается до двух ретаймеров, что позволяет использовать каналы с большей досягаемостью с архитектурой PCIe (рисунок ниже).

Ретаймеры используются для увеличения охвата канала

Технология PCIe 4.0 позволила большему количеству невыполненных транзакций поддерживать постоянно растущую полосу пропускания за счет масштабируемых кредитных механизмов управления потоком и расширенных тегов. Он также улучшил функции надежности, доступности и удобства обслуживания (RAS), чтобы обеспечить миграцию на устройства хранения данных PCIe с прямым подключением за счет ограничения портов нисходящего потока. Кроме того, системы могут использовать возможности неразрушающего ограничения полосы движения без прерывания работы системы. Как всегда, эти улучшения позволят увеличить пропускную способность на несколько поколений.

Однако, естественно, возникает вопрос: как системы справлялись с потребностями в пропускной способности ввода-вывода, когда переход технологии со спецификации PCIe 3.0 на PCIe 4.0 занял больше времени, чем обычно, из-за «точек перегиба», которые необходимо было устранить? Ответ очень скользкий.

Платформы, которые дебютировали с архитектурой PCIe 3.0, имели около 40 линий технологии PCIe, выходящих из каждого сокета процессора. Незадолго до перехода на спецификацию PCIe 4.0 количество дорожек на сокет ЦП резко увеличилось, достигнув на некоторых платформах до 128 полос на сокет ЦП. Таким образом, хотя полоса пропускания на слот (например, x16) не увеличилась, совокупная полоса пропускания ввода-вывода увеличилась в 3 раза на платформах, как с точки зрения количества полос, так и измеренной полосы пропускания ввода-вывода.

Хранилище, как правило, является драйвером совокупной пропускной способности, при этом каждое устройство хранения, подключенное к системе, использует «узкое» соединение (например, x2 или x4). Таким образом, растущие потребности в хранении были удовлетворены за счет увеличения количества дорожек. Сеть — это использование одного слота; за это время он перешел с 10 Гбит / с на 100 Гбит / с и для сдвоенных сетевых карт (NIC) на 100 Гбит / с. Данная полоса пропускания была обеспечена за счет перехода сетевых адаптеров с x4 на x16 (и 2 x16 для двух сетевых адаптеров 100 Гбит / с) — отличный компромисс с точки зрения мощности / стоимости / производительности. Ускорители и GPGPU также эволюционировали, чтобы обеспечить эффективную передачу данных за счет правильного определения размера транзакции и подсказок протокола.

В целом замедление эволюции скорости от архитектуры PCIe 3.0 к архитектуре PCIe 4.0 было смягчено увеличением ширины разъема благодаря гибкости, предлагаемой спецификацией PCIe. Экосистема развивалась естественным образом, поэтому изменение скорости было осуществлено экономичным и энергоэффективным способом.

Май 2019. Спецификация PCIe 5.0 при 32,0 ГТ / с

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

Например, для сети с пропускной способностью 400 Гбайт (или двух по 200 Гбайт) требуется x16 PCIe со скоростью 32,0 ГТ / с для поддержания пропускной способности. Это потребовало выпуска полностью обратно совместимого PCIe 5.0 менее чем через два года после появления архитектуры PCIe 4.0 — значительное достижение для стандарта.

Переход от спецификации PCIe 4.0 к спецификации PCIe 5.0 был в первую очередь повышением скорости. Кодирование 128b / 130b, которое было поддержкой протокола для масштабирования полосы пропускания для более высоких скоростей передачи данных, уже было встроено в спецификации PCIe 3.0 и PCIe 4.0. Потери в канале были увеличены до 36 дБ вместе с улучшением разъема, чтобы минимизировать потери с расширенным диапазоном частот. Благодаря усовершенствованию материалов для печатных плат и технологий упаковки, охват каналов похож на технологию PCIe 4.0, с использованием ретаймеров для расширения охвата каналов.

Одним из улучшений архитектуры PCIe 5.0 является встроенная поддержка альтернативных протоколов. Поскольку технология PCIe превратилась в интерфейс с максимальной пропускной способностью, наиболее энергоэффективным и наиболее широко используемым, для некоторых видов использования требуются дополнительные протоколы, такие как согласованность и память, для работы на тех же контактах, что и архитектура PCIe. Например, некоторые ускорители и интеллектуальные сетевые карты могут кэшировать системную память и отображать свою память в пространство системной памяти для эффективного обмена данными и «атомики» в дополнение к протоколам PCIe. Точно так же системная память переходит на PCIe PHY (физический уровень) из-за предлагаемого ею энергоэффективного решения с высокой пропускной способностью и низкой задержкой.

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

Спецификация PCIe 6.0 со скоростью 64 ГТ / с нацелена на выпуск с 2021 года

Мы продолжаем ускоренный путь, чтобы снова удвоить пропускную способность через два года обратно совместимым образом. Такие приложения, как ИИ, машинное обучение, игры, визуальные вычисления, хранилище и сети, по-прежнему требуют увеличения пропускной способности, поскольку мы находимся в благоприятном цикле увеличения пропускной способности, приводящего к появлению новых приложений с более широкими возможностями.

Такие устройства, как графические процессоры, ускорители, высокопроизводительные сети (800 Гбит / с), когерентные межсоединения и расширители памяти по-прежнему требуют большей пропускной способности в ускоренном темпе. Приложения с ограниченным форм-фактором, которые не могут увеличить габариты, также требуют увеличения частоты для обеспечения производительности.

Существуют серьезные проблемы с удвоением скорости передачи данных сверх 32,0 ГТ / с с использованием метода NRZ (без возврата к нулю, то есть двоичной сигнализации, при которой 0 или 1 передаются в каждом единичном интервале или UI) из-за потеря канала. Таким образом, PCIe 6.0 будет использовать сигнализацию PAM4 (амплитудно-импульсная модуляция, 4 уровня) (рисунок ниже), которая была широко принята сетевыми стандартами, когда они перешли на скорость передачи данных 56 Гбит / с и выше. Используя этот метод, два бита кодируются с использованием четырех уровней в одном пользовательском интерфейсе, что позволяет интерфейсу PCIe 6.0 (и частоте Найквиста) быть идентичным архитектуре PCIe 5.0.

Глазковая диаграмма с кодировкой PAM4 три глаза в одном пользовательском интерфейсе представляют четыре возможных уровня напряжения, представляющих 2 бита

Хотя PAM4 снижает потери канала из-за работы на половине частоты с двумя битами на пользовательский интерфейс, он более подвержен ошибкам из-за различных источников шума, вызванных уменьшением диапазонов напряжения (и времени). Это проявляется как более высокая частота ошибок по битам (BER), превышающая в 10–12  раз BER для спецификаций PCIe 1.0 — PCIe 5.0.

Другим побочным эффектом является корреляция ошибок из-за коррелированных источников ошибок, таких как шум источника питания, а также распространение ошибок в той же полосе из-за эквалайзера с решающей обратной связью (DFE). Эти эффекты смягчаются за счет развертывания механизма прямого исправления ошибок (FEC), недостатком которого является снижение эффективности линии связи из-за битов FEC, а также дополнительная задержка для механизмов кодирования / декодирования. Чем сильнее FEC, тем хуже рабочие характеристики. Однако эффективная частота ошибок по битам улучшается за счет исправления.

Например, некоторые из существующих стандартов имеют потерю полосы пропускания на 11% и задержку FEC более 100 нс, что не соответствует требованиям к полосе пропускания и задержке межсоединений загрузки-хранилища, таких как технология PCIe. Разработка спецификации PCIe 6.0 следует ограничениям с точки зрения ключевых показателей, указанных в таблице ниже. Несмотря на то, что это сложные цели, которые не решались ранее, мы должны соответствовать этим показателям, чтобы PCIe продолжал оставаться высокопроизводительным межсоединением.

Сравнительная таблица PCI 6.0

С FEC нам нужен фиксированный размер FLIT (блок управления потоком), чтобы применить коррекцию. При фиксированном размере FLIT выгодно иметь механизм обнаружения ошибок (циклический контроль избыточности, или CRC), работающий на блоке управления потоком. Поскольку PCIe определяет пакет уровня канала данных (DLLP) и пакет уровня транзакции (TLP) переменного размера, мы определяем полезную нагрузку для согласования с FLIT. Таким образом, FLIT может иметь несколько DLLP и TLP, а TLP / DLLP может охватывать несколько FLIT.

В этом новом режиме, поскольку FLIT включает CRC, DLLP и TLP не будут нести свои отдельные байты CRC, как это было в предыдущих поколениях. Кроме того, поскольку блоки управления потоком имеют фиксированный размер, нет необходимости иметь маркер кадрирования уровня PHY (4 байта) для каждого TLP или DLLP. Эта экономия помогает повысить эффективность преодоления накладных расходов FEC.

Эффективность пакетов с архитектурой PCIe 6.0 превышает эффективность предыдущих поколений для полезной нагрузки до 512 байт. Например, TLP запроса 4DW (двойное слово, каждое двойное слово составляет 4 байта) будет иметь эффективность TLP 0,92 с кодировкой на основе FLIT по сравнению с 0,62 в предыдущих поколениях (с кодировкой 128b / 130b и 5% служебными данными DLLP). В результате эффективная пропускная способность увеличивается примерно в 3 раза (в 2 раза выше скорости передачи данных и примерно в 1,5 раза увеличивается эффективность TLP). По мере увеличения размера TLP эффективность падает; для размера полезной нагрузки данных 4 кБ он уменьшается до 0,98 в соответствии с неэффективностью полосы пропускания, указанной в показателях, приведенных в таблице. Пример макета FLIT показан таблице ниже.

Макет FLIT в канале x16: первые 236 байтов (0..235) предназначены для TLP, следующие 6 байтов - для полезной нагрузки канального уровня (dlp0..5), следующие 8 байтов - для CRC ( crc0..7), а последние 6 байтов - для ECC (ecc 0..1). FEC - это ECC с 3-сторонним чередованием, каждый из которых может исправлять один байт, причем чередование отображается тремя цветами.

На рисунке ниже показаны компромиссы, связанные с частотой необработанных пакетов ошибок в проводящей линии (распространение ошибки на несколько битов считается одной ошибкой) и эффективностью различных FEC для обработки этой ошибки. Односимвольный код с исправлением ошибок (ECC) исправляет один пакет ошибок, тогда как двойной символ ECC исправляет до двух пакетов ошибок.

Компромисс между различными метриками и возможностями FEC и вероятностью необработанных пакетов ошибок

Хотя длина пакета следует определенной функции распределения вероятностей, код ЕСС определяется таким образом, что вероятность превышения пакетом возможностей ЕСС незначительна. Моделирование и данные кристалла использовались, чтобы найти компромисс между частотой ошибок, характером пакета, канальными ограничениями и возможностями кристалла. PCIe 6.0 нацелен на вероятность пакетной ошибки 10-6, что приведет к вероятности повторной попытки FLIT около 10-6.

Поскольку PCIe имеет механизм повтора на уровне физического канала с малой задержкой, нам не нужно развертывать надежный FEC, который увеличит задержку и накладные расходы на полосу пропускания. Вероятность повторения 10-6 (или даже 10-5) является разумным компромиссом, в результате чего сумматор задержки FEC составляет 1-2 нс в каждом направлении. В случае повторной попытки (событие с вероятностью 10-6), FLIT задерживается на ~ 100 нс из-за механизма повторных попыток в оба конца. Это разумный компромисс по сравнению с добавлением 100+ нс к каждому FLIT с сильным FEC и «расплатой» за высокую пропускную способность.

Вывод

Обладая богатой и успешной историей перехода на несколько технологий обратно совместимым образом, охватывающей три десятилетия, PCI-SIG находится в хороших позициях, чтобы и дальше лидировать в меняющемся мире вычислительной техники. Мощность и перспективность этой технологии по открытым стандартам, подкрепленные объединенными инновационными возможностями более 800 компаний-членов, делают наши технологии гибкими, масштабируемыми, экономичными, энергоэффективными, передовыми и пригодными для разных поколений, актуальными для всех сегментов рынка и модели использования в обозримом будущем.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *