Страница 6: GDDR6X и Error Detection and Replay

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

NVIDIA объединила усилия с Micron, в итоге была разработана GDDR6X. Память GDDR6X работает на тех же частотах, что и GDDR6, напряжение сравнимое.

У предыдущей памяти GDDR6 использовалась модуляция Non-Return-to-Zero (NRZ). Значения "0" и "1" соответствовали низкому и высокому напряжению. В случае GDDR6X используется уж амплитудно-импульсная модуляция PAM4, несущая разделяется на четыре уровня напряжения с каждым тактовым импульсом. Шаг между уровнями составляет 250 мВ. PAM4 все чаще используется в современных стандартах передачи. PCI Express 5.0 и DDR6 тоже будут опираться на PAM4.

NVIDIA и Micron реализовали ряд хитростей, чтобы гарантировать высокие скорости передачи при выставленных тактовых частотах. Max Transition Avoidance Coding (MTA) гарантирует, что сигнал меняется только до двух уровней напряжения. Если идет переход с самого низкого до самого высокого уровня, то различимость сигнала теряется. С помощью MTA NVIDIA кодирует сигнал нужным образом.

Наконец, NVIDIA дает некоторый динамический допуск, поскольку небольшие отличия по производству PCB и памяти могут привести к различиям по задержкам распространения сигнала. Поэтому алгоритмы дополнительно корректируют передачу сигнала.

Error Detection and Replay

В контролере памяти GDDR6(X) NVIDIA реализовала новую технологию Error Detection and Replay (EDR). Особенно полезна она будет при разгоне.

Память GDDR6X на видеокарте GeForce RTX 3080 Founders Edition работает на частоте 1.188 МГц. Но технология Error Detection and Replay облегчит разгон памяти, поскольку ошибки при передаче данных будут определяться (Error Detection), данные будут передаваться повторно (Replay). И вместо вывода артефактов, контроллер памяти попытается исправить появившиеся ошибки. Определение ошибок опирается на технологию контрольной суммы CRC (Cyclic Redundancy Check), которая гарантирует целостность данных. Если контрольная сумма не совпадает, во время передачи произошла ошибка.

На рисунке показано, как работает технология. Без CRC или Error Detection and Replay при повышении тактовой частоты возникают артефакты. Что приводит к риску краха или сброса драйвера.

С помощью Error Detection and Replay происходит исправление ошибок, но пропускная способность памяти перестает увеличиваться. Она превращается в плато, только после его прохождения увеличивается вероятность крахов и вылетов. Как только плато достигнуто, смысла в дальнейшем увеличении частоты уже нет. Впрочем, NVIDIA все же отмечает, что вылеты могут наблюдаться и с технологией Error Detection and Replay. Она не является панацеей, но позволяет минимизировать появление артефактов.

Технология Error Detection and Replay от NVIDIA реализована только в контроллере GDDR6X чипов GA10x GPU. Видеокарты GeForce RTX 3080 и GeForce RTX 3090 как раз используют память GDDR6X. Но GeForce RTX 3070 - уже нет, здесь используется GA104 GPU. Пока неизвестно, получит ли GeForce RTX 3070 поддержку EDR.