
Оперативная память для серверов xFusion в каталоге лежит модулями DDR5 RDIMM на 16, 32, 64, 96 и 128 ГБ. Такты у них три: 4800, 5600 и 6400 МТ/с. Рядом две позиции DDR4, регистровая на 32 ГБ и LRDIMM на 128 ГБ. Все модули 288-контактные и с коррекцией ошибок, DDR5 питается от 1.1 В, DDR4 от 1.2 В.
Выбор сводится к трём величинам: объём модуля, такт и число рангов. Первые две видны в описании сразу, третья стоит в конце строки вендора и решает, на какой частоте контроллер запустит память, когда заняты все слоты. Ниже таблица модулей DDR5 по объёму и такту, разбор ранга с арифметикой по микросхемам и разница между RDIMM и LRDIMM.
| Артикул | Объём | Такт, МТ/с | Ранги | Организация чипов | Пиковая полоса модуля, МБ/с |
|---|---|---|---|---|---|
| 0620Y042-B01 | 64 ГБ | 6400 | 2 | 4G×4 бит | 51 200 |
| 0620Y043-B01, 0620Y043-B02, M564MR96 | 96 ГБ | 6400 | 2 | 6G×4 бит | 51 200 |
| 0620Y035-B01 | 128 ГБ | 6400 | 2 | 8G×4 бит | 51 200 |
| M556R16 | 16 ГБ | 5600 | 1 | 2G×8 бит | 44 800 |
| M556R32, M556MR32 | 32 ГБ | 5600 | 2 | 2G×8 бит | 44 800 |
| 0620Y031, M556R64 | 64 ГБ | 5600 | 2 | 4G×4 бит | 44 800 |
| 0620Y032-B01, M556R96 | 96 ГБ | 5600 | 2 | 6G×4 бит | 44 800 |
| M556R128 | 128 ГБ | 5600 | 2 | 8G×4 бит | 44 800 |
| DDR5-RDIMM-64GB 4800 | 64 ГБ | 4800 | 2 | 4G×4 бит | 38 400 |
| M564R96 | 96 ГБ | 4800 | 2 | 6G×4 бит | 38 400 |
Последняя колонка считается в одну строку, без коэффициентов. Шина данных модуля 64 бита, то есть 8 байт за передачу, поэтому 6400 МТ/с дают 51 200 МБ/с, 5600 МТ/с дают 44 800 МБ/с, а 4800 МТ/с дают 38 400 МБ/с. Дальше эта цифра умножается на число каналов процессора: у AMD EPYC Genoa их 12 на сокет, у Intel Xeon 4-го поколения 8, и разрыв в полосе между платформами берётся именно отсюда, а не из такта модулей.
Одноранговая позиция в списке одна, это M556R16 на 16 ГБ. Всё остальное двухранговое, включая 32 ГБ. Это не мелочь на будущее: именно ранги, а не объём, задают предел частоты при плотном заполнении слотов.
Ранг это набор микросхем на модуле, который контроллер выбирает одним сигналом и который отдаёт всю ширину шины данных сразу. Внутри ранга чипы работают синхронно, разные ранги делят одну шину и работают по очереди. Двухранговый модуль поэтому выглядит для контроллера как два независимых набора памяти на одном разъёме.
Запись вида 6G×4 бит описывает одну микросхему, а не модуль: 6 гигаадресов по 4 бита на выводах, то есть чип ёмкостью 24 Гбит с четырёхбитной шиной. Чтобы собрать 64 бита данных, нужно 16 таких чипов, и они дают ранг на 16 × 24 Гбит = 384 Гбит = 48 ГБ. Два ранга складываются в 96 ГБ, что и стоит в описании модулей 0620Y043-B01 и M556R96.
Та же арифметика работает в обратную сторону. У M556R16 организация 2G×8 бит, это чип на 16 Гбит с восьмибитным выводом, восьми таких чипов хватает на 64 бита, и ранг выходит на 16 ГБ. У M556R32 те же чипы, но рангов два, поэтому 32 ГБ. Микросхемы под коррекцию ошибок стоят на модуле дополнительно к этим восьми или шестнадцати и в паспортный объём не входят.
У регистровой памяти буферизуются только команды и адреса, линии данных идут от разъёма к микросхемам напрямую. Каждый ранг висит на этих линиях как отдельная электрическая нагрузка. Один двухранговый модуль на канал даёт два ранга на шине, два таких модуля дают четыре. Фронты сигнала на высоком такте от этого заваливаются, и контроллер снижает частоту до значения, на котором разметка сигнала остаётся читаемой.
Практический вывод считается на объёме. Полтора терабайта на сокет у процессора с 12 каналами набираются двумя способами: 12 модулей по 128 ГБ по одному на канал либо 24 модуля по 64 ГБ по два на канал. Объём одинаковый, цена вопроса разная: во втором случае на каждом канале работает четыре ранга вместо двух, и такт памяти опускается на ступень или две. Конкретное значение записано в таблице заполнения памяти в документации на сервер.
Обратная крайность тоже стоит денег. Одноранговый M556R16 нагружает шину слабее всех, но чередование рангов на нём не работает: пока единственный ранг восстанавливает строку, канал простаивает, и контроллеру нечем занять паузу. На случайном доступе двухранговый модуль того же объёма за счёт чередования выигрывает.
| Что сравниваем | RDIMM | LRDIMM |
|---|---|---|
| Что буферизуется | команды и адреса, регистр на модуле | команды, адреса и данные |
| Что видит контроллер на шине данных | все ранги модуля | один буфер независимо от числа рангов |
| Задержка | минимальная для серверной памяти | буфер данных добавляет задержку на пути чтения и записи |
| Рангов на модуль в каталоге | 1 и 2 | 4 (M432L128) |
| Позиции в каталоге | вся DDR5 и DDR4 M432R32 на 32 ГБ | DDR4 M432L128 на 128 ГБ |
Буфер данных снимает с контроллера электрическую нагрузку рангов. У LRDIMM их бывает четыре и больше, а шина видит одну микросхему буфера, поэтому такие модули собирают в больший объём и ставят плотнее. Плата за это фиксированная: лишний такт на прохождении данных через буфер.
В DDR5-части каталога LRDIMM нет вовсе, все позиции регистровые. Объём там набирается ростом ёмкости чипа (8G×4 бит вместо 4G×4 бит), а не числом рангов, и 128 ГБ получаются двумя рангами вместо четырёх. Смешивать RDIMM и LRDIMM в одной системе нельзя, это разные электрические типы для контроллера, и сервер с такой смесью не стартует.
Конфигурация памяти считается от процессора, поэтому её подбирают вместе с сокетом. Число каналов и ядер по линейке разобрано в статье про процессоры AMD EPYC Genoa. Платформа под них описана в статье про сервер xFusion 2288H V7, восьмиканальная альтернатива в материале про процессоры Intel Xeon 4-го поколения.
Ранг это группа микросхем на модуле, которая выбирается одним сигналом и отдаёт сразу всю ширину шины данных, 64 бита. У модуля 96 ГБ с организацией 6G×4 бит ранг собирается из 16 чипов по 24 Гбит и весит 48 ГБ, а два ранга дают паспортные 96 ГБ. Ранги на одном канале работают по очереди и делят между собой одну шину.
У регистровой памяти буферизуются только команды и адреса, а линии данных идут к чипам напрямую. Каждый ранг добавляет нагрузку на эти линии: два двухранговых модуля на канал дают четыре ранга, и на высоком такте сигнал перестаёт быть читаемым. Контроллер в такой конфигурации сам опускает частоту до значения из таблицы заполнения памяти конкретной платформы.
Нет. Контактов у обоих типов 288, но ключ в разъёме стоит в разных местах, и модуль механически не входит в чужой слот. Различаются и питание (1.1 В против 1.2 В), и внутренняя организация: у DDR5 модуль поделён на два независимых субканала и несёт собственный преобразователь питания.
Система запустится и сведёт всю память к меньшему такту, то есть к 5600 МТ/с. Смысла в такой смеси нет: быстрые модули работают на скорости медленных. При расширении парка проще добирать позиции с тем же тактом, что уже стоит в сервере, либо менять комплект целиком.
Когда объём на канал упирается в потолок регистровых модулей. Буфер данных прячет ранги от контроллера, поэтому LRDIMM набирают четыре ранга и больше без роста нагрузки на шину. В DDR5-части каталога такой потребности нет: 128 ГБ там собираются двумя рангами на чипах 8G×4 бит и остаются регистровым модулем.
В Linux это делает dmidecode -t memory: в выводе есть и паспортная скорость модуля, и та, на которой он запущен. Состав памяти по слотам с моделями и объёмами виден в iBMC на странице состава системы. Если фактическая частота ниже паспортной, смотрите заполнение каналов и совпадение тактов у всех установленных модулей.